KR100818921B1 - 모션 벡터 압축 방법, 상기 압축 방법을 이용하는 비디오인코더 및 비디오 디코더 - Google Patents

모션 벡터 압축 방법, 상기 압축 방법을 이용하는 비디오인코더 및 비디오 디코더 Download PDF

Info

Publication number
KR100818921B1
KR100818921B1 KR1020060042628A KR20060042628A KR100818921B1 KR 100818921 B1 KR100818921 B1 KR 100818921B1 KR 1020060042628 A KR1020060042628 A KR 1020060042628A KR 20060042628 A KR20060042628 A KR 20060042628A KR 100818921 B1 KR100818921 B1 KR 100818921B1
Authority
KR
South Korea
Prior art keywords
motion vector
frame
temporal
predictive
poc
Prior art date
Application number
KR1020060042628A
Other languages
English (en)
Other versions
KR20070075234A (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 KR1020060042628A priority Critical patent/KR100818921B1/ko
Priority to US11/646,264 priority patent/US20070160143A1/en
Priority to PCT/KR2007/000195 priority patent/WO2007081160A1/en
Publication of KR20070075234A publication Critical patent/KR20070075234A/ko
Application granted granted Critical
Publication of KR100818921B1 publication Critical patent/KR100818921B1/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

복수의 시간적 레벨 중 현재 시간적 레벨에 있는 프레임의 모션 벡터를 그 다음 시간적 레벨에 있는 프레임의 모션 벡터를 이용하여 효율적으로 예측함으로써 모션 벡터의 압축 효율을 높이는 방법 및 장치가 제공된다.
본 발명의 일 실시예에 따른, 복수의 시간적 레벨로 이루어지는 시간적 분해 과정에서의 모션 벡터를 압축하는 방법은, 상기 복수의 시간적 레벨 중 현재 시간적 레벨에 존재하는 제1 프레임의 하위 시간적 레벨에 존재하며 상기 제1 프레임과 시간적 거리가 가장 가까운 제2 프레임을 선택하는 단계와, 상기 제2 프레임의 모션 벡터로부터 상기 제1 프레임에 대한 예측 모션 벡터를 생성하는 단계와, 상기 제1 프레임의 모션 벡터에서 상기 생성된 예측 모션 벡터를 감산하는 단계를 포함한다.
모션 벡터, 스케일러블 비디오 코딩, 모션 벡터 예측, 모션 추정, MCTF

Description

모션 벡터 압축 방법, 상기 압축 방법을 이용하는 비디오 인코더 및 비디오 디코더{Motion vector compression method, video encoder and video decoder using the method}
도 1은 복수의 시간적 분해 과정의 예를 보여주는 도면.
도 2는 복수의 시간적 분해 과정 중에서 대응되는 하위 시간적 레벨의 모션 벡터가 존재하지 않는 예를 보여주는 도면.
도 3은 모션 벡터의 예측의 개념을 도시하는 도면.
도 4는 본 발명에 따라 모션 벡터를 반전하여 이용하는 개념을 도시하는 도면.
도 5는 현재 프레임 및 기초 프레임이 모두 양방향 모션 벡터를 가지면서, POC 차이가 음인 경우를 도시하는 도면.
도 6은 현재 프레임 및 기초 프레임이 모두 양방향 모션 벡터를 가지면서, POC 차이가 양인 경우를 도시하는 도면.
도 7은 기초 프레임이 역방향 모션 벡터만을 갖는 경우를 도시하는 도면.
도 8은 기초 프레임이 순방향 모션 벡터만을 갖는 경우를 도시하는 도면.
도 9는 현재 프레임과 기초 프레임 간에 대응되는 영역을 설명하는 도면.
도 10은 기초 프레임의 모션 벡터를 결정하는 방법을 설명하기 위한 도면.
도 11은 본 발명의 일 실시예에 따른 비디오 인코더의 구성을 도시한 블록도.
도 12는 본 발명의 일 실시예에 따른 비디오 디코더의 구성을 나타낸 블록도.
(도면의 주요부분에 대한 부호 설명)
100 : 비디오 인코더 105, 245 : 스위치
110 : 모션 추정부 120, 250 : 모션 보상부
125, 165 : 감산기 130 : 공간적 변환부
140 : 양자화부 150 : 엔트로피 부호화부
155, 240, 260 : 버퍼 160, 260 : 예측 모션 벡터 생성부
200 : 비디오 디코더 210 : 엔트로피 복호화부
220 : 역 양자화부 230 : 역 공간적 변환부
235, 265 : 가산기 250 : 모션 보상부
본 발명은 비디오 압축 방법에 관한 것으로, 보다 상세하게는 복수의 시간적 레벨 중 현재 시간적 레벨에 있는 프레임의 모션 벡터를 그 다음 시간적 레벨에 있는 프레임의 모션 벡터를 이용하여 효율적으로 예측함으로써 모션 벡터의 압축 효율을 높이는 방법 및 장치에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려하여 지각적 중복을 제거함으로써 데이터를 압축할 수 있다. 일반적인 비디오 코딩 방법에 있어서, 시간적 중복은 모션 보상에 근거한 시간적 필터링(temporal filtering)에 의해 제거하고, 공간적 중복은 공간적 변환(spatial transform)에 의해 제거한다.
데이터의 중복을 제거한 후 생성되는 멀티미디어를 전송하기 위해서는, 전송매체가 필요한데 그 성능은 전송매체 별로 차이가 있다. 현재 사용되는 전송매체는 초당 수십 메가 비트의 데이터를 전송할 수 있는 초고속통신망부터 초당 384kbit의 전송속도를 갖는 이동통신망 등과 같이 다양한 전송속도를 갖는다. 이와 같은 환경에서, 다양한 속도의 전송매체를 지원하기 위하여 또는 전송환경에 따라 이에 적합 한 전송률로 멀티미디어를 전송할 수 있도록 하는, 즉 스케일러블 비디오 코딩(scalable video coding) 방법이 멀티미디어 환경에 보다 적합하다 할 수 있다.
현재 ISO/IEC(International Organization for Standardization/International Electrotechnical Commission)의 MPEG(Moving Picture Expert Group)과 ITU(International Telecommunications Union)의 VCEG(Video Coding Experts Group) 간의 협력으로 발족된 JVT(Joint Video Team)는 스케일러블 비디오 코딩(Scalable Video Coding; SVC)에 관한 작업 초안(working draft)을 마련하였다.
상기 작업 초안(이하 SVC 작업 초안이라고 함)에서는 기본적으로 H.264의 방식을 채택하고, 시간적 스케일러빌리티를 구현하는 방식으로는 복수의 시간적 분해(multiple temporal decomposition) 기법을 채택하고 있다.
도 1은 복수의 시간적 분해 기법에 따른 시간적 변환의 예를 보여주는 도면이다. 여기서, 흰색으로 표시된 사각형은 저주파 프레임(low frequency frame)을 의미하고, 검은색으로 표시된 사각형은 고주파 프레임(high frequency frame)을 의미한다.
예를 들어, 시간적 레벨 0에서는 시간적으로 가장 멀리 떨어져 있는 두 개의 프레임을 하나의 프레임을 참조하여 다른 하나의 프레임을 고주파 프레임으로 변환한다. 그 다음 시간적 레벨 1에서는, 가운데에 위치하는 POC가 4인 프레임을 POC가 0인 프레임 및 POC가 8인 프레임을 참조하여 고주파 프레임으로 변환한다. 이와 같이, 시간적 레벨이 증가함에 따라서, 프레임율이 배증될 수 있도록 고주파 프레임 을 추가 생성한다. 이러한 과정은 하나의 저주파 프레임(POC=0) 이외의 프레임들이 모두 고주파 프레임으로 변환될 때까지 반복적으로 수행된다. 도 1의 예에서 하나의 GOP(Group of Pictures)가 8개의 프레임으로 이루어진다고 할 때, 하나의 저주파 프레임과 7개의 고주파 프레임이 생성될 때까지 상기 시간적 분해 과정이 진행된다.
이와 같은 시간적 분해 과정은 비디오 인코더 단에서 수행되는 과정인데, 비디오 디코더 단에서는 상기 1개의 저주파 프레임 및 7개의 고주파 프레임을 이용하여 원래의 프레임을 복원하는 시간적 합성 과정이 수행된다. 시간적 합성 과정도 시간적 분해 과정과 마찬가지로 낮은 시간적 레벨로부터 높은 시간적 레벨로 수행된다. 즉, POC가 4인 고주파 프레임은 POC가 0인 저주파 프레임 및 POC가 8인 저주파 프레임을 참조하여 저주파 프레임으로 복원된다. 이러한 과정은 최종 시간적 레벨까지 진행되어 모든 고주파 프레임이 고주파 프레임으로 복원될 때까지 반복하여 수행된다.
그런데, 시간적 스케일러빌리티 관점에서 보면, 상기 생성된 1개의 저주파 프레임과 7개의 고주파 프레임이 모두 비디오 디코더 단으로 전송되지 않을 수도 있다. 예를 들어, 비디오 스트리밍 서버에서 1개의 저주파 프레임과, 상기 시간적 레벨 1 및 2에서 생성된 3개의 고주파 프레임(POC가 2, 4, 6임)만을 비디오 디코더로 전송할 수 있다. 이 경우에 비디오 디코더는 시간적 레벨 2까지만 시간적 합성 과정을 수행하여 4개의 저주파 프레임을 복원할 수 있으므로, 원래 8개의 프레임으로 이루어지는 비디오 시퀀스에 비하여 프레임율이 1/2로 줄어든 비디오 시퀀스를 얻게 된다.
이와 같은 시간적 분해 과정에서의 고주파 프레임 생성 및 시간적 합성 과정에서의 저주파 프레임 복원을 위하여는 참조 프레임과의 움직임 관계를 나타내는 움직임 벡터를 반드시 구하여야 한다. 이러한 움직임 벡터도 프레임들을 부호화한 데이터와 함께 비트스트림에 포함되어 비디오 디코더 단으로 전송되므로, 움직임 벡터를 효율적으로 압축하는 것이 매우 중요하다.
유사한 시간적 위치(또는 POC(Picture Order Count))에 있는 모션 벡터는 유사할 가능성이 크다. 예를 들어, 모션 벡터(2) 및 모션 벡터(3)은 다음 레벨의 모션 벡터(1)과 상당한 유사할 수 있다. 따라서, 현재의 SVC 작업 초안에서도 이러한 연관성을 고려한 코딩 기법을 개시하고 있다. 현재 시간적 레벨의 모션 벡터(2, 3)는 대응되는 하위 시간적 레벨의 모션 벡터(1)로부터 예측된다.
그런데, 도 1과 같이 모든 고주파 프레임이 항상 양방향 참조를 이용하는 것은 아니다. 실제로는 순방향 참조(이전 프레임을 참조하는 경우), 역방향 참조(이후 프레임을 참조하는 경우), 및 순방향 참조(이전/이후 프레임을 모두 참조하는 경우) 중 가장 유리한 참조 방향을 선택하여 사용하게 된다.
도 2와 같이, 시간적 분해 과정에서 다양한 참조 방식들이 혼재되어 있을 수 있다. 그런데, 현재 SVC 작업 초안에 따르면, 대응하는 하위 시간적 레벨의 모션 벡터가 존재하지 않는 경우에는 해당 모션 벡터는 다른 시간적 레벨의 참조 없이 독립적으로 부호화되는 것으로 되어 있다. 예를 들어, 프레임(22)의 모션 벡터들(23, 24)은 대응되는 하위 시간적 레벨의 모션 벡터, 즉 프레임(21)의 역 방향 모션 벡터는 존재하지 않는다. 이러한 경우, 상기 모션 벡터들(23, 24) 레벨간의 예측 없이 부호화되므로 효율적이지 못하다.
본 발명은 상기한 문제점을 고려하여 창안된 것으로, 본 발명의 기술적 과제는, 대응되는 하위 시간적 레벨의 모션 벡터가 존재하지 않는 현재 시간적 레벨의 모션 벡터를 효율적으로 압축하는 방법 및 장치를 제공하는 것이다.
본 발명의 기술적 과제는 이상 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기한 목적을 달성하기 위하여, 복수의 시간적 레벨로 이루어지는 시간적 분해 과정에서의 모션 벡터를 압축하는 방법으로서, (a) 상기 복수의 시간적 레벨 중 현재 시간적 레벨에 존재하는 제1 프레임의 하위 시간적 레벨에 존재하며 상기 제1 프레임과 시간적 거리가 가장 가까운 제2 프레임을 선택하는 단계; (b) 상기 제2 프레임의 모션 벡터로부터 상기 제1 프레임에 대한 예측 모션 벡터를 생성하는 단계; 및 (c) 상기 제1 프레임의 모션 벡터에서 상기 생성된 예측 모션 벡터를 감산하는 단계를 포함한다.
상기한 목적을 달성하기 위하여, 복수의 시간적 레벨로 이루어지는 시간적 합성 과정에서의 모션 벡터를 복원하는 방법으로서, (a) 입력 비트스트림으로부터, 상기 복수의 시간적 레벨 중 현재 시간적 레벨에 존재하는 제1 프레임에 관한 모션 데이터를 추출하는 단계; (b) 상기 제1 프레임의 하위 시간적 레벨에 존재하며 상기 제1 프레임과 시간적 거리가 가장 가까운 제2 프레임을 선택하는 단계; (c) 상기 제2 프레임의 모션 벡터로부터 상기 제1 프레임에 대한 예측 모션 벡터를 생성하는 단계; 및 (d) 상기 모션 데이터와 상기 생성된 예측 모션 벡터를 가산하는 단계를 포함한다.
상기한 목적을 달성하기 위하여, 복수의 시간적 레벨로 이루어지는 시간적 분해 과정에서의 모션 벡터를 압축하는 장치로서, 상기 복수의 시간적 레벨 중 현재 시간적 레벨에 존재하는 제1 프레임의 하위 시간적 레벨에 존재하며 상기 제1 프레임과 시간적 거리가 가장 가까운 제2 프레임을 선택하는 수단; 상기 제2 프레임의 모션 벡터로부터 상기 제1 프레임에 대한 예측 모션 벡터를 생성하는 수단; 및 상기 제1 프레임의 모션 벡터에서 상기 생성된 예측 모션 벡터를 감산하는 수단을 포함한다.
상기한 목적을 달성하기 위하여, 복수의 시간적 레벨로 이루어지는 시간적 합성 과정에서의 모션 벡터를 복원하는 장치로서, 입력 비트스트림으로부터, 상기 복수의 시간적 레벨 중 현재 시간적 레벨에 존재하는 제1 프레임에 관한 모션 데이터를 추출하는 수단; 상기 제1 프레임의 하위 시간적 레벨에 존재하며 상기 제1 프레임과 시간적 거리가 가장 가까운 제2 프레임을 선택하는 수단; 상기 제2 프레임의 모션 벡터로부터 상기 제1 프레임에 대한 예측 모션 벡터를 생성하는 수단; 및 상기 모션 데이터와 상기 생성된 예측 모션 벡터를 가산하는 수단을 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한 다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명에서 칭하는 모션 벡터의 예측이란, 비디오 인코더 및 비디오 디코더에서 공히 얻을 수 있는 정보를 이용하여 모션 벡터를 압축적으로 표시하는 것을 의미한다. 도 3은 이러한 모션 벡터의 예측의 개념을 도시하는 도면이다. 어떤 모션 벡터(M)를 이에 대한 예측 값(또는 예측 모션 벡터) P(M)과의 차이(ΔM)로 나타낸다면 원래 보다 적은 비트를 소요하게 될 것이다. 이러한 비트의 소요는 상기 예측 값(P(M))이 상기 모션 벡터(M)에 근접할수록 더욱 크게 감소된다.
한편, 모션 벡터(M)를 구하지 않고 예측 값(P(M))으로 단순히 이를 대치한다면 상기 모션 벡터(M)에 의하여 소요되는 비트량은 0가 될 것이다. 다만, 실제 모션 벡터(M)와 예측 값(P(M))의 차이로 인하여 비디오 디코더 단에서 복원되는 영상의 화질이 다소 저하될 수 있다.
본 발명에 있어서의 모션 벡터 예측이란, 구한 모션 벡터를 예측 모션 벡터와의 차분으로 표시하는 것 뿐만 아니라, 모션 벡터를 단순히 예측 값으로 대체하는 것까지 포함하는 것으로 한다.
모션 벡터 예측을 위하여 우선, 대응되는 하위 시간적 레벨 프레임(이하, 기초 프레임(base frame)이라고 함)이 존재하지 않는 현재 시간적 레벨 프레임을 비동기 프레임(unsynchronized frame)이라고 정의한다. 예컨대, 도 2에서 프레임(25)은 POC가 동일한 기초 프레임(21)이 존재하지만, 프레임(22)은 그렇지 않다. 따라서, 프레임(22)는 비동기 프레임에 속한다.
기초 프레임의 선택
도 2는 본 발명의 일 실시예에 따른 비동기 프레임의 모션 벡터를 예측하기 위하여 참조되는 하위 계층 프레임을 선택하는 방법을 나타낸 도면이다. 비동기 프레임들은 대응되는 하위 계층 프레임이 존재하지 않으므로 다수의 하위 계층 프레임 중에서 어떠한 조건에 해당하는 프레임을 "기초 프레임"으로 선택할 것인가가 문제이다.
기초 프레임의 선택은 다음의 3가지 조건의 만족 여부를 기준으로 할 수 있다.
1. 하위 시간적 레벨 중 최상위 시간적 레벨에 존재하는 고주파 프레임일 것
2. 현재의 비동기 프레임과 POC(Picture Order Count) 차이가 가장 작을 것
3. 현재의 비동기 프레임과 동일한 GOP(Group of Frame) 내에 존재할 것
먼저, 조건 1에서와 같이 최상위 시간적 레벨에 존재하는 프레임을 대상으로 하는 이유는 이러한 프레임들의 모션 벡터의 참조 길이가 가장 짧기 때문이다. 참조 길이가 길어질 수록 비동기 프레임의 모션 벡터를 예측하기에는 오차가 커지게 된다. 또한 조건 1에서 고주파 프레임으로 제한하는 것은 당연히 기초 프레임이 모 션 벡터를 가지고 있어야만 모션 벡터 예측을 할 수 있기 때문이다.
조건 2에서 가장 작은 POC를 갖도록 하는 것은 현재의 비동기 프레임과 기초 프레임간의 시간적 거리(temporal distance)가 가장 작도록 하기 위해서이다. 시간적 거리가 가까운 프레임끼리는 보다 유사한 모션 벡터를 가질 가능성이 크다. 조건 2에서 만약 POC 차이가 동일한 프레임이 2이상 존재한다면 이 중에서 보다 작은 POC를 갖는 프레임을 기초 프레임으로 정할 수 있다.
조건 3에서 현재의 비동기 프레임과 동일한 GOP 내에 존재할 것을 요구하는 것은 GOP를 넘어서까지 하위 시간적 레벨을 참조할 경우 인코딩 프로세스의 지연이 발생할 수 있기 때문이다. 따라서, 상기 지연이 발생하여도 문제되지 않은 환경에서라면 상기 조건 3은 생략될 수도 있다.
예를 들어, 도 2에서 비동기 프레임인 프레임(22)의 기초 프레임을 선택하는 과정은 다음과 같다. 프레임(22)는 시간적 레벨 2에 존재하는 프레임이므로, 상기 조건 1 내지 3을 만족하는 고주파 프레임은 프레임(21)이다. 그런데, 현재 프레임(22)에 비하여 POC가 작은 기초 프레임(21)이 역방향 모션 벡터를 가지고 있다면, 현재 프레임(22)의 모션 벡터를 예측하는 데에 가장 적합하게 사용될 수 있을 것이다. 하지만, 기초 프레임(21)은 순방향 모션 벡터만을 가지고 있으므로, 종래의 SVC 작업 초안에서는 현재 프레임(22)에는 모션 벡터 예측이 사용되지 않았다.
본 발명에서는, 기존의 개념을 확장하여 기초 프레임이 대응되는 모션 벡터를 가지지 않는다 하더라도 기초 프레임의 모션 벡터를 반전시켜 현재 프레임의 모션 벡터 예측에 사용하는 기법을 제안한다. 도 4에서와 같이, 현재 시간적 레벨(시 간적 레벨 N)의 프레임(41)은 기초 프레임(43)에서 대응되는 모션 벡터(순방향 모션 벡터, 44)가 존재하므로, 그대로 모션 벡터 예측에 이용한다. 반면에, 프레임(42)는 기초 프레임(43)에서 대응되는 모션 벡터(역방향 모션 벡터)가 존재하지 않으므로, 상기 순방향 모션 벡터(44)를 반전(reverse)시켜 가상의 역방향 모션 벡터(45)를 만들어 내고, 이를 모션 벡터 예측에 이용한다.
예측 모션 벡터 계산
도 5 내지 도 8은 예측 모션 벡터(P(M))를 계산하는 구체적인 예를 보여주는 도면이다. 현재 프레임의 POC에서 기초 프레임의 POC를 뺀 결과(이하 "POC 차이"라 함)가 음이면 순방향 모션 벡터(M0f)를 선택하고, 양이면 역방향 모션 벡터(M0b)를 선택하는 것이 바람직하다. 다만, 선택할 모션 벡터가 존재하지 않는 경우에는 존재하는 반대 방향 모션 벡터를 이용하게 된다.
도 5는 현재 프레임(31) 및 기초 프레임이 모두 양방향 모션 벡터를 가지면서, POC 차이가 음인 경우를 도시한다. 이 경우에는 현재 프레임(31)의 모션 벡터들(Mf, Mb)은 기초 프레임(32)의 순방향 모션 벡터(M0f)로부터 예측되며, 그 결과 순방향 모션 벡터(Mf)에 대한 예측 모션 벡터(P(Mf))와 역방향 모션 벡터(Mb)에 대한 예측 모션 벡터(P(Mb))가 각각 구해진다.
일반적인 경우 물체는 일정한 방향 및 속도로 움직인다. 특히 배경이 일정하게 움직이거나 특정 물체에 대해서도 짧은 관찰할 경우 이러한 성질이 만족되는 경 우가 많다. 따라서, Mf-Mb는 M0f와 유사할 것으로 추측할 수 있다. 또한, 실제 상황에서는 Mf와 Mb이 서로 방향이 반대이며 크기의 절대 값이 유사한 경우가 많이 발견된다. 이는 물체가 움직이는 속도가 짧은 시간적 구간에서는 큰 변화가 없기 때문이다. 따라서, P(Mf) 및 P(Mb)은 다음의 수학식 1과 같이 정의될 수 있다.
P(Mf) = M0f/2
P(Mb) = Mf -M0f
수학식 1에 따르면, Mf는 M0f를 이용하여 예측되고, Mb은 Mf 및 M0f를 이용하여 예측된다는 것을 알 수 있다. 그런데, 현재 프레임(31)이 단방향 예측만을 하는 경우, 즉 현재 프레임(31)이 Mf, Mb 중 하나만 갖는 경우도 생각할 수 있다. 이는 비디오 코덱이 압축 효율에 따라 순방향, 역방향, 및 양방향 참조 중에서 가장 적합한 것을 적응적으로 선택하도록 할 수도 있기 때문이다.
만약, 현재 프레임이 순방향 참조만을 갖는 경우는 수학식 1 중에서 첫 번째 식만 사용하면 될 것이므로 문제가 되지 않는다. 그러나, 역방향 참조만을 갖는 경우, 즉 Mf는 존재하지 않고 Mb만 존재하는 경우에는 수학식 1에서 P(Mb)을 구하는 식은 이용할 수 없게 된다. 이 경우에는 Mf가 -Mb와 유사할 것이라는 점을 이용하여 P(Mb)은 다음의 수학식 2와 같이 나타낼 수 있다.
P(Mb)= Mf -M0f = -Mb-M0f
이 경우 Mb과 그의 예측 값 P(Mb)간의 차분은 2×Mb+M0f가 될 것이다.
도 6은 현재 프레임 및 기초 프레임이 모두 양방향 모션 벡터를 가지면서, POC 차이가 양인 경우를 나타낸다. 이 경우에는 현재 프레임(31)의 모션 벡터들(Mf, Mb)은 기초 프레임(32)의 역방향 모션 벡터(M0b)로부터 예측되며, 그 결과 순방향 모션 벡터(Mf)에 대한 예측 모션 벡터(P(Mf))와, 역방향 모션 벡터(Mb)에 대한 예측 모션 벡터(P(Mb))가 각각 구해진다.
따라서, P(Mf) 및 P(Mb)은 다음의 수학식 3과 같이 정의될 수 있다.
P(Mf) = -M0b/2
P(Mb) = Mf +M0b
수학식 3에 따르면, Mf는 M0b를 이용하여 예측되고, Mb는 Mf 및 M0b를 이용하여 예측된다. 만약, 현재 프레임(31)가 역방향 참조만 존재하는 경우, 즉 Mf는 존재하지 않고 Mb만 존재하는 경우에는 수학식 3에서 P(Mb)을 구하는 식은 이용할 수 없으므로, P(Mb)는 다음의 수학식 4와 같이 변형될 수 있다.
P(Mb)= Mf +M0b = -Mb +M0b
한편, 도 5 및 도 6의 실시예에서와는 달리 기초 프레임(32)이 단방향의 모션 벡터를 갖는 경우도 있을 수 있다.
도 7은 기초 프레임이 역방향 모션 벡터(M0b)만을 갖는 경우를 나타낸 것이다. 이 경우에는 현재 프레임(31)의 모션 벡터들(Mf, Mb)에 대한 예측 모션 벡터들(P(Mf), P(Mb))은 상기 수학식 3과 동일한 관계식에 의하여 결정될 수 있다.
마찬가지로, 도 8은 기초 프레임이 역방향 모션 벡터(M0b)만을 갖는 경우를 나타낸 것으로, 현재 프레임(31)의 모션 벡터들(Mf, Mb)에 대한 예측 모션 벡터들(P(Mf), P(Mb))은 상기 수학식 1과 동일한 관계식에 의하여 결정될 수 있다.
이상의 도 5 내지 도 8의 실시예는 기초 프레임의 모션 벡터의 참조 거리(어떤 프레임과 그의 참조 프레임간의 시간적 거리, POC의 차이로 나타낼 수 있음)가 현재 프레임의 참조 거리의 2배인 경우를 상정한 것이지만 항상 그러한 것은 아니다. 따라서 이를 일반화하여 설명할 필요가 있다.
현재 프레임의 순방향 모션 벡터(Mf)에 대한 예측 모션 벡터(P(Mf))는 상기 기초 프레임의 모션 벡터(M0)에 참조 거리 계수(d)을 곱함으로써 구해질 수 있다. 상기 참조 거리 계수(d)는 부호와 크기를 모두 갖는 값으로서, 그 크기는 현재 프 레임의 참조 거리를 기초 프레임의 참조 거리로 나눈 값이며, 그 부호는 참조 방향이 같으면 양의 부호를 갖고 다르면 음의 부호를 갖는다.
한편, 현재 프레임의 역방향 모션 벡터(Mb)에 대한 예측 모션 벡터(P(Mb))는, 상기 기초 프레임의 모션 벡터가 순방향 모션 벡터인 경우라면 상기 현재 프레임의 순방향 모션 벡터(Mf)에서 상기 기초 프레임의 모션 벡터를 차감함으로써 구해질 수 있다. 그리고, 상기 기초 프레임의 모션 벡터가 역방향 모션 벡터인 경우라면 상기 현재 프레임의 순방향 모션 벡터(Mf)와 상기 기초 프레임의 모션 벡터를 가산함으로써 구해질 수 있다.
이상 도 5 내지 도 8에서 기초 프레임의 모션 벡터를 통하여 현재 프레임의 모션 벡터를 예측하는 다양한 경우를 설명하였다. 그런데, 낮은 시간적 레벨의 프레임(31)과 높은 시간적 레벨의 프레임(32)의 POC가 일치하지 않으므로, 한 프레임 내에서 어떤 파티션 위치에 있는 모션 벡터끼리 대응시키는가의 문제가 남아있다. 이 문제는 다음과 같은 예시적 방법에 의해 해결될 수 있다.
먼저, 단순히 동일한 위치의 모션 벡터끼리 대응시키는 방법이다. 도 7을 참조하면, 기초 프레임(32) 내의 어떤 블록(52)에 할당되는 모션 벡터(52)는, 현재 프레임(31)에서 상기 블록(52)과 동일한 위치의 블록(51)에 할당되는 모션 벡터들(41, 42)을 예측하는 데 사용된다. 다만, 이와 같이 할 경우에, 프레임간 시간 차이에 따른 오차가 발생할 여지가 있다.
다음으로, 보다 엄밀한 방법으로서 일치하지 않는 시간적 위치를 보정한 후 모션 벡터를 예측하는 방법도 있다. 도 9에서, 기초 프레임(31) 내의 어떤 블록(51)에서의 역방향 모션 벡터(42)의 궤적을 따라갈 때 현재 프레임(31) 중에서 대응되는 영역(54)을 찾고, 상기 영역(54)의 모션 벡터(46)를 기초 프레임(31)의 모션 벡터들(41, 43)을 예측하는 데 사용하는 것이다. 다만, 상기 영역(54)은 상기 블록(51)과 매크로블록 패턴(macroblock pattern)이 일치되지 않을 수 있지만, 면적 가중 평균을 구한다든지 메디안 값을 구한다든지 하는 방법을 이용하여 해결할 수 있다.
예를 들어, 도 10과 같이 상기 영역(54)이 4개의 블록과 겹쳐진 위치에 놓여진다고 할 때, 상기 영역(54)에 대한 모션 벡터(M)는 면적 가중 평균을 이용하는 경우라면 다음의 수학식 5에 따라서, 메디안 연산을 이용할 경우라면 수학식 6에 따라서 구해질 수 있다. 만약, 양방향 참조의 경우는 각 블록이 갖는 모션 벡터도 2가지 이므로 각각에 대하여 연산을 수행하면 될 것이다. 수학식 5 및 수학식 6에서, i는 1 내지 4이다.
Figure 112006033104146-pat00001
Figure 112006033104146-pat00002
이하에서는 본 발명에서 제안한 방법들을 구현하는 비디오 인코더 및 비디오 디코더의 구성에 대하여 설명한다. 먼저, 도 11은 본 발명의 일 실시예에 따른 비디오 인코더(100)의 구성을 도시한 블록도이다.
입력 프레임은 먼저, 스위치(105)에 입력된다. 상기 입력 프레임이 저주파 프레임으로 코딩될 것이라면, 스위치(105)는 b 위치로 스위칭되어 상기 입력 프레임은 바로 공간적 변환부(130)로 제공된다. 반면에, 상기 입력 프레임이 고주파 프레임으로 코딩될 것이라면, 스위치(105)는 a 위치로 스위칭되어 상기 입력 프레임은 모션 추정부(110) 및 감산기(subtractor; 125)로 입력된다.
모션 추정부(110)는 입력 프레임에 대하여 참조 프레임(시간적으로 다른 위치에 있는 프레임)을 참조하여 모션 추정을 수행함으로써 모션 벡터를 구한다. 상기 참조 프레임으로는, 개루프(open-loop) 방식에서는 양자화되지 않은 원래의 입력 프레임이 사용될 수 있고, 폐루프(closed-loop) 방식에서는 입력 프레임이 양자화 및 역 양자화를 거쳐서 복원된 프레임이 사용될 수 있다.
일반적으로 이러한 움직임 추정을 위해 블록 매칭(block matching) 알고리즘이 널리 사용된다. 즉, 주어진 블록을 참조 프레임의 특정 탐색영역 내에서 픽셀 또는 서브 픽셀 단위로 움직이면서 그 에러가 최저가 되는 경우의 변위를 움직임 벡터로 추정하는 것이다. 모션 추정을 위하여 고정된 크기의 블록을 이용할 수도 있지만, H.264에서와 같이 계층적 가변 사이즈 블록 매칭법(Hierarchical Variable Size Block Matching; HVSBM)을 사용할 수도 있다. HVSBM을 사용하는 경우에는 모션 벡터 뿐만 아니라 매크로블록 패턴도 비디오 디코더 단으로 전송되어야 할 것이 다.
모션 보상부(120)는 모션 추정부(110)에서 구한 모션 벡터(M)를 이용하여 상기 참조 프레임을 모션 보상(motion compensation)함으로써 예측 프레임을 생성한다. 단방향(순방향 또는 역방향) 참조의 경우 상기 모션 보상된 프레임이 그대로 상기 예측 프레임이 될 수 있다. 또한, 양방향 참조의 경우 2개의 모션 보상된 프레임의 평균이 상기 예측 프레임이 될 수 있다.
감산기(125)는 현재의 입력 프레임에서 상기 생성된 예측 프레임을 감산한다.
공간적 변환부(130)는 스위치(105)로부터 제공된 입력 프레임 또는 감산기(125)에서 감산된 결과에 대하여 공간적 변환을 수행하고 변환 계수를 생성한다. 이러한 공간적 변환 방법으로는, DCT(Discrete Cosine Transform), 웨이브렛 변환(wavelet transform) 등, 공간적 중복을 제거하는 다양한 방법이 사용될 수 있다. DCT가 사용되는 경우 상기 변환 계수는 DCT 계수가 될 것이고, 웨이브렛 변환이 사용되는 경우 상기 변환 계수는 웨이브렛 계수가 될 것이다.
양자화부(140)는 상기 변환 계수를 양자화(quantization) 한다. 상기 양자화(quantization)는 임의의 실수 값으로 표현되는 상기 변환 계수를 불연속적인 값(discrete value)으로 나타내는 과정을 의미한다. 예를 들어, 양자화부(140)는 임의의 실수 값으로 표현되는 상기 변환 계수를 소정의 양자화 스텝(quantization step)으로 나눈 후(divide), 그 결과를 정수 값으로 반올림하는 방법으로 양자화를 수행할 수 있다. 상기 양자화 스텝은 양자화 테이블로부터 제공될 수 있다. 상기 양자화된 결과를 엔트로피 부호화부(150)에 제공된다.
한편, 모션 추정부(110)에서 생성된 모션 벡터(M)는 버퍼(155)에 일시 저장된다. 이와 같이, 버퍼(155)는 모션 추정부(110)에서 생성된 모션 벡터들을 저장하므로, 현재 프레임의 모션 벡터(M)가 저장될 때에는 이보다 하위 시간적 레벨의 모션 벡터들은 이미 저장되어 있다.
예측 모션 벡터 생성부(160)는 미리 생성되어 버퍼(155)에 저장된 하위 시간적 레벨의 모션 벡터들에 근거하여 현재 프레임의 예측 모션 벡터(P(M))를 생성한다. 만약, 현재 프레임의 모션 벡터가 2개(순방향, 역방향)라면, 상기 예측 모션 벡터도 2개가 될 것이다.
구체적으로, 예측 모션 벡터 생성부(180)는 먼저, 현재 프레임에 대한 기초 프레임을 선정한다. 상기 기초 프레임은 하위 시간적 레벨의 고주파 프레임 중에서 현재 프레임과 시간적 거리, 즉 POC의 차이가 가장 작은 프레임이다. 그 다음, 예측 모션 벡터는 상기 기초 프레임의 모션 벡터로부터 현재 프레임의 예측 모션 벡터(P(M))를 계산한다. 상기 예측 모션 벡터(P(M))를 계산하는 구체적인 과정은 수학식 1 내지 6을 참조하여 전술한 바 있다.
감산기(165)는 현재 프레임의 모션 벡터(M)에서 상기 계산된 예측 모션 벡터(P(M))을 감산한다. 감산 결과 생성되는 모션 벡터 차분(ΔM)은 엔트로피 부호화부(150)에 제공된다.
엔트로피 부호화부(150)는 감산기(165)로부터 제공된 모션 벡터 차분(ΔM) 및 양자화부(140)로부터 제공된 양자화 결과(텍스쳐 데이터)를 무손실 부호화하여 비트스트림을 생성한다. 이러한 무손실 부호화 방법으로는, 허프만 부호화(Huffman coding), 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding), 기타 다양한 무손실 부호화 방법이 이용될 수 있다.
이상의 도 11은 모션 예측에 의하여 현재 프레임의 모션 벡터를 차분으로 표현하여 압축하는 과정을 중심으로 하여 설명한 것이다. 만약, 모션 벡터에 소요되는 비트량을 보다 줄이기 위해서는 현재 계층의 모션 벡터를 예측 모션 벡터로 그대로 대치하는 실시예도 생각할 수 있다. 이 경우 현재 계층의 모션 벡터를 표현하기 위하여 비디오 디코더 단으로 전송할 데이터는 존재하지 않을 것이다.
도 12는 본 발명의 일 실시예에 따른 비디오 디코더(200)의 구성을 나타낸 블록도이다.
엔트로피 복호화부(210)는 무손실 복호화를 수행하여, 입력된 비트스트림으로부터 모션 데이터와, 텍스쳐 데이터를 추출한다. 상기 모션 데이터는 비디오 인코더(100)에서 생성된 모션 벡터 차분(△M)에 해당한다.
상기 추출된 텍스쳐 데이터는 역 양자화부(220)에 제공되고, 상기 모션 벡터 차분(△M)은 가산기(265)에 제공된다.
예측 모션 벡터 생성부(260)는 기 생성되어 버퍼(270)에 저장된 하위 시간적 레벨의 모션 벡터들에 근거하여 현재 프레임의 예측 모션 벡터(P(M))를 생성한다. 만약, 현재 프레임의 모션 벡터가 2개(순방향, 역방향)라면, 상기 예측 모션 벡터도 2개가 될 것이다.
구체적으로, 예측 모션 벡터 생성부(260)는 먼저, 현재 프레임에 대한 기초 프레임을 선정한다. 상기 기초 프레임은 하위 시간적 레벨의 고주파 프레임 중에서 현재 프레임과 시간적 거리, 즉 POC의 차이가 가장 작은 프레임이다. 그 다음, 예측 모션 벡터는 상기 기초 프레임의 모션 벡터로부터 현재 프레임의 예측 모션 벡터(P(M))를 계산한다. 상기 예측 모션 벡터(P(M))를 계산하는 구체적인 과정은 수학식 1 내지 6을 참조하여 전술한 바 있다.
가산기(265)는 현재 프레임의 모션 벡터 차분(ΔM)과 상기 계산된 예측 모션 벡터(P(M))를 가산함으로써 현재 프레임의 모션 벡터(M)을 복원한다. 복원된 모션 벡터(M)는 버퍼(270)에 일시 저장되어 다른 프레임의 모션 벡터를 복원하기 위하여 사용될 수 있다.
한편, 역 양자화부(220)는 엔트로피 복호화부(210)로부터 제공되는 텍스쳐 데이터를 역 양자화한다. 이러한 역 양자화 과정은 양자화 과정에서 사용된 것과 동일한 양자화 테이블을 이용하여 양자화 과정에서 생성된 인덱스로부터 그에 매칭되는 값을 복원하는 과정이다.
역 공간적 변환부(220)는 상기 역 양자화된 결과에 대하여 역 공간적 변환을 수행한다. 이러한 역 공간적 변환은 도 11의 공간적 변환부(130)에서의 공간적 변환의 역으로 수행되며, 구체적으로 역 DCT 변환, 역 웨이브렛 변환 등이 사용될 수 있다. 상기 역 공간적 변환된 결과, 즉 복원된 저주파 프레임 또는 복원된 고주파 프레임은 스위치(245)에 제공된다.
스위치(245)는 저주파 프레임이 입력되는 경우에는 b 위치로 스위칭되어 상기 저주파 프레임을 버퍼(240)에 제공하고, 고주파 프레임이 입력되는 경우에는 a 위치로 스위칭되어 상기 고주파 프레임을 가산기(235)에 제공한다.
모션 보상부(250)는 버퍼(270)로부터 제공되는 현재 프레임의 모션 벡터(M)를 이용하여, 상기 현재 프레임에 대한 참조 프레임(기 복원되어 버퍼(240)에 저장되어 있음)을 모션 보상함으로써 예측 프레임을 생성한다. 단방향(순방향 또는 역방향) 참조의 경우 상기 모션 보상된 프레임이 그대로 상기 예측 프레임이 될 수 있다. 또한, 양방향 참조의 경우 2개의 모션 보상된 프레임의 평균이 상기 예측 프레임이 될 수 있다.
가산기(235)는 스위치(245)로부터 제공되는 고주파 프레임과 상기 생성된 예측 프레임을 가산하여 현재 프레임을 복원한다. 복원된 현재 프레임은 버퍼(240)에 일시 저장되었다가 다른 프레임의 복원을 위하여 이용될 수 있다.
이상의 도 12에서는 현재 프레임의 모션 벡터 차분으로부터 현재 프레임의 모션 벡터를 복원하는 과정을 중심으로 설명하였다. 만약, 비디오 인코더로부터 모션 벡터 차분이 전송되지 않는 경우라면, 상기 예측 모션 벡터를 현재 프레임의 모션 벡터로 그대로 이용하는 실시예도 생각할 수 있을 것이다.
지금까지 도 11 및 도 12의 각 구성요소들은 메모리 상의 소정 영역에서 수행되는 태스크, 클래스, 서브 루틴, 프로세스, 오브젝트, 실행 쓰레드, 프로그램과 같은 소프트웨어(software)나, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)로 구현될 수 있으며, 또한 상기 소프트웨어 및 하드웨어의 조합으로 이루어질 수도 있다. 상기 구성요소들은 컴퓨터로 판독 가능한 저장 매체에 포함되어 있을 수도 있 고, 복수의 컴퓨터에 그 일부가 분산되어 분포될 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예 들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
상술한 본 발명에 따르면, 복수의 시간적 분해 과정을 포함하는 비디오 인코딩 방법, 또는 복수의 시간적 합성 과정을 포함하는 비디오 디코딩 방법에 있어서, 비동기 프레임의 모션 벡터를 보다 효율적으로 압축할 수 있다.

Claims (19)

  1. 복수의 시간적 레벨로 이루어지는 시간적 분해 과정에서의 모션 벡터를 압축하는 방법으로서,
    (a) 상기 복수의 시간적 레벨 중 현재 시간적 레벨에 존재하는 제1 프레임의 하위 시간적 레벨에 존재하며 상기 제1 프레임과 시간적 거리가 가장 가까운 제2 프레임을 선택하는 단계;
    (b) 상기 제2 프레임의 모션 벡터로부터 상기 제1 프레임에 대한 예측 모션 벡터를 생성하는 단계; 및
    (c) 상기 제1 프레임의 모션 벡터에서 상기 생성된 예측 모션 벡터를 감산하는 단계를 포함하는, 모션 벡터를 압축하는 방법.
  2. 제1항에 있어서,
    (d) 상기 감산 결과를 무손실 부호화하는 단계를 더 포함하는, 모션 벡터를 압축하는 방법.
  3. 제1항에 있어서,
    상기 시간적 거리는 해당 프레임이 갖는 POC(Picture Order Count)에 의하여 결정되는, 모션 벡터를 압축하는 방법.
  4. 제3항에 있어서,
    상기 제1 프레임의 POC가 상기 제2 프레임의 POC보다 작은 경우, 상기 예측 모션 벡터를 생성하는 데 사용되는 상기 제2 프레임의 모션 벡터는 역방향 모션 벡터인, 모션 벡터를 압축하는 방법.
  5. 제4항에 있어서,
    상기 예측 모션 벡터가 상기 제1 프레임의 순방향 모션 벡터에 관한 것인 경우, 상기 예측 모션 벡터는 상기 제2 프레임의 모션 벡터의 -1/2인, 모션 벡터를 압축하는 방법.
  6. 제4항에 있어서,
    상기 예측 모션 벡터가 상기 제1 프레임의 역방향 모션 벡터에 관한 것인 경우, 상기 예측 모션 벡터는 상기 제1 프레임의 순방향 모션 벡터와 상기 제2 프레임의 역방향 모션 벡터와의 합인, 모션 벡터를 압축하는 방법.
  7. 제3항에 있어서,
    상기 제1 프레임의 POC가 상기 제2 프레임의 POC보다 큰 경우, 상기 예측 모션 벡터를 생성하는 데 사용되는 상기 제2 프레임의 모션벡터는 순방향 모션 벡터인, 모션 벡터를 압축하는 방법.
  8. 제7항에 있어서,
    상기 예측 모션 벡터가 상기 제1 프레임의 순방향 모션 벡터에 관한 것인 경우, 상기 예측 모션 벡터는 상기 제2 프레임의 모션 벡터의 1/2인, 모션 벡터를 압축하는 방법.
  9. 제7항에 있어서,
    상기 예측 모션 벡터가 상기 제1 프레임의 역방향 모션 벡터에 관한 것인 경우, 상기 예측 모션 벡터는 상기 제1 프레임의 순방향 모션 벡터와 상기 제2 프레임의 순방향 모션 벡터와의 합인, 모션 벡터를 압축하는 방법.
  10. 복수의 시간적 레벨로 이루어지는 시간적 합성 과정에서의 모션 벡터를 복원하는 방법으로서,
    (a) 입력 비트스트림으로부터, 상기 복수의 시간적 레벨 중 현재 시간적 레벨에 존재하는 제1 프레임에 관한 모션 데이터를 추출하는 단계;
    (b) 상기 제1 프레임의 하위 시간적 레벨에 존재하며 상기 제1 프레임과 시간적 거리가 가장 가까운 제2 프레임을 선택하는 단계;
    (c) 상기 제2 프레임의 모션 벡터로부터 상기 제1 프레임에 대한 예측 모션 벡터를 생성하는 단계; 및
    (d) 상기 모션 데이터와 상기 생성된 예측 모션 벡터를 가산하는 단계를 포함하는, 모션 벡터를 복원하는 방법.
  11. 제10항에 있어서,
    상기 시간적 거리는 해당 프레임이 갖는 POC(Picture Order Count)에 의하여 결정되는, 모션 벡터를 복원하는 방법.
  12. 제11항에 있어서,
    상기 제1 프레임의 POC가 상기 제2 프레임의 POC보다 작은 경우, 상기 예측 모션 벡터를 생성하는 데 사용되는 상기 제2 프레임의 모션 벡터는 역방향 모션 벡터인, 모션 벡터를 복원하는 방법.
  13. 제12항에 있어서,
    상기 예측 모션 벡터가 상기 제1 프레임의 순방향 모션 벡터에 관한 것인 경우, 상기 예측 모션 벡터는 상기 제2 프레임의 모션 벡터의 -1/2인, 모션 벡터를 복원하는 방법.
  14. 제12항에 있어서,
    상기 예측 모션 벡터가 상기 제1 프레임의 역방향 모션 벡터에 관한 것인 경우, 상기 예측 모션 벡터는 상기 제1 프레임의 순방향 모션 벡터와 상기 제2 프레임의 역방향 모션 벡터와의 합인, 모션 벡터를 복원하는 방법.
  15. 제11항에 있어서,
    상기 제1 프레임의 POC가 상기 제2 프레임의 POC보다 큰 경우, 상기 예측 모션 벡터를 생성하는 데 사용되는 상기 제2 프레임의 모션벡터는 순방향 모션 벡터인, 모션 벡터를 복원하는 방법.
  16. 제15항에 있어서,
    상기 예측 모션 벡터가 상기 제1 프레임의 순방향 모션 벡터에 관한 것인 경우, 상기 예측 모션 벡터는 상기 제2 프레임의 모션 벡터의 1/2인, 모션 벡터를 복원하는 방법.
  17. 제15항에 있어서,
    상기 예측 모션 벡터가 상기 제1 프레임의 역방향 모션 벡터에 관한 것인 경우, 상기 예측 모션 벡터는 상기 제1 프레임의 순방향 모션 벡터와 상기 제2 프레임의 순방향 모션 벡터와의 합인, 모션 벡터를 복원하는 방법.
  18. 복수의 시간적 레벨로 이루어지는 시간적 분해 과정에서의 모션 벡터를 압축하는 장치로서,
    상기 복수의 시간적 레벨 중 현재 시간적 레벨에 존재하는 제1 프레임의 하위 시간적 레벨에 존재하며 상기 제1 프레임과 시간적 거리가 가장 가까운 제2 프레임을 선택하는 수단;
    상기 제2 프레임의 모션 벡터로부터 상기 제1 프레임에 대한 예측 모션 벡터를 생성하는 수단; 및
    상기 제1 프레임의 모션 벡터에서 상기 생성된 예측 모션 벡터를 감산하는 수단을 포함하는, 모션 벡터를 압축하는 장치.
  19. 복수의 시간적 레벨로 이루어지는 시간적 합성 과정에서의 모션 벡터를 복원하는 장치로서,
    입력 비트스트림으로부터, 상기 복수의 시간적 레벨 중 현재 시간적 레벨에 존재하는 제1 프레임에 관한 모션 데이터를 추출하는 수단;
    상기 제1 프레임의 하위 시간적 레벨에 존재하며 상기 제1 프레임과 시간적 거리가 가장 가까운 제2 프레임을 선택하는 수단;
    상기 제2 프레임의 모션 벡터로부터 상기 제1 프레임에 대한 예측 모션 벡터를 생성하는 수단; 및
    상기 모션 데이터와 상기 생성된 예측 모션 벡터를 가산하는 수단을 포함하는, 모션 벡터를 복원하는 장치.
KR1020060042628A 2006-01-12 2006-05-11 모션 벡터 압축 방법, 상기 압축 방법을 이용하는 비디오인코더 및 비디오 디코더 KR100818921B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020060042628A KR100818921B1 (ko) 2006-01-12 2006-05-11 모션 벡터 압축 방법, 상기 압축 방법을 이용하는 비디오인코더 및 비디오 디코더
US11/646,264 US20070160143A1 (en) 2006-01-12 2006-12-28 Motion vector compression method, video encoder, and video decoder using the method
PCT/KR2007/000195 WO2007081160A1 (en) 2006-01-12 2007-01-11 Motion vector compression method, video encoder, and video decoder using the method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US75822506P 2006-01-12 2006-01-12
US60/758,225 2006-01-12
KR1020060042628A KR100818921B1 (ko) 2006-01-12 2006-05-11 모션 벡터 압축 방법, 상기 압축 방법을 이용하는 비디오인코더 및 비디오 디코더

Publications (2)

Publication Number Publication Date
KR20070075234A KR20070075234A (ko) 2007-07-18
KR100818921B1 true KR100818921B1 (ko) 2008-04-03

Family

ID=38256519

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060042628A KR100818921B1 (ko) 2006-01-12 2006-05-11 모션 벡터 압축 방법, 상기 압축 방법을 이용하는 비디오인코더 및 비디오 디코더

Country Status (3)

Country Link
US (1) US20070160143A1 (ko)
KR (1) KR100818921B1 (ko)
WO (1) WO2007081160A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060088461A (ko) * 2005-02-01 2006-08-04 엘지전자 주식회사 영상신호의 엔코딩/디코딩시에 영상블록을 위한 모션벡터를베이스 레이어 픽처의 모션벡터로부터 유도하는 방법 및장치
ATE431676T1 (de) * 2006-07-13 2009-05-15 Axis Ab Videopuffer mit verbessertem voralarm
JP4321626B2 (ja) * 2007-05-23 2009-08-26 ソニー株式会社 画像処理方法および画像処理装置
WO2012111331A1 (ja) * 2011-02-16 2012-08-23 パナソニック株式会社 映像符号化方法および映像復号方法
US9819963B2 (en) 2011-07-12 2017-11-14 Electronics And Telecommunications Research Institute Inter prediction method and apparatus for same
SI4017006T1 (sl) * 2011-09-22 2023-12-29 Lg Electronics, Inc. Postopek in naprava za signaliziranje informacij o sliki ter postopek za dekodiranje in naprava, ki le-tega uporablja
US9602841B2 (en) * 2012-10-30 2017-03-21 Texas Instruments Incorporated System and method for decoding scalable video coding
US20180352240A1 (en) * 2017-06-03 2018-12-06 Apple Inc. Generalized Temporal Sub-Layering Frame Work

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020026177A (ko) * 2000-04-11 2002-04-06 요트.게.아. 롤페즈 비디오 엔코딩 및 디코딩 방법
KR20030080985A (ko) * 2002-04-09 2003-10-17 엘지전자 주식회사 개선된 다이렉트 모드의 매크로블록 예측 방법
KR20040078519A (ko) * 2003-03-04 2004-09-10 엘지전자 주식회사 동영상 전송방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003263533A1 (en) * 2002-10-07 2004-04-23 Koninklijke Philips Electronics N.V. Efficient motion-vector prediction for unconstrained and lifting-based motion compensated temporal filtering
KR100596706B1 (ko) * 2003-12-01 2006-07-04 삼성전자주식회사 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020026177A (ko) * 2000-04-11 2002-04-06 요트.게.아. 롤페즈 비디오 엔코딩 및 디코딩 방법
KR20030080985A (ko) * 2002-04-09 2003-10-17 엘지전자 주식회사 개선된 다이렉트 모드의 매크로블록 예측 방법
KR20040078519A (ko) * 2003-03-04 2004-09-10 엘지전자 주식회사 동영상 전송방법

Also Published As

Publication number Publication date
KR20070075234A (ko) 2007-07-18
WO2007081160A1 (en) 2007-07-19
US20070160143A1 (en) 2007-07-12

Similar Documents

Publication Publication Date Title
KR102026856B1 (ko) 다중 참조를 허용하는 비디오 코덱에서 모션 벡터를 예측하는 방법, 및 그 방법을 이용한 모션 벡터 부호화/복호화 장치
KR100703760B1 (ko) 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치
KR100763179B1 (ko) 비동기 픽쳐의 모션 벡터를 압축/복원하는 방법 및 그방법을 이용한 장치
KR100703788B1 (ko) 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
KR100746011B1 (ko) 잔차 예측의 성능 개선 방법, 상기 방법을 이용한 비디오인코더 및 비디오 디코더
KR100791299B1 (ko) 다 계층 기반의 비디오 인코딩 방법 및 장치
KR100763181B1 (ko) 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
KR101033548B1 (ko) 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
KR100703778B1 (ko) 고속 fgs를 지원하는 비디오 코딩 방법 및 장치
KR100763194B1 (ko) 단일 루프 디코딩 조건을 만족하는 인트라 베이스 예측방법, 상기 방법을 이용한 비디오 코딩 방법 및 장치
KR100714696B1 (ko) 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
US8817872B2 (en) Method and apparatus for encoding/decoding multi-layer video using weighted prediction
KR100818921B1 (ko) 모션 벡터 압축 방법, 상기 압축 방법을 이용하는 비디오인코더 및 비디오 디코더
KR20060135992A (ko) 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
JP2006304307A5 (ko)
KR100843080B1 (ko) 비디오 트랜스코딩 방법 및 장치
JP2008539646A (ja) 高速fgsを提供するビデオコーディング方法及び装置
KR100679027B1 (ko) Dc 성분의 손실 없이 영상을 코딩하는 방법 및 장치
EP2117234A2 (en) Method and apparatus for encoding/decoding with interlace scanning based motion vector transformation
EP1889487A1 (en) Multilayer-based video encoding method, decoding method, video encoder, and video decoder using smoothing prediction
WO2007024106A1 (en) Method for enhancing performance of residual prediction and video encoder and decoder using the same
JPH09224252A (ja) 動画像の動き補償予測符号化方法・復号方法および符号化装置・復号装置
WO2006104357A1 (en) Method for compressing/decompressing motion vectors of unsynchronized picture and apparatus using the same
KR20110074260A (ko) 고속 모션 추정 방법 및 장치, 이를 이용한 비디오 인코딩 장치
WO2006098586A1 (en) Video encoding/decoding method and apparatus using motion prediction between temporal levels

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: 20130227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160226

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170224

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee