KR20120016991A - 인터 프리딕션 방법 - Google Patents

인터 프리딕션 방법 Download PDF

Info

Publication number
KR20120016991A
KR20120016991A KR1020110064306A KR20110064306A KR20120016991A KR 20120016991 A KR20120016991 A KR 20120016991A KR 1020110064306 A KR1020110064306 A KR 1020110064306A KR 20110064306 A KR20110064306 A KR 20110064306A KR 20120016991 A KR20120016991 A KR 20120016991A
Authority
KR
South Korea
Prior art keywords
motion vector
block
prediction
prediction unit
unit
Prior art date
Application number
KR1020110064306A
Other languages
English (en)
Inventor
오수미
Original Assignee
오수미
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=45839101&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20120016991(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 오수미 filed Critical 오수미
Priority to EP21202138.0A priority Critical patent/EP3958563B1/en
Priority to SI201132079T priority patent/SI3145188T1/sl
Priority to FIEP16188174.3T priority patent/FI3145188T3/fi
Priority to EP21202139.8A priority patent/EP3958564B1/en
Priority to PL16188174.3T priority patent/PL3145188T3/pl
Priority to PL21202138.0T priority patent/PL3958563T3/pl
Priority to KR1020147010363A priority patent/KR20140057397A/ko
Priority to HUE21202139A priority patent/HUE063254T2/hu
Priority to CN201611271610.0A priority patent/CN106878748B/zh
Priority to PT212021331T priority patent/PT3958559T/pt
Priority to JP2013524785A priority patent/JP6025726B2/ja
Priority to PL21202133.1T priority patent/PL3958559T3/pl
Priority to LTEP16188174.3T priority patent/LT3145188T/lt
Priority to PL21202139.8T priority patent/PL3958564T3/pl
Priority to EP21202132.3A priority patent/EP3958562B1/en
Priority to CN201510057296.5A priority patent/CN104602023B/zh
Priority to KR1020147010362A priority patent/KR20140057396A/ko
Priority to PT212021323T priority patent/PT3958562T/pt
Priority to KR1020137020886A priority patent/KR101430049B1/ko
Priority to PL21202134.9T priority patent/PL3958560T3/pl
Priority to ES16188174T priority patent/ES2939615T3/es
Priority to ES21202139T priority patent/ES2954981T3/es
Priority to ES21202132T priority patent/ES2952357T3/es
Priority to HRP20230575TT priority patent/HRP20230575T1/hr
Priority to RS20230093A priority patent/RS63977B1/sr
Priority to EP21202134.9A priority patent/EP3958560B1/en
Priority to KR1020137020888A priority patent/KR20130099244A/ko
Priority to KR1020177037857A priority patent/KR20180018591A/ko
Priority to CN201510055864.8A priority patent/CN104602021B/zh
Priority to KR1020197012409A priority patent/KR20190049919A/ko
Priority to PCT/KR2011/005942 priority patent/WO2012023763A2/ko
Priority to PT212021380T priority patent/PT3958563T/pt
Priority to PT161881743T priority patent/PT3145188T/pt
Priority to ES21202138T priority patent/ES2952359T3/es
Priority to ES21202134T priority patent/ES2954979T3/es
Priority to CN201180050178.1A priority patent/CN103190151B/zh
Priority to RS20230627A priority patent/RS64413B1/sr
Priority to CN201611271608.3A priority patent/CN107087197B/zh
Priority to EP21202133.1A priority patent/EP3958559B1/en
Priority to KR1020127028866A priority patent/KR101430048B1/ko
Priority to CN201611271607.9A priority patent/CN106878747B/zh
Priority to PL21202132.3T priority patent/PL3958562T3/pl
Priority to HRP20230005TT priority patent/HRP20230005T1/hr
Priority to PT212021349T priority patent/PT3958560T/pt
Priority to PT212021398T priority patent/PT3958564T/pt
Priority to CN201510056797.1A priority patent/CN104602022B/zh
Priority to DK16188174.3T priority patent/DK3145188T3/da
Priority to KR1020147010361A priority patent/KR20140057675A/ko
Priority to EP11818363.1A priority patent/EP2608543A4/en
Priority to CN201611271606.4A priority patent/CN106878746B/zh
Priority to CN201611271609.8A priority patent/CN107087198B/zh
Priority to EP16188174.3A priority patent/EP3145188B1/en
Priority to ES21202133T priority patent/ES2952358T3/es
Priority to DK21202139.8T priority patent/DK3958564T3/da
Priority to HUE16188174A priority patent/HUE061766T2/hu
Publication of KR20120016991A publication Critical patent/KR20120016991A/ko
Priority to US13/624,864 priority patent/US9544611B2/en
Priority to JP2016199647A priority patent/JP6242981B2/ja
Priority to JP2016199645A priority patent/JP6242979B2/ja
Priority to JP2016199646A priority patent/JP6242980B2/ja
Priority to JP2016199648A priority patent/JP6242982B2/ja
Priority to JP2016199653A priority patent/JP6321750B2/ja
Priority to JP2016199652A priority patent/JP6321749B2/ja
Priority to JP2016199644A priority patent/JP6242978B2/ja
Priority to JP2016199650A priority patent/JP6242984B2/ja
Priority to JP2016199649A priority patent/JP6242983B2/ja
Priority to JP2016199651A priority patent/JP6242985B2/ja
Priority to US15/364,889 priority patent/US9894380B2/en
Priority to US15/365,377 priority patent/US10116958B2/en
Priority to US15/365,023 priority patent/US9877039B2/en
Priority to US15/365,175 priority patent/US9955180B2/en
Priority to US15/364,638 priority patent/US9794586B2/en
Priority to US15/364,725 priority patent/US10237572B2/en
Priority to US15/364,463 priority patent/US9794585B2/en
Priority to US15/364,557 priority patent/US9807414B2/en
Priority to US15/365,491 priority patent/US10015516B2/en
Priority to US16/260,570 priority patent/US10602181B2/en
Priority to US16/796,555 priority patent/US10979731B2/en
Priority to US16/796,516 priority patent/US10931966B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/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
    • 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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Error Detection And Correction (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)

Abstract

본 발명은 인터 프리딕션 방법에 관한 것으로, 본 발명은 동영상 인코딩 디코딩시에 압축효율을 보다 향상시키도록 하는 효과가 있다.

Description

인터 프리딕션 방법{Inter prediction process}
본 발명은 인터 프리딕션 방법에 관한 것이다.
영상을 고효율로 압축 재생하기 위해서는 인터 프리딕션 방법이 사용된다.
본 발명은 고효율의 인터 프리딕션을 수행하도록 하는 방법을 제공하기 위한 것이다.
본 발명의 인터 프리딕션 방법은 inter 예측 모드의 효율을 향상시키도록 한 것을 특징으로 한다.
본 발명은 동영상을 인코딩/디코딩시에 고성능의 압축 및 재생효율을 발휘하도록 하는 효과가 있다.
도 1은 본 발명의 실시예를 설명하기 위한 도면이다.
도 2는 본 발명의 실시예를 설명하기 위한 도면이다.
도 3은 본 발명의 실시예를 설명하기 위한 도면이다.
도 4는 본 발명의 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 동영상 부호화 장치를 나타내는 블록도이다.
도 6은 본 발명의 실시예에 따른 동영상 복호화 장치를 나타내는 블록도이다.
이하, 본 발명의 여러가지 실시예들을 예시적인 도면을 통해 상세히 설명한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
<픽쳐 분할>
영상 부호화를 위해 픽쳐는 복수의 슬라이스로 구성되고, 슬라이스는 복수의 SMB(super macroblock)으로 구성된다. SMB의 위치는 주소지시자(smbAddr)에 의해 정해진다. 상기 SMB는 그 자체가 부호화 단위(CU: coding unit)가 될 수도 있고, 더 작은 단위의 CU들로 분할될 수 있다. SMB 단위마다 SMB 내의 CU 구성을 나타내는 정보를 포함한다. 상기 CU 구성을 나타내는 정보는 분할플래그가 사용된다.
각각 결정된 CU는 하나 또는 복수개의 예측블록 단위(PU: prediction unit)로 구성된다. PU는 인트라 또는 인터 예측을 위해 사용되는 기본 단위를 의미한다.
TU(transform unit)는 변환부호화의 기본 단위를 의미한다. PU는 복수개의 transform unit(TU)을 가질 수도 있고, 인터예측의 경우에는 복수개의 PU가 하나의 TU를 구성할 수도 있다. PU의 최대크기는 SPS(sequence parameter set)에서 정의되며, 쿼드트리 형태로 분할될 수 있다. 인트라 예측과 인터 예측에 대한 최대크기의 PU 는 상이할 수 있다. 따라서, 상기 정보는 복호기로 전송되어야 한다( transform 영역에서 다시 언급하는 것이 좋을듯 ).
4) Inverse coding unit Scanning process(p.6) : 복호화 과정
먼저 largest coding unit 어드레스를 비트스트림을 파싱하여 읽어들인다. Largest coding unit의 크기도 읽어들인다. 이는 부호기와 복호기가 미리 약정한 값일수도 있고 부호기가 복호기로 전송하는 비트스트림(sequence header 또는 picture header)에 포함될 수도 있다. 상기 값들을 이용하여 largest coding unit의 upper-left sample의 위치를 출력하게 된다.
Largest coding unit 내의 하위 단위의 coding unit은 raster scan된다. Coding unit은 4개의 더 작은 coding unit으로 분할될 수 있고 이들은 또한 이내에서 raster scan된다. 따라서, coding unit은 도면에서와 같이 recursively raster scanning 된다.
5) Inverse prediction unit, partition, and transform unit Scanning process(p.8) : 복호화 과정
Coding unit이 더 이상 분할되지 않으면 prediction unit이 scanning 된다. prediction unit의 위치는 prediction unit의 index로 특정된다. Prediction unit은 분할될 수 있다. 따라서, prediction unit index를 입력으로하여 prediction unit의 upper-left sample위치를 구하게 되고, ㅔprediction unit partition index를 입력으로 하여 prediction unit partition 의 upper-left sample 위치를 구하게 된다.
마찬가지로 transform unit index를 통해 transform unit의 upper-left sample 위치를 구할 수 있다.
II. Syntax
1. Sequence parameter(header)
(1) CU, PU, TU의 가장 작은 크기를 나타내는 정보(smallest unit size)와, PU내에서의 arbitrary shape region을 나타내는 정보(prediction unit partition)와, LCU으로부터 분할이 허용되는 최대 수를 나타내는 정보(maximum hierarchy depth)가 포함될 수 있다. 이들은 sequence마다 바뀔 수 있다. 가장 큰 CU size는 128이다. 가장 큰 TU size는 가장 큰 CU size보다 작거나 같아야 한다.
2. Slice header
1) Slice header는 slice type을 포함한다. Slice type이 P 또는 B인 경우에는 인터 예측 샘플을 얻기 위해 사용되는 방법을 나타내는 정보(mc_interpolation_idc), MV competition이 사용되는지를 나타내는 정보가 포함된다. mv competition이 사용되면 복호기는 temporal MV가 사용되는지를 나타내는 정보를 포함한다. Temporal MV는 이미 부호화된 프레임의 동일 위치 또는 그 주변에 존재하는 PU의 움직임 벡터를 말한다. (이전 부호화된 프레임의 동일위치에 복수개의 temporal MV가 존재하는 경우에는 좌상측의 PU의 움직임 벡터가 선택될 수도 있고, 또는 이들의 median 이 될 수도 있다. 또한, 이전 프레임의 동일위치를 포함하는 PU가 존재하는 경우에는 이를 temporal MV로 할수도 있다) temporal MV가 사용될 경우에는 참조픽쳐가 reference picture list0에 속하는지 reference picture list 1에 속하는지를 나타내는 정보가 포함될 수 있다. 이 정보가 포함되지 않는 경우에는 그 값이 1인 것으로(즉, list 0사용) 간주된다.
2) 또한, 슬라이스 헤더는 mv_competition_temporal_flag(specifying whether temporally collocated motion vector is used in the motion competition process)를 포함한다. 슬라이스 헤더는 edge_based_prediction_flag indicating whether the edge based prediction process shall be invoked during intra prediction를 포함한다. 값이 0이면, edge based prediction process가 적용되지 않고, 1이면 인트라 예측을 위한 복수개의 모드 중에서 하나가 edge based prediction mode임을 나타낸다. 이때, edge based prediction mode가 DC prediction mode로 대체될 수 있다. 이는 소정의 판정과정을 거쳐서 이루어지며, 이를 판정하기 위한 정보 (threshold_edge)가 슬라이스 헤더에 포함된다.
3) Slice type이 P 또는 B인 경우에 슬라이스 헤더는 참조 픽쳐 저장을 위한 메모리 관리를 정보들을 포함한다. 상기 정보들은 ~
4) Slice type이 P 또는 B인 경우뿐만 아니라 I 등인 경우에도 슬라이스 헤더는 적응적 루프 필터링이 현재 슬라이스에 적용되지는 여부를 나타내는 정보를 포함한다. 상기 정보가 적응적 루프 필터링 적용됨을 나타내면, 슬라이스 헤더는 추가적으로 적응적 루프 필터 과정에서 사용되는 luma component의 수평 및 수직 방향의 필터 길이를 나타내는 정보를 포함한다. 적응적 루프 필터는 복원된 영상에 적용될수도 있고, 예측 신호에 적용될 수도 있고, 양자화된 예측 에러신호에 적용될 수도 있다. 따라서, 슬라이스 헤더는 상기 각각에 적용 가능한 필터 정보를 모두 또는 적어도 하나 이상 포함할 수 있다. 필터 정보들은 양자화되어 전송될 수 있다. 이 경우 슬라이스 헤더는 양자화 스텝 사이즈를 나타내는 정보들을 포함한다. 즉 따라서, 부호화시에는 필터계수를 양자화한 후 재부호화(엔트로피 부호화)하여 전송하고, 복호화시에는 엔트로피 복호화를 행한후 역양자화하여 얻은 필터 계수를 이용하여 적응적 루프 필터링을 수행한다.
슬라이스 헤더는 사용되는 필터 세트들의 수를 나타내는 정보를 전송할 수 있다. 이때 필터의 수가 2개 이상이면 필터 계수들은 필터 예측 방법이 사용될 수 있다. 따라서, 예측 방법이 사용되지는 여부를 나타내는 정보를 포함할 수 있으며, 예측 방법이 사용될 경우에는 예측된 필터계수들을 부호화하여 전송하고, 그렇지 않은 경우에는 예측되지 않은 필터계수들을 부호화하여 전송한다.
한편, luma 뿐만 아니라 chroma component들도 적응적으로 필터링될 수 있다. 따라서, chroma component 각각이 필터링되는지 여부를 나타내는 정보들을 슬라이스 헤더가 포함할 수 있으며, 이 경우, 비트수를 줄이기 위해 Cr와 Cb에 대한 필터링 여부를 함께 나타내기 정보를 multiplexing하여 나타낼 수 있다. Chroma 성분들 모두를 필터링하지 않는 경우가 가장 빈번하기 때문에 이에 대해 가장 작은 정보를 할당하는 엔트로피 부호화를 수행하는 것이 바람직하다. 또한, chroma component 중 적어도 하나 이상이 필터링되는 경우에는, luma filter가 chroma에도 그대로 적용될 수 있는 경우가 존재하기 때문에 luma filter가 그대로 사용되는지 또는 별도의 chroma filter가 사용되는지를 나타내는 정보를 포함할 수 있다. Chroma filter가 적응적으로 사용될 경우, 적응적 루프 필터는 복원된 영상에 적용될 수도 있고, 예측 신호에 적용될 수도 있고, 양자화된 예측 에러신호에 적용될 수도 있다. 별도의 charoma filter가 사용될 경우, 필터 정보들은 양자화되어 전송될 수 있다. 이 경우 슬라이스 헤더는 양자화 스텝 사이즈를 나타내는 정보들을 포함하여, 부호화시에는 필터계수를 양자화한 후 재부호화(엔트로피 부호화)하여 전송하고, 복호화시에는 엔트로피 복호화를 행한후 역양자화하여 얻은 필터 계수를 이용하여 적응적 루프 필터링을 수행한다. Chroma에 대한 필터 계수의 수평 또는/및 수직 방향의 필터 길이, 양자화 계수 등이 luma와 같이 또는 luma와 별도로 정해질 수 있다.
또한, luma component에 대한 루프 필터링 과정이 슬라이스 내의 모든 루마 샘블에 적용되는지 여부를 나타내는 정보를 슬라이스 헤더가 포함할 수 있다. 적용될 경우에는 슬라이스 내의 모든 luma component에 적응적 루프 필터 과정이 적용된다. 그러나, 그렇지 않을 경우에는 각각의 CU마다 필터링이 수행되는지 여부를 나타내는 정보가 CU 헤더에 포함되어야 한다. 적용될 경우에는 슬라이스 헤더가 루프필터의 적용 가능 CU size 정보를 나타내는 정보를 포함하는 것이 바람직하다. 상기 적용 가능 CU size 정보는 가장 큰 CU로부터 적용되는 가장 작은 크기의 CU size를 나타내는 정보를 depth 정보로서 표현할 수 있다.
5) 한편, 슬라이스 타입이 P 또는 B인 경우, 슬라이스 헤더는 슬라이스 단위로 적용 가능한 움직임 보상을 위한 필터 정보(Switched filter with offset 정보)를 포함할 수 있다. 필터 정보에는 필터 정보를 예측을 사용하여 부호화되는지 여부를 나타내는 정보를 포함할 수 있다. 예측을 사용할 경우에는 현재 전송할 필터정보가 이전에 전송된 필터정보와 동일한지 여부를 나타내는 정보를 포함할 수 있다. 상기 정보가 동일한 값을 나타낼 경우에는 이전 필터정보가 나타내는 필터의 계수들을 현재 필터 계수들로 이용하고(이 경우, 단지 필터 인덱스를 이용할수도 있음), 동일하지 않음을 나타내면 이전 필터값과 현재 필터값과의 차이값 또는 현재 필터값 또는 이들에 대응하는 필터정보가 전송될 수 있다. 상기 필터정보와 함께 offset 값을 나타내는 정보를 적응적으로 포함할 수 있다(포함하지 않을 경우 모든 offset값을 0으로 간주할수도 있다). 상기 정보는 모든 offset 값이 특정 기준값(예를 들어, 0)인지 아닌지를 나타내는 정보를 포함할 수 있으며, 특정 기준값이 아닌 경우에는 적용될 offset값들을 포함할 수 있다. Offset 값들은 P, B picture 모두에 적용할 값들과, B picture에만 적용할 값들을 포함할 수 있다.
3. Coding unit syntax
한편, 슬라이스는 슬라이스 헤더와 복수개의 CU를 포함한다. CU는 CU가 더 작은 size로 분할되는지 여부를 나타내는 정보(split_coding_unit_flag)를 포함할 수 있다. 현재의 CU가 가장 작은 CU인 경우에는 상기 정보를 포함하지 않는다. 한편, 상기 정보를 포함하지 않게 하는 대신에, 부호기와 복호기가 현재의 CU가 가장 작은 CU인지 아닌지를 판단하여, 가장 작은 CU가 아닌 경우에는 더 작은 CU로 분할되는 것으로 약속할수도 있고, 분할되지 않는 것으로 약속할 수도 있다. 따라서, 복호기에서는 상기 정보의 존재 여부를 판단하여 현재 CU의 분할 여부를 판단할 수 있게 된다.
또한, CU는 적응적 루프 필터를 적용할지 여부를 나타내는 정보(alf_flag)를 포함할 수 있으며, 존재하지 않는 경우에는 적용하지 않는 것으로 간주할 수 있다. 따라서 복호기에서는 상기 정보의 존재 여부를 판단하여 존재하지 않는 경우에는 루프 필터를 적용하지 않고, 존재하는 경우에는 그 값에 따라 적응적으로 루프 필터를 적용할 수 있다.
그리고, 포함된 CU가 더 작은 size로 분할되는지 여부를 나타내는 정보(split_coding_unit_flag)가 분할됨을 나타낼 경우에는 복수개의 하위 coding unit 을 가질 수 있다. 이는 recursive 하게 더 하위의 coding unit을 포함할 수 있다. 그러나, 상기 정보(split_coding_unit_flag)가 분할되지 않음을 나타낼 때에는 prediction unit을 포함한다.
또한, prediction mode가 skip mode가 아니거나, 인트라 예측의 planar preidction이 아닌 경우에는 transform unit을 포함할 수도 있다.
4. Prediction Unit syntax
Prediction unit은 slice가 I slice가 아닌 경우에 존재한다.
Prediction unit 헤더는 슬라이스의 타입이 I slice가 아니면 현재 coding unit의 skip 여부를 나타내는 정보(skip_flag)를 포함할 수 있다. 상기 정보가 skip을 나타내면 list 0 및/또는 list 1의 움직임 벡터 예측 index만을 포함할 수 있다. 상기 인덱스가 존재하지 않으면 상기 값들은 0으로 설정된 것으로 볼 수 있다.
그러나, 상기 정보가 skip을 나타내지 않으면, prediction mode를 나타내는 정보(pred_mode)를 포함할 수 있다. 상기 정보는 현재 prediction unit의 mode를 나타내는 것으로, 상기 mode는 intra, inter, direct, skip 등을 나타낼 수 있다. P 또는 B 슬라이스의 prediction unit은 상기 모드 중의 어느 하나를 가질 수 있다.
상기 정보( pred _ mode )가 intra prediction 을 나타낼 경우에는 planar prediction이 적용될 지 여부를 나타내는 정보(planar flag)를 포함할 수 있다. 상기 정보가 포함되어 planar prediction이 적용됨을 나타내면 planar prediction을 적용하기 위해 필요한 정보(planar_qdelta_indicatiorn)를 포함할 수 있다. 상기 정보는 부호기가 전송하는 현재 prediction 예측에 사용된 정보(예를 들어 bottom-right 픽셀값)를 복원하기 위한 값일 수 있다. 상기 값을 이용하여 부호기에서 planar 예측에 사용한 값과 동일 또는 유사한 값을 추출하여 잔차 신호와 더하여질 예측 블록을 생성할 수 있다. 또한 luma뿐 아니라 chroma에도 planar prediction이 행해졌는지 여부를 나타내는 정보와 행해진 경우에는 예측에 사용된 정보를 복원하기 위한 값들을 포함할 수 있다. 또한, prediction unit이 더 작은 유닛으로 분할되는지 여부를 나타내는 정보(intra_split_flag)를 포함할 수 있다. 상기 정보는 단순히 현재 prediction unit이 4개의 하위 prediction unit으로 분리되는지 여부를 나타낼 수도 있고, non square prediction unit을 나타낼 수도 있다. Non square unit으로는 rectangular 또는 직선으로 분할된 square의 partition일수도 있다.
그리고, 인트라 예측에 사용된 luma의 인트라 모드정보가 포함된다. 상기 모드 정보는 인트라 모드 부호화 방법에 의해 부호화된 정보일 수 있다. 따라서, 인트라 모드 복호화를 위해 먼저 인접하는 이전 블록의 인트라 예측 모드 중 어느 하나(더 작은 값, 동일할 경우에는 그 값)와 동일한지 여부를 나타내는 정보(prev_intra_luma_pred_flag)를 파싱하여 그 값이 1이면 현재 블록의 인트라 예측모드가 인접한 좌측 또는 상측의 available한 값으로부터 현재 블록의 인트라 모드를 구하고, 0이면 인트라 모드 정보를 나타내는 정보(rem_intra_lima_pred_mode)를 이용하여 구함. 여기서 상기 인트라 모드 정보를 나타내는 정보(rem_intra_lima_pred_mode)는 좌측 및 상측의 모드 번호 중 작은 번호를 제외한 나머지 인트라 모드중 몇번째인지를 나타내는 값을 나타낸다.
마찬가지로 chroma 의 intra mode 정보가 포함될 수 있다. 상기 chroma 모드 정보는 intra luma mode 정보를 이용하여 결정되는 mode를 포함할 수 있다. (p.51) 또한 prediction mode size에 따라 동일한 모드 번호에 다른 예측 방법(예를 들어, 8x8 size에는 diagonal prediction, 이외의 size에는 plane prediction)이 사용될 수도 있다.
상기 모드 정보는 상기 luma와 동일한 방법으로 부호화된 값일 수 있고, 인트라 예측 모드값을 그대로 전송할 수도 있다. 상기 luma와 동일한 방법으로 부호할지, 인트라 예측 모드값을 그대로 전송할지 여부는 prediction unit size에 따라 결정할 수도 있고, prediction mode 수에 따라 결정될 수도 있다. Prediction unit size에 따라 모드 수가 달리 결정될 수 있다. Chroma 모드는 luma mode에 기초하여 부호화될 수도 있다.
또한, combined intra prediction process가 intra 예측 샘플을 위해 적용될지 여부를나타내는 정보를 포함하여, 예측할 수 있다. 1) 현재 블록과 인접하는 미리 정해진 위치의 인트라 예측 모드를 로딩하는 단계, 2-1) 인트라 예측 모드가 2개 모두 available한 경우에는 예측번호 모드번호가 작은 값과 현재 블록의 인트라 예측 모드번호를 비교하는 단계, 2-2) 인트라 예측 모드 2개 중 어느 하나가 available한 경우에는 그 값과 현재 블록의 인트라 예측 모드번호를 비교하는 단계, 3) 상기 단계 2-1) 또는 2-2)에서 동일한 경우 동일한 값임을 나타내는 정보를 복호기로 전송하는 단계, 4) 상기 단계 2-1) 또는 2-2)에서 동일하지 않은 경우 작은 값 또는 available한 하나의 값을 제외한 나머지 모드들 중 몇번째 모드인지를 판단하는 단계, 5) 상기 순번의 모드 번호와 동일하지 않음을 나타내는 정보를 복호기로 전송하는 단계를 포함함. 여기서 size가 동일하지 않은 경우에도 적용할 수 있으며, 이때 좌측 블록은 복수개의 좌측 블록 중 상측에 위치하는 블록, 복수개의 상측 블록 중 우측(또는 좌측)에 위치하는 블록의 인트라 예측 모드를 이용하되, 어느 하나의 모드는 prediction mode size에 따라 동일한 모드 번호에 다른 예측 방법(예를 들어, 8x8 size에는 diagonal prediction, 이외의 size에는 plane prediction)이 사용될 수도 있다.
상기 정보(pred_mode)가 inter prediction을 나타낼 경우에는 inter prediction을 위해 현재의 coding unit를 분할하는 type 정보(inter_pratitioning_idc)를 포함할 수 있다. 상기 정보는 partition의 수, partition의 가로길이, 세로길이에 따라 결정되는 값일 수 있다. Arbitatry shape의 경우에는 shape을 특정할 수 있는 정보일 수 있다.
또한, 파티션 또는 예측 블록의 인터 예측을 위한 파라미터들이 인접하는(좌측 또는 상측의) inter predicted 파티션 또는 예측 블록으로부터 유도(inferred)되는지 여부를 나타내는 정보(merge_flag)를 포함할 수 있고, 유도되는 경우 좌측 및 상측의 파티션 또는 예측 블록의 어느 것으로부터 유도되는지를 나타내는 정보(merge_left_flag)를 포함할 수 있다. 유도되지 않는 경우에는 인터 예측을 위한 참조 픽쳐 인덱스, 움직임 벡터 resolution 정보, motion vector difference, mv_competition에 사용된 참조 움직임 벡터 정보 등이 포함된다.
또다른 방법으로, 파티션 또는 예측 블록의 인터 예측을 위한 파라미터들의 일부가, 인접하는(좌측 또는 상측의) inter predicted 파티션 또는 예측 블록으로부터 유도(inferred)되는지 여부를 나타내는 정보를 포함할 수 있다. 상기 정보는 1) 좌측 및 상측의 파티션 또는 예측 블록의 어느 것으로부터 유도되는지를 나타내는 정보(merge_left_flag)와, 2) 인터 예측을 위한 참조 픽쳐 인덱스, 움직임 벡터 resolution 정보, motion vector difference, mv_competition에 사용된 참조 움직임 벡터 정보들 중 어느 것들이 좌측 및 상측의 파티션 또는 예측 블록의 어느 것으로부터 유도되는지를 나타내는 정보를 포함할 수 있다.
5. Transform unit syntax
Residual block에 대한 VLC가 기존의 방법과 달라졌음.
Residual block에 대한 v2v가 새로 도입됨. 따라서, 이 2가지를 선택적으로 선택하므로, 어느 것을 선택할지에 대한 정보가 필요하고, 구체적인 조건이 있으면 이것도 필요. Transform block 단위로 설정되어 있으므로, entropy 부호화 부분에서 이를 한정하는 것이 필요.
III. Inter 예측
1) 움직임 벡터 예측에 사용되는 블록의 결정방법
H.264에서는 움직임벡터 예측부호화를 위해 좌측(A), 상단(B), 우측상단(C)의 블록들의 움직임벡터를 사용하여 수평성분과 수직성분 각각의 중앙값을 사용하게 된다.
가변블록 크기 움직임보상이 사용되므로, 부호화하려는 블록과 예측에 사용되는 주변블록의 크기가 다를 경우가 많이 발생한다. 이 경우 다음과 같은 방법을 사용하여 예측한다.
(1) 일반적인 예측블록의 결정방법
부호화하려는 블록 좌측에 있는 주변 블록이 여러 블록이 존재할 경우에는 가장 상단에 위치한 블록(A)을 예측에 사용하고, 부호화하려는 블록의 상단에 여러 개의 블록이 존재할 경우에는 가장 좌측에 위치한 블록(B or C)을 예측에 사용한다. 유효한 상단 또는 좌측으로 표시하는 것이 좋을 듯. 인트라 예측되는 블록이 존재할수도.. 이런식으로 한정하자.
(2) 예외적인 처리
- 블록 B, C가 픽쳐 또는 슬라이스 밖에 존재할 경우에는 블록 A의 움직임 벡터를 예측에 사용
- 블록 A, B, C 중에 부호화하려는 블록과 참조픽쳐번호가 같은 블록이 하나만 존재하는 경우, 그 블록의 움직임 벡터를 이용하여 예측
- 부호화하려는 블록이 16x8 또는 8x16인 경우, 16x8의 상단블록은 블록 B, 하단블록은 블록 A를 예측에 사용하고, 8x16의 좌측블록은 블록 A, 우측블록은 블록 C를 예측에 사용한다.
(3) SKIP MB
움직임벡터가 0을 의미하지 않고, 예측 움직임벡터를 사용하여 움직임 보상을 수행한 잔차신호가 0임을 의미한다. 따라, 움직임벡터는 전송되어야 함.
MV competition
1) 현재 블록의 움직임 벡터를 구하는 단계
2) 현재 블록과 인접하는 기부호화되어 복원된 인접블록의 유효한( available ) 움직임 벡터를 읽는 단계 통상 A, B, C를 참조함, 유효하지 않은 움직임벡터란, 움직임 벡터가 존재하지 않는 경우, 블록이 다른 slice 에 포함되는 경우 등. 예를 들어, C가 유효하지 않은 경우에는 D로 대체, B가 유효하지 않은 경우에도, B,C가 모두가 유효하지 않은 경우에는 D를 이용하는 것이 바람직함
3) 현재 블록과 인접블록이 서로 동일한 픽쳐를 참조하는 경우에는 스케일링하지 않고 다른 참조 픽쳐를 참조하는 경우에는 스케일링하는 단계 scaling은 참조 픽쳐의 시간적 거리(temporal distance of the reference picture)를 이용해서 수행함. 그러나, 움직이지 않는 영상(예를 들어, 배경 등)의 경우에는 scaling하지 않을 수도 있으므로, scaling 여부를 나타내는 정보(flag)를 복호기로 전송 필요 또는 scaling factor를 전송
4) Scaling 된 참조 벡터(A, B, C) 및 이전 픽쳐의 동일위치의 블록의 움직임 벡터를 이용하여 MV competition을 수행하는 단계 여러 단계로 나누어 표시할 수 있음
5) 잔차신호를 부호화하여 전송하는 단계 어떤식의 부호화인지를 표시..
MV competition 청구항(복호기)
6) 잔차신호를 복호화하여 MV diff를 생성하는 단계 entropy 복호화 과정 한정
7) MV competition의 역단계, 즉, 참조 MVP 생성 단계
- 현재 블록과 인접하는 기부호화되어 복원된 인접블록의 유효한(available) 움직임 벡터를 읽는 단계 통상 A, B, C를 참조함, 유효하지 않은 움직임벡터란, 움직임 벡터가 존재하지 않는 경우, 블록이 다른 slice에 포함되는 경우 등을 얘기하겠죠. 예를 들어, C가 유효하지 않은 경우에는 D로 대체, B가 유효하지 않은 경우에도 , B,C가 유효하지 않은 경우에는
- 현재 블록과 인접블록이 서로 동일한 픽쳐를 참조하는 경우에는 스케일링하지 않고 다른 참조 픽쳐를 참조하는 경우에는 스케일링하는 단계 scaling은 참조 픽쳐의 시간적 거리(temporal distance of the reference picture)를 이용해서 수행함. 그러나, 움직이지 않는 영상(예를 들어, 배경 등)의 경우에는 scaling하지 않을 수도 있으므로, scaling 여부를 나타내는 정보(flag)를 이용하여 scaling된 인접움직임벡터의 복원(scaling factor가 수신된 경우에는 이를 이용하여 복원)
8) 생성된 MVP와 MV diff를 더하여 원래의 움직임벡터 복원
Interleaved MV prediction :
9) 현재 블록의 움직임 벡터를 구하는 단계 resolution 등의 한정 가능
10) 현재 블록과 인접하는 기부호화되어 복원된 인접블록의 유효한(available) 움직임 벡터를 읽는 단계 통상 A, B, C를 참조함, 유효하지 않은 움직임벡터란, 움직임 벡터가 존재하지 않는 경우, 블록이 다른 slice에 포함되는 경우 등을 얘기하겠죠. 예를 들어, C가 유효하지 않은 경우에는 D로 대체, B가 유효하지 않은 경우에도 , B,C가 유효하지 않은 경우에는
11) 현재 블록과 인접블록이 서로 동일한 픽쳐를 참조하는 경우에는 스케일링하지 않고 다른 참조 픽쳐를 참조하는 경우에는 스케일링하는 단계 scaling은 참조 픽쳐의 시간적 거리(temporal distance of the reference picture)를 이용해서 수행함. 그러나, 움직이지 않는 영상(예를 들어, 배경 등)의 경우에는 scaling하지 않을 수도 있으므로, scaling 여부를 나타내는 정보(flag)를 복호기로 전송 필요 또는 scaling factor를 전송
12) Scaling 된 참조 벡터(A, B, C) 및 이전 픽쳐의 동일위치의 블록의 움직임 벡터를 이용하여 interleaved MV prediction (MV competition 포함)을 수행하는 단계
13) 잔차신호를 부호화하여 전송하는 단계 어떤식의 부호화인지를 표시..
Interleaved MV coding
u Motion vector prediction for rectangular partitions
Scaled Motion vector
예측을 위해 사용되는 인접블록은 도 2와 같다.
움직임 벡터 예측을 위해 참조 픽쳐(프레임)의 시간적 거리를 이용할 수 있다. 즉, 인접 블록 A, B, C가 현재 블록과 서로 다른 참조픽쳐 번호를 갖는 경우, 현재 픽쳐로부터의 시간적 거리에 기초하여 상기 인접블록의 움직임 벡터들을 규준화(normalized)할 수 있다. 상기 규준화는 시간적 거리에 기초하지 않고 별도의 scaling factor를 이용할 수도 있다. 이 경우에는 scaling factor가 복호기로 전송되어야 한다. 또한, 항상 규준화를 하는 것이 아니라 slice 단위, largest coding unit, prediction unit 단위로도 가능하다. 이를 위해서 규준화를 할지 여부에 대한 flag가 상기 단위의 header에 포함될 수 있다.
MV Competition : 일반적인 방법 + MV competition 함께..
MV competition과 interleaved MV prediction 중 어느 하나만 표준에 들어가거나, 둘다 들어갈수 있겠죠. 둘다 들어갈 경우에는 적응적으로 선택하고, 선택정보를 복호기로 전송해야 함.
움직임 벡터 예측에 사용되는 블록의 결정방법
H.264에서는 움직임벡터 예측부호화를 위해 좌측(A), 상단(B), 우측상단(C)의 블록들의 움직임벡터를 사용하여 수평성분과 수직성분 각각의 중앙값을 사용하게 된다.
가변블록 크기 움직임보상이 사용되므로, 부호화하려는 블록과 예측에 사용되는 주변블록의 크기가 다를 경우가 많이 발생한다. 이 경우 다음과 같은 방법을 사용하여 예측한다.
<일반적인 예측블록의 결정방법>
부호화하려는 블록 좌측에 있는 주변 블록이 여러 블록이 존재할 경우에는 가장 상단에 위치한 블록(A)을 예측에 사용하고, 부호화하려는 블록의 상단에 여러 개의 블록이 존재할 경우에는 가장 좌측에 위치한 블록(B or C)을 예측에 사용한다. 상기 블록은 유효한 블록을 의미한다.
<예외적인 처리>
블록 B, C가 픽쳐 또는 슬라이스 밖에 존재할 경우에는 블록 A의 움직임 벡터를 예측에 사용한다. 블록 A, B, C 중에 부호화하려는 블록과 참조픽쳐번호가 같은 블록이 하나만 존재하는 경우에는 그 블록의 움직임 벡터를 이용하여 예측할 수 있다. 또는 유효한 움직임 벡터가 2개인 경우에는 미리 정해진 순서(예를 들어, A, B, C 순)에 따라 첫번째 위치하는 움직임 벡터를 이용하거나, 또는 이들의 평균값(반올림)을 이용할 수 있다. 유효한 움직임 벡터가 하나인 경우에는 이를 이용한다. 부호화하려는 블록이 16x8 또는 8x16인 경우에는 16x8의 상단블록은 블록 B, 하단블록은 블록 A를 예측에 사용하고, 8x16의 좌측블록은 블록 A, 우측블록은 블록 C를 예측에 사용한다.
<Geometric block partition>
한편, 현재 블록이 geometric block partitions을 포함하면, 예측 움직임 벡터를 구하기 위해 사용되는 참조 벡터가 바뀌는 것이 바람직하다. (나중에 추가)
<SKIP MB>
움직임벡터가 0을 의미하지 않고, 예측 움직임벡터를 사용하여 움직임 보상을 수행한 잔차신호가 0임을 의미한다. 따라, 움직임벡터는 전송되어야 한다.
<MV Competition>
Spatial predictor에 더하여 temporal predictor pmvtp도 사용 가능하다. pmvtp 는 참조 프레임내의 동일 위치의 Y block의 움직임 벡터 mvcol이다. 참조 프레임의 시간적으로 이전, 이후에 존재하는 프레임이 모두 가능하나, 가능한 한 현재 프레임 바로 이전의 프레임이 것이 바람직하다.
각 움직임 보상을 위해 spatial predictor를 사용할 것인지 temporal predictor를 사용할 것인지를나타내는 정보(1 bit flag)가 복호기로 전송할 필요가 있다. 복호기는 움직임벡터를 복원하기 위해 상기 정보에 따라 spatial 또는 temporal predictor 중의 어느 하나를 이용한다. 상기 정보는 slice 단위 단위로 정의되어 슬라이스 헤더에 추가될 수 있다. 또한, largest coding unit 또는 prediction unit마다 적용될 수 있다. 상기 정보(1 bit flag)는 Skip, B, P마다 달리 적용될 수도 있다. 두개의 predictor가 동일한 값일 경우에는 상기 정보를 전송하지 않을 수도 있다.
부호기는 움직임 벡터를 부호화하기 위해 예측벡터를 구한 후에, 현재 블록의 움직임 벡터와 예측 벡터의 차이값을 구한다. 즉,
mvd = mvx - pmv, pmv는 pmvtp 또는 pmvsp
그리고, 상기 mvd는 엔트로피 부호화를 수행하고, 그 결과를 상기 정보(1 bit flag)와 함께 bitstream에 삽입한다.
(NEC) 한편, SKIP 모드에서는 상기 방식을 적용할 수도 있지만, H.264 표준에 의해 결정되는 predictor 또는 수정된 predictor와, 현재 블록에 인접하는 미리 정해진 인접 블록의 움직임 벡터 중에서 어느 하나를 선택하도록 할 수도 있다. 미리 정해진 인접 블록은 좌측 블록인 것이 바람직하다. 또한, 상기 방식을 B inter mode에서만 적용하고, P inter mode에서는 기존의 H.264 방식 또는 상기 SKIP 모드의 방식이 적용되게 할 수도 있다. 그 역도 가능하다.
(Sharp) 예를 들어, non-skip 모드에서는 P, B slice 모두에 대하여 H.264 표준에 의해 결정되는 predictor와, temporal predictor 중 어느 하나를 선택하게 할 수 있고, B slice에 대해서는 temporal predictor를 사용하지 않을 수도 있다. 상기 수정된 predictor는 인접 블록 A, B, C의 움직임 벡터가 모두 유효한 경우에는 median값을, 1개만이 유효한 경우에는 그 값을, 2개가 유효한 경우에는 미리 정해진 순서(A, B, C 순)에 따라 앞선 움직임 벡터 또는 그들을 평균값(median)이다.
(Toshiba) 한편, 움직임 벡터 예측을 위한 참조 블록들이 현재 블록에 인접한 블록들(A, B, C, D)와 시간적으로 인접한 프레임의 동일 위치의 블록 및 그 주변 블록들을 포함하도록 할 수 있다. 이 경우, 예측 움직임 벡터를 찾기 위해 먼저 유효한 움직임 벡터를 모두 찾는다. 다음으로, 유효한 움직임 벡터 중 현재 블록의 움직임 벡터와의 차분값(또는 차분값의 부호화값)이 최소가 되는 블록의 움직임 벡터를 예측 움직임 벡터로 설정하고, 이를 나타내는 선택 정보를 복호기로 전송한다. 상기 선택 정보는 유효한 참조 블록들을 미리 정해진 순서로 정렬했을 경우 해당하는 순번일 수 있다. 또한, 예측 움직임 벡터가 2개 이상인 경우에는 순번이 늦은 움직임 벡터는 유효한 움직임 벡터의 카운팅에서 제외하여 상기 선택정보의 비트수를 줄일 수 있다.
(France Telecom) temporal predictor는 이전 프레임의 동일 위치의 블록의 움직임 벡터일 수도 있고, 상기 동일 위치의 움직임 벡터 및 이들에 인접하는 움직임 벡터들로부터 추출되는 값일 수도 있다. 상기 추출되는 값들은 유효한 움직임 벡터의 수가 홀수인 경우에는 median 값일 수 있다.
(Sharp) 한편, spatial predictor는 다른 방식으로 결정될 수도 있다. 즉, 인접하는 블록의 유효한 움직임 벡터의 방향성을 판단하여 spatial predictor를 구하는 방식이다. 예를 들어, 인접 블록의 움직임 벡터가 3개인 경우(A, B, C), 상기 움직임 벡터가 모두 소정범위 이내의 속하는 방향성을 가지면 상기 값들의 median 값이 예측 움직임 벡터가 된다. 그러나, 2개만이 소정 범위 이내의 방향성을 가지게 되면 상기 2개 중 어느 하나(미리 정해진 순서에 따라 정해지거나 또는 3개 중 가운데 움직임 벡터) 또는 2개의 평균값(반올림)이 예측 움직임벡터가 된다. 3개 모두 소정 범위 이내의 방향성을 가지지 않으면 미리 정해진 순서(A, B, C)에 따라 예측 움직임 벡터를 선택한다.
Interleaved MV prediction
움직임 벡터 전송에 필요한 비트 수를 줄이기 위해 움직임 벡터의 하나의 성분을 이용하여 다른 성분을 예측하는 것이 효과적이다. 이는 다음과 같은 방법으로 수행된다.
먼저, 수식 성분의 움직임 벡터 예측이 수행된다. 수직 성분의 움직이 벡터 예측을 위해 복수개의 참조벡터를 이용한다. 상기 참조벡터는 현재 블록의 인접블록 A, B, C의 움직임 벡터를 포함할 수 있다. 또한, 상기 움직임 벡터들의 median 움직임 벡터를 포함할 수 있고, 이전에 복호화된 프레임의 동일위치 블록의 움직임 벡터일수도 있다. 상기 복수개의 참조벡터들 중에 선택된 예측 벡터의 수직성분과 현재 블록의 움직임벡터의 수직성분의 차이값이 부호화된다. 상기 복수개의 참조 움직임 중 선택된 움직임 벡터를 나타내기 위한 정보가 복호기로 전송될 수 있다. 선택된 움직임 벡터를 나타내는 정보량을 줄이기 위해 상기 복수개의 참조 움직임 벡터는 상기 median 움직임 벡터 및 이전에 복호화된 프레임의 동일위치 블록의 움직임 벡터만을 포함할 수도 있다. 참조 움직임 벡터의 수직성분이 모두 동일한 경우에는 상기 선택된 움직임 벡터를 나타내는 정보를 전송하지 않아도 된다. 상기 정보는 슬라이스 헤더에 추가될 수도 있고, prediction unit 헤더에 추가될 수도 있다.
다음으로, 현재 블록의 움직임벡터의 (부호화된) 수직성분과 인접 블록의 움직임 벡터의 수직성분을 비교하여 그 차이값 또는 차이값의 절대값이 가장 작은 하나 이상의 움직임벡터가 현재 블록의 움직임 벡터의 수평성분을 예측하기 위해 사용된다.
이하 구체적으로 살펴본다.
현재 블록의 움직임 벡터의 수직 성분의 예측값은 다음의 과정을 통해 구해진다. (부호기 및 복호기 모두에 적용)
1) 먼저, 현재 블록에 인접한 블록 A, B, C들의 유효한(available) 움직임 벡터를 검색(retrieve)한다. 유효한 움직임 벡터는 상기 인접한 블록들이 현재 블록과 동일 슬라이스내에 속하는 블록이고, 먼저 부호화된 블록을 의미한다. 한편, 블록 C의 움직임 벡터가 유효하지 않은 경우에는 블록 D(upper-left block)의 움직임 벡터로 대체될 수 있다. 또한, 현재 블록의 좌측에 있는 인접 블록이 여러 블록이 존재할 경우에는 가장 상단에 위치한 블록(A)을 예측에 사용하고, 부호화하려는 블록의 상단에 여러 개의 블록이 존재할 경우에는 가장 좌측에 위치하는 유효한 움직임 벡터를 이용할 수 있다. 한편, 이전 프레임의 현재 블록과 동일 위치의 블록의 움직임 벡터도 유효한 움직임 벡터로 검색될 수 있다. 나아가 상기 동일 위치의 그 주변에 있는 블록의 움직임 벡터도 유효한 움직임 벡터가 될 수 있다.
2) 다음으로, 유효한 움직임 벡터를 규준화할 수 있다. 즉, 현재 블록과 인접한 유효한 블록들이 현재 블록과 서로 다른 참조픽쳐 번호를 갖는 경우, 현재 픽쳐로부터의 시간적 거리에 기초하여 상기 인접블록의 움직임 벡터들을 규준화(normalized)할 수 있다. 이전 블록의 동일 위치 및 그 주변에 있는 블록의 움직임 벡터는 이전 픽처로부터 참조픽쳐와의 시간적 거리에 기초하여 움직임 벡터를 규준화할 수 있다. 상기 규준화는 시간적 거리에 기초하지 않고 별도의 scaling factor를 이용할 수도 있다. 이 경우에는 부호기는 scaling factor가 복호기로 전송해야 하고 복호기는 상기 scaling factor를 이용하여 움직임벡터들을 규준화한다. 또한, 상기 규준화가 필요하지 않은 경우도 존재하므로 상기 규준화는 slice 단위, largest coding unit, prediction unit 단위로 on-off 하도록 할 수 있다. 이 경우 부호기는 규준화가 필요한지 여부에 대한 정보(flag)를 상기 단위의 header를 통해 복호기로 전송하여야 하고, 복호기는 상기 정보를 파싱하여 규준화가 필요한 경우에만 규준화를 한다.
3) 다음으로, 유효한 현재 블록의 움직임 벡터의 수직 성분의 예측값을 상기 유효한 움직임벡터를 이용하여 결정한다. (1) 현재 블록에 인접한 블록들의 움직임 벡터들만을 이용하는 경우를 설명한다. 유효한 움직임벡터가 존재하지 않을 경우에는 수직성분의 예측값을 0으로, 유효한 움직임 벡터가 하나만 존재할 경우에는 상기 움직임 벡터의 수직 성분을 예측값으로 결정하고, 유효한 움직임 벡터가 2개인 경우에는 상기 움직임 벡터들의 수직 성분의 평균값(반올림값)을 예측값으로 결정하고, 유효한 움직임 벡터가 3개인 경우에는 상기 움직임 벡터들의 수직성분의 median 값을 예측값으로 결정한다. (2) 현재 블록에 인접한 블록들의 움직임 벡터들과 이전 프레임의 현재 블록과 동일 위치에 있는 블록의 움직임 벡터를 이용하는 경우에는, 유효한 움직임 벡터가 3개 이하인 경우에는 위의 경우와 같다. 그러나 유효한 움직임 벡터가 4개인 경우에는 수직 성분을 올림차순으로 정렬했을 경우의 2번째에 해당하는 움직임벡터의 수직성분을 예측값으로 결정할수도 있고, 2번째와 3번째의 수직 성분의 평균값(반올림값)을 예측값으로 할수도 있다. (3) 한편, 상기 (1)에 의해 결정된 동일 프레임의 현재 블록의 수직성분과 예측값과, 이전 프레임의 현재 블록과 동일 위치에 있는 블록의 움직임 벡터의 수직성분 중 어느 하나를 예측값으로 선택할수도 있다. 이 경우에는 부호기가 이를 나타내는 정보를 별도로 복호기로 전송해야 하고, 복호기는 상기 정보를 통해 어느 값이 예측값으로 선택되었는지를 판단하고, 그 값을 예측값으로 선택한다. 또한, 상기 정보를 전송하지 않기 위해 상기 값들의 평균값(반올림)을 예측값으로 이용할수도 있다.
4) 현재 블록의 움직임 벡터의 수직 성분에 대한 예측값이 정해지면, 부호기는 현재 블록의 움직임 벡터의 수직성분과 상기 예측값의 차이값을 부호화하고, 복호기는 상기 차이값과 예측값을 더하여 현재 블록의 움직임벡터의 수직 성분값이 복원한다.
현재 블록에 대한 움직임 벡터의 수직성분값이 복원되면 수평성분값에 대한 예측값을 다음의 과정을 통해서 복원한다.
1) 먼저, 현재 블록에 인접한 블록들의 유효한(available) 움직임 벡터를 검색(retrieve)한다. 여기서, 유효한 움직임 벡터는 상기 인접한 블록들이 현재 블록과 동일 슬라이스내에 속하는 블록이고, 먼저 부호화된 블록을 의미한다. 인접한 블록들은 좌측, 상측, 우상측 및 좌상측에 위치한 블록일 수 있다. 좌측 및 상측에 복수개의 인접블록이 존재하면 이들 중 어느 하나 또는 이들을 모두 포함할 수 있다. (이점에서 수직 성분에서의 유효한 움직임 벡터와 다름) 한편, 이전 프레임의 현재 블록과 동일 위치의 블록의 움직임 벡터도 유효한 움직임 벡터로 검색될 수 있다. 나아가 상기 동일 위치의 그 주변에 있는 블록의 움직임 벡터도 유효한 움직임 벡터가 될 수 있다.
2) 다음으로, 유효한 움직임 벡터를 규준화할 수 있다. 이 방법은 수직 성분의 예측값을 생성할때에 적용되는 것과 동일하다.
3) 다음으로, 유효한 현재 블록의 움직임 벡터의 수평 성분의 예측값을 상기 유효한 움직임벡터를 이용하여 결정한다. 먼저, 유효한 움직임벡터 수가 0이면 현재 블록의 움직임벡터의 수평성분의 예측값은 0으로 설정된다. 유효한 움직임벡터 수가 1이면 유효한 움직임벡터의 수평성분값이 현재 블록의 움직임벡터의 수평성분의 예측값이 된다. 유효한 움직임벡터 수가 2 이상이면 다음의 과정을 따른다.
(1) 유효한 움직임 벡터들 중, 현재 블록의 움직임 벡터의 수직성분과 가장 작은 차이값(절대값을 기준으로 함)을 갖는 수직성분을 찾는다. 차이값이 같은 수직성분이 2개 이상 존재할 경우에는 유효한 움직임 벡터의 수직성분의 값이 작은 수직성분을 선택한다.
(2) 상기 결정된 수직성분값과 동일한 값을 갖는 유효한 움직임 벡터의 수평성분의 수가 1개이면 현재 블록의 움직임 벡터의 수평성분의 예측값은 상기 수평성분으로 결정된다. 2개이면, 현재 블록의 움직임 벡터의 수평성분의 예측값은 상기 유효한 2개의 움직임 벡터의 수평성분의 평균(반올림)으로 결정된다. 그러나, 유효한 움직임 벡터의 수가 3개이면 상기 유효한 움직임 벡터들의 수평성분의 median 값을 예측값으로 결정한다.
4) 현재 블록의 움직임 벡터의 수평 성분에 대한 예측값이 정해지면, 부호기는 현재 블록의 움직임 벡터의 수평성분과 상기 예측값의 차이값을 부호화하고, 복호기는 상기 차이값과 예측값을 더하여 현재 블록의 움직임벡터의 수평 성분값이 복원한다.
MV decoding process
본 발명에 따른 움직임 벡터 복호화 과정을 설명한다.
움직임 벡터 복호화 과정은 참조 움직임 벡터(혹은 예측 움직임 벡터 후보) (motion vector predictor candidates)를 유도하는 과정, 예측 움직임 벡터를 결정하는 과정, 움직임 벡터를 복원하는 과정으로 구성된다. 또한, 움직임 벡터 예측시 motion vector competition이 수행되었는지 여부에 따라 복호화 과정이 달라지게 된다.
따라서, 비트스트림(특히 슬라이스 헤더)을 파싱하여 MV competition이 사용되었는지 여부를 먼저판단하고, MV competition이 사용되었을 경우에는 MV competition에 temporal MV가 사용되었는지를 판단한다. 이하 각각 설명한다.
MV competition이 사용될 경우의 참조 움직임 벡터 유도 과정.
1) 현재 블록에 인접하는 블록의 유효한 참조 움직임 벡터(valid motion vector predictor candidates)를 유도하는 과정
- 현재 블록에 인접하는 좌측 블록(A)의 움직임 벡터가 유효한지를 판단한다. 인접하는 좌측 블록의 수가 복수개일 경우에는 좌상측부터 좌하측 순으로 유효한 움직임 벡터가 얻어질 때가지 좌측 블록의 움직임 벡터를 검색(retrieve)한다. 현재 블록의 참조 픽쳐 인덱스와 좌측 블록의 참조 픽쳐 인덱스가 다른 경우, 좌측 블록의 예측 모드가 Intra mode인 경우, 좌측 블록이 예측 부호화 predFlagLX of puIdxA이 0인 경우(어떤 경우인지 애매하군..)에는 유효하지 않은 움직임 벡터로 볼 수 있다(소극적으로 표현하는 것이 낫겠군). 유효한 움직임 벡터가 검출되면 mvA로 설정한다.
- 현재 블록에 인접하는 상측 블록(B)의 움직임 벡터가 유효한지를 판단한다. 인접하는 상측 움직임 벡터가 복수개일 경우는 상좌측으로부터 상우측 순으로 유효한 움직임 벡터가 얻어질때가 지 상측 블록의 움직임 벡터를 검색한다. 유효한 움직임 벡터의 정의는 동일하다. 유효한 움직임 벡터가 검출되면 mvB로 설정한다.
- 현재 블록에 인접하는 우상측 블록(C)의 움직임 벡터가 유효한지를 판단한다. 유효함의 정의는 동일하다. 유효하면 mvC로 설정한다. 그러나, 유효하지 않으면 현재 블록에 인접하는 좌상측 블록(D)의 움직임 벡터가 유효한지를 판단한다. 유효하면 mvC로 설정한다. 그러나 유효하지 않으면, 현재 블록에 인접하는 좌하측 블록(E)의 움직임 벡터가 유효한지를 판단하고 유효하면 mvC로 설정한다.
2) luma median motion vector predictor(mvMed)를 유도하고, 유효한 움직임 벡터 list(or set, median, A, B, C 순으로)를 생성하는 과정
현재 블록에 인접하는 유효한 움직임 벡터들을 이용하여 mvMed를 구한다. 먼저, 현재 블록에 인접하는 유효한 움직임 벡터가 존재하지 않으면, mvMed의 수평, 수직 성분은 0이 된다. 유효한 움직임 벡터가 1개 존재하면 이를 mvMed로 설정한다. 유효한 움직임 벡터가 3개이면 수평 및 수직 성분의 median 값이 mvMed의 수평 및 수직 성분이 된다. 2개면
3) MV competition에 temporal MV가 사용된 경우(mv_competition_temporal_flag==1), 유효한 temporal luma motion vector predictor를 유도하고 상기 리스트의 마지막에 추가하는 과정
현재 블록과 동일위치에 존재하는 참조프레임의 블록의 움직임 벡터가 유효한지를 판단한다.유효하지 않은 경우에는 유효하지 않음을 나타내는 신호를 생성한다. 유효한 경우에는 유효하다는 신호를 생성하고, 현재 프레임과 참조 프레임(현재 블록이 참조)과의 시간적 거리와, 참조 프레임과 참조 프레임의 동일 위치의 블록의 유효한 참조 프레임과의 시간적 거리를 비교하여, 같으면 scaling하지 않고, 다르면 scaling한다. 그리고, 상기 temporal MV를 상기 움직임 벡터 리스트에 추가한다. 마지막 순서로 추가하는 것이 바람직하나 이에 한정되지 않는다.
4) 동일한 값의 움직임 벡터가 여러 개 존재할 경우, 순서상 뒤에 오는 움직임 벡터를 리스트에서 제거하는 과정
5) 리스트 상에 포함된 움직임 벡터의 수가 2 이상일 경우에는 제거하여 1개로 만드는 단계
움직임 벡터 resolution(mvRes)과 차분 움직임 벡터(mvD)를 이용하여 리스트 상의 움직임 벡터를 제거하여 수정된 움직임 벡터 리스트를 생성하는 과정이다. 움직임 벡터 리스트 상의 유효한 움직임 벡터(즉, 움직임 벡터 후보자) 각각에 다음의 과정을 적용한다.
- 먼저, 제 1 유효한 움직임 벡터와 차분 움직임 벡터를 이용하여 후보 움직임 벡터를 생성한다. 후보 움직임 벡터는 수평 및 수직 성분 각각에 대하여 생성한다. 이때, 현재 블록의 움직임 벡터와 유효한 움직임 벡터의 resolution이 동일하지 않을 경우에는 동일한 resolution을 갖도록 유효한 차분 움직임 벡터값을 수정하여 사용한다.
- 다음으로, 상기 과정에서 생성된 후보 움직임 벡터와 상기 제 1 유효한 움직임 벡터 이외의 유효한 움직임 벡터들의 수평 및 수직 성분에 대한 차분 움직임 벡터들을 생성한다. 움직임 벡터 resolution이 상이할 경우에는 동일한 resoultion을 갖도록 유효한 움직임 벡터를 보정하여 사용한다.
- 다음으로, 상기 생성된 차분 움직임 벡터를 표현하는데 소요되는 비트수가 비트 스트림에 포함된 차분 움직임 벡터(mvD)를 표현하는데 소요되는 비트수보다 작으면, 상기 제1 유효한 움직임 벡터를 움직임 벡터 리스트 상에서 제거한다.
-
6) 상기 움직임 벡터 리스트 상에 존재하는 유효한 움직임 벡터가 1개이면 이를 움직임 벡터 예측자로 선택하는 단계.
도 5는 본 발명에 따른 동영상 부호화 장치를 나타내는 블록도이다.
도 5을 참조하면, 본 발명에 따른 동영상 부호화 장치(100)는 픽쳐 분할부(110), 변환부(120), 양자화부(130), 스캐닝부(131), 엔트로피 부호화부(140), 인트라 예측부(150), 인터 예측부(160), 역양자화부(135), 역변환부(125), 후처리부(170), 픽쳐 저장부(180), 감산부(190) 및 가산부(195)를 포함한다.
픽쳐 분할부(110)는 입력되는 비디오 신호를 분석하여 픽쳐를 가장 큰 코딩 유닛마다 소정 크기의 코딩 유닛으로 분할하여 예측 모드를 결정하고, 상기 코딩 유닛별로 예측 유닛의 크기를 결정한다. 그리고, 픽쳐 분할부(110)는 부호화할 예측 유닛을 예측 모드에 따라 인트라 예측부(150) 또는 인터 예측부(160)로 보낸다. 또한, 픽쳐 분할부(110)는 부호화할 예측 유닛을 감산부(190)로 보낸다.
변환부(120)는 입력된 예측 유닛의 원본 블록과 인트라 예측부(150) 또는 인터 예측부(160)에서 생성된 예측 블록의 잔차신호인 잔차 블록을 변환한다. 상기 잔차 블록은 코딩 유닛으로 구성하는 것이 바람직하다. 코딩 유닛으로 구성된 잔차 블록은 최적의 변환 유닛으로 분할되어 변환된다. 예측 모드(intra or inter) 및 인트라 예측 모드에 따라 적응적으로 변환 매트릭스가 결정될 수 있다. 변환 유닛은 2개(수평, 수직)의 1차원 변환 매트릭스에 의해 변환될 수 있다. 예를 들어, 인터 예측의 경우에는 미리 결정된 1개의 변환 매트릭스가 결정된다. 반면에, 인트라 예측의 경우, 인트라 예측 모드가 수평인 경우에는 잔차 블록이 수직방향으로의 방향성을 가질 확률이 높아지므로, 수직방향으로는 DCT 기반의 정수 매트릭스를 적용하고, 수평방향으로는 DST 기반 또는 KLT 기반의 정수 매트릭스를 적용한다. 인트라 예측 모드가 수직인 경우에는 수직방향으로는 DST 기반 또는 KLT 기반의 정수 매트릭스를, 수평 방향으로는 DCT 기반의 정수 매트릭스를 적용한다. DC 모드의 경우에는 양방향 모두 DCT 기반 정수 매트릭스를 적용한다. 또한, 인트라 예측의 경우, 변환 유닛의 크기에 의존하여 변환 매트릭스가 적응적으로 결정될 수도 있다.
양자화부(130)는 상기 변환 매트릭스에 의해 변환된 잔차 블록의 계수들을 양자화하기 위한 양자화 스텝 사이즈를 코딩 유닛별로 결정한다. 그리고, 결정된 양자화 스텝 사이즈 및 예측 모드에 따라 결정되는 양자화 매트릭스를 이용하여 상기 변환 블록의 계수들을 양자화한다. 양자화부(130)는 현재 코딩 유닛의 양자화 스텝 사이즈 예측자로서 현재 코딩 유닛에 인접한 코딩 유닛의 양자화 스텝 사이즈를 이용한다. 양자화부(130)는 현재 코딩 유닛의 좌측 코딩 유닛, 상측 코딩 유닛, 좌상측 코딩 유닛 순서로 검색하여 유효한 코딩 유닛의 양자화 스텝 사이즈를 현재 코딩 유닛의 양자화 스텝 사이즈 예측자로 결정하고, 차분값을 엔트로피 부호화부(140)로 전송한다.
한편, 슬라이스가 코딩 유닛으로 분리될 경우에는 현재 코딩 유닛의 좌측 코딩 유닛, 상측 코딩 유닛, 좌상측 코딩 유닛 모두가 존재하지 않을 가능성이 있다. 반면에 최대 코딩 유닛 내의 부호화 순서 상으로 이전에 존재하는 코딩 유닛이 존재할 수 있다. 따라서, 현재 코딩 유닛에 인접한 코딩 유닛들과 상기 최대 코딩 유닛 내에서는 부호화 순서상 바로 이전의 코딩 유닛이 후보자가 될 수 있다. 이 경우, 1) 현재 코딩 유닛의 좌측 코딩 유닛, 2) 현재 코딩 유닛의 상측 코딩 유닛, 3) 현재 코딩 유닛의 좌상측 코딩 유닛, 4) 부호화 순서상 바로 이전의 코딩 유닛 순서로 우선순위를 둘 수 있다. 상기 순서는 바뀔 수 있고, 상기 좌상측 코딩 유닛은 생략될 수도 있다.
상기 양자화된 변환 블록은 역양자화부(135)와 스캐닝부(131)로 제공된다.
스캐닝부(131)는 양자화된 변환 블록의 계수들을 스캐닝하여 1차원의 양자화 계수들로 변환한다. 계수 스캐닝 방식은 예측 모드 및 인트라 예측 모드에 따라 결정된다. 또한, 계수 스캐닝 방식은 변환 유닛의 크기에 따라 달리 결정될 수도 있다.
스캐닝부(131)는 현재 변환 유닛이 크기에 따라 양자화된 계수 블록을 복수개의 서브셋으로 분할할지 여부를 결정한다. 변환 유닛의 크기가 제1 기준 크기보다 큰 경우 상기 양자화된 계수 블록을 복수개의 서브셋으로 분할한다. 상기 제1 기준 크기는 4x4 또는 8x8인 것이 바람직하다.
스캐닝부(131)는 양자화된 계수 블록에 적용될 스캔 패턴을 결정한다. 인터 예측 모드의 경우에는 미리 정해진 하나의 스캔 패턴(예를 들어, 지그재그 스캔)만을 적용할 수 있다. 인트라 예측의 경우에는 인트라 예측 모드에 따라 미리 정해진 스캔패턴을 적용할 수 있다. 상기 스캔 패턴은 방향성 인트라 예측 모드에 따라 달라질 수 있다. 비방향성 모드들에 대해서는 지그재그 스캔을 적용한다. 비방향성 모드는 DC 모드 또는 planar 모드일 수 있다. 양자화 계수들의 스캔순서는 역방향으로 스캔한다. 상기 양자화된 계수들이 복수개의 서브셋으로 분할된 경우에는 각각의 서브셋 내의 양자화 계수들에 동일한 스캔패턴을 적용한다. 상기 복수개의 서브셋은 하나의 메인 서브셋과 적어도 하나 이상의 잔여 서브셋으로 구성된다. 메인 서브셋은 DC 계수를 포함하는 좌상측에 위치하고, 상기 잔여 서브셋은 메인 서브셋 이외의 영역을 커버한다.
서브셋 간의 스캔패턴은 지그재그 스캔을 적용한다. 스캔 패턴은 메인 서브셋으로부터 순방향으로 잔여 서브셋들로 스캔하는 것이 바람직하나, 그 역방향도 가능하다. 또한, 서브셋 내의 양자화된 계수들의 스캔패턴과 동일하게 서브셋 간의 스캔패턴을 설정할수도 있다. 이 경우, 서브셋 간의 스캔패턴이 인트라 예측 모드에 따라 결정된다. 한편, 부호기는 상기 변환 유닛내의 0이 아닌 마지막 양자화 계수의 위치를 나타낼 수 있는 정보를 복호기로 전송한다. 각 서브셋 내의 0이 아닌 마지막 양자화 계수의 위치를 나타낼 수 있는 정보도 복호기로 전송한다. 상기 정보는 각각의 서브셋 내의 0이 아닌 마지막 양자화 계수의 위치를 나타내는 정보일 수 있다.
역양자화(135)는 상기 양자화된 양자화 계수를 역양자화한다. 역변환부(125)는 역양자화된 변환 계수를 공간 영역의 잔차 블록으로 복원한다. 가산기는 상기 역변환부에 의해 복원된 잔차블록과 인트라 예측부(150) 또는 인터 예측부(160)로부터의 예측 블록을 합쳐서 복원 블록을 생성한다.
후처리부(160)는 복원된 픽쳐에 발생하는 블록킹 효과의 제거하기 위한 디블록킹 필터링 과정, 픽셀 단위로 원본 영상과의 차이값을 보완하기 위한 적응적 오프셋 적용 과정 및 코딩 유닛으로 원본 영상과의 차이값을 보완하기 위한 적응적 루프 필터 과정을 수행한다.
디블록킹 필터링 과정은 미리 정해진 크기 이상의 크기를 갖는 예측 유닛 및 변환 유닛의 경계에 적용하는 것이 바람직하다. 상기 크기는 8x8일 수 있다. 상기 디블록킹 필터링 과정은 필터링할 경계(boundary)를 결정하는 단계, 상기 경계에 적용할 경계 필터링 강도(bounary filtering strength)를 결정하는 단계, 디블록킹 필터의 적용 여부를 결정하는 단계, 상기 디블록킹 필터를 적용할 것으로 결정된 경우, 상기 경계에 적용할 필터를 선택하는 단계를 포함한다.
상기 디블록킹 필터의 적용 여부는 i) 상기 경계 필터링 강도가 0보다 큰지 여부 및 ii) 상기 필터링할 경계에 인접한 2개의 블록(P 블록, Q블록) 경계 부분에서의 픽셀값들이 변화 정도를 나타내는 값이 양자화 파라미터에 의해 결정되는 제1 기준값보다 작은지 여부에 의해 결정된다.
상기 필터는 적어도 2개 이상인 것이 바람직하다. 블록 경계에 위치한 2개의 픽셀들간의 차이값의 절대값이 제2 기준값보다 크거나 같은 경우에는 상대적으로 약한 필터링을 수행하는 필터를 선택한다. 상기 제2 기준값은 상기 양자화 파라미터 및 상기 경계 필터링 강도에 의해 결정된다.
적응적 루프 필터 과정은 디블록킹 필터링 과정 또는 적응적 오프셋 적용 과정을 거친 복원된 영상과 원본 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 적응적 루프 필터는 4x4 크기의 블록을 기반으로 하나의 라플라시안 활동값(Laplacian Activity value)을 통해 검출된다. 상기 결정된 ALF는 4x4 크기 또는 8x8 크기의 블록에 포함된 화소 전체에 적용될 수 있다. 적응적 루프 필터의 적용 여부는 코딩 유닛별로 결정될 수 있다. 각 코딩 유닛에 따라 적용될 루프 필터의 크기 및 계수는 달라질 수 있다. 코딩 유닛별로 상기 적응적 루프 필터의 적용 여부를 나타내는 정보, 필터 계수 정보, 필터 형태 정보 등은 각 슬라이스 헤더에 포함되어 복호기로 전송될 수 있다. 색차 신호의 경우에는, 픽쳐 단위로 적응적 루프 필터의 적용 여부를 결정할 수 있다. 루프 필터의 형태도 휘도와 달리 직사각형 형태를 가질 수 있다.
픽쳐 저장부(180)는 후처리된 영상 데이터를 후처리부(160)로부터 입력 받아 픽쳐(picture) 단위로 영상을 복원하여 저장한다. 픽쳐는 프레임 단위의 영상이거나 필드 단위의 영상일 수 있다. 픽쳐 저장부(180)는 다수의 픽쳐를 저장할 수 있는 버퍼(도시되지 않음)를 구비한다.
인터 예측부(150)는 상기 픽쳐 저장부(180)에 저장된 적어도 하나 이상의 참조 픽쳐를 이용하여 움직임 추정을 수행하고, 참조 픽쳐를 나타내는 참조 픽쳐 인덱스 및 움직임 벡터를 결정한다. 그리고, 결정된 참조 픽쳐 인덱스 및 움직임 벡터에 따라, 픽쳐 저장부(150)에 저장된 다수의 참조 픽쳐들 중 움직임 추정에 이용된 참조 픽쳐로부터, 부호화하고자 하는 예측 유닛에 대응하는 예측 블록을 추출하여 출력한다.
인트라 예측부(140)는 현재 예측 유닛이 포함되는 픽처 내부의 재구성된 화소값을 이용하여 인트라 예측 부호화를 수행한다. 인트라 예측부(140)는 예측 부호화할 현재 예측 유닛을 입력 받아 현재 블록의 크기에 따라 미리 설정된 개수의 인트라 예측 모드 중에 하나를 선택하여 인트라 예측을 수행한다. 인트라 예측부는 인트라 예측 블록을 생성하기 위해 참조 픽셀을 적응적으로 필터링한다. 참조 픽셀이 유효하지 않은 경우에는 유효한 참조 픽셀들을 이용하여 상기 유효하지 않은 위치의 참조 픽셀들을 생성할 수 있다.
엔트로피 부호화부(130)는 양자화부(130)에 의해 양자화된 양자화 계수, 인트라 예측부(140)로부터 수신된 인트라 예측 정보, 인터 예측부(150)로부터 수신된 움직임 정보 등를 엔트로피 부호화한다.
도 6은 본 발명의 실시예에 따른 동영상 복호화 장치를 나타내는 블록도이다.
도 6를 참조하면, 본 발명에 따른 동영상 복호화 장치는, 엔트로피 복호부(210), 역양자화/역변환부(220), 가산기(270), 디블록킹 필터부(250), 픽쳐 저장부(260), 인트라 예측부(230), 움직임 보상 예측부(240) 및 인트라/인터전환 스위치(280)를 구비한다.
엔트로피 복호부(210)는, 동영상 부호화 장치로부터 전송되는 부호화 비트 스트림을 복호하여, 인트라 예측 모드 인덱스, 움직임 정보, 양자화 계수 시퀀스 등으로 분리한다. 엔트로피 복호부(210)는 복호된 움직임 정보를 움직임 보상 예측부(240)에 공급한다. 엔트로피 복호부(210)는 상기 인트라 예측 모드 인덱스를 상기 인트라 예측부(230), 역양자화/역변환부(220)로 공급한다. 또한, 상기 엔트로피 복호화(210)는 상기 역양자화 계수 시퀀스를 역양자화/역변환부(220)로 공급한다.
역양자화/역변환부(220)는 상기 양자화 계수 시퀀스를2차원 배열의 역양자화 계수로 변환한다. 상기 변환을 위해 복수개의 스캐닝 패턴 중에 하나를 선택한다. 현재 블록의 예측모드(즉, 인트라 예측 및 인터 예측 중의 어느 하나)와 인트라 예측 모드 중 적어도 하나에 기초하여 복수개의 스캐닝 패턴 중 하나를 선택한다. 상기 인트라 예측 모드는 인트라 예측부 또는 엔트로피 복호화부로부터 수신한다.
역양자화/역변환부(220)는 상기 2차원 배열의 역양자화 계수에 복수개의 양자화 매트릭스 중 선택된 양자화 매트릭스를 이용하여 양자화 계수를 복원한다. 복원하고자 하는 현재 블록의 크기에 따라 서로 다른 양자화 매트릭스가 적용되며, 동일 크기의 블록에 대해서도 상기 현재 블록의 예측 모드 및 인트라 예측 모드 중 적어도 하나에 기초하여 양자화 매트릭스를 선택한다. 그리고, 상기 복원된 양자화 계수를 역변환하여 잔차 블록을 복원한다.
가산기(270)는 역양자화/역변환부(220)에 의해 복원된 잔차 블록과 인트라 예측부(230) 또는 움직임 보상 예측부(240)에 의해 생성되는 예측 블록을 가산함으로써, 영상 블록을 복원한다.
디블록킹 필터(250)는 가산기(270)에 의해 생성된 복원 영상에 디블록킹 필터 처리를 실행한다. 이에 따라, 양자화 과정에 따른 영상 손실에 기인하는 디블록킹 아티펙트를 줄일 수 있다.
픽쳐 저장부(260)는 디블록킹 필터(250)에 의해 디블록킹 필터 처리가 실행된 로컬 복호 영상을 유지하는 프레임 메모리이다.
인트라 예측부(230)는 엔트로피 복호화부(210)로부터 수신된 인트라 예측 모드 인덱스에 기초하여 현재 블록의 인트라 예측 모드를 복원한다. 그리고, 복원된 인트라 예측 모드에 따라 예측 블록을 생성한다.
움직임 보상 예측부(240)는 움직임 벡터 정보에 기초하여 픽쳐 저장부(240)에 저장된 픽쳐로부터 현재 블록에 대한 예측 블록을 생성한다. 소수 정밀도의 움직임 보상이 적용될 경우에는 선택된 보간 필터를 적용하여 예측 블록을 생성한다.
인트라/인터 전환 스위치(280)는 부호화 모드에 기초하여 인트라 예측부(250)와 움직임 보상 예측부(260)의 어느 하나에서 생성된 예측 블록을 가산기(235)에 제공한다.
인터 예측 복호화 과정은 현재 예측 유닛의 예측 블록을 생성하는 과정, 현재 예측 유닛의 잔차 블록을 생성하는 과정 및 예측블록과 잔차 블록을 이용하여 재구성 블록(Reconstruction block)을 생성을 포함한다.
먼저, 현재 예측 유닛의 예측 블록을 생성하는 과정 에 대해서 설명한다. 현재 예측 유닛의 예측 블록을 생성하는 과정은 다음과 같다.
1) 각 예측 유닛(PU)의 움직임 정보를 구하는 단계, 여기서 움직임 정보는 움직임 벡터 및 참조 픽쳐 인덱스를 포함한다.
2) 각 예측 유닛의 예측 블록을 구하는 단계
3) 예측 블록을 생성하는 단계
예측 블록을 생성하는 단계는 부호화 유닛(CU) 단위로 구성하는 것이 바람직하다.
- Skip Mode -
수신된 부호화 유닛 내의 skip_flag가 1일 경우의 예측 블록의 생성 단계에 대해서 설명한다.
1) 인접 예측 유닛으로부터 공간 스킵 후보자를 유도(derivation)한다.
공간 스킵 후보자는 도 7에 도시된 바와 같이, 현재 예측 유닛의 좌측 예측 유닛(블록A), 현재 예측 유닛의 상측 예측 유닛(블록 B), 현재 예측 유닛의 우상측 예측 유닛(블록 C) 및 현재 예측 유닛의 좌하측 예측 유닛(블록D)이 될 수 있다. 또한, 공간 스킵 후보자는 좌측 예측 유닛(블록 A), 상측 예측 유닛(블록 B) 및 코너 예측 유닛(C or D or E)의 3가지 일 수도 있다. 여기서 코너 예측 유닛은 미리 정해진 순서(C → D → E or D → C → E)로 스캔하여 유효한 첫번째 예측 유닛일 수 있다.
먼저, 상기 각 인접 예측 유닛들의 유효성 검사(Availability check)를 진행한다. 예측 유닛이 존재하지 않거나, 예측 유닛의 예측모드가 인트라 모드인 경우에는 유효하지 않은 예측 유닛으로 처리한다. 한편, 현재 블록의 좌측에 복수개의 예측 유닛이 존재하는 경우에는 좌측의 상단 예측 유닛부터 아래쪽 예측 유닛 순서로 유효성 검사를 진행하여 유효한 첫번째 예측 유닛을 좌측 후보자로 설정할 수 있다. 또한, 좌측의 가장 큰 유효한 예측 유닛이 좌측 후보자로 설정될 수도 있다. 마찬가지로 상측에 복수개의 예측 유닛이 존재할 경우에는 상측 예측 유닛들의 좌측 예측 유닛으로부터 우측 예측 유닛의 순서로 유효성 검사를 진행하여 유효한 첫번째 예측 유닛을 상측 후보자로 설정할 수도 있고, 상측의 가장 큰 예측 유닛을 상측 후보자로 설정할 수도 있다.
한편, 현재 예측 유닛의 좌상측 예측 유닛(블록 E)도 공간 스킵 후보자가 될 수 있으나, 이는 특별한 경우로 한정하는 것이 바람직하다. 예를 들어, 블록 A, B, C, D 중 일부(예를 들어, 2개)가 유효하지 않은 경우에 블록 E가 공간 스킵 후보자로 편입될 수 있다.
2) 시간 스킵 후보자를 유도한다.
시간 스킵 후보자를 위한 참조 픽쳐 인덱스를 구한다. 시간 스킵 후보자를 위한 참조 픽쳐 인덱스는 항상 0으로 설정될 수 있다. 그러나, 시간 스킵 후보자를 위한 참조 픽쳐 인덱스는 현재 예측 유닛에 공간적으로 인접한 예측 유닛들의 참조 픽쳐 인덱스들로부터 구할 수도 있다.
도 8은 시간 스킵 후보자를 위한 참조 픽쳐 인덱스를 구하기 위해 사용되는 현재 예측 유닛에 인접한 예측 유닛들의 위치를 나타낸다.
시간 스킵 후보자를 위한 참조 인덱스들을 구하기 위해 현재 예측 유닛의 좌측 예측 유닛(A), 상측 예측 유닛(B), 우상측 예측 유닛(C), 좌하측 예측 유닛(D) 및 좌상측 예측 유닛(E)들의 참조 픽쳐 인덱스가 사용될 수 있다. 상측 예측 유닛이 복수개 존재하는 경우에는 좌측에서 우측으로 스캔하여 처음 유효한 예측 유닛의 참조 픽쳐 인덱스를 상측 예측 유닛의 참조 픽쳐 인덱스로 결정할 수 있다. 마찬가지로, 좌측 예측 유닛이 복수개 존재하는 경우에는 상측에서 하측으로 스캔하여 처음 유효한 예측 유닛의 참조 픽쳐 인덱스를 좌측 예측 유닛의 참조 픽쳐 인덱스로 결정할 수 있다. 그리고, 우상측 예측 유닛(C), 좌하측 예측 유닛(D), 좌상측 예측 유닛(E) 블록순으로 스캔하여 유효한 첫번째 예측 유닛의 참조 픽쳐 인덱스를 코너 예측 유닛의 참조 픽쳐 인덱스로 결정할 수 있다.
현재 예측 유닛의 좌측 예측 유닛의 참조 픽쳐 인덱스(이하, 좌측 참조 픽쳐 인덱스), 현재 예측 유닛의 상측 예측 유닛의 참조 픽쳐 인덱스(이하, 상측 참조 픽쳐 인덱스) 및 현재 예측 유닛의 코너 예측 유닛의 참조 픽쳐 인덱스(이하, 코너 참조 픽쳐 인덱스)가 구해지면, 이들로부터 시간 스킵 후보자를 위한 참조 픽쳐 인덱스를 구한다. 여기에서는 코너의 예측 유닛들(C, D, E) 중 하나만을 후보자로 설정하였지만, 이에 한정되는 것은 아니며, 예측 유닛 C, D가 후보자로 설정되는 경우(후보자 4개), 예측 유닛 C, D, E가 모두 후보자로 설정되는 경우(후보자 5개)도 가능하다. 이하에서는 상측, 좌측 및 코너의 3가지 참조 픽쳐 인덱스를 이용하는 과정에 대해서만 예시적으로 설명한다.
유효한 후보자들 중 가장 많은 빈도를 갖는 참조 픽쳐 인덱스를 시간 스킵 후보자를 위한 참조 픽쳐 인덱스로 설정한다(Reference indices for skip_mode follow the majority of reference indices of candidate A, B and C). 유효한 후보자들 중 가장 많은 빈도를 갖는 참조 픽쳐 인덱스가 복수개 존재할 경우에는 상기 복수개의 참조 픽쳐 인덱스 중 최소값을 갖는 참조 픽쳐 인덱스를 시간 스킵 후보자를 위한 참조 픽쳐 인덱스로 설정한다.
다음으로, 상기 시간 스킵 후보자의 움직임 벡터를 구하는 과정을 설명한다.
먼저, 상기 시간 스킵 후보자 블록이 속하는 픽쳐(이하, 시간 스킵 후보자 픽쳐)를 결정한다. 시간 스킵 후보자 픽쳐는 참조 픽쳐 인덱스가 0인 픽쳐로 설정될 수 있다. 이 경우, 슬라이스 타입이 P인 경우에는 리스트 0(list0)의 첫번째 픽쳐가 시간 스킵 후보자 픽쳐로 설정된다. 슬라이스 타입이 B인 경우에는 슬라이스 헤더내의 시간 스킵 후보자 리스트를 나타내는 플래그(a flag indicating whether the temporal skip candidate picture is included in list0 or list1)가 나타내는 리스트의 첫번째 픽쳐가 시간 스킵 후보자 픽쳐로 설정된다. 예를 들어, 상기 플래그가 1을 나타내면 list0로부터, 0을 나타내면 list1으로부터 시간 스킵 후보자 픽쳐를 설정할 수 있다.
한편, 상기 시간 스킵 후보자를 위한 참조 픽쳐 인덱스가 나타내는 참조 픽쳐를 시간 스킵 후보자 블록이 속하는 픽쳐로 설정할 수도 있다. 이 경우에도 슬라이스 타입이 P인 경우에는 리스트 0(list0)의 상기 시간 스킵 후보자의 참조 픽쳐 인덱스가 나타내는 참조 픽쳐가 시간 스킵 후보자 픽쳐로 설정된다. 그리고, 슬라이스 타입이 B인 경우에는 슬라이스 헤더내의 시간 스킵 후보자 리스트를 나타내는 플래그(a flag indicating whether the temporal skip candidate picture is included in list0 or list1)가 나타내는 리스트의 상기 시간 스킵 후보자의 참조 픽쳐 인덱스가 나타내는 참조 픽쳐가 시간 스킵 후보자 픽쳐로 설정된다.
다음으로, 상기 시간 스킵 후보자 픽쳐 내의 시간 스킵 후보자 블록을 구한다. 상기 시간 스킵 후보자 블록으로서, 상기 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 복수개의 대응 블록 중 어느 하나가 선택될 수 있다. 이 경우, 복수개의 대응 블록들에 우선순위를 부여하고, 상기 우선순위에 기초하여 유효한 첫번째 대응 블록이 시간 스킵 후보자 블록으로 선택될 수 있다.
도 9는 상기 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 대응 블록들을 나타낸다.
시간 스킵 후보자의 위치는 공간 스킵 후보자의 위치와 서로 다른 것이 바람직하다.
따라서, 상기 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 블록에 인접하는 좌하측 코너 블록(BR_C) 또는 상기 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 블록내의 좌하측 블록(BR)을 제1 후보자 블록으로 설정하고, 상기 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 블록의 중앙 위치의 좌상측 픽셀을 포함하는 블록(C1) 또는 우하측 픽셀을 포함하는 블록(C2)을 제 2 후보자 블록으로 설정될 수 있다.
상기 제1 후보자 블록이 유효하면 상기 제1 후보자 블록을 시간 스킵 후보자 블록으로 설정하고, 상기 제1 후보자 블록이 유효하지 않고 상기 제2 후보자 블록이 유효하면, 상기 제2 후보자 블록을 시간 스킵 후보자 블록으로 설정한다.
한편, 상기 좌하측 코너 블록(BR_C), 상기 좌하측 블록(BR), 상기 우하측 픽셀을 포함하는 블록(C2), 상기 좌상측 픽셀을 포함하는 블록(C1) 중 적어도 2개 이상이 시간 스킵 후보자 블록으로 설정될 수 있다. 이 경우, 우선순위는 상기 정렬된 순서에 기초하는 것이 바람직하다.
또한, 유효한 시간 스킵 후보자 블록이 복수개 존재할 경우, 가장 큰 면적을 갖는 대응블록 또는 이들의 중앙값(median)을 시간 스킵 후보자 움직임 벡터로 설정할 수도 있다.
상기 시간 후보자 예측 블록이 결정되면, 상기 시간 후보자 예측 블록의 움직임 벡터를 시간 스킵 후보자 움직임 벡터로 설정한다.
3) 유효한 스킵 후보자 리스트를 구축한다.
유효한 스킵 후보자들만을 이용하여 리스트를 구축한다. 리스트는 미리 정해진 순서로 구축하는 것이 바람직하다. 미리 정해진 순서는 공간 좌측 스킵 후보자(블록 A), 공간 상측 스킵 후보자(블록 B), 시간 스킵 후보자, 공간 우상측 스킵 후보자(블록 C), 공간 좌하측 시킵 후보자(블록 D) 순으로 설정될 수 있다. 또한, 시간 스킵 후보자, 공간 좌측 스킵 후보자(블록 A), 공간 상측 스킵 후보자(블록 B), 공간 우상측 스킵 후보자(블록 C), 공간 좌하측 스킵 후보자(블록 D) 순으로 설정될 수도 있다.
스킵모드가 적용되는 경우는 부호화 유닛과 예측 유닛의 크기가 동일한 것이 바람직하다.
다음으로, 스킵 후보자 리스트가 구축되면, 복수개의 스킵 후보자가 동일 움직임 벡터와 동일 참조 픽쳐 인덱스를 가지게 되면, 스킵 후보자 리스트 상에서 후순위를 갖는 스킵 후보자를 리스트 상에서 삭제할 수 있다.
다음으로, 현재 예측 유닛의 움직임 벡터 및 참조 픽쳐 인덱스를 구한다.
수신된 부호화 유닛 내의 skip_flag가 1이고, 수신된 예측 유닛 내에 스킵 인덱스가 존재하는 경우에는 스킵 후보자 리스트 상의 대응하는 인덱스의 스킵 후보자 예측 유닛의 움직임 벡터와 참조 픽쳐 인덱스를 현재 예측 유닛의 움직임 벡터 및 참조 픽쳐 인덱스로 결정한다.
그러나, skip_flag가 1이지만, 수신된 예측 유닛 내에 스킵 인덱스가 존재하지 않는 경우에는, 스킵 후보자가 1개 존재하면 상기 스킵 후보자의 움직임 벡터와 참조 픽쳐 인덱스를 현재 예측 유닛의 움직임 벡터 및 참조 픽쳐 인덱스로 결정한다. 그리고, 스킵 후보자가 존재하지 않으면, 현재 예측 유닛의 움직임 벡터를 0, 참조 픽쳐 인덱스를 0으로 결정한다.
한편, 스킵 후보자가 시간 스킵 후보자일 경우에는 시간 스킵 후보자의 움직임 벡터를 현재 예측 유닛의 움직임 벡터로 설정한다. 그리고, 0 또는 상기한 시간 스킵 후보자를 위한 참조 픽쳐 인덱스를 현재 예측 유닛의 참조 픽쳐 인덱스로 결정할 수 있다.
한편, Skip_flag가 1일 경우에는 스킵 후보자 리스트를 설정하기 전에, 예측 유닛 내의 스킵 인덱스를 먼저 읽어 들일 수 있다. 이 경우에는 스킵 인덱스가 나타내는 수만큼만 미리 정해진 순서로 유효한 스킵 후보자를 검출한 후, 스킵 인덱스에 대응하는 스킵 후보자의 움직임 벡터와 참조 픽쳐 인덱스를 현재 예측 유닛의 움직임 벡터와 참조 픽쳐 인덱스로 설정할 수 있다. 스킵 인덱스는 고정길이로 부호화된 정보일 수 있으나, 가변길이인 것이 바람직하다. 즉, 유효한 스킵 후보자 수가 가변하기 때문에 작은 스킵 인덱스에 작은 비트수의 코드워드를 할당하여 부호화된 정보인 것이 바람직하다.
현재 예측 유닛의 움직임 벡터와 참조 픽쳐 인덱스가 구해지면, 참조 픽쳐 인덱스가 나타내는 픽쳐 내에서 움직임 벡터를 이용하여 예측 블록을 생성한다.
그리고, 상기 생성된 예측 블록이 현재 예측 유닛의 복원 블록으로 출력한다.
- Merge Mode -
한편, 부호화 유닛 내의 skip_flag가 0이고, 수신된 예측 유닛 내의 merge_flag가 1일 경우의 예측 블록의 생성 단계는 상기한 스킵 모드에서와 거의 동일하다.
인접 예측 유닛으로부터 공간 머지 후보자를 유도한다. 공간 머지 후보자를 유도하는 과정은 공간 스킵 후보자를 구하는 과정과 동일하다. 또한, 시간 머지 후보자를 유도하는 과정도 시간 스킵 후보자를 구하는 과정과 동일하다.
다음으로, 머지 후보자 리스트를 구축한다. 머지 후보자 리스트는 유효한 머지 후보자들만을 이용한다. 리스트는 미리 정해진 순서로 구축하는 것이 바람직하다. 미리 정해진 순서는 공간 좌측 머지 후보자(블록 A), 공간 상측 머지 후보자(블록 B), 시간 머지 후보자, 공간 우상측 머지 후보자(블록 C), 공간 좌하측 머지 후보자(블록 D) 순으로 설정될 수 있다. 또한, 시간 머지 후보자, 공간 좌측 머지 후보자(블록 A), 공간 상측 머지 후보자(블록 B), 공간 우상측 머지 후보자(블록 C), 공간 좌하측 머지 후보자(블록 D) 순으로 설정될 수도 있다.
다만, 상기 순서가 예측 유닛의 예측 모드에 따라 달리 설정될 수도 있고, 일부 머지 후보자를 후보자에서 배제시킬 수도 있다. 즉, 예측 유닛이 2NxN일 경우에는 상기 순서로 설정할 수 있으나, 공간 좌하측 머지 후보자(블록 D)를 후보자에서 삭제할 수 있다. 또한, 예측 유닛이 Nx2N일 경우에는 공간 우상측 머지 후보자(블록 C)보다 공간 좌하측 머지 후보자(블록 D)가 현재 예측 유닛과의 연관성(correlation)이 높기 때문에, 상기 2개 후보자의 순서를 변경하거나 공간 우상측 머지 후보자(블록 C)를 공간 머지 후보자에서 제외시킬 수도 있다. 또한, 부호화 유닛이 2개의 2NxN의 예측 유닛으로 분할될 경우에는 상측 예측 유닛의 움직임 정보는 무조건 머지 모드를 이용하여 부호화할 수 있다. 마찬가지로, 부호화 유닛이 2개의 Nx2N의 예측 유닛으로 분할될 경우에는 좌측 예측 유닛의 움직임 정보는 무조건 머지 모드를 이용하여 부호화될 수 있다.
- AMVP -
한편, 부호화 유닛 내의 skip_flag가 0이고, 수신된 예측 유닛 내의 merge_flag가 0인 경우의 예측 블록의 생성 단계는 다음과 같다.
먼저, 수신된 예측 유닛으로부터 현재 예측 유닛의 참조 픽쳐 인덱스와 차분 움직임 벡터를 구한다. 슬라이스 타입이 B경우에는 inter_pred_flag (~를 나타내는 정보) 값을 확인한다. inter_pred_flag가 Pred_LC를 나타내면, list_c의 참조 픽쳐수가 2 이상이면 참조 픽쳐 인덱스(ref_idx_lc)를 확인하고, 차분 움직임 벡터(Mvd_lc)를 복원한다. inter_pred_flag가 Pred_L0를 나타내면, list0의 참조 픽쳐 수가 2 이상이면 참조 픽쳐 인덱스(ref_idx_l0)를 확인하고, 차분 움직임 벡터(Mvd_l0)를 복원한다. inter_pred_flag가 Pred_BI를 나타내면, list0의 참조 픽쳐수가 2 이상이면 list0의 참조픽쳐 인덱스(ref_idx_l0)를 확인하고, 차분 움직임 벡터(Mvd_l0) 복원하고, List1의 참조 픽쳐수가 2 이상이면 list1의 참조 픽쳐 인덱스(ref_idx_l1)를 확인하고, 차분 움직임 벡터(Mvd_l1)를 복원한다.
다음으로, 움직임 벡터 예측자를 구한다. 움직임 벡터 예측자를 구하기 위해서 먼저 공간 움직임 벡터 후보자 및 시간 움직임 벡터 후보자를 구한다.
공간 움직임 벡터 후보자를 구하는 과정은 다음과 같다.
도 10은 공간 움직임 벡터 후보자를 구하기 위해 사용되는 현재 예측 유닛에 인접한 예측 유닛들의 위치를 나타낸다.
좌측 공간 움직임 벡터 후보자는 현재 예측 유닛의 좌측 예측 유닛들 중 하나(블록A0, A1중 하나)가 될 수 있다. 상측 공간 움직임 벡터 후보자는 현재 예측 유닛의 상측 예측 유닛들 중 하나(블록 B0 ,B1, B2 중 하나)가 될 수 있다.
먼저, 좌측 공간 움직임 벡터 후보자를 구하는 과정을 설명한다.
현재 예측 유닛의 좌측 예측 유닛들을 A0, A1 순으로 검색하여 제1 조건을 만족하는 예측 유닛이 존재하는지를 검색한다. 제1 조건을 만족하는 예측 유닛은 ① 예측 유닛이 존재하고, ② 예측 유닛이 인터 예측 유닛이고, ③ 현재 예측 유닛의 참조 픽쳐와 동일한 참조 픽쳐를 가지고, ④ 참조 픽쳐 리스트가 동일한 예측 유닛을 말한다. 상기 제1 조건을 만족하는 예측 유닛이 존재하면 상기 예측 유닛의 움직임 벡터를 좌측 공간 움직임 벡터 후보자로 설정한다.
제1 조건을 만족하는 예측 유닛이 존재하지 않으면, 제2 조건을 만족하는 예측 유닛이 존재하는지를 검색한다. 제2 조건을 만족하는 예측 유닛은 ① 예측 유닛이 존재하고, ② 예측 유닛이 인터 예측 유닛이고, ③ 현재 예측 유닛의 참조 픽쳐와 동일한 참조 픽쳐를 가지되, ④ 참조 픽쳐 리스트가 상이한 예측 유닛을 말한다. 상기 제2 조건을 만족하는 예측 유닛이 존재하면 상기 예측 유닛의 움직임 벡터를 좌측 공간 움직임 벡터 후보자로 설정한다.
제2 조건을 만족하는 예측 유닛도 존재하지 않으면, 제3 조건을 만족하는 예측 유닛이 존재하는지를 검색한다. 제3 조건을 만족하는 예측 유닛은 ① 예측 유닛이 존재하고, ② 예측 유닛이 인터 예측 유닛이고, ③ 참조 픽쳐 리스트가 동일하되, ④ 현재 예측 유닛의 참조 픽쳐와 다른 참조 픽쳐를 갖는 예측 유닛을 말한다. 상기 제3 조건을 만족하는 예측 유닛이 존재하면 상기 예측 유닛의 움직임 벡터를 좌측 공간 움직임 벡터 후보자로 설정한다.
제3 조건을 만족하는 예측 유닛도 존재하지 않으면, 제4 조건을 만족하는 예측 유닛이 존재하는지를 검색한다. 제4 조건을 만족하는 예측 유닛은 ① 예측 유닛이 존재하고, ② 예측 유닛이 인터 예측 유닛이되, ③ 참조 픽쳐 리스트가 다르고, ④ 현재 예측 유닛의 참조 픽쳐와 다른 참조 픽쳐를 갖는 예측 유닛을 말한다. 상기 제4 조건을 만족하는 예측 유닛이 존재하면 상기 예측 유닛의 움직임 벡터를 좌측 공간 움직임 벡터 후보자로 설정한다.
제1 조건 또는 제2 조건을 만족하는 예측 유닛의 움직임 벡터는 그대로 움직임 벡터 후보자로 사용되나, 제3 조건 또는 제4 조건을 만족하는 예측 유닛의 움직임 벡터는 스케일링되어 움직임 벡터 후보자로 사용된다.
상기 모든 조건을 만족시키는 움직임 벡터가 존재하지 않으면, 좌측 공간 움직임 벡터 후보자는 유효하지 않은 것으로 설정한다.
다음으로, 상측 공간 움직임 벡터 후보자를 구하는 과정을 설명한다.
현재 예측 유닛의 상측 예측 유닛들을 B0, B1, B2 순으로 검색하여 제1 조건을 만족하는 예측 유닛이 존재하는지를 검색한다. 상기 제1 조건을 만족하는 예측 유닛이 존재하면 상기 예측 유닛의 움직임 벡터를 상측 공간 움직임 벡터 후보자로 설정한다.
제1 조건을 만족하는 예측 유닛이 존재하지 않으면, 제2 조건을 만족하는 예측 유닛이 존재하는지를 검색한다. 상기 제2 조건을 만족하는 예측 유닛이 존재하면 상기 예측 유닛의 움직임 벡터를 상측 공간 움직임 벡터 후보자로 설정한다.
제2 조건을 만족하는 예측 유닛도 존재하지 않으면, 제3 조건을 만족하는 예측 유닛이 존재하는지를 검색한다. 상기 제3 조건을 만족하는 예측 유닛이 존재하면 상기 예측 유닛의 움직임 벡터를 상측 공간 움직임 벡터 후보자로 설정한다.
제3 조건을 만족하는 예측 유닛도 존재하지 않으면, 제4 조건을 만족하는 예측 유닛이 존재하는지를 검색한다. 상기 제4 조건을 만족하는 예측 유닛이 존재하면 상기 예측 유닛의 움직임 벡터를 상측 공간 움직임 벡터 후보자로 설정한다.
제1 조건 또는 제2 조건을 만족하는 예측 유닛의 움직임 벡터는 그대로 움직임 벡터 후보자로 사용되나, 제3 조건 또는 제4 조건을 만족하는 예측 유닛의 움직임 벡터는 스케일링되어 움직임 벡터 후보자로 사용된다.
상기 모든 조건을 만족시키는 움직임 벡터가 존재하지 않으면, 상측 공간 움직임 벡터 후보자는 유효하지 않은 것으로 설정한다.
좌측 공간 움직임 벡터 후보자를 구하는 과정에서의 제1~4조건과 상측 공간 움직임 벡터 후보자를 구하는 과정에서의 제1~4조건은 동일하다.
시간 움직임 벡터 후보자를 구하는 과정은 다음과 같다.
먼저, 상기 시간 움직임 벡터 후보자 블록이 속하는 픽쳐(이하, 시간 움직임 벡터 후보자 픽쳐)를 결정한다. 시간 움직임 벡터 후보자 픽쳐는 참조 픽쳐 인덱스가 0인 픽쳐로 설정될 수 있다. 이 경우, 슬라이스 타입이 P인 경우에는 리스트 0(list0)의 첫번째 픽쳐가 시간 움직임 벡터 후보자 픽쳐로 설정된다. 슬라이스 타입이 B인 경우에는 슬라이스 헤더내의 시간 움직임 벡터 후보자 리스트를 나타내는 플래그(a flag indicating whether the temporal skip candidate picture is included in list0 or list1)가 나타내는 리스트의 첫번째 픽쳐가 시간 움직임 벡터 후보자 픽쳐로 설정된다. 예를 들어, 상기 플래그가 1을 나타내면 list0로부터, 0을 나타내면 list1으로부터 시간 움직임 벡터 후보자 픽쳐를 설정할 수 있다.
그러나, 수신된 예측 유닛으로부터 구한 현재 예측 유닛의 참조 픽쳐 인덱스에 대응하는 픽쳐를 시간 움직임 벡터 후보자 픽쳐로 설정할 수도 있다.
다음으로, 상기 시간 움직임 벡터 후보자 픽쳐 내의 시간 움직임 벡터 후보자 블록을 구한다. 상기 시간 움직임 벡터 후보자 블록은 시간 스킵 움직임 벡터 후보자와 동일하다.
다음으로, 상기 시간 움직임 벡터 후보자 블록이 결정되면, 상기 시간 움직임 벡터 후보자 블록의 움직임 벡터를 시간 움직임 벡터 후보자로 설정한다.
다음으로, 움직임 벡터 후보자 리스트를 생성한다.
움직임 벡터 후보자 리스트는 유효한 움직임 벡터 후보자들만을 이용한다. 리스트는 미리 정해진 순서로 구축하는 것이 바람직하다. 미리 정해진 순서는 공간 좌측 움직임 벡터 후보자(블록 A), 공간 상측 움직임 벡터 후보자(블록 B), 시간 움직임 벡터 후보자 순으로 설정될 수 있다. 또한, 시간 움직임 벡터 후보자, 공간 상측 움직임 벡터 후보자(블록 B) 순, 공간 상측 움직임 벡터 후보자(블록 B) 순으로 설정될 수도 있다.
다만, 예측 유닛의 예측 모드에 따라 공간 움직임 벡터 후보자들의 순서가 달리 설정될 수도 있고, 일부 공간 움직임 벡터 후보자를 후보자에서 배제시킬 수도 있다. 즉, 부호화 유닛이 2개의 2NxN 의 예측 유닛으로 분할될 경우의 아래쪽의 2NxN 예측 블록의 경우에는 공간 상측 움직임 벡터 후보자를 후보자에서 배제시킬 수 있다. 마찬가지로, 부호화 유닛이 2개의 Nx2N 의 예측 유닛으로 분할될 경우의 우측의 Nx2N 예측 블록의 경우에는 공간 상측 움직임 벡터 후보자(블록 B)와 공간 좌측 움직임 벡터 후보자(블록 A) 순서를 바꾸거나, 공간 좌측 움직임 벡터 후보자(블록 A)를 리스트에서 배제시킬 수 있다.
한편, 부호화 유닛이 2개의 2NxN 의 예측 유닛으로 분할될 경우의 상측의 2NxN 예측 블록은 머지되는 것이 바람직하나, 머지가 되지 않을 경우에는 공간 좌측 움직임 벡터 후보자를 구하는 과정에서 A0를 제외시키거나, A1, A0의 순서로 검색할 수 있다. 마찬가지로, 부호화 유닛이 2개의 Nx2N 의 예측 유닛으로 분할될 경우의 좌측의 Nx2N 예측 블록은 머지되는 것이 바람직하나, 머지가 되지 않을 경우에는 공간 상측 움직임 벡터 후보자를 구하는 과정에서 B0를 제외시키거나, B1, B2, B0 순서로 검색할 수 있다.
다음으로, 움직임 벡터 후보자 리스트가 구축되면, 복수개의 움직임 벡터 후보자가 동일 움직임 벡터를 가지게 되면, 움직임 벡터 후보자 리스트 상에서 후순위를 갖는 움직임 벡터 후보자를 삭제할 수 있다.
다음으로, 현재 예측 유닛의 움직임 벡터를 구한다.
움직임 벡터 인덱스가 예측 유닛 내에 존재하는 경우에는 상기 움직임 벡터 후보자 리스트 상의 대응하는 인덱스의 움직임 벡터 예측자를 현재 예측 유닛의 움직임 벡터로 결정한다. 움직임 벡터 인덱스가 예측 유닛 내에 존재하지 않지만 움직임 벡터 후보자가 1개 존재하면 상기 움직임 벡터 후보자를 현재 예측 유닛의 움직임 벡터로 설정한다.
만약, 모든 후보자가 유효하지 않으면, 현재 예측 유닛의 움직임 벡터를 0으로 설정한다.
한편, 움직임 벡터 후보자 리스트를 설정하기 전에, 예측 유닛 내의 움직임 벡터 인덱스를 먼저 읽어 들일 수 있다. 이 경우에는 움직임 벡터 인덱스가 나타내는 수만큼만 미리 정해진 순서로 유효한 움직임 벡터 후보자를 검출한 후, 움직임 벡터 인덱스에 대응하는 움직임 벡터 후보자를 현재 예측 유닛의 움직임 벡터로 설정할 수 있다. 움직임 벡터 인덱스는 고정길이로 부호화된 정보일 수 있으나, 가변길이인 것이 바람직하다.
현재 예측 유닛의 움직임 벡터가 구해지면, 수신된 예측 유닛으로부터 얻은 현재 예측 유닛의 참조 픽쳐 인덱스에 대응하는 픽쳐 내에서 상기 움직임 벡터를 이용하여 예측 블록을 생성한다.
상기 생성된 예측 블록은 복원된 잔차 블록과 더해져서 현재 예측 유닛의 복원 블록으로 출력된다.

Claims (1)

  1. inter 예측 모드의 효율을 향상시키도록 한 것을 특징으로 하는 인터 프리딕션 방법.
KR1020110064306A 2010-08-17 2011-06-30 인터 프리딕션 방법 KR20120016991A (ko)

Priority Applications (78)

Application Number Priority Date Filing Date Title
EP21202138.0A EP3958563B1 (en) 2010-08-17 2011-08-12 Apparatus for decoding a moving picture
SI201132079T SI3145188T1 (sl) 2010-08-17 2011-08-12 Postopek za kodiranje z zunanjim napovedovanjem
FIEP16188174.3T FI3145188T3 (fi) 2010-08-17 2011-08-12 Interennustuksen koodausmenetelmä
EP21202139.8A EP3958564B1 (en) 2010-08-17 2011-08-12 Apparatus for encoding a moving picture
PL16188174.3T PL3145188T3 (pl) 2010-08-17 2011-08-12 Sposób kodowania z predykcją inter
PL21202138.0T PL3958563T3 (pl) 2010-08-17 2011-08-12 Urządzenie do dekodowania obrazu ruchomego
KR1020147010363A KR20140057397A (ko) 2010-08-17 2011-08-12 인터 예측 부호화 방법
HUE21202139A HUE063254T2 (hu) 2010-08-17 2011-08-12 Berendezés mozgó kép kódolására
CN201611271610.0A CN106878748B (zh) 2010-08-17 2011-08-12 用于解码运动图片的设备
PT212021331T PT3958559T (pt) 2010-08-17 2011-08-12 Aparelho para descodificação de uma gravura em movimento
JP2013524785A JP6025726B2 (ja) 2010-08-17 2011-08-12 動画復号化装置
PL21202133.1T PL3958559T3 (pl) 2010-08-17 2011-08-12 Urządzenie do dekodowania obrazu ruchomego
LTEP16188174.3T LT3145188T (lt) 2010-08-17 2011-08-12 Tarpinės prognozės kodavimo būdas
PL21202139.8T PL3958564T3 (pl) 2010-08-17 2011-08-12 Urządzenie do kodowania obrazu ruchomego
EP21202132.3A EP3958562B1 (en) 2010-08-17 2011-08-12 Apparatus for encoding an image
CN201510057296.5A CN104602023B (zh) 2010-08-17 2011-08-12 帧间预测编码方法
KR1020147010362A KR20140057396A (ko) 2010-08-17 2011-08-12 인터 예측 부호화 방법
PT212021323T PT3958562T (pt) 2010-08-17 2011-08-12 Aparelho para codificação de uma imagem
KR1020137020886A KR101430049B1 (ko) 2010-08-17 2011-08-12 동영상 복호화 장치
PL21202134.9T PL3958560T3 (pl) 2010-08-17 2011-08-12 Urządzenie do kodowania obrazu ruchomego
ES16188174T ES2939615T3 (es) 2010-08-17 2011-08-12 Método de codificación de inter predicción
ES21202139T ES2954981T3 (es) 2010-08-17 2011-08-12 Aparato para codificar un fotograma en movimiento
ES21202132T ES2952357T3 (es) 2010-08-17 2011-08-12 Aparato para codificar una imagen
HRP20230575TT HRP20230575T1 (hr) 2010-08-17 2011-08-12 Uređaj za kodiranje slike u pokretu
RS20230093A RS63977B1 (sr) 2010-08-17 2011-08-12 Postupak kodiranja sa inter predikcijom
EP21202134.9A EP3958560B1 (en) 2010-08-17 2011-08-12 Apparatus for encoding a moving picture
KR1020137020888A KR20130099244A (ko) 2010-08-17 2011-08-12 인터 예측 부호화 방법
KR1020177037857A KR20180018591A (ko) 2010-08-17 2011-08-12 영상 복호화 장치
CN201510055864.8A CN104602021B (zh) 2010-08-17 2011-08-12 用于对活动图片进行解码的装置
KR1020197012409A KR20190049919A (ko) 2010-08-17 2011-08-12 영상 부호화 장치
PCT/KR2011/005942 WO2012023763A2 (ko) 2010-08-17 2011-08-12 인터 예측 부호화 방법
PT212021380T PT3958563T (pt) 2010-08-17 2011-08-12 Aparelho para descodificação de uma gravura em movimento
PT161881743T PT3145188T (pt) 2010-08-17 2011-08-12 ¿método de codificação de interpredição
ES21202138T ES2952359T3 (es) 2010-08-17 2011-08-12 Aparato para decodificar un fotograma en movimiento
ES21202134T ES2954979T3 (es) 2010-08-17 2011-08-12 Aparato para codificar un fotograma en movimiento
CN201180050178.1A CN103190151B (zh) 2010-08-17 2011-08-12 帧间预测编码方法
RS20230627A RS64413B1 (sr) 2010-08-17 2011-08-12 Uređaj za kodiranje pokretne slike
CN201611271608.3A CN107087197B (zh) 2010-08-17 2011-08-12 用于编码运动图片的设备
EP21202133.1A EP3958559B1 (en) 2010-08-17 2011-08-12 Apparatus for decoding a moving picture
KR1020127028866A KR101430048B1 (ko) 2010-08-17 2011-08-12 동영상 복호화 장치
CN201611271607.9A CN106878747B (zh) 2010-08-17 2011-08-12 用于编码运动图片的设备
PL21202132.3T PL3958562T3 (pl) 2010-08-17 2011-08-12 Urządzenie do kodowania obrazu
HRP20230005TT HRP20230005T1 (hr) 2010-08-17 2011-08-12 Metoda kodiranja unutarokvirnog predviđanja
PT212021349T PT3958560T (pt) 2010-08-17 2011-08-12 Aparelho para codificação de uma gravura em movimento
PT212021398T PT3958564T (pt) 2010-08-17 2011-08-12 Aparelho para codificação de uma gravura em movimento
CN201510056797.1A CN104602022B (zh) 2010-08-17 2011-08-12 用于解码运动图片的装置
DK16188174.3T DK3145188T3 (da) 2010-08-17 2011-08-12 Fremgangsmåde til intraprædiktionskodning
KR1020147010361A KR20140057675A (ko) 2010-08-17 2011-08-12 인터 예측 부호화 방법
EP11818363.1A EP2608543A4 (en) 2010-08-17 2011-08-12 METHOD FOR CODING INTER-PREDICTIONS
CN201611271606.4A CN106878746B (zh) 2010-08-17 2011-08-12 用于解码运动图片的设备
CN201611271609.8A CN107087198B (zh) 2010-08-17 2011-08-12 用于编码运动图片的设备
EP16188174.3A EP3145188B1 (en) 2010-08-17 2011-08-12 Inter prediction encoding method
ES21202133T ES2952358T3 (es) 2010-08-17 2011-08-12 Aparato para decodificar un fotograma en movimiento
DK21202139.8T DK3958564T3 (da) 2010-08-17 2011-08-12 Apparat til kodning af et bevægelsesbillede
HUE16188174A HUE061766T2 (hu) 2010-08-17 2011-08-12 Interpredikciós kódolási eljárás
US13/624,864 US9544611B2 (en) 2010-08-17 2012-09-21 Apparatus for decoding moving picture
JP2016199647A JP6242981B2 (ja) 2010-08-17 2016-10-11 動画復号化装置
JP2016199645A JP6242979B2 (ja) 2010-08-17 2016-10-11 動画復号化装置
JP2016199646A JP6242980B2 (ja) 2010-08-17 2016-10-11 動画復号化装置
JP2016199648A JP6242982B2 (ja) 2010-08-17 2016-10-11 動画復号化装置
JP2016199653A JP6321750B2 (ja) 2010-08-17 2016-10-11 映像符号化装置
JP2016199652A JP6321749B2 (ja) 2010-08-17 2016-10-11 動画符号化装置
JP2016199644A JP6242978B2 (ja) 2010-08-17 2016-10-11 動画復号化装置
JP2016199650A JP6242984B2 (ja) 2010-08-17 2016-10-11 動画符号化装置
JP2016199649A JP6242983B2 (ja) 2010-08-17 2016-10-11 動画符号化装置
JP2016199651A JP6242985B2 (ja) 2010-08-17 2016-10-11 動画符号化装置
US15/364,889 US9894380B2 (en) 2010-08-17 2016-11-30 Apparatus for encoding moving picture
US15/365,377 US10116958B2 (en) 2010-08-17 2016-11-30 Apparatus for encoding an image
US15/365,023 US9877039B2 (en) 2010-08-17 2016-11-30 Apparatus for encoding moving picture
US15/365,175 US9955180B2 (en) 2010-08-17 2016-11-30 Apparatus for encoding moving picture
US15/364,638 US9794586B2 (en) 2010-08-17 2016-11-30 Apparatus for decoding moving picture
US15/364,725 US10237572B2 (en) 2010-08-17 2016-11-30 Apparatus for decoding an image
US15/364,463 US9794585B2 (en) 2010-08-17 2016-11-30 Apparatus for decoding moving picture
US15/364,557 US9807414B2 (en) 2010-08-17 2016-11-30 Apparatus for decoding moving picture
US15/365,491 US10015516B2 (en) 2010-08-17 2016-11-30 Apparatus for encoding an image
US16/260,570 US10602181B2 (en) 2010-08-17 2019-01-29 Apparatus for decoding an image
US16/796,555 US10979731B2 (en) 2010-08-17 2020-02-20 Apparatus for decoding an image
US16/796,516 US10931966B2 (en) 2010-08-17 2020-02-20 Apparatus for decoding an image

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100079530 2010-08-17
KR20100079530 2010-08-17

Publications (1)

Publication Number Publication Date
KR20120016991A true KR20120016991A (ko) 2012-02-27

Family

ID=45839101

Family Applications (10)

Application Number Title Priority Date Filing Date
KR1020110064306A KR20120016991A (ko) 2010-08-17 2011-06-30 인터 프리딕션 방법
KR1020177037857A KR20180018591A (ko) 2010-08-17 2011-08-12 영상 복호화 장치
KR1020147010363A KR20140057397A (ko) 2010-08-17 2011-08-12 인터 예측 부호화 방법
KR1020197012409A KR20190049919A (ko) 2010-08-17 2011-08-12 영상 부호화 장치
KR1020137020886A KR101430049B1 (ko) 2010-08-17 2011-08-12 동영상 복호화 장치
KR1020147010362A KR20140057396A (ko) 2010-08-17 2011-08-12 인터 예측 부호화 방법
KR1020147010361A KR20140057675A (ko) 2010-08-17 2011-08-12 인터 예측 부호화 방법
KR1020137020888A KR20130099244A (ko) 2010-08-17 2011-08-12 인터 예측 부호화 방법
KR1020127028866A KR101430048B1 (ko) 2010-08-17 2011-08-12 동영상 복호화 장치
KR1020177037856A KR20180015686A (ko) 2010-08-17 2011-08-12 영상 부호화 장치

Family Applications After (9)

Application Number Title Priority Date Filing Date
KR1020177037857A KR20180018591A (ko) 2010-08-17 2011-08-12 영상 복호화 장치
KR1020147010363A KR20140057397A (ko) 2010-08-17 2011-08-12 인터 예측 부호화 방법
KR1020197012409A KR20190049919A (ko) 2010-08-17 2011-08-12 영상 부호화 장치
KR1020137020886A KR101430049B1 (ko) 2010-08-17 2011-08-12 동영상 복호화 장치
KR1020147010362A KR20140057396A (ko) 2010-08-17 2011-08-12 인터 예측 부호화 방법
KR1020147010361A KR20140057675A (ko) 2010-08-17 2011-08-12 인터 예측 부호화 방법
KR1020137020888A KR20130099244A (ko) 2010-08-17 2011-08-12 인터 예측 부호화 방법
KR1020127028866A KR101430048B1 (ko) 2010-08-17 2011-08-12 동영상 복호화 장치
KR1020177037856A KR20180015686A (ko) 2010-08-17 2011-08-12 영상 부호화 장치

Country Status (16)

Country Link
US (13) US9544611B2 (ko)
EP (7) EP3958563B1 (ko)
JP (11) JP6025726B2 (ko)
KR (10) KR20120016991A (ko)
CN (9) CN106878748B (ko)
DK (2) DK3145188T3 (ko)
ES (6) ES2952358T3 (ko)
FI (1) FI3145188T3 (ko)
HR (2) HRP20230005T1 (ko)
HU (2) HUE061766T2 (ko)
LT (1) LT3145188T (ko)
PL (6) PL3958562T3 (ko)
PT (6) PT3958562T (ko)
RS (2) RS64413B1 (ko)
SI (1) SI3145188T1 (ko)
WO (1) WO2012023763A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140136428A (ko) * 2012-02-29 2014-11-28 엘지전자 주식회사 인터 레이어 예측 방법 및 이를 이용하는 장치
US9549181B2 (en) 2012-10-08 2017-01-17 Huawei Technologies Co., Ltd. Method and apparatus for building motion vector list for motion vector prediction

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101946376B1 (ko) 2007-10-16 2019-02-11 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
HUE034476T2 (en) * 2010-04-23 2018-02-28 M&K Holdings Inc Equipment for image coding
US10104391B2 (en) 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
US20120082228A1 (en) 2010-10-01 2012-04-05 Yeping Su Nested entropy encoding
CN107105280B (zh) * 2010-12-14 2020-01-03 M&K控股株式会社 用于编码运动画面的设备
US9635382B2 (en) * 2011-01-07 2017-04-25 Texas Instruments Incorporated Method, system and computer program product for determining a motion vector
ES2957772T3 (es) * 2011-01-07 2024-01-25 Ntt Docomo Inc Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento
PL2690870T3 (pl) 2011-03-21 2020-07-27 Lg Electronics Inc. Sposób wyboru predyktora wektora ruchu i urządzenie go stosujące
MX343471B (es) * 2011-08-29 2016-11-07 Ibex Pt Holdings Co Ltd Metodo para generar un bloque de prediccion en modo de prediccion de vector de movimiento avanzada (amvp).
CN107295347B (zh) * 2011-08-29 2020-06-26 苗太平洋控股有限公司 用于解码合并模式下的运动信息的装置
KR102407474B1 (ko) 2011-10-18 2022-06-10 엘지전자 주식회사 인트라 예측 방법 및 그 장치
KR102072124B1 (ko) * 2011-11-24 2020-02-04 에스케이텔레콤 주식회사 세밀한 예측 단위를 사용하는 효과적인 부호화/복호화 방법 및 장치
US20130343459A1 (en) * 2012-06-22 2013-12-26 Nokia Corporation Method and apparatus for video coding
EP2919462A4 (en) 2012-11-06 2016-08-17 Nec Corp VIDEO CODING METHOD, VIDEO CODE DEVICE, VIDEO CODING PROGRAM
US9967586B2 (en) 2013-01-07 2018-05-08 Mediatek Inc. Method and apparatus of spatial motion vector prediction derivation for direct and skip modes in three-dimensional video coding
CN103338372A (zh) * 2013-06-15 2013-10-02 浙江大学 一种视频处理方法及装置
US10390031B2 (en) 2013-07-15 2019-08-20 Kt Corporation Method and apparatus for encoding/decoding scalable video signal
CN105379276A (zh) 2013-07-15 2016-03-02 株式会社Kt 可伸缩视频信号编码/解码方法和装置
GB2534591A (en) * 2015-01-29 2016-08-03 Nokia Technologies Oy Video encoding and decoding
CN115134608A (zh) 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
GB2596496B (en) * 2015-09-11 2022-05-18 Kt Corp Method and device for processing video signal
CN116489347A (zh) * 2015-11-20 2023-07-25 韩国电子通信研究院 对图像进行编/解码的方法和装置
US11064195B2 (en) 2016-02-15 2021-07-13 Qualcomm Incorporated Merging filters for multiple classes of blocks for video coding
EP3509297B1 (en) * 2016-09-30 2021-06-23 Huawei Technologies Co., Ltd. Video encoding method, decoding method and terminal
US10506230B2 (en) * 2017-01-04 2019-12-10 Qualcomm Incorporated Modified adaptive loop filter temporal prediction for temporal scalability support
KR20200012957A (ko) 2017-06-30 2020-02-05 후아웨이 테크놀러지 컴퍼니 리미티드 인터-프레임 예측 방법 및 디바이스
EP3451664A1 (en) * 2017-09-01 2019-03-06 Thomson Licensing Motion compensation at a finer precision than motion vector differential
WO2019183906A1 (zh) * 2018-03-29 2019-10-03 华为技术有限公司 帧间预测的方法和装置
CN117294837A (zh) 2018-04-02 2023-12-26 深圳市大疆创新科技有限公司 用于图像处理的方法和图像处理装置
WO2019192170A1 (zh) * 2018-04-02 2019-10-10 深圳市大疆创新科技有限公司 视频图像处理方法与装置
CN110662052B (zh) 2018-06-29 2022-07-08 北京字节跳动网络技术有限公司 更新查找表(lut)的条件
CN114845108A (zh) 2018-06-29 2022-08-02 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
TWI744661B (zh) 2018-06-29 2021-11-01 大陸商北京字節跳動網絡技術有限公司 要根據模式檢查的查找表中的運動候選的數量
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
EP3788779A4 (en) * 2018-10-23 2022-03-02 Tencent America LLC VIDEO CODING METHOD AND APPARATUS
CN117768658A (zh) * 2018-11-06 2024-03-26 北京字节跳动网络技术有限公司 依赖位置的对运动信息的存储
CN111385575A (zh) 2018-12-29 2020-07-07 华为技术有限公司 帧间预测方法、装置以及相应的编码器和解码器
US11032574B2 (en) 2018-12-31 2021-06-08 Tencent America LLC Method and apparatus for video coding
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
US11956427B2 (en) 2019-03-21 2024-04-09 Sk Telecom Co., Ltd. Method of restoration in subblock units, and video decoding apparatus
CN111866515B (zh) * 2019-04-30 2022-03-04 杭州海康威视数字技术股份有限公司 一种矢量差解码方法、装置及电子设备
KR20220006055A (ko) * 2019-05-11 2022-01-14 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 다중 인트라 코딩 방법 사이의 상호 작용
WO2020251324A1 (ko) 2019-06-14 2020-12-17 엘지전자 주식회사 움직임 벡터 차분들을 이용한 영상 코딩 방법 및 장치
KR20220064950A (ko) * 2019-09-24 2022-05-19 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 프레임 간 예측 방법 및 장치, 기기, 저장 매체
CN113766227B (zh) * 2020-06-06 2023-07-11 华为技术有限公司 用于图像编码和解码的量化和反量化方法及装置
WO2024071680A1 (ko) * 2022-09-29 2024-04-04 현대자동차주식회사 분리 불가능한 1차 변환 기반 비디오 코딩을 위한 방법 및 장치

Family Cites Families (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04256298A (ja) * 1991-02-08 1992-09-10 Toshiba Corp 動画像符号化装置
US6005627A (en) * 1991-05-31 1999-12-21 Kabushiki Kaisha Toshiba Video coding apparatus
US5317397A (en) * 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
JP2531106B2 (ja) * 1993-08-17 1996-09-04 日本電気株式会社 動画像符号化制御方式
US5745183A (en) * 1995-08-25 1998-04-28 Thomson Consumer Electronics, Inc. Image motion estimation system which derives candidate block from interpolated motion vectors
US5832125A (en) * 1995-12-07 1998-11-03 Intel Corporation Bit rate control using short-term and long-term performance characterization
DE69709835T2 (de) * 1996-05-28 2002-08-22 Matsushita Electric Ind Co Ltd Vorrichtung zur bildvorhersage und decodierung
DE69805583T2 (de) * 1997-02-08 2003-01-23 Matsushita Electric Ind Co Ltd Quantisierungsmatrix für die codierung von stand- und bewegtbildern
US6195389B1 (en) * 1998-04-16 2001-02-27 Scientific-Atlanta, Inc. Motion estimation system and methods
CN1248509C (zh) * 2001-02-13 2006-03-29 皇家菲利浦电子有限公司 运动信息编码和解码方法
EP2099228B1 (en) * 2001-09-14 2014-11-12 NTT DoCoMo, Inc. Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program
WO2003053066A1 (en) * 2001-12-17 2003-06-26 Microsoft Corporation Skip macroblock coding
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
KR100454501B1 (ko) * 2001-12-26 2004-10-28 브이케이 주식회사 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법
JP4015934B2 (ja) 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
US6690307B2 (en) * 2002-01-22 2004-02-10 Nokia Corporation Adaptive variable length coding of digital video
US7289672B2 (en) * 2002-05-28 2007-10-30 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode estimation
US7236524B2 (en) * 2002-05-28 2007-06-26 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode communication
US7386048B2 (en) * 2002-05-28 2008-06-10 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode organization
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
KR100534207B1 (ko) * 2002-12-09 2005-12-08 삼성전자주식회사 비디오 부호화기의 움직임 추정기 및 그 방법
AU2003284958A1 (en) * 2003-01-10 2004-08-10 Thomson Licensing S.A. Fast mode decision making for interframe encoding
KR100750110B1 (ko) * 2003-04-22 2007-08-17 삼성전자주식회사 4×4인트라 휘도 예측 모드 결정방법 및 장치
CN1194544C (zh) * 2003-04-25 2005-03-23 北京工业大学 基于时空域相关性运动矢量预测的视频编码方法
CN1263309C (zh) * 2003-06-27 2006-07-05 中国科学院计算技术研究所 用于视频编码的运动矢量预测方法
US7738554B2 (en) * 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US7620106B2 (en) * 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7369707B2 (en) * 2003-10-28 2008-05-06 Matsushita Electric Industrial Co., Ltd. Intra-picture prediction coding method
KR100596706B1 (ko) * 2003-12-01 2006-07-04 삼성전자주식회사 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치
DE602004002455T2 (de) * 2004-04-30 2007-01-11 Matsushita Electric Industrial Co., Ltd., Kadoma Bewegungsvektorschätzung durch adaptive zeitliche Vorhersage
TWI266539B (en) * 2005-01-13 2006-11-11 Via Tech Inc Decoding device with multi-buffers
US7830960B2 (en) * 2005-01-13 2010-11-09 Qualcomm Incorporated Mode selection techniques for intra-prediction video encoding
WO2006078125A1 (en) * 2005-01-21 2006-07-27 Samsung Electronics Co., Ltd. Video coding method and apparatus for efficiently predicting unsynchronized frame
CN1658673A (zh) * 2005-03-23 2005-08-24 南京大学 视频压缩编解码方法
US20070098069A1 (en) * 2005-04-27 2007-05-03 Stephen Gordon Inverse scan, coefficient, inverse quantization and inverse transform system and method
US8761259B2 (en) * 2005-09-22 2014-06-24 Qualcomm Incorporated Multi-dimensional neighboring block prediction for video encoding
KR100727990B1 (ko) * 2005-10-01 2007-06-13 삼성전자주식회사 영상의 인트라 예측 부호화 방법 및 그 방법을 사용하는부호화 장치
EP1985124B1 (en) * 2006-02-17 2010-09-01 Thomson Licensing Process for coding images using intra prediction mode
JP4820191B2 (ja) * 2006-03-15 2011-11-24 富士通株式会社 動画像符号化装置及びプログラム
KR101311402B1 (ko) * 2006-03-23 2013-09-25 삼성전자주식회사 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
US8165202B1 (en) * 2006-03-31 2012-04-24 Texas Instruments Incorporated Video compression rate
US7995649B2 (en) * 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US7974340B2 (en) * 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
CN101072356B (zh) * 2006-05-12 2011-02-09 中国科学院计算技术研究所 一种运动矢量预测方法
JP4999859B2 (ja) 2006-10-30 2012-08-15 日本電信電話株式会社 予測参照情報生成方法、動画像符号化及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
US8243797B2 (en) * 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
KR20100015456A (ko) * 2007-04-09 2010-02-12 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8160150B2 (en) * 2007-04-10 2012-04-17 Texas Instruments Incorporated Method and system for rate distortion optimization
CN101321283B (zh) * 2007-06-10 2010-04-07 华为技术有限公司 兼容不同大小块变换的编解码方法及编解码器
US8139875B2 (en) * 2007-06-28 2012-03-20 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
US8265144B2 (en) * 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
CN101340578A (zh) * 2007-07-03 2009-01-07 株式会社日立制作所 运动矢量估计装置、编码器及摄像机
TW200910971A (en) * 2007-08-22 2009-03-01 Univ Nat Cheng Kung Direction detection algorithms for H.264 intra prediction
BRPI0818444A2 (pt) * 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
KR101946376B1 (ko) * 2007-10-16 2019-02-11 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
CN101198064A (zh) * 2007-12-10 2008-06-11 武汉大学 一种分辨率分层技术中的运动矢量预测方法
JP2009212900A (ja) 2008-03-05 2009-09-17 Nec Electronics Corp 画像復号化装置及び画像復号化方法
KR20090097013A (ko) * 2008-03-10 2009-09-15 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
KR101431545B1 (ko) * 2008-03-17 2014-08-20 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
US20090274211A1 (en) * 2008-04-30 2009-11-05 Omnivision Technologies, Inc. Apparatus and method for high quality intra mode prediction in a video coder
US8897359B2 (en) * 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US9042455B2 (en) * 2008-08-19 2015-05-26 Thomson Licensing Propagation map
US8660176B2 (en) * 2008-09-26 2014-02-25 Qualcomm Incorporated Resolving geometric relationships among video data units
US8634457B2 (en) * 2008-09-26 2014-01-21 Qualcomm Incorporated Determining availability of video data units
US8724697B2 (en) * 2008-09-26 2014-05-13 Qualcomm Incorporated Locating motion vectors for video data units
US8805106B2 (en) * 2008-09-26 2014-08-12 Futurewei Technologies, Inc. System and method for compressing and decompressing images and video
CN101686393B (zh) * 2008-09-28 2012-10-17 华为技术有限公司 应用于模板匹配的快速运动搜索方法及装置
US20100104022A1 (en) * 2008-10-24 2010-04-29 Chanchal Chatterjee Method and apparatus for video processing using macroblock mode refinement
US20100166073A1 (en) * 2008-12-31 2010-07-01 Advanced Micro Devices, Inc. Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors
CN101854540B (zh) * 2009-04-01 2014-07-02 辉达公司 用于应用h.264视频编码标准的帧内预测方法及装置
US20100296579A1 (en) * 2009-05-22 2010-11-25 Qualcomm Incorporated Adaptive picture type decision for video coding
US8477845B2 (en) * 2009-10-16 2013-07-02 Futurewei Technologies, Inc. Predictive adaptive scan ordering for video coding
US20110274162A1 (en) * 2010-05-04 2011-11-10 Minhua Zhou Coding Unit Quantization Parameters in Video Coding
US9036692B2 (en) * 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
CN102754442A (zh) * 2010-02-10 2012-10-24 Lg电子株式会社 处理视频信号的方法和装置
US20110194613A1 (en) * 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
US8588303B2 (en) * 2010-03-31 2013-11-19 Futurewei Technologies, Inc. Multiple predictor sets for intra-frame coding
US20110268180A1 (en) * 2010-04-29 2011-11-03 Naveen Srinivasamurthy Method and System for Low Complexity Adaptive Quantization
KR102004836B1 (ko) * 2010-05-26 2019-07-29 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
US9124898B2 (en) * 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
US8930562B2 (en) * 2010-07-20 2015-01-06 Qualcomm Incorporated Arranging sub-track fragments for streaming video data
PT3373581T (pt) * 2010-12-21 2020-01-27 Ntt Docomo Inc Codificação com intra-predição melhorada utilizando representações planares
MX343471B (es) * 2011-08-29 2016-11-07 Ibex Pt Holdings Co Ltd Metodo para generar un bloque de prediccion en modo de prediccion de vector de movimiento avanzada (amvp).
US20130251028A1 (en) * 2012-03-22 2013-09-26 The Hong Kong University Of Science And Technology Video encoding and decoding with channel prediction and error correction capability
US9538172B2 (en) * 2012-04-11 2017-01-03 Qualcomm Incorporated Grouping bypass coded syntax elements in video coding
JP6569278B2 (ja) * 2015-04-09 2019-09-04 東洋インキScホールディングス株式会社 顔料組成物およびその製造方法、並びにインクジェットインキ
JP6553925B2 (ja) * 2015-04-09 2019-07-31 東洋スチレン株式会社 スチレン系樹脂組成物及び成形体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140136428A (ko) * 2012-02-29 2014-11-28 엘지전자 주식회사 인터 레이어 예측 방법 및 이를 이용하는 장치
US9549181B2 (en) 2012-10-08 2017-01-17 Huawei Technologies Co., Ltd. Method and apparatus for building motion vector list for motion vector prediction
US10091523B2 (en) 2012-10-08 2018-10-02 Huawei Technologies Co., Ltd. Method and apparatus for building motion vector list for motion vector prediction
US10511854B2 (en) 2012-10-08 2019-12-17 Huawei Technologies Co., Ltd. Method and apparatus for building motion vector list for motion vector prediction

Also Published As

Publication number Publication date
ES2954981T3 (es) 2023-11-27
PT3958562T (pt) 2023-06-30
US20170085901A1 (en) 2017-03-23
PT3958559T (pt) 2023-06-30
KR101430048B1 (ko) 2014-08-18
JP2013537772A (ja) 2013-10-03
JP6321749B2 (ja) 2018-05-09
WO2012023763A2 (ko) 2012-02-23
JP2017041901A (ja) 2017-02-23
CN106878748A (zh) 2017-06-20
JP6242980B2 (ja) 2017-12-06
EP3958559A1 (en) 2022-02-23
US20170085910A1 (en) 2017-03-23
JP6242983B2 (ja) 2017-12-06
EP3958564A1 (en) 2022-02-23
EP2608543A4 (en) 2014-08-06
US20170085903A1 (en) 2017-03-23
CN106878746A (zh) 2017-06-20
KR20130099243A (ko) 2013-09-05
PL3958564T3 (pl) 2023-10-02
CN104602022A (zh) 2015-05-06
CN103190151A (zh) 2013-07-03
PT3958560T (pt) 2023-07-03
CN107087197A (zh) 2017-08-22
CN104602021A (zh) 2015-05-06
JP6321750B2 (ja) 2018-05-09
JP6242984B2 (ja) 2017-12-06
US9807414B2 (en) 2017-10-31
CN106878747A (zh) 2017-06-20
JP2017034706A (ja) 2017-02-09
CN107087197B (zh) 2020-01-17
JP2017041898A (ja) 2017-02-23
WO2012023763A3 (ko) 2012-05-10
CN104602022B (zh) 2016-06-01
CN104602021B (zh) 2016-09-21
US20170085902A1 (en) 2017-03-23
PT3958563T (pt) 2023-07-04
CN107087198A (zh) 2017-08-22
EP3145188A2 (en) 2017-03-22
HUE063254T2 (hu) 2024-01-28
KR101430049B1 (ko) 2014-08-14
CN106878746B (zh) 2020-03-27
US20170085899A1 (en) 2017-03-23
RS64413B1 (sr) 2023-09-29
US9894380B2 (en) 2018-02-13
US9794586B2 (en) 2017-10-17
EP3958564B1 (en) 2023-06-07
US20130022122A1 (en) 2013-01-24
EP3958563B1 (en) 2023-06-07
CN107087198B (zh) 2020-01-17
JP2017034707A (ja) 2017-02-09
EP3958563A1 (en) 2022-02-23
KR20190049919A (ko) 2019-05-09
PL3958563T3 (pl) 2023-10-09
HUE061766T2 (hu) 2023-08-28
US10602181B2 (en) 2020-03-24
US10237572B2 (en) 2019-03-19
JP6025726B2 (ja) 2016-11-16
CN104602023B (zh) 2018-01-23
EP3145188A3 (en) 2017-08-16
RS63977B1 (sr) 2023-03-31
JP2017041902A (ja) 2017-02-23
CN106878748B (zh) 2019-12-06
ES2954979T3 (es) 2023-11-27
US10015516B2 (en) 2018-07-03
EP3958560B1 (en) 2023-06-07
US9794585B2 (en) 2017-10-17
EP3958562B1 (en) 2023-06-07
JP2017005764A (ja) 2017-01-05
HRP20230575T1 (hr) 2023-09-01
CN104602023A (zh) 2015-05-06
US20200195958A1 (en) 2020-06-18
ES2952358T3 (es) 2023-10-31
KR20180015686A (ko) 2018-02-13
ES2952359T3 (es) 2023-10-31
KR20130051444A (ko) 2013-05-20
KR20140057397A (ko) 2014-05-12
US20200195957A1 (en) 2020-06-18
JP2017034705A (ja) 2017-02-09
KR20140057675A (ko) 2014-05-13
JP6242978B2 (ja) 2017-12-06
JP6242981B2 (ja) 2017-12-06
LT3145188T (lt) 2023-01-25
JP6242985B2 (ja) 2017-12-06
KR20180018591A (ko) 2018-02-21
US20170085908A1 (en) 2017-03-23
US9877039B2 (en) 2018-01-23
JP6242982B2 (ja) 2017-12-06
PL3958562T3 (pl) 2023-10-09
KR20130099244A (ko) 2013-09-05
JP2017005763A (ja) 2017-01-05
SI3145188T1 (sl) 2023-02-28
ES2939615T3 (es) 2023-04-25
DK3958564T3 (da) 2023-08-14
PL3958559T3 (pl) 2023-11-06
US9955180B2 (en) 2018-04-24
CN106878747B (zh) 2019-08-30
US10931966B2 (en) 2021-02-23
FI3145188T3 (fi) 2023-03-20
EP3958562A1 (en) 2022-02-23
EP2608543A2 (en) 2013-06-26
US20170085898A1 (en) 2017-03-23
PL3958560T3 (pl) 2023-10-02
CN103190151B (zh) 2017-02-15
KR20140057396A (ko) 2014-05-12
US20190158872A1 (en) 2019-05-23
US20170085909A1 (en) 2017-03-23
JP2017041900A (ja) 2017-02-23
US10979731B2 (en) 2021-04-13
EP3958560A1 (en) 2022-02-23
US20170085900A1 (en) 2017-03-23
EP3958559B1 (en) 2023-06-07
PL3145188T3 (pl) 2023-04-17
DK3145188T3 (da) 2023-03-20
JP6242979B2 (ja) 2017-12-06
JP2017041899A (ja) 2017-02-23
PT3958564T (pt) 2023-06-22
HRP20230005T1 (hr) 2023-02-17
EP3145188B1 (en) 2022-12-21
US9544611B2 (en) 2017-01-10
US10116958B2 (en) 2018-10-30
ES2952357T3 (es) 2023-10-31
PT3145188T (pt) 2023-01-23

Similar Documents

Publication Publication Date Title
US11350121B2 (en) Method for generating prediction block in AMVP mode
KR20120016991A (ko) 인터 프리딕션 방법
KR101316060B1 (ko) 인터 예측 부호화된 동영상 복호화 방법
KR20230042673A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR102511581B1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20130067280A (ko) 인터 예측 부호화된 동영상 복호화 방법