US9538174B2 - Method and apparatus for inverse scan of transform coefficients in HEVC - Google Patents

Method and apparatus for inverse scan of transform coefficients in HEVC Download PDF

Info

Publication number
US9538174B2
US9538174B2 US13/781,770 US201313781770A US9538174B2 US 9538174 B2 US9538174 B2 US 9538174B2 US 201313781770 A US201313781770 A US 201313781770A US 9538174 B2 US9538174 B2 US 9538174B2
Authority
US
United States
Prior art keywords
transform coefficients
sub
block
column
inverse scan
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US13/781,770
Other versions
US20140044165A1 (en
Inventor
Min-Hao Chiu
Yung-Chang Chang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xueshan Technologies Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Priority to US13/781,770 priority Critical patent/US9538174B2/en
Assigned to MEDIATEK INC. reassignment MEDIATEK INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHANG, YUNG-CHANG, CHIU, MIN-HAO
Priority to CN201310339288.0A priority patent/CN103581676B/en
Publication of US20140044165A1 publication Critical patent/US20140044165A1/en
Application granted granted Critical
Publication of US9538174B2 publication Critical patent/US9538174B2/en
Assigned to XUESHAN TECHNOLOGIES INC. reassignment XUESHAN TECHNOLOGIES INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MEDIATEK INC.
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • H04N19/00109
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Definitions

  • the present invention relates to video coding.
  • the present invention relates to coding techniques for inverse scan of transform coefficients in a High Efficiency Video Coding (HEVC) system.
  • HEVC High Efficiency Video Coding
  • HEVC High Efficiency Video Coding
  • JCT-VC Joint Collaborative Team on Video Coding
  • the core of its coding layer is a coding tree block (CTB) or largest coding unit (LCU).
  • the size of CTB or LCU can be 64 ⁇ 64, 32 ⁇ 32 or 16 ⁇ 16 for the Luma component.
  • Each CTB or LCU can be divided into coding unit(s) (CU) using quad-tree partition.
  • Each CU can be further split into one or more prediction units (PUs) for performing prediction. After the prediction process is performed on each CU, the prediction residues are coded using block-based transforms.
  • a transform unit has its root at the CU level, where the TU size can be of 32 ⁇ 32, 16 ⁇ 16, 8 ⁇ 8, or 4 ⁇ 4.
  • a TU can be divided into multiple 4 ⁇ 4 sub-blocks for TU size larger than 4 ⁇ 4.
  • Quantization and entropy coding are applied to the TU to generate compressed data corresponding to the residues.
  • FIG. 1 illustrates an exemplary block diagram for decoding process of a CU.
  • the compressed data is decoded by entropy decoder 110 , such as a variable length decoder (VLD) to recover the coded transform coefficients.
  • the quantized transform coefficients are stored in a transform coefficient buffer (TC buffer) 120 for performing inverse scan (IS) 130 .
  • IS can be implemented by “rearrange 1” 140 , “rearrange 2” 150 , or both.
  • the inverse scan is required due to the processing order of the transform coefficients at the encoder side.
  • transform coefficients are processed by inverse quantization (IQ) 160 and inverse transform (IT) 170 to generate the reconstructed residues.
  • IQ inverse quantization
  • IT inverse transform
  • FIG. 1 illustrates one exemplary configuration of decoding process
  • MC motion compensation
  • the transform coefficients are scanned in a two-level fashion. Each TU is divided into sub-blocks. For the first level, the scanning is performed over the sub-blocks of a TU. For convenience, the first level scan is also referred to as level-1 scan or inter sub-block scan. The second scan is applied to transform coefficients within each sub-block. For convenience, the second level scan is also referred to as level-2 scan or intra sub-block scan.
  • the scan orders (also called scanning patterns in this disclosure) in level 1 and level 2 depend on the TU size and the prediction mode.
  • FIG. 2A and FIG. 2B illustrate exemplary scan orders adopted by HEVC for a 32 ⁇ 32 TU.
  • the 32 ⁇ 32 TU is divided into 4 ⁇ 4 sub-blocks.
  • the level-1 scan order i.e., inter sub-block scan order
  • the level-2 scan order i.e., intra sub-block scan order
  • FIG. 2B the level-1 scan runs through the 64 sub-blocks in the 225-degree diagonal direction starting from the sub-block at the lower-right corner and ending at the sub-block at the upper-left corner (i.e., from rear to front of the TU, or sub-blocks 1 ⁇ 2 ⁇ 3 ⁇ 4 ⁇ . . . ⁇ 64).
  • the level-1 scan if the 4 ⁇ 4 sub-block contains at least one nonzero transform coefficient, further information for this 4 ⁇ 4 sub-block will be transmitted to convey the nonzero transform coefficient(s) in the level-2 scan as shown in FIG. 2B .
  • the level-2 scan i.e., the intra sub-block scan
  • the level-1 scan order has the same scanning pattern as the 32 ⁇ 32 TU.
  • the scanned transform coefficients are coded by entropy coding, such as variable length coding.
  • entropy decoding such as variable length decoding (VLD) is used to recover the scanned transform coefficients.
  • VLD variable length decoding
  • the scan order of the transform coefficients for the TU is the same as that shown in FIG. 2A and FIG. 2B . While the transform coefficients of a TU are scanned using two-level scanning, the IS output provided to the input to IQ/IT is according to a column by column order in a reference HEVC decoder.
  • FIG. 3 illustrates the IS output order for a 32 ⁇ 32 TU, where the left-most column (i.e., column 0) is outputted first and right-most column (i.e., column 31) is outputted last.
  • the transform coefficients from IS to IQ/IT are in the column scan order from front to rear, i.e., columns 0 ⁇ 1 ⁇ . . . ⁇ 31.
  • the transform coefficients may be scanned from top to bottom.
  • the scan order of the 32 transform coefficients from top to bottom within each column is not mandatory.
  • the last column (i.e., column 31) includes data for the first sub-block. Therefore, the processing of the first sub-block cannot start until the last column is received. Consequently, the TC buffer size will be equal to or larger than the biggest TU size for performing IS. For example, the biggest TU size in the HEVC main profile is 32 ⁇ 32. Therefore, the TC buffer size will have to be able to hold at least 64 sub-blocks of transform coefficients, i.e., 32 ⁇ 32 ⁇ transform_coefficient_bitwidth (TC_bitwidth) bits. Furthermore, in order to achieve high system throughput, VLD to IS and IS to IQ/IT may have to be performed in parallel.
  • the system may have to be configured in a ping-pong design and the TC buffer size will become twice as large. If the TC buffer is implemented using on-chip storage, such as DRAM or RAM, the TC buffer size will have direct impact on the chip cost. The cost associated with the TC buffer will become much higher if the largest TU size goes to 64 ⁇ 64 or even 128 ⁇ 128. It is desirable to develop an inverse scan method that can reduce the TC buffer requirement.
  • a method and apparatus for decoding two-level scanned transform coefficients corresponding to an M ⁇ N block are disclosed.
  • the M ⁇ N block is divided into sub-blocks of size L ⁇ L.
  • the method comprises receiving the sub-blocks of the transform coefficients in the first scanning pattern; storing the sub-blocks of the transform coefficients in an inverse scan buffer (or TC buffer); retrieving the transform coefficients from the inverse scan buffer row-by-row or column-by-column in a selected direction after a corresponding row or column of the transform coefficients is fully received; and providing said correspond row or column of the transform coefficients for inverse quantization process and inverse transform process.
  • the inverse scan buffer size for the M ⁇ N block is smaller than a total number of sub-blocks of the transform coefficients. Furthermore, at least a leading row or a leading column of the transform coefficients is available in the selected direction before the last sub-block of the transform coefficients arrives.
  • Retrieving the transform coefficients row-by-row or column-by-column in the selected direction is performed at a substantially short time period after the correspond row or column of the transform coefficients is fully received.
  • the first scanning pattern is across the sub-blocks from lower right to upper left and the second scanning pattern is within the sub-block from lower right to upper left.
  • the selected direction corresponds to right to left for column-by-column transform coefficient retrieval and the selected direction corresponds to bottom to top row-by-row transform coefficient retrieval.
  • the inverse scan buffer size corresponds to 29 sub-blocks or more if the transform coefficients are provided every four rows or every four columns in a row-by-row or column-by-column order in the selected direction, and wherein M and N correspond to 32 and L corresponds to 4.
  • the inverse scan buffer corresponding to each sub-block of the transform coefficients can be reused by another sub-block of the transform coefficients and the sub-block of the transform coefficients is read out for the inverse quantization and inverse transform process.
  • Another aspect of the present invention addresses control of the inverse scan buffer.
  • the entropy coding needs to halt outputting sub-blocks of the transform coefficients when the inverse scan buffer is full.
  • sub-block index registers can be used to manage the inverse scan buffer.
  • the inverse scan buffer is divided into a first set and a second set for ping-pong configuration, wherein one set is used for storing the sub-blocks of the transform coefficients received from the entropy decoding while the other set is used for retrieving the transform coefficients row-by-row or column-by-column in the selected direction after the corresponding row or column of the transform coefficients is fully received.
  • FIG. 1 illustrates an exemplary block diagram for decoding process of a coding unit, where two processing blocks for rearranging transform coefficient order and a transform coefficient buffer are used to perform inverse scan.
  • FIG. 2A illustrates the level-1 scan order for a 32 ⁇ 32 TU adopted in HEVC.
  • FIG. 2B illustrates the level-2 scan order for a 4 ⁇ 4 sub-block adopted in HEVC.
  • FIG. 3 illustrates the column by column scan order from IS to IQ/IT for a 32 ⁇ 32 TU in a reference HEVC decoder.
  • FIG. 4 illustrates an exemplary column by column scan order from IS to IQ/IT for a 32 ⁇ 32 TU in a system incorporating an embodiment of the present invention.
  • FIG. 5 illustrates an exemplary row by row scan order from IS to IQ/IT for a 32 ⁇ 32 TU in a system incorporating an embodiment of the present invention.
  • FIG. 6 illustrates the required TC buffer size for a system incorporating an embodiment of the present invention.
  • FIG. 7 illustrates the required TC buffer size for another system incorporating an embodiment of the present invention.
  • FIG. 8 illustrates the required TC buffer size for a system with ping-pong design incorporating an embodiment of the present invention.
  • a transform unit is processed with two-level scan in HEVC, where the first level scan is performed across the sub-blocks according to a first scanning pattern, and the second level scan is performed within a sub-block according to a second scanning pattern.
  • the first level scan order runs across the sub-blocks from lower right to upper left and the second level scan order runs within the sub-block from lower right to upper left as shown in FIG. 2A and FIG. 2B respectively.
  • the IS output to the subsequent stage of inverse quantization (IQ) and inverse transform (IT) is in a column by column order from front to rear (i.e., from left to right). Therefore, the first block will not be fully available until the last column is received.
  • the retrieving order from IS to IQ/IT is from rear column to front column, where the readout direction is from right to left (i.e., from column 31 to column 0) as shown in FIG. 4 .
  • the column of transform coefficients is read out and IQ/IT is applied to the column.
  • the TC buffer associated with this column i.e., column 31 in this case
  • the memory space occupied by column 31 of transform coefficients can now be used by new data.
  • the scan order of 1 ⁇ 32 transform coefficients from top to bottom in each column is not mandatory.
  • sub-block index registers can be used to maintain the sub-block index of the TU.
  • the sub-block indexes associated with the sub-blocks of the TU can be stored in the sub-block index registers.
  • the read address of the TC buffer can be based on the sub-block index stored in the sub-block index register.
  • a person skilled in the art will be able to implement the sub-block index register in various forms such as look-up table, register file, direct calculation, etc.
  • the retrieving order from IS to IQ/IT can be from bottom row to top row, as shown in FIG. 5 .
  • the row of transform coefficients is read out and IQ/IT is applied to the row.
  • the TC buffer associated with the row can be released for new data.
  • the entropy decoding process needs to be halted when the TC buffer is full. The entropy decoding process will resume after some TC buffer space in the TC buffer is released.
  • FIG. 6 illustrates an exemplary TC buffer requirement according to an embodiment of the present invention, where the shaded area (corresponding to 29 sub-blocks) indicates the memory space required for inverse scan.
  • the short time period may correspond to a time period from the time that the corresponding row(s) or column(s) of the transform coefficients is fully received to the time that the next sub-block arrives.
  • the short time period corresponds to the time from the sub-block column 610 is received (i.e., after sub-blocks 1, 2, 4, .
  • a system incorporating an embodiment of the present invention can reduce memory size for the TC buffer from 64 sub-blocks of transform coefficients to 29 sub-blocks of transform coefficients (i.e., 29 sub-blocks ⁇ 16 transform coefficients in each sub-block ⁇ TC_bitwidth) as shown in the shaded area of FIG. 6 .
  • the TC buffer reduction rate is about 54%.
  • FIG. 7 illustrates another embodiment of the present invention to reduce the TC buffer requirement.
  • FIG. 7 illustrates that further TC buffer reduction can be achieved from the system of FIG. 6 .
  • Block 720 corresponds to a zoomed-in view of sub-block 29.
  • the first seven transform coefficients i.e., transform coefficients 1, 2, . . . , 7
  • the right-most column 710 of sub-block 29 becomes available.
  • column 31 (as shown in FIG. 4 ) is ready in the TC buffer and the column of transform coefficients can be sent to the IQ/IT process without the need of waiting for complete sub-block 29 to arrive.
  • the TC buffer size associated with sub-block 29 is reduced from 16 transform coefficients to 7 transform coefficients.
  • the total TC buffer is further reduced to (28 ⁇ 16+7) ⁇ TC_bitwidth bits.
  • the TC buffer reduction rate is about 55%.
  • a ping-pong design is used to increase system throughput for a high-performance decoder.
  • the entropy decoded data from entropy decoding 110 is written into the TC buffer 120 and the stored data is read out from the TC buffer 120 to feed IQ 160 and IT 170 .
  • FIG. 8 illustrates the required TC buffer space in order to support ping-pong access of the TC buffer for a 32 ⁇ 32 TU. Compared to the system shown in FIG. 6 , the additional memory space required for the ping-pong access is indicated by the shaded areas with crossed lines.
  • the TC buffer incorporating an embodiment of the present invention can reduce memory size to 37 sub-blocks as shown in FIG. 8 .
  • the TC buffer size for a conventional system is double the 64 sub-blocks (i.e., 128 sub-blocks). Accordingly, the TC buffer reduction rate is about 71% for a high performance ping-pong design.
  • FIG. 8 a transform coefficient buffer with 37 sub-blocks is used to illustrate an example of the ping-pong design.
  • 8 additional sub-blocks are used to support the ping-pong operation.
  • any number of additional sub-blocks can be used to practice the present invention.
  • a system can use a transform buffer with more than 29 sub-blocks to provide ping-pong operation.
  • Embodiment of the present invention as described above may be implemented in various hardware, software code, or a combination of both.
  • an embodiment of the present invention can be a circuit integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein.
  • An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein.
  • DSP Digital Signal Processor
  • the invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA). These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention.
  • the software code or firmware code may be developed in different programming languages and different formats or styles.
  • the software code may also be compiled for different target platforms.
  • different code formats, styles and languages of software code and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.

Abstract

A method and apparatus for decoding two-level scanned transform coefficients corresponding to a transform unit (TU) are disclosed. The TU is divided into sub-blocks and the transform coefficients of the TU are scanned across the sub-blocks according to a first scan pattern, and each sub-block is scanned according to a second scan pattern. In one embodiment, the sub-blocks of the transform coefficients received from the variable length decoding are stored in an inverse scan buffer (or TC buffer) and the transform coefficients are retrieved from the inverse scan buffer row-by-row or column-by-column in a selected direction after a corresponding row or column of the transform coefficients is fully received. In a system incorporating an embodiment of the present invention, at least a leading row or a leading column of the transform coefficients is available in the selected direction before a last sub-block of the transform coefficients arrives.

Description

CROSS REFERENCE TO RELATED APPLICATIONS
The present invention claims priority to U.S. Provisional Patent Application, No. 61/681,960, filed on Aug. 10, 2012, entitled “HEVC cost efficient transform coefficient buffer in inverse scan”. The U.S. Provisional Patent Application is hereby incorporated by reference in its entirety.
FIELD OF THE INVENTION
The present invention relates to video coding. In particular, the present invention relates to coding techniques for inverse scan of transform coefficients in a High Efficiency Video Coding (HEVC) system.
BACKGROUND AND RELATED ART
HEVC (High Efficiency Video Coding) is an advanced video coding system being developed under the Joint Collaborative Team on Video Coding (JCT-VC) Group of TU-T Study Group. In HEVC, the core of its coding layer is a coding tree block (CTB) or largest coding unit (LCU). The size of CTB or LCU can be 64×64, 32×32 or 16×16 for the Luma component. Each CTB or LCU can be divided into coding unit(s) (CU) using quad-tree partition. Each CU can be further split into one or more prediction units (PUs) for performing prediction. After the prediction process is performed on each CU, the prediction residues are coded using block-based transforms. A transform unit (TU) has its root at the CU level, where the TU size can be of 32×32, 16×16, 8×8, or 4×4. A TU can be divided into multiple 4×4 sub-blocks for TU size larger than 4×4. Quantization and entropy coding are applied to the TU to generate compressed data corresponding to the residues.
FIG. 1 illustrates an exemplary block diagram for decoding process of a CU. The compressed data is decoded by entropy decoder 110, such as a variable length decoder (VLD) to recover the coded transform coefficients. The quantized transform coefficients are stored in a transform coefficient buffer (TC buffer) 120 for performing inverse scan (IS) 130. IS can be implemented by “rearrange 1” 140, “rearrange 2” 150, or both. The inverse scan is required due to the processing order of the transform coefficients at the encoder side. After IS, transform coefficients are processed by inverse quantization (IQ) 160 and inverse transform (IT) 170 to generate the reconstructed residues. The reconstructed residues are then used by motion compensation (MC) 180 to generate a reconstructed CU. While FIG. 1 illustrates one exemplary configuration of decoding process, other system configuration may also be used. For example, instead of having IS between entropy decoding and IQ as shown in FIG. 1, IS can be located between IQ and IT.
In HEVC, the transform coefficients are scanned in a two-level fashion. Each TU is divided into sub-blocks. For the first level, the scanning is performed over the sub-blocks of a TU. For convenience, the first level scan is also referred to as level-1 scan or inter sub-block scan. The second scan is applied to transform coefficients within each sub-block. For convenience, the second level scan is also referred to as level-2 scan or intra sub-block scan. The scan orders (also called scanning patterns in this disclosure) in level 1 and level 2 depend on the TU size and the prediction mode.
FIG. 2A and FIG. 2B illustrate exemplary scan orders adopted by HEVC for a 32×32 TU. The 32××32 TU is divided into 4×4 sub-blocks. The level-1 scan order (i.e., inter sub-block scan order) is shown in FIG. 2A and the level-2 scan order (i.e., intra sub-block scan order) is shown in FIG. 2B. As shown in FIG. 2A, the level-1 scan runs through the 64 sub-blocks in the 225-degree diagonal direction starting from the sub-block at the lower-right corner and ending at the sub-block at the upper-left corner (i.e., from rear to front of the TU, or sub-blocks 1→2→3→4→ . . . →64). During the level-1 scan, if the 4×4 sub-block contains at least one nonzero transform coefficient, further information for this 4×4 sub-block will be transmitted to convey the nonzero transform coefficient(s) in the level-2 scan as shown in FIG. 2B. The level-2 scan (i.e., the intra sub-block scan) runs through the 16 transform coefficients of the 4×4 sub-block in the 225-degree diagonal direction starting from the transform coefficient at the lower-right corner and ending at the transform coefficient at the upper-left corner (i.e., from rear to front of the sub-block, or transform coefficients 1→2→3→4→ . . . →16). On the other hand, during the level-1 scan, if the 4×4 sub-block does not contain any nonzero transform coefficient, no further information needs to be transmitted for the 4×4 sub-block. For a 16×16 TU, the level-1 scan order has the same scanning pattern as the 32×32 TU.
After two-level scanning is applied to transform coefficients of a TU, the scanned transform coefficients are coded by entropy coding, such as variable length coding. At the decoder side, entropy decoding such as variable length decoding (VLD) is used to recover the scanned transform coefficients. The scan order of the transform coefficients for the TU is the same as that shown in FIG. 2A and FIG. 2B. While the transform coefficients of a TU are scanned using two-level scanning, the IS output provided to the input to IQ/IT is according to a column by column order in a reference HEVC decoder. FIG. 3 illustrates the IS output order for a 32×32 TU, where the left-most column (i.e., column 0) is outputted first and right-most column (i.e., column 31) is outputted last. In other words, the transform coefficients from IS to IQ/IT are in the column scan order from front to rear, i.e., columns 0→1→ . . . →31. Within each column, the transform coefficients may be scanned from top to bottom. However, the scan order of the 32 transform coefficients from top to bottom within each column is not mandatory.
For the reference HEVC video decoder mentioned above, the last column (i.e., column 31) includes data for the first sub-block. Therefore, the processing of the first sub-block cannot start until the last column is received. Consequently, the TC buffer size will be equal to or larger than the biggest TU size for performing IS. For example, the biggest TU size in the HEVC main profile is 32×32. Therefore, the TC buffer size will have to be able to hold at least 64 sub-blocks of transform coefficients, i.e., 32×32× transform_coefficient_bitwidth (TC_bitwidth) bits. Furthermore, in order to achieve high system throughput, VLD to IS and IS to IQ/IT may have to be performed in parallel. The system may have to be configured in a ping-pong design and the TC buffer size will become twice as large. If the TC buffer is implemented using on-chip storage, such as DRAM or RAM, the TC buffer size will have direct impact on the chip cost. The cost associated with the TC buffer will become much higher if the largest TU size goes to 64×64 or even 128×128. It is desirable to develop an inverse scan method that can reduce the TC buffer requirement.
BRIEF SUMMARY OF THE INVENTION
A method and apparatus for decoding two-level scanned transform coefficients corresponding to an M×N block are disclosed. The M×N block is divided into sub-blocks of size L×L. The transform coefficients are scanned across the sub-blocks according to a first scan pattern, and each sub-block is scanned according to a second scan pattern, wherein M=L×M1, N=L×N1, and M, N, M1, N1, and L are positive integers. In one embodiment according to the present invention, the method comprises receiving the sub-blocks of the transform coefficients in the first scanning pattern; storing the sub-blocks of the transform coefficients in an inverse scan buffer (or TC buffer); retrieving the transform coefficients from the inverse scan buffer row-by-row or column-by-column in a selected direction after a corresponding row or column of the transform coefficients is fully received; and providing said correspond row or column of the transform coefficients for inverse quantization process and inverse transform process. The inverse scan buffer size for the M×N block is smaller than a total number of sub-blocks of the transform coefficients. Furthermore, at least a leading row or a leading column of the transform coefficients is available in the selected direction before the last sub-block of the transform coefficients arrives.
Retrieving the transform coefficients row-by-row or column-by-column in the selected direction is performed at a substantially short time period after the correspond row or column of the transform coefficients is fully received. The first scanning pattern is across the sub-blocks from lower right to upper left and the second scanning pattern is within the sub-block from lower right to upper left. The selected direction corresponds to right to left for column-by-column transform coefficient retrieval and the selected direction corresponds to bottom to top row-by-row transform coefficient retrieval.
One aspect of the present invention addresses the inverse scan buffer size. For example, the inverse scan buffer size corresponds to 29 sub-blocks or more if the transform coefficients are provided every four rows or every four columns in a row-by-row or column-by-column order in the selected direction, and wherein M and N correspond to 32 and L corresponds to 4. The inverse scan buffer corresponding to each sub-block of the transform coefficients can be reused by another sub-block of the transform coefficients and the sub-block of the transform coefficients is read out for the inverse quantization and inverse transform process.
Another aspect of the present invention addresses control of the inverse scan buffer. For example, the entropy coding needs to halt outputting sub-blocks of the transform coefficients when the inverse scan buffer is full. In another example, sub-block index registers can be used to manage the inverse scan buffer.
In another embodiment of the present invention, the inverse scan buffer is divided into a first set and a second set for ping-pong configuration, wherein one set is used for storing the sub-blocks of the transform coefficients received from the entropy decoding while the other set is used for retrieving the transform coefficients row-by-row or column-by-column in the selected direction after the corresponding row or column of the transform coefficients is fully received.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an exemplary block diagram for decoding process of a coding unit, where two processing blocks for rearranging transform coefficient order and a transform coefficient buffer are used to perform inverse scan.
FIG. 2A illustrates the level-1 scan order for a 32×32 TU adopted in HEVC.
FIG. 2B illustrates the level-2 scan order for a 4×4 sub-block adopted in HEVC.
FIG. 3 illustrates the column by column scan order from IS to IQ/IT for a 32×32 TU in a reference HEVC decoder.
FIG. 4 illustrates an exemplary column by column scan order from IS to IQ/IT for a 32×32 TU in a system incorporating an embodiment of the present invention.
FIG. 5 illustrates an exemplary row by row scan order from IS to IQ/IT for a 32×32 TU in a system incorporating an embodiment of the present invention.
FIG. 6 illustrates the required TC buffer size for a system incorporating an embodiment of the present invention.
FIG. 7 illustrates the required TC buffer size for another system incorporating an embodiment of the present invention.
FIG. 8 illustrates the required TC buffer size for a system with ping-pong design incorporating an embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
As mentioned previously, a transform unit (TU) is processed with two-level scan in HEVC, where the first level scan is performed across the sub-blocks according to a first scanning pattern, and the second level scan is performed within a sub-block according to a second scanning pattern. For a 32×32 TU divided into 4×4 sub-blocks, the first level scan order runs across the sub-blocks from lower right to upper left and the second level scan order runs within the sub-block from lower right to upper left as shown in FIG. 2A and FIG. 2B respectively. However, in a reference decoder, the IS output to the subsequent stage of inverse quantization (IQ) and inverse transform (IT) is in a column by column order from front to rear (i.e., from left to right). Therefore, the first block will not be fully available until the last column is received.
In an embodiment according to the present invention, the retrieving order from IS to IQ/IT is from rear column to front column, where the readout direction is from right to left (i.e., from column 31 to column 0) as shown in FIG. 4. Based on the readout direction of FIG. 4, as soon as column 31 is completely received in TC buffer, the column of transform coefficients is read out and IQ/IT is applied to the column. After the column is provided for the IQ/IT process, the TC buffer associated with this column (i.e., column 31 in this case) can be released. In other words, the memory space occupied by column 31 of transform coefficients can now be used by new data. Again, the scan order of 1×32 transform coefficients from top to bottom in each column is not mandatory. In order to reuse the released memory in the TC buffer, sub-block index registers (not shown in the drawing) can be used to maintain the sub-block index of the TU. When storing transform coefficients into the TC buffer, the sub-block indexes associated with the sub-blocks of the TU can be stored in the sub-block index registers. When reading out the transform coefficients from the TC buffer, the read address of the TC buffer can be based on the sub-block index stored in the sub-block index register. A person skilled in the art will be able to implement the sub-block index register in various forms such as look-up table, register file, direct calculation, etc.
While a rear-to-front column-by-column scanning pattern is shown above to illustrate an embodiment of the present invention to reduce the TC buffer requirement, other scanning patterns may also be used to reduce the TC buffer requirement. For example, the retrieving order from IS to IQ/IT can be from bottom row to top row, as shown in FIG. 5. According to the readout direction of FIG. 5, as soon as row 31 is completely received in the TC buffer, the row of transform coefficients is read out and IQ/IT is applied to the row. After the row is provided for IQ/IT processing, the TC buffer associated with the row can be released for new data. In order to avoid buffer overflow of the TC buffer, the entropy decoding process needs to be halted when the TC buffer is full. The entropy decoding process will resume after some TC buffer space in the TC buffer is released.
FIG. 6 illustrates an exemplary TC buffer requirement according to an embodiment of the present invention, where the shaded area (corresponding to 29 sub-blocks) indicates the memory space required for inverse scan. As soon as one column of sub-blocks 610 is ready in the TC buffer, columns associated with sub-block column 610 can be sent to the IQ/IT process one by one (i.e., from column 31 to column 28) within a short time period. The short time period may correspond to a time period from the time that the corresponding row(s) or column(s) of the transform coefficients is fully received to the time that the next sub-block arrives. For example, the short time period corresponds to the time from the sub-block column 610 is received (i.e., after sub-blocks 1, 2, 4, . . . , 22 and 29 are received) to the time that sub-block 30 arrives. Accordingly, a system incorporating an embodiment of the present invention can reduce memory size for the TC buffer from 64 sub-blocks of transform coefficients to 29 sub-blocks of transform coefficients (i.e., 29 sub-blocks×16 transform coefficients in each sub-block×TC_bitwidth) as shown in the shaded area of FIG. 6. The TC buffer reduction rate is about 54%.
FIG. 7 illustrates another embodiment of the present invention to reduce the TC buffer requirement. FIG. 7 illustrates that further TC buffer reduction can be achieved from the system of FIG. 6. Block 720 corresponds to a zoomed-in view of sub-block 29. As soon as the first seven transform coefficients (i.e., transform coefficients 1, 2, . . . , 7) of sub-block 29 become available, the right-most column 710 of sub-block 29 becomes available. At this time, column 31 (as shown in FIG. 4) is ready in the TC buffer and the column of transform coefficients can be sent to the IQ/IT process without the need of waiting for complete sub-block 29 to arrive. Accordingly, the TC buffer size associated with sub-block 29 is reduced from 16 transform coefficients to 7 transform coefficients. The total TC buffer is further reduced to (28×16+7)×TC_bitwidth bits. The TC buffer reduction rate is about 55%.
In yet another embodiment of the present invention, a ping-pong design is used to increase system throughput for a high-performance decoder. As shown in FIG. 1, the entropy decoded data from entropy decoding 110 is written into the TC buffer 120 and the stored data is read out from the TC buffer 120 to feed IQ 160 and IT 170. For a high performance system, it is desirable to allow data written to the TC buffer and read out from the TC buffer concurrently. FIG. 8 illustrates the required TC buffer space in order to support ping-pong access of the TC buffer for a 32×32 TU. Compared to the system shown in FIG. 6, the additional memory space required for the ping-pong access is indicated by the shaded areas with crossed lines. As soon as a sub-block column of transform coefficients 810 is completely received in the TC buffer, columns associated with the sub-block column of transform coefficients is read out one by one and provided for the IQ/IT process. At the same time, entropy decoding can continue to decode the next eight sub-blocks of transform coefficients (i.e., sub-blocks 30 to 37) and store the decoded sub-blocks in the TC buffer. Therefore, for the high performance ping-pong design, the TC buffer incorporating an embodiment of the present invention can reduce memory size to 37 sub-blocks as shown in FIG. 8. On the other hand, the TC buffer size for a conventional system is double the 64 sub-blocks (i.e., 128 sub-blocks). Accordingly, the TC buffer reduction rate is about 71% for a high performance ping-pong design.
In FIG. 8, a transform coefficient buffer with 37 sub-blocks is used to illustrate an example of the ping-pong design. Compared to the system in FIG. 6 without the ping-pong design, 8 additional sub-blocks are used to support the ping-pong operation. Nevertheless, any number of additional sub-blocks can be used to practice the present invention. In other words, a system can use a transform buffer with more than 29 sub-blocks to provide ping-pong operation.
The above examples are illustrated for retrieving the transform coefficients from TC buffer to IQ/IT on a column by column basis. However, the present invention can also be applied to the case that the retrieving of transform coefficients from TC buffer to IQ/IT is performed on a row by row basis.
The above description is presented to enable a person of ordinary skill in the art to practice the present invention as provided in the context of a particular application and its requirement. Various modifications to the described embodiments will be apparent to those with skill in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but is to be accorded the widest scope consistent with the principles and novel features herein disclosed. In the above detailed description, various specific details are illustrated in order to provide a thorough understanding of the present invention. Nevertheless, it will be understood by those skilled in the art that the present invention may be practiced.
Embodiment of the present invention as described above may be implemented in various hardware, software code, or a combination of both. For example, an embodiment of the present invention can be a circuit integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA). These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware code may be developed in different programming languages and different formats or styles. The software code may also be compiled for different target platforms. However, different code formats, styles and languages of software code and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims (20)

The invention claimed is:
1. A method for decoding two-level scanned transform coefficients corresponding to an M×N block, wherein the M×N block is divided into sub-blocks and each with an L×L block size, transform coefficients of the M×N block are scanned across sub-blocks of the M×N block according to a first scanning pattern, each sub-block is scanned according to a second scanning pattern, and wherein M=L×M1, N=L×N1, and M, N, M1, N1, and L are positive integers, the method comprising:
receiving the sub-blocks of the transform coefficients in the first scanning pattern, wherein the sub-blocks of the transform coefficients correspond to outputs from entropy decoding;
storing the sub-blocks of the transform coefficients in an inverse scan buffer;
retrieving the transform coefficients of the M×N block from the inverse scan buffer,
wherein the M×N block comprises a plurality of rows of transform coefficients, or comprises a plurality of columns of transform coefficients;
wherein the inverse scan buffer outputs the rows of transform coefficients in a row-by-row manner, or outputs the columns of transform coefficients in a column-by-column manner; and
wherein at least a leading row of transform coefficients of the M×N block is output from the inverse scan buffer after said leading row of transform coefficient of the M×N block is fully received by the inverse scan buffer and before a last sub-block of the transform coefficients of the M×N block arrives at the inverse scan buffer, where among the rows of transform coefficients, the leading row of transform coefficients is first output from the inverse scan buffer; or at least a leading column of transform coefficients of the M×N block is output from the inverse scan buffer after said leading column of transform coefficient is fully received by the inverse scan buffer and before the last sub-block of the transform coefficients arrives at the inverse scan buffer, where among the columns of transform coefficients, the leading column of transform coefficients is first output from the inverse scan buffer; and
providing said corresponding row or column of the transform coefficients for inverse quantization and inverse transform process.
2. The method of claim 1, wherein the inverse scan buffer outputting the rows of transform coefficients in the row-by-row manner or outputting the columns of transform coefficients in the column-by-column manner is performed within a time period after a corresponding row or column of the transform coefficients is fully received, wherein the time period corresponds to a time period from a first time that the corresponding row or column of the transform coefficients is fully received to a second time that a next sub-block arrives.
3. The method of claim 1, wherein M and N have a same value corresponding to 64, 32 or 16 and L corresponds to 4.
4. The method of claim 1, wherein the first scanning pattern is across the sub-blocks from lower right to upper left, the second scanning pattern is within the sub-block from lower right to upper left, and the inverse scan buffer outputs transform coefficients in a selected direction from right to left for said retrieving the transform coefficients of the M×N block from the inverse scan buffer that is performed in the column-by-column manner and from bottom to top for said retrieving the transform coefficients of the M×N block from the inverse scan buffer that is performed in the row-by-row manner.
5. The method of claim 1, wherein an inverse scan buffer size corresponds to 29 sub-blocks or more if the row-by-row manner or the column-by-column manner corresponds to providing the transform coefficients every four rows or every four columns, and wherein M and N correspond to 32 and L corresponds to 4.
6. The method of claim 1, wherein an inverse scan buffer size corresponds to 28 sub-blocks and one partial sub-block, wherein the partial sub-block corresponds to seven transform coefficients, and wherein M and N correspond to 32 and L corresponds to 4.
7. The method of claim 1, wherein an inverse scan buffer size is smaller than a total number of sub-blocks of the transform coefficients, the inverse scan buffer is shared by the sub-blocks of the transform coefficients, and the inverse scan buffer corresponding to one sub-block of the transform coefficients is reused by another sub-block of the transform coefficients after said one sub-block of the transform coefficients is provided for the inverse quantization and inverse transform process.
8. The method of claim 7, wherein said receiving the sub-blocks of the transform coefficients is stopped when the inverse scan buffer is full.
9. The method of claim 7, wherein one or more sub-block index registers are used to manage the inverse scan buffer.
10. The method of claim 1, wherein the inverse scan buffer is divided into a first set and a second set for ping-pong configuration, wherein one set of the first set and the second set is used for said storing the sub-blocks of the transform coefficients received from the entropy decoding while other set of the first set and the second set is used for the inverse scan buffer outputting the rows of transform coefficients in the row-by-row manner or outputting the columns of transform coefficients in the column-by-column manner.
11. The method of claim 10, wherein the inverse scan buffer outputting the rows of transform coefficients in the row-by-row manner or outputting the columns of transform coefficients in the column-by-column manner is performed at a time period after a corresponding row or column of the transform coefficients is fully received.
12. The method of claim 10, wherein an inverse scan buffer size is greater than 29 sub-blocks if the row-by-row manner or the column-by-column manner corresponds to providing the transform coefficients every four rows or every four columns, and wherein M and N correspond to 32 and L corresponds to 4.
13. An apparatus for decoding two-level scanned transform coefficients corresponding to an M×N block, wherein the M×N block is divided into sub-blocks and each with an L×L block size, the transform coefficients are scanned across the sub-blocks according to a first scanning pattern, each sub-block is scanned according to a second scanning pattern, and wherein M=L×M1, N=L×N1, and M, N, M1, N1, and L are positive integers, the apparatus comprising:
means for receiving the sub-blocks of the transform coefficients in the first scanning pattern, wherein the sub-blocks of the transform coefficients correspond to outputs from entropy decoding;
means for storing the sub-blocks of the transform coefficients in an inverse scan buffer;
means for retrieving the transform coefficients of the M×N block from the inverse scan buffer,
wherein the M×N block comprises a plurality of rows of transform coefficients, or comprises a plurality of columns of transform coefficients;
wherein the inverse scan buffer outputs the rows of transform coefficients in a row-by-row manner, or outputs the columns of transform coefficients in a column-by-column manner; and
wherein at least a leading row of transform coefficients of the M×N block is output from the inverse scan buffer after said leading row of transform coefficient of the M×N block is fully received by the inverse scan buffer and before a last sub-block of the transform coefficients of the M×N block arrives at the inverse scan buffer, where among the rows of transform coefficients, the leading row of transform coefficients is first output from the inverse scan buffer; or at least a leading column of transform coefficients of the M×N block is output from the inverse scan buffer after said leading column of transform coefficient is fully received by the inverse scan buffer and before the last sub-block of the transform coefficients arrives at the inverse scan buffer, where among the columns of transform coefficients, the leading column of transform coefficients is first output from the inverse scan buffer; and
means for providing said corresponding row or column of the transform coefficients for inverse quantization and inverse transform process.
14. The apparatus of claim 13, wherein the inverse scan buffer outputting the rows of transform coefficients in the row-by-row manner or outputting the columns of transform coefficients in the column-by-column manner is performed within a time period after a corresponding row or column of the transform coefficients is fully received, wherein the time period corresponds to a time period from a first time that the corresponding row or column of the transform coefficients is fully received to a second time that a next sub-block arrives.
15. The apparatus of claim 13, wherein M and N have a same value corresponding to 64, 32 or 16 and L corresponds to 4.
16. The apparatus of claim 13, wherein the first scanning pattern is from lower right to upper left across the sub-blocks, the second scanning pattern is from lower right to upper left within the sub-block, and the inverse scan buffer outputs transform coefficients in a selected direction from right to left for said retrieving the transform coefficients of the M×N block from the inverse scan buffer that is performed in the column-by-column manner and corresponds to from bottom to top for said retrieving the transform coefficients of the M×N block from the inverse scan buffer that is performed in the row-by-row manner.
17. The apparatus of claim 13, wherein an inverse scan buffer size is smaller than a total number of sub-blocks of the transform coefficients, the inverse scan buffer is shared by the sub-blocks of the transform coefficients, and the inverse scan buffer corresponding to one sub-block of the transform coefficients is reused by another sub-block of the transform coefficients after said one sub-block of the transform coefficients is provided for the inverse quantization and inverse transform process.
18. The apparatus of claim 17, wherein said receiving the sub-blocks of the transform coefficients is stopped when the inverse scan buffer is full.
19. The apparatus of claim 17, wherein one or more sub-block index registers are used to manage the inverse scan buffer.
20. The apparatus of claim 13, wherein the inverse scan buffer is divided into a first set and a second set for ping-pong configuration, wherein one set of the first set and the second set is used for said storing the sub-blocks of the transform coefficients received from the entropy decoding while other set of the first set and the second set is used for the inverse scan buffer outputting the rows of transform coefficients in the row-by-row manner or outputting the columns of transform coefficients in the column-by-column manner.
US13/781,770 2012-08-10 2013-03-01 Method and apparatus for inverse scan of transform coefficients in HEVC Active 2033-12-08 US9538174B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/781,770 US9538174B2 (en) 2012-08-10 2013-03-01 Method and apparatus for inverse scan of transform coefficients in HEVC
CN201310339288.0A CN103581676B (en) 2012-08-10 2013-08-06 The coding/decoding method of Video coding conversion coefficient and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261681960P 2012-08-10 2012-08-10
US13/781,770 US9538174B2 (en) 2012-08-10 2013-03-01 Method and apparatus for inverse scan of transform coefficients in HEVC

Publications (2)

Publication Number Publication Date
US20140044165A1 US20140044165A1 (en) 2014-02-13
US9538174B2 true US9538174B2 (en) 2017-01-03

Family

ID=50066174

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/781,770 Active 2033-12-08 US9538174B2 (en) 2012-08-10 2013-03-01 Method and apparatus for inverse scan of transform coefficients in HEVC

Country Status (1)

Country Link
US (1) US9538174B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10448056B2 (en) * 2016-07-15 2019-10-15 Qualcomm Incorporated Signaling of quantization information in non-quadtree-only partitioned video coding

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10356440B2 (en) * 2014-10-01 2019-07-16 Qualcomm Incorporated Scalable transform hardware architecture with improved transpose buffer

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452104A (en) * 1990-02-27 1995-09-19 Qualcomm Incorporated Adaptive block size image compression method and system
CN1602633A (en) 2001-12-13 2005-03-30 皇家飞利浦电子股份有限公司 Method and apparatus for dynamic allocation of scalable selective enhanced fine granular encoded images
US7587093B2 (en) * 2004-07-07 2009-09-08 Mediatek Inc. Method and apparatus for implementing DCT/IDCT based video/image processing
CN101616318A (en) 2008-06-23 2009-12-30 联发科技股份有限公司 Be used to play up or the method for decoding compressed multimedia data and the device of being correlated with
US7984651B2 (en) * 2006-11-10 2011-07-26 Penrith Corporation Transducer array imaging system
US20120230420A1 (en) * 2011-03-08 2012-09-13 Qualcomm Incorporated Coding of transform coefficients for video coding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452104A (en) * 1990-02-27 1995-09-19 Qualcomm Incorporated Adaptive block size image compression method and system
CN1602633A (en) 2001-12-13 2005-03-30 皇家飞利浦电子股份有限公司 Method and apparatus for dynamic allocation of scalable selective enhanced fine granular encoded images
US7587093B2 (en) * 2004-07-07 2009-09-08 Mediatek Inc. Method and apparatus for implementing DCT/IDCT based video/image processing
US7984651B2 (en) * 2006-11-10 2011-07-26 Penrith Corporation Transducer array imaging system
CN101616318A (en) 2008-06-23 2009-12-30 联发科技股份有限公司 Be used to play up or the method for decoding compressed multimedia data and the device of being correlated with
US20120230420A1 (en) * 2011-03-08 2012-09-13 Qualcomm Incorporated Coding of transform coefficients for video coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10448056B2 (en) * 2016-07-15 2019-10-15 Qualcomm Incorporated Signaling of quantization information in non-quadtree-only partitioned video coding

Also Published As

Publication number Publication date
US20140044165A1 (en) 2014-02-13

Similar Documents

Publication Publication Date Title
JP6281851B2 (en) Image decoding apparatus, image encoding apparatus, image decoding method, image encoding method, program, and integrated circuit
US9467699B2 (en) Method for performing parallel coding with ordered entropy slices, and associated apparatus
US10033406B2 (en) Method for performing parallel coding with ordered entropy slices, and associated apparatus
US20150215631A1 (en) Parallel Coding with Overlapped Tiles
US9609316B2 (en) Image coding apparatus, image coding method, and recording medium thereof, image decoding apparatus, and image decoding method, and recording medium thereof
US9300984B1 (en) Independent processing of data streams in codec
CN1812576A (en) Deblocking filters for performing horizontal and vertical filtering of video data simultaneously and methods of operating the same
US9723306B2 (en) Codeword assignment for intra chroma mode signaling for HEVC
US20170019679A1 (en) Hybrid video decoding apparatus for performing hardware entropy decoding and subsequent software decoding and associated hybrid video decoding method
US10250912B2 (en) Method and apparatus for entropy decoding with arithmetic decoding decoupled from variable-length decoding
JP6208993B2 (en) Image decoding apparatus and decoding processing method of image decoding apparatus
US20130279817A1 (en) Tile support in decoders
US9538174B2 (en) Method and apparatus for inverse scan of transform coefficients in HEVC
JP2016528810A (en) Scan order for non-transform coding
US10798419B2 (en) Embedded codec circuitry for sub-block based encoding of quantized prediction residual levels
US10750182B2 (en) Embedded codec circuitry for visual quality based allocation of refinement bits
JP2007259323A (en) Image decoding apparatus
US9807417B2 (en) Image processor
CN101299816A (en) Apparatus and related method for processing macroblock units in video image
JP2006165699A (en) Image encoder and image encoding method
US20160227216A1 (en) Multi-standard Video Decoder with Novel Bin Decoding
US9973209B2 (en) Processor and data processing method thereof
KR101517806B1 (en) Method for Video Decoding and Apparatus using the same
CN103260023A (en) Image encoding/decoding system and image encoding/decoding method

Legal Events

Date Code Title Description
AS Assignment

Owner name: MEDIATEK INC., TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHIU, MIN-HAO;CHANG, YUNG-CHANG;REEL/FRAME:029901/0619

Effective date: 20130220

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

AS Assignment

Owner name: XUESHAN TECHNOLOGIES INC., CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MEDIATEK INC.;REEL/FRAME:056593/0167

Effective date: 20201223