WO2009151232A2 - 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 - Google Patents
영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 Download PDFInfo
- Publication number
- WO2009151232A2 WO2009151232A2 PCT/KR2009/002942 KR2009002942W WO2009151232A2 WO 2009151232 A2 WO2009151232 A2 WO 2009151232A2 KR 2009002942 W KR2009002942 W KR 2009002942W WO 2009151232 A2 WO2009151232 A2 WO 2009151232A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data processing
- processing unit
- group
- mode
- encoding
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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 picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods 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 slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods 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 bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Definitions
- the present invention relates to encoding and decoding of video.
- the size of the macroblock is fixed to 16 ⁇ 16.
- H.264 / AVC may be subdivided into 4 ⁇ 4 blocks of 8 ⁇ 8 or less for more accurate estimation or prediction.
- FIG. 1 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
- FIG. 2 is a block diagram of an image decoding apparatus according to an embodiment of the present invention.
- FIG. 3 illustrates the concept of a group which is a data processing unit proposed in the present invention.
- FIG. 4 shows an example of a subgroup which is a data processing unit proposed in the present invention.
- FIG. 5 shows another example of a subgroup which is a data processing unit proposed in the present invention.
- FIG. 6 illustrates syntax of an encoding mode according to an embodiment of the present invention.
- FIG. 8 is a flowchart of an encoding method of determining an encoding mode of a group according to an embodiment of the present invention.
- FIG. 9 is a flowchart of a method of reading and decoding an encoding mode according to an embodiment of the present invention.
- FIG. 10 illustrates a hierarchical structure of data processing units possible in the present invention.
- FIG. 11 illustrates syntax of a super macroblock and an encoding mode in units of macroblocks according to another embodiment of the present invention.
- FIG. 12 illustrates a motion vector estimation method when the encoding mode is the skip mode according to another embodiment of the present invention.
- FIG. 13 shows a decoding procedure for each data processing unit according to another embodiment of the present invention.
- CBP 15 compares an existing coding scheme with a syntax coding scheme associated with a coded block pattern (CBP) and a coefficient block size according to another embodiment of the present invention.
- CBP coded block pattern
- FIG 17 shows an encoding mode of a B frame according to another embodiment of the present invention.
- FIG. 18 is a flowchart of an image encoding method according to an embodiment of the present invention.
- 19 is a flowchart of an image decoding method according to an embodiment of the present invention.
- 20A, 20B, 20C, 20D, 20E, and 20F illustrate block diagrams of modified embodiments of the image encoding apparatus 100, considering data processing units dynamically determined according to one embodiment, respectively.
- 20G is a flowchart of an image encoding method considering a data processing unit dynamically determined according to an embodiment of the present invention.
- 21 illustrates a scan method for each data processing unit for motion estimation considering a large data processing unit according to an embodiment of the present invention.
- FIG. 22 illustrates availability of neighboring neighboring data processing units in motion estimation considering a large data processing unit according to an embodiment of the present invention.
- 23A illustrates a simplified hierarchical data processing unit of a large data processing unit according to an embodiment of the present invention.
- 23B illustrates syntax considering a large data processing unit according to an embodiment of the present invention.
- 24A, 24B and 24C illustrate various configurations of skip groups according to an embodiment of the present invention.
- 25A and 25B illustrate a motion vector derivation method in a large data processing unit and a motion vector derivation method of a lower data processing unit according to an embodiment of the present invention.
- 26A and 26B illustrate various motion estimation schemes for chroma components of a large data processing unit according to an embodiment of the present invention.
- FIG. 27 illustrates a scheme of deriving a size of a data processing unit for a chroma component of a large data processing unit according to an embodiment of the present invention.
- FIG. 28 is a flowchart of a method of using a coding block pattern considering a large data processing unit according to an embodiment of the present invention.
- 29A and 29B illustrate various methods of scanning a coding block pattern considering a large data processing unit according to an embodiment of the present invention.
- FIGS. 30A, 30B, 30C, 30D, 30E, and 30F illustrate block diagrams of modified embodiments of the image decoding apparatus 200 considering data processing units dynamically determined according to one embodiment, respectively.
- 31A, 31B, 31C, 31D, 31E, and 31F illustrate a flowchart of a modified embodiment of the image encoding method 1800, considering data processing units dynamically determined according to one embodiment, respectively.
- 32A, 32B, 32C, 32D, 32E, and 32F illustrate a flowchart of a modified embodiment of the image decoding method 19100, taking into account dynamically determined data processing units according to an embodiment.
- the present invention relates to image encoding and decoding based on dynamically determined data processing units.
- an image encoding method includes a group including at least one basic block and at least one basic block and include a subgroup included in the group with respect to an image classified into basic blocks. Classifying the data; Determining an encoding mode of the predetermined group indicating a method of encoding data of a predetermined group by one data processing unit of the group, subgroup, and basic block to encode the predetermined group; And encoding the data of the predetermined group according to the determined encoding mode.
- an image encoding method includes a group including at least one basic block and at least one basic block and include a subgroup included in the group with respect to an image classified into basic blocks. Classifying the data; Determining an encoding mode of the predetermined group indicating a method of encoding data of a predetermined group by one data processing unit of the group, subgroup, and basic block to encode the predetermined group; And encoding the data of the predetermined group according to the determined encoding mode.
- the image encoding method may further include encoding a flag indicating an encoding mode of the predetermined group.
- the data classification step of the image encoding method may include determining a size of a group indicating a number of basic blocks included in the group and a shape of a group formed by the basic blocks included in the group. can do.
- the data classification step of the image encoding method may include determining a subgroup of the group based on a level indicating the number of subgroups included in the group and a scanning order of the basic blocks. Can be.
- the encoding mode of the image encoding method is a data processing unit in which the data of the group is encoded, and is a data processing unit indicating one of the group unit, the subgroup unit, and the basic block unit.
- the determining of the encoding mode of the image encoding method may further include performing encoding on the data processing unit according to at least one estimation mode for each of the predetermined data processing units of the group; Calculating an error rate by encoding for each combination of the predetermined data processing unit and the estimation mode; And determining an estimation mode of the predetermined data processing unit corresponding to the minimum error rate among the calculated error rates.
- the encoding error rates considering the estimation mode may be compared for each data processing unit in the group, and the combination of the data processing unit and the estimation mode corresponding to the minimum error rate may be obtained.
- the method may include determining an encoding mode of.
- the image encoding method may further include rearranging the coefficients of which data of one of the group unit and the subgroup unit are frequency-converted into a plurality of basic block units.
- the image encoding method may further include encoding a flag indicating whether the frequency-converted coefficients are rearranged in units of basic blocks.
- the image encoding method may further include encoding a flag indicating a data processing unit for frequency conversion of data in the group.
- the group unit size, shape, and maximum level may be determined for each data unit of a picture, a sequence, and a group of the image data.
- an image decoding method includes encoding one data processing unit among a basic block, a group including at least one basic block, and at least one basic block and a subgroup included in the group Receiving and parsing the collected data; Reading from the parsed data the encoding mode of the predetermined group indicating a manner in which a predetermined group of data is encoded by one data processing unit of the group, subgroup and basic block; And decoding the predetermined group of data based on the read encoding mode.
- the encoding mode reading operation of the image decoding method may include: a form of a group configured as a data processing unit for decoding from the parsed data, a size of a group indicating a number of basic blocks included in the group, and Reading maximum level information about the maximum number of subgroups in the group; And determining a group, which is a data processing unit for classifying and decoding the parsed image data, by using the information about the type of the group and the size of the group.
- the group unit may be set for each data unit of a picture, a sequence, and a group of the image data.
- the subgroup may be set based on a level indicating the number of subgroups included in the group and a scanning order of the basic blocks.
- the encoding mode reading step of the image decoding method may include: extracting an encoding mode flag indicating an encoding mode of the predetermined group from data for the predetermined group; And reading the encoding mode of the predetermined group by using the encoding mode flag.
- the encoding mode of the group may include a data processing unit indicating whether the data processing unit in which the data of the group is encoded is one of the group, the subgroup, and the basic block. Information about; Information about a size of a data processing unit indicating the number of basic blocks included in the data processing unit; And information about an estimation mode indicating a method of determining reference information corresponding to the data processing unit for motion estimation of the data processing unit.
- the group decoding step of the image decoding method may include: determining a data processing unit to perform decoding based on the information about the type of the data processing unit and the size information on the encoding mode; Determining an estimation mode of the data processing unit based on the information about the estimation mode of the encoding mode; And decoding the image data for the group based on the determined data processing unit and the estimation mode.
- the encoding mode is encoding according to the estimation modes by performing encoding on at least one data processing unit according to at least one estimation mode among the data processing units in the group among the encoding for the group.
- An error rate is calculated, and the combination of the predetermined data processing unit and the estimation mode corresponding to the minimum error rate among the encoding error rates of the estimation modes for each data processing unit is determined, and the encoding is performed for each combination of the data processing unit and the estimation mode in the group.
- a combination of a data processing unit having a minimum error rate and an estimation mode may be selected and set to the coding mode of the group.
- the decoding processing order of the basic block unit may be a zigzag scan method.
- the image decoding method may further include rearranging the frequency-converted coefficients of the plurality of basic blocks into one of a group unit and a subgroup unit.
- the image decoding method may further include reading, from the parsed data, a flag indicating whether data of one of the group unit and the subgroup unit has been rearranged in units of a basic block in which frequency-converted coefficients are rearranged. It may include.
- the image decoding method may further include reading a flag indicating a data processing unit for frequency conversion of the data in the group from the parsed data.
- An image encoding apparatus includes a group including at least one basic block and at least one basic block with respect to an image classified as a basic block, and the image as a subgroup included in the group.
- a data classifying unit classifying data; In order to encode the group, the encoding mode of the group indicating the encoding method of the data of the group by the at least one data processing unit among the group unit, the subgroup unit and the basic block unit and the at least one data processing unit is determined.
- An apparatus for decoding an image encodes one data processing unit among a basic block, a group including at least one basic block, and at least one basic block and a subgroup included in the group.
- Receiving unit for receiving and parsing the data;
- a group encoding mode reading unit which reads from the parsed data an encoding mode of the predetermined group indicating a manner in which a predetermined group of data is encoded by one data processing unit among the group, subgroup, and basic block;
- a group decoder which decodes the predetermined group of data based on the read encoding mode.
- the image is encoded in consideration of the data processing unit and the motion estimation mode corresponding to the encoding mode.
- a method of encoding an image by a dynamically determined data processing unit includes frequency transform and quantization for encoding the input image based on a large data processing unit corresponding to the determined encoding mode of the group. Performing; Performing motion estimation for encoding the input image based on the large data processing unit; Performing in-loop filtering for encoding the input image based on the large data processing unit; And performing entropy encoding for encoding the input image based on the large data processing unit.
- the image is decoded in consideration of the data processing unit and the motion estimation mode corresponding to the encoding mode.
- a method of decoding an image by a data processing unit that is dynamically determined includes entropy decoding for decoding the data of the group based on a large data processing unit corresponding to the coding mode of the read group. Performing; Performing inverse quantization and inverse frequency transformation for decoding the data of the group based on the large data processing unit; Performing motion estimation for decoding the data of the group based on the large data processing unit; And performing in-loop filtering for decoding the data of the group based on the large data processing unit.
- an apparatus for encoding an image by a dynamically determined data processing unit includes: frequency transform and quantization for encoding the input image based on a large data processing unit corresponding to the determined encoding mode of the group A frequency conversion and quantization unit performing a; A motion estimator configured to perform motion estimation for encoding the input image based on the large data processing unit; An in-loop filtering unit to perform in-loop filtering for encoding the input image based on the large data processing unit; And an entropy encoding unit configured to perform entropy encoding for encoding the input image based on the large data processing unit.
- An apparatus for decoding an image by a data processing unit dynamically determined may further include entropy decoding for decoding the data of the group based on a large data processing unit corresponding to the read mode of the group.
- An entropy decoding unit performing a;
- An inverse quantization and inverse frequency transform unit configured to perform inverse quantization and inverse frequency transformation for decoding the data of the group based on the large data processing unit;
- a motion estimation unit for performing motion estimation for decoding the data of the group based on the large data processing unit;
- an in-loop filtering unit that performs in-loop filtering for decoding the data of the group based on the large data processing unit.
- the size of the data processing unit for the frequency conversion may be determined based on the size of the data processing unit for the motion estimation.
- a scan order for each data processing unit for sequential motion estimation may be determined based on the large data processing unit, and current data processing Neighbor availability may be determined whether a neighboring data processing unit located at the upper right of the unit is available as a reference block.
- the motion estimation based on the large data processing unit may use a data processing unit having a square block form among the large data processing units.
- the size of the data processing unit for frequency conversion based on the data processing unit in the square block form may be limited to a predetermined size smaller than or equal to the data processing unit in the square block form.
- the motion estimation based on the large data processing unit may include an intra estimation of the large data processing unit, and may further include an intra estimation of the large data processing unit and performed based on an intra mode using a complex plane form. Intra estimation may be included.
- a data processing unit capable of motion estimation in an intra mode may be preset based on the large data processing unit.
- the motion estimation based on the large data processing unit may include a motion estimation performed in an estimation mode in which an intra mode and an inter mode based on the large data processing unit are mixed.
- a motion vector for motion estimation may be determined based on the large data processing unit.
- a motion vector estimator for an inter mode may be derived corresponding to a motion vector determined based on the large data processing unit.
- the skip mode of the extended form may be determined based on the large data processing unit.
- a skip group including data processing units of at least one skip mode adjacent to each other may be determined, and motion estimation may be simultaneously performed in the skip mode for all data processing units included in the same skip group.
- the frequency transform based on the large data processing unit may include a large block-based integer discrete cosine transform based on the large data processing unit.
- frequency conversion may be performed on a chroma component of a current data processing unit to a predetermined size determined based on the large data processing unit.
- the modified frequency conversion may be performed to reduce the amount of computational load caused by the frequency conversion based on the large data processing unit.
- Entropy encoding based on the large data processing unit may use a hierarchical coded block pattern according to the size of each data processing unit determined based on the large data processing unit.
- entropy encoding based on the large data processing unit may include classifying the current data processing unit based on the probability of non-zero quantized coefficients among the quantized coefficients of the current data processing unit.
- the coding block pattern may be scanned. Based on the classified region-specific coding block patterns of the current data processing unit, a strip of coefficients only of regions including non-zero coefficients may be scanned.
- the display indicating the strip of coefficients of the region containing the non-zero coefficient may be encoded to be included in the bitstream, and the display indicating the coefficient strip of the region containing non-zero coefficients in the decoding process of the bitstream. You can read it.
- the entropy encoding or entropy decoding may include a context-based adaptive binary arithmetic code scheme (CABAC) or a context-based adaptive variable length code scheme based on the large data processing unit.
- CABAC Context-based Adaptive Variable Length Code
- Entropy encoding or entropy decoding based on the large data processing unit may use a coding block pattern determined in a single context for an intra mode or a chroma component based on the large data processing unit.
- In-loop filtering based on the large data processing unit may include whether to perform deblocking filtering on a lower data processing unit inside a current data processing unit based on the large data processing unit.
- deblocking filtering on a boundary of a chroma component of a lower data processing unit within the current data processing unit may be performed during deblocking filtering on the chroma component of the current data processing unit. May be excluded.
- the in-loop filtering may be performed by deblocking filtering of the current data processing unit in which motion estimation is performed in a mixture of inter mode and intra mode. Deblocking filtering on the boundary may be excluded.
- the strength of the deblocking filtering for each boundary may be individually set for the boundary of at least one lower data processing unit inside the current data processing unit.
- the in-loop filtering may include additional filtering for reducing a ringing effect on a current data processing unit having a large size based on the large data processing unit.
- the present invention includes a computer readable recording medium having recorded thereon a program for implementing an image encoding method by a data processing unit which is dynamically determined according to an embodiment of the present invention.
- the present invention also includes a computer readable recording medium having recorded thereon a program for implementing an image decoding method by a dynamically determined data processing unit according to an embodiment of the present invention.
- FIG. 1 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
- the image encoding apparatus 100 includes a data classifier 110, a group encoding mode determiner 120, and a group encoder 130.
- the data classifying unit 100 When the input image data is classified in basic block units, the data classifying unit 100 includes a group including at least one basic block and the at least one basic block based on the basic block. The data is classified into subgroups and basic blocks to be included, and the classified data is output to the group encoding mode determiner 120 and the group encoder 130.
- Basic blocks, groups, and subgroups are types of data processing units for encoding a video data.
- the group may have an attribute of 'size' indicating the number of basic blocks and 'type' formed by the basic blocks included in the group.
- the subgroup is determined according to the 'level' representing the number of subgroups in the group and the 'scan order' between the basic blocks in the group.
- An attribute of a group including at least one of a size, a shape, a maximum level, and a scan order may be determined for each group, picture, and sequence.
- the group encoding mode determiner 120 is a data processing unit used to encode a group, that is, information about a method of encoding data in a group by at least one data processing unit among a group unit, a subgroup unit, and a basic block unit. Determine the encoding mode of the group including.
- An embodiment of the group encoding mode determiner 120 determines an error rate generated by encoding data of each group for each data processing unit among groups, subgroups, and basic blocks classified by the data classifier 110.
- the encoding mode of the group may be determined based on an error rate of each group of data processing units. Therefore, the image data is encoded by the data processing unit dynamically determined based on the error rate for each data processing unit of the group.
- the encoding mode determined by the group encoding mode determiner 120 includes: information on a type of a data processing unit indicating whether to encode data of a group in a group unit, a subgroup unit, or a basic block unit; Information on a size of a data processing unit indicating the number of basic blocks included in the data processing unit; Information about an estimation mode indicating a manner of determining reference information required for motion estimation by a data processing unit; At least one of the.
- the group encoding mode determiner 120 calculates an error rate when the data of the group is encoded in the basic block unit for each data processing unit, an error rate when the data is encoded in the subgroup unit, and an error rate when the data is encoded in the group unit.
- the data processing unit having the smallest error rate may be determined as the coding processing unit of the corresponding group. That is, the encoding and the error rate calculating process are performed for each group, subgroup, and basic block unit.
- the embodiment of the group encoding mode determiner 120 may compare the error rates in the case of encoding in various estimation modes for each data processing unit, and determine an estimation mode having the smallest error rate for each data processing unit. .
- the group encoding mode determiner 120 encodes data of a group in a skip mode, an inter mode, and an intra mode as an estimation mode for each data processing unit, calculates and compares encoding error rates for each estimation mode, and generates the smallest error rate.
- An estimation mode for generating a may be determined as a representative estimation mode of the data processing unit. That is, the comparison of the error rate by performing encoding for each estimation mode and the corresponding estimation mode determination process are performed for each group unit, subgroup unit, and basic block unit.
- the group encoding mode determiner 120 may compare the error rate of the representative estimation mode for each data processing unit and determine a data processing unit having the smallest error rate as the representative data processing unit for the data of the corresponding group. Based on the combination of the representative data processing unit and the representative estimation mode causing the smallest error rate, the information about the type, size, and representative estimation mode of the representative data processing unit of the group is determined as the encoding mode of the group.
- the group encoder 130 encodes and outputs image data input from the data classifier 110 according to a group encoding mode determined by the group encoding mode determiner 120.
- the image encoding apparatus 100 may further encode a group encoding mode flag that encodes a flag indicating a coding mode for each group in addition to the image data.
- the image encoding apparatus 100 may encode data in one picture through a zigzag scan method instead of a raster scan method between basic blocks.
- the image encoding apparatus 100 may rearrange coefficients in which one data among a group unit and a subgroup unit are frequency-converted into a plurality of basic block units.
- the image encoding apparatus 100 may frequency convert image data in units of basic blocks or subgroups. In this case, the data processing unit for frequency conversion may not match the data processing unit for motion estimation.
- the image encoding apparatus 100 may encode a flag indicating whether data of a predetermined data processing unit is rearranged according to a variable data processing unit whose frequency is transformed.
- FIG. 2 is a block diagram of an image decoding apparatus according to an embodiment of the present invention.
- the image decoding apparatus 200 includes a receiver 210, a group encoding mode reader 220, and a group decoder 230.
- the concepts of the basic block, the group, the subgroup, and the encoding mode are the same as described above in the description of the image encoding apparatus 100 according to an embodiment.
- the receiving unit 210 receives and parses data encoded in one data processing unit among a basic block, a group, and a subgroup, extracts information to be decoded, and transmits the decoded information to the group encoding mode reading unit 220 and the group decoding unit 230.
- the group encoding mode reading unit 220 reads the encoding mode of the group from the data parsed by the receiving unit 210 and outputs the group encoding mode to the group decoding unit 230.
- the group encoding mode reader 220 may read information about the shape, size, and maximum level of the group from the parsed data, and determine a predetermined group by using the read shape and size information of the group.
- the attribute of a group may be set for each data unit such as a group, a picture, a sequence, and the like.
- the group encoding mode reader 220 of another embodiment may extract a group encoding mode flag indicating a encoding mode of a predetermined group from the parsed data, and read the encoding mode of the predetermined group using the group encoding mode flag.
- the read group coding mode includes information on a type, a size, an estimation mode, and the like, of a data processing unit to be used when decoding data of each group.
- the group decoder 230 decodes the group data received by the receiver 210 by using the group coding mode input from the group coding mode reader 220.
- the group decoder 230 determines an intra-group data processing unit for decoding the data of the group based on the information about the type and size of the data processing unit in the encoding mode, and based on the information about the estimation mode in the encoding mode.
- the estimation mode of the data processing unit may be determined.
- the group decoder 230 may decode the data of the group based on the data processing unit and the estimation mode determined from the encoding mode.
- the group decoder 230 may read and decode a coding mode for each group by scanning data of one picture according to a zigzag scan method of a basic block unit.
- the image decoding apparatus 200 may rearrange the frequency-converted coefficients of the plurality of basic blocks into one of a group unit and a subgroup unit.
- the image decoding apparatus 200 may also inversely transform data classified in units of basic blocks or subgroups.
- the image decoding apparatus 200 may further extract a flag indicating whether coefficients obtained by frequency-transforming one of the group unit and the subgroup unit are rearranged in the basic block unit in the encoding process from the parsed data. Based on the coefficient rearrangement flag, the coefficients may be rearranged into one of a group unit and a subgroup unit in the decoding process.
- FIG. 3 illustrates the concept of a group which is a data processing unit proposed in the present invention.
- a conventional macroblock unit may be a relatively small unit to store useful information, compared to a large amount of data. For example, at high definition (HD) or higher resolution and higher resolution, bits that are preferably used for actual texture coding due to small macroblocks are macroblocks such as macroblock mode and motion vectors. By being assigned to the additional information that is a symbol, a rate-distortion cost may be lowered.
- HD high definition
- motion vectors By being assigned to the additional information that is a symbol, a rate-distortion cost may be lowered.
- the present invention introduces a group unit including at least one basic block as a data processing unit.
- the basic block 300 is a unit including at least one data.
- it may be an 8 ⁇ 8, 16 ⁇ 16 macroblock, etc. of MPEG or H.264.
- a group is a unit including at least one basic block, and the size and size of the group indicating the number of basic blocks may be arbitrarily determined.
- group 310 of size 16 and square shape, groups 320 and 325 of size 8 and rectangular shape, group 330 of size 13 and diamond shape may be present.
- the shape and size of such a group may be set constantly in units of pictures and picture sequences of the image data, or may be set individually for every group.
- FIG. 4 shows an example of a subgroup which is a data processing unit proposed in the present invention.
- the subgroup in the group includes at least one basic block in the group, and the first determining method of determining the subgroup is a method determined according to the level and the scanning order.
- 4 shows a group of square shape, group size 16, maximum level 4.
- the level 4 may be classified into groups 410, 420, and 450 which are level 4, groups 430 and 460 which are level 2, and groups 440 which are level 1, according to the number of subgroups in the group.
- the scanning order of the basic block in the group it may be classified into a group 410 of zigzag scan order, groups 420, 430, and 440 of vertical scan order, and groups 450 and 460 of raster scan order.
- the subgroup is set in the order of level 4 and the zigzag scan for the size 16 and the square-shaped group 410, four subgroups of the size 4 and square may be formed.
- four subgroups 422, 424, 426, and 428 having a size of 4 and a rectangular shape may be formed.
- four subgroups 452, 454, 456, and 458 having a size of 4 and a rectangular shape may be formed.
- two subgroups 432 and 434 of the size 8 and rectangular shape may be formed.
- two subgroups 462 and 464 having a size of 8 and a rectangular shape may be formed.
- one subgroup 445 of the size 16 and square-shaped may be formed.
- a predetermined scan order may be set for each level.
- the data processing unit for frequency conversion may be a unit equal to or less than the size of the group or subgroup defined above.
- FIG. 5 shows another example of a subgroup which is a data processing unit proposed in the present invention.
- the second determination method of determining the subgroup is a method of dividing the sequence of the basic blocks listed according to the scanning order of the basic blocks in the group according to the levels.
- 5 illustrates a second determination method of a subgroup by taking groups 500 and 550 having a square shape and a group size of 16 as an example.
- the group 500 having a square shape and a group size of 16 has basic blocks 1, 2, 5, 9, 6, 3, 4, 7, 10, 13, 14, 11, 8, 12, 15, and 16 according to the zigzag scan order.
- the sequence 510 of the basic blocks may be rearranged in the order of.
- the level of the group 500 is 3, the basic block sequence 510 includes the first subgroup including basic blocks 1, 2, 5, 9, and 6, and includes basic blocks 3, 4, 7, 10, and 13 It may be classified into a third subgroup including a second subgroup, basic blocks 14, 11, 8, 12, 15, and 16. Accordingly, when the group 500 is classified into a subgroup of level 3 according to the zigzag scan order, the group 520 and the r subgroup may be classified together.
- the group 550 having a square shape and a group size of 16 has the basic blocks 4, 8, 3, 2, 7, 12, 16, 11, 6, 1, 5, 10, 15,
- the sequences 560 of the basic blocks may be rearranged in the order of 14, 9, and 13.
- the level of the group 550 is 4, the basic block sequence 560 includes a first subgroup including basic blocks 4, 8, 3, and 2, and a second subgroup including basic blocks 7, 12, 16, and 11. , May be classified into a third subgroup including basic blocks 6, 1, 5, and 10, and a fourth subgroup including basic blocks 15, 14, 9, and 13. Accordingly, when the group 550 is classified into a level 4 subgroup according to the reverse zigzag scan order, the subgroup may be classified like the group 570.
- FIG. 6 illustrates syntax of an encoding mode according to an embodiment of the present invention.
- a flowchart of a process of reading a group encoding mode according to a syntax indicating a encoding mode of a predetermined group is shown.
- the group encoding mode reader 220 checks a flag (Group_SKIP) indicating whether data of a predetermined group is encoded in a skip mode of a group unit. If the value of the 'Group_SKIP' flag is 1, decoding is performed in a skip mode of a group unit on the data of the corresponding group (step 620). If the value of the 'Group_SKIP' flag is 0, the flow proceeds to step 630.
- a flag Group_SKIP
- the group encoding mode reader 220 determines whether a subgroup according to a level is set. If so, the group encoding mode reading unit 220 checks the decoding method of each subgroup (step 640). If the subgroup is not set, the group encoding mode reading unit 220 checks the decoding scheme in units of basic blocks (step 650).
- the level should be greater than 1 and less than the group size. If the level is 1, it is the same data processing unit as the group.
- the group encoding mode reading unit 220 checks a flag Subgroup_SKIP indicating whether data of the corresponding group is encoded in a skip mode of a subgroup (step 640). If the value of the 'Subgroup_SKIP' flag is 1, the group encoder 230 performs decoding in a skip mode of a subgroup unit (step 660). If the value of the 'Subgroup_SKIP' flag is 0, the group encoder 230 decodes the subgroups in the estimation mode except the skip mode (step 670).
- the 'Subgroup_SKIP' flag value should not be set to 1 for all subgroups.
- the general mode in subgroup decoding is determined according to the level and the scanning order.
- the level must be less than or equal to the maximum level.
- the group encoding mode reading unit 220 checks a flag Unit_SKIP indicating whether data of the corresponding group is encoded in a skip mode of a basic block unit (step 650). If the value of the 'Unit_SKIP' flag is 1, the group encoder 230 performs decoding in the skip mode of the basic block unit (step 680). If the value of the 'Unit_SKIP' flag is 0, the group encoder 230 decodes the basic block unit in the estimation mode except the skip mode (step 690).
- the 'Unit_SKIP' flag value should not be set to 1 for all basic blocks.
- the coding scheme for each data processing unit in the group may be arbitrarily determined in some cases.
- an example of an encoding method for each data processing unit of the group 710 having a square shape, group size 4, and maximum level 2 is described.
- the subgroup 720 of the vertical scan order and the subgroup 730 of the raster scan order are set according to the scanning order, and the level is 1 day.
- the subgroup 740 is set up.
- a 16 ⁇ 16 skip mode may be adopted as a coding method for the basic block 700.
- the general mode (Unit_Mode) of the encoding method of the basic block 700 is 16x16, 8x8, 4x4 intra mode and 16x16, 16x8, 8x16, 8x8, 4x8.
- One of 8x4 and 4x4 inter modes may be adopted.
- one of 32 ⁇ 32 inter mode and 32 ⁇ 32 intra mode may be adopted as a general mode (Subgroup_Mode) of the coding scheme for the subgroup 740 of the level 1.
- a general mode (Subgroup_Mode) of the coding schemes for the subgroups 720 and 730 of the level 2 one of 16 ⁇ 32 inter mode and 32 ⁇ 16 inter mode may be adopted.
- a 32 ⁇ 32 skip mode may be set as a skip mode (Group_SKIP).
- FIG. 8 is a flowchart of an encoding method of determining an encoding mode of a group according to an embodiment of the present invention.
- the flowchart 800 is a flowchart of a process followed by the image encoding apparatus 100, in particular, the image encoding mode determiner 120, to determine a coding mode of a predetermined group.
- a predetermined group of data to be encoded is determined (step 810).
- the shape, size, and maximum level information of the group may be set in picture, sequence, or group units.
- encoding is performed in a skip mode of a group unit (step 820), and a RD cost is calculated as an error rate by encoding of the skip mode of a group unit (step 830). For example, the RD cost according to the encoding of the 32x32 skip mode for the 32x32 group is calculated.
- Encoding of the basic block unit is performed (step 840). Encoding in basic block units may be performed in a skip mode, an intra mode, and an inter mode, respectively. Since encoding in units of basic blocks must be performed for each basic block in the group, step 840 is repeated as many as the number of basic blocks in the group corresponding to the group size.
- the RD cost due to the encoding of the basic block unit is calculated (step 850). For example, 16 ⁇ 16 skip mode, 16 ⁇ 16/8 ⁇ 8/4 ⁇ 4 intra mode, 16 ⁇ 16/16 ⁇ 8/8 ⁇ 16/8 ⁇ 8/4 ⁇ 8/8 ⁇ 4/4 ⁇ The smallest basic block unit of the RD cost calculated as a result of encoding each basic block unit such as 4 inter mode is searched. That is, the combination of the basic block size and the estimation mode corresponding to the minimum RD cost in the basic block unit is selected.
- Encoding of subgroup units is performed (step 860). To set the subgroup, the level is checked (step 862), the scanning order is checked (step 864), and encoding is performed for each subgroup of the corresponding level (step 860). Encoding in subgroup units may be performed in an intra mode and an inter mode, respectively. Since the encoding in the subgroup unit should be performed for each subgroup in the group, steps 862, 864, and 860 are repeated by the number of possible levels according to the level.
- the RD cost due to encoding in subgroup units is calculated (step 870). For each subgroup, an optimal estimation mode with the smallest RD cost among intra-mode and inter-mode encoding is determined, and a combination of the subgroup and the estimation mode with the smallest RD cost among all subgroups is determined. For example, the smallest subgroup unit among the RD costs calculated as a result of encoding by subblock units such as 32 ⁇ 32 inter mode / 32 ⁇ 32 intra mode or 16 ⁇ 32/32 ⁇ 16 inter mode according to the level is searched. do. That is, a combination of subgroup size and estimation mode is selected corresponding to the minimum RD cost in subgroup units.
- the image encoding mode determiner 120 compares the RD cost of the group unit calculated in step 830, the RD cost of the basic block unit combination selected in step 850, and the RD cost of the subgroup unit combination selected in step 870. Select a cost (step 880).
- the image encoding mode determiner 120 determines an encoding mode of the corresponding group based on the combination of the size and the estimation mode of the data processing unit or the data processing unit corresponding to the lowest RD cost selected in step 880 (step 890).
- the coding mode of the group includes information related to the type of the data processing unit and the size of the data processing unit (32 ⁇ 32, 32 ⁇ 16, 16 ⁇ 32) whether the unit is a group unit, a subgroup unit, or a basic block unit. , 16 ⁇ 16, 16 ⁇ 8, 8 ⁇ 16, 8 ⁇ 8, 4 ⁇ 8, 8 ⁇ 4, 4 ⁇ 4), and information about an estimation mode (skip, intra, inter mode, etc.).
- FIG. 9 is a flowchart of a method of reading and decoding an encoding mode according to an embodiment of the present invention.
- the flowchart 900 shows a flowchart of a process of the image decoding apparatus 200, in particular, the group encoding mode reading unit 220, reading a group encoding mode for decoding a predetermined group.
- the group encoding mode reading unit 220 obtains information on the shape, size, and maximum level of the group from the data to be decoded, and determines a predetermined group among the data to be decoded (step 910).
- Information about the shape, size, and maximum level of the group may be set in picture, sequence, or group units.
- the group encoding mode reading unit 220 checks a flag Group_Skip indicating whether a predetermined group is encoded in a skip mode of a group unit (step 920). If it is determined that the skip mode is in the unit of the group, decoding is performed in the skip mode for the corresponding group (step 930). If it is determined that the mode is not the skip mode of the group unit, the process moves to step 940.
- the group encoding mode reading unit 220 checks the level of the group. If the subgroup is not set based on the level of the check result, the group encoding mode reading unit 220 checks the decoding method in basic block units (step 990). When the level is confirmed, the group encoding mode reading unit 220 checks the level of the subgroup (step 960) and determines the scanning order (step 970). The group encoding mode reading unit 220 performs decoding on the subgroup determined according to the level and the scanning order (step 950). Since the decoding is performed for each subgroup in the group, the decoding process (steps 960, 970, 950) of the subgroup is repeated by the number of levels in the group.
- the group coding mode reading unit 220 checks a flag Unit_mode indicating an estimation mode in basic block units (step 990). The group encoding mode reading unit 220 performs decoding on the corresponding basic block according to the estimation mode determined according to the verification result (step 980). If the value of the 'Subgroup_SKIP' flag is 0, the group encoding mode reading unit 220 performs decoding on the corresponding subgroup in the estimation mode excluding the skip mode in step 670. Since decoding is performed for each basic block in the group, the decoding process (steps 990 and 980) of the basic block is repeated as much as the group size.
- an example of the inter-mode motion vector estimation method may determine the median value of the motion vectors of all the peripheral data processing units of the current data processing unit as the motion vector of the current data processing unit.
- the motion vector estimation method of the inter mode may be determined differently in consideration of the size of a group, a subgroup, a basic block, and the like.
- the size, type, etc. of the neighboring blocks to be referred to may be set differently according to the size of the data processing unit.
- one example of an intra mode motion estimation scheme is a weighted average of five adjacent pixel values, with reference to five adjacent pixels located on any angle or direction of the current data processing unit. average) may be estimated as the current pixel value.
- an example of the intra mode motion estimation method may rearrange a predetermined group of data for each data processing unit for frequency conversion processing and use the predetermined group as a reference pixel.
- the x-axis change amount and the y-axis change amount of the motion vector may be expressed using gradation.
- a current block may be estimated using a weighted average of two estimated signals such as a motion vector.
- the weighted average may be obtained by giving a greater weight to the nearest reference pixel for each pixel.
- the flags indicating the skip mode in group units may be collected in picture units and processed at once.
- a flag indicating a skip mode of group B in the picture only may be processed at a time.
- One embodiment of the present invention proposes a method of deriving information of a current data processing unit as a method compared with a skip mode. For example, both motion vector and texture information can be derived without being signaled.
- motion vector information may be signaled and texture information may be derived, or texture information may be signaled and motion vector information may be derived.
- An estimation mode in which only DC information is signaled is possible.
- Various motion information derivation schemes may be defined for each quantization parameter (Qp).
- the data processing unit of the skip mode may form a hierarchical structure. For example, if the 16x16 block in the 32x32 block of the skip mode is also the skip mode, a flag indicating the hierarchical structure of the 32x32 skip flag and the 16x16 skip flag may be set. In addition, a group that is a set of basic blocks in a skip mode may be formed.
- video compression performance may be improved by extending an existing macroblock size to a more efficient size to cope with an increasing resolution of video content.
- a hierarchical concept of groups, subgroups, and basic blocks proposed by the present invention will be described as a super macroblock of 32 ⁇ 32 data.
- Another embodiment of the present invention implemented as a hierarchical structure in units of 16x16 macroblocks (hereinafter also referred to as 'MB'), and units of 8x8 macroblocks, also denoted as 'SMB' or 'S-MB' Examples are detailed.
- FIG. 10 illustrates a hierarchical structure of data processing units possible in the present invention.
- the hierarchical structure 1000 of the data processing unit may have a three-level structure.
- the first layer 1010 is the largest size 32 ⁇ 32 super macroblock, for example, one 32 ⁇ 32 skip mode, one 32 ⁇ 32 inter mode, and two 32 ⁇ 16 inter modes. If included, there may be a case in which four 16x16 inter modes are included when two 16x32 inter modes are included. Frequency conversion in units of 16 ⁇ 16 blocks, 8 ⁇ 8 blocks, and 4 ⁇ 4 blocks may be performed on the first layer 1010.
- the second layer 1020 corresponds to a differentiated 16 ⁇ 16 macroblock among the super macroblocks of the first layer 1010.
- 16 ⁇ 16 macroblocks of the second layer 1020 may be divided into two 16s in one 16 ⁇ 16 intra mode, one 16 ⁇ 16 skip mode, and one 16 ⁇ 16 inter mode.
- the x8 inter mode in case of including two 8x16 inter modes, there may be a case in which four 8x8 inter modes are included.
- the frequency conversion in units of 8 ⁇ 8 blocks and 4 ⁇ 4 blocks may be performed on the second layer 1020.
- the third layer 1030 corresponds to an 8 ⁇ 8 block divided among the macroblocks of the second layer 1020.
- the 8 ⁇ 8 macroblock of the third layer 1030 includes one 8 ⁇ 8 skip mode, one 8 ⁇ 8 inter mode, and two 8 ⁇ 4 inter modes.
- frequency conversion in units of 4 ⁇ 4 blocks may be performed.
- the decoding and decoding can be performed in the 32 ⁇ 32 super macroblock mode for a large amount of video data, but also the macroblock mode of 8 ⁇ 8 or less can be processed.
- a processing such as a skip mode, an intra mode, a macroblock unit of 16 ⁇ 16 or less, and the like may be adopted in the same manner as the existing sub-decoding scheme. The cost and time required to build a system can be reduced.
- FIG. 11 illustrates syntax of a super macroblock and an encoding mode in units of macroblocks according to another embodiment of the present invention.
- the group encoding mode reading unit 220 first sets a flag SMB_SKIP indicating whether the encoding mode of the current group is encoded in a skip mode of a super macroblock unit. Confirm (step 1110). If the value of the 'SMB_SKIP' flag is 1, the group decoder 230 performs decoding by motion estimation in a skip mode of 32 ⁇ 32 super macroblock units (step 1120).
- the group encoding mode reading unit 220 determines whether the current group is encoded in a super macroblock unit (step 1130). If the super macroblock unit encoding is performed in the estimation mode other than the skip mode by the determination of step 1130, the result of the determination is transferred to the group decoder 230, and the group decoder 230 sets 32 according to the 'SMB_mode' flag. The decoding is performed through motion estimation in units of super macroblocks of ⁇ 32 inter mode, 32 ⁇ 16 inter mode, 16 ⁇ 32 inter mode, and 16 ⁇ 16 inter mode (step 1140).
- the motion estimation method based on the super macroblock unit of the 16 ⁇ 16 inter mode may be the same as the motion estimation method based on the macroblock unit of the existing 16 ⁇ 16 inter mode.
- the group encoding mode reading unit 220 If it is determined by the determination in step 1130 that the current group is not encoded in the super macroblock unit inter mode, the group encoding mode reading unit 220 generates a flag MB_SKIP indicating whether the group is encoded in the skip mode in macroblock units. Confirm (step 1150).
- step 1150 If encoding is performed in the skip mode in units of macroblocks according to the determination of step 1150, the result of the determination is transmitted to the group decoder 230, and the group decoder 230 transmits the 16 ⁇ 16 super macroblock according to the 'MB_SKIP' flag.
- operation 1160 decoding is performed through motion estimation in a skip mode.
- the group decoder 230 If the encoding is not performed in the skip mode in units of macroblocks by the determination of step 1150, the result of the determination is transmitted to the group decoder 230, and the group decoder 230 according to the 'MB_SKIP' flag performs 16 ⁇ 16 intra mode. Decoding is performed in units of macroblocks such as 16 ⁇ 16 inter mode, 16 ⁇ 8 inter mode, 8 ⁇ 16 inter mode, 8 ⁇ 8 inter mode, or sub macroblock units smaller than 8 ⁇ 8 macroblock (step 1170). .
- FIG. 12 illustrates a motion vector estimation method when the encoding mode is the skip mode according to another embodiment of the present invention.
- the video encoding apparatus 100 and the video decoding apparatus 200 may use a super macroblock unit based motion vector estimation method or a macroblock unit based motion vector estimation method to estimate a motion vector of a block in skip mode. Can be used.
- the super macroblock of the 32 ⁇ 32 skip mode may estimate the motion vector using the motion vector of the neighboring block.
- the neighboring block may be a super macroblock or a macroblock.
- the motion vector of the super macroblock is estimated according to Equation 1 below.
- MV Median (MVa, MVb, MVc)
- Median ( ⁇ ) is a function that outputs the median value of the input. That is, the motion vector MV 1210 of the super macroblock has a median value among the motion vector MVa 1220 of the left block, the motion vector MVb 1225 of the upper block, and the motion vector MVc 1230 of the upper right block. Determined by the motion vector.
- a macroblock of 16 ⁇ 16 skip mode may estimate a motion vector of a macroblock using the motion vector of a neighboring block.
- the motion vector of the macroblock may be estimated according to Equations 2, 3, 4, and 5 below.
- MV0 Median (MVa, MVb, MVc)
- MV1 Median (MV0, MVc, MVd)
- MV2 Median (MVe, MV0, MV1)
- MV3 Median (MV0, MV1, MV2)
- the macroblocks MV0 (1240), MV1 (1245), MV2 (1250), and MV3 (1255) in the 16 ⁇ 16 skip mode include the motion vector of the left block, the motion vector of the top block, and the motion of the upper right block. It is determined as a motion vector having a median value among the vectors. That is, according to Equation 2, MV0 1240 is determined as the median value of MVa 1260, MVb 1265, and MVc 1270, and according to Equation 3, MV1 1245 is MV0 1240 and MVc 1270.
- the median of MVd 1275, MV2 (1250) is the median of MVe (1280), MV0 (1240), MV1 (1245) by Equation (4), and MV3 (1255) is MV2 ( 1250, MV0 1240, and MV1 1245.
- the image encoding apparatus 100 may periodically insert a flag indicating a motion vector estimation method into a slice or a predetermined data unit whether the motion vector estimation is performed in the super macroblock unit or the motion vector estimation in the macroblock unit. have.
- the image decoding apparatus 200 may extract a flag for a motion vector estimation method from a slice or a predetermined data unit and use the same to estimate a super macroblock or a motion vector of the macroblock.
- FIG. 13 shows a decoding procedure for each data processing unit according to another embodiment of the present invention.
- a zigzag scan order for each 16 ⁇ 16 macroblock instead of a raster scan method 1310 for scanning for each macroblock in a horizontal direction. (1320) is introduced.
- the current macroblock is included in a block that is one of a set of 16 ⁇ 16 macroblocks (16 ⁇ 16 MB), such as block 1330, and in a 32 ⁇ 32 super macroblock (32 ⁇ 32 S-MB), such as block 1340.
- Macroblocks macroblocks contained in 32x16 or 16x32 super macroblock pairs (32x16 / 16x32 S-MB), such as block 1350, 32x16 or 16x32 half-, such as block 1370 Macroblocks included in the super macroblocks 32 ⁇ 16/16 ⁇ 32 S-MB_half, 16 ⁇ 16 macroblocks (16 ⁇ 16 MB) such as block 1360, and the like.
- the group encoding mode determiner 120 of the image encoding apparatus 100 is one 32 ⁇ 32 super macroblock and four 16 ⁇ 16 macroblocks for each 32 ⁇ 32 super macroblock.
- the RD cost may be compared to determine that the encoding is performed in either 32 ⁇ 32 super macroblock mode or 16 ⁇ 16 macroblock mode.
- the present invention can be easily implemented using the existing encoding or decoding system.
- edge portion of the image that does not conform to the unit of the super macroblock may be easily processed using a 32 ⁇ 16 or 16 ⁇ 32 half-super macroblock such as block 1370 or a 16 ⁇ 16 macroblock such as block 1360. .
- the frequency coefficients 1400 of the 16 ⁇ 16 block may be rearranged into the 8 ⁇ 8 macroblock 1450 according to the interleaved method in the image encoding and decoding processes.
- the coefficients rearranged in 8 ⁇ 8 macroblock units may be entropy encoded or decoded in 8 ⁇ 8 macroblock units.
- An example of a method of rearranging coefficients of a 16 ⁇ 16 block in an interleaved manner in units of 8 ⁇ 8 macroblocks is 8 ⁇ of upper left, upper right, lower left, and lower right according to the positions of the coefficients of the 16 ⁇ 16 block. Can be rearranged to 8 macroblocks.
- the coefficients at the upper left of the coefficients of the 2x2 blocks among the 16x16 blocks are arranged as 8x8 macroblocks 1460 at the upper left. That is, the coefficient 1410 of the 16x16 block is arranged as the coefficient 1462 of the 8x8 macroblock 1460 in the upper left corner.
- the coefficients at the upper right of the coefficients of the 2x2 blocks among the 16x16 blocks are arranged in the 8x8 macroblock 1470 at the upper right. That is, the coefficient 1430 of the 16x16 block is arranged as the coefficient 1472 of the 8x8 macroblock 1470 in the upper right corner.
- the coefficients at the lower left of the coefficients of the 2x2 blocks among the 16x16 blocks are arranged in the 8x8 macroblock 1480 at the lower left. That is, the coefficient 1420 of the 16x16 block is arranged as the coefficient 1462 of the 8x8 macroblock 1480 at the lower left.
- the coefficients at the lower right of the coefficients of the 2x2 blocks among the 16x16 blocks are arranged as 8x8 macroblocks 1490 at the lower right. That is, the coefficient 1440 of the 16x16 block is arranged as the coefficient 1452 of the 8x8 macroblock 1490 at the lower right.
- CBP 15 compares an existing coding scheme with a syntax coding scheme associated with a coded block pattern (CBP) and a coefficient block size according to another embodiment of the present invention.
- CBP coded block pattern
- the encoding method 1510 of the coefficient considering the general coded block pattern (CBP) checks the CBP value (step 1520). If the CBP value is 0, the encoding process of the coefficient considering the CBP is terminated. If the CBP value is not 0, the flag TFlag indicating the coefficient block size is encoded (step 1530), and the current coefficient is encoded (step 1540), thereby encoding the coefficients considering the CBP.
- the 'Tflag' flag may indicate whether the coefficients are in units of 8x8 or 4x4 blocks.
- the CBP value is confirmed (step 1520). If the CBP value is 0, encoding of the coefficient considering the CBP is terminated. If the CBP value is not 0, a flag (TFlag8) indicating whether the current coefficient is a coefficient in units of 8 ⁇ 8 or 4 ⁇ 4 blocks is encoded (step 1560), and the determination result based on the value of the 'TFlag8' flag (step 1570). Is a coefficient in units of 4x4 blocks, the coefficient is encoded (step 1590), thereby completing the encoding of the coefficient.
- TFlag8 flag
- a flag (TFlag16) indicating whether the current coefficient is a coefficient of 8 ⁇ 8 or 16 ⁇ 16 block units is encoded.
- Step 1580 encoding of the coefficient is completed by encoding the current coefficient (step 1590).
- the present invention can be performed by encoding and frequency inverse transform through frequency conversion by a variable block size using two flags (TFlag8 and TFlag16) associated with data processing units in which frequency-converted coefficients are arranged. have.
- one embodiment of the present invention may introduce an integer unit of frequency transformation as well as the size of an array block of frequency transformed coefficients.
- the length of the end of block (EOB) can be reduced through an 8 ⁇ 8 interleaved coefficient block.
- the 'Tfalg8' flag value is 1, only 1 bit is additionally required for the overhead for the 16 ⁇ 16 inter mode. Since the energy compression efficiency is increased due to the blocks of various sizes, the frequency conversion frequency may be reduced.
- the video encoding apparatus 200 introduces a hierarchical CBP encoding scheme.
- a flag MB_CBP_flag indicating whether CBP information is encoded is encoded (step 1600).
- step 1610 if the value of the 'MB_CBP_flag' flag is 0, no further information is needed, and thus the CBP encoding process is terminated.
- step 1610 if the 'MB_CBP_flag' flag value is 1, encoding of the CBP for the corresponding macroblock is performed (step 1620).
- the image decoding apparatus 200 may extract the 'MB_CBP_flag' flag inserted in the received data, and determine whether decoding of the CBP is necessary for the macroblock to be decoded.
- FIG 17 shows an encoding mode of a B frame according to another embodiment of the present invention.
- the image encoding apparatus 100 and the image decoding apparatus 200 of the present invention may introduce a S-MB DIRECT mode in a super macroblock unit as an encoding mode for a B frame. If the encoding mode of the current super macroblock is a direct mode, texture coding should be performed.
- a flag MB_CBP_FLAG indicating whether CBP encoding is included in each of the 16 ⁇ 16 macroblocks 1720, 1730, 1740, and 1750 of the 32 ⁇ 32 super macroblock 1710 corresponds to the corresponding 16 ⁇ 16 macroblock. Indicates whether the 1720, 1730, 1740, and 1750 are the skip mode or the direct mode encoding.
- the motion vector may be estimated using the same motion estimation method as the direct mode according to the H.264 standard. .
- Another example of the image encoding apparatus 100 and the image decoding apparatus 200 may determine a block unit for a dynamic range division method based on a quantization parameter, a resolution, and a sequence characteristic.
- the data processing unit may be classified into various directions as well as the horizontal direction and the vertical direction.
- the first level may include a super macroblock of an estimation mode in which an intra mode and an inter mode are combined as well as a skip mode and an inter mode.
- the coding mode or data processing unit may be set for each data unit such as a picture, a sequence, a slice, a macroblock, and the like, and may be expressed by a maximum or minimum basic block size and a differentiation layer level.
- the binary tree of the hierarchical structure of the data processing unit may be divided into an n-ary tree.
- the size of blocks in order of the size of a block for motion estimation, the size of a block for frequency transformation, and the size of a block for deblocking filtering. May be kept equal to or less than.
- the data processing unit for motion estimation and the data processing unit for frequency conversion may be integrated or separated.
- Intra or inter mode macroblocks formed into any group may be formed into a group including any number of basic blocks.
- block estimation may be performed based on the size of the group, or frequency conversion may be performed based on the size of the group.
- the group may be formed of any number of skip blocks of macroblocks.
- FIG. 18 is a flowchart of an image encoding method according to an embodiment of the present invention.
- the image data classified as the basic block is classified into an extended concept including a group, a subgroup, and the basic block.
- the group may have attributes of size, shape and maximum level indicating the number of basic blocks, and the subgroup may be set according to the level and the scanning order.
- operation 1820 as a data processing unit used to encode a group, information about at least one of a group unit, a subgroup unit, and a basic block unit, and a method of encoding data of a group by the at least one data processing unit.
- the coding mode of the group containing the information is determined.
- the encoding mode of the group may be determined based on an error rate generated by encoding of data of the group performed for each data processing unit in the group. For each group, an optimal data processing unit and an estimation mode are selected by comparing the encoding error rate in group units, the lowest error rate among encoding error rates of all subgroups in the group, and the lowest error rate among encoding error rates of all basic blocks in the group.
- the coding mode of each group includes information about an optimal data processing unit and an estimation mode of the group.
- data of each group is encoded according to the determined encoding mode.
- information on whether or not the frequency-converted coefficients in the group are rearranged in a predetermined data processing unit, CBP encoding information, and the like may be encoded and inserted into the transmission data.
- 19 is a flowchart of an image decoding method according to an embodiment of the present invention.
- data encoded in one data processing unit among a basic block, a group, and a subgroup is received, and information necessary for decoding is parsed from the received data.
- Image data to be decoded from the received data may be parsed, and parameters necessary for decoding the image may be parsed.
- a predetermined group of encoding modes indicating a method of encoding data of a predetermined group by one data processing unit among a group, a subgroup, and a basic block is read from the data parsed in operation 1910.
- the group In order to determine the group, information representing the size, shape and maximum level of the group is extracted and read from the parsed data. Once the group is determined, the coding mode of each group is extracted and read.
- the data of a predetermined group is obtained by using information on which data processing unit has been extracted and read from the coding mode of the predetermined group, information related to the size and shape of the data processing unit, and information on a motion estimation method. Decrypted.
- 20A, 20B, 20C, 20D, 20E, and 20F illustrate block diagrams of modified embodiments of the image encoding apparatus 100, considering data processing units dynamically determined according to one embodiment, respectively.
- the group encoder 130 of the image encoding apparatus 100 encodes data of a group according to a data processing unit and an estimation mode based on the encoding mode of the group determined by the group encoding mode determiner 120. To this end, motion estimation, in-loop filtering, and entropy coding are performed, including frequency transform and quantization, intra estimation, and inter estimation.
- the image encoding apparatus 100 dynamically determines a data processing unit of a group. Therefore, the data processing unit of the group may be one of a hierarchical structure of a group, a subgroup, and a basic block.
- the data processing unit dynamically determined by the image encoding apparatus 100 may be a data processing unit not defined in the existing image encoding format, a unique process that is distinguished from the existing image encoding process is required. For example, when a large data processing unit having a larger size than a 16 ⁇ 16 or 8 ⁇ 8 macroblock is used, the group encoder 130 must perform an image encoding operation through a process considering a large data processing unit.
- 20A is a block diagram of a case in which frequency transform and quantization in consideration of a large data processing unit are applied to the group encoder 130 of the image encoding apparatus 100 according to an embodiment.
- the first embodiment of the group encoder 130 of the image encoding apparatus 100 includes a motion weight including a frequency transform and quantizer 2003, an intra estimator, and an inter estimator in consideration of a large data processing unit.
- An inverse 133, an in-loop filtering unit 137, and an entropy encoding unit 139 are included.
- the frequency transform and quantization unit 2001 considering the large data processing unit according to the first embodiment of the group encoder 130 performs frequency transform by the large data processing unit based on the encoding mode determined by the group encoding mode determiner 120. And an integer discrete cosine transform and quantization based on a large data processing unit to perform quantization.
- the frequency transform and quantization unit 2001 considering the large data processing unit according to the first embodiment of the group encoder 130 performs a chroma component of the large data processing unit to perform frequency transformation and quantization by the large data processing unit. Discrete cosine transform and quantization may be performed for.
- the frequency transform and quantization unit 2001 considering the large data processing unit according to the first embodiment of the group encoder 130 reduces the burden of the amount of computation that may be weighted by the discrete cosine transform based on the large data processing unit. To achieve this, a discrete cosine transform capable of low complexity operations can be performed.
- 20B is a block diagram when motion estimation processing considering a large data processing unit is applied to the group encoder 130 of the image encoding apparatus 100 according to an embodiment.
- a second embodiment of the group encoder 130 of the image encoding apparatus 100 is a frequency transform and quantization unit 131, a motion estimation unit 2003 by processing considering a large data processing unit, and The loop filter 137 and the entropy encoder 139 are included. Intra estimation and inter estimation may be performed based on processing considering a large data processing unit.
- the motion estimation unit 2003 by processing considering the large data processing unit according to the second embodiment of the group encoder 130 may consider the large data processing unit based on the encoding mode determined by the group encoding mode determiner 120. For example, a combination of a large data processing unit for motion estimation and a data processing unit for frequency conversion may be predetermined.
- the data processing unit for frequency conversion is preferably smaller than the data processing unit for motion estimation.
- the motion estimation unit 2003 by processing considering the large data processing unit according to the second embodiment of the group encoder 130 considers a large data processing unit, and scan method and neighbor block for motion estimation for each data processing unit. Neighbor availability can be determined as a reference block.
- the motion estimation unit 2003 by processing considering the large data processing unit according to the second embodiment of the group encoder 130 is square in order to save the transmission amount of the bit indicating the encoding mode in consideration of the large data processing unit.
- a simplified coding mode that only adopts a form data processing unit may be used.
- 20C is a block diagram of an intra estimation considering a large data processing unit is applied to the group encoder 130 of the image encoding apparatus 100 according to an embodiment.
- the third embodiment of the group encoder 130 of the image encoding apparatus 100 includes a frequency transform and quantizer 131, an intra estimator 2004 and an inter estimator in consideration of a large data processing unit ( 135, an in-loop filtering unit 137 and an entropy encoding unit 139.
- the intra estimator 2004 considering the large data processing unit according to the third embodiment of the group encoder 130 may further define an intra mode for performing intra estimation on a predetermined large data processing unit.
- the intra estimator 2004 considering the large data processing unit according to the third embodiment of the group encoder 130 estimates using the complex plain in the intra mode for accurate motion estimation of the larger data processing unit. Mode can be introduced.
- the intra estimator 2004 considering the large data processing unit according to the third embodiment of the group encoder 130 may limit the type of the large data processing unit capable of intra estimation.
- FIG. 20D is a block diagram of an inter estimation considering a large data processing unit is applied to the group encoder 130 of the image encoding apparatus 100 according to an embodiment.
- a fourth embodiment of the group encoder 130 of the image encoding apparatus 100 includes an inter estimator considering the frequency transform and quantizer 131, the intra estimator 134, and a large data processing unit. 2005), an in-loop filtering unit 137 and an entropy encoding unit 139.
- the inter estimator 2005 considering the large data processing unit according to the fourth embodiment of the group encoder 130 may introduce a mixed mode in which inter estimation and intra estimation may be mixed as an estimation mode of the large data processing unit. Can be.
- the inter estimator 2005 considering the large data processing unit according to the fourth embodiment of the group encoder 130 determines the motion vector MV for each large data processing unit and accordingly derives the motion vector estimator MVP. can do.
- the inter estimator 2005 considering the large data processing unit according to the fourth embodiment of the group encoder 130 newly introduces a skip mode for the large data processing unit and includes a plurality of skip processing data processing units.
- Skip groups can be set. All of the data processing units of the skip mode belonging to the skip group may be skipped together.
- FIG. 20E illustrates a block diagram when in-loop filtering considering large data processing units is applied to the group encoder 130 of the image encoding apparatus 100 according to an embodiment.
- a fifth embodiment of the group encoder 130 of the image encoding apparatus 100 includes a motion estimator 133 including a frequency transform and quantizer 131, an intra estimator, and an inter estimator.
- the loop filtering unit 2007 and the entropy encoder 139 are included.
- the in-loop filtering unit 2007 considering the large data processing unit according to the fifth embodiment of the group encoder 130 determines whether to filter the boundary of the lower processing unit inside the large data processing unit and adjusts the filtering strength. Can be.
- the in-loop filtering unit 2007 considering the large data processing unit according to the fifth embodiment of the group encoder 130 may perform in-loop filtering to reduce the ringing effect inside the large data processing unit.
- FIG. 20F is a block diagram of entropy coding considering a large data processing unit for the group encoder 130 of the image encoding apparatus 100 according to an embodiment.
- a sixth embodiment of the group encoder 130 of the image encoding apparatus 100 is a motion estimator 133 including a frequency transform and quantizer 131, an intra estimator, and an inter estimator.
- the loop filter 137 and the entropy encoder 2009 are included.
- the entropy encoder 2009 considering the large data processing unit according to the sixth embodiment of the group encoder 130 defines an encoding block pattern for the large data processing unit. Also, the entropy encoder 2009 may scan the coding block pattern based on a probability that a non-zero coding block pattern exists in the data processing unit.
- the in-loop filtering unit 2007 considering the large data processing unit according to the sixth embodiment of the group encoder 130 may use context-based adaptive binary arithmetic coding (CABAC) or context-based adaptive variable length for the large data processing unit. Coding (CAVLC) may be applied.
- CABAC context-based adaptive binary arithmetic coding
- CAVLC context-based adaptive variable length for the large data processing unit. Coding
- the in-loop filtering unit 2007 considering the large data processing unit according to the sixth embodiment of the group encoder 130 may set a new context of the coding block pattern for the large data processing unit.
- the first to sixth embodiments of the above-described group encoder 130 are unique processes that may be performed in consideration of a large data processing unit for each encoding process.
- a method of encoding an image sequence based on a large block which is one of the large data processing units over the entire image encoding process will be described with reference to FIG. 20G.
- 20G is a flowchart of an image encoding method considering a data processing unit dynamically determined according to an embodiment of the present invention.
- the image encoding method 2000 encodes the input image sequence 2010 by using a block corresponding to a predetermined encoding mode among the block 2020 having a hierarchical structure.
- the hierarchical structure 2020 of the block is the same as the hierarchical structure of the group, subgroup, and basic block described above with reference to FIG. 10.
- the image encoding method 2000 outputs an image bitstream through a frequency conversion and quantization step s2030, a motion estimation step s2040, an in-loop filtering step s2080, and an entropy encoding step s2090. s2098).
- the motion estimation step s2040 includes an intra estimation step s2060 and an inter estimation step s2070 based on the predetermined processing 2050.
- the frequency transform and quantization step s2030, the processing for motion estimation 2050, the intra estimation step s2060, the inter estimation step s2070, The in-loop filtering step s2080 and the entropy encoding step s2090 may also perform a unique process considering the large block.
- a unique process that takes into account the large block of the frequency transform and quantization step s2030 may include a large block-based integer discrete cosine transform and quantization 2032, a discrete cosine transform and quantization for chroma components of the large block. It may include at least one of a low complexity operation 2036 for a large block-based discrete cosine transform.
- a unique process considering large blocks of processing 2050 for motion estimation includes a combination 2052 of large blocks for motion estimation and large blocks for frequency transform, a block scanning method for motion estimation, and neighboring block reference possibilities 2054. ), At least one of the simplified mode 2056 of the large block of the hierarchical structure.
- the unique process considering the large block of the intra estimation step s2060 includes at least one of the introduction of the large block-based intra mode 2062, the introduction of the complex plane for intra estimation 2064, and the determination of the predictable intra mode 2066. It may include one.
- the unique process considering the large block of the inter estimation step s2070 includes the introduction of the estimation mode in which the intra mode and the inter mode are mixed (2072), the determination method of the motion vector (MV) of the large block, and the motion vector estimator (MVP). At least one of a derivation scheme 2074, a new skip mode of the large block, and the introduction 2076 of the skip group.
- the unique process considering the large block in the in-loop filtering step s2080 includes at least one of determining whether to filter the boundary inside the large block and determining the filtering strength 2082, and reducing the ringing effect reduction filtering 2084 inside the large block. can do.
- the unique process considering the large block in the entropy encoding step (s2090) includes the introduction of the coding block pattern (CBP) for the large block, the coding block pattern scanning method 2092, and the context-based adaptive binary arithmetic coding (CABAC) considering the large block. Or introduction of context-based adaptive variable length coding (CAVLC) 2094 or a context setting method 2096 for a coding block pattern of a large block.
- CBP coding block pattern
- CABAC context-based adaptive binary arithmetic coding
- the video encoding apparatus 100 or the video encoding method 2000 considering the large data processing unit described above with reference to FIGS. 20A to 20G may be a unique process considering the large data processing unit without significantly changing the existing video encoding format. Images can be encoded by adding or replacing them.
- the unique process considering the large data processing unit is preferably applied to the image decoding corresponding to the image encoding. Therefore, the unique process for each process described below may be applied to image decoding as well as image encoding.
- processing 2050 for inherent processing of the motion estimation unit 133 of the group encoder 130 of the image encoding apparatus 100 and motion estimation of the image encoding method 2000 according to an embodiment Is described in detail.
- processing for motion estimation may be applied to an image decoding apparatus corresponding to the image encoding apparatus 100 according to an exemplary embodiment.
- the processing for motion estimation may include a combination of a large data processing unit for motion estimation and a data processing unit for frequency conversion, a block scanning method for motion estimation, and the possibility of referencing a neighboring block of a neighboring block, Characterized by a simplified mode.
- the data processing unit for motion estimation is proportional to the data processing unit for motion estimation in the range below the maximum size of the data processing unit for motion estimation. Therefore, the data processing unit for frequency conversion may be expanded.
- the data processing unit for motion estimation is 32 ⁇ 32 or 16 ⁇ 16 macroblocks
- the data processing unit for frequency conversion is 32 ⁇ 32, 16 ⁇ 16, 8 ⁇ 8 according to the data processing unit for motion estimation. , 4 ⁇ 4 blocks.
- FIG. 21 illustrates a scan method for each data processing unit for motion estimation considering a large data processing unit according to an embodiment of the present invention.
- a super macroblock unit scan method is described.
- a large data processing unit in one frame 1320 is searched for an encoding mode by a zigzag scan method.
- the super macroblocks inside the frame 1320 may be aligned side by side in the horizontal and vertical direction so that the blocks may be arranged in units of 64 ⁇ 64 large blocks.
- the motion estimation scan scheme may be applied to a case in which super macroblocks within the frame 2100 are not aligned as illustrated in FIG. 21, in addition to the case illustrated in FIG. 13.
- the first scan object 2110 of the frame 2100 may not be a square super macroblock.
- Square shaped super macroblocks 2140 scanned in zigzag are not necessarily aligned side by side.
- the super macroblock 2120 and the super macroblock 2130 are adjacent neighboring blocks but are not aligned with each other.
- the neighboring block may be used as the reference block in the same manner as the existing neighboring block estimation and context.
- the reference block is changed in some cases, so that the motion vector estimator or intra estimator of the current block may be set to point to a block of the same size at the nearest position. Can be.
- FIG. 22 illustrates availability of neighboring neighboring data processing units in motion estimation considering a large data processing unit according to an embodiment of the present invention.
- FIG. 22 As examples of data processing units, existing 16 ⁇ 16 macroblocks 2200 and 32 ⁇ 32 super macroblocks 2250 are used.
- whether the upper right neighbor block can be used as a reference block is whether the neighboring block has already been scanned and the position index unit. Can be determined by.
- Blocks within one frame may refer to the first block group 2202 that may refer to the upper right neighboring block for each 4 ⁇ 4 block that is the minimum data unit, and cannot refer to the neighboring block on the upper right only in the case of 4 ⁇ 4 index.
- the second block group 2204 which cannot refer to the upper right neighboring block only in case of 8 ⁇ 8 index
- the third block group 2206 which cannot refer to the upper right neighboring block only in case of 16 ⁇ 16 index
- the fourth block group 2208 is classified.
- the 4 ⁇ 4 blocks a 1 , a 2 , a 3 , b 1 , b 2 , b 3 , c 1 , c 2 , c 3 , d 1 , d 2 corresponds to the first block group 2202 that may refer to the neighboring block on the upper right side.
- the 4 ⁇ 4 blocks a 4 , b 4 , c 4 , and d 4 correspond to the second block group 2204 which cannot refer to the neighboring block on the upper right side only in the case of the 4 ⁇ 4 index.
- the 4x4 block d 2 corresponds to the third block group 2206 which cannot refer to the neighboring block on the upper right side only in the case of an 8x8 index.
- the first block group 2202, the second block group 2204, and the third block group 2206 may be classified with respect to neighboring block referencing possibilities.
- a 16 ⁇ 16 index may be added in addition to a 4 ⁇ 4 or 8 ⁇ 8 index to determine a reference block. Therefore, there may be a fourth block group 2208 that cannot refer to the neighboring block on the upper right side only in the case of 16 ⁇ 16 index.
- 4 ⁇ 4 blocks A 4 , B 4 , C 4 , D 4 , E 4 , F 4 , G 4 , H 4 , I 4 , J 4 , K 4 , L 4 , M 4 , N 4 , O 4 , P 4 corresponds to the second block group 2204 which cannot refer to the neighboring block on the upper right side only in the case of the 4x4 index.
- the 4 ⁇ 4 blocks D 2 , H 2 , L 2 , and P 2 correspond to the third block group 2206 that cannot refer to the neighboring block on the upper right side only in the case of an 8 ⁇ 8 index.
- the 4x4 block N 2 corresponds to the fourth block group 2208 which cannot refer to the neighboring block on the upper right side only in the case of 16x16 index.
- the neighboring block reference possibility of the upper right side may be used as an input variable of a condition for determining a motion vector estimator or an intra estimator or a derivation function of the motion vector estimator or an intra estimator. Therefore, when a large data processing unit is introduced according to an embodiment, the possibility of referencing a neighboring block on the upper right side by a 16 ⁇ 16 index is added as an input variable of a condition or a derivation function for determining a motion vector estimator or an intra estimator. Can be.
- 23A illustrates a simplified hierarchical data processing unit of a large data processing unit according to an embodiment of the present invention.
- a data processing unit may include blocks having a square shape (32 ⁇ 32, 16 ⁇ 16, 8 ⁇ 8, 4 ⁇ 4), and It includes all rectangular blocks 32 ⁇ 16, 16 ⁇ 32, 16 ⁇ 8, 8 ⁇ 16, 8 ⁇ 4, and 4 ⁇ 8. According to the hierarchical structure 1000 of data processing units, encoding by various data processing units is possible.
- the image encoding apparatus 100 may be simplified to a hierarchical structure 2310 of a data processing unit including only blocks having a square shape.
- the first layer 2310 may include a 32 ⁇ 32 super macroblock in an intra mode, a 32 ⁇ 32 super macroblock in a skip mode, a 32 ⁇ 32 super macroblock in an inter mode, and a 16 ⁇ 16 macroblock.
- the first layer 2310 may be frequency-converted in at least one of 32 ⁇ 32, 16 ⁇ 16, 8 ⁇ 8, and 4 ⁇ 4 block units.
- the second layer 2320 may include 16 ⁇ 16 macroblocks in an intra mode, 16 ⁇ 16 macroblocks in a skip mode, 16 ⁇ 16 macroblocks in an inter mode, and 8 ⁇ 8 macroblocks in an inter mode.
- the second layer 2320 may be frequency-converted in at least one of 16 ⁇ 16, 8 ⁇ 8, and 4 ⁇ 4 block units.
- the third layer 2330 may include 8 ⁇ 8 macroblocks in a skip mode, 8 ⁇ 8 macroblocks in an inter mode, and 4 ⁇ 4 blocks in an inter mode.
- the third layer 2330 may be frequency-converted in at least one unit of 8 ⁇ 8 and 4 ⁇ 4 block units.
- blocks of the inter mode and the intra mode having the same size and shape exist, respectively.
- the bits representing the encoding modes can be saved.
- the syntax 2350 includes various information according to an encoding mode of a predetermined data processing unit.
- a value of 'mode' 2352 indicates an encoding mode.
- a 'ref_idx / mvd' value 2354 indicates a variation of the reference index and the motion vector.
- a 'coded_block_pattern' value 2356 represents a coding block pattern.
- a 'transform_size_flag' value 2358 indicates the size of a data processing unit for frequency transformation.
- a 'residual ()' value 2360 represents information about the residual component.
- bits of the 'mode' value 2352 may be saved.
- the 'coded_block_pattern' value 2356 and the 'transform_size_flag' value 2358 of the syntax 2350 may be modified.
- a unique process considering a large data processing unit is introduced. can do.
- a large block based intra mode 2062 is added. For example, 32 ⁇ 32 super macroblocks in intra mode and 16 ⁇ 16 macroblocks in intra mode may be added.
- an encoding mode indicating that intra estimation is possible for each data processing unit may be individually determined.
- an estimation mode in which intra mode and inter mode are mixed may be set for any large data processing unit.
- the intra mode or the inter mode may be mixed for each lower data processing unit in the large data processing unit.
- a skip mode for a large data processing unit is newly defined, and a skip group including data processing units of at least one skip mode may be introduced.
- a skip group including 32x32 super macroblocks in a skip mode and 32x32 super macroblocks in a plurality of skip modes is proposed through FIGS. 24A-24C below.
- 24A, 24B and 24C illustrate various configurations of skip groups according to an embodiment of the present invention.
- a 32 ⁇ 32 super macroblock is used as the large data processing unit of FIGS. 24A, 24B, and 24C.
- blocks in adjacent skip modes may be grouped into a skip group and simultaneously skipped for a skip group. Therefore, when a skip group is read while scanning one frame, it should be determined whether adjacent neighboring blocks are blocks of a skip mode included in the same skip group.
- an indication is needed to indicate whether a given block is in skip mode and included in a skip group.
- 24A, 24B and 24C use a skip mode flag as an indication to indicate whether a given block is a skip mode and included in a skip group. If the skip mode flag is '0', the corresponding block is a non-skip mode block, and if it is '2', the corresponding block is the start block of the skip group and '1' indicates that the block belongs to the skip group.
- a position of a skip group may be selected to search for a block that is a skip mode in a frame and scan the skip group.
- a maximum size of a skip group including blocks of adjacent skip modes may be limited.
- the position of the skip group when the position of the skip group is fixed and the size is fixed (frame 2400 of FIG. 24A), the position of the skip group is fixed and is of any size.
- skip groups When formed (frame 2440 in FIG. 24B), skip groups may be located at all positions and skip processing may be performed when formed in any size (frame 2470 in FIG. 24C).
- the size of the skip group is fixed to 64 ⁇ 64 blocks. Therefore, in order to search the scan group, it is necessary to search whether only the 32 ⁇ 32 super macroblock located at the upper left of every 64 ⁇ 64 block is in the skip mode. For example, since the skip mode flag of the 32 ⁇ 32 super macroblock 2412 is indicated as '0', the 64 ⁇ 64 block 2410 including the super macroblock 2412 is not skipped. Can be confirmed.
- the skip mode flag of the super macroblock 2432 is marked as '2', it may be confirmed that the skip mode flag is the start block of the skip group. Since the size of the skip group of the first frame 2400 is fixed to 64 ⁇ 64 blocks, the 64 ⁇ 64 block 2430 including the super macroblock 2432 at the upper left is a skip group. In addition, it can be expected that all other super macroblocks (2434, etc.) in the 64x64 block 2430 are all blocks of the skip mode in which the skip mode flag is '1'.
- the size of the skip group is not fixed, but the position where the skip group can start is fixed. That is, since the skip group can be started from the 32 ⁇ 32 block located at the upper left of every 64 ⁇ 64 block, when the frame 2440 is scanned, the skip mode flag of the 32 ⁇ 32 block located at the upper left of every 64 ⁇ 64 block is displayed. Just check whether it is '0' or '2'. For example, if it is scanned that the skip mode flag of the 32 ⁇ 32 block on the upper left of the 64 ⁇ 64 block 2450 is '0', it is confirmed that the 64 ⁇ 64 block 2450 is not a skip group.
- the skip group flag 2460 starting from the 32x32 block 2461 should be determined since the skip mode flag is '2'.
- 32 ⁇ 32 blocks 2442, 2463, 2464, having the skip mode flag '1' in succession, 2465, 2466, 2467, 2468, and 2469 may be identified as being included in the same skip group 2460 as the 32 ⁇ 32 block 2241.
- the skip mode flag of the 32 ⁇ 32 block in the fixed position should be checked, but the block that has already been scanned and confirmed to be included in the predetermined skip group is not scanned.
- 32 ⁇ 32 blocks 2463, 2467, and 2469 are located at the top left of each 64 ⁇ 64 block, so that the fixed mode block should be skipped because the skip mode flag should be scanned, but already skip groups according to the previous scan order. It is confirmed that the block included in (2460). Therefore, the 32 ⁇ 32 blocks 2463, 2467, and 2469 are scanned without going through to the next position.
- the skip mode flag and the size of the skip group of the 32 ⁇ 32 block of the fixed position may be transmitted from the encoding end and received by the decoding end.
- the decoding end may read the skip mode flags of the blocks of the frame to identify whether the block is the skip mode.
- the skip mode flag does not need to be transmitted and received separately for a block indicating that the skip mode flag is '1' and that it is a block of another skip group.
- the size of the skip group is not fixed, and the position at which the skip group can start is not fixed. Therefore, when scanning frame 2470, skip mode flags of all 32x32 blocks should be checked.
- a skip group 2480 starting from the 32x32 block 2482 should be determined.
- all 32 ⁇ 32 blocks having a skip mode flag of '1' are all 32 ⁇ 32 blocks (2482). It can be confirmed that it is included in the same skip group (2480).
- skip group 2480 After the skip group 2480 is determined, the 32 ⁇ 32 blocks included in the skip group 2480 are skipped without scanning, and the scan proceeds to the next 32 ⁇ 32 block 2492 that does not belong to the skip group 2480. Similarly, skip group 2490 may be determined starting with 32 ⁇ 32 block 2492.
- the skip mode flag of the 32 ⁇ 32 block and the size of the skip group at all positions may be transmitted from the encoder and received by the decoder.
- the decoding end may identify whether the skip mode is a block mode for each block in the corresponding frame using the skip mode flag.
- the skip mode flag does not need to be transmitted and received separately for the 32 ⁇ 32 block identified as being included in another skip group.
- the skip mode blocks can be skipped into groups according to various embodiments described above with reference to FIGS. 24A, 24B, and 24C.
- bits for indicating a skip mode for each block can be saved.
- the skip mode can be efficiently searched without all the blocks having to be scanned.
- the motion vector MV according to the inter estimation may be determined in a large data processing unit, and the motion vector estimator MVP may also be derived in a large data processing unit.
- 25A and 25B illustrate a motion vector derivation method in a large data processing unit and a motion vector derivation method of a lower data processing unit according to an embodiment of the present invention.
- the motion vector MV and the motion vector estimator MVP generated by inter estimation are derived in a large data processing unit.
- a large data processing unit (a group of 16 ⁇ 16 macroblocks, that is, 32) using a motion vector of an existing data processing unit (16 ⁇ 16 macroblocks) is used.
- a method of deriving a motion vector (x 32 blocks) is disclosed.
- the motion vector mvs for the 32 ⁇ 32 super macroblock inter 32 ⁇ 32 which is the inter mode is estimated or Induced.
- a motion vector of a super macroblock may be derived using a motion vector of a macroblock.
- mv 1 , mv 2 , and mv 3 represent mv 0 .
- mv 1 , mv 2 , and mv 3 may be estimated according to Equation 6 below.
- the median (x, y) function is a function for obtaining an intermediate value of x and y, and the input variable 'neighbors' represents a representative motion vector of adjacent large data processing units.
- the motion vector of the 16 ⁇ 16 macroblock may be estimated as the median value of the motion vector mv 0 of the representative 16 ⁇ 16 macroblock 2502 and the representative motion vector of the adjacent 32 ⁇ 32 block.
- one motion vector may be regarded as a motion vector of each of the 16 ⁇ 16 macroblocks without having to measure all the motion vectors for each 16 ⁇ 16 macroblock, and each 32 ⁇ 32 super macroblock unit.
- the motion vector of mv s can be estimated from the motion vector of the 16 ⁇ 16 macroblock.
- an additional signal for signaling a motion vector mv 0 (or a motion vector mv s of 32 ⁇ 32 blocks) of one macroblock is used for signaling about a motion vector of 32 ⁇ 32 blocks between an encoding end and a decoding end. You need to send a flag. Also, the decoder may derive the remaining unsigned motion vectors mv 1 , mv 2 , and mv 3 through three derivation processes using the received motion vectors.
- FIG. 25B another method of estimating a motion vector of a 32 ⁇ 32 block using a 16 ⁇ 16 macroblock motion vector is proposed.
- Another estimation method subsamples the 32x32 block 2510 into 16x16 macroblocks to estimate the motion vector of the 32x32 block using the motion vectors of the subsampled blocks.
- the upper left pixel 2512, the upper right pixel 2514, the lower left pixel 2516, and the lower right pixel 2518 are respectively an upper left macroblock 2522 and an upper right macroblock 2524, respectively.
- subsampled 16 ⁇ 16 macroblocks 2522, 2524, 2526, and 2528 may be generated.
- Each of the motion vectors mv 0 ′, mv 1 ′, mv 2 ′, and mv 3 ′ of the subsampled 16 ⁇ 16 macroblocks 2252, 2524, 2526, and 2528 may be derived as follows.
- the motion vectors mv 0 ′, mv 1 ′, mv 2 ′, and mv 3 ′ of the 16 ⁇ 16 macroblocks 2522, 2524, 2526, and 2528 measure only one of the motion vectors, and the remaining motion vectors are also measured. Can be estimated.
- the frequency transform and quantization step of the image encoding apparatus 100 and the image encoding method 2000 according to an embodiment (s2030) according to an embodiment are unique in consideration of large data processing units.
- the process of can be introduced.
- the data processing unit for each encoding mode may be larger than the existing macroblock size
- a large block-based integer discrete cosine transform and quantization other than 8 ⁇ 8 or 4 ⁇ 4 blocks may be introduced, and (i-2)
- the size of the data processing unit may be changed according to the luma component in consideration of a color specification.
- a modified form of a discrete cosine transform for a low complexity operation may be introduced to reduce the computational burden caused by the (i-3) large block-based discrete cosine transform.
- 26A and 26B illustrate various motion estimation schemes for chroma components of a large data processing unit according to an embodiment of the present invention.
- Discrete cosine transform 2034 for a large block based chroma component is described below.
- YUV color specification formats include the YUV 420 format and the YUV 444 format.
- FIG. 26A illustrates a frequency conversion method for each estimation mode for the YUV 420 format
- FIG. 26B illustrates a frequency conversion method for each estimation mode for the YUV 444 format.
- the data processing unit of each estimation mode for the luma component is 32 ⁇ 32 super macroblock.
- the block diagram 2600 of FIG. 26A is a frequency transform and quantization unit 2001 that considers a large data processing unit, and illustrates a frequency conversion scheme applicable to each of the estimation modes for the chroma component of the YUV 420 format.
- the ratio of bits allocated to each of the Y, U, and V components is 4: 1: 1, so that the luma corresponding to the Y component is the bit amount allocated to each of the chroma components corresponding to the U and V components. Less than a quarter of the amount of bits assigned to the component. Therefore, it is preferable that the size of the data processing unit for the chroma component is one fourth or less as compared with the size of the data processing unit for the luma component.
- the maximum size of the data processing unit for frequency conversion for chroma components is preferably 16 ⁇ 16 blocks, which is one quarter of 32 ⁇ 32 blocks.
- encoding may be performed on the chroma component of the large data processing unit according to an embodiment through quantization 2630 and entropy encoding 2640. Can be.
- the block diagram 2650 of FIG. 26B is another embodiment of the frequency conversion and quantization unit 2001 considering a large data processing unit, and illustrates a frequency conversion scheme applicable to each of the estimation modes for the chroma component of the YUV 444 format.
- the bit amount allocated to each of the chroma components is the same as the bit amount allocated to the luma component.
- the maximum size of the data processing unit for the luma component is 32 ⁇ 32 blocks
- the maximum size of the data processing unit for the chroma component may also be 32 ⁇ 32 blocks.
- a 4x4 discrete cosine transform and a 2x2 Hadamard transform 2662 i.e., 8x8, after directional intra estimation 2661 of 8x8 blocks is performed.
- a new data processing unit in which a 16x16 discrete cosine transform (2664) is performed after (ii) a 16x16 block of directional intra estimation (2663) is performed, and (iii) 32x
- a new data processing unit may be added in which a 32 ⁇ 32 discrete cosine transform 2666 is performed after 32 blocks of directional intra estimation 2665 are performed.
- encoding is performed on the chroma component of the large data processing unit according to an embodiment through quantization 2680 and entropy encoding 2690. Can be.
- FIG. 27 A table that summarizes the relationship between the estimation mode and the frequency transform block according to the block diagrams 2600 and 2650 illustrated with reference to FIGS. 26A and 26B is illustrated in FIG. 27. Accordingly, the size of the frequency transform block for the chroma component may be derived according to the size of the frequency transform block for the luma component for each estimation mode.
- FIG. 27 illustrates a scheme of deriving a size of a data processing unit for a chroma component of a large data processing unit according to an embodiment of the present invention.
- the (i-1) large block based integer discrete cosine transform and quantization 2032 and (i-2) the discrete block cosine transform 2034 for the large block based chroma component are described below.
- the size of the frequency transform block for the chroma component is less than a quarter of the size of the frequency transform block for the luma component.
- the minimum size of the frequency conversion block is 8 ⁇ 8 blocks.
- the data processing unit for the discrete cosine transform for the luma component of the intra mode includes 32 ⁇ 32, 16 ⁇ 16, 8 ⁇ 8, and 4 ⁇ 4 blocks. Therefore, when the discrete cosine transform block for the luma component of the intra mode of the YUV 420 format is 32 ⁇ 32 blocks, the discrete cosine transform block of the chroma component may be derived as a 16 ⁇ 16 block. In addition, when the discrete cosine transform block for the luma component of the intra mode of the YUV 420 format is 16 ⁇ 16, 8 ⁇ 8, and 4 ⁇ 4 blocks, the discrete cosine transform block of the chroma component is an 8 ⁇ 8 block that is a minimum data unit. Can be induced.
- the data processing unit for the discrete cosine transform for the luma component of the inter mode includes 16 ⁇ 16, 8 ⁇ 8, and 4 ⁇ 4 blocks. Therefore, when the discrete cosine transform block for the luma component of the inter mode of the YUV 420 format is 16 ⁇ 16, 8 ⁇ 8, and 4 ⁇ 4 blocks, the discrete cosine transform block of the chroma component is an 8 ⁇ 8 block that is a minimum data unit. Can be induced.
- the size of the frequency transform block for the chroma component may be the same as the size of the frequency transform block for the luma component.
- the minimum size of the frequency conversion block is 8x8 blocks.
- the data processing unit for the discrete cosine transform for the luma component of the intra mode includes 32 ⁇ 32, 16 ⁇ 16, 8 ⁇ 8, and 4 ⁇ 4 blocks. Therefore, if the discrete cosine transform block for the luma component of the intra mode of the YUV 444 format is 32 ⁇ 32 block and 16 ⁇ 16 block, the discrete cosine transform block of the chroma component is led to 32 ⁇ 32 block and 16 ⁇ 16 block, respectively. Can be.
- the discrete cosine transform block for the luma component of the intra mode of the YUV 444 format is an 8 ⁇ 8 or 4 ⁇ 4 block
- the discrete cosine transform block of the chroma component may be derived as an 8 ⁇ 8 block that is a minimum data unit. have.
- the data processing unit for discrete cosine transform for the luma component of the inter mode of the YUV 444 format includes 16 ⁇ 16, 8 ⁇ 8, and 4 ⁇ 4 blocks. Therefore, when the discrete cosine transform block for the luma component of the inter mode of the YUV 444 format is a 16 ⁇ 16 block, the discrete cosine transform block of the chroma component may be derived as a 16 ⁇ 16 block. In addition, when the discrete cosine transform block for the luma component of the inter mode of the YUV 444 format is an 8 ⁇ 8 or 4 ⁇ 4 block, the discrete cosine transform block for the chroma component may be derived as an 8 ⁇ 8 block that is a minimum data unit. Can be.
- the data processing unit for the chroma component can be derived from the data processing unit for the discrete cosine transform of the luma component.
- the frequency conversion for each estimation mode has been described using only the YUV 420 format and the YUV 444 format among the YUV color standard formats, the image encoding or the image decoding according to the dynamically determined data processing unit according to the embodiment is performed in the YUV 420 format and the YUV 444 format. It is not limited only to.
- the in-loop filtering unit 2007 of the image encoding apparatus 100 and the frequency conversion and quantization step s2080 of the image encoding method 2000 may be unique in consideration of large data processing units. You can introduce a process.
- the size of the large data processing unit may be larger than that of the existing macroblock, filtering on the inside of the large data processing unit needs to be considered.
- a unique process related to in-loop filtering considering a large data processing unit may include determining whether to perform filtering on lower data processing unit boundaries inside the large data processing unit, and determining a filtering strength for each boundary. It may include filtering to reduce the ringing effect according to the encoding of the data processing unit.
- whether to perform filtering on the boundary of the lower data processing unit inside the large data processing unit and the method of determining the filtering strength for each boundary may be determined in the existing image encoding or image decoding.
- the in-loop filtering related flag used in in-loop filtering may be described as follows.
- an in-loop filtering related flag is set.
- the in-loop filtering related flag may include a first flag ('filterLeftMbEdgeFlag') indicating whether in-loop filtering is performed on a boundary between the current macroblock and the left neighboring macroblock, and a boundary between the current macroblock and the upper neighboring macroblock. It includes a second flag ('filterTopMbEdgeFlag') indicating whether to perform in-loop filtering for.
- In-loop filtering related flag is also used to reduce block artifacts caused by frequency transformation based on 8 ⁇ 8 or 4 ⁇ 4 blocks within a 16 ⁇ 16 or 8 ⁇ 8 macroblock. Or it may include a third flag ('filterInternalEdgeflag') indicating whether in-loop filtering is performed in the 8x8 macroblock.
- 'filterInternalEdgeflag' indicating whether in-loop filtering is performed in the 8x8 macroblock.
- the in-loop filtering related flag may include a fourth flag ('chromaEdgeflag') indicating whether in-loop filtering is performed on the boundary of the block for the chroma component.
- the first, second, and fourth flags are set to '0', and the current boundary is If the boundary is outside the large data processing unit, the first, second, and fourth flags may be set to '1'. That is, an in-loop filtering related flag may be set to not perform in-loop filtering on the boundary of the macroblock included in the large data processing unit.
- the third flag when frequency conversion is performed by a 16 ⁇ 16 macroblock, the third flag may be set to '0'. That is, when the frequency is converted to 16 ⁇ 16 macroblocks in the encoding mode of 16 ⁇ 16 macroblock units, the in-loop filtering is not performed to reduce the boundary effect due to the frequency conversion in the 16 ⁇ 16 macroblocks.
- the filtering related flag may be set.
- the in-loop filtering related flag is a fifth flag ('mixedModeEdgeFlag') indicating whether in-loop filtering is performed on a boundary between neighboring blocks of different estimation modes in case of a macroblock of an estimation mode mixed with intra mode and inter mode. It may include.
- the current data processing unit is the large data processing unit under the condition of the fifth flag. You can add additional cases. Also, the in-loop filtering strength may be individually set for each boundary of the lower data processing unit inside the large data processing unit.
- a ringing effect may occur in addition to the boundary effect. Therefore, in in-loop filtering of image encoding and image decoding according to an embodiment, filtering for reducing a ringing effect according to encoding of a large data processing unit may be performed.
- the entropy encoding unit 2009 of the image encoding apparatus 100 and the entropy encoding step s2090 of the image encoding method 2000 introduce a unique process considering a large data processing unit. can do.
- a unique process for entropy encoding or decoding considering a large data processing unit may include a hierarchical coding block pattern (CBP) and a scanning method of a coding block pattern considering a large data processing unit (2092). ), The introduction of context-based adaptive binary arithmetic coding (CABAC) or context-based adaptive variable length coding (CAVLC) in consideration of large data processing units (2094), coding block patterns for large data processing units of intra mode or chroma components. An introduction 2096 of a single context for.
- CABAC context-based adaptive binary arithmetic coding
- CAVLC context-based adaptive variable length coding
- FIG. 28 is a flowchart of a method using a coding block pattern considering a large data processing unit according to an embodiment of the present invention.
- Entropy encoding and entropy decoding may use not only a coding block pattern CBP8 for an 8 ⁇ 8 block, which is a conventional coding block pattern, but also a hierarchical coding block pattern considering a large data processing unit.
- an encoding mode of a data processing unit may include an inter mode (Inter_32 ⁇ 32) of a 32 ⁇ 32 super macroblock, an inter mode (Inter_32 ⁇ 16) of a 32 ⁇ 16 super macroblock, and a 16 ⁇ 32 super.
- the encoding mode of the data processing unit of the 16x16 block or more, such as the interblock (Inter_16x32) of the macroblock the coding block pattern CBP16 for the 16x16 block is added. Therefore, entropy encoding or decoding may be performed according to a hierarchical coding block pattern including CBP16 and CBP8.
- step 2810 it is determined whether CBP16 (Luma_CBP16) for the luma component is '1', and if it is '0', the texture processing operation for entropy encoding is terminated. If CBP16 (Luma_CBP16) for the luma component is '1', a flag Tr_type indicating the size of the data processing unit is encoded in step 2820, and then CBP8 is encoded in step 2830. In step 2840, texture processing for the luma component is performed.
- step 2850 it is determined whether CBP16 (Chroma_CBP16) for the chroma component is '1', and in step 2860, texture processing for the chroma component is performed.
- a coding block pattern CBP16 of a 16 ⁇ 16 block is added.
- the case is illustrated, even when the data processing unit is further modified, there may be a modified coding block pattern in consideration of the data processing unit.
- 29A and 29B illustrate various methods of scanning a coding block pattern considering a large data processing unit according to an embodiment of the present invention.
- a scanning method 2092 of the coding block pattern CBP considering the large data processing unit will be described below.
- the entropy encoding scans the data processing unit 2900 and searches for a coding block pattern other than '0'.
- the conventional scan method scans an 8 ⁇ 8 square block interleaved.
- Entropy encoding introduces a method of reciprocating in a zigzag scan around a diagonal line from the upper left to the lower right of the data processing unit 2900. Since the coding block pattern located at the upper left corner of the data processing unit 2900 has a higher probability of not being zero, the efficiency of entropy coding for encoding a non-zero valid bit may be improved.
- the data processing unit 2900 may be divided into a plurality of boundaries 2910, 2920, 2930, 2940, 2950, 2960, and 2970 to scan efficiency of the coding block pattern.
- the zigzag scan method it is detected whether there is a non-zero coding block pattern (the position with the 'x' mark) among strips of the region between the boundaries, and only the strips containing the non-zero coding block pattern are encoded. desirable.
- the scanning method of the coding block pattern scans the data processing unit 2900 to scan a first region before the boundary 2910, a first region between the boundaries 2910, and 2920, and a third region between the boundaries 2920 and 2930.
- Area, fourth area between borders 2930 and 2940, fifth area between borders 2940 and 2950, sixth area between borders 2950 and 2960, seventh area between borders 2960 and 2970, and eighth area after border 2970 The strip of the region including the coding block pattern other than '0' should be encoded.
- FIGS. 29A and 29B two schemes are shown in FIGS. 29A and 29B, respectively, to represent strips of regions that contain non-zero coding block patterns to save transmission bits.
- 'effective strip' and 'end strip' are defined to indicate that only data of at least one area from the area of the effective strip to the area of the ending strip is valid data.
- an 'end strip' may be defined to indicate that only data of at least one area up to an area of the 'end strip' is valid data.
- a flag indicating an end strip on a syntax may be defined in order to determine a scan area of a coding block pattern of the data processing unit 2900. There is no need for a flag indicating that the strip is not finished before the area of the ending strip. Thus, for the transmission bits of one data processing unit 2900, only one bit for the flag indicating the end strip in relation to the coding block pattern is needed.
- a single context of a new coding block pattern and a new coding block pattern for an intra mode or a large data processing unit of a chroma component may be defined according to an introduction of an encoding mode of a large data processing unit.
- an encoding mode of a large data processing unit may include an intra mode (Intra_32 ⁇ 32) of a 32 ⁇ 32 super macroblock, an intra mode (Intra_16 ⁇ 16) of a 16 ⁇ 16 macroblock, and a 16 ⁇ 16 macro.
- Intra mode (Cr_16 ⁇ 16, Cb_16 ⁇ 16) for the chroma component of the block may be newly included.
- the context of the coding block pattern of the current data processing unit is preferably set to one context for the coding block pattern for each large data processing unit.
- the context of the coding block pattern in the inter mode may be set in the same manner as the context of the coding block pattern for an 8x8 macroblock which is an existing inter mode. Accordingly, the context of the current 8x8 macroblock may be determined using the context of the neighboring 8x8 macroblock in inter mode.
- the decoding stage when decoding an image bitstream encoded by entropy encoding based on a large data processing unit, entropy decoding considering the large data processing unit is necessary. For example, the decoding unit according to an embodiment reconstructs an image by entropy decoding using an encoding block pattern for each 16 ⁇ 16 macroblock.
- FIGS. 30A, 30B, 30C, 30D, 30E, and 30F illustrate block diagrams of modified embodiments of the image decoding apparatus 200 considering data processing units dynamically determined according to one embodiment, respectively.
- the group decoder 230 considers entropy decoding, inverse quantization and inverse frequency transformation, intra estimation and motion in consideration of the large data processing unit.
- a reconstructed image is generated through compensation and in-loop filtering.
- the receiver 210 may receive an image bitstream transmitted from the image encoding apparatus 100, and the group encoding mode reader 220 may read an encoding mode from the image bitstream.
- the encoding mode can be read from syntax, flags, and the like.
- the group decoder 230 encodes the group data based on the read encoding mode.
- the group decoder 230 may perform a unique process that is distinguished from an existing video encoding / decoding format for decoding in consideration of a dynamically determined data processing unit.
- the unique processes considering the large data processing unit among the dynamically determined data processing units correspond to the techniques described above with reference to FIGS. 21 to 29B.
- a unique process for each process of the group decoder 230 will be described in detail.
- 30A illustrates a block diagram of entropy decoding considering a large data processing unit for the group decoder 230 of the image decoding apparatus 200 according to an exemplary embodiment.
- the first embodiment of the group decoder 230 of the image decoding apparatus 200 includes an entropy decoder 3010, an intra estimator and a motion compensator 233, and inverse quantization considering a large data processing unit. And an inverse frequency converter 237 and an in-loop filter 239.
- the entropy decoding unit 3010 considering the large data processing unit according to the first embodiment of the group decoding unit 230 performs entropy decoding by the large data processing unit based on the encoding mode read by the group encoding mode reading unit 220. Can be done. Entropy decoding performed by the entropy decoding unit 3010 is [[VI. Entropy encoding]] is the operation of decoding the entropy encoded bitstream.
- the coding block pattern described above with reference to FIGS. 28 to 29B may be used in the entropy decoding unit 3010 according to an embodiment.
- the read coding block pattern may be encoded by being scanned according to a direction in which a coding block pattern other than '0' has a high probability of occurrence.
- the entropy decoding unit 3010 considering the large data processing unit according to the first embodiment of the group decoder 230 may perform context-based adaptive binary processing on the large data processing unit in order to perform entropy decoding by the large data processing unit.
- Arithmetic coding (CABAC) or context-based adaptive variable length coding (CAVLC) may be used.
- the entropy decoding unit 3010 considering the large data processing unit according to the first embodiment of the group decoder 230 may decode a newly set context for an encoding block pattern based on the large data processing unit.
- FIG. 30B is a block diagram when motion estimation processing considering a large data processing unit is applied to the group decoder 230 of the image decoding apparatus 200 according to an embodiment.
- a second embodiment of the group decoder 230 of the image decoding apparatus 200 includes an entropy decoder 231, an intra estimator and a motion compensator 3030 according to processing considering a large data processing unit. And an inverse quantization and inverse frequency converter 237 and an in-loop filter 239.
- the intra estimator and the motion compensator 3030 according to the processing considering the large data processing unit according to the second embodiment of the group decoder 230 are large data based on the encoding mode read by the group encoding mode reading unit 220.
- motion estimation or compensation may be performed according to a process.
- processing considering a large data processing unit is [[III. Motion estimation processing].
- the data processing unit may be determined by a combination of a large data processing unit for motion estimation and a data processing unit for frequency conversion.
- the intra estimator and the motion compensator 3030 perform motion estimation for each data processing unit determined in consideration of the large data processing unit.
- the scan scheme and the possibility of referencing neighboring blocks of neighboring blocks can be used.
- a preferred embodiment of a scan scheme for motion estimation for each data processing unit and the possibility of referencing a neighboring block of a neighboring block has been described above with reference to FIGS. 13, 21, and 22.
- the intra estimator and the motion compensator 3030 according to the processing considering the large data processing unit according to the second embodiment of the group decoder 230 may use a simplified encoding mode in which only a large data processing unit having a square shape is used. It is available. Preferred embodiments of the simplified encoding mode have been described above with reference to FIGS. 23A and 23B.
- FIG. 30C illustrates a block diagram when intra estimation considering large data processing units is applied to the group decoder 230 of the image decoding apparatus 200 according to an embodiment.
- a third embodiment of the group decoder 230 of the image decoding apparatus 200 includes an entropy decoder 231, an intra estimator 3040 and a motion compensator 235 considering a large data processing unit. And an inverse quantization and inverse frequency converter 237 and an in-loop filter 239.
- the image is [III-1. [Intra Estimation]], when encoded according to the unique process according to the embodiment described above, the video decoding apparatus 200 also [[III-1. Intra estimation] based on the process described above.
- the intra estimator 3040 considering the large data processing unit according to the third embodiment of the group decoder 230 may use an intra mode added to a predetermined large data processing unit.
- the intra estimator 3040 may use a 32 ⁇ 32 super macroblock in an intra mode, a 16 ⁇ 16 super macroblock in an intra mode, or the like.
- the intra estimator 3040 considering the large data processing unit according to the third embodiment of the group decoder 230 estimates using the complex plain in the intra mode for more accurate motion estimation of the large data processing unit. Mode can be introduced.
- the intra estimator 3040 considering the large data processing unit according to the third embodiment of the group decoder 230 may perform intra estimation using only a limited type of large data processing unit.
- FIG. 30D is a block diagram of a case where motion compensation considering a large data processing unit is applied to the group decoder 230 of the image decoding apparatus 200 according to an embodiment.
- a fourth embodiment of the group decoder 230 of the image decoding apparatus 200 includes an entropy decoder 231, an intra estimator 234, and a motion compensation unit 3050 in consideration of a large data processing unit. And an inverse quantization and inverse frequency converter 237 and an in-loop filter 239.
- [[III-2. Inter estimation] is preferably performed based on a unique process that is different from the embodiment described above.
- the motion compensation unit 3050 considering the large data processing unit according to the fourth embodiment of the group decoder 230 may introduce a mixed mode in which inter estimation and intra estimation may be mixed as an estimation mode of the large data processing unit. Can be.
- the motion compensation unit 3050 considering the large data processing unit according to the fourth embodiment of the group decoder 230 may use the motion vector MV and the motion vector estimator MVP determined for each large data processing unit.
- the motion compensation unit 3050 considering the large data processing unit according to the fourth embodiment of the group decoder 230 uses a new skip mode defined for each large data processing unit and includes a plurality of skip processing data processing units.
- the skip group can be skipped at the same time.
- FIG. 30E illustrates a block diagram when inverse quantization and inverse frequency transformation are applied to a group decoder 230 of the image decoding apparatus 200 in consideration of a large data processing unit.
- the inverse quantization considering the entropy decoder 231, the intra estimator and the motion compensator 233, and the large data processing unit is performed.
- the inverse quantization and inverse frequency converter 3070 considering the large data processing unit is [[IV. Frequency conversion and quantization]], it is preferable to perform the reverse process of the frequency conversion and quantization technique according to the embodiment described above.
- the inverse quantization and inverse frequency converter 3070 considering the large data processing unit according to the fifth embodiment of the group decoder 230 performs large data processing to perform inverse quantization and inverse frequency conversion by the large data processing unit. Integer discrete cosine inverse transformation and inverse quantization based on unit may be performed.
- the inverse quantization and inverse frequency converter 3070 considering the large data processing unit according to the fifth embodiment of the group decoder 230 performs large data processing to perform inverse frequency transformation and inverse quantization by the large data processing unit.
- Discrete cosine inverse transformation and inverse quantization may be performed on the chroma component of the unit.
- the inverse quantization and inverse frequency transformer 3070 considering the large data processing unit according to the fifth embodiment of the group decoder 230 may increase the amount of computation that may be increased by the discrete cosine inverse transform based on the large data processing unit.
- FIG. 30F illustrates a block diagram when in-loop filtering considering large data processing units is applied to the group decoder 230 of the image decoding apparatus 200 according to an embodiment.
- a sixth embodiment of the group decoder 230 of the image decoding apparatus 200 includes an entropy decoder 231, an intra estimator and a motion compensator 233, an inverse quantization and an inverse frequency transform unit ( 237) and an in-loop filtering unit 3090 considering a large data processing unit.
- the in-loop filtering unit 3090 considering the large data processing unit is [[V. In-loop filtering]], it is preferable to perform an operation corresponding to the in-loop filtering according to the embodiment described above.
- the in-loop filtering unit 2007 considering the large data processing unit according to the sixth embodiment of the group decoder 230 may determine whether to perform filtering on the boundary of the lower processing unit inside the large data processing unit. .
- the filtering strength may be adjusted for each boundary of the lower processing unit inside the large data processing unit.
- the in-loop filtering unit 2007 considering the large data processing unit according to the sixth embodiment of the group decoder 230 may perform in-loop filtering to reduce the ringing effect in the large data processing unit.
- the first to sixth embodiments of the group decoder 230 described above with reference to FIGS. 30A to 30F are different from the existing 16x16, 8x8, and 4x4 blocks according to the read encoding mode.
- the data of the group may be decoded using the data processing unit.
- various processes using the large data processing unit may be applied to the existing video encoding / decoding format.
- 31A, 31B, 31C, 31D, 31E, and 31F illustrate a flowchart of a modified embodiment of the image encoding method 1800, considering data processing units dynamically determined according to one embodiment, respectively.
- step 1810 image data classified into basic blocks is classified into an extended concept including groups, subgroups, and basic blocks.
- operation 1820 information about a data processing unit used to encode the group and an encoding mode of the group are determined.
- the encoding mode of the group may include an encoding mode considering a large data processing unit.
- frequency conversion and quantization, motion estimation, in-loop filtering, and entropy encoding processes may be performed to encode the group.
- Figs. 31A to 31F each process-specific process for encoding a group is described in detail.
- FIG. 31A is a flowchart illustrating a case where frequency transform and quantization in consideration of a large data processing unit are applied to a group encoding step 1830 of an image encoding method 1800 according to an embodiment of the present invention.
- the data of the group is encoded through frequency transformation and quantization according to an encoding mode considering a large data processing unit.
- Large block-based integer discrete cosine transform and quantization (2032), discrete cosine transform and quantization (2034) for chroma components of large block, discrete block based discrete cosine transform for frequency conversion and quantization considering large data processing unit At least one of the low complexity operations 2036 may be performed.
- FIG. 31B is a flowchart of a case in which motion estimation by processing considering a large data processing unit is applied to the group encoding step 1830 of the image encoding method 1800 according to an embodiment of the present invention.
- the data of the group is encoded through motion estimation processing according to an encoding mode considering the large data processing unit.
- a combination 2052 of a large block for motion estimation and a large block for frequency conversion, a block scanning method for motion estimation, and a neighboring block reference possibility 2054 of neighboring blocks At least one of the simplified mode 2056 of the large block may be performed.
- FIG. 31C is a flowchart of a case in which an intra estimation considering a large data processing unit is applied to a group encoding step 1830 of the image encoding method 1800 according to an embodiment of the present invention.
- the data of the group is encoded through intra estimation according to an encoding mode considering a large data processing unit.
- intra estimation considering the large data processing unit, at least one of a large block based intra mode 2062, introduction of a complex plane for intra estimation 2064, and determination of an estimable intra mode 2066 may be performed. .
- FIG. 31D is a flowchart of a case in which inter estimation considering a large data processing unit is applied to a group encoding step 1830 of the image encoding method 1800 according to an embodiment of the present invention.
- the data of the group is encoded through inter estimation according to an encoding mode considering a large data processing unit.
- an introduction of an intra mode and an inter mode estimation mode is introduced 2207, a method of determining a motion vector (MV) of a large block, and a method of deriving a motion vector estimator (MVP) 2074.
- MV motion vector
- MVP motion vector estimator
- FIG. 31E illustrates a flowchart when in-loop filtering considering large data processing units is applied to a group encoding step 1830 of the image encoding method 1800 according to an embodiment of the present invention.
- the data of the group is encoded through in-loop filtering according to an encoding mode considering the large data processing unit.
- in-loop filtering considering the large data processing unit, at least one of filtering and determining the strength of the boundary inside the large block 2208 and ringing effect reduction filtering 2084 inside the large block may be performed.
- FIG. 31F is a flowchart of a case in which entropy encoding considering a large data processing unit is applied to a group encoding step 1830 of the image encoding method 1800 according to an embodiment of the present invention.
- the group data is encoded through entropy encoding according to an encoding mode considering a large data processing unit.
- the coding block pattern (CBP) for large blocks and coding block pattern scanning method 2092, context-based adaptive binary arithmetic coding (CABAC) or context-based consideration of large blocks At least one of introduction 2094 of adaptive variable length coding (CAVLC) and context setting 2096 for a coding block pattern of a large block may be performed.
- 32A, 32B, 32C, 32D, 32E, and 32F illustrate a flowchart of a modified embodiment of the image decoding method 1900, taking into account dynamically determined data processing units, according to an embodiment.
- an image bitstream is received and parsed.
- the received video bitstream includes data encoded in basic blocks, groups, and subgroups.
- the coding mode of the group indicating the coding method of the group is read.
- the coding mode of the group may include a data processing unit of the group and a motion estimation mode such as an intra mode, an inter mode, a skip mode, and the like.
- entropy decoding, inverse frequency transform and inverse quantization, motion estimation and compensation, and in-loop filtering may be performed to decode the group.
- 32A to 32F a unique process for each process for decoding a group is described in detail.
- 32A is a flowchart of a case in which entropy decoding considering a large data processing unit is applied to the group decoding step 1930 of the image decoding method 1900 according to an embodiment.
- step 1931 the data of the group is decoded through entropy encoding considering the large data processing unit.
- coding block patterns based on large data processing units may be used.
- Entropy coding considering large data processing units may use context-based adaptive binary arithmetic coding (CABAC) or context-based adaptive variable length coding (CAVLC) for large data processing units.
- CABAC context-based adaptive binary arithmetic coding
- CAVLC context-based adaptive variable length coding
- the coding block pattern may be decoded using a newly set context for the coding block pattern based on the large data processing unit.
- 32B is a flowchart of a case in which motion estimation processing considering a large data processing unit is applied to the group decoding step 1930 of the image decoding method 1900, according to an exemplary embodiment.
- the data of the group is decoded through motion estimation or compensation performed according to a process considering a large data processing unit.
- the data processing unit may be determined by a combination of a large data processing unit for motion estimation and a data processing unit for frequency conversion.
- the scan method for motion estimation for each data processing unit determined in consideration of the large data processing unit and the possibility of referencing the neighboring block of the neighboring block may be used.
- processing considering a large data processing unit for intra estimation and motion compensation may use a simplified encoding mode in which only a large data processing unit having a square shape is used.
- 32C is a flowchart of an example in which intra estimation considering large data processing units is applied to the group decoding step 1930 of the image decoding method 1900, according to an exemplary embodiment.
- the data of the group is decoded through intra estimation according to an encoding mode considering a large data processing unit.
- An intra estimating step considering the large data processing unit according to an embodiment may use an intra mode added to the large data processing unit.
- An estimation mode using a complex plain may be introduced into an intra mode considering a large data processing unit.
- Intra estimation taking into account large data processing units may be performed only for a limited kind of large data processing units.
- 32D is a flowchart of a case in which motion compensation considering a large data processing unit is applied to the group decoding step 1930 of the image decoding method 1900, according to an exemplary embodiment.
- the data of the group is decoded through motion compensation according to an encoding mode considering a large data processing unit.
- a mixed mode in which inter estimation and intra estimation may be mixed as an estimation mode of the large data processing unit.
- the motion vector MV and the motion vector estimator MVP determined for each large data processing unit may be used for motion compensation.
- a new skip mode defined for each large data processing unit is used, and a skip group including data processing units of a plurality of skip modes may be simultaneously skipped.
- 32E is a flowchart of a case in which inverse quantization and inverse frequency transformation are applied in consideration of a large data processing unit in a group decoding step 1930 of the image decoding method 1900, according to an exemplary embodiment.
- the data of the group is decoded through inverse quantization and inverse frequency transformation according to an encoding mode considering large data processing units.
- integer discrete cosine inverse transformation and inverse quantization based on large data processing units may be performed.
- Discrete cosine inverse transform and inverse quantization may be performed on the chroma component of the large data processing unit.
- Discrete cosine inverse transforms for low complexity operations may be performed to reduce the burden of computation that may be increased by the discrete cosine inverse transform based on large data processing units.
- 32F is a flowchart of a case where in-loop filtering considering a large data processing unit is applied to the group decoding step 1930 of the image decoding method 1900 according to an embodiment.
- the data of the group is decoded through in-loop filtering considering a large data processing unit.
- in-loop filtering considering the large data processing unit, it may be determined whether to perform filtering on the boundary of the lower processing unit inside the large data processing unit.
- the filtering strength may be adjusted for each boundary of the lower processing unit inside the large data processing unit.
- in-loop filtering may be performed to reduce the ringing effect inside the large data processing unit.
- the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium.
- the computer-readable recording medium may be a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.), an optical reading medium (for example, a CD-ROM, a DVD, etc.) and a carrier wave (for example, the Internet). Storage medium).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims (43)
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011513412A JP5670885B2 (ja) | 2008-06-13 | 2009-06-03 | 映像符号化方法及びその装置、映像復号化方法及びその装置 |
CN200980131662.XA CN102124739B (zh) | 2008-06-13 | 2009-06-03 | 图像编码方法及其装置、图像解码方法及其装置 |
US12/997,747 US20110090967A1 (en) | 2008-06-13 | 2009-06-03 | Image-encoding method and a device therefor, and image-decoding method and a device therefor |
EP09762619.6A EP2293567A4 (en) | 2008-06-13 | 2009-06-03 | IMAGE ENCODING METHOD AND DEVICE AND IMAGE DECODING METHOD AND DEVICE |
AU2009258401A AU2009258401A1 (en) | 2008-06-13 | 2009-06-03 | Image-encoding method and a device therefor, and image-decoding method and a device therefor |
US14/604,286 US9924174B2 (en) | 2008-06-13 | 2015-01-23 | Image-encoding method and a device therefor, and image-decoding method and a device therefor |
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US6117508P | 2008-06-13 | 2008-06-13 | |
US61/061,175 | 2008-06-13 | ||
US8233808P | 2008-07-21 | 2008-07-21 | |
US61/082,338 | 2008-07-21 | ||
KR10-2008-0102464 | 2008-10-20 | ||
KR1020080102464A KR20090129926A (ko) | 2008-06-13 | 2008-10-20 | 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 |
KR10-2009-0040890 | 2009-05-11 | ||
KR1020090040890A KR101599879B1 (ko) | 2008-06-13 | 2009-05-11 | 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/997,747 A-371-Of-International US20110090967A1 (en) | 2008-06-13 | 2009-06-03 | Image-encoding method and a device therefor, and image-decoding method and a device therefor |
US14/604,286 Continuation US9924174B2 (en) | 2008-06-13 | 2015-01-23 | Image-encoding method and a device therefor, and image-decoding method and a device therefor |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2009151232A2 true WO2009151232A2 (ko) | 2009-12-17 |
WO2009151232A3 WO2009151232A3 (ko) | 2010-03-04 |
Family
ID=41689802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2009/002942 WO2009151232A2 (ko) | 2008-06-13 | 2009-06-03 | 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 |
Country Status (7)
Country | Link |
---|---|
US (2) | US20110090967A1 (ko) |
EP (2) | EP2953368A1 (ko) |
JP (3) | JP5670885B2 (ko) |
KR (2) | KR20090129926A (ko) |
CN (2) | CN102124739B (ko) |
AU (3) | AU2009258401A1 (ko) |
WO (1) | WO2009151232A2 (ko) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102986213A (zh) * | 2010-04-16 | 2013-03-20 | Sk电信有限公司 | 视频编码/解码设备和方法 |
JP2013517665A (ja) * | 2010-01-14 | 2013-05-16 | サムスン エレクトロニクス カンパニー リミテッド | 階層的データ単位のパターン情報を利用するビデオ符号化方法及びその装置、並びにビデオ復号化方法及びその装置 |
JP2013517669A (ja) * | 2010-01-14 | 2013-05-16 | サムスン エレクトロニクス カンパニー リミテッド | 動きベクトルを符号化/復号化する方法及び装置 |
JP2015084574A (ja) * | 2009-05-29 | 2015-04-30 | 三菱電機株式会社 | 画像復号装置および画像復号方法 |
JP2015128317A (ja) * | 2010-09-29 | 2015-07-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 復号方法、復号装置およびプログラム |
CN104796697A (zh) * | 2010-01-14 | 2015-07-22 | 三星电子株式会社 | 视频解码设备 |
CN105187829A (zh) * | 2010-04-13 | 2015-12-23 | Ge视频压缩有限责任公司 | 变换系数块的编码、解码装置及方法 |
JP2016167830A (ja) * | 2008-10-03 | 2016-09-15 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 大型マクロ・ブロックを用いたビデオ・コーディング |
US9743087B2 (en) | 2010-09-30 | 2017-08-22 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit |
JP2017147750A (ja) * | 2011-03-10 | 2017-08-24 | シャープ株式会社 | 画像復号装置、および画像符号化装置 |
US9788015B2 (en) | 2008-10-03 | 2017-10-10 | Velos Media, Llc | Video coding with large macroblocks |
CN107396118A (zh) * | 2011-07-18 | 2017-11-24 | 太阳专利托管公司 | 编码方法和编码装置 |
RU2720975C2 (ru) * | 2011-11-07 | 2020-05-15 | Долби Интернэшнл Аб | Способ кодирования и декодирования изображений, устройство кодирования и декодирования и соответствующие компьютерные программы |
US11277630B2 (en) | 2011-11-07 | 2022-03-15 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8126046B2 (en) * | 2006-06-30 | 2012-02-28 | Intel Corporation | Flexible macroblock ordering and arbitrary slice ordering apparatus, system, and method |
KR20110001990A (ko) * | 2009-06-30 | 2011-01-06 | 삼성전자주식회사 | 영상 데이터의 인 루프 필터링 장치 및 방법과 이를 이용한 영상 부호화/복호화 장치 |
US20120106629A1 (en) | 2009-07-01 | 2012-05-03 | Thomson Licensing Llc | Methods and apparatus for signaling intra prediction for large blocks for video encoders and decoders |
EP2449779A1 (en) | 2009-07-02 | 2012-05-09 | Thomson Licensing | Methods and apparatus for video encoding and decoding binary sets using adaptive tree selection |
EP2474165A1 (en) * | 2009-09-04 | 2012-07-11 | Koninklijke Philips Electronics N.V. | Scalable image coding and decoding |
NO331356B1 (no) * | 2009-10-16 | 2011-12-12 | Cisco Systems Int Sarl | Fremgangsmater, dataprogrammer og anordninger for koding og dekoding av video |
US9467705B2 (en) | 2009-12-30 | 2016-10-11 | Ariscale Inc. | Video encoding apparatus, video decoding apparatus, and video decoding method for performing intra-prediction based on directionality of neighboring block |
WO2011126282A2 (en) * | 2010-04-05 | 2011-10-13 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using transformation index, and method and apparatus for decoding video by using transformation index |
KR101503269B1 (ko) * | 2010-04-05 | 2015-03-17 | 삼성전자주식회사 | 영상 부호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치, 및 영상 복호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치 |
CN102823248B (zh) | 2010-04-08 | 2015-06-24 | 株式会社东芝 | 图像编码方法以及图像编码装置 |
WO2011129671A2 (ko) * | 2010-04-16 | 2011-10-20 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 장치 및 방법 |
KR101791242B1 (ko) | 2010-04-16 | 2017-10-30 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 장치 및 방법 |
KR101791078B1 (ko) | 2010-04-16 | 2017-10-30 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 장치 및 방법 |
WO2011129672A2 (ko) * | 2010-04-16 | 2011-10-20 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 장치 및 방법 |
CN105704490B (zh) * | 2010-04-16 | 2018-07-31 | Sk电信有限公司 | 视频编码设备 |
US9706204B2 (en) | 2010-05-19 | 2017-07-11 | Sk Telecom Co., Ltd. | Image encoding/decoding device and method |
PT2592832T (pt) | 2010-07-09 | 2016-09-20 | Samsung Electronics Co Ltd | Método e aparelho para codificar/descodificar por entropia um coeficiente de transformação |
US10091529B2 (en) | 2010-07-09 | 2018-10-02 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy encoding/decoding a transform coefficient |
US20120014441A1 (en) * | 2010-07-15 | 2012-01-19 | Sharp Laboratories Of America, Inc. | Parallel video coding based on boundaries |
EP2624557B1 (en) * | 2010-09-30 | 2018-08-01 | Samsung Electronics Co., Ltd | Video encoding method for encoding hierarchical-structure symbols and video decoding method for decoding hierarchical-structure symbols |
CN102447895B (zh) | 2010-09-30 | 2013-10-02 | 华为技术有限公司 | 扫描方法及装置、反扫描方法及装置 |
KR101483179B1 (ko) * | 2010-10-06 | 2015-01-19 | 에스케이 텔레콤주식회사 | 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
US9525884B2 (en) * | 2010-11-02 | 2016-12-20 | Hfi Innovation Inc. | Method and apparatus of slice boundary filtering for high efficiency video coding |
WO2012093891A2 (ko) | 2011-01-06 | 2012-07-12 | 삼성전자 주식회사 | 계층적 구조의 데이터 단위를 이용한 비디오의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
JP2012147127A (ja) * | 2011-01-07 | 2012-08-02 | Sony Corp | 画像処理装置および方法 |
US8925027B2 (en) * | 2011-01-20 | 2014-12-30 | Vidyo, Inc. | Participant aware configuration for video encoder |
WO2012134046A2 (ko) | 2011-04-01 | 2012-10-04 | 주식회사 아이벡스피티홀딩스 | 동영상의 부호화 방법 |
CN105812806B (zh) * | 2011-06-23 | 2019-04-26 | Jvc 建伍株式会社 | 图像解码装置和图像解码方法 |
USRE47366E1 (en) | 2011-06-23 | 2019-04-23 | Sun Patent Trust | Image decoding method and apparatus based on a signal type of the control parameter of the current block |
CA2837532C (en) | 2011-06-23 | 2018-10-02 | Panasonic Corporation | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
TWI581615B (zh) | 2011-06-24 | 2017-05-01 | Sun Patent Trust | A decoding method, a coding method, a decoding device, an encoding device, and a coding / decoding device |
MX2013012019A (es) | 2011-06-24 | 2013-12-10 | Panasonic Corp | Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparto de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. |
MX2013013483A (es) | 2011-06-27 | 2014-02-27 | Panasonic Corp | Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. |
WO2013001765A1 (ja) | 2011-06-28 | 2013-01-03 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
MY160181A (en) * | 2011-06-28 | 2017-02-28 | Samsung Electronics Co Ltd | Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding |
CN102857746B (zh) * | 2011-06-28 | 2017-03-29 | 中兴通讯股份有限公司 | 环路滤波编解码方法及装置 |
WO2013001767A1 (ja) * | 2011-06-29 | 2013-01-03 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
EP2727354A1 (en) * | 2011-06-30 | 2014-05-07 | Huawei Technologies Co., Ltd | Encoding of prediction residuals for lossless video coding |
US20140153648A1 (en) * | 2011-06-30 | 2014-06-05 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding motion information using skip mode, and method and apparatus for decoding same |
WO2013001769A1 (ja) | 2011-06-30 | 2013-01-03 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
KR102007047B1 (ko) | 2011-06-30 | 2019-08-02 | 선 페이턴트 트러스트 | 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치 |
JP2013012995A (ja) * | 2011-06-30 | 2013-01-17 | Sony Corp | 画像処理装置および方法 |
WO2013008438A1 (ja) | 2011-07-11 | 2013-01-17 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
SI2739053T1 (sl) * | 2011-07-29 | 2019-11-29 | Sun Patent Trust | Postopek za dekodiranje videa, naprava za dekodiranje videa |
EP3306921B1 (en) * | 2011-09-09 | 2020-11-04 | Sun Patent Trust | Low complex deblocking filter decisions |
WO2013039357A2 (ko) * | 2011-09-14 | 2013-03-21 | 삼성전자 주식회사 | 비디오 부호화, 복호화 방법 및 장치 |
US9185404B2 (en) | 2011-10-07 | 2015-11-10 | Qualcomm Incorporated | Performing transform dependent de-blocking filtering |
RU2646308C1 (ru) * | 2011-10-17 | 2018-03-02 | Кт Корпорейшен | Способ декодирования видеосигнала |
KR101550724B1 (ko) | 2011-10-17 | 2015-09-07 | 주식회사 케이티 | 영상 부호화/복호화 방법 및 그 장치 |
US9807403B2 (en) | 2011-10-21 | 2017-10-31 | Qualcomm Incorporated | Adaptive loop filtering for chroma components |
GB201119206D0 (en) | 2011-11-07 | 2011-12-21 | Canon Kk | Method and device for providing compensation offsets for a set of reconstructed samples of an image |
WO2013077713A1 (ko) * | 2011-11-27 | 2013-05-30 | 엘지전자 주식회사 | 변환 계수 재정렬 방법 및 이를 이용하는 장치 |
CN103200400B (zh) | 2012-01-09 | 2018-03-16 | 中兴通讯股份有限公司 | 一种图像层和分片层的编解码方法、编解码器和电子设备 |
WO2013129822A1 (ko) * | 2012-02-27 | 2013-09-06 | 세종대학교산학협력단 | 영상 부호화와 복호화 장치 및 영상을 부호화와 복호화하는 방법 |
KR20130098122A (ko) | 2012-02-27 | 2013-09-04 | 세종대학교산학협력단 | 영상 부호화/복호화 장치 및 영상을 부호화/복호화하는 방법 |
KR20130116754A (ko) * | 2012-04-16 | 2013-10-24 | 주식회사 팬택 | 엔트로피 부복호화 방법 및 이러한 방법을 사용하는 장치 |
US9124872B2 (en) * | 2012-04-16 | 2015-09-01 | Qualcomm Incorporated | Coefficient groups and coefficient coding for coefficient scans |
KR102290420B1 (ko) * | 2013-04-05 | 2021-08-17 | 삼성전자주식회사 | 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 |
US9877048B2 (en) * | 2014-06-09 | 2018-01-23 | Qualcomm Incorporated | Entropy coding techniques for display stream compression (DSC) |
KR101919015B1 (ko) * | 2014-10-07 | 2018-11-16 | 삼성전자주식회사 | 다 시점 영상 부호화/복호화 방법 및 장치 |
US20160127731A1 (en) * | 2014-11-03 | 2016-05-05 | National Chung Cheng University | Macroblock skip mode judgement method for encoder |
US10715818B2 (en) * | 2016-08-04 | 2020-07-14 | Intel Corporation | Techniques for hardware video encoding |
KR20180040827A (ko) * | 2016-10-13 | 2018-04-23 | 디지털인사이트 주식회사 | 부호화 유닛의 그룹을 사용하는 비디오 코딩 방법 및 장치 |
US10999602B2 (en) | 2016-12-23 | 2021-05-04 | Apple Inc. | Sphere projected motion estimation/compensation and mode decision |
US11259046B2 (en) | 2017-02-15 | 2022-02-22 | Apple Inc. | Processing of equirectangular object data to compensate for distortion by spherical projections |
US10924747B2 (en) | 2017-02-27 | 2021-02-16 | Apple Inc. | Video coding techniques for multi-view video |
KR102390413B1 (ko) | 2017-03-03 | 2022-04-25 | 에스케이텔레콤 주식회사 | 영상 부호화 또는 복호화하기 위한 장치 및 방법 |
WO2018160034A1 (ko) * | 2017-03-03 | 2018-09-07 | 에스케이텔레콤 주식회사 | 영상 부호화 또는 복호화하기 위한 장치 및 방법 |
US10735754B2 (en) | 2017-04-26 | 2020-08-04 | Google Llc | Chromatic aberration modeling in image compression and enhancement |
US11093752B2 (en) | 2017-06-02 | 2021-08-17 | Apple Inc. | Object tracking in multi-view video |
CN117640951A (zh) | 2018-05-23 | 2024-03-01 | 松下电器(美国)知识产权公司 | 解码装置和编码装置 |
CN114342405A (zh) | 2019-06-24 | 2022-04-12 | Lg电子株式会社 | 图像解码方法和用于该图像解码方法的装置 |
WO2023022543A1 (ko) * | 2021-08-18 | 2023-02-23 | 엘지전자 주식회사 | 채널간 상관도에 기반한 피쳐 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100196838B1 (ko) | 1995-12-23 | 1999-06-15 | 전주범 | 블럭벌 상관 관계에 의한 부호화 장치 |
US6633611B2 (en) * | 1997-04-24 | 2003-10-14 | Mitsubishi Denki Kabushiki Kaisha | Method and apparatus for region-based moving image encoding and decoding |
AUPP248298A0 (en) * | 1998-03-20 | 1998-04-23 | Canon Kabushiki Kaisha | A method and apparatus for hierarchical encoding and decoding an image |
EP1075759A4 (en) | 1998-04-29 | 2009-01-28 | Sensormatic Electronics Corp | COMPRESSING VIDEO DATA IN AN INFORMATION SYSTEM |
US6522694B1 (en) * | 1998-10-09 | 2003-02-18 | Matsushita Electric Industrial Co., Ltd. | Programmable filter for removing stuffing bits from an MPEG-2 bit-stream |
JP3939551B2 (ja) * | 1999-08-24 | 2007-07-04 | 富士通株式会社 | 動画像処理装置、その方法、及び記録媒体 |
EP1279290A1 (en) * | 2000-04-04 | 2003-01-29 | Koninklijke Philips Electronics N.V. | Video encoding method using a wavelet transform |
US6870963B2 (en) * | 2001-06-15 | 2005-03-22 | Qualcomm, Inc. | Configurable pattern optimizer |
JP2003319391A (ja) * | 2002-04-26 | 2003-11-07 | Sony Corp | 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム |
JP2003319394A (ja) * | 2002-04-26 | 2003-11-07 | Sony Corp | 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム |
US7302006B2 (en) * | 2002-04-30 | 2007-11-27 | Hewlett-Packard Development Company, L.P. | Compression of images and image sequences through adaptive partitioning |
KR100999221B1 (ko) | 2003-02-21 | 2010-12-07 | 파나소닉 주식회사 | 픽처 코딩 방법 및 디코딩 방법 |
KR100510137B1 (ko) * | 2003-04-30 | 2005-08-26 | 삼성전자주식회사 | 고속 움직임 추정을 위한 참조 픽쳐 및 블록 모드 결정방법, 그 장치, 블록 모드 결정 방법 및 그 장치 |
US7362810B2 (en) * | 2003-05-13 | 2008-04-22 | Sigmatel, Inc. | Post-filter for deblocking and deringing of video data |
US7852919B2 (en) * | 2003-09-07 | 2010-12-14 | Microsoft Corporation | Field start code for entry point frames with predicted first field |
KR101014660B1 (ko) | 2003-10-24 | 2011-02-16 | 삼성전자주식회사 | 인트라 예측 방법 및 장치 |
US7400681B2 (en) * | 2003-11-28 | 2008-07-15 | Scientific-Atlanta, Inc. | Low-complexity motion vector prediction for video codec with two lists of reference pictures |
EP1730695A2 (en) | 2004-03-09 | 2006-12-13 | Thomson Research Funding Corporation | Reduced resolution update mode for advanced video coding |
US8116374B2 (en) * | 2004-05-07 | 2012-02-14 | Broadcom Corporation | Method and system for generating a transform size syntax element for video decoding |
JP4026622B2 (ja) | 2004-07-06 | 2007-12-26 | 日産自動車株式会社 | ハイブリッド車両の制御装置 |
FR2872974A1 (fr) * | 2004-07-06 | 2006-01-13 | Thomson Licensing Sa | Procede ou dispositif de codage adaptatif |
JP2006054846A (ja) * | 2004-07-12 | 2006-02-23 | Sony Corp | 符号化方法、符号化装置、復号方法、復号装置およびそれらのプログラム |
US8948266B2 (en) * | 2004-10-12 | 2015-02-03 | Qualcomm Incorporated | Adaptive intra-refresh for digital video encoding |
KR100647294B1 (ko) * | 2004-11-09 | 2006-11-23 | 삼성전자주식회사 | 화상 데이터 부호화 및 복호화 방법 및 장치 |
KR101215614B1 (ko) * | 2005-09-09 | 2012-12-26 | 삼성전자주식회사 | 영상의 부호화 및 복호화 장치와, 그 방법, 및 이를수행하기 위한 프로그램이 기록된 기록 매체 |
US8107748B2 (en) * | 2005-09-16 | 2012-01-31 | Sony Corporation | Adaptive motion search range |
JP5227187B2 (ja) * | 2006-01-09 | 2013-07-03 | トムソン ライセンシング | マルチビュービデオ符号化のための低解像度アップデートモードを提供する方法及び装置 |
US8213495B2 (en) * | 2006-02-06 | 2012-07-03 | Panasonic Corporation | Picture decoding method and picture decoding apparatus |
JP2007243427A (ja) * | 2006-03-07 | 2007-09-20 | Nippon Hoso Kyokai <Nhk> | 符号化装置及び復号化装置 |
KR100736104B1 (ko) * | 2006-04-06 | 2007-07-06 | 삼성전자주식회사 | 독립적 파싱을 지원하는 비디오 코딩 방법 및 장치 |
JP2007336468A (ja) * | 2006-06-19 | 2007-12-27 | Sharp Corp | 再符号化装置、再符号化方法およびプログラム |
JP4250638B2 (ja) * | 2006-06-30 | 2009-04-08 | 株式会社東芝 | 動画像符号化装置及びその方法 |
KR101382101B1 (ko) * | 2006-08-25 | 2014-04-07 | 톰슨 라이센싱 | 감소된 해상도의 파티셔닝을 위한 방법 및 장치 |
JP2008092137A (ja) * | 2006-09-29 | 2008-04-17 | Toshiba Corp | 画像符号化装置及び画像符号化方法 |
US7545293B2 (en) * | 2006-11-14 | 2009-06-09 | Qualcomm Incorporated | Memory efficient coding of variable length codes |
US8488668B2 (en) * | 2007-06-15 | 2013-07-16 | Qualcomm Incorporated | Adaptive coefficient scanning for video coding |
US8483282B2 (en) * | 2007-10-12 | 2013-07-09 | Qualcomm, Incorporated | Entropy coding of interleaved sub-blocks of a video block |
-
2008
- 2008-10-20 KR KR1020080102464A patent/KR20090129926A/ko unknown
-
2009
- 2009-05-11 KR KR1020090040890A patent/KR101599879B1/ko active IP Right Grant
- 2009-06-03 EP EP15161498.9A patent/EP2953368A1/en not_active Withdrawn
- 2009-06-03 US US12/997,747 patent/US20110090967A1/en not_active Abandoned
- 2009-06-03 JP JP2011513412A patent/JP5670885B2/ja not_active Expired - Fee Related
- 2009-06-03 EP EP09762619.6A patent/EP2293567A4/en active Pending
- 2009-06-03 AU AU2009258401A patent/AU2009258401A1/en not_active Abandoned
- 2009-06-03 CN CN200980131662.XA patent/CN102124739B/zh not_active Expired - Fee Related
- 2009-06-03 CN CN201410334485.8A patent/CN104093019B/zh not_active Expired - Fee Related
- 2009-06-03 WO PCT/KR2009/002942 patent/WO2009151232A2/ko active Application Filing
-
2014
- 2014-08-06 AU AU2014210591A patent/AU2014210591B2/en not_active Ceased
- 2014-08-11 AU AU2014210684A patent/AU2014210684B2/en not_active Ceased
- 2014-10-15 JP JP2014211166A patent/JP2015035825A/ja active Pending
-
2015
- 2015-01-23 US US14/604,286 patent/US9924174B2/en active Active
-
2016
- 2016-05-09 JP JP2016094169A patent/JP6336513B2/ja not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
None |
See also references of EP2293567A4 |
Cited By (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11758194B2 (en) | 2008-10-03 | 2023-09-12 | Qualcomm Incorporated | Device and method for video decoding video blocks |
US11039171B2 (en) | 2008-10-03 | 2021-06-15 | Velos Media, Llc | Device and method for video decoding video blocks |
US10225581B2 (en) | 2008-10-03 | 2019-03-05 | Velos Media, Llc | Video coding with large macroblocks |
US9930365B2 (en) | 2008-10-03 | 2018-03-27 | Velos Media, Llc | Video coding with large macroblocks |
US9788015B2 (en) | 2008-10-03 | 2017-10-10 | Velos Media, Llc | Video coding with large macroblocks |
JP2016167830A (ja) * | 2008-10-03 | 2016-09-15 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 大型マクロ・ブロックを用いたビデオ・コーディング |
JP2016036176A (ja) * | 2009-05-29 | 2016-03-17 | 三菱電機株式会社 | 画像復号装置、画像符号化装置およびビットストリーム |
JP2015084574A (ja) * | 2009-05-29 | 2015-04-30 | 三菱電機株式会社 | 画像復号装置および画像復号方法 |
JP2017118573A (ja) * | 2009-05-29 | 2017-06-29 | 三菱電機株式会社 | 画像復号装置、画像復号方法、画像符号化装置、画像符号化方法および符号化データ |
JP2018164295A (ja) * | 2010-01-14 | 2018-10-18 | サムスン エレクトロニクス カンパニー リミテッド | ビデオ復号化方法、ビデオ復号化装置、符号化方法及び記録媒体 |
JP2018142994A (ja) * | 2010-01-14 | 2018-09-13 | サムスン エレクトロニクス カンパニー リミテッド | ビデオ復号化方法とその装置、ビデオ符号化方法とその装置 |
JP2013517665A (ja) * | 2010-01-14 | 2013-05-16 | サムスン エレクトロニクス カンパニー リミテッド | 階層的データ単位のパターン情報を利用するビデオ符号化方法及びその装置、並びにビデオ復号化方法及びその装置 |
CN105245876A (zh) * | 2010-01-14 | 2016-01-13 | 三星电子株式会社 | 视频解码设备 |
US11128856B2 (en) | 2010-01-14 | 2021-09-21 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video and method and apparatus for decoding video by considering skip and split order |
CN104811697A (zh) * | 2010-01-14 | 2015-07-29 | 三星电子株式会社 | 对视频进行解码的方法 |
JP2015133760A (ja) * | 2010-01-14 | 2015-07-23 | サムスン エレクトロニクス カンパニー リミテッド | 復号化方法及び復号化装置 |
JP2016195433A (ja) * | 2010-01-14 | 2016-11-17 | サムスン エレクトロニクス カンパニー リミテッド | ビデオ復号化方法及びビデオ復号化装置 |
JP2016195434A (ja) * | 2010-01-14 | 2016-11-17 | サムスン エレクトロニクス カンパニー リミテッド | 復号化方法及び復号化装置 |
JP2013517669A (ja) * | 2010-01-14 | 2013-05-16 | サムスン エレクトロニクス カンパニー リミテッド | 動きベクトルを符号化/復号化する方法及び装置 |
US9628812B2 (en) | 2010-01-14 | 2017-04-18 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video by using pattern information in hierarchical data unit |
US9628809B2 (en) | 2010-01-14 | 2017-04-18 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video by using pattern information in hierarchical data unit |
US9635375B2 (en) | 2010-01-14 | 2017-04-25 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video by using pattern information in hierarchical data unit |
US9641855B2 (en) | 2010-01-14 | 2017-05-02 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video by using pattern information in hierarchical data unit |
JP2015133761A (ja) * | 2010-01-14 | 2015-07-23 | サムスン エレクトロニクス カンパニー リミテッド | 復号化方法及び復号化装置 |
US10582194B2 (en) | 2010-01-14 | 2020-03-03 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video and method and apparatus for decoding video by considering skip and split order |
US10194173B2 (en) | 2010-01-14 | 2019-01-29 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video by using pattern information in hierarchical data unit |
CN104811698A (zh) * | 2010-01-14 | 2015-07-29 | 三星电子株式会社 | 视频解码设备 |
JP2017169230A (ja) * | 2010-01-14 | 2017-09-21 | サムスン エレクトロニクス カンパニー リミテッド | ビデオ復号化方法とその装置 |
CN104796695A (zh) * | 2010-01-14 | 2015-07-22 | 三星电子株式会社 | 视频解码设备 |
US10110894B2 (en) | 2010-01-14 | 2018-10-23 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video and method and apparatus for decoding video by considering skip and split order |
US9894356B2 (en) | 2010-01-14 | 2018-02-13 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video and method and apparatus for decoding video by considering skip and split order |
CN104796697A (zh) * | 2010-01-14 | 2015-07-22 | 三星电子株式会社 | 视频解码设备 |
CN105245876B (zh) * | 2010-01-14 | 2018-09-18 | 三星电子株式会社 | 视频解码设备 |
US10015520B2 (en) | 2010-01-14 | 2018-07-03 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video by using pattern information in hierarchical data unit |
US10129549B2 (en) | 2010-04-13 | 2018-11-13 | Ge Video Compression, Llp | Coding of significance maps and transform coefficient blocks |
US11095906B2 (en) | 2010-04-13 | 2021-08-17 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US10021404B2 (en) | 2010-04-13 | 2018-07-10 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US9998741B2 (en) | 2010-04-13 | 2018-06-12 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US10855999B2 (en) | 2010-04-13 | 2020-12-01 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
CN105187829A (zh) * | 2010-04-13 | 2015-12-23 | Ge视频压缩有限责任公司 | 变换系数块的编码、解码装置及方法 |
US11297336B2 (en) | 2010-04-13 | 2022-04-05 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
CN105187829B (zh) * | 2010-04-13 | 2018-10-26 | Ge 视频压缩有限责任公司 | 变换系数块的编码、解码装置及方法 |
US10123025B2 (en) | 2010-04-13 | 2018-11-06 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US11252419B2 (en) | 2010-04-13 | 2022-02-15 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US10148968B2 (en) | 2010-04-13 | 2018-12-04 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US11025926B2 (en) | 2010-04-13 | 2021-06-01 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US11128875B2 (en) | 2010-04-13 | 2021-09-21 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US10306243B2 (en) | 2010-04-13 | 2019-05-28 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US10306242B2 (en) | 2010-04-13 | 2019-05-28 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US10341668B2 (en) | 2010-04-13 | 2019-07-02 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US10750191B2 (en) | 2010-04-13 | 2020-08-18 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US10462474B2 (en) | 2010-04-13 | 2019-10-29 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US10477223B2 (en) | 2010-04-13 | 2019-11-12 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US11070822B2 (en) | 2010-04-13 | 2021-07-20 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US11032556B2 (en) | 2010-04-13 | 2021-06-08 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
US10587884B2 (en) | 2010-04-13 | 2020-03-10 | Ge Video Compression, Llc | Coding of significance maps and transform coefficient blocks |
CN105306935A (zh) * | 2010-04-16 | 2016-02-03 | Sk电信有限公司 | 视频编码/解码设备和方法 |
CN102986213A (zh) * | 2010-04-16 | 2013-03-20 | Sk电信有限公司 | 视频编码/解码设备和方法 |
JP2015128317A (ja) * | 2010-09-29 | 2015-07-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 復号方法、復号装置およびプログラム |
USRE49991E1 (en) | 2010-09-29 | 2024-05-28 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus and integrated circuit for generating a code stream with a hierarchical code structure |
JP2017060179A (ja) * | 2010-09-29 | 2017-03-23 | サン パテント トラスト | 復号方法、復号装置およびプログラム |
USRE47510E1 (en) | 2010-09-29 | 2019-07-09 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus and integrated circuit for generating a code stream with a hierarchical code structure |
USRE48726E1 (en) | 2010-09-29 | 2021-09-07 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus and integrated circuit for generating a code stream with a hierarchical code structure |
US9749630B2 (en) | 2010-09-30 | 2017-08-29 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit |
US10616579B2 (en) | 2010-09-30 | 2020-04-07 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit |
US9743087B2 (en) | 2010-09-30 | 2017-08-22 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit |
US11729389B2 (en) | 2010-09-30 | 2023-08-15 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit |
US11310500B2 (en) | 2010-09-30 | 2022-04-19 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit |
US10038905B2 (en) | 2010-09-30 | 2018-07-31 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit |
US20180309993A1 (en) * | 2010-09-30 | 2018-10-25 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit |
JP2017147750A (ja) * | 2011-03-10 | 2017-08-24 | シャープ株式会社 | 画像復号装置、および画像符号化装置 |
CN107396118B (zh) * | 2011-07-18 | 2020-02-21 | 太阳专利托管公司 | 编码方法和编码装置 |
CN107396118A (zh) * | 2011-07-18 | 2017-11-24 | 太阳专利托管公司 | 编码方法和编码装置 |
US11277630B2 (en) | 2011-11-07 | 2022-03-15 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
US10681389B2 (en) | 2011-11-07 | 2020-06-09 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
US11109072B2 (en) | 2011-11-07 | 2021-08-31 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
US11889098B2 (en) | 2011-11-07 | 2024-01-30 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
US11943485B2 (en) | 2011-11-07 | 2024-03-26 | Dolby International Ab | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto |
RU2720975C2 (ru) * | 2011-11-07 | 2020-05-15 | Долби Интернэшнл Аб | Способ кодирования и декодирования изображений, устройство кодирования и декодирования и соответствующие компьютерные программы |
Also Published As
Publication number | Publication date |
---|---|
US20150146796A1 (en) | 2015-05-28 |
KR20090129926A (ko) | 2009-12-17 |
AU2014210684A1 (en) | 2014-09-04 |
AU2014210684B2 (en) | 2016-03-03 |
US20110090967A1 (en) | 2011-04-21 |
WO2009151232A3 (ko) | 2010-03-04 |
EP2293567A4 (en) | 2014-10-01 |
CN104093019A (zh) | 2014-10-08 |
JP5670885B2 (ja) | 2015-02-18 |
JP2016165148A (ja) | 2016-09-08 |
JP2011523321A (ja) | 2011-08-04 |
CN102124739B (zh) | 2014-08-13 |
US9924174B2 (en) | 2018-03-20 |
AU2014210591B2 (en) | 2016-03-03 |
EP2293567A2 (en) | 2011-03-09 |
AU2009258401A1 (en) | 2009-12-17 |
KR101599879B1 (ko) | 2016-03-07 |
JP6336513B2 (ja) | 2018-06-06 |
CN102124739A (zh) | 2011-07-13 |
AU2014210591A1 (en) | 2014-08-28 |
JP2015035825A (ja) | 2015-02-19 |
CN104093019B (zh) | 2018-09-28 |
EP2953368A1 (en) | 2015-12-09 |
KR20090129939A (ko) | 2009-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2009151232A2 (ko) | 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 | |
WO2018097693A2 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2019190224A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2017222237A1 (ko) | 화면 내 예측 방법 및 장치 | |
WO2019177354A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2018226015A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2018012886A1 (ko) | 영상 부호화/복호화 방법 및 이를 위한 기록 매체 | |
WO2019182385A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2017171370A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2020004987A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2020009514A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2018097692A2 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2019172705A1 (ko) | 샘플 필터링을 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2018012851A1 (ko) | 영상 부호화/복호화 방법 및 이를 위한 기록 매체 | |
WO2020076125A1 (ko) | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 | |
WO2020111785A1 (ko) | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 | |
WO2019059676A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2019240493A1 (ko) | 문맥 적응적 이진 산술 부호화 방법 및 장치 | |
WO2020005035A1 (ko) | 처리율 향상을 위한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2011040794A2 (ko) | 가변 크기의 매크로블록을 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2012096539A2 (ko) | 선택적 스캔 모드를 이용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 | |
WO2020141816A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2020017910A1 (ko) | 지역 조명 보상을 통한 효과적인 비디오 부호화/복호화 방법 및 장치 | |
WO2020256466A1 (ko) | 화면 내 예측 모드 및 엔트로피 부호화/복호화 방법 및 장치 | |
WO2020005045A1 (ko) | 머지 모드 기반의 인터 예측 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200980131662.X Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09762619 Country of ref document: EP Kind code of ref document: A2 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12997747 Country of ref document: US Ref document number: 2011513412 Country of ref document: JP Ref document number: 2009762619 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2009258401 Country of ref document: AU Ref document number: 12/MUMNP/2011 Country of ref document: IN |
|
ENP | Entry into the national phase |
Ref document number: 2009258401 Country of ref document: AU Date of ref document: 20090603 Kind code of ref document: A |