KR101441889B1 - 움직임벡터 부호화 및 복호화 장치와 방법 - Google Patents

움직임벡터 부호화 및 복호화 장치와 방법 Download PDF

Info

Publication number
KR101441889B1
KR101441889B1 KR1020110001187A KR20110001187A KR101441889B1 KR 101441889 B1 KR101441889 B1 KR 101441889B1 KR 1020110001187 A KR1020110001187 A KR 1020110001187A KR 20110001187 A KR20110001187 A KR 20110001187A KR 101441889 B1 KR101441889 B1 KR 101441889B1
Authority
KR
South Korea
Prior art keywords
motion vector
component
virtual
unit
current
Prior art date
Application number
KR1020110001187A
Other languages
English (en)
Other versions
KR20120079862A (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 KR1020110001187A priority Critical patent/KR101441889B1/ko
Publication of KR20120079862A publication Critical patent/KR20120079862A/ko
Application granted granted Critical
Publication of KR101441889B1 publication Critical patent/KR101441889B1/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
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence

Landscapes

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

Abstract

본 발명은 부호화 대상블록의 움직임벡터(이하, '현재 움직임벡터'라 함)를 부호화하는 움직임벡터 부호화 장치에 관한 것으로, 상기 부호화 대상블록에 인접한 적어도 하나의 주변블록의 움직임벡터에 기반하여 생성한 제1 움직임벡터 후보집합을 이용하여 예측 움직임벡터의 제1 성분을 예측하는 제1 예측부; 상기 적어도 하나의 주변블록의 움직임벡터를 이용한 인터폴레이션(Interpolation)이 가능한지 여부를 판단하고, 그 판단결과에 따라 인터폴레이션을 수행하여 적어도 하나의 가상 움직임벡터를 생성하는 가상 움직임벡터 생성부; 상기 적어도 하나의 주변블록의 움직임벡터 및 상기 가상 움직임벡터 생성부가 출력하는 가상 움직임벡터를 포함하는 제2 움직임벡터 후보집합과 상기 현재 움직임벡터의 제1 성분을 이용하여 상기 예측 움직임벡터의 제2 성분을 예측하는 제2 예측부; 및 상기 예측 움직임벡터를 이용하여 상기 현재 움직임벡터에 대한 부호화를 수행하는 움직임벡터 부호화부를 포함하는 것을 특징으로 하는 움직임벡터 부호화 장치를 제공한다.

Description

움직임벡터 부호화 및 복호화 장치와 방법{Apparatus and Method for Encoding and Decoding Motion Vector}
본 발명은 움직임 벡터 부호화 및 복호화 장치 및 방법에 관한 것이다.
현재, 영상 부호화 및 복호화 분야에서 널리 사용되고 있는 움직임벡터 부호화 및 복호화 방법은 부호화 대상블록(이하, '현재블록'이라 함)에 대해 시공간적으로 주변에 위치한 주변블록의 움직임벡터를 예측값으로 사용하여 움직임 예측된 현재블록의 움직임벡터(이하, '현재 움직임벡터'라 함)를 예측 부호화하는 것이다. 즉, 현재 움직임벡터는 주변블록의 움직임벡터와 상당한 상관관계를 가지고 있기 때문에, 소정의 방법을 통해 주변블록의 움직임벡터로부터 현재 움직임벡터의 예측값(이하, '예측 움직임벡터'라 함)을 계산한 후, 현재 움직임벡터 자체를 부호화하지 않고 예측 움직임벡터에 대한 차분 움직임벡터만을 부호화함으로써 부호화해야 할 비트량을 줄여 부호화 효율을 높이고 있다.
H.264/AVC에서는 부호화할 현재블록의 주변블록들의 움직임벡터들에 대해 중간값(Median) 연산을 수행하여 예측 움직임벡터를 계산하고 있다.
이러한 기술은 움직임벡터를 부호화하는 데에 소요되는 비트량을 줄이는 데에 어느 정도 기여하지만, 현재블록의 움직임벡터와 상관관계가 높은 최적의 예측 움직임벡터를 예측하는 데에는 한계가 있으며, 따라서 부호화 효율의 향상에 있어서도 한계가 따른다.
이러한 문제를 해결하기 위해, 본 발명은 예측 움직임벡터의 제1 성분과 제2 성분을 구분하여 예측하되, 제1 성분은 현재블록에 인접한 주변블록들의 움직임벡터들을 이용하여 예측하고, 제2 성분은 주변블록들의 움직임벡터들을 인터폴레이션(Interpolation)하여 생성한 가상 움직임벡터들과 주변블록의 움직임벡터들을 이용하여 예측함으로써, 부호화 효율을 향상시킬 수 있는 부호화 및 복호화 장치와 방법을 제공함을 목적으로 한다.
이러한 목적을 달성하기 위해, 본 발명은 부호화 대상블록의 움직임벡터(이하, '현재 움직임벡터'라 함)를 부호화하는 움직임벡터 부호화 장치에 있어서, 상기 부호화 대상블록에 인접한 적어도 하나의 주변블록의 움직임벡터에 기반하여 생성한 제1 움직임벡터 후보집합을 이용하여 예측 움직임벡터의 제1 성분을 예측하는 제1 예측부; 상기 적어도 하나의 주변블록의 움직임벡터를 이용한 인터폴레이션(Interpolation)이 가능한지 여부를 판단하고, 그 판단결과에 따라 인터폴레이션을 수행하여 적어도 하나의 가상 움직임벡터를 생성하는 가상 움직임벡터 생성부; 상기 적어도 하나의 주변블록의 움직임벡터 및 상기 가상 움직임벡터 생성부가 출력하는 가상 움직임벡터를 포함하는 제2 움직임벡터 후보집합과 상기 현재 움직임벡터의 제1 성분을 이용하여 상기 예측 움직임벡터의 제2 성분을 예측하는 제2 예측부; 및 상기 예측 움직임벡터를 이용하여 상기 현재 움직임벡터에 대한 부호화를 수행하는 움직임벡터 부호화부를 포함하는 것을 특징으로 하는 움직임벡터 부호화 장치를 제공한다.
여기서, 상기 제2 예측부는 상기 제2 움직임벡터 후보집합에 속하는 움직임벡터 후보들 중에서 상기 현재 움직임벡터의 제1 성분과의 거리가 가장 가까운 제1 성분을 갖는 움직임벡터 후보를 이용하여 상기 예측 움직임벡터의 제2 성분을 예측할 수 있다. 또한, 상기 예측 움직임벡터의 제1 성분과 거리가 가장 가까운 제1 성분을 갖는 움직임벡터 후보가 복수 개인 경우, 그 복수 개의 움직임벡터 후보들의 제2 성분의 평균값을 상기 예측 움직임벡터의 제2 성분으로 예측할 수 있다.
한편, 상기 가상 움직임벡터 생성부는 상기 부호화 대상블록에 인접한 주변블록들 중 두 개의 주변블록들을 선별하고 선별된 두 개의 주변블록들의 움직임벡터들에 대해 정수 기반의 인터폴레이션을 수행하여 상기 적어도 하나의 가상 움직임벡터를 생성할 수 있고, 여기서 두 개의 주변블록을 선별함에 있어서 서로 인접한 블록들을 선별할 수 있다.
또 다른 목적을 위해 본 발명은, 복호화 대상블록의 부호화된 움직임벡터를 복호화하여 생성한 복호화된 움직임벡터를 상기 복호화 대상블록의 움직임벡터(이하, '현재 움직임벡터'라 함)로 복원하는 움직임벡터 복호화 장치에 있어서, 상기 복호화 대상블록에 인접한 적어도 하나의 주변블록의 움직임벡터에 기반하여 생성한 제1 움직임벡터 후보집합을 이용하여 예측 움직임벡터의 제1 성분을 예측하고, 상기 복호화된 움직임벡터의 제1 성분과 상기 예측 움직임벡터의 제1 성분을 이용하여 상기 현재 움직임벡터의 제1 성분을 복원하는 제1 성분 복원부; 상기 적어도 하나의 주변블록의 움직임벡터를 이용한 인터폴레이션(Interpolation)이 가능한지 여부를 판단하고, 그 판단결과에 따라 인터폴레이션을 수행하여 적어도 하나의 가상 움직임벡터를 생성하는 가상 움직임벡터 생성부; 및 상기 적어도 하나의 주변블록의 움직임벡터 및 상기 가상 움직임벡터 생성부가 출력하는 가상 움직임벡터를 포함하는 제2 움직임벡터 후보집합과 상기 제1 성분 복원부가 복원한 상기 현재 움직임벡터의 제1 성분을 이용하여 상기 예측 움직임벡터의 제2 성분을 예측하고, 상기 복호화된 움직임벡터의 제2 성분과 상기 예측 움직임벡터의 제2 성분을 이용하여 상기 현재 움직임벡터의 제2 성분을 복원하는 제2 성분 복원부를 포함하는 움직임벡터 복호화 장치를 제공한다.
또 다른 목적을 위해 본 발명은, 부호화 또는 복호화 대상블록의 움직임벡터(이하, '현재 움직임벡터'라 함)에 대한 예측 움직임벡터를 결정하는 장치에 있어서, 상기 부호화 또는 복호화 대상블록에 인접한 적어도 하나의 주변블록의 움직임벡터에 기반하여 생성한 제1 움직임벡터 후보집합을 이용하여 예측 움직임벡터의 제1 성분을 예측하는 제1 예측부; 상기 적어도 하나의 주변블록의 움직임벡터를 이용한 인터폴레이션(Interpolation)이 가능한지 여부를 판단하고, 그 판단결과에 따라 인터폴레이션을 수행하여 적어도 하나의 가상 움직임벡터를 생성하는 가상 움직임벡터 생성부; 및 상기 적어도 하나의 주변블록의 움직임벡터 및 상기 가상 움직임벡터 생성부가 출력하는 가상 움직임벡터를 포함하는 제2 움직임벡터 후보집합과 상기 현재 움직임벡터의 제1 성분을 이용하여 상기 예측 움직임벡터의 제2 성분을 예측하는 제2 예측부를 포함하는 것을 특징으로 하는 예측 움직임벡터 결정 장치를 제공한다.
또 다른 목적을 위해 본 발명은, 부호화 대상블록의 움직임벡터(이하, '현재 움직임벡터'라 함)를 부호화하는 움직임벡터 부호화 방법에 있어서, 상기 부호화 대상블록에 인접한 적어도 하나의 주변블록의 움직임벡터에 기반하여 생성한 제1 움직임벡터 후보집합을 이용하여 예측 움직임벡터의 제1 성분을 예측하는 제1 예측 단계; 상기 적어도 하나의 주변블록의 움직임벡터를 이용한 인터폴레이션(Interpolation)이 가능한지 여부를 판단하고, 그 판단결과에 따라 인터폴레이션을 수행하여 적어도 하나의 가상 움직임벡터를 생성하는 가상 움직임벡터 생성 단계; 상기 적어도 하나의 주변블록의 움직임벡터 및 상기 가상 움직임벡터 생성 단계에서 생성되는 가상 움직임벡터를 포함하는 제2 움직임벡터 후보집합과 상기 현재 움직임벡터의 제1 성분을 이용하여 상기 예측 움직임벡터의 제2 성분을 예측하는 제2 예측 단계; 및 상기 예측 움직임벡터를 이용하여 상기 현재 움직임벡터에 대한 부호화를 수행하는 움직임벡터 부호화 단계를 포함하는 것을 특징으로 하는 움직임벡터 부호화 방법을 제공한다.
또 다른 목적을 위해 본 발명은, 복호화 대상블록의 부호화된 움직임벡터를 복호화하여 생성한 복호화된 움직임벡터를 상기 복호화 대상블록의 움직임벡터(이하, '현재 움직임벡터'라 함)로 복원하는 움직임벡터 복호화 방법에 있어서, 상기 복호화 대상블록에 인접한 적어도 하나의 주변블록의 움직임벡터에 기반하여 생성한 제1 움직임벡터 후보집합을 이용하여 예측 움직임벡터의 제1 성분을 예측하고, 상기 복호화된 움직임벡터의 제1 성분과 상기 예측 움직임벡터의 제1 성분을 이용하여 상기 현재 움직임벡터의 제1 성분을 복원하는 제1 성분 복원 단계; 상기 적어도 하나의 주변블록의 움직임벡터를 이용한 인터폴레이션(Interpolation)이 가능한지 여부를 판단하고, 그 판단결과에 따라 인터폴레이션을 수행하여 적어도 하나의 가상 움직임벡터를 생성하는 가상 움직임벡터 생성 단계; 및 상기 적어도 하나의 주변블록의 움직임벡터 및 상기 가상 움직임벡터 생성 단계에서 생성되는 가상 움직임벡터를 포함하는 제2 움직임벡터 후보집합과 상기 제1 성분 복원 단계에서 복원된 상기 현재 움직임벡터의 제1 성분을 이용하여 상기 예측 움직임벡터의 제2 성분을 예측하고, 상기 복호화된 움직임벡터의 제2 성분과 상기 예측 움직임벡터의 제2 성분을 이용하여 상기 현재 움직임벡터의 제2 성분을 복원하는 제2 성분 복원 단계를 포함하는 움직임벡터 복호화 방법을 제공한다.
본 발명에 의하면, 현재 움직임벡터와 상관관계가 높은 예측 움직임벡터를 예측할 수 있으므로 움직임벡터에 대한 부호화 효율을 향상시킬 수 있고, 이에 따라 전체 영상에 대한 부호화 효율이 향상된다는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치의 구성을 나타내는 블록도,
도 2는 본 발명의 일 실시예에 따른 움직임벡터 부호화 장치의 구성을 나타내는 블록도,
도 3은 현재블록에 인접한 주변블록들을 나타내는 예시 도면,
도 4는 본 발명의 일 실시예에 따른 가상 움직임벡터를 생성하는 과정을 설명하기 위해 예시 도면,
도 5는 본 발명의 실시예에 따른 움직임벡터 부호화 방법을 나타내는 순서도,
도 6은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 나타내는 블록도,
도 7은 본 발명의 일 실시예에 따른 움직임벡터 복호화 장치의 구성을 나타내는 블록도,
도 8은 본 발명의 일 실시예에 따른 움직임벡터 복호화 방법을 나타내는 순서도이다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치의 구성을 나타내는 블록도이다.
본 발명의 일 실시예에 따른 영상 부호화 장치는 인트라 예측부(110), 인터 예측부(120), 감산기(130), 변환 및 양자화부(140), 부호화부(150), 역양자화 및 역변환부(160), 가산기(170), 프레임 메모리(180) 등을 포함할 수 있다.
여기서 영상 부호화 장치는, 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
부호화하고자 하는 영상은 블록 단위로 분할되어 입력될 수 있는데, 블록의 크기는 다양하게 정의될 수 있다.
인트라 예측부(110)는, 현재블록과 공간적으로 주변에 위치하는 인접블록에서 사용 가능한 참조 화소값을 이용해 현재블록의 인트라 예측블록을 생성한다. 이 경우, 사용 가능한 인트라 예측모드에 대해 각각 현재블록과 인트라 예측블록 간의 에러값을 연산하고, 최소의 에러값을 갖는 인트라 예측모드를 적용하여 인트라 예측블록을 생성한다. 또한, 최소의 에러값을 갖는 인트라 예측모드에 대한 정보를 부호화부(150)에 제공한다.
인터 예측부(120)는 이미 부호화 과정을 거치고 복원된 이전 프레임에서 탐색 영역을 결정하고, 결정된 탐색 영역에서 움직임 추정 과정을 거쳐 현재블록과 상관관계가 높은, 즉, 현재블록에 대해 최소의 에러를 발생시키는 인트라 예측블록을 생성한다. 또한, 움직임 추정 과정을 통해 생성된 현재블록에 대한 움직임벡터(현재 움직임벡터)를 부호화부(150)로 제공한다.
감산기(130)는 입력된 현재블록과 인트라 예측부(110) 또는 인터 예측부(120)로부터 수신한 인트라 예측블록 또는 인터 예측블록을 감산하여 잔차블록(Residual Block)을 생성한 후 이를 변환 및 양자화부(140)로 전달한다. 즉, 감산기(130)는 현재블록의 화소값과 인트라 예측부(110) 또는 인터 예측부(120)로부터 전달받은 예측블록의 화소값을 감산하여 잔차블록을 생성한다.
변환 및 양자화부(140)는 감산기(130)에서 생성된 잔차블록을 주파수 영역으로 변환한 후 이를 양자화한다. 즉, 변환 및 양자화부(140)는 감산기(130)에 의해 생성된 잔차블록의 잔차 계수를 주파수 영역으로 변환하여 주파수 계수를 갖는 잔차블록을 생성하고, 주파수 계수를 갖는 잔차블록을 양자화한다. 여기서, 변환 방식으로는 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반의 정수 변환(Discrete Cosine Transform Based Integer Transform) 등과 같은 공간 영역의 화상 신호를 주파수 영역으로 변환하는 기법이 사용될 수 있고, 양자화 방식으로는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization) 또는 양자화 가중치 매트릭스 (Quantization Weighted Matrix) 등과 같은 다양한 양자화 기법이 이용될 수 있다. 그러나 변환 및 양자화 방식이 이에 한정되는 것은 아니며, 보다 다양한 변환 및 양자화 기법들이 이용될 수 있을 것이다.
부호화부(150)는 변환 및 양자화부(140)에 의해 변환되고 양자화된 잔차블록을 부호화하여 부호화 데이터를 생성한다. 생성된 부호화 데이터는 비트스트림으로 출력될 수 있다. 부호화부(150)에 의해 사용되는 부호화 기술로는 엔트로피 부호화(Entropy Encoding) 기술이 사용될 수 있으나, 이에 한정되는 것은 아니며 다른 다양한 부호화 기술이 사용될 수 있을 것이다.
또한, 부호화부(150)는 부호화 데이터를 복호화하는 데에 필요한 다양한 정보들을 부호화 데이터에 포함시킬 수 있다. 예컨대, 부호화 데이터는 부호화된 블록 형태(CBP: Coded Block Pattern), 델타 양자화 계수(Delta Quantization Parameter), 양자화 주파수 계수가 부호화된 비트열을 포함하는 제1 필드와 예측에 필요한 정보(예를 들어, 인트라 예측의 경우 인트라 예측 모드에 대한 정보, 인터 예측의 경우 움직임 정보 등)를 포함하는 제2 필드를 포함할 수 있다.
또한, 부호화부(150)는 움직임 추정에 사용된 참조프레임의 색인 정보나 움직임 벡터의 정밀도(예를 들면, 1/2-화소단위, 1/4- 화소단위, 1/8 단위 화소단위 등)를 출력할 수도 있다. 그러나, 부호화 장치와 복호화 장치가 사전에 어떤 값을 사용할지를 미리 약속한 경우, 예를 들어, 시간적으로 가장 최근인 참조프레임을 사용하는 것으로 상호 약속하거나 움직임 정보의 정밀도로서 1/4-화소 단위를 사용하는 것으로 부호화 장치와 복호화 장치가 상호 약속한 경우 등에 있어서는 이러한 정보를 출력하지 않을 수도 있다.
특히, 부호화부(150)는 움직임벡터를 부호화하기 위한 움직임벡터 부호화 장치를 포함할 수 있는데, 이 움직임벡터 부호화 장치는 본 발명의 실시예에서 제안하는 예측 움직임벡터 결정 방식에 따라 결정된 예측 움직임벡터와 현재 움직임벡터를 이용하여 차분 움직임벡터를 생성하고 생성된 차분 움직임벡터를 부호화한다. 움직임벡터 부호화 장치는 도 2 내지 도 4를 참조하여 후술하기로 한다.
역양자화 및 역변환부(160)는 변환 및 양자화부(140)에 의해 변환 및 양자화된 잔차블록을 역양자화 및 역변환하여 잔차블록을 복원한다. 즉, 역양자화와 역변환은 변환 및 양자화부(140)가 수행한 변환 과정과 양자화 과정을 역으로 수행하며 다양한 방법으로 구현될 수 있다. 예를 들어, 변환 및 양자화부(140)와 역양자화 및 역변환부(160)가 사전에 공유하는 동일한 과정의 변환 및 역변환 또는 양자화 및 역양자화를 사용할 수 있고, 또는 역양자화 및 역변환부(160)는 변환 및 양자화부(140)의 변환 및 양자화 과정에 의해 발생되어 전달되는 변환 및 양자화 과정에 관한 정보(예를 들어, 변환 크기, 변환 모양, 양자화 타입 등의 정보)를 이용하여 잔여데이터 부호화부(230)의 변환 및 양자화 과정을 역으로 수행함으로써, 역양자화 및 역변환을 수행할 수도 있다.
가산기(170)는 역양자화 및 역변환부(160)에서 복원된 잔차블록과 인트라 예측부(110) 또는 인터 예측부(120)로부터 출력되는 예측블록을 가산하여 복원블록을 생성한다. 생성된 복원블록은 프레임 메모리(180)에 저장되어 이후에 부호화해야 할 대상블록을 부호화하기 위한 참조프레임으로 사용된다.
한편, 도 1에는 도시하지 않았으나, 본 발명의 실시예에 따른 영상 부호화 장치는 블록 단위의 예측 및 양자화에 의해 발생하는 블록킹 효과를 감소시키기 위해 복원블록을 필터링하는 디블록킹 필터를 포함할 수 있다. 이때, 인트라 예측의 경우에는 디블록킹 필터에 의해 필터링되지 않은 복원블록을 사용하고, 인터 예측의 경우에는 필터링된 복원블록을 사용할 수 있다.
도 2는 본 발명의 일 실시예에 따른 움직임벡터 부호화 장치의 구성을 나타내는 블록도이며, 이러한 구성들은 독립적인 하드웨어 또는 소프트웨어 모듈로서 구현될 수 있을 것이다.
본 발명의 실시예에 따른 움직임벡터 부호화 장치는 예측 움직임벡터 결정부(200), 성분 분리기(240), 차분기(252, 254), 및 엔트로피 부호화부(260)를 포함할 수 있다.
예측 움직임벡터 결정부(200)는 본 발명의 실시예에서 제안하는 방식에 따라 현재 움직임벡터에 대한 예측 움직임벡터를 결정하며, 제1 예측부(210), 가상 움직임벡터 생성부(220) 및 제2 예측부(230)를 포함할 수 있다.
제1 예측부(210)는 현재블록에 인접한 적어도 하나의 주변블록의 움직임벡터에 기반하여 생성한 제1 움직임벡터 후보집합을 이용하여 예측 움직임벡터의 제1 성분을 예측하며, 제1 움직임벡터 후보집합 생성부(212) 및 제1 성분 예측부(214)를 포함할 수 있다. 이하에서는, 설명의 편의를 위해 제1 성분을 수직성분, 제2 성분을 수평성분으로 가정하여 설명하나, 반드시 이에 한정되는 것은 아니며, 제1 성분을 수평성분, 제2 성분을 수직성분으로 할 수 있음은 자명하다.
제1 움직임벡터 후보집합 생성부(212)는 현재블록에 인접한 적어도 하나의 주변블록을 이용하여 제1 움직임벡터 후보들을 선정한다.
예컨대, 도 3을 참조하면, 현재블록을 D, 현재블록에 인접한 이미 부호화된 주변블록을 A, B, C라 가정하고, 현재블록 D의 움직임벡터를
Figure 112011000915258-pat00001
, 주변블록 A, B, C의 움직임벡터를 각각
Figure 112011000915258-pat00002
,
Figure 112011000915258-pat00003
,
Figure 112011000915258-pat00004
라 하면, 제1 움직임벡터 후보집합 생성부(212)는 주변블록의 움직임벡터 {
Figure 112011000915258-pat00005
,
Figure 112011000915258-pat00006
,
Figure 112011000915258-pat00007
}를 제1 움직임벡터 후보집합으로 선정할 수 있다. 또는 제1 예측부(210)는 예측 움직임벡터의 제1 성분, 즉, 수직성분을 예측하는 기능을 수행하므로, 주변블록의 움직임벡터의 제1 성분만을 추출하여 {
Figure 112011000915258-pat00008
,
Figure 112011000915258-pat00009
,
Figure 112011000915258-pat00010
}를 제1 움직임벡터 후보로 선정할 수도 있다. 본 실시예에서는 현재블록에 대해 공간적으로 좌측, 상단, 우측상단에 위치한 주변블록들을 이용하여 제1 움직임벡터 후보집합을 선정하는 것으로 설명하고 있으나, 반드시 이에 한정되는 것은 아니며, 구현 방법이나 필요에 따라 보다 다양한 움직임 벡터들을 후보로서 선택할 수 있을 것이다.
예를 들어, 공간적으로 좌측상단에 위치한 블록의 움직임벡터도 후보로 사용할 수 있고, 시간적으로 이전에 부호화된 참조프레임에서 현재블록과 동일한 위치 또는 인접한 위치에 있는 블록의 움직임벡터를 현재블록에 대한 주변블록으로 하여 후보집합을 구성할 수도 있을 것이다. 또는 사용 가능한 후보가 존재하지 않는 경우에는 임의의 예측값(예를 들어, (0,0))을 유일한 후보로 사용할 수도 있다. 즉, 후보집합은 그 정의를 부호화 장치와 복호화 장치가 사전에 공유하고 있다는 전제 하에 다양한 방법으로 정의될 수 있을 것이다.
제1 성분 예측부(214)는 제1 움직임벡터 후보집합 생성부(212)에 의해 생성된 제1 움직임벡터 후보들을 이용하여 예측 움직임벡터의 제1 성분을 예측한다. 예컨대, 수학식 1에서 보는 바와 같이, 제1 성분 예측부(214)는 제1 움직임벡터 후보들의 제1 성분의 중간값을 예측 움직임벡터의 제1 성분, PMVy으로 예측할 수 있다. 그러나 이에 한정되는 것은 아니며, 제1 성분 예측부(214)는 제1 움직임벡터 후보들을 이용하여 보다 다양한 방식으로 예측 움직임벡터의 제1 성분을 예측할 수 있으며, 예를 들어 제1 움직임벡터 후보들의 평균값을 예측 움직임벡터로서 선정할 수도 있을 것이다.
Figure 112011000915258-pat00011
가상 움직임벡터 생성부(220) 및 제2 예측부(230)는 예측 움직임벡터의 제2 성분, 즉, 수평성분을 결정하기 위한 구성요소로서, 이 중 가상 움직임벡터 생성부(220)는 현재블록에 인접한 주변블록들을 이용한 인터폴레이션(Interpolation)이 가능한지 여부를 판단하고, 인터폴레이션이 가능한 경우 그 주변블록들을 인터폴레이션하여 가상 움직임벡터를 생성한다. 여기서, 인터폴레이션이란 특정 함수를 이용하여 몇 개의 점에 주어진 값을 기초로 그 점들 사이의 값을 구하는 것을 의미하며, 그 특정 함수의 종류에 따라 선형 인터폴레이션(Linear Interpolation)과 비선형 인터폴레이션(Non-linear Interpolation)으로 구분될 수 있다. 이하에서는, 선형 인터폴레이션을 이용하여 주변블록들의 움직임벡터를 인터폴레이션하는 것으로 설명하나, 본 발명의 범위가 이에 한정되는 것은 아니며 비선형 인터폴레이션을 사용하는 것도 본 발명의 범위에 포함되는 것으로 해석하여야 할 것이다.
예를 들어, 두 개의 주변블록의 움직임벡터를 각각 MV1(x1, y1), MV2(x2, y2)라 가정하고, y2≥y1이라 가정하면, 가상 움직임벡터 생성부(220)는 제1 성분인 y1과 y2 간의 거리 차가 1 이하인지 여부를 판단한다. 만약 y1=y2이거나 y2-y1=1 인 경우 두 개의 주변블록 MV1(x1, y1), MV2(x2, y2)에 대한 인터폴레이션이 불가능하다고 판단하게 되고, 그렇지 않은 경우에는 다음의 알고리즘에 의해 MV1(x1, y1), MV2(x2, y2) 간의 인터폴레이션을 수행하여 가상 움직임벡터를 생성한다.
Inclination = (x2-x1)/(y2-y1)
y = y1+1
While (y != y2)
x = floor(Inclination *(y-y1)) + x1;
(x,y)를 가상 움직임벡터로 선정
y = y+1
End While
이 알고리즘에서 변수 "Inclination"은 두 움직임벡터 MV1(x1, y1), MV2(x2, y2) 간의 기울기를 의미한다. 이 알고리즘에 따르면, 제1 성분인 y값을 y1에서 y2까지 차례로 증가시켜 가며, y1과 y2 사이의 모든 정수값에 대해 선형 인터폴레이션(Linear Interpolation)을 수행한다. 다만, 움직임벡터가 화소 단위로 결정되고 따라서 움직임벡터의 값이 정수이어야 한다고 가정할 때, 인터폴레이션은 정수 기반으로 수행되어야 한다. 이를 위해 본 실시예에서는 "floor" 연산을 사용하여 선형 인터폴레이션을 수행하여 얻은 x값이 소수점 이하의 값을 가지는 경우 내림 연산을 수행한다.
도 4를 참조하여, 가상 움직임벡터를 생성하는 과정을 좀 더 상세히 설명하면, MV1=(x1,y1)=(2,2)이고, MV2=(x2,y2)=(4, 6)이라고 할 때, y1과 y2는 거리가 2이상이므로, 가상 움직임벡터 생성부(220)는 전술한 알고리즘과 같은 연산을 수행하여 정수 기반의 인터폴레이션을 수행하게 된다.
먼저, y값을 y1=2에서 1만큼 증가시킬 때(y=3일 때), x값을 구하면, x=floor(2.5)=2이다. 따라서 VMV1=(2,3)이 가상 움직임벡터로서 생성된다.
다음 y값을 다시 1만큼 증가시켜 y=4일때 x값을 구하면, x=floor(3)=3이 된다. 따라서 VMV2=(3,4)이 가상 움직임벡터로서 생성된다.
y값을 다시 1만큼 증가시켜 y=5일 때 x값을 구하면, x=floor(3.5)=3이 된다. 따라서 VMV3=(3,5)가 가상 움직임벡터로서 생성된다.
다시 y값을 1만큼 증가시키면 y=6이 되고, 따라서 y=y2가 되므로, 알고리즘은 종료되고, 최종적으로 VMV1, VMV2, VMV3 세 개의 가상 움직임벡터가 생성된다.
본 실시예에서는 정수 기반의 인터폴레이션을 수행하기 위해, 내림 연산을 사용하였으나, 본 발명의 범위가 이에 한정되는 것은 아니며 올림이나 반올림 연산을 수행하여 x값을 정수로 만들 수도 있을 것이다. 또한, 본 실시예에서는 제1 성분, 즉, 수직성분인 y값을 기준으로 y값을 1씩 증가시켜가며 x값을 구하는 인터폴레이션을 수행하였으나, 이에 한정되는 것은 아니며, x값을 기준으로 x값을 1씩 증가시켜가며 y값을 구하는 방식으로 인터폴레이션을 수행할 수도 있을 것이다.
또한, 본 실시예에서는 설명의 편의를 위해 y2≥y1이라 가정하여 설명하였으나, 만약 y1≥y2이라면 y2를 기준으로 1씩 증가시켜가며 x를 구하는 인터폴레이션을 수행하거나 또는 y1을 기준으로 1씩 감소시켜가며 x를 구하는 인터폴레이션을 수행할 수도 있을 것이다.
한편, 가상 움직임벡터 생성부(220)는 전술한 알고리즘 이외에, 다음의 알고리즘과 같이, 두 개의 주변블록의 움직임벡터들의 평균값을 구하여 인터폴레이션을 수행할 수도 있을 것이다.
y = (y1+y2) >> 1
x = (x1+x2) >> 1
(x,y)를 가상 움직임벡터로 생성
위 알고리즘에서 ">>"는 이진 연산된 값을 오른쪽으로 시프트하는 연산을 의미하는 것으로, 두 값을 더하여 생성한 이진수 값을 1만큼 오른쪽으로 시프트한다는 것은 두 개의 이진수에 대한 평균을 구하는 연산과 동일하다. 더 정확히는 두 개의 이진수의 평균을 구한 후 이를 내림 연산하는 것과 동일하다.
도 4의 예에서와 같이, MV1=(x1,y1)=(2,2)이고, MV2=(x2,y2)=(4, 6)이라면, 위 알고리즘에 의해 생성된 가상 움직임벡터는 VMV=(3,4)가 된다. 만약, MV1=(x1,y1)=(2,3)이고, MV2=(x2,y2)=(5, 6)이라면, 위 알고리즘에 의해 생성된 가상 움직임벡터는 VMV=(3,4)가 된다.
가상 움직임벡터 생성부(220)는 현재블록에 인접한 주변블록들의 움직임벡터들, 예를 들어 제1 움직임벡터 후보집합으로 선정된 {
Figure 112011000915258-pat00012
,
Figure 112011000915258-pat00013
,
Figure 112011000915258-pat00014
}으로부터 두 개의 움직임벡터를 선별하고, 선별한 두 개의 움직임벡터를 이용하여 전술한 인터폴레이션을 수행함으로써 가상 움직임벡터를 생성한다. 즉,
Figure 112011000915258-pat00015
Figure 112011000915258-pat00016
를 이용하여 가상 움직임벡터를 생성하고,
Figure 112011000915258-pat00017
Figure 112011000915258-pat00018
를 이용하여 가상움직임벡터를 생성하며,
Figure 112011000915258-pat00019
Figure 112011000915258-pat00020
를 이용하여 가상 움직임벡터를 생성할 수 있다. 한편, 주변블록들 간의 인접성을 고려하여,
Figure 112011000915258-pat00021
Figure 112011000915258-pat00022
,
Figure 112011000915258-pat00023
Figure 112011000915258-pat00024
만을 이용하여 가상 움직임벡터를 생성할 수도 있을 것이다. 즉, 서로 인접한 주변블록들 간의 상관관계가 더 높을 수 있다는 것을 고려하여 서로 인접한 주변블록들만을 이용하여 가상 움직임벡터를 생성할 수 있다. 그러나 이에 한정되는 것은 아니며, 현재블록에 대한 주변블록, 즉, 시간적 또는 공간적으로 주변에 위치한 다양한 주변블록들 중 임의의 두 개를 선별하여 가상 움직임벡터를 생성할 수 있을 것이다.
제2 예측부(230)는 제2 움직임벡터 후보집합 생성부(232)와 제2 성분 예측부(234)를 포함할 수 있는데, 제2 움직임벡터 후보집합 생성부(232)는 현재블록에 인접한 주변블록들의 움직임벡터들과 가상 움직임벡터 생성부(220)에서 생성된 가상 움직임벡터들을 포함하는 제2 움직임벡터 후보집합을 생성한다. 즉, 현재블록 D에 인접한 주변블록 A, B, C의 움직임벡터인
Figure 112011000915258-pat00025
,
Figure 112011000915258-pat00026
,
Figure 112011000915258-pat00027
와 이 움직임벡터들을 이용하여 생성한 가상 움직임벡터들을 제2 움직임벡터 후보들로 선정한다. 가상 움직임벡터는 가상 움직임벡터 생성부(220)가 인터폴레이션이 가능하다고 판단한 경우에 생성되고, 그렇지 않은 경우에는 생성되지 않는다. 따라서 제2 움직임벡터 후보집합 생성부(232)는 가상 움직임벡터 생성부(220)로부터 생성 또는 출력되는 가상 움직임벡터가 없는 경우 주변블록의 움직임벡터만을 이용하여 제2 움직임벡터 후보집합을 생성하게 된다.
제2 성분 예측부(234)는 제2 움직임벡터 후보집합 생성부(232)에서 생성된 제2 움직임벡터 후보들 및 성분 분리기(240)에 의해 출력된 현재 움직임벡터의 제1 성분을 이용하여 예측 움직임벡터의 제2 성분을 예측한다.
예를 들어, 제2 성분 예측부(234)는 제2 움직임벡터 후보들 중 현재 움직임벡터의 제1 성분과 거리가 가장 가까운 제1 성분을 갖는 움직임벡터 후보의 제2 성분을 예측 움직임벡터의 제2 성분으로 예측할 수 있다.
나아가, 현재 움직임벡터의 제1 성분과 거리가 가장 가까운 제1 성분을 갖는 움직임벡터 후보가 복수 개 존재하는 경우, 그 복수 개의 움직임벡터들의 제2 성분들의 평균값을 예측 움직임벡터의 제2 성분으로 할 수도 있으며 또는 그 복수 개의 움직임벡터들의 제2 성분들의 중간값을 예측 움직임벡터의 제2 성분으로 할 수도 있다.
성분 분리기(240)는 움직임 추정 과정을 통해 획득된 현재블록에 대한 현재 움직임벡터를 입력받아 제1 성분과 제2 성분으로 분리하고, 제1 성분을 차분기(252) 및 제2 성분 예측부(234)로, 제2 성분을 차분기(254)로 출력한다.
차분기(252)는 제1 성분 예측부(214)에 의해 예측된 예측 움직임벡터 제1 성분과 성분 분리기(240)에서 출력된 현재 움직임벡터의 제1 성분을 감산하여 그 결과를 엔트로피 부호화부(260)로 출력한다.
차분기(254)는 제2 성분 예측부(234)에 의해 예측된 예측 움직임벡터 제2 성분과 성분 분리기(240)에서 출력된 현재 움직임벡터 제2 성분을 감산하여 엔트로피 부호화(260)로 출력한다.
엔트로피 부호화부(260)는 차분기(252, 254)로부터 출력된 값, 즉, 현재 움직임벡터와 예측 움직임벡터의 차분값을 엔트로피 부호화하여 비트스트림으로 출력한다.
도 5는 본 발명의 실시예에 따른 움직임벡터 부호화 방법을 나타내는 순서도이다.
본 발명의 실시예에 따른 움직임벡터 부호화 방법은 예측 움직임벡터의 제1 성분을 예측하는 제1 예측 단계(S510), 가상 움직임벡터 생성 단계(520), 예측 움직임벡터의 제2 성분을 예측하는 제2 예측 단계(S530) 및 움직임벡터 부호화 단계(S540)를 포함할 수 있다.
제1 예측단계(S510)는 현재블록에 인접한 주변블록들의 움직임벡터에 기반하여 제1 움직임벡터 후보집합을 생성하고, 생성된 제1 움직임벡터 후보집합을 이용하여 예측 움직임벡터의 제1 성분을 예측한다.
가상 움직임벡터 생성 단계(S520)는 현재블록에 인접한 주변블록들의 움직임벡터들을 이용한 인터폴레이션이 가능한지 여부를 판단하고, 가능한 경우 그 주변블록들의 움직임벡터들을 인터폴레이션하여 가상 움직임벡터를 생성한다.
제2 예측단계(S530)는 현재블록에 인접한 주변블록들의 움직임벡터와 가상 움직임벡터 생성 단계(S520)에서 생성되는 가상 움직임벡터를 포함하는 제2 움직임벡터 후보들을 생성하고, 그 제2 움직임벡터 후보들과 현재 움직임벡터의 제1 성분을 이용하여 예측 움직임벡터의 제2 성분을 예측한다.
움직임벡터 부호화 단계(S540)는 제1 예측 단계(S510)와 제2 예측단계(S530)에 의해 생성된 예측 움직임벡터를 이용하여 현재 움직임벡터를 부호화한다. 예컨대, 현재 움직임벡터와 예측 움직임벡터를 차분한 결과를 엔트로피 부호화한다.
제1 예측단계(S510)는 제1 예측부(210), 가상 움직임벡터 생성 단계(S520)는 가상 움직임벡터 생성부(220), 제2 예측 단계(S530)는 제2 예측부(230), 움직임벡터 부호화 단계(S540)는 차분기(252, 254) 및 엔트로피 부호화부(260)에서 수행되는 과정과 각각 동일하므로, 중복 설명을 피하기 위해 각 단계에 대한 더 이상의 설명을 생략한다.
이상에서 설명한 움직임벡터 부호화 방법은 컴퓨터 프로그램으로 구현되어 기록매체에 저장되고, 컴퓨터가 그 기록매체에 접근하여 프로그램을 실행시킴으로써 구현될 수 있을 것이다. 그러나 이에 한정되는 것은 아니며, 움직임벡터 부호화 방법의 각 단계를 수행하는 모듈들이 하나의 하드웨어 칩으로 구현되고, 그 하드웨어 칩이 동작함으로써 움직임벡터 부호화 방법이 구현될 수도 있을 것이다.
도 6은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 나타내는 블록도이다.
본 발명의 일 실시예에 따른 영상 복호화 장치는, 도 1을 통해 전술한 영상 부호화 장치와 같이, 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
본 발명의 일 실시예에 따른 영상 복호화 장치는 복호화부(610), 역양자화 및 역변환부(620), 인트라 예측부(630), 인터 예측부(640), 가산기(650) 및 프레임 메모리(660)를 포함할 수 있다.
복호화부(610)는 입력받은 부호화 데이터를 엔트로피 복호화하여 블록 단위 복호화에 필요한 정보를 추출한다. 즉, 복호화부(610)는 부호화 데이터를 복호화하여 양자화 주파수 계수열을 추출하고, 양자화 주파수 계수열을 역 스캐닝하여 양자화 주파수 계수를 갖는 잔차블록을 생성한다. 예컨대, 부호화 장치가 지그재그 스캐닝 방식을 사용하였다면, 복호화 장치는 역 지그재그 스캐닝 방식을 적용하여 양자화 주파수 계수열을 역 스캐닝함으로써 양자화 주파수 계수를 갖는 잔차블록을 생성하게 된다.
이 때, 복호화부(610)는 부호화 데이터에 포함된 제1 필드에서 부호화된 잔차블록을 추출하여 복호화할 수 있고, 부호화 데이터에 포함된 제2 필드에서 예측에 필요한 정보를 추출하여 인트라 예측부(620) 또는 인터 예측부(630)로 전달할 수 있다.
한편, 복호화부(610)는 본 발명의 실시예에서 제안하는 움직임벡터 복호화 장치를 포함할 수 있는데, 움직임벡터 복호화 장치는 도 7을 통해 후술한다.
역양자화 및 역변환부(620)는 복호화부(610)로부터 전달받은 양자화된 잔차블록을 역 양자화하고 이를 다시 역변환하여 잔차블록을 생성한다.
인트라 예측부(630)는 복호화부(610)로부터 전달되는 인트라 예측에 필요한 정보(예를 들어, 인트라 예측 모드에 관한 정보 등)를 이용하여 현재블록에 대한 인트라 예측블록을 생성한다.
인터 예측부(640)는 복호화부(610)으로부터 전달되는 인터 예측에 필요한 정보(예를 들어, 현재블록의 움직임벡터 등)를 이용하여 인터 예측블록을 생성한다.
가산기(650)는 인트라 예측부(630) 또는 인터 예측부(640)로부터 전달되는 예측블록과 역양자화 및 역변환부(620)로부터 전달되는 잔차블록을 가산하여 현재블록을 복원한다. 복원된 현재블록은 프레임 메모리(660)에 저장되며, 이후 다른 블록들을 예측하는 데에 활용된다.
한편, 도 6에는 도시하지 않았으나, 본 발명의 실시예에 따른 영상 복호화 장치는 블록 단위의 예측 및 양자화에 의해 발생하는 블록킹 효과를 감소시키기 위해 복원블록을 필터링하는 디블록킹 필터를 포함할 수 있다. 이때, 인트라 예측의 경우에는 디블록킹 필터에 의해 필터링되지 않은 복원블록을 사용하고, 인터 예측의 경우에는 필터링된 복원블록을 사용할 수 있다.
도 7은 본 발명의 일 실시예에 따른 움직임벡터 복호화 장치의 구성을 나타내는 블록도이며, 이러한 구성들은 독립적인 하드웨어 또는 소프트웨어 모듈로서 구현될 수 있을 것이다.
본 발명의 일 실시예에 따른 움직임벡터 복호화 장치는 엔트로피 복호화부(710), 제1 성분 복원부(720), 가상 움직임벡터 생성부(730), 제2 성분 복원부(740) 및 움직임벡터 구성기(750)를 포함할 수 있다.
엔트로피 복호화부(710)는 부호화된 움직임벡터를 엔트로피 복호화하여 복호화된 움직임벡터를 생성하고, 복호화된 움직임벡터의 제1 성분과 제2 성분을 각각 제1 성분 복원부(720) 및 제2 성분 복원부(740)로 전달한다.
제1 성분 복원부(720)는 복호화 대상블록인 현재블록에 인접한 적어도 하나의 주변블록의 움직임벡터에 기반하여 생성한 제1 움직임벡터 후보집합을 이용하여 예측 움직임벡터의 제1 성분을 예측하고, 엔트로피 복호화부(710)로부터 전달된 복호화된 움직임벡터의 제1 성분과 예측 움직임벡터의 제1 성분을 이용하여 현재 움직임벡터의 제1 성분을 복원한다.
더 구체적으로, 제1 성분 복원부(720)는 제1 움직임벡터 후보집합 생성부(722), 제1 성분 예측부(724) 및 가산기(726)를 포함할 수 있다.
제1 움직임벡터 후보집합 생성부(722)는 현재블록에 대한 위치정보를 이용하여 현재블록에 인접한 적어도 하나의 주변블록의 움직임벡터를 선정하고, 그 주변블록의 움직임벡터를 이용하여 제1 움직임벡터 후보집합을 선정한다. 예를 들어, 도 3을 참조하면, 제1 움직임벡터 후보집합 생성부(722)는 현재블록 D에 인접한 주변블록의 움직임벡터 {
Figure 112011000915258-pat00028
,
Figure 112011000915258-pat00029
,}를 제1 움직임벡터 후보집합으로 선정할 수 있다. 또는 주변블록의 움직임벡터의 제1 성분만을 추출하여 {
Figure 112011000915258-pat00031
,
Figure 112011000915258-pat00032
,
Figure 112011000915258-pat00033
}를 제1 움직임벡터 후보로 선정할 수도 있다. 본 실시예에서는 현재블록에 대해 공간적으로 좌측, 상단, 우측상단에 위치한 주변블록들을 이용하여 제1 움직임벡터 후보집합을 선정하는 것으로 설명하고 있으나, 반드시 이에 한정되는 것은 아니며, 움직임벡터 복호화 장치와 움직임벡터 부호화 장치가 제1 움직임벡터 후보집합에 대한 생성 기준을 공유하는 한, 다양한 방식으로 제1 움직임벡터 후보집합을 선정할 수 있을 것이다.
제1 성분 예측부(724)는 제1 움직임벡터 후보집합에 속하는 후보들을 이용하여 예측 움직임벡터의 제1 성분을 예측한다. 예컨대, 움직임벡터 부호화 장치의 제1 성분 예측부(214)가 수학식 1에 의해 제1 움직임벡터 후보들의 제1 성분의 중간값을 예측 움직임벡터의 제1 성분으로 예측한다면, 움직임벡터 복호화 장치의 제1 성분 예측부(724) 또한 제1 움직임벡터 후보집합에 속하는 제1 움직임벡터 후보들의 제1 성분의 중간값을 예측 움직임벡터의 제1 성분으로 예측한다.
가산기(726)는 제1 성분 예측부(724)로부터 전달된 예측 움직임벡터의 제1 성분과 엔트로피 복호화(710)로부터 전달된 복호화된 움직임벡터의 제1 성분을 가산하여 현재 움직임벡터의 제1 성분을 복원한다. 복원된 현재 움직임벡터의 제1 성분은 제2 성분 복원부(740) 및 움직임벡터 구성기(750)로 전달된다.
가상 움직임벡터 생성부(730)는 현재블록에 인접한 적어도 하나의 주변블록의 움직임벡터를 이용한 인터폴레이션이 가능한지 여부를 판단하고, 인터폴레이션이 가능한 경우 그 주변블록의 움직임벡터를 이용하여 인터폴레이션을 수행함으로써 가상 움직임벡터를 생성한다. 움직임벡터 복호화 장치의 가상 움직임벡터 생성부(730)는 도 2 내지 도 4를 참조하여 설명한 움직임벡터 부호화 장치의 가상 움직임벡터 생성부(220)과 그 기능이 동일하므로, 중복 설명을 피하기 위해 더 이상의 상세한 설명을 생략한다.
제2 성분 복원부(740)는 현재블록에 인접한 주변블록의 움직임벡터 및 가상 움직임벡터 생성부(730)에서 출력되는 가상 움직임벡터를 포함하는 제2 움직임벡터 후보집합을 생성하고, 제2 움직임벡터 후보집합에 속하는 후보들과 제1 성분 복원부(720)에서 복원된 현재 움직임벡터의 제1 성분을 이용하여 예측 움직임벡터의 제2 성분을 예측한다. 그리고, 엔트로피 복호화부(710)로부터 전달된 복호화된 움직임벡터의 제2 성분과 예측 움직임벡터의 제2 성분을 이용하여 현재 움직임벡터의 제2 성분을 복원한다.
더 구체적으로, 제2 성분 복원부(740)는 제2 움직임벡터 후보집합 생성부(742), 제2 성분 예측부(744) 및 가산기(746)를 포함할 수 있다.
제2 움직임벡터 후보집합 생성부(742)는 현재블록에 인접한 주변블록들의 움직임벡터들과 가상 움직임벡터 생성부(730)에서 생성된 가상 움직임벡터들을 포함하는 제2 움직임벡터 후보집합을 생성한다. 예컨대, 현재블록 D에 인접한 주변블록 A, B 및 C의 움직임벡터인,
Figure 112011000915258-pat00034
,
Figure 112011000915258-pat00035
,
Figure 112011000915258-pat00036
와 이 움직임벡터들을 이용하여 생성한 가상 움직임벡터들을 제2 움직임벡터 후보로 선정할 수 있다.
제2 성분 예측부(744)는 제2 움직임벡터 후보집합 생성부(742)에서 생성된 제2 움직임벡터 후보들과 제1 성분 복원부(720)에서 복원된 현재 움직임벡터의 제1 성분을 이용하여 예측 움직임벡터의 제2 성분을 예측한다. 예를 들어, 제2 움직임벡터 후보들 중 현재 움직임벡터의 제1 성분과 거리가 가장 가까운 제1 성분을 갖는 움직임벡터 후보의 제2 성분을 예측 움직임벡터의 제2 성분으로 예측할 수 있으며, 현재 움직임벡터의 제1 성분과 거리가 가장 가까운 제1 성분을 갖는 움직임벡터 후보가 복수 개인 경우에는, 그 복수 개의 움직임벡터 후보들의 평균값 또는 중간값을 예측 움직임벡터의 제2 성분으로 할 수도 있다.
가산기(746)는 제2 성분 예측부(744)에서 예측된 예측 움직임벡터의 제2 성분과 엔트로피 복호화부(710)로부터 전달된 복호화된 움직임벡터의 제2 성분을 가산하여 현재 움직임벡터의 제2 성분을 복원한다.
움직임벡터 구성기(750)는 가산기(726) 및 가산기(746)로부터 각각 입력된 현재 움직임벡터의 제1 성분 및 제2 성분을 조합하여 현재 움직임벡터를 구성하여 출력한다.
도 7에서 도면부호 700은 예측 움직임벡터 결정부를 나타내는데, 이 예측 움직임벡터 결정부(700)에 포함된 제1 움직임벡터 후보집합 생성부(722), 제1 성분 예측부(724), 가상 움직임벡터 생성부(730), 제2 움직임벡터 후보집합 생성부(742) 및 제2 성분 예측부(744)는 각각 도 2에 도시된 예측 움직임벡터 결정부(200)의 제1 움직임벡터 후보집합 생성부(212), 제1 성분 예측부(214), 가상 움직임벡터 생성부(220), 제2 움직임벡터 후보집합 생성부(232) 및 제2 성분 예측부(234)에 대응하는 구성이다. 즉, 움직임벡터 부호화 장치와 움직임벡터 복호화 장치는 예측 움직임벡터 결정부를 공유함으로써, 동일한 예측 움직임벡터를 예측하게 되고, 움직임벡터 부호화 장치는 그 예측 움직임벡터를 이용하여 현재 움직임벡터를 부호화하고, 움직임벡터 복호화 장치는 그 예측 움직임벡터를 이용하여 현재 움직임벡터를 복호화하게 된다.
도 8은 본 발명의 일 실시예에 따른 움직임벡터 복호화 방법을 나타내는 순서도이다.
본 발명의 일 실시예에 따른 움직임벡터 복호화 방법은, 복호화 대상블록, 즉, 현재블록의 부호화된 움직임벡터를 복호화하는 움직임벡터 복호화 단계(S810), 예측 움직임벡터의 제1 성분을 예측하고 이를 이용하여 현재 움직임벡터의 제1 성분을 복원하는 제1 성분 복원 단계(S820), 가상 움직임벡터 생성 단계(S830), 예측 움직임벡터의 제2 성분을 예측하고 이를 이용하여 현재 움직임벡터의 제2 성분을 복원하는 제2 성분 복원 단계(S840)를 포함할 수 있다.
움직임벡터 복호화 단계(S810)는 부호화된 움직임벡터를 엔트로피 복호화하여 복호화된 움직임벡터를 생성한다.
제1 성분 복원 단계(S820)는 현재블록에 인접한 주변블록의 움직임벡터에 기반하여 생성한 제1 움직임벡터 후보집합을 이용하여 예측 움직임벡터의 제1 성분을 예측하고, 그 예측 움직임벡터의 제1 성분과 움직임벡터 복호화 단계(S810)에서 복호화된 움직임벡터의 제1 성분을 이용하여 현재 움직임벡터의 제1 성분을 복원한다.
가상 움직임벡터 생성 단계(S830)는 현재블록에 인접한 주변블록의 움직임벡터를 이용한 인터폴레이션이 가능한지 여부를 판단하고, 인터폴레이션이 가능한 경우 그 주변블록의 움직임벡터를 이용하여 인터폴레이션을 수행함으로써 가상 움직임벡터를 생성한다.
제2 성분 복원 단계(S840)는 현재블록에 인접한 주변블록의 움직임벡터 및 가상 움직임벡터 생성 단계에서 출력된 가상 움직임벡터를 포함하는 제2 움직임벡터 후보집합과 제1 성분 복원 단계(S820)에서 복원된 현재 움직임벡터의 제1 성분을 이용하여 예측 움직임벡터의 제2 성분을 예측하고, 그 예측 움직임벡터의 제2 성분과 움직임벡터 복호화 단계(S810)에서 복호화된 움직임벡터의 제2 성분을 이용하여 현재 움직임벡터의 제2 성분을 복원한다.
움직임벡터 복호화 단계(S810), 제1 성분 복원 단계(S820), 가상 움직임벡터 생성 단계(S830) 및 제2 성분 복원 단계(S840)가 수행하는 기능은 각각 움직임벡터 복호화 장치의 엔트로피 복호화부(710), 제1 성분 복원부(720), 가상 움직임벡터 생성부(730) 및 제2 성분 복원부(740)에 대응하므로, 중복 설명을 피하기 위해 더 이상의 상세한 설명을 생략한다.
이상에서 설명한 움직임벡터 복호화 방법은 컴퓨터 프로그램으로 구현되어 기록매체에 저장되고, 컴퓨터가 그 기록매체에 접근하여 프로그램을 실행시킴으로써 구현될 수 있을 것이다. 그러나 이에 한정되는 것은 아니며, 움직임벡터 복호화 방법의 각 단계를 수행하는 모듈들이 하나의 하드웨어 칩으로 구현되고, 그 하드웨어 칩이 동작함으로써 움직임벡터 복호화 방법이 구현될 수도 있을 것이다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 본 발명의 실시예는 움직임벡터에 대한 예측 부호화를 수행하는 영상 부호화 및 복호화 분야에 적용되어 현재 움직임벡터와 상관관계가 높은 예측 움직임벡터를 결정할 수 있으며, 이에 따라 현재 움직임벡터에 대한 부호화 효율을 높일 수 있으므로, 매우 유용한 발명이다.

Claims (31)

  1. 삭제
  2. 부호화 대상블록의 움직임벡터(이하, '현재 움직임벡터'라 함)를 부호화하는 움직임벡터 부호화 장치에 있어서,
    상기 부호화 대상블록에 인접한 적어도 하나의 주변블록의 움직임벡터에 기반하여 생성한 제1 움직임벡터 후보집합을 이용하여 예측 움직임벡터의 제1 성분을 예측하는 제1 예측부;
    상기 적어도 하나의 주변블록의 움직임벡터를 이용한 인터폴레이션(Interpolation)이 가능한지 여부를 판단하고, 그 판단결과에 따라 인터폴레이션을 수행하여 적어도 하나의 가상 움직임벡터를 생성하는 가상 움직임벡터 생성부;
    상기 적어도 하나의 주변블록의 움직임벡터 및 상기 가상 움직임벡터 생성부가 출력하는 가상 움직임벡터를 포함하는 제2 움직임벡터 후보집합과 상기 현재 움직임벡터의 제1 성분을 이용하여 상기 예측 움직임벡터의 제2 성분을 예측하는 제2 예측부; 및
    상기 예측 움직임벡터를 이용하여 상기 현재 움직임벡터에 대한 부호화를 수행하는 움직임벡터 부호화부
    를 포함하는 것을 특징으로 하는 움직임벡터 부호화 장치.
  3. 제 2 항에 있어서,
    상기 제2 예측부는 상기 제2 움직임벡터 후보집합에 속하는 움직임벡터 후보들 중에서 상기 현재 움직임벡터의 제1 성분과의 거리가 가장 가까운 제1 성분을 갖는 움직임벡터 후보를 이용하여 상기 예측 움직임벡터의 제2 성분을 예측하는 것을 특징으로 하는 움직임벡터 부호화 장치.
  4. 제 3 항에 있어서,
    상기 제2 예측부는, 상기 예측 움직임벡터의 제1 성분과 거리가 가장 가까운 제1 성분을 갖는 움직임벡터 후보가 복수 개인 경우, 그 복수 개의 움직임벡터 후보들의 제2 성분의 평균값을 상기 예측 움직임벡터의 제2 성분으로 하는 것을 특징으로 하는 움직임벡터 부호화 장치.
  5. 제 2 항에 있어서,
    상기 가상 움직임벡터 생성부는 상기 부호화 대상블록에 인접한 주변블록들 중 두 개의 주변블록들을 선별하고 선별된 두 개의 주변블록들의 움직임벡터들에 대해 정수 기반의 인터폴레이션을 수행하여 상기 적어도 하나의 가상 움직임벡터를 생성하는 것을 특징으로 하는 움직임벡터 부호화 장치.
  6. 제 5 항에 있어서,
    상기 두 개의 주변블록들은 서로 인접한 것을 특징으로 하는 움직임벡터 부호화 장치.
  7. 제 5 항에 있어서,
    상기 가상 움직임벡터 생성부는 상기 두 개의 주변블록의 움직임벡터 각각의 제1 성분 사이에 존재하는 모든 정수값에 대해 상기 정수 기반의 인터폴레이션을 수행하는 것을 특징으로 하는 움직임벡터 부호화 장치.
  8. 제 5 항에 있어서,
    상기 가상 움직임벡터 생성부는 상기 적어도 두 개의 주변블록의 움직임벡터 각각의 제2 성분 사이에 존재하는 모든 정수값에 대해 상기 정수 기반의 인터폴레이션을 수행하는 것을 특징으로 하는 움직임벡터 부호화 장치.
  9. 제 5 항에 있어서,
    상기 가상 움직임벡터 생성부는 상기 두 개의 주변블록의 움직임벡터들의 평균값을 연산하여 상기 정수 기반의 인터폴레이션을 수행하는 것을 특징으로 하는 움직임벡터 부호화 장치.
  10. 제 2 항에 있어서,
    상기 가상 움직임벡터 생성부는 상기 부호화 대상블록에 인접한 두 개의 주변블록을 선별하고, 상기 선별된 두 개의 주변블록의 움직임벡터의 제1 성분 또는 제2 성분의 차이가 1이하인 경우, 상기 선별된 두 개의 주변블록의 움직임벡터들에 대해서 인터폴레이션이 불가능하다고 판단하는 것을 특징으로 하는 움직임벡터 부호화 장치.
  11. 제 2 항에 있어서,
    상기 적어도 하나의 주변블록은 시간적으로 이전에 부호화된 참조프레임에서 상기 부호화 대상블록과 동일한 위치 또는 인접한 위치에 있는 주변블록을 포함하는 것을 특징으로 하는 움직임벡터 부호화 장치.
  12. 복호화 대상블록의 부호화된 움직임벡터를 복호화하여 생성한 복호화된 움직임벡터를 상기 복호화 대상블록의 움직임벡터(이하, '현재 움직임벡터'라 함)로 복원하는 움직임벡터 복호화 장치에 있어서,
    상기 복호화 대상블록에 인접한 적어도 하나의 주변블록의 움직임벡터에 기반하여 생성한 제1 움직임벡터 후보집합을 이용하여 예측 움직임벡터의 제1 성분을 예측하고, 상기 복호화된 움직임벡터의 제1 성분과 상기 예측 움직임벡터의 제1 성분을 이용하여 상기 현재 움직임벡터의 제1 성분을 복원하는 제1 성분 복원부;
    상기 적어도 하나의 주변블록의 움직임벡터를 이용한 인터폴레이션(Interpolation)이 가능한지 여부를 판단하고, 그 판단결과에 따라 인터폴레이션을 수행하여 적어도 하나의 가상 움직임벡터를 생성하는 가상 움직임벡터 생성부; 및
    상기 적어도 하나의 주변블록의 움직임벡터 및 상기 가상 움직임벡터 생성부가 출력하는 가상 움직임벡터를 포함하는 제2 움직임벡터 후보집합과 상기 제1 성분 복원부가 복원한 상기 현재 움직임벡터의 제1 성분을 이용하여 상기 예측 움직임벡터의 제2 성분을 예측하고, 상기 복호화된 움직임벡터의 제2 성분과 상기 예측 움직임벡터의 제2 성분을 이용하여 상기 현재 움직임벡터의 제2 성분을 복원하는 제2 성분 복원부
    를 포함하는 움직임벡터 복호화 장치.
  13. 제 12 항에 있어서,
    상기 제2 성분 복원부는 상기 제2 움직임벡터 후보집합에 속하는 움직임벡터 후보들 중에서 상기 현재 움직임벡터의 제1 성분과 거리가 가장 가까운 제1 성분을 갖는 움직임벡터 후보를 이용하여 상기 예측 움직임벡터의 제2 성분을 예측하는 것을 특징으로 하는 움직임벡터 복호화 장치.
  14. 제 13 항에 있어서,
    상기 제2 성분 복원부는, 상기 예측 움직임벡터의 제1 성분과 거리가 가장 가까운 제1 성분을 갖는 움직임벡터 후보가 복수 개인 경우, 그 복수 개의 움직임벡터 후보들의 제2 성분의 평균값을 상기 예측 움직임벡터의 제2 성분으로 하는 것을 특징으로 하는 움직임벡터 복호화 장치.
  15. 제 12 항에 있어서,
    상기 가상 움직임벡터 생성부는 상기 복호화 대상블록에 인접한 주변블록들 중 두 개의 주변블록들을 선별하고 선별된 두 개의 주변블록들의 움직임벡터들에 대해 정수 기반의 인터폴레이션을 수행하여 상기 적어도 하나의 가상 움직임벡터를 생성하는 것을 특징으로 하는 움직임벡터 복호화 장치.
  16. 제 12 항에 있어서,
    상기 두 개의 주변블록들은 서로 인접한 것을 특징으로 하는 움직임벡터 복호화 장치.
  17. 제 15 항에 있어서,
    상기 가상 움직임벡터 생성부는 상기 두 개의 주변블록들의 움직임벡터 각각의 제1 성분 사이에 존재하는 모든 정수값에 대해 상기 정수 기반의 인터폴레이션을 수행하는 것을 특징으로 하는 움직임벡터 복호화 장치.
  18. 제 15 항에 있어서,
    상기 가상 움직임벡터 생성부는 상기 두 개의 주변블록들의 움직임벡터 각각의 제2 성분 사이에 존재하는 모든 정수값에 대해 상기 정수 기반의 인터폴레이션을 수행하는 것을 특징으로 하는 움직임벡터 복호화 장치.
  19. 제 15 항에 있어서,
    상기 가상 움직임벡터 생성부는 상기 두 개의 주변블록의 움직임벡터들의 평균값을 연산하여 상기 정수 기반의 인터폴레이션을 수행하는 것을 특징으로 하는 움직임벡터 부호화 장치.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
KR1020110001187A 2011-01-06 2011-01-06 움직임벡터 부호화 및 복호화 장치와 방법 KR101441889B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110001187A KR101441889B1 (ko) 2011-01-06 2011-01-06 움직임벡터 부호화 및 복호화 장치와 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110001187A KR101441889B1 (ko) 2011-01-06 2011-01-06 움직임벡터 부호화 및 복호화 장치와 방법

Publications (2)

Publication Number Publication Date
KR20120079862A KR20120079862A (ko) 2012-07-16
KR101441889B1 true KR101441889B1 (ko) 2014-09-29

Family

ID=46712667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110001187A KR101441889B1 (ko) 2011-01-06 2011-01-06 움직임벡터 부호화 및 복호화 장치와 방법

Country Status (1)

Country Link
KR (1) KR101441889B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3355578B1 (en) * 2015-09-24 2020-12-09 LG Electronics Inc. Motion vector predictor derivation and candidate list construction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050012768A (ko) * 2002-05-30 2005-02-02 코닌클리케 필립스 일렉트로닉스 엔.브이. 현재 모션 벡터를 추정하는 유닛 및 방법
KR20060042485A (ko) * 2004-11-09 2006-05-15 (주)씨앤에스 테크놀로지 적응적 모드 결정에 의한 움직임 예측방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050012768A (ko) * 2002-05-30 2005-02-02 코닌클리케 필립스 일렉트로닉스 엔.브이. 현재 모션 벡터를 추정하는 유닛 및 방법
KR20060042485A (ko) * 2004-11-09 2006-05-15 (주)씨앤에스 테크놀로지 적응적 모드 결정에 의한 움직임 예측방법

Also Published As

Publication number Publication date
KR20120079862A (ko) 2012-07-16

Similar Documents

Publication Publication Date Title
RU2715017C1 (ru) Устройство кодирования с предсказанием видео, способ кодирования с предсказанием видео, устройство декодирования с предсказанием видео и способ декодирования с предсказанием видео
US9781481B2 (en) Apparatus and method for generating/recovering motion information based on predictive motion vector index encoding, and apparatus and method for image encoding/decoding using same
KR101444675B1 (ko) 영상 부호화 및 복호화 방법과 장치
KR101671460B1 (ko) 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101681303B1 (ko) 블록 분할예측을 이용한 영상 부호화/복호화 방법 및 장치
KR101441903B1 (ko) 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR20130051384A (ko) 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
US9420281B2 (en) Method and apparatus for encoding/decoding video using high-precision filter
KR20120009861A (ko) 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
KR101506446B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101377529B1 (ko) 적응적 움직임 벡터 부호화/복호화를 이용한 영상 부호화/복호화 방법 및 장치
KR101441889B1 (ko) 움직임벡터 부호화 및 복호화 장치와 방법
KR101658592B1 (ko) 영상의 구조적 정보를 이용한 적응적 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101524664B1 (ko) 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101479137B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR101346474B1 (ko) 영상 부호화 장치 및 이의 영상 부호화 방법, 그리고 영상 복호화 장치 및 이의 영상 복호화 방법
KR101575605B1 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101693284B1 (ko) 전역움직임을 기반하여 결정된 부호화구조를 이용한 영상 부호화/복호화 방법 및 장치
KR101699832B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR101533435B1 (ko) 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101533441B1 (ko) 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101479525B1 (ko) 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101676381B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR101567986B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101527153B1 (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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170905

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190626

Year of fee payment: 6