KR20080006609A - 스케일링가능성 정보의 코딩, 저장, 및 시그널링 - Google Patents

스케일링가능성 정보의 코딩, 저장, 및 시그널링 Download PDF

Info

Publication number
KR20080006609A
KR20080006609A KR1020077026308A KR20077026308A KR20080006609A KR 20080006609 A KR20080006609 A KR 20080006609A KR 1020077026308 A KR1020077026308 A KR 1020077026308A KR 20077026308 A KR20077026308 A KR 20077026308A KR 20080006609 A KR20080006609 A KR 20080006609A
Authority
KR
South Korea
Prior art keywords
layer
data stream
scalable
information
decoding
Prior art date
Application number
KR1020077026308A
Other languages
English (en)
Inventor
예-구이 왕
미스카 한눅셀라
Original Assignee
노키아 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20080006609A publication Critical patent/KR20080006609A/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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/29Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving scalability at the object level, e.g. video object layer [VOL]
    • 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/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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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, 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/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
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets

Abstract

상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩, 디코딩, 저장, 및 송신하기 위한 방법이 개시된다. 이 방법은 스케일링가능한 데이터 스트림의 적어도 하나의 계층을 생성하는 단계로서, 코딩 속성은: 정밀 입자성 스케일링가능성 정보; 관심 영역(ROI) 스케일링가능성 정보; 서브-샘플 스케일링가능 계층 정보; 디코딩 의존성 정보; 및 초기 파라미터 집합들 중 적어도 하나를 포함하는 단계, 및 특징된 코딩 속성을 가지는 계층을, 해당 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 시그널링하는 단계를 포함한다. 또한, 스케일링가능한 데이터 스트림을 인코딩, 디코딩, 저장, 및 송신하기 위한 방법으로서, 적어도 두 개의 스케일링가능한 계층이 존재하고, 각 계층은 정밀 입자성 스케일링가능성 정보; 관심 영역(ROI) 스케일링가능성 정보; 서브-샘플 스케일링가능 계층 정보; 디코딩 의존성 정보; 및 초기 파라미터 집합들과 같은 적어도 하나의 속성의 집합에 의하여 특징되며, 적어도 하나의 속성의 집합이 전체 스트림과는 상이한 적어도 하나의 계층에 대하여 시그널링되고, 적어도 하나의 속성의 집합의 시그널링이 스케일링가능한 비트 스트림 내에, 스케일링가능한 비트 스트림을 포함하는 파일 포맷 저장소 내에, 또는 스케일링가능한 비트 스트림의 적어도 하나의 계층을 송신 또는 제어하기 위한 송신 또는 제어 프로토콜 내에 존재한다.

Description

스케일링가능성 정보의 코딩, 저장, 및 시그널링{Coding, storage and signalling of scalability information}
본 발명은 인코더, 디코더, 장치, 방법, 데이터 레코드, 모듈, 컴퓨터 프로그램 생성물, 및 적어도 두 개의 스케일링가능성 계층들을 포함하는 스케일링가능한 데이터 스트림의 데이터 인코딩, 디코딩, 저장, 및 송신을 위한 시스템에 관련된다.
멀티미디어 애플리케이션에는 국부 재생(local playback), 스트리밍 또는 주문식 비디오(on-demand), 대화형 및 브로드캐스트/멀티캐스트 서비스가 포함된다. 각 멀티미디어 애플리케이션의 빠른 설치 및 광대역 시장 형성을 위하여, 이러한 어플리케이션들 간의 상호 운용성(interoperability)이 중요하다. 높은 상호 운용성을 달성하기 위하여 상이한 표준들이 규정된다.
멀티미디어 애플리케이션에 관련되는 기술에는 무엇보다도 미디어 코딩, 저장, 및 송신이 포함된다. 미디어 타입에는 음성, 오디오, 이미지, 비디오, 그래픽, 및 시간 텍스트가 포함된다. 상이한 기술에 대하여 현재까지 다른 표준들이 규정되었다. 비디오 코딩 표준에는 ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 또는 ISO/IEC MPEG-2 Visual, ISO/IEC MPEG-4 Visual, ITU-T H.264 또는 ISO/IEC MPEG-4 AVC(본 명세서에서는 AVC, AVC/H.264 또는 H.264/AVC라고 약자로서 표시된다)가 포함되며, 예컨대 ISO/IEC MPEG-21 SVC, China AVS, ITU-T H.265 및 ISO/IEC MPEG 3DAV와 같은 미래의 표준들도 포함될 수 있다.
가용 미디어 파일 포맷 표준에는 ISO 파일 포맷(ISO/IEC 14496-12), MPEG-4 파일 포맷(ISO/IEC 14496-14), AVC 파일 포맷(ISO/IEC 14496-15) 및 3GPP 파일 포맷(3 GPP TS 26.244)들이 포함된다.
3 GPP TS 26.140은 3GPP 시스템 내의 멀티미디어 메시징 서비스(multimedia messaging services, MMS)를 위한 미디어 타입, 포맷, 및 코덱을 규정한다. 3 GPP TS 26.234는 3GPP 시스템 내의 패킷 교환 스트리밍 서비스(PSS)를 위한 프로토콜 및 코덱을 규정한다. 계속되는 3GPP TS 26.346은 GPP 시스템 내의 멀티미디어의 브로드캐스트/멀티캐스트 서비스(multimedia broadcast/multicast services, MBMS)를 위한 프로토콜 및 코덱을 규정한다.
전형적인 오디오 및 비디오 코딩 표준은 "프로파일(profile)" 및 "레벨(level)"을 규정한다. "프로파일"이란 해당 표준의 알고리즘적 특징의 부분 집합이며, "레벨"은 디코더 자원 소모에 대한 일군의 제한 조건을 부과하는, 코딩 파라미터에 대한 일 군의 한계이다. 지시된 프로파일과 레벨은 미디어 스트림의 속성을 시그널링하고 미디어 디코더의 성능을 시그널링하기 위하여 이용될 수 있다.
프로파일과 레벨의 조합을 통하여, 디코더는 자신이 디코딩 시도를 하지 않은 채 소정 스트림을 디코딩 할 수 있는지 선언할 수 있는데, 디코딩 시도 과정 중에 디코더가 해당 스트림을 디코딩할 수 없다면 디코더에는 충돌이 발생하거나, 실 시간보다 느리게 동작하거나, 및/또는 버퍼 오버플로우 때문에 데이터를 분실하는 일이 발생할 수 있다. 프로파일과 레벨의 각 쌍은 "상호 운용성 포인트"를 형성한다.
일부 부호화 표준은 스케일링가능한 비트 스트림의 생성을 허용한다. 의미 있는 디코딩된 표현(representation)은 스케일링가능한 비트 스트림 중 오직 특정 부분만을 디코딩함으로써 생성될 수 있다. 스케일링가능한 비트 스트림은 스트리밍 서버 내에서 사전 인코딩된 유니캐스트 스트림들의 속도 적응(rate adaptation)을 위하여 이용되고, 상이한 성능 및/또는 상이한 네트워크 조건을 가지는 단말기들로 단일 비트 스트림을 송신하는데 이용될 수 있다. 스케일링가능한 비디오 코딩의 다른 유용한 사용 케이스들의 목록은 ISO/IEC JTC1 SC29 WG11 (MPEG) output document N6880, "Applications and Requirements for Scalable Video Coding", the 71th MPEG meeting, January 2005, Hong Kong, China.에서 발견될 수 있다.
스케일링가능한 코딩 기술은 종래 기술에 의한 계층화 스케일링가능한 코딩(layered scalable coding) 기술 및 정밀 입자성 스케일링가능한 코딩(fine granularity scalability)을 포함한다. 이러한 기술들에 대하여 복습하려면, Weiping Li저, "Overview of fine granularity scalability in MPEG-4 video standard," IEEE Transactions on Circuits and Systems for Video Technology, vol. 11, no. 3, pp. 301- 317, March 2001.을 참조하면 된다.
스케일링가능한 비디오 코딩은 넓은 범위의 처리 능력을 가진 디코더들을 채택하는 시스템 내에서 이용되는 다양한 멀티미디어 애플리케이션 및 서비스를 위한 바람직한 특성이다. 비디오 스케일가능성 기술에 대한 수 개의 타입들이 제안되어 왔는데, 이들의 예를 들면 시간적(temporal), 공간적(spatial), 및 품질 스케일링가능성(quality scalability)이 있다. 이러한 제안된 타입들은 베이스 계층(base layer) 및 확장 계층으로 구성된다. 베이스 계층은 비디오 스트림을 디코딩하기 위하여 요구되는 최소 데이터량이며, 확장 계층은 확장 비디오 신호를 제공하기 위하여 요구되는 추가적인 데이터이다.
H.264/AVC로의 스케일링가능한 확장에 대한 작업 중인 초안(working draft)은 현재 다중 스케일링가능한 계층들의 코딩을 허용한다. 작업 중인 초안은 JVT-N020, "Scalable video coding - working draft 1," 14th meeting, Hong Kong, Jan 2005에 기술되어 있으며, 또한, MPEG document w6901, "Working Draft 1.0 of 14496-10:200x/AMD1 Scalable Video Coding," Hong Kong meeting, January 2005.라고도 알려진다. 다중 스케일링가능한 계층들의 이러한 코딩이 이루어지는 동안에, 비트 스트림 내에서 시그널링되는 변수 DependencyID가 상이한 스케일링가능한 계층들의 코딩 종속성(coding dependencies)을 표시하기 위해 이용된다.
스케일링가능한 비트 스트림은 적어도 두 개의 스케일가능성 계층인, 베이스 계층과 하나 이상의 확장 계층을 포함한다. 만일 하나의 스케일링가능한 비트 스트림이 하나 이상의 스케일가능성 계층을 포함하면, 이것은 수 개의 디코딩 및 재생 대안들을 가진다. 각 계층은 디코딩 대안(decoding alternative)이 된다. 베이스 계층인 계층 0이 첫 번째 디코딩 대안이다. 제1 확장 계층인 계층 1이 제2 디코딩 대안이다. 이러한 패턴이 후속 계층에도 적용된다. 전형적으로 하위 계층 은 상위 계층들에 포함된다. 예를 들면, 계층 0은 계층 1에 포함되고, 계층 1은 계층 2에 포함된다.
각 계층은 적어도 하나의 속성에 의하여 특징되는데, 이러한 속성에는 정밀 입자성 스케일링가능성(fine granularity scalability, FGS) 정보, 관심 영역(ROI) 스케일링가능성(region-of-interest scalability) 정보, 서브-샘플 스케일링가능 계층 정보(sub-sample scalable layer information), 디코딩 의존성 정보(decoding dependency information), 및 초기 파라미터 집합들 중 적어도 하나를 포함하고, 초기 파라미터 집합은 전체 스트림의 파라미터 집합과는 상이할 수 있다.
종래 기술에 의한 시스템에서, 스케일링가능한 비트 스트림의 특정 계층에 대한 다음과 같은 스케일링가능성 정보를 비트 스트림 자체 내에서, 파일 포맷 내에서, 또는 송신 프로토콜에서 시그널링하는 것이 가능하다: 정밀 입자성 스케일링가능성 정보, 관심 영역(ROI) 스케일링가능성 정보, 서브-샘플 또는 서브-픽쳐 스케일링가능 계층 정보, 디코딩 의존성 정보, 및 초기 파라미터 집합.
본 발명은 스케일링가능한 비트 스트림을 인코딩, 디코딩, 저장, 및 송신하도록 허용하는데, 여기서 적어도 두 개의 스케일링가능한 계층들이 존재하며, 각 계층은 정밀 입자성 스케일링가능성 정보(FGS), 관심 영역(ROI) 스케일링가능성 정보(region-of-interest scalability information), 서브-샘플 스케일링가능 계층 정보(sub-sample scalable layer information), 디코딩 의존성 정보(decoding dependency information), 및 초기 파라미터 집합(initial parameter sets)들 중 적어도 하나를 포함하는 집합에 의하여 특징되고, 상기 적어도 하나의 속성은 전체 스트림과 상이한 적어도 하나의 계층에 대하여 시그널링되며, 상기 적어도 하나의 속성의 상기 집합은 상기 스케일링가능한 비트 스트림 내에 존재하거나, 상기 스케일링가능한 비트 스트림을 포함하는 파일 포맷 저장소(file format container)에 존재하거나, 상기 스케일링가능한 비트 스트림의 상기 적어도 하나의 계층의 송신 또는 제어를 위한 송신 또는 제어 프로토콜 내에 존재할 수 있다. 본 발명에 따르면, 서버 또는 클라이언트는 비트 스트림을 검증(verifying)함으로써 스케일링가능성 정보(FGS), 관심 영역(ROI) 스케일링가능성 정보, 서브-샘플 스케일링가능 계층 정보, 디코딩 의존성 정보, 및 초기 파라미터 집합들을 분석할 필요가 없으며, 따라서 연산 복잡도를 감소시킬 수 있다. 예를 들어 ROI 정보가 필요하지만 사용가능하지 않은 경우와 같이 비트 스트림으로부터 계층 속성을 분석할 수 없는 장치의 경우에도, 본 발명에 따르면 해당 기능을 가능하게 하는 장치 서브-유닛을 추가할 필요가 없다.
본 발명의 예시적인 일 실시예는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 방법 및 장치를 개시한다. 본 발명에 따른 방법은: 상기 스케일링가능한 데이터 스트림의 적어도 하나의 계층을 생성하는 단계로서, 상기 계층은 상기 스케일링가능한 데이터 스트림의 코딩 속성과는 상이한 소정의 코딩 속성에 의하여 특징되는 단계 및 상기 특징된 코딩 속성을 가지는 상기 계층을, 상기 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 시그널링하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 예시적인 다른 실시예는 스케일링가능한 비트 스트림을 인코딩하기 위한 방법 및 장치를 개시하는데, 여기서 적어도 두 개의 스케일링가능성 계층들이 존재하며, 각 계층은 전체 스트림의 속성과는 상이할 수 있는 적어도 하나의 속성의 집합으로서, 스케일링가능성 정보(FGS), 관심 영역(ROI) 스케일링가능성 정보, 서브-샘플 스케일링가능 계층 정보, 디코딩 의존성 정보, 및 초기 파라미터 집합과 같은 속성에 의하여 특징화되고, 상기 적어도 하나의의 속성의 상기 집합이 전체 스트림과는 상이한 적어도 하나의 계층에 대하여 시그널링되고, 적어도 하나의 상기 속성의 상기 집합의 시그널링은 상기 스케일링가능한 비트 스트림 내에 존재한다. 본 발명의 다른 실시예에 따른 방법은, 적어도 두 개의 계층을 포함하도록 스케일링가능한 비트 스트림을 생성하는 단계로서, 각 계층은 정밀 입자성 스케일링가능성 정보(FGS), 관심 영역(ROI) 스케일링가능성 정보, 서브-샘플 스케일링가능 계층 정보, 디코딩 의존성 정보, 및 초기 파라미터 집합들 중 적어도 하나를 포함하는 집합과 같은 속성의 집합에 의하여 특징되고, 이들 속성은 전체 스트림의 속성과는 상이할 수 있는 단계, 및 상기 적어도 하나의 속성을 상기 스케일링가능한 비트 스트림 내에서 시그널링하는 단계로서, 이 단계는 전체 스트림과는 상이한 적어도 하나의 계층에 대하여 수행되어, 상기 적어도 하나의 속성의 집합에 대한 분석 필요성 또는 해당 장치가 해당 계층을 디코딩할 능력이 있는지에 대한 정보 없이 상기 스케일링가능한 비트 스트림의 계층의 디코딩을 시도하는 필요성(이 경우 장치 충돌이 발생할 수 있다) 없이 상기 적어도 하나의 속성의 집합이 독출가능하도록 하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 예시적인 다른 실시예는 스케일링가능한 비트 스트림을 분석하기 위한 방법 및 장치를 개시하는데, 여기서 적어도 두 개의 스케일링가능성 계층(scalability layer)들이 존재하며, 각 계층은 전체 스트림의 속성과는 상이할 수 있는 적어도 하나의 속성의 집합으로서, 스케일링가능성 정보(FGS), 관심 영역(ROI) 스케일링가능성 정보, 서브-샘플 스케일링가능 계층 정보, 디코딩 의존성 정보, 및 초기 파라미터 집합과 같은 속성에 의하여 특징화된다. 본 발명의 다른 실시예에 따른 방법은, 적어도 하나의 상기 집합을 분석함으로써, 적어도 하나의 상기 집합이 상기 스케일링가능한 비트 스트림 내에서, 상기 스케일링가능한 비트 스트림을 포함하는 파일 포맷 저장소에서, 또는 상기 스케일링가능한 비트 스트림의 적어도 하나의 계층의 송신 또는 제어를 위한 송신 또는 제어 프로토콜 내에서 시그널링될 수 있도록 하는 단계를 포함한다.
본 발명의 예시적인 다른 실시예는 스케일링가능한 비트 스트림을 컨버팅하기 위한 방법 및 장치를 개시하는데, 여기서 적어도 두 개의 스케일링가능성 계층들이 존재하며, 각 계층은 전체 스트림의 속성과는 상이할 수 있는 적어도 하나의 속성의 집합으로서, 스케일링가능성 정보(FGS), 관심 영역(ROI) 스케일링가능성 정보, 서브-샘플 스케일링가능 계층 정보, 디코딩 의존성 정보, 및 초기 파라미터 집합과 같은 속성에 의하여 특징화되고, 적어도 하나의 속성의 상기 집합이 전체 스트림과 상이한 적어도 하나의 계층에 대하여 시그널링되며, 적어도 하나의 속성의 상기 집합이 상기 스케일링가능한 비트 스트림 내에서, 상기 스케일링가능한 비트 스트림을 포함하는 파일 포맷 저장소에서, 또는 상기 스케일링가능한 비트 스트림의 적어도 하나의 계층의 송신 또는 제어를 위한 송신 또는 제어 프로토콜 내에서 시그널링될 수 있다. 본 발명의 예시적인 다른 실시예에 따른 방법은 상기 스케일링가능한 비트 스트림의 베이스 계층을 포함하는 비-스케일링가능한(non-scalable) 비트 스트림의 생성 단계, 및 상기 스케일링가능한 비트 스트림의 확장 계층을 포함하는 제2 스케일링가능한 비트 스트림의 생성 단계를 포함한다.
본 발명의 예시적인 다른 실시예는 스케일링가능한 비트 스트림을 디코딩하기 위한 방법 및 장치를 개시하는데, 여기서 적어도 두 개의 스케일링가능성 계층들이 존재하며, 각 계층은 전체 스트림의 속성과는 상이할 수 있는 적어도 하나의 속성의 집합으로서, 스케일링가능성 정보(FGS), 관심 영역(ROI) 스케일링가능성 정보, 서브-샘플 스케일링가능 계층 정보, 디코딩 의존성 정보, 및 초기 파라미터 집합과 같은 속성에 의하여 특징화되고, 적어도 하나의 속성의 상기 집합이 전체 스트림과 상이한 적어도 하나의 계층에 대하여 시그널링되며, 상기 스케일링가능한 비트 스트림 내에서, 상기 스케일링가능한 비트 스트림을 포함하는 파일 포맷 저장소에서, 또는 상기 스케일링가능한 비트 스트림의 적어도 하나의 계층의 송신 또는 제어를 위한 송신 또는 제어 프로토콜 내에서 시그널링될 수 있다. 본 발명의 예시적인 다른 실시예에 따른 장치는: 상기 스케일링가능한 비트 스트림을 수신하기 위한 제1 성분, 상기 스케일링가능한 비트 스트림 내의 적어도 하나의 계층을 식별하고 적어도 하나의 상기 계층의 적어도 하나의 속성의 상기 집합을 독출하기 위한 제2 성분, 상기 디코더가 상기 계층을 디코딩할 수 있는지 상기 코딩 속성에 기반하여 결정하기 위한 제3 성분, 및 상기 제3 성분이 상기 디코더가 상기 적어도 하나의 계층을 디코딩할 수 있다고 상기 코딩 속성에 기반하여 결정하면, 상기 적어도 하나의 계층을 디코딩하기 위한 제4 성분을 포함하는 것을 특징으로 한다.
본 발명의 예시적인 다른 실시예는 스케일링가능한 비트 스트림을 저장하기 위한 방법 및 장치를 개시하는데, 여기서 적어도 두 개의 스케일링가능성 계층(scalability layer)들이 존재하며, 각 계층은 전체 스트림의 속성과는 상이할 수 있는 적어도 하나의 속성의 집합으로서, 스케일링가능성 정보(FGS), 관심 영역(ROI) 스케일링가능성 정보, 서브-샘플 스케일링가능 계층 정보, 디코딩 의존성 정보, 및 초기 파라미터 집합과 같은 속성에 의하여 특징화된다. 본 발명의 다른 실시예에 따른 방법은: 상기 스케일링가능한 비트 스트림 내에서 시그널링되지 않을 경우 상기 적어도 하나의 속성을 분석하는 단계, 파일 포맷 사양에 따라서 상기 적어도 하나의 속성 및 상기 스케일링가능한 비트 스트림을 상기 비트 스트림 내의 상기 적어도 하나의 속성과 함께 또는 이와 별개로 본 발명의 다른 실시예에 따른 방법은, 적어도 하나의 상기 집합을 분석함으로써, 적어도 하나의 상기 집합이 상기 스케일링가능한 비트 스트림 내에서 파일 포맷 사양에 따르는 파일 포맷 저장소에 저장하는 단계를 포함한다.
본 발명의 예시적인 다른 실시예는 스케일링가능한 비트 스트림의 적어도 하나의 계층의 송신을 위한 방법 및 장치를 개시하는데, 여기서 적어도 두 개의 스케일링가능성 계층들이 존재하며, 각 계층은 전체 스트림의 속성과는 상이할 수 있는 적어도 하나의 속성의 집합으로서, 스케일링가능성 정보(FGS), 관심 영역(ROI) 스케일링가능성 정보, 서브-샘플 스케일링가능 계층 정보, 디코딩 의존성 정보, 및 초기 파라미터 집합과 같은 속성에 의하여 특징화되고, 적어도 하나의 속성의 상기 집합이 전체 스트림과 상이한 적어도 하나의 계층에 대하여 시그널링되며, 적어도 하나의 속성의 상기 집합의 시그널링은 상기 스케일링가능한 비트 스트림 내에서, 상기 스케일링가능한 비트 스트림을 포함하는 파일 포맷 저장소에서, 또는 상기 스케일링가능한 비트 스트림의 적어도 하나의 계층의 송신 또는 제어를 위한 송신 또는 제어 프로토콜 내에 존재할 수 있다. 본 발명의 예시적인 다른 실시예에 따른 장치는 가용 계층 또는 대안(alternative)에 대한 현재 정보를 디코딩 및 재생을 위하여 적어도 하나의 수신기의 집합으로 전송하기 위한 제1 성분으로서, 수신기들은 적어도 하나의 수신기 그룹으로 분할되고, 각 수신기 그룹은 적어도 하나의 수신기를 포함하는 성분, 상기 가용 계층으로부터의 적어도 하나의 계층을 결정하여 상기 수신기 또는 수신기 그룹에 대한 정보 및/또는 요청에 따라 수신기 또는 수신기 그룹에 서비스를 제공하기 위한 제2 성분, 및 적; 상기 계층의 상기 수신기 또는 수신기 그룹에 대한 서비스 제공을 위하여 송신 및 제어하기 위한 제3 성분을 포함하는 것을 특징으로 한다.
전술된 디자인들에 비하여, 제안된 디자인은 하기와 같은 후속하는 스케일링가능성 정보 타입들이 포함된다는 점에 있어서 더 완벽하다: 스케일링가능성 정보(FGS), 관심 영역(ROI) 스케일링가능성 정보, 서브-샘플 스케일링가능 계층 정보, 디코딩 의존성 정보, 및 초기 파라미터 집합.
본 발명의 특징 및 장점들은 후술되는 상세한 설명을 통하여 당업자에게 명확하게 이해될 것이다. 그러나, 상세한 설명 및 특정 실시예들이 비록 본 발명의 바람직한 실시예들은 오직 예시적인 목적으로 제공된 것이며, 본 발명을 제한하는 것으로 이해되어서는 안된다. 본 발명의 기술 범위 내에서 다양한 변경 및 수정이 가능하며, 본 발명은 이러한 모든 수정례를 포함한다.
본 발명의 전술된 장점 및 특징들은 후술되는 상세한 설명 및 첨부 도면을 참조할 때 명백해질 것이다.
도 1은 본 발명이 적용될 수 있는 시스템을 예시하는 블록도이다.
도 2는 본 발명의 예시적인 일 실시예 내의 스케일링가능한 비트 스트림을 위한 적어도 하나의 속성 정보의 일 집합을 시그널링하는 동작을 예시한다.
도 3은 본 발명의 예시적인 실시예 내의 인코딩 장치를 도시하고 있는 블록도이다.
도 4는 본 발명의 전형적인 실시예 내의 컨버터를 도시하고 있는 블록도이다.
도 5는 본 발명의 전형적인 실시예 내의 디코더 장치를 도시하고 있는 블록도이다.
예시적인 실시예에서, 본 발명은 전술된 문제를 스케일링가능한 비트 스트림에 대한 적어도 하나의 속성의 집합을 시그널링함으로써 해결하는데, 이러한 속성들은 정밀 입자성 스케일링가능성 정보, 관심 영역(ROI) 스케일링가능성 정보, 서브-샘플 스케일링가능 계층 정보, 디코딩 의존성 정보, 및 초기 파라미터 집합들 같은 것으로서 전체 스트림의 속성과 상이할 수 있다. 적어도 하나의 속성의 상기 집합의 시그널링은 상기 스케일링가능한 비트 스트림 내이거나, 상기 스케일링가능한 비트 스트림을 포함하는 파일 포맷 저장소이거나, 또는 상기 스케일링가능한 비트 스트림의 송신 또는 제어를 위한 송신 또는 제어 프로토콜 내에서 수행될 수 있다.
멀티미디어 애플리케이션에 관련되는 기술은 무엇보다도 미디어 코딩, 저장 및 와 전송을 포함한다. 미디어 타입에는 음성, 오디오, 화상, 비디오, 그래픽과 시간 텍스트가 포함된다. 비록 본 발명의 일 실시예로서 비디오 코딩이 본 발명의 실시예에서 이용되지만, 본 발명은 여기에 한정되는 것은 아니다. 당업자들은 본 발명은 비디오 뿐만 아니라 모든 미디어 타입에 이용될 수 있음을 인식할 것이다.
도 2는 본 발명의 예시적인 일 실시예 내의 스케일링가능한 비트 스트림(200)의 각 계층의 적어도 하나의 속성 정보의 집합의 시그널링을 예시하는 도면이다. 스케일링가능한 비트 스트림의 각 계층은 해당 계층에 대하여 시그널링된 적어도 하나의 속성 정보의 집합에 의하여 특징되며, 따라서 적어도 하나의 속성 정보의 집합에 따르는 디코딩 또는 송신을 위한 계층의 선택을 허용한다. 이러한 특징(characterization)들은 헤더(204) 내에 저장될 수 있다. 다중 계층들(202)은 스케일링가능한 비트 스트림 내의 복수 개의 계층들을 표시한다.
본 발명을 이용하는 제1 실시예에서, 스케일링가능한 비트 스트림은 코딩되고 스트리밍 서버 내에 저장된다. 정밀 입자성 스케일링가능성 정보(FGS), 관심 영역(ROI) 스케일링가능성 정보, 서브-샘플 또는 서브-픽쳐 스케일링가능 계층 정 보, 디코딩 의존성 정보, 및 초기 파라미터 집합과 같은 각 계층의 적어도 하나의 속성의 집합은 저장된 파일 내에서 시그널링된다. 가용 세션(available session)을 기술할 때, 서버는 각 계층에 대한 SDP(세션 기술자 프로토콜) 또는 스케일링가능한 비트 스트림의 대안(alternative)을 동일한 파일 내에 생성함으로써, 스트리밍 클라이언트가 이상적 계층이 존재하는지 여부를 결정하고, 해당 SDP 기술자에 따라 스트리밍 재생을 하기 위한 이상적 계층을 선택할 수 있도록 한다. 만일 서버가 수신기 성능에 대한 사전 지식을 가지지 않는다면, 동일한 콘텐츠로부터 다중 SDP 기술자들을 생성하는 것이 바람직하며, 그러면 이러한 기술자들이 대안(alternate)이라고 불린다. 그러면, 클라이언트는 자신의 성능에 가장 부합하는 기술자를 선택할 수 있다.
본 발명을 이용하는 제2 실시예에서 제1 실시예에서 설명된 바와 같은 스트림은 다중 단말기로 멀티캐스트 또는 브로드캐스트 된다. 멀티캐스트/브로드캐스트 서버는 모든 가용 계층들 또는 디코딩 및 재생 대안들을 공포(announce)할 수 있고, 이들 각각은 스케일링가능성 정보(FGS), 관심 영역(ROI) 스케일링가능성 정보, 서브-샘플 스케일링가능 계층 정보, 디코딩 의존성 정보, 및 초기 파라미터 집합에 의하여 특징된다. 그러면, 클라이언트는 이러한 브로드캐스트/멀티캐스트 세션 공포로부터 자신에 대한 이상적 계층이 존재하는지 결정하고, 재생을 위한 이상적 계층을 선택할 수 있다.
본 발명을 이용하는 제3 실시예에서, 어플리케이션의 국부 재생(local playback)을 위하여, 비록 전체 시그널링된 스트림이 디코딩될 수 없어도, 여전히 해당 스트림의 일부를 디코딩하고 즐기는 것이 가능하다.
도 3은 본 발명의 전형적인 실시예 내의 부호화 인코딩 도시하는 블록도이다. 인코딩 장치(304)는 로(raw) 데이터 스트림(302)을 수신한다. 데이터 스트림은 인코딩되고, 인코더(304)의 스케일링가능한 데이터 인코더(306)에 의하여 하나 또는 그 이상의 계층들이 생성된다. 그러면, 이러한 계층들은 시그널링 성분(308)에 의하여 시그널링된다. 계층들 중 몇 개는 이미 스케일링가능한 데이터 인코더(306)에 의해 시그널링되었을 수 있으며, 시그널링 성분이 이러한 경우를 체크할 것이다. 코딩 속성이 표시된 데이터 스트림(coding property indicated data, 310)이 인코더(304)로부터 출력되고, 따라서 수신 장치(MMSC 또는 디코더)가 데이터 스트림의 계층들의 코딩 속성을 결정하기 위하여 해당 신호들을 독출한다.
도 4는 본 발명의 전형적인 실시예 내의 컨버터 장치를 도시하고 있는 블록도이다. 컨버터 장치(404)는 수신기(406)에서 스케일링가능한 데이터 스트림(402)을 수신한다. 또한, 수신기(406)는 수신된 데이터 스트림의 계층과 관련된 코딩 속성 지시기(indicator)를 독출한다. 코딩 속성 비교기(410)는 이러한 코딩 속성 지시기를 해당 데이터 스트림의 목적이 되는 디코딩 장치 또는 네트워크의 사전 지득한 성능과 비교한다. 이러한 비교를 통하여, 이것은 목적 장치 중 어느 계층들이 디코딩할 수 있는지를 결정한다. 그러면, 데이터 스트림은 데이터 스트림 수정기(modifier, 412)에서 수정되어 해당 데이터 스트림이 목적 장치에 의해 디코딩될 수 있도록 한다. 이러한 동작은, 요소(410)에서 목적 장치에 의하여 디코딩될 수 없다고 결정된 바 있는 계층들을 데이터 스트림으로부터 제거하는 과정을 포함할 수 있다. 그러면 데이터 스트림은 송신기(414)에 의해 송신된다. 수정된 데이터 스트림(416)은 수신 장치(MMSC 또는 디코더)로 목적지가 정해져서 컨버터(404)로부터의 출력된다.
도 5는 본 발명의 전형적인 실시예 내의 디코더를 도시하고 있는 블록도이다. 디코딩 장치(504)는 코딩 속성이 표시된 데이터 스트림(502)을 수신기(504)에서 수신한다. 코딩 속성 식별기(identifier, 510)는 수신된 데이터 스트림 내의 하나 또는 그 이상의 계층들 및 그들에 상응하는 코딩 속성을 식별한다. 해당 계층들 중 적어도 하나의 코딩 속성에 기반하여, 디코더 성능 검증기(512)는 해당 디코더가 그 계층을 디코딩할 수 있는지 여부를 결정한다. 만일 성능이 있다면, 이것은 디코딩 성분(514)으로 하여금 데이터 스트림의 해당 계층의 디코딩을 진행하도록 허용한다. 만일 그렇지 않다면, 이것은 디코딩 성분(514)이 해당 계층의 디코딩을 시도하지 않도록 방해하는데, 따라서 디코더의 잠재적인 충돌을 방지한다. 디코딩된 데이터 스트림(516)은 도면에서 디코더(504)로부터의 출력으로서 도시된다.
비트 스트림내의 시그널링
바람직하게는, 계층 특성(layer characteristics)은 시퀀스 또는 픽쳐 그룹(group of pictures, GOP) 레벨에서 시그널링되는데, 즉, 시퀀스 또는 GOP 헤더들, 시퀀스 파라미터 집합, 추가 확장 정보(Supplemental Enhancement Information, SEI) 메시지들, 사용자 데이터 또는 다른 시퀀스 레벨 신택스를 통하여 시그널링된다.
JSVM 1.0(JVT-N023)에서, 스케일링가능성 정보 SEI가 규정되어 비트 스트림의 스케일링가능성 특징을 분석하는 동안 비트 스트림 추출기를 돕는다. JSVM 1.0 내의 SEI는 그 자체로서 JSVM 참조 소프트웨어 내의 현재 SVC 장치에 너무 고유하게 규정된 것일 수 있다. 이하, 파싱 및 모든 코딩된 슬라이스 NAL 유닛으로의 분속이 없이 후속하는 시스템 레벨 동작을 허용하는 스케일링가능성 정보 SEI의 신규한 신택스가 제안된다(서브-픽쳐 스케일링가능한 계층에 기반한 관심 영역 스케일링가능성에 대해서만 유일한 예외가 존재한다):
- 스케일링가능성 정보 메타데이터를 파일에 기록하기 위한 파일 포맷 작성자(file format composer);
- 모든 가능한 스케일링가능한 프리젠테이션 포인트들을 수신기에게 제공하기 위한 스트리밍 서버;
- 모든 원하는 스케일링가능한 프리젠테이션 포인트를 추출하기 위한 비트 스트림 추출기(bitstream extractor); 및
- 원하는 스케일링가능한 프리젠테이션 포인트에 대하여 어떤 NAL 유닛들이 폐기되어야 하는지(따라서 송신되지 않아야 하는지)를 결정하기 위한 미디어-인식 네트워크 요소(media-aware network element)(예를 들어, 게이트웨이).
신규한 신택스가 표 1에 제공되고 이하 설명된다. 물론, 당업자들에게는 다른 시그널링 방법을 이용하는 것도 가능하며, 본 발명은 주어진 특이한 시그널링 방법에 한정되지 않는다는 것이 명백하게 이해될 것이다. 카테고리들(표 1에서 C로 표시)은 슬라이스 데이터를 최대 세 개의 슬라이스 데이터 파티션으로 파티셔닝 하는 것을 나타내고 기술자(descriptors)들은 각 신택스 요소의 파싱 프로세스를 규정한다. 카테고리와 기술자들은 전술한 내용 문서 "Working Draft 1.0 of 14496-10:200x/AMD1 Scalable Video Coding"에 개시된다.
scalability_info( payloadSize ) C Descriptor
num_layers_minus1 5 ue(v)
for ( i = 0; i <= num_layers_minus1; i++ )
fgs_layer_flag[ i ] 5 u(1)
sub_pic_layer_flag[ i ] 5 u(1)
sub_region_layer_flag[ i ] 5 u(1)
profile_level_info_present_flag[ i ] 5 u(1)
decoding_dependency_info_present_flag[ i ] 5 u(1)
bitrate_info_present_flag[ i ] 5 u(1)
frm_rate_info_present_flag[ i ] 5 u(1)
frm_size_info_present_flag[ i ] 5 u(1)
layer_dependency_info_present_flag[ i ] 5 u(1)
init_parameter_sets_info_present_flag[ i ] 5 u(1)
if (profile_level_info_present_flag[ i ])
layer_profile_idc[ i ] 5 u(8)
layer_constraint_set0_flag[ i ] 5 u(1)
layer_constraint_set1_flag[ i ] 5 u(1)
layer_constraint_set2_flag[ i ] 5 u(1)
layer_constraint_set3_flag[ i ] 5 u(1)
reserved_zero_4bits /* equal to 0 */ 5 u(4)
layer_level_idc[ i ] 5 u(8)
}
if (decoding_dependency_info_present_flag[ i ]) {
dependency_id[ i ] 5 u(3)
temporal_level[ i ] 5 u(3)
}
if (bitrate_info_present_flag[ i ])
avg_bitrate[ i ] 5 u(16)
max_bitrate[ i ] 5 u(16)
}
if (frm_rate_info_present_flag[ i ])
constant_frm_rate_idc[ i ] 5 u(2)
avg_frm_rate[ i ] 5 u(16)
}
if (frm_size_info_present_flag[ i ])
frm_width_in_mbs_minus1[ i ] 5 ue(v)
frm_height_in_mbs_minus1[ i ] 5 ue(v)
}
if (sub_region_layer_flag[ i ])
horizontal_offset[ i ] 5 u(16)
verticial_offset[ i ] 5 u(16)
region_width[ i ] 5 u(16)
region_height[ i ] 5 u(16)
}
If (layer_depdendency_info_present_flag[ i ])
num_directly_dependent_layers[ i ] 5 ue(v)
for ( j = 0; j < num_directly_dependent_layers[ i ]; j++ )
directly_dependent_layer_id_delta[ i ][ j ] 5 ue(v)
}
If (init_parameter_sets_info_present_flag[ i ])
num_ init_seq_parameter_set_minus1[ i ] 5 ue(v)
for ( j = 0; j <= num_seq_parameter_set_minus1[ i ]; j++ )
init_seq_parameter_set_id_delta[ i ][ j ] 5 ue(v)
num_ init_pic_parameter_set_minus1[ i ] 5 ue(v)
for ( j = 0; j <= num_pic_parameter_set_minus1[ i ]; j++ )
init_pic_parameter_set_id_delta[ i ][ j ] 5 ue(v)
}
}
의미론(semantics)은 다음과 같이 규정된다. 존재한다면, 이러한 SEI 메시지는 IDR 액세스 유닛 내에 나타날 것이다. 메시지의 의미론은 동일한 타입의 후속 SEI 메시지까지 유효하다.
num_layers_minus1+1은 비트 스트림에 의하여 지원되는 스케일링가능한 계층의 개수 또는 프리젠테이션 포인트들의 개수를 나타낸다. num_layers_minus1의 값은 0 내지 255의 범위 내에 있다.
각 스케일링가능한 계층은 계층 ID와 관련된다. 계층 ID는 다음과 같이 할당된다. 계층 ID의 더 큰 값은 더 상위 계층을 나타낸다. 값 0은 최하위층을 표시한다. 어떤 계층의 디코딩 및 프리젠테이션은 모든 상위 계층과는 독립적이나 하위 계층에는 의존할 수 있다. 그러므로, 최하위 계층은 독립적으로 디코딩 및 프리젠테이션될 수 있고, 계층 1의 디코딩 및 프리젠테이션은 계층 0에 의존할 수 있으며, 계층 2의 디코딩 및 프리젠테이션은 계층 1에 의존하는 식으로 진행된다. 스케일링가능한 계층의 표현은 스케일링가능한 계층 자체의 존재 및 해당 스케일링가능한 계층이 직접적 또는 간접적으로 의존하고 있는 모든 하위 계층들을 요구한다. 이하, 스케일링가능한 계층 및 해당 스케일링가능한 계층이 직접적 또는 간접적으로 의존하는 모든 하위 계층들은 일괄적으로 스케일링가능한 계층 표현(scalable layer representation)이라고 불린다.
각 코딩된 픽쳐를 스케일링가능한 계층으로 매핑하는 동작은 서브-시퀀스 정보 SEI 메시지에 의하여 시그널링될 수 있다.
fgs_layer_flag[ i ]가 1이면 i와 같은 계층 ID가 있는 스케일링가능한 계층이 정밀 입자성 스케일링가능한(FGS) 계층이라는 것을 나타낸다. 값이 0이면 해당 스케일링가능한 계층이 FGS 계층이 아니라는 것을 나타낸다. FGS 계층의 코딩된 슬라이스 NAL 유닛들은 바이트-정렬 위치에서 절단(truncated)될 수 있다.
FGS 슬라이스의 NAL 유닛 헤더 및 슬라이스 헤더의 절단 및 송신이 품질을 향상시키지 않기 때문에, 각 FGS 슬라이스에 대한 NAL 유닛 헤더의 크기 및 슬라이스 헤더의 크기 및 각 FGS 계층의 최소 의미 있는 비트율을 포함하는 것이 바람직하며, 이들은 비트 스트림 및/또는 파일 포맷 모두에 포함됨으로써 매체 인식 네트워크 요소가 FGS를 수행하도록 한다.
sub_pic_layer_flag[ i ]가 1이면 i와 같은 계층 ID가 있는 스케일링가능한 계층이 서브-픽쳐들을 포함하며, 각 서브-픽쳐들은 액세스 유닛의 코딩된 슬라이스의 하부 집합을 포함한다는 것을 나타낸다. 값이 0이면 스케일링가능한 계층이 전체 액세스 유닛을 포함한다는 것을 의미한다.
코딩된 픽쳐의 각 서브-픽쳐를 스케일링가능한 계층으로 매핑하는 것은 서브-픽쳐 계층 정보 SEI 메시지에 의하여 시그널링될 수 있다.
sub_region_layer_flag[ i ]가 1이면 i와 같은 계층 ID가 있는 스케일링가능한 계층이 전체 비트 스트림에 의해 표시된 전체 영역의 하부-영역(sub-region)을 나타낸다는 것을 표시한다. 값이 0이면 스케일링가능한 계층이 전체 비트 스트림에 의해 표시된 전체 영역을 표시한다는 것을 나타낸다.
profile_level_info_present_flag[ i ]가 1이면 i와 같은 계층 ID를 가지는 스케일링가능한 계층에 대한 프로파일 및 레벨 정보가 SEI 메시지 내에 존재한다는 것을 나타낸다. 값이 0이면 i와 같은 계층 ID를 가지는 스케일링가능한 계층에 대한 프로파일 및 레벨 정보가 SEI 메시지에 존재하지 않는다는 것을 나타낸다.
decoding_dependency_info_present_flag[ i ]가 1이면 i와 같은 계층 ID를 가지는 스케일링가능한 계층에 대한 디코딩 의존성 정보(decoding dependency information)가 SEI 메시지 내에 존재한다는 것을 나타낸다. 값이 0이면 i와 같은 계층 ID를 가지는 스케일링가능한 계층에 대한 디코딩 의존성 정보가 SEI 메시지에 존재하지 않는다는 것을 나타낸다.
bitrate_info_present_flag[ i ]가 1이면 i와 같은 계층 ID를 가지는 스케일링가능한 계층에 대한 비트율 정보(bitrate information)가 SEI 메시지 내에 존재한다는 것을 나타낸다. 값이 0이면 i와 같은 계층 ID를 가지는 스케일링가능한 계층에 대한 비트율 정보가 SEI 메시지에 존재하지 않는다는 것을 나타낸다.
frm_rate_info_present_flag[ i ]가 1이면 i와 같은 계층 ID를 가지는 스케일링가능한 계층에 대한 프레임률 정보(frame rate information)가 SEI 메시지 내에 존재한다는 것을 나타낸다. 값이 0이면 i와 같은 계층 ID를 가지는 스케일링가능한 계층에 대한 프레임률 정보가 SEI 메시지에 존재하지 않는다는 것을 나타낸다.
frm_size_info_present_flag[ i ]가 1이면 i와 같은 계층 ID를 가지는 스케일링가능한 계층에 대한 프레임 크기 정보(frame size information)가 SEI 메시지 내에 존재한다는 것을 나타낸다. 값이 0이면 i와 같은 계층 ID를 가지는 스케일링가능한 계층에 대한 프레임 크기 정보가 SEI 메시지에 존재하지 않는다는 것을 나타낸다.
layer_dependency_info_present_flag[ i ]가 1이면 i와 같은 계층 ID를 가지는 스케일링가능한 계층에 대한 계층 의존성 정보(layer dependency information)가 SEI 메시지 내에 존재한다는 것을 나타낸다. 값이 0이면 i와 같은 계층 ID를 가지는 스케일링가능한 계층에 대한 계층 의존성 정보가 SEI 메시지에 존재하지 않는다는 것을 나타낸다.
init_parameter_sets_info_present_flag[ i ]가 1이면 i와 같은 계층 ID를 가지는 스케일링가능한 계층에 대한 초기 파라미터 집합 정보(initial parameter sets information)가 SEI 메시지 내에 존재한다는 것을 나타낸다. 값이 0이면 i와 같은 계층 ID를 가지는 스케일링가능한 계층에 대한 초기 파라미터 집합 정보가 SEI 메시지에 존재하지 않는다는 것을 나타낸다.
초기 파라미터 집합은 세션의 시작 시에 송신될 수 있는 파라미터 집합을 나타낸다.
메시지 성분인 layer_profile_idc[ i ], layer_constraint_set0_flag[ i ], layer_constraint_set1_flag[ i ], layer_constraint_set2_flag[ i ], layer_constraint_set3_flag[ i ], 및 layer_level_idc[ i ]들은 i와 같은 계층 ID가 있는 스케일링가능한 계층의 표현의 비트 스트림의 프로파일 및 레벨 순응성(level compliancy)을 나타낸다. layer_profile_idc[ i ], layer_constraint_set0_flag[ i ], layer_constraint_set1_flag[ i ], layer_constraint_set2_flag[ i ], layer_constraint_set3_flag[ i ], 및 layer_level_idc[ i ]들의 의미론은 여기서 타겟 비트 스트림이 스케일링가능한 계층 표현의 비트 스트림이 아니라면 profile_idc, constraint_set0_flag, constraint_set1_flag, constraint_set2_flag, constraint_set2_flag 및 level_idc 의미론과 각각 동일하다.
dependency_id[ i ] 및 temporal_level[ i ]들은 i와 같은 계층 ID가 있는 스케일링가능한 계층의 NAL 유닛의 DependencyId 및 TemproalLevel과 각각 같다.
avg_bitrate[ i ]는 i와 같은 계층 ID가 있는 스케일링가능한 계층의 표현의 비트 스트림의 평균 비트율을 초당 1000비트의 단위로 나타낸다. avg_bitrate[ i의 의미론은, 여기서 타겟 비트 스트림이 스케일링가능한 계층 표현의 비트 스트림이 아니라면, accurate_statistics_flag가 1인 경우의 서브-시퀀스 계층 특성 SEI 메시지의 average_bit_rate의 의미론과 일치한다.
max_bitrate[ i ]는 i와 같은 계층 ID가 있는 스케일링가능한 계층의 표현의 비트 스트림의 액세스 유닛 제거 시간(access unit removal time)의 모든 1초짜리 타임 윈도우 내의 최대 비트율을 초당 1000비트의 단위로 나타낸다.
constant_frm_rate_idc[ i ]는 i와 같은 계층 ID가 있는 스케일링가능한 계층의 표현의 프레임률이 일정한지를 나타낸다. 만일 후술되는 바와 같이 규정되는 avg_frm_rate의 값이 스케일링가능한 계층 표현의 어떤 시간적 섹션이 계산에 이용되는지에 관계없이 일정하다면, 이 프레임률은 상수이고, 그렇지 않다면 프레임률은 상수가 아니다. 0의 값은 일정하지 않은 프레임률을 나타내고, 값 1은 일정한 프레임률을 나타내며, 값 2는 해당 프레임률이 상수인지 아닌지 명백하지 않다는 것을 나타낸다. constantFrameRate의 값은 0 내지 2의 범위 내에 있다.
avg_frm_rate[ i ]는 i와 같은 계층 ID가 있는 스케일링가능한 계층의 표현의 비트 스트림의 평균 프레임률을 초당 프레임의 단위로 나타낸다. avg_frm_rate[ i ]의 의미론은, 여기서 타겟 비트 스트림이 스케일링가능한 계층 표현의 비트 스트림이 아니라면, accurate_statistics_flag가 1인 경우의 서브-시퀀스 계층 특성 SEI 메시지의 average_frame_rate의 의미론과 동일하다.
frm_width_in_mbs_minus1[ i ] + 1은 i와 같은 계층 ID가 있는 스케일링가능한 계층의 표현 내의 코딩된 프레임의 최대 너비를 매크로블록의 단위로 나타낸다.
frm_height_in_mbs_minus1 [ i ] + 1은 i와 같은 계층 ID가 있는 스케일링가능한 계층의 표현 내의 코딩된 프레임의 최대 높이를 매크로블록의 단위로 나타낸다.
horizontal_offset[ i ] 및 verticial_offset[ i ]는 각각 i와 같은 계층 ID를 가지는 스케일링가능한 계층의 표현에 의해 표시되는 사각형 영역의 상-좌(top-left) 픽셀의 가로 및 세로 오프셋을 제공하며, 이 경우 전체 비트 스트림에 의하여 표현되는 전체 영역의 상-좌(top-left) 픽셀에 대하여 표시한다. 단위는 최대 공간 해상도의 스케일의 루마(luma) 샘플이다.
region_width[ i ] 및 region_height[ i ]는 각각 i와 같은 계층 ID를 가지는 스케일링가능한 계층의 표현에 의해 표시되는 사각형 영역의 너비 및 높이를 최대 공간 해상도의 스케일의 루마(luma) 샘플 단위로 나타낸다.
num_directly_dependent_layers[ i ]는 i와 같은 계층 ID가 있는 스케일링가능한 계층이 직접적으로 의존하는 스케일링가능한 계층의 개수를 나타낸다. num_directly_dependent_layers의 값은 0 내지 255의 범위에 포함된다.
directly_dependent_layer_id_delta[ i ] [ j ]는 i와 같은 계층 ID가 있는 스케일링가능한 계층이 직접 의존하는 j번째 스케일링가능한 계층의 계층 ID 및 i 간의 차이를 나타낸다. 직접 의존되는 스케일링가능한 계층의 계층 ID는 (directly_dependent_layer_id_delta + i)와 같다.
num_init_seq_parameter_set_minus1[ i ]+1은 i와 같은 계층 ID를 가지는 스케일링가능한 계층의 표현을 디코딩하기 위한 초기 시퀀스 파라미터 집합의 개수를 나타낸다.
init_seq_parameter_set_id_delta[ i ] [ j ]는 j가 0일 경우에 i와 같은 계층 ID를 가지는 스케일링가능한 계층의 표현을 디코딩하기 위한 j 번째 초기 시퀀스 파라미터 집합의 seq_parameter_set_id의 값을 표시한다. 만일 j가 0보다 더 크면, init_seq_parameter_set_id_delta[ i ] [ j ]는 j 번째 초기 시퀀스 파라미터 집합의 seq_parameter_set_id의 값의 seq_parameter_set_id의 값 및 j-1 번째 초기 시퀀스 파라미터 집합의 seq_parameter_set_id의 값 간의 차이를 나타낸다. 초기 시퀀스 파라미터 집합은 seq_parameter_set_id의 값의 오름차순으로 논리적으로 정렬된다.
액세스 유닛들의 스케일링가능한 계층으로의 매핑은 서브 시퀀스 정보 SEI 메시지를 사용하여 시그널링된다. 서브 시퀀스 정보 SEI 메시지의 sub_seq_layer_num은 현재의 액세스 유닛이 속하는 스케일링가능한 계층의 계층 ID를 나타낸다.
서브-픽쳐들을 스케일링가능한 계층으로 매핑하기 위하여, 신규한 SEI 메시지가 표 2에 제시된 것처럼 정의된다.
이러한 설계는 간단하지만, 픽쳐 파라미터 집합 및 슬라이스로의 파싱(parsing)이 슬라이스가 모션-제한된(motion-constrained) 슬라이스 그룹 집합에 속하는지 여부를 식별하기 위하여 필요하다. 또는, 우리는 계층 ID를 시그널링하기 위하여 서브-픽쳐-레벨 SEI를 설계할 수도 있다.
sub_pic_layer_info( payloadSize ) { C descriptor
layer_id 5 ue(v)
}
존재할 경우, 이러한 SEI 메시지가 모션-제한적인 슬라이스 그룹 집합 SEI 메시지를 포함하는 동일한 SEI 페이로드에 나타날 것이며 즉시 디코딩 순서에 따라서 모션-제한적인 슬라이스 그룹 집합 SEI 메시지에 후속한다. 모션-제한적인 슬라이스 그룹 집합 SEI 메시지에 의하여 식별되는 슬라이스 그룹 집합은 서브-픽쳐 계층 정보 SEI 메시지의 관련된 슬라이스 그룹으로서 불린다.
layer_id는 관련된 슬라이스 그룹 내에 코딩된 슬라이스 NAL 유닛들이 속하는 스케일링가능한 계층의 계층 ID를 표시한다.
다른 실시예에 대하여, 시퀀스 파라미터 집합 및 NAL 유닛 헤더를 사용하여 후술되는 방법에 의하여 시그널링을 지원할 수도 있다.
파일 포맷 내의 시그널링(signaling in file format)
시그널링 정보는 다음 중 어느 하나의 이유로 비트 스트림 내에 존재하지 않을 수 있다: 1) 시그널링이 코딩 기법 표준에 의하여 지원되지 않는 경우, 2) 시그널링은 지원되나 존재하지 않는 경우, 3) 파일 포맷 규정(specification)이 파일 포맷 저장소 내에 저장된 비트 스트림 내에 어떤 정보를 추가하는 것을 거부할 경우, 예를 들면 AVC 파일 포맷 규정이 세 가지 종류의 서브-시퀀스 SEI 메시지들의 미디어 트랙에 저장된 비트 스트림 내로의 포함을 허용하지 않는 경우.
그러므로, 파일 포맷에서 정보의 시그널링을 지원하는 것이 중요하다. 실제로, 비록 이런 정보가 비트 스트림 내에 가용하지 않다 하더라도, 파일 포맷 내에서 가용한 정보를 가지는 것은 미디어 코딩 포맷에 대해 부지(不知)한 서버들에 대해서는 유용하다.
후술하는 바와 같은 스케일링가능성 구조(scalability structures)가 몇 가지 방법으로 모든 타입의 스케일링가능한 비디오 스트림을 위하여 이용될 수 있도록 설계되며, 따라서 이들은 ISO 베이스 미디어 파일 포맷에 대한 확장(extension)으로서 간주될 수 있다. 파일 식별 목적을 위하여, 상표 'svc1'이 이용되어 이러한 확장이 소정 파일 내에 이용된다는 것을 나타낼 수 있다.
시그널링을 지원하기 위해, ISO 파일은 0 또는 1의 'scif'와 동일한 grouping_type을 가지는 SampleToGroupBox(트랙 당 하나)의 인스턴스(instance)를 포함하여야 한다. 이러한 SampleToGroupBox 인스턴스는 각 샘플을 하나 또는 그 이상의 스케일링가능한 계층에 매핑한다. 각 스케일링가능한 계층을 위한 스케일가능성 정보는, 그루핑 타입 'scif'의 SampleGroupDescriptionBox 내에 포함되는 상응하는 샘플 그룹 기술자 엔트리(ScalabilityInfoEntry)에 저장된다. 스케일가능성 정보는 계층 ID, 프로파일과 레벨, 비트율, 프레임률, 버퍼 파라미터 및 의존성 정보(dependency information)를 포함한다.
다시, 각 스케일링가능한 계층은 계층 ID와 관련된다. 계층 ID는 다음과 같이 할당된다. 계층 ID의 더 큰 값은 더 높은 계층을 표시한다. 값 0은 최하위층을 표시한다. 계층의 디코딩 및 프리젠테이션은 모든 상위 계층으로부터 독립적이지만 하위 계층에는 의존한다. 그러므로, 최하위층은 독립적으로 디코딩되고 프리젠테이션될 수 있으며, 계층 1의 디코딩 및 프리젠테이션은 계층 0에 의존하며, 계층 2의 디코딩 및 프리젠테이션은 계층 0 및 1에 의존하는 식으로 진행된다. 스케일링가능한 계층의 표현(representation)은, 스케일링가능한 계층 그 자체의 존재 및 해당 스케일링가능한 계층이 직접 또는 간접적으로 종속되는 모든 하위 계층을 필요로 한다. 이하, 스케일링가능한 계층 및 이 스케일링가능한 계층이 직접 또는 간접적으로 종속되는 모든 하위 계층은 총괄적으로 스케일링가능한 계층 표현으로서 불린다.
ISO 베이스 미디어 파일 포맷으로의 확장(extension)의 신택스는 다음과 같을 수 있다. ScalabilityInfoEntry는 ProfileLevelBox, BitRateBox, FrameRateBox, FrameSizeBox, RectRegionBox, BufferingBox, 및 LayerDependencyBox를 포함한다. 이러한 박스들의 정의는 표 3 및 4에 도시된 바와 같다.
Box Types: 'pflv', 'bitr', 'frmr', 'fmsz', 'rrgn', 'buff', 'Idep' Container: ScalableLayerEntry or other data structures Mandatory: No Quantity: 0 or 1
ProfileLevelBox는 스케일링가능한 계층 표현이 순응하는 프로파일 및 레벨을 포함하고, BitRateBox는 비트율 정보를 포함하며, FrameRateBox는 프레임률 정보를 포함하고, FrameSizeBox는 공간적 해상도 정보(spatial resolution information)를 포함하며, BufferingBox는 버퍼 정보를 포함하고, LayerDependencyBox는 해당 스케일링가능한 계층이 의존하는 계층들을 포함한다. 이러한 박스들 중에서, BufferingBox는 추상적인 박스(abstract box)이며, ISO 베이스 미디어 파일 포맷으로부터 유도된 파일 포맷은 해당 비디오 코딩 표준에 규정된 버퍼링 모델에 따라서 버퍼 정보 데이터 구조를 정의할 것이다. 특정 스케일링가능한 계층에 대하여, 만일 선택 박스들 중 어느 것도 존재하지 않는다면, 설명된 정보는 최상위층 스케일링가능한 계층과 같다.
class ProfileLevelBox extends Box('pflv'){ unsigned int(16) profileIdc; unsigned int(16) levelIdc; unsigned int(32) reserved = 0; } class BitRateBox extends Box('bitr'){ unsigned int(32) avgBitrate; unsigned int(32) maxBitrate; } class FrameRateBox extends Box('frmr'){ unsigned int(2) constantFrameRate; unsigned int(6) reserved = 0; unsigned int(16) frameRate; } class FrameSizeBox extends Box('fmsz'){ unsigned int(16) frm_width; unsigned int(16) frm_height; } class RectRegionBox extends Box('rrgn'){ unsigned int(16) horizontal_offset; unsigned int(16) vertical_offset; unsigned int(16) region_width; unsigned int(16) region_height; } abstract class BufferingBox extends Box('buff'){ } class LayerDependencyBox extends Box('1dep'){ unsigned int(8) entry_count; for (i=0; i < entry_count; i++){ unsigned int(8) dependencyLayerId; } class ScalableLayerEntry() extends VisualSampleGroupEntry ('scif') { unsigned int(8) layerId; unsigned int(1) IsFgsLayer; unsigned int(1) IsSubsampleLayer; unsigned int(6) reserved = 0; ProfileLevelBox(); // optional BitRateBox(); // optional FrameRateBox(); // optional FrameSizeBox(); // optional RectRegionBox(); // optional BufferingBox(); // optional LayerDependencyBox(); // optional }
의미론은 다음과 같다. layerId는 후속 정보가 기술하는 스케일링가능한 계층의 식별자를 제공한다.
IsFgsLayer가 1이면, 해당 스케일링가능한 계층이 정밀 입자성 스케일링가능한(FGS) 계층으로서, 이것의 비트 스트림 데이터가 모든 바이트 단위로 정렬된 지점에서 절단될 수 있다는 것을 나타낸다. 값이 0이면 해당 스케일링가능한 계층이 FGS 계층이 아니라는 것을 나타낸다.
IsSubsampleLayer가 1이라면, 해당 스케일링가능한 계층이 해당 계층으로 매핑된 샘플들의 서브-샘플들만으로 구성된다는 것을 나타낸다. 어떤 서브-샘플들이 이 계층 내에 포함되는지에 대한 정보는 Sub-Sample 정보 박스 내에서 시그널링된다. 값이 0이면 해당 스케일링가능한 계층이 해당 계층으로 매핑된 샘플들로 구성된다는 것을 나타낸다.
profileIdc 및 levelIdc는 각각 스케일링가능한 계층 표현의 비트 스트림이 순응하는 프로파일 및 레벨을 규정한다.
avgBitrate는 해당 스케일링가능한 계층 표현의 비트 스트림의 평균 비트율을 bit/s 단위로 제공한다.
maxBitrate는 1초의 모든 시간 윈도우 내의 스케일링가능한 계층 표현의 비트 스트림의 최대 비트율을 bit/s 단위로 제공한다.
constantFrameRate는 해당 스케일링가능한 계층 표현의 프레임률이 일정한지 여부를 나타낸다. 만일 후술되는 바와 같은 frameRate의 값이, 연산을 위하여 스케일링가능한 계층 표현의 어떤 시간 섹션이 이용되는지 여부와 관계없이 상수라면, 프레임률은 일정하지만, 그렇지 않다면 프레임률은 비-상수이다. 값이 0이면 비-상수인 프레임률을 나타내고, 값이 1이면 상수인 프레임률을 나타내며, 값이 2면 프레임률이 상수인지 여부가 명확하지 않다는 것을 나타낸다. constantFrameRate의 값은 0 내지 2의 범위 내에 포함된다.
frameRate는 평균 프레임률을 frames/(256 초)의 단위로서 제공한다. 이 연산에서 스케일링가능한 계층 프리젠테이션 내의 모든 NAL 유닛이 고려된다. 이하, C는 스케일링가능한 계층 표현의 프레임의 개수이고, t1은 스케일링가능한 계층 표현 내의 프리젠테이션 순서에서 첫 번째 픽쳐의 프리젠테이션 타임스탬프이고, t2는 스케일링가능한 계층 표현 내의 프리젠테이션 순서에서 마지막 픽쳐의 프리젠테이션 타임스탬프이다. 그러면, t1이 t2가 아니라면, frameRate는 다음과 같이 계산된다: frameRate = round(C*256/(t2-t1)). 만일 t1=t2라면, frameRate는 0일 것이다. 값이 0이면 규정되지 않은 프레임률을 나타낸다.
frm_width 및 frm_height는 스케일링가능한 계층 표현의 비디오 프레임의 최대 너비 및 높이를 각각 luma 샘플의 단위로서 제공한다. "프레임"이라는 용어는 SVC 코딩 규정에서와 동일한 방법으로 해석된다.
horizontal_offset 및 vertical_offset는 각각 최상위 스케일링가능한 계층 표현에 의해 표현되는 전체 영역의 상-좌(top-left) 픽셀에 대한, 스케일링가능한 계층 표현에 표현되는 사각형 영역의 상-좌 픽셀의 수평과 수직 오프셋을 루마 샘플 단위로 제공한다.
region_width 및 region_height는 각각 스케일링가능한 계층 표현에 표현되는 사각형 영역의 너비 및 높이를 최상위 스케일링가능한 계층 표현에 의해 표현되는 전체 영역과 동일한 스케일의 루마 샘플 단위로 제공한다.
entry_count는 표 5의 엔트리들의 개수를 제공한다.
dependencyLayerId는 현재의 스케일링가능한 계층이 직접 또는 간접적으로 종속하는 스케일링가능한 계층의 layerId를 제공한다.
dependencyLayerId의 값은 현재의 스케일링가능한 계층의 layerId보다 더 작을 것이다. 현재의 스케일링가능한 계층의 표현은 dependencyLayer에 의해 표시되는 스케일링가능한 계층의 존재를 필요로 한다.
서브-샘플 정보 박스의 신택스는 다음과 같이 표 5에 제공된다.
aligned(8) class SubSampleInformationBox extends FullBox('subs', version, 0) { unsigned int(32) entry_count; int i,j; for (i=0; i < entry_count; i++) { unsigned int(32) sample_count; unsigned int(16) subsample_count; if (subsample_count > 0) { for (j=0; j < subsample_count; j++) { if(version == 1) { unsigned int(32) subsample_size; } else { unsigned int(16) subsample_size; } unsigned int(8) subsample_priority; unsigned int(8) discardable; unsigned int(32) reserved = 0; } } } }
예시적인 실시예에서, 23-비트 예약 필드(reserved field)의 첫 번째 8개 비트들이, 서브-샘플이 속하는 스케일링가능한 계층 식별자를 시그널링하기 위하여 이용되는데, 즉, 전술된 마지막 신택스 요소들은 표 6에 제공된 바와 같은 두 개의 신택스 요소들로 분리된다.
... unsigned int(8) layerId; unsigned int(24) reserved = 0; ...
유사한 방법이 다른 파일 포맷 내의 시그널링을 지원하기 위하여 적용될 수 있다. 만일 ISO 파일 포맷에서 지원된다면, 이것은 자연스럽게 유도된 파일 포맷, 이를테면 MPEG-4 파일 포맷, AVC 파일 포맷, 및 3GPP 파일 포맷 내에서 지원된다.
발명자들은 ISO 베이스 미디어 파일 포맷에서 유도되는 다음과 같은 SVC 파일 포맷(AVC FF Amd.2)을 개발하였다:
샘플은 다음과 같이 ISO 베이스 미디어 파일 포맷 내에서 정의된다:
비-암시(non-hint) 트랙 내에서, 샘플은 비디오의 개별 프레임, 비디오 프레임의 시간-연속적인 시리즈, 또는 오디오의 시간-연속적인(time-contiguous) 압축 섹션이다. 암시 트랙(hint track) 내에서, 샘플은 하나 또는 그 이상의 스트리밍 패킷의 형성(formation)을 정의한다. 동일한 트랙 내의 두 개의 트랙은 동일한 타임-스탬프를 공유하여서는 안된다.
스케일링가능한 비디오에서, 특히 공간 및 품질 스케일링가능성을 위하여, 동일한 트랙 내의 두 개의 샘플들이 동일한 타임스탬프를 가져서는 안된다는 전술된 제한 조건은 적용가능하지 않은데, 그 이유는 하나 이상의 픽쳐(예를 들어 베이스 계층 픽쳐 및 공간 확장 계층 픽쳐)가 동일한 타임스탬프를 공유할 수 있기 때문이다. 만일 이러한 픽쳐들이 동일 샘플 내에서 생성되면, 샘플로의 파싱이 언제나 필요하기 때문에, 서버로 하여금 스케일링가능한 절단(truncation)을 수행하는 것은 용이하지 않다.
SVC WD 1.0에서, 픽쳐는 다음과 같이 정의된다:
픽쳐는 NAL 유닛의 일 집합으로부터 동일한 픽쳐 순서 카운트 및 DependencyId를 가지고 디코딩된다. 상응하는 NAL 유닛은 한 픽쳐의 모든 매크로블록에 대한 슬라이스 NAL 유닛 및 아마도 추가적인 연속적 정제 슬라이스(progressive refinement slice) NAL 유닛들을 포함할 수 있다.
전술된 정의에 따르면, 연속적 정제 슬라이스(즉 FGS 슬라이스)는 상응하는 베이스 계층으로서 동일한 픽쳐 내에 존재한다. 만일 FGS 슬라이스 및 상응하는 베이스 계층이 동일한 샘플 내에 생성되면, 비-FGS 동작에 대하여도 샘플로의 파싱이 여전히 필요하기 때문에, 서버가 스케일링가능한 절단을 수행하는 것은 용이하지 않다. 그러므로, 예시적인 일 실시예에서, 각 FGS 확장 평면(enhancement plane) 또는 상응하는 베이스 계층은 자신 스스로의 픽쳐로 분리되어 들어간다.
서브-샘플은 한 샘플 내의 하나 또는 그 이상의 연속적인(contiguous) NAL 유닛으로서 정의된다.
ProfileLevelBox 내의 예약된 필드의 최초 8개 비트들은 프로파일 호환성 정보(profile compatibility information)를 포함하기 위하여 이용되고, 따라서 그 신택스는 다음과 같다:
class ProfileLevelBox extends Box('pflv'){ unsigned int(16) profileIdc; unsigned int(16) levelIdc; unsigned int(8) profile_compatibility; unsigned int(24) reserved = 0; }
profile_compatibility는 SVC 비디오 규정에 설명된 바와 같이, 시퀀스 파라미터 집합 내의 profile_idc 및 level_idc 사이에서 발생되는 바이트와 정확히 동일하도록 정의되는 바이트이다.
후속하는 스케일가능성 정보 타입들은 SVC 코딩 포맷에 특유한 것이다:
- DependencyId and TemporalLevel
- Used initial parameter sets
- Buffer information
이러한 정보를 저장하기 위하여, 해당 정보를 포함하기 위하여 몇 개의 신규 박스들이 정의될 수 있으며, 필요할 경우 이들을 ScalabilitylnfoEntry에 저장할 수 있다.
Box Types: 'ddep', 'ipms', 'sbuf' Container: ScalableLayerEntry or other data structures Mandatory: No Quantity: 0 or 1 class DecodingDependencyInfoBox extends Box('ddep'){ unsigned int(3) dependency_id; unsigned int(3) temporal_level; unsigned int(2) reserved = 0; } class InitialParameterSetBox extends Box('ipms'){ unsigned int(5) numOfSequenceParameterSets; unsigned int(3) reserved = 0; for (i=0; i< numOfSequenceParameterSets; i++) { unsigned int(16) sequenceParameterSetLength ; bit(8*sequenceParameterSetLength) sequenceParameterSetNALUnit; } unsigned int(8) numOfPictureParameterSets; for (i=0; i< numOfPictureParameterSets; i++) { unsigned int(16) pictureParameterSetLength; bit(8*pictureParameterSetLength) pictureParameterSetNALUnit; } } class SvcBufferingBox extends BufferingBox('sbuf'){ unsigned int(16) operation_point_count for (i = 0; i < operation_point_count; i++){ unsigned int (32) tx_byte_rate unsigned int (32) cpb_size unsigned int (32) dpb_size unsigned int (32) init_cpb_delay unsigned int (32) init_dpb_delay } }
의미론은 다음과 같다.
dependency_id 및 temporalLevel은 각각 SVC 비디오 규정에 설명된 바와 같은 DependencyId 및 TemporalLevel의 스케일링가능한 계층의 값들을 제공한다.
numOfSequenceParameterSets는 해당 스케일링가능한 계층 표현을 디코딩하기 위한 시퀀스 파라미터 집합의 최초 집합으로서 이용되는 시퀀스 파라미터 집합들의 개수를 나타낸다.
sequenceParameterSetLength는 SVC 비디오 규정에 정의된 바와 같은 시퀀스 파라미터 집합 NAL 유닛의 길이를 바이트 단위로 나타낸다.
sequenceParameterSetNALUnit는 SVC 비디오 규정에 설명된 바와 같이 시퀀스 파라미터 집합 NAL 유닛을 포함한다. 시퀀스 파라미터 집합들은 간격(gap)이 허용되는 상태로 파라미터 집합 식별자의 오름차순으로 나타날 것이다.
numOfPictureParameterSets는 해당 스케일링가능한 계층 표현을 디코딩하기 위한 픽쳐 파라미터 집합의 최초 집합으로서 이용되는 픽쳐 파라미터 집합들의 개수를 나타낸다.
pictureParameterSetLength는 SVC 비디오 규정에 정의된 바와 같은 픽쳐 파라미터 집합 NAL 유닛의 길이를 바이트 단위로 나타낸다.
pictureParameterSetNALUnit는 SVC 비디오 규정에 설명된 바와 같이 픽쳐 파라미터 집합 NAL 유닛을 포함한다. 픽쳐 파라미터 집합들은 간격이 허용되는 상태로 파라미터 집합 식별자의 오름차순으로 나타날 것이다.
operation_point_count는 동작 포인트(operation points)의 개수를 규정한다. SVC HRD 파라미터의 값이 각 동작 포인트에 대하여 개별적으로 규정된다. operation_point_count의 값은 0보다 더 클 것이다.
tx_byte_rate는 입력 바이트율(초당 바이트수의 단위로)을 SVC HRD의 코딩된 픽쳐 버퍼(coded picture buffer, CPB)에게 표시한다. 스케일링가능한 계층 표현의 비트 스트림은 SVC 비디오 규정에 설명된 바와 같이 8*(NAL HRD 파라미터를 위한 tx_byte_rate의 값)과 동일한 BitRate의 값에 의하여 한정된다. VCL HRD 파라미터에 대하여, BitRate 값은 tx_byte_rate*40/6과 같다. tx_byte_rate의 값은 0보다 클 것이다.
cpb_size는 코딩된 픽쳐 버퍼의 요구되는 크기를 바이트 단위로 제공한다. 스케일링가능한 계층 표현의 비트 스트림은 SVC 비디오 규정에 설명된 바와 같이 NAL HRD 파라미터에 대하여 cpb_size*8과 동일한 CpbSize의 값에 의하여 제한되된다. VCL HRD 파라미터에 대해서는 CpbSize의 값은 cpb_size*40/6과 같다.
dpb_size는 디코딩된 픽쳐 버퍼의 필요 크기를 바이트 단위로 제공한다. 스케일링가능한 계층 표현의 비트 스트림은 SVC 비디오 규정에 설명된 바와 같이 Min( 16 , Floor(post_dec_buf_size) / (PicWidthMbs * FrameHeightlnMbs * 256 * ChromaFormatFactor ) ) )와 동일한 max_dec_frame_buffering의 값에 의해 제한된다.
동일한 동작 포인트의 tx_byte_rate, cpb_size, 및 dpb_size 값들의 적어도 하나의 집합은 스케일링가능한 계층 표현의 비트 스트림의 프로파일 및 레벨에 의하여 설정된 제한 조건에 따를 것이다.
init_cpb_delay는 제1 액세스 유닛의 제1 비트의 프리-디코더 버퍼(pre-decoder buffer) 내의 도달 시간 및 해당 제1 액세스 유닛의 프리-디코더 버퍼로부터의 제거 시간 간의 요구되는 지연을 제공한다. 이것은 90 kHz의 클록의 단위로 표시된다. 스케일링가능한 계층 표현의 비트 스트림은 SVC 비디오 규정에 규정된 바와 같은 init_cpb_delay와 동일한, 코딩된 픽쳐 버퍼(CPB)로부터의 제1 액세스 유닛의 명목적(nominal) 제거 시간의 값인 tr,n(0)의 값에 의하여 제한된다.
init_dpb_delay는 제1 디코딩된 픽쳐의 포스트-디코더 버퍼 내의 도달 시간 및 해당 제1 디코딩된 픽쳐의 포스트-디코더 버퍼로부터의 출력 시간 간의 요구되는 지연을 제공한다. 이것은 90 kHz의 클록의 단위로 표시된다. 클록 틱 변수(clock tick variable) tc가 1/90000이라면, 스케일링가능한 계층 표현의 비트 스트림은 SVC 비디오 규정에 규정된 바와 같은 init_dpb_delay와 동일한, 출력 순서로 제1 디코딩된 픽쳐에 대한 dpb_output_delay의 값에 의해 제한된다.
이하, 파일 포맷 또는 비트 스트림 내에 스케일링가능성 정보를 저장하는 몇 가지 동기(motivation)들이 제공된다.
계층에 대한 개별 트랙들을 이용하는 대신에 단일 트랙 내에 모든 계층을 포함시키는 것이 바람직한데, 그 이유는 한 스케일링가능한 스트림에 대해 수백 개의 트랙들이 존재할 수 있기 때문이다.
샘플/픽쳐의 스케일링가능한 계층으로의 매핑 동작은 그루핑 개념(grouping concept)이다. 샘플 그룹 디자인은 매핑 정보 및 스케일링가능한 계층들의 스케일링가능성 계층 정보를 시그널링하기 위한 정밀한(elegant) 방법을 제공한다.
많은 애플리케이션에서, 스케일링가능한 계층의 스케일가능성 정보의 일부는 전체 기본 스트림(elementary stream) 또는 최상위 스케일링가능한 계층과 완전히 동일하다. 상이한 선택적 박스들 내의 스케일링가능성 정보를 범주화(categorizing) 및 시그널링함으로써, 이러한 정보 부분들은 반복하여 저장될 필요가 없다. 또한, 박스를 이용하는 것은, 만일 더 많은 스케일링가능성 정보가 필요하다면 신규한 박스들을 샘플 그룹 기술자 엔트리 내에 포함시킴으로써 용이하게 추가될 수 있다는 점에서 유용한 방법이다.
스트리밍 서버가 프로파일 P와 레벨 L을 가지는 스케일링가능한 스트림을 저장했다고 가정하면, 해당 스트림의 스케일링가능한 계층은 프로파일 P1 및 L1이고, L1@P1에 순응하는 디코더의 구현 요구치는 L@P에 순응하는 디코더보다 간단하다. 만일 서버가 비디오 콘텐츠를 L1@P1에 순응하는 디코더를 가지는 클라이언트로 공급하려고 한다면, 서버는, 예를 들어 가정적 참조 디코더(hypothetical reference decoder)를 실행시킴으로써 L1@P1에 순응하는 스케일링가능한 계층이 존재하는지 해당 스트림을 점검하여야 하는데, 이것은 스트리밍 서버에 추가적인 구현 복잡성 및 연산 복잡성을 부가한다. 각 스케일링가능한 계층에 대하여 시그널링된 프로파일 및 레벨 정보를 가짐으로써, 전술된 어플리케이션들이 더 간단한 서버 장치를 가질 수 있도록 허용한다.
비트율, 프레임률, 및 프레임 크기 정보가 비트율, 시간적 및 공간적 스케일링가능성을 위하여 자연적으로 필요하다. 영역 정보는 N6880에 요구된 바와 같이 관심 영역(ROI) 스케일링가능성을 지원하는데 유용하다.
상이한 스케일링가능한 계층 표현의 디코딩은 상이한 버터 크기 및 버퍼링 지연을 요구한다. 버퍼 정보의 존재는, 스케일링가능한 계층 표현의 수신기/디코더로 하여금 디코딩을 위하여 적은 메모리를 할당하도록 하거나 더 짧은 초기 지연을 가지도록 허용하는데, 이들 두 가지 모두는 말단 사용자가 경험하는 서비스 품질을 향상시키는데 도움이 된다.
특정 스케일링가능한 계층 표현을 위하여 모든 상위 계층들이 요구되지는 않는다는 점이 알려지지만, 디폴트로 어떤 하위 계층들이 필요하지 않은 지는 알려지지 않는다. 계층 의존성 정보는 스트리밍 서버로 하여금 스트림을 분석하지 않은 채 필요 없는 하위 계층을 전송하지 않도록 허용하는데, 이러한 동작은 복잡한 장치를 요구하는 것이다.
정밀 입자성 스케일가능성을 구현한다. 이러한 정보는 스케일링가능한 계층이 정밀 입자성 스케일링가능한(FGS) 계층인지 여부를 나타내는데, FGS 계층의 비트 스트림 데이터 유닛은 모든 바이트 정렬된 위치에서 절단될 수 있다.
AVC 내의 종래의 코딩 기술(즉 새로운 SVC 확장이 아닌)은, 예를 들어 모션 제한된 슬라이스 그룹 집합을 이용함으로써 ROI 스케일링가능성을 얻는데 채택될 수 있다. 그러나, SVC 파일 포맷은 반드시 역방향으로 QVC 파일 포맷과 호환되어야 한다는 요구 조건(N6880의 제4 절)이 존재한다. 이러한 요구 조건을 만족시키고, 동시에 ROI 스케일링가능성도 지원하기 위하여, 서브-샘플 정보가 요구되는데, 그 이유는 베이스 계층(ROI 영역) 및 확장 계층(레프트오버(leftover) 영역)이 동일한 샘플 내에 존재해야 하기 때문이다. 그러므로, 서브-픽쳐 계층들이 이러한 목적을 위하여 이용될 수 있다.
디코딩 의존성 정보는 스케일링가능한 확장 계층 NAL 유닛의 NAL 유닛 헤더에 포함된다. 일부 애플리케이션에서, 미디어-인식 네트워크 요소 또는 수신기로 하여금 어떤 스케일링가능한 계층들이 폐기(discarded)되었는지에 대한 정보를 지득하도록 하는 것이 바람직하다. 미디어-인식 네트워크 요소 또는 수신기가 불필요한 NAL 유닛들을 폐기하도록 돕기 위하여, 디코딩 의존성 정보 및 스케일링가능한 계층 식별자 간의 매핑이 필요하다.
스케일링가능한 계층 표현이 전체 스트림의 모든 초기치 파라미터 집합들을 사용하지 않을 수 있다는 사실 때문에, 이러한 파라미터 집합 모두를 송신하면 송신 대역폭의 낭비 및 초기 설정 지연이 더 길게 발생하는 문제점을 야기할 수 있는데, 이것은 특히 전형적으로는 초기 파라미터 집합들이 대역-외(out-of-band)에서 신뢰성있게 송신되며, 이것은 수신 확인이 이용되고 재송신도 필요할 수 있다는 것을 암시하기 때문이다. 각 스케일링가능한 계층 표현에 대한 초기 파라미터 집합의 시그널링이 이러한 문제점을 해결한다. 또한, 서버로 하여금 비트 스트림을 분석함으로써 해당 정보를 획득하는 것도 가능하다. 그러나, 이렇게 하려면 서버가 미디어를 인식할 수 있어야 하고 실시간(on-the-fly) 비트 스트림 분석을 하여야 한다.
송신 및 제어 프로토콜 내의 시그널링
예를 들어, 3GPP PSS와 같은 유니캐스트 스트리밍에서, 서버는 스케일링가능성 정보에 기반하여 동일한 스트림에 대한 다중 대안(alternative)들을 생성할 수 있는데, 이 경우 각 SDP 기술자가 하나 또는 그 이상의 대안을 포함하는 다중 SDP 기술자를 통하거나, 또는 다중 대안들을 포함하는 하나의 SDP 기술자를 통하여 생성할 수 있다. 수신 단말기는 하나 또는 0개의 대안들을 선택한다. 만일 한 대안이 선택되면, 서버는 어떤 계층들이 송신되어야 하는지 알게 된다.
멀티캐스트/브로드캐스트 어플리케이션에서는, 상이한 성능을 가지는 수신 단말기 및/또는 상이한 네트워크 컨디션을 가지는 수신 단말기들이 존재하는데, 따라서, 상이한 수신 단말기들에 대하여는 상이한 스트림의 대안들이 이상적이라는 결론을 얻게 된다. 이러한 경우에, 수신기들을 상이한 멀티캐스트/브로드캐스트 그룹으로 나누고, 각 그룹 내의 수신기들이 동일한 대안을 공유하는 것이 가능하다. 이러한 방법을 이용하면, 각 수신 단말기들에 대한 가용 대역폭은 효율적으로 이용될 수 있다.
유니캐스트 경우와 유사하게, 모든 수신기들이 동일한 대안을 공유하는 멀티캐스트/브로드캐스트 그룹에 대하여 관련된 계층들이 서버 측으로부터 송신된다.
그러나, 만일 하나 이상의 멀티캐스트/브로드캐스트 그룹이 존재하면, 서버는 서비스 공고(service announcement)를 통하여 어떤 대안들이 사용가능한지 제공함으로써, 각 수신기가 구독할(subscribe) 하나의 대안 서비스를 선택할 수 있도록 하여야 한다. 이러한 동작은, 예를 들어 유니캐스트 경우에서와 유사한 방법으로 SDP를 이용함으로써 달성될 수 있다.
또한, 특정 멀티캐스트/브로드캐스트에 그룹 내에, 다중 계층을 가지는 한 대안이 송신되는 것이 가능하며, 이 경우 수신기는 계층들 중 하나를 디코딩하도록 선택하고 나머지 데이터는 폐기하도록 선택한다. 이러한 방법을 이용하면, 송신 장치를 위한 가용 대역폭은 효율적으로 이용될 수 있는데, 그 이유는 더 적은 수의 스트림들이 송신되기 때문이다. 이 경우에, 동일한 멀티캐스트/브로드캐스트 그룹에 대해서, 서버는 상이한 수신 단말기들의 상이한 선호도(preferences)를 알 필요가 없다. 그러나, 여전히 서버가 서비스 공고를 통하여 대안 정보를 제공함으로써, 수신기가 자신이 대안들 중 어떤 것을 디코딩할 수 있는지 여부를 결정하도록 하는 것은 필요하다.
전술된 두 방법들은 함께 적용될 수 있다. 즉, 다중 멀티캐스트/브로드캐스트 그룹이 존재할 수 있다. 이러한 그룹들 중 몇 개에서, 모든 수신기들은 동일한 대안을 디코딩할 수 있으며, 다른 그룹에서는 수신기들 중 몇 개는 수신된 시그널링 계층들 중 몇 개를 폐기할 수 있다. 결합된 방법이 서버 내의 가용 대역폭의 효율 및 수신기 내의 가용 대역폭의 효율성 모두를 광역적으로(globally) 최적화하는데 이용될 수 있다.
전술된 바와 같이, 본 발명의 기술적 사상에 포함되는 실시예들은 그 위에 기록된 컴퓨터에 의하여 실행될 수 있는 명령어 또는 데이터 구조를 실행 또는 저장하기 위한 컴퓨터에 의하여 독출될 수 있는 매체를 포함하는 프로그램 생성물을 포함한다. 이러한 컴퓨터에 의하여 독출될 수 있는 미디어는 범용 목적 또는 특수 목적 컴퓨터에 의하여 액세스 될 수 있는 모든 가용 미디어일 수 있다. 예를 들자면, 이러한 컴퓨터에 의하여 독출될 수 있는 미디어는 RAM, ROM, EPROM, EEPROM, CD-ROM, 또는 다른 광학 디스크 기억 장치, 자기 디스크 저장 장치, 또는 범용 목적 컴퓨터 또는 특수 목적 컴퓨터에 의하여 액세스 될 수 있으며, 컴퓨터에 의하여 실행될 수 있는 명령어 또는 데이터 구조들의 형태로 저장된 원하는 프로그램 코드를 실행 또는 저장하는데 이용될 수 있는 모든 매체일 수 있다. 정보가 네트워크를 통하여 또는 다른 통신 커넥션(유선, 무선, 또는 유무선 커넥션 모두일 수 있다)을 통하여 컴퓨터에 전달 또는 제공된다면, 컴퓨터는 이러한 커넥션을 컴퓨터에 의하여 독출될 수 있는 매체로서 간주할 수 있다. 그러므로, 이러한 모든 커넥션은 컴퓨터에 의하여 독출될 수 있는 매체라고 불릴 수 있다. 전술된 예들의 조합 역시 컴퓨터에 의하여 독출될 수 있는 매체의 범위에 포함될 수 있다. 컴퓨터에 의하여 실행될 수 있는 명령어들의 예를 들면, 범용 목적 컴퓨터, 특수 목적 컴퓨터, 또는 특수 목적 처리 장치로 하여금 특정 기능 또는 일 군의 기능을 수행하도록 야기하는 명령어 및 데이터가 포함될 수 있다.
본 발명이 적용될 수 있는 시스템의 일 예가 도 1에 도시된다. 예를 들어, 도시된 시스템은 본 발명에 따라 인코딩된 미디어 스트림을 포함하는 파일(103)을 포함하는 저장 매체(102)를 포함하는 송신 서버(101)를 포함한다. 파일(103)은 이동 통신 네트워크와 같은 네트워크(104)에 하나 또는 그 이상의 신호로서 송신된다. 네트워크(104)에는 게이트웨이(105)가 포함될 수 있는데, 게이트웨이는 파일(103)을 수신하고, 이것을 예를 들어 MMSC(107)의 제어에 의해 네트워크의 예컨대 기지국(106)으로 전달한다. 수신기(108)는 신호(들)을 수신할 수 있고, 신호(들)에 포함되는 스케일가능성 정보와 일부 다른 정보를 디코딩할 수 있다.
본 발명은 방법 단계들의 관점에서 일반적인 개념에서 설명되는데, 이것은 네트워킹된 환경 내의 컴퓨터에 의하여 실행되는 프로그램 코드와 같은 컴퓨터에 의하여 실행될 수 있는 명령어들을 포함하는 프로그램 생성물에 의하여 일 실시예의 형태로 구현될 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상화 데이터 타입(abstract data type)을 구현하는 루틴, 프로그램, 객체, 성분, 데이터 구조 등을 포함한다. 데이터 구조와 관련된 컴퓨터에 의하여 실행될 수 있는 명령들 및 프로그램 모듈들은 본 명세서에 개시된 방법의 단계들을 실행하기 위한 프로그램 코드의 예시들을 나타낸다. 이러한 실행 가능 명령 또는 관련된 데이터 구조의 특정 시퀀스는 이러한 단계에서 설명된 기능들을 구현하기 위한 상응하는 동작들의 예들을 나타낸다.
본 발명의 소프트웨어 및 웹 장치들은 규칙-기반 로직(rule-based logic) 및 다양한 데이터베이스 검색 단계들, 상응 단계들, 비교 단계들 및 결정 단계들을 달성하기 위한 다른 로직들을 가지는 표준 프로그래밍 기법들을 이용하여 달성될 수 있다. 상세한 설명 및 청구의 범위에서 이용되는 "성분" 및 "모듈"이라는 용어들은 소프트웨어 코드 및/또는 하드웨어 장치, 및/또는 매뉴얼 입력을 수신하기 위한 장치를 이용하는 장치들을 포함하는 개념으로 이용된다.
본 발명의 실시예들에 대한 전술된 상세한 설명은 예시 및 설명의 목적으로 제공된 것이다. 이러한 설명은 개시된 상태에 따라서 본 발명을 한정하고자 하는 목적으로 제한적으로 사용된 것이 아니며, 전술된 교시 내용에 따른 수정 및 변경이 가능한 것은 물론, 이러한 수정 및 변경이 본 발명을 실시하는데 필요할 수도 있다. 도시된 실시예들은 본 발명의 기술적 사상 및 실용적인 실시예들을 설명함으로써 당업자에게 본 발명을 요구되는 특이한 용도에 적합하도록 다양한 실시예들 및 다양한 변형예를 구현하여 이용함으로써 본 발명을 실시하도록 허용하기 위하여 제공된 것이다. 예를 들면, 본 발명의 실시예들에 대한 상세한 설명은 거의 시간 스케일링가능성(temporal scalability)에 대하여 제공되었다. 그러나, 공간 스케일링가능성(spatial scalability), 연산 스케일링가능성(computational scalability), 및 품질(신호-대-잡음 비) 스케일링가능성(quality scalability)과 같은 모든 종류의 스케일링가능성에도 본 발명은 적용될 수 있다. 더 나아가, 본 발명과 함께 다양한 송신 프로토콜이 적용될 수 있다. 한정적이 아닌 예시적 예 중 몇 개로는 세션 기술자 프로토콜(Session Description Protocol, SDP), 실시간 스트리밍 프로토콜(RTSP, Real-Time Stream Protocol), 및 세션 초기화 프로토콜(Session Initialization protocol, SIP)이 있다.
본 발명은 인코더, 디코더, 장치, 방법, 데이터 레코드, 모듈, 컴퓨터 프로그램 생성물, 및 적어도 두 개의 스케일링가능성 계층들을 포함하는 스케일링가능한 데이터 스트림의 데이터 인코딩, 디코딩, 저장, 및 송신을 위한 시스템에 적용될 수 있다.

Claims (57)

  1. 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 방법에 있어서,
    상기 스케일링가능한 데이터 스트림의 적어도 하나의 계층을 생성하는 단계로서, 상기 적어도 하나의 계층은 소정의 코딩 속성에 의하여 특징되고, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보(fine granularity scalability information);
    - 관심 영역(ROI) 스케일링가능성 정보(region-of-interest scalability information);
    - 서브-샘플 스케일링가능 계층 정보(sub-sample scalable layer information);
    - 디코딩 의존성 정보(decoding dependency information); 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 단계, 및
    상기 특징된 코딩 속성을 가지는 상기 적어도 하나의 계층을, 상기 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 시그널링하는 단계를 포함하는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 방법.
  2. 제1항에 있어서,
    상기 시그널링 단계는 상기 스케일링가능한 데이터 스트림의 비트 스트림 내에서 수행되는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 방법.
  3. 제1항에 있어서,
    상기 시그널링 단계는 상기 스케일링가능한 데이터 스트림을 저장할 수 있는 파일 포맷 내에서 수행되는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 방법.
  4. 제1항에 있어서,
    상기 시그널링 단계는 적어도 하기 표에 따라서 형성되는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 방법
    scalability_info( payloadSize ) num_layers_minus1 for ( i = 0; i <= num_layers_minus1; i++ ) fgs_layer_flag[ i ] sub_pic_layer_flag[ i ] sub_region_layer_flag[ i ] profile_level_info_present_flag[ i ] decoding_dependency_info_present_flag[ i ] bitrate_info_present_flag[ i ] frm_rate_info_present_flag[ i ] frm_size_info_present_flag[ i ] layer_dependency_info_present_flag[ i ] init_parameter_sets_info_present_flag[ i ] if (profile_level_info_present_flag[ i ]) layer_profile_idc[ i ] layer_constraint_set0_flag[ i ] layer_constraint_set1_flag[ i ] layer_constraint_set2_flag[ i ] layer_constraint_set3_flag[ i ] reserved_zero_4bits /* equal to 0 */ layer_level_idc[ i ] } if (decoding_dependency_info_present_flag[ i ]) { dependency_id[ i ] temporal_level[ i ] } if (bitrate_info_present_flag[ i ]) avg_bitrate[ i ] max_bitrate[ i ] } if (frm_rate_info_present_flag[ i ]) constant_frm_rate_idc[ i ] avg_frm_rate[ i ] } if (frm_size_info_present_flag[ i ]) frm_width_in_mbs_minus1[ i ] frm_height_in_mbs_minus1[ i ] } if (sub_region_layer_flag[ i ]) horizontal_offset[ i ] verticial_offset[ i ] region_width[ i ] region_height[ i ] } If (layer_depdendency_info_present_flag[ i ]) num_directly_dependent_layers[ i ] for ( j = 0; j < num_directly_dependent_layers[ i ]; j++ ) directly_dependent_layer_id_delta[ i ][ j ] } If (init_parameter_sets_info_present_flag[ i ]) num_ init_seq_parameter_set_minus1[ i ] for ( j = 0; j <= num_seq_parameter_set_minus1[ i ]; j++ ) init_seq_parameter_set_id_delta[ i ][ j ] num_ init_pic_parameter_set_minus1[ i ] for ( j = 0; j <= num_pic_parameter_set_minus1[ i ]; j++ ) init_pic_parameter_set_id_delta[ i ][ j ] } }
    .
  5. 제1항에 있어서,
    상기 시그널링 단계는 상기 스케일링가능한 데이터 스트림을 송신할 수 있는 송신 프로토콜 내에서 수행되는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 방법.
  6. 제5항에 있어서,
    상기 송신 프로토콜은 세션 기술 프로토콜(Session Description protocol, SDP), 실시간 스트리밍 프로토콜(Real-Time Streaming protocol, RTSP), 및 세션 초기화 프로토콜(Session Initialization protocol, SIP)로 이루어진 집합 중 하나인 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 방법.
  7. 소정의 코딩 속성을 가지는 적어도 하나의 계층을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 방법에 있어서,
    상기 스케일링가능한 데이터 스트림의 적어도 하나의 계층을 수신하는 단계로서, 상기 적어도 하나의 계층은 소정의 코딩 속성에 의하여 특징되고, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 단계, 및
    상기 특징된 코딩 속성을 가지는 상기 적어도 하나의 계층을, 상기 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 시그널링하는 단계를 포함하며, 상기 방법은,
    - 적어도 하나의 계층의 상기 코딩 속성을 검사하는 단계;
    - 상기 검사에 기반하여 상기 계층의 디코딩이 가능한지 결정하는 단계; 및 만일 디코딩이 가능하다고 결정되면;
    - 상기 적어도 하나의 계층을 디코딩하는 단계를 더 포함하는 것을 특징으로 하는 소정의 코딩 속성을 가지는 적어도 하나의 계층을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 방법.
  8. 제7항에 있어서,
    상기 시그널링 단계는 상기 스케일링가능한 데이터 스트림의 비트 스트림 내에서 수행된 바 있으며,
    상기 검사 단계는, 상기 비트 스트림을 검사하는 단계를 포함하는 것을 특징으로 하는 소정의 코딩 속성을 가지는 적어도 하나의 계층을 포함하는 스케일링가 능한 데이터 스트림을 디코딩하기 위한 방법.
  9. 제7항에 있어서,
    상기 시그널링 단계는 상기 스케일링가능한 데이터 스트림을 저장할 수 있는 파일 포맷 내에서 수행된 바 있으며,
    상기 검사 단계는, 상기 저장된 스케일링가능한 데이터 스트림을 검사하는 단계를 포함하는 것을 특징으로 하는 소정의 코딩 속성을 가지는 적어도 하나의 계층을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 방법.
  10. 제7항에 있어서,
    상기 시그널링 단계는 하기 신택스에 따라서 형성된 데이터를 적어도 포함하는 것을 특징으로 하는 소정의 코딩 속성을 가지는 적어도 하나의 계층을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 방법
    scalability_info( payloadSize ) num_layers_minus1 for ( i = 0; i <= num_layers_minus1; i++ ) fgs_layer_flag[ i ] sub_pic_layer_flag[ i ] sub_region_layer_flag[ i ] profile_level_info_present_flag[ i ] decoding_dependency_info_present_flag[ i ] bitrate_info_present_flag[ i ] frm_rate_info_present_flag[ i ] frm_size_info_present_flag[ i ] layer_dependency_info_present_flag[ i ] init_parameter_sets_info_present_flag[ i ] if (profile_level_info_present_flag[ i ]) layer_profile_idc[ i ] layer_constraint_set0_flag[ i ] layer_constraint_set1_flag[ i ] layer_constraint_set2_flag[ i ] layer_constraint_set3_flag[ i ] reserved_zero_4bits /* equal to 0 */ layer_level_idc[ i ] } if (decoding_dependency_info_present_flag[ i ]) { dependency_id[ i ] temporal_level[ i ] } if (bitrate_info_present_flag[ i ]) avg_bitrate[ i ] max_bitrate[ i ] } if (frm_rate_info_present_flag[ i ]) constant_frm_rate_idc[ i ] avg_frm_rate[ i ] } if (frm_size_info_present_flag[ i ]) frm_width_in_mbs_minus1[ i ] frm_height_in_mbs_minus1[ i ] } if (sub_region_layer_flag[ i ]) horizontal_offset[ i ] verticial_offset[ i ] region_width[ i ] region_height[ i ] } If (layer_depdendency_info_present_flag[ i ]) num_directly_dependent_layers[ i ] for ( j = 0; j < num_directly_dependent_layers[ i ]; j++ ) directly_dependent_layer_id_delta[ i ][ j ] } If (init_parameter_sets_info_present_flag[ i ]) num_ init_seq_parameter_set_minus1[ i ] for ( j = 0; j <= num_seq_parameter_set_minus1[ i ]; j++ ) init_seq_parameter_set_id_delta[ i ][ j ] num_ init_pic_parameter_set_minus1[ i ] for ( j = 0; j <= num_pic_parameter_set_minus1[ i ]; j++ ) init_pic_parameter_set_id_delta[ i ][ j ] } }
    .
  11. 제7항에 있어서,
    상기 시그널링 단계는 상기 스케일링가능한 데이터 스트림을 송신할 수 있는 송신 프로토콜 내에서 수행되는 것을 특징으로 하는 소정의 코딩 속성을 가지는 적어도 하나의 계층을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 방법.
  12. 제11항에 있어서,
    상기 송신 프로토콜은 세션 기술 프로토콜(SDP), 실시간 스트리밍 프로토콜(RTSP), 및 세션 초기화 프로토콜(SIP)로 이루어진 집합 중 하나인 것을 특징으로 하는 소정의 코딩 속성을 가지는 적어도 하나의 계층을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 방법.
  13. 제11항에 있어서,
    상기 시그널링 단계는 버퍼 정보를 포함하며, 상기 방법은:
    - 상기 버퍼 정보를 검사하여 디코딩을 위하여 할당될 메모리의 양을 결정하는 단계; 및
    - 결정된 메모리의 양을 할당하는 단계를 포함하는 것을 특징으로 하는 소정 의 코딩 속성을 가지는 적어도 하나의 계층을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 방법.
  14. 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 인코더에 있어서,
    상기 스케일링가능한 데이터 스트림의 적어도 하나의 계층을 생성하기 위한 제1 성(으로서), 상기 적어도 하나의 계층은 소정의 코딩 속성에 의하여 특징되고, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 제1 성분; 및
    상기 특징된 코딩 속성을 가지는 상기 계층을, 상기 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 시그널링하기 위한 제2 성분을 포함하는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 인코더.
  15. 제14항에 있어서,
    상기 제2 성분은, 상기 시그널링이 상기 스케일링가능한 데이터 스트림의 비 트 스트림 내에서 수행되도록 구성되는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 인코더.
  16. 제14항에 있어서,
    상기 제2 성분은, 상기 시그널링이 상기 스케일링가능한 데이터 스트림을 저장할 수 있는 파일 포맷 내에서 수행되도록 구성되는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 인코더.
  17. 제14항에 있어서,
    상기 제2 성분은, 상기 시그널링이 상기 스케일링가능한 데이터 스트림을 송신할 수 있는 송신 프로토콜 내에서 수행되도록 구성되는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 인코더.
  18. 제14항에 있어서,
    상기 데이터 스트림은 비디오 데이터를 포함하는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 인코더.
  19. 상이한 코딩 속성을 가지는 계층들을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 디코더에 있어서,
    상기 스케일링가능한 데이터 스트림을 수신하기 위한 제1 성분;
    상기 스케일링가능한 데이터 스트림 내의 적어도 하나의 계층을 식별하고 상기 계층과 관련된 상기 계층의 코딩 속성에 대한 지시자(indication)를 독출하기 위한 제2 성분으로서, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 제2 성분;
    상기 디코더가 상기 계층을 디코딩할 수 있는지 상기 코딩 속성에 기반하여 결정하기 위한 제3 성분; 및
    상기 제3 성분이 상기 디코더가 상기 계층을 디코딩할 수 있다고 상기 코딩 속성에 기반하여 결정하면, 상기 계층을 디코딩하기 위한 제4 성분을 포함하는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 디코더.
  20. 제19항에 있어서,
    상기 데이터 스트림은 비디오 데이터를 포함하는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 디코더.
  21. 스케일링가능한 데이터 스트림을 구현하는 데이터 구조에 있어서,
    제1 코딩 속성을 가지는 데이터의 제1 계층으로서, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 제1 계층;
    상기 제1 코딩 속성을 식별하는 상기 제1 계층과 관련된 제1 지시자;
    제2 코딩 속성을 가지는 데이터의 제2 계층; 및
    상기 제2 코딩 속성을 식별하는 상기 제2 계층과 관련된 제2 지시자를 포함하는 것을 특징으로 하는 스케일링가능한 데이터 스트림을 구현하는 데이터 구조.
  22. 제21항에 있어서,
    상기 제1 지시자는 상기 스케일링가능한 데이터 스트림의 비트 스트림과 관련되는 것을 특징으로 하는 스케일링가능한 데이터 스트림을 구현하는 데이터 구조.
  23. 제21항에 있어서,
    상기 제1 지시자는 상기 스케일링가능한 데이터 스트림을 저장할 수 있는 파일 포맷에 관련되는 것을 특징으로 하는 스케일링가능한 데이터 스트림을 구현하는 데이터 구조.
  24. 제21항에 있어서,
    상기 제1 지시자는 상기 스케일링가능한 데이터 스트림을 송신할 수 있는 송신 프로토콜에 관련되는 것을 특징으로 하는 스케일링가능한 데이터 스트림을 구현하는 데이터 구조.
  25. 제21항에 있어서,
    상기 스케일링가능한 데이터 스트림은 비디오 데이터를 포함하는 것을 특징으로 하는 스케일링가능한 데이터 스트림을 구현하는 데이터 구조.
  26. 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 프로그램 생성물로서, 상기 프로그램 생성물은, 실행되면 하나 또는 그 이상의 장치로 하여금:
    상기 스케일링가능한 데이터 스트림의 적어도 하나의 계층을 생성하는 단계로서, 상기 적어도 하나의 계층은 소정의 코딩 속성에 의하여 특징되고, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 단계; 및
    상기 특징된 코딩 속성을 가지는 상기 계층을, 상기 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 시그널링하는 단계를 수행하도록 야기하기 위한 기계에 의하여 독출될 수 있는 프로그램 코드를 포함하는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 프로그램 생성물.
  27. 제26항에 있어서,
    상기 시그널링 단계는 상기 스케일링가능한 데이터 스트림의 비트 스트림 내에서 수행되는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 프로그램 생성물.
  28. 제26항에 있어서,
    상기 시그널링 단계는 상기 스케일링가능한 데이터 스트림을 저장할 수 있는 파일 포맷 내에서 수행되는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들 을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 프로그램 생성물.
  29. 제26항에 있어서,
    상기 시그널링 단계는 상기 스케일링가능한 데이터 스트림을 송신할 수 있는 송신 프로토콜 내에서 수행되는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 프로그램 생성물.
  30. 제26항에 있어서,
    상기 데이터 스트림은 비디오 데이터를 포함하는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 프로그램 생성물.
  31. 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 장치에 있어서,
    상기 스케일링가능한 데이터 스트림의 적어도 하나의 계층을 생성하기 위한 수단으로서, 상기 적어도 하나의 계층은 상기 스케일링가능한 데이터 스트림의 코딩 속성과 상이한 소정의 코딩 속성에 의하여 특징되고, 상기 적어도 하나의 계층의 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 수단; 및
    상기 특징된 코딩 속성을 가지는 상기 계층을, 상기 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 시그널링하기 위한 수단을 포함하는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 장치.
  32. 제31항에 있어서,
    상기 시그널링은 상기 스케일링가능한 데이터 스트림의 비트 스트림 내에서 수행되는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 장치.
  33. 제31항에 있어서,
    상기 시그널링은 상기 스케일링가능한 데이터 스트림을 저장할 수 있는 파일 포맷 내에서 수행되는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 장치.
  34. 제31항에 있어서,
    상기 시그널링은 상기 스케일링가능한 데이터 스트림을 송신할 수 있는 송신 프로토콜 내에서 수행되는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 장치.
  35. 제31항에 있어서,
    상기 데이터 스트림은 비디오 데이터를 포함하는 것을 특징으로 하는 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 장치.
  36. 계층들을 포함하는 스케일링가능한 데이터 스트림을 디코딩을 용이하게 하기 위하여 수정하기 위한 컨버터에 있어서,
    상기 데이터 스트림을 수신하고 상기 데이터 스트림의 계층들에 관련된 코딩 속성 지시자를 독출하기 위한 제1 성분으로서, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 제1 성분;
    상기 코딩 속성 지시자를 목적 디코더(destination decoder)의 성능(capabilities)과 비교하여 어떤 계층들이 상기 목적 디코더에 의하여 디코딩될 수 있는지 결정하기 위한 제2 성분;
    상기 데이터 스트림을 상기 목적 디코더에 의하여 디코딩될 수 있도록 수정하기 위한 제3 성분; 및
    상기 수정된 데이터 스트림을 상기 목적 디코더로 송신하기 위한 제4 성분을 포함하는 것을 특징으로 하는 계층들을 포함하는 스케일링가능한 데이터 스트림을 디코딩을 용이하게 하기 위하여 수정하기 위한 컨버터
  37. 제36항에 있어서,
    상기 제3 성분은 상기 목적 디코더에 의하여 디코딩될 수 없는 상기 데이터 스트림의 계층들을 제거하도록 구성되는 것을 특징으로 하는 계층들을 포함하는 스케일링가능한 데이터 스트림을 디코딩을 용이하게 하기 위하여 수정하기 위한 컨버터
  38. 제1항에 있어서,
    상기 적어도 하나의 계층은 확장 계층(enhancement layer)인 것을 특징으로 하는 방법.
  39. 제14항에 있어서,
    상기 적어도 하나의 계층은 확장 계층인 것을 특징으로 하는 인코더.
  40. 제19항에 있어서,
    상기 적어도 하나의 계층은 확장 계층인 것을 특징으로 하는 디코더.
  41. 제21항에 있어서,
    상기 적어도 하나의 계층은 확장 계층인 것을 특징으로 하는 데이터 구조.
  42. 제26항에 있어서,
    상기 적어도 하나의 계층은 확장 계층인 것을 특징으로 하는 프로그램 생성물.
  43. 제31항에 있어서,
    상기 적어도 하나의 계층은 확장 계층인 것을 특징으로 하는 장치.
  44. 제37항에 있어서,
    상기 적어도 하나의 계층은 확장 계층인 것을 특징으로 하는 컨버터.
  45. 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 인코더에 있어서,
    상기 스케일링가능한 데이터 스트림의 적어도 하나의 계층을 생성하기 위한 수단으로서, 상기 적어도 하나의 계층은 소정의 코딩 속성에 의하여 특징되고, 상 기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 수단; 및
    상기 특징된 코딩 속성을 가지는 상기 계층을, 상기 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 시그널링하기 위한 수단을 포함하는 것을 특징으로 하는 인코더.
  46. 디코더 내에서 스케일링가능한 데이터 스트림을 디코딩하기 위한 방법으로서, 상기 데이터 스트림은 상이한 코딩 속성을 가지는 계층들을 포함하는 방법에 있어서, 상기 방법은,
    상기 스케일링가능한 데이터 스트림을 수신하는 단계;
    상기 스케일링가능한 데이터 스트림 내의 적어도 하나의 계층을 식별하고 상기 계층과 관련된 상기 계층의 코딩 속성에 대한 지시자를 독출하는 단계로서, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 단계;
    상기 디코더가 상기 계층을 디코딩할 수 있는지 상기 코딩 속성에 기반하여 결정하는 단계; 및
    상기 디코더가 상기 계층을 디코딩할 수 있다고 상기 코딩 속성에 기반하여 결정되면, 상기 계층을 디코딩하는 단계를 포함하는 것을 특징으로 하는 방법.
  47. 상이한 코딩 속성을 가지는 계층을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 디코더에 있어서, 상기 디코더는,
    상기 스케일링가능한 데이터 스트림을 수신하기 위한 수단;
    상기 스케일링가능한 데이터 스트림 내의 적어도 하나의 계층을 식별하고 상기 계층과 관련된 상기 계층의 코딩 속성에 대한 지시자를 독출하기 위한 수단으로서, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 수단;
    상기 디코더가 상기 계층을 디코딩할 수 있는지 상기 코딩 속성에 기반하여 결정하기 위한 수단; 및
    상기 디코더가 상기 계층을 디코딩할 수 있다고 상기 코딩 속성에 기반하여 결정되면, 상기 계층을 디코딩하기 위한 수단을 포함하는 것을 특징으로 하는 디코더.
  48. 상이한 코딩 속성을 가지는 계층을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 디코더를 포함하는 장치에 있어서, 상기 장치는:
    상기 스케일링가능한 데이터 스트림을 수신하도록 적응된 수신기;
    상기 스케일링가능한 데이터 스트림 내의 적어도 하나의 계층을 식별하고 상기 계층과 관련된 상기 계층의 코딩 속성에 대한 지시자를 독출하도록 적응된 식별기(identifier)로서, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 식별기; 및
    상기 디코더가 상기 계층을 디코딩할 수 있는지 상기 코딩 속성에 기반하여 결정하기 위한 결정기(determinator)를 포함하며, 상기 디코더는,
    상기 결정기가 상기 디코더가 상기 계층을 디코딩할 수 있다고 상기 코딩 속성에 기반하여 결정하면, 상기 계층을 디코딩하도록 적응되는 것을 특징으로 하는 장치.
  49. 스케일링가능한 데이터 스트림을 수신기로 송신하기 위한 시스템에 있어서,
    상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 인코더로서:
    상기 스케일링가능한 데이터 스트림의 적어도 하나의 계층을 생성하기 위한 제1 성분으로서, 상기 적어도 하나의 계층은 소정의 코딩 속성에 의하여 특징되고, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 제1 성분; 및
    상기 특징된 코딩 속성을 가지는 상기 계층을, 상기 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 시그널링하기 위한 제2 성분을 포함하는 인코더; 및
    상이한 코딩 속성을 가지는 계층을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 디코더로서:
    상기 스케일링가능한 데이터 스트림을 수신하기 위한 제5 성분;
    상기 스케일링가능한 데이터 스트림 내의 적어도 하나의 계층을 식별 하고 상기 계층과 관련된 상기 계층의 코딩 속성에 대한 지시자를 독출하기 위한 제6 성분으로서, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 제6 성분;
    상기 디코더가 상기 계층을 디코딩할 수 있는지 상기 코딩 속성에 기반하여 결정하기 위한 제7 성분; 및
    상기 제7 성분이 상기 디코더가 상기 계층을 디코딩할 수 있다고 상기 코딩 속성에 기반하여 결정하면, 상기 계층을 디코딩하기 위한 제8 성분을 포함하는 디코더를 포함하는 것을 특징으로 하는 시스템.
  50. 디코더 내에서 스케일링가능한 데이터 스트림을 디코딩하기 위한 프로그램 생성물로서, 상기 데이터 스트림은 상이한 코딩 속성을 가지는 계층들을 포함하고, 상기 프로그램 생성물은, 실행되면 하나 또는 그 이상의 장치로 하여금:
    상기 스케일링가능한 데이터 스트림을 수신하는 단계;
    상기 스케일링가능한 데이터 스트림 내의 적어도 하나의 계층을 식별하고 상기 계층과 관련된 상기 계층의 코딩 속성에 대한 지시자를 독출하는 단계로서, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 단계;
    상기 디코더가 상기 계층을 디코딩할 수 있는지 상기 코딩 속성에 기반하여 결정하는 단계; 및
    상기 디코더가 상기 계층을 디코딩할 수 있다고 상기 코딩 속성에 기반하여 결정되면, 상기 계층을 디코딩하는 단계를 수행하도록 야기하기 위한 기계에 의하여 독출될 수 있는 프로그램 코드를 포함하는 것을 특징으로 하는 프로그램 생성물.
  51. 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 모듈에 있어서,
    상기 스케일링가능한 데이터 스트림의 적어도 하나의 계층을 생성하기 위한 제1 성분으로서, 상기 적어도 하나의 계층은 소정의 코딩 속성에 의하여 특징되고, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 제1 성분; 및
    상기 특징된 코딩 속성을 가지는 상기 계층을, 상기 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 시그널링하기 위한 제2 성분을 포함하는 것을 특징으로 하는 모듈.
  52. 상이한 코딩 속성을 가지는 계층들을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 디코더용 모듈에 있어서,
    상기 스케일링가능한 데이터 스트림을 수신하기 위한 제1 성분;
    상기 스케일링가능한 데이터 스트림 내의 적어도 하나의 계층을 식별하고 상기 계층과 관련된 상기 계층의 코딩 속성에 대한 지시자를 독출하기 위한 제2 성분으로서, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 제2 성분;
    상기 디코더가 상기 계층을 디코딩할 수 있는지 상기 코딩 속성에 기반하여 결정하기 위한 제3 성분; 및
    상기 제3 성분이 상기 디코더가 상기 계층을 디코딩할 수 있다고 상기 코딩 속성에 기반하여 결정하면, 상기 계층을 디코딩하기 위한 제4 성분을 포함하는 것을 특징으로 하는 디코더용 모듈.
  53. 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩 및 디코딩하기 위한 방법에 있어서, 상기 인코딩은:
    상기 스케일링가능한 데이터 스트림의 적어도 하나의 계층을 생성하는 단계로서, 상기 적어도 하나의 계층은 소정의 코딩 속성에 의하여 특징되고, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 단계; 및
    상기 특징된 코딩 속성을 가지는 상기 계층을, 상기 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 시그널링하는 단계를 포함하고, 상기 방법은,
    상기 스케일링가능한 데이터 스트림의 적어도 하나의 계층을 수신하는 단계로서, 상기 적어도 하나의 계층은 소정의 코딩 속성에 의하여 특징되고, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 단계; 및
    상기 특징된 코딩 속성을 가지는 상기 적어도 하나의 계층을, 상기 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 시그널링하는 단계를 포함하며, 상기 방법은,
    적어도 하나의 계층의 상기 코딩 속성을 검사하는 단계;
    상기 검사에 기반하여 상기 계층의 디코딩이 가능한지 결정하는 단계; 및 만일 디코딩이 가능하다고 결정되면;
    상기 적어도 하나의 계층을 디코딩하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  54. 상이한 코딩 속성을 가지는 계층들을 포함하도록 스케일링가능한 데이터 스트림을 인코딩하기 위한 인코더를 포함하는 장치에 있어서, 상기 인코더는:
    상기 스케일링가능한 데이터 스트림의 적어도 하나의 계층을 생성하기 위한 제1 성분으로서, 상기 적어도 하나의 계층은 소정의 코딩 속성에 의하여 특징되고, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 제1 성분; 및
    상기 특징된 코딩 속성을 가지는 상기 계층을, 상기 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 시그널링하기 위한 제2 성분을 포함하는 것을 특징으로 하는 장치.
  55. 상이한 코딩 속성들을 가지는 계층들을 포함하는 스케일링가능한 데이터 스트림을 디코딩하기 위한 디코더를 포함하는 장치에 있어서, 상기 디코더는:
    상기 스케일링가능한 데이터 스트림을 수신하기 위한 제1 성분;
    상기 스케일링가능한 데이터 스트림 내의 적어도 하나의 계층을 식별하고 상기 계층과 관련된 상기 계층의 코딩 속성에 대한 지시자를 독출하기 위한 제2 성분으로서, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하는 제2 성분;
    상기 디코더가 상기 계층을 디코딩할 수 있는지 상기 코딩 속성에 기반하여 결정하기 위한 제3 성분; 및
    상기 제3 성분이 상기 디코더가 상기 계층을 디코딩할 수 있다고 상기 코딩 속성에 기반하여 결정하면, 상기 계층을 디코딩하기 위한 제4 성분을 포함하는 것을 특징으로 하는 장치.
  56. 적어도 하나의 계층을 포함하는 스케일링가능한 데이터 스트림을 포함하는 신호로서,
    상기 적어도 하나의 계층은 소정의 코딩 속성에 의하여 특징되고, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하며,
    상기 특징된 코딩 속성을 가지는 상기 적어도 하나의 계층은, 상기 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 하는 형식을 가지는 것을 특징으로 하는 신호.
  57. 신호가 기록되는 반송파로서, 상기 신호는 적어도 하나의 계층을 포함하는 스케일링가능한 데이터 스트림을 포함하고, 상기 적어도 하나의 계층은 소정의 코딩 속성에 의하여 특징되는 반송파에 있어서, 상기 코딩 속성은:
    - 정밀 입자성 스케일링가능성 정보;
    - 관심 영역(ROI) 스케일링가능성 정보;
    - 서브-샘플 스케일링가능 계층 정보;
    - 디코딩 의존성 정보; 및
    - 초기 파라미터 집합들 중 적어도 하나를 포함하며,
    상기 특징된 코딩 속성을 가지는 상기 적어도 하나의 계층은, 상기 계층이 전체 계층을 디코딩할 필요 없이 디코더에 의하여 독출될 수 있도록 하는 형식을 가지는 것을 특징으로 하는 반송파.
KR1020077026308A 2005-04-13 2006-04-10 스케일링가능성 정보의 코딩, 저장, 및 시그널링 KR20080006609A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US67121505P 2005-04-13 2005-04-13
US60/671,215 2005-04-13

Publications (1)

Publication Number Publication Date
KR20080006609A true KR20080006609A (ko) 2008-01-16

Family

ID=37086626

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077026308A KR20080006609A (ko) 2005-04-13 2006-04-10 스케일링가능성 정보의 코딩, 저장, 및 시그널링

Country Status (10)

Country Link
US (2) US8774266B2 (ko)
EP (1) EP1869891A4 (ko)
JP (1) JP2008536420A (ko)
KR (1) KR20080006609A (ko)
CN (1) CN101120593A (ko)
CA (1) CA2604203A1 (ko)
MX (1) MX2007012564A (ko)
RU (1) RU2377736C2 (ko)
TW (1) TW200704191A (ko)
WO (1) WO2006108917A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018186550A1 (ko) * 2017-04-05 2018-10-11 엘지전자 주식회사 방송 신호 송수신 방법 및 장치

Families Citing this family (174)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP2357732B1 (en) 2002-10-05 2022-04-06 QUALCOMM Incorporated Systematic encoding and decoding of chain reaction codes
EP1665539B1 (en) * 2003-10-06 2013-04-10 Digital Fountain, Inc. Soft-Decision Decoding of Multi-Stage Chain Reaction Codes
CN103124182B (zh) 2004-05-07 2017-05-10 数字方敦股份有限公司 文件下载和流系统
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
TW200708111A (en) * 2005-04-13 2007-02-16 Nokia Corp FGS identification in scalable video coding
EP1884063A1 (en) * 2005-05-24 2008-02-06 Nokia Corporation Method and apparatuses for hierarchical transmission/reception in digital broadcast
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US8289370B2 (en) 2005-07-20 2012-10-16 Vidyo, Inc. System and method for scalable and low-delay videoconferencing using scalable video coding
FR2889004B1 (fr) * 2005-07-22 2007-08-24 Canon Kk Procede et dispositif de traitement d'une sequence d'images numeriques a scalabilite spatiale ou en qualite
CN101313578B (zh) * 2005-09-26 2011-10-19 韩国电子通信研究院 用于在可伸缩视频编码中定义和重构感兴趣区域的方法和装置
KR101255226B1 (ko) 2005-09-26 2013-04-16 한국과학기술원 스케일러블 비디오 코딩에서 다중 roi 설정, 복원을위한 장치 및 방법
WO2007095550A2 (en) * 2006-02-13 2007-08-23 Digital Fountain, Inc. Streaming and buffering using variable fec overhead and protection periods
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
EP2005607B1 (en) * 2006-03-27 2016-09-07 Vidyo, Inc. System and method for management of scalability information in scalable video coding systems using control messages
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US9198084B2 (en) 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
WO2008007304A2 (en) 2006-07-12 2008-01-17 Nokia Corporation Signaling of region-of-interest scalability information in media files
MX2009004121A (es) * 2006-10-20 2009-06-08 Nokia Corp Indicacion generica de trayectos de adaptacion para multimedia escalable.
US20080095228A1 (en) * 2006-10-20 2008-04-24 Nokia Corporation System and method for providing picture output indications in video coding
WO2008084424A1 (en) 2007-01-08 2008-07-17 Nokia Corporation System and method for providing and using predetermined signaling of interoperability points for transcoded media streams
US9344362B2 (en) 2007-01-12 2016-05-17 University-Industry Cooperation Group Of Kyung Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, QOS control algorithm and apparatus for IPV6 label switching using the format
RU2430483C2 (ru) 2007-01-18 2011-09-27 Нокиа Корпорейшн Передача сообщений дополнительной расширенной информации в формате полезной нагрузки транспортного протокола реального времени
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US9826243B2 (en) 2007-04-12 2017-11-21 Thomson Licensing Methods and apparatus for video usability information (VUI) for scalable video coding (SVC)
AU2007350974B2 (en) 2007-04-13 2013-07-18 Nokia Technologies Oy A video coder
US20140072058A1 (en) 2010-03-05 2014-03-13 Thomson Licensing Coding systems
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
KR101393169B1 (ko) 2007-04-18 2014-05-09 톰슨 라이센싱 코딩 시스템
US9313515B2 (en) * 2007-05-16 2016-04-12 Thomson Licensing Methods and apparatus for the use of slice groups in encoding multi-view video coding (MVC) information
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8078568B2 (en) * 2007-06-25 2011-12-13 Sap Ag Properties of data elements
WO2009003685A1 (en) 2007-07-02 2009-01-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for storing and reading a file having a media data container and a metadata container
US8667144B2 (en) 2007-07-25 2014-03-04 Qualcomm Incorporated Wireless architecture for traditional wire based protocol
WO2009036378A1 (en) 2007-09-12 2009-03-19 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
EP2037683A1 (en) * 2007-09-17 2009-03-18 Alcatel Lucent Process for delivering to a media terminal an adapted video stream by means of an access node
MY162861A (en) 2007-09-24 2017-07-31 Koninl Philips Electronics Nv Method and system for encoding a video data signal, encoded video data signal, method and system for decoding a video data signal
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)
KR101345287B1 (ko) * 2007-10-12 2013-12-27 삼성전자주식회사 스케일러블 영상 부호화 방법 및 장치와 그 영상 복호화방법 및 장치
FR2923124A1 (fr) 2007-10-26 2009-05-01 Canon Kk Procede et dispositif de determination de la valeur d'un delai a appliquer entre l'envoi d'un premier ensemble de donnees et l'envoi d'un second ensemble de donnees
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8811294B2 (en) 2008-04-04 2014-08-19 Qualcomm Incorporated Apparatus and methods for establishing client-host associations within a wireless network
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
FR2932634B1 (fr) * 2008-06-11 2010-08-20 Alcatel Lucent Procede de transmission de contenus en couches par des ensembles choisis de stations de base d'une infrastructure radio
US8488680B2 (en) * 2008-07-30 2013-07-16 Stmicroelectronics S.R.L. Encoding and decoding methods and apparatus, signal and computer program product therefor
KR20100036156A (ko) 2008-09-29 2010-04-07 삼성전자주식회사 리치미디어 서비스를 제공하는 방법 및 장치
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
US8102849B2 (en) * 2009-02-12 2012-01-24 Qualcomm, Incorporated Association procedure to enable multiple multicast streams
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US8514931B2 (en) * 2009-03-20 2013-08-20 Ecole Polytechnique Federale De Lausanne (Epfl) Method of providing scalable video coding (SVC) video content with added media content
US20120005304A1 (en) * 2009-03-25 2012-01-05 Thomson Licensing Method and apparatus for scalable content multicast over a hybrid network
JP5072893B2 (ja) * 2009-03-25 2012-11-14 株式会社東芝 画像符号化方法および画像復号化方法
US20100250764A1 (en) * 2009-03-31 2010-09-30 Nokia Corporation Method and Apparatus for Signaling Layer Information of Scalable Media Data
US20100250763A1 (en) * 2009-03-31 2010-09-30 Nokia Corporation Method and Apparatus for Transmitting Information on Operation Points
CN101552913B (zh) 2009-05-12 2011-07-06 腾讯科技(深圳)有限公司 多路视频通讯系统及处理方法
US9264248B2 (en) 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
EP2453652B1 (en) * 2009-07-06 2019-09-04 Huawei Technologies Co., Ltd. Transmission method, receiving method and device for scalable video coding files
FR2948249B1 (fr) * 2009-07-20 2011-09-23 Canon Kk Procedes et dispositifs d'estimation d'un niveau d'utilisation d'un reseau de communication et d'adaptation d'un niveau d'abonnements a des groupes multipoints
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
KR20110017719A (ko) 2009-08-14 2011-02-22 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
KR101282190B1 (ko) * 2009-12-11 2013-07-04 한국전자통신연구원 적응형 보안 정책 기반의 스케일러블 영상 서비스 방법 및 장치
US9582238B2 (en) 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
TWI403951B (zh) * 2010-01-12 2013-08-01 Pegatron Corp 觸控式電子裝置
CA2786812C (en) * 2010-01-18 2018-03-20 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for supporting playout of content
US8908774B2 (en) * 2010-02-11 2014-12-09 Mediatek Inc. Method and video receiving system for adaptively decoding embedded video bitstream
JP5484132B2 (ja) * 2010-03-05 2014-05-07 キヤノン株式会社 映像処理装置及びその制御方法
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
TWI399083B (zh) * 2010-07-28 2013-06-11 Compal Communication Inc 具遙控功能之無線通訊系統及其無線通訊模組
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
FR2966679A1 (fr) * 2010-10-25 2012-04-27 France Telecom Procedes et dispositifs de codage et de decodage d'au moins une image a partir d'un epitome, signal et programme d'ordinateur correspondants
US20120183077A1 (en) * 2011-01-14 2012-07-19 Danny Hong NAL Unit Header
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US20130013318A1 (en) 2011-01-21 2013-01-10 Qualcomm Incorporated User input back channel for wireless displays
US8964783B2 (en) 2011-01-21 2015-02-24 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US8674957B2 (en) 2011-02-04 2014-03-18 Qualcomm Incorporated User input device for wireless back channel
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8848804B2 (en) * 2011-03-04 2014-09-30 Vixs Systems, Inc Video decoder with slice dependency decoding and methods for use therewith
US20120230432A1 (en) * 2011-03-10 2012-09-13 Jill Boyce Signaling number of active layers in video coding
TWI425442B (zh) * 2011-04-14 2014-02-01 Univ Nat Central Method of Reconstructing Three - dimensional Housing Model on Aeronautical Mapping System
TWI482502B (zh) * 2011-04-19 2015-04-21 Etron Technology Inc 影像互動裝置、互動式影像操作系統、及相關互動式影像操作方法
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
KR20130058584A (ko) 2011-11-25 2013-06-04 삼성전자주식회사 복호화기의 버퍼 관리를 위한 영상 부호화 방법 및 장치, 그 영상 복호화 방법 및 장치
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
US10958915B2 (en) 2012-01-30 2021-03-23 Qualcomm Incorporated Method of coding video and storing video content
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
WO2013150764A1 (ja) * 2012-04-03 2013-10-10 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
US9565431B2 (en) * 2012-04-04 2017-02-07 Qualcomm Incorporated Low-delay video buffering in video coding
DK3051824T3 (da) * 2012-04-12 2020-05-11 Velos Media Int Ltd Håndtering af udvidelsesdata
KR20130116782A (ko) 2012-04-16 2013-10-24 한국전자통신연구원 계층적 비디오 부호화에서의 계층정보 표현방식
CN107801029B (zh) * 2012-04-23 2020-06-05 太阳专利托管公司 编码方法及编码装置
US9762903B2 (en) * 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
US9313486B2 (en) 2012-06-20 2016-04-12 Vidyo, Inc. Hybrid video coding techniques
US9602827B2 (en) 2012-07-02 2017-03-21 Qualcomm Incorporated Video parameter set including an offset syntax element
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
EP2870762A4 (en) * 2012-07-06 2016-03-02 Sharp Kk ELECTRONIC DEVICES FOR SIGNALING REFERENCE FIXED DECODER PARAMETERS BASED ON SUB-IMAGES
TWI482494B (zh) * 2012-07-09 2015-04-21 Wistron Corp 頻道資訊提示方法及系統以及電腦可讀取儲存媒體
CN103546826B (zh) * 2012-07-16 2017-07-21 上海贝尔股份有限公司 视频业务的传输方法和装置
US9357272B2 (en) 2012-08-03 2016-05-31 Intel Corporation Device orientation capability exchange signaling and server adaptation of multimedia content in response to device orientation
US9503753B2 (en) * 2012-09-24 2016-11-22 Qualcomm Incorporated Coded picture buffer arrival and nominal removal times in video coding
US9432664B2 (en) * 2012-09-28 2016-08-30 Qualcomm Incorporated Signaling layer identifiers for operation points in video coding
US8989508B2 (en) 2012-09-28 2015-03-24 Sharp Kabushiki Kaisha Electronic device for signaling a sub-picture buffer parameter
US9781413B2 (en) * 2012-10-02 2017-10-03 Qualcomm Incorporated Signaling of layer identifiers for operation points
US9936196B2 (en) 2012-10-30 2018-04-03 Qualcomm Incorporated Target output layers in video coding
BR112015013203A2 (pt) * 2012-12-13 2017-07-11 Sony Corp dispositivos e métodos de transmissão e de recepção
US10805605B2 (en) 2012-12-21 2020-10-13 Telefonaktiebolaget Lm Ericsson (Publ) Multi-layer video stream encoding and decoding
ES2648970T3 (es) * 2012-12-21 2018-01-09 Telefonaktiebolaget Lm Ericsson (Publ) Codificación y decodificación de flujo de video multicapa
US9774927B2 (en) 2012-12-21 2017-09-26 Telefonaktiebolaget L M Ericsson (Publ) Multi-layer video stream decoding
EP2936809B1 (en) * 2012-12-21 2016-10-19 Telefonaktiebolaget LM Ericsson (publ) Multi-layer video stream decoding
US9294777B2 (en) * 2012-12-30 2016-03-22 Qualcomm Incorporated Progressive refinement with temporal scalability support in video coding
JP6107970B2 (ja) * 2013-01-04 2017-04-05 ソニー株式会社 Jctvc−l0227:プロファイル−階層−レベル構文構造の更新を有するvps_extension
US10419778B2 (en) 2013-01-04 2019-09-17 Sony Corporation JCTVC-L0227: VPS_extension with updates of profile-tier-level syntax structure
US9661341B2 (en) * 2013-01-07 2017-05-23 Microsoft Technology Licensing, Llc Syntax and semantics for buffering information to simplify video splicing
GB2509954B (en) * 2013-01-18 2016-03-23 Canon Kk Method of displaying a region of interest in a video stream
GB2509953B (en) * 2013-01-18 2015-05-20 Canon Kk Method of displaying a region of interest in a video stream
US9516306B2 (en) 2013-03-27 2016-12-06 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
US20140301463A1 (en) * 2013-04-05 2014-10-09 Nokia Corporation Method and apparatus for video coding and decoding
WO2014163463A1 (ko) * 2013-04-05 2014-10-09 삼성전자 주식회사 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치
US9485508B2 (en) 2013-04-08 2016-11-01 Qualcomm Incorporated Non-entropy encoded set of profile, tier, and level syntax structures
CN105144768B (zh) * 2013-04-26 2019-05-21 英特尔Ip公司 频谱共享情境中的共享频谱重新分配
JP6271888B2 (ja) * 2013-07-12 2018-01-31 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6352317B2 (ja) * 2013-07-14 2018-07-04 シャープ株式会社 復号方法
JP6330667B2 (ja) * 2013-08-09 2018-05-30 ソニー株式会社 送信装置、送信方法、受信装置、受信方法、符号化装置および符号化方法
EP3050300B1 (en) * 2013-09-26 2018-07-11 Telefonaktiebolaget LM Ericsson (publ) Hybrid codec scalable video
KR102246546B1 (ko) 2013-10-12 2021-04-30 삼성전자주식회사 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치
GB2519746B (en) 2013-10-22 2016-12-14 Canon Kk Method, device and computer program for encapsulating scalable partitioned timed media data
US9648348B2 (en) * 2013-10-23 2017-05-09 Qualcomm Incorporated Multi-layer video file format designs
CN112887735B (zh) * 2014-01-03 2024-04-02 康普英国有限公司 用于hevc扩展处理的条件解析扩展语法
US9386275B2 (en) * 2014-01-06 2016-07-05 Intel IP Corporation Interactive video conferencing
KR20160105793A (ko) * 2014-01-07 2016-09-07 캐논 가부시끼가이샤 인터-계층 종속성을 인코딩하기 위한 방법, 디바이스, 및 컴퓨터 프로그램
KR102224703B1 (ko) 2014-03-17 2021-03-09 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램
CN105163120B (zh) * 2014-06-09 2018-09-25 浙江大学 一种假设解码器中输入码流缓冲区的输入和输出/从缓冲区获取数据的方法及装置、传输视频码流的方法
US9516220B2 (en) 2014-10-02 2016-12-06 Intel Corporation Interactive video conferencing
US10021346B2 (en) 2014-12-05 2018-07-10 Intel IP Corporation Interactive video conferencing
CN107431833B (zh) * 2015-02-27 2021-08-27 索尼公司 发送装置、发送方法、接收装置和接收方法
GB2538997A (en) * 2015-06-03 2016-12-07 Nokia Technologies Oy A method, an apparatus, a computer program for video coding
WO2017138458A1 (ja) * 2016-02-09 2017-08-17 株式会社ソニー・インタラクティブエンタテインメント 映像表示システム
US9924131B1 (en) 2016-09-21 2018-03-20 Samsung Display Co., Ltd. System and method for automatic video scaling
US11252464B2 (en) * 2017-06-14 2022-02-15 Mellanox Technologies, Ltd. Regrouping of video data in host memory
US20180367589A1 (en) * 2017-06-14 2018-12-20 Mellanox Technologies, Ltd. Regrouping of video data by a network interface controller
WO2020158596A1 (ja) * 2019-02-01 2020-08-06 ソニー株式会社 復号装置、復号方法、及びプログラム
US10846551B2 (en) * 2019-02-06 2020-11-24 Apical Limited Video data processing
GB2587365B (en) * 2019-09-24 2023-02-22 Canon Kk Method, device, and computer program for coding and decoding a picture
US20230199202A1 (en) * 2020-05-22 2023-06-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Subpicture-related video coding concepts
CN114845134B (zh) * 2020-10-16 2023-01-24 腾讯科技(深圳)有限公司 文件封装方法、文件传输方法、文件解码方法及相关设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1031540C (zh) 1990-09-19 1996-04-10 菲利浦光灯制造公司 记录载体、主数据和控制文件的记录方法和装置及读出装置
US6292512B1 (en) * 1998-07-06 2001-09-18 U.S. Philips Corporation Scalable video coding system
US6263022B1 (en) 1999-07-06 2001-07-17 Philips Electronics North America Corp. System and method for fine granular scalable video with selective quality enhancement
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
US6639943B1 (en) 1999-11-23 2003-10-28 Koninklijke Philips Electronics N.V. Hybrid temporal-SNR fine granular scalability video coding
EP1336306A2 (en) * 2000-11-23 2003-08-20 Koninklijke Philips Electronics N.V. Video coding method
US6904035B2 (en) 2000-11-29 2005-06-07 Nokia Corporation Mobile system, terminal and interface, as well as methods for providing backward compatibility to first and second generation mobile systems
EP1670259A3 (en) * 2002-01-23 2010-03-03 Nokia Corporation Grouping of image frames in video coding
KR100491445B1 (ko) 2002-04-12 2005-05-25 한국과학기술원 Mpeg-4 fgs 비디오를 위한 사각영역 기반형의선택적 향상기법에 의한 부호화/복호화 방법 및 장치
KR20040106414A (ko) 2002-04-29 2004-12-17 소니 일렉트로닉스 인코포레이티드 미디어 파일에서 진보된 코딩 포맷의 지원
US20040006575A1 (en) * 2002-04-29 2004-01-08 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
MXPA05000559A (es) * 2002-07-15 2005-04-19 Nokia Corp Metodo para ocultamiento de errores en secuencias de video.
US7953156B2 (en) 2003-08-29 2011-05-31 Koninklijke Philips Electronics N.V. System and method for encoding and decoding enhancement layer data using descriptive model parameters
KR20050042399A (ko) * 2003-11-03 2005-05-09 삼성전자주식회사 게이즈 디텍션을 이용한 비디오 데이터 처리 장치 및 방법
JP2007513565A (ja) * 2003-12-03 2007-05-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Mpeg−2システムにおいてスケーラビリティ・サポートを向上させたシステム及び方法
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
US20050254575A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
US7801220B2 (en) * 2005-01-07 2010-09-21 Microsoft Corporation In-band wavelet video coding with spatial scalability

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018186550A1 (ko) * 2017-04-05 2018-10-11 엘지전자 주식회사 방송 신호 송수신 방법 및 장치

Also Published As

Publication number Publication date
US20060256851A1 (en) 2006-11-16
WO2006108917A1 (en) 2006-10-19
RU2007141755A (ru) 2009-05-20
CA2604203A1 (en) 2006-10-19
TW200704191A (en) 2007-01-16
EP1869891A1 (en) 2007-12-26
JP2008536420A (ja) 2008-09-04
US9332254B2 (en) 2016-05-03
RU2377736C2 (ru) 2009-12-27
US8774266B2 (en) 2014-07-08
EP1869891A4 (en) 2014-06-11
CN101120593A (zh) 2008-02-06
US20140307802A1 (en) 2014-10-16
MX2007012564A (es) 2007-11-15

Similar Documents

Publication Publication Date Title
US9332254B2 (en) Coding, storage and signalling of scalability information
EP1747673B1 (en) Multiple interoperability points for scalable media coding and transmission
CN110447234B (zh) 用于处理媒体数据及产生位流的方法、装置及存储媒体
US7552227B2 (en) Stream switching based on gradual decoder refresh
US10567734B2 (en) Processing omnidirectional media with dynamic region-wise packing
US20230345017A1 (en) Low complexity enhancement video coding
US11223859B2 (en) Transmission device, transmission method, reception device and reception method
CN109644282B (zh) 用于媒体数据流式处理的补充增强信息轨迹的系统级发信
CN110915221B (zh) 发送装置、发送方法、接收装置、以及接收方法
CN112771876A (zh) 媒体数据的网络流式传输的初始化集合
KR102117805B1 (ko) 전방향성 미디어 포맷을 이용한 미디어 데이터 프로세싱
JP7230981B2 (ja) 受信装置および受信方法
JP2024511948A (ja) Heifフォーマットされた画像をリアルタイムトランスポートプロトコル上でトランスポートすること

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20100318

Effective date: 20110802

S901 Examination by remand of revocation
E902 Notification of reason for refusal
S601 Decision to reject again after remand of revocation