[go: up one dir, main page]

KR100772868B1 - 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치 - Google Patents

복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치 Download PDF

Info

Publication number
KR100772868B1
KR100772868B1 KR1020060026603A KR20060026603A KR100772868B1 KR 100772868 B1 KR100772868 B1 KR 100772868B1 KR 1020060026603 A KR1020060026603 A KR 1020060026603A KR 20060026603 A KR20060026603 A KR 20060026603A KR 100772868 B1 KR100772868 B1 KR 100772868B1
Authority
KR
South Korea
Prior art keywords
block
layer
discardable
bitstream
data
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020060026603A
Other languages
English (en)
Other versions
KR20070056896A (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 US11/585,981 priority Critical patent/US20070121723A1/en
Priority to EP06812234.0A priority patent/EP1955546A4/en
Priority to JP2008543173A priority patent/JP4833296B2/ja
Priority to CN2006800518866A priority patent/CN101336549B/zh
Priority to PCT/KR2006/004392 priority patent/WO2007064082A1/en
Publication of KR20070056896A publication Critical patent/KR20070056896A/ko
Application granted granted Critical
Publication of KR100772868B1 publication Critical patent/KR100772868B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • B25J19/061Safety devices with audible signals
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0009Constructional details, e.g. manipulator supports, bases
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/12Programme-controlled manipulators characterised by positioning means for manipulator elements electric
    • B25J9/126Rotary actuators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/176Methods 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 block, e.g. a macroblock
    • 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/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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 or manipulating encoded video stream 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25825Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 복수 계층 기반으로 한 스케일러블 비디오 코딩 방법 및 장치에 관한 것이다.
본 발명의 일 실시예에 따른, 복수의 계층으로 이루어지는 비디오 시퀀스를 부호화하는 비디오 인코딩 방법은, 상기 복수의 계층 중 제1 계층에 존재하는 제1 블록의 잔차를 코딩하는 단계와, 상기 복수의 계층 중 제2 계층에 존재하며 상기 제1 블록과 대응되는 제2 블록이, 상기 제1 블록을 이용하여 코딩되는 경우, 상기 코딩된 제1 블록의 잔차를 비트스트림 중 폐기 불가능 영역에 기록하는 단계와, 상기 제2 블록이 상기 제1 블록을 이용하지 않고 코딩되는 경우, 상기 코딩된 제1 블록의 잔차를 상기 비트스트림 중 폐기 가능 영역에 기록하는 단계로 이루어진다.
스케일러블 비디오 코딩, H.264, NAL 유닛

Description

복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법 및 장치{Scalable video coding based on multiple layers and apparatus thereof}
도 1은 종래의 트랜스코딩을 통한 시뮬캐스팅 과정을 보여주는 도면.
도 2는 종래의 SVC 표준에 따른 비트스트림 전송 과정을 보여주는 도면.
도 3은 복수 계층을 이용한 스케일러블 비디오 코딩 구조를 보여주는 도면.
도 4 및 도 5는 비 스케일러블 비트스트림의 품질과 스케일러블 비트스트림의 품질을 비교한 그래프.
도 6은 본 발명의 일 실시예에 따른 비트스트림 전송 방법을 보여주는 도면.
도 7은 종래의 H.264 표준 또는 SVC 표준에 따른 비트스트림의 구성을 보여주는 도면.
도 8은 본 발명의 일 실시예에 따른 비트스트림의 구성을 보여주는 도면.
도 9는 인터 예측, 인트라 예측 및 인트라 베이스 예측의 개념을 설명하는 도면.
도 10은 본 발명의 일 실시예에 따른 비디오 인코딩 과정을 나타낸 흐름도.
도 11은 도 8의 비트스트림의 보다 자세한 구조의 예를 도시하는 도면
도 12는 비디오 디코더가 수행하는 비디오 디코딩 과정을 나타낸 흐름도.
도 13는 비디오 시퀀스가 3개의 계층으로 이루어지는 경우를 나타내는 도면.
도 14은 FGS에서 죽은 부스트림의 예로서 다중 적응이 불가능한 비트스트림을 보여주는 도면.
도 15는 FGS에 있어서, 다중 적응에 적합한 비트스트림을 보여주는 도면.
도 16는 시간적 레벨을 이용한 다중 적응의 예를 보여주는 도면.
도 17은 본 발명의 일 실시예에 따른 시간적 레벨을 이용한 다중 적응의 예를 보여주는 도면.
도 18은 CGS 계층 간에는 시간적 예측이 이루어지는 예를 보여주는 도면.
도 19는 CGS 계층과 FGS 계층 간에 시간적 예측이 이루어지는 예를 보여주는 도면.
도 20은 본 발명의 일 실시예에 따른 비디오 인코더의 구성을 도시하는 블록도.
도 21은 본 발명의 일 실시예에 따른 비디오 디코더의 구성을 도시하는 블록도.
(도면의 주요부분에 대한 부호 설명)
110, 210 : 예측부 120 : 코딩 판단부
130, 230 : 코딩부 131, 231 : 공간적 변환부
132, 232 : 양자화부 133, 233 : 엔트로피 부호화부
134, 422 : 역 양자화부 135, 423 : 역 공간적 변환부
140 : 비트스트림 생성부 300 : 비디오 인코더
400 : 비디오 디코더 410 : 비트스트림 파서
421 : 엔트로피 복호화부 424 : 역 예측부
본 발명은 비디오 코딩 기술에 관한 것으로, 복수 계층 기반으로 한 스케일러블 비디오 코딩 방법 및 장치에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 픽쳐에서 인접 픽쳐가 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려하여 지각적 중복을 제거함으로써 데이터를 압축할 수 있다. 일반적인 비디오 코딩 방법에 있어서, 시간적 중복은 모션 보상에 근거한 시간적 필터링(temporal filtering)에 의해 제거하고, 공간적 중복은 공간적 변환 (spatial transform)에 의해 제거한다.
데이터의 중복을 제거한 후 생성되는 멀티미디어를 전송하기 위해서는, 전송매체가 필요한데 그 성능은 전송매체 별로 차이가 있다. 현재 사용되는 전송매체는 초당 수십 메가 비트의 데이터를 전송할 수 있는 초고속 통신망부터 초당 384kbit의 전송속도를 갖는 이동통신망 등과 같이 다양한 전송속도를 갖는다. 이와 같은 환경에서, 다양한 속도의 전송매체를 지원하기 위하여 또는 전송환경에 따라 이에 적합한 전송률로 멀티미디어를 전송할 수 있도록 하는, 즉 스케일러블 비디오 코딩(scalable video coding) 방법이 멀티미디어 환경에 보다 적합하다 할 수 있다.
스케일러블 비디오 코딩이란, 이미 압축된 비트스트림(bit-stream)에 대하여 전송 비트율, 전송 에러율, 시스템 자원 등의 주변 조건에 따라 상기 비트스트림의 일부를 잘라내어 비디오의 해상도, 프레임율, 및 SNR(Signal-to-Noise Ratio) 등을 조절할 수 있게 해주는 부호화 방식, 즉 다양한 스케일러빌리티(scalability)를 지원하는 부호화 방식을 의미한다.
현재, MPEG (Moving Picture Experts Group)과 ITU (International Telecommunication Union)의 공동 작업 그룹(working group)인 JVT (Joint Video Team)에서는 H.264를 기본으로 하여 다계층(multi-layer) 형태로 스케일러빌리티를 구현하기 위한 표준화 작업(이하, SVC(scalable video coding) 표준이라 함)을 진행 중에 있다.
도 1은 종래의 트랜스코딩(transcoding)을 통한 시뮬캐스팅(simulcasting) 과정을 보여주는 도면이다. 최초에 인코더(11)는 스케일러블하지 않은 비트스트림( 비 스케일러블 비트스트림)을 생성하고 이를 스트리밍 서버 역할을 하는 각각의 라우터 내지 트랜스코더(12, 13, 14)에 제공한다. 그러면, 최종 클라이언트 기기(15, 16, 17, 18)와 연결된 트랜스코더(13, 14)는 상기 클라이언트 기기의 성능 또는 네트워크 대역폭에 따라서 해당 품질의 비트스트림을 전송한다. 그런데, 트랜스코더(12, 13, 14)에서 수행되는 트랜스코딩 과정은 입력된 비트스트림을 디코딩한 후, 다시 다른 조건의 비트스트림으로 재인코딩하는 과정을 포함하므로 시간 지연이 발생할 뿐 아니라 비디오 품질의 저하를 초래하게 된다.
상기 SVC 표준에서는 이러한 문제점을 고려하여, 공간적 차원(공간적 스케일러빌티티), 프레임율(시간적 스케일러빌리티), 비트율(SNR 스케일러빌리티) 등의 관점에서 스케일러블한 비트스트림을 제공한다. 이러한 스케일러블 특징들은 복수의 클라이언트가 동일한 비디오를 수신하는 경우에 상당히 유용하지만, 서로 다른 공간적/시간적/품질 조건을 갖는다. 스케일러블 비디오 코딩을 위하여는 트랜스코더(transcoder)가 필요하지 않으므로, 효율적인 멀티캐스팅이 가능하다.
SVC 표준에 따르면, 도 2에 도시하는 바와 같이, 인코더(11)는 처음부터 스케일러블 비트스트림을 생성하고, 이를 제공받은 라우터 내지 추출기(extractor)(22, 23, 24)는 단순히 상기 생성된 비트스트림의 일부를 추출하는 방식으로 비트스트림의 품질을 변화시킨다. 따라서, 라우터 내지 추출기(22, 23, 24)는 스트리밍되고 있는 컨텐츠에 관한 보다 나은 제어를 할 수 있는데, 이는 가용한 대역폭의 효율적인 사용으로 이어진다.
스케일러블 코딩은 통상 복수 계층(multiple layers) 및 엠베디드 코딩 (embedded coding)을 사용하여 수행된다. 이러한 스킴에서, 낮은 계층은 낮은 품질(공간적/시간적/SNR)의 비디오를 제공한다. 향상 계층은 보다 많은 정보를 전송함으로써 비디오 품질을 증가시킨다.
도 3은 복수 계층을 이용한 스케일러블 비디오 코딩 구조를 보여주고 있다. 여기서, 제1 계층을 QCIF(Quarter Common Intermediate Format), 15Hz(프레임율)로 정의하고, 제2 계층을 CIF(Common Intermediate Format), 30hz로, 제3 계층을 SD(Standard Definition), 60hz로 정의한다. 만약 CIF 0.5Mbps 스트림(stream)을 원한다면, 제2 계층의 CIF_30Hz_0.7M에서 비트율(bit-rate)이 0.5M로 되도록 비트스트림을 잘라내면 된다. 이러한 방식으로 공간적, 시간적, SNR 스케일러빌리티를 구현할 수 있다. 그런데, 계층 간에는 어느 정도 유사성이 존재하기 때문에 각 계층을 부호화함에 있어서는, 다른 계층으로부터 예측된 정보(텍스쳐 데이터, 모션 데이터 등)를 이용함으로써 부호화 효율을 높일 수 있는 것이다.
그러나, 이러한 스케일러빌리티(scalability)는 종종 오버헤드를 유발한다. 도 4는 H.264에 따라 코딩한 비 스케일러블 비트스트림의 품질과, SVC 표준에 따른 스케일러블 비트스트림의 품질을 비교한 그래프이다. 스케일러블 비트스트림에 있어서 PSNR 손실은 약 0.5 dB 정도인 것으로 관찰된다. 도 5와 같은 극단적인 경우에서는, PSNR 손실은 거의 1 dB에 육박한다. 도 4 및 도 5의 분석 결과는 SVC 표준 코덱의 성능(공간적 스케일러빌리티 설정의 경우)은 H.264에 비하여 성능이 낮은 MPEG-4에 가깝거나 다소 상회하는 정도이다. 이 경우 스케일러빌리티는 약 20%의 비트율 오버헤드가 발생시킨다.
다시 도 2를 참조하면, 마지막 링크(최종 라우터 및 클라이언트 간의 링크)도 또한 스케일러블 비트스트림을 사용한다는 것을 알 수 있다. 그러나, 대부분의 케이스에 있어서, 이러한 링크에서는 상기 비트스트림을 수신하는 단지 하나의 클라이언트만 존재하므로, 스케일러빌리티 특징은 필요하지 않다. 따라서, 상기 최종 링크에서 대역폭 오버헤드가 발생한다. 따라서, 스케일러빌리티가 필요하지 않을 때 이러한 오버헤드를 적응적으로 제거할 수 있는 기술을 고안할 필요가 있다.
본 발명이 이루고자 하는 기술적 과제는, 복수 계층 기반의 비디오 코덱의 코딩 성능을 향상시키는 것이다.
본 발명이 이루고자 하는 또 다른 기술적 과제는, 스케일러블 비트스트림에서 스케일러빌리티가 필요하지 않는 경우에, 상기 스케일러블 비트스트림의 오버헤드를 제거하는 것이다.
본 발명의 기술적 과제들은 상기 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 기술적 과제를 달성하기 위하여, 복수의 계층으로 이루어지는 비디오 시퀀스를 부호화하는 비디오 인코딩 방법은, (a) 상기 복수의 계층 중 제1 계층에 존재하는 제1 블록의 잔차를 코딩하는 단계; (b) 상기 복수의 계층 중 제2 계층에 존재하며 상기 제1 블록과 대응되는 제2 블록이, 상기 제1 블록을 이용하여 코딩되 는 경우, 상기 코딩된 제1 블록의 잔차를 비트스트림 중 폐기 불가능 영역에 기록하는 단계; 및 (c) 상기 제2 블록이 상기 제1 블록을 이용하지 않고 코딩되는 경우, 상기 코딩된 제1 블록의 잔차를 상기 비트스트림 중 폐기 가능 영역에 기록하는 단계를 포함한다.
상술한 기술적 과제를 달성하기 위하여, 복수의 계층 중 적어도 하나 이상의 계층이 폐기 불가능 영역과 폐기 가능 영역으로 이루어지는 비디오 비트스트림을 복호화하는 비디오 디코딩 방법은, (a) 상기 폐기 불가능 영역에서 제1 블록을 판독하는 단계; (b) 상기 제1 블록의 데이터가 존재하면, 상기 제1 블록의 데이터를 디코딩하는 단계; (c) 상기 제1 블록의 데이터가 존재하지 않으면, 상기 폐기 가능 영역에서 상기 제1 블록과 동일한 식별자를 가지는 제2 블록의 데이터를 판독하는 단계; 및 (d) 상기 판독된 제2 블록의 데이터를 디코딩하는 단계를 포함한다.
상술한 기술적 과제를 달성하기 위하여, 복수의 계층으로 이루어지는 비디오 시퀀스를 부호화하는 비디오 인코더는, 상기 복수의 계층 중 제1 계층에 존재하는 제1 블록의 잔차를 코딩하는 수단; 상기 복수의 계층 중 제2 계층에 존재하며 상기 제1 블록과 대응되는 제2 블록이, 상기 제1 블록을 이용하여 코딩되는 경우, 상기 코딩된 제1 블록의 잔차를 비트스트림 중 폐기 불가능 영역에 기록하는 수단; 및 상기 제2 블록이 상기 제1 블록을 이용하지 않고 코딩되는 경우, 상기 코딩된 제1 블록의 잔차를 상기 비트스트림 중 폐기 가능 영역에 기록하는 수단을 포함한다.
상술한 기술적 과제를 달성하기 위하여, 복수의 계층 중 적어도 하나 이상의 계층이 폐기 불가능 영역과 폐기 가능 영역으로 이루어지는 비디오 비트스트림을 복호화하는 비디오 디코더는, 상기 폐기 불가능 영역에서 제1 블록을 판독하는 수단; 상기 제1 블록의 데이터가 존재하면, 상기 제1 블록의 데이터를 디코딩하는 수단; 상기 제1 블록의 데이터가 존재하지 않으면, 상기 폐기 가능 영역에서 상기 제1 블록과 동일한 식별자를 가지는 제2 블록의 데이터를 판독하는 수단; 및 상기 판독된 제2 블록의 데이터를 디코딩하는 수단을 포함한다.
상술한 바와 같이, 스케일러빌리티는 오버헤드를 수반한다. 그러나, 스트리밍 시스템에서는, 클라이언트가 스케일러블 비트스트림을 필요로 하지 않는다면, 비트스트림을 상기 클라이언트에 전송하는 라우터는 낮은 비트율을 갖는 비 스케일러블 비트스트림을 전송하는 것으로 선택할 수 있다.
도 6은 본 발명의 일 실시예에 따른 비트스트림 전송 방법을 보여주는 도면이다. 최초에 인코더(11)는 스케일러블 비트스트림을 생성하고 이를 스트리밍 서버 역할을 하는 각각의 라우터 내지 추출기(32, 33, 34)에 제공한다. 그러면, 최종 클라이언트 기기(15, 16, 17, 18)와 연결된 추출기(13, 14)는 자신에게 제공된 스케일러블 비트스트림을, 해당 클라이언트 기기 또는 네트워크 대역폭에 적합한 비 스케일러블 비트스트림으로 변환하여 전송한다. 상기 변환 과정에서 스케일러빌리티를 유지하기 위한 오버헤드는 제거되므로 클라이언트 기기에서의 비디오 품질은 향상될 수 있다.
이러한 종류의 클라이언트의 필요에 따른 비트스트림 변환은 때때로 "다중 적응(multiple adaptation)"이라고 불리기도 한다. 이러한 변환을 위해서는, 스케일러블 비트스트림이 쉽게 비 스케일러블 비트스트림으로 변환될 수 있는 포맷으로 되어 있을 것을 요한다. 본 명세서에서 사용될 다음과 같은 용어들을 정의한다.
- 폐기 가능 정보(Discardable information) : 현재 계층을 디코딩하는 데는 필요하지만, 상위 계층을 디코딩하는 데 필요로 하지 않는 정보.
- 폐기 불가능 정보(Non-discardable information) : 상위 계층을 디코딩하는 데 필요한 정보.
본 발명에서 스케일러블 비트스트림은 폐기 불가능 정보 및 폐기 가능 정보로 구성되는데, 상기 두 종류의 정보는 쉽게 분리될 수 있어야 한다. 즉, 이 정보는 두 개의 서로 다른 코딩 유닛(예: H.264에서 사용되는 NAL 유닛)으로 분리될 수 있어야 한다. 최종 라우터는 클라이언트가 필요로 하지 않는다고 판단되면, 비트스트림의 폐기 가능 정보를 버릴 것을 선택한다.
이러한 본 발명에 따른 "스위칭 스케일러블 비트스트림(switched scalable bitstream)"이라고 명명한다. 스위칭 스케일러블 비트스트림은 폐기 가능 비트 및 폐기 불가능 비트가 분리될 수 있는 하나의 형태로 되어 있다. 비트스트림 추출기(bitstream extractor)는, 클라이언트가 필요로 하지 않는 것으로 판단될 때에는, 폐기 가능 정보를 쉽게 버릴 수 있다. 따라서, 스케일러블 비트스트림에서 비 스케일러블 비트스트림으로의 전환은 매우 용이하게 된다.
도 7은 종래의 H.264 표준 또는 SVC 표준에 따른 비트스트림의 구성을 보여주는 도면이다. H.264 표준 또는 SVC 표준에 있어서, 하나의 비트스트림(70)은 복수의 NAL 유닛(71, 72, 73, 74)으로 이루어지며, 추출기(extractor)는 NAL 유닛 단위로 상기 비트스트림(70) 중 일부를 추출함으로써 비디오 품질을 변화시킨다. 하 나의 NAL 유닛은 실제의 압축된 비디오 데이터가 기록되는 NAL 데이터 필드(76)과, 상기 압축된 비디오 데이터에 대한 부가정보가 기록되는 NAL 헤더(75)로 이루어진다.
일반적으로 NAL 데이터 필드(76)의 크기는 고정되어 있지 않고, 그 크기가 NAL 헤더(75)에 기록된다. NAL 데이터 필드(76)는 적어도 하나 이상(n개)의 매크로블록(MB1, MB2, MBn)으로 구성될 수 있으며, 하나의 매크로블록은 모션 데이터(모션 벡터, 매크로블록 패턴, 참조 프레임 번호 등)와 텍스쳐 데이터(양자화된 잔차(residual) 등)를 포함한다.
도 8은 본 발명의 일 실시예에 따른 비트스트림의 구성을 보여주는 도면이다. 본 발명의 일 실시예에 따른 비트스트림(100)은 폐기 불가능한 NAL 유닛들(80)과 폐기 가능한 NAL 유닛들(90)로 이루어진다. 폐기 불가능한 각각의 NAL 유닛들(81, 82, 83, 84)의 NAL 헤더에는 폐기 가능 여부를 나타내는 플래그인 discardable_flag가 0으로 설정되고, 폐기 가능한 각각의 NAL 유닛들(91, 92, 93, 94)의 NAL 헤더에는 상기 discardable_flag가 1로 설정된다.
상기 discardable_flag가 0이라는 것은, NAL 유닛의 NAL 데이터 필드에 기록된 데이터는 상위 계층의 디코딩 과정에서 사용됨을 의미한다. 반면에, 상기 discardable_flag가 1이라는 것은, NAL 유닛의 NAL 데이터 필드에 기록된 데이터가 상위 계층의 디코딩 과정에서 사용되지 않음을 의미한다.
SVC 표준에서는 텍스쳐 데이터를 압축적으로 표현하기 위하여 4가지 예측 방 법을 개시하고 있다. 상기 예측 방법에는 기존의 H.264 표준에도 포함되어 있는 인터 예측(inter prediction), 방향적 인트라 예측(directional intra prediction)(이하, 단순히 인트라 예측이라고 함) 뿐만이 아니라, 도 3과 같은 복수 계층 구조에서만 사용 가능한 인트라 베이스 예측(intra base prediction) 및 잔차 예측(residual prediction)도 포함된다. 상기 "예측"이라 함은 인코더 및 비디오 디코더에서 공통으로 이용 가능한 정보로부터 생성된 예측 데이터를 이용하여 오리지널 데이터를 압축적으로 표시하는 기법을 의미한다.
도 9는 인터 예측, 인트라 예측 및 인트라 베이스 예측의 개념을 설명하는 도면이다.
인터 예측은 기존의 단일 계층 구조를 갖는 비디오 코덱에서도 일반적으로 사용되는 예측 모드이다. 인터 예측은, 도 9에 도시하는 바와 같이, 참조 픽쳐로부터 현재 픽쳐의 어떤 블록(현재 블록)과 가장 유사한 블록을 탐색하고 이로부터 현재 블록을 가장 잘 표현할 수 있는 예측 블록을 얻은 후, 상기 현재 블록과 상기 예측 블록과의 차분을 양자화하는 방식이다. 인터 예측은 참조 픽쳐를 참조하는 방식에 따라서, 두 개의 참조 픽쳐가 쓰이는 양방향 예측(bi-directional prediction)과, 이전 참조 픽쳐가 사용되는 순방향 예측(forward prediction)과, 이후 참조 픽쳐가 사용되는 역방향 예측(backward prediction) 등이 있다.
한편, 인트라 예측은, 현재 블록의 주변 블록 중 현재 블록과 인접한 픽셀을 이용하여 현재 블록을 예측하는 방식이다. 인트라 예측은 현재 픽쳐 내의 정보만을 이용하며 동일 계층 내의 다른 픽쳐나 다른 계층의 픽쳐를 참조하지 않는 점에서 다른 예측 방식과 차이가 있다.
인트라 베이스 예측(intra base prediction)은, 현재 픽쳐가 동일한 시간적 위치를 갖는 하위 계층의 픽쳐를 갖는 경우에 사용될 수 있다. 도 2에서 도시하는 바와 같이, 현재 픽쳐의 매크로블록은 상기 매크로블록과 대응되는 상기 기초 픽쳐의 매크로블록으로부터 효율적으로 예측될 수 있다. 즉, 현재 픽쳐의 매크로블록과 상기 기초 픽쳐의 매크로블록과의 차분이 양자화된다.
만일 하위 계층의 해상도와 현재 계층의 해상도가 서로 다른 경우에는, 상기 차분을 구하기 전에 상기 기초 픽쳐의 매크로블록은 상기 현재 계층의 해상도로 업샘플링된다. 이러한 인트라 베이스 예측은 인터 예측의 효율이 높지 않는 경우, 예를 들어, 움직임이 매우 빠른 영상이나 장면 전환이 발생하는 영상에서 특히 효과적이다.
마지막으로 잔차 예측은(도 9에는 미도시됨) 기존의 단일 계층에서의 인터 예측을 다계층의 형태로 확장한 것이다. 즉, 현재 계층의 인터 예측 과정에서 생성된 차분을 직접 양자화하는 것이 아니라, 상기 차분과 하위 계층의 인터 예측 과정에서 생성된 차분을 다시 차감하여 그 결과를 양자화하는 기법이다.
상기 discardable_flag는 현재 매크로블록과 대응되는 상위 계층의 매크로블록이 상기 4가지 예측 기법 중에서 어떤 기법을 통하여 인코딩되었는가를 기준으로 설정될 수 있다. 예를 들어, 상기 상위 계층의 매크로블록이 인트라 예측 또는 인터 예측에 의하여 인코딩되었다면, 현재 매크로블록은 스케일러빌리티를 지원하기 위한 용도로서 사용될 뿐 상기 상위 계층의 매크로블록을 디코딩하기 위하여는 사 용되지 않는다. 따라서, 이 경우에는 현재 매크로블록은 폐기 가능한 NAL 유닛에 포함될 수 있다. 반면에, 상기 상위 계층의 매크로블록이 인트라 베이스 예측 또는 잔차 예측에 의하여 인코딩되었다면, 현재 매크로블록은 상기 상위 계층의 매크로블록을 디코딩하기 위하여 반드시 필요하다. 따라서, 이 경우에는 현재 매크로블록은 폐기 불가능한 NAL 유닛에 포함될 수 있다.
상위 계층의 매크로블록이 어떤 예측 방식으로 인코딩되었는가는 SVC 표준에 따른 intra_base_flag 및 residual_prediction_flag를 읽으면 알 수 있다. 즉, 상위 계층의 매크로블록의 intra_base_flag가 1이면 상기 상위 계층의 매크로블록을 인코딩하는데 인트라 베이스 예측이 사용되었다는 것을 알 수 있고, 상기 상위 계층의 매크로블록의 residual_prediction_flag가 1이면 상기 상위 계층의 매크로블록을 인코딩하는데 잔차 예측이 사용되었다는 것을 알 수 있다. 인트라 베이스 예측, 잔차 예측과 같이 어떤 매크로블록을 인코딩함에 있어서 다른 계층의 매크로블록 정보를 이용하는 예측 기법을 계층간 예측(inter-layer prediction)이라고도 한다.
도 10은 본 발명의 일 실시예에 따른 비디오 인코딩 과정을 나타낸 흐름도이다. 먼저, 현재 매크로블록의 잔차(residual)가 입력되면(S1), 비디오 인코더는 상기 잔차를 코딩할 필요가 있는지를 판단한다(S2). 일반적으로, 상기 잔차의 에너지(잔차의 절대값의 합 또는 제곱의 합)가 소정의 임계치보다 작은 경우에는 코딩할 필요가 없는 것으로 간주하여, 즉 상기 잔차를 0으로 간주하여 인코딩하지 않는다.
S2의 판단 결과, 그러하지 아니하면(S2의 아니오) 상기 현재 매크로블록의 CBP(Coded Block Pattern) 플래그를 0으로 설정한다. SVC 표준에서는 각 매크로블록에 대하여 CBP 플래그를 기재함으로써, 해당 매크로블록이 코딩되었는가 여부를 표시하며, 비디오 디코더 단에서는 상기 기재된 CBP 플래그를 읽어서 해당 매크로블록의 디코딩 여부를 판단한다.
S2의 판단 결과, 그러하다면(S2의 예) 비디오 인코더는 상기 현재 매크로블록의 잔차를 코딩한다(S3). 여기서, 코딩은 공간적 변환(DCT, 웨이블릿 변환), 양자화, 및 엔트로피 부호화(가변길이 부호화, 산술 부호화 등)을 포함할 수 있다.
그 후, 비디오 인코더는 현재 매크로블록과 대응되는 상위 계층의 매크로블록이 계층간 예측되었는가를 판단한다(S4). 상술한 바와 같이, 계층간 예측되었는가 여부는 intra_base_flag 및 residual_prediction_flag를 읽으면 알 수 있다.
S4의 판단 결과, 그러하다면(S4의 예) 비디오 인코더는 현재 매크로블록에 대한 CBP 플래그를 1로 설정하고(S5), 상기 코딩된 현재 매크로블록의 잔차를 폐기 불가능한 NAL 유닛(80)에 기록한다(S6).
S4의 판단 결과, 그러하지 아니하다면(S4의 아니오) 비디오 인코더는 현재 매크로블록에 대한 CBP 플래그를 0으로 설정하여 폐기 불가능한 NAL 유닛(80)에 기록한다(S8). 그리고, 비디오 인코더는 상기 현재 매크로블록의 코딩된 잔차를 폐기 가능한 NAL 유닛(90)에 기록한다(S9). 이 때, 상기 폐기 가능한 NAL 유닛(90)에서 CBP 플래그는 1로 설정된다.
도 11은 도 10의 흐름도에 따라서 코딩된 매크로블록의 잔차, 즉 매크로블록 데이터(MBn)를 기록한 비트스트림(100)의 예를 도시하는 도면이다. 여기서, 하나의 NAL 유닛은 MB1 내지 MB5의 5개의 매크로블록 데이터를 포함하는 것으로 한다.
예를 들어, MB1은 잔차를 코딩할 필요가 없는 경우(도 10의 S2의 아니오)이고, MB2 및 MB5는 대응되는 상위 계층의 매크로블록이 계층간 예측된 경우(도 10의 S4의 예)이고, MB3 및 MB4는 대응되는 상위 계층의 매크로블록이 계층간 예측되지 않은 경우(도 10의 S4의 아니오)라고 가정한다.
먼저, NAL 유닛(81)의 NAL 헤더에는 폐기 불가능한 NAL 유닛이라는 정보가 표시된다. 이러한 표시는, 예컨대 NAL 헤더에 discardable_flag를 0으로 설정함으로써 수행될 수 있다.
상기 MB1의 CBP 플래그는 0으로 설정되고 MB1은 코딩되지 않으며 기록되지 않는다(즉, CBP 플래그 정보를 포함하는 매크로블록 헤더 및 모션 정보만 NAL 유닛(81)에 기록된다). 그리고, MB2 및 MB5는 NAL 유닛(81)에 기록되고 각각 CBP 플래그도 1로 설정된다.
MB3 및 MB4도 실제로 기록되어야 할 매크로블록 데이터이므로 CBP 플래그는 1로 설정되어야 하겠지만, 본 발명에서 제안하는 스위칭 스케일러블 비트스트림을 구현하기 위하여 상기 MB3 및 MB4의 CBP 플래그는 0으로 설정되고, NAL 유닛(81)에는 기록되지 않는다. 비디오 디코더의 입장에서 보면 MB3 및 MB4는 마치 코딩된 매크로블록 데이터가 존재하지 않는 것으로 간주될 것이다. 그러나, 본 발명에 따르 더라도 MB3 및 MB4는 무조건 삭제되는 것은 아니고, 폐기 가능한 NAL 유닛(91)에 기록되어 보존된다. 따라서, NAL 유닛(91)의 NAL 헤더에는 폐기 가능한 NAL 유닛이라는 정보가 표시된다. 이러한 표시는, 예컨대 NAL 헤더에 discardable_flag를 1로 설정함으로써 수행될 수 있다.
NAL 유닛(91)은 NAL 유닛(81)에 포함되는 매크로블록 데이터 중에서 폐기 가능한 데이터를 적어도 포함한다. 즉, 상기 MB3 및 MB4는 NAL 유닛(91)에 기록되는 것이다. 이 때, CBP 플래그는 1로서 설정되는 것이 바람직하지만, 폐기 가능한 NAL 유닛(91)에는 CBP 플래그가 0인 매크로블록 데이터가 기록될 필요가 없다는 점을 고려하면 어떻게 설정되더라고 무방하다.
도 11의 비트스트림(100)은 종래의 비트스트림(70)에 비하여 폐기 가능 정보 및 폐기 불가능 정보로 분리되는 특징이 있으며, 이 특징의 구현을 위하여 별다른 오버헤드가 발생하지 않음을 알 수 있다. 비디오 인코더에서 생성되는 이와 같은 구조의 비트스트림(100)의 전송 도중 스케일러빌리티를 그대로 유지해야 할 때에는 이에 포함된 폐기 가능 정보 및 폐기 불가능 정보를 그대로 유지하면 된다. 반면에, 스케일러빌리티를 유지할 필요가 없을 때(예: 전송 라우터가 최종 링크에 위치하는 경우)에는 상기 폐기 가능 정보는 삭제하면 된다. 왜냐하면, 그렇게 하더라도 스케일러빌리티 특성만 없어질 뿐, 상위 계층의 매크로블록을 복원하는 데에는 전혀 지장이 없기 때문이다.
도 12는 도 11과 같은 비트스트림(100)을 수신한 비디오 디코더가 수행하는 비디오 디코딩 과정을 나타낸 흐름도이다. 비디오 디코더가 수신하는 비트스트림(100)이 폐기 불가능한 정보와 폐기 불가능한 정보를 포함하고 있는 경우는, 이에 포함된 계층 즉, 현재 계층이 최상위 계층인 경우일 것이다. 본 발명에 의할 때, 현재 계층의 상위 계층의 비트스트림을 비디오 디코더가 디코딩하는 경우라면, 현재 계층의 비트스트림에서 폐기 가능한 NAL 유닛들은 제거되었을 것이기 때문이다.
비디오 디코더는 비트스트림(100)을 입력받고(S11), 상기 비트스트림(100)에서 폐기 불가능한 NAL 유닛에 포함된 현재 매크로블록의 CBP 플래그를 읽는다(S21). NAL 유닛이 폐기 가능한가 여부는 NAL 유닛의 NAL 헤더에 기록된 discardable_flag를 읽음으로써 알 수 있다.
상기 읽은 CBP 플래그가 1이라면(S22의 아니오), 비디오 디코더는 현재 매크로블록에 기록된 데이터를 읽고(S26) 이를 디코딩함으로써 현재 매크로블록에 해당하는 영상을 복원한다(S25).
상기 CBP 플래그가 0인 경우에는, 이것이 실제로 코딩된 데이터가 없어서 0으로 기록된 경우와 실제로는 코딩된 데이터가 있지만 그 데이터가 폐기 가능한 NAL 유닛으로 이동되어 기록된 경우가 있을 수 있다. 따라서, 비디오 디코더는 상기 현재 매크로블록과 동일한 식별자를 갖는 매크로블록이 폐기 가능한 NAL 유닛에 존재하는가를 판단한다(S23). 상기 식별자는 매크로블록을 식별하는 번호를 의미한다. 도 11에서 NAL 유닛(82)의 MB3(식별자=3)은 그 CBP 플래그가 0으로 기록되어 있지만, 실제 데이터는 NAL 유닛(91)의 MB3(식별자=3)에 기록되어 있다.
따라서, S23의 판단 결과 그러한 경우(S23의 예), 비디오 디코더는 상기 폐기 가능한 NAL 유닛에 존재하는 매크로블록의 데이터를 읽는다(S24). 그리고, 상기 읽은 데이터를 디코딩함으로써(S25) 현재 매크로블록에 해당하는 영상을 복원한다(S25).
물론, S23의 판단 결과 그러하지 아니한 경우(S23의 아니오)는 현재 매크로블록에 대하여 실제로 코딩된 데이터가 없는 경우이다.
한편, 비디오 인코더에서 실제로 현재 계층의 매크로블록을 인코딩할 때는, 이에 대응되는 상위 계층의 매크로블록이 예측 과정에서 상기 현재 계층의 매크로블록을 사용할 지 여부를 알기 어렵다. 따라서, 기존의 비디오 코딩 스킴에 다소간의 수정을 가할 필요가 있다. 이러한 해결책으로는 다음 두 가지의 방법이 있을 수 있다.
해결책 1 : 인코딩 과정 수정
첫 번째 해결책은 인코딩 과정을 다소 변경하는 것이다. 도 13는 비디오 시퀀스가 3개의 계층으로 이루어지는 시나리오를 예로 든 것이다. 중요한 점은, 상위 계층의 예측 과정(인터 예측, 인트라 예측, 인트라 베이스 예측, 잔차 예측 등)을 거친 이후에야 현재 계층을 인코딩할 수 있다는 점이다.
도 13를 참조하면, 비디오 인코더는 먼저, 소정의 예측 과정(인터 예측 또는 인트라 예측)을 통하여 계층 0의 매크로블록(121)에 대한 잔차(residual)를 구하고, 상기 구한 잔차를 양자화/역양자화한다. 그 다음, 소정의 예측 과정(인터 예측, 인트라 예측, 인트라 베이스 예측, 또는 잔차 예측)을 통하여 계층 1의 매크로 블록(122)에 대한 잔차(residual)를 구하고, 상기 구한 잔차를 양자화/역양자화한다. 그 후, 상기 계층 0의 매크로블록(121)을 인코딩한다. 이와 같이, 상기 계층 0의 매크로블록(121)의 인코딩 이전에 계층 1의 매크로블록(122)이 예측 과정을 거쳤기 때문에, 상기 예측 과정에서 계층 0의 매크로블록(121)이 사용되었는지를 알 수 있는 것이다. 이에 따라서, 계층 0의 매크로블록(121)을 폐기 가능한 정보로 기록할지, 폐기 불가능한 정보로 기록할지를 결정할 수 있다.
마찬가지로, 소정의 예측 과정(인터 예측, 인트라 예측, 인트라 베이스 예측, 또는 잔차 예측)을 통하여 계층 2의 매크로블록(123)에 대한 잔차(residual)를 구하고, 상기 구한 잔차를 양자화/역양자화한다. 그 다음에는 계층 1의 매크로블록(122)을 인코딩하고, 마지막으로 계층 2의 매크로블록(123)을 인코딩한다.
해결책 2 : 잔차 에너지 이용
두 번째 해결책은 현재 매크로블록의 잔차 에너지를 계산하여 이를 소정 문턱값과 비교하는 방법이다. 매크로블록의 잔차 에너지는 매크로블록 내의 계수의 절대값의 합 또는 상기 계수의 제곱의 합 등으로 계산될 수 있다. 이러한 잔차 에너지가 클수록 코딩될 데이터의 양이 많음을 의미한다.
만약, 현재 매크로블록의 잔차 에너지가 소정 문턱값보다 작으면, 대응되는 상위 계층의 매크로블록은 계층 간 예측을 사용할 수 없도록 제한한다. 이 경우, 현재 매크로블록의 잔차는 폐기 가능한 NAL 유닛으로 코딩된다. 반면에, 현재 매크로블록의 잔차 에너지가 소정 문턱값보다 크면, 현재 매크로블록의 잔차는 폐기 불가능 NAL 유닛으로 코딩된다.
해결책 2는 해결책 1에 비하여 PSNR이 다소 감소시킬 수 있는 단점이 있다.
본 발명에서 제안하는 바와 같이, 몇몇 잔차 정보를 버리는 것은 비디오 디코더 단에서의 계산 복잡성 감소로 이어진다. 이것은 그 잔차가 버려진 모든 매크로블록에 대하여 파싱 및 역 변환을 수행할 필요가 없기 때문이다. 다른 방법으로, 매크로블록에서의 부가적 플래그를 코딩하지 않고 이러한 계산 복잡성 이득을 취하는 것도 가능하다. 이 방법에서, SEI(Supplemental Enhancement Information)는 상위 계층의 잔차 예측 과정에서 사용되지 않는 매크로블록을 나타내기 위하여 인코더에 의해 비디오 디코더로 전송된다. 상기 SEI는 비디오 비트스트림에는 포함되지 않지만, 상기 비디오 비트스트림과 함께 전송되는 부가 정보 내지 메타데이터로서, SVC 표준에 포함되어 있다.
현재 SVC 표준은, 현재 계층을 추정하는 동안 기초 계층 정보의 레이트-왜곡 비용(RD cost)을 고려하지 않는다. 이것은 기초 계층 정보가 버릴 수 없고 언제든지 존재하는 것으로 간주되기 때문에 현재로는 필요하지 않다.
하지만, 본 발명에서와 같이, 현재 계층(상위 계층을 기준으로 할 때의 기초 계층)의 잔차 정보가 버려질 수도 있는 상황에서는. 상위 계층에서 잔차 예측이 수행되는 동안 현재 계층의 잔차를 코딩하는데 필요한 RD 비용을 고려할 필요가 있다. 이것은 RD 추정 동안 현재 매크로블록 비트에 기초 계층 잔차 비트를 가산함으로써 이루어진다. 이러한 RD 추정은, 기초 계층 잔차가 버려진 후에 현재 계층에서의 보다 높은 RD 성능으로 이어질 것이다.
본 발명의 개념을 확장하여, 다중 레이트-왜곡(multiple rate-distortion; MLRD)을 이용한 FGS 계층의 죽은 부스트림(dead-substream) 최적화를 고려할 수 있다. 죽은 부스트림은 상위 계층을 디코딩하기 위하여 필요한 서브스트림이다. SVC 표준에서는, 죽은 부스트림은 불필요한 픽쳐들 또는 폐기 가능한 서브스트림이라고 불리기도 한다. SVC 표준에서 죽은 부스트림은 NAL 헤더에 있는 discardable_flag에 의하여 식별된다. 부스트림이 죽은 부스트림인지를 확인하는 또 다른 간접적인 방법은 모든 상위 계층의 base_id_plus1 값을 체크하고, 그 값이 이 서브스트림을 참조하는지 확인하는 것이다.
다음의 도 14은 죽은 부스트림의 예로서, 다중 적응이 불가능한 비트스트림을 보여준다. FGS 계층 0은 계층 0 및 계층 1을 디코딩하는 데 필요하기 때문이다. 여기서, CGS 계층은 FGS 구현에 있어서 필수적인 기초 품질 계층을 의미하며, 이산 계층(discrete layer)이라고도 불린다.
한편, 도 15는 다중 적응에 적합한 비트스트림을 보여준다. 도 15에서, FGS 계층은 계층간 예측을 위하여 사용되지 않으므로, 비디오 디코더 내지 클라이언트가 단지 계층 1만을 디코딩할 필요가 있으면 버려질 수 있다. 간단히 말해서, FGS 계층 0은 계층 1에 적응된 비트스트림에서는 버려질 수 있다. 그러나 클라이언트가 계층 1 및 계층 0을 모두를 디코딩하는 옵션을 필요로 하면, FGS 계층 0는 버려질 수 없다.
이것은, 다중 적응이 필요한 경우에는 레이트-왜곡에 대한 절충(trade-off)로 이어진다. 예측될 계층의 RD 최적 선택을 하기 위하여, 다중 계층 RD 예측에서 기술되는 원칙들을 사용하는 것도 가능하다.
단계 1 : 기초 품질 레벨(CGS 계층 0)로부터 계층간 예측을 사용한다. 상기 프레임에 대하여 RD 비용을 계산한다. FrameRd0 = FrameDistortion + Lambda*FrameBits
단계 2 : 기초 품질 레벨 1(CGS 계층 0)로부터 계층간 예측을 사용한다. 상기 프레임에 대하여 RD 비용을 계산한다. FrameRd1 = FrameDistortion + Lambda*(FrameBits + FGSLayer0Bits)
본 발명에서는 다중 적응을 가능하게 하기 위하여, FGS 계층으로부터 계층간 예측에 패널티를 부여하고 있다는 것에 주목할 필요가 있다.
단계 3 : RD 비용을 계산하고 최상을 선택한다. FrameRD1이 FrameRD0보다 작으면, 이 프레임은, 계층 1만의 비트스트림에 대한 비트율을 감소시키기 위하여 다중 적응(본 예에서는 계층 1에 대한 적응)을 사용할 수 있다.
한편, 죽은 부스트림 및 다중 RD 비용을 시간적 레벨에 대하여 개념을 확장하는 것도 가능하다. 다음의 도 16는 시간적 레벨을 이용한 다중 적응의 예로서, 계층적 B(hierarchical B) 구조 및 SVC의 계층간 예측의 개념을 보여준다.
반면에 본 발명의 일 실시예에 따른 개념을 나타내는 도 17에서, 계층간 예측은 계층 0의 최상위 시간적 레벨에서부터 사용되지 않는다. 이것은, 계층 1만의 비트스트림(즉, 계층 1만의 디코딩을 위하여 적응된 비트스트림)에서, 계층 0의 최상위 시간적 레벨은 불필요하고 버려질 수 있다는 것을 의미한다. 계층간 예측을 사용할 것인지 여부에 관한 결정은 다중 RD 추정을 사용하여 이루어질 수 있다.
도 18의 비트스트림은 계층 0에서 디코딩될 수 있다. 이것은 계층 0이 시간 적 예측을 위하여 FGS 계층을 사용하지 않기 때문이다. 즉, 계층 1에 적응된 비트스트림은 계층 0에서 여전히 디코딩 가능하다. 그러나, 이것은 모든 상황에서 그러한 것은 아니다.
계층 0은 시간적 예측을 위하여 폐루프 예측을 사용한다. 이것은 FGS 계층 0를 잘라내거나 버리는 것은 계층 0이 디코딩될 때, 드리프트/왜곡을 유발함을 의미한다. 이러한 상황에서, 상기 비트스트림이 계층 1에 적응되어(프레임 1의 FGS 계층 0를 버림으로써) 있다면, 이렇게 적응된 비트스트림을 이용하여 계층 0을 디코딩하는 경우 문제(드리프트/ PSNR의 저하)가 될 수 있다.
일반적으로, 클라이언트는 계층 1을 위하여 적응된 비트스트림으로부터 계층 0을 디코딩하려고 하지 않는다. 그러나, 비트스트림에서 계층 1에 적응되어 있다는 사실이 표시되지 않으면, 이러한 상황도 발생할 수 있는 것이다. 따라서, 본 발명에서는 별도의 SEI 메시지의 부분으로서 다음과 같은 정보를 추가할 것을 제안한다.
scalability_info( payloadSize ) {
...
multiple_adaptation_info_flag[i]
...
if (multiple_adaptation_info_flag[ i ]) {
can_decode_layer[i]
if(can_decode_layer[i])
{
decoding_drift_info[i]
}
}
}
여기서, "can_decode_layer[i]" 플래그는 상기 계층이 디코딩가능한지 여부를 나타낸다. 상기 계층이 디코딩 가능하다면, 상기 계층이 디코딩 가능한 경우 발생할지 모르는 드리프트에 관한 정보를 보내는 것이 가능하다.
SVC는 품질 계층 정보 SEI 메시지를 사용하여 FGS 계층의 RD 성능을 나타낸다. 이것은 접근 유닛의 FGS 계층이 얼마나 민감한가를 나타낼 수 있다. 예를 들어, 계층적 B에서 I 및 P 픽쳐는 잘라냄에 상당히 민감하다. 더 높은 시간적 레벨은 잘라냄에 그렇게 민감하지는 않을 것이다. 따라서 추출기는 이 정보를 사용하여 다양한 접근 유닛에서 최적으로 FGS 계층을 잘라낼 수 있다. 본 발명에서 제안하는 품질 계층 정보 SEI 메시지의 포맷은 다음과 같다.
quality_layers_info( payloadSize ) {
dependency_id
num_quality_layers
for( i = 0; i < num_quality_layers; i++ ) {
quality_layer[ i ]
delta_quality_layer_byte_offset[ i ]
}
}
현재 품질 계층 메시지는 현재 계층을 위하여 즉, 현재 계층의 FGS 계층이 버려질 때의 품질/레이트 성능으로 정의된다. 그러나, 이미 보인 바와 같이, 다중 적응의 경우에 기초 계층의 FGS 계층은 잘라낼 수 있다. 따라서 다음과 같은 계층간 품질 계층 SEI 메시지를 전송하는 것이 가능하다. 상기 FGS 계층을 잘라냄으로써 발생하는 드리프트는 시간적 예측에 관한 계층간 예측의 성능에 달려 있다.
interlayer_quality_layers_info( payloadSize ) {
dependency_id
base_dependency_id
num_quality_layers
for( i = 0; i < num_quality_layers; i++ ) {
interlayer_quality_layer[ i ]
interlayer_delta_quality_layer_byte_offset[ i ]
}
}
비트스트림 추출기는, 비트스트림을 잘라내어야 할 때 quality_layers_info 및 interlayer_quality_layers_info SEI 메시지에 의존하여 현재 계층 FGS 또는 기초 계층의 FGS를 잘라낼지 여부를 결정할 수 있다.
도 20은 본 발명의 일 실시예에 따른 비디오 인코더(300)의 구성을 도시하는 블록도이다.
먼저, 계층 0의 매크로블록(MB0)은 예측부(110)로, 상기 매크로블록(MB0)에 대응되는(시간적, 공간적으로 대응되는) 계층 1의 매크로블록(MB1)은 예측부(120)으로 입력된다.
예측부(110)는 인터 예측 또는 인트라 예측에 의하여 예측 블록을 구하고, 상기 MB0에서 상기 예측 블록을 차감하여 잔차(residual; R0)를 구한다. 상기 인터 예측은 모션 벡터 및 매크로블록 패턴을 구하는 모션 추정 과정과, 상기 모션 벡터에 의하여 참조되는 프레임을 모션 보상하는 모션 보상 과정을 포함한다.
코딩 판단부(120)는 상기 구한 잔차(R0)를 코딩할 필요가 있는지를 판단한다. 즉, 상기 잔차(R0)의 에너지가 소정의 임계치보다 작은 경우에는 상기 잔차(R0)에 속하는 값을 모두 0으로 간주하고 비트스트림 생성부에 통지한다. 이 때, 상기 잔차(R0)는 코딩부(130)에서 코딩되지 않는다. 상기 판단 결과, 코딩할 필요가 있는 경우에는 상기 구한 잔차(R0)를 코딩부(130)에 제공한다.
코딩부(130)는 상기 제공된 잔차(R0)를 인코딩한다. 이를 위하여 코딩부(130)는 공간적 변환부(131), 양자화부(132), 및 엔트로피 부호화부(133)를 포함하여 구성될 수 있다.
공간적 변환부(131)는 상기 잔차(R0)에 대하여, 공간적 변환을 수행하고 변환 계수를 생성한다. 이러한 공간적 변환 방법으로는, DCT(Discrete Cosine Transform), 웨이블릿 변환(wavelet transform) 등이 사용될 수 있다. DCT를 사용하는 경우 상기 변환 계수는 DCT 계수가 될 것이고, 웨이블릿 변환을 사용하는 경 우 상기 변환 계수는 웨이블릿 계수가 될 것이다.
양자화부(132)는 상기 변환 계수를 양자화(quantization) 한다. 상기 양자화(quantization)는 임의의 실수 값으로 표현되는 상기 변환 계수를 불연속적인 값(discrete value)으로 나타내는 과정을 의미한다. 예를 들어, 양자화부(125)는 임의의 실수 값으로 표현되는 상기 변환 계수를 소정의 양자화 스텝(quantization step)으로 나누고, 그 결과를 정수 값으로 반올림하는 방법으로 양자화를 수행할 수 있다.
엔트로피 부호화부(133)는 양자화부(132)로부터 제공되는 양자화 결과를 무손실 부호화한다. 이러한 무손실 부호화 방법으로는, 허프만 부호화(Huffman coding), 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding), 기타 다양한 방법이 이용될 수 있다.
한편, 양자화부(132)에서 양자화된 결과는 계층 1의 예측부(210)에서의 계층간 예측에서 사용될 수 있도록 역 양자화 부(134)에 의하여 역 양자화 과정 및 역 공간적 변환부(135)에 의한 역 변환 과정을 거친다.
MB1은 대응되는 하위 계층의 매크로블록 MB0가 존재하므로, 예측부(210)는 인터 예측, 인트라 예측 이외에도 인트라 베이스 예측, 잔차 예측과 같은 계층간 예측도 사용할 수가 있다. 예측부(210)는 다양한 예측 기법 중에서 RD 비용을 최소로 하는 예측 기법을 선택하고 선택된 예측 기법에 의하여 MB1에 대한 예측 블록을 구한 후, 상기 MB1에서 상기 예측 블록을 차감하여 잔차(R1)를 구한다. 이 때, 예측부(210)는 인트라 베이스 예측을 이용한 경우에는 intra_base_flag를 1로(그렇지 않은 경우 0으로), 잔차 예측을 이용한 경우에는 residual_prediction_flag를 1로(그렇지 않은 경우 0으로) 설정한다.
계층 0에서와 마찬가지로 코딩부(230)도 상기 잔차(R1)을 인코딩하며, 이를 위하여 공간적 변환부(231), 양자화부(232), 및 엔트로피 부호화부(233)로 구성될 수 있다.
비트스트림 생성부(140)는 본 발명의 실시예에 따른 스위칭 스케일러블 비트스트림을 생성한다. 이를 위하여, 비트스트림 생성부(140)는 코딩 판단부(120)에서 현재 매크로블록의 잔차(R0)가 코딩할 필요가 없는 것으로 판단되면, CBP 플래그를 0으로 설정하고 상기 잔차를 비트스트림에 포함하지 않는다. 한편, 실제로 잔차(R0)가 코딩부(130)에서 코딩되어서 제공되면, 비트스트림 생성부(140)는 예측부(210)에서 상기 MB1가 계층간 예측(인트라 베이스 예측 또는 잔차 예측)되었는가를 판단한다. 이러한 판단은, 예측부(210)로부터 제공되는 residual_prediction_flag 또는 intra_base_flag를 읽음으로써 가능하다.
비트스트림 생성부(140)는 상기 판단 결과, 그러하다면 코딩된 매크로블록 데이터를 폐기 불가능한 NAL 유닛에 기록하고, 그렇지 아니하다면 상기 코딩된 매크로블록 데이터는 폐기 가능한 NAL 유닛에 기록하고 폐기 불가능한 NAL 유닛에는 상기 코딩된 매크로블록 데이터의 CBP 플래그를 0으로 설정한다. 이 때, 폐기 불가능한 NAL 유닛은 discarable_flag가 0으로 설정되고, 폐기 불가능한 NAL 유닛은 discardable_flag가 1로 설정된다. 비트스트림 생성부(140)는 이와 같은 과정을 통하여 도 11과 같은 계층 0의 비트스트림을 생성하고, 코딩부(23)로부터 제공되는 코딩된 데이터로부터 계층 1의 비트스트림을 생성한다. 생성된 계층 0의 비트스트림과 생성된 계층 1의 비트스트림은 결합되어 하나의 비트스트림으로 출력된다.
도 21은 본 발명의 일 실시예에 따른 비디오 디코더(400)의 구성을 도시하는 블록도이다. 여기서 입력되는 비트스트림은 도 11과 같이 폐기 불가능 정보와 폐기 가능 정보를 포함한다.
비트스트림 파서(410)는 상기 비트스트림에서 폐기 불가능한 NAL 유닛에 포함된 현재 매크로블록의 CBP 플래그를 읽는다. NAL 유닛이 폐기 가능한가 여부는 NAL 유닛의 NAL 헤더에 기록된 discardable_flag를 읽음으로써 알 수 있다. 상기 읽은 CBP 플래그가 1이라면, 비트스트림 파서(410)는 현재 매크로블록에 기록된 데이터를 읽어서 디코딩부(420)에 제공한다.
상기 CBP 플래그가 0인 경우에는, 비트스트림 파서(410)는 상기 현재 매크로블록과 동일한 식별자를 갖는 매크로블록이 폐기 가능한 NAL 유닛에 존재하는가를 판단한다. 상기 판단 결과 그러한 경우에는, 비트스트림 파서(410)는 상기 폐기 가능한 NAL 유닛에 존재하는 매크로블록의 데이터를 읽고 이를 디코딩부(420)에 제공한다.
만약, 상기 현재 매크로블록과 동일한 식별자를 갖는 매크로블록이 폐기 가능한 NAL 유닛에 존재하지 않는 경우에는, 현재 매크로블록 데이터가 존재하지 않음(데이터가 모두 0임)을 역 예측부(424)에 통지한다.
디코딩부(420)는 비트스트림 파서(410)로부터 제공된 매크로블록 데이터를 디코딩하여 소정 계층의 매크로블록에 대한 영상을 복원한다. 이를 위하여 디코딩 부(420)는 엔트로피 복호화부(421), 역 양자화부(422), 역 공간적 변환부(423), 및 역 예측부(424)를 포함할 수 있다.
엔트로피 복호화부(421)는 제공된 비트스트림에 대하여 무손실 복호화를 수행한다. 상기 무손실 복호화는 비디오 인코더(300) 단에서의 무손실 부호화 과정의 역으로 진행되는 과정이다.
역 양자화부(422)는 상기 무손실 복호화된 데이터를 역 양자화한다. 이러한 역 양자화 과정은 비디오 인코더(300)에서의 양자화 과정에서 사용된 것과 동일한 양자화 테이블을 이용하여 양자화 과정에서 생성된 인덱스로부터 그에 매칭되는 값을 복원하는 과정이다.
역 공간적 변환부(423)는 상기 역 양자화된 결과에 대하여 역 변환을 수행한다. 이러한 역 변환은 비디오 인코더(300)에서의 공간적 변환 과정의 역으로 수행되며, 구체적으로 역 DCT 변환, 역 웨이블릿 변환 등이 사용될 수 있다. 상기 역 변환 결과 잔차 신호(R0)가 복원된다.
상기 잔차 신호(R0)는 역 예측부(424)에서 비디오 인코더(300)의 예측부(110)에서와 대응되는 방식으로 역 예측된다. 상기 역 예측은, 예측부(110)과 마찬가지로 구한 예측 블록과 상기 잔차 신호(R0)를 가산하는 방식으로 수행된다.
상기 도 20 및 도 21에 기재된 각 구성요소들은 메모리 상의 소정 영역에서 수행되는 태스크, 클래스, 서브 루틴, 프로세스, 오브젝트, 실행 쓰레드, 프로그램과 같은 소프트웨어(software)나, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)로 구 현될 수 있으며, 또한 상기 소프트웨어 및 하드웨어의 조합으로 이루어질 수도 있다. 상기 구성요소들은 컴퓨터로 판독 가능한 저장 매체에 포함되어 있을 수도 있고, 복수의 컴퓨터에 그 일부가 분산되어 분포될 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
상술한 본 발명에 따르면, 복수 계층 기반의 비디오 코덱의 코딩 성능이 향상될 수 있다.
또한, 상술한 본 발명에 따르면, 스케일러블 비트스트림에서 스케일러빌리티가 필요하지 않는 경우에 상기 스케일러블 비트스트림의 오버헤드를 제거할 수 있다.

Claims (20)

  1. 복수의 계층으로 이루어지는 비디오 시퀀스를 부호화하는 비디오 인코딩 방법으로서,
    (a) 상기 복수의 계층 중 제1 계층에 존재하는 제1 블록의 잔차를 코딩하는 단계;
    (b) 상기 복수의 계층 중 제2 계층에 존재하며 상기 제1 블록과 대응되는 제2 블록이, 상기 제1 블록을 이용하여 코딩되는 경우, 상기 코딩된 제1 블록의 잔차를 비트스트림 중 폐기 불가능 영역에 기록하는 단계; 및
    (c) 상기 제2 블록이 상기 제1 블록을 이용하지 않고 코딩되는 경우, 상기 코딩된 제1 블록의 잔차를 상기 비트스트림 중 폐기 가능 영역에 기록하는 단계를 포함하는 비디오 인코딩 방법.
  2. 제1항에 있어서,
    상기 제1 블록 및 상기 제2 블록은 매크로블록인 비디오 인코딩 방법.
  3. 제1항에 있어서,
    상기 폐기 불가능 영역은 discardable_flag가 0으로 설정된 복수의 NAL 유닛으로 구성되고, 상기 폐기 가능 영역은 discardable_flag가 1로 설정된 복수의 NAL 유닛으로 구성되는 비디오 인코딩 방법.
  4. 제1항에 있어서, 상기 (a) 단계는
    공간적 변환 과정, 양자화 과정, 및 엔트로피 부호화 과정을 포함하는 비디오 인코딩 방법.
  5. 제1항에 있어서, 상기 (b) 단계는
    상기 기록된 제1 블록의 잔차에 대하여 CBP 플래그를 1로 설정하는 단계를 포함하는 비디오 인코딩 방법.
  6. 제1항에 있어서, 상기 (c) 단계는
    상기 기록된 제2 블록의 잔차에 대한 CBP 플래그를 0으로 설정하여 상기 폐기 불가능 영역에 기록하는 단계를 포함하는 비디오 인코딩 방법.
  7. 제1항에 있어서, 상기 제2 블록이 상기 제1 블록을 이용하여 코딩되는 경우는
    상기 제2 블록이 상기 제1 블록을 기초로 한 계층간 예측에 의하여 코딩되는 경우인 비디오 인코딩 방법.
  8. 제1항에 있어서, 상기 제2 블록이 상기 제1 블록을 이용하지 않고 코딩되는 경우는
    상기 제2 블록이 인터 예측 또는 인트라 예측에 의하여 코딩되는 경우인 비디오 인코딩 방법.
  9. 제1항에 있어서, 상기 폐기 불가능 영역 및 상기 폐기 가능 영역은
    SEI 메시지(Supplemental Enhancement Information)에 의하여 표시되는 비디오 인코딩 방법.
  10. 복수의 계층 중 적어도 하나 이상의 계층이 폐기 불가능 영역과 폐기 가능 영역으로 이루어지는 비디오 비트스트림을 복호화하는 비디오 디코딩 방법으로서,
    (a) 상기 폐기 불가능 영역에서 제1 블록을 판독하는 단계;
    (b) 상기 제1 블록의 데이터가 존재하면, 상기 제1 블록의 데이터를 디코딩하는 단계;
    (c) 상기 제1 블록의 데이터가 존재하지 않으면, 상기 폐기 가능 영역에서 상기 제1 블록과 동일한 식별자를 가지는 제2 블록의 데이터를 판독하는 단계; 및
    (d) 상기 판독된 제2 블록의 데이터를 디코딩하는 단계를 포함하는 비디오 디코딩 방법.
  11. 제10항에 있어서, 상기 제1 블록의 데이터가 존재하는지는
    상기 제1 블록의 CBP 플래그에 의하여 판단되는 비디오 디코딩 방법.
  12. 제10항에 있어서,
    상기 제1 블록 및 상기 제2 블록은 매크로블록인 비디오 디코딩 방법.
  13. 제12항에 있어서, 상기 식별자는
    매크로블록을 식별하는 번호인 비디오 디코딩 방법.
  14. 제10항에 있어서,
    상기 제1 블록의 데이터가 존재하는 경우 상기 폐기 불가능 영역에 기록된 상기 제1 블록의 CBP 플래그는 1이고, 상기 제1 블록의 데이터가 존재하지 않는 경우 상기 폐기 불가능 영역에 기록된 상기 제1 블록의 CBP 플래그는 0인 비디오 디코딩 방법.
  15. 제10항에 있어서,
    상기 적어도 하나 이상의 계층은 복수의 계층 중 최상위 계층을 포함하는 비디오 디코딩 방법.
  16. 제10항에 있어서,
    상기 폐기 불가능 영역은 discardable_flag가 0으로 설정된 복수의 NAL 유닛으로 구성되고, 상기 폐기 가능 영역은 discardable_flag가 1로 설정된 복수의 NAL 유닛으로 구성되는 비디오 디코딩 방법.
  17. 제10항에 있어서, 상기 폐기 불가능 영역 및 상기 폐기 가능 영역은
    비디오 인코더에 의하여 작성된 SEI 메시지(Supplemental Enhancement Information)에 의하여 표시되는 비디오 디코딩 방법.
  18. 제10항에 있어서, 상기 (b) 단계 및 상기 (d) 단계는
    엔트로피 복호화 과정, 역 양자화 과정, 역 공간적 변환 과정, 및 역 예측 과정을 포함하는 비디오 디코딩 방법.
  19. 복수의 계층으로 이루어지는 비디오 시퀀스를 부호화하는 비디오 인코더로서,
    상기 복수의 계층 중 제1 계층에 존재하는 제1 블록의 잔차를 코딩하는 수단;
    상기 복수의 계층 중 제2 계층에 존재하며 상기 제1 블록과 대응되는 제2 블록이, 상기 제1 블록을 이용하여 코딩되는 경우, 상기 코딩된 제1 블록의 잔차를 비트스트림 중 폐기 불가능 영역에 기록하는 수단; 및
    상기 제2 블록이 상기 제1 블록을 이용하지 않고 코딩되는 경우, 상기 코딩된 제1 블록의 잔차를 상기 비트스트림 중 폐기 가능 영역에 기록하는 수단을 포함하는 비디오 인코더.
  20. 복수의 계층 중 적어도 하나 이상의 계층이 폐기 불가능 영역과 폐기 가능 영역으로 이루어지는 비디오 비트스트림을 복호화하는 비디오 디코더로서,
    상기 폐기 불가능 영역에서 제1 블록을 판독하는 수단;
    상기 제1 블록의 데이터가 존재하면, 상기 제1 블록의 데이터를 디코딩하는 수단;
    상기 제1 블록의 데이터가 존재하지 않으면, 상기 폐기 가능 영역에서 상기 제1 블록과 동일한 식별자를 가지는 제2 블록의 데이터를 판독하는 수단; 및
    상기 판독된 제2 블록의 데이터를 디코딩하는 수단을 포함하는 비디오 디코더.
KR1020060026603A 2005-11-29 2006-03-23 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치 Expired - Fee Related KR100772868B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US11/585,981 US20070121723A1 (en) 2005-11-29 2006-10-25 Scalable video coding method and apparatus based on multiple layers
EP06812234.0A EP1955546A4 (en) 2005-11-29 2006-10-26 METHOD AND DEVICE FOR SCALABLE VIDEO CODING BASED ON SEVERAL LAYERS
JP2008543173A JP4833296B2 (ja) 2005-11-29 2006-10-26 多階層を基盤としたスケーラブルビデオコーディング方法および装置
CN2006800518866A CN101336549B (zh) 2005-11-29 2006-10-26 基于多层的可缩放视频编码方法及装置
PCT/KR2006/004392 WO2007064082A1 (en) 2005-11-29 2006-10-26 Scalable video coding method and apparatus based on multiple layers

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US74025105P 2005-11-29 2005-11-29
US60/740,251 2005-11-29
US75789906P 2006-01-11 2006-01-11
US60/757,899 2006-01-11
US75996606P 2006-01-19 2006-01-19
US60/759,966 2006-01-19

Publications (2)

Publication Number Publication Date
KR20070056896A KR20070056896A (ko) 2007-06-04
KR100772868B1 true KR100772868B1 (ko) 2007-11-02

Family

ID=38354583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060026603A Expired - Fee Related KR100772868B1 (ko) 2005-11-29 2006-03-23 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치

Country Status (6)

Country Link
US (1) US20070121723A1 (ko)
EP (1) EP1955546A4 (ko)
JP (1) JP4833296B2 (ko)
KR (1) KR100772868B1 (ko)
CN (1) CN101336549B (ko)
WO (1) WO2007064082A1 (ko)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8340177B2 (en) * 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8442108B2 (en) * 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
EP1922850A4 (en) 2005-09-07 2011-06-29 Vidyo Inc SYSTEM AND METHOD FOR A BASIC LIGHT CONNECTION HIGHLY RELIABLE
US7956930B2 (en) * 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
KR20070108434A (ko) * 2006-01-09 2007-11-12 한국전자통신연구원 SVC(Scalable Video Coding)파일포맷에서의 데이터 공유 개선방법
WO2007095640A2 (en) * 2006-02-16 2007-08-23 Vidyo, Inc. System and method for thinning of scalable video coding bit-streams
US8619865B2 (en) * 2006-02-16 2013-12-31 Vidyo, Inc. System and method for thinning of scalable video coding bit-streams
FR2903556B1 (fr) * 2006-07-04 2008-10-03 Canon Kk Procedes et des dispositifs de codage et de decodage d'images, un systeme de telecommunications comportant de tels dispositifs et des programmes d'ordinateur mettant en oeuvre de tels procedes
US8422555B2 (en) * 2006-07-11 2013-04-16 Nokia Corporation Scalable video coding
KR100773761B1 (ko) * 2006-09-14 2007-11-09 한국전자통신연구원 동영상 부호화 장치 및 방법
JP5155323B2 (ja) * 2006-09-29 2013-03-06 ヴィドヨ,インコーポレーテッド スケーラブルビデオ符号化サーバ及びマルチキャストを用いる多地点会議のためのシステム及び方法
US7991236B2 (en) * 2006-10-16 2011-08-02 Nokia Corporation Discardable lower layer adaptations in scalable video coding
US20080095235A1 (en) * 2006-10-20 2008-04-24 Motorola, Inc. Method and apparatus for intra-frame spatial scalable video coding
US8315466B2 (en) * 2006-12-22 2012-11-20 Qualcomm Incorporated Decoder-side region of interest video processing
MX2009007696A (es) * 2007-01-18 2009-09-04 Nokia Corp Carro de mensajes de informacion de mejoramiento suplementario en formato de carga util de protocolo de transporte en tiempo real.
US20080181298A1 (en) * 2007-01-26 2008-07-31 Apple Computer, Inc. Hybrid scalable coding
EP4054201B1 (en) 2007-04-18 2024-06-05 Dolby International AB Coding systems
US20140072058A1 (en) 2010-03-05 2014-03-13 Thomson Licensing Coding systems
US9712833B2 (en) * 2007-06-26 2017-07-18 Nokia Technologies Oy System and method for indicating temporal layer switching points
US8526489B2 (en) * 2007-09-14 2013-09-03 General Instrument Corporation Personal video recorder
CN101415114B (zh) * 2007-10-17 2010-08-25 华为终端有限公司 视频编解码方法和装置以及视频编解码器
EP2225882A2 (fr) * 2007-11-30 2010-09-08 France Telecom Procede de codage d'un flux video echelonnable a destination d'utilisateurs de differents profils
KR101375663B1 (ko) * 2007-12-06 2014-04-03 삼성전자주식회사 영상을 계층적으로 부호화/복호화하는 방법 및 장치
US8126054B2 (en) * 2008-01-09 2012-02-28 Motorola Mobility, Inc. Method and apparatus for highly scalable intraframe video coding
US8953673B2 (en) * 2008-02-29 2015-02-10 Microsoft Corporation Scalable video coding and decoding with sample bit depth and chroma high-pass residual layers
US8711948B2 (en) * 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
US8386271B2 (en) * 2008-03-25 2013-02-26 Microsoft Corporation Lossless and near lossless scalable audio codec
CA2924651C (en) * 2008-04-25 2020-06-02 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Flexible sub-stream referencing within a transport data stream
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
IT1394245B1 (it) * 2008-09-15 2012-06-01 St Microelectronics Pvt Ltd Convertitore per video da tipo non-scalabile a tipo scalabile
KR101377660B1 (ko) * 2008-09-30 2014-03-26 에스케이텔레콤 주식회사 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR100970388B1 (ko) * 2008-10-31 2010-07-15 한국전자통신연구원 네트워크 흐름기반 스케일러블 비디오 코딩 적응 장치 및 그 방법
US8300705B2 (en) * 2008-12-08 2012-10-30 Electronics And Telecommunications Research Institute Method for generating and processing hierarchical PES packet for digital satellite broadcasting based on SVC video
KR101220175B1 (ko) 2008-12-08 2013-01-11 연세대학교 원주산학협력단 Svc 비디오 기반의 디지털 위성 방송을 위한 계층 분리형 pes 패킷 생성 및 처리 방법
KR101597987B1 (ko) * 2009-03-03 2016-03-08 삼성전자주식회사 계층 독립적 잔차 영상 다계층 부호화 장치 및 방법
US9485299B2 (en) * 2009-03-09 2016-11-01 Arris Canada, Inc. Progressive download gateway
US9197677B2 (en) * 2009-03-09 2015-11-24 Arris Canada, Inc. Multi-tiered scalable media streaming systems and methods
EP2257073A1 (en) * 2009-05-25 2010-12-01 Canon Kabushiki Kaisha Method and device for transmitting video data
CN102484701A (zh) * 2009-07-06 2012-05-30 汤姆逊许可证公司 用于空间变化残差编码的方法和设备
CA2711311C (en) 2009-08-10 2016-08-23 Seawell Networks Inc. Methods and systems for scalable video chunking
KR20180028430A (ko) * 2010-02-17 2018-03-16 한국전자통신연구원 초고해상도 영상을 부호화하는 장치 및 방법, 그리고 복호화 장치 및 방법
US9794556B2 (en) 2010-02-17 2017-10-17 Electronics And Telecommunications Research Institute Method and device for simplifying encoding and decoding of ultra-high definition images
US8654768B2 (en) * 2010-02-26 2014-02-18 Cisco Technology, Inc. Source specific transcoding multicast
US8190677B2 (en) 2010-07-23 2012-05-29 Seawell Networks Inc. Methods and systems for scalable video delivery
US20120063517A1 (en) * 2010-09-14 2012-03-15 Samsung Electronics Co., Ltd. Method and apparatus for hierarchical picture encoding and decoding
US9118939B2 (en) * 2010-12-20 2015-08-25 Arris Technology, Inc. SVC-to-AVC rewriter with open-loop statistical multiplexer
TWI473503B (zh) * 2011-06-15 2015-02-11 Nat Univ Chung Cheng Mobile forecasting method for multimedia video coding
KR20130080324A (ko) * 2012-01-04 2013-07-12 한국전자통신연구원 실감형 방송을 위한 스케일러블 비디오 코딩 장치 및 방법
CN103200399B (zh) * 2012-01-04 2016-08-31 北京大学 基于可伸缩视频编码的控制视频质量波动的方法及装置
US9712887B2 (en) 2012-04-12 2017-07-18 Arris Canada, Inc. Methods and systems for real-time transmuxing of streaming media content
US10536710B2 (en) 2012-06-27 2020-01-14 Intel Corporation Cross-layer cross-channel residual prediction
US9906786B2 (en) * 2012-09-07 2018-02-27 Qualcomm Incorporated Weighted prediction mode for scalable video coding
CN104717501A (zh) * 2012-09-28 2015-06-17 英特尔公司 层间像素样本预测
KR101653511B1 (ko) * 2012-09-28 2016-09-01 인텔 코포레이션 인터-레이어 잔차 예측
US10085017B2 (en) * 2012-11-29 2018-09-25 Advanced Micro Devices, Inc. Bandwidth saving architecture for scalable video coding spatial mode
US9357211B2 (en) * 2012-12-28 2016-05-31 Qualcomm Incorporated Device and method for scalable and multiview/3D coding of video information
KR20250068798A (ko) * 2013-01-04 2025-05-16 지이 비디오 컴프레션, 엘엘씨 효율적인 확장가능한 코딩 개념
KR102127281B1 (ko) 2013-04-08 2020-06-26 지이 비디오 컴프레션, 엘엘씨 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념
US10284858B2 (en) * 2013-10-15 2019-05-07 Qualcomm Incorporated Support of multi-mode extraction for multi-layer video codecs
US9591316B2 (en) * 2014-03-27 2017-03-07 Intel IP Corporation Scalable video encoding rate adaptation based on perceived quality
US20180027244A1 (en) * 2016-07-21 2018-01-25 Mediatek Inc. Video encoding apparatus with video encoder adaptively controlled according to at least transmission status of communication link and associated video encoding method
US11140445B1 (en) 2020-06-03 2021-10-05 Western Digital Technologies, Inc. Storage system and method for storing scalable video
CN114499765B (zh) * 2022-04-14 2022-08-16 航天宏图信息技术股份有限公司 一种基于北斗短报文的数据传输方法和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050196057A1 (en) * 2004-03-08 2005-09-08 Industry Academic Cooperation Foundation Kyunghee University Video encoder/decoder and video encoding/decoding method and medium

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5883893A (en) * 1996-09-10 1999-03-16 Cisco Technology, Inc. ATM voice transport protocol
US6104998A (en) * 1998-03-12 2000-08-15 International Business Machines Corporation System for coding voice signals to optimize bandwidth occupation in high speed packet switching networks
KR20010105361A (ko) * 1999-12-28 2001-11-28 요트.게.아. 롤페즈 Snr 스케일가능 비디오 엔코딩 방법 및 대응 디코딩 방법
US7095782B1 (en) * 2000-03-01 2006-08-22 Koninklijke Philips Electronics N.V. Method and apparatus for streaming scalable video
US6925120B2 (en) * 2001-09-24 2005-08-02 Mitsubishi Electric Research Labs, Inc. Transcoder for scalable multi-layer constant quality video bitstreams
WO2003036979A1 (en) * 2001-10-26 2003-05-01 Koninklijke Philips Electronics N.V. Spatial scalable compression scheme using adaptive content filtering
FI114433B (fi) * 2002-01-23 2004-10-15 Nokia Corp Otossiirtymän koodaaminen videokoodauksessa
MY136056A (en) * 2003-02-18 2008-08-29 Nokia Corp Picture decoding method
US7586924B2 (en) * 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
US20060008009A1 (en) * 2004-07-09 2006-01-12 Nokia Corporation Method and system for entropy coding for scalable video codec
US20060062312A1 (en) * 2004-09-22 2006-03-23 Yen-Chi Lee Video demultiplexer and decoder with efficient data recovery
US20070014346A1 (en) * 2005-07-13 2007-01-18 Nokia Corporation Coding dependency indication in scalable video coding
US7725593B2 (en) * 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050196057A1 (en) * 2004-03-08 2005-09-08 Industry Academic Cooperation Foundation Kyunghee University Video encoder/decoder and video encoding/decoding method and medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
J-R. OHM, 'Advances in scalable video coding'. Proc. of the IEEE, vol.93, no. 1, pp42-56, Jan. 2005
Wade K. Wan, el al.,'Video compression for muticast environments using spatial scalability and simulcast coding', 2004 Wiley Preiodicals, Inc.

Also Published As

Publication number Publication date
EP1955546A1 (en) 2008-08-13
CN101336549B (zh) 2011-01-26
JP4833296B2 (ja) 2011-12-07
WO2007064082A1 (en) 2007-06-07
CN101336549A (zh) 2008-12-31
JP2009517959A (ja) 2009-04-30
EP1955546A4 (en) 2015-04-22
US20070121723A1 (en) 2007-05-31
KR20070056896A (ko) 2007-06-04

Similar Documents

Publication Publication Date Title
KR100772868B1 (ko) 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치
KR100703724B1 (ko) 다 계층 기반으로 코딩된 스케일러블 비트스트림의비트율을 조절하는 장치 및 방법
US7262721B2 (en) Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
US8155181B2 (en) Multilayer-based video encoding method and apparatus thereof
US8619854B2 (en) Scalable video encoding and decoding method using switching pictures and apparatus thereof
KR100772878B1 (ko) 비트스트림의 비트율 조절을 위한 우선권 할당 방법,비트스트림의 비트율 조절 방법, 비디오 디코딩 방법 및 그방법을 이용한 장치
JP5128865B2 (ja) ビデオ伝送におけるビットストリーム間の切換
KR100596706B1 (ko) 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치
EP1737243A2 (en) Video coding method and apparatus using multi-layer based weighted prediction
US20070086516A1 (en) Method of encoding flags in layer using inter-layer correlation, method and apparatus for decoding coded flags
US20050094726A1 (en) System for encoding video data and system for decoding video data
KR20040091686A (ko) 더 높은 질의 참조 프레임을 사용하는 fgst 코딩 방법
KR100654431B1 (ko) 가변 gop 사이즈를 갖는 스케일러블 비디오 코딩방법및 이를 위한 스케일러블 비디오 인코더
KR20060135992A (ko) 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
JP5768180B2 (ja) 画像復号方法及び画像復号装置
KR100834757B1 (ko) 엔트로피 부호화 효율을 향상시키는 방법 및 그 방법을이용한 비디오 인코더 및 비디오 디코더
EP1803302A1 (en) Apparatus and method for adjusting bitrate of coded scalable bitsteam based on multi-layer
Zhang et al. Adaptive multiple description video coding and transmission for scene change

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20060323

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20070521

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20070917

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20071029

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20071030

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20100929

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20110929

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20120927

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20120927

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20130927

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20140929

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20150925

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20160929

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20170927

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20180921

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20180921

Start annual number: 12

End annual number: 12

PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20200809