KR20060085147A - 비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치 - Google Patents

비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치 Download PDF

Info

Publication number
KR20060085147A
KR20060085147A KR1020050020812A KR20050020812A KR20060085147A KR 20060085147 A KR20060085147 A KR 20060085147A KR 1020050020812 A KR1020050020812 A KR 1020050020812A KR 20050020812 A KR20050020812 A KR 20050020812A KR 20060085147 A KR20060085147 A KR 20060085147A
Authority
KR
South Korea
Prior art keywords
frame
lower layer
residual
base layer
motion vector
Prior art date
Application number
KR1020050020812A
Other languages
English (en)
Other versions
KR100703746B1 (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/000207 priority Critical patent/WO2006078125A1/en
Priority to US11/336,825 priority patent/US20060165301A1/en
Publication of KR20060085147A publication Critical patent/KR20060085147A/ko
Application granted granted Critical
Publication of KR100703746B1 publication Critical patent/KR100703746B1/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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/187Methods 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 a scalable video layer
    • 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
    • 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

Landscapes

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

Abstract

본 발명은 비디오 압축 방법에 관한 것으로, 보다 상세하게는 다 계층 구조를 갖는 비디오 프레임에서, 하위 계층의 대응 프레임이 존재하지 않는 프레임을 효율적으로 예측하는 방법 및 그 방법을 이용한 비디오 코딩 장치에 관한 것이다.
본 발명에 따른 비디오 인코딩 방법은, 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임 중 제1 프레임을 참조 프레임으로 하여 모션 추정을 수행하는 단계와, 상기 참조 프레임과 상기 하위 계층 프레임들 중 제2 프레임간의 잔차 프레임을 구하는 단계와, 상기 모션 추정 결과 구해지는 모션 벡터, 상기 참조 프레임, 및 상기 잔차 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 단계와, 상기 비동기 프레임에서 상기 생성된 가상 기초 계층 프레임을 차분하는 단계와, 상기 차분을 부호화하는 단계를 포함한다.
모션 추정, 모션 벡터, 기초 계층, 향상 계층, 스케일러빌리티

Description

비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및 장치{Video coding method and apparatus for predicting effectively unsynchronized frame}
도 1은 다 계층 구조를 이용한 스케일러블 비디오 코덱의 한 예를 보여주는 도면.
도 2는 기존의 3가지 예측 방법을 설명하는 개략도.
도 3은 본 발명에 따른 VBP의 기본 개념을 설명하는 개략도.
도 4는 기초 계층의 순방향 인터 예측을 이용하여 VBP를 구현하는 예를 나타내는 도면.
도 5는 기초 계층의 역방향 인터 예측을 이용하여 VBP를 구현하는 예를 나타내는 도면.
도 6은 본 발명에서 모션의 변화를 반영하여 임시 프레임을 생성하는 기본 개념을 설명하는 도면.
도 7a 내지 도 7e는 제1 실시예에 따라 임시 프레임을 생성하는 과정을 보여주는 도면.
도 8a 및 도 8b는 제2 실시예에 따라 상기 임시 프레임으로부터 가상 기초 계층 프레임을 생성하는 과정을 보여주는 도면.
도 9는 프레임간 대응되는 영역간 텍스쳐 변화를 보여주는 도면.
도 10은 제1 실시예에 따라 임시 프레임에 텍스쳐 변화를 반영하는 개념을 설명하는 도면.
도 11은 제2 실시예에 따라 임시 프레임에 텍스쳐 변화를 반영하는 개념을 설명하는 도면.
도 12는 본 발명의 일 실시예에 따른 비디오 인코더의 구성을 나타내는 블록도.
도 13은 본 발명의 일 실시예에 따른 비디오 디코더의 구성을 나타내는 블록도.
도 14는 도 12의 비디오 인코더 및 도 13의 비디오 디코더가 동작하는 시스템 환경을 나타내는 구성도.
도 15는 본 발명의 일 실시예에 따른 비디오 인코딩 과정을 나타내는 흐름도.
도 16은 본 발명의 일 실시예에 따른 비디오 디코딩 과정을 나타내는 흐름도.
<도면의 주요부분에 대한 부호 설명>
100 : 기초 계층 인코더 110 : 다운 샘플러
120, 220 : 변환부 130, 230 : 양자화부
140, 240 : 엔트로피 부호화부 150 : 모션 추정부
160 : 모션 보상부 180 : 프레임 버퍼
190 : 가상 프레임 생성부 195 : 업샘플러
200 : 향상 계층 인코더 210 : 차분기
300 : 비디오 인코더 400 : 기초 계층 디코더
410, 510 : 엔트로피 복호화부 420, 520 : 역 양자화부
430, 530 : 역 변환부 450 : 프레임 버퍼
460 : 모션 보상부 470 : 가상 프레임 생성부
480 : 업샘플러 500 : 향상 계층 디코더
515 : 가산기
본 발명은 비디오 압축 방법에 관한 것으로, 보다 상세하게는 다 계층 구조를 갖는 비디오 프레임에서, 하위 계층의 대응 프레임이 존재하지 않는 프레임을 효율적으로 예측하는 방법 및 그 방법을 이용한 비디오 코딩 장치에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 제거함으로써 데이터를 압축할 수 있다. 일반적인 비디오 코딩 방법에 있어서, 시간적 중복은 모션 보상에 근거한 시간적 필터링(temporal filtering)에 의해 제거하고, 공간적 중복은 공간적 변환(spatial transform)에 의해 제거한다.
데이터의 중복을 제거한 후 생성되는 멀티미디어를 전송하기 위해서는, 전송매체가 필요한데 그 성능은 전송매체 별로 차이가 있다. 현재 사용되는 전송매체는 초당 수십 메가비트의 데이터를 전송할 수 있는 초고속통신망부터 초당 384 kbit의 전송속도를 갖는 이동통신망 등과 같이 다양한 전송속도를 갖는다. 이와 같은 환경에서, 다양한 속도의 전송매체를 지원하기 위하여 또는 전송환경에 따라 이에 적합한 전송률로 멀티미디어를 전송할 수 있도록 하는, 즉 스케일러블 비디오 코딩(scalable video coding) 방법이 멀티미디어 환경에 보다 적합하다 할 수 있다.
이러한 스케일러블 비디오 코딩이란, 이미 압축된 비트스트림(bit-stream)에 대하여 전송 비트율, 전송 에러율, 시스템 자원 등의 주변 조건에 따라 상기 비트스트림의 일부를 잘라내어 비디오의 해상도, 프레임율, 및 비트율(bit-rate) 등을 조절할 수 있게 해주는 부호화 방식을 의미한다. 이러한 스케일러블 비디오 코딩에 관하여, 이미 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)을 갖도록 구성할 수 있다.
도 1은 다 계층 구조를 이용한 스케일러블 비디오 코덱의 한 예를 보여주고 있다. 먼저 기초 계층을 QCIF(Quarter Common Intermediate Format), 15Hz(프레임 레이트)로 정의하고, 제1 향상 계층을 CIF(Common Intermediate Format), 30hz로, 제2 향상 계층을 SD(Standard Definition), 60hz로 정의한다. 만약 CIF 0.5Mbps 스트림(stream)을 원한다면, 제1 향상 계층의 CIF_30Hz_0.7M에서 비트율(bit-rate)이 0.5M로 되도록 비트스트림을 잘라서 보내면 된다. 이러한 방식으로 공간적, 시간적, SNR 스케일러빌리티를 구현할 수 있다.
도 1에서 보는 바와 같이, 동일한 시간적 위치를 갖는 각 계층에서의 프레임(예: 10, 20, 및 30)은 그 이미지가 유사할 것으로 추정할 수 있다. 따라서, 하위 계층의 텍스쳐로부터(직접 또는 업샘플링 후) 현재 계층의 텍스쳐를 예측하고, 예측된 값과 실제 현재 계층의 텍스쳐와의 차이를 인코딩하는 방법이 알려져 있다. "Scalable Video Model 3.0 of ISO/IEC 21000-13 Scalable Video Coding"(이하 "SVM 3.0"이라 함)에서는 이러한 방법을 인트라 BL 예측(Intra_BL prediction)이라고 정의하고 있다.
이와 같이, SVM 3.0에서는, 기존의 H.264에서 현재 프레임을 구성하는 블록 내지 매크로블록에 대한 예측을 위하여 사용된 인터 예측(inter prediction) 및 방향적 인트라 예측(directional intra prediction)이외에도, 현재 블록과 이에 대응되는 하위 계층 블록 간의 연관성(correlation)을 이용하여 현재 블록을 예측하는 방법을 추가적으로 채택하고 있다. 이러한 예측 방법을 "인트라 BL(Intra_BL) 예측"이라고 하고 이러한 예측을 사용하여 부호화하는 모드를 "인트라 BL 모드"라고 한다.
도 2는 상기 3가지 예측 방법을 설명하는 개략도로서, 현재 프레임(11)의 어떤 매크로블록(14)에 대하여 인트라 예측을 하는 경우(①)와, 현재 프레임(11)과 다른 시간적 위치에 있는 프레임(12)을 이용하여 인터 예측을 하는 경우(②)와, 상기 매크로블록(14)과 대응되는 기초 계층 프레임(13)의 영역(16)에 대한 텍스쳐 데이터를 이용하여 인트라 BL 예측을 하는 경우(③)를 각각 나타내고 있다.
이와 같이, 상기 스케일러블 비디오 코딩 표준에서는 매크로블록 단위로 상기 세가지 예측 방법 중 유리한 하나의 방법을 선택하여 이용한다.
그러나, 도 1과 같이 계층간 프레임율이 상이한 경우에는, 하위 계층 프레임이 존재하지 않는 프레임(40)도 존재할 수 있고, 이와 같은 프레임(40)에 대하여는 인트라 BL 예측을 이용할 수가 없게 된다. 따라서, 이 경우에는 상기 프레임(40)은 하위 계층의 정보를 이용하지 않고 해당 계층의 정보만을 이용하여(즉, 인터 예측 및 인트라 예측만을 이용하여) 부호화되는 만큼, 부호화 성능 면에서 다소 비효율적이라고 할 수 있다.
본 발명은 상기한 문제점을 고려하여 창안된 것으로, 비동기 프레임에 대하여 인트라 BL 예측을 수행할 수 있는 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 상기 방법을 통하여 다 계층 기반의 비디오 코덱의 성능을 향상시키는 것을 또 다른 목적으로 한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 다 계층 기반의 비디오 인코딩 방법은, (a) 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임 중 제1 프레임을 참조 프레임으로 하여 모션 추정을 수행하는 단계; (b) 상기 참조 프레임과 상기 하위 계층 프레임들 중 제2 프레임간의 잔차 프레임을 구하는 단계; (c) 상기 모션 추정 결과 구해지는 모션 벡터, 상기 참조 프레임, 및 상기 잔차 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 단계; (d) 상기 비동기 프레임에서 상기 생성된 가상 기초 계층 프레임을 차분하는 단계; 및 (e) 상기 차분을 부호화하는 단계를 포함을 포함한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 다 계층 기반의 비디오 디코딩 방법은, (a) 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임에 관한 하위 계층 비트스트림으로부터, 참조 프레임을 복원하는 단계; (b) 상기 하위 계층 비트스트림으로부터 상기 2개의 하위 계층 프레임 간의 제1 잔차 프레임을 복원하는 단계; (c) 상기 하위 계층 비트스트림에 포함되는 모션 벡터, 상기 복원된 참조 프레임, 및 상기 제1 잔차 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 단계; (d) 현재 계층 비트스트림으로부터 상기 비동기 프레임의 텍스쳐 데이터를 추출하고 상기 텍스쳐 데이터로부터 상기 비동기 프레임에 대한 제2 잔차 프레임을 복원하는 단계; 및 (e) 상기 제2 잔차 프레임과 상기 가상 기초 계층 프레임을 가산하는 단계를 포함을 포함한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 다 계층 기반의 비디오 인코더는, 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임 중 제1 프레임을 참조 프레임으로 하여 모션 추정을 수행하는 수단; 상기 참조 프레임과 상기 하위 계층 프레임들 중 제2 프레임간의 잔차 프레임을 구하는 수단; 상기 모션 추정 결과 구해지는 모션 벡터, 상기 참조 프레임, 및 상기 잔차 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 수단; 상기 비동기 프레임에서 상기 생성된 가상 기초 계층 프레임을 차분하는 수단; 및 상기 차분을 부호화하는 수단을 포함한다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 다 계층 기반의 비디오 디코더는, 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임에 관한 하위 계층 비트스트림으로부터, 참조 프레임을 복원하는 수단; 상기 하위 계층 비트스트림으로부터 상기 2개의 하위 계층 프레임 간의 제1 잔차 프레임을 복원하는 수단; 상기 하위 계층 비트스트림에 포함되는 모션 벡터, 상기 복원된 참조 프레임, 및 상기 제1 잔차 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 수단; 현재 계 층 비트스트림으로부터 상기 비동기 프레임의 텍스쳐 데이터를 추출하고 상기 텍스쳐 데이터로부터 상기 비동기 프레임에 대한 제2 잔차 프레임을 복원하는 수단; 및 상기 제2 잔차 프레임과 상기 가상 기초 계층 프레임을 가산하는 수단을 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
도 3은 본 발명에 따른 VBP의 기본 개념을 설명하는 개략도이다. 여기서, 현재 계층(Ln)은 CIF 해상도에 30Hz의 프레임율을 가지며, 하위 계층(Ln-1)은 QCIF 해상도에 15Hz의 프레임율을 갖는다고 한다. 본 명세서에서, 대응되는 기초 계층 프레임이 존재하지 않는 현재 계층의 프레임을 "비동기 프레임(unsynchronized frame)"이라고 하고, 대응되는 기초 계층 프레임이 존재하는 현재 계층 프레임을 "동기 프레임(synchronized frame)"이라고 정의한다. 비동기 프레임의 경우 대응되는 기초 계층 프레임이 존재하지 않으므로, 본 발명에서는 가상 기초 계층 프레임을 생성하고 이를 인트라 BL 예측에 사용하는 방법을 제안한다.
도 3과 같이, 현재 계층과 하위 계층의 프레임율이 서로 다르다고 할 때, 비동기 프레임(A1)에 대응되는 하위 계층 프레임은 존재하지 않으므로, 상기 비동기 프레임(A1)에 가장 가까운 두 개의 하위 계층 프레임(B0, B2)을 이용하여 가상 기초 계층 프레임(B1)을 보간(interpolation)할 수 있다. 그리고 상기 보간된 가상 기초 계층 프레임(B1)을 이용하여 비동기 프레임(A1)을 효율적으로 예측할 수 있다. 본 명세서에서는, 이와 같이 가상 기초 계층 프레임을 이용하여 비동기 프레임을 예측하는 방법을 가상 기초 계층 예측(virtual base-layer prediction; 이하 "VBP"라 함)이라고 정의한다.
이와 같이, 본 발명에 따른 VBP의 개념은 서로 프레임율이 다른 두 계층 간에 적용될 수 있다. 따라서, 현재 계층 및 하위 계층이 비계층적 인터 예측 방법(MPEG 계열 코덱의 I-B-P 코딩 방식)을 사용하는 경우뿐만 아니라, MCTF와 같은 계층적 인터 예측 방법을 사용하는 경우에도 적용할 수 있다. 따라서, 현재 계층에서 MCTF를 이용하는 경우 하위 계층의 프레임율 보다 큰 프레임율을 갖는 MCTF의 시간적 레벨에 대하여 상기 VBP의 개념을 적용할 수도 있을 것이다.
도 4 및 도 5는 본 발명의 VBP를 구현하는 방법의 예들을 보여주는 도면이다. 각각의 예에서, 하위 계층에서 상기 비동기 프레임(A1)에 가장 가까운 2개의 프레임(B0, B2) 중 하나의 프레임을 참조 프레임으로 하여 생성되는 모션 벡터(motion vector) 및 잔차 이미지(residual image)와, 상기 참조 프레임을 이용하여 가상 기 초 계층 프레임(B1)을 생성한다.
이 중에서 도 4는 하위 계층의 순방향 인터 예측을 이용하여 VBP를 구현하는 예를 나타낸다. 도 4에서 보면, 기초 계층의 프레임(B2)은 그 이전 프레임(B1)을 참조 프레임으로 하여 순방향 인터 예측(forward inter prediction) 된다. 즉, 상기 이전 프레임(B0)을 참조 프레임(reference frame; Fr)으로 하여 순방향 모션 벡터(mvf)를 구한 후, 상기 구한 모션 벡터를 이용하여 상기 참조 프레임을 모션 보상(motion compensation)하고, 상기 모션 보상된 참조 프레임을 이용하여 상기 프레임(B2)을 인터 예측하는 것이다.
이러한 도 4의 실시예에서는, 상기 기초 계층에서 인터 예측을 위하여 이용되는 순방향 모션 벡터(mvf)와, 참조 프레임(Fr)으로 사용되는 프레임(B0), 및 B2에서 B0를 차분하여 생성되는 잔차 이미지(R)을 이용하여 가상 기초 계층 프레임(B1)을 생성하게 된다.
한편, 도 5는 기초 계층의 역방향 인터 예측을 이용하여 VBP를 구현하는 예를 나타낸다. 도 5에서 보면, 기초 계층의 프레임(B0)은 그 이후 프레임(B2)을 참조 프레임으로 하여 역방향 인터 예측(backward inter prediction) 된다. 즉, 상기 이후 프레임(B2)을 참조 프레임(Fr)으로 하여 역방향 모션 벡터(mvb)를 구한 후, 상기 구한 모션 벡터를 이용하여 상기 참조 프레임을 모션 보상(motion compensation)하 고, 상기 모션 보상된 참조 프레임을 이용하여 상기 프레임(B0)을 인터 예측하는 것이다.
이러한 도 5의 실시예에서는, 상기 기초 계층에서 인터 예측을 위하여 이용되는 역방향 모션 벡터(mvb)와 참조 프레임(Fr)으로 사용되는 프레임(B2), 및 B0에서 B2를 차분하여 생성되는 잔차 이미지(R)을 이용하여 가상 기초 계층 프레임(B1)을 생성하게 된다.
본 명세서에서, 의미를 명확하게 하기 위하여 부연하자면, 시간적으로 이전 프레임을 참조하는 인터 예측 방법을 순방향 예측(forward prediction)이라고 명명하고, 시간적으로 이후 프레임을 참조하는 인터 예측 방법을 역방향 예측(backward prediction)이라고 명명하기로 한다.
이하 본 발명에 따른 가상 기초 계층 프레임을 생성하는 방법은 크게 두 가지 과정으로 이루어진다. 상기 방법은, 첫째, 모션의 변화만을 반영하여 임시 프레임을 생성하는 과정과, 둘째, 상기 임시 프레임에 텍스쳐의 변화를 반영하여 가상 기초 계층 프레임을 생성하는 과정으로 이루어진다.
모션의 변화를 반영
본 발명에서 모션의 변화를 반영하여 임시 프레임을 생성하는 기본 개념은 도 6에 도시한 바와 같이 설명될 수 있다. 만약, 시간적으로 인접한 프레임(F1)과 프레임 (F3)이 있다고 하고, 상기 프레임들(F1, F3) 내에서 어떤 물체(A)가 시간에 따라서 아래에서 위로 이동하였다고 한다면, 상기 프레임들(F1, F3) 가운데에 위치하는 가상의 프레임(F2)에서 상기 물체(A)의 위치는 상기 프레임들(F1, F3) 내에서 상기 물체(A)가 이동하는 경로(u)의 가운데(0.5u)에 위치하는 것으로 예상할 수 있다. 이와 같이, 본 발명에서 기초 계층의 2개의 프레임 사이에서 모션의 변화를 반영하여 가상적으로 생성되는 임시 프레임은 이와 같은 개념을 기반으로 한다. 이하 도 7a 내지 도 8b는 상기 임시 프레임을 구하는 방법을 설명하는 도면들이다.
도 7a 및 도 7e는 본 발명의 제1 실시예에 따른 임시 프레임을 생성하는 개념을 설명하기 위한 도면이다. 먼저, 비동기 프레임에 가장 가까운 2개의 기초 계층 프레임 중에서 인터 예측을 수행하고자 하는 하나의 프레임(50; 이하 "인터 프레임"이라고 정의함)이 도 7a와 같이 복수의 파티션(partition)으로 이루어진다고 하자. 상기 프레임(50)은 순방향 예측의 경우에는 도 4의 B2가 될 것이고, 역방향 예측의 경우에는 도 5의 B0가 될 것이다. 본 명세서에서 "파티션"은 모션 추정, 즉 모션 벡터를 검색하는 단위 영역을 의미하는데, 상기 파티션은 도 7a와 같이 고정 크기(예를 들어, 4×4, 8×8, 16×16, 등)를 가질 수도 있고, H.264 등의 코덱에서와 같이 가변 크기를 가질 수도 있다.
기존의 H.264는 하나의 프레임을 구성하는 각 매크로블록(16×16 크기를 가짐)의 인터 예측을 위하여, 계층적 가변 크기 블록 정합(Hierarchical Variable Size Block Matching; HVSBM) 기술을 이용한다. 상기 매크로블록은 16×16 모드, 8×16 모드, 16×8 모드, 및 8×8 모드로 분할될 수 있으며, 8×8 크기의 서브 블록 들은 다시 4×8 모드, 8×4 모드, 및 4×4 모드로 더 분할될 수 있다(분할되지 않으면 8×8 모드를 그대로 사용한다). 이와 같은 계층적 가변 크기 블록 정합 기술을 이용하면 하나의 프레임은 위에서 설명한 여러 가지 조합의 파티션들로 이루어진 매크로블록들의 집합으로 구성되며, 상기 파티션들은 각각 하나의 모션 벡터를 갖게 된다.
이와 같이 본 발명에서의 "파티션"은 모션 벡터를 부여하는 영역의 단위를 의미하는 것이고, 그 크기 모양 등은 코덱의 종류에 따라서 달라질 수 있음을 확실히 밝혀 둔다. 다만, 설명의 편의상 이하에서는 인터 프레임(50)은 도 7a와 같이 고정 크기의 파티션을 갖는 것으로 하여 설명할 것이다. 그리고, 본 명세서에서 부재 번호 50은 하위 계층의 인터 프레임(예: 도 4의 B2, 도 5의 B0)을 나타내고, 부재 번호 60은 상기 인터 프레임을 인터 예측하기 위한 참조 프레임(예: 도 4의 B0, 도 5의 B2)을 나타내는 것으로 한다.
프레임(50)의 파티션(1)에 대한 모션 벡터(mv)가 도 7b와 같이 결정된다면 파티션(1)에 대응되는 참조 프레임(60) 상의 영역은 상기 파티션(1)의 위치에서 모션 벡터만큼 이동한 위치의 영역(1')이 된다. 따라서, 이와 같은 경우에 참조 프레임에 대한 모션 보상 프레임(70)은 도 7c와 같이, 참조 프레임(60) 상의 상기 영역(1')의 텍스쳐 데이터를 파티션(1)의 위치에 복사하는 방식으로 생성된다. 이와 같은 과정을 모든 파티션(2 내지 16)에 대하여 마찬가지로 수행하여 전체 영역을 채우면 모션 보상 프레임(70)이 완성된다.
본 발명의 제1 실시예에서는 이와 같은 모션 보상 프레임을 생성하는 원리에 착안하여, 임시 프레임(80)을 도 7d와 같은 방법으로 생성한다. 즉, 모션 벡터가 프레임 내의 어떤 물체가 움직이는 방향을 나타내므로, 참조 프레임(60)과 인터 프레임(50) 사이의 거리에 대한, 참조 프레임(60)과 가상 기초 계층 프레임(80)이 생성될 위치와의 거리의 비율(이하 "거리 비율"이라 함)(도 4 및 도 5의 경우는 0.5임)을 상기 모션 벡터에 곱한 값만큼만 모션 보상을 수행한다. 다시 말하면, 상기 영역(1')을 -r×mv만큼 이동한 위치에 복사하는 방식으로 임시 프레임(80)을 채워 간다. 여기서, r은 거리 비율을, mv는 모션 벡터를 의미한다. 이와 같은 과정을 모든 파티션(2 내지 16)에 대하여 마찬가지로 수행하여 전체 영역을 채우면 임시 프레임(80)은 완성된다.
이와 같이 제1 실시예는 모션 벡터가 프레임 내 어떤 물체의 움직임을 나타내며, 그 움직임은 프레임 간격과 같이 짧은 시간 단위에서는 대체적으로 연속적일 것이라는 기본 가정에 따른 것이다. 그런데, 제1 실시예의 방법에 따라서 생성되는 임시 프레임(80)은 예를 들어, 도 7e와 같이 연결되지 않은(unconnected) 픽셀 영역, 및 다중 연결된(multi-connected) 픽셀 영역을 포함할 수 있다. 도 7e에서 단일 연결된(single-connected) 픽셀 영역에는 하나의 텍스쳐 데이터만이 존재하므로 문제가 없으나, 이외의 픽셀 영역들에 대하여 어떻게 처리할 것인가가 문제된다.
일 예로서 다중 연결된 픽셀은 연결된 해당 위치의 복수의 텍스쳐 데이터를 평균한 값으로 대치할 수 있다. 그리고, 연결되지 않은 픽셀은 인터 프레임(50) 중 대응되는 픽셀 값으로 대치하거나, 참조 프레임(60) 중 대응되는 픽셀 값으로 대치 하거나, 또는 상기 프레임들(50, 60)에서 대응되는 픽셀 값을 평균한 값으로 대치할 수 있다.
단일 연결된 픽셀 영역에 비하여 연결되지 않은 픽셀 영역 또는 다중 연결된 픽셀 영역은 비동기 프레임에 대한 인트라 BL 예측에 사용될 경우 높은 성능을 기대하기 어렵지만, 어차피 이들 영역에 대해서는 예측 방법으로서 비용 면에서 상기 인트라 BL 예측 보다는 비동기 프레임에 대한 인터 예측이나 방향적 인트라 예측이 선택될 가능성이 크므로 성능의 저하는 발생되지 않을 것으로 예상할 수 있다. 그리고, 단일 연결된 픽셀 영역에서는 인트라 BL 예측이 충분히 높은 성능을 나타낼 수 있을 것이므로 전체적으로 하나의 프레임 단위로 판단한다면, 제1 실시예를 적용한 경우 성능의 향상을 기대할 수 있다.
한편, 도 8a 및 도 8b는 본 발명의 다른 실시예(제2 실시예)에 따른 가상 기초 계층 프레임을 생성하는 개념을 설명하기 위한 도면이다. 제2 실시예는 제1 실시예에서 생성되는 임시 프레임(80)에서 연결되지 않은 픽셀 영역, 및 다중 연결된 픽셀 영역이 발생하는 문제를 해소하기 위하여 고안된 방법으로서, 제2 실시예에서 임시 프레임(90)의 파티션 패턴은 인터 프레임(50)의 파티션 패턴을 그대로 이용한다.
제2 실시예도, 인터 프레임(50)은 도 7a와 마찬가지로 나타나고, 특정 파티션(1)에 대한 모션 벡터도 도 7b와 같이 나타난다고 하여 설명할 것이다. 제2 실시예에서는, 도 8a에서 도시하는 바와 같이, 상기 파티션(1)에 대응되는 참조 프레임(60) 상의 영역은 상기 파티션(1)의 위치에서 r×mv만큼 이동한 위치의 영역(1")이 된다. 따라서, 이 경우에 임시 프레임(90)은 도 8b와 같이, 참조 프레임(60) 상의 상기 영역(1")의 텍스쳐 데이터를 파티션(1)과 동일한 위치에 복사하는 방식으로 생성된다. 이와 같은 과정을 모든 파티션(2 내지 16)에 대하여 마찬가지로 수행하여 전체 영역을 채우면 임시 프레임(90)이 완성된다. 이렇게 생성되는 임시 프레임(90)은 인터 프레임(50)과 동일한 파티션 패턴을 갖기 때문에, 상기 프레임(90)에는 연결되지 않은 픽셀 영역이나 다중 연결된 픽셀 영역은 존재하지 않고 단일 연결된 픽셀 영역만이 존재한다.
이상의 제1 실시예와 제2 실시예는 각각 독립적으로 실행될 수 있지만, 이 두 실시예를 조합한 하나의 실시예를 고려할 수도 있다. 즉, 제1 실시예에서 임시 프레임(80)의 연결되지 않은 픽셀 영역을 상기 제2 실시예에서 구한 임시 프레임(90)에서 대응되는 영역으로 대치하는 것이다. 또는 제1 실시예에서 임시 프레임(80)의 연결되지 않은 픽셀 영역 및 다중 연결된 픽셀 영역을 상기 제2 실시예에서 구한 임시 프레임(90)에서 대응되는 영역으로 대치할 수도 있다.
텍스쳐의 변화를 반영
이상에서는 모션의 변화를 반영하여 임시 프레임(80, 90)을 생성하는 과정을 설명하였다. 그런데, 인접한 프레임 간에는 모션의 변화만 발생하는 것은 아니며 텍스쳐 자체의 변화도 발생되기 마련이다. 예를 들어, 도 9와 같이 인접한 프레임(F1, F3)에 대하여 모션 벡터가 0인 경우를 가정하면, 어떤 물체(B)는 프레임(F1) 및 프레임(F3) 상에서 동일한 위치에 놓여 있다고 볼 수 있다. 그럼에도 불구하고, 프레임(F1) 상에서 상기 물체(B)의 이미지(B1)와 프레임(F3) 상에서 상기 물체(B)의 이미지(B3)는 동일하지 않다. 예를 들어, 조명이 점점 어두워지거나 점점 밝아지는 경우에는, 시간적 위치가 달라짐에 따라서 동일 물체에 대한 텍스쳐도 상당히 달라질 수 있는 것이다.
따라서, 이 두 프레임(F1, F3)의 가운데 위치에서 보간되는 프레임(F3) 상에서 상기 물체(B)의 이미지(B2)에는, 상기 두 프레임 간에서의 텍스쳐 변화량(Δ)의 1/2만큼(0.5Δ)을 반영한다. 즉, B2는 B1+0.5Δ로 간단하게 표시될 수 있다.
이하 도 10 및 도 11은 상기 모션 변화 반영에 의하여 생성된 임시 프레임에 텍스쳐의 변화를 반영하여 가상 기초 계층 프레임을 생성하는 과정을 설명하는 도면이다. 이 중에서 도 10은 상기 제1 실시예에서 텍스쳐 변화를 반영하는 과정을 설명하는 도면이다.
도 7d에서 설명한 바와 같이, 인터 프레임(60)내의 어떤 파티션(1)과 대응되는 참조 프레임(50) 상의 파티션(1')은 임시 프레임(80)의 -r×mv 만큼 이동한 위치에 복사된다. 이 때, 상기 파티션(1)의 텍스쳐(T1)과 이에 대응되는 파티션(1')의 텍스쳐(T1')와의 차분에 거리 비율을 반영한 값, 다시 말해서 참조 프레임을 기준으로 할 때, r×(T1-T1')이 가상 기초 계층 프레임에서의 텍스쳐 변화량이 된다.
따라서, 가상 기초 계층 프레임을 구성하는 최종적인 파티션(1f)의 텍스쳐 (T1f)는 상기 임시 프레임(80) 상에 복사된 파티션(1')의 텍스쳐(T1')에 상기 r×(T1-T1')을 가산함으로써 구할 수 있다. 물론, 상기 파티션(1f)의 위치는 임시 프레임(80) 상에 복사되는 파티션(1')의 위치와 동일하므로, 상기 파티션(1f)는 임시 프레임(80) 상에 복사되는 파티션(1')을 T1' + r×(T1-T1')로 대체함으로써 생성된다고 볼 수도 있다. 만약, r=0.5라면 상기 가산 결과, 즉 T1f는 (T1+T1')/2가 될 것이다.
그런데, 비디오 인코더와 비디오 디코더 간에 대칭성을 유지하기 위하여, 폐루프 부호화 기법을 사용한다면, 원 프레임의 텍스쳐를 이용하는 것이 아니라 복원된 이미지의 텍스쳐를 이용하므로, 최종 파티션(1f)의 텍스쳐(T1f)는 다음 수학식 1과 같이 된다. 여기서, Rec(.)는 어떤 텍스쳐를 인코딩한 후 디코딩한 결과 복원된(reconstructed) 텍스쳐 이미지를 의미한다.
T1f = Rec(T1') + r×Rec(T1-Rec(T1'))
그런데, 수학식 1에서 T1-Rec(T1')는 인터 프레임(50) 상의 어떤 파티션에서, 모션 벡터에 의하여 대응되는 참조 프레임상의 복원된 텍스쳐를 차분한 결과인데, 이것은 프레임(60)을 인터 예측함으로써 생성되는 잔차 이미지를 나타낸다. 그리고, Rec(T1-Rec(T1'))는 상기 잔차 이미지를 복원한 결과 이미지를 나타낸다. 따라 서, 제1 실시예에서는 Rec(T1-Rec(T1'))를 계산하기 위한 별도의 프로세스를 수행할 필요가 없이 상기 인터 예측의 복원 결과를 그대로 이용할 수 있다.
한편, 상기와 같은 과정을 나머지 파티션(2 내지 16)에 대하여 모두 반복 수행하면, 임시 프레임(80)은 제1 실시예에 따른 가상 기초 계층 프레임(85)으로 대체될 수 있다. 즉, 기초 계층 프레임(85)이 생성된다는 것이다.
도 11은 상기 제2 실시예에서 텍스쳐 변화를 반영하는 과정을 설명하는 도면이다.
도 8b에서 설명한 바와 같이, 어떤 파티션(1)과 대응되는 참조 프레임(50) 상의 파티션(1")은 임시 프레임(90) 상에서 파티션(1)과 동일한 위치에 복사된다. 이 때, 상기 파티션(1)의 텍스쳐(T1)과 이에 대응되는 파티션(1")의 텍스쳐(T1")와의 차분에 거리 비율을 반영한 값, 즉 r×(T1-T1")이 참조 프레임을 기준으로 할 때, 가상 기초 계층 프레임에서의 텍스쳐 변화량이 된다.
따라서, 가상 기초 계층 프레임을 구성하는 최종적인 파티션(1f)의 텍스쳐(T1f)는 상기 임시 프레임(90) 상에 복사된 파티션(1")의 텍스쳐(T1")에 상기 r×(T1-T1")을 가산함으로써 구할 수 있다. 물론, 상기 파티션(1f)의 위치는 임시 프레임(80) 상에 복사되는 파티션(1")의 위치 그대로이므로, 상기 파티션(1f)는 임시 프레임(90) 상에 복사되는 파티션(1")을 T1" + r×(T1-T1")로 대체함으로써 생성된다고 볼 수도 있다.
그런데, 비디오 인코더와 비디오 디코더 간에 대칭성을 유지하기 위하여, 폐루프 부호화 기법을 사용한다면, 원 프레임의 텍스쳐를 이용하는 것이 아니라 복원된 이미지의 텍스쳐를 이용하므로, 최종 파티션(1f)의 텍스쳐(T1f)는 다음 수학식 2와 같이 된다.
T1f = Rec(T1") + r×Rec(T1-Rec(T1"))
그런데, 여기서 T1-Rec(T1")는 제1 실시예와는 달리 인터 예측에서 이용되는 잔차 이미지와는 상이하다. 즉, 인터 예측시에는 원래 파티션(1')의 위치로부터 모션 벡터만큼 떨어진 위치의 텍스쳐 T1'을 이용하지만 수학식 2에서는 r×mv 만큼 떨어진 위치의 텍스쳐 T1"을 이용하기 때문이다. 따라서, Rec(T1-Rec(T1"))를 계산하기 위한 별도의 프로세스가 요구된다.
한편, 이와 같은 과정을 나머지 파티션(2 내지 16)에 대하여 모두 반복 수행하면, 임시 프레임(90)은 제2 실시예에 따른 가상 기초 계층 프레임(95)으로 대체될 수 있다. 즉, 기초 계층 프레임(95)이 생성된다는 것이다.
이상에서는 개념상, 모션 정보를 반영하는 과정에서 임시 프레임을 생성하고, 텍스쳐 정보를 반영하는 과정에서 최종적으로 가상 기초 계층 프레임을 생성하는 것으로 설명하였다. 그러나, 실제로는 이러한 과정의 구분 없이, 수학식 1 또는 수학식 2와 같이 계산된 파티션의 텍스쳐(T1f)를 가상 기초 계층 프레임의 해당 위 치에 복사함으로써 가상 기초 계층을 생성할 수도 있을 것이다.
도 12는 본 발명의 일 실시예에 따른 비디오 인코더(300)의 구성을 도시한 블록도이다. 도 12 및 후술하는 도 13의 설명에서는 하나의 기초 계층과 하나의 향상 계층을 사용하는 경우를 예로 들겠지만, 더 많은 계층을 이용하더라도 하위 계층과 현재 계층 간에는 본 발명을 적용할 수 있음은 당업자라면 충분히 알 수 있을 것이다.
상기 비디오 인코더(300)는 크게 향상 계층 인코더(200)와 기초 계층 인코더(100)로 구분될 수 있다. 먼저, 기초 계층 인코더(100)의 구성을 살펴 본다.
다운 샘플러(110)는 입력된 비디오를 기초 계층에 맞는 해상도와 프레임율로 다운 샘플링한다. 해상도면에서의 다운 샘플링은 MPEG 다운 샘플러나 웨이블릿 다운샘플러를 이용할 수 있다. 그리고, 프레임율 면에서의 다운 샘플링은 프레임 스킵 또는 프레임 보간 등의 방법을 통하여 간단히 수행될 수 있다.
모션 추정부(150)는 기초 계층 프레임에 대해 모션 추정을 수행하여 기초 계층 프레임을 구성하는 파티션 별로 모션 벡터(mv)를 구한다. 이러한 모션 추정은 참조 프레임(Fr) 상에서, 현재 프레임(Fc)의 각 파티션과 가장 유사한, 즉 가장 에러가 작은 영역을 찾는 과정으로서, 고정 크기 블록 매칭 방법, 또는 계층적 가변 사이즈 블록 매칭 등 다양한 방법을 사용할 수 있다. 상기 참조 프레임(Fr)은 프레임 버퍼(180)에 의하여 제공될 수 있다. 다만, 도 12의 기초 계층 인코더(100)는 복원된 프레임을 참조 프레임으로 이용하는 방식, 즉 폐루프 부호화 방식을 채택하 고 있지만, 이에 한하지 않고 다운 샘플러(110)에 의하여 제공되는 원래 기초 계층 프레임을 참조 프레임으로 이용하는 개루프 부호화 방식을 채택할 수도 있다.
모션 보상부(160)는 상기 구한 모션 벡터를 이용하여 상기 참조 프레임을 모션 보상(motion compensation)한다. 그리고, 차분기(115)는 기초 계층의 현재 프레임(Fc)과 상기 모션 보상된 참조 프레임을 차분함으로써 잔차 프레임(residual frame)을 생성한다.
변환부(120)는 상기 생성된 잔차 프레임에 대하여, 공간적 변환(spatial transform)을 수행하여 변환 계수(transform coefficient)를 생성한다. 이러한 공간적 변환 방법으로는, DCT(Discrete Cosine Transform), 웨이블릿 변환(wavelet transform) 등의 방법이 주로 이용된다. DCT를 사용하는 경우 상기 변환 계수는 DCT 계수를 의미하고, 웨이블릿 변환을 사용하는 경우 상기 변환 계수는 웨이블릿 계수를 의미한다.
양자화부(130)는 변환부(120)에 의하여 생성되는 변환 계수를 양자화(quantization)한다. 양자화(quantization)란 임의의 실수 값으로 표현되는 상기 DCT 계수를 양자화 테이블에 따라 소정의 구간으로 나누어 불연속적인 값(discrete value)으로 나타내고, 이를 대응되는 인덱스로 매칭(matching)시키는 작업을 의미한다. 이와 같이 양자화된 결과 값을 양자화 계수(quantized coefficient)라고 한다.
엔트로피 부호화부(140)은 양자화부(140)에 의하여 생성된 양자화 계수, 모 션 추정부(150)에서 생성된 모션 벡터를 무손실 부호화하여 기초 계층 비트스트림을 생성한다. 이러한 무손실 부호화 방법으로는, 허프만 부호화(Huffman coding), 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding) 등의 다양한 무손실 부호화 방법을 사용할 수 있다.
한편, 역 양자화부(171)는 양자화부(130)에서 출력되는 양자화 계수를 역 양자화한다. 이러한 역 양자화 과정은 양자화 과정의 역에 해당되는 과정으로서, 양자화 과정에서 사용된 양자화 테이블을 이용하여 양자화 과정에서 생성된 인덱스로부터 그에 매칭되는 값을 복원하는 과정이다.
역 변환부(172)는 상기 역 양자화된 결과 값에 대하여 역 공간적 변환을 수행한다. 이러한 역 공간적 변환은 변환부(120)에서의 변환 과정의 역으로 진행되며, 구체적으로 역 DCT 변환, 역 웨이블릿 변환 등이 이용될 수 있다.
가산기(125)는 모션 보상부(160)의 출력 값과 역 변환부(172)의 출력 값을 가산하여 현재 프레임을 복원하고 이를 프레임 버퍼(180)에 제공한다. 프레임 버퍼(180)는 상기 복원된 프레임을 일시 저장하였다고 다른 기초 계층 프레임의 인터 예측을 위하여 참조 프레임으로서 제공한다.
한편, 가상 프레임 생성부(190)는 향상 계층의 비동기 프레임에 대한 인트라 BL 예측을 수행하기 위하여 가상 기초 계층 프레임을 생성한다. 즉, 가상 프레임 생성부(190)는 상기 비동기 프레임에 시간적으로 가장 가까운 2개의 기초 계층 프레임 간에 구한 모션 벡터(mv)와, 상기 2개의 프레임 중 참조 프레임(Fr), 및 상기 2개의 프레임 간의 잔차 프레임(R)을 이용하여, 가상 기초 계층 프레임을 생성한다.
이를 위하여, 가상 프레임 생성부(190)는 모션 추정부(150)로부터 모션 벡터(mv)를, 프레임 버퍼(180)로부터 참조 프레임(Fr)을, 그리고, 역 변환부(172)로부터 복원된 잔차 프레임(R)을 제공 받는다.
제1 실시예에 따라 도 10과 관계 지어 설명하면, 가상 프레임 생성부(190)는 참조 프레임(Fr)로부터 모션 벡터(mv)에 의하여 현재 프레임(60)의 어떤 파티션(1)에 대응되는 파티션(1')의 텍스쳐(T1')를 판독한다. 그리고, 상기 잔차 프레임(R)에서 상기 파티션(1) 위치의 텍스쳐(T1-T1')와 상기 텍스쳐(T1')를 가산한 다음, 상기 가산 결과를 가상 기초 계층 프레임 상에서 상기 파티션(1')의 위치로부터 -r×mv만큼 이동한 위치에 복사한다.
제2 실시예에 따라 도 11과 관계 지어 설명하면, 가상 프레임 생성부(190)는 참조 프레임(Fr) 상에서 상기 파티션(1)으로부터 r×mv 만큼 이동한 위치의 파티션(1")의 텍스쳐(T1")를 판독한다. 그런데, 제2 실시예에 따른 잔차 프레임은 도 12와 같이 기존의 잔차 프레임(R)과는 차이가 있으므로 별도의 프로세스를 거쳐서 생성하여야 한다. 그러나, 그 프로세스 자체는 도 12에 제시된 블록을 그대로 이용할 수 있다. 즉, 모션 보상부(160)에서 상기 모션 벡터(mv)를 기준으로 모션 보상을 수행하는 것이 아니라 상기 모션 벡터(mv)에 r를 곱한 새로운 모션 벡터(r×mv)를 기준으로 모션 보상을 수행하는 것이다. 이후의 과정은 도 12의 과정과 동일하므로 별도의 도면은 생략하기로 한다. 이와 같이 되면, 역 변환부(172)에서 복원되어 출력되는 잔차 프레임(R')을 이용하면 제2 실시예를 구현할 수 있다.
즉, 상기 잔차 프레임(R')에서 상기 파티션(1) 위치의 텍스쳐(T1-T1")와 상기 텍스쳐(T1')를 가산한 다음, 이 가산 결과를 가상 기초 계층 프레임 상에서 상기 파티션(1')의 위치에 복사한다.
이와 같이, 가상 프레임 생성부(190)에 의하여 생성된 가상 기초 계층 프레임은 선택적으로 업샘플러(195)를 거쳐서 향상 계층 인코더(200)에 제공된다. 따라서, 업샘플러(195)는 향상 계층의 해상도와 기초 계층의 해상도가 다른 경우에는 가상 기초 계층 프레임을 향상 계층의 해상도로 업샘플링한다. 물론, 기초 계층의 해상도와 향상 계층의 해상도가 동일하다면 상기 업샘플링 과정은 생략될 것이다.
다음으로, 향상 계층 인코더(200)의 구성을 살펴 본다.
입력 프레임이 비동기 프레임인 경우, 상기 입력 프레임, 및 기초 계층 인코더(100)에서 제공된 가상 기초 계층 프레임은 차분기(210)로 입력된다. 차분기(210)는 상기 입력 프레임에서 상기 입력된 가상 기초 계층 프레임을 차분하여 잔차 프레임을 생성한다. 상기 잔차 프레임은 변환부(220), 양자화부(230), 및 엔트로피 부호화부(240)를 거쳐서 향상 계층 비트스트림으로 변환되어 출력된다. 변환부(220), 양자화부(230), 및 엔트로피 부호화부(240)의 기능 및 동작은 각각 변환부(120), 양자화부(130), 및 엔트로피 부호화부(140)의 그것들과 마찬가지이므로 중복된 설명은 생략하기로 한다.
도 12에서 나타낸 향상 계층 인코더(200)는 입력 프레임 중에서 비동기 프레임을 인코딩하는 것을 중심으로 하여 설명하였다. 물론, 입력 프레임이 동기 프레임인 경우라면, 도 2에서 설명한 바와 같이 종래의 3가지 예측 방법을 선택적으로 이용하여 인코딩할 수 있음은 당업자라면 이해할 수 있을 것이다.
도 13은 본 발명의 일 실시예에 따른 비디오 디코더(600)의 구성을 도시한 블록도이다. 상기 비디오 디코더(600)는 크게 향상 계층 디코더(500)와 기초 계층 디코더(400)로 구분될 수 있다. 먼저, 기초 계층 디코더(400)의 구성을 살펴 본다.
엔트로피 복호화부(410)는 기초 계층 비트스트림을 무손실 복호화하여, 기초 계층 프레임의 텍스쳐 데이터와, 모션 데이터(모션 벡터, 파티션 정보, 참조 프레임 번호 등)를 추출한다.
역 양자화부(420)는 상기 텍스쳐 데이터를 역 양자화한다. 이러한 역 양자화 과정은 비디오 인코더(300) 단에서 수행되는 양자화 과정의 역에 해당되는 과정으로서, 양자화 과정에서 사용된 양자화 테이블을 이용하여 양자화 과정에서 생성된 인덱스로부터 그에 매칭되는 값을 복원하는 과정이다.
역 변환부(430)는 상기 역 양자화된 결과 값에 대하여 역 공간적 변환을 수행하여 잔차 프레임을 복원한다. 이러한 역 공간적 변환은 비디오 인코더(300) 단의 변환부(120)에서의 변환 과정의 역으로 진행되며, 구체적으로 역 DCT 변환, 역 웨이블릿 변환 등이 이용될 수 있다.
한편, 엔트로피 복호화부(410)는 모션 벡터(mv)를 포함한 모션 데이터를 모 션 보상부(460) 및 가상 프레임 생성부(470)에 제공한다.
모션 보상부(460)는 엔트로피 복호화부(410)로부터 제공되는 모션 데이터를 이용하여, 프레임 버퍼(450)으로부터 제공되는 기 복원된 비디오 프레임, 즉 참조 프레임을 모션 보상하여 모션 보상 프레임을 생성한다.
가산기(515)는 역 변환부(430)에서 복원되는 잔차 프레임과 상기 모션 보상부(460)에서 생성된 모션 보상 프레임을 가산하여 기초 계층 비디오 프레임을 복원한다. 복원된 비디오 프레임은 프레임 버퍼(450)에 일시 저장될 수 있으며, 이후의 다른 프레임의 복원을 위하여 모션 보상부(460) 또는 가상 프레임 생성부(470)에 참조 프레임으로서 제공될 수 있다.
한편, 가상 프레임 생성부(470)는 향상 계층의 비동기 프레임에 대한 인트라 BL 예측을 수행하기 위하여 가상 기초 계층 프레임을 생성한다. 즉, 가상 프레임 생성부(470)는 상기 비동기 프레임에 시간적으로 가장 가까운 2개의 기초 계층 프레임 간의 모션 벡터(mv)와, 상기 2개의 프레임 중 참조 프레임(Fr), 및 상기 2개의 프레임 간의 잔차 프레임(R)을 이용하여, 가상 기초 계층 프레임을 생성한다. 이를 위하여, 가상 프레임 생성부(470)는 엔트로피 복호화부(410)로부터 모션 벡터(mv)를, 프레임 버퍼(450)로부터 참조 프레임(Fr)을, 그리고, 역 변환부(430)로부터 복원된 잔차 프레임(R)을 제공 받는다.
모션 벡터, 참조 프레임 및 잔차 프레임으로부터 가상 기초 계층 프레임을 생성하는 과정은 비디오 인코더(300) 단의 가상 프레임 생성부(190)와 마찬가지이 므로 중복된 설명은 생략하기로 한다. 다만, 제2 실시예의 경우에는 잔차 프레임(R')은 복원된 2개의 기초 계층 프레임 중에서 참고 프레임을 r×mv에 의하여 모션 보상하고 현재 프레임에서 상기 모션 보상된 참고 프레임을 차분함으로써 구할 수 있다.
가상 프레임 생성부(470)에 의하여 생성된 가상 기초 계층 프레임은 선택적으로 업샘플러(480)를 거쳐서 향상 계층 디코더(500)에 제공된다. 따라서, 업샘플러(480)는 향상 계층의 해상도와 기초 계층의 해상도가 다른 경우에는 가상 기초 계층 프레임을 향상 계층의 해상도로 업샘플링한다. 물론, 기초 계층의 해상도와 향상 계층의 해상도가 동일하다면 상기 업샘플링 과정은 생략될 것이다.
다음으로, 향상 계층 디코더(500)의 구성을 살펴 본다. 향상 계층 비트스트림 중 비동기 프레임에 관한 부분이 엔트로피 복호화부(510)에 입력되면, 엔트로피 복호화부(510)는 상기 입력된 비트스트림을 무손실 복호화하여, 비동기 프레임에 대한 텍스쳐 데이터를 추출한다.
그리고, 상기 추출된 텍스쳐 데이터는 역 양자화부(520) 및 역 변환부(530)를 거쳐서 잔차 프레임으로 복원된다. 역 양자화부(520) 및 역 변환부(530)의 기능 및 동작은 역 양자화부(420) 및 역 변환부(430)와 마찬가지이다.
가산기(515)는 상기 복원된 잔차 프레임과 기초 계층 디코더(400)로부터 제공되는 가상 기초 계층 프레임을 가산하여 상기 비동기 프레임을 복원한다.
이상 도 13에서 나타낸 향상 계층 디코더(500)는 입력 프레임 중에서 비동기 프레임을 디코딩하는 것을 중심으로 하여 설명하였다. 물론, 향상 계층 비트스트림 이 동기 프레임에 관한 부분이라면, 도 2에서 설명한 바와 같이 종래의 3가지 예측 방법에 따른 복원 방법을 선택적으로 이용할 수 있음은 당업자라면 이해할 수 있을 것이다.
도 14는 본 발명의 일 실시예에 따른 비디오 인코더(300), 또는 비디오 디코더(600)가 동작하는 시스템 환경을 나타내는 구성도이다. 상기 시스템은 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이나 플로피 디스크와 같은 저장 매체에서 읽어 들이거나, 각종 네트워크를 통하여 소정의 서버로부터 다운로드한 것일 수도 있다. 상기 소프트웨어에 의하여 하드웨어 회로에 의하여 대체되거나, 소프트웨어와 하드웨어 회로의 조합에 의하여 대체될 수 있다.
도 15은 본 발명의 일 실시예에 따른 비디오 인코딩 과정을 나타내는 흐름도이다.
먼저, 현재 계층의 프레임이 향상 계층 인코더(200)에 입력되면(S10), 상기 프레임이 비동기 프레임인지 동기 프레임인지를 판단한다(S20).
상기 판단 결과 비동기 프레임이라면(S20의 예), 모션 추정부(150)는 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임 중 제1 프레임을 참조 프레임으로 하여 모션 추정을 수행한다(S30). 상기 모션 추정은 고정 크기 블록 또는 계층적 가변 크기 블록 단위로 수행될 수 있으며, 상기 참조 프레임은 도 4와 같이 상기 2개의 하위 계층 프레임들 중 시간적으로 앞선 프레임일 수도 있고, 도 5와 같이 시간적으로 뒤진 프레임일 수도 있다.
그리고, 상기 참조 프레임과 상기 하위 계층 프레임들 중 제2 프레임간의 잔차 프레임을 구한다(S35).
제1 실시예에 따르면 상기 S35 단계는, 상기 제1 프레임을 차분기(115), 변환부(120) 및 양자화부(130)에 의하여 부호화한 후, 역 양자화부(171), 역 변환부(172), 및 가산기(125)에 의하여 복호화하는 단계와, 모션 보상부(160)에서 상기 복호화된 제1 프레임을 상기 모션 벡터에 의하여 모션 보상하는 단계와, 차분기(115)에서 상기 제2 프레임에서 상기 모션 보상된 제1 프레임을 차분하는 단계와, 상기 차분 결과를 변환부(120) 및 양자화부(130)에 의하여 부호화한 후 역 양자화부(171) 및 역 변환부(172)에 의하여 복호화는 단계를 포함한다. 이러한 과정에 의하여 제1 실시예에 따른 잔차 프레임(R)이 구해진다.
제2 실시예에 따르면, 상기 S35 단계는, 상기 제1 프레임을 차분기(115), 변환부(120) 및 양자화부(130)에 의하여 부호화한 후 역 양자화부(171), 역 변환부(172), 및 가산기(125)에 의하여 복호화하는 단계와, 모션 보상부(160)에서 상기 복호화된 제1 프레임을 상기 모션 벡터에 거리 비율(r)을 곱한 결과 벡터에 의하여 모션 보상하는 단계와, 차분기(115)에서 상기 제2 프레임에서 상기 모션 보상된 제1 프레임을 차분하는 단계와, 변환부(120) 및 양자화부(130)에 의하여 부호화한 후 역 양자화부(171) 및 역 변환부(172)에 의하여 복호화하는 단계를 포함한다. 이러한 과정에 의하여 제2 실시예에 따른 잔차 프레임(R')이 구해진다.
그러면, 가상 프레임 생성부(190)는 상기 모션 추정 결과 구해지는 모션 벡터, 상기 참조 프레임, 및 상기 잔차 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성한다(S40).
제1 실시예에 따르면 상기 S40 단계는, 상기 참조 프레임상에서, 상기 모션 벡터가 할당된 파티션(1)의 위치로부터 상기 모션 벡터(mv)만큼 떨어진 영역(1')의 텍스쳐 데이터를 판독하는 단계와, 상기 잔차 프레임(R) 상에서 상기 파티션(1)의 위치에 해당하는 텍스쳐 데이터(T1-T1')에 거리 비율(r)을 곱한 결과와 상기 판독된 텍스쳐 데이터(T1')를 가산하는 단계와, 상기 가산된 결과(T1f)를 상기 영역으로부터 상기 모션 벡터에 상기 거리 비율을 곱한 값만큼 상기 모션 벡터의 반대 방향으로 이동한 위치에 복사하는 단계를 포함한다.
한편, 제2 실시예에 따르면 상기 S40 단계는, 상기 참조 프레임상에서, 상기 모션 벡터가 할당된 파티션(1)의 위치로부터 상기 모션 벡터(mv)에 거리 비율(r)을 곱한 값만큼 떨어진 영역(1")의 텍스쳐 데이터(T1")를 판독하는 단계와, 상기 잔차 프레임(R') 상에서 상기 파티션(1')의 위치에 해당하는 텍스쳐 데이터(T1-T1")에 거리 비율(r)을 곱한 결과와, 상기 판독된 텍스쳐 데이터(T1")를 가산하는 단계와, 상기 가산된 결과를 상기 파티션의 위치에 복사하는 단계를 포함한다.
업샘플러(195)는 상기 현재 계층의 해상도와 상기 하위 계층의 해상도가 서로 다른 경우에는, 상기 생성된 가상 기초 계층 프레임을 상기 현재 계층의 해상도 로 업샘플링한다(S50).
그러면, 향상 계층 인코더(200)의 차분기(210)는 상기 비동기 프레임에서 상기 생성된 가상 기초 계층 프레임을 차분한다(S60). 그리고, 변환부(220), 양자화부(230), 및 엔트로피 부호화부(240)는 상기 차분을 부호화한다(S70).
한편, S20의 판단 결과 동기 프레임이라면(S20의 아니오), 업샘플러(190)는 현재의 동기 프레임에 대응되는 위치의 기초 계층 프레임을 현재 계층의 해상도로 업샘플링하고(S80), 차분기(210)는 상기 동기 프레임에서 상기 업샘플링된 기초 계층 프레임을 차분한다(S90). 상기 차분도 마찬가지로 변환부(220), 양자화부(230), 및 엔트로피 부호화부(240)를 거쳐서 부호화된다(S70).
도 16는 본 발명의 일 실시예에 따른 비디오 디코딩 과정을 나타내는 흐름도이다.
현재 계층 비트스트림이 입력되면(S110), 현재 비트스트림이 비동기 프레임에 관한 것인가를 판단한다(S120).
상기 판단 결과 비동기 프레임에 관한 것이면(S120의 예), 기초 계층 디코더(400)는 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임에 관한 하위 계층 비트스트림으로부터, 참조 프레임을 복원한다(S130). 그리고, 상기 하위 계층 비트스트림으로부터 상기 2개의 하위 계층 프레임 간의 제1 잔차 프레임을 복원한다(S135)
제1 실시예에 따르면 상기 S135 단계는, 엔트로피 복호화부(410)가 상기 하위 계층 비트스트림으로부터 상기 2개의 하위 계층 프레임 중 인터 프레임에 관한 텍스쳐 데이터를 추출하는 단계와, 역 양자화부(420)가 상기 추출된 텍스쳐 데이터를 역 양자화하는 단계와, 역 변환부(430)가 상기 역 양자화된 결과를 역 공간적 변환하는 단계를 포함한다. 그 결과 제1 실시예에 따른 제1 잔차 프레임(R)이 복원된다.
그리고, 제2 실시예에 따르면 상기 S135 단계는, 엔트로피 복호화부(410)가 상기 하위 계층 비트스트림으로부터 상기 2개의 하위 계층 프레임 중 인터 프레임에 관한 텍스쳐 데이터를 추출하는 단계와, 역 양자화부(420)가 상기 추출된 텍스쳐 데이터를 역 양자화하는 단계와, 역 변환부(430)가 상기 역 양자화된 결과를 역 공간적 변환하는 단계와, 모션 보상부(460)가 상기 복원된 참조 프레임을 상기 모션 벡터에 의하여 모션 보상하는 단계와, 가산기(415)가 상기 역 공간적 변환된 결과와 상기 모션 보상된 참조 프레임을 가산하여 인터 프레임을 복원하는 단계와, 모션 보상부(460)가 상기 복원된 참조 프레임을 상기 모션 벡터에 거리 비율을 곱한 결과 벡터에 의하여 모션 보상하는 단계와, 차분기(도 13에서 미도시됨)가 상기 복원된 인터 프레임에서 상기 모션 보상된 참조 프레임을 차분하는 단계를 포함한다. 그 결과 제2 실시예에 따른 제1 잔차 프레임(R')이 복원된다.
그러면, 가상 프레임 생성부(470)는 상기 하위 계층 비트스트림에 포함되는 모션 벡터, 상기 복원된 참조 프레임, 및 상기 제1 잔차 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성한다(S140). 물론, S140 단계도 비디오 인코딩 과정에서와 마찬가지로 제1 실시예 및 제2 실시예를 모두 적용할 수 있다. 이는 도 15의 S40에서 설명한 바와 마찬가지이 므로 중복된 설명은 생략하기로 한다.
그 다음, 상기 현재 계층의 해상도와 상기 하위 계층의 해상도가 서로 다른 경우에는 업샘플러(480)는 상기 생성된 가상 기초 계층 프레임을 상기 현재 계층의 해상도로 업샘플링한다(S145).
한편, 향상 계층 디코더(500)의 엔트로피 복호화부(510)는 현재 계층 비트스트림으로부터 상기 비동기 프레임의 텍스쳐 데이터를 추출하고(S150), 역 양자화부(520) 및 역 변환부(530)는 상기 텍스쳐 데이터로부터 제2 잔차 프레임을 복원한다(S160). 그러면, 가산기(515)는 상기 제2 잔차 프레임과 상기 가상 기초 계층 프레임을 가산한다(S170). 그 결과 상기 비동기 프레임이 복원된다.
S120 단계의 판단 결과 동기 프레임에 관한 것이면(S120의 아니오), 기초 계층 디코더(400)는 동기 프레임에 대응되는 위치의 기초 계층 프레임을 복원한다(S180). 그리고, 업샘플러(480)는 상기 복원된 기초 계층 프레임을 업샘플링한다(S190). 한편, 엔트로피 복호화부(510)는 현재 계층 비트스트림으로부터 동기 프레임의 텍스쳐 데이터를 추출하고(S200), 역 양자화부(520) 및 역 변환부(530)는 상기 텍스쳐 데이터로부터 제3 잔차 프레임을 복원한다(S210). 그러면, 가산기(515)는 상기 제3 잔차 프레임과 상기 업샘플링된 기초 계층 프레임을 가산한다(S220). 그 결과 상기 동기 프레임이 복원된다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
본 발명에 따르면, 가상 기초 계층 프레임을 이용하여 비동기 프레임에 대하여도 인트라 BL 예측을 수행할 수 있는 효과가 있다.
또한 본 발명에 따르면, 보다 효율적인 예측 방법을 통하여 비디오 압축 성능을 향상시킬 수 있다.

Claims (19)

  1. (a) 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임 중 제1 프레임을 참조 프레임으로 하여 모션 추정을 수행하는 단계;
    (b) 상기 참조 프레임과 상기 하위 계층 프레임들 중 제2 프레임간의 잔차 프레임을 구하는 단계;
    (c) 상기 모션 추정 결과 구해지는 모션 벡터, 상기 참조 프레임, 및 상기 잔차 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 단계;
    (d) 상기 비동기 프레임에서 상기 생성된 가상 기초 계층 프레임을 차분하는 단계; 및
    (e) 상기 차분을 부호화하는 단계를 포함하는, 다 계층 기반의 비디오 인코딩 방법.
  2. 제1항에 있어서,
    상기 현재 계층의 해상도와 상기 하위 계층의 해상도가 서로 다른 경우에는, 상기 (c) 단계에서 생성된 가상 기초 계층 프레임을 상기 현재 계층의 해상도로 업샘플링하는 단계를 더 포함하며, 상기 (d) 단계의 가상 기초 계층 프레임은 상기 업샘플링된 가상 기초 계층 프레임인, 다 계층 기반의 비디오 인코딩 방법.
  3. 제1항에 있어서,
    상기 참조 프레임은 상기 하위 계층 프레임들 중 시간적으로 앞선 프레임인, 다 계층 기반의 비디오 인코딩 방법.
  4. 제1항에 있어서,
    상기 참조 프레임은 상기 하위 계층 프레임들 중 시간적으로 뒤진 프레임인, 다 계층 기반의 비디오 인코딩 방법.
  5. 제1항에 있어서, 상기 (b) 단계는
    상기 제1 프레임을 부호화한 후 복호화하는 단계;
    상기 복호화된 제1 프레임을 상기 모션 벡터에 의하여 모션 보상하는 단계;
    상기 제2 프레임에서 상기 모션 보상된 제1 프레임을 차분하는 단계; 및
    상기 차분 결과를 부호화한 후 복호화하는 단계를 포함하며,
    상기 참조 프레임은 상기 복호화된 제1 프레임이고, 상기 잔차 프레임은 상기 복호화된 차분 결과인, 다 계층 기반의 비디오 인코딩 방법.
  6. 제5항에 있어서, 상기 (c) 단계는
    상기 참조 프레임상에서, 상기 모션 벡터가 할당된 파티션의 위치로부터 상기 모션 벡터만큼 떨어진 영역의 텍스쳐 데이터를 판독하는 단계;
    상기 잔차 프레임 상에서 상기 파티션의 위치에 해당하는 텍스쳐 데이터에 거리 비율을 곱한 결과와, 상기 판독된 텍스쳐 데이터를 가산하는 단계; 및
    상기 가산된 결과를 상기 영역으로부터 상기 모션 벡터에 상기 거리 비율을 곱한 값만큼 상기 모션 벡터의 반대 방향으로 이동한 위치에 복사하는 단계를 포함하는, 다 계층 기반의 비디오 인코딩 방법.
  7. 제1항에 있어서, 상기 (b) 단계는
    상기 제1 프레임을 부호화한 후 복호화하는 단계;
    상기 복호화된 제1 프레임을 상기 모션 벡터에 거리 비율을 곱한 결과 벡터에 의하여 모션 보상하는 단계;
    상기 제2 프레임에서 상기 모션 보상된 제1 프레임을 차분하는 단계; 및
    상기 차분된 결과를 부호화한 후 복호화하여 잔차 프레임을 복원하는 단계를 포함하며,
    상기 참조 프레임은 상기 복호화된 제1 프레임이고, 상기 잔차 프레임은 상기 복호화된 차분 결과인, 다 계층 기반의 비디오 인코딩 방법.
  8. 제7항에 있어서, 상기 (c) 단계는
    상기 참조 프레임상에서, 상기 모션 벡터가 할당된 파티션의 위치로부터 상기 모션 벡터에 거리 비율을 곱한 값만큼 떨어진 영역의 텍스쳐 데이터를 판독하는 단계;
    상기 잔차 프레임 상에서 상기 파티션의 위치에 해당하는 텍스쳐 데이터에 거리 비율을 곱한 결과와, 상기 판독된 텍스쳐 데이터를 가산하는 단계; 및
    상기 가산된 결과를 상기 파티션의 위치에 복사하는 단계를 포함하는, 다 계층 기반의 비디오 인코딩 방법.
  9. 제1항에 있어서, 상기 (d) 단계는
    상기 차분에 대하여 공간적 변환을 수행하여 변환 계수를 생성하는 단계;
    상기 생성된 변환 계수를 양자화하여 양자화 계수를 생성하는 단계; 및
    상기 생성된 양자화 계수 무손실 부호화하는 단계를 포함하는, 다 계층 기반의 비디오 인코딩 방법.
  10. (a) 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임에 관한 하위 계층 비트스트림으로부터, 참조 프레임을 복원하는 단계;
    (b) 상기 하위 계층 비트스트림으로부터 상기 2개의 하위 계층 프레임 간의 제1 잔차 프레임을 복원하는 단계;
    (c) 상기 하위 계층 비트스트림에 포함되는 모션 벡터, 상기 복원된 참조 프레임, 및 상기 제1 잔차 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 단계;
    (d) 현재 계층 비트스트림으로부터 상기 비동기 프레임의 텍스쳐 데이터를 추출하고 상기 텍스쳐 데이터로부터 상기 비동기 프레임에 대한 제2 잔차 프레임을 복원하는 단계; 및
    (e) 상기 제2 잔차 프레임과 상기 가상 기초 계층 프레임을 가산하는 단계를 포함하는, 다 계층 기반의 비디오 디코딩 방법.
  11. 제10항에 있어서,
    상기 현재 계층의 해상도와 상기 하위 계층의 해상도가 서로 다른 경우에는, 상기 (c) 단계에서 생성된 가상 기초 계층 프레임을 상기 현재 계층의 해상도로 업샘플링하는 단계를 더 포함하며,
    상기 (e) 단계의 가상 기초 계층 프레임은 상기 업샘플링된 가상 기초 계층 프레임인, 다 계층 기반의 비디오 디코딩 방법.
  12. 제10항에 있어서,
    상기 참조 프레임은 상기 하위 계층 프레임들 중 시간적으로 앞선 프레임인, 다 계층 기반의 비디오 디코딩 방법.
  13. 제10항에 있어서,
    상기 참조 프레임은 상기 하위 계층 프레임들 중 시간적으로 뒤진 프레임인, 다 계층 기반의 비디오 디코딩 방법.
  14. 제10항에 있어서, 상기 (b) 단계는
    상기 하위 계층 비트스트림으로부터 상기 2개의 하위 계층 프레임 중 인터 프레임에 관한 텍스쳐 데이터를 추출하는 단계;
    상기 추출된 텍스쳐 데이터를 역 양자화하는 단계; 및
    상기 역 양자화된 결과를 역 공간적 변환하여 상기 제1 잔차 프레임을 복원하는 단계를 포함하는, 다 계층 기반의 비디오 디코딩 방법.
  15. 제14항에 있어서, 상기 (c) 단계는
    상기 참조 프레임상에서, 상기 모션 벡터가 할당된 파티션의 위치로부터 상기 모션 벡터만큼 떨어진 영역의 텍스쳐 데이터를 판독하는 단계;
    상기 복원된 제1 잔차 프레임 상에서 상기 파티션의 위치에 해당하는 텍스쳐 데이터에 거리 비율을 곱한 결과와, 상기 판독된 텍스쳐 데이터를 가산하는 단계; 및
    상기 가산된 결과를 상기 영역으로부터 상기 모션 벡터에 상기 거리 비율을 곱한 값만큼 상기 모션 벡터의 반대 방향으로 이동한 위치에 복사하는 단계를 포함하는, 다 계층 기반의 비디오 디코딩 방법.
  16. 제10항에 있어서, 상기 (b) 단계는
    상기 하위 계층 비트스트림으로부터 상기 2개의 하위 계층 프레임 중 인터 프레임에 관한 텍스쳐 데이터를 추출하는 단계;
    상기 추출된 텍스쳐 데이터를 역 양자화하는 단계;
    상기 역 양자화된 결과를 역 공간적 변환하는 단계;
    상기 복원된 참조 프레임을 상기 모션 벡터에 의하여 모션 보상하는 단계;
    상기 역 공간적 변환된 결과와 상기 모션 보상된 참조 프레임을 가산하여 인터 프레임을 복원하는 단계;
    상기 복원된 참조 프레임을 상기 모션 벡터에 거리 비율을 곱한 결과 벡터에 의하여 모션 보상하는 단계; 및
    상기 복원된 인터 프레임에서 상기 모션 보상된 참조 프레임을 차분하여 상기 제1 잔차 프레임을 복원하는 단계를 포함하는, 다 계층 기반의 비디오 디코딩 방법.
  17. 제16항에 있어서, 상기 (c) 단계는
    상기 참조 프레임상에서, 상기 모션 벡터가 할당된 파티션의 위치로부터 상기 모션 벡터에 상기 거리 비율을 곱한 값만큼 떨어진 영역의 텍스쳐 데이터를 판독하는 단계;
    상기 제1 잔차 프레임 상에서 상기 파티션의 위치에 해당하는 텍스쳐 데이터에 거리 비율을 곱한 결과와, 상기 판독된 텍스쳐 데이터를 가산하는 단계; 및
    상기 가산된 결과를 상기 파티션의 위치에 복사하는 단계를 포함하는, 다 계층 기반의 비디오 디코딩 방법.
  18. 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임 중 제1 프레임을 참조 프레임으로 하여 모션 추정을 수행하는 수단;
    상기 참조 프레임과 상기 하위 계층 프레임들 중 제2 프레임간의 잔차 프레임을 구하는 수단;
    상기 모션 추정 결과 구해지는 모션 벡터, 상기 참조 프레임, 및 상기 잔차 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 수단;
    상기 비동기 프레임에서 상기 생성된 가상 기초 계층 프레임을 차분하는 수단; 및
    상기 차분을 부호화하는 수단을 포함하는, 다 계층 기반의 비디오 인코더.
  19. 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임에 관한 하위 계층 비트스트림으로부터, 참조 프레임을 복원하는 수단;
    상기 하위 계층 비트스트림으로부터 상기 2개의 하위 계층 프레임 간의 제1 잔차 프레임을 복원하는 수단;
    상기 하위 계층 비트스트림에 포함되는 모션 벡터, 상기 복원된 참조 프레임, 및 상기 제1 잔차 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 수단;
    현재 계층 비트스트림으로부터 상기 비동기 프레임의 텍스쳐 데이터를 추출하고 상기 텍스쳐 데이터로부터 상기 비동기 프레임에 대한 제2 잔차 프레임을 복원하는 수단; 및
    상기 제2 잔차 프레임과 상기 가상 기초 계층 프레임을 가산하는 수단을 포함하는, 다 계층 기반의 비디오 디코더.
KR1020050020812A 2005-01-21 2005-03-12 비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치 KR100703746B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2006/000207 WO2006078125A1 (en) 2005-01-21 2006-01-19 Video coding method and apparatus for efficiently predicting unsynchronized frame
US11/336,825 US20060165301A1 (en) 2005-01-21 2006-01-23 Video coding method and apparatus for efficiently predicting unsynchronized frame

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US64501005P 2005-01-21 2005-01-21
US60/645,010 2005-01-21

Publications (2)

Publication Number Publication Date
KR20060085147A true KR20060085147A (ko) 2006-07-26
KR100703746B1 KR100703746B1 (ko) 2007-04-05

Family

ID=37174974

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050020812A KR100703746B1 (ko) 2005-01-21 2005-03-12 비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치

Country Status (2)

Country Link
US (1) US20060165301A1 (ko)
KR (1) KR100703746B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703745B1 (ko) * 2005-01-21 2007-04-05 삼성전자주식회사 비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치
US20070237234A1 (en) * 2006-04-11 2007-10-11 Digital Vision Ab Motion validation in a virtual frame motion estimator
FR2906433B1 (fr) * 2006-09-22 2009-02-27 Canon Kk Procedes et dispositifs de codage et de decodage d'images, programme d'ordinateur les mettant en oeuvre et support d'informaton permettant de les mettre en oeuvre
US8228991B2 (en) * 2007-09-20 2012-07-24 Harmonic Inc. System and method for adaptive video compression motion compensation
US20090154567A1 (en) * 2007-12-13 2009-06-18 Shaw-Min Lei In-loop fidelity enhancement for video compression
US8665367B2 (en) * 2010-01-29 2014-03-04 Sharp Laboratories Of America, Inc. Video resolution enhancement technique
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
KR101736793B1 (ko) * 2010-12-29 2017-05-30 삼성전자주식회사 비디오 프레임 인코딩 장치, 그것의 인코딩 방법 및 그것을 포함하는 비디오 신호 송수신 시스템의 동작 방법
US11284133B2 (en) * 2012-07-10 2022-03-22 Avago Technologies International Sales Pte. Limited Real-time video coding system of multiple temporally scaled video and of multiple profile and standards based on shared video coding information
US10448013B2 (en) * 2016-12-22 2019-10-15 Google Llc Multi-layer-multi-reference prediction using adaptive temporal filtering

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233356B1 (en) * 1997-07-08 2001-05-15 At&T Corp. Generalized scalability for video coder based on video objects
KR100335609B1 (ko) * 1997-11-20 2002-10-04 삼성전자 주식회사 비트율조절이가능한오디오부호화/복호화방법및장치
US6907070B2 (en) * 2000-12-15 2005-06-14 Microsoft Corporation Drifting reduction and macroblock-based control in progressive fine granularity scalable video coding
CN1685731A (zh) * 2002-09-27 2005-10-19 皇家飞利浦电子股份有限公司 可分级视频编码
KR100664929B1 (ko) * 2004-10-21 2007-01-04 삼성전자주식회사 다 계층 기반의 비디오 코더에서 모션 벡터를 효율적으로압축하는 방법 및 장치

Also Published As

Publication number Publication date
KR100703746B1 (ko) 2007-04-05
US20060165301A1 (en) 2006-07-27

Similar Documents

Publication Publication Date Title
KR100703746B1 (ko) 비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치
KR100703745B1 (ko) 비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치
KR100714696B1 (ko) 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
KR100679031B1 (ko) 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치
KR100703740B1 (ko) 다 계층 기반의 모션 벡터를 효율적으로 부호화하는 방법및 장치
KR100703734B1 (ko) Dct 업샘플링을 이용한 다 계층 비디오 인코딩/디코딩방법 및 장치
KR101033548B1 (ko) 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
KR100703788B1 (ko) 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
KR100714689B1 (ko) 다 계층 구조 기반의 스케일러블 비디오 코딩 및 디코딩방법, 이를 위한 장치
KR100763182B1 (ko) 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
KR100664929B1 (ko) 다 계층 기반의 비디오 코더에서 모션 벡터를 효율적으로압축하는 방법 및 장치
KR100763181B1 (ko) 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
KR100703760B1 (ko) 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치
KR100704626B1 (ko) 다 계층 기반의 모션 벡터를 압축하는 방법 및 장치
KR100763179B1 (ko) 비동기 픽쳐의 모션 벡터를 압축/복원하는 방법 및 그방법을 이용한 장치
KR100791299B1 (ko) 다 계층 기반의 비디오 인코딩 방법 및 장치
KR100703774B1 (ko) 인트라 코딩을 선택적으로 적용하여 인트라 bl 예측모드의 비디오 신호를 인코딩 및 디코딩하는 방법 및 장치
KR20060135992A (ko) 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
WO2006078115A1 (en) Video coding method and apparatus for efficiently predicting unsynchronized frame
KR100703751B1 (ko) 가상 영역의 영상을 참조하여 인코딩 및 디코딩 하는 방법및 장치
WO2006078125A1 (en) Video coding method and apparatus for efficiently predicting unsynchronized frame
WO2006083107A1 (en) Method and apparatus for compressing multi-layered motion vector

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

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee