Patent ID: 12212739

BEST MODE FOR CARRYING OUT THE INVENTION

Terms used throughout the present specification are used to appropriately describe exemplary embodiments of the present invention, and thus may be different depending upon a user and an operator's intention, or practice of application fields of the present invention. Therefore, the terms must be defined based on descriptions made through the present invention.

Although a few exemplary embodiments of the present invention have been shown and described, the present invention is not limited to the described exemplary embodiments, wherein like reference numerals refer to the like elements throughout.

When a plurality of neighboring blocks among neighboring blocks of a coding target block in a inter slice is intra-coded, spatial redundancy may be determined to be greater than temporal redundancy due to local characteristics of pictures. In this case, it may be more effective that the coding target block is intra-coded, and a video compression performance may be improved through this intra-coding.

Accordingly, when the spatial redundancy is greater than the temporal redundancy due to the local characteristics of the pictures in the inter slice, an adaptive intra-coding that depends upon a coding parameter of a neighboring block may be performed.

FIG.1is a flowchart illustrating a video coding method according to an embodiment of the present invention.

The video coding method may be used for coding a block within a slice. Hereinafter, a block to be a target of coding may be referred to as a current block, and a slice including the current block may be referred to as a current slice.

In embodiments of the present invention, the block may denote a unit of video coding and decoding.

In the video coding and decoding, the unit of the coding or the decoding may denote a segmented unit, when coding or decoding is performed, obtained by dividing a single picture into segmented blocks. Accordingly, the unit of the coding or the decoding may be referred to as a block, a macro block, a coding unit, a prediction unit, or the like. A single block may be further divided into lower blocks having a smaller size than that of the single block.

First, the current slice may include a plurality of blocks. Within the current slice, at least one reconstructed block may exist. The reconstructed block may be a block having been already reconstructed through operations S110to S140, which will be described in detail. When the current block is reconstructed through the operations S110to S140, which will be described, the current block may be one of the reconstructed blocks, for a next block which is a target of coding.

Thereafter, in operation S110, a referencing block for coding the current block may be determined.

At least one block, among the blocks of the current slice which have already been reconstructed, may be determined as the referencing block.

InFIG.2, an example of reconstructed blocks220within the current slice210, an example of a referencing block240which are selected from the reconstructed blocks, and a current block230are illustrated.

The referencing block may be determined based on pixel value similarity between blocks. The pixel value similarity may be measured by a measurement method of the pixel value similarity between blocks generally used in a video coding, such as a sum of absolute differences (SAD), a sum of absolute transformed difference (SATD), a sum of the squared differences (SSD), and the like. In this instance, a block having the highest pixel value similarity may be determined as the referencing block.

The pixel value similarity may be determined in a one-to-one scheme between the blocks. That is, the pixel value similarity may be determined in the one-to-one scheme between the reconstructed blocks and the current block.

The pixel value similarity may be determined in a one-to-many scheme between the blocks. A combination of weighted values of pixel values of the blocks and a different single block may become targets to be compared. That is, the pixel value similarity may be determined in a many-to-one scheme between the reconstructed blocks and the current block.

The pixel value similarity may be determined in a many-to-many scheme between the blocks. A combination of weighted values of pixel values of a plurality of blocks and a combination of weighted values of pixel values of a plurality of different blocks may become targets to be compared. That is, the pixel value similarity may be determined in the many-to-many scheme between the plurality of reconstructed blocks and the plurality of blocks including the current block.

The referencing block may be determined using coding parameter similarity between blocks.

The coding parameter may be information used for coding a picture, and may include respective examples with respect to an intra-prediction mode, an inter prediction mode, a motion vector, a reference picture index, a coded block pattern, a quantization parameter, a block size, block partition information, a macro block type, and the like, a statistical example, and a combined example thereof.

An inter coding mode and an inter prediction scheme may include a block matching algorithm, a P_SKIP mode, a B_SKIP mode, and a direct mode.

In this instance, the P_SKIP mode, the B_SKIP mode, and the direct mode may denote specific examples of methods in which motion information including the motion vector and a reference picture index is induced from an encoder and a decoder in the same manner when coding a specific block, and the induced motion information is used as motion information of a corresponding block. Embodiments of the present invention may be applied to a method in which motion information is induced from the encoder and the decoder in the same manner, and the motion information is used.

The intra-coding mode may include an intra 4×4 mode, an intra 8×8 mode, an intra 16×16 mode, and an intra 32×32 mode.

In this instance, the intra-coding mode may indicate a segmented size of an intra-coding block when performing an intra-coding. In the block having the respective segmented sizes, various intra-prediction schemes may be used.

The intra-prediction scheme may include a line prediction based on H.264/advanced video coding (AVC), a displaced intra-prediction (DIP), a template matching (TM), and a weighted line prediction.

An intra-prediction direction may include a line prediction direction based on the H.264/AVC and a weighted line prediction direction.

An inter macro block partition may indicate a size of a prediction block segmented when performing a prediction coding. The inter macro block partition may include 64×64, 64×32, 32×64, 32×32, 32×16, 16×32, 16×16, 16×8, 8×16, 8×8, 8×4, 4×8, and 4×4. The pixel value similarity may include a value measured by the SAD, the SATD, or the SSD.

The coding parameters within the referencing block may be directly used as a coding parameter of the current block to code the current block, or only a part thereof may be used.

Similarity of a coding parameter between the blocks may denote identity of a prediction type (for example, intra or inter), similarity of a prediction direction, similarity of a prediction mode, similarity of a block size, and the like. When using the same intra-prediction mode between blocks, or using motion vectors having a similar size, or using the same quantization parameter, the same block size, or the same block partition information, similarity of the coding parameter between the blocks may be determined to be high.

The similarity of the coding parameter between the blocks may be determined by a combination of at least one parameter among the coding parameters. Also, the referencing block may be determined using an equation calculated from the coding parameters of the plurality of selected referencing blocks.

A result obtained through the equation using the combination of the coding parameters of the selected referencing blocks may be determined as a coding parameter of a virtual block, and the virtual block may be determined as the referencing block.

To determine the referencing block, the current block and a block having a high similarity of a pixel value, from among the reconstructed blocks of the current slice, may be determined as the referencing block, so that a displaced inter-prediction scheme using the pixel value of the referencing block as the pixel value of the current block may be used.

To determine the referencing block, a template matching method in which a pixel value similarity between neighboring pixels of reconstructed blocks of the current slice and pixel values of reconstructed pixels, neighboring the current block, is discriminated to determine a block having a higher pixel value similarity compared to the referencing block, may be used.

When the DIP or the TM is used to predict a pixel value in the current slice through the intra-coding blocks, an intermediate value with respect to a displacement vector of the coding blocks through the DIP or the TM may be predicted, and a result of the prediction may be determined as a coding parameter of the virtual block.

When coding the current block, the DIP or the TM may be used directly, and the referencing block, among the reconstructed blocks, may be determined using the method above or the following method.

In addition, in a case where inter-coding blocks use a motion prediction(or, a block matching algorithm) of predicting a pixel value from the previous slice, when an intermediate value with respect to the motion vector of the coded block is predicted, a result obtained through the prediction of the intermediate value may be determined as the coding parameter of the virtual block. The virtual block may be determined as the referencing block.

The referencing block may be determined in accordance with an absolute position within a picture, and or determined in accordance with a relative position with respect to the current block.

When the referencing block is determined, in accordance with the relative position with respect to the current block, a decoded block most adjacent to the current block may be determined as the referencing block. In this instance, as the referencing block with respect to the current block, at least one block among the decoded blocks most adjacent to the current block may be determined as the referencing block.

For example, the relative position with respect to the current block may denote a position of the reconstructed block adjacent to the current block. That is, a reconstructed block abutting a boundary of the current block may be referred to as an adjacent reconstructed block.

InFIG.4, an example of reconstructed blocks420within a current slice410, an example of a referencing block440among the reconstructed blocks420, and a current block430are illustrated.

InFIG.5, an example of reconstructed blocks520within a current slice510, an example of a plurality of referencing blocks540among the reconstructed blocks520, and an example of a single referencing block550among the plurality of referencing blocks540and a current block530are illustrated.

In addition, when the referencing block is determined, in accordance with the relative position with respect to the current block, a reconstructed block to which a block position within a picture corresponds may be determined as the referencing block.

In this instance, when a current block position within a picture and a referencing block position within a previously reconstructed picture are the same, the block positions within the picture of the both blocks may correspond to each other. When the referencing block within the previously reconstructed picture has the same block position as that of the current block, the referencing block within the previously reconstructed picture may be referred to as a collocated block.

InFIG.6, an example of a current block630within a current picture610, and an example of reconstructed blocks640within a previously reconstructed picture620and a referencing block650are illustrated.

The relative position may be fixed within a single slice, or changed. The relative position may be changed in a slice unit.

The referencing block may be determined using at least one of the above described pixel value similarity, the coding parameter similarity, the calculated equation, the absolute position, and the relative position.

When an adaptive skip mode is used, a block existing in a specific relative position with respect to the current block may be determined as the referencing block. In this instance, based on correlation within a picture, a decoded block most adjacent to the current block may be determined as the referencing block.

Next, in operation S120, a coding parameter of the referencing block may be discriminated.

First, whether the referencing block is intra-coded or inter-coded may be determined.

When a single block is determined as the referencing block in operation S110of the determining of the referencing block, only a coding parameter of the block may be discriminated, and when a plurality of blocks are determined as the referencing block, the same coding parameter or a similar coding parameter among the referencing blocks may be discriminated.

When the referencing block is intra-coded, an intra-coding mode, a luminance intra-prediction direction, a luminance intra-prediction scheme, a chrominance intra-prediction direction, a chrominance intra-prediction scheme, a transform method, a displaced vector, a coded block pattern, presence and absence of a residual signal, a coefficient scan method, and the like may be included as a coding parameter to be coded.

When the referencing block is inter-coded, an inter coding mode, an inter macro block partition, a motion vector, a reference picture list, a reference picture list, a prediction direction, an adaptive interpolation filter, presence and absence of a residual signal, a coefficient scan method, and the like may be included as the coding parameter to be discriminated.

In operation S110of determining of the referencing block, when the referencing block is determined by a relative position or an absolute position within a picture, a part of the referencing block may be positioned outside a boundary of a picture or a slice. The referencing block positioned outside the boundary may be excluded from the discriminating of the coding parameter.

When a specific coding method is used, operation S120of the discriminating of the coding parameter may be omitted.

For example, when a coding method performed by excluding only motion information is applied to the current block, operation S120of the discriminating of the coding parameter may be omitted. (Otherwise, in operation S120of discriminating of the coding parameter, motion information of the referencing block may be determined as the coding parameter of the referencing block).

In addition, to code the current block, when the referencing block is determined in operation S110, the motion information of the referencing block may be applied to the current block, whereby the current block may be coded in operation S140.

Whether the determined referencing blocks are intra-coded or inter-coded in an adaptive skip mode may be discriminated, whether the determined referencing blocks exist outside a boundary of a picture and a slice may be discriminated, and then a coding parameter of the referencing block may be discriminated.

Next, in operation S130, characteristics of the referencing block may be discriminated based on the coding parameter of the referencing block.

When a spatial redundancy of the characteristics of the referencing block is discriminated to be higher a temporal redundancy, the current block may be adaptively coded based on the coding parameter.

When a plurality of neighboring blocks of the current block in an inter slice are intra-coded, the spatial redundancy may be determined to be higher than the temporal redundancy due to local characteristics of a picture.

When a specific coding method is used, operation S130of discriminating of the characteristics of the referencing block may be omitted.

For example, when the coding method performed by excluding only the motion information is applied to the current block, operation S120of discriminating of the coding parameter and operation S130of discriminating of the characteristics of the referencing block may be omitted. When the referencing block is determined to code the current block in operation S110, the current block may be coded by applying the motion information of the referencing block to the current block in operation S140.

Next, the current block may be adaptively coded using the discriminated coding parameter of the referencing block in operation S140.

A specific coding or decoding may be performed on specific signaling information in accordance with the parameter, or the signaling information may be defined as a specific semantic.

For example, when having a coding parameter in which at least one of referencing blocks A, A′, and A″ satisfies a condition B, a syntax C of the current block may be defined to have a semantic D, or to perform a decoding process E. When having a coding parameter in which at least one of referencing blocks A, A′, and A″ satisfies a condition B′, the syntax C of the current block may be determined to have a semantic D′ or to perform a decoding process E′. In this case, the syntax may be a factor of a bit stream, and denote a syntax element or a sentence element.

When the referencing block is intra-coded, only the intra-coding may be performed on the current block. The syntax required for inter-coding and the semantic and decoding process may be used to intra-coding.

An example of an intra-coding of the current block in accordance with the coding parameter of the referencing block will be described in the following Table 1.

TABLE 1Coding parameter ofreferencing blockCoding of current blockIntra-coding modeSyntax required for inter-coding is used toincrease and signal an intra-coding mode.Semantic is defined as semantic withrespect to intra-coding and decoding processis defined as decoding process with respectto the intra-coding mode.Syntax required for inter-coding is used toincrease and signal intra macro blockpartition. Semantic is defined assemantic with respect to intra macro blockpartition, and decoding process is definedas decoding process with respect to macroblock partition.Syntax required for inter coding is used toincrease and signal intra-predictiondirection. Semantic is defined assemantic with respect to intra-predictiondirection, and decoding process is definedas decoding process with respect to theintra-prediction direction.When a referencing block is intra-coded,current block is coded to an intra-codingmode of the referencing block inaccordance with the intra-coding mode ofthe referencing block. When a currentblock is coded to the intra-coding mode ofthe referencing block, the intra-codingmode of the referencing block is used asthe intra-coding mode of the current block.Accordingly, intra-coding mode of currentblock may not be signaled to a decoder,thereby improving coding performance.Luminance andWhen a referencing block is intra-coded,chrominancecoding may be performed to have aintra-predictionluminance intra-prediction direction of thedirectionreferencing bock, or the coding may beperformed to have the luminance intra-prediction direction similar to the intra-prediction direction of referencing block.When coding current block to have theluminance intra-prediction direction ofreferencing block, the luminance intra-prediction direction of the referencingblock are used as the intra-predictiondirection. Accordingly, the luminanceintra-prediction direction the current blockare not signaled to a decoder, therebyimproving coding performance.Residual signalWhen a residual signal of a referencingblock is not coded, the residual signal of acurrent block may not be coded. Bitrequired for coding a coded block pattern(CBP), that is, syntax may be saved. Inthis instance, based on whether to code theresidual signal of the referencing block,the CBP of current block is not signaled,and the residual signal is not signaled,thereby improving coding performance ofthe current block.

When the intra-coding method of the current block, in accordance with the coding parameter of the referencing block, is used in an encoder, a decoder may deduct the omitted coding parameter information from the referencing block, and the coding parameter information omitted from the current block may be appropriately used, by applying the deducted information to a current coding target block. In this instance, a decoder may transmit, to the decoder, a referencing block identifier, indicating that which referencing block is selected, as necessary, and may deduct the omitted coding parameter information from a corresponding referencing block.

InFIG.7, an example of an intra-coding of the current block in accordance with luminance and chrominance intra-prediction direction of the referencing block is illustrated.

InFIG.8, an example of an intra-coding of the current block, in accordance with presence and absence of a residual signal of the referencing block, is illustrated.

When the referencing block is inter-coded, only an inter-coding may be performed on the current block. A syntax, a semantic, and a decoding process which are required for the intra-coding may be used for the inter-coding.

An example of the inter-coding of the current block, in accordance with the coding parameter of the referencing block, is illustrated in the following Table 2.

TABLE 2Codingparameter ofreferencingblockCoding of current blockInter-codingSyntax required for intra-coding is used to increasemodeand signal inter-coding mode. A semantic is definedas a semantic with respect to inter coding mode, and adecoding process is defined as the decoding processwith respect to the inter-coding mode.A syntax required for the intra-coding is used toincrease and signal inter-macro block partition. Thesemantic is defined as the semantic with respect to theinter-macro block partition, and the decoding processis defined as the decoding process with respect to themacro block partition.The syntax required for the intra-coding is used toincrease and the signal inter-prediction scheme. Thesemantic is defined as the semantic with respect to theinter-prediction scheme, and the decoding process isdefined as the decoding process with respect to theinter-prediction scheme.When a referencing block is inter-coded, a currentblock is coded to the inter-coding mode of thereferencing block in accordance with the inter-codingmode of the referencing block. When coding thecurrent block to the inter-coding mode of thereferencing block, the inter-coding mode of thereferencing block is used as the inter-coding mode ofthe current block. Accordingly, the inter-codingmode of the current block may not be signaled to adecoder, thereby improving coding efficiency.When the referencing block is inter-coded, the currentblock is coded to the inter macro block partition of thereferencing block in accordance with the inter macroblock partition of the referencing block. Also, thecurrent block may be coded only to the inter macroblock partition, having a macro block partition similarto the inter macro block partition. When the currentblock is coded to the inter macro block partition of thereferencing block, the inter macro block partition ofthe referencing block is used as the inter macro blockpartition of the current block. Accordingly, the intermacro block partition of the current block may not besignaled to the decoder, thereby improving codingefficiency.MotionWhen the referencing block is inter-coded, the currentvectorblock is coded to a motion vector of the referencingblock in accordance with the motion vector of thereferencing block. Also, the current block may becoded only to the motion vector (that is, a sizedifference between both the motion vectors is notgreat) similar to the motion vector. When the currentblock is coded to the motion vector of the referencingblock, the motion vector of the referencing block isused as the motion vector of the referencing block.Accordingly, the motion vector of the current blockmay not be signaled to a decoder, thereby improvingcoding efficiency.ReferenceWhen a referencing block is inter-coded, a currentpicture indexblock is coded to a reference picture index of thereferencing block in accordance with the referencepicture index of the referencing block. Also, thecurrent block may be coded only to the referencepicture index (that is, the size difference between thereference picture indices is not great) similar to thereference picture index. When the current block iscoded to the picture index of the referencing block, thereference picture index of the referencing block is usedas the reference picture index of the current block.Accordingly, the reference picture index of the currentblock is not signaled to a decoder, thereby improvingcoding efficiency.ReferenceWhen a referencing block is inter-coded, a currentpicture listblock is coded to a reference picture list in accordancewith a reference picture list of the referencing block.When the current block is coded to the referencepicture list in accordance with the reference picture listof the referencing block. When the current block iscoded to the reference picture list of the referencingblock, the reference picture list of the referencingblock is used as the reference picture list of the currentblock. Accordingly, the reference picture list of thecurrent block may not be signaled, thereby improvingcoding efficiency.PredictionWhen a referencing block is inter-coded, a currentdirectionblock is coded in a prediction direction of areferencing block in accordance with a predictiondirection of the referencing block. When the currentblock is coded in the prediction direction of thereferencing block, the prediction direction of thereferencing block is used as the prediction direction ofthe referencing block. Accordingly, the predictiondirection of the current block may not be signaled toa decoder, thereby improving coding efficiency.InterpolationWhen a referencing block performs motionfilerprediction/interpolation of a referencing block using aspecific interpolation filter, a motionprediction/interpolation of a current block is performedusing a corresponding interpolation filter inaccordance with a form and a type of an interpolationfilter of the referencing block, and coding may beperformed.ResidualWhen a residual signal of a referencing block is notsignalcoded, the residual signal of the current block may notbe coded. Bit required for coding a CBP, that is,syntax may be saved. In this instance, with respect tocurrent block, the CBP of the current block may not besignaled in accordance with whether to perform codingof the residual signal of the referencing block, and theresidual signal is not coded, thereby improving codingefficiency.

When an encoder uses an inter-coding method of the current block, in accordance with a coding parameter of the referencing block, a decoder may deduct the omitted coding parameter information from the referencing block. The decoder may appropriately use the coding parameter information omitted from the current block by applying the deducted information from the current decoding target block.

In this instance, as necessary, the encoder may transmit to the decoder, a reference block identifier (or including information about which referencing block is selected) indicating which referencing block is selected. By using the reference block identifier, the decoder may deduct the omitted coding parameter information from the identified referencing block.

InFIG.9, an example of an inter-coding of the current block, in accordance with an inter macro block partition of the referencing block, is illustrated.

InFIG.10, an example of an inter-coding of the current block, in accordance with a motion vector of the referencing block, is illustrated.

InFIG.11, an example of an inter-coding of the current block, in accordance with the reference picture index of the referencing block, is illustrated.

InFIG.12, an example of an inter-coding of the current block, in accordance with the prediction direction of the referencing block, is illustrated.

InFIG.13, an example of an inter-coding of the current block, in accordance with a prediction direction of the referencing block, is illustrated.

A linear combination of pixel values within the referencing blocks may be used as the prediction block of the current block.

When having a coding parameter in which at least one of referencing blocks A, A′, and A″ satisfies a condition B, a prediction block G of the current block may be generated by a linear combination according to the following Equation 1.
G=a*F+b*F′Equation 1

Here, the prediction block F may be a pixel value of the referencing block. The prediction block F may be a prediction block generated by a coding parameter of the current block. In this instance, each of a and b is a weight.

In accordance with a reconstructed pixel value of the referencing block and a coding parameter of the current block, a prediction block G may be generated by a sum of weights. The generated prediction block G may be used as the prediction block of the current block.

A limited candidate mode set may be used as a parameter capable of coding the current block. When having a coding parameter in which at least one of referencing blocks A, A′, and A″ satisfies a condition B, a parameter capable of coding the current block may be limited as a candidate mode set C. The above set may include a macro block type, a sub macro block type, an inter macro block partition, a motion vector, a reference picture index, a reference picture list, a prediction direction, and the like.

For example, when the referencing block is intra-coded, and the current block is intra-coded, the coding parameter of the current block may be limited as a coding parameter within a picture.

The limitation may eliminate a syntax, a semantic, and a decoding process which are used for an inter-coding parameter, thereby improving coding efficiency.

A coding mode of the current block may be determined as an optimum coding mode in accordance with competition.

For example, when having a coding parameter in which at least one of referencing blocks A, A′, and A″ satisfies a condition B, the current block may be coded to an optimized coding mode determined through competition in a rate-distortion optimization view, a distortion view, and a rate view between modes adaptively coded in accordance with 1) a syntax, a semantic, and a decoding process of an existing coding parameter and 2) the referencing block.

In addition, competition between a mode that is adaptively coded in accordance with the coding parameter of the referencing block and a mode that is not adaptively coded may be performed A coding mode of the current block may be selected through the competition.

In this case, additional coding scheme indicator and a syntax with respect to whether the current block is coded to the first coding mode (that is, adaptive coding mode in accordance with a coding parameter of the referencing block) or to the second coding mode (that is, non-adaptive coding mode) may be transmitted to the decoder. The decoder may decode the current block to an appropriate mode using the transmitted additional coding scheme indicator and the syntax.

That is, either an adaptive coding method using the coding parameter of the referencing block or a non-adaptive coding method without using the coding parameter of the referencing block which is suitable for the coding may be selected. Information about the selected method (that is, coding mode) may be signaled to the decoder.

For example, a coding scheme showing a minimum rate-distortion cost in a view of the rate-distortion may be selected in the encoder. In addition, so that the selected coding scheme is decoded in the decoder, a coding scheme indicator with respect to the selected coding scheme may be transmitted to the decoder.

The coding mode of the current block may have an additional syntax, a semantic, and a decoding process in accordance with a condition of a coding parameter of the referencing block.

For example, when having a coding parameter in which at least one of the referencing blocks A, A′, and A″ satisfies a condition B, the coding mode of the current block may have an additional syntax C, a semantic D with respect to C, and a decoding process E with respect to the C.

The coding mode of the current block may have an additional syntax, a semantic, and a decoding process, regardless of the coding parameter of the referencing block.

For example, regardless of the coding parameter of the referencing block, the coding mode of the current block may have the additional syntax C, the semantic D with respect to C, and a decoding process E with respect to C.

When the coding mode of the current block is coded in a skip scheme, an example of a prediction method of an inter-prediction block is illustrated in the following Table 3.

TABLE 3parameterUsage method of prediction blockReference pictureA Syntax, a semantic, and a decodingindexprocess with respect to a reference pictureindex are added to a coding mode of acurrent block, and an inter-predictionblock is predicted from a referencingblock. In accordance with a referencepicture index of any one of the referencingblocks, and the inter-prediction block maybe predicted from a referencing picture bya reference picture index of thereferencing block.Motion vectorA Syntax, a semantic, and a decodingprocess with respect to a motion vector areadded to a coding mode of a current block,and an inter-prediction block is predictedfrom the motion vector.

Accordingly, when the current block is included in an inter slice, and at least one of the referencing blocks is intra-coded, the coding mode of the current block is an inter-coding mode, however, has the motion vector and the reference picture index. In this case, the prediction block of the current block may be generated by a sum of 1) weights of intra-prediction blocks generated from an intra-coding parameter of the current block and 2) weights of inter-prediction blocks generated from the motion vector and the reference picture index among inter-coding parameters of the current block.

In a case where the adaptive skip mode is used, when the current block is coded to a P_SKIP mode, a B_SKIP mode, or a direct mode in an inter slice, the current block may be adaptively coded in accordance with a coding parameter of the referencing block.

For example, a part or whole of the referencing block is intra-coded, an example of the coding method of the current block is illustrated in the following Table 4.

TABLE 4Parameter ofUsage method of prediction blockcurrent blockCoding modeA coding mode of a current block issignaled to a P_SKIP mode or a B_SKIPmode, however, an intra-coding mode of areferencing block is directly used, and anintra-coding mode most similar to an intra-coding mode of a referencing block.The coding mode of the current block issignaled to the P_SKIP mode or to theB_SKIP mode, however, the current blockis intra-coded using a reconstructed pixelof the referencing block.Intra-predictionA coding mode of a current block isdirectionsignaled to a P_SKIP mode or a B_SKIPmode, however, an intra-predictiondirection of the current block is directlyused as an intra-prediction direction of areferencing block, and otherwise aprediction direction most similar to theintra-prediction direction of thereferencing block may be used.Residual signalA coding mode of a current block issignaled to a P_SKIP mode or a B_SKIPmode, however, a residual signal of acurrent block is coded or is not coded inaccordance with the presence or absenceof the residual signal of the referencingblock

FIG.2is a diagram illustrating reconstructed blocks within a current slice, and a referencing block and a current block selected from the reconstructed blocks.

The reconstructed blocks220within the current slice210, and the referencing block240and the current block230selected from the reconstructed blocks220are illustrated.

FIG.3is a diagram illustrating a video coding device according to an embodiment of the present invention.

The video coding device300may include a control unit310, a storage unit320, and a buffer330.

The control unit310may receive, from the buffer330and the storage unit320, a slice and data with respect to blocks within the slice. The control unit310may perform determining of the referencing block, discriminating of the coding parameter of the referencing block, discriminating of characteristics of the referencing block, and an adaptive coding of the current block. The control unit310may store, in the storage unit320, data required for performing the determining, the discriminating, and the coding.

The storage unit320may receive, from the control unit310, data required for operating the control unit310. The storage unit320may transmit, to the control unit310, the stored data in response to a request of the control unit310.

In addition, the buffer330may receive the slice and the data with respect to the blocks within the slice from the outside, and store the received data.

The device is not limited only to the coding method, and may be applied to an adaptive decoding method in accordance with the coding method using the coding operations in the decoder having the same purpose as that of the coding process.

FIG.4is a diagram illustrating reconstructed blocks within a current slice, a referencing block among the reconstructed blocks and a current block according to an embodiment of the present invention.

Reconstructed blocks420within the current slice410, a referencing block440among the reconstructed blocks420, and a current block430are illustrated.

FIG.5is a diagram illustrating reconstructed blocks within a current slice, a plurality of referencing blocks among the reconstructed blocks, and a single referencing block among the plurality of referencing blocks and a single current block are illustrated.

Reconstructed blocks520within a current slice510is illustrated, and a plurality of referencing blocks540among the reconstructed blocks520are illustrated. In addition, a single referencing block550among the plurality of referencing blocks540and a single current block530are illustrated.

FIG.6is a diagram illustrating a current block within a current picture, reconstructed blocks within a previously reconstructed picture, and a referencing block.

A current block630within a current picture610, and reconstructed blocks640within a previously reconstructed picture620are illustrated. In addition, a referencing block650among the reconstructed blocks640, the current block630.

FIG.7is a diagram illustrating coding within a picture of a current block in accordance with a luminance and chrominance intra-prediction direction of a referencing block according to an embodiment of the present invention.

Reconstructed blocks720within a current slice710, referencing blocks730and732among the reconstructed blocks720, and a current block740are illustrated.

Luminance and chrominance intra-prediction directions750and752of the referencing blocks730and732are illustrated, and a luminance and chrominance intra-prediction direction760of the current block740are illustrated.

A luminance and chrominance intra-prediction direction752of an upper block732among the referencing blocks730and732may be used as a luminance and chrominance intra-prediction direction760of the current block740. That is, the current block740may be coded in accordance with the luminance and chrominance intra-prediction direction752of the upper block732.

A luminance and chrominance intra-prediction direction760may not be transmitted to the decoder. In this instance, information indicating that a referencing block of the current block740, in the upper block752, may be transmitted to the decoder through a reference block identifier. The decoder may identify information indicating that the upper block732is the referencing block of the current block740.

FIG.8is a diagram illustrating an example of an intra-coding of a current block in accordance with the presence and absence of a residual signal of a referencing block according to an embodiment of the present invention.

Reconstructed blocks820within a current slice810, referencing blocks830and832among the reconstructed blocks820, a current block840, presence and absence850and852of a residual signal of the referencing blocks830and832, and presence and absence860of a residual signal of the current block are illustrated.

Residual signals of all of the referencing blocks830and832may not be coded. Accordingly, the current block840does not have the residual signal. In addition, a CBP syntax of the current block840indicating the presence and absence of the residual signal may not be transmitted.

In this instance, when the residual signal exists, CBP=1, and when the residual signal does not exist, CBP=0.

When the CBP syntax is not transmitted, the decoder may infer that the residual signal does not exist. In addition, the encoder may transmit, to the decoder, information indicating which referencing blocks is used for the current blocks840through the reference block identifier.

FIG.9is a diagram illustrating an inter coding of a current block, in accordance with an inter macro block partition of a referencing block, according to an embodiment of the present invention.

Reconstructed blocks920within a current slice910, referencing blocks930and932among the reconstructed blocks920, a current block940, an inter macro block partition950of the referencing block932, and an inter macro block partition960of the current block940are illustrated.

An inter macro block partition950of an upper block932among the referencing blocks930and932may be used as an inter macro block partition960of the current block940. That is, the current block940may be coded in accordance with an inter macro block partition950of the upper block932.

The inter macro block partition960of the current block940may not be transmitted to the decoder. Information indicating that the upper block932is the referencing block of the current block940may be transmitted to the decoder through the referencing block identifier. The decoder may identify information indicating that the upper block932is the referencing block of the current block940through the referencing block identifier.

FIG.10is a diagram illustrating an inter coding of a current block, in accordance with a motion vector of a referencing block, according to an embodiment of the present invention.

Reconstructed blocks1020within a current slice1010, referencing blocks1030and1032among the reconstructed blocks1020, a current block1040, a motion vector1050of the referencing block1032, and a motion vector1060of the current block1040are illustrated.

The motion vector1050of an upper block1032, among the referencing blocks1030and1032, may be used as a motion vector1060of the current block1040. That is, the current block1040may be coded in accordance with the motion vector1050of the upper block1032.

The motion vector1060of the current block1040may not be transmitted to the decoder. Information indicating that the upper block1032is the referencing block of the current block1040may be transmitted to the decoder through a referencing block identifier. The decoder may identify information indicating that the upper block1032is the referencing block of the current block1040through the referencing block identifier.

FIG.11is a diagram illustrating an inter coding of a current block in accordance with a reference picture index of a referencing block according to an embodiment of the present invention.

Reconstructed blocks1120within a current slice1110, referencing blocks1130and1132among the reconstructed blocks1120, a current block1140, a reference picture index1150of the referencing block1132, and a reference picture index1160of the current block are illustrated.

The reference picture index1150of the upper block1132among the referencing blocks1130and1132may be used as the reference picture index1160of the current block1140. That is, the current block1140may be coded in accordance with the reference picture index1160of the upper block1132.

The reference picture index1160of the current block1140may not be transmitted to the decoder. Information indicating that the upper block1132is the referencing block of the current block1140may be transmitted, to the decoder, through the referencing block identifier. The decoder may identify information indicating that the upper block1132is the referencing block of the current block1140through the referencing block identifier.

FIG.12is a diagram illustrating an inter coding of a current block, in accordance with a reference picture list of a referencing block, according to an embodiment of the present invention.

Reconstructed blocks1220within a current slice1210, referencing blocks1230and1232among the reconstructed blocks1220, a current block1240, a reference picture list1250of the referencing block and a reference picture list1260of the current block are illustrated.

A reference picture list1250of an upper block1232among the referencing blocks1230and1232may be used as a reference picture list1260of the current block1240. That is, the current block1240may be coded in accordance with the reference picture list1250of the upper block1232.

The reference picture list1260of the current block1240may not be transmitted to the decoder. Information indicating that the upper block1232is the referencing block of the current block1240may be transmitted to the decoder through the referencing block identifier. The decoder may identify information indicating that the upper block1232is the referencing block of the current block1240through the reference block identifier.

FIG.13is a diagram illustrating an inter coding of a current block in accordance with a prediction direction of a referencing block according to an embodiment.

Reconstructed blocks1320within a current slice1310, referencing blocks1330and1332among the reconstructed blocks1320, a current block1340, a prediction direction1350of the referencing block and a prediction direction1360of the current block are illustrated.

The prediction direction1350of the upper block1332, among the referencing blocks1330and1332, may be used as the prediction direction1360of the current block1340. That is, the current block1340may be coded in accordance with the prediction direction1350of the upper block1332.

The prediction direction1360of the current block1340may not be transmitted to the decoder. Information indicating that the upper block1332is the referencing block of the current block1340may be transmitted to the decoder through a referencing block identifier. The decoder may identify information indicating that the upper block1332is the referencing block, of the current block1340, through the referencing block identifier.

The method according to the above-described example embodiments may be recorded in non-transitory computer-readable media including program instructions to implement various operations embodied by a computer. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. Examples of non-transitory computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM discs and DVDs; magneto-optical media such as optical discs; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described example embodiments, or vice versa. In addition, a non-transitory computer-readable storage medium may be distributed among computer systems connected through a network and non-transitory computer-readable codes or program instructions may be stored and executed in a decentralized manner.

A number of examples embodiments have been described above. Nevertheless, it should be understood that various modifications may be made. For example, suitable results may be achieved if the described techniques are performed in a different order and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents. Accordingly, other implementations are within the scope of the following claims.