KR20090084875A - 스케일러블 멀티미디어의 적응 경로들에 대한 포괄적 표시 - Google Patents

스케일러블 멀티미디어의 적응 경로들에 대한 포괄적 표시 Download PDF

Info

Publication number
KR20090084875A
KR20090084875A KR1020097010260A KR20097010260A KR20090084875A KR 20090084875 A KR20090084875 A KR 20090084875A KR 1020097010260 A KR1020097010260 A KR 1020097010260A KR 20097010260 A KR20097010260 A KR 20097010260A KR 20090084875 A KR20090084875 A KR 20090084875A
Authority
KR
South Korea
Prior art keywords
operating points
adaptive
adaptive operating
file
media
Prior art date
Application number
KR1020097010260A
Other languages
English (en)
Other versions
KR101088772B1 (ko
Inventor
미스카 한눅셀라
예-쿠이 왕
Original Assignee
노키아 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20090084875A publication Critical patent/KR20090084875A/ko
Application granted granted Critical
Publication of KR101088772B1 publication Critical patent/KR101088772B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • 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/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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 스케일러블 비디오 코딩 시스템 및 방법들과 함께 사용될 파일 포맷 구조에 관한 것으로, 레이트 할당 동작 박스가 코딩된 미디어에 대한 어느 적응 동작 포인트들이 파일 안에서 이용가능한지를 나타낸다. 레이트 할당 동작 박스는 각각의 적응 동작 포인트에 대한 적응 결과의 특징묘사를 포함할 수 있다. 또, 레이트 할당 동작 박스는 각각의 적응 동작 포인트를 생성하는데 어떤 알고리즘이 사용되었는지를 가리키는 식별자를 포함할 수 있다.

Description

스케일러블 멀티미디어의 적응 경로들에 대한 포괄적 표시 {Generic indication of adaptation paths for scalable multimedia}
본 발명은 일반적으로 스케일러블 비디오 코딩 분야에 관한 것이다. 더 상세히 말해서, 본 발명은 스케일러블 멀티미디어의 적응 경로들을 포괄적으로 표시하는 것에 관한 것이다.
이 부분은 청구범위에 언급되는 본 발명에 대한 배경 또는 상황을 제공하기 위한 것이다. 여기에서의 내용은 추구될 수는 있으나, 앞서 반드시 인지되었다거나 추구되었던 것들이라고는 할 수 없는 개념들을 포함할 수 있다. 따라서, 이 명세서에서 달리 지시되지 않는다면, 이 부분에 기술된 내용은 이 출원의 상세설명 및 청구항들에 대한 선행 기술이 아니며, 이 부분에 포함되어 있다고 선행 기술이라고 인정되는 것은 아니다.
멀티미디어 어플리케이션들은 로컬 재생, 스트리밍 또는 주문형 (on-demand), 대화형 및 브로드캐스트/멀티캐스트 서비스들을 포함한다. 멀티미디어 어플리케이션들에 수반되는 테크놀로지들로는, 예를 들어, 미디어 코딩, 스토리지 및 전송이 포함된다. 미디어 타입들에는 스피치, 오디오, 이미지, 비디오, 그래픽 및 타임 텍스트가 포함된다. 다양한 규격들이 다양한 테크놀로지들에 대해 특정되 어져 왔다.
ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 또는 ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual 및 ITU-T H.264 또는 ISO/IEC MPEG-4 AVC를 포함하는 많은 비디오 코딩 규격들이 존재한다. H.264/AVC는 ITU-T 비디오 코딩 전문가 그룹 (VCEG, Video Coding Experts Group) 및 ISO/IEC MPEG의 합동 비디오 팀 (JVT, Joint Video Team)의 작업 결과이다. 또한, 비디오 코딩에 대한 전매 솔루션들 (가령, 마이크로소프트의 윈도즈 미디어 비디오 버전 9에 기초하는 것으로 SMPTE 규격 421M이라고도 알려진 VC-1) 및, 중국의 오디오 및 비디오 코딩 규격 워크그룹에 의한 AVS 코덱 등의 국가 주도의 규격들 역시 존재한다. 이들 규격들 중 몇몇은 이미 MPEG-2 visual 및 MPEG-4 visual 등과 같은 스케일러블 익스텐션 (scalable extension)을 특정하고 있다. H.264/AVC와 관련해, 때때로 SVC 규격이라고도 불리는 스케일러블 비디오 코딩 익스텐션 SVC가 현재 개발 중에 있다.
가장 최근의 SVC 초안이 http://ftp3.itu.ch/av-arch/jvt-site/2006_07_Klagenfurt/JVT-T201.zip에서 입수가능한, 2006년 7월 오스트리아의 클라겐푸르트에서의 제20차 JVT 회의 JVT-T201, "Joint Draft 7 of SVC Amendment"에 설명되어 있다.
SVC는 스케일러블 비디오 비트스트림들을 제공할 수 있다. 스케일러블 비디오 비트스트림의 일부가 추출되어, 저하된 재생 비디오 품질로써 디코딩될 수 있다. 스케일러블 비디오 비트스트림은 비(non)-스케일러블 베이스 계층 (base layer) 및 하나 이상의 인핸스먼트 계층들 (enhancement layers)을 포함한다. 인 핸스먼트 계층은 시간적 해상도 (즉, 프레임 레이트), 공간적 해상도, 또는 단순히 하위 계층이나 그 일부에 의해 재현되는 비디오 콘텐츠의 품질을 개선할 수 있다. 어떤 경우들에서는, 인핸스먼트 계층의 데이터가 소정 위치 다음에, 심지어 임의 위치들에서 잘릴 수 있고, 각각의 잘림 위치는 더욱더 개선된 시각적 품질을 나타내는 어떤 추가 데이터를 포함할 수 있다. 그러한 스케일러빌리티 (scalability)를 파인-그레인드 (fine-grained) (정교성, granularity) 스케일러빌리티 (FGS, fine-grained scalabilty)라고 한다. FGS와 달리, 파인-그레인드 스케일러빌리티를 지원하지 못하는 품질 인핸스먼트 계층에 의해 제공되는 스케일러빌리티를 코스-그레인드 스케일러빌리티 (CGS, coarse-grained scalability)라고 한다. 베이스 계층들은 FGS 스케일러블이 되게 디자인될 수도 있다.
최근의 SVC 사양에서 시간적 스케일러빌리티를 제공하기 위한 메커니즘을 "위계적 B 픽처 (hierarchical B pictures)" 코딩 구조라 부른다. 이 특성은 AVC (Advanced Video Coding)에 의해 온전히 지원되며, 시그날링 부분은 서브-시퀀스 관련 보충적 인핸스먼트 정보 (SEI, supplemental enhancement information) 메시지들을 이용해 이행될 수 있다.
최근의 SVC 사양에서 시간적 스케일러빌리티를 제공하기 위한 메커니즘을 "위계적 B 픽처" 코딩 구조라 부른다. 이 특성은 AVC에 의해 온전하게 지원되며, 시그날링 부분은 서브-시퀀스 관련 보충 인핸스먼트 정보 (SEI) 메시지들을 사용해 이행될 수 있다.
공간적 CGS 스케일러빌리티들을 지원하기 위한 메커니즘들에 있어서, 이전 규격들에서 사용된 것과 유사한 일반적인 계층 (layered) 코딩 테크닉이 어떤 새로운 계층간 (inter-layer) 예측 방식들과 함께 사용된다. 계층간 예측이 될 수 있는 데이터로는 인트라 텍스처 (intra texture), 모션 및 잔차 (motion and residual) 데이터가 포함된다. 강제된 인트라 텍스처 예측 모드에 의해 싱글-루프 (single-loop) 디코딩이 수행되는데, 그에 따라 계층간 인트라 텍스처 예측이, 베이스 계층의 해당 블록이 인트라 매크로블록들 (MB들) 안에 위치되고 있는 MB들에 대해 적용될 수 있다. 동시에, 베이스 계층 내 인트라 MB들은 강제된 인트라 예측을 이용한다. 싱글-루프 디코딩시, 디코더는 재생이 요망되는 스케일러블 계층 (요망 계층이라 부름)만을 위해 모션 보상 및 풀 (full) 픽처 재구성을 수행해야 한다. 이러한 이유로 인해, 디코딩 복잡도가 크게 감소된다. 요망 계층 이외의 모든 계층들이 다 디코딩될 필요는 없는데, 이는 계층간 예측 (계층간 인트라 텍스처 예측, 계층간 모션 예측 또는 계층간 잔차 예측)에 사용되지 않는 MB들의 데이터 전부나 그 일부는 요망 계층 재구성을 위해 필요로 되지 않기 때문이다.
공간적 스케일러빌리티는 베이스 계층이 인핸스먼트 계층의 크롭되고 (cropped) 줌 된 (zoomed) 버전이 될 수 있도록 일반화되어 왔다. 양자화 및 엔트로피 코딩 모듈들은 FGS 기능을 제공하도록 조정되었다. 코딩 모드를 점진적 세분기법 (progressive refinement)이라 부르는데, 여기서 변환 계수들의 연속적인 세분 사항들 (refinements)은, 반복적으로 양자화 스텝 사이즈를 줄이고 서브-비트평면 (sub-bitplane) 코딩에 가까운 "주기적" 엔트로피 코딩을 적용함으로써 인코딩 된다.
현재의 SVC 규격 초안에서 스케일러블 계층 구조는 temporal_level (시간_레벨), dependency_id (종속_id) 및 quality_level (품질_레벨)로 불리는 세 가지 변수들로 특징지어 지는데, 상기 변수들은 비트 스트림 안에서 시그날링되거나, 사양에 따라 도출될 수 있다. temporal_level은 시간적 계층 위계 (temporal layer hierarchy) 또는 프레임 레이트를 나타내는 데 사용된다. 보다 작은 temporal_layer 값의 픽처들을 포함하는 계층이 보다 큰 temporal_level의 픽처들을 포함한 계층보다 작은 프레임 레이트를 가진다. dependency_id는 계층간 코딩 종속도 위계 (inter-layer coding dependency hierarchy)를 나타내는 데 사용된다. 어떤 시간의 위치에서, 보다 작은 dependency_id 값의 픽처가, 보다 큰 dependency_id 값을 가진 픽처의 코딩을 위한 계층간 예측에 사용될 수 있다. quality_level은 FGS 계층 위계를 나타내는 데 사용된다. 임의의 시간적 위치에서 동일한 dependency_id 값을 가질 때, QL에 해당하는 quality_level 값을 가진 FGS 픽처는, 계층간 예측을 위해 QL-1에 해당하는 quality_level 값을 갖는 FGS 픽처 또는 기본 품질의 픽처 (즉, QL-1=0일 때의 비-FGS 픽처)를 사용한다.
적어도 두 CGS 또는 공간적 스케일러블 계층들을 포함하는 스케일러블 비디오의 싱글-루프 디코딩시, 하위 계층 내 코딩된 픽처의 오직 일부만이 상위 계층에서 해당되는 코딩된 픽처의 예측을 위해 (즉, 계층간 예측을 위해) 사용된다. 따라서, 전송자가 수신기들에서의 재생에 요망되는 스케일러블 계층을 알고 있다면, 계층간 예측에 사용되지 않고 재생에 요망되는 스케일러블 계층들 중 어느 것에도 들어 있지 않은 부분들을 생략함으로써 전송에 사용되는 비트레이트가 감소될 수 있을 것이다. 서로 다른 클라이언트들이 재생을 위해 서로 다른 계층들을 요망할 수 있는 멀티캐스트나 브로드캐스트의 경우, 그러한 계층들을 요망 계층들 (desired layers)이라 부른다는 것을 알아야 한다.
SVC의 비트스트림 포맷은 SVC의 각 네트워크 추상화 계층 (NAL, network abstract lyaer) 유닛 헤더 내 simple_priority_id의 시그날링을 포함한다. 이것은 SVC 비트스트림의 한 적응 경로 (adaptation path)의 시그날링을 가능하게 한다. 또, SVC 비트스트림들의 적응은 dependency_id, quality_level, 및 temporal_level 또는 이들의 어떤 조합과 simple_priority_id와 나란히 수행될 수 있다. 그러나, simple_priority_id는 적응 경로들에 대한 SVC 비트스트림들의 단 하나의 분할방식 (partition)만을 나타낼 수 있다. 상이한 최적화 기준에 기반하는 다른 적응 분할방식들도 마찬가지로 잘 산출될 수 있으나, 이러한 적응 분할방식들을 SVC 비트스트림과 연계시키는 방식이 존재하지 않는다.
파일 포맷은 일련의 멀티미디어 콘텐츠 제작, 조작, 전송 및 소비에 있어 중요한 요소이다. 코딩 포맷과 파일 포맷 사이에는 차이가 존재한다. 코딩 포맷은 콘텐츠 정보를 비트스트림으로 코딩하는 특정 코딩 알고리즘의 동작에 관한 것이다. 파일 포맷은 모두 다양한 저장 및 전송 구조들을 활용하여 로컬 디코딩 및 재생을 위해 액세스되거나, 파일로서 전송되거나 스트리밍될 수 있도록, 생성된 비트스트림을 체계화하는 것을 의미한다. 더 나아가, 파일 포맷은 미디어 교환 및 편집을 촉진할 수 있다. 예를 들어, 많은 스트리밍 어플리케이션들은 서버 상의 전치-인코딩된 (pre-encoded) 비트스트림에, 서버가 클라이언트로 미디어를 스트리밍 하도록 돕는 메타데이터 ("힌트-트랙들 (hint-tracks)" 저장됨)가 동반되는 것을 요한다. 힌트-트랙 메타데이터의 예들에, 타이밍 정보, 동기 포인트들에 대한 지시, 및 패킷화 힌트들이 포함된다. 이러한 정보는 서버의 동작 로드를 덜고 최종 사용자 체험을 극대화하는데 사용된다.
가능한 미디어 파일 포맷 규격에 ISO 베이스 미디어 파일 포맷(ISO/IEC 14496-12), MPEG-4 파일 포맷(ISO/IEC 14496-14), AVC 파일 포맷(ISO/IEC 14496-15) 및 3GPP 파일 포맷(3GPP TS 26.244)가 포함된다. AVC 파일 포맷에 대한 보정안이 될, SVC 파일 포맷 개발을 위한 MPEG의 프로젝트 역시 존재한다. MPEG-4, AVC, 3GPP, 및 SVC 파일 포맷들은 모두 ISO 베이스 미디어 파일 포맷의 파생물들이다, 즉, 이들은 동일한 기본 신택스 구조를 공유한다. 결론적으로, 이들은 대부분 서로에 대해 호환이 가능하다.
ISO 베이스 미디어 파일 포맷은 객체 지향 파일 포맷으로서, 이 포맷에서 데이터는 '박스들'이라 불리는 구조들 안에 캡슐화된다. ISO 베이스 미디어 파일 포맷의 모든 파생 파일 포맷들에 있어, 미디어 데이터는 미디어 데이터 박스 MDAT 안에 저장되고 메타 데이터는 무비 박스 MOOV 안에 저장된다. 미디어 데이터는 실질적 미디어 샘플들을 포함한다. 그것은 가령 인터리브되고 (interleaved) 시간 순서로 된 비디오 및 오디오 프레임들을 포함할 수 있다. 각각의 미디어는 MOOV 박스 안에 미디어 콘텐츠 특성들을 기술한 자체 메타데이터 박스 TRAK을 가지고 있다. MOOV 박스 내 추가 박스들은 파일 특성들, 파일 콘텐츠 등등에 관한 정보를 구비할 수 있다.
SVC 파일 포맷은 AVC 파일 포맷에 대한 익스텐션 (확장)이 되고 있다. SVC 파일 포맷은 스케일러블 비디오 스트림의 저장, 추출 및 스케일러빌리티 프러비저닝 (provisioning)을 효율적으로 관리한다. 스케일러블 비트 스트림을 포함하는 파일의 사이즈는 다른 계층들에 속하는 NAL 유닛들의 가벼운 추출을 허용하면서도 가능한 한 작아야 한다. 이것은 미디어 데이터의 다양한 표현들 및 메타데이터의 효율적 표현에 대한 중복 저장 (redundant storage)을 피할 것을 요한다. SVC 파일을 체계화는데 사용되는 두 가지 주요 메커니즘들이 존재한다. 첫째, 그룹화 개념, 즉 ISO 베이스 미디어 파일 포맷의 샘플 그룹 구조가 픽처들 및 스케일러블 계층들의 관계를 나타내는 데 사용될 수 있다. 둘째, 비트스트림의 부분집합들을 실은 몇몇 트랙들이 정의될 수 있으며, 그 각각은 재생 포인트를 형성하는 스케일러빌리티 계층들의 특정 조합에 해당한다.
도 1은 SVC 미디어 데이터가 파일 안에 어떻게 저장되는지를 도시한 것이다. 각각의 액세스 유닛은 하나의 샘플을 포함한다. 여러 개의 샘플들이 하나의 청크 (chunk)를 이룬다. 실제 콘텐츠는 보통 여러 개의 청크들을 포함한다. 파일 리더들은 통상적으로 한 번에 하나의 청크를 읽고 처리한다. 재생에 요망되는 계층 구조가 (시간적 스케일러빌리티를 위해) 액세스 유닛들 모두 및/또는 (다른 타입의 스케일러빌리티를 위해) 각각의 필요한 액세스 유닛 내 픽처들 모두를 필요로 하지는 않는 경우, 원치않는 액세스 유닛들 및/또는 픽처들은 제외될 수 있다 (discarded). 제외하기 동작을 픽처 레벨에서 수행하는 것이 가장 효율적이다. 그러나, 각각의 샘플은 하나의 액세스 유닛을 포함하므로, 샘플-레벨 그룹화는 적 합하지 못하다. 한편, 각각의 픽처가 하나의 샘플이라고 정의되었다면, ISO 베이스 미디어 파일 포맷에서 소정 표시 타임에 해당하는 미디어 데이터인 각 샘플의 정의는 무효가 될 것이다.
최근의 SVC 파일 포맷 초안에서, '단 (tier)'이라는 말은 계층을 표현하는데 사용된다. 각각의 NAL 유닛은 그룹 ID와 결부되어 있고, 여러 그룹 ID 값들은 단 ID로 식별되는 단에 매핑된다. 이런 방식으로, 한 단 ID가 주어질 때, 관련 NAL 유닛들을 찾을 수 있다. 각 단의 비트레이트, 공간 해상도, 프레임 레이트 등등을 포함하는 스케일러빌리티 정보는 데이터 구조 ScalableTierEntry()를 통해 시그날링된다.
ISO 베이스 미디어 파일 포맷의 수정안 1에서 소개된 타임드 (timed) 메타데이터 트랙들이 관련 미디어나 힌트 트랙들을 나타내는 샘플들을 포함한다. 타임드 매타데이터 트랙에 대한 다양한 샘플 포맷들이 특정될 수 있으며, 타임드 메타데이터 트랙에 사용되는 포맷은 네 문자 코드로 식별되는 특정 샘플 엔트리 신택스에 대한 조회로부터 식별될 수 있다. 타임드 메타데이터 트랙의 샘플들은 타임스탬프들 (timestamps)과 결부되고, 그에 따라 참조 트랙 내 해당 타임스탬프의 샘플들과 결부된다.
ISO 베이스 미디어 파일 포맷의 수정안 초안 2는 ISO 베이스 미디어 파일 포맷을 확장하기 위한 세 가지 주요 특징을 포함한다. 먼저, 그것은 ALC 및 FLUTE 같은 파일 전송 프로토콜들에 대한 ISO 베이스 미디어 파일의 메타 박스 안에 저장되는 파일들의 전송을 돕는 구조들을 특정하고 있다. 특히, 이 수정안은 미리 계 산된 파일들의 FEC 인코딩들을 저장하고 파일들을 ALC/FLUTE 패킷들로 캡슐화하는 것을 촉진하는 서버 명령들과 함께 힌트 트랙들을 정의하는 기능을 제공한다. 둘째로, 초안 2는 공통 대역폭 자원을 공유해야 하는 스케일러블 또는 선택적 (alternative) 스트림들 사이의 타깃 비율들에 대한 시간 종속적 정보를 제공하기 위한 방법을 특정한다. 이 정보를 합성 레이트 스케일링 정보 (combined rate scaling information)라고 부른다. 셋째, 상기 초안은 선택적 정보 및/또는 상보적 (complementary) 정보를 메타 박스로 운반하는 추가 메타 박스들을 파일 안에 포함하는 방식을 특정한다.
ISO 베이스 미디어 파일 포맷 수정안 2 초안에서 합성 레이트 스케일링 정보는 아래의 두 가지 기본 전제에 기반한다:
1. 합성 미디어 (가령, 오디오 및 비디오)가 전달되는 채널의 총 비트레이트가 소정 상수로 제한되거나, 시간의 불연속 상수 함수로 제한되어야 한다고 전제된다. 그러나, 소정 총 비트레이트에 대한 최적의 오디오-비디오 비트레이트 할당 (share)를 가리키는 것 보다, 어떤 어플리케이션들은 안정적 오디오-비디오 품질의 체험으로 귀결되는 적응 경로 (adaptation path)에서 더 이익을 취할 수 있을 것이다. 예를 들어, 브로드캐스트 어플리케이션들에 통계적 멀티플렉싱이 사용되는 경우, 개별 시청각 서비스의 비트레이트는 안정적 품질을 유지하기 위해 가변될 수 있게 된다. 동시에, 멀티플렉서의 모든 시청각 서비스들에 대한 총 비트레이트는 변함없이 유지되어야 한다. 관습상, 안정적 품질을 유지하기 위한 레이트 할당 정보는 표시될 수가 없다.
2. 트랙들 간 타깃 비트레이트 할당만이 주어진다. 그러나, 조정을 통해 지시된 타깃 비트레이트 할당을 획득하는 방법에 대한 힌트들 또는 "설명서 (cookbook)" 지침들은 주어지지 않는다. 결론적으로, 프레임 레이트 스케일링 (frame rate scaling)이나 품질 스케일링 (quality scaling)과 같이 스케일러블 미디어를 적응시키기 위한 많은 수단들이 존재하기 때문에, 상이한 구현예들에서의 적응 프로세스 결과는 상당히 다를 수 있다. 따라서, ISO 베이스 미디어 파일 포맷 수정안 2 초안의 합성 레이트 스케일링 정보의 가치는 반감되어진다.
상술한 바와 같이, SVC는 싱글-루프 디코딩을 이용한다, 즉 기준 픽처들이 최상위의 디코딩된 계층에 대해서만 디코딩된다. 결국, 스위칭될 계층의 기준 픽처들이 디코딩되지 않았기 때문에, 임의 위치들에서의 계층들 간 스위칭은 불가하다. 계층 스위칭 포인트의 존재가 SVC NAL 유닛 헤더들로부터 추론될 수 있으나, 종래의 시스템들에서는 SVC 파일 포맷 구조들 상에서 스위칭 포인트들을 표시하기 위한 메커니즘이 존재하지 않는다. 또, 소정 문턱치 simple_prioriy_id를 넘는 SVC NAL 유닛들이 제거된다면 코딩된 비디오 시퀀스는 계속 유효하게 된다. 그러나, simple_priority_id 문턱치가 코딩된 비디오 시퀀스 중간에 (즉, IDR 액세스 유닛들 사이에서) 바뀌게 되는 경우 스트림 유효성에 대한 보장은 주어지지 않는다.
본 발명은 스케일러블 미디어 코딩 시스템들과 함께 사용될 파일 포맷 구조를 제안하며, 이 구조에서 레이트 할당 동작 박스가, 코딩된 미디어에 대해 어떤 적응 동작 포인트들이 사용가능한지를 파일 안에 나타낸다. 레이트 할당 동작 박스는 각각의 적응 동작 포인트의 적응 결과에 대한 묘사를 포함할 수 있다. 또, 레이트 할당 동작 박스는 각각의 적응 동작 포인트를 생성하는데 어떤 알고리즘이 사용되었는지를 나타내는 식별자를 포함할 수 있다.
따라서, 레이트 할당 동작 박스를 가진 파일을 처리하는 임의의 유닛은 그 유닛의 제약조건 및 사양들이, 적응 동작 포인트의 특징이나 적응 동작 포인트가 산출된 바람직한 알고리즘에 어떻게 조화되는지에 기초해 바람직한 적응 동작 포인트를 선택할 수 있다. 레이트 할당 정보가 제공되어 미디어 스트림의 안정적 시청각 품질을 유지하는데 사용될 수 있다. 또, 가령 프레임 레이트 스케일링 및 품질 스케일링 등과 관련해 스케일러블 미디어의 적응으로부터 비롯된 미디어는 보다 일관적이 된다.
유사한 구성요소들이 유사한 참조부호를 갖는, 아래에서 기술되는 첨부된 도면들과 연계하여 본 발명의 상세 설명을 파악할 때, 본 발명의 이점 및 특징들과 그 구조 및 동작 방법이 보다 자명하게 될 것이다.
도 1은 SVC 미디어가 파일 안에 어떻게 저장되는지를 보인 도면이다.
도 2는 본 발명과 함께 사용될 일반 멀티미디어 통신 시스템을 보인다.
도 3은 본 발명의 구현시 사용될 수 있는 모바일 전화의 입체도이다.
도 4는 도 2의 모바일 전화의 전화기 회로에 대한 개략적 묘사이다.
도 5는 오디오/비디오 레이트 할당을 시간의 함수로 나타낸 그래프를 보인 다.
도 6은 오디오 레이트 할당을 이용가능한 비트레이트의 함수로서 나타낸 그래프를 보인다.
본 발명은 코딩된 미디어에 대해 어떤 적응 동작 포인트들 (adaptation operation points)이 사용가능한지를 파일 안에서 나타내기 위해, 여기서 "레이트 할당 동작 박스 (rate share operation box)"라 불리는 파일 포맷 구조를 제안한다.
도 1은 본 발명과 함께 사용하기 위한 일반 멀티미디어 통신 시스템을 보인 것이다. 도 1에 도시된 것처럼, 데이터 소스(100)는 아날로그 포맷, 미압축 디지털 포맷, 또는 압축 디지털 포맷, 혹은 이들의 임의 조합 포맷의 소스 신호를 제공한다. 인코더(110)가 그 소스 신호를 코딩된 미디어 비트스트림으로 인코딩한다. 인코더(110)가 오디오 및 비디오 같은 둘 이상의 미디어 타입을 인코딩하거나, 둘 이상의 인코더(110)가 서로 다른 미디어 타입의 소스 신호를 코딩하는 데 필요로 될 수 있다. 인코더(110)는 또한 그래픽 및 텍스트처럼, 합성되어 생성된 입력을 얻을 수도 있고, 아니면 코딩된 합성 미디어의 비트스트림을 생성할 수 있다. 이하에서는, 설명을 단순화하기 위해, 한 미디어 타입의 하나의 코딩된 미디어 비트스트림에 대한 처리만이 고려된다. 그러나, 통상적으로 실시간 브로드캐스트 서비스들은 여러 스트림들 (보통 적어도 한 오디오, 비디오 및 텍스트 자막 스트림)을 포함한다는 것을 주지해야 할 것이다. 또한, 시스템이 여러 인코더들을 포함할 수 있다는 것 역시 주지해야 하나, 이하에서는 일반성을 상실하지 않으면서 설명을 단순화하기 위해 단 한 개의 인코더(110) 만이 고려될 것이다.
코딩된 미디어 비트스트림이 스토리지(120)로 전송된다. 스토리지(120)는 코딩된 미디어 비트스트림을 저장히기 위한 임의 형식의 매스 메모리를 구비할 수 있다. 스토리지(120) 내에서, 코딩된 미디어 비트스트림의 포맷은 기본적인 독립식 (self-contained) 비트스트림 포맷일 수 있고, 아니면 하나 이상의 코딩된 미디어 비트스트림들이 한 컨테이너 파일 안에 캡슐화되어 있을 수 있다. 어떤 시스템들은 "라이브 (live)"로 작동한다, 즉 저장을 생략하고 인코더(110)에서 코딩된 미디어 비트스트림을 바로 센더 (sender)(130)로 전송한다. 그러면 코딩된 미디어 비트스트림이 필요에 따라, 서버라고도 불리는 센더(130)로 전송된다. 전송시 사용되는 포맷은 패킷 스트림 포맷인, 기본적인 독립식 비트스트림 포맷일 수 있고, 아니면 하나 이상의 코딩된 미디어 비트스트림들이 하나의 컨테이너 파일 안에 캡슐화될 수 있다. 인코더(110), 스토리지(120), 및 센더(130)는 동일한 물리적 기기 안에 위치될 수 있고, 아니면 별개의 기기들 안에 포함될 수도 있다. 인코더(110) 및 센더(130)는 라이브의 실시간 콘텐츠를 가지고 동작할 수 있는데, 이 경우 코딩된 미디어 비트스트림은 보통 영구적으로 저장되는 대신, 프로세싱 지연, 전송 지연, 및 코딩된 미디어 비트레이트의 변동을 완화시키기 위해 콘텐츠 인코더(110) 및/또는 센더(130) 내에서 짧은 시간 주기 동안 버퍼링된다.
센더(130)는 통신 프로토콜 스택을 이용해 코딩된 미디어 비트스트림을 전송한다. 상기 스택은 실시간 전송 프로토콜 (RTP, Real-Time Transport Protocol), 사용자 데이터그램 프로토콜 (UDP, User Datagram Protocol), 인터넷 프로토콜 (IP, Internet Protocol)을 포함할 수 있으나, 그것들에 국한되는 것은 아니다. 통신 프로토콜 스택이 패킷 지향적일 때, 센더(130)는 코딩된 미디어 비트스트림을 패킷들 안에 캡슐화한다. 예를 들어, RTP가 사용될 때, 센더(13)는 코딩된 미디어 비트스트림을 RTP 페이로드 (payload) 포맷에 따라 RTP 패킷들 안에 캡슐화한다. 일반적으로, 각각의 미디어 타입마다 전용 RTP 페이로드 포맷을 가진다. 다시 한번, 시스템이 둘 이상의 센더(130)를 포함할 수도 있다는 것을 알아야 하며, 단지 단순화를 위해 이하의 설명에서는 하나의 센더(130)만을 고려한다.
센더(130)는 통신 네트워크를 통해 게이트웨이(140)에 연결될 수도 연결되지 않을 수도 있다. 게이트웨이(140)는 한 통신 프로토콜 스택에 따른 패킷 스트림의 다른 통신 프로토콜 스택으로의 변환, 데이터 스트림들의 머징 (merging) 및 포킹 (forking), 그리고 우세한 다운링크 네트워크 조건에 따라 포워딩 된 스트림의 비트 레이트를 제어하는 것 같은 다운링크 및/또는 수신기 사양에 따른 데이터 스트림 처리 등, 여러 종류의 기능들을 수행할 수 있다. 게이트웨이들(140)의 예들에, 멀티포인트 회의 제어 유닛 (MCUs, multipoint conference control units), 회로 교환형 및 패킷 교환형 화상 전화간 게이트웨이들, 푸시-투-토크 오버 셀룰라 (PoC, Push-to-talk over Cellular) 서버들, 디지털 비디오 브로드캐스팅-핸드헬드 (DVB-H, digital video broadcasting-handheld) 시스템들 내 IP 캡슐화기들, 또는 브로드캐스트된 전송사항들을 홈 무선 네트워크들로 국지적으로 포워드하는 세탑 박스들이 포함된다. RTP가 사용될 때, 게이트웨이(140)는 RTP 믹서로 불리며 RTP 접속의 엔드포인트 (endpoint)로서 동작한다.
시스템은, 통상적으로 전송된 신호를 수신하고, 복조하며, 코딩된 미디어 비트스트림으로 디캡슐화 (de-capsulating)할 수 있는 하나 이상의 수신기들(150)을 포함한다. 코덱 미디어 비트스트림은 보통 디코더(160)에 의해 추가 처리되고, 그 결과는 하나 이상의 미압축 미디어 스트림들이 된다. 마지막으로, 렌더러 (renderer)(170)가 확성기나 디스플레이 등을 통해 상기 미압축 미디어 스트림들을 재생할 수 있다. 수신기(150), 디코더(160), 및 렌더러(170)는 같은 물리적 기기 안에 존재할 수도 있고, 아니면 별개의 기기들 안에 포함될 수도 있다.
비트레이트, 디코딩 복잡도, 및 픽처 사이즈와 관련된 스케일러빌리티는, 이종의 (heterogeneous) 에러 발생이 쉬운 환경에 있어 바람직한 특성이 된다. 이 특성은, 수신하는 기기에서의 비트레이트, 디스플레이 해상도, 네트워크 처리율, 및 계산 능력에 대한 제약과 같은 한계를 거스르기 위해 바람직하다.
본 발명의 통신 기기들은 CDMA (Code Division Multiple Access), GSM (Global System for Mobile Communications), UMTS (Universal Mobile Telecommunications System), TDMA (Time Division Multiple Access), FDMA (Frequency Division Multiple Access), TCP/IP (Transmission Control Protocol/Internet Protocol), SMS (Short Messaging Service), MMS (Multimedia Messaging Service), 이메일, IMS (Instant Messaging Service), 블루투스, IEEE 802.11 등등을 포함하는 다양한 전송 기술들을 이용해 통신할 수 있으며, 상기 나열된 기술들에만 국한되는 것은 아니다. 통신 기기는 라디오, 적외선, 레이저, 유 선 접속 등등을 포함하는 다양한 미디어를 이용해 통신할 수 있으며, 상기 나열된 미디어들에 국한되는 것은 아니다.
도 2 및 3은 본 발명이 구현될 수 있는 한 대표적 모바일 전화(12)를 도시한다. 그러나, 본 발명이 모바일 전화(12)나 다른 전자 기기의 한 특정 유형에만 국한되는 것으로 의도된 것은 아님을 알아야 한다. 도 2 및 3에 도시된 구성들 중 일부나 전부는 도 1에 나타낸 장치들 중 어느 하나나 그 전부 안에 포함될 수 있을 것이다.
도 2 및 3의 모바일 전화(12)는 하우징(30), 액정 디스플레이 형식의 디스플레이(32), 키패드(34), 마이크로폰(36), 이어폰(38), 패터리(40), 적외선 포트(42), 안테나(44), 본 발명의 일 실시예에 따른 UICC 형식의 스마트 카드(46), 카드 리더(48), 라디오 인터페이스 회로(52), 코덱 회로(54), 컨트롤러(56) 및 메모리(58)를 포함한다. 개개의 회로들 및 구성요소들은 모두, 노키아 모바일 전화기들의 범위와 같이 이 기술 분야에서 잘 알려져 있는 종류의 것들이다.
스케일러블 미디어 스트림들의 조합들이 제한된 대역폭을 가진 채널을 통해 전송될 때, 공동으로 전송되는 미디어 모두로부터 데이터 부분들 (data portions)의 추출을 동적으로 수행하는 방법을 나타내기 위한 규정을 제공할 필요가 있다. 따라서, 하나 이상의 스케일러블 미디어 스트림들을 포함하는 파일은 레이트 할당 정보 (rate share information) 역시 보유하도록 수정되어야 한다. 레이트 할당 정보의 용도는 어떤 시점에 각각의 스케일러블 미디어 스트림으로부터 미디어가 어떻게 추출되어야 할지에 대해 서버에 정보를 주기 위한 것이다. 이것은 서버에서 통제되거나 권고된 방식의 스케일링 미디어를 가능하게 함으로써, 기본 미디어 스트림들의 생성을 행할 수 있다.
미디어의 부분들 (즉, 시간 영역들)을 타깃 레이트 할당 값을 특정하는 레이트 할당 정보 리코드들과 결부시킴으로써, 타임드 레이트-할당 (timed rate-share) 정보가 미디어 트랙들에 저장된 스케일러블 미디어 스트림들에 더해질 수 있다. 타깃 레이트 할당 값은 해당 미디어에 할당되어야 할 이용가능한 비트레이트의 타깃 백분율을 나타낸다. 간단한 시나리오 상에서는 도 4에 도시된 것과 같이 미디어 및 타임 영역 당 오직 하나의 타깃 레이트 할당 값만이 특정된다.
그러나, 사용가능한 비트레이트와 함께 가변되는 레이트 할당 값들에 적응하기 위해, 둘 이상의 동작 범위를 특정하는 것이 가능하다. 예를 들어, 오디오 스트림 부분이 낮은 이용가능 비트레이트 대에서 (비디오 보다) 높은 백분율의 이용가능 비트레이트를 필요로한다는 것이 표시될 수 있다. 이것은 도 5에 도시된 것처럼 두 개의 동작 포인트들을 특정하여 행해진다.
도 5의 각 동작 포인트는 타깃 레이트 할당을 특정한다. 보다 복잡한 상황들에 대해 더 많은 동작 포인트들을 특정할 수도 있을 것이다. 또, 먼저와 나중 동작 포인트들은 그 포인트들에서의 타깃 레이트 할당뿐 아니라, 각각 하위 이용가능 비트레이트대 및 상위 이용가능 비트레이트대를 특정한다. 두 동작 포인트들 사이의 타깃 레이트 할당은 그 동작 포인트들의 타깃 레이트 할당들 사이의 영역 안에 오도록 특정된다. 선형 보간 같은 것을 통해 두 동작 포인트들 사이의 타깃 레이트 할당을 추정하는 것이 가능하다.
상술한 바와 같이, 본 발명은 코딩된 미디어에 대해 어떤 적응 동작 포인트들이 사용가능한가를 파일 안에 표시하기 위해, 여기서 "레이트 할당 동작 박스"라 불리는 파일 포맷 구조를 제공한다. 적응 동작 포인트는, 하나 이상의 코딩된 미디어 비트스트림들로 이뤄진 코딩된 멀티미디어 클립이 어떻게 스케일링되는지를, 그 하나 이상의 코딩된 미디어 비트스트림들의 어느 부분들이 처리되는지를 선택함으로써 특정한다. 하나 이상의 코딩된 미디어 비트스트림들의 처리는, 전송 패킷들의 조합 (composing), 전송 및 스케일링된 미디어 비트스트림들의 디코딩 가운데 하나 이상의 동작을 포함할 수 있다.
또, 레이트 할당 동작 박스는, 모든 관련 트랙들 사이에서 공유되는 바람직한 총 비트레이트로의 적응 결과들이나, 각 관련 트랙의 안정적 품질로의 적응 결과들 같은 각 적응 동작 포인트의 적응 결과에 대한 묘사를 포함할 수 있다. 또, 레이트 할당 동작 박스는 각 적응 동작 포인트를 생성하는데 어떤 알고리즘이 사용되었는지를 나타내는 식별자를 또한 포함할 수 있다. 또한 적응 동작 포인트는 적응 동작 포인트와 결부된 각 트랙 내 적응 경로에 해당한다. 적응 동작 포인트 및 특정 적응 경로는, 가령 그 적응 경로에 의해 달성될 수 있는 최소 및 최대 비트레이트, 픽처들의 공간적 적응, 픽처들의 품질 적응, 픽처 레이트 적응, 또는 이들의 어떤 조합과 같은 적응에 사용되는 축들 (axes)과 관련해 레이트 할당 동작 박스 안에서 특성화될 수 있다. 본 발명의 실시예는 아래에서 ISO 베이스 미디어 파일 포맷에 사용되는 의사코드 표기를 따르는 레이트 할당 동작 박스의 형식으로 제시될 것이다. 무비 박스 ('moov')는 아래에 규정된 것처럼 0 또는 한 개의 레이트 할당 동작 박스 ('rsop')를 포함한다.
Figure 112009029988324-PCT00001
레이트 할당 동작 박스 안의 신택스 요소들의 어의구조는 아래와 같다:
operation_point_count는 동작 포인트들의 개수를 제공하는 정수이다.
operation_description은 이 동작 포인트의 레이트 적응 동작의 출력 특성을 나타낸다. operation_description에 대해 다음과 같은 플래그들이 특정된다:
0x1 모든 관련 트랙들의 누적 출력 비트레이트가 이용가능한 비트레이트로 고정된다.
0x2 각각의 관련 트랙의 특정 품질은 트랙 듀레이션 전체를 통해 비슷하게 유지된다.
track_count는 이 동작 포인트와 관련된 트랙들의 개수를 나타낸다. track_count가 1과 같으면, 이 동작 포인트에 대해 시그날링되는 정보는 단일 식별 트랙에 포함되는 단일 미디어 타입에 대한 적응 규칙을 규정한다. track_count가 1보다 크고, 모든 표시된 트랙들이 동일한 미디어 타입을 포함하면, 이 동작 포인트에 대해 시그날링되는 정보는 여전히, 여러개의 식별 트랙들에 포함된 단일 미디어 타입에 대한 적응 규칙을 나타낸다.
track_id는 동작 포인트와 관련된 트랙의 트랙 ID를 나타낸다.
adaptation_path_id는 track_id가 일반 스케일러블 미디어 메타데이터를 포함하는 타임드 (timed) 메타데이터 트랙에 관한 것이 아니면 0이 되어야 한다. 그렇지 않은 경우, adaptation_path_id는 어떤 적응 경로가 이 동작 포인트에 사용되어야 하는가를 나타낸다.
0에 해당하는 rate_adaptation_algorithm은 임의의 관련 트랙에 대해 어떤 적응도 행해져서는 안되고 오히려 관련 트랙의 모든 샘플들이 다음과 같이 처리되어야 한다는 것을 가리킨다. 관련 트랙이 힌트 트랙 (hint track)이면, 모든 힌트 샘플들에 대응하는 패킷들이 생성되어야 한다. 관련 트랙이 SVC 미디어 트랙이면, 잠정적 추출자 NAL 유닛들을 포함하는 모든 샘플들이 파싱되어야 한다. 임의의 다른 트랙들에 대해, 모든 샘플들은 정상적으로 파싱되어야 한다. 이러한 처리 결과는 이 박스에서 지시된 것 같은 동작 포인트의 특성에 부합해야 한다.
1에 해당하는 rate_adaptation_algorithm은 레이트 할당 샘플 그룹화에 의해 지시되는 타깃 레이트 할당을 획득하기 위해 미지의 적응 알고리즘이 사용되어야 할 것임을 나타낸다. rate_adaptation_algorithm의 다른 값들은 이 명세서에서 특 정되고 있지 않았으나 관련된 일반 스케일러블 미디어 메타데이터 트랙들 내 적응 경로들을 획득하는데 사용되는 알고리즘을 식별한다.
num_constants_in_operation_points는 이 적응 경로에서 일정하게 유지되는 특성들의 수를 특정한다.
constant_list는 이 적응 경로의 일정한 특성들을 특정하는 박스들이나 구조들을 함축적으로 가리키는 4 문자 코드이다. 4 문자 코드들은 SVC의 트랙 선택 박스 (Track Selection Box)에 대해 특정된 것들을 포함한다. constant list는 파일을 재생하거나 파일에 포함된 힌트 트랙들에 따라 조성된 패킷 스트림들을 수신하는 장치 및/또는 소프트웨어의 사양들에 따라 적절한 동작 포인트를 선택하는 것을 가능하게 한다.
minimum_bitrate는 이 동작 포인트가 적용될 최저 누적 비트레이트를 가리키는 0 아닌 (nonzero) (초당 킬로비트 단위의) 값이다.
maximum_bitrate는 이 동작 포인트가 적용될 최고 누적 비트레이트를 가리키는 0 아닌 (초당 킬로비트 단위의) 값이다.
상술한 것과 같이, 타깃 레이트 할당은 해당 매체에 할당될 사용가능한 비트레이트의 타깃 백분율을 가리킨다. 이러한 할당이 주어질 때, 최대 및 최소 비트레이트들이 사용되어 경계를 특정한다. 최대 비트레이트는 특정된 미디어 및 시간 영역에 사용가능한 비트레이트의 상한치를 제공한다. 이와 다른 안으로서, 이것은 할당된 비트레이트가 그 미디어에 대해 우선순위가 되는 상위 문턱치를 제공하는데 사용될 수 있다. 최소 비트레이트는 유용하다고 간주되는 하위 문턱치를 가리킨 다. 예를 들어, 할당된 비트레이트가 이 최소 비트레이트 값 아래로 떨어지면, 서버에 대한 권고사항은 어떤 비트레이트도 그 미디어에 할당하지 않도록 하는 것이다. 이때 그 비트레이트는 사용가능한 경우 다른 미디어 스트림(들) 혹은 대안적 스트림에 대해 주어질 수 있을 것이다. 레이트 할당 정보에 대한 샘플 그룹화 메커니즘이 사용되어 트랙들 간 타깃 비트레이트 할당을 나타낼 수 있다. 트랙들을 타깃 비트레이트로 좁히기 위한 알고리즘은 특정되지 않는다. 동작 포인트 내 track_id가 일반 스케일러블 미디어 메타데이터를 포함하는 타임드 메타데이터 트랙이 아닌 트랙을 가리키면, 그 트랙은 이 문단에서 명시된 것과 같은 그룹화를 포함할 것이다. 샘플링 그룹화 메커니즘에 의해 규정된 레이트-할당 정보가 미디어 샘플의 듀레이션에 인가된다. 그러나, 동일한 레이트-할당 정보가 트랙의 여러 연속적 샘플들에 인가될 가능성이 많고 아마도 둘 또는 셋의 상이한 레코드들 사이에서만 변화할 것이기 때문에, 레이트-할당 정보는 샘플 그룹들을 사용해 효과적으로 트랙 안에 저장될 수 있다. 트랙의 각 샘플은 여러 샘플 그룹 표현들 중 (0개 또는) 하나와 결부될 수 있으며, 샘플 그룹 표현들 각각은 레이트-할당 정보의 레코드를 규정한다. 샘플 그룹 표현은 관련 샘플이 속하는 동작 포인트들의 식별자들을 포함한다.
레이트 할당 동작 박스를 처리하는 장치, 소프트웨어 프로그램, 컴포넌트, 또는 어떤 다른 적절한 유닛이 바람직한 적응 동작 포인트를 선택할 수 있다. 이뤄지는 선택은, 기기 및 가능한 수신 유닛의 제약요건 및 사양들이 적응 동작 포인트나 적응 동작 포인트가 산출되었던 바람직한 알고리즘의 특성들과 어떻게 매치되 는가에 기반한다.
적응 동작 포인트를 선택하기 위한 전형적인 시스템에 대해 다음과 같이 기술될 것이다. 스트리밍 서버가 레이트 할당 동작 박스를 포함하는 파일을 액세스한다. 파일은 품질뿐 아니라 시간적인 면에서 스케일러블한 스케일러블 비디오 비트스트림 및 스케일러블하지 않은 오디오 비트스트림을 포함한다. 두 개의 적응 동작 포인트들이 레이트 할당 동작 박스에서 표시되고, 둘은 모두 오디오 및 비디오 사이의 총 비트레이트를 할당하는 것을 목적으로 한다. 각각의 적응 동작 포인트는 한쌍의 힌트 트랙들을 참고하는데, 한 힌트 트랙은 오디오용이고 다른 힌트 트랙은 비디오용이다. 레이트 할당 동작 박스는 첫 번째 적응 동작 포인트에서 비디오가 시간적으로 스케일링되는 한편 품질 면의 스케일링은 두 번째 적응 동작 포인트에서 사용된다는 것을 가리킨다. 일대일 (즉, 유니캐스트) 스트리밍 세션이 수신자와 서버 사이에 설정된다. 시간 및 품질 측면의 두 옵션들이 서버에서 수신자에게 공지된다. 수신자 유닛은 프레임 레이트 (시간적 스케일링)가 선호되는지 픽처 충실도 (품질 스케일링)가 선호되는지 여부에 대한 사용자의 선호도를 선택하기 위한 사용자 인터페이스 스위치를 포함할 수 있다. 사용자의 선택에 따라, 수신자 유닛은 서버에, 어떤 적응 경로가 뒤따라야 할지를 지시한다. 그러면 서버는 적절한 힌트 트랙 및 수신자에 의해 지시된 적응 경로에 기반해 패킷들을 생성한다.
적응 경로들은 일반 스케일러블 미디어 메타데이터 트랙이라 불리는 파일 포맷 구조를 가지고 시그날링된다. 일반 스케일러블 미디어 메타데이터 트랙은 한 개의 코딩된 미디어 비트스트림 (미디어 트랙)이나, 코딩된 미디어 비트스트림으로부터 전송 패킷을 형성하기 위한 구조들을 포함하는 힌트 트랙과 연관된다. 달리 말해, 일반 스케일러블 미디어 메타데이터 트랙은 관련 트랙을 원하는 비트레이트나 품질로 좁히는데 사용될 수 있는 "설명서 (cookbook)"를 포함한다. 일반 스케일러블 미디어 메타데이터 트랙을 디코딩하면 적응된 샘플들이 나온다. 일반 스케일러블 미디어 메타데이터 트랙으로부터 참조된 트랙이 힌트 트랙이면, 적응된 샘플들은 유효한 패킷 페이로드들이 된다. 참조된 트랙이 미디어 트랙이면, 적응된 샘플들은 코딩된 픽처들이나 비디오의 액세스 유닛들 또는 코딩된 오디오 프레임들 같은 유효한 미디어 샘플들이 된다. 일반 스케일러블 미디어 메타데이터 트랙의 실시예가 이하에서 제공된다. 일반 스케일러블 미디어 메타데이터 트랙은 타임드 메타데이터 트랙으로, 그것은 미디어 박스 안에서 'meta' handler_type을 통해 식별된다. 타임드 메타데이터 트랙은 미디어 정보 박스 안에 일반 스케일러블 미디어 메타데이터 헤더 박스를 포함함으로써 일반 스케일러블 미디어 메타데이터 트랙이 되는 것을 추가 특징으로 한다. 일반 스케일러블 미디어 메타데이터 헤더 박스는 아래에 특정된 것 같은 트랙 관련 일반 정보를 포함한다:
Figure 112009029988324-PCT00002
num_adaptation_paths는 트랙이 얼마나 많은 적응 경로들을 제공하는지를 나타낸다.
adaptation_path_id는 레이트 할당 동작 박스 안에 특정된 적응 경로에 관한 것으로 그 적응 경로를 식별한다.
1에 해당하는 truncation_flag는 몇몇 샘플들 안에서 이 적응 경로 식별자로써 표제된 몇몇 부분들이 잘려질 수 있다는 것을 가리킨다. 0에 해당하는 truncation_flag는 어떤 샘플 안에서 이 적응 경로로써 표제된 부분은 잘려질 수 없다는 것을 가리킨다.
일반 스케일러블 미디어 메타데이터 트랙의 샘플 엔트리는 다음과 같이 특정된다:
Figure 112009029988324-PCT00003
샘플 엔트리의 필드들은 그 트랙에 대해 샘플 구조를 사용한 신택스 요소들의 사이즈 (필드값들인 0, 1, 2 및 3에 각각 대응하는 8, 16, 24 또는 32 비트들)를 특정하는데 사용된다.
일반 스케일러블 미디어 메타데이터 트랙 내 샘플은 다음과 같은 구조를 이용한다:
Figure 112009029988324-PCT00004
일반 스케일러블 미디어 샘플 엔트리는, log2_num_parts_minus_one, log2_num_paths_minus_one, log2_path_id_minus_one, log2_offset_minus_one, 및 log2_size_minus_one의 값들을 포함한다. 메타데이터 샘플들은 (디코딩 타임에) 참조된 미디어나 힌트 트랙 내 샘플들에 대해 시간적으로 정렬된다. 각 메타데이터 샘플 (적응 샘플이라고도 부름)은 대응하는 적응된 샘플과 결부되는데, 그것은 다음과 같이 초기 적응된 샘플로부터 도출된다.
초기 적응된 샘플은 어떤 적응 샘플과 결부된 힌트 샘플이나 코딩된 미디어 샘플로부터 도출된다. 관련 트랙이 미디어 트랙일 때, 초기 적응된 샘플은 관련 미디어 샘플로부터 도출된다. 미디어 샘플이 SVC 파일 포맷에 명시된 것 같이 집합자 또는 추출자 NAL 유닛들을 포함하지 않을 때, 초기 적응된 미디어 샘플은 그 미디어 샘플과 동일하다. 그렇지 않으면, 추출자 NAL 유닛들에서 참조된 데이터가 추출자 NAL 유닛 대신 초기 적응된 샘플에 삽입되고, 집합자 NAL 유닛들의 헤더들이 제거되고, 초기 적응된 미디어 샘플의 어떤 남은 부분들이 미디어 샘플의 데이터를 있는 그대로 포함한다. 관련 트랙이 힌트 트랙일 때, 초기 적응된 샘플이 관련 힌트 샘플로부터 도출된다. 초기 적응된 샘플은 그 샘플의 페이로드 구성자들을 사용해 생성되는 패킷 페이로드와 동일하다.
적응 샘플은 각각의 적응 경로에 대한 정보를 포함하며, 여기서 초기 적응된 샘플의 일부가 적응된 샘플 안에 포함된다. 부분에 대한 지시는 초기 적응된 샘플 안에서 바이트 범위들의 리스트를 통해 표시될 수 있다. 바이트 범위들의 사용은 솔루션이 미디어 샘플이나 패킷 페이로드의 신택스를 의식하지 않게 하고 그에따라 어떠한 코딩이나 패킷 페이로드 포맷에도 적용될 수 있게 한다. 적응 샘플은 또한 각각의 표시된 바이트 범위 당 하나의 표시를 포함할 수도 있는데, 그 바이트 범위가 지시된 범위의 처음부터 시작되는 임의의 길이로 자유롭게 잘려질 수 있을 경우 그러하다.
제안된 일반 스케일러블 미디어 메타데이터의 샘플 구조는 초기 적응된 샘플의 표시된 바이트 범위들을 한 적응된 샘플로 매핑한다. 상이한 바이트 범위들이 상이한 적응 경로들에 대해 표시될 수 있다. 소정 바이트 범위가 자유롭게 잘려질 수 있는지 여부가 표시될 수도 있다, 즉 초기부터 시작되는 바이트 범위로부터 임의 개의 바이트들이 적응된 샘플 안에 포함될 수 있다. 일반 스케일러블 미디어 메타데이터 트랙의 샘플 구조의 어의구조는 아래와 같다:
num_parts는 초기 적응된 샘플 내 부분들의 개수를 표시한다. 한 부분에 대해 정확한 정의가 주어지지는 않지만, 그것은 보통, 스케일러블 비디오 내 코딩된 픽처 같이, 한 예측 참조 유닛에 대응하는 초기 적응된 샘플 안의 한 바이트 범위이다.
num_paths_whole_part는 전체 부분이 포함되는 적응 경로들의 수를 표시한다.
0에 해당하는 truncatable_part_flag는 그 부분이 잘려질 수 없다는 것을 표시한다.
1에 해당하는 truncatable_part_flag는 그 부분의 적어도 한 서브 부분이 잘려질 수 있다는 것을 표시한다.
path_id_whole_part는 레이트 할당 동작 박스에 소개된 것과 같이 그 부분에 대한 적응 경로 식별자를 표시한다.
offset_whole_part는 그 부분이 시작되는 초기 적응된 샘플까지의 바이트 오프셋을 나타낸다. 초기 적응된 샘플의 최초 바이트 오프셋은 0 값을 가진다.
num_bytes_whole_part는 그 부분 내에 포함된 바이트 수를 나타낸다.
num_partitionings는 한 부분이 서브부분들로 나눠지는 분할 (partitionings)의 회수를 나타낸다. 한 부분을 서브부분들로 나누기 위한 각각의 고유한 방법이 분할이다. 예를 들어, 한 부분이 파인 그레인드 (fine granular) 스케일러블 픽처에 해당하고, 각자 픽처의 총 사이즈의 50-100% 및 80-100% 범위에서의 비트레이트 스케일링을 허용하는 두 가지 적응 경로들이 특정된 경우, 그 부분에 대해 두 가지 분할이 있을 수 있다. 제1분할시, 픽처 사이즈의 50%의 바이트 범위에 해당하는 서브부분은 0에 해당하는 free_truncation_flag로써 표시될 것이고, 픽처의 나머지 서브부분은 1에 해당하는 free_truncation_flag로 마크 될 것이다. 제2분할의의 서브부분들도 비슷하게 표시될 것이다.
num_paths는 한 부분을 서브부분들로 동일하게 분할하는 것을 공유하는 적응 경로들의 개수를 나타낸다.
path_id는 레이트 할당 동작 박스에서 소개된 것과 같이 분할을 위해 특정된 서브부분들의 적응 경로 식별자를 나타낸다.
num_subparts는 서브부분들의 개수를 나타낸다. 서브부분에 대한 정확한 규정이 주어지지는 않지만, 그것은 파인 그레인드 스케일러블 코딩된 슬라이스의 슬 라이스 헤더 및 슬라이스 데이터 등에 해당하는 한 부분 내 바이트 범위가 된다.
offset은 서브부분이 시갖되는 초기 적응된 샘플에 대한 바이트 오프셋을 나타낸다. 초기 적응 샘플의 최초 바이트 오프셋은 값 0을 가진다.
num_bytes는 서브부분에 포함된 바이트 개수를 나타낸다.
0에 해당하는 free_truncation_flag는 그 서브부분이 잘려져서는 안된다는 것을 나타낸다.
1에 해당하는 free_truncation_flag는 그 서브부분이 그 끝부터 시작하는 샘플들을 제외시킴으로써 어떤 길이로 잘려질 수 있다는 것을 나타낸다.
적응 샘플은 다음과 같이 생성된다. currPathId가 바람직한 적응 경로의 식별자에 해당한다고 하자. 레이트-할당 정보 샘플 그룹에 의해 표시된 것과 같이, 그 바람직한 적응 경로의 데이터를 포함하는 샘플에 대해, 다음과 같은 프로세스가 수행된다. 각각의 표시된 부분에 대해, path_id_whole_part의 리스트가 먼저 currPartId와 비교된다. currPartId와 같은 path_id_whole_part의 값이 존재하면, offset_whole_part 및 num_bytes_whole_part의 값들로 표시되는 전체 부분은 그 적응된 샘플 안에 포함된다. currPartId와 같은 path_id_whole_part의 값이 없고 truncatable_part_flag가 1이면, 서브부분들로의 지시된 분할의 루프가 currPathId와 같은 path_id가 발견될 때까지 실행된다. 그런 다음, offset 및 num_bytes의 값들로 표시되는 각각의 서브부분이 그 적응된 샘플 안에 포함된다. 가령, 소정 비트 계획을 만족하기 위해 적응된 샘플의 추가 절단이 요구되는 경우, free_truncation_flag가 1이 되는 서브부분들이 원하는 길이만큼 절단된다.
적응된 샘플들이 적응된 한 트랙을 형성한다. 해당 트랙이 힌트 트랙이면, 적응된 샘플들은 유효한 패킷 페이로드들이다. 해당 트랙이 미디어 트랙이면, 적응된 샘플들은 유효한 미디어 샘플들이다.
비디오 코딩시 코딩된 샘플들은 보통 코딩된 픽처들이나 액세스 유닛들이라는 것을 알아야 한다. 오디오에서 코딩된 샘플들은 통상적으로 코딩된 오디오 프레임들이다. 또, 상술한 것과 같이, 코딩된 비디오 시퀀스의 중간에 (즉, IDR 액세스 유닛들 사이에) simple_priority_id 문턱치가 바뀌게 되면 스트림 유효성에 대한 어떤 보장도 주어지지 않는다. 본 발명에서 제안된 적응 경로들에 있어서도 같은 내용이 적용된다. 적응 경로들 간 유효 스위칭 포인트들을 표시하기 위해, 적응 경로 스위치 포인트들에 대한 샘플 그룹화 메커니즘이 사용되어 한 적응 경로로부터 다른 적응 경로로 스위치하는데 사용될 수 있는 적응된 샘플들을 나타낸다. 이러한 샘플 그룹화 메커니즘에 대한 필요성은, SVC가 싱글-루프 디코딩, 즉 최상위 디코딩된 계층을 위해서만 디코딩되는 기준 픽처들을 이용한다는 사실로부터 생겨난다. 결과적으로, 어떤 위치들에서는 스위칭될 계층의 기준 픽처들이 디코딩되지 않았기 때문에 임의의 위치들에서의 계층들간 스위칭은 가능하지 않게 된다. 따라서 이러한 샘플 그룹화 메커니즘은 계층 스위칭 포인트들, 또는 보다 일반적으로 적응 경로들간 스위치 포인트들을 가리키는데 사용될 수 있다. 적응 경로 스위치 샘플 그룹 표현이 존재하는 경우, 한 트랙의 각 샘플이 아래에서 특정되는 한 적응 경로 스위치 포인트 엔트리와 매핑된다. 그룹화 타입 'tpsw'에 대한 0 또는 1개의 샘플-투(to)-그룹 박스 ('sbgp')가 일반 스케일러블 미디어 메타데이터 트랙 의 샘플 테이블 박스 ('stbl')에 포함될 수 있다. 적응 경로 스위치 포인트 샘플 그룹 엔트리는 아래와 같이 정의된다:
Figure 112009029988324-PCT00005
적응 경로 스위치 포인트 샘플 그룹 엔트리의 어의구조는 다음과 같다:
num_refresh는 어떤 적응 경로가 앞서 적응된 샘플들을 생성하는데 사용되었을 때, 이 샘플에서 스위칭될 수 있는 적응 경로들의 개수를 나타낸다.
refresh_adaptation_path_id는 어떤 적응 경로가 앞서 적응된 샘플들을 생성하는데 사용되었을 때, 스위칭될 수 있는 그 적응 경로들에 대한 식별자들을 나타낸다.
본 발명은 컴퓨터 판독가능 매체 상에서 구현되고 네트워크 환경하의 컴퓨터들에 의해 실행되는 프로그램 코드 같은 컴퓨터 실행가능 명령들을 포함하는 프로그램 제품을 통해 일 실시예로서 구현될 수 있는 방법의 단계들이라는 일반적 맥락 내에서 개시되었다. 일반적으로, 프로그램 모듈들에는 특정 작업들을 수행하거나 특정 추상화 데이터 타입들을 구현하는 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등이 포함된다. 컴퓨터 실행가능 명령들, 관련 데이터 구조들, 및 프로그램 모듈들은 여기 개시된 방법들의 단계들을 실행하기 위한 프로그램 코드의 예들을 나타낸다. 그러한 실행가능 명령들이나 관련 데이터 구조들의 특정 시퀀스는 그러한 단계들에서 나타낸 기능들을 구현하기 위한 해당 동작들의 예들을 나타낸다.
본 발명의 소프트웨어 및 웹 구현방식은 다양한 데이터베이스 검색 단계들, 상관 단계들, 비교 단계들 및 결정 단계들을 이행하기 위한 규칙 기반 로직 및 기타 로직을 가진 표준 프로그래밍 기술들을 가지고 이행될 수 있다. 명세서와 청구항들에서 사용하는 "컴포넌트" 및 "모듈"이라는 말들은 한 줄 이상의 소프트웨어 코드, 및/또는 하드웨어 구현방식, 및/또는 수동 입력을 수취하기 위한 도구를 사용하는 구현방식을 포괄하도록 의도되었다는 것 역시 주지해야 할 것이다.
본 발명의 실시예들에 대한 상술한 내용은 예시와 설명의 목적으로 제시되었다. 상기 내용이 개시된 것과 정확히 일치하는 형식으로 본 발명을 제한하기 위해 의도되지는 않았으며, 상술한 내용에 비춰 그 변형 및 치환이 가능하거나 본 발명의 실시로부터 획득될 수도 있다. 본 발명의 원리 및 그 실질적 어플리케이션을 설명하여 이 분양의 당업자로 하여금 본 발명을 숙고된 특정 용도에 적합한 다양한 실시예들 및 다양한 변형예들과 함께 활용할 수 있도록 실시예들이 선택되고 개시되었다.

Claims (25)

  1. 스케일러블 (scalable) 미디어 비트스트림 및 관련 데이터를 포함하는 한 파일을 생성하는 방법에 있어서,
    상기 관련 데이터에 포함된 적응 동작 포인트들 (adaptation operation points)과 관련된 정보를 생성하는 단계를 포함함을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 파일에 존재하는 상기 적응 동작 포인트들의 개수를 나타내는 요소를 포함함을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각에서 비롯되는 출력 특성들을 나타내는 operation_description 변수를 포함함을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각과 관련된 적응 경로를 나타내는 요소를 포함함을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각을 생성하는데 사용된 알고리즘에 대한 표시를 포함함을 특징으로 하는 방법.
  6. 스케일러블 (scalable) 미디어 비트스트림 및 관련 데이터를 포함하는 한 파일을 생성하기 위해, 컴퓨터 판독가능 매체 상에서 구현되는 컴퓨터 프로그램 제품에 있어서,
    상기 관련 데이터에 포함된 적응 동작 포인트들 (adaptation operation points)과 관련된 정보를 생성하기 위한 컴퓨터 코드를 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  7. 제6항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 파일에 존재하는 상기 적응 동작 포인트들의 개수를 나타내는 요소를 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  8. 제6항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각에서 비롯되는 출력 특성들을 나타내는 operation_description 변수를 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  9. 제6항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각과 관련된 적응 경로를 나타내는 요소를 포함함을 특징으로 하는 컴 퓨터 프로그램 제품.
  10. 제6항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각을 생성하는데 사용된 알고리즘에 대한 표시를 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  11. 스케일러블 (scalable) 미디어 비트스트림 및 관련 데이터를 포함하는 한 파일을 생성하도록 구성된 장치 생성기에 있어서,
    프로세서; 및
    상기 프로세서와 서로 작용하도록 연결되고, 상기 관련 데이터에 포함된 적응 동작 포인트들 (adaptation operation points)과 관련된 정보를 생성하기 위한 컴퓨터 코드를 포함하는 메모리 유닛을 포함함을 특징으로 하는 장치.
  12. 제11항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 파일에 존재하는 상기 적응 동작 포인트들의 개수를 나타내는 요소를 포함함을 특징으로 하는 장치.
  13. 제11항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각에서 비롯되는 출력 특성들을 나타내는 operation_description 변수를 포함함을 특징으로 하는 장치.
  14. 제11항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각과 관련된 적응 경로를 나타내는 요소를 포함함을 특징으로 하는 장치.
  15. 제11항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각을 생성하는데 사용된 알고리즘에 대한 표시를 포함함을 특징으로 하는 장치.
  16. 스케일러블 (scalable) 미디어 비트스트림 및 관련 데이터를 포함하는 한 파일을 파싱 (parsing)하기 위한 방법에 있어서,
    상기 관련 데이터로부터, 적응 동작 포인트들 (adaptation operation points)과 관련된 정보를 파싱하는 단계;
    상기 적응 동작 포인트들에 대한 정보에 기초해 한 적응 동작 포인트를 선택하는 단계; 및
    상기 적응 동작 포인트에 따라 상기 파일을 파싱하는 단계를 포함함을 특징으로 하는 방법.
  17. 제16항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 파일에 존재하는 상기 적응 동작 포인트들의 개수를 나타내는 요소를 포함함을 특징으로 하는 방법.
  18. 제16항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각에서 비롯되는 출력 특성들을 나타내는 operation_description 변수를 포함함을 특징으로 하는 방법.
  19. 제16항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각과 관련된 적응 경로를 나타내는 요소를 포함함을 특징으로 하는 방법.
  20. 제16항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각을 생성하는데 사용된 알고리즘에 대한 표시를 포함함을 특징으로 하는 방법.
  21. 스케일러블 (scalable) 미디어 비트스트림 및 관련 데이터를 포함하는 한 파일을 파싱 (parsing)하기 위해, 컴퓨터 판독가능 매체 상에 구현되는 컴퓨터 프로그램 제품에 있어서,
    상기 관련 데이터로부터, 적응 동작 포인트들 (adaptation operation points)과 관련된 정보를 파싱하기 위한 컴퓨터 코드;
    상기 적응 동작 포인트들에 대한 정보에 기초해 한 적응 동작 포인트를 선택 하기 위한 컴퓨터 코드; 및
    상기 적응 동작 포인트에 따라 상기 파일을 파싱하기 위한 컴퓨터 코드를 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  22. 제21항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 파일에 존재하는 상기 적응 동작 포인트들의 개수를 나타내는 요소를 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  23. 제21항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각에서 비롯되는 출력 특성들을 나타내는 operation_description 변수를 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  24. 제21항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각과 관련된 적응 경로를 나타내는 요소를 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  25. 제21항에 있어서, 상기 적응 동작 포인트들과 관련된 정보는, 상기 적응 동작 포인트들 각각을 생성하는데 사용된 알고리즘에 대한 표시를 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
KR1020097010260A 2006-10-20 2007-10-17 스케일러블 멀티미디어의 적응 경로들에 대한 포괄적 표시 KR101088772B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US85323206P 2006-10-20 2006-10-20
US60/853,232 2006-10-20
PCT/IB2007/054232 WO2008047319A1 (en) 2006-10-20 2007-10-17 Generic indication of adaptation paths for scalable multimedia

Publications (2)

Publication Number Publication Date
KR20090084875A true KR20090084875A (ko) 2009-08-05
KR101088772B1 KR101088772B1 (ko) 2011-12-01

Family

ID=39313656

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097010260A KR101088772B1 (ko) 2006-10-20 2007-10-17 스케일러블 멀티미디어의 적응 경로들에 대한 포괄적 표시

Country Status (8)

Country Link
US (1) US9807431B2 (ko)
EP (1) EP2080383A4 (ko)
KR (1) KR101088772B1 (ko)
CN (1) CN101601305B (ko)
CA (1) CA2666622A1 (ko)
MX (1) MX2009004121A (ko)
TW (1) TWI471015B (ko)
WO (1) WO2008047319A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012070875A2 (ko) * 2010-11-23 2012-05-31 삼성전자 주식회사 멀티미디어 시스템에서 다계층 영상을 위한 미디어 파일 생성 방법 및 장치와 이를 이용한 미디어 파일 재생 장치
KR101290467B1 (ko) * 2009-09-22 2013-07-26 퀄컴 인코포레이티드 2 개 이상의 비연속적인 nal 유닛들을 참조하는 추출자를 이용하는 멀티-트랙 비디오 코딩 방법들 및 장치
US8976871B2 (en) 2009-09-16 2015-03-10 Qualcomm Incorporated Media extractor tracks for file format track selection
US9635394B2 (en) 2013-01-24 2017-04-25 Electronics And Telecommunications Research Institute Method and device for flexible MMT asset transmission and reception

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8005419B2 (en) * 2006-12-29 2011-08-23 Xm Satellite Radio Inc. System and method for securely storing and organizing SDARS content with DRM and non-DRM protected media content, and for facilitating obtaining purchased or subscription-based media based on received SDARS content
JP5462259B2 (ja) * 2008-07-16 2014-04-02 シズベル インターナショナル エス.アー. トラックおよびトラックサブセットグループ化の方法および装置
US20100161716A1 (en) * 2008-12-22 2010-06-24 General Instrument Corporation Method and apparatus for streaming multiple scalable coded video content to client devices at different encoding rates
US9485299B2 (en) * 2009-03-09 2016-11-01 Arris Canada, Inc. Progressive download gateway
US9197677B2 (en) * 2009-03-09 2015-11-24 Arris Canada, Inc. Multi-tiered scalable media streaming systems and methods
US20100250763A1 (en) * 2009-03-31 2010-09-30 Nokia Corporation Method and Apparatus for Transmitting Information on Operation Points
CN101924944B (zh) * 2009-06-15 2013-06-05 华为技术有限公司 可伸缩视频编码操作点选择方法、信息提供方法及设备
CA2711311C (en) 2009-08-10 2016-08-23 Seawell Networks Inc. Methods and systems for scalable video chunking
KR101452859B1 (ko) * 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
US9819358B2 (en) 2010-02-19 2017-11-14 Skype Entropy encoding based on observed frequency
US9609342B2 (en) 2010-02-19 2017-03-28 Skype Compression for frames of a video signal using selected candidate blocks
US9313526B2 (en) * 2010-02-19 2016-04-12 Skype Data compression for video
JP2013534101A (ja) * 2010-06-14 2013-08-29 トムソン ライセンシング 符号化マルチコンポーネント・ビデオをカプセル化する方法および装置
US8190677B2 (en) * 2010-07-23 2012-05-29 Seawell Networks Inc. Methods and systems for scalable video delivery
CN102572420B (zh) * 2010-12-22 2014-04-02 北京大学 基于可伸缩视频编码的动态丢包控制方法、系统及装置
US9338463B2 (en) * 2011-10-06 2016-05-10 Synopsys, Inc. Visual quality measure for real-time video processing
US9712887B2 (en) 2012-04-12 2017-07-18 Arris Canada, Inc. Methods and systems for real-time transmuxing of streaming media content
KR102096566B1 (ko) * 2012-04-13 2020-04-02 지이 비디오 컴프레션, 엘엘씨 저지연 화상 코딩
TWI470999B (zh) * 2012-06-19 2015-01-21 Wistron Corp 編輯與儲存串流的方法、裝置、系統
US10171887B2 (en) * 2013-03-13 2019-01-01 Comcast Cable Communications, Llc Methods and systems for intelligent playback
WO2015061794A1 (en) * 2013-10-25 2015-04-30 Futurewei Technologies, Inc. Associating representations in adaptive streaming
US10148969B2 (en) 2015-02-11 2018-12-04 Qualcomm Incorporated Of sample entry and operation point signalling in a layered video file format
GB2538997A (en) * 2015-06-03 2016-12-07 Nokia Technologies Oy A method, an apparatus, a computer program for video coding
US10368071B2 (en) * 2017-11-03 2019-07-30 Arm Limited Encoding data arrays
CN110662054B (zh) 2018-06-29 2023-01-06 北京字节跳动网络技术有限公司 用于视频处理的方法、装置、计算机可读存储介质
CN110662053B (zh) 2018-06-29 2022-03-25 北京字节跳动网络技术有限公司 使用查找表的视频处理方法、装置和存储介质
EP3794825A1 (en) 2018-06-29 2021-03-24 Beijing Bytedance Network Technology Co. Ltd. Update of look up table: fifo, constrained fifo
WO2020003283A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Conditions for updating luts
CN110662064B (zh) 2018-06-29 2022-06-14 北京字节跳动网络技术有限公司 Lut中的运动候选的检查顺序
CN114466197A (zh) 2018-06-29 2022-05-10 北京字节跳动网络技术有限公司 用于查找表更新的编码的运动信息的选择
CA3105330C (en) 2018-06-29 2023-12-05 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
TWI734133B (zh) 2018-07-02 2021-07-21 大陸商北京字節跳動網絡技術有限公司 更新查找表的規則
TW202025760A (zh) 2018-09-12 2020-07-01 大陸商北京字節跳動網絡技術有限公司 要檢查多少個hmvp候選
JP7275286B2 (ja) 2019-01-10 2023-05-17 北京字節跳動網絡技術有限公司 Lut更新の起動
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
US11716474B2 (en) 2020-01-02 2023-08-01 Samsung Electronics Co., Ltd. Storage of EVC decoder configuration information

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640543A (en) * 1992-06-19 1997-06-17 Intel Corporation Scalable multimedia platform architecture
JPH07202820A (ja) * 1993-12-28 1995-08-04 Matsushita Electric Ind Co Ltd ビットレート制御システム
US5952994A (en) * 1997-07-31 1999-09-14 Hewlett-Packard Company Method for scaling an image
WO2002001881A2 (en) * 2000-06-30 2002-01-03 Koninklijke Philips Electronics N.V. Encoding method for the compression of a video sequence
KR100399932B1 (ko) * 2001-05-07 2003-09-29 주식회사 하이닉스반도체 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템
US7483581B2 (en) * 2001-07-02 2009-01-27 Qualcomm Incorporated Apparatus and method for encoding digital image data in a lossless manner
US7668866B2 (en) 2003-12-02 2010-02-23 Panasonic Corporation Method and apparatus for distributing AV content in a downloadable file format
US20050129130A1 (en) 2003-12-10 2005-06-16 Microsoft Corporation Color space coding framework
US20050254575A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
KR100679011B1 (ko) * 2004-07-15 2007-02-05 삼성전자주식회사 기초 계층을 이용하는 스케일러블 비디오 코딩 방법 및 장치
US8311119B2 (en) 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
CN101116112B (zh) * 2005-01-04 2010-12-29 新世代株式会社 绘制装置及绘制方法
US20060167902A1 (en) * 2005-01-21 2006-07-27 Microsoft Corporation System and method for storing a document in a serial binary format
KR20080006609A (ko) 2005-04-13 2008-01-16 노키아 코포레이션 스케일링가능성 정보의 코딩, 저장, 및 시그널링
FR2889017A1 (fr) * 2005-07-19 2007-01-26 France Telecom Procedes de filtrage, de transmission et de reception de flux video scalables, signal, programmes, serveur, noeud intermediaire et terminal correspondants
DK1977611T3 (da) 2006-01-05 2013-04-15 Ericsson Telefon Ab L M Håndtering af medieindhold
US8365060B2 (en) * 2006-08-24 2013-01-29 Nokia Corporation System and method for indicating track relationships in media files

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8976871B2 (en) 2009-09-16 2015-03-10 Qualcomm Incorporated Media extractor tracks for file format track selection
KR101290467B1 (ko) * 2009-09-22 2013-07-26 퀄컴 인코포레이티드 2 개 이상의 비연속적인 nal 유닛들을 참조하는 추출자를 이용하는 멀티-트랙 비디오 코딩 방법들 및 장치
WO2012070875A2 (ko) * 2010-11-23 2012-05-31 삼성전자 주식회사 멀티미디어 시스템에서 다계층 영상을 위한 미디어 파일 생성 방법 및 장치와 이를 이용한 미디어 파일 재생 장치
WO2012070875A3 (ko) * 2010-11-23 2012-07-19 삼성전자 주식회사 멀티미디어 시스템에서 다계층 영상을 위한 미디어 파일 생성 방법 및 장치와 이를 이용한 미디어 파일 재생 장치
US9635394B2 (en) 2013-01-24 2017-04-25 Electronics And Telecommunications Research Institute Method and device for flexible MMT asset transmission and reception

Also Published As

Publication number Publication date
US9807431B2 (en) 2017-10-31
KR101088772B1 (ko) 2011-12-01
EP2080383A4 (en) 2009-12-09
TWI471015B (zh) 2015-01-21
US20080095230A1 (en) 2008-04-24
TW200829032A (en) 2008-07-01
CA2666622A1 (en) 2008-04-24
WO2008047319A1 (en) 2008-04-24
CN101601305B (zh) 2013-01-23
CN101601305A (zh) 2009-12-09
MX2009004121A (es) 2009-06-08
EP2080383A1 (en) 2009-07-22

Similar Documents

Publication Publication Date Title
KR101088772B1 (ko) 스케일러블 멀티미디어의 적응 경로들에 대한 포괄적 표시
EP2055107B1 (en) Hint of tracks relationships for multi-stream media files in multiple description coding MDC.
US9161032B2 (en) Picture delimiter in scalable video coding
RU2697741C2 (ru) Система и способ предоставления указаний о выводе кадров при видеокодировании
EP1977604B1 (en) Method for a backward -compatible encapsulation of a scalable coded video signal into a sequence of aggregate data units
EP2100459B1 (en) System and method for providing and using predetermined signaling of interoperability points for transcoded media streams
US8442109B2 (en) Signaling of region-of-interest scalability information in media files
US8699583B2 (en) Scalable video coding and decoding
KR101115547B1 (ko) 미디어 파일들에서의 다중 디코딩 시각들을 시그날링
KR20100030648A (ko) 시간 레이어 스위칭 포인트들을 표시하는 시스템 및 방법
AU2008206744A1 (en) Carriage of SEI messages in RTP payload format
AU2012202346B2 (en) System and method for indicating track relationships in media files

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141107

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151030

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171027

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191029

Year of fee payment: 9