KR20090028369A - 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법 - Google Patents

영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법 Download PDF

Info

Publication number
KR20090028369A
KR20090028369A KR1020070093904A KR20070093904A KR20090028369A KR 20090028369 A KR20090028369 A KR 20090028369A KR 1020070093904 A KR1020070093904 A KR 1020070093904A KR 20070093904 A KR20070093904 A KR 20070093904A KR 20090028369 A KR20090028369 A KR 20090028369A
Authority
KR
South Korea
Prior art keywords
enhancement layer
bitstream
layer
encoding
block
Prior art date
Application number
KR1020070093904A
Other languages
English (en)
Other versions
KR101365596B1 (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 KR1020070093904A priority Critical patent/KR101365596B1/ko
Priority to US12/076,125 priority patent/US8873621B2/en
Priority to EP08778583.8A priority patent/EP2196029A4/en
Priority to PCT/KR2008/003919 priority patent/WO2009035210A1/en
Publication of KR20090028369A publication Critical patent/KR20090028369A/ko
Application granted granted Critical
Publication of KR101365596B1 publication Critical patent/KR101365596B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234354Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
    • 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/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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/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
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Abstract

순방향 호환성을 갖도록 기본계층 비트스트림과 확장계층 비트스트림으로 이루어진 스케일러블 비트스트림을 생성하는 영상 부호화장치는, 상기 확장계층의 비트깊이 정보를 부호화하고, 상기 기본계층의 프레임 혹은 픽쳐 타입을 고려하여 상기 확장계층의 프레임 혹은 픽쳐 타입을 부호화하고, 상기 기본계층의 양자화계수와 함께, 상기 확장계층의 양자화계수를 얻기 위한 부가 양자화정보를 부호화하고, 각 부호화결과와, 상기 확장계층의 인트라-매크로블럭을 위한 비트스트림과 상기 확장계층의 인터-매크로블럭을 위한 비트스트림으로 상기 확장계층 비트스트림을 생성하는 확장계층 부호화모듈을 포함한다.

Description

영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법 {Video encoding apparatus and method and video decoding apparatus and method}
본 발명은 영상 부호화장치 및 방법과 영상 복호화장치 및 방법에 관한 것으로서, 보다 상세하게는 적어도 두개의 비트깊이와 적어도 두개의 영상포맷 중 적어도 하나의 부호화 파라미터를 지원하면서 순방향 호환성을 갖는 스케일러블 비트스트림을 생성하거나 복호화하는 영상 부호화장치 및 방법과 영상 복호화장치 및 방법에 관한 것이다.
일반적인 비디오 코덱에 있어서, 예를 들어 VC-1 엔코더와 같은 기본 엔코더의 비트깊이를 8 비트에서부터 10 비트로 변경하거나, VC-1 엔코더와 같은 기본 엔코더의 영상포맷을 4:2:0으로부터 단순히 4:2:2 혹은 4:4:4로 변경하는 경우, VC-1 디코더는 비트깊이가 확장된 개선된 엔코더 혹은 영상포맷이 변경된 개선된 엔코더로부터 생성되는 비트스트림을 읽어들여 재생하는 것이 불가능하다. 근래 들어, 이와 같이 고정된 비트깊이 혹은 고정된 영상포맷 뿐만 아니라, 다양한 비트깊이 혹은 다양한 영상포맷으로 부호화된 비트스트림을 VC-1 디코더 및 다른 개선된 디코더에서 복원할 수 있도록 하는 순방향 호환성(forward compatibility)이 보장되 는 비디오 코덱에 대한 개발의 필요성이 크게 대두되고 있다.
즉, 순방향 호환성이 보장되지 않는 새로운 비디오 코덱은 기존의 기본 비디오 코덱만을 갖는 단말기를 지원할 수 없기 때문에 서로 다른 사양을 갖는 단말기 간의 콘텐츠 재사용 등이 불가능해진다. 또한, 이미 구축해 놓은 비디오 코덱 시장을 극복해야 하므로 새로운 비디오 코덱이 시장에서 자리를 잡기까지 많은 시간이 소요되는 단점이 있다.
본 발명이 이루고자 하는 기술적 과제는 적어도 두개의 비트깊이와 적어도 두개의 영상포맷 중 적어도 하나의 부호화 파라미터를 지원하면서 순방향 호환성을 갖도록 기본계층 비트스트림과 확장계층 비트스트림으로 이루어지는 스케일러블 비트스트림을 생성하는 영상 부호화장치 및 방법을 제공하는데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 적어도 두개의 비트깊이와 적어도 두개의 영상포맷 중 적어도 하나의 부호화 파라미터를 지원하면서 순방향 호환성을 갖도록 기본계층 비트스트림과 확장계층 비트스트림으로 이루어지는 스케일러블 비트스트림을 복호화하는 영상 복호화장치 및 방법을 제공하는데 있다.
상기 기술적 과제들을 달성하기 위하여 본 발명은 순방향 호환성을 갖도록 기본계층 비트스트림과 확장계층 비트스트림으로 이루어진 스케일러블 비트스트림을 생성하는 영상 부호화방법에 있어서, 상기 확장계층의 비트깊이 정보를 부호화 하고, 상기 기본계층의 프레임 혹은 픽쳐 타입을 고려하여 상기 확장계층의 프레임 혹은 픽쳐 타입을 부호화하고, 상기 기본계층의 양자화계수와 함께, 상기 확장계층의 양자화계수를 얻기 위한 부가 양자화정보를 부호화하고, 각 부호화결과와, 상기 확장계층의 인트라-매크로블럭을 위한 비트스트림과 상기 확장계층의 인터-매크로블럭을 위한 비트스트림으로 상기 확장계층 비트스트림을 생성하는 단계를 포함한다.
상기 기술적 과제들을 달성하기 위하여 본 발명은 순방향 호환성을 갖도록 기본계층 비트스트림과 확장계층 비트스트림으로 이루어진 스케일러블 비트스트림을 생성하는 영상 부호화장치에 있어서, 상기 확장계층의 비트깊이 정보를 부호화하고, 상기 확장계층의 영상포맷 정보를 부호화하고, 상기 기본계층의 프레임 혹은 픽쳐 타입을 고려하여 상기 확장계층의 프레임 혹은 픽쳐 타입을 부호화하고, 상기 기본계층의 양자화계수와 함께, 상기 확장계층의 양자화계수를 얻기 위한 부가 양자화정보를 부호화하고, 각 부호화결과와, 상기 확장계층의 인트라-매크로블럭을 위한 비트스트림과 상기 확장계층의 인터-매크로블럭을 위한 비트스트림으로 상기 확장계층 비트스트림을 생성하는 확장계층 부호화모듈을 포함한다.
상기 기술적 과제들을 달성하기 위하여 본 발명은 순방향 호환성을 갖도록 기본계층 비트스트림과 확장계층 비트스트림으로 이루어진 스케일러블 비트스트림을 복호화하는 영상 복호화방법에 있어서, 상기 기본계층 비트스트림으로부터 추출된 영상 압축데이터를 복호화하는 단계; 및 상기 확장계층 비트스트림으로부터 상기 확장계층의 비트깊이 정보를 복호화하고, 상기 기본계층의 프레임 혹은 픽쳐 타 입을 고려하여 부호화된 상기 확장계층의 프레임 혹은 픽쳐 타입을 복호화하고, 상기 기본계층에서 복호화된 양자화계수와 함께 상기 확장계층의 양자화계수를 얻기 위한 부가적인 양자화계수를 복호화하고, 상기 기본계층 비트스트림의 복호화결과를 이용하여 상기 확장계층의 인트라-매크로블럭을 위한 비트스트림과 상기 확장계층의 인터-매크로블럭을 위한 비트스트림으로 상기 확장계층을 위한 비트스트림을 복호화하는 단계를 포함한다.
상기 기술적 과제들을 달성하기 위하여 본 발명은 순방향 호환성을 갖도록 기본계층 비트스트림과 확장계층 비트스트림으로 이루어진 스케일러블 비트스트림을 복호화하는 영상 복호화장치에 있어서, 상기 기본계층 비트스트림으로부터 추출된 영상 압축데이터를 복호화하는 기본계층 복호화모듈; 및 상기 확장계층 비트스트림으로부터 상기 확장계층의 비트깊이 정보를 복호화하고, 상기 확장계층의 영상포맷 정보를 복호화하고, 상기 기본계층의 프레임 혹은 픽쳐 타입을 고려하여 부호화된 상기 확장계층의 프레임 혹은 픽쳐 타입을 복호화하고, 상기 기본계층에서 복호화된 양자화계수와 함께 상기 확장계층의 양자화계수를 얻기 위한 부가적인 양자화계수를 복호화하고, 상기 기본계층 비트스트림의 복호화결과를 이용하여 상기 확장계층의 인트라-매크로블럭을 위한 비트스트림과 상기 확장계층의 인터-매크로블럭을 위한 비트스트림으로 상기 확장계층을 위한 비트스트림을 복호화하는 확장계층 복호화모듈을 포함한다.
상기 영상 부호화방법 및 영상 복호화방법은 바람직하게는 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체로 구현할 수 있다.
본 발명에 따른 영상 부호화장치는 기본계층 비트스트림과 확장계층 비트스트림으로 이루어지는 스케일러블 비트스트림을 생성하고, 스케일러블 비트스트림을 수신하는 기존의 기본 디코더는 스케일러블 비트스트림으로부터 얻어지는 기본계층 비트스트림을 이용하여 복호화를 수행하고, 개선된 디코더는 스케일러블 비트스트림에 포함된 기본계층 비트스트림과 확장계층 비트스트림을 모두 이용하여 복호화를 수행함으로써 개선된 비디오 코덱과 기존의 비디오 코덱이 서로 융화되어 공존할 수 있다. 또한, 본 발명에 따른 영상 부호화장치는 확장계층의 비트스트림 부호화시 기본계층의 정보를 효과적으로 이용할 수 있도록 스케일러블 비트스트림내 확장계층 비트스트림을 구성함으로써, 기존의 디코더도 본 발명에 따른 영상 부호화장치에 의해 생성되는 스케일러블 비트스트림을 복호화할 수 있다. 따라서 본 발명에 따른 비디오 코덱과 기존의 비디오 코덱이 서로 융화되어 공존할 수 있고, 시장에서 본 발명에 따른 비디오 압축방식을 쉽게 채택할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명하기로 한다.
도 1은 본 발명에 따른 영상 부호화장치 및 영상 복호화장치의 개념을 설명하기 위한 것으로서, 엔코더 파트는 기본 엔코더의 역할을 하는 제1 엔코더(113)와 개선된 엔코더의 역할을 하는 제2 엔코더(117)를 예를 들고, 디코더 파트는 기본 디코더의 역할을 하며 제1 엔코더(113)에 대응되는 제1 디코더(153)와 개선된 디코더의 역할을 하며 제2 엔코더(117)에 대응되는 제2 디코더(157)를 예를 들기로 한다. 일실시예에서, 제1 엔코더(113)는 기본 비트깊이와 제1 영상 포맷에 따른 비트스트림을 생성하고, 제2 엔코더(117)는 기본 비트깊이와 확장 비트깊이를 지원하고, 제1 영상포맷에 따른 스케일러블 비트스트림을 생성한다. 다른 실시예에서, 제1 엔코더(113)는 기본 비트깊이와 제1 영상 포맷에 따른 비트스트림을 생성하고, 제2 엔코더(117)는 제1 및 제2 영상포맷을 지원하고, 기본 비트깊이에 따른 스케일러블 비트스트림을 생성한다. 또 다른 실시예에서, 제1 엔코더(113)는 기본 비트깊이와 제1 영상 포맷에 따른 비트스트림을 생성하고, 제2 엔코더(117)는 기본 비트깊이와 확장 비트깊이를 지원하고, 제1 및 제2 영상 포맷을 지원하는 스케일러블 비트스트림을 생성하거나, 또는 기본 비트깊이와 확장 비트깊이를 지원하고, 제1 및 제3 영상 포맷을 지원하는 스케일러블 비트스트림을 생성한다. 즉, 제2 엔코더(117)는 비트깊이와 영상포맷을 포함하는 부호화 파라미터 중 적어도 하나에 대한 순방향 호환성을 지원할 수 있는 스케일러블 비트스트림을 생성하고, 제2 디코더(157)는 이에 대응하여 스케일러블 비트스트림 혹은 넌스케일러블 비트스트림을 복호화한다.
설명의 편의를 위하여, 기본 비트깊이는 8 비트, 확장 비트깊이는 10 비트, 제1 영상 포맷은 4:2:0, 제2 영상 포맷은 4:2:2, 제3 영상 포맷은 4:4:4를 예로 들기로 한다. 이에 따르면, 제1 엔코더(113)의 일예로서 8 비트의 비트깊이와 4:2:0 영상포맷을 지원하는 VC-1 엔코더가 채택될 수 있다.
도 1을 참조하면, 제1 엔코더(113)에서 생성된 비트스트림(131)은 제1 디코더(153) 뿐만 아니라 제2 디코더(157)에서 복호화가 수행될 수 있다. 제2 엔코더(117)에서 생성된 스케일러블 비트스트림(137)은 제2 디코더(157)에서 복호화가 수행될 수 있으며, 제1 디코더(153)에서는 스케일러블 비트스트림에 포함된 확장계층 비트스트림을 무시한 상태에서 기본계층 비트스트림에 대하여 복호화가 수행될 수 있다. 이와 같은 순방향 호환성(forward compatability)을 제공할 수 있는 제2 엔코더(117)가 본 발명의 영상 부호화장치에 해당하고, 제2 디코더(157)가 본 발명의 영상 복호화장치에 해당한다.
먼저, 부호화 파라미터 중 비트깊이를 확장함에 따른 스케일러블 비트스트림을 얻는 과정을 도 1을 참조하여 설명하면 다음과 같다.
제1 엔코더(113)가 8 비트 엔코더이고, 제2 엔코더(117)가 N 비트 엔코더인 경우를 예로 들면, 제2 엔코더(117)로부터 얻어지는 스케일러블 비트스트림에서 확장계층 비트스트림의 픽쳐레벨의 스타트 코드는 제1 엔코더(113)에서 표현하지 못하는 확장 비트깊이의 나머지 부분을 표현하기 위하여 사용된다. 먼저, 확장 비트깊이가 N 비트인 경우, 확장 양자화계수를 QPN이라고 하고, 기본 비트깊이가 8 비트인 경우, 기본 양자화계수를 QP8이라고 한다. 비트깊이가 N 비트인 원영상을 비트깊이가 8 비트인 비디오 코덱에서 부호화한다면 두 양자화계수간에는 다음 수학식 1과 같은 관계가 성립한다.
Figure 112007066905074-PAT00001
즉, N 비트 원영상을 확장 양자화계수 QPN 로 양자화한 결과와 8 비트 원영상을 기본 양자화계수 QP8 로 양자화한 결과는 서로 다이나믹 레인지가 같아야 한다. 다이나믹 레인지를 일치시킴으로써, 비디오 코덱의 특별한 변경없이 기존의 방식으로 N 비트 원영상을 부호화 및 복호화할 수 있다. 그러나, 이 경우 N 비트 원영상으로부터 복원되는 영상의 품질이 8 비트 원영상으로부터 복원되는 영상의 품질과 차이가 없어지므로 높은 명암비(contrast ratio)를 제공하기 위한 N 비트 원영상의 장점이 없어진다.
이를 개선하기 위하여, N 비트 원영상의 경우 기본 양자화계수 QP8, 및 부가적인 양자화계수로서, 일실시예로 보정 양자화계수(Refined quantization parameter, R)를 사용하여 다음 수학식 2와 같이 나타낼 수 있다. 여기서, 확장 양자화계수 QPN 혹은 기본 양자화계수 QP8은 VC-1 엔코더의 경우 'PQINDEX"로부터 유도된다. 보정 양자화계수(R)을 이용함으로써, 기본 양자화계수와 비교할 때 더 작은 값의 확장 양자화계수를 허용할 수 있게 된다.
Figure 112007066905074-PAT00002
일실시예에 있어서 R은 [-3, 0] 범위의 값을 가진다. 이때, QP8이 [1, 31] 범위의 값을 가진다면, QPN은 [1, 2(N-8)×31] 범위의 값을 가진다. 즉, 일정한 범위를 갖는 보정 양자화계수(R)에 대하여, 기본 양자화계수 QP8가 주어지면 수학식 2에 의하여 확장 양자화계수 QPN과 보정 양자화계수(R)이 산출될 수 있다. 여기서, 기본 양자화계수 QP8과 확장 양자화계수 QPN 의 최소값은 1로 동일하나, N 비트 영상을 위한 확장 양자화계수 QPN 의 경우, 상대적으로 적은 값을 사용함으로써 고명암비를 제공할 수 있다.
N 비트 원영상을 수학식 1의 양자화계수를 이용하여 양자화한 데이터는 기본계층 비트스트림을 형성하고, 수학식 2의 양자화계수를 이용하여 양자화한 데이터는 확장계층 비트스트림을 형성하고, 두개의 비트스트림을 결합하여 스케일러블 비트스트림을 생성한다. 이때, 확장계층 비트스트림으로 전송되는 데이터 사이즈를 줄이기 위하여 기본계층 비트스트림을 위하여 사용된 양자화레벨로부터 예측된 양자화레벨로 확장계층 비트스트림을 형성할 수 있다. 이와 같은 스케일러블 비트스트림은 기존의 8 비트 디코더 뿐만 아니라 N 비트 디코더에서 모두 복호화할 수 있다.
다음, 부호화 파라미터 중 영상포맷을 확장함에 따른 스케일러블 비트스트림을 얻는 과정을 도 1을 참조하여 설명하면 다음과 같다.
제1 엔코더(113)와 제2 엔코더(117)의 영상포맷이 서로 다른 경우 공간 스케일러빌러티(spatial scalability) 개념을 적용하여 스케일러블 비트스트림을 형성 한다. 일예를 들어 제1 엔코더(113) 및 제1 디코더(153)에서 지원하는 영상포맷이 4:2:0이고, 제2 엔코더(117) 및 제2 디코더(157)에서 지원하는 영상포맷이 4:2:2인 경우, 4:2:2 영상 중 색차성분에 대하여 필터링을 수행하여 저주파대역값과 고주파대역값으로 분리한 후, 저주파대역값의 색차성분을 이용하여 휘도성분과 함께 4:2:0 영상으로 재구성한다. 한편, 필터링을 수행하지 않고, 색차성분에 대하여 다운 샘플링을 수행하여 4:2:0 영상으로 재구성할 수 있다. 재구성된 4:2:0 영상은 제2 엔코더(117)에 포함된 예를 들면 제1 엔코더(113)와 같은 4:2:0 영상 부호화기에서 부호화되고, 4:2:0 압축데이터로 기본계층 비트스트림을 형성한다. 한편, 제2 엔코더(117)에 포함된 4:2:2 영상 부호화기에서는 고주파대역값의 색차성분으로 이루어진 색차영상을 부호화하여 확장계층 비트스트림을 형성한다. 다른 예로서, 제1 엔코더(113) 및 제1 디코더(153)에서 지원하는 영상포맷이 4:2:0이고, 제2 엔코더(117) 및 제2 디코더(157)에서 지원하는 영상포맷이 4:4:4인 경우에도 동일한 원리가 적용된다. 기본계층 비트스트림과 확장계층 비트스트림을 생성할 때, CBP(Coded Block Pattern)와 함께 부호화되는 것이 바람직하다. 기본계층 비트스트림을 구성할 때 사용되는 CBP는 4:2:0 영상포맷의 경우 6비트, 4:2:2 영상포맷의 경우 8비트, 4:4:4 영상포맷의 경우 12비트로 이루어진다. 한편, 확장계층 비트스트림을 구성할 때 사용되는 CBP는 색차영상에 대해서만 부호화과정이 수행되므로 4:2:2 영상포맷의 경우 2비트로, 4:4:4 영상포맷의 경우 4비트로 이루어진다.
도 2는 본 발명에 따른 영상 부호화장치의 일실시예의 구성을 나타낸 블럭도로서, 크게 기본계층 부호화모듈(210)과 확장계층 부호화모듈(230)을 포함하여 이 루어진다. 기본계층 부호화모듈(210)은 감산부(211), DCT 변환부(212), 양자화부(213), 엔트로피 부호화부(214), 역양자화부(215), DCT 역변환부(216), 가산부(217) 및 프레임 버퍼(218)를 포함하고, 확장계층 부호화모듈(230)은 양자화부(231), 비트깊이 보정부(232), 감산부(233) 및 엔트로피 부호화부(234)를 포함하여 이루어진다. 기본계층 부호화모듈(210)과 확장계층 부호화모듈(230)을 구성하는 각 구성요소는 적어도 하나 이상의 모듈로 일체화되어 적어도 하나의 이상의 프로세서(미도시)로 구현되거나, 기본계층 부호화모듈(210)과 확장계층 부호화모듈(230)이 일체화되어 하나의 프로세서(미도시)로 구현될 수 있다.
도 2를 참조하면, 기본계층 부호화모듈(210)에 있어서, DCT 변환부(212)는 N 비트 참조영상의 시공간 예측에 의해 얻어지는 N 비트 복원영상과 N 비트 원영상간의 레지듀 영상에 대한 변환계수를 생성한다. 즉, 감산부(211), DCT 변환부(212), 양자화부(213), 역양자화부(215), DCT 역변환부(216), 가산부(217) 및 프레임 버퍼(218)로 이루어지는 루프는 일반적인 비디오 코덱과 그 구조가 동일하다.
양자화부(213)는 DCT 변환부(212)로부터 제공되는 변환계수에 대하여 수학식 1과 같은 기본 양자화계수(QP8)를 2N-8 배한 양자화계수(2N-8QP8)로 양자화한다. 엔트로피 부호화부(214)는 양자화된 변환계수 즉, 기본 양자화레벨(LEVEL8)을 엔트로피 부호화하여 기본계층 비트스트림을 생성한다. 구체적으로, 변환계수를 coef라 하면, 기본 양자화 레벨(LEVEL8)은 다음 수학식 3과 같이 나타낼 수 있다.
Figure 112007066905074-PAT00003
수학식 3으로부터 얻어지는 기본 양자화레벨(LEVEL8)은 기존의 8비트 비디오 코덱에서 복원될 수 있도록 그대로 엔트로피 부호화하여 기본계층으로 전송한다.
제1 확장계층 부호화모듈(230)에 있어서, 양자화부(231)는 DCT 변환부(212)로부터 제공되는 변환계수에 대하여 수학식 2의 확장 양자화계수(QPN)로 양자화하고, 양자화된 변환계수 즉, 확장 양자화레벨을 이용하여 확장계층 비트스트림을 생성한다. 구체적으로, 변환계수를 coef라 하면, 확장 양자화 레벨(LEVELN)은 다음 수학식 4와 같이 나타낼 수 있다.
Figure 112007066905074-PAT00004
수학식 4로부터 얻어지는 확장 양자화 레벨(LEVELN)은 그대로 엔트로피 부호화하지 않고, 기본 양자화 레벨(LEVEL8)로부터 예측 부호화를 수행하여 얻어지는 두 양자화레벨간의 레지듀 즉, 예측 양자화레벨을 엔트로피 부호화한다. 즉, 기본 양자화 레벨(LEVEL8)과 확장 양자화 레벨(LEVELN)은 매우 유사하므로, 비트깊이 보정부(232)와 감산부(233)를 통하여 기본 양자화 레벨(LEVEL8)과 확장 양자화 레 벨(LEVELN)간의 차이를 구하여 예측 양자화레벨(LEVELP)로 결정한다. 구체적으로, 비트깊이 보정부(232)는 각 양자화레벨의 다이나믹 레인지를 보정하기 위한 것으로서, 다음 수학식 5에 의하여 기본 양자화레벨(LEVEL8)이 확장 양자화레벨(LEVELN)과 동일한 다이나믹 레인지를 갖도록 하여, 보정 양자화레벨(LEVELN')을 출력한다.
Figure 112007066905074-PAT00005
감산부(233)는 다음 수학식 6에서와 같이 확장 양자화레벨(LEVELN)과 보정 양자화레벨(LEVELN')간 레지듀를 구하여 예측 양자화레벨(LEVELP)을 생성한다.
LEVELP = LEVELN - LEVELN'
엔트로피 부호화부(234)는 예측 양자화레벨(LEVELP)을 엔트로피 부호화하여 확장계층으로 전송함으로써 확장계층 비트스트림에 포함되는 데이터량을 대폭 줄일 수 있다. 한편, 확장계층 비트스트림에는 기본계층 비트깊이와 확장계층 비트깊이간의 차이를 보정할 수 있는 부가 양자화정보가 더 포함된다. 또한, 확장계층 비트스트림에는 확장계층의 영상포맷이 기본계층과 다른 경우 확장계층의 영상포맷을 지원할 수 있는 부가적인 색차데이터가 더 포함된다.
도 3a는 본 발명에 따른 영상 복호화장치의 일실시예의 구성을 나타낸 블럭 도로서, 크게 기본계층 복호화모듈(310)과 확장계층 복호화모듈(330)을 포함하여 이루어지며, 도 2에 도시된 영상 부호화장치에 대응하는 것이다. 기본계층 복호화모듈(310)은 엔트로피 복호화부(311), 역양자화부(312), DCT 역변환부(313), 가산부(314) 및 프레임 버퍼(315)를 포함하고, 확장계층 복호화모듈(330)은 엔트로피 복호화부(331), 비트깊이 보정부(332), 가산부(333), 역양자화부(334), DCT 역변환부(335) 및 가산부(336)를 포함하여 이루어진다. 기본계층 복호화모듈(310)과 확장계층 복호화모듈(330)을 구성하는 각 구성요소는 적어도 하나 이상의 모듈로 일체화되어 적어도 하나의 이상의 프로세서(미도시)로 구현되거나, 기본계층 복호화모듈(310)과 확장계층 복호화모듈(330)이 일체화되어 하나의 프로세서(미도시)로 구현될 수 있다.
도 3a를 참조하면, 비트스트림 입력부(미도시)는 입력된 비트스트림이 확장계층 식별자를 포함하는 스케일러블 비트스트림인 경우, 기본계층 비트스트림과 확장계층 비트스트림으로 사전에 분리하여 각각 엔트로피 복호화부(311)와 엔트로피 복호화부(331)로 제공한 것으로 가정한다. 한편, 비트스트림 입력부(미도시)는 입력된 비트스트림이 확장계층 식별자를 포함하지 않는 넌스케일러블 비트스트림인 경우, 입력된 비트스트림을 엔트로피 복호화부(311)로 제공하고, 역양자화부(312)의 양자화계수를 QP8로 설정하는 것으로 가정한다.
기본계층 복호화모듈(310)에 있어서, 입력된 기본계층 비트스트림은 엔트로피 복호화부(311), 역양자화부(312), DCT 역변환부(313), 가산부(314) 및 프레임 버퍼(315)를 통한 복호화 처리가 수행되어 N 비트 복원영상을 생성한다. 생성된 N 비트 복원영상은 프레임 버퍼(314)에 저장되어, 기본계층 비트스트림 복호화시 뿐 아니라, 확장계층 비트스트림 복호화시 참조영상으로 사용된다. 한편, 넌스케일러블 비트스트림이 입력된 경우에는 가산부(314)로부터 8 비트 복원영상이 생성되어 프레임 버퍼(315)에 저장된다.
확장계층 복호화모듈(330)에 있어서, 입력된 확장계층 비트스트림은 엔트로피 복호화부(331)에서 엔트로피 복호화되어 예측 양자화레벨(LEVELP)을 복원한다. 비트깊이 보정부(332)는 엔트로피 복호화부(311)에서 복원된 기본 양자화레벨(LEVEL8)의 비트깊이를 보정하여 보정 양자화레벨(LEVELN')을 생성한다. 가산부(333)는 다음 수학식 7과 같이 예측 양자화레벨(LEVELP)과 보정 양자화레벨(LEVELN')을 가산하여 확장 양자화레벨(LEVELN)을 생성한다.
LEVELN = LEVELP + LEVELN'
역양자화부(334)는 확장 양자화레벨(LEVELN)에 대하여 다음 수학식 8와 같이 확장 양자화계수(QPN)로 역양자화를 수행하여 변환계수(coefN)를 복원한다.
Figure 112007066905074-PAT00006
DCT 역변환부(335)는 복원된 변환계수(coefN)에 대하여 역변환을 수행하여 레지듀 영상을 복원하고, 가산부(336)는 복원된 레지듀 영상에 프레임 버퍼(314)에 저장된 N 비트 참조영상을 가산하여 최종 N 비트 복원영상을 생성한다.
여기서, 확장계층 양자화계수(QPN)은 기본계층 비트스트림으로부터 복원된 기본 양자화계수(QP8)와 확장계층 비트스트림으로부터 복원된 부가적인 양자화계수 예를 들면, 보정 양자화계수(R)로부터 얻어질 수 있다.
도 3b는 도 2에 의해 생성된 스케일러블 비트스트림을 입력으로 하는 기존의 영상 복호화장치의 일실시예의 구성을 나타낸 블럭도로서, 엔트로피 복호화부(351), 역양자화부(352), DCT 역변환부(353), 가산부(354) 및 프레임 버퍼(355)를 포함하여 이루어진다. 도 3b에 도시된 기존의 영상 복호화장치는 역양자화 과정에서 사용되는 역양자화 계수를 제외하고는 도 3a에 도시된 제1 기본계층 복호화모듈(310)의 세부 구성과도 동일하며, 또한 널리 공지된 일반적인 영상 복호화장치와 동일하다.
도 3b에 있어서, 비트스트림 입력부(미도시)는 입력된 비트스트림이 확장계층 식별자를 포함하고 있는지를 확인하여 입력되는 비트스트림이 스케일러블 비트스트림인 경우 기본계층 비트스트림을 분리하여 엔트로피 복호화부(351)로 제공하는 것으로 가정한다.
엔트로피 복호화부(351)는 입력된 기본계층 비트스트림을 복호화하여 기본 양자화계수(QP8)를 복원한다.
역양자화부(352)는 다음 수학식 9와 같이 기본 양자화계수(QP8)를 이용하여 기본계층 비트스트림으로부터 변환계수(coef8)를 복원한다.
Figure 112007066905074-PAT00007
DCT 역변환부(353)는 복원된 변환계수(coef8)에 대하여 역변환을 수행하여 레지듀 영상을 복원하고, 가산부(354)는 복원된 레지듀 영상에 프레임 버퍼(355)에 저장된 8 비트 참조영상을 가산하여 최종 8 비트 복원영상을 생성한다.
도 4는 본 발명에 의한 영상 부호화장치에서 생성되는 스케일러블 비트스트림의 구조를 나타내는 것으로서, 기본계층 부호화모듈(210)을 통해 생성되는 기본계층 비트스트림과 확장계층 부호화모듈(230)을 통해 생성되는 확장계층 비트스트림으로 이루어진다.
도 4를 참조하면, 스케일러블 비트스트림은 확장계층 비트스트림과 기본계층 비트스트림이 하나의 비트스트림으로 통합되어 구성된다. 기본적으로 하위계층 즉, 기본계층의 시퀀스 헤더(Base SEQ_HDDR, 410)가 위치하고, 그 이후에 상위계층 즉, 확장계층의 시퀀스 헤더(Enhancement SEQ_HDDR. 420)가 위치한다. 각 계층의 시퀀스 헤더(410,420) 이후에는 기본계층의 프레임 또는 픽쳐 헤더(Base PIC_HDDR, 430)와 기본계층의 프레임 또는 픽쳐 데이터(Base PIC_DATA, 440)가 위치하고, 그 이후에는 확장계층의 프레임 또는 픽쳐 헤더(Enhancement PIC_HDDR, 450)와 확장계층의 프레임 또는 픽쳐 데이터(Enhancement PIC_DATA, 460)가 위치한다. 이때, 각 계층의 프레임 또는 픽쳐 헤더(430, 450)와 프레임 또는 픽쳐 데이터(440, 460)는 하나의 비디오 시퀀스에 포함되는 마지막 프레임 혹은 픽쳐까지 반복적으로 나타난다. 도 4에 도시된 스케일러블 비트스트림에는 미리 정해진 위치에 각종 사용자 데이터 또는 엔트리-포인트(Entry-Point) 정보나 GOP(Group Of Pictures) 정보가 더 포함될 수 있다. 한편, 도 4에 도시된 스케일러블 비트스트림의 경우, 프레임 혹은 픽쳐 헤더에 대하여 확장계층이 기본계층보다 먼저 위치하는 것도 가능하다. 여기서, 기본계층 비트스트림을 구성하는 기본계층의 시퀀스 헤더(Base SEQ_HDDR, 410), 기본계층의 프레임 또는 픽쳐 헤더(Base PIC_HDDR, 430), 기본계층의 프레임 또는 픽쳐 헤더(Base PIC_HDDR, 430)와 기본계층의 프레임 또는 픽쳐 데이터(Base PIC_DATA, 440)에 대해서는 기존의 비디오 코덱에서와 동일하므로 세부적인 설명은 생략하기로 한다.
다음 표 1은 본 발명에 따른 영상 부호화장치로부터 얻어지는 스케일러블 비트스트림에 있어서 확장계층 식별자를 포함하여 확장계층과 관련된 정보를 싣기 위한 영역을 설명하기 위한 것이다. 제1 엔코더(113)가 VC-1 엔코더인 경우 일실시예에서는 4 바이트 단위의 스타트 코드(start code)를 사용한다. VC-1 엔코더의 경우 스타트 코드는 어드밴스트 프로파일(Advanced profile) 이상에서 지원될 수 있다. 한편, 스타트 코드는 각 레벨의 헤더에 첫번째 영역에 포함될 수 있다.
Figure 112007066905074-PAT00008
표 1를 참조하여 일실시예로 사용된 VC-1의 스타트 코드에서 확장계층과 관련된 정보를 싣는 과정을 설명하기로 한다. 스타트 코드에 있어서 서픽스(suffix)에 정의되는 BDU(Bitstream Data Unit) 타입 중에서 미래의 사용을 위하여 예약된 예비영역(reserved area)을 확장계층과 관련된 정보를 담기 위하여 사용한다. 여기서, BDU는 동일한 계층 레벨에 있는 다른 정보와는 독립적으로 파싱될 수 있는 압축 데이터 단위를 의미하며, 예를 들면 시퀀스 헤더, 엔트리 포인트 헤더, 부호화된 픽쳐 혹은 슬라이스일 수 있다. 스타트 코드의 서픽스에 정의되는 BDU 타입 중 금지영역 이외의 나머지 영역들은 기본계층과 관련된 정보를 담기 위한 것이다. 여기서, 스타트 코드는 일예에 불과하며, 비트스트림의 구성요소 중 다른 부분을 사용할 수도 있다. 여기서, '0x00'는 제1 예비영역, '0x01-0x09'는 제2 예비영역, '0x10-0x1A'는 제3 예비영역, '0x20-0x40, 0x41-0x7F'은 제4 예비영역으로 한다.
한편, 확장계층은 시퀀스 레벨, GOP 레벨, 프레임 레벨, 필드 레벨 및 슬라이스 레벨을 포함한다. 확장계층의 정보는 일실시예에서 제2 예비영역 및 제4 예비영역 중 어느 하나에 포함될 수 있다. 구체적으로 살펴보면, 제2 예비영역에서 '0x09' 혹은 제4 예비영역에서 '0x40'에 확장계층의 시퀀스 레벨에 대한 헤더에 스타트 코드가 포함되고, 제2 예비영역에서 '0x08' 혹은 제4 예비영역에서 '0x3F'에 확장계층의 GOP 레벨에 대한 헤더에 스타트 코드가 포함되고, 제2 예비영역에서 '0x07' 혹은 제4 예비영역에서 '0x3E'에 확장계층의 프레임 레벨에 대한 헤더에 스타트 코드가 포함되고, 제2 예비영역에서 '0x06' 혹은 제4 예비영역에서 '0x3D'에 확장계층의 필드 레벨에 대한 헤더에 스타트 코드가 포함되고, 제2 예비영역에서 '0x06' 혹은 제4 예비영역에서 '0x3C'에 확장계층의 데이터에 대한 헤더에 확장 색차 데이터를 위한 스타트 코드가 포함된다. 이를 보다 세부적으로 설명하면 다음과 같다.
제2 예비영역에서 '0x09'에 정의되는 확장계층 시퀀스 레벨에 대한 헤더의 스타트 코드에 포함시킬 수 있는 정보로는, 기본계층 이외에 확장계층에 의해 달성할 수 있는 부가적인 프로파일 및 레벨 정보, 및 비트깊이 정보를 들 수 있다. 구체적으로 기본계층의 시퀀스 레벨에서는 프로파일은 2 비트로 정의되며, '3'은 어드밴스드 프로파일을, '0-2'은 예비영역을 나타낸다. 한편, 레벨은 3 비트로 정의되며, '000'은 AP@LO, '001'은 AP@L1, '010'은 AP@L2, '011'은 AP@L3, '100'은 AP@L4, '101-111'은 예비영역을 나타낸다. 확장계층에 의해 달성될 수 있는 비트깊이 정보는 "N-8"(여기서, N은 확장계층의 비트깊이)의 값으로 나타낼 수 있으며, 기본계층에 대응하는 제1 엔코더(도 1의 113)의 비트깊이에 따라서 8 이외의 값을 사용할 수 있다. 한편, 확장계층에 의해 달성될 수 있는 비트깊이 정보로서 N을 그대로 사용할 수도 있다. 또한, 확장계층에 대한 정보로 확장된 영상포맷 정보가 포함될 수 있는데, 영상포맷 정보는 기본계층의 시퀀스 레벨에 포함되는 변수, 예를 들면 VC-1 엔코더인 경우 'COLORDIFF' 변수를 활용하여 나타내거나, 제2 예비영역에서 '0x09'에 포함시킬 수 있다. 즉, 확장계층의 영상포맷이 확장되지 않거나, 확장된 영상포맷을 위하여 기본계층의 변수를 활용할 경우 확장계층에서는 확장되는 영상포맷 정보를 별도로 전송할 필요가 없다. 'COLORDIFF' 변수의 예를 살펴보면, '1'은 4:2:0 영상포맷을 정의하는데 사용하고, '2'와 '3'은 예비영역으로 지정되어 있으므로 바람직하게는 4:2:2 영상포맷과 4:4:4 영상포맷을 정의하는데 사용할 수 있다. 한편, 확장계층에 대한 정보로서, 부가적인 HRD(Hypothetical Reference Decoder) 변수가 포함될 수 있다. HRD 변수는 가상 비디오 버퍼 변수로서, 디코더에서 버퍼 운용을 위하여 참고하는 변수이다.
제2 예비영역에서 '0x08'에 정의되는 확장계층 GOP 레벨에 대한 헤더의 스타트 코드는 비트깊이 혹은 영상포맷이 GOP 단위로 변경되지 않는 경우에는 불필요하므로 예비영역으로 지정되고, 비트깊이 혹은 영상 포맷이 GOP 단위로 변경되는 경우 필요로 한다.
제2 예비영역에서 '0x07' 및 '0x06'에 정의되는 확장계층의 픽쳐 레벨 즉, 프레임 레벨 및 필드 레벨의 헤더에 대한 스타트 코드는 순차(progressive) 주사 혹은 비월(interlaced) 주사에 따라서 기본계층의 비트깊이 정보와 함께 확장계층의 비트깊이를 나타내기 위한 부가정보를 포함하며, 일실시예에서는 제1 엔코더(113)의 비트깊이가 8 비트인 경우 'N-8'(여기서, N은 제2 엔코더(117)의 비트깊이를 나타낸다)에 대응하는 부가적인 양자화계수의 값을 정의한다. 이 경우는 픽쳐 단위로 부가적인 양자화계수를 사용하므로 픽쳐 레벨에 포함시키는 것이나, 다른 실시예에 따르면 슬라이스 단위로 부가적인 양자화계수를 사용하는 경우에는 슬라이스 레벨에, 매크로블럭 단위로 부가적인 양자화계수를 사용하는 경우에는 매크로블럭 레벨에, 블럭 단위로 부가적인 양자화계수를 사용하는 경우에는 블럭 레벨에 포함시킨다. 각 슬라이스, 각 매크로블럭 혹은 각 블럭에 대한 부가적인 양자화계수를 산출하기 위해서는 후술하는 픽쳐 레벨의 부가적인 양자화계수를 산출하는 과정을 적용할 수 있다.
제2 예비영역에서 '0x05'에 정의되는 확장계층의 데이터의 헤더에 대한 스타트 코드는 기본계층과 비교하여 확장계층의 영상포맷이 변경되지 않는 경우 불필요하므로 예비영역으로 지정된다. 즉, 기본계층과 확장계층의 영상포맷이 4:2:0으로 동일한 경우, 기본계층에서는 기본계층을 위한 하나의 매크로블럭을 이루는 4개의 휘도블럭과 2개의 색차블럭에 대한 데이터를 전송하고, 확장계층에서는 기본계층을 위한 하나의 매크로블럭을 이루는 4개의 휘도블럭과 2개의 색차블럭에 대한 데이터를 이용하여 예측된 데이터를 전송한다. 한편, 기본계층과 확장계층의 영상포맷이 서로 다른 경우, 예를 들어 기본계층의 영상포맷이 4:2:0이고 확장계층의 영상포맷이 4:2:2이거나, 기본계층의 영상포맷이 4:2:0이고 확장계층의 영상포맷이 4:4:4인 경우, 기본계층에서는 기본계층을 위한 4개의 휘도블럭과 2개의 색차블럭에 대한 데이터를 기본계층에서 전송하고, 확장계층에서는 기본계층을 위한 하나의 매크로블럭을 이루는 4개의 휘도블럭과 2개의 색차블럭에 대한 데이터를 이용하여 예측된 데이터와 함께 변경된 영상포맷을 지원할 수 있도록 색차성분에 대한 추가적인 데이터를 전송한다.
한편, 상기 확장계층과 관련된 정보는 표 1에 기재된 스타트 코드에 제한되지 않으며, 시퀀스레벨, GOP 레벨, 픽쳐 레벨, 매크로블럭 레벨, 블럭 레벨에서 미래의 사용을 위해 남겨둔 예비영역(reserved area)에 포함될 수 있다. 또한, 비트스트림을 전송하기 위하여 영상 비트스트림을 페이로드(payload)로 하고, 이를 패키징하는 시스템 계층이나, 네트워크 프로토콜의 다양한 계층에 다양한 형태로 확장계층 식별자를 포함할 수도 있다.
도 5는 도 4에 있어서 확장계층의 시퀀스 헤더(420)의 신택스를 나타내는 도면이다.
도 5를 참조하면, 확장계층의 시퀀스 헤더(420)는 확장계층의 시퀀스 스타트 코드(Enhancement Sequence Start Code, 510), 비트깊이정보(BIT_DEPTH_E, 520), 영상포맷정보(YUV_FORMAT_E, 530), 픽쳐 혹은 프레임 레이어(540)로 이루어진다. 비트깊이정보(520)는 확장계층의 압축데이터를 구성하는 비트깊이에 대한 정보이고, 영상포맷정보(530)는 확장계층에서 처리하고 있는 영상포맷이 YUV 4:2:2 또는 YUV 4:4:4인지를 영상 복호화장치에 알려주기 위한 것이다. 여기서, 영상포맷정보(530)의 경우 기본계층에서 정의하는 것이 가능하거나, 확장계층에서 처리하고 있는 영상포맷이 기본계층과 동일한 경우 확장계층의 시퀀스 헤더(420)에 포함시키지 않아도 무방하다.
도 6은 도 5에 도시된 확장계층의 시퀀스 헤더(420)를 실제 비트스트림으로 구성하는 방법을 나타내는 도면으로서, 'FLC'는 고정길이부호(Fixed Length Code)의 약어로 고정길이의 비트 필드를 가지고 비트깊이정보와 영상포맷정보를 부호화한다는 의미이다.
도 6을 참조하면, 확장계층의 시퀀스 헤더(420)에서는 먼저 비트깊이정보(BIT_DEPTH_E)를 부호화하고(601), 다음 추가적인 영상포맷정보(YUV_FORMAT_E)를 부호화할 필요가 있는지를 판단하여(602). 필요시 추가적인 영상포맷정보(YUV_FORMAT_E)를 부호화한다(603,604). 다음, 하나의 시퀀스를 구성하는 모든 픽쳐를 부호화하여 확장계층의 픽쳐 레이어(ENHANCEMENT_PICTURE_LAYER)를 구성한다(605~607). 이때, 하나의 시퀀스를 구성하는 모든 프레임을 부호화하여 확장계층의 픽쳐 레이어(ENHANCEMENT_PICTURE_LAYER)를 구성하는 것도 가능하다(605~607).
한편, 도시하지는 않았으나 기본계층의 시퀀스 헤더(410)는 기존 비디오 코덱에서 사용하는 통상적인 구조를 그대로 사용한다.
도 7은 도 4에 있어서 확장계층의 프레임 또는 픽쳐 헤더(450)의 신택스를 나타내는 도면이다.
도 7을 참조하면, 확장계층의 프레임 또는 픽쳐 헤더(450)는 확장계층의 픽쳐 스타트 코드(Enhancement Picture Sequence Start Code, 710), 픽쳐타입정보(PTYPE_E,720), 부가적인 양자화계수(Additional QPINDEX,730), 매크로블럭 레이어(740)로 이루어진다. 픽쳐타입정보(720)는 확장계층의 프레임 또는 픽쳐의 타입을 기술하는 것으로 기본계층과 같을 경우에는 같음을 나타내는 플래그로 나타내고, 다를 경우에는 해당하는 프레임 또는 픽쳐 타입을 기술하는 코드가 부호화된다. 여기서 플래그와 픽쳐타입 기술 코드는 동일한 가변길이테이블을 사용한다. 부가적인 양자화계수(730)는 부호화시 기본계층의 비트깊이와 확장계층의 비트깊이의 차이를 보정하기 위하여 사용되는 것으로서, 추후 복호화시 기본계층의 양자화계수와 함께 확장계층의 양자화계수를 구하기 위하여 사용된다.
도 8은 도 7에 도시된 확장계층의 프레임 또는 픽쳐 헤더(450)를 실제 비트스트림으로 구성하는 방법을 나타내는 도면으로서, 'VLC'는 가변길이부호(Variable Length Code)의 약어로 가변길이의 비트 필드를 가지고 픽쳐 타입을 부호화하고, 'FLC'는 고정길이부호(Fixed Length Code)의 약어로 고정길이의 비트 필드를 가지고 보정 양자화계수를 부호화한다는 의미이다.
도 8을 참조하면, 확장계층의 프레임 또는 픽쳐 헤더(450)에서는 먼저 픽쳐 타입정보(ENHANCEMENT_PTYPE)를 부호화하고(801), 다음 부가적인 양자화계수(ADDITIONAL QPINDEX)를 부호화한다(802). 이어서, 하나의 픽쳐 혹은 프레임을 구성하는 모든 매크로블럭에 대하여 픽쳐 타입이 인트라 모드인지를 판단하고, 판단결과에 따라서 확장계층의 인트라-매크로블럭 레이어(ENHANCEMENT_INTRA_MB)와 인터-매크로블럭 레이어(ENHANCEMENT_INTER_MB)를 구성한다(803~810). 구체적으로, 픽쳐타입정보(ENHANCEMENT_PTYPE)가 인트라 픽쳐를 나타내는 경우에는 모든 확장계층의 모든 매크로블럭이 인트라-매크로블럭으로 간주되어 처리된다(804~806). 만약 픽쳐타입정보(ENHANCEMENT_PTYPE)가 인트라 픽쳐가 아님을 나타내는 경우에는 확장계층의 모든 매크로블럭이 인터-매크로블럭으로 간주되어 처리된다(807~809). 그러나, 픽쳐타입정보(ENHANCEMENT_PTYPE)가 인트라 픽쳐가 아님을 나타내는 경우에 있어서 인터-매크로블럭이라 할지라도 도 11과 도 12에서 후술하는 바와 같이 인트라-블록이 인터-매크로블럭에 포함될 수 있다. 한편, 확장계층의 인트라-매크로블럭 레이어(ENHANCEMENT_INTRA_MB)와 인터-매크로블럭 레이어(ENHANCEMENT_INTER_MB)는 도 2에서와 같이 기본계층의 비트스트림을 구성하는 압축데이터로부터 예측된 데이터로 구성할 수 있다.
도 9는 도 8에 있어서 확장계층의 인트라-매크로블럭(ENHANCEMENT_INTRA_MB)의 신택스를 나타내는 도면으로서, 부호화블럭패턴정보(CBPCY_E, 910), 부호화된 인트라-블록 레이어(920)로 이루어진다. 부호화블럭패턴정보(CBPCY_E, 910)는 확장계층의 모든 인트라-매크로블록에 포함된 각 블록의 부호화 여부를 표시하는 정보이다.
도 10은 도 9에 도시된 확장계층의 인트라-매크로블럭에 대한 비트스트림을 구성하는 방법을 나타내는 것으로서, 부호화블럭패턴정보(CBPCY_E)을 부호화하고(1001), 인트라-매크로블럭에 포함된 모든 블록에 대하여 부호화블럭패턴(CBPCY_E) 정보에 따라 부호화하여, 부호화된 인트라-블록(ENHANCEMENT_INTRA_BLOCK)으로 구성한다(1002-1006). 만약, 부호화블럭패턴정보(CBPCY_E)가 인트라-매크로블록에 포함된 모든 블록이 부호화되지 않음을 나타내는 경우에는 확장계층의 해당 인트라-매크로블럭에 대해서는 단지 CBPCY_E정보(910)라는 플래그만을 전송한다.
도 11은 도 8에 있어서 확장계층의 인터-매크로블럭(ENHANCEMENT_INTER_MB)의 신택스를 나타내는 도면으로서, 매크로블럭-스킵정보(MB_SKIP_E, 1110), 부호화블럭패턴정보(CBPCY_E, 1120), 부호화된 인트라-블록 레이어(1130), 부호화된 인터-블록 레이어(1140)로 이루어진다. 확장계층의 인터-매크로블럭은 움직임 벡터나 매크로블럭내의 어떤 블록이 인트라-블록으로 부호화되어 있는지에 대하여 기본계층의 인터-매크로블럭의 정보와 공유한다. 매크로블럭-스킵정보(MB_SKIP_E)는 확장계층의 인터-매크로블럭이 추가적인 데이터 즉, 압축데이터를 가지고 있는지 여부를 나타내는 플래그이다. 만약 확장계층의 인터-매크로블럭이 추가적인 데이터를 가지고 있지 않은 경우, 즉 인터-매크로블럭내의 모든 블록이 0으로 부호화된다면 확장계층의 인터-매크로블럭은 단지 MB_SKIP_E정보(1110)라는 플래그만을 전송한다. 한편, 확장계층의 인터-매크로블럭이 추가적인 데이터를 가지고 있는 경우 MB_SKIP_E정보(1110) 및 부호화블럭패턴정보(1120)와 함께, 부호화된 인트라-블록 레이어(1130) 혹은 부호화된 인터-블록 레이어(1140)를 전송한다.
도 12는 도 11에 도시된 확장계층의 인터-매크로블럭 레이어의 비트스트림을 구성하는 방법을 나타내는 것으로서, 매크로블럭-스킵정보(MB_SKIP_E)를 부호화하고(1201), 매크로블럭-스킵정보(MB_SKIP_E)가 확장계층의 인터-매크로블럭에 추가적인 데이터가 있음을 나타내면, 확장계층의 인터-매크로블럭의 각 블록의 부호화 여부를 나타내는 부호화블럭패턴정보(CBPCY_E)에 따라 인터-매크로블럭을 부호화한다(1201~1212). 구체적으로, 부호화블럭패턴정보(CBPCY_E)를 부호화하고(1203), 인터-매크로블럭에 포함된 모든 블록에 대하여 부호화블럭패턴정보(CBPCY_E)에 따라 부호화한다. 이때, 확장계층의 인터-매크로블럭의 특정 블록에 해당하는 기본계층의 블록이 인트라-블록으로 부호화된 경우 확장계층의 해당 블록도 인트라-블록으로 부호화하여 부호화된 인트라-블록(ENHANCEMENT_INTRA_BLOCK)을 구성하고, 그외 나머지 부호화되어야 하는 블록은 인터-블록으로 부호화하여 부호화된 인터-블록(ENHANCEMENT_INTER_BLOCK)으로 구성한다(1204~1212).
도 13은 도 11에 있어서 확장계층의 부호화된 인트라-블록의 신택스를 나타내는 도면으로서, 블록내의 모든 양자화된 DCT 계수(Coeff, 1310)로 이루어진다. 한편, 다른 실시예에서 DCT 계수(Coeff, 1310)는 DC를 제외하여 구성될 수도 있다.
도 14는 도 13에 있어서 확장계층의 부호화된 인트라-블록의 비트스트림을 구성하는 방법을 나타내는 것이다.
도 14를 참조하면, 인트라-블록의 경우 단순히 블록내의 모든 양자화된 DCT 계수(Coeff)를 VLC 또는 엔트로피 부호화하여 인트라-계수(intra-coefficients)로 구성한다(1401~1403). DC의 경우는 통상적으로 AC를 부호화할 때 사용한 양자화계수와 다른 양자화계수로 부호화되고, 또 인접 블록으로부터 예측 부호화된다. 따라서, 다른 실시예에 따라서 확장계층의 DC 양자화계수를 기본계층의 양자화계수와 동일하게 하면, 기본계층을 위한 기존의 비디오 코덱이 사용하는 방법으로 기본계층에서 DC 값이 부호화되고, 확장계층에서는 기본계층의 DC 값을 그대로 사용함으로써 별도로 확장계층을 위해 양자화된 DC 값을 부호화할 필요가 없다.
도 15는 도 11에 있어서 확장계층의 부호화된 인터-블록의 신택스를 나타내는 도면으로서, 확장계층의 인터-블록의 변환타입정보(TTBLK_E, 1510), 서브블럭패턴정보(SUBBLKPAT_E, 1520), 인터-블록의 양자화된 DCT 계수(Coeff, 1530)로 이루어진다.
도 16은 도 15에 도시된 확장계층의 부호화된 인터-블록의 비트스트림을 구성하는 방법을 나타내는 것이다.
도 16을 참조하면, 일반적인 비디오 코덱은 각 블록의 변환타입정보(TTBLK)가 8x8, 8x4, 4x8, 4x4와 같이 다양하게 존재할 수 있다. 여기서, 해당 블록이 모드 0의 값을 갖는다면 해당 블록은 8x8 변환 타입이 할당된 것으로 간주된다. 또한, 도 2와 같은 계층구조를 갖는 영상 부호화장치에 있어서, 확장계층과 기본계층이 DCT 블록을 공유하는 경우에는 확장계층과 기본계층이 기본적으로 동일한 변환 타입으로 부호화된다.
도 16의 1601 내지 1606에 해당하는 루틴은 기본계층에서 해당 인터-블록이 부호화되지 않았으나 확장계층은 부호화되는 경우를 나타낸다. 구체적으로, 기본계층에서 해당 인터블럭이 부호화되지 않은 경우(1601). 기본계층과 확장계층의 변환타입이 서로 다를 수 있으므로 확장계층을 위해 변환타입정보(TTBLK_E)를 부호화한다(1602). 이때, 8x8 변환 타입을 제외하고 나머지 블록은 블록을 2개 또는 4개로 분할하므로, 해당 블록이 서브블럭패턴정보를 필요로 하는지에 따라서 각 분할된 서브-블록의 부호화여부를 나타내는 추가적인 정보 즉, 서브블럭패턴정보(SUBBLKPAT_E1)를 부호화한다(1603~1606). 블록의 변환타입정보(TTBLK_E)는 변환 타입과 그에 해당하는 서브-블록의 부호화패턴을 동시에 부호화하는 변수이다. 서브블럭패턴정보(SUBBLKPAT_E1)는 서브-블록의 부호화패턴정보가 추가적으로 필요한 경우에 VLC 부호화되는 변수이다.
도 16의 1607 내지 1609의 루틴은 기본계층의 해당 블록이 부호화되어 확장계층의 해당 블록의 변환 타입을 알고 있는 경우에 서브-블록의 부호화패턴을 부호화하는 경우를 나타내고, 서브블럭패턴정보(SUBBLKPAT_E2)는 VLC 부호화되는 서브-블록의 부호화패턴에 해당하는 변수이다. 마찬가지로, 8x8 변환 타입을 제외하고 나머지 블록은 블록을 2개 또는 4개로 분할하므로, 해당 블록이 서브블럭패턴정보를 필요로 하는지에 따라서 각 분할된 서브-블록의 부호화여부를 나타내는 추가적인 정보 즉, 서브블럭패턴정보(SUBBLKPAT_E2)를 부호화한다(1607~1609).
도 16의 1610 내지 1616의 루틴은 부호화되는 모든 서브-블록을 부호화하는 경우를 나타낸다. 블럭을 구성하는 서브-블럭의 변환형태로서, 8x8, 8x4, 4x8, 4x4를 들 수 있으며, 8x8의 경우 서브-블럭의 수가 1개, 8x4 혹은 4x8인 경우 서브-블럭의 수가 2개, 4x4인 경우 서브-블럭의 수가 4개이다. 블록을 구성하는 서브-블록의 수만큼 해당 블럭을 부호화한다(1610). 이때, 8x8인 경우 그대로 부호화를 수행하고, 8x4, 4x8, 4x4인 경우에는 변환타입정보(TTBLK_E)와 서브블럭패턴정보(SUBBLKPAT_E1 혹은 SUBBLKPAT_E2)에 따라서 각 서브-블록에 대하여 부호화 여부를 판단하여, 블록내의 모든 양자화된 DCT 계수가 '0'이 아닌 서브-블록을 부호화한다(1611~1616). 부호화되는 서브-블록의 모든 양자화된 DCT 계수는 부호화되어 인터-계수(inter-coefficients)로 구성한다(1612~1614).
도 5 내지 도 16을 통하여 생성된 확장계층 비트스트림을 포함하는 도 4의 스케일러블 비트스트림은 도 3a 혹은 도 3b에 도시된 영상 복호화장치에 입력되어 복호화가 수행되고, 그 결과 기본계층 복호화모듈(310)로부터는 기본 복원영상을, 확장계층 복호화모듈(330)로부터는 확장 복원영상을 생성한다.
상기한 실시예에서 적용된 비디오 코덱은 MPEG-2, MPEG-4, H.264 등에 널리 사용되는 DCT 비디오 코덱을 나타내며, 이에 한정되는 것이 아니라 응용에 따라 수정 혹은 변형이 가해질 수 있다. 한편, 적용된 비디오 코덱에 대해서는 널리 공지되어 있으므로 본 발명에 의하여 수정 혹은 추가된 구성요소를 제외한 공지된 구성요소의 세부적인 동작 설명을 생략하기로 한다.
상기한 실시예에서는 스케일러블 비트스트림의 형태를 하나의 기본계층 비트스트림과 하나의 확장계층 비트스트림으로 구성한 실시예에 기초하여 비트깊이 및 영상포맷 중 적어도 하나의 부호화 파라미터가 서로 다른 두가지 코덱을 지원하는 것을 설명하고 있으나, 확장계층 비트스트림을 복수개로 둠으로써 두가지 이상의 코덱을 지원하는 것도 가능하다. 또한, 본 실시예에서는 비트깊이에 있어서 기본비트깊이가 확장 비트깊이보다 큰 값을 예로 들었으나, 비트깊이의 변경 방향 즉, 기본 비트깊이가 확장 비트깊이보다 작은 값인 경우에도 다양한 설계변경이 가능하다. 또한, 본 실시예에서는 픽쳐 레벨별로 부가적인 양자화계수를 할당하고 있으나, 필요에 따라 슬라이스 레벨별, 매크로블럭 레벨별, 혹은 블럭 레벨별로 할당할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따르면, 역방향 호환성 뿐만 아니라 순방향 호환성이 보장되는 새로운 비디오 코덱을 제공하기 위하여, 기본계층 비트스트림과 확장계층 비트스트림으로 이루어지는 스케일러블 비트스트림을 생성하고, 스케일러블 비트스트림을 수신하는 기존의 기본 디코더는 스케일러블 비트스트림으로부터 얻어지는 기본계층 비트스트림을 이용하여 복호화를 수행하고, 스케일러블 비디오 디코더는 스케일러블 비트스트림에 포함된 기본계층 비트스트림과 확장계층 비트스트림을 모두 이용하여 복호화를 수행함으로써 개선된 비디오 코덱과 기존의 비디오 코덱이 서로 융화되어 공존할 수 있는 이점이 있다. 이에 따르면, 구체적으로 기존의 WMV(Window Media Video) 코덱 혹은 VC-1 코덱과 새로운 비트깊이를 지원하는 비디오 코덱이 같이 사용될 수 있는 이점이 있다.
또한, 본 발명에 따른 스케일러블 비디오 엔코더는 스케일러블 비트스트림에 포함되는 확장계층의 비트스트림을 효율적으로 구성함으로써 확장계층의 비트스트림 부호화시 기본계층의 정보를 효율적으로 이용할 수 있도록 한다. 그 결과, 기존의 비디오 코덱도 본 발명에 따른 개선된 비디오 코덱에 의해 생성되는 스케일러블 비트스트림을 복호화할 수 있으므로 본 발명에 따른 개선된 비디오 코덱과 기존의 비디오 코덱이 서로 융화되어 공존할 수 있다.
이와 같이 본 발명에 따른 비디오 코덱은 순방향 호환성을 제공해 주므로 모바일 폰, DVD 플레이어, 휴대용 뮤직 플레이어 혹은 카 스테레오 등과 같은 유선 혹은 무선 전자기기에 탑재된 개선된 비디오 코덱 뿐만 아니라, 기존의 기본 비디오 코덱에도 채용되는 등, 지원하는 비트깊이에 상관없이 다양한 비디오 코덱에 적용할 수 있는 이점이 있다.
도 1은 본 발명에 따른 영상 부호화장치 및 영상 복호화장치의 개념을 설명하기 위한 도면,
도 2는 본 발명에 따른 영상 부호화장치의 일실시예의 구성을 나타낸 블럭도,
도 3a은 본 발명에 따른 영상 복호화장치의 일실시예의 구성을 나타낸 블럭도이고, 도 3b는 도 2에 의해 생성된 스케일러블 비트스트림을 입력으로 하는 기존의 영상 복호화장치의 일실시예의 구성을 나타낸 블럭도,
도 4는 본 발명에 의한 영상 부호화장치에서 생성되는 스케일러블 비트스트림의 구조를 나타내는 도면,
도 5는 도 4에 있어서 확장계층의 시퀀스 헤더의 신택스를 나타내는 도면,
도 6은 도 5에 도시된 확장계층의 시퀀스 헤더의 비트스트림을 구성하는 방법을 나타내는 도면,
도 7은 도 4에 있어서 확장계층의 프레임 헤더의 신택스를 나타내는 도면,
도 8은 도 7에 도시된 확장계층의 프레임 헤더의 비트스트림을 구성하는 방법을 나타내는 도면,
도 9는 도 8에 있어서 확장계층의 인트라-매크로블럭의 신택스를 나타내는 도면,
도 10은 도 9에 도시된 확장계층의 인트라-매크로블럭의 비트스트림을 구성하는 방법을 나타내는 도면,
도 11은 도 8에 있어서 확장계층의 인터-매크로블럭의 신택스를 나타내는 도면,
도 12는 도 11에 도시된 확장계층의 인터-매크로블럭의 비트스트림을 구성하는 방법을 나타내는 도면,
도 13은 도 11에 있어서 확장계층의 부호화된 인트라-블록의 신택스를 나타내는 도면,
도 14는 도 13에 도시된 확장계층의 부호화된 인트라-블록의 비트스트림을 구성하는 방법을 나타내는 도면,
도 15는 도 11에 있어서 확장계층의 부호화된 인터-블럭의 신택스를 나타내는 도면, 및
도 16은 도 15에 도시된 확장계층의 부호화된 인터-블록의 비트스트림을 구성하는 방법을 나타내는 도면이다.

Claims (23)

  1. 순방향 호환성을 갖도록 기본계층 비트스트림과 확장계층 비트스트림으로 이루어진 스케일러블 비트스트림을 생성하는 영상 부호화방법에 있어서,
    상기 확장계층의 비트깊이 정보를 부호화하고, 상기 기본계층의 프레임 혹은 픽쳐 타입을 고려하여 상기 확장계층의 프레임 혹은 픽쳐 타입을 부호화하고, 상기 기본계층의 양자화계수와 함께, 상기 확장계층의 양자화계수를 얻기 위한 부가 양자화정보를 부호화하고, 각 부호화결과와, 상기 확장계층의 인트라-매크로블럭을 위한 비트스트림과 상기 확장계층의 인터-매크로블럭을 위한 비트스트림으로 상기 확장계층 비트스트림을 생성하는 단계를 포함하는 것을 특징으로 하는 영상 부호화방법.
  2. 제1 항에 있어서, 상기 확장계층 비트스트림 생성단계에서는 상기 확장계층의 영상포맷정보를 부호화하여 상기 확장계층 비트스트림에 포함시키는 것을 특징으로 하는 영상 부호화방법.
  3. 제1 항에 있어서, 상기 기본계층의 프레임 혹은 픽쳐 타입이 상기 확장계층의 프레임 혹은 픽쳐 타입과 동일한지를 판단하고, 판단결과에 따라서 상기 확장계층의 프레임 혹은 픽쳐 타입을 부호화하는 것을 특징으로 하는 영상 부호화방법.
  4. 제1 항에 있어서, 상기 확장계층의 인트라-매크로블럭을 위한 비트스트림과 상기 확장계층의 인터-매크로블럭을 위한 비트스트림은 상기 기본계층의 비트스트림을 구성하는 압축데이터로부터 예측된 데이터를 포함하는 것을 특징으로 하는 영상 부호화방법.
  5. 제1 항에 있어서, 상기 확장계층의 인터-매크로블럭을 부호화하는 경우, 상기 기본계층의 인터-매크로블럭의 정보를 공유하여 상기 확장계층의 인터-매크로블럭을 위한 비트스트림을 구성하는 것을 특징으로 하는 영상 부호화방법.
  6. 제1 항에 있어서, 상기 확장계층의 인터-매크로블럭의 인트라-블럭을 부호화하는 경우, 상기 기본계층의 인트라-블럭의 정보를 공유하여 상기 확장계층의 인트라-블록을 위한 비트스트림을 구성하는 것을 특징으로 하는 영상 부호화방법.
  7. 제1 항에 있어서, 상기 확장계층의 인터-매크로블럭의 인터-블럭을 부호화하는 경우, 상기 기본계층의 인터-블럭의 정보를 공유하여 상기 확장계층의 인터-블록을 위한 비트스트림을 구성하는 것을 특징으로 하는 영상 부호화방법.
  8. 제1 항에 있어서, 상기 확장계층의 해당 블록에 대응되는 상기 기본계층의 블록이 부호화되지 않은 경우, 상기 확장계층의 해당 블록의 변환 타입 및 서브블럭부호화패턴을 포함하는 부가적인 정보를 부호화하여 상기 확장계층의 비트스트림 에 삽입하는 것을 특징으로 하는 영상 부호화방법.
  9. 제1 항에 있어서, 상기 확장계층의 해당 블록과 이에 대응되는 상기 기본계층의 블록이 서브블럭부호화패턴을 제외한 모든 부가적인 정보가 서로 동일한 경우, 상기 확장계층의 해당 블록의 서브블럭부호화패턴만을 해당 블록의 부가적인 정보로 부호화하는 것을 특징으로 하는 영상 부호화방법.
  10. 제1 항에 있어서, 상기 확장계층의 매크로블럭내의 모든 블록의 부호화여부를 나타내기 위한 블록부호화패턴을 상기 확장계층을 위하여 별도로 부호화하는 것을 특징으로 하는 영상 부호화방법.
  11. 순방향 호환성을 갖도록 기본계층 비트스트림과 확장계층 비트스트림으로 이루어진 스케일러블 비트스트림을 생성하는 영상 부호화장치에 있어서,
    상기 확장계층의 비트깊이 정보를 부호화하고, 상기 확장계층의 영상포맷 정보를 부호화하고, 상기 기본계층의 프레임 혹은 픽쳐 타입을 고려하여 상기 확장계층의 프레임 혹은 픽쳐 타입을 부호화하고, 상기 기본계층의 양자화계수와 함께, 상기 확장계층의 양자화계수를 얻기 위한 부가 양자화정보를 부호화하고, 각 부호화결과와, 상기 확장계층의 인트라-매크로블럭을 위한 비트스트림과 상기 확장계층의 인터-매크로블럭을 위한 비트스트림으로 상기 확장계층 비트스트림을 생성하는 확장계층 부호화모듈을 포함하는 것을 특징으로 하는 영상 부호화장치.
  12. 순방향 호환성을 갖도록 기본계층 비트스트림과 확장계층 비트스트림으로 이루어진 스케일러블 비트스트림을 복호화하는 영상 복호화방법에 있어서,
    상기 기본계층 비트스트림으로부터 추출된 영상 압축데이터를 복호화하는 단계; 및
    상기 확장계층 비트스트림으로부터 상기 확장계층의 비트깊이 정보를 복호화하고, 상기 기본계층의 프레임 혹은 픽쳐 타입을 고려하여 부호화된 상기 확장계층의 프레임 혹은 픽쳐 타입을 복호화하고, 상기 기본계층에서 복호화된 양자화계수와 함께 상기 확장계층의 양자화계수를 얻기 위한 부가적인 양자화계수를 복호화하고, 상기 기본계층 비트스트림의 복호화결과를 이용하여 상기 확장계층의 인트라-매크로블럭을 위한 비트스트림과 상기 확장계층의 인터-매크로블럭을 위한 비트스트림으로 상기 확장계층을 위한 비트스트림을 복호화하는 단계를 포함하는 것을 특징으로 하는 영상 복호화방법.
  13. 제12 항에 있어서, 상기 확장계층 복호화단계에서는 상기 확장계층 비트스트림으로부터 상기 확장계층의 영상포맷 정보를 복호화하는 단계를 더 포함하는 것을 특징으로 하는 영상 복호화방법.
  14. 제12 항에 있어서, 상기 기본계층의 프레임 혹은 픽쳐 타입이 상기 확장계층의 프레임 혹은 픽쳐 타입과 동일한지 여부를 판단하고, 판단결과에 따라서 상기 확장계층의 프레임 혹은 픽쳐 타입을 복호화하는 것을 특징으로 하는 영상 복호화방법.
  15. 제12 항에 있어서, 상기 기본계층의 인터-매크로블럭의 정보를 공유하여 상기 확장계층의 인터-매크로블럭을 위한 비트스트림을 복호화하는 것을 특징으로 하는 영상 복호화방법.
  16. 제12 항에 있어서, 상기 기본계층의 인트라-블럭의 정보를 공유하여 상기 확장계층의 인터-매크로블럭의 인트라-블록을 위한 비트스트림을 복호화하는 것을 특징으로 하는 영상 복호화방법.
  17. 제12 항에 있어서, 상기 기본계층의 인터-블럭의 정보를 공유하여 상기 확장계층의 인터-매크로블럭의 인터-블록을 위한 비트스트림을 복호화하는 것을 특징으로 하는 영상 복호화방법.
  18. 제12 항에 있어서, 상기 확장계층의 해당 블록에 대응되는 상기 기본계층의 블록이 복호화되지 않은 경우, 상기 확장계층의 비트스트림에 삽입된 상기 확장계층의 해당 블록의 변환 타입 및 서브블럭부호화패턴을 포함하는 부가적인 정보를 복호화하는 것을 특징으로 하는 영상 복호화방법.
  19. 제12 항에 있어서, 상기 확장계층의 해당 블록과 이에 대응되는 상기 기본계층의 블록이 서브블럭부호화패턴을 제외한 모든 부가적인 정보가 서로 동일한 경우, 상기 확장계층의 해당 블록의 서브블럭부호화패턴만으로 이루어진 해당 블록의 부가적인 정보를 복호화하는 것을 특징으로 하는 영상 복호화방법.
  20. 제12 항에 있어서, 상기 확장계층의 매크로블럭내의 모든 블록의 부호화여부를 나타내기 위한 블록부호화패턴을 상기 확장계층을 위하여 별도로 복호화하는 것을 특징으로 하는 영상 복호화방법.
  21. 순방향 호환성을 갖도록 기본계층 비트스트림과 확장계층 비트스트림으로 이루어진 스케일러블 비트스트림을 복호화하는 영상 복호화장치에 있어서,
    상기 기본계층 비트스트림으로부터 추출된 영상 압축데이터를 복호화하는 기본계층 복호화모듈; 및
    상기 확장계층 비트스트림으로부터 상기 확장계층의 비트깊이 정보를 복호화하고, 상기 확장계층의 영상포맷 정보를 복호화하고, 상기 기본계층의 프레임 혹은 픽쳐 타입을 고려하여 부호화된 상기 확장계층의 프레임 혹은 픽쳐 타입을 복호화하고, 상기 기본계층에서 복호화된 양자화계수와 함께 상기 확장계층의 양자화계수를 얻기 위한 부가적인 양자화계수를 복호화하고, 상기 기본계층 비트스트림의 복호화결과를 이용하여 상기 확장계층의 인트라-매크로블럭을 위한 비트스트림과 상기 확장계층의 인터-매크로블럭을 위한 비트스트림으로 상기 확장계층을 위한 비트 스트림을 복호화하는 확장계층 복호화모듈을 포함하는 것을 특징으로 하는 영상 복호화장치.
  22. 제1 항 내지 제10 항 중 어느 한 항에 기재된 영상 부호화방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  23. 제12 항 내지 제20 항 중 어느 한 항에 기재된 영상 복호화방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020070093904A 2007-09-14 2007-09-14 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법 KR101365596B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070093904A KR101365596B1 (ko) 2007-09-14 2007-09-14 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법
US12/076,125 US8873621B2 (en) 2007-09-14 2008-03-13 Method, medium, and apparatus for encoding and/or decoding video by generating scalable bitstream
EP08778583.8A EP2196029A4 (en) 2007-09-14 2008-07-03 METHOD, MEDIUM AND APPARATUS FOR ENCODING AND / OR DECODING VIDEO DATA
PCT/KR2008/003919 WO2009035210A1 (en) 2007-09-14 2008-07-03 Method, medium, and apparatus for encoding and/or decoding video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070093904A KR101365596B1 (ko) 2007-09-14 2007-09-14 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법

Publications (2)

Publication Number Publication Date
KR20090028369A true KR20090028369A (ko) 2009-03-18
KR101365596B1 KR101365596B1 (ko) 2014-03-12

Family

ID=40452189

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070093904A KR101365596B1 (ko) 2007-09-14 2007-09-14 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법

Country Status (4)

Country Link
US (1) US8873621B2 (ko)
EP (1) EP2196029A4 (ko)
KR (1) KR101365596B1 (ko)
WO (1) WO2009035210A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023806A3 (ko) * 2010-08-17 2012-05-10 한국전자통신연구원 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
WO2015053593A1 (ko) * 2013-10-12 2015-04-16 삼성전자 주식회사 부가 영상을 부호화하기 위한 스케일러블 비디오 부호화 방법 및 장치, 부가 영상을 복호화하기 위한 스케일러블 비디오 복호화 방법 및 장치
WO2017039021A1 (ko) * 2015-08-28 2017-03-09 전자부품연구원 스케일러블 인코딩을 지원하는 컨텐츠 전송 방법 및 이를 위한 스트리밍 서버

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9510016B2 (en) * 2008-06-12 2016-11-29 Thomson Licensing Methods and apparatus for video coding and decoding with reduced bit-depth update mode and reduced chroma sampling update mode
GB2476260A (en) * 2009-12-16 2011-06-22 Advanced Risc Mach Ltd Video encoder with parallel encoding based on cached reference frame
EP4290860A3 (en) * 2010-06-04 2024-02-14 Sony Group Corporation Image processing apparatus and method
JP2012182672A (ja) * 2011-03-01 2012-09-20 Toshiba Corp エンコーダ、映像伝送装置及びエンコード方法
US8861593B2 (en) * 2011-03-15 2014-10-14 Sony Corporation Context adaptation within video coding modules
EP2697971B1 (en) 2011-04-14 2015-07-08 Dolby Laboratories Licensing Corporation Multiple color channel multiple regression predictor
EP2761877B8 (en) * 2011-09-29 2016-07-13 Dolby Laboratories Licensing Corporation Dual-layer frame-compatible full-resolution stereoscopic 3d video delivery
WO2013081615A1 (en) * 2011-12-01 2013-06-06 Intel Corporation Motion estimation methods for residual prediction
TWI606718B (zh) 2012-01-03 2017-11-21 杜比實驗室特許公司 規定視覺動態範圍編碼操作及參數
CA2873487A1 (en) 2012-05-14 2013-11-21 Luca Rossato Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy
US20140044168A1 (en) * 2012-08-13 2014-02-13 Qualcomm Incorporated Device and method for scalable coding of video information
US9467692B2 (en) * 2012-08-31 2016-10-11 Qualcomm Incorporated Intra prediction improvements for scalable video coding
US9532057B2 (en) * 2012-12-28 2016-12-27 Qualcomm Incorporated Inter-layer prediction using sample-adaptive adjustments for bit depth scalable video coding
JP6331103B2 (ja) * 2013-03-21 2018-05-30 ソニー株式会社 画像復号装置および方法
US9467700B2 (en) 2013-04-08 2016-10-11 Qualcomm Incorporated Non-entropy encoded representation format
JP2016516093A (ja) * 2013-04-12 2016-06-02 ビーエーエスエフ ソシエタス・ヨーロピアBasf Se テトラヒドロフラン誘導体および可塑剤としての前記テトラヒドロフラン誘導体の使用
US20150195549A1 (en) * 2014-01-08 2015-07-09 Qualcomm Incorporated Support of non-hevc base layer in hevc multi-layer extensions
US9549196B2 (en) * 2014-02-04 2017-01-17 Microsoft Technology Licensing, Llc Data unit identification for compressed video streams
JP2015170994A (ja) * 2014-03-07 2015-09-28 ソニー株式会社 画像処理装置および方法、画像符号化装置および方法、並びに、画像復号装置および方法
GB2547934B (en) * 2016-03-03 2021-07-07 V Nova Int Ltd Adaptive video quality
KR20220003511A (ko) * 2019-03-20 2022-01-10 브이-노바 인터내셔널 리미티드 낮은 복잡도 향상 비디오 코딩
EP3849180A1 (en) * 2020-01-10 2021-07-14 Nokia Technologies Oy Encoding or decoding data for dynamic task switching
CN113473138B (zh) * 2021-06-30 2024-04-05 杭州海康威视数字技术股份有限公司 视频帧编码方法、装置、电子设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3788823B2 (ja) * 1995-10-27 2006-06-21 株式会社東芝 動画像符号化装置および動画像復号化装置
WO2001069936A2 (en) 2000-03-13 2001-09-20 Sony Corporation Method and apparatus for generating compact transcoding hints metadata
JP2002315004A (ja) * 2001-04-09 2002-10-25 Ntt Docomo Inc 画像符号化方法及び装置、画像復号方法及び装置、並びに画像処理システム
KR100565308B1 (ko) * 2003-11-24 2006-03-30 엘지전자 주식회사 에스엔알 스케일러빌리티를 위한 동영상 부호화 및 복호화 장치
US20050259729A1 (en) 2004-05-21 2005-11-24 Shijun Sun Video coding with quality scalability
US20060153295A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Method and system for inter-layer prediction mode coding in scalable video coding
KR100703749B1 (ko) * 2005-01-27 2007-04-05 삼성전자주식회사 잔차 재 추정을 이용한 다 계층 비디오 코딩 및 디코딩방법, 이를 위한 장치
US20070147497A1 (en) * 2005-07-21 2007-06-28 Nokia Corporation System and method for progressive quantization for scalable image and video coding
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
US7773672B2 (en) 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
WO2008026896A1 (en) * 2006-08-31 2008-03-06 Samsung Electronics Co., Ltd. Video encoding apparatus and method and video decoding apparatus and method
KR101267178B1 (ko) * 2006-09-30 2013-05-24 톰슨 라이센싱 비디오에 대하여 색 인핸스먼트 계층을 인코딩 및 디코딩하기 위한 방법 및 디바이스
CN101589625B (zh) 2006-10-25 2011-09-21 弗劳恩霍夫应用研究促进协会 质量可缩放编码
US8737474B2 (en) * 2007-06-27 2014-05-27 Thomson Licensing Method and apparatus for encoding and/or decoding video data using enhancement layer residual prediction for bit depth scalability

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023806A3 (ko) * 2010-08-17 2012-05-10 한국전자통신연구원 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
US9699449B2 (en) 2010-08-17 2017-07-04 Electronics And Telecommunications Research Institute Method and apparatus for encoding video, and decoding method and apparatus based on quantization parameter
US9838691B2 (en) 2010-08-17 2017-12-05 Electronics And Telecommunications Research Institute Method and apparatus for encoding video, and decoding method and apparatus
US10212422B2 (en) 2010-08-17 2019-02-19 Electronics And Telecommunications Research Institute Method and apparatus for encoding video, and decoding method and apparatus
US10827174B2 (en) 2010-08-17 2020-11-03 Electronics And Telecommunications Research Institute Method and apparatus for encoding video, and decoding method and apparatus
US10939106B2 (en) 2010-08-17 2021-03-02 Electronics And Telecommunications Research Institute Method and apparatus for encoding video, and decoding method and apparatus
WO2015053593A1 (ko) * 2013-10-12 2015-04-16 삼성전자 주식회사 부가 영상을 부호화하기 위한 스케일러블 비디오 부호화 방법 및 장치, 부가 영상을 복호화하기 위한 스케일러블 비디오 복호화 방법 및 장치
WO2017039021A1 (ko) * 2015-08-28 2017-03-09 전자부품연구원 스케일러블 인코딩을 지원하는 컨텐츠 전송 방법 및 이를 위한 스트리밍 서버

Also Published As

Publication number Publication date
US8873621B2 (en) 2014-10-28
EP2196029A1 (en) 2010-06-16
US20090074060A1 (en) 2009-03-19
EP2196029A4 (en) 2013-07-24
WO2009035210A1 (en) 2009-03-19
KR101365596B1 (ko) 2014-03-12

Similar Documents

Publication Publication Date Title
KR101365596B1 (ko) 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법
KR101365441B1 (ko) 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법
JP5864654B2 (ja) 低減ビット深度更新モードおよび低減色度サンプリング更新モードを用いるビデオコーディングおよびデコーディングのための方法および装置
KR101365597B1 (ko) 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법
KR101366249B1 (ko) 스케일러블 영상 부호화장치 및 방법과 그 영상 복호화장치및 방법
JP5795416B2 (ja) スケーラブルビット深度のためのスケーラブルビデオコーディング手法
US20090129474A1 (en) Method and apparatus for weighted prediction for scalable video coding
EP2901702B1 (en) Signaling scalability information in a parameter set
US10397606B2 (en) System for signaling IFR and BLA pictures
RU2406254C2 (ru) Видеообработка с масштабируемостью
US20140192894A1 (en) Implicit signaling of scalability dimension identifier information in a parameter set
TWI493885B (zh) 用於操作通訊裝置的熵編碼器及設備
US20150365686A1 (en) Image encoding/decoding method and device
KR101291189B1 (ko) 스케일러블 영상 부호화장치 및 방법과 스케일러블 영상복호화장치 및 방법
EP2923488B1 (en) Signaling scalability information in a parameter set
KR20140048806A (ko) 공간 해상도에 기반한 계층 간 예측 장치 및 방법
KR20140038319A (ko) 다중 계층 비디오를 위한 계층 간 예측 장치 및 방법

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee