KR100763179B1 - 비동기 픽쳐의 모션 벡터를 압축/복원하는 방법 및 그방법을 이용한 장치 - Google Patents

비동기 픽쳐의 모션 벡터를 압축/복원하는 방법 및 그방법을 이용한 장치 Download PDF

Info

Publication number
KR100763179B1
KR100763179B1 KR1020050044594A KR20050044594A KR100763179B1 KR 100763179 B1 KR100763179 B1 KR 100763179B1 KR 1020050044594 A KR1020050044594 A KR 1020050044594A KR 20050044594 A KR20050044594 A KR 20050044594A KR 100763179 B1 KR100763179 B1 KR 100763179B1
Authority
KR
South Korea
Prior art keywords
motion vector
picture
asynchronous
base
base picture
Prior art date
Application number
KR1020050044594A
Other languages
English (en)
Other versions
KR20060105394A (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 PCT/KR2006/001171 priority Critical patent/WO2006104357A1/en
Priority to US11/393,755 priority patent/US8085847B2/en
Publication of KR20060105394A publication Critical patent/KR20060105394A/ko
Application granted granted Critical
Publication of KR100763179B1 publication Critical patent/KR100763179B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • 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
    • 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
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Abstract

본 발명은 비동기 픽쳐의 모션 벡터를 하위 계층의 모션 벡터를 이용하여 효율적으로 예측함으로써 모션 벡터의 압축 효율을 높이는 방법 및 장치에 관한 것이다.
이를 위하여, 현재 계층과 상기 현재 계층의 하위 계층을 적어도 포함하는 다 계층 기반의 비디오 인코더에서 상기 현재 계층에 속하는 비동기 픽쳐의 모션 벡터를 압축하는 방법은, 상기 비동기 픽쳐에 대한 기초 픽쳐를 선택하는 단계와, 상기 기초 픽쳐의 모션 벡터로부터 현재 계층의 예측 모션 벡터를 생성하는 단계와, 상기 비동기 픽쳐의 모션 벡터로부터 상기 예측 모션 벡터를 차분하는 단계와, 상기 차분된 결과를 부호화하는 단계로 이루어진다.
모션 벡터, 스케일러블 비디오 코딩, 예측 모션 벡터, 모션 추정, MCTF

Description

비동기 픽쳐의 모션 벡터를 압축/복원하는 방법 및 그 방법을 이용한 장치{Method for compressing/Reconstructing motion vector of unsynchronized picture and apparatus thereof}
도 1은 2개의 계층을 갖는 스케일러블 비디오 코딩 구조의 예를 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 비동기 픽쳐의 모션 벡터를 예측하기 위하여 참조되는 하위 계층 픽쳐를 선택하는 방법을 나타낸 도면이다.
도 3은 기초 픽쳐 및 비동기 픽쳐가 모두 양방향 모션 벡터를 가지면서, POC 차이가 양인 경우를 나타내는 도면이다.
도 4는 기초 픽쳐 및 비동기 픽쳐가 모두 양방향 모션 벡터를 가지면서, POC 차이가 음인 경우를 나타내는 도면이다.
도 5는 도 3과 같은 상황에서 기초 픽쳐가 역방향 모션 벡터만을 갖는 경우를 나타내는 도면이다.
도 6은 도 4와 같은 상황에서 기초 픽쳐가 역방향 모션 벡터만을 갖는 경우를 나타내는 도면이다.
도 7은 계층간 모션 벡터의 대응 관계를 도식적으로 설명하는 도면이다.
도 8은 대응되는 기초 픽쳐의 영역이 모션 벡터가 할당되는 블록 단위가 아닌 경우의 해결 방안을 설명하는 도면이다.
도 9는 모션 추정시 모션 탐색 범위 및 초기 위치의 예를 도시하는 도면이다.
도 10은 계층간에 매크로블록 패턴이 서로 일치하지 않는 경우의 해결 방안을 설명하는 도면이다.
도 11은 본 발명의 일 실시예에 따른 비디오 인코더의 구성을 도시한 블록도이다.
도 12는 본 발명의 일 실시예에 따른 비디오 디코더의 구성을 나타낸 블록도이다.
도 13은 본 발명의 일 실시예에 따른 비디오 인코더, 또는 비디오 디코더의 동작을 수행하기 위한 시스템의 구성도이다.
(도면의 주요부분에 대한 부호 설명)
101 : 다운샘플링부 111 : 분리부
112 : 모션 보상부 113 : 모션 벡터 버퍼
114 : 예측 모션 벡터 생성부 115 : 모션 추정부
116 : 업데이트부 117 : 프레임 버퍼
120 : 변환부 130 : 양자화부
140 : 엔트로피 부호화부 150 : 모션 벡터 차분 계산부
100 : 비디오 인코더 300 : 비디오 디코더
310 : 엔트로피 복호화부 311 : 기초 픽쳐 선택부
314 : 예측 모션 벡터 생성부 315 : 모션 벡터 복원부
330 : 모션 벡터 버퍼 340 : 모션 보상부
350 : 역 양자화부 360 : 역 변환부
370 : 가산기 380 : 프레임 버퍼
본 발명은 비디오 압축 방법에 관한 것으로, 보다 상세하게는 비동기 픽쳐의 모션 벡터를 하위 계층의 모션 벡터를 이용하여 효율적으로 예측함으로써 모션 벡터의 압축 효율을 높이는 방법 및 장치에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려하여 지각적 중복을 제거함으로써 데이터를 압축할 수 있다. 일반적인 비디오 코딩 방법에 있어서, 시간적 중복은 모션 보상에 근거한 시간적 필터링(temporal filtering)에 의해 제거하고, 공간적 중복은 공간적 변환 (spatial transform)에 의해 제거한다.
데이터의 중복을 제거한 후 생성되는 멀티미디어를 전송하기 위해서는, 전송매체가 필요한데 그 성능은 전송매체 별로 차이가 있다. 현재 사용되는 전송매체는 초당 수십 메가 비트의 데이터를 전송할 수 있는 초고속통신망부터 초당 384 kbit의 전송속도를 갖는 이동통신망 등과 같이 다양한 전송속도를 갖는다. 이와 같은 환경에서, 다양한 속도의 전송매체를 지원하기 위하여 또는 전송환경에 따라 이에 적합한 전송률로 멀티미디어를 전송할 수 있도록 하는, 즉 스케일러블 비디오 코딩(scalable video coding) 방법이 멀티미디어 환경에 보다 적합하다 할 수 있다.
이러한 스케일러블 비디오 코딩이란, 이미 압축된 비트스트림(bit-stream)에 대하여 전송 비트율, 전송 에러율, 시스템 자원 등의 주변 조건에 따라 상기 비트스트림의 일부를 잘라내어 비디오의 해상도, 프레임율, 및 SNR(Signal-to-Noise Ratio) 등을 조절할 수 있게 해주는 부호화 방식을 의미한다. 이러한 스케일러블 비디오 코딩에 관하여, 이미 MPEG-4(moving picture experts group-21) Part 10에서 그 표준화 작업을 진행 중에 있다. 이 중에서도, 다 계층(multi-layered) 기반으로 스케일러빌리티를 구현하고자 하는 많은 노력들이 있다. 예를 들면, 기초 계층(base layer), 제1 향상 계층(enhanced layer 1), 제2 향상 계층(enhanced layer 2)의 다 계층을 두어, 각각의 계층은 서로 다른 해상도(QCIF, CIF, 2CIF), 또는 서로 다른 프레임율(frame-rate)을 갖도록 구성할 수 있다.
하나의 계층으로 코딩하는 경우와 마찬가지로, 다 계층으로 코딩하는 경우에 있어서도, 각 계층별로 시간적 중복성(temporal redundancy)를 제거하기 위한 모션 벡 터(motion vector; MV)를 구할 필요가 있다. 이러한 모션 벡터는 각 계층마다 별도로 검색하여 사용하는 경우(전자)가 있고, 하나의 계층에서 모션 벡터 검색을 한 후 이를 다른 계층에서도 사용(그대로 또는 업/다운 샘플링하여)하는 경우(후자)도 있다. 전자의 경우는 후자의 경우에 비하여 정확한 모션 벡터를 찾음으로써 얻는 이점과, 계층 별로 생성된 모션 벡터가 오버 헤드로 작용하는 단점이 동시에 존재한다. 따라서, 전자의 경우에는 각 계층 별 모션 벡터들 간의 중복성을 보다 효율적으로 제거하는 것이 매우 중요한 과제가 된다.
현재 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)에서는 차세대 멀티미디어 서비스의 핵심인 동영상 부호화 방식에 관한 연구를 진행 중에 있다. 특히 스케일러블 비디오 코딩에 관하여는 이미 "Joint Scalable Video Model(JSVM) 1.0 document (Hong Kong, Jan, 2005)"이라는 초안 문서를 마련하고 이 문서를 기반으로 계속적인 기술적 보완을 해 나가고 있다.
JSVM 1.0은 다 계층을 이용한 스케일러블 비디오 코딩 방식을 이용하고 있다. 그런데, 상기 다 계층을 이루는 각 계층에 대한 부호화는 기본적으로 H.264의 방식을 채택하고 있으며, 각 계층 내에서 시간적 스케일러빌리티를 구현하는 방식으로는 MCTF(Motion Compensated Temporal Filtering)를 채택하고 있다.
도 1은 2개의 계층을 갖는 스케일러블 비디오 코딩 구조의 예를 도시한 도면이다. 도 1에서 흰색으로 표시된 사각형은 저주파 픽쳐(low frequency picture)을 의미하고, 검은색으로 표시된 사각형은 고주파 픽쳐(high frequency picture)을 의미한다. 상기 코딩 구조에서, 상위 계층은 30Hz의 프레임율을 가지며 계층적 MCTF 분해 과정에 따른 복수의 시간적 레벨(4개)을 포함한다. 마찬가지로, 하위 계층은 15Hz의 프레임율을 가지며 상위 계층에 비하여 하나 작은 수의 시간적 레벨(3개)을 포함한다.
JSVM 1.0에서는 상위 계층의 픽쳐들 중에서 시간적 위치, 즉 픽쳐 순서 카운트(Picture Order Count; POC)가 일치하는 하위 계층의 픽쳐를 이용하여 상기 상위 계층의 픽쳐의 모션 벡터를 예측하는 기법을 개시하고 있다. 예를 들어, 도 1의 상위 계층 고주파 픽쳐(15, 16)의 모션 벡터는 각각 동일한 시간적 위치를 갖는 하위 계층 고주파 픽쳐(17, 18)의 모션 벡터로부터 효율적으로 예측될 수 있다. 왜냐하면, 이들은 서로 동일한 시간적 위치를 가지기 때문에 그 모션 벡터 또한 유사할 것으로 추측할 수 있기 때문이다.
이와 같이, 픽쳐(15, 16)과 같이 대응되는 하위 계층 픽쳐를 갖는 픽쳐(이하, 동기 픽쳐(synchronized picture)라고 명명함)의 모션 벡터는 상기 하위 계층 픽쳐의 모션 벡터를 이용하여 효율적으로 예측하는 것이 충분히 가능함에 비하여, 시간적 레벨 3에 존재하는 고주파 픽쳐들(11, 12, 13, 14)과 같이 대응되는 하위 계층 픽쳐가 존재하지 않는 픽쳐(이하, 비동기 픽쳐(unsynchronized picture)라 명명함)에 대해서는 상기와 같은 모션 벡터 예측 방법은 적용될 수 없고, 따라서 그에 대한 모션 벡터를 독립적으로 부호화하거나 단순히 모션 벡터들 간의 공간적 관련성을 이용하여 모션 벡터를 부호화하는 정도의 방법만이 사용되고 있다.
본 발명은 상기한 문제점을 고려하여 창안된 것으로, 대응되는 하위 계층 픽쳐가 존재하지 않는 픽쳐의 모션 벡터를 보다 효율적으로 부호화하는 방법 및 장치를 제공하는 것을 목적으로 한다.
특히, 본 발명은 각 계층이 MCTF 구조를 가지는 다계층 기반의 스케일러블 비디오 코덱에서 비동기 픽쳐의 모션 벡터를 하위 계층의 모션 벡터로부터 효율적으로 예측하는 방법 및 장치를 제공하는 것을 또 다른 목적으로 한다.
그리고, 이와 같은 비동기 픽쳐의 모션 벡터 예측 기법을 실제 JSVM(Joint Scalable Video Model)에 적용될 수 있도록 변경된 신택스(syntax)를 제공하는 것을 또 다른 목적으로 한다.
상기한 목적을 달성하기 위하여 본 발명의 일 실시예에 따른 비동기 픽쳐의 모션 벡터를 압축하는 방법은,(a) 상기 비동기 픽쳐에 대한 기초 픽쳐를 선택하는 단계; (b) 상기 기초 픽쳐의 모션 벡터로부터 현재 계층의 예측 모션 벡터를 생성하는 단계; (c) 상기 비동기 픽쳐의 모션 벡터로부터 상기 예측 모션 벡터를 차분하는 단계; 및 (d) 상기 차분된 결과를 부호화하는 단계를 포함한다.
또한, 상기한 또 다른 목적을 달성하기 위하여 본 발명의 일 실시예에 따른 비동기 픽쳐의 모션 벡터를 복원하는 방법은,(a) 상기 비동기 픽쳐에 대한 기초 픽쳐를 선택하는 단계; (b) 상기 기초 픽쳐의 모션 벡터로부터 현재 계층의 예측 모션 벡터 를 생성하는 단계; 및 (c) 상기 비동기 픽쳐에 대한 모션 벡터 차분과 상기 예측 모션 벡터를 가산하는 단계를 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명에서는, 대응되는 하위 계층 픽쳐가 존재하지 않는 비동기 픽쳐의 모션 벡터를 예측하기 위하여 참조할 하위 계층 픽쳐(이하, "기초 픽쳐"라 함)를 선택하는 방법을 먼저 제시한다. 그리고, 선택된 하위 계층 픽쳐가 갖는 모션 벡터를 이용하여 상기 비동기 픽쳐의 모션 벡터를 예측하는 방법을 제시한다.
기초 픽쳐의 선택
도 2는 본 발명의 일 실시예에 따른 비동기 픽쳐의 모션 벡터를 예측하기 위하여 참조되는 하위 계층 픽쳐를 선택하는 방법을 나타낸 도면이다. 비동기 픽쳐들(11, 12, 13, 14)은 대응되는 하위 계층 픽쳐가 존재하지 않으므로 다수의 하위 계층 픽쳐 중에서 어떠한 조건에 해당하는 픽쳐를 "기초 픽쳐"로 선택할 것인가가 문제이다.
기초 픽쳐의 선택은 다음의 3가지 조건의 만족 여부를 기준으로 할 수 있다.
1. 하위 계층 픽쳐들 중 최상위 시간적 레벨에 존재하는 고주파 픽쳐일 것
2. 현재의 비동기 픽쳐와 POC(Picture Order Count) 차이가 가장 작을 것
3. 현재의 비동기 픽쳐와 동일한 GOP(Group of Picture) 내에 존재할 것
먼저, 조건 1에서와 같이 최상위 시간적 레벨에 존재하는 픽쳐를 대상으로 하는 이유는 이러한 픽쳐들의 모션 벡터의 참조 길이가 가장 짧기 때문이다. 참조 길이가 길어질 수록 비동기 픽쳐의 모션 벡터를 예측하기에는 오차가 커지게 된다. 또한 조건 1에서 고주파 픽쳐로 제한하는 것은 당연히 기초 픽쳐가 모션 벡터를 가지고 있어야만 모션 벡터 예측을 할 수 있기 때문이다.
조건 2에서 가장 작은 POC를 갖도록 하는 것은 현재의 비동기 픽쳐와 기초 픽쳐간의 시간적 거리(temporal distance)가 가장 작도록 하기 위해서이다. 시간적 거리가 가까운 픽쳐끼리는 보다 유사한 모션 벡터를 가질 가능성이 크다. 조건 2에서 만약 POC 차이가 동일한 하위 계층 픽쳐가 2이상 존재한다면 이 중에서 보다 작은 POC를 갖는 하위 계층 픽쳐를 기초 픽쳐로 정할 수 있다.
조건 3에서 현재의 비동기 픽쳐와 동일한 GOP 내에 존재할 것을 요구하는 것은 GOP를 넘어서까지 기초 계층을 참조할 경우 인코딩 프로세스의 지연이 발생할 수 있기 때문이다. 따라서, 상기 지연이 발생하여도 문제되지 않은 환경에서라면 상기 조건 3은 생략될 수도 있다.
이러한 3가지의 조건에 따라서 도 2의 비동기 픽쳐들(11, 12, 13, 14)에 대한 기초 픽쳐를 선택하는 과정은 다음과 같다. 비동기 픽쳐(11)의 기초 픽쳐로는 하위 계층 중 최상위 시간적 레벨(시간적 레벨 2)에 존재하는 고주파 픽쳐(17, 18) 중에서 POC 차이가 작은, 즉 시간적 위치가 보다 가까운 고주파 픽쳐(17)가 선택된다. 마찬가지로, 비동기 픽쳐(12)의 기초 픽쳐로는 고주파 픽쳐(17)이 선택되며, 비동기 픽쳐(13) 및 비동기 픽쳐(14)의 기초 픽쳐로는 고주파 픽쳐(18)이 선택된다.
기초 픽쳐를 이용한 모션 벡터 예측
상기와 같이 비동기 픽쳐의 기초 픽쳐가 선택되었다고 하면, 실제로 기초 픽쳐의 모션 벡터를 이용하여 비동기 픽쳐의 모션 벡터를 예측하는 방법을 결정하여야 한다.
도 3내지 도 6은 이러한 과정을 설명하기 위한 도면으로, 기초 픽쳐(36)의 모션 벡터를 이용하여 비동기 픽쳐(31)의 모션 벡터를 예측하는 과정, 즉 비동기 픽쳐(31)예 대한 예측 모션 벡터를 생성하는 과정을 나타낸다. 그런데, 기초 픽쳐(32)의 모션 벡터는 순방향, 역방향의 두 개가 존재할 수 있으므로, 어떤 이 중에서 어떤 것을 선택할 것인가 또한 결정되어야 한다.
본 발명에서는, 비동기 픽쳐의 POC에서 기초 픽쳐의 POC를 뺀 결과(이하 "POC 차이"라 함)가 음이면 순방향 모션 벡터(M0f)를 선택하고, 양이면 역방향 모션 벡터(M0b)를 선택하는 것으로 한다. 그 이유는 모션 벡터 예측시 보다 가까운 쪽에 위치하는 모션 벡터를 이용하는 것이 보다 효율적일 것이기 때문이다.
도 3은 기초 픽쳐 및 비동기 픽쳐가 모두 양방향 모션 벡터를 가지면서, 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가 될 것이다.
도 4는 기초 픽쳐 및 비동기 픽쳐가 모두 양방향 모션 벡터를 가지면서, 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
한편, 도 3 및 도 4의 실시예에서와는 달리 기초 픽쳐(32)가 단방향의 모션 벡터를 갖는 경우도 있을 수 있다. 이러한 경우에는 참조할 모션 벡터도 하나만 존재하므로 POC 차이를 계산하여 참조할 모션 벡터를 선택할 필요가 없다.
도 5는 도 3과 같은 상황에서 기초 픽쳐가 역방향 모션 벡터(M0b)만을 갖는 경우를 나타낸 것이다. 이 경우에는 비동기 픽쳐(31)의 모션 벡터들(Mf, Mb)에 대한 예측 모션 벡터들(P(Mf), P(Mb))은 상기 수학식 3과 동일한 관계식에 의하여 결정될 수 있다. 마찬가지로, 도 6은 도 4와 같은 상황에서 기초 픽쳐가 역방향 모션 벡터(M0b)만을 갖는 경우를 나타낸 것으로, 비동기 픽쳐(31)의 모션 벡터들(Mf, Mb)에 대한 예측 모션 벡터들(P(Mf), P(Mb))은 상기 수학식 1과 동일한 관계식에 의하여 결정될 수 있다.
이상의 도 3 내지 도 6의 실시예는 기초 픽쳐의 모션 벡터의 참조 거리(어떤 픽쳐와 그 픽쳐에 대한 참조 픽쳐간의 시간적 거리, POC의 차이로 나타낼 수 있음)가 비동기 픽쳐의 참조 거리의 2배인 경우를 상정한 것이지만 항상 그러한 것은 아니다. 따라서 이를 일반화하여 설명할 필요가 있다.
비동기 픽쳐의 순방향 모션 벡터(Mf)에 대한 예측 모션 벡터(P(Mf))는 상기 기초 픽쳐의 모션 벡터(M0)에 참조 거리 계수(d)을 곱함으로써 구해질 수 있다. 상기 참조 거리 계수(d)는 부호와 크기를 모두 갖는 값으로서, 그 크기는 비동기 픽쳐의 참조 거리를 기초 픽쳐의 참조 거리로 나눈 값이며, 그 부호는 참조 방향이 같으면 양의 부호를 갖고 다르면 음의 부호를 갖는다.
한편, 비동기 픽쳐의 역방향 모션 벡터(Mb)에 대한 예측 모션 벡터(P(Mb))는, 상기 기초 픽쳐의 모션 벡터가 순방향 모션 벡터인 경우라면 상기 비동기 픽쳐의 순방향 모션 벡터(Mf)에서 상기 기초 픽쳐의 모션 벡터를 차분함으로써 구해질 수 있다. 그리고, 상기 기초 픽쳐의 모션 벡터가 역방향 모션 벡터인 경우라면 상기 비동기 픽쳐의 순방향 모션 벡터(Mf)와 상기 기초 픽쳐의 모션 벡터를 가산함으로써 구해질 수 있다.
이상 도 3 내지 도 6은 기초 픽쳐의 모션 벡터를 통하여 비동기 픽쳐의 모션 벡터를 예측하는 다양한 경우를 설명하고 있다. 그런데, 낮은 시간적 레벨의 프레임(31)과 높은 시간적 레벨의 프레임(32)의 시간적 위치가 일치하지는 않으므로 한 픽쳐 내에서 어떤 파티션 위치에 있는 모션 벡터끼리 대응시키는가가 문제이다. 그러나, 이러한 문제는 다음과 같은 방법들에 의해 해결될 수 있다.
먼저, 단순히 동일한 위치의 모션 벡터끼리 대응시키는 방법이다. 도 7을 참조하면, 기초 픽쳐(32) 내의 어떤 블록(52)에 할당되는 모션 벡터(52)는, 비동기 픽쳐(31)에서 상기 블록(52)과 동일한 위치의 블록(51)에 할당되는 모션 벡터들(41, 42)을 예측하는 데 사용될 수 있다.
다음으로, 일치하지 않는 시간적 위치를 보정한 후 모션 벡터를 예측하는 방법도 생각할 수 있다. 도 7에서, 기초 픽쳐(31) 내의 어떤 블록(51)에서의 역방향 모션 벡터(42)의 프로파일을 따를 때, 비동기 픽쳐(31)에서 대응되는 영역(54)에서의 모션 벡터(46)를, 기초 픽쳐(31)의 모션 벡터들(41, 43)을 예측하는 데 사용할 수 있다. 다만, 상기 영역(54)은 모션 벡터가 각각 할당되는 블록 단위와는 일치되지 않을 수 있지만, 면적 가중 평균을 구한다든지, 메디안 값을 구한다든지 하여 하나의 대표 모션 벡터(46)를 구할 수 있다.
예를 들어, 도 8과 같이 상기 영역(54)이 4개의 블록과 겹쳐진 위치에 놓여진다고 할 때, 상기 영역(54)에 대한 대표 모션 벡터(MV)는 면적 가중 평균을 이용하는 경우라면 다음의 수학식 5에 따라서, 메디안 연산을 이용할 경우라면 수학식 6에 따라서 구해질 수 있다. 만약, 양방향 참조의 경우는 각 블록이 갖는 모션 벡터도 2가지 이므로 각각에 대하여 연산을 수행하면 될 것이다.
Figure 112005027866794-pat00001
Figure 112005027866794-pat00002
한편, MCTF에서도 순방향 참조 거리와 역방향 참조 거리가 서로 다른 경우가 있을 수 있다. 다중 참조(Multiple reference)를 지원하는 MCTF에서는 이와 같은 경우가 발생될 수 있는데, 이 경우는 P(Mf)와 P(Mb)를 계산할 때 가중치를 두어 처리하는 것이 바람직할 것이다.
도 3과 같이 참조되는 기초 픽쳐(32)의 모션 벡터가 순방향 모션 벡터(M0f)인 경우에는 예측 모션 벡터 P(Mf)는 관계식 P(Mf) = a×Mb/(a+b)에 따라서 구해지고, 예측 모션 벡터 P(Mb)는 관계식 P(Mb) = Mf -Mbf에 따라서 구해진다. 여기서, 상기 a는 순방향 거리 비율로서, 순방향 참조 거리를 순방향 참조 거리와 역방향 참조 거리의 합으로 나눈 값이다. 그리고, b는 역방향 거리 비율로서, 역방향 참조 거리를 상기 거리의 합으로 나눈 값이다. 도 4의 경우에도 마찬가지로 참조 거리를 고려하여 예측 모션 벡터(P(Mf), P(Mb))를 구할 수 있다.
지금까지는 하위 계층의 프레임율과 상위 계층의 프레임율은 상이하더라도 해상도 는 서로 동일한 경우를 상정하였다. 그러나, 상위 계층의 해상도가 하위 계층의 해상도에 비하여 더 높은 경우도 있을 수 있다. 만약, 이러한 경우라면 수학식 1 내지 수학식 4는 약간 수정되어야 한다. 상기 수학식 1 및 3에서는 기초 픽쳐(32)의 참조 거리가 비동기 픽쳐(31)의 참조 거리에 비하여 2배이고, 기초 픽쳐(32)와 비동기 픽쳐(31)간의 해상도는 동일하므로 P(Mf)는 M0f/2 또는 -M0b/2로 표시된 것이지만, 만약 비동기 픽쳐(31)의 해상도가 기초 픽쳐(32)의 해상도의 r배라고 가정하면, 상기 수학식 1 내지 4는 각각 다음의 수학식 7 내지 10과 같이 변경되어야 한다. 즉, 수학식 1 내지 수학식 4에서 기초 픽쳐의 모션 벡터 M0f, M0b 대신에 r×M0f, r×M0b를 각각 대입한다. 왜냐하면 해상도 배수가 r배가 되면 대응되는 모션 벡터의 크기도 그 만큼 커져야 하기 때문이다.
P(Mf) = r×M0f/2
P(Mb) = Mf -r×M0f
P(Mb)= -Mb -r×M0f
P(Mf) = -r×M0b/2
P(Mb) = Mf + r×M0b
P(Mb)= -Mb +r×M0b
이상에서는, 하위 계층의 기초 픽쳐(32)를 이용하여 상위 계층의 비동기 픽쳐(31)에 대한 예측 모션 벡터를 결정하는 방법들에 대하여 설명하였다. 이 과정을 통하여 예측 모션 벡터 P(Mf), 및 P(Mb)를 구하였다면 이를 모션 추정 과정에 적용하는데 이용할 수 있고, 모션 벡터를 효율적으로 압축함으로써 전송할 비트스트림의 크기를 감소시키는 데 이용할 수 있다.
도 9는 모션 추정시 모션 탐색 범위(23) 및 초기 위치(24)의 예를 도시하는 도면이다. 모션 벡터를 탐색하는 방식으로는 픽쳐 전체에서 모션 벡터를 탐색하는 전 영역 탐색(full area search) 방식과 소정의 탐색 영역 내에서 모션 벡터를 탐색하는 일부 영역 탐색(local area search) 방식이 있다. 모션 벡터는 보다 유사한 텍스쳐 블록을 대응시킴으로써 텍스쳐 차분의 크기를 줄이기 위하여 사용되는 것이지만, 모션 벡터 자체도 디코더 단으로 전송되어야 하는 데이터의 일부이고, 주로 손실 없는 부호화 방법이 적용되기 때문에 모션 벡터에 할당되는 비트량도 상당하다. 따라서, 텍스쳐 데이터의 비트량을 줄이는 것 못지 않게 모션 벡터의 비트량을 줄이는 것도 비디오 압축 성능에 영향을 준다. 따라서, 대부분의 비디오 코덱들은 주로 일부 영역 탐색 방식을 이용하여 모션 벡터의 크기를 제한하고 있다.
만약 보다 정확한 예측 모션 벡터(24)를 초기치로 하여 모션 탐색 범위(23) 내에서 모션 벡터 탐색을 한다면, 모션 벡터 탐색에 소요되는 계산량을 줄일 수 있을 뿐만 아니라, 예측 모션 벡터와 실제 모션 벡터와의 차분(25)도 감소시킬 수 있다. 본 발명에서 기초 픽쳐를 이용하여 구한 예측 모션 벡터(P(Mf), P(Mb))는 이와 같이 비동기 픽쳐에 대하여 모션 추정을 하는 단계에서 초기치로서 사용될 수 있다.
이러한 모션 과정을 통하여 비동기 픽쳐의 실제 모션 벡터(Mf, Mb)를 구할 수 있다. 비동기 픽쳐의 모션 벡터(Mf, Mb)를 구하였다고 하면, 다음으로는 상기 모션 벡터(Mf, Mb)를 부호화하여 표현함으로써 모션 벡터의 데이터 양을 줄이는, 즉 비동기 픽쳐의 모션 벡터에 대한 모션 벡터 양자화 과정을 수행한다.
상기 모션 벡터(Mf, Mb)를 양자화하는 과정은 단순히 상기 모션 벡터(Mf, Mb)에서 예측 모션 벡터와의 차분을 구하는 방식으로 이루어질 수 있다. 따라서, Mf의 양자화 결과는 Mf-P(Mf)이 될 것이고, Mb의 양자화 결과는 Mb-P(Mb)이 될 것이다. 물론 비동기 픽쳐가 단방향 참조만을 사용한다면 둘 중 하나만 양자화 할 수도 있을 것이다.
그런데, 여기서 생각해야 할 것은 기초 픽쳐의 매크로블록 패턴과 비동기 픽쳐의 매크로블록 패턴이 서로 동일한가 여부이다. 만약, 비동기 픽쳐의 모션 추정시 기초 픽쳐의 매크로블록 패턴을 그대로 이용하고 예측 모션 벡터를 정제(refinement)하여 비동기 픽쳐의 모션 벡터를 구한 경우라면, 양자의 매크로블록 패턴은 동일하기 때문에 양자화시 상기 구한 모션 벡터와 예측 모션 벡터가 1 대 1 대응이 될 것이므로 문제되지 않는다. 이에 반하여, 비동기 픽쳐의 모션 추정시 기초 픽쳐의 매크로블록 패턴과는 별도로 최적의 매크로블록 패턴 및 모션 벡터를 결정하는 경우 라면 상기 결정된 모션 벡터와 예측 모션 벡터가 1 대 1 대응이 되지 않을 수 있다.
예를 들어, 도 10과 같이 매크로블록 패턴이 서로 일치하지 않는 경우에는 비동기 픽쳐의 예측 모션 벡터(P(Mf))는 다음의 수학식 11과 같이 상기 기초 픽쳐의 대응되는 파티션들에 포함된 각각의 예측 모션 벡터들(P(Mf)i ; i는 인덱스임)의 면적 가중 평균으로부터 구할 수 있다.
Figure 112005027866794-pat00003
또는 다음의 수학식 12와 같이 메디안 연산을 이용하여 구할 수도 있다.
Figure 112005027866794-pat00004
만약, 도 10과는 반대로 기초 픽쳐의 매크로블록 패턴 중 어떤 파티션이 대응되는 비동기 픽쳐의 파티션들을 포함하는 경우라면, 상기 복수의 파티션들에 대한 예측 모션 벡터로는 기초 픽쳐의 상기 파티션의 예측 모션 벡터를 그대로 이용하면 될 것이다.
JSVM 1.0 document에서 신택스 수정
이하에서는, 상술한 바와 같이 비동기 픽쳐에 대한 모션 벡터 예측을 수행할 수 있 게 하기 위하여, 종래의 JSVM 1.0 document의 신택스(syntax)를 수정한다. 종래의 JSVM 1.0 document에 따른 "Macroblock layer in scalable extension syntax"는 다음의 표 1과 같다.
macroblock_layer_in_scalable_extension( ) { C Descriptor
if( base_layer_id_plus1 ! = 0 && adaptive_prediction_flag) {
base_layer_mode_flag 2 ae(v)
if( ! base_layer_mode_flag && HalfResolutionBaseLayer && ! IntraBaseLayerMacroblock )
base_layer_refinement_flag 2 ae(v)
}
if( ! base_layer_mode_flag && ! base_layer_refinement_flag ) {
mb_type 2 ae(v)
if( mb_type = = I_NxN && base_layer_id_plus1 != 0 )
intra_base_flag 2 ae(v)
}
if( MbType = = I_PCM ) {
while( !byte_aligned( ) )
pcm_alignment_zero_bit 2 f(1)
for( i = 0; i < 256; i++ )
pcm_sample_luma[ i ] 2 u(v)
for( i = 0; i < 2 * MbWidthC * MbHeightC; i++ )
pcm_sample_chroma[ i ] 2 u(v)
} else {
NoSubMbPartSizeLessThan8x8Flag = 1
if( MbType != I_NxN && MbType != I_BL && MbPartPredMode( MbType, 0 ) != Intra_16x16 && NumMbPart( MbType ) = = 4 ) {
if( ! base_layer_mode_flag )
sub_mb_pred_in_scalable_extension( MbType ) 2
for( mbPartIdx = 0; mbPartIdx < 4; mbPartIdx++ )
if( SubMbType[ mbPartIdx ] != B_Direct_8x8 ) {
if( NumSubMbPart( SubMbType[ mbPartIdx ] ) > 1 )
NoSubMbPartSizeLessThan8x8Flag = 0
} else if( !direct_8x8_inference_flag )
NoSubMbPartSizeLessThan8x8Flag = 0
} else {
if( transform_8x8_mode_flag && MbType = = I_NxN )
transform_size_8x8_flag 2 ae(v)
mb_pred_in_scalable_extension( MbType ) 2
}
if( MbPartPredMode( MbType, 0 ) != Intra_16x16 ) {
coded_block_pattern 2 ae(v)
if( CodedBlockPatternLuma > 0 && transform_8x8_mode_flag && MbType != I_NxN && NoSubMbPartSizeLessThan8x8Flag && !( MbPartPredMode( MbType, 0 ) = = B_Direct_16x16 && !direct_8x8_inference_flag ) )
transform_size_8x8_flag 2 ae(v)
}
if( CodedBlockPatternLuma > 0 | | CodedBlockPatternChroma > 0 | | MbPartPredMode( MbType, 0 ) = = Intra_16x16 ) {
mb_qp_delta 2 ae(v)
residual_in_scalable_extension( ) 3 | 4
}
}
}
표 1의 제1열 제2행 행에서, "base_layer_id_plus1"이라는 파라미터는 base_layer_id라는 파라미터에 1을 더한 값을 가지는데, base_layer_id는 현재 계층 픽쳐의 매크로블록에 대응되는 하위 계층 픽쳐의 매크로블록이 존재하면 상기 하위 계층의 식별 번호가 할당되고, 존재하지 않으면 -1이 할당된다. 계층의 식별 번호는 최하위 계층부터 순서대로 0, 1, 2를 갖는다. 따라서, base_layer_id_plus1이라는 파라미터가 0이 아니라는 것은 현재 계층 픽쳐의 매크로블록에 대응되는 하위 계층 픽쳐의 매크로블록이 존재한다는 것, 즉 현재 계층 픽쳐가 동기 픽쳐라는 것을 의미한다.
"adaptive_prediction_flag"이라는 파라미터는 하위 계층을 참조하여 계층의 부호화를 위하여 할 것인가 여부를 결정하는 것으로서, 그 값이 0인 경우에는 하위 계층의 참조 없이 독립적으로 부호화하는 경우를, 0이 아닌 경우에는 하위 계층을 참조하여 부호화하는 경우를 나타낸다.
따라서, 표 1의 제1열 제2행은 base_layer_id_plus1이 0이 아니고, adaptive_prediction_flag가 0이 아닌 조건을 의미한다. 이와 같이 종래의 JSVM에서는 base_layer_id_plus1이 0인 동기 픽쳐에 대해서만 제1열 제3항에서와 같이 base_layer_mode_flag 설정하였다. 이에 따라, base_layer_mode_flag이 설정된 매크로블록은 이후의 인코더 프로세스 또는 디코더 프로세스에서 상기 매크로블록이 하위 계층의 정보를 이용하여 코딩되었다는 것을 알 수 있는 것이다.
그런데, 본 발명에서 제시한 바와 같이 비동기 픽쳐에 포함된 매크로블록에 대하여도 하위 계층의 정보를 이용하여 코딩할 수 있기 위해서는 base_layer_id_plus1이라는 파라미터의 정의를 새로이 변경하고, 기타 필요한 신택스를 추가, 수정할 필요가 있다. 본 발명에 따라 상기 JSVM 1.0 document을 수정한 것을 이하 "수정 JSVM"이라고 명명한다.
본 발명에서는 대응되는 하위 계층 픽쳐가 존재하는 동기 픽쳐의 매크로블록뿐만 아니라 대응되는 하위 계층 픽쳐가 존재하지 않는 비동기 픽쳐의 매크로블록에 대해서도 그 base_layer_id_plus1을 0으로 표기하지 않고 그 하위 계층의 식별 번호+1을 기록한다. 즉, base_layer_id_plus1은 하위 계층 자체가 존재하지 않는 최하위 계층 픽쳐의 매크로블록에서만 0으로 기재될 뿐, 그 이외에서는 하위 계층의 식별번호+1의 값을 갖는 것이다.
이와 같이 base_layer_id_plus1의 정의를 변경함과 아울러 제1열 제2행의 조건식에서 2가지 조건을 더 부가하여 기존의 제1열 제2행을 다음의 표 2와 같이 수정한다.
if( base_layer_id_plus1 ! = 0 && adaptive_prediction_flag && ( poc_diff ( currPic, basePic ) == 0 | | ! intra_base_mb ( CurrMbAddr ) ) {
표 2에서 보면, 종래의 JSVM에 비하여 "또는(||)"으로 연결된 2개의 조건이 더 추가되었다. 먼저, "poc_diff (currPic, basePic) == 0"는 현재 계층 픽쳐와 기초 픽쳐간의 시간적 거리, 즉 POC 차이가 0이 되는 경우를 의미한다. 그리고, "! intra_base_mb (CurrMbAddr)"는 현재 계층 픽쳐의 매크로블록이 인트라 매크로블록이 아닌 경우, 즉 인터 매크로블록인 경우를 의미한다.
먼저 상기 POC의 차이가 0이 되면, 현재 계층 픽쳐의 매크로블록과 동일한 시간적 위치에 있는 하위 계층 픽쳐의 매크로블록이 어떠한 모드인지(인트라 모드, 인터 모드)에 상관없이 하위 계층의 정보를 이용하여 코딩을 할 수 있다. 종래의 JSVM에서는 base_layer_id_plus1이 0이 아니면 그 자체로 POC 차이는 0이 되므로 "poc_diff (currPic, basePic) == 0"과 같은 판단 과정은 필요 없었지만, 본 발명에 따라 수정된 JSVM에서는 base_layer_id_plus1이 0이 아니더라도 POC 차이는 0일 수도(동기 픽쳐의 경우) 있고 아닐 수도(비동기 픽쳐의 경우) 있기 때문이다.
또한, "! intra_base_mb (CurrMbAddr)"는 현재 계층 픽쳐의 매크로블록이 인터 블록이라면 POC가 일치하지 않더라도 본 발명에서 제시한 비동기 픽쳐의 모션 예측 방식을 이용할 수 있도록 하기 위하여 추가된 신택스이다. 따라서, 상기 추가된 2개의 조건은 "또는(||)"으로 연결되고 다른 조건들과는 "그리고(&&)"로 연결되는 것이다. 본 발명에 따라 수정된 JSVM에서는 표 2의 조건을 만족할 때, 현재 계층 픽쳐의 매크로블록에는 base_layer_mode_flag이 'TRUE' 값으로 할당된다.
한편, 다음의 표 3에 나타낸 JSVM 1.0 document의 "Residual in scalable extension syntax"의 일부 표현을 수정할 필요도 있다.
residual_in_scalable_extension( ) { C Descriptor
if( base_id_plus1 != 0 && adaptive_prediction_flag && MbPartPredType( mb_type, 0 ) != Intra_16x16 && MbPartPredType( mb_type, 0 ) != Intra_8x8 && MbPartPredType( mb_type, 0 ) != Intra_4x4 && MbPartPredType( mb_type, 0 ) != Intra_Base )
residual_prediction_flag 3 | 4 ae(v)
if( MbPartPredMode( mb_type, 0 ) = = Intra_16x16 )
residual_block_cabac( Intra16x16DCLevel, 16 ) 3
for( i8x8 = 0; i8x8 < 4; i8x8++ ) /* each luma 8x8 block */
if( !transform_size_8x8_flag )
for( i4x4 = 0; i4x4 < 4; i4x4++ ) { /* each 4x4 sub-block of block */
if( CodedBlockPatternLuma & ( 1 << i8x8 ) )
if( MbPartPredMode( mb_type, 0 ) = = Intra_16x16 )
residual_block_cabac( Intra16x16ACLevel[i8x8 * 4 + i4x4], 15 ) 3
else
residual_block_cabac( LumaLevel[ i8x8 * 4 + i4x4 ], 16 ) 3 | 4
else if( MbPartPredMode( mb_type, 0 ) = = Intra_16x16 )
for( i = 0; i < 15; i++ )
Intra16x16ACLevel[ i8x8 * 4 + i4x4 ][ i ] = 0
else
for( i = 0; i < 16; i++ )
LumaLevel[ i8x8 * 4 + i4x4 ][ i ] = 0
}
else if( CodedBlockPatternLuma & ( 1 << i8x8 ) )
residual_block_cabac( LumaLevel8x8[ i8x8 ], 64 ) 3 | 4
else
for( i = 0; i < 64; i++ )
LumaLevel8x8[ i8x8 ][ i ] = 0
if( chroma_format_idc != 0 ) {
NumC8x8 = 4 / ( SubWidthC * SubHeightC )
for( iCbCr = 0; iCbCr < 2; iCbCr++ )
if( CodedBlockPatternChroma & 3 ) /* chroma DC residual present */
residual_block_cabac( ChromaDCLevel[ iCbCr ], 4 * NumC8x8 ) 3 | 4
else
for( i = 0; i < 4 * NumC8x8; i++ )
ChromaDCLevel[ iCbCr ][ i ] = 0
for( iCbCr = 0; iCbCr < 2; iCbCr++ )
for( i8x8 = 0; i8x8 < NumC8x8; i8x8++ )
for( i4x4 = 0; i4x4 < 4; i4x4++ )
if( CodedBlockPatternChroma & 2 ) /* chroma AC residual present */
residual_block_cabac( ChromaACLevel[ iCbCr ][ i8x8*4+i4x4 ], 15) 3 | 4
else
for( i = 0; i < 15; i++ )
ChromaACLevel[ iCbCr ][ i8x8*4+i4x4 ][ i ] = 0
}
표 3의 종래의 차분 예측(residual prediction)을 수행하기 위한 플래그 residual_prediction_flag를 'TRUE'로 설정하기 위한 조건으로서 제1열 제2행에서 몇몇 조건들이 기재되어 있다. 그런데, 상기 차분 예측은 동기 픽쳐에만 적용할 수 있는데, 상기 수정 JSVM에서 base_id_plus1의 정의를 다소 수정하였으므로, base_id_plus1 0이 아닌 것만으로는 동기 픽쳐임을 보장할 수 없다. 따라서, 수정 JSVM에서는 "poc_diff (currPic, basePic) == 0" 즉, POC 차이가 0이라는 조건을 추가하여 표 3의 제1열 제2행은 다음의 표4와 같이 수정된다.
if( base_id_plus1 != 0 && adaptive_prediction_flag && MbPartPredType( mb_type, 0 ) != Intra_16x16 && MbPartPredType( mb_type, 0 ) != Intra_8x8 && MbPartPredType( mb_type, 0 ) != Intra_4x4 && MbPartPredType( mb_type, 0 ) != Intra_Base poc_diff ( currPic, basePic ) == 0 )
이하에서는 본 발명에서 제안한 방법들을 구현한 비디오 인코더 및 비디오 디코더의 구성에 대하여 설명한다. 먼저, 도 11은 본 발명의 일 실시예에 따른 비디오 인코더(100)의 구성을 도시한 블록도이다. 도 11에서는 하나의 현재 계층과, 하나의 하위 계층만을 갖는 경우를 예를 들어 설명하지만, 당업자라면 3개 이상의 계층들이 존재하는 경우에도 마찬가지로 적용될 수 있음을 알 수 있을 것이다.
최초에 입력된 픽쳐는 현재 계층의 분리부(111)에 입력되고, 다운 샘플링부(101)에서 시간적으로 다운 샘플링되거나 시간적 및 공간적을 다운 샘플링된 후 하위 계층의 분리부(211)에 입력된다. 예를 들어, 다운 샘플링부(101)는 하위 계층의 프레임율을 현재 계층의 1/2로 하거나, 프레임율 및 해상도 각각을 현재 계층의 1/2로 할 수 있다.
먼저, 현재 계층에서 수행되는 동작을 살펴 보기로 한다. 분리부(111)는 입력된 픽쳐(O)을 고주파 픽쳐 위치(H 위치)의 픽쳐와, 저주파 픽쳐 위치(L 위치)의 픽쳐로 분리한다. 일반적으로 고주파 픽쳐는 홀수 위치(2i+1)에, 저주파 픽쳐는 짝수 위치(2i)에 위치하게 된다. 여기서, i는 픽쳐 번호를 나타내는 인덱스로서0이상의 정수 값을 갖는다. 상기H 위치의 픽쳐들은 시간적 예측(여기서, 시간적 예측은 모션 벡터의 예측이 아니라 텍스쳐의 예측을 의미함) 과정을 거치게 되고, 상기 L 위치의 픽쳐들은 업데이트 과정을 거치게 된다.
H 위치의 픽쳐는 모션 추정부(115), 모션 보상부(112) 및 차분기(118)로 입력된다.
모션 추정부(113)는H 위치에 있는 픽쳐(이하 현재 픽쳐)에 대하여 주변 픽쳐(시간적으로 다른 위치에 있는 동일 계층 내의 픽쳐)을 참조하여 모션 추정을 수행함으로써 모션 벡터를 구한다. 이와 같이 참조되는 주변 픽쳐를 '참조 픽쳐'이라고 한다.
일반적으로 이러한 움직임 추정을 위해 블록 매칭(block matching) 알고리즘이 널리 사용되고 있다. 즉, 주어진 블록을 참조 픽쳐의 특정 탐색영역 내에서 픽셀 또는 서브 픽셀 단위로 움직이면서 그 에러가 최저가 되는 경우의 변위를 움직임 벡터로 추정하는 것이다. 모션 추정을 위하여 고정된 블록을 이용할 수도 있지만, 계층적 가변 사이즈 블록 매칭법(Hierarchical Variable Size Block Matching; HVSBM)에 의한 계층적인 방법을 사용할 수도 있다.
현재 계층 픽쳐의 모션 추정시에는 하위 계층에 속하는 픽쳐(이하, 하위 계층 픽쳐라 함)에서 미리 구해진 모션 벡터를 이용하여 모션 추정의 효율을 높일 수 있다. 도 9의 예에서와 같이, 하위 계층에서 예측된 예측 모션 벡터(24)를 초기치로 하여 모션 탐색 범위(23) 내에서 모션 벡터 탐색을 할 수 있다.
동기 픽쳐에 대한 예측 모션 벡터(24)로는 동일한 시간적 위치에 있는 하위 계층 픽쳐의 대응되는 블록 위치에서의 모션 벡터를 그대로 이용할 수 있다. 물론, 현재 계층과 하위 계층의 해상도가 상이하다면 하위 계층 모션 벡터에 해상도 배율만큼 곱하여 예측 모션 벡터(24)로 이용하게 될 것이다.
비동기 픽쳐에 대한 상기 예측 모션 벡터(24)를 구하기 위해서는 전술한 바와 같이 현재 픽쳐에 대한 기초 픽쳐를 먼저 선택하여야 한다. 이러한 기초 픽쳐의 선택은 모션 추정부(115)의 조회 명령에 따라서 기초 픽쳐 선택부(111)에서 수행하게 되며, 선택된 기초 픽쳐에 대한 정보(기초 픽쳐 정보)는 예측 모션 벡터 생성부(114)에서 예측 모션 벡터를 생성하기 위하여 제공된다.
기초 픽쳐는 전술한 바와 같이, 하위 계층 픽쳐들 중, 현재의 비동기 픽쳐와 동일한 GOP(Group of Picture) 내에 존재하고, 최상위 시간적 레벨에 존재하는 고주파 픽쳐 중에서, 현재의 비동기 픽쳐와 POC(Picture Order Count) 차이가 가장 작은 것이 선택된다. 물론 동일 POC를 갖는 픽쳐가 2이상 존재하는 경우 POC가 작은 픽쳐를 선택할 수 있다.
예측 모션 벡터 생성부(114)는 상기 제공된 기초 픽쳐 정보(예를 들어, 선택된 기초 픽쳐의 픽쳐 번호, POC, GOP 번호 등)를 통하여 하위 계층의 모션 벡터 버퍼(213)으로부터 기초 픽쳐의 모션 벡터(M0)를 요청하고, 모션 벡터(M0)를 이용하여 현재 계층 픽쳐의 소정의 블록(매크로블록 또는 서브 매크로블록)에 대한 예측 모션 벡터를 생성한다. 예측 모션 벡터 생성 방법은 도 3내지 도 6의 설명에서 이미 한 바 있으므로 중복된 설명은 생략하기로 한다.
도 11에서 보면, 예측 모션 벡터 생성부(114)는 입력 신호로서 M0, M1'을 수신하고 이로부터 M1에 대한 예측 모션 벡터인 P(M1)을 생성한다. 즉, 참조 방향에 따라서 M0로부터 직접 생성될 수 있는 경우도 있지만, 기 생성되어 모션 벡터 버퍼(113)에 저장된 다른 참조 방향의 모션 벡터 M1'가 필요한 경우도 있기 때문이다. 도3의 예와 같은 경우라면 M0 는 M0f 에 해당될 것이고, 이로부터 Mf에 해당되는 M1' 에 대한 예측 모션 벡터(P(M1'))가 구해질 것이다. 그리고, M0 및 기 생성된 M1'를 이용하여 Mb에 해당되는 M1에 대한 예측 모션 벡터(P(M1))가 그 이어서 구해질 것이다.
이와 같이 예측 모션 벡터가 구해지면, 모션 추정부(115)는 상기 예측 모션 벡터가 나타내는 위치를 초기 위치로 하여 소정의 모션 탐색 범위 내에서 모션 추정을 수행한다. 상기 모션 추정시 최적의 모션 벡터는 비용함수가 최소가 되는 모션 벡터를 구함으로써 결정될 수 있으며, 상기 HVSBM을 사용하는 경우에는 이와 함께 최적 매크로블록 패턴도 결정될 수 있다. 상기, 비용함수로는 예를 들어 레이트-왜곡 함수(Rate-Distortion Function)를 이용할 수도 있다.
모션 벡터 버퍼(113)는 모션 추정부(115)에서 구한 모션 벡터를 저장하였다가 예측 모션 벡터 생성부(114)의 조회 명령에 따라서 예측 모션 벡터 생성부(114)에 제공한다.
모션 보상부(112)는 모션 추정부(115)에서 구한 모션 벡터 및 상기 참조 픽쳐를 이용하여 현재 픽쳐에 대하여 모션 보상(motion compensation)을 수행한다. 그리고, 차분기(118)는 현재 픽쳐와 모션 보상부(112)에 의하여 제공되는 모션 보상 픽쳐의 차분을 구함으로써, 고주파 픽쳐(H 픽쳐)을 생성한다. 상기 고주파 픽쳐는 차분 결과라는 의미로 잔차 픽쳐(residual picture)이라고 불리기도 한다. 상기 생성된 고주파 픽쳐들은 업데이트부(116) 및 변환부(120)에 제공된다.
한편, 업데이트부(116)는 상기 생성된 고주파 픽쳐를 이용하여 L 위치의 픽쳐들을 업데이트 한다. 만약, 5/3 MCTF의 경우에는, 어떤L 위치의 픽쳐는 시간적으로 인접한 두 개의 고주파 픽쳐를 이용하여 업데이트 될 것이다. 만약, 상기 고주파 픽쳐를 생성하는 과정에서 단방향(순방향 또는 역방향) 참조가 이용되었다면, 마찬가지로 업데이트 과정도 단방향으로 이루어질 수 있다. 상기 MCTF 업데이트 과정에 관한 보다 구체적인 관계식은 당업계에 충분히 잘 알려져 있으므로 그 설명은 생략하기로 한다.
업데이트부(116)는 업데이트된 L 위치의 픽쳐들을 프레임 버퍼(117)에 저장하고, 프레임 버퍼(117)는 저장된 L 위치의 픽쳐를 다음 하위 시간적 레벨에서의 MCTF 분해 과정을 위하여 분리부(111)에 제공한다. 그런데, 만약 L 위치의 픽쳐가 최종 L 픽쳐인 경우에는 더 이상 하위 시간적 레벨은 존재하지 않으므로, 상기 최종 L 픽쳐를 변환부(120)에 제공한다.
분리부(111)는 프레임 버퍼(117)로부터 제공된 픽쳐들을 다음 하위 시간적 레벨에서 H 위치의 픽쳐와 L 위치의 픽쳐로 분리한다. 그러면, 이 후 마찬가지로 다음 하위 시간적 레벨에서 시간적 예측 과정과 업데이트 과정이 수행된다. 이러한 반복적인 MCTF 분해 과정은 최종적으로 하나의 L 픽쳐가 남을 때까지 반복적으로 수행될 수 있다.
변환부(120)는 상기 제공된 최종 L 픽쳐와, H 픽쳐에 대하여, 공간적 변환을 수행하고 변환 계수(C)를 생성한다. 이러한 공간적 변환 방법으로는, DCT(Discrete Cosine Transform), 웨이블릿 변환(wavelet transform) 등의 방법이 사용될 수 있다. DCT를 사용하는 경우 상기 변환 계수는 DCT 계수가 될 것이고, 웨이블릿 변환을 사용하는 경우 상기 변환 계수는 웨이블릿 계수가 될 것이다.
양자화부(130)는 상기 변환 계수(C1)를 양자화(quantization) 한다. 상기 양자화(quantization)는 임의의 실수 값으로 표현되는 상기 변환 계수를 불연속적인 값(discrete value)으로 나타내는 과정을 의미한다. 예를 들어, 양자화부(130)는 임의의 실수 값으로 표현되는 상기 변환 계수를 소정의 양자화 스텝(quantization step)으로 나누고, 그 결과를 정수 값으로 반올림하는 방법으로 양자화를 수행할 수 있다. 상기 양자화 스텝은 미리 약속된 양자화 테이블로부터 제공될 수 있다.
모션 벡터 차분 계산부(150)는 모션 벡터 버퍼(113)로부터 제공되는 모션 벡터(M1)와 예측 모션 벡터 생성부(114)로부터 제공되는 상기 모션 벡터(M1)에 대한 예측 모션 벡터(P(M1))와의 차분(△M1)을 계산하고 이를 엔트로피 부호화부(140)에 제공한다.
다음으로, 하위 계층에서 수행되는 동작을 살펴 보기로 한다. 그런데, 하위 계층의 부호화 과정도 현재 계층의 부호화 과정과 유사하므로 중복적인 설명은 하지 않기로 한다. 다만, 하위 계층은 참조할 수 있는 더 하위의 계층이 존재하지 않으므로 본 발명에 따른 기초 픽쳐 선택, 예측 모션 벡터 생성, 및 모션 벡터 차분 계산 등의 과정을 포함하지 않을 수 있다. 물론, 하위 계층의 모션 벡터도 하나의 픽쳐 내의 공간적 관련성을 이용하여 차분을 구함으로써 효율적으로 압축하는 방법을 적용할 수 있겠지만, 본 발명의 주안점에서는 다소 벗어나므로 하위 계층의 모션 벡터는 그대로 무손실 부호화하는 것으로 하여 설명할 것이다.
결국, 현재 계층의 모션 벡터(M1), 현재 계층의 양자화 결과(T1), 하위 계층의 모션 벡터(M0), 및 하위 계층의 양자화 결과(T0)는 각각 엔트로피 부호화부(140)에 제공한다. 엔트로피 부호화부(140)는 상기 제공된 M1, T1, M0, 및 T0를 무손실 부호화하여 비트스트림을 생성한다. 이러한 무손실 부호화 방법으로는, 허프만 부호화(Huffman coding), 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding), 기타 다양한 방법이 이용될 수 있다.
도 12는 본 발명의 일 실시예에 따른 비디오 디코더(300)의 구성을 나타낸 블록도이다.
엔트로피 복호화부(310)는 무손실 복호화를 수행하여, 입력된 비트스트림으로부터 현재 계층의 모션 벡터 차분(△M1)과 텍스쳐 데이터(T1), 하위 계층의 모션 벡터(M0)와 텍스쳐 데이터(M1)를 무손실 복호화한다. 먼저, 현재 계층에서 수행되는 동작을 살펴본다.
상기 복호화된 텍스쳐 데이터(T1)는 역 양자화부(350)에 제공되고 상기 모션 차분(△M1)은 모션 벡터 버퍼(330) 제공된다. 기초 픽쳐 선택부(311)는 모션 보상부(340)의 조회 명령에 따라서 현재 계층 픽쳐에 대한 기초 픽쳐를 선택한다. 이러한 기초 계층 선택은 기초 픽쳐 선택부(111)에서와 동일한 알고리듬으로 수행될 수 있다. 상기 선택된 기초 픽쳐에 대한 정보(예를 들어, 선택된 기초 픽쳐의 픽쳐 번호, POC, GOP 번호 등)는 예측 모션 벡터 생성부(314)에 제공된다.
예측 모션 벡터 생성부(314)는 상기 제공된 기초 픽쳐 정보를 통하여 하위 계층의 모션 벡터 버퍼(430)로부터 기초 픽쳐의 모션 벡터(M0)를 요청하고, 모션 벡터(M0)를 이용하여 현재 계층 픽쳐의 소정의 블록(매크로블록 또는 서브 매크로블록)에 대한 예측 모션 벡터 P(M1)를 생성한다.
그런데, 예측 모션 벡터는 참조 방향에 따라서 M0로부터 직접 생성될 수 있는 경우도 있지만, 기 생성되어 모션 벡터 버퍼(330)에 저장된 다른 참조 방향의 모션 벡터 M1'가 필요한 경우도 있다. 도 3의 예에서, Mb의 예측 모션 벡터(P(Mb))는 Mf가 먼저 결정되어야만 결정된 Mf와 M0f로부터 P(Mb)를 구할 수 있음을 알 수 있다.
모션 벡터 복원부(315)는 예측 모션 벡터 생성부(314)에서 생성된 예측 모션 벡터 P(M1) 및 엔트로피 복호화부(310)에서 복호화된 모션 벡터 차분(△M1)을 가산하여 모션 벡터(M1)을 복원한다. 복원된 모션 벡터(M1)은 다시 모션 벡터 버퍼(330)에 일시 저장되었다가 모션 보상부(340)의 조회 명령에 따라 모션 보상부(340)에 제공된다.
한편, 역 양자화부(350)는 엔트로피 복호화부(310)로부터 제공되는 텍스쳐 데이터(T1)를 역 양자화한다. 이러한 역 양자화 과정은 양자화 과정에서 사용된 것과 동일한 양자화 테이블을 이용하여 양자화 과정에서 생성된 인덱스로부터 그에 매칭되는 값을 복원하는 과정이다.
역 변환부(360)는 상기 역 양자화된 결과에 대하여 역 변환을 수행한다. 이러한 역 변환은 비디오 인코더(100) 단의 변환부(120)에 대응되는 방식으로서 수행되며, 구체적으로 역 DCT 변환, 역 웨이블릿 변환 등이 사용될 수 있다. 상기 역 변환된 결과, 즉 복원된 고주파 픽쳐는 가산기(370)에 제공된다.
모션 보상부(340)는 현재 계층 픽쳐에 대한 참조 픽쳐(기 복원되어 프레임 버퍼(380)에 저장됨)을 이용하여 모션 보상 픽쳐를 생성하고 이를 가산기(370)에 제공한다. 이러한 모션 보상 과정은 MCTF 복원 순서에 따라서 MCTF 분해 순서와 반대의 순서, 즉 시간적 레벨의 역순으로 수행될 수 있다.
가산기(370)는 역 변환부(360)로부터 제공된 고주파 픽쳐와 상기 모션 보상된 픽쳐를 가산하여 현재 시간적 레벨의 어떤 픽쳐를 복원하고 이를 프레임 버퍼(380)에 저장한다.
다음으로, 하위 계층에서 수행되는 동작을 살펴 보기로 한다. 그런데, 하위 계층의 복호화 과정도 현재 계층의 복호화 과정과 유사하므로 중복적인 설명은 하지 않기로 한다. 다만, 하위 계층은 참조할 수 있는 더 하위의 계층이 존재하지 않으므로 본 발명에 따른 기초 픽쳐 선택, 예측 모션 벡터 생성, 및 모션 벡터 차분 계산 등의 과정을 포함하지 않을 뿐이다.
도 13은 본 발명의 일 실시예에 따른 비디오 인코더(100), 또는 비디오 디코더(300)의 동작을 수행하기 위한 시스템의 구성도이다. 상기 시스템은 TV, 셋탑박스, 데스크 탑, 랩 탑 컴퓨터, 팜 탑(palmtop) 컴퓨터, PDA(personal digital assistant), 비디오 또는 이미지 저장 장치(예컨대, VCR(video cassette recorder), DVR(digital video recorder) 등)를 나타내는 것일 수 있다. 뿐만 아니라, 상기 시스템은 상기한 장치들을 조합한 것, 또는 상기 장치가 다른 장치의 일부분으로 포함된 것을 나타내는 것일 수도 있다. 상기 시스템은 적어도 하나 이상의 비디오 소스(video source; 910), 하나 이상의 입출력 장치(920), 프로세서(940), 메모리(950), 그리고 디스플레이 장치(930)를 포함하여 구성될 수 있다.
비디오 소스(910)는 TV 리시버(TV receiver), VCR, 또는 다른 비디오 저장 장치를 나타내는 것일 수 있다. 또한, 상기 소스(910)는 인터넷, WAN(wide area network), LAN(local area network), 지상파 방송 시스템(terrestrial broadcast system), 케이블 네트워크, 위성 통신 네트워크, 무선 네트워크, 전화 네트워크 등을 이용하여 서버로부터 비디오를 수신하기 위한 하나 이상의 네트워크 연결을 나타내는 것일 수도 있다. 뿐만 아니라, 상기 소스는 상기한 네트워크들을 조합한 것, 또는 상기 네트워크가 다른 네트워크의 일부분으로 포함된 것을 나타내는 것일 수도 있다.
입출력 장치(920), 프로세서(940), 그리고 메모리(950)는 통신 매체(960)를 통하여 통신한다. 상기 통신 매체(960)에는 통신 버스, 통신 네트워크, 또는 하나 이상의 내부 연결 회로를 나타내는 것일 수 있다. 상기 소스(910)로부터 수신되는 입력 비디오 데이터는 메모리(950)에 저장된 하나 이상의 소프트웨어 프로그램에 따라 프로세서(940)에 의하여 처리될 수 있고, 디스플레이 장치(930)에 제공되는 출력 비디오를 생성하기 위하여 프로세서(940)에 의하여 실행될 수 있다.
특히, 메모리(950)에 저장된 소프트웨어 프로그램은 본 발명에 따른 방법을 수행하는 스케일러블 비디오 코덱을 포함할 수 있다. 상기 인코더 또는 상기 코덱은 메모리(950)에 저장되어 있을 수도 있고, CD-ROM이나 플로피 디스크와 같은 저장 매체에서 읽어 들이거나, 각종 네트워크를 통하여 소정의 서버로부터 다운로드한 것일 수도 있다. 상기 소프트웨어에 의하여 하드웨어 회로에 의하여 대체되거나, 소프트웨어와 하드웨어 회로의 조합에 의하여 대체될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예 들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
상술한 본 발명에 따르면, 대응되는 하위 계층 픽쳐가 존재하지 않는 픽쳐의 모션 벡터를 보다 효율적으로 부호화할 수 있다.
또한, 각 계층이 MCTF 구조를 가지는 다계층 기반의 스케일러블 비디오 코덱에서 비동기 픽쳐의 모션 벡터를 하위 계층의 모션 벡터로부터 효율적으로 예측하는 방법을 제공할 수 있다.
그리고, 이와 같은 비동기 픽쳐의 모션 벡터 예측 기법을 실제 JSVM(Joint Scalable Video Model)에 적용하여 JSVM의 성능을 개선할 수 있다.

Claims (23)

  1. 현재 계층과 상기 현재 계층의 하위 계층을 적어도 포함하는 다 계층 기반의 비디오 인코더에서 상기 현재 계층에 속하는 비동기 픽쳐의 모션 벡터를 압축하는 방법으로서,
    (a) 상기 비동기 픽쳐에 대한 기초 픽쳐를 선택하는 단계;
    (b) 상기 기초 픽쳐의 모션 벡터들 중에서, 상기 비동기 픽쳐와 상기 기초 픽쳐간의 시간적 간격 차이만큼 보정된 위치에서의 모션 벡터를 이용하여 현재 계층의 예측 모션 벡터를 생성하는 단계; 및
    (c) 상기 예측 모션 벡터를 이용하여 상기 비동기 픽쳐의 모션 벡터를 압축하는 단계를 포함하는, 비동기 픽쳐의 모션 벡터를 압축하는 방법.
  2. 제1항에 있어서,
    상기 현재 계층 및 상기 하위 계층은 각각 모션 보상 시간적 필터링(Motion Compensated Temporal Filtering)에 의한 시간적 레벨 구조를 갖는, 비동기 픽쳐의 모션 벡터를 압축하는 방법.
  3. 제2항에 있어서, 상기 기초 픽쳐는
    하위 계층 중, 최상위 시간적 레벨에 존재하는 고주파 픽쳐 중에서, 상기 비동기 픽쳐와 시간적 거리가 가장 가까운 픽쳐가 선택되는, 비동기 픽쳐의 모션 벡터를 압축하는 방법.
  4. 제3항에 있어서,
    상기 비동기 픽쳐와 상기 기초 픽쳐는 동일한 GOP(Group of Pictures) 내에 속하는, 비동기 픽쳐의 모션 벡터를 압축하는 방법.
  5. 제4항에 있어서, 상기 기초 픽쳐는
    상기 시간적 거리가 동일한 복수의 하위 계층 픽쳐가 존재할 경우 POC(Picture Order Count)가 가장 작은 픽쳐가 선택되는, 비동기 픽쳐의 모션 벡터를 압축하는 방법.
  6. 제1항에 있어서,
    (d) 상기 생성된 예측 모션 벡터를 초기치로 하여 소정의 탐색 영역 내에서 모션 추정을 수행함으로써 상기 비동기 픽쳐의 모션 벡터를 구하는 단계를 더 포함하는, 비동기 픽쳐의 모션 벡터를 압축하는 방법.
  7. 제6항에 있어서, 상기 (d) 단계는
    상기 비동기 픽쳐의 서브 매크로블록 패턴은 상기 기초 픽쳐의 서브 매크로블록 패턴과 동일하게 유지하고, 상기 비동기 픽쳐의 모션 벡터를 리파인(refinement)함으로써 이루어지는, 비동기 픽쳐의 모션 벡터를 압축하는 방법.
  8. 제6항에 있어서,
    상기 비동기 픽쳐의 서브 매크로블록 패턴 및 모션 벡터는 소정의 비용함수에 의하여 상기 기초 픽쳐의 서브로 매크로블록 패턴과는 별도로 구해지는, 비동기 픽쳐의 모션 벡터를 압축하는 방법.
  9. 제2항에 있어서, 상기 기초 픽쳐가 양방향 모션 벡터를 갖는 경우에 상기 예측 모션 벡터는,
    상기 비동기 픽쳐의 시간적 위치가 상기 기초 픽쳐의 시간적 위치보다 앞서는 경우에는 상기 양방향 모션 벡터 중 순방향 모션 벡터로부터 생성되고, 상기 비동기 픽쳐의 시간적 위치가 상기 기초 픽쳐의 시간적 위치보다 뒤지는 경우에는 상기 양방향 모션 벡터 중 역방향 모션 벡터로부터 생성되는, 비동기 픽쳐의 모션 벡터를 압축하는 방법.
  10. 제2항에 있어서, 상기 (b) 단계는
    상기 기초 픽쳐의 모션 벡터에 참조 거리 계수(d)을 곱함으로써 이루어지는, 비동기 픽쳐의 모션 벡터를 압축하는 방법.
  11. 제2항에 있어서, 상기 (b) 단계는
    상기 기초 픽쳐의 모션 벡터에 참조 거리 계수(d)을 곱하여 상기 비동기 픽쳐의 순방향 모션 벡터에 대한 예측 모션 벡터를 생성하는 단계; 및
    상기 기초 픽쳐의 모션 벡터가 순방향 모션 벡터인 경우에는 상기 비동기 픽쳐의 순방향 모션 벡터에서 상기 기초 픽쳐의 모션 벡터를 차분하고, 상기 기초 픽쳐의 모션 벡터가 역방향 모션 벡터인 경우에는 상기 비동기 픽쳐의 순방향 모션 벡터와 상기 기초 픽쳐의 모션 벡터를 가산함으로써 상기 비동기 픽쳐의 역방향 모션 벡터에 대한 예측 모션 벡터를 생성하는 단계를 포함하는, 비동기 픽쳐의 모션 벡터를 압축하는 방법.
  12. 제2항에 있어서, 현재 계층과 하위 계층 간에 해상도가 상이한 경우에 상기 (b) 단계는
    상기 기초 픽쳐의 모션 벡터에 참조 거리 계수(d) 및 해상도 배율(r)을 곱하여 상기 비동기 픽쳐의 순방향 모션 벡터에 대한 예측 모션 벡터를 생성하는 단계; 및
    상기 기초 픽쳐의 모션 벡터가 순방향 모션 벡터인 경우에는 상기 비동기 픽쳐의 순방향 모션 벡터에서 상기 기초 픽쳐의 모션 벡터와 상기 해상도 배수(r)을 곱한 값을 차분하고, 상기 기초 픽쳐의 모션 벡터가 역방향 모션 벡터인 경우에는 상기 비동기 픽쳐의 순방향 모션 벡터에 상기 기초 픽쳐의 모션 벡터와 상기 해상도 배수(r)을 곱한 값을 가산함으로써 상기 비동기 픽쳐의 역방향 모션 벡터에 대한 예측 모션 벡터를 생성하는 단계를 포함하는, 비동기 픽쳐의 모션 벡터를 압축하는 방법.
  13. 현재 계층과 상기 현재 계층의 하위 계층을 적어도 포함하는 다 계층 기반의 비디오 디코더에서 상기 현재 계층에 속하는 비동기 픽쳐의 압축된 모션 벡터를 복원하는 방법으로서,
    (a) 상기 비동기 픽쳐에 대한 기초 픽쳐를 선택하는 단계;
    (b) 상기 기초 픽쳐의 모션 벡터들 중에서, 상기 비동기 픽쳐와 상기 기초 픽쳐간의 시간적 간격 차이만큼 보정된 위치에서의 모션 벡터를 이용하여 현재 계층의 예측 모션 벡터를 생성하는 단계; 및
    (c) 상기 예측 모션 벡터를 이용하여, 상기 비동기 픽쳐에 관한 압축된 모션 벡터 데이터로부터, 상기 비동기 픽쳐의 모션 벡터를 복원하는 단계를 포함하는, 비동기 픽쳐의 압축된 모션 벡터를 복원하는 방법.
  14. 제13항에 있어서,
    상기 현재 계층 및 상기 하위 계층은 각각 모션 보상 시간적 필터링(Motion Compensated Temporal Filtering)에 의한 시간적 레벨 구조를 갖는, 비동기 픽쳐의 압축된 모션 벡터를 복원하는 방법.
  15. 제14항에 있어서, 상기 기초 픽쳐는
    하위 계층 중, 최상위 시간적 레벨에 존재하는 고주파 픽쳐 중에서, 상기 비동기 픽쳐와 시간적 거리가 가장 가까운 픽쳐가 선택되는, 비동기 픽쳐의 모션 벡터를 복원하는 방법.
  16. 제15항에 있어서,
    상기 비동기 픽쳐와 상기 기초 픽쳐는 동일한 GOP(Group of Pictures) 내에 속하는, 비동기 픽쳐의 모션 벡터를 복원하는 방법.
  17. 제16항에 있어서, 상기 기초 픽쳐는
    상기 시간적 거리가 동일한 복수의 하위 계층 픽쳐가 존재할 경우 POC(Picture Order Count)가 가장 작은 픽쳐가 선택되는, 비동기 픽쳐의 모션 벡터를 복원하는 방법.
  18. 제14항에 있어서, 상기 기초 픽쳐가 양방향 모션 벡터를 갖는 경우에 상기 예측 모션 벡터는,
    상기 비동기 픽쳐의 시간적 위치가 상기 기초 픽쳐의 시간적 위치보다 앞서는 경우에는 상기 양방향 모션 벡터 중 순방향 모션 벡터로부터 생성되고, 상기 비동기 픽쳐의 시간적 위치가 상기 기초 픽쳐의 시간적 위치보다 뒤지는 경우에는 상기 양방향 모션 벡터 중 역방향 모션 벡터로부터 생성되는, 비동기 픽쳐의 모션 벡터를 복원하는 방법.
  19. 제14항에 있어서, 상기 (b) 단계는
    상기 기초 픽쳐의 모션 벡터에 참조 거리 계수(d)을 곱함으로써 이루어지는, 비동기 픽쳐의 모션 벡터를 복원하는 방법.
  20. 제14항에 있어서, 상기 (b) 단계는
    상기 기초 픽쳐의 모션 벡터에 참조 거리 계수(d)을 곱하여 상기 비동기 픽쳐의 순방향 모션 벡터에 대한 예측 모션 벡터를 생성하는 단계; 및
    상기 기초 픽쳐의 모션 벡터가 순방향 모션 벡터인 경우에는 상기 비동기 픽쳐의 순방향 모션 벡터에서 상기 기초 픽쳐의 모션 벡터를 차분하고, 상기 기초 픽쳐의 모션 벡터가 역방향 모션 벡터인 경우에는 상기 비동기 픽쳐의 순방향 모션 벡터와 상기 기초 픽쳐의 모션 벡터를 가산함으로써 상기 비동기 픽쳐의 역방향 모션 벡터에 대한 예측 모션 벡터를 생성하는 단계를 포함하는, 비동기 픽쳐의 모션 벡터를 복원하는 방법.
  21. 제14항에 있어서, 현재 계층과 하위 계층 간에 해상도가 상이한 경우에 상기 (b) 단계는
    상기 기초 픽쳐의 모션 벡터에 참조 거리 계수(d) 및 해상도 배율(r)을 곱하여 상기 비동기 픽쳐의 순방향 모션 벡터에 대한 예측 모션 벡터를 생성하는 단계; 및
    상기 기초 픽쳐의 모션 벡터가 순방향 모션 벡터인 경우에는 상기 비동기 픽쳐의 순방향 모션 벡터에서 상기 기초 픽쳐의 모션 벡터와 상기 해상도 배수(r)을 곱한 값을 차분하고, 상기 기초 픽쳐의 모션 벡터가 역방향 모션 벡터인 경우에는 상기 비동기 픽쳐의 순방향 모션 벡터에 상기 기초 픽쳐의 모션 벡터와 상기 해상도 배수(r)을 곱한 값을 가산함으로써 상기 비동기 픽쳐의 역방향 모션 벡터에 대한 예 측 모션 벡터를 생성하는 단계를 포함하는, 비동기 픽쳐의 모션 벡터를 복원하는 방법.
  22. 현재 계층과 상기 현재 계층의 하위 계층을 적어도 포함하는 다 계층 기반의 비디오 인코더에서 상기 현재 계층에 속하는 비동기 픽쳐의 모션 벡터를 압축하는 장치로서,
    상기 비동기 픽쳐에 대한 기초 픽쳐를 선택하는 수단;
    상기 기초 픽쳐의 모션 벡터들 중에서, 상기 비동기 픽쳐와 상기 기초 픽쳐간의 시간적 간격 차이만큼 보정된 위치에서의 모션 벡터를 이용하여 현재 계층의 예측 모션 벡터를 생성하는 수단; 및
    상기 예측 모션 벡터를 이용하여 상기 비동기 픽쳐의 모션 벡터를 압축하는 수단을 포함하는, 비동기 픽쳐의 모션 벡터를 압축하는 장치.
  23. 현재 계층과 상기 현재 계층의 하위 계층을 적어도 포함하는 다 계층 기반의 비디오 디코더에서 상기 현재 계층에 속하는 비동기 픽쳐의 압축된 모션 벡터를 복원하는 장치로서,
    상기 비동기 픽쳐에 대한 기초 픽쳐를 선택하는 수단;
    상기 기초 픽쳐의 모션 벡터들 중에서, 상기 비동기 픽쳐와 상기 기초 픽쳐간의 시간적 간격 차이만큼 보정된 위치에서의 모션 벡터를 이용하여 현재 계층의 예측 모션 벡터를 생성하는 수단; 및
    상기 예측 모션 벡터를 이용하여, 상기 비동기 픽쳐에 관한 압축된 모션 벡터 데이터로부터, 상기 비동기 픽쳐의 모션 벡터를 복원하는 수단을 포함하는, 비동기 픽쳐의 압축된 모션 벡터를 복원하는 장치.
KR1020050044594A 2005-04-01 2005-05-26 비동기 픽쳐의 모션 벡터를 압축/복원하는 방법 및 그방법을 이용한 장치 KR100763179B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2006/001171 WO2006104357A1 (en) 2005-04-01 2006-03-30 Method for compressing/decompressing motion vectors of unsynchronized picture and apparatus using the same
US11/393,755 US8085847B2 (en) 2005-04-01 2006-03-31 Method for compressing/decompressing motion vectors of unsynchronized picture and apparatus using the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US66709205P 2005-04-01 2005-04-01
US60/667,092 2005-04-01

Publications (2)

Publication Number Publication Date
KR20060105394A KR20060105394A (ko) 2006-10-11
KR100763179B1 true KR100763179B1 (ko) 2007-10-04

Family

ID=37635188

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050044594A KR100763179B1 (ko) 2005-04-01 2005-05-26 비동기 픽쳐의 모션 벡터를 압축/복원하는 방법 및 그방법을 이용한 장치

Country Status (2)

Country Link
US (1) US8085847B2 (ko)
KR (1) KR100763179B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130116217A (ko) * 2012-04-15 2013-10-23 삼성전자주식회사 다계층 비디오 부호화 방법 및 장치, 다계층 비디오 복호화 방법 및 장치

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703740B1 (ko) * 2004-10-21 2007-04-05 삼성전자주식회사 다 계층 기반의 모션 벡터를 효율적으로 부호화하는 방법및 장치
US8345762B2 (en) 2005-02-18 2013-01-01 Thomson Licensing Method for deriving coding information for high resolution pictures from low resolution pictures and coding and decoding devices implementing said method
JP2007081720A (ja) * 2005-09-13 2007-03-29 Sanyo Electric Co Ltd 符号化方法
CN101356820B (zh) * 2006-01-05 2011-01-26 汤姆森许可贸易公司 层间运动预测方法
KR100763917B1 (ko) * 2006-06-21 2007-10-05 삼성전자주식회사 고속으로 움직임을 추정하는 방법 및 장치
EP1879399A1 (en) * 2006-07-12 2008-01-16 THOMSON Licensing Method for deriving motion data for high resolution pictures from motion data of low resolution pictures and coding and decoding devices implementing said method
EP2077038B1 (en) * 2006-10-18 2013-01-30 Apple Inc. Scalable video coding with filtering of lower layers
JP4826546B2 (ja) * 2007-06-18 2011-11-30 ソニー株式会社 画像処理装置、画像処理方法、及びプログラム
KR20120030813A (ko) * 2010-09-20 2012-03-29 삼성전자주식회사 영상 데이터 처리 방법 및 이를 수행하는 표시 장치
US9307262B2 (en) * 2011-01-13 2016-04-05 Texas Instruments Incorporated Methods and systems for facilitating multimedia data encoding utilizing configured buffer information
WO2012114712A1 (ja) * 2011-02-25 2012-08-30 パナソニック株式会社 画像符号化方法および画像復号化方法
WO2013049412A2 (en) 2011-09-29 2013-04-04 Dolby Laboratories Licensing Corporation Reduced complexity motion compensated temporal processing
US8768079B2 (en) 2011-10-13 2014-07-01 Sharp Laboratories Of America, Inc. Tracking a reference picture on an electronic device
US8908767B1 (en) * 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
WO2014002375A1 (ja) * 2012-06-26 2014-01-03 三菱電機株式会社 動画像符号化・復号装置及び方法
US9906786B2 (en) * 2012-09-07 2018-02-27 Qualcomm Incorporated Weighted prediction mode for scalable video coding
GB2512829B (en) * 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
WO2014175658A1 (ko) * 2013-04-24 2014-10-30 인텔렉추얼 디스커버리 주식회사 비디오 부호화 및 복호화 방법, 그를 이용한 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060059773A (ko) * 2004-11-29 2006-06-02 엘지전자 주식회사 베이스 레이어 픽처의 벡터를 이용하는 영상신호의엔코딩/디코딩 방법 및 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE469866B (sv) * 1991-04-12 1993-09-27 Dv Sweden Ab Metod för estimering av rörelseinnehåll i videosignaler
US5929916A (en) * 1995-12-26 1999-07-27 Legall; Didier J. Variable bit rate encoding
US6148026A (en) * 1997-01-08 2000-11-14 At&T Corp. Mesh node coding to enable object based functionalities within a motion compensated transform video coder
DE69934605T2 (de) * 1999-11-29 2007-10-11 Sony Corp. Verfahren und Vorrichtung zur Bearbeitung von Videosignalen durch Charakteristischen Punkten Extraktion im komprimierten Bereich.
US6510177B1 (en) 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement
US6999432B2 (en) * 2000-07-13 2006-02-14 Microsoft Corporation Channel and quality of service adaptation for multimedia over wireless networks
EP1461955A2 (en) * 2001-12-28 2004-09-29 Koninklijke Philips Electronics N.V. Video encoding method
JP2006510307A (ja) 2002-12-17 2006-03-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 低コスト複数記述ビデオ・ストリームをゲートウェイで符号化する方法
US7194035B2 (en) 2003-01-08 2007-03-20 Apple Computer, Inc. Method and apparatus for improved coding mode selection
FR2852179A1 (fr) 2003-03-06 2004-09-10 Thomson Licensing Sa Procede de codage d'une image video
JP4419062B2 (ja) * 2004-03-29 2010-02-24 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060059773A (ko) * 2004-11-29 2006-06-02 엘지전자 주식회사 베이스 레이어 픽처의 벡터를 이용하는 영상신호의엔코딩/디코딩 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130116217A (ko) * 2012-04-15 2013-10-23 삼성전자주식회사 다계층 비디오 부호화 방법 및 장치, 다계층 비디오 복호화 방법 및 장치
KR102094503B1 (ko) 2012-04-15 2020-03-30 삼성전자주식회사 다계층 비디오 부호화 방법 및 장치, 다계층 비디오 복호화 방법 및 장치

Also Published As

Publication number Publication date
US8085847B2 (en) 2011-12-27
KR20060105394A (ko) 2006-10-11
US20060221418A1 (en) 2006-10-05

Similar Documents

Publication Publication Date Title
KR100763179B1 (ko) 비동기 픽쳐의 모션 벡터를 압축/복원하는 방법 및 그방법을 이용한 장치
KR100703760B1 (ko) 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치
KR100714696B1 (ko) 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
KR100763182B1 (ko) 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
KR100703788B1 (ko) 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
KR100791299B1 (ko) 다 계층 기반의 비디오 인코딩 방법 및 장치
US8249159B2 (en) Scalable video coding with grid motion estimation and compensation
US20060104354A1 (en) Multi-layered intra-prediction method and video coding method and apparatus using the same
KR20060135992A (ko) 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
KR100703745B1 (ko) 비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치
KR100703746B1 (ko) 비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치
KR20060110714A (ko) 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
US20060250520A1 (en) Video coding method and apparatus for reducing mismatch between encoder and decoder
WO2006078115A1 (en) Video coding method and apparatus for efficiently predicting unsynchronized frame
KR100818921B1 (ko) 모션 벡터 압축 방법, 상기 압축 방법을 이용하는 비디오인코더 및 비디오 디코더
WO2006118384A1 (en) Method and apparatus for encoding/decoding multi-layer video using weighted prediction
US20060088100A1 (en) Video coding method and apparatus supporting temporal scalability
WO2006132509A1 (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
WO2006104357A1 (en) Method for compressing/decompressing motion vectors of unsynchronized picture and apparatus using the same
KR20050074151A (ko) 스케일러블 비디오 코딩에서 모션 벡터를 선정하는 방법및 그 방법을 이용한 비디오 압축 장치
WO2006098586A1 (en) Video encoding/decoding method and apparatus using motion prediction between temporal levels
WO2006109989A1 (en) Video coding method and apparatus for reducing mismatch between encoder and decoder
WO2006043754A1 (en) Video coding method and apparatus supporting temporal scalability

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20120830

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140828

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee