KR20060110714A - 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치 - Google Patents

기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치 Download PDF

Info

Publication number
KR20060110714A
KR20060110714A KR1020050059371A KR20050059371A KR20060110714A KR 20060110714 A KR20060110714 A KR 20060110714A KR 1020050059371 A KR1020050059371 A KR 1020050059371A KR 20050059371 A KR20050059371 A KR 20050059371A KR 20060110714 A KR20060110714 A KR 20060110714A
Authority
KR
South Korea
Prior art keywords
data
base layer
frame
enhancement layer
difference
Prior art date
Application number
KR1020050059371A
Other languages
English (en)
Other versions
KR100763181B1 (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 AU2006201490A priority Critical patent/AU2006201490B2/en
Priority to PCT/KR2006/001419 priority patent/WO2006112642A1/en
Priority to EP06252086A priority patent/EP1715693A3/en
Priority to TW095113739A priority patent/TW200644646A/zh
Priority to JP2006114648A priority patent/JP2006304307A/ja
Priority to US11/405,665 priority patent/US8351502B2/en
Priority to CA 2543947 priority patent/CA2543947A1/en
Priority to RU2006113092/09A priority patent/RU2336661C2/ru
Priority to BRPI0602466 priority patent/BRPI0602466A/pt
Priority to ARP060101545A priority patent/AR053062A1/es
Publication of KR20060110714A publication Critical patent/KR20060110714A/ko
Application granted granted Critical
Publication of KR100763181B1 publication Critical patent/KR100763181B1/ko
Priority to RU2008106939/09A priority patent/RU2008106939A/ru

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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • 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]
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Abstract

본 발명은 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를 코딩하여 코딩율을 향상시키는 방법 및 장치에 관한 것이다.
본 발명의 일 실시예에 따른 비디오 인코딩 방법은 다계층 기반의 비디오 인코더에서 입력 프레임에서 기초 계층 프레임을 생성하는 단계, 상기 입력 프레임에서 상기 기초 계층 프레임을 참조하는 향상 계층의 데이터를 생성하는 단계, 및 상기 기초 계층 프레임의 데이터가 상기 향상 계층의 데이터를 예측할 수 있는지 판단한 결과에 따라 상기 향상 계층의 데이터를 인코딩하는 단계를 포함한다.
인코딩, 엔트로피 인코딩, 예측, 비디오 압축, MPEG, SVM

Description

기초계층과 향상계층의 데이터를 바탕으로 예측 정보를 코딩하여 코딩율을 향상시키는 방법 및 장치{Method and apparatus for improving coding rate by coding prediction information from base layer and enhancement layer}
도 1은 다 계층 구조를 이용한 스케일러블 비디오 코덱을 보여주는 도면이다.
도 2는 상기 3가지 예측 방법을 설명하는 개략도이다.
도 3은 비디오 코딩에서의 잔차 예측(Residual prediction)의 예를 보여주는 예시도이다.
도 4는 본 발명의 일 실시예에 따른 잔차 예측 플래그의 인코딩 효율을 높이는 순서도이다.
도 5는 본 발명의 일 실시예에 따른 도 4에서 인코딩된 데이터를 디코딩하는 순서도이다.
도 6은 비디오 코딩에서의 모션 예측(Residual prediction)의 예를 보여주는 예시도이다.
도 7은 본 발명의 일 실시예에 따른 모션예측 플래그의 인코딩 효율을 높이는 순서도이다.
도 8은 본 발명의 일 실시예에 따른 도 7에서 인코딩된 데이터를 디코딩하는 순서도이다.
도 9는 본 발명의 일 실시예에 따른 비디오 인코더의 구조를 보여주는 예시도이다.
도 10은 본 발명의 일 실시예에 따른 비디오 디코더의 구조를 보여주는 예시도이다.
<도면의 주요 부분에 대한 부호의 설명>
300: 기초계층 인코더 400: 향상계층 인코더
420: 향상계층 인코더의 변환부 500: 비디오 인코더
550: 비디오 디코더 600: 기초계층 디코더
730: 향상계층 디코더의 역변환부
본 발명은 비디오 신호를 인코딩 및 디코딩하는 방법과 장치에 관한 것으로, 보다 상세하게는 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를 코딩하여 코딩율을 향상시키는 방법 및 장치에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 제거함으로써 데이터를 압축할 수 있다. 일반적인 비디오 코딩 방법에 있어서, 시간적 중복은 모션 보상에 근거한 시간적 필터링(temporal filtering)에 의해 제거하고, 공간적 중복은 공간적 변환(spatial transform)에 의해 제거한다.
데이터의 중복을 제거한 후 생성되는 멀티미디어를 전송하기 위해서는, 전송매체가 필요한데 그 성능은 전송매체 별로 차이가 있다. 현재 사용되는 전송매체는 초당 수십 메가비트의 데이터를 전송할 수 있는 초고속통신망부터 초당 384 kbit의 전송속도를 갖는 이동통신망 등과 같이 다양한 전송속도를 갖는다. 이와 같은 환경에서, 다양한 속도의 전송매체를 지원하기 위하여 또는 전송환경에 따라 이에 적합한 전송률로 멀티미디어를 전송할 수 있도록 하는, 즉 스케일러블 비디오 코딩(scalable video coding) 방법이 멀티미디어 환경에 보다 적합하다 할 수 있다. 한편, 멀티미디어를 재생시 재생하는 기기의 크기 또는 기기의 특징에 따라 화면이 4:3 비율 또는 16:9 비율 등 크기가 다양해질 수 있다.
이러한 스케일러블 비디오 코딩이란, 이미 압축된 비트스트림(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)을 갖도록 구성할 수 있다.
하나의 계층으로 코딩하는 경우와 마찬가지로, 다 계층으로 코딩하는 경우에 있어서도, 각 계층별로 시간적 중복성(temporal redundancy)를 제거하기 위한 모션 벡터(motion vector; MV)를 구할 필요가 있다. 이러한 모션 벡터는 각 계층마다 별도로 검색하여 사용하는 경우(전자)가 있고, 하나의 계층에서 모션 벡터 검색을 한 후 이를 다른 계층에서도 사용(그대로 또는 업/다운 샘플링하여)하는 경우(후자)도 있다. 전자의 경우는 후자의 경우에 비하여 정확한 모션 벡터를 찾음으로써 얻는 이점과, 계층 별로 생성된 모션 벡터가 오버 헤드로 작용하는 단점이 동시에 존재한다. 따라서, 전자의 경우에는 각 계층 별 모션 벡터들 간의 중복성을 보다 효율적으로 제거하는 것이 매우 중요한 과제가 된다.
도 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 예측을 하는 경우(③)를 각각 나타내고 있다.
이와 같이, 상기 스케일러블 비디오 코딩 표준에서는 매크로블록 단위로 상기 세가지 예측 방법 중 유리한 하나의 방법을 선택하여 이용한다.
그런데 이러한 예측 방법을 사용하기 위해서는 어떤 예측 방법이 사용되었는지, 또는 예측할 때 참조하는 데이터가 무엇인지에 대한 정보를 디코딩 측에 넘겨주기 위해 여러가지 플래그(flag)를 사용한다. 매크로블록 단위, 또는 슬라이스, 프레임 단위로 인코딩 하는 경우, 해당 단위에 따라 작게는 1 bit에서 수 bit 또는 수십 bit에 해당할 수 있다. 이러한 정보들이 전체 동영상에 매크로블록마다, 또는 슬라이스나 프레임마다 설정될 경우에 데이터의 크기는 커진다. 따라서 이들 정보를 효율적으로 압축하기 위한 방법과 장치가 필요하다.
본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로, 본 발명은 기초 계층의 데이터를 통해 예측 방법에 소요되는 데이터의 크기를 줄이는데 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것 이다.
본 발명은 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를 코딩하여 코딩율을 향상시키는 방법 및 장치에 관한 것이다.
본 발명의 일 실시예에 따른 비디오 인코딩 방법은 다계층 기반의 비디오 인코더에서 입력 프레임에서 기초 계층 프레임을 생성하는 단계, 상기 입력 프레임에서 상기 기초 계층 프레임을 참조하는 향상 계층의 데이터를 생성하는 단계, 및 상기 기초 계층 프레임의 데이터가 상기 향상 계층의 데이터를 예측할 수 있는지 판단한 결과에 따라 상기 향상 계층의 데이터를 인코딩하는 단계를 포함한다.
본 발명의 일 실시예에 따른 비디오 디코딩 방법은 다계층 기반의 비디오 디코더에서 입력된 기초 계층 프레임을 디코딩하는 단계, 상기 디코딩된 기초 계층 프레임의 데이터가 상기 기초 계층 프레임을 참조하는 향상 계층의 데이터를 예측하는데 필요한지 여부를 판단하는 단계, 및 상기 판단한 결과에 따라 상기 향상 계층의 데이터를 디코딩하는 단계를 포함한다.
본 발명의 일 실시예에 다른 비디오 인코더는 입력 프레임에서 기초 계층 프레임을 생성하는 기초 계층 인코더, 및 상기 입력 프레임에서 상기 기초 계층 프레임을 참조하는 향상 계층의 데이터를 생성하는 향상 계층 인코더를 포함하며, 상기 향상 계층 인코더는 상기 기초 계층 프레임의 데이터가 상기 향상 계층의 데이터를 예측할 수 있는지 판단한 결과에 따라 상기 향상 계층의 데이터를 인코딩하는 변환부를 포함한다.
본 발명의 일 실시예에 따른 비디오 디코더는 입력된 기초 계층 프레임을 디코딩하는 기초 계층 디코더, 및 상기 기초 계층 프레임을 참조하여 향상 계층의 데이터를 디코딩하는 향상 계층 디코더를 포함하며, 상기 향상 계층 디코더는 상기 디코딩된 기초 계층 프레임의 데이터가 상기 기초 계층 프레임을 참조하는 향상 계층의 데이터를 예측하는데 필요한지 여부를 판단하여 상기 판단한 결과에 따라 상기 향상 계층의 데이터를 디코딩하는 역변환부를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다
이하, 본 발명의 실시예들에 의하여 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를 코딩하여 코딩율을 향상시키는 방법 및 장치를 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프 로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑제되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때 로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 2에서 살펴본 예측 방법을 디코딩 측에서 사용하기 위해서 어떤 방식의 예측이 이루어졌는지, 혹은 어느 데이터를 참조하는지 등에 대한 정보를 설정해서 인코딩 측에서 전송한다. 데이터를 압축하는 기법 중 하나인 엔트로피 코딩(entropy coding)은 무손실 압축을 사용하여 최종 압축을 수행한다. 통상 허프만 코딩(Huffman coding)을 많이 사용한다. 허프만 코딩은 가변길이(variable length) 코딩 방식으로, 정보가 나타나는 확률에 따라 비트를 할당하는 방식이다. 따라서, 엔트로피 코딩을 사용하여 전체 비트 효율을 높이기 위해서는 정보를 나타내는 방식을 조절할 수 있다.
한편 도 2에서 살펴본 예측 방법을 디코딩 측에 알려주기 위한 정보중에서 기초 계층의 정보를 참조하여 예측하는 방식이 존재한다. 예를 들어 기초계층의 잔차 데이터를 참조하여 예측하거나, 기초계층의 모션 벡터를 참조하여 예측하는 경우가 발생한다. 이때, 기초계층의 정보를 참조하여 예측 방법을 적용하는지 알려주기 위한 플래그로 잔차예측 플래그(residual_prediction_flag), 모션예측 플래그(motion_prediction_flag) 등과 같은 예측 정보가 존재한다. 이들 플래그는 매크로블록 또는 슬라이스나 프레임 단위로 설정될 수 있다. 따라서, 이들 플래그는 상기 단위별로 항상 존재하는 정보이므로, 이들의 크기를 줄이거나 엔트로피 코딩과 같이 코딩시 압축 효율을 높일 수 있도록 하는 것이 중요하다. 이를 위해 상기 예측 플래그들을 디코딩단에서 예측할 수 있도록 정보를 설정하고, 상기 정보를 이용하여 상기 예측 플래그를 복원할 수 있다.
도 3은 비디오 코딩에서의 잔차 예측(Residual prediction)의 예를 보여준다. 잔차 예측이란 잔차 결과, 즉, 도 2에서 살펴본 예측 방법 중 하나를 사용하여 얻은 결과인 잔차 데이터(residual data)에 대해서 다시한번 예측을 수행하는 것을 의미한다. 기초계층의 어느 한 매크로블록, 슬라이스 또는 프레임(14)은 도 2에서 살펴본 예측 방법 중 하나인 시간적 인터 예측을 사용하여 잔차 데이터(residual data)로 매크로블록, 슬라이스 또는 프레임을 구성할 수 있다. 이때, 기초계층을 참조하는 향상계층의 매크로블록, 슬라이스, 또는 프레임 역시 기초계층의 잔차 데이터를 참조하는 인트라 BL 예측을 수행할 수 있다. 이하 매크로블록을 중심으로 설명하지만 본 발명의 범위가 매크로블록에 한정되는 것은 아니다. 매크로블록 외에도 슬라이스, 프레임 등에도 적용될 수 있다.
향상계층의 매크로블록이 시간적 인터 예측을 수행하기 위해 기초계층의 잔차(residual)를 참조할 수 있다. 디코딩 단에 기초계층의 잔차를 참조했음을 알리기 위해, 잔차예측 플래그(residual_prediction_flag)를 1로 설정할 수 있다. 그런데, 기초계층의 매크로블록(잔차 데이터로 구성된 매크로블록)이 모두 0인 값을 가지거나 0이 아닌 정보를 가지는 픽셀이 특정 기준(threshold)보다 낮은 경우에는 잔차예측 플래그를 설정할 필요가 없다. 기초계층에서 실행한 시간적 인터예측의 결과, 움직임이 거의 없는 경우를 의미한다. 따라서 이 경우 향상계층의 매크로블록은 참조할 데이터가 없거나 부족하므로 잔차예측 플래그가 필요하지 않다. 따라서 이러한 경우에는 잔차예측 플래그를 설정하지 않음으로써 비트를 절약할 수 있다.
잔차예측은 향상계층의 모션 벡터(motion vector)와 기초계층의 모션벡터가 유사한 경우에 의미가 있다. 따라서, 각 계층 간의 모션 벡터의 차이는 잔차예측 플래그의 값을 예측하는 인자가 될 수 있다. 먼저 잔차예측 플래그의 값을 예측하기 위한 결정 정보를 편의상 예측 결정 플래그라 한다. JSVM(Joint Scalable Video Model) 1에서 잔차예측 플래그(residual_prediction_flag)를 설정하는 대신에 잔차예측 플래그와 예측결정 플래그(PrdRpFlag)의 차이를 코딩할 경우에 엔트로피 코딩(entropy coding)의 효율을 높일 수 있다. 따라서 이러한 차이를 나타내는 잔차예측 차이 플래그(residual_prediction_flag_diff)를 도입하여 비디오 정보를 인코딩할 수 있다.
잔차예측 차이 플래그를 구하는 방법은 다음과 같다. 먼저 기초계층의 잔차에 존재하는 비제로 픽셀(non-zero pixel)의 개수가 일정 기준(threshold)이하인 경우에는 잔차예측 플래그를 코딩하는 과정을 지나친다.
비제로 픽셀의 개수가 일정 기준 이상인 경우에는 잔차예측 플래그가 아닌 잔차예측 차이 플래그를 코딩한다. 잔차예측 차이 플래그를 구하기 위해서는 기초계층의 모션 벡터(BaseMV)와 향상계층의 모션벡터(CurrMV)의 차이를 사용한다. 잔차예측 차이 플래그를 코딩하기 위해서는 예측결정 플래그(PrpRpFlag)를 구해야한다.
만약 |BaseMV-CurrMV| < 특정 값(threshold) 인 경우 PrpRpFlag를 1로 하고, 그외의 경우 0으로 한다. 구해진 PrpRpFlag와 잔차예측 플래그(residual_predicion_flag)사이의 차이가 되는 값인 잔차예측 차이 플래그 (residual_prediction_flag_diff)를 코딩한다. 상기의 과정을 다시 정리하면 다음과 같다.
기초계층의 잔차의 에너지(또는 비제로 픽셀의 수)가 특정 값(Thresholdresidual)보다 낮은 경우에 잔차예측 플래그(residual_predicion_flag)를 코딩하지 않는다.
그 외의 경우를 다시 둘로 나누면 다음과 같다. |BaseMV-CurrMV| < 특정 값(ThresholdMV)인 경우에는 1-residual_prediction_flag를 코딩하며, 아닌 경우에는 0-residual_prediction_flag, 즉 residual_prediction_flag를 코딩한다.
상기의 개념을 구현하기 위한 순서도를 살펴보면 도 4와 같다.
도 4는 본 발명의 일 실시예에 따른 잔차 예측 플래그의 인코딩 효율을 높이는 순서도이다. 먼저 기초계층의 잔차 데이터를 구한다(S101). 기초계층의 잔차 데이터는 기초계층이 시간적 인터 코딩과 같이 다른 프레임 또는 다른 블록 등을 참조하여 얻은 결과를 의미한다. 기초계층의 잔차데이터가 특정값(Thresholdresidual)보다 작은 경우(S105), 예를 들어 0을 기준으로 한 경우라든지 또는 전체 에너지가 특정값 보다 작을 경우에는 잔차 예측 플래그(residual_prediction_flag)를 설정할 필요가 없다. 따라서 잔차 예측 플래그를 코딩하지 않는다.
한편 기초계층의 잔차데이터가 특정값(Thresholdresidual)보다 큰 경우(S105), 잔차 예측 플래그(residual_prediction_flag)를 선택적으로 1 또는 0을 가질 수 있다. 선택을 위해서 예측결정 플래그를 설정하는 기준을 정할 수 있다. S110 단계에 서 기초계층의 모션벡터(BaseMV)와 향상계층 또는 현재 계층의 모션벡터(CurrMV)의 차이가 특정값(ThresholdMV)보다 작은 경우, 기초계층의 잔차 데이터를 사용할 가능성이 높다. 따라서 예측결정 플래그를 1로 한다(S111). 한편 S110 단계에서 기초계층의 모션벡터(BaseMV)와 향상계층 또는 현재 계층의 모션벡터(CurrMV)의 차이가 특정값(ThresholdMV)보다 큰 경우, 기초계층의 잔차 데이터를 사용할 가능성이 낮다. 따라서 예측결정 플래그를 0으로 한다(S112). S111과 S112 단계에서 설정한 예측결정 플래그 및 예측결정 플래그와 잔차 예측 플래그(residual_prediction_flag)의 차이인 잔차예측 차이 플래그를 코딩한다. 인코딩 단에서는 매크로블록별로, 또는 슬라이스 단위 또는 프레임 단위로 상기의 예측결정 플래그와 잔차예측 차이 플래그를 코딩할 수 있다.
도 5는 본 발명의 일 실시예에 따른 도 4에서 인코딩된 데이터를 디코딩하는 순서도이다. 먼저 인코딩된 데이터에서 기초계층의 잔차 데이터를 구한다(S151). 잔차데이터가 특정값(Thresholdresidual)보다 적은 경우(S155), 인코딩된 예측결정 플래그와 잔차예측 차이 플래그의 차이를 통해 잔차예측 플래그(residual_prediction_flag)를 설정한다(S161). 인코딩 측에서 예측 결정 플래그를 PrdRpFlag, 잔차예측 차이 플래그를 residual_pred_flag_diff로 둘 경우, residual_pred_flag_diff = PrdRpFlag - residual_prediction_flag로 구해진다. 따라서 residual_prediction_flag를 구하기 위해서는 PrdRpFlag와 residual_pred_flag_diff의 차이를 구하면 얻을 수 있다.
잔차데이터가 특정값(Thresholdresidual)보다 큰 경우(S155), 잔차 예측 플래그(residual_prediction_flag)를 참조하여 향상계층을 생성한 것이 아니므로 잔차 예측 플래그를 0으로 설정한다(S162).
전술한 과정은 기초 계층의 잔차데이터를 참조하는지 여부와 관련된 잔차예측 플래그 대신에 다른 정보를 인코딩하여 인코딩 효율을 향상시키는 경우를 살펴보았다. 이와 유사한 방식으로 기초 계층의 모션 정보를 참조하는 모션예측 플래그 대신에 다른 정보를 인코딩하여 인코딩 효율을 향상시키는 경우를 살펴보고자 한다.
도 6은 비디오 코딩에서의 모션 예측(Residual prediction)의 예를 보여준다. 모션 예측이란 기초계층의 모션벡터를 참조하여 향상계층 또는 현재 계층의 모션 벡터를 예측하는 것을 의미한다. 따라서 모션예측 플래그(motion_prediction_flag)가 1인 경우 기초계층의 모션 벡터를 참조하여 향상계층의 모션벡터를 예측한다. 반대로 0인 경우, 기초계층의 모션 벡터를 참조하지 않는다. 도 6의 21과 25는 매크로 블록 또는 서브블록, 슬라이스, 프레임 등의 하나이다. 설명의 편의를 위해 매크로블록을 중심으로 한다. 기초계층의 매크로블록(21)의 모션벡터와 향상계층의 매크로블록(25)의 모션벡터를 비교해보면 동일하다. 이 경우, 모션예측 플래그(motion_prediction_flag)를 코딩할 필요가 없으므로, 이 단계를 건너뛴다. 여기에서, 두 모션벡터가 같은지 다른지 여부보다 일정 기준(ThresholdMotion) 이하인 경우에는 모션예측 플래그를 코딩하지 않는 방식을 차용할 수 있다.
한편, 기초계층의 모션벡터와 공간적으로 이웃한 영역을 통해 구해진 모션벡터를 비교하여 모션예측 플래그(motion_prediction_flag)를 판단할 수 있다. 공간적으로 이웃하는 영역으로부터 산출된 모션벡터는 정확한 모션 벡터를 제공한다. 그러나, 모션 예측이 항상 정확하게 수행되는 것은 아니다. 그 결과 모션 벡터에 있어서의 큰 차이를 가져올 수 있다. 기초계층의 모션벡터를 통한 예측이 공간적 모션 예측보다 정확성이 낮은 경우라도, 전반적으로 합리적인 결과를 제공한다. 이 관점에서 모션예측 플래그(motion_prediction_flag)를 예측하는데 상기의 두 모션 벡터의 차이를 사용할 수 있다.
매크로블록(22)와 매크로블록(26)의 모션벡터의 차이가 특정 값(ThresholdMV) 이상인 경우에는 모션예측 플래그(motion_prediction_flag)를 1로 설정할 가능성이 높으므로, 예측결정 플래그(PrdMotPrdFlag)를 1로 한다. 반면 매크로블록(22)와 매크로블록(26)의 모션벡터의 차이가 특정 값(ThresholdMV) 이하인 경우에는 모션예측 플래그(motion_prediction_flag)를 0로 설정할 가능성이 높으므로, 예측결정 플래그(PrdMotPrdFlag)를 0으로 한다.
상기의 과정을 거쳐 예측결정 플래그의 값을 정하면, 이 값과 모션예측 플래그(motion_prediction_flag)의 차이를 구하여 인코딩한다. 차이는 모션예측 차이 플래그(motion_pred_flag_diff)에 설정하여 인코딩할 수 있다.
도 7은 본 발명의 일 실시예에 따른 모션예측 플래그의 인코딩 효율을 높이 는 순서도이다. 먼저 기초계층으로부터 예측한 모션 벡터(Predict_MV_From_BaseLayer)와 공간적으로 이웃한 영역으로부터 예측한 모션 벡터(Predict_MV_From_Spatia)를 구한다(S201). 그리고 두 모션 벡터간의 차이가 특정 값(ThresholdMotion)보다 작은 경우에는 모션예측 플래그를 인코딩하지 않는다(S205). 한편 두 모션 벡터간의 차이가 특정 값(ThresholdMotion)보다 큰 경우에는 모션예측 플래그 대신에 모션예측 플래그를 예측하기 위한 예측결정 플래그를 설정하는 과정으로 진행한다. 기초계층으로부터 예측한 모션벡터(Predict_MV_From_BaseLayer)와 공간적으로 이웃한 모션벡터(Predict_MV_From_Spatia)의 차이가 특정 값(ThresholdMV)보다 큰 경우와 작은 경우에 따라 예측결정 플래그를 설정하는 값이 달라진다(S210).
S210에서 차이가 특정 값(ThresholdMV)보다 큰 경우에는 예측결정 플래그를 1로 설정하며(S211), S210에서 특정 값(ThresholdMV)보다 작은 경우에는 예측결정 플래그를 0으로 설정한다(S212). S211과 S212 단계에서 설정한 예측결정 플래그의 값과 모션예측 플래그(motion_prediction_flag)의 차이인 모션예측 차이 플래그와 예측결정 플래그를 인코딩한다(S220).
도 8은 본 발명의 일 실시예에 따른 도 7에서 인코딩된 데이터를 디코딩하는 순서도이다. 먼저 인코딩된 데이터에서 기초계층에서 예측한 모션벡터 및 공간적으로 이웃한 영역에서 모션벡터를 구한다(S251). 두 모션벡터의 차이가 특정값 (ThresholdMotion)보다 적은 경우(S255), 인코딩된 예측결정 플래그와 모션예측 차이 플래그의 차이를 통해 모션예측 플래그(motion_prediction_flag)를 설정한다(S261). 인코딩 측에서 예측 결정 플래그를 PrdRpFlag, 모션예측 차이 플래그를 motion_pred_flag_diff로 둘 경우, motion_pred_flag_diff = PrdRpFlag - motion_prediction_flag로 구해진다. 따라서 motion_prediction_flag를 구하기 위해서는 PrdRpFlag와 motion_pred_flag_diff의 차이를 구하면 얻을 수 있다.
모션벡터의 차이가 특정값(ThresholdMotion)보다 큰 경우(S255), 모션 예측 플래그(motion_prediction_flag)를 0으로 설정한다(S262).
본 실시예에서 사용되는 '~부'라는 용어, 즉 '~모듈' 또는 '~테이블' 등은 소프트웨어, FPGA(Field Programmable Gate Array) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)와 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 기능들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들 안에서 제공되는 기 능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 모듈들은 디바이스 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
도 9는 본 발명의 일 실시예에 따른 비디오 인코더의 구조를 보여주는 예시도이다. 도 9 및 후술하는 도 10의 설명에서는 하나의 기초 계층과 하나의 향상 계층을 사용하는 경우를 예로 들겠지만, 더 많은 계층을 이용하더라도 하위 계층과 현재 계층 간에는 본 발명을 적용할 수 있음은 당업자라면 충분히 알 수 있을 것이다.
상기 비디오 인코더(500)는 크게 향상 계층 인코더(400)와 기초 계층 인코더(300)로 구분될 수 있다. 먼저, 기초 계층 인코더(300)의 구성을 살펴 본다.
다운 샘플러(310)는 입력된 비디오를 기초 계층에 맞는 해상도와 프레임율, 또는 비디오 영상의 크기에 따라 다운 샘플링한다. 해상도면에서의 다운 샘플링은 MPEG 다운 샘플러나 웨이블릿 다운샘플러를 이용할 수 있다. 그리고, 프레임율 면에서의 다운 샘플링은 프레임 스킵 또는 프레임 보간 등의 방법을 통하여 간단히 수행될 수 있다. 비디오 영상의 크기에 따른 다운 샘플링은 원래 입력된 비디오가 16:9이어도 4:3으로 보여지도록 하는 것을 의미한다. 비디오 정보에서 경계 영역에 해당하는 정보를 제거하거나 비디오 정보를 해당 화면 크기에 맞게 축소하는 방식을 사용할 수 있다.
모션 추정부(350)는 기초 계층 프레임에 대해 모션 추정을 수행하여 기초 계층 프레임을 구성하는 파티션 별로 모션 벡터(mv)를 구한다. 이러한 모션 추정은 프레임 버퍼에 저장된 이전의 참조 프레임(Fr')상에서, 현재 프레임(Fc)의 각 파티션과 가장 유사한, 즉 가장 에러가 작은 영역을 찾는 과정으로서, 고정 크기 블록 매칭 방법, 또는 계층적 가변 사이즈 블록 매칭 등 다양한 방법을 사용할 수 있다. 상기 참조 프레임(Fr')은 프레임 버퍼(380)에 의하여 제공될 수 있다. 다만, 도 9의 기초 계층 인코더(300)는 복원된 프레임을 참조 프레임으로 이용하는 방식, 즉 폐루프 부호화 방식을 채택하고 있지만, 이에 한하지 않고 다운 샘플러(310)에 의하여 제공되는 원래 기초 계층 프레임을 참조 프레임으로 이용하는 개루프 부호화 방식을 채택할 수도 있다.
한편 모션 추정부(350)의 모션 벡터(mv)는 가상 영역 프레임 생성부(390)에 전달된다. 이는 현재 프레임의 경계 영역 블록의 모션 벡터가 프레임의 중앙을 향하는 경우, 가상 영역을 부가한 가상 영역 프레임을 생성하기 위함이다.
모션 보상부(360)는 상기 구한 모션 벡터를 이용하여 상기 참조 프레임을 모션 보상(motion compensation)한다. 그리고, 차분기(315)는 기초 계층의 현재 프레임(Fc)과 상기 모션 보상된 참조 프레임을 차분함으로써 잔차 프레임(residual frame)을 생성한다.
변환부(320)는 상기 생성된 잔차 프레임에 대하여, 공간적 변환(spatial transform)을 수행하여 변환 계수(transform coefficient)를 생성한다. 이러한 공간적 변환 방법으로는, DCT(Discrete Cosine Transform), 웨이블릿 변환(wavelet transform) 등의 방법이 주로 이용된다. DCT를 사용하는 경우 상기 변환 계수는 DCT 계수를 의미하고, 웨이블릿 변환을 사용하는 경우 상기 변환 계수는 웨이블릿 계수를 의미한다.
양자화부(330)는 변환부(320)에 의하여 생성되는 변환 계수를 양자화(quantization)한다. 양자화(quantization)란 임의의 실수 값으로 표현되는 상기 DCT 계수를 양자화 테이블에 따라 소정의 구간으로 나누어 불연속적인 값(discrete value)으로 나타내고, 이를 대응되는 인덱스로 매칭(matching)시키는 작업을 의미한다. 이와 같이 양자화된 결과 값을 양자화 계수(quantized coefficient)라고 한다.
엔트로피 부호화부(340)은 양자화부(330)에 의하여 생성된 양자화 계수, 모션 추정부(350)에서 생성된 모션 벡터를 무손실 부호화하여 기초 계층 비트스트림을 생성한다. 이러한 무손실 부호화 방법으로는, 허프만 부호화(Huffman coding), 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding) 등의 다양한 무손실 부호화 방법을 사용할 수 있다.
한편, 역 양자화부(371)는 양자화부(330)에서 출력되는 양자화 계수를 역 양자화한다. 이러한 역 양자화 과정은 양자화 과정의 역에 해당되는 과정으로서, 양자화 과정에서 사용된 양자화 테이블을 이용하여 양자화 과정에서 생성된 인덱스로부터 그에 매칭되는 값을 복원하는 과정이다.
역 변환부(372)는 상기 역 양자화된 결과 값에 대하여 역 공간적 변환을 수행한다. 이러한 역 공간적 변환은 변환부(320)에서의 변환 과정의 역으로 진행되며, 구체적으로 역 DCT 변환, 역 웨이블릿 변환 등이 이용될 수 있다.
가산기(325)는 모션 보상부(360)의 출력 값과 역 변환부(372)의 출력 값을 가산하여 현재 프레임을 복원(Fc')하고 이를 프레임 버퍼(380)에 제공한다. 프레임 버퍼(380)는 상기 복원된 프레임을 일시 저장하였다고 다른 기초 계층 프레임의 인터 예측을 위하여 참조 프레임으로서 제공한다.
복원된 프레임(Fc')은 업샘플러(395)를 거쳐서 향상 계층 인코더(400)에 제공된다. 물론, 기초 계층의 해상도와 향상 계층의 해상도가 동일하다면 상기 업샘플링 과정은 생략될 수 있다.
다음으로, 향상 계층 인코더(200)의 구성을 살펴 본다. 기초 계층 인코더(300)에서 제공된 프레임과 입력 프레임은 차분기(410)로 입력된다. 차분기(210)는 상기 입력 프레임에서 상기 입력된 가상 영역을 포함하는 기초 계층 프레임을 차분하여 잔차 프레임을 생성한다. 상기 잔차 프레임은 변환부(420), 양자화부(430), 및 엔트로피 부호화부(440)를 거쳐서 향상 계층 비트스트림으로 변환되어 출력된다.
향상 계층 인코더(400)의 변환부(420)는 입력 프레임의 매크로블록과 기초 계층 프레임의 매크로블록의 잔차 신호에 대하여 공간적 변환을 수행하여 변환 계수를 생성한다. 이때, 공간적 변환 방법으로 DCT, 웨이블릿 변환 등이 사용됨은 전술하였다. DCT 사용시의 DCT 계수 또는 웨이블릿 변환을 사용시 웨이블릿 계수들은 향상 계층의 매크로블록이 가지는 특성상 유사성이 존재한다. 따라서 이들 계수들 사이에 존재하는 유사성을 제거하여 압축율을 높이는 과정을 향상 계층 인코더(400)의 변환부(420)가 수행한다.
한편 도 4와 도 7에서 살펴본 바와 같이, 향상 계층의 데이터가 기초 계층 프레임의 데이터를 참조하는지 여부에 대해, 예측 데이터와 예측한 결과와의 차이를 인코딩하여 이후 엔트로피 부호화부(440)에서 인코딩되어 전달하는 정보의 손실은 없도록 할 수 있다. 변환부(420)에서 압축을 위해 정보를 비트로 설정하는 과정은 잔차 데이터를 예측하는 경우(도 4)와 모션 벡터를 예측하는 경우(도 7)에서 살펴본 바와 같다.
양자화부(430) 및 엔트로피 부호화부(440)의 기능 및 동작은 각각 양자화부(330) 및 엔트로피 부호화부(340)의 그것들과 마찬가지이므로 중복된 설명은 생략하기로 한다.
도 9에서 나타낸 향상 계층 인코더(400)는 기초 계층 프레임에 대해 잔차 데이터 또는 모션 벡터와 같이 기초 계층 프레임을 참조할 수 있는 데이터가 인코딩 과정에서 기초 계층 프레임의 데이터를 참조하는지 여부를 예측할 수 있다.
도 10은 본 발명의 일 실시예에 따른 비디오 디코더의 구조를 보여주는 예시도이다. 상기 비디오 디코더(550)는 크게 향상 계층 디코더(700)와 기초 계층 디코더(600)로 구분될 수 있다. 먼저, 기초 계층 디코더(600)의 구성을 살펴 본다.
엔트로피 복호화부(610)는 기초 계층 비트스트림을 무손실 복호화하여, 기초 계층 프레임의 텍스쳐 데이터와, 모션 데이터(모션 벡터, 파티션 정보, 참조 프레임 번호 등)를 추출한다.
역 양자화부(620)는 상기 텍스쳐 데이터를 역 양자화한다. 이러한 역 양자화 과정은 비디오 인코더(500) 단에서 수행되는 양자화 과정의 역에 해당되는 과정으로서, 양자화 과정에서 사용된 양자화 테이블을 이용하여 양자화 과정에서 생성된 인덱스로부터 그에 매칭되는 값을 복원하는 과정이다.
역 변환부(630)는 상기 역 양자화된 결과 값에 대하여 역 공간적 변환을 수행하여 잔차 프레임을 복원한다. 이러한 역 공간적 변환은 비디오 인코더(500) 단의 변환부(320)에서의 변환 과정의 역으로 진행되며, 구체적으로 역 DCT 변환, 역 웨이블릿 변환 등이 이용될 수 있다.
한편, 엔트로피 복호화부(610)는 모션 벡터(mv)를 포함한 모션 데이터를 모션 보상부(660)에 제공한다.
모션 보상부(660)는 엔트로피 복호화부(610)로부터 제공되는 모션 데이터를 이용하여, 프레임 버퍼(650)으로부터 제공되는 기 복원된 비디오 프레임, 즉 참조 프레임을 모션 보상하여 모션 보상 프레임을 생성한다.
가산기(615)는 역 변환부(630)에서 복원되는 잔차 프레임과 상기 모션 보상부(660)에서 생성된 모션 보상 프레임을 가산하여 기초 계층 비디오 프레임을 복원한다. 복원된 비디오 프레임은 프레임 버퍼(650)에 일시 저장될 수 있으며, 이후의 다른 프레임의 복원을 위하여 모션 보상부(660)에 참조 프레임으로서 제공될 수 있다.
현재 프레임을 복원한 Fc'는 업샘플러(680)를 거쳐서 향상 계층 디코더(700)에 제공된다. 따라서, 기초 계층의 해상도와 향상 계층의 해상도가 동일하다면 상기 업샘플링 과정은 생략될 수 있다. 만약 기초 계층의 비디오 정보가 향상 계층의 비디오 정보와 비교해서 일부 영역 정보가 제거된 경우라면, 역시 상기 업샘플링 과정은 생략될 것이다.
다음으로, 향상 계층 디코더(700)의 구성을 살펴 본다. 향상 계층 비트스트림이 엔트로피 복호화부(710)에 입력되면, 엔트로피 복호화부(710)는 상기 입력된 비트스트림을 무손실 복호화하여, 비동기 프레임에 대한 텍스쳐 데이터를 추출한다.
그리고, 상기 추출된 텍스쳐 데이터는 역 양자화부(720) 및 역 변환부(730)를 거쳐서 잔차 프레임으로 복원된다. 역 양자화부(720)의 기능 및 동작은 기초 계층 디코더(550)의 역 양자화부(620)와 유사한 방식으로 구성된다.
가산기(715)는 상기 복원된 잔차 프레임과 기초 계층 디코더(600)로부터 제공되는 기초 계층 프레임을 가산하여 프레임을 복원한다.
향상 계층 디코더(700)의 역변환부(730)가 잔차 프레임을 복원하기 위해서는 도 5 또는 도 7에서 살펴본 과정을 진행할 수 있다. 향상 계층의 데이터가 기초 계층 프레임의 복호화된 데이터를 참조하는지 여부를 알기 위해 기초 계층 프레임을 구성하는 데이터, 예를 들어 잔차 데이터 또는 모션 벡터 등을 검토한다. 도 5에서 기초 계층의 잔차 데이터가 특정값(Thresholdresidual)보다 낮은 경우, 기초 계층의 잔차 데이터가 향상 계층의 잔차 데이터를 예측하는데 참조가 되지 않으므로, 예측 플래그의 값을 0으로 설정하도록 하는 과정이 진행된다. 또한 도 8에서 살펴본 바와 같이 기초 계층의 모션 벡터와 공간적으로 이웃한 모션 벡터의 차이를 구해서 그 차이가 특정 값(ThresholdMotion)보다 낮은지 높은지에 따라, 기초 계층의 모션 벡터를 예측값으로 사용하지 않을 수 있으므로 이에 해당하는 정보인 모션 예측 플래 그를 0으로 설정할 수 있다.
이상 도 10에서 나타낸 향상 계층 디코더(700)는 기초 계층 프레임에 대해 인트라 BL 예측을 통해 디코딩하는 것을 중심으로 설명하였다. 이외에도 도 2에서 설명한 바와 같이 인터 예측 또는 인트라 예측 방법을 선택적으로 선택적으로 이용하여 디코딩할 수 있음은 당업자라면 이해할 수 있을 것이다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명을 구현함으로써 기초 계층의 데이터에서 향상 계층의 데이터가 기초 계층의 데이터를 참조하는지 여부를 판단하여 데이터의 압축율을 높일 수 있다.

Claims (40)

  1. 다계층 기반의 비디오 인코더에서
    (a) 입력 프레임에서 기초 계층 프레임을 생성하는 단계;
    (b) 상기 입력 프레임에서 상기 기초 계층 프레임을 참조하는 향상 계층의 데이터를 생성하는 단계; 및
    (c) 상기 기초 계층 프레임의 데이터가 상기 향상 계층의 데이터를 예측할 수 있는지 판단한 결과에 따라 상기 향상 계층의 데이터를 인코딩하는 단계를 포함하는, 인코딩 방법.
  2. 제 1항에 있어서,
    상기 (a) 단계는 상기 기초계층 프레임과 시간적 차이를 두는 제 2 프레임과 상기 기초계층 프레임과의 차분에 의한 잔차 데이터를 구하는 단계를 포함하며,
    상기 잔차 데이터의 에너지가 특정 값 이하인 경우, 상기 (c) 단계는 상기 향상 계층의 데이터가 상기 기초 계층 프레임의 데이터를 참조하는지 여부에 대한 예측 정보를 제외하고 상기 향상 계층의 데이터를 인코딩하는 단계를 포함하는, 인코딩 방법.
  3. 제 1항에 있어서,
    상기 특정 값은 에너지가 0인 경우인, 인코딩 방법.
  4. 제 1항에 있어서,
    상기 (a) 단계는 상기 기초계층 프레임과 시간적 차이를 두는 제 2 프레임과 상기 기초계층 프레임과의 차분에 의한 잔차 데이터를 구하는 단계를 포함하며,
    상기 잔차 데이터의 에너지가 특정 값 이상인 경우, 상기 (c) 단계는
    (d) 상기 기초 계층 프레임의 데이터의 모션 벡터와 상기 향상 계층의 데이터의 모션 벡터의 차이를 계산하는 단계;
    (e) 상기 두 모션 벡터의 차이에 따라 상기 기초 계층의 데이터를 참조할 것인지 여부를 예측하는 결정 정보를 설정하는 단계; 및
    (f) 상기 (e) 단계에서 설정한 결정 정보와 상기 기초 계층 프레임의 데이터를 참조하는지 여부에 대한 정보의 차이를 포함함하는 상기 향상 계층의 데이터를 인코딩하는 단계를 포함하는, 인코딩 방법.
  5. 제 1항에 있어서,
    상기 (c) 단계는
    (d) 상기 향상 계층의 데이터가 상기 기초계층 프레임의 데이터에서 예측한 모션 벡터를 구하는 단계;
    (e) 상기 향상 계층의 데이터에서 공간적으로 이웃한 영역의 데이터에서 예측한 모션 벡터를 구하는 단계; 및
    (f) 상기 (d) 단계와 상기 (e) 단계에서 구한 모션 벡터의 차이가 특정 값 이하인 경우, 상기 향상 계층의 데이터가 상기 기초 계층 프레임의 모션 벡터를 참조하는지 여부에 대한 정보를 제외하고 상기 향상 계층의 데이터를 인코딩하는 단계를 포함하는, 인코딩 방법.
  6. 제 1항에 있어서,
    상기 특정 값은 차이가 0인 경우인, 인코딩 방법.
  7. 제 1항에 있어서,
    상기 (c) 단계는
    (d) 상기 향상 계층의 데이터가 상기 기초계층 프레임의 데이터에서 예측한 모션 벡터를 구하는 단계;
    (e) 상기 향상 계층의 데이터에서 공간적으로 이웃한 영역에서 예측한 모션 벡터를 구하는 단계;
    (f) 상기 (d) 단계와 상기 (e) 단계에서 구한 모션 벡터의 차이에 따라 상기 기초 계층 프레임의 데이터의 모션 벡터를 참조할 것인지 여부를 예측하도록 결정 정보를 설정하는 단계; 및
    (g) 상기 (f) 단계에서 설정한 결정 정보와 상기 기초 계층 프레임의 데이터의 모션 벡터를 참조하는지 여부에 대한 정보의 차이를 포함하여 상기 향상 계층의 데이터를 인코딩하는 단계를 포함하는, 인코딩 방법.
  8. 제 1항에 있어서,
    상기 (c) 단계의 향상 계층의 데이터는
    상기 향상 계층의 데이터가 상기 기초 계층 프레임의 데이터를 참조할 것인지 여부를 예측하기 위한 결정 정보 및
    상기 기초 계층 프레임의 데이터를 참조할 것인지에 대한 예측 정보와 상기 결정 정보의 차이를 포함하는, 인코딩 방법.
  9. 제 1항에 있어서,
    상기 인코딩하는 단계는 엔트로피 인코딩 방식으로 인코딩하는 단계를 포함하는, 인코딩 방법.
  10. 제 1항에 있어서,
    상기 기초 계층 프레임의 데이터와 향상 계층의 데이터는 매크로블록, 슬라이스, 또는 프레임 중 하나인, 인코딩 방법.
  11. 다계층 기반의 비디오 디코더에서
    (a) 입력된 기초 계층 프레임을 디코딩하는 단계;
    (b) 상기 디코딩된 기초 계층 프레임의 데이터가 상기 기초 계층 프레임을 참조하는 향상 계층의 데이터를 예측하는데 필요한지 여부를 판단하는 단계; 및
    (c) 상기 판단한 결과에 따라 상기 향상 계층의 데이터를 디코딩하는 단계를 포함하는, 디코딩 방법.
  12. 제 11항에 있어서,
    상기 (b) 단계의 기초 계층 프레임의 데이터가 상기 기초 계층 프레임과 시간적 차이를 두는 제 2 프레임과의 차분에 의한 잔차 데이터를 포함하며 상기 잔차 데이터의 에너지가 특정 값 이하인 경우,
    상기 (c) 단계는 상기 향상 계층의 데이터가 상기 기초 계층 프레임의 데이터를 참조하지 않는 것으로 예측 정보를 설정하여 상기 향상 계층의 데이터를 디코딩하는 단계를 포함하는, 디코딩 방법.
  13. 제 11항에 있어서,
    상기 특정 값은 에너지가 0인 경우인, 디코딩 방법.
  14. 제 11항에 있어서,
    상기 (b) 단계의 기초 계층 프레임의 데이터가 상기 기초 계층 프레임과 시간적 차이를 두는 제 2 프레임과의 차분에 의한 잔차 데이터를 포함하며 상기 잔차 데이터의 에너지가 특정 값 이상인 경우,
    상기 (c) 단계는
    (d) 상기 인코딩된 향상 계층의 데이터를 디코딩시 상기 기초 계층 프레임의 잔차 데이터를 참조하여 예측할 것인지 결정하는 결정 정보와 상기 결정 정보와 상 기 기초 계층 프레임의 잔차 데이터를 참조하여 예측할 것인지 여부에 대한 예측 정보의 차이에 대한 값을 포함하는 정보를 디코딩하는 단계를 포함하는, 디코딩 방법.
  15. 제 11항에 있어서,
    상기 (b) 단계는
    (d) 상기 향상 계층의 데이터가 상기 기초계층 프레임의 데이터에서 예측한 모션 벡터를 구하는 단계;
    (e) 상기 향상 계층의 데이터에서 공간적으로 이웃한 영역에서 예측한 모션 벡터를 구하는 단계; 및
    (f) 상기 (d) 단계와 상기 (e) 단계에서 구한 모션 벡터의 차이가 특정 값 이하인 경우, 상기 (c) 단계는 상기 향상 계층의 데이터가 상기 기초 계층 프레임의 데이터의 모션 벡터를 참조하지 않는 것으로 상기 예측 정보를 설정하여 상기 향상 계층의 데이터를 디코딩하는 단계를 포함하는, 디코딩 방법.
  16. 제 11항에 있어서,
    상기 특정 값은 차이가 0인 경우인, 디코딩 방법.
  17. 제 11항에 있어서,
    상기 (c) 단계는
    (d) 상기 향상 계층의 데이터가 상기 기초계층 프레임의 데이터에서 예측한 모션 벡터를 구하는 단계;
    (e) 상기 향상 계층의 데이터에서 공간적으로 이웃한 영역에서 예측한 모션 벡터를 구하는 단계; 및
    (f) 상기 (d) 단계와 상기 (e) 단계에서 구한 모션 벡터의 차이가 특정 값 이상인 경우, 상기 (c) 단계는
    상기 인코딩된 향상 계층의 데이터를 디코딩시 상기 기초 계층 프레임의 모션 벡터를 참조하여 예측할 것인지 결정하는 결정 정보와 상기 결정 정보와 상기 기초 계층 프레임의 모션 벡터를 참조하여 예측할 것인지 여부에 대한 예측 정보의 차이에 대한 값을 포함하는 정보를 디코딩하는 단계를 포함하는, 디코딩 방법.
  18. 제 11항에 있어서,
    상기 (c) 단계의 향상 계층의 데이터는
    상기 향상 계층의 데이터가 상기 기초 계층 프레임의 데이터를 참조할 것인지 여부를 예측하기 위한 결정 정보 및
    상기 기초 계층 프레임의 데이터를 참조할 것인지에 대한 예측 정보와 상기 결정 정보의 차이에 대한 값을 포함하는, 디코딩 방법.
  19. 제 11항에 있어서,
    상기 디코딩하는 단계는 엔트로피 디코딩 방식으로 디코딩하는 단계를 포함 하는, 디코딩 방법.
  20. 제 11항에 있어서,
    상기 기초 계층 프레임의 데이터와 향상 계층의 데이터는 매크로블록, 슬라이스, 또는 프레임 중 하나인, 디코딩 방법.
  21. 입력 프레임에서 기초 계층 프레임을 생성하는 기초 계층 인코더; 및
    상기 입력 프레임에서 상기 기초 계층 프레임을 참조하는 향상 계층의 데이터를 생성하는 향상 계층 인코더를 포함하며,
    상기 향상 계층 인코더는 상기 기초 계층 프레임의 데이터가 상기 향상 계층의 데이터를 예측할 수 있는지 판단한 결과에 따라 상기 향상 계층의 데이터를 인코딩하는 변환부를 포함하는, 비디오 인코더.
  22. 제 21항에 있어서,
    상기 기초 계층 인코더는 상기 기초계층 프레임과 시간적 차이를 두는 제 2 프레임과 상기 기초계층 프레임과의 차분에 의한 잔차 데이터를 구하며,
    상기 잔차 데이터의 에너지가 특정 값 이하인 경우, 상기 변환부는 상기 향상 계층의 데이터가 상기 기초 계층 프레임의 데이터를 참조하는지 여부에 대한 예측 정보를 제외하고 상기 향상 계층의 데이터를 인코딩하는, 비디오 인코더.
  23. 제 21항에 있어서,
    상기 특정 값은 에너지가 0인 경우인, 비디오 인코더.
  24. 제 21항에 있어서,
    상기 기초 계층 인코더는 상기 기초계층 프레임과 시간적 차이를 두는 제 2 프레임과 상기 기초계층 프레임과의 차분에 의한 잔차 데이터를 구하며,
    상기 잔차 데이터의 에너지가 특정 값 이상인 경우, 상기 변환부는 상기 기초 계층 프레임의 데이터의 모션 벡터와 상기 향상 계층의 데이터의 모션 벡터의 차이를 계산하여, 상기 두 모션 벡터의 차이에 따라 상기 기초 계층의 데이터를 참조할 것인지 여부를 예측하는 결정 정보를 설정하고, 상기 설정한 결정 정보와 상기 기초 계층 프레임의 데이터를 참조하는지 여부에 대한 정보의 차이를 포함하여 상기 향상 계층의 데이터를 인코딩하는, 비디오 인코더.
  25. 제 21항에 있어서,
    상기 변환부는 상기 향상 계층의 데이터가 상기 기초계층 프레임의 데이터에서 예측한 모션 벡터와 상기 향상 계층의 데이터에서 공간적으로 이웃한 영역의 데이터에서 예측한 모션 벡터를 구하고,
    상기 두 모션 벡터의 차이가 특정 값 이하인 경우, 상기 향상 계층의 데이터가 상기 기초 계층 프레임의 모션 벡터를 참조하는지 여부에 대한 정보를 제외하고 상기 향상 계층의 데이터를 인코딩하는, 비디오 인코더.
  26. 제 21항에 있어서,
    상기 특정 값은 차이가 0인 경우인, 비디오 인코더.
  27. 제 21항에 있어서,
    상기 변환부는
    상기 향상 계층의 데이터가 상기 기초계층 프레임의 데이터에서 예측한 모션 벡터와 상기 향상 계층의 데이터에서 공간적으로 이웃한 영역에서 예측한 모션 벡터를 구하고,
    상기 두 모션 벡터의 차이에 따라 상기 기초 계층 프레임의 데이터의 모션 벡터를 참조할 것인지 여부를 예측하도록 결정 정보를 설정하고,
    상기 설정한 결정 정보와 상기 기초 계층 프레임의 데이터의 모션 벡터를 참조하는지 여부에 대한 정보의 차이를 포함하여 상기 향상 계층의 데이터를 인코딩하는, 비디오 인코더.
  28. 제 21항에 있어서,
    상기 향상 계층의 데이터는
    상기 향상 계층의 데이터가 상기 기초 계층 프레임의 데이터를 참조할 것인지 여부를 예측하기 위한 결정 정보 및
    상기 기초 계층 프레임의 데이터를 참조할 것인지에 대한 예측 정보와 상기 결정 정보의 차이를 포함하는, 비디오 인코더.
  29. 제 21항에 있어서,
    상기 변환부는 엔트로피 인코딩 방식으로 인코딩하는, 비디오 인코더.
  30. 제 21항에 있어서,
    상기 기초 계층 프레임의 데이터와 향상 계층의 데이터는 매크로블록, 슬라이스, 또는 프레임 중 하나인, 비디오 인코더.
  31. 입력된 기초 계층 프레임을 디코딩하는 기초 계층 디코더; 및
    상기 기초 계층 프레임을 참조하여 향상 계층의 데이터를 디코딩하는 향상 계층 디코더를 포함하며,
    상기 향상 계층 디코더는 상기 디코딩된 기초 계층 프레임의 데이터가 상기 기초 계층 프레임을 참조하는 향상 계층의 데이터를 예측하는데 필요한지 여부를 판단하여 상기 판단한 결과에 따라 상기 향상 계층의 데이터를 디코딩하는 역변환부를 포함하는, 비디오 디코더.
  32. 제 31항에 있어서,
    상기 기초 계층 프레임의 데이터가 상기 기초 계층 프레임과 시간적 차이를 두는 제 2 프레임과의 차분에 의한 잔차 데이터를 포함하며 상기 잔차 데이터의 에 너지가 특정 값 이하인 경우,
    상기 역변환부는 상기 향상 계층의 데이터가 상기 기초 계층 프레임의 데이터를 참조하지 않는 것으로 예측 정보를 설정하여 상기 향상 계층의 데이터를 디코딩하는, 비디오 디코더.
  33. 제 31항에 있어서,
    상기 특정 값은 에너지가 0인 경우인, 비디오 디코더.
  34. 제 31항에 있어서,
    상기 기초 계층 프레임의 데이터가 상기 기초 계층 프레임과 시간적 차이를 두는 제 2 프레임과의 차분에 의한 잔차 데이터를 포함하며 상기 잔차 데이터의 에너지가 특정 값 이상인 경우,
    상기 역변환부는 상기 인코딩된 향상 계층의 데이터를 디코딩시 상기 기초 계층 프레임의 잔차 데이터를 참조하여 예측할 것인지 결정하는 결정 정보와 상기 결정 정보와 상기 기초 계층 프레임의 잔차 데이터를 참조하여 예측할 것인지 여부에 대한 예측 정보의 차이에 대한 값을 포함하는 정보를 디코딩하는, 비디오 디코더.
  35. 제 31항에 있어서,
    상기 역변환부는 상기 향상 계층의 데이터가 상기 기초계층 프레임의 데이터 에서 예측한 모션 벡터와 상기 향상 계층의 데이터에서 공간적으로 이웃한 영역에서 예측한 모션 벡터를 구하여, 상기 두 모션 벡터의 차이가 특정 값 이하인 경우, 상기 향상 계층의 데이터가 상기 기초 계층 프레임의 데이터의 모션 벡터를 참조하지 않는 것으로 상기 예측 정보를 설정하여 상기 향상 계층의 데이터를 디코딩하는, 비디오 디코더.
  36. 제 31항에 있어서,
    상기 특정 값은 차이가 0인 경우인, 비디오 디코더.
  37. 제 31항에 있어서,
    상기 역변환부는 상기 향상 계층의 데이터가 상기 기초계층 프레임의 데이터에서 예측한 모션 벡터와 상기 향상 계층의 데이터에서 공간적으로 이웃한 영역에서 예측한 모션 벡터를 구하여, 상기 두 모션 벡터의 차이가 특정 값 이상인 경우,
    상기 인코딩된 향상 계층의 데이터를 디코딩시 상기 기초 계층 프레임의 모션 벡터를 참조하여 예측할 것인지 결정하는 결정 정보와 상기 결정 정보와 상기 기초 계층 프레임의 모션 벡터를 참조하여 예측할 것인지 여부에 대한 예측 정보의 차이에 대한 값을 포함하는 정보를 디코딩하는, 비디오 디코더.
  38. 제 31항에 있어서,
    상기 향상 계층의 데이터는
    상기 향상 계층의 데이터가 상기 기초 계층 프레임의 데이터를 참조할 것인지 여부를 예측하기 위한 결정 정보; 및
    상기 기초 계층 프레임의 데이터를 참조할 것인지에 대한 예측 정보와 상기 결정 정보의 차이에 대한 값을 포함하는, 비디오 디코더.
  39. 제 31항에 있어서,
    상기 역변환부는 엔트로피 디코딩 방식으로 디코딩하는, 비디오 디코더.
  40. 제 31항에 있어서,
    상기 기초 계층 프레임의 데이터와 향상 계층의 데이터는 매크로블록, 슬라이스, 또는 프레임 중 하나인, 비디오 디코더.
KR1020050059371A 2005-04-19 2005-07-01 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치 KR100763181B1 (ko)

Priority Applications (11)

Application Number Priority Date Filing Date Title
AU2006201490A AU2006201490B2 (en) 2005-04-19 2006-04-10 Method and apparatus for adaptively selecting context model for entropy coding
EP06252086A EP1715693A3 (en) 2005-04-19 2006-04-18 Method and apparatus for adaptively selecting context model for entropy coding
TW095113739A TW200644646A (en) 2005-04-19 2006-04-18 Method and apparatus for adaptively selecting context model for entropy coding
JP2006114648A JP2006304307A (ja) 2005-04-19 2006-04-18 エントロピーコーディングのコンテキストモデルを適応的に選択する方法及びビデオデコーダ
PCT/KR2006/001419 WO2006112642A1 (en) 2005-04-19 2006-04-18 Method and apparatus for adaptively selecting context model for entropy coding
US11/405,665 US8351502B2 (en) 2005-04-19 2006-04-18 Method and apparatus for adaptively selecting context model for entropy coding
CA 2543947 CA2543947A1 (en) 2005-04-19 2006-04-18 Method and apparatus for adaptively selecting context model for entropy coding
RU2006113092/09A RU2336661C2 (ru) 2005-04-19 2006-04-18 Способ и устройство адаптивного выбора контекстной модели для кодирования по энтропии
BRPI0602466 BRPI0602466A (pt) 2005-04-19 2006-04-19 método de codificação de um sinalizador ("flag") de previsão residual, método para decodificação de uma camada de aprimoramento de um sinal de vìdeo de múltiplas camadas, codificador de vìdeo, decodificador de vìdeo, decodificador para decodificação de uma camada de aprimoramento de um sinal de vìdeo de múltiplas camadas, método de codificação realizado por um codificador de vìdeo de múltiplas camadas, e codificador de vìdeo
ARP060101545A AR053062A1 (es) 2005-04-19 2006-04-19 Metodo y aparato para seleccionar en forma adaptable un modelo de contexto para la codificacion entropica
RU2008106939/09A RU2008106939A (ru) 2005-04-19 2008-02-22 Способ и устройство адаптивного выбора контекстной модели для кодирования по энтропии

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US67254905P 2005-04-19 2005-04-19
US60/672,549 2005-04-19

Publications (2)

Publication Number Publication Date
KR20060110714A true KR20060110714A (ko) 2006-10-25
KR100763181B1 KR100763181B1 (ko) 2007-10-05

Family

ID=37616466

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050059371A KR100763181B1 (ko) 2005-04-19 2005-07-01 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치

Country Status (2)

Country Link
KR (1) KR100763181B1 (ko)
CN (1) CN1917647A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013051897A1 (ko) * 2011-10-05 2013-04-11 한국전자통신연구원 영상 부호화 방법과 영상 복호화 방법
US8432968B2 (en) 2007-10-15 2013-04-30 Qualcomm Incorporated Scalable video coding techniques for scalable bitdepths

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
EP2160900A1 (en) * 2007-06-12 2010-03-10 Thomson Licensing Methods and apparatus supporting multi-pass video syntax structure for slice data
US8155184B2 (en) * 2008-01-16 2012-04-10 Sony Corporation Video coding system using texture analysis and synthesis in a scalable coding framework
US8369415B2 (en) * 2008-03-06 2013-02-05 General Instrument Corporation Method and apparatus for decoding an enhanced video stream
US9167246B2 (en) 2008-03-06 2015-10-20 Arris Technology, Inc. Method and apparatus for decoding an enhanced video stream
US9338475B2 (en) * 2008-04-16 2016-05-10 Intel Corporation Tone mapping for bit-depth scalable video codec
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
JP2010288110A (ja) * 2009-06-12 2010-12-24 Sony Corp 画像処理装置および画像処理方法
KR20110112168A (ko) * 2010-04-05 2011-10-12 삼성전자주식회사 내부 비트뎁스 확장에 기반한 비디오 부호화 방법 및 그 장치, 내부 비트뎁스 확장에 기반한 비디오 복호화 방법 및 그 장치
BR122020007923B1 (pt) 2010-04-13 2021-08-03 Ge Video Compression, Llc Predição interplano
PL3621306T3 (pl) 2010-04-13 2022-04-04 Ge Video Compression, Llc Kodowanie wideo przy wykorzystaniu podpodziałów obrazów multidrzewa
DK2559246T3 (en) 2010-04-13 2016-09-19 Ge Video Compression Llc Fusion of sample areas
CN106028045B (zh) * 2010-04-13 2019-06-25 Ge视频压缩有限责任公司 解码数据流的方法、生成数据流的方法及其解码器
CN106454376B (zh) 2010-04-13 2019-10-01 Ge视频压缩有限责任公司 解码器、重建数组的方法、编码器、编码方法及数据流
CN105915918B (zh) * 2010-04-13 2019-09-06 Ge视频压缩有限责任公司 跨平面预测的方法和装置
CN105704490B (zh) * 2010-04-16 2018-07-31 Sk电信有限公司 视频编码设备
KR101791242B1 (ko) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
US8755620B2 (en) 2011-01-12 2014-06-17 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus for performing arithmetic coding and/or arithmetic decoding
US9060173B2 (en) * 2011-06-30 2015-06-16 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
CN102256125B (zh) * 2011-07-14 2013-06-05 北京工业大学 面向高效视频编码hevc基于上下文的自适应算数编码方法
SI3145197T1 (sl) * 2011-10-31 2018-09-28 Samsung Electronics Co., Ltd, Postopek določanja kontekstnega modela za entropijsko dekodiranje na stopnji transformnega koeficienta
CN103188489B (zh) * 2011-12-30 2016-08-03 联芯科技有限公司 Cbp解析方法及其装置
CN104094604B (zh) 2012-01-20 2017-07-14 太阳专利托管公司 使用时间运动矢量预测对视频进行编码和解码的方法和装置
CN107396101B (zh) 2012-02-03 2019-12-20 太阳专利托管公司 图像编码方法及图像编码装置
JP6421931B2 (ja) 2012-03-06 2018-11-14 サン パテント トラスト 動画像符号化方法及び動画像符号化装置
WO2013147497A1 (ko) * 2012-03-26 2013-10-03 엘지전자 주식회사 스케일러블 비디오 코딩에서 샘플 적응적 오프셋 적용 방법 및 이를 이용한 장치
US9906786B2 (en) * 2012-09-07 2018-02-27 Qualcomm Incorporated Weighted prediction mode for scalable video coding
EP3092806A4 (en) * 2014-01-07 2017-08-23 Nokia Technologies Oy Method and apparatus for video coding and decoding
KR102274322B1 (ko) * 2014-03-06 2021-07-07 삼성전자주식회사 서브 블록 기반 예측을 수행하는 인터 레이어 비디오 복호화 방법 및 그 장치 및 서브 블록 기반 예측을 수행하는 인터 레이어 비디오 부호화 방법 및 그 장치
US9425822B2 (en) * 2014-08-05 2016-08-23 Broadcom Corporation Simplified range and context update for multimedia context-adaptive binary arithmetic coding design
CN117319670A (zh) * 2018-12-13 2023-12-29 华为技术有限公司 色度块的预测方法和装置
CN110290382A (zh) * 2019-05-10 2019-09-27 同济大学 一种残差数据编码和解码方法
KR20220062655A (ko) * 2019-09-23 2022-05-17 알리바바 그룹 홀딩 리미티드 비디오 데이터의 무손실 코딩

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040046890A (ko) * 2002-11-28 2004-06-05 엘지전자 주식회사 동영상 코덱의 공간 스케일러빌리티 구현방법
FR2858741A1 (fr) 2003-08-07 2005-02-11 Thomson Licensing Sa Dispositif et procede de compression d'images numeriques
KR100626651B1 (ko) * 2004-02-17 2006-09-21 한국전자통신연구원 선택적인 미세입자 스케일러블 코딩 장치 및 그 방법
KR20060043115A (ko) * 2004-10-26 2006-05-15 엘지전자 주식회사 베이스 레이어를 이용하는 영상신호의 엔코딩/디코딩 방법및 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8432968B2 (en) 2007-10-15 2013-04-30 Qualcomm Incorporated Scalable video coding techniques for scalable bitdepths
KR101354053B1 (ko) * 2007-10-15 2014-01-27 퀄컴 인코포레이티드 스케일 가능한 비트심도들을 위한 스케일 가능한 비디오 코딩 기법들
WO2013051897A1 (ko) * 2011-10-05 2013-04-11 한국전자통신연구원 영상 부호화 방법과 영상 복호화 방법

Also Published As

Publication number Publication date
KR100763181B1 (ko) 2007-10-05
CN1917647A (zh) 2007-02-21

Similar Documents

Publication Publication Date Title
KR100763181B1 (ko) 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
KR100703774B1 (ko) 인트라 코딩을 선택적으로 적용하여 인트라 bl 예측모드의 비디오 신호를 인코딩 및 디코딩하는 방법 및 장치
KR100746007B1 (ko) 엔트로피 코딩의 컨텍스트 모델을 적응적으로 선택하는방법 및 비디오 디코더
KR100781525B1 (ko) 가중 평균합을 이용하여 fgs 계층을 인코딩 및디코딩하는 방법 및 장치
KR100664929B1 (ko) 다 계층 기반의 비디오 코더에서 모션 벡터를 효율적으로압축하는 방법 및 장치
KR100703734B1 (ko) Dct 업샘플링을 이용한 다 계층 비디오 인코딩/디코딩방법 및 장치
KR100703760B1 (ko) 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치
KR100763194B1 (ko) 단일 루프 디코딩 조건을 만족하는 인트라 베이스 예측방법, 상기 방법을 이용한 비디오 코딩 방법 및 장치
KR100714689B1 (ko) 다 계층 구조 기반의 스케일러블 비디오 코딩 및 디코딩방법, 이를 위한 장치
KR100704626B1 (ko) 다 계층 기반의 모션 벡터를 압축하는 방법 및 장치
KR100703740B1 (ko) 다 계층 기반의 모션 벡터를 효율적으로 부호화하는 방법및 장치
KR100791299B1 (ko) 다 계층 기반의 비디오 인코딩 방법 및 장치
KR100703788B1 (ko) 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
JP2006304307A5 (ko)
JP2006304307A (ja) エントロピーコーディングのコンテキストモデルを適応的に選択する方法及びビデオデコーダ
KR20070075222A (ko) 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
KR100703746B1 (ko) 비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치
KR100763205B1 (ko) 모션 역변환을 사용하여 모션 예측을 수행하는 방법 및장치
KR100843080B1 (ko) 비디오 트랜스코딩 방법 및 장치
WO2006109985A1 (en) Method and apparatus for encoding and decoding video signals in intra-base-layer prediction mode by selectively applying intra-coding
KR100703751B1 (ko) 가상 영역의 영상을 참조하여 인코딩 및 디코딩 하는 방법및 장치
EP1889487A1 (en) Multilayer-based video encoding method, decoding method, video encoder, and video decoder using smoothing prediction

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