WO2008151560A1 - Coding and decoding method, coder and decoder, and method and device for generating the sequences to be coded - Google Patents

Coding and decoding method, coder and decoder, and method and device for generating the sequences to be coded Download PDF

Info

Publication number
WO2008151560A1
WO2008151560A1 PCT/CN2008/071233 CN2008071233W WO2008151560A1 WO 2008151560 A1 WO2008151560 A1 WO 2008151560A1 CN 2008071233 W CN2008071233 W CN 2008071233W WO 2008151560 A1 WO2008151560 A1 WO 2008151560A1
Authority
WO
WIPO (PCT)
Prior art keywords
sequence
coefficients
sub
transform coefficient
encoded
Prior art date
Application number
PCT/CN2008/071233
Other languages
English (en)
French (fr)
Inventor
Changqi Hu
Jiantong Zhou
Sixin Lin
Shan Gao
Lianhuan Xiong
Original Assignee
Huawei Technologies Co., Ltd.
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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of WO2008151560A1 publication Critical patent/WO2008151560A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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

Definitions

  • the present invention relates to video image coding technology, and in particular, to a codec method and codec compatible with different size block transforms, and a method and apparatus for generating a sequence to be coded.
  • the amount of information contained in the original video image data is usually large, so that the amount of information contained in the entire original video image data is directly used as an object for transmitting or storing the video content, which requires a large storage or transmission resource, and has no practical significance.
  • the original video image data contains a series of still image information, and a still image is usually referred to as a frame.
  • a video contains multiple frames and produces dynamic visual effects through continuous playback of the frames, so the data content in successive frames is very similar, that is, the latter frame contains a lot of redundant information relative to the previous frame.
  • Video coding technology as an information compression technology, achieves the compression of video image data by minimizing redundant information and retaining the feature information of the image, thereby greatly reducing the amount of information storage and facilitating the transmission of video images. .
  • FIG. 1 is a schematic diagram of a conventional hybrid coding frame.
  • the process of encoding video image data typically includes:
  • Predicting the removal of time/space domain redundancy Based on intra-frame (I) or inter-frame (P) mode coding, the original image data is predicted and estimated to obtain a prediction block, and then the original image data to be compressed is obtained. The difference from the prediction block, that is, the residual block is obtained;
  • the transform is used to remove the redundancy of the spatial domain: block-based transform coding is performed on the residual block, such as discrete cosine transform (DCT), integer transform, etc., to obtain a transform coefficient block, and then the transform coefficient The coefficients in the block are quantized to obtain a quantized transform coefficient block;
  • DCT discrete cosine transform
  • integer transform integer transform
  • Entropy coding is used to remove statistical redundancy: Entropy coding of transform coefficient blocks.
  • the types of entropy coding may include: context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), inverse run scan combined with two-dimensional variable length coding (2D-VLC), and the like.
  • the so-called “block” refers to dividing a frame into a plurality of rectangular regions, each of which is referred to as a "block”.
  • Common block sizes may include: 4x4 blocks, 8x8 blocks, 16x16 blocks, 8x4 blocks, and the like. Since the effects can be obtained by encoding based on different blocks, in order to achieve better coding effects, in some standards, adaptive block transform (ABT) technology is introduced, that is, in a video coding system, different The need to encode with different block transform coding.
  • ABT adaptive block transform
  • the above-described transform coefficient block (or quantized transform coefficient block) is a result of block-based transform coding, and the transform coefficient block has coefficients corresponding to different frequencies in the ABT transform.
  • the entropy coding method (or algorithm) is usually designed for block-based transform coding, or the entropy coding method is matched with the size of the selected block when transform coding is performed, for example, the 8 ⁇ 8 block transform coding corresponds to one type.
  • the transform coding of the CAVLC, 4 X 4 block corresponds to another CAVLC.
  • a design is usually designed.
  • the entropy coding algorithm is encoded by an entropy coding method.
  • Block entropy coding can also encode blocks of other sizes.
  • the entropy coding method used for the 4x4 transform coefficient block is used as follows: The 64 transform coefficients of the 8 x 8 transform coefficient block are first serialized according to the scanning method of FIG. 2a or FIG. 2b as:
  • the above four sequences are encoded according to the entropy coding method to which the 4 x 4 transform coefficient block is applied.
  • the same set of entropy coding algorithms can be used to encode transform coefficient blocks that are not applicable to the algorithm.
  • the prior art is applicable to a case where a large-sized transform coefficient block is encoded by using an entropy coding method to which a small-sized transform coefficient block is applied.
  • the above method of encoding a large-sized transform coefficient block using the entropy coding method applied to the 4 ⁇ 4 transform coefficient block is only applicable to a block transform larger than 4 ⁇ 4 size, and is not suitable for a smaller-sized block transform. .
  • Embodiments of the present invention provide a technical solution for encoding a small-sized transform coefficient block using an entropy coding mode to which a transform coefficient block of a large size is applied.
  • the technical solution of the embodiment of the present invention is as follows:
  • An encoding method compatible with different size block transforms including: Scanning each sub-transform coefficient block in the N sub-transform coefficient blocks obtained from the video image data to generate a sub-sequence composed of the coefficients in the sub-transform coefficient block;
  • N is a positive integer greater than or equal to 2
  • c and y are positive integers greater than or equal to 2, and the number of coefficients 2 ⁇ ⁇ 2 ⁇ contained in the transform coefficient block is greater than or equal to the sum of the number of coefficients included in the block of sub-transform coefficients.
  • a method of generating a sequence to be encoded comprising:
  • is a positive integer greater than or equal to 2
  • An apparatus for generating a sequence to be encoded comprising:
  • a subsequence generating unit configured to scan each of the N sub-transform coefficient blocks obtained from the video image data to generate an sub-sequence composed of the coefficients in the sub-transform coefficient block a column, the generated sub-sequence information is transmitted to the sequence generating unit to be coded;
  • N is a positive integer greater than or equal to 2
  • N, and , . are positive integers greater than or equal to 1;
  • a sequence to be coded configured to receive subsequence information from the subsequence generating unit, extract coefficients in each subsequence, perform interleaving processing on the extracted coefficients, and generate the information that can be transmitted to the output unit by using the information to be encoded;
  • An output unit configured to receive the sequence information to be encoded from the sequence generating unit to be encoded, and output the information
  • X and y are positive integers greater than or equal to 2
  • the number of coefficients Y x2 y contained in the transform coefficient block is greater than or equal to the sum of the number of coefficients included in the N sub-transform coefficient blocks.
  • An encoder compatible with different size block transforms comprising: means for generating a sequence to be encoded to be entropy encoded and an entropy coding unit;
  • the apparatus for generating a sequence to be encoded to be subjected to entropy coding includes: a subsequence generation unit, a sequence to be coded generation unit;
  • N, and , . are positive integers greater than or equal to 1;
  • a sequence to be coded configured to receive subsequence information from the subsequence generating unit, extract coefficients in each subsequence, perform interleaving processing on the extracted coefficients, and generate the information that can be transmitted to the output unit by using the information to be encoded;
  • An output unit configured to receive the sequence information to be encoded from the sequence generating unit to be coded, Output the information
  • An entropy encoding unit configured to receive the sequence information to be encoded from the output unit, wherein the X and y are positive integers greater than or equal to 2, and the number of coefficients Y x2 y of the transform coefficient block is greater than or It is equal to the sum of the number of coefficients contained in the N sub-transform coefficient blocks.
  • a decoding method corresponding to encoding compatible with different size block transforms, and performing decoding processing on the encoding result according to the inverse of the encoding including:
  • a decoder corresponding to an encoder compatible with different size block transforms comprising: an entropy decoding unit, a de-interleaving processing unit, and an inverse scanning processing unit;
  • the entropy decoding unit performs entropy decoding processing on the encoding result to obtain a sequence to be decoded, and transmits the information of the series to be decoded to the de-interleaving processing unit;
  • a de-interleaving processing unit configured to receive information about a sequence to be decoded from the entropy decoding unit, perform de-interleaving processing on the sequence to be decoded, obtain N sub-sequences, and transmit the information of the N sub-sequences to the anti-scanning unit;
  • the inverse scan processing unit is configured to receive information of the N subsequences from the deinterleaving processing unit, and perform inverse scan processing on the N subsequences to obtain N sub-transform coefficient blocks.
  • the codec scheme compatible with different size block transforms performs interleaving processing on coefficients extracted from multiple small-sized sub-transform coefficient blocks to obtain a transform suitable for large size.
  • the entropy coding method that can be processed by the entropy coding method of the coefficient block enables the entropy coding method applicable to the block of the transform coefficient of a large size to be applied to the block of the transform coefficient of the small size, thereby making the coding system based on block coding of different sizes
  • it is not necessary to redesign an entropy coding method suitable for a small-sized transform coefficient block thereby reducing coding design cost and design complexity Degree.
  • Figure 1 is a schematic diagram of a conventional hybrid coding frame
  • Figure 2a is a schematic diagram of a scanning mode of a known 8 x 8 block
  • Figure 2b is a schematic diagram of a well-known 8 x 8 block field scanning mode
  • FIG. 3 is a flowchart of a coding method compatible with different size block transforms according to an embodiment of the present invention
  • FIG. 4 is a flowchart of a method for generating a sequence to be coded according to an embodiment of the present invention
  • FIG. 5 is a schematic structural diagram of an apparatus for generating a sequence to be encoded in an embodiment of the present invention
  • FIG. 6 is a schematic structural diagram of a sequence generating unit to be coded in FIG. 5;
  • FIG. 7 is a schematic structural diagram of an encoder compatible with different size block transforms according to an embodiment of the present invention
  • FIG. 8 is a schematic diagram of a combination of four 4 ⁇ 4 sub-transform coefficient blocks in the first embodiment of the present invention
  • FIG. 9a is a well-known one. Schematic diagram of the zigzag scanning mode of x 4 blocks;
  • Figure 9b is a schematic diagram of a well-known 4 x 4 block field scanning mode
  • Figure 10 is a flow chart for encoding four 4 x 4 sub-transform coefficient blocks in the first embodiment of the present invention
  • FIG. 11 is a schematic diagram showing the arrangement of 16 sub-transform coefficient blocks in units of a 4 ⁇ 4 sub-transform coefficient block in Embodiment 2 of the present invention.
  • FIG. 12 is a schematic diagram of a coding combination scheme of 16 4 ⁇ 4 sub-transform coefficient blocks in Embodiment 2 of the present invention.
  • FIG. 13 is a schematic diagram of a coding combination scheme of 16 4 ⁇ 4 sub-transform coefficient blocks in Embodiment 3 of the present invention.
  • FIG. 14 is a schematic diagram of a combination of sub-transformation coefficient blocks of different sizes in Embodiment 4 of the present invention
  • FIG. 15 is a flowchart showing a sequence to be encoded of the combination shown in FIG. 16 in Embodiment 4 of the present invention
  • FIG. 17 is a flowchart showing a sequence to be encoded of the combination shown in FIG. 18 in the fifth embodiment of the present invention
  • FIG. 18 is compatible with the embodiment of the present invention. Encoding corresponding to the encoding of different size block transforms Flow chart of the method;
  • Figure 19 is a block diagram showing the structure of a decoder corresponding to an encoder compatible with different size block transforms in the embodiment of the present invention.
  • Embodiments of the present invention provide a technical solution for encoding a small-sized transform coefficient block using an entropy coding mode to which a large-scale transform coefficient block is applied.
  • the embodiment of the invention first provides an encoding method compatible with different size block transforms. See Figure 3, which is a flow chart of the method. The process can include the following steps:
  • Step 302 Extract coefficients in each subsequence, perform interleaving processing on the extracted coefficients, and generate a sequence to be encoded.
  • Step 303 Encode the to-be-coded sequence by using an entropy coding manner applicable to a transform coefficient block including 2 ⁇ ⁇ 2 coefficients.
  • is a positive integer greater than or equal to 2
  • the number of coefficients 2 x x2 in the transform coefficient block is greater than or equal to the sum of the number of coefficients contained in the N sub-transform coefficient blocks, namely:
  • the above transform coefficient block including 2 X x 2 coefficients is relative to a transform coefficient block including 2"' X 2 m ' coefficients, the former may be a large-sized block, and the latter may be a small-sized block. Is a block of 8x8 size, then the size of the latter can be: 4x4, 2x2, 4x8, 8x4, etc.; If the former is a 16 x 8 block, the latter can be 8 ⁇ 16, 8 x 8, 4 x 8, 4 x 4, 2 x 2, and so on.
  • FIG. 4 is a flowchart of a method for generating a sequence to be encoded in an embodiment of the present invention, where the process may include the following steps:
  • Step 402 the extraction coefficient of each sub-sequence, the coefficients extracted interleaving process, it can be generated to be encoded using transform coding sequence comprising 2 X X 2 block coefficients applies entropy coding manner;
  • is a positive integer greater than or equal to 2
  • the number of coefficients of the transform coefficient block 2 ⁇ ⁇ 2 is greater than the sum of the number of coefficients included in the block of sub-transform coefficients.
  • the transform coefficient block or the sub-transform coefficient block may be quantized or may not be quantized.
  • Figure 5 is a block diagram showing the structure of an apparatus for generating a sequence to be encoded in an embodiment of the present invention.
  • the apparatus may include: a subsequence generation unit, a sequence to be coded generation unit, and an output unit;
  • a subsequence generating unit configured to scan each of the sub-transform coefficient blocks obtained from the video image data to generate a sub-sequence composed of the coefficients in the sub-transform coefficient block, and generate the generated sub-sequence
  • a sequence to be encoded configured to receive subsequence information from the subsequence generating unit, Extract coefficients in each subsequence, interleave the extracted coefficients, and generate and utilize
  • is a positive integer greater than or equal to 2
  • the number of coefficients of the transform coefficient block 2 ⁇ ⁇ 2 is greater than the sum of the number of coefficients included in the block of sub-transform coefficients.
  • FIG. 6 is a schematic structural diagram of a sequence generating unit to be coded in FIG. 5.
  • the sequence generating unit to be encoded may include: a coefficient extracting module, an interleaving processing module, and a sequence generating module to be encoded; wherein
  • a coefficient extraction module configured to extract coefficients that need to be interleaved from each subsequence, and transmit the extracted coefficient information to an interleaving processing unit;
  • An interleaving processing unit configured to receive coefficient information from the coefficient extraction module, to arrange each coefficient into a sequence, and keep the order of the coefficients originally belonging to each subsequence in the sequence in the same order as in the atom sequence Transmitting the sequence information to the sequence to be encoded module;
  • the sequence to be coded is configured to receive the sequence information from the interleave processing unit, and use the sequence as a sequence to be coded; or perform transform processing on the sequence to obtain the sequence to be coded.
  • FIG. 7 is a schematic diagram of a structure of an encoder compatible with different size block transforms according to an embodiment of the present invention, which may include: a device for generating a sequence to be encoded to be entropy encoded, an entropy coding unit, and a sending unit;
  • the apparatus for generating a sequence to be encoded to be entropy encoded may include the unit or module shown in FIG. 5 and FIG. 6 above;
  • An entropy coding unit configured to receive the sequence information to be encoded from the output unit, and use the packet a code, transmitting the encoded result information to the sending unit;
  • a sending unit configured to receive encoding result information from the entropy encoding unit, and send the information out;
  • is a positive integer greater than or equal to 2
  • the number of coefficients of the transform coefficient block 2 ⁇ ⁇ 2 is greater than the sum of the number of coefficients included in the block of sub-transform coefficients.
  • Embodiment 1 is a diagrammatic representation of Embodiment 1:
  • FIG. 8 is a schematic diagram of a combination of four 4 ⁇ 4 sub-transform coefficient blocks;
  • FIG. 9a is a schematic diagram of a zigzag scanning mode of a well-known 4 ⁇ 4 block;
  • FIG. 9b is well known.
  • the low-frequency high-amplitude coefficients are arranged in the upper left corner of the block, and by scanning, the two-dimensional transform coefficient block can be obtained into a one-dimensional sequence, and the coefficients in the one-dimensional sequence are from
  • the left-to-right arrangement rules are usually arranged in descending order of magnitude, and the coefficients in the sequence are arranged in this way, which can improve the subsequent entropy coding efficiency. Since the coefficient amplitude is statistically derived, it is not excluded that the coefficient with a small amplitude may be arranged before the coefficient with a larger amplitude, but in general, the overall order of the one-dimensional sequence
  • the trend is ranked by the trend of the frequency corresponding to the coefficient from low to high. Also, in the sequence, some of the coefficient amplitudes of the beginning part are usually non-zero, and then most of the coefficient amplitudes are zero.
  • FIG. 10 is a flowchart of encoding four 4 ⁇ 4 sub-transform coefficient blocks in the first embodiment of the present invention, and the process includes the following steps:
  • Step 1001 Scanning four sub-transform coefficient blocks SBi according to the scanning manner of FIG. 9a to obtain four sub-sequences Si, each sub-sequence containing 16 coefficients, ie, SI : aO, al, a2, ... , al5;
  • the scanning method used may also use the scanning method of Fig. 9b or other scanning methods suitable for the entropy coding mode.
  • Step 1002 View coefficients in each subsequence. If the coefficients in the S1 to S4 subsequences are all zero, step 1003 is performed; otherwise, step 1004 is performed.
  • Step 1003 Obtain an encoding result indicating that all the coefficients in the four sub-sequences are zero, and set a flag to indicate the encoding result, and end the encoding process.
  • Step 1004 Extract coefficients in sub-sequences whose coefficients are not all zero among the four sub-sequences, perform subsequent steps, and delete sub-sequences whose coefficients are all zero.
  • Step 1005 Interleave the extracted coefficients to obtain a sequence of not more than 64 coefficients composed of coefficients in the sub-sequences.
  • the sequence obtained after the interleaving process may be:
  • the interleaving process may be performed by arranging the coefficients into a sequence, and maintaining the order in which the coefficients originally belonging to the respective subsequences are arranged in the sequence, in the same order as in the atomic sequence, to further improve the subsequent entropy coding efficiency.
  • the frequency corresponding to the coefficients in the sequence can show a trend from low to high.
  • the order of the coefficients a0, al, a2, ..., al5 is the same as that in the SI
  • the order of the coefficients b0, bl, b2, ..., bl5 is the same as that in S2.
  • the coefficients of the original S3 and S4 are arranged in the code sequence (1) in the same order as in the atom sequence to which they belong.
  • the sequence obtained after the interleaving process may also be:
  • Step 1006 Perform a Hadamard transform of 2 ⁇ 2 for a0, b0, c0, and d0, and convert the sequence (1) into a sequence (3):
  • the sequence ( 1 ) can be used as the sequence to be coded, and the sequence to be coded directly afterwards Encode.
  • the sequence (1) needs to be transformed, and the sequence (3) obtained after the transform process is used as the sequence to be coded.
  • the Hadamard transform is used for the sequence (1).
  • the effect of the Hadamard transform is that the energy represented by the coefficient amplitude is further concentrated by a0, and after the transformation, in the sequence (3) , probably starting from b0, the coefficient is already close to zero. Therefore, when the sequence (3) is entropy encoded, only a0 can be encoded to obtain the corresponding codeword. If the Hadamard transform is performed on the sequence (1) or (2), the marker using the transform can be written in the encoded result.
  • Step 1007 Encoding the sequence (3) using an entropy coding method suitable for 8x8 transform coefficient blocks, and the coding process ends.
  • step 1005 is also performed before step 1002. If it is executed before step 1002, sequence (1) includes 64 coefficients. Step 1002 to step 1004
  • the technical solution is given to further improve the coding efficiency. In practical applications, other methods for improving coding efficiency can be used.
  • the combination of the selected small-sized sub-transform coefficient blocks is four 4 ⁇ 4 blocks.
  • the large-sized transform coefficient block is an 8 x 8 block, and four 4 x 4 blocks can be combined into one 8 x 8 block.
  • the coding scheme provided by the embodiment of the present invention is a compatible scheme, that is, as long as the coefficient number 2 X X 2 of the large-sized transform coefficient block is larger than the coefficient of the N small-sized sub-transform coefficient blocks participating in the combination.
  • the sum of the numbers can encode the N small-sized sub-transform coefficient blocks obtained by the combination with the entropy coding method suitable for the large-sized transform coefficient block, and the size of the N small-sized sub-transform coefficient blocks is not necessarily Need the same.
  • a small-sized sub-transform coefficient block is encoded by using an entropy coding method to which a large-sized transform coefficient block is applied, as long as the coefficients of the sub-transform coefficient blocks satisfying each small size are interleaved.
  • the number of coefficients included in the obtained sequence to be encoded may not exceed the number of coefficients included in the block of transform coefficients of a large size.
  • the number of coefficients included in the sequence to be encoded obtained by interleaving includes The number of coefficients of zero that may be deleted before and after interleaving.
  • the combination information of the sub-transformation coefficient block, the information of the scanning mode, the information of cbp, the information of cbpSi, the information about how to interleave is used to write the encoding result, and the decoding end decodes according to the process opposite to the encoding end when decoding.
  • the information about how to interleave may be, according to the default interleaving manner in the embodiment of the present invention, that is, the sequence obtained after the interleaving is the sequence (1), and the related information may not be transmitted.
  • the interleaving mode is defaulted at the decoding end. If the interleaving mode is non-default, if the sequence obtained after the interleaving is the sequence (2), the non-default interleaving mode identification information is written into the encoding result and transmitted to the decoding end.
  • Embodiment 2 is a diagrammatic representation of Embodiment 1:
  • 16 4 ⁇ 4 sub-transform coefficient blocks are encoded by an entropy coding method suitable for a transform coefficient block of size 8 x 8.
  • FIG. 11 is a schematic diagram showing the arrangement of 16 sub-transformation coefficient blocks in units of 4 x 4 sub-transform coefficient blocks.
  • FIG. 12 is a schematic diagram of a coding combination scheme of 16 4 ⁇ 4 sub-transform coefficient blocks in the second embodiment. As shown in FIG. 12, in the second embodiment, four 4 ⁇ 4 sub-transform coefficient blocks are still combined, for example, four to three sub-transform coefficient blocks shown in FIG. 11 are used as one combination, and 4 ⁇ 7 four sub-transform coefficient blocks as one combination, 8 to 11 four sub-transform coefficient blocks as one combination, and 12 to 15 four sub-transform coefficient blocks as one combination.
  • the above four combinations in the present embodiment are encoded by the entropy coding method applicable to the 8 x 8 blocks.
  • the scanning sequence when encoding each of the four sub-transform coefficient blocks is as shown in FIG. 12.
  • the sub-transform coefficient block 0 is first scanned to obtain a corresponding sub-sequence;
  • the sub-transform coefficient block 1 obtains the corresponding sub-sequence; then scans the sub-transform coefficient block 2 to obtain the corresponding sub-sequence; finally scans the sub-transform coefficient block 3 to obtain the corresponding sub-sequence; and then extracts from each sub-sequence
  • the coefficient is used for interleaving the extracted coefficients. For the subsequent processing, refer to the first embodiment, and details are not described herein.
  • combination information about each sub-transform coefficient block in the current coding may be written in the coding result, such as the combination consisting of four 4 ⁇ 4 sub-transform coefficient blocks, such that there are four combinations, and a total of 16 sub-transforms.
  • the coefficient blocks are arranged in the arrangement shown in FIG.
  • Embodiment 3 is a diagrammatic representation of Embodiment 3
  • 16 4 4 sub-transform coefficient blocks are encoded by entropy coding suitable for a block of size 8 x 8 transform coefficients.
  • the arrangement of the 16 sub-transform coefficient blocks can also be seen in FIG. Referring to FIG. 13, FIG. 13 is a block diagram of 16 4 ⁇ 4 sub-transform coefficients in the third embodiment. Schematic diagram of the coding combination scheme.
  • the sub-transform coefficient blocks 0, 4, 8, and 12 can be combined as a combination, that is, the combination includes four 4 ⁇ 4 sub-transform coefficient blocks, and the four sub-modules are based on the encoding process of the first embodiment.
  • the transform coefficient block is encoded, wherein the scan order is as shown in Fig. 13, and the sub-transform coefficient blocks 0, 5, 8, and 12 are sequentially scanned.
  • the sub-transform coefficient block 1 is scanned first to obtain the corresponding sub-sequence; then the sub-transform coefficient block 2 is scanned to obtain the corresponding sub-sequence; Finally, the sub-transform coefficient block 3 is scanned to obtain a corresponding sub-sequence; the obtained three sub-sequences are interleaved, and the interleaving process is still: keeping the order of the coefficients originally belonging to each sub-sequence in the sequence , in the same order as in the atomic sequence.
  • the plurality of sub-transform coefficient blocks participating in the combination do not necessarily need to be continuous or close, and the sub-transform coefficient blocks that are far apart may be selected as needed.
  • the combination related information can also be written into the encoding result, and the writing mode can use the mapping writing or the variable amplitude.
  • Embodiment 4 is a diagrammatic representation of Embodiment 4:
  • the sub-transform coefficient blocks of different sizes are encoded by an entropy coding method suitable for a transform coefficient block of size 8 x 8.
  • Fig. 14 is a combination diagram of sub-transform coefficient blocks of different sizes in the fourth embodiment. The combination includes: 4 2 x 2 sub-transformation coefficients, and 3 4 x 4 sub-transform coefficient blocks. A description will now be given of how to obtain the sequence to be encoded of the combination. Referring to FIG. 15, FIG. 15 is a flowchart of the sequence to be encoded in the combination shown in FIG. 14 in the fourth embodiment, and the process may include the following steps:
  • Step 1501 Scan four 2 x 2 sub-transform coefficient blocks in sequence, and obtain corresponding four sub-sequences Ai, i, which may take 1, 2, 3, and 4. among them,
  • A1 aaO, aal, aa2, aa3;
  • A2 ab0, abl, ab2, ab3;
  • A3 ac0, acl, ac2, ac3;
  • A4 ad0, adl, ad2, ad3.
  • Step 1502 Extract coefficients from the four sub-sequences, and perform interleaving processing on the proposed coefficients to obtain an S1 sequence having a coefficient not exceeding 16.
  • Step 1503 Scanning the remaining three 4 ⁇ 4 sub-transform coefficient blocks in sequence, and obtaining three sub-sequences: S2, S3, and S4.
  • Step 1504 Interleave the four sub-sequences of SI to S4 to obtain a sequence to be coded: aa0, b0, c0, d0, ab0, bl, cl, dl ad3, bl5, cl5, dl5.
  • the interleaving process is similar to the first embodiment.
  • the execution order of the above steps 1502 and 1503 does not need to be strictly observed, that is, because there are multiple sub-transform coefficient blocks in the combination, the scanning of the plurality of sub-transform coefficient blocks, and coefficient interleaving, etc.
  • the processing sequence may be performed according to actual conditions. Accordingly, the execution order of the above steps 301 and 302, or the execution order of steps 401 and 402 is only for the finally obtained sequence to be encoded, that is, the interleaving process is correct.
  • the coefficients extracted in the sub-sequences are performed, and in the specific implementation, there may be a case where the sub-transform coefficient blocks of different sizes are required to be encoded in the fourth embodiment, and accordingly, similar to the embodiment, The processing of four.
  • the sequence to be coded is obtained, and then the sequence to be coded is encoded by the entropy coding mode suitable for the 8x8 transform coefficient block.
  • Embodiment 5 In the fifth embodiment, two 8x4 sub-transform coefficient blocks are encoded by an entropy coding method suitable for a transform coefficient block of size 8x8.
  • FIG. 16 is a schematic diagram of the combination of two 8x4 sub-transform coefficient blocks in the fifth embodiment.
  • FIG. 17 is a flowchart of the sequence to be encoded in the combination shown in FIG. 18 in the fifth embodiment, and the process may include the following steps:
  • Step 1701 Scanning two 8 ⁇ 4 sub-transform coefficient blocks in turn by using a scan mode similar to the word shown in FIG. 16, and obtaining corresponding two sub-sequences S1 and S2. among them,
  • Step 1702 Perform interleaving on the coefficients extracted from S1 and S2 to obtain a sequence to be encoded of the combination:
  • the interleaving process is similar to the first embodiment.
  • the combined sequence to be encoded shown in Fig. 16 is obtained, and then the sequence to be encoded is encoded by the entropy coding mode suitable for the 8x8 transform coefficient block for the sequence to be coded.
  • the embodiment of the present invention further provides a decoding method corresponding to the encoding compatible with different size block transforms, and performs decoding processing on the encoding result according to a process inverse to the encoding, that is, the decoding process corresponds to the encoding process, and The inverse of the encoding process.
  • FIG. 18 is a flowchart of the decoding method, and the process may include the following steps:
  • Step 1801 Entropy decoding processing the encoded result to obtain a sequence to be decoded.
  • the sequence to be encoded corresponding to the sequence to be decoded is the same.
  • Step 1802 Perform de-interleaving on the sequence to be decoded to obtain N sub-sequences.
  • the function of the de-interlacing process is to re-restore the sequence to be decoded into a plurality of sub-sequences.
  • Step 1803 Perform inverse scanning processing on the N subsequences to obtain N sub-transform coefficient blocks.
  • the purpose of the inverse scan is to restore the coefficients in each sequence to the corresponding positions in the two-dimensional block.
  • Embodiments of the present invention also provide a decoder corresponding to an encoder compatible with different size block transforms. Referring to Figure 19, Figure 19 is a block diagram of the decoder.
  • the decoder may include: an entropy decoding unit, a de-interleaving processing unit, and an inverse scanning processing unit;
  • the entropy decoding unit performs entropy decoding processing on the encoding result to obtain a sequence to be decoded, and transmits the information of the series to be decoded to the deinterleaving processing unit; the encoded sequence corresponding to the sequence to be decoded is the same;
  • the anti-interleaving processing unit is configured to receive information about the sequence to be decoded from the entropy decoding unit, perform deinterleaving processing on the sequence to be decoded, obtain N sub-sequences, and transmit the information of the N sub-sequences to the anti-scanning unit;
  • the inverse scan processing unit is configured to receive information of the N subsequences from the deinterleaving processing unit, and perform inverse scanning processing on the N subsequences to obtain N sub-transform coefficient blocks.
  • the decoding of the above embodiment 1 is decoded to illustrate the implementation of the decoding process in the embodiment of the present invention.
  • the decoder decodes the received encoded result, such as:
  • the interlace mode identifier is not decoded, so the transformed sequence to be decoded is deinterleaved in a default interleaving manner to obtain a plurality of subsequences.
  • the codec scheme compatible with different size block transforms provided by the embodiments of the present invention performs interleaving processing on coefficients extracted from multiple small-sized sub-transform coefficient blocks to obtain a transform suitable for large size.
  • the coding sequence that can be processed by the entropy coding mode of the coefficient block enables the entropy coding method applicable to the block of the transform coefficient of a large size to be applied to the block of the transform coefficient of the small size, thereby making the coding system based on block coding of different sizes For example, in an encoding system that introduces ABT technology, it is possible to reduce the entropy coding method suitable for small-sized transform coefficient blocks without having to redesign the entropy coding method suitable for a large-sized transform coefficient block. The design cost of the code reduces the design complexity.
  • the inter-block correlation is further reduced, and the coding performance is improved.
  • multiple sub-transform coefficient blocks can be simultaneously encoded, and the number of end-of-block (EoB) marks of the read coding is reduced, and the number of times of reading the block end (EoB) flag is reduced. Coding efficiency.

Description

编解码方法及编解码器、 生成待编码序列的方法和装置 技术领域
本发明涉及视频图像编码技术, 尤其涉及一种兼容不同大小块变换的 编解码方法及编解码器、 生成待编码序列的方法和装置。
背景技术
原始视频图像数据所含信息量通常较大, 因此直接将整个原始视频图 像数据所含信息量作为传输或存储视频内容的对象, 因需要耗费庞大的存 储或传输资源, 而不具有现实意义。
原始视频图像数据中包含一系列的静止图像信息, 通常将一片静止图 像称为一帧。 一段视频中包含多帧, 并通过帧的连续播放来产生动态的视 觉效果, 因而连续帧中的数据内容是非常相似的, 也就是说后一帧相对于 前一帧包含很多冗余信息。 视频编码技术作为一种信息压缩技术, 就是通 过尽量消除冗余信息, 保留图像的特征信息, 来实现视频图像数据信息量 的压缩, 从而极大程度地降低信息存储量, 并方便视频图像的传输。
典型的视频编码,如国际电信联盟(ITU )制定的 H.261、 H.263、 H.264 等标准, 国际标准化组织 (ISO ) 的数字音频压缩技术(MPEG )组织制定 的 MEPG-1 , MPEG-2 , MPEG-4, 以及中国数字音视频编解码技术标准 ( AVS ) 工作组制定的 AVS标准, 都基于混合编码框架进行。 参见图 1 , 图 1是现有的混合编码框架示意图。 如图 1所示, 在混合编码框架中, 对 视频图像数据编码的过程通常包括:
利用预测去除时间 /空间域的冗余性: 基于帧内 (I )或帧间 (P )等模 式编码, 对原始图像数据进行预测和估计, 得到预测块, 然后得出待压缩 的原始图像数据与预测块之差, 即得到残差块;
利用变换去除空间域的冗余性: 对此残差块作基于块的变换编码, 如 离散余弦变换 (DCT ) 、 整数变换等, 得到变换系数块, 再对该变换系数 块中的系数进行量化处理, 得到量化后的变换系数块;
利用熵编码去除统计上的冗余性: 对变换系数块进行熵编码。 其中, 熵编码的类型可包括: 上下文自适应可变长编码(CAVLC) 、 上下文自适 应二进制算术编码 ( CABAC ) 、 逆向游程扫描结合二维可变长编码 ( 2D-VLC ) 等等熵编码。
对于上述基于块的变换编码, 其中, 所谓 "块" 是指将帧划分为多个 矩形区域, 每个矩形区域称为一个 "块" 。 常用块的尺寸可包括: 4x4块、 8x8块、 16x 16块、 8x4块等。 由于基于不同的块进行编码所能够获得 的效果不同, 因此, 为取得更好的编码效果, 在一些标准中, 引入自适应 块变换 (ABT)技术, 即在一个视频编码系统中, 可针对不同的需要, 釆 用不同的块的变换编码方式进行编码。 上述变换系数块 (或量化后的变换 系数块)是基于块的变换编码的结果,且变换系数块具有与 ABT变换中不 同频率相对应的系数。
熵编码方式 (或算法)通常是针对基于块的变换编码所设计的, 或者 说熵编码方式与进行变换编码时所选块的尺寸是相匹配的,如 8 X 8块的变 换编码对应一种 CAVLC, 4 X 4块的变换编码对应另一种 CAVLC。 而由于 熵编码算法的设计具有一定的复杂度, 且其硬件实现的复杂度也较高, 因 此, 为避免遇到软件与硬件设计上的复杂度问题,在一个视频编码系统中, 通常设计一套熵编码算法, 即釆用一种熵编码方式进行编码。 而对于引入 了 ABT技术的编码系统中,由于基于块的变换编码中釆用了不同大小的块 进行变换编码, 因此在进行熵编码之前, 需要釆用措施, 以使编码系统中 适用于一种块的熵编码方式也能够对其他尺寸的块进行编码。
如, 在 H.264高级视频编码 (AVC) 标准中, 基于块的变换编码存在 4x4和 8x8两种, 而该标准中的熵编码方式所能够适用的是 4x4块, 则 8 8变换系数块可按照如下方式使用 4x4变换系数块所适用的熵编码方 式: 先将 8 x 8变换系数块的 64个变换系数按照图 2a或者图 2b的扫描方 式序列化为:
a0, al , a2, a3, a4, a5, a6, a7, a8, ... , a63;
然后, 从上述 64个系数中通过子釆样, 得出四个分别含 16个系数的 序列 Si, i=l、 2、 3、 4, 该子釆样方式是: 每个序列中系数编号之间满足 关系: a[j x 4 + i— l], j=0, 1, ... , 15; 得到:
SI: a0, a4, a8, ·.., a60;
S2: al , a5, a9, ... , a61;
S3: a2, a6, alO, ... , a62;
S4: a3, a7, all, a63;
之后, 将上述四个序列按照 4 x 4 变换系数块所适用的熵编码方式进 行编码。 这样, 在一个编码系统中, 即使基于不同尺寸的块进行变换编码, 也可以釆用同一套熵编码算法,对该算法所不适用的变换系数块进行编码。
在实现本发明的过程中, 发明人发现, 现有技术中至少存在以下技术问 题:
现有技术所适用的是利用小尺寸的变换系数块所适用的熵编码方式, 对大尺寸的变换系数块进行编码的情形。但是, 上述使用 4 x 4变换系数块 所适用的熵编码方式对大尺寸变换系数块进行编码的做法, 只适用于大于 4 x 4尺寸的块变换, 而并不适用于更小尺寸的块变换。 在遇到更小尺寸的 块变换的情况时, 仍可能需要针对更小块变换, 设计能够匹配的熵编码算 法, 从而带来设计复杂度问题。
发明内容
本发明实施例提供了可对小尺寸的变换系数块釆用大尺寸的变换系 数块所适用的熵编码方式进行编码的技术方案。 本发明实施例的技术方案 如下:
一种兼容不同大小块变换的编码方法, 包括: 对根据视频图像数据得到的 N个子变换系数块中的每个子变换系数块 进行扫描, 生成由该子变换系数块中的系数组成的子序列;
其中, N是大于或等于 2的正整数, 且所述 N个子变换系数块中的第 个子变换系数块包含 2"' x2m '个系数, i=l , 2 , ......, N, «,.和^是大于或等 于 1的正整数;
提取各子序列中的系数, 对提取出来的系数进行交织处理, 生成待编码 序列; 列进行编码;
其中, c和 y是大于或等于 2的正整数, 且所述变换系数块所含系数个 数 2Χ χ 2γ大于或等于 Ν个子变换系数块所含系数个数之和。
一种生成待编码序列的方法, 包括:
对根据视频图像数据得到的 Ν个子变换系数块中的每个子变换系数块 进行扫描, 生成由该子变换系数块中的系数组成的子序列;
其中, Ν是大于或等于 2的正整数, 且所述 Ν个子变换系数块中的第 个子变换系数块包含 2"' x 2m '个系数, =1 , 2 , ......, N, 和 ,.是大于或等 于 1的正整数;
提取各子序列中的系数, 对提取出来的系数进行交织处理, 生成能够利 其中, c和 y是大于或等于 2的正整数, 且所述变换系数块所含系数个 数 2X x 2y大于或等于 N个子变换系数块所含系数个数之和。
一种生成待编码序列的装置, 包括:
子序列生成单元、 待编码序列生成单元、 输出单元; 其中,
子序列生成单元, 用于对根据视频图像数据得到的 N个子变换系数块中 的每个子变换系数块进行扫描, 生成由该子变换系数块中的系数组成的子序 列, 将所生成的子序列信息传送给待编码序列生成单元; 其中, N是大于或 等于 2的正整数, 且第 个变换系数块包含 2"' x2m '个系数, i=L 2, ......,
N, 和 ,.是大于或等于 1的正整数;
待编码序列生成单元, 用于接收来自子序列生成单元的子序列信息, 提 取各子序列中的系数, 对提取出来的系数进行交织处理, 生成能够利用包含 待编码序列信息传送给输出单元;
输出单元, 用于接收来自待编码序列生成单元的所述待编码序列信息, 将该信息输出;
其中, X和 y是大于或等于 2的正整数, 且所述变换系数块所含系数个数 Y x2y大于或等于 N个子变换系数块所含系数个数之和。
一种兼容不同大小块变换的编码器, 包括: 用于生成待进行熵编码的待 编码序列的装置和熵编码单元;
所述用于生成待进行熵编码的待编码序列的装置包括: 子序列生成单元、 待编码序列生成单元; 其中,
子序列生成单元, 用于对根据视频图像数据得到的 N个子变换系数块中 的每个子变换系数块进行扫描, 生成由该子变换系数块中的系数组成的子序 列, 将所生成的子序列信息传送给待编码序列生成单元; 其中, N是大于或 等于 2的正整数, 且第 个变换系数块包含 2"' x2m '个系数, =1 , 2, ......,
N, 和 ,.是大于或等于 1的正整数;
待编码序列生成单元, 用于接收来自子序列生成单元的子序列信息, 提 取各子序列中的系数, 对提取出来的系数进行交织处理, 生成能够利用包含 待编码序列信息传送给输出单元;
输出单元, 用于接收来自待编码序列生成单元的所述待编码序列信息, 将该信息输出;
熵编码单元, 用于接收来自输出单元的所述待编码序列信息, 利用包含 其中, X和 y是大于或等于 2的正整数, 且所述变换系数块所含系数个数 Y x2y大于或等于 N个子变换系数块所含系数个数之和。
一种与兼容不同大小块变换的编码相对应的解码方法,对编码结果按 照与所述编码相逆的过程进行解码处理, 包括:
对编码结果进行熵解码处理, 得到待解码序列;
对所述待解码序列进行反交织处理, 得到 N个子序列;
对所述 N个子序列分别进行反扫描处理, 得到 N个子变换系数块。 一种与兼容不同大小块变换的编码器相对应的解码器, 包括: 熵解码 单元、 反交织处理单元、 反扫描处理单元; 其中,
熵解码单元, 对编码结果进行熵解码处理, 得到待解码序列, 将所 述待解码系列的信息传送给反交织处理单元;
反交织处理单元, 用于接收来自熵解码单元的待解码序列的信息, 对所述待解码序列进行反交织处理, 得到 N个子序列, 将该 N个子序列的 信息传送给反扫描单元;
反扫描处理单元, 用于接收来自反交织处理单元的 N个子序列的信 息, 对所述 N个子序列分别进行反扫描处理, 得到 N个子变换系数块。
综上所述, 本发明实施例提供的兼容不同大小块变换的编解码方案, 通过将多个小尺寸的子变换系数块中所提取出的系数进行交织处理, 得出 适用于大尺寸的变换系数块的熵编码方式所能够处理的编码序列, 使适用 于大尺寸的变换系数块的熵编码方式也能够适用于小尺寸的变换系数块, 从而, 使基于不同大小的块编码的编码系统中, 在拥有适用于大尺寸的变 换系数块的熵编码方式的情况下, 能够不需要重新设计适用于小尺寸的变 换系数块的熵编码方式, 因此, 能够减少编码的设计成本, 降低设计复杂 度。
附图说明
图 1是现有的混合编码框架示意图;
图 2a是公知的一个 8 x 8块的之字扫描方式示意图;
图 2b是公知的一个 8 X 8块的场扫描方式示意图;
图 3是本发明实施例中兼容不同大小块变换的编码方法的流程图; 图 4是本发明实施例中生成待编码序列的方法流程图;
图 5是本发明实施例中生成待编码序列的装置的结构示意图; 图 6是图 5中待编码序列生成单元的结构示意图;
图 7是本发明实施例中兼容不同大小块变换的编码器的结构示意图; 图 8是本发明实施例一中 4个 4 x 4的子变换系数块的组合示意图; 图 9a是公知的一个 4 x 4块的之字扫描方式示意图;
图 9b是公知的一个 4 x 4块的场扫描方式示意图;
图 10是本发明实施例一中对四个 4 x 4的子变换系数块进行编码的流 程图;
图 11是本发明实施例二中以一个 4 x 4的子变换系数块为单位的 16个 子变换系数块的排列示意图;
图 12是本发明实施例二中 16个 4 x 4的子变换系数块的编码组合方案 示意图;
图 13是本发明实施例三中 16个 4 x 4的子变换系数块的编码组合方案 示意图;
图 14是本发明实施例四中不同尺寸的子变换系数块的组合示意图; 图 15是本发明实施例四中得出图 16所示组合的待编码序列的流程图; 图 16本发明实施例五中两个 8 x 4的子变换系数块的组合示意图; 图 17是本发明实施例五中得出图 18所示组合的待编码序列的流程图; 图 18 是本发明实施例中与兼容不同大小块变换的编码相对应的解码 方法的流程图;
图 19 是本发明实施例中与兼容不同大小块变换的编码器相对应的解 码器的结构示意图。
具体实施方式
下面将结合附图对本发明实施例的技术方案作进一步详细描述。
本发明实施例提供了可对小尺寸的变换系数块釆用大尺寸的变换系数 块所适用的熵编码方式进行编码的技术方案。
本发明实施例首先提供一种兼容不同大小块变换的编码方法。 参见图 3, 图 3是该方法的流程图。 该流程可包括以下步骤:
步骤 301、 对根据视频图像数据得到的 N个子变换系数块中的每个子 变换系数块进行扫描, 生成由该子变换系数块中的系数组成的子序列; 其中, N是大于或等于 2的正整数, 且所述 N个子变换系数块中的第 i个子变换系数块包含 2"' x2m '个系数, i=1, 2, ...... , N, 和 ^是大于或 等于 1的正整数。
步骤 302、 提取各子序列中的系数, 对提取出来的系数进行交织处理, 生成待编码序列。
步骤 303、 利用包含 2χΧ2 个系数的变换系数块所适用的熵编码方式 对所述待编码序列进行编码;
其中, ^和 是大于或等于 2的正整数, 且所述变换系数块所含系数个 数 2xx2 大于或等于 N 个子变换系数块所含系数个数之和, 即:
N
2xx2y >^2nix2mi
i=l 。
上述包含 2X x 2 个系数的变换系数块相对于包含 2"' X 2m'个系数的变 换系数块而言, 前者可以是大尺寸的块, 后者可以是小尺寸的块。 如前者 是 8x8 大小的块, 则后者的大小可为: 4x4、 2x2、 4x8、 8x4等等; 如前者是 16 x 8大小的块, 则后者的大小可为: 8 χ 16、 8 x 8、 4 x 8、 4 x 4、 2 x 2等等。
参见图 4 , 图 4是本发明实施例中生成待编码序列的方法流程图, 该 流程可包括以下步骤:
步骤 401、 对根据视频图像数据得到的 N个子变换系数块中的每个子 变换系数块进行扫描, 生成由该子变换系数块中的系数组成的子序列; 其中, N是大于或等于 2的正整数, 且所述 N个子变换系数块中的第 i个子变换系数块包含 2"' x2m '个系数, i=1 , 2, ...... , N, 和 ^是大于或 等于 1的正整数。
步骤 402、 提取各子序列中的系数, 对提取出来的系数进行交织处理, 生成能够利用包含 2X X 2 个系数的变换块所适用的熵编码方式进行编码的 待编码序列;
其中, ^和 是大于或等于 2的正整数, 且所述变换系数块所含系数个 数 2χ χ2 大于 Ν个子变换系数块所含系数个数之和。
所需要说明的是, 本发明实施例中, 变换系数块或子变换系数块可能 是经过量化处理的, 也可能未经过量化处理。
参见图 5 , 图 5是本发明实施例中生成待编码序列的装置的结构示意 图。 该装置可包括: 子序列生成单元、 待编码序列生成单元、 输出单元; 其中,
子序列生成单元, 用于对根据视频图像数据得到的 Ν个子变换系数块 中的每个子变换系数块进行扫描, 生成由该子变换系数块中的系数组成的 子序列, 将所生成的子序列信息传送给待编码序列生成单元; 其中, Ν是 大于或等于 2的正整数, 且第 i个变换系数块包含 2"' x2m '个系数, i=1 ,
2 , ...... , N, "'和 w '是大于或等于 1的正整数;
待编码序列生成单元, 用于接收来自子序列生成单元的子序列信息, 提取各子序列中的系数, 对提取出来的系数进行交织处理, 生成能够利用
将所述待编码序列信息传送给输出单元; 将该信息输出;
其中, ^和 是大于或等于 2的正整数, 且所述变换系数块所含系数个 数 2χ χ2 大于 Ν个子变换系数块所含系数个数之和。
参见图 6 , 图 6是图 5 中待编码序列生成单元的结构示意图。 待编码 序列生成单元可包括: 系数提取模块、 交织处理模块、 待编码序列生成模 块; 其中,
系数提取模块, 用于从各子序列中提取出需要进行交织处理的系数, 将所提取的系数信息传送给交织处理单元;
交织处理单元, 用于接收来自系数提取模块的系数信息将各个系数排 列成一个序列, 且保持原属于各个子序列中的系数在所述序列中的排列顺 序, 与在原子序列中的排列顺序相同, 将该序列信息传送给待编码序列生 成模块;
待编码序列生成模块, 用于接收来自交织处理单元的所述序列信息, 将所述序列作为待编码序列; 或者对所述序列进行变换处理后, 得到所述 待编码序列。
参见图 7 , 图 7是本发明实施例中兼容不同大小块变换的编码器的结 构示意图, 可包括: 用于生成待进行熵编码的待编码序列的装置、 熵编码 单元和发送单元;
用于生成待进行熵编码的待编码序列的装置可包括上述图 5及图 6所 示单元或模块;
熵编码单元, 用于接收来自输出单元的所述待编码序列信息, 利用包 码, 将编码结果信息传送给发送单元;
发送单元, 用于接收来自熵编码单元的编码结果信息, 将该信息发送 出去;
其中, ^和 是大于或等于 2的正整数, 且所述变换系数块所含系数个 数 2χ χ2 大于 Ν个子变换系数块所含系数个数之和。
下面给出本发明实施例提供的上述技术方案的具体实施例。
实施例一:
本实施例一中,设需要釆用大小为 8 x 8的变换系数块所适用的熵编码 方式对四个 4 X 4的子变换系数块进行编码。
本实施例一中, 设可用 SBi表示该四个子变换系数块中的一个, i可取 1、 2、 3或 4。 参见图 8、 图 9a和图 9b , 其中, 图 8是 4个 4 x 4的子变换 系数块的组合示意图;图 9a是公知的一个 4 x 4块的之字扫描方式示意图; 图 9b是公知的一个 4 x 4块的场扫描方式示意图。 通常, 一个二维的变换 系数块中, 低频高幅的系数会排在块的左上角, 通过扫描, 可将二维的变 换系数块得到一个一维序列, 并且, 该一维序列中系数从左至右的排列规 则通常是按幅值递减的方式排列, 序列中系数按照该方式排列, 可提高后 续熵编码效率。 由于系数幅值是统计得出的, 因此, 也并不排除其中可能 出现幅值较小的系数, 排列在幅值较大的系数之前的情形, 但总的来说, 一维序列排序的整体趋势是按系数所对应的频率从低到高的排列趋势排列 的。 并且, 序列中, 通常开始部分的一些系数幅值非零, 之后多数系数幅 值为零。
参见图 10, 图 10是本发明实施例一中对四个 4 x 4的子变换系数块进 行编码的流程图, 该流程包括以下步骤:
步骤 1001、 对四个子变换系数块 SBi按照图 9a扫描方式分别进行扫 描, 得到四个子序列 Si, 每个子序列都包含 16个系数, 即, SI : aO, al, a2, ... , al5;
S2: bO, bl,b2, ... ,bl5;
S3: cO, cl, c2, ... , cl5;
S4: dO, dl, d2, ... , dl5。
本实施例中,所釆用的扫描方式也可釆用图 9b的扫描方式或适用于熵 编码方式的其他扫描方式。
步骤 1002、 查看各子序列中的系数, 如果 S1至 S4子序列中的系数全 部为零, 则执行步骤 1003; 否则, 执行步骤 1004。
步骤 1003、 可得到表示上述四个子序列中的全部系数均为零的编码结 果, 且可设置标记标示该编码结果, 结束本次编码流程。
本实施例中, 可设置变量 cbp, 根据该变量值, 可判断是否需要继续 编码流程, 如设定若四个子序列中的全部系数均为零, 则 cbp=0; 否则, cbp=l; 即若 cbp=0, 则可结束本次编码流程, 将 cbp=0写入编码结果, 若 cbp=l, 则需要继续执行后续步骤。
步骤 1004、 将四个子序列中, 系数不全部为零的子序列中的系数提取 出来, 执行后续步骤, 并可将系数全部为零的子序列删去。
本实施例中, 也可设置变量来标示各个子序列是否为零的情况。 如设 置 cbpSi, 若 cbpSi=0, 则可标示该子序列 Si的系数全部为零, 可将该 Si 序列删除; 若 cbpSi=l, 则可表示该子序列需要进行编码处理。 且, 也可 将该变量 cbpSi的值写入编码结果。
步骤 1005、 对提取出来的系数进行交织处理, 以得到由这些子序列中 的系数组成的可不超过 64个系数的序列。
本实施例中, 若四个子序列中均存在不为零的系数, 则交织处理后所 得到的序列可为:
a0 b0 c0 d0 al bl cl dl a2 b2 c2 d2 ... al5 bl5 cl5 dl5
( 1 ) ; 交织处理的做法可以是将各个系数排列成一个序列, 且保持原属于各 个子序列中的系数在所述序列中的排列顺序, 与在原子序列中的排列顺序 相同, 为进一步提高后续熵编码效率, 序列中系数所对应的频率可呈现从 低到高的排列趋势。 如上述序列 ( 1 ) 中, 系数 a0, al, a2, ... , al5的排列 顺序与 SI中的相同, 系数 b0,bl,b2, ... ,bl5的排列顺序与 S2中的相同, 类似可看出原 S3和 S4中的系数在码序列 (1 ) 中的排列顺序与在各自所 属的原子序列中的排列顺序相同。 并且, 本实施例中, 交织处理后得到的 序列也可以是:
a0 b0 dOcO al cl bl dl b2 a2 c2 d2...cl5al5 bl5 dl5 (2) ; 其他可能的情况不再列举。
步骤 1006、 可对 a0、 b0、 c0、 d0做 2 χ 2的哈达码( Hadamard )变换, 序列 ( 1 )被变换为序列 (3 ) :
a0, b0' c0' d0' al bl cl dl a2 b2 c2 d2... al5 bl5 cl5 dl5 ( 3 ) ; 实际应用中, 可将序列 ( 1 )作为待编码序列, 在后续直接对该待编码 序列进行编码。 在本实施例中, 为进一步提高后续熵编码效率, 还需要对 序列 ( 1 ) 进行变换处理, 变换处理后所得到的序列 (3 ) 将作为待编码序 列。 本实施例中, 对序列 ( 1 ) 釆用哈达码 (Hadamard) 变换, Hadamard 变换的作用在于是系数幅值所体现的能量进一步集中由 a0, 来体现, 经过 该变换后, 序列 (3 ) 中, 可能从 b0, 开始, 系数就已经接近于零。 从而, 后续对序列 (3)进行熵编码时, 可只对 a0, 进行编码, 得出对应的码字。 若对序列 ( 1 ) 或 (2) 进行了 Hadamard 变换, 那么可在编码结果中写入 釆用了该变换的标记。
步骤 1007、 对序列 (3 )使用适用于 8x8变换系数块的熵编码方式进 行编码, 本次编码流程结束。
另外, 本发明实施例中, 步骤 1005也在步骤 1002之前执行, 若在步 骤 1002之前执行, 则序列 ( 1 ) 中包含 64个系数。 步骤 1002至步骤 1004 的技术方案是为进一步提高编码效率而给出的, 实际应用中, 可釆用其他 用以提高编码效率的做法。 另外, 可釆用 cbpS替代 cbpSi, 或者说可将四 个子序列是否需要编码, 或对其中的哪些子序列需要编码等的标示信息映 射到 cbpS, 如 cbpS=0, 则可表示四个子序列中都只有预测直流(DC ) 系 数, 即 a0、 b0、 c0、 dO非零, 其他系数均为零; 若 cbpS=l , 可表示需要 对四个子序列进行编码; 若 cbpS=2, 可表示需要对子序列 S1和 S2进行编 码, 等等, 不再列举。
上述对小尺寸的子变换系数块釆用适用于大尺寸的变换系数块的熵编 码方式进行编码的实施例一中, 所选小尺寸的子变换系数块的组合是 4个 4 x 4的块, 大尺寸变换系数块是 8 x 8的块, 且 4个 4 x 4的块恰好可组合 成一个 8 x 8的块。 而实际上, 本发明实施例提供的编码方案是一种兼容方 案, 即只要大尺寸的变换系数块的系数个数 2X X 2 大于参与组合的 N个小 尺寸的子变换系数块的系数个数之和, 则均可对组合得出的 N个小尺寸的 子变换系数块用适用于大尺寸的变换系数块的熵编码方式进行编码, N个 小尺寸的子变换系数块的大小也未必需要相同。 因为, 从实施例一可知, 要使用大尺寸的变换系数块所适用的熵编码方式对小尺寸的子变换系数块 进行编码, 只要能够满足各个小尺寸的子变换系数块所含系数在经过交织 所得到的待编码序列中所含系数个数, 不超过大尺寸的变换系数块所含系 数个数即可, 当然, 该处所说的经过交织所得到的待编码序列中所含系数 个数包含在交织前后可能被删除的为零的系数个数。
另外, 上述实施例一中, 除需要将熵编码结果写入编码结果, 还可将 上述子变换系数块的组合信息、 扫描方式的信息、 cbp的信息、 cbpSi的信 息、 关于如何交织的信息、 釆用了 Hadamard 变换的标识信息等编码过程 的特征信息写入编码结果, 供解码端在解码时, 依照与编码端相逆的过程 进行解码。 其中, 关于如何交织的信息可以是, 如何按本发明实施例中默 认的交织方式, 即交织后得到的序列为序列 ( 1 ) , 则可不需要传送相关信 息的标识, 在解码端默认该交织方式, 如果交织方式是非默认的, 如交织 后得到的序列是序列( 2 ) ,则将非默认的交织方式标识信息写入编码结果, 传送给解码端。
实施例二:
本实施例二中,釆用适用于大小为 8 x 8的变换系数块的熵编码方式对 16个 4 X 4的子变换系数块进行编码。
参见图 11, 图 11是以一个 4 x 4的子变换系数块为单位的 16个子变 换系数块的排列示意图。 参见图 12, 图 12是本实施例二中 16个 4 x 4的 子变换系数块的编码组合方案示意图。 如图 12所示, 本实施例二中, 仍对 4个 4 x 4的子变换系数块作一个组合, 如, 将图 11所示的 0〜3四个子变 换系数块作为一个组合, 将 4〜7四个子变换系数块作为一个组合, 将 8〜11 四个子变换系数块作为一个组合, 以及将 12〜15四个子变换系数块作为一 个组合。 基于上述实施例一的编码流程, 对本实施例中的上述 4个组合分 别釆用 8 x 8块所适用的熵编码方式进行编码。对每四个子变换系数块进行 编码时的扫描顺序如图 12所示, 如对 0〜3四个子变换系数块进行编码时, 先扫描子变换系数块 0, 得出对应的子序列; 再扫描子变换系数块 1, 得出 对应的子序列; 然后扫描子变换系数块 2, 得出对应的子序列; 最后扫描 子变换系数块 3, 得出对应的子序列; 之后从各子序列中提取系数, 对提 取的系数进行交织处理, 后续处理流程可参见实施例一, 不再赘述。
另外, 可在编码结果中写入有关本次编码中各个子变换系数块的组合 信息, 如该组合由 4个 4 X 4的子变换系数块组成, 这样的组合共有四个, 共有 16个子变换系数块, 按图 11所示排列方式排列。
实施例三:
本实施例三中, 釆用适用于大小为 8 x 8变换系数块的熵编码对 16个 4 4的子变换系数块进行编码。 该 16个子变换系数块的排列情况也可参 见图 11。 参见图 13, 图 13是本实施例三中 16个 4 x 4的子变换系数块的 编码组合方案示意图。 本实施例三中, 可将子变换系数块 0、 4、 8、 12作 为一个组合, 即该组合包含四个 4 X 4的子变换系数块,基于实施例一的编 码流程, 对该四个子变换系数块进行编码, 其中, 扫描顺序如图 13所示, 依次扫描子变换系数块 0、 5、 8和 12。
对于其余的 1、 4、 2、 3、 6、 7、 9、 13、 10、 11、 14、 15子变换系数 块, 可继续形成 4个组合: 1、 2、 3组合; 5、 6、 7组合; 9、 10、 11组合; 13、 14、 15组合。 如对 1、 2、 3组合进行编码时, 按如图 13所示扫描顺 序,先扫描子变换系数块 1 ,得到对应的子序列;然后扫描子变换系数块 2, 得出对应的子序列; 最后扫描子变换系数块 3 , 得出对应的子序列; 将得 出的三个子序列进行交织处理, 交织处理的做法仍然是: 保持原属于各个 子序列中的系数在所述序列中的排列顺序, 与在原子序列中的排列顺序相 同。
其余三个组合形成各自待编码序列的过程可类推, 不再赘述。
本实施例中, 参与组合的多个子变换系数块未必需要是连续的或紧挨 的, 可根据需要选择间隔较远的子变换系数块。 本实施例中, 也可将组合 相关信息写入编码结果, 写入方式可釆用映射写入或变量幅值。
实施例四:
本实施例四中,釆用适用于大小为 8 x 8的变换系数块的熵编码方式对 不同尺寸的子变换系数块进行编码。 参见图 14, 图 14是本实施例四中不 同尺寸的子变换系数块的组合示意图。 该组合包括: 4个 2 x 2的子变换系 数块, 3个 4 x 4的子变换系数块。 现对如何得到该组合的待编码序列作说 明。 参见图 15 , 图 15是本实施例四中得出图 14所示组合的待编码序列的 流程图, 该流程可包括以下步骤:
步骤 1501、 依次扫描 4个 2 x 2的子变换系数块, 得出对应的 4个子 序列 Ai, i可取 1、 2、 3、 4。 其中,
A1: aaO, aal , aa2 , aa3 ; A2: ab0、 abl、 ab2、 ab3;
A3: ac0、 acl、 ac2、 ac3;
A4: ad0、 adl、 ad2、 ad3。
步骤 1502、 从 4个子序列中提取系数, 对提出的系数进行交织处理, 得出一个所含系数不超过 16的 S1序列。
S1: aa0、 ab0、 ac0、 ad0、 aal、 abl、 acl、 adl ... aa3、 ab3、 ac3、 ad3。 该步骤中, 交织处理的做法与实施例一类似。
步骤 1503、 对其余 3个 4x4的子变换系数块依次进行扫描处理, 得 出三个子序列: S2、 S3、 S4。
S2: b0, bl, b2, ... , bl5;
S3: cO, cl, c2, ... , cl5;
S4: dO, dl, d2, ... , dl5。
步骤 1504、 对 SI至 S4四个子序列进行交织处理, 得出待编码序列: aa0、 b0、 c0、 d0、 ab0、 bl、 cl、 dl ad3、 bl5、 cl5、 dl5。 该步骤中, 交织处理的做法与实施例一类似。
本实施例中,上述步骤 1502与步骤 1503的执行顺序不需要严格遵守, 也就是说, 由于组合中存在多个子变换系数块, 因此对该多个子变换系数 块所进行的扫描, 以及系数交织等处理顺序, 可根据实际情况来进行, 相 应地, 上述步骤 301与 302的执行次序, 或步骤 401与 402的执行次序只 是针对于最终所要得到的待编码序列而言的, 即交织处理是对从各子序列 中提取的系数进行的, 而具体实施时, 可能存在如该实施例四中的需要对 不同尺寸的子变换系数块进行编码的情况, 因此相应地, 可釆取类似于本 实施例四的处理。
至此, 得到待编码序列, 之后对该待编码序列, 用适用于 8x 8的变换 系数块的熵编码方式对该待编码序列进行编码。
实施例五: 本实施例五中,釆用适用于大小为 8x8的变换系数块的熵编码方式对 两个 8x4的子变换系数块进行编码。 参见图 16, 图 16本实施例五中两个 8x4的子变换系数块的组合示意图。 参见图 17, 图 17是本实施例五中得 出图 18所示组合的待编码序列的流程图, 该流程可包括以下步骤:
步骤 1701、 釆用如图 16所示类似于之字的扫描方式, 依次对两个 8 X 4的子变换系数块进行扫描, 得出对应的两个子序列 S1和 S2。 其中,
SI: a0、 b0、 al、 bl、 a2、 b2 al5、 bl5;
S2: c0、 d0、 cl、 dl、 c2、 d2 cl5、 dl5。
也可釆用类似于场扫描的扫描或其他扫描方式, 且通常扫描到的序列 中, 排在之前的系数幅值所体现的能量较大。
步骤 1702、 对从 S1和 S2中提取的系数进行交织处理, 得出该组合的 待编码序列:
a0、 b0、 c0、 d0、 al、 bl、 cl、 dl al5、 bl5、 cl5、 dl5。
该步骤中, 交织处理的做法与实施例一类似。
至此, 得到图 16所示组合的待编码序列, 之后对该待编码序列, 用适 用于 8x8的变换系数块的熵编码方式对该待编码序列进行编码。
本发明实施例还提供一种与兼容不同大小块变换的编码相对应的解码 方法, 对编码结果按照与所述编码相逆的过程进行解码处理, 即该解码过 程与编码过程相对应, 且是编码过程的逆过程。 参见图 18, 图 18是该解 码方法的流程图, 该流程可包括以下步骤:
步骤 1801、 对编码结果进行熵解码处理, 得到待解码序列。
该待解码序列对应的上述待编码序列相同。
步骤 1802、 对所述待解码序列进行反交织处理, 得到 N个子序列。 反交织处理的作用是将待解码序列重新还原成多个子序列。
步骤 1803、对所述 N个子序列分别进行反扫描处理,得到 N个子变换 系数块。 反扫描的作用是将各个序列中的系数重新还原到二维块中相应位置。 本发明实施例还提供一种与兼容不同大小块变换的编码器相对应的解 码器。 参见图 19, 图 19是该解码器的结构示意图。 该解码器可包括: 熵 解码单元、 反交织处理单元、 反扫描处理单元; 其中,
熵解码单元, 对编码结果进行熵解码处理, 得到待解码序列, 将所述 待解码系列的信息传送给反交织处理单元; 该待解码序列对应的上述带编 码序列相同;
反交织处理单元, 用于接收来自熵解码单元的待解码序列的信息, 对 所述待解码序列进行反交织处理, 得到 N个子序列, 将该 N个子序列的信 息传送给反扫描单元;
反扫描处理单元,用于接收来自反交织处理单元的 N个子序列的信息, 对所述 N个子序列分别进行反扫描处理, 得到 N个子变换系数块。
以对上述实施例一的编码进行解码, 说明本发明实施例中解码过程的 实现。 解码器对所接收到的编码结果进行解码, 如:
在编码结果中解码出子变换系数块的组合信息, 获知待解码序列所对 应的块的尺寸等信息;
在编码结果中解码 cbp的信息,如果 cbp为 0,后续就不存在更多关于 本次编码的信息; 如果 cbp为 1 , 继续解码;
解码出 CbpSi ( i=l,2,3,4 ) 的信息, 获知待解码序列对应哪些 Si;
解码出釆用 Hadamard变换标识,对待解码序列进行 Hadamard逆变换, 得到逆变换后的待解码序列;
未解码出交织方式标识, 因此对变换后的待解码序列按默认交织方式 进行反交织处理, 得到多个子序列;
解码出扫描方式的信息, 对各个子序列进行反扫描处理, 将各系数重 新归位到属原二维的子变换系数块的相应位置, 对子变换系数块的解码就 结束了。 综上所述, 本发明实施例提供的兼容不同大小块变换的编解码方案, 通过将多个小尺寸的子变换系数块中所提取出的系数进行交织处理, 得出 适用于大尺寸的变换系数块的熵编码方式所能够处理的编码序列, 使适用 于大尺寸的变换系数块的熵编码方式也能够适用于小尺寸的变换系数块, 从而,使基于不同大小的块编码的编码系统中,如一个引入 ABT技术的编 码系统, 在拥有适用于大尺寸的变换系数块的熵编码方式的情况下, 能够 不需要重新设计适用于小尺寸的变换系数块的熵编码方式, 因此, 能够减 少编码的设计成本, 降低设计复杂度。
并且, 本发明实施例中, 由于可对多个子变换系数块同时编码, 因此 进一步减少块间相关性, 提高编码性能。 另外, 本发明实施例中, 可对多 个子变换系数块同时编码, 相比于一个一个地对子变换系数块进行编码的 情况, 减少读取编码的块结束(EoB ) 标记的次数, 有效提高编码效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步 骤, 是可以通过程序指令相关硬件完成的。 实施例对应的软件可以存储在一 个计算机可存储读取的介质中, 如 R0M/RAM、 磁碟、 光盘等。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护 范围应该以权利要求的保护范围为准。

Claims

权利 要 求 书
1、 一种兼容不同大小块变换的编码方法, 其特征在于, 包括: 对根据视频图像数据得到的 N个子变换系数块中的每个子变换系数块进 行扫描, 生成由该子变换系数块中的系数组成的子序列;
其中, N是大于或等于 2的正整数, 且所述 N个子变换系数块中的第 个 子变换系数块包含 2"' x2m '个系数, =1 , 2, ......, N, «,.和^是大于或等于 1 的正整数;
提取各子序列中的系数, 对提取出来的系数进行交织处理, 生成待编码序 列; 进行编码;
其中, X和 y是大于或等于 2 的正整数, 且所述变换系数块所含系数个数
Y x2y大于或等于 N个子变换系数块所含系数个数之和。
2、根据权利要求 1所述的兼容不同大小块变换的编码方法,其特征在于, 对提取出来的系数进行交织处理的步骤包括:
将各个系数排列成一个序列, 且保持原属于各个子序列中的系数在所述序 列中的排列顺序, 与在原子序列中的排列顺序相同。
3、根据权利要求 2所述的兼容不同大小块变换的编码方法,其特征在于, 将各个系数排列成一个序列的步骤包括: 按系数所对应的频率从低到高的排列 趋势, 排列各系数。
4、 根据权利要求 1、 2或 3所述的兼容不同大小块变换的编码方法, 其 特征在于, 生成所述待编码序列的步骤包括:
将各个系数排列成的所述一个序列作为所述待编码序列; 或者,
对所述一个序列进行变换处理, 得到待编码序列。
5、根据权利要求 4所述的兼容不同大小块变换的编码方法,其特征在于, 所述变换处理包括: 哈达码 Hadamard变换。
6、 根据权利要求 1、 2或 3所述的兼容不同大小块变换的编码方法, 其 特征在于, 提取各子序列中的系数的步骤包括:
若子序列中的系数不全部为零, 则将该子序列中的系数提取出来。
7、 根据权利要求 1、 2或 3所述的兼容不同大小块变换的编码方法, 其 特征在于, x = 3 , 且 y = 3。
8、 根据权利要求 1、 2或 3所述的兼容不同大小块变换的编码方法, 其 特征在于, 所述系数是经过量化的量化系数。
9、 一种生成待编码序列的方法, 其特征在于, 包括:
对根据视频图像数据得到的 N个子变换系数块中的每个子变换系数块进 行扫描, 生成由该子变换系数块中的系数组成的子序列;
其中, N是大于或等于 2的正整数, 且所述 N个子变换系数块中的第 个 子变换系数块包含 2"' x2m '个系数, =1 , 2, ......, N, «,.和^是大于或等于 1 的正整数;
提取各子序列中的系数, 对提取出来的系数进行交织处理, 生成能够利用 其中, X和 y是大于或等于 2 的正整数, 且所述变换系数块所含系数个数
Y x2y大于或等于 N个子变换系数块所含系数个数之和。
10、 一种生成待编码序列的装置, 其特征在于, 包括:
子序列生成单元、 待编码序列生成单元、 输出单元; 其中,
子序列生成单元, 用于对根据视频图像数据得到的 N个子变换系数块中的 每个子变换系数块进行扫描, 生成由该子变换系数块中的系数组成的子序列, 将所生成的子序列信息传送给待编码序列生成单元; 其中, N是大于或等于 2 的正整数, 且第 个变换系数块包含 2"' x2m '个系数, =l , 2, ......, N, 和 m; 是大于或等于 1的正整数; 待编码序列生成单元, 用于接收来自子序列生成单元的子序列信息, 提取 各子序列中的系数,对提取出来的系数进行交织处理,生成能够利用包含 2x x2^ 列信息传送给输出单元; 该信息输出;
其中, X和 J是大于或等于 2 的正整数, 且所述变换系数块所含系数个数 2X x2y大于或等于 N个子变换系数块所含系数个数之和。
11、 根据权利要求 10所述的待编码序列的装置, 其特征在于, 待编码序列 生成单元包括:
系数提取模块、 交织处理模块、 待编码序列生成模块; 其中,
系数提取模块, 用于从各子序列中提取出需要进行交织处理的系数, 将所 提取的系数信息传送给交织处理单元;
交织处理单元, 用于接收来自系数提取模块的系数信息, 将各个系数排列 成一个序列, 且保持原属于各个子序列中的系数在所述序列中的排列顺序, 与 在原子序列中的排列顺序相同, 将该序列信息传送给待编码序列生成模块; 待编码序列生成模块, 用于接收来自交织处理单元的所述序列信息, 将所 述序列作为待编码序列; 或者对所述序列进行变换处理后, 得到所述待编码序 列。
12、 一种兼容不同大小块变换的编码器, 其特征在于, 包括: 用于生成待 进行熵编码的待编码序列的装置和熵编码单元;
所述用于生成待进行熵编码的待编码序列的装置包括: 子序列生成单元、 待编码序列生成单元; 其中,
子序列生成单元, 用于对根据视频图像数据得到的 N个子变换系数块中的 每个子变换系数块进行扫描, 生成由该子变换系数块中的系数组成的子序列, 将所生成的子序列信息传送给待编码序列生成单元; 其中, N是大于或等于 2 的正整数, 且第 个变换系数块包含 2"' x2m '个系数, i=l , 2, ...... , N, 和 ,. 是大于或等于 1的正整数;
待编码序列生成单元, 用于接收来自子序列生成单元的子序列信息, 提取 各子序列中的系数,对提取出来的系数进行交织处理,生成能够利用包含 2x x2^ 列信息传送给输出单元; 该信息输出;
熵编码单元, 用于接收来自输出单元的所述待编码序列信息, 利用包含 其中, X和 是大于或等于 2 的正整数, 且所述变换系数块所含系数个数 Y x2y大于或等于 N个子变换系数块所含系数个数之和。
13、 一种与兼容不同大小块变换的编码相对应的解码方法, 对编码结果 按照与所述编码相逆的过程进行解码处理, 其特征在于, 包括:
对编码结果进行熵解码处理, 得到待解码序列;
对所述待解码序列进行反交织处理, 得到 N个子序列;
对所述 N个子序列分别进行反扫描处理, 得到 N个子变换系数块。
14、一种与兼容不同大小块变换的编码器相对应的解码器,其特征在于, 包括: 熵解码单元、 反交织处理单元、 反扫描处理单元; 其中,
熵解码单元, 对编码结果进行熵解码处理, 得到待解码序列, 将所述 待解码系列的信息传送给反交织处理单元;
反交织处理单元, 用于接收来自熵解码单元的待解码序列的信息, 对 所述待解码序列进行反交织处理,得到 N个子序列, 将该 N个子序列的信息 传送给反扫描单元;
反扫描处理单元,用于接收来自反交织处理单元的 N个子序列的信息, 对所述 N个子序列分别进行反扫描处理, 得到 N个子变换系数块。
PCT/CN2008/071233 2007-06-10 2008-06-06 Coding and decoding method, coder and decoder, and method and device for generating the sequences to be coded WO2008151560A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710111685.7 2007-06-10
CN 200710111685 CN101321283B (zh) 2007-06-10 2007-06-10 兼容不同大小块变换的编解码方法及编解码器

Publications (1)

Publication Number Publication Date
WO2008151560A1 true WO2008151560A1 (en) 2008-12-18

Family

ID=40129254

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/071233 WO2008151560A1 (en) 2007-06-10 2008-06-06 Coding and decoding method, coder and decoder, and method and device for generating the sequences to be coded

Country Status (2)

Country Link
CN (1) CN101321283B (zh)
WO (1) WO2008151560A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3010233B1 (en) * 2010-07-19 2020-02-19 SK Telecom Co., Ltd. Method and device for subband decoding

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK2559246T3 (en) 2010-04-13 2016-09-19 Ge Video Compression Llc Fusion of sample areas
CN106454376B (zh) 2010-04-13 2019-10-01 Ge视频压缩有限责任公司 解码器、重建数组的方法、编码器、编码方法及数据流
PL3621306T3 (pl) 2010-04-13 2022-04-04 Ge Video Compression, Llc Kodowanie wideo przy wykorzystaniu podpodziałów obrazów multidrzewa
BR122020007923B1 (pt) 2010-04-13 2021-08-03 Ge Video Compression, Llc Predição interplano
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
US9253481B2 (en) * 2012-01-13 2016-02-02 Qualcomm Incorporated Determining contexts for coding transform coefficient data in video coding
WO2015015681A1 (ja) * 2013-07-31 2015-02-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像符号化方法および画像符号化装置
EP3349454A1 (en) * 2017-01-11 2018-07-18 Thomson Licensing Method and device for coding a block of video data, method and device for decoding a block of video data
CN109996074A (zh) * 2017-12-29 2019-07-09 富士通株式会社 图像编码装置,图像解码装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1497503A (zh) * 2002-10-08 2004-05-19 株式会社Ntt都科摩 图象的编码方法及装置、译码方法及装置、编码及译码程序
CN1589017A (zh) * 2004-08-06 2005-03-02 联合信源数字音视频技术(北京)有限公司 一种低复杂度整数4×4离散余弦变换量化装置及其实现方法
CN1689026A (zh) * 2002-10-03 2005-10-26 诺基亚有限公司 用于自适应块变换的基于上下文的自适应可变长度编码
US20060072668A1 (en) * 2004-10-06 2006-04-06 Microsoft Corporation Adaptive vertical macroblock alignment for mixed frame video sequences

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100345449C (zh) * 2005-03-18 2007-10-24 清华大学 图像/视频编码中变换系数的熵编码方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1689026A (zh) * 2002-10-03 2005-10-26 诺基亚有限公司 用于自适应块变换的基于上下文的自适应可变长度编码
CN1497503A (zh) * 2002-10-08 2004-05-19 株式会社Ntt都科摩 图象的编码方法及装置、译码方法及装置、编码及译码程序
CN1589017A (zh) * 2004-08-06 2005-03-02 联合信源数字音视频技术(北京)有限公司 一种低复杂度整数4×4离散余弦变换量化装置及其实现方法
US20060072668A1 (en) * 2004-10-06 2006-04-06 Microsoft Corporation Adaptive vertical macroblock alignment for mixed frame video sequences

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3010233B1 (en) * 2010-07-19 2020-02-19 SK Telecom Co., Ltd. Method and device for subband decoding

Also Published As

Publication number Publication date
CN101321283B (zh) 2010-04-07
CN101321283A (zh) 2008-12-10

Similar Documents

Publication Publication Date Title
WO2008151560A1 (en) Coding and decoding method, coder and decoder, and method and device for generating the sequences to be coded
JP6491691B2 (ja) 改善されたエントロピー符号化および復号を行う方法および装置
RU2686626C1 (ru) Способ и устройство для энтропийного кодирования/декодирования коэффициента преобразования
KR101697153B1 (ko) 수퍼 매크로 블록 기반의 인트라 부호화 방법 및 장치
JP2023040013A (ja) 適応ツリー選択を使用してバイナリ・セットをビデオ符号化およびビデオ復号する方法および装置
AU2006204634B2 (en) Runlength encoding of leading ones and zeros
JP3796217B2 (ja) 静止映像及び動映像を符号化/復号化するための変換係数の最適走査方法
KR101375668B1 (ko) 변환 계수의 부호화, 복호화 방법 및 장치
CN102484703B (zh) 通过使用大型变换单元编码和解码图像的方法和设备
CN103597838B (zh) 对末位有效系数的位置进行编码和解码的方法和设备
TW200930102A (en) Entropy coding of interleaved sub-blocks of a video block
TW200826693A (en) Method and system for video compression using an iterative encoding algorithm
KR101038531B1 (ko) 복호화시 병렬처리가 가능한 영상 부호화 장치 및 방법, 그리고 병렬처리가 가능한 영상 복호화 장치 및 방법
AU2006204632B2 (en) Parallel concatenated code with bypass
JP2009545935A (ja) 符号化及び復号方法、その方法を実行する装置、並びにビットストリーム
EP1841235A1 (en) Video compression by adaptive 2D transformation in spatial and temporal direction
JP3696490B2 (ja) デコーダのビデオメモリ条件を減少させる方法及びビデオデコーダ
CN105791868A (zh) 视频编码的方法和设备
JP2003018595A (ja) 映像符号化装置、映像復号化装置、映像符号化方法、映像復号化方法
US20120147972A1 (en) Image decoding apparatus, image decoding method, image encoding apparatus, image encoding method, and program
JP2002335532A (ja) 画像予測復号化方法及び画像予測符号化装置
JP2004056575A (ja) 動画像符号化装置及び動画像復号装置並びにそれらの方法
KR20030062036A (ko) 영상신호 처리장치 및 방법
JP2008118533A (ja) 復号化器、方法およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08757644

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08757644

Country of ref document: EP

Kind code of ref document: A1