KR20070029776A - 색 공간 스케일러블 비디오 코딩 방법 및 이를 위한 장치 - Google Patents

색 공간 스케일러블 비디오 코딩 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20070029776A
KR20070029776A KR1020070009593A KR20070009593A KR20070029776A KR 20070029776 A KR20070029776 A KR 20070029776A KR 1020070009593 A KR1020070009593 A KR 1020070009593A KR 20070009593 A KR20070009593 A KR 20070009593A KR 20070029776 A KR20070029776 A KR 20070029776A
Authority
KR
South Korea
Prior art keywords
bitstream
color space
luminance data
color
data
Prior art date
Application number
KR1020070009593A
Other languages
English (en)
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 KR1020070009593A priority Critical patent/KR20070029776A/ko
Publication of KR20070029776A publication Critical patent/KR20070029776A/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/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/124Quantisation
    • 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/186Methods 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 colour or a chrominance component
    • 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/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

색 공간 스케일러블 비디오 코딩 방법, 이를 위한 장치를 제공한다.
본 발명의 실시예에 따른 색공간 스케일러블 비디오 코딩 방법은 (a) 비디오 입력 프레임의 시간적 중복 및 공간적 중복을 제거하여 변환 계수를 생성하는 단계, (b) 변환 계수를 양자화하는 단계, (c) 양자화된 변환 계수를 엔트로피 부호화하여 비트스트림을 생성하는 단계, 및 (d) 비트스트림 및 비트스트림내의 휘도 데이터의 위치 정보를 포함하는 색공간 스케일러블 비트스트림을 생성하는 단계를 포함한다.
색 공간(Color space), 스케일러블 비디오 코딩, 색 성분(Color component), 색 깊이(Color depth)

Description

색 공간 스케일러블 비디오 코딩 방법 및 이를 위한 장치{Method for color space scalable video coding, and apparatus for the same}
도 1은 본 발명의 실시예에 따른 색 공간 스케일러블 비디오 코딩의 개념이 적용되는 예를 보여주는 도면이다.
도 2는 본 발명의 실시예에 따른 색 공간 스케일러블 비트스트림의 구조의 일 실시예를 보여주는 도면이다.
도 3은 다 계층 구조에서의 색 공간 스케일러블 비트스트림의 구조의 일 실시예를 보여주는 도면이다.
도 4는 FGS 계층 구조에서의 색 공간 스케일러블 비트스트림의 구조의 일 실시예를 보여주는 도면이다.
도 5는 FGS 계층 구조에서의 색 공간 스케일러블 비트스트림의 구조의 다른 실시예를 보여주는 도면이다.
도 6은 본 발명의 실시예에 따른 색 공간 스케일러블 비디오 인코더의 구조를 보여주는 블록도이다.
도 7은 본 발명의 실시예에 따른 색 공간 스케일러블 비디오 디코더의 구조를 보여주는 블록도이다.
도 8은 FGS 계층 구조에서의 색 공간 스케일러블 비디오 인코더의 일 실시예 를 보여주는 블록도이다.
도 9는 FGS 계층 구조에서의 색 공간 스케일러블 비디오 디코더의 일 실시예를 보여주는 블록도이다.
도 10은 본 발명의 실시예에 따른 인코딩 과정을 보여주는 흐름도이다.
도 11은 본 발명의 실시예에 따른 색 성분 스케일러블 비디오 디코딩 과정을 보여주는 흐름도이다.
도 12는 본 발명의 실시예에 따른 색 깊이 스케일러블 비디오 디코딩 과정을 보여주는 흐름도이다.
<도면의 주요 부분에 관한 부호의 설명>
700 : 디코더 710 : 비트스트림 전처리부
720 : 엔트로피 복호화부 730 : 역 양자화부
740 : 역 공간적 변환부 750 : 모션 보상부
본 발명은 색 공간 스케일러블 비디오 코딩 방법 및 이를 위한 장치에 관한 것으로서, 더욱 상세하게는 디코더 측의 성능에 따라 색 성분 또는 색 깊이를 조절할 수 있는 색 공간에 있어서 스케일러블한 비디오 코딩 방법 및 이를 위한 장치에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화 상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 상기 데이터 전송시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 제거함으로써 데이터를 압축할 수 있다. 일반적인 비디오 코딩 방법에 있어서, 시간적 중복은 모션 보상에 근거한 시간적 예측 (temporal prediction)에 의해 제거하고, 공간적 중복은 공간적 변환(spatial transform)에 의해 제거한다.
데이터의 중복을 제거한 후 생성되는 멀티미디어를 전송하기 위해서는, 전송매체가 필요한데 그 성능은 전송매체 별로 차이가 있다. 현재 사용되는 전송매체는 초당 수십 메가비트의 데이터를 전송할 수 있는 초고속통신망부터 초당 384 킬로비트의 전송속도를 갖는 이동통신망 등과 같이 다양한 전송속도를 갖는다. 이와 같은 환경에서, 다양한 속도 전송매체를 지원하기 위하여 또는 전송환경에 따라 이에 적합한 전송률로 멀티미디어를 전송할 수 있도록 하는, 즉 스케일러블 비디오 코 딩(scalable video coding) 방법이 멀티미디어 환경에 보다 적합하다 할 수 있다.
이러한 스케일러블 비디오 코딩이란, 이미 압축된 비트스트림(bit-stream)에 대하여 전송 비트율, 전송 에러율, 시스템 자원 등의 주변 조건에 따라 상기 비트스트림의 일부를 잘라내어 비디오의 해상도, 프레임율, 및 SNR(Signal-to-Noise Ratio) 등을 조절할 수 있게 해주는 부호화 방식을 의미한다. 이러한 스케일러블 비디오 코딩에 관하여, 이미 MPEG-21(moving picture experts group-21) Part 13에서 그 표준화 작업을 진행 중에 있다.
그러나 기존의 스케일러블 비디오 코딩은 색 공간 측면에서의 스케일러빌리티를 제공하지 못하므로, 컬러 영상 대신 그레이 스케일 영상을 필요로 하는 디스플레이 장치라 하더라도 코딩되어 전송된 컬러 영상을 수신하여 디코딩해야 하는 비효율적인 측면이 있다. 또한 24비트 색 깊이를 디스플레이할 수 없는 디스플레이 장치라 하더라도 24 비트 색 깊이로 코딩된 비트스트림을 수신하여 디코딩한 후 필요없는 비트를 절삭하는 비효율적인 측면도 있다.
본 발명이 이루고자 하는 기술적 과제는, 인코더가 디코더에 비트스트림 내의 휘도 데이터의 위치를 알려줌으로써 디코더가 필요에 따라 컬러 영상을 그레이 스케일 영상으로 변환할 수 있는 색 공간 스케일러블 비디오 코딩 및 디코딩 방법을 제공하고자 하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는 디코더가 디스플레이 장치로부터 색 깊이 용량에 관한 정보를 획득하여 디스플레이 장치가 지원하는 색 깊이 용 량을 초과하는 비트를 제거한 후 비트스트림을 복호화하는 색 공간 스케일러블 비디오 코딩 및 디코딩 방법을 제공하고자 하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 색 공간 스케일러블 비디오 코딩 방법은, (a) 비디오 입력 프레임의 시간적 중복 및 공간적 중복을 제거하여 변환 계수를 생성하는 단계; (b) 상기 변환 계수를 양자화하는 단계; (c) 상기 양자화된 변환 계수를 엔트로피 부호화하여 비트스트림을 생성하는 단계; 및 (d) 상기 비트스트림에 상기 비트스트림내의 휘도 데이터의 위치 정보를 삽입하여 색공간 스케일러블 비트스트림을 생성하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 색 공간 스케일러블 비디오 코딩 방법은, (a) 비디오 입력 프레임의 시간적 중복 및 공간적 중복을 제거하여 변환 계수를 생성하는 단계, (b) 변환 계수를 양자화하는 단계, 및 (c) 양자화된 변환 계수를 엔트로피 부호화하여 비트스트림을 생성하는 단계를 포함하며, 비트스트림은 색차 계층의 레벨에 비례하여 색 깊이의 비트 수가 증가한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 색 공간 스케일러블 비디오 인코더는, 비디오 입력 프레임의 시간적 중복을 제거하는 시간적 변환부, 비디오 입력 프레임의 공간적 중복을 제거하는 공간적 변환부, 시간적 변환부 또는 공간적 변환부에 의해 생성되는 변환 계수를 양자화하는 양자화부, 양자화된 변환 계수를 엔트로피 부호화하는 엔트로피 부호화부, 및 엔트로피 부호화부에 의해 생성된 비트스트림 및 비트스트림내의 휘도 데이터의 위치 정보를 포함하는 색공간 스케일러블 비트스트림을 생성하는 색공간 스케일러블 비트스트림 생성부를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 데이터 전송방법은, 다수의 매크로블록을 포함하는 슬라이스의 데이터를 전송하는 방법에 있어서, 상기 슬라이스에 포함된 모든 매크로블록의 휘도데이터를 비트스트림에 삽입하는 단계; 상기 슬라이스에 포함된 모든 매크로블록의 색차데이터를 상기 비트스트림에 삽입하는 단계; 및 상기 휘도데이터와 색차데이터가 포함된 비트스트림을 전송하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 색 공간 스케일러블 비디오 코딩의 개념이 적용되는 예를 보여주는 도면이다.
보안 시스템은 실시간으로 비디오를 디스플레이해야 할 뿐만 아니라 추후의 사용을 위해 비디오 데이터를 보관(20)한다. 비디오 데이터를 보관하는 것은 많은 디스크 공간을 요구하므로 컬러 영상이 아닌 그레이 스케일 영상으로 보관할 경우 디스크 공간을 줄일 수 있다. 따라서 디코더는 디스플레이 장치의 요구사항에 따라 컬러 영상을 그레이 스케일 영상으로 변환하는 기능을 제공할 필요가 있다. 이러한 기능을 이하에서는 색 성분 스케일러빌리티(Color component scalability)라고 한다.
한편, 인코더 측에서 전송된 하나의 비트스트림이 색 깊이(Color depth)의 측면에서 스케일되어 다양한 클라이언트에 전송될 수 있다. 모바일 폰(30)과 PDA(40) 등은 일반적으로 노트북(50)이나 PC(60)에 비해 더 낮은 색 깊이를 제공한다. 이렇게 다양한 색 깊이를 지원하는 디스플레이 장치들에 동일한 비트스트림을 색 깊이의 측면에서 스케일 할 수 있는 기능을 색 깊이 스케일러빌리티(Color depth scalability)라고 한다.
이하에서는 이러한 색 성분 스케일러빌리티와 색 깊이 스케일러빌리티를 통틀어 색 공간 스케일러빌리티(Color space scalability)라 부르기로 한다. 이러한 색 공간 스케일러빌리티는 프리디코더(Pre-decoder) 또는 추출기(Extractor)(11 내 지 14)에 의해 간단히 구현될 수 있다.
대부분의 디지털 비디오 어플리케이션은 컬러 비디오의 디스플레이에 의존하고 있으므로, 컬러 정보를 캡쳐하여 표현하는 메커니즘을 필요로 한다. 흑백 이미지는 각 공간적 샘플의 휘도(Luminance)를 나타내기 위하여 오직 하나의 숫자만을 필요로 한다. 반면, 컬러 이미지는 색상을 정확히 나타내기 위해 픽셀 위치마다 적어도 세 개의 숫자를 필요로 한다. 휘도와 색상을 표현하기 위해 선택된 방법을 색 공간(Color space)이라고 한다. 색 공간에는 RGB 색 공간, YUV 색 공간, YCrCb 색 공간 등이 있다. RGB 색 공간에서는 컬러 이미지 샘플이 빨강, 초록, 파랑의 상대적인 비율을 나타내는 세개의 숫자로 표현된다. RGB 색 공간에서는 세 가지 색상이 똑같이 중요하므로 세 가지 색상이 동일한 해상도로 저장된다. 그러나 인간의 시각 시스템은 색차(Chrominance) 보다는 휘도에 더 민감하므로 색 정보(Color information)로부터 휘도를 분리하여 휘도 데이터를 색차 데이터 보다 더 높은 해상도로 표현함으로써 컬러 이미지를 더욱 효율적으로 표현할 수 있다.
YCrCb 색 공간과 그 변형인 YUV 색 공간은 상기와 같은 인간 시각 시스템을 고려하여 컬러 이미지를 효과적으로 표현하는 대중적인 방법이다. Y는 휘도 성분(Luminance component)인데, 다음 수식 1과 같이 R, G, B 의 가중 평균으로서 계산될 수 있다.
Y = krR + kgG + kbB
여기서 k 는 가중 인수(weighting factor)를 의미한다.
색 정보는 색차 성분(Chrominance component)으로 표현될 수 있는데, 각 색차 성분은 다음 수식 2와 같이 R 또는 G 또는 B와 휘도 Y간의 차이로 표현할 수 있다.
Cb = B - Y
Cr = R - Y
Cg = G - Y
따라서, 휘도 성분과 색차 성분을 분리하여 코딩함으로써 컬러 비트스트림을 그레이 스케일 비트스트림으로 변환할 수 있을 것이다.
도 2는 휘도 성분과 색차 성분을 분리하여 코딩된 색 성분 스케일러블 비트스트림의 구조를 보여주고 있다. 휘도 데이터(230)가 먼저 인코딩되고 그 뒤에 색차 데이터(240)가 인코딩된다. 비트스트림 내에서 휘도 데이터(230)의 위치에 대한 정보가 헤더(210)에 삽입된다. 휘도 데이터의 위치에 대한 정보는 텍스쳐 데이터의 전체 길이와 휘도 데이터의 길이를 포함할 수 있다. 이외에 디코더에 의해 절삭될 수 있는 휘도 데이터의 위치를 나타낼 수 있는 어떠한 형태의 정보도 포함될 수 있을 것이다. 휘도 데이터의 위치에 대한 정보는 GOP(Group Of Picture) 헤더, 픽쳐 헤더, 슬라이스 헤더 또는 비트스트림 내의 적절한 어떠한 위치에도 삽입 가능하다.
디코더는 컬러 비트스트림으로부터 휘도 성분만을 추출할 수 있게 됨으로써 그레이 스케일 비디오 프레임을 복원할 수 있게 된다. 그러나 본 실시예의 경우 매우 단순한 구현으로 색 성분 스케일러빌리티를 달성할 수 있으나, 색 깊이 스케일러빌리티를 제공할 수는 없다.
색 깊이 스케일러빌리티는 24 비트의 해상도에서 디스플레이를 할 수 없는 디스플레이 장치, 예를 들어 PDA 나 모바일 폰 등을 위한 디코더에 필요한 기능이다. 따라서 디코더는 각 디스플레이 장치에 적절한 색 깊이를 사용하는 비트스트림을 제공할 수 있어야 한다. PDA 나 모바일 폰 등의 장치가 완전한 색 깊이의 비트스트림을 처리하도록 하는 것은 대역폭, 디코딩 시간 등의 자원의 낭비이다.
색 깊이 스케일러빌리티는 디코더로 하여금 클라이언트가 지원하는 색 깊이 용량(Color depth capacity)이 얼마인지에 대한 정보를 클라이언트로부터 획득하고 클라이언트에 의해 지원되는 색 깊이 용량을 초과하는 비트를 비트스트림으로부터 제거하게 함으로써 달성될 수 있다. 색 깊이 스케일러빌리티의 구현은 도 3 내지 도 4를 참조하여 설명하도록 한다.
도 3은 다 계층 구조를 이용한 색 성분 스케일러빌리티 및 색 깊이 스케일러빌리티를 제공하기 위한 색 공간 스케일러블 비트스트림의 구조의 일 실시예를 보여주고 있다.
도 3은 색 성분 스케일러빌리티 및 색 깊이 스케일러빌리티를 다 계층 구조 내에서 구현한 모습을 도시하고 있다. 본 실시예에 따른 비트스트림은 복수 개의 계층을 포함하면서 각 계층마다 다른 색 깊이에 따른 텍스쳐 데이터를 포함하게 된다. 즉, 제 1 계층은 12비트 색 깊이를 지원하는 텍스쳐 데이터를 포함하고, 제 2 계층은 16비트 색 깊이를 지원하는 텍스쳐 데이터를 포함하고, 제 3 계층은 24비트 텍스쳐 데이터를 포함하도록 할 수 있다. 이렇게 인코더가 다 계층 구조를 이용하여 다른 색 깊이의 텍스쳐 데이터를 인코딩하여 전송하면, 디코더는 디스플레이 장치가 지원하는 색 깊이 용량(Color depth scalability)에 관한 정보를 획득하고, 수신된 비트스트림으로부터 지원가능한 색 깊이 용량을 초과하는 계층의 비트스트림을 제거한 후 나머지 비트스트림을 복호화하여 비디오 프레임을 복원할 수 있다. 예를 들면, 디스플레이 장치가 색 깊이 16비트를 지원하는 PDA인 경우, 디코더는 제 3 계층에 해당하는 비트스트림을 제거하고 제 1 계층 및 제 2 계층에 해당하는 비트스트림만을 복호화하여 디스플레이 하도록 하게 된다.
한편, 각 계층에 해당하는 비트스트림은 각 계층내의 휘도 데이터(320, 350)를 색차 데이터(330, 360)와 구분할 수 있도록 하는 휘도 데이터의 위치 정보(310, 340)를 포함함으로써, 각 계층내에서 색 성분 스케일러빌리티를 구현할 수 있다. 따라서, 디스플레이 장치가 16비트 색 깊이를 지원하면서 그레이 스케일을 지원하는 경우라면, 디코더는 제 3 계층에 해당하는 비트스트림을 절삭하여 제거하고, 제 1 계층 및 제 2 계층 각각의 휘도 데이터의 위치 정보(310, 340)에 따라 필요없는 색차 데이터(330, 360)도 절삭한 후 비디오 프레임을 복원할 수 있다. 휘도 데이터의 위치 정보는 GOP(Group Of Picture) 헤더, 픽쳐 헤더, 슬라이스 헤더 또는 비트스트림 내의 적절한 어떠한 위치에도 삽입 가능하다. 휘도 데이터의 위치에 대한 정보는 텍스쳐 데이터의 전체 길이와 휘도 데이터의 길이를 포함할 수 있다. 이외에 디코더에 의해 절삭될 수 있는 휘도 데이터의 위치를 나타낼 수 있는 어떠한 형 태의 정보도 포함될 수 있을 것이다.
본 실시예에서는 색 성분 스케일러빌리티와 색 깊이 스케일러빌리티를 모두 지원할 수 있는 비트스트림의 구성에 대하여 설명하였으나, 다 계층 구조를 이용한 색 깊이 스케일러빌리티만을 지원하고자 한다면 각 계층의 휘도 데이터의 위치 정보(310, 340)는 생략될 수 있다.
도 4는 색 성분 스케일러빌리티 및 색 깊이 스케일러빌리티를 FGS 계층 구조 내에서 구현한 모습을 도시하고 있다.
FGS(Fine Grain SNR salability)는 SNR 스케일러빌리티를 구현하는 하나의 기법으로서, SNR 스케일러빌리티는 비디오 입력을 동일한 프레임률과 동일한 해상도를 가지면서 양자화의 정확도가 다른 두 개의 계층으로 부호화하는 기술이다. 특히 FGS(Fine Grain SNR scalability)는 비디오 입력을 기초 계층과 향상 계층의 두 계층으로 인코딩하고, 향상 계층의 잔차 신호를 인코딩 한 후 네트워크 전송 효율 또는 디코더 측의 상황에 따라 전송하지 않거나 전송하더라도 디코더에 의해 디코딩되지 않도록 할 수 있다. 이를 통해 네트워크의 전송 비트율에 따라 데이터의 양을 조절하여 적절히 전송할 수 있다.
SVM(Scalable Video Model) 3.0의 FGS는 점진적인 정제 표현(Refinement representation)을 사용하여 구현된다. FGS에서의 SNR 스케일러빌리티는 FGS 인코딩 결과 생성되는 NAL유닛들을 어느 지점에서도 절삭(Truncate)할 수 있도록 함으로써 달성될 수 있다. FGS는 기초 계층과 FGS 향상 계층으로 구성되는데, 기초 계층은 가장 낮은 전송 비트율에 의해 전송될 수 있는 최소한의 비디오 질을 표현하 는 기초 계층 프레임을 생성하고, FGS 향상 계층은 가장 낮은 전송 비트율 이상에서 적절히 절삭되어 전송되거나 디코더에 의해 적절히 절삭되어 디코딩 될 수 있는 NAL 유닛들을 생성한다. FGS 향상 계층에서는 원본 프레임으로부터 기초 계층 또는 하위 향상 계층에서 얻어진 복원된 프레임을 차분한 잔차 신호를 변환하고 양자화하여 디코더 측에 전송하는데, 상위 계층으로 올라갈수록 양자화 파라미터(Quantization Parameter) 값을 감소시켜 더욱 정교한 잔차를 생성함으로써 SNR 스케일러빌리티를 구현할 수 있다.
본 실시예는 색 깊이 스케일러빌리티를 제 1 FGS 계층(기초 계층), 제 2 FGS 계층(제 1 FGS 향상 계층), 제 3 FGS 계층(제 2 FGS 향상 계층)의 세 개의 FGS 계층을 이용하여 구현하는 방법을 보여주고 있다.
일반적으로 SVM 3.0의 FGS 계층 구조에서는 하나의 계층이 증가하면 텍스쳐 데이터를 위하여 사용할 수 있는 비트수가 하나씩 증가하게 된다. 이를 색 깊이 용량을 증가시키는데 사용하게 되면, 제 1 FGS 계층에 비해 제 2 FGS 계층은 1비트가 많은 색 깊이를 지원할 수 있고, 제 3 FGS 계층은 제 2 FGS 계층에 비해 1비트가 많은 색 깊이를 지원할 수 있게 된다. 이렇게 인코더가 FGS 계층 구조를 이용하여 다른 색 깊이의 텍스쳐 데이터를 인코딩하여 전송하면, 디코더는 디스플레이 장치가 지원하는 색 깊이 용량(Color depth scalability)에 관한 정보를 획득하고, 수신된 비트스트림으로부터 지원가능한 색 깊이 용량을 초과하는 계층의 비트스트림을 제거한 후 나머지 비트스트림을 복호화하여 비디오 프레임을 복원할 수 있다.
한편, 본 실시예에 따른 비트스트림은 색 성분 스케일러빌리티를 지원하기 위해 모든 FGS 계층내의 휘도 데이터(420, 440, 460)를 색차 데이터(430, 450, 470)와 구분할 수 있도록 하는 휘도 데이터의 위치 정보(410)를 포함할 수 있다. 따라서, 디스플레이 장치가 제 2 FGS 계층에 해당하는 색 깊이를 지원하면서 그레이 스케일을 지원하는 경우라면, 디코더는 제 3 계층에 해당하는 비트스트림을 절삭하여 제거하고, 제 1 계층 및 제 2 계층 각각의 휘도 데이터의 위치 정보(410)에 따라 필요없는 색차 데이터(430, 450)도 절삭한 후 비디오 프레임을 복원할 수 있다. 휘도 데이터의 위치 정보는 GOP(Group Of Picture) 헤더, 픽쳐 헤더, 슬라이스 헤더 또는 비트스트림 내의 적절한 어떠한 위치에도 삽입 가능하다. 본 실시예에 따른 휘도 데이터의 위치에 대한 정보는 각 FGS 계층내의 텍스쳐 데이터의 전체 길이와 휘도 데이터의 길이를 포함할 수 있다. 이외에 디코더에 의해 절삭될 수 있는 휘도 데이터의 위치를 나타낼 수 있는 어떠한 형태의 정보도 포함될 수 있을 것이다.
본 실시예에서는 색 성분 스케일러빌리티와 색 깊이 스케일러빌리티를 모두 지원할 수 있는 비트스트림의 구성에 대하여 설명하였으나, FGS를 이용한 색 깊이 스케일러빌리티만을 지원하고자 한다면 각 FGS 계층에 대한 휘도 데이터의 위치 정보(410)는 생략될 수 있다.
도 5는 FGS를 이용한 색 공간 스케일러블 비트스트림의 다른 실시예를 보여주는 도면이다.
도 5에 도시된 실시예도 도 4에서 상술한 바와 같이 FGS를 이용하여 색 공간 스케일러블 코딩 및 디코딩을 하기 위한 비트스트림의 구조를 보여주고 있다. 다 만, 도 4에 도시된 실시예는 FGS 계층의 순서대로 휘도 데이터 및 색차 데이터로 구성된 텍스쳐 데이터를 포함하는 구조인 반면, 도 5에 도시된 실시예는 모든 FGS 계층의 휘도 데이터(520 내지 540)를 모든 FGS 계층의 색차 데이터(550 내지 570)로부터 분리하여 비트스트림의 앞쪽에 배치하는 구조이다. 본 실시예 또한 색 깊이 스케일러빌리티 및 색 성분 스케일러빌리티를 제 1 FGS 계층(기초 계층), 제 2 FGS 계층(제 1 FGS 향상 계층), 제 3 FGS 계층(제 2 FGS 향상 계층)의 세 개의 FGS 계층을 이용하여 구현한 것으로, 디코더는 디스플레이 장치가 지원하는 색 깊이 용량(Color depth capacity)에 관한 정보를 획득하고, 수신된 비트스트림으로부터 지원가능한 색 깊이 용량을 초과하는 계층의 비트스트림을 제거한 후 나머지 비트스트림을 복호화하여 비디오 프레임을 복원할 수 있다. 특히, 본 실시예에 따른 비트스트림은 색 성분 스케일러빌리티를 지원하기 위해 휘도 데이터와 색차 데이터의 경계(540과 550의 경계)에 대한 위치 정보(510)를 포함할 수 있다. 이 경우 색차 데이터를 포기함으로써 최대의 휘도 데이터를 이용할 수 있게 되므로 높은 선명도(Sharpness)의 그레이 스케일의 영상을 복원할 수 있게 된다.
도 6은 본 발명의 실시예에 따른 색 공간 스케일러블 비디오 인코더(600)의 구조를 보여주는 블록도이다.
색 공간 스케일러블 비디오 인코더(600)는 시간적 변환부(610), 공간적 변환부(620), 양자화부(630), 엔트로피 부호화부(640), 색 공간 스케일러블 비트스트림 생성부(650), 역 양자화부(660), 역 공간적 변환부(670)를 포함하여 구성될 수 있다. 시간적 변환부(610)는 다시 모션 추정부(612), 모션 보상부(614) 및 차분 기(616)로 세분될 수 있다.
모션 추정부(612)는 입력 비디오 프레임 중에서, 참조 프레임을 기준으로 현재 프레임의 모션 추정을 수행하고 모션 벡터를 구한다. 이러한 움직임 추정을 위해 널리 사용되는 알고리즘은 블록 매칭(block matching) 알고리즘이다. 즉, 주어진 모션 블록을 참조 프레임의 특정 탐색영역 내에서 픽셀단위로 움직이면서 그 에러가 최저가 되는 경우의 변위를 움직임 벡터로 추정하는 것이다. 모션 추정을 위하여 고정된 크기의 모션 블록을 이용할 수도 있지만, 계층적 가변 사이즈 블록 매칭법(Hierarchical Variable Size Block Matching; HVSBM)에 의한 가변 크기를 갖는 모션 블록을 이용하여 모션 추정을 수행할 수도 있다. 모션 추정부(612)는 모션 추정 결과 구해지는 모션 벡터, 모션 블록의 크기, 참조 프레임 번호 등의 모션 데이터를 엔트로피 부호화부(640)에 제공한다.
모션 보상부(614)는 상기 입력 비디오 프레임의 시간적 중복성을 감소시킨다. 이 경우 모션 보상부(614)는 상기 모션 추정부(612)에서 계산된 모션 벡터를 이용하여 참조 프레임에 대하여 모션 보상(motion compensation)을 수행함으로써 현재 프레임에 대한 시간적 예측 프레임을 생성한다.
차분기(616)는 현재 프레임과 상기 시간적 예측 프레임을 차분함으로써 비디오의 시간적 중복성을 제거한다.
공간적 변환부(620)는 차분기(616)에 의하여 시간적 중복성이 제거된 프레임에 대하여, 공간적 스케일러빌리티를 지원하는 공간적 변환법을 사용하여 공간적 중복성를 제거한다. 이러한 공간적 변환법으로는 주로 DCT(Discrete Cosine Transform), 웨이블릿 변환(wavelet transform) 등이 사용되고 있다. 공간적 변환 결과 구해지는 계수들을 변환 계수라고 하는데, 공간적 변환으로 DCT를 사용하는 경우 DCT 계수라고 하고, 웨이블릿 변환을 사용하는 경우 웨이블릿 계수라고 한다.
양자화부(630)는 공간적 변환부(620)에서 구한 변환 계수를 양자화한다. 양자화(quantization)란 임의의 실수값으로 표현되는 상기 변환 계수를 일정 구간으로 나누어 불연속적인 값(discrete value)으로 나타내고, 이를 소정의 인덱스로 매칭(matching)시키는 작업을 의미한다. 특히, 공간적 변환 방법으로 웨이블릿 변환을 이용하는 경우에는 양자화 방법으로서 엠베디드 양자화(embedded quantization) 방법을 이용하는 경우가 많다. 이러한 엠베디드 양자화 방법은 상기 변환 계수를 문턱 값을 변경시켜 가면서(1/2로 변경) 그 문턱 값을 넘는 성분을 우선적으로 부호화하는 방식으로서, 공간적 연관성(spatial redundancy)를 이용하여 효율적인 양자화를 수행한다. 이러한 엠베디드 양자화 방법으로는 EZW(Embedded Zerotrees Wavelet Algorithm), SPIHT(Set Partitioning in Hierarchical Trees), EZBC(Embedded ZeroBlock Coding) 등이 있다.
엔트로피 부호화부(640)는 양자화부(630)에 의하여 양자화된 변환 계수와, 모션 추정부(612)에 의하여 제공되는 모션 데이터를 무손실 부호화하고 출력 비트스트림을 생성한다. 이러한 무손실 부호화 방법으로는, 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding) 등이 사용될 수 있다.
색 공간 스케일러블 비트스트림 생성부(650)는 엔트로피 부호화부(640)로부터 제공받은 비트스트림에 양자화부(630)로부터 제공받은 텍스쳐 데이터 중 휘도 데이터의 위치 정보를 적절한 형태로 삽입한다. 색 공간 스케일러블 비트스트림 생성부(650)에 의해 생성되는 비트스트림의 형식은 도 2에서 상술한 바와 같다.
한편, 본 발명의 다른 실시예에서는 색 공간 스케일러블 비트스트림 생성부(650)가 휘도 데이터의 위치 정보를 전체 비트스트림의 헤더가 아닌, 양자화부(630)에 의해 양자화된 텍스쳐 데이터의 헤더 부분에 먼저 삽입하여 엔트로피 부호화부(640)에 제공할 수도 있다. 이 경우 디코더(800) 단에서는 비트스트림을 복호화 한 후 텍스쳐 데이터의 헤더로부터 휘도 데이터의 위치 정보를 추출해낼 수 있을 것이다.
비디오 인코더(600)가 인코더 단과 디코더 단 간의 드리프팅 에러(drifting error)를 감소시키기 위하여 폐루프 비디오 인코딩(closed-loop video encoder)을 지원하는 경우에는, 역양자화부(660), 역 공간적 변환부(670)를 더 포함할 수 있다.
역 양자화부(660)는 양자화부(630)에서 양자화된 계수를 역 양자화한다. 이러한 역 양자화 과정은 양자화 과정의 역에 해당되는 과정이다.
역 공간적 변환부(670)는 상기 역양자화 결과를 역 공간적 변환하고 이를 가산기(680)에 제공한다.
가산기(680)는 역 공간적 변환부(670)로부터 제공되는 잔차 프레임과, 모션 보상부(614)로부터 제공되어 프레임 버퍼(미도시됨)에 저장된 이전 프레임을 가산하여 비디오 프레임을 복원하고, 복원된 비디오 프레임을 모션 추정부(612)에 참조 프레임으로서 제공한다.
도 6에서는 단일 계층 비디오 인코더를 위주로 설명하였지만, 본 실시예에 따른 비디오 인코더는 도 3에 도시된 다 계층 구조를 이용한 색 공간 스케일러블 비디오 코딩으로도 확장 가능함은 당업자에게 있어 자명하다.
도 7은 본 발명의 실시예에 따른 색 공간 스케일러블 비디오 디코더의 구조를 보여주는 블록도이다.
본 실시예에 따른 색 공간 스케일러블 비디오 디코더(700)는 비트스트림 전처리부(710), 엔트로피 복호화부(720), 역 양자화부(730), 역 공간적 변환부(740), 및 모션 보상부(750)를 포함하여 구성될 수 있다.
비트스트림 전처리부(710)는 디스플레이 장치로부터 지원가능한 색 공간에 관한 정보를 획득하여 이 색 공간 정보에 따라 수신된 비트스트림을 절삭하여 엔트로피 복호화부(720)에 제공한다. 디스플레이 장치에 의해 지원되는 색 공간에 관한 정보란, 컬러 영상을 디스플레이 하는지 그레이 스케일 영상을 디스플레이 하는지, 또는 지원하는 색 깊이 용량이 얼마인지 등에 관한 정보를 말한다.
도 2 내지 도 3에서 상술한 바와 같이 디스플레이 장치가 그레이 스케일 영상만을 지원하는 경우, 비트스트림 전처리부(710)는 비트스트림으로부터 휘도 데이터의 위치 정보를 추출하고, 텍스쳐 데이터 중 색차 데이터에 해당하는 부분을 절삭하여 모션 데이터 및 휘도 데이터만을 포함하는 비트스트림을 엔트로피 복호화부(720)에 제공한다. 또한 비트스트림 전처리부(710)는 디스플레이 장치가 지원하는 색 깊이 용량을 초과하는 비트들 또는 계층을 절삭하고 나머지 비트스트림을 엔트로피 복호화부(720)에 제공하기도 한다.
한편, 다른 실시예에서는 비트스트림 전처리부(710)에 의한 전처리 없이 엔트로피 복호화부(720)가 수신된 비트스트림을 복호화하여 텍스쳐 데이터를 추출한 후, 텍스쳐 데이터의 헤더 부분에 포함되어 있는 휘도 데이터의 위치 정보를 추출하여 필요에 따라 색차 데이터를 절삭할 수도 있다.
엔트로피 복호화부(720)는 엔트로피 부호화 방식의 역으로 무손실 복호화를 수행하여, 모션 데이터, 및 텍스쳐 데이터를 추출한다. 그리고, 텍스쳐 데이터는 역 양자화부(730)에 제공하고, 모션 데이터는 모션 보상부(750)에 제공한다.
역 양자화부(730)는 엔트로피 복호화부(720)로부터 전달된 텍스쳐 데이터를 역 양자화한다. 역 양자화 과정은 인코더(300) 단에서 소정의 인덱스로 표현하여 전달한 값으로부터 이와 매칭되는 양자화된 계수를 찾는 과정이다. 인덱스와 양자화 계수 간의 매칭(matching) 관계를 나타내는 테이블은 인코더(600) 단으로부터 전달될 수도 있고, 미리 인코더와 디코더 간의 약속에 의한 것일 수도 있다.
역 공간적 변환부(740)는 공간적 변환을 역으로 수행하여, 상기 역 양자화 결과 생성된 계수들을 공간적 영역에서의 잔여 이미지를 복원한다. 예를 들어, 비디오 인코더 단에서 웨이블릿 방식으로 공간적 변환된 경우에는 역 공간적 변환부(740)는 역 웨이블릿 변환을 수행할 것이고, 비디오 인코더 단에서 DCT 방식으로 공간적 변환된 경우에는 역 DCT 변환을 수행할 것이다.
모션 보상부(750)는 엔트로피 복호화부(720)로부터 제공되는 모션 데이터를 이용하여, 기 복원된 비디오 프레임을 모션 보상하여 모션 보상 프레임을 생성한다. 물론, 이와 같이 모션 보상 과정은 현재 프레임이 인코더 단에서 시간적 예측 과정을 통하여 부호화된 경우에 한하여 적용된다.
가산기(760)는 역 공간적 변환부에서 복원되는 잔차 이미지가 시간적 예측에 의하여 생성된 것일 때에는, 상기 잔차 이미지와 모션 보상부(750)로부터 제공되는 모션 보상된 프레임을 가산하여 비디오 프레임을 복원한다.
도 8은 FGS 계층 구조에서의 색 공간 스케일러블 비디오 인코더(800)의 일 실시예를 보여주는 블록도이다.
본 실시예에 따른 인코더는 크게 기초 계층 인코더(810) 및 향상 계층 인코더(850)를 포함할 수 있다. 본 실시예는 하나의 기초 계층과 하나의 향상 계층을 사용하는 경우를 예로 든 것이지만, 더 많은 계층을 이용하더라도 본 발명을 적용할 수 있음은 당업자라면 충분히 알 수 있을 것이다.
기초 계층 인코더(810)는 모션 추정부(812), 모션 보상부(814), 공간적 변환부(818), 양자화부(820), 엔트로피 부호화부(822), 색 공간 스케일러블 비트스트림 생성부(832), 역 양자화부(824), 역 공간적 변환부(826) 및 디블록부(830)를 포함하여 구성될 수 있다.
모션 추정부(812)는 입력 비디오 프레임 중에서, 참조 프레임을 기준으로 현재 프레임의 모션 추정을 수행하고 모션 벡터를 구한다. 본 실시예에서는 디블록부(830)로부터 디블록된 복원 프레임을 제공받아 예측을 위한 모션 벡터를 구한다. 모션 추정부(812)는 모션 추정 결과 구해지는 모션 벡터, 모션 블록의 크기, 참조 프레임 번호 등의 모션 데이터를 엔트로피 부호화부(822)에 제공한다.
모션 보상부(814)는 상기 모션 추정부(812)에서 계산된 모션 벡터를 이용하 여 순방향 참조 프레임 또는 역방향 참조 프레임에 대하여 모션 보상(motion compensation)을 수행함으로써 현재 프레임에 대한 시간적 예측 프레임을 생성한다.
차분기(816)는 현재 프레임과 모션 보상부(814)로부터 제공된 시간적 예측 프레임을 차분함으로써 비디오의 시간적 중복성을 제거한다.
공간적 변환부(818)는 차분기(816)에 의하여 시간적 중복성이 제거된 프레임에 대하여, 공간적 스케일러빌리티를 지원하는 공간적 변환법을 사용하여 공간적 중복성을 제거한다.
양자화부(820)는 공간적 변환부(818)에서 구한 변환 계수를 양자화한다.
엔트로피 부호화부(822)는 양자화부(820)에 의하여 양자화된 변환 계수와, 모션 추정부(812)에 의하여 제공되는 모션 데이터를 무손실 부호화하고 출력 비트스트림을 생성한다.
색 공간 스케일러블 비트스트림 생성부(832)는 엔트로피 부호화부(822)로부터 제공받은 비트스트림에 양자화부(820)로부터 제공받은 텍스쳐 데이터 중 휘도 데이터의 위치 정보를 적절한 형태로 삽입한다. 색 공간 스케일러블 비트스트림 생성부(832)에 의해 생성되는 비트스트림의 형식은 도 4내지 도 5에서 상술한 바와 같다.
한편, 본 발명의 다른 실시예에서는 색 공간 스케일러블 비트스트림 생성부(832)가 휘도 데이터의 위치 정보를 전체 비트스트림의 헤더가 아닌, 양자화부(820)에 의해 양자화된 텍스쳐 데이터의 헤더 부분에 먼저 삽입하여 엔트로피 부 호화부(822)에 제공할 수도 있다. 이 경우 디코더(900) 단에서는 비트스트림을 복호화 한 후 텍스쳐 데이터의 헤더로부터 휘도 데이터의 위치 정보를 추출해낼 수 있을 것이다.
비디오 인코더(800)가 인코더 단과 디코더 단 간의 드리프팅 에러(drifting error)를 감소하기 위한 폐루프 비디오 인코딩(closed-loop video encoder)을 지원하는 경우에는, 역양자화부(824), 역 공간적 변환부(826) 등을 더 포함할 수 있다.
디블록부(830)는 가산기(828)로부터 복원된 비디오 프레임을 제공받아 프레임 내의 블록들간의 경계에 의한 인위성을 제거하는 디블록을 수행한다. 디블록된 복원 비디오 프레임은 향상 계층 인코더(850)에 참조 프레임으로서 제공된다.
한편, 향상 계층 인코더(850)는 공간적 변환부(854), 양자화부(856), 엔트로피 부호화부(868), 역 양자화부(858), 역 공간적 변환부(860), 및 디블록부(864)를 포함하여 구성될 수 있다.
색 공간 스케일러블 비트스트림 생성부(870)는 엔트로피 부호화부(868)로부터 제공받은 비트스트림에 양자화부(856)로부터 제공받은 텍스쳐 데이터 중 휘도 데이터의 위치 정보를 적절한 형태로 삽입한다. 색 공간 스케일러블 비트스트림 생성부(870)에 의해 생성되는 비트스트림의 형식은 도 4내지 도 5에서 상술한 바와 같다.
한편, 본 발명의 다른 실시예에서는 색 공간 스케일러블 비트스트림 생성부(870)가 휘도 데이터의 위치 정보를 전체 비트스트림의 헤더가 아닌, 양자화부(856)에 의해 양자화된 텍스쳐 데이터의 헤더 부분에 먼저 삽입하여 엔트로피 부 호화부(868)에 제공할 수도 있다. 이 경우 디코더(900) 단에서는 비트스트림을 복호화 한 후 텍스쳐 데이터의 헤더로부터 휘도 데이터의 위치 정보를 추출해낼 수 있을 것이다.
차분기(852)는 현재 프레임으로부터 기초 계층에 의해 제공된 참조 프레임을 차분하여 잔차 프레임을 생성한다. 잔차 프레임은 공간적 변환부(854), 양자화부(856)를 거쳐 코딩되고, 역 양자화부(858), 역 공간적 변환부(860)를 겨쳐 복원된다.
가산기(862)는 역 공간적 변환부(860)로부터 제공받은 복원된 잔차 프레임과 기초 계층에 의해 제공된 참조 프레임을 더하여 복원된 프레임을 생성한다. 복원된 프레임은 상위 향상 계층에 참조 프레임으로서 제공된다.
공간적 변환부(854), 양자화부(856), 엔트로피 부호화부(868), 역 양자화부(858), 역 공간적 변환부(860)의 동작은 기초 계층에 존재하는 동일 명칭의 구성요소와 마찬가지이므로 중복된 설명은 생략하기로 한다.
지금까지, 도 8에서는 다른 식별 번호를 가지면서 동일한 명칭을 갖는 구성요소들이 복수 개 존재하는 것으로 하여 설명하였지만, 특정 명칭을 갖는 하나의 구성요소가 기초 계층 및 향상 계층에서의 동작을 모두 처리하는 것으로 설명할 수도 있음은 당업자에게는 자명한 사실이다.
도 9는 FGS 계층 구조에서의 색 공간 스케일러블 비디오 디코더(900)의 일 실시예를 보여주는 블록도이다.
비디오 디코더(900)는 크게 기초 계층 디코더(910)와 향상 계층 디코더(950) 를 포함하여 구성될 수 있다.
향상 계층 디코더(950)는 비트스트림 전처리부(953), 엔트로피 복호화부(955), 역 양자화부(960), 역 공간적 변환부(965)를 포함하여 구성될 수 있다.
비트스트림 전처리부(953)는 디스플레이 장치로부터 지원가능한 색 공간에 관한 정보를 획득하여 이 색 공간 정보에 따라 수신된 비트스트림을 절삭하여 엔트로피 복호화부(955)에 제공한다. 디스플레이 장치에 의해 지원되는 색 공간에 관한 정보란, 컬러 영상을 디스플레이 하는지 그레이 스케일 영상을 디스플레이 하는지, 또는 지원하는 색 깊이 용량이 얼마인지 등에 관한 정보를 말한다.
엔트로피 복호화부(955)는 엔트로피 부호화 방식의 역으로 무손실 복호화를 수행하여, 텍스쳐 데이터를 추출한다. 그리고, 텍스쳐 데이터는 역 양자화부(960)에 제공한다.
역 양자화부(960)는 엔트로피 복호화부(955)로부터 전달된 텍스쳐 데이터를 역 양자화한다. 역 양자화 과정은 인코더(600) 단에서 소정의 인덱스로 표현하여 전달한 값으로부터 이와 매칭되는 양자화된 계수를 찾는 과정이다.
역 공간적 변환부(965)는 공간적 변환을 역으로 수행하여, 상기 역 양자화 결과 생성된 계수들을 공간적 영역에서의 잔차 이미지로 복원한다.
가산기(970)는 역 공간적 변환부에서 복원되는 잔차 이미지와 기초 계층 디코더의 디블록부(940)로부터 제공되는 참조 프레임을 가산하여 비디오 프레임을 복원한다.
한편, 기초 계층 디코더(910)는 비트스트림 전처리부(913), 엔트로피 복호화 부(915), 역 양자화부(920), 역 공간적 변환부(925), 모션 보상부(930), 및 디블록부(940)를 포함하여 구성될 수 있다.
비트스트림 전처리부(913)는 디스플레이 장치로부터 지원가능한 색 공간에 관한 정보를 획득하여 이 색 공간 정보에 따라 수신된 비트스트림을 절삭하여 엔트로피 복호화부(915)에 제공한다. 디스플레이 장치에 의해 지원되는 색 공간에 관한 정보란, 컬러 영상을 디스플레이 하는지 그레이 스케일 영상을 디스플레이 하는지, 또는 지원하는 색 깊이 용량이 얼마인지 등에 관한 정보를 말한다.
엔트로피 복호화부(915)는 엔트로피 부호화 방식의 역으로 무손실 복호화를 수행하여, 텍스쳐 데이터 및 모션 데이터를 추출한다. 그리고, 텍스쳐 데이터는 역 양자화부(920)에 제공한다.
모션 보상부(930)는 엔트로피 복호화부(915)로부터 제공되는 모션 데이터를 이용하여, 기 복원된 비디오 프레임을 모션 보상하여 모션 보상 프레임을 생성한다. 물론, 이와 같이 모션 보상 과정은 현재 프레임이 인코더 단에서 시간적 예측 과정을 통하여 부호화된 경우에 한하여 적용된다.
가산기(935)는 역 공간적 변환부(925)에서 복원되는 잔차 이미지가 시간적 예측에 의하여 생성된 것일 때에는, 상기 잔차 이미지와 모션 보상부(930)로부터 제공되는 모션 보상된 프레임을 가산하여 비디오 프레임을 복원한다.
디블록부(940)는 도 8에 도시된 기초 계층 인코더의 디블록부(430)에 대응하는 것으로 가산기(935)에 의해 복원된 비디오 프레임을 디블록하여 기초 계층 프레임을 생성하고 이 기초 계층 프레임을 향상 계층 디코더(950)의 가산기(970)에 참 조 프레임으로서 제공한다.
이외에, 역 양자화부(920), 역 공간적 변환부(925)의 동작은 향상 계층에 존재하는 동일 명칭의 구성요소와 마찬가지이므로 중복된 설명은 하지 않기로 한다.
지금까지, 도 9에서는 다른 식별 번호를 가지면서 동일한 명칭을 갖는 구성요소들이 복수 개 존재하는 것으로 하여 설명하였지만, 특정 명칭을 갖는 하나의 구성요소가 기초 계층 및 향상 계층에서의 동작을 모두 처리하는 것으로 설명할 수도 있음은 당업자에게는 자명한 사실이다.
지금까지 도 6 내지 도 9의 각 구성요소는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만 상기 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 것으로 구현할 수도 있다. 뿐만 아니라, 상기 구성요소들은 시스템 내의 하나 또는 그 이상의 컴퓨터들을 실행시키도록 구현될 수 있다.
도 10은 본 발명의 실시예에 따른 인코딩 과정을 보여주는 흐름도이다.
본 실시예에 따른 비디오 인코더(600)의 시간적 변환부(610) 및 공간적 변환부(620)가 비디오 입력 프레임의 시간적 중복 및 공간적 중복을 제거(S1010)한다. 이 때 시간적 중복을 제거한 후 공간적 변환을 제거할 수도 있고, 공간적 중복을 먼저 제거한 후 시간적 중복을 제거할 수도 있다. 시간적 중복 및 공간적 중복의 제거 결과 생성되는 변환 계수를 양자화부(630)가 양자화(S1020) 한다. 양자화된 변환 계수는 엔트로피 부호화부(640)에 의해 부호화되어 비트스트림을 생성(S1030)한다. 엔트로피 부호화된 비트스트림에 이 비트스트림 내의 휘도 데이터의 위치 정보를 추가하여 디코더 단에서 스케일러블한 색 공간을 지원할 수 있는 비트스트림을 생성(S1040)하여 디코더로 전송한다.
도 11은 본 발명의 실시예에 따른 색 성분 스케일러블 비디오 디코딩 과정을 보여주는 흐름도이다.
본 실시예에 따른 비디오 디코더(700)의 비트스트림 전처리부(710)는 수신된 비트스트림으로부터 휘도 데이터의 위치 정보를 추출(S1110)한다. 추출된 휘도 데이터의 위치 정보에 따라 비트스트림 전처리부(710)는 비트스트림으로부터 색차 데이터 부분을 절삭(S1120)한다. 전처리된 비트스트림을 엔트로피 복호화부(720)가 복호화(S1130)하고, 역 양자화부(730)가 역 양자화(S1140) 한후, 역 공간적 변환부(740)가 역 공간적 변환을 하여 비디오 프레임을 복원(S1150)한다.
도 12는 본 발명의 실시예에 따른 색 깊이 스테일러블 비디오 디코딩 과정을 보여주는 흐름도이다.
본 실시예에 따른 디코더의 비트스트림 전처리부(710)는 디스플레이 장치로부터 색 깊이 용량(color depth capacity)에 관한 정보를 획득(S1210)하고, 획득한 색 깊이 용량에 관한 정보에 따라 입력받은 비트스트림으로부터 색 깊이 용량을 초과하는 비트를 절삭(truncate)하여 제 2 비트스트림을 생성(S1220)한다. 제 2 비트 스트림을 엔트로피 복호화부(720)가 복호화(S1230)하고, 역 양자화부(730)가 역 양자화(S1240) 한후, 역 공간적 변환부(740)가 역 공간적 변환을 하여 비디오 프레임을 복원(S1250)한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
상기한 바와 같은 본 발명의 색 공간 스케일러블 비디오 코딩 및 디코딩 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 인코더가 디코더에 비트스트림 내의 휘도 데이터의 위치를 알려줌으로써 디코더가 필요에 따라 컬러 영상을 그레이 스케일 영상으로 변환할 수 있다는 장점이 있다.
둘째, 디코더가 디스플레이 장치로부터 색 깊이 용량에 관한 정보를 획득하여 디스플레이 장치가 지원하는 색 깊이 용량을 초과하는 비트를 제거한 후 비트스트림을 복호화함으로써 간단한 구현에 의해 색 깊이 스케일러빌리티를 달성할 수 있다는 장점도 있다.

Claims (16)

  1. (a) 비디오 입력 프레임의 시간적 중복 및 공간적 중복을 제거하여 변환 계수를 생성하는 단계;
    (b) 상기 변환 계수를 양자화하는 단계;
    (c) 상기 양자화된 변환 계수를 엔트로피 부호화하여 비트스트림을 생성하는 단계; 및
    (d) 상기 비트스트림에 상기 비트스트림내의 휘도 데이터의 위치 정보를 삽입하여 색공간 스케일러블 비트스트림을 생성하는 단계를 포함하는 색공간 스케일러블 비디오 인코딩 방법
  2. 제 1항에 있어서,
    상기 휘도 데이터의 위치 정보는
    상기 비트스트림 내의 텍스처 정보의 길이 및 상기 텍스처 정보 중 휘도 데이터의 길이를 포함하는 색공간 스케일러블 비디오 인코딩 방법
  3. 제 1항에 있어서,
    상기 휘도 데이터의 위치 정보는
    하나의 계층에 해당하는 상기 비트스트림 내의 텍스처 정보의 길이 및 상기 텍스처 정보 중 휘도 데이터의 길이를 포함하는 색공간 스케일러블 비디오 인코딩 방법
  4. 제 1항에 있어서,
    상기 휘도 데이터의 위치 정보는
    FGS(Fine Granule SNR scalability) 계층의 개수, 상기 FGS 계층 각각의 상기 비트스트림 내의 텍스처 정보의 길이 및 상기 텍스처 정보 중 휘도 데이터의 길이를 포함하는 색공간 스케일러블 비디오 인코딩 방법
  5. 제 1항에 있어서,
    상기 엔트로피 부호화된 비트스트림은
    상기 비디오 입력 프레임의 모션 데이터 및 상기 비디오 입력 프레임의 텍스쳐 데이터를 포함하며,
    상기 텍스쳐 데이터는 상기 비디오 입력 프레임의 휘도 데이터 및 상기 비디오 입력 프레임의 색차 데이터를 포함하는 색공간 스케일러블 비디오 인코딩 방법
  6. 제 1항에 있어서,
    상기 (b) 단계는
    계층의 레벨이 증가함에 따라 작아지는 양자화 파라미터를 사용하여 양자화하는 단계를 포함하는 색공간 스케일러블 비디오 인코딩 방법
  7. (a) 비디오 입력 프레임의 시간적 중복 및 공간적 중복을 제거하여 변환 계수를 생성하는 단계;
    (b) 상기 변환 계수를 양자화하는 단계; 및
    (c) 상기 양자화된 변환 계수를 엔트로피 부호화하여 비트스트림을 생성하는 단계를 포함하며,
    상기 비트스트림은 색차 계층의 레벨이 증가함에 따라 색 깊이의 비트 수가 증가하는 색공간 스케일러블 비디오 인코딩 방법
  8. 제 7항에 있어서,
    상기 (b) 단계는
    상기 색차 계층의 레벨이 증가함에 따라 작아지는 양자화 파라미터를 사용하여 양자화하는 단계를 포함하는 색공간 스케일러블 비디오 인코딩 방법
  9. 비디오 입력 프레임의 시간적 중복을 제거하는 시간적 변환부;
    상기 비디오 입력 프레임의 공간적 중복을 제거하는 공간적 변환부;
    상기 시간적 변환부 또는 상기 공간적 변환부에 의해 생성되는 변환 계수를 양자화하는 양자화부;
    상기 양자화된 변환 계수를 엔트로피 부호화하는 엔트로피 부호화부; 및
    상기 엔트로피 부호화부에 의해 생성된 비트스트림 및 상기 비트스트림내의 휘도 데이터의 위치 정보를 포함하는 색공간 스케일러블 비트스트림을 생성하는 색 공간 스케일러블 비트스트림 생성부를 포함하는 색공간 스케일러블 비디오 인코더
  10. 제 9항에 있어서,
    상기 휘도 데이터의 위치 정보는
    상기 비트스트림 내의 텍스처 정보의 길이 및 상기 텍스처 정보 중 휘도 데이터의 길이를 포함하는 색공간 스케일러블 비디오 인코더
  11. 제 9항에 있어서,
    상기 휘도 데이터의 위치 정보는
    하나의 계층에 해당하는 상기 비트스트림 내의 텍스처 정보의 길이 및 상기 텍스처 정보 중 휘도 데이터의 길이를 포함하는 색공간 스케일러블 비디오 인코더
  12. 제 9항에 있어서,
    상기 휘도 데이터의 위치 정보는
    FGS(Fine Granule SNR scalability) 계층의 개수, 상기 FGS 계층 각각의 상기 비트스트림 내의 텍스처 정보의 길이 및 상기 텍스처 정보 중 휘도 데이터의 길이를 포함하는 색공간 스케일러블 비디오 인코더
  13. 제 9항에 있어서,
    상기 색공간 스케일러블 비트스트림은
    계층의 레벨이 증가함에 따라 색 깊이의 비트 수가 증가하는 색공간 스케일러블 비디오 인코더
  14. 다수의 매크로블록을 포함하는 슬라이스의 데이터를 전송하는 방법에 있어서,
    상기 슬라이스에 포함된 모든 매크로블록의 휘도데이터를 비트스트림에 삽입하는 단계;
    상기 슬라이스에 포함된 모든 매크로블록의 색차데이터를 상기 비트스트림에 삽입하는 단계; 및
    상기 휘도데이터와 색차데이터가 포함된 비트스트림을 전송하는 단계를 포함하는 것을 특징으로하는 데이터 전송방법.
  15. 제 14항에 있어서,
    상기 슬라이스는 FGS계층에 포함된 슬라이스인 것을 특징으로 하는 데이터 전송방법.
  16. 제 14항에 있어서,
    상기 휘도데이터와 색차데이터의 위치를 나타내는 정보를 삽입하는 단계를 더 포함하는 것을 특징으로 하는 데이터 전송방법.
KR1020070009593A 2007-01-30 2007-01-30 색 공간 스케일러블 비디오 코딩 방법 및 이를 위한 장치 KR20070029776A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070009593A KR20070029776A (ko) 2007-01-30 2007-01-30 색 공간 스케일러블 비디오 코딩 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070009593A KR20070029776A (ko) 2007-01-30 2007-01-30 색 공간 스케일러블 비디오 코딩 방법 및 이를 위한 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020050036289A Division KR100763178B1 (ko) 2005-03-04 2005-04-29 색 공간 스케일러블 비디오 코딩 및 디코딩 방법, 이를위한 장치

Publications (1)

Publication Number Publication Date
KR20070029776A true KR20070029776A (ko) 2007-03-14

Family

ID=38101764

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070009593A KR20070029776A (ko) 2007-01-30 2007-01-30 색 공간 스케일러블 비디오 코딩 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR20070029776A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100906243B1 (ko) * 2007-06-04 2009-07-07 전자부품연구원 Rgb 색 공간 신호의 영상 부호화 방법
CN116962712A (zh) * 2023-09-20 2023-10-27 成都索贝数码科技股份有限公司 一种视频图像分层编码的增强层改进编码方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100906243B1 (ko) * 2007-06-04 2009-07-07 전자부품연구원 Rgb 색 공간 신호의 영상 부호화 방법
US8135225B2 (en) 2007-06-04 2012-03-13 Korea Electronics Technology Institute Method for coding RGB color space signal
CN116962712A (zh) * 2023-09-20 2023-10-27 成都索贝数码科技股份有限公司 一种视频图像分层编码的增强层改进编码方法
CN116962712B (zh) * 2023-09-20 2023-12-12 成都索贝数码科技股份有限公司 一种视频图像分层编码的增强层改进编码方法

Similar Documents

Publication Publication Date Title
KR100818928B1 (ko) 색 공간 스케일러블 비디오 코딩 방법 및 이를 위한 장치
KR100703749B1 (ko) 잔차 재 추정을 이용한 다 계층 비디오 코딩 및 디코딩방법, 이를 위한 장치
KR101365597B1 (ko) 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법
KR100763181B1 (ko) 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
KR100791299B1 (ko) 다 계층 기반의 비디오 인코딩 방법 및 장치
KR100703774B1 (ko) 인트라 코딩을 선택적으로 적용하여 인트라 bl 예측모드의 비디오 신호를 인코딩 및 디코딩하는 방법 및 장치
KR101375663B1 (ko) 영상을 계층적으로 부호화/복호화하는 방법 및 장치
JP2015133749A (ja) 大きいサイズの変換単位を用いた映像符号化、復号化方法及び装置
KR20070023478A (ko) 잔차 예측의 성능 개선 방법, 상기 방법을 이용한 비디오인코더 및 비디오 디코더
WO2008004769A1 (en) Image encoding/decoding method and apparatus
US11310514B2 (en) Encoding method and apparatus using non-encoding region, block-based encoding region, and pixel-based encoding region
US20050163217A1 (en) Method and apparatus for coding and decoding video bitstream
JP2022536512A (ja) 符号化器及び一連のフレームを符号化する方法
WO2006109985A1 (en) Method and apparatus for encoding and decoding video signals in intra-base-layer prediction mode by selectively applying intra-coding
KR20070029776A (ko) 색 공간 스케일러블 비디오 코딩 방법 및 이를 위한 장치
Richter Lossless coding extensions for JPEG
PL A Study on Image Compression Technology
WO2022238616A2 (en) A method, an apparatus and a computer program product for video encoding and video decoding
Shum et al. Image Compression Techniques

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
WITB Written withdrawal of application