KR102191873B1 - 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 - Google Patents

방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 Download PDF

Info

Publication number
KR102191873B1
KR102191873B1 KR1020187033351A KR20187033351A KR102191873B1 KR 102191873 B1 KR102191873 B1 KR 102191873B1 KR 1020187033351 A KR1020187033351 A KR 1020187033351A KR 20187033351 A KR20187033351 A KR 20187033351A KR 102191873 B1 KR102191873 B1 KR 102191873B1
Authority
KR
South Korea
Prior art keywords
metadata
information
entity
timed
sensor
Prior art date
Application number
KR1020187033351A
Other languages
English (en)
Other versions
KR20180138562A (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 KR20180138562A publication Critical patent/KR20180138562A/ko
Application granted granted Critical
Publication of KR102191873B1 publication Critical patent/KR102191873B1/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
    • 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/2362Generation or processing of Service Information [SI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • 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/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • 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/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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명의 일 실시예에 따른 방송 신호 송신 장치는, 타임드 미디어 데이터 스트림 및 상기 타임드 미디어 데이터 스트림에 대한 타임드 메타데이터 스트림를 출력하는 하나 이상의 소스 모듈, 상기 타임드 메타데이터 스트림은 상기 하나 이상의 소스 모듈의 위치 정보를 포함하는 위치 메타데이터 스트림 또는 상기 하나 이상의 소스 모듈의 회전 정보를 포함하는 회전 메타데이터 스트림을 포함하고; 및 데이터 신호를 전송하는 송신 인터페이스; 를 포함하고, 상기 타임드 미디어 데이터 스트림 및 상기 타임드 메타데이터 스트림은 각각 샘플 단위로 ISO BMFF에 기반한 파일 포맷으로 포맷팅되고, 상기 송신 인터페이스는 상기 타임드 미디어 데이터 스트림 및 상기 타임드 메타데이터 스트림을 포함하는 ISO BMFF 파일을 포함하는 데이터 신호를 전송망을 통해 전송할 수 있다.

Description

방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
본 발명은 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법에 관한 것이다. 보다 상세하게는, 본 발명은 몰입형 콘텐츠를 포함하는 차세대 미디어 서비스를 제공하는 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법에 관한 것이다.
아날로그 방송 신호 송신이 종료됨에 따라, 디지털 방송 신호를 송수신하기 위한 다양한 기술이 개발되고 있다. 디지털 방송 신호는 아날로그 방송 신호에 비해 더 많은 양의 비디오/오디오 데이터를 포함할 수 있고, 비디오/오디오 데이터뿐만 아니라 다양한 종류의 부가 데이터를 더 포함할 수 있다. 또한 근래의 방송 시스템은 사용자에게 다양하고 실제에 가까운 경험을 제공할 수 있는 콘텐츠/서비스를 포함할 수 있다.
디지털 방송 시스템은 HD(High Definition) 이미지, 멀티채널(multi channel, 다채널) 오디오, 및 다양한 부가 서비스를 제공할 수 있다. 그러나, 디지털 방송을 위해서는, 많은 양의 데이터 전송에 대한 데이터 전송 효율, 송수신 네트워크의 견고성(robustness), 및 모바일 수신 장치를 고려한 네트워크 유연성(flexibility)이 향상되어야 한다.
하나 이상의 디바이스는 다양한 콘텐츠를 획득할 수 있고, 하나 이상의 디바이스는 이러한 다양한 콘텐츠를 소비할 수 있다. 하나 이상의 디바이스가 이러한 다양한 콘텐츠를 소비하는 경우, 시/공간적인 형태의 미디어 오케스트레이션을 통해, 몰입형 콘텐츠가 사용자에게 제공될 수 있다. 이러한 몰입형 콘텐츠를 사용자에게 제공하기 위한 시스템 아키텍처 및 시그널링 방안 등이 요구된다.
본 발명의 목적에 따라, 본 발명은 몰입형 콘텐츠를 포함하는 차세대 미디어 서비스를 제공하는 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법을 제안한다.
구체적으로, 몰입형 콘텐츠 서비스를 제공하기 위하여 비디오/오디오 스트림 관련 소스/싱크의 위치 메타데이터 및 이에 대한 전송 및 시그널링 방안이 개시된다.
또한, 비디오/오디오 트랙(스트림)과 연관된 소스/싱크의 위치 메타데이터 Access Unit을 정의하고, 메타데이터 스트림을 구성하는 방안이 개시된다.
또한, ISOBMFF와 같은 파일 포맷에 비디오/오디오 트랙(스트림)과 연관된 소스/싱크의 위치 메타데이터 스트림을 저장 및 시그널링하는 방안이 개시된다.
또한, 비디오/오디오 트랙(스트림)과 연관된 소스/싱크의 위치 메타데이터 스트림을 MPEG-2 TS 상에 multiplexing하고 시그널링하는 방안이 개시된다.
또한, 몰입형 콘텐츠 서비스를 제공하기 위하여 비디오/오디오 스트림 관련 소스/싱크의 회전 메타데이터 및 이에 대한 전송 및 시그널링 방안이 개시된다.
또한, 비디오/오디오 트랙(스트림)과 연관된 소스/싱크의 회전 메타데이터 Access Unit을 정의하고, 메타데이터 스트림을 구성하는 방안이 개시된다.
또한, ISOBMFF와 같은 파일 포맷에 비디오/오디오 트랙(스트림)과 연관된 소스/싱크의 회전 메타데이터 스트림을 저장 및 시그널링하는 방안이 개시된다.
또한, 비디오/오디오 트랙(스트림)과 연관된 소스/싱크의 회전 메타데이터 스트림을 MPEG-2 TS 상에 multiplexing하고 시그널링하는 방안이 개시된다.
본 발명은 사용자에게 다양하고 실제에 가까운 경험을 제공하는 콘텐츠/서비스를 제공할 수 있다.
본 발명의 일 실시예에 따르면, 하나 이상의 움직이는 카메라를 통해 비디오가 캡쳐되고, 캡쳐된 비디오와, 위치(position) 또는 회전(orientation)과 같은 카메라의 움직임에 관한 정보가 제공되므로, 수신측에서는 하나 이상의 콘텐츠를 동적으로 소비할 수 있다.
도 1 은 본 발명의 일 실시예에 따른 미디어 파일의 구조를 도시한 도면이다.
도 2 는 본 발명의 일 실시예에 따른 ISOBMFF 내의 박스들의 계층적 구조를 도시한 도면이다.
도 3 은 본 발명의 일 실시예에 따른 몰입형 콘텐츠를 제공하기 위한 시스템 아키텍쳐를 나타낸 도면이다.
도 4 는 본 발명의 일 실시예에 따른 몰입형 콘텐츠를 제공하기 위해 위치(position) 및/또는 회전(orientation) 정보를 시그널링, 인코딩, 저장 및 전송하는 시스템을 나타낸 도면이다.
도 5 의 실시예는 Global Positioning system (GPS) sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함하는 global position sensor capability를 도시한다.
도 6 의 실시예는 position sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함하는 position sensor capability를 도시한다.
도 7 의 실시예는 altitude sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함하는 altitude sensor capability를 도시한다.
도 8 내지 도 9는 본 발명의 일 실시예에 따른 sensor capability base type을 나타낸다.
도 10 의 실시예는 global positioning system (GPS) sensor 로부터 획득한 global position 데이터를 도시한다.
도 11 의 실시예는 altitude sensor 로부터 획득한 altitude 데이터를 도시한다.
도 12 의 실시예는 position sensor 로부터 획득한 위치 데이터를 도시한다.
도 13 은 본 발명의 일 실시예에 따른 SensedInfoBaseType을 나타낸다.
도 14 는 본 발명의 일 실시예에 따른 위치 메타데이터를 포함하는 ISOBMFF 파일을 나타낸 도면이다.
도 15 는 본 발명의 일 실시예에 따른 PositionMetadataSampleEntry() 를 나타낸 도면이다.
도 16 은 위치 메타데이터 엔티티를 위한 SubSampleInformationBox의 codec_specific_parameters를 나타낸 도면이다.
도 17 는 본 발명의 일 실시예에 따른 위치 메타데이터 샘플을 나타낸 도면이다.
도 18 은 본 발명의 일 실시예에 따른 tref 박스 및 위치 메타데이터 트랙에 대한 reference type을 나타낸 도면이다.
도 19 는 본 발명의 일 실시예에 따른 위치 메타데이터를 포함하는 위치 억세스 유닛을 나타낸 도면이다.
도 20 은 본 발명의 일 실시예에 따른 MPEG-2 private section을 나타낸 도면이다.
도 21 은 본 발명의 일 실시예에 따른 PMT를 나타낸 도면이다.
도 22 는 본 발명의 일 실시예에 따른 위치 메타데이터 디스크립터를 나타낸 도면이다.
도 23 은 본 발명의 일 실시예에 따른 위치 메타데이터 디스크립터가 MPEG-2의 extension_descriptor 형태로 전송되는 모습을 나타낸 도면이다.
도 24 의 실시예는 orientation sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함하는 orientation sensor capability를 도시한다.
도 25 의 실시예는 orientation sensor 로부터 획득한 회전 데이터를 도시한다.
도 26 은 본 발명의 일 실시예에 따른 회전 메타데이터를 포함하는 ISOBMFF 파일을 나타낸 도면이다.
도 27 은 본 발명의 일 실시예에 따른 OrientationMetadataSampleEntry() 를 나타낸 도면이다.
도 28 은 본 발명의 일 실시예에 따른 회전 메타데이터 샘플을 나타낸 도면이다.
도 29 는 본 발명의 일 실시예에 따른 tref 박스 및 회전 메타테이더 트랙에 대한 reference type을 나타낸 도면이다.
도 30 은 본 발명의 일 실시예에 따른 회전 메타데이터를 포함하는 회전 억세스 유닛을 나타낸 도면이다.
도 31 은 본 발명의 일 실시예에 따른 MPEG-2 private section을 나타낸 도면이다.
도 32 는 본 발명의 일 실시예에 따른 회전 메타데이터 디스크립터를 나타낸 도면이다.
도 33 은 본 발명의 일 실시예에 따른 회전 메타데이터 디스크립터가 MPEG-2의 extension_descriptor 형태로 전송되는 모습을 나타낸 도면이다.
도 34 는 본 발명의 일 실시예에 따른 방송 신호 송신 장치의 기능적 구성을 나타낸 도면이다.
도 35 는 본 발명의 일 실시예에 따른 방송 신호 송신 방법을 나타낸 순서도이다.
발명의 실시를 위한 최선의 형태
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
도 1 은 본 발명의 일 실시예에 따른 미디어 파일의 구조를 도시한 도면이다.
도 2 는 본 발명의 일 실시예에 따른 ISOBMFF 내의 박스들의 계층적 구조를 도시한 도면이다.
오디오 또는 비디오 등의 미디어 데이터를 저장하고 전송하기 위하여, 정형화된 미디어 파일 포맷이 정의될 수 있다. 실시예에 따라 미디어 파일은 ISO BMFF (ISO base media file format) 를 기반으로한 파일 포맷을 가질 수 있다.
본 발명에 따른 미디어 파일은 적어도 하나 이상의 박스를 포함할 수 있다. 여기서 박스(box)는 미디어 데이터 또는 미디어 데이터에 관련된 메타데이터 등을 포함하는 데이터 블락 내지 오브젝트일 수 있다. 박스들은 서로 계층적 구조를 이룰 수 있으며, 이에 따라 데이터들이 분류되어 미디어 파일이 대용량 미디어 데이터의 저장 및/또는 전송에 적합한 형태를 띄게 될 수 있다. 또한 미디어 파일은, 사용자가 미디어 컨텐츠의 특정지점으로 이동하는 등, 미디어 정보에 접근하는데 있어 용이한 구조를 가질 수 있다.
본 발명에 따른 미디어 파일은 ftyp 박스, moov 박스 및/또는 mdat 박스를 포함할 수 있다.
ftyp 박스(파일 타입 박스)는 해당 미디어 파일에 대한 파일 타입 또는 호환성 관련 정보를 제공할 수 있다. ftyp 박스는 해당 미디어 파일의 미디어 데이터에 대한 구성 버전 정보를 포함할 수 있다. 복호기는 ftyp 박스를 참조하여 해당 미디어 파일을 구분할 수 있다.
moov 박스(무비 박스)는 해당 미디어 파일의 미디어 데이터에 대한 메타 데이터를 포함하는 박스일 수 있다. moov 박스는 모든 메타 데이터들을 위한 컨테이너 역할을 할 수 있다. moov 박스는 메타 데이터 관련 박스들 중 최상위 계층의 박스일 수 있다. 실시예에 따라 moov 박스는 미디어 파일 내에 하나만 존재할 수 있다.
mdat 박스(미디어 데이터 박스) 는 해당 미디어 파일의 실제 미디어 데이터들을 담는 박스일 수 있다. 미디어 데이터들은 오디오 샘플 및/또는 비디오 샘플들을 포함할 수 있는데, mdat 박스는 이러한 미디어 샘플들을 담는 컨테이너 역할을 할 수 있다.
실시예에 따라 전술한 moov 박스는 mvhd 박스, trak 박스 및/또는 mvex 박스 등을 하위 박스로서 더 포함할 수 있다.
mvhd 박스(무비 헤더 박스)는 해당 미디어 파일에 포함되는 미디어 데이터의 미디어 프리젠테이션 관련 정보를 포함할 수 있다. 즉, mvhd 박스는 해당 미디어 프리젠테이션의 미디어 생성시간, 변경시간, 시간규격, 기간 등의 정보를 포함할 수 있다.
trak 박스(트랙 박스)는 해당 미디어 데이터의 트랙에 관련된 정보를 제공할 수 있다. trak 박스는 오디오 트랙 또는 비디오 트랙에 대한 스트림 관련 정보, 프리젠테이션 관련 정보, 액세스 관련 정보 등의 정보를 포함할 수 있다. trak 박스는 트랙의 개수에 따라 복수개 존재할 수 있다.
trak 박스는 실시예에 따라 tkhd 박스(트랙 헤더 박스)를 하위 박스로서 더 포함할 수 있다. tkhd 박스는 trak 박스가 나타내는 해당 트랙에 대한 정보를 포함할 수 있다. tkhd 박스는 해당 트랙의 생성시간, 변경시간, 트랙 식별자 등의 정보를 포함할 수 있다.
mvex 박스(무비 익스텐드 박스)는 해당 미디어 파일에 후술할 moof 박스가 있을 수 있음을 지시할 수 있다. 특정 트랙의 모든 미디어 샘플들을 알기 위해서, moof 박스들이 스캔되어야할 수 있다.
본 발명에 따른 미디어 파일은, 실시예에 따라, 복수개의 프래그먼트로 나뉘어질 수 있다(t18010). 이를 통해 미디어 파일이 분할되어 저장되거나 전송될 수 있다. 미디어 파일의 미디어 데이터들(mdat 박스)은 복수개의 프래그먼트로 나뉘어지고, 각각의 프래그먼트는 moof 박스와 나뉘어진 mdat 박스를 포함할 수 있다. 실시예에 따라 프래그먼트들을 활용하기 위해서는 ftyp 박스 및/또는 moov 박스의 정보가 필요할 수 있다.
moof 박스(무비 프래그먼트 박스)는 해당 프래그먼트의 미디어 데이터에 대한 메타 데이터를 제공할 수 있다. moof 박스는 해당 프래그먼트의 메타데이터 관련 박스들 중 최상위 계층의 박스일 수 있다.
mdat 박스(미디어 데이터 박스)는 전술한 바와 같이 실제 미디어 데이터를 포함할 수 있다. 이 mdat 박스는 각각의 해당 프래그먼트에 해당하는 미디어 데이터들의 미디어 샘플들을 포함할 수 있다.
실시예에 따라 전술한 moof 박스는 mfhd 박스 및/또는 traf 박스 등을 하위 박스로서 더 포함할 수 있다.
mfhd 박스(무비 프래그먼트 헤더 박스)는 분할된 복수개의 프래그먼트들 간의 연관성과 관련한 정보들을 포함할 수 있다. mfhd 박스는 시퀀스 넘버(sequence number) 를 포함하여, 해당 프래그먼트의 미디어 데이터가 분할된 몇 번째 데이터인지를 나타낼 수 있다. 또한, mfhd 박스를 이용하여 분할된 데이터 중 누락된 것은 없는지 여부가 확인될 수 있다.
traf 박스(트랙 프래그먼트 박스)는 해당 트랙 프래그먼트에 대한 정보를 포함할 수 있다. traf 박스는 해당 프래그먼트에 포함되는 분할된 트랙 프래그먼트에 대한 메타데이터를 제공할 수 있다. traf 박스는 해당 트랙 프래그먼트 내의 미디어 샘플들이 복호화/재생될 수 있도록 메타데이터를 제공할 수 있다. traf 박스는 트랙 프래그먼트의 개수에 따라 복수개 존재할 수 있다.
실시예에 따라 전술한 traf 박스는 tfhd 박스 및/또는 trun 박스 등을 하위 박스로서 더 포함할 수 있다.
tfhd 박스(트랙 프래그먼트 헤더 박스)는 해당 트랙 프래그먼트의 헤더 정보를 포함할 수 있다. tfhd 박스는 전술한 traf 박스가 나타내는 트랙 프래그먼트의 미디어 샘플들에 대하여, 기본적인 샘플크기, 기간, 오프셋, 식별자 등의 정보를 제공할 수 있다.
trun 박스(트랙 프래그먼트 런 박스)는 해당 트랙 프래그먼트 관련 정보를 포함할 수 있다. trun 박스는 미디어 샘플별 기간, 크기, 재생시점 등과 같은 정보를 포함할 수 있다.
전술한 미디어 파일 내지 미디어 파일의 프래그먼트들은 세그먼트들로 처리되어 전송될 수 있다. 세그먼트에는 초기화 세그먼트(initialization segment) 및/또는 미디어 세그먼트(media segment) 가 있을 수 있다.
도시된 실시예(t18020)의 파일은, 미디어 데이터는 제외하고 미디어 디코더의 초기화와 관련된 정보 등을 포함하는 파일일 수 있다. 이 파일은 예를 들어 전술한 초기화 세그먼트에 해당할 수 있다. 초기화 세그먼트는 전술한 ftyp 박스 및/또는 moov 박스를 포함할 수 있다.
도시된 실시예(t18030)의 파일은, 전술한 프래그먼트를 포함하는 파일일 수 있다. 이 파일은 예를 들어 전술한 미디어 세그먼트에 해당할 수 있다. 미디어 세그먼트는 전술한 moof 박스 및/또는 mdat 박스를 포함할 수 있다. 또한, 미디어 세그먼트는 styp 박스 및/또는 sidx 박스를 더 포함할 수 있다.
styp 박스(세그먼트 타입 박스) 는 분할된 프래그먼트의 미디어 데이터를 식별하기 위한 정보를 제공할 수 있다. styp 박스는 분할된 프래그먼트에 대해, 전술한 ftyp 박스와 같은 역할을 수행할 수 있다. 실시예에 따라 styp 박스는 ftyp 박스와 동일한 포맷을 가질 수 있다.
sidx 박스(세그먼트 인덱스 박스) 는 분할된 프래그먼트에 대한 인덱스를 나타내는 정보를 제공할 수 있다. 이를 통해 해당 분할된 프래그먼트가 몇번째 프래그먼트인지가 지시될 수 있다.
실시예에 따라(t18040) ssix 박스가 더 포함될 수 있는데, ssix 박스(서브 세그먼트 인덱스 박스)는 세그먼트가 서브 세그먼트로 더 나뉘어지는 경우에 있어, 그 서브 세그먼트의 인덱스를 나타내는 정보를 제공할 수 있다.
미디어 파일 내의 박스들은, 도시된 실시예(t18050)와 같은 박스 내지 풀 박스(FullBox) 형태를 기반으로, 더 확장된 정보들을 포함할 수 있다. 이 실시예에서 size 필드, largesize 필드는 해당 박스의 길이를 바이트 단위 등으로 나타낼 수 있다. version 필드는 해당 박스 포맷의 버전을 나타낼 수 있다. type 필드는 해당 박스의 타입 내지 식별자를 나타낼 수 있다. flags 필드는 해당 박스와 관련된 플래그 등을 나타낼 수 있다.
이하, 몰입형 콘텐츠를 사용자에게 제공하기 위한 시스템 아키텍처 및 시그널링 방안을 설명하도록 한다.
도 3 은 본 발명의 일 실시예에 따른 몰입형 콘텐츠를 제공하기 위한 시스템 아키텍쳐를 나타낸 도면이다.
도 3 을 참조하면, 본 발명의 일 실시예에 따른 몰입형 콘텐츠를 제공하기 위한 시스템의 기능적 구성이 도시되어 있다. 본 발명의 일 실시예에 따른 몰입형 콘텐츠를 제공하기 위한 시스템은 생산부(production)와 소비부(consumption)를 포함한다. 생산부는 콘텐츠 및/또는 메타데이터를 생산, 제작, 또는 획득하는 파트를 의미하고, 소비부는 생산부가 생산, 제작, 또는 획득한 콘텐츠 및/또는 메타데이터를 소비, 사용 또는 재생하는 파트를 의미한다고 할 수 있다. 한편, 생산부는 하나 이상의 디바이스를 통해 콘텐츠 및/또는 메타데이터를 생산, 제작, 또는 획득할 수 있다. 마찬가지로, 소비부 또한 하나 이상의 디바이스를 통해 콘텐츠 및/또는 메타데이터를 소비, 사용, 또는 재생할 수 있다.
하나 이상의 디바이스는 다양한 콘텐츠 및/또는 메타데이터를 획득할 수 있고, 하나 이상의 디바이스는 이러한 다양한 콘텐츠 및/또는 메타데이터를 소비할 수 있다. 하나 이상의 디바이스가 이러한 다양한 콘텐츠를 소비하는 경우, 시/공간적인 형태의 미디어 오케스트레이션을 통해, 몰입형 콘텐츠가 사용자에게 제공될 수 있다는 것은 앞서 설명한 바와 같다.
미디어 오케스트레이션은 여러 디바이스가 관련된 미디어 및 메타데이터 캡처, 프레젠테이션 및 처리를 조정(orchestration)한다.
미디어 캡처에 대한 오케스트레이션은 어떤 디바이스가 무엇을, 언제, 어떻게 캡처할 것인지에 관한 메타데이터와 컨트롤에 관한 것이다. 여기서, 무엇을 캡처할 것인지는 캡쳐할 미디어가 무엇인지와, 해당 미디어의 어느 부분을 캡처할 지에 관한 것이다. 언제 캡처할 것인지는 캡쳐 시작과 중단 뿐만 아니라, 다른 디바이스(들)와의 캡쳐 동기화에 관한 것이다. 어떻게 캡처할 것인지는 사용된 코덱, 전달된 메타데이터, 및 적용 가능한 프로세싱 뿐만 아니라, 위치(location), 방향(회전, orientation), 캡쳐 캐패빌리티(capture capabilities), 프레임 레이트(frame rate), gotkdeh(resolution), 마이크 이득(microphone gain), 화이트 밸런스 설정(white balance settings) 등에 관한 것이다.
미디어 프레젠테이션에 대한 오케스트레이션은 어떤 디바이스가 무엇을, 언제, 어떻게 프레젠테이션할 것인지에 관한 메타데이터 및 컨트롤에 관한 것이다. 여기서, 무엇을 프레젠테이션할 것인지는 검색할 미디어와, 미디어의 어느 부분이 프레젠테이션되어야 하는지에 관한 것이다. 언제 프레젠테이션할 것인지는 다른 디바이스(들)와의 프레젠테이션 동기화에 관한 것이다. 어떻게 프레젠테이션할 것인지는 대상을 어디에서 정확하게 재생할 것인지에 관한 것으로, 예컨대, 스크린 내 미디어 파트의 위치, 공간 내 오디오 오브젝트의 위치, 및 적용 가능한 프로세싱에 관한 것이다.
프로세싱에 대한 오케스트레이션은 캡처된 미디어 및/또는 메타데이터의 조합을 프로세싱하기 위한 메타데이터 및 컨트롤에 대한 것이다. 이는 싱글-미디어 프로세싱(예를 들어, 트랜스코딩의 경우, 미디어 동기화) 뿐만 아니라 다수의 미디어 및/또는 메타데이터를 함께 프로세싱하는 것, 예를 들어, 비디오 스티칭 작업, 시/공간 내 미디어 배열 변경, 또는 자동화된 편집 및 선택 프로세스,을 포함한다.
본 발명의 일 실시예에 따른 몰입형 콘텐츠를 제공하기 위한 시스템은 소스(source), 싱크(sink), 오케스트레이터(orchestrator), 엠-프로세서(M-processor), 및 컨트롤러(controller)를 포함할 수 있다.
소스(source)는, 미디어 데이터 및/또는 메타데이터를 획득 및/또는 전송하는 요소(element) 내지 구성일 수 있다. 일 실시예에서, 소스는 비디오 데이터와 같은 미디어 데이터를 캡쳐할 수 있으며, 비디오 데이터와 관련된 메타데이터를 생성 또는 획득할 수 있다. 또한, 소스는 캡쳐한 비디오 데이터와, 수신 또는 생성된 메타데이터를 다른 요소로 전송할 수 있다. 여기서, 다른 요소는 후술할 오케스트레이터, 엠-프로세서, 싱크 일 수 있다. 일 실시예에서, 메타데이터는 타임드 메타데이터일 수 있다.
또한, 소스(source)는 제어 정보를 수신할 수 있다. 일 실시예에서 소스는, 후술할 컨트롤러로부터 제어 정보를 수신할 수 있다.
싱크(sink)는, 미디어 및/또는 메타데이터를 수신하는 요소(element) 일 수 있다. 또한, 싱크는 수신한 미디어 데이터를 표출(present)할 수 있다.
또한, 싱크는 오케스트레이션 데이터 및/또는 메타데이터를 수신할 수 있다.
오케스트레이터(orchestrator)는 미디어 데이터, 및/또는 메타데이터를 수신하는 요소(element) 일 수 있다. 또한, 오케스트레이터는 오케스트레이션 데이터를 출력할 수 있다. 일 실시예에서, 오케스트레이터는 미디어 데이터와 메타데이터 사이의 관계 정보를 나타내는 오케스트레이션 데이터를 생성하고, 생성된 오케스트레이션 데이터를 출력할 수 있다. 출력된 오케스트레이션 데이터는 도면에 도시된 멀티-도메인 디스트리뷰션(Multi-domain distribution)과 같은 매개체를 통해 소비부(consumption)로 전달될 수 있다. 일 실시예에서, 멀티-도메인 디스트리뷰션(Multi-domain distribution)은 방송망/인터넷망과 같은 전송망에 포함될 수 있다. 일 실시예에서, 오케스트레이터는 후술할 엠-프로세서에 의해 구현될 수도 있다. 이러한 실시예에서, 엠-프로세서는 미디어 데이터, 메타데이터 및/또는 다른 오케스트레이션 데이터로부터 오케스트레이션 데이터를 생성할 수 있다.
엠-프로세서(M-processor)는 미디어 데이터 및/또는 메타데이터를 처리하는 요소(element) 일 수 있다. 엠-프로세서는 미디어 데이터 및/또는 메타데이터를 수신할 수 있고, 오케스트레이션 데이터를 수신할 수도 있다. 또한, 엠-프로세서는 수신한 미디어 데이터 및/또는 메타데이터를 이용하여 새로운 미디어 데이터 및/또는 메타데이터를 출력할 수 있다. 앰-프로세서는 소스와 동일한 디바이스 내에 위치하거나 별도로 존재할 수 있다. 오케스트레이터가 엠-프로세서에 의해 구현된 경우로서, 엠-프로세서가 동일한 디바이스 내에 있으면, 오케스트레이션 데이터도 해당 디바이스에서 함께 생성될 수 있다.
컨트롤러(controller)는 하나 이상의 다른 요소를 제어하는 요소일 수 있다. 즉, 컨트롤러는 전술한 요소들 중 전부 또는 일부를 제어할 수 있다. 이를 위해, 컨트롤러는 제어 신호 또는 제어 데이터를 출력하거나, 수신할 수 있다. 한편, 컨트롤러는 정의된 입력 인터페이스를 가지지 않을 수 있다.
한편, 응용 프로그램 서버(application server)는 컨트롤러 및 M-프로세싱 기능을 포함할 수 있고, M-프로세싱 기능은 트랜스코딩, 타임라인 추가 또는 변경, 멀티플렉싱, 디멀티플렉싱, 선택(편집), 스티칭, 타일링(예: MPEG DASH Relationship Description), 트랜슬레이션, 메타데이터 스트림 추출(예: CDVS 메타데이터) 등을 포함할 수 있다. .
일 실시예에서, 소스와 싱크는 각각 하나의 디바이스를 의미할 수 있다.
다른 실시예에서, 디바이스는 소스 기능과 싱크 기능을 모두 가질 수 있다.
또 다른 실시예에서, 하나의 디바이스는 컨트롤러, 엠-프로세서 및/또는 오케스트레이터의 전부 또는 일부를 포함할 수 있고, 디바이스에는 하나 이상의 소스가 있을 수 있다.
그리고, 하나의 디바이스는, 다양한 기본적인 기능을 구현할 수 있는 물리적인 개체(physical entity)를 의미할 수 있다.
한편, 몰입형 콘텐츠를 사용자에게 제공하기 위한 시스템에서 사용되는 데이터 및 시그널링은 다음과 같이 정의될 수 있다.
미디어 데이터(media data)는, 렌더링이 가능한 데이터를 의미할 수 있다. 미디어 데이터는 오디오, 비디오, 텍스트, 그래픽, 이미지, 햅틱(haptic), 및 택틀(tactile) 정보를 포함할 수 있다. 한편, 미디어 데이터는 타임드 데이터(timed data)일 수 도 있고, 넌 타임드 데이터(non-timed data)일 수도 있다.
메타데이터(metadata)는 다른 데이터에 관한 데이터를 의미할 수 있다. 즉, 메타데이터는 독립적으로 렌더링될 수 없는 데이터로서, 관련된 미디어 데이터의 렌더링, 프로세싱 및/또는 오케스트레이션에 영향을 미치는 데이터라고 할 수 있다. 다시 말해, 메타데이터는 미디어 데이터와 같은 본질적인 데이터(essential data)를 설명하거나, 그와 관련된 부가 정보를 제공하는 데이터를 의미한다고 할 수 있다.
메타데이터는, 미디어 데이터와 마찬가지로 타임드 메타데이터(timed metadata)일 수도 있고, 넌 타임드 메타데이터(non-timed metadata) 일 수도 있다.
보다 구체적으로, 메타데이터는 소스에서 획득한 미디어 데이터, 소스의 속성과 관련된 데이터, 및/또는 싱크가 미디어 데이터를 렌더링할 때 영향을 줄 수 있는 데이터를 포함할 수 있다. 일 실시예에 따르면, 메타데이터는 소스 및/또는 싱크의 위치 정보 및/또는 방향 정보를 포함할 수 있다. 여기서, 위치 정보는 절대적인 위치를 나타내거나 상대적인 위치를 나타낼 수 있으며, 방향 정보는 회전 정보의 형태로 방향을 지시할 수 있다. 보다 구체적인 실시예에서, 메타데이터는 카메라, 또는 마이크로폰과 같은 소스가 미디어 데이터를 생성할 때, 해당 미디어 데이터가 생성된 위치 또는 방향과 관련된 정보일 수 있다. 이때, 메타데이터는, 시간에 따라 생성된 미디어 데이터와 마찬가지로 타임드 메타데이터의 형태를 가질 수 있다. 또한, 타임드 메타데이터는 연관된 미디어 데이터와 함께 다중화될 수 있다.
예를 들어 위치와 방향을 트래킹할 수 있는 트랙커(tracker)가 카메라에 부착 또는 포함되어 있는 경우, 카메라가 이미지를 캡처하면서 이동하면 카메라의 위치와 방향이 연속적으로 트래킹될 수 있다. 따라서, 캡쳐된 비디오 스트림과 함께, 카메라의 위치 및 회전(시선)에 대한 데이터 스트림도 생성될 수 있다.
이러한 위치 및/방향에 대한 데이터 스트림은 관련 비디오 스트림과 마찬가지로 본질적인(intrinsic) 타임라인을 가질 수 있다. 따라서, 위치 및/방향에 대한 데이터 스트림은 타임드 메타데이터가 될 수 있다.
오케스트레이션 데이터(orchestration data)는 다수의 타임드 데이터 스트림을 오케스트레이션하는 데이터를 의미할 수 있다. 일 실시예에서, 오케스트레이션 데이터는 타임드 미디어 데이터와, 타임드 메타데이터의 연관관계에 대한 정보를 포함할 수 있다. 한편, 오케스트레이션 데이터 그 자체도 타임드 데이터일 수 있다.
타임드 데이터(timed data)는 고유의 타임라인(intrinsic timeline)을 갖는 데이터를 의미할 수 있다.
마찬가지로, 타임드 메타데이터(timed metadata)는 고유의 타임라인을 갖는 메타데이터를 의미할 수 있다.
다수 디바이스를 통하여 획득된 콘텐츠를 기반으로 몰입형 콘텐츠 서비스 지원 방안
이하, 몰입형 콘텐츠를 사용자에게 제공하기 위한 시스템 및 시그널링 방안의 보다 구체적인 실시예를 설명하도록 한다. 이하의 실시예는, 사용자에게 몰입형 콘텐츠를 제공하기 위해 미디어 데이터 뿐만 아니라, 미디어 데이터와 관련된 위치 정보 및/또는 회전 정보를 시그널링하는 실시예에 관한 것이다.
도 4 는 본 발명의 일 실시예에 따른 몰입형 콘텐츠를 제공하기 위해 위치(position) 및/또는 회전(orientation) 정보를 시그널링, 인코딩, 저장 및 전송하는 시스템을 나타낸 도면이다.
도 4 에 도시된 실시예는 카메라에 위치/회전 센서(position/orientation sensor)가 포함되어, 카메라가 영상을 획득할 때 위치/회전(position/orientation) 정보를 함께 획득하는 실시예를 나타낸다.
도 4 에 도시된 실시예에서, 캡쳐 공간(capture space)과 소비 공간(consumption space)은 각각 도 3의 생성부(production)과 소비부(consumption)에 대응될 수 있다. 또한 도 4 에 도시된 전송망(delivery)은 도 3 의 멀티-도메인 디스트리뷰션(Multi-domain distribution)에 대응될 수 있다.
도면을 참조하면, 캡쳐 공간에서 카메라가 영상을 캡쳐할 때, 카메라에 포함된 위치/회전 센서(position/orientation sensor)가 카메라의 위치 정보/회전 정보를 획득한다. 이러한 실시예에 의하면, 카메라가 영상을 획득함과 동시에 카메라의 위치/회전 정보가 추적 가능하다.
이때, 위치/회전 데이터는 타임드 메타데이터(timed metadata)의 형태로 생성될 수 있다. 즉, 위치/회전 데이터는 타임드 메타데이터(timed metadata)에 포함될 수 있다. 한편, 카메라가 캡쳐한 영상은 인코딩된 다음 파일 포맷 또는 전송 스트림의 형태로 저장되어 방송망/인터넷과 같은 전송망(delivery)을 통해 소비 공간(consumption space)으로 전달될 수 있다. 이와 마찬가지로, 타임드 메타데이터도 인코딩된 다음 파일 포맷 또는 전송 스트림에 저장될 수 있다. 타임드 메타데이터는 전송망을 통해 소비 공간으로 전달될 수 있다.
소비 공간(consumption space)에서는 캡쳐 공간에서 수행되는 과정에 대응하는 역과정이 수행될 수 있다. 즉, 소비 공간에서는 캡쳐 공간으로부터 전달된 비디오/메타데이터 파일을 파싱한 후, 비디오/메타데이터를 디코딩할 수 있다. 그리고, 소비 공간에서 처리된 메타데이터를 기반으로 비디오에 대한 후처리(post-processing)가 수행될 수 있으며, 싱크의 위치/회전 정보 등에 따라 비디오가 렌더링될 수 있다. 즉, 캡쳐 공간에서의 카메라의 위치/회전 정보에 기반하여, 소비 공간의 디바이스의 위치/회전 정보에 따라 비디오가 적절하게 디스플레이될 수 있다.
이하, 메타데이터에 포함될 수 있는 정보에 대해 설명하도록 한다. 즉, 아래에서는 위치 정보 및 회전 정보에 대해 설명한다. 위치 정보에는 위치 정보 그 자체와, 위치 정보를 센싱하기 위한 센서의 캐패빌리티 정보가 포함될 수 있다. 마찬가지로, 회전 정보 그 자체와, 회전 정보를 센싱하기 위한 센서의 캐패빌리티 정보가 포함될 수 있다. 또한, 위치 정보 그 자체는, 위치 센서에 의해 센싱된 위치 정보를 의미하고, 회전 정보 그 자체는, 회전 센서에 의해 센싱된 회전 정보를 의미한다고 할 수 있다. 문맥에 따라, 위치 정보는, 위치 정보 그 자체와, 위치 정보를 센싱하기 위한 센서의 캐패빌리티 정보를 포함하는 개념으로 사용될 수도 있고, 위치 정보 그 자체를 지칭하는 개념으로 사용될 수도 있다. 문맥에 따라, 회전 정보는, 회전 정보 그 자체와, 회전 정보를 센싱하기 위한 센서의 캐패빌리티 정보를 포함하는 개념으로 사용될 수도 있고, 회전 정보 그 자체를 지칭하는 개념으로 사용될 수도 있다.
일 실시예에서, 메타데이터는 타임드 메타데이터 일 수 있다. 이러한 실시예에서, 타임드 메타데이터는 위치 메타데이터와, 회전 메타데이터를 포함하는 개념으로 사용될 수 있다. 따라서, 타임드 메타데이터라는 용어로부터 파생된 타임드 메타데이터 억세스 유닛과 같은 용어는 위치 메타데이터 억세스 유닛 및 회전 메타데이터 억세스 유닛을 포함하는 개념이며, 타임드 메타데이터라는 용어로부터 파생된 타임드 메타데이터 디스크립터와 같은 용어는 위치 메타데이터 디스크립터 및 회전 메타데이터 디스크립터를 포함하는 개념을 의미할 수 있다.
먼저, 위치 정보를 센싱하는 센서의 캐패빌리티 정보에 대해 설명하도록 한다.
하나 이상의 센서 또는 해당 센서를 내장한 디바이스가 위치(position) 데이터를 획득할 수 있는 경우, 해당 센서 또는 디바이스의 캐패빌리티(capability) 정보는 도 5 내지 도 9과 같은 형태로 나타낼 수 있다.
도 5 의 실시예는 Global Positioning system (GPS) sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함하는 global position sensor capability를 도시한다.
도 5 의 실시예에 도시된 global position sensor capability는 절대적인 위치 정보를 제공하는 GPS 센서의 캐패빌리티에 관한 것이다.
도시된 global position sensor capability 에서 사용된 용어의 의미는 도면의 하단에 나타난 바와 같다.
accuracy는 AccuracyType의 실제 값에 대한 경도 측정 값의 근사 정도를 나타낼 수 있다.
LatitudeAccuracy는 AccuracyType의 실제 값에 대한 위도 측정 값의 근사 정도를 나타낼 수 있다.
Offset은 특정 절대 값을 얻기 위해 경도의 기본 값에 더해진 값을 나타낼 수 있다.
VariousAccuracy은 다양한 시점에서 정확도를 나타낼 수 있다. 이 요소는 각각 한 가지 유형의 정확도를 정의할 수 있다. 이 요소는 정의된 세 개의 속성을 이용하여 정확도를 정의할 수 있다.
SensorCapabilityBase(SensorCapabilityBaseType)에 대해서는 도 8 내지 도 9를 통해 후술한다.
accuracyType은 정확도의 타입을 기술할 수 있다. 예를 들어, accuracyType는 거리 정확도 또는 재획득 시간을 포함할 수 있다.
Value는 정확도의 값을 기술할 수 있다.
accuracyUnit는 정확도 설명의 단위를 기술할 수 있다.
Crs는 경도, 위도 및 고도값이 주어진 좌표 참조 시스템(coordinate reference system)의 URI를 기술할 수 있다. 디폴트 값은 urn:ogc:def:crs:EPSG::4326이고, EPSG 데이터베이스에 기술된 코드 4326을 갖는 좌표 참조 시스템 (CRS)을 기술할 수 있다.
longitudeOffset은 특정 절대값을 얻기 위해 경도의 기본 값에 더해진 값을 나타낼 수 있다.
latitudeOffset은 특정 절대값을 얻기 위해 위도의 기본 값에 더해진 값을 나타낼 수 있다.
maxOperatingTemp은 굴절 센서가 굴절 각도를 감지할 수 있는 위치의 개수를 나타낼 수 있다.
minOperatingTemp은 인접한 센싱 위치 사이의 거리를 나타낼 수 있다.
한편, global position sensor capability에 포함된 플래그들은 해당 정보의 존부를 지시할 수 있다. 즉, latitudeoffsetflag는 latitudeoffset의 존부를 지시하고, longitudeoffsetflag는 longitudeoffset의 존부를 지시하며, maxoperatingtempflag는 maxoperatingtemp의 존부를 지시하고, minoperatingtempflag는 minoperatingtemp의 존부를 지시할 수 있다.
variousaccuracycount는 설명하고자 하는 정확도 타입의 개수를 지시할 수 있다.
도 6 의 실시예는 position sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함하는 position sensor capability를 도시한다.
도 6 의 실시예에 도시된 position sensor capability는 상대적인 위치 정보를 센싱하는 위치 센서의 캐패빌리티에 관한 것이라는 점에서 GPS 센서의 캐패빌리티와 차이가 있다고 할 수 있다. 즉, 도시된 position sensor capability 는 GPS 센서가 아닌 위치 센서를 의미할 수 있다.
도시된 position sensor capability 에서 사용된 용어의 정의는 도면의 하단에 나타난 바와 같다.
SensorCapabilityBase(SensorCapabilityBaseType)에 대해서는 도 8 내지 도 9를 통해 후술한다.
보다 구체적으로, unit 은 센서의 측정 값의 단위를 나타낼 수 있다.
Range는 해당 위치 센서가 전역 좌표계에서 RangeType으로 인식 할 수 있는 범위를 나타낼 수 있다. 참고로, 앞서 설명한 SensorCapabilityBaseType의 minValue 및 maxValue는 이 센서에 사용되지 않는다.
RangeType은 로컬 좌표계에서 x 축, y 축 및 z 축에 따라 휴면(idle) 상태에 있는 센서의 위치를 기준으로 범위를 정의한다.
XminValue은 위치 센서가 미터 단위로 x 축을 따라 인식 할 수 있는 최소값을 나타낼 수 있다.
XmaxValue는 위치 센서가 미터 단위로 x 축을 따라 인식 할 수 있는 최대값을 나타낼 수 있다.
YminValue은 위치 센서가 미터 단위로 y 축을 따라 인식 할 수 있는 최소값을 나타낼 수 있다.
YmaxValue는 위치 센서가 미터 단위로 y 축을 따라 인식 할 수 있는 최대값을 나타낼 수 있다.
ZminValue은 위치 센서가 미터 단위로 z 축을 따라 인식 할 수 있는 최소값을 나타낼 수 있다.
ZmaxValue는 위치 센서가 미터 단위로 z 축을 따라 인식 할 수 있는 최대값을 나타낼 수 있다.
도 7 의 실시예는 altitude sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함하는 altitude sensor capability를 도시한다.
altimeter 와 같은 Altitude sensor의 캐패빌리티(capability) 에 대한 상세 정보를 포함하는 altitude sensor capability는 도 7의 실시예와 같을 수 있다.
SensorCapabilityBase(SensorCapabilityBaseType)에 대해서는 도 8 내지 도 9를 통해 후술한다.
도 8 내지 도 9는 본 발명의 일 실시예에 따른 sensor capability base type을 나타낸다.
도 8 내지 도 9를 통해 설명하는 sensor capability base type 는 도 5 내지 도 7의 sensor capability base (sensor capability base type)에 관한 것이다.
도시된 sensor capability base type에서 사용된 용어의 정의는 도면의 하단에 나타난 바와 같다.
보다 구체적으로, SensorCapabilityBaseType 은 센서 디바이스 캐패빌리터 메타데이터 타입의 일부로 정의된 타입들의 하위 집합에 대한 기본 추상 타입을 제공할 수 있다.
AccuracyFlag는 Accuracy 속성의 존부를 지시할 수 있다.
TerminalCapabilityBase는 TerminalCapabilityBaseType을 나타낸다.
Accuracy는 측정된 량의 실제 값에 대한 근사 정도를 AccuracyType으로 나타낼 수 있다. sensorCapabilityBase Attributes는 센서 캐패빌리티에 대한 속성 그룹을 나타낼 수 있다.
AccuracyType은 상대 값 또는 절대 값으로 정확도를 설명하는 선택을 제공하는 상위 타입일 수 있다. AccuracyType에 대한 보다 상세한 설명은 본 도면의 하단을 참조하여 이어서 설명하도록 한다.
SensorCapabilityBaseAttributes는 SensorCapabilityBaseAttributesType을 나타낸다.
SensorCapabilityBaseAttributesType에 대한 설명은 도 9 를 통해 후술한다.
도면의 하단을 참조하면, AccuracyType이 나타나 있다.
AccuracySelect은 어떤 정확도 체계(스킴)가 사용되는지를 나타낼 수 있다. '0'은 PercentAccuracy 타입이 사용됨을 의미하고, "1"은 ValueAccuracy 유형이 사용됨을 의미할 수 있다.
PercentAccuracy은 0부터 1.0까지의 값을 사용하여 상대적인 방법으로 실제 값에 대한 측정 된 량의 근사 정도를 나타낼 수 있다. 이때, value는 정확도를 위해 상대적인 방법으로 값을 제공한다. value 0은 0 %의 정확도를 의미하고 value 1.0은 100 %의 정확도를 의미한다.
ValueAccuracy은 주어진 단위의 절대 값에서 실제 값에 대한 측정된 량의 근사 정도를 나타낼 수 있다. 이때, value는 절대적인 방법으로 값을 제공한다. Value는 주어진 단위에서 오차 범위를 (+값, -값으로) 나타낼 수 있다.
도 9 를 참조하면, SensorCapabilityBaseAttributesType이 나타나 있다.
unitFlag 는 unit 속성(attribute)의 존부를 지시할 수 있다.
maxValueFlag 는 maxValue 속성(attribute)의 존부를 지시할 수 있다.
minValueFlag 는 minValue 속성(attribute)의 존부를 지시할 수 있다.
offsetFlag 는 offset 속성(attribute)의 존부를 지시할 수 있다.
numOfLevelsFlag 는 numOfLevel 속성(attribute)의 존부를 지시할 수 있다.
sensitivityFlag 는 sensitivity 속성(attribute)의 존부를 지시할 수 있다.
SNRFlag 는 SNR 속성(attribute)의 존부를 지시할 수 있다.
Unit은 센서의 측정값 단위를 나타낼 수 있다. maxValue 및 minValue의 시멘틱스에 지정된 디폴트 단위 이외의 단위가 maxValue 및 minValue의 값으로 사용되는 경우, Unit은 센서의 측정값 단위를 나타낼 수 있다.
maxValue은 센서가 감지할 수 있는 최대 값을 나타낼 수 있다. 해당 용어는 각 센서의 타입에 따라 달라질 수 있다.
minValue은 센서가 감지할 수 있는 최소 값을 나타낼 수 있다. 해당 용어는 각 센서의 타입에 따라 달라질 수 있다.
Offset은 특정 절대 값을 얻기 위해 기본 값에 추가 된 값 밸류 로케이션(value location)의 수를 설명할 수 있다.
numOfLevels은 센서가 최대 값과 최소값 사이에서 감지 할 수 있는 값 수준(value level)의 개수를 나타낼 수 있다. 예를 들어, numOfLevels 의 값이 5 인 경우, 값 5는 센서가 minValue에서 maxValue까지 5 단계를 감지할 수 있음을 의미한다.
Sensitivity은 특정 출력 신호를 생성하는 데 필요한 입력 신호의 최소 크기(minimum magnitude)를 주어진 단위(unit)로 나타낼 수 있다.
SNR은 신호 전력과 신호를 방해하는 잡음 전력의 비율을 나타낼 수 있다.
위치 정보에는 위치 정보 그 자체와, 위치 정보를 센싱하기 위한 센서의 캐패빌리티 정보가 포함될 수 있다는 것은 전술한 바와 같다. 이하, 위치 정보 그 자체, 즉 센싱된 위치 정보에 대해 설명하도록 한다.
하나 이상의 센서 혹은 해당 센서를 내장한 디바이스로부터 획득한 위치(position) 데이터는 도 10 내지 도 14과 같은 형태로 나타낼 수 있다.
도 10 의 실시예는 global positioning system (GPS) sensor 로부터 획득한 global position 데이터를 도시한다.
도시된 global position 데이터 에서 사용된 용어의 정의는 도면의 하단에 나타난 바와 같다.
SensedInfoBaseType에 대해서는 도 13 을 통해 후술한다.
Longitude 는 센서의 위치를 경도로 나타낼 수 있다. 양의 값(양수값)은 동부 경도를 나타내며, 음의 값(음수값)은 서부 경도를 나타낼 수 있다.
Latitude 는 센서의 위치를 위도로 나타낼 수 있다. 양의 값(양수값)은 북쪽 위도를 나타내며, 음의 값(음수값)은 남쪽 위도를 나타낼 수 있다.
도 11 의 실시예는 altitude sensor 로부터 획득한 altitude 데이터를 도시한다.
도시된 altitude 데이터 에서 사용된 용어의 정의는 도면의 하단에 나타난 바와 같다.
SensedInfoBaseType에 대해서는 도 13 을 통해 후술한다.
Crs는 경도, 위도 및 고도값이 주어진 좌표 참조 시스템(coordinate reference system)의 URI를 기술할 수 있다. 디폴트 값은 urn:ogc:def:crs:EPSG::4326이고, EPSG 데이터베이스에 기술된 코드 4326을 갖는 좌표 참조 시스템 (CRS)을 기술할 수 있다.
Altitude 는 고도를 미터 단위로 나타낼 수 있다.
도 12 의 실시예는 position sensor 로부터 획득한 위치 데이터를 도시한다.
도시된 position 데이터 에서 사용된 용어의 정의는 도면의 하단에 나타난 바와 같다.
UpdateMode는 센싱된 정보가 일반 모드(normal mode)인지 또는 업데이트 모드(updated mode)인지를 나타낼 수 있다. 도시된 실시예에서, 값 "1"은 업데이트 모드가 사용됨을 나타내고, 값 "0"은 일반 모드가 사용됨을 나타낼 수 있다.
도면의 하단을 참조하면, 일반 모드에 대한 설명이 나타나 있다.
PositionFlag는 position 정보의 존부를 지시할 수 있다.
unitFlag는 unit 정보의 존부를 지시할 수 있다.
SensedInfoBaseType에 대해서는 도 13 을 통해 후술한다.
Position은 위치 센서에 의해 센싱된 3D(3-dimension) 값을 미터 (m) 단위로 나타낼 수 있다. 좌표의 원점은 센서가 활성화 될 때 센싱된 오브젝트의 위치일 수 있다. 센서의 위치에 대해 교정(calibration)이 수행된 경우, 원점은 교정(calibration) 후 위치가 될 수 있다. 이 센싱된 정보가 PositionSensorCapability 정보와 함께 사용되는 경우, 좌표 원점은 PositionSensorCapability에 정의 되어야 한다.
Unit은 디폴트 단위 이외의 단위가 사용된 경우, 센싱 된 값의 단위를 기술할 수 있다.
도 13 은 본 발명의 일 실시예에 따른 SensedInfoBaseType을 나타낸다.
sensedInfoBaseAttributes은 센싱된 정보에 대한 속성 그룹을 나타낼 수 있다. sensedInfoBaseAttributesType에 대한 보다 상세한 설명은 도면의 하단에 도시되어 있다.
TimeStamp는 센싱된 정보가 획득된 시간 정보를 제공할 수 있다.
TimeStampFlag는 TimeStamp 요소(element)의 존부를 지시할 수 있다.
도면의 하단을 참조하면, sensedInfoBaseAttributesType에 대한 설명이 나타나 있다.
IDFlag는 ID 속성의 존부를 지시할 수 있다.
sensorIdRefFlag는 sensorIdRef 속성의 존부를 지시할 수 있다.
linkedlistFlag는 linkedlist 속성의 존부를 지시할 수 있다.
groupIDFlag는 groupID 속성의 존부를 지시할 수 있다.
Id는 센싱된 개별 정보를 식별하기 위한 고유 식별자일 수 있다.
sensorIdRef는 감지된 특정 정보에 포함된 정보를 생성한 센서 디바이스를 레퍼런싱할 수 있다.
Linkedlist는 센서들의 그룹으로 구성된 다중 센서 구조를 각 레코드가 다음 센서의 ID에 대한 참조를 포함하는 방식으로 나타낼 수 있다.
groupID는 특정 센서가 속한 그룹 다중 센서 구조의 식별자일 수 있다.
Activate는 센서가 활성화되었는지 여부를 설명할 수 있다.
Priority는 센싱된 정보가 적용될 때, 동일한 포인트를 공유하는 다른 센싱된 정보와 관련하여 센싱된 정보의 우선 순위를 나타낼 수 있다. 값 1은 가장 높은 우선 순위를 나타내고 값이 클수록 낮은 우선 순위를 나타낼 수 있다. 우선 순위의 디폴트 값은 1 일 수 있다. 동일한 우선 순위를 갖는 센싱된 정보가 두 개 이상이 존재하는 경우, 처리(process) 순서는 어댑테이션 엔진(adaptation engine) 자체에서 결정될 수 있다.
이하, 위치 메타데이터 스트림을 파일 포맷에 저장하고 시그널링하는 실시예와, 위치 메타데이터 스트림을 MPEG-2 TS 에 저장하고 시그널링하는 실시예를 차례로 설명하도록 한다.
비디오/오디오 샘플과 연관된 소스/싱크의 위치 메타데이터 스트림을 파일 포맷에 저장하고 시그널링하는 실시예
전술한 위치 정보는 파일 포맷에 저장되고 시그널링될 수 있다. 위치 정보는 비디오 샘플 또는 오디오 샘플들과 연관된 데이터로서, 소스 또는 싱크의 위치 데이터를 포함할 수 있다. 이때, 소스는 전술한 생산부 또는 캡쳐 공간에 존재하는 카메라, 또는 마이크일 수 있다.
일 실시예에서, 비디오 샘플 또는 오디오 샘플들과 연관된 위치 정보는 ISO Base Media File Format(ISO BMFF)에 포함될 수 있다. 즉, 비디오 샘플 또는 오디오 샘플들과 연관된 위치 정보는 ISO BMFF로 포맷팅될 수 있다.
아래에서는, 비디오 샘플 또는 오디오 샘플들과 연관된 위치 정보가 ISOBMFF로 포맷팅된 실시예를 설명한다.
비디오 샘플 또는 오디오 샘플들과 연관된 위치 정보는 ISOBMFF 내 metadata track 에 저장되어 시그널링 될 수 있다.
이러한 경우, ISOBMFF 파일은 media box('mdia' 박스)를 포함할 수 있다. 그리고, media box는 'meta' handler type 과, null media header('nmhd')를 포함할 수 있다. 여기서, 'meta' handler type은 media box 내 handler('hdlr') box에 포함될 수 있다.
이와 같이, 비디오 샘플 또는 오디오 샘플들과 연관된 위치 정보가 ISOBMFF 내 metadata track 에 저장되어 시그널링 되는 경우, sample description('stsd') box는 본 발명의 일 실시예에 따른 positionMetadataSampleEntry()를 포함할 수 있다.
이때, metadata track에 저장된 각 샘플(sample)은 하나 이상의 위치 메타데이터 엔티티(position metadata entity)를 포함할 수 있다. 각 위치 메타데이터 엔티티(position metadata entity)는, 센서가 획득한 위치 데이터(position data)를 포함할 수 있으며, 해당 센서의 캐패빌리티 정보, 즉 센서 캐패빌리티의 상세 정보를 선택적으로 포함할 수 있다.
도 14 는 본 발명의 일 실시예에 따른 위치 메타데이터를 포함하는 ISOBMFF 파일을 나타낸 도면이다.
도 14 는, ISOBMFF 기반의 파일 구조를 나타낸 것으로서, 도 1 및 도 2 를 통해 설명한 내용이 그대로 적용될 수 있다. 도 의 실시예에서 주목할 것은, 비디오/오디오와 같은 미디어 데이터가 아닌 메타데이터가 샘플 및 트랙에 포함된다는 점이다.
보다 구체적으로는, 도 14 에 포함된 메타데이터는 위치 메타데이터로서, 비디오 샘플 또는 오디오 샘플들과 연관된 위치 정보를 제공할 수 있다. 이러한 위치 메타데이터는 연관된 비디오 샘플 또는 오디오 샘플들과 마찬가지로 타임드 데이터일 수 있다. 즉, 위치 메타데이터는 metadata track에 포함된 각 샘플에 저장될 수 있다.
그리고, 각 샘플은 하나 이상의 위치 메타데이터 엔티티(position metadata entity)를 포함할 수 있다. 도 14 의 실시예에서, 각 샘플은 2개의 위치 메타데이터 엔티티를 포함한다. 보다 구체적인 실시예에서, position metadata entity #1은 전술한 global position 정보를 포함하는 position metadata entity일 수 있고, position metadata entity #2는 GPS가 아닌 position sensor 등으로부터 획득된 position 정보를 포함하는 position metadata entity일 수 있다. 다만, 이는 하나의 실시예이므로, 각 샘플은 3개 이상의 위치 메타데이터 엔티티를 포함할 수도 있고, 각 위치 메타데이터 엔티티에 포함되는 위치 정보는 본 예시와 다르게 구성될 수도 있다.
한편, 본 발명의 일 실시예에 따른 위치 메타데이터는 연관된 비디오 샘플 또는 오디오 샘플들과 마찬가지로 타임드 데이터로 구성될 수 있음은 전술한 바와 같다. 나아가, 본 발명의 일 실시예에 따른 위치 메타데이터는 각 샘플 단위로 하나 이상의 위치 메타데이터 엔티티를 포함할 수 있다. 각 샘플 단위에 하나 이상의 위치 메타데이터 엔티티가 포함되므로, 관련된 위치 메타데이터가 통합적으로 시그널링될 수 있다. 예를 들어 하나의 샘플에 포함된 하나 이상의 위치 메타데이터 엔티티는 동일한 decoding time 혹은 composition time 을 가질 수 있다. 즉, 각 위치 메타데이터 엔티티가 하나의 샘플 내지 트랙으로 전달되면, 각 위치 메타데이터 엔티티에 포함된 위치 정보가 별도의 샘플 내지 트랙으로 전달될 경우와 비교할 때, 디코딩이 용이한 장점이 있다. 따라서, 보다 효율적으로 미디어 오케스트레이션을 통한 몰입형 콘텐츠를 제공할 수 있다.
도 15 는 본 발명의 일 실시예에 따른 PositionMetadataSampleEntry() 를 나타낸 도면이다.
도 15 에 도시된 본 발명의 일 실시예에 따른 PositionMetadataSampleEntry()는, 위치 메타데이터가 ISOBMFF 파일에 포함되는 경우, sample entry box에 포함될 수 있다. 그리고, 이러한 sample entry box는 moov 및/또는 moof 에 포함될 수 있다.
도시된 바와 같이, PositionMetadataSampleEntry ('pmse')는 PositionMetadataConfigurationBox ('pmcb')를 포함할 수 있고, PositionMetadataConfigurationBox는 각 샘플에 포함되는 위치 메타데이터 엔티티에 관한 설명을 제공한다. 한편, 각 샘플에도 마찬가지로 각 샘플에 포함되는 위치 메타데이터 엔티티에 관한 설명이 포함될 수 있다. 이때 각 샘플에 포함된 위치 메타데이터 엔티티에 관한 설명은 PositionMetadataSampleEntry() 포함된 정보를 오버라이드(override)할 수 있다.
PositionMetadataConfigurationBox가 제공하는 정보는 다음과 같다.
entity_count는 각 샘플 내에 존재하는 위치 메타데이터 엔티티(position metadata entity) 의 개수를 나타낼 수 있다. 도 14 에 도시된 실시예와 같이 하나의 샘플 내에 2개의 위치 메타데이터 엔티티가 존재할 경우, entity_count는 2를 지시할 수 있다.
entity_size_bytes는 샘플 내에 존재하는 각 위치 메타데이터 엔티티(position metadata entity)의 bytes 길이를 나타낼 수 있다. 각 샘플의 길이는 샘플 내 각 entity의 entity_size_bytes의 합과 같을 수 있다. 도 에 도시된 실시예와 같이 하나의 샘플 내에 2개의 위치 메타데이터 엔티티가 존재할 경우, 해당 샘플의 길이는 position metadata entity #1의 entity_size_bytes와, position metadata entity #2의 entity_size_bytes의 합과 같을 수 있다.
entity_encoding은 샘플 내에 존재하는 각 위치 메타데이터 엔티티(position metadata entity) 의 encoding format 을 나타낼 수 있다. 예를 들어, 0x00 은 binary format, 0x01 은 XML format 을 나타낼 수 있다.
sensor_capability_included은 센서/디바이스의 캐패빌리티 정보가 포함되어 있는지 여부를 나타낼 수 있다. 여기서, 센서/디바이스는 샘플 내 각 위치 메타데이터 엔티티(position metadata entity) 가 포함하는 위치 데이터를 측정한 센서/디바이스를 의미할 수 있다. 또한, 이러한 캐패빌리티 정보는 PositionMetadataConfigurationBox에 포함될 수도 있고, 각 샘플의 위치 메타데이터 엔티티 내에 포함될 수도 있다. 일 실시예에 따르면, sensor_capability_included의 값이 '1'인 경우 위치 데이터를 측정한 센서/디바이스의 캐패빌리티 정보가 포함되어 있음을 나타낼 수 있다.
position_entity_code는 위치 메타데이터 엔티티(position metadata entity) 의 code name을 나타낼 수 있다. 즉, position_entity_code는 위치 메타데이터 엔티티(position metadata entity)에 포함된 위치 정보가 어떠한 위치 정보를 의미하는지를 나타낼 수 있다.
일 예로, 위치 메타데이터 엔티티(position metadata entity)에 포함된 위치 정보가 global positioning system(GPS) sensor 등을 통하여 측정된 global position 정보인 경우, position_entity_code =“GPS”로 설정될 수 있다.
다른 예로, 위치 메타데이터 엔티티(position metadata entity)에 포함된 위치 정보가 GPS 가 아닌 position sensor 를 통하여 획득된 position 정보인 경우, position_entity_code =“NGPS”로 설정될 수 있다.
또 다른 예로, 위치 메타데이터 엔티티(position metadata entity)에 포함된 위치 정보가 altimeter와 같은 altitude sensor 를 통하여 획득된 position 정보인 경우, position_entity_code =“ALTI”로 설정될 수 있다.
content_encoding은 해당 위치 메타데이터 엔티티(position metadata entity) 가 XML 형태인 경우 content encoding 정보를 나타낼 수 있다.
content_encoding은 UTF-8 캐릭터의 널(null)로 끝나는 문자열로서, 위치 메타데이터의 콘텐트 인코딩을 식별하는 MIME type을 제공할 수 있다. 만약, content_encoding이 존재하지 않으면(이러한 경우, 공백의 문자열이 제공됨), 위치 메타데이터는 인코딩되지 않는다. 일 예로, 본 필드는 'application / zip' 일 수 있다.
namespace는 UTF-8 캐릭터의 공백으로 구분된 목록(space-separated list)으로 구성된 널-종료(null-terminated) 필드로서, 위치 메타데이터 문서가 따르는 하나 이상의 XML 네임 스페이스의 공백으로 구분된 목록(space-separated list)으로 구성된다.
메타데이터로 사용되는 경우, namespace는 BiM과 같은 XML 인식 인코딩 메커니즘을 사용하여 타입을 식별하고 디코딩하는데 필요하다.
schema_location은 UTF-8 캐릭터로 된 공백으로 구분된 목록(space-separated list)으로 구성되며, 위치 메타데이터 문서가 따르는 XML 스키마에 대한 0 개 이상의 URL로 구성된 선택적 널-종료(null-terminated) 필드이다.
한편, sensor_capability_included가 1의 값을 갖는 경우, sample entry에는 해당 position_entity_code와, entity_encoding 을 갖는 PositionSensorCapability(position_entity_code, entity_encoding)이 포함될 수 있다.
선택적으로, 하나의 샘플 내에 존재하는 여러 개의 위치 메타데이터 엔티티 들은 SubSampleInformationBox('subs')를 통해서 식별될 수도 있다. 한편, SubSampleInformationBox('subs')는 SampleTableBox('stbl') 또는 TrackFragmentBox('traf')에 포함될 수 있으며, codec_specific_parameters를 포함할 수 있다.
이와 같이, SubSampleInformationBox('subs')를 통한 식별을 위해 SubSampleInformationBox의 codec_specific_parameters는 도 16 과 같이 정의될 수 있다.
도 16 은 위치 메타데이터 엔티티를 위한 SubSampleInformationBox의 codec_specific_parameters를 나타낸 도면이다.
codec_specific_parameters는 entity_encoding, sensor_capabiltiy_included, 및 position_entity_type를 포함할 수 있다.
entity_encoding 및 sensor_capabiltiy_included는 도 15 를 통해 전술한 설명이 그대로 적용될 수 있다.
entity_encoding은 샘플 내에 존재하는 각 위치 메타데이터 엔티티(position metadata entity) 의 encoding format 을 나타낼 수 있다. 예를 들어, 0x00 은 binary format, 0x01 은 XML format 을 나타낼 수 있다.
sensor_capability_included은 센서/디바이스의 캐패빌리티 정보가 포함되어 있는지 여부를 나타낼 수 있다. 여기서, 센서/디바이스는 샘플 내 각 위치 메타데이터 엔티티(position metadata entity) 가 포함하는 위치 데이터를 측정한 센서/디바이스를 의미할 수 있다. 또한, 이러한 캐패빌리티 정보는 PositionMetadataConfigurationBox에 포함될 수도 있고, 각 샘플의 위치 메타데이터 엔티티 내에 포함될 수도 있다. 일 실시예에 따르면, sensor_capability_included의 값이 '1'인 경우 위치 데이터를 측정한 센서/디바이스의 캐패빌리티 정보가 포함되어 있음을 나타낼 수 있다.
position_entity_type은 sub sample에 포함된 위치 메타데이터(position metadata)의 종류를 식별할 수 있다. 일 예로, position_entity_type이 '0'인 경우 위치 메타데이터(position metadata)가 global position 정보임을 나타내고, position_entity_type이 '1'인 경우 위치 메타데이터(position metadata)가 position sensor 등을 통해 획득된 position 정보임을 나타내고, position_entity_type이 '2'인 경우 위치 메타데이터(position metadata)가 altitude 정보임을 나타낼 수 있다.
다시 도 14 를 참조하면, 메타데이터 트랙의 MediaData('mdat') 박스는 샘플들을 포함한다. 이러한 MediaData('mdat') 박스 내 샘플들은 위치 메타데이터 샘플(position metadata sample)이라고 지칭될 수 있으며, 위치 메타데이터 샘플(position metadata sample)은 전술한 위치 메타데이터(position metadata)의 Access Unit(AU)이라고 할 수 있다.
도 17 는 본 발명의 일 실시예에 따른 위치 메타데이터 샘플을 나타낸 도면이다.
위치 메타데이터 샘플(position metadata sample)은 하나 이상의 위치 메타데이터 엔티티를 포함할 수 있다.
위치 메타데이터 샘플(position metadata sample)은 위치 메타데이터 엔티티의 개수 정보를 지시하는 entity count 정보를 포함하며, 각 위치 메타데이터 엔티티는 위치 정보를 포함할 수 있다. 또한, 각 위치 메타데이터 엔티티는 센서 캐패빌리티 정보를 선택적으로 포함할 수 있다.
도시된 실시예에서, PositionMetadataEntity(position_entity_code, entity_encoding) 는 각 위치 메타데이터 엔티티의 위치 정보를 나타내며, PositionSensorCapability(position_entity_code, entity_encoding) 는 센서 캐패빌리티 정보를 나타낸다. PositionSensorCapability(position_entity_code, entity_encoding) 는 sensor_capability_included가 나타내는 플래그 정보에 따라 위치 메타데이터 샘플 내에 존재하거나, 존재하지 않을 수 있다.
먼저, PositionSensorCapability(position_entity_code, entity_encoding)에 대해 설명한다.
일 실시예에서, sensor_capability_included 가 1인 경우, 위치 메타데이터 샘플은 PositionSensorCapability(position_entity_code, entity_encoding)를 포함할 수 있다.
PositionSensorCapability(position_entity_code, entity_encoding)는 위치 데이터를 측정한 센서의 캐패빌리티에 관한 정보를 포함할 수 있다. 보다 구체적으로, PositionSensorCapability(position_entity_code, entity_encoding)는 cap_size_bytes, gps_cap, pos_cap 및/또는 alt_cap 를 포함할 수 있다.
cap_size_bytes는 뒤따르는 Position Sensor들의 캐패빌리티 정보의 byte 길이를 나타낼 수 있다.
예를 들어, 뒤따르는 캐패빌리티 정보가 GPS 센서에 관한 정보인 경우, gps_cap의 byte 길이를 나타낼 수 있고, 뒤따르는 캐패빌리티 정보가 GPS 센서가 아닌 position 센서에 관한 정보인 경우, pos_cap의 byte 길이를 나타낼 수 있으며, 뒤따르는 캐패빌리티 정보가 altimeter와 같은 altitude 센서에 관한 정보인 경우, alt_cap의 byte 길이를 나타낼 수 있다.
한편, entity_encoding은 전술한 바와 같이, 위치 메타데이터 엔티티(position metadata entity) 의 encoding format 을 나타낼 수 있다. 도시된 실시예에서, entity_encoding=0으로 binary encoding을 지시하는데, entity_encoding은 이와 다르게 설정될 수도 있다.
또한, position_entity_code는 전술한 바와 같이, 위치 메타데이터 엔티티(position metadata entity) 의 code name을 나타낼 수 있다. position_entity_code가 “GPS”인 경우, PositionSensorCapability(position_entity_code, entity_encoding)는 gps_cap를 포함하고, position_entity_code가 “NGPS”인 경우, PositionSensorCapability(position_entity_code, entity_encoding)는 pos_cap를 포함하며, position_entity_code가 “ALTI”인 경우, PositionSensorCapability(position_entity_code, entity_encoding)는 alt_cap를 포함할 수 있다.
gps_cap은 global positioning system (GPS) sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함할 수 있다. 이는 앞서 설명한 GlobalPositionSensorCapabilityType 일 수 있다.
pos_cap은 GPS 가 아닌 position sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함할 수 있다. 이는 앞서 설명한 PositionSensorCapabilityType 일 수 있다.
alt_cap은 altimeter 와 같은 Altitude sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함할 수 있다. 이는 앞서 설명한 AltitudeSensorCapabilityType 일 수 있다.
다음으로, PositionMetadataEntity(position_entity_code, entity_encoding)에 대해 설명한다.
위치 메타데이터 샘플은 PositionMetadataEntity(position_entity_code, entity_encoding)를 포함할 수 있다.
PositionMetadataEntity(position_entity_code, entity_encoding)은 센서가 측정한 위치 데이터에 관한 정보를 포함할 수 있다. 보다 구체적으로, PositionMetadataEntity(position_entity_code, entity_encoding)은 global_position, position, 및/또는 altitude 를 포함할 수 있다.
한편, entity_encoding은 전술한 바와 같이, 위치 메타데이터 엔티티(position metadata entity) 의 encoding format 을 나타낼 수 있다. 도시된 실시예에서, entity_encoding=0으로 binary encoding을 지시하는데, entity_encoding은 이와 다르게 설정될 수도 있다.
또한, position_entity_code는 전술한 바와 같이, 위치 메타데이터 엔티티(position metadata entity) 의 code name을 나타낼 수 있다. position_entity_code가 “GPS”인 경우, PositionMetadataEntity(position_entity_code, entity_encoding)는 global_position를 포함하고, position_entity_code가 “NGPS”인 경우, PositionMetadataEntity(position_entity_code, entity_encoding)는 position를 포함하며, position_entity_code가 “ALTI”인 경우, PositionMetadataEntity(position_entity_code, entity_encoding)는 altitude를 포함할 수 있다.
global_position은 GPS sensor 로부터 획득한 global position 데이터를 포함할 수 있다. 이는 앞서 설명한 GlobalPositionSnsorType 일 수 있다.
position은 position sensor 로부터 획득한 position 데이터를 포함할 수 있다. 이는 앞서 설명한 PositionSensorType 일 수 있다.
altitude는 altimeter와 같은 altitude sensor로부터 획득한 altitude 데이터를 포함할 수 있다. 이는 앞서 설명한 AltitudeSensorType 일 수 있다.
위치 데이터는 위치 메타데이터 샘플(position metadata sample)에 포함되어 별도의 트랙을 통해 저장 및 전달될 수 있다. 이와 같이 위치 데이터가 트랙에 포함되어 전달될 경우, 위치 데이터를 포함하는 트랙과, 위치 데이터를 포함하는 트랙과 연관된 비디오/오디오 트랙 사이의 레퍼런싱이 요구될 수 있다.
일 실시예에 따르면, ISOBMFF의 박스중 하나인 TrackReferenceBox('tref') 박스에 기 정의된 'cdsc' reference type을 이용하여 위치 데이터를 포함하는 트랙과, 해당 트랙과 연관된 비디오/오디오 트랙 사이를 레퍼런싱할 수 있다.
다른 실시예에 따르면, TrackReferenceBox('tref') 박스에 'pmet' 라는 reference type을 새롭게 정의하여 위치 데이터를 포함하는 트랙과, 해당 트랙과 연관된 비디오/오디오 트랙 사이를 레퍼런싱할 수 있다.
또 다른 실시예에 따르면, 위치 데이터를 포함하는 트랙과, 후술할 회전 데이터를 포함하는 트랙 사이를 레퍼런싱하는 것도 가능하다.
도 18 은 본 발명의 일 실시예에 따른 tref 박스 및 위치 메타데이터 트랙에 대한 reference type을 나타낸 도면이다.
TrackReference('tref') 박스는 해당 박스에 포함된 트랙과 다른 트랙 사이의 레퍼런스를 제공하는 박스이다. TrackReference('tref') 박스는 소정의 reference type과, 식별자를 갖는 트랙 레퍼런스 타입 박스(track reference type box)를 하나 이상 포함할 수 있다.
track_ID는 포함하는 트랙에서 프레젠테이션 내 다른 트랙에 대한 참조를 제공하는 정수일 수 있다. track_ID는 재사용되지 않으며 0이 될 수 없다.
reference_type은 다음 값 중 하나에서 설정될 수 있다. 나아가, reference_type은 아래에 정의되지 않은 값으로 설정될 수도 있다.
‘hint' - 참조된 트랙에는 이 힌트(hint) 트랙의 원본 미디어(original media)가 포함된다.
‘cdsc' - 이 트랙은 참조된 트랙을 설명한다. 이 트랙은 참조 트랙에 대한 타임드 메타데이터를 포함한다.
‘font' - 이 트랙은 참조된 트랙에서 전달/정의된 글꼴(font)을 사용한다.
‘hind' - 이 트랙은 참조된 힌트 트랙에 의존한다. 즉, 이 트랙은 참조된 힌트 트랙이 사용되는 경우에만 사용되어야 한다.
‘vdep' - 이 트랙은 참조된 비디오 트랙에 대한 보조 깊이 비디오 정보(auxiliary depth video information)를 포함한다.
‘vplx' - 이 트랙은 참조된 비디오 트랙에 대한 보조 시차 비디오 정보(auxiliary parallax video information)를 포함한다.
‘subt' - 이 트랙은 참조된 트랙 또는 해당 트랙이 속한 대체 그룹의 모든 트랙에 대한 자막, 타임드 텍스트 및/또는 오버레이 그래픽 정보를 포함한다.
'pmet' - 이 트랙은 참조된 트랙에 대한 위치 정보(position information)를 포함한다. 일 실시예에서, 해당 reference_type을 갖는 tref 박스를 포함하는 트랙은 위치 정보를 전달하는 메타데이터 트랙이며, track_IDs 를 통해 관련 미디어 데이터를 전달하는 트랙을 레퍼런스할 수 있다. 다른 실시예에서, 해당 refrence_type을 갖는 tref 박스를 포함하는 트랙은 미디어 데이터를 전달하는 트랙이며, track_IDs를 통해 관련 위치 정보를 전달하는 메타데이터 트랙을 레퍼런스할 수 있다.
도 14 내지 도 17 을 통해 전술한 실시예에서는 동일한 위치 정보(position information)를 나타내는 위치 메타데이터 엔티티들을 동일한 트랙 내 하나의 샘플에 저장하는 방안을 설명하였다.
이와 달리, 동일한 위치 정보(position information)를 나타내는 위치 메타데이터 엔티티들은 서로 다른 트랙에 나뉘어 저장될 수도 있다. 이러한 실시예에서, 각 샘플은 하나의 위치 메타데이터 엔티티를 포함하도록 구성될 수 있다. 이와 같이, 여러 트랙에 나뉘어 존재하는 위치 메타데이터 엔티티들은 ISO BMFF에서 제공하는 시간 정보에 의해 동기화될 수 있다. 일 예로, ISO BMFF의 Decoding Time to Sample('stts') box에 의해 제공되는 DT(decoding time) 혹은 composition time에 의해 동기화될 수 있다. 보다 구체적으로, 동일한 시점의 위치 정보(position information)에 대한 위치 메타데이터 엔티티들을 포함하는 샘플들은 'stts' box에 의해 제공되는 DT(decoding time) 혹은 compostion time이 동일할 수 있다.
이와 같이 동일한 위치 정보를 나타내는 위치 메타데이터 엔티티들이 서로 다른 트랙에 나뉘어 저장되는 경우, 해당 트랙들이 동일한 위치 정보를 가진다는 것이 식별되어야 할 필요가 있다. 동일한 위치 정보를 나타내는 위치 메타데이터 엔티티들이 서로 다른 트랙에 나뉘어 저장된 경우, 해당 트랙들이 동일한 위치 정보를 가진다는 것을 식별하기 위한 방안으로서 다음과 같은 방안이 있을 수 있다.
일 실시예에 따르면, TrackReferenceBox('tref')의 새로운 reference type 값으로 'pmbs' (position metadata base)를 정의할 수 있다. 그리고, 하나의 트랙을 베이스 트랙(base track)으로 설정할 수 있다. 다음으로, 다른 트랙들이 이 베이스 트랙(base track)을 'pmbs' refererence type으로 참조하도록 설정할 수 있다. 이러한 실시예에 따르면, 베이스 트랙(base track)을 'pmbs' refererence type으로 참조하는 다른 트랙들은 베이스 트랙(base track)과 동일한 위치 정보를 가진다는 것을 나타낼 수 있다.
다른 실시예로는, TrackGroupBox('trgr')의 새로운 track group type을 정의하는 실시예가 있을 수 있다. TrackGroupBox('trgr')는 trackBox('trak')에 포함되는 박스로서, 그룹핑 타입을 지시하는 track_group_type 을 포함한다.
TrackGroupBox('trgr')의 새로운 track group type으로 'pmtg' (position metadata track group)을 정의할 수 있다. 그리고, 트랙들이 'pmtg'의 track group type을 가지고, 동일한 track_group_id 값을 갖도록 설정할 수 있다. 이러한 실시예에 따르면, TrackGroupBox 내 'pmtg'의 track_group_type을 가지고, track group id 값이 동일한 track들은 동일한 위치 정보를 저장하는 트랙임을 나타낼 수 있다.
비디오/오디오 스트림과 연관된 소스/싱크 의 위치 메타데이터 스트림을 MPEG-2 TS에 멀티플렉싱하고 시그널링하는 실시예
도 14 내지 도 18 을 통해, 위치 정보를 파일 포맷에 저장하고 시그널링하는 실시예를 설명하였다.
이하, 위치 정보를 MPEG-2 TS에 멀티플렉싱하고 시그널링하는 실시예에 대해 설명하도록 한다.
위치 정보는 비디오 샘플 또는 오디오 샘플들과 연관된 데이터로서, 소스 또는 싱크의 위치 데이터를 포함할 수 있다. 이때, 소스는 전술한 생산부 또는 캡쳐 공간에 존재하는 카메라, 또는 마이크일 수 있다.
비디오 샘플 또는 오디오 샘플들과 연관된 위치 정보는 MPEG-2 TS 를 통해 저장 및 시그널링 될 수 있다. 즉, 비디오 샘플 또는 오디오 샘플들과 연관된 위치 정보는 MPEG-2 TS에 포함될 수 있다.
비디오 샘플 또는 오디오 샘플들은 프리젠테이션을 위해 억세스 유닛(Access Unit)으로 코딩될 수 있다. 이와 유사하게, 비디오 샘플 또는 오디오 샘플들과 연관된 위치 정보는 위치 억세스 유닛(position access unit)으로 코딩될 수 있다. 특히, 타임드 메타데이터의 형태를 갖는 위치 정보는, 미디어 샘플에 대한 억세스 유닛(AU)과 대응되는, 위치 억세스 유닛(position access unit)으로 코딩될 수 있다.
도 19 는 본 발명의 일 실시예에 따른 위치 메타데이터를 포함하는 위치 억세스 유닛을 나타낸 도면이다.
위치 억세스 유닛(position access unit)은 도시된 바와 같은 필드들을 포함할 수 있다.
entity_count는 각 Position Metadata 의 Access Unit, 즉 위치 억세스 유닛(position access unit), 내에 존재하는 위치 메타데이터 엔티티(position metadata entity)의 개수를 나타낼 수 있다.
한편, MPEG-2 TS를 통해 비디오 샘플 또는 오디오 샘플들과 연관된 위치 정보를 저장 및 시그널링 하는 실시예에서 사용하는 위치 메타데이터 엔티티(position metadata entity)는, 앞서 설명한 파일 포맷을 이용한 실시예에서 사용된 위치 메타데이터 엔티티(position metadata entity)와 실질적으로 동일하다. 따라서, 앞서 설명한 위치 메타데이터 엔티티(position metadata entity)에 관한 설명은 모순되지 않는 범위에서 MPEG-2 TS를 이용한 실시예에 그대로 적용될 수 있다.
entity_size_bytes는 위치 억세스 유닛(position access unit) 내 각 위치 메타데이터 엔티티(position access unit)의 bytes 길이를 나타낼 수 있다.
entity_encoding은 위치 억세스 유닛(position access unit) 내에 존재하는 각 위치 메타데이터 엔티티(position access unit)의 encoding format 을 나타낼 수 있다. 예를 들어 0x00 은 binary format, 0x01 은 XML format 을 나타낼 수 있다.
sensor_capability_included는 센서/디바이스의 캐패빌리티 정보가 포함되어 있는지 여부를 나타낼 수 있다. 여기서, 센서/디바이스는 위치 억세스 유닛(position access unit) 내 각 위치 메타데이터 엔티티(position access unit)가 포함하는 위치 데이터(position data)를 측정한 센서/디바이스를 의미할 수 있다. 이러한 캐패빌리티 정보는 위치 억세스 유닛(position access unit) 내 각 위치 메타데이터 엔티티(position access unit)에 포함될 수 있다. 일 실시예에 따르면, sensor_capability_included의 값이 '1'인 경우 위치 데이터를 측정한 센서/디바이스의 캐패빌리티 정보가 포함되어 있음을 나타낼 수 있다.
position_entity_code는 위치 메타데이터 엔티티(position metadata entity) 의 code name을 나타낼 수 있다. 즉, position_entity_code는 위치 메타데이터 엔티티(position metadata entity)에 포함된 위치 정보가 어떠한 위치 정보를 의미하는지를 나타낼 수 있다. 이를 통해 global positioning system(GPS) sensor 를 통해 측정된 global position 정보인지 (position_entity_code =“GPS” 일 수 있다), GPS 가 아닌 position sensor 를 통해 획득된 position 정보인지 (position_entity_code =“NGPS” 일 수 있다), 아니면 altimeter 를 통해 획득된 altitude 정보인지 (position_entity_code =“ALTI” 일 수 있다.)를 나타낼 수 있다.
position_sensor_capability_len는 뒤따르는 Position Sensor들의 캐패빌리티 정보의 byte 길이를 나타낼 수 있다. 즉, gps_cap, pos_cap, 및/또는 alt_cap 의 byte 길이를 나타낼 수 있다.
또한, position_entity_code는 전술한 바와 같이, 위치 메타데이터 엔티티(position metadata entity) 의 code name을 나타낼 수 있다. position_entity_code가 “GPS”인 경우, 위치 메타데이터 엔티티(position metadata entity)는 gps_cap를 포함하고, position_entity_code가 “NGPS”인 경우, 위치 메타데이터 엔티티(position metadata entity)는 pos_cap를 포함하며, position_entity_code가 “ALTI”인 경우, 위치 메타데이터 엔티티(position metadata entity)는 alt_cap를 포함할 수 있다.
gps_cap은 global positioning system (GPS) sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함할 수 있다. 이는 앞서 설명한 GlobalPositionSensorCapabilityType 일 수 있다.
pos_cap은 GPS 가 아닌 position sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함할 수 있다. 이는 앞서 설명한 PositionSensorCapabilityType 일 수 있다.
alt_cap은 altimeter 와 같은 Altitude sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함할 수 있다. 이는 앞서 설명한 AltitudeSensorCapabilityType 일 수 있다.
MPEG-2 TS를 통해 비디오 샘플 또는 오디오 샘플들과 연관된 위치 정보를 저장 및 시그널링 하는 실시예는, 다음과 같은 DTS 정보 및 PTS 정보를 더 포함할 수 있다.
media_DTS는 PES header 에 명시된 33-bit DTS 와 실질적으로 동일할 수 있다. media_DTS는 해당 위치 메타데이터 엔티티 정보가 디코딩될 수 있는 시점을 나타낼 수 있다. 또는, media_DTS는 연관된 비디오/오디오 access unit을 지시하는 데 사용될 수 있다. 예를 들어, 동일한 DTS 값을 가지는 비디오/오디오 access unit 을 표출(presentation)하고자 할 때 해당 위치 메타데이터 엔티티 내에 포함된 정보가 사용될 수 있다.
display_in_PTS는 PES header 에 명시된 33-bit PTS 와 실질적으로 동일할 수 있다. display_in_PTS는 해당 위치 메타데이터의 엔티티 정보가 표출(presentation)될 수 있는 시점을 나타낼 수 있다. 또는, display_in_PTS는 연관된 비디오/오디오 access unit 을 지시하는 데 사용될 수 있다. 예를 들어, 동일한 PTS 값을 가지는 비디오/오디오 access unit 을 표출(presentation)하고자 할 때 해당 위치 메타데이터 엔티티 내에 포함된 정보가 사용될 수 있다.
또한, position_entity_code는 전술한 바와 같이, 위치 메타데이터 엔티티(position metadata entity) 의 code name을 나타낼 수 있다. position_entity_code가 “GPS”인 경우, 위치 메타데이터 엔티티(position metadata entity)는 global_position를 포함하고, position_entity_code가 “NGPS”인 경우, 위치 메타데이터 엔티티(position metadata entity)는 position를 포함하며, position_entity_code가 “ALTI”인 경우, 위치 메타데이터 엔티티(position metadata entity)는 altitude를 포함할 수 있다.
global_position은 GPS sensor 로부터 획득한 global position 데이터를 포함할 수 있다. 이는 앞서 설명한 GlobalPositionSnsorType 일 수 있다.
position은 position sensor 로부터 획득한 position 데이터를 포함할 수 있다. 이는 앞서 설명한 PositionSensorType 일 수 있다.
altitude는 altimeter와 같은 altitude sensor로부터 획득한 altitude 데이터를 포함할 수 있다. 이는 앞서 설명한 AltitudeSensorType 일 수 있다.
한편, 도면에 도시된 필드들 중 일부는 선택적으로 생략될 수 있다.
일 실시예에 따르면, media DTS 필드 및/또는 display in PTS 필드는 위치 억세스 유닛에 포함되지 않을 수 있다. 이러한 실시예의 경우, PES header에 포함된 DTS 정보 및 PTS 정보가 이용될 수 있다.
일 실시예에 따르면, 위치 억세스 유닛은 미디어 샘플을 포함하는 AU와 마찬가지의 방식으로 전송될 수 있다.
다른 실시예에 따르면, 위치 억세스 유닛은 MPEG-2 private section에 포함되어 MPET-2 TS를 통해 전송될 수 있다.
도 20 은 본 발명의 일 실시예에 따른 MPEG-2 private section을 나타낸 도면이다.
도 20 을 참조하면 본 발명의 일 실시예에 따른 MPEG-2 private section은 위치 억세스 유닛 및 information 필드를 포함한다.
table_id 는 이 섹션이 속한 테이블을 식별할 수 있다. 즉, table_id 는 이 MPEG-2 private section 이 위치 억세스 유닛을 포함하는 테이블임을 나타내는 식별자이다.
section_syntax_indicator 는 인디케이터(indicator)로서, 그 값이 '1'로 설정되면, private_section_length 필드 이상의 일반 섹션 신택스 다음에 private 섹션이 이어지고, 그 값이 '0'으로 설정되면 private_data_bytes가 private_section_length 필드 바로 다음에 이어짐을 나타낼 수 있다.
private_indicator 사용자가 정의할 수 있는 플래그이다.
private_section_length 은 private_section_length 필드 바로 다음에 있는 private 섹션의 남은 바이트 수를 기술할 수 있다.
position_access_unit() 은 위치 억세스 유닛에 해당한다.
위치 억세스 유닛을 전송하는 MPEG-2 private section, 즉 position_access_unit_section() 은 single TS packet 에 포함되어 전송될 수 있으며 각 위치 메타데이터의 Access Unit 은 random access point 가 될 수 있다.
한편, 수신기가 위치 억세스 유닛을 포함하는 MPEG-2 transport stream을 식별하도록 하기 위해 위치 억세스 유닛을 포함하는 MPEG-2 transport stream에 대한 stream_type을 정의할 수 있다. 그리고, 시스템 정보에 위치 억세스 유닛을 포함하는 MPEG-2 transport stream의 stream_type 값을 부여할 수 있다. 상기 시스템 정보는 PSI/PSIP(Program Specific Information/Program and System Information Protocol)를 포함할 수 있다.
상기 PSI는, PAT(Program Association Table), CAT(Conditional Access Table), PMT(Program Map Table), 및 NIT(Network Information Table)를 포함할 수 있다.
상기 PAT는 PID가 '0'인 패킷에 의해 전송되는 특수 정보로서, 각 프로그램마다 해당 PMT의 PID 정보와 NIT의 PID 정보를 전송한다. 상기 CAT는 송신측에서 사용하고 있는 유료 방송 시스템에 대한 정보를 전송한다. 상기 PMT는 프로그램 식별 번호와 프로그램을 구성하는 비디오, 오디오 등의 개별 비트 스트림이 전송되는 트랜스포트 스트림 패킷의 PID 정보, 및 PCR이 전달되는 PID 정보를 전송한다. 상기 NIT는 실제 전송망의 정보를 전송한다. 예를 들어, PID가 0인 PAT 테이블을 파싱하여 프로그램 번호(Program number)와 PMT의 PID를 알아낸다. 그리고 상기 PAT로부터 얻어낸 PMT를 파싱하면 프로그램을 구성하는 구성 요소들간의 상관 관계를 알 수 있다.
또한, PAT는 program number와 프로그램 정의(program definition)을 전달하는 전송 스트림 패킷의 PID 값 사이의 상관 관계(correspondence)를 제공한다. Program number는 프로그램과 연관된 숫자 레이블일 수 있다. 그리고, PAT의 전체 테이블은 하나 이상의 섹션에 포함될 수 있고, 여러 섹션을 차지하도록 세그먼트화 될 수 있다. 이러한, PAT는 table ID 정보를 포함할 수 있고, table ID는 전송 스트림 섹션의 내용을 식별할 수 있다. 일 실시예에서, PAT의 table ID는 미디어 오케스트레이션 섹션을 식별하기 위해 0x0B의 값을 할당할 수 있다.
일 실시예에서, 상기 시스템 정보는 program-specific information (PSI) 의 program map table(PMT)일 수 있다.
즉, PMT의 stream_type 에 '0x30' 와 같은 임의의 값을 부여하여 해당 MPEG-2 transport stream이 position metadata 의 AU 를 포함하는 ts packet 스트림임을 수신기 등에서 인지할 수 있도록 한다.
도 21 은 본 발명의 일 실시예에 따른 PMT를 나타낸 도면이다.
프로그램 맵 테이블(program map table: PMT)은 프로그램 번호와 이를 구성하는 프로그램 요소(element) 사이의 매핑을 제공할 수 있다. 그리고, 이러한 매핑의 싱글 인스턴스는 "프로그램 정의(program definition)"라고 지칭된다. PMT는 전송 스트림(transport stream)에 대한 모든 프로그램 정의의 전체 모음이다. 이 테이블은 패킷으로 전송되어야 하고, 그 PID 값은 인코더에 의해 선택된다. 요구되는 경우, 둘 이상의 PID 값이 사용될 수도 있다. 테이블은 도시된 신택스과 함께 하나 이상의 섹션에 포함될 수 있고, 여러 섹션을 차지하도록 분할(segmentation)될 수 있다. 각 섹션에서 섹션 번호 필드는 0으로 설정되고, 섹션은 program_number 필드에 의해 식별될 수 있다.
table_id 필드는 테이블 식별자로서, PMT를 식별하는 식별자가 설정될 수 있다.
section_syntax_indicator 필드는 PMT의 섹션 형식을 정의하는 지시자이다.
section_length 필드는 PMT의 섹션 길이를 나타낸다.
program_number 필드는 PAT와 일치하는 정보로서 프로그램의 번호가 표시된다.
version_number 필드는 PMT의 버전 번호를 나타낸다.
current_next_indicator 필드는 현재 테이블 섹션이 적용가능한지 여부를 나타내는 인식자이다.
section_number 필드는 PMT가 하나 이상의 섹션으로 구분되어 전송될 경우, 현재 PMT 섹션의 섹션 번호를 나타낸다.
last_section_number 필드는 PMT의 마지막 섹션 번호를 나타낸다.
PCR_PID 필드는 현재 프로그램의 PCR(program clock reference)를 전달하는 패킷의 PID를 표시한다.
program_info_length 필드는 program_info_length 필드의 바로 뒤에 나오는 디스크립터(descriptor) 길이 정보를 바이트 수로 나타낸다. 즉, 첫 번째 루프에 포함되는 디스크립터들의 길이를 나타낸다.
stream_type 필드는 다음에 오는 elementary_PID 필드에서 표시된 PID 값을 갖는 패킷에 들어있는 요소 스트림의 종류 및 부호화 정보를 표시한다.
전술한 바와 같이, stream_type 에 '0x30' 와 같은 임의의 값을 부여하여 해당 MPEG-2 transport stream이 position metadata 의 AU 를 포함하는 ts packet 스트림임을 수신기 등에서 인지할 수 있도록 한다. 즉, stream_type 필드는 해당 PMT 섹션 내 MPEG-2 transport stream이 미디어 오케스트레이션에 대한 억세스 유닛을 전송함을 지시할 수 있다.
elementary_PID 필드는 상기 요소 스트림의 식별자 즉, 해당 요소 스트림이 포함되는 패킷의 PID 값을 나타낸다.
ES_Info_length 필드는 ES_Info_length 필드의 바로 뒤에 있는 디스크립터(descriptor) 길이 정보를 바이트 수로 나타낸다. 즉, 두 번째 루프에 포함되는 디스크립터들의 길이를 나타낸다.
상기 PMT의 첫 번째 루프의 descriptor() 영역에는 프로그램 레벨의 디스크립터들이 포함되고, 두 번째 루프의 descriptor() 영역에는 스트림 레벨의 디스크립터들이 포함된다. 즉, 상기 첫 번째 루프에 포함되는 디스크립터는 프로그램 각각에 개별적으로 적용되는 디스크립터이고, 상기 두 번째 루프에 포함되는 디스크립터는 각각의 ES에 개별적으로 적용되는 디스크립터이다.
본 발명의 일 실시예에 따르면, 위치 메타데이터 정보는 아래와 같이 descriptor 형태로 전송될 수도 있다.
도 22 는 본 발명의 일 실시예에 따른 위치 메타데이터 디스크립터를 나타낸 도면이다.
도 22 를 참조하면, 본 발명의 일 실시예에 따른 위치 메타데이터 디스크립터는 아래의 정보를 포함한다.
entity_count : 연관된 MPEG-2 transport stream 이 포함하는 Position Metadata 의 Access Unit 내에 존재하는 position 메타 데이터 entity 의 개수를 나타낼 수 있다.
entity_size_bytes: 연관된 MPEG-2 transport stream 이 포함하는 Position Metadata 의 Access Unit 내 각 position 메타데이터 entity 의 bytes 길이를 나타낼 수 있다.
entity_encoding : 연관된 MPEG-2 transport stream 이 포함하는 Position Metadata 의 Access Unit 내에 존재하는 각 position 메타데이터 entity 의 encoding format 을 나타낼 수 있다. 예를 들어 0x00 은 binary format, 0x01 은 XML format 을 나타낼 수 있다.
sensor_capability_included : 연관된 MPEG-2 transport stream 이 포함하는 position Metadata 의 Access Unit 내 각 position 메타데이터 entity내에 포함하는 position 데이터를 측정한 센서/디바이스의 capability 정보를 포함하고 있는지 여부를 나타낼 수 있다. 해당 값이 '1'인 경우 해당 descriptor 혹은 position 메타데이터 entity내에 position 데이터를 측정한 센서/디바이스의 capability 정보를 포함하고 있음을 나타낼 수 있다.
position_entity_code : 연관된 MPEG-2 transport stream 이 포함하는 position Metadata 의 Access Unit 내 각 position 메타데이터 entity 의 code name 을 포함할 수 있다. 이를 통하여 global positioning system(GPS) sensor 등을 통하여 측정된 global position 정보인지 (position_entity_code =“GPS” 일 수 있다), GPS 가 아닌 position sensor 등을 통하여 획득된 position 정보인지 (position_entity_code =“NGPS” 일 수 있다), 혹은 altimeter 등을 통하여 획득된 altitude 정보인지 (position_entity_code =“ALTI” 일 수 있다.) 등을 나타낼 수 있다.
position_sensor_capability_len : 뒤따르는 gps_cap, pos_cap, alt_cap 의 byte 길이를 나타낼 수 있다.
gps_cap : global positioning system (GPS) sensor 의 capability 에 대한 상세 정보를 포함할 수 있다. 이는 앞서 명시한 GlobalPositionSensorCapabilityType 형태 일수 있다.
pos_cap : GPS 가 아닌 position sensor 의 capability 에 대한 상세 정보를 포함할 수 있다. 이는 앞서 명시한 PositionSensorCapabilityType 형태 일수 있다.
alt_cap : altimeter 등 Altitude sensor 의 capability 에 대한 상세 정보를 포함할 수 있다. 이는 앞서 명시한 AltitudeSensorCapabilityType 형태 일수 있다
위치 메타데이터 디스크립터(Position extension descriptor)는 이벤트 또는 프로그램 당 한 번 전송될 수 있으므로 PMT의 디스크립터를 사용하여 시그널링될 수 있다. 일 실시예에서, 위치 메타데이터 디스크립터(Position extension descriptor)는 위치 정보가 제공되는 PID의 기본 스트림 루프에 나타날 수있다.
다른 실시예에 따르면, Position extension descriptor는 MPEG-2 TS 의 extension_descriptor에 포함되어 전송될 수 있다.
도 23 은 본 발명의 일 실시예에 따른 위치 메타데이터 디스크립터가 MPEG-2의 extension_descriptor 형태로 전송되는 모습을 나타낸 도면이다.
도 23 에 도시된 실시예에서, extenstion_descriptor의 descriptor tag가 0x10의 값을 가질 경우, 이는 해당 extenstion_descriptor는 위치 메타데이터 디스크립터(positsion_extension_descriptor)라는 것을 지시할 수 있다. 즉, extenstion_descriptor의 descriptor tag는 extenstion_descriptor가 위치 메타데이터 디스크립터(positsion_extension_descriptor)와 같은 타임드 메타데이터(timed_metadata_extension_descriptor())라는 것을 지시할 수 있다.
메타데이터에 포함될 수 있는 정보로서, 위치 정보에 대해 설명하였다.
이하, 메타데이터에 포함될 수 있는 정보로서, 회전 정보에 대해 설명하도록 한다. 위치 정보와 마찬가지로, 회전 정보에는 회전 정보 그 자체와, 회전 정보를 센싱하기 위한 센서의 캐패빌리티 정보가 포함될 수 있다. 여기서, 회전 정보 그 자체는, 회전 센서에 의해 센싱된 회전 정보를 의미한다고 할 수 있다. 문맥에 따라, 회전 정보는, 회전 정보 그 자체와, 회전 정보를 센싱하기 위한 센서의 캐패빌리티 정보를 포함하는 개념으로 사용될 수도 있고, 회전 정보 그 자체를 지칭하는 개념으로 사용될 수도 있다.
먼저, 회전 정보를 센싱하는 센서의 캐패빌리티 정보에 대해 설명하도록 한다.
하나 이상의 센서 또는 해당 센서를 내장한 디바이스가 회전(orientation) 데이터를 획득할 수 있는 경우, 해당 센서 또는 디바이스의 캐패빌리티(capability) 정보는 도 24 와 같은 형태로 나타낼 수 있다.
도 24 의 실시예는 orientation sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함하는 orientation sensor capability를 도시한다.
도시된 orientation sensor capability 에서 사용된 용어의 정의는 도면의 하단에 나타난 바와 같다.
OrientationRange 는, 회전 센서가 OrientationRangeType으로 인식할 수 있는 범위를 나타낼 수 있다.
OrientationRangeType 는, Yaw, Pitch 및 Roll에 따라 로컬 좌표계에서 범위를 정의한다.
한편, 여기서, yaw, pitch, 및 roll은 비행기 주축 개념(aircraft principal axes)을 이용하여 3차원 공간을 기술할 때 사용되는 파라미터이다. 비행기는 3 차원으로 자유롭게 회전할 수 있다. 3차원을 이루는 축을 각각 피치(pitch) 축, 야(yaw) 축 및 롤(roll) 축이라고 한다. 본 명세서에서 이 들을 줄여서 pitch, yaw, roll 내지 pitch 방향, yaw 방향, roll 방향이라고 표현할 수도 있다.
Pitch 축은 비행기의 앞코가 위/아래로 회전하는 방향의 기준이 되는 축을 의미할 수 있다. 도시된 비행기 주축 개념에서 pitch 축은 비행기의 날개에서 날개로 이어지는 축을 의미할 수 있다.
Yaw 축은 비행기의 앞코가 좌/우로 회전하는 방향의 기준이 되는 축을 의미할 수 있다. 도시된 비행기 주축 개념에서 yaw 축은 비행기의 위에서 아래로 이어지는 축을 의미할 수 있다.
Roll 축은 도시된 비행기 주축 개념에서 비행기의 앞코에서 꼬리로 이어지는 축으로서, roll 방향의 회전이란 roll 축을 기준으로 한 회전을 의미할 수 있다.
YawMin은, 회전 센서가 Yaw에 대한 각도 단위로 인식할 수 있는 최소값을 나타낼 수 있다.
YawMax은, 회전 센서가 Yaw에 대한 각도 단위로 인식할 수 있는 최대값을 나타낼 수 있다.
PitchMin은, 회전 센서가 Pitch에 대한 각도 단위로 인식할 수 있는 최소값을 나타낼 수 있다.
PitchMax은, 회전 센서가 Pitch에 대한 각도 단위로 인식할 수 있는 최대값을 나타낼 수 있다.
RollMin은, 회전 센서가 Roll에 대한 각도 단위로 인식할 수 있는 최소값을 나타낼 수 있다.
RollMax은, 회전 센서가 Roll에 대한 각도 단위로 인식할 수 있는 최대값을 나타낼 수 있다.
회전 정보에는 회전 정보 그 자체와, 회전 정보를 센싱하기 위한 센서의 캐패빌리티 정보가 포함될 수 있다는 것은 전술한 바와 같다. 이하, 회전 정보 그 자체에 대해 설명하도록 한다.
도 25 의 실시예는 orientation sensor 로부터 획득한 회전 데이터를 도시한다.
도시된 회전 데이터 에서 사용된 용어의 정의는 도면의 하단에 나타난 바와 같다.
UpdateMode는 센싱된 정보가 일반 모드(normal mode)인지 또는 업데이트 모드(updated mode)인지를 나타낼 수 있다. 도시된 실시예에서, 값 "1"은 업데이트 모드가 사용됨을 나타내고, 값 "0"은 일반 모드가 사용됨을 나타낼 수 있다.
도면의 하단을 참조하면, 일반 모드에 대한 설명이 나타나 있다.
OrientationFlag는 orientation 정보의 존부를 지시할 수 있다.
unitFlag는 unit 정보의 존부를 지시할 수 있다.
Orientation은 회전 센서에 의해 센싱된 값을 3D(3-dimension) 벡터 단위로 나타낼 수 있다. 회전은 원래 포즈(original pose)에 대한 기울기(회전)로 측정될 수 있다. 원래 포즈는 센서가 활성활 될 때 센싱된 오브젝트의 포즈일 수 있다. 센서의 회전에 대해 교정(calibration)이 수행된 경우, 교정 이후의 회전이 오브젝트의 원래 포즈로 취급될 수 있다.
Unit은 디폴트 단위 이외의 단위가 사용된 경우, 센싱 된 값의 단위를 기술할 수 있다.
이하, 회전 메타데이터 스트림을 파일 포맷에 저장하고 시그널링하는 실시예와, MPEG-2 TS 에 저장하고 시그널링하는 실시예를 차례로 설명하도록 한다.
비디오/오디오 샘플과 연관된 소스/싱크의 회전 메타데이터 스트림을 파일 포맷에 저장하고 시그널링하는 실시예
전술한 회전 정보는 파일 포맷에 저장되고 시그널링될 수 있다. 회전 정보는 비디오 샘플 또는 오디오 샘플들과 연관된 데이터로서, 소스 또는 싱크의 회전 데이터를 포함할 수 있다. 이때, 소스는 전술한 생산부 또는 캡쳐 공간에 존재하는 카메라, 또는 마이크일 수 있다.
일 실시예에서, 비디오 샘플 또는 오디오 샘플들과 연관된 회전 정보는 ISO Base Media File Format(ISO BMFF)에 포함될 수 있다. 즉, 비디오 샘플 또는 오디오 샘플들과 연관된 회전 정보는 ISO BMFF로 포맷팅될 수 있다.
다른 실시예에서, 비디오 샘플 또는 오디오 샘플들과 연관된 회전 정보는 Common File Format에 포함될 수 있다. 즉, 비디오 샘플 또는 오디오 샘플들과 연관된 회전 정보는 Common File Format으로 포맷팅될 수 있다.
이하, 비디오 샘플 또는 오디오 샘플들과 연관된 회전 정보가 ISOBMFF로 포맷팅된 실시예에 대해 설명하도록 한다.
비디오 샘플 또는 오디오 샘플들과 연관된 회전 정보는 ISOBMFF 내 metadata track 에 저장되어 시그널링 될 수 있다.
이러한 경우, ISOBMFF 파일은 media box('mdia' 박스)를 포함할 수 있다. 그리고, media box는 'meta' handler type 과, null media header('nmhd')를 포함할 수 있다. 여기서, 'meta' handler type은 media box 내 handler('hdlr') box에 포함될 수 있다.
이와 같이, 비디오 샘플 또는 오디오 샘플들과 연관된 회전 정보가 ISOBMFF 내 metadata track 에 저장되어 시그널링 되는 경우, sample description('stsd') box는 본 발명의 일 실시예에 따른 orientationMetadataSampleEntry()를 포함할 수 있다.
이때, metadata track에 저장된 각 샘플(sample)은 하나 이상의 회전 메타데이터 엔티티(orientation metadata entity)를 포함할 수 있다. 각 회전 메타데이터 엔티티(orientation metadata entity)는, 센서가 획득한 회전 데이터(orientation data)를 포함할 수 있다. 또한, 각 회전 메타데이터 엔티티(orientation metadata entity)는, 해당 센서의 캐패빌리티 정보, 즉 센서 캐패빌리티의 상세 정보를 선택적으로 포함할 수 있다. 또한, 각 회전 메타데이터 엔티티(orientation metadata entity)는, 회전 범위(orientation range)에 대한 상세 정보를 선택적으로 포함할 수 있다.
도 26 은 본 발명의 일 실시예에 따른 회전 메타데이터를 포함하는 ISOBMFF 파일을 나타낸 도면이다.
도 26 은, ISOBMFF 기반의 파일 구조를 나타낸 것으로서, 도 1 및 도 2 를 통해 설명한 내용이 그대로 적용될 수 있다. 도 의 실시예에서 주목할 것은, 비디오/오디오와 같은 미디어 데이터가 아닌 메타데이터가 샘플 및 트랙에 포함된다는 점이다.
보다 구체적으로는, 도 26 에 포함된 메타데이터는 회전 메타데이터로서, 비디오 샘플 또는 오디오 샘플들과 연관된 회전 정보를 제공할 수 있다. 이러한 회전 메타데이터는 연관된 비디오 샘플 또는 오디오 샘플들과 마찬가지로 타임드 데이터일 수 있다. 즉, 회전 메타데이터는 metadata track에 포함된 각 샘플에 저장될 수 있다.
그리고, 각 샘플은 하나 이상의 회전 메타데이터 엔티티(orientation metadata entity)를 포함할 수 있다. 도 26 의 실시예에서, 각 샘플은 2개의 회전 메타데이터 엔티티를 포함한다. 보다 구체적인 실시예에서, orientation metadata entity #1은 제1 orientation sensor가 센싱한 orientation 정보를 포함하는 orientation metadata entity일 수 있고, orientation metadata entity #2는 제2 orientation sensor로부터 획득된 orientation 정보를 포함하는 orientation metadata entity일 수 있다. 다만, 이는 하나의 실시예이므로, 각 샘플은 3개 이상의 회전 메타데이터 엔티티를 포함할 수도 있고, 각 회전 메타데이터 엔티티에 포함되는 회전 정보는 본 예시와 다르게 구성될 수도 있다.
한편, 본 발명의 일 실시예에 따른 회전 메타데이터는 연관된 비디오 샘플 또는 오디오 샘플들과 마찬가지로 타임드 데이터로 구성될 수 있음은 전술한 바와 같다. 나아가, 본 발명의 일 실시예에 따른 회전 메타데이터는 각 샘플 단위로 하나 이상의 회전 메타데이터 엔티티를 포함할 수 있다. 각 샘플 단위에 하나 이상의 회전 메타데이터 엔티티가 포함되므로, 관련된 회전 메타데이터가 통합적으로 시그널링될 수 있다. 즉, 각 회전 메타데이터 엔티티가 하나의 샘플 내지 트랙으로 전달되면, 각 회전 메타데이터 엔티티에 포함된 회전 정보가 별도의 샘플 내지 트랙으로 전달될 경우와 비교할 때, 디코딩이 용이한 장점이 있다. 따라서, 보다 효율적으로 미디어 오케스트레이션을 통한 몰입형 콘텐츠를 제공할 수 있다.
도 27 은 본 발명의 일 실시예에 따른 OrientationMetadataSampleEntry() 를 나타낸 도면이다.
도 27 에 도시된 본 발명의 일 실시예에 따른 OrientationMetadataSampleEntry()는, 회전 메타데이터가 ISOBMFF 파일에 포함되는 경우, sample entry box에 포함될 수 있다. 그리고, 이러한 sample entry box는 moov 및/또는 moof 에 포함될 수 있다.
도시된 바와 같이, OrientationMetadataSampleEntry ('omse')는 OrientationMetadataConfigurationBox ('omcb')를 포함할 수 있고, OrientationMetadataConfigurationBox는 각 샘플에 포함되는 회전 메타데이터 엔티티에 관한 설명을 제공한다. 한편, 각 샘플에도 마찬가지로 각 샘플에 포함되는 회전 메타데이터 엔티티에 관한 설명이 포함될 수 있다. 이때 각 샘플에 포함된 회전 메타데이터 엔티티에 관한 설명은 PositionMetadataSampleEntry() 포함된 정보를 오버라이드(override)할 수 있다.
OrientationMetadataConfigurationBox가 제공하는 정보는 다음과 같다.
entity_count는 각 샘플 내에 존재하는 회전 메타데이터 엔티티(orientation metadata entity) 의 개수를 나타낼 수 있다. 도 에 도시된 실시예와 같이 하나의 샘플 내에 2개의 회전 메타데이터 엔티티가 존재할 경우, entity_count는 2를 지시할 수 있다.
entity_size_bytes는 샘플 내에 존재하는 각 회전 메타데이터 엔티티(orientation metadata entity)의 bytes 길이를 나타낼 수 있다. 각 샘플의 길이는 샘플 내 각 entity의 entity_size_bytes의 합과 같을 수 있다. 도 26 에 도시된 실시예와 같이 하나의 샘플 내에 2개의 회전 메타데이터 엔티티가 존재할 경우, 해당 샘플의 길이는 orientation metadata entity #1의 entity_size_bytes와, orientation metadata entity #2의 entity_size_bytes의 합과 같을 수 있다.
entity_encoding은 샘플 내에 존재하는 각 회전 메타데이터 엔티티(orientation metadata entity) 의 encoding format 을 나타낼 수 있다. 예를 들어, 0x00 은 binary format, 0x01 은 XML format 을 나타낼 수 있다.
sensor_capability_included은 센서/디바이스의 캐패빌리티 정보가 포함되어 있는지 여부를 나타낼 수 있다. 여기서, 센서/디바이스는 샘플 내 각 회전 메타데이터 엔티티(orientation metadata entity) 가 포함하는 회전 데이터를 측정한 센서/디바이스를 의미할 수 있다. 또한, 이러한 캐패빌리티 정보는 OrientationMetadataConfigurationBox에 포함될 수도 있고, 각 샘플의 회전 메타데이터 엔티티 내에 포함될 수도 있다. 일 실시예에 따르면, sensor_capability_included의 값이 '1'인 경우 회전 데이터를 측정한 센서/디바이스의 캐패빌리티 정보가 포함되어 있음을 나타낼 수 있다.
orientation_entity_code는 회전 메타데이터 엔티티(orientation metadata entity) 의 code name을 나타낼 수 있다. 즉, orientation_entity_code는 회전 메타데이터 엔티티(orientation metadata entity)에 포함된 회전 정보가 어떠한 회전 정보를 의미하는지를 나타낼 수 있다.
일 예로, 회전 메타데이터 엔티티(orientation metadata entity)에 포함된 위치 정보가 orientation sensor 를 통하여 측정된 orientation 정보인 경우, orientation_entity_code =“ORIN”로 설정될 수 있다.
content_encoding은 해당 회전 메타데이터 엔티티(orientation metadata entity) 가 XML 형태인 경우 content encoding 정보를 나타낼 수 있다.
content_encoding은 UTF-8 캐릭터의 널(null)로 끝나는 문자열로서, 회전 메타데이터의 콘텐트 인코딩을 식별하는 MIME type을 제공할 수 있다. 만약, content_encoding이 존재하지 않으면(이러한 경우, 공백의 문자열이 제공됨), 회전 메타데이터는 인코딩되지 않는다. 일 예로, 본 필드는 'application / zip' 일 수 있다.
namespace는 UTF-8 캐릭터의 공백으로 구분된 목록(space-separated list)으로 구성된 널-종료(null-terminated) 필드로서, 회전 메타데이터 문서가 따르는 하나 이상의 XML 네임 스페이스의 공백으로 구분된 목록(space-separated list)으로 구성된다.
메타데이터로 사용되는 경우, namespace는 BiM과 같은 XML 인식 인코딩 메커니즘을 사용하여 타입을 식별하고 디코딩하는데 필요하다.
schema_location은 UTF-8 캐릭터로 된 공백으로 구분된 목록(space-separated list)으로 구성되며, 회전 메타데이터 문서가 따르는 XML 스키마에 대한 0 개 이상의 URL로 구성된 선택적 널-종료(null-terminated) 필드이다.
한편, sensor_capability_included가 1의 값을 갖는 경우, sample entry에는 해당 orientation_entity_code와, entity_encoding 을 갖는 OrientationSensorCapability(orientation_entity_code, entity_encoding)이 포함될 수 있다.
선택적으로, 하나의 샘플 내에 존재하는 여러 개의 회전 메타데이터 엔티티 들은 SubSampleInformationBox('subs')를 통해서 식별될 수도 있다. 한편, SubSampleInformationBox('subs')는 SampleTableBox('stbl') 또는 TrackFragmentBox('traf')에 포함될 수 있으며, codec_specific_parameters를 포함할 수 있다.
이와 같이, SubSampleInformationBox('subs')를 통한 식별을 위해 SubSampleInformationBox의 codec_specific_parameters는 앞서 설명한 도 16 과 유사하게 정의될 수 있다.
codec_specific_parameters는 entity_encoding, sensor_capabiltiy_included, 및 orientation_entity_type를 포함할 수 있다.
entity_encoding 및 sensor_capabiltiy_included는 도 15 를 통해 전술한 설명이 그대로 적용될 수 있다.
entity_encoding은 샘플 내에 존재하는 각 회전 메타데이터 엔티티(orientation metadata entity) 의 encoding format 을 나타낼 수 있다. 예를 들어, 0x00 은 binary format, 0x01 은 XML format 을 나타낼 수 있다.
sensor_capability_included은 센서/디바이스의 캐패빌리티 정보가 포함되어 있는지 여부를 나타낼 수 있다. 여기서, 센서/디바이스는 샘플 내 각 회전 메타데이터 엔티티(orientation metadata entity) 가 포함하는 회전 데이터를 측정한 센서/디바이스를 의미할 수 있다. 또한, 이러한 캐패빌리티 정보는 OrientationMetadataConfigurationBox에 포함될 수도 있고, 각 샘플의 회전 메타데이터 엔티티 내에 포함될 수도 있다. 일 실시예에 따르면, sensor_capability_included의 값이 '1'인 경우 회전 데이터를 측정한 센서/디바이스의 캐패빌리티 정보가 포함되어 있음을 나타낼 수 있다.
orientation_entity_type은 sub sample에 포함된 회전 메타데이터(orientation metadata)의 종류를 식별할 수 있다.
다시 도 26 을 참조하면, 메타데이터 트랙의 MediaData('mdat') 박스는 샘플들을 포함한다. 이러한 MediaData('mdat') 박스 내 샘플들은 회전 메타데이터 샘플(orientation metadata sample)이라고 지칭될 수 있으며, 회전 메타데이터 샘플(orientation metadata sample)은 전술한 위치 메타데이터(orientation metadata)의 Access Unit(AU)이라고 할 수 있다.
도 28 은 본 발명의 일 실시예에 따른 회전 메타데이터 샘플을 나타낸 도면이다.
회전 메타데이터 샘플(orientation metadata sample)은 하나 이상의 회전 메타데이터 엔티티를 포함할 수 있다.
회전 메타데이터 샘플(orientation metadata sample)은 회전 메타데이터 엔티티의 개수 정보를 지시하는 entity count 정보를 포함하며, 각 회전 메타데이터 엔티티는 회전 정보( )를 포함할 수 있다. 또한, 각 회전 메타데이터 엔티티는 센서 캐패빌리티 정보를 선택적으로 포함할 수 있다.
도시된 실시예에서, OrientationMetadataEntity(orientation_entity_code, entity_encoding) 는 각 회전 메타데이터 엔티티의 회전 정보를 나타내며, OrientationSensorCapability(orientation_entity_code, entity_encoding) 는 센서 캐패빌리티 정보를 나타낸다. OrientationSensorCapability(orientation_entity_code, entity_encoding) 는 sensor_capability_included가 나타내는 플래그 정보에 따라 회전 메타데이터 샘플 내에 존재하거나, 존재하지 않을 수 있다.
먼저, OrientationSensorCapability(orientation_entity_code, entity_encoding)에 대해 설명한다.
일 실시예에서, sensor_capability_included 가 1인 경우, 회전 메타데이터 샘플은 OrientationSensorCapability(orientation_entity_code, entity_encoding)를 포함할 수 있다.
OrientationSensorCapability(orientation_entity_code, entity_encoding)는 회전 데이터를 측정한 센서의 캐패빌리티에 관한 정보를 포함할 수 있다. 보다 구체적으로, OrientationSensorCapability(orientation_entity_code, entity_encoding)는 cap_size_bytes, 및/또는 orin_cap 을 포함할 수 있다.
cap_size_bytes는 뒤따르는 Orientation Sensor들의 캐패빌리티 정보의 byte 길이를 나타낼 수 있다. 예를 들어, 뒤따르는 캐패빌리티 정보가 orientation 센서에 관한 정보인 경우, orin_cap의 byte 길이를 나타낼 수 있다.
한편, entity_encoding은 전술한 바와 같이, 회전 메타데이터 엔티티(orientation metadata entity) 의 encoding format 을 나타낼 수 있다. 도시된 실시예에서, entity_encoding=0으로 binary encoding을 지시하는데, entity_encoding은 이와 다르게 설정될 수도 있다.
또한, orientation_entity_code는 전술한 바와 같이, 회전 메타데이터 엔티티(orientation metadata entity) 의 code name을 나타낼 수 있다. position_entity_code가 “ORIN”인 경우, OrientationSensorCapability(orientation_entity_code, entity_encoding)는 orin_cap를 포함할 수 있다.
orin_cap은 orientation sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함할 수 있다. 이는 앞서 설명한 OrientationSensorCapabilityType 일 수 있다.
다음으로, OrientationMetadataEntity(orientation_entity_code, entity_encoding)에 대해 설명한다.
회전 메타데이터 샘플은 OrientationMetadataEntity(orientation_entity_code, entity_encoding)를 포함할 수 있다.
OrientationMetadataEntity(orientation_entity_code, entity_encoding)은 센서가 측정한 회전 데이터에 관한 정보를 포함할 수 있다. 보다 구체적으로, OrientationMetadataEntity(orientation_entity_code, entity_encoding)은 orientation 을 포함할 수 있다.
한편, entity_encoding은 전술한 바와 같이, 회전 메타데이터 엔티티(orientation metadata entity) 의 encoding format 을 나타낼 수 있다. 도시된 실시예에서, entity_encoding=0으로 binary encoding을 지시하는데, entity_encoding은 이와 다르게 설정될 수도 있다.
또한, orientation_entity_code는 전술한 바와 같이, 회전 메타데이터 엔티티(orientation metadata entity) 의 code name을 나타낼 수 있다. orientation_entity_code가 “ORIN”인 경우, OrientationMetadataEntity(orientation_entity_code, entity_encoding)는 orientation을 포함할 수 있다.
orientation은 orientation sensor 로부터 획득한 orientation 데이터를 포함할 수 있다. 이는 앞서 설명한 OrientationSensorType 일 수 있다.
회전 데이터는 회전 메타데이터 샘플(orientation metadata sample)에 포함되어 별도의 트랙을 통해 저장 및 전달될 수 있다. 이와 같이 회전 데이터가 트랙에 포함되어 전달될 경우, 회전 데이터를 포함하는 트랙과, 회전 데이터를 포함하는 트랙과 연관된 비디오/오디오 트랙 사이의 레퍼런싱이 요구될 수 있다.
일 실시예에 따르면, ISOBMFF의 박스중 하나인 TrackReferenceBox('tref') 박스에 기 정의된 'cdsc' reference type을 이용하여 회전 데이터를 포함하는 트랙과, 해당 트랙과 연관된 비디오/오디오 트랙 사이를 레퍼런싱할 수 있다.
다른 실시예에 따르면, TrackReferenceBox('tref') 박스에 'omet' 라는 reference type을 새롭게 정의하여 회전 데이터를 포함하는 트랙과, 해당 트랙과 연관된 비디오/오디오 트랙 사이를 레퍼런싱할 수 있다.
또 다른 실시예에 따르면, 회전 데이터를 포함하는 트랙과, 전술한 위치 데이터를 포함하는 트랙 사이를 레퍼런싱하는 것도 가능하다.
도 29 는 본 발명의 일 실시예에 따른 tref 박스 및 회전 메타데이터 트랙에 대한 reference type을 나타낸 도면이다.
TrackReference('tref') 박스는 해당 박스에 포함된 트랙과 다른 트랙 사이의 레퍼런스를 제공하는 박스이다. TrackReference('tref') 박스는 소정의 reference type과, 식별자를 갖는 트랙 레퍼런스 타입 박스(track reference type box)를 하나 이상 포함할 수 있다.
track_ID는 포함하는 트랙에서 프레젠테이션 내 다른 트랙에 대한 참조를 제공하는 정수일 수 있다. track_ID는 재사용되지 않으며 0이 될 수 없다.
reference_type은 다음 값 중 하나에서 설정될 수 있다. 나아가, reference_type은 아래에 정의되지 않은 값으로 설정될 수도 있다.
‘hint' - 참조된 트랙에는 이 힌트(hint) 트랙의 원본 미디어(original media)가 포함된다.
‘cdsc' - 이 트랙은 참조된 트랙을 설명한다. 이 트랙은 참조 트랙에 대한 타임드 메타데이터를 포함한다.
‘font' - 이 트랙은 참조된 트랙에서 전달/정의된 글꼴(font)을 사용한다.
‘hind' - 이 트랙은 참조된 힌트 트랙에 의존한다. 즉, 이 트랙은 참조된 힌트 트랙이 사용되는 경우에만 사용되어야 한다.
‘vdep' - 이 트랙은 참조된 비디오 트랙에 대한 보조 깊이 비디오 정보(auxiliary depth video information)를 포함한다.
‘vplx' - 이 트랙은 참조된 비디오 트랙에 대한 보조 시차 비디오 정보(auxiliary parallax video information)를 포함한다.
‘subt' - 이 트랙은 참조된 트랙 또는 해당 트랙이 속한 대체 그룹의 모든 트랙에 대한 자막, 타임드 텍스트 및/또는 오버레이 그래픽 정보를 포함한다.
'omet' - 이 트랙은 참조된 트랙에 대한 회전 정보(orientation information)를 포함한다. 일 실시예에서, 해당 reference_type을 갖는 tref 박스를 포함하는 트랙은 회전 정보를 전달하는 메타데이터 트랙이며, track_IDs 를 통해 관련 미디어 데이터를 전달하는 트랙을 레퍼런스할 수 있다. 다른 실시예에서, 해당 refrence_type을 갖는 tref 박스를 포함하는 트랙은 미디어 데이터를 전달하는 트랙이며, track_IDs를 통해 관련 회전 정보를 전달하는 메타데이터 트랙을 레퍼런스할 수 있다.
도 26 내지 도 29 을 통해 전술한 실시예에서는 동일한 회전 정보(orientation information)를 나타내는 회전 메타데이터 엔티티들을 동일한 트랙 내 하나의 샘플에 저장하는 방안을 설명하였다.
이와 달리, 동일한 회전 정보(orientation information)를 나타내는 회전 메타데이터 엔티티들은 서로 다른 트랙에 나뉘어 저장될 수도 있다. 이러한 실시예에서, 각 샘플은 하나의 회전 메타데이터 엔티티를 포함하도록 구성될 수 있다. 이와 같이, 여러 트랙에 나뉘어 존재하는 회전 메타데이터 엔티티들은 ISO BMFF에서 제공하는 시간 정보에 의해 동기화될 수 있다. 일 예로, ISO BMFF의 Decoding Time to Sample('stts') box에 의해 제공되는 DT(decoding time)에 의해 동기화될 수 있다. 보다 구체적으로, 동일한 시점의 회전 정보(orientation information)에 대한 회전 메타데이터 엔티티들을 포함하는 샘플들은 'stts' box에 의해 제공되는 DT(decoding time)이 동일할 수 있다.
이와 같이 동일한 회전 정보를 나타내는 회전 메타데이터 엔티티들이 서로 다른 트랙에 나뉘어 저장되는 경우, 해당 트랙들이 동일한 회전 정보를 가진다는 것이 식별되어야 할 필요가 있다. 동일한 회전 정보를 나타내는 회전 메타데이터 엔티티들이 서로 다른 트랙에 나뉘어 저장된 경우, 해당 트랙들이 동일한 회전 정보를 가진다는 것을 식별하기 위한 방안으로서 다음과 같은 방안이 있을 수 있다.
일 실시예에 따르면, TrackReferenceBox('tref')의 새로운 reference type 값으로 'ombs' (orientation metadata base)를 정의할 수 있다. 그리고, 하나의 트랙을 베이스 트랙(base track)으로 설정할 수 있다. 다음으로, 다른 트랙들이 이 베이스 트랙(base track)을 'ombs' refererence type으로 참조하도록 설정할 수 있다. 이러한 실시예에 따르면, 베이스 트랙(base track)을 'ombs' refererence type으로 참조하는 다른 트랙들은 베이스 트랙(base track)과 동일한 회전 정보를 가진다는 것을 나타낼 수 있다.
다른 실시예로는, TrackGroupBox('trgr')의 새로운 track group type을 정의하는 실시예가 있을 수 있다. TrackGroupBox('trgr')는 trackBox('trak')에 포함되는 박스로서, 그룹핑 타입을 지시하는 track_group_type 을 포함한다.
TrackGroupBox('trgr')의 새로운 track group type으로 'omtg' (orientation metadata track group)을 정의할 수 있다. 그리고, 트랙들이 'omtg'의 track group type을 가지고, 동일한 track_group_id 값을 갖도록 설정할 수 있다. 이러한 실시예에 따르면, TrackGroupBox 내 'omtg'의 track_group_type을 가지고, track group id 값이 동일한 track들은 동일한 회전 정보를 저장하는 트랙임을 나타낼 수 있다.
비디오/오디오 스트림과 연관된 소스/싱크 의 회전 메타데이터 스트림을 MPEG-2 TS에 멀티플렉싱하고 시그널링하는 실시예
도 26 내지 29 를 통해, 회전 정보를 파일 포맷에 저장하고 시그널링하는 실시예를 설명하였다.
이하, 회전 정보를 MPEG-2 TS에 멀티플렉싱하고 시그널링하는 실시예에 대해 설명하도록 한다.
회전 정보는 비디오 샘플 또는 오디오 샘플들과 연관된 데이터로서, 소스 또는 싱크의 회전 데이터를 포함할 수 있다. 이때, 소스는 전술한 생산부 또는 캡쳐 공간에 존재하는 카메라, 또는 마이크일 수 있다.
비디오 샘플 또는 오디오 샘플들과 연관된 회전 정보는 MPEG-2 TS 를 통해 저장 및 시그널링 될 수 있다. 즉, 비디오 샘플 또는 오디오 샘플들과 연관된 회전 정보는 MPEG-2 TS에 포함될 수 있다.
비디오 샘플 또는 오디오 샘플들은 프리젠테이션을 위해 억세스 유닛(Access Unit)으로 코딩될 수 있다. 이와 유사하게, 비디오 샘플 또는 오디오 샘플들과 연관된 회전 정보는 회전 억세스 유닛(orientation access unit)으로 코딩될 수 있다. 특히, 타임드 메타데이터의 형태를 갖는 회전 정보는, 미디어 샘플에 대한 억세스 유닛(AU)과 대응되는, 회전 억세스 유닛(orientation access unit)으로 코딩될 수 있다.
도 30 은 본 발명의 일 실시예에 따른 회전 메타데이터를 포함하는 회전 억세스 유닛을 나타낸 도면이다.
회전 억세스 유닛(orientation access unit)은 도시된 바와 같은 필드들을 포함할 수 있다.
entity_count는 각 Orientation Metadata 의 Access Unit, 즉 회전 억세스 유닛(orientation access unit), 내에 존재하는 회전 메타데이터 엔티티(orientation metadata entity)의 개수를 나타낼 수 있다.
한편, MPEG-2 TS를 통해 비디오 샘플 또는 오디오 샘플들과 연관된 회전 정보를 저장 및 시그널링 하는 실시예에서 사용하는 회전 메타데이터 엔티티(orientation metadata entity)는, 앞서 설명한 파일 포맷을 이용한 실시예에서 사용된 회전 메타데이터 엔티티(orientation metadata entity)와 실질적으로 동일하다. 따라서, 앞서 설명한 회전 메타데이터 엔티티(orientation metadata entity)에 관한 설명은 모순되지 않는 범위에서 MPEG-2 TS를 이용한 실시예에 그대로 적용될 수 있다.
entity_size_bytes는 회전 억세스 유닛(orientation access unit) 내 각 회전 메타데이터 엔티티(orientation access unit)의 bytes 길이를 나타낼 수 있다.
entity_encoding은 회전 억세스 유닛(orientation access unit) 내에 존재하는 각 회전 메타데이터 엔티티(orientation access unit)의 encoding format 을 나타낼 수 있다. 예를 들어 0x00 은 binary format, 0x01 은 XML format 을 나타낼 수 있다.
sensor_capability_included는 센서/디바이스의 캐패빌리티 정보가 포함되어 있는지 여부를 나타낼 수 있다. 여기서, 센서/디바이스는 회전 억세스 유닛(orientation access unit) 내 각 회전 메타데이터 엔티티(orientation access unit)가 포함하는 회전 데이터(orientation data)를 측정한 센서/디바이스를 의미할 수 있다. 이러한 캐패빌리티 정보는 회전 억세스 유닛(orientation access unit) 내 각 회전 메타데이터 엔티티(orientation access unit)에 포함될 수 있다. 일 실시예에 따르면, sensor_capability_included의 값이 '1'인 경우 회전 데이터를 측정한 센서/디바이스의 캐패빌리티 정보가 포함되어 있음을 나타낼 수 있다.
orientation_entity_code는 회전 메타데이터 엔티티(orientation metadata entity) 의 code name을 나타낼 수 있다. 즉, orientation_entity_code는 회전 메타데이터 엔티티(orientation metadata entity)에 포함된 회전 정보가 어떠한 회전 정보를 의미하는지를 나타낼 수 있다. 이를 통해 orientation sensor 를 통해 측정된 orientation 정보인지 (orientation_entity_code =“ORIN” 일 수 있다) 나타낼 수 있다.
orientation_sensor_capability_len는 뒤따르는 orientation Sensor들의 캐패빌리티 정보의 byte 길이를 나타낼 수 있다. 즉, 뒤따르는 orin_cap 의 byte 길이를 나타낼 수 있다.
또한, orientation_entity_code는 전술한 바와 같이, 회전 메타데이터 엔티티(orientation metadata entity) 의 code name을 나타낼 수 있다. orientation_entity_code가 “ORIN”인 경우, 회전 메타데이터 엔티티(orientation metadata entity)는 orin_cap를 포함할 수 있다.
orin_cap은 orientation sensor 의 캐패빌리티(capability) 에 대한 상세 정보를 포함할 수 있다. 이는 앞서 설명한 OrientationSensorCapabilityType 일 수 있다.
MPEG-2 TS를 통해 비디오 샘플 또는 오디오 샘플들과 연관된 회전 정보를 저장 및 시그널링 하는 실시예는, 다음과 같은 DTS 정보 및 PTS 정보를 더 포함할 수 있다.
media_DTS는 PES header 에 명시된 33-bit DTS 와 실질적으로 동일할 수 있다. media_DTS는 해당 회전 메타데이터 엔티티 정보가 디코딩될 수 있는 시점을 나타낼 수 있다. 또는, media_DTS는 연관된 비디오/오디오 access unit을 지시하는 데 사용될 수 있다. 예를 들어, 동일한 DTS 값을 가지는 비디오/오디오 access unit 을 표출(presentation)하고자 할 때 해당 회전 메타데이터 엔티티 내에 포함된 정보가 사용될 수 있다.
display_in_PTS는 PES header 에 명시된 33-bit PTS 와 실질적으로 동일할 수 있다. display_in_PTS는 해당 회전 메타데이터의 엔티티 정보가 표출(presentation)될 수 있는 시점을 나타낼 수 있다. 또는, display_in_PTS는 연관된 비디오/오디오 access unit 을 지시하는 데 사용될 수 있다. 예를 들어, 동일한 PTS 값을 가지는 비디오/오디오 access unit 을 표출(presentation)하고자 할 때 해당 회전 메타데이터 엔티티 내에 포함된 정보가 사용될 수 있다.
또한, orientation_entity_code는 전술한 바와 같이, 회전 메타데이터 엔티티(orientation metadata entity) 의 code name을 나타낼 수 있다. orientation_entity_code가 “ORIN”인 경우, 회전 메타데이터 엔티티(orientation metadata entity)는 orientation을 포함할 수 있다.
orientation은 orientation sensor 로부터 획득한 orientation 데이터를 포함할 수 있다. 이는 앞서 설명한 OrientationSensorType 일 수 있다
한편, 도면에 도시된 필드들 중 일부는 선택적으로 생략될 수 있다.
일 실시예에 따르면, media DTS 필드 및/또는 display in PTS 필드는 회전 억세스 유닛에 포함되지 않을 수 있다. 이러한 실시예의 경우, PES header에 포함된 DTS 정보 및 PTS 정보가 이용될 수 있다.
일 실시예에 따르면, 회전 억세스 유닛은 미디어 샘플을 포함하는 AU와 마찬가지의 방식으로 전송될 수 있다.
다른 실시예에 따르면, 회전 억세스 유닛은 MPEG-2 private section에 포함되어 MPET-2 TS를 통해 전송될 수 있다.
도 31 은 본 발명의 일 실시예에 따른 MPEG-2 private section을 나타낸 도면이다.
도 31 을 참조하면 본 발명의 일 실시예에 따른 MPEG-2 private section은 회전 억세스 유닛 및 information 필드를 포함한다.
table_id 는 이 섹션이 속한 테이블을 식별할 수 있다. 즉, table_id 는 이 MPEG-2 private section 이 회전 억세스 유닛을 포함하는 테이블임을 나타내는 식별자이다.
section_syntax_indicator 는 인디케이터(indicator)로서, 그 값이 '1'로 설정되면, private_section_length 필드 이상의 일반 섹션 신택스 다음에 private 섹션이 이어지고, 그 값이 '0'으로 설정되면 private_data_bytes가 private_section_length 필드 바로 다음에 이어짐을 나타낼 수 있다.
private_indicator 사용자가 정의할 수 있는 플래그이다.
private_section_length 은 private_section_length 필드 바로 다음에 있는 private 섹션의 남은 바이트 수를 기술할 수 있다.
orientation_access_unit() 은 회전 억세스 유닛에 해당한다.
회전 억세스 유닛을 전송하는 MPEG-2 private section, 즉 orientation_access_unit_section() 은 single TS packet 에 포함되어 전송될 수 있으며 각 위치 메타데이터의 Access Unit 은 random access point 가 될 수 있다.
한편, 수신기가 회전 억세스 유닛을 포함하는 MPEG-2 transport stream을 식별하도록 하기 위해 회전 억세스 유닛을 포함하는 MPEG-2 transport stream에 대한 stream_type을 정의할 수 있다. 그리고, 시스템 정보에 회전 억세스 유닛을 포함하는 MPEG-2 transport stream의 stream_type 값을 부여할 수 있다. 상기 시스템 정보는 PSI/PSIP(Program Specific Information/Program and System Information Protocol)를 포함할 수 있다. 일 실시예에서, 상기 시스템 정보는 program-specific information (PSI) 의 Program association table(PAT) 및 program map table(PMT)일 수 있다.
PMT에 대한 상세한 설명은 도 21 를 통해 설명하였으며, 도 21 를 통해 설명한 내용은 모순되지 않는 범위에서 본 설명에 그대로 적용될 수 있다.
한편, PMT의 stream_type 에 '0x31' 와 같은 임의의 값을 부여하여 해당 MPEG-2 transport stream이 orientation metadata 의 AU 를 포함하는 ts packet 스트림임을 수신기 등에서 인지할 수 있도록 한다. 즉, stream_type 필드는 해당 PMT 섹션 내 MPEG-2 transport stream이 미디어 오케스트레이션에 대한 억세스 유닛을 전송함을 지시할 수 있다.
본 발명의 일 실시예에 따르면, 위치 메타데이터 정보는 아래와 같이 descriptor 형태로 전송될 수도 있다.
도 32 는 본 발명의 일 실시예에 따른 회전 메타데이터 디스크립터를 나타낸 도면이다.
도 32 를 참조하면, 본 발명의 일 실시예에 따른 회전 메타데이터 디스크립터는 아래의 정보를 포함한다.
entity_count : 연관된 MPEG-2 transport stream 이 포함하는 Orientation Metadata 의 Access Unit 내에 존재하는 orientation 메타 데이터 entity 의 개수를 나타낼 수 있다.
entity_size_bytes: 연관된 MPEG-2 transport stream 이 포함하는 Orientation Metadata 의 Access Unit 내 각 orientation 메타데이터 entity 의 bytes 길이를 나타낼 수 있다.
entity_encoding : 연관된 MPEG-2 transport stream 이 포함하는 Orientation Metadata 의 Access Unit 내에 존재하는 각 orientation 메타데이터 entity 의 encoding format 을 나타낼 수 있다. 예를 들어 0x00 은 binary format, 0x01 은 XML format 을 나타낼 수 있다.
sensor_capability_included : 연관된 MPEG-2 transport stream 이 포함하는 orientation Metadata 의 Access Unit 내 각 orientation 메타데이터 entity내에 포함하는 orientation 데이터를 측정한 센서/디바이스의 capability 정보를 포함하고 있는지 여부를 나타낼 수 있다. 해당 값이 '1'인 경우 해당 descriptor 혹은 orientation 메타데이터 entity내에 position 데이터를 측정한 센서/디바이스의 capability 정보를 포함하고 있음을 나타낼 수 있다.
orientation_entity_code : 연관된 MPEG-2 transport stream 이 포함하는 Orientation Metadata 의 Access Unit 내 각 orientation 메타데이터 entity 의 code name 을 포함할 수 있다. 이를 통하여 orientation sensor 등을 통하여 측정된 orientation 정보인지 (orientation_entity_code =“ORIN” 일 수 있다) 등을 나타낼 수 있다.
orientation_sensor_capability_len : 뒤따르는 orin_cap 등의 byte 길이를 나타낼 수 있다.
orin_cap : orientation sensor 의 capability 에 대한 상세 정보를 포함할 수 있다. 이는 앞서 명시한 OrientationSensorCapabilityType 형태 일수 있다.
회전 메타데이터 디스크립터(Orientation extension descriptor)는 이벤트 또는 프로그램 당 한 번 전송될 수 있으므로 PMT의 디스크립터를 사용하여 시그널링될 수 있다. 일 실시예에서, 회전 메타데이터 디스크립터(Orientation extension descriptor)는 회전 정보가 제공되는 PID의 기본 스트림 루프에 나타날 수있다.
다른 실시예에 따르면, Orientation extension descriptor는 MPEG-2 TS 의 extension_descriptor에 포함되어 전송될 수 있다.
도 33 은 본 발명의 일 실시예에 따른 회전 메타데이터 디스크립터가 MPEG-2의 extension_descriptor 형태로 전송되는 모습을 나타낸 도면이다.
도 33 에 도시된 실시예에서, extenstion_descriptor의 descriptor tag가 0x11의 값을 가질 경우, 이는 해당 extenstion_descriptor는 회전 메타데이터 디스크립터(positsion_extension_descriptor)라는 것을 지시할 수 있다. 즉, extenstion_descriptor의 descriptor tag는 extenstion_descriptor가 회전 메타데이터 디스크립터(orientation_extension_descriptor)와 같은 타임드 메타데이터(timed_metadata_extension_descriptor())라는 것을 지시할 수 있다.
본 발명의 일 측면에 따르면, 방송 신호 송신 장치가 개시된다.
도 34는 본 발명의 일 실시예에 따른 방송 신호 송신 장치의 기능적 구성을 나타낸 도면이다.
도 34를 참조하면, 본 발명의 일 실시예에 따른 방송 신호 송신 장치는, 소스 모듈(h34100) 및 송신 인터페이스(h34200)를 포함할 수 있다.
일 실시예에서, 방송 신호 송신 장치는 프로세서를 더 포함할 수 있다.
소스 모듈 및 프로세서는 각각 전술한 도 3 및 도 4의 소스 및 M-processor를 의미할 수 있다.
소스 모듈은, 하나 또는 둘 이상이 구비될 수 있다. 소스 모듈은, 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 생성할 수 있다. 여기서, 타임드 메타데이터 스트림은 타임드 미디어 데이터에 대한 메타데이터 스트림일 수 있다.
소스 모듈은 타임드 미디어 데이터를 생성할 수 있고, 타임드 미디어 데이터 스트림을 생성한 소스 모듈 또는 다른 소스 모듈은 타임드 미디어 데이터 스트림과 관련된 타임드 메타데이터 스트림을 생성할 수 있다.
또한, 타임드 메타데이터 스트림은 위치 메타데이터 스트림 또는 회전 메타데이터 스트림일 수 있다.
위치 메타데이터 스트림은, 위치 정보에는 위치 정보 그 자체와, 위치 정보를 센싱하기 위한 센서의 캐패빌리티 정보를 포함할 수 있다. 마찬가지로, 회전 메타데이터 스트림은, 회전 정보 그 자체와, 회전 정보를 센싱하기 위한 센서의 캐패빌리티 정보를 포함될 수 있다. 또한, 위치 정보 그 자체는, 위치 센서에 의해 센싱된 위치 정보를 의미하고, 회전 정보 그 자체는, 회전 센서에 의해 센싱된 회전 정보를 의미한다고 할 수 있다.
위치 메타데이터 스트림과 관련하여, 도 5 내지 도 13에 관련 설명이 기재되어 있고, 해당 내용은 본 설명에 적용될 수 있다. 보다 구체적으로, 위치 정보 그 자체에 관한 내용은 도 10 내지 도 13의 설명이 적용될 수 있고, 위치 정보를 센싱하기 위한 센서의 캐패빌리티 정보는 도 5 내지 도 9 의 설명이 적용될 수 있다.
또한, 회전 메타데이터 스트림과 관련하여, 도 24 및 도 25에 관련 설명이 기재되어 있고, 해당 내용은 본 설명에 적용될 수 있다. 구체적으로, 회전 정보 그 자체에 관한 내용은 도 24의 설명이 적용될 수 있고, 위치 정보를 센싱하기 위한 센서의 캐패빌리티 정보는 도 25의 설명이 적용될 수 있다.
구체적인 실시예에서, 위치 메타데이터 스트림은, 위치를 측정하는 센서에 의해 생성될 수 있고, 회전 메타데이터 스트림은 회전을 측정하는 센서에 의해 생성될 수 있다.
소스 모듈은, 카메라와 같은 미디어 디바이스 또는 센서를 의미할 수 있고, 센서가 부착 또는 포함된 미디어 디바이스를 의미할 수 있다.
소스 모듈은 타임드 미디어 데이터 스트림 및/또는 타임드 미디어 데이터 스트림에 대한 타임드 메타데이터 스트림를 출력할 수 있다. 소스 모듈이 출력한 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림은, 송신 인터페이스로 입력될 수 있다. 일 실시예에서, 소스 모듈이 출력한 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림은 프로세서로 입력될 수도 있다.
한편, 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 생성하기 위해 미디어 인코더 및/또는 별도의 데이터 인코더가 구비될 수 있다. 또는 소스 모듈 내에 미디어 인코더 및/또는 데이터 인코더가 구비될 수도 있다.
프로세서는 소스 모듈이 생성한 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 수신할 수 있다. 프로세서는 수신한 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 프로세싱할 수 있다.
여기서, 프로세서는 도 3 및 도 4를 통해 전술한 M-processor를 의미할 수 있다. 일 실시예에서, 프로세서는 오케스트레이션 데이터를 생성하여 출력할 수 있다. 즉, 일 실시예에서, 프로세서는 전술한 오케스트레이터의 기능을 더 수행할 수 있다. 오케스트레이션 데이터가 타임드 미디어 데이터 스트림과 타임드 메타데이터 스트림의 연관관계에 대한 정보를 제공할 수 있다는 점은 전술한 바와 같다.
한편, 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림은 파일 포맷 또는 전송 스트림과 같은 형태로 포맷팅될 수 있다. 이를 위해, 포맷터 및/또는 패킷타이저가 별도로 구비될 수 있다. 또는, 소스 모듈 또는 프로세서 내에 포맷터 또는 패킷타이저가 구비될 수도 있다. 일 실시예에서, 파일 포맷은 ISO BMFF일 수 있고, 전송 스트림은 MPEG-2 TS 일 수 있다.
타임드 미디어 데이터 스트림과, 타임드 메타데이터 스트림은 각각 샘플 단위로 억세스 유닛에 저장될 수 있다. 타임드 미디어 데이터 스트림에 대한 샘플을 포함하는 억세스 유닛은 제1 억세스 유닛이라 지칭될 수 있고, 타임드 메타데이터 스트림에 대한 샘플을 포함하는 억세스 유닛은 제2 억세스 유닛이라 지칭될 수 있다.
한편, 각 샘플 단위의 억세스 유닛 이외에 샘플들에 대한 메타데이터 정보를 포함하는 샘플 엔트리 정보 또는 샘플 디스크립션 정보가 ISO BMFF 파일 또는 MPEG-2 TS 에 포함되어 전송될 수 있다.
<타임드 메타데이터 스트림이 ISO BMFF 파일 포맷로 포맷팅된 경우>
타임드 메타데이터 스트림을 포함하는 ISO BMFF 파일과 관련하여, 도 14 내지 도 18 및 도 26 내지 도 29 에 관련 설명이 기재되어 있고, 해당 내용은 본 설명에 적용될 수 있다. 보다 구체적으로, 도 14 내지 도 18은 타임드 메타데이터 스트림이 위치 메타데이터 스트림이 경우에 대한 설명이고, 도 26 내지 도 29 는 타임드 메타데이터 스트림이 회전 메타데이터 스트림이 경우에 대한 설명이다.
타임드 메타데이터 스트림이 ISO BMFF 파일 포맷으로 포맷팅된 경우, ISO BMFF의 moov 박스 또는 moof 박스에 샘플 엔트리 정보가 포함될 수 있다. moov 박스 또는 moof 박스에 포함된 샘플 엔트리 정보는 mdat 박스에 포함된 각 샘플들에 대한 메타데이터 정보를 제공할 수 있다. 타임드 메타데이터 스트림의 각 샘플들은, 해당 샘플에 대한 샘플 정보를 포함할 수 있으며, 각 샘플들에 저장된 샘플 정보는 샘플 엔트리 정보를 오버라이드할 수 있다. 각 샘플들에 저장된 샘플 정보는 샘플 엔트리 정보에 비해 다이나믹한 정보를 제공할 수 있다.
샘플 엔트리 정보는 하나 또는 둘 이상의 엔티티 관련 정보 (센싱 데이터의 인코딩 포멧, 캐패빌리티 정보 등)를 포함할 수 있다.
샘플 엔트리 정보에 포함된 각 엔티티 관련 정보에는 각 센서가 센싱할 센싱 데이터 관련 정보 (인코딩 포멧, 센서의 캐패빌리티 정보 등)가 포함될 수 있다. 예를 들어, 타임드 메타데이터 스트림이 위치 메타데이터 스트림인 경우, 제1 엔티티 관련 정보에는 제1 위치 센서와 관련된 정보가 포함될 수 있고, 제2 엔티티에는 제2 위치 센서와 관련된 정보가 포함될 수 있으며, 제3 엔티티에는 제3 위치 센서와 관련된 정보가 포함될 수 있다. 보다 구체적인 예시에서, 제1 위치 센서, 제2 위치 센서, 제3 위치 센서는 각각 GPS 센서, 릴레이티브 위치 센서, 고도 센서일 수 있다.
또한, 샘플 엔트리 정보에 포함된 각 엔티티 관련 정보는 캐패빌리티 플래그 정보를 포함할 수 있다. 각 엔티티 관련 정보에 포함된 캐패빌리티 플래그 정보는, 해당 엔티티 관련 정보에 센서에 대한 캐패빌리티 정보가 포함되어 있는지 여부를 지시할 수 있다. 캐패빌리터 플래그 정보에 따라, 샘플 엔트리 정보는 각 센서에 대한 캐패빌리티 정보를 포함하거나 포함하지 않을 수 있다.
각 샘플은 샘플 정보를 포함할 수 있고, 샘플 정보는 하나 또는 둘 이상의 엔티티를 포함할 수 있다.
샘플 정보에 포함된 각 엔티티에는 각 센서가 센싱한 센싱 데이터가 포함될 수 있다. 예를 들어, 타임드 메타데이터 스트림이 위치 메타데이터 스트림인 경우, 제1 엔티티에는 제1 위치 센서가 측정한 센싱 데이터가 포함될 수 있고, 제2 엔티티에는 제2 위치 센서가 측정한 센싱 데이터가 포함될 수 있으며, 제3 엔티티에는 제3 위치 센서가 측정한 센싱 데이터가 포함될 수 있다. 보다 구체적인 예시에서, 제1 위치 센서, 제2 위치 센서, 제3 위치 센서는 각각 GPS 센서, 릴레이티브 위치 센서, 고도 센서일 수 있다.
또한, 샘플 정보에 포함된 각 엔티티는 캐패빌리티 플래그 정보를 포함할 수 있다. 각 엔티티에 포함된 캐패빌리티 플래그 정보는, 해당 엔티티에 대응하는 센서에 대한 캐패빌리티 정보가 포함되어 있는지 여부를 지시할 수 있다. 캐패빌리터 플래그 정보에 따라, 샘플 엔트리 정보는 각 센서에 대한 캐패빌리티 정보를 포함하거나 포함하지 않을 수 있다.
일 실시예에서, 샘플 엔트리 정보의 각 엔티티는, 캐패빌리티 정보를 포함하고, 샘플 정보의 각 엔티티는, 캐패빌리티 정보를 포함하지 않을 수 있다. 센싱 밸류와 비교할 때, 캐패빌리티 정보는 스태틱한 정보이므로, 각 샘플은 샘플 엔트리 정보에 포함된 캐패빌리티 정보를 이용하는 것이 바람직할 수 있다.
<타임드 메타데이터 스트림이 MPEG-2 TS로 인캡슐레이션된 경우>
타임드 메타데이터 스트림을 포함하는 MPEG-2 전송 스트림과 관련하여, 도 19 내지 도 23 및 도 30 내지 도 33 에 관련 설명이 기재되어 있고, 해당 내용은 본 설명에 적용될 수 있다. 보다 구체적으로, 도 19 내지 도 23 은 타임드 메타데이터 스트림이 위치 메타데이터 스트림이 경우에 대한 설명이고, 도 30 내지 도 33 은 타임드 메타데이터 스트림이 회전 메타데이터 스트림이 경우에 대한 설명이다.
타임드 메타데이터 스트림이 MPEG-2 TS로 인캡슐레이션된 경우, MPEG-2 TS의 PMT에 샘플 디스크립션 정보가 포함될 수 있다. PMT에 포함된 샘플 디스크립션 정보는 PES 패킷에 포함된 각 샘플들에 대한 메타데이터 정보를 제공할 수 있다. 타임드 메타데이터 스트림의 각 샘플들은, 해당 샘플에 대한 샘플 정보를 포함할 수 있으며, 각 샘플들에 저장된 샘플 정보는 샘플 디스크립션 정보를 오버라이드할 수 있다. 각 샘플들에 저장된 샘플 정보는 샘플 디스크립션 정보에 비해 다이나믹한 정보를 제공할 수 있다.
샘플 디스크립션 정보는 하나 또는 둘 이상의 엔티티 관련 정보(센싱 데이터의 인코딩 포멧, 캐패빌리티 정보 등)를 포함할 수 있다.
샘플 디스크립션 정보에 포함된 각 엔티티 관련 정보에는 각 센서가 센싱할 센싱 데이터 관련 정보(인코딩 포멧, 캐패빌리티 정보 등)가 포함될 수 있다. 예를 들어, 타임드 메타데이터 스트림이 위치 메타데이터 스트림인 경우, 제1 엔티티 관련 정보에는 제1 위치 센서와 관련된 정보가 포함될 수 있고, 제2 엔티티에는 제2 위치 센서와 관련된 정보가 포함될 수 있으며, 제3 엔티티에는 제3 위치 센서와 관련된 정보가 포함될 수 있다. 보다 구체적인 예시에서, 제1 위치 센서, 제2 위치 센서, 제3 위치 센서는 각각 GPS 센서, 릴레이티브 위치 센서, 고도 센서일 수 있다.
또한, 샘플 디스크립션 정보에 포함된 각 엔티티 관련 정보는 캐패빌리티 플래그 정보를 포함할 수 있다. 각 엔티티 관련 정보에 포함된 캐패빌리티 플래그 정보는, 해당 엔티티 관련 정보에 센서에 대한 캐패빌리티 정보가 포함되어 있는지 여부를 지시할 수 있다. 캐패빌리터 플래그 정보에 따라, 샘플 디스크립션 정보는 각 센서에 대한 캐패빌리티 정보를 포함하거나 포함하지 않을 수 있다.
각 샘플은 샘플 정보를 포함할 수 있고, 샘플 정보는 하나 또는 둘 이상의 엔티티 (센싱 데이터)를 포함할 수 있다.
샘플 정보에 포함된 각 엔티티에는 각 센서가 센싱한 센싱 데이터가 포함될 수 있다. 예를 들어, 타임드 메타데이터 스트림이 위치 메타데이터 스트림인 경우, 제1 엔티티에는 제1 위치 센서가 측정한 센싱데이터가 포함될 수 있고, 제2 엔티티에는 제2 위치 센서가 측정한 센싱데이터가 포함될 수 있으며, 제3 엔티티에는 제3 위치 센서가 측정한 센싱데이터가 포함될 수 있다. 보다 구체적인 예시에서, 제1 위치 센서, 제2 위치 센서, 제3 위치 센서는 각각 GPS 센서, 릴레이티브 위치 센서, 고도 센서일 수 있다.
또한, 샘플 정보에 포함된 각 엔티티는 캐패빌리티 플래그 정보를 포함할 수 있다. 각 엔티티에 포함된 캐패빌리티 플래그 정보는, 해당 엔티티에 대응하는 센서에 대한 캐패빌리티 정보가 포함되어 있는지 여부를 지시할 수 있다. 캐패빌리터 플래그 정보에 따라, 샘플 디스크립션 정보는 각 센서에 대한 캐패빌리티 정보를 포함하거나 포함하지 않을 수 있다.
일 실시예에서, 샘플 디스크립션 정보의 각 엔티티는, 캐패빌리티 정보를 포함하고, 샘플 정보의 각 엔티티는, 캐패빌리티 정보를 포함하지 않을 수 있다. 센싱 밸류와 비교할 때, 캐패빌리티 정보는 스태틱한 정보이므로, 각 샘플은 샘플 디스크립션 정보에 포함된 캐패빌리티 정보를 이용하는 것이 바람직할 수 있다.
송신 인터페이스는, 소스 모듈이 생성한 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 수신할 수 있다. 송신 인터페이스는, 수신 모듈로부터 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 직접 수신할 수 있고, 프로세서를 통해 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 수신할 수도 있다.
일 실시예에서, 송신 인터페이스는 프로세서로부터 오케스트레이션 데이터 스트림을 수신할 수 있다.
송신 인터페이스는, 파일 포맷 또는 전송 스트림을 방송망 및/또는 인터넷망을 통해 전송할 수 있다. 송신 인터페이스는 ISO 파일 또는 MPEG-2 TS 를 포함하는 데이터 신호를 전송망을 통해 전송할 수 있다. 일 실시예에서 전송망은 방송망일 수 있다. 또한, 일 실시예에서, 데이터 신호는 오케스트레이션 데이터 스트림을 더 포함할 수 있다.
본 발명의 다른 측면에 따르면, 방송 신호 송신 방법이 개시된다.
도 35는 본 발명의 일 실시예에 따른 방송 신호 송신 방법을 나타낸 순서도이다.
본 발명의 일 실시예에 따른 방송 신호 송신 방법은, 타임드 미디어 데이터 스트림 및 타임드 메타데이터 스트림을 출력하는 단계(S35100), 및 방송 신호를 송신하는 단계(S35200)를 포함할 수 있다.
일 실시예에서, 방송 신호 송신 방법은 타임드 미디어 데이터 스트림 및 타임드 메타데이터 스트림을 수신하여 프로세싱하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 방법은 도 34 를 통해 전술한 방송 신호 송신 장치에 포함된 구성요소를 통해 수행될 수 있다.
타임드 미디어 데이터 스트림 및 상기 타임드 미디어 데이터 스트림에 대한 타임드 메타데이터 스트림를 출력하는 단계는 하나 이상의 소스 모듈을 통해 수행될 수 있다.
소스 모듈은, 하나 또는 둘 이상이 구비될 수 있다. 소스 모듈은, 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 생성할 수 있다. 여기서, 타임드 메타데이터 스트림은 타임드 미디어 데이터에 대한 메타데이터 스트림일 수 있다.
소스 모듈은 타임드 미디어 데이터를 생성할 수 있고, 타임드 미디어 데이터 스트림을 생성한 소스 모듈 또는 다른 소스 모듈은 타임드 미디어 데이터 스트림과 관련된 타임드 메타데이터 스트림을 생성할 수 있다.
또한, 타임드 메타데이터 스트림은 위치 메타데이터 스트림 또는 회전 메타데이터 스트림일 수 있다.
위치 메타데이터 스트림은, 위치 정보에는 위치 정보 그 자체와, 위치 정보를 센싱하기 위한 센서의 캐패빌리티 정보를 포함할 수 있다. 마찬가지로, 회전 메타데이터 스트림은, 회전 정보 그 자체와, 회전 정보를 센싱하기 위한 센서의 캐패빌리티 정보를 포함될 수 있다. 또한, 위치 정보 그 자체는, 위치 센서에 의해 센싱된 위치 정보를 의미하고, 회전 정보 그 자체는, 회전 센서에 의해 센싱된 회전 정보를 의미한다고 할 수 있다.
위치 메타데이터 스트림과 관련하여, 도 5 내지 도 13에 관련 설명이 기재되어 있고, 해당 내용은 본 설명에 적용될 수 있다. 보다 구체적으로, 위치 정보 그 자체에 관한 내용은 도 10 내지 도 13의 설명이 적용될 수 있고, 위치 정보를 센싱하기 위한 센서의 캐패빌리티 정보는 도 5 내지 도 9 의 설명이 적용될 수 있다.
또한, 회전 메타데이터 스트림과 관련하여, 도 24 및 도 25에 관련 설명이 기재되어 있고, 해당 내용은 본 설명에 적용될 수 있다. 구체적으로, 회전 정보 그 자체에 관한 내용은 도 24의 설명이 적용될 수 있고, 위치 정보를 센싱하기 위한 센서의 캐패빌리티 정보는 도 25의 설명이 적용될 수 있다.
구체적인 실시예에서, 위치 메타데이터 스트림은, 위치를 측정하는 센서에 의해 생성될 수 있고, 회전 메타데이터 스트림은 회전을 측정하는 센서에 의해 생성될 수 있다.
소스 모듈은, 카메라와 같은 미디어 디바이스 또는 센서를 의미할 수 있고, 센서가 부착 또는 포함된 미디어 디바이스를 의미할 수 있다.
소스 모듈은 타임드 미디어 데이터 스트림 및/또는 상기 타임드 미디어 데이터 스트림에 대한 타임드 메타데이터 스트림를 출력할 수 있다. 소스 모듈이 출력한 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림은, 송신 인터페이스로 입력될 수 있다. 일 실시예에서, 소스 모듈이 출력한 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림은 프로세서로 입력될 수도 있다.
한편, 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 생성하기 위해 미디어 인코더 및/또는 별도의 데이터 인코더가 구비될 수 있다. 또는 소스 모듈 내에 미디어 인코더 및/또는 데이터 인코더가 구비될 수도 있다.
타임드 미디어 데이터 스트림 및 타임드 메타데이터 스트림을 수신하여 프로세싱하는 단계는 도 34 를 통해 전술한 프로세서를 통해 수행될 수 있다.
프로세서는 소스 모듈이 생성한 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 수신할 수 있다. 프로세서는 수신한 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 프로세싱할 수 있다.
여기서, 프로세서는 도 3 및 도 4를 통해 전술한 M-processor를 의미할 수 있다. 일 실시예에서, 프로세서는 오케스트레이션 데이터를 생성하여 출력할 수 있다. 즉, 일 실시예에서, 프로세서는 전술한 오케스트레이터의 기능을 더 수행할 수 있다. 오케스트레이션 데이터가 타임드 미디어 데이터 스트림과 타임드 메타데이터 스트림의 연관관계에 대한 정보를 제공할 수 있다는 점은 전술한 바와 같다.
한편, 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림은 파일 포맷 또는 전송 스트림과 같은 형태로 포맷팅될 수 있다. 이를 위해, 포맷터 또는 패킷타이저가 별도로 구비될 수 있다. 또는, 소스 모듈 또는 프로세서 내에 포맷터 또는 패킷타이저가 구비될 수도 있다. 일 실시예에서, 파일 포맷은 ISO BMFF일 수 있고, 전송 스트림은 MPEG-2 TS 일 수 있다.
타임드 미디어 데이터 스트림과, 타임드 메타데이터 스트림은 각각 샘플 단위로 억세스 유닛에 저장될 수 있다. 타임드 미디어 데이터 스트림에 대한 샘플을 포함하는 억세스 유닛은 제1 억세스 유닛이라 지칭될 수 있고, 타임드 메타데이터 스트림에 대한 샘플을 포함하는 억세스 유닛은 제2 억세스 유닛이라 지칭될 수 있다.
한편, 각 샘플 단위의 억세스 유닛 이외에 샘플들에 대한 메타데이터 정보를 포함하는 샘플 엔트리 정보 또는 샘플 디스크립션 정보가 ISO BMFF 파일 또는 MPEG-2 TS 에 포함되어 전송될 수 있다.
<타임드 메타데이터 스트림이 ISO BMFF 파일 포맷로 포맷팅된 경우>
타임드 메타데이터 스트림을 포함하는 ISO BMFF 파일과 관련하여, 도 14 내지 도 18 및 도 26 내지 도 29 에 관련 설명이 기재되어 있고, 해당 내용은 본 설명에 적용될 수 있다. 보다 구체적으로, 도 14 내지 도 18은 타임드 메타데이터 스트림이 위치 메타데이터 스트림이 경우에 대한 설명이고, 도 26 내지 도 29 는 타임드 메타데이터 스트림이 회전 메타데이터 스트림이 경우에 대한 설명이다.
타임드 메타데이터 스트림이 ISO BMFF 파일 포맷으로 포맷팅된 경우, ISO BMFF의 moov 박스 또는 moof 박스에 샘플 엔트리 정보가 포함될 수 있다. moov 박스 또는 moof 박스에 포함된 샘플 엔트리 정보는 mdat 박스에 포함된 각 샘플들에 대한 메타데이터 정보를 제공할 수 있다. 타임드 메타데이터 스트림의 각 샘플들은, 해당 샘플에 대한 샘플 정보를 포함할 수 있으며, 각 샘플들에 저장된 샘플 정보는 샘플 엔트리 정보를 오버라이드할 수 있다. 각 샘플들에 저장된 샘플 정보는 샘플 엔트리 정보에 비해 다이나믹한 정보를 제공할 수 있다.
샘플 엔트리 정보는 하나 또는 둘 이상의 엔티티 관련 정보 (센싱 데이터의 인코딩 포멧, 캐패빌리티 정보 등)를 포함할 수 있다.
샘플 엔트리 정보에 포함된 각 엔티티 관련 정보에는 각 센서가 센싱할 센싱 데이터 관련 정보 (인코딩 포맷, 센서의 캐패빌리티 정보 등)가 포함될 수 있다. 예를 들어, 타임드 메타데이터 스트림이 위치 메타데이터 스트림인 경우, 제1 엔티티 관련 정보에는 제1 위치 센서와 관련된 정보가 포함될 수 있고, 제2 엔티티 관련 정보에는 제2 위치 센서와 관련된 정보가 포함될 수 있으며, 제3 엔티티에는 제3 위치 센서와 관련된 정보가 포함될 수 있다. 보다 구체적인 예시에서, 제1 위치 센서, 제2 위치 센서, 제3 위치 센서는 각각 GPS 센서, 릴레이티브 위치 센서, 고도 센서일 수 있다.
또한, 샘플 엔트리 정보에 포함된 각 엔티티 관련 정보는 캐패빌리티 플래그 정보를 포함할 수 있다. 각 엔티티 관련 정보에 포함된 캐패빌리티 플래그 정보는, 해당 엔티티 관련 정보에 센서에 대한 캐패빌리티 정보가 포함되어 있는지 여부를 지시할 수 있다. 캐패빌리터 플래그 정보에 따라, 샘플 엔트리 정보는 각 센서에 대한 캐패빌리티 정보를 포함하거나 포함하지 않을 수 있다.
각 샘플은 샘플 정보를 포함할 수 있고, 샘플 정보는 하나 또는 둘 이상의 엔티티를 포함할 수 있다.
샘플 정보에 포함된 각 엔티티에는 각 센서가 센싱한 센싱 데이터가 포함될 수 있다. 예를 들어, 타임드 메타데이터 스트림이 위치 메타데이터 스트림인 경우, 제1 엔티티에는 제1 위치 센서가 측정한 센싱 데이터가 포함될 수 있고, 제2 엔티티에는 제2 위치 센서가 측정한 센싱 데이터가 포함될 수 있으며, 제3 엔티티에는 제3 위치 센서가 측정한 센싱 데이터가 포함될 수 있다. 보다 구체적인 예시에서, 제1 위치 센서, 제2 위치 센서, 제3 위치 센서는 각각 GPS 센서, 릴레이티브 위치 센서, 고도 센서일 수 있다.
또한, 샘플 정보에 포함된 각 엔티티는 캐패빌리티 플래그 정보를 포함할 수 있다. 각 엔티티에 포함된 캐패빌리티 플래그 정보는, 해당 엔티티에 대응하는 센서에 대한 캐패빌리티 정보가 포함되어 있는지 여부를 지시할 수 있다. 캐패빌리터 플래그 정보에 따라, 샘플 엔트리 정보는 각 센서에 대한 캐패빌리티 정보를 포함하거나 포함하지 않을 수 있다.
일 실시예에서, 샘플 엔트리 정보의 각 엔티티는, 캐패빌리티 정보를 포함하고, 샘플 정보의 각 엔티티는, 캐패빌리티 정보를 포함하지 않을 수 있다. 센싱 밸류와 비교할 때, 캐패빌리티 정보는 스태틱한 정보이므로, 각 샘플은 샘플 엔트리 정보에 포함된 캐패빌리티 정보를 이용하는 것이 바람직할 수 있다.
<타임드 메타데이터 스트림이 MPEG-2 TS로 인캡슐레이션된 경우>
타임드 메타데이터 스트림을 포함하는 MPEG-2 전송 스트림과 관련하여, 도 19 내지 도 23 및 도 30 내지 도 33 에 관련 설명이 기재되어 있고, 해당 내용은 본 설명에 적용될 수 있다. 보다 구체적으로, 도 19 내지 도 23 은 타임드 메타데이터 스트림이 위치 메타데이터 스트림이 경우에 대한 설명이고, 도 30 내지 도 33 은 타임드 메타데이터 스트림이 회전 메타데이터 스트림이 경우에 대한 설명이다.
타임드 메타데이터 스트림이 MPEG-2 TS로 인캡슐레이션된 경우, MPEG-2 TS의 PMT에 샘플 디스크립션 정보가 포함될 수 있다. PMT에 포함된 샘플 디스크립션 정보는 PES 패킷에 포함된 각 샘플들에 대한 메타데이터 정보를 제공할 수 있다. 타임드 메타데이터 스트림의 각 샘플들은, 해당 샘플에 대한 샘플 정보를 포함할 수 있으며, 각 샘플들에 저장된 샘플 정보는 샘플 디스크립션 정보를 오버라이드할 수 있다. 각 샘플들에 저장된 샘플 정보는 샘플 디스크립션 정보에 비해 다이나믹한 정보를 제공할 수 있다.
샘플 디스크립션 정보는 하나 또는 둘 이상의 엔티티 관련 정보(센싱 데이터의 인코딩 포멧, 캐패빌리티 정보 등)를 포함할 수 있다.
샘플 디스크립션 정보에 포함된 각 엔티티에는 각 센서가 센싱할 센싱 데이터 관련 정보(인코딩 포멧, 캐패빌리티 정보 등)가 포함될 수 있다. 예를 들어, 타임드 메타데이터 스트림이 위치 메타데이터 스트림인 경우, 제1 엔티티 관련 정보에는 제1 위치 센서와 관련된 정보가 포함될 수 있고, 제2 엔티티에는 제2 위치 센서와 관련된 정보가 포함될 수 있으며, 제3 엔티티에는 제3 위치 센서와 관련된 정보가 포함될 수 있다. 보다 구체적인 예시에서, 제1 위치 센서, 제2 위치 센서, 제3 위치 센서는 각각 GPS 센서, 릴레이티브 위치 센서, 고도 센서일 수 있다.
또한, 샘플 디스크립션 정보에 포함된 각 엔티티 관련 정보는 캐패빌리티 플래그 정보를 포함할 수 있다. 각 엔티티 관련 정보에 포함된 캐패빌리티 플래그 정보는, 해당 엔티티에 대응하는 센서에 대한 캐패빌리티 정보가 포함되어 있는지 여부를 지시할 수 있다. 캐패빌리터 플래그 정보에 따라, 샘플 디스크립션 정보는 각 센서에 대한 캐패빌리티 정보를 포함하거나 포함하지 않을 수 있다.
각 샘플은 샘플 정보를 포함할 수 있고, 샘플 정보는 하나 또는 둘 이상의 엔티티를 포함할 수 있다.
샘플 정보에 포함된 각 엔티티에는 각 센서가 센싱한 센싱 데이터가 포함될 수 있다. 예를 들어, 타임드 메타데이터 스트림이 위치 메타데이터 스트림인 경우, 제1 엔티티에는 제1 위치 센서가 측정한 센싱 데이터가 포함될 수 있고, 제2 엔티티에는 제2 위치 센서가 측정한 센싱 데이터가 포함될 수 있으며, 제3 엔티티에는 제3 위치 센서가 측정한 센싱 데이터가 포함될 수 있다. 보다 구체적인 예시에서, 제1 위치 센서, 제2 위치 센서, 제3 위치 센서는 각각 GPS 센서, 릴레이티브 위치 센서, 고도 센서일 수 있다.
또한, 샘플 정보에 포함된 각 엔티티는 캐패빌리티 플래그 정보를 포함할 수 있다. 각 엔티티에 포함된 캐패빌리티 플래그 정보는, 해당 엔티티에 대응하는 센서에 대한 캐패빌리티 정보가 포함되어 있는지 여부를 지시할 수 있다. 캐패빌리터 플래그 정보에 따라, 샘플 디스크립션 정보는 각 센서에 대한 캐패빌리티 정보를 포함하거나 포함하지 않을 수 있다.
일 실시예에서, 샘플 디스크립션 정보의 각 엔티티는, 캐패빌리티 정보를 포함하고, 샘플 정보의 각 엔티티는, 캐패빌리티 정보를 포함하지 않을 수 있다. 센싱 밸류와 비교할 때, 캐패빌리티 정보는 스태틱한 정보이므로, 각 샘플은 샘플 디스크립션 정보에 포함된 캐패빌리티 정보를 이용하는 것이 바람직할 수 있다.
방송 신호를 송신하는 단계는, 도 34를 통해 전술한 송신 인터페이스를 통해 수행될 수 있다.
송신 인터페이스는, 소스 모듈이 생성한 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 수신할 수 있다. 송신 인터페이스는, 수신 모듈로부터 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 직접 수신할 수 있고, 프로세서를 통해 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 수신할 수도 있다.
일 실시예에서, 송신 인터페이스는 프로세서로부터 오케스트레이션 데이터 스트림을 수신할 수 있다.
송신 인터페이스는, 파일 포맷 또는 전송 스트림을 방송망 및/또는 인터넷망을 통해 전송할 수 있다. 송신 인터페이스는 ISO 파일 또는 MPEG-2 TS 를 포함하는 데이터 신호를 전송망을 통해 전송할 수 있다. 일 실시예에서 전송망은 방송망일 수 있다. 또한, 일 실시예에서, 데이터 신호는 오케스트레이션 데이터 스트림을 더 포함할 수 있다.
본 발명의 또 다른 측면에 따르면, 방송 신호 수신 장치가 개시된다.
본 발명의 또 다른 측면에 따른, 방송 신호 수신 장치는 도 34 를 통해 설명한 방송 신호 송신 장치와 대응될 수 있으며, 이러한 대응관계는 도 3 및 도 4 의 아키텍쳐를 통해 설명한 바와 같다.
본 발명의 일 실시예에 따른 방송 신호 수신 장치는, 하나 또는 둘 이상의 싱크 모듈 및 수신 인터페이스를 포함할 수 있다.
수신 인터페이스는 파일 포맷 또는 전송 스트림을 방송망 및/또는 인터넷망을 통해 수신할 수 있다. 수신 인터페이스는 ISO BMFF 파일 또는 MPEG-2 TS 를 포함하는 데이터 신호를 전송망을 통해 수신할 수 있다. 일 실시예에서 전송망은 방송망일 수 있다. 수신 인터페이스는 데이터 신호에 포함된 ISO BMFF 파일 또는 MPEG-2 TS 를 싱크 모듈로 출력할 수 있다. 또한, 일 실시예에서, 데이터 신호는 오케스트레이션 데이터 스트림을 더 포함할 수 있고, 수신 인터페이스는 수신한 오케스트레이션 데이터 스트림을 싱크 모듈로 출력할 수 있다.
싱크 모듈은 전술한 도 3 및 도 4의 싱크를 의미할 수 있다.
싱크 모듈은, 수신 인터페이스로부터 ISO 파일 또는 MPEG-2 TS를 입력받을 수 있다.
싱크 모듈은, 그 안에 포함된 파일 파서 또는 디캡슐레이터를 이용하여 ISO BMFF 파일 또는 MPEG-2 TS를 파싱 또는 디캡슐레이션할 수 있다.
싱크 모듈은, 그 안에 포함된 디코더를 이용하여 ISO BMFF 파일 또는 MPEG-2 TS에 포함된 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 디코딩할 수 있다.
싱크 모듈은 타임드 메타데이터 스트림에 포함된 위치 정보 또는 회전 정보를 이용하여 타임드 미디어 데이터를 프리젠테이션할 수 있다. 일 실시예에서, 싱크 모듈은, 오케스트레이션 데이터 스트림을 더 이용하여 타임드 미디어 데이터를 프리젠테이션할 수 있다.
본 발명의 또 다른 측면에 따르면, 방송 신호 수신 방법이 개시된다.
본 발명의 일 실시예에 따른 방송 신호 수신 방법은, 방송 신호를 수신하는 단계, 및 방송 신호에 포함된 타임드 미디어 데이터 스트림 및 타임드 메타데이터 스트림을 디코딩하는 단계를 포함할 수 있다.
본 발명의 또 다른 측면에 따른, 방송 신호 수신 방법은 전술한 방송 신호 수신 장치에 포함된 구성요소를 통해 수행될 수 있다.
수신 인터페이스는 파일 포맷 또는 전송 스트림을 방송망 및/또는 인터넷망을 통해 수신할 수 있다. 수신 인터페이스는 ISO BMFF 파일 또는 MPEG-2 TS 를 포함하는 데이터 신호를 전송망을 통해 수신할 수 있다. 일 실시예에서 전송망은 방송망일 수 있다. 수신 인터페이스는 데이터 신호에 포함된 ISO BMFF 파일 또는 MPEG-2 TS 를 싱크 모듈로 출력할 수 있다. 또한, 일 실시예에서, 데이터 신호는 오케스트레이션 데이터 스트림을 더 포함할 수 있고, 수신 인터페이스는 수신한 오케스트레이션 데이터 스트림을 싱크 모듈로 출력할 수 있다.
싱크 모듈은 전술한 도 3 및 도 4의 싱크를 의미할 수 있다.
싱크 모듈은, 수신 인터페이스로부터 ISO 파일 또는 MPEG-2 TS를 입력받을 수 있다.
싱크 모듈은, 그안에 포함된 파일 파서 또는 디캡슐레이터를 이용하여 ISO BMFF 파일 또는 MPEG-2 TS를 파싱 또는 디캡슐레이션할 수 있다.
싱크 모듈은, 그안에 포함된 디코더를 이용하여 ISO BMFF 파일 또는 MPEG-2 TS에 포함된 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 디코딩할 수 있다.
싱크 모듈은 타임드 메타데이터 스트림에 포함된 위치 정보 또는 회전 정보를 이용하여 타임드 미디어 데이터를 프리젠테이션할 수 있다. 일 실시예에서, 싱크 모듈은, 오케스트레이션 데이터 스트림을 더 이용하여 타임드 미디어 데이터를 프리젠테이션할 수 있다.
본 발명의 또 다른 측면에 따르면, 방송 신호 송신 장치는 전술한 하나의 소스 모듈에 대응할 수 있다. 여기서, 하나의 소스 모듈은 하나 이상의 센서가 부착 또는 포함된 미디어 디바이스 일 수 있다.
이러한 방송 신호 송신 장치는 미디어 데이터 생성부, 메타데이터 생성부, 송신부를 포함할 수 있다. 또한, 이러한 방송 신호 송신 장치는 파일 포맷터 또는 패킷타이저를 더 포함할 수 있다.
미디어 데이터 생성부는 타임드 미디어 데이터 스트림을 생성할 수 있고, 메타데이터 생성부는 타임드 메타데이터 스트림을 생성할 수 있다. 이러한 미디어 데이터 생성부는 미디어 인코더 일 수 있고, 메타데이터 생성부는 데이터 인코더 일 수 있다. 또한, 미디어 데이터 생성부 및 메타데이터 생성부는 하나의 인코더에 포함된, 논리적으로 구분된 요소일 수 있다.
파일 포맷터는 타임드 미디어 데이터 스트림 및 타임드 메타데이터 스트림을 ISO BMFF 파일 포맷으로 포맷팅할 수 있다.
패킷타이저는 타임드 미디어 데이터 스트림 및 타임드 메타데이터 스트림을 MPEG-2 TS로 인캡슐레이션 할 수 있다.
송신부는 ISO BMFF 파일 또는 MPEG-2 TS 를 방송망 및/또는 인터넷망을 통해 전송할 수 있다.
타임드 미디어 데이터 스트림 및 타임드 메타데이터 스트림에 관한 설명, 파일 포맷팅 및 패킷화에 관한 설명, 및 방송망/인터넷망을 통한 송신에 관한 설명은 도 34 및 도 35 를 통해 설명된 내용이 적용될 수 있다.
본 발명의 또 다른 측면에 따르면, 방송 신호 송신 방법은 전술한 하나의 소스 모듈에 대응하는 방송 신호 수신 장치에 의해 수행될 수 있다.
본 발명의 또 다른 측면에 따르면, 방송 신호 수신 장치는 전술한 하나의 싱크 모듈에 대응할 수 있다. 여기서, 하나의 싱크 모듈은 프리젠테이션이 가능한 미디어 디바이스 일 수 있다.
본 발명의 또 다른 측면에 따른 하나의 싱크 모듈에 대응하는 방송 신호 수신 장치는 전술한 하나의 소스 모듈에 대응하는 방송 신호 송신 장치와 대응될 수 있고, 이러한 대응관계는 도 3 및 도 4의 아키텍처를 통해 설명한 바와 같다.
이러한 방송 신호 수신 장치는 수신부, 디코더를 포함할 수 있다. 또한, 이러한 방송 신호 수신 장치는 파일 파서 또는 디캡슐레이터를 더 포함할 수 있다.
수신부는 ISO BMFF 파일 또는 MPEG-2 TS를 방송망 및/또는 인터넷망을 통해 수신할 수 있다. 수신부는 ISO BMFF 파일 또는 MPEG-2 TS를 포함하는 데이터 신호를 수신할 수 있다. 일 실시예에서, 수신부는 방송 신호를 수신하기 위한 튜너를 포함할 수 있다.
디코더는 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 디코딩 할 수 있다. 일 실시예에서, 디코더는 타임드 미디어 데이터 스트림을 디코딩하는 미디어 디코더와, 타임드 메타데이터 스트림을 디코딩하는 메타데이터 디코더를 포함할 수 있다.
파일 파서는 ISO BMFF 파일 포맷팅된 타임드 미디어 데이터 스트림 및/또는 타임드 메타데이터 스트림을 파싱할 수 있다.
패킷타이저는 MPEG-2 TS로 인캡슐레이션된 타임드 미디어 데이터 스트림 및 타임드 메타데이터 스트림을 파싱 또는 디캡슐레이션 할 수 있다.
일 실시예에서, 상기 파일 파서 또는 패킷타이저는 디코더에 포함될 수 있다.
본 발명의 또 다른 측면에 따르면, 방송 신호 수신 방법는 전술한 하나의 싱크 모듈에 대응하는 방송 신호 수신 장치에 의해 수행될 수 있다.
전술한 장치의 내부 컴포넌트들은 메모리에 저장된 연속된 수행과정들을 실행하는 프로세서들이거나, 그 외의 하드웨어로 구성된 하드웨어 컴포넌트들일 수 있다. 이 들은 장치 내/외부에 위치할 수 있다.
전술한 모듈들은 실시예에 따라 생략되거나, 유사/동일한 동작을 수행하는 다른 모듈에 의해 대체될 수 있다.
전술한 각각의 파트, 모듈 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 프로세서이거나 하드웨어 파트일 수 있다. 전술한 실시예에 기술된 각 단계들은 프로세서 또는 하드웨어 파트들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블락/유닛들은 하드웨어/프로세서로서 동작할 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.
본 발명에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명이 제안하는 방법을 네트워크 디바이스에 구비된, 프로세서가 읽을 수 있는 기록매체에, 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 이해된다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
발명의 실시를 위한 형태
다양한 실시예가 본 발명을 실시하기 위한 최선의 형태에서 설명되었다.
본 발명은 방송 분야에서 이용 가능하다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 자명하다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.

Claims (20)

  1. 데이터 신호를 전송하는 장치에 있어서,
    소스(source)들의 각 소스로부터 타임드 미디어 데이터 및 타임드 메타데이터를 생성하는 인코더,
    상기 타임드 미디어 데이터 및 상기 타임드 메타데이터는 각각 내부 타임 라인을 가지고,
    상기 타임드 메타데이터는, 상기 소스를 위한 적어도 하나의 위치 메타데이터 엔티티를 나타내는 위치 메타데이터 또는 상기 소스를 위한 적어도 하나의 방향 메타데이터 엔티티를 나타내는 방향 메타데이터를 포함하고,
    상기 적어도 하나의 위치 메타데이터 엔티티는 위치 메타데이터 엔티티들의 개수를 나타내는 엔티티 개수(count) 정보, 상기 위치 메타데이터를 위한 캐퍼빌리티를 나타내는 센서 캐퍼빌리티 정보 및 상기 위치 메타데이터가 글로벌 포지션(global position)에 관한 것인지를 나타내는 포지션 엔티티 코드 정보를 포함함;
    트랜스포트 프로토톨에 기초하여, 상기 타임드 메타데이터 및 상기 타임드 미디어 데이터를 포맷(format)하는 포맷터(formatter); 및
    상기 타임드 메타데이터 및 상기 타임드 미디어 데이터를 전송하는 트랜스미터(transmitter);
    를 포함하는 장치.
  2. 제1항에 있어서,
    상기 타임드 메타데이터 및 상기 타임드 미디어 데이터는,
    ISO 베이스 미디어 파일 포맷(ISO Base Media File Format, ISO BMFF)에 기초하여 포맷팅되는 것을 특징으로 하는 장치.
  3. 제2항에 있어서,
    ISO BMFF 파일의 각각의 샘플은,
    상기 적어도 하나의 위치 메타데이터 엔티티 또는 상기 적어도 하나의 방향 메타데이터 엔티티를 포함하는 것을 특징으로 하는 장치.
  4. 제3항에 있어서,
    ISO BMFF 파일의 샘플 엔트리는,
    상기 적어도 하나의 위치 메타데이터 엔티티 또는 상기 적어도 하나의 방향 메타데이터 엔티티를 설명하기 위한 정보를 포함하는 것을 특징으로 하는 장치.
  5. 제1항에 있어서,
    상기 타임드 메타데이터 및 상기 타임드 미디어 데이터는, MPEG-2 시스템에 기초하여 포맷팅 되고,
    상기 타임드 메타데이터는 액세스 유닛(access units)에 저장되는 것을 특징으로 하는 장치.
  6. 제5항에 있어서,
    상기 액세스 유닛은,
    상기 적어도 하나의 위치 메타데이터 엔티티를 가지는 위치 메타데이터를 위한 액세스 유닛 또는
    상기 적어도 하나의 방향 메타데이터 엔티티를 가지는 방향 메타데이터를 위한 액세스 유닛을 포함하는 것을 특징으로 하는 장치.
  7. 제6항에 있어서,
    타임드 메타데이터 디스크립터는 PMT(Program Map Table)에 기초하여 시그널링 되고,
    상기 타임드 메타데이터 디스크립터는 각각의 액세스 유닛에 존재하는 메타데이터의 타입을 설명하는 타입 정보를 포함하는 것을 특징으로 하는 장치.
  8. 제7항에 있어서,
    상기 타임드 메타데이터 디스크립터는,
    상기 위치 메타데이터 또는 상기 방향 메타데이터의 스태틱 정보(static information)를 설명하는 것을 특징으로 하는 장치.
  9. 데이터 신호를 수신하는 장치에 있어서,
    소스(source)들의 각 소스로부터 생성된 타임드 미디어 데이터 및 상기 타임드 미디어 데이터를 위한 타임드 메타데이터를 수신하는 리시버(receiver),
    상기 타임드 미디어 데이터 및 상기 타임드 메타데이터는 각각 내부 타임 라인을 가지고,
    상기 타임드 메타데이터는, 상기 소스를 위한 적어도 하나의 위치 메타데이터 엔티티를 나타내는 위치 메타데이터 또는 상기 소스를 위한 적어도 하나의 방향 메타데이터 엔티티를 나타내는 방향 메타데이터를 포함하고,
    상기 적어도 하나의 위치 메타데이터 엔티티는 위치 메타데이터 엔티티들의 개수를 나타내는 엔티티 개수(count) 정보, 상기 위치 메타데이터를 위한 캐퍼빌리티를 나타내는 센서 캐퍼빌리티 정보 및 상기 위치 메타데이터가 글로벌 포지션(global position)에 관한 것인지를 나타내는 포지션 엔티티 코드 정보를 포함함;
    트랜스포트 프로토톨에 기초하여, 상기 타임드 메타데이터 및 상기 타임드 미디어 데이터를 파싱(parsing)하는 파서(parser); 및
    상기 타임드 메타데이터 및 상기 타임드 미디어 데이터를 디코딩 하는 디코더;
    를 포함하는 장치.
  10. 싱크(sink)로서 동작하는 디바이스에 의해, 데이터 신호를 수신하는 방법에 있어서,
    소스(source)들의 각 소스로부터 생성된 타임드 미디어 데이터 및 상기 타임드 미디어 데이터를 위한 타임드 메타데이터를 수신하는 단계,
    상기 타임드 미디어 데이터 및 상기 타임드 메타데이터는 각각 내부 타임 라인을 가지고,
    상기 타임드 메타데이터는, 상기 소스를 위한 적어도 하나의 위치 메타데이터 엔티티를 나타내는 위치 메타데이터 또는 상기 소스를 위한 적어도 하나의 방향 메타데이터 엔티티를 나타내는 방향 메타데이터를 포함하고,
    상기 적어도 하나의 위치 메타데이터 엔티티는 위치 메타데이터 엔티티들의 개수를 나타내는 엔티티 개수(count) 정보, 상기 위치 메타데이터를 위한 캐퍼빌리티를 나타내는 센서 캐퍼빌리티 정보 및 상기 위치 메타데이터가 글로벌 포지션(global position)에 관한 것인지를 나타내는 포지션 엔티티 코드 정보를 포함함;
    트랜스포트 프로토톨에 기초하여, 상기 타임드 메타데이터 및 상기 타임드 미디어 데이터를 파싱(parsing)하는 단계; 및
    상기 타임드 메타데이터 및 상기 타임드 미디어 데이터를 디코딩 하는 단계;
    를 포함하는 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020187033351A 2016-05-20 2017-05-18 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 KR102191873B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662339101P 2016-05-20 2016-05-20
US62/339,101 2016-05-20
PCT/KR2017/005182 WO2017200322A1 (ko) 2016-05-20 2017-05-18 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Publications (2)

Publication Number Publication Date
KR20180138562A KR20180138562A (ko) 2018-12-31
KR102191873B1 true KR102191873B1 (ko) 2020-12-16

Family

ID=60326235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187033351A KR102191873B1 (ko) 2016-05-20 2017-05-18 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Country Status (4)

Country Link
US (1) US11006158B2 (ko)
EP (2) EP4216556A1 (ko)
KR (1) KR102191873B1 (ko)
WO (1) WO2017200322A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022139260A1 (ko) * 2020-12-21 2022-06-30 엘지전자 주식회사 미디어 파일을 생성하고 처리하는 방법 및 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2560921B (en) * 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
GB2567625B (en) * 2017-10-12 2020-07-15 Canon Kk Method, device, and computer program for generating timed media data
KR20210059409A (ko) * 2019-11-15 2021-05-25 한국전자기술연구원 씬 정보 또는 샷 정보를 비디오 파일에 삽입하기 위한 시스템 및 방법
WO2022224053A1 (en) * 2021-04-19 2022-10-27 Nokia Technologies Oy Method, apparatus and computer program product for signaling information of a media track

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120102042A1 (en) * 2010-10-20 2012-04-26 Flick christopher Temporal metadata track
US20160105478A1 (en) * 2014-10-14 2016-04-14 Intel IP Corporation Carriage of media content quality information

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8929870B2 (en) * 2006-02-27 2015-01-06 Qualcomm Incorporated Methods, apparatus, and system for venue-cast
JP4293209B2 (ja) * 2006-08-02 2009-07-08 ソニー株式会社 記録装置および方法、撮像装置、再生装置および方法、並びにプログラム
EP2149264B1 (en) * 2007-07-02 2011-01-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for processing and reading a file having a media data container and a metadata container
RU2477883C2 (ru) * 2007-08-20 2013-03-20 Нокиа Корпорейшн Сегментированные метаданные и индексы для потоковых мультимедийных данных
KR101362788B1 (ko) * 2007-09-19 2014-02-12 엘지전자 주식회사 멀티미디어 파일 구조, 그를 이용한 멀티미디어 파일생성/실행 방법 및 장치
WO2009099307A1 (en) * 2008-02-05 2009-08-13 Samsung Electronics Co., Ltd Apparatus and method for generating and displaying media files
US10129556B2 (en) * 2014-05-16 2018-11-13 Bevara Technologies, Llc Systems and methods for accessing digital data
US20130188922A1 (en) * 2012-01-23 2013-07-25 Research In Motion Limited Multimedia File Support for Media Capture Device Position and Location Timed Metadata
TWI519167B (zh) * 2012-04-23 2016-01-21 廣達電腦股份有限公司 運用後設資料來進行目標辨識與事件重現之系統
US9413787B2 (en) * 2012-08-06 2016-08-09 Blackberry Limited Real-time delivery of location/orientation data
US9722852B2 (en) * 2013-05-24 2017-08-01 Cisco Technology, Inc. On-demand encapsulating of timed metadata in a network environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120102042A1 (en) * 2010-10-20 2012-04-26 Flick christopher Temporal metadata track
US20160105478A1 (en) * 2014-10-14 2016-04-14 Intel IP Corporation Carriage of media content quality information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022139260A1 (ko) * 2020-12-21 2022-06-30 엘지전자 주식회사 미디어 파일을 생성하고 처리하는 방법 및 장치

Also Published As

Publication number Publication date
US20200107051A1 (en) 2020-04-02
EP3448044A1 (en) 2019-02-27
EP3448044A4 (en) 2019-10-02
EP3448044B1 (en) 2023-05-10
EP4216556A1 (en) 2023-07-26
US11006158B2 (en) 2021-05-11
KR20180138562A (ko) 2018-12-31
WO2017200322A1 (ko) 2017-11-23

Similar Documents

Publication Publication Date Title
KR102191873B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10991066B2 (en) Method of transmitting omnidirectional video, method of receiving omnidirectional video, device for transmitting omnidirectional video, and device for receiving omnidirectional video
US10547914B2 (en) Method, device, and computer program for encapsulating partitioned timed media data using sub-track feature
US10645428B2 (en) Method, device, and computer program for encapsulating partitioned timed media data using a generic signaling for coding dependencies
US20200280712A1 (en) Method of transmitting omnidirectional video, method of receiving omnidirectional video, device for transmitting omnidirectional video, and device for receiving omnidirectional video
JP6735415B2 (ja) オーディオビジュアルコンテンツの観察点および観察向きの制御された選択のための方法および装置
KR102254414B1 (ko) 시간 설정형 미디어 데이터를 캡슐화하고 파싱하기 위한 방법, 디바이스, 및 컴퓨터 프로그램
US9712864B2 (en) Broadcast service receiving method and broadcast service receiving apparatus
US20230254549A1 (en) Method and apparatus for encapsulating annotated region in isobmff tracks
US20210209829A1 (en) Method for Real Time Texture Adaptation
CN113574900B (zh) 用于对媒体内容中的实体进行分组的方法和装置
US11716505B2 (en) Methods and apparatus for media data processing and transmitting and reference picture specifying
CN114930869A (zh) 用于视频编码和视频解码的方法、装置和计算机程序产品
KR101710452B1 (ko) 멀티미디어 전송 시스템에서 서비스 발견 정보를 송수신하는 방법 및 장치와 이를 위한 파일 구조
WO2021258325A1 (en) Three-dimensional content processing methods and apparatus
WO2024015222A1 (en) Signaling for picture in picture in media container file and in streaming manifest

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant