KR20140074302A - 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치 - Google Patents
움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치 Download PDFInfo
- Publication number
- KR20140074302A KR20140074302A KR1020147007584A KR20147007584A KR20140074302A KR 20140074302 A KR20140074302 A KR 20140074302A KR 1020147007584 A KR1020147007584 A KR 1020147007584A KR 20147007584 A KR20147007584 A KR 20147007584A KR 20140074302 A KR20140074302 A KR 20140074302A
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- neighboring block
- block
- vector predictor
- neighboring
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
비디오 코딩 분야와 관련하여, 본 발명은 동일한 코딩 유닛의 적어도 2개의 PU의 움직임 벡터 목록이 직렬 방식으로 작성된다는 문제점을 해결하여, 병렬 처리 능력을 향상시키기 위한 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치를 제공한다. 본 방법은, 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법이 제공되는데, 본 방법은, 현재의 코딩 유닛의 내부에 위치한 현재의 예측 블록의 공간 이웃 블록을 획득하는 단계; 현재의 코딩 유닛의 분할 방식에 따라, 현재의 예측 블록의 이용 가능한 이웃 블록을 결정하는 단계 - 이용 가능한 블록은 현재의 코딩 유닛의 외부에 위치함 -; 및 이용 가능한 이웃 블록의 움직임 벡터 예측자에 따라, 미리 설정된 순서로, 이용 가능한 이웃 블록으로부터 움직임 벡터 예측자를 획득하고, 움직임 벡터 목록에, 획득된 움직임 벡터 예측자를 추가하는 단계를 포함한다. 본 발명은 움직임 벡터 목록을 작성하는데 적용할 수 있다.
Description
본 출원은 "METHOD AND APPARATUS FOR BUILDING MOTION VECTOR LIST FOR MOTION VECTOR PREDICTION"로 명명되어 2012년 10월 8일에 중국 전리국에 출원된 중국 전리 출원 제201210377579.4호에 대한 우선권을 주장하며, 이는 참조에 의해 본 명세서에 병합된다.
본 발명은 비디오 코딩 분야, 특히 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치에 관한 것이다.
HEVC (High Efficiency Video Coding)의 인터프레임(interframe) 예측 기술은 범용 MCP(Motion Compensated Prediction) 방법을 채용한다. 움직임 벡터 예측을 위해, HEVC는 복수의 움직임 벡터 경쟁(competition) 방법을 채용하여, 움직임 벡터 예측의 정확도를 향상시키고, 코딩 압축 성능을 향상시킨다.
HEVC 인터프레임 예측 모드는 인터프레임 예측을 수행하기 위해 복수의 움직임 벡터 경쟁을 이용하는 머지 모드(merge mode), 스킵 모드(skip mode) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 움직임 벡터 목록은 움직임 벡터 예측이 수행되는 경우에 이용된다. 머지 모드와 스킵 모드를 위해, 움직임 벡터 목록은 최대 4개의 공간 움직임 벡터 예측자(spatial motion vector predictor)와 하나의 시간 움직임 벡터 예측자(temporal motion vector predictor)를 포함할 수 있는데, 머지 모드와 스킵 모드는 하나의 움직임 벡터 목록을 공유한다. 코더(coder)는 움직임 벡터 목록으로부터 현재의 PU(Prediction Unit, 이하에서는 예측 블록으로 호칭될 수 있음)의 움직임 벡터 예측자로서의 최선의 움직임 벡터 예측자를 선택한다.
움직임 벡터 목록을 작성하는 방법은 다음을 포함할 수 있다.
도 1에 도시된 것처럼, 현재의 PU의 공간적으로 이웃하는 블록(공간 이웃 블록)은, 이웃 블록 A0(현재의 PU의 좌-하(bottom-left) 코너 위치에 대응하는 좌-하 참조 블록), 이웃 블록 A1(현재의 PU의 좌-하 코너 위치에 대응하는 좌측 참조 블록), 이웃 블록 B0(현재의 PU의 우-상(top-right) 코너 위치에 대응하는 우-상 참조 블록), 이웃 블록 B1(현재의 PU의 우-상 코너 위치에 대응하는 상측 참조 블록), 및 이웃 블록 B2(현재의 PU의 좌-상(top-left) 위치에 대응하는 좌-상 참조 블록)을 포함할 수 있다. TMVP(Temporal Motion Vector predictor)는 시간 도메인에서 현재의 PU에 대응하는 움직임 벡터 예측자이다.
먼저, 움직임 벡터 예측자는 이웃 블록 A1, 이웃 블록 B1, 이웃 블록 B0, 이웃 블록 A0, 이웃 블록 B2, 및 TMVP의 순서로 이웃하는 블록과 TMVP로부터 연이어 획득된다. 이후, 획득된 움직임 벡터 예측자는 HEVC의 규칙에 따라 움직임 벡터 목록에 추가된다. 명확한 움직임 벡터 목록 작성과정은 당해 기술분야에서의 통상의 기술자에게 잘 알려진 기술이므로, 본 명세서에서 그 상세한 내용을 다시 설명하지는 않는다.
나아가, 현재의 CU(Coding Unit, 이하에서는 코딩 유닛으로 호칭될 수 있음)는 적어도 2개의 PU를 포함할 수 있고, 적어도 2개의 PU의 움직임 벡터 목록은 직렬 방식(serial manner)으로 작성된다.
상술한 움직임 벡터 목록 작성 과정의 구현 중에, 종래 기술이 적어도 다음과 같은 문제를 가지고 있음을 발견하였다: 현재의 CU가 적어도 2개의 PU를 포함한다면, 적어도 2개의 PU의 움직임 벡터 목록이 직렬 방식으로 작성되고, 동일한 CU의 적어도 2개의 PU의 움직임 벡터 목록의 작성 속도가 느려져서, 병렬 처리 능력을 저하시킨다.
본 발명의 실시예들은, 동일한 코딩 유닛의 적어도 2개의 PU의 움직임 벡터 목록이 직렬 방식으로 작성된다는 문제점을 해결하여, 병렬 처리 능력을 향상시키기 위한 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치를 제공한다.
상술한 목적을 달성하기 위해, 본 발명의 실시예들에서는 이하의 기술적 해결수단들이 채용된다.
일 태양에서, 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법이 제공되는데, 본 방법은, 현재의 코딩 유닛의 내부에 위치한 현재의 예측 블록의 공간 이웃 블록을 획득하는 단계; 현재의 코딩 유닛의 분할 방식(partition method)에 따라, 현재의 예측 블록의 이용 가능한 이웃 블록을 결정하는 단계 - 이용 가능한 블록은 현재의 코딩 유닛의 외부에 위치함 -; 및 이용 가능한 이웃 블록의 움직임 벡터 예측자에 따라, 미리 설정된 순서로, 이용 가능한 이웃 블록으로부터 움직임 벡터 예측자를 획득하고, 획득된 움직임 벡터 예측자를 움직임 벡터 목록에 추가하는 단계를 포함한다.
다른 태양에서, 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 장치를 제공하는데, 본 장치는, 현재의 코딩 유닛의 내부에 위치한 현재의 예측 블록의 공간 이웃 블록을 획득하도록 구성되는 수신기(receiver); 및 현재의 코딩 유닛의 분할 방식에 따라, 현재의 예측 블록의 이용 가능한 이웃 블록을 결정하고, 및 이용 가능한 이웃 블록의 움직임 벡터 예측자에 따라, 미리 설정된 순서로, 이용 가능한 이웃 블록으로부터 움직임 벡터 예측자를 획득하며, 획득된 움직임 벡터 예측자를 움직임 벡터 목록에 추가하도록 구성되는 프로세서(processor)를 포함하는데, 여기서 상기 이용 가능한 블록은 현재의 코딩 유닛의 외부에 위치하는 것이다.
본 발명의 실시예들에서 제공되는 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치는, 상술한 해결수단들을 통해, 예측 블록의 움직임 벡터 목록이 작성되는 경우, 현재의 예측 블록의 공간 이웃 블록이 먼저 획득되고 - 여기서, 현재의 예측 블록은 현재의 코딩 유닛 내부에 위치함 -, 현재의 예측 블록의 이용 가능한 이웃 블록이, 현재의 코딩 유닛의 분할 방식에 따라 결정되며 - 여기서, 이용 가능한 블록은 현재의 코딩 유닛의 외부에 위치함 -, 움직임 벡터 예측자는 이용 가능한 이웃 블록의 움직임 벡터 예측자에 따라, 미리 설정된 순서로, 이용 가능한 블록들로부터 획득되고, 획득된 움직임 벡터 예측자는 움직임 벡터 목록에 추가된다. 이러한 방법에서, 예측 블록의 움직임 벡터 목록이 작성되는 경우, 현재의 코딩 블록의 내부에 위치한 이웃 블록이 고려되지 않는다. 코딩 유닛이 적어도 2개의 예측 블록을 포함하는 경우, 적어도 2개의 예측 블록의 움직임 벡터 목록이 병렬 방식으로 작성될 수 있어서, 동일한 코딩 유닛 내의 적어도 2개의 예측 블록의 움직임 벡터 목록의 작성 속도가 증가하고, 병렬 처리 능력이 향상된다.
본 발명의 실시예 내지 종래 기술의 기술적 해결수단을 더 명확하게 설명하기 위해, 이하에서는 본 실시예 또는 종래 기술을 설명하기 위해 필요한 첨부한 도면을 간략하게 소개한다. 분명한 것은, 이하의 설명에서 첨부된 도면은 단지 본 발명의 일부 실시예들만 보여준다는 것이며, 당해 기술분야에서의 통상의 기술자는 어떠한 창작적 노력 없이도 이러한 첨부된 도면들로부터 다른 도면들을 이끌어 낼 수 있다는 것이다.
도 1은 일 실시예에 따른, 코딩 유닛(CU), PU, 및 이웃 블록의 개략도이다.
도 2a 내지 도 2g는 일 실시예에 따른, 상이한 분할 방식을 가지는 코딩 유닛(CU)의 개략도이다.
도 3은 일 실시예에 따른, 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하기 위한 방법의 플로 차트이다.
도 4는 일 실시예에 따른, 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하기 위한 장치의 개략도이다.
도 1은 일 실시예에 따른, 코딩 유닛(CU), PU, 및 이웃 블록의 개략도이다.
도 2a 내지 도 2g는 일 실시예에 따른, 상이한 분할 방식을 가지는 코딩 유닛(CU)의 개략도이다.
도 3은 일 실시예에 따른, 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하기 위한 방법의 플로 차트이다.
도 4는 일 실시예에 따른, 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하기 위한 장치의 개략도이다.
이하에서는 본 발명의 실시예에서의 기술적 해결수단들을 본 발명의 실시예에서 첨부한 도면을 참조하여 명확하게 완전하게 설명한다. 분명한 점은, 설명되는 실시예들은 단기 본 발명의 모든 실시예들 중의 일부만에 해당한다는 것이다. 당해 기술분야에서의 통상의 지식을 가진 자가 어떠한 창작적 노력 없이 본 발명의 실시예들에 기초하여 획득하는 모든 다른 실시예들은 본 발명의 보호 범위 내에 모두 포함될 것이다.
종래 기술에서, CU는 적어도 2개의 PU를 포함할 수 있으며, 적어도 2개의 PU의 움직임 벡터 목록은 직렬 방식으로 작성된다. 이는, 현재의 PU에 대해 움직임 벡터 목록이 작성된 이후에, 다음의 PU를 위해 움직임 벡터 목록이 작성되기 시작한다는 것이다.
상세한 과정은 다음을 포함할 수 있다.
도 2a 내지 도 2g에 도시된 것처럼, CU(도면에서의 직선 프레임)는 복수의 PU로 추가로 분할될 수 있다. HEVC에서, CU는 7개의 분할(partition) 방식을 가질 수 있다. 예를 들어, 도 2a 내지 2c에 도시된 분할 방식에서는, 현재의 CU는 좌측 및 우측에서 2개의 PU(PU(1) 및 PU(2))로 분할된다. 다른 예를 들면, 도 2에서 도시된 분할 방식에서는, 현재의 CU가 4개의 PU(PU(1), PU(2), PU(3), 및 PU(4))로 분할되며, 이외의 다른 방식은 본 명세서에 설명되지 않는다.
도 2a에 도시된 분할 방식을 일례로서 들면, PU(2)의 공간 참조 블록(A1)이 PU(1)의 내부에 위치하기 때문에, PU(1) 및 PU(2)의 움직임 벡터 목록이 직렬 방식으로 작성되는 경우에는, PU(2)의 움직임 벡터 목록은 PU(1)의 코딩이 완료된 이후에야 비로소 작성이 시작될 수 있다. 구체적으로, PU(1)의 움직임 벡터 목록은 먼저 상술한 방법에 따라 작성되고, 이후 PU(2)의 움직임 벡터 목록이 상술한 방법에 따라 작성된다.
이러한 방법에서, 적어도 2개의 PU의 움직임 벡터 목록의 작성 속도는 느려지고, 압축 코딩 성능은 저하된다.
적어도 2개의 PU의 움직임 벡터 목록의 작성 속도가 느려지고, 압축 코딩 성능이 저하되는 상술한 문제를 해결하기 위해, 일 실시예에서 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하기 위한 방법을 제공한다. 도 3에 도시된 것처럼, 본 발명은 다음을 포함한다.
301: 현재의 코딩 유닛의 내부에 위치하는 현재의 예측 블록의 공간 이웃 블록을 획득한다.
302: 현재의 코딩 유닛의 분할 방식에 따라, 현재의 코딩 유닛의 외부에 위치하는, 현재의 예측 블록의 이용 가능한 이웃 블록을 결정한다.
303: 이용 가능한 이웃 블록의 움직임 벡터 예측자에 따라, 미리 설정된 순서로, 이용 가능한 이웃 블록으로부터 움직임 벡터 예측자를 획득하고, 획득된 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
상술한 해결수단을 통해, 예측 블록의 움직임 벡터 목록이 작성되는 경우, 현재의 예측 블록의 공간 이웃 블록이 먼저 획득되고 - 여기서, 현재의 예측 블록은 현재의 코딩 유닛 내부에 위치함 -, 현재의 예측 블록의 이용 가능한 이웃 블록이, 현재의 코딩 유닛의 분할 방식에 따라 결정되며 - 여기서, 이용 가능한 블록은 현재의 코딩 유닛의 외부에 위치함 -, 움직임 벡터 예측자는 이용 가능한 이웃 블록의 움직임 벡터 예측자에 따라, 미리 설정된 순서로, 이용 가능한 블록들로부터 획득되고, 획득된 움직임 벡터 예측자는 움직임 벡터 목록에 추가된다. 이러한 방법에서, 예측 블록의 움직임 벡터 목록이 작성되는 경우, 현재의 코딩 블록의 내부에 위치한 이웃 블록이 고려되지 않는다. 코딩 유닛이 적어도 2개의 예측 블록을 포함하는 경우, 적어도 2개의 예측 블록의 움직임 벡터 목록이 병렬 방식으로 작성될 수 있어서, 동일한 코딩 유닛 내의 적어도 2개의 예측 블록의 움직임 벡터 목록의 작성 속도가 증가하고, 병렬 처리 능력이 향상된다.
일 실시예에서 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 다른 방법이 제공되고, 본 방법은 도 3에 도시된 방법의 추가 연장선에 해당한다. 도 3에 도시된 것처럼, 본 방법은 다음을 포함할 수 있다.
301: 현재의 코딩 유닛의 내부에 위치하는 현재의 예측 블록의 공간 이웃 블록을 획득한다.
도 1에 도시된 것처럼, 예측 블록의 공간 이웃 블록은 다음을 포함할 수 있다. 예측 블록의 좌-하 측에 위치하는 이웃 블록 A0, 예측 블록의 좌측에 위치하는 이웃 블록 A1, 예측 블록의 우-상 측에 위치하는 이웃 블록 B0, 예측 블록의 상측에 위치하는 이웃 블록 B1, 및 예측 블록의 좌-상 측에 위치하는 이웃 블록 B2.
예측 블록의 공간 이웃 블록, 예측 블록, 및 이웃 블록을 획득하는 방법은 본 실시예로 한정되지 않으며, 당해 기술분야에서의 통상의 기술자에게 잘 알려진 기술이므로, 본 명세서에서 그 상세한 내용을 설명하지는 않는다.
302: 현재의 코딩 유닛의 분할 방식에 따라, 현재의 코딩 유닛의 외부에 위치하는, 현재의 예측 블록의 이용 가능한 이웃 블록을 결정한다.
나아가, 도 2e 내지 도 2g에 도시된 것처럼, 현재의 코딩 유닛(CU)이 제1 예측 블록(PU(1)) 및 제2 예측 블록(PU(2))으로 상측 및 하측에서 분할되면, 현재의 예측 블록은 제2 예측 블록(PU(2))이고, PU(2)의 이용 가능한 이웃 블록은, 제2 예측 블록(PU(2))의 이웃 블록 A0, 이웃 블록 A1, 이웃 블록 B0, 및 이웃 블록 B2를 포함한다. 이때, 이웃 블록 B1은 현재의 코딩 유닛(CU)의 내부에 위치하며, 제2 예측 블록(PU(2))의 이용 가능한 이웃 블록으로서 행동하지 않는다.
도 2a 내지 도 2c에 도시된 것처럼, 현재의 코딩 유닛(CU)이 제1 예측 블록(PU(1)) 및 제2 예측 블록(PU(2))으로 좌측 및 우측에서 분할되면, 현재의 예측 블록은 제2 예측 블록(PU(2))이고, PU(2)의 이용 가능한 블록은, 제2 예측 블록(PU(2))의 이웃 블록 A0, 이웃 블록 B0, 이웃 블록 B1, 및 이웃 블록 B2를 포함한다. 이때, 이웃 블록 A1은 현재의 코딩 유닛(CU)의 내부에 위치하며, 제2 예측 블록(PU(2))의 이용 가능한 이웃 블록으로서 행동하지 않는다.
나아가, 이용 가능한 이웃 블록은 이웃 블록의 플래그 비트(flag bit)를 이용하여 결정될 수 있다. 이 플래그 비트는 이웃 블록이 CU의 내부에 위치하지 않는 것을 식별하기 위해 이용될 수 있으나, 이에 한정되는 것은 아니다.
이용 가능한 이웃 블록을 이웃 블록의 플래그 비트를 이용하여 결정하는 방법은 본 실시예로 한정되지 않으며, 당해 기술분야에서의 통상의 기술자에게 잘 알려진 기술이므로, 그 상세한 내용을 본 명세서에서 다시 설명하지는 않는다.
303: 이용 가능한 이웃 블록의 움직임 벡터 예측자에 따라, 미리 설정된 순서로, 이용 가능한 이웃 블록으로부터 움직임 벡터 예측자를 획득하고, 획득된 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
나아가, 미리 설정된 순서로 이용 가능한 이웃 블록으로부터 움직임 벡터 예측자를 획득하는 단계는, 이용 가능한 이웃 블록이 인터프레임 코딩 블록이면, 이웃 블록 A1, 이웃 블록 B1, 이웃 블록 B0, 이웃 블록 A0, 및 이웃 블록 B2의 순서로, 이용 가능한 이웃 블록으로부터 움직임 벡터 예측자를 획득하는 단계를 포함할 수 있다.
구체적으로, 이용 가능한 이웃 블록이 인터프레임 코딩 블록이면, 이는 이웃 블록이 움직임 벡터 정보를 포함한다는 것을 나타내고, 움직임 벡터 예측자는 이웃 블록으로부터 획득된다.
구체적으로, 예측 블록의 이용 가능한 블록이 제2 예측 블록의 이웃 블록 A0, 이웃 블록 A1, 이웃 블록 B0, 및 이웃 블록 B2를 포함하면, 움직임 벡터 예측자는 이웃 블록 A0, 이웃 블록 A1, 이웃 블록 B0, 및 이웃 블록 B2의 순서로 이웃 블록 A0, 이웃 블록 A1, 이웃 블록 B0, 및 이웃 블록 B2로부터 획득된다. 상술한 점에서, 현재의 CU가 상측 및 하측에서 제1 및 제2 예측 블록으로 분할되는 경우, 제2 예측 블록의 이용 가능한 이웃 블록은 제1 예측 블록의 내부에 위치한 이웃 블록 B1은 포함하지 않는다. 따라서, B1로부터의 움직임 벡터 예측자는 획득되지 않는다.
예측 블록의 이용 가능한 블록이 제2 예측 블록(PU(2))의 이웃 블록 A0, 이웃 블록 B0, 이웃 블록 B1, 및 이웃 블록 B2를 포함하면, 움직임 벡터 예측자는 이웃 블록 A0, 이웃 블록 B0, 이웃 블록 B1, 및 이웃 블록 B2의 순서로, 이웃 블록 A0, 이웃 블록 B0, 이웃 블록 B1, 및 이웃 블록 B2로부터 획득된다. 상술한 점에서, 현재의 CU가 좌측 및 우측에서 제1 및 제2 예측 블록으로 분할되는 경우, 제2 예측 블록의 이용 가능한 이웃 블록은 제1 예측 블록의 내부에 위치한 이웃 블록 A1은 포함하지 않는다. 따라서, A1로부터의 움직임 벡터 예측자는 획득되지 않는다.
나아가, 획득된 움직임 벡터 예측자가 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자이면, 획득된 움직임 벡터 예측자를 움직임 벡터 목록에 추가하는 단계는, 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자가 현재의 이용 가능한 이웃 블록을 제외한 다른 이용 가능한 이웃 블록의 움직임 벡터 예측자와 동일한지의 여부를 판정하고, 동일하지 않다면, 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자를 움직임 벡터 목록에 추가하는 단계를 포함한다.
상술한 과정 중에, 이용 가능한 이웃 블록이 현재의 CU의 내부에 위치한 이웃 블록을 포함하지 않기 때문에, CU의 복수의 PU는 의존성을 가지지 않고, 병렬로 실행될 수 있다. 예를 들어, 현재의 CU가 좌측 및 우측 상에서 제1 예측 블록 및 제2 예측 블록으로 분할되는 경우, 제2 예측 블록의 이용 가능한 이웃 블록은 제1 예측 블록의 내부에 위치한 이웃 블록 A1을 포함하지 않고, A1의 움직임 벡터 예측자가 결정 과정에서 포함되지 않는다. 따라서, 제2 예측 블록 및 제1 예측 블록은 그 과정을 병렬로 실행할 수 있다.
구체적으로, 본 실시예의 구현 방법으로써, 현재의 이용 가능한 이웃 블록이 이웃 블록 B1이면, 이웃 블록 B1의 움직임 벡터 예측자가 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부가 판정된다; 현재의 이용 가능한 이웃 블록이 이웃 블록 B0이면, 이웃 블록 B0의 움직임 벡터 예측자가 이웃 블록 B1의 움직임 벡터 예측자와 동일한지의 여부가 판정된다; 현재의 이용 가능한 이웃 블록이 이웃 블록 A0이면, 이웃 블록 A0의 움직임 벡터 예측자가 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부가 판정된다; 그리고 현재의 이용 가능한 이웃 블록이 이웃 블록 B2이면, 이웃 블록 B2의 움직임 벡터 예측자가 이웃 블록 A1의 움직임 벡터 예측자 및 이웃 블록 B1의 움직임 벡터 예측자 중 적어도 하나와 동일한지의 여부가 판정된다.
나아가, 획득된 움직임 벡터 예측자가 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자이면, 획득된 움직임 벡터 예측자를 움직임 벡터 목록에 추가하는 단계는, 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자가 움직임 벡터 목록에 추가된 움직임 벡터 예측자와 동일한지의 여부를 판정하고, 동일하지 않다면, 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자를 움직임 벡터 목록에 추가하는 단계를 더 포함할 수 있다.
구체적으로, 본 실시예의 구현 방법으로써, 현재의 이용 가능한 이웃 블록이 이웃 블록 B1이면, 이웃 블록 B1의 움직임 벡터 예측자가 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부가 판정된다; 현재의 이용 가능한 이웃 블록이 이웃 블록 B0이면, 이웃 블록 B0의 움직임 벡터 예측자가 움직임 벡터 목록에 추가된 이웃 블록 B1의 움직임 벡터 예측자와 동일한지의 여부가 판정된다; 현재의 이용 가능한 이웃 블록이 이웃 블록 A0이면, 이웃 블록 A0의 움직임 벡터 예측자가 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부가 판정된다; 그리고 현재의 이용 가능한 이웃 블록이 이웃 블록 B2이면, 이웃 블록 B2의 움직임 벡터 예측자가 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자 및 움직임 벡터 목록에 추가된 이웃 블록 B1의 움직임 벡터 예측자 중 적어도 하나와 동일한지의 여부가 판정된다.
나아가, TMVP는 움직임 벡터 목록의 작성 과정 중에 추가로 고려될 수 있다.
본 실시예의 구현 방법으로써, 미리 설정된 순서로, 이용 가능한 이웃 블록으로부터 움직임 벡터 예측자를 획득하는 단계는 또한, 이웃 블록 A1, 이웃 블록 B1, 이웃 블록 B0, 이웃 블록 A0, 이웃 블록 B2, 및 TMVP의 순서로, 이용 가능한 이웃 블록 및/또는 TMVP로부터 움직임 벡터 예측자를 획득하는 단계일 수 있다.
본 발명의 해결수단을 더욱 명확하게 설명하기 위해, 상이한 분할 방식을 가지는 CU를 위한 움직임 벡터 목록을 작성하는 방법이 이하에서 구체적으로 설명된다.
1. CU는 좌측 및 우측 상에서 PU(1) 및 PU(2)로 분할된다.
(1) PU(1)의 움직임 벡터 목록을 작성
1) 이웃 블록 A1, 이웃 블록 B1, 이웃 블록 B0, 이웃 블록 A0, 및 이웃 블록 B2의 순서로 이웃 블록 A1, 이웃 블록 B1, 이웃 블록 B0, 이웃 블록 A0, 및 이웃 블록 B2로부터 움직임 벡터 예측자를 획득하고, 이들을 움직임 벡터 목록에 추가한다.
a. 현재의 이웃 블록이 이웃 블록 A1이고, 오직 이웃 블록 A1만이 움직임 벡터 예측자를 포함하는 경우, 이웃 블록 A1의 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
b. 현재의 이웃 블록이 이웃 블록 B1이고, 오직 이웃 블록 B1만이 움직임 벡터 예측자를 포함하며, 이 예측자가 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자와 상이한 경우, 이웃 블록 B1의 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
c. 현재의 이웃 블록이 이웃 블록 B0이고, 오직 이웃 블록 B0만이 움직임 벡터 예측자를 포함하며, 이 예측자가 움직임 벡터 목록에 추가된 이웃 블록 B1의 움직임 벡터 예측자와 상이한 경우, 이웃 블록 B0의 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
d. 현재의 이웃 블록이 이웃 블록 A0이고, 오직 이웃 블록 A0만이 움직임 벡터 예측자를 포함하며, 이 예측자가 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자와 상이한 경우, 이웃 블록 A0의 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
e. 현재의 이웃 블록이 이웃 블록 B2이고, 오직 이웃 블록 B2만이 움직임 벡터 예측자를 포함하며, 이 예측자가 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자와 상이하고, 이웃 블록 A1, 이웃 블록 B1, 이웃 블록 B0, 및 이웃 블록 A0 중 적어도 하나의 움직임 벡터 예측자가 아직 움직임 벡터 목록에 추가되지 않은 경우, 이웃 블록 B2의 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
2) TMVP를 획득하고, 움직임 벡터 리스트에 이를 추가한다. 구체적으로, PU(1)의 TMVP는 PU(1)의 시간 참조 이미지(temporal reference image)를 이용하여 획득되고, PU(1)의 TMVP가 이용 가능하다면, TMVP는 움직임 벡터 목록에 추가된다.
(2) PU(2)의 움직임 벡터 목록을 작성
1) 이웃 블록 B1, 이웃 블록 B0, 이웃 블록 A0, 및 이웃 블록 B2의 순서로 이웃 블록 B1, 이웃 블록 B0, 이웃 블록 A0, 및 이웃 블록 B2로부터 움직임 벡터 예측자를 획득하고, 이를 움직임 벡터 리스트에 추가한다.
a. 현재의 이웃 블록이 이웃 블록 B1이고, 오직 이웃 블록 B1만이 움직임 벡터 예측자를 포함하는 경우, 이웃 블록 B1의 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
b. 현재의 이웃 블록이 이웃 블록 B0이고, 오직 이웃 블록 B0만이 움직임 벡터 예측자를 포함하며, 이 움직임 벡터 예측자가 움직임 벡터 목록에 추가된 이웃 블록 B1의 움직임 벡터 예측자와 상이한 경우, 이웃 블록 B0의 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
c. 현재의 이웃 블록이 이웃 블록 A0이고, 오직 이웃 블록 A0만이 움직임 벡터 예측자를 포함하는 경우, 이웃 블록 A0의 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
d. 현재의 이웃 블록이 이웃 블록 A0이고, 오직 이웃 블록 A0만이 움직임 벡터 예측자를 포함하는 경우, 이웃 블록 A0의 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
e. 현재의 이웃 블록이 이웃 블록 B2이고, 오직 이웃 블록 B2만이 움직임 벡터 예측자를 포함하며, 이 예측자가 움직임 벡터 목록에 추가된 이웃 블록 B1의 움직임 벡터 예측자와 상이한 경우, 이웃 블록 B2의 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
2) TMVP를 획득하고, 움직임 벡터 리스트에 이를 추가한다. 구체적으로, PU(1)의 TMVP는 PU(1)의 시간 참조 이미지(temporal reference image)를 이용하여 획득되고, PU(1)의 TMVP가 이용 가능하다면, TMVP는 움직임 벡터 목록에 추가된다.
이때, PU(2)의 움직임 벡터 목록이 작성되는 경우, PU(2)의 이웃 블록 A1이 고려되지 않기 때문에, PU(1) 및 PU(2)의 움직임 벡터 목록은 병렬 방식으로 작성될 수 있다.
2. CU나 상측 및 하측 상에서 PU(1) 및 PU(2)로 분할된다.
(1) PU(1)의 움직임 벡터 목록을 작성
이는 "1. CU는 좌측 및 우측 상에서 PU(1) 및 PU(2)로 분할된다"의 "(1) 움직임 벡터 목록을 작성"에서의 방법과 유사하므로, 그 상세한 내용이 다시 설명되지는 않는다.
(2) PU(2)의 움직임 벡터 목록을 작성
1) 이웃 블록 B1, 이웃 블록 B0, 이웃 블록 A0, 및 이웃 블록 B2의 순서로 이웃 블록 B1, 이웃 블록 B0, 이웃 블록 A0, 및 이웃 블록 B2로부터 움직임 벡터 예측자를 획득하고, 이들을 움직임 벡터 목록에 추가한다.
a. 현재의 이웃 블록이 이웃 블록 A1이고, 오직 이웃 블록 A1만이 움직임 벡터 예측자를 포함하는 경우, 이웃 블록 A1의 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
b. 현재의 이웃 블록이 이웃 블록 B0이고, 오직 이웃 블록 B0만이 움직임 벡터 예측자를 포함하는 경우, 이웃 블록 B0의 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
c. 현재의 이웃 블록이 이웃 블록 A0이고, 오직 이웃 블록 A0만이 움직임 벡터 예측자를 포함하며, 이 예측자가 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자와 상이한 경우, 이웃 블록 A0의 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
d. 현재의 이웃 블록이 이웃 블록 B2이고, 오직 이웃 블록 B2만이 움직임 벡터 예측자를 포함하며, 이 예측자가 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자와 상이한 경우, 이웃 블록 B2의 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다.
2) TMVP를 획득하고, 움직임 벡터 리스트에 이를 추가한다. 구체적으로, PU(1)의 TMVP는 PU(1)의 시간 참조 이미지(temporal reference image)를 이용하여 획득되고, PU(1)의 TMVP가 이용 가능하다면, TMVP는 움직임 벡터 목록에 추가된다.
이때, PU(2)의 움직임 벡터 목록이 작성되는 경우, PU(2)의 이웃 블록 B1이 고려되지 않기 때문에, PU(1) 및 PU(2)의 움직임 벡터 목록은 병렬 방식으로 작성될 수 있다.
상술한 해결수단들을 통해, 예측 블록의 움직임 벡터 목록이 작성되는 경우, 현재의 예측 블록의 공간 이웃 블록이 먼저 획득되고 - 여기서, 현재의 예측 블록은 현재의 코딩 유닛 내부에 위치함 -, 현재의 예측 블록의 이용 가능한 이웃 블록이, 현재의 코딩 유닛의 분할 방식에 따라 결정되며 - 여기서, 이용 가능한 블록은 현재의 코딩 유닛의 외부에 위치함 -, 움직임 벡터 예측자는 이용 가능한 이웃 블록의 움직임 벡터 예측자에 따라, 미리 설정된 순서로, 이용 가능한 블록들로부터 획득되고, 획득된 움직임 벡터 예측자는 움직임 벡터 목록에 추가된다. 이러한 방법에서, 예측 블록의 움직임 벡터 목록이 작성되는 경우, 현재의 코딩 블록의 내부에 위치한 이웃 블록이 고려되지 않는다. 코딩 유닛이 적어도 2개의 예측 블록을 포함하는 경우, 적어도 2개의 예측 블록의 움직임 벡터 목록이 병렬 방식으로 작성될 수 있어서, 동일한 코딩 유닛 내의 적어도 2개의 예측 블록의 움직임 벡터 목록의 작성 속도가 증가하고, 병렬 처리 능력이 향상된다.
일부의 장치 실시예가 이하에서 제공되며, 제공된 장치 실시예들은 각각이 상술한 방법 실시예에 대응한다. 장치의 상세한 구현 방법을 위해 상술한 방법 실시예들이 참조되며, 본 장치는 수신기(receiver) 및 프로세서(processor)를 포함한다.
일 실시예에서 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하기 위한 장치가 제공된다. 도 4에 도시된 것처럼, 본 장치는, 현재의 코딩 유닛의 내부에 위치한 현재의 예측 블록의 공간 이웃 블록을 획득하도록 구성되는 수신기(receiver)(41); 및 현재의 코딩 유닛의 분할 방식에 따라, 현재의 코딩 유닛의 외부에 위치하는, 현재의 예측 블록의 이용 가능한 이웃 블록을 결정하고, 및 이용 가능한 이웃 블록의 움직임 벡터 예측자에 따라, 미리 설정된 순서로, 이용 가능한 이웃 블록으로부터 움직임 벡터 예측자를 획득하며, 획득된 움직임 벡터 예측자를 움직임 벡터 목록에 추가하도록 구성되는 프로세서(processor)(42)를 포함할 수 있다.
나아가, 수신기(41)에 의해 획득된, 예측 블록의 공간 이웃 블록은, 예측 블록의 좌-하 측에 위치하는 이웃 블록 A0, 예측 블록의 좌측에 위치하는 이웃 블록 A1, 예측 블록의 우-상 측에 위치하는 이웃 블록 B0, 예측 블록의 상측에 위치하는 이웃 블록 B1, 및 예측 블록의 좌-상 측에 위치하는 이웃 블록 B2를 포함한다.
나아가, 프로세서(42)는, 현재의 코딩 유닛이 상측 및 하측 상에서 제1 예측 블록 및 제2 예측 블록으로 분할되고, 현재의 예측 블록이 제2 예측 블록이면, 그 예측 블록의 이용 가능한 블록은 제2 예측 블록의 이웃 블록 A0, 이웃 블록 A1, 이웃 블록 B0, 및 이웃 블록 B2를 포함하며; 현재의 코딩 유닛이 좌측 및 우측 상에서 제1 예측 블록 및 제2 예측 블록으로 분할되고, 현재의 예측 블록이 제2 예측 블록이면, 그 예측 블록의 이용 가능한 블록은 제2 예측 블록의 이웃 블록 A0, 이웃 블록 B0, 이웃 블록 B1, 및 이웃 블록 B2를 포함하도록, 추가로 구성된다.
나아가, 프로세서(42)는 현재의 이용 가능한 이웃 블록이 인터프레임 코딩 블록이면, 그 이용 가능한 블록으로부터 이웃 블록 A1, 이웃 블록 B1, 이웃 블록 B0, 이웃 블록 A0, 및 이웃 블록 B2를 획득하도록, 추가로 구성된다.
나아가, 프로세서(42)는 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자가 현재의 이용 가능한 이웃 블록 이외의 다른 이용 가능한 이웃 블록의 움직임 벡터 예측자와 동일한지의 여부를 판정하며, 동일하지 않다면, 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자를 움직임 벡터 목록에 추가하도록 더 구성된다.
나아가, 프로세서(42)는 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자가 움직임 벡터 목록에 추가된 움직임 벡터 예측자와 동일한지의 여부를 판정하며, 동일하지 않다면, 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자를 움직임 벡터 목록에 추가하도록 더 구성된다.
나아가, 프로세서(42)는 현재의 이용 가능한 이웃 블록이 이웃 블록 B1이면, 이웃 블록 B1의 움직임 벡터 예측자가 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부를 판정하고; 현재의 이용 가능한 이웃 블록이 이웃 블록 B0이면, 이웃 블록 B0의 움직임 벡터 예측자가 이웃 블록 B1의 움직임 벡터 예측자와 동일한지의 여부를 판정하며; 현재의 이용 가능한 이웃 블록이 이웃 블록 A0이면, 이웃 블록 A0의 움직임 벡터 예측자가 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부를 판정하고; 그리고 현재의 이용 가능한 이웃 블록이 이웃 블록 B2이면, 이웃 블록 B2의 움직임 벡터 예측자가 이웃 블록 A1의 움직임 벡터 예측자 및 이웃 블록 B1의 움직임 벡터 예측자 중 적어도 하나와 동일한지의 여부를 판정하도록 더 구성된다.
나아가, 프로세서(42)는 현재의 이용 가능한 이웃 블록이 이웃 블록 B1이면, 이웃 블록 B1의 움직임 벡터 예측자가 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부를 판정하고; 현재의 이용 가능한 이웃 블록이 이웃 블록 B0이면, 이웃 블록 B0의 움직임 벡터 예측자가 움직임 벡터 목록에 추가된 이웃 블록 B1의 움직임 벡터 예측자와 동일한지의 여부를 판정하며; 현재의 이용 가능한 이웃 블록이 이웃 블록 A0이면, 이웃 블록 A0의 움직임 벡터 예측자가 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부를 판정하고; 그리고 현재의 이용 가능한 이웃 블록이 이웃 블록 B2이면, 이웃 블록 B2의 움직임 벡터 예측자가 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자 및 움직임 벡터 목록에 추가된 이웃 블록 B1의 움직임 벡터 예측자 중 적어도 하나와 동일한지의 여부를 판정하도록 더 구성된다.
상술한 해결수단들을 통해, 예측 블록의 움직임 벡터 목록이 작성되는 경우, 수신기가 현재의 예측 블록의 공간 이웃 블록을 먼저 획득하고 - 여기서, 현재의 예측 블록은 현재의 코딩 유닛 내부에 위치함 -, 프로세서가 현재의 예측 블록의 이용 가능한 이웃 블록을, 현재의 코딩 유닛의 분할 방식에 따라 결정하고 - 여기서, 이용 가능한 블록은 현재의 코딩 유닛의 외부에 위치함 -, 이용 가능한 이웃 블록의 움직임 벡터 예측자에 따라, 미리 설정된 순서로, 이용 가능한 블록들로부터 움직임 벡터 예측자를 획득하며, 획득된 움직임 벡터 예측자를 움직임 벡터 목록에 추가한다. 이러한 방법에서, 예측 블록의 움직임 벡터 목록이 작성되는 경우, 현재의 코딩 블록의 내부에 위치한 이웃 블록이 고려되지 않는다. 코딩 유닛이 적어도 2개의 예측 블록을 포함하는 경우, 적어도 2개의 예측 블록의 움직임 벡터 목록이 병렬 방식으로 작성될 수 있어서, 동일한 코딩 유닛 내의 적어도 2개의 예측 블록의 움직임 벡터 목록의 작성 속도가 증가하고, 병렬 처리 능력이 향상된다.
본 실시예의 전술한 설명을 통해, 당해 기술분야에서의 통상의 기술자는 본 발명이 요구되는 범용의 하드웨어와 함께 소프트웨어로서 구현될 수 있고, 명백히 하드웨어에 의해 구현될 수 있음을 분명하게 이해할 수 있을 것이다. 그러나, 대부분의 경우에서는, 전자가 바람직하다. 이러한 이해에 기초하여, 본 발명의 기술적 해결수단의 본질 또는 종래 기술에 공여하는 부분은 소프트웨어 제품의 형태로 구현될 수 있다. 컴퓨터 소프트웨어 제품은, 예를 들어 컴퓨터의 플로피 디스크, 하드 디스크, 또는 광학 디스크와 같은 판독 가능한 저장 매체에 저장되며, 컴퓨터 장치(개인용 컴퓨터, 서버, 또는 네트워크 장치일 수 있음)에 명령하여 본 발명의 실시예들에서 설명된 방법들을 수행하도록 하는 일정한 명령어들을 포함한다.
전술한 설명들은 단지 본 발명의 특정 실시예에만 해당하는 것이며, 본 발명의 보호 범위를 제한하도록 의도된 것이 아니다. 본 발명에 개시된 기술적 범위 내에서, 당해 기술분야에서의 통상의 기술자에 의해 충분히 이해되는 어떠한 변형 또는 대체물도 모두 본 발명의 보호 범위에 포함될 것이다. 따라서, 본 발명의 보호 범위는 첨부된 특허청구범위가 될 것이다.
Claims (16)
- 현재의 코딩 유닛의 내부에 위치한 현재의 예측 블록의 공간 이웃 블록(spatial neighboring block)을 획득하는 단계;
상기 현재의 코딩 유닛의 분할 방식에 따라, 상기 현재의 예측 블록의 이용 가능한 이웃 블록을 결정하는 단계 - 여기서, 상기 이용 가능한 블록은 상기 현재의 코딩 유닛의 외부에 위치함 -; 및
상기 이용 가능한 이웃 블록의 움직임 벡터 예측자(motion vector predictor)에 따라, 미리 설정된 순서로, 상기 이용 가능한 이웃 블록으로부터 움직임 벡터 예측자를 획득하고, 상기 획득된 움직임 벡터 예측자를 움직임 벡터 목록에 추가하는 단계
를 포함하는 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 방법. - 제1항에 있어서,
상기 예측 블록의 상기 공간 이웃 블록은, 상기 예측 블록의 좌-하 측에 위치하는 이웃 블록 A0, 상기 예측 블록의 좌측에 위치하는 이웃 블록 A1, 상기 예측 블록의 우-상 측에 위치하는 이웃 블록 B0, 상기 예측 블록의 상측에 위치하는 이웃 블록 B1, 및 상기 예측 블록의 좌-상 측에 위치하는 이웃 블록 B2를 포함하는, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 방법. - 제2항에 있어서,
상기 현재의 코딩 유닛의 분할 방식에 따라, 상기 현재의 예측 블록의 이용 가능한 이웃 블록을 결정하는 단계는,
상기 현재의 코딩 유닛이 상측 및 하측 상에서 제1 예측 블록 및 제2 예측 블록으로 분할되고, 상기 현재의 코딩 유닛이 상측 및 하측 상에서 제1 예측 블록 및 제2 예측 블록으로 분할되고, 상기 현재의 예측 블록이 상기 제2 예측 블록이면, 상기 예측 블록의 이용 가능한 블록은, 상기 제2 예측 블록의 이웃 블록 A0, 이웃 블록 A1, 이웃 블록 B0, 및 이웃 블록 B2를 포함하고,
상기 현재의 코딩 유닛이 좌측 및 우측 상에서 제1 예측 블록 및 제2 예측 블록으로 분할되고, 상기 현재의 예측 블록이 상기 제2 예측 블록이면, 상기 예측 블록의 이용 가능한 블록은, 상기 제2 예측 블록의 이웃 블록 A0, 이웃 블록 B0, 이웃 블록 B1, 및 이웃 블록 B2를 포함하는, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 방법. - 제2항 또는 제3항에 있어서,
상기 미리 설정된 순서로, 상기 이용 가능한 이웃 블록으로부터 움직임 벡터 예측자를 획득하는 것은,
상기 이용 가능한 이웃 블록이 인터프레임(interframe) 코딩 블록이면, 이웃 블록 A1, 이웃 블록 B1, 이웃 블록 B0, 이웃 블록 A0, 및 이웃 블록 B2의 순서로, 상기 이용 가능한 이웃 블록으로부터 움직임 벡터 예측자를 획득하는 단계를 포함하는, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 방법. - 제4항에 있어서,
상기 획득된 움직임 벡터 예측자가 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자이면, 상기 획득된 움직임 벡터 예측자를 움직임 벡터 목록에 추가하는 단계는,
상기 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자가 상기 현재의 이용 가능한 이웃 블록을 제외한 다른 이용 가능한 이웃 블록의 움직임 벡터 예측자와 동일한지의 여부를 판정하는 단계; 및
상기 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자가 상기 현재의 이용 가능한 이웃 블록을 제외한 다른 이용 가능한 이웃 블록의 움직임 벡터 예측자와 동일하지 않다면, 상기 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자를 상기 움직임 벡터 목록에 추가하는 단계
를 포함하는, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 방법. - 제4항에 있어서,
상기 획득된 움직임 벡터 예측자가 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자이면, 상기 획득된 움직임 벡터 예측자를 움직임 벡터 목록에 추가하는 단계는,
상기 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자가 상기 움직임 벡터 목록에 추가된 움직임 벡터 예측자와 동일한지의 여부를 판정하는 단계; 및
상기 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자가 상기 움직임 벡터 목록에 추가된 움직임 벡터 예측자와 동일하지 않다면, 상기 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자를 상기 움직임 벡터 목록에 추가하는 단계
를 포함하는, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 방법. - 제5항에 있어서,
상기 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자가 상기 현재의 이용 가능한 이웃 블록을 제외한 다른 이용 가능한 이웃 블록의 움직임 벡터 예측자와 동일한지의 여부를 판정하는 단계는,
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 B1이면, 상기 이웃 블록 B1의 움직임 벡터 예측자가 상기 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부를 판정하는 단계;
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 B0이면, 상기 이웃 블록 B0의 움직임 벡터 예측자가 상기 이웃 블록 B1의 움직임 벡터 예측자와 동일한지의 여부를 판정하는 단계;
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 A0이면, 상기 이웃 블록 A0의 움직임 벡터 예측자가 상기 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부를 판정하는 단계; 및
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 B2이면, 상기 이웃 블록 B2의 움직임 벡터 예측자가 상기 이웃 블록 A1의 움직임 벡터 예측자 및 상기 이웃 블록 B1의 움직임 벡터 예측자 중의 하나 이상과 동일한지의 여부를 판정하는 단계
를 포함하는, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 방법. - 제6항에 있어서,
상기 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자가 상기 움직임 벡터 목록에 추가된 움직임 벡터 예측자와 동일한지의 여부를 판정하는 단계는,
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 B1이면, 상기 이웃 블록 B1의 움직임 벡터 예측자가 상기 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부를 판정하는 단계;
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 B0이면, 상기 이웃 블록 B0의 움직임 벡터 예측자가 상기 움직임 벡터 목록에 추가된 이웃 블록 B1의 움직임 벡터 예측자와 동일한지의 여부를 판정하는 단계;
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 A0이면, 상기 이웃 블록 A0의 움직임 벡터 예측자가 상기 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부를 판정하는 단계; 및
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 B2이면, 상기 이웃 블록 B2의 움직임 벡터 예측자가 상기 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자 및 상기 움직임 벡터 목록에 추가된 이웃 블록 B1의 움직임 벡터 예측자 중의 하나 이상과 동일한지의 여부를 판정하는 단계
를 포함하는, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 방법 - 현재의 코딩 유닛의 내부에 위치한 현재의 예측 블록의 공간 이웃 블록을 획득하도록 구성되는 수신기; 및
상기 현재의 코딩 유닛의 분할 방식에 따라, 상기 현재의 예측 블록의 이용 가능한 이웃 블록을 결정하고; 상기 이용 가능한 이웃 블록의 움직임 벡터 예측자에 따라, 미리 설정된 순서로, 상기 이용 가능한 이웃 블록으로부터 움직임 벡터 예측자를 획득하며; 상기 획득된 움직임 벡터 예측자를 움직임 벡터 목록에 추가하도록 구성되는 프로세서
를 포함하고,
상기 이용 가능한 블록은 상기 현재의 코딩 유닛의 외부에 위치하는 것인, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 장치. - 제9항에 있어서,
상기 수신기가 획득한 상기 예측 블록의 공간 이웃 블록은, 상기 예측 블록의 좌-하 측에 위치하는 이웃 블록 A0, 상기 예측 블록의 좌측에 위치하는 이웃 블록 A1, 상기 예측 블록의 우-상 측에 위치하는 이웃 블록 B0, 상기 예측 블록의 상측에 위치하는 이웃 블록 B1, 및 상기 예측 블록의 좌-상 측에 위치하는 이웃 블록 B2를 포함하는, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 장치. - 제10항에 있어서,
상기 프로세서는,
상기 현재의 코딩 유닛이 상측 및 하측 상에서 제1 예측 블록 및 제2 예측 블록으로 분할되고, 상기 현재의 예측 블록이 상기 제2 예측 블록이면, 상기 예측 블록의 이용 가능한 블록은, 상기 제2 예측 블록의 이웃 블록 A0, 이웃 블록 A1, 이웃 블록 B0, 및 이웃 블록 B2를 포함하고;
상기 현재의 코딩 유닛이 좌측 및 우측 상에서 제1 예측 블록 및 제2 예측 블록으로 분할되고, 상기 현재의 예측 블록이 상기 제2 예측 블록이면, 상기 예측 블록의 이용 가능한 블록은, 상기 제2 예측 블록의 이웃 블록 A0, 이웃 블록 B0, 이웃 블록 B1, 및 이웃 블록 B2를 포함하도록 더 구성되는, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 장치. - 제10항 또는 제11항에 있어서,
상기 프로세서는,
상기 이용 가능한 이웃 블록이 인터프레임 코딩 블록이면, 이웃 블록 A1, 이웃 블록 B1, 이웃 블록 B0, 이웃 블록 A0, 및 이웃 블록 B2의 순서로, 상기 이용 가능한 이웃 블록으로부터 움직임 벡터 예측자를 획득하도록 더 구성되는, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 장치. - 제12항에 있어서,
상기 프로세서는,
현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자가 상기 현재의 이용 가능한 이웃 블록을 제외한 다른 이용 가능한 이웃 블록의 움직임 벡터 예측자와 동일한지의 여부를 판정하고;
상기 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자가 상기 현재의 이용 가능한 이웃 블록을 제외한 다른 이용 가능한 이웃 블록의 움직임 벡터 예측자와 동일하지 않다면, 상기 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자를 상기 움직임 벡터 목록에 추가하도록 더 구성되는, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 장치. - 제12항에 있어서,
상기 프로세서는,
현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자가 상기 움직임 벡터 목록에 추가된 움직임 벡터 예측자와 동일한지의 여부를 판정하고;
상기 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자가 상기 움직임 벡터 목록에 추가된 움직임 벡터 예측자와 동일하지 않다면, 상기 현재의 이용 가능한 이웃 블록의 움직임 벡터 예측자를 상기 움직임 벡터 목록에 추가하도록 더 구성되는, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 장치. - 제13항에 있어서,
상기 프로세서는,
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 B1이면, 상기 이웃 블록 B1의 움직임 벡터 예측자가 상기 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부를 판정하고;
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 B0이면, 상기 이웃 블록 B0의 움직임 벡터 예측자가 상기 이웃 블록 B1의 움직임 벡터 예측자와 동일한지의 여부를 판정하며;
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 A0이면, 상기 이웃 블록 A0의 움직임 벡터 예측자가 상기 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부를 판정하고;
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 B2이면, 상기 이웃 블록 B2의 움직임 벡터 예측자가 상기 이웃 블록 A1의 움직임 벡터 예측자 및 상기 이웃 블록 B1의 움직임 벡터 예측자 중의 하나 이상과 동일한지의 여부를 판정하도록 더 구성되는, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 장치. - 제14항에 있어서,
상기 프로세서는,
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 B1이면, 상기 이웃 블록 B1의 움직임 벡터 예측자가 상기 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부를 판정하고;
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 B0이면, 상기 이웃 블록 B0의 움직임 벡터 예측자가 상기 움직임 벡터 목록에 추가된 이웃 블록 B1의 움직임 벡터 예측자와 동일한지의 여부를 판정하며;
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 A0이면, 상기 이웃 블록 A0의 움직임 벡터 예측자가 상기 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자와 동일한지의 여부를 판정하고;
상기 현재의 이용 가능한 이웃 블록이 이웃 블록 B2이면, 상기 이웃 블록 B2의 움직임 벡터 예측자가 상기 움직임 벡터 목록에 추가된 이웃 블록 A1의 움직임 벡터 예측자 및 상기 움직임 벡터 목록에 추가된 이웃 블록 B1의 움직임 벡터 예측자 중의 하나 이상과 동일한지의 여부를 판정하도록 더 구성되는, 움직임 벡터 예측을 위한 움직임 벡터를 목록을 작성하는 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210377579.4A CN102883163B (zh) | 2012-10-08 | 2012-10-08 | 用于运动矢量预测的运动矢量列表建立的方法、装置 |
CN201210377579.4 | 2012-10-08 | ||
PCT/CN2013/073817 WO2014056314A1 (zh) | 2012-10-08 | 2013-04-07 | 用于运动矢量预测的运动矢量列表建立的方法、装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167014630A Division KR101711568B1 (ko) | 2012-10-08 | 2013-04-07 | 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140074302A true KR20140074302A (ko) | 2014-06-17 |
KR101629220B1 KR101629220B1 (ko) | 2016-06-10 |
Family
ID=47484278
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177005170A KR101835563B1 (ko) | 2012-10-08 | 2013-04-07 | 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치 |
KR1020167014630A KR101711568B1 (ko) | 2012-10-08 | 2013-04-07 | 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치 |
KR1020147007584A KR101629220B1 (ko) | 2012-10-08 | 2013-04-07 | 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치 |
KR1020187005956A KR101970216B1 (ko) | 2012-10-08 | 2013-04-07 | 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177005170A KR101835563B1 (ko) | 2012-10-08 | 2013-04-07 | 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치 |
KR1020167014630A KR101711568B1 (ko) | 2012-10-08 | 2013-04-07 | 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187005956A KR101970216B1 (ko) | 2012-10-08 | 2013-04-07 | 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치 |
Country Status (13)
Country | Link |
---|---|
US (3) | US9549181B2 (ko) |
EP (2) | EP3402203A1 (ko) |
JP (3) | JP6068490B2 (ko) |
KR (4) | KR101835563B1 (ko) |
CN (1) | CN102883163B (ko) |
AU (1) | AU2013314174B2 (ko) |
BR (1) | BR112014010225B1 (ko) |
CA (1) | CA2845442C (ko) |
HK (1) | HK1203723A1 (ko) |
MY (2) | MY177902A (ko) |
RU (1) | RU2553060C1 (ko) |
SG (2) | SG10201608387VA (ko) |
WO (1) | WO2014056314A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016175549A1 (ko) * | 2015-04-27 | 2016-11-03 | 엘지전자 주식회사 | 비디오 신호의 처리 방법 및 이를 위한 장치 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883163B (zh) | 2012-10-08 | 2014-05-28 | 华为技术有限公司 | 用于运动矢量预测的运动矢量列表建立的方法、装置 |
CN104104957B (zh) * | 2013-04-08 | 2018-03-16 | 华为技术有限公司 | 解码方法、编码方法、解码装置和编码装置 |
CN104125463A (zh) * | 2013-04-26 | 2014-10-29 | 华为技术有限公司 | 一种图像预测编码方法及图像编码器 |
WO2015106386A1 (zh) * | 2014-01-14 | 2015-07-23 | 华为技术有限公司 | 以太网信号传送方法、调度方法及其装置和系统 |
TWI549489B (zh) * | 2014-04-16 | 2016-09-11 | 智原科技股份有限公司 | 移動偵測電路與方法 |
KR102379196B1 (ko) * | 2017-05-31 | 2022-03-28 | 삼성전자주식회사 | 처리 장치들 및 그 제어 방법들 |
WO2019203527A1 (ko) * | 2018-04-16 | 2019-10-24 | 엘지전자 주식회사 | 영상 코딩 시스템에서 복수의 주변 블록들을 사용하는 인터 예측에 따른 영상 디코딩 방법 및 장치 |
US10469869B1 (en) * | 2018-06-01 | 2019-11-05 | Tencent America LLC | Method and apparatus for video coding |
KR102646649B1 (ko) | 2018-06-29 | 2024-03-13 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Lut에서의 모션 후보들의 검사 순서 |
CN115134599A (zh) | 2018-06-29 | 2022-09-30 | 抖音视界有限公司 | 更新查找表(lut)的条件 |
CN110662059B (zh) | 2018-06-29 | 2021-04-20 | 北京字节跳动网络技术有限公司 | 使用查找表存储先前编码的运动信息并用其编码后续块的方法和装置 |
KR20210024502A (ko) | 2018-06-29 | 2021-03-05 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Hmvp 후보를 병합/amvp에 추가할 때의 부분/풀 프루닝 |
WO2020003284A1 (en) | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between lut and amvp |
WO2020003261A1 (en) * | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Selection from multiple luts |
CN114845108A (zh) | 2018-06-29 | 2022-08-02 | 抖音视界(北京)有限公司 | 查找表的更新:fifo、约束的fifo |
WO2020003270A1 (en) | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Number of motion candidates in a look up table to be checked according to mode |
JP7181395B2 (ja) | 2018-07-02 | 2022-11-30 | 北京字節跳動網絡技術有限公司 | イントラ予測モードを有するルックアップテーブルおよび非隣接ブロックからのイントラモード予測 |
SG11202013202YA (en) | 2018-07-02 | 2021-01-28 | Huawei Tech Co Ltd | Motion vector prediction method and related apparatus |
US11336914B2 (en) * | 2018-08-16 | 2022-05-17 | Qualcomm Incorporated | History-based candidate list with classification |
CN117241039A (zh) | 2018-08-28 | 2023-12-15 | 华为技术有限公司 | 帧间预测方法、装置以及视频编码器和视频解码器 |
TWI820211B (zh) | 2018-09-12 | 2023-11-01 | 大陸商北京字節跳動網絡技術有限公司 | 取決於總數減去k的開始檢查hmvp候選的條件 |
KR20210075203A (ko) | 2018-11-21 | 2021-06-22 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 서브-블록 병합 단순화를 포함하는 비디오 화상 코딩 방법 및 관련된 장치 |
TWI766214B (zh) | 2018-12-28 | 2022-06-01 | 日商Jvc建伍股份有限公司 | 影像編碼裝置、影像編碼方法、影像編碼程式、影像解碼裝置、影像解碼方法及影像解碼程式 |
WO2020143741A1 (en) | 2019-01-10 | 2020-07-16 | Beijing Bytedance Network Technology Co., Ltd. | Invoke of lut updating |
CN113383554B (zh) | 2019-01-13 | 2022-12-16 | 北京字节跳动网络技术有限公司 | LUT和共享Merge列表之间的交互 |
WO2020147772A1 (en) | 2019-01-16 | 2020-07-23 | Beijing Bytedance Network Technology Co., Ltd. | Motion candidates derivation |
CN110809161B (zh) * | 2019-03-11 | 2020-12-29 | 杭州海康威视数字技术股份有限公司 | 运动信息候选者列表构建方法及装置 |
WO2020192611A1 (en) | 2019-03-22 | 2020-10-01 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between merge list construction and other tools |
WO2020259589A1 (en) * | 2019-06-25 | 2020-12-30 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for inter-frame prediction |
US20240007623A1 (en) * | 2020-11-24 | 2024-01-04 | Hyundai Motor Company | Block splitting structure for efficient prediction and transform, and method and appartus for video encoding and decoding using the same |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120066593A (ko) * | 2010-12-14 | 2012-06-22 | 오수미 | 인터 예측 부호화된 동영상 복호화 방법 |
Family Cites Families (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5982441A (en) | 1996-01-12 | 1999-11-09 | Iterated Systems, Inc. | System and method for representing a video sequence |
US6594313B1 (en) * | 1998-12-23 | 2003-07-15 | Intel Corporation | Increased video playback framerate in low bit-rate video applications |
US7280700B2 (en) * | 2002-07-05 | 2007-10-09 | Microsoft Corporation | Optimization techniques for data compression |
US8625680B2 (en) | 2003-09-07 | 2014-01-07 | Microsoft Corporation | Bitstream-controlled post-processing filtering |
US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US20060222074A1 (en) * | 2005-04-01 | 2006-10-05 | Bo Zhang | Method and system for motion estimation in a video encoder |
CN100473168C (zh) * | 2005-06-21 | 2009-03-25 | 中国科学院计算技术研究所 | 视频编码的运动矢量空间预测方法 |
US8509551B2 (en) | 2005-07-22 | 2013-08-13 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recording with image encoding program and computer readable recording medium recorded with image decoding program |
KR100750136B1 (ko) * | 2005-11-02 | 2007-08-21 | 삼성전자주식회사 | 영상의 부호화, 복호화 방법 및 장치 |
CN101072356B (zh) * | 2006-05-12 | 2011-02-09 | 中国科学院计算技术研究所 | 一种运动矢量预测方法 |
CN101573985B (zh) * | 2006-11-03 | 2012-07-04 | 三星电子株式会社 | 用于视频预测编码的方法和装置以及用于视频预测解码的方法和装置 |
KR101365567B1 (ko) * | 2007-01-04 | 2014-02-20 | 삼성전자주식회사 | 영상의 예측 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
US8345968B2 (en) * | 2007-06-28 | 2013-01-01 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method and image decoding method |
KR101364195B1 (ko) * | 2008-06-26 | 2014-02-21 | 에스케이텔레콤 주식회사 | 움직임벡터 부호화/복호화 방법 및 그 장치 |
KR101517768B1 (ko) * | 2008-07-02 | 2015-05-06 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
US8634457B2 (en) | 2008-09-26 | 2014-01-21 | Qualcomm Incorporated | Determining availability of video data units |
KR101590633B1 (ko) | 2008-11-11 | 2016-02-02 | 삼성전자주식회사 | 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법 |
MX2011013707A (es) | 2009-06-18 | 2012-02-28 | Toshiba Kk | Dispositivo de codificacion de imagenes dinamicas y dispositivo de decodificacion de imagenes dinamicas. |
KR20110008653A (ko) | 2009-07-20 | 2011-01-27 | 삼성전자주식회사 | 움직임 벡터 예측 방법과 이를 이용한 영상 부호화/복호화 장치 및 방법 |
KR101675116B1 (ko) * | 2009-08-06 | 2016-11-10 | 삼성전자 주식회사 | 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
US9036692B2 (en) | 2010-01-18 | 2015-05-19 | Mediatek Inc. | Motion prediction method |
BR112012019560B1 (pt) * | 2010-02-05 | 2021-08-24 | Telefonaktiebolaget Lm Ericsson | Método para gerenciar candidatos a vetor de movimento predito, e, aparelhos de codificação e de decodificação de vídeo |
US9973768B2 (en) * | 2010-03-16 | 2018-05-15 | Texas Instruments Incorporated | CABAC decoder with decoupled arithmetic decoding and inverse binarization |
KR101633153B1 (ko) * | 2010-04-01 | 2016-06-23 | 소니 주식회사 | 화상 처리 장치 및 방법 |
CN102215392B (zh) * | 2010-04-09 | 2013-10-09 | 华为技术有限公司 | 用于估计像素值的帧内预测方法或装置 |
FI3962081T3 (fi) * | 2010-05-25 | 2024-03-25 | Lg Electronics Inc | Uusi planaarinen ennustustila |
US9124898B2 (en) * | 2010-07-12 | 2015-09-01 | Mediatek Inc. | Method and apparatus of temporal motion vector prediction |
KR20120016991A (ko) | 2010-08-17 | 2012-02-27 | 오수미 | 인터 프리딕션 방법 |
WO2012034690A1 (en) | 2010-09-14 | 2012-03-22 | Panasonic Corporation | Limitation of error propagation in line-based prediction for intra coding |
US20120106622A1 (en) * | 2010-11-03 | 2012-05-03 | Mediatek Inc. | Method and Apparatus of Slice Grouping for High Efficiency Video Coding |
US8711940B2 (en) * | 2010-11-29 | 2014-04-29 | Mediatek Inc. | Method and apparatus of motion vector prediction with extended motion vector predictor |
US9049455B2 (en) | 2010-12-28 | 2015-06-02 | Panasonic Intellectual Property Corporation Of America | Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block |
US8755437B2 (en) * | 2011-03-17 | 2014-06-17 | Mediatek Inc. | Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate |
US9319716B2 (en) * | 2011-01-27 | 2016-04-19 | Qualcomm Incorporated | Performing motion vector prediction for video coding |
CN102685477B (zh) * | 2011-03-10 | 2014-12-10 | 华为技术有限公司 | 获取用于合并模式的图像块的方法和设备 |
EP3139611A1 (en) * | 2011-03-14 | 2017-03-08 | HFI Innovation Inc. | Method and apparatus for deriving temporal motion vector prediction |
US20120236934A1 (en) | 2011-03-18 | 2012-09-20 | Qualcomm Incorporated | Signaling of multiview video plus depth content with a block-level 4-component structure |
US9143795B2 (en) * | 2011-04-11 | 2015-09-22 | Texas Instruments Incorporated | Parallel motion estimation in video coding |
US9247249B2 (en) * | 2011-04-20 | 2016-01-26 | Qualcomm Incorporated | Motion vector prediction in video coding |
US20120287999A1 (en) * | 2011-05-11 | 2012-11-15 | Microsoft Corporation | Syntax element prediction in error correction |
PL3879831T3 (pl) * | 2011-05-31 | 2024-07-29 | Jvckenwood Corporation | Urządzenie do kodowania ruchomego obrazu wizyjnego, sposób kodowania ruchomego obrazu wizyjnego i program do kodowania ruchomego obrazu wizyjnego, a także urządzenie do dekodowania ruchomego obrazu wizyjnego, sposób dekodowania ruchomego obrazu wizyjnego i program do dekodowania ruchomego obrazu wizyjnego |
US9282338B2 (en) * | 2011-06-20 | 2016-03-08 | Qualcomm Incorporated | Unified merge mode and adaptive motion vector prediction mode candidates selection |
US9313494B2 (en) * | 2011-06-20 | 2016-04-12 | Qualcomm Incorporated | Parallelization friendly merge candidates for video coding |
WO2012177664A1 (en) | 2011-06-20 | 2012-12-27 | Sweetlabs, Inc. | Systems and methods for streamlined content download |
EP3223523A1 (en) | 2011-06-24 | 2017-09-27 | HFI Innovation Inc. | Method and apparatus for removing redundancy in motion vector predictors |
CA2839274A1 (en) * | 2011-06-30 | 2013-01-03 | Vidyo, Inc. | Motion prediction in scalable video coding |
JP2013034171A (ja) * | 2011-06-30 | 2013-02-14 | Sony Corp | 画像処理装置および方法 |
JP2014523708A (ja) * | 2011-07-01 | 2014-09-11 | モトローラ モビリティ エルエルシー | 動きベクトル予測設計の簡易化 |
US9699456B2 (en) * | 2011-07-20 | 2017-07-04 | Qualcomm Incorporated | Buffering prediction data in video coding |
US9621888B2 (en) | 2011-09-09 | 2017-04-11 | Lg Electronics Inc. | Inter prediction method and apparatus therefor |
US9736489B2 (en) | 2011-09-17 | 2017-08-15 | Qualcomm Incorporated | Motion vector determination for video coding |
US9083983B2 (en) * | 2011-10-04 | 2015-07-14 | Qualcomm Incorporated | Motion vector predictor candidate clipping removal for video coding |
US9871537B2 (en) * | 2011-10-27 | 2018-01-16 | Qualcomm Incorporated | Mapping states in binary arithmetic coder for video coding |
US9124895B2 (en) * | 2011-11-04 | 2015-09-01 | Qualcomm Incorporated | Video coding with network abstraction layer units that include multiple encoded picture partitions |
KR20130050406A (ko) * | 2011-11-07 | 2013-05-16 | 오수미 | 머지 모드에서의 움직임 정보 생성 방법 |
US20130177084A1 (en) * | 2012-01-10 | 2013-07-11 | Qualcomm Incorporated | Motion vector scaling in video coding |
US20130188716A1 (en) * | 2012-01-20 | 2013-07-25 | Qualcomm Incorporated | Temporal motion vector predictor candidate |
US9674527B2 (en) * | 2012-01-31 | 2017-06-06 | Qualcomm Incorporated | Implicit derivation of parallel motion estimation range size |
US10200709B2 (en) * | 2012-03-16 | 2019-02-05 | Qualcomm Incorporated | High-level syntax extensions for high efficiency video coding |
US10863170B2 (en) * | 2012-04-16 | 2020-12-08 | Nokia Technologies Oy | Apparatus, a method and a computer program for video coding and decoding on the basis of a motion vector |
US9549180B2 (en) * | 2012-04-20 | 2017-01-17 | Qualcomm Incorporated | Disparity vector generation for inter-view prediction for video coding |
US20130336405A1 (en) * | 2012-06-15 | 2013-12-19 | Qualcomm Incorporated | Disparity vector selection in video coding |
US9325990B2 (en) * | 2012-07-09 | 2016-04-26 | Qualcomm Incorporated | Temporal motion vector prediction in video coding extensions |
US9479778B2 (en) * | 2012-08-13 | 2016-10-25 | Qualcomm Incorporated | Device and method for coding video information using base layer motion vector candidate |
CN104756498B (zh) * | 2012-09-21 | 2019-04-23 | 英特尔公司 | 跨层运动向量预测 |
US20140086328A1 (en) * | 2012-09-25 | 2014-03-27 | Qualcomm Incorporated | Scalable video coding in hevc |
US9491461B2 (en) * | 2012-09-27 | 2016-11-08 | Qualcomm Incorporated | Scalable extensions to HEVC and temporal motion vector prediction |
US9491459B2 (en) * | 2012-09-27 | 2016-11-08 | Qualcomm Incorporated | Base layer merge and AMVP modes for video coding |
US9699450B2 (en) * | 2012-10-04 | 2017-07-04 | Qualcomm Incorporated | Inter-view predicted motion vector for 3D video |
CN102883163B (zh) * | 2012-10-08 | 2014-05-28 | 华为技术有限公司 | 用于运动矢量预测的运动矢量列表建立的方法、装置 |
US9948939B2 (en) * | 2012-12-07 | 2018-04-17 | Qualcomm Incorporated | Advanced residual prediction in scalable and multi-view video coding |
US9544566B2 (en) * | 2012-12-14 | 2017-01-10 | Qualcomm Incorporated | Disparity vector derivation |
EP2952003B1 (en) * | 2013-01-30 | 2019-07-17 | Intel Corporation | Content adaptive partitioning for prediction and coding for next generation video |
US9762905B2 (en) * | 2013-03-22 | 2017-09-12 | Qualcomm Incorporated | Disparity vector refinement in video coding |
US20140301463A1 (en) * | 2013-04-05 | 2014-10-09 | Nokia Corporation | Method and apparatus for video coding and decoding |
ES2906238T3 (es) * | 2013-07-24 | 2022-04-13 | Qualcomm Inc | Predicción de movimiento avanzada simplificada para 3D-HEVC |
US9554150B2 (en) * | 2013-09-20 | 2017-01-24 | Qualcomm Incorporated | Combined bi-predictive merging candidates for 3D video coding |
US9693077B2 (en) * | 2013-12-13 | 2017-06-27 | Qualcomm Incorporated | Controlling sub prediction unit (sub-PU) motion parameter inheritance (MPI) in three dimensional (3D) HEVC or other 3D coding |
-
2012
- 2012-10-08 CN CN201210377579.4A patent/CN102883163B/zh active Active
-
2013
- 2013-04-07 SG SG10201608387VA patent/SG10201608387VA/en unknown
- 2013-04-07 KR KR1020177005170A patent/KR101835563B1/ko active IP Right Grant
- 2013-04-07 CA CA2845442A patent/CA2845442C/en active Active
- 2013-04-07 MY MYPI2017000481A patent/MY177902A/en unknown
- 2013-04-07 KR KR1020167014630A patent/KR101711568B1/ko active IP Right Grant
- 2013-04-07 AU AU2013314174A patent/AU2013314174B2/en active Active
- 2013-04-07 SG SG11201400427VA patent/SG11201400427VA/en unknown
- 2013-04-07 RU RU2014117043/08A patent/RU2553060C1/ru active
- 2013-04-07 MY MYPI2014000722A patent/MY165294A/en unknown
- 2013-04-07 JP JP2014540313A patent/JP6068490B2/ja active Active
- 2013-04-07 WO PCT/CN2013/073817 patent/WO2014056314A1/zh active Application Filing
- 2013-04-07 EP EP18150524.9A patent/EP3402203A1/en not_active Ceased
- 2013-04-07 EP EP13836185.2A patent/EP2822283A4/en not_active Ceased
- 2013-04-07 BR BR112014010225-2A patent/BR112014010225B1/pt active IP Right Grant
- 2013-04-07 KR KR1020147007584A patent/KR101629220B1/ko active IP Right Grant
- 2013-04-07 KR KR1020187005956A patent/KR101970216B1/ko active IP Right Grant
-
2014
- 2014-06-20 US US14/311,012 patent/US9549181B2/en active Active
-
2015
- 2015-04-22 HK HK15103885.5A patent/HK1203723A1/xx unknown
-
2016
- 2016-11-08 US US15/345,948 patent/US10091523B2/en active Active
- 2016-12-22 JP JP2016249359A patent/JP2017079491A/ja active Pending
-
2018
- 2018-08-03 US US16/054,750 patent/US10511854B2/en active Active
- 2018-10-04 JP JP2018188780A patent/JP6863943B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120066593A (ko) * | 2010-12-14 | 2012-06-22 | 오수미 | 인터 예측 부호화된 동영상 복호화 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016175549A1 (ko) * | 2015-04-27 | 2016-11-03 | 엘지전자 주식회사 | 비디오 신호의 처리 방법 및 이를 위한 장치 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101629220B1 (ko) | 움직임 벡터 예측을 위한 움직임 벡터 목록을 작성하는 방법 및 장치 | |
JP2020184803A (ja) | 候補リスト共有方法及びこのような方法を使用する装置 | |
US10051282B2 (en) | Method for obtaining motion information with motion vector differences | |
US20140153647A1 (en) | Moving picture coding apparatus, moving picture coding method, and moving picture coding program, and moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program | |
JP2016537839A5 (ko) | ||
EP2103141A1 (en) | Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method | |
TW201830969A (zh) | 解碼影像的方法、編碼影像的裝置及方法及非暫態電腦可讀記錄媒體 | |
RU2015153835A (ru) | Способ декодирования видеосигнала | |
KR20130062973A (ko) | 영상의 부호화/복호화 장치 및 그 방법 | |
AU2019212951B2 (en) | Frame-rate up conversion with low complexity | |
CN103841426A (zh) | 用于运动矢量预测的运动矢量列表建立的方法、装置 | |
CN113574893B (zh) | 运动细化和加权预测 | |
JP6638366B2 (ja) | 映像符号化装置、映像符号化方法及び映像符号化プログラム | |
KR101418100B1 (ko) | 모순 검증을 이용한 부호화 및 복호화 방법과 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
AMND | Amendment | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190515 Year of fee payment: 4 |