[go: up one dir, main page]

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

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

Info

Publication number
KR101279573B1
KR101279573B1 KR1020080107585A KR20080107585A KR101279573B1 KR 101279573 B1 KR101279573 B1 KR 101279573B1 KR 1020080107585 A KR1020080107585 A KR 1020080107585A KR 20080107585 A KR20080107585 A KR 20080107585A KR 101279573 B1 KR101279573 B1 KR 101279573B1
Authority
KR
South Korea
Prior art keywords
motion vector
prediction
prediction candidate
block
current
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020080107585A
Other languages
English (en)
Other versions
KR20100048435A (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
Priority to KR1020080107585A priority Critical patent/KR101279573B1/ko
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to US13/127,004 priority patent/US8976863B2/en
Priority to CN200980153379.7A priority patent/CN102273206B/zh
Priority to PCT/KR2009/006168 priority patent/WO2010050706A2/ko
Priority to CN201310285917.6A priority patent/CN103297785B/zh
Priority to CN201310286628.8A priority patent/CN103327338B/zh
Priority to CN201310285909.1A priority patent/CN103354614B/zh
Priority to CN201310285903.4A priority patent/CN103297784B/zh
Publication of KR20100048435A publication Critical patent/KR20100048435A/ko
Application granted granted Critical
Publication of KR101279573B1 publication Critical patent/KR101279573B1/ko
Priority to US14/624,039 priority patent/US9392300B2/en
Priority to US14/742,377 priority patent/US9955182B2/en
Priority to US14/742,419 priority patent/US9781445B2/en
Priority to US14/742,269 priority patent/US9794590B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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
    • 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/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/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/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/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

본 발명은 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다.
본 발명은 움직임 벡터를 부호화하는 장치에 있어서, 하나 이상의 움직임 벡터 예측 후보를 선택하는 예측 후보 선택기; 하나 이상의 움직임 벡터 예측 후보 중에서 예측 움직임 벡터를 결정하는 예측 움직임 벡터 결정기; 및 현재 움직임 벡터에서 결정된 예측 움직임 벡터를 감산하여 차분 벡터를 계산하고 부호화하는 차분 벡터 부호화기를 포함하는 것을 특징으로 하는 움직임 벡터 부호화 장치를 제공한다.
본 발명에 의하면, 더욱 정확하게 예측된 예측 움직임 벡터를 이용하여 움직임 벡터를 부호화하면서도 예측 움직임 벡터에 대한 정보를 부호화하기 위한 비트량을 줄여 압축 효율을 향상시킬 수 있다.
움직임, 벡터, 예측, 후보, 부호, 복호, 컴포넌트

Description

움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치{Motion Vector Encoding/Decoding Method and Apparatus and Video Encoding/Decoding Method and Apparatus}
본 발명은 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 현재 부호화를 수행할 블록 이전에 부호화되고 복호화되어 복원된 화소를 이용하여 인터 예측을 수행하고 인터 예측에 이용한 움직임 벡터를 효율적으로 부호화하거나 복호화하고 그를 이용하여 정지 영상 또는 동영상의 데이터를 부호화하거나 복호화하는 방법 및 장치에 관한 것이다.
영상 신호를 효율적으로 압축하기 위한 방법으로서 정지화상으로는 JPEG, JPEG-2000, 동영상에서는 H.261, H.263, MPEG-2, MPEG-4 등이 있다. 또한, MPEG-2, MPEG-4 등의 기술을 계승하면서 더욱 향상된 압축 효율을 제공하는 MPEG-4 AVC(Advanced Video Coding)가 ISO(국제 표준화 기구)에 의해서 2003년에 표준 규격화되어 있다.
동영상에 대한 데이터의 부호화는 인트라 예측 부호화와 인터 예측 부호화로 성립되어 있다. 이러한 인트라 예측 부호화 또는 인터 예측 부호화는 데이터 간에 존재하는 상관도(Correlation)를 줄일 수 있는 효과적인 방법으로 다양한 데이터의 압축에 널리 사용된다. 특히, 인터 예측 부호화에서 현재 부호화하고자 하는 현재 블록의 움직임을 추정하여 결정되는 현재 블록의 움직임 벡터는 주변 블록의 움직임 벡터와 밀접한 상관 관계가 있기 때문에, 주변 블록의 움직임 벡터로부터 현재 블록의 움직임 벡터에 대한 예측값(PMV: Predicted Motion Vector, 이하 '예측 움직임 벡터'라 칭함)을 계산한 후 현재 블록의 움직임 벡터의 값 자체를 부호화하지 않고 예측값에 대한 차분값(DMV: Differential Motion Vector, 이하 '차분 벡터'라 칭함)만을 부호화함으로써 부호화해야 할 비트량을 상당히 줄일 수 있으며 그에 따라 부호화 효율을 높일 수 있다.
즉, MPEG-4 AVC와 같은 기존의 대부분의 영상 압축 표준들은 인터 예측 부호화를 수행하는 경우, 부호화기는 이전에 부호화되고 복호화되어 복원된 참조 프레임에서 현재 블록의 움직임을 추정하여 결정한 예측 움직임 벡터와 현재 움직임 벡터와의 차분값인 차분 벡터만을 부호화하여 전송한다. 복호화기도 미리 복호화된 주위의 블록의 움직임 벡터를 이용하여 현재 블록의 움직임 벡터를 예측하여 전송된 차분 벡터와 예측 움직임 벡터를 더하여 현재 움직임 벡터를 복원한다.
하지만, 전술한 바와 같은 기존의 영상 압축 표준들에 따라 움직임 벡터를 부호화하게 되면, 예측 움직임 벡터가 현재 움직임 벡터와 상관성이 없을 경우 차분 벡터가 커지므로, 발생하는 비트량이 증가하여 압축 효율을 저하할 뿐만 아니라, 차분 벡터를 줄이기 위해 부호화기에서 예측 움직임 벡터에 대한 정보를 추가 로 부호화하는 경우에도, 추가 정보를 부호화하는 데에 따른 비트량이 증가하여 압축 효율을 저하하는 문제점이 있다.
전술한 문제점을 해결하기 위해 본 발명은, 더욱 정확하게 예측된 예측 움직임 벡터를 이용하여 움직임 벡터를 부호화하면서도 예측 움직임 벡터에 대한 정보를 부호화하기 위한 비트량을 줄여 압축 효율을 향상시키는 데 주된 목적이 있다.
전술한 목적을 달성하기 위해 본 발명은, 움직임 벡터를 부호화하는 장치에 있어서, 하나 이상의 움직임 벡터 예측 후보를 선택하는 예측 후보 선택기; 하나 이상의 움직임 벡터 예측 후보 중에서 예측 움직임 벡터를 결정하는 예측 움직임 벡터 결정기; 및 현재 움직임 벡터에서 결정된 예측 움직임 벡터를 감산하여 차분 벡터를 계산하고 부호화하는 차분 벡터 부호화기를 포함하는 것을 특징으로 하는 움직임 벡터 부호화 장치를 제공한다.
또한, 본 발명의 다른 목적에 의하면, 움직임 벡터를 부호화하는 방법에 있어서, 하나 이상의 움직임 벡터 예측 후보를 선택하는 예측 후보 선택 단계; 하나 이상의 움직임 벡터 예측 후보 중에서 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정하는 예측 움직임 벡터 결정 단계; 및 현재 움직임 벡터에서 결정된 예측 움직임 벡터를 감산하여 차분 벡터를 계산하고 부호화하는 차분 벡터 부호화 단계를 포함하는 것을 특징으로 하는 움직임 벡터 부호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 움직임 벡터를 복호화하는 장치에 있어서, 부호화된 차분 벡터를 복호화하여 차분 벡터를 복원하는 차분 벡터 복호화기; 및 하나 이상의 움직임 벡터 예측 후보 중 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정하고, 결정된 예측 움직임 벡터와 복원된 차분 벡터를 가산하여 현재 블록의 현재 움직임 벡터를 복원하는 움직임 벡터 복원기를 포함하는 것을 특징으로 하는 움직임 벡터 복호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 움직임 벡터를 복호화하는 방법에 있어서, 부호화된 차분 벡터를 복호화하여 차분 벡터를 복원하는 차분 벡터 복호화 단계; 및 하나 이상의 움직임 벡터 예측 후보 중 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정하고, 결정된 예측 움직임 벡터와 복원된 차분 벡터를 가산하여 현재 블록의 현재 움직임 벡터를 복원하는 움직임 벡터 복원 단계를 포함하는 것을 특징으로 하는 움직임 벡터 복호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 현재 블록의 현재 움직임 벡터를 결정하고 결정된 현재 움직임 벡터를 이용하여 예측 블록을 생성하는 예측기; 현재 블록과 예측 블록을 감산하여 잔차 블록을 생성하는 감산기; 잔차 블록을 변환하는 변환기; 변환된 잔차 블록을 양자화하는 양자화기; 및 양자화된 잔차 블록을 부호화하며, 하나 이상의 움직임 벡터 예측 후보 중에서 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정하고, 현재 움직임 벡터에서 결정된 예측 움직임 벡터를 감산한 차분 벡터를 부호화하며, 부호화된 잔차 블록 및 부호화된 차분 벡터를 포함하는 비트스트림을 생성하여 출력하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 블록의 현재 움직임 벡터를 결정하고 결정된 현재 움직임 벡터를 이용하여 예측 블록을 생성하는 예측 단계; 현재 블록과 예측 블록을 감산하여 잔차 블록을 생성하는 감산기; 잔차 블록을 변환하는 변환 단계; 변환된 잔차 블록을 양자화하는 양자화 단계; 양자화된 잔차 블록을 부호화하는 잔차 블록 부호화 단계; 하나 이상의 움직임 벡터 예측 후보 중에서 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정하고, 현재 움직임 벡터에서 결정된 예측 움직임 벡터를 감산한 차분 벡터를 부호화하는 차분 벡터 부호화 단계; 및 부호화된 잔차 블록 및 부호화된 차분 벡터를 포함하는 비트스트림을 생성하여 출력하는 비트스트림 생성 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림으로부터 부호화된 잔차 블록과 부호화된 차분 벡터를 추출하고 복호화하여 잔차 블록 및 차분 벡터를 복원하며, 하나 이상의 움직임 벡터 예측 후보 중에서 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정하고 결정된 예측 움직임 벡터와 복원된 차분 벡터를 가산하여 현재 블록의 현재 움직임 벡터를 복원하는 복호화기; 복원된 잔차 블록을 역 양자화하는 역 양자화기; 역 양자화된 잔차 블록을 역 변환하는 역 변환기; 복원된 현재 움직임 벡터를 이용하여 예측 블록을 생성하는 예측기; 및 역 변환된 잔차 블록과 생성된 예측 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한 다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림으로부터 부호화된 잔차 블록을 추출하고 복호화하여 잔차 블록을 복원하는 잔차 블록 복호화 단계; 비트스트림으로부터 부호화된 차분 벡터를 추출하고 복호화하여 차분 벡터를 복원하는 차분 벡터 복호화 단계; 하나 이상의 움직임 벡터 예측 후보 중에서 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로 선택하고 선택된 예측 움직임 벡터와 복원된 차분 벡터를 이용하여 현재 블록의 현재 움직임 벡터를 복원하는 움직임 벡터 복원 단계; 복원된 잔차 블록을 역 양자화하는 역 양자화 단계; 역 양자화된 잔차 블록을 역 변환하는 역 변환 단계; 복원된 현재 움직임 벡터를 이용하여 예측 블록을 생성하는 예측 단계; 및 역 변환된 잔차 블록과 생성된 예측 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
이상에서 설명한 바와 같이 본 발명에 의하면, 더욱 정확하게 예측된 예측 움직임 벡터를 이용하여 움직임 벡터를 부호화하면서도 예측 움직임 벡터에 대한 정보를 부호화하기 위한 비트량을 줄여 압축 효율을 향상시킬 수 있다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음 에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 예측기(110), 감산기(120), 변환기(130), 양자화기(140), 부호화기(150), 역 양자화기(160), 역 변환기(170), 가산기(180) 및 메모리(190)를 포함하여 구성될 수 있다. 여기서, 역 양자화기(160), 역 변환기(170), 가산기(180) 및 메모리(190)는 영상 부호화 장치(100)에 선택적으로 포함될 수 있다. 이러한 영상 부호화 장치(100)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말 기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
예측기(110)는 현재 블록의 움직임 벡터인 현재 움직임 벡터를 결정하고 결정된 현재 움직임 벡터를 이용하여 예측 블록을 생성한다. 즉, 예측기(110)는 영상에서 부호화하고자 하는 현재 블록의 각 화소의 화소값(Pixel Value)을 현재 움직임 벡터를 이용하여 예측하여 예측된 각 화소의 예측 화소값(Predicted Pixel Value)을 갖는 예측 블록(Predicted Block)을 생성한다. 예측기(110)는 율-왜곡 최적화(RDO: Rate-Distortion Optimization) 등 다양한 기법을 이용하여 현재 움직임 벡터를 결정할 수 있는데, 결정된 현재 움직임 벡터는 최적의 움직임 벡터가 될 수 있다.
감산기(120)는 현재 블록과 예측 블록을 감산하여 잔차 블록을 생성한다. 즉, 감산기(120)는 부호화하고자 하는 현재 블록의 각 화소의 화소값과 예측기(110)에서 예측한 예측 블록의 각 화소의 예측 화소값의 차이를 계산하여 블록 형태의 잔차 신호(Residual Signal)를 갖는 잔차 블록을 생성한다.
변환기(130)는 잔차 블록을 변환한다. 즉, 변환기(130)는 감산기(120)로부터 출력되는 잔차 블록의 잔차 신호를 주파수 영역으로 변환하여 잔차 블록의 각 화소값을 주파수 계수로 변환한다. 여기서, 변환기(130)는 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반 변환(DCT based Transform: Discrete Cosine Transform Based Transform) 등과 같은 공간축의 화상 신호를 주파수축으로 변환하는 다양한 변환 기법을 이용하여 잔차 신호를 주파수 영역으로 변환할 수 있는데, 주파수 영역으로 변환된 잔차 신호가 주파수 계수가 된다.
양자화기(140)는 변환된 잔차 블록을 양자화한다. 즉, 양자화기(140)는 변환기(130)로부터 출력되는 잔차 블록의 주파수 계수를 양자화(Quantization)하여 양자화 주파수 계수를 갖는 잔차 블록을 출력한다. 여기서, 양자화기(140)는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization, 이하 'DZUTQ'라 칭함), 양자화 가중치 매트릭스(Quantization Weighted Matrix) 또는 이를 개량한 양자화 기법 등을 사용하여 양자화할 수 있다.
한편, 이상에서는 본 발명의 일 실시예에 따른 영상 부호화 장치(100)가 변환기(130) 및 양자화기(140)를 포함하는 것을 도시하고 설명했지만, 변환기(130) 및 양자화기(140)는 선택적으로 포함될 수 있을 것이다. 즉, 본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 잔차 블록의 잔차 신호를 변환하여 주파수 계수를 갖는 잔차 블록을 생성하고 양자화 과정을 수행하지 않을 수 있으며, 잔차 블록의 잔차 신호를 주파수 계수로 변환하지 않고 양자화 과정만을 수행할 수 있을 뿐만 아니라, 심지어는 변환과 양자화 과정을 모두 수행하지 않을 수 있다.
부호화기(150)는 양자화된 잔차 블록을 부호화하며, 하나 이상의 움직임 벡터 예측 후보(Motion Vector Prediction Candidate) 중에서 예측 움직임 벡터(Predicted Motion Vector)를 결정하고, 현재 움직임 벡터에서 예측 움직임 벡터를 감산한 차분 벡터(Differential Motion Vector)를 부호화하며, 부호화된 잔차 블록 및 부호화된 차분 벡터를 포함하는 비트스트림을 생성하여 출력한다. 즉, 부호화기(150)는 양자화기(140)로부터 출력되는 잔차 블록의 양자화 주파수 계수를 도 3에서 예시적으로 나타낸 지그재그 스캔과 같은 다양한 스캔 방식에 따라 스캔하여 양자화 주파수 계수열을 생성하고 엔트로피 부호화(Entropy Coding) 기법 등 다양한 부호화 기법을 이용하여 부호화한다.
또한, 부호화기(150)는 현재 움직임 벡터를 부호화하는데, 하나 이상의 움직임 벡터 예측 후보를 선택하고 선택된 하나 이상의 움직임 벡터 예측 후보 중에서 예측 움직임 벡터를 결정한다. 이를 위해, 부호화기(150)는 현재 블록의 주변 블록의 움직임 벡터, 참조 프레임에서 현재 블록의 위치와 동일한 위치에 있는 Col(Colocated Block) 블록의 움직임 벡터, Col 블록의 주변 블록의 움직임 벡터 및 현재 블록에서 참조 프레임의 특정 블록을 지시하는 지시 벡터 중 하나 이상을 하나 이상의 움직임 벡터 예측 후보로서 선택할 수 있다. 여기서, 특정 블록은 지시 벡터와 수평이거나 지시 벡터와의 차이가 기 설정된 임계값보다 작은 움직임 벡터를 갖는 블록일 수 있다.
예를 들어, 부호화기(150)는 하나 이상의 움직임 벡터 예측 후보 중 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정할 때, 도 4에 예시적으로 나타낸 바와 같이, 중간값을 이용하여 예측 움직임 벡터를 결정할 수 있다. 도 4를 참조하면, 현재 블록이 X이고, 현재 블록의 좌측 블록이 A이고, 현재 블록의 상단 블록이 B, 현재 블록의 상단 우측 블록이 C라고 가정하고, 좌측 블록 A의 움직임 벡터가 MV_A이고, 상단 블록 B의 움직임 벡터가 MV_B이고, 상단 우측 블록 C의 움 직임 벡터가 MV_C라고 가정한 경우, 현재 블록 A의 예측 움직임 벡터는, 수학식 1과 같이, 중간값을 이용하여 계산될 수 있다.
Figure 112008075755922-pat00001
부호화기(150)는 중간값을 이용하여 하나 이상의 움직임 벡터 예측 후보 중에서 예측 움직임 벡터를 결정할 수 있지만, 반드시 중간값을 이용해야 하는 것은 아니며, 다른 다양한 방법을 이용하여 예측 움직임 벡터를 결정할 수 있다. 이에 대해서는 후술하는 과정에서 도 2를 통해, 상세히 설명한다.
또한, 부호화기(150)는 예측 움직임 벡터로서 결정된 움직임 벡터 예측 후보를 식별하는 예측 후보 식별 플래그를 생성하고 부호화하여 비트스트림에 추가로 포함시킬 수 있다. 즉, 비트스트림은 부호화된 잔차 블록과 부호화된 차분 벡터뿐만 아니라 부호화된 예측 후보 식별 플래그를 포함할 수 있다.
또한, 부호화기(150)는 예측 움직임 벡터의 x-컴포넌트와 y-컴포넌트 각각을 독립적으로 결정할 수 있다. 즉, 부호화기(150)는 하나 이상의 움직임 벡터 예측 후보의 x-컴포넌트 중에서 하나의 움직임 벡터 예측 후보의 x-컴포넌트를 예측 움직임 벡터의 x-컴포넌트로서 결정하고, 하나 이상의 움직임 벡터 예측 후보의 y-컴포넌트 중에서 하나의 움직임 벡터 예측 후보의 y-컴포넌트를 예측 움직임 벡터의 y-컴포넌트로서 결정할 수 있다.
또한, 부호화기(150)는 차분 벡터의 x-컴포넌트의 절대값 및 차분 벡터의 y- 컴포넌트의 절대값 중 하나 이상이 각각 기 설정된 x-컴포넌트 임계값 및 기 설정된 y-컴포넌트 임계값 중 하나 이상보다 작거나 같은 경우, 예측 움직임 벡터의 x-컴포넌트 및 예측 움직임 벡터의 y-컴포넌트 중 하나 이상으로 결정된 움직임 벡터 예측 후보를 식별하는 예측 후보 식별 플래그를 생성하고 부호화하여 비트스트림에 추가로 포함시킬 수 있다. 부호화기(150)에 대해서는 후술하는 과정에서 도 2를 통해 상세히 설명한다.
역 양자화기(160)는 양자화기(140)에 의해 양자화된 잔차 블록을 역 양자화(Inverse Quantization)한다. 역 변환기(170)는 역 양자화기(160)에 의해 역 양자화된 잔차 블록을 역 변환(Inverse Transform)한다. 여기서, 역 양자화기(160)와 역 변환기(170)는 양자화기(140)와 변환기(130)에서 사용한 양자화 방식과 변환 방식을 역으로 사용하여 역 양자화 및 역 변환할 수 있다. 또한, 변환기(130)와 역 양자화기(140)에서 양자화만을 수행하고 변환을 수행하지 않은 경우에는 역 양자화만을 수행하고 역 변환을 수행하지 않을 수 있다. 만약, 변환 및 양자화를 모두 수행하지 않은 경우, 역 양자화기(160)와 역 변환기(170)도 역 변환 및 역 양자화를 모두 수행하지 않거나 영상 부호화 장치(100)에 포함되지 않고 생략될 수 있다.
가산기(180)는 예측기(110)에서 예측된 예측 블록과 역 변환기(170)에 의해 복원된 잔차 블록을 가산하여 현재 블록을 복원한다. 메모리(190)는 가산기(180)로부터 출력되는 복원된 현재 블록을 프레임 단위로 참조 프레임으로서 저장하여 예측기(110)가 현재 블록의 다음 블록이나 향후 다른 블록을 부호화할 때 참조 프레임으로서 사용할 수 있도록 한다.
도 1에서는 도시하지 않았지만, 전술한 본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 H.264/AVC 표준에 기초하여, 인트라 예측(Intra Prediction)을 위한 인트라 예측기, 복원된 현재 블록을 디블로킹 필터링(Deblocking Filtering)하는 디블록킹 필터기 등을 추가로 포함할 수 있다. 여기서, 디블로킹 필터링이란 영상을 블록 단위로 부호화하면서 발생하는 블록 왜곡을 감소시키는 작업을 말하며, 블록 경계와 매크로블록 경계에 디블로킹 필터를 적용하거나 매크로블록 경계에만 디블로킹 필터를 적용하거나 디블로킹 필터를 사용하지 않는 방법 중 하나를 선택적으로 사용할 수 있다.
도 2는 본 발명의 일 실시예에 따른 움직임 벡터 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 움직임 벡터 부호화 장치는 도 1을 통해 전술한 본 발명의 일 실시예에 따른 영상 부호화 장치(100)의 부호화기(150)로 구현될 수 있다. 이하에서는 설명의 편의를 위해, 본 발명의 일 실시예에 따른 움직임 벡터 부호화 장치를 부호화기(150)라 칭한다. 또한, 본 발명의 일 실시예에 따른 부호화기(150)는 도 1을 통해 전술한 바와 같이, 양자화된 잔차 블록을 부호화하여 부호화된 잔차 블록을 출력하는 영상 부호화기를 추가로 포함할 수 있지만, 이러한 영상 부호화기는 당업자에게 자명하므로 상세한 설명은 생략한다.
본 발명의 일 실시예에 따른 부호화기(150)는 예측 후보 선택기(210), 예측 움직임 벡터 결정기(220), 차분 벡터 부호화기(230), 예측 후보 식별 플래그 부호화기(240) 및 예측 후보 선택 플래그 부호화기(250)를 포함하여 구성될 수 있다. 여기서, 부호화기(150)는 예측 후보 식별 플래그 부호화기(240) 및 예측 후보 선택 플래그 부호화기(250) 중 하나 이상을 반드시 포함하지 않고 선택적으로 포함할 수 있다.
예측 후보 선택기(210)는 하나 이상의 움직임 벡터 예측 후보를 선택한다. 예측 움직임 벡터 결정기(220)는 하나 이상의 움직임 벡터 예측 후보 중에서 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정한다. 차분 벡터 부호화기(230)는 현재 움직임 벡터에서 예측 움직임 벡터를 감산하여 차분 벡터를 계산하고 부호화한다. 예측 후보 식별 플래그 부호화기(240)는 예측 움직임 벡터로서 결정된 움직임 벡터 예측 후보를 식별하는 예측 후보 식별 플래그를 생성하고 부호화한다. 예측 후보 선택 플래그 부호화기(250)는 영상의 임의의 영역(예를 들면 H.264에서 슬라이스(Slice))마다 예측 후보 선택기(210)에 의해 어떠한 움직임 벡터 예측 후보가 선택되었는지를 식별하기 위한 예측 후보 선택 플래그를 생성하고 부호화한다.
차분 벡터는 수학식 2와 같이 계산될 수 있다. 수학식 2에서 MVd는 차분 벡터를 나타내고, MV는 현재 움직임 벡터를 나타내며, MVp_opt는 예측 움직임 벡터를 나타낸다.
Figure 112008075755922-pat00002
차분 벡터 부호화기(230)에서 부호화된 차분 벡터와 전술한 영상 부호화기에 서 출력되는 부호화된 잔차 블록은 비트스트림에 포함되어 영상 복호화 장치로 전송될 수 있다. 또한, 비트스트림에는 예측 후보 선택 플래그 부호화기(250)에서 부호화된 예측 후보 선택 플래그와 예측 후보 식별 플래그 부호화기(240)에서 부호화된 예측 후보 식별 플래그 중 하나 이상이 추가로 포함될 수 있다.
여기서, 예측 후보 선택기(210)는 현재 블록의 주변 블록의 움직임 벡터를 하나 이상의 움직임 벡터 예측 후보로서 선택할 수도 있다. 즉, 현재 프레임의 현재 블록과 주변 블록을 예시적으로 나타낸 도 5를 참조하면, 하나 이상의 움직임 벡터 예측 후보는 현재 부호화하고자 하는 현재 블록 X가 위치한 현재 프레임에서, 현재 블록 X의 주변에 위치한 주변 블록 L, UL, U, UR의 움직임 벡터들이 될 수 있다. 도 5에서는 현재 블록의 좌측 블록 L, 상단 좌측 블록 UL, 상단 블록 U 및 상단 우측 블록 UR만을 주변 블록으로 도시하였지만, 움직임 벡터 예측 후보는 현재 블록과 인접한 다른 블록뿐만 아니라 인접하지 않은 다른 블록들의 움직임 벡터들이 될 수 있다.
또한, 예측 후보 선택기(210)는 참조 프레임에서 현재 블록의 위치와 동일한 위치에 있는 Col 블록의 움직임 벡터와 Col 블록의 주변 블록의 움직임 벡터 중 하나 이상을 하나 이상의 움직임 벡터 예측 후보로서 선택할 수도 있다. 즉, 현재 프레임과 참조 프레임의 블록들을 예시적으로 나타낸 도 6을 참조하면, 하나 이상의 움직임 벡터 예측 후보는 참조 프레임 frame t-1에서 현재 블록 X와 동일한 위치에 있는 블록인 Col 블록과 Col 블록의 주변 블록(ULCol, UCol, URCol, LCol, RCol, BLCol, BCol, BRCol)의 움직임 벡터들이 될 수 있다. 도 6에서는 Col 블록과 Col 블록의 주변 블록(ULCol, UCol, URCol, LCol, RCol, BLCol, BCol, BRCol)만을 도시하였지만, 이뿐만 아니라 움직임 벡터 예측 후보는 Col 블록과 인접한 다른 블록은 물론, 인접하지 않은 다른 블록들의 움직임 벡터들이 될 수 있다.
또한, 예측 후보 선택기(210)는 현재 프레임의 현재 블록에서 참조 프레임의 특정 블록을 지시하는 지시 벡터를 하나 이상의 움직임 벡터 예측 후보로서 선택할 수 있다. 즉, 지시 벡터를 설명하기 위해 예시적으로 나타낸 도 7을 참조하면, 현재 프레임 frame t에 위치한 현재 블록 X에서 제 1 참조 프레임 frame t-1에 위치한 어떠한 블록 Par를 지시하는 벡터와 제 1 참조 프레임 frame t-1에 위치한 어떠한 블록 Par의 움직임 벡터가 서로 수평이거나 차이가 기 설정된 임계값보다 작은 경우, 현재 프레임 frame t의 현재 블록 X에서 참조 영상 frame t-1의 어떠한 블록 Par를 지시하는 벡터가 움직임 벡터 예측 후보로서 선택될 수 있다. 여기서, 현재 프레임 frame t의 현재 블록 X의 위치에서 참조 영상 frame t-1의 어떠한 블록 Par를 지시하는 벡터가 지시 벡터이다. 따라서, 전술한 특정 블록은 지시 벡터와 수평이거나 지시 벡터와의 차이가 기 설정된 임계값보다 작은 움직임 벡터를 갖는 블록일 수 있다.
예측 후보 선택기(210)가 하나 이상의 움직임 벡터를 선택한 경우, 예측 후보 선택 플래그 부호화기(250)는 예측 후보 선택기(210)에 의해 선택된 움직임 벡 터 예측 후보를 식별하기 위한 예측 후보 선택 플래그를 생성하여 부호화할 수 있으며, 부호화된 예측 후보 선택 플래그는 비트스트림의 헤더에 삽입될 수 있다.
다른 예로서, 예측 후보 선택기(210)는 하나 이상의 움직임 벡터 예측 후보 중에서 일부의 움직임 벡터 예측 후보를 선택할 수 있다. 즉, 예측 후보 선택기(210)는 영상의 특성에 따라 하나 이상의 움직임 벡터 예측 후보 중에서 소정의 기준에 따라 몇 개를 선택하여 선택된 움직임 벡터 예측 후보 중에서만 예측 움직임 벡터를 결정할 수 있다. 이 경우, 예측 후보 선택 플래그 부호화기(250)는 하나 이상의 움직임 벡터 예측 후보 중에서 어떠한 움직임 벡터 예측 후보가 일부의 움직임 벡터 예측 후보로서 선택되었는지를 식별하기 위해, 예측 후보 선택기(210)에 의해 선택된 일부의 움직임 벡터 예측 후보를 식별하는 예측 후보 선택 플래그를 생성하여 부호화할 수 있다.
여기서, 소정의 기준이란 하나 이상의 움직임 벡터 예측 후보 각각이 현재 움직임 벡터로서 결정될 수 있는 확률이 될 수도 있는데, 이러한 확률을 이용하는 경우, 예측 후보 선택기(210)는 하나 이상의 움직임 벡터 예측 후보 각각을 이용하여 현재 프레임의 하나 이상의 영역을 부호화함으로써, 하나 이상의 움직임 벡터 예측 후보 각각에 대해 현재 움직임 벡터로서 결정되는 확률을 계산하고, 계산된 확률에 따라 일부의 움직임 벡터 예측 후보를 선택할 수 있다. 예를 들어, 하나 이상의 움직임 벡터 예측 후보가 총 A, B, C, D, E 5개라고 가정할 때, 5개의 움직임 벡터 예측 후보 각각을 이용하여 현재 프레임의 임의의 영역들을 가상으로 부호화하여 최적의 움직임 벡터로서 결정될 확률(즉, 현재 움직임 벡터로서 결정될 확률) 을 계산하고, 만약 계산된 결과가 A: 80%, B: 10%, C: 5%, D:3%, E: 2%의 확률로서 계산되었다면, A 또는 A와 B 움직임 벡터 예측 후보를 일부의 움직임 벡터 예측 후보로서 선택할 수 있다.
또한, 소정의 기준이란 상관성이 될 수 있는데, 상관성을 이용하는 경우, 예측 후보 선택기(210)는 하나 이상의 움직임 벡터 예측 후보 중 상관성이 있는 움직임 벡터 예측 후보들을 하나 이상의 그룹으로 선택하고, 선택된 각 그룹을 대표하는 대표 움직임 벡터를 일부의 움직임 벡터 예측 후보로서 선택할 수 있다. 여기서, 대표 움직임 벡터는 선택된 각 그룹 내의 움직임 벡터 예측 후보들의 중간값 또는 평균값일 수 있다.
예를 들어, 하나 이상의 움직임 벡터 예측 후보가 도 5 내지 도 7을 통해 전술한 움직임 벡터들이라면, 도 5를 통해 전술한 현재 블록의 주변 블록 중 일부의 주변 블록(L, UL, U, UR)의 움직임 벡터들(MV_L, MV_UL, MV_U, MV_UR)만을 모아서 하나의 그룹 A로 선택하고, 수학식 3과 같이, 중간값 연산을 통해 계산된 값 MVp_Group A를 대표 움직임 벡터로서 결정하고 대표 움직임 벡터를 일부의 움직임 벡터 예측 후보로서 선택할 수 있다.
Figure 112008075755922-pat00003
또한, 도 6을 통해 전술한 Col 블록과 Col 블록의 주변 블록 중 상하좌우의 블록(Col, UCol, LCol, RCol, BCol)의 움직임 벡터들(MV_Col, MV_Ucol, MV_Lcol, MV_Rcol, MV_Bcol)을 모아서 하나의 그룹 B로 선택하고, 수학식 4와 같이, 평균값 연산을 통해 계산된 값 MVp_Group A를 대표 움직임 벡터로서 결정하고 대표 움직임 벡터를 일부의 움직임 벡터 예측 후보로서 선택할 수 있다.
Figure 112008075755922-pat00004
또한, 도 6을 통해 전술한 Col 블록과 Col 블록의 주변 블록(ULCol, UCol, URCol, LCol, RCol, BLCol, BCol, BRCol)의 움직임 벡터들(MV_Col, MV_ULcol, MV_Ucol, MV_URcol, MV_Lcol, MV_Rcol, MV_BLcol, MV_Bcol, MV_BRcol)을 모아서 하나의 그룹 C로 선택하고, 수학식 5와 같이, 중간값 연산을 통해 계산된 값 MVp_Group C를 대표 움직임 벡터로서 결정하고 대표 움직임 벡터를 일부의 움직임 벡터 예측 후보로서 선택할 수 있다.
Figure 112008075755922-pat00005
전술한 바와 같이, 수학식 4 내지 수학식 5에 의해 계산된 대표 움직임 벡터와 도 7을 통해 전술한 지시 벡터가 일부의 움직임 벡터 예측 후보로서 선택될 수 있으며, 이 경우, 예측 후보 선택 플래그 부호화기(250)는 일부의 움직임 벡터 예측 후보로서 MVp_groupA, MVp_groupB, MVp_groupC, MV_col과 MV_par가 선택되었음 을 나타내기 위한 예측 후보 선택 플래그를 생성하여 부호화할 수 있다. 물론, 예측 후보 식별 플래그 부호화기(240)는 일부의 움직임 벡터 예측 후보 MVp_groupA, MVp_groupB, MVp_groupC, MV_col과 MV_par 중 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지 나타내기 위한 예측 후보 식별 플래그를 생성하여 부호화할 수 있다.
또한, 예측 후보 선택기(210)는 하나 이상의 움직임 벡터 예측 후보 중에서 기 설정된 하나 이상의 움직임 벡터 예측 후보를 일부의 움직임 벡터 예측 후보로서 선택할 수 있다. 여기서, 기 설정된 하나 이상의 움직임 벡터 예측 후보는 사용자에 의해 임의로 선택될 수 있다.
또한, 예측 움직임 벡터 결정기(220)는 다양한 방식으로 예측 움직임 벡터를 결정할 수 있다. 일 예로서, 예측 움직임 벡터 결정기(220)는 예측 후보 선택기(210)에 의해서 선택된 하나 이상의 움직임 벡터 예측 후보 중에서 각각의 움직임 벡터 예측 후보를 이용하여 계산된 차분 벡터를 부호화하는 데 소요되는 비트량이 최소가 되는 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정할 수 있다. 따라서, 예측 움직임 벡터 결정기(220)는 각 움직임 벡터 예측 후보를 예측 움직임 벡터라 가정하여 차분 벡터를 계산하고 계산된 차분 벡터를 부호화하여 부호화된 데이터가 최소가 되는 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정할 수 있다. 이 경우, 예측 후보 식별 플래그 부호화기(240)는 현재 블록의 움직임 벡터를 부호화할 때(즉, 현재 움직임 벡터와 결정된 예측 움직임 벡터의 차분 벡터를 부호화할 때)마다 하나 이상의 움직임 벡터 예측 후보 중에서 어떠한 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정하였는지를 식별하기 위해 예측 움직임 벡터로서 결정된 움직임 벡터 예측 후보를 식별하는 예측 후보 식별 플래그를 생성하고 부호화할 수 있다.
다른 예로서, 예측 움직임 벡터 결정기(220)는 예측 움직임 벡터의 x-컴포넌트와 y-컴포넌트 각각을 독립적으로 결정할 수 있다. 즉, 예측 움직임 벡터 결정기(220)는 하나 이상의 움직임 벡터 예측 후보의 x-컴포넌트 중에서 하나의 움직임 벡터 예측 후보의 x-컴포넌트를 예측 움직임 벡터의 x-컴포넌트로서 결정하고, 하나 이상의 움직임 벡터 예측 후보의 y-컴포넌트 중에서 하나의 움직임 벡터 예측 후보의 y-컴포넌트를 예측 움직임 벡터의 y-컴포넌트로서 결정할 수 있다. 예를 들어, 차분 벡터를 부호화하는데 있어서, 차분 벡터의 비트량이 차분 벡터의 크기의 절대값에 비례하고 하나 이상의 움직임 벡터 예측 후보가 (-4, -4), (2, 2), (4, 4), (14, 14)이며 현재 움직임 벡터가 (0, 4)라고 가정하면, 기존에는 (2, 2) 또는 (4, 4)가 예측 움직임 벡터로서 결정될 수 있지만, 또 전술한 예에서는 예측 움직임 벡터의 x-컴포넌트는 -4, 2, 4, 14 중에서 2로 선택될 수 있으며, 예측 움직임 벡터의 y-컴포넌트는 -4, 2, 4, 14 중에서 4로 선택될 수 있다. 즉, 기존과 같이, x-컴포넌트와 y-컴포넌트를 분리하여 선택할 수 없는 것이 아니라, x-컴포넌트와 y-컴포넌트를 분리하여 최적의 값을 예측 움직임 벡터로서 결정할 수 있다.
이 경우, 예측 후보 식별 플래그 부호화기(240)는 차분 벡터의 x-컴포넌트의 절대값과 차분 벡터의 y-컴포넌트의 절대값이 각각 기 설정된 x-컴포넌트 임계 값(Threshold)과 기 설정된 y-컴포넌트 임계값보다 큰 같은 경우, 예측 후보 식별 플래그를 생성하지 않을 수 있으며 그에 따라 예측 후보 식별 플래그를 부호화하여 전송하지 않을 수 있다. 또한, 예측 후보 식별 플래그 부호화기(240)는 차분 벡터의 x-컴포넌트의 절대값과 차분 벡터의 y-컴포넌트의 절대값 중 하나 이상이 각각 기 설정된 x-컴포넌트 임계값과 기 설정된 y-컴포넌트 임계값 중 하나 이상보다 작거나 같은 경우에는, 예측 움직임 벡터의 x-컴포넌트와 예측 움직임 벡터의 y-컴포넌트 중 하나 이상으로 결정된 움직임 벡터 예측 후보를 식별하는 예측 후보 식별 플래그를 생성하고 부호화할 수 있다. 즉, 예측 움직임 벡터의 두 컴포넌트(x-컴포넌트 및 y-컴포넌트) 중 두 컴포넌트가 모두 임계값보다 큰 경우에는 예측 후보 식별 플래그를 생성하지 않고, 하나의 컴포넌트만이 임계값보다 작은 경우에는 임계값보다 큰 하나의 컴포넌트로 어떠한 움직임 벡터 예측 후보가 이용되었는지를 식별하는 예측 후보 식별 플래그를 생성하며, 두 개의 컴포넌트가 모두 임계값보다 크지 않은 경우에는 두 개의 컴포넌트로 어떠한 움직임 벡터 예측 후보가 이용되었는지를 식별하는 예측 후보 식별 플래그를 생성하여 부호화할 수 있다.
여기서, 차분 벡터의 각 컴포넌트의 절대값이 각 컴포넌트의 임계값보다 커서 예측 후보 식별 플래그를 생성하여 부호화하지 않는 경우와 차분 벡터의 각 컴포넌트의 절대값이 각 컴포넌트의 임계값보다 작거나 같아서 예측 후보 식별 플래그를 생성하여 부호화하는 경우 각각에 대해서 선택되는 움직임 벡터 예측 후보들 중 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지를 식별하는 예측 후보 식별 플래그를 따로따로 생성하여 부호화할 수 있다. 영상 복호화 장 치에서도 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트 임계값보다 커서 예측 후보 식별 플래그가 전송되지 않은 경우와 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트 임계값보다 작거나 같아서 예측 후보 식별 플래그가 전송된 경우에 대해서 움직임 벡터 예측 후보들을 각각 따로따로 복호화하여 예측 움직임 벡터를 결정할 수 있다.
예를 들어, 그룹 A의 선택된 움직임 벡터 예측 후보들 중 하나를 예측 움직임 벡터로서 결정하여 차분 벡터를 계산하고, 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트의 임계값보다 큰 경우에는 예측 후보 식별 플래그를 생성하여 부호화하지 않을 수 있으며, 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트의 임계값보다 작은 경우에는 그룹 B의 선택된 움직임 벡터 예측 후보들 중 하나를 예측 움직임 벡터로서 결정하여 차분 벡터를 계산하고, 그룹 B의 선택된 움직임 벡터 예측 후보들 중 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지를 식별하는 예측 후보 식별 플래그를 생성하여 부호화할 수 있다. 즉, 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트의 임계값보다 큰 경우에는 그룹 A의 선택된 움직임 벡터 예측 후보들을 사용하고, 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트의 임계값보다 작거나 같은 경우에는 그룹 B의 선택된 움직임 벡터 예측 후보들을 사용할 수 있다.
여기서, 각 컴포넌트 임계값(x-컴포넌트 임계값 및 y-컴포넌트 임계값)은 다양하게 계산될 수 있다. 일 예로, x-컴포넌트 임계값은 하나 이상의 움직임 벡터 예측 후보의 x-컴포넌트 중 가장 가까운 두 개의 움직임 벡터 예측 후보의 x-컴포 넌트 간의 차이값을 소정의 수로 나눈 값들 중 최대값일 수 있으며, y-컴포넌트 임계값은 하나 이상의 움직임 벡터 예측 후보의 y-컴포넌트 중 가장 가까운 두 개의 움직임 벡터 예측 후보의 y-컴포넌트 간의 차이값을 소정의 수로 나눈 값들 중 최대값일 수 있다. 즉, 각 컴포넌트는 수학식 6과 같이, 서로 가장 인접한 두 개의 움직임 벡터 예측 후보(MVp Cand (i) MVp Cand (j))마다 각각 thre ij 를 계산한 후, 계산된 thre ij 중 최대값으로 계산될 수 있다.
Figure 112008075755922-pat00006
임계값을 계산하는 과정을 설명하기 위해 예시적으로 나타낸 도 8을 참조하면, 움직임 벡터 예측 후보의 x-컴포넌트의 값이 도 8에 나타낸 바와 같이, '-4', '2', '4', '14'인 것으로 가정하면, 각 움직임 벡터 예측 후보의 x-컴포넌트의 값의 차이값을 2로 나눈 값은 구간 ①에서는 '3', 구간 ②에서는 '1', 구간 ③에서는 '5'가 되고, 최대값은 '5'이므로 임계값은 '5'가 된다.
움직임 벡터 예측 후보와 현재 움직임 벡터를 각 컴포넌트별로 분리하여 예시적으로 나타낸 도 9를 참조하면, x-컴포넌트의 임계값은 '2'이고, y-컴포넌트의 임계값은 '3'이다. 이 경우, 예측 움직임 벡터의 x-컴포넌트는 '3'(MVp_cand[2])로 결정되어 차분 벡터의 x-컴포넌트는 '-3'이 되며, 예측 움직임 벡터의 y-컴포넌트는 '2'(MVp_cand[0])으로 결정되어 차분 벡터의 y-컴포넌트는 '+4'가 된다. 차분 벡터의 두 컴포넌트의 절대값이 각 컴포넌트의 임계값보다 크므로, 예측 후보 식별 플래그 부호화기(240)는 움직임 벡터 예측 후보 중에서 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지를 나타내기 위한 예측 후보 식별 플래그를 생성하여 부호화하지 않을 수 있다. 이와 같은 원리로, 영상 복호화 장치에서는 현재 움직임 벡터를 복원할 때, 예측 후보 식별 플래그가 없어 하나 이상의 움직임 벡터 예측 후보 중에서 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지 알 수 없는 경우에도, 차분 벡터의 x-컴포넌트와 y-컴포넌트가 각 컴포넌트의 임계값보다 큰지 여부를 확인하여 임계값보다 크면, 스스로 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지를 파악할 수 있다.
또한, 다른 예로, x-컴포넌트 임계값은 하나 이상의 움직임 벡터 예측 후보의 x-컴포넌트 중 가장 가까운 두 개의 움직임 벡터 예측 후보의 x-컴포넌트 간의 차이값을 소정의 수로 나눈 값들일 수 있으며, y-컴포넌트 임계값은 하나 이상의 움직임 벡터 예측 후보의 y-컴포넌트 중 가장 가까운 두 개의 움직임 벡터 예측 후보의 y-컴포넌트 간의 차이값을 소정의 수로 나눈 값들일 수 있다. 즉, 각 컴포넌트 임계값은 수학식 6과 같이 각 움직임 벡터 예측 후보들 사이의 거리를 2로 나눈 값들 중에서 가장 큰 값이 아니라, 수학식 7과 같이 각 움직임 벡터 예측 후보들 사이의 거리를 2로 나눈 값들로 계산될 수 있다. 따라서, 움직임 벡터 예측 후보가 N개 있을 경우, 각 컴포넌트의 임계값은 N-1개일 수 있다. 단, 수학식 7에서, 0 ≤ n < N이다.
Figure 112008075755922-pat00007
예를 들어, 도 8과 같은 경우, x-컴포넌트의 제 1 임계값(Threshold1)은 '3'이 될 수 있고, 제 2 임계값(Threshold2)은 '1'이 될 수 있고, 제 3 임계값(Threshold3)은 '5'가 될 수 있다.
이 경우, 예측 후보 식별 플래그 부호화기(240)는 차분 벡터의 각 컴포넌트의 절대값의 크기와 각 컴포넌트 임계값에 따라, 예측 후보 식별 플래그를 다르게 생성하고 부호화할 수 있다. 즉, 예측 후보 식별 플래그 부호화기(240)는 N-1개의 임계값을 내림차순으로 정렬을 하여 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트의 가장 작은 임계값보다 작거나 같은 경우, N개의 선택된 움직임 벡터 예측 후보들 중에서 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로 결정되었는지를 식별하는 예측 후보 식별 플래그를 생성하고 부호화하며, 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트의 두 번째로 작은 임계값보다 작거나 같은 경우, 해당 컴포넌트의 가장 작은 임계값을 가지는 두 개의 움직임 벡터 예측 후보들의 사이에 현재 움직임 벡터가 없다고 가정을 하고 N-1개의 선택된 움직임 벡터 예측 후보들 중에서 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로 결정되었는지를 식별하는 예측 후보 식별 플래그를 생성하여 부호화한다. 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트의 세 번째로 작은 임계값보다 작거나 같은 경우, 해당 컴포넌트의 가장 작은 임계값을 가지는 두 개의 움직임 벡터 예측 후보들의 사이에 현재 움직임 벡터가 없다고 가정을 하고, 해당 컴포넌트의 두 번째로 작은 임계값을 가지는 두 개의 움직임 벡터 예측 후보들 사이에도 현재 움직임 벡터가 없다고 가정을 하고, N-2개의 선택된 움직임 벡터 예측 후보들 중에서 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로 결정되었는지를 식별하기 위한 예측 후보 식별 플래그를 생성하여 부호화한다.
이와 같은 방법으로 차분 벡터의 각 컴포넌트의 절대값과 해당 컴포넌트의 각 임계값을 차례로 비교하여 예측 후보 식별 플래그를 생성하여 부호화하며, 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트의 모든 임계값보다 큰 경우에는, N개의 움직임 벡터 예측 후보들 중에서 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지를 식별하기 위한 예측 후보 식별 플래그를 생성하여 부호화할 필요가 없다. 이와 같이, 차분 벡터의 각 컴포넌트의 절대값과 해당 컴포넌트의 임계값들에 따라서, 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지를 식별하기 위한 예측 후보 식별 플래그의 길이가 달라질 수 있다.
위와 같은 방법에 따르면, 차분 벡터의 각 컴포넌트의 절대값이 모든 임계값보다 큰 경우에는, 움직임 벡터 예측 후보의 각 컴포넌트에 대해 개별적으로 선택하여 예측 움직임 벡터를 결정할 수 있다. 차분 벡터의 각 컴포넌트의 절대값 중 하나의 컴포넌트만 모든 임계값보다 큰 경우에는, 모든 임계값보다 크지 않은 절대값을 가지는 차분 벡터의 컴포넌트에 대해서만 움직임 벡터 예측 후보들 중에서 어떠한 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정했는지를 식별하기 위한 예측 후보 식별 플래그를 전송한다.
즉, 차분 벡터의 두 컴포넌트의 절대값 중 하나만 가장 큰 임계값을 넘은 경우에는, 가장 큰 임계값을 넘지 않은 절대값을 가지는 컴포넌트를 가지는 움직임 벡터 예측 후보를 식별하기 위한 예측 후보 식별 플래그를 생성하여 부호화할 수 있다. 차분 벡터의 두 컴포넌트의 절대값이 모두 가장 큰 임계값보다 크지 못한 경우에는, 각 컴포넌트에 대해 독립적으로 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로 결정되었는지를 식별하기 위한 예측 후보 식별 플래그를 생성하여 부호화하는 것이 아니라, 각 컴포넌트 두 개가 동시에 예측 움직임 벡터로 결정되는 움직임 벡터 예측 후보를 식별하기 위한 예측 후보 식별 플래그를 생성하여 부호화할 수 있다.
예를 들어, 전술한 도 8과 복수 개의 임계값에 따른 예측 후보 식별 플래그를 예시적으로 나타낸 도 10을 참조하면, 예측 후보의 개수는 4개이고 각각의 임계값은 '1', '3', '5'가 된다. 이에 따라, 도 10에서는 3개의 임계값에 따라 나누어진 구간을 나타내었다. ①로 표시된 구간은 움직임 벡터 예측 후보들의 x-컴포넌트를 나타낸 것이고, ②로 표시된 구간은 차분 벡터의 x-컴포넌트의 절대값이 x-컴포넌트의 가장 작은 임계값보다 작거나 같은 경우의 현재 움직임 벡터의 x-컴포넌트가 위치하는 구간을 나타낸 것이고, ③으로 표시된 구간은 차분 벡터의 x-컴포넌트의 절대값이 x-컴포넌트의 두 번째로 작은 임계값보다 작거나 같은 경우의 현재 움직임 벡터의 x-컴포넌트가 위치하는 구간을 나타낸 것이고, ④로 표시된 구간은 차분 벡터의 x-컴포넌트의 절대값이 x-컴포넌트의 가장 큰 임계값보다 작거나 같은 경우의 현재 움직임 벡터의 x-컴포넌트가 위치하는 구간을 나타낸 것이고, ⑤로 표시된 구간은 차분 벡터의 x-컴포넌트의 절대값이 x-컴포넌트의 가장 큰 임계값보다 큰 경우의 현재 움직임 벡터의 x-컴포넌트가 위치하는 구간을 나타낸 것이다.
예측 후보 식별 플래그 부호화기(240)는 ②로 표시된 구간에서는 4개의 움직임 벡터 예측 후보 중에서 어떠한 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정했는지를 식별하는 예측 후보 식별 플래그를 생성하여 부호화할 수 있고, ③으로 표시된 구간에서는 3개의 움직임 벡터 예측 후보 중에서 어떠한 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정했는지를 식별하는 예측 후보 식별 플래그를 생성하여 부호화할 수 있으며, ④로 표시된 구간에서는 2개의 움직임 벡터 예측 후보 중에서 어떠한 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정했는지를 식별하는 예측 후보 식별 플래그를 생성하여 부호화할 수 있으며, ⑤로 표시된 구간에서는 예측 후보 식별 플래그를 생성하지 않을 수 있다.
현재 움직임 벡터의 x-컴포넌트가 '8'인 경우, 예측 움직임 벡터의 x-컴포넌트는 '4'가 된다. 이때, 차분 벡터의 x-컴포넌트는 '+4'이므로 그 절대값이 x-컴포넌트의 가장 큰 임계값인 '5'보다 작고, 두 번째로 큰 임계값인 '3'보다 크므로, 움직임 벡터 예측 후보의 x-컴포넌트 '4' 및 '14' 중 하나를 식별하기 위한 예측 후보 식별 플래그를 생성하여 부호화하면 된다.
영상 복호화 장치에서는 차분 벡터의 x-컴포넌트가 '+4'이므로, 움직임 벡터 예측 후보의 x-컴포넌트 '-4'를 예측 움직임 벡터의 x-컴포넌트로 가정한 경우, 현재 움직임 벡터의 x-컴포넌트를 '0'으로 가정할 수 있다. 하지만, 현재 움직임 벡 터의 x-컴포넌트가 '0'이라고 가정한 경우, 최적의(즉, 차분 벡터의 x-컴포넌트 값을 최소로 하는) 예측 움직임 벡터의 x-컴포넌트는 '2'가 되므로, 움직임 벡터 예측 후보의 x-컴포넌트 '-4'는 예측 움직임 벡터가 아님을 알 수 있다. 이와 같은 방법으로, 움직임 벡터 예측 후보의 x-컴포넌트 '-4'와 '2'는 예측 움직임 벡터로서 결정되지 않았음을 알 수 있다. 따라서, 예측 움직임 벡터로서 결정될 수 있는 움직임 벡터 예측 후보의 x-컴포넌트 '4'와 '14' 중에서 어느 값이 예측 움직임 벡터의 x-컴포넌트로 결정되었는지를 식별하기 위한 예측 후보 식별 플래그를 생성하여 부호화하면 된다. 이와 같이, 각 컴포넌트에 대해 복수 개의 임계값을 계산하고, 차분 벡터의 각 컴포넌트의 절대값과 해당 컴포넌트의 복수 개의 임계값을 비교하여 예측 후보 식별 플래그를 다르게 생성하고 부호화하면, 현재 움직임 벡터를 부호화할 때 전송해야 하는 예측 후보 식별 플래그의 부호화된 비트량을 줄일 수 있고, 그에 따라 압축 효율을 향상시킬 수 있다.
영상 복호화 장치에서는 이러한 예측 후보 식별 플래그만을 이용하여 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지 식별할 수 있다.
또 다른 예로서, 예측 움직임 벡터 결정기(220)는 선택된 움직임 벡터 예측 후보들 중에서 각 움직임 벡터 예측 후보들 간의 거리가 임의의 임계값보다 작을 경우, 임의의 임계값보다 작은 두 움직임 벡터 예측 후보 중 어느 하나만 선택 선택된 것으로 간주하여 다른 움직임 벡터 예측 후보를 움직임 벡터 예측 후보들에서 제외하고, 제외되지 않은 나머지 움직임 벡터 예측 후보들 중에서 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정할 수 있다. 영상 복호화 장치에서도 선택된 움직임 벡터 예측 후보들 중에서 움직임 벡터 예측 후보들 간의 거리가 임의의 임계값보다 작을 경우, 임의의 임계값보다 작은 두 움직임 벡터 예측 후보 중 하나만 선택된 것으로 간주하고 다른 움직임 벡터 예측 후보를 움직임 벡터 예측 후보들에서 제외시켜, 나머지 움직임 벡터 예측 후보들 중에서 하나를 예측 움직임 벡터로서 결정할 수 있다.
예를 들어, 임의의 임계값이 '2'이고 선택된 움직임 벡터 예측 후보들이 3개일 경우, 첫 번째 움직임 벡터 예측 후보가 '-5'이고, 두 번째 움직임 벡터 예측 후보가 '8'이고, 세 번째 움직임 벡터 예측 후보가 '9'라면, 두 번째 움직임 벡터 예측 후보와 세 번째 움직임 벡터 예측 후보의 거리가 임의의 임계값보다 작으므로, 세 번째 움직임 벡터 예측 후보를 움직임 벡터 예측 후보들에서 제외하고 첫 번째 움직임 벡터 예측 후보와 두 번째 움직임 벡터 예측 후보 중에서 하나를 예측 움직임 벡터로서 결정할 수 있다. 이와 같은 방법을 이용하면, 선택된 움직임 벡터 예측 후보들의 개수를 줄여 예측 후보 식별 플래그를 부호화하기 위한 비트량을 줄일 수 있다.
또한, 예측 후보 식별 플래그 부호화기(240)는 예측 후보 식별 플래그를 생성하는 경우, 다양한 방식으로 예측 후보 식별 플래그를 생성할 수 있다. 일 예로서, 예측 후보 식별 플래그 부호화기(240)는 예측 움직임 벡터로서 결정된 움직임 벡터 예측 후보가 하나 이상의 움직임 벡터 예측 후보 중 현재 움직임 벡터로 결정될 확률이 최고인 움직임 벡터 예측 후보인 경우, 예측 후보 식별 플래그가 최소의 비트가 되도록, 예측 후보 식별 플래그를 생성할 수 있다.
즉, 수학식 8과 같이, 움직임 벡터 예측 후보들의 개수(NumOfMVpCand)를 이용하여 예측 후보 식별 플래그를 부호화하는 데 필요한 최대 길이(L)을 계산한다.
Figure 112008075755922-pat00008
Figure 112008075755922-pat00009
수학식 9와 같이, 계산된 움직임 벡터 예측 후보들의 개수에서 '1'을 빼고 log2를 취한 M의 값이 정수일 때, 예측 후보 식별 플래그의 전송 비트를 예시적으로 나타낸 도 11과 같이, 예측 움직임 벡터로 결정된 움직임 벡터 예측 후보를 식별하기 위한 예측 후보 식별 플래그를 생성하여 부호화할 때, 가장 확률이 높은 움직임 벡터 예측 후보가 예측 움직임 벡터일 경우, 예측 후보 식별 플래그를 한 비트로 생성하고 부호화한다.
예를 들어, 선택된 움직임 벡터 예측 후보들이 3개인 경우(MVp_cand[i]:0≤i <3), 부호화하는데 필요한 최대 비트 길이 L은 '2'이므로, 선택된 움직임 벡터 예측 후보들 중에서 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지를 식별하는 예측 후보 식별 플래그를 2비트로 생성할 수 있다. 이때, 수학식 9에 의하여 M의 값이 정수이므로, 확률이 가장 높은 움직임 벡터 예측 후보는 한 비트로 생성하여 부호화한다. 한 비트의 예측 후보 식별 플래그가 '1'인 경우에는 확률이 가장 높은 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정된 것을 식 별하며, '0'인 경우에는 확률이 가장 높은 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되지 않은 것을 식별하므로, 추가적인 비트를 생성하여 부호화함으로써, 나머지 2개의 움직임 벡터 예측 후보들을 식별하기 위한 2비트를 생성하여 부호화한다. M이 정수인 경우, 영상 복호화 장치에서는 예측 후보 식별 플래그를 한 비트만 읽어서 확률이 가장 높은 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지를 식별하고 확률이 가장 높은 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되지 않은 경우에만, 비트를 추가로 읽어서 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지를 식별한다.
이때, 예측 후보 식별 플래그 부호화기(240)는 하나 이상의 움직임 벡터 예측 후보를 이용하여 현재 프레임의 하나 이상의 영역을 부호화함으로써, 하나 이상의 움직임 벡터 예측 후보 각각에 대해 현재 움직임 벡터로 결정될 확률을 계산할 수도 있으며, 임의로 지정되어 설정되는 확률에 따르거나 임의로 지정되어 설정되는 움직임 벡터 예측 후보를 확률이 가장 높은 움직임 벡터 예측 후보로 선택할 수 있다.
다른 예로서, 예측 후보 식별 플래그 부호화기(240)는 하나 이상의 움직임 벡터 예측 후보 중 적어도 하나 이상이 동일하지 않은 경우에만 예측 후보 식별 플래그를 생성하여 부호화할 수 있다. 즉, 선택된 움직임 벡터 예측 후보들이 동일한 예측 후보들은 하나로 간주한다. 모든 선택된 예측 후보가 모두 동일한 경우에는 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로 결정되더라도 해당 움직임 벡터 예측 후보가 최적이 되므로, 움직임 벡터 예측 후보들 중에서 어떠한 움직임 벡 터 예측 후보가 예측 움직임 벡터로서 결정되었는지를 식별하는 예측 후보 식별 플래그를 생성하여 부호화하지 않을 수 있다. 이 경우, 영상 복호화 장치에서도 예측 후보 식별 플래그를 복호화하지 않는다.
또 다른 예로서, 예측 후보 식별 플래그 부호화기(240)는 현재 블록의 블록 타입이 SKIP 모드인 경우, P 블록인 경우 및 B 블록인 경우 중 하나 이상의 경우, 각 경우에 대해 예측 후보 식별 플래그를 생성하여 부호화할 수 있다. 즉, 예측 움직임 벡터 결정기(220)는 현재 블록의 블록 타입이 SKIP 모드인 경우, P 블록인 경우 및 B 블록인 경우, 각각에 대해서 서로 다른 움직임 벡터 예측 후보를 선택할 수 있다. 이 경우, 예측 후보 식별 플래그 부호화기(240)는 각 경우에 따라 예측 후보 선택 플래그를 다르게 생성하여 부호화할 수 있다. 이때, 예측 후보 선택기(220)와 예측 후보 선택 부호화기(250)에서도 블록의 블록 타입이 SKIP 모드일 경우, P 블록인 경우, B 블록인 경우에 따라 각각 다르게 선택된 움직임 벡터 예측 후보들을 비트스트림의 헤더에 삽입하여 전송한다. 영상 복호화 장치에서도 현재 블록의 블록 타입이 SKIP 모드일 경우, P 블록인 경우, B 블록인 경우에 따라 각각 다르게 선택된 움직임 벡터 예측 후보들을 복호화하여 결정할 수 있다.
도 12는 본 발명의 일 실시예에 따른 움직임 벡터 부호화 방법을 설명하기 위한 순서도이다.
부호화기(150)는 하나 이상의 움직임 벡터 예측 후보를 선택하고(S1210), 하나 이상의 움직임 벡터 예측 후보 중에서 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정하며(S1220), 기 결정된 현재 움직임 벡터에서 단계 S1220에서 결정된 예측 움직임 벡터를 감산하여 차분 벡터를 계산하고(S1230), 계산된 차분 벡터를 부호화한다(S1240).
여기서, 부호화기(150)는 단계 S1210에서 선택된 하나 이상의 움직임 벡터 중에서 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지를 식별하는 예측 후보 식별 플래그를 생성하여 부호화할 수 있다. 또한, 부호화기(150)가 하나 이상의 움직임 벡터 예측 후보를 선택하는 방법, 예측 움직임 벡터를 결정하는 방법과 예측 후보 식별 플래그를 생성하여 부호화하는 방법에 대해서는 도 2 내지 도 11을 통해 전술하였으므로, 상세한 설명은 생략한다. 또한, 도 12에서 나타낸 단계의 순서는 예시일 뿐, 본 발명이 이러한 순서에 반드시 한정되는 것은 아니며 그 순서는 선택적으로 변경될 수 있으며, 경우에 따라서는 일부 또는 전부의 단계가 병렬적으로 수행될 수도 있다.
도 13은 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
영상 부호화 장치(100)는 현재 블록의 현재 움직임 벡터를 결정하고 결정된 현재 움직임 벡터를 이용하여 예측 블록을 생성하며(S1310), 현재 블록과 예측 블록을 감산하여 잔차 블록을 생성하고 잔차 블록을 변환하여 양자화하고 부호화한다(S1320). 영상 부호화 장치(100)는 하나 이상의 움직임 벡터 예측 후보 중에서 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정하고(S1330), 현재 움직임 벡터에서 단계 S1330에서 결정된 예측 움직임 벡터를 감산한 차분 벡터를 부호화한다(S1340). 이때, 영상 부호화 장치(100)는 예측 후보 식별 플래그를 생성하 여 부호화할 수 있다. 영상 부호화 장치(100)는 단계 S1320에서 부호화된 잔차 블록 및 단계 S1340에서 부호화된 차분 벡터를 포함하는 비트스트림을 생성하여 출력한다(S1350). 영상 부호화 장치(100)는 예측 후보 식별 플래그가 부호화된 경우에는 비트스트림에 부호화된 예측 후보 식별 플래그를 추가로 포함시킬 수 있다. 또한, 도 13에서 나타낸 단계의 순서는 예시일 뿐, 본 발명이 이러한 순서에 반드시 한정되는 것은 아니며 그 순서는 선택적으로 변경될 수 있으며, 경우에 따라서는 일부 또는 전부의 단계가 병렬적으로 수행될 수도 있다.
이상에서 전술한 바와 같이, 영상 부호화 장치(100)에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등의 통신 인터페이스를 통해 후술할 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
도 14는 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 복호화 장치(1400)는 복호화기(1410), 역 양자화기(1420), 역 변환기(1430), 예측기(1440), 가산기(1450) 및 메모리(1460)을 포함하여 구성될 수 있다. 이러한 영상 복호화 장치(1400)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레 이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
복호화기(1410)는 비트스트림으로부터 부호화된 잔차 블록과 부호화된 차분 벡터를 추출하고 복호화하여 잔차 블록 및 차분 벡터를 복원하며, 하나 이상의 움직임 벡터 예측 후보 중에서 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정하고 예측 움직임 벡터와 복원된 차분 벡터를 가산하여 현재 블록의 현재 움직임 벡터를 복원한다.
여기서, 복호화기(1410)는 비트스트림으로부터 부호화된 예측 후보 식별 플래그를 추가로 추출하고 복호화하여 예측 후보 식별 플래그를 추가로 복원하되, 하나 이상의 움직임 벡터 예측 후보 중에서 복원된 예측 후보 식별 플래그에 의해 식별되는 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정할 수 있다.
또한, 복호화기(1410)는 비트스트림으로부터 부호화된 예측 후보 식별 플래그와 부호화된 일부 예측 후보 식별 플래그를 복호화하여 예측 후보 식별 플래그 및 일부 예측 후보 식별 플래그를 복원하고, 하나 이상의 움직임 벡터 예측 후보 중에서 복원된 일부 예측 후보 식별 플래그에 의해 식별되는 일부 움직임 벡터 예측 후보 중에서 복원된 예측 후보 식별 플래그에 의해 식별되는 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정할 수 있다.
또한, 복호화기(1410)는 비트스트림으로부터 부호화된 예측 후보 식별 플래그를 추가로 추출하고 복호화하여 예측 후보 식별 플래그를 추가로 복원하되, 복원된 차분 벡터의 x-컴포넌트의 절대값 및 y-컴포넌트의 절대값 중 하나 이상이 각각 기 설정된 x-컴포넌트 임계값 및 기 설정된 y-컴포넌트 임계값 중 하나 이상보다 작거나 같은 경우에는, 복원된 예측 후보 식별 플래그에 의해 식별되는 움직임 벡터 예측 후보의 x-컴포넌트 및 y-컴포넌트 중 하나 이상을 예측 움직임 벡터의 x-컴포넌트 및 y-컴포넌트 중 하나 이상으로서 결정할 수 있다.
역 양자화기(1420)는 복호화기(1410)에 의해 복원된 잔차 블록을 역 양자화하고, 역 변환기(1430)는 역 양자화기(1420)에 의해 역 양자화된 잔차 블록을 역 변환하며, 예측기(1440)는 복호화기(1410)에 의해 복원된 현재 움직임 벡터를 이용하여 예측 블록을 생성하며, 가산기(1450)는 역 변환기(1430)에 의해 역 변환된 잔차 블록과 예측기(1440)에 의해 생성된 예측 블록을 가산하여 현재 블록을 복원한다. 메모리(1460)는 가산기(1450)로부터 출력되는 복원된 현재 블록을 프레임 단위로 참조 프레임으로서 저장하여 예측기(1440)에서 참조 프레임을 이용할 수 있도록 한다.
도 14에서는 도시하지 않았지만, 전술한 본 발명의 일 실시예에 따른 영상 복호화 장치(1400)는 H.264/AVC 표준에 기초하여, 인트라 예측을 위한 인트라 예측기, 복원된 현재 블록을 디블로킹 필터링(Deblocking Filtering)하는 디블록킹 필터기 등을 추가로 포함할 수 있다.
도 15는 본 발명의 일 실시예에 따른 움직임 벡터 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 움직임 벡터 복호화 장치는 도 14에서 전술한 본 발명의 일 실시예에 따른 영상 복호화 장치에서는 복호화기(1410)로 구현될 수 있다. 이하에서는 설명의 편의를 위해 본 발명의 일 실시예에 따른 움직임 벡터 복호화 장치를 복호화기(1410)라 칭한다.
본 발명의 일 실시예에 따른 복호화기(1410)는 차분 벡터 복호화기(1530) 및 움직임 벡터 복원기(1540)를 포함하여 구성될 수 있다. 또한, 복호화기(1410)는 경우에 따라서, 예측 후보 선택 플래그 복호화기(1510) 및 예측 후보 식별 플래그 복호화기(1520)를 추가로 포함할 수 있다. 또한, 복호화기(1410)는 부호화된 잔차 블록을 복호화하는 영상 복호화기를 추가로 포함할 수 있지만, 영상 복호화기는 당업자에게 자명하므로 상세한 설명을 생략한다.
차분 벡터 복호화기(1530)는 부호화된 차분 벡터를 복호화하여 차분 벡터를 복원한다. 움직임 벡터 복원기(1540)는 하나 이상의 움직임 벡터 예측 후보 중 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정하고, 결정된 예측 움직임 벡터와 복원된 차분 벡터를 가산하여 현재 블록의 현재 움직임 벡터를 복원한다.
예측 후보 선택 플래그 복호화기(1510)는 비트스트림의 헤더로부터 부호화된 예측 후보 선택 플래그를 복원하고, 후보 식별 플래그 복호화기(1530)는 비트스트림으로부터 부호화된 예측 후보 식별 플래그 중 하나 이상을 추출하고 복호화하여 복원한다. 움직임 벡터 복원기(1540)는 후보 선택 플래그 복호화기(1510)에 의해 복원된 예측 후보 선택 플래그에 의해 식별되는 움직임 벡터 예측 후보를 하나 이 상의 움직임 벡터 예측 후보로서 결정할 수 있으며, 후보 식별 플래그 복호화기(1520)에 의해 복원된 예측 후보 식별 플래그에 의해 식별되는 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정할 수 있다.
여기서, 움직임 벡터 복원기(1530)는 후보 선택 플래그 복호화기(1510)가 없거나 후보 선택 플래그 복호화기(1510)에 의해 예측 후보 선택 플래그가 복원되지 않은 경우, 부호화기(150)와 같이, 현재 블록의 주변 블록의 움직임 벡터, 참조 프레임에서 현재 블록의 위치와 동일한 위치에 있는 Col 블록의 움직임 벡터, Col 블록의 주변 블록의 움직임 벡터 및 현재 블록에서 참조 프레임의 특정 블록을 지시하는 지시 벡터 중 하나 이상을 하나 이상의 움직임 벡터 예측 후보로서 선택할 수 있다. 여기서, 특정 블록은 지시 벡터와 수평이거나 지시 벡터와의 차이가 기 설정된 임계값보다 작은 움직임 벡터를 갖는 블록일 수 있다. 이에 대해서는 도 5 내지 도 7을 통해 전술하였으므로 상세한 설명은 생략한다.
또한, 선택된 하나 이상의 움직임 벡터 예측 후보가 모두 동일한 경우, 동일한 움직임 벡터 예측 후보는 하나의 움직임 벡터 예측 후보로 가정하고, 후보 식별 플래그 복호화기(1520)에서 예측 움직임 벡터로서 결정하고 복원된 차분 벡터와 가산하여 현재 움직임 벡터를 복원할 수 있다.
또한, 움직임 벡터 복원기(1540)는 차분 벡터 복호화기(1530)에서 복원된 차분 벡터의 x-컴포넌트의 절대값 및 y-컴포넌트의 절대값이 각각 기 설정된 x-컴포넌트 임계값 및 기 설정된 y-컴포넌트 임계값보다 큰 경우에는, 후보 식별 플래그를 복호화하지 않아도 되며, 하나 이상의 움직임 벡터 예측 후보 각각을 이용하여 복원한 현재 움직임 벡터가 최소가 되는 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정할 수 있다.
도 8과 도 9를 참조하여 예를 들면, 차분 벡터가 임계값 보다 큰 경우, 움직임 벡터 복원기(1540)는 예측 후보 식별 플래그가 없이 선택된 움직임 벡터 예측 후보들 중에서 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지 식별할 수 없는 경우, 첫 번째 움직임 벡터 예측 후보의 x-컴포넌트로 현재 움직임 벡터를 복원하면, 현재 움직임 벡터는 '7'(10-3=7)이 된다. 하지만, 두 번째 움직임 벡터 예측 후보의 x-컴포넌트가 '7'이므로 첫 번째 움직임 벡터 예측 후보의 x-컴포넌트를 이용하여 부호화된 것이 아님을 식별할 수 있다. 두 번째 움직임 벡터 예측 후보의 x-컴포넌트를 이용하여 현재 움직임 벡터를 복원하면, 현재 움직임 벡터는 '4'(7-3=4)이므로, 현재 움직임 벡터가 '4'인 경우에는 두 번째 움직임 벡터 예측 후보의 x-컴포넌트로 예측한 것보다는 세 번째 움직임 벡터 예측 후보로 예측한 경우가 더욱 최적인 것을 식별할 수 있다. 따라서, 두 번째 움직임 벡터 예측 후보의 x-컴포넌트를 이용하여 부호화된 것이 아님을 알 수 있다. 이와 같은 방법을 통해, 세 번째 움직임 벡터 예측 후보의 x-컴포넌트가 최적임을 알 수 있으므로, 영상 부호화 장치(100)에서 세 번째 움직임 벡터 예측 후보의 x-컴포넌트로 예측 움직임 벡터의 x-컴포넌트를 결정했음을 식별할 수 있다.
또한, 복호화기(1410)에서 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트 임계값보다 커서 예측 후보 식별 플래그를 복호화 하지 않아도 되는 경우, 움직임 벡터 예측 후보들을 각각 컴포넌트별로 따로따로 복호화하여 예측 움직임 벡터 를 결정할 수 있다. 예를 들면, 부호화기(150)에 대한 설명에서 전술한 바와 같이, 차분 벡터의 두 컴포넌트의 절대값이 모두 각 컴포넌트의 임계값 보다 큰 경우, x-컴포넌트에 대한 최적의 예측 움직임 벡터를 'A'로 결정하고, y-컴포넌트의 최적의 예측 움직임 벡터를 'B'로 결정하여, 각각 컴포넌트별로 다른 움직임 벡터 예측 후보로 예측 움직임 벡터를 결정할 수 있다.
또한, 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트 임계값보다 작거나, 두 컴포넌트 중 하나만 작은 경우, 복호화기(1410)가 예측 후보 식별 플래그를 복호화해야 한다. 움직임 벡터 복원기(1540)는 예측 후보 식별 플래그 복호화기(1520)에 의해 복원된 예측 후보 식별 플래그에 의해 식별되는 움직임 벡터 예측 후보를 움직임 벡터 예측 후보로서 결정할 수 있다. 또한, 차분 벡터의 x-컴포넌트와 y-컴포넌트가 임계값보다 모두 작은 경우, x-컴포넌트와 y-컴포넌트 각각 예측 후보 식별 플래그를 복호화하여 식별되는 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정할 수도 있고, 하나의 예측 후보 식별 플래그를 복호화하여 두 컴포넌트를 동시에 만족하는 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정할 수도 있다. 차분 벡터의 두 컴포넌트의 절대값 중 하나만 해당 컴포넌트의 임계값보다 큰 경우, 해당 컴포넌트의 임계값보다 작은 컴포넌트에 대해서만 예측 후보 식별 플래그를 복호화한다. 움직임 벡터 복원기(1540)는 차분 벡터 복호화기(1530)에 의해 복원된 차분 벡터의 x-컴포넌트의 절대값 및 y-컴포넌트의 절대값 중 하나 이상이 각각 기 설정된 x-컴포넌트 임계값 및 기 설정된 y-컴포넌트 임계값 중 하나 이상보다 작거나 같은 경우에는, 예측 후보 식별 플래그 복호화기(1520)에 의해 복원 된 예측 후보 식별 플래그에 의해 식별되는 움직임 벡터 예측 후보의 x-컴포넌트 및 y-컴포넌트 중 하나 이상을 예측 움직임 벡터의 x-컴포넌트 및 y-컴포넌트 중 하나 이상으로서 결정할 수 있다. 이때, 예측 후보 선택 플래그 복호화기(1510)가 예측 후보 선택 플래그를 복원한 경우, 움직임 벡터 복원기(1540)가 예측 후보 선택 플래그에 의해 식별되는 움직임 벡터 예측 후보 중에서 복원된 예측 후보 식별 플래그에 의해 식별되는 움직임 벡터 예측 후보의 x-컴포넌트 및 y-컴포넌트 중 하나 이상을 예측 움직임 벡터의 x-컴포넌트 및 y-컴포넌트 중 하나 이상으로서 결정할 수 있음은 물론이다.
예를 들어, 도 2를 통해 전술한 예측 후보 식별 플래그 부호화기(240)는 하나의 컴포넌트만이 임계값보다 작은 경우에는 임계값보다 큰 하나의 컴포넌트로 어떠한 움직임 벡터 예측 후보가 이용되었는지를 식별하는 예측 후보 식별 플래그를 생성하며, 두 개의 컴포넌트가 모두 임계값보다 크지 않은 경우에는 두 개의 컴포넌트로 어떠한 움직임 벡터 예측 후보가 이용되었는지를 식별하는 하나의 예측 후보 식별 플래그를 생성하여 부호화하거나 두 개의 컴포넌트로 어떠한 움직임 벡터 예측 후보가 이용되었는지를 식별하는 두 개의 예측 후보 식별 플래그를 생성하여 부호화할 수 있다.
따라서, 예측 후보 식별 플래그 복호화기(1520)가 비트스트림으로부터 두 개의 부호화된 예측 후보 식별 플래그를 추출하여 복호화하면, 움직임 벡터 복원기(1540)는 두 개의 예측 후보 식별 플래그로 식별되는 움직임 벡터 예측 후보의 x-컴포넌트와 y-컴포넌트를 예측 움직임 벡터의 x-컴포넌트와 y-컴포넌트로 결정할 수 있다. 또한, 후보 식별 플래그 복호화기(1520)는 하나의 부호화된 예측 후보 식별 플래그를 추출하여 복호화하면, 움직임 벡터 복원기(1540)는 하나의 예측 후보 식별 플래그에 의해 식별되는 움직임 벡터 예측 후보의 x-컴포넌트 및 y-컴포넌트로 예측 움직임 벡터의 x-컴포넌트 및 y-컴포넌트를 결정하거나 하나의 예측 후보 식별 플래그에 의해 식별되는 움직임 벡터 예측 후보의 x-컴포넌트 또는 y-컴포넌트를 예측 움직임 벡터의 x-컴포넌트 또는 y-컴포넌트를 결정할 수 있다.
이때, 움직임 벡터 복원기(1540)는 하나의 예측 후보 식별 플래그에 의해 식별되는 움직임 벡터 예측 후보의 x-컴포넌트와 y-컴포넌트 중 어느 컴포넌트를 예측 움직임 벡터의 해당 컴포넌트로 결정할 것인지는 영상 부호화 장치(100)의 예측 후보 식별 플래그 부호화기(240)와 약속(또는 기 설정)된 컴포넌트로 결정할 수 있다. 또한, 움직임 벡터 복원기(1540)는 하나의 예측 후보 식별 플래그에 의해 식별되는 움직임 벡터 예측 후보의 x-컴포넌트와 y-컴포넌트 중 어느 컴포넌트를 예측 움직임 벡터의 해당 컴포넌트로 결정한 경우, 예측 움직임 벡터의 나머지 컴포넌트는 하나 이상의 움직임 벡터 예측 후보의 해당 컴포넌트 각각을 이용하여 복원한 현재 움직임 벡터가 최소가 되는 움직임 벡터 예측 후보의 해당 컴포넌트를 예측 움직임 벡터의 해당 컴포넌트로서 결정할 수 있다.
또한, 복호화기(1410)는 예측 후보 선택 플래그 복호화기(1510)에서 선택된 움직임 벡터 예측 후보들을 이용하여 부호화기(150)에 대한 설명에서 전술한 수학식 7과 같이 선택된 예측 후보들의 개수를 N이라고 하면, N-1개의 임계값을 계산하여 도8과 도 10과 같이 차분 벡터의 크기에 따라 복호화할 예측 후보 식별 플래그 의 길이가 달라진다. 예측 후보 식별 플래그 복호화기(1520)는 차분 벡터의 각 컴포넌트의 절대값의 크기와 각 컴포넌트 임계값에 따라, 예측 후보 식별 플래그를 다르게 생성하고 복호화한다. 즉, 예측 후보 식별 플래그 복호화기(1520)는 N-1개의 임계값을 내림차순으로 정렬하여 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트의 가장 작은 임계값보다 작거나 같은 경우, N개의 선택된 움직임 벡터 예측 후보들 중에서 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로 결정되었는지를 식별하는 예측 후보 식별 플래그를 복호화하며, 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트의 두 번째로 작은 임계값보다 작거나 같은 경우, 해당 컴포넌트의 가장 작은 임계값을 가지는 두 개의 움직임 벡터 예측 후보들의 사이에 현재 움직임 벡터가 없다고 가정을 하고 N-1개의 선택된 움직임 벡터 예측 후보들 중에서 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로 결정되었는지를 식별하는 예측 후보 식별 플래그를 복호화한다. 차분 벡터의 각 컴포넌트의 절대값이 해당 컴포넌트의 세 번째로 작은 임계값보다 작거나 같은 경우, 해당 컴포넌트의 가장 작은 임계값을 가지는 두 개의 움직임 벡터 예측 후보들의 사이에 현재 움직임 벡터가 없다고 가정을 하고, 해당 컴포넌트의 두 번째로 작은 임계값을 가지는 두 개의 움직임 벡터 예측 후보들 사이에도 현재 움직임 벡터가 없다고 가정을 하고, N-2개의 선택된 움직임 벡터 예측 후보들 중에서 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로 결정되었는지를 식별하기 위한 예측 후보 식별 플래그를 복호화한다.
복호화할 후보 예측 후보 식별 플래그의 길이는 도 11과 같이 부호화기에서 전술한 바와 같이 수학식 9에 의해 계산된 값이 정수인 경우, 한 비트만 읽어서 '1'인 경우는 가장 높은 확률의 움직임 벡터 예측 후보가 결정이 된다. '0'인 경우는 수학식 8과 같이 예측 후보 식별 플래그의 최대 길이만큼 읽어서 움직임 벡터 예측 후보를 결정한다. 수학식 9에 의해 계산된 값이 정수가 아닌 경우, 수학식 8과 같이 예측 후보 식별 플래그의 최대 길이만큼 읽어서 움직임 벡터 예측 후보(MVp_cand[i])를 결정한다.
도 8과 도 10을 참조하여 예를 들면, 움직임 벡터 예측 후보의 개수는 4개이고 각각의 임계값은 '1', '3', '5'가 된다. 도 10은 3개의 임계값에 따른 구간을 나눈 그림이다. ①로 표시된 구간은 움직임 벡터 예측 후보들의 x-컴포넌트를 나타낸 것이고, ②로 표시된 구간은 차분 벡터의 x-컴포넌트의 절대값이 x-컴포넌트의 가장 작은 임계값보다 작거나 같은 경우의 현재 움직임 벡터의 x-컴포넌트가 위치하는 구간을 나타낸 것이고, ③으로 표시된 구간은 차분 벡터의 x-컴포넌트의 절대값이 x-컴포넌트의 두 번째로 작은 임계값보다 작거나 같은 경우의 현재 움직임 벡터의 x-컴포넌트가 위치하는 구간을 나타낸 것이고, ④로 표시된 구간은 차분 벡터의 x-컴포넌트의 절대값이 x-컴포넌트의 가장 큰 임계값보다 작거나 같은 경우의 현재 움직임 벡터의 x-컴포넌트가 위치하는 구간을 나타낸 것이고, ⑤로 표시된 구간은 차분 벡터의 x-컴포넌트의 절대값이 x-컴포넌트의 가장 큰 임계값보다 큰 경우의 현재 움직임 벡터의 x-컴포넌트가 위치하는 구간을 나타낸 것이다.
예측 후보 식별 플래그 복호화기(1520)는 ②로 표시된 구간에서는 4개의 움직임 벡터 예측 후보 중에서 어떠한 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정했는지를 식별하는 예측 후보 식별 플래그를 복호화 하고, ③으로 표시된 구간에서는 3개의 움직임 벡터 예측 후보 중에서 어떠한 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정했는지를 식별하는 예측 후보 식별 플래그를 복호화 하며, ④로 표시된 구간에서는 2개의 움직임 벡터 예측 후보 중에서 어떠한 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정했는지를 식별하는 예측 후보 식별 플래그를 복호화 하며, ⑤로 표시된 구간에서는 예측 후보 식별 플래그를 복호화 하지 않는다.
차분 벡터가 '+4'인 경우는 두 번째로 큰 임계값보다 크면서 가장 큰 임계값보다 작으므로, 부호화기(150)에 대한 설명에서 전술한 바와 같이 도 10의 구간 ④에 속한다는 것을 알 수 있다. 예측 후보로 '4' 및 '14' 중 부호화기(150)에서 어떠한 움직임 벡터 예측 후보를 사용하였는지를 나타내는 예측 후보 식별 플래그를 복호화하면 된다. 이때, 수학식 8에 의하여 복호화할 움직임 벡터 예측 후보의 개수가 2개이므로, 한 비트만 복호화하면 된다. 차분 벡터가 '-3'인 경우는 도 10의 구간 ③에 속하므로, 움직임 벡터 예측 후보 '-4', '2', '14' 중에서 부호화기(150)에서 어떠한 예측 후보를 사용하였는지를 나태내는 예측 후보 식별 플래그를 복호화하면 된다. 이때, 복호화할 예측 후보의 개수가 3개이기 때문에 수학식 9에 의한 계산된 값이 정수가되므로, 도 11과 같이 한 비트만 먼저 읽은 값이 '1'인 경우, MVp_cand[0]을 움직임 벡터 예측 후보로 사용하고, '0'인 경우 수학식 8에 의하여 계산된 복호화할 예측 후보 식별 플래그의 길이만큼 복호화하면 된다.
또한, 복호화기(1410)가 예측 후보 식별 플래그 복호화기(1520)를 추가로 포함하는 경우, 움직임 벡터 복원기(1540)는 예측 후보 식별 플래그를 한 비트만 읽 어서, 읽어진 한 비트가 예를 들어 '1'인지 여부를 판단하여 확률이 가장 높은 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지를 식별하고, 확률이 가장 높은 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되지 않은 경우에만, 한 비트 이상을 추가로 읽어서 어떠한 움직임 벡터 예측 후보가 예측 움직임 벡터로서 결정되었는지를 식별할 수 있다.
이때, 움직임 벡터 복원기(1540)는 하나 이상의 움직임 벡터 예측 후보를 이용하여 현재 프레임의 하나 이상의 영역을 부호화함으로써, 하나 이상의 움직임 벡터 예측 후보 각각에 대해 현재 움직임 벡터로 결정될 확률을 계산할 수도 있으며, 임의로 지정되어 설정되는 확률에 따르거나 임의로 지정되어 설정되는 움직임 벡터 예측 후보를 확률이 가장 높은 움직임 벡터 예측 후보로 선택할 수 있다.
도 16은 본 발명의 일 실시예에 따른 움직임 벡터 복호화 방법을 설명하기 위한 순서도이다.
복호화기(1410)는 비트스트림으로부터 부호화된 예측 후보 식별 플래그를 읽어 복호화하여 예측 후보 식별 플래그를 복원하고(S1610), 비트스트림으로부터 부호화된 차분 벡터를 읽어 복호화하여 차분 벡터를 복원하고(S1620), 비트스트림으로부터 부호화된 예측 후보 식별 플래그를 읽어 복호화하여 예측 후보 식별 플래그를 복원하고(S1630), 하나 이상의 움직임 벡터 예측 후보 중 단계 S1630에서 복원된 예측 후보 식별 플래그에 의해 식별되는 움직임 벡터 예측 후보를 예측 움직임 벡터로 결정하고, 결정된 예측 움직임 벡터와 단계 S1620에서 복원된 차분 벡터를 가산하여 현재 블록의 현재 움직임 벡터를 복원한다(S1640). 여기서, 복호화 기(1410)는 단계 S1610과 단계 S1630을 반드시 수행하지 않을 수 있으며, 이 경우 복호화기(1410)는 단계 S1640에서 예측 움직임 벡터를 결정할 때 도 15를 통해 전술한 바와 같이, 예측 후보 식별 플래그가 없는 경우 예측 움직임 벡터를 결정하는 방법에 따라 예측 움직임 벡터를 결정할 수 있다. 또한, 도 16에서 나타낸 단계의 순서는 예시일 뿐, 본 발명이 이러한 순서에 반드시 한정되는 것은 아니며 그 순서는 선택적으로 변경될 수 있다.
도 17은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
영상 복호화 장치(1400)는 비트스트림으로부터 부호화된 예측 후보 식별 플래그를 추출하여 복호화함으로써 예측 후보 식별 플래그를 복원하고(S1710), 비트스트림으로부터 부호화된 차분 벡터를 추출하여 복호화함으로써 차분 벡터를 복원하며(S1720), 비트스트림으로부터 부호화된 예측 후보 식별 플래그를 추출하여 복호화함으로써 예측 후보 식별 플래그를 복원하고(S1730), 하나 이상의 움직임 벡터 예측 후보 중에서 단계 S1730에서 복원된 예측 후보 식별 플래그에 의해 움직임 벡터 예측 후보를 예측 움직임 벡터로서 결정하여 결정된 예측 움직임 벡터와 단계 S1720에서 복원된 차분 벡터를 가산하여 현재 움직임 벡터를 복원한다(S1740).
영상 복호화 장치(1400)는 단계 S1740에서 복원된 현재 움직임 벡터를 이용하여 현재 블록의 움직임을 추정 및 보상하여 현재 블록을 예측하고 예측 블록을 생성하며(S1750), 비트스트림으로부터 부호화된 잔차 블록을 추출하고 부호화된 잔차 블록을 역 양자화, 역 변환하여 복호화함으로써 잔차 블록을 복원하고 복원된 잔차 블록을 예측 블록과 가산하여 현재 블록을 복원한다(S1760).
여기서, 영상 복호화 장치(1400)는 단계 S1710과 단계 S1730을 반드시 수행하지 않을 수 있으며, 이 경우 영상 복호화 장치(1400)는 단계 S1740에서 예측 움직임 벡터를 결정할 때 도 15를 통해 전술한 바와 같이, 예측 후보 식별 플래그가 없는 경우 예측 움직임 벡터를 결정하는 방법에 따라 예측 움직임 벡터를 결정할 수 있다. 또한, 도 17에서 도시하고 설명한 단계는 도시하고 설명된 순서에 반드시 한정되지 않으며, 그 순서가 선택적으로 변경될 수 있다.
예를 들어, 영상 복호화 장치(1400)는 도 17의 순서로 각 단계를 수행하는 것이 아니라, 비트스트림으로부터 부호화된 잔차 블록을 추출하고 복호화하여 잔차 블록을 복원하며, 비트스트림으로부터 부호화된 차분 벡터를 추출하고 복호화하여 차분 벡터를 복원하며, 하나 이상의 움직임 벡터 예측 후보 중에서 하나의 움직임 벡터 예측 후보를 예측 움직임 벡터로 선택하고 선택된 예측 움직임 벡터와 복원된 차분 벡터를 이용하여 현재 블록의 현재 움직임 벡터를 복원하며, 복원된 잔차 블록을 역 양자화하고 역 양자화된 잔차 블록을 역 변환하며, 복원된 현재 움직임 벡터를 이용하여 예측 블록을 생성하고 역 변환된 잔차 블록과 생성된 예측 블록을 가산하여 현재 블록을 복원하는 순서로 각 단계를 수행할 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구 성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질 적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명은 현재 부호화를 수행할 블록 이전에 부호화되고 복호화되어 복원된 화소를 이용하여 인터 예측을 수행하고 인터 예측에 이용한 움직임 벡터를 효율적으로 부호화하거나 복호화하고 그를 이용하여 정지 영상 또는 동영상의 데이터를 부호화하거나 복호화하는 영상 처리 분야에 적용되어, 더욱 정확하게 예측된 예측 움직임 벡터를 이용하여 움직임 벡터를 부호화하면서도 예측 움직임 벡터에 대한 정보를 부호화하기 위한 비트량을 줄여 압축 효율을 향상시킬 수 있는 효과를 발생하는 매우 유용한 발명이다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,
도 2는 본 발명의 일 실시예에 따른 움직임 벡터 부호화 장치를 간략하게 나타낸 블록 구성도,
도 3은 지그재그 스캔 방향을 나타낸 예시도,
도 4는 현재 블록의 주변 블록을 나타낸 예시도,
도 5는 현재 프레임의 현재 블록과 주변 블록을 나타낸 예시도,
도 6은 현재 프레임과 참조 프레임의 블록들을 예시적으로 나타낸 예시도,
도 7은 지시 벡터를 설명하기 위한 예시도,
도 8은 임계값을 계산하는 과정을 설명하기 위한 예시도,
도 9는 움직임 벡터 예측 후보와 현재 움직임 벡터를 각 컴포넌트별로 분리하여 나타낸 예시도,
도 10은 복수 개의 임계값에 따른 예측 후보 식별 플래그를 나타낸 예시도,
도 11은 예측 후보 식별 플래그의 전송 비트를 나타낸 예시도,
도 12는 본 발명의 일 실시예에 따른 움직임 벡터 부호화 방법을 설명하기 위한 순서도,
도 13은 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,
도 14는 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,
도 15는 본 발명의 일 실시예에 따른 움직임 벡터 복호화 장치를 간략하게 나타낸 블록 구성도,
도 16은 본 발명의 일 실시예에 따른 움직임 벡터 복호화 방법을 설명하기 위한 순서도,
도 17은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.

Claims (43)

  1. 청구항 1은(는) 설정등록료 납부시 포기되었습니다.
    현재 블록의 움직임 벡터인 현재 움직임 벡터를 부호화하는 장치에 있어서,
    상기 현재 움직임 벡터를 예측하기 위한 움직임 벡터 예측 후보를 선택하는 예측 후보 선택기;
    상기 움직임 벡터 예측 후보로부터 예측 움직임 벡터를 결정하는 예측 움직임 벡터 결정기; 및
    상기 현재 움직임 벡터에서 상기 예측 움직임 벡터를 감산하여 차분 벡터를 계산하고 부호화하는 차분 벡터 부호화기
    를 포함하며, 상기 예측 후보 선택기는,
    상기 현재 블록의 주변 블록에서 제1 움직임 벡터 예측 후보를 선택하는 모듈과, 참조 프레임에서 상기 현재 블록과 동일한 위치에 있는 대응 블록 또는 상기 대응 블록의 하단 우측 블록에서 제2 움직임 벡터 예측 후보를 선택하는 모듈을 포함하는 것을 특징으로 하는 움직임 벡터 부호화 장치.
  2. 청구항 2은(는) 설정등록료 납부시 포기되었습니다.
    제 1 항에 있어서, 상기 예측 후보 선택기는,
    상기 현재 블록의 상단 좌측 블록, 상단 블록 및 상단 우측 블록 중 적어도 하나에서 상기 제1 움직임 벡터 예측 후보를 선택하는
    것을 특징으로 하는 움직임 벡터 부호화 장치.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 청구항 10은(는) 설정등록료 납부시 포기되었습니다.
    제 1 항에 있어서, 상기 예측 후보 선택기는 두 개의 움직임 벡터 예측 후보 사이의 거리가 미리 지정된 기준을 만족하지 않으면 그 중 하나만을 움직임 벡터 예측 후보로 선택하는 것을 특징으로 하는 움직임 벡터 부호화 장치.
  11. 청구항 11은(는) 설정등록료 납부시 포기되었습니다.
    제 1 항에 있어서, 상기 움직임 벡터 부호화 장치는,
    상기 움직임 벡터 예측 후보 중에서 상기 예측 움직임 벡터 결정기에 의해 결정된 예측 움직임 벡터를 식별하는 예측 후보 식별 플래그를 생성하여 부호화하는 예측 후보 식별 플래그 부호화기를 추가로 포함하는 것을 특징으로 하는 움직임 벡터 부호화 장치.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 청구항 22은(는) 설정등록료 납부시 포기되었습니다.
    제 1 항에 있어서, 상기 예측 움직임 벡터 결정기는,
    상기 움직임 벡터 예측 후보 중에서 각각의 움직임 벡터 예측 후보를 이용하여 계산된 차분 벡터를 부호화하는 데 소요되는 비트량이 최소가 되는 움직임 벡터 예측 후보를 상기 예측 움직임 벡터로서 결정하는 것을 특징으로 하는 움직임 벡터 부호화 장치.
  23. 청구항 23은(는) 설정등록료 납부시 포기되었습니다.
    현재 블록의 움직임 벡터인 현재 움직임 벡터를 부호화하는 방법에 있어서,
    상기 현재 움직임 벡터를 예측하기 위한 움직임 벡터 예측 후보를 선택하는 단계;
    상기 움직임 벡터 예측 후보로부터 예측 움직임 벡터를 결정하는 단계; 및
    상기 현재 움직임 벡터에서 상기 예측 움직임 벡터를 감산하여 차분 벡터를 계산하고 부호화하는 단계
    를 포함하며, 상기 움직임 벡터 예측 후보 선택 단계는,
    상기 현재 블록의 주변 블록에서 제1 움직임 벡터 예측 후보를 선택하고, 참조 프레임에서 상기 현재 블록과 동일한 위치에 있는 대응 블록 또는 상기 대응 블록의 하단 우측 블록에서 제2 움직임 벡터 예측 후보를 선택하는 것을 특징으로 하는 움직임 벡터 부호화 방법.
  24. 청구항 24은(는) 설정등록료 납부시 포기되었습니다.
    제 23 항에 있어서,
    상기 제1 움직임 벡터 예측 후보 선택 단계는 상기 현재 블록의 상단 좌측 블록, 상단 블록 및 상단 우측 블록 중 적어도 하나에서 상기 제1 움직임 벡터 예측 후보를 선택하는
    것을 특징으로 하는 움직임 벡터 부호화 방법.
  25. 삭제
  26. 청구항 26은(는) 설정등록료 납부시 포기되었습니다.
    제 23 항에 있어서,
    상기 움직임 벡터 예측 후보를 선택하는 단계는, 두 개의 움직임 벡터 예측 후보 사이의 거리가 미리 지정된 기준을 만족하지 않으면 그 중 하나만을 움직임 벡터 예측 후보로 선택하는 것을 특징으로 하는 움직임 벡터 부호화 방법.
  27. 삭제
  28. 청구항 28은(는) 설정등록료 납부시 포기되었습니다.
    제 23 항에 있어서,
    상기 움직임 벡터 예측 후보 중에서 상기 결정된 예측 움직임 벡터를 식별하는 예측 후보 식별 플래그를 생성하여 부호화하는 단계를 더 포함하는 것을 특징으로 하는 움직임 벡터 부호화 방법.
  29. 청구항 29은(는) 설정등록료 납부시 포기되었습니다.
    제 23 항에 있어서,
    상기 예측 움직임 벡터를 결정하는 단계는, 상기 움직임 벡터 예측 후보 중에서 각각의 움직임 벡터 예측 후보를 이용하여 계산된 차분 벡터를 부호화하는 데 소요되는 비트량이 최소가 되는 움직임 벡터 예측 후보를 상기 예측 움직임 벡터로서 결정하는 것을 특징으로 하는 움직임 벡터 부호화 방법.
  30. 현재 블록의 현재 움직임 벡터를 복호화하는 장치에 있어서,
    비트스트림으로부터 차분 벡터를 복원하는 차분 벡터 복호화기; 및
    상기 현재 움직임 벡터를 예측하기 위한 움직임 벡터 예측 후보를 선택하고, 상기 움직임 벡터 예측 후보 중에서 예측 움직임 벡터를 결정하고 상기 예측 움직임 벡터와 상기 차분 벡터를 가산하여 현재 블록의 현재 움직임 벡터를 복원하는 움직임 벡터 복원기;
    를 포함하고, 상기 움직임 벡터 복원기는,
    상기 현재 블록의 주변 블록에서 제1 움직임 벡터 예측 후보를 선택하는 모듈과, 참조 프레임에서 상기 현재 블록과 동일한 위치에 있는 대응 블록 또는 상기 대응 블록의 하단 우측 블록에서 제2 움직임 벡터 예측 후보를 선택하는 모듈을 포함하는 것을 특징으로 하는 움직임 벡터 복호화 장치.
  31. 삭제
  32. 제 30 항에 있어서, 상기 움직임 벡터 복원기는,
    상기 현재 블록의 상단 좌측 블록, 상단 블록 및 상단 우측 블록 중 적어도 하나에서 상기 제1 움직임 벡터 예측 후보를 선택하는 것을 특징으로 하는 움직임 벡터 복호화 장치.
  33. 삭제
  34. 제 30 항에 있어서,
    상기 움직임 벡터 복원기는, 두 개의 움직임 벡터 예측 후보 사이의 거리가 미리 지정된 기준을 만족하지 않으면 그 중 하나만을 움직임 벡터 예측 후보로 선택하는 것을 특징으로 하는 움직임 벡터 복호화 장치.
  35. 제 30항에 있어서,
    상기 움직임 벡터 복호화 장치는 상기 비트스트림으로부터 예측 후보 식별 플래그를 복원하는 예측 후보 식별 플래그 복호화기를 더 포함하고,
    상기 움직임 벡터 복원기는, 상기 움직임 벡터 예측 후보 중에서 상기 예측 후보 식별 플래그에 의해 식별되는 움직임 벡터 예측 후보를 상기 예측 움직임 벡터로 결정하는 것을 특징으로 하는 움직임 벡터 복호화 장치.
  36. 삭제
  37. 삭제
  38. 현재 블록의 현재 움직임 벡터를 복호화하는 방법에 있어서,
    비트스트림으로부터 차분 벡터를 복원하는 단계;
    상기 현재 움직임 벡터를 예측하기 위한 움직임 벡터 예측 후보를 선택하는 단계;
    상기 움직임 벡터 예측 후보 중에서 예측 움직임 벡터를 결정하는 단계; 및
    상기 예측 움직임 벡터와 상기 차분 벡터를 가산하여 현재 블록의 현재 움직임 벡터를 복원하는 단계;
    를 포함하고, 상기 움직임 벡터 예측 후보 선택 단계는,
    상기 현재 블록의 주변 블록에서 제1 움직임 벡터 예측 후보를 선택하고, 참조 프레임에서 상기 현재 블록과 동일한 위치에 있는 대응 블록 또는 상기 대응 블록의 하단 우측 블록에서 제2 움직임 벡터 예측 후보를 선택하는 것을 특징으로 하는 움직임 벡터 복호화 방법.
  39. 제 38 항에 있어서,
    상기 제1 움직임 벡터 예측 후보는 상기 현재 블록의 상단 좌측 블록, 상단 블록 및 상단 우측 블록 중에서 적어도 하나로부터 선택되는 것을 특징으로 하는 움직임 벡터 복호화 방법.
  40. 삭제
  41. 제 38 항에 있어서,
    상기 움직임 벡터 예측 후보 선택 단계는, 두 개의 움직임 벡터 예측 후보 사이의 거리가 미리 지정된 기준을 만족하지 않으면 그 중 하나만을 움직임 벡터 예측 후보로 선택하는 것을 특징으로 하는 움직임 벡터 복호화 방법.
  42. 삭제
  43. 제 38항에 있어서,
    상기 움직임 벡터 복호화 방법은 상기 비트스트림으로부터 예측 후보 식별 플래그를 복원하는 단계를 더 포함하고,
    상기 예측 움직임 벡터 결정 단계는, 상기 움직임 벡터 예측 후보 중에서 상기 예측 후보 식별 플래그에 의해 식별되는 움직임 벡터 예측 후보를 상기 예측 움직임 벡터로 결정하는 것을 특징으로 하는 움직임 벡터 복호화 방법.
KR1020080107585A 2008-10-31 2008-10-31 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 Active KR101279573B1 (ko)

Priority Applications (12)

Application Number Priority Date Filing Date Title
KR1020080107585A KR101279573B1 (ko) 2008-10-31 2008-10-31 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
CN201310285903.4A CN103297784B (zh) 2008-10-31 2009-10-23 对图像进行编码的装置
PCT/KR2009/006168 WO2010050706A2 (ko) 2008-10-31 2009-10-23 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
CN201310285917.6A CN103297785B (zh) 2008-10-31 2009-10-23 对运动矢量进行解码的装置
CN201310286628.8A CN103327338B (zh) 2008-10-31 2009-10-23 对运动矢量进行编码的装置
CN201310285909.1A CN103354614B (zh) 2008-10-31 2009-10-23 对运动矢量进行编码的装置
US13/127,004 US8976863B2 (en) 2008-10-31 2009-10-23 Method and apparatus for encoding motion vector, and method and apparatus for encoding/decoding image using same
CN200980153379.7A CN102273206B (zh) 2008-10-31 2009-10-23 对运动矢量进行编码的方法和装置以及用它对图像进行编码/解码的方法和装置
US14/624,039 US9392300B2 (en) 2008-10-31 2015-02-17 Method and apparatus for encoding a motion vector, and method and apparatus for encoding/decoding image using same
US14/742,377 US9955182B2 (en) 2008-10-31 2015-06-17 Method and apparatus for encoding a motion vector, and method and apparatus for encoding/decoding image using same
US14/742,419 US9781445B2 (en) 2008-10-31 2015-06-17 Method and apparatus for encoding a motion vector, and method and apparatus for encoding/decoding image using same
US14/742,269 US9794590B2 (en) 2008-10-31 2015-06-17 Method and apparatus for encoding a motion vector, and method and apparatus for encoding/decoding image using same

Applications Claiming Priority (1)

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

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020130027508A Division KR101314632B1 (ko) 2013-03-14 2013-03-14 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR1020130052711A Division KR101316710B1 (ko) 2013-05-09 2013-05-09 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20100048435A KR20100048435A (ko) 2010-05-11
KR101279573B1 true KR101279573B1 (ko) 2013-06-27

Family

ID=42129432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080107585A Active KR101279573B1 (ko) 2008-10-31 2008-10-31 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Country Status (4)

Country Link
US (5) US8976863B2 (ko)
KR (1) KR101279573B1 (ko)
CN (5) CN103327338B (ko)
WO (1) WO2010050706A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10958927B2 (en) 2015-03-27 2021-03-23 Qualcomm Incorporated Motion information derivation mode determination in video coding

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5422168B2 (ja) * 2008-09-29 2014-02-19 株式会社日立製作所 動画像符号化方法および動画像復号化方法
US8498330B2 (en) * 2009-06-29 2013-07-30 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for coding mode selection
BR112012000002B1 (pt) * 2009-07-03 2021-11-23 France Telecom Método para predizer um vetor de movimento de uma partição de imagem corrente, método para codificar uma imagem, método para decodificar um fluxo de dados representativo de uma imagem, dispositivo para predizer um vetor de movimento de uma partição de imagem corrente, dispositivo para codificar uma imagem e dispositivo para decodificar um fluxo de dados
KR101768207B1 (ko) * 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
KR101857801B1 (ko) * 2010-01-19 2018-05-14 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
CN102823248B (zh) 2010-04-08 2015-06-24 株式会社东芝 图像编码方法以及图像编码装置
EP2559243B1 (en) * 2010-04-13 2014-08-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. A video decoder and a video encoder using motion-compensated prediction
US8837592B2 (en) * 2010-04-14 2014-09-16 Mediatek Inc. Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus
US9510009B2 (en) 2010-05-20 2016-11-29 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
KR20110135763A (ko) * 2010-06-11 2011-12-19 에스케이 텔레콤주식회사 문맥 모델링 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치
US9300970B2 (en) 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
KR101456499B1 (ko) * 2010-07-09 2014-11-03 삼성전자주식회사 움직임 벡터의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US9124898B2 (en) * 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
WO2012083487A1 (en) * 2010-12-21 2012-06-28 Intel Corporation System and method for enhanced dmvd processing
US8908755B2 (en) * 2010-07-16 2014-12-09 Sony Corporation Multi-parameter motion for efficient prediction in video compression
AU2011306322B2 (en) 2010-09-24 2016-06-02 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, and image decoding apparatus
US20120082228A1 (en) 2010-10-01 2012-04-05 Yeping Su Nested entropy encoding
US10104391B2 (en) 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
KR101443701B1 (ko) * 2010-11-22 2014-09-29 한국전자통신연구원 적응형 움직임 탐색 범위 결정 장치 및 방법
KR101783824B1 (ko) 2010-11-25 2017-10-11 엘지전자 주식회사 영상 정보의 시그널링 방법 및 이를 이용한 영상 정보의 복호화 방법
US11284081B2 (en) 2010-11-25 2022-03-22 Lg Electronics Inc. Method for signaling image information, and method for decoding image information using same
US8711940B2 (en) 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
US9137544B2 (en) 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
EP2654302B1 (en) 2010-12-13 2019-09-04 Electronics and Telecommunications Research Institute Inter prediction method
AU2012208842B2 (en) * 2011-01-19 2014-08-07 Hfi Innovation Inc. Method and apparatus for parsing error robustness of temporal Motion Vector Prediction
US9749657B2 (en) 2011-01-21 2017-08-29 Sharp Kabushiki Kaisha Buffer compression for motion vector competition
MX2013008691A (es) * 2011-02-10 2013-08-21 Panasonic Corp Metodo de codificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
JP5747559B2 (ja) * 2011-03-01 2015-07-15 富士通株式会社 動画像復号方法、動画像符号化方法、動画像復号装置、及び動画像復号プログラム
GB2501835B (en) * 2011-03-09 2014-09-03 Canon Kk Video encoding and decoding
WO2012173415A2 (ko) 2011-06-14 2012-12-20 삼성전자 주식회사 움직임 정보의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR102083012B1 (ko) 2011-06-28 2020-02-28 엘지전자 주식회사 움직임 벡터 리스트 설정 방법 및 이러한 방법을 사용하는 장치
CN103765883A (zh) * 2011-06-30 2014-04-30 三星电子株式会社 使用跳过模式对运动信息进行编码和解码的方法和设备
MX2014000159A (es) 2011-07-02 2014-02-19 Samsung Electronics Co Ltd Metodo y aparato para la codificacion de video, y metodo y aparato para la decodificacion de video acompañada por inter prediccion utilizando imagen co-localizada.
RU2718230C2 (ru) 2011-11-08 2020-03-31 Кт Корпорейшен Способ декодирования видеосигнала
BR122020017172B1 (pt) * 2012-01-19 2022-11-29 Electronics And Telecommunications Research Institute Aparelho de decodificação de imagem
WO2013136678A1 (ja) * 2012-03-16 2013-09-19 パナソニック株式会社 画像復号装置および画像復号方法
WO2014005280A1 (en) * 2012-07-03 2014-01-09 Mediatek Singapore Pte. Ltd. Method and apparatus to improve and simplify inter-view motion vector prediction and disparity vector prediction
US20160134883A1 (en) * 2013-04-05 2016-05-12 Samsung Electronics Co., Ltd. Video stream coding method according to prediction struction for multi-view video and device therefor, and video stream decoding method according to prediction structure for multi-view video and device therefor
EP2986000A4 (en) * 2013-04-11 2016-09-21 Lg Electronics Inc METHOD AND APPARATUS FOR PROCESSING VIDEO SIGNAL
KR102290964B1 (ko) 2014-02-19 2021-08-18 삼성전자주식회사 적응적 서치 레인지를 이용한 비디오 인코딩 장치 및 그 방법
CN103957424B (zh) * 2014-04-15 2017-04-12 南京第五十五所技术开发有限公司 一种有效消除视频的乱码或方块的方法
CN104244006B (zh) * 2014-05-28 2019-02-26 北京大学深圳研究生院 一种基于图像超分辨率的视频编解码方法及装置
WO2016008157A1 (en) 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Methods for motion compensation using high order motion model
US9992512B2 (en) 2014-10-06 2018-06-05 Mediatek Inc. Method and apparatus for motion vector predictor derivation
CN104363451B (zh) * 2014-10-27 2019-01-25 华为技术有限公司 图像预测方法及相关装置
CN104811726B (zh) * 2015-04-24 2018-12-18 宏祐图像科技(上海)有限公司 帧率转换中运动估计的候选运动矢量选择方法
CN105430414A (zh) * 2015-12-03 2016-03-23 福州瑞芯微电子股份有限公司 一种帧间预测解码方法和装置
US10142652B2 (en) * 2016-05-05 2018-11-27 Google Llc Entropy coding motion vector residuals obtained using reference motion vectors
CN106023346B (zh) * 2016-07-06 2018-08-14 福州瑞芯微电子股份有限公司 动态帧率行车记录系统及车辆速度判断装置
US10602180B2 (en) 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction
KR102274316B1 (ko) * 2017-09-12 2021-07-07 삼성전자주식회사 움직임 정보의 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치
CN109756739B (zh) * 2017-11-07 2022-09-02 华为技术有限公司 图像预测方法和装置
CN118678099A (zh) 2017-11-09 2024-09-20 三星电子株式会社 运动信息编码设备、运动信息解码设备和比特流发送方法
CN108390871B (zh) * 2018-02-09 2020-05-22 西安交通大学 一种基于自回归模型帧预测的雷达数据压缩方法
AU2018423422B2 (en) 2018-05-16 2023-02-02 Huawei Technologies Co., Ltd. Video coding method and apparatus
CN108989817A (zh) * 2018-09-03 2018-12-11 西安交通大学 一种基于参考帧错位预测的雷达数据压缩方法
CN111988629B (zh) * 2019-05-22 2024-02-09 富士通株式会社 图像编码装置和图像解码装置
EP4376582A1 (en) 2022-11-25 2024-05-29 Novaled GmbH Organic electroluminescent device and display device comprising the organic electroluminescent device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0181034B1 (ko) * 1995-03-18 1999-05-01 배순훈 특징점 기반 움직임 추정을 이용한 움직임 벡터 검출 방법 및 장치

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745183A (en) * 1995-08-25 1998-04-28 Thomson Consumer Electronics, Inc. Image motion estimation system which derives candidate block from interpolated motion vectors
EP0788091A3 (en) * 1996-01-31 1999-02-24 Kabushiki Kaisha Toshiba Speech encoding and decoding method and apparatus therefor
KR100244291B1 (ko) * 1997-07-30 2000-02-01 구본준 동영상 움직임 벡터 코딩 방법
CA2310602C (en) * 1997-11-14 2009-05-19 Analysis & Technology, Inc. Apparatus and method for compressing video information
KR100275694B1 (ko) * 1998-03-02 2000-12-15 윤덕용 실시간 동영상 부호화를 위한 초고속 움직임 벡터 추정방법
WO2001041451A1 (en) * 1999-11-29 2001-06-07 Sony Corporation Video/audio signal processing method and video/audio signal processing apparatus
EP1152621A1 (en) * 2000-05-05 2001-11-07 STMicroelectronics S.r.l. Motion estimation process and system.
US6733623B2 (en) * 2001-07-18 2004-05-11 Taiwan Semiconductor Manufacturing Co., Ltd. Apparatus and method for adhering a flexible film to a ventilated platen without air entrapment
US7092584B2 (en) * 2002-01-04 2006-08-15 Time Warner Entertainment Company Lp Registration of separations
KR100441509B1 (ko) * 2002-02-25 2004-07-23 삼성전자주식회사 주사포맷변환장치 및 방법
KR100774296B1 (ko) * 2002-07-16 2007-11-08 삼성전자주식회사 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치
KR20050084442A (ko) * 2002-12-20 2005-08-26 코닌클리케 필립스 일렉트로닉스 엔.브이. 세그먼트 기반 움직임 추정
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7295612B2 (en) * 2003-09-09 2007-11-13 Apple Inc. Determining the number of unidirectional and bidirectional motion compensated frames to be encoded for a video sequence and detecting scene cuts in the video sequence
US7809061B1 (en) * 2004-01-22 2010-10-05 Vidiator Enterprises Inc. Method and system for hierarchical data reuse to improve efficiency in the encoding of unique multiple video streams
CN100385957C (zh) * 2004-05-21 2008-04-30 中国科学院计算技术研究所 一种运动矢量预测的方法
US8879856B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Content driven transcoder that orchestrates multimedia transcoding using content information
JP4879558B2 (ja) * 2005-11-02 2012-02-22 パナソニック株式会社 動きベクトル検出装置
CN101536530B (zh) * 2006-11-07 2011-06-08 三星电子株式会社 基于运动估计进行视频编码和解码的方法和设备
KR101383540B1 (ko) * 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
US20080181298A1 (en) * 2007-01-26 2008-07-31 Apple Computer, Inc. Hybrid scalable coding
US20090304293A1 (en) * 2008-06-08 2009-12-10 Te-Hao Chang Motion estimation method and related apparatus for efficiently selecting motion vector
TW201030682A (en) * 2009-02-12 2010-08-16 Sunplus Technology Co Ltd Motion vector estimator for reducing film judder
US8265160B2 (en) * 2009-06-29 2012-09-11 Nxp B.V. Parallel three-dimensional recursive search (3DRS) meandering algorithm
JP2011015244A (ja) * 2009-07-03 2011-01-20 Sanyo Electric Co Ltd ビデオカメラ
US8116527B2 (en) * 2009-10-07 2012-02-14 The United States Of America As Represented By The Secretary Of The Army Using video-based imagery for automated detection, tracking, and counting of moving objects, in particular those objects having image characteristics similar to background
US10104391B2 (en) * 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
US8824558B2 (en) * 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
KR102083012B1 (ko) * 2011-06-28 2020-02-28 엘지전자 주식회사 움직임 벡터 리스트 설정 방법 및 이러한 방법을 사용하는 장치
MX341355B (es) * 2011-08-29 2016-08-16 Ibex Pt Holdings Co Ltd Aparato para decodificar informacion de movimiento de modo de fusion.
US9736489B2 (en) * 2011-09-17 2017-08-15 Qualcomm Incorporated Motion vector determination for video coding
EP2800372A4 (en) * 2011-12-30 2015-12-09 Humax Holdings Co Ltd METHOD AND DEVICE FOR ENCRYPTION OF THREE-DIMENSIONAL IMAGES AND DECOMPOSITION METHOD AND DEVICE

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0181034B1 (ko) * 1995-03-18 1999-05-01 배순훈 특징점 기반 움직임 추정을 이용한 움직임 벡터 검출 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10958927B2 (en) 2015-03-27 2021-03-23 Qualcomm Incorporated Motion information derivation mode determination in video coding
US11330284B2 (en) 2015-03-27 2022-05-10 Qualcomm Incorporated Deriving motion information for sub-blocks in video coding

Also Published As

Publication number Publication date
CN103297785A (zh) 2013-09-11
US8976863B2 (en) 2015-03-10
US20150288982A1 (en) 2015-10-08
CN103327338A (zh) 2013-09-25
US9781445B2 (en) 2017-10-03
WO2010050706A3 (ko) 2010-08-05
US9955182B2 (en) 2018-04-24
CN103297785B (zh) 2016-08-24
CN102273206B (zh) 2014-05-07
US9392300B2 (en) 2016-07-12
CN102273206A (zh) 2011-12-07
CN103354614B (zh) 2016-08-24
WO2010050706A2 (ko) 2010-05-06
CN103297784B (zh) 2017-04-12
US20150288981A1 (en) 2015-10-08
CN103297784A (zh) 2013-09-11
US20150189311A1 (en) 2015-07-02
US20150288984A1 (en) 2015-10-08
US20110211640A1 (en) 2011-09-01
CN103327338B (zh) 2017-04-19
KR20100048435A (ko) 2010-05-11
US9794590B2 (en) 2017-10-17
CN103354614A (zh) 2013-10-16

Similar Documents

Publication Publication Date Title
KR101279573B1 (ko) 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101590511B1 (ko) 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101377660B1 (ko) 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101681303B1 (ko) 블록 분할예측을 이용한 영상 부호화/복호화 방법 및 장치
KR20120066741A (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR20110048004A (ko) 움직임 벡터 해상도 제한을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101590493B1 (ko) 인터 예측을 이용한 영상 부호화 및 복호화 방법과 장치
KR101575605B1 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101483174B1 (ko) 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101314632B1 (ko) 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101316710B1 (ko) 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101445835B1 (ko) 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101582493B1 (ko) 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101575616B1 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101575635B1 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101422058B1 (ko) 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101582504B1 (ko) 인터 예측을 이용한 영상 부호화 및 복호화 방법과 장치
KR101575636B1 (ko) 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101575645B1 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR20120041440A (ko) 전역움직임을 기반하여 결정된 부호화구조를 이용한 영상 부호화/복호화 방법 및 장치
KR20150031253A (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR20130084285A (ko) 양자화 계수 결정 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20081031

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20130108

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20081031

Comment text: Patent Application

A107 Divisional application of patent
PA0107 Divisional application

Comment text: Divisional Application of Patent

Patent event date: 20130314

Patent event code: PA01071R01D

A302 Request for accelerated examination
PA0302 Request for accelerated examination

Patent event date: 20130315

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20130314

Patent event code: PA03021R04I

Comment text: Divisional Application of Patent

Patent event date: 20081031

Patent event code: PA03021R01I

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20130415

Patent event code: PE09021S01D

A107 Divisional application of patent
PA0107 Divisional application

Comment text: Divisional Application of Patent

Patent event date: 20130509

Patent event code: PA01071R01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20130619

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20130621

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20130621

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20160608

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20160608

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20170602

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20170602

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20190502

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20200330

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20210401

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20240321

Start annual number: 12

End annual number: 12