WO2014200313A1 - 움직임 정보를 획득하기 위한 방법 - Google Patents

움직임 정보를 획득하기 위한 방법 Download PDF

Info

Publication number
WO2014200313A1
WO2014200313A1 PCT/KR2014/005226 KR2014005226W WO2014200313A1 WO 2014200313 A1 WO2014200313 A1 WO 2014200313A1 KR 2014005226 W KR2014005226 W KR 2014005226W WO 2014200313 A1 WO2014200313 A1 WO 2014200313A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
motion vector
current
subblock
predictor
Prior art date
Application number
PCT/KR2014/005226
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
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US14/898,291 priority Critical patent/US10051282B2/en
Priority to SG11201510258PA priority patent/SG11201510258PA/en
Publication of WO2014200313A1 publication Critical patent/WO2014200313A1/ko

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction

Definitions

  • the present invention relates to a method for obtaining motion information in video encoding or decoding.
  • Predictive coding includes inter-frame prediction coding and intra-frame prediction coding, which remove the correlation of video signals in the time axis and the video signals in the spatial axis, respectively. ).
  • the inter-frame prediction encoding may predict an image of the currently encoded frame according to the image of the encoded frame. Prediction residuals are transformed and entropy coded.
  • the first encoded frame for predicting the current encoded frame is called a reference frame.
  • the spatial positional relationship between the prediction block on the reference frame and the currently encoded block may be decoded into a motion vector.
  • the encoder obtains a motion vector through motion estimation, predicts the motion vector, and records the motion vector difference between the motion vector and the predictor of the motion vector in a bit-stream.
  • the decoder predicts the motion vector in the same way and reconstructs the motion vector according to the difference between the predictor and the motion vector of the motion vector read from the bit stream.
  • the encoder / decoder derives the motion vector directly in the same way. The second approach eliminates the need to send motion vector differences within the bit stream.
  • motion information is derived.
  • the derived motion information may be a predictor of the motion vector, a motion vector, a candidate of the predictor of the motion vector, or a candidate of the motion vector.
  • the motion vector is predicted by the median prediction method in the inter-frame prediction mode.
  • the median prediction method three coded blocks adjacent to the current coded block are selected, the median of the horizontal components of the motion vectors of the three coded blocks and the median of the vertical components of the motion vectors of the three coded blocks. Are respectively adopted as horizontal and vertical components of the predictor of the motion vector of the currently encoded block.
  • temporal direct mode the motion vector of a block of a reference frame having the same spatial position as the current coded block is scaled and adopted as the motion vector of the current coded block.
  • motion vectors are predicted by the distance median method in inter-frame prediction mode.
  • the distance median method three coded blocks close to the current coded block in space are selected, and a distance between two motion vectors among the motion vectors of the three coded blocks is calculated and corresponds to the median of the calculated distances.
  • the motion vector is adopted as a predictor of the motion vector of the currently encoded block.
  • the temporal direct mode the motion vector of the block of the reference frame having the same spatial position as the current coded block is scaled and adopted as the motion vector of the currently coded block.
  • a motion vector competition scheme In the latest international video coding standard, High Efficiency Video Coding (HEVC), a motion vector competition scheme has been introduced.
  • a candidate motion vector set is derived according to a rule, and a suitable candidate motion vector is selected from the candidate motion vector sets, and is adopted as a predictor of the currently encoded motion vector.
  • the selected motion vector is transmitted in the bit stream.
  • Candidate motion vector set may include spatial candidate motion vectors and temporal candidate motion vectors.
  • the spatial candidate motion vectors will be selected according to a specific rule and priority from the motion vectors of the left and top blocks adjacent to the current coded block.
  • Temporal candidate motion vectors may be selected according to a specific rule and priority from motion vectors of blocks of a reference frame having a spatial position adjacent to or the same as the spatially encoded block.
  • the motion vector is derived or predicted only once, and the derived or predicted value is adopted as the final motion vector or predictor.
  • motion vector differences of blocks that are spatially or temporally adjacent to each other still have correlations, and correlations between motion vector differences are not used in a conventional video encoding or decoding method.
  • a motion vector prediction or derivation method based on a median or distance only motion vectors of blocks located in the same frame of the current coded block are taken into account, so that only correlations of motion vectors in the spatial domain are to be removed. Can be.
  • the motion vector differences still correlate with the motion vectors of the time domain.
  • the motion vector derivation method In the temporal direct mode of H.264 / AVC and AVS, the motion vector derivation method only considers motion vectors of blocks on reference frames located at the same spatial location of the current coded block.
  • the motion vector derived through this method utilizes a temporal correlation but does not consider the correlation between the current coded block in the same frame and blocks adjacent to the current coded block. Thus, the derived motion vectors are not optimal.
  • the motion vector prediction and derivation method based on the competition scheme of HEVC even if both temporal and spatial candidate motion vectors are included in the candidate motion vector set and the optimal motion vector is selected, the motion vector differences of adjacent blocks still have correlations. have.
  • An embodiment of the present invention provides a method for acquiring motion information in video encoding or decoding including a method of determining motion information of a current block or a subblock of a video image.
  • Another embodiment of the present invention provides an apparatus for obtaining motion information in video encoding or decoding.
  • a method for acquiring motion information in video encoding or decoding includes determining motion information of a current block or subblock of a video image. This process
  • An apparatus for obtaining motion information in video encoding or decoding
  • a calculator configured to determine a second predictor of the motion vector of the current block or the subblock according to the first predictor of the motion vector of the current block or the subblock.
  • the first reference block set first includes reference blocks for predicting or deriving the motion vector of the current block or sub-block,
  • the second reference block set may include reference blocks for predicting the first motion vector difference of the current block or subblock.
  • the motion vector is derived or predicted only once.
  • the motion vector difference of spatially or temporally adjacent blocks still has a correlation. Therefore, in order to fully utilize the correlation of motion vector differences, the present invention can derive or predict the motion vector more accurately by deriving or predicting the motion vector twice.
  • FIG. 1 is a flowchart illustrating a method of obtaining a motion vector according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of a first embodiment according to the present invention.
  • FIG. 3 is a schematic diagram illustrating a reference block of a first category of a current block according to an embodiment of the present invention.
  • FIG. 4 is a flowchart of a second embodiment according to the present invention.
  • FIG. 5 is a schematic diagram illustrating a reference block of a second category of a current block according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of a third embodiment according to the present invention.
  • FIG. 7 is a flowchart of a fourth embodiment according to the present invention.
  • FIG. 8 is a flowchart of a fifth embodiment according to the present invention.
  • FIG. 9 is a schematic diagram illustrating a reference block of a first category of a current block according to another embodiment of the present invention.
  • FIG. 10 is a schematic diagram illustrating a reference block of a second category of a current block according to another embodiment of the present invention.
  • FIG. 11 is a flowchart of a sixth embodiment according to the present invention.
  • FIG. 12 is a schematic diagram illustrating a reference block of a first category of a current block according to another embodiment of the present invention.
  • FIG. 13 is a schematic diagram illustrating a reference block of a second category of a current block according to another embodiment of the present invention.
  • FIG. 14 is a schematic diagram illustrating an apparatus for obtaining motion information according to an embodiment of the present invention.
  • 15 is a schematic diagram showing a configuration of an input unit in an apparatus according to an embodiment of the present invention.
  • 16 is a schematic diagram showing a configuration of a predictor in an apparatus according to an embodiment of the present invention.
  • the present invention provides a method and apparatus for obtaining motion information in video encoding or decoding. Encoding performance can be improved with the method and apparatus.
  • the solution of the present invention is implemented as follows.
  • a method for acquiring motion information in video encoding or decoding includes determining motion information of a current block or subblock of a video image. This process
  • the first reference block set first includes reference blocks for predicting or deriving a motion vector of the current block or subblock,
  • the second reference block set may include reference blocks for predicting a first motion vector difference of the current block or subblock.
  • the first reference block set of the current block includes an encoded block or a decoded block adjacent to the current block in a current frame, or an encoded block that is spatially adjacent to or overlaps with the current block in a reference frame of the current frame, or Contains a decoded block,
  • the second reference block set of the current block includes a coded block or a decoded block in the current frame adjacent to the current block, or a coded block that is spatially adjacent to or overlaps with the current block within the reference frame of the current frame.
  • the first reference block set of the current subblock includes a coded block or a decoded block in the current frame adjacent to the current subblock or the block of the current subblock, or spatially the current subblock or the current block.
  • the second reference block set of the current subblock includes a coded block or a decoded block in the current frame adjacent to the current subblock or the block of the current subblock, or spatially the current subblock or the current block. It may include a block encoded or decoded in the reference frame of the current frame adjacent or overlapping the block of the sub-block.
  • the first predictor of the motion vector of the current block or subblock according to the motion vector of each reference block in the first reference block set of the current block or subblock, Recording the derivation information of the first predictor of the motion vector of the current block or sub-block, and
  • the first predictor of the motion vector of the current block or subblock and the current in the bit stream according to the motion vector of each reference block in the first reference block set of the current block or subblock And deriving the derivation information of the first predictor of the motion vector of the block or subblock.
  • the first motion vector difference between the motion vector of each reference block in the second reference block set and the first predictor of the motion vector of the reference block in the second reference block set of the current block or subblock In the determining step,
  • the motion information of the current block or sub-block When the motion information of the current block or sub-block is determined, obtain the motion vector of each reference block in the second reference block set and the first predictor of the motion vector of the reference block in the second reference block set and The motion vector of the reference block in the second reference block set and the reference in the second reference block set with a difference of the first motion vector of the reference block of the second reference block set of the current block or sub-block Selecting a difference between the first predictors of the motion vectors of the block,
  • the method for obtaining the motion information is the first motion of the current block or subblock. Setting the predictor of vector difference to a zero vector, or
  • the method for obtaining the motion information is the first motion vector of the current block or subblock. And setting the predictor of the difference to a zero vector.
  • the predictor of the first motion vector difference of the current block or subblock according to the first motion vector difference of each reference block of the second reference block set, Recording the derivation information of the predictor of one motion vector difference into a bit stream, and by the decoder, the decoder of the current block or subblock according to the first motion vector difference of each reference block in the second reference block set; And deriving the derivation information of the predictor of the first motion vector difference and the predictor of the first motion vector difference of the current block or subblock.
  • the sum of the predictor of the first motion vector difference of the current block or subblock and the first predictor of the motion vector of the current block or subblock or of the first motion vector difference of the current block or subblock And adopting the weighted sum of the predictor and the first predictor of the motion vector of the current block or subblock as the second predictor of the motion vector of the current block or subblock.
  • the reference blocks in the first reference block set of the current block or sub block may be the same as or different from the reference blocks in the second reference block set of the current block or sub block.
  • the reference blocks in the first reference block set of the subblock are the same as or different from the reference blocks in the first reference block set of another subblock, and in the second reference block set of the subblock.
  • the reference blocks may be the same as or different from the reference blocks in the second reference block set of another sub block.
  • the reference block may be a sub block.
  • An apparatus for obtaining motion information in video encoding or decoding
  • a calculator configured to determine a second predictor of the motion vector of the current block or the subblock according to the first predictor of the motion vector of the current block or subblock,
  • the first reference block set first includes reference blocks for predicting or deriving the motion vector of the current block or sub-block,
  • the second reference block set may include reference blocks for predicting the first motion vector difference of the current block or subblock.
  • the motion vector of the current block or subblock is predicted to obtain a first predictor of the motion vector of the current block or subblock.
  • the first motion vector difference of the current block or subblock is the first motion vector difference of the reference blocks in the second reference block set to derive the predictor of the first motion vector difference of the current block or subblock.
  • the second predictor of the motion vector of the current block or subblock is the first prediction of the motion vector of the current block or subblock with the predictor of the first motion vector difference of the current block or subblock.
  • the final predictor of the motion vector of the current block Acquired according to one predictor, the final predictor of the motion vector of the current block, the candidate of the predictor of the motion vector of the current block, the motion vector of the current block, or the candidate of the motion vector of the current block.
  • the correlation between the motion vector differences of the reference block and the current block or subblock can be fully utilized to estimate the difference of the motion vector of the current block / subblock, and also the current block or subblock
  • the first predictor of the motion vector of the current block or subblock may be corrected to obtain an accurate second predictor of the motion vector of.
  • the accuracy of motion information and encoding performance can be greatly improved.
  • the motion vector is derived or predicted only once.
  • the motion vector difference of spatially or temporally adjacent blocks still has a correlation. Therefore, encoding performance can be improved by utilizing the correlation.
  • the present invention provides a method for obtaining a motion vector as shown in FIG.
  • the first predictor of the motion vector of the current block or subblock is calculated according to the motion vector of each reference block in the first reference block set of the current block or subblock.
  • the first reference block set first includes reference blocks to predict or derive a motion vector of the current block or subblock.
  • Vector differences are determined.
  • the first motion vector difference between the motion vector of the current block or subblock and the first predictor of the motion vector of the current block or subblock is referred to as a second reference to obtain a predictor of the first motion vector difference of the current block or subblock. It is predicted according to the first motion vector difference of each reference block in the block set.
  • the second reference block set includes reference blocks to predict the first motion vector difference of the current block or subblock.
  • the second predictor of the motion vector of the current block or subblock is determined according to the predictor of the first motion vector difference of the current block or subblock and the first predictor of the motion vector of the current block or subblock. .
  • the second predictor of the motion vector obtained in the above flowchart is a predictor of a motion vector of the current block or subblock, a candidate of a motion vector of the current block or subblock, which may be used for encoding or decoding the current block or subblock. It may be adopted as a candidate of the motion vector of the current block or subblock or the motion vector of the current block or subblock.
  • a method for obtaining motion information can be regarded as an auxiliary prediction or derivation method of a motion vector. In the prediction process of the motion vector, the motion vector difference initially generated after the prediction of the motion vector may be predicted again to obtain a predictor of the motion vector difference.
  • the last predictor of the motion vector can be obtained according to the result of the two predictions.
  • the derived value of the motion vector is first obtained, and the derived value of the motion vector difference is obtained according to the information of the first motion vector differences of the adjacent blocks.
  • the last derived variable of the motion vector is obtained according to the two derived values.
  • the derived value of the motion vector of the current block or subblock initially obtained through the prediction process and the motion vector of the current block or subblock obtained through the derivation process are referred to as the first predictor of the motion vector.
  • the estimation result of the obtained motion vector resulting from two predictions or two derivatives is referred to as a second predictor of the motion vector.
  • the method of transmitting the derived information in the bit stream may be applied to the calculation of the first predictor of the motion vector of the current block or subblock and / or the predictor of the first motion vector difference of the current block or subblock.
  • the encoder records the derivation information of the first predictor of the motion vector and / or the derivation information of the predictor of the first motion vector difference in the bit stream.
  • the decoder then calculates the first predictor of the motion vector and / or the predictor of the first motion vector difference according to the derivation information of the bit stream.
  • the blocks of the current frame and a reference frame that are spatially close to or overlapping with the current block are both used in the two prediction or derivation processes of the present invention, or respectively in the two prediction or derivation processes of the present invention. Can be used. Therefore, the spatial and temporal correlations of the motion vectors of the other blocks can be eliminated to the maximum, and the coding efficiency of the motion vectors can be increased.
  • a method for obtaining motion information is applied to each sub block to obtain motion information of each sub block.
  • a method for acquiring motion information in a block and a subblock may be implemented according to embodiments of the present invention. The solution of the present invention is described with reference to the embodiments.
  • motion information is determined for the current block. And a flowchart for deriving motion information of the current block is provided in each embodiment.
  • the current block is divided into several sub blocks. The motion information is determined for each sub block.
  • a flowchart for deriving motion information of sub-blocks is provided in each embodiment.
  • the first embodiment is described as follows.
  • FIG. 2 is a flowchart of a first embodiment according to the present invention.
  • 3 is a schematic diagram illustrating reference blocks of a first category of a current block according to an embodiment of the present invention. As shown in FIG. 2, the method for acquiring motion information according to the first embodiment includes the following blocks.
  • the first reference block set and the second reference block set include at least one of a reference block of the first category and a reference block of the first category.
  • Reference blocks of the first category are encoded or decoded blocks of the current frame adjacent to the current block.
  • Reference blocks of the second category are encoded or decoded blocks of reference frames that spatially overlap or adjacent to current blocks.
  • block 201 may be implemented as follows.
  • the first reference block set only includes reference blocks of the first category.
  • the reference blocks of the first category of the current block include AL1, AL2, AU1, AU2, AU3, AC1 and AC2.
  • the reference blocks in the first reference block set of the current block are adjacent block AU1 located above the upper left corner of the current block, adjacent block AL2 located to the left of the upper left corner of the current block, and upper left corner of the upper left corner of the current block. It can be configured as an adjacent block AC2 located at.
  • the first predictor of the motion vector of the current block is calculated according to the motion vector of each reference block in the first reference block set obtained in block 202.
  • the first predictor of the motion vector of the current block may be calculated according to the same method for predicting and deriving the motion vector of the current block used in the existing encoding or decoding method.
  • Block 203 may be implemented as follows.
  • the average value of the horizontal components of the motion vectors obtained in block 202 and the average value of the vertical components of the motion vectors obtained in block 202 are respectively calculated, and the horizontal component of the predictor of the motion vector of the current block and the current block Adopt as the vertical component of the predictor of the motion vector. If the motion vector of the specific reference block in the first reference block set does not exist, the motion vector that does not exist is set to a zero vector.
  • the motion vector of the reference block in the first reference block set is determined in block 203 before the first predictor of the motion vector of the current block is determined. It may be scaled according to the distance between the frame in which the frame is located and the reference frame of the frame in which the reference block is located in the first reference block set and the distance between the frame in which the current block is located and the reference frame of the frame in which the current block is located.
  • the first predictor of the motion vector of the current block may be calculated according to the scaled motion vector. By doing so, the accuracy of the first predictor can be improved.
  • a second reference block set of the current block is determined.
  • Block 204 can be implemented as follows.
  • the second reference block set only includes reference blocks of the first category.
  • the reference blocks of the first category of the current block include AL1, AL2, AU1, AU2, AU3, AC1 and AC2.
  • the reference blocks in the second reference block set of the current block are adjacent block AU1 located above the upper left corner of the current block, adjacent block AL2 located to the left of the upper left corner of the current block, and upper left corner of the upper left corner of the current block. It can be configured as an adjacent block AC2 located at.
  • a motion vector of each reference block in the second reference block set and a first predictor of the motion vector of each reference block in the second reference block set are obtained.
  • the first motion vector difference between the motion vector of the reference block and the first predictor of the motion vector of the reference block is calculated.
  • the reference blocks in the second reference block set are all coded blocks. Therefore, the first predictors of the motion vectors of the reference blocks in the second reference block set and the motion vectors of the reference blocks in the second reference block set are generated.
  • the motion vector of each reference block and the first predictor of the motion vector of the reference block are obtained directly.
  • the first predictor of the motion vector of the reference block is subtracted from the motion vector of the reference block.
  • the distance between the frame in which the reference block in the second reference block set is located and the reference frame of the frame in which the reference block in the second reference block set is located is a reference of the frame in which the current block is located and the frame in which the current block is located. It may be different from the distance between the frames. Accordingly, in order to improve encoding or decoding performance, in block 205, the first predictor of the motion vector of the reference block in the second reference block set and the motion vector of the reference block in the second reference block set is determined by the second reference block set.
  • the distance between the frame in which the reference block in the second reference block set is located and the reference frame in the frame in which the reference block in the second reference block set is located and the frame in which the current block is located and the current block before the first motion vector difference of the reference block in the block is calculated It may be scaled according to the distance between reference frames of the located frame. By doing so, the accuracy of the first motion vector difference of the reference blocks in the second reference block set can be improved.
  • the first predictor of the motion vector of reference block A is determined by the distance between the frame in which the reference block in the first reference block set is located and the reference frame of the frame in which the reference block in the first reference block set is located. It may be scaled according to a distance between a frame located and a reference frame of the frame in which the current block is located. Or, when the reference block A in the second reference block set is determined as the motion information of the current block and the reference block A is derived with reference to FIG.
  • the motion of the reference block B in the first reference block set of the reference block A is determined. If the vector is not fully scaled at block 203 (i.e., the scale ratio) is the distance between the frame where reference block A is located and the reference frame of the frame where reference block A is located and the frame where reference block B is located and reference block B ), The first predictor of the motion vector of the reference block A may be scaled to completely compensate for the distance difference. And the scaling process of the above paragraph and the calculation of the first motion vector difference of each reference block in the second reference block set can be applied to the scaled motion vectors.
  • the predictor of the first motion vector difference of the current block at block 206 is calculated according to the first motion vector difference of each reference block in the second set of reference blocks calculated at block 205.
  • the first motion vector difference of the current block is predicted according to the first motion vector difference of the reference block in the second reference block set.
  • the prediction method may be selected according to the requirements. For example, the weighted average of the first motion vector differences of the reference blocks, the median of the horizontal component of the first motion vector differences of the reference blocks and the median of the vertical component of the first motion vector differences of the reference blocks, respectively Selecting, or existing motion vector prediction methods can be used.
  • block 206 may be implemented as follows.
  • the minimum value of the first motion vector differences obtained at block 205 may be adopted as a predictor of the first motion vector of the current block. If there is no first motion vector difference of a particular reference block in the second reference block set, the first motion vector difference of that reference block may not be considered in the calculation process. If there is no first motion vector difference of all the reference blocks in the second reference block set, the predictor of the first motion vector difference of the current block may be set to a zero vector.
  • the distance between the frame in which the reference block in the second reference block set is located and the reference frame of the frame in which the reference block in the second reference block set is located is a reference of the frame in which the current block is located and the frame in which the current block is located. It may be different from the distance between the frames.
  • the first predictor of the frame and the reference block in the second reference block set First movement of the reference block if not scaled or fully scaled according to the distance between the reference frame of the frame in which the reference block is located in the reference block set and the distance between the frame in which the current block is located and the reference frame of the frame in which the current block is located.
  • the vector difference is the distance between the frame in which the reference block in the second reference block set is located and the reference frame in the frame in which the reference block in the second reference block set is located before the predictor of the first motion vector difference of the current block is calculated at block 206.
  • reference to the frame where the current block is located and the frame where the current block is located It can be scaled according to the distance between frames.
  • a second predictor of the motion vector of the current block is derived according to the first predictor of the motion vector of the current block and the predictor of the first motion vector difference of the current block.
  • the method of determining the second predictor of the motion vector of the current block includes performing a sum or weighted sum operation on the first predictor of the motion vector of the current block and the predictor of the first motion vector difference of the current block. .
  • the distance between the frame in which the reference block in the second reference block set is located and the reference frame of the frame in which the reference block in the second reference block set is located is a reference of the frame in which the current block is located and the frame in which the current block is located. It may be different from the distance between the frames. Accordingly, in order to improve encoding or decoding performance, if the motion vector of the reference block in the first reference block set and the first predictor of the motion vector of the current block are located, the frame in which the reference block in the first reference block set is located and the first reference may be used.
  • the first motion vector difference of the reference block if it is not scaled or fully scaled according to the distance between the reference frame of the frame in which the reference block is located in the block set and the reference frame of the frame in which the current block is located and the frame in which the current block is located. Is the distance between the frame in which the reference block in the first reference block set is located and the reference frame in the frame in which the reference block in the first reference block set is located before the second predictor of the motion vector of the current block is calculated in block 207. True of the frame in which it is located and the frame in which the current block is located It may be scaled based on the distance between the frames.
  • the first predictor of the motion vector of the reference block in the second reference block set and the motion vector of the reference block in the second reference block set or the first motion vector of the reference block in the second reference block set is the second of the current block
  • the distance between the frame in which the reference block in the first reference block set of the block in the reference block set is located and the reference frame in the frame in which the reference block in the first reference block set of the block in the second reference block set of the current block is located, the second reference block Not scaled or fully scaled according to the distance between the frame in which the reference block in the set is located and the reference frame of the frame in which the reference block in the second reference block is located and the distance between the frame in which the current block is located and the reference frame of the frame in which the current block is located If not, the predictor of the first motion vector difference of the current block In block 207, the distance between the frame in which the reference block in the second reference block set is located and the reference frame in the frame in which the reference block in the second reference block set is located and the frame in which
  • the second predictor of the motion vector of the current block is a predictor of the motion vector of the current block, which can be used for encoding or decoding the current block, the current block. It can be adopted as a candidate of the predictor of the motion vector of the motion vector of the current block or sub-block, or a candidate of the motion vector of the current block.
  • the second embodiment is described as follows.
  • FIG. 4 is a flowchart of a second embodiment according to the present invention.
  • 3 is a schematic diagram illustrating reference blocks of a first category of a current block according to an embodiment of the present invention.
  • 5 is a schematic diagram illustrating reference blocks of a second category of a current block according to an embodiment of the present invention.
  • a method of obtaining motion information is implemented as follows.
  • a first reference block set of the current block is determined.
  • block 401 may be implemented as follows.
  • the first reference block set only includes reference blocks of the first category.
  • the reference blocks of the first category of the current block include AL1, AL2, AU1, AU2, AU3, AC1 and AC2.
  • the reference blocks in the first reference block set of the current block are the adjacent block AU1 located above the upper left corner of the current block, the adjacent block AL2 located to the left of the upper left corner of the current block, and the upper left corner of the upper left corner of the current block.
  • the adjacent block AC2 located at and the adjacent block AU3 located at the upper right of the upper right corner of the current block may be configured.
  • the existing method of returning a motion vector can be applied.
  • the method of returning a motion vector may be implemented as follows. If block AU3 has a motion vector, the motion vector of block AU3 is returned and decoded into mv3, but the motion vector of block AC2 is not returned. If block AU3 has no motion vector and instead block AC2 has a motion vector, the motion vector of block AC2 is returned and decoded to mv3. If neither block AU3 nor AC2 has a motion vector, a zero vector is returned and decoded to mv3. If the block AU1 has a motion vector, the motion vector of the block AU1 is returned and decoded into mv1.
  • block AU2 has a motion vector
  • the motion vector of block AU2 is returned and decoded into mv2. If the block AU1 does not have a motion vector, a zero vector is returned and decoded into mv1. If block AU2 does not have a motion vector, a zero vector is returned and decoded into mv2. If a particular block does not exist, the block is considered to have no motion vector.
  • the process method described herein may be applied to other embodiments of the present invention.
  • the first predictor of the motion vector of the current block is calculated according to the motion vector of each reference block in the first reference block set obtained in block 402.
  • the first predictor of the motion vector of the current block may be calculated according to the same method as used in the existing encoding or decoding method for predicting or deriving the motion vector of the current block.
  • Block 403 may be implemented as follows.
  • the horizontal and vertical components of mv1 are decoded into mv1_x and mv1_y, respectively, and the horizontal and vertical components of mv2 are decoded into mv2_x and mv2_y, respectively, and the horizontal and vertical components of mv3 are decoded into mv3_x and mv3_y, respectively. If mv1_x and mv2_x have the same sign, the mean of mv1_x and mv2_x is taken as the horizontal component of the first predictor of the motion vector of the current block.
  • the mean of mv1_x and mv3_x is taken as the horizontal component of the first predictor of the motion vector of the current block. If mv1_x and mv2_x have different symbols and mv2_x and mv3_x have the same symbol, the mean of mv2_x and mv3_x is taken as the horizontal component of the first predictor of the motion vector of the current block.
  • the mean of mv1_y and mv2_y is taken as the vertical component of the first predictor of the motion vector of the current block. If mv1_y and mv2_y have different symbols and mv1_y and mv3_y have the same symbol, the mean of mv1_y and mv3_y is taken as the vertical component of the first predictor of the motion vector of the current block.
  • the mean of mv2_y and mv3_y is taken as the vertical component of the first predictor of the motion vector of the current block. If the first predictor of the motion vector of the specific reference block does not exist, the motion vector of the reference block is set to a zero vector.
  • a difference of the first motion vector of the current block may be calculated.
  • the first motion vector difference of the reference block can be obtained immediately.
  • the motion vector is scaled at block 403.
  • a second reference block set of the current block is determined.
  • Block 404 may be implemented as follows.
  • the second reference block set includes only reference blocks of the first category and reference blocks of the second category.
  • the reference blocks of the first category of the current block include AL1, AL2, AU1, AU2, AU3, AC1 and AC2.
  • the reference blocks of the first category in the second reference block set of the current block are the adjacent block AU1 located above the upper left corner of the current block, the adjacent block AL2 located to the left of the upper left corner of the current block, and the upper left corner of the current block. It may consist of an adjacent block AC2 located at the upper left of the vertex.
  • the reference blocks of the second category of the current block include B1, B2, B3, B4, B5, B6 and B7.
  • B1, B2, B3 and B4 overlap with the current block in space.
  • B5, B6 and B7 are adjacent to the current block in space.
  • the reference blocks of the second category in the second reference block set of the current block are B1 including a point located in the same space as the upper left corner of the current block, a point located in the same space as the lower right corner of the current block. It may be configured to include B4.
  • a first motion vector difference is obtained between the motion vector of each reference block in the second reference block set and the first predictor of the motion vector of the reference block in the second reference block set.
  • the first motion vector difference between the motion vector of the current block and the first predictor of the motion vector of the current block is calculated and stored.
  • the reference blocks in the second reference block set are all coded blocks. And the first motion vector difference of each reference block in the second reference block set is generated and stored. Therefore, the first motion vector difference of each reference block in the second reference block set can be directly obtained.
  • the predictor of the first motion vector difference of the current block at block 406 is calculated according to the first motion vector difference of each reference block in the second reference block set calculated at block 405.
  • Block 406 may be implemented as follows.
  • the encoder selects one of the existing first motion vector differences and the zero vector as a predictor of the first motion vector difference of the current block.
  • the index of the selected value is recorded in the bit stream.
  • the decoder selects the correct value from the existing first motion vector differences and zero vector obtained at block 405 according to the index in the bit stream.
  • the selected value is adopted as the predictor of the first motion vector difference of the current block.
  • the index transmitted in the bit stream is derived from the method of transmitting the derivation information in the bit stream for calculating the predictor of the first motion vector difference in the description of FIG. 1. Can be adopted as information.
  • the first motion vector difference may be scaled.
  • the second predictor of the motion vector of the current block is derived according to the predictor of the first motion vector difference of the current block and the first predictor of the motion vector of the current block.
  • Block 407 is not described herein, but is the same as block 207 of the first embodiment.
  • the second predictor of the motion vector of the current block is a predictor of the motion vector of the current block, which can be used for encoding or decoding the current block, the current block. It can be adopted as a candidate of the predictor of the motion vector of the motion vector of the current block or the candidate of the motion vector of the current block.
  • the first predictor of the motion vector of the current block is calculated first.
  • the predictor of the first motion vector difference of the current block is calculated.
  • the first predictor of the motion vector of the current block and the predictor of the first motion vector difference of the current block may be obtained at the same time.
  • the predictor of the first motion vector difference of the current block may be calculated first, and the first predictor of the motion vector of the current block may be calculated.
  • a predictor of the first motion vector difference of the current block is first calculated, and a first predictor of the motion vector of the current block is calculated.
  • the third embodiment is described as follows.
  • FIG. 6 is a flowchart of a third embodiment according to the present invention.
  • 5 is a schematic diagram illustrating reference blocks of a second category of a current block according to an embodiment of the present invention. As shown in FIG. 6, a method of obtaining motion information is implemented as follows.
  • a second set of reference blocks of the current block is determined.
  • Block 601 may be implemented as follows.
  • the second reference block set only includes reference blocks of the second category.
  • the reference blocks of the second category of the current block include B1, B2, B3, B4, B5, B6, and B7.
  • B1, B2, B3 and B4 overlap with the current block in space.
  • B5, B6 and B7 are adjacent to the current block in space.
  • the reference blocks in the second reference block set of the current block are B1 including a point located in the same space as the center point of the current block, B1 including a point located in the same space as the upper left corner of the current block, and the current block. It may be composed of B4 including a point located in the same space as the lower right corner of the.
  • a motion vector of each reference block in the second reference block set and a first predictor of the motion vector of the reference block in the second reference block set are obtained.
  • the first motion vector difference between the motion vector of the reference block and the first predictor of the motion vector of the reference block is calculated.
  • Block 602 is similar to block 205 described in the first embodiment.
  • the motion vector of the specific reference block or the motion of the reference block is obtained. If there is no first predictor of the vector, an indication is returned indicating that there is no first motion vector difference of the reference block.
  • the scaling operation may be performed at block 602.
  • a predictor of the first motion vector difference of the current block is obtained according to the first motion vector difference of each reference block in the second reference block set obtained in block 602.
  • the first motion vector difference of the current block may be predicted according to an existing method of predicting motion vectors.
  • Block 603 may be implemented as follows.
  • the median of the horizontal components of the first motion vector differences of the reference blocks obtained at block 602 and the median of the vertical components of the first motion vector differences of the reference blocks obtained at block 602 are each the first value of the current block. It is adopted as the horizontal component of the predictor of the motion vector difference and the vertical component of the predictor of the first motion vector difference of the current block. If the first motion vector difference of a particular reference block does not exist or is equal to 0, a zero vector is adopted as a predictor of the first motion vector difference of the current block.
  • Block 603 may be implemented as follows.
  • the encoder selects one of the existing first motion vector differences obtained at block 602 as the predictor of the first motion vector difference of the current block.
  • the index of the selected value is recorded in the bit stream.
  • the decoder selects the correct value from the existing first motion vector differences obtained at block 602 according to the index in the bit stream.
  • the selected value is adopted as the predictor of the first motion vector difference of the current block.
  • the index transmitted in the bit stream is derived from the method of transmitting the derivation information in the bit stream for calculating the predictor of the first motion vector difference in the description of FIG. 1. Can be adopted as information.
  • a scaling operation may be performed.
  • a first reference block set of the current block is determined.
  • Block 604 may be implemented as follows.
  • the first reference block set only includes reference blocks of the second category.
  • the reference blocks of the second category of the current block include B1, B2, B3, B4, B5, B6 and B7.
  • B1, B2, B3 and B4 overlap with the current block in space.
  • B5, B6 and B7 are adjacent to the current block in space.
  • the reference blocks in the second reference block set of the current block are B1 including a point located in the same space as the upper left corner of the current block, and B4 including a point located in the same space as the lower right corner of the current block. It may be configured as.
  • the first predictor of the motion vector of the current block at block 606 is calculated according to the motion vector of each reference block in the first reference block set obtained at block 605.
  • the first predictor of the motion vector of the current block may be calculated according to the same method as used in the existing encoding or decoding method for predicting or deriving the motion vector of the current block.
  • Block 606 may be implemented as follows.
  • the encoder selects one of the existing motion vectors as the predictor of the first motion vector difference of the current block.
  • the index of the selected value is recorded in the bit stream.
  • the decoder selects the correct value from the existing motion vectors obtained at block 605 according to the index in the bit stream.
  • the selected value is adopted as the first predictor of the motion vector of the current block. If there is no motion vector of the specific reference block in the first reference block set, the non-existent motion vector of the reference block is set to zero vector.
  • the index transmitted in the bit stream is the derivation information of the first predictor of the motion vector of the current block, which is mentioned in the method of transmitting the derivation information in the bit stream for calculating the first predictor of the motion vector in the description of FIG. Can be adopted.
  • the scaling operation may be performed at block 606.
  • the second predictor of the motion vector of the current block is derived according to the predictor of the first motion vector difference of the current block and the first predictor of the motion vector of the current block.
  • Block 607 is identical to block 207 described in the first embodiment.
  • the second predictor of the motion vector of the current block is a predictor of the motion vector of the current block, which can be used for encoding or decoding the current block, the current block. It can be adopted as a candidate of the predictor of the motion vector of the motion vector of the current block or the candidate of the motion vector of the current block.
  • the fourth embodiment is described as follows.
  • FIG. 7 is a flowchart of a fourth embodiment according to the present invention.
  • 3 is a schematic diagram illustrating reference blocks of a first category of a current block according to an embodiment of the present invention.
  • 5 is a schematic diagram illustrating reference blocks of a second category of a current block according to an embodiment of the present invention.
  • a method of obtaining motion information is implemented as follows.
  • a second set of reference blocks of the current block is determined.
  • Block 701 may be implemented as follows.
  • the second reference block set only includes reference blocks of the second category.
  • the reference blocks of the second category of the current block include B1, B2, B3, B4, B5, B6, and B7.
  • B1, B2, B3 and B4 overlap with the current block in space.
  • B5, B6 and B7 are adjacent to the current block in space.
  • the reference blocks in the second reference block set of the current block include the upper block B1 including a point located in the same space as the upper left corner of the current block, and a point located in the same space as the upper left corner of the current block.
  • the upper left block B1 may include a left block B1 and a point located in the same space as the upper left corner of the current block.
  • a first motion vector difference is obtained between the motion vector of each reference block in the second reference block set and the first predictor of the motion vector of the reference block in the second reference block set.
  • Block 702 is similar to block 405 described in the second embodiment.
  • Block 702 When the first motion vector difference of each reference block in the second reference block set is obtained at block 702, if there is no first motion vector difference of the particular reference block in the second reference block set, An indication is returned indicating that one motion vector difference does not exist.
  • the scaling operation may be performed at block 702.
  • the predictor of the first motion vector difference of the current block is obtained according to the first motion vector difference of each reference block in the second reference block set obtained in block 702.
  • the predictor of the first motion vector difference of the current block may be calculated according to an existing method of predicting the motion vector.
  • Block 703 may be implemented as follows.
  • the first motion vector difference returned for the upper block is mvd_U
  • the first motion vector difference returned for the left block is mvd_L
  • the first motion vector difference returned for the upper left block is mvd_LU.
  • , d13
  • , and d23
  • mvd_LU is taken as a predictor of the first motion vector difference of the current block. If d13 is the smallest value among d12, d13, and d23, mvd_U is taken as a predictor of the first motion vector difference of the current block. If d23 is the smallest value among d12, d13, and d23, mvd_L is taken as a predictor of the first motion vector difference of the current block. If the first motion vector difference of the specific reference block does not exist or is equal to 0, the predictor of the first motion vector difference of the current block is set to a zero vector.
  • a scaling operation may be performed.
  • the first reference block set of the current block is determined.
  • Block 704 may be implemented as follows.
  • the first reference block set includes only reference blocks of the first category and reference blocks of the second category.
  • the reference blocks of the first category of the current block include AL1, AL2, AU1, AU2, AU3, AC1 and AC2.
  • the reference blocks of the second category of the current block include B1, B2, B3, B4, B5, B6 and B7.
  • B1, B2, B3 and B4 overlap with the current block in space.
  • B5, B6 and B7 are adjacent to the current block in space.
  • the reference blocks in the first reference block set of the current block are adjacent block AC2 located at the upper left corner of the upper left corner of the current block, adjacent block AU3 located at the upper right corner of the upper right corner of the current block, and left of the current block. It may be composed of a neighboring block AC1 located at the bottom left of the bottom vertex and a B1 including a point located in the same space as the center point of the current block.
  • the first predictor of the motion vector of the current block at block 706 is calculated according to the motion vector of each reference block in the first reference block set obtained at block 705.
  • the first predictor of the motion vector of the current block may be calculated according to the same method as used in the existing encoding or decoding method for predicting or deriving the motion vector of the current block.
  • block 706 may be implemented as follows.
  • the average value of the motion vector mv1 of AC1, the motion vector mv2 of AC2, and the motion vector mv3 of AC3 is calculated and decoded by mva. If any one of mv1, mv2 and mv3 does not exist, then the nonexistent one is set to a zero vector.
  • the motion vector of B1 is decoded with mvb. The smaller of mva and mvb is adopted as the first predictor of the motion vector of the current block. If mvb does not exist, mva is taken as the first predictor of the motion vector of the current block.
  • the first motion vector difference of the current block is calculated.
  • the first motion vector difference of the reference block can be obtained directly.
  • a scaling operation may be performed at block 706.
  • the second predictor of the motion vector of the current block is derived according to the first predictor of the motion vector of the current block and the predictor of the first motion vector difference of the current block.
  • Block 707 is similar to block 207 of the first embodiment.
  • the second predictor of the motion vector of the current block is a predictor of the motion vector of the current block, which can be used for encoding or decoding the current block, the current block. It can be adopted as a candidate of the predictor of the motion vector of the motion vector of the current block or the candidate of the motion vector of the current block.
  • the fifth embodiment is described as follows.
  • FIG. 8 is a flowchart of a fifth embodiment of the present invention.
  • 9 is a schematic diagram depicting reference blocks of a first category of the current block according to an embodiment of the present invention.
  • 10 is a schematic diagram depicting reference blocks of a second category of the current block according to an embodiment of the present invention.
  • a method of obtaining motion information is implemented as follows.
  • the current block E referenced in FIG. 9 is divided into four sub-blocks E1, E2, E3, and E4.
  • the current block is divided into four sub blocks.
  • motion information of each subblock can be calculated according to the method described in the present invention.
  • motion information of four sub-blocks is obtained according to the following blocks.
  • a first reference block set of each current subblock is determined.
  • the reference blocks in the first reference block set may be identical, partially identical, or completely different.
  • Block 802 may be implemented as follows.
  • the sub blocks have different first reference block sets. However, all first reference block sets contain only reference blocks of the second category.
  • reference blocks of the second category of E1, E2, E3, and E4 include B1, B2, B3, B4, and B5.
  • the reference blocks in the first reference block set of the current subblock may be set to a block including a point having a spatial position equal to the center of the current subblock.
  • the first reference block set of E1 is B1
  • the first reference block set of E2 is B3
  • the first reference block set of E3 is B1
  • the first reference block set of E4 is B4.
  • the reference block A is the sub block.
  • the reference blocks in the first reference block set may be blocks or subblocks. If a single piece of motion information corresponds to a block, the corresponding reference block is a block. If a single piece of motion information corresponds to a sub block, the corresponding reference block is a sub block.
  • block A is a coded block proximate to the current subblock.
  • block A is divided into sub-blocks A1 and A2, and motion information of sub-block A1 and motion information of sub-block A2 are respectively calculated.
  • A1 is close to the current subblock or a block of the current subblock.
  • A2 is not close to the current subblock or the block of the current subblock. (Because block A does not correspond to a single piece of motion information, but corresponds to motion information of sub blocks A1 and A2.) Because sub block A2 is not in close proximity to the current sub block and the block of the current sub block, the sub Block A2 is not included in the first reference block set of the current sub block.
  • the method of obtaining the motion vector of each reference block in the first reference block set of each current subblock may be the same as the existing method.
  • the motion vector of each reference block in the first reference block set of each current sub-block is obtained at block 803, if the motion vector of the specific reference block in the first reference block set does not exist, the motion vector of the reference block An indication is returned indicating that does not exist.
  • a first predictor of the motion vector of each current subblock is calculated according to the motion vector of each reference block in the first reference block set of each current subblock obtained at block 803.
  • the method of determining the first predictor of the motion vector of each current subblock according to the motion vector of the reference block may be the same as the existing method of predicting or deriving the motion vector.
  • the methods for determining the first predictors of the motion vectors of the current subblocks may be the same or different.
  • Block 804 may be implemented as follows.
  • the motion vector of the reference block in the first reference block set of each current subblock may be directly adopted as the first predictor of the motion vector of each current subblock. If the reference block in the first reference block set of the specific current subblock does not have a motion vector, the first predictor of the motion vector of the current subblock is set to a zero vector, or the second predictor of the motion vector of the current subblock is blocks.
  • the predictor of the motion vector of the current subblock, the candidate of the predictor of the motion vector of the current subblock, the motion vector of the current subblock, or the candidate of the motion vector of the current subblock can be adopted as.
  • the motion vector of the reference block in the first reference block set of each current subblock may be scaled.
  • a second reference block set of each current subblock is determined.
  • Block 805 may be implemented as follows.
  • E1, E2, E3 and E4 have the same second reference block sets.
  • each second reference block set includes only reference blocks of the first category.
  • reference blocks of the first category of E1, E2, E3 and E4 include AL1, AC1, AU1, AU2 and AU3.
  • the reference blocks of the first set of reference blocks of E1, E2, E3, and E4 are located at the upper left corner of the blocks AU1 and E1 above the upper left corner of the blocks AL1, E1, which are located to the left of the upper left corner of E1. It may consist of the block AC1 in the upper left corner.
  • block AL1 located to the left of the upper left corner of E1 has no motion vector
  • block AL1 located to the left of the upper left corner of E1 is replaced with block AL1 located to the left of the upper left corner of E3.
  • block AU1 reference motion vector located above the upper left corner of E1 is replaced with block AU2 located above the upper left corner of E2.
  • the first predictor of the motion vector of each reference block in the second reference block set and the motion vector of the reference block in the second reference block set is obtained for each current subblock.
  • the first motion vector difference between the motion vector of the reference block and the first predictor of the motion vector of the reference block is calculated.
  • Block 806 is similar to block 205 described in the first embodiment, but differs from block 205 in that each current subblock is processed separately. However, in this embodiment, the second reference block sets of all current subblocks are the same, so the process only needs to be performed once.
  • the first predictor of the motion vector of each reference block in the second reference block set of each current subblock and the motion vector of each reference block in the second reference block set of each current subblock If there is no motion vector of the specific reference block or the first predictor of the motion vector of the reference block, an indication is returned indicating that there is no first motion vector difference of the reference block.
  • the motion vector of the reference block in the second reference block set and the first predictor of the motion vector of the reference block in the second reference block set may be scaled for each current subblock of this block.
  • the predictor of the first motion vector difference of each current subblock is calculated according to the first motion vector difference of each reference block in the second reference block set of the current subblock calculated at block 806.
  • Predictors of the first motion vector differences of the current subblocks may be calculated through the same method or other methods. The calculation method may be determined according to the actual requirements. For example, one of the methods mentioned in the above embodiment may be applied.
  • block 807 may be implemented as follows. The average of existing first motion vector differences of the reference blocks in the second reference block set of the current subblock may be adopted as a predictor of the first motion vector difference of the current subblock. If all existing first motion vector differences of the reference blocks in the second reference block set of the specific current subblock do not exist, the predictor of the first motion vector difference of the current subblock may be set to zero vector.
  • Block 807 may also be implemented as follows.
  • the encoder selects one of the existing first motion vector differences of the reference blocks in the second reference block set of the current subblock calculated at block 806, and predicts the selected value of the first motion vector difference of the current subblock.
  • the index of the selected value is recorded in the bit stream.
  • the decoder selects the correct value according to the index in the bit stream from the existing first motion vector differences of the reference blocks in the second reference block set of the current sub-block calculated at block 806, and selects the selected value of the current sub-block.
  • a predictor of the first motion vector difference is determined.
  • the transmitted index in the bit stream is derived from the predictor of the first motion vector difference of the current sub-block mentioned in the method of transmitting the derived information in the bit stream to calculate the predictor of the first motion vector difference in the description of FIG. Can be adopted as.
  • the subblocks can share the predictor of the first motion vector difference. In this case, the calculation process of the predictor of the first motion vector difference must be performed only once for the entire current block E, and only one index of the first motion vector difference is transmitted into the bit stream.
  • the first motion vector difference of the reference blocks in the second reference block set may be scaled with respect to the current subblock in each of these blocks.
  • a second predictor of the motion vector of the current subblock is derived according to the first predictor of the motion vector of the current subblock and the predictor of the first motion vector difference of the current subblock.
  • Block 808 is similar to block 207 described in the first embodiment, and differs from block 207 in that each current subblock is processed separately.
  • the second predictor of the motion vector of the current subblock is the predictor of the motion vector of the current subblock used in the encoding or decoding process of the current subblock.
  • the sixth embodiment is as follows.
  • FIG. 11 is a flowchart of a sixth embodiment of the present invention.
  • 12 is a schematic diagram illustrating reference blocks of a first category of a current block according to an embodiment of the present invention.
  • 13 is a schematic diagram depicting reference blocks of a second category of the current block according to an embodiment of the present invention.
  • a method for obtaining motion information is implemented as follows.
  • the current block E is divided into E1 and E2.
  • the current block is divided into E1 and E2.
  • the following blocks 1102-1108 are performed for E1 and E2, respectively.
  • the second reference block set of the current subblock is determined.
  • Block 1102 may be implemented as follows.
  • E1 and E2 have different second reference block sets. However, each second reference block set only includes reference blocks of the second category.
  • the reference blocks of the second category of E1 and E2 include B1, B2, B3, B4, and B5.
  • B1, B2, and B3 overlap block E in space.
  • B4 and B5 are close to block E in space.
  • the reference blocks in the first reference block set of the current subblock may be set to a block including a point having a spatial position equal to the center of the current subblock.
  • B1 may be a reference block in the second reference block set of the current subblock.
  • B3 may be a reference block in the second reference block set of the current subblock.
  • a motion vector of each reference block in the second reference block set of the current subblock and a first predictor of the motion vector of the reference block in the second reference block set of the current subblock are obtained.
  • the first motion vector difference between the motion vector of the reference block and the first predictor of the motion vector of the reference block is calculated.
  • the motion vector and the first motion vector difference can be scaled to fit this block.
  • the predictor of the first motion vector difference of the current subblock is calculated according to the first motion vector difference of each reference block in the second reference block set of the current subblock obtained at block 1103.
  • Block 1104 may be implemented as follows.
  • the first motion vector difference of the reference block in the second reference block set of the current subblock obtained in block 1103 may be directly adopted as a predictor of the first motion vector difference of the current subblock. If there is no first motion vector difference of a particular subblock in the second reference block set, the predictor of the first motion vector difference of the current subblock is set to a zero vector.
  • the first motion vector difference in this block can be scaled.
  • a first motion vector difference of the current subblock is determined.
  • Block 1105 may be implemented as follows.
  • E1 and E2 have different first reference block sets. However, each first reference block set only includes reference blocks of the first category.
  • the reference blocks of the first category of E1 and E2 include AL1, AL2, AC1, AU1, AU2 and AU3.
  • the reference blocks of the first reference block set of the current subblock may be composed of a block located to the left of the upper left corner of the current subblock and a block above the upper left corner of the current subblock. For example, if the current subblock is E1, AL2 and AU1 are the reference blocks in the first reference block set of the current subblock. If the current sub block is E2, E1 and AU2 are reference blocks in the first reference block set of the current sub block.
  • the motion vector of each reference block in the first reference block set of the current sub-block is obtained at block 1106, if the motion vector of the specific reference blocks in the first reference block set does not exist, then the motion vector of the reference block is An indication is returned indicating that it does not exist.
  • the first predictor of the motion vector of the current sub-block is obtained according to the motion vector of each reference block in the first reference block set of the current sub-block in block 1106.
  • Block 1107 may be implemented as follows.
  • the minimum value of the motion vectors of the reference blocks in the first reference block set of the current subblock may be adopted as the first predictor of the motion vector of the current subblock. If the motion vectors of the reference blocks in the first reference block set of the current subblock are not all present, the first predictor of the motion vector of the current subblock is set to a zero vector.
  • the motion vectors of the reference blocks in the first reference block set in this block may be scaled.
  • a second predictor of the motion vector of the current subblock is obtained according to the first predictor of the motion vector of the current subblock and the predictor of the first motion vector difference of the current subblock.
  • Block 1108 is similar to block 207 described in the first embodiment. The difference between the block 207 and the process performed in the current sub-block is different.
  • the second predictor of the motion vector of the current subblock is obtained from the motion vector of the current subblock that can be used in the encoding or decoding process of the current subblock.
  • a predictor, a candidate of a predictor of the first motion vector difference of the current subblock, a motion vector of the current subblock, or a candidate of the motion vector of the current subblock may be adopted.
  • This embodiment differs from the fifth embodiment in that the subblocks of the current block are processed sequentially, but the fifth embodiment is processed at the same time.
  • the seventh embodiment is described as follows.
  • FIG. 14 is a schematic diagram illustrating an apparatus for obtaining motion information according to an embodiment of the present invention.
  • Figure 15 is a schematic diagram illustrating an input of the device according to an embodiment of the present invention.
  • 16 is a schematic diagram illustrating a prediction unit of the apparatus according to an embodiment of the present invention.
  • an apparatus for obtaining motion information in an encoder / decoder or a video encoding or decoding system is provided according to an embodiment.
  • the apparatus includes an input unit 141, a predictor 142, and a calculator 143.
  • the input unit 141 inputs motion information of reference blocks in the first reference block set and the second reference block set of the current block or subblock.
  • the input unit 141 may be implemented as follows. As shown in FIG. 15, the input unit 141 includes a first reference block set information input unit and a second reference block set information input unit.
  • the first reference block set information input unit inputs a motion vector of a reference block in the first reference block set of the current block or subblock.
  • the second reference block set information input section includes a first reference between the motion vector of the reference block in the second reference block set of the current block or subblock and the first predictor of the motion vector of the reference block in the second reference block set of the current block or subblock. 1 Enter the motion vector difference.
  • the second reference block set information input unit is configured to obtain the first prediction information of the motion vector of the reference block in the second reference block set of the current block or subblock and the motion vector of the reference block in the second reference block set of the current block or subblock. Input, and calculate a first motion vector difference of the reference block in the second reference block set of the current block or sub-block.
  • the predictor 142 calculates a first predictor of the motion vector of the current block or subblock and a predictor of the difference of the first motion vector of the current block or subblock.
  • the prediction unit 142 may be implemented as follows. As shown in FIG. 16, the predictor 142 calculates a first predictor that calculates a first predictor of a motion vector of a current block or a subblock, and a predictor that calculates a predictor of a difference between a first motion vector of a current block or a subblock. It includes 2 predictors.
  • the calculation unit 143 calculates a second predictor of the motion vector of the current block or the subblock according to the first predictor of the motion vector of the current block or the subblock and the predictor of the difference of the first motion vector of the current block or the subblock. do. After the second predictor of the motion vector of the current block or subblock is obtained, the calculator 143 may use the second predictor of the motion vector of the current block or subblock to encode or decode the current block or subblock. It may be adopted as a predictor of the motion vector of the current block or subblock, a candidate of the predictor of the motion vector of the current block or subblock, a motion vector of the current block or subblock, or a candidate of the motion vector of the current block or subblock.
  • the motion vector of the current block or subblock is predicted according to the reference blocks of the first reference block set to obtain a first predictor of the motion vector of the current block or subblock.
  • the first motion vector difference of the current block or subblock is predicted according to the reference blocks of the second reference block set to obtain a predictor of the first motion vector difference of the current block or subblock.
  • the second predictor of the motion vector of the current block or subblock is obtained according to the first predictor of the motion vector of the current block or subblock and the predictor of the difference of the first motion vector of the current block or subblock.
  • the second predictor is a predictor of a motion vector of the current block or subblock, a candidate of a predictor of the motion vector of the current block or subblock, a motion vector of the current block or subblock, which can be used for encoding or decoding the current block, or It may be adopted as a candidate of the motion vector of the current block or subblock.
  • the first predictor of the motion vector is the final predictor of the motion vector of the current block or subblock, the candidate of the predictor of the motion vector of the current block or subblock, the motion vector or the current block of the current block or subblock. Or as a candidate of the motion vector of the subblock. Based on the existing method of predicting motion vectors, auxiliary prediction of motion vectors has been introduced.
  • the accuracy of the predicted or derived motion vectors is improved through the predictors of the motion vector differences.
  • the transmitted motion vector difference is reduced. Therefore, the compression efficiency of the motion vector is improved.
  • a motion vector optimized for the second encoding or decoding method mentioned in the background art is derived, video encoding performance is improved.
  • the first reference block set includes only reference blocks of the first category and the second reference block set only includes reference blocks of the second category or the first reference block set only includes reference blocks of the second category
  • the correlation of the motion vector in both the spatial domain and the temporal domain can be eliminated without increasing the complexity of the two predictions. That is, a larger coding performance gain can be obtained at a relatively lower cost.

Landscapes

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

Abstract

현재 블록 또는 서브 블록의 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터에 따라 상기 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자를 계산하고, 상기 현재 블록 또는 서브 블록의 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터와 상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이를 결정하며, 상기 현재 블록 또는 서브 블록의 상기 제 1움직임 벡터 차이의 예측자를 획득하기 위하여 상기 제 2 참조 블록 세트 안의 각 참조 블록의 상기 제 1 움직임 벡터 차이에 따라 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터와 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1예측자 간의 제 1 움직임 벡터 차이를 예측하고, 및 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자와 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자에 따라 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 제 2 예측자를 결정하는 것을 특징으로 하는 비디오 부호화 또는 복호화에 있어서 움직임 정보를 획득하기 위한 방법이 개시되어 있다. 상기 방법으로 부호화 또는 복호화 성능이 향상될 수 있다.

Description

움직임 정보를 획득하기 위한 방법
본 발명은 비디오 부호화 또는 복호화에 있어서 움직임 정보를 획득하기 위한 방법에 관한 것이다.
일반적으로 사용되는 비디오 부호화 (encoding) 또는 복호화 (decoding) 기술들은 모두 하이브리드 구조에 기초하고, 주요 부호화 도구(coding tool)들은 예측 부호화(prediction coding), 변환 부호화(transform coding) 및 엔트로피 부호화(entropy coding)를 포함한다. 예측 부호화는 각각 시간축 안의 비디오 신호들의 상관관계(correlation)와 공간축 안의 비디오 신호들의 상관관계를 제거하는 인터-프레임 예측 부호화(inter-frame prediction coding)와 인트라-프레임 예측 부호화(intra-frame prediction coding)를 포함한다.
인터-프레임 예측 부호화는 부호화된 프레임의 이미지에 따라 현재 부호화된 프레임의 이미지를 예측할 수 있다. 그리고 예측 오차들(prediction residuals)은 변환되어 엔트로피 부호화된다. 현재 부호화된 프레임을 예측하기 위한 먼저 부호화된 프레임은 참조 프레임이라고 부른다. 참조 프레임 위의 예측 블록과 현재 부호화된 블록 간의 공간 위치 관계는 움직임 벡터로 복호화될 수 있다.
예측 기술들의 발전으로, 이미지의 예측 오차는 감소하고 있다. 따라서, 비트 스트림 안에서 이미지의 예측 오차 정보의 비율은 감소하고, 이에 따라 움직임 정보의 비중은 증가하였다. 움직임 벡터의 효율적인 부호화는 비디오 부호화의 성능에 있어서 중요하다.
비디오 부호화 또는 복호화에서 움직임 벡터를 처리하기 위한 두 가지 방법이 있다. 첫 번째 방법에서, 부호기는 움직임 추정을 통해 움직임 벡터를 획득한 후 움직임 벡터를 예측하고, 움직임 벡터와 움직임 벡터의 예측자 간의 움직임 벡터 차이를 비트 스트림(bit-stream)에 기록한다. 복호기는 같은 방법으로 움직임 벡터를 예측하고, 비트 스트림으로부터 읽은 움직임 벡터의 예측자와 움직임 벡터 차이에 따라 움직임 벡터를 재구성한다. 두 번째 방법은 부호기/복호기가 같은 방법으로 직접 움직임 벡터를 유도한다. 두 번째 방법으로 인해 비트 스트림 안에 움직임 벡터 차이를 전송할 필요가 없다. 그러나 어떠한 방법을 적용하여도, 움직임 정보는 유도된다. 유도된 움직임 정보는 움직임 벡터의 예측자, 움직임 벡터, 움직임 벡터의 예측자의 후보 또는 움직임 벡터의 후보가 될 수 있다.
H.264/Advanced Video Coding (AVC)에서, 움직임 벡터는 인터-프레임 예측 모드(inter-frame prediction mode)에서 중간값 예측 방법으로 예측된다. 중간값 예측 방법에서, 현재 부호화된 블록과 인접한 세 개의 부호화된 블록들은 선택되고, 세 개의 부호화된 블록들의 움직임 벡터들의 수평 성분들의 중간 값과 세 개의 부호화된 블록들의 움직임 벡터들의 수직 성분들의 중간 값은 각각 현재 부호화된 블록의 움직임 벡터의 예측자의 수평 성분과 수직 성분으로 채택된다. 시간적 다이렉트 모드(temporal direct mode)에서, 현재 부호화된 블록과 동일한 공간 위치를 가지는 참조 프레임의 블록의 움직임 벡터는 스케일링되고(scaled), 현재 부호화된 블록의 움직임 벡터로 채택된다.
Audio Video coding Standard (AVS)에서, 움직임 벡터는 인터-프레임 예측 모드에서 거리 중간값 방법으로 예측된다. 거리 중간값 방법에서 공간상 현재 부호화된 블록과 근접한 세 개의 부호화된 블록들은 선택되고, 세 개의 부호화된 블록들의 움직임 벡터들 중 두 움직임 벡터 사이의 거리는 계산되며, 계산된 거리들의 중간값에 대응되는 움직임 벡터가 현재 부호화된 블록의 움직임 벡터의 예측자로 채택된다. 시간적 다이렉트 모드에서 현재 부호화된 블록과 동일한 공간 위치를 가지는 참조 프레임의 블록의 움직임 벡터는 스케일링되고 현재 부호화된 블록의 움직임 벡터로 채택된다.
최신 국제 비디오 부호화 표준인 High Efficiency Video Coding (HEVC)에서, 움직임 벡터 경쟁 기법(motion vector competition scheme)이 소개되었다. 움직임 벡터 경쟁 계획에서, 후보 움직임 벡터 세트는 규칙에 따라 유도되고, 적합한 후보 움직임 벡터가 후보 움직임 벡터 세트 중에서 선택되어, 현재 부호화된 움직임 벡터의 예측자로 채택된다. 그리고 선택된 움직임 벡터는 비트 스트림으로 전송된다. 후보 움직임 벡터 세트 공간적 후보 움직임 벡터들과 시간적 후보 움직임 벡터들을 포함할 수 있다. 공간적 후보 움직임 벡터들은 현재 부호화된 블록과 인접한 좌측 블록들과 상단 블록들의 움직임 벡터들로부터 특정 규칙과 우선권에 따라 선택될 것이다. 시간적 후보 움직임 벡터들은 현재 부호화된 블록과 공간적으로 인접하거나 같은 공간 위치를 가지는 참조 프레임의 블록들의 움직임 벡터들로부터 특정 규칙과 우선권에 따라 선택될 것이다.
기존의 기술들에서 움직임 벡터는 오직 한 번 유도되거나 예측되고, 유도 또는 예측된 값은 최종 움직임 벡터 또는 예측자로 채택된다. 그러나 서로 공간적 또는 시간적으로 인접한 블록들의 움직임 벡터 차이들은 여전히 상관관계를 가지고 있고, 움직임 벡터 차이들 간의 상관관계는 기존의 비디오 부호화 또는 복호화 방법에서 이용되지 않는다. 예를 들어 중간값 또는 거리에 기초한 움직임 벡터 예측 또는 유도 방법에서, 오직 현재 부호화된 블록의 동일한 프레임에 위치한 블록들의 움직임 벡터들만이 고려되고, 따라서 오직 공간 영역의 움직임 벡터들의 상관관계만이 제거될 수 있다. 그러나 움직임 벡터 차이들은 여전히 시간 영역의 움직임 벡터들의 상관관계를 갖는다. H.264/AVC 및 AVS의 시간적 다이렉트 모드에서, 움직임 벡터 유도 방법은 오직 현재 부호화된 블록의 동일한 공간 위치에 위치한 참조 프레임들 위의 블록들의 움직임 벡터들만이 고려된다. 이 방법을 통해 유도된 움직임 벡터는 시간적 상관관계를 활용하지만, 동일한 프레임 안의 현재 부호화된 블록과 현재 부호화된 블록에 인접한 블록들과 간의 상관관계를 고려하지 않는다. 따라서, 유도된 움직임 벡터들은 최적이 아니다. HEVC의 경쟁 계획에 기초한 움직임 벡터 예측 및 유도 방법에서, 시간적 후보 움직임 벡터와 공간적 후보 움직임 벡터 모두 후보 움직임 벡터 세트 안에 포함되고 최적 움직임 벡터가 선택되더라도, 인접 블록들의 움직임 벡터 차이들은 여전히 상관관계를 가지고 있다.
본 발명의 일 실시 예는, 비디오 이미지의 현재 블록 또는 서브 블록의 움직임 정보를 결정하는 방법을 포함하는 비디오 부호화 또는 복호화에 있어서 움직임 정보를 획득하기 위한 방법을 제공한다.
본 발명의 다른 실시 예는, 비디오 부호화 또는 복호화에 있어서 움직임 정보를 획득하기 위한 장치를 제공한다.
비디오 부호화 또는 복호화에 있어서 움직임 정보를 획득하기 위한 방법은 비디오 이미지의 현재 블록 또는 서브 블록의 움직임 정보를 결정하는 과정을 포함한다. 이 과정은
현재 블록 또는 서브 블록의 제 1 참조 블록 세트의 각 참조 블록의 움직임 벡터에 따라 상기 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자를 계산하는 단계,
현재 블록 또는 서브 블록의 제 2 참조 블록 세트의 각 참조 블록의 움직임 벡터와 현재 블록 또는 서브 블록의 제 2 참조 블록 세트의 참조 블록의 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이를 결정하고, 현재 블록 또는 서브 블록의 제 1움직임 벡터 차이의 예측자를 획득하기 위하여 제 2 참조 블록 세트의 각 참조 블록의 제 1 움직임 벡터 차이에 따라 현재 블록 또는 서브 블록의 움직임 벡터와 현재 블록 또는 서브 블록의 움직임 벡터의 예측자 간의 제 1 움직임 벡터 차이를 예측하는 단계, 및
현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 예측자와 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자에 따라 현재 블록 또는 서브 블록의 움직임 벡터의 제 2 예측자를 결정하는 단계를 포함할 수 있다.
비디오 부호화 또는 복호화에서의 움직임 정보를 획득하기 위한 장치에 있어서,
현재 블록 또는 서브 블록의 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터를 획득하고, 상기 현재 블록 또는 서브 블록의 제 2 참조 블록 세트 안의 각 참조 블록과 상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이를 결정하는 입력부,
상기 제 1 참조 블록 세트 안의 각 참조 블록의 상기 움직임 벡터에 따라 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자를 계산하고, 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자를 획득하기 위하여 상기 제 2 참조 블록 세트 안의 각 참조 블록의 상기 제 1 움직임 벡터 차이에 따라 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이를 예측하는 예측부, 및
상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자에 따라 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 제 2 예측자를 결정하는 계산부를 포함할 수 있다.
상기 제 1 참조 블록 세트는 최초로 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터를 예측하거나 유도하기 위한 참조 블록들을 포함하고,
상기 제 2 참조 블록 세트는 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이를 예측하기 위한 참조 블록들을 포함할 수 있다.
기존의 비디오 부호화 또는 복호화 방법에서, 움직임 벡터는 오직 한 번만 유도되거나 예측되었다. 그러나 공간적 또는 시간적으로 인접한 블록의 움직임 벡터 차이는 여전히 상관 관계를 가지고 있다. 따라서, 움직임 벡터 차이들의 상관관계를 완전히 활용하기 위해, 본 발명은 움직임 벡터를 2회 유도하거나 예측하여 움직임 벡터를 더 정확히 유도 또는 예측할 수 있다.
도 1은 본 발명의 실시 예에 따른 움직임 벡터를 구하는 방법을 설명하는 순서도이다.
도 2는 본 발명에 따른 제 1 실시 예의 흐름도이다.
도 3은 본 발명의 일 실시 예에 따라 현재 블록의 제 1 카테고리의 참조 블록을 나타낸 개략도이다.
도 4는 본 발명에 따른 제 2 실시 예의 흐름도이다.
도 5는 본 발명의 일 실시 예에 따라 현재 블록의 제 2 카테고리의 참조 블록을 나타낸 개략도이다.
도 6은 본 발명에 따른 제 3 실시 예의 흐름도이다.
도 7은 본 발명에 따른 제 4 실시 예의 흐름도이다.
도 8은 본 발명에 따른 제 5 실시 예의 흐름도이다.
도 9는 본 발명의 다른 실시 예에 따라 현재 블록의 제 1 카테고리의 참조 블록을 나타낸 개략도이다.
도 10은 본 발명의 다른 실시 예에 따라 현재 블록의 제 2 카테고리의 참조 블록을 나타낸 개략도이다.
도 11은 본 발명에 따른 제 6 실시 예의 흐름도이다.
도 12는 본 발명의 다른 실시 예에 따라 현재 블록의 제 1 카테고리의 참조 블록을 나타낸 개략도이다.
도 13은 본 발명의 다른 실시 예에 따라 현재 블록의 제 2 카테고리의 참조 블록을 나타낸 개략도이다.
도 14는 본 발명의 실시 예에 따른 움직임 정보를 획득하기 위한 장치를 나타내는 개략도이다.
도 15는 본 발명의 실시 예에 따른 장치에서의 입력부의 구성을 나타내는 개략도이다.
도 16은 본 발명의 실시 예에 따른 장치에 있어서의 예측부 구성을 나타내는 개략도이다.
본 발명은 비디오 부호화 또는 복호화에 있어서 움직임 정보를 획득하기 위한 방법 및 장치를 제공한다. 상기 방법 및 장치로써 부호화 성능을 향상시킬 수 있다. 다음과 같이 본 발명의 해결책이 구현된다.
비디오 부호화 또는 복호화에 있어서 움직임 정보를 획득하기 위한 방법은 비디오 이미지의 현재 블록 또는 서브 블록의 움직임 정보를 결정하는 과정을 포함한다. 이 과정은
현재 블록 또는 서브 블록의 제 1 참조 블록 세트의 각 참조 블록의 움직임 벡터에 따라 상기 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자를 계산하는 단계,
현재 블록 또는 서브 블록의 제 2 참조 블록 세트의 각 참조 블록의 움직임 벡터와 현재 블록 또는 서브 블록의 제 2 참조 블록 세트의 참조 블록의 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이를 결정하고, 현재 블록 또는 서브 블록의 제 1움직임 벡터 차이의 예측자를 획득하기 위하여 제 2 참조 블록 세트의 각 참조 블록의 제 1 움직임 벡터 차이에 따라 현재 블록 또는 서브 블록의 움직임 벡터와 현재 블록 또는 서브 블록의 움직임 벡터의 예측자 간의 제 1 움직임 벡터 차이를 예측하는 단계, 및
현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 예측자와 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자에 따라 현재 블록 또는 서브 블록의 움직임 벡터의 제 2 예측자를 결정하는 단계를 포함할 수 있고,
상기 제 1 참조 블록 세트는 최초로 현재 블록 또는 서브 블록의 움직임 벡터를 예측하거나 유도하기 위한 참조 블록들을 포함하고,
상기 제 2 참조 블록 세트는 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이를 예측하기 위한 참조 블록들을 포함할 수 있다.
상기 현재 블록의 상기 제 1 참조 블록 세트는 현재 프레임 안의 상기 현재 블록에 인접한 부호화된 블록 또는 복호화된 블록을 포함하거나, 상기 현재 프레임의 참조 프레임 안의 공간적으로 상기 현재 블록에 인접하거나 겹치는 부호화된 블록 또는 복호화된 블록을 포함하고,
상기 현재 블록의 상기 제 2 참조 블록 세트는 상기 현재 블록에 인접한 상기 현재 프레임에서 부호화된 블록 또는 복호화된 블록을 포함하거나, 상기 현재 프레임의 상기 참조 프레임 안에 공간적으로 상기 현재 블록에 인접하거나 겹치는 부호화된 블록 또는 복호화된 블록을 포함하고,
상기 현재 서브 블록의 상기 제 1 참조 블록 세트는 상기 현재 서브 블록 또는 상기 현재 서브 블록의 상기 블록에 인접한 상기 현재 프레임에서 부호화된 블록 또는 복호화된 블록을 포함하거나, 공간적으로 상기 현재 서브 블록 또는 상기 현재 서브 블록의 상기 블록에 인접하거나 겹치는 상기 현재 프레임의 상기 참조 프레임에서 부호화된 블록 또는 복호화된 블록을 포함하고, 및
상기 현재 서브 블록의 상기 제 2 참조 블록 세트는 상기 현재 서브 블록 또는 상기 현재 서브 블록의 상기 블록에 인접한 상기 현재 프레임에서 부호화된 블록 또는 복호화된 블록을 포함하거나, 공간적으로 상기 현재 서브 블록 또는 상기 현재 서브 블록의 상기 블록에 인접하거나 겹치는 상기 현재 프레임의 상기 참조 프레임에서 부호화된 블록 또는 복호화된 블록을 포함할 수 있다.
상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자를 계산하는 단계에 있어서,
부호기에 의하여, 상기 현재 블록 또는 서브 블록의 상기 제 1 참조 블록 세트 안의 각 참조 블록의 상기 모션 벡터에 따라 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자를 유도하고, 비트 스트림에 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자의 유도 정보를 기록하는 단계, 및
복호기에 의하여, 상기 현재 블록 또는 서브 블록의 상기 제 1 참조 블록 세트 안의 각 참조 블록의 상기 모션 벡터에 따라 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자와 상기 비트 스트림 안의 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자의 상기 유도 정보를 유도하는 단계를 포함할 수 있다.
상기 제 2 참조 블록 세트 안의 각 참조 블록의 상기 움직임 벡터와 상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 움직임 벡터의 상기 제 1 예측자 간의 상기 제 1 움직임 벡터 차이를 결정하는 단계에 있어서,
상기 현재 블록 또는 서브 블록의 상기 움직임 정보가 결정된 때, 상기 제 2 참조 블록 세트 안의 각 참조 블록의 상기 움직임 벡터와 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 움직임 벡터의 제 1 예측자를 획득하고, 상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트의 상기 참조 블록의 상기 제 1 움직임 벡터 차이로 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 움직임 벡터와 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 움직임 벡터의 상기 제 1 예측자 간의 차이를 선택하는 단계,
상기 현재 블록 또는 서브 블록의 제 2 참조 블록 세트 안의 각 참조 블록에 대하여, 상기 참조 블록의 움직임 정보가 결정된 후, 상기 참조 블록의 다음에 처리되는 블록 또는 서브 블록의 움직임 정보가 결정되기 전에, 상기 참조 블록의 상기 제 1 움직임 벡터 차이로 상기 참조 블록의 움직임 벡터와 상기 참조 블록의 상기 움직임 벡터의 제 1 예측자 간의 차이를 선택하고, 상기 참조 블록의 상기 제 1 움직임 벡터 차이를 저장하는 단계, 및
상기 현재 블록 또는 서브 블록의 상기 움직임 정보가 결정되면, 상기 제 2 참조 블록 세트 안의 각 참조 블록의 저장된 제 1 움직임 벡터 차이를 획득하는 단계를 포함할 수 있다.
상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트의 참조 블록의 움직임 벡터 또는 상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트의 상기 참조 블록의 상기 움직임 벡터의 예측자가 존재하지 않을 때, 상기 움직임 정보를 획득하기 위한 방법은,
상기 참조 블록의 제 1 움직임 벡터 차이는 상기 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 상기 예측자의 계산에 사용되지 않을 때, 상기 참조 블록의 상기 제 1 움직임 벡터 차이가 존재하지 않는다고 판단하는 단계, 또는
상기 참조 블록의 제 1 움직임 벡터 차이는 상기 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 상기 예측자의 계산에 사용될 때, 상기 참조 블록의 상기 제 1 움직임 벡터 차이를 영 벡터로 설정하는 단계를 포함할 수 있다.
상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 제 1 움직임 벡터 차이가 존재하지 않을 때, 상기 움직임 정보를 획득하기 위한 방법은 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자를 영 벡터로 설정하는 단계를 포함하거나,
상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트 안의 모든 참조 블록들의 제 1 움직임 벡터 차이들이 존재하지 않을 때, 상기 움직임 정보를 획득하기 위한 방법은 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자를 영 벡터로 설정하는 단계를 포함할 수 있다.
상기 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이를 예측하는 단계는,
상기 제 2 참조 블록 세트의 상기 참조 블록들의 제 1 움직임 벡터 차이들의 수평 성분들 중 최소값을 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자의 수평 성분으로 채택하고, 상기 제 2 참조 블록 세트의 상기 참조 블록들의 제 1 움직임 벡터 차이들의 수직 성분들 중 최소값을 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자의 수직 성분으로 채택하는 단계, 또는
상기 제 2 참조 블록 세트의 상기 참조 블록들의 제 1 움직임 벡터 차이들의 평균을 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자로 채택하는 단계, 또는
상기 제 2 참조 블록 세트의 상기 참조 블록들의 제 1 움직임 벡터 차이들의 수평 성분들 중 중간값을 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자의 수평 성분으로 채택하고, 상기 제 2 참조 블록 세트의 상기 참조 블록들의 제 1 움직임 벡터 차이들의 수직 성분들 중 중간값을 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자의 수직 성분으로 채택하는 단계, 또는
상기 제 2 참조 블록 세트의 상기 참조 블록들의 제 1 움직임 벡터 차이들 중 각 두 개 사이의 거리를 계산하고, 상기 거리들에 따라 상기 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 상기 예측자를 유도하는 단계, 또는
부호기에 의하여, 상기 제 2 참조 블록 세트의 각 참조 블록의 상기 제 1 움직임 벡터 차이에 따라 상기 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 상기 예측자를 유도하고, 상기 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 상기 예측자의 유도 정보를 비트 스트림에 기록하는 단계, 및 복호기에 의하여, 상기 제 2 참조 블록 세트 안의 각 참조 블록의 상기 제 1 움직임 벡터 차이에 따라 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자, 및 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자의 상기 유도 정보를 유도하는 단계를 포함할 수 있다.
상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 2 예측자를 결정하는 단계는,
상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자와 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자의 합 또는 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자와 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자의 가중합을 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 2 예측자로 채택하는 단계를 포함할 수 있다.
상기 현재 블록 또는 서브 블록의 상기 제 1 참조 블록 세트 안의 상기 참조 블록들은 상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트 안의 상기 참조 블록들과 동일하거나 다를 수 있다.
블록 내에서 다른 서브 블록들에 대하여, 서브 블록의 제 1 참조 블록 세트 안의 참조 블록들은 또 다른 서브 블록의 제 1 참조 블록 세트 안의 참조 블록들과 동일하거나 다르고, 서브 블록의 제 2 참조 블록 세트 안의 참조 블록들은 또 다른 서브 블록의 제 2 참조 블록 세트 안의 참조 블록들과 동일하거나 다를 수 있다.
상기 제 1 참조 블록 세트 또는 상기 제 2 참조 블록 세트 안의 참조 블록의 움직임 정보가 서브 블록 안에서 결정될 때, 상기 참조 블록은 서브 블록일 수 있다.
비디오 부호화 또는 복호화에서의 움직임 정보를 획득하기 위한 장치에 있어서,
현재 블록 또는 서브 블록의 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터를 획득하고, 상기 현재 블록 또는 서브 블록의 제 2 참조 블록 세트 안의 각 참조 블록과 상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이를 결정하는 입력부,
상기 제 1 참조 블록 세트 안의 각 참조 블록의 상기 움직임 벡터에 따라 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자를 계산하고, 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자를 획득하기 위하여 상기 제 2 참조 블록 세트 안의 각 참조 블록의 상기 제 1 움직임 벡터 차이에 따라 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이를 예측하는 예측부, 및
상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자에 따라 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 제 2 예측자를 결정하는 계산부를 포함하고,
상기 제 1 참조 블록 세트는 최초로 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터를 예측하거나 유도하기 위한 참조 블록들을 포함하고,
상기 제 2 참조 블록 세트는 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이를 예측하기 위한 참조 블록들을 포함할 수 있다.
상기 해결책에서 알 수 있는 바와 같이, 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터는 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 제 1 예측자를 획득하기 위하여 예측된다. 그리고 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이는 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자를 유도하기 위하여 상기 제 2 참조 블록 세트 안의 참조 블록들의 제 1 움직임 벡터 차이들에 따라 예측된다. 그 후에, 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 2 예측자는 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자와 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자에 따라 획득되고, 현재 블록의 움직임 벡터의 최종 예측자, 현재 블록의 움직임 벡터의 예측자의 후보, 현재 블록의 움직임 벡터 또는 현재 블록의 움직임 벡터의 후보로 채택될 수 있다. 상기 방법에 의해, 상기 참조 블록의 움직임 벡터 차이들과 현재 블록 또는 서브 블록 간의 상관 관계는 현재 블록 / 서브 블록의 움직임 벡터의 차이를 추정하는 것에 충분히 활용될 수 있고, 또한 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 정확한 제 2 예측자를 구하기 위하여 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자를 정정할 수 있다. 이로 인하여 움직임 정보와 부호화 성능의 정확도가 크게 향상될 수 있다.
본 발명의 목적, 기술적 해결책 및 효과를 명확히 하기 위하여, 아래에서 본 발명은 첨부 도면을 참조하여 상세히 설명될 것이다.
배경 기술에서 언급한 바와 같이, 기존의 비디오 부호화 또는 복호화 방법에서, 움직임 벡터는 오직 한 번만 유도되거나 예측되었다. 그러나 공간적 또는 시간적으로 인접한 블록의 움직임 벡터 차이는 여전히 상관 관계를 가지고 있다. 따라서, 부호화 성능은 상기 상관 관계를 활용함으로써 개선될 수 있다. 움직임 벡터 차이들의 상관관계를 완전히 활용하기 위해, 본 발명은 도1에서 도시되어 있는 것과 같이 움직임 벡터를 획득하기 위한 방법을 제공한다.
블록 (101)에서 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자는 현재 블록 또는 서브 블록의 제 1참조 블록 세트 안의 각 참조 블록의 움직임 벡터에 따라 계산된다.
제 1참조 블록 세트는 최초로 현재 블록 또는 서브 블록의 움직임 벡터를 예측하거나 유도하기 위하여 참조 블록들을 포함한다.
블록 (102)에서 현재 블록 또는 서브 블록의 제 2참조 블록 세트 안의 각 참조 블록의 움직임 벡터와 현재 블록 또는 서브 블록의 제 2참조 블록 세트 안의 참조 블록의 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이는 결정된다. 그리고 현재 블록 또는 서브 블록의 움직임 벡터와 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이는 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 예측자를 획득하기 위하여 제 2 참조 블록 세트 안의 각 참조 블록의 제 1 움직임 벡터 차이에 따라 예측된다.
제 2 참조 블록 세트는 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이를 예측하기 위하여 참조 블록들을 포함한다.
블록 (103)에서 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 예측자와 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자에 따라 현재 블록 또는 서브 블록의 움직임 벡터의 제 2 예측자는 결정된다.
그러므로, 움직임 정보를 획득하기 위한 방법의 흐름도는 종료된다. 위 흐름도에서 획득된 움직임 벡터의 제 2 예측자는 현재 블록 또는 서브 블록의 부호화 또는 복호화를 위해 사용될 수 있는 현재 블록 또는 서브 블록의 움직임 벡터의 예측자, 현재 블록 또는 서브 블록의 움직임 벡터의 예측자의 후보, 현재 블록 또는 서브 블록의 움직임 벡터 또는 현재 블록 또는 서브 블록의 움직임 벡터의 후보로 채택될 수 있다. 상기 흐름도에서 알 수 있는 바와 같이, 움직임 정보를 획득하기 위한 방법은 움직임 벡터의 보조적인 예측 또는 유도 방법으로 간주될 수 있다. 움직임 벡터의 예측 프로세스에서, 움직임 벡터의 예측 이후 최초로 생성되는 움직임 벡터 차이는 움직임 벡터 차이의 예측자를 획득하기 위하여 다시 예측될 수 있다. 그리고 움직임 벡터의 최후 예측자는 상기 두 개의 예측들 (predictions) 의 결과에 따라 획득될 수 있다. 움직임 벡터의 유도 프로세스에서, 움직임 벡터의 유도된 값이 먼저 획득되고, 움직임 벡터 차이의 유도된 값이 근접한 블록들의 제 1 움직임 벡터 차이들의 정보에 따라 획득된다. 그리고 움직임 벡터의 최후 유도 변수는 상기 두 개의 유도된 값에 따라 획득된다. 그렇게 함으로써 유도된 움직임 벡터의 정확성이 향상될 수 있다.
최초로 예측 프로세스를 통해 획득된 현재 블록 또는 서브 블록의 움직임 벡터의 예측자와 최초로 유도 프로세스를 통해 획득된 현재 블록 또는 서브 블록의 움직임 벡터의 유도된 값은 움직임 벡터의 제 1 예측자라고 칭한다. 본 발명에서 두 번의 예측들 (predictions) 또는 두 번의 유도들 (derivations)의 결과에 따른 획득된 움직임 벡터의 추정 결과는 움직임 벡터의 제 2 예측자라고 칭한다. 비트 스트림 안의 유도 정보 전송 방법은 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자 및/또는 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 예측자의 계산에 적용될 수 있다. 이 방법에서 부호기)는 움직임 벡터의 제 1 예측자의 유도 정보 및/또는 제 1 움직임 벡터 차이의 예측자의 유도 정보를 비트 스트림에 기록한다. 그리고 복호기는 비트 스트림의 유도 정보를 따라 움직임 벡터의 제 1 예측자 및/또는 제 1 움직임 벡터 차이의 예측자를 계산한다.
현재 프레임(current frame)과 현재 블록과 공간상 근접하거나 겹치는 참조 프레임(reference frame)의 블록들은 모두 본 발명의 두 번의 예측 또는 유도 프로세스들에 사용되거나, 각각 본 발명의 두 예측 또는 유도 프로세스들에 사용될 수 있다. 따라서 다른 블록들의 움직임 벡터들의 공간적, 시간적 상관관계는 최대로 제거될 수 있고, 움직임 벡터들의 부호화 효율은 증가할 수 있다.
블록이 여러 개의 서브 블록으로 분리되면, 움직임 정보를 획득하기 위한 방법은 각 서브 블록의 움직임 정보를 획득하기 위하여 각 서브 블록에 적용된다. 블록과 서브 블록 안의 움직임 정보를 획득하기 위한 방법은 본 발명의 실시 예들을 따라 구현될 수 있다. 본 발명의 솔루션은 실시 예를 참고하여 설명된다.
제 1, 2, 3 및 4 실시 예들에서, 움직임 정보는 현재 블록에 대하여 결정된다. 그리고 현재 블록의 움직임 정보를 유도하는 흐름도는 각 실시 에에 제공된다. 제 5 및 6실시 예들에서, 현재 블록이 여러 개의 서브 블록들로 분리된다. 그리고 움직임 정보는 각 서브 블록에 대하여 결정된다. 그리고 서브 블록들의 움직임 정보를 유도하는 흐름도는 각 실시 예에 제공된다.
제 1 실시 예는 다음과 같이 설명된다.
도 2 는 본 발명에 따른 제 1 실시 예의 흐름도이다. 도 3은 본 발명의 일 실시 예에 따른 현재 블록의 제 1 카테고리의 참조 블록들을 설명하는 개략도이다. 도 2에서 볼 수 있듯이 제 1 실시 예에 따라 움직임 정보를 획득하는 방법은 다음 블록들을 포함한다.
블록 (201)에서 현재 블록의 제 1 참조 블록 세트는 결정된다.
본 발명에서, 제 1 참조 블록 세트와 제 2 참조 블록 세트는 적어도 제1 카테고리의 참조 블록과 제 카테고리의 참조 블록 중 하나를 포함한다. 제 1 카테고리의 참조 블록들은 현재 블록과 인접한 현재 프레임의 부호화 또는 복호화된 블록이다. 제 2 카테고리의 참조 블록들은 공간적으로 현재 블록들과 겹치거나 인접한 참조 프레임의 부호화 또는 복호화된 블록이다.
이 실시 예에서 블록(201)은 다음과 같이 구현될 수 있다. 제 1 참조 블록 세트는 오직 제 1 카테고리의 참조 블록들을 포함한다. 도 3에서 도시되어 있듯이, 현재 블록의 제 1 카테고리의 참조 블록들은 AL1, AL2, AU1, AU2, AU3, AC1 및 AC2을 포함한다. 이 실시 예에서 현재 블록의 제 1 참조 블록 세트 안의 참조 블록들은 현재 블록의 좌측 상단 꼭지점 위에 위치한 인접 블록 AU1, 현재 블록의 좌측 상단 꼭지점 좌측에 위치한 인접 블록 AL2 및 현재 블록의 좌측 상단 꼭지점의 좌측 상단에 위치한 인접 블록 AC2으로 구성될 수 있다.
블록(202)에서 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터는 획득된다.
블록(202)에서 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터가 획득된 때, 만약 제 1 참조 블록 세트 안의 특정 참조 블록의 움직임 벡터가 존재하지 않으면, 참조 블록의 움직임 벡터가 존재하지 않는다고 표시하는 표시가 리턴(return)된다.
블록 (203)에서 블록(202)에서 획득한 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터에 따라 현재 블록의 움직임 벡터의 제 1 예측자는 계산된다.
블록 (203)에서 기존의 부호화 또는 복호화 방법에서 사용되던 현재 블록의 움직임 벡터를 예측하고 유도하기 위한 동일한 방법에 따라 현재 블록의 움직임 벡터의 제 1 예측자는 계산될 수 있다.
블록 (203)은 다음과 같이 구현될 수 있다. 블록 (202)에서 획득된 움직임 벡터들의 수평 성분들의 평균 값과 블록 (202)에서 획득된 움직임 벡터들의 수직 성분들의 평균 값이 각각 계산되고, 현재 블록의 움직임 벡터의 예측자의 수평 성분과 현재 블록의 움직임 벡터의 예측자의 수직 성분으로 채택한다. 만약 제 1 참조 블록 세트 안의 특정 참조 블록의 움직임 벡터가 존재하지 않을 경우, 존재하지 않는 움직임 벡터는 영(zero) 벡터로 설정된다.
더 나아가, 제 1 참조 블록 세트 안의 참조 블록이 위치한 프레임과 제 1 참조 블록 세트 안의 참조 블록이 위치한 프레임의 참조 프레임 간의 거리가 현재 블록이 위치한 프레임과 현재 블록이 위치한 프레임의 참조 프레임 간의 거리와 다를 수 있다. 이에 따라, 부호화 또는 복호화 성능을 향상시키기 위하여, 제 1 참조 블록 세트 안의 참조 블록의 움직임 벡터는 블록 (203)에서 현재 블록의 움직임 벡터의 제 1 예측자가 결정되기 전에 제 1 참조 블록 세트 안의 참조 블록이 위치한 프레임과 제 1 참조 블록 세트 안의 참조 블록이 위치한 프레임의 참조 프레임 간의 거리와 현재 블록이 위치한 프레임과 현재 블록이 위치한 프레임의 참조 프레임 간의 거리에 따라 스케일링될 수 있다. 그리고 현재 블록의 움직임 벡터의 제 1 예측자는 스케일링된 움직임 벡터에 따라 계산될 수 있다. 그렇게 함으로써 제 1 예측자의 정확도가 향상될 수 있다.
블록 (204)에서 현재 블록의 제 2 참조 블록 세트는 결정된다.
블록 (204)는 다음과 같이 구현될 수 있다. 제 2 참조 블록 세트는 오직 제 1 카테고리의 참조 블록들을 포함한다. 도 3에서 볼 수 있듯이, 현재 블록의 제 1 카테고리의 참조 블록들은 AL1, AL2, AU1, AU2, AU3, AC1 및 AC2을 포함한다. 이 실시 예에서 현재 블록의 제 2 참조 블록 세트 안의 참조 블록들은 현재 블록의 좌측 상단 꼭지점 위에 위치한 인접 블록 AU1, 현재 블록의 좌측 상단 꼭지점 좌측에 위치한 인접 블록 AL2 및 현재 블록의 좌측 상단 꼭지점의 좌측 상단에 위치한 인접 블록 AC2으로 구성될 수 있다.
블록 (205)에서 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터와 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터의 제 1 예측자는 획득된다. 그리고 참조 블록의 움직임 벡터와 참조 블록의 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이가 계산된다.
블록 (205)에서 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터와 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터의 제 1 예측자가 획득될 때, 만약 각 참조 블록의 움직임 벡터 또는 각 참조 블록의 움직임 벡터의 제 1 예측자가 존재하지 않을 때, 참조 블록의 제 1 움직임 벡터 차이가 존재하지 않는다고 표시하는 표시가 리턴(return)된다.
제 2 참조 블록 세트 안의 참조 블록들은 모두 부호화된 블록들이다. 그러므로 제 2 참조 블록 세트 안의 참조 블록들의 움직임 벡터들과 제 2 참조 블록 세트 안의 참조 블록들의 움직임 벡터들의 제 1 예측자들은 생성된다. 여기서 각 참조 블록의 움직임 벡터와 참조 블록의 움직임 벡터의 제 1 예측자는 직접적으로 획득된다. 그리고 참조 블록의 제 1 움직임 벡터 차이를 획득하기 위하여 참조 블록의 움직임 벡터의 제 1 예측자는 참조 블록의 움직임 벡터에서 제(除)한다.
블록 (203)과 유사하게, 제 2 참조 블록 세트 안의 참조 블록이 위치한 프레임과 제 2 참조 블록 세트 안의 참조 블록이 위치한 프레임의 참조 프레임 간의 거리가 현재 블록이 위치한 프레임과 현재 블록이 위치한 프레임의 참조 프레임 간의 거리와 다를 수 있다. 이에 따라, 부호화 또는 복호화 성능을 향상시키기 위하여, 블록 (205)에서 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터와 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터의 제 1 예측자는 제 2 참조 블록 세트 안의 참조 블록의 제 1 움직임 벡터 차이가 계산되기 전에 제 2참조 블록 세트 안의 참조 블록이 위치한 프레임과 제 2 참조 블록 세트 안의 참조 블록이 위치한 프레임의 참조 프레임 간의 거리와 현재 블록이 위치한 프레임과 현재 블록이 위치한 프레임의 참조 프레임 간의 거리에 따라 스케일링될 수 있다. 그렇게 함으로써 제 2 참조 블록 세트 안의 참조 블록의 제 1 움직임 벡터 차이의 정확도가 향상될 수 있다.
도 2를 참조하여 현재 블록과 참조 블록 A의 움직임 정보가 유도된 대로 제 2 참조 블록 세트 안의 참조 블록 A가 정해질 때, 만약 참조 블록 A의 제 1 참조 블록 세트 안의 참조 블록의 움직임 벡터가 블록 203에서 스케일링되지 않은 경우, 참조 블록 A의 움직임 벡터의 제 1 예측자는 제 1참조 블록 세트 안의 참조 블록이 위치한 프레임과 제 1 참조 블록 세트 안의 참조 블록이 위치한 프레임의 참조 프레임 간의 거리와 현재 블록이 위치한 프레임과 현재 블록이 위치한 프레임의 참조 프레임 간의 거리에 따라 스케일링될 수 있다. 또는, 도 2를 참조하여 현재 블록과 참조 블록 A의 움직임 정보가 유도된 대로 제 2 참조 블록 세트 안의 참조 블록 A가 정해질 때, 만약 참조 블록 A의 제 1 참조 블록 세트 안의 참조 블록 B의 움직임 벡터가 블록 203에서 완전히 스케일링되지 않은 경우 (즉, 축적비(scale ratio))가 참조 블록 A가 위치한 프레임과 참조 블록 A가 위치한 프레임의 참조 프레임 간의 거리와 참조 블록 B가 위치한 프레임과 참조 블록 B가 위치한 프레임의 참조 프레임 간의 거리 사이의 거리 차이를 완전히 보상하지 못하는 경우), 거리 차이를 완전히 보상하기 위하여 참조 블록 A의 움직임 벡터의 제 1 예측자는 스케일링될 수 있다. 그리고 위 문단의 스케일링 프로세스와 제 2 참조 블록 세트 안의 각 참조 블록의 제 1 움직임 벡터 차이의 계산은 스케일링된 움직임 벡터들에 적용될 수 있다.
블록 (206)에서 현재 블록의 제 1 움직임 벡터 차이의 예측자는 블록 (205)에서 계산된 제 2 참조 블록 세트 안의 각 참조 블록의 제 1 움직임 벡터 차이에 따라 계산된다.
현재 블록의 제 1 움직임 벡터 차이는 제 2 참조 블록 세트 안의 참조 블록의 제 1 움직임 벡터 차이에 따라 예측된다. 예측 방법은 필요 조건들에 따라 선택될 수 있다. 예를 들어, 참조 블록들의 제 1 움직임 벡터 차이들의 가중 평균을 내는 것, 참조 블록들의 제 1 움직임 벡터 차이들의 수평 성분의 중간 값과 참조 블록들의 제 1 움직임 벡터 차이들의 수직 성분의 중간 값을 각각 선택하는 것, 또는 기존의 움직임 벡터 예측 방법들이 사용될 수 있다.
이 실시 예에서, 블록 (206)은 다음과 같이 구현될 수 있다. 블록 (205)에서 획득된 제 1 움직임 벡터 차이들의 최소 값은 현재 블록의 제 1 움직임 벡터의 예측자로 채택될 수 있다. 만약 제 2 참조 블록 세트 안의 특정 참조 블록의 제 1 움직임 벡터 차이가 존재하지 않는다면, 그 참조 블록의 제 1 움직임 벡터 차이는 계산 프로세스에서 고려되지 않을 수 있다. 만약 제 2 참조 블록 세트 안의 모든 참조 블록의 제 1 움직임 벡터 차이가 존재하지 않는다면, 현재 블록의 제 1 움직임 벡터 차이의 예측자는 영 벡터로 설정될 수 있다.
블록(203)과 유사하게, 제 2 참조 블록 세트 안의 참조 블록이 위치한 프레임과 제 2 참조 블록 세트 안의 참조 블록이 위치한 프레임의 참조 프레임 간의 거리가 현재 블록이 위치한 프레임과 현재 블록이 위치한 프레임의 참조 프레임 간의 거리와 다를 수 있다. 이에 따라, 만약 블록 (205)에서 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터와 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터의 제 1 예측자가 제 2참조 블록 세트 안의 참조 블록이 위치한 프레임과 제 2 참조 블록 세트 안의 참조 블록이 위치한 프레임의 참조 프레임 간의 거리와 현재 블록이 위치한 프레임과 현재 블록이 위치한 프레임의 참조 프레임 간의 거리에 따라 스케일링되지 않았거나 완전히 스케일링되지 않은 경우, 참조 블록의 제 1 움직임 벡터 차이는 블록 (206)에서 현재 블록의 제 1 움직임 벡터 차이의 예측자가 계산되기 전에 제 2참조 블록 세트 안의 참조 블록이 위치한 프레임과 제 2 참조 블록 세트 안의 참조 블록이 위치한 프레임의 참조 프레임 간의 거리와 현재 블록이 위치한 프레임과 현재 블록이 위치한 프레임의 참조 프레임 간의 거리에 따라 스케일링될 수 있다.
블록 (207)에서 현재 블록의 움직임 벡터의 제 2 예측자는 현재 블록의 움직임 벡터의 제 1 예측자와 현재 블록의 제 1움직임 벡터 차이의 예측자에 따라 유도된다.
현재 블록의 움직임 벡터의 제 2 예측자를 결정하는 방법은 현재 블록의 움직임 벡터의 제 1 예측자와 현재 블록의 제 1움직임 벡터 차이의 예측자에 대한 합계 또는 가중 합계 작업을 수행하는 방법을 포함한다.
블록 (203)과 유사하게, 제 2 참조 블록 세트 안의 참조 블록이 위치한 프레임과 제 2 참조 블록 세트 안의 참조 블록이 위치한 프레임의 참조 프레임 간의 거리가 현재 블록이 위치한 프레임과 현재 블록이 위치한 프레임의 참조 프레임 간의 거리와 다를 수 있다. 이에 따라, 부호화 또는 복호화 성능을 향상시키기 위하여, 만약 제 1 참조 블록 세트 안의 참조 블록의 움직임 벡터와 현재 블록의 움직임 벡터의 제 1 예측자가 제 1참조 블록 세트 안의 참조 블록이 위치한 프레임과 제 1 참조 블록 세트 안의 참조 블록이 위치한 프레임의 참조 프레임 간의 거리와 현재 블록이 위치한 프레임과 현재 블록이 위치한 프레임의 참조 프레임 간의 거리에 따라 스케일링되지 않았거나 완전히 스케일링되지 않은 경우, 참조 블록의 제 1 움직임 벡터 차이는 블록 (207)에서 현재 블록의 움직임 벡터의 제 2 예측자가 계산되기 전에 제1참조 블록 세트 안의 참조 블록이 위치한 프레임과 제 1 참조 블록 세트 안의 참조 블록이 위치한 프레임의 참조 프레임 간의 거리와 현재 블록이 위치한 프레임과 현재 블록이 위치한 프레임의 참조 프레임 간의 거리에 따라 스케일링될 수 있다. 만약 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터와 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터의 제 1 예측자 또는 제 2 참조 블록 세트 안의 참조 블록의 제 1 움직임 벡터 차이가 현재 블록의 제 2 참조 블록 세트 안의 블록의 제 1 참조 블록 세트 안의 참조 블록이 위치한 프레임과 현재 블록의 제 2 참조 블록 세트 안의 블록의 제 1 참조 블록 세트 안의 참조 블록이 위치한 프레임의 참조 프레임 간의 거리, 제 2 참조 블록 세트 안의 참조 블록이 위치한 프레임과 제 2 참조 블록 세트 안의 참조 블록이 위치한 프레임의 참조 프레임 간의 거리 및 현재 블록이 위치한 프레임과 현재 블록이 위치한 프레임의 참조 프레임 간의 거리에 따라 스케일링되지 않았거나, 완전히 스케일링되지 않은 경우, 현재 블록의 제 1 움직임 벡터 차이의 예측자는 블록 207에서 현재 블록의 움직임 벡터의 제 2 예측자가 유도되기 전에 제 2 참조 블록 세트 안의 참조 블록이 위치한 프레임과 제 2 참조 블록 세트 안의 참조 블록이 위치한 프레임의 참조 프레임 간의 거리와 현재 블록이 위치한 프레임과 현재 블록이 위치한 프레임의 참조 프레임 간의 거리에 따라 스케일링될 수 있습니다.
블록 (207)에서 현재 블록의 움직임 벡터의 제 2 예측자가 결정된 후에, 현재 블록의 움직임 벡터의 제 2 예측자는 현재 블록의 부호화 또는 복호화를 위해 사용될 수 있는 현재 블록의 움직임 벡터의 예측자, 현재 블록의 움직임 벡터의 예측자의 후보, 현재 블록 또는 서브 블록의 움직임 벡터 또는 현재 블록의 움직임 벡터의 후보로 채택될 수 있다.
그리고 제 1 실시 예에서 제공하는 방법 흐름도는 종료된다.
제 2 실시 예는 다음과 같이 설명된다.
도 4 는 본 발명에 따른 제 2 실시 예의 흐름도이다. 도 3는 본 발명의 일 실시 예에 따른 현재 블록의 제 1 카테고리의 참조 블록들을 설명하는 개략도이다. 도 5는 본 발명의 일 실시 예에 따른 현재 블록의 제 2 카테고리의 참조 블록들을 설명하는 개략도이다. 도 4에서 볼 수 있듯이 움직임 정보를 획득하는 방법은 다음과 같이 구현된다.
블록 (401)에서 현재 블록의 제 1 참조 블록 세트는 결정된다.
이 실시 예에서 블록 (401)은 다음과 같이 구현될 수 있다. 제 1 참조 블록 세트는 오직 제 1 카테고리의 참조 블록들을 포함한다. 도 3에서 도시되어 있듯이, 현재 블록의 제 1 카테고리의 참조 블록들은 AL1, AL2, AU1, AU2, AU3, AC1 및 AC2을 포함한다. 이 실시 예에서 현재 블록의 제 1 참조 블록 세트 안의 참조 블록들은 현재 블록의 좌측 상단 꼭지점 위에 위치한 인접 블록 AU1, 현재 블록의 좌측 상단 꼭지점 좌측에 위치한 인접 블록 AL2, 현재 블록의 좌측 상단 꼭지점의 좌측 상단에 위치한 인접 블록 AC2 및 현재 블록의 우측 상단 꼭지점의 우측 상단에 위치한 인접 블록 AU3으로 구성될 수 있다.
블록(402)에서 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터는 획득된다.
블록(402)에서 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터가 획득된 때, 만약 제 1 참조 블록 세트 안의 특정 참조 블록의 움직임 벡터가 존재하지 않으면, 참조 블록의 움직임 벡터가 존재하지 않는다고 표시하는 표시가 리턴된다.
움직임 벡터를 리턴하는 기존의 방법은 적용될 수 있다. 움직임 벡터를 리턴하는 방법은 다음과 같이 구현될 수 있다. 만약 블록 AU3가 움직임 벡터를 가진다면, 블록 AU3의 움직임 벡터는 리턴되어 mv3로 복호화되지만, 블록 AC2의 움직임 벡터는 리턴되지 않는다. 만약 블록 AU3는 움직임 벡터가 없고 대신 블록 AC2가 움직임 벡터를 가진다면, 블록 AC2의 움직임 벡터는 리턴되어 mv3으로 복호화된다. 만약 블록 AU3과 블록 AC2가 모두 움직임 벡터가 없다면, 영 벡터가 리턴되며 mv3로 복호화된다. 만약 블록 AU1가 움직임 벡터를 가진다면, 블록 AU1의 움직임 벡터는 리턴되어 mv1로 복호화된다. 만약 블록 AU2가 움직임 벡터를 가진다면, 블록 AU2의 움직임 벡터는 리턴되어 mv2로 복호화된다. 만약 블록 AU1이 움직임 벡터가 없다면, 영 벡터는 리턴되어 mv1로 복호화된다. 만약 블록 AU2이 움직임 벡터가 없다면, 영 벡터는 리턴되어 mv2로 복호화된다. 만약 특정 블록이 존재하지 않는다면, 그 블록은 모션 벡터가 없는 것으로 간주된다. 여기서 설명한 프로세스 방법은 본 발명의 다른 실시 예에도 적용될 수 있다.
블록 (403)에서 블록 (402)에서 획득한 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터에 따라 현재 블록의 움직임 벡터의 제 1 예측자는 계산된다.
현재 블록의 움직임 벡터의 제 1 예측자는 현재 블록의 움직임 벡터를 예측 또는 유도하는 기존의 부호화 또는 복호화 방법에서 사용된 방법과 동일한 방법에 따라 계산될 수 있다.
블록 (403)은 다음과 같이 구현될 수 있다. mv1의 수평 성분과 수직 성분은 각각 mv1_x과 mv1_y으로 복호화되고, mv2의 수평 성분과 수직 성분은 각각 mv2_x과 mv2_y으로 복호화되고, mv3의 수평 성분과 수직 성분은 각각 mv3_x과 mv3_y으로 복호화된다. 만약 mv1_x와 mv2_x가 같은 기호(sign)를 가진다면, mv1_x와 mv2_x의 평균은 현재 블록의 움직임 벡터의 제 1 예측자의 수평 성분으로 채택된다. 만약 mv1_x와 mv2_x가 다른 기호를 가지고, mv1_x와 mv3_x가 같은 기호를 가진다면, mv1_x와 mv3_x의 평균이 현재 블록의 움직임 벡터의 제 1 예측자의 수평 성분으로 채택된다. 만약 mv1_x와 mv2_x가 다른 기호를 가지고, mv2_x와 mv3_x가 같은 기호를 가진다면, mv2_x와 mv3_x의 평균이 현재 블록의 움직임 벡터의 제 1 예측자의 수평 성분으로 채택된다. 만약 mv1_y와 mv2_y가 같은 기호를 가진다면, mv1_y와 mv2_y의 평균은 현재 블록의 움직임 벡터의 제 1 예측자의 수직 성분으로 채택된다. 만약 mv1_y와 mv2_y가 다른 기호를 가지고, mv1_y와 mv3_y가 같은 기호를 가진다면, mv1_y와 mv3_y의 평균이 현재 블록의 움직임 벡터의 제 1 예측자의 수직 성분으로 채택된다. 만약 mv1_y와 mv2_y가 다른 기호를 가지고, mv2_y와 mv3_y가 같은 기호를 가진다면, mv2_y와 mv3_y의 평균이 현재 블록의 움직임 벡터의 제 1 예측자의 수직 성분으로 채택된다. 만약 특정 참조 블록의 움직임 벡터의 제 1 예측자가 존재하지 않을 경우, 참조 블록의 움직임 벡터는 영 벡터로 설정된다.
이 실시 예에서 현재 블록의 움직임 벡터와 현재 블록의 움직임 벡터의 제 1 예측자가 결정된 후, 현재 블록의 제 1 움직임 벡터 차이가 계산될 수 있다. 이 방법에서 현재 블록이 다음으로 진행되는 블록의 제 2 참조 블록 세트 안의 참조 블록으로 채택되는 때, 참조 블록의 제 1 움직임 벡터 차이는 바로 획득될 수 있다.
제 1 실시 예와 유사하게, 여기에 설명되지는 않았지만 블록 (403)에서 움직임 벡터는 스케일링된다.
블록 (404)에서 현재 블록의 제 2 참조 블록 세트는 결정된다.
블록(404)는 다음과 같이 구현될 수 있다. 제 2 참조 블록 세트는 오직 제 1 카테고리의 참조 블록들과 제 2 카테고리의 참조 블록들을 포함한다. 도 3에서 볼 수 있듯이, 현재 블록의 제 1 카테고리의 참조 블록들은 AL1, AL2, AU1, AU2, AU3, AC1 및 AC2을 포함한다. 이 실시 예에서 현재 블록의 제 2 참조 블록 세트 안의 제 1 카테고리의 참조 블록들은 현재 블록의 좌측 상단 꼭지점 위에 위치한 인접 블록 AU1, 현재 블록의 좌측 상단 꼭지점 좌측에 위치한 인접 블록 AL2 및 현재 블록의 좌측 상단 꼭지점의 좌측 상단에 위치한 인접 블록 AC2으로 구성될 수 있다. 도 5에서 볼 수 있듯이, 현재 블록의 제 2 카테고리의 참조 블록들은 B1, B2, B3, B4, B5, B6 및 B7을 포함한다. B1, B2, B3 및 B4는 공간상 현재 블록과 겹친다. B5, B6 및 B7는 공간상 현재 블록과 인접해 있다. 이 실시 예에서, 현재 블록의 제 2 참조 블록 세트 안의 제 2 카테고리의 참조 블록들은 현재 블록의 좌측 상단 꼭지점과 같은 공간에 위치한 점을 포함하는 B1, 현재 블록의 우측 하단 꼭지점과 같은 공간에 위치한 점을 포함하는 B4으로 구성될 수 있다.
블록 (405)에서 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터와 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이가 획득된다.
이 실시 예에서 현재 블록의 움직임 벡터와 현재 블록의 움직임 벡터의 제 1 예측자가 결정된 후, 현재 블록의 움직임 벡터와 현재 블록의 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이가 계산되고 저장된다. 이 블록 (405)에서 제 2 참조 블록 세트 안의 참조 블록들은 모두 부호화된 블록이다. 그리고 제 2 참조 블록 세트 안의 각 참조 블록의 제 1 움직임 벡터 차이는 생성되고 저장된다. 따라서 제 2 참조 블록 세트 안의 각 참조 블록의 제 1 움직임 벡터 차이는 바로 획득될 수 있다.
블록 (405)에서 제 2 참조 블록 세트 안의 각 참조 블록의 제 1 움직임 벡터 차이가 획득될 때, 특정 참조 블록의 제 1 움직임 벡터 차이가 존재하지 않을 때, 그 참조 블록의 제 1 움직임 벡터 차이가 존재하지 않는다고 표시하는 표시가 리턴된다.
블록 (406)에서 현재 블록의 제 1 움직임 벡터 차이의 예측자는 블록 (405)에서 계산된 제 2 참조 블록 세트 안의 각 참조 블록의 제 1 움직임 벡터 차이에 따라 계산된다.
블록 (406)은 다음과 같이 구현될 수 있다. 부호기는 존재하는 제 1 움직임 벡터 차이들과 영 벡터 중 하나를 현재 블록의 제 1 움직임 벡터 차이의 예측자로 선택한다. 그리고 선택된 값의 인덱스를 비트 스트림에 기록한다. 복호기는 비트 스트림 안의 인덱스에 따라 블록 (405)에서 획득한 존재하는 제 1 움직임 벡터 차이들과 영 벡터로부터 올바른 값을 선택한다. 그리고 선택한 값을 현재 블록의 제 1 움직임 벡터 차이의 예측자로 채택한다. 비트 스트림 안에서 전송된 인덱스는, 도1에 대한 설명에서 제 1 움직임 벡터 차이의 예측자를 계산하기 위한 비트 스트림 안의 유도 정보를 전송하는 방법에서 언급한, 현재 블록의 제 1 움직임 벡터 차이의 예측자의 유도 정보로 채택될 수 있다.
제 1 실시 예와 유사하게, 블록 (406)에서 제 1 움직임 벡터 차이는 스케일링될 수 있다.
블록 (407)에서 현재 블록의 움직임 벡터의 제 2 예측자는 현재 블록의 움직임 벡터의 제 1 예측자와 현재 블록의 제 1움직임 벡터 차이의 예측자에 따라 유도된다.
블록 (407)은 여기서 설명되지 않았지만 제 1 실시 예의 블록 (207)과 동일하다.
블록 (407)에서 현재 블록의 움직임 벡터의 제 2 예측자가 결정된 후에, 현재 블록의 움직임 벡터의 제 2 예측자는 현재 블록의 부호화 또는 복호화를 위해 사용될 수 있는 현재 블록의 움직임 벡터의 예측자, 현재 블록의 움직임 벡터의 예측자의 후보, 현재 블록의 움직임 벡터 또는 현재 블록의 움직임 벡터의 후보로 채택될 수 있다.
그리고 제 2 실시 예에서 제공하는 방법 흐름도는 종료된다.
위 두 개의 실시 예에서 현재 블록의 움직임 벡터의 제 1 예측자는 먼저 계산된다. 그리고 현재 블록의 제 1 움직임 벡터 차이의 예측자는 계산된다. 실제 응용들에 있어서, 현재 블록의 움직임 벡터의 제 1 예측자와 현재 블록의 제 1 움직임 벡터 차이의 예측자는 동시에 획득될 수 있다. 또는 현재 블록의 제 1 움직임 벡터 차이의 예측자는 먼저 계산되고, 현재 블록의 움직임 벡터의 제 1 예측자가 계산될 수 있다. 제 3 실시 예와 제 4 실시 예에 있어서 움직임 정보를 획득하는 방법은, 현재 블록의 제 1 움직임 벡터 차이의 예측자가 먼저 계산되고, 현재 블록의 움직임 벡터의 제 1 예측자가 계산된다.
제 3 실시 예는 다음과 같이 설명된다.
도 6은 본 발명에 따른 제 3 실시 예의 흐름도이다. 도 5는 본 발명의 일 실시 예에 따른 현재 블록의 제 2 카테고리의 참조 블록들을 설명하는 개략도이다. 도 6에서 볼 수 있듯이 움직임 정보를 획득하는 방법은 다음과 같이 구현된다.
블록 (601)에서 현재 블록의 제 2 참조 블록 세트는 결정된다.
블록 (601)은 다음과 같이 구현될 수 있다. 제 2 참조 블록 세트는 오직 제 2 카테고리의 참조 블록들을 포함한다. 도 5에서 도시되어 있듯이, 현재 블록의 제 2 카테고리의 참조 블록들은 B1, B2, B3, B4, B5, B6 및 B7을 포함한다. B1, B2, B3 및 B4는 공간상 현재 블록과 겹친다. B5, B6 및 B7는 공간상 현재 블록과 인접해 있다. 이 실시 예에서 현재 블록의 제 2 참조 블록 세트 안의 참조 블록들은 현재 블록의 중심점과 같은 공간에 위치한 점을 포함하는 B1, 현재 블록의 좌측 상단 꼭지점과 같은 공간에 위치한 점을 포함하는 B1, 현재 블록의 우측 하단 꼭지점과 같은 공간에 위치한 점을 포함하는 B4으로 구성될 수 있다.
블록(602)에서 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터와 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터의 제 1 예측자는 획득된다. 그리고 참조 블록의 움직임 벡터와 참조 블록의 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이는 계산된다.
블록 (602)는 제 1 실시 예에서 설명된 블록 (205)와 유사하다. 블록(602)에서 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터와 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터의 제 1 예측자는 획득된 때, 만약 특정 참조 블록의 움직임 벡터 또는 참조 블록의 움직임 벡터의 제 1 예측자가 존재하지 않으면, 참조 블록의 제 1 움직임 벡터 차이가 존재하지 않는다고 표시하는 표시가 리턴된다.
제 1 실시 예와 유사하게 스케일링 동작은 블록(602)에서 수행될 수 있다.
블록 (603)에서 블록 (602)에서 획득한 제 2 참조 블록 세트 안의 각 참조 블록의 제 1 움직임 벡터 차이에 따라 현재 블록의 제 1 움직임 벡터 차이의 예측자는 획득된다.
블록 (603)에서, 움직임 벡터를 예측하는 기존의 방법에 따라 현재 블록의 제 1 움직임 벡터 차이는 예측될 수 있다.
블록 (603)은 다음과 같이 구현될 수 있다. 블록 (602)에서 획득된 참조 블록들의 제 1 움직임 벡터 차이들의 수평 성분들의 중간 값과 블록 (602)에서 획득된 참조 블록들의 제 1 움직임 벡터 차이들의 수직 성분들의 중간 값이 각각 현재 블록의 제 1 움직임 벡터 차이의 예측자의 수평 성분과 현재 블록의 제 1 움직임 벡터 차이의 예측자의 수직 성분으로 채택한다. 만약 특정 참조 블록의 제 1 움직임 벡터 차이가 존재하지 않거나 0과 같은 경우, 영 벡터가 현재 블록의 제 1 움직임 벡터 차이의 예측자로 채택한다.
블록 (603)은 다음과 같이 구현될 수 있다. 부호기는 블록 (602)에서 획득한 존재하는 제 1 움직임 벡터 차이들 중 하나를 현재 블록의 제 1 움직임 벡터 차이의 예측자로 선택한다. 그리고 선택된 값의 인덱스를 비트 스트림에 기록한다. 복호기는 비트 스트림 안의 인덱스에 따라 블록 (602)에서 획득한 존재하는 제 1 움직임 벡터 차이들로부터 올바른 값을 선택한다. 그리고 선택한 값을 현재 블록의 제 1 움직임 벡터 차이의 예측자로 채택한다. 비트 스트림 안에서 전송된 인덱스는, 도1에 대한 설명에서 제 1 움직임 벡터 차이의 예측자를 계산하기 위한 비트 스트림 안의 유도 정보를 전송하는 방법에서 언급한, 현재 블록의 제 1 움직임 벡터 차이의 예측자의 유도 정보로 채택될 수 있다.
제 1 실시 예와 유사하게, 스케일링 동작을 수행 될 수 있다.
블록 (604)에서 현재 블록의 제 1 참조 블록 세트는 결정된다.
블록 (604)는 다음과 같이 구현될 수 있다. 제 1 참조 블록 세트는 오직 제 2 카테고리의 참조 블록들을 포함한다. 도 5에서 볼 수 있듯이, 현재 블록의 제 2 카테고리의 참조 블록들은 B1, B2, B3, B4, B5, B6 및 B7을 포함한다. B1, B2, B3 및 B4는 공간상 현재 블록과 겹친다. B5, B6 및 B7는 공간상 현재 블록과 인접해 있다. 이 실시 예에서, 현재 블록의 제 2 참조 블록 세트 안의 참조 블록들은 현재 블록의 좌측 상단 꼭지점과 같은 공간에 위치한 점을 포함하는 B1, 현재 블록의 우측 하단 꼭지점과 같은 공간에 위치한 점을 포함하는 B4으로 구성될 수 있다.
블록 (605)에서 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터는 획득된다.
블록 (605)에서 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터는 획득될 때, 만약 제 1 참조 블록 세트 안의 특정 참조 블록의 움직임 벡터가 존재하지 않으면, 그 참조 블록의 움직임 벡터가 존재하지 않는다고 표시하는 표시가 리턴된다.
블록 (606)에서 현재 블록의 움직임 벡터의 제 1 예측자는 블록 (605)에서 획득된 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터에 따라 계산된다.
현재 블록의 움직임 벡터의 제 1 예측자는 현재 블록의 움직임 벡터를 예측 또는 유도하는 기존의 부호화 또는 복호화 방법에서 사용된 방법과 동일한 방법에 따라 계산될 수 있다.
블록 (606)은 다음과 같이 구현될 수 있다. 부호기는 존재하는 움직임 벡터들 중 하나를 현재 블록의 제 1 움직임 벡터 차이의 예측자로 선택한다. 그리고 선택된 값의 인덱스를 비트 스트림에 기록한다. 복호기는 비트 스트림 안의 인덱스에 따라 블록 (605)에서 획득한 존재하는 움직임 벡터들로부터 올바른 값을 선택한다. 그리고 선택한 값을 현재 블록의 움직임 벡터의 제 1 예측자로 채택한다. 만약 제 1 참조 블록 세트 안의 특정 참조 블록의 움직임 벡터가 존재하지 않을 때, 참조 블록의 존재하지 않는 움직임 벡터는 영 벡터로 설정된다. 비트 스트림 안에서 전송된 인덱스는, 도1에 대한 설명에서 움직임 벡터의 제 1예측자를 계산하기 위한 비트 스트림 안의 유도 정보를 전송하는 방법에서 언급한, 현재 블록의 움직임 벡터의 제 1 예측자의 유도 정보로 채택될 수 있다.
제 1 실시 예와 유사하게, 스케일링 동작은 블록 (606)에서 수행될 수 있다.
블록 (607)에서 현재 블록의 움직임 벡터의 제 2 예측자는 현재 블록의 움직임 벡터의 제 1 예측자와 현재 블록의 제 1움직임 벡터 차이의 예측자에 따라 유도된다.
블록 (607)은 제 1 실시 예에서 설명한 블록 (207)과 동일하다.
블록 (607)에서 현재 블록의 움직임 벡터의 제 2 예측자가 결정된 후에, 현재 블록의 움직임 벡터의 제 2 예측자는 현재 블록의 부호화 또는 복호화를 위해 사용될 수 있는 현재 블록의 움직임 벡터의 예측자, 현재 블록의 움직임 벡터의 예측자의 후보, 현재 블록의 움직임 벡터 또는 현재 블록의 움직임 벡터의 후보로 채택될 수 있다.
그리고 제 3 실시 예에서 제공하는 방법 흐름도는 종료된다.
제 4 실시 예는 다음과 같이 설명된다.
도 7 는 본 발명에 따른 제 4 실시 예의 흐름도이다. 도 3는 본 발명의 일 실시 예에 따른 현재 블록의 제 1 카테고리의 참조 블록들을 설명하는 개략도이다. 도 5는 본 발명의 일 실시 예에 따른 현재 블록의 제 2 카테고리의 참조 블록들을 설명하는 개략도이다. 도 7에서 볼 수 있듯이 움직임 정보를 획득하는 방법은 다음과 같이 구현된다.
블록 (701)에서 현재 블록의 제 2 참조 블록 세트는 결정된다.
블록 (701)은 다음과 같이 구현될 수 있다. 제 2 참조 블록 세트는 오직 제 2 카테고리의 참조 블록들을 포함한다. 도 5에서 도시되어 있듯이, 현재 블록의 제 2 카테고리의 참조 블록들은 B1, B2, B3, B4, B5, B6 및 B7을 포함한다. B1, B2, B3 및 B4는 공간상 현재 블록과 겹친다. B5, B6 및 B7는 공간상 현재 블록과 인접해 있다. 이 실시 예에서 현재 블록의 제 2 참조 블록 세트 안의 참조 블록들은 현재 블록의 좌측 상단 꼭지점과 같은 공간에 위치한 점을 포함하는 상단 블록 B1, 현재 블록의 좌측 상단 꼭지점과 같은 공간에 위치한 점을 포함하는 좌측 블록 B1, 현재 블록의 좌측 상단 꼭지점과 같은 공간에 위치한 점을 포함하는 좌측 상단 블록 B1으로 구성될 수 있다.
블록 (702)에서 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터와 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이는 획득된다.
블록 (702)는 제 2 실시 예에서 설명된 블록 (405)와 유사하다. 블록 (702)에서 제 2 참조 블록 세트 안의 각 참조 블록의 제 1 움직임 벡터 차이가 획득된 때, 만약 제 2 참조 블록 세트 안의 특정 참조 블록의 제 1 움직임 벡터 차이가 존재하지 않으면, 참조 블록의 제 1 움직임 벡터 차이가 존재하지 않는다고 표시하는 표시가 리턴된다.
제 1 실시 예와 유사하게 스케일링 동작은 블록(702)에서 수행될 수 있다.
블록 (703)에서 블록 (702)에서 획득한 제 2 참조 블록 세트 안의 각 참조 블록의 제 1 움직임 벡터 차이에 따라 현재 블록의 제 1 움직임 벡터 차이의 예측자는 획득된다.
블록 (703)에서, 움직임 벡터를 예측하는 기존의 방법에 따라 현재 블록의 제 1 움직임 벡터 차이의 예측자는 계산될 수 있다.
블록 (703)은 다음과 같이 구현될 수 있다. 블록 (702)에서 상단 블록에 대하여 리턴된 제 1 움직임 벡터 차이는 mvd_U로, 좌측 블록에 대하여 리턴된 제 1 움직임 벡터 차이는 mvd_L로, 그리고 좌측 상단 블록에 대하여 리턴된 제 1 움직임 벡터 차이가 mvd_LU로 복호화 된다. mvd_L, mvd_U 및 mvd_LU 중 두 개 사이의 거리가 계산된다. 즉, d12=|mvd_L-mvd_U|, d13=|mvd_L-mvd_LU|, 그리고 d23=|mvd_U-mvd_LU|와 같은 방법으로 계산될 수 있다. 만약 d12, d13 및 d23 중에서 d12이 가장 작은 값이라면, mvd_LU가 현재 블록의 제 1 움직임 벡터 차이의 예측자로 채택된다. 만약 d12, d13 및 d23 중에서 d13이 가장 작은 값이라면, mvd_U가 현재 블록의 제 1 움직임 벡터 차이의 예측자로 채택된다. 만약 d12, d13 및 d23 중에서 d23이 가장 작은 값이라면, mvd_L가 현재 블록의 제 1 움직임 벡터 차이의 예측자로 채택된다. 만약 특정 참조 블록의 제 1 움직임 벡터 차이가 존재하지 않거나 0과 같다면, 현재 블록의 제 1 움직임 벡터 차이의 예측자는 영 벡터로 설정된다.
제 1 실시 예와 유사하게, 스케일링 동작을 수행 될 수 있다.
블록 (704)에서 현재 블록의 제 1 참조 블록 세트는 결정된다.
블록(704)는 다음과 같이 구현될 수 있다. 제 1 참조 블록 세트는 오직 제 1 카테고리의 참조 블록들과 제 2 카테고리의 참조 블록들을 포함한다. 도 3에서 볼 수 있듯이, 현재 블록의 제 1 카테고리의 참조 블록들은 AL1, AL2, AU1, AU2, AU3, AC1 및 AC2을 포함한다. 도 5에서 볼 수 있듯이, 현재 블록의 제 2 카테고리의 참조 블록들은 B1, B2, B3, B4, B5, B6 및 B7을 포함한다. B1, B2, B3 및 B4는 공간상 현재 블록과 겹친다. B5, B6 및 B7는 공간상 현재 블록과 인접해 있다. 이 실시 예에서, 현재 블록의 제 1 참조 블록 세트 안의 참조 블록들은 현재 블록의 좌측 상단 꼭지점의 좌측 상단에 위치한 인접 블록 AC2, 현재 블록의 우측 상단 꼭지점 우측 상단에 위치한 인접 블록 AU3, 현재 블록의 좌측 하단 꼭지점의 좌측 하단에 위치한 인접 블록 AC1 및 현재 블록의 중심점과 같은 공간에 위치한 점을 포함하는 B1으로 구성될 수 있다.
블록 (705)에서 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터가 획득된다.
블록 (705)에서 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터가 획득된 때, 만약 제 1 참조 블록 세트 안의 특정 참조 블록의 움직임 벡터가 존재하지 않으면, 그 참조 블록의 움직임 벡터가 존재하지 않는다고 표시하는 표시가 리턴된다.
블록 (706)에서 현재 블록의 움직임 벡터의 제 1 예측자는 블록 (705)에서 획득된 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터에 따라 계산된다.
현재 블록의 움직임 벡터의 제 1 예측자는 현재 블록의 움직임 벡터를 예측 또는 유도하는 기존의 부호화 또는 복호화 방법에서 사용된 방법과 동일한 방법에 따라 계산될 수 있다.
이 실시 예에서 블록 (706)에서 다음과 같이 구현될 수 있다. AC1의 움직임 벡터 mv1, AC2의 움직임 벡터 mv2 및 AC3의 움직임 벡터 mv3의 평균 값은 계산되고 mva로 복호화된다. 만약 mv1, mv2 및 mv3 중 어느 하나가 존재하지 않는다면, 존재하지 않는 것은 영 벡터로 설정된다. B1의 움직임 벡터는 mvb로 복호화된다. 그리고 mva와 mvb 중 작은 것이 현재 블록의 움직임 벡터의 제 1 예측자로 채택된다. 만약 mvb가 존재하지 않는다면, mva가 현재 블록의 움직임 벡터의 제 1 예측자로 채택된다.
제 2 실시 예와 유사하게, 현재 블록의 움직임 벡터와 현재 블록의 움직임 벡터의 제 1 예측자가 결정된 후에, 현재 블록의 제 1움직임 벡터 차이는 계산된다. 이 방법에서 , 현재 블록이 다음으로 프로세스되는 블록의 제 2 참조 블록 세트의 참조 블록으로 채택되는 때, 참조 블록의 제 1 움직임 벡터 차이는 바로 획득될 수 있다.
제 1 실시 예와 유사하게, 블록 (706)에서 스케일링 동작이 수행될 수 있다.
블록 (707)에서 현재 블록의 움직임 벡터의 제 2 예측자는 현재 블록의 움직임 벡터의 제 1 예측자와 현재 블록의 제 1 움직임 벡터 차이의 예측자에 따라 유도된다.
블록 (707)은 제 1 실시 예의 블록 (207)과 유사하다.
블록 (707)에서 현재 블록의 움직임 벡터의 제 2 예측자가 결정된 후, 현재 블록의 움직임 벡터의 제 2 예측자는 현재 블록의 부호화 또는 복호화를 위해 사용될 수 있는 현재 블록의 움직임 벡터의 예측자, 현재 블록의 움직임 벡터의 예측자의 후보, 현재 블록의 움직임 벡터 또는 현재 블록의 움직임 벡터의 후보로 채택될 수 있다.
그리고 또한 이 실시 예가 제공하는 방법 흐름도는 종료된다.
제 5 실시 예는 다음과 같이 설명된다.
도 8은 본 발명의 제 5 실시 예의 흐름도이다. 도9는 본 발명의 일 실시 예에 따라 현재 블록의 제 1 카테고리의 참조 블록들을 묘사하는 개략도이다. 도 10은 본 발명의 일 실시 예에 따라 현재 블록의 제 2 카테고리의 참조 블록들을 묘사하는 개략도이다. 도 8에서 볼 수 있듯이 움직임 정보를 획득하는 방법은 아래와 같이 구현된다.
블록 (801)에서 도 9에서 참조된 현재 블록 E는 4개의 서브 블록인 E1, E2, E3, 및 E4로 분리된다.
이 실시 예에서 현재 블록은 4개의 서브 블록들로 분리된다. 그리고 본 발명에서 설명되는 방법에 따라 각 서브 블록의 움직임 정보는 계산될 수 있다. 이 실시 예에서 아래의 블록들에 따라 4 개의 서브 블록들의 움직임 정보는 획득된다.
블록 (802)에서 각 현재 서브 블록의 제 1 참조 블록 세트는 결정된다.
현재 서브 블록의 4 개의 다른 서브 블록들에 대하여, 제 1 참조 블록 세트 안의 참조 블록들은 동일할 수도 있고, 부분적으로 동일할 수도 있으며, 완전히 다를 수도 있다.
블록 (802)는 다음과 같이 구현될 수 있다. 서브 블록들은 다른 제 1 참조 블록 세트들을 가진다. 그러나 모든 제 1 참조 블록 세트들은 오직 제2 카테고리의 참조 블록들을 포함한다. 도10에 의하면 E1, E2, E3, 및 E4 의 제2 카테고리의 참조 블록들은 B1, B2, B3, B4 및 B5를 포함한다. 이 실시 예에서 현재 서브 블록의 제 1 참조 블록 세트 안의 참조 블록들은 현재 서브 블록의 중심과 같은 공간 위치를 가지는 지점을 포함하는 블록으로 설정될 수 있다. 즉 말하자면, E1의 제 1 참조 블록 세트는 B1, E2의 제 1 참조 블록 세트는 B3, E3의 제 1 참조 블록 세트는 B1, E4의 제 1 참조 블록 세트는 B4이다.
만약 현재 서브 블록의 제 1 참조 블록 세트 안의 참조 블록 A의 움직임 정보가 서브 블록 안에서 결정되었다면, 참조 블록 A는 서브 블록이다. 다른 말로 하면, 제 1 참조 블록 세트 안의 참조 블록들은 블록들이거나 서브블록들일 수 있다. 만약 움직임 정보의 단일 조각이 블록에 대응되는 경우, 대응되는 참조 블록은 블록이다. 만약 움직임 정보의 단일 조각이 서브 블록과 대응되면, 대응되는 참조 블록은 서브 블록이다
예를 들어, 블록 A는 현재 서브 블록에 근접한 부호화된 블록이다. 블록 A의 움직임 정보가 결정되었을 때, 블록 A는 서브 블록 A1과 A2로 분리되어 있고, 서브 블록 A1의 움직임 정보와 서브 블록 A2의 움직임 정보는 각각 계산된다. A1은 현재 서브 블록 또는 현재 서브 블록의 블록에 근접해 있다. A2은 현재 서브 블록 또는 현재 서브 블록의 블록에 근접해 있지 않다. (왜냐하면 블록 A는 움직임 정보의 단일 조각에 대응되지 않지만, 서브 블록들 A1, A2의 움직임 정보에는 대응된다.) 왜냐하면 서브 블록 A2는 현재 서브 블록 및 현재 서브 블록의 블록과 근접해 있지 않기 때문에, 서브 블록 A2는 현재 서브 블록의 제 1 참조 블록 세트에 포함되지 않는다.
블록 (803)에서 각 현재 서브 블록의 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터는 획득된다.
각 현재 서브 블록의 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터를 획득하는 방법은 기존의 방법과 동일할 수 있다. 블록 (803)에서 각 현재 서브 블록의 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터는 획득되었을 때, 만약 제 1 참조 블록 세트 안의 특정 참조 블록의 움직임 벡터가 존재하지 않는다면, 참조 블록의 움직임 벡터가 존재하지 않는다고 표시하는 표시가 리턴된다.
블록 (804)에서, 블록 (803)에서 획득한 각 현재 서브 블록의 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터에 따라 각 현재 서브 블록의 움직임 벡터의 제 1 예측자는 계산된다.
참조 블록의 움직임 벡터에 따라 각 현재 서브 블록의 움직임 벡터의 제 1 예측자를 결정하는 방법은 움직임 벡터를 예측하거나 유도하는 기존의 방법과 동일할 수 있다. 현재 서브 블록들의 움직임 벡터들의 제 1 예측자들을 결정하는 방법들은 동일하거나 다를 수 있다. 블록 (804)는 다음과 같이 구현될 수 있다. 각 현재 서브 블록의 제 1 참조 블록 세트 안의 참조 블록의 움직임 벡터는 직접적으로 각 현재 서브 블록의 움직임 벡터의 제 1 예측자로 채택될 수 있다. 만약 특정 현재 서브 블록의 제 1 참조 블록 세트 안의 참조 블록에 움직임 벡터가 없다면, 현재 서브 블록의 움직임 벡터의 제 1 예측자는 영 벡터로 설정되거나, 현재 서브 블록의 움직임 벡터의 제 2 예측자는 블록들 (805 내지 808)을 실행하지 않고 다른 방법으로 유도되어 현재 서브 블록의 움직임 벡터의 예측자, 현재 서브 블록의 움직임 벡터의 예측자의 후보, 현재 서브 블록의 움직임 벡터 또는 현재 서브 블록의 움직임 벡터의 후보로 채택될 수 있다.
블록 (203)와 유사하게, 각 현재 서브 블록의 제 1 참조 블록 세트 안의 참조 블록의 움직임 벡터는 스케일링될 수 있다.
블록 (805)에서 각 현재 서브 블록의 제 2 참조 블록 세트는 결정된다.
실제 요구 사항들에 따라 각 현재 서브 블록의 제 2 참조 블록 세트는 결정된다. 블록 (805)은 다음과 같이 구현될 수 있다. E1, E2, E3 및 E4는 동일한 제 2 참조 블록 세트들을 가지고 있다. 그리고 각 제 2 참조 블록 세트는 오직 제 1 카테고리의 참조 블록들을 포함한다. 도 9에서 볼 수 있듯이, E1, E2, E3 및 E4의 제 1 카테고리의 참조 블록들은 AL1, AC1, AU1, AU2 및 AU3를 포함한다. 이 실시 예에서 E1, E2, E3 및 E4의 제 1 참조 블록 세트의 참조 블록들은 E1의 왼쪽 상단 꼭지점의 좌측에 위치하는 블록 AL1, E1의 왼쪽 상단 꼭지점 위에 있는 블록 AU1 및 E1의 왼쪽 상단 꼭지점의 왼쪽 상단에 있는 블록 AC1으로 구성될 수 있다. 만약 E1의 왼쪽 상단 꼭지점의 좌측에 위치한 블록 AL1은 움직임 벡터가 없는 경우, E1의 왼쪽 상단 꼭지점의 좌측에 위치한 블록 AL1은 E3의 왼쪽 상단 꼭지점의 좌측에 위치한 블록 AL1으로 교체된다. 만약 E1의 왼쪽 상단 꼭지점 위에 위치한 블록 AU1 기준 움직임 벡터가 없는 경우, E1의 왼쪽 상단 꼭지점 위에 위치한 블록 AU1 기준 움직임 벡터는 E2의 왼쪽 상단 꼭지점 위에 위치한 블록 AU2로 교체된다.
블록 (806)에서 각 현재 서브 블록에 대하여 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터와 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터의 제1 예측자는 획득된다. 그리고 참조 블록의 움직임 벡터와 참조 블록의 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이가 계산된다.
블록 (806)은 제 1 실시 예에서 설명한 블록 (205)와 유사하지만, 각 현재 서브 블록이 각각 프로세스 된다는 점에서 블록 (205)와 다르다. 그러나 이 실시 예에서 모든 현재 서브 블록들의 제 2 참조 블록 세트들은 동일하므로, 프로세스는 오직 한 번만 수행되면 된다. 각 현재 서브 블록의 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터와 각 현재 서브 블록의 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터의 제 1 예측자는 블록 (806)은 획득된 때, 만약 특정 참조 블록의 움직임 벡터 또는 참조 블록의 움직임 벡터의 제 1 예측자가 존재하지 않는다면, 참조 블록의 제 1 움직임 벡터 차이가 존재하지 않는다고 표시하는 표시가 리턴된다.
블록 (205)와 유사하게, 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터와 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터의 제 1 예측자는 이 블록의 각 현재 서브 블록에 맞게 스케일링될 수 있다.
블록 (807)에서 블록 (806)에서 계산된 현재 서브 블록의 제 2 참조 블록 세트 안의 각 참조 블록의 제 1 움직임 벡터 차이에 따라 각 현재 서브 블록의 제 1 움직임 벡터 차이의 예측자는 계산된다.
현재 서브 블록들의 제 1 움직임 벡터 차이들의 예측자들은 동일한 방법 또는 다른 방법들을 통하여 계산될 수 있다. 계산 방법은 실제 요구 사항들에 따라 결정될 수도 있다. 예를 들어 위의 실시 예에서 언급된 방법 중 하나가 적용될 수도 있다. 이 실시 예에서, 블록 (807)는 다음과 같이 구현될 수 있다. 현재 서브 블록의 제 2 참조 블록 세트 안의 참조 블록들의 존재하는 제 1 움직임 벡터 차이들의 평균은 현재 서브 블록의 제 1 움직임 벡터 차이의 예측자로 채택될 수 있다. 특정 현재 서브 블록의 제 2 참조 블록 세트 안의 참조 블록들의 존재하는 제 1 움직임 벡터 차이들이 모두 존재하지 않는 경우, 현재 서브 블록의 제 1 움직임 벡터 차이의 예측자는 영벡터로 설정될 수 있다.
또한 블록 (807)는 다음과 같이 구현될 수도 있다. 부호기는 블록 (806)에서 계산된 현재 서브 블록의 제 2 참조 블록 세트 안의 참조 블록들의 존재하는 제 1 움직임 벡터 차이들 중 하나를 선택하고, 선택된 값을 현재 서브 블록의 제 1 움직임 벡터 차이의 예측자로 정하고, 선택된 값의 인덱스(index)를 비트 스트림에 기록한다. 복호기는 블록 (806)에서 계산된 현재 서브 블록의 제 2 참조 블록 세트 안의 참조 블록들의 존재하는 제 1 움직임 벡터 차이들로부터 비트 스트림 안의 인덱스에 따라 올바른 값을 선택하고, 선택된 값을 현재 서브 블록의 제 1 움직임 벡터 차이의 예측자로 정한다. 비트 스트림 안의 전송된 인덱스는 도1의 설명 부분에서 제 1 움직임 벡터 차이의 예측자를 계산하기 위하여 비트 스트림 안의 유도 정보를 전송하는 방법에 언급된 현재 서브 블록의 제 1 움직임 벡터 차이의 예측자의 유도 정보로 채택될 수 있다. 서브 블록들은 제 1 움직임 벡터 차이의 예측자를 공유할 수 있다. 이러한 경우, 제 1 움직임 벡터 차이의 예측자의 계산 프로세스는 오직 전체 현재 블록 E에 대해 한 번만 수행되어야 하고, 오직 하나의 제 1 움직임 벡터 차이의 인덱스만 비트 스트림 안으로 전송된다
제 1 실시예의 블록 (206)과 유사하게, 제 2 참조 블록 세트 안의 참조 블록의 제 1 움직임 벡터 차이는 이 블록에 각각 현재의 서브 블록에 대하여 스케일링될 수 있다.
블록 (808)에서 현재 서브 블록의 움직임 벡터의 제 1 예측자와 현재 서브 블록의 제 1 움직임 벡터 차이의 예측자에 따라 현재 서브 블록의 움직임 벡터의 제 2 예측자는 유도된다.
블록 (808)은 제 1 실시 예에서 설명된 블록 (207)과 유사하고, 각 현재 서브 블록이 각각 프로세스 된다는 점에서 블록 (207)과 다르다.
블록 (808)에서 현재 서브 블록의 움직임 벡터의 제 2 예측자가 결정된 후에, 현재 서브 블록의 움직임 벡터의 제 2 예측자는 현재 서브 블록의 부호화 또는 복호화 프로세스에 사용되는 현재 서브 블록의 움직임 벡터의 예측자, 현재 서브 블록의 움직임 벡터의 예측자의 후보, 현재 서브 블록의 움직임 벡터 또는 현재 서브 블록의 움직임 벡터의 후보로 채택될 수 있다.
그리고 또한 이 실시 예가 제공하는 방법 흐름도는 종료된다.
제 6 실시 예는 다음과 같다.
도 11은 본 발명의 제 6 실시 예의 흐름도이다. 도 12는 본 발명의 일 실시 예에 따라 현재 블록의 제 1 카테고리의 참조 블록들을 묘사하는 개략도이다. 도 13은 본 발명의 일 실시 예에 따라 현재 블록의 제 2 카테고리의 참조 블록들을 묘사하는 개략도이다. 도 11에서 볼 수 있듯이 움직임 정보를 획득하는 방법은 아래와 같이 구현된다.
블록 (1101)에서 현재 블록 E는 E1과 E2로 분리된다.
도 12에서 볼 수 있듯이 현재 블록은 E1과 E2로 분리된다. 다음 블록들 (1102-1108)은 각각 E1과 E2에 대하여 수행된다.
블록 (1102)에서 현재 서브 블록의 제 2 참조 블록 세트는 결정된다.
블록 (1102)는 다음과 같이 구현될 수 있다. E1과 E2는 다른 제 2 참조 블록 세트들을 가진다. 그러나 각 제 2 참조 블록 세트들은 오직 제 2 카테고리의 참조 블록들을 포함한다. 도13에 의하면 E1과 E2의 제 2 카테고리의 참조 블록들은 B1, B2, B3, B4 및 B5를 포함한다. B1, B2, B3은 공간에서 블록 E와 겹친다. B4 및 B5는 공간에서 블록 E와 근접한다. 이 실시 예에서, 현재 서브 블록의 제 1 참조 블록 세트 안의 참조 블록들은 현재 서브 블록의 중심과 같은 공간 위치를 가지는 지점을 포함하는 블록으로 설정될 수 있다. 예를 들어 만약 현재 서브 블록이 E1일 때, B1은 현재 서브 블록의 제 2 참조 블록 세트 안의 참조 블록일 수 있다. 만약 현재 서브 블록이 E2일 때, B3은 현재 서브 블록의 제 2 참조 블록 세트 안의 참조 블록일 수 있다.
블록 (1103)에서 현재 서브 블록의 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터와 현재 서브 블록의 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터의 제 1 예측자는 획득된다. 그리고 참조 블록의 움직임 벡터와 참조 블록의 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이는 계산된다.
블록 (1103)에서 현재 서브 블록의 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터와 현재 서브 블록의 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터의 제 1 예측자가 획득되었을 때, 만약 제 2 참조 블록 세트 안의 특정 참조 블록의 움직임 벡터 또는 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터의 제 1 예측자가 존재하지 않는다면, 참조 블록의 제 1 움직임 벡터 차이가 존재하지 않는다고 표시하는 표시가 리턴된다.
위의 실시 예와 유사하게, 움직임 벡터와 제 1 움직임 벡터 차이는 이 블록에 맞추어 스케일링될 수 있다.
블록 (1104)에서, 블록 (1103)에서 획득한 현재 서브 블록의 제 2 참조 블록 세트 안의 각 참조 블록의 제 1 움직임 벡터 차이에 따라 현재 서브 블록의 제 1 움직임 벡터 차이의 예측자는 계산된다.
블록 (1104)는 다음과 같이 구현될 수 있다. 블록 (1103)에서 획득한 현재 서브 블록의 제 2 참조 블록 세트 안의 참조 블록의 제 1 움직임 벡터 차이는 직접적으로 현재 서브 블록의 제 1 움직임 벡터 차이의 예측자로 채택될 수 있다. 만약 제 2 참조 블록 세트 안의 특정 서브 블록의 제 1 움직임 벡터 차이가 없다면, 현재 서브 블록의 제 1 움직임 벡터 차이의 예측자는 영 벡터로 설정된다.
위의 실시 예와 유사하게, 이 블록에서 제 1 움직임 벡터 차이는 스케일링될 수 있다.
블록 (1105)에서 현재 서브 블록의 제 1 움직임 벡터 차이는 결정된다.
블록 (1105)은 다음과 같이 구현될 수 있다. E1과 E2는 다른 제 1 참조 블록 세트들을 가지고 있다. 그러나 각 제 1 참조 블록 세트는 오직 제 1 카테고리의 참조 블록들을 포함한다. 도12에서 볼 수 있듯이, E1과 E2의 제 1 카테고리의 참조 블록들은 AL1, AL2, AC1, AU1, AU2 및 AU3를 포함한다. 이 실시 예에서 현재 서브 블록의 제 1 참조 블록 세트의 참조 블록들은 현재의 서브 블록의 좌측 상단 꼭지점의 좌측에 위치한 블록과 현재의 서브 블록의 좌측 상단 꼭지점 위에 있는 블록으로 구성될 수 있다. 예를 들어 만약 현재 서브 블록이 E1일 경우, AL2 및 AU1은 현재 서브 블록의 제 1 참조 블록 세트 안의 참조 블록들이다. 만약 현재 서브 블록이 E2일 경우, E1 및 AU2는 현재 서브 블록의 제 1 참조 블록 세트 안의 참조 블록들이다.
블록 (1106)에서 현재 서브 블록의 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터는 획득된다.
블록 (1106)에서 현재 서브 블록의 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터는 획득될 때, 만약 제 1 참조 블록 세트 안의 특정 참조 블록들의 움직임 벡터가 존재하지 않으면, 참조 블록의 움직임 벡터가 존재하지 않는다고 표시하는 표시가 리턴된다.
블록 (1107)에서 블록 (1106)에서 현재 서브 블록의 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터에 따라 현재 서브 블록의 움직임 벡터의 제 1 예측자는 획득된다.
블록 (1107)은 다음과 같이 구현될 수 있다. 현재 서브 블록의 제 1 참조 블록 세트 안의 참조 블록들의 움직임 벡터들 중 최소값은 현재 서브 블록의 움직임 벡터의 제 1 예측자로 채택될 수 있다. 만약 현재 서브 블록의 제 1 참조 블록 세트 안의 참조 블록들의 움직임 벡터들이 모두 존재하지 않는다면, 현재 서브 블록의 움직임 벡터의 제 1 예측자는 영 벡터로 설정된다.
위의 실시 예들과 유사하게, 이 블록에서 제 1 참조 블록 세트 안의 참조 블록들의 움직임 벡터들은 스케일링될 수 있다.
블록 (1108)에서 현재 서브 블록의 움직임 벡터의 제 1 예측자와 현재 서브 블록의 제 1 움직임 벡터 차이의 예측자에 따라 현재 서브 블록의 움직임 벡터의 제 2 예측자는 획득된다.
블록 (1108)은 제 1 실시 예에서 설명한 블록 (207)과 유사하다. 그리고 블록(207)에 대하여 현재 서브 블록에서 수행되는 프로세스라는 점이 다르다.
블록 (1108)에서 현재 서브 블록의 움직임 벡터의 제 2 예측자를 획득한 후, 현재 서브 블록의 움직임 벡터의 제 2 예측자는 현재 서브 블록의 부호화 또는 복호화 프로세스에 사용될 수 있는 현재 서브 블록의 움직임 벡터의 예측자, 현재 서브 블록의 제 1 움직임 벡터 차이의 예측자의 후보, 현재 서브 블록의 움직임 벡터 또는 현재 서브 블록의 움직임 벡터의 후보로 채택될 수 있다.
이 실시 예의 방법 흐름도는 종료된다. 이 실시 예는 현재 블록의 서브 블록들이 순차적으로 프로세스되지만, 제5 실시 예는 현재 블록의 서브 블록들이 동시에 프로세스된다는 점에서 제 5 실시 예와 다르다.
제 7 실시 예는 다음과 같이 설명된다.
도14는 본 발명의 일 실시 예에 따라 움직임 정보를 획득하는 장치를 설명하는 개략도이다. 도15는 본 발명의 일 실시 예에 따라 상기 장치의 입력부를 설명하는 개략도이다. 도16는 본 발명의 일 실시 예에 따라 상기 장치의 예측부를 설명하는 개략도이다. 도 14에서 볼 수 있듯이, 부호기/복호기 또는 비디오 부호화 또는 복호화 시스템 안의 움직임 정보를 획득하는 장치는 일 실시 예에 따라 제공된다. 상기 장치는 입력부 (141), 예측부 (142) 및 계산부 (143)를 포함한다.
입력부 (141)는 현재 블록 또는 서브 블록의 제 1 참조 블록 세트와 제 2 참조 블록 세트 안의 참조 블록들의 움직임 정보를 입력한다. 입력부 (141)는 다음과 같이 구현될 수 있다. 도 15에서 볼 수 있듯이, 입력부 (141)는 제 1 참조 블록 세트 정보 입력부와 제 2 참조 블록 세트 정보 입력부를 포함한다. 제 1 참조 블록 세트 정보 입력부는 현재 블록 또는 서브 블록의 제 1 참조 블록 세트 안의 참조 블록의 움직임 벡터를 입력한다. 제 2 참조 블록 세트 정보 입력부는 현재 블록 또는 서브 블록의 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터와 현재 블록 또는 서브 블록의 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이를 입력한다. 또는 제 2 참조 블록 세트 정보 입력부는 현재 블록 또는 서브 블록의 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터와 현재 블록 또는 서브 블록의 제 2 참조 블록 세트 안의 참조 블록의 움직임 벡터의 제 1 예측 정보를 입력하고, 현재 블록 또는 서브 블록의 제 2 참조 블록 세트 안의 참조 블록의 제 1 움직임 벡터 차이를 계산한다.
예측부 (142)는 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자와 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 예측자를 계산한다. 예측부 (142)는 다음과 같이 구현될 수 있다. 도 16에서 볼 수 있듯이, 예측부 (142)는 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자를 계산하는 제 1 예측부와 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 예측자를 계산하는 제 2 예측부를 포함한다.
계산부 (143)는 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자와 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 예측자에 따라 현재 블록 또는 서브 블록의 움직임 벡터의 제 2 예측자를 계산한다. 현재 블록 또는 서브 블록의 움직임 벡터의 제 2 예측자가 획득된 후, 계산부 (143)는 현재 블록 또는 서브 블록의 움직임 벡터의 제 2 예측자를 현재 블록 또는 서브 블록의 부호화 또는 복호화를 위해 사용될 수 있는 현재 블록 또는 서브 블록의 움직임 벡터의 예측자, 현재 블록 또는 서브 블록의 움직임 벡터의 예측자의 후보, 현재 블록 또는 서브 블록의 움직임 벡터 또는 현재 블록 또는 서브 블록의 움직임 벡터의 후보로 채택될 수 있다.
본 발명의 상기 해결책으로부터 알 수 있는 바와 같이, 현재 블록 또는 서브 블록의 움직임 벡터는 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자를 획득하기 위하여 제 1 참조 블록 세트의 참조 블록들에 따라 예측된다. 그리고 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이는 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 예측자를 획득하기 위하여 제 2 참조 블록 세트의 참조 블록들에 따라 예측된다. 마지막으로 현재 블록 또는 서브 블록의 움직임 벡터의 제 2 예측자는 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자와 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 예측자에 따라 획득된다. 상기 제 2 예측자는 현재 블록의 부호화 또는 복호화를 위해 사용될 수 있는 현재 블록 또는 서브 블록의 움직임 벡터의 예측자, 현재 블록 또는 서브 블록 의 움직임 벡터의 예측자의 후보, 현재 블록 또는 서브 블록 의 움직임 벡터 또는 현재 블록 또는 서브 블록 의 움직임 벡터의 후보로 채택될 수 있다. 그러나 기존의 기술들에서는 움직임 벡터의 제 1 예측자는 현재 블록 또는 서브 블록의 움직임 벡터의 최종 예측자, 현재 블록 또는 서브 블록 의 움직임 벡터의 예측자의 후보, 현재 블록 또는 서브 블록 의 움직임 벡터 또는 현재 블록 또는 서브 블록 의 움직임 벡터의 후보로 채택된다. 움직임 벡터를 예측하는 기존의 방법에 기초하여 움직임 벡터의 보조 예측은 소개되었다. 예측되거나 유도된 움직임 벡터의 정확성은 움직임 벡터 차이의 예측자를 통해 향상되었다. 배경 기술에서 언급한 첫 번째 부호화 또는 복호화 방법에 대하여, 움직임 벡터의 예측자의 정확도가 향상되었기 때문에 전송된 움직임 벡터 차이는 감소하였다. 따라서 움직임 벡터의 압축 효율이 향상되었다. 배경 기술에서 언급한 두 번째 부호화 또는 복호화 방법에 대하여 최적화된 움직임 벡터가 유도되었으므로, 비디오 부호화 성능이 향상되었다. 제 1 참조 블록 세트는 오직 제 1 카테고리의 참조 블록들을 포함하고 제 2 참조 블록 세트는 오직 제 2 카테고리의 참조 블록들을 포함할 때 또는 제 1 참조 블록 세트는 오직 제 2 카테고리의 참조 블록들을 포함하고 제 2 참조 블록 세트는 오직 제 1 카테고리의 참조 블록들을 포함할 때, 공간 영역과 시간 영역 모두에서 움직임 벡터의 상관 관계가 두 예측들의 복잡성을 증가시키지 않고 제거될 수 있다. 즉, 상대적으로 더 적은 비용으로 더 큰 부호화 성능 이득을 획득할 수 있다.
전술한 것은 본 발명의 단지 바람직한 실시 예이며, 본 발명의 보호 범위를 제한하기 위해 사용되지 않는다. 본 발명의 사상 및 원리를 벗어나지 않는 정도의 임의의 변형, 균등물 치환 및 개선은 본 발명의 보호 범위 내에 있다.

Claims (12)

  1. 비디오 부호화 또는 복호화에 있어서 움직임 정보를 획득하기 위한 방법은 비디오 이미지의 현재 블록 또는 서브 블록의 움직임 정보를 결정하는 방법을 포함하며, 상기 움직임 정보를 결정하는 방법은
    상기 현재 블록 또는 서브 블록의 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터에 따라 상기 현재 블록 또는 서브 블록의 움직임 벡터의 제 1 예측자를 계산하는 단계;
    상기 현재 블록 또는 서브 블록의 제 2 참조 블록 세트 안의 각 참조 블록의 움직임 벡터와 상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이를 결정하고, 상기 현재 블록 또는 서브 블록의 상기 제 1움직임 벡터 차이의 예측자를 획득하기 위하여 상기 제 2 참조 블록 세트 안의 각 참조 블록의 상기 제 1 움직임 벡터 차이에 따라 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터와 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1예측자 간의 제 1 움직임 벡터 차이를 예측하는 단계; 및
    상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자와 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자에 따라 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 제 2 예측자를 결정하는 단계를 포함하고,
    상기 제 1 참조 블록 세트는 최초로 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터를 예측하거나 유도하기 위한 참조 블록들을 포함하고; 및
    상기 제 2 참조 블록 세트는 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이를 예측하기 위한 참조 블록들을 포함하는 것을 특징으로 하는 움직임 정보를 획득하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 현재 블록의 상기 제 1 참조 블록 세트는 현재 프레임 안에서 상기 현재 블록에 인접한 부호화된 블록 또는 복호화된 블록을 포함하거나, 상기 현재 프레임의 참조 프레임 안에서 공간적으로 상기 현재 블록에 인접하거나 겹치는 부호화된 블록 또는 복호화된 블록을 포함하고;
    상기 현재 블록의 상기 제 2 참조 블록 세트는 상기 현재 블록에 인접한 상기 현재 프레임에서 부호화된 블록 또는 복호화된 블록을 포함하거나, 상기 현재 프레임의 상기 참조 프레임 안에서 공간적으로 상기 현재 블록에 인접하거나 겹치는 부호화된 블록 또는 복호화된 블록을 포함하고;
    상기 현재 서브 블록의 상기 제 1 참조 블록 세트는 상기 현재 서브 블록 또는 상기 현재 서브 블록의 상기 블록에 인접한 상기 현재 프레임에서 부호화된 블록 또는 복호화된 블록을 포함하거나, 공간적으로 상기 현재 서브 블록 또는 상기 현재 서브 블록의 상기 블록에 인접하거나 겹치는 상기 현재 프레임의 상기 참조 프레임에서 부호화된 블록 또는 복호화된 블록을 포함하고; 및
    상기 현재 서브 블록의 상기 제 2 참조 블록 세트는 상기 현재 서브 블록 또는 상기 현재 서브 블록의 상기 블록에 인접한 상기 현재 프레임에서 부호화된 블록 또는 복호화된 블록을 포함하거나, 공간적으로 상기 현재 서브 블록 또는 상기 현재 서브 블록의 상기 블록에 인접하거나 겹치는 상기 현재 프레임의 상기 참조 프레임에서 부호화된 블록 또는 복호화된 블록을 포함하는 움직임 정보를 획득하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자를 계산하는 단계에 있어서,
    부호기에 의하여, 상기 현재 블록 또는 서브 블록의 상기 제 1 참조 블록 세트 안의 각 참조 블록의 상기 모션 벡터에 따라 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자를 유도하고, 비트 스트림(bit-stream)에 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자의 유도 정보를 기록하는 단계; 및
    복호기에 의하여, 상기 현재 블록 또는 서브 블록의 상기 제 1 참조 블록 세트 안의 각 참조 블록의 상기 모션 벡터에 따라 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자와 상기 비트 스트림 안의 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자의 상기 유도 정보를 유도하는 단계를 포함하는 움직임 정보를 획득하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 제 2 참조 블록 세트 안의 각 참조 블록의 상기 움직임 벡터와 상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 움직임 벡터의 상기 제 1 예측자 간의 상기 제 1 움직임 벡터 차이를 결정하는 단계에 있어서,
    상기 현재 블록 또는 서브 블록의 상기 움직임 정보가 결정된 때, 상기 제 2 참조 블록 세트 안의 각 참조 블록의 상기 움직임 벡터와 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 움직임 벡터의 제 1 예측자를 획득하고, 상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트의 상기 참조 블록의 상기 제 1 움직임 벡터 차이로 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 움직임 벡터와 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 움직임 벡터의 상기 제 1 예측자 간의 차이를 선택하는 단계
    상기 현재 블록 또는 서브 블록의 제 2 참조 블록 세트 안의 각 참조 블록에 대하여, 상기 참조 블록의 움직임 정보가 결정된 후, 상기 참조 블록의 다음에 처리되는 블록 또는 서브 블록의 움직임 정보가 결정되기 전에, 상기 참조 블록의 상기 제 1 움직임 벡터 차이로 상기 참조 블록의 움직임 벡터와 상기 참조 블록의 상기 움직임 벡터의 제 1 예측자 간의 차이를 선택하고, 상기 참조 블록의 상기 제 1 움직임 벡터 차이를 저장하는 단계; 및
    상기 현재 블록 또는 서브 블록의 상기 움직임 정보가 결정되면, 상기 제 2 참조 블록 세트 안의 각 참조 블록의 저장된 제 1 움직임 벡터 차이를 획득하는 단계를 포함하는 움직임 정보를 획득하기 위한 방법.
  5. 제 4 항에 있어서,
    상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트의 참조 블록의 움직임 벡터 또는 상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트의 상기 참조 블록의 상기 움직임 벡터의 예측자가 존재하지 않을 때, 상기 움직임 정보를 획득하기 위한 방법은,
    상기 참조 블록의 제 1 움직임 벡터 차이는 상기 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 상기 예측자의 계산에 사용되지 않을 때, 상기 참조 블록의 상기 제 1 움직임 벡터 차이가 존재하지 않는다고 판단하는 단계; 또는
    상기 참조 블록의 제 1 움직임 벡터 차이는 상기 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 상기 예측자의 계산에 사용될 때, 상기 참조 블록의 상기 제 1 움직임 벡터 차이를 영 벡터로 설정하는 단계를 포함하는 움직임 정보를 획득하기 위한 방법.
  6. 제 5 항에 있어서,
    상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 제 1 움직임 벡터 차이가 존재하지 않을 때, 상기 움직임 정보를 획득하기 위한 방법은 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자를 영 벡터로 설정하는 단계를 포함하거나,
    상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트 안의 모든 참조 블록들의 제 1 움직임 벡터 차이들이 존재하지 않을 때, 상기 움직임 정보를 획득하기 위한 방법은 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자를 영 벡터로 설정하는 단계를 포함하는 것을 특징으로 하는 움직임 정보를 획득하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이를 예측하는 단계는,
    상기 제 2 참조 블록 세트의 상기 참조 블록들의 제 1 움직임 벡터 차이들의 수평 성분들 중 최소값을 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자의 수평 성분으로 채택하고, 상기 제 2 참조 블록 세트의 상기 참조 블록들의 제 1 움직임 벡터 차이들의 수직 성분들 중 최소값을 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자의 수직 성분으로 채택하는 단계; 또는
    상기 제 2 참조 블록 세트의 상기 참조 블록들의 제 1 움직임 벡터 차이들의 평균을 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자로 채택하는 단계; 또는
    상기 제 2 참조 블록 세트의 상기 참조 블록들의 제 1 움직임 벡터 차이들의 수평 성분들 중 중간값을 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자의 수평 성분으로 채택하고, 상기 제 2 참조 블록 세트의 상기 참조 블록들의 제 1 움직임 벡터 차이들의 수직 성분들 중 중간값을 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자의 수직 성분으로 채택하는 단계; 또는
    상기 제 2 참조 블록 세트의 상기 참조 블록들의 제 1 움직임 벡터 차이들 중 각 두 개 사이의 거리를 계산하고, 상기 거리들에 따라 상기 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 상기 예측자를 유도하는 단계; 또는
    부호기에 의하여, 상기 제 2 참조 블록 세트의 각 참조 블록의 상기 제 1 움직임 벡터 차이에 따라 상기 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 상기 예측자를 유도하고, 상기 현재 블록 또는 서브 블록의 제 1 움직임 벡터 차이의 상기 예측자의 유도 정보를 비트 스트림에 기록하는 단계; 및 복호기에 의하여, 상기 제 2 참조 블록 세트 안의 각 참조 블록의 상기 제 1 움직임 벡터 차이에 따라 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자, 및 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자의 상기 유도 정보를 유도하는 단계를 포함하는 움직임 정보를 획득하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 2 예측자를 결정하는 단계는,
    상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자와 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자의 합 또는 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자와 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자의 가중합을 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 2 예측자로 채택하는 단계를 포함하는 움직임 정보를 획득하기 위한 방법.
  9. 제 1 항 내지 제8항에 있어서,
    상기 현재 블록 또는 서브 블록의 상기 제 1 참조 블록 세트 안의 상기 참조 블록들은 상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트 안의 상기 참조 블록들과 동일하거나 다른 것을 특징으로 하는 움직임 정보를 획득하기 위한 방법.
  10. 제 1 항 내지 제8항에 있어서,
    블록 내에서 다른 서브 블록들에 대하여, 서브 블록의 제 1 참조 블록 세트 안의 참조 블록들은 또 다른 서브 블록의 제 1 참조 블록 세트 안의 참조 블록들과 동일하거나 다르고, 서브 블록의 제 2 참조 블록 세트 안의 참조 블록들은 또 다른 서브 블록의 제 2 참조 블록 세트 안의 참조 블록들과 동일하거나 다른 것을 특징으로 하는 움직임 정보를 획득하기 위한 방법.
  11. 제 1 항 내지 제8항에 있어서,
    상기 제 1 참조 블록 세트 또는 상기 제 2 참조 블록 세트 안의 참조 블록의 움직임 정보가 서브 블록 안에서 결정될 때, 상기 참조 블록은 서브 블록인 것을 특징으로 하는 움직임 정보를 획득하기 위한 방법.
  12. 비디오 부호화 또는 복호화에 관한 움직임 정보를 획득하기 위한 장치에 있어서,
    현재 블록 또는 서브 블록의 제 1 참조 블록 세트 안의 각 참조 블록의 움직임 벡터를 획득하고, 상기 현재 블록 또는 서브 블록의 제 2 참조 블록 세트 안의 각 참조 블록과 상기 현재 블록 또는 서브 블록의 상기 제 2 참조 블록 세트 안의 상기 참조 블록의 상기 움직임 벡터의 제 1 예측자 간의 제 1 움직임 벡터 차이를 결정하는 입력부;
    상기 제 1 참조 블록 세트 안의 각 참조 블록의 상기 움직임 벡터에 따라 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자를 계산하고, 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이의 상기 예측자를 획득하기 위하여 상기 제 2 참조 블록 세트 안의 각 참조 블록의 상기 제 1 움직임 벡터 차이에 따라 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이를 예측하는 예측부; 및
    상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 상기 제 1 예측자에 따라 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터의 제 2 예측자를 결정하는 계산부를 포함하고,
    상기 제 1 참조 블록 세트는 최초로 상기 현재 블록 또는 서브 블록의 상기 움직임 벡터를 예측하거나 유도하기 위한 참조 블록들을 포함하고; 및
    상기 제 2 참조 블록 세트는 상기 현재 블록 또는 서브 블록의 상기 제 1 움직임 벡터 차이를 예측하기 위한 참조 블록들을 포함하는 것을 특징으로 하는 움직임 정보를 획득하기 위한 장치.
PCT/KR2014/005226 2013-06-14 2014-06-13 움직임 정보를 획득하기 위한 방법 WO2014200313A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/898,291 US10051282B2 (en) 2013-06-14 2014-06-13 Method for obtaining motion information with motion vector differences
SG11201510258PA SG11201510258PA (en) 2013-06-14 2014-06-13 Method for obtaining motion information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310236309 2013-06-14
CN201310236309.6 2013-06-14

Publications (1)

Publication Number Publication Date
WO2014200313A1 true WO2014200313A1 (ko) 2014-12-18

Family

ID=52022517

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/005226 WO2014200313A1 (ko) 2013-06-14 2014-06-13 움직임 정보를 획득하기 위한 방법

Country Status (5)

Country Link
US (1) US10051282B2 (ko)
KR (1) KR20140146541A (ko)
CN (2) CN111200736B (ko)
SG (1) SG11201510258PA (ko)
WO (1) WO2014200313A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4221202A1 (en) * 2015-06-05 2023-08-02 Dolby Laboratories Licensing Corporation Image encoding and decoding method and image decoding device
CN116193109A (zh) * 2017-01-16 2023-05-30 世宗大学校产学协力团 影像编码/解码方法
CN107071421B (zh) * 2017-05-23 2019-11-22 北京理工大学 一种结合视频稳定的视频编码方法
CN109005412B (zh) * 2017-06-06 2022-06-07 北京三星通信技术研究有限公司 运动矢量获取的方法及设备
US10856003B2 (en) * 2017-10-03 2020-12-01 Qualcomm Incorporated Coding affine prediction motion information for video coding
CN109996075B (zh) * 2017-12-29 2022-07-12 华为技术有限公司 一种图像解码方法及解码器
WO2019199067A1 (ko) * 2018-04-13 2019-10-17 엘지전자 주식회사 비디오 처리 시스템에서 인터 예측 방법 및 장치
US11051025B2 (en) * 2018-07-13 2021-06-29 Tencent America LLC Method and apparatus for video coding
CN111050177B (zh) * 2018-10-15 2021-07-20 腾讯科技(深圳)有限公司 视频编码、视频解码方法、装置、计算机设备和存储介质
CN112866699B (zh) 2019-03-11 2022-11-01 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN110719489B (zh) * 2019-09-18 2022-02-18 浙江大华技术股份有限公司 运动矢量修正、预测、编码方法、编码器及存储装置
CN113706573B (zh) * 2020-05-08 2024-06-11 杭州海康威视数字技术股份有限公司 一种运动物体的检测方法、装置及存储介质
CN111626178B (zh) * 2020-05-24 2020-12-01 中南民族大学 一种基于新时空特征流的压缩域视频动作识别方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060153300A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Method and system for motion vector prediction in scalable video coding
US20110080954A1 (en) * 2009-10-01 2011-04-07 Bossen Frank J Motion vector prediction in video coding
KR20120026092A (ko) * 2009-06-26 2012-03-16 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 이미지의 움직임 정보를 취득하는 방법, 장치, 및 기기, 그리고 템플릿 구성 방법
US20120128060A1 (en) * 2010-11-23 2012-05-24 Mediatek Inc. Method and Apparatus of Spatial Motion Vector Prediction
US20130003851A1 (en) * 2011-07-01 2013-01-03 General Instrument Corporation Motion vector prediction design simplification

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI273832B (en) * 2002-04-26 2007-02-11 Ntt Docomo Inc Image encoding device, image decoding device, image encoding method, image decoding method, image decoding program and image decoding program
KR100946790B1 (ko) * 2005-01-07 2010-03-11 니폰덴신뎅와 가부시키가이샤 영상 부호화 방법 및 장치, 영상 복호 방법 및 장치, 그들 프로그램을 기록한 기록 매체
KR101364195B1 (ko) * 2008-06-26 2014-02-21 에스케이텔레콤 주식회사 움직임벡터 부호화/복호화 방법 및 그 장치
CN101677400B (zh) * 2008-09-19 2012-08-15 华为技术有限公司 编码、解码方法和编码器、解码器及编解码系统
CN101742278B (zh) * 2008-11-12 2012-11-07 富士通半导体股份有限公司 获取图像的运动矢量和边界强度的方法和系统
CN101860754B (zh) * 2009-12-16 2013-11-13 香港应用科技研究院有限公司 运动矢量编码和解码的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060153300A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Method and system for motion vector prediction in scalable video coding
KR20120026092A (ko) * 2009-06-26 2012-03-16 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 이미지의 움직임 정보를 취득하는 방법, 장치, 및 기기, 그리고 템플릿 구성 방법
US20110080954A1 (en) * 2009-10-01 2011-04-07 Bossen Frank J Motion vector prediction in video coding
US20120128060A1 (en) * 2010-11-23 2012-05-24 Mediatek Inc. Method and Apparatus of Spatial Motion Vector Prediction
US20130003851A1 (en) * 2011-07-01 2013-01-03 General Instrument Corporation Motion vector prediction design simplification

Also Published As

Publication number Publication date
US20160134886A1 (en) 2016-05-12
CN104244002A (zh) 2014-12-24
CN104244002B (zh) 2019-02-05
US10051282B2 (en) 2018-08-14
SG11201510258PA (en) 2016-01-28
CN111200736A (zh) 2020-05-26
CN111200736B (zh) 2022-06-21
KR20140146541A (ko) 2014-12-26

Similar Documents

Publication Publication Date Title
WO2014200313A1 (ko) 움직임 정보를 획득하기 위한 방법
WO2011087321A2 (en) Method and apparatus for encoding and decoding motion vector
WO2014007551A1 (en) Method of multi-view video sequence coding/decoding based on adaptive local correction of illumination of reference frames without transmission of additional parameters (variants)
WO2011090314A2 (en) Method and apparatus for encoding and decoding motion vector based on reduced motion vector predictor candidates
WO2013109092A1 (ko) 영상 부호화 및 복호화 방법 및 장치
WO2021025451A1 (ko) 움직임 정보 후보를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2017171107A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2018066927A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017105097A1 (ko) 머지 후보 리스트를 이용한 비디오 복호화 방법 및 비디오 복호화 장치
WO2014171713A1 (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
WO2013002557A2 (ko) 움직임 정보의 부호화 방법 및 장치, 그 복호화 방법 및 장치
WO2017065525A2 (ko) 영상을 부호화 또는 복호화하는 방법 및 장치
WO2011126309A2 (ko) 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2018105757A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2019190211A1 (ko) 모션 보상을 이용하는 비디오 신호 처리 방법 및 장치
WO2012173415A2 (ko) 움직임 정보의 부호화 방법 및 장치, 그 복호화 방법 및 장치
WO2013002589A2 (ko) 휘도 성분 영상을 이용한 색차 성분 영상의 예측 방법 및 예측 장치
WO2009110721A2 (ko) 복수 참조에 의한 움직임 예측을 이용한 부호화 방법 및 장치, 그리고 복수 참조에 의한 움직임 예측을 이용한 복호화 방법 및 장치
WO2019045427A1 (ko) 양방향 옵티컬 플로우를 이용한 움직임 보상 방법 및 장치
WO2014107074A1 (ko) 스케일러블 비디오의 부호화 및 복호화를 위한 움직임 보상 방법 및 장치
WO2013002450A1 (ko) 보간 방법 및 이를 이용한 예측 방법
WO2014003421A1 (ko) 비디오 부호화 및 복호화를 위한 방법
WO2019194568A1 (ko) 어파인 모델 기반의 영상 부호화/복호화 방법 및 장치
WO2012005549A2 (en) Methods and apparatuses for encoding and decoding motion vector
WO2021054676A1 (ko) Prof를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

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: 14811597

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14898291

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 14811597

Country of ref document: EP

Kind code of ref document: A1

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112015031287

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112015031287

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20151214