KR20130067280A - 인터 예측 부호화된 동영상 복호화 방법 - Google Patents
인터 예측 부호화된 동영상 복호화 방법 Download PDFInfo
- Publication number
- KR20130067280A KR20130067280A KR1020130043053A KR20130043053A KR20130067280A KR 20130067280 A KR20130067280 A KR 20130067280A KR 1020130043053 A KR1020130043053 A KR 1020130043053A KR 20130043053 A KR20130043053 A KR 20130043053A KR 20130067280 A KR20130067280 A KR 20130067280A
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- block
- prediction unit
- candidate
- current 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/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/124—Quantisation
-
- 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
-
- 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
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명에 따른 인터 예측 부호화된 동영상을 복호화하는 방법은, 현재 예측 유닛의 예측 블록을 생성하고, 현재 예측 유닛의 잔차 블록을 복원한다. 현재 예측 유닛의 예측 블록을 생성하기 위해, 수신된 비트스트림으로부터 현재 예측 유닛의 참조 픽쳐 인덱스와 차분 움직임 벡터를 구하고, 좌측 및 상측 공간 움직임 벡터 후보자를 구하고, 시간 움직임 벡터 후보자를 구하고, 움직임 벡터 리스트를 구축하고, 중복되는 움직임 벡터 후보자들이 존재하면 후순위 움직임 벡터 후보자를 움직임 벡터 리스트 상에서 삭제하고, 움직임 벡터 리스트 상의 움직임 벡터 후보자 수가 미리 정해진 수보다 작으면 영벡터를 추가한다. 그리고, 수신된 비트 스트림으로부터의 움직임 벡터 인덱스에 대응하는 움직임 벡터 후보자를 움직임 벡터 예측자로 결정하고, 상기 차분 움직임 벡터 및 상기 움직임 벡터 예측자를 이용하여 현재 예측 유닛의 움직임 벡터를 복원하여, 상기 복원된 현재 예측 유닛의 움직임 벡터 및 수신된 현재 예측 유닛의 참조 픽쳐 인덱스를 이용하여 현재 예측 유닛의 예측 블록을 생성한다. 상기 시간 움직임 벡터 후보자는 현재 예측 유닛의 위치에 따라 복수개의 대응 블록들을 미리 정해진 순서로 스캔하여 유효한 첫번째 움직임 벡터이거나, 미리 정해진 위치의 대응 블록의 움직임 벡터로 설정된다.
Description
본 발명은 인터 예측 부호화된 동영상을 복호화하는 방법에 관한 것으로, 보다 상세하게는 공간 움직임 벡터 후보자 및 시간 움직임 벡터 후보자를 이용하여 움직임 벡터 리스트를 구축하고, 수신된 움직임 벡터 인덱스를 이용하여 현재 예측 유닛의 움직임 벡터를 복원하여 인터 예측 부호화된 동영상을 복호화하는 방법에 관한 것이다.
MPEG-1, MPEG-2, MPEG-4 H.264/MPEG-4 AVC(Advanced Video coding)와 같은 영상 압축 방식에서는 영상을 부호화하기 위해서 하나의 픽처를 매크로 블록으로 나눈다. 그리고, 인터 예측(inter prediction) 및 인트라 예측(intra prediction)을 이용해 각각의 매크로 블록을 부호화한다. 그런 다음, 부호화된 매크로 블록의 데이터 크기 및 원본 매크로 블록의 왜곡 정도를 고려하여 최적의 부호화 모드를 선택하고 매크로 블록을 부호화한다.
인터 예측을 이용해 영상을 부호화하는 방법은 픽처들 사이의 시간적인 중복성을 제거하여 영상을 압축하는 방법으로 움직임 추정 부호화 방법이 대표적인 예이다. 움직임 추정 부호화는 하나 이상의 참조 픽처를 이용하여 현재 픽처의 움직임을 블록 단위로 추정하고 보상하여 영상을 부호화하는 방법이다.
움직임 추정 부호화에서는 소정의 평가 함수를 이용하여 현재 블록과 가장 유사한 블록을 참조 픽처의 정해진 검색 범위에서 검색한다. 유사한 블록이 검색되면, 현재 블록과 참조 픽처 내의 유사한 블록 사이의 레지듀(residue)만 전송함으로써 데이터의 압축률을 높인다.
이 때, 움직임 추정 부호화된 현재 블록을 복호화하기 위해서는 현재 블록과 참조 픽처 내의 유사한 블록 사이의 위치 차이를 나타내는 움직임 벡터에 대한 정보가 필요하다. 따라서, 부호화시에 움직임 벡터에 대한 정보를 부호화하여 비트스트림에 삽입하게 되는데, 움직임 벡터에 대한 정보를 그대로 부호화하여 삽입하면, 오버헤드(overhead)가 증가하게 되어 영상 데이터의 압축률이 낮아진다.
따라서, 인터 예측 부호화 방법에서는 현재 블록의 움직임 벡터를 주변 블록들을 이용하여 예측하고, 예측의 결과로 생성된 예측 움직임 벡터와 원본 움직임 벡터와의 차분값만을 부호화하여 전송함으로써 움직임 벡터에 대한 정보도 압축한다.
H.264에서는 현재 블록의 움직임 벡터의 예측값인 예측 움직임 벡터는 예측 움직임 벡터=중앙값(mvA, mvB, mvC)에 의해 결정된다. 인접한 블록들은 유사성을 가지기 쉽기 때문에 현재 블록의 움직임 벡터를 주변 블록들의 움직임 벡터들의 중앙값으로 결정한다.
그러나, 인접 블록들의 움직임 벡터들 중 하나 이상이 현재 블록의 움직임 벡터와 상이한 경우, 상기 중앙값이 현재 블록의 움직임 벡터를 효과적으로 예측하지 못하는 점이 발생한다. 또한, 영상의 움직임이 거의 없거나 시간적으로 거의 일정하게 움직이는 영상 및 배경영상에 대해서는 기존의 움직임 예측 방식보다 효과적인 움직임 예측을 위한 후보자 선정 및 움직임 벡터를 부호화 복호화하는 방식이 요구된다.
본 발명이 이루고자 하는 목적은 현재 예측 유닛에 인접한 예측 유닛의 움직임 벡터 및 시간적으로 상이한 픽쳐 내의 미리 정해진 위치의 움직임 벡터들을 이용하여 현재 예측 유측의 움직임 벡터를 효율적으로 부호화하고 복호화하는 방법을 제공하는데 있다.
본 발명에 따른 인터 예측 부호화된 동영상을 복호화하는 방법은, 현재 예측 유닛의 예측 블록을 생성하고, 현재 예측 유닛의 잔차 블록을 복원한다. 현재 예측 유닛의 예측 블록을 생성하기 위해, 수신된 비트스트림으로부터 현재 예측 유닛의 참조 픽쳐 인덱스와 차분 움직임 벡터를 구하고, 좌측 및 상측 공간 움직임 벡터 후보자를 구하고, 시간 움직임 벡터 후보자를 구하고, 움직임 벡터 리스트를 구축하고, 중복되는 움직임 벡터 후보자들이 존재하면 후순위 움직임 벡터 후보자를 움직임 벡터 리스트 상에서 삭제하고, 움직임 벡터 리스트 상의 움직임 벡터 후보자 수가 미리 정해진 수보다 작으면 영벡터를 추가한다. 그리고, 수신된 비트 스트림으로부터의 움직임 벡터 인덱스에 대응하는 움직임 벡터 후보자를 움직임 벡터 예측자로 결정하고, 상기 차분 움직임 벡터 및 상기 움직임 벡터 예측자를 이용하여 현재 예측 유닛의 움직임 벡터를 복원하여, 상기 복원된 현재 예측 유닛의 움직임 벡터 및 수신된 현재 예측 유닛의 참조 픽쳐 인덱스를 이용하여 현재 예측 유닛의 예측 블록을 생성한다. 상기 시간 움직임 벡터 후보자는 현재 예측 유닛의 위치에 따라 복수개의 대응 블록들을 미리 정해진 순서로 스캔하여 유효한 첫번째 움직임 벡터이거나, 미리 정해진 위치의 대응 블록의 움직임 벡터로 설정된다.
본 발명에 따른 인터 예측 부호화된 동영상을 복호화하는 방법은 현재 예측 유닛과 인접하는 미리 정해진 위치의 예측 유닛들의 유효한 공간 움직임 벡터 후보자 및 이전에 부호화된 참조 픽쳐 내의 현재 예측 유닛에 대응하는 위치 또는 그 주변에 존재하는 예측 유닛의 시간 움직임 벡터 후보자를 이용하여 현재 예측 유닛의 움직임 정보를 효과적으로 압축한 현재 예측 유닛의 움직임 벡터를 정확하게 복호한다. 따라서, 복호기에서의 연산량 및 대역폭을 줄이면서 현재 예측 유닛의 움직임 정보의 정확하고 신속하게 복호하는 효과가 있다.
도 1은 본 발명에 따른 LCU 내에서의 코딩 유닛(CU)을 스캔하는 방법을 나타내는 도면이다.
도 2는 본 발명에 따른 동영상 부호화 장치를 나타내는 블록도이다.
도 3은 본 발명에 따른 동영상 복호화 장치를 나타내는 블록도이다.
도 4는 본 발명에 따른 공간 스킵 후보자의 위치를 나타내는 도면이다.
도 5는 본 발명에 따른 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 대응 블록들을 나타내는 도면이다.
도 6은 본 발명에 따른 공간 움직임 벡터 후보자를 구하기 위해 사용되는 현재 예측 유닛에 인접한 예측 유닛들의 위치를 나타내는 도면이다.
도 2는 본 발명에 따른 동영상 부호화 장치를 나타내는 블록도이다.
도 3은 본 발명에 따른 동영상 복호화 장치를 나타내는 블록도이다.
도 4는 본 발명에 따른 공간 스킵 후보자의 위치를 나타내는 도면이다.
도 5는 본 발명에 따른 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 대응 블록들을 나타내는 도면이다.
도 6은 본 발명에 따른 공간 움직임 벡터 후보자를 구하기 위해 사용되는 현재 예측 유닛에 인접한 예측 유닛들의 위치를 나타내는 도면이다.
이하, 본 발명의 여러가지 실시예들을 예시적인 도면을 통해 상세히 설명한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
픽쳐는 복수의 슬라이스로 구성되고, 슬라이스는 복수개의 LCU(largest coding unit)로 구성된다. LCU의 위치는 주소 지시자에 의해 정해진다. 상기 LCU는 그 자체가 코딩 유닛(CU: coding unit)이 될 수도 있고, 더 작은 단위의 CU들로 분할될 수 있다. LCU 단위마다 LCU 내의 CU 구성을 나타내는 정보를 포함한다. CU는 쿼드 트리 구조(Quad Tree structure)로 분할될 수 있다. 상기 CU 구성을 나타내기 위해 분할플래그가 사용된다.
각각 결정된 CU는 하나 또는 복수개의 예측 유닛(PU: prediction unit)으로 구성된다. PU는 인트라 또는 인터 예측을 위해 사용되는 기본 단위를 의미한다.
각각 결정된 CU는 하나 또는 복수개의 변환 유닛(TU: transform unit)으로 구성된다. TU는 변환부호화의 기본 단위를 의미한다. 인트라 예측의 경우에는 PU가 복수개의 TU를 가질 수도 있다. 인터 예측의 경우에는 복수개의 PU가 하나의 TU를 구성할 수도 있다. TU의 최대크기는 SPS(sequence parameter set)에서 정의되며, 쿼드트리 형태로 분할될 수 있다. 인트라 예측과 인터 예측에 대한 최소크기의 TU는 상이할 수 있다. 따라서, 상기 정보는 SPS를 통해 복호기로 전송된다.
하나의 CU 내에서의 휘도신호 예측을 위한 PU의 구성과 색차신호 예측을 위한 PU의 구성은 동일하다. 그러나, 하나의 CU 내에서의 휘도신호 부호화를 위한 TU의 구성과 색차 신호 부호화를 위한 TU의 구성은 동일하지 않을 수도 있다. 즉, 색차 신호의 변환 블록의 크기를 휘도 신호의 변환 블록의 크기와 관계없이 미리 정해진 크기로 결정할 수 있다. 예를 들어, CU의 크기에 따라 미리 정해진 크기의 색차신호의 변환블록이 결정될 수 있다. 또는 색차 신호의 TU의 최대 깊이 정보를 미리 설정하여 색차 신호의 허용 가능한 TU의 크기를 조정할 수 있다. 예를 들어, 휘도 신호의 TU의 깊이 정보가 상기 색차 신호의 TU의 최대 깊이 정보보다 작거나 같은 경우에는 휘도 신호의 TU 분할 정보에 따라 색차 신호의 TU 분할을 행하되, 휘도 신호의 TU의 깊이 정보가 상기 색차 신호의 TU의 최대 깊이 정보보다 큰 경우에는 상기 색차 신호의 TU의 최대 깊이 정보보다 작은 단위로 색차 신호의 TU를 구성하지 않도록 설정할 수 있다. 상기 색차 신호의 TU의 최대 깊이 정보는 미리 정해진 값일 수도 있고, 부호기에서 결정하여 복호기로 전송하는 값일 수도 있다.
복호화를 위한 코딩 유닛의 스캔 과정은 다음과 같다. 먼저 LCU(largest coding unit)의 어드레스를 비트스트림을 파싱하여 읽어 들인다. LCU의 크기도 읽어 들인다. LCU의 크기는 부호기와 복호기가 미리 약정한 값일 수도 있고 부호기가 복호기로 전송하는 비트스트림(sequence header 또는 picture header)에 포함될 수도 있다. 상기 LCU의 어드레스 및/또는 크기를 이용하여 LCU의 좌상측 픽셀의 위치를 출력한다.
도 1은 본 발명에 따른 LCU 내에서의 코딩 유닛(CU)을 스캔하는 방법을 나타내는 도면이다. 도 1에 도시된 바와 같이, LCU 내의 하위 단위의 CU들은 재귀적으로 래스터 스캔된다.
CU 내에 복수개의 PU가 존재하면, PU가 스캐닝된다. CU 내의 PU들도 재귀적으로 래스터 스캔된다. PU의 위치는 PU 인덱스로 특정된다. 따라서, PU 인덱스를 입력으로 하여 PU의 좌상측 화소의 위치를 구한다.
마찬가지로, CU 내에 복수개의 TU가 존재하면, TU들도 재귀적으로 래스터 스캐닝된다. TU 인덱스를 이용하여 TU의 좌상측 화소의 위치를 구한다.
부호화기로부터 전송되는 파라미터들에 대해 설명한다. 시퀀스 파라미터 세트(SPS : sequence parameter set)는 시퀀스 헤더를 통해 전송된다. 시퀀스 파라미터 세트는 가장 작은 CU의 크기, LCU로부터 분할이 허용되는 최대 깊이 정보를 포함한다. 또한, 가장 작은 TU의 크기, CU로부터 분할이 허용되는 최대 변환 깊이 정보를 포함한다. 상기 변환 깊이 정보는 인트라 예측과 인터 예측에 따라 달리 설정될 수 있다.
슬라이스 헤더는 슬라이스 타입 정보를 포함한다. 슬라이스 타입이 P 또는 B인 경우에는 인터 예측 블록을 얻기 위해 사용되는 방법을 나타내는 정보를 포함할 수 있다. 또한, 슬라이스 헤더는 움직임 벡터 부호화시에 시간 후보자가 사용되었는지 여부를 나타내는 정보를 포함할 수도 있다. 또는 시간 후보자는 디폴트로 포함될 수도 있다. 시간 후보자는 미리 부호화된 시간 후보자 픽쳐 내의 현재 예측 유닛과 동일한 위치 또는 그 주변 위치의 미리 정해진 블록의 움직임 벡터를 의미한다. 시간 후보자 픽쳐 내에 현재 예측 유닛과 동일한 위치 또는 그 주변 위치에 복수개의 움직임 벡터가 존재할 수도 있다. 현재 예측 유닛의 위치에 따라 미리 정해진 움직임 벡터가 선택될 수 있다. 상기 위치는 현재 예측 유닛의 LCU 내에서의 위치에 따라 달리 설정될 수도 있다. 슬라이스 헤더는 시간 움직임 벡터를 포함하는 시간 후보자 픽쳐는 참조픽쳐 리스트0에 속하는지 참조픽쳐 리스트1에 속하는지를 나타내는 정보가 포함될 수 있다. 이 정보가 포함되지 않는 경우에는 그 값이 1인 것으로(즉, 참조픽쳐 리스트 0 사용) 간주된다.
슬라이스 타입이 P 또는 B인 경우에 슬라이스 헤더는 참조 픽쳐 저장을 위한 메모리 관리를 정보들을 포함한다.
슬라이스 헤더는 적응적 루프 필터링이 현재 슬라이스에 적용되지는 여부를 나타내는 정보를 포함할 수 있다. 상기 정보가 적응적 루프 필터링 적용됨을 나타내면, 슬라이스 헤더는 적응적 루프 필터 파라미터 정보를 포함할 수 있다. 적응적 루프 필터 파라미터 정보는 적응적 루프 필터 과정에서 사용되는 휘도 성분(luma component)의 수평 및/또는 수직 방향의 필터 길이를 나타내는 정보를 포함한다. 상기 정보는 사용되는 필터의 수를 나타내는 정보를 포함할 수도 있다. 필터의 수가 2 이상이면 필터 계수들이 예측 방법을 사용하여 부호화 될 수도 있다. 예측 방법의 사용 여부에 대한 정보가 포함될 수 있다.
한편, 휘도 성분뿐만 아니라 색차 성분(chroma component)들도 적응적으로 필터링될 수 있다. 따라서, 상기 정보는 색차 성분 각각이 필터링되는지 여부를 나타내는 정보들을 포함할 수 있다. 이 경우, 비트수를 줄이기 위해 Cr와 Cb에 대한 필터링 여부를 함께 나타내는 정보는 조인트 코딩 또는 멀티플랙싱될 수 있다. 색차 성분들 모두를 필터링하지 않는 경우가 가장 빈번하기 때문에 이에 대해 가장 작은 정보(비트 수)를 할당하는 엔트로피 부호화를 수행한다. 또한, 색차 성분 중 적어도 하나 이상이 필터링되는 경우에는, 상기 정보는 색차 성분에 대한 필터 계수의 수평 및/또는 수직 방향의 필터 길이를 나타내는 정보 및 필터 정보를 포함할 수 있다.
상기 적응적 루프 필터 파라미터는 픽쳐 헤더 또는 별도의 파라미터 셋으로 전송될 수도 있다. 이 경우, 슬라이스 헤더는 상기 적응적 루프 필터 파라미터를 포함하지 않을 수 있으며, 상기 적응적 루프 필터 파라미터는 나타내는 인덱스 정보를 포함할 수 있다.
또한, 적응적 루프 필터는 코딩 유닛 또는 소정 크기 이상의 코딩 유닛(CU)마다 적용여부가 결정될 수 있다. 따라서, 슬라이스 헤더는 슬라이스 내의 코딩 유닛 또는 소정 크기 이상의 코딩 유닛 단위로 적응적 루프 필터링 과정이 적용되는지 여부를 나타내는 정보를 포함할 수 있다. 이 경우, 소정 크기의 CU를 나타내는 정보는 미리 결정된 크기일 수도 있고, 슬라이스 헤더에 포함될 수도 있다.
한편, 슬라이스는 슬라이스 헤더와 복수개의 LCU를 포함한다. LCU는 LCU 내의 CU의 구성을 나타내기 위한 정보를 포함한다. CU 구성은 재귀적 쿼드 트리 구조로 이루어진다. 이를 위해, 소정 크기의 CU가 더 작은 size로 분할되는지 여부를 나타내는 정보(split_coding_unit_flag)를 포함할 수 있다. 현재의 CU가 가장 작은 CU인 경우에는 상기 정보를 포함하지 않는다. 또한, CU는 적응적 루프 필터를 적용할지 여부를 나타내는 정보(alf_flag)를 포함할 수 있으며, 존재하지 않는 경우에는 적용하지 않는 것으로 간주할 수 있다. 따라서 복호기에서는 상기 정보의 존재 여부를 판단하여 존재하지 않는 경우에는 루프 필터를 적용하지 않고, 존재하는 경우에는 그 값에 따라 적응적으로 루프 필터를 적용할 수 있다.
H.264에서는 움직임벡터 예측부호화를 위해 좌측(A), 상단(B), 우측상단(C)의 블록들의 움직임벡터를 사용하여 수평성분과 수직성분 각각의 중앙값을 사용하게 된다. 그러나, HEVC에서는 가변블록 크기 움직임보상이 사용되므로, 부호화하려는 예측 유닛과 인접 예측 유닛의 크기가 다를 경우가 많이 발생한다. 따라서, 다음과 같은 방법을 사용하여 예측한다.
공간 움직임 벡터 후보자로서, 부호화하려는 현재 예측 유닛의 좌측에 위치하는 복수개의 인접 예측 유닛들 중 하나의 움직임 벡터(좌측 움직임 벡터)와, 부호화하려는 현재 예측 유닛의 상측에 위치하는 복수개의 인접 예측 유닛들 중 하나의 움직임 벡터(상측 움직임 벡터)를 이용한다. 상기 인접 예측 유닛들은 미리 정해진 위치에 위치할 수 있다. 구체적으로, 현재 예측 유닛의 좌측에 인접하는 복수개의 인접 예측 유닛들을 미리 정해진 순서로 검색하여 유효한 움직임 벡터를 구한다. 마찬가지로, 현재 예측 유닛의 상측에 인접하는 복수개의 인접 예측 유닛들을 미리 정해진 순서로 검색하여 유효한 움직임 벡터를 구한다. 다만, 상기 현재 예측 유닛의 상측이 픽쳐 또는 슬라이스 경계에 인접하는 경우에는 좌측 움직임 벡터만을 공간 움직임 벡터 후보자로 사용할 수 있다. 마찬가지로, 상기 현재 예측 유닛의 좌측이 픽쳐 또는 슬라이스 경계에 인접하는 경우에는 상측 움직임 벡터만을 공간 움직임 벡터 후보자로 사용할 수 있다.
시간 움직임 벡터 후보자로서, 미리 부호화된 시간 후보자 픽쳐 내의 부호화하려는 현재 예측 유닛과 동일한 위치 또는 그 주변 위치의 미리 정해진 블록의 움직임 벡터를 이용한다. 시간 후보자 픽쳐 내에 현재 예측 유닛과 동일한 위치 또는 그 주변 위치에 복수개의 대응 블록이 존재할 수도 있다. 따라서, 현재 예측 유닛의 위치에 따라 미리 정해진 위치에 대응하는 블록의 움직임 벡터가 선택될 수 있다. 또는 미리 정해진 순서로 현재 예측 유닛에 대응하는 블록들 중 하나의 움직임 벡터를 선택할 수도 있다. 상기 미리 정해진 위치에 대응하는 블록은 현재 예측 유닛의 LCU 내에서의 위치에 따라 달리 설정될 수도 있다. 또한, 상기 미리 정해진 순서도 현재 예측 유닛의 LCU 내에서의 위치에 따라 달리 설정될 수도 있다. 현재 예측 유닛이 속한 슬라이스가 B 슬라이스인 경우, 상기 시간 후보자 픽쳐가 참조픽쳐 리스트0에 속하는지 참조픽쳐 리스트1에 속하는지를 결정하여야 하며, 상기 결정된 정보는 슬라이스 헤더를 통해 전송될 수 있다. 상기 정보가 슬라이스 헤더에 포함되지 않는 경우에는 그 값이 1인 것으로(즉, 참조픽쳐 리스트 0 사용) 간주된다.
따라서, 현재 예측 유닛의 움직임 벡터를 부호화하는 과정은 다음과 같다.
먼저, 현재 예측 유닛의 움직임 벡터를 결정한다.
다음으로, 현재 예측 유닛과 공간적으로 인접하는 현재 예측 유닛의 유효한 좌측 움직임 벡터 후보자 및 상측 움직임 벡터 후보자를 결정한다. 움직임 벡터가 존재하지 않으면 유효하지 않은 움직임 벡터로 본다. 또한, 현재 예측 유닛에 인접하는 블록이 슬라이스 경계 밖에 위치하는 경우에는 상기 인접블록의 움직임 벡터는 유효하지 않은 것으로 본다.
다음으로, 상기 공간 움직임 벡터 후보자를 적응적으로 스케일링한다. 현재 예측 유닛과 인접 예측 유닛이 서로 동일한 픽쳐를 참조하는 경우에는 스케일링하지 않는다. 현재 예측 유닛과 인접 예측 유닛이 서로 다른 참조 픽쳐를 참조하고 참조 픽쳐와의 시간적 거리(temporal distance of the reference picture)가 다른 경우에는 상기 공간 움직임 벡터 후보자를 스케일링한다. 스케일링은 참조 픽쳐와의 시간적 거리를 이용해서 수행한다. 그러나, 움직이지 않는 영상(예를 들어, 배경 등)의 경우에는 스케일링 하지 않을 수도 있다. 이 경우, 스케일링 여부를 나타내는 정보(flag)를 복호기로 전송할 수도 있다. 또는 미리 정해진 개수의 공간 움직임 벡터만을 스케일링할 수도 있다. 상기 스케일링의 횟수는 1회로 고정될 수 있다. 이때, 2번째 공간 움직임 벡터가 스케일링해야 할 움직임 벡터인 경우에는 유효하지 않은 움직임 벡터로 설정할 수 있다.
다음으로, 유효한 시간 움직임 벡터 후보자를 구한다. 유효한 시간 움직임 벡터 후보자는 상술한 바와 같다.
다음으로, 상기 유효한 공간 움직임 벡터 후보자 및 상기 유효한 시간 움직임 벡터 후보자를 이용하여 리스트를 구축한다. 유효한 시간 움직임 벡터 후보자는 유효한 공간 움직임 벡터 후보자 뒤에 위치하도록 리스트를 구성한다. 그리고, 동일한 움직임 벡터값을 갖는 후보자들이 존재하는 경우에는 리스트 상에서 뒤에 오는 움직임 벡터 후보자를 리스트에서 제거한다.
다음으로, 상기 유효한 공간 움직임 벡터 후보자 및 상기 유효한 시간 움직임 벡터 후보자들 중에서 현재 예측 유닛의 움직임 벡터 예측자를 선택한다. 현재 예측 유닛의 움직임 벡터 후보자 수는 미리 정해질 수 있다. 리스트 상의 유효한 움직임 벡터 후보자수가 미리 정해진 수보다 큰 경우에는 미리 정해진 수에 대응하는 후보자들 중에서 현재 예측 유닛의 움직임 벡터 예측자를 결정할 수 있다. 또한, 리스트 상의 유효한 움직임 벡터 후보자수가 미리 정해진 수보자 작은 경우에는 움직임 벡터 후보자를 추가할 수 있다. 상기 추가되는 움직임 벡터 후보자는 영 벡터(zero vector)일 수 있다.
다음으로, 현재 예측 유닛의 움직임 벡터와 상기 현재 예측 유닛의 움직임 벡터 예측자와의 움직임 벡터 차이값(즉, 차분 움직임 벡터: MVD)을 구하고, 상기 차분 움직임 벡터(MVD)를 부호화한다. 그리고, 상기 움직임 벡터 예측자를 나타내는 정보도 부호화한다.
한편, 움직임 벡터를 복호화하는 방법은 다음과 같다.
현재 예측 유닛의 차분 움직임 벡터(MVD)를 복호화한다.
현재 예측 유닛의 움직임 벡터 예측자를 나타내는 정보를 복원한다.
현재 예측 유닛의 움직임 벡터 예측자를 구하기 위해 움직임 벡터 후보자들을 다음의 과정을 통해 구한다.
먼저, 현재 예측 유닛과 공간적으로 인접하는 현재 예측 유닛의 유효한 좌측 움직임 벡터 후보자 및 상측 움직임 벡터 후보자를 결정한다. 움직임 벡터가 존재하지 않으면 유효하지 않은 움직임 벡터로 본다. 또한, 현재 예측 유닛에 인접하는 블록이 슬라이스 경계 밖에 위치하는 경우에는 상기 인접블록의 움직임 벡터는 유효하지 않은 것으로 본다.
다음으로, 상기 공간 움직임 벡터 후보자를 적응적으로 스케일링한다. 현재 예측 유닛과 인접 예측 유닛이 서로 동일한 픽쳐를 참조하는 경우에는 스케일링하지 않는다. 현재 예측 유닛과 인접 예측 유닛이 서로 다른 참조 픽쳐를 참조하고 참조 픽쳐와의 시간적 거리(temporal distance of the reference picture)가 다른 경우에는 상기 공간 움직임 벡터 후보자를 스케일링한다. 스케일링은 참조 픽쳐와의 시간적 거리를 이용해서 수행한다. 그러나, 움직이지 않는 영상(예를 들어, 배경 등)의 경우에는 스케일링 하지 않을 수도 있다. 이 경우, 스케일링 여부를 나타내는 정보(flag)를 복호기로 전송할 수도 있다. 또는 미리 정해진 개수의 공간 움직임 벡터만을 스케일링할 수도 있다. 상기 스케일링의 횟수는 1회로 고정될 수 있다. 이때, 2번째 공간 움직임 벡터가 스케일링해야 할 움직임 벡터인 경우에는 유효하지 않은 움직임 벡터로 설정할 수 있다.
다음으로, 시간 움직임 벡터 후보자를 구한다. 유효한 시간 움직임 벡터 후보자는 상술한 바와 같다.
다음으로, 상기 유효한 공간 움직임 벡터 후보자 및 상기 유효한 시간 움직임 벡터 후보자를 이용하여 리스트를 구축한다. 유효한 시간 움직임 벡터 후보자는 유효한 공간 움직임 벡터 후보자 뒤에 위치하도록 리스트를 구성한다. 그리고, 동일한 움직임 벡터값을 갖는 후보자들이 존재하는 경우에는 리스트 상에서 뒤에 오는 움직임 벡터 후보자를 리스트에서 제거한다.
다음으로, 상기 유효한 공간 움직임 벡터 후보자 및 상기 유효한 시간 움직임 벡터 후보자 중에서 현재 예측 유닛의 움직임 벡터 예측자를 선택한다. 현재 예측 유닛의 움직임 벡터 후보자 수는 미리 정해질 수 있다. 리스트 상의 움직임 벡터 후보자수가 미리 정해진 수보다 큰 경우에는 미리 정해진 수에 대응하는 후보자들 중에서 현재 예측 유닛의 움직임 벡터 예측자를 결정할 수 있다. 또한, 리스트 상의 유효한 움직임 벡터 후보자수가 미리 정해진 수보자 작은 경우에는 움직임 벡터 후보자를 추가할 수 있다. 상기 추가되는 움직임 벡터 후보자는 영 벡터(zero vector)일 수 있다.
현재 예측 유닛의 움직임 벡터 후보자들이 구해지면, 상기 복원된 현재 예측 유닛의 움직임 벡터 예측자를 나타내는 정보에 대응하는 움직임 벡터 후보자를 현재 예측 유닛의 움직임 벡터 예측자로 결정한다.
현재 예측 유닛의 차분 움직임 벡터와 상기 움직임 벡터 예측자를 이용하여 현재 예측 유닛의 움직임 벡터를 복원한다.
상기한 시간 움직임 벡터가 속하는 시간 후보자 픽쳐는 참조픽쳐 인덱스 0의 값을 갖는 참조픽쳐인 것이 바람직하다.
도 2는 본 발명에 따른 동영상 부호화 장치(100)를 나타내는 블록도이다.
도 2를 참조하면, 본 발명에 따른 동영상 부호화 장치(100)는 픽쳐 분할부(110), 변환부(120), 양자화부(130), 스캐닝부(131), 엔트로피 부호화부(140), 인트라 예측부(150), 인터 예측부(160), 역양자화부(135), 역변환부(125), 후처리부(170), 픽쳐 저장부(180), 감산부(190) 및 가산부(195)를 포함한다.
픽쳐 분할부(110)는 입력되는 비디오 신호를 분석하여 LCU를 소정 크기의 코딩 유닛으로 분할하여 각 코딩 유닛(CU)의 예측 모드를 결정하고, 상기 코딩 유닛마다 예측 유닛(PU)의 크기를 결정한다. 그리고, 픽쳐 분할부(110)는 부호화할 예측 유닛을 예측 모드에 따라 인트라 예측부(150) 또는 인터 예측부(160)로 보낸다. 또한, 픽쳐 분할부(110)는 부호화할 예측 유닛을 감산부(190)로 보낸다.
변환부(120)는 입력된 예측 유닛의 원본 블록과 인트라 예측부(150) 또는 인터 예측부(160)에서 생성된 예측 블록의 잔차신호인 잔차 블록을 변환한다. 상기 잔차 블록의 변환 유닛(TU)의 크기는 코딩 유닛보다 작거나 같게 설정한다. 인트라 예측에서는 변환 유닛(TU)의 크기가 예측 유닛(PU)의 크기보다 작거나 같게 설정한다. 인터 예측에서는 변환 유닛(TU)의 크기가 예측 유닛(PU)보다 클 수도 있으나, 코딩 유닛(CU)의 크기보다는 작거나 같게 설정한다. 예측 모드(intra or inter) 및 인트라 예측 모드에 따라 적응적으로 변환 매트릭스가 결정될 수 있다. 변환 유닛은 2개(수평, 수직)의 1차원 변환 매트릭스에 의해 변환될 수 있다.
인터 예측의 경우에는 변환 방향마다 미리 결정된 1개의 변환 매트릭스가 결정될 수 있다.
반면에, 휘도 신호의 인트라 예측이고, 변환 블록의 크기가 소정 크기보다 작거나 같은 경우에는, 인트라 예측 모드에 따라 수평 및 수직의 1차원 변환 매트릭스가 적응적으로 결정될 수 있다. 예를 들어, 인트라 예측 모드가 수평인 경우에는 잔차 블록이 수직방향으로의 방향성을 가질 확률이 높아지므로, 수직방향으로는 DCT 기반의 정수 매트릭스를 적용하고, 수평방향으로는 DST 기반 또는 KLT 기반의 정수 매트릭스를 적용한다. 인트라 예측 모드가 수직인 경우에는 수직방향으로는 DST 기반 또는 KLT 기반의 정수 매트릭스를, 수평 방향으로는 DCT 기반의 정수 매트릭스를 적용한다. DC 모드의 경우에는 양방향 모두 DCT 기반 정수 매트릭스를 적용한다. 즉, 휘도 신호의 인트라 예측에서는, 변환 유닛의 크기 및 인트라 예측 모드에 따라 변환 매트릭스가 적응적으로 결정될 수도 있다. 한편, 색차 신호의 경우에는 인트라 예측 또는 인터 예측을 나타내는 예측 모드 및 인트라 예측 모드에 관계없이 미리 정해진 변환 매트릭스가 적용될 수도 있다.
한편, 부호기에서 변환 블록 단위로 적응적으로 복수개의 변환패턴 및 변환 미수행 중 어느 하나를 선택하여 변환을 수행하고, 상기 변환패턴을 복호기로 전송할 수도 있다. 예를 들어, 복수개의 변환 패턴은 2차원 변환, 1차원 수직 변환, 1차원 수평 변환을 포함할 수 있다. 또한, 상기 변환 패턴에 따라, 스캐닝부(131)에서의 스캔 패턴이 달라질 수 있다. 예를 들어, 2차원 변환의 경우에는 제1 스캔 패턴(대각선 스캔 : diagonal scan), 1차원 수직 변환의 경우에는 제2 스캔 패턴(horizontal scan), 1차원 수평 변환의 경우에는 제3 스캔 패턴(vertical scan)을, 변환 미수행의 경우에는 제1 스캔 패턴을 적용할 수 있다.
양자화부(130)는 상기 변환 매트릭스에 의해 변환된 잔차 블록의 계수들을 양자화하기 위한 양자화 스텝 사이즈를 미리 정해진 크기 이상의 코딩 유닛별로 결정한다. 미리 정해진 크기보다 작은 코딩 유닛들에 대한 양자화 스텝 사이즈는 미리 정해진 크기 단위로 결정되는 양자화 스텝 사이즈의 값을 갖는다. 그리고, 결정된 양자화 스텝 사이즈 및/또는 예측 모드에 따라 결정되는 양자화 매트릭스를 이용하여 상기 변환 블록의 계수들을 양자화한다. 양자화부(130)는 미리 정해진 크기 이상의 현재 코딩 유닛의 양자화 스텝 사이즈 예측자로서 현재 코딩 유닛에 인접한 코딩 유닛의 양자화 스텝 사이즈 또는 스캔 순서상 바로 이전의 코딩 유닛의 양자화 스텝 사이즈를 이용할 수 있다.
예를 들어, 양자화부(130)는 현재 코딩 유닛의 인트라 예측 모드에 따라, 좌측 코딩 유닛의 양자화 스텝 사이즈, 상측 코딩 유닛의 양자화 스텝 사이즈 또는 좌측 및 상측 코딩 유닛들의 양자화 스텝 사이즈의 반올림한 평균값을 적응적으로 선택할 수도 있다. 인트라 예측 모드가 상측 코딩 유닛의 인트라 예측 모드를 이용할 것을 나타내지만 상측 코딩 유닛이 존재하지 않는 경우에는, 좌측 코딩 유닛의 양자화 스텝 사이즈 또는 스캔 순서상 바로 이전의 양자화 스텝 사이즈를 양자화 스텝 예측자로 설정할 수 있다. 마찬가지로, 인트라 예측 모드가 좌측 코딩 유닛의 인트라 예측 모드를 이용할 것을 나타내지만 좌측 코딩 유닛이 존재하지 않는 경우에는, 좌측 코딩 유닛의 양자화 스텝 사이즈 또는 스캔 순서상 바로 이전의 양자화 스텝 사이즈를 양자화 스텝 예측자로 설정할 수 있다. 인트라 예측 모드가 좌측 및 상측 코딩 유닛들의 양자화 스텝 사이즈의 반올림한 평균값을 이용할 것을 나타내는 경우로서, 좌측 및 상측 코딩 유닛의 양자화 스텝 사이즈 중 하나만 유효한 경우에는 유효한 하나 또는 스캔 순서상 바로 이전의 양자화 스텝 사이즈를 양자화 스텝 예측자로 선택할 수 있다. 인터 예측의 경우에는 좌측 및 상측 코딩 유닛들의 양자화 스텝 사이즈의 반올림한 평균값 또는 스캔 순서상 바로 이전의 코딩 유닛의 양자화 스텝 사이즈를 선택할 수 있다. 한편, 상술한 방식은 LCU 내에서만 적용할 수도 있다. 즉, 좌측 또는 상측 코딩 유닛이 LCU 경계 밖에 존재하는 경우에는 유효하지 않은 코딩 유닛으로 볼 수도 있다.
상기 양자화된 변환 블록은 역양자화부(135)와 스캐닝부(131)로 제공된다.
스캐닝부(131)는 양자화된 변환 블록의 계수들 또는 계수의 존재 여부 정보를 스캐닝하여 1차원의 계수들로 변환한다. 계수 스캐닝 방식은 예측 모드 및 인트라 예측 모드에 따라 결정된다. 또한, 계수 스캐닝 방식은 변환 유닛의 크기에 따라 달리 결정될 수도 있다.
스캐닝부(131)는 현재 변환 유닛이 크기에 따라 양자화된 계수 블록을 복수개의 서브셋으로 분할할지 여부를 결정한다. 변환 유닛의 크기가 제1 기준 크기보다 큰 경우 상기 양자화된 계수 블록을 복수개의 서브셋으로 분할한다. 상기 제1 기준 크기는 4x4 또는 8x8인 것이 바람직하다.
스캐닝부(131)는 양자화된 계수 블록에 적용될 스캔 패턴을 결정한다. 인터 예측의 경우에는 미리 정해진 하나의 스캔 패턴(예를 들어, 제1 스캔 패턴 : 지그재그 스캔 또는 대각선 스캔)만을 적용할 수 있다. 인트라 예측의 경우에는 인트라 예측 모드에 따라 미리 정해진 스캔패턴을 적용할 수 있다. 상기 스캔 패턴은 방향성 인트라 예측 모드에 따라 달라질 수 있다. 비방향성 모드들에 대해서는 제1 스캔 패턴을 적용한다. 비방향성 모드는 DC 모드 또는 planar 모드일 수 있다. 스캔순서는 순방향 또는 역방향으로 스캔한다. 상기 양자화된 계수들이 복수개의 서브셋으로 분할된 경우에는 각각의 서브셋 내의 양자화 계수들에 동일한 스캔패턴을 적용한다. 상기 복수개의 서브셋은 하나의 메인 서브셋과 적어도 하나 이상의 잔여 서브셋으로 구성된다. 메인 서브셋은 DC 계수를 포함하는 좌상측에 위치하고, 상기 잔여 서브셋은 메인 서브셋 이외의 영역을 커버한다.
서브셋 간의 스캔패턴은 제1 스캔 패턴을 적용할 수 있다. 스캔 패턴은 메인 서브셋으로부터 순방향으로 잔여 서브셋들로 스캔하는 것이 바람직하나, 그 역방향도 가능하다. 또한, 서브셋 내의 양자화된 계수들의 스캔패턴과 동일하게 서브셋 간의 스캔패턴을 설정할 수도 있다. 이 경우, 서브셋 간의 스캔패턴이 인트라 예측 모드에 따라 결정된다.
한편, 부호기는 상기 변환 유닛내의 0이 아닌 마지막 양자화 계수의 위치를 나타낼 수 있는 정보를 복호기로 전송한다. 각 서브셋 내의 0이 아닌 마지막 양자화 계수의 위치를 나타낼 수 있는 정보도 복호기로 전송할 수 있다. 또는 각각의 서브셋 내의 0이 아닌 계수를 포함하는지 여부를 나타내는 정보를 복호기로 전송할 수도 있다.
역양자화(135)는 상기 양자화된 양자화 계수를 역양자화한다. 역변환부(125)는 역양자화된 변환 계수를 공간 영역의 잔차 블록으로 복원한다. 가산기는 상기 역변환부에 의해 복원된 잔차블록과 인트라 예측부(150) 또는 인터 예측부(160)로부터의 예측 블록을 합쳐서 복원 블록을 생성한다.
후처리부(160)는 복원된 픽쳐에 발생하는 블록킹 효과의 제거하기 위한 디블록킹 필터링 과정, 픽셀 단위로 원본 영상과의 차이값을 보완하기 위한 적응적 오프셋 적용 과정 및 코딩 유닛으로 원본 영상과의 차이값을 보완하기 위한 적응적 루프 필터 과정을 수행한다.
디블록킹 필터링 과정은 미리 정해진 크기 이상의 크기를 갖는 예측 유닛 및 변환 유닛의 경계에 적용하는 것이 바람직하다. 상기 크기는 8x8일 수 있다. 상기 디블록킹 필터링 과정은 필터링할 경계(boundary)를 결정하는 단계, 상기 경계에 적용할 경계 필터링 강도(bounary filtering strength)를 결정하는 단계, 디블록킹 필터의 적용 여부를 결정하는 단계, 상기 디블록킹 필터를 적용할 것으로 결정된 경우, 상기 경계에 적용할 필터를 선택하는 단계를 포함한다.
상기 디블록킹 필터의 적용 여부는 i) 상기 경계 필터링 강도가 0보다 큰지 여부 및 ii) 상기 필터링할 경계에 인접한 2개의 블록(P 블록, Q블록) 경계 부분에서의 픽셀값들이 변화 정도를 나타내는 값이 양자화 파라미터에 의해 결정되는 제1 기준값보다 작은지 여부에 의해 결정된다.
상기 필터는 적어도 2개 이상인 것이 바람직하다. 블록 경계에 위치한 2개의 픽셀들간의 차이값의 절대값이 제2 기준값보다 크거나 같은 경우에는 상대적으로 약한 필터링을 수행하는 필터를 선택한다. 상기 제2 기준값은 상기 양자화 파라미터 및 상기 경계 필터링 강도에 의해 결정된다.
적응적 루프 필터 과정은 디블록킹 필터링 과정 또는 적응적 오프셋 적용 과정을 거친 복원된 영상과 원본 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 적응적 루프 필터는 4x4 크기의 블록을 기반으로 하나의 라플라시안 활동값(Laplacian Activity value)을 통해 검출된다. 상기 결정된 ALF는 4x4 크기 또는 8x8 크기의 블록에 포함된 화소 전체에 적용될 수 있다. 적응적 루프 필터의 적용 여부는 코딩 유닛별로 결정될 수 있다. 각 코딩 유닛에 따라 적용될 루프 필터의 크기 및 계수는 달라질 수 있다. 코딩 유닛별로 상기 적응적 루프 필터의 적용 여부를 나타내는 정보, 필터 계수 정보, 필터 형태 정보 등은 각 슬라이스 헤더에 포함되어 복호기로 전송될 수 있다. 색차 신호의 경우에는, 픽쳐 단위로 적응적 루프 필터의 적용 여부를 결정할 수 있다. 루프 필터의 형태도 휘도와 달리 직사각형 형태를 가질 수 있다.
픽쳐 저장부(180)는 후처리된 영상 데이터를 후처리부(160)로부터 입력 받아 픽쳐(picture) 단위로 영상을 복원하여 저장한다. 픽쳐는 프레임 단위의 영상이거나 필드 단위의 영상일 수 있다. 픽쳐 저장부(180)는 다수의 픽쳐를 저장할 수 있는 버퍼(도시되지 않음)를 구비한다.
인터 예측부(150)는 상기 픽쳐 저장부(180)에 저장된 적어도 하나 이상의 참조 픽쳐를 이용하여 움직임 추정을 수행하고, 참조 픽쳐를 나타내는 참조 픽쳐 인덱스 및 움직임 벡터를 결정한다. 그리고, 결정된 참조 픽쳐 인덱스 및 움직임 벡터에 따라, 픽쳐 저장부(150)에 저장된 다수의 참조 픽쳐들 중 움직임 추정에 이용된 참조 픽쳐로부터, 부호화하고자 하는 예측 유닛에 대응하는 예측 블록을 추출하여 출력한다.
인트라 예측부(140)는 현재 예측 유닛이 포함되는 픽처 내부의 재구성된 화소값을 이용하여 인트라 예측 부호화를 수행한다. 인트라 예측부(140)는 예측 부호화할 현재 예측 유닛을 입력 받아 현재 블록의 크기에 따라 미리 설정된 개수의 인트라 예측 모드 중에 하나를 선택하여 인트라 예측을 수행한다. 인트라 예측부는 인트라 예측 블록을 생성하기 위해 참조 픽셀을 적응적으로 필터링한다. 참조 픽셀이 유효하지 않은 경우에는 유효한 참조 픽셀들을 이용하여 상기 유효하지 않은 위치의 참조 픽셀들을 생성할 수 있다.
엔트로피 부호화부(130)는 양자화부(130)에 의해 양자화된 양자화 계수, 인트라 예측부(140)로부터 수신된 인트라 예측 정보, 인터 예측부(150)로부터 수신된 움직임 정보 등를 엔트로피 부호화한다.
도 3은 본 발명에 따른 동영상 복호화 장치를 나타내는 블록도이다.
도 3을 참조하면, 본 발명에 따른 동영상 복호화 장치는, 엔트로피 복호부(210), 역양자화/역변환부(220), 가산기(270), 후처리부(250), 픽쳐 저장부(260), 인트라 예측부(230), 인터 예측부(240) 및 인트라/인터전환 스위치(280)를 구비한다.
엔트로피 복호부(210)는, 동영상 부호화 장치로부터 전송되는 부호화 비트 스트림을 복호하여, 인트라 예측 모드 인덱스, 움직임 정보, 양자화 계수 시퀀스(잔차블록 신호) 등으로 분리한다. 엔트로피 복호부(210)는 움직임 정보를 움직임 보상 예측부(240)에 공급한다. 엔트로피 복호부(210)는 상기 인트라 예측 모드 인덱스를 상기 인트라 예측부(230), 역양자화/역변환부(220)로 공급한다. 또한, 상기 엔트로피 복호화(210)는 상기 역양자화 계수 시퀀스를 역양자화/역변환부(220)로 공급한다.
역양자화/역변환부(220)는 역스캐닝부(221), 역양자화부(222) 및 역변환부(223)를 포함한다. 역스캐닝부(221)는 상기 양자화 계수 시퀀스를2차원 배열의 역양자화 계수로 변환한다. 상기 변환을 위해 복수개의 역스캐닝 패턴 중에 하나를 선택한다. 현재 블록의 예측모드(인트라 예측 또는 인터 예측)와 인트라 예측 모드 중 적어도 하나에 기초하여 복수개의 스캐닝 패턴 중 하나를 선택한다.
구체적으로, 인터 예측의 경우에는 미리 정해진 하나의 스캔 패턴(예를 들어, 제1 스캔 패턴 : 지그재그 스캔 또는 대각선 스캔)만을 적용할 수 있다. 인트라 예측의 경우에는 인트라 예측 모드에 따라 미리 정해진 스캔패턴을 적용할 수 있다. 인트라 예측의 스캔 패턴은 방향성 인트라 예측 모드에 따라 달라질 수 있다. 비방향성 모드들에 대해서는 제1 스캔 패턴을 적용한다.
복호화할 현재 변환 유닛의 크기가 제1 기준 크기보다 커서 복수개의 서브셋 단위로 부호화된 경우에는, 복수개의 서브셋마다 역스캔하여 양자화된 변환 블록을 복원한다. 이 경우, 각각의 서브셋들에 동일한 스캔패턴을 적용한다. 상기 복수개의 서브셋은 하나의 메인 서브셋과 적어도 하나 이상의 잔여 서브셋으로 구성된다. 메인 서브셋은 DC 계수를 포함하는 좌상측에 위치하고, 상기 잔여 서브셋은 메인 서브셋 이외의 영역을 커버한다.
서브셋 간의 스캔패턴은 제1 스캔 패턴을 적용할 수 있다. 스캔 패턴은 메인 서브셋으로부터 순방향으로 잔여 서브셋들로 스캔하는 것이 바람직하나, 그 역방향도 가능하다. 또한, 서브셋 내의 양자화된 계수들의 스캔패턴과 동일하게 서브셋 간의 스캔패턴을 설정할 수도 있다. 이 경우, 서브셋 간의 스캔패턴이 인트라 예측 모드에 따라 결정된다.
한편, 변환 유닛의 크기가 미리 정해진 크기 이상인 경우에는, 각각의 서브셋이 0이 아닌 계수를 포함하는지 여부를 나타내는 정보를 복호하여, 역스캔할 수 있다. 즉, 상기 정보를 이용하여 0이 아닌 계수를 포함하는 서브셋내의 계수들은 역스캔하고, 0만을 포함하는 서브셋들은 모두 0으로 설정하여 양자화된 변환 블록을 복원할 수 있다.
역양자화부(222)는 상기 2차원 배열의 역양자화 계수에 역양자화하기 위해 양자화 스텝 사이즈를 복원한다. 양자화 스텝 사이즈는 미리 정해진 크기 이상의 코딩 유닛별로 결정된다. 미리 정해진 크기보다 작은 코딩 유닛들에 대한 양자화 스텝 사이즈는 미리 정해진 크기 단위의 코딩 유닛별로 결정되는 양자화 스텝 사이즈의 값을 갖는다. 역양자화부(222)는 현재 코딩 유닛의 양자화 스텝 예측자로서 현재 코딩 유닛에 인접한 적어도 하나 이상의 코딩 유닛들의 양자화 스텝 사이즈 또는 스캔 순서상 바로 이전의 코딩 유닛의 양자화 스텝 사이즈를 이용할 수 있다.
예를 들어, 역양자화부(222)는 현재 코딩 유닛의 인트라 예측 모드에 따라, 좌측 코딩 유닛의 양자화 스텝 사이즈, 상측 코딩 유닛의 양자화 스텝 사이즈 또는 좌측 및 상측 코딩 유닛들의 양자화 스텝 사이즈의 반올림한 평균값을 적응적으로 선택할 수도 있다.
인트라 예측 모드가 상측 코딩 유닛의 인트라 예측 모드를 이용할 것을 나타내지만 상측 코딩 유닛이 존재하지 않는 경우에는, 좌측 코딩 유닛의 양자화 스텝 사이즈 또는 스캔 순서상 바로 이전의 양자화 스텝 사이즈를 양자화 스텝 예측자로 설정할 수 있다. 마찬가지로, 인트라 예측 모드가 좌측 코딩 유닛의 인트라 예측 모드를 이용할 것을 나타내지만 좌측 코딩 유닛이 존재하지 않는 경우에는, 좌측 코딩 유닛의 양자화 스텝 사이즈 또는 스캔 순서상 바로 이전의 양자화 스텝 사이즈를 양자화 스텝 예측자로 설정할 수 있다. 인트라 예측 모드가 좌측 및 상측 코딩 유닛들의 양자화 스텝 사이즈의 반올림한 평균값을 이용할 것을 나타내는 경우로서, 좌측 및 상측 코딩 유닛의 양자화 스텝 사이즈 중 하나만 유효한 경우에는 유효한 하나 또는 스캔 순서상 바로 이전의 양자화 스텝 사이즈를 양자화 스텝 예측자로 선택할 수 있다. 인터 예측의 경우에는 좌측 및 상측 코딩 유닛들의 양자화 스텝 사이즈의 반올림한 평균값 또는 스캔 순서상 바로 이전의 코딩 유닛의 양자화 스텝 사이즈를 선택할 수 있다. 한편, 상술한 방식은 LCU 내에서만 적용할 수도 있다. 즉, 좌측 또는 상측 코딩 유닛이 LCU 경계 밖에 존재하는 경우에는 유효하지 않은 코딩 유닛으로 볼 수도 있다.
상기 양자화 스텝 사이즈 예측자가 결정되면, 수신된 잔여 양자화 스텝 사이즈와 상기 결정된 양자화 스텝 사이즈 예측자를 더하여 양자화 스텝 사이즈를 구한다. 그리고, 상기 양자화 스텝 사이즈 및 예측 모드에 따라 결정되는 역양자화 매트릭스를 이용하여 상기 역양자화 계수들을 역양자화한다.
역변환부(223)는 현재 복원하고자 하는 신호가 휘도 신호이고, 인트라 예측 부호화된 경우에는 변환 블록의 크기에 따라 역변환 매트릭스를 적응적으로 결정한다. 예를 들어, 변환 블록가 소정 크기보다 작거나 같은 경우에는, 인트라 예측 모드에 따라 수평 및 수직의 1차원 역변환 매트릭스가 적응적으로 결정될 수 있다. 인트라 예측 모드가 수평인 경우에는 잔차 블록이 수직방향으로의 방향성을 가질 확률이 높아지므로, 수직방향으로는 DCT 기반의 정수 매트릭스를 적용하고, 수평방향으로는 DST 기반 또는 KLT 기반의 정수 매트릭스를 적용한다. 인트라 예측 모드가 수직인 경우에는 수직방향으로는 DST 기반 또는 KLT 기반의 정수 매트릭스를, 수평 방향으로는 DCT 기반의 정수 매트릭스를 적용한다. DC 모드의 경우에는 양방향 모두 DCT 기반 정수 매트릭스를 적용한다. 즉, 휘도 신호의 인트라 예측에서는, 변환 유닛의 크기 및 인트라 예측 모드에 따라 역변환 매트릭스가 적응적으로 결정될 수도 있다. 한편, 색차 신호의 경우에는 인트라 예측 또는 인터 예측을 나타내는 예측 모드 및 인트라 예측 모드에 관계없이 미리 정해진 역변환 매트릭스가 적용될 수도 있다.
가산기(270)는 역양자화/역변환부(220)에 의해 복원된 잔차 블록과 인트라 예측부(230) 또는 움직임 보상 예측부(240)에 의해 생성되는 예측 블록을 가산함으로써, 영상 블록을 복원한다.
후처리부(250)는 가산기(270)에 의해 생성된 복원 영상에 후처리를 실행한다. 구체적으로, 복원된 픽쳐에 발생하는 블록킹 효과의 제거하기 위한 디블록킹 필터링 과정, 픽셀 단위로 원본 영상과의 차이값을 보완하기 위한 적응적 오프셋 적용 과정 및 코딩 유닛으로 원본 영상과의 차이값을 보완하기 위한 적응적 루프 필터 과정을 수행한다.
디블록킹 필터링 과정은 미리 정해진 크기 이상의 크기를 갖는 예측 유닛 및 변환 유닛의 경계에 적용하는 것이 바람직하다. 예측 유닛 또는 변환 유닛의 수평 또는 수직 길이가 8보다 작은 경우에는 8x8 크기의 블록 에지에만 적용할 수 있다. 수직 에지가 먼저 필터링되고, 그 이후에 수평 에지가 필터링된다. 상기 디블록킹 필터링 과정은 필터링할 경계(boundary)를 결정하는 단계, 상기 경계에 적용할 경계 필터링 강도(bounary filtering strength)를 결정하는 단계, 디블록킹 필터의 적용 여부를 결정하는 단계, 상기 디블록킹 필터를 적용할 것으로 결정된 경우, 상기 경계에 적용할 필터를 선택하는 단계를 포함한다.
상기 디블록킹 필터의 적용 여부는 i) 상기 경계 필터링 강도가 0보다 큰지 여부 및 ii) 상기 필터링할 경계에 인접한 2개의 블록(P 블록, Q블록) 경계 부분에서의 픽셀값들이 변화 정도를 나타내는 값이 양자화 파라미터에 의해 결정되는 제1 기준값보다 작은지 여부에 의해 결정된다.
상기 필터는 적어도 2개 이상인 것이 바람직하다. 블록 경계에 위치한 2개의 픽셀들간의 차이값의 절대값이 제2 기준값보다 크거나 같은 경우에는 상대적으로 약한 필터링을 수행하는 필터를 선택한다. 상기 제2 기준값은 상기 양자화 파라미터 및 상기 경계 필터링 강도에 의해 결정된다.
적응적 루프 필터 과정은 디블록킹 필터링 과정 또는 적응적 오프셋 적용 과정을 거친 복원된 영상과 원본 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 적응적 루프 필터는 4x4 크기의 블록을 기반으로 하나의 라플라시안 활동값(Laplacian Activity value)을 통해 검출된다. 상기 결정된 ALF는 4x4 크기 또는 8x8 크기의 블록에 포함된 화소 전체에 적용될 수 있다. 적응적 루프 필터의 적용 여부는 코딩 유닛별로 결정될 수 있다. 각 코딩 유닛에 따라 적용될 루프 필터의 크기 및 계수는 달라질 수 있다. 코딩 유닛별로 상기 적응적 루프 필터의 적용 여부를 나타내는 정보, 필터 계수 정보, 필터 형태 정보 등은 각 슬라이스 헤더에 포함되어 복호기로 전송될 수 있다. 색차 신호의 경우에는, 픽쳐 단위로 적응적 루프 필터의 적용 여부를 결정할 수 있다. 루프 필터의 형태도 휘도와 달리 직사각형 형태를 가질 수 있다.
픽쳐 저장부(260)는 디블록킹 필터(250)에 의해 디블록킹 필터 처리가 실행된 로컬 복호 영상을 유지하는 프레임 메모리이다.
인트라 예측부(230)는 엔트로피 복호화부(210)로부터 수신된 인트라 예측 모드 인덱스에 기초하여 현재 블록의 인트라 예측 모드를 복원한다. 그리고, 복원된 인트라 예측 모드에 따라 예측 블록을 생성한다.
인트라/인터 전환 스위치(280)는 부호화 모드에 기초하여 인트라 예측부(250)와 움직임 보상 예측부(260)의 어느 하나에서 생성된 예측 블록을 가산기(235)에 제공한다.
인터 예측부(240)는 수신된 움직임 정보에 기초하여 현재 예측 유닛의 움직임 정보를 복원한다. 그리고, 상기 복원된 움직임 정보에 기초하여 픽쳐 저장부(240)에 저장된 픽쳐로부터 현재 블록에 대한 예측 블록을 생성한다. 소수 정밀도의 움직임 보상이 적용될 경우에는 선택된 보간 필터를 적용하여 예측 블록을 생성한다.
이하에서는 본 발명에 따른 인터 예측 복호화 과정을 설명한다. 본 발명에 따른 인터 예측 복호화 과정은 현재 예측 유닛의 예측 블록을 생성하는 과정, 현재 예측 유닛의 잔차 블록을 복원하는 과정 및 예측블록과 잔차 블록을 이용하여 재구성 블록(Reconstruction block)을 생성하는 과정을 포함한다. 현재 예측 유닛의 예측 블록을 생성하는 과정은 도 3의 인터 예측부(240)에서 수행된다.
현재 예측 유닛의 예측 블록을 생성하는 과정에 대해서 설명한다. 현재 예측 유닛의 예측 블록을 생성하는 과정은 1) 예측 유닛(PU)의 움직임 정보를 구하는 단계, 2) 각 예측 유닛의 예측 블록을 생성하는 단계를 포함한다. 여기서 움직임 정보는 움직임 벡터, 예측 방향 및 참조 픽쳐 인덱스를 포함한다.
스킵 후보화된 예측 유닛의 복원블록을 생성하는 과정을 설명한다. 수신된 부호화 유닛 내의 skip_flag가 1일 경우에는 예측 유닛과 코딩 유닛이 동일하다.
인접 예측 유닛으로부터 공간 스킵 후보자를 유도(derivation)한다.
도 4는 본 발명에 따른 공간 스킵 후보자의 위치를 나타내는 도면이다. 공간 스킵 후보자는, 도 4에 도시된 바와 같이, 현재 예측 유닛의 좌측 예측 유닛(블록A), 현재 예측 유닛의 상측 예측 유닛(블록 B), 현재 예측 유닛의 우상측 예측 유닛(블록 C) 및 현재 예측 유닛의 좌하측 예측 유닛(블록D)이 될 수 있다. 현재 예측 유닛의 좌측 예측 유닛이 복수개 존재하는 경우에는 가장 위쪽 또는 가장 아래쪽의 예측 유닛을 좌측 예측 유닛(블록 A)으로 설정한다. 현재 예측 유닛의 상측 예측 유닛이 복수개 존재하는 경우에는 가장 오른쪽 또는 가장 왼쪽의 예측 유닛을 상측 예측 유닛(블록 B)으로 설정한다.
먼저, 상기 각 공간 스킵 후보자들(A, B, C, D)의 유효성 검사(Availability check)를 진행한다. 예측 유닛이 존재하지 않거나, 예측 유닛의 예측모드가 인트라 모드인 경우에는 유효하지 않은 예측 유닛으로 처리한다.
한편, 현재 예측 유닛의 좌상측 예측 유닛(블록 E)도 공간 스킵 후보자가 될 수 있다. 예를 들어, 블록 A, B, C, D 중 적어도 하나 또는 소정 개수 이상이 유효하지 않은 경우에 블록 E가 공간 스킵 후보자로 편입될 수 있다. 상기 소정 개수는 부호기로부터 전송되는 스킵 후보자 수에 따라 결정될 수도 있다.
시간 스킵 후보자를 유도한다. 시간 스킵 후보자 유도 단계는 시간 스킵 후보자의 참조 픽쳐 인덱스를 구하는 단계 및 시간 스킵 후보자의 움직임 벡터를 구하는 단계를 포함한다. 시간 스킵 후보자의 참조 픽쳐 인덱스는 0으로 설정될 수 있다. 그러나, 시간 스킵 후보자의 참조 픽쳐 인덱스는 현재 예측 유닛에 공간적으로 인접한 예측 유닛의 참조 픽쳐 인덱스가 이용 가능한 경우에는 상기 참조 픽쳐 인덱스로부터 구한다. 상기 공간적으로 인접한 에측 유닛의 위치는 미리 정해질 수 있다.
다음으로, 상기 시간 스킵 후보자의 움직임 벡터를 구하는 과정을 설명한다.
먼저, 상기 시간 스킵 후보자 블록이 속하는 픽쳐(이하, 시간 스킵 후보자 픽쳐)를 결정한다. 시간 스킵 후보자 픽쳐는 참조 픽쳐 인덱스가 0인 픽쳐로 설정될 수 있다. 이 경우, 슬라이스 타입이 P인 경우에는 리스트 0(list0)의 첫번째 픽쳐가 시간 스킵 후보자 픽쳐로 설정된다. 슬라이스 타입이 B인 경우에는 슬라이스 헤더내의 시간 스킵 후보자 리스트를 나타내는 플래그(a flag indicating whether the temporal skip candidate picture is included in list0 or list1)가 나타내는 리스트의 첫번째 픽쳐가 시간 스킵 후보자 픽쳐로 설정된다. 예를 들어, 상기 플래그가 1을 나타내면 list0로부터, 0을 나타내면 list1으로부터 시간 스킵 후보자 픽쳐를 설정할 수 있다.
한편, 상기 시간 스킵 후보자를 위한 참조 픽쳐 인덱스가 나타내는 참조 픽쳐를 시간 스킵 후보자 블록이 속하는 픽쳐로 설정할 수도 있다.
다음으로, 상기 시간 스킵 후보자 픽쳐 내의 시간 스킵 후보자 블록을 구한다. 상기 시간 스킵 후보자 블록으로서, 상기 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 복수개의 대응 블록 중 어느 하나가 선택될 수 있다. 이 경우, 현재 예측 유닛의 위치에 따라 복수개의 대응 블록들 중 어느 하나를 선택하거나 미리 정해진 위치의 대응 블록을 선택할 수 있다. 복수개의 대응 블록들 중 어느 하나를 선택하는 경우에는 우선순위에 기초하여 유효한 첫번째 대응 블록이 시간 스킵 후보자 블록으로 선택될 수 있다. 대응 블록의 움직임 벡터가 유효하지 않으면, 시간 스킵 후보자는 존재하지 않는 것으로 결정한다.
도 5는 본 발명에 따른 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 대응 블록들을 나타내는 도면이다.
복수개의 대응 블록들 중 어느 하나를 선택하는 경우에는, 상기 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 블록에 인접하는 좌하측 코너 블록(BR_C) 또는 상기 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 블록내의 좌하측 블록(BR)을 제1 후보자 블록으로 설정하고, 상기 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 블록의 중앙 위치의 좌상측 픽셀을 포함하는 블록(C1) 또는 우하측 픽셀을 포함하는 블록(C2)을 제 2 후보자 블록으로 설정될 수 있다. 이 경우, 상기 제1 후보자 블록이 유효하면 상기 제1 후보자 블록을 시간 스킵 후보자 블록으로 설정하고, 상기 제1 후보자 블록이 유효하지 않고 상기 제2 후보자 블록이 유효하면, 상기 제2 후보자 블록을 시간 스킵 후보자 블록으로 설정한다.
현재 예측 유닛이 픽쳐의 아래쪽 경계 또는 우측 경계와 접하는 경우에는 제2 부호자 블록이 유효하면, 상기 제2 후보자 블록을 시간 스킵 후보자 블록으로 설정한다. 마찬가지로, 현재 예측 유닛이 슬라이스 또는 LCU의 아래쪽 경계와 접하는 경우에도 제2 후보자 블록을 시간 스킵 후보자 블록으로 설정할 수 있다.
유효한 스킵 후보자 리스트를 구축한다.
유효한 스킵 후보자들만을 이용하여 리스트를 구축한다. 리스트는 미리 정해진 순서로 구축하는 것이 바람직하다. 미리 정해진 순서는 공간 좌측 스킵 후보자(블록 A), 공간 상측 스킵 후보자(블록 B), 시간 스킵 후보자, 공간 우상측 스킵 후보자(블록 C), 공간 좌하측 시킵 후보자(블록 D) 순으로 설정될 수 있다.
또는 미리 정해진 순서는 부호기로부터 전송되는 스킵 후보자 수에 따라 달라질 수 있다. 이 경우, 공간 스킵 후보자간의 순서(A, B, C, D, E 순임. 단, 유효한 공간 스킵 후보자만 허용됨)는 변하지 않지만, 시간 스킵 후보자의 우선순위는 변경될 수 있다.
예를 들어, 스킵 후보자 수가 5인 경우에는 유효한 공간 스킵 후보자들이 시간 스킵 후보자보다 우선순위가 높도록 설정할 수 있다. 그러나, 스킵 후보자 수가 3인 경우에는 유효한 시간 스킵 후보자가 존재하면 후보자 리스트에 들도록 시간 스킵 후보자의 우선순위를 조정할 수 있다. 구체적으로, 공간 좌측 스킵 후보자(블록 A), 공간 상측 스킵 후보자(블록 B), 시간 스킵 후보자 순으로 설정하거나, 유효한 공간 스킵 후보자가 2개 이상 존재하는 경우에는 유효한 2개의 공간 스킵 후보자 다음 위치에 시간 스킵 후보자를 설정할 수도 있다. 스킵 후보자 수가 2, 4인 경우에도 마찬가지로 설정할 수 있다.
다음으로, 스킵 후보자 리스트가 구축되면, 복수개의 스킵 후보자가 동일 움직임 벡터와 동일 참조 픽쳐 인덱스를 가지게 되면, 스킵 후보자 리스트 상에서 후순위를 갖는 스킵 후보자를 리스트 상에서 삭제할 수 있다.
한편, 스킵 후보자 리스트 상의 스킵 후보자 수가 부호기로부터 전송된 스킵 후보자 수보다 작으면, 스킵 후보자를 생성할 수 있다. 이 경우, 생성된 스킵 후보자는 리스트 내의 가장 후순위의 스킵 후보자 다음 위치에 추가한다. 복수개의 스킵 후보자가 추가될 경우에는 미리 정해진 순서에 따라 추가한다.
상기 스킵 후보자 생성은 복수개의 방법들을 정해진 순서에 따라 적용할 수 있다. 현재 예측 블록이 속하는 슬라이스의 슬라이스 타입에 따라 서로 다른 방법들이 적용될 수 있다.
제1 방법은 현재 슬라이스 타입이 B이고, 유효한 스킵 후보자 수가 2개 이상인 경우에 적용된다. 유효한 제1 스킵 후보자의 움직임 정보가 리스트 A의 움직임 정보라고 할 때, 유효한 제2 스킵 후보자의 움직임 정보가 상기 리스트와 다른 리스트의 움직임 정보를 포함할 경우에는, 상기 제1 스킵 후보자의 리스트 A의 움직임 정보와 제2 스킵 후보자의 리스트 B (B는 A와 다른 값임)의 움직임 정보를 결합하여 양방향 움직임 정보를 구성하고, 이를 후보자로 추가한다. 상기 추가될 수 있는 후보자가 복수인 경우에는 미리 정해진 순서에 따라 추가한다. 상기 미리 정해진 순서는 유효한 스킵 후보자의 인덱스에 따라 결정된다. 제1 방법으로 생성할 수 있는 스킵 후보자 수는 미리 정해진 수 이하로 제한된다.
제2 방법은 움직임 벡터값이 0인 스킵 후보자를 추가하는 것이다. 움직임 벡터값이 0인 스킵 후보자는 3가지가 존재할 수 있다. 1) 움직임 벡터가 0이고, 참조픽쳐 리스트가 0이고, 참조픽쳐 인덱스가 0인 스킵 후보자(단방향 L0 스킵 후보자), 2) 움직임 벡터가 0이고, 참조픽쳐 리스트가 1이고, 참조픽쳐 인덱스가 0인 스킵 후보자(단방향 L1 스킵 후보자), 3) 상기 1), 2)의 스킵 후보자를 결합한 양방향 스킵 후보자가 존재할 수 있다.
슬라이스 타입이 P인 경우에는 상기한 단방향 L0스킵 후보자가 추가될 수 있다. 슬라이스 타입이 B인 경우에는 상기한 머지 후보자들 중 하나 이상이 추가될 수 있다. 이 경우 양방향 머지 후보자가 먼저 추가될 수 있다. 또는 미리 정해진 순서(양방향 머지 후보자 -> 단방향 머지 후보자 순)로 후보자 수가 채워질 때까지 추가될 수도 있다.
다음으로, 현재 예측 유닛의 움직임 벡터 및 참조 픽쳐 인덱스를 구한다. 수신된 예측 유닛 내에 스킵 인덱스가 존재하는 경우에는 스킵 후보자 리스트 상의 대응하는 인덱스의 스킵 후보자 예측 유닛의 움직임 벡터와 참조 픽쳐 인덱스를 현재 예측 유닛의 움직임 벡터 및 참조 픽쳐 인덱스로 결정한다. 수신된 예측 유닛 내에 스킵 인덱스가 존재하지 않는 경우에는, 스킵 후보자가 1개 존재하면 상기 스킵 후보자의 움직임 벡터와 참조 픽쳐 인덱스를 현재 예측 유닛의 움직임 벡터 및 참조 픽쳐 인덱스로 결정한다.
한편, 스킵 후보자가 시간 스킵 후보자일 경우에는 시간 스킵 후보자의 움직임 벡터를 현재 예측 유닛의 움직임 벡터로 설정한다. 그리고, 상기한 시간 스킵 후보자의 참조 픽쳐 인덱스를 현재 예측 유닛의 참조 픽쳐 인덱스로 결정할 수 있다.
현재 예측 유닛의 움직임 벡터와 참조 픽쳐 인덱스가 구해지면, 참조 픽쳐 인덱스가 나타내는 픽쳐 내에서 움직임 벡터를 이용하여 예측 블록을 생성한다.
그리고, 상기 생성된 예측 블록을 현재 예측 유닛의 복원 블록으로 출력한다.
다음으로 머지 모드에 대해 설명한다.
부호화 유닛 내의 skip_flag가 0이고, 수신된 예측 유닛 내의 merge_flag가 1일 경우의 예측 블록의 생성 단계는 상기한 스킵 모드에서와 거의 동일하다.
인접 예측 유닛으로부터 공간 머지 후보자를 유도한다. 공간 머지 후보자를 유도하는 과정은 공간 스킵 후보자를 구하는 과정과 동일하다. 다만, 예측 유닛이 정사각형이 아닌 경우, 즉, 예측 유닛이 2NxN, Nx2N이거나, 예측 유닛이 2NxnU, 2NxnD, nLx2N, nRx2N인 경우로서, 현재 예측 유닛이 partition 1의 위치인 경우에는partition 0을 머지 후보자에서 제거하는 것이 다르다.
시간 머지 후보자를 유도하는 과정도 시간 스킵 후보자를 구하는 과정과 동일하다.
다음으로, 머지 후보자 리스트를 구축 및 머지 후보자 추가 방법도 스킵 후보자 리스트 구축 및 스킵 후보자 추가 방법과 동일하므로 생략한다.
수신된 예측 유닛 내에 머지 인덱스가 존재하는 경우에는 머지 후보자 리스트 상의 대응하는 인덱스의 머지 후보자 예측 유닛의 움직임 벡터와 참조 픽쳐 인덱스를 현재 예측 유닛의 움직임 벡터 및 참조 픽쳐 인덱스로 결정한다. 수신된 예측 유닛 내에 머지 인덱스가 존재하지 않는 경우에는, 머지 후보자가 1개로 인식하여, 유효한 첫번째 머지 후보자의 움직임 벡터와 참조 픽쳐 인덱스를 현재 예측 유닛의 움직임 벡터 및 참조 픽쳐 인덱스로 결정한다.
현재 예측 유닛의 움직임 벡터와 참조 픽쳐 인덱스가 구해지면, 참조 픽쳐 인덱스가 나타내는 픽쳐 내에서 움직임 벡터를 이용하여 예측 블록을 생성한다.
그리고, 잔차 신호를 수신하여 엔트로피 복호화, 역스캔, 역변환을 수행하여 잔차 블록을 복원한다. 상기 과정은 도 3의 엔트로피 복호화부(210), 역스캔부(221), 역양자화부(222) 및 역변환부(223)에서 수행된다.
그리고, 상기 생성된 예측 블록과, 복원된 잔차블록을 이용하여 현재 예측 유닛의 복원 블록을 생성한다.
다음으로, AMVP 모드에 대해 설명한다. 부호화 유닛 내의 skip_flag가 0이고, 수신된 예측 유닛 내의 merge_flag가 0인 경우에 적용된다. 예측 블록의 생성 단계는 다음과 같다.
먼저, 수신된 비트스트림으로부터 현재 예측 유닛의 참조 픽쳐 인덱스와 차분 움직임 벡터를 구한다. 슬라이스 타입이 B경우에는 인터 예측 정보(inter_pred_flag)를 확인한다. 인터 예측 정보가 참조 픽쳐 조합 리스트(Pred_LC)를 이용한 단방향 예측을 나타내면, 참조 픽쳐 인덱스를 이용하여 참조 픽쳐 조합 리스트(list_c) 내의 참조 픽쳐를 선택한다. 그리고, 차분 움직임 벡터를 복원한다. 인터 예측 정보가 참조 픽쳐 리스트 0을 이용한 단방향 예측을 나타내면, 참조 픽쳐 리스트 0의 참조 픽쳐 인덱스를 이용하여 참조 픽쳐를 구하고, 차분 움직임 벡터를 복원한다. 인터 예측 정보가 양방향 예측을 나타내면, 참조 픽쳐 리스트 0의 참조 픽쳐 인덱스와 참조 픽쳐 리스트 1의 참조 픽쳐 인덱스를 이용하여 각 참조 픽쳐를 구하고, 각 참조 픽쳐에 대한 차분 움직임 벡터를 복원한다.
다음으로, 움직임 벡터 예측자를 구한다. 움직임 벡터 예측자는 공간 움직임 벡터 후보자 및 시간 움직임 벡터 후보자들 중에서 결정된다.
도 6은 본 발명에 따른 공간 움직임 벡터 후보자를 구하기 위해 사용되는 현재 예측 유닛에 인접한 예측 유닛들의 위치를 나타내는 도면이다.
좌측 공간 움직임 벡터 후보자는 현재 예측 유닛의 좌측 예측 유닛들 중 하나(블록A0, A1중 하나)가 될 수 있다. 상측 공간 움직임 벡터 후보자는 현재 예측 유닛의 상측 예측 유닛들 중 하나(블록 B0 ,B1, B2 중 하나)가 될 수 있다.
먼저, 좌측 공간 움직임 벡터 후보자를 구하는 과정을 설명한다.
현재 예측 유닛의 좌측 예측 유닛들을 A0, A1 순으로 검색하여 제1 또는 제2조건을 만족하는 예측 유닛이 존재하는지를 검색한다. 제1 조건을 만족하는 예측 유닛은 ① 예측 유닛이 존재하고, ② 예측 유닛이 인터 예측 유닛이고, ③ 현재 예측 유닛의 참조 픽쳐와 동일한 참조 픽쳐를 가지고, ④ 참조 픽쳐 리스트가 동일한 예측 유닛을 말한다. 상기 제1 조건을 만족하는 예측 유닛이 존재하면 상기 예측 유닛의 움직임 벡터를 좌측 공간 움직임 벡터 후보자로 설정한다. 제2 조건을 만족하는 예측 유닛은 ① 예측 유닛이 존재하고, ② 예측 유닛이 인터 예측 유닛이고, ③ 현재 예측 유닛의 참조 픽쳐와 동일한 참조 픽쳐를 가지되, ④ 참조 픽쳐 리스트가 상이한 예측 유닛을 말한다. 상기 제1 또는 제2 조건을 만족하는 예측 유닛이 존재하면 상기 예측 유닛의 움직임 벡터를 좌측 공간 움직임 벡터 후보자로 설정한다.
제1및 제 2 조건을 만족하는 예측 유닛도 존재하지 않으면, 현재 예측 유닛의 좌측 예측 유닛들을 A0, A1 순으로 검색하여 제3 또는 제 4 조건을 만족하는 예측 유닛이 존재하는지를 검색한다. 제3 조건을 만족하는 예측 유닛은 ① 예측 유닛이 존재하고, ② 예측 유닛이 인터 예측 유닛이고, ③ 참조 픽쳐 리스트가 동일하되, ④ 현재 예측 유닛의 참조 픽쳐와 다른 참조 픽쳐를 갖는 예측 유닛을 말한다. 상기 제3 조건을 만족하는 예측 유닛이 존재하면 상기 예측 유닛의 움직임 벡터를 좌측 공간 움직임 벡터 후보자로 설정한다. 제4 조건을 만족하는 예측 유닛이 존재하는지를 검색한다. 제4 조건을 만족하는 예측 유닛은 ① 예측 유닛이 존재하고, ② 예측 유닛이 인터 예측 유닛이되, ③ 참조 픽쳐 리스트가 다르고, ④ 현재 예측 유닛의 참조 픽쳐와 다른 참조 픽쳐를 갖는 예측 유닛을 말한다. 상기 제3 또는 4 조건을 만족하는 예측 유닛이 존재하면 상기 예측 유닛의 움직임 벡터를 좌측 공간 움직임 벡터 후보자로 설정한다.
제1 조건 또는 제2 조건을 만족하는 예측 유닛의 움직임 벡터는 그대로 움직임 벡터 후보자로 사용되나, 제3 조건 또는 제4 조건을 만족하는 예측 유닛의 움직임 벡터는 스케일링되어 움직임 벡터 후보자로 사용될 수 있다.
상기 모든 조건을 만족시키는 움직임 벡터가 존재하지 않으면, 좌측 공간 움직임 벡터 후보자는 유효하지 않은 것으로 설정한다.
다음으로, 상측 공간 움직임 벡터 후보자를 구하는 과정을 설명한다.
현재 예측 유닛의 상측 예측 유닛들을 B0, B1, B2 순으로 검색하여 제1 또는 2 조건을 만족하는 예측 유닛이 존재하는지를 검색한다. 상기 제1 또는 2조건을 만족하는 예측 유닛이 존재하면 상기 예측 유닛의 움직임 벡터를 상측 공간 움직임 벡터 후보자로 설정한다.
제1 및 제2 조건을 만족하는 예측 유닛도 존재하지 않으면, 제3 또는 제4 조건을 만족하는 예측 유닛이 존재하는지를 검색하고, 상기 제3 또는 제 4조건을 만족하는 예측 유닛이 존재하면 상기 예측 유닛의 움직임 벡터를 상측 공간 움직임 벡터 후보자로 설정할 수 있다. 그러나, 좌측 공간 움직임 벡터 후보자가 제3 또는 제 4조건을 만족하는 경우에는 제3 또는 제4 조건을 만족하는 상측 움직임 벡터 후보자는 유효하지 않은 것으로 설정할 수도 있다.
시간 움직임 벡터 후보자를 구하는 과정은 상술한 시간 스킵 후보자의 움직임 벡터를 구하는 과정과 동일하므로 생략한다.
다음으로, 움직임 벡터 후보자 리스트를 구축한다.
움직임 벡터 후보자 리스트는 유효한 움직임 벡터 후보자들만을 이용한다. 리스트는 미리 정해진 순서로 구축하는 것이 바람직하다. 미리 정해진 순서는 공간 좌측 움직임 벡터 후보자(블록 A), 공간 상측 움직임 벡터 후보자(블록 B), 시간 움직임 벡터 후보자 순으로 설정될 수 있다. 또한, 시간 움직임 벡터 후보자, 공간 상측 움직임 벡터 후보자(블록 B) 순, 공간 상측 움직임 벡터 후보자(블록 B) 순으로 설정될 수도 있다.
다만, 예측 유닛의 예측 모드에 따라 공간 움직임 벡터 후보자들의 순서가 달리 설정될 수도 있다.
다음으로, 움직임 벡터 후보자 리스트가 구축되면, 복수개의 움직임 벡터 후보자가 동일 움직임 벡터를 가지게 되면, 움직임 벡터 후보자 리스트 상에서 후순위를 갖는 움직임 벡터 후보자를 삭제할 수 있다. 그리고, 리스트 상의 움직임 벡터 후보자 수가 미리 정해진 수보다 작은 경우에는 0 벡터를 추가할 수도 있다.
다음으로, 현재 예측 유닛의 움직임 벡터 예측자를 구한다. 움직임 벡터 인덱스에 대응하는 상기 움직임 벡터 후보자 리스트 상의 움직임 벡터 후보자를 현재 예측 유닛의 움직임 벡터 예측자로 결정한다.
다음으로, 상기 움직임 벡터 예측자와, 부호기로부터 수신된 차분 움직임 벡터를 더하여 현재 예측 유닛의 움직임 벡터를 복원한다. 그리고, 부호기로부터 수신된 참조 픽쳐 인덱스와 상기 복원된 움직임 벡터를 이용하여 현재 예측 유닛의 예측 블록을 생성한다.
그리고, 잔차 신호를 수신하여 엔트로피 복호화, 역스캔, 역변환을 수행하여 잔차 블록을 복원한다. 상기 과정은 도 3의 엔트로피 복호화부(210), 역스캔부(221), 역양자화부(222) 및 역변환부(223)에서 수행된다.
그리고, 상기 생성된 예측 블록과, 복원된 잔차블록을 이용하여 현재 예측 유닛의 복원 블록을 생성한다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (9)
- 인터 예측 부호화된 동영상을 복호하는 방법에 있어서,
현재 예측 유닛의 예측 블록을 생성하는 단계; 및 현재 예측 유닛의 잔차 블록을 복원하는 단계를 포함하고,
현재 예측 유닛의 예측 블록을 생성하는 단계는
수신된 비트스트림으로부터 현재 예측 유닛의 참조 픽쳐 인덱스와 차분 움직임 벡터를 구하는 단계;
좌측 및 상측 공간 움직임 벡터 후보자를 구하는 단계;
시간 움직임 벡터 후보자를 구하는 단계;
움직임 벡터 리스트를 구축하고, 중복되는 움직임 벡터 후보자들이 존재하면 후순위 움직임 벡터 후보자를 움직임 벡터 리스트 상에서 삭제하는 단계;
움직임 벡터 리스트 상의 움직임 벡터 후보자 수가 미리 정해진 수보다 작으면 영벡터를 추가하는 단계;
수신된 비트 스트림으로부터의 움직임 벡터 인덱스에 대응하는 움직임 벡터 후보자를 움직임 벡터 예측자로 결정하고, 상기 차분 움직임 벡터 및 상기 움직임 벡터 예측자를 이용하여 현재 예측 유닛의 움직임 벡터를 복원하는 단계; 및
상기 복원된 현재 예측 유닛의 움직임 벡터 및 수신된 현재 예측 유닛의 참조 픽쳐 인덱스를 이용하여 현재 예측 유닛의 예측 블록을 생성하는 단계를 포함하고,
상기 시간 움직임 벡터 후보자는 현재 예측 유닛의 위치에 따라 복수개의 대응 블록들을 미리 정해진 순서로 스캔하여 유효한 첫번째 움직임 벡터이거나, 미리 정해진 위치의 대응 블록의 움직임 벡터인 것을 특징으로 하는 동영상 복호화 방법. - 제1항에 있어서, 상기 복수개의 대응 블록들은 제1 후보자 블록 및 제2 후보자 블록을 포함하고, 상기 제1 후보자 블록은 상기 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 블록에 인접하는 좌하측 코너 블록(BR_C) 또는 상기 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 블록내의 좌하측 블록(BR)이고, 제2 후보자 블록은 상기 시간 스킵 후보자 픽쳐 내의 현재 예측 유닛에 대응하는 블록의 중앙 위치의 좌상측 픽셀을 포함하는 블록(C1) 또는 우하측 픽셀을 포함하는 블록(C2)인 것을 특징으로 하는 동영상 복호화 방법.
- 제2항에 있어서, 상기 미리 정해진 위치의 대응 블록은 제2 후보자 블록인 것을 특징으로 하는 동영상 복호화 방법.
- 제3항에 있어서, 현재 예측 유닛이 슬라이스 또는 LCU의 아래쪽 경계와 접하는 경우에는 제2 후보자 블록의 움직임 벡터를 현재 예측 유닛의 시간 움직임 벡터 후보자로 설정하는 것을 특징으로 하는 동영상 복호화 방법.
- 제1항에 있어서, 좌측 공간 움직임 벡터 후보자가 스케일링된 경우, 스케일링이 필요한 상측 공간 움직임 벡터 후보자는 이용 가능하지 않는 것으로 설정하는 것을 특징으로 하는 동영상 복호화 방법.
- 제1항에 있어서, 현재 예측 유닛의 잔차 블록을 복원하는 단계는 잔차블록 신호를 엔트로피 복호화하는 단계; 제1 스캔 패턴으로 역스캔하는 단계; 역스캔된 양자화 잔차 블록을 역양자화하여 변환 블록을 복원하는 단계; 및 변환블록을 역변환하는 단계를 포함하는 것을 특징으로 하는 동영상 복호화 방법.
- 제6항에 있어서, 제1 스캔 패턴으로 역스캔하는 단계는 변환 유닛의 크기가 제1 기준 크기보다 큰 경우에는 복수개의 서브셋 단위로 역스캔하는 것을 특징으로 하는 동영상 복호화 방법.
- 제7항에 있어서, 상기 복스개의 서브셋 간의 역스캔 패턴과 서브셋 내의 계수들의 역스캔 패턴은 동일한 것을 특징으로 하는 동영상 복호화 방법.
- 제7항에 있어서, 변환 유닛의 크기가 미리 정해진 크기보다 크거나 같은 경우에는 각각의 서브셋이 0이 아닌 계수를 포함하는지 여부를 나타내는 정보를 이용하여 역스캔하는 것을 특징으로 하는 동영상 복호화 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130043053A KR20130067280A (ko) | 2013-04-18 | 2013-04-18 | 인터 예측 부호화된 동영상 복호화 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130043053A KR20130067280A (ko) | 2013-04-18 | 2013-04-18 | 인터 예측 부호화된 동영상 복호화 방법 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110133430A Division KR101269116B1 (ko) | 2010-12-14 | 2011-12-13 | 인터 예측 부호화된 동영상 복호화 방법 |
Related Child Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160109146A Division KR20160106024A (ko) | 2010-12-14 | 2016-08-26 | 동영상 부호화 장치 |
KR1020160109143A Division KR20160106021A (ko) | 2010-12-14 | 2016-08-26 | 동영상 복호화 장치 |
KR1020160109142A Division KR20160106020A (ko) | 2010-12-14 | 2016-08-26 | 동영상 복호화 장치 |
KR1020160109147A Division KR20160106025A (ko) | 2010-12-14 | 2016-08-26 | 동영상 부호화 장치 |
KR1020160109140A Division KR20160106018A (ko) | 2010-12-14 | 2016-08-26 | 동영상 복호화 장치 |
KR1020160109145A Division KR20160106023A (ko) | 2010-12-14 | 2016-08-26 | 동영상 부호화 장치 |
KR1020160109141A Division KR20160106019A (ko) | 2010-12-14 | 2016-08-26 | 동영상 복호화 장치 |
KR1020160109144A Division KR20160106022A (ko) | 2010-12-14 | 2016-08-26 | 동영상 부호화 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20130067280A true KR20130067280A (ko) | 2013-06-21 |
Family
ID=48863172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130043053A KR20130067280A (ko) | 2013-04-18 | 2013-04-18 | 인터 예측 부호화된 동영상 복호화 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20130067280A (ko) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109997363A (zh) * | 2016-11-28 | 2019-07-09 | 韩国电子通信研究院 | 图像编码/解码方法和装置以及存储有比特流的记录介质 |
CN111193930A (zh) * | 2013-12-16 | 2020-05-22 | 浙江大学 | 一种前向双假设编码图像块的编解码方法和装置 |
US10856001B2 (en) | 2015-02-24 | 2020-12-01 | Lg Electronics Inc. | Polygon unit-based image processing method, and device for same |
CN112514394A (zh) * | 2018-07-17 | 2021-03-16 | 松下电器(美国)知识产权公司 | 用于视频编码的系统和方法 |
CN112584139A (zh) * | 2014-11-27 | 2021-03-30 | 株式会社Kt | 对视频信号进行解码或编码的方法 |
CN112954351A (zh) * | 2015-11-24 | 2021-06-11 | 三星电子株式会社 | 视频解码装置和视频编码装置 |
CN113287303A (zh) * | 2019-01-12 | 2021-08-20 | 北京字节跳动网络技术有限公司 | 双向预测约束 |
CN113905238A (zh) * | 2016-07-05 | 2022-01-07 | 株式会社Kt | 对视频进行解码或编码的方法和计算机可读介质 |
CN114697679A (zh) * | 2015-09-11 | 2022-07-01 | 株式会社Kt | 图像解码方法、图像编码方法和包括比特流的设备 |
CN115002458A (zh) * | 2015-06-05 | 2022-09-02 | 杜比实验室特许公司 | 图像编码和解码方法和图像解码设备 |
CN115243040A (zh) * | 2015-11-23 | 2022-10-25 | 韩国电子通信研究院 | 视频编码/解码方法和记录介质 |
CN115426491A (zh) * | 2018-12-21 | 2022-12-02 | 华为技术有限公司 | 一种使用基于历史的运动矢量预测的编码器、解码器及相应方法 |
CN116800960A (zh) * | 2019-03-12 | 2023-09-22 | 北京达佳互联信息技术有限公司 | 用于视频解码的方法、装置和存储介质 |
US12143566B2 (en) | 2015-09-11 | 2024-11-12 | Kt Corporation | Method and device for processing video signal |
-
2013
- 2013-04-18 KR KR1020130043053A patent/KR20130067280A/ko not_active Application Discontinuation
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111193930B (zh) * | 2013-12-16 | 2021-11-30 | 浙江大学 | 一种前向双假设编码图像块的编解码方法和装置 |
CN111193930A (zh) * | 2013-12-16 | 2020-05-22 | 浙江大学 | 一种前向双假设编码图像块的编解码方法和装置 |
CN112584139A (zh) * | 2014-11-27 | 2021-03-30 | 株式会社Kt | 对视频信号进行解码或编码的方法 |
US10856001B2 (en) | 2015-02-24 | 2020-12-01 | Lg Electronics Inc. | Polygon unit-based image processing method, and device for same |
CN115002458A (zh) * | 2015-06-05 | 2022-09-02 | 杜比实验室特许公司 | 图像编码和解码方法和图像解码设备 |
US12143566B2 (en) | 2015-09-11 | 2024-11-12 | Kt Corporation | Method and device for processing video signal |
CN114697679A (zh) * | 2015-09-11 | 2022-07-01 | 株式会社Kt | 图像解码方法、图像编码方法和包括比特流的设备 |
CN115243040A (zh) * | 2015-11-23 | 2022-10-25 | 韩国电子通信研究院 | 视频编码/解码方法和记录介质 |
CN112954351A (zh) * | 2015-11-24 | 2021-06-11 | 三星电子株式会社 | 视频解码装置和视频编码装置 |
CN112954352A (zh) * | 2015-11-24 | 2021-06-11 | 三星电子株式会社 | 视频解码方法和视频编码方法 |
CN113905238A (zh) * | 2016-07-05 | 2022-01-07 | 株式会社Kt | 对视频进行解码或编码的方法和计算机可读介质 |
CN113905238B (zh) * | 2016-07-05 | 2024-06-04 | 株式会社Kt | 对视频进行解码或编码的方法和计算机可读介质 |
CN109997363A (zh) * | 2016-11-28 | 2019-07-09 | 韩国电子通信研究院 | 图像编码/解码方法和装置以及存储有比特流的记录介质 |
CN109997363B (zh) * | 2016-11-28 | 2023-12-05 | 英迪股份有限公司 | 图像编码/解码方法和装置以及存储有比特流的记录介质 |
US12022110B2 (en) | 2016-11-28 | 2024-06-25 | Intellectual Discovery Co., Ltd. | Image encoding/decoding method and device, and recording medium having bitstream stored thereon |
CN112514394A (zh) * | 2018-07-17 | 2021-03-16 | 松下电器(美国)知识产权公司 | 用于视频编码的系统和方法 |
CN115426491A (zh) * | 2018-12-21 | 2022-12-02 | 华为技术有限公司 | 一种使用基于历史的运动矢量预测的编码器、解码器及相应方法 |
CN113287303A (zh) * | 2019-01-12 | 2021-08-20 | 北京字节跳动网络技术有限公司 | 双向预测约束 |
CN116800960A (zh) * | 2019-03-12 | 2023-09-22 | 北京达佳互联信息技术有限公司 | 用于视频解码的方法、装置和存储介质 |
CN116800960B (zh) * | 2019-03-12 | 2024-05-31 | 北京达佳互联信息技术有限公司 | 用于视频解码的方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12034959B2 (en) | Method for generating prediction block in AMVP mode | |
KR101316060B1 (ko) | 인터 예측 부호화된 동영상 복호화 방법 | |
KR101430048B1 (ko) | 동영상 복호화 장치 | |
KR20130067280A (ko) | 인터 예측 부호화된 동영상 복호화 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
J301 | Trial decision |
Free format text: TRIAL NUMBER: 2018101005242; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20181227 Effective date: 20200623 |