WO2011126152A1 - Super-block for high performance video coding - Google Patents

Super-block for high performance video coding Download PDF

Info

Publication number
WO2011126152A1
WO2011126152A1 PCT/JP2011/059455 JP2011059455W WO2011126152A1 WO 2011126152 A1 WO2011126152 A1 WO 2011126152A1 JP 2011059455 W JP2011059455 W JP 2011059455W WO 2011126152 A1 WO2011126152 A1 WO 2011126152A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
super
macro
decoding information
super block
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.)
Ceased
Application number
PCT/JP2011/059455
Other languages
French (fr)
Inventor
Jie Zhao
Christopher A. Segall
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to CN201180017990.4A priority Critical patent/CN102835107A/en
Priority to JP2013503321A priority patent/JP2013524669A/en
Priority to MX2012011456A priority patent/MX2012011456A/en
Publication of WO2011126152A1 publication Critical patent/WO2011126152A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates generally to a video encoder and/or a video decoder.
  • the present invention relates generally to a video encoder and/or a video decoder.
  • the transmission of video across a network typically includes a video encoder and a video decoder.
  • the encoding of the video includes a lossy compression technique to achieve a lower bit rate for transmission while still providing a perceptually good video quality.
  • digital video discs used a MPEG-2 video compression standard, hereby incorporated by reference in its entirety.
  • Video compression typically operates based upon the grouping of neighboring pixels together, generally referred to as macroblocks.
  • a macroblock, or other group of pixels are compared from one frame to another frame, where the differences between the frames are transmitted.
  • the video compression transmits data indicative of the motion of the macroblock, or other group of pixels, from one frame to another frame together with the differences between the frames.
  • H.264/AVC (formally known as ISO/IEC 14496-10 - PEG-4 Part 10,
  • the H.264 standard is a block based compression standard that typically results in good video quality at substantially lower bit rates than MPEG-2. While the H.264 standard provides a good resu.i there is a desire for ever increasing reduction in the bit rate, especially for high definition content, while not significantly decreasing the perceived image quality.
  • Another preferred embodiment is a method of decoding video comprising: (a)receiving a super block consisting of a plurality of smaller blocks of pixels having shared decoding information with said super block in a bit stream of encoded said video; (b)extracting said shared decoding information from one of said smaller blocks of pixels; (c)applying said shared decoding information to another one of said smaller blocks of pixels of said super block; (d)decoding said one of said smaller blocks based upon said shared decoding information;
  • FIG. 1 illustrates a video encoder
  • FIG. 2 illustrates a video decoder
  • FIG. 3 illustrates block encoding
  • FIG. 4 illustrates mapping of super blocks.
  • FIG. 5A illustrates syntax for slice data processing.
  • FIG. 5B illustrates syntax for slice data processing.
  • FIG. 6A illustrates syntax for macroblock processing.
  • FIG. 6B illustrates syntax for macroblock processing.
  • FIG. 7 illustrates extract, copy, and save for super-blocks.
  • FIG. 8 illustrates a data structure, (a) illustrates a data structure of a super-block and (b) illustrates a data structure of a macro-block.
  • FIG. 9 illustrates an example of syntax for a super-block header
  • the input video 210 is provided to a buffer suitable to reorder frames, or portions thereof, as necessary 220.
  • a combiner 230 modifies a portion of the suitable reordered frame in a manner suitable for a transform and quantization process 240.
  • the transform and quantization process 240 provides a signal to an entropy coder 250.
  • the entropy coder 250 provides a signal to an output buffer 260 for the output bit stream 270.
  • An encoder controller 280 that receives the input video 210 provides control signals to all the modules of the encoder 200.
  • the transform and quantization process 240 also provides its output to an inverse transform and quantization 300 so that the corresponding decoder can be simulated.
  • a picture-type decision process 310 is interconnected with the frame ordering buffer 220.
  • the picture-type decision process 310 is also interconnected to a macro-block-type decision 320. In this manner, control over the frame ordering buffer 220 may be achieved. In addition, control over the type of macro-block may be achieved.
  • the inverse transform and quantization 300 provides a signal to a combiner 330, which in combination with the macro-block type decision 320, provides a signal to an intra coding prediction module 340 and a deblocking filter 350.
  • the deblocking filter 350 is interconnected to a reference picture buffer 360.
  • the reference picture buffer 360 provides a signal to a motion estimation process 370 and a motion compensation process 380.
  • the motion estimation 370 provides a signal to the motion compensation 380 and to the entropy coder 250.
  • a selector 390 selects between the output of the motion compensation 380 and the output of the intra-coded prediction 340 for the combiner 230. In this manner, the combiner 230 receives information related to whether the macro-block is intra coded 340 or motion-compensation coded 380.
  • the decision made by the selector 390 relates to the macro-block type decision 320. For example, if the macro-block type decision 320 decides that the macro-block should be intra-coded, then the selector should select a form of intra-prediction. For example, if the macro-block type decision 320 decides that the macro-block should be motion compensated, then the selector should select a form of motion compensation.
  • the decisions made by the macro-block type decision 320, the picture-type decision 310, the selector 390, and the selection among one or more intra-prediction techniques 340, are all included within the bit-stream by the entropy coding 250.
  • the combiner 330 may receive an input from the selector 390 to provide information about the selection made.
  • An exemplary video decoder 400 for an input bit stream 410 includes an input buffer 420.
  • the input buffer 420 provides a signal to an entropy decoder 430.
  • the entropy decoder 430 provides a signal to an inverse transform and quantization process 440.
  • the inverse transform and quantization process 440 provides a signal to a combiner 450.
  • the combiner 450 provides a signal to a deblocking filter 460 and an intra- prediction module 470.
  • the deblocking filter 460 provides a signal to a reference picture buffer 480.
  • the reference picture buffer 480 provides a signal to a motion compensator 490.
  • the entropy decoder 430 provides a signal to the motion compensation 490 and the deblocking filter 460.
  • the entropy decoder 430 also provides a signal to a decoder controller 500.
  • the decoder controller is interconnected with the other modules of the decoder 400.
  • the motion compensator 490 provides a
  • the intra-prediction module 470 provides a signal to the switch 510.
  • the switch 510 selectively provides a signal to the combiner 450.
  • the deblocking filter 460 provides an output picture 520.
  • different frames, or portions thereof, of video are typically encoded using different techniques.
  • One such technique includes the use of picture types generally referred to as l-frames, P-frames, and B-frames.
  • I- frames do not require other video frames to decode.
  • P-frames may use data from a previously transmitted frame to decode.
  • B-frames may use two or more previously transmitted frames to decode.
  • the encoding of the video may likewise be based upon one or more different sized blocks of pixels from within the frame. Also, the encoding of the video may likewise be based upon motion estimation, slices, spatial prediction of blocks, or otherwise between one or more frames.
  • the decoder 400 decodes the frames of the video based upon the prediction information provided with the bit-stream by the encoder 200.
  • a macro-block refers specifically to a 16x16 block of pixels.
  • the super-block would define a 32x32 block of pixels.
  • the super-block defines a 64x64 block of pixels.
  • the use of common information structure permits effective coding of macro-blocks and super-blocks.
  • macro-blocks are generally considered to be partitions of super-blocks, just as blocks of 4x4 pixels are generally considered to be partitions of macro-blocks.
  • the four macro-blocks within a super-block may have common characteristics (super-block type) and super-block type includes parameters, such as a macro-block type (prediction mode), a transform type, merge flag, weight parameter, reference indices, mode decision, quantization parameter (QP) and motion vectors.
  • the video encoder encodes the common characteristics that are contained within a super-block.
  • the video decoder decodes the common characteristics that are contained within a super-block. Since the video encoder encodes the super-block type for the super-block instead of encoding it for each of the four macro-blocks within the super-block, it is possible to cut a processes to encode same information for each of the four macro-blocks within the single super-block.
  • images may be divided into super-blocks and processed in a N x N macro-block group order.
  • N 2.
  • the intra prediction mode, the motion vectors, the reference indices, and/or the mode decision consistent with macro-blocks may be included with the super-block type.
  • the macro-block within a super-block type may be restricted to have the same macro-block type and/or the same prediction modes as the super-block.
  • macro-block types may include intra-coded 4x4, intra-coded 8x8, intra-coded 16x8, intra-coded 8x16, and/or intra-coded 16x16. That is, prediction modes of the respective macro blocks within the single super block are identical with a prediction mode (macro-block type) encoded for that super block.
  • a prediction mode macro-block type
  • For an inter-coded super-block a partition of 32x32 may be used, two partitions of 32x16 may be used, and/or two partitions of 16x32 may be used.
  • a super-block based skip mode may be used and a super-block based direct mode may be used.
  • a super-block based intra mode may be used and a super-block based merge mode may be used.
  • the super-block based skip mode only a prediction index in a motion vector is encoded and no other information is encoded.
  • the super-block based direct mode only a transform coefficient is encoded.
  • a "super-block flag" may be included within the bit-stream indicating whether a particular group of macro-blocks is a super-block or not.
  • the super-block flag may also be used to control the transform size and which transform (or transforms) should be used. For example, different transform sizes are used based on whether one super- block is further partitioned into macro-blocks or not.
  • Improved coding efficiency using a system that includes super-blocks primarily results from two aspects.
  • the first aspect is that the system is capable of providing improved prediction.
  • the second aspect is that the system has a reduction in the syntax necessary to describe a bit-stream.
  • a significant portion of the super-block system based coding efficiency is the result of a reduction in the syntax signaling.
  • the first function is a flag indicating a super-block and a flag indicating a particular super-block coded block pattern (hereinafter CBP).
  • CBP super-block coded block pattern
  • the second function is the embedding of super-block information into a first macro-block (or a selected macro-block) of a group of corresponding macro- blocks of the super-block.
  • macro-block type and other high level information is sent for each macro-block.
  • the system reduces this signaling overhead by mapping super-block information into a macro-block and only transmitting the macro-block header for the first (or selected) macro-block or transmitting the super block header.
  • the macro-block type, motion vector difference (hereinafter referred to as MVD), and reference indices , merge flag, weight parameter, prediction mode, transform size, quantization parameter (QP) of a super-block are compacted and mapped to a 16x16 macro-block, and transmitted at the start of the first macro-block or header of the super-block.
  • MVD motion vector difference
  • QP quantization parameter
  • arrows represent MVD for that partition.
  • a 32x16 super-block is mapped to a 16x8 macro-block, and the super-block information is sent as a 16x8 macro block.
  • the mapping is reversed and the 16x8 macro- block is converted to a 32x16 super-block for reconstruction.
  • Reference indices and reconstructed motion vectors are filled to corresponding macro-blocks within the super-block.
  • Macro-blocks within a super-block may share additional common
  • macro-block skip characteristics, including macro-block skip, transform size, merge flag, prediction modes, and delta quantization. This common information is also only sent with the first (or selected) macro-block within a super-block (Fig.8 (b)) or header of a super-block (Fig.8 (a)). For the non-first macro-blocks within a super-block, macro-block skip, transform size, delta-quantization, etc., are copied from the other macro-block.
  • FIGS. 5A and 5B Detailed exemplary syntaxes are illustrated in FIGS. 5A and 5B.
  • the syntaxes are based upon the syntaxes of slice data in ITU-T H.264 and MPEG-4 AVC but are modified to process macro-block in a group of macro-blocks order.
  • FIG. 5A and 5B some common syntaxes such as slice data in H.264/AVC are omitted for purposes of clarity.
  • the additional syntax includes slice data semantics.
  • a superblock flag specifies whether this group of macro-blocks is a super- block or not.
  • the superblock_cbp_1 bit specifies whether this super-block has any coefficients. If superblock_cbp_1 bit equals 1 means at least 1 macro-block within the superblock has coefficients. In this case, information indicative of cbp is also given in data stream for the at least 1 macro-block within the super-block. If superblock_cbp_1 bit equals 0 means that none of the macro-blocks within the superblock has coefficients.
  • the superblock_skip_run specifies the number of consecutive skipped super-blocks for which, when decoding a P or SP slice, mb_type of macro-blocks within the super-block may be inferred to be P_Skip and the macro-block type is collectively referred to as P macro-block type, or for which, when decoding a B slice, mb type may be inferred to be B_Skip and the macro-block type is collectively referred to as B macro-block type.
  • the value of superblock skip run may be in the range of 0 to PicSizelnSuperblocks - Curr MbAddr, inclusive.
  • superblock_skip_flag 1 specifies that for the current super- block, when decoding a P or SP slice, mb_type of macro-blocks within the super- block may be inferred to be P Skip and the macro-block type is collectively referred to as P macro-block type, or for which, when decoding a B slice, mb_type may be inferred to be B Skip and the macro-block type is collectively referred to as B macro-block type.
  • superblock skip flag 0 specifies that the current super-block is not skipped.
  • FIG.9 illustrates an example of another syntax.
  • variable superblock size denotes the number of macro-blocks in the super-block. For example, for a 32x32 super-block, the superblock size is 4 except at the picture boundary where it may not be a multiple of 32.
  • extract_and_save_superblock_info and
  • copy_macroblock_info_from_superblock refer to functions to get the super- block syntaxes, save, and fill them into the macro-block .
  • the nextSuperblockAddress () returns the start macro-block address of the next super-block.
  • coded_block_pattern The semantics of a coded_block_pattern may be defined as follows.
  • Coded_block_pattern may specify which of the six 8x8 blocks - luma and chroma - may contain non-zero transform coefficient levels. For macroblocks with prediction mode not equal to Intra_16x16, the coded_block_pattern is included in the bitstream and the variables CodedBlockPatternLuma and
  • CodedBlockPatternChroma may be derived as follows.
  • CodedBlockPatternLuma coded_block_pattern % 16
  • CodedBlockPatternChroma coded_block_pattern / 16
  • the CodedBlockPatternLuma may specify, for each of the four 8x8 luma blocks of the macroblock, one of the following cases. First, that all transform coefficient levels of the four 4x4 luma blocks in the 8x8 luma block are equal to zero. Second, that one or more transform coefficient levels of one or more of the 4x4 luma blocks in the 8x8 luma block are non-zero valued.
  • coded_block_pattern of Macroblock may be set to 0.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A system for encoding and/or decoding video that includes the use of super blocks. The use of super blocks permits a reduction in the bit-rate of the video bit stream.

Description

DESCRIPTION
TITLE OF INVENTION: SUPER-BLOCK FOR HIGH PERFORMANCE VIDEO
CODING
TECHNICAL FIELD
The present invention relates generally to a video encoder and/or a video decoder.
CROSS-REFERENCE TO RELATED APPLICATIONS
Not applicable.
BACKGROUND ART
The present invention relates generally to a video encoder and/or a video decoder.
The transmission of video across a network typically includes a video encoder and a video decoder. The encoding of the video includes a lossy compression technique to achieve a lower bit rate for transmission while still providing a perceptually good video quality. By way of example, digital video discs used a MPEG-2 video compression standard, hereby incorporated by reference in its entirety.
Video compression typically operates based upon the grouping of neighboring pixels together, generally referred to as macroblocks. A macroblock, or other group of pixels, are compared from one frame to another frame, where the differences between the frames are transmitted. In the presence of motion, the video compression transmits data indicative of the motion of the macroblock, or other group of pixels, from one frame to another frame together with the differences between the frames.
H.264/AVC (formally known as ISO/IEC 14496-10 - PEG-4 Part 10,
Advanced Video Coding) video compression standard, hereby incorporated by reference herein in its entirety, is used for many applications, such as Blu-ray discs. The H.264 standard is a block based compression standard that typically results in good video quality at substantially lower bit rates than MPEG-2. While the H.264 standard provides a good resu.i there is a desire for ever increasing reduction in the bit rate, especially for high definition content, while not significantly decreasing the perceived image quality.
SUMMARY OF THE INVENTION
A preferred embodiment is a method for decoding video comprising:
(a)receiving a super block flag indicating a super block consisting of a plurality of smaller blocks of pixels having shared decoding information with said super block; (b)receiving a coded block pattern flag indicating whether said super block has a residual; (c)decoding said super block based upon said super block flag and said coded block pattern flag.
Another preferred embodiment is a method of decoding video comprising: (a)receiving a super block consisting of a plurality of smaller blocks of pixels having shared decoding information with said super block in a bit stream of encoded said video; (b)extracting said shared decoding information from one of said smaller blocks of pixels; (c)applying said shared decoding information to another one of said smaller blocks of pixels of said super block; (d)decoding said one of said smaller blocks based upon said shared decoding information;
(e)decoding said another one of said smaller blocks based upon said shared decoding information.
The foregoing and other objectives, features, and advantages of the invention will be more readily understood upon consideration of the following detailed description of the invention, taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 illustrates a video encoder.
FIG. 2 illustrates a video decoder.
FIG. 3 illustrates block encoding.
FIG. 4 illustrates mapping of super blocks.
FIG. 5A illustrates syntax for slice data processing. FIG. 5B illustrates syntax for slice data processing.
FIG. 6A illustrates syntax for macroblock processing.
FIG. 6B illustrates syntax for macroblock processing.
FIG. 7 illustrates extract, copy, and save for super-blocks.
FIG. 8 illustrates a data structure, (a) illustrates a data structure of a super-block and (b) illustrates a data structure of a macro-block.
FIG. 9 illustrates an example of syntax for a super-block header
DESCRIPTION OF EMBODIMENTS
Referring to FIG. 1 , an exemplary H.264 encoder 200 is described for purposes of illustration. It is to be understood that any video encoder may be used. The input video 210 is provided to a buffer suitable to reorder frames, or portions thereof, as necessary 220. A combiner 230 modifies a portion of the suitable reordered frame in a manner suitable for a transform and quantization process 240. The transform and quantization process 240 provides a signal to an entropy coder 250. The entropy coder 250 provides a signal to an output buffer 260 for the output bit stream 270. An encoder controller 280 that receives the input video 210 provides control signals to all the modules of the encoder 200.
The transform and quantization process 240 also provides its output to an inverse transform and quantization 300 so that the corresponding decoder can be simulated. A picture-type decision process 310 is interconnected with the frame ordering buffer 220. The picture-type decision process 310 is also interconnected to a macro-block-type decision 320. In this manner, control over the frame ordering buffer 220 may be achieved. In addition, control over the type of macro-block may be achieved. The inverse transform and quantization 300 provides a signal to a combiner 330, which in combination with the macro-block type decision 320, provides a signal to an intra coding prediction module 340 and a deblocking filter 350. The deblocking filter 350 is interconnected to a reference picture buffer 360. The reference picture buffer 360 provides a signal to a motion estimation process 370 and a motion compensation process 380. The motion estimation 370 provides a signal to the motion compensation 380 and to the entropy coder 250. A selector 390 selects between the output of the motion compensation 380 and the output of the intra-coded prediction 340 for the combiner 230. In this manner, the combiner 230 receives information related to whether the macro-block is intra coded 340 or motion-compensation coded 380.
The decision made by the selector 390 relates to the macro-block type decision 320. For example, if the macro-block type decision 320 decides that the macro-block should be intra-coded, then the selector should select a form of intra-prediction. For example, if the macro-block type decision 320 decides that the macro-block should be motion compensated, then the selector should select a form of motion compensation. The decisions made by the macro-block type decision 320, the picture-type decision 310, the selector 390, and the selection among one or more intra-prediction techniques 340, are all included within the bit-stream by the entropy coding 250. In addition, the combiner 330 may receive an input from the selector 390 to provide information about the selection made.
Any suitable decoder may be used. An exemplary video decoder 400 for an input bit stream 410 includes an input buffer 420. The input buffer 420 provides a signal to an entropy decoder 430. The entropy decoder 430 provides a signal to an inverse transform and quantization process 440. The inverse transform and quantization process 440 provides a signal to a combiner 450. The combiner 450 provides a signal to a deblocking filter 460 and an intra- prediction module 470. The deblocking filter 460 provides a signal to a reference picture buffer 480. The reference picture buffer 480 provides a signal to a motion compensator 490.
The entropy decoder 430 provides a signal to the motion compensation 490 and the deblocking filter 460. The entropy decoder 430 also provides a signal to a decoder controller 500. The decoder controller is interconnected with the other modules of the decoder 400. The motion compensator 490 provides a
-A- signal to a switch 510. The intra-prediction module 470 provides a signal to the switch 510. The switch 510 selectively provides a signal to the combiner 450. The deblocking filter 460 provides an output picture 520.
Referring to FIG. 3, different frames, or portions thereof, of video are typically encoded using different techniques. One such technique includes the use of picture types generally referred to as l-frames, P-frames, and B-frames. I- frames do not require other video frames to decode. P-frames may use data from a previously transmitted frame to decode. B-frames may use two or more previously transmitted frames to decode. The encoding of the video may likewise be based upon one or more different sized blocks of pixels from within the frame. Also, the encoding of the video may likewise be based upon motion estimation, slices, spatial prediction of blocks, or otherwise between one or more frames. Therefore, in general there is decoder prediction information transmitted with the video bitstream which indicates the type of encoding of the frames, the type of prediction of the frames, the direction(s) of the predictions, which frames are used, motion estimation information between the frames, frame size information, block sizing information within the frame, spatial prediction information, and/or other suitable parameters. Accordingly, the decoder 400 decodes the frames of the video based upon the prediction information provided with the bit-stream by the encoder 200.
Referring to FIG. 4, in existing video coding systems, such as ITU-T H.264 or MPEG-4 AVC, a macro-block (MB) refers specifically to a 16x16 block of pixels. In different video coding systems it is desirable to support the 16x16 macro-block structure of such video coding systems while simultaneously supporting a "super-block" that refers to a group of N x N such 16x16
macroblocks, where N>=2. For the case that N=2, the super-block would define a 32x32 block of pixels. For example, in the case that N=4, the super-block defines a 64x64 block of pixels. The use of common information structure permits effective coding of macro-blocks and super-blocks. In any exemplary implementation macro-blocks are generally considered to be partitions of super-blocks, just as blocks of 4x4 pixels are generally considered to be partitions of macro-blocks. As such, the four macro-blocks within a super-block may have common characteristics (super-block type) and super-block type includes parameters, such as a macro-block type (prediction mode), a transform type, merge flag, weight parameter, reference indices, mode decision, quantization parameter (QP) and motion vectors. The video encoder encodes the common characteristics that are contained within a super-block. The video decoder decodes the common characteristics that are contained within a super-block. Since the video encoder encodes the super-block type for the super-block instead of encoding it for each of the four macro-blocks within the super-block, it is possible to cut a processes to encode same information for each of the four macro-blocks within the single super-block. This can reduce an amount of encoded data. To support the super-block at both the encoder and the decoder, images may be divided into super-blocks and processed in a N x N macro-block group order. The following description discusses a case in which N = 2. The intra prediction mode, the motion vectors, the reference indices, and/or the mode decision consistent with macro-blocks may be included with the super-block type. For intra super-block encoding, the macro-block within a super-block type may be restricted to have the same macro-block type and/or the same prediction modes as the super-block. By way of example, macro-block types may include intra-coded 4x4, intra-coded 8x8, intra-coded 16x8, intra-coded 8x16, and/or intra-coded 16x16. That is, prediction modes of the respective macro blocks within the single super block are identical with a prediction mode (macro-block type) encoded for that super block. For an inter-coded super-block, a partition of 32x32 may be used, two partitions of 32x16 may be used, and/or two partitions of 16x32 may be used. In addition, a super-block based skip mode may be used and a super-block based direct mode may be used. A super-block based intra mode may be used and a super-block based merge mode may be used. In the super-block based skip mode, only a prediction index in a motion vector is encoded and no other information is encoded. In the super-block based direct mode, only a transform coefficient is encoded. In the super-block based merge mode, information of a target super-block is determined among information of neighboring super-blocks. This super-block description is for N=2, while other values of N will have additional and larger partitions. Macro-blocks within the same partition preferably have same motion vectors, prediction modes (macro- block type) and references indices as those of super-block type. A "super-block flag" may be included within the bit-stream indicating whether a particular group of macro-blocks is a super-block or not. That is, information indicating whether or not the super-block is divided into macro-blocks is given at a head of data stream for the super-block or given in data stream for a first one of a group of macro- blocks within the super-block If so, an alternative syntax decoding process may be employed as described below. The super-block flag may also be used to control the transform size and which transform (or transforms) should be used. For example, different transform sizes are used based on whether one super- block is further partitioned into macro-blocks or not.
Improved coding efficiency using a system that includes super-blocks primarily results from two aspects. The first aspect is that the system is capable of providing improved prediction. The second aspect is that the system has a reduction in the syntax necessary to describe a bit-stream. In particular, a significant portion of the super-block system based coding efficiency is the result of a reduction in the syntax signaling.
There are two primary functions that enable the efficient signaling of the super-block. The first function is a flag indicating a super-block and a flag indicating a particular super-block coded block pattern (hereinafter CBP). For each group of macro-blocks, a super-block flag is sent to indicate if the group should be decoded with the alternative, super-block process. If the flag is equal to 1 (or other value), then a super-block CBP flag is additionally sent to indicate whether the super-block has a residual. The second function is the embedding of super-block information into a first macro-block (or a selected macro-block) of a group of corresponding macro- blocks of the super-block. In ITU-T H.264 and MPEG-4 AVC, macro-block type and other high level information is sent for each macro-block. For the super- block, the system reduces this signaling overhead by mapping super-block information into a macro-block and only transmitting the macro-block header for the first (or selected) macro-block or transmitting the super block header. The macro-block type, motion vector difference (hereinafter referred to as MVD), and reference indices , merge flag, weight parameter, prediction mode, transform size, quantization parameter (QP) of a super-block are compacted and mapped to a 16x16 macro-block, and transmitted at the start of the first macro-block or header of the super-block. An exemplary mapping is illustrated in FIG. 4, where the arrows represent MVD for that partition. For example, a 32x16 super-block is mapped to a 16x8 macro-block, and the super-block information is sent as a 16x8 macro block. At the decoder, the mapping is reversed and the 16x8 macro- block is converted to a 32x16 super-block for reconstruction. Reference indices and reconstructed motion vectors are filled to corresponding macro-blocks within the super-block.
Macro-blocks within a super-block may share additional common
characteristics, including macro-block skip, transform size, merge flag, prediction modes, and delta quantization. This common information is also only sent with the first (or selected) macro-block within a super-block (Fig.8 (b)) or header of a super-block (Fig.8 (a)). For the non-first macro-blocks within a super-block, macro-block skip, transform size, delta-quantization, etc., are copied from the other macro-block.
The suitable use of super-blocks result in a bit rate savings for signaling macro-block information. Detailed exemplary syntaxes are illustrated in FIGS. 5A and 5B. The syntaxes are based upon the syntaxes of slice data in ITU-T H.264 and MPEG-4 AVC but are modified to process macro-block in a group of macro-blocks order. In FIG. 5A and 5B, some common syntaxes such as slice data in H.264/AVC are omitted for purposes of clarity. The additional syntax includes slice data semantics.
A superblock flag specifies whether this group of macro-blocks is a super- block or not. The superblock_cbp_1 bit specifies whether this super-block has any coefficients. If superblock_cbp_1 bit equals 1 means at least 1 macro-block within the superblock has coefficients. In this case, information indicative of cbp is also given in data stream for the at least 1 macro-block within the super-block. If superblock_cbp_1 bit equals 0 means that none of the macro-blocks within the superblock has coefficients.
The superblock_skip_run specifies the number of consecutive skipped super-blocks for which, when decoding a P or SP slice, mb_type of macro-blocks within the super-block may be inferred to be P_Skip and the macro-block type is collectively referred to as P macro-block type, or for which, when decoding a B slice, mb type may be inferred to be B_Skip and the macro-block type is collectively referred to as B macro-block type. The value of superblock skip run may be in the range of 0 to PicSizelnSuperblocks - Curr MbAddr, inclusive.
If superblock_skip_flag is equal to 1 specifies that for the current super- block, when decoding a P or SP slice, mb_type of macro-blocks within the super- block may be inferred to be P Skip and the macro-block type is collectively referred to as P macro-block type, or for which, when decoding a B slice, mb_type may be inferred to be B Skip and the macro-block type is collectively referred to as B macro-block type. If superblock skip flag equal to 0 specifies that the current super-block is not skipped. FIG.9 illustrates an example of another syntax.
The variable superblock size denotes the number of macro-blocks in the super-block. For example, for a 32x32 super-block, the superblock size is 4 except at the picture boundary where it may not be a multiple of 32. The extract_and_save_superblock_info , and
copy_macroblock_info_from_superblock () refer to functions to get the super- block syntaxes, save, and fill them into the macro-block .
The nextSuperblockAddress () returns the start macro-block address of the next super-block.
Yet additional syntaxes refer to macro-block layer semantics. For the macro-block layer, its syntax may be similar to the macroblockjayer in
H.264/AVC standard with a modification to reading coded_block_pattern as illustrated in FIGS. 6A and 6B.
The semantics of a coded_block_pattern may be defined as follows.
Coded_block_pattern may specify which of the six 8x8 blocks - luma and chroma - may contain non-zero transform coefficient levels. For macroblocks with prediction mode not equal to Intra_16x16, the coded_block_pattern is included in the bitstream and the variables CodedBlockPatternLuma and
CodedBlockPatternChroma may be derived as follows.
CodedBlockPatternLuma = coded_block_pattern % 16
CodedBlockPatternChroma = coded_block_pattern / 16
When the coded_block_pattem is present, the CodedBlockPatternLuma may specify, for each of the four 8x8 luma blocks of the macroblock, one of the following cases. First, that all transform coefficient levels of the four 4x4 luma blocks in the 8x8 luma block are equal to zero. Second, that one or more transform coefficient levels of one or more of the 4x4 luma blocks in the 8x8 luma block are non-zero valued.
In the case of superblock, when superblock_cbp_1bit == 0, the
coded_block_pattern of Macroblock may be set to 0.
Any suitable mapping process from the super-block to the macro-block may be used. Referring to FIG. 7, a pseudo code to extract_and_save_superblock_info and copy_macroblock_info_from_superblock referred in the syntax is illustrated. extract_and_save_superblock_info ( )
if (superblock_flag)
Save a copy of current Macroblock, let's denote it as SMb
Get superblock MV predictor from neighbor MBs.
Reconstruct superblock MV by adding superblock MVD and superblock MV predictor copy_macroblock_info_from_superblock(0);
copy_macroblock_info_from_superblock(N) { if (superblock_flag)
Copy mb_type, Qp, luma_transform_size_8x8_flag, skip_flag from SMb if (mbjype == 16x8 || mbjype == 8x16) Set current Macroblock's mb_type to 16x16
Otherwise Keep the mbjype same as SMb
Get the MV, reference index at the Nth 8x8 block of SMB, copy them and fill to the current 16x6 macroblock.
} }
The terms and expressions which have been employed in the foregoing specification are used therein as terms of description and not of limitation, and there is no intention, in the use of such terms and expressions, of excluding equivalents of the features shown and described or portions thereof, it being recognized that the scope of the invention is defined and limited only by the claims which follow.

Claims

. A method for decoding video comprising:
(a) receiving a super block flag indicating a super block consisting of a plurality of smaller blocks of pixels having shared decoding information with said super block;
(b) receiving a coded block pattern flag indicating whether said super block has a residual;
(c) decoding said super block based upon said super block flag and said coded block pattern flag.
2. The method of claim 1 wherein said super block is 32x32 pixels.
3. The method of claim 2 wherein said of said smaller blocks are 16x16 pixels.
4. The method of claim 1 wherein said super block is 64x64 pixels.
5. The method of claim 1 wherein said shared decoding information includes at least one of (a) block type; (b) transform type; and (c) motion vector.
6. The method of claim 5 wherein said decoding information includes at least two of (a), (b), and (c).
7. The method of claim 6 wherein said decoding information includes at least three of (a), (b), and (c).
8. The method of claim 1 wherein said super block has a block order and said shared decoding information is included together with the first of said smaller blocks of said block order.
9. The method of claim 1 wherein said shared decoding information is not included in other ones of said smaller blocks of said super block.
10. The method of claim 1 wherein said shared decoding information includes at least one of (a) macro block skip; (b) transform size; and (c) delta quantization.
11. The method of claim 10 wherein said decoding information includes at least two of (a), (b), and (c).
12. The method of claim 11 wherein said decoding information includes at least three of (a), (b), and (c).
13. The method of claim 1 wherein said shared decoding information includes (a) block type; (b) transform type; (c) motion vector; (d) macro block skip; (e) transform size; and (f) delta quantization.
14. A method of decoding video comprising:
(a) receiving a super block consisting of a plurality of smaller blocks of pixels having shared decoding information with said super block in a bit stream of encoded said video;
(b) extracting said shared decoding information from one of said smaller blocks of pixels;
(c) applying said shared decoding information to another one of said smaller blocks of pixels of said super block;
(d) decoding said one of said smaller blocks based upon said shared decoding information;
(e) decoding said another one of said smaller blocks based upon said shared decoding information.
15. The method of claim 14 further receiving a super block flag indicating said super block.
16. The method of claim 16 further comprising receiving a coded block pattern flag indicating whether said super block has a residual.
17. The method of claim 16 further comprising decoding said super block based upon said super block flag and said coded block pattern flag.
18. The method of claim 14 wherein said super block is 32x32 pixels.
19. The method of claim 18 wherein said of said smaller blocks are 16x16 pixels.
20. The method of claim 14 wherein said super block is 64x64 pixels.
21. The method of claim 14 wherein said shared decoding information includes at least one of (a) block type; (b) transform type; and (c) motion vector.
22. The method of claim 21 wherein said decoding information includes at least two of (a), (b), and (c).
23. The method of claim 22 wherein said decoding information includes at least three of (a), (b), and (c).
24. The method of claim 14 wherein said super block has a block order and said shared decoding information is included together with the first of said smaller blocks of said block order.
25. The method of claim 14 wherein said shared decoding information is not included in other ones of said smaller blocks of said super block.
26. The method of claim 14 wherein said shared decoding information includes at least one of (a) macro block skip; (b) transform size; and (c) delta quantization.
27. The method of claim 26 wherein said decoding information includes at least two of (a), (b), and (c).
28. The method of claim 27 wherein said decoding information includes at least three of (a), (b), and (c).
29. The method of claim 14 wherein said shared decoding information includes (a) block type; (b) transform type; (c) motion vector; (d) macro block skip; (e) transform size; and (f) delta quantization.
PCT/JP2011/059455 2010-04-09 2011-04-11 Super-block for high performance video coding Ceased WO2011126152A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201180017990.4A CN102835107A (en) 2010-04-09 2011-04-11 Super-block for high performance video coding
JP2013503321A JP2013524669A (en) 2010-04-09 2011-04-11 Super block for efficient video coding
MX2012011456A MX2012011456A (en) 2010-04-09 2011-04-11 Super-block for high performance video coding.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/798,708 2010-04-09
US12/798,708 US20110249743A1 (en) 2010-04-09 2010-04-09 Super-block for high performance video coding

Publications (1)

Publication Number Publication Date
WO2011126152A1 true WO2011126152A1 (en) 2011-10-13

Family

ID=44760913

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/059455 Ceased WO2011126152A1 (en) 2010-04-09 2011-04-11 Super-block for high performance video coding

Country Status (5)

Country Link
US (1) US20110249743A1 (en)
JP (1) JP2013524669A (en)
CN (1) CN102835107A (en)
MX (1) MX2012011456A (en)
WO (1) WO2011126152A1 (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI575887B (en) * 2010-04-13 2017-03-21 Ge影像壓縮有限公司 Inheritance in sample array multitree subdivision
BR122020007923B1 (en) 2010-04-13 2021-08-03 Ge Video Compression, Llc INTERPLANE PREDICTION
KR101626688B1 (en) 2010-04-13 2016-06-01 지이 비디오 컴프레션, 엘엘씨 Sample region merging
RS63059B1 (en) 2010-04-13 2022-04-29 Ge Video Compression Llc Video coding using multi-tree sub-divisions of images
WO2012042884A1 (en) * 2010-09-29 2012-04-05 パナソニック株式会社 Image decoding method, image encoding method, image decoding device, image encoding device, programme, and integrated circuit
AU2011310239B2 (en) 2010-09-30 2015-12-03 Sun Patent Trust Image decoding method, image encoding method, image decoding device, image encoding device, programme, and integrated circuit
US9532059B2 (en) 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
US9788019B2 (en) * 2011-03-09 2017-10-10 Hfi Innovation Inc. Method and apparatus of transform unit partition with reduced complexity
US8989256B2 (en) 2011-05-25 2015-03-24 Google Inc. Method and apparatus for using segmentation-based coding of prediction information
US9787982B2 (en) 2011-09-12 2017-10-10 Qualcomm Incorporated Non-square transform units and prediction units in video coding
US9247257B1 (en) 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
US9014265B1 (en) 2011-12-29 2015-04-21 Google Inc. Video coding using edge detection and block partitioning for intra prediction
US9094681B1 (en) 2012-02-28 2015-07-28 Google Inc. Adaptive segmentation
CN109905710B (en) * 2012-06-12 2021-12-21 太阳专利托管公司 Moving picture encoding method and apparatus, and moving picture decoding method and apparatus
US9332276B1 (en) * 2012-08-09 2016-05-03 Google Inc. Variable-sized super block based direct prediction mode
US9380298B1 (en) 2012-08-10 2016-06-28 Google Inc. Object-based intra-prediction
US9210424B1 (en) 2013-02-28 2015-12-08 Google Inc. Adaptive prediction block size in video coding
US10142647B2 (en) 2014-11-13 2018-11-27 Google Llc Alternating block constrained decision mode coding
US10382795B2 (en) 2014-12-10 2019-08-13 Mediatek Singapore Pte. Ltd. Method of video coding using binary tree block partitioning
WO2016090568A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
US10623774B2 (en) * 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
KR102353778B1 (en) 2016-10-11 2022-01-20 한국전자통신연구원 Method and apparatus for encoding/decoding image and recording medium for storing bitstream
CN115002459B (en) * 2018-01-05 2025-09-09 Sk电信有限公司 Video decoding device, video encoding device, and non-transitory computer-readable medium
US11502705B2 (en) * 2019-06-21 2022-11-15 Sap Se Advanced database decompression
US12262016B2 (en) * 2019-12-11 2025-03-25 Sony Group Corporation Image processing device, bit stream generation method, coefficient data generation method, and quantization coefficient generation method
US11496775B2 (en) * 2020-02-20 2022-11-08 Tencent America LLC Neural network model compression with selective structured weight unification
IL295916A (en) * 2020-03-12 2022-10-01 Interdigital Vc Holdings France Method and device for encoding and decoding video

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010502102A (en) * 2006-08-25 2010-01-21 トムソン ライセンシング Method and apparatus for reduced resolution segmentation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4543873B2 (en) * 2004-10-18 2010-09-15 ソニー株式会社 Image processing apparatus and processing method
KR101526914B1 (en) * 2006-08-02 2015-06-08 톰슨 라이센싱 Adaptive geometric partitioning method and apparatus for video decoding
JP4785678B2 (en) * 2006-09-01 2011-10-05 キヤノン株式会社 Image coding apparatus and image coding method
US8135071B2 (en) * 2007-01-16 2012-03-13 Cisco Technology, Inc. Breakpoint determining for hybrid variable length coding using relationship to neighboring blocks
US8619853B2 (en) * 2007-06-15 2013-12-31 Qualcomm Incorporated Separable directional transforms

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010502102A (en) * 2006-08-25 2010-01-21 トムソン ライセンシング Method and apparatus for reduced resolution segmentation

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CIXUN ZHANG ET AL.: "Video Coding Using Pruned Transforms and Interleaving of Multiple Blocks", IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING, 2008., 31 March 2008 (2008-03-31), pages 1049 - 1052 *
HUIPIN ZHANG ET AL.: "Region-Based Coding of Motion Fields for Low-Bitrate Video Compression", 2004 INTERNATIONAL CONFERENCE ON IMAGE PROCESSING(ICIP '04), vol. 2, 24 October 2004 (2004-10-24), pages 1117 - 1120 *
MARTA KARCZEWICZ ET AL.: "Video coding using motion compensation with polynomial motion vector fields", SIGNAL PROCESSING: IMAGE COMMUNICATION, vol. 10, no. 1-3, July 1997 (1997-07-01), pages 63 - 91 *

Also Published As

Publication number Publication date
CN102835107A (en) 2012-12-19
MX2012011456A (en) 2012-11-23
JP2013524669A (en) 2013-06-17
US20110249743A1 (en) 2011-10-13

Similar Documents

Publication Publication Date Title
US20110249743A1 (en) Super-block for high performance video coding
US12108042B2 (en) Apparatus of decoding video data
US10812799B2 (en) Method for encoding video
KR101895362B1 (en) Image encoding and decoding method and the same apparatus
EP2868080B1 (en) Method and device for encoding or decoding an image
US9667971B2 (en) Video decoder for slices
DK2786577T3 (en) METHOD OF DECODING CHROMA IMAGE
EP3324627B1 (en) Method of decoding an intra coded prediction unit
EP2324638B1 (en) System and method for video encoding using adaptive loop filter
CN103004197B (en) Apparatus and method for encoding an image
US9398307B2 (en) Video decoder for tiles
KR101857794B1 (en) Method and apparatus for encoding/decoding video with predicting quantization parameter of hierarchical data unit
KR20140120891A (en) Method and apparatus for efficient transform unit encoding
KR20100133006A (en) Moving picture coding / decoding method and apparatus
KR20110110855A (en) Adaptive mode video encoding and decoding method and apparatus
KR20140008984A (en) Method and apparatus for image encoding
KR20140043015A (en) Method and apparatus for image encoding
WO2011126153A1 (en) Codeword restriction for high performance video coding
HK40081279A (en) Video encoding/decoding method and non-transitory computer-readable recording medium

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180017990.4

Country of ref document: CN

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

Ref document number: 11766049

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: MX/A/2012/011456

Country of ref document: MX

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2013503321

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 8813/CHENP/2012

Country of ref document: IN

122 Ep: pct application non-entry in european phase

Ref document number: 11766049

Country of ref document: EP

Kind code of ref document: A1