WO2012105807A2 - 움직임 벡터를 이용한 영상 부호화/복호화 방법 및 장치 - Google Patents

움직임 벡터를 이용한 영상 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
WO2012105807A2
WO2012105807A2 PCT/KR2012/000770 KR2012000770W WO2012105807A2 WO 2012105807 A2 WO2012105807 A2 WO 2012105807A2 KR 2012000770 W KR2012000770 W KR 2012000770W WO 2012105807 A2 WO2012105807 A2 WO 2012105807A2
Authority
WO
WIPO (PCT)
Prior art keywords
motion vector
reference picture
dynamic range
motion
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/KR2012/000770
Other languages
English (en)
French (fr)
Other versions
WO2012105807A3 (ko
Inventor
임성창
김휘용
정세윤
조숙희
전동산
김종호
이하현
이진호
최진수
김진웅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46873758&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2012105807(A2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from KR1020110065707A external-priority patent/KR20120088494A/ko
Priority to DK12742304.4T priority Critical patent/DK2672708T3/da
Priority to EP12742304.4A priority patent/EP2672708B1/en
Priority to BR112013019495-2A priority patent/BR112013019495B1/pt
Priority to JP2013551919A priority patent/JP5911890B2/ja
Priority to BR122020015452-7A priority patent/BR122020015452B1/pt
Priority to RU2013140464/08A priority patent/RU2586017C2/ru
Priority to SI201231970T priority patent/SI2672708T1/sl
Priority to PL12742304T priority patent/PL2672708T3/pl
Priority to BR122020015455-1A priority patent/BR122020015455B1/pt
Priority to BR122014018140-0A priority patent/BR122014018140B1/pt
Priority to CN201280015709.8A priority patent/CN103583044B/zh
Priority to ES12742304T priority patent/ES2899990T3/es
Priority to CA2826157A priority patent/CA2826157C/en
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Priority to EP21176802.3A priority patent/EP3930332A1/en
Priority to BR122020015411-0A priority patent/BR122020015411B1/pt
Priority claimed from KR1020120010096A external-priority patent/KR101428030B1/ko
Priority to US13/979,214 priority patent/US10244252B2/en
Publication of WO2012105807A2 publication Critical patent/WO2012105807A2/ko
Publication of WO2012105807A3 publication Critical patent/WO2012105807A3/ko
Anticipated expiration legal-status Critical
Priority to US16/249,146 priority patent/US10645411B2/en
Priority to US16/830,236 priority patent/US12003753B2/en
Priority to US17/538,797 priority patent/US12028545B2/en
Priority to US18/630,834 priority patent/US12301859B2/en
Priority to US19/172,277 priority patent/US20250234030A1/en
Ceased legal-status Critical Current

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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • 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
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to image processing, and more particularly, to a method and apparatus for encoding / decoding using a motion vector.
  • Ultra High Definition which supports four times the resolution of HDTV, is increased along with HDTV, a compression technology for higher resolution and higher quality images is required.
  • an inter prediction technique for predicting pixel values included in the current picture from preceding and / or following pictures, and intra prediction for predicting pixel values using pixel information within the picture.
  • a technique and / or an entropy encoding technique may be used in which a short code is assigned to a symbol with a high frequency of appearance and a long code is assigned to a symbol with a low frequency of appearance.
  • the present invention provides a method and apparatus for encoding / decoding an image using a truncated motion vector.
  • the present invention provides a method for cutting a motion vector of a reference picture.
  • the present invention provides a method for transmitting information about a motion vector.
  • an image encoding method includes cutting a motion vector of a reference picture to a predetermined dynamic range to generate a truncated motion vector, storing the truncated motion vector in a buffer, and using the motion vector stored in the buffer to move the encoding target block. Encoding the vector.
  • the dynamic range can be defined by the level of the image codec.
  • the dynamic range is determined by a predetermined bit depth, and the bit depth can be defined by the level of the image codec.
  • an image decoding method may include: cutting a motion vector of a reference picture to a predetermined dynamic range to generate a truncated motion vector, storing the truncated motion vector in a buffer, and using the motion vector stored in the buffer to move the decoding target block. Deriving a vector and performing inter prediction decoding using a motion vector of a decoding target block.
  • the dynamic range can be defined by the level of the image codec.
  • the dynamic range is determined by a predetermined bit depth, and the bit depth can be defined by the level of the image codec.
  • the dynamic range is determined by a predetermined bit depth, and the bit depth may be obtained through a sequence parameter set transmitted from the video encoding apparatus.
  • sequence parameter set may include a flag indicating whether a motion vector of the reference picture is truncated and a parameter for obtaining a bit depth.
  • the image decoding method further comprises compressing the motion vector of the reference picture, wherein the sequence parameter set is a flag indicating whether the motion vector of the reference picture is compressed and the motion vector of the reference picture is compressed. It may include a parameter for obtaining the ratio.
  • the image decoding method may further comprise limiting the representation resolution of the motion vector of the reference picture.
  • the truncated motion vector can be stored according to priority.
  • the truncated motion vector may be a motion vector of a block encoded in the inter prediction mode.
  • the image decoding method may further comprise the step of performing scaling for the motion vector of the reference picture.
  • the dynamic range of the X component and the dynamic range of the Y component can be defined by the level of the image codec.
  • an image decoding apparatus including a reference picture buffer and a motion compensation unit.
  • the reference picture buffer stores the reference picture.
  • the motion compensator generates a predictive block using the reference picture and the motion vector of the reference picture.
  • the motion vector of the reference picture is cut at a predetermined dynamic range.
  • the dynamic range can be defined by the level of the image codec.
  • the dynamic range is determined by a predetermined bit depth, and the bit depth may be defined by the level of the image codec.
  • the dynamic range is determined by a predetermined bit depth, and the bit depth may be obtained through a sequence parameter set transmitted from the video encoding apparatus.
  • an image may be encoded / decoded using the truncated motion vector.
  • the memory access bandwidth required to retrieve data from the memory can be reduced.
  • FIG. 1 is a block diagram illustrating an example of a structure of a video encoding apparatus.
  • FIG. 2 is a block diagram illustrating an example of a structure of an image decoding apparatus.
  • FIG. 3 shows an example of an encoding / decoding target picture and a reference picture.
  • 5 through 8 are flowcharts illustrating a method of storing a motion vector of a reference picture.
  • 9 is an example of quantizing a motion vector.
  • FIG. 14 is a flowchart illustrating a method of encoding an image according to an embodiment of the present invention.
  • 15 is a flowchart illustrating a method of decoding an image according to an embodiment of the present invention.
  • first and second may be used to describe various components, but the components are not limited by the terms. In other words, the terms are used only for the purpose of distinguishing one component from another.
  • first component may be referred to as the second component, and likewise, the second component may be referred to as the first component.
  • each component shown in the embodiments of the present invention is shown independently to indicate that they perform different characteristic functions, and do not mean that each component may not be implemented in one hardware or software. That is, each component is divided for convenience of description, and a plurality of components may be combined to operate as one component, or one component may be divided into and operate as a plurality of components, which does not depart from the essence of the present invention. Unless included in the scope of the present invention.
  • some components may be optional components for improving performance rather than essential components for performing essential functions of the present invention.
  • the present invention may be implemented in a structure including only essential components except for optional components, and a structure including only essential components is also included in the scope of the present invention.
  • FIG. 1 is a block diagram illustrating an example of a structure of a video encoding apparatus.
  • the image encoding apparatus 100 may include a motion predictor 111, a motion compensator 112, an intra predictor 120, a switch 115, a subtractor 125, a transformer 130, A quantization unit 140, an entropy encoding unit 150, an inverse quantization unit 160, an inverse transform unit 170, an adder 175, a filter unit 180, and a reference picture buffer 190 are included.
  • the image encoding apparatus 100 encodes an input image in an intra prediction mode or an inter prediction mode to output a bitstream.
  • Intra prediction means intra prediction and inter prediction means inter prediction.
  • the image encoding apparatus 100 transitions between the intra prediction mode and the inter prediction mode through the switching of the switch 115.
  • the image encoding apparatus 100 generates a prediction block for an input block of an input image and then encodes a residual between the input block and the prediction block.
  • the intra prediction unit 120 In the intra prediction mode, the intra prediction unit 120 generates a prediction block by performing spatial prediction using pixel values of blocks that are already encoded around the current block.
  • the motion predictor 111 finds a motion vector that finds the best match with the input block in the reference picture stored in the reference picture buffer 190 during the motion prediction process.
  • the motion compensation unit 112 generates a prediction block by performing motion compensation using the motion vector.
  • the motion vector is a two-dimensional vector used for inter prediction, and represents an offset between the target block of the current encoding / decoding and the reference block.
  • the subtractor 125 generates a residual block based on the difference between the input block and the prediction block, and the transformer 130 transforms the difference block and outputs a transform coefficient.
  • the quantization unit 140 quantizes the transform coefficients and outputs quantized coefficients.
  • the entropy encoder 150 outputs a bitstream by performing entropy encoding based on information obtained in the encoding / quantization process. Entropy encoding reduces the size of a bit string for a symbol to be encoded by representing frequently generated symbols with fewer bits. Therefore, it is expected to improve the compression performance of the image through entropy encoding.
  • the entropy encoder 150 may use an encoding method such as exponential golomb, context-adaptive variable length coding, or context-adaptive binary arithmetic coding (CABAC) for entropy encoding.
  • CABAC context-adaptive binary arithmetic coding
  • the coded picture needs to be decoded and stored again to be used as a reference picture for performing inter prediction coding. Accordingly, the inverse quantization unit 160 inverse quantizes the quantized coefficients, and the inverse transform unit 170 inverse transforms the inverse quantized coefficients to output the reconstructed difference block. The adder 175 adds the reconstructed difference block to the prediction block to generate a reconstruction block.
  • the filter unit 180 may also be referred to as an adaptive in-loop filter, and may include at least one of deblocking filtering, sample adaptive offset (SAO) compensation, and adaptive loop filtering (ALF).
  • Deblocking filtering means removing block distortion at an inter-block boundary
  • SAO compensation means adding an appropriate offset to pixel values to compensate for coding errors.
  • ALF means filtering based on a value obtained by comparing a reconstructed image with an original image.
  • the reference picture buffer 190 stores the reconstructed block that has passed through the filter unit 180.
  • FIG. 2 is a block diagram illustrating an example of a structure of an image decoding apparatus.
  • the image decoding apparatus 200 may include an entropy decoder 210, an inverse quantizer 220, an inverse transformer 230, an intra predictor 240, a motion compensator 250, and an adder 255. ), A filter unit 260 and a reference picture buffer 270.
  • the image decoding apparatus 200 outputs a reconstructed image by decoding the bitstream in an intra prediction mode or an inter prediction mode.
  • the image decoding apparatus 200 transitions between the intra prediction mode and the inter prediction mode by switching a switch.
  • the image decoding apparatus 200 obtains a difference block from a bitstream, generates a prediction block, and then adds the difference block and the prediction block to generate a reconstruction block.
  • the entropy decoder 210 performs entropy decoding based on probability distribution.
  • the entropy decoding process is the reverse of the above-described entropy coding process. That is, the entropy decoder 210 generates a symbol including quantized coefficients from a bitstream representing a frequently generated symbol with a small number of bits.
  • the inverse quantizer 220 inversely quantizes the quantized coefficients, and the inverse transformer 230 inversely transforms the inverse quantized coefficients to generate a difference block.
  • the intra prediction unit 240 In the intra prediction mode, the intra prediction unit 240 generates a prediction block by performing spatial prediction using pixel values of blocks already decoded around the current block.
  • the motion compensation unit 250 In the inter prediction mode, the motion compensation unit 250 generates a prediction block by performing motion compensation using a motion picture and a reference picture stored in the reference picture buffer 270.
  • the adder 255 adds the prediction block to the difference block, and the filter unit 260 outputs the reconstructed image by applying at least one of deblocking filtering, SAO compensation, and ALF to the block that has passed through the adder.
  • the reconstructed image may be stored in the reference picture buffer 270 to be used for motion compensation.
  • a block means a unit of encoding / decoding.
  • an image is divided into a predetermined size and encoded / decoded. Therefore, a block may also be referred to as a coding unit (CU), a prediction unit (PU), a transform unit (TU), or the like, and one block may be divided into smaller blocks having a smaller size. It may be.
  • CU coding unit
  • PU prediction unit
  • TU transform unit
  • the prediction unit means a basic unit of performing prediction and / or motion compensation.
  • the prediction unit may be divided into a plurality of partitions, and each partition is called a prediction unit partition.
  • the prediction unit partition may be a basic unit of performing prediction and / or motion compensation.
  • the prediction unit may mean a prediction unit partition.
  • HEVC high efficiency video coding
  • AMVP advanced motion vector prediction
  • the motion vector prediction method based on the improved motion vector prediction, not only the motion vector (MV) of the reconstructed block located around the encoding / decoding target block, but also the same as the encoding / decoding target block in the reference picture.
  • a motion vector of a block existing at a position or a corresponding position may be used.
  • a block existing in the same position or in a spatially corresponding position as the block to be encoded / decoded in the reference picture is replaced by a collocated block, a motion vector of the equivalent position block by a collocated motion vector, or temporal It is called a temporal motion vector.
  • the collocated block may be not only a block necessarily located at the same position as the encoding / decoding target block of the reference picture but also a block that is similar in position to the encoding / decoding target block, that is, at a corresponding position. have.
  • the motion information is inferred not only from the reconstructed blocks located nearby but also from the equal position blocks, and used as the motion information of the encoding / decoding target block.
  • the motion information includes inter prediction mode information indicating a reference picture index, a motion vector, uni-direction, or bi-direction required for inter prediction, and a reference picture list.
  • Information including at least one of prediction mode information regarding whether the information is encoded in the intra prediction mode or the inter prediction mode.
  • the predicted motion vector in the block to be encoded / decoded is not only the motion vector of the neighboring block spatially adjacent to the block to be encoded / decoded, but also the motion vector of the equal position block that is the block temporally adjacent to the block to be encoded / decoded. It may be.
  • FIG. 3 shows an example of an encoding / decoding target picture and a reference picture.
  • block X represents a block to be encoded / decoded in the picture to be encoded / decoded
  • blocks A, B, C, block D, and block E are reconstructed blocks located around the block to be encoded / decoded.
  • the block T in the reference picture 320 indicates an equivalent position block existing at a position corresponding to the block to be encoded / decoded.
  • the motion vector predictor index indicates which motion vector is used as the predicted motion vector in the block to be encoded / decoded.
  • the motion vector predictor indexes mvp_idx_l0 and mvp_idx_l1 for each reference picture list are transmitted to the decoding apparatus, and the decoding apparatus uses the same motion vector as the predicted motion vector.
  • the motion vector may be stored using only a relatively small memory.
  • all the motion vectors of the reference picture must be stored in the memory, so a relatively large size of memory is required, and the amount of memory access bandwidth required to retrieve data from the memory. Will also increase. Therefore, it is necessary to store the temporal motion vector more efficiently in an application environment in which there is insufficient memory space such as a portable receiving terminal or power consumption should be minimized.
  • a conventional technique of storing a motion vector in a memory has a method of lowering the spatial resolution of the motion vector.
  • the motion vectors are compressed at an arbitrary rate and stored in the memory.
  • a motion vector stored in 4x4 block units is stored in 4x4 or more block units, thereby reducing the number of stored motion vectors.
  • information on the compression ratio is transmitted.
  • the information is transmitted through a sequence parameter set (SPS) as shown in Table 2.
  • SPS sequence parameter set
  • motion_vector_buffer_comp_flag 1
  • a motion vector buffer compression process is performed.
  • motion_vector_buffer_comp_ratio_log2 represents the compression ratio of the motion vector buffer compression process. If motion_vector_buffer_comp_ratio_log2 does not exist, motion_vector_buffer_comp_ratio_log2 is inferred to be 0, and the motion vector buffer compression ratio is expressed as in Equation (1).
  • the size of the required memory space and the memory access bandwidth can be reduced by using the spatial correlation of the motion vector.
  • the above method of lowering the spatial resolution of the motion vector does not limit the dynamic range of the motion vector.
  • the size of the memory space required in the above example is reduced to about 0.8 Mbytes.
  • the required memory space can be further reduced to 0.37 Mbytes.
  • the present invention limits the dynamic range of the motion vectors in order to reduce the size of the memory space required to store the motion vectors and the memory access bandwidth required to retrieve data from the memory.
  • the motion vector of the reference picture with limited dynamic range may be used as a temporal motion vector in a block to be encoded / decoded.
  • the dynamic range means a section between minimum and maximum values that a negative or positive component of a motion vector can have, and a bit depth indicates a size of a space required to store a motion vector. It can also mean bit width.
  • a motion vector refers to a motion vector of a reference picture, that is, a temporal motion vector.
  • Each component of the motion vector is represented by the minimum or maximum value of the dynamic range when it is out of the dynamic range. For example, when the X component of the motion vector is 312 and the maximum value of the dynamic range of each component of the motion vector is 256, the X component of the motion vector is limited to 256.
  • each component of the motion vector is 16 bits and the motion vector is (-36, 24), limiting the bit depth of each component of the motion vector to 6 bits,
  • the component has a dynamic range of -32 to +31 so that the motion vector is represented by (-32, 24) within the dynamic range.
  • the bit depth of each component of the motion vector is 16 bits and the motion vector is (-49, 142)
  • the bit depth of each component of the motion vector is limited to 9 bits
  • the component has a dynamic range of -256 to +255 so that the motion vector is represented as (-49, 142) without change.
  • the bit depth may be reduced from 13 bits to 8 bits.
  • Each component of the temporal motion vector is clipped as shown in Equations 2 and 3 to be stored with a bit depth of N bit (s). Where N is a positive integer.
  • MV_X is the X component of the motion vector
  • MV_Y is the Y component of the motion vector
  • min (a, b) outputs the smaller value of a and b
  • max (a, b) is the larger value of a and b.
  • clippedMV_X and clippedMV_Y are X and Y components of the cut temporal motion vectors, respectively, and are stored in the memory and used as temporal motion vectors of the block to be encoded / decoded.
  • an image reconstructed by an encoding device and / or a decoding device performs an in-loop filtering process such as a deblocking filter or an adaptive loop filter.
  • an in-loop filtering process such as a deblocking filter or an adaptive loop filter.
  • the motion vector of the reference picture is stored by limiting the dynamic range of the motion vector.
  • the reconstructed image buffer may mean the reference picture buffer of FIG. 1 or 2.
  • the process of cutting each component of the motion vector is performed when the slice type (slice_type) is not an I picture.
  • the motion vector cutting process is performed in a treeblock or largest coding unit (LCU) after the filtering process is completed.
  • LCU largest coding unit
  • the inputs of the motion vector cutting process are (xP, yP), which are the upper left pixel positions of the prediction unit in the current picture, and the motion vector matrices MvL0 and MvL1, and the outputs are the truncated motion vector matrices CMvL0 and CMvL1.
  • Equations 4 to 7 are performed on the matrices MvL0, MvL1, CMvL0, and CMvL1.
  • TMVBitWidth represents the bit depth of the motion vector
  • Clip3 (a, b, c) means a function of cutting c such that it exists within a range between a and b.
  • 5 through 8 are flowcharts illustrating a method of storing a motion vector of a reference picture.
  • a motion vector of a reference picture may be stored by using an image buffer for storing a reconstructed image and a motion vector buffer for storing a motion vector.
  • the reconstructed image is subjected to the in-loop filtering process (S510), and the motion vector is stored with the dynamic range limited (S520) and stored (S540).
  • the image buffer and the motion vector buffer are used together, and the motion vector is stored through the dynamic range limitation process (S620) and the spatial resolution reduction process (S630) (S640).
  • the reconstructed image is stored in the image buffer through an in-loop filtering process (S710), and the motion vector is stored in the motion vector buffer due to the limited dynamic range (S720). do.
  • the reconstructed image is stored in the image buffer through an in-loop filtering process (S810), and a motion vector includes a dynamic range limitation process (S820) and a spatial resolution reduction process (S830). It is stored through (S850).
  • the dynamic range limitation process (S620, S820) and the spatial resolution reduction process (S630, S830) are not limited to the order and may be changed.
  • the dynamic range for each component of the motion vector can be limited differently. For example, it is possible to limit only one of the dynamic range of the X component and the dynamic range of the Y component, or limit the dynamic range of the Y component more than the dynamic range of the X component.
  • the limited dynamic range of the motion vector is transmitted through a sequence parameter set, a picture parameter set (PPS), or a slice header, and the decoding apparatus performs a dynamic motion of a temporal motion vector in a sequence, picture, or slice. Perform the same limitation of the range.
  • a bit depth which is a size of a memory space required to store a motion vector represented within a dynamic range range, may be transmitted together.
  • the temporal motion vector can be efficiently adapted to the motion characteristics of the image by using the dynamic range transmitted through a sequence parameter, a picture parameter set, or a slash header. You can also save it as
  • the motion vector may be quantized and stored.
  • Quantization methods include uniform quantization in which the step size is equal, non-uniform quantization in which the step size is not equal, and the like.
  • the step size of the quantization is set to a fixed value previously promised by the encoding apparatus and the decoding apparatus, or is a sequence parameter set. It is transmitted from the encoding apparatus to the decoding apparatus through a picture parameter set or a slice header.
  • quantized motion vectors are used as they are or inverse quantized.
  • 9 is an example of quantizing a motion vector. Referring to FIG. 9, when the motion vector has component values of 32 to 48, the motion vector is quantized to 40.
  • the motion vector may be stored with limited representation resolution.
  • the expression resolution means integer pixel units (1 pixel unit) and fractional pixel units (1/2 pixel unit, 1/4 pixel unit, etc.).
  • the resolution of the motion vector processed in units of 1/4 pixels may be stored as an integer pixel.
  • the representation resolution of the motion vector is set to a fixed value previously promised by the encoding apparatus and the decoding apparatus, or transmitted from the encoding apparatus to the decoding apparatus through a sequence parameter set, a picture parameter set, or a slice header.
  • the dynamic range limitation process, the spatial resolution reduction process, and the quantization process of the motion vectors may be performed on only some of the temporal motion vectors stored in the memory.
  • information about the dynamic range of the motion vector may be added and stored in the memory.
  • a flag of 1 may be additionally stored
  • a dynamic range of the motion vector is -32 to +31
  • a flag of 0 may be additionally stored.
  • the flag information may be stored together with the motion vector or in a memory other than the memory in which the motion vector is stored.
  • the flag information and the motion vector are stored in different memories, the flag information can be randomly accessed when figuring out which dynamic range a particular motion vector is stored.
  • information on which dynamic range some motion vectors are stored may be transmitted through a sequence parameter set, a picture parameter set, or a slice header, so that the decoder may operate in the same manner as the encoder.
  • information about the block size of the motion vector may be added and stored in the memory.
  • a flag of 1 may be additionally stored, and when it is 16x16, a flag of 0 may be additionally stored.
  • the flag information may be stored together with the motion vector or in a memory other than the memory in which the motion vector is stored.
  • the flag information can be randomly accessed when figuring out what block size the specific motion vector is stored.
  • information on what block size is stored in some motion vectors may be transmitted through a sequence parameter set, a picture parameter set, or a slice header, so that the decoder may operate in the same manner as the encoder.
  • information about the precision of the motion vector may be added and stored in the memory.
  • a flag of 1 is additionally stored.
  • a flag of 0 can be additionally stored.
  • the flag information may be stored together with the motion vector or in a memory other than the memory in which the motion vector is stored.
  • the flag information and the motion vector are stored in different memories, the flag information can be arbitrarily accessed when figuring out which step size the specific motion vector is quantized and stored.
  • information on whether some motion vectors are quantized and stored in what step size may be transmitted through a sequence parameter set, a picture parameter set, or a slice header, so that the decoder may operate in the same manner as the encoder.
  • the motion information when the motion information is stored in the memory, the spatial resolution of the motion vector may be reduced and stored.
  • the motion information includes inter prediction mode information indicating a reference picture index, a motion vector, uni-direction, or bi-direction required for inter prediction, and a reference picture list.
  • Information including at least one of prediction mode information regarding whether the information is encoded in the intra prediction mode or the inter prediction mode.
  • the motion information of the prediction unit having the largest partition size among a plurality of pieces of motion information of a specific region may be stored in the memory as representative motion information.
  • the specific region may include the region within the encoding / decoding target block and the region of the neighboring block.
  • the specific area may be an area including a block in which motion information is stored when a picture or slice is divided into a predetermined size.
  • the representative motion information may be stored in the memory after excluding the motion information encoded by the motion information merging method, the encoding information skip method, and the like among the plurality of motion information included in the specific region.
  • the most frequently generated motion information among the plurality of motion information included in the specific region may be stored in the memory as the representative motion information.
  • the number of occurrences of motion information may be calculated for each block size.
  • motion information of a specific location may be stored among a plurality of motion information included in a specific area.
  • the specific position may be a position included in the specific region and may be a fixed position of the specific region.
  • the specific position may be selected as one of a plurality. If a plurality of locations are used, priority may be determined for each location, and motion information may be stored in a memory according to the priority.
  • motion information when storing a plurality of pieces of motion information included in a specific region in a memory, motion information does not exist outside the boundary of a block coded in an intra prediction mode, a block coded in a PCM mode, a slice, or a picture boundary. Therefore, the motion information of the corresponding position may not be stored in the memory.
  • the motion information of the same position block, the motion information of the first coded block, or the motion information of the neighboring block is the motion of the corresponding position.
  • the specific position may be one sample position or a position of a block in a block existing around the encoding / decoding target block.
  • a median or average value of motion information of inter prediction coded blocks around the location may be stored in a memory.
  • an average value of motion information of neighboring blocks of the location may be stored in a memory.
  • the motion vector is the reference picture index.
  • the image may be resized according to a reference picture list, inter prediction mode information, a picture display count, and the like.
  • the stored motion information can be obtained.
  • motion information of a position corresponding to the position of the encoding / decoding target block in the reference picture may be obtained.
  • a position corresponding to the position of the encoding / decoding object block in the reference picture may be a fixed position in a specific region or a position relative to the position of the encoding / decoding object block.
  • block X represents a block to be encoded / decoded in the pictures 1010, 1110, 1210, and 1310 to be encoded / decoded
  • blocks A, Block B, Block C, Block D, and Block E are encoded / decoded.
  • the recovery block located in the periphery of the target block is shown.
  • the blocks T in the reference pictures 1020, 1120, 1220, and 1320 indicate equivalent position blocks corresponding to the blocks to be encoded / decoded.
  • a block Y in the reference picture 1320 of FIG. 13 indicates a block corresponding to a position other than a block to be encoded / decoded.
  • motion information corresponding to a position corresponding to a left upper pixel position among positions of an encoding / decoding target block X in a reference picture may be obtained.
  • motion information corresponding to a position corresponding to a pixel position among the positions of the encoding / decoding target block X in the reference picture may be obtained.
  • motion information corresponding to a position corresponding to a lower right pixel position among positions of an encoding / decoding target block X in a reference picture may be obtained.
  • motion information corresponding to a position corresponding to a position other than the encoding / decoding target block X in the reference picture may be obtained.
  • motion information stored in a memory that is, motion information of a reference picture
  • encoding / decoding methods such as motion vector prediction, improved motion vector prediction, motion information merging, and motion information merge skip may be performed.
  • a motion vector is stored in a memory using at least one of a dynamic range limitation method of a motion vector, a spatial resolution reduction method of the motion vector, a quantization method of the motion vector, and a method of reducing the representation resolution of the motion vector, and the stored motion vector is encoded / It can be used for motion vector prediction and motion information merging of a decoding object block.
  • TMVbitWidth represents the bit width of the temporal motion vector stored in the memory.
  • the inputs of the temporal motion vector derivation process are (xP, yP), the upper left pixel position of the prediction unit in the current picture, nPSW and nPSH, which are the horizontal and vertical lengths of the luminance prediction unit, and refIdxLX, which is the reference picture index of the current prediction unit partition.
  • the output is the motion vector prediction value mxLXCl and the availableFlagLXCol flag.
  • RefPicOrderCnt (pic, refidx, LX) is a function that outputs PicOrderCnt of the reference picture RefPicListX [refidx] of pic. Where X can be 0 or 1. PicOrderCnt of the reference picture is present until the picture is treated as "non-exisiting".
  • Clip3 (a, b, c) means a function of cutting c so that it is within a range between a and b.
  • ColPic with a collocated partition is RefPicList1 [0] when slice_type is B-slice and collocated_from_l0_flag is 0; Otherwise, if the slice type is P-slice or collocated_from_l0_flag is 1, then RefPicList0 [0].
  • colPu and colPu are derived in the following order.
  • the lower right luminance component positions (xPRb, yPRb) of the current prediction unit are defined as in Equations 8 and 9 below.
  • colPu is encoded in intra prediction mode or colPu does not exist
  • Equations 10 and 11 The center luminance component positions (xPCtr, yPCtr) of the current prediction unit are defined as in Equations 10 and 11 below.
  • colPu is set to a prediction unit including the position of ((xPCtr >> 4) ⁇ 4, (yPCtr >> 4) ⁇ 4) in colPic.
  • mvLXCol and availableFlagLXCol are derived as follows.
  • each component of mvLXCol is 0, and availableFlagLXCol is also 0.
  • colPu is not encoded in the intra prediction mode, and if colPu exists, mvLXCol and refIdxCol are derived as follows.
  • X becomes 0 or 1, and the following allocation process is performed.
  • RefIdxColLX is assigned to RefIdxLX [xPCol] [yPCol].
  • PicOrderCnt (colPic) is less than PicOrderCnt (currPic), RefPicOrderCnt (colPic, RefIdxColLX, LX) is greater than PicOrderCnt (currPic), or PicOrderCnt (colPic) is greater than PicOrderCnt (currPic) PrCic, If less than PicOrderCnt (currPic), MvXCross is assigned to 1.
  • PicOrderCnt (colPic) is less than PicOrderCnt (currPic)
  • RefPicOrderCnt (colPic, RefIdxColLX, LX) is less than or equal to PicOrderCnt (currPic)
  • RefIdxColLX, LX is greater than or equal to PicOrderCnt (currPic)
  • MvXCross is assigned to 1.
  • the motion vector mvCol, the reference picture index refIdxCol, and ListCol are determined as MvL1 [xPCol] [yPCol], RefIdxColL1, and L1, respectively.
  • Mv0Cross 0
  • Mv1Cross 1
  • Mv0Cross and Mv1Cross are the same, and the reference picture list is L1.
  • the motion vectors mvCol, reference picture index refIdxCol, and ListCol are determined to be MvL0 [xPCol] [yPCol], RefIdxColL0, L0, respectively.
  • PicOrderCnt (colPic) -RefPicOrderCnt (colPic, refIdxCol, ListCol) is equal to PicOrderCnt (currPic) -RefPicOrderCnt (currPic, refIdxLX, LX)
  • Equation 17 td and tb are the same as in Equation 17 and Equation 18.
  • mvLXCol is derived as a scaled version of the motion vector mvCol.
  • Equations 15 and 16 may be replaced by Equations 19 and 20, respectively.
  • TMVBitWidth in the above-described temporal motion vector derivation process may be transmitted from the encoding apparatus to the decoding apparatus through a sequence parameter set, a picture parameter set, or a slice header.
  • Bit_width_temporal_motion_vector_minus8 in Table 5 represents the bit width of the temporal motion vector component. If bit_width_temporal_motion_vector_minus8 does not exist, it is inferred to be 0, and the bit width of the temporal motion vector component is expressed by Equation 21.
  • motion_vector_buffer_comp_flag 1
  • a motion vector buffer compression process is performed.
  • motion_vector_buffer_comp_ratio_log2 represents the compression ratio of the motion vector buffer compression process. If motion_vector_buffer_comp_ratio_log2 does not exist, it is inferred to be 0, and the motion vector buffer compression ratio is expressed by Equation 22.
  • bit_depth_temporal_motion_vector_constraint_flag 1
  • bit_depth_temporal_motion_vector_constraint_flag 1
  • bit_depth_temporal_motion_vector_minus8 represents the bit depth of a temporal motion vector. If bit_depth_temporal_motion_vector_minus8 does not exist, it is inferred to be 0, and the bit depth of the temporal motion vector is represented by Equation 23.
  • bit_depth_temporal_motion_vector_constraint_flag 1
  • bit_depth_temporal_motion_vector_constraint_flag 1
  • bit_depth_temporal_motion_vector_minus8 represents the bit depth of a temporal motion vector. If bit_depth_temporal_motion_vector_minus8 does not exist, it is inferred to be 0, and the bit depth of the temporal motion vector is expressed as in Equation (24).
  • Bit_depth_temporal_motion_vector_minus8 in Table 8 represents the bit depth of the temporal motion vector. If bit_depth_temporal_motion_vector_minus8 does not exist, it is inferred to be 0, and the bit depth of the temporal motion vector is expressed as in Equation 25.
  • bit_depth_temporal_motion_vector_constraint_flag 1
  • bit_depth_temporal_motion_vector_constraint_flag 1
  • bit_depth_temporal_motion_vector_x_minus8 represents the X component bit depth of the temporal motion vector. If bit_depth_temporal_motion_vector_x_minus8 does not exist, it is inferred to be 0, and the bit depth of the temporal motion vector is expressed by Equation 26.
  • bit_depth_temporal_motion_vector_y_minus8 represents the Y component bit depth of the temporal motion vector. If bit_depth_temporal_motion_vector_x_minus8 does not exist, it is inferred to be 0, and the bit depth of the temporal motion vector is expressed by Equation 27.
  • motion_vector_buffer_comp_flag 1
  • a motion vector buffer compression process is performed.
  • motion_vector_buffer_comp_ratio_log2 represents the compression ratio of the motion vector buffer compression process. If motion_vector_buffer_comp_ratio_log2 does not exist, it is inferred to be 0, and the motion vector buffer compression ratio is expressed by Equation 28.
  • the dynamic range of the temporal motion vector is not transmitted through a sequence parameter set, a picture parameter set, or a slice header, but may be defined through a level of an image codec.
  • the encoding apparatus and the decoding apparatus may determine the limited dynamic range of the motion vector using the level information.
  • the dynamic range and / or bit depth of each of the X and Y components of the motion vector may be defined differently, and the minimum and maximum values of the respective components may be defined.
  • Table 11 and Table 12 show an example of defining TMVBitWidth at the level in the above-described temporal motion vector derivation process.
  • TMVBitWidth is set to MaxTMVBitWidth defined in the level. At this time, MaxTMVBitWidth represents the maximum bit width of the motion vector when the temporal motion vector is stored in the memory.
  • TMVBitWidth is defined in the level and may transmit a sequence parameter set, a picture parameter set, or a slice header with a difference (delta value) from the defined value. That is, TMVBitWidth may be set to a value obtained by adding a difference transmitted in a sequence parameter set, a picture parameter set, or a slice header to MaxTMVBitWidth defined in the level. In this case, TMVBitWidth represents the bit width of the motion vector when the temporal motion vector is stored in the memory.
  • Delta_bit_width_temporal_motion_vector_minus8 in Table 13 represents a difference in bit widths of temporal motion vector components. If delta_bit_width_temporal_motion_vector_minus8 does not exist, it is inferred to be 0, and the bit width of the temporal motion vector component is expressed as in Equation 29.
  • the dynamic range of each component of the temporal motion vector may be defined in the level.
  • bit widths of components of each temporal motion vector may be defined in the level.
  • bit width of the temporal motion vector Y component may be defined in the level.
  • the dynamic range of the temporal motion vector may be defined as a fixed value previously promised by the encoding apparatus and the decoding apparatus, or may be stored in the form of a fixed bit depth without transmitting information on the limitation of the motion vector.
  • TMVBitWidth When TMVBitWidth is fixedly used at the same value in the encoding apparatus and the decoding apparatus, TMVBitWidth may be a positive integer such as 4, 6, 8, 10, 12, 14, 16, or the like. In this case, TMVBitWidth represents the bit width of the motion vector when the temporal motion vector is stored in the memory.
  • the image encoding method includes a cutting step S1410, a storing step S1420, and an encoding step S1430.
  • the image encoding apparatus and / or the decoding apparatus cuts the motion vector of the reference picture into a predetermined dynamic range (S1410).
  • a predetermined dynamic range S1410
  • I. Motion vector cutting process motion vectors outside the dynamic range are represented by the minimum or maximum value of the dynamic range. Therefore, as described above through “IV. Information transmission method for cutting a temporal motion vector in a decoding apparatus” and "V. Definition of a dynamic range through the level of an image codec", the level and / or sequence parameter of an image codec The bit depth may be limited through a set or the like, or the dynamic range may be limited through a level of an image codec to cut a motion vector of a reference picture into a predetermined dynamic range.
  • the image encoding apparatus and / or the decoding apparatus stores the motion vector of the truncated reference picture in the buffer as described above through "II. Motion vector storing process" (S1420).
  • the motion vector may be stored in a buffer with or separately from the reconstructed image.
  • the image encoding apparatus encodes the motion vector of the encoding target block by using the stored motion vector of the reference picture (S1430).
  • the motion vector of the encoding target block may be a motion vector of the reference picture, that is, a temporal motion vector, as well as the motion vector of the neighboring block adjacent to the encoding target block.
  • each component of the motion vector of the reference picture may be cut in each dynamic range.
  • a method of compressing the motion vector of the reference picture as well as a method of restricting the dynamic range of the motion vector of the reference picture may be used.
  • a flag indicating the level and / or a sequence parameter set of an image codec and the like and a parameter thereof may be defined.
  • a coding method such as motion vector prediction, enhanced motion vector prediction, motion information merging, and motion information merge skip may be performed.
  • the image decoding method includes a cutting step S1510, a storing step S1520, a deriving step S1530, and a decoding step S1540.
  • the cutting step S1510 and the storing step S1520 of FIG. 15 are the cutting step S1410 and the storing step S1420 of FIG. 14 using the aforementioned "I. motion vector cutting process” and "II. Motion vector storing process”. Similar to In addition, the derivation step S1530 of FIG. 15 uses the aforementioned "III. Motion vector derivation process" and is symmetrical to the encoding step S1430 of FIG. Therefore, detailed description thereof will be omitted.
  • the image decoding apparatus performs inter prediction decoding using the motion vector of the decoding object block (S1540).
  • the image decoding apparatus stores the motion vector in the memory using at least one of a dynamic range limitation method of the motion vector, a spatial resolution reduction method of the motion vector, a quantization method of the motion vector, and a method of reducing the representation resolution of the motion vector, and stores the stored motion vector.
  • the vector may be used for motion vector prediction and motion information merging of the decoding object block.
  • a decoding method such as motion vector prediction, enhanced motion vector prediction, motion information merging, motion information merge skip, and the like may be performed.

Landscapes

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

Abstract

본 발명은 움직임 벡터를 이용한 영상의 부호화/복호화 방법 및 장치에 관한 것이다. 본 발명의 일 실시예에 따르면 영상 복호화 방법이 제공된다. 영상 복호화 방법은 참조 픽쳐의 움직임 벡터를 소정의 다이내믹 레인지로 절삭하여 절삭된 움직임 벡터를 생성하는 단계, 절삭된 움직임 벡터를 버퍼에 저장하는 단계 및 버퍼에 저장된 움직임 벡터를 이용하여 복호화 대상 블록의 움직임 벡터를 도출하는 단계 및 복호화 대상 블록의 움직임 벡터를 이용하여 인터 예측 복호화를 수행하는 단계를 포함한다. 본 발명에 따르면 움직임 벡터를 저장하는데 필요한 메모리 공간의 크기를 감소시킬 수 있다.

Description

움직임 벡터를 이용한 영상 부호화/복호화 방법 및 장치
본 발명은 영상 처리에 관한 것으로, 더욱 상세하게는 움직임 벡터를 이용한 부호화/복호화 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 해상도를 지원하는 방송 시스템이 국내뿐만 아니라 세계적으로 확대되면서, 많은 사용자가 고해상도, 고화질의 영상에 익숙해지고 있으며, 이에 따라 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한, HDTV와 더불어 HDTV의 4배 이상의 해상도를 지원하는 UHD(Ultra High Definition)에 대한 관심이 증대되면서, 더욱 높은 해상도, 고화질의 영상에 대한 압축 기술이 요구되고 있다.
영상의 압축을 위해, 선행하는 픽쳐 및/또는 뒤에 나오는 픽쳐로부터 현재 픽쳐에 포함된 픽셀 값을 예측하는 인터(inter) 예측 기술, 픽쳐 내의 픽셀 정보를 이용하여 픽셀 값을 예측하는 인트라(intra) 예측 기술 및/또는 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술 등이 사용될 수 있다.
본 발명은 절삭된 움직임 벡터를 이용하여 영상을 부호화/복호화하는 방법 및 장치를 제공한다.
본 발명은 참조 픽쳐의 움직임 벡터를 절삭하는 방법을 제공한다.
본 발명은 움직임 벡터에 대한 정보를 전송하는 방법을 제공한다.
[1] 본 발명의 일 실시예에 따르면 영상 부호화 방법이 제공된다. 영상 부호화 방법은 참조 픽쳐의 움직임 벡터를 소정의 다이내믹 레인지로 절삭하여 절삭된 움직임 벡터를 생성하는 단계, 절삭된 움직임 벡터를 버퍼에 저장하는 단계 및 버퍼에 저장된 움직임 벡터를 이용하여 부호화 대상 블록의 움직임 벡터를 부호화 단계를 포함한다.
[2] [1]에 있어서, 다이내믹 레인지는 영상 코덱의 레벨에 의해 정의될 수 있다.
[3] [1]에 있어서, 다이내믹 레인지는 소정의 비트 심도에 의해 결정되고, 비트 심도는 영상 코덱의 레벨에 의해 정의될 수 있다.
[4] [1]에 있어서, 참조 픽쳐의 움직임 벡터의 X 성분과 Y 성분은 서로 다른 다이내믹 레인지로 절삭될 수 있다.
[5] 본 발명의 일 실시예에 따르면 영상 복호화 방법이 제공된다. 영상 복호화 방법은 참조 픽쳐의 움직임 벡터를 소정의 다이내믹 레인지로 절삭하여 절삭된 움직임 벡터를 생성하는 단계, 절삭된 움직임 벡터를 버퍼에 저장하는 단계 및 버퍼에 저장된 움직임 벡터를 이용하여 복호화 대상 블록의 움직임 벡터를 도출하는 단계 및 복호화 대상 블록의 움직임 벡터를 이용하여 인터 예측 복호화를 수행하는 단계를 포함한다.
[6] [5]에 있어서, 다이내믹 레인지는 영상 코덱의 레벨에 의해 정의될 수 있다.
[7] [5]에 있어서, 다이내믹 레인지는 소정의 비트 심도에 의해 결정되고, 비트 심도는 영상 코덱의 레벨에 의해 정의될 수 있다.
[8] [5]에 있어서, 다이내믹 레인지는 소정의 비트 심도에 의해 결정되고, 비트 심도는 영상 부호화 장치로부터 전송되는 시퀀스 파라미터 셋을 통해 획득될 수 있다.
[9] [8]에 있어서, 시퀀스 파라미터 셋은 참조 픽쳐의 움직임 벡터가 절삭되었는지를 나타내는 플래그 및 비트 심도를 획득하기 위한 파라미터를 포함할 수 있다.
[10] [9]에 있어서, 영상 복호화 방법은 참조 픽쳐의 움직임 벡터를 압축하는 단계를 더 포함하고, 시퀀스 파리미터 셋은 참조 픽쳐의 움직임 벡터가 압축되었는지를 나타내는 플래그 및 참조 픽쳐의 움직임 벡터의 압축 비율을 획득하기 위한 파라미터를 포함할 수 있다.
[11] [5]에 있어서, 영상 복호화 방법은 참조 픽쳐의 움직임 벡터의 표현 해상도를 제한하는 단계를 더 포함할 수 있다.
[12] [5]에 있어서, 절삭된 움직임 벡터는 우선순위에 따라 저장될 수 있다.
[13] [5]에 있어서, 절삭된 움직임 벡터는 인터 예측 모드로 부호화된 블록의 움직임 벡터일 수 있다.
[14] [5]에 있어서, 영상 복호화 방법은 참조 픽쳐의 움직임 벡터에 대한 스케일링(scaling)을 수행하는 단계를 더 포함할 수 있다.
[15] [5]에 있어서, 참조 픽쳐의 움직임 벡터의 X 성분과 Y 성분은 서로 다른 다이내믹 레인지로 절삭될 수 있다.
[16] [15]에 있어서, X 성분의 다이내믹 레인지와 Y 성분의 다이내믹 레인지는 영상 코덱의 레벨에 의해 정의될 수 있다.
[17] 본 발명의 일 실시예에 따르면, 참조 픽쳐 버퍼 및 움직임 보상부를 포함하는 영상 복호화 장치가 제공된다. 참조 픽쳐 버퍼는 참조 픽쳐를 저장한다. 움직임 보상부는 참조 픽쳐 및 참조 픽쳐의 움직임 벡터를 이용하여 예측 블록을 생성한다. 여기서, 참조 픽쳐의 움직임 벡터는 소정의 다이내믹 레인지로 절삭된 것이다.
[18] [17]에 있어서, 다이내믹 레인지는 영상 코덱의 레벨에 의해 정의될 수 있다.
[19] [17]에 있어서, 다이내믹 레인지는 소정의 비트 심도에 의해 결정되고, 비트 심도는 영상 코덱의 레벨에 의해 정의될 수 있다.
[20] [17]에 있어서, 다이내믹 레인지는 소정의 비트 심도에 의해 결정되고, 비트 심도는 영상 부호화 장치로부터 전송되는 시퀀스 파라미터 셋을 통해 획득될 수 있다.
본 발명에 따르면 절삭된 움직임 벡터를 이용하여 영상을 부호화/복호화할 수 있다.
본 발명에 따르면 움직임 벡터를 저장하는데 필요한 메모리 공간의 크기를 감소시킬 수 있다.
본 발명에 따르면 메모리로부터 데이터를 가져오는데 요구되는 메모리 접근 대역폭을 감소시킬 수 있다.
도 1은 영상 부호화 장치의 구조의 일 예를 나타내는 블록도이다.
도 2는 영상 복호화 장치의 구조의 일 예를 나타내는 블록도이다.
도 3은 부호화/복호화 대상 픽쳐와 참조 픽쳐의 일 예를 나타낸다.
도 4는 움직임 벡터의 다이내믹 레인지를 제한하는 일 예이다.
도 5 내지 도 8은 참조 픽쳐의 움직임 벡터를 저장하는 방법을 나타낸 순서도이다.
도 9는 움직임 벡터를 양자화하는 일 예이다.
도 10 내지 도 13은 참조 픽쳐로부터 움직임 정보를 가져오는 예들을 나타낸다.
도 14는 본 발명의 일 실시예에 따른 영상의 부호화 방법을 나타낸 순서도이다.
도 15는 본 발명의 일 실시예에 따른 영상의 복호화 방법을 나타낸 순서도이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명하기로 한다. 단, 본 발명의 실시예를 설명함에 있어서, 공지의 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있거나 "접속되어" 있다고 서술되어 있는 경우, 다른 구성 요소에 직접 연결되어 있거나 접속되어 있을 수 있으나, 또 다른 구성요소가 중간에 존재할 수도 있음을 의미한다. 또한, 본 발명에서 특정 구성 요소를 "포함"한다고 서술되어 있는 경우, 해당 구성 요소 이외의 구성 요소를 배제하는 것이 아니라, 추가적인 구성 요소가 본 발명의 실시예 또는 기술적 사상의 범위에 포함될 수 있음을 의미한다.
"제 1", "제 2" 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되지 않는다. 즉, 상기 용어 들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 마찬가지로 제 2 구성요소도 제 1 구성 요소로 명명될 수 있다.
또한, 본 발명의 실시예에 나타나는 구성 요소는 서로 다른 특징적인 기능을 수행하는 것을 나타내기 위해 독립적으로 도시될 뿐, 각 구성 요소가 하나의 하드웨어 또는 소프트웨어로 구현될 수 없음을 의미하는 것은 아니다. 즉, 각 구성 요소는 설명의 편의상 구분된 것으로, 복수의 구성 요소가 합쳐져 하나의 구성 요소로 동작하거나, 하나의 구성 요소가 복수의 구성 요소로 나뉘어져 동작할 수 있고, 이는 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리 범위로 포함된다.
또한, 일부 구성 요소는 본 발명의 본질적인 기능을 수행하는 필수 구성 요소가 아닌 성능의 향상을 위한 선택적 구성 요소일 수 있다. 본 발명은 선택적 구성 요소를 제외하고 필수 구성 요소만을 포함한 구조로도 구현될 수 있으며, 필수 구성 요소만을 포함한 구조 역시 본 발명의 권리 범위에 포함된다.
도 1은 영상 부호화 장치의 구조의 일 예를 나타내는 블록도이다.
도 1을 참조하면, 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 픽쳐 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상을 인트라 예측 모드(intra prediction mode) 또는 인터 예측 모드(inter prediction mode)로 부호화하여 비트스트림(bitstream)을 출력한다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 영상 부호화 장치(100)는 스위치(115)의 전환을 통해 인트라 예측 모드와 인터 예측 모드 사이를 천이한다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분(residual)을 부호화한다.
인트라 예측 모드의 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀 값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다.
인터 예측 모드의 경우, 움직임 예측부(111)는 움직임 예측 과정에서 참조 픽쳐 버퍼(190)에 저장되어 있는 참조 픽쳐 내에서 입력 블록과 가장 매칭이 잘 되는 참조 블록을 찾아 움직임 벡터를 구한다. 움직임 보상부(112)는 상기 움직임 벡터를 이용하여 움직임 보상을 수행하여 예측 블록을 생성한다. 여기서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터이며, 현재 부호화/복호화의 대상 블록과 참조 블록 사이의 오프셋을 나타낸다.
감산기(125)는 입력 블록과 예측 블록의 차분에 기반하여 차분 블록(residual block)을 생성하고, 변환부(130)는 상기 차분 블록을 변환(transform)하여 변환 계수(transform coefficient)를 출력한다. 양자화부(140)는 상기 변환 계수를 양자화하여 양자화된 계수(quantized coefficient)를 출력한다.
엔트로피 부호화부(150)는 부호화/양자화 과정에서 획득한 정보에 기반한 엔트로피 부호화를 수행하여 비트스트림을 출력한다. 엔트로피 부호화는 빈번하게 발생되는 심볼(symbol)을 적은 수의 비트로 표현함으로써 부호화의 대상 심볼에 대한 비트열의 크기를 감소시킨다. 따라서, 엔트로피 부호화를 통해 영상의 압축 성능의 향상을 기대할 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding, CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
인터 예측 부호화를 수행하기 위한 참조 픽쳐로 사용되기 위해 부호화된 픽쳐는 다시 복호화되어 저장될 필요가 있다. 따라서, 역양자화부(160)는 양자화된 계수를 역양자화하고, 역변화부(170)는 역양자화된 계수를 역변환(inverse transform)하여 복원된 차분 블록을 출력한다. 가산기(175)는 예측 블록에 복원된 차분 블록을 더하여 복원 블록을 생성한다.
필터부(180)는 적응적 인-루프(in-loop) 필터로도 불리며, 복원 블록에 디블록킹 필터링(deblocking filtering), SAO(Sample Adaptive Offset) 보상, ALF(Adaptive Loop Filtering) 중 적어도 하나 이상을 적용한다. 디블록킹 필터링은 블록 간 경계에 생긴 블록 왜곡을 제거하는 것을 의미하고, SAO 보상은 코딩 에러를 보상하기 위해 픽셀 값에 적정 오프셋(offset)을 더해주는 것을 의미한다. 또한, ALF는 복원된 영상과 원래의 영상을 비교한 값에 기반하여 필터링을 수행하는 것을 의미한다.
한편, 참조 픽쳐 버퍼(190)는 필터부(180)를 거친 복원 블록을 저장한다.
도 2는 영상 복호화 장치의 구조의 일 예를 나타내는 블록도이다.
도 2를 참조하면, 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 픽쳐 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 비트스트림을 인트라 예측 모드 또는 인터 예측 모드로 복호화하여 복원 영상을 출력한다. 영상 복호화 장치(200)는 스위치의 전환을 통해 인트라 예측 모드와 인터 예측 모드 사이를 천이한다. 영상 복호화 장치(200)는 비트스트림으로부터 차분 블록을 획득하여 예측 블록을 생성한 후, 차분 블록과 예측 블록을 더하여 복원 블록을 생성한다.
엔트로피 복호화부(210)는 확률 분포에 기반한 엔트로피 복호화를 수행한다. 엔트로피 복호화 과정은 상술한 엔트로피 부호화 과정의 반대과정이다. 즉, 엔트로피 복호화부(210)는 빈번하게 발생되는 심볼을 적은 수의 비트로 표현한 비트스트림으로부터 양자화된 계수를 포함하는 심볼을 생성한다.
역양자화부(220)는 양자화된 계수를 역양자화하고, 역변환부(230)는 역양자화된 계수를 역변환하여 차분 블록을 생성한다.
인트라 예측 모드의 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 복호화된 블록의 픽셀 값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다.
인터 예측 모드의 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 픽쳐 버퍼(270)에 저장된 참조 픽쳐를 이용한 움직임 보상을 수행하여 예측 블록을 생성한다.
가산기(255)는 차분 블록에 예측 블록을 더하고, 필터부(260)는 가산기를 거친 블록에 디블록킹 필터링, SAO 보상, ALF 중 적어도 하나 이상을 적용하여 복원 영상을 출력한다.
한편, 복원 영상은 참조 픽쳐 버퍼(270)에 저장되어 움직임 보상에 사용될 수 있다.
이하, 블록은 부호화/복호화의 단위를 의미한다. 부호화/복호화 과정에서, 영상은 소정의 크기로 분할되어 부호화/복호화된다. 따라서, 블록은 부호화 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit), 변환 유닛(TU: Transform Unit) 등으로도 불릴 수도 있으며, 하나의 블록은 더 작은 크기의 하위 블록으로 분할될 수도 있다.
여기서, 예측 유닛은 예측 및/또는 움직임 보상 수행의 기본 단위를 의미한다. 예측 유닛은 복수의 파티션(partition)으로 분할될 수 있으며, 각각의 파티션은 예측 유닛 파티션(prediction unit partition)으로 불린다. 예측 유닛이 복수의 파티션으로 분할된 경우, 예측 유닛 파티션은 예측 및/또는 움직임 보상 수행의 기본 단위가 될 수 있다. 이하, 본 발명의 실시예에서는 예측 유닛은 예측 유닛 파티션을 의미할 수도 있다.
한편, HEVC(High Efficiency Video Coding)에서는 향상된 움직임 벡터 예측(AMVP: Advanced Motion Vector Prediction)에 기반한 움직임 벡터 예측(motion vector prediction) 방법을 사용한다.
향상된 움직임 벡터 예측에 기반한 움직임 벡터 예측 방법에서는 부호화/복호화 대상 블록의 주변에 위치하는 복원 블록의 움직임 벡터(MV: Motion Vector)뿐만 아니라, 참조 픽쳐(reference picture) 내에서 부호화/복호화 대상 블록과 동일한 위치 또는 대응되는 위치에 존재하는 블록의 움직임 벡터를 이용할 수 있다. 이때. 참조 픽쳐 내에서 부화화/복호화 대상 블록과 동일한 위치 또는 공간적으로 대응되는 위치에 존재하는 블록을 동등 위치 블록(collocated block), 동등 위치 블록의 움직임 벡터를 동등 위치 움직임 벡터(collocated motion vector) 또는 시간적 움직임 벡터(temporal motion vector)라고 부른다. 그러나, 동동 위치 블록(collocated block)은 참조 픽쳐의 부호화/복호화 대상 블록과 반드시 동일한 위치에 존재하는 블록만이 아니라, 부호화/복호화 대상 블록과 위치가 유사한, 즉 대응되는 위치에 존재하는 블록일 수도 있다.
움직임 정보 병합(motion information merge) 방법에서는 움직임 정보를 주변에 위치하는 복원 블록뿐만 아니라 동등 위치 블록으로부터도 유추하여, 부호화/복호화 대상 블록의 움직임 정보로 이용한다. 이때, 움직임 정보는 인터 예측 시에 필요한 참조 픽쳐 인덱스(reference picture index), 움직임 벡터, 단방향(uni-direction) 또는 양방향(bi-direction) 등을 나타내는 인터 예측 모드 정보, 참조 픽쳐 리스트(reference picture list), 인트라 예측 모드로 부호화되었는지 인터 예측 모드로 부호화되었는지에 관한 예측 모드(prediction mode) 정보 중 적어도 하나 이상을 포함하는 정보이다.
부호화/복호화 대상 블록에서 예측된 움직임 벡터(predictied motion vector)는 부호화/복호화 대상 블록과 공간적으로 인접한 주변 블록의 움직임 벡터뿐만 아니라, 부호화/복호화 대상 블록과 시간적으로 인접한 블록인 동등 위치 블록의 움직임 벡터일 수도 있다.
도 3은 부호화/복호화 대상 픽쳐와 참조 픽쳐의 일 예를 나타낸다.
도 3에서 블록 X는 부호화/복호화 대상 픽쳐(310) 내의 부호화/복호화 대상 블록을 나타내며, 블록 A, 블록 B, 블록 C, 블록 D 및 블록 E는 부호화/복호화 대상 블록의 주변에 위치하는 복원 블록을 나타낸다. 그리고, 참조 픽쳐(320) 내의 블록 T는 부호화/복호화 대상 블록과 대응되는 위치에 존재하는 동등 위치 블록을 나타낸다.
부호화/복호화 대상 블록에서 어떠한 움직임 벡터를 예측된 움직임 벡터로 이용한지에 대해서는 움직임 백터 예측기 인덱스(motion vector predictor index)을 통해서 알 수 있다.
표 1
Figure PCTKR2012000770-appb-T000001
표 1과 같이, 각각의 참조 픽쳐 리스트에 대한 움직임 벡터 예측기 인덱스(mvp_idx_l0, mvp_idx_l1)가 복호화 장치로 전송되며, 복호화 장치는 부호화 장치가 예측한 움직임 벡터와 동일한 움직임 벡터를 예측된 움직임 벡터로 이용한다.
부호화/복호화 대상 블록과 공간적으로 인접한 주변 블록의 움직임 벡터를 이용하여 부호화/복호화 대상 블록을 부호화/복호화하는 경우, 상대적으로 작은 크기의 메모리(memory)만으로 움직임 벡터를 저장할 수 있다. 하지만, 시간적 움직임 벡터를 이용하는 경우, 참조 픽쳐의 모든 움직임 벡터를 메모리에 저장해야 하므로, 상대적으로 큰 크기의 메모리가 필요하고, 메모리로부터 데이터를 가져오는데 요구되는 메모리 접근 대역폭(memory access bandwidth)의 크기도 증가하게 된다. 따라서, 휴대수신단말기 등 메모리 공간이 충분하지 않거나, 전력의 소모를 최소화해야하는 응용 환경에서는 시간적 움직임 벡터를 더욱 효율적으로 저장할 필요가 있다.
한편, 움직임 벡터를 메모리에 저장하는 종래의 기술로 움직임 벡터의 공간 해상도(spatial resolution)를 낮추는 방법이 있다. 상기 방법에서는 움직임 벡터를 임의의 비율로 압축하여 메모리에 저장한다. 예를 들어, 4x4 블록 단위로 저장되는 움직임 벡터를 4x4 이상의 블록 단위로 저장하여, 저장되는 움직임 벡터의 개수를 줄인다. 이때, 저장되는 움직임 벡터의 블록 크기를 조정하기 위해, 압축 비율에 대한 정보가 전송된다. 상기 정보는 표 2와 같이 시퀀스 파라미터 셋(SPS: Sequence Parameter Set)을 통해 전송된다.
표 2
Figure PCTKR2012000770-appb-T000002
표 2를 참조하면, motion_vector_buffer_comp_flag가 1일 경우, 움직임 벡터 버퍼 압축 과정이 수행된다.
motion_vector_buffer_comp_ratio_log2는 움직임 벡터 버퍼 압축 과정의 압축 비율을 나타낸다. motion_vector_buffer_comp_ratio_log2가 존재하지 않을 경우, motion_vector_buffer_comp_ratio_log2는 0으로 유추되며, 움직임 벡터 버퍼 압축 비율을 수학식 1과 같이 표현된다.
수학식 1
Figure PCTKR2012000770-appb-M000001
예를 들어, 1920x1080(1080p) 픽쳐의 모든 4x4 블록이 다른 움직임 벡터를 가지고, 2개의 참조 픽쳐 리스트를 사용하며, 각각의 리스트마다 2개의 참조 픽쳐를 사용하는 경우, 아래와 같이, 총 3.21 Mbytes의 메모리 공간이 시간적 움직임 벡터를 저장하기 위해 요구된다.
1. 하나의 움직임 벡터마다 26 bis의 비트 심도(bit depth)
(1) 움직임 벡터의 X 성분의 다이내믹 레인지(dynamic range): -252 내지 +7676(비트 심도: 13 bits)
(2) 움직임 벡터의 Y 성분의 다이내믹 레인지(dynamic range): -252 내지 +4316(비트 심도: 13 bits)
(3) (움직임 벡터의 각각의 성분의 다이내믹 레인지는 해당 픽쳐 내의 첫 번째 예측 유닛을 기준으로 계산되었다.)
2. 4x4 블록 단위 모두 다른 움직임 벡터를 가질 경우: 480 x 270 = 129600 블록
3. 각각의 블록마다 2개의 움직임 벡터를 사용
4. 참조 픽쳐 리스트의 수: 2개
5. 참조 픽쳐 리스트마다 2개의 참조 픽쳐를 사용
=> 26 bits x 129600 블록 x 2개의 움직임 벡터 x 2개의 참조 픽쳐 리스트 x 2개의 참조 픽쳐 = 26956800 bits = 3.21 Mbytes
전술한 움직임 벡터의 공간 해상도를 낮추는 방법에 따르면, 움직임 벡터의 공간적인 상관성을 이용하여 요구되는 메모리 공간의 크기 및 메모리 접근 대역폭을 줄일 수 있다. 그러나, 움직임 벡터의 공간 해상도를 낮추는 상기 방법은 움직임 벡터의 다이내믹 레인지를 제한하지 않았다.
만약 메모리 공간의 크기를 1/4로 줄일 경우, 상술한 예에서 요구되는 메모리 공간의 크기는 약 0.8 Mbytes로 줄어들게 된다. 이때, 추가로 움직임 벡터의 다이내믹 레인지를 제한하여, 움직임 벡터를 저장하는데 필요한 비트 심도를 움직임 벡터의 각각의 성분마다 6 bits만을 사용하게 하면, 요구되는 메모리 공간의 크기는 0.37 Mbytes로 더욱 줄일 수 있다.
따라서, 본 발명에서는 움직임 벡터를 저장하는데 필요한 메모리 공간의 크기와 메모리로부터 데이터를 가져오는데 요구되는 메모리 접근 대역폭을 감소시키기 위해, 움직임 벡터의 다이내믹 레인지를 제한한다. 다이내믹 레인지가 제한된 참조 픽쳐의 움직임 벡터는 부호화/복호화 대상 블록에서 시간적 움직임 벡터로 이용될 수 있다.
이하, 다이내믹 레인지는 0을 기준으로 움직임 벡터의 음의 성분이나 양의 성분이 가질 수 있는 최솟값과 최댓값 사이의 구간을 의미하고, 비트 심도는 움직임 벡터를 저장하는데 필요한 공간의 크기를 나타내는 것으로, 비트 폭(bit width)을 의미할 수도 있다. 또한, 특별한 언급이 없는 한, 움직임 벡터는 참조 픽쳐의 움직임 벡터, 즉 시간적 움직임 벡터를 의미한다.
움직임 벡터의 각각의 성분은 다이내믹 레인지를 벗어나는 경우 해당 다이내믹 레인지의 최솟값 또는 최댓값으로 표현된다. 예를 들어, 움직임 벡터의 X 성분이 312이고, 움직임 벡터의 각각의 성분의 다이내믹 레인지의 최댓값이 256일 경우, 움직임 벡터의 X 성분은 256으로 제한된다.
마찬가지로, 움직임 벡터의 각각의 성분의 비트 심도가 16 bits이고, 움직임 벡터가 (-36, 24)인 경우, 상기 움직임 벡터의 각각의 성분의 비트 심도를 6 bits로 제한하면, 움직임 벡터의 각각의 성분은 -32 내지 +31의 다이내믹 레인지를 가지게 되어, 상기 움직임 벡터는 다이내믹 레인지 내인 (-32, 24)로 표현된다.
또한, 움직임 벡터의 각각의 성분의 비트 심도가 16 bits이고, 움직임 벡터가 (-49, 142)인 경우, 상기 움직임 벡터의 각각의 성분의 비트 심도를 9 bits로 제한하면, 움직임 벡터의 각각의 성분은 -256 내지 +255의 다이내믹 레인지를 가지게 되어, 상기 움직임 벡터는 변화없이 (-49, 142)로 표현된다.
도 4는 움직임 벡터의 다이내믹 레인지를 제한하는 일 예이다.
도 4를 참조하면, -4096 내지 +4095의 다이내믹 레인지를 가지는 움직임 벡터의 다이내믹 레인지를 -128 내지 +127로 제한하면, 비트 심도를 13 bits에서 8 bits로 감소시킬 수 있다.
시간적 움직임 벡터의 각각의 성분은 N bit(s)의 비트 심도로 저장되기 위해 수학식 2 및 수학식 3과 같이 절삭(clip)된다. 여기서, N은 양의 정수이다.
수학식 2
Figure PCTKR2012000770-appb-M000002
수학식 3
Figure PCTKR2012000770-appb-M000003
여기서, MV_X는 움직임 벡터의 X 성분, MV_Y는 움직임 벡터의 Y 성분이고, min(a,b)는 a와 b 중에서 작은 값을 출력하는 연산, max(a,b)는 a와 b 중에서 큰 값을 출력하는 연산이다. clippedMV_X와 clippedMV_Y는 각각 절삭된 시간적 움직임 벡터의 X 성분, Y 성분이며, 메모리에 저장되어 부호화/복호화 대상 블록의 시간적 움직임 벡터로 이용된다.
예를 들어, 표 3과 같이 메모리 공간의 크기가 48 byte이고, 움직임 벡터의 각각의 성분마다 16 bits의 비트 심도를 사용하는 경우, 총 12개의 움직임 벡터를 저장할 수 있다.
표 3
MV1-X MV1-Y MV2-X MV2-Y MV3-X MV3-Y MV4-X MV4-Y
MV5-X MV5-Y MV6-X MV6-Y MV7-X MV7-Y MV8-X MV8-Y
MV9-X MV9-Y MV10-X MV10-Y MV11-X MV11-Y MV12-X MV12-Y
그러나, 움직임 벡터의 각각의 성분마다 8 bits의 비트 심도만을 사용한다면, 표 4와 같이 총 24개의 움직임 벡터를 저장할 수 있다.
표 4
MV1-X MV1-Y MV2-X MV2-Y MV3-X MV3-Y MV4-X MV4-Y
MV5-X MV5-Y MV6-X MV6-Y MV7-X MV7-Y MV8-X MV8-Y
MV9-X MV9-Y MV10-X MV10-Y MV11-X MV11-Y MV12-X MV12-Y
MV13-X MV13-Y MV14-X MV14-Y MV15-X MV15-Y MV16-X MV16-Y
MV17-X MV17-Y MV18-X MV18-Y MV19-X MV19-Y MV20-X MV20-Y
MV21-X MV21-Y MV22-X MV22-Y MV23-X MV23-Y MV24-X MV24-Y
따라서, 본 발명에 따르면, 부호화 장치 및/또는 복호화 장치에서 복원된 영상이 디블록킹 필터(deblocking filter), 적응적 루프 필터(adpative loop filter) 등의 인-루프 필터링(in-loop filtering) 과정을 거쳐 복원된 영상 버퍼(DPB: decoded picture buffer)에 저장될 때, 움직임 벡터의 다이내믹 레인지를 제한하여 참조 픽쳐의 움직임 벡터를 저장한다. 여기서, 복원된 영상 버퍼는 도 1 또는 도 2의 참조 픽쳐 버퍼를 의미할 수 있다.
I. 움직임 벡터 절삭 과정
움직임 벡터의 각각의 성분을 절삭하는 과정은 슬라이스 타입(slice_type)이 I 픽쳐가 아닌 경우 수행된다. 움직임 벡터 절삭 과정은 필터링 과정을 마친 뒤, 트리블록(treeblock) 또는 최대 크기 부호화 유닛(LCU: Largest Coding Unit) 단위로 수행된다.
움직임 벡터 절삭 과정의 입력은 현재 픽쳐에서의 예측 유닛의 좌상단 픽셀 위치인 (xP, yP)와 움직임 벡터 행렬 MvL0 및 MvL1이고, 출력은 절삭된 움직임 벡터 행렬 CMvL0 및 CMvL1이다.
행렬 MvL0, MvL1, CMvL0 및 CMvL1에 대해서 수학식 4 내지 수학식 7의 연산이 수행된다.
수학식 4
Figure PCTKR2012000770-appb-M000004
수학식 5
Figure PCTKR2012000770-appb-M000005
수학식 6
Figure PCTKR2012000770-appb-M000006
수학식 7
Figure PCTKR2012000770-appb-M000007
여기서, TMVBitWidth는 움직임 벡터의 비트 심도를 나타내며, Clip3(a, b, c)는 c를 a와 b 사이의 범위 내에 존재하도록 절삭하는 함수를 의미한다.
II. 움직임 벡터 저장 과정
도 5 내지 도 8은 참조 픽쳐의 움직임 벡터를 저장하는 방법을 나타낸 순서도이다.
도 5를 참조하면, 복원된 영상을 저장하는 영상 버퍼와 움직임 벡터를 저장하는 움직임 벡터 버퍼를 함께 이용하여, 참조 픽쳐의 움직임 벡터를 저장할 수 있다. 이때, 복원된 영상은 인-루프 필터링 과정(S510)을 거치고, 움직임 벡터는 다이내믹 레인지가 제한(S520)되어 저장(S540)된다.
또한, 도 6을 참조하면, 영상 버퍼와 움직임 벡터 버퍼를 함께 이용하되, 움직임 벡터는 다이내믹 레인지 제한 과정(S620) 및 공간 해상도 감소 과정(S630)을 거쳐 저장(S640)된다.
또한, 도 7을 참조하면, 복원된 영상은 인-루프 필터링 과정(S710)을 거쳐 영상 버퍼에 저장(S740)되고, 움직임 벡터는 다이내믹 레인지가 제한(S720)되어 움직임 벡터 버퍼에 저장(S750)된다.
또한, 도 8을 참조하면, 복원된 영상은 인-루프 필터링 과정(S810)을 거쳐 영상 버퍼에 저장(S840)되고, 움직임 벡터는 다이내믹 레인지 제한 과정(S820) 및 공간 해상도 감소 과정(S830)을 거쳐 저장(S850)된다.
한편, 도 6과 도 8의 실시예에서 다이내믹 레인지 제한 과정(S620, S820)과 공간 해상도 감소 과정(S630, S830)은 순서에 한정되지 않고, 변경될 수 있다.
또한, 메모리 접근 대역폭을 더욱 감소시키기 위해, 움직임 벡터의 각각의 성분에 대한 다이내믹 레인지를 서로 다르게 제한할 수 있다. 예를 들어, X 성분의 다이내믹 레인지와 Y 성분의 다이내믹 레인지 중 하나만을 제한하거나, Y 성분의 다이내믹 레인지를 X 성분의 다이내믹 레인지보다 더 제한할 수 있다.
움직임 벡터의 제한된 다이내믹 레인지는 시퀀스 파라미터 셋, 픽쳐 파리마터 셋(PPS: Picture Parameter Set) 또는 슬라이스 헤더(slice header) 등을 통해 전송되며, 복호화 장치는 시퀀스, 픽쳐 또는 슬라이스 내에서 시간적 움직임 벡터의 다이내믹 레인지의 제한을 동일하게 수행한다. 이때, 다이내믹 레인지 범위 내로 표현되는 움직임 벡터를 저장하는데 필요한 메모리 공간의 크기인 비트 심도가 함께 전송될 수 있다. 또한, 고정된 크기의 비트 심도를 이용하여 움직임 벡터를 저장하지 않고, 시퀀스 파리미터, 픽쳐 파라미터 셋 또는 슬레이스 헤더 등을 통해 전송된 다이내믹 레인지를 이용하여, 시간적 움직임 벡터를 영상의 움직임 특성에 맞게 효율적으로 저장할 수도 있다.
한편, 움직임 벡터는 양자화되어 저장될 수 있다. 움직임 벡터가 양자화되어 저장되는 경우, 움직임 벡터의 정밀도는 감소하게 된다. 양자화 방법으로는 스텝 크기(step size)가 균등한 균등 양자화(uniform quantization), 스텝 크기가 균등하지 않은 비균등 양자화(non-uniform quantization) 등이 있다. 양자화의 스텝 크기는 부호화 장치와 복호화 장치에서 미리 약속된 고정된 값으로 설정되거나, 시퀀스 파라미터 셋. 픽쳐 파라미터 셋, 또는 슬라이스 헤더 등을 통해 부호화 장치로부터 복호화 장치로 전송된다. 복호화 장치에서는 양자화된 움직임 벡터를 그대로 이용하거나, 역양자화하여 이용한다. 도 9는 움직임 벡터를 양자화하는 일 예이다. 도 9를 참조하면, 움직임 벡터가 32 내지 48의 성분 값을 갖는 경우, 움직임 벡터는 40으로 양자화된다.
또한, 움직임 벡터는 표현 해상도가 제한되어 저장될 수 있다. 표현 해상도는 정수 화소 단위(1화소 단위), 분수 화소 단위(1/2화소 단위, 1/4화소 단위 등)를 의미한다. 예를 들어, 1/4화소 단위로 처리되는 움직임 벡터의 해상도를 정수 화소로 저장할 수 있다. 움직임 벡터의 표현 해상도는 부호화 장치와 복호화 장치에서 미리 약속된 고정된 값으로 설정되거나, 시퀀스 파라미터 셋, 픽쳐 파라미터 셋 또는 슬라이스 헤더 등을 통해 부호화 장치로부터 복호화 장치로 전송된다.
또한, 메모리에 저장되는 시간적 움직임 벡터들 중에서 일부의 움직임 벡터들에 대해서만 움직임 벡터의 다이내믹 레인지 제한 과정, 공간 해상도 감소 과정, 양자화 과정을 수행할 수 있다.
움직임 벡터의 다이내믹 레인지를 제한하여 저장하는 경우, 움직임 벡터의 다이내믹 레인지에 대한 정보를 추가하여 메모리에 저장할 수 있다. 예를 들어, 움직임 벡터의 다이내믹 레인지를 -128 내지 +127로 하는 경우, 1의 플래그를 추가로 저장하고, -32 내지 +31로 하는 경우, 0의 플래그를 추가로 저장할 수 있다. 이때, 플래그 정보는 움직임 벡터와 함께 저장되거나, 움직임 벡터가 저장되는 메모리가 아닌 다른 메모리에 저장될 수 있다. 플래그 정보와 움직임 벡터가 다른 메모리에 저장되는 경우, 특정 움직임 벡터가 어떤 다이내믹 레인지로 저장되었는지에 대해 알아낼 때 플래그 정보에 임의 접근하게 할 수 있다. 또한, 일부 움직임 벡터가 어떤 다이내믹 레인지로 저장되었는지에 대한 정보를 시퀀스 파라미터 셋, 픽쳐 파라미터 셋 또는 슬라이스 헤더 등을 통해 전송하여, 복호화기에서도 부호화기와 동일하게 동작하게 할 수 있다.
움직임 벡터의 공간 해상도를 감소시켜 저장하는 경우, 움직임 벡터의 블록 크기에 대한 정보를 추가하여 메모리에 저장할 수 있다. 예를 들어, 움직임 벡터의 블록 크기를 4x4로 하는 경우, 1의 플래그를 추가로 저장하고, 16x16로 하는 경우, 0의 플래그를 추가로 저장할 수 있다. 이때, 플래그 정보는 움직임 벡터와 함께 저장되거나, 움직임 벡터가 저장되는 메모리가 아닌 다른 메모리에 저장될 수 있다. 플래그 정보와 움직임 벡터가 다른 메모리에 저장되는 경우, 특정 움직임 벡터가 어떤 블록 크기로 저장되었는지에 대해 알아낼 때 플래그 정보에 임의 접근하게 할 수 있다. 또한, 일부 움직임 벡터가 어떤 블록 크기로 저장되었는지에 대한 정보를 시퀀스 파라미터 셋, 픽쳐 파라미터 셋 또는 슬라이스 헤더 등을 통해 전송하여, 복호화기에서도 부호화기와 동일하게 동작하게 할 수 있다.
움직임 벡터를 양자화하여 저장하는 경우, 움직임 벡터의 정밀도에 대한 정보를 추가하여 메모리에 저장할 수 있다. 예를 들어, 양자화의 스텝 크기를 4로 하는 경우, 1의 플래그를 추가로 저장하고, 양자화의 스텝 크기를 1로 하는 경우, 0의 플래그를 추가로 저장할 수 있다. 이때, 플래그 정보는 움직임 벡터와 함께 저장되거나, 움직임 벡터가 저장되는 메모리가 아닌 다른 메모리에 저장될 수 있다. 플래그 정보와 움직임 벡터가 다른 메모리에 저장되는 경우, 특정 움직임 벡터가 어떤 스텝 크기로 양자화되어 저장되었는지에 대해 알아낼 때 플래그 정보에 임의 접근하게 할 수 있다. 또한, 일부 움직임 벡터가 어떤 스텝 크기로 양자화되어 저장되었는지에 대한 정보를 시퀀스 파라미터 셋, 픽쳐 파라미터 셋 또는 슬라이스 헤더 등을 통해 전송하여, 복호화기에서도 부호화기와 동일하게 동작하게 할 수 있다.
또한, 움직임 정보를 메모리에 저장하는 경우, 움직임 벡터의 공간 해상도를 감소시켜 저장할 수 있다. 이때, 움직임 정보는 인터 예측 시에 필요한 참조 픽쳐 인덱스(reference picture index), 움직임 벡터, 단방향(uni-direction) 또는 양방향(bi-direction) 등을 나타내는 인터 예측 모드 정보, 참조 픽쳐 리스트(reference picture list), 인트라 예측 모드로 부호화되었는지 인터 예측 모드로 부호화되었는지에 관한 예측 모드(prediction mode) 정보 중 적어도 하나 이상을 포함하는 정보이다.
예를 들어, 특정 영역의 다수의 움직임 정보 중에서 파티션의 크기가 가장 큰 예측 유닛의 움직임 정보를 대표 움직임 정보로 메모리에 저장할 수 있다. 이때, 특정 영역은 부호화/복호화 대상 블록 내의 영역과 주변 블록의 영역을 포함할 수 있다. 또한, 특정 영역은 픽쳐 또는 슬라이스 전체가 일정한 크기로 분할되는 경우, 움직임 정보가 저장되는 블록을 포함하는 영역일 수 있다.
예를 들어, 특정 영역에 포함되는 다수의 움직임 정보 중에 움직임 정보 병합 방법이나, 부호화 정보 생략(skip) 방법 등으로 부호화된 움직임 정보를 제외한 뒤, 대표 움직임 정보를 메모리에 저장할 수 있다.
예를 들어, 특정 영역에 포함되는 다수의 움직임 정보 중에 가장 자주 발생하는 움직임 정보를 대표 움직임 정보로 메모리에 저장할 수 있다. 이때, 블록의 크기별로 움직임 정보의 발생 횟수 등을 계산할 수 있다.
예를 들어, 특정 영역에 포함되는 다수의 움직임 정보 중에 특정 위치의 움직임 정보를 저장할 수 있다. 이때, 특정 위치는 특정 영역에 포함되는 위치로서, 특정 영역의 고정된 위치일 수 있다. 또한, 특정 위치는 다수 개 중 하나의 위치로 선택될 수 있다. 다수 개의 위치가 상용된다면, 위치별로 우선순위가 결정될 수 있으며, 우선순위에 따라 움직임 정보가 메모리에 저장될 수 있다.
예를 들어, 특정 영역에 포함되는 다수의 움직임 정보를 메모리에 저장할 때, 인트라 예측 모드로 부호화된 블록, PCM(Pulse Coded Modulation) 모드로 부호화된 블록, 슬라이스 또는 픽쳐 경계 밖은 움직임 정보가 존재하지 않으므로, 해당 위치의 움직임 정보는 메모리에 저장하지 않을 수 있다.
만약 상술한 예들 중에서 특정 위치의 움직임 정보를 저장할 때, 해당 위치의 움직임 정보가 존재하지 않은 경우, 동등 위치 블록의 움직임 정보, 먼저 부호화되는 블록의 움직임 정보 또는 주변 블록의 움직임 정보가 해당 위치의 움직임 정보로 사용될 수 있다. 이때, 특정 위치는 부호화/복호화 대상 블록 내의 주변에 존재하는 블록 내의 하나의 샘플 위치 또는 블록의 위치일 수 있다. 예를 들어, 특정 위치의 움직임 정보가 존재하지 않은 경우, 해당 위치 주변의 인터 예측 부호화된 블록들의 움직임 정보 중 중간값(median) 또는 평균값(average)을 메모리에 저장할 수 있다. 예를 들어, 특정 위치의 움직임 정보가 존재하지 않은 경우, 해당 위치의 주변 블록들의 움직임 정보의 평균값을 메모리에 저장할 수 있다. 중간값 및 평균값을 계산할 때, 주변 블록들의 움직임 정보가 참조 픽쳐 인덱스, 참조 픽쳐 리스트, 인터 예측 모드 정보 중 하나 이상이 다른 경우, 움직임 벡터는 참조 픽쳐 인덱스. 참조 픽쳐 리스트, 인터 예측 모드 정보 및 픽쳐 디스플레이 순서(picture order count) 등에 따라 크기조정될 수 있다.
III. 움직임 벡터 도출 과정
상술한 움직임 정보 방법들을 이용하여 움직임 정보를 메모리에 저장하고, 움직임 벡터 예측 방법, 향상된 움직임 벡터 예측 방법 또는 움직임 정보 병합 방법에서 참조 픽쳐의 움직임 정보를 이용할 경우, 저장된 움직임 정보를 가져올 수 있다.
예를 들어, 참조 픽쳐 내에서 부호화/복호화 대상 블록의 위치와 대응되는 위치의 움직임 정보를 가져올 수 있다. 이때, 참조 픽쳐 내에서 부호화/복호화 대상 블록의 위치와 대응되는 위치는 특정 영역 내의 고정된 위치나 부호화/복호화 대상 블록의 위치로부터 상대적인 위치일 수 있다.
도 10 내지 도 13은 참조 픽쳐로부터 움직임 정보를 가져오는 예들을 나타낸다.
도 10 내지 도 13에서 블록 X는 부호화/복호화 대상 픽쳐(1010, 1110, 1210, 1310) 내의 부호화/복호화 대상 블록을 나타내며, 블록 A, 블록 B, 블록 C, 블록 D 및 블록 E는 부호화/복호화 대상 블록의 주변에 위치하는 복원 블록을 나타낸다. 그리고, 참조 픽쳐(1020, 1120, 1220, 1320) 내의 블록 T는 부호화/복호화 대상 블록과 대응되는 동등 위치 블록을 나타낸다. 도 13의 참조 픽쳐(1320) 내의 블록 Y는 부호화/복호화 대상 블록 외의 위치와 대응되는 블록을 나타낸다.
도 10을 참조하면, 참조 픽쳐 내에서 부호화/복호화 대상 블록 X의 위치 중 좌상단 픽셀 위치와 대응되는 위치에 해당하는 움직임 정보를 가져올 수 있다.
도 11을 참조하면, 참조 픽쳐 내에서 부호화/복호화 대상 블록 X의 위치 중 가운데 픽셀 위치와 대응되는 위치에 해당하는 움직임 정보를 가져올 수 있다.
도 12를 참조하면, 참조 픽쳐 내에서 부호화/복호화 대상 블록 X의 위치 중 우하단 픽셀 위치와 대응되는 위치에 해당하는 움직임 정보를 가져올 수 있다.
도 13을 참조하면, 참조 픽쳐 내에서 부호화/복호화 대상 블록 X 외의 위치와 대응되는 위치에 해당하는 움직임 정보를 가져올 수 있다.
메모리에 저장된 움직임 정보, 즉 참조 픽쳐의 움직임 정보를 사용하여, 움직임 벡터 예측, 향상된 움직임 벡터 예측, 움직임 정보 병합, 움직임 정보 병합 생략(merge skip) 등의 부호화/복호화 방법을 수행할 수 있다.
움직임 벡터의 다이내믹 레인지 제한 방법, 움직임 벡터의 공간 해상도 감소 방법, 움직임 벡터의 양자화 방법, 움직임 벡터의 표현 해상도 감소 방법 중 적어도 하나 이상을 사용하여 움직임 벡터를 메모리에 저장하고, 저장된 움직임 벡터를 부호화/복호화 대상 블록의 움직임 벡터 예측 및 움직임 정보 병합에 이용할 수 있다.
참조 픽쳐의 움직임 벡터를 메모리로부터 가져오는 과정을 시간적 움직임 벡터의 도출 과정이라고 한다. 시간적 움직임 벡터 도출 과정에서 TMVbitWidth는 메모리에 저장된 시간적 움직임 벡터의 비트 폭을 나타낸다.
시간적 움직임 벡터 도출 과정의 입력은 현재 픽쳐에서의 예측 유닛의 좌상단 픽셀 위치인 (xP, yP), 휘도 예측 유닛의 가로 길이와 세로 길이인 nPSW와 nPSH 및 현재 예측 유닛 파티션의 참조 픽쳐 인덱스인 refIdxLX이고, 출력은 움직임 벡터 예측값 mxLXCl과 존재 여부 플래그인 availableFlagLXCol이다.
RefPicOrderCnt(pic, refidx, LX)는 pic의 참조 픽쳐 RefPicListX[refidx]의 PicOrderCnt를 출력하는 함수이다. 여기서 X는 0 또는 1이 될 수 있다. 참조 픽쳐의 PicOrderCnt는 픽쳐가 "존재하지 않음(non-exisiting)"으로 처리될 때까지 존재한다. Clip3(a, b, c)는 c를 a와 b 사이의 범위 내에 존재하도록 절삭하는 함수를 의미한다.
동등 위치 파티션(collocated partition)을 가지고 있는 colPic은 슬라이스 타입(slice_type)이 B-슬라이스이고, collocated_from_l0_flag가 0인 경우, RefPicList1[0]이 된다; 그렇지 않은 경우, 즉 슬라이스 타입이 P-슬라이스이거나, collocated_from_l0_flag가 1인 경우, RefPicList0[0]이 된다.
colPu와 colPu의 위치인 (xPCol, yPCol)은 다음과 같은 순서로 유도된다.
1. 현재 예측 유닛의 우하단 휘도 성분 위치 (xPRb, yPRb)는 수학식 8 및 수학식 9와 같이 정의된다.
수학식 8
Figure PCTKR2012000770-appb-M000008
수학식 9
Figure PCTKR2012000770-appb-M000009
2. colPu가 인트라 예측 모드로 부호화되었거나, colPu가 존재하지 않으면,
(1) 현재 예측 유닛의 중앙 휘도 성분 위치 (xPCtr, yPCtr)는 수학식 10 및 수학식 11과 같이 정의된다.
수학식 10
Figure PCTKR2012000770-appb-M000010
수학식 11
Figure PCTKR2012000770-appb-M000011
(2) colPu는 colPic에서 ((xPCtr>>4 )<<4, (yPCtr>>4)<<4)의 위치를 포함하는 예측 유닛으로 설정된다.
3. (xPCol, yPCol)은 colPic의 좌상단 휘도 성분 위치로부터 colPu의 좌상단 휘도 성분 위치의 값이 된다.
mvLXCol과 availableFlagLXCol은 다음과 같이 유도된다.
1. colPu가 인트라 예측 모드로 부호화되었거나, colPu가 존재하지 않으면, mvLXCol의 각각의 성분은 0, availableFlagLXCol도 0이 된다.
2. 그렇지 않으면, 즉 colPu가 인트라 예측 모드로 부호화되지 않고, colPu가 존재하면, mvLXCol과 refIdxCol이 다음과 같이 유도된다.
(1) PredFlagL0[xPCol][yPCol]이 0이면, 움직임 벡터 mvCol은 MvL1[xPCol][yPCol]으로, 참조 픽쳐 인덱스 refIdxCol은 RefIdxL1[xPCol][yPCol]로 결정된다.
(2) 그렇지 않으면, 즉 PredFlagL0[xPCol][yPCol]이 1이면, 다음과 같은 과정이 수행된다.
1) PredFlagL1[xPCol][yPCol]이 0이면, 움직임 벡터 mvCol은 MvL0[xPCol][yPCol]로, 참조 픽쳐 인덱스 refIdxCol은 RefIdxL0[xPCol][yPCol]로 결정된다.
2) 그렇지 않으면, 즉 PredFlagL1[xPCol][yPCol]이 1이면, 다음과 같은 과정이 수행된다.
a. X는 0 또는 1이 되며, 다음과 같은 할당 과정이 수행된다.
i. RefIdxColLX은 RefIdxLX[xPCol][yPCol]로 할당된다.
ii. PicOrderCnt(colPic)이 PicOrderCnt(currPic)보다 작고, RefPicOrderCnt(colPic, RefIdxColLX, LX)가 PicOrderCnt(currPic)보다 크거나, 또는 PicOrderCnt(colPic)이 PicOrderCnt(currPic)보다 크고 RefPicOrderCnt(colPic, RefIdxColLX, LX)가 PicOrderCnt(currPic)보다 작으면 MvXCross는 1로 할당된다.
iii. 그렇지 않으면, 즉 PicOrderCnt(colPic)이 PicOrderCnt(currPic)보다 작고, RefPicOrderCnt(colPic, RefIdxColLX, LX)가 PicOrderCnt(currPic)보다 작거나 같거나, 또는 PicOrderCnt(colPic)이 PicOrderCnt(currPic)보다 크고 RefPicOrderCnt(colPic, RefIdxColLX, LX)가 PicOrderCnt(currPic)보다 크거나 같으면, MvXCross는 1로 할당된다.
b. 다음의 조건 중 하나를 만족하는 경우, 움직임 벡터 mvCol, 참조 픽쳐 인덱스 refIdxCol, ListCol은 각각 MvL1[xPCol][yPCol], RefIdxColL1, L1로 결정된다.
i. Mv0Cross는 0, Mv1Cross는 1.
ii. Mv0Cross와 Mv1Cross가 같고, 참조 픽쳐 리스트가 L1.
c. 그렇지 않으면, 움직임 벡터 mvCol, 참조 픽쳐 인덱스 refIdxCol, ListCol은 각각 MvL0[xPCol][yPCol], RefIdxColL0, L0으로 결정된다.
3) availableFlagLXCol은 1이 되며, 수학식 12 또는 수학식 13 내지 수학식 18의 연산이 수행된다.
a. PicOrderCnt(colPic)-RefPicOrderCnt(colPic, refIdxCol, ListCol)이 PicOrderCnt(currPic)-RefPicOrderCnt(currPic, refIdxLX, LX)와 같은 경우,
수학식 12
Figure PCTKR2012000770-appb-M000012
b. 그렇지 않은 경우,
수학식 13
Figure PCTKR2012000770-appb-M000013
수학식 14
Figure PCTKR2012000770-appb-M000014
수학식 15
Figure PCTKR2012000770-appb-M000015
수학식 16
Figure PCTKR2012000770-appb-M000016
여기서, td와 tb는 수학식 17 및 수학식 18과 같다.
수학식 17
Figure PCTKR2012000770-appb-M000017
수학식 18
Figure PCTKR2012000770-appb-M000018
즉, 수학식 13 내지 수학식 16을 참조하면, mvLXCol은 움직임 벡터 mvCol의 크기조정 값(scaled version)으로 유도된다.
한편, 움직임 벡터가 다이내믹 레인지로 절삭되어도, 절삭된 움직임 벡터가 크기조정(scaling)되는 경우, 다시 다이내믹 레인지를 벗어날 수 있다. 따라서, 크기조정된 움직임 벡터를 도출한 후, 상기 움직임 벡터의 다이내믹 레인지를 제한할 수 있다. 이 경우, 수학식 15와 수학식 16은 각각 수학식 19 와 수학식 20으로 대체될 수 있다.
수학식 19
Figure PCTKR2012000770-appb-M000019
수학식 20
Figure PCTKR2012000770-appb-M000020
IV. 복호화 장치에서 시간적 움직임 벡터를 절삭하기 위한 정보 전송 방법
이하에서는 복호화 장치에서 시간적 움직임 벡터를 부호화 장치와 동일한 방법으로 절삭하기 위해 필요한 정보를 전송하는 방법을 설명하기로 한다.
상술한 시간적 움직임 벡터 도출 과정에서의 TMVBitWidth는 시퀀스 파라미터 셋, 픽쳐 파라미터 셋 또는 슬라이스 헤더 등을 통해 부호화 장치로부터 복호화 장치로 전송될 수 있다.
표 5
Figure PCTKR2012000770-appb-T000003
표 5의 bit_width_temporal_motion_vector_minus8은 시간적 움직임 벡터 성분의 비트 폭을 나타낸다. bit_width_temporal_motion_vector_minus8이 존재하지 않을 경우, 0으로 유추되며, 시간적 움직임 벡터 성분의 비트 폭은 수학식 21과 같이 표현된다.
수학식 21
Figure PCTKR2012000770-appb-M000021
1. 정보 전송 방법 1 - 움직임 벡터를 압축하고, 움직임 벡터의 비트 심도를 제한하는 경우
표 6
Figure PCTKR2012000770-appb-T000004
표 6을 참조하면, motion_vector_buffer_comp_flag가 1일 경우, 움직임 벡터 버퍼 압축 과정이 수행된다.
motion_vector_buffer_comp_ratio_log2는 움직임 벡터 버퍼 압축 과정의 압축 비율을 나타낸다. motion_vector_buffer_comp_ratio_log2이 존재하지 않을 경우, 0으로 유추되며, 움직임 벡터 버퍼 압축 비율은 수학식 22와 같이 표현된다.
수학식 22
Figure PCTKR2012000770-appb-M000022
다시 표 6을 참조하면, bit_depth_temporal_motion_vector_constraint_flag가 1일 경우, 시간적 움직임 벡터 비트 심도 제한 과정이 수행된다.
bit_depth_temporal_motion_vector_minus8는 시간적 움직임 벡터의 비트 심도를 나타낸다. bit_depth_temporal_motion_vector_minus8이 존재하지 않을 경우, 0으로 유추되며, 시간적 움직임 벡터의 비트 심도는 수학식 23과 같이 표현된다.
수학식 23
Figure PCTKR2012000770-appb-M000023
2. 정보 전송 방법 2 - 움직임 벡터의 비트 심도를 제한하는 경우
표 7
Figure PCTKR2012000770-appb-T000005
표 7을 참조하면, bit_depth_temporal_motion_vector_constraint_flag가 1일 경우, 시간적 움직임 벡터 비트 심도 제한 과정이 수행된다.
bit_depth_temporal_motion_vector_minus8는 시간적 움직임 벡터의 비트 심도를 나타낸다. bit_depth_temporal_motion_vector_minus8이 존재하지 않을 경우, 0으로 유추되며, 시간적 움직임 벡터의 비트 심도는 수학식 24와 같이 표현된다.
수학식 24
Figure PCTKR2012000770-appb-M000024
3. 정보 전송 방법 3 - 움직임 벡터의 비트 심도를 제한하는 경우
표 8
Figure PCTKR2012000770-appb-T000006
표 8의 bit_depth_temporal_motion_vector_minus8는 시간적 움직임 벡터의 비트 심도를 나타낸다. bit_depth_temporal_motion_vector_minus8이 존재하지 않을 경우, 0으로 유추되며, 시간적 움직임 벡터의 비트 심도는 수학식 25와 같이 표현된다.
수학식 25
Figure PCTKR2012000770-appb-M000025
4. 정보 전송 방법 4 - 움직임 벡터의 X 성분, Y 성분 각각에 대해 비트 심도를 제한하는 경우
표 9
Figure PCTKR2012000770-appb-T000007
표 9를 참조하면, bit_depth_temporal_motion_vector_constraint_flag가 1일 경우, 시간적 움직임 벡터 비트 심도 제한 과정이 수행된다.
bit_depth_temporal_motion_vector_x_minus8는 시간적 움직임 벡터의 X 성분 비트 심도를 나타낸다. bit_depth_temporal_motion_vector_x_minus8이 존재하지 않을 경우, 0으로 유추되며, 시간적 움직임 벡터의 비트 심도는 수학식 26과 같이 표현된다.
수학식 26
Figure PCTKR2012000770-appb-M000026
bit_depth_temporal_motion_vector_y_minus8는 시간적 움직임 벡터의 Y 성분 비트 심도를 나타낸다. bit_depth_temporal_motion_vector_x_minus8이 존재하지 않을 경우, 0으로 유추되며, 시간적 움직임 벡터의 비트 심도는 수학식 27과 같이 표현된다.
수학식 27
Figure PCTKR2012000770-appb-M000027
5. 정보 전송 방법 5 - 움직임 벡터를 압축하고, 움직임 벡터의 비트 심도를 제한하는 경우
표 10
Figure PCTKR2012000770-appb-T000008
표 10을 참조하면, motion_vector_buffer_comp_flag가 1일 경우, 움직임 벡터 버퍼 압축 과정이 수행된다.
motion_vector_buffer_comp_ratio_log2는 움직임 벡터 버퍼 압축 과정의 압축 비율을 나타낸다. motion_vector_buffer_comp_ratio_log2이 존재하지 않을 경우, 0으로 유추되며, 움직임 벡터 버퍼 압축 비율은 수학식 28과 같이 표현된다.
수학식 28
Figure PCTKR2012000770-appb-M000028
V. 영상 코덱의 레벨을 통한 다이내믹 레인지의 정의
시간적 움직임 벡터의 다이내믹 레인지는 시퀀스 파라미터 셋, 픽쳐 파라미터 셋 또는 슬라이스 헤더를 통해 전송되지 않고, 영상 코덱의 레벨(level)을 통해 정의될 수 있다. 부호화 장치와 복호화 장치는 레벨 정보를 이용하여 움직임 벡터의 제한된 다이내믹 레인지를 판별할 수 있다.
또한, 레벨에서도 움직임 벡터의 X 성분과 Y 성분 각각의 다이내믹 레인지 및/또는 비트 심도를 서로 다르게 정의할 수 있으며, 각각의 성분들의 최솟값 및 최댓값을 정의할 수도 있다.
표 11와 표 12는 전술한 시간적 움직임 벡터 도출 과정에서의 TMVBitWidth를 레벨(level)에서 정의하는 경우의 일 예이다.
표 11
Figure PCTKR2012000770-appb-T000009
표 11을 참조하면, TMVBitWidth는 레벨에서 정의된 MaxTMVBitWidth로 설정된다. 이때, MaxTMVBitWidth는 시간적 움직임 벡터가 메모리에 저장될 때 움직임 벡터의 최대 비트 폭을 나타낸다.
한편, TMVBitWidth는 레벨에서 정의하고, 정의된 값과의 차이(delta value)를 시퀀스 파라미터 셋, 픽쳐 파라미터 셋, 또는 슬라이스 헤더를 전송할 수도 있다. 즉, TMVBitWidth는 레벨에서 정의된 MaxTMVBitWidth에 시퀀스 파라미터 셋, 픽쳐 파라미터 셋 또는 슬라이스 헤더에서 전송된 차이를 더한 값으로 설정될 수 있다. 이때, TMVBitWidth는 시간적 움직임 벡터가 메모리에 저장될 때 움직임 벡터의 비트 폭을 나타낸다.
표 12
Figure PCTKR2012000770-appb-T000010
표 13
Figure PCTKR2012000770-appb-T000011
표 13의 delta_bit_width_temporal_motion_vector_minus8는 시간적 움직임 벡터 성분의 비트 폭의 차이를 나타낸다. delta_bit_width_temporal_motion_vector_minus8이 존재하지 않을 경우, 0으로 유추되며, 시간적 움직임 벡터 성분의 비트 폭은 수학식 29와 같이 표현된다.
수학식 29
Figure PCTKR2012000770-appb-M000029
또한, 표 14와 같이 레벨에 시간적 움직임 벡터 각각의 성분의 다이내믹 레인지를 정의할 수도 있다.
표 14
Figure PCTKR2012000770-appb-T000012
또한, 표 15 내지 표 17과 같이 레벨에 시간적 움직임 벡터 각각의 성분의 비트 폭을 정의할 수도 있다.
표 15
Figure PCTKR2012000770-appb-T000013
표 16
Figure PCTKR2012000770-appb-T000014
표 17
Figure PCTKR2012000770-appb-T000015
또한, 표 18과 같이 레벨에 시간적 움직임 벡터 Y 성분의 비트 폭을 정의할 수도 있다.
표 18
Figure PCTKR2012000770-appb-T000016
또한, 시간적 움직임 벡터의 다이내믹 레인지는 움직임 벡터의 제한에 대한 정보의 전송 없이 부호화 장치 및 복호화 장치에서 미리 약속한 고정된 값으로 정의되거나, 고정된 비트 심도의 형태로 저장될 수 있다.
TMVBitWidth를 부호화 장치와 복호화 장치에서 동일한 값으로 고정해서 사용하는 경우, TMVBitWidth는 4, 6, 8, 10, 12, 14, 16 등의 양의 정수일 수 있다. 이때, TMVBitWidth는 시간적 움직임 벡터가 메모리에 저장될 때 움직임 벡터의 비트 폭을 나타낸다.
도 14는 본 발명의 일 실시예에 따른 영상의 부호화 방법을 나타낸 순서도이다. 도 14를 참조하면, 영상 부호화 방법은 절삭 단계(S1410), 저장 단계(S1420) 및 부호화 단계(S1430)를 포함한다.
영상 부호화 장치 및/또는 복호화 장치는 참조 픽쳐의 움직임 벡터를 소정의 다이내믹 레인지로 절삭한다(S1410). "I. 움직임 벡터 절삭 과정"을 통해 전술한 바와 같이, 다이내믹 레인지를 벗어난 움직임 벡터는 해당 다이내믹 레인지의 최솟값 또는 최댓값으로 표현된다. 따라서, "IV. 복호화 장치에서 시간적 움직임 벡터를 절삭하기 위한 정보 전송 방법"과 "V. 영상 코덱의 레벨을 통한 다이내믹 레인지의 정의"을 통해 전술한 바와 같이, 영상 코덱의 레벨 및/또는 시퀀스 파라미터 셋 등을 통해 비트 심도를 제한하거나, 영상 코덱의 레벨을 통해 다이내믹 레인지를 제한하여, 참조 픽쳐의 움직임 벡터를 소정의 다이내믹 레인지로 절삭할 수 있다.
영상 부호화 장치 및/또는 복호화 장치는 "II. 움직임 벡터 저장 과정"을 통해 전술한 바와 같이, 절삭된 참조 픽쳐의 움직임 벡터를 버퍼에 저장한다(S1420). 움직임 벡터는 복원된 영상과 함께 또는 따로 버퍼에 저장될 수 있다.
영상 부호화 장치는 저장된 참조 픽쳐의 움직임 벡터를 이용하여 부호화 대상 블록의 움직임 벡터를 부호화한다(S1430). "III. 움직임 벡터 도출 과정"을 통해 전술한 바와 같이, HEVC에서 사용되는 향상된 움직임 벡터 예측 방법에서는 부호화/복호화 대상 블록의 주변에 위치하는 복원 블록의 움직임 벡터뿐만 아니라, 참조 픽쳐 내에서 부호화/복호화 대상 블록과 동일한 위치 또는 대응되는 위치에 존재하는 블록의 움직임 벡터를 이용한다. 따라서, 부호화 대상 블록의 움직임 벡터는 부호화 대상 블록과 인접한 주변 블록의 움직임 벡터뿐만 아니라 참조 픽쳐의 움직임 벡터, 즉 시간적 움직임 벡터일 수도 있다.
한편, 참조 픽쳐의 움직임 벡터의 X 성분의 다이내믹 레인지와 Y 성분의 다이내믹 레인지는 서로 다르게 정의될 수 있으므로, 참조 픽쳐의 움직임 벡터의 각각의 성분은 각각의 다이내믹 레인지로 절삭될 수 있다.
또한, 참조 픽쳐의 움직임 벡터의 다이내믹 레인지를 제한하는 방법뿐만 아니라 참조 픽쳐의 움직임 벡터를 압축하는 방법을 사용할 수도 있다. 참조 픽쳐의 움직임 벡터의 다이내믹 레인지를 제한하거나 참조 픽쳐의 움직임 벡터를 압축하는 경우, 영상 코덱의 레벨 및/또는 시퀀스 파라미터 셋 등에 이를 나타내는 플래그와 이에 관한 파라미터를 정의할 수 있다.
또한, 메모리에 저장된 움직임 정보, 즉 참조 픽쳐의 움직임 정보를 사용하여, 움직임 벡터 예측, 향상된 움직임 벡터 예측, 움직임 정보 병합, 움직임 정보 병합 생략(merge skip) 등의 부호화 방법을 수행할 수도 있다.
도 15는 본 발명의 일 실시예에 따른 영상의 복호화 방법을 나타낸 순서도이다. 도 15를 참조하면 영상 복호화 방법은 절삭 단계(S1510), 저장 단계(S1520), 도출 단계(S1530) 및 복호화 단계(S1540)를 포함한다.
도 15의 절삭 단계(S1510)와 저장 단계(S1520)는 전술한 "I. 움직임 벡터 절삭 과정"과 " II. 움직임 벡터 저장 과정"을 이용하는 도 14의 절삭 단계(S1410)와 저장 단계(S1420)와 유사하다. 또한, 도 15의 도출 단계(S1530)는 전술한 "III. 움직임 벡터 도출 과정"을 이용하며, 도 14의 부호화 단계(S1430)와 대칭적이다. 따라서, 자세한 설명은 생략하기로 한다.
영상 복호화 장치는 복호화 대상 블록의 움직임 벡터를 이용하여 인터 예측 복호화를 수행한다(S1540). 영상 복호화 장치는 움직임 벡터의 다이내믹 레인지 제한 방법, 움직임 벡터의 공간 해상도 감소 방법, 움직임 벡터의 양자화 방법, 움직임 벡터의 표현 해상도 감소 방법 중 적어도 하나 이상을 사용하여 움직임 벡터를 메모리에 저장하고, 저장된 움직임 벡터를 복호화 대상 블록의 움직임 벡터 예측 및 움직임 정보 병합에 이용할 수 있다.
또한, 메모리에 저장된 움직임 정보, 즉 참조 픽쳐의 움직임 정보를 사용하여, 움직임 벡터 예측, 향상된 움직임 벡터 예측, 움직임 정보 병합, 움직임 정보 병합 생략(merge skip) 등의 복호화 방법을 수행할 수도 있다.
상술한 실시예들은 일련의 단계 또는 블록으로 표현된 순서도를 통해 설명되고 있으나, 본 발명은 상술한 단계들의 순서에 한정되는 것은 아니며, 일부의 단계는 다른 단계와, 다른 순서 또는 동시에 발생할 수 있다. 또한, 본 발명이 속하는 기술 분야의 통상의 지식을 가진자라면 순서도에 나타낸 단계들은 배타적이지 않으며, 다른 단계가 포함되거나, 일부의 단계가 삭제될 수 있음을 이해할 수 있을 것이다.
또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위해, 모든 가능한 조합을 기술할 수는 없지만, 본 발명이 속하는 기술 분야의 통상의 지식을 가진자라면 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (20)

  1. 참조 픽쳐의 움직임 벡터를 소정의 다이내믹 레인지로 절삭하여 절삭된 움직임 벡터를 생성하는 단계;
    상기 절삭된 움직임 벡터를 버퍼에 저장하는 단계; 및
    상기 버퍼에 저장된 움직임 벡터를 이용하여 부호화 대상 블록의 움직임 벡터를 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  2. 제 1항에 있어서,
    상기 다이내믹 레인지는 영상 코덱의 레벨에 의해 정의되는 것을 특징으로 하는 영상 부호화 방법.
  3. 제 1항에 있어서,
    상기 다이내믹 레인지는 소정의 비트 심도에 의해 결정되고,
    상기 비트 심도는 영상 코덱의 레벨에 의해 정의되는 것을 특징으로 하는 영상 부호화 방법.
  4. 제 1항에 있어서,
    상기 참조 픽쳐의 움직임 벡터의 X 성분과 Y 성분은 서로 다른 다이내믹 레인지로 절삭되는 것을 특징으로 하는 영상 부호화 방법.
  5. 참조 픽쳐의 움직임 벡터를 소정의 다이내믹 레인지로 절삭하여 절삭된 움직임 벡터를 생성하는 단계;
    상기 절삭된 움직임 벡터를 버퍼에 저장하는 단계;
    상기 버퍼에 저장된 움직임 벡터를 이용하여 복호화 대상 블록의 움직임 벡터를 도출하는 단계; 및
    상기 복호화 대상 블록의 움직임 벡터를 이용하여 인터 예측 복호화를 수행하는 단계를 포함하는 영상 복호화 방법.
  6. 제 5항에 있어서,
    상기 다이내믹 레인지는 영상 코덱의 레벨에 의해 정의되는 것을 특징으로 하는 영상 복호화 방법.
  7. 제 5항에 있어서,
    상기 다이내믹 레인지는 소정의 비트 심도에 의해 결정되고,
    상기 비트 심도는 영상 코덱의 레벨에 의해 정의되는 것을 특징으로 하는 영상 복호화 방법.
  8. 제 5항에 있어서,
    상기 다이내믹 레인지는 소정의 비트 심도에 의해 결정되고,
    상기 비트 심도는 영상 부호화 장치로부터 전송되는 시퀀스 파라미터 셋을 통해 획득되는 것을 특징으로 하는 영상 복호화 방법.
  9. 제 8항에 있어서,
    상기 시퀀스 파라미터 셋은
    상기 참조 픽쳐의 움직임 벡터가 절삭되었는지를 나타내는 플래그 및
    상기 비트 심도를 획득하기 위한 파라미터를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  10. 제 9항에 있어서,
    상기 영상 복호화 방법은 상기 참조 픽쳐의 움직임 벡터를 압축하는 단계를 더 포함하고,
    상기 시퀀스 파리미터 셋은
    상기 참조 픽쳐의 움직임 벡터가 압축되었는지를 나타내는 플래그 및
    상기 참조 픽쳐의 움직임 벡터의 압축 비율을 획득하기 위한 파라미터를 더 포함하는 것을 특징으로 하는 영상 복호화 방법.
  11. 제 5항에 있어서,
    상기 영상 복호화 방법은 상기 참조 픽쳐의 움직임 벡터의 표현 해상도를 제한하는 단계를 더 포함하는 것을 특징으로 하는 영상 복호화 방법.
  12. 제 5항에 있어서,
    상기 절삭된 움직임 벡터는 우선순위에 따라 저장되는 것을 특징으로 하는 영상 복호화 방법.
  13. 제 5항에 있어서,
    상기 절삭된 움직임 벡터는 인터 예측 모드로 부호화된 블록의 움직임 벡터인 것을 특징으로 하는 영상 복호화 방법.
  14. 제 5 항에 있어서,
    상기 영상 복호화 방법은 상기 참조 픽쳐의 움직임 벡터에 대한 스케일링(scaling)을 수행하는 단계를 더 포함하는 것을 특징으로 하는 영상 복호화 방법.
  15. 제 5항에 있어서,
    상기 참조 픽쳐의 움직임 벡터의 X 성분과 Y 성분은 서로 다른 다이내믹 레인지로 절삭되는 것을 특징으로 하는 영상 복호화 방법.
  16. 제 15항에 있어서,
    상기 X 성분의 다이내믹 레인지와 상기 Y 성분의 다이내믹 레인지는 영상 코덱의 레벨에 의해 정의되는 것을 특징으로 하는 영상 복호화 방법.
  17. 참조 픽쳐를 저장하는 참조 픽쳐 버퍼; 및
    상기 참조 픽쳐 및 상기 참조 픽쳐의 움직임 벡터를 이용하여 예측 블록을 생성하는 움직임 보상부를 포함하되,
    상기 참조 픽쳐의 움직임 벡터는 소정의 다이내믹 레인지로 절삭된 것을 특징으로 하는 영상 복호화 장치.
  18. 제 17항에 있어서,
    상기 다이내믹 레인지는 영상 코덱의 레벨에 의해 정의되는 것을 특징으로 하는 영상 복호화 장치.
  19. 제 17항에 있어서,
    상기 다이내믹 레인지는 소정의 비트 심도에 의해 결정되고,
    상기 비트 심도는 영상 코덱의 레벨에 의해 정의되는 것을 특징으로 하는 영상 복호화 장치.
  20. 제 17항에 있어서,
    상기 다이내믹 레인지는 소정의 비트 심도에 의해 결정되고,
    상기 비트 심도는 영상 부호화 장치로부터 전송되는 시퀀스 파라미터 셋을 통해 획득되는 것을 특징으로 하는 영상 복호화 장치.
PCT/KR2012/000770 2011-01-31 2012-01-31 움직임 벡터를 이용한 영상 부호화/복호화 방법 및 장치 Ceased WO2012105807A2 (ko)

Priority Applications (21)

Application Number Priority Date Filing Date Title
EP12742304.4A EP2672708B1 (en) 2011-01-31 2012-01-31 Method and apparatus for encoding/decoding images using a motion vector
US13/979,214 US10244252B2 (en) 2011-01-31 2012-01-31 Method and apparatus for encoding/decoding images using a motion vector
CA2826157A CA2826157C (en) 2011-01-31 2012-01-31 Method and apparatus for encoding/decoding images using a motion vector
BR112013019495-2A BR112013019495B1 (pt) 2011-01-31 2012-01-31 Aparelho de decodificação de imagem
JP2013551919A JP5911890B2 (ja) 2011-01-31 2012-01-31 動きベクトルを利用する映像符号化/復号化方法及び装置
BR122020015452-7A BR122020015452B1 (pt) 2011-01-31 2012-01-31 Aparelho de decodificação de imagem
RU2013140464/08A RU2586017C2 (ru) 2011-01-31 2012-01-31 Способ и устройство для кодирования/декодирования изображений с использованием вектора движения
SI201231970T SI2672708T1 (sl) 2011-01-31 2012-01-31 Postopek in naprava za kodiranje/dekodiranje slik z uporabo vektorja gibanja
PL12742304T PL2672708T3 (pl) 2011-01-31 2012-01-31 Sposób i urządzenie do kodowania/dekodowania obrazów z wykorzystaniem wektora ruchu
BR122020015455-1A BR122020015455B1 (pt) 2011-01-31 2012-01-31 Aparelho de decodificação de imagem
BR122014018140-0A BR122014018140B1 (pt) 2011-01-31 2012-01-31 Método de decodificação de imagem
CN201280015709.8A CN103583044B (zh) 2011-01-31 2012-01-31 用于使用运动向量来编码/解码图像的方法和设备
EP21176802.3A EP3930332A1 (en) 2011-01-31 2012-01-31 Apparatus for encoding/decoding images using a motion vector
DK12742304.4T DK2672708T3 (da) 2011-01-31 2012-01-31 Fremgangsmåde og apparat til kodning/afkodning af billeder under anvendelse af en bevægelsesvektor
BR122020015411-0A BR122020015411B1 (pt) 2011-01-31 2012-01-31 Aparelho de decodificação de imagem
ES12742304T ES2899990T3 (es) 2011-01-31 2012-01-31 Método y aparato para codificar/decodificar imágenes usando un vector de movimiento
US16/249,146 US10645411B2 (en) 2011-01-31 2019-01-16 Method and apparatus for encoding/decoding images using a motion vector
US16/830,236 US12003753B2 (en) 2011-01-31 2020-03-25 Method and apparatus for encoding/decoding images using a motion vector
US17/538,797 US12028545B2 (en) 2011-01-31 2021-11-30 Method and apparatus for encoding/decoding images using a motion vector
US18/630,834 US12301859B2 (en) 2011-01-31 2024-04-09 Method and apparatus for encoding/decoding images using a motion vector
US19/172,277 US20250234030A1 (en) 2011-01-31 2025-04-07 Method and apparatus for encoding/decoding images using a motion vector

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
KR10-2011-0009636 2011-01-31
KR20110009636 2011-01-31
KR10-2011-0019166 2011-03-03
KR20110019166 2011-03-03
KR10-2011-0050853 2011-05-27
KR1020110050853A KR20120088488A (ko) 2011-01-31 2011-05-27 시간적 움직임 벡터 저장 방법 및 그 장치
KR10-2011-0065707 2011-07-01
KR1020110065707A KR20120088494A (ko) 2011-01-31 2011-07-01 시간적 움직임 벡터 저장 방법 및 그 장치
KR1020120010096A KR101428030B1 (ko) 2011-01-31 2012-01-31 움직임 벡터를 이용한 영상 복호화 장치
KR10-2012-0010096 2012-01-31

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/979,214 A-371-Of-International US10244252B2 (en) 2011-01-31 2012-01-31 Method and apparatus for encoding/decoding images using a motion vector
US16/249,146 Continuation US10645411B2 (en) 2011-01-31 2019-01-16 Method and apparatus for encoding/decoding images using a motion vector

Publications (2)

Publication Number Publication Date
WO2012105807A2 true WO2012105807A2 (ko) 2012-08-09
WO2012105807A3 WO2012105807A3 (ko) 2012-12-13

Family

ID=46873758

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/000770 Ceased WO2012105807A2 (ko) 2011-01-31 2012-01-31 움직임 벡터를 이용한 영상 부호화/복호화 방법 및 장치

Country Status (16)

Country Link
US (6) US10244252B2 (ko)
EP (2) EP2672708B1 (ko)
JP (8) JP5911890B2 (ko)
KR (5) KR20120088488A (ko)
CN (11) CN108124162B (ko)
BR (5) BR122020015452B1 (ko)
CA (3) CA3050903C (ko)
DK (1) DK2672708T3 (ko)
ES (1) ES2899990T3 (ko)
HK (1) HK1251838A1 (ko)
HU (1) HUE056876T2 (ko)
PL (1) PL2672708T3 (ko)
PT (1) PT2672708T (ko)
RU (1) RU2586017C2 (ko)
SI (1) SI2672708T1 (ko)
WO (1) WO2012105807A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104704836A (zh) * 2012-10-03 2015-06-10 联发科技股份有限公司 三维视频编码的运动数据缓存减少方法及装置

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120088488A (ko) 2011-01-31 2012-08-08 한국전자통신연구원 시간적 움직임 벡터 저장 방법 및 그 장치
US10003817B2 (en) * 2011-11-07 2018-06-19 Microsoft Technology Licensing, Llc Signaling of state information for a decoded picture buffer and reference picture lists
US9313500B2 (en) 2012-09-30 2016-04-12 Microsoft Technology Licensing, Llc Conditional signalling of reference picture list modification information
US10015515B2 (en) * 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
CN110572650B (zh) * 2014-01-08 2023-10-27 索尼公司 解码设备和解码方法、以及编码设备和编码方法
KR102105606B1 (ko) 2014-06-02 2020-05-04 한국전자통신연구원 데이터 압축 장치
KR102115715B1 (ko) 2014-09-30 2020-05-27 에이치에프아이 이노베이션 인크. 비디오 코딩을 위한 적응적 모션 벡터 레졸루션 방법
CN115086653B (zh) * 2015-06-05 2025-05-06 杜比实验室特许公司 图像编码和解码方法和图像解码设备
KR20180048713A (ko) * 2015-09-23 2018-05-10 엘지전자 주식회사 영상의 부호화/복호화 방법 및 이를 위한 장치
KR20170058838A (ko) 2015-11-19 2017-05-29 한국전자통신연구원 화면간 예측 향상을 위한 부호화/복호화 방법 및 장치
WO2017086738A1 (ko) 2015-11-19 2017-05-26 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
CN106954074B (zh) * 2016-01-07 2019-12-20 青岛海信电器股份有限公司 一种视频数据处理方法和装置
CN113347445B (zh) 2016-02-09 2023-01-20 弗劳恩霍夫应用研究促进协会 解码器、编码器及其方法和可读存储介质
CN105744275B (zh) * 2016-02-22 2019-04-05 青岛海信电器股份有限公司 一种视频数据输入、输出方法和装置
KR20180018388A (ko) * 2016-08-11 2018-02-21 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
US10827186B2 (en) * 2016-08-25 2020-11-03 Intel Corporation Method and system of video coding with context decoding and reconstruction bypass
TWI797550B (zh) * 2017-04-21 2023-04-01 美商時美媒體公司 用於產生遊戲的運動向量的系統及方法
TWI721677B (zh) 2017-04-21 2021-03-11 美商時美媒體公司 用於藉由預測運動向量及/或快取重複運動向量的玩家輸入運動補償的系統及方法
CN110651474B (zh) 2017-05-18 2022-02-18 联发科技股份有限公司 用于视频编解码的运动向量限制方法和装置
CN118368411A (zh) 2018-02-28 2024-07-19 三星电子株式会社 视频解码方法和设备以及视频编码方法和设备
EP3780609A4 (en) * 2018-04-02 2022-04-13 LG Electronics, Inc. METHOD OF IMAGE CODING BASED ON A MOTION VECTOR AND DEVICE THEREOF
US10873748B2 (en) * 2018-05-12 2020-12-22 Qualcomm Incorporated Storage of high precision motion vectors in video coding
CN112040243B (zh) * 2018-06-04 2021-06-29 华为技术有限公司 获取运动矢量的方法和装置
CN110662037B (zh) 2018-06-29 2022-06-28 北京字节跳动网络技术有限公司 运动信息共享的限制
CN119071502A (zh) * 2018-06-29 2024-12-03 交互数字Vc控股公司 用于基于仿射运动模型的视频译码的自适应控制点选择
KR20200028856A (ko) 2018-09-07 2020-03-17 김기백 인트라 예측을 이용한 영상 부호화/복호화 방법 및 장치
CN112740688B (zh) * 2018-09-17 2024-11-26 韩国电子通信研究院 图像编码/解码方法和设备以及存储比特流的记录介质
CN112997494B (zh) * 2018-10-08 2023-05-09 北京达佳互联信息技术有限公司 用于视频编码的运动矢量存储
EP4266687A1 (en) * 2018-11-16 2023-10-25 Sharp Kabushiki Kaisha Methods for deriving a motion vector prediction in video coding
WO2020098808A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Construction of merge with motion vector difference candidates
EP3868107A4 (en) * 2018-12-21 2021-12-15 Beijing Bytedance Network Technology Co. Ltd. MOTION VECTOR ACCURACY IN INTERACTING WITH MOTION VECTOR DIFFERENCE MODE
CN113228675B (zh) * 2018-12-21 2024-08-06 北京字节跳动网络技术有限公司 视频处理中的运动矢量比特深度
AU2019415789A1 (en) * 2018-12-29 2021-05-06 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods using compact MV storage
KR102775626B1 (ko) * 2019-06-11 2025-02-28 엘지전자 주식회사 크로마 성분에 대한 영상 디코딩 방법 및 그 장치
CN120956885A (zh) * 2019-06-21 2025-11-14 三星电子株式会社 对运动信息进行编码和解码的设备和方法
KR102763188B1 (ko) 2019-08-06 2025-02-04 오피 솔루션즈, 엘엘씨 블록-기반 적응적 해상도 관리
JP7716760B2 (ja) * 2019-08-06 2025-08-01 オーピー ソリューションズ, エルエルシー 適応分解能管理予測再スケーリング
JP7568307B2 (ja) 2019-08-06 2024-10-16 オーピー ソリューションズ, エルエルシー フレームタイプに基づく適応分解能管理の暗示的信号伝達
WO2021026324A1 (en) * 2019-08-06 2021-02-11 Op Solutions Adaptive resolution management prediction rescaling
WO2021052510A1 (en) * 2019-09-22 2021-03-25 Mediatek Inc. Method and apparatus of sample clipping for prediction refinement with optical flow in video coding
US11006132B1 (en) 2019-11-08 2021-05-11 Op Solutions, Llc Methods and systems for adaptive cropping
CN120639971A (zh) * 2019-12-23 2025-09-12 Lg电子株式会社 编码设备、解码设备和数据发送设备
US11792438B2 (en) 2020-10-02 2023-10-17 Lemon Inc. Using neural network filtering in video coding
US11977828B2 (en) 2020-12-28 2024-05-07 Samsung Electronics Co., Ltd. Method for detecting stochastic weak points of layout pattern of semiconductor integrated circuit and computer system performing the same
US12022098B2 (en) * 2021-03-04 2024-06-25 Lemon Inc. Neural network-based in-loop filter with residual scaling for video coding
US12206861B2 (en) * 2022-01-12 2025-01-21 Tencent America LLC Motion vector restriction for out-of-frame boundary conditions
US12413759B2 (en) 2023-05-08 2025-09-09 Tencent America LLC Extension to block adaptive weighted prediction

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5262854A (en) * 1992-02-21 1993-11-16 Rca Thomson Licensing Corporation Lower resolution HDTV receivers
US7206346B2 (en) * 1997-06-25 2007-04-17 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector decoding method, predictive encoding apparatus and decoding apparatus, and storage media storing motion vector predictive encoding and decoding programs
JP2914448B2 (ja) 1997-06-25 1999-06-28 日本電信電話株式会社 動きベクトル予測符号化方法および動きベクトル復号方法、予測符号化装置および復号装置、並びに、動きベクトルの予測符号化プログラムおよび復号プログラムを記録した記録媒体
EP0921688B1 (en) * 1997-06-25 2007-08-22 Nippon Telegraph and Telephone Corporation Moving vector predictive coding method and moving vector decoding method, and storage medium stored with moving vector predictive coding program and moving vector decoding program
JPH11122624A (ja) * 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd ビデオデコーダ処理量を低減する方法および装置
EP1430724B1 (en) * 2001-09-12 2008-08-06 Nxp B.V. Motion estimation and/or compensation
WO2003056838A1 (en) 2001-12-25 2003-07-10 Matsushita Electric Industrial Co., Ltd. Moving picture compression/coding apparatus and motion vector detection method
US7177356B2 (en) * 2002-01-11 2007-02-13 Webtv Networks, Inc. Spatially transcoding a video stream
AU2003242037A1 (en) * 2002-07-02 2004-01-23 Matsushita Electric Industrial Co., Ltd. Image encoding method and image decoding method
US6744387B2 (en) 2002-07-10 2004-06-01 Lsi Logic Corporation Method and system for symbol binarization
US20040057521A1 (en) 2002-07-17 2004-03-25 Macchina Pty Ltd. Method and apparatus for transcoding between hybrid video CODEC bitstreams
CN101090499A (zh) * 2002-07-17 2007-12-19 达丽星网络有限公司 在混合视频codec比特流之间进行码转换的方法和装置
US8837605B2 (en) 2006-09-26 2014-09-16 Onmobile Global Limited Method and apparatus for compressed video bitstream conversion with reduced-algorithmic-delay
WO2004032506A1 (en) * 2002-10-01 2004-04-15 Thomson Licensing S.A. Implicit weighting of reference pictures in a video encoder
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
EP1671427A4 (en) * 2003-10-09 2010-04-07 Thomson Licensing DIRECT MODE DERIVATION PROCESS FOR ERROR SUPPLY
JP4591657B2 (ja) 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
US7961963B2 (en) * 2005-03-18 2011-06-14 Sharp Laboratories Of America, Inc. Methods and systems for extended spatial scalability with picture-level adaptation
WO2007092215A2 (en) 2006-02-02 2007-08-16 Thomson Licensing Method and apparatus for adaptive weight selection for motion compensated prediction
US8494052B2 (en) 2006-04-07 2013-07-23 Microsoft Corporation Dynamic selection of motion estimation search ranges and extended motion vector ranges
JP4712643B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置
US20080165860A1 (en) 2006-08-31 2008-07-10 Zohair Sahraoui H.264 Data processing
JP2008067194A (ja) * 2006-09-08 2008-03-21 Toshiba Corp フレーム補間回路、フレーム補間方法、表示装置
KR101365574B1 (ko) 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
BRPI0809512A2 (pt) 2007-04-12 2016-03-15 Thomson Licensing método e aparelho para mesclagem dependente de contexto para modos salto-direto para codificação e decodificação de vídeo
CN101115200B (zh) * 2007-04-20 2010-05-19 西安交通大学 一种有效的运动矢量可伸缩编码方法
TWI338869B (en) 2007-08-03 2011-03-11 Via Tech Inc Method and apparatus for block-based digital encoded picture
US8908765B2 (en) * 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation
US8345763B2 (en) * 2007-11-27 2013-01-01 Mediatek Inc. Motion compensation method and integrated circuit utilizing the same
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
CN101873483B (zh) * 2009-04-24 2012-08-29 深圳市九洲电器有限公司 一种运动估计方法及采用运动估计方法的编码芯片、装置
US9118898B2 (en) 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
JP5209572B2 (ja) 2009-06-29 2013-06-12 三菱電機株式会社 画像符号化装置及び画像復号装置
JP5738549B2 (ja) 2009-07-22 2015-06-24 株式会社Sumco 包装済石英ガラスルツボ用クレーン装置およびこの装置を用いる包装済石英ガラスルツボの梱包方法
KR20110017302A (ko) 2009-08-13 2011-02-21 삼성전자주식회사 움직임 벡터의 정확도 조절을 이용한 영상 부호화, 복호화 방법 및 장치
KR20110019166A (ko) 2009-08-19 2011-02-25 삼화주철공업 주식회사 소음 방지용 맨홀
KR101441874B1 (ko) * 2009-08-21 2014-09-25 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
KR101074238B1 (ko) 2009-11-09 2011-10-14 부경대학교 산학협력단 초임계 처리를 이용한 오징어 및 고등어 내장에서의 단당류를 수득하는 방법
KR101418104B1 (ko) 2010-03-08 2014-07-16 에스케이 텔레콤주식회사 움직임 벡터 해상도 조합을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
JP5368631B2 (ja) 2010-04-08 2013-12-18 株式会社東芝 画像符号化方法、装置、及びプログラム
CN101841712A (zh) 2010-04-28 2010-09-22 广西大学 面向全景视频编码的b帧扩展直接模式
US9137544B2 (en) * 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
US8711940B2 (en) * 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
US9258573B2 (en) 2010-12-07 2016-02-09 Panasonic Intellectual Property Corporation Of America Pixel adaptive intra smoothing
KR20120088488A (ko) 2011-01-31 2012-08-08 한국전자통신연구원 시간적 움직임 벡터 저장 방법 및 그 장치
KR101532665B1 (ko) * 2011-03-14 2015-07-09 미디어텍 인크. 시간적 움직임 백터 예측을 도출하기 위한 방법 및 장치
US9307239B2 (en) * 2011-03-14 2016-04-05 Mediatek Inc. Method and apparatus for derivation of motion vector candidate and motion vector prediction candidate
US10536701B2 (en) 2011-07-01 2020-01-14 Qualcomm Incorporated Video coding using adaptive motion vector resolution
US9083983B2 (en) 2011-10-04 2015-07-14 Qualcomm Incorporated Motion vector predictor candidate clipping removal for video coding
JP5895469B2 (ja) * 2011-11-18 2016-03-30 富士通株式会社 動画像符号化装置、および動画像復号装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104704836A (zh) * 2012-10-03 2015-06-10 联发科技股份有限公司 三维视频编码的运动数据缓存减少方法及装置
US9854268B2 (en) 2012-10-03 2017-12-26 Hfi Innovation Inc. Method and apparatus of motion data buffer reduction for three-dimensional video coding
CN104704836B (zh) * 2012-10-03 2018-04-17 寰发股份有限公司 三维视频、多视图视频及可缩放视频的编码方法及装置

Also Published As

Publication number Publication date
JP2018011323A (ja) 2018-01-18
JP6783355B2 (ja) 2020-11-11
KR101378888B1 (ko) 2014-04-02
HUE056876T2 (hu) 2022-03-28
KR20130084287A (ko) 2013-07-24
US20220086479A1 (en) 2022-03-17
US10244252B2 (en) 2019-03-26
KR101461498B1 (ko) 2014-11-17
RU2013140464A (ru) 2015-03-10
CN103583044A (zh) 2014-02-12
KR20130093057A (ko) 2013-08-21
SI2672708T1 (sl) 2022-01-31
CN107846596A (zh) 2018-03-27
JP6203878B2 (ja) 2017-09-27
US20240259584A1 (en) 2024-08-01
KR20130084286A (ko) 2013-07-24
KR20140102639A (ko) 2014-08-22
CN108124162A (zh) 2018-06-05
ES2899990T3 (es) 2022-03-15
US12003753B2 (en) 2024-06-04
US20190149837A1 (en) 2019-05-16
US20130294522A1 (en) 2013-11-07
US12301859B2 (en) 2025-05-13
CN108174215A (zh) 2018-06-15
US12028545B2 (en) 2024-07-02
CN108124162B (zh) 2020-11-24
CN108174219B (zh) 2020-11-24
CA2826157A1 (en) 2012-08-09
BR112013019495A2 (ko) 2018-04-03
BR122020015455B1 (pt) 2022-12-27
CN108174221A (zh) 2018-06-15
KR20120088488A (ko) 2012-08-08
US20200228822A1 (en) 2020-07-16
PT2672708T (pt) 2021-12-16
JP5911890B2 (ja) 2016-04-27
CN107888927B (zh) 2020-11-24
CN108124161A (zh) 2018-06-05
JP2016129371A (ja) 2016-07-14
JP2019193298A (ja) 2019-10-31
CN108174215B (zh) 2020-11-24
JP7757492B2 (ja) 2025-10-21
RU2586017C2 (ru) 2016-06-10
US10645411B2 (en) 2020-05-05
DK2672708T3 (da) 2021-12-13
BR112013019495B1 (pt) 2022-05-17
JP7369679B2 (ja) 2023-10-26
CN107888916A (zh) 2018-04-06
CN108174220A (zh) 2018-06-15
BR122020015411B1 (pt) 2022-12-27
CN108174216A (zh) 2018-06-15
CA3050903C (en) 2024-01-16
CN103583044B (zh) 2018-01-26
PL2672708T3 (pl) 2022-02-07
JP2024167446A (ja) 2024-12-03
JP2021007261A (ja) 2021-01-21
US20250234030A1 (en) 2025-07-17
JP2023018075A (ja) 2023-02-07
JP2014509479A (ja) 2014-04-17
WO2012105807A3 (ko) 2012-12-13
JP2026001203A (ja) 2026-01-06
BR122014018140A2 (pt) 2019-04-30
KR101477771B1 (ko) 2015-01-05
BR122020015452B1 (pt) 2024-01-30
HK1251838A1 (zh) 2019-04-12
CN107888927A (zh) 2018-04-06
EP2672708A4 (en) 2015-01-21
EP3930332A1 (en) 2021-12-29
CA2826157C (en) 2019-09-24
CN108124161B (zh) 2020-11-24
HK1251832A1 (zh) 2019-04-04
JP6550429B2 (ja) 2019-07-24
CA3220287A1 (en) 2012-08-09
EP2672708B1 (en) 2021-11-17
CN108174219A (zh) 2018-06-15
BR122014018140B1 (pt) 2022-06-07
CA3050903A1 (en) 2012-08-09
KR101461499B1 (ko) 2014-11-17
EP2672708A2 (en) 2013-12-11

Similar Documents

Publication Publication Date Title
WO2012105807A2 (ko) 움직임 벡터를 이용한 영상 부호화/복호화 방법 및 장치
WO2018066927A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017065357A1 (ko) 영상 코딩 시스템에서 예측 향상을 위한 필터링 방법 및 장치
WO2017069505A1 (ko) 영상의 부호화/복호화 방법 및 이를 위한 장치
WO2019009498A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017082443A1 (ko) 영상 코딩 시스템에서 임계값을 이용한 적응적 영상 예측 방법 및 장치
WO2016143991A1 (ko) 저 복잡도 변환에 기반한 영상 부호화 및 복호화 방법 및 이를 이용하는 장치
WO2018008905A1 (ko) 비디오 신호 처리 방법 및 장치
WO2013032073A1 (ko) Amvp 모드에서의 예측 블록 생성 방법
WO2016085231A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020262931A1 (ko) 비디오/영상 코딩 시스템에서 머지 데이터 신택스의 시그널링 방법 및 장치
WO2017034113A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2019235822A1 (ko) 어파인 움직임 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2021145668A1 (ko) 예측 가중 테이블 기반 영상/비디오 코딩 방법 및 장치
WO2021125700A1 (ko) 예측 가중 테이블 기반 영상/비디오 코딩 방법 및 장치
WO2018062950A1 (ko) 영상 처리 방법 및 이를 위한 장치
WO2018182184A1 (ko) 부호화 트리 유닛 및 부호화 유닛의 처리를 수행하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
WO2020204413A1 (ko) 복원 픽처를 수정하는 비디오 또는 영상 코딩
WO2020167097A1 (ko) 영상 코딩 시스템에서 인터 예측을 위한 인터 예측 타입 도출
WO2022211375A1 (ko) 인터 예측에 딥러닝 기반 인루프 필터를 이용하는 비디오 코딩방법 및 장치
WO2020180143A1 (ko) 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
WO2020197207A1 (ko) 맵핑을 포함하는 필터링 기반 비디오 또는 영상 코딩
WO2020251257A1 (ko) 예측 샘플을 생성하기 위한 가중치 인덱스 정보를 도출하는 영상 디코딩 방법 및 그 장치
WO2021125702A1 (ko) 가중된 예측에 기반한 영상/비디오 코딩 방법 및 장치
WO2020262902A1 (ko) 쌍 예측을 적용하는 영상 디코딩 방법 및 그 장치

Legal Events

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

Ref document number: 12742304

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 13979214

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2012742304

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2826157

Country of ref document: CA

Ref document number: 2013551919

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2013140464

Country of ref document: RU

Kind code of ref document: A

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112013019495

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112013019495

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20130731

WWW Wipo information: withdrawn in national office

Ref document number: 2012742304

Country of ref document: EP