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

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

Info

Publication number
KR101733748B1
KR101733748B1 KR1020160140340A KR20160140340A KR101733748B1 KR 101733748 B1 KR101733748 B1 KR 101733748B1 KR 1020160140340 A KR1020160140340 A KR 1020160140340A KR 20160140340 A KR20160140340 A KR 20160140340A KR 101733748 B1 KR101733748 B1 KR 101733748B1
Authority
KR
South Korea
Prior art keywords
motion vector
block
current
residual
predicted
Prior art date
Application number
KR1020160140340A
Other languages
English (en)
Other versions
KR20160127705A (ko
Inventor
김수년
임정연
전병우
문주희
이영렬
김해광
한종기
양정엽
원광현
Original Assignee
에스케이 텔레콤주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이 텔레콤주식회사 filed Critical 에스케이 텔레콤주식회사
Priority to KR1020160140340A priority Critical patent/KR101733748B1/ko
Publication of KR20160127705A publication Critical patent/KR20160127705A/ko
Application granted granted Critical
Publication of KR101733748B1 publication Critical patent/KR101733748B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria

Abstract

본 발명은, 부호화하고자 하는 현재블록의 현재 움직임벡터와 참조 픽처를 결정하는 움직임벡터 부호화기; 상기 현재 움직임벡터 및 상기 참조 픽처를 이용하여 상기 현재블록을 예측하는 움직임 보상기; 상기 현재블록으로부터 상기 예측블록을 감산하여 잔여블록(residual block)를 생성하는 감산기; 및 상기 잔여블록 내의 잔여 신호(residual signals)에 대한 공간 영역으로부터 주파수 영역으로의 변환 및 양자화를 수행하는 과정, 상기 잔여 신호에 대한 변환을 스킵하고 양자화를 수행하는 과정, 및 상기 잔여 신호에 대한 변환 및 양자화를 모두 스킵하는 과정 중 하나를 선택함으로써 상기 잔여 신호를 부호화하는 잔여 데이터 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.

Description

움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치{Motion Vector Coding Method and Apparatus and Video Coding Method and Apparatus by Using Same}
본 발명은 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다.
동영상 부호화 및 복호화 분야에서 통상적으로 사용되는 움직임 벡터 부호화 및 복호화 방법은 공간적으로 위치한 주변 블록의 움직임 벡터를 예측값으로 사용하여 움직임 예측된 해당 블록의 현재 움직임 벡터에 대해 예측 부호화를 수행하는 것이다. 즉, 현재 블록의 움직임 벡터(이하, '현재 움직임 벡터'라 칭함)는 주변 블록의 움직임 벡터와 밀접한 상관관계를 가지고 있기 때문에, 소정의 방법을 통해 주변 블록의 움직임 벡터로부터 현재 움직임 벡터에 대한 예측값(이하, '예측 움직임 벡터'라 칭함)을 계산한 후, 현재 움직임 벡터의 값 자체를 부호화하지 않고 예측 움직임 벡터에 대한 차분 움직임 벡터만을 부호화함으로써 부호화해야 할 비트량을 상당히 줄여 부호화 효율을 높인다. 이뿐만 아니라, 이러한 예측 움직임 벡터를 최초 탐색점으로 하는 소정의 탐색범위를 이용하여 움직임 추정을 수행함으로써, 움직임 추정 과정에서 예측 움직임 벡터보다 더욱 유사한 움직임 벡터를 결정한다. 즉, 움직임 추정 과정의 수렴 속도를 높이면서도 더욱 정확한 움직임 벡터를 추정한다.
통상적으로 이러한 움직임 벡터를 위한 예측 부호화에서는 효율적인 압축을 위하여 예측 움직임 벡터가 현재 움직임 벡터와 유사할수록 부호화 효율이 증대된다.
전술한 문제점을 해결하기 위해 본 발명은, 움직임 벡터에 대한 예측의 정확성을 향상시킴으로써, 움직임 벡터를 부호화하여 더욱 높은 부호화 효율을 달성하는 데에 일 목적이 있다.
본 발명의 일 측면에 따르면, 부호화하고자 하는 현재블록의 현재 움직임벡터와 참조 픽처를 결정하는 움직임벡터 부호화기; 상기 현재 움직임벡터 및 상기 참조 픽처를 이용하여 상기 현재블록을 예측하는 움직임 보상기; 상기 현재블록으로부터 상기 예측블록을 감산하여 잔여블록(residual block)를 생성하는 감산기; 및 상기 잔여블록 내의 잔여 신호(residual signals)에 대한 공간 영역으로부터 주파수 영역으로의 변환 및 양자화를 수행하는 과정, 상기 잔여 신호에 대한 변환을 스킵하고 양자화를 수행하는 과정, 및 상기 잔여 신호에 대한 변환 및 양자화를 모두 스킵하는 과정 중 하나를 선택함으로써 상기 잔여 신호를 부호화하는 잔여 데이터 부호화기를 포함하는 것을 특징으로 하는 인터 예측을 이용한 영상 부호화 장치를 제공한다.
상기 움직임벡터 부호화기는, 상기 현재블록의 주변블록으로부터 복수의 예측 움직임벡터 후보를 유도함으로써 후보 집합을 구성하고, 상기 후보 집합에 포함된 상기 복수의 예측 움직임벡터 후보 중에서 상기 현재블록의 예측 움직임벡터를 선택하며, 상기 현재 움직임벡터로부터 상기 예측 움직임벡터를 감산하여 차분 움직임벡터를 생성하고 부호화한다. 여기서, 상기 주변블록은 상기 현재블록을 포함하는 현재픽처 내에 위치하고 상기 현재블록에 인접한 블록과 상기 현재픽처가 아닌 참조픽처 내에 위치하는 블록을 포함하고, 상기 참조픽처 내의 블록의 위치는 상기 현재픽처 내에서 상기 현재블록의 위치에 근거하여 결정될 수 있다.
또한, 상기 주변블록으로부터 유도되는 복수의 예측 움직임벡터 후보의 개수가 기 결정된 개수보다 작은 경우, 영벡터를 상기 후보 집합에 추가할 수 있다.
본 발명의 또 다른 측면에 따르면, 비트스트림으로부터 현재블록의 차분 움직임벡터, 참조 픽처에 대한 인덱스 정보 및 부호화된 잔차 신호를 추출하는 정보 추출기; 상기 현재블록의 주변블록으로부터 복수의 예측 움직임벡터 후보를 유도함으로써 후보 집합을 구성하고, 상기 후보 집합에 포함된 상기 복수의 예측 움직임벡터 후보 중에서 상기 현재블록의 예측 움직임벡터를 선택하며, 상기 차분 움직임벡터와 상기 예측 움직임벡터를 가산하여 현재블록의 현재 움직임벡터를 복원하는 움직임벡터 복호화기; 상기 현재 움직임벡터 및 상기 참조 픽처에 대한 인덱스 정보를 이용하여 상기 현재블록 내의 화소를 예측하는 움직임 보상기; 상기 부호화된 잔차 신호로부터 잔차 신호를 복원하는 잔여 데이터 복호화기; 및 상기 예측 화소와 상기 예측 화소에 대응하는 복원된 잔차 신호를 가산하는 가산기를 포함하되, 상기 잔여 데이터 복호화기는, 역양자화 및 주파수 영역으로부터 공간 영역으로의 역변환이 상기 부호화된 잔차 신호에 적용되는지 여부를 식별하고, 상기 식별의 결과에 근거하여, 상기 부호화된 잔차 신호에 대한 역양자화 및 역변환을 모두 스킵하는 과정, 상기 부호화된 잔차 신호를 역양자화하고 역양자화된 잔차 신호에 대한 역변환을 스킵하는 과정 및 상기 부호화된 잔차 신호에 대한 역양자화 및 역변환을 모두 수행하는 과정 중 하나의 과정을 선택함으로써, 상기 잔차 신호를 복원하는 것을 특징으로 하는 인터 예측을 이용한 영상 복호화 장치를 제공한다.
상기 움직임벡터 복호화기는, 상기 주변블록으로부터 유도되는 복수의 예측 움직임벡터 후보의 개수가 기 결정된 개수보다 작은 경우, 영벡터를 상기 후보 집합에 추가할 수 있다.
상기 주변블록은 상기 현재블록을 포함하는 현재픽처 내에 위치하고 상기 현재블록에 인접한 블록과 상기 현재픽처가 아닌 참조픽처 내에 위치하는 블록을 포함하되, 상기 참조픽처 내의 블록의 위치는 상기 현재픽처 내에서 상기 현재블록의 위치에 근거하여 결정될 수 있다.
이상에서 설명한 바와 같이 본 발명에 의하면, 더욱 정확한 예측 움직임 벡터를 이용하여 움직임 벡터를 부호화함으로써, 움직임 벡터 부호화 효율을 향상시킬 수 있다.
도 1은 H.264/AVC 표준에 따라 움직임 벡터를 부호화하는 과정을 설명하기 위한 예시도,
도 2는 엔트로피 부호화를 위한 심볼당 비트수를 나타낸 예시도,
도 3은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,
도 4는 본 발명의 일 실시예에 따른 움직임 벡터 부호화 장치를 간략하게 나타낸 블록 구성도,
도 5는 본 발명의 일 실시예에 따른 움직임 추정기를 간략하게 나타낸 블록 구성도,
도 6은 본 발명의 일 실시예에 따른 탐색 범위와 그에 따라 결정되는 개별 탐색 범위를 나타낸 예시도,
도 7은 인접 화소 정합 방법을 설명하기 위한 예시도,
도 8은 본 발명의 일 실시예에 따른 움직임 벡터 부호화 방법을 설명하기 위한 순서도,
도 9는 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,
도 10은 본 발명의 일 실시예에 따른 움직임 벡터 복호화 장치를 간략하게 나타낸 블록 구성도,
도 11은 본 발명의 일 실시예에 따른 움직임 벡터 결정기를 간략하게 나타낸 블록 구성도,
도 12는 본 발명의 일 실시예에 따른 움직임 벡터의 복호화 방법을 설명하기 위한 순서도,
도 13은 본 발명의 일 실시예에 따라 현재 블록의 움직임 정보를 부호화하고 복호화는 과정을 설명하기 위한 예시도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus), 움직임 벡터 부호화 장치(Motion Vector Encoding Apparatus) 또는 움직임 벡터 복호화 장치(Motion Vector Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 움직임 벡터를 부호화하거나 복호화하거나 그를 이용하여 영상을 부호화하거나 복호화하하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등의 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
영상 부호화 장치와 영상 복호화 장치에는 움직임 추정 및 움직임 보상을 이용한 인터 예측뿐만 아니라 인트라 예측을 수행하기 위한 기능이 구비될 수 있지만, 본 발명의 실시예와 직접적인 관계가 없기 때문에, 혼란을 방지하기 위해 상세한 설명을 생략한다.
통상적으로 동영상은 일련의 픽처(Picture)로 구성되어 있으며, 각 픽처들은 블록(Block)으로 분할된다. 각 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류된다. 인트라 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽처 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽처 또는 미래 픽처를 참조하여 현재 픽처 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽처를 부호화하거나 복호화하는데 참조되는 픽처를 참조 픽처(Reference Picture)라고 한다.
도 1은 H.264/AVC 표준에 따라 움직임 벡터를 부호화하는 과정을 설명하기 위한 예시도이다.
도 1에서, 블록 D는 움직임 벡터를 부호화하고자 하는 현재 블록이고, 블록 A, 블록 B 및 블록 C는 블록 D에 대한 주변 블록을 나타낸다.
Figure 112016104400291-pat00001
,
Figure 112016104400291-pat00002
,
Figure 112016104400291-pat00003
Figure 112016104400291-pat00004
는 각각 블록 A, 블록 B, 블록 C, 블록 D가 갖는 움직임 벡터이고, 각각은 수평성분 (
Figure 112016104400291-pat00005
,
Figure 112016104400291-pat00006
,
Figure 112016104400291-pat00007
Figure 112016104400291-pat00008
)과 수직성분 (
Figure 112016104400291-pat00009
,
Figure 112016104400291-pat00010
,
Figure 112016104400291-pat00011
Figure 112016104400291-pat00012
)을 가지는 것으로 정의한다. 그리고 현재 블록의 움직임 벡터(이하 '현재 움직임 벡터'라 칭함)
Figure 112016104400291-pat00013
는 (2,0)이고, 주변 블록의 움직임 벡터인
Figure 112016104400291-pat00014
,
Figure 112016104400291-pat00015
Figure 112016104400291-pat00016
는 각각 (2,0), (2,1) 및 (2,2)인 것으로 가정한다. 또한, 전술한 현재 블록의 움직임 벡터에 대한 예측값(이하 '예측 움직임 벡터'라 칭함, PMV: Predicted Motion Vector)
Figure 112016104400291-pat00017
를 수학식 1과 같이 계산하며, 예측 움직임 벡터
Figure 112016104400291-pat00018
는 역시 각각은 수평성분(
Figure 112016104400291-pat00019
)과 수직성분(
Figure 112016104400291-pat00020
)을 가지는 것으로 정의한다.
Figure 112016104400291-pat00021
수학식 1을 참조하면, 현재 움직임 벡터에 대한 예측 움직임 벡터는 주변 블록(블록 A, 블록 B, 블록 C)의 움직임 벡터의 중간값을 계산하는 Median(·)에 의해 계산됨을 확인할 수 있다. 수학식 1을 이용하여 현재 움직임 벡터
Figure 112016104400291-pat00022
의 예측 움직임 벡터
Figure 112016104400291-pat00023
가 구해지면, 수학식 2를 사용하여 부호화해야 할 현재 움직임 벡터에서 예측 움직임 벡터를 차분한 차분 움직임 벡터
Figure 112016104400291-pat00024
를 구할 수 있으며, 이 차분 움직임 벡터는 엔트로피 부호화 등의 미리 정의된 소정의 방법에 의해 부호화되어 저장(또는 전송)된다.
Figure 112016104400291-pat00025
도 1에 예시되어 있는 것처럼, 현재 움직임 벡터
Figure 112016104400291-pat00026
가 (2,0)인 경우, 수학식 1에 의한 중간값을 사용한 예측 움직임 벡터는 (2,1)이 되며, 수학식 2에 의해 차분 움직임 벡터
Figure 112016104400291-pat00027
는 (0, -1)이 된다.
도 2는 엔트로피 부호화를 위한 심볼당 비트수를 나타낸 예시도이다.
도 1을 통해 전술한 차분 움직임 벡터
Figure 112016104400291-pat00028
를 도 2에 도시한 엔트로피 부호화를 위한 테이블을 이용하여 부호화하면, 모두 4 비트(수평 성분에 대해 1 비트, 수직 성분에 대해 3 비트)가 필요하다. 반면,
Figure 112016104400291-pat00029
인 (2,0)을 예측 움직임 벡터로 사용하면 차분 움직임 벡터
Figure 112016104400291-pat00030
가 (0,0)이 되어, 이를 부호화하는데 소요되는 비트량은 모두 2 비트(수평 성분에 대해 1 비트, 수직 성분에 대해 1 비트)가 된다. 따라서, 중간값을 사용한 예측 움직임 벡터를 사용하는 방법에 비해 2 비트를 감소시킬 수 있다.
하지만, 전술한 바와 같이,
Figure 112016104400291-pat00031
를 예측 움직임 벡터로 사용하기 위해서는
Figure 112016104400291-pat00032
중에서 어떤 움직임 벡터가 예측 움직임 벡터(PMV)로 사용되었는지에 대한 정보를 함께 전송해야 하기 때문에, 압축 효율의 향상 여부를 보장할 수 없다. 따라서, 더욱 높은 부호화 효율을 달성하기 위해서는 어떤 예측값(Predicted Value)이 사용되었는지에 대한 정보를 추가하지 않으면서도, 더욱 정확한 예측값을 사용하여 움직임 벡터를 부호화하는 방법이 필요하다.
도 3은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 영상 부호화 장치(300)는 움직임 벡터 부호화기(Motion Vector Encoder, 310), 움직임 보상기(Motion Compensator, 320), 감산기(Subtracter, 330), 잔여 데이터 부호화기(Residual Data Encoder, 340), 엔트로피 부호화기(Entropy Encoder, 350), 부호화 데이터 생성기(Encoding Data Generator, 360), 잔여 데이터 복호화기(Residual Data Decoder, 370), 가산기(Adder, 380), 참조 픽처 메모리(Reference Picture Memory, 390) 및 제어기(Controller, 392)를 포함하여 구성될 수 있다.
움직임 벡터 부호화기(310)는 하나 이상의 예측 움직임 벡터 후보 중 영상 복호화 장치와 미리 약속된 제 1 결정 기준과 영상 복호화 장치와 미리 약속되지 않은 제 2 결정 기준에 따라 예측 움직임 벡터 및 차분 움직임 벡터를 결정하고, 결정되는 예측 움직임 벡터 및 차분 움직임 벡터를 이용하여 현재 움직임 벡터를 결정하며, 차분 움직임 벡터를 현재 블록에 대한 움직임 정보로서 부호화한다.
여기서, 영상 복호화 장치와 미리 약속된 제 1 결정 기준의 "미리 약속된"의 의미는, 소정의 결정을 위한 근거 정보를 영상 부호화 장치와 영상 복호화 장치가 공히 가지고 있으며 이러한 정보를 이용하여 영상 부호화 장치와 영상 복호화 장치가 동일한 결정을 내릴 수 있다는 의미이다. 즉, 영상 복호화 장치와 미리 약속된 제 1 결정 기준이란 어떠한 결정을 내리기 위한 기준도 영상 부호화 장치와 영상 복호화 장치 상호간에 동일하게 설정되고, 결정을 내리기 위한 근거 정보도 영상 부호화 장치와 영상 복호화 장치가 동일하게 가지고 있는 것을 의미한다.
또한, "약속되지 않은"의 의미는, 영상 부호화 장치가 독자적으로 소정의 결정을 내리는 것을 의미하는 것으로서 결정을 위한 근거 정보가 영상 부호화 장치에는 있으나 영상 복호화 장치에는 없는 것을 의미하므로, 이러한 결정 과정은 영상 부호화 장치에서만 수행된다. 따라서, 영상 복호화 장치와 미리 약속되지 않은 제 2 결정 기준이란 영상 부호화 장치만이 독자적으로 가지고 있는 결정 기준을 의미하며, 어떠한 결정을 내리기 위한 기준과 그 결정을 내리기 위한 근거 정보가 영상 부호화 장치에만 설정되고 영상 복호화 장치에는 없는 것을 의미한다.
이를 위해, 움직임 벡터 부호화기(310)는 제어기(392)로부터 움직임 예측을 위한 복수 개의 블록 모드(Block Mode) 중 어느 하나의 블록 모드를 입력받아, 참조 픽처 메모리(390)에 저장된 적어도 하나 이상의 참조 픽처를 참조하여, 입력된 블록 모드에 대응하는 단위(예를 들어, 16×16, 16×8, 8×16, 8×8, 8×4, 4×8, 4×4 화소 단위)로 현재 부호화하고자 하는 블록(이하 '현재 블록'이라 칭함)의 움직임 벡터를 추정한다.
여기서, 블록 모드란 현재 블록의 부호화 모드를 나타내는 것으로서, 예를 들어, 인터 16x16, 인터 8x4 등과 같이 인터 예측 모드인지 여부와 인터 예측 모드에 대한 블록 크기를 나타내는 정보일 수 있다. 또한, 블록이란 영상을 부호화하기 위해 편의상 구분하는 화소 단위로서 4x4 화소 단위, 4x8 화소 단위 등 직사각형 또는 정사각형 모양을 가지는 화소 단위일 수 있다. 다만, 영상은 항상 블록 단위로 부호화될 수 있는 것은 아니며, 정형화되거나 정형화되지 않은 영역 단위로 부호화될 수 있다. 이하에서는 설명의 편의를 위해 영상이 블록 단위로 부호화되는 것으로 설명한다.
이때, 움직임 벡터 부호화기(310)는 제어기(392)로부터 참조 픽처를 지시하는 정보를 직접 제공받고, 제공된 정보에 의해 식별되는 참조 픽처를 참조하여 현재 블록의 움직임 벡터를 추정할 수 있다. 또한, 이에 대한 대안으로서, 움직임 벡터 부호화기(310)는 제어부(392)로부터 단순히 블록 모드만을 입력받을 수 있다. 블록 모드만을 입력받은 경우, 움직임 벡터 부호화기(310)는 현재 블록을 포함하는 픽처(이하 '현재 픽처'라 칭함)와 시간적으로 주변에 위치하는 사용 가능한 참조 픽처 각각에 대해 차이값을 연산하고, 최소의 차이값을 갖는 참조 픽처를 기준으로 현재 움직임 벡터를 추정할 수 있다. 움직임 벡터 부호화기(310)는 추정된 움직임 벡터를 부호화함으로써 움직임 정보 및 참조 픽처에 대한 인덱스 정보를 함께 제공할 수 있다. 여기서, 움직임 정보란 움직임 벡터 복호화 장치 또는 영상 복호화 장치에서 현재 블록을 움직임 보상하기 위해 사용하는 움직임 정보를 말하며, 현재 움직임 벡터이거나 차분 움직임 벡터일 수 있다.
움직임 보상기(320)는 움직임 벡터 부호화기(310)에 의해 결정되는 현재 움직임 벡터를 이용하여 현재 블록을 움직임 보상하여 예측 블록(Predicted Block)을 생성한다. 이를 위해, 움직임 보상기(320)는 움직임 벡터 부호화기(310)로부터 움직임 정보와 참조 픽처에 대한 인덱스 정보를 전달받아, 전달된 움직임 정보를 이용하여 참조 픽처에 대해 움직임 보상을 수행함으로써 예측 블록을 생성한다.
감산기(330)는 현재 블록과 예측 블록을 감산하여 잔여 블록(Residual Block)을 생성한다. 즉, 감산기(330)는 현재 블록의 원래의 화소값에서 예측 블록의 예측 화소값을 뺀 잔여 신호(Residual Signal)를 가지는 잔여 블록을 생성한다.
잔여 데이터 부호화기(340)는 잔여 블록을 변환(Transform) 및 양자화(Quantization)한다. 즉, 잔여 데이터 부호화기(340)는 잔여 블록의 잔여 신호를 주파수 영역으로 변환하여 잔여 블록의 각 잔여 신호를 변환 계수(Transform Coefficient)로 변환하고, 변환 계수를 갖는 잔여 블록을 양자화하여 양자화된 변환 계수를 가지는 잔여 블록을 생성한다. 여기서, 잔여 데이터 부호화기(340)는 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반 변환(DCT based Transform: Discrete Cosine Transform Based Transform) 등과 같은 공간축의 화상 신호를 주파수축으로 변환하는 다양한 변환 기법을 이용하여 잔여 신호를 주파수 영역으로 변환할 수 있는데, 주파수 영역으로 변환된 잔여 신호가 변환 계수가 된다. 또한, 잔여 데이터 부호화기(340)는 잔여 블록의 변환 계수를 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization, 이하 'DZUTQ'라 칭함), 양자화 가중치 매트릭스(Quantization Weighted Matrix) 또는 이를 개량한 양자화 기법 등을 사용하여 양자화할 수 있다.
한편, 이상에서는 잔여 데이터 부호화기(340)가 잔여 블록을 변환하고 양자화하는 것으로 설명했지만, 잔여 블록을 변환하지 않거나 양자화하지 않을 수 있다. 즉, 잔여 데이터 부호화기(340)는 잔여 블록을 변환 계수로 변환하지 않고 양자화 과정만을 수행하거나 잔여 블록을 변환한 후 양자화하지 않을 수 있을 뿐만 아니라, 심지어는 변환과 양자화 과정을 모두 수행하지 않을 수 있다. 변환과 양자화 과정을 수행하지 않는 경우에는 본 발명의 일 실시예에 따른 영상 부호화 장치(300)에서 잔여 데이터 부호화기(340)는 생략될 수 있을 것이다.
엔트로피 부호화기(350)는 잔여 데이터 부호화기(340)로부터 출력되는 잔여 블록을 엔트로피 부호화하여 부호화된 잔여 데이터를 출력한다. 즉, 엔트로피 부호화기(350)는 잔여 블록의 양자화된 변환 계수, 변환 계수 또는 잔여 신호를 지그재그 스캔과 같은 다양한 스캔 방식에 따라 스캔하여 양자화된 변환 계수열, 변환 계수열 또는 잔여 신호열을 생성하고 엔트로피 부호화(Entropy Coding) 기법 등 다양한 부호화 기법을 이용하여 부호화한다. 한편, 이러한 잔여 데이터 부호화기(340)와 엔트로피 부호화기(350)의 기능이 통합되어 하나의 부호화기로서 구현될 수도 있다. 즉, 하나의 부호화기로 구현되는 경우, 부호화기는 잔여 블록을 부호화하여 부호화된 잔여 데이터를 생성한다.
부호화 데이터 생성기(360)는 부호화된 잔여 데이터 및 부호화된 움직임 정보를 포함하는 부호화 데이터를 생성하고 출력한다. 즉, 부호화 데이터 생성기(360)는 부호화기 또는 엔트로피 부호화기(350)로부터 출력되는 부호화된 잔여 데이터와 움직임 벡터 부호화기(310)로부터 출력되는 부호화된 움직임 정보를 포함하는 부호화 데이터를 생성하여 출력한다. 또한, 부호화 데이터 생성기(360)는 제어기(3920)로부터 출력되거나 기 설정된 현재 블록에 대한 블록 모드에 대한 정보를 부호화 데이터에 추가로 포함시켜 출력할 수 있다. 이러한 부호화 데이터 생성기(360)는 멀티플렉서(MUX: Multiplexer) 등과 같은 다중화기로 구현될 수 있다.
잔여 데이터 복호화기(370)는 잔여 데이터 부호화기(340)에 의해 양자화된 잔여 블록을 역 양자화(Inverse Quantization)하고 역 변환(Inverse Transform)한다. 즉, 잔여 데이터 복호화기(370)는 앙자화된 잔여 블록의 양자화된 변환 계수들을 역 양자화하여 변환 계수를 갖는 잔여 블록을 생성하고, 역 양자화된 잔여 블록을 역 변환하여 잔여 신호를 가지는 잔여 블록 즉, 복원된 잔여 블록을 생성한다. 여기서, 잔여 데이터 복호화기(370)는 잔여 데이터 부호화기(340)에서 이용한 변환 방식과 양자화 방식을 역으로 사용하여 역 변환 및 역 양자화할 수 있다. 또한, 잔여 데이터 부호화기(340)에서 변환만을 수행하고 양자화를 수행하지 않은 경우, 잔여 데이터 복호화기(370)는 역 변환만을 수행하고 역 양자화를 수행하지 않으며, 잔여 데이터 부호화기(340)에서 양자화만을 수행하고 변환을 수행하지 않은 경우에는 역 양자화만을 수행하고 역 변환을 수행하지 않을 수 있다. 만약, 잔여 데이터 부호화기(340)에서 변환 및 양자화를 모두 수행하지 않거나 잔여 데이터 부호화기(340)가 영상 부호화 장치(300)에 구성되지 않고 생략된 경우, 잔여 데이터 복호화기(370)도 역 변환 및 역 양자화를 모두 수행하지 않거나 영상 부호화 장치(300)에 구성되지 않고 생략될 수 있다.
가산기(380)는 움직임 보상기(320)에 의해 움직임 보상되어 출력되는 예측 블록과 잔여 데이터 복호화기(370)에 의해 복원된 잔여 블록을 가산하여 현재 블록을 복원한다. 참조 픽처 메모리(390)는 가산기(380)로부터 출력되는 복원된 현재 블록을 픽처 단위로 참조 픽처로서 저장하여 움직임 벡터 부호화기(310) 또는 움직임 벡터 보상기(320)가 현재 블록의 다음 블록이나 향후 다른 블록을 부호화하기 위해 움직임을 추정 또는 보상할 때 참조 픽처로서 사용할 수 있도록 한다.
제어기(392)는 영상에서 현재 부호화하고자 하는 현재 블록에 선택될 수 있는 블록 모드들에 대해 소정의 최적 기준(예를 들어, 율-왜곡 최적화 기준)을 적용하여 현재 블록에 대한 블록 모드(예를 들어, 최소의 율-왜곡 비용을 갖는 블록 모드)를 결정한다. 영상 부호화 장치(300)에 블록 모드가 기 설정되어 있다면, 제어기(392)는 반드시 영상 부호화 장치(300)에 포함되지 않고 선택적으로 생략될 수 있지만, 생략되지 않고 영상 부호화 장치(300) 내의 각 구성 요소의 전반적인 동장을 제어하는 역할을 수행할 수 있다.
도 3에서는 도시하지 않았지만, 전술한 본 발명의 일 실시예에 따른 영상 부호화 장치(300)는 인트라 예측(Intra Prediction)을 위한 인트라 예측부, 복원된 현재 블록을 디블로킹 필터링(Deblocking Filtering)하는 디블록킹 필터부 등을 추가로 포함할 수 있다. 또한, 잔여 데이터 부호화기(340) 및 잔여 데이터 복호화기(370)는 특정 픽처(예를 들어, 인트라 픽처)에 대한 변환 및 양자화(또는 역 변환 및 역 양자화) 연산을 추가로 수행할 수도 있다. 여기서, 디블로킹 필터링이란 영상을 블록 단위로 부호화하면서 발생하는 블록 왜곡을 감소시키는 작업을 말하며, 블록 경계와 매크로블록 경계에 디블로킹 필터를 적용하거나 매크로블록 경계에만 디블로킹 필터를 적용하거나 디블로킹 필터를 사용하지 않는 방법 중 하나를 선택적으로 사용할 수 있다.
이하에서는, 도 4를 참조하여 전술한 움직임 벡터 부호화기(310)를 더욱 상세하게 설명한다.
도 4는 본 발명의 일 실시예에 따른 움직임 벡터 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 움직임 벡터 부호화 장치는 도 3을 통해 전술한 본 발명의 일 실시예에 따른 영상 부호화 장치(300)에서는 움직임 벡터 부호화기(310)로 구현될 수 있으므로, 이하에서는 설명의 편의를 위해, 움직임 벡터 부호화기(310)라 칭한다.
본 발명의 일 실시예에 따른 움직임 벡터 부호화기(310)는 예측 움직임 벡터 후보 선택기(Predicted Motion Vector Candidate Selector, 410), 움직임 추정기(Motion Estimator, 420), 움직임 정보 부호화기(Motion Information Encoder, 430)를 포함하여 구성될 수 있다.
예측 움직임 벡터 후보 선택기(410)는 블록에 대한 하나 이상의 예측 움직임 벡터 후보를 포함하는 예측 움직임 벡터 후보 집합을 선택한다. 즉, 예측 움직임 벡터 후보 선택기(410)는 움직임 벡터 부호화기(310)와 움직임 벡터 복호화기 또는 영상 부호화 장치(300)와 영상 복호화 장치가 미리 약속한 소정의 방법에 따라 현재 움직임 벡터의 예측 움직임 벡터로 사용 가능한 서로 다른 N 개의 예측 움직임 벡터 후보(Predicted Motion Vector Candidate)을 포함하는 예측 움직임 벡터 후보 집합(CS: Candidate Set)을 선택한다. 예측 움직임 벡터 후보 집합 CS의 일 예는 도 1에 도시된 바와 같이, 현재 블록의 주변 블록인 A, B, C 블록이 가지는 움직임 벡터들로 이루어 질 수 있다. 이 경우,
Figure 112016104400291-pat00033
이 된다.
하지만, 더욱 일반적으로 예측 움직임 벡터 후보 집합 CS는 구현 방법이나 필요에 따라 더욱 다양한 움직임 벡터들이 예측 움직임 벡터 후보로 선택되어 구성될 수 있다. 예를 들어, 참조 픽처에서 현재 블록과 동일한 위치를 가지는 블록의 움직임 벡터나 공간축 상으로 좌측 상단에 위치한 블록의 움직임 벡터도 예측 움직임 벡터 후보로 이용될 수 있다. 또한, 이러한 움직임 벡터들을 이용하여 산출되는 다른 움직임 벡터(예를 들어, 다수의 움직임 벡터의 평균값이나 중간값 등)도 포함될 수 있다. 마지막으로, 주변 블록인 A, B, C 블록이 가지는 움직임 벡터들의 중간값 또는 사용 가능한 예측 움직임 벡터 후보가 존재하지 않는 경우에는 임의의 값(예를 들어, (0,0) 등)을 예측 움직임 벡터 후보로 사용할 수도 있다. 즉, CS는 그 정의를 움직임 벡터 부호화기(310)와 움직임 벡터 복호화기 또는 영상 부호화 장치(300)와 영상 복호화 장치가 미리 약속하고 있다는 전제 하에 다양한 방법으로 정의될 수 있다.
움직임 추정기(420)는 예측 움직임 벡터 후보 집합의 예측 움직임 벡터 후보들에 대한 탐색 범위를 결정하고, 탐색 범위 내의 각 탐색점에 대해 영상 복호화 장치와 미리 약속된 제 1 결정 기준에 따라 하나 이상의 예측 움직임 벡터 후보 중에서 하나의 예측 움직임 벡터 후보를 탐색점별 예측 움직임 벡터로서 선택하며, 탐색점별 예측 움직임 벡터 중에서 영상 복호화 장치와 미리 약속되지 않은 제 2 결정 기준에 따라 하나의 예측 움직임 벡터를 선택하여 예측 움직임 벡터, 차분 움직임 벡터 및 현재 움직임 벡터를 결정한다. 즉, 움직임 추정기(420)는 예측 움직임 벡터 후보 선택기(410)에서 정의된 예측 움직임 벡터 후보 집합 CS에 포함된 서로 다른 N 개의 예측 움직임 벡터 후보들에 대한 탐색 범위를 결정하고, 본 발명의 일 실시예에 따른 소정의 움직임 추정 과정에 따라 예측 움직임 벡터와 차분 움직임 벡터 및 그에 따른 현재 움직임 벡터를 결정한다.
본 발명의 실시예에서, 예측 움직임 벡터 후보 집합의 예측 움직임 벡터 후보들이라고 기재했다고 해서, 예측 움직임 벡터 후보 집합이 반드시 두 개 이상의 예측 움직임 벡터 후보들을 포함해야 하는 것은 아니며, 하나의 예측 움직임 벡터 후보만을 포함할 수도 있다. 이 경우, 하나의 예측 움직임 벡터 후보에 대한 탐색 범위가 결정될 수도 있다. 즉, 움직임 추정기(420)는 하나 이상의 예측 움직임 벡터 후보에 대한 탐색 범위를 결정할 수 있다.
움직임 정보 부호화기(430)는 차분 움직임 벡터를 움직임 정보로서 생성하고 부호화한다. 즉, 움직임 정보 부호화기(430)는 움직임 추정기(420)에 의해 결정되 는 현재 움직임 벡터에 대한 움직임 정보(즉, 현재 움직임 벡터와 예측 움직임 벡터 간의 차이인 차분 움직임 벡터)를 엔트로피 부호화 등의 미리 정의된 소정의 방법에 의해 부호화한다.
이하에서는, 도 5를 참조하여 전술한 움직임 추정기(420)를 더욱 상세하게 설명한다.
도 5는 본 발명의 일 실시예에 따른 움직임 추정기를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 움직임 추정기(420)는 탐색 범위 결정기(Search Range Determiner, 510), 예측 움직임 벡터 결정기(Predicted Motion Vector Determiner, 520) 및 움직임 정보 결정기(Motion Information Determiner, 530)를 포함하여 구성될 수 있다.
탐색 범위 결정기(510)는 예측 움직임 벡터 후보 선택기(410)에서 정의된 예측 움직임 벡터 후보 집합 CS에 포함된 서로 다른 N 개의 예측 움직임 벡터 후보들에 대한 탐색 범위를 결정한다. 이러한 탐색 범위는 기 설정된 범위로 결정될 수 있는데, 각 예측 움직임 벡터 후보들에 대해 동일하게 결정될 수 있지만, 예측 움직임 벡터 후보 각각에 대해 다르게 결정될 수 있다. 예를 들어, 예측 움직임 벡터 후보들이 3 개이고 탐색 범위가 중심점으로부터 ±1 화소 단위로 확장한 범위(이하 '±1 화소'라 칭함)로 설정된 경우, 3 개의 예측 움직임 벡터 후보들에 대한 탐색 범위는 ±1 화소의 범위로 동일하게 결정될 수도 있지만, 2 개의 예측 움직임 벡터 후보에 대해서는 ±1 화소의 범위로 결정되고 나머지 하나의 예측 움직임 벡터 후보에 대해서는 ±3 화소의 범위로 결정될 수도 있다. 이하에서는 각 예측 움직임 벡터 후보들에 대해 결정되는 탐색 범위를 개별 탐색 범위라 칭한다.
이하에서는 도 6을 통해 본 발명의 일 실시예에 따른 탐색 범위와 그에 따라 결정되는 개별 탐색 범위에 대해 설명한다.
6A는 탐색 범위가 각 예측 움직임 벡터 후보에 적용되어 개별 탐색 범위가 동일하게 결정된 모습을 나타낸 것이고, 6B는 개별 탐색 범위가 다르게 결정된 모습을 나타낸 것이다. 도 6에서는 예측 움직임 벡터 후보 선택기(410)에서 정의된 예측 움직임 벡터 후보 집합 CS가 도 1에서 예시한 현재 블록의 주변 블록인 A, B, C 블록의 움직임 벡터들로 이루어진
Figure 112016104400291-pat00034
인 것으로 가정하고, 탐색 범위가 ±1 화소의 범위인 것으로 가정하였다.
±1 화소의 범위의 탐색 범위
Figure 112016104400291-pat00035
의 탐색점 i는 (-1,1) (0,1), (1,1), (-1,0), (0,0), (1,0), (-1,-1), (0,-1), (1.-1)의 9 개의 탐색점을 가지지만, 도 6에서는 설명의 편의를 위해 탐색 범위의 중심점인 (0,0)의 탐색점만을 나타내었다. 이와 같은 탐색 범위를 각 예측 움직임 벡터 후보에 동일하게 적용하면 6A에 나타낸 바와 같이 개별 탐색 범위
Figure 112016104400291-pat00036
,
Figure 112016104400291-pat00037
,
Figure 112016104400291-pat00038
가 결정된다. 개별 탐색 범위
Figure 112016104400291-pat00039
,
Figure 112016104400291-pat00040
,
Figure 112016104400291-pat00041
는 각 예측 움직임 벡터 후보에 동일한 탐색 범위가 적용되었으므로, 동일한 크기의 탐색 범위를 가진다.
하지만, 이와 같은 탐색 영역을 각 예측 움직임 벡터 후보에 다르게 적용하면 6B에 나타낸 바와 같이 개별 탐색 범위
Figure 112016104400291-pat00042
,
Figure 112016104400291-pat00043
,
Figure 112016104400291-pat00044
가 결정될 수 있다. 6B의 개별 탐색 범위
Figure 112016104400291-pat00045
은 탐색 범위보다 작게 결정되었고,
Figure 112016104400291-pat00046
은 탐색 범위보다 크게 결정되었으며,
Figure 112016104400291-pat00047
는 탐색 범위와 동일한 크기로 결정되었다. 이와 같이 각 예측 움직임 벡터 후보에 대해 탐색 범위를 다르게 적용하면, 최종적인 탐색 범위는 가장 큰 개별 탐색 범위로 결정될 수 있다. 6B에서는 가장 큰 개별 탐색 범위인
Figure 112016104400291-pat00048
와 동일한 크기로 탐색 범위로 결정되었다.
이와 같이, 각 예측 움직임 벡터 후보에 대해 탐색 범위가 다르게 결정되는 경우는 예를 들면, 예측 움직임 벡터 후보들 중 일부의 예측 움직임 벡터 후보가 다른 예측 움직임 벡터 후보들과 유사도가 매우 낮은 경우일 수 있다. 즉, 일부의 예측 움직임 벡터 후보가 다른 예측 움직임 벡터 후보들과 유사도가 매우 낮은 경우에는 현재 움직임 벡터와도 유사도가 역시 매우 낮을 가능성이 높다고 판단할 수 있으므로, 이 경우에는 해당 예측 움직임 벡터 후보에 대해 탐색 범위를 다르게(예를 들어, 크게 또는 작게) 적용할 수 있다.
이뿐만 아니라, 예측 움직임 벡터 후보 선택기(410)의 결과에 따라 개별 탐색 범위의 개수도 다르게 정의될 수 있다. 예를 들어, 예측 움직임 벡터 후보 선택기(410)에서 정의된 예측 움직임 벡터 후보 집합이 주변 블록 A, B, C 블록이 가지는 움직임 벡터들의 중간값 하나만을 포함하고 있다면, 움직임 추정기(420)는 1 개의 예측 움직임 벡터 후보를 기준으로 1 개의 개별 탐색 범위를 결정할 수도 있다. 즉, 예측 움직임 벡터 후보들에 대한 개별 탐색 범위의 개수 및 크기는 다양한 방법으로 정의될 수 있다.
한편, 탐색 범위가 각 예측 움직임 벡터 후보에 적용되어 개별 탐색 범위가 결정되면 탐색 범위의 각 탐색점 i는 각 예측 움직임 벡터 후보의 위치를 중심으로 결정되는 각각의 개별 탐색 범위 내에서의 위치를 가리키므로, 탐색 범위의 각 탐색점 i는 각 예측 움직임 벡터 후보를 기준으로 하는 차분 움직임 벡터 후보와 동일하다.
예측 움직임 벡터 결정기(520)는, 탐색 범위 결정기(510)에서 결정된 탐색 범위의 각 탐색점에 대해 서로 다른 N 개의 예측 움직임 벡터 후보 중 소정의 제 1 결정 기준에 따라 움직임 벡터 복호화기 또는 영상 복호화 장치가 스스로 판단할 수 있는 하나의 예측 움직임 벡터 후보를 탐색점별 예측 움직임 벡터로서 선택한다. 이 경우, 탐색 범위 내의 각 탐색점은 차분 움직임 벡터가 된다. 즉, 탐색 범위 내의 하나의 탐색점은 N 개의 예측 움직임 벡터 후보에 대해 동일한 차분 움직임 벡터를 의미하므로, 탐색 범위 내에서 탐색점을 변화시키면 각 개별 탐색 범위 내에서 찾을 수 있는 움직임 벡터에 대한 차분 움직임 벡터를 변화시키는 것과 동일하다. 따라서, 탐색 범위 내의 각 탐색점에 대해 예측 움직임 벡터 결정 과정을 수행한다. 여기서, 소정의 제 1 결정 기준
Figure 112016104400291-pat00049
으로서는 도 7에 도시한 바와 같은 인접 화소 정합(TM: Template Matching) 방법이 이용되는 것이 바람직하며, 인접 화소 정합 방법은 도 7에 도시된 바와 같이, 수학식 3에 의해 계산될 수 있다.
Figure 112016104400291-pat00050
수학식 3에서,
Figure 112016104400291-pat00051
는 탐색 범위 내의 탐색점들을 지정하는 인덱스이고,
Figure 112016104400291-pat00052
은 예측 움직임 벡터 후보를 나타낸다. 즉, 임의의 탐색점 i에 대해, CS에 포함되는 N 개의 예측 움직임 벡터 후보
Figure 112016104400291-pat00053
중에서 소정의 제 1 결정 기준
Figure 112016104400291-pat00054
를 최소화하는 하나의 예측 움직임 벡터인 탐색점별 예측 움직임 벡터
Figure 112016104400291-pat00055
를 선택하고, 이러한 과정을 모든 탐색점(또는 모든 차분 움직임 벡터)에 대해 반복적으로 수행하는 것이다. 여기서,
Figure 112016104400291-pat00056
는 탐색점 i에 대해 제 1 결정 기준
Figure 112016104400291-pat00057
을 최소화하는 예측 움직임 벡터를 나타낸다.
이 경우, 인접 화소 정합 방법에 따르면, 인접 화소 정합을 위해 사용하는 화소의 위치를 지정하는 인덱스 m으로 상대적 위치가 정의되는 화소값의 모임인
Figure 112016104400291-pat00058
(Template Matching Set)에 포함되는 인접 블록의 유한한 개수의 화소값에 대해, 동일한 위치의 탐색점에 있는 각각의 서로 다른 N 개의 예측 움직임 벡터 후보들에 대한 참조 픽처의 해당 화소값
Figure 112016104400291-pat00059
과 현재 픽처의 해당 화소값
Figure 112016104400291-pat00060
의 차이의 소정 함수값을 예측 오류값으로 산출한다. 현재 픽처의 해당 화소값
Figure 112016104400291-pat00061
는 이미 부호화 및 복호화 과정을 완료한 복원 영상이므로 움직임 벡터 부호화기(310)와 움직임 벡터 복호화기 또는 영상 부호화 장치(300)와 영상 복호화 장치에서 모두 알 수 있는 정보이다.
수학식 3에서는 예측 오류를 계산하기 위한 소정의 함수로서 차이의 제곱합(SSD: Sum of Squared Difference)을 이용하였으나, 본 발명의 일 실시예를 적용할 응용 및 목적에 따라 차이의 절대합(SAD: Sum of Absolute Difference) 등의 다른 함수도 이용될 수 있다. 또한, 소정의 제 1 결정 기준은 도 3에 도시한 인접 화소 정합 방법뿐만 아니라, 움직임 벡터 부호화기(310) 또는 영상 부호화 장치(300)에서 결정한 예측 움직임 벡터를 움직임 벡터 복호화기 또는 영상 복호화 장치에서도 기 복원된 소정의 데이터(예를 들어, 참조 픽처와 현재 픽처에서 현재 블록에 대응되는 기 복원된 주변 화소값)를 이용하여 스스로 예측 움직임 벡터로 선택할 수 있는 소정의 기준이라면 어떠한 기준이라도 가능하다. 즉, 움직임 벡터 부호화기(310)와 움직임 벡터 복호화기 또는 영상 부호화 장치(300)와 영상 복호화 장치가 사전에 공유하고 있다는 전제 하에서, 본 발명의 일 실시예를 적용할 응용 및 목적에 따라 경계 화소 정합(BM: Boundary Matching) 방법 등의 다양한 방법으로 제 1 결정 기준이 정의될 수 있다.
움직임 정보 결정기(530)는 예측 움직임 벡터 결정기(520)에서 결정된 탐색범위 내의 모든 예측 움직임 벡터 중에서 소정의 제 2 결정 기준에 따라 차분 움직임 벡터를 결정한다. 여기서, 제 2 결정 기준은 수학식 4와 같은 율-왜곡 최적화인 것이 바람직하지만 이외의 다른 방법일 수도 있다.
Figure 112016104400291-pat00062
수학식 4는 수학식 3을 이용하여 최종적으로 수학식 5와 같이 표현될 수 있다.
Figure 112016104400291-pat00063
수학식 4에서,
Figure 112016104400291-pat00064
는 탐색 범위 결정기(510)에 의해 결정된 탐색 범위
Figure 112016104400291-pat00065
내에서 예측 움직임 벡터 결정기(520)에 의해 결정된 움직임 벡터 복호화 장치 또는 영상 복호화 장치에서 스스로 판단이 가능한 탐색점별 예측 움직임 벡터이다. 따라서, 최종적으로 결정되는
Figure 112016104400291-pat00066
는 움직임 벡터 복호화기 또는 영상 복호화 장치에서 스스로 판단이 가능한 예측 움직임 벡터를 이용하는 차분 움직임 벡터 중에서 소정의 제 2 결정 기준
Figure 112016104400291-pat00067
을 최소로 만드는 차분 움직임 벡터를 의미하며, 이러한 과정을 통해 결정된 예측 움직임 벡터 및 차분 움직임 벡터가 최종적으로 수학식 6에 대입되어 현재 움직임 벡터
Figure 112016104400291-pat00068
가 계산된다.
Figure 112016104400291-pat00069
수학식 6에 의해 계산되는 현재 움직임 벡터는 본 발명의 일 실시예를 적용할 응용 및 목적에 따라 다양한 방법으로 정의될 수 있다.
전술한 바와 같이, 소정의 제 2 결정기준
Figure 112016104400291-pat00070
는 율-왜곡 최적화 함수
Figure 112016104400291-pat00071
인 것이 바람직하지만, 본 발명의 일 실시예를 적용할 응용 및 목적에 따라 다양한 방법으로 정의될 수 있다. 예를 들어, 움직임 벡터 부호화기(310) 또는 영상 부호화 장치(300)의 복잡도를 감소시키기 위해 율 함수
Figure 112016104400291-pat00072
가 생략된 율-왜곡 최적화 함수가 이용되거나, 율 함수
Figure 112016104400291-pat00073
에 사용되는
Figure 112016104400291-pat00074
를 예측 움직임 벡터 결정기(520)에 의해 얻어지는 예측 움직임 벡터가 아닌, 중간값과 같이 소정의 정해진 디폴트 값을 이용한 율-왜곡 최적화 함수가 이용될 수도 있다.
도 8은 본 발명의 일 실시예에 따른 움직임 벡터 부호화 방법을 설명하기 위한 순서도이다.
본 발명의 일 실시예에 따른 움직임 벡터 부호화 방법에 따르면, 움직임 벡터 부호화기(310)는 블록에 대한 하나 이상의 예측 움직임 벡터 후보를 포함하는 예측 움직임 벡터 후보 집합을 선택하고, 예측 움직임 벡터 후보 집합의 예측 움직임 벡터 후보들에 대한 탐색 범위를 결정하며, 탐색 범위 내의 각 탐색점에 대해 영상 복호화 장치와 미리 약속된 제 1 결정 기준에 따라 하나 이상의 예측 움직임 벡터 후보 중에서 하나의 예측 움직임 벡터 후보를 탐색점별 예측 움직임 벡터로서 선택하며, 탐색점별 예측 움직임 벡터 중에서 영상 복호화 장치와 미리 약속되지 않은 제 2 결정 기준에 따라 하나의 예측 움직임 벡터를 선택하여 예측 움직임 벡터, 차분 움직임 벡터 및 현재 움직임 벡터를 결정하며, 차분 움직임 벡터를 움직임 정보로서 생성하고 부호화한다.
도 8을 참조하여 본 발명의 일 실시예에 따른 움직임 벡터 부호화 방법을 구체적으로 설명하면, 영상 부호화 장치(300)의 움직임 벡터 부호화기(310)가 영상 복호화 장치 또는 움직임 벡터 복호화기와 미리 약속된 소정의 방법에 따라 현재 움직임 벡터의 예측 움직임 벡터로 사용 가능한 서로 다른 N 개의 예측 움직임 벡터 후보를 포함하는 예측 움직임 벡터 후보 집합 CS를 선정하고(S810), 예측 움직임 벡터 후보 집합 CS에 포함된 서로 다른 N 개의 예측 움직임 벡터 후보들에 대한 탐색 범위를 결정하며(S820), 결정된 탐색 범위 내의 각 탐색점에 대해 서로 다른 N 개의 예측 움직임 벡터 후보 중 소정의 제 1 결정 기준에 따라 영상 복호화 장치 또는 움직임 벡터 복호화기가 스스로 판단할 수 있는 하나의 예측 움직임 벡터 후보를 선택하여 탐색점별 예측 움직임 벡터로서 결정하며(S830), 탐색점별 예측 움직임 벡터를 사용하는 차분 움직임 벡터 중에서 소정의 제 2 결정 기준에 따라 하나의 움직임 벡터를 현재 움직임 벡터에 대한 차분 움직임 벡터로서 결정하며(S840), 결정된 차분 움직임 벡터를 움직임 정보로서 부호화한다(S850).
단계 S810에서, 움직임 벡터 부호화기(310)는 도 4를 통해 전술한 예측 움직임 벡터 후보 선택기(410)에서 예측 움직임 벡터 후보 집합을 선택하는 과정과 동일한 과정을 수행하여 현재 움직임 벡터의 예측 움직임 벡터로 사용 가능한 서로 다른 N 개의 예측 움직임 벡터 후보를 포함하는 예측 움직임 벡터 후보 집합을 선택할 수 있다.
단계 S820에서, 움직임 벡터 부호화기(310)는 도 5를 통해 전술한 탐색 범위 결정기(510)에서 탐색 범위를 결정하는 과정과 동일한 과정을 수행하여 예측 움직임 벡터 후보 집합 CS에 포함된 각각의 서로 다른 N 개의 예측 움직임 벡터 후보들에 대한 탐색 범위를 결정한다.
단계 S830에서, 움직임 벡터 부호화기(310)는 도 5를 통해 전술한 예측 움직임 벡터 결정기(520)가 예측 움직임 벡터를 결정하는 과정과 동일한 과정을 수행하여 서로 다른 N 개의 예측 움직임 벡터 후보들에 대한 탐색 범위 내에서 차분 움직임 벡터로 지정되는 탐색점별로 N 개의 예측 움직임 벡터 후보 중에서 소정의 제 1 결정 기준에 따라 움직임 벡터 복호화기 또는 영상 복호화 장치가 스스로 판단할 수 있는 하나의 예측 움직임 벡터를 탐색점별 예측 움직임 벡터로서 결정한다.
단계 S840에서, 움직임 벡터 부호화기(310)는 도 5를 통해 전술한 움직임 정보 결정기(530)에서 현재 움직임 벡터와 그에 대한 차분 움직임 벡터를 결정하는 과정과 동일한 과정을 수행하여 탐색 범위 결정기(510)에 의해 결정된 탐색 범위 내의 탐색점별 예측 움직임 벡터 중에서 소정의 제 2 결정 기준에 따라 하나의 움직임 벡터를 선택하여 차분 움직임 벡터로서 결정하고 그에 따른 현재 움직임 벡터를 결정한다.
단계 S850에서, 움직임 벡터 부호화기(310)는 도 4를 통해 전술한 움직임 정보 부호화기(430)에서 움직임 정보를 부호화하는 과정과 동일한 과정을 수행하여 움직임 추정기(420)에서 결정된 움직임 정보(예를 들어, 차분 움직임 벡터)를 부호화한다.
한편, 도 8은 본 발명의 일 실시예에 따른 움직임 벡터 부호화 방법을 설명한 것으로서, 본 발명의 본질적인 특성을 벗어나지 않는 범위 내에서 다양하게 변형되어 구현될 수 있다. 예를 들어, 도 8에서 도시하고 전술한 각 단계는 반드시 수행되어야 하는 것은 아니며, 필요에 따라 일부 또는 전부의 단계가 선택적으로 생략되거나 다른 단계로 대체될 수 있으며, 일부 또는 전부의 단계의 순서도 선택적 변경될 수 있을 뿐만 아니라 심지어는 병행적으로 수행될 수도 있다.
도 9는 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 영상 복호화 장치(900)는 정보 추출기(Information Extractor, 910), 엔트로피 복호화기(Entropy Decoder, 920), 잔여 데이터 복호화기(Residual Data Decoder, 930), 움직임 벡터 복호화기(Motion Vector Decoder, 940), 움직임 보상기(Motion Compensator, 950), 가산기(Adder, 960) 및 참조 픽처 메모리(Reference Picture Memory, 970)를 포함하여 구성될 수 있다.
정보 추출기(910)는 부호화 데이터로부터 부호화된 움직임 정보 및 부호화된 잔여 데이터를 추출한다. 이를 위해, 정보 추출기(910)는 부호화 데이터를 입력받아 블록 모드에 대한 정보(예를 들면, 식별자)를 추출하고 추출된 블록 모드에 대한 정보를 출력한다. 또한, 정보 추출기(910)는 블록 모드가 움직임 벡터 생략 모드인 경우(예를 들면, 블록 모드가 인트라 16x16 모드, 인트라 4x4 모드 등인 경우), 부호화 데이터로부터 움직임 정보를 추출하지 않고 부호화된 잔여 데이터를 추출하여 출력할 수 있다. 반면, 블록 모드가 움직임 벡터 생략 모드가 아닌 경우(예를 들면, 블록 모드가 인터 16x16 모드, 인터 4x4 모드, P8x8 모드 등인 경우), 정보 추출기(910)는 부호화 데이터로부터 부호화된 움직임 정보와 부호화된 잔여 데이터를 추출하여 출력한다. 이때, 정보 추출기(910)는 부호화 데이터로부터 참조 픽처에 대한 인덱스 정보를 추가로 추출하여 출력할 수 있다. 이러한 정보 추출기(910)는 통상적으로 역 다중화기(Demultiplex)로 구현될 수 있지만, 구현 방식 또는 필요에 따라 엔트로피 복호화 기능을 추가로 구비할 수 있다. 따라서, 정보 추출기(910)가 엔트로피 복호화 기능을 추가로 구비한 경우에는 도 9에서 엔트로피 복호화기(920)는 생략될 수 있다.
엔트로피 복호화기(920)는 정보 추출기(910)로부터 출력되는 부호화된 잔여 데이터를 복호화한다. 즉, 엔트로피 복호화기(920)는 엔트로피 부호화 기법 등을 이용하여 부호화된 잔여 데이터의 이진 데이터를 복호화하여 양자화된 변환 계수열을 생성하고 역 지그재그 스캔 등 다양한 스캔 방식에 의해 역 스캔하여 양자화 변환 계수를 가지는 잔여 블록을 생성한다. 만약, 부호화된 잔여 데이터의 이진 데이터가 변환 계수가 부호화된 이진 데이터라면, 엔트로피 복호화기(920)에 의해 복호화된 잔여 블록은 변환 계수를 갖는 잔여 블록이 될 것이고, 부호화된 잔여 데이터의 이진 데이터가 변환되지 않고 양자화되지 않은 잔차 신호가 부호화된 이진 데이터라면, 엔트로피 복호화부(920)에 의해 복호화된 잔여 블록은 잔여 신호를 갖는 잔여 블록이 될 것이다.
잔여 데이터 복호화기(930)는 엔트로피 복호화기(920)에 의해 복호화된 잔여 블록을 역 양자화하고 역 변환하여 잔여 블록을 복원한다. 즉, 잔여 데이터 복호화기(930)는 엔트로피 복호화기(920)로부터 출력되는 복호화된 잔여 블록의 양자화 변환 계수를 역 양자화하고 역 양자화된 변환 계수를 역 변환하여 잔여 신호를 갖는 잔여 블록을 복원한다. 만약, 잔여 데이터 복호화기(930)는 엔트로피 복호화기(920)에 의해 복호화된 잔여 블록이 양자화된 변환 계수를 가진다면, 역 양자화와 역 변환을 모두 수행하지만, 엔트로피 복호화기(920)에 의해 복호화된 잔여 블록이 변환 계수를 갖는다면, 역 양자화는 수행하지 않고 역 변환만을 수행할 수 있으며, 엔트로피 복호화기(920)에 의해 복호화된 잔여 블록이 잔여 신호만을 가진다면, 역 양자화와 역 변환을 모두 수행하지 않거나, 영상 복호화 장치(900)에서 잔여 데이터 복호화기(930)는 구성되지 않고 생략될 수도 있을 것이다. 한편, 도 9에서는 엔트로피 복호화기(920)와 잔여 데이터 복호화기(930)가 독립적으로 구성되는 것으로 도시하고 설명했지만, 각 기능을 통합한 하나의 복호화기(미도시)로 구성될 수도 있을 것이다. 따라서, 하나의 복호화기로 구성되는 경우, 복호화기는 부호화된 잔여 데이터를 복호화하여 잔여 블록을 복원한다.
움직임 벡터 복호화기(940)는 부호화된 움직임 정보를 복호화하여 차분 움직임 벡터를 복원하고, 영상 부호화 장치(300)와 미리 약속된 제 1 결정 기준에 따라 하나 이상의 예측 움직임 벡터 후보 중에서 하나의 예측 움직임 벡터 후보를 예측 움직임 벡터로서 선택하며, 복원되는 차분 움직임 벡터 및 선택되는 예측 움직임 벡터를 이용하여 현재 움직임 벡터를 복원한다. 이를 위해, 움직임 벡터 복호화기(940)는 참조 픽처 메모리(970)에 저장된 참조 픽처에서 정보 추출기(910)로부터 출력되는 블록 모드에 대한 정보에 따른 블록 모드에 대응하는 블록 단위로 소정의 제 1 결정 기준에 따라 예측 움직임 벡터를 결정하고, 정보 추출기(910)로부터 출력되는 부호화된 움직임 정보(예를 들어, 부호화된 차분 움직임 벡터)를 복호화하여 움직임 정보를 복원하며, 복원된 움직임 정보와 결정된 예측 움직임 벡터를 이용하여 현재 블록의 움직임 벡터인 현재 움직임 벡터를 복원한다.
움직임 보상기(950)는 복원되는 현재 움직임 벡터를 이용하여 현재 블록을 움직임 보상하여 예측 블록을 생성한다. 즉, 움직임 보상기(950)는 참조 픽처 메모리(970)에 저장된 참조 픽처에서 복원된 현재 움직임 벡터 즉, 현재 블록의 움직임 벡터에 의해 지시되는 참조 블록을 현재 블록의 예측 블록으로서 예측하여 예측 블록을 생성한다. 여기서, 움직임 보상기(950)는 참조 픽처를 이용하는 데 있어서, 정보 추출기(910)로부터 참조 픽처에 대한 인덱스 정보가 출력되면, 참조 픽처 메모리(970)에 저장된 많은 참조 픽처 중에서 참조 픽처에 대한 인덱스 정보에 의해 식별되는 참조 픽처를 이용할 수 있다.
가산기(960)는 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원한다. 즉, 가산기(960)는 복호화기 또는 잔여 데이터 복호화기(930)로부터 출력되는 복원된 잔여 블록을 움직임 보상기(950)에서 예측되어 출력되는 예측 블록과 가산하여 현재 블록을 복원한다. 이와 같이 복원된 현재 블록은 픽처 단위로 누적되어 복원 영상으로서 출력되거나 참조 픽처로서 참조 픽처 메모리(970)에 저장되며, 다음 블록을 예측하는 데 활용될 수 있다.
도 9에서는 도시하지 않았지만, 전술한 본 발명의 일 실시예에 따른 영상 복호화 장치(900)는 인트라 예측을 위한 인트라 예측기, 복원된 현재 블록을 디블로킹 필터링하는 디블록킹 필터기 등을 추가로 포함할 수 있다. 또한, 잔여 데이터 복호화기(930)는 특정 픽처(예를 들어, 인트라 픽처)에 대한 역 변환 및 역 양자화 연산을 추가로 수행할 수도 있다.
제어기(980)는 정보 추출기(910)에 의해 추출되는 블록 모드에 대한 정보와 참조 픽처에 대한 인덱스 정보와 같은 복호화 과정에서 필요한 각종 정보를 추출하여 움직임 벡터 복호화기(940) 및 움직임 보상기(950)로 전달하고, 영상 복호화 장치(900)의 모든 구성 요소에 대한 전반적인 제어를 수행한다.
이하에서는, 도 10를 참조하여 전술한 움직임 벡터 복호화기(940)를 더욱 상세하게 설명한다.
도 10은 본 발명의 일 실시예에 따른 움직임 벡터 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 움직임 벡터 복호화 장치는 도 9를 통해 전술한 본 발명의 일 실시예에 따른 영상 복호화 장치(900)에서는 움직임 벡터 복호화기(940)로 구현될 수 있으므로, 이하에서는 설명의 편의를 위해, 움직임 벡터 복호화기(940)라 칭한다.
본 발명의 일 실시예에 따른 움직임 벡터 복호화기(940)는 움직임 벡터 결정기(1010), 움직임 정보 복호화기(1020) 및 움직임 벡터 복원기(1030)를 포함하여 구성될 수 있다.
움직임 벡터 결정기(1010)는 블록에 대한 하나 이상의 예측 움직임 벡터 후보를 포함하는 예측 움직임 벡터 후보 집합을 선택하고, 영상 부호화 장치(300)와 미리 약속된 제 1 결정 기준에 따라 예측 움직임 벡터 후보 집합의 하나 이상의 예측 움직임 벡터 후보 중에서 하나의 예측 움직임 벡터 후보를 예측 움직임 벡터로서 선택한다. 즉, 움직임 벡터 결정기(1010)는 참조 픽처 메모리(970)에 저장된 참조 픽처에서 정보 추출기(910)로부터 출력되는 블록 모드에 대한 정보에 따른 블록 모드에 대응하는 블록 단위로 소정의 제 1 결정 기준에 따라 예측 움직임 벡터를 결정한다.
여기서, 움직임 벡터 결정기(1010)는 예측 움직임 벡터 후보 집합의 예측 움직임 벡터 후보들에 대한 탐색 범위를 결정할 수 있으며, 탐색 범위 내의 복원되는 차분 움직임 벡터에 따른 탐색점에 대해 예측 움직임 벡터를 선택할 수 있다.
이러한 움직임 벡터 결정기(1010)는 도 11에 도시한 바와 같이, 예측 움직임 벡터 후보 선택기(1110), 탐색 범위 결정기(1120) 및 예측 움직임 벡터 결정기(1130)를 포함하여 구성될 수 있다. 여기서, 탐색 범위 결정기(1120)는 반드시 포함되어야 하는 것은 아니며, 구현 방식 또는 필요에 따라 선택적으로 생략될 수 있다.
도 11을 참조하면, 예측 움직임 벡터 후보 선택기(1110)는 도 3을 통해 전술한 영상 부호화 장치(300)의 움직임 벡터 부호화기(310)의 예측 움직임 벡터 후보 선택기(410)와 동일 또는 유사한 기능을 수행하여 영상 부호화 장치(300) 또는 움직임 벡터 부호화기(310)가 선택한 예측 움직임 벡터 후보 집합과 동일한 예측 움직임 벡터 후보 집합을 선택한다.
탐색 범위 결정기(1120)은 도 3 및 도 4를 통해 전술한 영상 부호화 장치(300)의 움직임 벡터 부호화기(310)의 움직임 추정기(420)의 탐색 범위 결정기(510)와 동일 또는 유사한 기능을 수행하여 영상 부호화 장치(300) 또는 움직임 벡터 부호화기(310)가 결정한 탐색 범위와 동일한 탐색 범위를 결정한다. 이때, 탐색 범위 결정기(1120)는 각 예측 움직임 벡터 후보에 대한 개별 탐색 범위의 크기와 모양이 모두 동일하다면 탐색 범위를 결정하지 않고 생략될 수 있으며, 각 예측 움직임 벡터 후보에 대한 개별 탐색 범위 중 하나 이상의 크기와 모양이 상이하다면 도 6을 통해 전술한 바와 같이 탐색 범위를 결정할 수 있다.
예측 움직임 벡터 결정기(1130)는 영상 부호화 장치(300)와 미리 약속된 소정의 제 1 결정 기준에 따라 하나 이상의 예측 움직임 벡터 후보 중 하나의 예측 움직임 벡터를 선택한다. 여기서, 소정의 제 1 결정 기준은 영상 부호화 장치(300)와 영상 복호화 장치(900) 또는 움직임 벡터 부호화기(310) 또는 움직임 벡터 복호화기(940)가 미리 약속하여 이용한다는 전제 하에서 다양하게 구현될 수 있다.
다시 도 10을 참조하면, 움직임 정보 복호화기(1020)는 부호화된 움직임 정보를 복호화하여 차분 움직임 벡터를 복원한다. 즉, 움직임 벡터 복호화기(1020)는 도 3 및 도 4를 통해 전술한 영상 부호화 장치(300)의 움직임 벡터 부호화기(430)에 의해 부호화된 움직임 정보(즉, 차분 움직임 벡터)를 엔트로피 복호화 등의 미리 정의된 소정의 방법에 의해 복호화한다.
움직임 벡터 복원기(1030)는 선택되는 하나의 예측 움직임 벡터 및 복원되는 차분 움직임 벡터를 이용하여 현재 움직임 벡터를 복원한다. 즉, 움직임 벡터 복원기(1030)는 움직임 벡터 결정기(1010)에 의해 결정된 예측 움직임 벡터와 움직임 정보 복호화기(1020)에 의해 복원된 움직임 정보(즉, 차분 움직임 벡터)를 이용하여 현재 블록의 움직임 벡터인 현재 움직임 벡터를 복원한다.
도 12는 본 발명의 일 실시예에 따른 움직임 벡터의 복호화 방법을 설명하기 위한 순서도이다.
본 발명의 일 실시예에 따른 움직임 벡터 복호화 방법에 따르면, 움직임 벡터 복호화기(940)는 부호화된 움직임 정보를 복호화하여 차분 움직임 벡터를 복원하고, 블록에 대한 하나 이상의 예측 움직임 벡터 후보를 포함하는 예측 움직임 벡터 후보 집합을 선택하며, 영상 부호화 장치(300)와 미리 약속된 제 1 결정 기준에 따라 하나 이상의 예측 움직임 벡터 후보 중에서 하나의 예측 움직임 벡터 후보를 예측 움직임 벡터로서 선택하며, 선택되는 하나의 예측 움직임 벡터 및 복원되는 차분 움직임 벡터를 이용하여 현재 움직임 벡터를 복원한다.
도 12를 참조하여 본 발명의 일 실시예에 따른 움직임 벡터 복호화 방법을 구체적으로 설명하면, 움직임 벡터 복호화기(940)가 영상 부호화 장치(300) 또는 움직임 벡터 부호화기(310)와 미리 약속된 소정의 방법에 따라 현재 움직임 벡터의 예측 움직임 벡터로 사용 가능한 서로 다른 N 개의 예측 움직임 벡터 후보를 포함하는 예측 움직임 벡터 후보 집합 CS를 선택하고(S1210), 예측 움직임 벡터 후보 집합 CS에 포함된 서로 다른 N 개의 예측 움직임 벡터 후보들에 대한 탐색 범위를 결정하며(S1220), 결정된 각각의 서로 다른 N 개의 예측 움직임 벡터 후보들에 대한 탐색 범위 내에서 차분 움직임 벡터로 지정되는 하나의 탐색점에 대해 소정의 제 1 결정 기준에 따라 스스로 판단할 수 있는 하나의 예측 움직임 벡터를 결정하며(S1230), 부호화된 움직임 정보(예를 들어, 차분 움직임 벡터)를 엔트로피 복호화 등의 미리 정의된 소정의 방법에 의해 복호화하여 움직임 정보를 복원하며(S1240), 단계 S1230에서 결정된 예측 움직임 벡터와 단계 S1240에서 복원된 움직임 정보(예를 들어, 차분 움직임 벡터)를 이용하여 현재 움직임 벡터를 복원한다(S1250).
단계 S1210에서, 움직임 벡터 복호화기(940)는 도 10 및 도 11을 통해 전술한 움직임 벡터 결정기(1010)의 예측 움직임 벡터 후보 선택기(1110)가 예측 움직임 벡터 후보 집합을 선택하는 과정과 동일한 과정을 수행하여 현재 움직임 벡터의 예측 움직임 벡터로 사용 가능한 서로 다른 N 개의 예측 움직임 벡터 후보를 포함하는 예측 움직임 벡터 후보 집합을 선택한다. 이와 같이 움직임 벡터 복호화기(940)가 선택한 예측 움직임 벡터 후보 집합은 영상 부호화 장치(300) 또는 움직임 벡터 부호화기(310)에서 선택한 예측 움직임 벡터 후보 집합과 동일할 수도 있지만, 반드시 동일할 필요는 없으며 동일하지 않을 수도 있다. 즉, 영상 복호화 장치(900) 또는 움직임 벡터 복호화기(940)와 영상 부호화 장치(300) 또는 움직임 벡터 부호화기(310)가 서로 미리 약속한 소정의 방법에 따라 현재 움직임 벡터의 예측 움직임 벡터로 사용 가능한 서로 다른 N 개의 예측 움직임 벡터 후보를 선택하면 될 뿐, 각각에서 선택한 예측 움직임 벡터 후보 집합이 반드시 동일해야 하는 것은 아니다.
단계 S1220에서, 움직임 벡터 복호화기(940)는 도 10 및 도 11을 통해 전술한 움직임 벡터 결정기(1010)의 탐색 범위 결정기(1120)가 탐색 범위를 결정하는 과정과 동일한 과정을 수행하여 예측 움직임 벡터 후보 집합 CS에 포함된 서로 다른 N 개의 예측 움직임 벡터 후보들에 대한 탐색 범위를 영상 부호화 장치(300) 또는 움직임 벡터 부호화기(310)에서 결정한 탐색 범위와 동일하도록 선택한다. 다만, 움직임 벡터 복호화기(940)는 단계 S1220를 반드시 수행되어야 하는 것은 아니다. 즉, 움직임 벡터 복호화기(940)는 서로 다른 N 개의 예측 움직임 벡터 후보들에 대한 탐색 범위를 결정하지 않을 수 있다.
단계 S1230에서, 움직임 벡터 복호화기(940)는 서로 다른 N 개의 예측 움직임 벡터 후보들에 대한 탐색 범위 내에서 복원되는 차분 움직임 벡터로 지정되는 하나의 탐색점에 대해 소정의 제 1 결정 기준에 따라 스스로 판단할 수 있는 하나의 예측 움직임 벡터를 영상 부호화 장치(300) 또는 움직임 벡터 부호화기(310)에서 결정한 예측 움직임 벡터와 동일하도록 선택한다. 여기서, 단계 S1220이 수행되지 않은 경우, 움직임 벡터 복호화기(940)는 탐색 범위 내에서 복원되는 차분 움직임 벡터로 지정되는 하나의 탐색점에 대해 예측 움직임 벡터를 선택하는 것이 아니라, 탐색점을 고려하지 않고 소정의 제 1 결정 기준에 따라 판단할 수 있는 하나의 예측 움직임 벡터를 영상 부호화 장치(300) 또는 움직임 벡터 부호화기(310)에서 결정한 예측 움직임 벡터와 동일하도록 선택한다.
단계 S1240에서, 움직임 벡터 복호화기(940)는 도 10을 통해 전술한 움직임 정보 복호화기(1020)가 움직임 정보를 복호화하는 과정과 동일한 과정을 수행하여 부호화된 움직임 정보(즉, 차분 움직임 벡터)를 엔트로피 복호화 등의 미리 정의된 소정의 방법에 의해 복호화한다.
단계 S1250에서, 움직임 벡터 복호화기(940)는 도 10을 통해 전술한 움직임 벡터 복원기(1030)가 현재 움직임 벡터를 복원하는 과정과 동일한 과정을 수행하여 현재 움직임 벡터를 복원한다.
한편, 도 12는 본 발명의 일 실시예에 따른 움직임 벡터 복호화 방법을 설명한 것으로서, 본 발명의 본질적인 특성을 벗어나지 않는 범위 내에서 다양하게 변형되어 구현될 수 있다. 예를 들어, 도 12에서 도시하고 전술한 각 단계는 반드시 수행되어야 하는 것은 아니며, 필요에 따라 일부 또는 전부의 단계가 선택적으로 생략되거나 다른 단계로 대체될 수 있으며, 일부 또는 전부의 단계의 순서도 선택적 변경될 수 있을 뿐만 아니라 심지어는 병행적으로 수행될 수도 있다. 일 예로, 단계 S1220은 반드시 수행되어야 하는 것은 아니고 생략될 수 있다.
도 13은 본 발명의 일 실시예에 따라 현재 블록의 움직임 정보를 부호화하고 복호화는 과정을 설명하기 위한 예시도이다.
도 13에는 도 6 및 도 7을 통해 전술한 예시를 적용하여 현재 블록의 움직임 정보 결정하기 위해 결정 및 계산되는 탐색점 i, 탐색점에 의해 지정되는 차분 움직임 벡터 후보(
Figure 112016104400291-pat00075
), 예측 움직임 벡터 후보 집합(
Figure 112016104400291-pat00076
), 제 1 결정 기준의 함수값, 제 1 결정 기준에 따라 결정되는 탐색점별 예측 움직임 벡터
Figure 112016104400291-pat00077
, 제 2 결정 기준의 함수값 및 제 2 결정 기준에 따라 결정되는 차분 움직임 벡터
Figure 112016104400291-pat00078
을 나타내었다.
영상 부호화 장치(300)와 영상 복호화 장치(900) 또는 움직임 벡터 부호화기(310) 또는 움직임 벡터 복호화기(940)가 모두 동일하게 선택할 수 있는 사용 가능한 예측 움직임 벡터 후보 집합이 도시한 바와 같이 선택된 주변 블록의 움직임 벡터들의 집합으로서 선택된다. 도 13에서는 설명의 편의상, 탐색 범위는 중심점을 기준으로 상, 하, 좌, 우 1 유닛(Unit)씩 확장한 범위로 결정되는 것으로 예시하였다. 여기서, 유닛이란 탐색 범위를 확장하기 위한 기본 단위로서 1 화소, 2 화소, 3 화소 등과 같은 정수 화소의 단위 또는 1/2 화소, 1/4 화소 1/8 화소 등과 같은 분수 화소의 단위가 될 수 있다. 탐색점은 각 예측 움직임 벡터 후보에 대한 차분 움직임 벡터와 동일하므로, 탐색 범위 내에서 탐색점을 변화시키면 탐색 범위 내의 모든 움직임 벡터 후보에 대한 차분 움직임 벡터를 얻을 수 있다. 도 13의 예시에서, 탐색 범위 내의 탐색점은 도시한 바와 같이 9 개가 될 수 있고, 이 탐색점은 차분 움직임 벡터 후보
Figure 112016104400291-pat00079
와 동일하게 된다.
영상 부호화 장치(300) 또는 움직임 벡터 부호화기(310)는 우선, 각각의 탐색점과 그에 대응하는 각각의 예측 움직임 벡터 후보에 대해 제 1 결정 기준에 따른 함수값을 계산하고, 탐색점별로 예측 움직임 벡터 후보들 중에서 제 1 결정 기준에 따른 함수값이 최소가 되는 예측 움직임 벡터 후보를 영상 복호화 장치(900) 또는 움직임 벡터 복호화기(940)에서 스스로 판단할 수 있는 탐색점별 예측 움직임 벡터로서 결정한다. 예를 들어, 도 13을 참조하면, 차분 움직임 벡터 후보에 따라 결정되는 탐색점이 (-1,-1)인 경우, 예측 움직임 벡터 후보 집합의 각 예측 움직임 벡터 후보 (2,0), (2,1), (2,2) 각각에 대해 제 1 결정 기준으로서 인접 화소 정합 방법을 이용하여 인접 화소 정합 오류값을 계산하면, 각 움직임 벡터 후보에 대해 30, 10, 70으로 제 1 결정 기준의 함수값이 계산되며, 그 중 제 1 결정 기준에 따른 함수값이 최소값인 10으로 계산되는 예측 움직임 벡터 후보인 (2,1)가 탐색점 (-1,-1)에 대해 영상 복호화 장치(900) 또는 움직임 벡터 복호화기(940)에서 스스로 판단할 수 있는 탐색점별 예측 움직임 벡터로서 선택될 수 있다.
영상 부호화 장치(300) 또는 움직임 벡터 부호화기(310)는 전술한 바와 같은 과정을 각 탐색점에 대해 수행하여 각 탐색점에 대해 영상 복호화 장치(900) 또는 움직임 벡터 복호화기(940)에서 스스로 판단할 수 있는 탐색점별 예측 움직임 벡터를 결정하면, 결정된 탐색점별 예측 움직임 벡터에 대해서 제 2 결정 기준에 따른 함수값을 계산하여 탐색점별 예측 움직임 벡터들 중에서 계산된 함수값이 최소가 되는 예측 움직임 벡터와 탐색점(또는 차분 움직임 벡터)를 최종적으로 율-왜곡 성능이 가장 우수한 예측 움직임 벡터 및 탐색점(또는 차분 움직임 벡터)로서 결정한다. 예를 들어, 도 13을 참조하면, 탐색점 (-1,-1), (-1,0), (-1,1), (0,-1), (0,0), (0,1), (1,-1), (1,0), (1,1) 각각에 대해 제 1 결정 기준에 따른 함수값이 최소가 되는 탐색점별 예측 움직임 벡터는 각각 (2,1), (2,0), (2,1), (2,1), (2,1), (2,0), (2,2), (2,1), (2,2)로 결정되고, 각 예측 움직임 벡터에 대해 제 2 결정 기준으로서 율-왜곡 최적화 방법을 이용하여 율-왜곡 비용을 계산하면, 그 중 제 2 결정 기준에 따른 함수값이 최소값이 20으로 계산되는 예측 움직임 벡터 후보인 (2,1)과 탐색점과 차분 움직임 벡터 (0,0)이 최종적인 움직임 정보로서 결정될 수 있다. 이때, 추정된 현재 움직임 벡터는 예측 움직임 벡터인 (2,1)과 차분 움직임 벡터 (0,0)를 합산한 (2,1)이 된다. 이 경우, (0,0)의 값을 가지는 차분 움직임 벡터만이 부호화되어 부호화 데이터에 포함된다.
영상 복호화 장치(900) 또는 움직임 벡터 복호화기(940)는 전술한 바와 같이 예측 움직임 벡터 후보 집합을 선택한다. 또한, 영상 복호화 장치(900) 또는 움직임 벡터 복호화기(940)는 부호화 데이터로부터 추출되고 복호화되어 복원되는 차분 움직임 벡터 (0,0)를 얻을 수 있다. 또한, 영상 복호화 장치(900) 또는 움직임 벡터 복호화기(940)는 각각의 예측 움직임 벡터 후보에 대해 전술한 바와 같이, 제 1 결정 기준에 따른 함수값을 계산하여 그 값이 최소가 되는 예측 움직임 벡터 (2,1)을 현재 블록의 예측 움직임 벡터로서 결정한다. 이후 영상 복호화 장치(900) 또는 움직임 벡터 복호화기(940)는 차분 움직임 벡터 (0,0)와 예측 움직임 벡터 (2,1)을 이용하여 현재 움직임 벡터 (2,1)(예측 움직임 벡터 (2,1) + 차분 움직임 벡터 (0,0))을 복원한다.
이상에서 전술한 바와 같이, 본 발명의 일 실시예에 따르면, 어떠한 예측값이 사용되었는지에 대한 정보 전달 없이 최적의 예측값을 사용하여 움직임 추정 및 움직임 벡터 부호화를 수행함으로써 움직임 벡터 부호화를 위한 효율을 향상시킬 수 있을 뿐만 아니라, 영상 부호화 장치(300)에서는 복수 개의 예측 움직임 벡터 후보 중에서 어떠한 움직임 벡터가 움직임 추정 및 움직임 벡터 부호화 과정에서 예측 움직임 벡터로서 이용되었는지를 식별하기 위한 식별 정보를 부호화하지 않고, 영상 복호화 장치(900)에서 복수 개의 움직임 벡터 중 어떠한 움직임 벡터가 예측 움직임 벡터로서 이용되었는지를 스스로 판단하도록 함으로써, 부호화 데이터에 식별 정보 또는 식별 정보를 부호화한 데이터를 추가하지 않을 수 있으므로 항상 향상된 부호화 효율을 보장할 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (8)

  1. 인터 예측을 이용하여 영상을 부호화하는 영상 부호화 장치에 있어서,
    부호화하고자 하는 현재블록의 현재 움직임벡터와 참조 픽처를 결정하는 움직임벡터 부호화기;
    상기 현재 움직임벡터 및 상기 참조 픽처를 이용하여 상기 현재블록을 예측함으로써 예측블록을 생성하는 움직임 보상기;
    상기 현재블록으로부터 상기 예측블록을 감산하여 잔여블록(residual block)를 생성하는 감산기; 및
    상기 잔여블록 내의 잔여 신호(residual signals)에 대한 공간 영역으로부터 주파수 영역으로의 변환 및 양자화를 수행할지 여부를 결정하고, 결정 결과에 근거하여 변환 및 양자화를 수행하는 과정, 상기 잔여 신호에 대한 변환을 스킵하고 양자화를 수행하는 과정, 및 상기 잔여 신호에 대한 변환 및 양자화를 모두 스킵하는 과정 중 하나를 선택함으로써 상기 잔여 신호를 부호화하는 잔여 데이터 부호화기를 포함하되,
    상기 움직임벡터 부호화기는,
    상기 현재블록의 주변블록의 움직임벡터로부터 복수의 예측 움직임벡터 후보를 유도함으로써 후보 집합을 구성하고,
    상기 후보 집합에 포함된 상기 복수의 예측 움직임벡터 후보 중에서 상기 현재블록의 예측 움직임벡터를 선택하며,
    상기 현재 움직임벡터로부터 상기 예측 움직임벡터를 감산하여 차분 움직임벡터를 생성하고 부호화하고,
    상기 주변블록은 상기 현재블록을 포함하는 현재픽처 내에 위치하고 상기 현재블록에 인접한 블록과 상기 현재픽처가 아닌 참조픽처 내에 위치하는 블록을 포함하되, 상기 참조픽처 내의 블록의 위치는 상기 현재픽처 내에서 상기 현재블록의 위치에 근거하여 결정되는 것을 특징으로 하는 영상 부호화 장치.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 주변블록으로부터 유도되는 복수의 예측 움직임벡터 후보의 개수가 기 결정된 개수보다 작은 경우, 영벡터를 상기 후보 집합에 추가하는 것을 특징으로 하는 영상 부호화 장치.
  4. 제 1 항에 있어서,
    상기 현재픽처 내에 위치하고 상기 현재블록에 인접한 블록은 상기 현재블록의 좌측, 상단 및 우상단에 위치한 블록을 포함하는 것을 특징으로 하는 영상 부호화 장치.
  5. 제 1 항에 있어서,
    상기 움직임벡터 부호화기는, 상기 주변블록의 움직임벡터를 상수배하여 상기 복수의 예측 움직임벡터 후보를 유도하는 것을 특징으로 하는 영상 부호화 장치.
  6. 인터 예측을 이용하여 영상을 부호화하는 영상 부호화 방법에 있어서,
    부호화하고자 하는 현재블록의 현재 움직임벡터와 참조 픽처를 결정하고 상기 현재 움직임벡터에 대한 정보 및 상기 참조 픽처에 대한 인덱스 정보를 부호화하는 단계;
    상기 현재 움직임벡터 및 상기 참조 픽처를 이용하여 상기 현재블록을 예측함으로써 예측블록을 생성하는 단계;
    상기 현재블록으로부터 상기 예측블록을 감산하여 잔여블록(residual block)를 생성하는 단계; 및
    상기 잔여블록 내의 잔여 신호(residual signals)에 대한 공간 영역으로부터 주파수 영역으로의 변환 및 양자화를 수행할지 여부를 결정하고, 결정 결과에 근거하여 변환 및 양자화를 수행하는 과정, 상기 잔여 신호에 대한 변환을 스킵하고 양자화를 수행하는 과정, 및 상기 잔여 신호에 대한 변환 및 양자화를 모두 스킵하는 과정 중 하나를 선택함으로써 상기 잔여 신호를 부호화하는 단계를 포함하되,
    상기 현재 움직임벡터에 대한 정보를 부호화하는 것은,
    상기 현재블록의 주변블록의 움직임벡터로부터 복수의 예측 움직임벡터 후보를 유도함으로써 후보 집합을 구성하는 단계;
    상기 후보 집합에 포함된 상기 복수의 예측 움직임벡터 후보 중에서 상기 현재블록의 예측 움직임벡터를 선택하는 단계; 및
    상기 현재 움직임벡터로부터 상기 예측 움직임벡터를 감산하여 차분 움직임벡터를 생성하고 부호화하는 단계를 포함하고,
    상기 주변블록은 상기 현재블록을 포함하는 현재픽처 내에 위치하고 상기 현재블록에 인접한 블록 및 상기 현재픽처가 아닌 참조픽처 내에 위치하는 블록을 포함하되, 상기 참조픽처 내의 블록의 위치는 상기 현재픽처 내에서 상기 현재블록의 위치에 근거하여 결정되는 것을 특징으로 하는 영상 부호화 방법.
  7. 삭제
  8. 제 6 항에 있어서,
    상기 후보 집합을 구성하는 단계는,
    상기 주변블록으로부터 유도되는 복수의 예측 움직임벡터 후보의 개수가 기 결정된 개수보다 작은 경우, 영벡터를 상기 후보 집합에 추가하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
KR1020160140340A 2016-10-26 2016-10-26 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 KR101733748B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160140340A KR101733748B1 (ko) 2016-10-26 2016-10-26 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160140340A KR101733748B1 (ko) 2016-10-26 2016-10-26 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020090085586A Division KR101671460B1 (ko) 2009-09-10 2009-09-10 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20160127705A KR20160127705A (ko) 2016-11-04
KR101733748B1 true KR101733748B1 (ko) 2017-05-10

Family

ID=57530354

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160140340A KR101733748B1 (ko) 2016-10-26 2016-10-26 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101733748B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3547684B1 (en) * 2018-03-28 2020-02-26 Axis AB Method, device and system for encoding a sequence of frames in a video stream

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090034621A1 (en) * 2003-11-28 2009-02-05 Anthony Joch Low-Complexity Motion Vector Prediction Systems and Methods

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090034621A1 (en) * 2003-11-28 2009-02-05 Anthony Joch Low-Complexity Motion Vector Prediction Systems and Methods

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Narroschke M., et al., "Adaptive prediction error coding in spatial and frequency domain for H.264/AVC", ITU-T VCEG 29th meeting, VCEG-AB06, 2006.01.20.*

Also Published As

Publication number Publication date
KR20160127705A (ko) 2016-11-04

Similar Documents

Publication Publication Date Title
KR101671460B1 (ko) 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101830352B1 (ko) 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
KR101444675B1 (ko) 영상 부호화 및 복호화 방법과 장치
KR101377527B1 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101377660B1 (ko) 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101681303B1 (ko) 블록 분할예측을 이용한 영상 부호화/복호화 방법 및 장치
KR20120009861A (ko) 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
KR20110042705A (ko) 움직임 정보 기반의 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR20110033511A (ko) 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101733748B1 (ko) 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101733754B1 (ko) 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101590493B1 (ko) 인터 예측을 이용한 영상 부호화 및 복호화 방법과 장치
KR101479137B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR101524664B1 (ko) 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101673026B1 (ko) 경쟁 기반 인터리브드 움직임 벡터코딩 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치
KR101693284B1 (ko) 전역움직임을 기반하여 결정된 부호화구조를 이용한 영상 부호화/복호화 방법 및 장치
KR20170044599A (ko) 움직임 추정을 이용한 영상 부호화 방법 및 장치
KR101582504B1 (ko) 인터 예측을 이용한 영상 부호화 및 복호화 방법과 장치
KR101575636B1 (ko) 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR20140027435A (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR20140029503A (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101533435B1 (ko) 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101533441B1 (ko) 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101676381B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR20140098725A (ko) 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right