WO2016182298A1 - 적응적인 순서로 결정되는 블록을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치 - Google Patents

적응적인 순서로 결정되는 블록을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치 Download PDF

Info

Publication number
WO2016182298A1
WO2016182298A1 PCT/KR2016/004839 KR2016004839W WO2016182298A1 WO 2016182298 A1 WO2016182298 A1 WO 2016182298A1 KR 2016004839 W KR2016004839 W KR 2016004839W WO 2016182298 A1 WO2016182298 A1 WO 2016182298A1
Authority
WO
WIPO (PCT)
Prior art keywords
coding unit
depth
size
information
unit
Prior art date
Application number
PCT/KR2016/004839
Other languages
English (en)
French (fr)
Inventor
최기호
박민우
알쉬나엘레나
김찬열
최인권
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to CN202111271353.1A priority Critical patent/CN113891073B/zh
Priority to CN201680027693.0A priority patent/CN107637077B/zh
Priority to KR1020227041936A priority patent/KR102570564B1/ko
Priority to EP20150375.2A priority patent/EP3661202A1/en
Priority to KR1020237028388A priority patent/KR102660094B1/ko
Priority to CN202111271349.5A priority patent/CN113810688B/zh
Priority to KR1020247013017A priority patent/KR20240056657A/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to EP16792944.7A priority patent/EP3270590A4/en
Priority to CN202111271439.4A priority patent/CN113794879B/zh
Priority to KR1020177032505A priority patent/KR102370375B1/ko
Priority to KR1020227006718A priority patent/KR102474249B1/ko
Priority to US15/573,216 priority patent/US10785476B2/en
Priority to CN202111274127.9A priority patent/CN113794880B/zh
Publication of WO2016182298A1 publication Critical patent/WO2016182298A1/ko
Priority to US16/939,730 priority patent/US11956419B2/en
Priority to US16/939,642 priority patent/US11962752B2/en
Priority to US17/696,514 priority patent/US11973934B2/en
Priority to US17/696,519 priority patent/US11973935B2/en
Priority to US17/696,512 priority patent/US11956422B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Definitions

  • the method and apparatus may encode or decode an image by determining the maximum coding unit in one of a plurality of orders in which the maximum coding unit may be determined in the image.
  • the image data is encoded by a codec according to a predetermined data compression standard, for example, the Moving Picture Expert Group (MPEG) standard, and then stored in a recording medium in the form of a bitstream or transmitted through a communication channel.
  • MPEG Moving Picture Expert Group
  • a data unit called a maximum coding unit may be used to compress an image, and the maximum coding unit may be determined in a specific order (for example, raster scan), and may be sized based on information related to an image sequence to be encoded. That is, the size of the maximum coding unit is constant in the entire image sequence to be encoded or decoded.
  • the maximum coding units of the entire image are uniformly determined in a predetermined order, the maximum coding unit cannot be determined in an efficient manner in compressing a high resolution image.
  • a method of decoding an image includes: determining at least one processing block for dividing an image; Determining an order in which at least one largest coding unit is determined in the at least one processing block; Determining at least one maximum coding unit based on the determined order; And decoding the determined at least one maximum coding unit, and the order may be one of a plurality of maximum coding unit determination orders.
  • Method and apparatus does not determine the maximum coding unit in a uniform order in the image, by determining one of the plurality of determination order in the processing block unit of any data unit as the determination order of the maximum coding unit Adaptive image coding or decoding is possible.
  • FIG. 1A is a block diagram of an image decoding apparatus according to an embodiment.
  • FIG. 1B is a flowchart of an image decoding method performed by an image decoding apparatus using a processing block, according to an exemplary embodiment.
  • FIG. 2A is a block diagram of an image encoding apparatus, according to an embodiment.
  • 2B is a flowchart of an image encoding method performed by an image encoding apparatus using a processing block, according to an embodiment.
  • FIG. 3 illustrates an order in which at least one maximum coding unit is determined in at least one processing block included in a picture according to an embodiment.
  • 4A is a flowchart of a process of determining at least one coding unit included in a maximum coding unit, according to an embodiment.
  • 4B illustrates a process of determining the size of at least one coding unit included in a picture according to an embodiment.
  • FIG. 4C illustrates sizes of coding units that may be represented by information about sizes of coding units, according to an embodiment.
  • 5A is a flowchart illustrating whether split information of a coding unit is obtained based on size restriction information, according to an embodiment.
  • 5B illustrates a process of determining at least one coding unit based on size restriction information, according to an embodiment.
  • FIG. 6A is a flowchart of a process of determining a coding unit based on second split information indicating whether to split a specific depth to a lower depth according to an embodiment.
  • 6B illustrates a process of dividing a coding unit of a current depth based on at least one of the first split information and the second split information, according to an embodiment.
  • FIG. 7A is a flowchart of a process of determining at least one coding unit included in a maximum coding unit based on at least one of information about a maximum depth and information about a minimum depth of a coding unit, according to an embodiment.
  • FIG. 7B illustrates a process of determining at least one coding unit based on at least one of information about a maximum depth and information about a minimum depth, according to an embodiment.
  • 8A is a flowchart of determining at least one prediction unit included in at least one coding unit by obtaining information representing a prediction method from a bitstream, according to an embodiment.
  • 8B illustrates a process of determining at least one prediction unit included in a current coding unit according to a first method or a second method based on information about a prediction method, according to an embodiment.
  • FIG. 9 is a block diagram of a video encoding apparatus based on coding units having a tree structure, according to an embodiment.
  • FIG. 10 is a block diagram of a video decoding apparatus based on coding units according to a tree structure, according to an embodiment.
  • FIG. 11 illustrates a concept of coding units, according to an embodiment.
  • FIG. 12 is a block diagram of an image encoder based on coding units, according to an embodiment.
  • FIG. 13 is a block diagram of an image decoder based on coding units, according to an embodiment.
  • FIG. 14 is a diagram of deeper coding units according to depths, and partitions, according to an embodiment.
  • 15 illustrates a relationship between a coding unit and transformation units, according to an embodiment.
  • 16 is a diagram of deeper encoding information according to depths, according to an embodiment.
  • 17 is a diagram of deeper coding units according to depths, according to an exemplary embodiment.
  • 18, 19, and 20 illustrate a relationship between a coding unit, a prediction unit, and a transformation unit, according to an embodiment.
  • FIG. 21 illustrates a relationship between a coding unit, a prediction unit, and a transformation unit according to encoding mode information of Table 1.
  • determining at least one processing block for dividing an image wherein at least one maximum coding unit is determined within the at least one processing block. Determining an order, determining at least one maximum coding unit based on the determined order, and decoding the determined at least one maximum coding unit, the order being one of a plurality of maximum coding unit determination orders.
  • determining the processing block comprises obtaining information about the size of the processing block and determining at least one processing block based on the information about the size of the processing block. can do.
  • the determining of the order in which the largest coding units are determined may include obtaining information about a determination order of at least one largest coding unit included in the at least one processing block, and determining the order of determining the maximum coding units. And determining an order in which at least one maximum coding unit is determined based on the determination.
  • the decoding of the at least one largest coding unit may include encoding one of a plurality of sizes smaller than the determined maximum coding unit based on information on the size of the coding unit obtained from the bitstream. And selecting at least one coding unit based on the size of the selected coding unit.
  • decoding the at least one maximum coding unit may include determining at least one coding unit included in a current maximum coding unit which is one of the at least one maximum coding unit, and a coding unit obtained from a bitstream. Comparing the size of the at least one coding unit with the size indicated by the size restriction information based on the size limitation information for the step, and if the size of the at least one coding unit is larger than the size indicated by the size restriction information, The method may further include obtaining split information about at least one coding unit, wherein the size indicated by the size restriction information is larger than a minimum size of the coding unit.
  • the step of obtaining split information includes encoding at least one coding unit without obtaining split information from the bitstream when the size of the at least one coding unit is equal to or smaller than the size indicated by the size restriction information. It can be characterized by.
  • the decoding of the at least one maximum coding unit may include at least one of a current maximum coding unit which is one of the at least one maximum coding unit, based on the split information of the coding unit obtained from the bitstream. And determining the coding unit, wherein the splitting information includes a first depth information indicating whether to split the coding unit of the current depth into coding units of the lower depth in depth order and omitting division into the lower depth and lower depth than the lower depth. It may be characterized by including at least one of the second partitioning information indicating whether to split to.
  • the dividing into at least one coding unit may include obtaining second split information from the bitstream based on whether the lower depth is the lowest depth, and splitting the second split information into the lower depths. Is omitted and indicates splitting into lower depths, splitting the coding unit of the current depth into lower depth coding units, and if the second splitting information does not indicate splitting into lower depths, the bitstream And dividing the coding unit of the current depth into the coding units of the lower depth based on the first split information obtained from the.
  • the decoding of the at least one maximum coding unit is based on at least one of information on the maximum depth and information on the minimum depth of the coding unit, the current maximum of one of the at least one maximum coding unit And determining at least one coding unit included in the coding unit, wherein the information about the maximum depth and the information about the minimum depth may be obtained from neighboring blocks of the at least one coding unit.
  • the determining of the at least one coding unit may include splitting the coding unit of the current depth only when the current depth of the coding unit is higher than the maximum depth or less than the minimum depth. It can be characterized.
  • the decoding of the at least one maximum coding unit may include determining at least one coding unit included in a current maximum coding unit which is one of the at least one maximum coding unit, and obtained from the bitstream. Determining at least one prediction unit for the current coding unit, which is one of the at least one coding unit, based on the information indicating the prediction method, wherein the information indicating the prediction method is performed by using a preset prediction method. It may be characterized by indicating whether or not.
  • the determining of the at least one prediction unit may include partition mode information indicating one of a plurality of types of partitions when the information indicating the prediction method indicates using the first method, which is a preset prediction method. Determining at least one prediction unit included in the current coding unit by obtaining from the bitstream, and when the information indicating the prediction method indicates that the second method is used instead of the preset prediction method, partition mode information is obtained from the bitstream. And determining the prediction unit based on the predetermined partition type without acquiring.
  • the determining of the prediction unit based on the preset partition type may include determining that the prediction unit is lower than the depth of the current coding unit when the size of the current coding unit is equal to the size of the current maximum coding unit.
  • the method may further include determining a prediction unit having the same size as the coding unit of the depth.
  • an apparatus for decoding an image the processing block determiner for determining at least one processing block for dividing the image, at least one maximum coding unit in the at least one processing block
  • An image decoding apparatus may be provided, which is one of determination orders.
  • an apparatus for encoding an image including: a processing block determiner configured to determine at least one processing block for dividing an image, and at least one maximum coding unit in at least one processing block A maximum coding unit determining unit for determining the determined order and determining at least one maximum coding unit based on the determined order, and a decoding unit encoding the determined at least one maximum coding unit, wherein the order includes determining a plurality of maximum coding units
  • An image encoding apparatus may be provided, which is one of orders.
  • part refers to a hardware component, such as software, FPGA or ASIC, and “part” plays certain roles. However, “part” is not meant to be limited to software or hardware.
  • the “unit” may be configured to be in an addressable storage medium and may be configured to play one or more processors.
  • a “part” refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, Subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables.
  • the functionality provided within the components and “parts” may be combined into a smaller number of components and “parts” or further separated into additional components and “parts”.
  • the "image” may be a static image such as a still image of a video or may represent a dynamic image such as a video, that is, the video itself.
  • sample means data to be processed as data allocated to a sampling position of an image.
  • pixel values and transform coefficients on a transform region may be samples in an image of a spatial domain.
  • a unit including the at least one sample may be defined as a block.
  • the image decoding apparatus 10 may include a processing block determiner 11, a maximum coding unit determiner 12, and a decoder 13. Operations performed by the components included in the image decoding apparatus 10 according to an exemplary embodiment may be implemented using separate hardware or software components, and may be implemented through one hardware (for example, a CPU). May be Operations performed by each component included in the image decoding apparatus 10 will be described with reference to the following specific embodiments.
  • FIG. 1B is a flowchart of an image decoding method performed by an image decoding apparatus 10 using a processing block, according to an exemplary embodiment.
  • the image decoding apparatus 10 may determine at least one processing block for dividing an image.
  • the processing block determiner 11 of the image decoding apparatus 10 may determine at least one processing block for dividing a frame of an image.
  • the processing block is an arbitrary data unit including at least one maximum coding unit for dividing an image, and at least one maximum coding unit included in the processing block may be determined in a specific order. That is, the order of determining at least one maximum coding unit determined in each processing block may correspond to one of various types of order in which the maximum coding unit may be determined, and the order of determining the maximum coding unit determined in each processing block. May be different per processing block.
  • the order of determination of the maximum coding units determined in the processing block is raster scan, Z-scan, N-scan, up-right diagonal scan, and horizontal scan. It may be one of various orders such as a horizontal scan, a vertical scan, etc., but the order that may be determined should not be construed as being limited to the scan orders.
  • the image decoding apparatus 10 may determine the size of at least one processing block included in the image by obtaining information about the size of the processing block.
  • the image decoding apparatus 10 may determine the size of at least one processing block included in the image by obtaining information about the size of the processing block from the bitstream.
  • the size of such a processing block may be a specific size of a data unit indicated by the information about the size of the processing block.
  • the image decoding apparatus 10 may obtain information about a size of a processing block from a bitstream for each specific data unit.
  • the information about the size of the processing block may be obtained from the bitstream in data units such as an image, a sequence, a picture, a slice, and a slice segment. That is, the processing block adjusting unit 11 of the image decoding apparatus 10 may determine the size of at least one processing block for dividing a picture by using information about the size of the processing block obtained from the bitstream for each of several data units.
  • the size of the processing block may be an integer multiple of the maximum coding unit.
  • FIG. 3 illustrates an order in which the image decoding apparatus 10 determines at least one maximum coding unit within at least one processing block included in the picture 30 according to an embodiment.
  • the processing block determiner 11 of the image decoding apparatus 10 may determine the sizes of the processing blocks 31 and 33 included in the picture 30. For example, the image decoding apparatus 10 may determine the size of the processing block based on the information about the size of the processing block obtained from the bitstream. Referring to FIG. 3, the image decoding apparatus 10 according to an exemplary embodiment of the present invention has a horizontal size of four times the maximum coding unit horizontal size and a vertical size of four times the vertical size of the maximum coding unit. You can decide. In operation S211, the image decoding apparatus 10 may determine an order in which at least one maximum coding unit is determined in at least one processing block.
  • the image decoding apparatus 10 selects each processing block 31, 33 included in the picture 30 based on the size of the processing block determined by the processing block determiner 11 in step S210.
  • the maximum coding unit determiner 12 may determine a determination order of at least one maximum coding unit included in the processing blocks 31 and 33 having the determined size.
  • the determination of the maximum coding unit may include the determination of the size of the maximum coding unit.
  • the image decoding apparatus 10 may obtain information about a determination order of at least one maximum coding unit included in at least one processing block from a bitstream, and based on the obtained determination order The order in which at least one largest coding unit is determined may be determined. Information about the determination order may be defined in the order or direction in which the largest coding units are determined in the processing block. That is, the order in which the largest coding units are determined may be determined independently for each processing block.
  • the image decoding apparatus 10 may obtain information about a determination order of the maximum coding unit for each specific data unit from the bitstream.
  • the information about the determination order of the maximum coding unit may be obtained from the bitstream in data units such as an image, a sequence, a picture, a slice, a slice segment, a processing block, and the like. Since the information about the determination order of the largest coding unit indicates the order of determination of the maximum coding unit in the processing block, the information about the determination order may be obtained for each specific data unit including an integer number of processing blocks.
  • the image decoding apparatus 10 may determine at least one maximum coding unit based on the determined order.
  • the maximum coding unit determiner 12 of the image decoding apparatus 10 obtains information on the maximum coding unit determination order from the bitstream as information related to the processing blocks 31 and 33.
  • An order of determining at least one maximum coding unit included in (31, 33) may be determined to determine at least one maximum coding unit included in the picture 30.
  • the maximum coding unit determiner 12 of the image decoding apparatus 10 may determine the determination order (32, 34) of at least one maximum coding unit associated with each processing block 31, 33. have. For example, when the information about the determination order of the largest coding unit is obtained for each processing block, the maximum coding unit determination order associated with each processing block 31 and 33 may be different for each processing block.
  • the maximum coding unit included in the processing block 31 may be determined according to the raster scan order.
  • the maximum coding unit determination order 34 associated with another processing block 33 is the reverse order of the raster scan order
  • the maximum coding unit included in the processing block 33 may be determined according to the reverse order of the raster scan order.
  • the image decoding apparatus 10 may decode at least one determined maximum coding unit, according to an embodiment.
  • the decoder 13 of the image decoding apparatus 10 may decode an image based on the maximum coding unit determined in step S212.
  • the method of decoding the maximum coding unit may include various methods of decoding an image.
  • 4A is a flowchart of a process of determining, by the image decoding apparatus 10, at least one coding unit included in a maximum coding unit, according to an embodiment.
  • an operation performed by the image decoding apparatus 10 in steps S410 to S412 may correspond to an operation performed by the image decoding apparatus 10 in steps S210 to S212 described above with reference to FIG. 1B. Therefore, detailed description thereof will be omitted.
  • the decoder 13 of the image decoding apparatus 10 may determine a maximum coding unit included in the processing block in an order determined with respect to the processing block, and based on the determined maximum coding unit, at least one Coding unit may be determined.
  • the determination of the coding unit may include determining the size of at least one coding unit having a maximum coding unit size or less.
  • the image decoding apparatus 10 encodes one of a plurality of sizes having a size less than or equal to the determined maximum coding unit based on information on the size of the coding unit obtained from the bitstream, according to an exemplary embodiment. You can choose the size of the unit.
  • the image decoding apparatus 10 may obtain information about a size of a coding unit from a bitstream.
  • the information about the size of the coding unit may include information about the shape or size of at least one coding unit included in the maximum coding unit.
  • information about the size of a coding unit indicating dividing a horizontal size or a vertical size of the maximum coding unit may be used to select one of sizes of coding units having a size smaller than or equal to the maximum coding unit. If the size of the maximum coding unit is 64x64, coding units having a size smaller than or equal to the size of the maximum coding unit may have sizes of 64x64, 32x32, 16x16, 8x8, and the like.
  • the information on the size of the coding unit may represent one of a plurality of sizes, such as 64x64, 32x32, 16x16, 8x8, which are 64x64 or less, which is the size of the maximum coding unit, and the image decoding apparatus 10 may encode the image. At least one coding unit within the maximum coding unit may be determined by selecting the size of the coding unit indicated by the information about the size of the unit.
  • 4B illustrates a process of determining, by the image decoding apparatus 10, the size of at least one coding unit included in the picture 40.
  • the maximum coding unit determiner 12 of the image decoding apparatus 10 may determine at least one maximum coding unit included in the picture 40. Each maximum coding unit may be divided into at least one coding unit.
  • the decoder 13 of the image decoding apparatus 10 may determine at least one coding unit included in the maximum coding unit based on the information about the size of the coding unit obtained from the bitstream.
  • the image decoding apparatus 10 may divide each maximum coding unit into at least one coding unit based on the information about the size of the coding unit obtained from the bitstream, and the sizes of the coding units are independent for each maximum coding unit. Can be determined.
  • information on the size of a coding unit may be obtained through a bitstream for each specific data unit (eg, a picture, a processing block, a slice, a slice segment, or a maximum coding unit).
  • specific data unit eg, a picture, a processing block, a slice, a slice segment, or a maximum coding unit.
  • the decoder 13 of the image decoding apparatus 10 determines a coding unit 41 having the same size as the maximum coding unit, or sets the maximum coding unit smaller than the maximum coding unit. It may be divided into coding units 42 or 43 of size.
  • the image decoding apparatus 10 may obtain information about the size of a coding unit from a bitstream for each maximum coding unit.
  • the image decoding apparatus 10 may select one of sizes of coding units that may be determined in each maximum coding unit by using information about the size of the coding unit obtained from the bitstream. At least one coding unit may be determined for each largest coding unit according to the size of the selected coding unit.
  • the size of a coding unit indicated by the information about the size of a coding unit obtained from the bitstream by the image decoding apparatus 10 may represent a size less than or equal to the size of the maximum coding unit. It may be equal to the size of the maximum coding unit or may correspond to a size of 1 / 2n (n is an integer) times the horizontal size and the vertical size of the maximum coding unit. Furthermore, the size of the coding unit that can be represented by the information about the size of the coding unit may include not only all sizes obtained by sequentially dividing the size of the maximum coding unit in depth order, but also do not include the size for a specific depth. It may not. Detailed description thereof will be described later.
  • 4C illustrates sizes of coding units that may be represented by information about the size of a coding unit, by the image decoding apparatus 10, according to an exemplary embodiment.
  • the size of the information about the size of the coding unit may include all sizes sequentially divided into lower depths from the size of the largest coding unit corresponding to the size of the highest depth to the size of the lowest depth. At least one of the sizes between the corresponding size and the size corresponding to the lowest depth may be omitted.
  • the highest depth may indicate a depth of a coding unit having a maximum size of a coding unit as having a size equal to that of a maximum coding unit, and a lowest depth may indicate a depth in which a size of a coding unit is a minimum size.
  • the decoder 13 of the image decoding apparatus 10 may determine at least one coding unit included in the maximum coding unit determined by the maximum coding unit determiner 12.
  • Information on the size of a coding unit can be used in. For example, when the size of the largest coding unit is 64x64, the information about the size of the coding unit is 64x64 (45a, 46a) which is the same size as the size of the maximum coding unit, which is the size of the coding unit of the highest depth, or the maximum coding.
  • Coding unit of the lowest depth as 32x32 (45b, 46b) which is 1/4 size of unit, 16x16 (45c, 46c) which is 1/16 size of maximum coding unit, or 1/64 size of maximum coding unit 8x8 (45d, 46d), which is the size.
  • the information on the size of the coding unit may not only indicate one of the sizes in consideration of all the sizes of the highest depth to the lowest depth (64x64, 32x32, 16x16, and 8x8), but also some of the information. It may indicate one of the sizes.
  • the image decoding apparatus 10 may determine a size of a coding unit indicating one of sizes except for some of the sizes 46a, 46b, 46c, and 46d for the highest depth to the lowest depth. Information can be obtained from the bitstream. For example, when the size of the largest coding unit is 64x64, the image decoding apparatus 10 may obtain information about a size of a coding unit representing one of some sizes 64x64 and 16x16, from the bitstream.
  • the decoder 13 may determine at least one coding unit included in the maximum coding unit based on the information about the size of the coding unit.
  • the image encoding or decoding method that has been used conventionally determines the size of a coding unit using a recursive method (for example, a method of dividing into coding units having a lower depth using a quadtree) for each largest coding unit.
  • a recursive method for example, a method of dividing into coding units having a lower depth using a quadtree
  • the split information is obtained from the bitstream.
  • acquiring the split information from the bitstream for each coding unit and checking whether the split information is divided may cause inefficient results depending on the image characteristics.
  • the size of the coding unit that can be obtained for each maximum coding unit is used.
  • the size of the coding unit included in the maximum coding unit may be determined using information about. Referring to FIG. 4C, in coding units 45a, 45b, 45c, and 45d using split information, split information must be obtained from a bitstream to determine whether to split a coding unit from a current depth to a lower depth. In this case, The amount of data to be obtained from the bitstream increases in proportion to the number of coding units.
  • split information about 45a, split information about four coding units 45b of lower depth 1, and split information about 16 coding units 45c of lower depth 2 are obtained from a bitstream. Therefore, at least 21 bits of data should be obtained from the bitstream.
  • segmentation information eg, segmentation information of 45b and 45d
  • the split information when using split information on a size of a coding unit obtained from a bitstream in relation to a maximum coding unit, is a bit capable of representing sizes of predetermined coding units that may be included in the maximum coding unit. Since only the amount needs to be used, unnecessary bit amount can be reduced. For example, when the information on the size of the coding unit is set to represent only one of 64x64 and 16x16, only 1 bit is needed because only two sizes need to be distinguished.
  • the decoder 13 of the image decoding apparatus 10 may select a coding unit having a size of 64x64 when the information on the size of the coding unit obtained with respect to the specific maximum coding unit is 0b and 16x16 when 1b. You can decide.
  • 0b or 1b may be 0 bit or 1 bit expressed in binary according to an embodiment.
  • the number and type of the size of the coding unit indicated by the information on the size of the coding unit described above is merely an embodiment and should not be interpreted as being limited to the number and type of the size described above.
  • the type or number of sizes of coding units that may be indicated by the information about the size of the coding unit acquired by the image decoding apparatus 10 may be independently determined for each data unit.
  • the type or number of sizes of coding units that may be indicated by the information about the size of the coding unit may be independently determined for each picture, slice, slice segment, tile, or processing block.
  • the type or number of sizes that can be represented by the information on the size of the coding unit may be set differently for each data unit, such data units should not be construed as being limited to the above-described data units, and various other data units may be used. have.
  • 5A is a flowchart illustrating whether the image decoding apparatus 10 obtains split information of a coding unit from a bitstream based on size restriction information of a coding unit obtained from a bitstream, according to an exemplary embodiment.
  • steps S510 to S512 may correspond to the features of the operation described above with reference to FIG. 1B, detailed descriptions thereof will be omitted.
  • the image decoding apparatus 10 may determine at least one coding unit included in the current maximum coding unit, which is one of the maximum coding units determined in step S512, according to an embodiment. Determination of at least one coding unit included in the maximum coding unit may be implemented by an operation performed by the decoder 13 of the image decoding apparatus 10 in steps S413 to S414 in FIG. 4A. It may be implemented using a variety of other methods in the art. According to an embodiment, the decoding process of the decoder 13 may include a method of decoding an image, which will be described later.
  • the image decoding apparatus 10 may compare the sizes of the at least one coding unit and the size indicated by the size restriction information based on the size restriction information on the coding unit obtained from the bitstream, according to an embodiment.
  • the size restriction information may include information for determining whether a coding unit may be divided into lower depths. For example, when comparing the size indicated by the size restriction information on the current coding unit with the size of the current coding unit, it is determined whether to divide the current coding unit into lower depths according to a comparison result with the size indicated by the size restriction information. Can be.
  • the information indicated by the size restriction information acquired from the bitstream by the image decoding apparatus 10 is information for determining whether it can be divided into lower depths and includes information indicating a size larger than the minimum size of the coding unit. Can be represented. That is, when the size of the current coding unit is the minimum size that the coding unit can have, it is not necessary to determine whether to divide the current coding unit into coding units having a lower depth, but the image is not required even if the size of the current coding unit is not the minimum size. In some cases, it may be unnecessary to determine whether to divide the current coding unit into lower depths, and in this case, obtaining split information related to the current coding unit from the bitstream may be inefficient.
  • the decoder 13 of the image decoding apparatus 10 obtains a size limit obtained from the bitstream even if all of the split information for the coding units of each current depth are not obtained from the bitstream. By comparing the information and the size of the coding unit of the current depth, it is possible to determine whether to divide into lower depths.
  • 5B illustrates a process of determining, by the image decoding apparatus 10, at least one coding unit based on size restriction information, according to an embodiment.
  • the decoder 13 of the image decoding apparatus 10 may determine at least one coding unit based on size restriction information obtained from the bitstream. By comparing the size of the coding unit indicated by the size restriction information with the size of the coding unit of the current depth, if the size of the coding unit of the current depth is larger than the size of the coding unit indicated by the size limitation information, the decoder 13 may determine the current size.
  • a coding unit of a depth may be divided into coding units of a lower depth.
  • the image decoding apparatus 10 may obtain size limitation information indicating that the size of 16x16 is the minimum size for checking whether the size of the 16x16 is divided into lower depths of the coding unit.
  • the coding unit 51a of the highest depth Depth n When the size of the coding unit 51a of the highest depth Depth n is 64x64, the coding unit may be divided into lower depths (for example, depth n + 1, depth n + 2, depth n + 3, ). However, in a coding unit having a size of 16 ⁇ 16, which is a size indicated by size restriction information, split information for checking whether a split into a lower depth is not obtained from a bitstream. For example, the coding unit 51a of the highest depth n having a size of 64x64 is recursively divided into the coding units 50b and 50c of the depth n + 1 and depth n + 2.
  • the information is divided into the coding units of each depth (depth n, depth n + 1, depth n + 2) can be obtained from the bitstream, whether to be divided into the lower depth is divided information related to the coding unit It can be determined based on. Depending on the characteristics of the image, it may not need to be divided into coding units having a size of 8x8. In this case, split information indicating that information is not divided into lower depths for each 16x16 size coding unit may be obtained from the bitstream.
  • the coding unit having a specific size is less than or equal to In Restriction, it may be efficient to restrict partition information from being obtained from the bitstream.
  • the bitstream may be efficiently used by obtaining and using size limitation information indicating a size of a coding unit that is configured to not obtain split information from the bitstream.
  • the image decoding apparatus 10 may perform coding units 51a having a depth n from coding units 51b or 51c having a lower depth (depth n + 1 or depth n + 2). Coding units can be divided.
  • the method of dividing into coding units of a lower depth may use a method according to the prior art that obtains split information for each coding unit, or may use the aforementioned various embodiments for determining a coding unit of a lower depth.
  • the decoding of the image decoding apparatus 10 divides the coding unit of depth n from the coding unit of depth n + 2, and splits to determine whether to split into the coding unit of the depth n + 3 in the coding unit of depth n + 2.
  • the prediction unit or the transformation unit may be determined in the coding unit 51c of the depth n + 2.
  • the information indicated by the size restriction information acquired by the image decoding apparatus 10 from the bitstream may be obtained for each specific data unit.
  • the image decoding apparatus 10 may obtain size restriction information from a bitstream for each picture, slice, slice segment, tile, processing block, or maximum coding unit.
  • the image decoding apparatus 10 obtains, from the bitstream, split information about at least one coding unit of the current depth. can do. Based on the obtained split information, the decoder 13 of the image decoding apparatus 10 may determine whether to split a coding unit of a current depth into coding units of a lower depth.
  • the image decoding apparatus 10 may decode at least one coding unit of the current depth. If it is determined that the size of the coding unit of the current depth is less than or equal to the size indicated by the size restriction information, the split information indicating whether to split into lower depths does not need to be obtained from the bitstream in relation to the coding unit of the current depth. In the coding unit, division may be stopped and a decoding process may be performed.
  • the image decoding apparatus 10 may determine whether to obtain partition information from the bitstream by comparing the size indicated by the size restriction information obtained from the bitstream with the size of the coding unit of the current depth. Furthermore, not only the size limit information obtained from the bitstream directly indicates a specific size, but also determines the size of the predetermined size and the coding unit of the current depth in order to determine whether to obtain the partition information from the bitstream. It may also indicate whether or not to compare. That is, when the size limit information is information indicating a specific size directly, the amount of information transmitted in the bitstream may increase, and thus, predetermined size larger than the minimum size of the coding unit is determined in advance, and the encoding of the predetermined size and the current depth is performed.
  • Size restriction information which is information indicating whether unit sizes are to be compared, may be obtained from the bitstream.
  • the image decoding apparatus 10 uses the size limitation information indicating only whether to compare the predetermined size with the size of the coding unit of the current depth. By doing this, the amount of data can be relatively reduced.
  • 6A is a flowchart of a process of determining, by the image decoding apparatus 10, a coding unit based on second split information indicating whether to split a specific depth into lower depths according to an exemplary embodiment.
  • the image decoding apparatus 10 may determine whether to split a specific depth into lower depths instead of sequentially dividing a coding unit of a current depth into coding units of a lower depth in the depth order. .
  • the feature that the image decoding apparatus 10 may perform through steps S610 to S612 may correspond to the features of steps S210 to S212 described above with reference to FIG. 1B, and thus, a detailed description thereof will be omitted. do.
  • the decoder 13 of the image decoding apparatus 10 may determine a coding unit of a current depth included in the maximum coding unit, according to an embodiment.
  • the determined coding unit of the current depth may be divided into coding units of a lower depth through a later step.
  • the decoder 13 of the image decoding apparatus 10 may determine whether the lower depth is the lowest depth in operation S613. That is, the decoder 13 of the image decoding apparatus 10 may divide the image into lower depths according to whether the lower depth, which is a depth lower than one depth of the current depth of the coding unit determined according to the embodiment, is the lowest depth. It may be determined whether or not to obtain the second partitioning information from the bitstream, indicating whether to split to a lower depth than the lower depth.
  • the image decoding apparatus 10 may obtain second split information from the bitstream when the lower depth is not the lowest depth based on the determination result in operation S614.
  • the decoder 13 of the image decoding apparatus 10 indicates whether the second split information indicates to split the coding unit of the current depth into a depth lower than the lower depth without splitting the coding unit of the current depth into the coding unit of the lower depth. You can judge.
  • the decoder 13 of the image decoding apparatus 10 may split a coding unit of a current depth based on split information including at least one of first split information and second split information.
  • the decoder 13 of the image decoding apparatus 10 divides the second split information into a depth lower than the lower depth without splitting the coding unit of the current depth into the coding units of the lower depth, according to an exemplary embodiment. If not, the coding unit of the current depth may be divided into the coding units of the lower depth based on the first split information obtained from the bitstream.
  • the lower depth may refer to a depth of one depth below the current depth.
  • the process of determining the coding units of the lower depths included in the coding unit of the current depth based on the first split information indicating whether to split into the lower depths may be performed according to various methods in the art. A recursive division method of coding units to be described later may be included.
  • the decoder 13 of the image decoding apparatus 10 divides the second split information into a depth lower than the lower depth without splitting the coding unit of the current depth into the coding units of the lower depth, according to an exemplary embodiment.
  • the coding unit of the current depth may be divided into coding units having a depth lower than the lower depth, not the lowest depth.
  • FIG. 6B illustrates a process of splitting a coding unit of a current depth based on at least one of the first split information and the second split information, by the image decoding apparatus 10, according to an exemplary embodiment.
  • the decoder 13 of the image decoding apparatus 10 may determine a coding depth 60a of a current depth (eg, depth n) based on the first split information. It may be divided into coding units 60b and 60c having n + 1 and depth n + 2. That is, the first split information includes coding units 60a of the current depth n in depth order as coding units 60b of the lower depth n + 1 that is one depth below the current depth n in depth order. Can be divided Furthermore, the decoder 13 of the image decoding apparatus 10 may encode the encoding units 60b based on the first split information obtained for each of the coding units 60b of the divided depth n + 1.
  • Each may be divided into coding units 60c having a depth n + 2 and a depth n + 3... Below the lower depth n + 1.
  • the intermediate depth for example, It may be inefficient to obtain split information of all coding units having an intermediate depth from the bitstream in order to determine whether to split the depth n + 1 depth between depth n and depth n + 2.
  • the decoder 13 of the image decoding apparatus 10 obtains and uses second split information from the bitstream indicating whether to split the specific depth into lower depths according to an embodiment.
  • the acquisition of the first split information indicating whether to split the coding units having a specific depth may be omitted.
  • the decoder 13 of the image decoding apparatus 10 may use the second split information to split the coding unit 61a of the current depth n.
  • the second splitting information for the coding unit 61a omits division into a coding unit of a specific depth (for example, a depth n + 1) that is one depth below the current depth n, and lower It may indicate that the data is directly divided into coding units 61c having a depth n + 2 and a depth n + 3... Below the depth n + 1. Accordingly, since the decoder 13 does not need to obtain the first partition information for the coding units having the lower depth (depth n + 1) from the bitstream since the second partition information for the coding unit 61a is used, the transmission is not necessary. Can reduce the amount of information.
  • the decoder 13 of the image decoding apparatus 10 may set a coding unit of a current depth lower than a depth n + 1 based on the second split information. +2, depth n + 3...) can be directly divided into coding units. Furthermore, the decoder 13 does not obtain first partition information for coding units having lower depths n + 2, depth n + 3, ..., which are directly divided according to the second partition information, from the bitstream. Decoding may be performed on each of coding units that are divided according to the split information and have a size determined.
  • FIG. 7A illustrates a process of determining, by the image decoding apparatus 10, at least one coding unit included in a maximum coding unit based on at least one of information about a maximum depth and information about a minimum depth of a coding unit, according to an exemplary embodiment. Shows a flow diagram for.
  • steps S710 to S712 may correspond to the features of the operation described above with reference to FIG. 1B, detailed descriptions thereof will be omitted.
  • the image decoding apparatus 10 may determine at least one coding unit included in the maximum coding unit based on at least one of information about the maximum depth and information about the minimum depth of the coding unit, according to an embodiment. .
  • the decoder 13 of the image decoding apparatus 10 may determine the maximum depth and the minimum depth that may be used in the process of performing the recursive division within the maximum coding unit. have. For example, the decoder 13 may recursively divide the coding unit of the depth indicated by the information about the maximum depth to determine at least one coding unit included in the maximum coding unit. According to the prior art, at least one coding unit included in the maximum coding unit has been determined by recursively splitting from the largest coding unit to the depth order, but the characteristics of the image must be determined from the maximum coding unit.
  • the image decoding apparatus 10 obtains and uses information about a maximum depth from a neighboring block, so that the image decoding apparatus 10 does not start a recursive division from a coding unit having the same size as that of the maximum coding unit, but rather about the maximum depth. Splitting can be started recursively from the coding unit of the depth indicated by the information.
  • the decoder 13 may recursively divide the coding unit having the same size as the maximum coding unit to the coding unit of the depth indicated by the information about the minimum depth.
  • at least one coding unit included in the maximum coding unit is determined by recursively dividing the coding unit until the split information of the coding unit of the current depth is not divided into lower depths.
  • segmentation information should be determined by obtaining segmentation information from a bitstream for every coding unit, encoding or decoding is performed according to a coding unit having a small size due to the low frequency component of the image. In some cases, it may be inefficient.
  • the image decoding apparatus 10 obtains split information for each coding unit by using information about a minimum depth from neighboring blocks, so that the information about the minimum depth is not interrupted. Partitioning can be started recursively up to the coding unit of the indicated depth. According to an embodiment, the split information on the coding unit of the depth indicated by the information about the minimum depth may not be obtained from the bitstream.
  • the image decoding apparatus 10 may obtain at least one of information about a maximum depth and information about a minimum depth from a neighboring block or from a bitstream for each specific data unit. For example, the image decoding apparatus 10 may determine at least one of a sequence, a picture, a slice, a slice segment, a tile, a processing block, a maximum depth information, or a minimum depth information for each coding unit from a bitstream. Can be obtained. The image decoding apparatus 10 may determine at least one coding unit included in a specific data unit based on at least one of information on the maximum depth and information on the minimum depth acquired for each specific data unit from the bitstream.
  • FIG. 7B illustrates a process of determining, by the image decoding apparatus 10, at least one coding unit based on at least one of information about a maximum depth and information about a minimum depth, according to an embodiment.
  • the decoder 13 of the image decoding apparatus 10 may determine the depth of a coding unit at which recursive partitioning starts within a maximum coding unit, based on the information about the maximum depth. Referring to FIG. 7B, when the depth indicated by the information about the maximum depth indicates depth n + 1, the decoder 13 encodes the depth n + 1 indicated by the information about the maximum depth according to an embodiment. The division can be started recursively from the unit 70b.
  • the splitting is started, but recursively splitting from the coding unit 70b having the smaller size than the maximum coding unit to obtain a lower depth ( Coding units 70c and 70d... of depth n + 2 and depth n + 3... may be started, and a depth at which division is started may be a depth n + 1 indicated by information on a maximum depth.
  • the decoder 13 of the image decoding apparatus 10 may determine a coding unit of the minimum depth at which recursive partitioning is stopped within the maximum coding unit, based on the information on the minimum depth. Referring to FIG. 7B, when the depth indicated by the information about the minimum depth indicates depth n + 2 according to an embodiment, the decoder 13 encodes a depth n + 2 indicated by the information about the minimum depth. The division can be performed recursively up to the unit 71c. That is, the recursive partitioning is performed from the coding unit 71a having the same size as the maximum coding unit to the coding unit depth n + 2 of the depth n + 2 indicated by the information about the minimum size. It cannot be divided into coding units having a depth n + 3 or less.
  • the image decoding apparatus 10 may determine at least one coding unit included in the maximum coding unit based on the information about the maximum depth and the information about the minimum depth. For example, the decoder 13 of the image decoding apparatus 10 may recursively divide a coding unit from the depth indicated by the information about the maximum depth to the depth indicated by the information about the minimum depth.
  • 8A is a flowchart of determining, by the image decoding apparatus 10, at least one prediction unit included in at least one coding unit by obtaining information indicating a prediction method from a bitstream.
  • steps S810 to S812 may correspond to operations in steps S210 to S212 in FIG. 1B, detailed descriptions thereof will be omitted.
  • the image decoding apparatus 10 may determine at least one coding unit included in a current maximum coding unit which is one of at least one maximum coding unit.
  • the decoder 13 of the image decoding apparatus 10 may determine at least one coding unit included in the current maximum coding unit by using the aforementioned various embodiments or by using a conventional technique of performing recursive partitioning from the maximum coding unit. You can decide.
  • the decoder 13 of the image decoding apparatus 10 may determine whether information indicating a prediction method indicates using a first method that is a preset prediction method. Information representing the prediction method may be obtained from the bitstream. The decoder 13 of the image decoding apparatus 10 may determine whether to determine a prediction unit using a preset prediction method or to use a method different from the preset prediction method based on the information indicating the prediction method.
  • the decoder 13 of the image decoding apparatus 10 indicates one of a plurality of partition types using the first method in step S815.
  • the partition mode information may be obtained from the bitstream to determine at least one prediction unit included in the current coding unit.
  • the decoder 13 of the image decoding apparatus 10 may use a second method that is different from the first method, which is a method preset in step S816.
  • the prediction unit included in the current coding unit may be determined using the method.
  • the decoder 13 of the image decoding apparatus 10 may determine a prediction unit based on a predetermined partition type without obtaining partition mode information from a bitstream as a second method.
  • the partition mode information may be information indicating one of a plurality of partition types according to an exemplary embodiment.
  • the partition mode information The prediction unit may be determined according to the partition type indicated by the partition mode information by obtaining a from the bitstream. However, as the partition types represented by the partition mode information vary, the amount of bits required for the partition mode information may increase. Accordingly, the decoder 13 of the image decoding apparatus 10 may not acquire partition mode information from the bitstream in order to select one of these various partition modes according to an image characteristic according to an embodiment. Based on the preset partition type, at least one prediction unit included in the current coding unit may be determined.
  • FIG. 8B illustrates at least one prediction unit included in a current coding unit according to a first method or a second method, based on information about a prediction method, by the decoder 13 of the image decoding apparatus 10 according to an embodiment. The decision process is shown.
  • the decoder 13 of the image decoding apparatus 10 obtains partition mode information according to a first method, which is a preset prediction method, based on information about a prediction method obtained from a bitstream, and thus partition mode. At least one prediction unit may be determined as a partition type indicated by the information. Referring to FIG. 8B, when the prediction unit is determined according to the first method, partition mode information indicating one of various types of prediction units may be used for each coding unit. A description of various types of partitions in which partition mode information appears will be described later. According to the first method, prediction units for dividing at least one of horizontal and vertical in half or a ratio of 1/4 and 3/4 in the current coding unit may be determined or prediction units having the same size as the coding unit may be determined.
  • the decoder 13 of the image decoding apparatus 10 obtains partition mode information from the bitstream according to the second method, which is a preset prediction method, based on the information about the prediction method obtained from the bitstream.
  • the prediction unit may be determined according to a preset partition type (for example, a partition having the same size as the current coding unit).
  • the decoder 13 of the image decoding apparatus 10 may determine a prediction unit having the same size as the current coding unit according to the second method. Accordingly, when segmentation from the current coding unit to the detailed prediction unit is not necessary according to the image characteristic, the prediction unit may be determined according to the uniformly preset partition type without obtaining partition mode information according to the second method.
  • the decoder 13 of the image decoding apparatus 10 may determine a prediction unit for the current coding unit based on the second method, and the size of the current coding unit is determined to be the same size as the maximum coding unit. In this case, a prediction unit having the same size as that of the coding unit of the lower depth of the current coding unit may be determined. Referring to FIG. 8B, the decoder 13 of the image decoding apparatus 10 may determine the current coding unit to a size of 64x64, which is the same size as the maximum coding unit, according to an embodiment.
  • the decoder 13 When the information on the prediction method indicates that the prediction unit is determined using the second method, when the size of the current coding unit is 64x64, which is the same size as the maximum coding unit, the decoder 13 based on the preset partition type. A prediction unit having a size of 32x32 which is a size of a coding unit of a lower depth of the current coding unit may be determined.
  • the image encoding apparatus 15 may include a processing block determiner 16, a maximum coding unit determiner 17, and an encoder 18. Operations performed by the components included in the image encoding apparatus 15 according to an exemplary embodiment may be implemented using separate hardware or software components, and further implemented through one hardware (for example, a CPU). May be Operations performed by each component included in the image encoding apparatus 15 will be described with reference to the following specific embodiments.
  • FIG. 2B is a flowchart of an image encoding method performed by the image encoding apparatus 15 using a processing block, according to an embodiment.
  • the image encoding apparatus 15 may determine at least one processing block for dividing an image.
  • the processing block determiner 16 of the image encoding apparatus 15 may determine at least one processing block for dividing a frame of an image.
  • the processing block is an arbitrary data unit including at least one maximum coding unit for dividing an image, and at least one maximum coding unit included in the processing block may be determined in a specific order. That is, the order of determining at least one maximum coding unit determined in each processing block may correspond to one of various types of order in which the maximum coding unit may be determined, and the order of determining the maximum coding unit determined in each processing block. May be different per processing block.
  • the image encoding apparatus 15 may generate a bitstream including information about a size of a processing block, and a decoder that obtains information about the size of the processing block from the bitstream is included in an image.
  • the size of at least one processing block can be determined.
  • the size of such a processing block may be a specific size of a data unit indicated by the information about the size of the processing block.
  • FIG. 3 illustrates an order in which the image encoding apparatus 15 determines at least one maximum coding unit in at least one processing block included in the picture 30. Since the determination operation performed by the image encoding apparatus 15 in relation to FIG. 3 has been described above with reference to the operation performed by the image decoding apparatus 10, a detailed description thereof will be omitted.
  • the image encoding apparatus 15 may determine at least one maximum coding unit based on the order determined according to the embodiment.
  • the maximum coding unit determiner 17 of the image encoding apparatus 15 obtains information on the maximum coding unit determination order from the bitstream as information related to the processing blocks 31 and 33.
  • An order of determining at least one maximum coding unit included in (31, 33) may be determined to determine at least one maximum coding unit included in the picture 30.
  • the image encoding apparatus 15 may encode the determined at least one maximum coding unit.
  • the encoder 18 of the image encoding apparatus 15 may encode an image according to the maximum coding unit determined in operation S222.
  • the method of encoding the maximum coding unit may include various methods of encoding an image.
  • FIG. 4A is a flowchart of a process of determining, by the image encoding apparatus 15, at least one coding unit included in a maximum coding unit, according to an embodiment.
  • the operation performed by the image encoding apparatus 15 in steps S410 to S412 may correspond to the operation performed by the image encoding apparatus 15 in steps S220 to S222 described above with reference to FIG. 2B. Therefore, detailed description thereof will be omitted.
  • the image encoding apparatus 15 encodes one of a plurality of sizes having a size less than or equal to the determined maximum coding unit based on information on the size of the coding unit obtained from the bitstream, according to an embodiment. You can choose the size of the unit.
  • 4B illustrates a process of determining, by the image encoding apparatus 15, the size of at least one coding unit included in the picture 40.
  • the encoder 18 of the image encoding apparatus 15 may determine at least one coding unit included in the maximum coding unit based on the information about the size of the coding unit obtained from the bitstream.
  • the image encoding apparatus 15 may generate a bitstream including information about the size of a coding unit, and the decoding end may obtain a bitstream and divide each maximum coding unit into at least one coding unit.
  • the size of these coding units may be independently determined for each largest coding unit.
  • a bitstream including information about a size of a coding unit may be generated for each specific data unit (eg, a picture, a processing block, a slice, a slice segment, or a maximum coding unit).
  • the image encoding apparatus 15 will be described on the premise of generating a bitstream including information on the size of a coding unit for each maximum coding unit.
  • 4C illustrates sizes of coding units that may be represented by information about the size of coding units, by the image encoding apparatus 15.
  • the size of the information about the size of the coding unit may include all sizes sequentially divided into lower depths from the size of the largest coding unit corresponding to the size of the highest depth to the size of the lowest depth. At least one of the sizes between the corresponding size and the size corresponding to the lowest depth may be omitted.
  • 5A illustrates whether the image encoding apparatus 15 generates a bitstream including size restriction information of a coding unit, and generates a bitstream including split information of coding units based on the size restriction information.
  • the flowchart which shows is shown.
  • steps S510 to S512 may correspond to the features of the operation described above with reference to FIG. 2B, detailed descriptions thereof will be omitted.
  • the image encoding apparatus 15 may determine at least one coding unit included in the current maximum coding unit, which is one of the maximum coding units determined in operation S512, according to an embodiment. Determination of at least one coding unit included in the maximum coding unit may be implemented by an operation performed by the encoder 18 of the image encoding apparatus 15 in steps S413 to S414 in FIG. 4A. It may be implemented using a variety of other methods in the art. According to an embodiment, the decoding process of the encoder 18 may include a method of encoding an image, which will be described later.
  • the image encoding apparatus 15 may generate a bitstream including size restriction information about a coding unit, and based on the size restriction information, the image encoding apparatus 15 may generate the size and the size restriction information of at least one coding unit. You can compare the sizes indicated by.
  • the size restriction information may include information for determining whether a coding unit may be divided into lower depths. For example, when comparing the size indicated by the size restriction information on the current coding unit with the size of the current coding unit, it is determined whether to divide the current coding unit into lower depths according to a comparison result with the size indicated by the size restriction information. Can be.
  • the information indicated by the size restriction information in the image encoding apparatus 15 may indicate information indicating a size larger than the minimum size of the coding unit as information for determining whether the information may be divided into lower depths.
  • the image encoding apparatus 15 may include bitstream including split information about at least one coding unit of the current depth. Can be generated. Based on the obtained split information, the encoder 18 of the image encoding apparatus 15 may determine whether to split a coding unit of a current depth into coding units of a lower depth.
  • the image encoding apparatus 15 may encode at least one coding unit of the current depth. If it is determined that the size of the coding unit of the current depth is less than or equal to the size indicated by the size restriction information, it is not necessary to encode the split information indicating whether to split into the lower depths in relation to the coding unit of the current depth. The division may be stopped and the encoding process may be performed.
  • FIG. 6A is a flowchart of a process of determining, by the image encoding apparatus 15, a coding unit based on second split information indicating whether to split a specific depth into lower depths according to an embodiment.
  • the image encoding apparatus 15 may determine whether to split a specific depth into lower depths instead of sequentially dividing a coding unit of a current depth into coding units of a lower depth in the depth order. .
  • the feature that the image encoding apparatus 15 may perform through steps S610 to S612 may correspond to the features of steps S220 to S222 described above with reference to FIG. 2B, so a detailed description thereof will be omitted. do.
  • the encoder 18 of the image encoding apparatus 15 may determine a coding unit of the current depth included in the maximum coding unit, according to an embodiment.
  • the determined coding unit of the current depth may be divided into coding units of a lower depth through a later step.
  • the encoder 18 of the image encoding apparatus 15 may determine whether the lower depth is the lowest depth in operation S613. That is, the encoding unit 18 of the image encoding apparatus 15 may divide the image into lower depths according to whether the lower depth, which is a depth lower than one depth of the current depth, of the coding unit determined according to the embodiment is the lowest depth. It may be omitted, and it may be determined whether to encode the second split information indicating whether to split to a lower depth than the lower depth.
  • the image encoding apparatus 15 may obtain second split information from the bitstream when the lower depth is not the lowest depth based on the determination result in operation S614.
  • the encoder 18 of the image encoding apparatus 15 determines whether the second split information indicates to split the coding unit of the current depth into a lower depth than the lower depth without coding the coding unit of the lower depth. You can judge. According to an exemplary embodiment, the encoder 18 of the image encoding apparatus 15 may divide the coding unit of the current depth based on split information including at least one of the first split information and the second split information.
  • the encoder 18 of the image encoding apparatus 15 divides the second split information into a depth lower than the lower depth without splitting the coding unit of the current depth into the coding units of the lower depth, according to an exemplary embodiment. If not, the coding unit of the current depth may be split into the coding units of the lower depth based on the first split information.
  • the encoder 18 of the image encoding apparatus 15 divides the second split information into a depth lower than the lower depth without splitting the coding unit of the current depth into the coding units of the lower depth, according to an exemplary embodiment.
  • the coding unit of the current depth may be divided into coding units having a depth lower than the lower depth, not the lowest depth.
  • FIG. 6B illustrates a process of splitting a coding unit of a current depth by the image encoding apparatus 15 based on at least one of the first split information and the second split information.
  • the process of dividing the coding unit by the image encoding apparatus 15 may be an operation corresponding to the operation performed by the image decoding apparatus 10 with reference to FIG. 6B, and thus, a detailed description thereof will be omitted.
  • FIG. 7A illustrates a process of determining, by the image encoding apparatus 15, at least one coding unit included in a maximum coding unit based on at least one of information about a maximum depth and information about a minimum depth of a coding unit, according to an embodiment.
  • Shows a flow diagram for. 7B illustrates a process of determining, by the image encoding apparatus 15, at least one coding unit based on at least one of information about a maximum depth and information about a minimum depth, according to an embodiment.
  • the process of determining the at least one coding unit by the image encoding apparatus 15 may be an operation corresponding to an operation performed by the image decoding apparatus 10 in relation to FIGS. 7A and 7B. Therefore, detailed description will be omitted.
  • 8A is a flowchart of determining, by the image encoding apparatus 15, at least one prediction unit included in at least one coding unit by obtaining information indicating a prediction method from a bitstream.
  • FIG. 8B illustrates at least one prediction unit included in a current coding unit according to a first method or a second method, based on information about a prediction method, by the encoder 18 of the image encoding apparatus 15, according to an exemplary embodiment. The decision process is shown.
  • the process of determining the at least one prediction unit by the image encoding apparatus 15 may be an operation corresponding to an operation performed by the image decoding apparatus 10 in relation to FIGS. 8A and 8B. Therefore, detailed description will be omitted.
  • FIG. 9 is a block diagram of a video encoding apparatus 100 based on coding units having a tree structure, according to an embodiment.
  • the video encoding apparatus 100 of FIG. 9 may correspond to the image encoding apparatus 15 of FIG. 2A.
  • the video encoding apparatus 100 including video prediction based on coding units having a tree structure includes a coding unit determiner 120 and an output unit 130.
  • the video encoding apparatus 100 that includes video prediction based on coding units having a tree structure is abbreviated as “video encoding apparatus 100”.
  • the coding unit determiner 120 may partition the current picture based on a maximum coding unit that is a coding unit having a maximum size for the current picture of the image. If the current picture is larger than the maximum coding unit, image data of the current picture may be split into at least one maximum coding unit.
  • the maximum coding unit may be a data unit having a size of 32x32, 64x64, 128x128, 256x256, or the like, and may be a square data unit having a square of two horizontal and vertical sizes.
  • the coding unit according to an embodiment may be characterized by a maximum size and depth.
  • the depth indicates the number of times the coding unit is spatially divided from the maximum coding unit, and as the depth increases, the coding unit for each depth may be split from the maximum coding unit to the minimum coding unit.
  • the depth of the largest coding unit is the highest depth and the minimum coding unit may be defined as the lowest coding unit.
  • the maximum coding unit decreases as the depth increases, the size of the coding unit for each depth decreases, and thus, the coding unit of the higher depth may include coding units of a plurality of lower depths.
  • the image data of the current picture may be divided into the largest coding units according to the maximum size of the coding units, and each of the maximum coding units may include coding units divided according to depths. Since the maximum coding unit is divided according to depths, image data of a spatial domain included in the maximum coding unit may be hierarchically classified according to depths.
  • the maximum depth and the maximum size of the coding unit that limit the total number of times of hierarchically dividing the height and the width of the maximum coding unit may be preset.
  • the coding unit determiner 120 encodes at least one divided region obtained by dividing the region of the largest coding unit for each depth, and determines a depth at which the final encoding result is output for each of the at least one divided region. That is, the coding unit determiner 120 encodes image data in coding units according to depths for each maximum coding unit of the current picture, and selects the depth at which the smallest coding error occurs to determine the final depth. The determined final depth and the image data for each maximum coding unit are output to the outputter 130.
  • Image data in the largest coding unit is encoded based on coding units according to depths according to at least one depth less than or equal to the maximum depth, and encoding results based on the coding units for each depth are compared. As a result of comparing the encoding error of the coding units according to depths, a depth having the smallest encoding error may be selected. At least one final depth may be determined for each maximum coding unit.
  • the coding unit is divided into hierarchically and the number of coding units increases.
  • a coding error of each data is measured, and whether or not division into a lower depth is determined. Therefore, even in the data included in one largest coding unit, since the encoding error for each depth is different according to the position, the final depth may be differently determined according to the position. Accordingly, one or more final depths may be set for one maximum coding unit, and data of the maximum coding unit may be partitioned according to coding units of one or more final depths.
  • the coding unit determiner 120 may determine coding units having a tree structure included in the current maximum coding unit.
  • the coding units according to the tree structure according to an embodiment include coding units having a depth determined as a final depth among all deeper coding units included in the current maximum coding unit.
  • the coding unit of the final depth may be determined hierarchically according to the depth in the same region within the maximum coding unit, and may be independently determined for the other regions.
  • the final depth for the current area can be determined independently of the final depth for the other area.
  • the maximum depth according to an embodiment is an index related to the number of divisions from the maximum coding unit to the minimum coding unit.
  • the first maximum depth according to an embodiment may represent the total number of divisions from the maximum coding unit to the minimum coding unit.
  • the second maximum depth according to an embodiment may represent the total number of depth levels from the maximum coding unit to the minimum coding unit. For example, when the depth of the largest coding unit is 0, the depth of the coding unit obtained by dividing the largest coding unit once may be set to 1, and the depth of the coding unit divided twice may be set to 2. In this case, if the coding unit divided four times from the maximum coding unit is the minimum coding unit, since depth levels of 0, 1, 2, 3, and 4 exist, the first maximum depth is set to 4 and the second maximum depth is set to 5. Can be.
  • Predictive encoding and transformation of the largest coding unit may be performed. Similarly, prediction encoding and transformation are performed based on depth-wise coding units for each maximum coding unit and for each depth less than or equal to the maximum depth.
  • encoding including prediction encoding and transformation should be performed on all the coding units for each depth generated as the depth deepens.
  • the prediction encoding and the transformation will be described based on the coding unit of the current depth among at least one maximum coding unit.
  • the video encoding apparatus 100 may variously select a size or shape of a data unit for encoding image data.
  • the encoding of the image data is performed through prediction encoding, transforming, entropy encoding, and the like.
  • the same data unit may be used in every step, or the data unit may be changed in steps.
  • the video encoding apparatus 100 may select not only a coding unit for encoding the image data, but also a data unit different from the coding unit in order to perform predictive encoding of the image data in the coding unit.
  • prediction encoding may be performed based on coding units of a final depth, that is, coding units that are no longer split.
  • the partition in which the coding unit is divided may include a data unit in which at least one of a coding unit and a height and a width of the coding unit are split.
  • the partition may include a data unit having a split coding unit and a data unit having the same size as the coding unit.
  • the partition on which the prediction is based may be referred to as a 'prediction unit'.
  • the partition mode may be formed in a geometric form, as well as partitions divided in an asymmetric ratio such as 1: n or n: 1, as well as symmetric partitions in which a height or width of a prediction unit is divided in a symmetrical ratio. It may optionally include partitioned partitions, arbitrary types of partitions, and the like.
  • the prediction mode of the prediction unit may be at least one of an intra mode, an inter mode, and a skip mode.
  • the intra mode and the inter mode may be performed on partitions having sizes of 2N ⁇ 2N, 2N ⁇ N, N ⁇ 2N, and N ⁇ N.
  • the skip mode may be performed only for partitions having a size of 2N ⁇ 2N.
  • the encoding may be performed independently for each prediction unit within the coding unit to select a prediction mode having the smallest encoding error.
  • the video encoding apparatus 100 may perform conversion of image data of a coding unit based on not only a coding unit for encoding image data, but also a data unit different from the coding unit.
  • the transformation may be performed based on a transformation unit having a size smaller than or equal to the coding unit.
  • the transformation unit may include a data unit for intra mode and a transformation unit for inter mode.
  • the transformation unit in the coding unit is also recursively divided into smaller transformation units, so that the residual data of the coding unit is determined according to the tree structure according to the transformation depth. Can be partitioned according to the conversion unit.
  • a transform depth indicating a number of divisions between the height and the width of the coding unit divided to the transform unit may be set. For example, if the size of the transform unit of the current coding unit of size 2Nx2N is 2Nx2N, the transform depth is 0, the transform depth 1 if the size of the transform unit is NxN, and the transform depth 2 if the size of the transform unit is N / 2xN / 2. Can be. That is, the transformation unit having a tree structure may also be set for the transformation unit according to the transformation depth.
  • the split information for each depth requires not only depth but also prediction related information and transformation related information. Accordingly, the coding unit determiner 120 may determine not only the depth that generated the minimum encoding error, but also a partition mode in which the prediction unit is divided into partitions, a prediction mode for each prediction unit, and a size of a transformation unit for transformation.
  • a method of determining a coding unit, a prediction unit / partition, and a transformation unit according to a tree structure of a maximum coding unit according to an embodiment will be described in detail with reference to FIGS. 9 to 19.
  • the coding unit determiner 120 may measure a coding error of coding units according to depths using a Lagrangian Multiplier-based rate-distortion optimization technique.
  • the output unit 130 outputs the image data and the split information according to depths of the maximum coding unit, which are encoded based on at least one depth determined by the coding unit determiner 120, in a bitstream form.
  • the encoded image data may be a result of encoding residual data of the image.
  • the split information for each depth may include depth information, partition mode information of a prediction unit, prediction mode information, split information of a transformation unit, and the like.
  • the final depth information may be defined using depth-specific segmentation information indicating whether to encode in a coding unit of a lower depth rather than encoding the current depth. If the current depth of the current coding unit is a depth, since the current coding unit is encoded in a coding unit of the current depth, split information of the current depth may be defined so that it is no longer divided into lower depths. On the contrary, if the current depth of the current coding unit is not the depth, encoding should be attempted using the coding unit of the lower depth, and thus split information of the current depth may be defined to be divided into coding units of the lower depth.
  • encoding is performed on the coding unit divided into the coding units of the lower depth. Since at least one coding unit of a lower depth exists in the coding unit of the current depth, encoding may be repeatedly performed for each coding unit of each lower depth, and recursive coding may be performed for each coding unit of the same depth.
  • coding units having a tree structure are determined in one largest coding unit and at least one split information should be determined for each coding unit of a depth, at least one split information may be determined for one maximum coding unit.
  • the depth since the data of the largest coding unit is partitioned hierarchically according to the depth, the depth may be different for each location, and thus depth and split information may be set for the data.
  • the output unit 130 may allocate encoding information about a corresponding depth and an encoding mode to at least one of a coding unit, a prediction unit, and a minimum unit included in the maximum coding unit.
  • the minimum unit according to an embodiment is a square data unit having a size obtained by dividing a minimum coding unit, which is the lowest depth, into four segments.
  • the minimum unit according to an embodiment may be a square data unit having a maximum size that may be included in all coding units, prediction units, partition units, and transformation units included in the maximum coding unit.
  • the encoding information output through the output unit 130 may be classified into encoding information according to depth coding units and encoding information according to prediction units.
  • the encoding information for each coding unit according to depth may include prediction mode information and partition size information.
  • the encoding information transmitted for each prediction unit includes information about an estimation direction of the inter mode, information about a reference image index of the inter mode, information about a motion vector, information about a chroma component of an intra mode, and information about an inter mode of an intra mode. And the like.
  • Information about the maximum size and information about the maximum depth of a coding unit defined for each picture, slice, or GOP may be inserted into a header, a sequence parameter set, or a picture parameter set of a bitstream.
  • information on the maximum size of the transform unit and the minimum size of the transform unit allowed for the current video may also be output through a header, a sequence parameter set, a picture parameter set, or the like of the bitstream.
  • the output unit 130 may encode and output reference information, prediction information, slice type information, and the like related to prediction.
  • a coding unit according to depths is a coding unit having a size in which a height and a width of a coding unit of one layer higher depth are divided by half. That is, if the size of the coding unit of the current depth is 2Nx2N, the size of the coding unit of the lower depth is NxN.
  • the current coding unit having a size of 2N ⁇ 2N may include up to four lower depth coding units having a size of N ⁇ N.
  • the video encoding apparatus 100 determines a coding unit having an optimal shape and size for each maximum coding unit based on the size and the maximum depth of the maximum coding unit determined in consideration of the characteristics of the current picture. Coding units may be configured. In addition, since each of the maximum coding units may be encoded in various prediction modes and transformation methods, an optimal coding mode may be determined in consideration of image characteristics of coding units having various image sizes.
  • the video encoding apparatus may adjust the coding unit in consideration of the image characteristics while increasing the maximum size of the coding unit in consideration of the size of the image, thereby increasing image compression efficiency.
  • FIG. 10 is a block diagram of a video decoding apparatus 200 based on coding units having a tree structure, according to various embodiments.
  • the video decoding apparatus 200 of FIG. 10 may correspond to the image decoding apparatus 10 of FIG. 1A.
  • a video decoding apparatus 200 including video prediction based on coding units having a tree structure includes a receiver 210, image data and encoding information extractor 220, and image data decoder 230. do.
  • the image data decoder 230 may correspond to the decoder 13 of FIG. 1A.
  • the video decoding apparatus 200 that includes video prediction based on coding units having a tree structure is abbreviated as “video decoding apparatus 200”.
  • the receiver 210 receives and parses a bitstream of an encoded video.
  • the image data and encoding information extractor 220 extracts image data encoded for each coding unit from the parsed bitstream according to coding units having a tree structure for each maximum coding unit, and outputs the encoded image data to the image data decoder 230.
  • the image data and encoding information extractor 220 may extract information about a maximum size of a coding unit of the current picture from a header, a sequence parameter set, or a picture parameter set for the current picture.
  • the image data and encoding information extractor 220 extracts the final depth and the split information of the coding units having a tree structure for each maximum coding unit from the parsed bitstream.
  • the extracted final depth and split information are output to the image data decoder 230. That is, the image data of the bit string may be divided into maximum coding units so that the image data decoder 230 may decode the image data for each maximum coding unit.
  • the depth and split information for each largest coding unit may be set for one or more depth information, and the split information for each depth may include partition mode information, prediction mode information, split information of a transform unit, and the like, of a corresponding coding unit. .
  • depth-specific segmentation information may be extracted.
  • the depth and split information for each largest coding unit extracted by the image data and encoding information extractor 220 are repeatedly used for each coding unit for each deeper coding unit, as in the video encoding apparatus 100 according to an exemplary embodiment. Depth and split information determined to perform encoding to generate a minimum encoding error. Therefore, the video decoding apparatus 200 may reconstruct an image by decoding data according to an encoding method that generates a minimum encoding error.
  • the image data and the encoding information extractor 220 may use the predetermined data unit. Depth and segmentation information can be extracted for each. If the depth and the split information of the corresponding maximum coding unit are recorded for each predetermined data unit, the predetermined data units having the same depth and the split information may be inferred as data units included in the same maximum coding unit.
  • the image data decoder 230 reconstructs the current picture by decoding the image data of each maximum coding unit based on the depth and the split information for each maximum coding unit. That is, the image data decoder 230 may decode the encoded image data based on the read partition mode, the prediction mode, and the transformation unit for each coding unit among the coding units having the tree structure included in the maximum coding unit. Can be.
  • the decoding process may include a prediction process including intra prediction and motion compensation, and an inverse transform process.
  • the image data decoder 230 may perform intra prediction or motion compensation according to each partition and prediction mode for each coding unit, based on the partition mode information and the prediction mode information of the prediction unit of the coding unit according to depths.
  • the image data decoder 230 may read transform unit information having a tree structure for each coding unit, and perform inverse transform based on the transformation unit for each coding unit, for inverse transformation for each largest coding unit. Through inverse transformation, the pixel value of the spatial region of the coding unit may be restored.
  • the image data decoder 230 may determine the depth of the current maximum coding unit by using the split information for each depth. If the split information indicates that the split information is no longer divided at the current depth, the current depth is the depth. Therefore, the image data decoder 230 may decode the coding unit of the current depth using the partition mode, the prediction mode, and the transformation unit size information of the prediction unit with respect to the image data of the current maximum coding unit.
  • the image data decoder 230 It may be regarded as one data unit to be decoded in the same encoding mode.
  • the decoding of the current coding unit may be performed by obtaining information about an encoding mode for each coding unit determined in this way.
  • the video decoding apparatus 200 may include the number of viewpoints.
  • the image data decoder 230 of the video decoding apparatus 200 may maximize the samples of the first layer images extracted from the first layer image stream by the extractor 220. It may be divided into coding units having a tree structure of the coding units. The image data decoder 230 may reconstruct the first layer images by performing motion compensation for each coding unit according to a tree structure of samples of the first layer images, for each prediction unit for inter-image prediction.
  • the image data decoder 230 of the video decoding apparatus 200 may maximize the samples of the second layer images extracted from the second layer image stream by the extractor 220. It may be divided into coding units having a tree structure of the coding units. The image data decoder 230 may reconstruct the second layer images by performing motion compensation for each prediction unit for inter-image prediction for each coding unit of the samples of the second layer images.
  • the extractor 220 may obtain information related to the luminance error from the bitstream to compensate for the luminance difference between the first layer image and the second layer image. However, whether to perform luminance may be determined according to an encoding mode of a coding unit. For example, luminance compensation may be performed only for prediction units having a size of 2N ⁇ 2N.
  • the video decoding apparatus 200 may obtain information about a coding unit that generates a minimum coding error by recursively encoding each maximum coding unit in the encoding process, and use the same to decode the current picture. That is, decoding of encoded image data of coding units having a tree structure determined as an optimal coding unit for each maximum coding unit can be performed.
  • the image data is efficiently decoded according to the size and encoding mode of a coding unit adaptively determined according to the characteristics of the image using the optimal split information transmitted from the encoding end. Can be restored
  • a process of dividing a coding unit according to a depth may be performed based on first split information, which is split information for recursive division of a coding unit, by the image decoding apparatus 10 or the image encoding apparatus 15, according to an exemplary embodiment. It may be a process of splitting coding units in depth order. That is, it indicates whether a coding unit of the current depth n is directly divided into coding units of a lower depth n + 2, depth n + 3, not the coding unit of the lower depth n + 1.
  • a coding unit may be determined through a process different from that shown in FIG. 11.
  • a size of a coding unit may be expressed by a width x height, and may include 32x32, 16x16, and 8x8 from a coding unit having a size of 64x64.
  • Coding units of size 64x64 may be partitioned into partitions of size 64x64, 64x32, 32x64, and 32x32, coding units of size 32x32 are partitions of size 32x32, 32x16, 16x32, and 16x16, and coding units of size 16x16 are 16x16.
  • Coding units of size 8x8 may be divided into partitions of size 8x8, 8x4, 4x8, and 4x4, into partitions of 16x8, 8x16, and 8x8.
  • the resolution is set to 1920x1080, the maximum size of the coding unit is 64, and the maximum depth is 2.
  • the resolution is set to 1920x1080, the maximum size of the coding unit is 64, and the maximum depth is 3.
  • the resolution is set to 352x288, the maximum size of the coding unit is 16, and the maximum depth is 1.
  • the maximum depth illustrated in FIG. 10 represents the total number of divisions from the maximum coding unit to the minimum coding unit.
  • the maximum size of the coding size is relatively large not only to improve the coding efficiency but also to accurately shape the image characteristics. Accordingly, the video data 310 or 320 having a higher resolution than the video data 330 may be selected to have a maximum size of 64.
  • the coding unit 315 of the video data 310 is divided twice from a maximum coding unit having a long axis size of 64, and the depth is deepened by two layers, so that the long axis size is 32, 16. Up to coding units may be included.
  • the coding unit 335 of the video data 330 is divided once from coding units having a long axis size of 16, and the depth is deepened by one layer to increase the long axis size to 8. Up to coding units may be included.
  • the coding unit 325 of the video data 320 is divided three times from the largest coding unit having a long axis size of 64, and the depth is three layers deep, so that the long axis size is 32, 16. , Up to 8 coding units may be included. As the depth increases, the expressive power of the detailed information may be improved.
  • FIG. 12 is a block diagram of an image encoder 400 based on coding units, according to various embodiments.
  • the image encoder 400 performs operations required to encode image data by the picture encoder 120 of the video encoding apparatus 100. That is, the intra prediction unit 420 performs intra prediction on each coding unit of the intra mode of the current image 405, and the inter prediction unit 415 performs the current image on the prediction unit of the coding unit of the inter mode. Inter-prediction is performed using the reference image acquired at 405 and the reconstructed picture buffer 410.
  • the current image 405 may be divided into maximum coding units and then sequentially encoded. In this case, encoding may be performed on the coding unit in which the largest coding unit is to be divided into a tree structure.
  • Residual data is generated by subtracting the prediction data for the coding unit of each mode output from the intra prediction unit 420 or the inter prediction unit 415 from the data for the encoding unit of the current image 405, and
  • the dew data is output as transform coefficients quantized for each transform unit through the transform unit 425 and the quantization unit 430.
  • the quantized transform coefficients are reconstructed into residue data in the spatial domain through the inverse quantizer 445 and the inverse transformer 450.
  • Residual data of the reconstructed spatial domain is added to the prediction data of the coding unit of each mode output from the intra predictor 420 or the inter predictor 415, thereby adding the residual data of the spatial domain to the coding unit of the current image 405. The data is restored.
  • the reconstructed spatial region data is generated as a reconstructed image through the deblocking unit 455 and the SAO performing unit 460.
  • the generated reconstructed image is stored in the reconstructed picture buffer 410.
  • the reconstructed images stored in the reconstructed picture buffer 410 may be used as reference images for inter prediction of another image.
  • the transform coefficients quantized by the transformer 425 and the quantizer 430 may be output as the bitstream 440 through the entropy encoder 435.
  • an inter predictor 415, an intra predictor 420, and a transformer each have a tree structure for each maximum coding unit. An operation based on each coding unit among the coding units may be performed.
  • the intra prediction unit 420 and the inter prediction unit 415 determine the partition mode and the prediction mode of each coding unit among the coding units having a tree structure in consideration of the maximum size and the maximum depth of the current maximum coding unit.
  • the transform unit 425 may determine whether to split the transform unit according to the quad tree in each coding unit among the coding units having the tree structure.
  • FIG. 13 is a block diagram of an image decoder 500 based on coding units, according to various embodiments.
  • the entropy decoding unit 515 parses the encoded image data to be decoded from the bitstream 505 and encoding information necessary for decoding.
  • the encoded image data is a quantized transform coefficient
  • the inverse quantizer 520 and the inverse transform unit 525 reconstruct residue data from the quantized transform coefficients.
  • the intra prediction unit 540 performs intra prediction for each prediction unit with respect to the coding unit of the intra mode.
  • the inter prediction unit 535 performs inter prediction using the reference image obtained from the reconstruction picture buffer 530 for each prediction unit with respect to the coding unit of the inter mode among the current images.
  • the data of the spatial domain of the coding unit of the current image 405 is reconstructed and restored.
  • the data of the space area may be output as a reconstructed image 560 via the deblocking unit 545 and the SAO performing unit 550.
  • the reconstructed images stored in the reconstructed picture buffer 530 may be output as reference images.
  • stepwise operations after the entropy decoder 515 of the image decoder 500 may be performed.
  • the entropy decoder 515, the inverse quantizer 520, and the inverse transformer ( 525, the intra prediction unit 540, the inter prediction unit 535, the deblocking unit 545, and the SAO performer 550 based on each coding unit among coding units having a tree structure for each maximum coding unit. You can do it.
  • the intra predictor 540 and the inter predictor 535 determine a partition mode and a prediction mode for each coding unit among coding units having a tree structure, and the inverse transformer 525 has a quad tree structure for each coding unit. It is possible to determine whether to divide the conversion unit according to.
  • the encoding operation of FIG. 12 and the decoding operation of FIG. 13 have described the video stream encoding operation and the decoding operation in a single layer, respectively. Therefore, if the image encoding apparatus 15 of FIG. 2A encodes a video stream of two or more layers, the image encoding apparatus 15 may be included for each layer.
  • FIG. 14 is a diagram illustrating deeper coding units according to depths, and partitions, according to various embodiments.
  • the video encoding apparatus 100 according to an embodiment and the video decoding apparatus 200 according to an embodiment use hierarchical coding units to consider image characteristics.
  • the maximum height, width, and maximum depth of the coding unit may be adaptively determined according to the characteristics of the image, and may be variously set according to a user's request. According to the maximum size of the preset coding unit, the size of the coding unit for each depth may be determined.
  • the hierarchical structure 600 of a coding unit illustrates a case in which a maximum height and a width of a coding unit are 64 and a maximum depth is three.
  • the maximum depth indicates the total number of divisions from the maximum coding unit to the minimum coding unit. Since the depth deepens along the vertical axis of the hierarchical structure 600 of the coding unit according to an embodiment, the height and the width of the coding unit for each depth are divided.
  • a prediction unit and a partition on which the prediction encoding of each depth-based coding unit is shown along the horizontal axis of the hierarchical structure 600 of the coding unit are illustrated.
  • the coding unit 610 has a depth of 0 as the largest coding unit of the hierarchical structure 600 of the coding unit, and the size, ie, the height and width, of the coding unit is 64x64.
  • a depth deeper along the vertical axis includes a coding unit 620 of depth 1 having a size of 32x32, a coding unit 630 of depth 2 having a size of 16x16, and a coding unit 640 of depth 3 having a size of 8x8.
  • a coding unit 640 of depth 3 having a size of 8 ⁇ 8 is a minimum coding unit.
  • Prediction units and partitions of the coding unit are arranged along the horizontal axis for each depth. That is, if the coding unit 610 of size 64x64 having a depth of zero is a prediction unit, the prediction unit may include a partition 610 of size 64x64, partitions 612 of size 64x32, and size included in the coding unit 610 of size 64x64. 32x64 partitions 614, 32x32 partitions 616.
  • the prediction unit of the coding unit 620 having a size of 32x32 having a depth of 1 includes a partition 620 of size 32x32, partitions 622 of size 32x16 and a partition of size 16x32 included in the coding unit 620 of size 32x32. 624, partitions 626 of size 16x16.
  • the prediction unit of the coding unit 630 of size 16x16 having a depth of 2 includes a partition 630 of size 16x16, partitions 632 of size 16x8, and a partition of size 8x16 included in the coding unit 630 of size 16x16. 634, partitions 636 of size 8x8.
  • the prediction unit of the coding unit 640 of size 8x8 having a depth of 3 includes a partition 640 of size 8x8, partitions 642 of size 8x4 and a partition of size 4x8 included in the coding unit 640 of size 8x8. 644, partitions 646 of size 4x4.
  • the coding unit determiner 120 of the video encoding apparatus 100 may determine the depth of the maximum coding unit 610 for each coding unit of each depth included in the maximum coding unit 610. Encoding must be performed.
  • the number of deeper coding units according to depths for including data having the same range and size increases as the depth increases. For example, four coding units of depth 2 are required for data included in one coding unit of depth 1. Therefore, in order to compare the encoding results of the same data for each depth, each of the coding units having one depth 1 and four coding units having four depths 2 should be encoded.
  • encoding may be performed for each prediction unit of a coding unit according to depths along a horizontal axis of the hierarchical structure 600 of the coding unit, and a representative coding error, which is the smallest coding error at a corresponding depth, may be selected. .
  • a depth deeper along the vertical axis of the hierarchical structure 600 of the coding unit the encoding may be performed for each depth, and the minimum coding error may be searched by comparing the representative coding error for each depth.
  • the depth and partition in which the minimum coding error occurs in the maximum coding unit 610 may be selected as the depth and partition mode of the maximum coding unit 610.
  • 15 illustrates a relationship between a coding unit and transformation units, according to various embodiments.
  • the video encoding apparatus 100 encodes or decodes an image in coding units having a size smaller than or equal to the maximum coding unit for each maximum coding unit.
  • the size of a transformation unit for transformation in the encoding process may be selected based on a data unit that is not larger than each coding unit.
  • the 32x32 size conversion unit 720 is The conversion can be performed.
  • the data of the 64x64 coding unit 710 is transformed into 32x32, 16x16, 8x8, and 4x4 transform units of 64x64 size or less, and then encoded, and the transform unit having the least error with the original is selected. Can be.
  • 16 is a diagram of deeper encoding information, according to various embodiments.
  • the output unit 130 of the video encoding apparatus 100 is split information, and information about a partition mode 800, information 810 about a prediction mode, and transform unit size for each coding unit of each depth.
  • Information 820 may be encoded and transmitted.
  • the information about the partition mode 800 is a data unit for predictive encoding of the current coding unit and indicates information about a partition type in which the prediction unit of the current coding unit is divided.
  • the current coding unit CU_0 of size 2Nx2N may be any one of a partition 802 of size 2Nx2N, a partition 804 of size 2NxN, a partition 806 of size Nx2N, and a partition 808 of size NxN. It can be divided and used.
  • the information 800 about the partition mode of the current coding unit represents one of a partition 802 of size 2Nx2N, a partition 804 of size 2NxN, a partition 806 of size Nx2N, and a partition 808 of size NxN. It is set to.
  • Information 810 relating to the prediction mode indicates the prediction mode of each partition. For example, through the information 810 about the prediction mode, whether the partition indicated by the information 800 about the partition mode is performed in one of the intra mode 812, the inter mode 814, and the skip mode 816 is performed. Whether or not can be set.
  • the information about the transform unit size 820 indicates whether to transform the current coding unit based on the transform unit.
  • the transform unit may be one of a first intra transform unit size 822, a second intra transform unit size 824, a first inter transform unit size 826, and a second inter transform unit size 828. have.
  • the image data and encoding information extractor 210 of the video decoding apparatus 200 may include information about a partition mode 800, information 810 about a prediction mode, and transformation for each depth-based coding unit. Information 820 about the unit size may be extracted and used for decoding.
  • 17 is a diagram illustrating deeper coding units according to depths, according to various embodiments.
  • Segmentation information may be used to indicate a change in depth.
  • the split information indicates whether a coding unit of a current depth is split into coding units of a lower depth.
  • the prediction unit 910 for predictive encoding of the coding unit 900 having depth 0 and 2N_0x2N_0 size includes a partition mode 912 of 2N_0x2N_0 size, a partition mode 914 of 2N_0xN_0 size, a partition mode 916 of N_0x2N_0 size, and N_0xN_0 May include a partition mode 918 of size.
  • partition mode 912, 914, 916, and 918 in which the prediction unit is divided by a symmetrical ratio are illustrated, as described above, the partition mode is not limited thereto, and asymmetric partitions, arbitrary partitions, geometric partitions, and the like. It may include.
  • prediction coding For each partition mode, prediction coding must be performed repeatedly for one 2N_0x2N_0 partition, two 2N_0xN_0 partitions, two N_0x2N_0 partitions, and four N_0xN_0 partitions.
  • prediction encoding For partitions having a size 2N_0x2N_0, a size N_0x2N_0, a size 2N_0xN_0, and a size N_0xN_0, prediction encoding may be performed in an intra mode and an inter mode.
  • the skip mode may be performed only for prediction encoding on partitions having a size of 2N_0x2N_0.
  • the depth 0 is changed to 1 and split (920), and the encoding is repeatedly performed on the depth 2 and the coding units 930 of the partition mode of size N_0xN_0.
  • the depth 1 is changed to the depth 2 and split (950), and repeatedly for the depth 2 and the coding units 960 of the size N_2xN_2.
  • the encoding may be performed to search for a minimum encoding error.
  • depth-based coding units may be set until depth d-1, and split information may be set up to depth d-2. That is, when encoding is performed from the depth d-2 to the depth d-1 to the depth d-1, the prediction encoding of the coding unit 980 of the depth d-1 and the size 2N_ (d-1) x2N_ (d-1)
  • the prediction unit for 990 is a partition mode 992 of size 2N_ (d-1) x2N_ (d-1), a partition mode 994 of size 2N_ (d-1) xN_ (d-1), and size
  • a partition mode 996 of N_ (d-1) x2N_ (d-1) and a partition mode 998 of size N_ (d-1) xN_ (d-1) may be included.
  • partition mode one partition 2N_ (d-1) x2N_ (d-1), two partitions 2N_ (d-1) xN_ (d-1), two sizes N_ (d-1) x2N_
  • a partition mode in which a minimum encoding error occurs may be searched.
  • the coding unit CU_ (d-1) of the depth d-1 is no longer
  • the depth of the current maximum coding unit 900 may be determined as the depth d-1, and the partition mode may be determined as N_ (d-1) xN_ (d-1) without going through a division process into lower depths.
  • split information is not set for the coding unit 952 having the depth d-1.
  • the data unit 999 may be referred to as a 'minimum unit' for the current maximum coding unit.
  • the minimum unit may be a square data unit having a size obtained by dividing the minimum coding unit, which is the lowest depth, into four divisions.
  • the video encoding apparatus 100 compares depth-to-depth encoding errors of the coding units 900, selects a depth at which the smallest encoding error occurs, and determines a depth.
  • the partition mode and the prediction mode may be set to the encoding mode of the depth.
  • depths with the smallest error can be determined by comparing the minimum coding errors for all depths of depths 0, 1, ..., d-1, and d.
  • the depth, the partition mode of the prediction unit, and the prediction mode may be encoded and transmitted as split information.
  • the coding unit since the coding unit must be split from the depth 0 to the depth, only the split information of the depth is set to '0', and the split information for each depth except the depth should be set to '1'.
  • the image data and encoding information extractor 220 of the video decoding apparatus 200 may extract information about a depth and a prediction unit of the coding unit 900 and use it to decode the coding unit 912. have.
  • the video decoding apparatus 200 may grasp a depth having split information of '0' as a depth using split information for each depth, and may use the split information for the corresponding depth for decoding.
  • 18, 19, and 20 illustrate a relationship between coding units, prediction units, and transformation units, according to various embodiments.
  • the coding units 1010 are deeper coding units determined by the video encoding apparatus 100 according to an embodiment with respect to the largest coding unit.
  • the prediction unit 1060 is partitions of prediction units of each deeper coding unit among the coding units 1010, and the transform unit 1070 is transform units of each deeper coding unit.
  • the depth-based coding units 1010 have a depth of 0
  • the coding units 1012 and 1054 have a depth of 1
  • the coding units 1014, 1016, 1018, 1028, 1050, and 1052 have depths.
  • coding units 1020, 1022, 1024, 1026, 1030, 1032, and 1048 have a depth of three
  • coding units 1040, 1042, 1044, and 1046 have a depth of four.
  • partitions 1014, 1016, 1022, 1032, 1048, 1050, 1052, and 1054 of the prediction units 1060 are obtained by splitting coding units. That is, partitions 1014, 1022, 1050, and 1054 are 2NxN partition modes, partitions 1016, 1048, and 1052 are Nx2N partition modes, and partitions 1032 are NxN partition modes. Prediction units and partitions of the coding units 1010 according to depths are smaller than or equal to each coding unit.
  • the image data of the part 1052 of the transformation units 1070 is transformed or inversely transformed into a data unit having a smaller size than the coding unit.
  • the transformation units 1014, 1016, 1022, 1032, 1048, 1050, 1052, and 1054 are data units having different sizes or shapes when compared to corresponding prediction units and partitions among the prediction units 1060. That is, the video encoding apparatus 100 according to an embodiment and the video decoding apparatus 200 according to an embodiment may be intra prediction / motion estimation / motion compensation operations and transform / inverse transform operations for the same coding unit. Each can be performed on a separate data unit.
  • coding is performed recursively for each coding unit having a hierarchical structure for each largest coding unit to determine an optimal coding unit.
  • coding units having a recursive tree structure may be configured.
  • the encoding information may include split information about the coding unit, partition mode information, prediction mode information, and transformation unit size information. Table 1 below shows an example that can be set in the video encoding apparatus 100 and the video decoding apparatus 200 according to an embodiment.
  • the output unit 130 of the video encoding apparatus 100 outputs encoding information about coding units having a tree structure
  • the encoding information extraction unit of the video decoding apparatus 200 according to an embodiment 220 may extract encoding information about coding units having a tree structure from the received bitstream.
  • the split information indicates whether the current coding unit is split into coding units of a lower depth. If the split information of the current depth d is 0, partition mode information, prediction mode, and transform unit size information may be defined for the depth since the current coding unit is a depth in which the current coding unit is no longer divided into lower coding units. have. If it is to be further split by the split information, encoding should be performed independently for each coding unit of the divided four lower depths.
  • the prediction mode may be represented by one of an intra mode, an inter mode, and a skip mode.
  • Intra mode and inter mode can be defined in all partition modes, and skip mode can only be defined in partition mode 2Nx2N.
  • the partition mode information indicates symmetric partition modes 2Nx2N, 2NxN, Nx2N, and NxN, in which the height or width of the prediction unit is divided by symmetrical ratios, and asymmetric partition modes 2NxnU, 2NxnD, nLx2N, nRx2N, divided by asymmetrical ratios.
  • the asymmetric partition modes 2NxnU and 2NxnD are divided into heights of 1: 3 and 3: 1, respectively, and the asymmetric partition modes nLx2N and nRx2N are divided into 1: 3 and 3: 1 widths, respectively.
  • the conversion unit size may be set to two kinds of sizes in the intra mode and two kinds of sizes in the inter mode. That is, if the transformation unit split information is 0, the size of the transformation unit is set to the size 2Nx2N of the current coding unit. If the transform unit split information is 1, a transform unit having a size obtained by dividing the current coding unit may be set. In addition, if the partition mode for the current coding unit having a size of 2Nx2N is a symmetric partition mode, the size of the transform unit may be set to NxN, and N / 2xN / 2 if it is an asymmetric partition mode.
  • Encoding information of coding units having a tree structure may be allocated to at least one of a coding unit, a prediction unit, and a minimum unit unit of a depth.
  • the coding unit of the depth may include at least one prediction unit and at least one minimum unit having the same encoding information.
  • the encoding information held by each adjacent data unit is checked, it may be determined whether the data is included in the coding unit having the same depth.
  • the coding unit of the corresponding depth may be identified using the encoding information held by the data unit, the distribution of depths within the maximum coding unit may be inferred.
  • the encoding information of the data unit in the depth-specific coding unit adjacent to the current coding unit may be directly referenced and used.
  • the prediction coding when the prediction coding is performed by referring to the neighboring coding unit, the data adjacent to the current coding unit in the coding unit according to depths is encoded by using the encoding information of the adjacent coding units according to depths.
  • the neighboring coding unit may be referred to by searching.
  • FIG. 21 illustrates a relationship between coding units, prediction units, and transformation units, according to encoding mode information of Table 1.
  • FIG. 21 illustrates a relationship between coding units, prediction units, and transformation units, according to encoding mode information of Table 1.
  • the maximum coding unit 1300 includes coding units 1302, 1304, 1306, 1312, 1314, 1316, and 1318 of depths. Since one coding unit 1318 is a coding unit of depth, split information may be set to zero.
  • the partition mode information of the coding unit 1318 having a size of 2Nx2N includes partition modes 2Nx2N 1322, 2NxN 1324, Nx2N 1326, NxN 1328, 2NxnU 1332, 2NxnD 1334, and nLx2N 1336. And nRx2N 1338.
  • the transform unit split information (TU size flag) is a type of transform index, and a size of a transform unit corresponding to the transform index may be changed according to a prediction unit type or a partition mode of the coding unit.
  • the partition mode information is set to one of symmetric partition modes 2Nx2N 1322, 2NxN 1324, Nx2N 1326, and NxN 1328
  • the conversion unit partition information is 0, a conversion unit of size 2Nx2N ( 1342 is set, and if the transform unit split information is 1, a transform unit 1344 of size NxN may be set.
  • partition mode information is set to one of asymmetric partition modes 2NxnU (1332), 2NxnD (1334), nLx2N (1336), and nRx2N (1338), if the conversion unit partition information (TU size flag) is 0, a conversion unit of size 2Nx2N ( 1352 is set, and if the transform unit split information is 1, a transform unit 1354 of size N / 2 ⁇ N / 2 may be set.
  • the conversion unit splitting information (TU size flag) described above with reference to FIG. 21 is a flag having a value of 0 or 1, but the conversion unit splitting information according to an embodiment is not limited to a 1-bit flag and is set to 0 according to a setting. , 1, 2, 3., etc., and may be divided hierarchically.
  • the transformation unit partition information may be used as an embodiment of the transformation index.
  • the size of the transformation unit actually used may be expressed.
  • the video encoding apparatus 100 may encode maximum transform unit size information, minimum transform unit size information, and maximum transform unit split information.
  • the encoded maximum transform unit size information, minimum transform unit size information, and maximum transform unit split information may be inserted into the SPS.
  • the video decoding apparatus 200 may use the maximum transform unit size information, the minimum transform unit size information, and the maximum transform unit split information to use for video decoding.
  • the maximum transform unit split information is defined as 'MaxTransformSizeIndex'
  • the minimum transform unit size is 'MinTransformSize'
  • the transform unit split information is 0,
  • the minimum transform unit possible in the current coding unit is defined as 'RootTuSize'.
  • the size 'CurrMinTuSize' can be defined as in relation (1) below.
  • 'RootTuSize' which is a transform unit size when the transform unit split information is 0, may indicate a maximum transform unit size that can be adopted in the system. That is, according to relation (1), 'RootTuSize / (2 ⁇ MaxTransformSizeIndex)' is a transformation obtained by dividing 'RootTuSize', which is the size of the transformation unit when the transformation unit division information is 0, by the number of times corresponding to the maximum transformation unit division information. Since the unit size is 'MinTransformSize' is the minimum transform unit size, a smaller value among them may be the minimum transform unit size 'CurrMinTuSize' possible in the current coding unit.
  • the maximum transform unit size RootTuSize may vary depending on a prediction mode.
  • RootTuSize may be determined according to the following relation (2).
  • 'MaxTransformSize' represents the maximum transform unit size
  • 'PUSize' represents the current prediction unit size.
  • RootTuSize min (MaxTransformSize, PUSize) ......... (2)
  • 'RootTuSize' which is a transform unit size when the transform unit split information is 0, may be set to a smaller value among the maximum transform unit size and the current prediction unit size.
  • 'RootTuSize' may be determined according to Equation (3) below.
  • 'PartitionSize' represents the size of the current partition unit.
  • RootTuSize min (MaxTransformSize, PartitionSize) ........... (3)
  • the conversion unit size 'RootTuSize' when the conversion unit split information is 0 may be set to a smaller value among the maximum conversion unit size and the current partition unit size.
  • the current maximum conversion unit size 'RootTuSize' according to an embodiment that changes according to the prediction mode of the partition unit is only an embodiment, and a factor determining the current maximum conversion unit size is not limited thereto.
  • image data of the spatial domain is encoded for each coding unit of the tree structure, and video decoding is based on the coding units of the tree structure.
  • image data of a spatial region may be reconstructed while decoding is performed for each largest coding unit, and a picture and a video, which is a picture sequence, may be reconstructed.
  • the reconstructed video can be played back by a playback device, stored in a storage medium, or transmitted over a network.
  • the above-described embodiments can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer which operates the program using a computer-readable recording medium.
  • the computer-readable recording medium may include a storage medium such as a magnetic storage medium (eg, a ROM, a floppy disk, a hard disk, etc.) and an optical reading medium (eg, a CD-ROM, a DVD, etc.).

Landscapes

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

Abstract

일 실시예에 따라, 영상을 복호화 하는 방법에 있어서, 영상을 분할하는 적어도 하나의 프로세싱 블록을 결정하는 단계, 적어도 하나의 프로세싱 블록 내에서 적어도 하나의 최대부호화단위가 결정되는 순서를 결정하는 단계, 결정된 순서에 기초하여 적어도 하나의 최대부호화단위를 결정하는 단계 및 결정된 적어도 하나의 최대부호화단위를 복호화하는 단계를 포함하고, 순서는 복수개의 최대부호화단위 결정 순서들 중 하나인 것을 특징으로 하는, 영상 복호화 방법이 제공된다.

Description

적응적인 순서로 결정되는 블록을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
일 실시예에 따른 방법 및 장치는 영상 내에서 최대부호화단위가 결정될 수 있는 복수개의 순서 중 하나의 순서로 최대부호화단위를 결정하여 영상을 부호화 또는 복호화 할 수 있다.
영상 데이터는 소정의 데이터 압축 표준, 예를 들면 MPEG(Moving Picture Expert Group) 표준에 따른 코덱에 의하여 부호화된 후 비트스트림의 형태로 기록매체에 저장되거나 통신 채널을 통해 전송된다.
고해상도 또는 고화질 영상 컨텐트를 재생, 저장할 수 있는 하드웨어의 개발 및 보급에 따라, 고해상도 또는 고화질 영상 컨텐트를 효과적으로 부호화 또는 복호화 하는 코덱(codec)의 필요성이 증대하고 있다. 부호화된 영상 컨텐트는 복호화됨으로써 재생될 수 있다. 최근에는 이러한 고해상도 또는 고화질 영상 컨텐트를 효과적으로 압축하기 위한 방법들이 실시되고 있다. 예를 들면, 부호화 하려는 영상을 임의적 방법으로 처리하는 과정을 통한 효율적 영상 압축 방법이 실시되고 있다.
영상을 압축하기 위하여 최대 부호화 단위라는 데이터 단위가 이용될 수 있으며, 이러한 최대 부호화 단위는 특정 순서(예를 들면, 래스터 스캔(raster scan)대로 결정되고, 부호화 하려는 영상 시퀀스와 관련된 정보에 기초하여 크기가 결정된다. 즉, 부호화 또는 복호화하려는 영상 시퀀스 전체에서 최대부호화단위의 크기는 일정하다.
종래의 압축 방식의 경우, 기결정된 순서대로 영상 전체의 최대부호화단위를 획일적으로 결정함에 따라 고해상도 영상을 압축함에 있어서 효율적인 방법으로 최대부호화단위를 결정할 수 없었다.
기술적 과제를 해결하기 위하여 일 실시예에 따라, 영상을 복호화 하는 방법에 있어서, 영상을 분할하는 적어도 하나의 프로세싱 블록을 결정하는 단계; 적어도 하나의 프로세싱 블록 내에서 적어도 하나의 최대부호화단위가 결정되는 순서를 결정하는 단계; 결정된 순서에 기초하여 적어도 하나의 최대부호화단위를 결정하는 단계; 및 결정된 적어도 하나의 최대부호화단위를 복호화하는 단계를 포함하고, 순서는 복수개의 최대부호화단위 결정 순서들 중 하나인 것을 특징으로 하는 영상 복호화 방법이 제공될 수 있다.
일 실시예에 따른 방법 및 장치는 영상 내에서 획일적인 순서에 따라 최대부호화단위를 결정하지 않고, 임의의 데이터 단위인 프로세싱 블록 단위로 복수의 결정 순서 중 하나를 최대부호화단위의 결정 순서로서 결정함으로써 적응적인 영상 부호화 또는 복호화 가능하다.
도 1a는 일 실시예에 따른 영상 복호화 장치의 블록도를 도시한다.
도 1b는 일 실시예에 따라 영상 복호화 장치가 프로세싱 블록을 이용하여 수행하는 영상 복호화 방법에 대한 흐름도를 도시한다.
도 2a는 일 실시예에 따른 영상 부호화 장치의 블록도를 도시한다.
도 2b는 일 실시예에 따라 영상 부호화 장치가 프로세싱 블록을 이용하여 수행하는 영상 부호화 방법에 대한 흐름도를 도시한다.
도 3은 일 실시예에 따라 픽쳐에 포함되는 적어도 하나의 프로세싱 블록 내에서 적어도 하나의 최대부호화단위가 결정되는 순서를 도시한다.
도 4a는 일 실시예에 따라 최대부호화단위에 포함되는 적어도 하나의 부호화단위가 결정되는 과정에 대한 흐름도를 도시한다.
도 4b는 일 실시예에 따라 픽쳐에 포함되는 적어도 하나의 부호화단위의 크기가 결정되는 과정을 도시한다.
도 4c는 일 실시예에 따라 부호화단위의 크기에 대한 정보가 나타낼 수 있는 부호화단위의 크기들을 도시한다.
도 5a는 일 실시예에 따라 크기 제한 정보에 기초하여 부호화단위의 분할정보가 획득되는지 여부를 나타내는 흐름도를 도시한다.
도 5b는 일 실시예에 따라, 크기 제한 정보에 기초하여 적어도 하나의 부호화 단위가 결정되는 과정을 도시한 것이다.
도 6a는 일 실시예에 따라 특정 심도는 생략하고 더 낮은 심도로 분할할지 여부를 나타내는 제2 분할정보에 기초하여 부호화단위가 결정되는 과정에 대한 흐름도를 도시한다.
도 6b는 일 실시예에 따라 제1 분할정보 및 제2 분할정보 중 적어도 하나에 기초하여 현재 심도의 부호화단위가 분할되는 과정을 도시한다.
도 7a는 일 실시예에 따라 부호화단위의 최대 심도에 대한 정보 및 최소 심도에 대한 정보 중 적어도 하나에 기초하여 최대부호화단위에 포함되는 적어도 하나의 부호화단위가 결정되는 과정에 대한 흐름도를 도시한다.
도 7b는 일 실시예에 따라 최대 심도에 대한 정보 및 최소 심도에 대한 정보 중 적어도 하나에 기초하여 적어도 하나의 부호화단위가 결정되는 과정을 도시한다.
도 8a는 일 실시예에 따라 예측 방법을 나타내는 정보를 비트스트림으로부터 획득하여 적어도 하나의 부호화 단위에 포함되는 적어도 하나의 예측 단위가 결정되는 흐름도를 도시한다.
도 8b는 일 실시예에 따라 예측 방법에 대한 정보에 기초하여 제1 방법 또는 제2 방법에 따라 현재 부호화단위에 포함되는 적어도 하나의 예측 단위가 결정되는 과정을 도시한다.
도 9는 일 실시예에 따라 트리 구조에 따른 부호화단위에 기초한 비디오 부호화 장치의 블록도를 도시한다.
도 10은 일 실시예에 따라 트리 구조에 따른 부호화단위에 기초한 비디오 복호화 장치의 블록도를 도시한다.
도 11은 일 실시예에 따른 부호화단위의 개념을 도시한다.
도 12는 일 실시예에 따른 부호화단위에 기초한 영상 부호화부의 블록도를 도시한다.
도 13은 일 실시예에 따른 부호화단위에 기초한 영상 복호화부의 블록도를 도시한다.
도 14는 일 실시예에 따른 심도별 부호화단위 및 파티션을 도시한다.
도 15는 일 실시예에 따른, 부호화단위 및 변환단위의 관계를 도시한다.
도 16은 일 실시예에 따라, 심도별 부호화 정보들을 도시한다.
도 17은 일 실시예에 따른 심도별 부호화단위를 도시한다.
도 18, 19 및 20은 일 실시예에 따른, 부호화단위, 예측단위 및 변환단위의 관계를 도시한다.
도 21 는 표 1의 부호화 모드 정보에 따른 부호화단위, 예측단위 및 변환단위의 관계를 도시한다.
기술적 과제를 해결하기 위하여 일 실시예에 따라, 영상을 복호화 하는 방법에 있어서, 영상을 분할하는 적어도 하나의 프로세싱 블록을 결정하는 단계, 적어도 하나의 프로세싱 블록 내에서 적어도 하나의 최대부호화단위가 결정되는 순서를 결정하는 단계, 결정된 순서에 기초하여 적어도 하나의 최대부호화단위를 결정하는 단계 및 결정된 적어도 하나의 최대부호화단위를 복호화하는 단계를 포함하고, 순서는 복수개의 최대부호화단위 결정 순서들 중 하나인 것을 특징으로 하는, 영상 복호화 방법이 제공된다.
일 실시예에 따라, 프로세싱 블록을 결정하는 단계는 프로세싱 블록의 크기에 대한 정보를 획득하는 단계 및 프로세싱 블록의 크기에 대한 정보에 기초하여 적어도 하나의 프로세싱 블록을 결정하는 단계를 포함하는 것을 특징으로 할 수 있다.
일 실시예에 따라, 최대부호화단위가 결정되는 순서를 결정하는 단계는 적어도 하나의 프로세싱 블록에 포함되는 적어도 하나의 최대부호화단위의 결정 순서에 대한 정보를 획득하는 단계, 및 결정 순서에 대한 정보에 기초하여 적어도 하나의 최대부호화단위가 결정되는 순서를 결정하는 단계를 포함하는 것을 특징으로 할 수 있다.
일 실시예에 따라, 적어도 하나의 최대부호화단위를 복호화하는 단계는 비트스트림으로부터 획득되는 부호화단위의 크기에 대한 정보에 기초하여, 결정된 최대부호화단위의 크기보다 작은 복수개의 크기들 중 하나를 부호화단위의 크기로 선택하는 단계, 및 선택된 부호화단위의 크기에 기초하여 적어도 하나의 부호화단위를 결정하는 단계를 포함하는 것을 특징으로 할 수 있다.
일 실시예에 따라, 적어도 하나의 최대부호화단위를 복호화하는 단계는 적어도 하나의 최대부호화단위 중 하나인 현재 최대부호화단위에 포함된 적어도 하나의 부호화 단위를 결정하는 단계, 비트스트림으로부터 획득한 부호화 단위에 대한 크기 제한 정보에 기초하여, 적어도 하나의 부호화 단위의 크기와 크기 제한 정보가 나타내는 크기를 비교하는 단계, 및 적어도 하나의 부호화 단위의 크기가 크기 제한 정보가 나타내는 크기보다 큰 경우, 비트스트림으로부터 적어도 하나의 부호화 단위에 대한 분할정보를 획득하는 단계를 더 포함하고, 크기 제한 정보가 나타내는 크기는 부호화 단위의 최소 크기보다 큰 것을 특징으로 하는 것을 특징으로 할 수 있다.
일 실시예에 따라, 분할정보를 획득하는 단계는 적어도 하나의 부호화 단위의 크기가 크기 제한 정보가 나타내는 크기 이하인 경우, 분할정보를 비트스트림으로부터 획득하지 않고 적어도 하나의 부호화 단위를 부호화 하는 단계를 포함하는 것을 특징으로 할 수 있다.
일 실시예에 따라, 적어도 하나의 최대부호화단위를 복호화하는 단계는 비트스트림으로부터 획득되는 부호화단위의 분할정보에 기초하여, 적어도 하나의 최대부호화단위 중 하나인 현재 최대부호화단위에 포함되는 적어도 하나의 부호화 단위를 결정하는 단계를 포함하고, 분할 정보는 심도 순서대로 현재 심도의 부호화 단위를 하위 심도의 부호화 단위로 분할할지를 나타내는 제1 분할 정보 및 하위 심도로의 분할은 생략하고 하위 심도보다 더 낮은 심도로 분할할지를 나타내는 제2 분할 정보 중 적어도 하나를 포함하는 것을 특징으로 할 수 있다.
일 실시예에 따라, 적어도 하나의 부호화 단위로 분할하는 단계는, 하위 심도가 최하위 심도인지 여부에 기초하여, 제2 분할정보를 비트스트림으로부터 획득하는 단계, 제2 분할정보가 하위 심도로의 분할은 생략하고 더 낮은 심도로 분할하는 것을 나타내는 경우, 현재 심도의 부호화 단위를 더 낮은 심도의 부호화단위들로 분할하는 단계, 및 제2 분할정보가 더 낮은 심도로 분할하는 것을 나타내지 않는 경우, 비트스트림으로부터 획득된 제1 분할정보에 기초하여 현재 심도의 부호화 단위를 하위 심도의 부호화단위들로 분할하는 단계를 포함하는 것을 특징으로 할 수 있다.
일 실시예에 따라, 적어도 하나의 최대부호화단위를 복호화 하는 단계는, 부호화 단위의 최대 심도에 대한 정보 및 최소 심도에 대한 정보 중 적어도 하나에 기초하여, 적어도 하나의 최대부호화단위 중 하나인 현재 최대 부호화단위에 포함되는 적어도 하나의 부호화 단위를 결정하는 단계를 포함하고, 최대 심도에 대한 정보 및 최소 심도에 대한 정보는 적어도 하나의 부호화 단위의 주변 블록으로부터 획득되는 것을 특징으로 할 수 있다.
일 실시예에 따라, 적어도 하나의 부호화 단위를 결정하는 단계는 부호화 단위의 현재 심도가 최대 심도보다 상위 심도이거나 최소 심도 이하의 심도인 경우에 한하여 현재 심도의 부호화 단위를 분할하는 단계를 포함하는 것을 특징으로 할 수 있다.
일 실시예에 따라, 적어도 하나의 최대부호화단위를 복호화 하는 단계는, 적어도 하나의 최대부호화단위 중 하나인 현재 최대부호화단위에 포함되는 적어도 하나의 부호화 단위를 결정하는 단계, 및 비트스트림으로부터 획득된 예측 방법을 나타내는 정보에 기초하여 적어도 하나의 부호화 단위 중 하나인 현재 부호화단위에 대한 적어도 하나의 예측 단위를 결정하는 단계를 포함하고, 예측 방법을 나타내는 정보는 기설정된 예측 방법을 이용하여 예측을 수행할지 여부를 나타내는 것을 특징으로 할 수 있다.
일 실시예에 따라, 적어도 하나의 예측 단위를 결정하는 단계는, 예측 방법을 나타내는 정보가 기설정된 예측 방법인 제1 방법을 이용하는 것을 나타내는 경우, 복수개의 타입의 파티션 중 하나를 나타내는 파티션 모드 정보를 비트스트림으로부터 획득하여 현재 부호화단위에 포함되는 적어도 하나의 예측 단위를 결정하는 단계, 및 예측 방법을 나타내는 정보가 기설정된 예측 방법이 아닌 제2 방법을 이용하는 것을 나타내는 경우, 비트스트림으로부터 파티션 모드 정보를 획득하지 않고 기설정된 파티션 타입에 기초하여 예측 단위를 결정하는 단계를 포함하는 것을 특징으로 할 수 있다.
일 실시예에 따라, 기설정된 파티션 타입에 기초하여 예측 단위를 결정하는 단계는, 예측 방법을 나타내는 정보가 현재 부호화단위의 크기가 현재 최대부호화단위의 크기와 동일한 경우, 현재 부호화단위의 심도보다 하위 심도의 부호화단위와 동일한 크기의 예측 단위를 결정하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
기술적 과제를 해결하기 위하여 일 실시예에 따라, 영상을 복호화 하는 장치에 있어서, 영상을 분할하는 적어도 하나의 프로세싱 블록을 결정하는 프로세싱 블록 결정부, 적어도 하나의 프로세싱 블록 내에서 적어도 하나의 최대부호화단위가 결정되는 순서를 결정하고, 결정된 순서에 기초하여 적어도 하나의 최대부호화단위를 결정하는 최대부호화단위 결정부, 결정된 적어도 하나의 최대부호화단위를 복호화하는 복호화부를 포함하고, 순서는 복수개의 최대부호화단위 결정 순서들 중 하나인 것을 특징으로 하는, 영상 복호화 장치가 제공될 수 있다.
기술적 과제를 해결하기 위하여 일 실시예에 따라 영상을 부호화 하는 장치에 있어서, 영상을 분할하는 적어도 하나의 프로세싱 블록을 결정하는 프로세싱 블록 결정부, 적어도 하나의 프로세싱 블록 내에서 적어도 하나의 최대부호화단위가 결정되는 순서를 결정하고, 결정된 순서에 기초하여 적어도 하나의 최대부호화단위를 결정하는 최대부호화단위 결정부, 결정된 적어도 하나의 최대부호화단위를 부호화하는 복호화부를 포함하고, 순서는 복수개의 최대부호화단위 결정 순서들 중 하나인 것을 특징으로 하는, 영상 부호화 장치가 제공될 수 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
이하, "영상"은 비디오의 정지영상와 같은 정적 이미지이거나 동영상, 즉 비디오 그 자체와 같은 동적 이미지를 나타낼 수 있다.
이하 "샘플"은, 영상의 샘플링 위치에 할당된 데이터로서 프로세싱 대상이 되는 데이터를 의미한다. 예를 들어, 공간영역의 영상에서 픽셀값, 변환 영역 상의 변환 계수들이 샘플들일 수 있다. 이러한 적어도 하나의 샘플들을 포함하는 단위를 블록이라고 정의할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1a는 일 실시예에 따른 영상 복호화 장치(10)의 블록도를 도시한다. 영상 복호화 장치(10)는 프로세싱 블록 결정부(11), 최대부호화단위 결정부(12) 및 복호화부(13)를 포함할 수 있다. 일 실시예에 따른 영상 복호화 장치(10)에 포함되는 구성들이 수행하는 동작은 각각 별개의 하드웨어 또는 소프트웨어 구성요소들을 이용하여 구현될 수 있고, 나아가 하나의 하드웨어(예를 들면, CPU)를 통해 구현될 수도 있다. 영상 복호화 장치(10)에 포함되는 각각의 구성들이 수행하는 동작들에 대하여는 이하의 구체적인 실시예들을 통하여 설명하도록 한다.
도 1b는 일 실시예에 따라 영상 복호화 장치(10)가 프로세싱 블록을 이용하여 수행하는 영상 복호화 방법에 대한 흐름도를 도시한다.
S210 단계에서 영상 복호화 장치(10)는 영상을 분할하는 적어도 하나의 프로세싱 블록을 결정할 수 있다.
일 실시예에 따라, 영상 복호화 장치(10)의 프로세싱 블록 결정부(11)는 영상의 프레임을 분할하는 적어도 하나의 프로세싱 블록을 결정할 수 있다. 프로세싱 블록이란, 영상을 분할하는 적어도 하나의 최대부호화단위를 포함하는 임의의 데이터 단위로서, 프로세싱 블록에 포함되는 적어도 하나의 최대부호화단위는 특정 순서대로 결정될 수 있다. 즉, 각각의 프로세싱 블록에서 결정되는 적어도 하나의 최대부호화단위의 결정 순서는 최대부호화단위가 결정될 수 있는 다양한 순서의 종류 중 하나에 해당할 수 있으며, 각각의 프로세싱 블록에서 결정되는 최대부호화단위 결정 순서는 프로세싱 블록마다 상이할 수 있다. 프로세싱 블록에서 결정되는 최대부호화단위의 결정 순서는 래스터 스캔(raster scan), Z 스캔(Z-scan), N 스캔(N-scan), 우상향 대각 스캔(up-right diagonal scan), 수평적 스캔(horizontal scan), 수직적 스캔(vertical scan) 등 다양한 순서 중 하나일 수 있으나, 결정될 수 있는 순서는 상기 스캔 순서들에 한정하여 해석되어서는 안 된다.
일 실시예에 따라 영상 복호화 장치(10)는 프로세싱 블록의 크기에 대한 정보를 획득하여 영상에 포함되는 적어도 하나의 프로세싱 블록의 크기를 결정할 수 있다. 영상 복호화 장치(10)는 프로세싱 블록의 크기에 대한 정보를 비트스트림으로부터 획득하여 영상에 포함되는 적어도 하나의 프로세싱 블록의 크기를 결정할 수 있다. 이러한 프로세싱 블록의 크기는 프로세싱 블록의 크기에 대한 정보가 나타내는 데이터 단위의 특정 크기일 수 있다.
일 실시예에 따라 영상 복호화 장치(10)는 비트스트림으로부터 프로세싱 블록의 크기에 대한 정보를 특정의 데이터 단위마다 획득할 수 있다. 예를 들면 프로세싱 블록의 크기에 대한 정보는 영상, 시퀀스, 픽쳐, 슬라이스, 슬라이스 세그먼트 등의 데이터 단위로 비트스트림으로부터 획득될 수 있다. 즉 영상 복호화 장치(10)의 프로세싱 블록 졀정부(11)는 상기 여러 데이터 단위마다 비트스트림으로부터 획득되는 프로세싱 블록의 크기에 대한 정보를 이용하여 픽쳐를 분할하는 적어도 하나의 프로세싱 블록의 크기를 결정할 수 있으며, 이러한 프로세싱 블록의 크기는 최대부호화단위의 정수배의 크기일 수 있다.
도 3은 일 실시예에 따라 영상 복호화 장치(10)가 픽쳐(30)에 포함되는 적어도 하나의 프로세싱 블록 내에서 적어도 하나의 최대부호화단위가 결정되는 순서를 도시한다.
일 실시예에 따라 영상 복호화 장치(10)의 프로세싱 블록 결정부(11)는 픽쳐(30)에 포함되는 프로세싱 블록(31, 33)의 크기를 결정할 수 있다. 예를 들면, 영상 복호화 장치(10)는 비트스트림으로부터 획득된 프로세싱 블록의 크기에 대한 정보에 기초하여 프로세싱 블록의 크기를 결정할 수 있다. 도 3을 참조하면, 영상 복호화 장치(10)는 일 실시예에 따라 프로세싱 블록(31, 33)의 가로크기를 최대부호화단위 가로크기의 4배, 세로크기를 최대부호화단위의 세로크기의 4배로 결정할 수 있다. S211 단계에서 영상 복호화 장치(10)는 적어도 하나의 프로세싱 블록 내에서 적어도 하나의 최대부호화단위가 결정되는 순서를 결정할 수 있다.
일 실시예에 따라, 영상 복호화 장치(10)는 S210 단계에서 프로세싱 블록 결정부(11)에 의해 결정된 프로세싱 블록의 크기에 기초하여 픽쳐(30)에 포함되는 각각의 프로세싱 블록(31, 33)을 결정할 수 있고, 최대부호화단위 결정부(12)는 결정된 크기를 갖는 프로세싱 블록(31,33)에 포함되는 적어도 하나의 최대부호화단위의 결정 순서를 결정할 수 있다. 일 실시예에 따라 최대부호화단위의 결정은 최대부호화단위의 크기의 결정을 포함할 수 있다.
일 실시예에 따라 영상 복호화 장치(10)는 비트스트림으로부터 적어도 하나의 프로세싱 블록에 포함되는 적어도 하나의 최대부호화단위의 결정 순서에 대한 정보를 획득할 수 있고, 획득한 결정 순서에 대한 정보에 기초하여 적어도 하나의 최대부호화단위가 결정되는 순서를 결정할 수 있다. 결정 순서에 대한 정보는 프로세싱 블록 내에서 최대부호화단위들이 결정되는 순서 또는 방향으로 정의될 수 있다. 즉, 최대부호화단위들이 결정되는 순서는 각각의 프로세싱 블록마다 독립적으로 결정될 수 있다.
일 실시예에 따라 영상 복호화 장치(10)는 특정 데이터 단위마다 최대부호화단위의 결정 순서에 대한 정보를 비트스트림으로부터 획득할 수 있다. 예를 들면, 최대부호화단위의 결정 순서에 대한 정보는 영상, 시퀀스, 픽쳐, 슬라이스, 슬라이스 세그먼트, 프로세싱 블록 등의 데이터 단위로 비트스트림으로부터 획득될 수 있다. 최대부호화단위의 결정 순서에 대한 정보는 프로세싱 블록 내에서의 최대부호화단위 결정 순서를 나타내므로, 결정 순서에 대한 정보는 정수개의 프로세싱 블록을 포함하는 특정 데이터 단위 마다 획득될 수 있다.
S212 단계에서 영상 복호화 장치(10)는 일 실시예에 따라 결정된 순서에 기초하여 적어도 하나의 최대부호화단위를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(10)의 최대부호화단위 결정부(12)는 비트스트림으로부터 프로세싱 블록(31, 33)과 관련된 정보로서, 최대부호화단위 결정 순서에 대한 정보를 획득하여 상기 프로세싱 블록(31, 33)에 포함된 적어도 하나의 최대부호화단위를 결정하는 순서를 결정하여 픽쳐(30)에 포함되는 적어도 하나의 최대부호화단위를 결정할 수 있다. 도 3을 참조하면, 영상 복호화 장치(10)의 최대부호화단위 결정부(12)는 각각의 프로세싱 블록(31, 33)과 관련된 적어도 하나의 최대부호화단위의 결정 순서(32, 34)를 결정할 수 있다. 예를 들면, 최대부호화단위의 결정 순서에 대한 정보가 프로세싱 블록마다획득되는 경우, 각각의 프로세싱 블록(31, 33)과 관련된 최대부호화단위 결정 순서는 프로세싱 블록마다 상이할 수 있다. 프로세싱 블록(31)과 관련된 최대부호화단위 결정 순서(32)가 래스터 스캔(raster scan)순서인 경우, 프로세싱 블록(31)에 포함되는 최대부호화단위는 래스터 스캔 순서에 따라 결정될 수 있다. 이에 반해 다른 프로세싱 블록(33)과 관련된 최대부호화단위 결정 순서(34)가 래스터 스캔 순서의 역순인 경우, 프로세싱 블록(33)에 포함되는 최대부호화단위는 래스터 스캔 순서의 역순에 따라 결정될 수 있다.
S213 단계에서 영상 복호화 장치(10)는 일 실시예에 따라, 결정된 적어도 하나의 최대부호화단위를 복호화할 수 있다. 영상 복호화 장치(10)의 복호화부(13)는 S212단계에서 결정된 최대부호화단위에 기초하여영상을 복호화 할 수 있다. 최대부호화단위를 복호화 하는 방법은 영상을 복호화 하는 다양한 방법들을 포함할 수 있다.
도 4a는 일 실시예에 따라 영상 복호화 장치(10)가 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정하는 과정에 대한 흐름도를 도시한다.
일 실시예에 따라 S410 단계 내지 S412 단계에서 영상 복호화 장치(10)가 수행하는 동작은 도 1b에 관련하여 상술한 S210 단계 내지 S212 단계에서 영상 복호화 장치(10)가 수행하는 동작에 대응하는 것일 수 있으므로, 자세한 설명은 생략하도록 한다.
일 실시예에 따라 영상 복호화 장치(10)의 복호화부(13)는 프로세싱 블록과 관련하여 결정된 순서에 따라 프로세싱 블록에 포함된 최대부호화단위를 결정할 수 있고, 결정된 최대부호화단위에 기초하여 적어도 하나의 부호화단위를 결정할 수 있다. 일 실시예에 따라 부호화단위의 결정은 최대부호화단위 크기 이하의 적어도 하나의 부호화단위의 크기를 결정을 포함하는 것일 수 있다.
S413 단계에서 영상 복호화 장치(10)는 일 실시예에 따라 비트스트림으로부터 획득되는 부호화단위의 크기에 대한 정보에 기초하여, 결정된 최대부호화단위의 크기 이하의 크기를 갖는 복수개의 크기들 중 하나를 부호화단위의 크기로 선택할 수 있다.
일 실시예에 따라 영상 복호화 장치(10)는 비트스트림으로부터 부호화단위의 크기에 대한 정보를 획득할 수 있다. 부호화단위의 크기에 대한 정보는 최대부호화단위에 포함되는 적어도 하나의 부호화단위의 형태 또는 크기에 대한 정보를 포함할 수 있다. 예를 들면, 최대부호화단위의 크기 이하의 부호화단위의 크기 중 하나를 선택하기 위하여, 최대부호화단위의 가로 크기를 또는 세로 크기를 분할하는 것을 나타내는 부호화단위의 크기에 대한 정보가 이용될 수 있다. 만일 최대부호화단위의 크기가 64x64인 경우, 최대부호화단위의 크기 이하의 크기를 갖는 부호화 단위들은 64x64, 32x32, 16x16, 8x8 등의 크기를 가질 수 있다. 따라서 이 경우, 부호화단위의 크기에 대한 정보는 최대부호화단위의 크기인 64x64 이하의 크기인 64x64, 32x32, 16x16, 8x8 등 복수개의 크기들 중 하나를 나타낼 수 있고, 영상 복호화 장치(10)는 부호화단위의 크기에 대한 정보가 나타내는 부호화단위의 크기를 선택하여 최대부호화단위 내에서 적어도 하나의 부호화단위를 결정할 수 있다.
도 4b는 일 실시예에 따라 영상 복호화 장치(10)가 픽쳐(40)에 포함되는 적어도 하나의 부호화단위의 크기를 결정하는 과정을 도시한다.
일 실시예에 따라 영상 복호화 장치(10)의 최대부호화단위 결정부(12)는 픽쳐(40)에 포함되는 적어도 하나의 최대부호화단위를 결정할 수 있다. 각각의 최대부호화단위는 적어도 하나의 부호화단위로 분할될 수 있다. 영상 복호화 장치(10)의 복호화부(13)는 비트스트림으로부터 획득된 부호화단위의 크기에 대한 정보에 기초하여 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정할 수 있다. 영상 복호화 장치(10)는 비트스트림으로부터 획득되는 부호화단위의 크기에 대한 정보에 기초하여 각각의 최대부호화단위를 적어도 하나의 부호화단위로 분할할 수 있으며, 이러한 부호화단위들의 크기는 최대부호화단위마다 독립적으로 결정될 수 있다. 일 실시예에 따라 부호화단위의 크기에 대한 정보는 특정 데이터 단위(예를 들면, 픽쳐, 프로세싱 블록, 슬라이스, 슬라이스 세그먼트, 최대부호화단위)마다 비트스트림을 통해 획득될 수 있다. 이하에서는 설명상의 편의를 위하여, 영상 복호화 장치(10)가 최대부호화단위마다 부호화단위의 크기에 대한 정보를 비트스트림으로부터 획득할 수 있는 것을 전제로 설명하도록 한다.
도 4b를 참조하면, 일 실시예에 따라 영상 복호화 장치(10)의 복호화부(13)는 최대부호화단위와 동일한 크기를 가지는 부호화단위(41)를 결정하거나, 최대부호화단위를 최대부호화단위보다 작은 크기의 부호화단위들(42 또는 43)로 분할할 수 있다. 영상 복호화 장치(10)는 부호화단위의 크기에 대한 정보를 최대부호화단위마다 비트스트림으로부터 획득할 수 있다. 도 4b를 참조하면, 영상 복호화 장치(10)는 비트스트림으로부터 획득한 부호화단위의 크기에 대한 정보를 이용하여, 각각의 최대부호화단위에서 결정될 수 있는 부호화단위의 크기들 중 하나를 선택할 수 있고, 선택된 부호화단위의 크기에 따라 최대부호화단위마다 적어도 하나의 부호화단위를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(10)가 비트스트림으로부터 획득한 부호화단위의 크기에 대한 정보가 나타내는 부호화단위의 크기는 최대부호화단위의 크기 이하의 크기를 나타낼 수 있으며, 이러한 부호화단위의 크기는 최대부호화단위의 크기와 동일하거나, 최대부호화단위의 가로크기 및 세로크기의 1/2n (n은 정수)배의 크기에 해당할 수 있다. 나아가 획득된 부호화단위의 크기에 대한 정보가 나타낼 수 있는 부호화단위의 크기는 최대부호화단위의 크기를 심도 순으로 순차적으로 분할한 크기들을 모두 포함할 수 있을 뿐만 아니라, 특정 심도에 대한 크기는 포함하지 않을 수도 있다. 이에 대한 자세한 설명은 후술하기로 한다.
도 4c는 일 실시예에 따라 영상 복호화 장치(10)가 부호화단위의 크기에 대한 정보가 나타낼 수 있는 부호화단위의 크기들을 도시한다.
일 실시예에 따라 영상 복호화 장치(10)가 부호화단위의 크기에 대한 정보를 이용하는 경우, 분할정보에 기초하여 최대부호화단위로부터 재귀적으로 분할하여 부호화단위를 결정하는 과정이 필요가 없고 최대부호화단위를 부호화단위의 크기에 대한 정보가 나타내는 크기의 부호화단위로 바로 분할할 수 있다. 따라서 부호화단위의 크기에 대한 정보가 나타낼 수 있는 크기는 최상위심도의 크기에 해당하는 최대부호화단위의 크기부터 최하위 심도의 크기까지 순차적으로 하위 심도로 분할된 모든 크기들을 포함할 수도 있고, 최상위심도에 해당하는 크기 및 최하위 심도에 해당하는 크기 사이의 크기들 중 적어도 하나의 크기를 생략할 수도 있다. 최상위심도란 부호화단위의 크기가 최대크기인 것으로서 최대부호화단위의 크기와 동일한 크기를 가지는 부호화단위의 심도를 나타내는 것일 수 있고, 최하위심도란 부호화 단위의 크기가 최소크기인 심도를 나타내는 것일 수 있다.
도 4c를 참조하면, 영상 복호화 장치(10)의 복호화부(13)는 최대부호화단위 결정부(12)가 결정한 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정할 수 있고, 부호화단위의 결정 과정에서 부호화단위의 크기에 대한 정보를 이용할 수 있다. 예를 들면, 최대부호화단위의 크기가 64x64인 경우, 부호화단위의 크기에 대한 정보는 최대부호화단위의 크기와 동일한 크기로서 최상위심도의 부호화단위 크기인 64x64(45a, 46a)를 나타내거나, 최대부호화단위의 1/4크기인 32x32(45b, 46b)를 나타내거나, 최대부호화단위의 1/16크기인 16x16(45c, 46c)을 나타내거나, 최대부호화단위의 1/64크기로서 최하위 심도의 부호화단위 크기인 8x8(45d, 46d)를 나타낼 수 있다.
일 실시예에 따라, 부호화단위의 크기에 대한 정보는 최상위심도의 크기부터 최하위 심도의 크기 모두(64x64, 32x32, 16x16 및 8x8)를 고려하여 상기 크기들 중 하나를 나타낼 수 있는 것뿐만 아니라, 일부 크기들 중 하나를 나타낼 수도 있다. 도 4c를 참조하면, 영상 복호화 장치(10)는 최상위심도에 대한 크기내지 최하위 심도에 대한 크기들(46a, 46b, 46c, 46d) 중 일부를 제외한 크기들 중 하나를 나타내는 부호화단위의 크기에 대한 정보를 비트스트림으로부터 획득할 수 있다. 예를 들면, 영상 복호화 장치(10)는 최대부호화단위의 크기가 64x64인 경우, 중 일부 크기들(64x64 및 16x16) 중 하나를 나타내는 부호화단위의 크기에 대한 정보를 비트스트림으로부터 획득할 수 있고, 복호화부(13)는 부호화단위의 크기에 대한 정보에 기초하여 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정할 수 있다.
종래에 이용되어 왔던 영상 부호화 또는 복호화 방법은, 최대부호화단위마다 재귀적인 방법(예를 들면, 쿼드트리를 이용하여 하위 심도의 부호화단위로 분할하는 방법)을 이용하여 부호화단위의 크기를 결정하기 때문에, 각각의 현재 심도의 부호화단위마다 하위 심도의 부호화단위로 분할할지 여부를 결정하기 위해 분할정보를 비트스트림으로부터 획득한다. 하지만 이러한 분할정보를 각각의 부호화단위마다 비트스트림으로부터 획득하여 분할여부를 확인하는 것이 영상 특성에 따라 비효율적인 결과를 초래할 수 있다. 따라서 일 실시예들에서는 최대부호화단위와 관련된 부호화단위의 크기를 재귀적인 방법으로 분할하기 위하여 각각의 부호화단위마다 분할정보 등을 획득하여 이용하기 보다는, 최대부호화단위마다 획득될 수 있는 부호화단위의 크기에 대한 정보를 이용하여 최대부호화단위에 포함되는 부호화단위의 크기를 결정할 수 있다. 도 4c를 참조하면, 분할정보를 이용하는 부호화단위(45a, 45b, 45c, 45d)에서는 현재 심도에서 하위 심도로 부호화단위를 분할할지 여부를 결정하기 위하여 분할정보를 비트스트림으로부터 획득하여야만 하고, 이 경우 부호화단위의 개수에 비례하여 비트스트림으로부터 획득되어야 하는 데이터 량이 증가하게 된다. 예를 들면, 64x64의 크기를 갖는 최상위심도의 부호화단위(45a)로부터 16x16크기를 갖는 하위 심도의 부호화단위(45c)로의 분할을 위해서는, 최상위심도(예를 들면, depth 0)의 하나의 부호화단위(45a)에 대한 분할정보, 하위 심도(depth 1)의 4개의 부호화단위(45b)에 대한 분할정보 및 하위 심도(depth 2)의 16개의 부호화단위(45c)에 대한 분할정보를 비트스트림으로부터 획득하여 분할여부를 확인하여야 하므로 최소한 21bit의 데이터량이 비트스트림으로부터 획득되어야 한다. 하지만, 영상의 특성상 분할여부의 확인이 불필요한 심도에 대한 부호화단위의 분할정보(예를 들면, 45b, 45d의 분할정보)는 비트스트림으로부터 획득하지 않는 것이 효율적이다.
일 실시예에 따라, 최대부호화단위와 관련하여 비트스트림으로부터 획득되는 부호화단위의 크기에 대한 분할정보를 이용하는 경우, 분할정보는 최대부호화단위에 포함될 수 있는 미리 결정된 부호화단위의 크기들의 표현이 가능한 비트량만 이용하면 되기 때문에, 불필요한 비트량을 줄일 수 있다. 예를 들면, 부호화단위의 크기에 대한 정보가 64x64, 16x16 중 하나의 크기만을 나타내는 것으로 설정되는 경우, 두 가지의 크기만을 구분하면 되기 때문에 1bit만이 필요하다. 예를 들면, 영상 복호화 장치(10)의 복호화부(13)는 특정 최대부호화단위와 관련하여 획득된 부호화단위의 크기에 대한 정보가 0b인 경우 64x64, 1b인 경우 16x16의 크기를 갖는 부호화단위를 결정할 수 있다. 여기서 0b 또는 1b는 일 실시예에 따라 이진수로 표현된 0 bit 또는 1 bit일 수 있다. 상술한 부호화단위의 크기에 대한 정보가 나타내는 부호화단위의 크기의 개수 및 종류는 단지 일 실시예에 불과하고 상술한 크기의 개수 및 종류에 한정하여 해석되어서는 안된다.
일 실시예에 따라 영상 복호화 장치(10)가 획득하는 부호화단위의 크기에 대한 정보가 나타낼 수 있는 부호화단위의 크기의 종류 또는 개수는 임의의 데이터 단위마다 독립적으로 결정될 수 있다. 예를 들면, 부호화단위의 크기에 대한 정보가 나타낼 수 있는 부호화단위의 크기의 종류 또는 개수가 픽쳐, 슬라이스, 슬라이스 세그먼트, 타일, 또는 프로세싱 블록 마다 독립적으로 결정될 수 있다. 부호화단위의 크기에 대한 정보가 나타낼 수 있는 크기의 종류 또는 개수가 데이터 단위마다 다르게 설정될 수 있으나, 이러한 데이터 단위가 상술한 데이터 단위에 한정하여 해석되어서는 안되고 그 외의 다양한 데이터 단위가 이용될 수 있다.
도 5a는 일 실시예에 따라 영상 복호화 장치(10)가 비트스트림으로부터 획득되는 부호화단위의 크기 제한 정보에 기초하여 부호화단위의 분할정보를 비트스트림으로부터 획득할지 여부를 나타내는 흐름도를 도시한다.
S510 단계 내지 S512 단계에서 일 실시예에 따라 영상 복호화 장치(10)가 수행하는 동작의 특징은 도 1b와 관련하여 상술한 동작의 특징에 대응되는 것으로 볼 수 있으므로, 자세한 설명은 생략하도록 한다.
S513단계에서 영상 복호화 장치(10)는 일 실시예에 따라 S512 단계에서 결정된 최대부호화단위 중 하나인 현재 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정할 수 있다. 최대부호화단위에 포함되는 적어도 하나의 부호화단위의 결정은, 일 실시예에 따라 도 4a에서 S413단계 내지 S414단계에서 영상 복호화 장치(10)의 복호화부(13)가 수행하는 동작에 의해 구현될 수도 있고, 그 외의 기술분야의 다양한 방법들을 이용하여 구현될 수도 있다. 일 실시예에 따라 복호화부(13)의 복호화 과정은 후술하는 영상의 복호화 방법을 포함하는 것일 수 있다.
S514 단계에서 영상 복호화 장치(10)는 일 실시예에 따라 비트스트림으로부터 획득한 부호화단위에 대한 크기 제한 정보에 기초하여, 적어도 하나의 부호화단위의 크기와 크기 제한 정보가 나타내는 크기를 비교할 수 있다. 일 실시예에 따라 크기 제한 정보는 부호화단위가 하위 심도로 분할될 수 있는지 여부를 판단하기 위한 정보를 포함할 수 있다. 예를 들면, 현재 부호화단위에 대한 크기 제한 정보가 나타내는 크기와 현재 부호화단위의 크기를 비교하였을 경우, 크기 제한 정보가 나타내는 크기와의 비교 결과에 따라 현재 부호화단위를 하위 심도로 분할할지 여부를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(10)가 비트스트림으로부터 획득한 크기 제한 정보가 나타내는 정보는 하위 심도로 분할될 수 있는지 여부를 판단하기 위한 정보로서 부호화단위의 최소크기보다 큰 크기를 나타내는 정보를 나타낼 수 있다. 즉, 현재 부호화단위의 크기가 부호화단위가 가질 수 있는 최소크기인 경우 현재 부호화단위를 하위 심도의 부호화단위들로 분할할지 여부는 판단할 필요가 없지만, 현재 부호화단위의 크기가 최소크기가 아니더라도 영상의 특성에 따라 현재 부호화단위를 하위 심도로 분할할지 여부를 판단하는 것이 불필요한 경우가 있을 수 있으며, 이러한 경우 현재 부호화단위와 관련된 분할정보를 비트스트림으로부터 획득하는 것은 비효율적일 수 있다. 따라서 일 실시예에 따라, 영상 복호화 장치(10)의 복호화부(13)는 각각의 현재 심도의 부호화단위들에 대한 분할정보가 모두 비트스트림으로부터 획득되어 이용되지 않더라도, 비트스트림으로부터 획득하는 크기 제한 정보와 현재 심도의 부호화단위의 크기를 비교함으로써 하위 심도로의 분할여부를 결정할 수 있다.
도 5b는 일 실시예에 따라, 영상 복호화 장치(10)가 크기 제한 정보에 기초하여 적어도 하나의 부호화 단위를 결정하는 과정을 도시한 것이다.
일 실시예에 따라 영상 복호화 장치(10)의 복호화부(13)는 비트스트림으로부터 획득한 크기 제한 정보에 기초하여 적어도 하나의 부호화단위를 결정할 수 있다. 크기 제한 정보가 나타내는 부호화단위의 크기와 현재 심도의 부호화단위의 크기를 비교하여, 크기 제한 정보가 나타내는 부호화단위의 크기보다 현재 심도의 부호화단위의 크기가 더 큰 경우, 복호화부(13)는 현재 심도의 부호화단위를 하위 심도의 부호화단위들로 분할할 수 있다. 도 5b를 참조하면, 일 실시예에 따라 영상 복호화 장치(10)는 16x16의 크기를 부호화단위의 하위 심도로의 분할여부를 확인하는 최소 크기임을 나타내는 크기 제한 정보를 획득할 수 있다. 최상위심도(Depth n)의 부호화단위(51a)의 크기가 64x64인 경우, 부호화단위는 그 하위 심도(예를 들면, depth n+1, depth n+2, depth n+3…)로 분할될 수 있으나, 크기 제한 정보가 나타내는 크기인 16x16의 크기를 가지는 부호화단위에서는 하위 심도로의 분할여부를 확인하게 위한 분할정보를 비트스트림으로부터 획득하지 않는다. 예를 들면, 64x64의 크기를 갖는 최상위심도(Depth n)의 부호화단위(51a)가 재귀적으로 분할되면서 하위 심도(depth n+1, depth n+2)의 부호화단위(50b, 50c)로 분할되는 경우 각각의 심도(depth n, depth n+1, depth n+2)의 부호화단위들에 대한 분할정보가 비트스트림으로부터 획득될 수 있으며, 하위 심도로의 분할 여부는 해당 부호화단위와 관련된 분할정보에 기초하여 결정될 수 있다. 영상의 특성에 따라서는 8x8의 크기를 갖는 부호화단위로 분할할 필요가 없을 수 있으며, 이 경우 16x16크기의 부호화단위마다 하위 심도로 분할하지 않는다는 정보를 나타내는 분할정보를 비트스트림으로부터 획득할 수 있다. 다만 영상의 특성 상 최하위 심도까지 분할여부가 판단될 필요가 없는 경우와 같이, 최상위심도 및 최하위 심도 중간에 해당하는 심도에서 하위 심도로의 분할이 중단되는 경우가 많은 경우에는 특정 크기의 부호화단위 이하에서는 분할정보를 비트스트림으로부터 획득하지 않도록 제한하는 것이 효율적일 수 있다. 일 실시예에서는 분할정보를 획득하지 않도록 설정하는 부호화단위의 크기를 나타내는 크기 제한 정보를 비트스트림으로부터 획득하여 이용함으로써 효율적으로 비트스트림 이용이 가능하도록 한다.
일 실시예에 따라 도 5b를 참조하면, 영상 복호화 장치(10)는 depth n의 부호화단위(51a)로부터 하위 심도(depth n+1 또는 depth n+2)의 부호화단위(51b 또는 51c)들로 부호화단위를 분할할 수 있다. 하위 심도의 부호화단위들로 분할하는 방법은 각각의 부호화 단위마다 분할정보를 획득하는 종래기술에 따른 방법을 이용하거나, 하위 심도의 부호화단위의 결정을 위해 상술한 다양한 실시예들을 이용할 수도 있다. 일 실시예에 따라 영상 복호화 장치(10)가 비트스트림으로부터 획득한 크기 제한 정보가 depth n+2의 부호화단위의 크기 이하에서는 분할정보를 획득하지 않는 것을 나타내는 경우, 영상 복호화 장치(10)의 복호화부(13)는 depth n의 부호화단위로부터 depth n+2의 부호화단위까지 분할하고, depth n+2의 부호화단위에서는 하위 심도(depth n+3)의 부호화단위로의 분할 여부를 확인하기위한 분할정보를 비트스트림으로부터 획득하지 않고 depth n+2의 심도의 부호화단위(51c)를 현재 부호화단위로 확정함으로써 depth n+2의 심도의 부호화단위(51c)에서 예측 단위 또는 변환 단위를 결정할 수 있다.
일 실시예에 따라, 영상 복호화 장치(10)가 비트스트림으로부터 획득하는 크기 제한 정보가 나타내는 정보는 특정 데이터 단위마다 획득될 수 있다. 일 실시예에 따라 영상 복호화 장치(10)는 크기 제한 정보는 픽쳐, 슬라이스, 슬라이스 세그먼트, 타일, 프로세싱 블록 또는 최대부호화단위마다 비트스트림으로부터 획득될 수 있다.
S515단계에서 영상 복호화 장치(10)는 일 실시예에 따라 적어도 하나의 부호화단위의 크기가 크기 제한 정보가 나타내는 크기보다 큰 경우, 현재 심도의 적어도 하나의 부호화 단위에 대한 분할 정보를 비트스트림으로부터 획득할 수 있다. 획득된 분할정보에 기초하여 영상 복호화 장치(10)의 복호화부(13)는 현재 심도의 부호화단위를 하위 심도의 부호화단위들로 분할할지 여부를 결정할 수 있다.
S516단계에서 영상 복호화 장치(10)는 일 실시예에 따라 적어도 하나의 부호화단위의 크기가 크기 제한 정보가 나타내는 크기 이하인 경우, 현재 심도의 적어도 하나의 부호화단위를 복호화할 수 있다. 현재 심도의 부호화단위의 크기가 크기 제한 정보가 나타내는 크기 이하인 것으로 결정되는 경우, 하위 심도로 분할 여부를 나타내는 분할정보를 현재 심도의 부호화단위에 관련하여 비트스트림으로부터 획득할 필요도 없으므로, 현재 심도의 부호화단위에서 분할을 멈추고 복호화 과정을 수행할 수 있다.
일 실시예에 따라 영상 복호화 장치(10)는 비트스트림으로부터 획득되는 크기 제한 정보가 나타내는 크기와 현재 심도의 부호화단위의 크기를 비교하여 비트스트림으로부터 분할정보를 획득할지 여부를 결정할 수 있다. 나아가 일 실시예에 따라 비트스트림으로부터 획득되는 크기 제한 정보가 직접적으로 특정 크기를 나타내는 것뿐만 아니라, 분할정보를 비트스트림으로부터 획득할지 여부를 결정하기 위하여 기결정된 크기와 현재 심도의 부호화단위의 크기를 비교할 것인지 여부를 나타내는 것일 수도 있다. 즉, 크기 제한 정보가 직접적으로 특정 크기를 나타내는 정보일 경우에는 비트스트림으로 전송되는 정보량이 늘어날 수 있으므로, 부호화단위의 최소크기보다 큰 특정 크기를 미리 결정하고, 이러한 미리 결정된 크기와 현재 심도의 부호화단위 크기를 비교할 것인지 여부를 나타내는 정보인 크기 제한 정보를 비트스트림으로부터 획득할 수도 있다. 크기 제한 정보가 나타내는 크기가 커서 크기 제한 정보를 전송함에 큰 데이터 량이 요구되는 경우, 영상 복호화 장치(10)는 미리 결정된 크기와 현재 심도의 부호화단위의 크기를 비교할지 여부만을 나타내는 크기 제한 정보를 이용함으로써 상대적으로 데이터량을 줄일 수 있다.
도 6a는 일 실시예에 따라 영상 복호화 장치(10)가 특정 심도는 생략하고 더 낮은 심도로 분할할지 여부를 나타내는 제2 분할정보에 기초하여 부호화단위를 결정하는 과정에 대한 흐름도를 도시한다.
일 실시예에 따라 영상 복호화 장치(10)는 현재 심도의 부호화단위를 하위 심도의 부호화단위로 심도 순서에 따라 순차적으로 분할하는 대신, 특정 심도는 생략하고 더 낮은 심도로 분할할지 여부를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(10)가 S610 단계 내지 S612 단계를 통해 수행할 수 있는 특징은, 이는 도 1b에서 상술한 S210단계 내지 S212단계의 특징에 대응하는 것일 수 있으므로 자세한 설명은 생략하도록 한다.
S613단계에서 영상 복호화 장치(10)의 복호화부(13)는 일 실시예에 따라최대부호화단위의 포함되는 현재 심도의 부호화단위를 결정할 수 있다. 결정된 현재 심도의 부호화단위는 이후의 단계를 거쳐서 하위 심도의 부호화단위들로 분할될 수 있다.
S614단계에서 영상 복호화 장치(10)의 복호화부(13)는 일 실시예에 따라 S613단계에서 하위 심도가 최하위 심도인지 여부를 결정할 수 있다. 즉, 영상 복호화 장치(10)의 복호화부(13)는 일 실시예에 따라 결정되는 부호화단위의 현재 심도의 한 심도 아래의 심도인 하위 심도가 최하위심도인지 여부에 따라, 하위 심도로의 분할은 생략하고 상기 하위 심도보다 더 낮은 심도로 분할할지를 나타내는 제2 분할 정보를 비트스트림으로부터 획득할지 여부를 결정할 수 있다.
S615단계에서 영상 복호화 장치(10)는 S614단계에서의 판단 결과에 기초하여, 하위 심도가 최하위심도가 아닌 경우 제2 분할정보를 비트스트림으로부터 획득할 수 있다.
S616단계에서 영상 복호화 장치(10)의 복호화부(13)는 제2 분할정보가 현재 심도의 부호화단위를 하위 심도의 부호화단위로 분할하지 않고 하위 심도보다 더 낮은 심도로 분할할 것을 나타내는지 여부를 판단할 수 있다. 일 실시예에 따라 영상 복호화 장치(10)의 복호화부(13)는 제1 분할정보 및 제2 분할정보 중 적어도 하나를 포함하는 분할정보에 기초하여, 현재 심도의 부호화단위를 분할할 수 있다.
S617단계에서 영상 복호화 장치(10)의 복호화부(13)는 일 실시예에 따라 제2 분할정보가 현재 심도의 부호화단위를 하위 심도의 부호화단위로 분할하지 않고 하위 심도보다 더 낮은 심도로 분할하는 것을 나타내지 않는 경우, 비트스트림으로부터 획득한 제1 분할정보에 기초하여 현재 심도의 부호화단위를 하위 심도의 부호화단위로 분할할 수 있다. 하위 심도란 현재 심도보다 한 심도 아래의 심도를 나타내는 것일 수 있다. 하위 심도로 분할할지 여부를 나타내는 제1 분할정보에 기초하여 현재 심도의 부호화단위에 포함되는 하위 심도의 부호화단위들을 결정하는 과정은 해당 기술분야의 다양한 방법에 따라 수행될 수 있으며, 이러한 방법들에는 후술하는 부호화단위의 재귀적인 분할방법이 포함될 수 있다.
S618 단계에서 영상 복호화 장치(10)의 복호화부(13)는 일 실시예에 따라 제2 분할정보가 현재 심도의 부호화단위를 하위 심도의 부호화단위로 분할하지 않고 하위 심도보다 더 낮은 심도로 분할하는 것을 나타내는 경우, 현재 심도의 부호화단위를 최하위심도가 아닌 하위 심도보다 더 낮은 심도의 부호화단위들로 분할할 수 있다.
도 6b는 일 실시예에 따라 영상 복호화 장치(10)가 제1 분할정보 및 제2 분할정보 중 적어도 하나에 기초하여 현재 심도의 부호화단위를 분할하는 과정을 도시한다.
일 실시예에 따라 영상 복호화 장치(10)의 복호화부(13)는 제1 분할정보에 기초하여 현재 심도(예를 들면, depth n)의 부호화 단위(60a)를 하위 심도(예를 들면, depth n+1, depth n+2)의 부호화단위(60b, 60c)로 분할할 수 있다. 즉, 제1 분할정보는 심도 순서대로 현재 심도(depth n)의 부호화단위(60a)를 현재 심도(depth n)보다 하나 아래 심도인 하위 심도(depth n+1)의 부호화단위들(60b)로 분할할 수 있다. 나아가 영상 복호화 장치(10)의 복호화부(13)는 분할된 하위 심도(depth n+1)의 부호화단위들(60b) 각각에 대하여 획득된 제1 분할정보에 기초하여, 부호화단위들(60b) 각각을 하위 심도(depth n+1)보다 아래 심도(depth n+2, depth n+3…)의 부호화단위들(60c)로 분할할 수 있다. 다만 이러한 제1 분할정보만을 이용하여 부호화단위를 결정하는 경우, 부호화단위의 재귀적 분할을 위해 부호화단위들 각각에 대한 제1 분할정보를 모두 비트스트림으로부터 획득하여야 하므로, 중간 심도(예를 들면, depth n과 depth n+2 사이의 depth n+1 심도)에 대한 분할 여부를 결정하기 위하여 중간 심도의 모든 부호화단위들의 분할정보를 비트스트림으로부터 획득하는 것은 비효율적일 수 있다.
일 실시예에 따라 영상 복호화 장치(10)의 복호화부(13)는 일 실시예에 따라 특정 심도는 생략하고 더 낮은 심도로 분할할지 여부를 나타내는 제2 분할정보를 비트스트림으로부터 획득하여 이용함으로써, 특정 심도의 부호화단위들에 대한 분할여부를 나타내는 제1 분할정보의 획득을 생략할 수 있다. 도 6b를 참조하면, 영상 복호화 장치(10)의 복호화부(13)는 현재 심도(depth n)의 부호화단위(61a)를 분할하기 위하여, 제2 분할정보를 이용할 수 있다. 부호화단위(61a)에 대한 제2 분할정보는 특정 심도(예를 들면, 현재 심도(depth n)보다 하나 아래 심도인 하위 심도(depth n+1))의 부호화단위로의 분할은 생략하고, 하위 심도(depth n+1)보다 아래 심도(depth n+2, depth n+3…)의 부호화단위들(61c)로 바로 분할하는 것을 나타낼 수 있다. 따라서 복호화부(13)는 부호화단위(61a)에 대한 제2 분할정보를 이용함에 따라, 하위 심도(depth n+1)의 부호화단위들에 대한 제1 분할정보를 비트스트림으로부터 획득하지 않아도 되므로 전송되는 정보량을 줄일 수 있다.
일 실시예에 따라, 영상 복호화 장치(10)의 복호화부(13)는 제2 분할정보에 기초하여 현재 심도(depth)의 부호화단위를 하위 심도(depth n+1)보다 더 낮은 심도(depth n+2, depth n+3…)의 부호화단위들로 바로 분할할 수 있다. 나아가 복호화부(13)는 제2 분할정보에 따라 바로 분할된 더 낮은 심도(depth n+2, depth n+3…)의 부호화단위들에 대한 제1 분할정보는 비트스트림으로부터 획득하지 않고, 제2 분할정보에 따라 분할되어 크기가 결정된 부호화단위들 각각에 대하여 복호화를 수행할 수 있다.
도 7a는 일 실시예에 따라 영상 복호화 장치(10)가 부호화단위의 최대 심도에 대한 정보 및 최소 심도에 대한 정보 중 적어도 하나에 기초하여 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정하는 과정에 대한 흐름도를 도시한다.
S710단계 내지 S712단계에서 일 실시예에 따라 영상 복호화 장치(10)가 수행하는 동작의 특징은 도 1b와 관련하여 상술한 동작의 특징에 대응되는 것으로 볼 수 있으므로, 자세한 설명은 생략하도록 한다.
S713단계에서 영상 복호화 장치(10)는 일 실시예에 따라 부호화단위의 최대 심도에 대한 정보 및 최소 심도에 대한 정보 중 적어도 하나에 기초하여 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(10)의 복호화부(13)는 획득한 정보에 기초하여, 최대부호화단위 내에서 재귀적인 분할이 수행되는 과정에서 이용될 수 있는 최대 심도 및 최소 심도를 결정할 수 있다. 예를 들면, 복호화부(13)는 최대 심도에 대한 정보가 나타내는 심도에 대한 부호화단위부터 재귀적으로 분할을 수행하여 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정할 수 있다. 종래기술에 따르면 최대부호화단위부터 심도 순서대로 재귀적으로 분할이 수행되어 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정하였으나, 반드시 최대부호화단위로부터 분할여부를 확인하여야 한다는 점에서 영상의 특성(예를 들면, 영상에 고주파 성분이 많음에 따라 최대부호화단위와 같이 큰 크기의 부호화단위에 따라 부호화 또는 복호화를 수행하지 않는 영역이 많은 경우)에 따라서는 비효율적일 수 있었다. 하지만 일 실시예에 따라, 영상 복호화 장치(10)는 최대 심도에 대한 정보를 주변 블록으로부터 획득하여 이용함으로써, 최대부호화단위와 동일한 크기의 부호화단위부터 재귀적 분할을 시작하는 것이 아니라 최대 심도에 대한 정보가 나타내는 심도의 부호화단위부터 재귀적으로 분할을 시작할 수 있다.
또 다른 예를 들면, 복호화부(13)는 최대부호화단위와 동일한 크기를 갖는 부호화단위부터 최소 심도에 대한 정보가 나타내는 심도의 부호화단위까지 재귀적으로 분할을 수행할 수 있다. 종래기술에 따르면, 현재 심도의 부호화단위의 분할정보가 하위 심도로 분할되지 않음을 나타낼 때까지 재귀적으로 부호화단위가 분할되어 최대부호화단위에 포함되는 적어도 하나의 부호화단위가 결정되었다. 하지만, 모든 부호화단위 마다 분할정보를 비트스트림으로부터 획득하여 분할여부가 결정되어야 한다는 점에서 영상의 특성(예를 들면, 영상에 저주파 성분이 많음에 따라 작은 크기의 부호화단위에 따라 부호화 또는 복호화를 수행하지 않는 영역이 많은 경우)에 따라서는 비효율적일 수 있었다. 하지만 일 실시예에 따라, 영상 복호화 장치(10)는 최소 심도에 대한 정보를 주변 블록으로부터 획득하여 이용함으로써, 부호화단위마다 분할정보를 획득하여 재귀적 분할을 중단하는 것이 아니라 최소 심도에 대한 정보가 나타내는 심도의 부호화단위까지 재귀적으로 분할을 시작할 수 있다. 일 실시예에 따라 최소 심도에 대한 정보가 나타내는 심도의 부호화단위에 대한 분할정보는 비트스트림으로부터 획득하지 않을 수 있다.
일 실시예에 따라 영상 복호화 장치(10)는 최대 심도에 대한 정보 및 최소 심도에 대한 정보 중 적어도 하나를 주변블록으로부터 획득하거나, 또는 특정 데이터 단위마다 비트스트림으로부터 획득할 수 있다. 예를 들면, 영상 복호화 장치(10)는 시퀀스, 픽쳐, 슬라이스, 슬라이스 세그먼트, 타일, 프로세싱 블록, 최대부호화단위 또는 부호화단위마다 최대 심도에 대한 정보 및 최소 심도에 대한 정보 중 적어도 하나를 비트스트림으로부터 획득할 수 있다. 영상 복호화 장치(10)는 비트스트림으로부터 특정 데이터 단위마다 획득된 최대 심도에 대한 정보 및 최소 심도에 대한 정보 중 적어도 하나에 기초하여, 특정 데이터 단위에 포함되는 적어도 하나의 부호화단위를 결정할 수 있다.
도 7b는 일 실시예에 따라 영상 복호화 장치(10)가 최대 심도에 대한 정보 및 최소 심도에 대한 정보 중 적어도 하나에 기초하여 적어도 하나의 부호화단위를 결정하는 과정을 도시한다.
일 실시예에 따라 영상 복호화 장치(10)의 복호화부(13)는 최대 심도에 대한 정보에 기초하여 최대부호화단위 내에서 재귀적인 분할이 시작되는 부호화단위의 심도를 결정할 수 있다. 도 7b를 참조하면, 일 실시예에 따라 최대 심도에 대한 정보가 나타내는 심도가 depth n+1을 나타내는 경우, 복호화부(13)는 최대 심도에 대한 정보가 나타내는 심도(depth n+1)의 부호화단위(70b)부터 재귀적으로 분할을 시작할 수 있다. 즉, 최대부호화단위와 동일한 크기를 갖는 부호화단위(70a)에 대한 분할정보를 획득하여 분할을 시작하는 것이 아니라, 최대부호화단위보다 작은 크기의 부호화단위(70b)에서부터 재귀적 분할하여 더 낮은 심도(depth n+2, depth n+3…)의 부호화단위들(70c, 70d…)이 시작될 수 있고, 분할이 시작되는 심도는 최대 심도에 대한 정보가 나타내는 심도(depth n+1)일 수 있다.
일 실시예에 따라 영상 복호화 장치(10)의 복호화부(13)는 최소 심도에 대한 정보에 기초하여 최대부호화단위 내에서 재귀적인 분할이 중단되는 최소 심도의 부호화단위를 결정할 수 있다. 도 7b를 참조하면, 일 실시예에 따라 최소 심도에 대한 정보가 나타내는 심도가 depth n+2을 나타내는 경우, 복호화부(13)는 최소 심도에 대한 정보가 나타내는 심도(depth n+2)의 부호화단위(71c)까지 재귀적으로 분할을 수행할 수 있다. 즉, 최대부호화단위와 동일한 크기를 갖는 부호화단위(71a)부터 분할을 시작하여 최소 크기에 대한 정보가 나타내는 심도(depth n+2)의 부호화단위(depth n+2)까지 재귀적 분할이 수행될 수 있고, 그 이하의 심도(depth n+3)의 부호화단위로는 분할될 수 없다.
일 실시예에 따라 영상 복호화 장치(10)는 최대 심도에 대한 정보 및 최소 심도에 대한 정보에 기초하여, 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정할 수 있다. 예를 들면, 영상 복호화 장치(10)의 복호화부(13)는 최대 심도에 대한 정보가 나타내는 심도부터 최소 심도에 대한 정보가 나타내는 심도까지 부호화단위를 재귀적으로 분할할 수 있다.
도 8a는 일 실시예에 따라 영상 복호화 장치(10)가 예측 방법을 나타내는 정보를 비트스트림으로부터 획득하여 적어도 하나의 부호화 단위에 포함되는 적어도 하나의 예측 단위를 결정하는 흐름도를 도시한다.
S810단계 내지 S812단계에서 영상 복호화 장치(10)가 수행하는 동작은 도 1b에서 S210단계 내지 S212단계의 동작에 대응하는 것일 수 있으므로 자세한 설명은 생략하도록 한다.
S813단계에서 영상 복호화 장치(10)는 일 실시예에 따라 적어도 하나의 최대부호화단위 중 하나인 현재 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정할 수 있다. 영상 복호화 장치(10)의 복호화부(13)는 상술한 다양한 실시예들을 이용하거나 또는 최대부호화단위로부터 재귀적 분할을 수행하는 종래기술을 이용하여 현재 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정할 수 있다.
S814단계에서 영상 복호화 장치(10)의 복호화부(13)는 일 실시예에 따라 예측 방법을 나타내는 정보가 기설정된 예측 방법인 제1 방법을 이용하는 것을 나타내는지 여부를 결정할 수 있다. 예측 방법을 나타내는 정보는 비트스트림으로부터 획득될 수 있다. 영상 복호화 장치(10)의 복호화부(13)는 예측 방법을 나타내는 정보에 기초하여 기설정된 예측 방법을 이용하여 예측 단위를 결정할 것인지 아니면 기설정된 예측 방법과 다른 방법을 이용할 것인지 여부를 결정할 수 있다.
예측 방법을 나타내는 정보가 기설정된 예측 방법인 제1 방법을 이용하는 것을 나타내는 경우, 영상 복호화 장치(10)의 복호화부(13)는 S815단계에서 제1 방법을 이용하여 복수개의 파티션 타입 중 하나를 나타내는 파티션 모드 정보를 비트스트림으로부터 획득하여 현재 부호화단위에 포함되는 적어도 하나의 예측 단위를 결정할 수 있다.
예측 방법을 나타내는 정보가 기설정된 예측 방법인 제1 방법을 이용하는 것을 나타내지 않는 경우, 영상 복호화 장치(10)의 복호화부(13)는 S816단계에서 기설정된 방법인 제1 방법과 다른 방법인 제2 방법을 이용하여 현재 부호화단위에 포함되는 예측 단위를 결정할 수 있다. 일 실시예에 따라 영상 복호화 장치(10)의 복호화부(13)는 제2 방법으로서, 비트스트림으로부터 파티션 모드 정보를 획득하지 않고 기설정된 파티션 타입에 기초하여 예측 단위를 결정할 수 있다. 파티션 모드 정보는 일 실시예에 따라 복수개의 파티션 타입 중 하나를 나타내는 정보일 수 있으며, 영상 복호화 장치(10)의 복호화부(13)는 제1 방법을 이용하여 예측 단위를 결정하는 경우 파티션 모드 정보를 비트스트림으로부터 획득하여 파티션 모드 정보가 나타내는 파티션 타입에 따라 예측 단위를 결정할 수 있으나, 이러한 파티션 모드 정보가 나타낼 수 있는 파티션 타입이 다양할수록 파티션 모드 정보가 필요로 하는 비트량이 커질 수 있다. 따라서 영상 복호화 장치(10)의 복호화부(13)는 일 실시예에 따라 영상 특성에 따라서는 이런 다양한 파티션 모드 중 하나를 선택하기 위해 파티션 모드 정보를 비트스트림으로부터 획득할 필요 없이, 제2 방법에 기초하여 기설정된 파티션 타입에 따라 현재 부호화단위에 포함되는 적어도 하나의 예측 단위를 결정할 수 있다.
도 8b는 일 실시예에 따라 영상 복호화 장치(10)의 복호화부(13)가 예측 방법에 대한 정보에 기초하여 제1 방법 또는 제2 방법에 따라 현재 부호화단위에 포함되는 적어도 하나의 예측 단위를 결정하는 과정을 도시한다.
일 실시예에 따라 영상 복호화 장치(10)의 복호화부(13)는 비트스트림으로부터 획득한 예측 방법에 대한 정보에 기초하여, 기설정된 예측 방법인 제1 방법에 따라 파티션 모드 정보를 획득하여 파티션 모드 정보가 나타내는 파티션 타입으로 적어도 하나의 예측 단위를 결정할 수 있다. 도 8b를 참조하면 제1 방법에 따라 예측 단위를 결정하는 경우, 각 부호화 단위마다 다양한 예측 단위의 형태 중 하나를 나타내는 파티션 모드 정보를 이용할 수 있다. 파티션 모드 정보가 나타나는 다양한 파티션의 형태에 대한 설명은 후술하기로 한다. 제1 방법에 따라 현재 부호화단위에서는 가로 및 세로 중 적어도 하나를 반으로 분할하거나 1/4, 3/4 비율로 분할하는 예측 단위들이 결정되거나 부호화단위와 동일한 크기의 예측단위가 결정될 수 있다.
일 실시예에 따라 영상 복호화 장치(10)의 복호화부(13)는 비트스트림으로부터 획득한 예측 방법에 대한 정보에 기초하여, 기설정된 예측 방법인 제2 방법에 따라 파티션 모드 정보를 비트스트림으로부터 획득하지 않고 기설정된 파티션 타입(예를 들면, 현재 부호화단위와 동일한 크기의 파티션)에 따라 예측 단위를 결정할 수 있다. 도 8b를 참조하면, 영상 복호화 장치(10)의 복호화부(13)는 제2 방법에 따라 현재 부호화단위와 동일한 크기를 갖는 예측 단위를 결정할 수 있다. 이에 따라 영상 특성에 따라 현재 부호화단위에서 세부적인 예측 단위로의 분할이 필요 없는 경우라면 제2 방법에 따라 파티션 모드 정보의 획득없이 획일적으로 기설정된 파티션 타입에 따라 예측 단위를 결정할 수 있다.
일 실시예에 따라 영상 복호화 장치(10)의 복호화부(13)는 제2 방법에 기초하여 현재 부호화단위에 대한 예측 단위를 결정할 수 있으며, 최대부호화단위와 동일한 크기로 현재 부호화단위의 크기가 결정되는 경우, 현재 부호화단위의 하위 심도의 부호화단위의 크기와 동일한 크기의 예측 단위가 결정될 수 있다. 도 8b를 참조하면, 영상 복호화 장치(10)의 복호화부(13)는 일 실시예에 따라 최대부호화단위와 동일한 크기인 64x64의 크기로 현재 부호화단위를 결정할 수 있다. 예측 방법에 대한 정보가 제2 방법을 이용하여 예측 단위를 결정하는 것을 나타내는 경우, 현재 부호화단위의 크기가 최대부호화단위와 동일한 크기인 64x64인 경우, 복호화부(13)는 기설정된 파티션 타입에 기초하여 현재 부호화단위의 하위 심도의 부호화단위의 크기인 32x32 크기를 갖는 예측 단위를 결정할 수 있다.
이하에서는 다른 실시예들에 통한 영상 부호화 방법에 대하여 설명하도록 한다. 후술할 영상 부호화 방법들은 기술분야의 통상의 기술자로서 용이하게 실시할 수 있는 범위 내에서 영상 복호화 방법의 반대되는 동작을 통해 구현될 수 있다.
도 2a는 일 실시예에 따른 영상 부호화 장치(15)의 블록도를 도시한다. 영상 부호화 장치(15)는 프로세싱 블록 결정부(16), 최대부호화단위 결정부(17) 및 부호화부(18)를 포함할 수 있다. 일 실시예에 따른 영상 부호화 장치(15)에 포함되는 구성들이 수행하는 동작은 각각 별개의 하드웨어 또는 소프트웨어 구성요소들을 이용하여 구현될 수 있고, 나아가 하나의 하드웨어(예를 들면, CPU)를 통해 구현될 수도 있다. 영상 부호화 장치(15)에 포함되는 각각의 구성들이 수행하는 동작들에 대하여는 이하의 구체적인 실시예들을 통하여 설명하도록 한다.
도 2b는 일 실시예에 따라 영상 부호화 장치(15)가 프로세싱 블록을 이용하여 수행하는 영상 부호화 방법에 대한 흐름도를 도시한다.
S220 단계에서 영상 부호화 장치(15)는 영상을 분할하는 적어도 하나의 프로세싱 블록을 결정할 수 있다.
일 실시예에 따라, 영상 부호화 장치(15)의 프로세싱 블록 결정부(16)는 영상의 프레임을 분할하는 적어도 하나의 프로세싱 블록을 결정할 수 있다. 프로세싱 블록이란, 영상을 분할하는 적어도 하나의 최대부호화단위를 포함하는 임의의 데이터 단위로서, 프로세싱 블록에 포함되는 적어도 하나의 최대부호화단위는 특정 순서대로 결정될 수 있다. 즉, 각각의 프로세싱 블록에서 결정되는 적어도 하나의 최대부호화단위의 결정 순서는 최대부호화단위가 결정될 수 있는 다양한 순서의 종류 중 하나에 해당할 수 있으며, 각각의 프로세싱 블록에서 결정되는 최대부호화단위 결정 순서는 프로세싱 블록마다 상이할 수 있다.
일 실시예에 따라 영상 부호화 장치(15)는 프로세싱 블록의 크기에 대한 정보를 포함하는 비트스트림으로 생성할 수 있고, 비트스트림으로부터 프로세싱 블록의 크기에 대한 정보를 획득한 복호화단에서는 영상에 포함되는 적어도 하나의 프로세싱 블록의 크기를 결정할 수 있다. 이러한 프로세싱 블록의 크기는 프로세싱 블록의 크기에 대한 정보가 나타내는 데이터 단위의 특정 크기일 수 있다.
도 3은 일 실시예에 따라 영상 부호화 장치(15)가 픽쳐(30)에 포함되는 적어도 하나의 프로세싱 블록 내에서 적어도 하나의 최대부호화단위가 결정되는 순서를 도시한다. 도 3과 관련하여 영상 부호화 장치(15)가 수행하는 결정 동작은 영상 복호화 장치(10)가 수행하는 동작과 관련하여 상술하였으므로 자세한 설명은 생략하도록 한다.
S222 단계에서 영상 부호화 장치(15)는 일 실시예에 따라 결정된 순서에 기초하여 적어도 하나의 최대부호화단위를 결정할 수 있다.
일 실시예에 따라 영상 부호화 장치(15)의 최대부호화단위 결정부(17)는 비트스트림으로부터 프로세싱 블록(31, 33)과 관련된 정보로서, 최대부호화단위 결정 순서에 대한 정보를 획득하여 상기 프로세싱 블록(31, 33)에 포함된 적어도 하나의 최대부호화단위를 결정하는 순서를 결정하여 픽쳐(30)에 포함되는 적어도 하나의 최대부호화단위를 결정할 수 있다.
S223 단계에서 영상 부호화 장치(15)는 일 실시예에 따라, 결정된 적어도 하나의 최대부호화단위를 부호화할 수 있다. 영상 부호화 장치(15)의 부호화부(18)는 S222단계에서 결정된 최대부호화단위에 따라 영상을 부호화할 수 있다. 최대부호화단위를 부호화하는 방법은 영상을 부호화하는 다양한 방법들을 포함할 수 있다.
도 4a는 일 실시예에 따라 영상 부호화 장치(15)가 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정하는 과정에 대한 흐름도를 도시한다.
일 실시예에 따라 S410 단계 내지 S412 단계에서 영상 부호화 장치(15)가 수행하는 동작은 도 2b에 관련하여 상술한 S220 단계 내지 S222 단계에서 영상 부호화 장치(15)가 수행하는 동작에 대응하는 것일 수 있으므로, 자세한 설명은 생략하도록 한다.
S413 단계에서 영상 부호화 장치(15)는 일 실시예에 따라 비트스트림으로부터 획득되는 부호화단위의 크기에 대한 정보에 기초하여, 결정된 최대부호화단위의 크기 이하의 크기를 갖는 복수개의 크기들 중 하나를 부호화단위의 크기로 선택할 수 있다.
도 4b는 일 실시예에 따라 영상 부호화 장치(15)가 픽쳐(40)에 포함되는 적어도 하나의 부호화단위의 크기를 결정하는 과정을 도시한다.
영상 부호화 장치(15)의 부호화부(18)는 비트스트림으로부터 획득된 부호화단위의 크기에 대한 정보에 기초하여 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정할 수 있다. 영상 부호화 장치(15)는 부호화단위의 크기에 대한 정보를 포함하는 비트스트림을 생성할 수 있고, 복호화단에서는 비트스트림을 획득하여 각각의 최대부호화단위를 적어도 하나의 부호화단위로 분할할 수 있으며, 이러한 부호화단위들의 크기는 최대부호화단위마다 독립적으로 결정될 수 있다. 일 실시예에 따라 특정 데이터 단위(예를 들면, 픽쳐, 프로세싱 블록, 슬라이스, 슬라이스 세그먼트, 최대부호화단위)마다 부호화단위의 크기에 대한 정보를 포함하는 비트스트림을 생성할 수 있다. 이하에서는 설명상의 편의를 위하여, 영상 부호화 장치(15)는 최대부호화단위마다 부호화단위의 크기에 대한 정보를 포함하는 비트스트림을 생성하는 것을 전제로 설명하도록 한다.
도 4c는 일 실시예에 따라 영상 부호화 장치(15)가 부호화단위의 크기에 대한 정보가 나타낼 수 있는 부호화단위의 크기들을 도시한다.
일 실시예에 따라 영상 부호화 장치(15)가 부호화단위의 크기에 대한 정보를 이용하는 경우, 분할정보에 기초하여 최대부호화단위로부터 재귀적으로 분할하여 부호화단위를 결정하는 과정이 필요가 없고 최대부호화단위를 부호화단위의 크기에 대한 정보가 나타내는 크기의 부호화단위로 바로 분할할 수 있다. 따라서 부호화단위의 크기에 대한 정보가 나타낼 수 있는 크기는 최상위심도의 크기에 해당하는 최대부호화단위의 크기부터 최하위 심도의 크기까지 순차적으로 하위 심도로 분할된 모든 크기들을 포함할 수도 있고, 최상위심도에 해당하는 크기 및 최하위 심도에 해당하는 크기 사이의 크기들 중 적어도 하나의 크기를 생략할 수도 있다.
도 5a는 일 실시예에 따라 영상 부호화 장치(15)가 부호화단위의 크기 제한 정보를 포함하는 비트스트림을 생성하고, 크기 제한 정보에 기초하여 부호화단위의 분할정보를 포함하는 비트스트림을 생성할지 여부를 나타내는 흐름도를 도시한다.
S510 단계 내지 S512 단계에서 일 실시예에 따라 영상 부호화 장치(15)가 수행하는 동작의 특징은 도 2b와 관련하여 상술한 동작의 특징에 대응되는 것으로 볼 수 있으므로, 자세한 설명은 생략하도록 한다.
S513단계에서 영상 부호화 장치(15)는 일 실시예에 따라 S512 단계에서 결정된 최대부호화단위 중 하나인 현재 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정할 수 있다. 최대부호화단위에 포함되는 적어도 하나의 부호화단위의 결정은, 일 실시예에 따라 도 4a에서 S413단계 내지 S414단계에서 영상 부호화 장치(15)의 부호화부(18)가 수행하는 동작에 의해 구현될 수도 있고, 그 외의 기술분야의 다양한 방법들을 이용하여 구현될 수도 있다. 일 실시예에 따라 부호화부(18)의 복호화 과정은 후술하는 영상의 부호화 방법을 포함하는 것일 수 있다.
S514 단계에서 영상 부호화 장치(15)는 일 실시예에 따라 부호화단위에 대한 크기 제한 정보를 포함하는 비트스트림을 생성할 수 있고, 크기 제한 정보에 기초하여 적어도 하나의 부호화단위의 크기와 크기 제한 정보가 나타내는 크기를 비교할 수 있다. 일 실시예에 따라 크기 제한 정보는 부호화단위가 하위 심도로 분할될 수 있는지 여부를 판단하기 위한 정보를 포함할 수 있다. 예를 들면, 현재 부호화단위에 대한 크기 제한 정보가 나타내는 크기와 현재 부호화단위의 크기를 비교하였을 경우, 크기 제한 정보가 나타내는 크기와의 비교 결과에 따라 현재 부호화단위를 하위 심도로 분할할지 여부를 결정할 수 있다.
일 실시예에 따라 영상 부호화 장치(15)가 크기 제한 정보가 나타내는 정보는 하위 심도로 분할될 수 있는지 여부를 판단하기 위한 정보로서 부호화단위의 최소크기보다 큰 크기를 나타내는 정보를 나타낼 수 있다.
S515단계에서 영상 부호화 장치(15)는 일 실시예에 따라 적어도 하나의 부호화단위의 크기가 크기 제한 정보가 나타내는 크기보다 큰 경우, 현재 심도의 적어도 하나의 부호화 단위에 대한 분할 정보를 포함하는 비트스트림을 생성할 수 있다. 획득된 분할정보에 기초하여 영상 부호화 장치(15)의 부호화부(18)는 현재 심도의 부호화단위를 하위 심도의 부호화단위들로 분할할지 여부를 결정할 수 있다.
S516단계에서 영상 부호화 장치(15)는 일 실시예에 따라 적어도 하나의 부호화단위의 크기가 크기 제한 정보가 나타내는 크기 이하인 경우, 현재 심도의 적어도 하나의 부호화단위를 부호화할 수 있다. 현재 심도의 부호화단위의 크기가 크기 제한 정보가 나타내는 크기 이하인 것으로 결정되는 경우, 현재 심도의 부호화단위에 관련하여 하위 심도로 분할 여부를 나타내는 분할정보를 부호화 할 필요가 없으므로, 현재 심도의 부호화단위에서 분할을 멈추고 부호화 과정을 수행할 수 있다.
도 6a는 일 실시예에 따라 영상 부호화 장치(15)가 특정 심도는 생략하고 더 낮은 심도로 분할할지 여부를 나타내는 제2 분할정보에 기초하여 부호화단위를 결정하는 과정에 대한 흐름도를 도시한다.
일 실시예에 따라 영상 부호화 장치(15)는 현재 심도의 부호화단위를 하위 심도의 부호화단위로 심도 순서에 따라 순차적으로 분할하는 대신, 특정 심도는 생략하고 더 낮은 심도로 분할할지 여부를 결정할 수 있다.
일 실시예에 따라 영상 부호화 장치(15)가 S610 단계 내지 S612 단계를 통해 수행할 수 있는 특징은, 이는 도 2b에서 상술한 S220단계 내지 S222단계의 특징에 대응하는 것일 수 있으므로 자세한 설명은 생략하도록 한다.
S613단계에서 영상 부호화 장치(15)의 부호화부(18)는 일 실시예에 따라 최대부호화단위의 포함되는 현재 심도의 부호화단위를 결정할 수 있다. 결정된 현재 심도의 부호화단위는 이후의 단계를 거쳐서 하위 심도의 부호화단위들로 분할될 수 있다.
S614단계에서 영상 부호화 장치(15)의 부호화부(18)는 일 실시예에 따라 S613단계에서 하위 심도가 최하위 심도인지 여부를 결정할 수 있다. 즉, 영상 부호화 장치(15)의 부호화부(18)는 일 실시예에 따라 결정되는 부호화단위의 현재 심도의 한 심도 아래의 심도인 하위 심도가 최하위심도인지 여부에 따라, 하위 심도로의 분할은 생략하고 상기 하위 심도보다 더 낮은 심도로 분할할지를 나타내는 제2 분할 정보를 부호화 할지 여부를 결정할 수 있다.
S615단계에서 영상 부호화 장치(15)는 S614단계에서의 판단 결과에 기초하여, 하위 심도가 최하위심도가 아닌 경우 제2 분할정보를 비트스트림으로부터 획득할 수 있다.
S616단계에서 영상 부호화 장치(15)의 부호화부(18)는 제2 분할정보가 현재 심도의 부호화단위를 하위 심도의 부호화단위로 분할하지 않고 하위 심도보다 더 낮은 심도로 분할할 것을 나타내는지 여부를 판단할 수 있다. 일 실시예에 따라 영상 부호화 장치(15)의 부호화부(18)는 제1 분할정보 및 제2 분할정보 중 적어도 하나를 포함하는 분할정보에 기초하여, 현재 심도의 부호화단위를 분할할 수 있다.
S617단계에서 영상 부호화 장치(15)의 부호화부(18)는 일 실시예에 따라 제2 분할정보가 현재 심도의 부호화단위를 하위 심도의 부호화단위로 분할하지 않고 하위 심도보다 더 낮은 심도로 분할하는 것을 나타내지 않는 경우, 제1 분할정보에 기초하여 현재 심도의 부호화단위를 하위 심도의 부호화단위로 분할할 수 있다.
S618 단계에서 영상 부호화 장치(15)의 부호화부(18)는 일 실시예에 따라 제2 분할정보가 현재 심도의 부호화단위를 하위 심도의 부호화단위로 분할하지 않고 하위 심도보다 더 낮은 심도로 분할하는 것을 나타내는 경우, 현재 심도의 부호화단위를 최하위심도가 아닌 하위 심도보다 더 낮은 심도의 부호화단위들로 분할할 수 있다.
도 6b는 일 실시예에 따라 영상 부호화 장치(15)가 제1 분할정보 및 제2 분할정보 중 적어도 하나에 기초하여 현재 심도의 부호화단위를 분할하는 과정을 도시한다. 영상 부호화 장치(15)가 부호화단위를 분할하는 과정은, 상술한 영상 복호화 장치(10)가 도 6b와 관련하여 수행하는 동작에 대응하는 동작일 수 있으므로 자세한 설명은 생략하도록 한다.
도 7a는 일 실시예에 따라 영상 부호화 장치(15)가 부호화단위의 최대 심도에 대한 정보 및 최소 심도에 대한 정보 중 적어도 하나에 기초하여 최대부호화단위에 포함되는 적어도 하나의 부호화단위를 결정하는 과정에 대한 흐름도를 도시한다. 도 7b는 일 실시예에 따라 영상 부호화 장치(15)가 최대 심도에 대한 정보 및 최소 심도에 대한 정보 중 적어도 하나에 기초하여 적어도 하나의 부호화단위를 결정하는 과정을 도시한다.
도 7a 및 도 7b에서 영상 부호화 장치(15)가 적어도 하나의 부호화단위를 결정하는 과정은, 상술한 영상 복호화 장치(10)가 도 7a 및 도 7b와 관련하여 수행하는 동작에 대응하는 동작일 수 있으므로 자세한 설명은 생략하도록 한다.
도 8a는 일 실시예에 따라 영상 부호화 장치(15)가 예측 방법을 나타내는 정보를 비트스트림으로부터 획득하여 적어도 하나의 부호화 단위에 포함되는 적어도 하나의 예측 단위를 결정하는 흐름도를 도시한다.
도 8b는 일 실시예에 따라 영상 부호화 장치(15)의 부호화부(18)가 예측 방법에 대한 정보에 기초하여 제1 방법 또는 제2 방법에 따라 현재 부호화단위에 포함되는 적어도 하나의 예측 단위를 결정하는 과정을 도시한다.
도 8a 및 도 8b에서 영상 부호화 장치(15)가 적어도 하나의 예측 단위를 결정하는 과정은, 상술한 영상 복호화 장치(10)가 도 8a 및 도 8b와 관련하여 수행하는 동작에 대응하는 동작일 수 있으므로 자세한 설명은 생략하도록 한다.
도 9는 일 실시예에 따라 트리 구조에 따른 부호화 단위에 기초한 비디오 부호화 장치(100)의 블록도를 도시한다.
도 9에서의 비디오 부호화 장치(100)는 도 2a에서의 영상 부호화 장치(15)에 대응하는 것일 수 있다.
일 실시예에 따라 트리 구조에 따른 부호화 단위에 기초한 비디오 예측을 수반하는 비디오 부호화 장치(100)는 부호화 단위 결정부(120) 및 출력부(130)를 포함한다. 이하 설명의 편의를 위해, 일 실시예에 따라 트리 구조에 따른 부호화 단위에 기초한 비디오 예측을 수반하는 비디오 부호화 장치(100)는 '비디오 부호화 장치(100)'로 축약하여 지칭한다.
부호화 단위 결정부(120)는 영상의 현재 픽쳐를 위한 최대 크기의 부호화 단위인 최대 부호화 단위에 기반하여 현재 픽쳐를 구획할 수 있다. 현재 픽쳐가 최대 부호화 단위보다 크다면, 현재 픽쳐의 영상 데이터는 적어도 하나의 최대 부호화 단위로 분할될 수 있다. 일 실시예에 따른 최대 부호화 단위는 크기 32x32, 64x64, 128x128, 256x256 등의 데이터 단위로, 가로 및 세로 크기가 2의 자승인 정사각형의 데이터 단위일 수 있다.
일 실시예에 따른 부호화 단위는 최대 크기 및 심도로 특징지어질 수 있다. 심도란 최대 부호화 단위로부터 부호화 단위가 공간적으로 분할한 횟수를 나타내며, 심도가 깊어질수록 심도별 부호화 단위는 최대 부호화 단위로부터 최소 부호화 단위까지 분할될 수 있다. 최대 부호화 단위의 심도가 최상위 심도이며 최소 부호화 단위가 최하위 부호화 단위로 정의될 수 있다. 최대 부호화 단위는 심도가 깊어짐에 따라 심도별 부호화 단위의 크기는 감소하므로, 상위 심도의 부호화 단위는 복수 개의 하위 심도의 부호화 단위를 포함할 수 있다.
전술한 바와 같이 부호화 단위의 최대 크기에 따라, 현재 픽쳐의 영상 데이터를 최대 부호화 단위로 분할하며, 각각의 최대 부호화 단위는 심도별로 분할되는 부호화 단위들을 포함할 수 있다. 일 실시예에 따른 최대 부호화 단위는 심도별로 분할되므로, 최대 부호화 단위에 포함된 공간 영역(spatial domain)의 영상 데이터가 심도에 따라 계층적으로 분류될 수 있다.
최대 부호화 단위의 높이 및 너비를 계층적으로 분할할 수 있는 총 횟수를 제한하는 최대 심도 및 부호화 단위의 최대 크기가 미리 설정되어 있을 수 있다.
부호화 단위 결정부(120)는, 심도마다 최대 부호화 단위의 영역이 분할된 적어도 하나의 분할 영역을 부호화하여, 적어도 하나의 분할 영역 별로 최종 부호화 결과가 출력될 심도를 결정한다. 즉 부호화 단위 결정부(120)는, 현재 픽쳐의 최대 부호화 단위마다 심도별 부호화 단위로 영상 데이터를 부호화하여 가장 작은 부호화 오차가 발생하는 심도를 선택하여 최종 심도로 결정한다. 결정된 최종 심도 및 최대 부호화 단위별 영상 데이터는 출력부(130)로 출력된다.
최대 부호화 단위 내의 영상 데이터는 최대 심도 이하의 적어도 하나의 심도에 따라 심도별 부호화 단위에 기반하여 부호화되고, 각각의 심도별 부호화 단위에 기반한 부호화 결과가 비교된다. 심도별 부호화 단위의 부호화 오차의 비교 결과 부호화 오차가 가장 작은 심도가 선택될 수 있다. 각각의 최대화 부호화 단위마다 적어도 하나의 최종 심도가 결정될 수 있다.
최대 부호화 단위의 크기는 심도가 깊어짐에 따라 부호화 단위가 계층적으로 분할되어 분할되며 부호화 단위의 개수는 증가한다. 또한, 하나의 최대 부호화 단위에 포함되는 동일한 심도의 부호화 단위들이라 하더라도, 각각의 데이터에 대한 부호화 오차를 측정하고 하위 심도로의 분할 여부가 결정된다. 따라서, 하나의 최대 부호화 단위에 포함되는 데이터라 하더라도 위치에 따라 심도별 부호화 오차가 다르므로 위치에 따라 최종 심도가 달리 결정될 수 있다. 따라서, 하나의 최대 부호화 단위에 대해 최종 심도가 하나 이상 설정될 수 있으며, 최대 부호화 단위의 데이터는 하나 이상의 최종 심도의 부호화 단위에 따라 구획될 수 있다.
따라서, 일 실시예에 따른 부호화 단위 결정부(120)는, 현재 최대 부호화 단위에 포함되는 트리 구조에 따른 부호화 단위들이 결정될 수 있다. 일 실시예에 따른 '트리 구조에 따른 부호화 단위들'은, 현재 최대 부호화 단위에 포함되는 모든 심도별 부호화 단위들 중, 최종 심도로 결정된 심도의 부호화 단위들을 포함한다. 최종 심도의 부호화 단위는, 최대 부호화 단위 내에서 동일 영역에서는 심도에 따라 계층적으로 결정되고, 다른 영역들에 대해서는 독립적으로 결정될 수 있다. 마찬가지로, 현재 영역에 대한 최종 심도는, 다른 영역에 대한 최종 심도와 독립적으로 결정될 수 있다.
일 실시예에 따른 최대 심도는 최대 부호화 단위로부터 최소 부호화 단위까지의 분할 횟수와 관련된 지표이다. 일 실시예에 따른 제 1 최대 심도는, 최대 부호화 단위로부터 최소 부호화 단위까지의 총 분할 횟수를 나타낼 수 있다. 일 실시예에 따른 제 2 최대 심도는 최대 부호화 단위로부터 최소 부호화 단위까지의 심도 레벨의 총 개수를 나타낼 수 있다. 예를 들어, 최대 부호화 단위의 심도가 0이라고 할 때, 최대 부호화 단위가 1회 분할된 부호화 단위의 심도는 1로 설정되고, 2회 분할된 부호화 단위의 심도가 2로 설정될 수 있다. 이 경우, 최대 부호화 단위로부터 4회 분할된 부호화 단위가 최소 부호화 단위라면, 심도 0, 1, 2, 3 및 4의 심도 레벨이 존재하므로 제 1 최대 심도는 4, 제 2 최대 심도는 5로 설정될 수 있다.
최대 부호화 단위의 예측 부호화 및 변환이 수행될 수 있다. 예측 부호화 및 변환도 마찬가지로, 최대 부호화 단위마다, 최대 심도 이하의 심도마다 심도별 부호화 단위를 기반으로 수행된다.
최대 부호화 단위가 심도별로 분할될 때마다 심도별 부호화 단위의 개수가 증가하므로, 심도가 깊어짐에 따라 생성되는 모든 심도별 부호화 단위에 대해 예측 부호화 및 변환을 포함한 부호화가 수행되어야 한다. 이하 설명의 편의를 위해 적어도 하나의 최대 부호화 단위 중 현재 심도의 부호화 단위를 기반으로 예측 부호화 및 변환을 설명하겠다.
일 실시예에 따른 비디오 부호화 장치(100)는, 영상 데이터의 부호화를 위한 데이터 단위의 크기 또는 형태를 다양하게 선택할 수 있다. 영상 데이터의 부호화를 위해서는 예측 부호화, 변환, 엔트로피 부호화 등의 단계를 거치는데, 모든 단계에 걸쳐서 동일한 데이터 단위가 사용될 수도 있으며, 단계별로 데이터 단위가 변경될 수도 있다.
예를 들어 비디오 부호화 장치(100)는, 영상 데이터의 부호화를 위한 부호화 단위뿐만 아니라, 부호화 단위의 영상 데이터의 예측 부호화를 수행하기 위해, 부호화 단위와 다른 데이터 단위를 선택할 수 있다.
최대 부호화 단위의 예측 부호화를 위해서는, 일 실시예에 따른 최종 심도의 부호화 단위, 즉 더 이상 분할되지 않는 부호화 단위를 기반으로 예측 부호화가 수행될 수 있다. 부호화 단위가 분할된 파티션은, 부호화 단위 및 부호화 단위의 높이 및 너비 중 적어도 하나가 분할된 데이터 단위를 포함할 수 있다. 파티션은 부호화 단위가 분할된 형태의 데이터 단위 및 부호화 단위와 동일한 크기의 데이터 단위를 포함할 수 있다. 예측의 기반이 되는 파티션은 ‘예측 단위’라 지칭될 수 있다.
예를 들어, 크기 2Nx2N(단, N은 양의 정수)의 부호화 단위가 더 이상 분할되지 않는 경우, 크기 2Nx2N의 예측 단위가 되며, 파티션의 크기는 2Nx2N, 2NxN, Nx2N, NxN 등일 수 있다. 일 실시예에 따른 파티션 모드는 예측 단위의 높이 또는 너비가 대칭적 비율로 분할된 대칭적 파티션들뿐만 아니라, 1:n 또는 n:1과 같이 비대칭적 비율로 분할된 파티션들, 기하학적인 형태로 분할된 파티션들, 임의적 형태의 파티션들 등을 선택적으로 포함할 수도 있다.
예측 단위의 예측 모드는, 인트라 모드, 인터 모드 및 스킵 모드 중 적어도 하나일 수 있다. 예를 들어 인트라 모드 및 인터 모드는, 2Nx2N, 2NxN, Nx2N, NxN 크기의 파티션에 대해서 수행될 수 있다. 또한, 스킵 모드는 2Nx2N 크기의 파티션에 대해서만 수행될 수 있다. 부호화 단위 이내의 하나의 예측 단위마다 독립적으로 부호화가 수행되어 부호화 오차가 가장 작은 예측 모드가 선택될 수 있다.
또한, 일 실시예에 따른 비디오 부호화 장치(100)는, 영상 데이터의 부호화를 위한 부호화 단위뿐만 아니라, 부호화 단위와 다른 데이터 단위를 기반으로 부호화 단위의 영상 데이터의 변환을 수행할 수 있다. 부호화 단위의 변환을 위해서는, 부호화 단위보다 작거나 같은 크기의 변환 단위를 기반으로 변환이 수행될 수 있다. 예를 들어 변환 단위는, 인트라 모드를 위한 데이터 단위 및 인터 모드를 위한 변환 단위를 포함할 수 있다.
일 실시예에 따른 트리 구조에 따른 부호화 단위와 유사한 방식으로, 부호화 단위 내의 변환 단위도 재귀적으로 더 작은 크기의 변환 단위로 분할되면서, 부호화 단위의 레지듀얼 데이터가 변환 심도에 따라 트리 구조에 따른 변환 단위에 따라 구획될 수 있다.
일 실시예에 따른 변환 단위에 대해서도, 부호화 단위의 높이 및 너비가 분할하여 변환 단위에 이르기까지의 분할 횟수를 나타내는 변환 심도가 설정될 수 있다. 예를 들어, 크기 2Nx2N의 현재 부호화 단위의 변환 단위의 크기가 2Nx2N이라면 변환 심도 0, 변환 단위의 크기가 NxN이라면 변환 심도 1, 변환 단위의 크기가 N/2xN/2이라면 변환 심도 2로 설정될 수 있다. 즉, 변환 단위에 대해서도 변환 심도에 따라 트리 구조에 따른 변환 단위가 설정될 수 있다.
심도별 분할 정보는, 심도뿐만 아니라 예측 관련 정보 및 변환 관련 정보가 필요하다. 따라서, 부호화 단위 결정부(120)는 최소 부호화 오차를 발생시킨 심도뿐만 아니라, 예측 단위를 파티션으로 분할한 파티션 모드, 예측 단위별 예측 모드, 변환을 위한 변환 단위의 크기 등을 결정할 수 있다.
일 실시예에 따른 최대 부호화 단위의 트리 구조에 따른 부호화 단위 및 예측단위/파티션, 및 변환 단위의 결정 방식에 대해서는, 도 9 내지 19를 참조하여 상세히 후술한다.
부호화 단위 결정부(120)는 심도별 부호화 단위의 부호화 오차를 라그랑지 곱(Lagrangian Multiplier) 기반의 율-왜곡 최적화 기법(Rate-Distortion Optimization)을 이용하여 측정할 수 있다.
출력부(130)는, 부호화 단위 결정부(120)에서 결정된 적어도 하나의 심도에 기초하여 부호화된 최대 부호화 단위의 영상 데이터 및 심도별 분할정보를 비트스트림 형태로 출력한다.
부호화된 영상 데이터는 영상의 레지듀얼 데이터의 부호화 결과일 수 있다.
심도별 분할정보는, 심도 정보, 예측 단위의 파티션 모드 정보, 예측 모드 정보, 변환 단위의 분할 정보 등을 포함할 수 있다.
최종 심도 정보는, 현재 심도로 부호화하지 않고 하위 심도의 부호화 단위로 부호화할지 여부를 나타내는 심도별 분할 정보를 이용하여 정의될 수 있다. 현재 부호화 단위의 현재 심도가 심도라면, 현재 부호화 단위는 현재 심도의 부호화 단위로 부호화되므로 현재 심도의 분할 정보는 더 이상 하위 심도로 분할되지 않도록 정의될 수 있다. 반대로, 현재 부호화 단위의 현재 심도가 심도가 아니라면 하위 심도의 부호화 단위를 이용한 부호화를 시도해보아야 하므로, 현재 심도의 분할 정보는 하위 심도의 부호화 단위로 분할되도록 정의될 수 있다.
현재 심도가 심도가 아니라면, 하위 심도의 부호화 단위로 분할된 부호화 단위에 대해 부호화가 수행된다. 현재 심도의 부호화 단위 내에 하위 심도의 부호화 단위가 하나 이상 존재하므로, 각각의 하위 심도의 부호화 단위마다 반복적으로 부호화가 수행되어, 동일한 심도의 부호화 단위마다 재귀적(recursive) 부호화가 수행될 수 있다.
하나의 최대 부호화 단위 안에 트리 구조의 부호화 단위들이 결정되며 심도의 부호화 단위마다 적어도 하나의 분할정보가 결정되어야 하므로, 하나의 최대 부호화 단위에 대해서는 적어도 하나의 분할정보가 결정될 수 있다. 또한, 최대 부호화 단위의 데이터는 심도에 따라 계층적으로 구획되어 위치 별로 심도가 다를 수 있으므로, 데이터에 대해 심도 및 분할정보가 설정될 수 있다.
따라서, 일 실시예에 따른 출력부(130)는, 최대 부호화 단위에 포함되어 있는 부호화 단위, 예측 단위 및 최소 단위 중 적어도 하나에 대해, 해당 심도 및 부호화 모드에 대한 부호화 정보를 할당될 수 있다.
일 실시예에 따른 최소 단위는, 최하위 심도인 최소 부호화 단위가 4분할된 크기의 정사각형의 데이터 단위이다. 일 실시예에 따른 최소 단위는, 최대 부호화 단위에 포함되는 모든 부호화 단위, 예측 단위, 파티션 단위 및 변환 단위 내에 포함될 수 있는 최대 크기의 정사각 데이터 단위일 수 있다.
예를 들어 출력부(130)를 통해 출력되는 부호화 정보는, 심도별 부호화 단위별 부호화 정보와 예측 단위별 부호화 정보로 분류될 수 있다. 심도별 부호화 단위별 부호화 정보는, 예측 모드 정보, 파티션 크기 정보를 포함할 수 있다. 예측 단위별로 전송되는 부호화 정보는 인터 모드의 추정 방향에 관한 정보, 인터 모드의 참조 영상 인덱스에 관한 정보, 움직임 벡터에 관한 정보, 인트라 모드의 크로마 성분에 관한 정보, 인트라 모드의 보간 방식에 관한 정보 등을 포함할 수 있다.
픽쳐, 슬라이스 또는 GOP별로 정의되는 부호화 단위의 최대 크기에 관한 정보 및 최대 심도에 관한 정보는 비트스트림의 헤더, 시퀀스 파라미터 세트 또는 픽쳐 파라미터 세트 등에 삽입될 수 있다.
또한 현재 비디오에 대해 허용되는 변환 단위의 최대 크기에 관한 정보 및 변환 단위의 최소 크기에 관한 정보도, 비트스트림의 헤더, 시퀀스 파라미터 세트 또는 픽쳐 파라미터 세트 등을 통해 출력될 수 있다. 출력부(130)는, 예측과 관련된 참조정보, 예측정보, 슬라이스 타입 정보 등을 부호화하여 출력할 수 있다.
비디오 부호화 장치(100)의 가장 간단한 형태의 실시예에 따르면, 심도별 부호화 단위는 한 계층 상위 심도의 부호화 단위의 높이 및 너비를 반분한 크기의 부호화 단위이다. 즉, 현재 심도의 부호화 단위의 크기가 2Nx2N이라면, 하위 심도의 부호화 단위의 크기는 NxN 이다. 또한, 2Nx2N 크기의 현재 부호화 단위는 NxN 크기의 하위 심도 부호화 단위를 최대 4개 포함할 수 있다.
따라서, 비디오 부호화 장치(100)는 현재 픽쳐의 특성을 고려하여 결정된 최대 부호화 단위의 크기 및 최대 심도를 기반으로, 각각의 최대 부호화 단위마다 최적의 형태 및 크기의 부호화 단위를 결정하여 트리 구조에 따른 부호화 단위들을 구성할 수 있다. 또한, 각각의 최대 부호화 단위마다 다양한 예측 모드, 변환 방식 등으로 부호화할 수 있으므로, 다양한 영상 크기의 부호화 단위의 영상 특성을 고려하여 최적의 부호화 모드가 결정될 수 있다.
따라서, 영상의 해상도가 매우 높거나 데이터량이 매우 큰 영상을 기존 매크로블록 단위로 부호화한다면, 픽쳐당 매크로블록의 수가 과도하게 많아진다. 이에 따라, 매크로블록마다 생성되는 압축 정보도 많아지므로 압축 정보의 전송 부담이 커지고 데이터 압축 효율이 감소하는 경향이 있다. 따라서, 일 실시예에 따른 비디오 부호화 장치는, 영상의 크기를 고려하여 부호화 단위의 최대 크기를 증가시키면서, 영상 특성을 고려하여 부호화 단위를 조절할 수 있으므로, 영상 압축 효율이 증대될 수 있다.
도 10은 다양한 실시예에 따라 트리 구조에 따른 부호화 단위에 기초한 비디오 복호화 장치(200)의 블록도를 도시한다. 도 10에서의 비디오 복호화 장치(200)는 도 1a에서의 영상 복호화 장치(10)에 대응하는 것일 수 있다.
일 실시예에 따라 트리 구조에 따른 부호화 단위에 기초한 비디오 예측을 수반하는 비디오 복호화 장치(200)는 수신부(210), 영상 데이터 및 부호화 정보 추출부(220) 및 영상 데이터 복호화부(230)를 포함한다. 영상 데이터 복호화부(230)는 도 1a의 복호화부(13)에 대응하는 것일 수 있다. 이하 설명의 편의를 위해, 일 실시예에 따라 트리 구조에 따른 부호화 단위에 기초한 비디오 예측을 수반하는 비디오 복호화 장치(200)는 '비디오 복호화 장치(200)'로 축약하여 지칭한다.
일 실시예에 따른 비디오 복호화 장치(200)의 복호화 동작을 위한 부호화 단위, 심도, 예측 단위, 변환 단위, 각종 분할정보 등 각종 용어의 정의는, 도 9 및 비디오 부호화 장치(100)를 참조하여 전술한 바와 동일하다.
수신부(210)는 부호화된 비디오에 대한 비트스트림을 수신하여 파싱한다. 영상 데이터 및 부호화 정보 추출부(220)는 파싱된 비트스트림으로부터 최대 부호화 단위별로 트리 구조에 따른 부호화 단위들에 따라 부호화 단위마다 부호화된 영상 데이터를 추출하여 영상 데이터 복호화부(230)로 출력한다. 영상 데이터 및 부호화 정보 추출부(220)는 현재 픽쳐에 대한 헤더, 시퀀스 파라미터 세트 또는 픽쳐 파라미터 세트로부터 현재 픽쳐의 부호화 단위의 최대 크기에 관한 정보를 추출할 수 있다.
또한, 영상 데이터 및 부호화 정보 추출부(220)는 파싱된 비트스트림으로부터 최대 부호화 단위별로 트리 구조에 따른 부호화 단위들에 대한 최종 심도 및 분할정보를 추출한다. 추출된 최종 심도 및 분할정보는 영상 데이터 복호화부(230)로 출력된다. 즉, 비트열의 영상 데이터를 최대 부호화 단위로 분할하여, 영상 데이터 복호화부(230)가 최대 부호화 단위마다 영상 데이터를 복호화하도록 할 수 있다.
최대 부호화 단위별 심도 및 분할정보는, 하나 이상의 심도 정보에 대해 설정될 수 있으며, 심도별 분할정보는, 해당 부호화 단위의 파티션 모드 정보, 예측 모드 정보 및 변환 단위의 분할 정보 등을 포함할 수 있다. 또한, 심도 정보로서, 심도별 분할 정보가 추출될 수도 있다.
영상 데이터 및 부호화 정보 추출부(220)가 추출한 최대 부호화 단위별 심도 및 분할정보는, 일 실시예에 따른 비디오 부호화 장치(100)와 같이 부호화단에서, 최대 부호화 단위별 심도별 부호화 단위마다 반복적으로 부호화를 수행하여 최소 부호화 오차를 발생시키는 것으로 결정된 심도 및 분할정보다. 따라서, 비디오 복호화 장치(200)는 최소 부호화 오차를 발생시키는 부호화 방식에 따라 데이터를 복호화하여 영상을 복원할 수 있다.
일 실시예에 따른 심도 및 부호화 모드에 대한 부호화 정보는, 해당 부호화 단위, 예측 단위 및 최소 단위 중 소정 데이터 단위에 대해 할당되어 있을 수 있으므로, 영상 데이터 및 부호화 정보 추출부(220)는 소정 데이터 단위별로 심도 및 분할정보를 추출할 수 있다. 소정 데이터 단위별로, 해당 최대 부호화 단위의 심도 및 분할정보가 기록되어 있다면, 동일한 심도 및 분할정보를 갖고 있는 소정 데이터 단위들은 동일한 최대 부호화 단위에 포함되는 데이터 단위로 유추될 수 있다.
영상 데이터 복호화부(230)는 최대 부호화 단위별 심도 및 분할정보에 기초하여 각각의 최대 부호화 단위의 영상 데이터를 복호화하여 현재 픽쳐를 복원한다. 즉 영상 데이터 복호화부(230)는, 최대 부호화 단위에 포함되는 트리 구조에 따른 부호화 단위들 가운데 각각의 부호화 단위마다, 판독된 파티션 모드, 예측 모드, 변환 단위에 기초하여 부호화된 영상 데이터를 복호화 할 수 있다. 복호화 과정은 인트라 예측 및 움직임 보상을 포함하는 예측 과정, 및 역변환 과정을 포함할 수 있다.
영상 데이터 복호화부(230)는, 심도별 부호화 단위의 예측 단위의 파티션 모드 정보 및 예측 모드 정보에 기초하여, 부호화 단위마다 각각의 파티션 및 예측 모드에 따라 인트라 예측 또는 움직임 보상을 수행할 수 있다.
또한, 영상 데이터 복호화부(230)는, 최대 부호화 단위별 역변환을 위해, 부호화 단위별로 트리 구조에 따른 변환 단위 정보를 판독하여, 부호화 단위마다 변환 단위에 기초한 역변환을 수행할 수 있다. 역변환을 통해, 부호화 단위의 공간 영역의 화소값이 복원할 수 있다.
영상 데이터 복호화부(230)는 심도별 분할 정보를 이용하여 현재 최대 부호화 단위의 심도를 결정할 수 있다. 만약, 분할 정보가 현재 심도에서 더 이상 분할되지 않음을 나타내고 있다면 현재 심도가 심도다. 따라서, 영상 데이터 복호화부(230)는 현재 최대 부호화 단위의 영상 데이터에 대해 현재 심도의 부호화 단위를 예측 단위의 파티션 모드, 예측 모드 및 변환 단위 크기 정보를 이용하여 복호화 할 수 있다.
즉, 부호화 단위, 예측 단위 및 최소 단위 중 소정 데이터 단위에 대해 설정되어 있는 부호화 정보를 관찰하여, 동일한 분할 정보를 포함한 부호화 정보를 보유하고 있는 데이터 단위가 모여, 영상 데이터 복호화부(230)에 의해 동일한 부호화 모드로 복호화 할 하나의 데이터 단위로 간주될 수 있다. 이런 식으로 결정된 부호화 단위마다 부호화 모드에 대한 정보를 획득하여 현재 부호화 단위의 복호화가 수행될 수 있다.
수신된 제1 레이어 영상스트림 및 제2 레이어 영상스트림을 복호화하여 제1 레이어 영상들 및 제2 레이어 영상들을 복원하기 위해, 비디오 복호화 장치(200)가 시점 개수만큼 포함될 수 있다.
제1 레이어 영상스트림이 수신된 경우에는, 비디오 복호화 장치(200)의 영상데이터 복호화부(230)는, 추출부(220)에 의해 제1 레이어 영상스트림으로부터 추출된 제1 레이어 영상들의 샘플들을 최대 부호화 단위의 트리 구조에 따른 부호화 단위들로 나눌 수 있다. 영상데이터 복호화부(230)는 제1 레이어 영상들의 샘플들의 트리 구조에 따른 부호화 단위들마다, 영상간 예측을 위한 예측단위별로 움직임 보상을 수행하여 제1 레이어 영상들을 복원할 수 있다.
제2 레이어 영상스트림이 수신된 경우에는, 비디오 복호화 장치(200)의 영상데이터 복호화부(230)는, 추출부(220)에 의해 제2 레이어 영상스트림으로부터 추출된 제2 레이어 영상들의 샘플들을 최대 부호화 단위의 트리 구조에 따른 부호화 단위들로 나눌 수 있다. 영상데이터 복호화부(230)는, 제2 레이어 영상들의 샘플들의 부호화 단위들마다 영상간 예측을 위한 예측단위별로 움직임 보상을 수행하여 제2 레이어 영상들을 복원할 수 있다.
추출부(220)는, 제1 레이어 영상과 제2 레이어 영상 간의 휘도 차를 보상하기 위해 휘도 오차와 관련된 정보를 비트스트림으로부터 획득할 수 있다. 다만, 부호화 단위의 부호화 모드에 따라 휘도 수행 여부가 결정될 수 있다. 예를 들어, 크기 2Nx2N의 예측 단위에 대해서만 휘도보상이 수행될 수 있다.
결국, 비디오 복호화 장치(200)는, 부호화 과정에서 최대 부호화 단위마다 재귀적으로 부호화를 수행하여 최소 부호화 오차를 발생시킨 부호화 단위에 대한 정보를 획득하여, 현재 픽쳐에 대한 복호화에 이용할 수 있다. 즉, 최대 부호화 단위마다 최적 부호화 단위로 결정된 트리 구조에 따른 부호화 단위들의 부호화된 영상 데이터의 복호화가 가능해진다.
따라서, 높은 해상도의 영상 또는 데이터량이 과도하게 많은 영상이라도 부호화단으로부터 전송된 최적 분할정보를 이용하여, 영상의 특성에 적응적으로 결정된 부호화 단위의 크기 및 부호화 모드에 따라 효율적으로 영상 데이터를 복호화하여 복원할 수 있다.
도 11은 다양한 실시예에 따른 부호화 단위의 개념을 도시한다. 도 11에서 심도에 따라 부호화 단위가 분할되는 과정은 일 실시예에 따라 영상 복호화 장치(10) 또는 영상 부호화 장치(15)가 부호화 단위의 재귀적 분할을 위한 분할정보인 제1 분할정보에 기초하여 심도 순서대로 부호화 단위가 분할되는 과정일 수 있다. 즉, 현재 심도(depth n)의 부호화 단위가 하위 심도(depth n+1)의 부호화 단위가 아닌 더 낮은 심도(depth n+2, depth n+3…)의 부호화 단위로 바로 분할되는지 여부를 나타내는 제2 분할정보가 이용되는 경우에는 도 11에서 도시하는 과정과 다른 과정을 통해 부호화 단위가 결정될 수 있다.
부호화 단위의 예는, 부호화 단위의 크기는 너비x높이로 표현되며, 크기 64x64인 부호화 단위부터, 32x32, 16x16, 8x8를 포함할 수 있다. 크기 64x64의 부호화 단위는 크기 64x64, 64x32, 32x64, 32x32의 파티션들로 분할될 수 있고, 크기 32x32의 부호화 단위는 크기 32x32, 32x16, 16x32, 16x16의 파티션들로, 크기 16x16의 부호화 단위는 크기 16x16, 16x8, 8x16, 8x8의 파티션들로, 크기 8x8의 부호화 단위는 크기 8x8, 8x4, 4x8, 4x4의 파티션들로 분할될 수 있다.
비디오 데이터(310)에 대해서는, 해상도는 1920x1080, 부호화 단위의 최대 크기는 64, 최대 심도가 2로 설정되어 있다. 비디오 데이터(320)에 대해서는, 해상도는 1920x1080, 부호화 단위의 최대 크기는 64, 최대 심도가 3로 설정되어 있다. 비디오 데이터(330)에 대해서는, 해상도는 352x288, 부호화 단위의 최대 크기는 16, 최대 심도가 1로 설정되어 있다. 도 10에 도시된 최대 심도는, 최대 부호화 단위로부터 최소 부호화 단위까지의 총 분할 횟수를 나타낸다.
해상도가 높거나 데이터량이 많은 경우 부호화 효율의 향상뿐만 아니라 영상 특성을 정확히 반형하기 위해 부호화 사이즈의 최대 크기가 상대적으로 큰 것이 바람직하다. 따라서, 비디오 데이터(330)에 비해, 해상도가 높은 비디오 데이터(310, 320)는 부호화 사이즈의 최대 크기가 64로 선택될 수 있다.
비디오 데이터(310)의 최대 심도는 2이므로, 비디오 데이터(310)의 부호화 단위(315)는 장축 크기가 64인 최대 부호화 단위로부터, 2회 분할하며 심도가 두 계층 깊어져서 장축 크기가 32, 16인 부호화 단위들까지 포함할 수 있다. 반면, 비디오 데이터(330)의 최대 심도는 1이므로, 비디오 데이터(330)의 부호화 단위(335)는 장축 크기가 16인 부호화 단위들로부터, 1회 분할하며 심도가 한 계층 깊어져서 장축 크기가 8인 부호화 단위들까지 포함할 수 있다.
비디오 데이터(320)의 최대 심도는 3이므로, 비디오 데이터(320)의 부호화 단위(325)는 장축 크기가 64인 최대 부호화 단위로부터, 3회 분할하며 심도가 세 계층 깊어져서 장축 크기가 32, 16, 8인 부호화 단위들까지 포함할 수 있다. 심도가 깊어질수록 세부 정보의 표현능력이 향상될 수 있다.
도 12는 다양한 실시예에 따른 부호화 단위에 기초한 영상 부호화부(400)의 블록도를 도시한다.
일 실시예에 따른 영상 부호화부(400)는, 비디오 부호화 장치(100)의 픽쳐 부호화부(120)에서 영상 데이터를 부호화하는데 거치는 작업들을 수행한다. 즉, 인트라 예측부(420)는 현재 영상(405) 중 인트라 모드의 부호화 단위에 대해 예측 단위별로 인트라 예측을 수행하고, 인터 예측부(415)는 인터 모드의 부호화 단위에 대해 예측단위별로 현재 영상(405) 및 복원 픽쳐 버퍼(410)에서 획득된 참조 영상을 이용하여 인터 예측을 수행한다. 현재 영상(405)은 최대부호화 단위로 분할된 후 순차적으로 인코딩이 수행될 수 있다. 이때, 최대 부호화 단위가 트리 구조로 분할될 부호화 단위에 대해 인코딩을 수행될 수 있다.
인트라 예측부(420) 또는 인터 예측부(415)로부터 출력된 각 모드의 부호화 단위에 대한 예측 데이터를 현재 영상(405)의 인코딩되는 부호화 단위에 대한 데이터로부터 빼줌으로써 레지듀 데이터를 생성하고, 레지듀 데이터는 변환부(425) 및 양자화부(430)를 거쳐 변환 단위별로 양자화된 변환 계수로 출력된다. 양자화된 변환 계수는 역양자화부(445), 역변환부(450)을 통해 공간 영역의 레지듀 데이터로 복원된다. 복원된 공간 영역의 레지듀 데이터는 인트라 예측부(420) 또는 인터 예측부(415)로부터 출력된 각 모드의 부호화 단위에 대한 예측 데이터와 더해짐으로써 현재 영상(405)의 부호화 단위에 대한 공간 영역의 데이터로 복원된다. 복원된 공간 영역의 데이터는 디블로킹부(455) 및 SAO 수행부(460)를 거쳐 복원 영상으로 생성된다. 생성된 복원 영상은 복원 픽쳐 버퍼(410)에 저장된다. 복원 픽쳐 버퍼(410)에 저장된 복원 영상들은 다른 영상의 인터예측을 위한 참조 영상으로 이용될 수 있다. 변환부(425) 및 양자화부(430)에서 양자화된 변환 계수는 엔트로피 부호화부(435)를 거쳐 비트스트림(440)으로 출력될 수 있다.
일 실시예에 따른 영상 부호화부(400)가 비디오 부호화 장치(100)에 적용되기 위해서, 영상 부호화부(400)의 구성 요소들인 인터 예측부(415), 인트라 예측부(420), 변환부(425), 양자화부(430), 엔트로피 부호화부(435), 역양자화부(445), 역변환부(450), 디블로킹부(455) 및 SAO 수행부(460)가 최대 부호화 단위마다 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위에 기반한 작업을 수행할 수 있다.
특히, 인트라 예측부(420)및 인터예측부(415) 는 현재 최대 부호화 단위의 최대 크기 및 최대 심도를 고려하여 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위의 파티션 모드 및 예측 모드를 결정하며, 변환부(425)는 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위 내의 쿼드 트리에 따른 변환 단위의 분할 여부를 결정할 수 있다.
도 13은 다양한 실시예에 따른 부호화 단위에 기초한 영상 복호화부(500)의 블록도를 도시한다.
엔트로피 복호화부(515)는 비트스트림(505)으로부터 복호화 대상인 부호화된 영상 데이터 및 복호화를 위해 필요한 부호화 정보를 파싱한다. 부호화된 영상 데이터는 양자화된 변환계수로서, 역양자화부(520) 및 역변환부(525)는 양자화된 변환 계수로부터 레지듀 데이터를 복원한다.
인트라 예측부(540)는 인트라 모드의 부호화 단위에 대해 예측 단위 별로 인트라 예측을 수행한다. 인터 예측부(535)는 현재 영상 중 인터 모드의 부호화 단위에 대해 예측 단위 별로 복원 픽쳐 버퍼(530)에서 획득된 참조 영상을 이용하여 인터 예측을 수행한다.
인트라 예측부(540) 또는 인터 예측부(535)를 거친 각 모드의 부호화 단위에 대한 예측 데이터와 레지듀 데이터가 더해짐으로써 현재 영상(405)의 부호화 단위에 대한 공간 영역의 데이터가 복원되고, 복원된 공간 영역의 데이터는 디블로킹부(545) 및 SAO 수행부(550)를 거쳐 복원 영상(560)으로 출력될 수 있다. 또한, 복원 픽쳐 버퍼(530)에 저장된 복원 영상들은 참조 영상으로서 출력될 수 있다.
비디오 복호화 장치(200)의 영상 데이터 복호화부(230)에서 영상 데이터를 복호화하기 위해, 일 실시예에 따른 영상 복호화부(500)의 엔트로피 복호화부(515) 이후의 단계별 작업들이 수행될 수 있다.
영상 복호화부(500)가 일 실시예에 따른 비디오 복호화 장치(200)에 적용되기 위해서, 영상 복호화부(500)의 구성 요소들인 엔트로피 복호화부(515), 역양자화부(520), 역변환부(525), 인트라 예측부(540), 인터 예측부(535), 디블로킹부(545) 및 SAO 수행부(550)가 최대 부호화 단위마다 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위에 기반하여 작업을 수행할 수 있다.
특히, 인트라 예측부(540)및 인터 예측부(535)는 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위마다 파티션 모드 및 예측 모드를 결정하며, 역변환부(525)는 부호화 단위마다 쿼드 트리구조에 따른 변환단위의 분할 여부를 결정할 수 있다.
도 12의 부호화 동작 및 도 13의 복호화 동작은 각각 단일 레이어에서의 비디오스트림 부호화 동작 및 복호화 동작을 상술한 것이다. 따라서, 도 2a의 영상 부호화 장치(15)가 둘 이상의 레이어의 비디오스트림을 부호화한다면, 레이어별로 영상 부호화 장치(15)가 포함될 수 있다.
도 14 는 다양한 실시예에 따른 심도별 부호화 단위 및 파티션을 도시한다.
일 실시예에 따른 비디오 부호화 장치(100) 및 일 실시예에 따른 비디오 복호화 장치(200)는 영상 특성을 고려하기 위해 계층적인 부호화 단위를 사용한다. 부호화 단위의 최대 높이 및 너비, 최대 심도는 영상의 특성에 따라 적응적으로 결정될 수도 있으며, 사용자의 요구에 따라 다양하게 설정될 수도 있다. 미리 설정된 부호화 단위의 최대 크기에 따라, 심도별 부호화 단위의 크기가 결정될 수 있다.
일 실시예에 따른 부호화 단위의 계층 구조(600)는 부호화 단위의 최대 높이 및 너비가 64이며, 최대 심도가 3인 경우를 도시하고 있다. 이 때, 최대 심도는 최대 부호화 단위로부터 최소 부호화 단위까지의 총 분할 횟수를 나타낸다. 일 실시예에 따른 부호화 단위의 계층 구조(600)의 세로축을 따라서 심도가 깊어지므로 심도별 부호화 단위의 높이 및 너비가 각각 분할한다. 또한, 부호화 단위의 계층 구조(600)의 가로축을 따라, 각각의 심도별 부호화 단위의 예측 부호화의 기반이 되는 예측 단위 및 파티션이 도시되어 있다.
즉, 부호화 단위(610)는 부호화 단위의 계층 구조(600) 중 최대 부호화 단위로서 심도가 0이며, 부호화 단위의 크기, 즉 높이 및 너비가 64x64이다. 세로축을 따라 심도가 깊어지며, 크기 32x32인 심도 1의 부호화 단위(620), 크기 16x16인 심도 2의 부호화 단위(630), 크기 8x8인 심도 3의 부호화 단위(640)가 존재한다. 크기 8x8인 심도 3의 부호화 단위(640)는 최소 부호화 단위이다.
각각의 심도별로 가로축을 따라, 부호화 단위의 예측 단위 및 파티션들이 배열된다. 즉, 심도 0의 크기 64x64의 부호화 단위(610)가 예측 단위라면, 예측 단위는 크기 64x64의 부호화 단위(610)에 포함되는 크기 64x64의 파티션(610), 크기 64x32의 파티션들(612), 크기 32x64의 파티션들(614), 크기 32x32의 파티션들(616)로 분할될 수 있다.
마찬가지로, 심도 1의 크기 32x32의 부호화 단위(620)의 예측 단위는, 크기 32x32의 부호화 단위(620)에 포함되는 크기 32x32의 파티션(620), 크기 32x16의 파티션들(622), 크기 16x32의 파티션들(624), 크기 16x16의 파티션들(626)로 분할될 수 있다.
마찬가지로, 심도 2의 크기 16x16의 부호화 단위(630)의 예측 단위는, 크기 16x16의 부호화 단위(630)에 포함되는 크기 16x16의 파티션(630), 크기 16x8의 파티션들(632), 크기 8x16의 파티션들(634), 크기 8x8의 파티션들(636)로 분할될 수 있다.
마찬가지로, 심도 3의 크기 8x8의 부호화 단위(640)의 예측 단위는, 크기 8x8의 부호화 단위(640)에 포함되는 크기 8x8의 파티션(640), 크기 8x4의 파티션들(642), 크기 4x8의 파티션들(644), 크기 4x4의 파티션들(646)로 분할될 수 있다.
일 실시예에 따른 비디오 부호화 장치(100)의 부호화 단위 결정부(120)는, 최대 부호화 단위(610)의 심도를 결정하기 위해, 최대 부호화 단위(610)에 포함되는 각각의 심도의 부호화 단위마다 부호화를 수행하여야 한다.
동일한 범위 및 크기의 데이터를 포함하기 위한 심도별 부호화 단위의 개수는, 심도가 깊어질수록 심도별 부호화 단위의 개수도 증가한다. 예를 들어, 심도 1의 부호화 단위 한 개가 포함하는 데이터에 대해서, 심도 2의 부호화 단위는 네 개가 필요하다. 따라서, 동일한 데이터의 부호화 결과를 심도별로 비교하기 위해서, 한 개의 심도 1의 부호화 단위 및 네 개의 심도 2의 부호화 단위를 이용하여 각각 부호화되어야 한다.
각각의 심도별 부호화를 위해서는, 부호화 단위의 계층 구조(600)의 가로축을 따라, 심도별 부호화 단위의 예측 단위들마다 부호화를 수행하여, 해당 심도에서 가장 작은 부호화 오차인 대표 부호화 오차가 선택될 수다. 또한, 부호화 단위의 계층 구조(600)의 세로축을 따라 심도가 깊어지며, 각각의 심도마다 부호화를 수행하여, 심도별 대표 부호화 오차를 비교하여 최소 부호화 오차가 검색될 수 있다. 최대 부호화 단위(610) 중 최소 부호화 오차가 발생하는 심도 및 파티션이 최대 부호화 단위(610)의 심도 및 파티션 모드로 선택될 수 있다.
도 15는 다양한 실시예에 따른, 부호화 단위 및 변환 단위의 관계를 도시한다.
일 실시예에 따른 비디오 부호화 장치(100) 또는 일 실시예에 따른 비디오 복호화 장치(200)는, 최대 부호화 단위마다 최대 부호화 단위보다 작거나 같은 크기의 부호화 단위로 영상을 부호화하거나 복호화한다. 부호화 과정 중 변환을 위한 변환 단위의 크기는 각각의 부호화 단위보다 크지 않은 데이터 단위를 기반으로 선택될 수 있다.
예를 들어, 일 실시예에 따른 비디오 부호화 장치(100) 또는 일 실시예에 따른 비디오 복호화 장치(200)에서, 현재 부호화 단위(710)가 64x64 크기일 때, 32x32 크기의 변환 단위(720)를 이용하여 변환이 수행될 수 있다.
또한, 64x64 크기의 부호화 단위(710)의 데이터를 64x64 크기 이하의 32x32, 16x16, 8x8, 4x4 크기의 변환 단위들로 각각 변환을 수행하여 부호화한 후, 원본과의 오차가 가장 적은 변환 단위가 선택될 수 있다.
도 16은 다양한 실시예에 따라, 심도별 부호화 정보들을 도시한다.
일 실시예에 따른 비디오 부호화 장치(100)의 출력부(130)는 분할정보로서, 각각의 심도의 부호화 단위마다 파티션 모드에 관한 정보(800), 예측 모드에 관한 정보(810), 변환 단위 크기에 대한 정보(820)를 부호화하여 전송할 수 있다.
파티션 모드에 대한 정보(800)는, 현재 부호화 단위의 예측 부호화를 위한 데이터 단위로서, 현재 부호화 단위의 예측 단위가 분할된 파티션의 형태에 대한 정보를 나타낸다. 예를 들어, 크기 2Nx2N의 현재 부호화 단위 CU_0는, 크기 2Nx2N의 파티션(802), 크기 2NxN의 파티션(804), 크기 Nx2N의 파티션(806), 크기 NxN의 파티션(808) 중 어느 하나의 타입으로 분할되어 이용될 수 있다. 이 경우 현재 부호화 단위의 파티션 모드에 관한 정보(800)는 크기 2Nx2N의 파티션(802), 크기 2NxN의 파티션(804), 크기 Nx2N의 파티션(806) 및 크기 NxN의 파티션(808) 중 하나를 나타내도록 설정된다.
예측 모드에 관한 정보(810)는, 각각의 파티션의 예측 모드를 나타낸다. 예를 들어 예측 모드에 관한 정보(810)를 통해, 파티션 모드에 관한 정보(800)가 가리키는 파티션이 인트라 모드(812), 인터 모드(814) 및 스킵 모드(816) 중 하나로 예측 부호화가 수행되는지 여부가 설정될 수 있다.
또한, 변환 단위 크기에 관한 정보(820)는 현재 부호화 단위를 어떠한 변환 단위를 기반으로 변환을 수행할지 여부를 나타낸다. 예를 들어, 변환 단위는 제 1 인트라 변환 단위 크기(822), 제 2 인트라 변환 단위 크기(824), 제 1 인터 변환 단위 크기(826), 제 2 인터 변환 단위 크기(828) 중 하나일 수 있다.
일 실시예에 따른 비디오 복호화 장치(200)의 영상 데이터 및 부호화 정보 추출부(210)는, 각각의 심도별 부호화 단위마다 파티션 모드에 관한 정보(800), 예측 모드에 관한 정보(810), 변환 단위 크기에 대한 정보(820)를 추출하여 복호화에 이용할 수 있다.
도 17은 다양한 실시예에 따른 심도별 부호화 단위를 도시한다.
심도의 변화를 나타내기 위해 분할 정보가 이용될 수 있다. 분할 정보는 현재 심도의 부호화 단위가 하위 심도의 부호화 단위로 분할될지 여부를 나타낸다.
심도 0 및 2N_0x2N_0 크기의 부호화 단위(900)의 예측 부호화를 위한 예측 단위(910)는 2N_0x2N_0 크기의 파티션 모드(912), 2N_0xN_0 크기의 파티션 모드(914), N_0x2N_0 크기의 파티션 모드(916), N_0xN_0 크기의 파티션 모드(918)을 포함할 수 있다. 예측 단위가 대칭적 비율로 분할된 파티션들(912, 914, 916, 918)만이 예시되어 있지만, 전술한 바와 같이 파티션 모드는 이에 한정되지 않고 비대칭적 파티션, 임의적 형태의 파티션, 기하학적 형태의 파티션 등을 포함할 수 있다.
파티션 모드마다, 한 개의 2N_0x2N_0 크기의 파티션, 두 개의 2N_0xN_0 크기의 파티션, 두 개의 N_0x2N_0 크기의 파티션, 네 개의 N_0xN_0 크기의 파티션마다 반복적으로 예측 부호화가 수행되어야 한다. 크기 2N_0x2N_0, 크기 N_0x2N_0 및 크기 2N_0xN_0 및 크기 N_0xN_0의 파티션에 대해서는, 인트라 모드 및 인터 모드로 예측 부호화가 수행될 수 있다. 스킵 모드는 크기 2N_0x2N_0의 파티션에 예측 부호화가 대해서만 수행될 수 있다.
크기 2N_0x2N_0, 2N_0xN_0 및 N_0x2N_0의 파티션 모드(912, 914, 916) 중 하나에 의한 부호화 오차가 가장 작다면, 더 이상 하위 심도로 분할할 필요 없다.
크기 N_0xN_0의 파티션 모드(918)에 의한 부호화 오차가 가장 작다면, 심도 0를 1로 변경하며 분할하고(920), 심도 2 및 크기 N_0xN_0의 파티션 모드의 부호화 단위들(930)에 대해 반복적으로 부호화를 수행하여 최소 부호화 오차를 검색해 나갈 수 있다.
심도 1 및 크기 2N_1x2N_1 (=N_0xN_0)의 부호화 단위(930)의 예측 부호화를 위한 예측 단위(940)는, 크기 2N_1x2N_1의 파티션 모드(942), 크기 2N_1xN_1의 파티션 모드(944), 크기 N_1x2N_1의 파티션 모드(946), 크기 N_1xN_1의 파티션 모드(948)을 포함할 수 있다.
또한, 크기 N_1xN_1 크기의 파티션 모드(948)에 의한 부호화 오차가 가장 작다면, 심도 1을 심도 2로 변경하며 분할하고(950), 심도 2 및 크기 N_2xN_2의 부호화 단위들(960)에 대해 반복적으로 부호화를 수행하여 최소 부호화 오차를 검색해 나갈 수 있다.
최대 심도가 d인 경우, 심도별 부호화 단위는 심도 d-1일 때까지 설정되고, 분할 정보는 심도 d-2까지 설정될 수 있다. 즉, 심도 d-2로부터 분할(970)되어 심도 d-1까지 부호화가 수행될 경우, 심도 d-1 및 크기 2N_(d-1)x2N_(d-1)의 부호화 단위(980)의 예측 부호화를 위한 예측 단위(990)는, 크기 2N_(d-1)x2N_(d-1)의 파티션 모드(992), 크기 2N_(d-1)xN_(d-1)의 파티션 모드(994), 크기 N_(d-1)x2N_(d-1)의 파티션 모드(996), 크기 N_(d-1)xN_(d-1)의 파티션 모드(998)을 포함할 수 있다.
파티션 모드 가운데, 한 개의 크기 2N_(d-1)x2N_(d-1)의 파티션, 두 개의 크기 2N_(d-1)xN_(d-1)의 파티션, 두 개의 크기 N_(d-1)x2N_(d-1)의 파티션, 네 개의 크기 N_(d-1)xN_(d-1)의 파티션마다 반복적으로 예측 부호화를 통한 부호화가 수행되어, 최소 부호화 오차가 발생하는 파티션 모드가 검색될 수 있다.
크기 N_(d-1)xN_(d-1)의 파티션 모드(998)에 의한 부호화 오차가 가장 작더라도, 최대 심도가 d이므로, 심도 d-1의 부호화 단위 CU_(d-1)는 더 이상 하위 심도로의 분할 과정을 거치지 않으며, 현재 최대 부호화 단위(900)에 대한 심도가 심도 d-1로 결정되고, 파티션 모드는 N_(d-1)xN_(d-1)로 결정될 수 있다. 또한 최대 심도가 d이므로, 심도 d-1의 부호화 단위(952)에 대해 분할 정보는 설정되지 않는다.
데이터 단위(999)은, 현재 최대 부호화 단위에 대한 '최소 단위'라 지칭될 수 있다. 일 실시예에 따른 최소 단위는, 최하위 심도인 최소 부호화 단위가 4분할된 크기의 정사각형의 데이터 단위일 수 있다. 이러한 반복적 부호화 과정을 통해, 일 실시예에 따른 비디오 부호화 장치(100)는 부호화 단위(900)의 심도별 부호화 오차를 비교하여 가장 작은 부호화 오차가 발생하는 심도를 선택하여, 심도를 결정하고, 해당 파티션 모드 및 예측 모드가 심도의 부호화 모드로 설정될 수 있다.
이런 식으로 심도 0, 1, ..., d-1, d의 모든 심도별 최소 부호화 오차를 비교하여 오차가 가장 작은 심도가 선택되어 심도로 결정될 수 있다. 심도, 및 예측 단위의 파티션 모드 및 예측 모드는 분할정보로써 부호화되어 전송될 수 있다. 또한, 심도 0으로부터 심도에 이르기까지 부호화 단위가 분할되어야 하므로, 심도의 분할 정보만이 '0'으로 설정되고, 심도를 제외한 심도별 분할 정보는 '1'로 설정되어야 한다.
일 실시예에 따른 비디오 복호화 장치(200)의 영상 데이터 및 부호화 정보 추출부(220)는 부호화 단위(900)에 대한 심도 및 예측 단위에 관한 정보를 추출하여 부호화 단위(912)를 복호화하는데 이용할 수 있다. 일 실시예에 따른 비디오 복호화 장치(200)는 심도별 분할 정보를 이용하여 분할 정보가 '0'인 심도를 심도로 파악하고, 해당 심도에 대한 분할정보를 이용하여 복호화에 이용할 수 있다.
도 18, 19 및 20은 다양한 실시예에 따른, 부호화 단위, 예측 단위 및 변환 단위의 관계를 도시한다.
부호화 단위(1010)는, 최대 부호화 단위에 대해 일 실시예에 따른 비디오 부호화 장치(100)가 결정한 심도별 부호화 단위들이다. 예측 단위(1060)는 부호화 단위(1010) 중 각각의 심도별 부호화 단위의 예측 단위들의 파티션들이며, 변환 단위(1070)는 각각의 심도별 부호화 단위의 변환 단위들이다.
심도별 부호화 단위들(1010)은 최대 부호화 단위의 심도가 0이라고 하면, 부호화 단위들(1012, 1054)은 심도가 1, 부호화 단위들(1014, 1016, 1018, 1028, 1050, 1052)은 심도가 2, 부호화 단위들(1020, 1022, 1024, 1026, 1030, 1032, 1048)은 심도가 3, 부호화 단위들(1040, 1042, 1044, 1046)은 심도가 4이다.
예측 단위들(1060) 중 일부 파티션(1014, 1016, 1022, 1032, 1048, 1050, 1052, 1054)는 부호화 단위가 분할된 형태이다. 즉, 파티션(1014, 1022, 1050, 1054)은 2NxN의 파티션 모드며, 파티션(1016, 1048, 1052)은 Nx2N의 파티션 모드, 파티션(1032)은 NxN의 파티션 모드다. 심도별 부호화 단위들(1010)의 예측 단위 및 파티션들은 각각의 부호화 단위보다 작거나 같다.
변환 단위들(1070) 중 일부(1052)의 영상 데이터에 대해서는 부호화 단위에 비해 작은 크기의 데이터 단위로 변환 또는 역변환이 수행된다. 또한, 변환 단위(1014, 1016, 1022, 1032, 1048, 1050, 1052, 1054)는 예측 단위들(1060) 중 해당 예측 단위 및 파티션와 비교해보면, 서로 다른 크기 또는 형태의 데이터 단위이다. 즉, 일 실시예에 따른 비디오 부호화 장치(100) 및 일 실시예에 다른 비디오 복호화 장치(200)는 동일한 부호화 단위에 대한 인트라 예측/움직임 추정/움직임 보상 작업, 및 변환/역변환 작업이라 할지라도, 각각 별개의 데이터 단위를 기반으로 수행할 수 있다.
이에 따라, 최대 부호화 단위마다, 영역별로 계층적인 구조의 부호화 단위들마다 재귀적으로 부호화가 수행되어 최적 부호화 단위가 결정됨으로써, 재귀적 트리 구조에 따른 부호화 단위들이 구성될 수 있다. 부호화 정보는 부호화 단위에 대한 분할 정보, 파티션 모드 정보, 예측 모드 정보, 변환 단위 크기 정보를 포함할 수 있다. 이하 표 1은, 일 실시예에 따른 비디오 부호화 장치(100) 및 일 실시예에 따른 비디오 복호화 장치(200)에서 설정할 수 있는 일례를 나타낸다.
표 1
Figure PCTKR2016004839-appb-T000001
일 실시예에 따른 비디오 부호화 장치(100)의 출력부(130)는 트리 구조에 따른 부호화 단위들에 대한 부호화 정보를 출력하고, 일 실시예에 따른 비디오 복호화 장치(200)의 부호화 정보 추출부(220)는 수신된 비트스트림으로부터 트리 구조에 따른 부호화 단위들에 대한 부호화 정보를 추출할 수 있다.
분할 정보는 현재 부호화 단위가 하위 심도의 부호화 단위들로 분할되는지 여부를 나타낸다. 현재 심도 d의 분할 정보가 0이라면, 현재 부호화 단위가 현재 부호화 단위가 하위 부호화 단위로 더 이상 분할되지 않는 심도가 심도이므로, 심도에 대해서 파티션 모드 정보, 예측 모드, 변환 단위 크기 정보가 정의될 수 있다. 분할 정보에 따라 한 단계 더 분할되어야 하는 경우에는, 분할된 4개의 하위 심도의 부호화 단위마다 독립적으로 부호화가 수행되어야 한다.
예측 모드는, 인트라 모드, 인터 모드 및 스킵 모드 중 하나로 나타낼 수 있다. 인트라 모드 및 인터 모드는 모든 파티션 모드에서 정의될 수 있으며, 스킵 모드는 파티션 모드 2Nx2N에서만 정의될 수 있다.
파티션 모드 정보는, 예측 단위의 높이 또는 너비가 대칭적 비율로 분할된 대칭적 파티션 모드 2Nx2N, 2NxN, Nx2N 및 NxN 과, 비대칭적 비율로 분할된 비대칭적 파티션 모드 2NxnU, 2NxnD, nLx2N, nRx2N를 나타낼 수 있다. 비대칭적 파티션 모드 2NxnU 및 2NxnD는 각각 높이가 1:3 및 3:1로 분할된 형태이며, 비대칭적 파티션 모드 nLx2N 및 nRx2N은 각각 너비가 1:3 및 3:1로 분할된 형태를 나타낸다.
변환 단위 크기는 인트라 모드에서 두 종류의 크기, 인터 모드에서 두 종류의 크기로 설정될 수 있다. 즉, 변환 단위 분할 정보가 0 이라면, 변환 단위의 크기가 현재 부호화 단위의 크기 2Nx2N로 설정된다. 변환 단위 분할 정보가 1이라면, 현재 부호화 단위가 분할된 크기의 변환 단위가 설정될 수 있다. 또한 크기 2Nx2N인 현재 부호화 단위에 대한 파티션 모드가 대칭형 파티션 모드이라면 변환 단위의 크기는 NxN, 비대칭형 파티션 모드이라면 N/2xN/2로 설정될 수 있다.
일 실시예에 따른 트리 구조에 따른 부호화 단위들의 부호화 정보는, 심도의 부호화 단위, 예측 단위 및 최소 단위 단위 중 적어도 하나에 대해 할당될 수 있다. 심도의 부호화 단위는 동일한 부호화 정보를 보유하고 있는 예측 단위 및 최소 단위를 하나 이상 포함할 수 있다.
따라서, 인접한 데이터 단위들끼리 각각 보유하고 있는 부호화 정보들을 확인하면, 동일한 심도의 부호화 단위에 포함되는지 여부가 확인될 수 있다. 또한, 데이터 단위가 보유하고 있는 부호화 정보를 이용하면 해당 심도의 부호화 단위를 확인할 수 있으므로, 최대 부호화 단위 내의 심도들의 분포가 유추될 수 있다.
따라서 이 경우 현재 부호화 단위가 주변 데이터 단위를 참조하여 예측하기 경우, 현재 부호화 단위에 인접하는 심도별 부호화 단위 내의 데이터 단위의 부호화 정보가 직접 참조되어 이용될 수 있다.
또 다른 실시예로, 현재 부호화 단위가 주변 부호화 단위를 참조하여 예측 부호화가 수행되는 경우, 인접하는 심도별 부호화 단위의 부호화 정보를 이용하여, 심도별 부호화 단위 내에서 현재 부호화 단위에 인접하는 데이터가 검색됨으로써 주변 부호화 단위가 참조될 수도 있다.
도 21은 표 1의 부호화 모드 정보에 따른 부호화 단위, 예측 단위 및 변환 단위의 관계를 도시한다.
최대 부호화 단위(1300)는 심도의 부호화 단위들(1302, 1304, 1306, 1312, 1314, 1316, 1318)을 포함한다. 이 중 하나의 부호화 단위(1318)는 심도의 부호화 단위이므로 분할 정보가 0으로 설정될 수 있다. 크기 2Nx2N의 부호화 단위(1318)의 파티션 모드 정보는, 파티션 모드 2Nx2N(1322), 2NxN(1324), Nx2N(1326), NxN(1328), 2NxnU(1332), 2NxnD(1334), nLx2N(1336) 및 nRx2N(1338) 중 하나로 설정될 수 있다.
변환 단위 분할 정보(TU size flag)는 변환 인덱스의 일종으로서, 변환 인덱스에 대응하는 변환 단위의 크기는 부호화 단위의 예측 단위 타입 또는 파티션 모드에 따라 변경될 수 있다.
예를 들어, 파티션 모드 정보가 대칭형 파티션 모드 2Nx2N(1322), 2NxN(1324), Nx2N(1326) 및 NxN(1328) 중 하나로 설정되어 있는 경우, 변환 단위 분할 정보가 0이면 크기 2Nx2N의 변환 단위(1342)가 설정되고, 변환 단위 분할 정보가 1이면 크기 NxN의 변환 단위(1344)가 설정될 수 있다.
파티션 모드 정보가 비대칭형 파티션 모드 2NxnU(1332), 2NxnD(1334), nLx2N(1336) 및 nRx2N(1338) 중 하나로 설정된 경우, 변환 단위 분할 정보(TU size flag)가 0이면 크기 2Nx2N의 변환 단위(1352)가 설정되고, 변환 단위 분할 정보가 1이면 크기 N/2xN/2의 변환 단위(1354)가 설정될 수 있다.
도 21을 참조하여 전술된 변환 단위 분할 정보(TU size flag)는 0 또는 1의 값을 갖는 플래그이지만, 일 실시예에 따른 변환 단위 분할 정보가 1비트의 플래그로 한정되는 것은 아니며 설정에 따라 0, 1, 2, 3.. 등으로 증가하며 변환 단위가 계층적으로 분할될 수도 있다. 변환 단위 분할 정보는 변환 인덱스의 한 실시예로써 이용될 수 있다.
이 경우, 일 실시예에 따른 변환 단위 분할 정보를 변환 단위의 최대 크기, 변환 단위의 최소 크기와 함께 이용하면, 실제로 이용된 변환 단위의 크기가 표현될 수 있다. 일 실시예에 따른 비디오 부호화 장치(100)는, 최대 변환 단위 크기 정보, 최소 변환 단위 크기 정보 및 최대 변환 단위 분할 정보를 부호화할 수 있다. 부호화된 최대 변환 단위 크기 정보, 최소 변환 단위 크기 정보 및 최대 변환 단위 분할 정보는 SPS에 삽입될 수 있다. 일 실시예에 따른 비디오 복호화 장치(200)는 최대 변환 단위 크기 정보, 최소 변환 단위 크기 정보 및 최대 변환 단위 분할 정보를 이용하여, 비디오 복호화에 이용할 수 있다.
예를 들어, (a) 현재 부호화 단위가 크기 64x64이고, 최대 변환 단위 크기는 32x32이라면, (a-1) 변환 단위 분할 정보가 0일 때 변환 단위의 크기가 32x32, (a-2) 변환 단위 분할 정보가 1일 때 변환 단위의 크기가 16x16, (a-3) 변환 단위 분할 정보가 2일 때 변환 단위의 크기가 8x8로 설정될 수 있다.
다른 예로, (b) 현재 부호화 단위가 크기 32x32이고, 최소 변환 단위 크기는 32x32이라면, (b-1) 변환 단위 분할 정보가 0일 때 변환 단위의 크기가 32x32로 설정될 수 있으며, 변환 단위의 크기가 32x32보다 작을 수는 없으므로 더 이상의 변환 단위 분할 정보가 설정될 수 없다.
또 다른 예로, (c) 현재 부호화 단위가 크기 64x64이고, 최대 변환 단위 분할 정보가 1이라면, 변환 단위 분할 정보는 0 또는 1일 수 있으며, 다른 변환 단위 분할 정보가 설정될 수 없다.
따라서, 최대 변환 단위 분할 정보를 'MaxTransformSizeIndex', 최소 변환 단위 크기를 'MinTransformSize', 변환 단위 분할 정보가 0인 경우의 변환 단위 크기를 'RootTuSize'라고 정의할 때, 현재 부호화 단위에서 가능한 최소 변환 단위 크기 'CurrMinTuSize'는 아래 관계식 (1) 과 같이 정의될 수 있다.
CurrMinTuSize
= max (MinTransformSize, RootTuSize/(2^MaxTransformSizeIndex)) ... (1)
현재 부호화 단위에서 가능한 최소 변환 단위 크기 'CurrMinTuSize'와 비교하여, 변환 단위 분할 정보가 0인 경우의 변환 단위 크기인 'RootTuSize'는 시스템상 채택 가능한 최대 변환 단위 크기를 나타낼 수 있다. 즉, 관계식 (1)에 따르면, 'RootTuSize/(2^MaxTransformSizeIndex)'는, 변환 단위 분할 정보가 0인 경우의 변환 단위 크기인 'RootTuSize'를 최대 변환 단위 분할 정보에 상응하는 횟수만큼 분할한 변환 단위 크기이며, 'MinTransformSize'는 최소 변환 단위 크기이므로, 이들 중 작은 값이 현재 현재 부호화 단위에서 가능한 최소 변환 단위 크기 'CurrMinTuSize'일 수 있다.
일 실시예에 따른 최대 변환 단위 크기 RootTuSize는 예측 모드에 따라 달라질 수도 있다.
예를 들어, 현재 예측 모드가 인터 모드라면 RootTuSize는 아래 관계식 (2)에 따라 결정될 수 있다. 관계식 (2)에서 'MaxTransformSize'는 최대 변환 단위 크기, 'PUSize'는 현재 예측 단위 크기를 나타낸다.
RootTuSize = min(MaxTransformSize, PUSize) ......... (2)
즉 현재 예측 모드가 인터 모드라면, 변환 단위 분할 정보가 0인 경우의 변환 단위 크기인 'RootTuSize'는 최대 변환 단위 크기 및 현재 예측 단위 크기 중 작은 값으로 설정될 수 있다.
현재 파티션 단위의 예측 모드가 예측 모드가 인트라 모드라면 모드라면 'RootTuSize'는 아래 관계식 (3)에 따라 결정될 수 있다. 'PartitionSize'는 현재 파티션 단위의 크기를 나타낸다.
RootTuSize = min(MaxTransformSize, PartitionSize) ...........(3)
즉 현재 예측 모드가 인트라 모드라면, 변환 단위 분할 정보가 0인 경우의 변환 단위 크기인 'RootTuSize'는 최대 변환 단위 크기 및 현재 파티션 단위 크기 중 작은 값으로 설정될 수 있다.
다만, 파티션 단위의 예측 모드에 따라 변동하는 일 실시예에 따른 현재 최대 변환 단위 크기 'RootTuSize'는 일 실시예일 뿐이며, 현재 최대 변환 단위 크기를 결정하는 요인이 이에 한정되는 것은 아님을 유의하여야 한다.
도 9 내지 도 21을 참조하여 전술된 트리 구조의 부호화 단위들에 기초한 비디오 부호화 기법에 따라, 트리 구조의 부호화 단위들마다 공간영역의 영상 데이터가 부호화되며, 트리 구조의 부호화 단위들에 기초한 비디오 복호화 기법에 따라 최대 부호화 단위마다 복호화가 수행되면서 공간 영역의 영상 데이터가 복원되어, 픽쳐 및 픽쳐 시퀀스인 비디오가 복원될 수 있다. 복원된 비디오는 재생 장치에 의해 재생되거나, 저장 매체에 저장되거나, 네트워크를 통해 전송될 수 있다.
한편, 상술한 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 개시된 다양한 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 명세서에서 개시된 실시예들의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 명세서의 개시 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 명세서의 개시범위에 포함된 것으로 해석되어야 할 것이다.

Claims (15)

  1. 영상을 복호화 하는 방법에 있어서,
    상기 영상을 분할하는 적어도 하나의 프로세싱 블록을 결정하는 단계;
    상기 적어도 하나의 프로세싱 블록 내에서 적어도 하나의 최대부호화단위가 결정되는 순서를 결정하는 단계;
    상기 결정된 순서에 기초하여 상기 적어도 하나의 최대부호화단위를 결정하는 단계; 및
    결정된 상기 적어도 하나의 최대부호화단위를 복호화하는 단계를 포함하고,
    상기 순서는 복수개의 최대부호화단위 결정 순서들 중 하나인 것을 특징으로 하는, 영상 복호화 방법.
  2. 제 1 항에 있어서, 상기 프로세싱 블록을 결정하는 단계는
    상기 프로세싱 블록의 크기에 대한 정보를 획득하는 단계; 및
    상기 프로세싱 블록의 크기에 대한 정보에 기초하여 상기 적어도 하나의 프로세싱 블록을 결정하는 단계를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  3. 제 1 항에 있어서, 상기 최대부호화단위가 결정되는 순서를 결정하는 단계는
    상기 적어도 하나의 프로세싱 블록에 포함되는 상기 적어도 하나의 최대부호화단위의 결정 순서에 대한 정보를 획득하는 단계; 및
    상기 결정 순서에 대한 정보에 기초하여 상기 적어도 하나의 최대부호화단위가 결정되는 순서를 결정하는 단계를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  4. 제 1 항에 있어서, 상기 적어도 하나의 최대부호화단위를 복호화하는 단계는
    상기 비트스트림으로부터 획득되는 부호화단위의 크기에 대한 정보에 기초하여, 상기 결정된 최대부호화단위의 크기보다 작은 복수개의 크기들 중 하나를 상기 부호화단위의 크기로 선택하는 단계; 및
    상기 선택된 부호화단위의 크기에 기초하여 적어도 하나의 부호화단위를 결정하는 단계를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  5. 제 1 항에 있어서, 상기 적어도 하나의 최대부호화단위를 복호화하는 단계는
    상기 적어도 하나의 최대부호화단위 중 하나인 현재 최대부호화단위에 포함된 적어도 하나의 부호화 단위를 결정하는 단계;
    비트스트림으로부터 획득한 부호화 단위에 대한 크기 제한 정보에 기초하여, 상기 적어도 하나의 부호화 단위의 크기와 상기 크기 제한 정보가 나타내는 크기를 비교하는 단계; 및
    상기 적어도 하나의 부호화 단위의 크기가 상기 크기 제한 정보가 나타내는 크기보다 큰 경우 , 상기 비트스트림으로부터 상기 적어도 하나의 부호화 단위에 대한 분할정보를 획득하는 단계를 더 포함하고,
    상기 크기 제한 정보가 나타내는 크기는 부호화 단위의 최소 크기보다 큰 것을 특징으로 하는 것을 특징으로 하는, 영상 복호화 방법.
  6. 제 5 항에 있어서, 상기 분할정보를 획득하는 단계는,
    상기 적어도 하나의 부호화 단위의 크기가 상기 크기 제한 정보가 나타내는 크기 이하인 경우, 상기 분할정보를 상기 비트스트림으로부터 획득하지 않고 상기 적어도 하나의 부호화 단위를 부호화 하는 단계를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  7. 제 1 항에 있어서, 상기 적어도 하나의 최대부호화단위를 복호화하는 단계는,
    비트스트림으로부터 획득되는 부호화단위의 분할정보에 기초하여, 상기 적어도 하나의 최대부호화단위 중 하나인 현재 최대부호화단위에 포함되는 적어도 하나의 부호화 단위를 결정하는 단계를 포함하고,
    상기 분할 정보는 심도 순서대로 현재 심도의 부호화 단위를 하위 심도의 부호화 단위로 분할할지를 나타내는 제1 분할 정보 및 상기 하위 심도로의 분할은 생략하고 상기 하위 심도보다 더 낮은 심도로 분할할지를 나타내는 제2 분할 정보 중 적어도 하나를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  8. 제 7 항에 있어서, 상기 적어도 하나의 부호화 단위로 분할하는 단계는,
    상기 하위 심도가 최하위 심도인지 여부에 기초하여, 상기 제2 분할정보를 상기 비트스트림으로부터 획득하는 단계;
    상기 제2 분할정보가 상기 하위 심도로의 분할은 생략하고 더 낮은 심도로 분할하는 것을 나타내는 경우, 상기 현재 심도의 부호화 단위를 상기 더 낮은 심도의 부호화단위들로 분할하는 단계; 및
    상기 제2 분할정보가 상기 더 낮은 심도로 분할하는 것을 나타내지 않는 경우, 비트스트림으로부터 획득된 상기 제1 분할정보에 기초하여 상기 현재 심도의 부호화 단위를 상기 하위 심도의 부호화단위들로 분할하는 단계를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  9. 제 1 항에 있어서, 상기 적어도 하나의 최대부호화단위를 복호화 하는 단계는,
    부호화 단위의 최대 심도에 대한 정보 및 최소 심도에 대한 정보 중 적어도 하나에 기초하여, 상기 적어도 하나의 최대부호화단위 중 하나인 현재 최대 부호화단위에 포함되는 적어도 하나의 부호화 단위를 결정하는 단계를 포함하고,
    상기 최대 심도에 대한 정보 및 상기 최소 심도에 대한 정보는 상기 적어도 하나의 부호화 단위의 주변 블록으로부터 획득되는 것을 특징으로 하는, 영상 복호화 방법.
  10. 제 9 항에 있어서, 상기 적어도 하나의 부호화 단위를 결정하는 단계는
    부호화 단위의 현재 심도가 상기 최대 심도보다 상위 심도이거나 상기 최소 심도 이하의 심도인 경우에 한하여 상기 현재 심도의 부호화 단위를 분할하는 단계를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  11. 제 1 항에 있어서, 상기 적어도 하나의 최대부호화단위를 복호화 하는 단계는,
    상기 적어도 하나의 최대부호화단위 중 하나인 현재 최대부호화단위에 포함되는 적어도 하나의 부호화 단위를 결정하는 단계; 및
    비트스트림으로부터 획득된 예측 방법을 나타내는 정보에 기초하여 상기 적어도 하나의 부호화 단위 중 하나인 현재 부호화단위에 대한 적어도 하나의 예측 단위를 결정하는 단계를 포함하고,
    상기 예측 방법을 나타내는 정보는 기설정된 예측 방법을 이용하여 예측을 수행할지 여부를 나타내는 것을 특징으로 하는, 영상 복호화 방법.
  12. 제 11 항에 있어서, 상기 적어도 하나의 예측 단위를 결정하는 단계는,
    상기 예측 방법을 나타내는 정보가 상기 기설정된 예측 방법인 제1 방법을 이용하는 것을 나타내는 경우, 복수개의 타입의 파티션 중 하나를 나타내는 파티션 모드 정보를 상기 비트스트림으로부터 획득하여 상기 현재 부호화단위에 포함되는 적어도 하나의 예측 단위를 결정하는 단계; 및
    상기 예측 방법을 나타내는 정보가 기설정된 예측 방법이 아닌 제2 방법을 이용하는 것을 나타내는 경우, 상기 비트스트림으로부터 상기 파티션 모드 정보를 획득하지 않고 기설정된 파티션 타입에 기초하여 예측 단위를 결정하는 단계를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  13. 제 12 항에 있어서, 상기 기설정된 파티션 타입에 기초하여 예측 단위를 결정하는 단계는,
    상기 예측 방법을 나타내는 정보가 상기 현재 부호화단위의 크기가 상기 현재 최대부호화단위의 크기와 동일한 경우, 상기 현재 부호화단위의 심도보다 하위 심도의 부호화단위와 동일한 크기의 예측 단위를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  14. 영상을 복호화 하는 장치에 있어서,
    상기 영상을 분할하는 적어도 하나의 프로세싱 블록을 결정하는 프로세싱 블록 결정부;
    상기 적어도 하나의 프로세싱 블록 내에서 적어도 하나의 최대부호화단위가 결정되는 순서를 결정하고, 상기 결정된 순서에 기초하여 상기 적어도 하나의 최대부호화단위를 결정하는 최대부호화단위 결정부;
    결정된 상기 적어도 하나의 최대부호화단위를 복호화하는 복호화부를 포함하고,
    상기 순서는 복수개의 최대부호화단위 결정 순서들 중 하나인 것을 특징으로 하는, 영상 복호화 장치.
  15. 영상을 부호화 하는 장치에 있어서,
    상기 영상을 분할하는 적어도 하나의 프로세싱 블록을 결정하는 프로세싱 블록 결정부;
    상기 적어도 하나의 프로세싱 블록 내에서 적어도 하나의 최대부호화단위가 결정되는 순서를 결정하고, 상기 결정된 순서에 기초하여 상기 적어도 하나의 최대부호화단위를 결정하는 최대부호화단위 결정부;
    결정된 상기 적어도 하나의 최대부호화단위를 부호화하는 복호화부를 포함하고,
    상기 순서는 복수개의 최대부호화단위 결정 순서들 중 하나인 것을 특징으로 하는, 영상 부호화 장치.
PCT/KR2016/004839 2015-05-12 2016-05-10 적응적인 순서로 결정되는 블록을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치 WO2016182298A1 (ko)

Priority Applications (18)

Application Number Priority Date Filing Date Title
CN202111274127.9A CN113794880B (zh) 2015-05-12 2016-05-10 视频编码方法、视频解码方法以及计算机可读介质
KR1020227041936A KR102570564B1 (ko) 2015-05-12 2016-05-10 적응적인 순서로 결정되는 블록을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
EP20150375.2A EP3661202A1 (en) 2015-05-12 2016-05-10 Method and device for encoding or decoding image by using blocks determined by means of adaptive order
KR1020237028388A KR102660094B1 (ko) 2015-05-12 2016-05-10 적응적인 순서로 결정되는 블록을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
CN202111271349.5A CN113810688B (zh) 2015-05-12 2016-05-10 视频编码方法、视频解码方法以及计算机可读介质
KR1020247013017A KR20240056657A (ko) 2015-05-12 2016-05-10 적응적인 순서로 결정되는 블록을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
KR1020177032505A KR102370375B1 (ko) 2015-05-12 2016-05-10 적응적인 순서로 결정되는 블록을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
EP16792944.7A EP3270590A4 (en) 2015-05-12 2016-05-10 Method and device for encoding or decoding image by using blocks determined by means of adaptive order
CN202111271439.4A CN113794879B (zh) 2015-05-12 2016-05-10 视频编码方法、视频解码方法以及计算机可读介质
CN202111271353.1A CN113891073B (zh) 2015-05-12 2016-05-10 视频编码方法、视频解码方法以及计算机可读介质
KR1020227006718A KR102474249B1 (ko) 2015-05-12 2016-05-10 적응적인 순서로 결정되는 블록을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
US15/573,216 US10785476B2 (en) 2015-05-12 2016-05-10 Method and device for encoding or decoding image by using blocks determined by means of adaptive order
CN201680027693.0A CN107637077B (zh) 2015-05-12 2016-05-10 视频编码方法、视频解码方法以及计算机可读介质
US16/939,730 US11956419B2 (en) 2015-05-12 2020-07-27 Method and device for encoding or decoding image by using blocks determined by means of adaptive order
US16/939,642 US11962752B2 (en) 2015-05-12 2020-07-27 Method and device for encoding or decoding image by using blocks determined by means of adaptive order
US17/696,514 US11973934B2 (en) 2015-05-12 2022-03-16 Method and device for encoding or decoding image by using blocks determined by means of adaptive order
US17/696,519 US11973935B2 (en) 2015-05-12 2022-03-16 Method and device for encoding or decoding image by using blocks determined by means of adaptive order
US17/696,512 US11956422B2 (en) 2015-05-12 2022-03-16 Method and device for encoding or decoding image by using blocks determined by means of adaptive order

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562160247P 2015-05-12 2015-05-12
US62/160,247 2015-05-12

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US15/573,216 A-371-Of-International US10785476B2 (en) 2015-05-12 2016-05-10 Method and device for encoding or decoding image by using blocks determined by means of adaptive order
US16/939,642 Continuation US11962752B2 (en) 2015-05-12 2020-07-27 Method and device for encoding or decoding image by using blocks determined by means of adaptive order
US16/939,730 Continuation US11956419B2 (en) 2015-05-12 2020-07-27 Method and device for encoding or decoding image by using blocks determined by means of adaptive order

Publications (1)

Publication Number Publication Date
WO2016182298A1 true WO2016182298A1 (ko) 2016-11-17

Family

ID=57249199

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/004839 WO2016182298A1 (ko) 2015-05-12 2016-05-10 적응적인 순서로 결정되는 블록을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치

Country Status (5)

Country Link
US (6) US10785476B2 (ko)
EP (2) EP3661202A1 (ko)
KR (5) KR102370375B1 (ko)
CN (5) CN113794879B (ko)
WO (1) WO2016182298A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3352460A4 (en) * 2015-11-24 2019-02-27 Samsung Electronics Co., Ltd. VIDEO CODING METHOD AND DEVICE AND CODING METHOD AND DEVICE THEREFOR
CN110495173A (zh) * 2017-03-31 2019-11-22 明达半导体股份有限公司 用于执行编码树单元和编码单元的处理的图像处理方法、使用该方法的图像解码和编码方法及其装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2021012481A (es) * 2016-03-16 2022-05-30 Hfi Innovation Inc Metodo y aparato de procesamiento de datos de video con tama?o restringido de bloque en codificacion de video.
US11445187B2 (en) * 2018-02-28 2022-09-13 Sharp Kabushiki Kaisha Systems and methods for partitioning regions of a picture for video coding using different coding unit sizes
WO2020094154A1 (en) * 2018-11-09 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Improvements for region based adaptive loop filter
BR112021022307A2 (pt) * 2019-05-13 2021-12-28 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processamento de dados de vídeo, meios de armazenamento e de gravação não transitórios legíveis por computador
CN117354528A (zh) 2019-05-22 2024-01-05 北京字节跳动网络技术有限公司 基于子块使用变换跳过模式

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120163455A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Mode dependent scanning of coefficients of a block of video data
WO2012096539A2 (ko) * 2011-01-13 2012-07-19 삼성전자 주식회사 선택적 스캔 모드를 이용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
KR20130085391A (ko) * 2012-01-19 2013-07-29 삼성전자주식회사 계층적 부호화 단위에 따라 스캔 순서를 변경하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US20150023406A1 (en) * 2012-01-30 2015-01-22 Samsung Electronics Co., Ltd. Method and apparatus for video encoding for each spatial sub-area, and method and apparatus for video decoding for each spatial sub-area
KR20150034675A (ko) * 2012-06-26 2015-04-03 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724818B1 (en) 2000-07-17 2004-04-20 Telefonaktiebolaget Lm Ericsson (Publ) Alternative block orders for better prediction
KR101456498B1 (ko) * 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101495724B1 (ko) * 2010-02-02 2015-02-25 삼성전자주식회사 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
DE102010014559A1 (de) * 2010-04-10 2011-10-13 Audi Ag Luftfeder
EP2547107A4 (en) * 2010-04-13 2014-07-02 Samsung Electronics Co Ltd VIDEO ENCODING METHOD AND VIDEO ENCODING APPARATUS BASED ON CODING UNITS DETERMINED ACCORDING TO ARBORESCENT STRUCTURE, AND VIDEO DECODING METHOD AND VIDEO DECODING APPARATUS BASED ON ENCODING UNITS DETERMINED ACCORDING TO ARBORESCENT STRUCTURE
RU2607257C2 (ru) * 2010-08-17 2017-01-10 Самсунг Электроникс Ко., Лтд. Способ и устройство кодирования видео, использующие блок преобразования переменной древовидной структуры, и способ и устройство декодирования видео
TW201218773A (en) * 2010-10-29 2012-05-01 Altek Corp Image compression method
US8654860B2 (en) * 2010-11-01 2014-02-18 Mediatek Inc. Apparatus and method for high efficiency video coding using flexible slice structure
US20120106622A1 (en) 2010-11-03 2012-05-03 Mediatek Inc. Method and Apparatus of Slice Grouping for High Efficiency Video Coding
CN107105281B (zh) * 2010-12-14 2019-11-12 M&K控股株式会社 用于解码运动画面的设备
CN102595123B (zh) * 2011-01-14 2014-06-04 华为技术有限公司 条带编码方法及装置、条带解码方法及装置
CN107277539B (zh) * 2011-05-27 2020-11-06 寰发股份有限公司 减少用于上下文自适应熵解码中的行缓存的方法及装置
US20130003857A1 (en) * 2011-06-29 2013-01-03 General Instrument Corporation Methods and system for using a scan coding pattern during inter coding
US20130016769A1 (en) * 2011-07-17 2013-01-17 Qualcomm Incorporated Signaling picture size in video coding
WO2013077660A1 (ko) * 2011-11-24 2013-05-30 에스케이텔레콤 주식회사 세밀한 예측 단위를 사용하는 효과적인 부호화/복호화 방법 및 장치
KR102072124B1 (ko) 2011-11-24 2020-02-04 에스케이텔레콤 주식회사 세밀한 예측 단위를 사용하는 효과적인 부호화/복호화 방법 및 장치
US20130188719A1 (en) * 2012-01-20 2013-07-25 Qualcomm Incorporated Motion prediction in svc using motion vector for intra-coded block
CN104396261B (zh) * 2012-04-16 2018-01-23 三星电子株式会社 使用高速边缘检测的视频编码方法和装置以及相关视频解码方法和装置
US9485515B2 (en) * 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
KR102088801B1 (ko) * 2013-03-07 2020-03-13 삼성전자주식회사 가변블록 사이즈 코딩 정보를 이용한 관심영역 코딩 방법 및 장치
KR102088383B1 (ko) * 2013-03-15 2020-03-12 삼성전자주식회사 비디오의 부호화 방법 및 장치, 비디오의 복호화 방법 및 장치
CN104853196B (zh) * 2014-02-18 2018-10-19 华为技术有限公司 编解码方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120163455A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Mode dependent scanning of coefficients of a block of video data
WO2012096539A2 (ko) * 2011-01-13 2012-07-19 삼성전자 주식회사 선택적 스캔 모드를 이용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
KR20130085391A (ko) * 2012-01-19 2013-07-29 삼성전자주식회사 계층적 부호화 단위에 따라 스캔 순서를 변경하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US20150023406A1 (en) * 2012-01-30 2015-01-22 Samsung Electronics Co., Ltd. Method and apparatus for video encoding for each spatial sub-area, and method and apparatus for video decoding for each spatial sub-area
KR20150034675A (ko) * 2012-06-26 2015-04-03 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3352460A4 (en) * 2015-11-24 2019-02-27 Samsung Electronics Co., Ltd. VIDEO CODING METHOD AND DEVICE AND CODING METHOD AND DEVICE THEREFOR
EP3840379A1 (en) * 2015-11-24 2021-06-23 Samsung Electronics Co., Ltd. Video decoding method and device, and encoding method therefor
CN110495173A (zh) * 2017-03-31 2019-11-22 明达半导体股份有限公司 用于执行编码树单元和编码单元的处理的图像处理方法、使用该方法的图像解码和编码方法及其装置
CN110495173B (zh) * 2017-03-31 2023-09-15 明达半导体股份有限公司 用于执行编码树单元和编码单元的处理的图像处理方法、使用该方法的图像解码和编码方法及其装置

Also Published As

Publication number Publication date
KR102660094B1 (ko) 2024-04-23
US20200359012A1 (en) 2020-11-12
EP3270590A4 (en) 2018-02-21
EP3270590A1 (en) 2018-01-17
KR20230125351A (ko) 2023-08-29
US20180139441A1 (en) 2018-05-17
CN113891073A (zh) 2022-01-04
KR20220162889A (ko) 2022-12-08
US20220279164A1 (en) 2022-09-01
KR102370375B1 (ko) 2022-03-04
CN113794880A (zh) 2021-12-14
US11956419B2 (en) 2024-04-09
US11973935B2 (en) 2024-04-30
US20200359013A1 (en) 2020-11-12
KR20220029785A (ko) 2022-03-08
CN107637077A (zh) 2018-01-26
US10785476B2 (en) 2020-09-22
US11962752B2 (en) 2024-04-16
KR20180006908A (ko) 2018-01-19
CN113794879B (zh) 2023-04-18
KR102570564B1 (ko) 2023-08-24
CN113794880B (zh) 2023-04-14
CN113810688B (zh) 2023-07-18
KR102474249B1 (ko) 2022-12-05
CN107637077B (zh) 2021-11-12
CN113891073B (zh) 2023-04-18
KR20240056657A (ko) 2024-04-30
US20220210406A1 (en) 2022-06-30
EP3661202A1 (en) 2020-06-03
CN113810688A (zh) 2021-12-17
US20220210405A1 (en) 2022-06-30
US11956422B2 (en) 2024-04-09
CN113794879A (zh) 2021-12-14
US11973934B2 (en) 2024-04-30

Similar Documents

Publication Publication Date Title
WO2013002556A2 (ko) 인트라 예측을 수반한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2011049397A2 (en) Method and apparatus for decoding video according to individual parsing or decoding in data unit level, and method and apparatus for encoding video for individual parsing or decoding in data unit level
WO2015093890A1 (ko) 인트라 예측을 수반한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2012023796A2 (ko) 가변적 트리 구조의 변환 단위를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법 및 그 장치
WO2013002554A2 (ko) 픽셀 분류에 따른 오프셋 조정을 이용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2017086746A1 (ko) 화면내 예측 모드 부호화/복호화 방법 및 장치
WO2016200100A1 (ko) 적응적 가중치 예측을 위한 신택스 시그널링을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
WO2011019249A2 (en) Video encoding method and apparatus and video decoding method and apparatus, based on hierarchical coded block pattern information
WO2017188780A2 (ko) 영상 신호 부호화/복호화 방법 및 장치
WO2016182298A1 (ko) 적응적인 순서로 결정되는 블록을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
WO2011049396A2 (en) Method and apparatus for encoding video and method and apparatus for decoding video, based on hierarchical structure of coding unit
WO2013002619A2 (ko) 고정소수점 변환을 위한 비트뎁스 조절을 수반하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2012005520A2 (en) Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging
WO2011019253A4 (en) Method and apparatus for encoding video in consideration of scanning order of coding units having hierarchical structure, and method and apparatus for decoding video in consideration of scanning order of coding units having hierarchical structure
WO2018097626A1 (ko) 비디오 신호 처리 방법 및 장치
WO2013002555A2 (ko) 산술부호화를 수반한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2011087295A2 (en) Method and apparatus for encoding and decoding video by using pattern information in hierarchical data unit
WO2012096539A2 (ko) 선택적 스캔 모드를 이용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2014003423A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2012043989A2 (ko) 블록 분할 방법 및 복호화 장치
WO2011087320A2 (ko) 예측 부호화를 위해 가변적인 파티션을 이용하는 비디오 부호화 방법 및 장치, 예측 부호화를 위해 가변적인 파티션을 이용하는 비디오 복호화 방법 및 장치
WO2011126283A2 (en) Method and apparatus for encoding video based on internal bit depth increment, and method and apparatus for decoding video based on internal bit depth increment
WO2012093890A2 (ko) 양방향 예측 및 단일방향 예측이 가능한 비디오 예측 방법 및 그 장치, 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2016182266A1 (ko) 영상의 부호화, 복호화 방법 및 장치
WO2015137785A1 (ko) 샘플값 보상을 위한 영상 부호화 방법과 그 장치, 및 샘플값 보상을 위한 영상 복호화 방법과 그 장치

Legal Events

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

Ref document number: 16792944

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2016792944

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20177032505

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15573216

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE