KR20130107266A - 코딩된 다중 성분 비디오를 캡슐화하는 방법 및 장치 - Google Patents

코딩된 다중 성분 비디오를 캡슐화하는 방법 및 장치 Download PDF

Info

Publication number
KR20130107266A
KR20130107266A KR1020137000734A KR20137000734A KR20130107266A KR 20130107266 A KR20130107266 A KR 20130107266A KR 1020137000734 A KR1020137000734 A KR 1020137000734A KR 20137000734 A KR20137000734 A KR 20137000734A KR 20130107266 A KR20130107266 A KR 20130107266A
Authority
KR
South Korea
Prior art keywords
media data
file
layer
extracted
media
Prior art date
Application number
KR1020137000734A
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 KR20130107266A publication Critical patent/KR20130107266A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • 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/85Assembly of content; Generation of multimedia applications
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation

Abstract

하나를 초과하는 층을 포함하는 매체 개체를 다수의 성분 파일로 하나의 층에 대해 각 하나씩 캡슐화하는 방법 및 디바이스가 성분 파일을 판독하기 위한 대응하는 방법 및 디바이스와 함께 기술된다. SVC/MVC 파일 포맷의 추출기 데이터 구조로 확장이 제안된다. 본 발명의 추출기 확장은 다른 성분 파일을 통해 NAL 유닛 참조를 가능하게 한다. 본 발명은 매체 개체의 적응적 HTTP 스트리밍을 가능하게 한다.

Description

코딩된 다중 성분 비디오를 캡슐화하는 방법 및 장치{METHOD AND APPARATUS FOR ENCAPSULATING CODED MULTI-COMPONENT VIDEO}
관련 출원에 대한 상호 참조
본 출원은 미국 가특허 출원 제61/354,422호(발명의 명칭이 "Extension to the Extractor data structure of SVC/MVC file formats", 출원일: 2010년 6월 14일)의 우선권의 이익을 청구한다. 전술된 가특허 출원의 개시 내용은 본 명세서에 참조 문헌으로 명시적으로 포함된다.
본 출원은, 본 명세서와 동시에 출원된, 공동 계류 중인 공동 소유된 미국 특허 출원 제 / 호(발명의 명칭이 "Method and Apparatus for Encapsulating Coded Multi-component Video")(변리사 문서 제PU100141호)에 관한 것이다. 바로 전술된 정식 특허 출원의 개시 내용은 본 명세서에 참조 문헌으로 명시적으로 포함된다.
기술분야
본 발명은 일반적으로 HTTP 스트리밍에 관한 것이다. 보다 구체적으로, 본 발명은 HTTP 스트리밍을 위해 SVC(scalable video coding) 스트림과 MVC(multi-view coding) 스트림과 같은 코딩된 다중 성분 비디오 스트림을 위한 매체 개체(media entity)를 캡슐화하는 것에 관한 것이다.
HTTP 스트리밍 응용에서, 서버 측에서 인코딩된 비디오는 종종 MP4 파일과 같은 BMFF에 순응하는 파일로 캡슐화되고 저장된다. 나아가, 적응성 HTTP 스트리밍을 실현하기 위해, 파일은 보통 다수의 영화 단편(movie fragments)으로 분할되고, 이들 단편은 클라이언트 URL 요청에 의해 어드레스지정가능한 세그먼트(segments)로 더 그룹화된다. 실제로, 비디오 컨텐츠의 상이한 인코딩된 표현(representations)은 이들 세그먼트로 저장되어 이에 따라 클라이언트는 세션 동안 다운로드와 플레이백을 하기 원하는 표현을 동적으로 선택할 수 있다.
SVC 또는 MVC 비트스트림과 같은 인코딩된 계층화된 비디오는 비트스트림의 상이한 서브세트를 디코딩하는 것에 의해 시간적/공간적 해상도, 품질, 뷰(views) 등의 면에서 상이한 동작점, 즉 표현을 가능하게 하는 것에 의해 이 비트율 적응을 자연적으로 지원한다. 그러나, MP4 파일 포맷과 같은 기존의 ISO BMFF(Base Media File Format) 표준은 각 층이나 표현에 개별적인 액세스를 지원하지 않아서 HTTP 스트리밍 응용에 적용할 수 없다. 도 1에 도시된 바와 같이, MP4 파일 포맷에서 하나의 매체 파일에 대한 모든 층들 또는 표현들을 위한 메타데이터는 moov 영화 박스에 저장되는 반면, 이 모든 층들 또는 표현들을 위한 매체 컨텐츠 데이터는 mdat 영화 박스에 저장된다. HTTP 스트리밍에서, 클라이언트가 하나의 층을 요청할 때에는, 모든 층들 또는 표현들이 서로 혼합되어 있고 클라이언트가 요구되는 층 또는 표현을 찾는 곳을 알지 못하므로, 전체 파일이 송신되어야 한다.
이후에 나타낸 바와 같이, 적응적 HTTP 스트리밍 응용에서, 영화 단편 또는 성분 파일 경계(component file boundaries)를 통해 네트워크 추상 층(network abstract layer: NAL) 유닛과 같은 매체 데이터 샘플을 참조할 수 있는 것이 바람직하다. SVC/MVC 상황에서 이러한 참조(reference)는 "추출기(Extractor)"와 같은 메커니즘을 사용하는 것에 의해 형성될 수 있다. 추출기는 문헌[the SVC / MVC Amendments to the AVC file format extension of BMFF : Information Technology - coding of audio - visual objects - Part 15: Advanced Video Coding ( AVC ) file format , Amendment 2: File format support for Scalable Video Coding , 2008 ( pages 15-17)]에 규정된 내부 파일 데이터 구조이다. 추출기는 복사 없이 참조에 의해 다른 트랙으로부터 NAL 유닛의 추출을 가능하게 하도록 설계된다. 여기서 트랙( track)은 ISO 베이스 매체 파일에서 관련된 샘플들의 타이밍 시퀀스이다. 매체 데이터에서 트랙은 이미지 또는 샘플링된 오디오 시퀀스에 대응한다. 추출기의 구문은 아래에 제시된다:
Figure pct00001
추출기 데이터 구조의 의미는 다음과 같다:
NALUnitHeader: 유형 20의 NAL 유닛에 대해 ISO / IEC 14496-10 Annex G에 특정된 NAL 유닛 구조:
nal_unit_type은 추출기 NAL 유닛 유형(유형 31)으로 설정된다.
forbidden_zero_bit, reserved_one_bit, 및 reserved_three_2bits는 ISO/IEC 14496-10 Annex G에 특정된 것으로 설정된다.
다른 필드(nal_ref_idc, idr_flag, priority_id, no_inter_layer_pred_flag, dependency_id, quality_id, temporal_id, use_ref_base_pic_flag, discardable_flag, 및 output_flag)는 문헌[Information technology - Coding of audio - visual objects - part 15: Advanced Video Coding (AVC) file format, Amendment 2: File format support for Scalable Video Coding, ISO / IEC 14496-15 : 2004/ Amd .2: 2008 ( page 17)]의 B.4에 특정된 바와 같이 설정된다.
track_ref_index는 데이터를 추출할 트랙을 찾기 위해 사용할 유형 'scal'의 트랙 참조 지수를 특정한다. 어느 데이터로부터 트랙이 추출되는 샘플은 샘플 타임 테이블(time-to-sample table)만을 사용하여 매체 디코딩 타임라인에서 시간적으로 정렬되거나 또는 가장 부근에 앞서 있는 것이고, 추출기를 포함하는 샘플과 sample_offset에 의해 특정된 오프셋만큼 조절된다. 제1트랙 참조는 지수 값 1을 구비하고; 값 0은 예비된다.
sample_offset은 정보 소스로 사용되는 링크된 트랙에서 샘플의 상대적 지수를 제공한다. 샘플 0(제로)은 추출기를 포함하는 샘플의 디코딩 시간에 비해 동일한 디코딩 시간을 구비하거나 가장 근접해 앞선 것을 구비하는 샘플이고; 샘플 1(일)은 그 다음 샘플이고, 샘플 -1(마이너스 1)은 이전의 샘플이고, 이와 같이 계속된다.
data_offset: 복사할 참조 샘플 내에 있는 제1바이트의 오프셋. 추출이 이 샘플 내 데이터의 제1바이트로 시작하는 경우, 오프셋은 값 0을 취한다. 이 오프셋은 NAL 유닛 길이 필드의 시작을 참조한다.
data_length: 복사할 바이트의 수. 이 필드가 값 0을 취한다면, 전체 단일 참조 NAL 유닛이 복사된다(즉, 복사할 길이는, 애그리게이터(Aggregator)의 경우에 additional_bytes 필드에 의해 증분된, 데이터 오프셋으로 참조된 길이 필드로부터 취해진다).
다른 상세사항은 문헌[Information technology - Coding of audio - visual objects - part 15: Advanced Video Coding ( AVC ) file format , Amendment 2: File format support for Scalable Video Coding, ISO/IEC 14496-15:2004/Amd.2:2008]에서 볼 수 있다.
일반적으로 추출기는 단지 동일한 영화 박스/단편 내에 있는 다른 트랙으로부터 NAL 유닛을 참조에 의해 추출할 수 있다. 다시 말해, 상이한 세그먼트 또는 파일로부터 NAL 유닛을 추출하는데 추출기를 사용하는 것은 가능하지 않다. 이러한 제한은 상기 사용의 경우로 추출기의 사용을 제한한다.
전술된 문제에 대한 이전의 해법은 이 기술분야에서 적절히 수립되지 못하였다. 속도와 전송 효율을 희생시키는 일 없이 층을 파싱(parsing)하고 캡슐화(encapsulating)하는 능력을 제공하는 것이 바람직할 것이다. 그러나 결과는 이 기술 분야에서 지금까지 달성되지 못하였다.
본 발명은 하나를 초과하는 층을 포함하는 매체 개체로부터 성분 파일을 캡슐화하고 성분 파일을 판독하는 방법 및 장치에 관한 것이다.
본 발명의 일 측면에 따르면, 하나를 초과하는 층을 포함하는 매체 개체로부터 성분 파일을 캡슐화하고 생성하는 방법이 제공된다. 본 방법은 메타데이터와, 매체 개체로부터 각 층에 대해 추출된 메타데이터에 대응하는 매체 데이터를 추출하며 각 층에 대해 추출된 매체 데이터와 관련된 추가적인 매체 데이터에 대한 참조를 식별한다. 이 참조는 각 층에 대해 추출된 매체 데이터 내에 매립된다. 추출된 매체 데이터와 메타데이터는 추출된 메타데이터와 추출된 매체 데이터를 포함하는 성분 파일의 생성을 각 층에 대해 가능하게 하도록 연관된다.
본 발명의 다른 측면에 따르면, 파일 캡슐화기(file encapsulator)가 제공된다. 이 파일 캡슐화기는 메타데이터와, 매체 개체로부터 각 층에 대해 추출된 메타데이터에 대응하는 매체 데이터를 추출하는 추출기; 각 층에 대해 상기 추출된 매체 데이터와 관련된, 매체 개체로부터의, 추가적인 매체 데이터에 대한 참조를 식별하는 참조 식별기; 및 각 층에 대해 추출된 매체 데이터 내에 참조를 매립하고, 각 층에 대해 성분 파일의 생성을 가능하게 하도록 추출된 메타데이터와 추출된 매체 데이터를 연관시키는 상관기를 포함한다.
본 발명의 상기 특징은 첨부된 도면을 참조하여 예시적인 실시예를 상세히 기술하는 것에 의해 보다 명백해질 것이다.
도 1은 예시적인 MP4 파일 포맷을 도시하는 도면;
도 2는 매체 개체를 캡슐화하기 위해 본 발명의 일 실시예를 도시하는 도면;
도 3은 다수의 층/표현을 포함하는 매체 개체로부터 성분 파일을 캡슐화하거나 생성하는데 사용되는 캡슐화기의 구조를 도시하는 도면;
도 4는 종속 관계에 기초하여 성분 파일과 추가적인 매체 데이터를 연관시키는 일례를 도시하는 도면;
도 5는 추출기가 내에 있는 것과는 상이한 영화 박스/단편으로부터 참조에 의해 NAL 유닛을 추출하는 일례를 도시하는 도면;
도 6은 발명된 새로운 추출기 데이터 구조를 사용하여 다수의 영화 단편으로 SVC/MVC 유형의 비디오 비트스트림을 캡슐화하는 수반된 동작을 도시하는 도면;
도 7은 성분 파일을 판독하는데 사용되는 파일 판독기의 구조를 도시하는 도면;
도 8은 본 발명을 수반하는 비디오 디코더에서 SVC/MVC 유형의 비디오 비트스트림을 판독하는 공정을 도시하는 도면.
본 발명에서, 매체 파일 또는 매체 파일 세트 또는 스트리밍 매체와 같은 매체 개체가 클라이언트 URL 요청에 의해 어드레스지정가능한 다수의 영화 성분 파일로 분할되거나 캡슐화된다. 여기서 성분 파일은 단편, 세그먼트, 파일 및 이와는 다른 균등한 용어를 나타내는 넓은 의미로 사용된다.
본 발명의 일 실시예에서, 다수의 표현이나 성분을 포함하는 매체 개체는 각 표현/성분에 대해 메타데이터와 매체 데이터를 추출하기 위해 파싱된다. 표현/성분의 예는 SVC에서 여러 시간적/공간적 해상도와 품질, 및 MVC에서 뷰를 구비하는 층과 같은 층을 포함한다. 이하에서 이 층은 또한 표현/성분을 말하는데 사용되고 이들 용어는 상호 교환가능하게 사용된다. 메타데이터는 예를 들어 각 표현에 대해 매체 개체에 포함된 것이 무엇인지 및 내부에 포함된 매체 데이터를 사용하는 방법을 기술한다. 매체 데이터는 매체 데이터의 목적, 예를 들어, 컨텐츠의 디코딩 또는 요구되는 데이터 샘플을 획득하는 방법에 대한 임의의 필요한 정보를 제공하는데 필요한 매체 데이터 샘플을 포함한다. 각 표현이나 층에 대해 추출된 메타데이터와 매체 데이터는 사용자 액세스를 위해 서로 연관/상관 및 저장된다. 저장 동작은 하드 드라이브 또는 다른 저장 매체 상에 물리적으로 수행될 수 있고 또는 관계 관리 메커니즘(relationship management mechanism)을 통해 사실상 수행되되 메타데이터와 매체 데이터가 저장 매체 상에 상이한 곳에 실제로 위치될 때 다른 응용이나 모듈과 간섭할 때 함께 저장된 것으로 보이도록 수행될 수 있다. 도 2는 이 실시예의 일례를 도시한다. 도 2에서, 매체 개체는 3개의 층, 베이스 층, 인핸스먼트 층(enhancement layer) 1 및 인핸스먼트 층 2를 포함한다. 매체 개체는 3개의 층들 각각에 대해 메타데이터와 매체 데이터를 추출하기 위해 파싱되고, 이들 데이터는 서로 연관된 메타데이터와 대응하는 매체 데이터를 가지고 성분 파일로 개별적으로 저장된다.
도 3은 SVC 인코딩된 비디오와 같은 다수의 층을 포함하는 매체 개체로부터 성분 파일을 캡슐화하고 생성하는데 사용되는 바람직한 캡슐화기(300)의 구조를 도시한다. 매체 개체 입력(310)은 메타데이터 추출기(320)와 매체 데이터 추출기(340)에 전달된다. 메타데이터 추출기(320)는 각 층에 대한 메타데이터(330)를 추출한다. 매체 데이터 추출기(340)는 메타데이터(330)를 취하여 대응하는 매체 데이터(350)를 추출한다. 다른 실시예에서 메타데이터 추출기(320)와 매체 데이터 추출기(340)는 하나의 추출기로 구현되는 것이 주목된다. 두 데이터, 즉 메타데이터(330)와 매체 데이터(350)는 상관기(380)에 공급되고, 이 상관기는 이들 2개 유형의 데이터를 연관시켜, 각 층에 대해 하나의 성분 파일을 가지게 출력 성분 파일(390)을 생성한다.
SVC 또는 MVC의 AVC 확장에 의해 인코딩된 비디오와 같은 계층화된 비디오는 다수의 매체 성분(스케일러블한 층 또는 뷰)을 포함한다. 이러한 인코딩된 비트스트림은 비트스트림의 상이한 서브세트를 디코딩하는 것에 의해 시간적/공간적 해상도, 품질, 뷰 등의 면에서 상이한 동작점, 즉 표현 또는 층을 제공할 수 있다. 나아가, 비트스트림의 층들 중에서 코딩 종속성이 존재하며, 층의 디코딩이 다른 층에 종속할 수 있다. 그러므로, 이러한 비트스트림의 표현 중 하나를 요청하는 것은 캡슐화된 비디오 파일로부터 하나 이상의 성분 또는 매체 데이터를 검색하고 디코딩하는 것을 요구할 수 있다. 상이한 표현들에 대한 추출 공정을 용이하게 하기 위해 인코딩된 계층화된 비디오는 종종 각 층이 상이한 세그먼트 또는 성분 파일로 개별적으로 저장되는 방식으로 MP4 파일에 캡슐화된다. 이 경우에 비트스트림의 NAL 유닛과 같은 특정 매체 데이터 샘플은 전술된 디코딩 종속성 또는 응용에 따라 다른 종속성으로 인해 다수의 세그먼트 또는 성분 파일에 의해 요구되거나 이와 관련되는 것을 고려하는 것이 필요하다.
본 발명의 다른 실시예에서, 세그먼트 또는 성분 파일에 의해 요구되는 추가적인 매체 데이터가 추출되고 세그먼트 또는 성분 파일과 연관된다. 도 4는 이 실시예의 일례를 도시한다. 이 도면에서, SVC 비트스트림은 3개의 공간적 층, HD1080p, SD 및 QVGA를 구비한다. 3개의 영화 단편 또는 성분 파일은 3개의 동작점에 대응하여 형성되고, 각각은 상이한 URL에 의해 어드레스지정가능하다. 각 영화 단편 또는 성분 파일 내에, 디코딩에 필요한 모든 매체 데이터 샘플, 이 예에서 NAL 유닛이 복사되고 "mdat" 박스에 포함된 매체 샘플로 저장된다. 그래서, 클라이언트가 적절한 URL을 사용하여 특정 동작점 또는 표현을 요청할 때, 서버는 대응하는 영화 단편 또는 성분 파일을 검색하여 이를 클라이언트로 송신할 수 있다. 이 실시예에서, 도 3에서 매체 데이터 추출기(340)는 각 층에 대해 추출된 매체 데이터와 관련된 추가적인 매체 데이터를 각 층에 대해 매체 개체 입력(310)으로부터 더 추출한다. 상관기(380)는 대응하는 성분 파일을 생성하기 위해 각 층에 대해 추가적인 추출된 매체 데이터를 더 연관시킨다.
저장 공간의 절감을 위하여 각 성분 파일에 동일한 데이터를 실제 복제함이 없이 영화 단편 또는 성분 파일 경계를 통해 NAL 유닛과 같은 매체 데이터 샘플을 참조할 수 있는 것이 바람직하다. 그러나, ISO 베이스 매체 파일 포맷(BMFF) 및 그 확장은 이 특징을 동시에 지원하지 않는다. 이 문제를 해결하기 위하여 본 발명의 다른 실시예에서 영화 단편 또는 성분 파일의 매체 데이터와 관련되거나 이에 의해 요구되는 추가적인 매체 데이터에 대한 참조가 식별되고 형성된다. 이 추가적인 매체 데이터와는 다른 참조가 메타데이터와 매체 데이터와 함께 성분 파일과 연관된다. 각 층에 대해 추출된 매체 데이터에 참조를 매립하고, 이후 대응하는 성분 파일을 생성하기 위해 각 층에 대해 추출된 메타데이터와 추출된 매체 데이터를 연관시킬 수 있다.
이 실시예에서, 참조 식별자(360)가 캡슐화기(300)의 구조에 더해진다. 참조 식별자(360)는 각 층에 대해 추출된 매체 데이터(350)와 관련된 이 추가적인 매체 데이터에 대한 참조(370)를 매체 개체 입력(310)으로부터 식별한다. 이후 참조(370)는 대응하는 성분 파일(390)을 생성하기 위하여 예를 들어 상기 추출된 매체 데이터에 상기 참조를 매립하는 것에 의해 상관기(380)를 통해 각 층에 대해 추출된 메타데이터(330)와 추출된 매체 데이터(350)와 연관된다.
전술된 바와 같이, SVC/MVC 상황에서, 이 참조는 "추출기"와 같은 메커니즘을 사용하는 것에 의해 형성될 수 있다. 일반적으로 추출기는 단지 동일한 영화 박스/단편 내에 있는 다른 트랙으로부터 NAL 유닛을 참조에 의해 추출할 수 있다. 다시 말해, 다른 세그먼트 또는 파일로부터 NAL 유닛을 추출하는데 추출기를 사용하는 것은 가능하지 않다. 이러한 제한은 다른 경우에 추출기의 사용을 제한한다. 이후, 추출기 데이터 구조에 대한 확장이 개시되며, 여기서 확장은 전술된 바와 같은 다수의 성분 파일로 SVC/MVC 유형의 계층화된 비디오 컨텐츠를 효율적으로 캡슐화하는 것을 지원하는 것을 목적으로 한다.
이 확장은 추출기가 존재하는 것이 아닌 상이한 영화 박스/단편 또는 성분 파일에 존재하는 NAL 유닛을 참조하기 위한 추가적인 능력을 추출기 데이터 구조에 제공하기 위해 추가된다.
확장된 추출기는 다음과 같이 규정된다:
Figure pct00002
의미(Semantics):
data _ entry는 URL(Uniform Resource Locator) 또는 URN(Uniform Resource Name) 엔트리이다. 이름( Name)은 URN이고 URN 엔트리(entry)에 요구된다. 위치( Location)는 URL이고 URL 엔트리에 요구되고, URN 엔트리에서 옵션이고, 여기서 이것은 주어진 이름을 구비하는 자원을 찾을 위치를 제공한다. 각각은 UTF-8 문자를 사용하여 널 종료된 스트림(null-terminated string)이다. 독립식 플래그가 설정되는 경우, URL 형태가 사용되고 스트링이 존재하지 않는다; 박스는 엔트리 플래그 필드로 종료된다. URL 유형은 파일을 전달하는 서비스이어야 한다. 상대적인 URL이 허용가능하며, 추출기가 속하는 트랙을 포함하는 영화 박스/단편을 포함하는 파일에 대해 상대적이다.
다른 필드는 전술된 원래의 추출기와 동일한 의미를 구비한다.
확장된 추출기를 가지고, 이제 추출기가 내에 있는 것과는 다른 영화 박스/단편으로부터 참조에 의해 NAL 유닛을 추출하는 것이 가능하다. 도 5는 도 4와 동일하지만 새로이 확장된 추출기 데이터 구조를 사용하는 SVC 비트스트림을 구비하는 일례를 도시한다. 도면으로부터 볼 수 있는 바와 같이, 이제 SD 영화 단편은 QVGA 영화 단편으로부터 NAL 유닛을 참조할 수 있다. 마찬가지로, HD1080p 영화 단편은 QVGA 및 SD 영화 단편으로부터 NAL 유닛을 참조하기 위해 추출기를 사용할 수 있다. 도 4와 비교해, NAL 유닛이 이들 영화 단편을 통해 복제되지 않아서 저장 공간이 절감된다.
도 6은 발명된 새로운 추출기 데이터 구조를 사용하여 다수의 영화 단편 또는 성분 파일로 SVC/MVC 유형의 비디오 비트스트림을 캡슐화하기 위한 수반된 동작을 도시한다. 공정은 단계(601)에서 시작한다. 각 NAL 유닛은 단계(610)에서 하나씩 판독된다. 단계(620)에서 비트스트림의 종료가 도달되면, 공정은 690에서 종료된다; 그렇지 않으면 공정은 그 다음 단계(630)로 진행한다. 결정 단계(630)는 현재 NAL 유닛이 디코딩을 위해 다른 트랙으로부터 NAL 유닛에 종속하는지를 결정한다. 현재 NAL 유닛이 디코딩을 위해 다른 트랙으로부터 NAL 유닛에 종속하지 않는 것으로 결정나면, 제어는 단계(640)로 전달되고, 여기서 샘플은 현재 NAL 유닛을 사용하여 형성되고 현재 트랙에 배치된다. 단계(630)에서 현재 NAL 유닛과 다른 트랙으로부터의 NAL 유닛 사이에 종속성이 있다고 결정나면, 공정은 단계(650)로 진행한다. 결정 단계(650)는 NAL 유닛이 현재 NAL 유닛에 의해 요구되는 트랙이 동일한 영화 단편 내에 존재하는지를 더 결정한다. 트랙이 동일한 영화 단편에 존재하는 것으로 결정나면, 단계(670)는 다른 트랙으로부터의 NAL 유닛을 참조하기 위해 확장된 추출기에 충진하는데 사용된다. 트랙이 다른 영화 단편에 존재하는 것으로 결정나면, 이 영화 단편의 URL 또는 URN이 단계(660)에서 식별되고, 공정은 확장된 추출기에 충진될 식별된 URL 및 URN을 가지고 단계(670)로 진행한다. 이 확장된 추출기가 충진된 후에, 이는 단계(680)에서 현재 트랙에 매립된다. 이후 공정은 단계(610)에서 그 다음 NAL 유닛으로 시작한다.
성분 파일을 판독하기 위해, 도 7에 도시된 파일 판독기(700)가 사용된다. 파서(710)는 제일 먼저 성분 파일을 파싱하여 메타데이터와 매체 데이터 및 이용가능한 경우 참조를 얻는다. 디코딩된 참조에 따라, 매체 데이터는 디코딩 종속성과 같은 것을 통해 다른 성분 파일의 매체 데이터와 관련되어 있다면, 검색기(720)는 참조에 지시된 바와 같은 다른 성분 파일로부터 관련된 매체 데이터를 검색한다. 프로세서(730)는 이용가능한 경우 추가적인 매체 데이터뿐만 아니라 성분 파일로부터 획득된 메타데이터와 매체 데이터를 더 처리한다. 파서(710)에 의한 파싱 동작은 프로세서(730)를 위해 준비된 메타데이터, 매체 데이터와 검색기(720)를 위해 준비된 참조를 획득하기 위해 여러 필요한 동작을 포함한다. 이것은 필요 시 메타데이터 및/또는 매체 데이터를 파싱하는 동작을 더 포함할 수 있다. 일 실시예에서, 참조는 매체 데이터에 매립되고 그리하여 참조는 매체 데이터를 파싱하는 것에 의해 획득된다. 참조가 이용가능한 경우 파싱 단계는 참조의 구문을 분석하고 참조를 디코딩하는 동작을 더 포함한다. 프로세서(730)는 성분 파일이 비디오 컨텐츠를 포함한다면 비디오 디코더를 포함할 수 있다. 다른 실시예에서, 파서와 검색기는 프로세서에 포함될 수 있다.
도 8은 본 발명을 수반하는 비디오 디코더를 위한 SVC/MVC 유형의 비디오 비트스트림을 판독하는 공정을 도시한다. 단계(801)는 단계(805)에서 식별된 각 층에 대한 메타데이터와 매체 데이터를 구비하는 성분 비디오 파일에 액세스한다. 식별된 메타데이터와 매체 데이터는 단계(810)에서 파싱되고 매체 데이터의 각 NAL 유닛은 단계(815)에서 하나씩 판독된다. 현재 NAL 유닛에서 비트스트림의 종료가 도달되었는지를 결정하기 위해 단계(820)에서 결정이 제일 먼저 이루어지며, 공정은 그 답이 "예"인 경우 단계(825)에서 종료한다. 그렇지 않으면, 공정은 현재 NAL 유닛이 추출기인지 여부를 결정하기 위해 결정 단계(830)로 진행한다. 현재 NAL 유닛이 추출기가 아닌 경우, 즉 현재 NAL 유닛이 디코딩 데이터를 포함하는 통상적인 NAL 유닛인 것을 의미하는 것이라면, NAL 유닛은 단계(835)에서 디코더로 송신된다. 현재 NAL 유닛이 추출기라면, 현재 NAL 유닛이 동일한 성분 파일 외부의 NAL 유닛에 종속하는지 여부가 단계(840)에서 결정된다. 요구되는 NAL 유닛이 동일한 성분 파일 내에 있다면, 이것은 단계(845)에서 현재 파일로부터 검색되고 단계(835)에서 디코더로 송신된다. 요구되는 NAL 유닛이 다른 성분 파일로부터 오는 것이라면, NAL 유닛은 단계(850)에서 추출기에서 Data _ entry 정보를 사용하여 위치되고, 단계(855)에서 원격 파일로부터 검색되고, 이후 단계(835)에서 디코더로 송신된다.
본 발명의 바람직한 실시예가 본 명세서에 상세히 기술되었으나, 본 발명은 이들 실시예로 제한되는 것은 아니며 다른 변형과 변경이 첨부된 청구범위에 의해 한정된 본 발명의 범위를 벗어남이 없이 이 기술 분야에 통상의 지식을 가진 자에게 이루어질 수 있는 것으로 이해된다.

Claims (29)

  1. 하나를 초과하는 층을 포함하는 매체 개체(media entity)로부터 성분 파일을 생성하는 방법으로서,
    상기 매체 개체로부터 각 층에 대해 메타데이터를 추출하는 단계;
    상기 매체 개체의 각 층에 대해 상기 추출된 메타데이터에 대응하는 상기 매체 개체로부터의 매체 데이터를 추출하는 단계;
    각 층에 대해 상기 추출된 매체 데이터와 관련된 추가적인 매체 데이터에 대한 참조(references)를 식별하는 단계;
    각 층에 대해 상기 추출된 매체 데이터에 상기 참조를 매립하는 단계; 및
    대응하는 성분 파일을 생성하기 위해 각 층에 대해 상기 추출된 메타데이터와 추출된 매체 데이터를 연관시키는 단계를 포함하는 성분 파일 생성 방법.
  2. 제1항에 있어서, 상기 성분 파일은 영화 박스, 영화 단편, 세그먼트 및 파일 중 적어도 하나인 것인 성분 파일 생성 방법.
  3. 제2항에 있어서, 상기 매체 데이터와 추가적인 매체 데이터는 데이터 샘플을 포함하는 것인 성분 파일 생성 방법.
  4. 제3항에 있어서, 데이터 샘플은 NAL 유닛(network abstract layer unit)을 포함하는 것인 성분 파일 생성 방법.
  5. 제 4항에 있어서, 각 층에 대해 상기 추출된 매체 데이터와 관련된 상기 추가적인 매체 데이터는 상기 추출된 매체 데이터 내 NAL 유닛이 종속하는 NAL 유닛을 포함하는 것인 성분 파일 생성 방법.
  6. 제5항에 있어서, 상기 참조는 상기 추가적인 매체 데이터에서 상기 NAL 유닛의 위치 정보를 포함하는 것인 성분 파일 생성 방법.
  7. 제6항에 있어서, 상기 위치 정보는 URL(uniform resource locator) 또는 URN(uniform resource name) 중 적어도 하나를 포함하는 것인 성분 파일 생성 방법.
  8. 제7항에 있어서, 매립하는 단계는,
    상기 추가적인 매체 데이터 내 상기 NAL 유닛에 대한 상기 참조를 사용하여 추출기에 충진하는 단계; 및
    상기 추출기를 상기 추출된 매체 데이터의 트랙에 매립하는 단계를 포함하는 것인 성분 파일 생성 방법.
  9. 하나를 초과하는 층을 포함하는 매체 개체로부터 성분 파일을 생성하는 파일 캡슐화기(file encapsulator)로서,
    상기 매체 개체로부터 각 층에 대해 메타데이터를 추출하고, 상기 매체 개체의 각 층에 대해 상기 추출된 메타데이터에 대응하는 상기 매체 개체로부터의 매체 데이터를 추출하는 추출기;
    각 층에 대해 상기 추출된 매체 데이터와 관련된, 상기 매체 개체로부터의, 추가적인 매체 데이터에 대한 참조를 식별하는 참조 식별자; 및
    각 층에 대해 상기 추출된 매체 데이터에 상기 참조를 매립하고, 상기 추출된 메타데이터와 상기 추출된 매체 데이터를 포함하는 성분 파일을 상기 각 층에 대해 생성하는 것을 가능하게 하기 위해 상기 추출된 매체 데이터를 상기 추출된 메타데이터와 연관시키는 상관기를 포함하는 파일 캡슐화기.
  10. 제9항에 있어서, 상기 성분 파일은 영화 박스, 영화 단편, 세그먼트 및 파일 중 적어도 하나인 것인 방법.
  11. 제9항에 있어서, 상기 매체 데이터와 추가적인 매체 데이터는 데이터 샘플을 포함하는 것인 파일 캡슐화기.
  12. 제11항에 있어서, 데이터 샘플은 NAL 유닛(network abstract layer unit)을 포함하는 것인 파일 캡슐화기.
  13. 제12항에 있어서, 각 층에 대해 상기 추출된 매체 데이터와 관련된 상기 추가적인 매체 데이터는 상기 추출된 매체 데이터에 있는 NAL 유닛이 종속하는 NAL 유닛을 포함하는 것인 파일 캡슐화기.
  14. 제13항에 있어서, 상기 참조는 상기 추가적인 매체 데이터 내 상기 NAL 유닛의 위치 정보를 포함하는 것인 파일 캡슐화기.
  15. 제14항에 있어서, 상기 위치 정보는 URL 및 URN 중 적어도 하나를 포함하는 것인 파일 캡슐화기.
  16. 제15항에 있어서, 상기 상관기는 상기 추가적인 매체 데이터에 있는 상기 NAL 유닛에 대한 상기 참조를 사용하여 추출기에 더 충진하며, 상기 추출된 매체 데이터의 트랙에 상기 추출기를 매립하는 것인 파일 캡슐화기.
  17. 성분 파일을 판독하는 방법으로서,
    상기 성분 파일을 파싱하여 상기 성분 파일에 있는 매체 데이터와 참조를 획득하는 단계; 및
    상기 참조에 따라 상기 성분 파일의 상기 매체 데이터가 다른 성분 파일의 매체 데이터와 관련되어 있는 경우, 상기 참조를 사용하여 상기 다른 성분 파일로부터 상기 관련된 매체 데이터를 검색하는 단계를 포함하는 것인 성분 파일 판독 방법.
  18. 제17항에 있어서, 상기 성분 파일의 상기 매체 데이터는 코딩 종속성에 따라 다른 성분 파일의 매체 데이터와 관련된 것인 성분 파일 판독 방법.
  19. 제17항에 있어서, 상기 성분 파일은 영화 박스, 영화 단편, 세그먼트 및 파일 중 적어도 하나인 것인 성분 파일 판독 방법.
  20. 제17항에 있어서, 상기 매체 데이터와 상기 관련된 매체 데이터는 데이터 샘플을 포함하는 것인 성분 파일 판독 방법.
  21. 제20항에 있어서, 데이터 샘플은 NAL 유닛(network abstract layer unit)을 포함하는 것인 성분 파일 판독 방법.
  22. 제21항에 있어서, 상기 참조는 추출기를 포함하는 것인 성분 파일 판독 방법.
  23. 파일 판독기로서,
    성분 파일을 파싱하여 내부에 있는 매체 데이터와 참조를 획득하는 파서(parser);
    상기 참조에 따라 다른 성분 파일로부터 상기 매체 데이터와 관련된 매체 데이터를 검색하는 검색기; 및
    다른 성분 파일로부터의 상기 메타데이터, 매체 데이터 및 상기 검색된 매체 데이터를 처리하는 프로세서를 포함하는 파일 판독기.
  24. 제23항에 있어서, 상기 성분 파일의 상기 매체 데이터는 코딩 종속성에 따라 다른 성분 파일의 매체 데이터와 관련된 것인 파일 판독기.
  25. 제23항에 있어서, 상기 성분 파일은 영화 박스, 영화 단편, 세그먼트 및 파일 중 적어도 하나인 것인 파일 판독기.
  26. 제23항에 있어서, 상기 매체 데이터와 상기 관련된 매체 데이터는 데이터 샘플을 포함하는 것인 파일 판독기.
  27. 제26항에 있어서, 데이터 샘플은 NAL 유닛을 포함하는 것인 파일 판독기.
  28. 제27항에 있어서, 상기 참조는 추출기를 포함하는 것인 파일 판독기.
  29. 제23항에 있어서, 상기 프로세서는 비디오 디코더를 포함하는 것인 파일 판독기.
KR1020137000734A 2010-06-14 2011-06-13 코딩된 다중 성분 비디오를 캡슐화하는 방법 및 장치 KR20130107266A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US35443310P 2010-06-14 2010-06-14
US61/354,433 2010-06-14
PCT/US2011/040164 WO2011159602A1 (en) 2010-06-14 2011-06-13 Method and apparatus for encapsulating coded multi-component video

Publications (1)

Publication Number Publication Date
KR20130107266A true KR20130107266A (ko) 2013-10-01

Family

ID=44367004

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137000734A KR20130107266A (ko) 2010-06-14 2011-06-13 코딩된 다중 성분 비디오를 캡슐화하는 방법 및 장치

Country Status (4)

Country Link
US (1) US20130091154A1 (ko)
EP (1) EP2580919A1 (ko)
KR (1) KR20130107266A (ko)
WO (1) WO2011159602A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120008432A (ko) * 2010-07-16 2012-01-30 한국전자통신연구원 스트리밍 서비스 송/수신 장치 및 방법
US10097841B2 (en) 2012-05-04 2018-10-09 Lg Electronics Inc. Method for storing image data, method for parsing image data, and an apparatus for using the same
US10085034B2 (en) * 2013-07-12 2018-09-25 Sony Corporation Image coding apparatus and method
GB2519746B (en) * 2013-10-22 2016-12-14 Canon Kk Method, device and computer program for encapsulating scalable partitioned timed media data
KR102125162B1 (ko) 2016-02-16 2020-06-22 노키아 테크놀로지스 오와이 미디어 캡슐화 및 캡슐 해제 기법
CN107015791B (zh) * 2016-10-28 2021-02-05 创新先进技术有限公司 一种生成图表组件系统的处理方法、装置及系统
CN113254393A (zh) * 2021-04-07 2021-08-13 互影科技(北京)有限公司 一种互动视频的封装方法及装置、电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725593B2 (en) * 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
US20090119594A1 (en) * 2007-10-29 2009-05-07 Nokia Corporation Fast and editing-friendly sample association method for multimedia file formats
WO2015104450A1 (en) * 2014-01-07 2015-07-16 Nokia Technologies Oy Media encapsulating and decapsulating

Also Published As

Publication number Publication date
US20130091154A1 (en) 2013-04-11
EP2580919A1 (en) 2013-04-17
WO2011159602A1 (en) 2011-12-22

Similar Documents

Publication Publication Date Title
JP6766157B2 (ja) ビデオストリーミングにおけるシーンセクションと関心領域の処理
EP3703384B1 (en) Media encapsulating and decapsulating
WO2011159605A1 (en) Method and apparatus for encapsulating coded multi-component video
KR101143670B1 (ko) 스트리밍된 데이터의 조직화 방법, 컴퓨터 판독가능한 저장 매체, 수신기 및 장치
JP7444872B2 (ja) メディアデータをメディアファイルにカプセル化するための方法、装置、およびコンピュータプログラム
KR20180018662A (ko) 동작 포인트 디스크립터가 동적으로 설정될 수 있는 캡슐화된 비트-스트림으로부터 미디어 데이터 및 메타데이터를 획득하는 방법, 디바이스, 및 컴퓨터 프로그램
KR20130107266A (ko) 코딩된 다중 성분 비디오를 캡슐화하는 방법 및 장치
US20130097334A1 (en) Method and apparatus for encapsulating coded multi-component video
WO2012032502A1 (en) A method and apparatus for adaptive streaming
KR20150012206A (ko) 3차원 콘텐츠의 부호화 방법 및 장치
TW201909007A (zh) 使用用於檔案格式邏輯框之一通用描述符處理媒體資料
GB2593897A (en) Method, device, and computer program for improving random picture access in video streaming
JP2022019932A (ja) 情報処理装置および情報処理方法
GB2599170A (en) Method, device, and computer program for optimizing indexing of portions of encapsulated media content data
JP7241874B2 (ja) カプセル化されたメディアコンテンツの利用可能な部分をシグナリングするための方法、装置、及びコンピュータプログラム
EP3821614B1 (en) An apparatus, a method and a computer program for video coding and decoding
WO2020240089A1 (en) An apparatus, a method and a computer program for video coding and decoding
JP2013534101A (ja) 符号化マルチコンポーネント・ビデオをカプセル化する方法および装置
EP4068781A1 (en) File format with identified media data box mapping with track fragment box
US20230336602A1 (en) Addressable resource index events for cmaf and dash multimedia streaming
GB2620582A (en) Method, device, and computer program for improving indexing of portions of encapsulated media data
WO2024015256A1 (en) Method for bandwidth switching by cmaf and dash clients using addressable resource index tracks and events

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid