KR20130097958A - 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법 - Google Patents

움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법 Download PDF

Info

Publication number
KR20130097958A
KR20130097958A KR1020120019664A KR20120019664A KR20130097958A KR 20130097958 A KR20130097958 A KR 20130097958A KR 1020120019664 A KR1020120019664 A KR 1020120019664A KR 20120019664 A KR20120019664 A KR 20120019664A KR 20130097958 A KR20130097958 A KR 20130097958A
Authority
KR
South Korea
Prior art keywords
motion vector
resolution
distance
motion
encoding
Prior art date
Application number
KR1020120019664A
Other languages
English (en)
Other versions
KR101373083B1 (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 KR1020120019664A priority Critical patent/KR101373083B1/ko
Publication of KR20130097958A publication Critical patent/KR20130097958A/ko
Application granted granted Critical
Publication of KR101373083B1 publication Critical patent/KR101373083B1/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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명에 따른 움직임 벡터 부호화 장치는 작은 크기의 움직임 벡터를 부호화하기 위한 긴 코드워드들의 사용을 줄여 부호화 효율을 증대시키려는 목적을 달성하기 위하여, 영상의 현재 블록마다 생성된 복수의 예측 움직임 벡터를 이용하여 현재 블록에 대한 움직임 벡터의 해상도를 결정하는 움직임 벡터 해상도 결정기; 및 그 움직임 벡터 해상도 결정기로부터 수신된 정보를 이용하여 움직임 정보 부호화 데이터를 출력하도록 동작하는 움직임 벡터 부호화기;를 포함하여 구성됨으로써, 종래의 차분 움직임 벡터에 의한 움직임 벡터의 해상도 선택 방식보다 높은 효율로 작은 크기의 움직임 벡터에 긴 코드워드들을 사용할 필요없이 부호화 동작을 수행할 수 있다는 장점이 있다.

Description

움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법 {DEVICE AND METHOD FOR ENCODING/DECODING MOTION INFORMATION}
본 발명은 움직임 정보 부호화 장치에 관한 것으로서, 보다 상세하게는, 현재 블록의 예측 움직임 벡터 간 상관성과 차분 움직임 벡터 값이 밀접한 연관성을 갖는 점을 이용하여 움직임 벡터의 해상도를 결정하는 움직임 정보 부호화 장치에 관한 것이다.
H. 264/AVC은 현재까지 표준화된 비디오 코덱(Video Coder and Decoder)들 중 가장 압축률이 뛰어난 비디오 코덱에 대한 표준으로서, H.264/AVC 표준에서는 압축 효율을 높이기 위하여 방향성을 고려한 인트라 예측(Intra Prediction), 4x4 화소 단위의 정수 변환(Integer Transform), 16x16 화소 크기부터 4x4 화소 크기까지의 다양한 크기를 가지는 블록 모드(Block Mode), 디블록킹 필터(Deblocking Filter) 등을 이용하여 영상을 예측 부호화하고, 더욱 정확한 움직임 벡터를 찾기 위하여 1/2 화소 단위와 1/4 화소 단위까지 영상을 보간하여 움직임 추정을 수행한다.
한편, 최근에 표준화 논의가 진행 중인 HEVC(High Efficiency Video Coding)를 이용하면 종래의 H. 264/AVC를 통한 부호화보다 더욱 효율적인 부호화를 수행할 수 있는데, HEVC에 의하면 변환기가 RQT(Residual Quadtree Transform) 방식으로 변환 동작을 수행할 수 있고, 예측기는 다양한 방향성을 고려한 인트라 예측을 수행할 수 있으며, 필터기는 역 양자화기 및 역 변환기로부터 복원된 잔차 영상에 대하여 종래의 디블로킹 필터링(De-blocking filtering) 뿐만 아니라 ALF(Adaptive Loop Filter) 또는 SAO(Sample Adaptive Offset) 방식을 통해 필터링 동작을 수행할 수 있다.
하지만, 전술한 H. 264/AVC 표준 및 논의 중인 HEVC 등과 같은 부호화 장치의 움직임 정보 부호화 장치(120)는 1/2 화소 단위, 1/4 화소 단위 등 다양한 해상도로 움직임을 추정함으로써 다양한 해상도의 움직임 벡터를 결정하고 부호화하기 때문에, 1/2 화소 단위, 1/4 화소 단위 등 다양한 해상도에 따라 결정된 움직임 벡터를 부호화하기 위해서는 아래 [표 1]과 같이 긴 코드워드(Code Word)가 사용된다는 문제점이 있었다.
차분 움직임 벡터 코드 번호 비트스트링
0 0 1
1/4 1 010
-1/4 2 011
2/4 3 00100
2 15 000010000
3 23 0000110000
구체적으로, 도 1에 도시된 일반적인 움직임 정보 부호화 장치(120)는 움직임 벡터를 부호화함에 있어서, 수학식 1처럼 현재 사용하는 움직임 벡터(MV, Motion Vector)와 예측 움직임 벡터(MVP, Motion Vector Predictor)를 이용하여 계산된 차분 움직임 벡터(MVD, Motion Vector Difference)에 대하여 VLC나 CABAC 등을 적용하는 엔트로피 부호화를 통해 움직임 벡터를 부호화할 수 있고, 특히 VLC를 적용하는 경우 위에 첨부된 [표 1]의 비트스트림 열과 같은 Exponential Golomb-Code를 사용하게 된다.
Figure pat00001
예를 들어, 차분 움직임 벡터가 (3,2)인 경우 [표 1]을 참조하면, '3'이 부호화되기 위해서는 코드 번호가 '23'인 비트 스트링 '00011000'이 사용되고, '2'가 부호화되기 위해서는 코드 번호가 '15'인 비트 스트링 '0001000'이 사용된다.
이와 같이 작은 크기의 움직임 벡터를 부호화하기 위해 긴 코드워드를 사용하는 것은 1/4 화소 단위의 해상도에 따른 움직임 벡터를 부호화하기 위한 코드워드와 정수 화소 단위 및 1/2 화소 단위의 해상도에 따른 움직임 벡터를 부호화하기 위한 코드워드를 함께 사용하는 점으로부터 기인한다.
따라서, 결국 차분 움직임 벡터의 절대값이 클수록 움직임 벡터의 부호화에 필요한 비트 량이 점점 증가하여 결과적으로 부호화되는 비트스트림의 비트 량이 증가하게 되고, 압축 효율이 점차적으로 저하된다는 문제점이 있었다.
또한, 영상 중에서 일반적인 자연 영상이 아닌 텍스트, 선, 도형 등과 같은 컨텐츠를 담고 있는 스크린 영상의 경우 경계 요소가 상대적으로 강하게 나타날 뿐만 아니라 영역마다 변화가 심하게 나타나는 특성을 가지고 있다. 이때, 스크린 영상에 대하여도 일반적인 자연 영상의 부호화에 사용하는 분수 화소 단위의 움직임 벡터 해상도를 사용하면, [표 1]에서와 같이 작은 크기의 움직임 벡터를 부호화함에 있어서 많은 비트 량을 사용하기 때문에 부호화 효율이 크게 저하되는 문제점이 생긴다.
나아가, 도 1에 도시된 움직임 정보 부호화 장치(120)의 동작은 도 5에 도시된 움직임 정보 복호화 장치(520)와 상응적으로 동작하기 때문에, 움직임 벡터 부호화의 압축 효율이 저하된 상태에서는 코덱의 고효율을 기대하기 어렵다는 문제점도 있었다.
이러한 문제점을 해결하기 위한 종래의 기술로는, 한국공개특허 10-2011-0101443(발명의 명칭: 움직임 벡터 해상도 조합을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치)에서는 부호화 비용을 이용하여 움직임 벡터의 해상도의 조합을 적응적으로 선택하고 그 선택된 결과에 따라 결정된 움직임 벡터를 부호화하는 기술이 있으나, 부호화 비용을 계산하여 이용하는 방식보다 더 간단하면서 전체적인 부호화/복호화 효율을 높일 수 있는 방식에 대한 연구가 지속적으로 필요한 실정이었다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 본 발명의 일부 실시예에 따르면 현재 블록의 예측 움직임 벡터 간 상관성과 차분 움직임 벡터 값이 밀접한 연관성을 갖는 점을 이용하여 움직임 벡터의 해상도를 결정함으로써, 사용되는 코드워드를 줄이면서 보다 효율적으로 영상에 대해 부호화/복호화 동작을 수행할 수 있는 움직임 벡터 부호화/복호화 장치 및 움직임 벡터를 부호화/복호화하는 방법을 제공하는 데에 그 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제1 측면(일 실시예)에 따른 움직임 벡터 부호화 장치는 영상의 현재 블록마다 생성된 복수의 예측 움직임 벡터를 이용하여 상기 현재 블록에 대한 움직임 벡터의 해상도를 결정하는 움직임 벡터 해상도 결정기; 및 상기 움직임 벡터 해상도 결정기로부터 수신된 정보를 이용하여 움직임 정보 부호화 데이터를 출력하도록 동작하는 움직임 벡터 부호화기;를 포함하여 구성된다.
바람직하게는, 상기 움직임 벡터 해상도 결정기는 상기 예측 움직임 벡터를 이용하여 계산된 하나 이상의 예측 움직임 벡터 간 거리 값으로 이루어진 거리 값 집합을 출력하는 거리 측정기와, 상기 거리 값 집합 중 하나의 예측 움직임 벡터 간 거리 값을 선택하는 거리 선택기를 포함하여 구성될 수 있다.
이때, 상기 거리 선택기는 상기 거리 값 집합에서 0이 아니면서 가장 작은 값을 예측 움직임 벡터 간 거리 값으로 선택하여 선택된 예측 움직임 벡터 간 거리 값의 색인을 이용하는 것을 특징으로 구성될 수 있다.
이때, 상기 움직임 벡터 해상도 결정기는 상기 거리 선택기의 결과 값과 적응적 임계 값을 비교하여 상기 움직임 벡터의 해상도를 선택하는 것을 특징으로 구성될 수 있다.
특히, 상기 적응적 임계 값은 상기 영상의 블록, 슬라이스, 픽처 및 시퀸스 중 하나 이상을 포함하는 부호화 단위마다 서로 상이한 값으로 결정되고, 상기 움직임 벡터 부호화기는 상기 적응적 임계 값을 부호화하는 것을 특징으로 구성될 수 있다.
또한, 본 발명의 제2 측면(일 실시예)에 따른 움직임 벡터를 부호화하는 방법은 영상의 현재 블록마다 생성된 복수의 예측 움직임 벡터를 이용하여 상기 현재 블록에 대한 움직임 벡터의 해상도를 결정하는 단계; 및 결정된 상기 움직임 벡터의 해상도를 포함하는 움직임 정보를 부호화하는 단계;를 포함하여 구성된다.
바람직하게는, 상기 움직임 벡터의 해상도를 결정하는 단계는, 상기 예측 움직임 벡터를 이용하여 하나 이상의 예측 움직임 벡터 간 거리 값을 계산하는 단계와, 계산된 예측 움직임 벡터 간 거리 값으로 이루어진 거리 값 집합 중 하나의 예측 움직임 벡터 간 거리 값을 선택하는 단계를 포함하고, 선택된 예측 움직임 벡터 간 거리 값을 이용하여 상기 움직임 벡터의 해상도를 결정하는 것을 특징으로 구성될 수 있다.
이때, 상기 거리 값 집합에서 0이 아니면서 가장 작은 값을 하나의 예측 움직임 벡터 간 거리 값으로 선택하여 선택된 예측 움직임 벡터 간 거리 값의 색인을 이용하는 것을 특징으로 구성될 수 있다.
이때, 상기 선택된 예측 움직임 벡터 간 거리 값과 적응적 임계 값을 비교하여 상기 움직임 벡터의 해상도를 결정하는 것을 특징으로 구성될 수 있다.
특히, 상기 선택된 예측 움직임 벡터 거리 값이 상기 적응적 임계 값보다 크거나 같은 경우 움직임 벡터의 해상도는 상기 적응적 임계 값보다 작은 경우 움직임 벡터의 해상도보다 큰 화소 단위인 것을 특징으로 구성될 수 있다.
또한, 본 발명의 제3 측면(일 실시예)에 따른 움직임 벡터 복호화 장치는 영상의 현재 블록마다 생성된 복수의 예측 움직임 벡터를 이용하여 선택된 움직임 벡터의 해상도를 비트스트림으로부터 복원하는 해상도 복원기; 및 복원된 상기 움직임 벡터의 해상도에 따라 결정되는 움직임 벡터를 복원하는 움직임 벡터 복호화기;를 포함하여 구성된다.
그리고, 본 발명의 제4 측면(일 실시예)에 따른 움직임 벡터를 복호화하는 방법은 영상의 현재 블록마다 생성된 복수의 예측 움직임 벡터를 이용하여 선택된 움직임 벡터의 해상도를 비트스트림으로부터 복원하는 단계; 및 복원된 상기 움직임 벡터의 해상도에 따라 결정되는 움직임 벡터를 복원하는 단계;를 포함하여 구성된다.
전술한 본 발명의 과제 해결 수단에 의하면, 움직임 벡터 부호화 장치는 복수의 예측 움직임 벡터를 이용하여 현재 블록에 대한 움직임 벡터의 해상도를 결정하고 그에 따라 결정된 정보를 부호화함으로써, 종래의 차분 움직임 벡터에 의한 움직임 벡터의 해상도 선택 방식보다 높은 효율의 부호화 동작을 수행할 수 있다는 장점이 있다.
한, 전술한 본 발명의 과제 해결 수단에 의하면, 움직임 벡터 부호화 장치는 작은 크기의 움직임 벡터를 부호화하기 위해서 긴 코드워드들을 사용할 필요가 없게 되어 부호화 동작을 효율적으로 할 수 있으며, 움직임 벡터 부호화 장치와 상응하여 동작하는 움직임 벡터 복호화 장치의 효율도 높일 수 있다는 장점이 있다.
아가, 전술한 본 발명의 과제 해결 수단에 의하면, 고효율의 움직임 벡터 부호화/복호화 장치를 이용할 수 있어 전체적인 영상에 대해서도 기존에 비해 월등한 부호화/복호화 동작을 수행하여 결과를 얻을 수 있다는 장점도 있다.
도 1은 일반적인 영상 부호화 장치를 간략하게 나타낸 블록 구성도,
도 2는 본 발명의 일 실시예에 따른 움직임 벡터 부호화 장치를 포함하는 움직임 정보 부호화 장치를 간략하게 나타낸 블록 구성도,
도 3은 본 발명의 일 실시예에 따른 움직임 벡터를 부호화하는 방법을 설명하기 위한 순서도,
도 4는 본 발명의 다른 실시예에 따른 움직임 벡터를 부호화하는 방법을 설명하기 위한 순서도,
도 5는 일반적인 영상 복호화 장치를 간략하게 나타낸 블록 구성도,
도 6은 본 발명의 일 실시예에 따른 움직임 벡터 복호화 장치를 간략하게 나타낸 블록 구성도,
도 7은 본 발명의 일 실시예에 따른 움직임 벡터를 복호화하는 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 설명될 영상은 일련의 픽처(Picture)로 구성되고, 각 픽처들은 블록(Block) 등의 소정의 영역으로 분할될 수 있으며, 일반적인 자연 영상 뿐만 아니라 컨텐츠를 담고 있는 스크린 영상을 포함하는 것으로 특별히 제한되지 않는다.
도 1은 일반적인 영상 부호화 장치를 간략하게 나타낸 블록 구성도로서, 상술한 H. 264/AVC 표준에 따른 영상 부호화 장치의 구성을 일예로 나타낸다.
영상 부호화 장치는 입력 영상(Input Image)을 부호화하여 비트 스트림 (Bit-stream)를 출력하는 장치로서, 크게는 영상 부호화기(110)와 움직임 정보 부호화 장치(120)를 포함하여 구성되고, 영상 부호화기(110)와 움직임 정보 부호화 장치(120)는 서로 정보를 송/수신한다.
영상 부호화기(110)는 입력 영상과 예측 영상을 이용하여 잔차 영상을 생성하는 감산기(Subtracter), 잔차 영상에 대하여 변환 및 양자화 동작을 수행하는 변환기(Transformer) 및 양자화기(Quantizer), 양자화된 변환 영상에 대하여 부호화 동작을 수행하는 부호화기(Encoder) 등을 포함하여 구성될 수 있다.
움직임 정보 부호화 장치(120)는 입력 영상에 대하여 인트라 예측(Intra Prediction) 또는 인터 예측(Inter Prediction)을 수행하는 예측기(Predictor), 양자화된 변환 영상에 대하여 역 양자화 및 역 변환 동작을 수행하는 역 양자화기(Inverse Quantizer) 및 역 변환기(Inverse Transformer), 예측 영상과 복원된 잔차 영상을 이용하여 영상을 복원하는 가산기(Adder), 복원된 잔차 영상에 대하여 필터링 동작을 수행하는 필터기(Filter), 필요에 따라 예측기로 복원된 영상을 전달하는 참조 픽처 메모리(Reference Picture Memory) 등을 포함하여 구성될 수 있다.
상술한 영상 부호화기(110)의 구성 중 일부가 움직임 정보 부호화 장치(120)에 포함되어 있을 수 있고, 그 반대로 포함 관계를 이루고 있을 수도 있으며, 하나의 구성이 다른 구성에서 수행하는 일부 동작을 함께 수행할 수도 있다.
참고로, 인터 예측 부호화에서 현재 부호화하고자 하는 현재 블록의 움직임을 추정하여 결정되는 현재 블록의 움직임 벡터는 주변 블록의 움직임 벡터와 밀접한 상관 관계가 있기 때문에, 주변 블록의 움직임 벡터로부터 현재 블록의 움직임 벡터에 대한 예측 값을 계산하는데 이를 예측 움직임 벡터(MVP, Motion Vector Predictor)라고 정의한다.
이와 같은 영상 부호화 장치의 일부를 이루는 움직임 정보 부호화 장치(120)는 도 2에 도시된 것처럼 움직임 벡터 부호화 장치(200)와, 예측 움직임 벡터 및 현재 블록의 움직임 벡터를 입력으로 하여 차분 움직임 벡터를 출력하는 차분 벡터 부호화기(230)를 포함하여 구성되는데, 본 발명에서는 특히 움직임 벡터 부호화 장치(200)와 관련해서 주된 특징을 가지고 있다.
이하, 도 2를 참고하여 본 발명의 움직임 벡터 부호화 장치에 대해 구체적으로 설명한다. 도 2는 본 발명의 일 실시예에 따른 움직임 벡터 부호화 장치를 포함하는 움직임 정보 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명에 따른 움직임 벡터 부호화 장치(200)는 움직임 벡터 해상도 결정기(210) 및 움직임 벡터 부호화기(220)를 포함하여 구성되고, 영상의 일정 영역에 대한 예측 움직임 벡터를 입력으로 수신하여 움직임 정보의 부호화 데이터를 출력한다.
움직임 벡터 해상도 결정기(210)는 영상의 현재 블록마다 생성된 복수의 예측 움직임 벡터를 이용하여 현재 블록에 대한 움직임 벡터의 해상도를 결정하는 장치 구성으로서, 현재 블록의 예측 움직임 벡터 간 상관성과 부호화해야 할 차분 움직임 벡터 값은 서로 밀접한 연관성을 가지고 있다는 점으로부터 움직임 벡터 해상도 결정기(210)는 예측 움직임 벡터를 이용하여 현재 블록의 예측 움직임 벡터 간 상관성을 판단한다.
특히, 움직임 벡터 해상도 결정기(210)는 거리 측정기(212)와, 거리 선택기(214)를 포함하여 구성되어, 이들 구성으로부터 현재 블록의 예측 움직임 벡터 간 상관성을 판단하는 것이 바람직하다.
거리 측정기(212)는 복수의 예측 움직임 벡터를 이용하여 하나 이상의 예측 움직임 벡터 간 거리 값을 측정 및 계산하고, 측정된 하나 이상의 예측 움직임 벡터 간 거리 값으로 이루어진 거리 값 집합을 출력함으로써, 복수의 예측 움직임 벡터의 분포를 파악할 수 있다.
거리 측정기(212)는 하나 이상의 예측 움직임 벡터 간 거리 값을 측정 및 계산하는데, 일예로 아래 기술된 [수학식 2]에 따라 계산할 수 있으나, 절대값 대신 제곱을 사용하거나 다른 함수에 의해서 계산되는 것도 가능하다.
Figure pat00002
여기서, DMVP0, DMVP1, DMVP2는 각각 예측 움직임 벡터 간 거리 값을 의미하고, 3 개의 예측 움직임 벡터인 MVP0, MVP1, MVP2의 각 x 성분과 y 성분을 이용하여 계산되며, DMVP0, DMVP1, DMVP2는 거리 값 집합을 이루게 된다.
또한, 거리 선택기(214)는 출력된 거리 값 집합 중 하나의 예측 움직임 벡터 간 거리 값을 특정 기준에 의해 선택할 수 있고, 일예로 아래 기술된 [수학식 3]과 같이 특정 기준이 결정될 수 있으나, 특별히 어느 하나로 제한되는 것은 아니다.
Figure pat00003
여기서, arg min{} 함수는 후보 값 중에서 가장 작은 값을 갖는 DMVPn *의 색인을 선택하는 함수이고, 후보군인 DMVPn는 정수인 n 값에 따른 예측 움직임 벡터 간 거리 값을 의미하며, n*은 arg min{} 함수에 의해 선택된 색인을 의미한다. n 값은 0, 1, 2로 제한되는 것은 아니며, HEVC에서는 예측 움직임 벡터를 최대 3개까지 사용할 수 있다.
위와 같은 [수학식 3]에 의해 하나의 예측 움직임 벡터 간 거리 값을 선택하는 경우, 거리 선택기(214)는 거리 측정기(212)로부터 출력된 거리 값 집합에 포함된 예측 움직임 벡터 간 거리 값 중에서 0이 아니면서 가장 작은 값인 DMVP n*을 선택하여 그 값의 색인을 n*으로 정한다.
상술한 거리 측정기(212)와 거리 선택기(214)를 포함하여 구성된 움직임 벡터 해상도 결정기(210)는 결과 값 중 하나인 DMVP n*와 적응적 임계 값을 비교하여 움직임 벡터의 해상도를 결정하는 것이 바람직하다. 여기서, 적응적 임계 값은 영상의 블록, 슬라이스, 픽처 및 시퀸스 중 하나 이상을 포함하는 부호화 단위마다 서로 상이한 값으로 결정될 수 있다.
덧붙여, 움직임 벡터 해상도 결정기(210)에서 영상의 현재 블록마다 생성되는 예측 움직임 벡터의 생성 방식과 관련해서는, 종래에 알려진 방식, 수식 또는 알고리즘 중에 어느 특정한 방식으로 제한되는 것은 아니다.
또한, 움직임 벡터 부호화기(220)는 상술한 움직임 벡터 해상도 결정기(210)로부터 수신한 정보를 이용하여 움직임 정보 부호화 데이터를 출력하도록 동작한다. 여기서, 움직임 정보 부호화 데이터는 선택된 예측 움직임 벡터 간 거리 값의 색인인 n*과, 부호화 단위마다 서로 상이한 값으로 결정될 수 있는 적응적 임계 값을 포함하는 움직임 정보를 부호화한 데이터를 나타내는 것이 바람직하다.
덧붙여, 움직임 벡터 부호화기(220)는 후술할 움직임 벡터 복호화기와 미리 약속된 적응적 임계 값을 사용할 수 있고, 움직임 벡터 해상도를 이용하여 상술한 [수학식 1]과 같이 차분 움직임 벡터를 계산하여 부호화할 수도 있다.
이와 같은 본 발명에 따른 움직임 벡터 부호화 장치를 이용하여 움직임 벡터를 부호화하면, 복수의 예측 움직임 벡터를 이용하여 현재 블록에 대한 움직임 벡터의 해상도를 결정하고, 그에 따라 결정되는 색인 등을 부호화함으로써, 종래의 차분 움직임 벡터에 의한 움직임 벡터의 해상도 선택 방식보다 높은 효율로 작은 크기의 움직임 벡터에 긴 코드워드들을 사용할 필요없이 부호화 동작을 수행할 수 있다.
아울러, 본 발명에 따른 움직임 벡터를 부호화하는 방법에 대해 이하 도 3 및 도 4를 참고하여 구체적으로 설명한다. 도 3과 도 4는 각각 본 발명의 일 실시예, 다른 실시예에 따른 움직임 벡터를 부호화하는 방법을 설명하기 위한 순서도이다.
도 3을 참고하면, 본 발명의 일 실시예에 따른 움직임 벡터를 부호화하는 방법에 의해 부호화 동작을 시작하면, 영상의 현재 블록마다 다양한 방식에 의해 복수의 예측 움직임 벡터를 생성한다(S310). 예를 들면, 복수의 예측 움직임 벡터를 현재 블록의 인접 블록의 움직임 벡터의 각 성분마다의 중간 값(Median Value)으로 결정할 수 있으며, 이러한 방식 이외에 종래에 공개된 다른 방식에 의해서도 결정할 수 있다.
이어서 현재 블록마다 생성된 예측 움직임 벡터를 이용하여 현재 블록에 대한 움직임 벡터의 해상도를 결정하는 과정을 거친다. 바람직하게는 예측 움직임 벡터를 이용하여 하나 이상의 예측 움직임 벡터 간 거리 값을 계산하고(S320), 계산된 예측 움직임 벡터 간 거리 값으로 이루어진 거리 값 집합 중 하나의 예측 움직임 벡터 간 거리 값을 선택하고(S330), 선택된 예측 움직임 벡터 간 거리 값을 이용하여 현재 블록에 대한 움직임 벡터의 해상도를 결정할 수 있다(S340).
이로 인해 결정된 움직임 벡터의 해상도를 포함하는 움직임 정보를 부호화하여(S350) 움직임 정보 부호화 데이터를 출력한 후 부호화 동작을 종료한다.
또한, 도 4를 참고하면, 본 발명의 다른 실시예에 따른 움직임 벡터를 부호화하는 방법에 의해 부호화 동작을 시작하면, 영상의 현재 블록마다 다양한 방식에 의해 복수의 예측 움직임 벡터를 생성한다(S410).
생성된 예측 움직임 벡터를 이용하여 하나 이상의 예측 움직임 벡터 간 거리 값을 측정 및 계산하고(S420), 측정된 예측 움직임 벡터 간 거리 값으로 이루어진 거리 값 집합 중 하나의 예측 움직임 벡터 간 거리 값을 선택할 수 있다. 이때, 예측 움직임 벡터 간 거리 값을 계산하는 방식은 특별히 제한되지 않으며, 하나의 예측 움직임 벡터 간 거리 값을 선택하는 방식은
Figure pat00004
의 수식에 의해 거리 값 집합에서 0이 아니면서 가장 작은 값으로 선택하는 방식일 수 있다(S430).
이어서 거리 값 집합 중 선택된 하나의 예측 움직임 벡터 간 거리 값(DMVP n*)과 적응적 임계 값을 비교한 후(S440), 그 결과를 이용하여 움직임 벡터의 해상도를 선택할 수 있다.
선택된 예측 움직임 벡터 거리 값이 적응적 임계 값보다 크거나 같은 경우의 움직임 벡터의 해상도는 적응적 임계 값보다 작은 경우의 움직임 벡터의 해상도보다 큰 화소 단위가 되는 것이 바람직하다.
즉, 선택된 예측 움직임 벡터 간 거리 값이 적응적 임계 값보다 크거나 동일하면 움직임 벡터의 해상도를 정수 화소 단위로 결정하고(S450), 선택된 예측 움직임 벡터 간 거리 값이 적응적 임계 값보다 작으면 움직임 벡터의 해상도를 1/4 화소 단위로 결정할 수 있다(S460).
그 이후에 선택된 현재 블록에 대한 움직임 벡터의 해상도와, 적응적 임계 값을 포함하는 움직임 정보를 부호화하여(S470) 움직임 정보 부호화 데이터를 출력한 후 부호화 동작을 종료한다. 이때, 미리 약속된 적응적 임계 값을 사용하는 경우에는 적응적 임계 값을 포함하지 않는 움직임 정보를 부호화하는 것이 바람직하다.
한편, 도 5는 일반적인 영상 복호화 장치를 간략하게 나타낸 블록 구성도로서, 상술한 H. 264/AVC 또는 HEVC 혹은 그 이전 표준에 따른 복호화 장치의 구성을 일예로 나타낸다.
영상 복호화기(510)는 비트스트림으로부터 움직임 벡터 해상도, 양자화된 변환 영상 등을 복원하는 복호화기(Decoder), 역 양자화기(Inverse Quantizer), 역 변환기(Inverse Transformer), 가산기(Adder) 등을 포함하여 구성될 수 있다.
움직임 정보 복호화 장치(520)는 움직임 벡터를 복원하는 움직임 벡터 복호화기, 예측기(Predictor), 필터기(Filter), 참조 픽처 메모리(Reference Picture Memory) 등을 포함하여 구성될 수 있다.
상술한 영상 복호화기(510)의 구성 중 일부가 움직임 정보 복호화 장치(520)에 포함되어 있을 수 있고, 그 반대로 포함 관계를 이루고 있을 수도 있으며, 하나의 구성이 다른 구성에서 수행하는 일부 동작을 함께 수행할 수도 있다.
이와 같은 영상 복호화 장치의 일부를 이루는 움직임 정보 복호화 장치(520)는 도 6에 도시된 것처럼 해상도 복원기(610) 및 움직임 벡터 복호화기(620)를 포함하여 구성되는 움직임 벡터 복호화 장치(600)를 포함하는데, 본 발명에서는 특히 움직임 벡터 복호화 장치(600)와 관련해서 주된 특징을 가지고 있다.
이하, 도 6을 참고하여 본 발명의 움직임 벡터 복호화 장치에 대해 구체적으로 설명한다. 도 6은 본 발명의 일 실시예에 따른 움직임 벡터 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명에 따른 움직임 벡터 복호화 장치(600)는 해상도 복원기(610) 및 움직임 벡터 복호화기(620)를 포함하여 구성되고, 움직임 정보의 부호화 데이터를 입력으로 수신하여 영상의 일정 영역에 대한 움직임 벡터를 출력한다.
해상도 복원기(610)는 영상의 현재 블록마다 생성된 복수의 예측 움직임 벡터를 이용하여 결정된 움직임 벡터의 해상도를 비트스트림으로부터 복원하는 장치 구성으로서, 현재 블록의 예측 움직임 벡터 간 상관성과 복호화해야 할 차분 움직임 벡터 값은 서로 밀접한 연관성을 가지고 있다는 점으로부터 해상도 복원기(610)는 비트스트림으로부터 추출된 움직임 정보 부호화 데이터를 이용하여 결정된 움직임 벡터의 해상도를 복원한다.
움직임 벡터 복호화기(620)는 상술한 해상도 복원기(610)에서 복원된 움직임 벡터의 해상도에 따라 결정되는 움직임 벡터를 복원하고, 복원 방식은 특별히 제한되지 않는다. 이때, 도 2에 도시된 움직임 벡터 부호화기(220)에서 사용한 적응적 임계 값이 특정 부호화 단위마다 부호화된 경우에는 움직임 벡터 복호화기(620)가 부호화된 적응적 임계 값을 복호화하여 사용하지만, 적응적 임계 값을 전송하지 않은 경우에는 움직임 벡터 후호화기(220)와 미리 약속된 적응적 임계 값을 사용하는 것이 바람직하다.
이와 같은 본 발명에 따른 움직임 벡터 복호화 장치를 이용하여 움직임 벡터를 부호화하면, 복수의 예측 움직임 벡터를 이용하여 선택된 움직임 벡터의 해상도를 비트스트림으로부터 복원하고, 그에 따라 움직임 벡터를 복호화함으로써, 종래의 움직임 벡터 복호화 장치보다 높은 효율로 작은 크기의 움직임 벡터에 긴 코드워드들을 사용할 필요없이 복호화 동작을 수행할 수 있다.
아울러, 본 발명에 따른 움직임 벡터를 복호화하는 방법에 대해 이하 도7을 참고하여 구체적으로 설명한다. 도 7은 본 발명의 일 실시예에 따른 움직임 벡터를 복호화하는 방법을 설명하기 위한 순서도이다.
도 7을 참고하면, 본 발명의 일 실시예에 따른 움직임 벡터를 복호화하는 방법에 의해 복호화 동작을 시작하면, 현재 블록에 대한 선택된 움직임 벡터의 해상도를 비트스트림으로부터 추출 후 복원시킨다(S710).
즉, 비트스트림으로부터 움직임 벡터 부호화 데이터를 추출하고, 도 3 또는 도 4와 관련하여 상술한 복호화 방법에 대응되는 방식 또는 기타 다양한 방식을 이용하여 그 부호화 데이터로부터 선택된 움직임 벡터의 해상도를 복원할 수 있다.
이로 인해 복원된 움직임 벡터의 해상도에 따른 움직임 벡터를 복원하여(S720) 영상 복원에 사용되도록 전송하고 종료한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
200: 움직임 벡터 부호화 장치 210: 움직임 벡터 해상도 결정기
212: 거리 측정기 214: 거리 선택기
220: 움직임 벡터 부호화기 610: 해상도 복원기
620: 움직임 벡터 복호화기

Claims (12)

  1. 움직임 벡터 부호화 장치에 있어서,
    영상의 현재 블록마다 생성된 복수의 예측 움직임 벡터를 이용하여 상기 현재 블록에 대한 움직임 벡터의 해상도를 결정하는 움직임 벡터 해상도 결정기; 및
    상기 움직임 벡터 해상도 결정기로부터 수신된 정보를 이용하여 움직임 정보 부호화 데이터를 출력하도록 동작하는 움직임 벡터 부호화기;를 포함하는 움직임 벡터 부호화 장치.
  2. 청구항 1에 있어서, 상기 움직임 벡터 해상도 결정기는
    상기 예측 움직임 벡터를 이용하여 계산된 하나 이상의 예측 움직임 벡터 간 거리 값으로 이루어진 거리 값 집합을 출력하는 거리 측정기와,
    상기 거리 값 집합 중 하나의 예측 움직임 벡터 간 거리 값을 선택하는 거리 선택기를 포함하여 구성되는 것을 특징으로 하는 움직임 벡터 부호화 장치.
  3. 청구항 2에 있어서, 상기 거리 선택기는 상기 거리 값 집합에서 0이 아니면서 가장 작은 값을 예측 움직임 벡터 간 거리 값으로 선택하여 선택된 예측 움직임 벡터 간 거리 값의 색인을 이용하는 것을 특징으로 하는 움직임 벡터 부호화 장치.
  4. 청구항 2에 있어서, 상기 움직임 벡터 해상도 결정기는 상기 거리 선택기의 결과 값과 적응적 임계 값을 비교하여 상기 움직임 벡터의 해상도를 선택하는 것을 특징으로 하는 움직임 벡터 부호화 장치.
  5. 청구항 4에 있어서, 상기 적응적 임계 값은 상기 영상의 블록, 슬라이스, 픽처 및 시퀸스 중 하나 이상을 포함하는 부호화 단위마다 서로 상이한 값으로 결정되고, 상기 움직임 벡터 부호화기는 상기 적응적 임계 값을 부호화하는 것을 특징으로 하는 움직임 벡터 부호화 장치.
  6. 움직임 벡터를 부호화하는 방법에 있어서,
    영상의 현재 블록마다 생성된 복수의 예측 움직임 벡터를 이용하여 상기 현재 블록에 대한 움직임 벡터의 해상도를 결정하는 단계; 및
    결정된 상기 움직임 벡터의 해상도를 포함하는 움직임 정보를 부호화하는 단계;를 포함하는 움직임 벡터를 부호화하는 방법.
  7. 청구항 6에 있어서, 상기 움직임 벡터의 해상도를 결정하는 단계는,
    상기 예측 움직임 벡터를 이용하여 하나 이상의 예측 움직임 벡터 간 거리 값을 계산하는 단계와,
    계산된 예측 움직임 벡터 간 거리 값으로 이루어진 거리 값 집합 중 하나의 예측 움직임 벡터 간 거리 값을 선택하는 단계를 포함하고,
    선택된 예측 움직임 벡터 간 거리 값을 이용하여 상기 움직임 벡터의 해상도를 결정하는 것을 특징으로 하는 움직임 벡터를 부호화하는 방법.
  8. 청구항 7에 있어서, 상기 거리 값 집합에서 0이 아니면서 가장 작은 값을 하나의 예측 움직임 벡터 간 거리 값으로 선택하여 선택된 예측 움직임 벡터 간 거리 값의 색인을 이용하는 것을 특징으로 하는 움직임 벡터를 부호화하는 방법.
  9. 청구항 7에 있어서, 상기 선택된 예측 움직임 벡터 간 거리 값과 적응적 임계 값을 비교하여 상기 움직임 벡터의 해상도를 결정하는 것을 특징으로 하는 움직임 벡터를 부호화하는 방법.
  10. 청구항 9에 있어서, 상기 선택된 예측 움직임 벡터 거리 값이 상기 적응적 임계 값보다 크거나 같은 경우 움직임 벡터의 해상도는 상기 적응적 임계 값보다 작은 경우 움직임 벡터의 해상도보다 큰 화소 단위인 것을 특징으로 하는 움직임 벡터를 부호화하는 방법.
  11. 움직임 벡터 복호화 장치에 있어서,
    영상의 현재 블록마다 생성된 복수의 예측 움직임 벡터를 이용하여 선택된 움직임 벡터의 해상도를 비트스트림으로부터 복원하는 해상도 복원기; 및
    복원된 상기 움직임 벡터의 해상도에 따라 결정되는 움직임 벡터를 복원하는 움직임 벡터 복호화기;를 포함하는 움직임 벡터 복호화 장치.
  12. 움직임 벡터를 복호화하는 방법에 있어서,
    영상의 현재 블록마다 생성된 복수의 예측 움직임 벡터를 이용하여 선택된 움직임 벡터의 해상도를 비트스트림으로부터 복원하는 단계; 및
    복원된 상기 움직임 벡터의 해상도에 따라 결정되는 움직임 벡터를 복원하는 단계;를 포함하는 움직임 벡터를 복호화하는 방법.
KR1020120019664A 2012-02-27 2012-02-27 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법 KR101373083B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120019664A KR101373083B1 (ko) 2012-02-27 2012-02-27 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120019664A KR101373083B1 (ko) 2012-02-27 2012-02-27 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법

Publications (2)

Publication Number Publication Date
KR20130097958A true KR20130097958A (ko) 2013-09-04
KR101373083B1 KR101373083B1 (ko) 2014-03-12

Family

ID=49450078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120019664A KR101373083B1 (ko) 2012-02-27 2012-02-27 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법

Country Status (1)

Country Link
KR (1) KR101373083B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101377530B1 (ko) * 2009-08-21 2014-03-27 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
KR101373083B1 (ko) 2014-03-12

Similar Documents

Publication Publication Date Title
JP6992128B2 (ja) 映像復号化方法
KR102046522B1 (ko) 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치
US9948945B2 (en) Method for generating prediction block in AMVP mode
US8774279B2 (en) Apparatus for decoding motion information in merge mode
KR101316060B1 (ko) 인터 예측 부호화된 동영상 복호화 방법
CA2935336C (en) Video decoder, video encoder, video decoding method, and video encoding method
KR101569725B1 (ko) 영상의 부호화 방법 및 장치, 및 복호화 방법 및 장치
EP3140988B1 (en) Method and device for reducing a computational load in high efficiency video coding
KR101924088B1 (ko) 적응적 예측 블록 필터링을 이용한 영상 부호화/복호화 장치 및 방법
KR101462637B1 (ko) 영상 부호화/복호화 방법 및 장치
KR20130067280A (ko) 인터 예측 부호화된 동영상 복호화 방법
KR100856392B1 (ko) 현재 영상의 복원영역을 참조하는 동영상 부호화/복호화장치 및 그 방법
JP6528635B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
KR101510585B1 (ko) 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법
KR101373083B1 (ko) 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법
KR102585178B1 (ko) 효율적인 움직임 정보 예측을 이용한 영상 부호화/복호화 방법과 장치
KR102585179B1 (ko) 효율적인 움직임 정보 예측을 이용한 영상 부호화/복호화 방법과 장치
KR20180041833A (ko) 화면 내 예측에 대한 참조 모드 리스트를 사용하는 비디오 코딩 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170209

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180220

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190221

Year of fee payment: 6