KR102549223B1 - 비디오 신호 처리 방법 및 장치 - Google Patents
비디오 신호 처리 방법 및 장치 Download PDFInfo
- Publication number
- KR102549223B1 KR102549223B1 KR1020220107199A KR20220107199A KR102549223B1 KR 102549223 B1 KR102549223 B1 KR 102549223B1 KR 1020220107199 A KR1020220107199 A KR 1020220107199A KR 20220107199 A KR20220107199 A KR 20220107199A KR 102549223 B1 KR102549223 B1 KR 102549223B1
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- partition
- reference picture
- value
- prediction
- 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/55—Motion estimation with spatial constraints, e.g. at image or region borders
-
- 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/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/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/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/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/172—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 picture, frame or field
-
- 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/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/184—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 bits, e.g. of the compressed video stream
-
- 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/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 비디오 신호의 처리 방법 및 장치에 관한 것으로, 참조 픽쳐 간의 시간적인 거리의 차이를 고려한 모션 벡터의 스케일링을 통해 모션 벡터 예측의 정확도를 높일 수 있는 비디오 신호의 처리 방법 및 장치에 관한 것이다.
이를 위해 본 발명은, 현재 파티션의 모션 벡터 예측을 위한 적어도 하나의 이웃 파티션 모션 벡터를 선정하는 단계; 선정된 상기 이웃 파티션 모션 벡터의 참조 픽쳐가 현재 파티션의 참조 픽쳐와 다를 경우, 상기 이웃 파티션 모션 벡터를 스케일링하는 단계; 상기 스케일링 된 모션 벡터를 이용하여 현재 파티션의 모션 벡터 예측값을 획득하는 단계; 및 상기 모션 벡터 예측값을 이용하여 현재 파티션의 모션 벡터를 획득하는 단계; 를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법 및 이를 이용한 비디오 신호 처리 장치를 제공한다.
이를 위해 본 발명은, 현재 파티션의 모션 벡터 예측을 위한 적어도 하나의 이웃 파티션 모션 벡터를 선정하는 단계; 선정된 상기 이웃 파티션 모션 벡터의 참조 픽쳐가 현재 파티션의 참조 픽쳐와 다를 경우, 상기 이웃 파티션 모션 벡터를 스케일링하는 단계; 상기 스케일링 된 모션 벡터를 이용하여 현재 파티션의 모션 벡터 예측값을 획득하는 단계; 및 상기 모션 벡터 예측값을 이용하여 현재 파티션의 모션 벡터를 획득하는 단계; 를 포함하는 것을 특징으로 하는 비디오 신호 처리 방법 및 이를 이용한 비디오 신호 처리 장치를 제공한다.
Description
본 발명은 비디오 신호의 처리 방법 및 장치에 관한 것으로, 보다 상세하게는 비디오 신호를 인코딩하거나 디코딩하는 비디오 신호 처리 방법 및 장치에 관한 것이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 압축 부호화의 대상에는 음성, 영상, 문자 등의 대상이 존재하며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다. 비디오 신호에 대한 압축 부호화는 공간적인 상관관계, 시간적인 상관관계, 확률적인 상관관계 등을 고려하여 잉여 정보를 제거함으로써 이루어진다. 그러나 최근의 다양한 미디어 및 데이터 전송 매체의 발전으로 인해, 더욱 고효율의 비디오 신호 처리 방법 및 장치가 요구되고 있다.
본 발명은 상기와 같은 요구를 해결하기 위해 고안된 것으로서, 참조 픽쳐 간의 시간적인 거리의 차이를 고려한 모션 벡터의 스케일링을 통해 모션 벡터 예측의 정확도를 높이기 위한 목적이 있다.
또한, 서로 다른 참조 픽쳐 리스트에서 동일한 참조 픽쳐를 참조하는 이웃 모션 벡터를 검출하여 모션 벡터 예측에 사용하기 위한 목적이 있다.
또한, 모션 벡터 예측을 위한 이웃 모션 벡터의 선정 대상 후보군을 더욱 확장하고자 하는 목적이 있다.
본 발명의 또 다른 목적은 현재 파티션의 모션 벡터 예측 후보군에 포함될 이웃 파티션 모션 벡터를 선정하는 과정에 있어서, 최적의 효율을 갖는 우선 순위 검색 조건을 제공하고자 함에 있다.
또한, 병합 모드에서 사용되는 이웃 파티션의 모션 정보 획득 방법을 스킵 모드와 일반적인 인터 모드에도 적용하여, 모든 모드에서 모션 정보를 예측하는 방법을 단일화(unification)하는 목적이 있다.
상기와 같은 목적을 달성하기 위해 본 발명에 따른 비디오 신호의 처리 방법은, 현재 파티션의 모션 벡터 예측 후보군에 포함될 이웃 파티션 모션 벡터를 선정하는 단계; 선정된 상기 이웃 파티션 모션 벡터의 참조 픽쳐가 현재 파티션의 참조 픽쳐와 다를 경우, 상기 이웃 파티션 모션 벡터를 스케일링하는 단계; 상기 스케일링 된 모션 벡터를 포함하는 모션 벡터 예측 후보군을 이용하여 현재 파티션의 모션 벡터 예측값을 획득하는 단계; 및 상기 모션 벡터 예측값을 이용하여 현재 파티션의 모션 벡터를 획득하는 단계; 를 포함하는 것을 특징으로 한다.
이때, 상기 스케일링 된 모션 벡터는, 픽쳐간 시간 거리를 이용하여 선형 보간한 모션 벡터인 것을 특징으로 한다.
또한, 상기 모션 벡터 예측 후보군은, 현재 파티션의 좌측 하단에 인접하는 파티션(Am+1)과 좌측에 인접하는 파티션들 중 최 하단에 위치한 파티션(Am)으로 이루어진 제 1 그룹과, 현재 파티션의 우측 상단에 인접하는 파티션(Bn+1), 상단에 인접하는 파티션들 중 최고 우측에 위치한 파티션(Bn) 및 좌측 상단에 인접하는 파티션(B-1)으로 이루어진 제 2 그룹에서 각각 선정되는 모션 벡터를 포함하는 것을 특징으로 한다.
또한, 상기 이웃 파티션 모션 벡터를 선정하는 단계는, 참조 픽쳐 리스트, 참조 픽쳐 및 인터 모드 해당 여부 정보를 포함하는 모션 벡터 예측 후보군 선정 조건을 기초로 하여, 상기 제 1 그룹과 제 2 그룹에서 각각 선정하는 것을 특징으로 한다.
본 발명의 실시예에 있어서, 상기 모션 벡터 예측 후보군 선정 조건은, (a) 현재 파티션과 같은 참조 픽쳐 리스트, 같은 참조 픽쳐를 갖는 인터 모드 파티션인지, (b) 현재 파티션과 다른 참조 픽쳐 리스트, 같은 참조 픽쳐를 갖는 인터 모드 파티션인지, (c) 현재 파티션과 같은 참조 픽쳐 리스트, 다른 참조 픽쳐를 갖는 인터 모드 파티션인지 및, (d) 인터 모드를 갖는 파티션인지의 여부를 순차적으로 검색하는 것을 특징으로 한다.
이때, 상기 현재 파티션과 다른 참조 픽쳐 리스트, 같은 참조 픽쳐를 갖는 인터 모드 파티션인지 여부는, POC(Picture Order Count) 값을 기초로 판단하는 것을 특징으로 한다.
또한, 상기 이웃 파티션 모션 벡터를 선정하는 단계는, 상기 제 1 그룹 또는 제 2 그룹의 각 파티션들에 대하여 상기 모션 벡터 예측 후보군 선정 조건을 파티션들의 위치 순서보다 우선 순위로 검색하는 조건 우선 검색을 수행하는 것을 특징으로 한다.
또한, 상기 이웃 파티션 모션 벡터를 선정하는 단계는, 상기 제 1 그룹 또는 제 2 그룹의 각 파티션들에 대하여 파티션들의 위치 순서를 상기 모션 벡터 예측 후보군 선정 조건보다 우선 순위로 검색하는 파티션 위치 우선 검색을 수행하는 것을 특징으로 한다.
또한, 상기 이웃 파티션 모션 벡터를 선정하는 단계는, 상기 제 1 그룹 또는 제 2 그룹의 각 파티션들에 대하여 상기 모션 벡터 예측 후보군 선정 조건 (a)에 대한 조건 우선 검색을 수행하는 단계; 및 상기 조건 우선 검색을 통해 유효한 이웃 파티션 모션 벡터를 검색하지 못할 경우, 상기 모션 벡터 후보군 선정 조건 (b) 내지 (d)에 대하여 파티션 위치 우선 검색을 수행하는 단계; 를 포함하는 것을 특징으로 한다.
한편, 본 발명의 실시예에 따른 비디오 신호 처리 장치는, 현재 파티션의 모션 벡터 예측 후보군에 포함될 이웃 파티션 모션 벡터를 선정하는 이웃 파티션 모션 벡터 선정부; 선정된 상기 이웃 파티션 모션 벡터의 참조 픽쳐가 현재 파티션의 참조 픽쳐와 다를 경우, 상기 이웃 파티션 모션 벡터를 스케일링하는 모션 벡터 스케일링부; 상기 스케일링 된 모션 벡터를 포함하는 모션 벡터 예측 후보군을 이용하여 현재 파티션의 모션 벡터 예측값을 획득하는 모션 벡터 예측값 획득부; 및 상기 모션 벡터 예측값을 이용하여 현재 파티션의 모션 벡터를 획득하는 모션 벡터 획득부; 를 포함하는 것을 특징으로 한다.
본 발명에 따른 비디오 신호 처리 장치에 의하면, 참조 픽쳐 간의 시간적인 거리의 차이를 고려하여 이웃 파티션의 모션 벡터를 스케일링하여 현재 파티션의 모션 벡터 예측에 사용함으로 모션 벡터 예측의 정확도를 높일 수 있게 된다.
또한, 단순히 동일한 참조 픽쳐 리스트의 동일한 참조 픽쳐를 참조하는 이웃 모션 벡터뿐만 아니라, 다양한 후보군의 이웃 모션 벡터를 활용하게 되므로 모션 벡터 예측의 유연성을 확장시키고 정밀한 모션 벡터 예측을 위한 이웃 모션 벡터의 선택 범위를 넓힐 수 있게 된다.
또한, 현재 파티션의 모션 벡터 예측을 위한 이웃 파티션 모션 벡터를 선정하는 과정에서 모션 벡터 예측 후보군 선정 조건과 파티션 위치 순서에 따른 우선 순위를 적절히 조합하여 검색을 수행함으로, 검색 작업의 복잡도를 줄이는 동시에 유효한 이웃 모션 벡터를 획득할 수 있는 효율성을 제공한다.
또한, 병합 모드와 스킵 모드 및 인터 모드의 이웃 파티션 모션 정보 획득 방법을 단일화함으로 이웃 파티션 모션 정보 획득에 필요한 복잡도를 감소시킬 수 있다.
도 1은 본 발명의 실시예에 따른 비디오 신호 인코더 장치의 개략적인 블록도.
도 2는 본 발명의 실시예에 따른 비디오 신호 디코더 장치의 개략적인 블록도.
도 3은 본 발명의 실시예에 따라 유닛을 분할하는 일 예를 나타내는 도면.
도 4는 도 3의 분할 구조를 계층적으로 나타내는 방법에 대한 일 실시예를 도시한 도면.
도 5는 본 발명의 실시예에 따라 예측 유닛 내에서의 다양한 분할 형태를 도시한 도면.
도 6은 현재 파티션의 공간적인 이웃 파티션의 예를 나타낸 도면.
도 7 및 도 8은 이웃 파티션의 모션 벡터를 스케일링하는 방법을 도시한 도면.
도 9는 서로 다른 참조 픽쳐 리스트에서 동일한 참조 픽쳐를 참조하는 예를 나타낸 개략도.
도 10 및 도 11은 현재 파티션과 공간적인 이웃 파티션 각각의 참조 픽쳐 리스트 및 참조 인덱스 값의 예를 나타낸 도면.
도 12는 본 발명의 실시예에 따른 디코더 장치의 움직임 추정부의 구성을 나타낸 개략적인 블록도.
도 13 및 도 14는 본 발명의 실시예에 따라 현재 파티션의 모션 벡터 예측 후보군에 포함될 모션 벡터가 선정되는 공간적 이웃 파티션들을 나타내는 개략도.
도 15는 병합 모드에서 현재 파티션의 병합 대상이 되는 이웃 파티션들을 나타내는 개략도.
도 16은 본 발명의 모션 벡터 예측 후보군 선정 조건을 설명하기 위한 순서도.
도 2는 본 발명의 실시예에 따른 비디오 신호 디코더 장치의 개략적인 블록도.
도 3은 본 발명의 실시예에 따라 유닛을 분할하는 일 예를 나타내는 도면.
도 4는 도 3의 분할 구조를 계층적으로 나타내는 방법에 대한 일 실시예를 도시한 도면.
도 5는 본 발명의 실시예에 따라 예측 유닛 내에서의 다양한 분할 형태를 도시한 도면.
도 6은 현재 파티션의 공간적인 이웃 파티션의 예를 나타낸 도면.
도 7 및 도 8은 이웃 파티션의 모션 벡터를 스케일링하는 방법을 도시한 도면.
도 9는 서로 다른 참조 픽쳐 리스트에서 동일한 참조 픽쳐를 참조하는 예를 나타낸 개략도.
도 10 및 도 11은 현재 파티션과 공간적인 이웃 파티션 각각의 참조 픽쳐 리스트 및 참조 인덱스 값의 예를 나타낸 도면.
도 12는 본 발명의 실시예에 따른 디코더 장치의 움직임 추정부의 구성을 나타낸 개략적인 블록도.
도 13 및 도 14는 본 발명의 실시예에 따라 현재 파티션의 모션 벡터 예측 후보군에 포함될 모션 벡터가 선정되는 공간적 이웃 파티션들을 나타내는 개략도.
도 15는 병합 모드에서 현재 파티션의 병합 대상이 되는 이웃 파티션들을 나타내는 개략도.
도 16은 본 발명의 모션 벡터 예측 후보군 선정 조건을 설명하기 위한 순서도.
이하 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위하여 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
본 발명에서 다음 용어는 다음과 같은 기준으로 해석될 수 있고, 기재되지 않은 용어라도 하기 취지에 따라 해석될 수 있다. 코딩은 경우에 따라 인코딩 또는 디코딩으로 해석될 수 있고, 정보(information)는 값(values), 파라미터(parameter), 계수(coefficients), 성분(elements) 등을 모두 포함하는 용어로서, 경우에 따라 의미는 달리 해석될 수 있으므로 본 발명은 이에 한정되지 아니한다. '유닛'은 영상 처리의 기본 단위 또는 영상의 특정 위치를 지칭하는 의미로 사용되었으며, 경우에 따라서는 '블록', '파티션' 또는 '영역' 등의 용어와 서로 혼용하여 사용될 수 있다. 또한, 본 명세서에서 유닛은 코딩 유닛, 예측 유닛, 변환 유닛을 모두 포함하는 개념으로 사용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 비디오 신호 인코딩 장치의 개략적인 블록도이다. 도 1을 참조하면, 본 발명의 인코딩 장치(100)는 크게 변환부(110), 양자화부(115), 역양자화부(120), 역변환부(125), 필터링부(130), 예측부(150) 및 엔트로피 코딩부(160)를 포함한다.
변환부(110)는 입력받은 비디오 신호에 대한 화소값을 변환하여 변환 계수 값을 획득한다. 예를 들어, 이산 코사인 변환(DCT: Discrete Cosine Transform) 또는 웨이블릿 변환(Wavelet Transform) 등이 사용될 수 있다. 특히 이산 코사인 변환은 입력된 영상 신호를 일정 크기의 블록 형태로 나누어 변환을 수행하게 된다. 변환에 있어서 변환 영역 내의 값들의 분포와 특성에 따라서 코딩 효율이 달라질 수 있다.
양자화부(115)는 변환부(110)에서 출력된 변환 계수 값을 양자화한다. 역양자화부(120)에서는 변환 계수 값을 역양자화하고, 역변환부(125)에서는 역양자화된 변환 계수값을 이용하여 원래의 화소값을 복원한다.
필터링부(130)는 복원된 영상의 품질 개선을 위한 필터링 연산을 수행한다. 예를 들어, 디블록킹 필터 및 적응적 루프 필터 등이 포함될 수 있다. 필터링을 거친 영상은 출력되거나 참조 영상으로 이용하기 위하여 저장부(156)에 저장된다.
코딩 효율을 높이기 위하여 영상 신호를 그대로 코딩하는 것이 아니라, 이미 코딩된 영역을 이용하여 영상을 예측하고, 예측된 영상에 원 영상과 예측 영상간의 레지듀얼 값을 더하여 복원 영상을 획득하는 방법이 사용된다. 인트라 예측부(152)에서는 현재 영상 내에서 화면내 예측을 수행하며, 인터 예측부(154)에서는 저장부(156)에 저장된 참조 영상을 이용하여 현재 영상을 예측한다. 인트라 예측부(152)는 현재 영상 내의 복원된 영역들로부터 화면내 예측을 수행하여, 화면내 부호화 정보를 엔트로피 코딩부(160)에 전달한다. 인터 예측부(154)는 다시 움직임 보상부(162) 및 움직임 추정부(164)를 포함하여 구성될 수 있다. 움직임 추정부(164)에서는 복원된 특정 영역을 참조하여 현재 영역의 모션 벡터값을 획득한다. 움직임 추정부(164)에서는 참조 영역의 위치 정보(참조 프레임, 모션 벡터 등) 등을 엔트로피 코딩부(160)로 전달하여 비트스트림에 포함될 수 있도록 한다. 움직임 추정부(164)에서 전달된 모션 벡터값을 이용하여 움직임 보상부(162)에서는 화면간 움직임 보상을 수행한다.
엔트로피 코딩부(160)는 양자화된 변환 계수, 화면간 부호화 정보, 화면내 부호화 정보 및 인터 예측부(154)로부터 입력된 참조 영역 정보 등을 엔트로피 코딩하여 비디오 신호 비트스트림을 생성한다. 여기서 엔트로피 코딩부(160)에서는 가변 길이 코딩(VLC: Variable Length Coding) 방식과 산술 코딩(arithmetic coding) 등이 사용될 수 있다. 가변 길이 코딩(VLC) 방식은 입력되는 심볼들을 연속적인 코드워드로 변환하는데, 코드워드의 길이는 가변적일 수 있다. 예를 들어, 자주 발생하는 심볼들을 짧은 코드워드로, 자주 발생하지 않은 심볼들은 긴 코드워드로 표현하는 것이다. 가변 길이 코딩 방식으로서 컨텍스트 기반 적응형 가변 길이 코딩(CAVLC: Context-based Adaptive Variable Length Coding) 방식이 사용될 수 있다. 산술 코딩은 연속적인 데이터 심볼들을 하나의 소수로 변환하는데, 산술 코딩은 각 심볼을 표현하기 위하여 필요한 최적의 소수 비트를 얻을 수 있다. 산술 코딩으로서 컨텍스트 기반 적응형 산술 부호화(CABAC: Context-based Adaptive Binary Arithmetic Code)가 이용될 수 있다.
도 2는 본 발명의 일 실시예에 따른 비디오 신호 디코딩 장치(200)의 개략적인 블록도이다. 도 2를 참조하면 본 발명의 디코딩 장치(200)는 크게 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(225), 필터링부(230), 예측부(250)를 포함한다.
엔트로피 디코딩부(210)는 비디오 신호 비트스트림을 엔트로피 디코딩하여, 각 영역에 대한 변환 계수, 모션 벡터 등을 추출한다. 역양자화부(220)는 엔트로피 디코딩된 변환 계수를 역양자화하고, 역변환부(225)는 역양자화된 변환 계수를 이용하여 원래의 화소값을 복원한다.
한편, 필터링부(230)는 영상에 대한 필터링을 수행하여 화질을 향상시킨다. 여기에는 블록 왜곡 현상을 감소시키기 위한 디블록킹 필터 및/또는 영상 전체의 왜곡 제거를 위한 적응적 루프 필터 등이 포함될 수 있다. 필터링을 거친 영상은 출력되거나 다음 프레임에 대한 참조 영상으로 이용하기 위하여 프레임 저장부(256)에 저장된다.
또한, 본 발명의 예측부(250)는 인트라 예측부(252) 및 인터 예측부(254)를 포함하고, 전술한 엔트로피 디코딩부(210)를 통해 디코딩된 부호화 타입, 각 영역에 대한 변환 계수, 모션 벡터 등의 정보를 활용하여 예측 영상을 복원하게 된다.
이와 관련하여, 상기 인트라 예측부(252)에서는 현재 영상 내의 디코딩된 샘플로부터 화면내 예측을 수행하게 된다.
인터 예측부(254)는 프레임 저장부(256)에 저장된 참조 영상을 이용하여 모션 벡터를 추정하고 예측 영상을 생성한다. 인터 예측부(254)는 다시 움직임 보상부(262) 및 움직임 추정부(264)를 포함하여 구성될 수 있다. 움직임 추정부(264)에서는 현재 블록과 코딩에 사용하는 참조 프레임의 참조 블록간의 관계를 나타내는 모션 벡터를 획득하여 움직임 보상부(262)로 전달한다.
상기 인트라 예측부(252) 또는 인터 예측부(254)로부터 출력된 예측값, 및 역변환부(225)로부터 출력된 화소값이 더해져서 복원된 비디오 프레임이 생성된다.
이하에서는, 상기 인코더 장치와 디코더 장치의 동작에 있어서, 도 3 내지 도 5를 참조하여 코딩 유닛 및 예측 유닛 등을 분할하는 방법을 설명하기로 한다.
코딩 유닛이란 상기에서 설명한 비디오 신호의 처리 과정에서, 예를 들어 화면내(intra)/화면간(inter) 예측, 변환(transform), 양자화(quantization) 및/또는 엔트로피 코딩(entropy coding) 등의 과정에서 영상을 처리하기 위한 기본 단위를 의미한다. 하나의 영상을 코딩하는 데 있어서 사용되는 코딩 유닛의 크기는 일정하지 않을 수 있다. 코딩 유닛은 사각형 형태를 가질 수 있고, 하나의 코딩 유닛은 다시 여러 개의 코딩 유닛으로 분할 가능하다.
도 3은 본 발명의 실시 예에 따라 코딩 유닛을 분할하는 일 예를 나타낸 것이다. 예를 들어, 2N x 2N 크기를 가지는 하나의 코딩 유닛은 다시 네 개의 NxN 크기를 가지는 코딩 유닛으로 분할될 수 있다. 이러한 코딩 유닛의 분할은 재귀적으로 이루어질 수 있으며, 모든 코딩 유닛들이 동일한 형태로 분할될 필요는 없다. 다만, 코딩 및 처리과정에서의 편의를 위하여 코딩 유닛의 최대 크기(310) 또는 최소 크기(320)에 대한 제한이 있을 수 있다.
하나의 코딩 유닛에 대하여, 해당 코딩 유닛이 분할되는지 여부를 나타내는 정보를 저장할 수 있다. 예를 들어, 도 3과 같이 하나의 코딩 유닛은 4개의 정방형 코딩 유닛으로 나누어질 수 있다고 가정하자. 도 4는 도 3에서 도시하는 코딩 유닛의 분할 구조를 0과 1을 이용하여 계층적으로 나타내는 방법에 대한 일 실시예를 도시한 것이다. 코딩 유닛의 분할 여부를 나타내는 정보는 해당 유닛이 분할 된 경우 '1', 분할되지 않은 경우 '0'의 값으로 할당할 수 있다. 도 4에서 도시하듯이, 분할 여부를 나타내는 플래그 값이 1이면 해당 노드에 대응하는 블록은 다시 4개의 블록으로 나누어지고, 0이면 더 이상 나누어지지 않고 해당 코딩 유닛에 대한 처리 프로세스가 수행될 수 있다.
블록이 반드시 4개의 정방향 영역으로만 나누어질 수 있는 것은 아니다. 이러한 경우에는 분할 정보에 미리 정해진 분할 방식에 대한 코드를 매핑시켜서 나타낼 수 있다. 예를 들어, 해당 정보 값이 1이면 해당 블록은 2개의 수평 직사각형 서브 블록으로 나누어지고, 2이면 해당 블록은 2개의 수직 직사각형 서브 블록으로 나누어지고, 3이면 4개의 정사각형 서브 블록으로 나누어지도록 설정할 수도 있다. 이러한 방법은 분할 방식의 몇 가지 실시 예를 나타낸 것으로, 본 발명을 한정하는 것은 아니다.
상기에서 설명한 코딩 유닛의 구조는 재귀적인 트리 구조를 이용하여 나타낼 수 있다. 즉, 하나의 픽쳐 또는 최대 크기 코딩 유닛을 루트(root)로 하여, 다른 코딩 유닛으로 분할되는 코딩 유닛은 분할된 코딩 유닛의 개수만큼의 자식(child) 노드를 가지게 된다. 따라서, 더 이상 분할되지 않는 코딩 유닛이 리프(leaf) 노드가 된다. 하나의 코딩 유닛에 대하여 정방형 분할만이 가능하다고 가정할 때, 하나의 코딩 유닛은 최대 4개의 다른 코딩 유닛으로 분할될 수 있으므로 코딩 유닛을 나타내는 트리는 쿼드 트리(Quard tree) 형태가 될 수 있다.
인코더에서는 비디오 영상의 특성(예를 들어, 해상도)에 따라서 혹은 코딩의 효율을 고려하여 최적의 코딩 유닛의 크기를 선택하고 이에 대한 정보 또는 이를 유도할 수 있는 정보가 비트스트림에 포함될 수 있다. 예를 들면, 최대 코딩 유닛의 크기 및 트리의 최대 깊이를 정의할 수 있다. 정방형 분할을 할 경우, 코딩 유닛의 높이 및 너비는 부모 노드의 코딩 유닛의 높이 및 너비의 반이 되므로, 상기와 같은 정보를 이용하면 최소 코딩 유닛 크기를 구할 수 있다. 혹은 역으로, 최소 코딩 유닛 크기 및 트리의 최대 깊이를 미리 정의하여 이용하고, 이를 이용하여 필요할 경우에 최대 코딩 유닛의 크기를 유도하여 이용할 수 있다. 정방형 분할에서 유닛의 크기는 2의 배수 형태로 변화하기 때문에, 실제 코딩 유닛의 크기는 2를 밑으로 하는 로그값으로 나타내어 전송 효율을 높일 수 있다.
디코더에서는 현재 코딩 유닛이 분할되었는지 여부를 나타내는 정보를 획득할 수 있다. 이러한 정보는 특정 조건 하에만 획득하게(전송되게) 하면 효율을 높일 수 있다. 예를 들어 현재 코딩 유닛이 분할 가능한 조건은 현재 위치에서 현재 코딩 유닛 크기를 더한 것이 픽쳐의 크기보다 작고, 현재 유닛 크기가 기설정된 최소 코딩 유닛 크기보다 큰 경우이므로, 이러한 경우에만 분할되었는지를 나타내는 정보를 획득할 수 있다.
만약 상기 정보가 코딩 유닛이 분할되었음을 나타내는 경우, 분할될 코딩 유닛의 크기는 현재 코딩 유닛의 반이 되고, 현재 처리 위치를 기준으로 하여 4개의 정방형 코딩 유닛들로 분할된다. 각 분할된 코딩 유닛들에 대해서 상기와 같은 처리를 반복할 수 있다.
코딩을 위한 픽쳐 예측(모션 보상)은 더 이상 나누어지지 않는 코딩 유닛(즉 코딩 유닛 트리의 리프 노드)을 대상으로 이루어진다. 이러한 예측을 수행하는 기본 단위를 이하에서는 예측 유닛(prediction unit) 또는 예측 블록(prediction block)이라고 한다. 예측 유닛은 다양한 형태로 분할 가능한데, 정방형, 직사각형 등의 대칭적인 형태나, 비대칭적인 형태, 혹은 기하학적 형태의 서브-예측 유닛으로의 분할이 가능하다. 예를 들면, 하나의 예측 유닛은 도 5에 나타난 바와 같이 2Nx2N, 2NxN, Nx2N 등의 크기의 서브-예측 유닛으로 나누어질 수 있다. 이때, 비트스트림에는 상기 예측 유닛이 분할되었는지 여부, 혹은 어떠한 형태로 분할되었는지에 대한 정보가 포함될 수 있다. 혹은 이러한 정보는 다른 정보들로부터 유도될 수도 있다. 한편, 본 발명의 명세서에서 정의되는 파티션(partition)이라는 용어는 픽쳐 예측을 수행하는 기본 단위인 상기 예측 유닛 또는 서브-예측 유닛을 대체하는 용어로 사용될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
디코딩이 수행되는 현재 유닛(current unit)을 복원하기 위해서 현재 유닛이 포함된 현재 픽쳐 또는 다른 픽쳐들의 디코딩된 부분을 이용할 수 있다. 복원에 현재 픽쳐만을 이용하는, 즉 화면내 예측만을 수행하는 픽쳐(슬라이스)를 인트라 픽쳐 또는 I 픽쳐(슬라이스), 각 유닛을 예측하기 위하여 최대 하나의 모션 벡터 및 레퍼런스 인덱스를 이용하는 픽쳐(슬라이스)를 예측 픽쳐(predictive picture) 또는 P 픽쳐(슬라이스), 최대 두 개의 모션 벡터 및 레퍼런스 인덱스를 이용하는 픽쳐(슬라이스)를 쌍예측 픽쳐(Bi-predictive picture) 또는 B 픽쳐(슬라이스) 라고 한다.
인트라 예측부에서는 현재 픽쳐 내의 복원된 영역들로부터 대상 유닛의 픽셀값을 예측하는 화면내 예측(Intra prediction)을 수행한다. 예를 들어, 현재 유닛을 중심으로, 상단, 좌측, 좌측 상단 및/또는 우측 상단에 위치한 유닛들의 부호화된 픽셀로부터 현재 유닛의 픽셀값을 예측할 수 있다.
인트라 모드는 픽셀값 예측에 사용되는 참조 픽셀들이 위치한 참조 영역의 방향 및 예측 방식에 따라 크게 수직(Vertical), 수평(Horizontal), DC, Angular 모드 등으로 나눌 수 있다. 수직 모드는 대상 유닛의 수직으로 인접한 영역의 값을 현재 유닛의 예측값으로, 수평 모드는 수평으로 인접한 영역을 참조 영역으로 이용한다. DC 모드에서는 참조 영역들의 평균값을 예측값으로 이용하게 된다. 한편, Angular 모드는 참조 영역이 임의의 방향에 위치한 경우로, 현재 픽셀과 참조 픽셀 간의 각도로 해당 방향을 나타낼 수 있다. 편의를 위하여, 기 정해진 각도 및 예측 모드 번호를 사용할 수 있고, 사용되는 각도의 수는 대상 유닛의 크기에 따라서 달라질 수 있다.
이렇게 다양한 예측 방법들에 대하여 몇 가지 특정 모드들을 정의하여 이용할 수 있다. 예측 모드는 그 모드를 나타내는 값 자체로 전송될 수도 있으나, 전송 효율을 높이기 위하여, 현재 블록의 예측 모드 값을 예측하는 방법을 이용할 수 있다. 이때 디코더에서는 예측 모드에 대한 예측값이 그대로 사용되는지, 실제 값과의 차이가 얼마인지를 이용한 정보로 현재 블록의 예측 모드를 획득할 수 있다.
한편, 인터 예측부에서는 현재 픽쳐가 아닌 복원된 다른 픽쳐들의 정보를 이용하여 대상 유닛의 픽셀값을 예측하는 화면간 예측(Inter prediction)을 수행한다. 예측에 이용되는 픽쳐를 참조 픽쳐(reference picture)라고 한다. 현재 유닛을 예측하는데 이용하는 참조 영역은 참조 픽쳐를 나타내는 인덱스(index) 및 참조 픽쳐를 나타내는 모션 벡터(motion vector) 정보 등을 이용하여 나타낼 수 있다.
화면간 예측에는 순방향 예측(forward direction prediction), 역방향 예측(backward direction prediction) 및 쌍예측(Bi-prediction)이 있을 수 있다. 순방향 예측은 시간적으로 현재 픽쳐 이전에 표시(또는 출력)되는 1개의 참조 픽쳐를 이용한 예측이고, 역방향 예측은 시간적으로 현재 픽쳐 이후에 표시(또는 출력)되는 1개의 참조 픽쳐를 이용한 예측을 의미한다. 이를 위해서는 1개의 모션 정보 (예를 들어, 모션 벡터 및 참조 픽쳐 인덱스)가 필요할 수 있다. 쌍예측 방식에서는 최대 2개의 참조 영역을 이용할 수 있는데, 이 2개의 참조 영역은 동일한 참조 픽쳐에 존재할 수도 있고, 서로 다른 픽쳐에 각각 존재할 수도 있다. 즉, 쌍예측 방식에서는 최대 2개의 모션 정보(예를 들어 모션 벡터 및 참조 픽쳐 인덱스)가 이용될 수 있는데, 2개의 모션 벡터가 동일한 참조 픽쳐 인덱스를 가질 수도 있고 서로 다른 참조 픽쳐 인덱스를 가질 수도 있다. 이때, 참조 픽쳐들은 시간적으로 현재 픽쳐 이전이나 이후 모두에 표시(또는 출력)될 수 있다.
인터 모드로 코딩되는 예측 유닛은 임의의 파티션(예를 들면, 대칭형, 비대칭형 또는 기하학적 형태)으로 나누어질 수 있으며, 각 파티션은 상기에서 설명한 바와 같이 하나 또는 두 개의 참조 픽쳐로부터 예측될 수 있다.
현재 예측 유닛의 모션 정보(motion information)는 모션 벡터 정보(motion vector information)와 참조 픽쳐 인덱스(reference picture index)를 포함할 수 있다. 상기 모션 벡터 정보는 모션 벡터, 모션 벡터 예측값(motion vector prediction) 또는 차분 모션 벡터(differential motion vector)를 포함할 수 있고, 상기 모션 벡터 예측값을 특정하는 인덱스 정보를 의미할 수도 있다. 차분 모션 벡터는 상기 모션 벡터와 모션 벡터 예측값 간의 차분값을 의미한다.
모션 벡터 및 참조 픽쳐 인덱스를 이용하여 현재 예측 유닛의 참조 유닛을 획득할 수 있다. 상기 참조 유닛은 상기 참조 픽쳐 인덱스를 가진 참조 픽쳐 내에 존재한다. 또한, 상기 모션 벡터에 의해서 특정된 유닛의 픽셀값 또는 보간(interpolation)된 값이 상기 현재 예측 유닛의 예측값(predictor)으로 이용될 수 있다. 즉, 모션 정보를 이용하여, 이전에 디코딩된 픽쳐로부터 현재 예측 유닛의 영상을 예측하는 모션 보상(motion compensation)이 수행된다.
한편, 현재 픽쳐에 대하여, 화면 간 예측을 위하여 사용되는 픽쳐들로 참조 픽쳐 리스트를 구성할 수 있다. B 픽쳐의 경우에는 두 개의 참조 픽쳐 리스트를 필요로 하며, 이하에서는 각각을 참조 픽쳐 리스트 0(또는 List 0), 참조 픽쳐 리스트 1(또는 List 1)으로 지칭한다.
모션 벡터와 관련한 전송량을 줄이기 위하여, 이전에 코딩된 유닛들의 모션 정보를 이용하여 모션 벡터 예측값을 획득하고, 이에 대한 차분값(motion vector difference)만을 전송하는 방법을 이용할 수 있다. 디코더에서는 디코딩된 다른 유닛들의 모션 정보들을 이용하여 현재 유닛의 모션 벡터 예측값을 구하고, 전송된 차분값을 이용하여 현재 유닛에 대한 모션 벡터값을 획득하게 된다.
예를 들어 도 6을 참조로 하면, 현재 예측 유닛(파티션)의 좌측에 인접한 파티션을 이웃 파티션 A, 상단에 인접한 파티션을 이웃 파티션 B, 우측 상단에 인접한 파티션을 이웃 파티션 C라 하고, 각각의 모션 벡터를 MV_a, MV_b 및 MV_c라 하자. 상기 현재 파티션의 모션 벡터 예측값(MVp)은 상기 MV_a, MV_b 및 MV_c의 수평과 수직 성분의 중앙(median)값으로 유도될 수 있다. 만약 이웃 파티션 C의 디코딩 정보를 획득할 수 없다면, 현재 파티션의 좌측 상단에 인접한 이웃 파티션 D 및 이의 모션 벡터 MV_d가 대신 이용될 수 있다.
이때, 현재 파티션의 모션 벡터 예측값(MVp)을 구하기 위해 사용되는 이웃 파티션의 참조 픽쳐가 현재 파티션의 참조 픽쳐와 다를 경우에도 파티션의 모션 벡터값을 그대로 사용한다면, 정확한 모션 벡터 예측에 한계가 있게 된다. 따라서 본 발명에서는 보다 정확한 모션 벡터 예측을 수행하기 위하여, 이웃 모션 벡터를 스케일링(scailing)하는 기술을 사용할 수 있다.
모션 벡터 스케일링이란 현재 픽쳐와 각 파티션(현재 파티션 및 인접한 이웃 파티션)의 참조 픽쳐 간의 시간(temporal) 거리를 이용하여 모션 벡터를 선형 보간하는 작업을 말한다. 즉, 이웃 파티션의 모션 벡터를, 현재 픽쳐와 이웃 파티션의 참조 픽쳐 간의 시간적 거리, 및 현재 픽쳐와 현재 파티션의 참조 픽쳐 간의 시간적 거리의 비율을 통해 선형 보간하는 작업이다.
더욱 구체적으로, 스케일링 된 모션 벡터(MV'X)는 다음과 같은 수식을 통해 구할 수 있다.
여기에서 MVX는 이웃 파티션의 모션 벡터 MV_a, MV_b,MV_c 및 MV_d 중 어느 하나를 가리키며, MVX'는 이의 스케일링 된 값을 나타낸다. 또한, fX는 해당 이웃 파티션의 참조 픽쳐 넘버를 가리키며, fME는 현재 파티션의 참조 픽쳐 넘버, fc는 현재 픽쳐 넘버를 가리킨다. 이와 같은 선형 보간을 통해 이웃 파티션의 모션 벡터는 현재 파티션의 참조 픽쳐에 대응되도록 다운 스케일링 또는 업 스케일링 될 수 있으며, 각 파티션 간의 참조 픽쳐 차이로 인한 오차를 줄일 수 있게 된다.
또한, 본 발명의 실시예에 의하면 정수 연산을 통한 모션 벡터 스케일링을 수행할 수도 있다. 첨부된 도 7 및 도 8을 참조로 설명하면, 이웃 파티션의 모션 벡터(mvL0N)의 스케일링 된 값(mvL0N_scaled)은 이웃 파티션의 참조 픽쳐와 현재 픽쳐 간의 시간적 거리(td), 및 현재 파티션의 참조 픽쳐와 현재 픽쳐 간의 시간적 거리(tb)의 비율(DistScaleFactor)을 이용하여 다음과 같이 구할 수 있다.
여기에서, DistScaleFactor는 MPEG-4 AVC/H.264에 정의된 바처럼 다음과 같이 구할 수 있다.
이때, tx = (16384 + Abs(td/2))/td 이다.
이와 같이, 현재 파티션의 모션 벡터 예측을 위해 선정된 이웃 파티션의 모션 벡터는 참조 픽쳐 간의 시간적 거리의 비율(tb/td)을 기초로 스케일링 된 값으로 변환하여 이용할 수 있다. 또한, 선정된 이웃 파티션의 모션 벡터 예측 방향이 현재 파티션의 모션 벡터 예측 방향과 다를 경우에는, 도 8에 도시된 바와 같이 상기 이웃 파티션의 모션 벡터를 역방향으로 스케일링 변환하여 이용할 수 있다.
전술한 바와 같은 모션 벡터 스케일링 방법은 현재 파티션의 모션 벡터 예측의 정밀도를 높이기 위해 사용될 수 있다. 예를 들어, 도 6에 도시된 바와 같이 현재 파티션의 이웃 파티션 A, B, C 및 D의 모션 벡터 MV_a, MV_b, MV_c 및 MV_d를 이용하여 현재 파티션의 모션 벡터 예측값(MVp)을 하기와 같이 획득할 수 있다.
먼저, 이웃 파티션 A, B, C, 및 D의 참조 인덱스 refidx_a, refidx_b, refidx_c 및 refidx_d 중 어느 하나의 참조 인덱스가 현재 파티션의 참조 인덱스 refidx 와 같을 경우(예를 들어, 참조 인덱스 refidx_a가 현재 파티션의 참조 인덱스 refidx 와 같다고 할 때), 현재 파티션의 모션 벡터 예측값(MVp)은 ⅰ) "MV_a", "MV_b의 스케일링 된 값" 및 "MV_c의 스케일링 된 값"의 중앙값, ⅱ) "MV_a", "MV_b의 스케일링 된 값", "MV_c의 스케일링 된 값" 및 "MV_d의 스케일링 된 값"의 중앙값, ⅲ) "MV_a" 및 "MV_b의 스케일링 된 값"의 평균값(여기서, MV_b는 이웃 파티션 B, C 및 D 중 현재 파티션의 참조 인덱스와 가장 가까운 참조 인덱스를 갖는 파티션 B의 모션 벡터이다.), ⅳ) "MV_a" 중 어느 하나를 현재 파티션의 모션 벡터 예측값(MVp)으로 획득할 수 있다.
다음으로, 이웃 파티션 A, B, C, 및 D의 참조 인덱스 refidx_a, refidx_b, refidx_c 및 refidx_d 중 두 개의 참조 인덱스가 현재 파티션의 참조 인덱스 refidx 와 같을 경우(예를 들어, 참조 인덱스 refidx_a 및 refidx_b가 현재 파티션의 참조 인덱스 refidx 와 같다고 할 때), 현재 파티션의 모션 벡터 예측값(MVp)은 ⅰ) "MV_a", "MV_b" 및 "MV_c의 스케일링 된 값"의 중앙값, ⅱ) "MV_a", "MV_b", "MV_c의 스케일링 된 값" 및 "MV_d의 스케일링 된 값"의 중앙값, ⅲ) "MV_a" 및 "MV_b"의 평균값, ⅳ) "MV_a(혹은 MV_b)" 중 어느 하나를 현재 파티션의 모션 벡터 예측값(MVp)으로 획득할 수 있다.
다음으로, 이웃 파티션 A, B, C, 및 D의 참조 인덱스 refidx_a, refidx_b, refidx_c 및 refidx_d 중 세 개의 참조 인덱스가 현재 파티션의 참조 인덱스 refidx 와 같을 경우(예를 들어, 참조 인덱스 refidx_a, refidx_b 및 refidx_c가 현재 파티션의 참조 인덱스 refidx 와 같다고 할 때), 현재 파티션의 모션 벡터 예측값(MVp)은 ⅰ) "MV_a", "MV_b" 및 "MV_c"의 중앙값, ⅱ) "MV_a", "MV_b", "MV_c" 및 "MV_d의 스케일링 된 값"의 중앙값, ⅲ) "MV_a", "MV_b" 및 "MV_c"의 평균값, ⅳ) "MV_a(혹은 MV_b 또는 MV_c)" 중 어느 하나를 현재 파티션의 모션 벡터 예측값(MVp)으로 획득할 수 있다.
마지막으로, 이웃 파티션 A, B, C, 및 D의 참조 인덱스 refidx_a, refidx_b, refidx_c 및 refidx_d 중 현재 파티션의 참조 인덱스 refidx 와 같은 참조 인덱스가 없는 경우, 현재 파티션의 모션 벡터 예측값(MVp)은 ⅰ) "MV_a의 스케일링 된 값", "MV_b의 스케일링 된 값" 및 "MV_c의 스케일링 된 값"의 중앙값, ⅱ) "MV_a의 스케일링 된 값", "MV_b의 스케일링 된 값", "MV_c의 스케일링 된 값" 및 "MV_d의 스케일링 된 값"의 중앙값, ⅲ) "MV_a의 스케일링 된 값", "MV_b의 스케일링 된 값" 및 "MV_d의 스케일링 된 값"의 중앙값 중 어느 하나를 현재 파티션의 모션 벡터 예측값(MVp)으로 획득할 수 있다.
상기와 같이 이웃 파티션들의 모션 벡터(또는 스케일링 된 모션 벡터)의 중앙값 또는 평균값을 이용하여 현재 파티션의 모션 벡터 예측값(MVp)을 구하는 방법은 본 발명을 설명하기 위한 예시로써, 본 발명이 상기 실시예에 한정되는 것은 아니다. 즉, 상기 실시예와 같이 현재 파티션에 인접하는 4개의 이웃 파티션(좌측, 상단, 좌측 상단 및 우측 상단)을 사용할 수도 있지만, 3개의 이웃 파티션(좌측, 상단 및 우측 상단)을 사용하는 것도 물론 가능하다.
또한, 현재 파티션의 공간적 이웃 파티션들 뿐만 아니라 시간적 이웃 파티션들에 대하여도 전술한 모션 벡터 스케일링 방법을 수행하여 현재 파티션의 모션 벡터 예측에 사용할 수 있다. 여기서, 현재 파티션의 공간적인 이웃 파티션이란 현재 파티션과 같은 픽쳐(또는 슬라이스) 내에서 현재 파티션의 좌측 또는 상단 등에 위치하는 이웃 파티션을 가리킨다. 또한, 현재 파티션의 시간적인 이웃 파티션이란 현재 파티션의 co-located 파티션과 같이 현재 파티션과 다른 픽쳐에서 현재 파티션의 대응하는 위치에 존재하는 이웃 파티션을 가리킨다. 본 발명의 실시예에 따르면, 상기 공간적 이웃 파티션 뿐만 아니라 시간적 이웃 파티션의 모션 벡터를 이용하여 모션 벡터 예측값을 구할 수 있으며, 이에 대해서는 후술하도록 한다.
이와 같이, 본 발명은 현재 파티션과 참조 인덱스(또는 참조 픽쳐)가 다른 이웃 파티션의 모션 벡터를 사용하여 모션 벡터 예측을 수행할 경우, 해당 모션 벡터를 스케일링하여 사용함으로 모션 벡터 예측의 정밀도를 높일 수 있다.
한편, 본 발명의 실시예에 따르면, 현재 파티션에서 구하고자 하는 모션 벡터의 참조 픽쳐 리스트와 참조 인덱스 값이 모두 같은 이웃 파티션의 모션 벡터뿐만 아니라, 참조 픽쳐 리스트가 다른 이웃 파티션의 모션 벡터를 현재 파티션의 모션 벡터 예측에 사용할 수 있다.
전술한 바와 같이, 쌍방향 예측을 수행하는 B 슬라이스에서는 참조 픽쳐 리스트 0(List 0)와 참조 픽쳐 리스트 1(List 1)의 최대 두 개의 참조 픽쳐 리스트를 갖는데, List 0를 참조하는 경우 L0 예측, List 1을 참조하는 경우 L1 예측이라 한다. 이때, 도 9를 참조로 하면 상기 B 슬라이스에서는 참조 픽쳐 리스트가 다른데도 불구하고 동일한 참조 픽쳐를 가리키는 경우가 발생할 수 있다. 이러한 상황은 특히 과거의 픽쳐만을 참조하는 low-delay 환경에서 발생할 수 있다. 도 9에서 화면 n-1은 List 0의 0번째 참조 픽쳐이면서, List 1의 1번째 참조 픽쳐에 해당한다. 또한, 화면 n-2는 List 0의 1번째 참조 픽쳐이면서, 동시에 List 1의 0번째 참조 픽쳐에 해당한다.
따라서, 본 발명은 상기와 같이 현재 파티션과 참조 픽쳐 리스트가 다른데도 불구하고 동일한 참조 픽쳐를 참조하는 이웃 파티션의 모션 벡터를 현재 파티션의 모션 벡터 예측에 사용할 수 있다. 이때, 서로 다른 참조 픽쳐 리스트에서 동일한 참조 픽쳐를 참조하는 파티션인지 여부는 POC(Picture Order Count) 값을 기초로 하여 판단할 수 있다.
여기에서, POC란 영상(픽쳐)의 순서를 시간순으로 일련번호를 부여한 값을 의미한다. 따라서, 현재 부호화 대상이 되는 픽쳐의 POC값보다 작은 POC값을 가지는 참조 픽쳐들은 시간적으로 과거의 픽쳐를 의미하고, 현재 부호화 대상이 되는 픽쳐의 POC값보다 큰 POC값을 가지는 참조 픽쳐들은 시간적으로 미래의 픽쳐를 의미하는 것으로 해석할 수 있다.
첨부된 도 10 및 도 11은 현재 파티션과 다른 참조 픽쳐 리스트의 같은 참조 픽쳐를 갖는 이웃 파티션의 예를 나타내고 있다. predFlagL0 및 predFlagL1은 해당 파티션이 참조 픽쳐 리스트 List0 및 List1를 참조하는지 여부를 나타내는 리스트 플래그 값으로서, 그 값이 1일 경우 해당 참조 픽쳐 리스트를 참조하는 것이고 0일 경우 참조하지 않음을 의미한다. refIdxL0 및 refIdxL1은 대응하는 리스트 플래그(predFlagL0 및 predFlagL1)의 값이 1일 경우 해당 리스트 내에서의 참조 인덱스 값을 나타낸다. 상기 참조 인덱스 값은 대응하는 리스트 플래그의 값이 0일 경우, 즉 해당 참조 픽쳐 리스트를 참조하지 않을 경우에는 -1로 설정된다.
먼저, 도 10을 참조하면, 현재(Cur) 파티션은 predFlagL0 값이 1로써 L0 예측을 하고 있으므로, predFlagL0 값이 동일하게 1이고(동일한 참조 픽쳐 리스트를 갖고), refIdxL0의 값이 0으로 동일한(참조 인덱스 번호가 같은) 파티션 A 및 C의 모션 벡터를 이용하여 모션 벡터 예측을 수행할 수 있다. 한편, 파티션 B는 현재 파티션과 달리 predFlagL0 값이 0이고 predFlagL1 값이 1로써 L1예측을 수행하고 있는데, List1의 참조 인덱스(ref_idx) 값 1에 해당하는 픽쳐의 POC 값은 4로써, 현재 파티션이 참조하는 List0의 참조 인덱스 값 0에 해당하는 픽쳐의 POC 값 4와 동일하다. 이는 파티션 B가 현재 파티션과 실질적으로 동일한 참조 픽쳐를 참조하고 있음을 의미하며, 본 발명에서는 이와 같이 참조 픽쳐 리스트가 다르더라도 동일한 참조 픽쳐를 참조하는(POC 값이 동일한) 파티션의 모션 벡터를 현재 파티션의 모션 벡터 예측에 함께 이용할 수 있다. 따라서, 도 10에서 현재 파티션의 모션 벡터 예측값은 "파티션 A의 L0 방향 모션 벡터, 파티션 B의 L1 방향 모션 벡터 및 파티션 C의 L0 방향 모션 벡터"의 중앙값을 이용하여 획득할 수 있다.
다음으로, 도 11을 참조하면, 현재(Cur) 파티션은 predFlagL0 값이 1로써 L0 예측을 하고 있으며, 파티션 B 및 C는 predFlagL0 및 predFlagL1의 값이 모두 0으로써 화면내 예측을 수행하고 있고, 파티션 A는 predFlagL1의 값이 1로써 L1 예측을 수행하고 있음을 알 수 있다. 이때, 현재 파티션이 참조하는 List0의 참조 인덱스(ref_idx) 값 0에 해당하는 픽쳐의 POC 값 4와, 파티션 B가 참조하는 List1의 참조 인덱스 값 1에 해당하는 픽쳐의 POC 값 4는 동일한 값임을 알 수 있다. 이는 파티션 A가 현재 파티션과 실질적으로 동일한 참조 픽쳐를 참조하고 있음을 의미한다. 따라서, 본 발명에서는 파티션 A의 L1 방향 모션 벡터를 현재 파티션의 모션 벡터 예측에 사용할 수 있다.
이와 같이 본 발명의 실시예에 따르면, 이웃 파티션들 중 현재 파티션과 동일한 참조 픽쳐 리스트의 동일한 참조 인덱스를 갖는 인터 모드 파티션 뿐만 아니라, 현재 파티션과 동일한 POC 값을 갖는 즉, 참조 픽쳐 리스트가 다르더라도 참조 픽쳐가 실질적으로 같은 인터 모드 파티션의 모션 벡터를 선정하여 현재 파티션의 모션 벡터 예측에 함께 이용할 수 있다.
한편, 현재 파티션의 모션 벡터 예측을 위한 기술을 더욱 확장하여, 현재 파티션의 공간적 및 시간적 이웃 파티션들로부터 모션 벡터 예측 후보군을 수집하고, 이를 이용하여 현재 파티션의 모션 벡터 예측값을 획득하는 AMVP(Advanced Motion Vector Prediction) 기술이 사용될 수 있다. 상기 모션 벡터 예측 후보군에 포함된 여러 개의 모션 벡터 후보들(motion vector candidates) 중에서 가장 적합한 모션 벡터를 선택하여 모션 벡터 예측값으로 사용하는 것을 모션 벡터 경쟁(motion vector competition)이라 한다.
즉, 도 12를 참조로 하면, 본 발명에 따른 비디오 신호 처리 장치에서 디코더의 움직임 추정부(264)는 현재 파티션의 모션 벡터 예측 후보군에 포함될 이웃 파티션 모션 벡터를 선정하는 이웃 파티션 모션 벡터 선정부(282), 선정된 상기 이웃 파티션 모션 벡터의 참조 픽쳐가 현재 파티션의 참조 픽쳐와 다를 경우, 상기 이웃 파티션 모션 벡터를 스케일링하는 모션 벡터 스케일링부(284), 상기 스케일링 된 모션 벡터를 포함하는 모션 벡터 예측 후보군을 이용하여 현재 파티션의 모션 벡터 예측값을 획득하는 모션 벡터 예측값 획득부(286), 및 상기 모션 벡터 예측값을 이용하여 현재 파티션의 모션 벡터를 획득하는 모션 벡터 획득부(288)를 포함할 수 있다. 이때, 상기 이웃 파티션 모션 벡터 선정부(282)는 공간적 이웃 파티션 및 시간적 이웃 파티션에서 모션 벡터 후보들을 수집할 수 있다. 또한, 상기 모션 벡터 획득부(288)는 상기 모션 벡터 예측값 획득부(286)를 통해 획득한 모션 벡터 예측값에 차분 모션 벡터를 합산하여 모션 벡터를 산출할 수 있다.
한편, 본 발명에 따른 비디오 신호 처리 장치의 인코더의 움직임 추정부(164) 역시 이웃 파티션 모션 벡터 선정부, 모션 벡터 스케일링부, 모션 벡터 예측값 획득부 및 모션 벡터 획득부를 포함할 수 있으며, 각 구성의 구체적인 기능은 전술한 바와 같다.
도 13을 참조로 하면, 현재 파티션의 모션 벡터 예측 후보군에는 현재 파티션의 좌측에 이웃하는 파티션들(A0, A1, …, AnA)의 집합인 좌측 그룹에서 선정된 모션 벡터 a', 현재 파티션의 상단에 이웃하는 파티션들(B0, B1, …, BnB)의 집합인 상단 그룹에서 선정된 모션 벡터 b', 및 현재 파티션의 대각선에 인접하는 파티션들(C, D, E)의 집합인 코너 그룹에서 선정된 모션 벡터 c'가 포함될 수 있다.
또한, 상기 모션 벡터 a', b' 및 c'의 중앙값(median(a', b', c'))이 유도될 수 있으며, 상기 중앙값도 모션 벡터 예측 후보군에 포함될 수 있다. 이때, 상기 중앙값은 ⅰ) 상기 모션 벡터 a', b' 및 c'가 모두 유효(available) 한 경우에는 상기 세 개의 모션 벡터의 중앙값이, ⅱ) 상기 세 개의 모션 벡터 중 두 개만 유효한 경우에는 유효하지 않은 모션 벡터에 0을 할당하고 이에 대한 중앙값이, ⅲ) 상기 세 개의 모션 벡터 중 한 개만 유효할 경우에는 유효한 모션 벡터값을 그대로 결과값으로, ⅳ) 상기 세 개의 모션 벡터가 모두 유효하지 않을 경우에는 0을 결과값으로 사용할 수 있다. 상기 a', b' 및 c' 각각의 모션 벡터는 유효한 값을 선정할 수 없을 경우에는 모션 벡터 예측 후보군에 포함되지 않는다.
한편, 상기 공간적 이웃 파티션 뿐만 아니라 시간적 이웃 파티션의 모션 벡터도 모션 벡터 예측 후보군에 포함될 수 있다. 이때, 시간적 이웃 파티션의 모션 벡터는 모션 벡터 예측 후보군에 적응적으로 이용될 수도 있다. 즉, 시간적 이웃 파티션의 모션 벡터가 모션 벡터 경쟁에 이용되는지 여부를 특정하는 시간적 경쟁 정보(temporal competition information)가 추가로 이용될 수 있다. 따라서, 현재 예측 유닛의 모션 벡터 예측값을 획득함에 있어서 모션 벡터 경쟁(motion vector competition)이 이용되는 경우에도, 상기 시간적 경쟁 정보에 기초하여 상기 시간적 이웃 파티션의 모션 벡터가 모션 벡터 예측 후보군으로 이용되는 것이 제한될 수 있다. 그리고, 시간적 경쟁 정보는 모션 벡터 경쟁이 이용되는 것을 전제로 하므로, 모션 경쟁 지시 정보가 모션 벡터 경쟁이 이용됨을 지시하는 경우에 한해 상기 시간적 경쟁 정보가 획득되는 것으로 제한할 수도 있다.
한편, 도 13에 도시된 현재 파티션의 공간적 이웃 파티션들의 집합인 각 그룹(좌측 그룹, 상단 그룹, 코너 그룹)에서 모션 벡터 예측 후보군에 포함되기 위한 모션 벡터(a', b', c')를 선정하기 위해서 다양한 방법이 사용될 수 있다.
먼저, 각 그룹 내의 파티션들에 대하여 일 측에서 타 측 방향으로 순차적으로, 현재 파티션과 동일한 참조 픽쳐 리스트 및 동일한 참조 인덱스를 갖는 인터 모드 파티션이 있는지를 탐색하여, 이를 처음으로 만족하는 파티션의 모션 벡터를 선정하여 모션 벡터 예측 후보군에 포함시킬 수 있다.
또는, 참조 픽쳐 리스트 및 참조 인덱스 값에 관계없이, 각 그룹 내의 파티션들에 대하여 일 측에서 타 측 방향으로 순차적으로 인터 모드를 갖는 파티션이 있는지 탐색하여, 이를 처음으로 만족하는 파티션의 모션 벡터를 선정하여 모션 벡터 예측 후보군에 포함시킬 수 있다. 이때, 각 그룹에서 선정된 모션 벡터는 본 발명의 실시예에 따라 스케일링 된 값을 포함시킨다.
또 다른 실시예로는, 각 그룹에 대하여 참조 픽쳐 리스트 및 참조 인덱스를 통해 유효한 모션 벡터를 찾을 수 없을 경우에 한정하여 인터 모드를 갖는 파티션의 모션 벡터를 선정할 수 있다. 즉, ⅰ) 먼저, 각 그룹 내의 파티션들에 대하여 일 측에서 타 측 방향으로 순차적으로 현재 파티션과 같은 참조 픽쳐 리스트의 같은 참조 인덱스를 갖는 인터 모드 파티션이 있는지를 탐색하여, 이를 처음으로 만족하는 파티션의 모션 벡터를 선정하여 모션 벡터 예측 후보군에 포함시키고, 만약 유효한 모션 벡터가 없을 경우에는 ⅱ) 각 그룹 내의 파티션들에 대하여 일 측에서 타 측 방향으로 순차적으로 인터 모드를 갖는 파티션이 있는지 탐색하여, 이를 처음으로 만족하는 파티션의 모션 벡터를 선정하여 스케일링 된 값을 모션 벡터 예측 후보군에 포함시킬 수 있다.
또는, 본 발명의 실시예에 따르면, 각 그룹에 대하여 모션 벡터 예측 후보군에 수집되는 유효한 모션 벡터를 선정하기 위하여 다음과 같은 모션 벡터 예측 후보군 선정 조건을 설정할 수 있다. 첨부된 도 16을 참조로 하여 본 발명의 모션 벡터 예측 후보군 선정 조건을 설명하면 다음과 같다.
ⅰ) (조건 1) 현재 파티션과 같은 참조 픽쳐 리스트, 같은 참조 픽쳐를 갖는 인터 모드 파티션인가(S102). 이때, 현재 파티션과 같은 참조 픽쳐 리스트의 같은 참조 인덱스를 갖는 인터 모드 파티션이 검색된다.
ⅱ) 상기 조건 1을 만족하지 못할 경우, (조건 2) 현재 파티션과 같은 참조 픽쳐를 갖는 인터 모드 파티션인가(S104). 이때, 현재 파티션과 참조 픽쳐 리스트는 다르지만 같은 참조 픽쳐를 갖는 인터 모드 파티션이 검색된다.
ⅲ) 상기 조건 1 및 조건 2를 만족하지 못할 경우, (조건 3) 현재 파티션과 같은 참조 픽쳐 리스트를 갖는 인터 모드 파티션인가(S106). 이때, 현재 파티션과 참조 픽쳐는 다르지만 참조 픽쳐 리스트가 같은 인터 모드 파티션이 검색된다.
ⅳ) 상기 조건 1 내지 조건 3을 만족하지 못할 경우, (조건 4) 인터 모드 파티션인가(S108). 이때, 상기 조건 1 내지 조건 3을 만족하지 않는 인터 모드 파티션 즉, 현재 파티션과 참조 픽쳐 리스트 및 참조 픽쳐가 모두 다른 인터 모드 파티션이 검색된다.
본 발명에서는 현재 파티션의 모션 벡터 예측을 위한 모션 벡터 예측 후보군을 수집하기 위해, 상기 각 그룹(좌측 그룹, 상단 그룹, 코너 그룹)의 파티션들을 정해진 순서에 따라 검색하여 조건 1 내지 조건 4를 만족하는지 여부를 확인할 수 있다. 이때, 각 그룹에 대하여 상기 모션 벡터 예측 후보군 선정 조건 및 파티션 위치 순서의 적절한 조합에 따라 다양한 순서로 검색이 가능하다. 이러한 검색 과정 중에 가장 먼저 조건을 만족하는 이웃 파티션의 모션 벡터를 선정하여 모션 벡터 예측 후보군에 포함시킬 수 있다.
한편, 상기 과정에서 조건 1 및 조건 2를 만족하는 이웃 파티션의 모션 벡터가 선정될 경우(S110)에는 선정된 모션 벡터가 현재 파티션의 모션 벡터와 동일한 참조 픽쳐를 가지므로 이를 그대로 모션 벡터 예측 후보군에 포함(S120)시킬 수 있으며, 조건 3 및 조건 4를 만족하는 이웃 파티션의 모션 벡터가 선정될 경우(S112)에는 스케일링 된 모션 벡터를 산출(S114)하여 이를 모션 벡터 예측 후보군에 포함(S120)시킬 수 있다. 그러나 상기 조건 1 내지 조건 4를 모두 만족하지 못할 경우에는 유효한 이웃 파티션 모션 벡터가 없게 된다(S130).
이하, 각 그룹에 속한 이웃 파티션들에 대하여 상기 모션 벡터 예측 후보군 선정 조건 및 파티션 위치 순서의 조합에 따라 모션 벡터 예측 후보군에 선정되기 위한 이웃 파티션의 모션 벡터를 검색하는 순서의 예를 표 1 내지 표 4를 참조하여 설명하도록 한다. 다만, 본 발명은 하기 실시예들에 한정되지 않으며 필요에 따라 다양한 순서로 변경하여 적용 가능하다.
하기 실시예들에서 '조건 우선 검색'이란 하나의 모션 벡터 예측 후보군 선정 조건을 만족하는지 여부를 해당 그룹 내의 파티션들의 위치 순서에 따라 일 측에서 타 측으로 순차적으로 검색한 후 다음 조건에 대하여 동일한 작업을 반복하는 검색을 말하며, '파티션 위치 우선 검색'이란 하나의 이웃 파티션에 대하여 상기 모션 벡터 예측 후보군 선정 조건(4가지 조건)을 각각 만족하는지 여부를 먼저 순차적으로 검색한 후 다음 위치 순서의 이웃 파티션으로 넘어가 동일한 작업을 반복하는 검색을 말한다.
즉, 다시 말해서 조건 우선 검색이란 해당 그룹 내의 각 파티션들에 대하여 모션 벡터 예측 후보군 선정 조건을 파티션들의 위치 순서보다 우선 순위로 하는 검색을 의미하며, 파티션 위치 우선 검색이란 해당 그룹 내의 각 파티션들의 위치 순서를 모션 벡터 예측 후보군 선정 조건보다 우선 순위로 하는 검색을 의미한다. 이때, 파티션 위치 순서란 이웃하는 파티션들 간에 일 측에서 타 측 방향으로 미리 정해진 순서를 의미한다.
또한, 표 1 내지 표 4에서 파티션 0, 파티션 1 및 파티션 2는 동일 그룹 내의 파티션을 위치 순서에 따라 배열한 것으로서, 파티션 0은 해당 그룹의 첫 번째 위치 순서를 갖는 파티션을, 파티션 2는 해당 그룹의 마지막 위치 순서를 갖는 파티션을 나타낸다. 물론, 실제 각 그룹에 포함되는 파티션의 수는 이와 다를 수 있다. 표 1 내지 표 4에서 각 해당란의 숫자는 검색 순서를 나타낸다.
파티션 0 | 파티션 1 | 파티션 2 | |
조건 1 | 1 | 2 | 3 |
조건 2 | 4 | 5 | 6 |
조건 3 | 7 | 8 | 9 |
조건 4 | 10 | 11 | 12 |
먼저, 상기 표 1을 참조로 하면, 각 그룹 내의 파티션들에 대하여 조건 우선 검색을 수행할 수 있다. 즉, 파티션 0 내지 파티션 2에 대해서 조건 1을 만족하는지 여부를 순차적으로 검색하여, 이를 처음으로 만족하는 파티션의 모션 벡터를 모션 벡터 예측 후보군에 포함될 모션 벡터로 선정하고, 만족하는 파티션이 없을 경우에는 조건 2, 조건 3 및 조건 4에 대하여 동일한 방법으로 검색을 수행한다.
파티션 0 | 파티션 1 | 파티션 2 | |
조건 1 | 1 | 5 | 9 |
조건 2 | 2 | 6 | 10 |
조건 3 | 3 | 7 | 11 |
조건 4 | 4 | 8 | 12 |
다음으로, 상기 표 2를 참조로 하면, 각 그룹 내의 파티션들에 대하여 파티션 위치 우선 검색을 수행할 수 있다. 즉, 파티션 0에 대해서 조건 1 내지 조건 4를 만족하는지 여부를 순차적으로 검색하여, 만족하는 조건이 있을 경우 파티션 0의 모션 벡터를 모션 벡터 예측 후보군에 포함될 모션 벡터로 선정하고, 만족하는 조건이 없을 경우에는 파티션 1 내지 파티션 2에 대하여 동일한 방법으로 검색을 수행한다.
파티션 0 | 파티션 1 | 파티션 2 | |
조건 1 | 1 | 2 | 3 |
조건 2 | 4 | 7 | 10 |
조건 3 | 5 | 8 | 11 |
조건 4 | 6 | 9 | 12 |
다음으로, 상기 표 3을 참조로 하면, 각 그룹 내의 파티션들에 대하여 조건 우선 검색과 파티션 위치 우선 검색을 조합한 검색을 수행할 수 있다. 즉, 먼저 조건 1에 대한 조건 우선 검색을 수행하여, 파티션 위치 순서에 따라 파티션 0 내지 파티션 2에 대해서 조건 1을 만족하는지 여부를 순차적으로 검색하고, 이를 처음으로 만족하는 파티션의 모션 벡터를 모션 벡터 예측 후보군에 포함될 모션 벡터로 선정한다.
만약 이를 만족하는 파티션이 없을 경우에는 나머지 조건들에 대하여 파티션 위치 우선 검색을 수행한다. 즉, 파티션 0에 대해서 조건 2 내지 조건 4를 만족하는지 여부를 순차적으로 검색하여, 만족하는 조건이 있을 경우 파티션 0의 모션 벡터를 모션 벡터 예측 후보군에 포함될 모션 벡터로 선정하고, 만족하는 조건이 없을 경우에는 파티션 1에 대한 검색을 동일한 방법으로 수행한다. 따라서, 표 3에 도시된 예는 조건 1을 최우선적인 검색 요건으로 하되, 만족하는 파티션이 없을 경우 나머지 조건들에 대하여 파티션 위치 우선 검색을 수행하게 된다.
파티션 0 | 파티션 1 | 파티션 2 | |
조건 1 | 1 | 5 | 6 |
조건 2 | 2 | 7 | 8 |
조건 3 | 3 | 9 | 10 |
조건 4 | 4 | 11 | 12 |
다음으로, 상기 표 4를 참조로 하면, 각 그룹 내의 파티션들에 대하여 조건 우선 검색과 파티션 위치 우선 검색을 조합한 또 다른 검색을 수행할 수 있다. 즉, 먼저 파티션 0에 대한 파티션 위치 우선 검색을 수행하여, 조건 1 내지 조건 4를 만족하는지 여부를 순차적으로 검색하고, 만족하는 조건이 있을 경우 파티션 0의 모션 벡터를 모션 벡터 예측 후보군에 포함될 모션 벡터로 선정한다.
만약 만족하는 조건이 없을 경우에는 나머지 파티션들에 대하여 조건 우선 검색을 수행한다. 즉, 파티션 1 내지 파티션 2에 대해서 조건 1을 만족하는지 여부를 순차적으로 검색하여, 이를 처음으로 만족하는 파티션의 모션 벡터를 모션 벡터 예측 후보군에 포함될 모션 벡터로 선정하고, 만족하는 파티션이 없는 경우에는 조건 2에 대한 검색을 동일한 방법으로 수행한다. 따라서, 표 4에 도시된 예는 파티션 0을 최우선적인 검색 요건으로 하되, 만족하는 조건이 없을 경우 나머지 파티션들에 대하여 조건 우선 검색을 수행하게 된다.
본 발명에서 제안하는 상기 방법들에 의해 선정된 모션 벡터 a', b' 및 c'는 ⅰ) 모션 벡터 a', b' 및 c'의 중앙값(median(a', b', c'))에 영향을 주게 되고, ⅱ) 모션 벡터 예측 후보군에 포함되는 모션 벡터의 개수 증가에도 영향을 주게 된다. 즉, 원래는 유효하지 않아 모션 벡터 예측 후보군에 추가되지 않았던 이웃 파티션 모션 벡터가 본 발명의 모션 벡터 스케일링 기술의 적용에 의해 유효하게 되어 모션 벡터 예측 후보군에 추가될 수 있다.
한편, 본 발명에서 상기 두 가지 요소는 각각 독립적인 것으로, 각자에 대하여 개별적으로 모션 벡터 스케일링 기술의 적용 여부를 결정할 수 있다. 예를 들어, 모션 벡터 스케일링을 모션 벡터의 중앙값의 결과값에만 적용할 경우, 전체 모션 벡터 후보의 개수는 그대로 유지되면서 상기 중앙값의 결과값만 변경된다. 또한, 모션 벡터 후보의 개수 증가에 적용할 경우, 상기 중앙값의 결과값은 기존의 AMVP에서의 값과 동일하지만, 전체 모션 벡터 후보의 개수는 증가될 수 있다. 물론 상기 두 가지 요소 모두에 모션 벡터 스케일링을 적용하는 것도 가능하다.
본 발명의 실시예에 따르면, 모션 벡터 예측 후보군에 포함될 이웃 파티션 모션 벡터의 선정 범위를 단순화하여, 도 14에 도시된 바와 같이 선정할 수 있다. 즉, 현재 파티션의 좌측 하단에 인접하는 파티션(Am+1)과 좌측에 인접하는 파티션들 중 최 하단에 위치한 파티션(Am)으로 제 1 그룹을 형성하고, 현재 파티션의 우측 상단에 인접하는 파티션(Bn+1), 상단에 인접하는 파티션들 중 최 우측에 위치한 파티션(Bn) 및 좌측 상단에 인접하는 파티션(B-1)으로 제 2 그룹을 형성할 수 있다. 이때, 현재 파티션의 모션 벡터 예측 후보군은 상기 제 1 그룹에서 선정된 모션 벡터 a', 상기 제 2 그룹에서 선정된 모션 벡터 b'를 포함할 수 있다. 또한, 상기 공간적 이웃 파티션 뿐만 아니라 시간적 이웃 파티션의 모션 벡터도 모션 벡터 예측 후보군에 포함될 수 있음은 전술한 바와 같다. 이와 같이 모션 벡터 예측 후보군에 선정될 공간적 이웃 파티션의 수를 줄임으로, 이웃 파티션 모션 벡터 선정을 위한 연산 시간을 줄이고 복잡도를 향상시킬 수 있다.
이하, 상기 단순화된 모션 벡터 후보들을 포함하는 제 1 그룹 및 제 2 그룹에서 모션 벡터 예측 후보군 선정 조건 및 파티션 위치 순서의 조합에 따라 모션 벡터 예측 후보군에 포함될 이웃 파티션 모션 벡터를 검색하는 순서를 설명하도록 한다. 하기 실시예에서 '모션 벡터 예측 후보군 선정 조건' 및 '파티션 위치 순서'의 정의는 상기 표 1 내지 표 4의 실시예와 동일하며, 본 발명이 하기 실시예들에 한정되지 않고 필요에 따라 다양한 순서로 변경하여 적용 가능함은 물론이다. 또한, 하기 실시예를 통해 선정되는 파티션에 대하여 조건 1 또는 조건 2를 만족하는 경우에는 해당 파티션의 모션 벡터를 그대로 이용하고, 조건 3 또는 조건 4를 만족하는 경우에는 해당 파티션의 스케일링 된 모션 벡터를 이용함은 전술한 바와 같다.
Am | Am+1 | |
조건 1 | 1 | 5 |
조건 2 | 2 | 6 |
조건 3 | 3 | 7 |
조건 4 | 4 | 8 |
Am | Am+1 | |
조건 1 | 5 | 1 |
조건 2 | 6 | 2 |
조건 3 | 7 | 3 |
조건 4 | 8 | 4 |
Bn+1 | Bn | B-1 | |
조건 1 | 1 | 5 | 9 |
조건 2 | 2 | 6 | 10 |
조건 3 | 3 | 7 | 11 |
조건 4 | 4 | 8 | 12 |
먼저, 상기 표 5 내지 7을 참조로 하면, 각 그룹 내의 파티션들에 대하여 파티션 위치 우선 검색을 수행할 수 있다. 즉, 표 5와 같이 제 1 그룹의 파티션 Am에 대해서 조건 1 내지 조건 4를 만족하는지 여부를 순차적으로 검색하여, 만족하는 조건이 있을 경우 파티션 Am의 모션 벡터를 모션 벡터 예측 후보군에 포함될 모션 벡터로 선정하고, 만족하는 조건이 없을 경우에는 파티션 Am+1에 대하여 동일한 방법으로 검색을 수행할 수 있다.
한편, 본 발명에서는 표 6과 같이 검색하는 파티션의 순서를 바꾸어 파티션 Am+1에 대한 검색을 수행한 후, 만족하는 조건이 없을 경우 파티션 Am에 대한 검색을 수행할 수 있다. 또한, 이러한 파티션 위치 우선 검색은 표 7과 같이 제 2 그룹의 파티션들에 대해서도 동일한 방법으로 수행될 수 있다.
Am | Am+1 | |
조건 1 | 1 | 2 |
조건 2 | 3 | 4 |
조건 3 | 5 | 6 |
조건 4 | 7 | 8 |
Bn+1 | Bn | B-1 | |
조건 1 | 1 | 2 | 3 |
조건 2 | 4 | 5 | 6 |
조건 3 | 7 | 8 | 9 |
조건 4 | 10 | 11 | 12 |
다음으로, 상기 표 8 및 9를 참조로 하면, 각 그룹 내의 파티션들에 대하여 조건 우선 검색을 수행할 수 있다. 즉, 제 1 그룹 및 제 2 그룹의 파티션들 각각에 대해서 조건 1을 만족하는지 여부를 순차적으로 검색하여, 이를 처음으로 만족하는 파티션의 모션 벡터를 모션 벡터 예측 후보군에 포함될 모션 벡터로 선정하고, 만족하는 파티션이 없을 경우에는 조건 2, 조건 3 및 조건 4에 대하여 동일한 방법으로 검색을 수행할 수 있다.
Am | Am+1 | |
조건 1 | 1 | 2 |
조건 2 | 3 | 6 |
조건 3 | 4 | 7 |
조건 4 | 5 | 8 |
Am | Am+1 | |
조건 1 | 2 | 1 |
조건 2 | 6 | 3 |
조건 3 | 7 | 4 |
조건 4 | 8 | 5 |
Bn+1 | Bn | B-1 | |
조건 1 | 1 | 2 | 3 |
조건 2 | 4 | 7 | 10 |
조건 3 | 5 | 8 | 11 |
조건 4 | 6 | 9 | 12 |
다음으로, 상기 표 10 내지 12를 참조로 하면, 각 그룹 내의 파티션들에 대하여 조건 우선 검색과 파티션 위치 우선 검색을 조합한 검색을 수행할 수 있다. 즉, 먼저 조건 1에 대한 조건 우선 검색을 수행하여, 조건 1을 만족하는지 여부를 파티션 위치 순서에 따라 순차적으로 검색하고, 이를 처음으로 만족하는 파티션의 모션 벡터를 모션 벡터 예측 후보군에 포함될 모션 벡터로 선정한다.
만약 만족하는 파티션이 없을 경우에는 나머지 조건들에 대하여 파티션 위치 우선 검색을 수행한다. 즉, 표 10과 같이 제 1 그룹의 파티션 Am에 대해서 조건 2 내지 조건 4를 만족하는지 여부를 순차적으로 검색하여, 만족하는 조건이 있을 경우 파티션 Am의 모션 벡터를 모션 벡터 예측 후보군에 포함될 모션 벡터로 선정하고, 만족하는 조건이 없을 경우에는 파티션 Am+1에 대한 검색을 동일한 방법으로 수행할 수 있다. 파티션 위치 우선 검색을 위한 검색 대상 파티션은 표 11과 같이 그 순서가 바뀔 수도 있으며, 제 2 그룹에 대해서도 표 12와 같이 동일한 방법으로 수행될 수 있다.
따라서, 표 10 내지 12에 도시된 예에 따르면 조건 1을 최우선적인 검색 요건으로 하되, 만족하는 파티션이 없을 경우 나머지 조건들에 대하여 파티션 위치 우선 검색을 수행하게 된다.
Am | Am+1 | |
조건 1 | 2 | 1 |
조건 2 | 4 | 3 |
조건 3 | 7 | 5 |
조건 4 | 8 | 6 |
Am | Am+1 | |
조건 1 | 3 | 1 |
조건 2 | 4 | 2 |
조건 3 | 7 | 5 |
조건 4 | 8 | 6 |
Bn+1 | Bn | B-1 | |
조건 1 | 1 | 2 | 3 |
조건 2 | 4 | 5 | 6 |
조건 3 | 7 | 9 | 11 |
조건 4 | 8 | 10 | 12 |
Bn+1 | Bn | B-1 | |
조건 1 | 1 | 3 | 5 |
조건 2 | 2 | 4 | 6 |
조건 3 | 7 | 9 | 11 |
조건 4 | 8 | 10 | 12 |
다음으로, 상기 표 13 내지 16을 참조로 하면, 각 그룹 내의 파티션들에 대하여 조건 1과 조건 2에 대한 검색을 우선적으로 수행하고, 상기 조건 1 및 조건 2에 대한 검색을 통해 유효한 모션 벡터를 선정할 수 없을 경우 조건 3 및 조건 4에 대한 검색을 수행할 수 있다. 이때, 조건 1 및 조건 2에 대한 우선적인 검색은 조건 우선 검색 또는 파티션 위치 우선 검색을 선택하여 자유롭게 사용할 수 있으며, 조건 3 및 조건 4에 대한 검색도 이와 같다. 본 발명에서 조건 1과 조건 2를 만족하는 이웃 파티션은 현재 파티션과 동일한 참조 픽쳐를 참조하므로 모션 벡터 스케일링을 수행할 필요가 없으며, 이와 같이 모션 벡터 스케일링이 불필요한 이웃 파티션 모션 벡터를 우선적으로 검색함으로 모션 벡터 스케일링 작업의 빈도를 줄이고 복잡도 감소의 효과를 얻을 수 있다.
더 나아가, 본 발명에서는 검색해야할 경우의 수를 줄여서 복잡도의 이득을 얻기 위해 일부 검색을 생략할 수 있다. 예를 들어, 제 1 그룹에 대한 검색에서 1 내지 5번째까지의 검색만 수행하고 6, 7, 8번째 검색은 생략하는 방법이 가능하다. 또한, 제 2 그룹에 대한 검색에서도 표 7의 경우 6, 7, 8, 10, 11, 12번째 검색을 생략하고, 표 9의 경우 5, 6, 8, 9, 11, 12번째 검색을 생략하는 방법이 가능하다. 즉, 각 그룹 내에서 하나의 모션 벡터 예측 후보군 선정 조건에 대한 조건 우선 검색과 하나의 파티션에 대한 위치 우선 검색을 조합하여 검색을 수행할 수 있다.
한편, 화면간 예측과 관련된 전송 정보를 줄이기 위하여 이하에서 설명하는 병합(Merge), 스킵(Skip) 또는 직접(Direct) 예측 모드 등의 모드를 이용할 수도 있다.
도 15를 참조하면, 병합 모드에서 하나의 파티션은 수직, 수평 또는 대각선의 인접한 다른 파티션(A, B, C, D)과 병합될 수 있다. 여기에서 병합이란, 현재 파티션의 화면간 예측에 있어서 예측 정보를 인접한 이웃 파티션의 화면간 예측 정보로부터 얻어오는 것을 의미한다. 파티션의 병합은 해당 파티션이 병합이 되었는지 여부를 나타내는 정보(예를 들면, merge_flag), 어느 파티션(예를 들면, 좌측 이웃 중 최상단 파티션 A, 상단 이웃 중 최 좌측 파티션 B, 우측 상단 이웃 파티션 C 또는 좌측 하단 이웃 파티션 D)과의 병합이 가능한지를 나타내는 정보 등을 이용하여 표현할 수 있다. 어느 파티션과의 병합인지를 나타내는 정보는 현재 파티션이 병합되었음을 지시하는 경우(merge_flag=1)에만 획득될 수 있다.
병합 모드에서는 상기 기술한 바와 같이 4개 혹은 그보다 적은 개수의 공간적 이웃 파티션의 모션 정보와 1개의 시간적 이웃 파티션의 모션 정보 중 어떤 파티션과 병합할지를 나타내는 정보를 이용하여 현재 파티션의 모션 정보를 획득할 수 있다.
한편, 스킵 모드는 현재 파티션을 복원함에 있어서, 이전에 코딩된 파티션의 모션정보를 현재 파티션에 대한 모션 정보로 이용하는 방식을 의미한다. 따라서 스킵 모드일 경우에 스킵될 파티션을 나타내는 정보 외의 다른 정보(예를 들어, 모션 정보, 레지듀얼 정보 등)들은 전송되지 않는다. 이 경우 예측에 필요한 모션 정보들은 이웃의 모션 벡터들로부터 유도될 수 있다.
스킵 모드를 사용하면 이전에 코딩된 참조 픽쳐내 참조 영역의 픽셀값을 그대로 이용할 수 있다. 상기 참조 영역의 픽셀값은 모션 벡터 예측값을 이용한 모션 보상(motion compensation)이 수반된 것일 수 있다. 다만, 상기 모션 벡터 예측값을 획득함에 있어서, 모션 벡터 경쟁(motion vector competition)이 이용되는 경우에는 예외적으로 현재 파티션이 모션 벡터 정보를 가질 수도 있다.
현재 파티션이 스킵 모드로 코딩되지 않는 경우, 현재 파티션은 직접 예측 모드로 코딩될 수 있다. 직접 예측 모드는 디코딩이 완료된 파티션의 모션 정보로부터 현재 파티션의 모션 정보를 예측하는 모드를 나타낸다. 다만, 여기서 현재 파티션은 레지듀얼를 가진다는 점에서 스킵 모드와 상이하다.
본 발명의 실시예에 따르면, 병합 모드에서 사용되는 이웃 파티션의 모션 정보 획득 방법을 스킵 모드와 일반적인 인터 모드에도 적용하여, 모든 모드에서 모션 정보를 예측하는 방법을 단일화(unification)할 수 있다. 즉, 스킵 모드와 일반적인 인터 모드에서 유효한 모션 정보를 얻기 위해 정해진 순서에 따라 검색을 수행하지 않고, 공간적 이웃 파티션의 모션 정보를 병합 모드에서와 마찬가지로 이용하는 것이다. 다만, 병합 모드에서와 달리, 스킵 모드와 일반적인 인터 모드에서는 현재 파티션의 참조 인덱스나 예측 방향 등을 미리 알고 있으므로, 이웃 파티션의 참조 픽쳐가 현재 파티션의 참조 픽쳐와 동일할 때에는 해당 이웃 파티션의 모션 벡터를 유효한 모션 벡터로서 그대로 모션 벡터 예측 후보군으로 사용할 수 있고, 참조 픽쳐가 상이할 경우에는 유효하지 않은 모션 벡터로 처리하여 모션 벡터 예측 후보군에서 제외할 수 있다. 또는, 참조 픽쳐가 상이할 경우 본 발명에서 제안하는 모션 벡터 스케일링 방법을 이용하여 현재 파티션의 해당 정보에 부합하는 모션 벡터를 산출하여 모션 벡터 예측 후보군으로 사용할 수도 있다.
움직임 보상(motion compensation)을 수행할 때, 정확도를 높이기 위하여 정수 화소 이하의 화소 정밀도를 이용할 수 있다. 이 경우 정수 화소 이하의 화소값은 참조 픽쳐의 화소값들의 보간(interpolation)을 이용하여 생성한다.
예측에 있어서, 상기에서 설명한 화면내 예측 모드, 직접 예측 모드, 화면간 예측 모드, 스킵 모드 중 어떠한 모드를 사용하는지는 예측 모드 정보를 통해 나타내거나, 해당 모드를 이용하였는지 여부를 나타내는 플래그를 사용하여 나타낼 수 있다. 특정한 경우에는 여러 가지 다른 정보들을 이용하여 해당 모드를 유도할 수도 있다.
모션 벡터 전송 정보를 줄이기 위하여, 모션 벡터를 압축하여 전송할 수 있다. 예를 들어 저장할 모션 벡터 간에 중앙값 필터(median filter)를 사용하여 압축한 값을 구할 수 있다. 이를 위하여 모션 벡터 압축을 사용하였는지, 압축비가 어떻게 되는지에 대한 정보를 추가로 전송할 수 있다. 또는, 연산 복잡도를 줄이기 위하여 단순히 제일 첫 번째, 왼쪽 위에 위치한 모션 벡터를 저장하여 기준값으로 사용하고 이후 벡터들에 대하여는 차분값만을 전송할 수도 있다.
한편, 영상에 대한 변환(예를 들어 DCT)은 예측 유닛과는 별도의 단위로 이루어진다. 이하에서는 이러한 기본 단위를 변환 유닛(Transform unit)이라고 한다. 이산 변환 등을 위하여 변환 유닛은 정방형의 형태를 가지는 것이 보통이며, 코딩 유닛과 유사하게 재귀적으로 분할될 수 있다. 변환 유닛의 크기는 영상의 특징에 따라 가장 효율적인 크기로 정해지며, 예측 유닛보다 크거나 작을 수 있다. 다만, 일반적으로 하나의 예측 유닛은 복수개의 변환 유닛을 포함할 수 있다.
변환 유닛의 구조 및 크기도 상기에서 코딩 유닛에 대하여 설명한 바와 유사하게 나타낼 수 있다. 예를 들어, 하나의 변환 유닛은 네 개의 변환 유닛으로 재귀적으로 분할될 수 있고, 이러한 변환 유닛 구조는 일종의 쿼드 트리 형태로 나타낼 수 있다. 또한, 변환 유닛의 구조와 관련된 정보들은 기 설정된 변환 유닛 트리의 최대 높이(혹은 분할 깊이) 정보, 변환 유닛의 최대 크기 정보, 변환 유닛의 최소 크기 정보, 변환 유닛의 최대 크기 및 최소 크기 간의 차이 정보, 및/또는 이와 같은 값들에 대한 로그값 등과 이들을 이용하여 유도된 변환 유닛의 깊이, 변환 유닛의 크기 등으로 나타낼 수 있다. 한편, 변환 유닛의 최대 분할 깊이는 해당 유닛의 예측 모드에 따라서 달라질 수 있다. 또한, 코딩 유닛의 크기가 변환 유닛의 크기에 영향을 미칠 수 있다.
변환 유닛에 대하여도 현재 변환 유닛이 다시 분할되었는지에 대한 정보를 획득할 수 있다. 예를 들어, 이러한 정보가 해당 변환 유닛이 분할되었음을 지시하는 경우, 해당 변환 유닛은 다시 네 개의 분할된 변환 유닛으로 재귀적으로 분할될 수 있다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.
본 발명이 적용되는 디코딩/인코딩 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 인코딩 방법에 의해 생성된 비트스트림은 컴퓨터가 읽을 수 있는 기록 매체에 저장되거나, 유/무선 통신망을 이용해 전송될 수 있다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays, 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시예들이 제어부 자체로 구현될 수 있다.
소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리에 저장되고, 제어부에 의해 실행될 수 있다.
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
100 : 인코더 200 : 디코더
250 : 예측부 254 : 인터 예측부
262 : 움직임 보상부 264 : 움직임 추정부
282 : 이웃 파티션 모션 벡터 선정부 284 : 모션 벡터 스케일링부
286 : 모션 벡터 예측값 획득부 288 : 모션 벡터 획득부
250 : 예측부 254 : 인터 예측부
262 : 움직임 보상부 264 : 움직임 추정부
282 : 이웃 파티션 모션 벡터 선정부 284 : 모션 벡터 스케일링부
286 : 모션 벡터 예측값 획득부 288 : 모션 벡터 획득부
Claims (3)
- 디코딩 장치에서 비디오 신호를 위한 비트스트림을 디코딩하기 위한 방법으로서,
현재 블록을 위한 모션 벡터 후보군을 구성하는 단계,
상기 현재 블록이 제1 참조 픽처 리스트에서 제1 참조 픽처를 참조하고 상기 현재 블록의 이웃 블록이 상기 제1 참조 픽처 리스트와 서로 다른 제2 참조 픽처 리스트에서 제2 참조 픽처를 참조하며, 상기 제1 참조 픽처의 POC(Picture Order Count) 값이 상기 제2 참조 픽처의 POC 값과 동일한 것에 기반하여, 상기 모션 벡터 후보군은 상기 이웃 블록의 모션 벡터를 포함하고;
상기 구성된 모션 벡터 후보군에 기반하여 상기 현재 블록의 모션 벡터 예측값(motion vector predictor)을 결정하는 단계,
상기 결정된 모션 벡터 예측값 및 상기 현재 블록의 모션 벡터 차분값(motion vector difference)에 기반하여, 상기 현재 블록의 모션 벡터를 획득하는 단계,
상기 획득된 모션 벡터에 기반하여, 상기 현재 블록을 디코딩하는 단계를 포함하고,
상기 모션 벡터 예측값은 상기 비트스트림으로부터 획득된 상기 현재 블록의 모션 벡터 예측 정보에 기반하여 결정되며,
상기 모션 벡터 차분값은 상기 비트스트림으로부터 획득된 상기 현재 블록의 모션 벡터 차분 정보에 기반하여 결정되는, 방법. - 인코딩 장치에서 비디오 신호를 위한 비트스트림을 인코딩하기 위한 방법으로서,
현재 블록을 위한 모션 벡터 후보군을 구성하는 단계,
상기 현재 블록이 제1 참조 픽처 리스트에서 제1 참조 픽처를 참조하고 상기 현재 블록의 이웃 블록이 상기 제1 참조 픽처 리스트와 서로 다른 제2 참조 픽처 리스트에서 제2 참조 픽처를 참조하며, 상기 제1 참조 픽처의 POC(Picture Order Count) 값이 상기 제2 참조 픽처의 POC 값과 동일한 것에 기반하여, 상기 모션 벡터 후보군은 상기 이웃 블록의 모션 벡터를 포함하고;
상기 구성된 모션 벡터 후보군에 기반하여 상기 현재 블록의 모션 벡터 예측값(motion vector predictor)을 결정하는 단계;
상기 결정된 모션 벡터 예측값 및 상기 현재 블록의 모션 벡터에 기반하여, 상기 현재 블록의 모션 벡터 차분값을 결정하는 단계; 및
상기 결정된 모션 벡터 예측값에 관한 모션 벡터 예측 정보 및 상기 결정된 모션 벡터 차분값에 관한 모션 벡터 차분 정보를 상기 비트스트림 내에 인코딩하는 단계를 포함하는, 방법. - 인코딩 장치에서 비디오 신호를 위한 비트스트림을 인코딩하기 위한 방법에 의해 생성된 비트스트림을 저장한 컴퓨터 판독가능한 기록 매체로서, 상기 방법은,
현재 블록을 위한 모션 벡터 후보군을 구성하는 단계,
상기 현재 블록이 제1 참조 픽처 리스트에서 제1 참조 픽처를 참조하고 상기 현재 블록의 이웃 블록이 상기 제1 참조 픽처 리스트와 서로 다른 제2 참조 픽처 리스트에서 제2 참조 픽처를 참조하며, 상기 제1 참조 픽처의 POC(Picture Order Count) 값이 상기 제2 참조 픽처의 POC 값과 동일한 것에 기반하여, 상기 모션 벡터 후보군은 상기 이웃 블록의 모션 벡터를 포함하고;
상기 구성된 모션 벡터 후보군에 기반하여 상기 현재 블록의 모션 벡터 예측값(motion vector predictor)을 결정하는 단계;
상기 결정된 모션 벡터 예측값 및 상기 현재 블록의 모션 벡터에 기반하여, 상기 현재 블록의 모션 벡터 차분값을 결정하는 단계; 및
상기 결정된 모션 벡터 예측값에 관한 모션 벡터 예측 정보 및 상기 결정된 모션 벡터 차분값에 관한 모션 벡터 차분 정보를 상기 비트스트림 내에 인코딩하는 단계를 포함하는, 기록 매체.
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US32230110P | 2010-04-09 | 2010-04-09 | |
US61/322,301 | 2010-04-09 | ||
US37328610P | 2010-08-13 | 2010-08-13 | |
US61/373,286 | 2010-08-13 | ||
US201061424681P | 2010-12-20 | 2010-12-20 | |
US61/424,681 | 2010-12-20 | ||
US201161432202P | 2011-01-13 | 2011-01-13 | |
US61/432,202 | 2011-01-13 | ||
US201161454995P | 2011-03-21 | 2011-03-21 | |
US61/454,995 | 2011-03-21 | ||
US201161466446P | 2011-03-22 | 2011-03-22 | |
US61/466,446 | 2011-03-22 | ||
KR1020210167241A KR102438270B1 (ko) | 2010-04-09 | 2021-11-29 | 비디오 신호 처리 방법 및 장치 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210167241A Division KR102438270B1 (ko) | 2010-04-09 | 2021-11-29 | 비디오 신호 처리 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220123205A KR20220123205A (ko) | 2022-09-06 |
KR102549223B1 true KR102549223B1 (ko) | 2023-06-28 |
Family
ID=45028893
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110032376A KR101752418B1 (ko) | 2010-04-09 | 2011-04-07 | 비디오 신호 처리 방법 및 장치 |
KR1020170076805A KR101857672B1 (ko) | 2010-04-09 | 2017-06-16 | 비디오 신호 처리 방법 및 장치 |
KR1020180051647A KR101971971B1 (ko) | 2010-04-09 | 2018-05-04 | 비디오 신호 처리 방법 및 장치 |
KR1020190044354A KR102094896B1 (ko) | 2010-04-09 | 2019-04-16 | 비디오 신호 처리 방법 및 장치 |
KR1020200034907A KR102221724B1 (ko) | 2010-04-09 | 2020-03-23 | 비디오 신호 처리 방법 및 장치 |
KR1020210024222A KR102334293B1 (ko) | 2010-04-09 | 2021-02-23 | 비디오 신호 처리 방법 및 장치 |
KR1020210167241A KR102438270B1 (ko) | 2010-04-09 | 2021-11-29 | 비디오 신호 처리 방법 및 장치 |
KR1020220107199A KR102549223B1 (ko) | 2010-04-09 | 2022-08-25 | 비디오 신호 처리 방법 및 장치 |
Family Applications Before (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110032376A KR101752418B1 (ko) | 2010-04-09 | 2011-04-07 | 비디오 신호 처리 방법 및 장치 |
KR1020170076805A KR101857672B1 (ko) | 2010-04-09 | 2017-06-16 | 비디오 신호 처리 방법 및 장치 |
KR1020180051647A KR101971971B1 (ko) | 2010-04-09 | 2018-05-04 | 비디오 신호 처리 방법 및 장치 |
KR1020190044354A KR102094896B1 (ko) | 2010-04-09 | 2019-04-16 | 비디오 신호 처리 방법 및 장치 |
KR1020200034907A KR102221724B1 (ko) | 2010-04-09 | 2020-03-23 | 비디오 신호 처리 방법 및 장치 |
KR1020210024222A KR102334293B1 (ko) | 2010-04-09 | 2021-02-23 | 비디오 신호 처리 방법 및 장치 |
KR1020210167241A KR102438270B1 (ko) | 2010-04-09 | 2021-11-29 | 비디오 신호 처리 방법 및 장치 |
Country Status (11)
Country | Link |
---|---|
US (11) | US8976865B2 (ko) |
EP (3) | EP3982634B1 (ko) |
KR (8) | KR101752418B1 (ko) |
CN (5) | CN105847835B (ko) |
ES (2) | ES2954563T3 (ko) |
FI (1) | FI3982634T3 (ko) |
HR (1) | HRP20230945T1 (ko) |
HU (2) | HUE057387T2 (ko) |
PL (2) | PL3982634T3 (ko) |
SI (2) | SI3982634T1 (ko) |
WO (1) | WO2011126345A2 (ko) |
Families Citing this family (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PT3457689T (pt) * | 2010-05-25 | 2020-10-15 | Lg Electronics Inc | Novo modo de previsão planar |
US8855205B2 (en) * | 2010-05-26 | 2014-10-07 | Newratek Inc. | Method of predicting motion vectors in video codec in which multiple references are allowed, and motion vector encoding/decoding apparatus using the same |
CN107105270B (zh) | 2010-12-13 | 2020-04-24 | 韩国电子通信研究院 | 帧间预测方法 |
KR20120095814A (ko) * | 2011-02-21 | 2012-08-29 | 한밭대학교 산학협력단 | 복수 참조 영상을 이용한 영상 부복호화 방법 및 이러한 방법을 사용하는 장치 |
EP3139611A1 (en) * | 2011-03-14 | 2017-03-08 | HFI Innovation Inc. | Method and apparatus for deriving temporal motion vector prediction |
EP2698999B1 (en) | 2011-04-12 | 2017-01-04 | Sun Patent Trust | Motion-video encoding method, motion-video encoding apparatus, motion-video decoding method, motion-video decoding apparatus, and motion-video encoding/decoding apparatus |
US9485518B2 (en) | 2011-05-27 | 2016-11-01 | Sun Patent Trust | Decoding method and apparatus with candidate motion vectors |
JP5865366B2 (ja) | 2011-05-27 | 2016-02-17 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置 |
PL2717579T3 (pl) | 2011-05-31 | 2020-07-27 | Sun Patent Trust | Sposób dekodowania obrazu i urządzenie do dekodowania obrazu |
EP3879833A1 (en) | 2011-05-31 | 2021-09-15 | JVCKENWOOD Corporation | Moving image encoding device, moving image encoding method and moving image encoding program, as well as moving image decoding device, moving image decoding method and moving image decoding program |
US9282338B2 (en) * | 2011-06-20 | 2016-03-08 | Qualcomm Incorporated | Unified merge mode and adaptive motion vector prediction mode candidates selection |
KR101968726B1 (ko) | 2011-06-28 | 2019-04-12 | 엘지전자 주식회사 | 움직임 벡터 리스트 설정 방법 및 이러한 방법을 사용하는 장치 |
PL2728878T3 (pl) | 2011-06-30 | 2020-06-15 | Sun Patent Trust | Sposób dekodowania obrazów, sposób kodowania obrazów, urządzenie do dekodowania obrazów, urządzenie do kodowania obrazów oraz urządzenie do kodowania/dekodowania obrazów |
KR20140034292A (ko) * | 2011-07-01 | 2014-03-19 | 모토로라 모빌리티 엘엘씨 | 움직임 벡터 예측 설계 간소화 |
US11496760B2 (en) | 2011-07-22 | 2022-11-08 | Qualcomm Incorporated | Slice header prediction for depth maps in three-dimensional video codecs |
US9521418B2 (en) | 2011-07-22 | 2016-12-13 | Qualcomm Incorporated | Slice header three-dimensional video extension for slice header prediction |
MX341415B (es) | 2011-08-03 | 2016-08-19 | Panasonic Ip Corp America | Metodo de codificacion de video, aparato de codificacion de video, metodo de decodificacion de video, aparato de decodificacion de video y aparato de codificacion/decodificacion de video. |
US9288505B2 (en) | 2011-08-11 | 2016-03-15 | Qualcomm Incorporated | Three-dimensional video with asymmetric spatial resolution |
CN107197272B (zh) * | 2011-08-29 | 2019-12-06 | 苗太平洋控股有限公司 | 以合并模式对图像编码的方法 |
KR20130030181A (ko) | 2011-09-16 | 2013-03-26 | 한국전자통신연구원 | 움직임 벡터 예측기를 이용한 움직임 벡터 부호화/복호화 방법 및 장치 |
BR112014008403B1 (pt) | 2011-10-19 | 2022-05-10 | Sun Patent Trust | Método de codificação de imagem, aparelho de codificação de imagem, método de decodificação de imagem, e aparelho de decodificação de imagem |
WO2013061549A1 (ja) | 2011-10-28 | 2013-05-02 | パナソニック株式会社 | 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置 |
CN103688545B (zh) | 2011-10-28 | 2017-05-10 | 太阳专利托管公司 | 图像编码方法、图像解码方法、图像编码装置及图像解码装置 |
KR101616010B1 (ko) | 2011-11-04 | 2016-05-17 | 구글 테크놀로지 홀딩스 엘엘씨 | 비균일 움직임 벡터 그리드에 대한 움직임 벡터 스케일링 |
CN107197290B (zh) * | 2011-11-07 | 2020-02-18 | 寰发股份有限公司 | 推导缩放的运动向量的方法、装置和计算机可读媒介 |
KR20130050405A (ko) * | 2011-11-07 | 2013-05-16 | 오수미 | 인터 모드에서의 시간 후보자 결정방법 |
TWI523497B (zh) * | 2011-11-10 | 2016-02-21 | Sony Corp | Image processing apparatus and method |
US9485503B2 (en) * | 2011-11-18 | 2016-11-01 | Qualcomm Incorporated | Inside view motion prediction among texture and depth view components |
KR101960761B1 (ko) * | 2011-11-24 | 2019-03-22 | 에스케이텔레콤 주식회사 | 모션 벡터의 예측 부호화/복호화 방법 및 장치 |
US8792745B2 (en) * | 2011-12-06 | 2014-07-29 | Sony Corporation | Encoder optimization of adaptive loop filters in HEVC |
CN105791822A (zh) * | 2012-01-18 | 2016-07-20 | Jvc建伍株式会社 | 动图像解码装置以及动图像解码方法 |
CN110830799B (zh) * | 2012-01-18 | 2023-09-15 | 韩国电子通信研究院 | 视频解码装置、视频编码装置和传输比特流的方法 |
US20130188716A1 (en) * | 2012-01-20 | 2013-07-25 | Qualcomm Incorporated | Temporal motion vector predictor candidate |
WO2013162258A1 (ko) * | 2012-04-23 | 2013-10-31 | 삼성전자 주식회사 | 다시점 비디오 부호화 방법 및 장치, 다시점 비디오 복호화 방법 및 장치 |
CN104365102B (zh) | 2012-05-10 | 2018-01-02 | Lg 电子株式会社 | 处理视频信号的方法和装置 |
US9860555B2 (en) | 2012-05-22 | 2018-01-02 | Lg Electronics Inc. | Method and apparatus for processing video signal |
US9172970B1 (en) | 2012-05-29 | 2015-10-27 | Google Inc. | Inter frame candidate selection for a video encoder |
US11317101B2 (en) | 2012-06-12 | 2022-04-26 | Google Inc. | Inter frame candidate selection for a video encoder |
PL400344A1 (pl) * | 2012-08-13 | 2014-02-17 | Politechnika Poznanska | Sposób wyznaczania predyktora wektora ruchu |
US9485515B2 (en) | 2013-08-23 | 2016-11-01 | Google Inc. | Video coding using reference motion vectors |
US9503746B2 (en) | 2012-10-08 | 2016-11-22 | Google Inc. | Determine reference motion vectors |
WO2014078068A1 (en) * | 2012-11-13 | 2014-05-22 | Intel Corporation | Content adaptive transform coding for next generation video |
KR20140092423A (ko) * | 2012-12-20 | 2014-07-24 | 주식회사 팬택 | 계층적 영상 부/복호화 모드 결정 방법 및 이러한 방법을 사용하는 장치 |
KR102063385B1 (ko) | 2013-01-30 | 2020-01-07 | 인텔 코포레이션 | 차세대 비디오용 콘텐츠 적응적 엔트로피 코딩 |
US9800857B2 (en) * | 2013-03-08 | 2017-10-24 | Qualcomm Incorporated | Inter-view residual prediction in multi-view or 3-dimensional video coding |
CN105122803B (zh) * | 2013-04-02 | 2019-01-08 | Vid拓展公司 | 针对可伸缩视频编码的增强型时间运动向量预测 |
EP3058736B1 (en) | 2013-10-14 | 2019-02-27 | Microsoft Technology Licensing, LLC | Encoder-side options for intra block copy prediction mode for video and image coding |
RU2654129C2 (ru) | 2013-10-14 | 2018-05-16 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Функциональные возможности режима внутреннего предсказания с блочным копированием для кодирования и декодирования видео и изображений |
US9432685B2 (en) * | 2013-12-06 | 2016-08-30 | Qualcomm Incorporated | Scalable implementation for parallel motion estimation regions |
US10390034B2 (en) | 2014-01-03 | 2019-08-20 | Microsoft Technology Licensing, Llc | Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area |
RU2669005C2 (ru) | 2014-01-03 | 2018-10-05 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Предсказание вектора блока в кодировании/декодировании видео и изображений |
US11284103B2 (en) | 2014-01-17 | 2022-03-22 | Microsoft Technology Licensing, Llc | Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning |
CA2939431C (en) | 2014-03-04 | 2020-09-22 | Microsoft Techology Licensing, Llc | Block flipping and skip mode in intra block copy prediction |
US9924183B2 (en) * | 2014-03-20 | 2018-03-20 | Nanjing Yuyan Information Technology Ltd. | Fast HEVC transcoding |
KR102413529B1 (ko) | 2014-06-19 | 2022-06-24 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 통합된 인트라 블록 카피 및 인터 예측 모드 |
WO2016049839A1 (en) | 2014-09-30 | 2016-04-07 | Microsoft Technology Licensing, Llc | Rules for intra-picture prediction modes when wavefront parallel processing is enabled |
CN111147845B (zh) | 2014-11-27 | 2023-10-10 | 株式会社Kt | 对视频信号进行解码的方法和对视频信号进行编码的方法 |
KR102553844B1 (ko) * | 2014-11-27 | 2023-07-10 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
US10187653B2 (en) * | 2015-05-18 | 2019-01-22 | Avago Technologies International Sales Pte. Limited | Motor vector prediction using co-located prediction units |
KR20180129863A (ko) * | 2016-04-25 | 2018-12-05 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 디코딩 방법 및 장치 |
CN109328461B (zh) | 2016-04-29 | 2023-09-05 | 世宗大学校产学协力团 | 视频信号编码/解码方法和设备 |
CN116915988A (zh) | 2016-04-29 | 2023-10-20 | 世宗大学校产学协力团 | 视频信号编码/解码方法和设备 |
CN116567225A (zh) * | 2016-08-11 | 2023-08-08 | Lx 半导体科技有限公司 | 编码/解码设备以及发送图像数据的设备 |
WO2018066874A1 (ko) * | 2016-10-06 | 2018-04-12 | 세종대학교 산학협력단 | 비디오 신호의 복호화 방법 및 이의 장치 |
KR102435500B1 (ko) * | 2016-10-06 | 2022-08-23 | 세종대학교산학협력단 | 비디오 신호의 복호화 방법 및 이의 장치 |
US10298951B2 (en) * | 2017-04-06 | 2019-05-21 | Mediatek Inc. | Method and apparatus of motion vector prediction |
EP3635955B1 (en) * | 2017-06-30 | 2024-05-08 | Huawei Technologies Co., Ltd. | Error resilience and parallel processing for decoder side motion vector derivation |
KR20210115052A (ko) | 2017-07-07 | 2021-09-24 | 삼성전자주식회사 | 적응적 움직임 벡터 해상도로 결정된 움직임 벡터의 부호화 장치 및 부호화 방법, 및 움직임 벡터의 복호화 장치 및 복호화 방법 |
CN107360433B (zh) * | 2017-07-20 | 2020-06-19 | 北京奇艺世纪科技有限公司 | 一种帧间预测编码方法和装置 |
CN109429064B (zh) * | 2017-08-22 | 2021-03-30 | 华为技术有限公司 | 一种视频数据的编解码方法、装置和介质 |
EP3457695A1 (en) | 2017-09-18 | 2019-03-20 | Thomson Licensing | Method and apparatus for motion vector predictor adaptation for omnidirectional video |
BR112020005097A2 (pt) | 2017-09-28 | 2020-09-15 | Samsung Electronics Co., Ltd. | método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo |
EP3691274A4 (en) | 2017-09-28 | 2021-04-28 | Samsung Electronics Co., Ltd. | CODING METHOD AND DEVICE FOR IT AND DECODING METHOD AND DEVICE FOR IT |
US10986349B2 (en) | 2017-12-29 | 2021-04-20 | Microsoft Technology Licensing, Llc | Constraints on locations of reference blocks for intra block copy prediction |
KR102356262B1 (ko) | 2018-03-27 | 2022-02-08 | 주식회사 윌러스표준기술연구소 | 모션 보상을 이용하는 비디오 신호 처리 방법 및 장치 |
US11470346B2 (en) * | 2018-05-09 | 2022-10-11 | Sharp Kabushiki Kaisha | Systems and methods for performing motion vector prediction using a derived set of motion vectors |
CN112470471A (zh) * | 2018-07-17 | 2021-03-09 | 华为技术有限公司 | 用于视频译码的受约束编码树 |
US11057617B2 (en) * | 2018-08-03 | 2021-07-06 | Tencent America LLC | Method and apparatus for video coding |
PL3831064T3 (pl) | 2018-08-17 | 2024-06-03 | Huawei Technologies Co., Ltd. | Zarządzanie obrazami odniesienia w kodowaniu wideo |
US11212550B2 (en) * | 2018-09-21 | 2021-12-28 | Qualcomm Incorporated | History-based motion vector prediction for affine mode |
CN111434110B (zh) * | 2018-11-06 | 2023-06-20 | 北京字节跳动网络技术有限公司 | 用于视频处理的方法、装置和存储介质 |
WO2020125756A1 (en) | 2018-12-21 | 2020-06-25 | Beijing Bytedance Network Technology Co., Ltd. | Motion vector bit depth in video processing |
CN113498609B (zh) * | 2018-12-31 | 2023-06-20 | 北京达佳互联信息技术有限公司 | 用于视频编解码的依赖图片分辨率的配置 |
JP7324065B2 (ja) * | 2019-06-26 | 2023-08-09 | キヤノン株式会社 | 動きベクトル検出装置、撮像装置、動きベクトル検出方法、及びプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007516640A (ja) | 2003-09-07 | 2007-06-21 | マイクロソフト コーポレーション | インターレース・ビデオの符号化および復号 |
JP2008136232A (ja) * | 2002-07-15 | 2008-06-12 | Hitachi Ltd | 動画像復号化方法 |
WO2009051419A2 (en) * | 2007-10-16 | 2009-04-23 | Lg Electronics Inc. | A method and an apparatus for processing a video signal |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100931746B1 (ko) * | 2002-04-19 | 2009-12-14 | 파나소닉 주식회사 | 움직임 벡터 계산방법 |
JP2004023458A (ja) | 2002-06-17 | 2004-01-22 | Toshiba Corp | 動画像符号化/復号化方法及び装置 |
US7154952B2 (en) * | 2002-07-19 | 2006-12-26 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
KR100506864B1 (ko) * | 2002-10-04 | 2005-08-05 | 엘지전자 주식회사 | 모션벡터 결정방법 |
US7317839B2 (en) * | 2003-09-07 | 2008-01-08 | Microsoft Corporation | Chroma motion vector derivation for interlaced forward-predicted fields |
KR20050053297A (ko) * | 2003-12-02 | 2005-06-08 | 학교법인 성균관대학 | 동영상 부호화 방법 및 장치 |
KR101169108B1 (ko) * | 2004-01-30 | 2012-07-26 | 톰슨 라이센싱 | 적응형 레이트 제어를 구비한 인코더 |
US20060120612A1 (en) * | 2004-12-08 | 2006-06-08 | Sharath Manjunath | Motion estimation techniques for video encoding |
KR100746006B1 (ko) | 2005-07-19 | 2007-08-06 | 삼성전자주식회사 | 계층적 구조에 적합하게 시간적 다이렉트 모드로인코딩하며, 디코딩하는 방법 및 장치 |
AU2007269575B2 (en) | 2006-07-06 | 2012-08-16 | Interdigital Vc Holdings, Inc. | Method and apparatus for decoupling frame number and/or picture order count (POC) for multi-view video encoding and decoding |
JP4763549B2 (ja) * | 2006-08-18 | 2011-08-31 | 富士通セミコンダクター株式会社 | フレーム間予測処理装置、画像符号化装置、及び画像復号化装置 |
KR101366241B1 (ko) * | 2007-03-28 | 2014-02-21 | 삼성전자주식회사 | 영상 부호화, 복호화 방법 및 장치 |
US9648325B2 (en) * | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
WO2009115901A2 (en) * | 2008-03-19 | 2009-09-24 | Nokia Corporation | Combined motion vector and reference index prediction for video coding |
KR100890512B1 (ko) | 2008-09-11 | 2009-03-26 | 엘지전자 주식회사 | 모션벡터 결정방법 |
-
2011
- 2011-04-07 KR KR1020110032376A patent/KR101752418B1/ko active IP Right Grant
- 2011-04-08 SI SI201132087T patent/SI3982634T1/sl unknown
- 2011-04-08 WO PCT/KR2011/002497 patent/WO2011126345A2/ko active Application Filing
- 2011-04-08 EP EP21210463.2A patent/EP3982634B1/en active Active
- 2011-04-08 CN CN201610330601.8A patent/CN105847835B/zh active Active
- 2011-04-08 FI FIEP21210463.2T patent/FI3982634T3/fi active
- 2011-04-08 EP EP23181365.0A patent/EP4236324A3/en active Pending
- 2011-04-08 ES ES21210463T patent/ES2954563T3/es active Active
- 2011-04-08 HU HUE11766196A patent/HUE057387T2/hu unknown
- 2011-04-08 CN CN201610329758.9A patent/CN105933712B/zh active Active
- 2011-04-08 CN CN201180018198.0A patent/CN102835113B/zh active Active
- 2011-04-08 PL PL21210463.2T patent/PL3982634T3/pl unknown
- 2011-04-08 CN CN201610330793.2A patent/CN105847836B/zh active Active
- 2011-04-08 HR HRP20230945TT patent/HRP20230945T1/hr unknown
- 2011-04-08 ES ES11766196T patent/ES2904348T3/es active Active
- 2011-04-08 US US13/639,408 patent/US8976865B2/en active Active
- 2011-04-08 EP EP11766196.7A patent/EP2557796B1/en active Active
- 2011-04-08 HU HUE21210463A patent/HUE063019T2/hu unknown
- 2011-04-08 SI SI201132032T patent/SI2557796T1/sl unknown
- 2011-04-08 CN CN201610329756.XA patent/CN106028042B/zh active Active
- 2011-04-08 PL PL11766196T patent/PL2557796T3/pl unknown
-
2014
- 2014-12-09 US US14/564,825 patent/US9264734B2/en active Active
-
2016
- 2016-01-04 US US14/987,280 patent/US9407929B2/en active Active
- 2016-01-05 US US14/988,323 patent/US9402085B2/en active Active
- 2016-04-22 US US15/136,517 patent/US9699473B2/en active Active
- 2016-09-29 US US15/280,755 patent/US9800892B2/en active Active
-
2017
- 2017-06-16 KR KR1020170076805A patent/KR101857672B1/ko active IP Right Grant
- 2017-08-24 US US15/685,662 patent/US10038914B2/en active Active
-
2018
- 2018-05-04 KR KR1020180051647A patent/KR101971971B1/ko active IP Right Grant
- 2018-05-24 US US15/988,512 patent/US10404997B2/en active Active
-
2019
- 2019-04-16 KR KR1020190044354A patent/KR102094896B1/ko active IP Right Grant
- 2019-07-16 US US16/513,198 patent/US10743021B2/en active Active
-
2020
- 2020-03-23 KR KR1020200034907A patent/KR102221724B1/ko active IP Right Grant
- 2020-07-07 US US16/922,830 patent/US11277634B2/en active Active
-
2021
- 2021-02-23 KR KR1020210024222A patent/KR102334293B1/ko active IP Right Grant
- 2021-11-29 KR KR1020210167241A patent/KR102438270B1/ko active IP Right Grant
-
2022
- 2022-01-28 US US17/587,850 patent/US12022111B2/en active Active
- 2022-08-25 KR KR1020220107199A patent/KR102549223B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008136232A (ja) * | 2002-07-15 | 2008-06-12 | Hitachi Ltd | 動画像復号化方法 |
JP2007516640A (ja) | 2003-09-07 | 2007-06-21 | マイクロソフト コーポレーション | インターレース・ビデオの符号化および復号 |
WO2009051419A2 (en) * | 2007-10-16 | 2009-04-23 | Lg Electronics Inc. | A method and an apparatus for processing a video signal |
Non-Patent Citations (1)
Title |
---|
JOEL JUNG et al., "Competition based scheme for motion vector selection and coding", Video Coding Experts Group 29th meeting, 18, July, 2006, VCEG-AC06.* |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102549223B1 (ko) | 비디오 신호 처리 방법 및 장치 | |
KR102344855B1 (ko) | 비디오 신호의 처리 방법 및 장치 | |
KR102504685B1 (ko) | 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |