KR20120079177A - 코딩 시스템 - Google Patents

코딩 시스템 Download PDF

Info

Publication number
KR20120079177A
KR20120079177A KR1020127015620A KR20127015620A KR20120079177A KR 20120079177 A KR20120079177 A KR 20120079177A KR 1020127015620 A KR1020127015620 A KR 1020127015620A KR 20127015620 A KR20127015620 A KR 20127015620A KR 20120079177 A KR20120079177 A KR 20120079177A
Authority
KR
South Korea
Prior art keywords
sps
layer
information
input
nal unit
Prior art date
Application number
KR1020127015620A
Other languages
English (en)
Inventor
린후아 쥬
지안콩 루오
펭 윈
지헹 양
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/824,006 external-priority patent/US20090003431A1/en
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20120079177A publication Critical patent/KR20120079177A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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
    • 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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display 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/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

일 구현예에서, 자신의 "NAL"(network abstraction layer) 유닛 유형을 갖고 있고 SVC 환경에서 비베이스 레이어들에 대한 레이어 종속 파라미터들의 전송을 가능하게 하는 보조 "SPS"(sequence parameter set) 구조를 제공한다. MVC 환경에서의 뷰 정보에 대한 보조 SPS 구조를 또한 이용할 수 있다. 일반적인 양상에서, (1) SPS NAL 유닛으로부터의 정보(1410) - 이 정보는 이미지들의 시퀀스의 제1 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술함 - 와, (2) SPS NAL 유닛과 다른 구조를 갖는 보조 SPS NAL 유닛으로터의 정보(1420) - 보조 SPS NAL 유닛으로부터의 정보는 이미지들의 시퀀스의 제2 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술함 - 를 포함하는 구조를 제공한다. 인코더 측 및 디코더 측 뿐만 아니라 신호에 대한 관련 방법 및 장치들을 제공한다.

Description

코딩 시스템{CODING SYSTEMS}
[관련된 출원의 상호 참조]
본 출원은 다음 출원들 각각을 우선권으로 주장하며, 여기서는 그 전체 내용을 참조 목적으로 포함한다.
(1) 발명의 명칭이 "Supplemental Sequence Parameter Set for Scalable Video Coding or Multi-view Video Coding"이고 2007년 4월 18일자로 출원된 미국 가출원 특허 일련 번호 60/923,993(대리인 도켓 번호 PU070101), 및
(2) 발명의 명칭이 "Supplemental Sequence Parameter Set for Scalable Video Coding or Multi-view Video Coding"이고 2007년 6월 28일 출원된 미국 특허 출원 일련 번호 11/824,006(대리인 도켓 번호 PA070032).
[기술 분야]
하나 이상의 실시예는 스케일러블 방식으로 비디오 데이터를 인코딩 및 디코딩하는 것에 관한 것이다.
데이터가 예정되어 있는 단말들이 서로 다른 능력을 갖고 있고 따라서 풀 데이터 스트림이 아닌 풀 데이터 스트림의 일부분만을 디코딩하는 경우 수개의 레이어들에 따라 비디오 데이터를 코딩하는 것이 유용할 수 있다. 비디오 데이터를 스케일러블 방식으로 수개의 레이어들에 따라 코딩하는 경우, 수신측 단말은 단말의 프로파일들에 따라, 수신된 비트 스트림으로부터 데이터의 일부분을 추출할 수 있다. 풀 데이터 스트림은 또한 각각의 지원된 레이어에 대한 오버헤드 정보를 전송하여 단말에서 레이어들 각각의 디코딩을 용이하게 할 수 있다.
스케일러블 방식으로 비디오 데이터를 인코딩 및 디코딩하는 것을 제공한다.
일반 양상에 따르면, "SPS"("sequence parameter set") "NAL"("network abstraction layer") 유닛으로부터 정보를 액세스한다. 이 정보는 이미지들의 시퀀스의 제1 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술한다. SPS NAL 유닛과 다른 구조를 갖는 보조 SPS NAL 유닛으로부터 이 정보를 또한 액세스한다. 보조 SPS NAL 유닛으로부터의 정보는 이미지들의 시퀀스의 제2 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술한다. 제1 레이어 인코딩, 제2 레이어 인코딩, SPS NAL 유닛으로부터의 액세스된 정보, 및 보조 SPS NAL 유닛으로부터의 액세스된 정보에 기초하여, 이미지들의 시퀀스의 디코딩을 발생시킨다.
다른 일반 양상에 따르면, 복수의 레이어들에서의 이미지들의 시퀀스를 디코딩하기 위하여 제공하는 구문(syntax) 구조를 이용한다. 구문 구조는 이미지들의 시퀀스의 제1 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술하는 정보를 포함한 SPS NAL 유닛에 대한 구문을 포함한다. 구문 구조는 또한 SPS NAL 유닛과 다른 구조를 갖는 보조 SPS NAL 유닛에 대한 구문을 포함한다. 보조 SPS NAL 유닛은 이미지들의 시퀀스의 제2 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술하는 정보를 포함한다. 제1 레이어 인코딩, 제2 레이어 인코딩, SPS NAL 유닛으로부터의 정보, 보조 SPS NAL 유닛으로부터의 정보에 기초하여 이미지들의 시퀀스의 디코딩을 발생시킬 수 있다.
다른 일반 양상에 따르면, SPS NAL 유닛으로부터의 정보를 포함하도록 신호를 포맷한다. 정보는 이미지들의 시퀀스의 제1 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술한다. SPS NAL 유닛과 다른 구조를 갖는 보조 SPS NAL 유닛으로부터의 정보를 포함하도록 신호를 추가로 포맷한다. 보조 SPS NAL 유닛으로부터의 정보는 이미지들의 시퀀스의 제2 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술한다.
다른 일반 양상에 따르면, 이미지들의 시퀀스의 제1 레이어 인코딩에 이용하기 위한 파라미터를 기술하는 정보를 포함하는 SPS NAL 유닛을 발생시킨다. SPS NAL 유닛과 다른 구조를 갖는 보조 SPS NAL 유닛을 발생시킨다. 보조 SPS NAL 유닛은 이미지들의 시퀀스의 제2 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술하는 정보를 포함한다. 이미지들의 시퀀스의 제1 레이어 인코딩, 이미지들의 시퀀스의 제2 레이어 인코딩, SPS NAL 유닛 및 보조 SPS NAL 유닛을 포함한 데이터 세트를 제공한다.
다른 일반 양상에 따르면, 복수의 레이어들에서 이미지들의 시퀀스를 인코딩하기 위하여 제공한 구문 구조를 이용한다. 구문 구조는 SPS NAL 유닛에 대한 구문을 포함한다. SPS NAL 유닛은 이미지들의 시퀀스의 제1 레이어 인코딩을 디코딩하는데 이용하는 파라미터를 기술하는 정보를 포함한다. 구문 구조는 보조 SPS NAL 유닛에 대한 구문을 포함한다. 보조 SPS NAL 유닛은 SPS NAL 유닛과 다른 구조를 갖는다. 보조 SPS NAL 유닛은 이미지들의 시퀀스의 제2 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술하는 정보를 포함한다. 이미지들의 시퀀스의 제1 레이어 인코딩, 이미지들의 시퀀스의 제2 레이어 인코딩, SPS NAL 유닛, 및 보조 SPS NAL 유닛을 포함한 데이터 세트를 제공할 수 있다.
다른 일반 양상에 따르면, 제1 규준(normative) 파라미터 세트에서 제1 레이어 종속 정보를 액세스한다. 액세스된 제1 레이어 종속 정보는 이미지들의 시퀀스의 제1 레이어 인코딩을 디코딩하는데 이용하기 위한 것이다. 제2 규준 파라미터 세트에서 제2 레이어 종속 정보를 액세스한다. 제2 규준 파라미터 세트는 제1 규준 파라미터 세트와 다른 구조를 갖는다. 액세스된 제2 레이어 종속 정보는 이미지들의 시퀀스의 제2 레이어 인코딩을 디코딩하는데 이용하기 위한 것이다. 액세스된 제1 레이어 종속 정보 또는 액세스된 제2 레이어 종속 정보 중 하나 이상에 기초하여, 이미지들의 시퀀스를 디코딩한다.
다른 일반 양상에 따르면, 제1 레이어 종속 정보를 포함하는 제1 규준 파라미터 세트를 발생시킨다. 제1 레이어 종속 정보는 이미지들의 시퀀스의 제1 레이어 인코딩을 디코딩하는데 이용하기 위한 것이다. 제1 규준 파라미터 세트와 다른 구조를 갖는 제2 규준 파라미터 세트를 발생시킨다. 제2 규준 파라미터 세트는 이미지들의 시퀀스의 제2 레이어 인코딩을 디코딩하는데 이용하기 위한 제2 레이어 종속 정보를 포함한다. 제1 규준 파라미터 세트와 제2 규준 파라미터 세트를 포함한 데이터 세트를 제공한다.
하나 이상의 실시예의 세부 내용을 첨부한 도면과 아래 설명에 기술한다. 하나의 특정한 방식으로 설명되고 있지만, 여러 방식으로 실시예들을 구성하거나 또는 구현할 수 있음을 명확히 해야 한다. 예를 들어, 구현예를 방법으로서 수행할 수 있거나 또는 예를 들어, 동작들의 집합을 수행하도록 구성된 장치 또는 동작들의 집합을 수행하기 위한 명령을 저장하는 구성되는 장치와 같은 장치로서 구현할 수 있거나 또는 신호 내에서 구현할 수 있다. 첨부한 도면과 청구범위와 함께 고려된 다음의 상세한 설명으로부터 다른 특징 및 양상들이 명확해질 것이다.
스케일러블 방식으로 비디오 데이터를 인코딩 및 디코딩하는 것이 제공된다.
도 1은 인코더의 구현예를 위한 블록도이다.
도 1a는 인코더의 다른 구현예를 위한 블록도이다.
도 2는 디코더의 구현예를 위한 블록도이다.
도 2a는 디코더의 다른 구현예를 위한 블록도이다.
도 3은 "SPS"(Single-Layer Sequence Parameter Set) "NAL"(Network Abstraction Layer) 유닛의 구현 구조이다.
도 4는 SPS NAL 유닛의 이용을 설명하는 데이터 스트림의 부분들의 일례를 나타내는 블록도이다.
도 5는 보조 SPS ("SUP SPS") NAL 유닛의 구현 구조이다.
도 6은 SPS 유닛과 복수의 SUP SPS 유닛들 사이에서의 조직 계층 구성(organizational hierarchy)의 구현예이다.
도 7은 SUP SPS NAL 유닛의 다른 구현예의 구조이다.
도 8은 SUP SPS 유닛들을 발생시키는 스케일러블 비디오 코더의 구현예의 기능도이다.
도 9는 SUP SPS 유닛들을 포함한 데이터 스트림의 발생 구현예의 계층 구성도이다.
도 10은 도 9의 구현예에 의해 발생된 데이터 스트림의 일례를 나타내는 블록도이다.
도 11은 인코더의 일 구현예의 블록도이다.
도 12는 인코더의 다른 구현예의 블록도이다.
도 13은 도 11 또는 도 12의 인코더들에 의해 이용된 인코딩 프로세스의 구현예의 흐름도이다.
도 14는 도 13의 프로세스에 의해 발생된 데이터 스트림의 일례를 나타내는 블록도이다.
도 15는 디코더의 구현예의 블록도이다.
도 16은 디코더의 다른 구현예의 블록도이다.
도 17은 도 15 또는 도 16의 디코더들에 의해 이용된 디코딩 프로세스의 구현예의 흐름도이다.
오늘날, 서로 다른 레이어들 및/또는 프로파일들에 따라 비디오 데이터를 코딩할 수 있는 수개의 비디오 코딩 표준들이 존재한다. 이들 중, 하나가 ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) MPEG-4(Moving Picture Experts Group-4) Part 10 AVC(Advanced Video Coding) 표준/ITU-T(International Telecommunication Union, Telecommunication Sector) H.264 권장 사항(recommendation)으로서 또한 참조되는 H.264/MPEG-4 AVC("AVC 표준")를 언급할 수 있다. 추가로, AVC 표준으로의 확장이 존재한다. 첫번째의 이러한 확장은 H.264/MPEG-4 AVC "SVC 확장"(스케일러블 비디오 코딩 확장)이라 불리는 "SVC"(scalable video coding) 확장(Annex G)이다. 두번째의 이러한 확장은 H.264/MPEG-4 AVC, MVC 확장("MVC 확장")이라 불리는 "MVC"(multi-view video coding) 확장(Annex H)이다.
본 명세서에 설명된 하나 이상의 구현예는 SVC 및 MVC 확장들 뿐만 아니라 AVC 표준에 이용될 수 있다. 이 구현예는 SPS NAL 유닛들과 다른 NAL 유닛 유형을 갖는 보조 ("SUP") "SPS"(sequence parameter set) "NAL"(network abstraction layer) 유닛을 제공한다. SPS 유닛은 일반적으로 반드시 필요한 것은 아니지만 적어도 하나의 단일 레이어에 대한 정보를 포함한다. 추가로, SUP SPS NAL 유닛은 하나 이상의 추가 레이어에 대한 레이어 종속 정보를 포함한다. 따라서, SPS 및 SUP SPS 유닛들을 액세스함으로써, 디코더는 비트 스트림을 디코딩하는데 필요한 이용가능한 특정(그리고 일반적으로 모든) 레이어 종속 정보를 갖는다.
AVC 시스템에서의 이 구현예를 이용하여, SUP SPS NAL 유닛들을 전송할 필요가 없고 (아래 설명된 바와 같이)단일 레이어 SPS NAL 유닛을 전송할 수 있다. SVC (또는 MVC) 시스템에서의 이 구현예를 이용하여, SPS NAL 유닛에 더하여, SUP SPS NAL 유닛(들)을 원하는 추가의 레이어들(또는 뷰들(view))에 대해 전송할 수 있다. AVC-호환가능 디코더들과 SVC-호환가능(또는 MVC-호환가능) 디코더들 양쪽 모두를 포함한 시스템에서의 구현예를 이용하여, AVC-호환가능 디코더들은 NAL 유닛 유형을 검출함으로써 SUP SPS NAL 유닛들을 무시할 수 있다. 각각의 경우, 효율성 및 호환성을 달성한다.
위의 구현예는 또한 특정 레이어들이 예를 들어, SPS 또는 SPS에서 일반적으로 전달되는 특정한 정보와 같은 헤더 정보를 공유하도록 하는 요건을 부여하는 시스템(표준 또는 그 외의 것)에 대해 이점들을 제공한다. 예를 들어, 베이스 레이어 및 이 레이어의 복합 시간 레이어(composite temporal layer)가 SPS를 공유하는 것을 필요로 하는 경우, 레이어 종속 정보를 공유된 SPS와 함께 전송할 수 없다. 그러나, SUP SPS는 레이어 종속 정보를 전송하기 위한 메카니즘을 제공한다.
SUP SPS가 SPS 내에 모든 파라미터들을 포함할 필요가 없고 따라서 반복할 필요가 없다는 점에서 여러 구현예들의 SUP SPS가 또한 효율적인 이점을 제공한다. SUP SPS는 일반적으로 레이어 종속 파라미터에 포커스를 맞추고 있다. 그러나, 여러 구현예들은 비레이어 종속 파라미터들(non-layer-dependent parameters)을 포함하거나 또는 심지어 SPS 구조의 모두를 반복하는 SUP SPS 구조를 포함한다.
여러 구현예들은 SVC 확장에 관련된다. SVC 확장은 수개의 공간 레벨들, 시간 레벨들, 및 품질 레벨들에 따라 비디오 데이터의 전송을 제안한다. 한 공간 레벨에 대해, 하나의 비디오 데이터가 수개의 시간 레벨에 따라 코딩되고 각각의 시간 레벨에 대해, 수개의 품질 레벨에 따라 코딩될 수 있다. 따라서, m개의 공간 레벨들, n개의 시간 레벨 및 O개의 품질 레벨을 정의하는 경우, 비디오 데이터를 m*n*O개의 서로 다른 조합에 따라 코딩할 수 있다. 이들 조합은 레이어로서 언급되거나 또는 "IOP들"(interoperability points)를 의미한다. (또한 수신기 또는 클라이언트로서 언급되는) 디코더 능력에 따르면, 서로 다른 레이어들을 클라이언트 능력들의 최대값에 대응하는 특정 레이어까지 전송할 수 있다.
여기에 이용된 바와 같이, "레이어 종속" 정보는 특히 단일의 레이어에 관련된 정보를 의미한다. 즉, 이름이 제안하는 바와 같이, 정보는 특정한 레이어에 종속한다. 이러한 정보는 반드시 레이어마다 다를 필요가 있는 것은 아니지만, 일반적으로 각각의 레이어에 대해 별개로 제공된다.
여기에 이용된 바와 같이, "상위 레벨 구문"은 계층적으로 매크로블록 레이어 이상에 상주하는 비트스트림 내에 존재하는 구문을 의미한다. 예를 들어, 여기에 이용된 상위 레벨 구문은 이들에 한정되는 것은 아니지만, 슬라이스 헤더 레벨(slice header level), SEI(Supplemental Enhancement Information) 레벨, PPS(Picture Parameter Set) 레벨, SPS(Sequence Parameter Set) 레벨 및 NAL(Network Abstraction Layer) 유닛 헤더에서의 구문을 의미할 수 있다.
도 1을 참조하여 보면, 예시적인 SVC 인코더를 일반적으로 도면 부호 100으로 나타낸다. SVC 인코더(100)는 또한 AVC 인코딩에, 즉, 단일의 레이어(예를들어, 베이스 레이어)에 이용될 수 있다. 추가로, SVC 인코더(100)는 당해 기술 분야의 숙련된 자가 알고 있는 바와 같이 MVC 인코딩에 이용될 수 있다. 예를 들어, 복수의 뷰들을 인코딩하는데 SVC 인코더(100)의 여러 구성요소들 또는 이들 구성요소의 변경들을 이용할 수 있다.
시간 분해 모듈(142; temporal decomposition module)의 제1 출력은 인트라 블록에 대한 인트라 예측 모듈(146)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 시간 분해 모듈(142)의 제2 출력은 모션 코딩 모듈(144)의 제1 입력에 신호적으로 통신하여 연결되어 있다. 인트라 블록에 대한 인트라 예측 모듈(146)의 출력은 변환/엔트로피 코더 (신호 대 잡음 비(SNR) 스케일러블 방식; 149)의 입력과 신호적으로 통신하여 연결되어 있다. 변환/엔트로피 코더(149)의 제1 출력은 멀티플렉서(170)의 제1 입력과 신호적으로 통신하여 연결되어 있다.
시간 분해 모듈(132)의 제1 출력은 인트라 블록에 대한 인트라 예측 모듈(136)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 시간 분해 모듈(132)의 제2 출력은 모션 코딩 모듈(134)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 인트라 블록에 대한 인트라 예측 모듈(136)의 출력은 변환/엔트로피 코더(신호 대 잡음 비(SNR) 스케일러블 방식; 139)의 입력과 신호적으로 통신하여 연결되어 있다. 변환/엔트로피 코더(139)의 제1 출력은 멀티플렉서(170)의 제1 입력과 신호적으로 통신하여 연결되어 있다.
변환/엔트로피 코더(149)의 제2 출력은 2D 공간 보간(interpolation) 모듈(138)의 입력과 신호적으로 통신하여 연결되어 있다. 2D 공간 보간 모듈(138)의 출력은 인트라 블록에 대한 인트라 예측 모듈(136)의 제2 입력과 신호적으로 통신하여 연결되어 있다. 모션 코딩 모듈(144)의 제2 출력은 모션 코딩 모듈(134)의 입력과 신호적으로 통신하여 연결되어 있다.
시간 분해 모듈(122)의 제1 출력은 인트라 예측기(intra predictor; 126)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 시간 분해 모듈(122)의 제2 출력은 모션 코딩 모듈(124)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 인트라 예측기(126)의 출력은 변환/엔트로피 코더(신호 대 잡음 비(SNR) 스케일러블 방식; 129)의 입력과 신호적으로 통신하여 연결되어 있다. 변환/엔트로피 코더(129)의 출력은 멀티플렉서(170)의 제1 입력과 신호적으로 통신하여 연결되어 있다.
변환/엔트로피 코더(139)의 제2 출력은 2D 공간 보간 모듈(128)의 입력과 신호적으로 통신하여 연결되어 있다. 2D 공간 보간 모듈(128)의 출력은 인트라 예측기 모듈(126)의 제2 입력과 신호적으로 통신하여 연결되어 있다. 모션 코딩 모듈(134)의 제2 출력은 모션 코딩 모듈(124)의 입력과 신호적으로 통신하여 연결되어 있다.
모션 코딩 모듈(124)의 제1 출력, 모션 코딩 모듈(134)의 제1 출력 및 모션 코딩 모듈(144)의 제1 출력은 각각 멀티플렉서(170)의 제2 입력과 신호적으로 통신하여 연결되어 있다.
2D 공간 데시메이션(decimation) 모듈(104)의 제1 출력은 시간 분해 모듈(132)의 입력과 신호적으로 통신하여 연결되어 있다. 2D 공간 데시메이션 모듈(104)의 제2 출력은 시간 분해 모듈(142)의 입력과 신호적으로 통신하여 연결되어 있다.
시간 분해 모듈(122)의 입력 및 2D 공간 데시메이션 모듈(104)의 입력은 입력 비디오(102)를 수신하기 위하여 인코더(100)의 입력들로서 이용가능하다.
멀티플렉서(170)의 출력은 비트스트림(180)을 제공하기 위하여 인코더(100)의 출력으로서 이용가능하다.
시간 분해 모듈(122), 시간 분해 모듈(132), 시간 분해 모듈(142), 모션 코딩 모듈(124), 모션 코딩 모듈(134), 모션 코딩 모듈(144), 인트라 예측기(126), 인트라 예측기(136), 인트라 예측기(146), 변환/엔트로피 코더(129), 변환/엔트로피 코더(139), 변환/엔트로피 코더(149), 2D 공간 보간 모듈(128) 및 2D 공간 보간 모듈(138)은 인코더(100)의 코어 인코더부(187) 내에 포함된다.
도 1은 3개의 코어 인코더들(187)을 포함한다. 도시된 구현예에서, 최하단 코어 인코더(187)는 베이스 레이어를 인코딩할 수 있고, 중간 및 상단 코어 인코더(187)는 상위 레이어들을 인코딩할 수 있다.
도 2로 돌아가 보면, 예시적인 SVC 디코더가 일반적으로 도면 부호 200으로 나타나 있다. SVC 디코더(200)는 또한 AVC 디코딩에, 즉, 단일의 뷰에 이용될 수 있다. 추가로, SVC 디코더(200)는 당해 기술 분야의 숙련된 자가 알고 있는 바와 같이 MVC 디코딩에 이용될 수 있다. 예를 들어, SVC 디코더(200)의 여러 구성요소들 또는 이들 구성요소의 변경들을 복수의 뷰들을 디코딩하는데 이용될 수 있다.
인코더(100)와 디코더(200) 뿐만 아니라 본 발명에 개시된 다른 인코더들 및 디코더들은 본 발명 전반에 걸쳐 도시된 여러 방법들을 수행하도록 구성될 수 있음을 주지해야 한다. 인코딩 동작들을 수행하는 것에 더하여, 본 발명에 개시된 인코더들은 디코더의 예측된 동작들을 반영하기 위하여 재구성 프로세스 동안에 여러 디코딩 동작들을 수행할 수 있다. 예를 들어, 인코더는 추가의 비디오 데이터를 예측하는데 이용하기 위해 인코딩된 비디오 데이터의 재구성을 발생시키기 위하여 인코딩된 비디오 데이터를 디코딩하도록 SUP SPS 유닛들을 디코딩할 수 있다. 그 결과, 인코더는 디코더에 의해 수행된 동작들 모두를 실질적으로 수행할 수 있다.
디멀티플렉서(202)의 입력은 스케일러블 비트스트림을 수신하기 위하여 스케일러블 비디오 디코더(200)에 대한 입력으로서 이용가능하다. 디멀티플렉서(202)의 제1 출력은 공간 역변환(공간 역변환) SNR 스케일러블 엔트로피 디코더(204)의 입력과 신호적으로 통신하여 연결되어 있다. 공간 역변환 SNR 스케일러블 엔트로피 디코더(204)의 제1 출력은 예측 모듈(206)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 예측 모듈(206)의 출력은 결합기(230)의 제1 입력과 신호적으로 통신하여 연결되어 있다.
공간 역변환 SNR 스케일러블 엔트로피 디코더(204)의 제2 출력은 모션 벡터(MV) 디코더(210)의 제1 입력과 신호적으로 통신하여 연결되어 있다. MV 디코더(210)의 출력은 모션 보상기(232)의 입력과 신호적으로 통신하여 연결되어 있다. 모션 보상기(232)의 출력은 결합기(230)의 제2 입력과 신호적으로 통신하여 연결되어 있다.
디멀티플렉서(202)의 제2 출력은 공간 역변환 SNR 스케일러블 엔트로피 디코더(212)의 입력과 신호적으로 통신하여 연결되어 있다. 공간 역변환 SNR 스케일러블 엔트로피 디코더(212)의 제1 출력은 예측 모듈(214)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 예측 모듈(214)의 제1 출력은 보간 모듈(216)의 입력과 신호적으로 통신하여 연결되어 있다. 보간 모듈(216)의 출력은 예측 모듈(206)의 제2 입력과 신호적으로 통신하여 연결되어 있다. 예측 모듈(214)의 제2 출력은 결합기(240)의 제1 입력과 신호적으로 통신하여 연결되어 있다.
공간 역변환 SNR 스케일러블 엔트로피 디코더(212)의 제2 출력은 MV 디코더(220)의 제1 입력과 신호적으로 통신하여 연결되어 있다. MV 디코더(220)의 제1 출력은 MV 디코더(210)의 제2 입력과 신호적으로 통신하여 연결되어 있다. MV 디코더(220)의 제2 출력은 모션 보상기(242)의 입력과 신호적으로 통신하여 연결되어 있다. 모션 보상기(242)의 출력은 결합기(240)의 제2 입력과 신호적으로 통신하여 연결되어 있다.
디멀티플렉서(202)의 제3 출력은 공간 역변환 SNR 스케일러블 엔트로피 디코더(222)의 입력과 신호적으로 통신하여 연결되어 있다. 공간 역변환 SNR 스케일러블 엔트로피 디코더(222)의 제1 출력은 예측 모듈(224)의 입력과 신호적으로 통신하여 연결되어 있다. 예측 모듈(224)의 제1 출력은 보간 모듈(226)의 입력과 신호적으로 통신하여 연결되어 있다. 보간 모듈(226)의 출력은 예측 모듈(214)의 제2 입력과 신호적으로 통신하여 연결되어 있다.
예측 모듈(214)의 제2 출력은 결합기(250)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 공간 역변환 SNR 스케일러블 엔트로피 디코더(222)의 제2 출력은 MV 디코더(230)의 입력과 신호적으로 통신하여 연결되어 있다. MV 디코더(230)의 제1 출력은 MV 디코더(220)의 제2 입력과 신호적으로 통신하여 연결되어 있다. MV 디코더(230)의 제2 출력은 모션 보상기(252)의 입력과 신호적으로 통신하여 연결되어 있다. 모션 보상기(252)의 출력은 결합기(250)의 제2 입력과 신호적으로 통신하여 연결되어 있다.
결합기(250)의 출력은 레이어 0 신호를 출력하기 위하여 디코더(200)의 출력으로서 이용가능하다. 결합기(240)의 출력은 레이어 1 신호를 출력하기 위하여 디코더(200)의 출력으로서 이용가능하다. 결합기(230)의 출력은 레이어 2 신호를 출력하기 위하여 디코더(200)의 출력으로서 이용가능하다.
도 1a를 참조하여 보면, 예시적인 AVC 인코더가 일반적으로 도면 부호 2100으로 나타내어진다. 예를 들어, 단일의 레이어(예를 들어, 베이스 레이어)를 인코딩하기 위하여 AVC 인코더(2100)를 이용할 수 있다. 비디오 인코더(2100)는 결합기(2185)의 비반전(non-inverting) 입력과 신호 통신하는 출력을 갖는 프레임 순서화 버퍼(frame ordering buffer; 2110)를 포함한다. 결합기(2185)의 출력은 변환기 및 양자화기(2125)의 제1 입력과 신호 통신하여 연결되어 있다. 변환기 및 양자화기(2125)의 출력은 엔트로피 코더(2145)의 제1 입력 및 역변환기 및 역양자화기(2125)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 엔트로피 코더(2145)의 출력은 결합기(2190)의 제1 비반전 입력과 신호적으로 통신하여 연결되어 있다. 결합기(2190)의 출력은 출력 버퍼(2135)의 제1 입력과 신호 결합으로 연결되어 있다.
인코더 컨트롤러(2105)의 제1 출력은 프레임 순서화 버퍼(2110)의 제2 입력,역변환기 및 역양자화기(2125)의 제2 입력, 픽쳐 유형 결정 모듈(2115)의 입력, 매크로블록-유형(MB-유형) 결정 모듈(2120)의 입력, 인트라 예측 모듈(2160)의 제2 입력, 디블록킹 필터(deblocking filter; 2165)의 제2 입력, 모션 보상기(2170)의 제1 입력, 모션 추정기(2175)의 제1 입력, 레퍼런스 픽쳐 버퍼(2180)의 제2 입력과 신호적으로 통신하여 연결되어 있다.
인코더 컨트롤러(2105)의 제2 출력은 "SEI"(Supplemental Enhancement Information) 인서터(inserter; 2130)의 제1 입력, 변환기 및 양자화기(2125)의 제2 입력, 엔트로피 코더(2145)의 제2 입력, 출력 버퍼(2135)의 제2 입력 및 SPS(Sequence Parameter Set) 및 PPS(Picture Parameter Set) 인서터(2140)의 입력과 신호적으로 통신하여 연결되어 있다.
픽쳐 유형 결정 모듈(2115)의 제1 출력은 프레임 순서화 버퍼(2110)의 제3 입력과 신호적으로 통신하여 연결되어 있다. 픽쳐 유형 결정 모듈(2115)의 제2 출력은 메크로 블록 결정 모듈(2120)의 제2 입력과 신호적으로 통신하여 연결되어 있다.
"SPS"(Sequence Parameter Set) 및 "PPS"(Picture Parameter Set) 인서터(2140)의 출력은 결합기(2190)의 제3 비반전 입력과 신호적으로 통신하여 연결되어 있다. SEI 인서터(2130)의 출력은 결합기(2190)의 제2 비반전 입력과 신호적으로 통신하여 연결되어 있다.
역양자화기 및 역변환기(2150)의 출력은 결합기(2127)의 제1 비반전 입력과 신호적으로 통신하여 연결되어 있다. 결합기(2127)의 출력은 인트라 예측 모듈(2160)의 제1 입력 및 디블록킹 필터(2165)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 디블록킹 필터(2165)의 출력은 레퍼런스 픽쳐 버퍼(2180)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 레퍼런스 픽쳐 버퍼(2180)의 출력은 모션 추정기(2175)의 제2 입력 및 모션 보상기(2170)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 모션 추정기(2175)의 제1 출력은 모션 보상기(2170)의 제2 입력과 신호적으로 통신하여 연결되어 있다. 모션 추정기(2175)의 제2 출력은 엔트로피 코더(2145)의 제3 입력과 신호적으로 통신하여 연결되어 있다.
모션 보상기(2170)의 출력은 스위치(2197)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 인트라 예측 모듈(2160)의 출력은 스위치(2197)의 제2 입력과 신호적으로 통신하여 연결되어 있다. 매크로블록 유형 결정 모듈(2120)의 출력은 스위치(2197)에 대한 제어 입력을 제공하기 위하여 스위치(2197)의 제3 입력과 신호적으로 통신하여 연결되어 있다. 스위치(2197)의 출력은 결합기(2127)의 제2 비반전 입력 및 결합기(2185)의 반전 입력과 신호적으로 통신하여 연결되어 있다.
프레임 순서화 버퍼(2110) 및 인코더 컨트롤러(2105)의 입력들은 입력 픽쳐(2101)를 수신하기 위하여 인코더(2100)의 입력으로서 이용가능하다. 또한, SEI 인서터(2130)의 입력은 메타데이터를 수신하기 위하여 인코더(2100)의 입력으로서 이용가능하다. 출력 버퍼(2135)의 출력은 비트스트림을 출력하기 위하여 인코더(2100)의 출력으로서 이용가능하다.
도 2a를 참조하여 보면, MPEG-4 AVC 표준에 따라 비디오 디코딩을 수행할 수 있는 비디오 디코더는 도면 부호 2200으로 일반적으로 나타내어진다.
비디오 디코더(2200)는 엔트로피 디코더(2245)의 제1 입력과 신호적으로 통신하여 연결되어 있는 출력을 갖는 입력 버퍼(2210)를 포함한다. 엔트로피 디코더(2245)의 제1 출력은 역 변환기 및 역 양자화기(2250)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 역 변환기 및 역 양자화기(2250)의 출력은 결합기(2225)의 제2 비반전 입력과 신호적으로 통신하여 연결되어 있다. 결합기(2225)의 출력은 디블록킹 필터(2265)의 제2 입력 및 인트라 예측 모듈(2260)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 디블록킹 필터(2265)의 제2 출력은 레퍼런스 픽쳐 버퍼(2280)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 레퍼런스 픽쳐 버퍼(2280)의 출력은 모션 보상기(2270)의 제2 입력과 신호적으로 통신하여 연결되어 있다.
엔트로피 디코더(2245)의 제2 출력은 모션 보상기(2270)의 제3 입력 및 디블록킹 필터(2265)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 엔트로피 디코더(2245)의 제3 출력은 디코더 컨트롤러(2205)의 입력과 신호적으로 통신하여 연결되어 있다. 디코더 컨트롤러(2205)의 제1 출력은 엔트로피 디코더(2245)의 제2 입력과 신호적으로 통신하여 연결되어 있다. 디코더 컨트롤러(2205)의 제2 출력은 역 변환기 및 역 양자화기(2250)의 제2 입력과 신호적으로 통신하여 연결되어 있다. 디코더 컨트롤러(2205)의 제3 출력은 디블록킹 필터(2265)의 제3 입력과 신호적으로 통신하여 연결되어 있다. 디코더 컨트롤러(2205)의 제4 출력은 인트라 예측 모듈(2260)의 제2 입력, 모션 보상기(2270)의 제1 입력 및 레퍼런스 픽쳐 버퍼(2280)의 제2 입력과 신호적으로 통신하여 연결되어 있다.
모션 보상기(2270)의 출력은 스위치(2297)의 제1 입력과 신호적으로 통신하여 연결되어 있다. 인트라 예측 모듈(2260)의 출력은 스위치(2297)의 제2 입력과 신호적으로 통신하여 연결되어 있다. 스위치(2297)의 출력은 결합기(2225)의 제1 비반전 입력과 신호적으로 통신하여 연결되어 있다.
입력 버퍼(2210)의 입력은 입력 비트스트림을 수신하기 위하여 디코더(2200)의 입력으로서 이용가능하다. 디블록킹 필터(2265)의 제1 출력은 출력 픽쳐를 출력하기 위하여 디코더(2200)의 출력으로서 이용가능하다.
도 3을 참조하여 보면, 단일 레이어 SPS(300)에 대한 구조가 도시되어 있다. SPS는 0 이상의 전체 코딩된 비디오 시퀀스들에 적용하는 구문 요소들을 일반적으로 포함하는 구문 구조이다. SVC 확장에서, SPS로 전달되는 일부 구문 요소들의 값들은 레이어에 종속한다. 이들 레이어 종속 구문 요소들은 이들로 한정되는 것은 아니지만, 타이밍 정보, HRD("(Hypothetical Reference Decoder)"를 대표함) 파라미터들 및 비트스트림 제약 정보(restriction information)를 포함한다. HRD 파라미터들은 예를 들어, 버퍼 크기, 최대 비트 레이트 및 초기 지연의 표시자들을 포함할 수 있다. HRD 파라미터들은 예를 들어 수신 시스템이 수신된 비트 스트림의 무결성(integrity)을 검증하게 하고 및/또는 수신된 시스템(예를 들어, 디코더)이 비트 시스템을 디코딩할 수 있는 경우인지를 판단하게 한다. 따라서, 시스템은 각각의 레이어에 대해 상술한 구문 요소들의 전송을 제공할 수 있다.
단일 레이어 SPS(300)는 SPS에 대한 식별자를 제공하는 SPS-ID(310)를 포함한다. 단일 레이어 SPS(300)는 또한 단일 레이어에 대한 VUI(비디오 이용가능성 정보(Video Usability Information)를 상징함) 파라미터(320)를 포함한다. VUI 파라미터들은 예를 들어 베이스 레이어와 같은 단일 레이어에 대한 HRD 파라미터들(330)을 포함한다. 단일 레이어 SPS(300)는 또한 추가의 파라미터들(340)을 포함할 수 있지만, 구현예들은 어떠한 추가의 파라미터들(340)도 포함할 필요는 없다.
도 4를 참조하여 보면, 데이터 스트림(400)의 블록도는 단일 레이어 SPS(300)의 통상의 이용을 나타낸다. 예를 들어 AVC 표준에서, 통상의 데이터 스트림이 다른 요소들 중 무엇보다도, SPS 유닛, 측정 픽쳐에 대한 파라미터들을 제공하는 복수의 PPS(picture parameter sequence) 유닛들 및 인코딩된 픽쳐 데이터에 대한 복수의 유닛들을 포함할 수 있다. SPS(300), PPS-1(410), 인코딩된 픽쳐-1 데이터를 포함한 하나 이상의 유닛들(420), PPS-2(430) 및 인코딩된 픽쳐-2 데이터를 포함한 하나 이상의 유닛들(440)를 포함하는 이러한 일반 프레임워크가 도 4를 뒤따른다. PPS-1(410)은 인코딩된 픽쳐-1 데이터(420)에 대한 파라미터들을 포함하며, PPS-2(430)는 인코딩된 픽쳐-2 데이터(440)에 대한 파라미터들을 포함한다.
인코딩된 픽쳐-1 데이터(420) 및 인코딩된 픽쳐-2 데이터(440)는 각각 특정 SPS(도 4의 구현예에서의 SPS(300))와 연관되어 있다. 이는 이하 설명된 포인터들의 이용을 통하여 실현된다. 인코딩된 픽쳐-1 데이터(420)는 화살표 450에 의해 나타낸 바와 같이, PPS-1(410)를 식별하는 PPS-ID(도시 생략)를 포함한다. PPS-ID는 예를 들어, 슬라이스 헤더(slice header) 내에 저장될 수 있다. 인코딩된 픽쳐-2 데이터(440)는 화살표 460에 의해 나타낸 바와 같이, PPS-2(430)를 식별하는 PPS-ID(도시 생략)를 포함할 수 있다. PPS-1(410) 및 PPS-2(430)는 각각 화살표 470 및 480에 의해 나타낸 바와 같이, SPS(300)를 식별하는 SPS-ID(도시 생략)를 각각 포함한다.
도 5를 참조하여 보면, SUP ID(510)에 대한 구조가 도시되어 있다. SUP ID(510)는 SPS ID(510), "(D2, T2, Q2)"로 나타내어지는 단일의 추가 레이어에 대한 HRD 파라미터들(530)을 포함하는 VUI(520), 및 선택적인 추가의 파라미터들(540)을 포함한다. "D2, T2, Q2"는 공간(D) 레벨 2, 시간(T) 레벨 2 및 품질(Q) 레벨 2를 갖는 제2 레이어를 의미한다.
여러 방식들이 레이어들을 참조하는데 이용될 수 있음을 이해해야 한다. 한 넘버링 방식에서는, 베이스 레이어들은 0의 공간 레벨, 임의의 시간 레벨 및 0의 품질 레벨을 의미하는 0, x, 0의 D, T, Q를 갖는다. 넘버링 방식에서, 강화 레이어들(enhancement layer)은 D 또는 Q가 0보다 큰 것인 D, T, Q를 갖는다.
SUP SPS(500)의 이용은 예를 들어, 시스템이 단일 레이어에 대한 파라미터들만을 포함하거나 또는 레이어 종속 정보를 포함하지 않는 SPS 구조를 이용하도록 한다. 이러한 시스템은 베이스 레이어를 넘어서는 각각의 추가의 레이어에 대한 별도의 SUP SPS를 생성할 수 있다. 추가의 레이어들은 레이어들이 SPS ID(510)의 이용을 통하여 연관되는 SPS를 식별할 수 있다. 명확하게는, 수개의 레이어들은 레이어 자신의 각각의 SUP SPS 유닛들 내의 공통 SPS ID를 이용함으로써 단일의 SPS를 공유할 수 있다.
도 6을 참조하여 보면, SPS 유닛(605)과 복수의 SUP SPS 유닛들(610 및 620) 사이의 조직 계층 구성(600)이 도시되어 있다. SUP SPS 유닛들(610 및 620)은 단일의 레이어 SUP SPS 유닛들인 것으로서 도시되어 있지만, 다른 구현예들은 단일 레이어 SUP SPS 유닛들에 더하여 또는 단일 레이어 SUP SPS 유닛들을 대신하여 하나 이상의 복수의 레이어 SUP SPS 유닛들을 이용할 수 있다. 계층 구성(600)은 일반적인 시나리오에서는 복수의 SUP SPS 유닛들이 단일의 SPS 유닛과 연관될 수 있음을 설명한다. 물론, 구현예들은 복수의 SPS 유닛들을 포함할 수 있고, SPS 유닛들 각각은 연관된 SUP SPS 유닛들을 가질 수 있다.
도 7을 참조하여 보면, 다른 SUP SPS(700)에 대한 구조가 도시되어 있다. SUP SPS(700)는 복수의 레이어들에 대한 파라미터들을 포함하는 반면, SUP SPS(500)는 단일의 레이어에 대한 파라미터들을 포함한다. SUP SPS(700)는 SPS ID(710), VUI(720) 및 선택적인 추가의 파라미터들(740)을 포함한다. VUI(720)는 제1 추가의 레이어들(D2, T2, Q2)에 대하여 그리고 레이어(Dn, Tn, Qn)까지의 다른 추가의 레이어들에 대하여 HRD 파라미터들(730)을 포함한다.
도 6을 다시 참조하여 보면, 계층 구성(600)은 복수의 레이어 SUP SPS를 이용하기 위하여 변경될 수 있다. 예를 들어, SUP SPS(610 및 620)의 조합은, SUP SPS(610 및 620) 양쪽 모두가 동일한 SPS ID를 포함하는 경우에 SUP SPS(700)로 대체될 수 있다.
추가로, 예를 들어, 단일의 레이어에 대한 파라미터들을 포함하거나 또는 복수의 레이어들에 대한 파라미터들을 포함하거나 또는 임의의 레이어들에 대한 레이어 종속 파라미터들을 포함하지 않는 SPS에 SUP SPS(700)를 이용할 수 있다. SUP SPS(700)는 시스템이 적은 오버헤드로 복수의 레이어들에 대한 파라미터들을 제공하게 한다.
다른 구현예들은 모든 가능한 레이어들에 대한 모든 필요한 파라미터들을 포함한 예를 들어, SPS에 기초할 수 있다. 즉, 이러한 구현예의 SPS는 모든 레이어들을 전송하는지의 여부를 전송하는데 이용가능한 대응하는 공간(Di), 시간(Ti) 및 품질(Qi) 레벨들 모두를 포함한다. 그러나, 이러한 시스템 조차도, 전체 SPS를 다시 전송함이 없이 하나 이상의 레이어들에 대한 파라미터들을 변경하는 능력을 제공하기 위해 SUP SPS를 이용할 수 있다.
표 1을 참조하여 보면, 단일 레이어 SUP SPS의 특정 구현예에 대한 구문을 제공한다. 구문은 관련된 SPS1를 식별하는 sequence_parameter_set_id 및 스케일러블 레이어를 식별하는 temporal_level, dependency_id 및 quality_level의 식별자들을 포함한다. svc_vui_parameters()(표 2를 참조)의 이용을 통해 VUI 파라미터들이 포함되고, hrd_parameters()의 이용을 통해 HRD 파라미터들을 포함한다. 아래의 구문은 각각의 레이어가 예를 들어, HRD 파라미터들과 같은 레이어 자신의 레이어 종속 파라미터들을 특정하게 한다.
Figure pat00001
sup_seq_parameter_set_svc()의 구문에 대한 의미들(semantic)은 다음과 같다.
- sequence_parameter_set_id는 현재의 SUP SPS가 현재의 레이어에 대해 매핑할 시퀀스 파라미터를 식별한다.
- temporal_level, dependency_id 및 quality_level은 현재의 레이어에 대한 시간 레벨, 종속성 식별자 및 품질 레벨을 특정한다.
dependency_id는 일반적으로 공간 레벨을 나타낸다. 그러나, 공간 및 SNR 스케일러빌리티(scalability) 양쪽 모두를 포함한 "CGS"(Coarse Grain Scalability) 계층 구성을 나타내는데 dependency_id를 또한 이용하며, SNR 스케일러빌리티는 일반적인 품질 스케일러빌리티이다. 따라서, quality_level 및 dependency_id를, 품질 레벨들을 구별하는데 양쪽 모두 이용할 수 있다.
- 1과 같은 vui_parameters_present_svc_flag는 아래 정의된 바와 같은 svc_vui_parameters() 구문 구조가 존재함을 특정한다. 0과 같은 vui_parameters_present_svc_flag는 svc_vui_parameters() 구문 구조가 존재하지 않음을 특정한다.
표 2는 svc_vui_parameters()에 대한 구문을 제공한다. 따라서, VUI 파라미터들은 각각의 레이어에 대하여 분리되며, 개개의 SUP SPS 유닛들 내에 삽입한다. 그러나, 다른 구현예들은 복수의 레이어들에 대한 VUI 파라미터들을 단일의 SUP SPS로 그룹화한다.
Figure pat00002
표 2의 svc_vui_parameters() 구문의 필드들은 JVT-U201 annex E E.1 하에서 2007년 4월에 나온 SVC 확장 버전에서 정의된다. 구체적으로, hrd_parameters()는 AVC 표준에 대하여 정의된다. 또한, svc_vui_parameters()가 HRD-관련 파라미터들을 포함한 여러 레이어 종속 정보를 포함하고 있음을 알아야 한다. HRD-관련 파라미터들은 num_units_in_tick, time_scale, fixed_frame_rate_flag, nal_hrd_parameters_present_flag, vcl_hrd_parameters_present_flag, hrd_parameters(), low_delay_hrd_flag, 및 pic_struct_present_flag를 포함한다. 추가로, bitsream_restriction_flag if-loop 내의 구문 요소들은 심지어 비 HRD-관련 요소를 통해서도 레이어 종속성을 갖는다.
위에서 설명된 바와 같이, SUP SPS는 NAL 유닛의 새로운 유형으로서 정의된다. 표 3은 표준의 JVT-U201에 의해 정의되는 NAL 유닛 코드들의 일부를 리스트하지만, SUP SPS에 유형 24를 할당하도록 변경된다. NAL 유닛 유형 1과 16 사이의 생략 및 18과 24 사이의 생략은 이들 유형이 변경되지 않음을 나타낸다. NAL 유닛 유형 25와 31 사이의 생략은 이들 유형이 모두 비특정됨을 의미한다. 아래 표 3의 구현예는 "비특정됨(unspecified)"으로부터 "sup_seq_parameter_set_svc()"까지의 표준의 유형 24를 변경한다. "비특정됨"은 일반적으로 유저 애플리케이션을 위해 예약된다. 한편, "예약됨(reserved)"은 일반적으로 장래의 표준 변경들을 위해 예약된다. 따라서, 다른 구현예는 "예약됨" 유형들(예를 들어, 유형 16, 17, 또는 18) 중 하나를 "sup_seq_parameter_set_svc()"으로 변경한다. "비특정됨(unspecified)" 유형을 변경하는 것은 주어진 유저에 대한 구현을 가져오는 한편, "예약됨(reserved)" 유형을 변경하는 것은 모든 유저에 대한 표준을 변경하는 구현을 가져온다.
Figure pat00003
도 8은 SUP SPS 유닛들을 발생시키는 스케일러블 비디오 코더(800)의 구현예의 기능도를 나타낸다. 스케일러블 비디오 코더 1의 입력에서 비디오를 수신한다. 서로 다른 공간 레벨들에 따라 비디오를 코딩한다. 공간 레벨들은 동일한 비디오의 분해능의 서로 다른 레벨들을 주로 의미한다. 예를 들어, 스케일러블 비디오 코더의 입력으로서, 각각 하나의 공간 레벨을 나타내는 CIF 시퀀스(352 내지(per) 288) 또는 QCIF 시퀀스(176 내지 144)를 가질 수 있다.
공간 레벨들 각각을 인코더에 전송한다. 공간 레벨 1은 인코더 2"에 전송하고, 공간 레벨 2를 인코더 2'에 전송하고, 공간 레벨 m을 인코더 2에 전송한다.
dependency_id를 이용하여, 3 비트로 공간 레벨들을 코딩한다. 따라서, 이 구현예에서의 공간 레벨들의 최대 수는 8이다.
인코더들 2, 2', 및 2"는 표시된 공간 레벨을 갖는 하나 이상의 레이어들을 인코딩한다. 인코더들 2, 2', 및 2"는 특정 품질 레벨들 및 시간 레벨들을 갖도록 설계될 수 있거나, 또는 시간 레벨들 또는 품질 레벨들이 구성가능할 수 있다. 도 8로부터 알 수 있는 바와 같이, 인코더 2, 2', 및 2"는 계층적으로 배열된다. 즉, 인코더 2"는 인코더 2'를 피드하고, 이어서 인코더 2'는 인코더 2를 피드한다. 계층적 배열은 상위 레이어들이 레퍼런스로서 하위 레이어(들)을 이용하는 일반적인 시나리오를 나타낸다.
코딩 후에, 레이어들 각각에 대하여 헤더들을 준비한다. 도시된 구현예에서, 각각의 공간 레벨에 대해, SPS 메시지, PPS 메시지 및 복수의 SUP_SPS 메시지들을 생성한다. 예를 들어, 여러 서로 다른 품질 및 시간 레벨들에 대응하는 레이어들에 대하여 SUP SPS 메시지들(또는 유닛들)을 생성할 수 있다.
공간 레벨 1에 대하여, SPS 및 PPS 5"를 생성하고,
Figure pat00004
를 또한 생성한다.
공간 레벨 2에 대하여, SPS 및 PPS 5'를 생성하고,
Figure pat00005
를 또한 생성한다.
공간 레벨 m에 대하여, SPS 및 PPS 5를 생성하고,
Figure pat00006
를 또한 생성한다.
인코더 2, 2', 및 2"에 의해 인코딩된 비트스트림들 7, 7', 및 7"은 일반적으로 글로벌 비트스트림(global bitstream)에서 복수의 SPS, PPS 및 SUP-SPS(또한 헤더들, 유닛들, 또는 메시지들이라 함)을 뒤따른다.
비트스트림 8"은 공간 레벨 1과 연관된 모든 인코딩된 데이터를 구성하는 SPS 및 PPS 5",
Figure pat00007
6" 및 인코딩된 비디오 비트스트림 7"을 포함한다.
비트스트림 8'은 공간 레벨 2와 연관된 모든 인코딩된 데이터를 구성하는 SPS 및 PPS 5',
Figure pat00008
6' 및 인코딩된 비디오 비트스트림 7'을 포함한다.
비트스트림 8은 공간 레벨 2와 연관된 모든 인코딩된 데이터를 구성하는 SPS 및 PPS 5,
Figure pat00009
6 및 인코딩된 비디오 비트스트림 7을 포함한다.
서로 다른 SUP_SPS 헤더들은 표 1 내지 표 3에 설명된 헤더들에 따른다.
도 8에 도시된 인코더(800)는 각각의 공간 레벨에 대하여 하나의 SPS를 발생시킨다. 그러나, 다른 구현예들은 각각의 공간 레벨에 대하여 복수의 SPS를 발생시킬 수 있거나 또는 복수의 공간 레벨들을 서브하는 SPS를 발생시킬 수 있다. 도 8에 도시된 바와 같이 SVC 비트스트림을 발생시키는 멀티플렉서(9)에서 비트스트림 8, 8', 및 8"을 결합한다.
도 9를 참조하여 보면, 계층적 뷰(900)는 SUP SPS 유닛들을 포함한 데이터 스트림의 발생을 나타낸다. 계층적 뷰(900)를 이용하여, 도 8의 스케일러블 비디오 인코더(800)에 의해 발생된 가능한 비트스트림들을 나타낼 수 있다. 계층적 뷰(900)는 전송 인터페이스(17)에 SVC 비트스트림을 제공한다.
예를 들어, 도 8의 구현예에 따라 SVC 비트스트림을 발생시킬 수 있으며, SVC 비트스트림은 공간 레벨들 각각에 대하여 하나의 SPS를 포함한다. m개의 공간 레벨들을 인코딩하는 경우, SVC 비트스트림은 도 9에서의 10, 10' 및 10"에 의해 나타내어진 SPS1, SPS2 및 SPSm을 포함한다.
SVC 비트스트림에서, 각각의 SPS는 공간 레벨에 대한 일반 정보를 코딩한다. SPS에 후속하여 SUP_SPS의 유형의 헤더 11 , 11', 11", 13, 13', 13", 15, 15' 및 15"가 뒤따른다. SUP_SPS에 후속하여, 대응하는 인코딩된 비디오 데이터 12, 12", 12", 14, 14', 14", 16, 16' 및 16"(각각이 하나의 시간 레벨(n) 및 하나의 품질 레벨(O)에 대응함)가 뒤따른다.
따라서, 하나의 레이어가 전송되지 않는 경우, 대응하는 SUP_SPS가 또한 전송되지 않는다. 그 이유는 일반적으로 각각의 레이어에 대해 대응하는 하나의 SUP_SPS 헤더가 존재하기 때문이다.
일반적인 구현예들은 베이스 레이어가 0의 D 및 Q를 갖는 레이어들에 대한 넘버링 방식을 이용한다. 계층적 뷰(900)에 대하여 이러한 넘버링 방식을 이용하는 경우, 계층적 뷰(900)는 명시적으로 베이스 레이어를 나타내지 않는다. 이것은 베이스 레이어의 이용을 제외하지 않는다. 그러나, 추가적으로, 뷰(900)는 베이스 레이어에 대한 비트스트림 뿐만 아니라 예를 들어, 베이스 레이어에 대한 별도의 SPS를 명시적으로 보여주도록 확대될 수 있다. 추가로, 뷰(900)는 베이스 레이어들에 대한 대안의 넘버링 방식을 이용할 수 있고, 여기서, 비트스트림들 (1, 1, 1) 내지 (m, n, O) 중 하나 이상의 비트스트림은 베이스 레이어를 의미한다.
도 10을 참조하여 보면, 도 8 및 도 9의 구현예에 의해 발생된 데이터 스트림(1000)의 블록도가 제공된다. 도 10은 다음의 레이어들의 전송을 나타낸다.
- 레이어 (1, 1, 1): 공간 레벨 1, 시간 레벨 1, 품질 레벨 1; 이는 블록들(10, 11 및 12)의 전송을 포함함.
- 레이어 (1, 2, 1): 공간 레벨 1, 시간 레벨 2, 품질 레벨 1; 이는 블록들(11' 및 12')의 전송을 포함함.
- 레이어 (2, 1, 1): 공간 레벨 2, 시간 레벨 1, 품질 레벨 1; 이는 블록들(10', 13 및 14)의 전송을 포함함.
- 레이어 (3, 1, 1): 공간 레벨 3, 시간 레벨 1, 품질 레벨 1; 이는 블록들(10", 15 및 16)의 전송을 포함함.
- 레이어 (3, 2, 1): 공간 레벨 3, 시간 레벨 2, 품질 레벨 1; 이는 블록들(15' 및 16')의 전송을 포함함.
- 레이어 (3, 3, 1): 공간 레벨 3, 시간 레벨 3, 품질 레벨 1; 이는 블록들(15" 및 16")의 전송을 포함함.
데이터 스트림(1000)의 블록도는, SPS 10가 한번만 전송되고 레이어(1, 1, 1) 및 레이어(1, 2, 1) 양쪽 모두에 의해 이용되며, SPS 10"가 한번만 전송되고 레이어(3, 1, 1), 레이어(3, 2, 1) 및 레이어(3, 3, 1)의 각각에 이용됨을 나타낸다. 추가로, 데이터 스트림(1000)은 모든 레이어들에 대한 파라미터들이 전송되는 것은 아니고 다만 전송된 레이어들에 대응한 파라미터들만이 전송됨을 나타낸다. 예를 들어, 레이어가 전송되지 않기 때문에 SUP_SPS2 2에 대응하는 레이어(2, 2, 1)에 대한 파라미터들이 전송되지 않는다. 이는 이 구현예에 대한 효율성을 제공한다.
도 11을 참조하여 보면, 인코더(1100)는 SPS 발생 유닛(1110), 비디오 인코더(1120) 및 포맷화기(formatter; 1130)를 포함한다. 비디오 인코더(1120)는 입력 비디오를 수신하고, 입력 비디오를 인코딩하고, 인코딩된 입력 비디오를 포맷화기(1130)에 제공한다. 인코딩된 입력 비디오는 예를 들어, 인코딩된 베이스 레이어와 인코딩된 강화 레이어와 같은 예를 들어 복수의 레이어들을 포함할 수 있다. SPS 발생 유닛(1110)은 예를 들어, SPS 유닛들 및 SUP SPS 유닛들과 같은 헤더 정보를 발생시키고, 포맷화기(1130)에 헤더 정보를 제공한다. SPS 발생 유닛(1110)은 또한 비디오 인코더(1120)와 통신하여, 입력 비디오를 인코딩하는데 있어 비디오 인코더(1120)에 의해 이용된 파라미터들을 제공한다.
SPS 발생 유닛(1110)은 예를 들어, SPS NAL 유닛을 발생시키도록 구성될 수 있다. SPS NAL 유닛은 이미지들의 시퀀스의 제1 레이어 인코딩을 디코딩하는데 있어 이용하기 위한 파라미터를 기술하는 정보를 포함할 수 있다. SPS 발생 유닛(1110)은 또한 예를 들어, SPS NAL 유닛과 다른 구조를 갖는 SUP SPS NAL 유닛을 발생시키도록 구성될 수 있다. SUP SPS NAL 유닛은 이미지들의 시퀀스의 제2 레이어 인코딩을 디코딩하는데 있어 이용하기 위한 파라미터를 기술하는 정보를 포함할 수 있다. 제1 레이어 인코딩 및 제2 레이어 인코딩은 비디오 인코더(1120)에 의해발생될 수 있다.
포맷화기(1130)는 비디오 인코더(1120)로부터의 인코딩된 비디오 및 SPS 발생 유닛(1110)으로부터의 헤더 정보를 멀티플렉싱하여, 출력이 인코딩된 비트스트림을 발생시킨다. 인코딩된 비트스트림은 이미지들의 시퀀스의 제1 레이어 인코딩, 이미지들의 시퀀스의 제2 레이어 인코딩, SPS NAL 유닛 및 SUP SPS NAL 유닛을 포함한 데이터 세트일 수 있다.
인코더(1100)의 구성요소들(1110, 1120 및 1130)은 많은 형태들을 취할 수 있다. 구성요소들(1110, 1120 및 1130) 중 하나 이상의 구성요소는 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합을 포함할 수 있고, 예를 들어, 소프트웨어를 통하여 인코더로서 기능하도록 구성된 전용 인코더 또는 범용 프로세서와 같은 여러 플랫폼으로부터 동작될 수 있다.
도 8 및 도 11을 비교할 수 있다. SPS 발생 유닛(1110)은 도 8에 도시된 여러
Figure pat00010
및 SPS를 발생시킬 수 있다. 비디오 인코더(1120)는 도 8에 도시된 비트스트림들 7, 7' 및 7"(이는 입력 비디오의 인코딩들임)을 발생시킬 수 있다. 비디오 인코더(1120)는 예를 들어, 인코더들 2, 2' 또는 2" 중 하나 이상의 인코더들에 대응할 수 있다. 포맷화기(1130)는 도면 부호 8, 8', 8"에 의해 나타낸 계층적으로 정렬된 데이터를 발생시킬 수 있을 뿐만 아니라 도 8의 SVC 비트스트림을 발생시키도록 멀티플렉서(9)의 동작을 수행할 수 있다.
도 1 및 도 11을 또한 비교할 수 있다. 비디오 인코더(1120)는 예를 들어, 도 1의 블록들(104 및 187)에 대응할 수 있다. 포맷화기(1130)는 예를 들어, 멀티플렉서(170)에 대응할 수 있다. SPS 발생 유닛(1110)은 도 1에 명시적으로 나타나 있지 않지만, 예를 들어, 멀티플렉서(170)에 의해 SPS 발생 유닛(1110)의 기능을 수행할 수 있다.
인코더(1100)의 다른 구현예들은 예를 들어, 데이터가 프리인코딩되지 않기 때문에 비디오 인코더(1120)를 포함하지 않는다. 인코더(1100)는 또한 추가적인 출력을 제공할 수 있고 구성요소들 간에 추가적인 통신을 제공할 수 있다. 인코더(1100)는 또한 예를 들어, 기존의 구성요소들 사이에 위치될 수 있는 추가적인 구성요소들을 제공하도록 변경할 수 있다.
도 12를 참조하여 보면, 인코더(1100)와 동일한 방식으로 동작하는 인코더(1200)가 도시되어 있다. 인코더(1200)는 프로세서(1220)와 통신하는 메모리(1210)를 포함한다. 메모리(1210)를 이용하여, 예를 들어, 입력 비디오를 저장하거나, 인코딩 또는 디코딩 파라미터들을 저장하거나 인코딩 프로세스에서 중간 결과 또는 최종 결과를 저장하거나 또는 인코딩 방법을 수행하기 위한 명령을 저장할 수 있다. 이러한 저장은 일시적일 수 있거나 영구적일 수 있다.
프로세서(1220)는 입력 비디오를 수신하여 입력 비디오를 인코딩한다. 프로세서(1220)는 또한 헤더 정보를 발생시키고 헤더 정보와 인코딩된 입력 비디오를 포함한 인코딩된 비트스트림을 포맷한다. 인코더(1100)에서와 같이, 프로세서(1220)에 의해 제공되는 헤더 정보는 복수의 레이어들에 대한 헤더 정보를 전달하기 위한 별도의 구조를 포함할 수 있다. 프로세서(1220)는 상부에 저장되거나 또는 예를 들어 프로세서(1220) 또는 메모리(1210) 상에 또는 그 일부에 달리 상주하는 명령에 따라 동작할 수 있다.
도 13을 참조하여 보면, 입력 비디오를 입력하기 위한 프로세서(1300)를 도시한다. 프로세스(1300)는 예를 들어, 인코더들(1100 또는 1200)의 어느 것에 의해 수행될 수 있다.
프로세스(1300)는 SPS NAL 유닛 (1310)을 발생시키는 것을 포함한다. SPS NAL 유닛은 이미지들의 시퀀스의 제1 레이어 인코딩을 디코딩하는데 있어 이용하기 위한 파라미터를 기술하는 정보를 포함한다. SPS NAL 유닛은 코딩 표준에 의해 정의될 수도 있고 정의되지 않을 수도 있다. SPS NAL 유닛이 코딩 표준에 의해 정의되는 경우, 코딩 표준은 수신된 SPS NAL 유닛들에 따라 동작할 것을 디코더에 요구할 수 있다. 이러한 요건은 일반적으로 SPS NAL 유닛이 "규준적"임을 표명(state)함을 의미한다. SPS는 예를 들어, AVC 표준에서 규준적인 반면, 예를 들어, "SEI"(supplemental enhancement information) 메시지들은 비규준적이다. 따라서, AVC-호환가능 디코더들은 수신된 SEI 메시지들을 무시할 수 있지만, 수신된 SPS에 따라 동작해야 한다.
SPS NAL 유닛은 제1 레이어를 디코딩하기 위하여 하나 이상의 파라미터들을 기술하는 정보를 포함한다. 파라미터는 예를 들어, 레이어 종속성이 있거나 또는 레이어 종속성이 없는 정보일 수 있다. 일반적으로 레이어 종속성이 있는 파라미터들의 일례는 VUI 파라미터 또는 HRD 파라미터를 포함한다.
예를 들어, SPS 발생 유닛(1110), 프로세서(1220) 또는 SPS 및 PPS 인서터(2140)에 의해 동작(1310)을 수행할 수 있다. 동작(1310)은 또한 도 8에서의 블록들(5, 5', 5")의 임의의 것에서의 SPS의 발생에 대응할 수 있다.
따라서, 동작(1310)을 수행하기 위한 수단, 즉 SPS NAL 유닛을 발생시키기 위한 수단은 여러 구성요소들을 포함할 수 있다. 예를 들어, 이러한 수단은 SPS를 발생시키기 위한 모듈(5, 5' 또는 5"), 도 1, 도 8, 도 11, 또는 도 12의 전체 인코더 시스템, SPS 발생 유닛(1110), 프로세서(1220) 또는 SPS 및 PPS 인서터(2140) 또는 알려져 있고 앞으로 개발될 인코더들을 포함한 이들의 등가물을 포함할 수 있다.
프로세스(1300)는 SPS NAL 유닛 (1320)과 다른 구조를 갖는 보조 ("SUP") SPS NAL 유닛을 발생시키는 것을 포함한다. SUP SPS NAL 유닛은 이미지들의 시퀀스의 제2 레이어 인코딩을 디코딩하는데 있어 이용하기 위한 파라미터를 기술하는 정보를 포함한다. SUP SPS NAL 유닛은 코딩 표준에 의해 정의될 수도 있고 정의되지 않을 수도 있다. SUP SPS NAL 유닛이 코딩 표준에 의해 정의되는 경우, 코딩 표준은 수신된 SUP SPS NAL 유닛들에 따라 동작할 것을 디코더에 요구할 수 있다. 동작(1310)에 대하여 위에서 설명된 바와 같이, 이러한 요건은 일반적으로 SUP SPS NAL 유닛이 "규준적"임을 표명함을 의미한다.
여러 구현예들은 규준적 SUP SPS 메시지들을 포함한다. 예를 들어, SUP SPS 메시지들은 하나보다 많은 레이어를 디코딩하는 디코더들(예를 들어, SVC-호환가능 디코더들)에 대하여 규준적일 수 있다. SUP SPS 메시지들로 전달되는 정보에 따라 동작할 것을 이러한 멀티레이어 디코더(예를 들어, SVC-호환가능 디코더들)에 요구한다. 그러나, 단일 레이어 디코더들(예를 들어, AVC-호환가능 디코더들)은 SUP SPS 메시지들을 무시할 수 있다. 다른 예로서, SUP SPS 메시지들은 단일 레이어 및 멀티 레이어 디코더들을 포함한 모든 디코더들에 대하여 규준적일 수 있다. SUP SPS 메시지들이 SPS 메시지들에 대부분 기초하고 있고 SPS 메시지가 AVC 표준 및 SVC 및 MVC 확장들에서 규준적이라고 가정하면, 많은 구현예들이 규준 SUP SPS 메시지들을 포함한다는 것은 놀라운 것이 아니다. 즉, SUP SPS 메시지들은 SPS 메시지들과 유사한 데이터를 전달하고, SPS 메시지와 유사한 목적을 서브하며, SPS 메시지의 유형인 것으로서 고려될 수 있다. 규준 SUP SPS 메시지들을 갖는 구현예들이 호환가능성 이점들을 제공하여, 예를 들어, AVC 및 SVC 디코더가 공통 데이터 스트림을 수신할 수 있음이 명확해진다.
SUP SPS NAL 유닛(또한 SUP SPS 메시지로서 불림)은 제2 레이어를 디코딩하기 위하여 하나 이상의 파라미터를 포함한다. 파라미터는 예를 들어, 레이어 종속성이 있거나 또는 레이어 종속성이 없는 정보일 수 있다. 특정 구현예는 VUI 파라미터 또는 HRD 파라미터를 포함한다. SUP SPS는 또한 제1 레이어를 디코딩하는데 이용할 수 있는 것에 더하여 제2 레이어를 디코딩하는데 이용할 수 있다.
예를 들어, SPS 발생 유닛(1110), 프로세서(1220), 또는 SPS 및 PPS 인서터(2140)와 유사한 모듈에 의해 동작(1320)을 수행할 수 있다. 동작(1320)은 또한 도 8에서의 블록 6, 6', 6" 중 임의의 것에서 SUP_SPS의 발생에 대응할 수 있다.
따라서, 동작(1320)을 수행하기 위한, 즉, SUP SPS NAL 유닛을 발생시키기 위한 수단은 여러 구성요소들을 포함할 수 있다. 예를 들어, 이러한 수단은 SUP_SPS(6, 6' 또는 6"), 도 1, 도 8, 도 11, 또는 도 12의 전체 인코더 시스템, SPS 발생 유닛(1110), 프로세서(1220) 또는 SPS 및 PPS 인서터(2140) 또는 알려져 있고 앞으로 개발될 인코더들을 포함한 이들의 등가물을 포함할 수 있다.
프로세스(1300)는 예를 들어, 이미지들의 시퀀스에 대한 베이스 레이어와 같은 제1 레이어 인코딩을 인코딩하는 것과, 이미지들의 시퀀스에 대한 제2 레이어를 인코딩하는 것(1330)을 포함한다. 이미지들의 시퀀스의 이들 인코딩은 제1 레이어 인코딩과 제2 레이어 인코딩을 발생시킨다. 제1 레이어 인코딩은 제1 레이어 인코딩 유닛으로서 의미되는 일련의 유닛들로 포맷될 수 있고, 제2 레이어 인코딩은 제2 레이어 인코딩 유닛으로서 의미되는 일련의 유닛으로 포맷될 수 있다. 예를 들어, 비디오 인코더(1120), 프로세서(1220), 도 8의 인코더(2, 2' 또는 2"), 또는 도 1의 구현예에 의해 동작(1330)을 수행할 수 있다.
따라서, 동작(1330)을 수행하기 위한 수단은 여러 구성요소들을 포함할 수 있다. 예를 들어, 이러한 수단은 인코더(2, 2' 또는 2"), 도 1, 도 8, 도 11, 또는 도 12의 전체 인코더 시스템, 비디오 인코더(1120), 프로세서(1220), 또는 하나 이상의 코어 인코더(187)(가능하다면, 데시메이션 모듈(104)을 포함함) 또는 알려져 있고 앞으로 개발될 인코더들을 포함한 이들의 등가물을 포함할 수 있다.
프로세스(1300)는 데이터 세트를 제공하는 것(1340)을 포함한다. 데이터 세트는 이미지들의 시퀀스의 제1 레이어 인코딩, 이미지들의 시퀀스의 제2 레이어 인코딩, SPS NAL 유닛, 및 SUP SPS NAL 유닛을 포함한다. 데이터 세트는 예를 들어, 알려진 표준에 따라 인코딩되어 메모리 내에 저장되거나 또는 하나 이상의 디코더들에 전송된 비트스트림일 수 있다. 포맷화기(1130), 프로세서(1220), 또는 도 1의 멀티플렉서(170)에 의해 동작(1340)을 수행할 수 있다. 비트스트림의 임의의 것의 발생(8, 8', 및 8") 뿐만 아니라 멀티플렉싱된 SVC 비트스트림의 발생에 의해 동작(1340)을 도 8에서 또한 수행할 수 있다.
따라서, 동작(1340)을 수행하기 위한 수단 즉, 데이터 세트를 제공하는 수단은 여러 구성요소들을 포함할 수 있다. 예를 들어, 이러한 수단은 비트스트림을 발생시키기 위한 모듈(8, 8' 또는 8"), 도 1, 도 8, 도 11, 또는 도 12의 전체 인코더 시스템, 포맷화기(1130), 프로세서(1220), 또는 멀티플렉서(170), 또는 알려져 있고 앞으로 개발될 인코더들을 포함한 이들의 등가물을 포함할 수 있다.
프로세서(1300)는 여러 방식으로 변경될 수 있다. 예를 들어, 데이터를 프리인코딩한 구현예들에서는, 예를 들어, 프로세서(1300)에서부터 동작(1330)을 제거할 수 있다. 추가로,동작(1330)을 제거하는 것에 더하여, 동작(1340)을 제거하여, 복수의 레이어들에 대한 기술 유닛들을 발생시키는 것을 향해 지시된 프로세스를 제공할 수 있다.
도 14를 참조하여 보면, 예를 들어, 프로세스(1300)에 의해 발생할 수 있는 데이터 스트림(1400)이 도시되어 있다. 데이터 스트림(1400)은 SPS NAL 유닛에 대한 일부분(1410), SUP SPS NAL 유닛에 대한 일부분(1420), 제1 레이어 인코딩 데이터에 대한 일부분(1430) 및 제2 레이어 인코딩 데이터에 대한 일부분(1440)을 포함한다. 제1 레이어 인코딩 데이터(1430)는 제1 레이어 인코딩 유닛들로서 포맷될 수 있는 제1 레이어 인코딩이다. 제2 레이어 인코딩 데이터(1440)는 제2 레이어 인코딩 유닛들로 포맷될 수 있는 제2 레이어 인코딩이다. 데이터 스트림(1400)은 일부분(1440) 뒤에 첨부될 수 있거나 또는 일부분들(1410-1440) 사이에 분산(intersperse)되어 있을 수 있는 추가의 부분들을 포함할 수 있다. 추가로, 다른 구현예들은 일부분들(1410-1440) 중 하나 이상을 변경할 수 있다.
데이터 스트림(1400)을 도 9 및 도 10에 대해 비교할 수 있다. SPS NAL 유닛(1410)은 예를 들어, SPS1(10), SPS2(10') 또는 SPSm(10") 중 임의의 것일 수 있다. SUP SPS NAL 유닛(1420)은 예를 들어, SUP_SPS 헤더들(11, 11', 11", 13, 13', 13", 15, 15', 또는 15") 중 임의의 것일 수 있다. 제1 레이어 인코딩 데이터(1430) 및 제2 레이어 인코딩 데이터(1440)는 레이어 비트스트림(1, 1, 1) 12 내지 레이어 비트스트림(m, n, O) 16"으로서 도시되고 비트스트림들(12, 12', 12", 14, 14', 14", 16, 16' 및16")을 포함한 개개의 레이어들에 대한 비트스트림들 중 임의의 것일 수 있다. 제1 레이어 인코딩 데이터(1430)가 제2 레이어 인코딩 데이터(1440)보다 더 상위의 레벨 세트를 갖는 비트스트림인 것이 가능하다. 예를 들어, 제1 레이어 인코딩 데이터(1430)는 레이어(2, 2, 1)의 비트스트림 14'일 수 있고, 제2 레이어 인코딩 데이터(1440)는 레이어(1, 1, 1)의 비트스트림 12일 수 있다.
데이터 스트림(1400)의 일 구현예는 또한 데이터 스트림(1000)에 대응할 수 있다. SPS NAL 유닛(1410)은 데이터 스트림(1000)의 SPS 모듈(10)에 대응할 수 있다. SUP SPS NAL 유닛(1420)은 데이터 스트림(1000)의 SUP_SPS 모듈(11)에 대응할 수 있다. 제1 레이어 인코딩 데이터(1430)는 데이터 스트림(1000)의 레이어(1, 1, 1)의 비트스트림 12에 대응할 수 있다. 제2 레이어 인코딩 데이터(1440)는 데이터 스트림(1000)의 레이어(1, 2, 1)의 비트스트림 12"에 대응할 수 있다. 데이터 스트림(1000)의 SUP_SPS 모듈(11')은 제1 레이어 인코딩 데이터(1430)와 제2 레이어 인코딩 데이터(1440) 사이에 분산되어 있을 수 있다. 데이터 스트림(1000) 내에 도시된 나머지 블록들(1O'-16")을, 데이터 스트림(1000)에 도시된 순서와 동일한 순서로 데이터 스트림(1400)에 첨부할 수 있다.
도 9 및 도 10은 SPS 모듈들이 임의의 레이어 특유의 파라미터들을 포함하지 않음을 시사할 수 있다. 여러 구현예들이 이러한 방식으로 동작하며, 일반적으로 각각의 레이어에 대하여 SUP_SPS를 필요로 한다. 그러나 다른 구현예들은 SPS로 하여금 하나 이상의 레이어들에 대한 레이어 특유의 파라미터들을 포함하게 하여, 하나 이상의 레이어들을 SUP_SPS를 필요로 함이 없이 전송될 수 있게 한다.
도 9 및 도 10은 각각의 공간 레벨이 레벨 자신의 SPS를 가짐을 시사한다. 다른 구현예들은 이러한 특징을 변경한다. 예를 들어, 다른 구현예들은 각각의 시간 레벨에 대하여 또는 각각의 품질 레이어에 대하여 별도의 SPS를 제공한다. 또 다른 구현예들은 각각의 레이어에 대하여 별도의 SPS를 제공하고, 다른 구현예들은 모든 레이어들을 서브하는 단일의 SPS를 제공한다.
도 15를 참조하여 보면, 디코더(1500)는 예를 들어, 인코더(1100), 인코더(1200), 프로세스(1300) 또는 데이터 스트림(1400)에 의해 제공된 인코딩된 비트스트림과 같은 인코딩된 비트스트림들을 수신하는 구문 분석(parsing) 유닛(1510)을 포함한다. 구문 분석 유닛(1510)은 디코더(1520)에 연결되어 있다.
구문 분석 유닛(1510)은 SPS NAL 유닛으로부터의 정보를 액세스하도록 구성된다. SPS NAL 유닛으로부터의 정보는 이미지들의 시퀀스의 제1 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술한다. 구문 분석 유닛(1510)은 SPS NAL 유닛과 다른 구조를 갖는 SUP SPS NAL 유닛으로부터의 정보를 액세스하도록 추가로 구성된다. SUP SPS NAL 유닛으로부터의 정보는 이미지들의 시퀀스의 제2 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술한다. 도 13과 결합하여 위에서 설명된 바와 같이, 파라미터들은 레이어 종속성이 있을 수 있거나 또는 레이어 종속성이 없을 수 있다.
구문 분석 유닛(1510)은 구분 분석된 헤더 데이터를 출력으로서 제공한다. 헤더 데이터는 SPS NAL 유닛으로부터 액세스된 정보를 포함하며 또한 SUP SPS NAL 유닛으로부터 액세스된 정보를 포함한다. 구문 분석 유닛(1510)은 또한 구문 분석된 인코딩된 비디오 데이터를 출력으로서 제공한다. 인코딩된 비디오 데이터는 제1 레이어 인코딩 및 제2 레이어 인코딩을 포함한다. 헤더 데이터와 인코딩된 비디오 데이터 양쪽 모두를 디코더(1520)에 제공한다.
디코더(1520)는 SPS NAL 유닛으로부터 액세스된 정보를 이용하여 제1 레이어 인코딩을 디코딩한다. 디코더(1520)는 또한 SUP SPS NAL 유닛으로부터 액세스된 정보를 이용하여 제2 레이어 인코딩을 디코딩한다. 디코더(1520)는 추가로 디코딩된 제1 레이어 및/또는 디코딩된 제2 레이어에 기초하여 이미지들의 시퀀스의 재구성을 발생시킨다. 디코더(1520)는 재구성된 비디오를 출력으로서 제공한다. 재구성된 비디오는 예를 들어, 제1 레이어 인코딩의 재구성부분 또는 제2 레이어 인코딩의 재구성부분일 수 있다.
도 15, 도 2, 및 도 2a를 비교하여 보면, 일부 구현예들에서는 구문 분석 유닛(1510)은 예를 들어, 디멀티플렉서(202) 및/또는 엔트로피 디코더들(204, 212, 222, 또는 2245) 중 하나 이상에 대응할 수 있다. 디코더(1520)는 예를 들어, 도 2의 나머지 블록들에 대응할 수 있다.
디코더(1500)는 또한 추가적인 출력들을 제공할 수 있고 구성요소들 사이에 추가적인 통신을 제공할 수 있다. 디코더(1500)는 또한 예를 들어, 기존의 구성요소들 사이에 위치될 수 있는 추가의 구성요소들을 제공하도록 변경될 수 있다.
디코더(1500)의 구성요소들(1510 및 1520)은 많은 형태들을 취할 수 있다. 구성요소들(1510 및 1520) 중 하나 이상은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합을 포함할 수 있고, 예를 들어, 소프트웨어를 통하여 디코더로서 기능하도록 구성된 전용 디코더 또는 범용 프로세서와 같은 여러 플랫폼으로부터 동작될 수 있다.
도 16을 참조하여 보면, 디코더(1500)과 동일한 방식으로 동작하는 디코더(1600)가 도시되어 있다. 디코더(1600)는 프로세서(1620)와 통신하는 메모리(1610)를 포함한다. 메모리(1610)를 이용하여, 예를 들어, 입력되어진 인코딩된 비트스트림을 저장하거나, 인코딩 또는 디코딩 파라미터들을 저장하거나 디코딩 프로세스에서 중간 결과 또는 최종 결과를 저장하거나 또는 디코딩 방법을 수행하기 위한 명령을 저장할 수 있다. 이러한 저장은 일시적일 수 있거나 영구적일 수 있다.
프로세서(1620)는 인코딩된 비트스트림을 수신하여 인코딩된 비트스트림을 재구성된 비디오로 디코딩한다. 인코딩된 비트스트림은 예를 들어, (1) 이미지들의 시퀀스의 제1 레이어 인코딩, (2) 이미지들의 시퀀스의 제2 레이어 인코딩, (3) 제1 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술하는 정보를 갖는 SPS NAL 유닛, 및 (4) SPS NAL 유닛과 다른 구조를 갖고 제2 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술하는 정보를 갖는 SUP SPS NAL 유닛을 포함한다.
프로세서(1620)는 적어도 제1 레이어 인코딩, 제2 레이어 인코딩, SPS NAL 유닛으로부터의 정보, 및 SUP SPS NAL 유닛으로부터의 정보에 기초하여 재구성된 비디오를 발생시킨다. 재구성된 비디오는 예를 들어, 제1 레이어 인코딩의 재구성부분 또는 제2 레이어 인코딩의 재구성부분일 수 있다. 프로세서(1620)는 상부에 저장되거나 또는 예를 들어 프로세서(1620) 또는 메모리(1610) 상에 또는 그 일부에 달리 상주하는 명령에 따라 동작할 수 있다.
도 17을 참조하여 보면, 인코딩된 비트스트림을 디코딩하기 위한 프로세스(1700)가 도시되어 있다. 프로세스(1700)는 예를 들어, 디코더들(1500 또는 1600)의 어느 하나에 의해 수행될 수 있다.
프로세스(1700)는 SPS NAL 유닛으로부터의 정보를 액세스하는 것(1710)을 포함한다. 액세스된 정보는 이미지들의 시퀀스의 제1 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술한다.
SPS NAL 유닛은 도 13에 대하여 이 앞에 설명된 바와 같을 수 있다. 추가로, 액세스된 정보는 예를 들어, HRD 파라미터일 수 있다. 예를 들어, 구문 분석 유닛(1510), 프로세서(1620), 엔트로피 디코더(204, 212, 222 또는 2245) 또는 디코더 제어부(2205)에 의해 동작(1710)을 수행할 수 있다. 인코더의 하나 이상의 구성요소들에 의해 인코더에서의 재구성 프로세스로 동작(1710)을 또한 수행할 수 있다.
따라서, 동작(1710)을 수행하기 위한 수단, 즉 SPS NAL 유닛으로부터의 정보를 액세스하기 위한 수단은 여러 구성요소들을 포함할 수 있다. 예를 들어, 이러한 수단은 구문 분석 유닛(1510), 프로세서(1620), 단일 레이어 디코더, 도 2, 도 15, 또는 도 16의 전체 디코더 시스템, 또는 디코더의 하나 이상의 구성요소들, 또는 인코더들(800, 1100 또는 1200)의 하나 이상의 구성요소들, 또는 알려져 있고 앞으로 개발될 인코더들을 포함한 이들의 등가물을 포함할 수 있다.
프로세스(1700)는 SPS NAL 유닛 (1720)과 다른 구조를 갖는 SUP SPS NAL 유닛으로부터의 정보를 액세스하는 것을 포함한다. SUP SPS NAL 유닛으로부터 액세스된 정보는 이미지들의 시퀀스의 제2 레이어 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술한다.
SUP SPS NAL 유닛은 도 13에 대하여 이 앞에 설명된 바와 같을 수 있다. 추가로, 액세스된 정보는 예를 들어, HRD 파라미터일 수 있다. 예를 들어, 구문 분석 유닛(1510), 프로세서(1620), 엔트로피 디코더(204, 212, 222 또는 2245) 또는 디코더 제어부(2205)에 의해 동작(1720)을 수행할 수 있다. 인코더의 하나 이상의 구성요소들에 의해 인코더에서의 재구성 프로세스로 동작(1720)을 또한 수행할 수 있다.
따라서, 동작(1720)을 수행하기 위한 수단, 즉 SUP SPS NAL 유닛으로부터의 정보를 액세스하기 위한 수단은 여러 구성요소들을 포함할 수 있다. 예를 들어, 이러한 수단은 구문 분석 유닛(1510), 프로세서(1620), 디멀티플렉서(202), 엔트로피 디코더(204, 212 또는 222), 단일의 레이어 디코더, 또는 전체 디코더 시스템(200, 1500 또는 1600), 또는 디코더의 하나 이상의 구성요소들, 또는 인코더들(800, 1100 또는 1200)의 하나 이상의 구성요소들, 또는 알려져 있고 앞으로 개발될 인코더들을 포함한 이들의 등가물을 포함할 수 있다.
프로세스(1700)는 이미지들의 시퀀스에 대한 제1 레이어 인코딩 및 제2 레이어 인코딩을 액세스하는 것(1730)을 포함한다. 제1 레이어 인코딩은 제1 레이어 인코딩 유닛들로 포맷되었을 수 있고 제2 레이어 인코딩은 제2 레이어 인코딩 유닛들로 포맷되었을 수 있다. 예를 들어, 구문 분석 유닛(1510), 디코더(1520), 프로세서(1620), 엔트로피 디코더(204, 212, 222 또는 2245) 또는 엔트로피 디코더의 하류에 있는 여러 다른 블록들에 의해 동작(1730)을 수행할 수 있다. 인코더의 하나 이상의 성분들에 의해 인코더에서의 재구성 프로세스로 동작(1730)을 또한 수행할 수 있다.
따라서, 동작(1730)을 수행하기 위한 수단은 여러 구성요소들을 포함할 수 있다. 예를 들어, 이러한 수단은 구문 분석 유닛(1510), 디코더(1520), 프로세서(1620), 디멀티플렉서(202), 엔트로피 디코더(204, 212 또는 222) 또는 단일의 레이어 디코더, 비트스트림 수신기, 수신 디바이스 또는 전체 디코더 시스템(200, 1500 또는 1600), 또는 디코더의 하나 이상의 구성요소들, 또는 인코더들(800, 1100 또는 1200)의 하나 이상의 구성요소들 또는 알려져 있고 앞으로 개발될 디코더들 또는 인코더들을 포함한 이들의 등가물을 포함할 수 있다.
프로세스(1700)는 이미지들의 시퀀스의 디코딩을 발생시키는 것(1740)을 포함한다. 이미지들의 시퀀스의 디코딩은 제1 레이어 인코딩, 제2 레이어 인코딩, SPS NAL 유닛으로부터 액세스된 정보, 및 SUP SPS NAL 유닛으로부터 액세스된 정보에 기초할 수 있다. 예를 들어, 디코더(1520), 프로세서(1620) 또는 디멀티플렉서(202) 및 입력 버퍼(2210)의 하류에 있는 여러 블록들에 의해 동작(1740)을 수행할 수 있다. 인코더의 하나 이상의 성분들에 의해 인코더에서의 재구성 프로세스로 동작(1740)을 또한 수행할 수 있다.
따라서, 동작(1740)을 수행하기 위한 수단은 여러 구성요소들을 포함할 수 있다. 예를 들어, 이러한 수단은 디코더(1520), 프로세서(1620), 단일의 레이어 디코더, 전체 디코더 시스템(200, 1500 또는 1600), 또는 디코더의 하나 이상의 구성요소들, 재구성 수행 인코더, 또는 인코더들(800, 1100 또는 1200)의 하나 이상의 구성요소들 또는 알려져 있고 앞으로 개발될 디코더들 또는 인코더들을 포함한 이들의 등가물을 포함할 수 있다.
다른 구현예는 제1 규준 파라미터 세트 내의 제1 레이어 종속 정보를 액세스하는 것을 포함하는 인코딩 방법을 수행한다. 액세스된 제1 레이어 종속 정보는 이미지들의 시퀀스의 제1 레이어 인코딩을 디코딩하는데 이용하기 위한 것이다. 제1 규준 파라미터 세트는 예를 들어, HRD-관련 파라미터들 또는 다른 레이어 종속 정보를 포함한 SPS일 수 있다. 그러나, 제1 규준 파라미터 세트는 SPS일 필요가 없고 H.264 표준에 관련될 필요가 없다.
제1 파라미터 세트를 수신하는 경우 제1 파라미터 세트에 따라 동작할 것을 디코더에 요구하는 규준인 제1 파라미터 세트에 더하여, 일 구현예에서, 제1 파라미터 세트를 수신할 것을 또한 요구할 수 있다. 즉, 일 구현예는 추가로, 제1 파라미터 세트를 디코더에 제공할 것을 요구할 수 있다.
이 구현예의 인코딩 방법은 제2 규준 파라미터 세트 내의 제2 레이어 종속 정보를 액세스하는 것을 더 포함한다. 제2 규준 파라미터 세트는 제1 규준 파라미터 세트와 다른 구조를 갖는다. 또한, 액세스된 제2 레이어 종속 정보는 이미지들의 시퀀스의 제2 레이어 인코딩을 디코딩하는데 이용하기 위한 것이다. 제2 규준 파라미터 세트는 예를 들어, 보조 SPS일 수 있다. 보조 SPS는 예를 들어, SPS와 다른 구조를 갖는다. 보조 SPS는 또한 (제1 레이어와 다른) 제2 레이어에 대한 HRD 파라미터들 또는 다른 레이어 종속 정보를 포함한다.
이 구현예에 대한 인코딩 방법은 액세스된 제1 레이어 종속 정보 또는 액세스된 제2 레이어 종속 정보 중 하나 이상에 기초하여 이미지들의 시퀀스를 디코딩하는 것을 더 포함한다. 이는 예를 들어, 베이스 레이어 또는 강화 레이어를 디코딩하는 것을 포함한다.
다른 구현예들에서는, 이 구현예의 인코딩 방법을 구현하기 위한 대응 장치들을 제공한다. 이러한 장치는 예를 들어, 프로그래밍된 인코더들, 프로그래밍된 프로세서들, 하드웨어 구현들, 또는 인코딩 방법을 수행하기 위한 명령을 갖는 프로세서 판독가능 매체들을 포함한다. 시스템(1100 및 1200)은 예를 들어, 이 구현예의 인코딩 방법을 실시할 수 있다.
대응하는 신호들, 및 이러한 신호들 또는 이러한 신호들의 데이터를 저장하기 위한 매체를 또한 제공한다. 예를 들어, 이 구현예의 인코딩 방법을 수행하는 인코더에 의해 이러한 신호들을 발생시킨다.
다른 구현예는 위에서의 인코딩 방법과 유사하게 디코딩 방법을 수행한다. 디코딩 방법은 제1 레이어 종속 정보를 포함한 제1 규준 파라미터 세트를 발생시키는 것을 포함한다. 제1 레이어 종속 정보는 이미지들의 시퀀스의 제1 레이어 인코딩을 디코딩하는데 이용하기 위한 것이다. 디코딩 방법은 또한 제1 규준 파라미터 세트와 다른 제2 규준 파라미터 세트를 발생시키는 것을 포함한다. 제2 규준 파라미터 세트는 이미지들의 시퀀스의 제2 레이어 인코딩을 디코딩하는데 이용하기 위한 제2 레이어 종속 정보를 포함한다. 디코딩 방법은 제1 규준 파라미터 세트 및 제2 규준 파라미터 세트를 포함한 데이터 세트를 제공하는 것을 더 포함한다.
다른 구현예들에서는, 이 구현예의 디코딩 방법을 구현하기 위한 대응 장치들을 또한 제공한다. 이러한 장치는 예를 들어, 프로그래밍된 디코더들, 프로그래밍된 프로세서들, 하드웨어 구현들, 또는 디코딩 방법을 수행하기 위한 명령을 갖는 프로세서 판독가능 매체들을 포함한다. 시스템(1500 및 1600)은 예를 들어, 이 구현예의 디코딩 방법을 실시할 수 있다.
예를 들어, "보조 SPS"라 언급되어진 위에서 이용된 용어 "보조"는 설명적 용어임을 주지해야 한다. 이와 같이, "보조 SPS"는 유닛 이름 내의 용어 "보조"를 포함하지 않은 유닛을 배제하지 않는다. 따라서, 예를 드는 방식으로 SVC 확장의 현재의 드래프트는 "서브세트 SPS" 구문 구조를 정의하고, 설명적 용어 "보조"에 의해 "서브세트 SPS" 구문 구조를 완전히 포함한다. 이와 같이, 현재의 SVC 확장의 "서브세트 SPS"는 본 발명에 설명된 바와 같이 SUP SPS의 일 구현예이다.
구현예들은 SPS NAL 유닛들 및/또는 SUP SPS NAL 유닛들에 대한 대체예로서 또는 SPS NAL 유닛들 및/또는 SUP SPS NAL 유닛들에 더하여 다른 메시지 유형을 이용할 수 있다. 예를 들어, 하나 이상의 구현예들은 레이어 종속 정보를 갖는 다른 파라미터 세트들을 발생, 전송, 수신, 액세스 및 구문 분석한다.
추가로, SPS 및 보조 SPS를 주로 H.264 표준들의 환경에서 설명하였지만, 다른 표준들이 또한 SPS, 보조 SPS, 또는 SPS 또는 보조 SPS의 변경들을 포함할 수 있다. 따라서, (기존의 또는 향후 개발될) 다른 표준들은 SPS 또는 보조 SPS라 언급되는 구조들을 포함할 수 있으며, 이러한 구조들은 여기에 설명된 SPS 및 보조 SPS와 동일할 수 있거나 또는 여기에 설명된 SPS 및 보조 SPS의 변경들일 수 있다. 이러한 다른 표준은 예를 들어, 현재의 H.264 표준들(예를 들어, 기존의 H.264 표준에 대한 수정안)에 관한 것일 수 있거나 또는 완전히 새로운 표준들일 수 있다. 다른 방법으로, (기존의 또는 향후 개발될) 다른 표준들은 SPS 또는 보조 SPS라 언급되지 않는 구조들을 포함할 수 있으며, 이러한 구조들은 여기에 설명된 SPS 및 보조 SPS와 동일할 수 있거나 또는 유사할 수 있거나 또는 여기에 설명된 SPS 및 보조 SPS의 변경들일 수 있다.
파라미터 세트는 파라미터들을 포함한 데이터 세트임을 알아야 한다. 예를 들어, SPS, PPS, 또는 보조 SPS가 있다.
여러 구현예에서, 데이터는 "액세스된 것"으로 불린다. 데이터를 "액세스하는 것"은 예를 들어, 데이터를 수신하거나 또는 저장하거나 또는 전송하거나 또는 처리하는 것을 포함할 수 있다.
여러 구현예들을 제공하고 설명한다. 이들 구현예를 이용하여 여러 문제들을 해결할 수 있다. 복수의 IOP(interoperability point)(또한 레이어들이라 언급됨)가 일반적으로 SPS에서 전달되는 파라미터들에 대한 다른 값들을 필요로 하는 경우 이러한 문제가 발생한다. 동일한 SPS 식별자를 갖는 다른 레이어들에 대한 SPS에서 레이어 종속 구문 요소들을 전송하기 위한 적절한 방법은 없다. 각각의 이러한 레이어에 대하여 별도의 SPS 데이터를 전송하는 것은 문제로 된다. 예를 들어, 많은 기존의 시스템에서는, 베이스 레이어와 베이스 레이어의 복합 시간 레이어는 동일한 SPS 식별자를 공유한다.
수개의 구현예들은 보조 SPS 데이터에 대하여 다른 NAL 유닛을 제공한다. 따라서, 복수의 NAL 유닛들을 전송할 수 있고, 각각의 NAL 유닛은 서로 다른 SVC 레이어에 대한 보조 SPS 정보를 포함할 수 있지만, 각각의 NAL 유닛은 동일한 NAL 유닛 유형으로 식별될 수 있다. 일 구현예에서, 현재의 SVC 확장의 "서브세트 SPS" NAL 유닛 내에 보조 SPS 정보를 제공할 수 있다.
본 발명에 개시된 구현예들은 SVC 확장 또는 임의의 다른 표준으로 제한되지 않음을 명확히 해야 한다. 개시된 구현예들의 개념 및 특징들을, 향후 개발되거나 현재 존재하는 다른 표준에 이용할 수 있거나 또는 임의의 표준에 충실하지 않은 시스템에 이용할 수 있다. 일례로서, 여기에 개시된 개념들 및 특징들은 MVC 확장의 환경에서 동작하는 구현예들에 이용할 수 있다. 예를 들어, MVC 뷰들이 다른 SPS 정보를 필요로 할 수 있거나 또는 MVC 확장 내에서 지원되는 SVC 레이어들이 다른 SPS 정보를 필요로 할 수 있다. 추가로, 설명된 구현예의 특징들 및 양태들은 또한 또 다른 구현예에 대해 적응될 수 있다. 따라서, 여기에 개시된 구현예들이 SVC 레이어들에 대한 환경 SPS로 설명될 수 있지만, 이러한 설명은 특징들 및 개념들을 이러한 구현예들 또는 환경들로 제한하는 것으로서 결코 간주되어서는 안된다.
여기에 설명된 구현예들은 예를 들어, 방법 또는 프로세스, 장치 또는 소프트웨어 프로그램으로 구현될 수 있다. 심지어 단일 형태의 구현예의 환경에서만 설명된 경우에도(예를 들어, 방법으로만 설명된 경우에도), 여기에 설명된 특징의 구현예는 또한 다른 형태들(예를 들어, 장치 또는 프로그램)로 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그래밍가능 논리 디바이스를 일반적으로 포함하는 프로세싱 디바이스들이라 언급하는 프로세서와 같은 장치들 내에서 예를 들어 방법들을 실시할 수 있다. 프로세서들은 또한 예를 들어, 컴퓨터들, 셀 폰들, 포터블/개인 휴대 정보 단말기들("PDA") 및 엔드 유저들 사이에 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
여기에 설명된 여러 프로세스들 및 특징들의 구현예들은 여러 서로 다른 장비 또는 애플리케이션, 특히, 예를 들어, 데이터 인코딩 및 디코딩과 관련된 장비 또는 애플리케이션들 내에서 구현될 수 있다. 장비 예들은 비디오 코더들, 비디오 디코더들, 비디오 코덱들, 웹 서버들, 셋톱 박스들, 퍼스널 컴퓨터들, 셀 폰들, PDA들 및 다른 통신 디바이스들을 포함한다. 명확한 바와 같이, 장비는 모바일일 수 있으며, 심지어 자동차 내에 탑재될 수 있다.
추가로, 본 방법들은 프로세서에 의해 수행되고 있는 명령들에 의해 실시될 수 있으며, 이러한 명령은 예를 들어, 집적 회로, 소프트웨어 캐리어, 또는 다른 저장 디바이스와 같은 프로세서 판독가능 매체, 또는 예를 들어, 하드디스크, 콤팩트 디스켓, "ROM"(read-only memory) 또는 "RAM"(random access memory)과 같은 다른 스토리지 디바이스 상에 저장될 수 있다. 명령들은 프로세서 판독가능 매체 상에서 실체적으로 구현되는 애플리케이션 프로그램을 형성할 수 있다. 명령들은 예를 들어, 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합 내에 있을 수 있다. 명령들은 예를 들어, 오퍼레이팅 시스템, 별도의 애플리케이션 또는 이들 두개의 조합 내에서 찾을 수 있다. 따라서, 프로세서는 예를 들어, 프로세스를 수행하도록 구성된 디바이스 및 프로세스를 수행하기 위한 명령을 갖는 컴퓨터 판독가능 매체를 포함한 디바이스 양쪽 모두로서 특징화될 수 있다.
당해 기술 분야의 숙련된 자에게 명백한 바와 같이, 실시예들은 예를 들어, 저장 또는 전송될 수 있는 정보를 전달하도록 포맷된 여러 신호들을 발생시킬 수 있다. 정보는 예를 들어, 방법을 수행하기 위한 명령들 또는 설명된 구현예들 중 하나에 의해 발생된 데이터를 포함할 수 있다. 예를 들어, 신호를 포맷하여, 설명된 실시예의 문맥을 기록 또는 판독하기 위한 규칙들을 데이터로서 전달할 수 있거나 또는 설명된 실시예에 의해 기록된 실제 구문 값들을 데이터로서 전달할 수 있다. 이러한 신호를 예를 들어, 전자기파(예를 들어, 스펙트럼의 무선 주파수 부분을 이용함)로서 또는 기저대역 신호로서 포맷할 수 있다. 포맷화는 예를 들어, 데이터 스트림을 인코딩하는 것, 인코딩된 데이터 스트림으로 반송파를 변조하는 것을 포함할 수 있다. 신호가 전달하는 정보는 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 또한 도시된 바와 같이 여러 다른 유선 또는 무선 링크들을 통하여 신호를 전송할 수 있다.
복수의 구현예들이 설명되었다. 그럼에도 불구하고, 여러 변경들이 이루어질 수 있음을 이해할 것이다. 예를 들어, 다른 구현예들의 요소들을 결합, 보조, 변경, 또는 제거하여, 다른 구현예들을 발생시킬 수 있다. 추가로, 당해 기술 분야의 숙련된 자는 다른 구조 및 프로세스들이 여기에 개시된 예를 대체할 수 있으며, 결과적인 구현예들이 적어도 실질적으로 동일한 방법(들)로 적어도 실질적으로 동일한 기능(들)을 수행하여, 개시된 구현예와 적어도 실질적으로 동일한 결과(들)을 달성할 수 있음을 이해할 것이다. 따라서, 이들 구현예들과 다른 구현예들은 본 출원으로 고려되어지며, 다음에 오는 청구항들의 범위 내에 있다.

Claims (1)

  1. 다시점 비디오 코딩(multi-view video coding: MVC) 프로세싱을 위한 디코딩 파라미터들을 갖는 신호에 있어서, 상기 신호는,
    "SPS"(sequence parameter set) "NAL"(network abstraction layer) 유닛으로부터의 정보로서, 상기 정보는 이미지들의 시퀀스에 있는 제1 MVC 레이어의 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술하는 것인, 상기 SPS NAL 유닛으로부터의 정보;
    상기 SPS NAL 유닛과 상이한 신택스(syntax) 구조를 갖는 추가(supplemental) SPS NAL 유닛으로부터의 정보로서, 상기 추가 SPS NAL 유닛으로부터의 정보는 이미지들의 상기 시퀀스에 있는 제2 MVC 레이어의 인코딩을 디코딩하는데 이용하기 위한 파라미터를 기술하는 것인, 상기 추가 SPS NAL 유닛으로부터의 정보;
    상기 제1 MVC 레이어의 인코딩을 나타내는 데이터; 및
    상기 제2 MVC 레이어의 인코딩을 나타내는 데이터
    를 포함하도록 포맷되는(formatted) 것인, 신호.
KR1020127015620A 2007-04-18 2008-04-07 코딩 시스템 KR20120079177A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US92399307P 2007-04-18 2007-04-18
US60/923,993 2007-04-18
US11/824,006 2007-06-28
US11/824,006 US20090003431A1 (en) 2007-06-28 2007-06-28 Method for encoding video data in a scalable manner

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020097021908A Division KR101393169B1 (ko) 2007-04-18 2008-04-07 코딩 시스템

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020157012589A Division KR101663438B1 (ko) 2007-04-18 2008-04-07 코딩 시스템
KR1020157012588A Division KR101663917B1 (ko) 2007-04-18 2008-04-07 코딩 시스템

Publications (1)

Publication Number Publication Date
KR20120079177A true KR20120079177A (ko) 2012-07-11

Family

ID=39790128

Family Applications (8)

Application Number Title Priority Date Filing Date
KR1020157012589A KR101663438B1 (ko) 2007-04-18 2008-04-07 코딩 시스템
KR1020127015618A KR101429372B1 (ko) 2007-04-18 2008-04-07 코딩 시스템
KR1020177024865A KR101813848B1 (ko) 2007-04-18 2008-04-07 코딩 시스템
KR1020127015615A KR101547008B1 (ko) 2007-04-18 2008-04-07 코딩 시스템
KR1020157012588A KR101663917B1 (ko) 2007-04-18 2008-04-07 코딩 시스템
KR1020097021908A KR101393169B1 (ko) 2007-04-18 2008-04-07 코딩 시스템
KR1020167026975A KR101777706B1 (ko) 2007-04-18 2008-04-07 코딩 시스템
KR1020127015620A KR20120079177A (ko) 2007-04-18 2008-04-07 코딩 시스템

Family Applications Before (7)

Application Number Title Priority Date Filing Date
KR1020157012589A KR101663438B1 (ko) 2007-04-18 2008-04-07 코딩 시스템
KR1020127015618A KR101429372B1 (ko) 2007-04-18 2008-04-07 코딩 시스템
KR1020177024865A KR101813848B1 (ko) 2007-04-18 2008-04-07 코딩 시스템
KR1020127015615A KR101547008B1 (ko) 2007-04-18 2008-04-07 코딩 시스템
KR1020157012588A KR101663917B1 (ko) 2007-04-18 2008-04-07 코딩 시스템
KR1020097021908A KR101393169B1 (ko) 2007-04-18 2008-04-07 코딩 시스템
KR1020167026975A KR101777706B1 (ko) 2007-04-18 2008-04-07 코딩 시스템

Country Status (20)

Country Link
US (1) US8619871B2 (ko)
EP (11) EP4054201A1 (ko)
JP (9) JP5026584B2 (ko)
KR (8) KR101663438B1 (ko)
CN (5) CN103338367B (ko)
BR (8) BRPI0810366B1 (ko)
CY (1) CY1123148T1 (ko)
DK (1) DK3264780T3 (ko)
ES (3) ES2905052T3 (ko)
HK (3) HK1174464A1 (ko)
HR (1) HRP20201105T1 (ko)
HU (1) HUE050251T2 (ko)
LT (1) LT3264780T (ko)
MX (4) MX348825B (ko)
PL (2) PL2528341T3 (ko)
PT (1) PT2147555E (ko)
RU (1) RU2501179C2 (ko)
SI (1) SI3264780T1 (ko)
TW (9) TWI775758B (ko)
WO (1) WO2008130500A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014116047A1 (ko) * 2013-01-23 2014-07-31 삼성전자 주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8289370B2 (en) 2005-07-20 2012-10-16 Vidyo, Inc. System and method for scalable and low-delay videoconferencing using scalable video coding
US20140072058A1 (en) 2010-03-05 2014-03-13 Thomson Licensing Coding systems
BR122012021797A2 (pt) * 2007-10-05 2015-08-04 Thomson Licensing Aparelho para incorporar informação de usabilidade de vídeo (vui) em um sistema de codificação de vídeo de múltiplas visualizações (mvc)
TWI473016B (zh) * 2008-07-16 2015-02-11 Sisvel Internat S A 用以處理多視圖視訊位元串流之方法與裝置及電腦可讀媒體
RU2535176C2 (ru) 2009-01-19 2014-12-10 Панасоник Интеллекчуал Проперти Корпорэйшн оф Америка Способ кодирования, способ декодирования, устройство кодирования, устройство декодирования, программа и интегральная схема
JP4962525B2 (ja) * 2009-04-08 2012-06-27 ソニー株式会社 再生装置、再生方法、およびプログラム
CN103957448B (zh) * 2009-04-09 2017-05-17 瑞典爱立信有限公司 生成媒体容器文件的方法、媒体内容服务器、以及媒体处理方法和媒体处理服务器
BRPI1001258A2 (pt) 2009-04-28 2017-01-10 Panasonic Coporation método de decodificação de imagem, método de codifcação de imagem, aparelho de decodificação de imagem, e aparelho de codificação de imagem
EP2355510A1 (en) * 2009-12-21 2011-08-10 Alcatel Lucent Method and arrangement for video coding
CN103416003B (zh) 2011-01-14 2015-05-27 维德约股份有限公司 改进的nal单元头部
WO2012105265A1 (en) * 2011-02-03 2012-08-09 Panasonic Corporation Systems and methods for encoding and decoding video which support compatibility functionality to legacy video players
EP2684293A4 (en) 2011-03-10 2014-10-29 Vidyo Inc SET OF DEPENDENCY PARAMETERS FOR EVOLVING VIDEO CODING
WO2013002709A1 (en) * 2011-06-30 2013-01-03 Telefonaktiebolaget L M Ericsson (Publ) Indicating bit stream subsets
KR20130058584A (ko) 2011-11-25 2013-06-04 삼성전자주식회사 복호화기의 버퍼 관리를 위한 영상 부호화 방법 및 장치, 그 영상 복호화 방법 및 장치
US9451252B2 (en) * 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
WO2013165215A1 (ko) * 2012-05-04 2013-11-07 엘지전자 주식회사 영상 정보 저장 방법 및 영상 정보 파싱 방법 그리고 이를 이용하는 장치
US9313486B2 (en) 2012-06-20 2016-04-12 Vidyo, Inc. Hybrid video coding techniques
US9912941B2 (en) 2012-07-02 2018-03-06 Sony Corporation Video coding system with temporal layers and method of operation thereof
US10110890B2 (en) * 2012-07-02 2018-10-23 Sony Corporation Video coding system with low delay and method of operation thereof
EP2868092A4 (en) 2012-07-02 2016-05-04 Nokia Technologies Oy METHOD AND DEVICE FOR VIDEO CODING
US20140003534A1 (en) * 2012-07-02 2014-01-02 Sony Corporation Video coding system with temporal scalability and method of operation thereof
US20140078249A1 (en) * 2012-09-20 2014-03-20 Qualcomm Incorporated Indication of frame-packed stereoscopic 3d video data for video coding
US9554146B2 (en) * 2012-09-21 2017-01-24 Qualcomm Incorporated Indication and activation of parameter sets for video coding
US10021394B2 (en) 2012-09-24 2018-07-10 Qualcomm Incorporated Hypothetical reference decoder parameters in video coding
US9432664B2 (en) * 2012-09-28 2016-08-30 Qualcomm Incorporated Signaling layer identifiers for operation points in video coding
US9319703B2 (en) * 2012-10-08 2016-04-19 Qualcomm Incorporated Hypothetical reference decoder parameter syntax structure
CN107770546B (zh) 2012-12-10 2020-04-10 Lg 电子株式会社 解码图像的方法和使用其的装置
AU2013367540B2 (en) * 2012-12-26 2017-02-02 Sony Corporation Image processing device and method
KR102539065B1 (ko) 2013-01-04 2023-06-01 지이 비디오 컴프레션, 엘엘씨 효율적인 확장가능한 코딩 개념
US9325992B2 (en) 2013-01-07 2016-04-26 Qualcomm Incorporated Signaling of clock tick derivation information for video timing in video coding
US20140269934A1 (en) * 2013-03-15 2014-09-18 Sony Corporation Video coding system with multiple scalability and method of operation thereof
US9473771B2 (en) 2013-04-08 2016-10-18 Qualcomm Incorporated Coding video data for an output layer set
JP6449241B2 (ja) 2013-04-08 2019-01-09 ジーイー ビデオ コンプレッション エルエルシー 効率的なマルチビュー/レイヤ符号化を可能とする符号化コンセプト
US10003815B2 (en) * 2013-06-03 2018-06-19 Qualcomm Incorporated Hypothetical reference decoder model and conformance for cross-layer random access skipped pictures
US9648335B2 (en) * 2013-07-12 2017-05-09 Qualcomm Incorporated Bitstream restrictions on picture partitions across layers
US20150103887A1 (en) * 2013-10-14 2015-04-16 Qualcomm Incorporated Device and method for scalable coding of video information
EP3089452A4 (en) * 2013-12-26 2017-10-25 Samsung Electronics Co., Ltd. Inter-layer video decoding method for performing subblock-based prediction and apparatus therefor, and inter-layer video encoding method for performing subblock-based prediction and apparatus therefor
KR20160104678A (ko) * 2014-01-02 2016-09-05 브이아이디 스케일, 인크. Hevc 확장 규격을 위한 서브 비트스트림 추출 프로세스
KR20150081236A (ko) * 2014-01-03 2015-07-13 삼성전자주식회사 효율적인 파라미터 전달을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
EP3092806A4 (en) * 2014-01-07 2017-08-23 Nokia Technologies Oy Method and apparatus for video coding and decoding
US9712871B2 (en) * 2014-05-01 2017-07-18 Qualcomm Incorporated Determination bitstream decoding capability in video coding
US10063867B2 (en) * 2014-06-18 2018-08-28 Qualcomm Incorporated Signaling HRD parameters for bitstream partitions
US10091532B2 (en) * 2014-06-26 2018-10-02 Qualcomm Incorporated Bitstream conformance constraints in scalable video coding
PT3179729T (pt) * 2014-08-07 2021-09-21 Sony Group Corp Dispositivo de transmissão, método de transmissão e dispositivo de receção
CN108933768B (zh) * 2017-05-27 2021-06-08 成都鼎桥通信技术有限公司 视频帧的发送帧率的获取方法和装置
JP7179163B2 (ja) * 2018-09-13 2022-11-28 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ビットストリームマージ
EP3939271A1 (en) * 2019-03-11 2022-01-19 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Encoder and decoder, encoding method and decoding method with profile and level dependent coding options
US20210195179A1 (en) * 2019-12-23 2021-06-24 Qualcomm Incorporated Picture header signaling for video coding

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2332405C (en) * 1992-03-26 2007-01-23 Matsushita Electric Industrial Co., Ltd. Communication system
KR960036641A (ko) * 1995-03-21 1996-10-28 김광호 저속의 비디오비트열을 복호하는 고속용 복호화장치
WO1999033273A1 (en) 1997-12-23 1999-07-01 Thomson Licensing S.A. Low noise encoding and decoding method
RU2201654C2 (ru) 1997-12-23 2003-03-27 Томсон Лайсенсинг С.А. Способ низкошумового кодирования и декодирования
DE69932712T2 (de) 1998-04-23 2007-09-06 Duke University Vorhersage über die rezeptor-modulierende wirkung von verbindungen
KR100354745B1 (ko) * 1998-11-02 2002-12-18 삼성전자 주식회사 비디오코딩및디코딩방법
US6501797B1 (en) * 1999-07-06 2002-12-31 Koninklijke Phillips Electronics N.V. System and method for improved fine granular scalable video using base layer coding information
DE10392598T5 (de) 2002-04-29 2005-05-19 Sony Electronics Inc. Unterstützung von fortschrittlichen Codierungsformaten in Mediendateien
US20040006575A1 (en) * 2002-04-29 2004-01-08 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
US7724818B2 (en) * 2003-04-30 2010-05-25 Nokia Corporation Method for coding sequences of pictures
US8351514B2 (en) 2004-01-16 2013-01-08 General Instrument Corporation Method, protocol, and apparatus for transporting advanced video coding content
EP1746825B1 (en) 2004-04-16 2011-06-08 Panasonic Corporation Recording medium, reproduction device, program
US20050254575A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
KR20050113501A (ko) * 2004-05-29 2005-12-02 삼성전자주식회사 에이치 264 비디오 디코더를 위한 구문 분석기
US9560367B2 (en) * 2004-09-03 2017-01-31 Nokia Technologies Oy Parameter set and picture header in video coding
DE102004059978B4 (de) * 2004-10-15 2006-09-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz und zum Decodieren einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Restwerte-Prädiktion sowie ein Computerprogramm und ein computerlesbares Medium
US20060146734A1 (en) * 2005-01-04 2006-07-06 Nokia Corporation Method and system for low-delay video mixing
US8050328B2 (en) * 2005-01-17 2011-11-01 Panasonic Corporation Image decoding method
JP2006260611A (ja) * 2005-03-15 2006-09-28 Toshiba Corp 情報記憶媒体、情報再生装置、情報再生方法、及びネットワーク通信システム
KR100732961B1 (ko) * 2005-04-01 2007-06-27 경희대학교 산학협력단 다시점 영상의 스케일러블 부호화, 복호화 방법 및 장치
EP1869891A4 (en) * 2005-04-13 2014-06-11 CODING, STORAGE AND SIGNALING OF SCALABILITY INFORMATION
KR100931870B1 (ko) * 2005-04-13 2009-12-15 노키아 코포레이션 비디오 데이터를 효과적으로 코딩 및 디코딩하는 방법,장치 및 시스템
US20060233247A1 (en) * 2005-04-13 2006-10-19 Visharam Mohammed Z Storing SVC streams in the AVC file format
TWI297471B (en) 2005-05-20 2008-06-01 Novatek Microelectronics Corp Method for video content complexity estimation, scene change detection and video encoding
KR20060122663A (ko) * 2005-05-26 2006-11-30 엘지전자 주식회사 영상신호의 엔코딩 및 디코딩에서의 픽처 정보를 전송하고이를 이용하는 방법
EP1773063A1 (en) * 2005-06-14 2007-04-11 Thomson Licensing Method and apparatus for encoding video data, and method and apparatus for decoding video data
FR2888424A1 (fr) * 2005-07-07 2007-01-12 Thomson Licensing Sas Dispositif et procede de codage et de decodage de donnees video et train de donnees
US7974517B2 (en) * 2005-10-05 2011-07-05 Broadcom Corporation Determination of decoding information
WO2007046957A1 (en) 2005-10-12 2007-04-26 Thomson Licensing Method and apparatus for using high-level syntax in scalable video encoding and decoding
KR100772868B1 (ko) 2005-11-29 2007-11-02 삼성전자주식회사 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치
US8937997B2 (en) * 2006-03-16 2015-01-20 Apple Inc. Scalable video coding/multiplexing compatible with non-scalable decoders
US8761263B2 (en) * 2006-03-27 2014-06-24 Vidyo, Inc. System and method for management of scalability information in scalable video and audio coding systems using control messages
US8320450B2 (en) * 2006-03-29 2012-11-27 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs
US20070230564A1 (en) * 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
US8422548B2 (en) * 2006-07-10 2013-04-16 Sharp Laboratories Of America, Inc. Methods and systems for transform selection and management
US20080095228A1 (en) * 2006-10-20 2008-04-24 Nokia Corporation System and method for providing picture output indications in video coding
WO2008060125A1 (en) * 2006-11-17 2008-05-22 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal
WO2008088175A1 (en) * 2007-01-17 2008-07-24 Lg Electronics Inc. Method and apparatus for processing a video signal
EP2153658B1 (en) * 2007-04-13 2013-08-14 Nokia Corporation A video coder
US20100142613A1 (en) * 2007-04-18 2010-06-10 Lihua Zhu Method for encoding video data in a scalable manner
US20090003431A1 (en) * 2007-06-28 2009-01-01 Lihua Zhu Method for encoding video data in a scalable manner
US20080317124A1 (en) * 2007-06-25 2008-12-25 Sukhee Cho Multi-view video coding system, decoding system, bitstream extraction system for decoding base view and supporting view random access

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014116047A1 (ko) * 2013-01-23 2014-07-31 삼성전자 주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US10368089B2 (en) 2013-01-23 2019-07-30 Samsung Electronics Co., Ltd. Video encoding method and apparatus, and video decoding method and apparatus

Also Published As

Publication number Publication date
TWI775758B (zh) 2022-09-01
RU2009142429A (ru) 2011-05-27
EP3264780B1 (en) 2020-06-24
EP2528345A1 (en) 2012-11-28
EP2528341A1 (en) 2012-11-28
EP3700221B1 (en) 2021-12-15
CN102685556A (zh) 2012-09-19
JP5597269B2 (ja) 2014-10-01
JP2013062865A (ja) 2013-04-04
EP2528343A1 (en) 2012-11-28
TW201618542A (zh) 2016-05-16
CN103338367B (zh) 2017-08-29
JP2012199999A (ja) 2012-10-18
TW201306589A (zh) 2013-02-01
TWI488492B (zh) 2015-06-11
CN102724556A (zh) 2012-10-10
CN102724556B (zh) 2015-07-22
TWI445407B (zh) 2014-07-11
JP2014225919A (ja) 2014-12-04
BR122012013078B1 (pt) 2020-09-15
JP2013146087A (ja) 2013-07-25
BR122012013059B1 (pt) 2020-09-15
JP6180495B2 (ja) 2017-08-16
ES2633148T3 (es) 2017-09-19
KR20150068481A (ko) 2015-06-19
CN102685557B (zh) 2015-09-16
US8619871B2 (en) 2013-12-31
KR101663438B1 (ko) 2016-10-06
BRPI0810366B1 (pt) 2020-09-15
TWI599228B (zh) 2017-09-11
KR101663917B1 (ko) 2016-10-07
CN102685556B (zh) 2015-07-15
KR20170117104A (ko) 2017-10-20
TW201308991A (zh) 2013-02-16
KR20100015737A (ko) 2010-02-12
JP2016096563A (ja) 2016-05-26
AU2008241568A1 (en) 2008-10-30
BR122012013078A2 (pt) 2015-07-14
US20100195738A1 (en) 2010-08-05
EP2528341B1 (en) 2017-06-07
JP2013081234A (ja) 2013-05-02
JP5026584B2 (ja) 2012-09-12
MX2021009153A (es) 2022-06-08
TWI445393B (zh) 2014-07-11
TWI502976B (zh) 2015-10-01
KR20120071410A (ko) 2012-07-02
SI3264780T1 (sl) 2020-08-31
MX2009011217A (es) 2009-12-07
EP2528342A1 (en) 2012-11-28
HK1174463A1 (en) 2013-06-07
EP2528344A1 (en) 2012-11-28
EP2147555B1 (en) 2012-07-25
MX348825B (es) 2017-06-30
EP2528340A1 (en) 2012-11-28
TWI543628B (zh) 2016-07-21
TW200913716A (en) 2009-03-16
TW201306590A (zh) 2013-02-01
JP5317247B2 (ja) 2013-10-16
JP2013013113A (ja) 2013-01-17
EP4054201A1 (en) 2022-09-07
TW201308990A (zh) 2013-02-16
TW201308989A (zh) 2013-02-16
RU2501179C2 (ru) 2013-12-10
KR101429372B1 (ko) 2014-08-13
BRPI0810366A2 (pt) 2015-05-26
ES2905052T3 (es) 2022-04-06
EP2528340B1 (en) 2017-06-07
KR20160116059A (ko) 2016-10-06
KR20150061009A (ko) 2015-06-03
TW201804789A (zh) 2018-02-01
HK1174462A1 (en) 2013-06-07
CN102685557A (zh) 2012-09-19
WO2008130500A3 (en) 2008-12-11
KR101813848B1 (ko) 2017-12-29
MX337525B (es) 2016-03-09
BR122012013066A2 (pt) 2015-08-04
BR122012013614A2 (pt) 2015-07-14
CN103338367A (zh) 2013-10-02
PL2147555T3 (pl) 2012-10-31
PL2528341T3 (pl) 2017-10-31
HK1174464A1 (en) 2013-06-07
EP3264780A1 (en) 2018-01-03
ES2388799T3 (es) 2012-10-18
HUE050251T2 (hu) 2020-11-30
KR101393169B1 (ko) 2014-05-09
WO2008130500A2 (en) 2008-10-30
EP2533545B1 (en) 2017-05-03
CN103281563A (zh) 2013-09-04
JP5213085B2 (ja) 2013-06-19
KR101777706B1 (ko) 2017-09-25
KR101547008B1 (ko) 2015-08-28
JP5213084B2 (ja) 2013-06-19
JP5150781B2 (ja) 2013-02-27
BR122012013077A2 (pt) 2015-07-14
EP2147555A2 (en) 2010-01-27
EP3700221A1 (en) 2020-08-26
JP2013062866A (ja) 2013-04-04
CY1123148T1 (el) 2021-10-29
TWI415450B (zh) 2013-11-11
TW201308992A (zh) 2013-02-16
LT3264780T (lt) 2020-08-10
BR122012013058A2 (pt) 2015-07-14
PT2147555E (pt) 2013-04-22
JP5069811B2 (ja) 2012-11-07
BR122012013072A2 (pt) 2015-07-14
DK3264780T3 (da) 2020-07-27
JP2010525661A (ja) 2010-07-22
BR122012013059A2 (pt) 2015-07-14
TWI530196B (zh) 2016-04-11
CN103281563B (zh) 2016-09-07
KR20120071411A (ko) 2012-07-02
HRP20201105T1 (hr) 2021-01-22
EP2533545A1 (en) 2012-12-12

Similar Documents

Publication Publication Date Title
KR101777706B1 (ko) 코딩 시스템
US11412265B2 (en) Decoding multi-layer images
AU2008241568B2 (en) Coding systems
AU2012238298B2 (en) Coding systems
AU2015203559A1 (en) Coding systems

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
A107 Divisional application of patent
J201 Request for trial against refusal decision