KR101842201B1 - 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치 - Google Patents

인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치 Download PDF

Info

Publication number
KR101842201B1
KR101842201B1 KR1020127027427A KR20127027427A KR101842201B1 KR 101842201 B1 KR101842201 B1 KR 101842201B1 KR 1020127027427 A KR1020127027427 A KR 1020127027427A KR 20127027427 A KR20127027427 A KR 20127027427A KR 101842201 B1 KR101842201 B1 KR 101842201B1
Authority
KR
South Korea
Prior art keywords
psi
unit
information
mdat
format
Prior art date
Application number
KR1020127027427A
Other languages
English (en)
Other versions
KR20130069582A (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 KR20130069582A publication Critical patent/KR20130069582A/ko
Application granted granted Critical
Publication of KR101842201B1 publication Critical patent/KR101842201B1/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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/76Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
    • H04H60/81Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself
    • H04H60/82Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself the transmission system being the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • 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/23605Creation or processing of packetized elementary streams [PES]
    • 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/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/2368Multiplexing of audio 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/4343Extraction or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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/8547Content authoring involving timestamps for synchronizing content

Abstract

본 발명은 인터넷 등의 네트워크를 이용하여 컨텐츠를 송수신하는 방법 및 그를 이용한 송수신 장치에 관한 것으로, 그 송신 방법은 파일 포맷으로 저장된 컨텐츠를 전송 포맷으로 변환하는 단계; 및 전송 포맷으로 변환된 컨텐츠를 IP 패킷을 이용하여 전송하는 단계를 포함하고, 전송 포맷은 IP 패킷에 PCR(Program Clock Reference)이 전송되는지 여부를 나타내기 위한 인디케이터(indicator) 정보를 포함한다.

Description

인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치{APPARATUS AND METHOD FOR TRANSMITTING AND RECEIVING CONTENTS BASED ON INTERNET}
본 발명은 인터넷을 이용하여 다양한 멀티미디어 컨텐츠를 송수신하는 방법 및 장치에 관한 것이다.
현재, 지상파, 케이블, 위성 또는 DMB(Digital Multimedia Broadcasting) 등과 같은 디지털 방송들은 대부분 MPEG-2 TS(Transport Stream)을 이용하여 AV 컨텐츠를 스트리밍하고 있다.
또한, 최근 인터넷의 빠른 성장에 따라 IP(Internet Protocol) 네트워크를 주 전송망으로 하여 컨텐츠를 제공하는 멀티미디어 서비스가 활성화되고 있으며, 디지털 방송은 스테레오 3D 비디오 방송, UHD(Ultra High Definition) 방송, 다시점 3D 비디오 방송, 홀로그램 방송 등과 같이 보다 많은 전송량이 요구되는 방향으로 발전해 나가고 있다.
그러나, 188 바이트의 고정 길이 패킷을 가지는 MPEG-2 TS는 IP 네트워크를 이용하여 기존 HDTV보다 높은 해상도를 가지는 컨텐츠를 전송하기에는 비효율적일 수 있다.
본 발명의 일실시예는 인터넷 환경에서 효율적인 전송이 가능한 구조의 컨텐츠 전송 포맷(delivery format)과, 상기 전송 포맷과 상호 변환이 용이한 구조의 컨텐츠 파일 포맷(file format)을 제공하는 것을 목적으로 한다.
본 발명의 다른 실시예는 상기 전송 포맷과 파일 포맷 사이의 효율적인 변환 방법을 제공하는 것을 목적으로 한다.
본 발명의 또 다른 실시예는 상기 전송 포맷 또는 파일 포맷을 가지는 컨텐츠를 수신하여 처리하는 컨텐츠 송수신 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 실시예에 따른 컨텐츠 송신 방법은, 파일 포맷으로 저장된 컨텐츠를 전송 포맷으로 변환하는 단계; 및 상기 전송 포맷으로 변환된 컨텐츠를 IP 패킷을 이용하여 전송하는 단계를 포함하고, 상기 전송 포맷은 상기 IP 패킷에 PCR(Program Clock Reference)이 전송되는지 여부를 나타내기 위한 인디케이터(indicator) 정보를 포함한다.
본 발명의 실시예에 따른 컨텐츠 수신 방법은, 전송 포맷으로 수신되는 컨텐츠를 파일 포맷으로 변환하는 단계; 및 상기 파일 포맷으로 변환된 컨텐츠를 저장하는 단계를 포함하고, 상기 전송 포맷은 IP 패킷에 PCR이 전송되는지 여부를 나타내기 위한 인디케이터 정보 및 송수신 장치 사이의 클럭 동기화를 위한 클럭 참조 값을 포함하며, 상기 클럭 참조 값은 상기 인디케이터 정보에 따라 선택적으로 수신된다.
본 발명의 실시예에 따른 컨텐츠 송신 장치는, 파일 포맷으로 저장된 컨텐츠를 전송 포맷으로 변환하는 포맷변환부; 및 상기 전송 포맷으로 변환된 컨텐츠를 IP 패킷을 이용하여 전송하는 패킷전송부를 포함하고, 상기 전송 포맷은 상기 IP 패킷에 PCR이 전송되는지 여부를 나타내기 위한 인디케이터 정보를 포함하며, 송수신 장치 사이의 클럭 동기화를 위한 클럭 참조 값은 상기 인디케이터 정보에 따라 선택적으로 상기 전송 포맷에 포함된다.
본 발명의 실시예에 따른 컨텐츠 수신 장치는, 전송 포맷으로 수신되는 컨텐츠를 파일 포맷으로 변환하는 포맷변환부; 및 상기 파일 포맷으로 변환된 컨텐츠를 저장하는 컨텐츠저장부를 포함하고, 상기 전송 포맷은 IP 패킷에 PCR이 전송되는지 여부를 나타내기 위한 인디케이터 정보 및 송수신 장치 사이의 클럭 동기화를 위한 클럭 참조 값을 포함하며, 상기 클럭 참조 값은 상기 인디케이터 정보에 따라 선택적으로 수신된다.
본 발명의 실시예에 따르면, 컨텐츠 송신 장치로부터 인터넷을 이용하여 전송되는 컨텐츠의 전송 포맷에 클럭 참조 값을 선택적으로 포함시킴으로써, 송수신 장치 사이의 클럭을 효과적으로 동기화시킬 수 있다.
또한, 상기 전송 포맷을 IP 패킷의 페이로드에 포함시켜 전송함으로써, 파일 포맷과의 상호 변환을 용이하게 함과 함께 불필요한 정보가 포함됨에 따른 오버헤드(overhead)를 감소시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 인터넷 기반의 컨텐츠 송수신 시스템에 대한 개념도를 도시한 것이다.
도 2는 도 1에 도시된 송수신 시스템에서의 데이터 흐름을 간략하게 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 송수신 시스템의 구성을 간략하게 나타내는 블록도이다.
도 4는 컨텐츠의 파일 포맷(file format)을 나타내는 도면이다.
도 5는 본 발명의 제1 실시예에 따른 컨텐츠의 파일 포맷을 나타내는 도면이다.
도 6은 도 5에 도시된 trak (PSI/SI)의 구성에 대한 일실시예를 나타내는 신택스(syntax)이다.
도 7은 도 5에 도시된 파일 포맷에 자막(subtitle)을 위한 mdat을 추가한 것을 나타내는 도면이다.
도 8은 자막을 위한 부가 데이터(supplement data)의 구성에 대한 일실시예를 나타내는 신택스이다.
도 9는 본 발명의 제2 실시예에 따른 컨텐츠의 파일 포맷을 나타내는 도면이다.
도 10은 도 9에 도시된 mdat (PSI/SI)의 구성에 대한 일실시예를 나타내는 신택스이다.
도 11은 본 발명의 일실시예에 따른 컨텐츠의 전송 포맷(delivery format)을 나타내는 도면이다.
도 12 및 도 13은 컨텐츠의 파일 포맷을 전송 포맷으로 변환하는 방법에 대한 제1 실시예를 설명하기 위한 도면들이다.
도 14는 본 발명의 제1 실시예에 따른 컨텐츠 송신 장치의 구성을 나타내는 블록도이다.
도 15 및 도 16은 컨텐츠의 파일 포맷을 전송 포맷으로 변환하는 방법에 대한 제2 실시예를 설명하기 위한 도면들이다.
도 17은 본 발명의 제2 실시예에 따른 컨텐츠 송신 장치의 구성을 나타내는 블록도이다.
도 18 및 도 19는 컨텐츠의 전송 포맷을 파일 포맷으로 변환하는 방법에 대한 제1 실시예를 설명하기 위한 도면들이다.
도 20은 본 발명의 제1 실시예에 따른 컨텐츠 수신 장치의 구성을 나타내는 블록도이다.
도 21 및 도 22는 컨텐츠의 전송 포맷을 파일 포맷으로 변환하는 방법에 대한 제2 실시예를 설명하기 위한 도면들이다.
도 23은 본 발명의 제2 실시예에 따른 컨텐츠 수신 장치의 구성을 나타내는 블록도이다.
도 24는 본 발명에 따른 IPTV 수신기의 구성에 대한 제1 실시예를 나타내는 블록도이다.
도 25는 본 발명에 따른 IPTV 수신기의 구성에 대한 제2 실시예를 나타내는 블록도이다.
이하, 첨부된 도 1 내지 도 25를 참조하여 본 발명의 실시예에 따른 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치에 대하여 상세히 설명하기로 한다.
이하에서 본 발명의 실시예를 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 후술 되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일실시예에 따른 인터넷 기반의 컨텐츠 송수신 시스템에 대한 개념도를 도시한 것이다.
도 1을 참조하면, 방송국(20)은 컨텐트 제공자(10)로부터 컨텐츠를 제공받아 이를 미디어 DB(media DataBase)에 저장하여 보관할 수 있다. 예를 들어, 컨텐트 제공자(10)로부터 제공되는 컨텐츠는 해당 컨텐츠의 타입 또는 그를 제공하는 컨텐츠 제공자에 따라 서로 상이한 포맷(original format)을 가질 수 있으며, 방송국(20)은 컨텐트 제공자(10)로부터 제공되는 컨텐츠의 포맷을 저장이 용이한 형태인 파일 포맷(file format)으로 변환한 후 상기 미디어 DB에 저장할 수 있다.
한편, 방송국(20)은 상기 미디어 DB에 저장된 파일 포맷의 컨텐츠를 전송이 용이한 형태인 전송 포맷(delivery format)으로 변환하여 인터넷(internet) 망 등의 네트워크(network)를 통해 전송할 수 있다.
또한, 수신기(30)는 방송국(20)으로부터 전송되는 전송 포맷의 컨텐츠를 수신하여 재생하거나, 파일 포맷으로 다시 변환하여 로컬 저장매체(local storage)에 저장할 수 있다.
이 경우, 방송국(20)은 컨텐트 제공자(10)로부터 제공되는 컨텐츠를 원 포맷(original format) 또는 스트리밍(streaming) 포맷(예를 들어, MPEG2 TS)의 형태로 상기 미디어 DB에 저장할 수 있다.
그러나, 상기 원 포맷 형태의 컨텐츠는 전송을 위한 스트리밍 형태로 변환하는데 시간이 많이 소모될 수 있으며, 상기 스트리밍 포맷은 불필요한 정보가 많이 포함되어 이를 저장하기 위한 미디어 DB의 저장 용량이 커질 수 있다.
한편, 수신기(30)에서 저장되는 컨텐츠의 포맷은 해당 수신기 또는 그에 구비된 로컬 저장매체에 따라 상이할 수 있어, 상기 컨텐츠를 다양한 장치에서 이용하기 어려울 수 있다.
본 발명의 일실시예에 따르면, 상기한 바와 같은 인터넷 기반의 컨텐츠 송수신 시스템에서, 불필요한 정보가 포함됨에 따른 오버헤드(overhead)를 감소시키고 상호 변환이 용이한 전송 포맷 및 파일 포맷을 제공한다.
상기 전송 포맷은 인터넷 등의 네트워크를 이용하여 전송이 용이한, 예를 들어 에러(error)가 상대적으로 많은 환경에서 유리한 구조를 가지며, 와이어 포맷(wire format)으로도 지칭될 수 있다.
한편, 상기 전송 포맷은 인터넷 등의 네트워크를 이용한 컨텐츠의 전송에 용이하도록 설계되나, 상기 컨텐츠의 전송에 이용되는 것에 한정되지 아니하며 컨텐츠의 저장 등을 위한 포맷으로도 이용 가능할 수 있다.
또한, 상기 파일 포맷은 로컬 DB 또는 저장매체에 저장이 용이한, 예를 들어 에러가 상대적으로 적은 환경에서 유리한 구조를 가지며, 와이어리스 포맷(wireless format)으로도 지칭될 수 있다.
상기 파일 포맷은 컨텐츠를 저장에 용이하도록 설계되나, 상기 컨텐츠의 저장에 이용되는 것에 한정되지 아니하며 컨텐츠의 전송 등을 위한 목적으로도 이용될 수 있다.
도 2는 도 1에 도시된 송수신 시스템에서의 데이터 흐름을 간략하게 도시한 것으로, 상기 데이터 흐름을 프로토콜 스택(protocol stack) 측면에서 나타낸 것이다.
상기 프로토콜 스택은 서로 다른 기기들이 데이터 통신을 하는 데 필요한 통신 규약을 구현해 주는 소프트웨어 모듈들의 모임으로서, 각 기기 간에 통신을 할 때 해당 통신 규약을 구현해 주는 핵심 소프트웨어이며, 프로파일은 상호 접속성을 확보하기 위해 애플리케이션에서 사용해야 할 통신 규약을 규정한 것이다.
도 2를 참조하면, 방송국(20)이 인터넷을 통해 컨텐츠를 전송하는 경우, 상기 전송되는 컨텐츠는 라우터(router, 25)를 거치면서 전송 프로토콜이 변경될 수 있다. 예를 들어, 상기 컨텐츠는 방송국(20)에서 라우터(25)까지는 RTP(Real-time Transport Protocol)로, 라우터(25)에서 수신기(30)까지는 HTTP(HyperText Transfer Protocol)로 전달될 수 있다.
그러나, 미디어 전송 레이어(media delivery layer)에서 보면, 상기 컨텐츠가 라우터(25)에서 사용되는 프로토콜에 관계 없이(transparent) 일관된 전송 포맷으로 전송되는 것이 송수신 장치 측면에서 전송단의 부담을 줄일 수 있다.
따라서 본 발명의 일실시예에 따른 전송 포맷은 상기한 바와 같이 프로토콜에 무관한(protocol-transparent) 특성을 가지도록 설계되며, 상기 파일 포맷도 상기 전송 포맷과의 변환이 용이하도록 상기 프로토콜에 무관한 특성을 가지도록 설계될 수 있다.
상기 도 1 및 도 2에서, 방송국(20)은 본 발명의 실시예에 따른 컨텐츠 송신 장치의 기능을 나타내는 일예일 수 있으며, 수신기(30)는 본 발명의 실시예에 따른 컨텐츠 수신 장치의 기능을 나타내는 일예일 수 있다.
한편, 도 1에서는 서비스 제공자(10)와 방송국(20)이 별개로 분리되어 있으나, 그와 달리 서비스 제공자(10)와 방송국(20)이 하나로 통합되어 인터넷 등을 이용해 수신기(30)로 컨텐츠를 제공하는 기능을 할 수도 있다.
도 3은 본 발명의 일실시예에 따른 송수신 시스템의 간략한 구성을 블록도로 도시한 것이다.
도 3을 참조하면, 인터넷 등의 네트워크를 이용하여 컨텐츠를 송수신하기 위한 미디어 전송 시스템의 구성(architecture)은 인캡슐레이션 레이어(encapsulation layer, 31), 트랜스포트 레이어(transport layer, 32) 및 컨트롤 레이어(control layer, 33)를 포함할 수 있다.
인캡슐레이션 레이어(31)는 비디오(video), 이미지(image), 오디오(audio), 웹 컨텐츠(web contents) 또는 어플리케이션(application) 등으로 구성되는 애셋(assets)을 이용하여, 서비스 제공자가 제공하고자 하는 컨텐츠에 해당하는 데이터 및 그에 대한 정보를 생성할 수 있다.
예를 들어, 인캡슐레이션 레이어(31)는 상기한 바와 같은 하나 또는 그 이상의 애셋(assets) 및 그에 대한 정보를 전송을 위한 아이템(item)으로 캡슐화(encapsualtion)하여 트랜스포트 레이어(32)로 전달할 수 있다.
한편, 트랜스포트 레이어(32)는 상기 인캡슐레이션 레이어(31)로부터 전달된 아이템과, 컨트롤 레이어(33)로부터 전달된 데이터를 전송할 수 있다.
또한, 컨트롤 레이어(33)는 상기한 바와 같은 애셋 및 아이템의 전송을 위해 상기 인캡슐레이션 레이어(31)와 컨트롤 레이어(33)의 동작을 제어할 수 있다.
도 3을 참조하여 설명한 바와 같은 인캡슐레이션 레이어(31)에서, 비디오, 이미지, 오디오, 웹 컨텐츠 또는 어플리케이션 등으로 구성되는 상기 애셋은 본 발명의 실시예에 따른 파일 포맷을 가질 수 있으며, 전송을 위해 캡슐화되는 상기 아이템은 본 발명의 실시예에 따른 전송 포맷을 가질 수 있다.
이하, 도 4 내지 도 10을 참조하여, 본 발명의 실시예에 따른 컨텐츠의 파일 포맷의 구성에 대해 상세히 설명하기로 한다.
도 4는 컨텐츠의 파일 포맷을 도시한 것으로, ISO/IEC 14496-12 ISO Base Media 파일 포맷을 나타낸 것이다.
도 4를 참조하면, 컨텐츠의 저장을 위해 사용되는 파일 포맷(100)은 파일의 타입 정보를 저장하기 위한 에프타입(ftyp) 박스(101), 오디오 데이터 및 비디오 데이터를 저장하기 위한 엠닷(mdat) 박스(120) 및 오디오 데이터 및 비디오 데이터를 재생하기 위한 상세 정보를 저장하기 위한 무브(moov) 박스(110)를 포함할 수 있다.
좀 더 구체적으로, moov 박스(110)에 포함된 trak(audio)(111)는 상기 mdat 박스(120)에 포함된 오디오 데이터(즉, mdat(audio)(121)에 저장된 데이터)에 대한 정보를 나타내는 메타데이터(metadata)를 포함할 수 있다.
또한, moov 박스(110)에 포함된 trak(video)(112)는 상기 mdat 박스(120)에 포함된 비디오 데이터(즉, mdat(video)(122)에 저장된 데이터)에 대한 정보를 나타내는 메타데이터를 포함할 수 있다.
예를 들어, trak(audio)(111) 및 trak(video)(112)는 각각에 대응되는 mdat에 저장된 데이터에 대하여, 코덱, 데이터의 위치 및 크기, 또는 데이터 샘플 크기 및 위치 등과 같은 해당 mdat에 대한 고유 정보를 나타낼 수 있다.
한편, mdat 박스(120)에 포함되는 오디오 데이터 및 비디오 데이터는 다양한 압축 방식을 이용하여 획득된 데이터일 수 있으며, 예를 들어 mdat(video)(122)에 저장된 비디오 데이터는 MPEG-2 Video, H.26x, VC1, Motion JPEG, MPEG-4 Visual, MPEG-4 Part 10 Advanced Video Coding(또는 H.264) 또는 MPEG-4 Scalable Video Coding 등과 같은 방식에 따라 압축된 데이터일 수 있다.
본 발명의 실시예에 따른 파일 포맷은, 상기한 바와 같은 ISO/IEC 14496-12 ISO Base Media 파일 포맷과 호환성을 가지도록 구성될 수 있으며, mdat 박스(120)에 저장된 데이터를 이용하여 구성되는 프로그램에 대한 구성 정보를 moov 박스(110) 또는 mdat 박스(120)에 포함시킬 수 있다.
상기 프로그램 구성 정보는 해당 프로그램 내에서 오디오 또는 비디오 등의 데이터가 어떻게 구성되는지를 나타내는 것으로, 이하에서는 'PSI/SI 정보"로 지칭하기로 한다.
상기 PSI/SI 정보는 해당 프로그램에 대한 PSI(Program Specific Information) 및 SI(Service Information)를 포함할 수 있다.
예를 들어, 상기 PSI는 수신기가 다중화된 스트림 내에서 특정 스트림을 역다중화하고 이를 디코딩 할 수 있는 정보를 의미하며, SI는 상기 PSI에 추가하여 사용자에게 제공되는 서비스와 개별 프로그램에 대한 안내 정보를 의미할 수 있다.
구체적으로, 상기 PSI는 PAT(Program Association Table), PMT(Program Map Table) 또는 CAT(Conditional Access Table) 등을 포함할 수 있으며, 상기 SI는 SDT(Service Description Table), NIT(Network Information Table), EIT(Event Information Table) 또는 TOT(Time Offset Table) 등을 포함할 수 있다.
그러나, 본 발명의 실시예에 따른 PSI/SI 정보는 상기한 바와 같은 PSI 또는 SI에 한정되지 아니하며, 오디오 또는 비디오 데이터 등을 이용해 특정 프로그램을 구성하고 재생하기 위한 다영한 정보를 포함할 수 있다.
도 5는 본 발명의 제1 실시예에 따른 컨텐츠의 파일 포맷을 도시한 것으로, 도 5에 도시된 파일 포맷의 구성 중 도 4를 참조하여 설명한 것과 동일한 것에 대한 설명은 이하 생략하기로 한다.
도 5를 참조하면, 본 발명의 일실시예에 따른 파일 포맷은 mdat 박스(120)에 저장된 오디오 및 비디오 데이터를 이용하여 구성되는 프로그램에 대한 PSI/SI 정보를 나타내는 trak(PSI/SI)(115)가 moov 박스(110)에 포함될 수 있다.
예를 들어, trak(PSI/SI)(115)는 해당 프로그램을 구성하는 하나 이상의 mdat들 각각에 대한 식별 정보, 타입 정보, 우선 순위(priority) 정보, 재생 중 구성의 변경에 관한 정보 및 부가 정보 등을 포함할 수 있다.
한편, 상기 파일 포맷에 복수의 프로그램들이 포함되어 있는 경우, trak(PSI/SI)(115)는 상기 프로그램들에 각각 대응되도록 복수개 존재할 수 있다.
이 경우, moov 박스(110)는 trak(audio)(111) 및 trak(video)(112)을 포함하여, mdat(audio)(121) 및 mdat(video)(122) 각각에 대한 고유 정보를 나타낼 수 있다.
또는, 상기 trak(audio)(111) 및 trak(video)(112)에 포함되는 오디오 데이터 및 비디오 데이터에 대한 코덱 등의 고유 정보도 trak(PSI/SI)(115)에서 부가 정보로 시그널링(signaling)될 수 있다.
상기와 같이 trak(PSI/SI)(115)가 프로그램에 대한 PSI/SI 정보와 오디오 및 비디오 관련 정보를 함께 시그널링함으로써, 상기 파일 포맷으로부터 전송 포맷으로의 변환이 용이해질 수 있다.
이하, 도 6을 참조하여 상기 trak (PSI/SI)의 구성에 대한 일실시예를 상세히 설명하기로 한다.
도 6에 도시된 신택스(syntax)를 참조하면, 상기 trak (PSI/SI)는 program_number 필드, number_of_mdat 필드, mdat_id 필드, mdat_type 필드, priority 필드, start_time 필드, duration 필드, supplement_length 필드 및 supplement_data 필드를 포함할 수 있다.
상기 program_number 필드는 상기 trak (PSI/SI)에 의해 PSI/SI 정보가 시그널링되는 프로그램의 식별 정보, 예를 들어 고유 번호를 나타낼 수 있다.
예를 들어, 도 5에 도시된 바와 같은 구조를 가지는 파일 포맷 내에 복수의 프로그램들이 존재하는 경우, 상기 프로그램들의 개수만큼의 trak(PSI/SI)들이 moov 박스에 포함될 수 있으며, 상기 program_number 필드의 값을 이용하여 상기 프로그램들이 서로 구분될 수 있다.
한편, 상기에서는 프로그램을 식별하기 위하여 program_number를 이용하는 것을 예로 들어 본 발명의 실시예에 따른 파일 포맷을 설명하였으나, 상기 program_number 이외에 다양한 형태의 식별자(identifier)가 각 프로그램에 부여될 수 있다.
상기 number_of_mdat 필드는 해당 프로그램을 구성하는 mdat의 개수를 나타낼 수 있다. 예를 들어, 상기 프로그램이 오디오 데이터를 포함하는 mdat(audio)와 비디오 데이터를 포함하는 mdat(video)로 구성되는 경우, 상기 number_of_mdat 필드는 '2'의 값을 가질 수 있다.
한편, 상기 mdat_id 필드는 해당 프로그램을 구성하는 mdat을 식별하기 위한 식별자로서 해당 mdat의 고유 id를 나타낼 수 있다.
상기 mdat_type 필드는 해당 프로그램을 구성하는 mdat의 종류를 나타내며, 예를 들어 mdat에 포함된 데이터의 종류에 따라 '1'은 비디오(video), '2'는 오디오(audio)를 나타내며, '0'은 또 다른 타입을 위해 예비된(reserved) 값이다.
상기 priority 필드는 해당 mdat의 우선 순위를 나타내는 것으로, 해당 mdat에 포함된 데이터가 디폴트(default)로 재생되어야 하는지 여부를 나타내는 flag일 수 있다.
한편, 상기 priority 필드는 상기 mdat의 타입마다 하나의 메인(main) mdat을 지정할 수 있으며, 각 type의 메인 mdat은 '0'으로, 서브(sub) mdat은 '1'로 상기 상기 priority 필드의 값이 설정될 수 있다.
예를 들어, 해당 프로그램을 구성하는 mdat들 중 오디오 타입에 해당하는 mdat이 2개 존재하는 경우, 상기 2개의 오디오 타입 mdat들 중 상기 priority 필드 값이 '0'인 mdat은 상기 프로그램의 재생시 디폴트로 재생되며, 상기 priority 필드 값이 '1'인 mdat은 사용자의 선택 또는 특정 재생 환경 등에 따라 선택적으로 재생될 수 있다.
또한, 해당 프로그램을 구성하는 mdat들 중 특정 mdat 타입에 해당하는 mdat이 하나만 존재하는 경우, 상기 mdat에 대한 priority 필드는 '0'의 값을 가진다.
한편, 해당 mdat이 사용되는 구간은 상기 start_time 필드와 duration 필드에 의해 지정될 수 있다.
상기 start_time 필드는 해당 mdat이 사용되는 구간의 시작 시점을 나타내며, 예를 들어 해당 mdat이 프로그램의 처음부터 사용되는 경우 '0'의 값을 가질 수 있다.
상기 duration 필드는 해당 mdat이 사용되는 구간의 길이를 나타내며, '0xFF'의 값을 가지는 경우 프로그램 전체에 걸쳐 해당 mdat이 변경되지 않고 사용됨을 나타낼 수 있다.
한편, 상기 start_time 필드 및 duration 필드의 값은 msec 단위로 설정될 수 있으나 이에 한정되지 아니하며, 예를 들어 해당 mdat에 포함된 데이터의 비트레이트(bitrate)가 정해져있는 경우 프레임 번호(frame number)를 이용하여 지정될 수도 있다.
상기한 바와 같은 start_time 필드 및 duration 필드는 구성 변경 정보(즉, 프로그램의 재생 중 그의 구성이 변경되는 사항에 관한 정보)로서 이용되며, 이는 프로그램의 재생 도중 멀티-오디오(multi-audio) 또는 멀티-뷰(multi-view)가 지원되거나 프로그램을 구성하는 오디오/비디오 mdat이 변경되는 경우 추가 또는 변경되는 mdat에 대한 시간 정보를 나타낼 수 있다.
예를 들어, 상기 trak (PSI/SI)에 의해 PSI/SI 정보가 시그널링되는 프로그램의 시작으로부터 180msec 이후의 시점에 오디오 타입의 메인 mdat이 'id1'의 mdat에서 'id2'의 mdat으로 변경되고 상기 'id2'의 mdat이 130msec 동안 사용되는 경우, 상기 'id1'의 mdat에 대한 start_time 필드 값은 '0'으로 duration 필드 값은 '180'으로 설정되고, 상기 'id2'의 mdat에 대한 start_time 필드 값은 '180'으로 duration 필드 값은 '130'으로 설정될 수 있다.
또한, 상기와 같이 프로그램 재생 중 구성이 변경됨에 따라, 도 5에 도시된 바와 같은 파일 포맷을 전송 포맷으로 변환하는 경우 PSI/SI 시그널링 정보의 버전(version)이 상기 start_time 필드 값 및 상기 duration 필드 값에 따라 업데이트될 수 있다.
한편, 상기 start_time 필드 및 상기 duration 필드는 프로그램의 구성 변경 정보를 나타내는 일실시예에 불과하므로, 본 발명은 이에 한정되지 아니하며, 상기 구성 변경 정보는 시간 축상에서 mdat이 사용되는 구간을 나타내기 위한 다양한 형태로 표현될 수 있다.
예를 들어, 상기 duration 필드는 해당 mdat의 사용이 종료되는 시점을 나타내는 end_time 필드로 대체될 수 있으며, 이 경우 상기 duration 필드 값은 상기 end_time 필드 값과 상기 start_time 필드 값 사이의 차로 계산될 수 있다.
상기 supplement_length 필드는 해당 mdat에 대한 부가 정보가 존재하는 경우 상기 부가 정보의 길이를 지정할 수 있다.
또한, supplement_data 필드는 해당 mdat에 대한 부가 정보를 나타내며, 예를 들어 도 5를 참조하여 설명한 바와 같이 상기 trak (PSI/SI)가 mdat(audio) 및 mdat(video)에 포함된 오디오/비디오 데이터에 대한 코덱 등의 고유 정보를 포함하는 경우 상기 오디오/비디오 데이터에 대한 고유 정보는 상기 supplement_data 필드에 포함될 수 있다.
도 7을 참조하면, 파일 포맷(100)의 mdat 박스(120)는 자막 데이터(subtitle data)를 저장하기 위한 mdat(subtitle)(123)을 더 포함할 수 있다.
한편, mdat(subtitle)(123)과 관련된 PSI/SI 정보는 도 6을 참조하여 설명한 바와 같은 구성을 가지는 trak (PSI/SI)에 의해 시그널링될 수 있으며, 이 경우 상기 mdat(subtitle)(123)에 대한 상기 mdat_type 필드 값은 '3'으로 지정될 수 있다.
상기 trak (PSI/SI)을 이용하여 mdat(subtitle)(123)과 관련된 PSI/SI 정보를 시그널링하는 방법은 도 6을 참조하여 설명한 바와 동일할 수 있으므로, 이에 대한 상세한 설명은 생략하기로 한다.
또한, 상기 trak (PSI/SI)의 supplement_data 필드는 mdat(subtitle)(123)에 담긴 자막 데이터에 대한 고유 정보, 예를 들어 사용 언어, 자막 타입 및 구성 페이지 정보 등을 부가 정보로서 포함할 수 있다.
도 8은 자막을 위한 부가 데이터(supplement data)의 구성에 대한 일실시예를 신택스로 도시한 것으로, 도 6에 도시된 trak (PSI/SI)에서 mdat_type 필드 값이 '3'인 경우 supplement_data 필드에 의해 지정되는 자막 관련 부가 정보를 나타낸다.
도 8을 참조하면, 자막 관련 부가 정보를 포함하는 supplement_data 필드는 총 8byte를 사용하므로, 상기 supplement_length 필드 값은 '8'로 지정될 수 있다.
ISO_639_language_code 필드는 자막에서 사용되는 언어를 나타내며, 그를 위해 ISO 639-2에서 정의된 언어 코드를 필드 값으로 가질 수 있다. 예를 들어, ISO_639_language_code 필드 값이 'kor'인 경우 자막에서 사용되는 언어가 한국어임을 나타내고, 'eng'인 경우 자막 사용 언어가 영어임을 나타낼 수 있다.
한편, subtitling_type 필드는 자막의 타입을 나타내며, 예를 들어 필드 값 '0'은 일반 타입, '1'은 VBI(Vertical Blanking Interval) 타입, '2'는 청각 장애인용을 의미할 수 있다.
aspect_ratio 필드는 자막이 어떤 형태의 디스플레이(display)에 맞추어 구성되었는지를 나타내며, 필드 값 '1'는 4:3 화면비를 가지는 디스플레이, '2'는 16:9 화면비를 가지는 디스플레이, '3'은 2.35:1의 화면비를 가지는 디스플레이에 맞추어 해당 자막이 구성되었음(don care)을 나타내고, 필드 값 '0'은 디스플레이에 관계없이 해당 자막이 구성되었음을 나타낼 수 있다.
또한, composition_page_id 필드는 해당 자막을 구성하는 각 페이지를 식별하기 위한 id를 나타내며, ancillary_page_id 필드는 해당 자막을 구성하는 페이지 중 보조 페이지를 식별하기 위한 id를 나타낼 수 있다.
도 7 및 도 8을 참조하여 설명한 바와 같은 mdat(subtitle)의 구조에 따라, 파일 포맷에서 기존의 자막 스트림(subtitle stream)을 그대로 사용하는 것이 가능할 수 있다.
도 9는 본 발명의 제2 실시예에 따른 컨텐츠의 파일 포맷을 도시한 것으로, 도 9에 도시된 파일 포맷의 구성 중 도 4 내지 도 8을 참조하여 설명한 것과 동일한 것에 대한 설명은 이하 생략하기로 한다.
도 9를 참조하면, 본 발명의 제2 실시예에 따른 파일 포맷은 프로그램에 대한 PSI/SI 관련 데이터를 저장하기 위한 mdat(PSI/SI)(125)가 mdat 박스(120)에 포함될 수 있다.
즉, 도 5 내지 도 8을 참조하여 설명한 바와 같은 본 발명의 제1 실시예에 따른 파일 포맷의 경우 프로그램에 대한 PSI/SI 정보를 moov 박스(110) 내의 trak(PSI/SI)(115)에 포함시켰으나, 본 발명의 제2 실시예에 따른 파일 포맷의 경우에는 상기 PSI/SI 정보가 mdat 박스(120) 내의 mdat(PSI/SI)(125)에 포함될 수 있다.
mdat(PSI/SI)(125)에 포함되는 PSI/SI 정보의 구성은 도 5 내지 도 8을 참조하여 설명한 바와 같은 trak(PSI/SI)(115)에 포함되는 PSI/SI 정보의 구성과 유사할 수 있으므로, 이하에서는 mdat(PSI/SI)(125)의 구성 중 trak(PSI/SI)(115)와 상이한 것을 중심으로 설명하기로 한다.
상기 mdat(PSI/SI)(125)는 파일 포맷(100)에 포함된 프로그램에 대하여, PSI/SI 정보에 대한 식별 정보 및 버전 정보와 함께, 해당 프로그램을 구성하는 하나 이상의 mdat들 각각에 대한 식별 정보, 타입 정보, 우선 순위 정보 및 부가 정보 등을 포함할 수 있다.
한편, 파일 포맷(100)에 복수의 프로그램들이 포함되어 있는 경우, 하나의 mdat(PSI/SI)(125)가 상기 복수의 프로그램들에 대한 PSI/SI 정보를 모두 포함할 수 있다.
상기와 같이 파일 포맷(100)에 포함되는 하나 이상의 프로그램들에 대한 PSI/SI 정보를 mdat(PSI/SI)(125)에 포함시킴으로써, mdat 박스(120)에 저장되는 PSI/SI 관련 데이터의 크기는 증가할 수 있으나, 전송 포맷으로의 변환이 보다 용이해질 수 있다.
또한, moov 박스(110)는 trak(audio)(111) 및 trak(video)(112)을 포함하여, mdat(audio)(121) 및 mdat(video)(122) 각각에 대한 고유 정보를 나타낼 수 있다.
또는, trak(audio)(111) 및 trak(video)(112)에 포함되는 오디오 데이터 및 비디오 데이터에 대한 코덱 등과 같은 고유 정보도 mdat(PSI/SI)(125)에서 부가 정보로 시그널링될 수 있다.
상기와 같이 mdat(PSI/SI)(125)가 프로그램에 대한 PSI/SI 정보와 오디오 및 비디오 관련 정보를 함께 시그널링함으로써, 상기 파일 포맷으로부터 전송 포맷으로의 변환이 용이해질 수 있다.
이하, 도 10을 참조하여 상기 mdat(PSI/SI)의 구성에 대한 일실시예를 상세히 설명하기로 한다.
도 10에 도시된 신택스를 참조하면, 상기 mdat(PSI/SI)는 PSI/SI_info_id 필드, version 필드, number_of_programs 필드, program_number 필드, number_of_mdat 필드, mdat_id 필드, mdat_type 필드, priority 필드, supplement_length 필드 및 supplement_data 필드를 포함할 수 있다.
상기 PSI/SI_info_id 필드는 해당 PSI/SI 정보의 종류를 식별하기 위한 id를 나타내는 것으로, 예를 들어 MPEG-2 TS에서 정의된 PMT(Program Map Table) 및 PAT(Program Association Table)에 해당하는 정보는 '0'의 필드 값을 가질 수 있다.
한편, 상기 PMT 및 PAT 이외에 필요한 PSI/SI 정보를 별도로 구성하는 경우, 해당 PSI/SI 정보의 종류를 식별하기 위한 id를 넘버링을 통해 상기 PSI/SI_info_id 필드 값으로 추가할 수 있다.
상기 version 필드는 해당 PSI/SI 정보가 변경되는 경우 필드 값이 업데이트되며. 예를 들어 프로그램 재생 중 해당 프로그램을 구성하는 mdat의 개수가 증가 또는 감소되거나, 프로그램 전체의 구성이 변경되는 경우 상기 version 필드 값이 업데이트될 수 있다.
또한, 상기 프로그램 구성 정보가 변경되는 경우, 상기 버전 정보가 업데이트됨과 함께 상기 프로그램 구성 정보의 변경 내용이 상기 mdat(PSI/SI)에 실시간으로 반영될 수 있다.
이 경우, 상기 PSI/SI 정보의 변경 내용이 mdat(PSI/SI)에 이미 반영되어 있으므로, 도 5 내지 도 8을 참조하여 설명한 바와 같은 본 발명의 제1 실시예에 따른 파일 포맷의 경우와 같이 start_time 필드 및 duration 필드를 이용하여 각 mdat의 사용 구간 정보를 별도로 나타낼 필요가 없다.
한편, 상기 number_of_programs 필드는 파일 포맷(100)에 포함된 프로그램의 개수를 나타내며, 상기 program_number 필드는 각 프로그램을 식별하기 위한 고유 번호를 나타낼 수 있다.
예를 들어, 도 9에 도시된 바와 같은 구조를 가지는 파일 포맷(100) 내에 복수의 프로그램들이 존재하는 경우, mdat(PSI/SI) 내에 상기 프로그램들의 개수만큼의 루프(loop)들이 존재하며, 상기 프로그램들은 상기 program_number 필드 값을 이용하여 서로 구분될 수 있다.
상기 number_of_mdat 필드는 해당 프로그램을 구성하는 mdat의 개수를 나타내며, 상기 mdat_id 필드는 해당 프로그램을 구성하는 mdat을 식별하기 위한 고유 id를 나타낼 수 있다.
또한, 상기 mdat_type 필드는 해당 프로그램을 구성하는 mdat의 타입을 나타내며, 상기 priority 필드는 해당 mdat의 우선 순위를 나타낼 수 있다.
한편, 상기 supplement_length 필드는 해당 mdat에 대한 부가 정보가 존재하는 경우 상기 부가 정보의 길이를 지정하며, 상기 supplement_data 필드는 해당 mdat에 대한 부가 정보를 나타낼 수 있다.
예를 들어, 상기 mdat(PSI/SI)의 supplement_data 필드는 mdat(subtitle)(123)에 담긴 자막 데이터에 대한 고유 정보, 예를 들어 사용 언어, 자막 타입 및 구성 페이지 정보 등을 부가 정보로서 포함할 수 있다.
이하, 도 11을 참조하여, 본 발명의 실시예에 따른 컨텐츠 전송 포맷의 구성에 대해 상세히 설명하기로 한다.
도 11을 참조하면, 컨텐츠가 인터넷을 통해 전송되는 경우, 상기 전송 포맷은 IP 패킷(packet) 내에 존재하므로 그에 대한 별도의 어드레스(address) 및 단편화(fragmentation)는 필요하지 않을 수 있다.
한편, 상기 IP 패킷은 가변 길이(variable length)를 가지므로, 본 발명의 실시예에 따른 전송 포맷도 상기 가변 길이를 지원하도록 구성될 수 있다.
예를 들어, 도 4 내지 도 10을 참조하여 설명한 바와 같은 파일 포맷(100)에 포함된 mdat들은 일정한 크기를 가지는 타임 윈도우(time window)에 따라 컷팅(cutting)되어 전송 포맷으로 변환되고, 상기 변환된 전송 포맷은 IP 패킷 내에 포함되어 순차적으로 전송될 수 있다.
도 11에 도시된 신택스를 참조하면, 상기 전송 포맷은 mdat_id 필드, clock_reference_indicator 필드, data_length 필드, PCR_base/PCR_extension 필드, number_of_mdat 필드, mdat_id 필드, mdat_type 필드, priority 필드 및 payload_data_byte 필드를 포함하여 구성될 수 있다.
상기 mdat_id 필드는 전송 포맷에 포함된 mdat을 식별하기 위한 고유 id를 나타내며, 상기 mdat_id 필드 값에 의해 지정되는 id의 구성은 상기 도 5 내지 도 10을 참조하여 설명한 바와 같은 PSI/SI 정보에 의해 시그널링될 수 있다.
즉, 상기 mdat_id 필드는, 파일 포맷(100)에 포함된 PSI/SI 정보에서 각각의 mdat에 대해 부여된 고유 id에 따라, 상기 전송 포맷에 포함된 mdat을 식별하기 위한 고유 id를 지정할 수 있다. 이는 MPEG2 TS에서 정의되는 PID(Packet ID)와 유사한 기능을 한다.
한편, 전송 포맷에 PSI/SI 정보가 포함된 경우, 해당 전송 포맷의 mdat_id 필드는 상기 PSI/SI 정보에 대해 따로 지정된 값, 예를 들어 '0'을 가질 수 있다.
상기 clock_reference_indicator 필드는 해당 전송 포맷을 포함하는 IP 패킷에 PCR(Program Clock Reference)이 전송되는지 여부를 나타내며, 상기 PCR_base/PCR_extension 필드는 클럭 참조 값(clock reference value)을 나타낼 수 있다.
예를 들어, 상기 clock_reference_indicator 필드 값이 '1'인 경우, 해당 IP 패킷을 통해 상기 PCR이 전송되며, 상기 전송되는 PCR은 상기 PCR_base/PCR_extension 필드에 의해 지정되는 클럭 참조 값을 가질 수 있다.
반대로, 상기 clock_reference_indicator 필드 값이 '0'인 경우, 해당 IP 패킷을 통해 상기 PCR이 전송되지 않음을 나타낼 수 있다.
상기 PCR은 수신 측에서의 시각 기준이되는 STC(System Time Clock)의 값을 설정하거나 보정하기 위한 총 42bit의 시각 참조치로서, 수신 측의 STC를 송신 측에서 의도한 값에 맞추기 위하여 전송 포맷에 포함되는 값이다.
상기 총 42bit의 PCR은 33bit의 PCR_base와 9bit의 PCR_extension 영역으로 나뉘며, 상기 PCR_base는 시스템 클럭 주파수의 1/300(예를 들어, 90kHz)를 단위로 하고, 상기 PCR_extension은 시스템 클럭 주파수(예를 들어, 27MHz)를 단위로 할 수 있다.
예를 들어, 송신 측으로부터 수신되는 IP 패킷에 포함된 전송 포맷의 clock_reference_indicator 필드 값이 '1'인 경우, 수신 측은 다음의 수학식 1을 이용하여 상기 PCR_base 필드 값과 상기 PCR_extension 필드 값에 따라 상기 PCR을 계산할 수 있다.
Figure 112012085446374-pct00001
한편, 상기 data_length 필드는 해당 데이터 유닛(data unit)에 포함된 데이터의 길이를 나타낼 수 있다.
상기 payload_data_byte 필드는 각각 mdat에 저장된 실제 데이터가 전송되는 영역으로서, 예를 들어 상기 타임 윈도우에 따라 컷팅된 mdat들(121, 122, 123, 125)에 대응되는 오디오, 비디오, 자막 데이터 또는 PSI/SI 관련 데이터 각각이 상기 payload_data_byte 필드를 통해 byte 단위로 전송될 수 있다.
또한, trak(PSI/SI)(115)에 저장된 PSI/SI 정보도 상기 payload_data_byte 필드를 통해 일정 주기마다 전송될 수 있다.
도 11을 참조하여 설명한 바와 같은 전송 포맷은 UDP(User Datagram Protocol), TCP(Transmission Control Protocol), RTP 또는 HTTP 등과 같은 프로토콜에 따른 IP 패킷의 페이로드(payload)에 포함될 수 있으며, 그에 따라 전송을 위한 별도의 파라미터(parameter)가 필요로 하지 않으므로, 인터넷을 이용하여 컨텐츠를 전송하기에 불필요한 오버헤드가 감소될 수 있다.
한편, 상기한 바와 같은 전송 포맷을 이용하여 전송되는 PSI/SI 정보의 구성은 도 10을 참조하여 설명한 바와 같은 본 발명의 제2 실시예에 따른 파일 포맷 중 mdat(PSI/SI)의 구성과 동일할 수 있다.
그에 따라, 본 발명의 일실시예에 따른 전송 포맷으로 전송되는 PSI/SI 정보의 구성에 대하여 도 10을 참조하여 간략히 설명하기로 한다.
도 10을 다시 참조하면, 전송 포맷에 포함되는 PSI/SI 정보의 PSI/SI_info_id 필드는 해당 PSI/SI 정보의 종류를 식별하기 위한 id를 나타내며, version 필드는 해당 PSI/SI 정보가 변경되는 경우 필드 값이 업데이트될 수 있다.
예를 들어, IP 망을 이용하여 컨텐츠를 전송하는 도중에 프로그램을 구성하는 mdat의 개수가 증가 또는 감소되거나, 프로그램 전체의 구성이 변경되는 경우에 상기 version 필드 값이 업데이트될 수 있다.
다만, 상기 전송 포맷에서 상기 PSI/SI 정보의 변경을 실시간으로 시그널링하므로, 도 5 내지 도 8을 참조하여 설명한 바와 같은 본 발명의 제1 실시예에 따른 파일 포맷의 경우와 같이 start_time 필드 및 duration 필드를 이용하여 각 mdat의 사용 구간 정보를 별도로 나타낼 필요가 없다.
상기 전송 포맷에 포함되는 PSI/SI 정보의 number_of_programs 필드는 해당 전송 포맷으로 전송되는 프로그램의 개수를 나타내며, program_number 필드는 각 프로그램을 식별하기 위한 고유 번호를 나타낼 수 있다.
한편, number_of_mdat 필드는 해당 프로그램을 구성하는 mdat의 개수를 나타내며, mdat_id 필드는 해당 프로그램을 구성하는 mdat을 식별하기 위한 고유 id를 나타낼 수 있다.
또한, 상기 전송 포맷에 포함되는 PSI/SI 정보의 mdat_type 필드는 해당 프로그램을 구성하는 mdat의 타입을 나타내며, priority 필드는 해당 mdat의 우선 순위를 나타낼 수 있다.
그리고, supplement_length 필드는 해당 mdat에 대한 부가 정보가 존재하는 경우 상기 부가 정보의 길이를 지정하며, supplement_data 필드는 해당 mdat에 대한 부가 정보를 나타낼 수 있다.
상기한 바와 같이 전송 포맷에 포함되어 전송되는 PSI/SI 정보는 IP 패킷을 이용하여 현재 전송 중인 스트림(stream)에 대한 구성 정보를 포함할 수 있으며, 상기 PSI/SI 정보는 도 4 내지 도 10을 참조하여 설명한 바와 같은 파일 포맷(100)의 PSI/SI 정보와 호환이 가능한 구성을 가지므로 상호간의 변환이 용이할 수 있다.
본 발명의 일실시예에 따른 컨텐츠 송신 방법은, 파일 포맷으로 저장된 컨텐츠를 전송 포맷으로 변환하는 단계 및 상기 전송 포맷으로 변환된 컨텐츠를 IP 패킷을 이용하여 전송하는 단계를 포함할 수 있다.
또한, 본 발명의 일실시예에 따른 컨텐츠 수신 방법은, 전송 포맷으로 수신되는 컨텐츠를 파일 포맷으로 변환하는 단계 및 상기 파일 포맷으로 변환된 컨텐츠를 저장하는 단계를 포함할 수 있다.
한편, 상기 컨텐츠 송수신 방법에서, 상기 파일 포맷은 도 4 내지 도 10을 참조하여 설명한 구조를 가질 수 있으며, 상기 전송 포맷은 도 12를 참조하여 상기에서 설명한 바와 같은 구조를 가질 수 있다.
이하에서는, 도 12 내지 도 23을 참조하여, 본 발명의 실시예에 따른 파일 포맷과 전송 포맷 사이의 변환 방법과, 그를 이용한 송신 장치 및 수신 장치의 구성에 대한 실시예들에 대해 설명하기로 한다.
도 12 및 도 13은 파일 포맷을 전송 포맷으로 변환하는 방법에 대한 일실시예를 도시한 것으로, 도 5 내지 도 8을 참조하여 설명한 바와 같은 본 발명의 제1 실시예에 따른 파일 포맷으로 저장된 컨텐츠를 도 11을 참조하여 설명한 본 발명의 일실시예에 따른 전송 포맷으로 변환하는 방법을 나타낸 것이다.
도 12를 참조하면, 서비스 제공자의 서버에 상기한 바와 같은 파일 포맷(100)으로 컨텐츠가 저장되어 있는 경우, 서비스 제공자는 컨텐츠의 전송을 위해 상기 파일 포맷(100)으로 저장된 컨텐츠를 전송 포맷(200)으로 변환할 수 있다.
이 경우, 파일 포맷(100)의 moov 박스(110)에 포함된 trak(PSI/SI)(115)의 PSI/SI 정보는 PSI/SI 시그널링 정보(210)로 변환되어 일정 주기마다 전송될 수 있다.
한편, 상기 전송 포맷(200)에 포함되는 PSI/SI 시그널링 정보(210)의 구성은 도 10을 참조하여 상기에서 설명한 바와 같으므로, 이에 대한 상세한 설명은 생략한다.
상기 trak(PSI/SI)(115)에 저장된 PSI/SI 정보는, 도 6을 참조하여 설명한 바와 같은 start time/duration 필드의 구성 변경 정보에 따라, 버전이 업데이트되고 변경 내용이 반영되어 전송될 수 있다.
즉, 송신 장치(예를 들어, 서비스 제공자 서버)는 상기 start time/duration 필드 값들에 따라 PSI/SI 정보의 변경 여부를 판단하고, 상기 PSI/SI 정보의 변경 시 PSI/SI 시그널링 정보(210)에 상기 변경된 PSI/SI 정보를 반영하여 버전을 업데이트할 수 있다.
그에 따라, 수신 장치(예를 들어, IPTV 수신기)는, 어느 시점에 상기 서비스 제공자 서버에 접속하더라도, 현재 접속 시점에서 유효한 PSI/SI 정보를 수신할 수 있다.
한편, 파일 포맷(100)에 저장된 mdat(audio), mdat(video) 및 mdat(subtitle)은 각각 일정한 크기를 가지는 타임 윈도우(W)에 따라 컷팅되어, 오디오 패킷 스트림(221), 비디오 패킷 스트림(222) 및 자막 패킷 스트림(223)가 순차적으로 전송될 수 있다.
예를 들어, 상기 각각의 mdat은 인터넷을 이용하여 전송 가능한 패킷 스트림(packet stream)으로 전환되며, 상기 전환된 패킷 스트림은 도 11을 참조하여 설명한 바와 같은 mdat_id 필드에 의해 식별될 수 있다.
또한, 해당 IP 패킷이 PCR을 포함하는 경우, 예를 들어 도 11을 참조하여 설명한 바와 같은 전송 포맷(200)에서 clock_reference_indicator 필드 값이 '1'인 경우, 송신 장치의 클럭 참조 값(Clock Ref.)(231)이 전송 포맷(200)에 삽입되어 전송될 수 있다.
상기한 바와 같은 PSI/SI 시그널링 정보(210), 오디오 패킷 스트림(221), 비디오 패킷 스트림(222) 및 자막 패킷 스트림(223)는 각각 상기 서비스 제공자로부터 전송되는 IP 패킷의 페이로드에 포함될 수 있으며, 예를 들어 도 11을 참조하여 설명한 바와 같은 전송 포맷(200)의 payload_data_byte 필드에 바이트 단위로 포함되어 전송될 수 있다.
도 12를 참조하여 설명한 바와 같이, PSI/SI 정보의 호환성을 기초로 파일 포맷(100)의 trak(PSI/SI)을 패킷으로 변환하여 전송함으로써, 파일 포맷(100)으로 저장된 컨텐츠를 IP 패킷 단위의 전송 포맷(200)으로 용이하게 변환할 수 있다.
도 13은 파일 포맷을 전송 포맷으로 변환하는 방법에 대한 일실시예를 흐름도로 도시한 것이며, 도 14는 본 발명의 제1 실시예에 따른 컨텐츠 송신 장치의 구성을 블록도로 도시한 것이다. 이하, 도 13에 도시된 변환 방법을 도 14에 도시된 블록도와 결부시켜 상세히 설명하기로 한다.
먼저, 도 14에 도시된 송신 장치의 구성에 대해 간략하게 설명하면, 송신 장치(400)는 컨텐츠 DB(410), moov 디코더(420), trak(PSI/SI) 추출부(421), PSI/SI 생성부(422), mdat 로더(mdat loader, 430), 시스템 클럭(440), 클럭 레퍼런스 생성부(450), 스케쥴러(scheduler, 460), 전송 헤더 삽입부(Delivery header insertion unit, 470), 프로토콜 캡슐화부(Protocol encapsulation unit, 480) 및 인터넷 프론트앤드(Internet frontend, 490)을 포함할 수 있다.
한편, 본 발명의 일실시예에 따른 컨텐츠 송신 장치는, 파일 포맷으로 저장된 컨텐츠를 전송 포맷으로 변환하는 포맷변환부 및 상기 전송 포맷으로 변환된 컨텐츠를 IP 패킷을 이용하여 전송하는 패킷전송부를 포함할 수 있다.
이 경우, 본 발명의 일실시예에 따른 컨텐츠 송신 장치의 포맷변환부는 도 14에 도시된 moov 디코더(420), trak(PSI/SI) 추출부(421), PSI/SI 생성부(422), mdat 로더(430) 및 스케쥴러(460)를 포함하고, 상기 패킷 전송부는 전송 헤더 삽입부(470), 프로토콜 캡슐화부(480) 및 인터넷 프론트앤드(490)를 포함하여 구성될 수 있다.
도 13 및 도 14를 참조하면, 송신 장치(400)는 전송하고자 하는 컨텐츠의 저장된 파일 포맷(100) 중 moov 박스의 trak(PSI/SI)으로부터 PSI/SI 정보를 추출한다(S300 단계).
송신 장치(400)의 컨텐츠 DB(410)는 컨텐츠를 도 1 내지 도 10을 참조하여 설명한 바와 같은 파일 포맷(100)으로 저장 및 관리하며, moov 디코더(420)는 컨텐츠 DB(410)에 저장된 파일 포맷(100)으로부터 moov 박스(110)의 데이터를 추출할 수 있다.
한편, trak(PSI/SI) 추출부(421)는 상기 moov 디코더(420)로부터 출력되는 moov 데이터 중 프로그램 구성 정보를 포함하는 trak(PSI/SI) 데이터를 추출할 수 있다.
PSI/SI 생성부(422)는 상기 추출된 trak(PSI/SI) 데이터를 이용하여 스트리밍을 위한 전송 포맷(200)의 PSI/SI 정보를 생성하고, 시스템 클럭(440)으로부터 제공되는 클럭에 따라 일정 주기로 반복 전송되도록 상기 PSI/SI 생성된 정보를 스케쥴러(460)로 출력할 수 있다.
mdat 로더(430)는 mdat(audio), mdat(video) 및 mdat(subtitle)에 각각 포함된 실제 컨텐츠 데이터, 즉 오디오, 비디오 및 자막 데이터를 로딩(loading)하여 스케쥴러(460)로 전달할 수 있다.
그 후, 송신 장치(400)는 타임 윈도우를 셋업(set-up)하고(S310 단계), PSI/SI 정보의 전송 시점을 판단한다(S320 단계).
송신 장치(400)의 스케쥴러(460)는 시스템 클럭에 맞추어 상기 PSI/SI 생성부(422)로부터 입력되는 PSI/SI 정보와 상기 mdat 로더(430)로부터 입력되는 오디오, 비디오 및 자막 데이터를 순차적으로 스트리밍할 수 있다.
예를 들어, 상기 mdat 로더(430)로부터 입력되는 오디오, 비디오 및 자막 데이터들은 일정한 크기를 가지는 타임 윈도우(W)에 따라 컷팅되어 순차적으로 전송될 수 있으며, 상기 타임 윈도우(W)는 스케쥴러(460)에 의해 설정될 수 있다.
또한, 스케쥴러(460)는, 상기 PSI/SI 정보의 전송 주기에 기초하여, 현재 상기 PSI/SI 생성부(422)로부터 입력되는 PSI/SI 정보가 전송되어야 하는 시점인지 여부를 판단할 수 있다.
현재 PSI/SI 정보의 전송 시점인 경우, 송신 장치(400)는 전송하고자 하는 PSI/SI 정보가 변경되었는지 여부를 확인하여(S330 단계), 상기 PSI/SI 정보의 버전을 업데이트한다(S340 단계).
예를 들어, PSI/SI 생성부(422)는 PSI/SI 정보의 변경 시점에 맞추어 해당 변경 내용을 전송 포맷(200)에 포함될 PSI/SI 시그널링 정보(210)에 반영하고, 상기 PSI/SI 시그널링 정보(210)의 버전을 업데이트할 수 있다.
좀 더 구체적으로, PSI/SI 생성부(422)는 파일 포맷(100)의 PSI/SI 정보에 포함된 프로그램 구성 변경 정보(예를 들어, 도 6을 참조하여 설명한 바와 같은 start time/duration 필드 값들)에 따라 상기 PSI/SI 정보의 변경 여부를 판단하고, 상기 PSI/SI 정보의 변경 시 전송 포맷(200)에 포함될 PSI/SI 정보의 버전을 업테이트할 수 있다.
그 후, 송신 장치(400)는 상기 PSI/SI 정보를 전송 포맷으로 변환하고(S350 단계), 상기 전송 포맷으로 변환된 컨텐츠를 인터넷 등의 네트워크를 이용하여 전송한다(S370 단계).
한편, 현재 PSI/SI 정보의 전송 시점이 아닌 경우, 송신 장치(400)는 상기 셋업된 타임 윈도우에 따라 audio/video/subtitle mdat을 전송 포맷으로 변환한 후(S360 단계), 상기 전송 포맷으로 변환된 컨텐츠를 인터넷 등의 네트워크를 이용하여 전송한다(S370 단계).
예를 들어, 스케쥴러(460)는 mdat 로더(430)로부터 입력되는 오디오, 비디오 및 자막 데이터들을 상기 S310 단계에서 셋업된 타임 윈도우에 따라 컷팅한 후, 도 11 및 도 12를 참조하여 설명한 바와 같은 전송 포맷(200)에 포함시켜 순차적으로 출력할 수 있다.
전송 헤더 삽입부(470)는 헤더 정보를 생성하여 전송 포맷(200)에 삽입하며, 프로토콜 캡슐화부(480)는 전송 프로토콜에 따라 전송 포맷(200)을 캡슐화(encapsulation)하여 출력할 수 있다.
상기 전송 프로토콜은 인터넷을 통한 데이터 전송에 사용되는 UDP, TCP, RTP 또는 HTTP 등과 같은 다양한 프로토콜들이 이용될 수 있다.
인터넷 프론트앤드(490)는 상기 캡슐화된 전송 포맷(200)에 대해 인터넷 전송을 위한 물리적인 인코딩(Physical encoding)을 수행하여 해당 컨텐츠를 인터넷을 통해 전송할 수 있다.
한편, 시스템 클럭(440)은 송신 장치(400)에서 스트리밍을 수행하기 위한 기본 클럭을 제공하며, PSI/SI 생성부(422), 클럭 레퍼런스 생성부(450) 및 스케쥴러(460)는 상기 시스템 클럭에 맞추어 컨텐츠의 전송을 위한 동작들을 수행할 수 있다.
클럭 레퍼런스 생성부(450)는 시스템 클럭(440)으로부터 제공되는 클럭을 이용하여 수신 장치와의 동기화를 위한 클럭 참조 값(Clock Ref.)을 생성할 수 있다.
상기 생성된 클럭 참조 값(Clock Ref.)은 도 12를 참조하여 설명한 바와 같이 전송 포맷(200)에 선택적으로 삽입될 수 있다.
한편, 송신 장치(400)는 컨텐츠를 구성하는 mdat들이 모두 전송될 때까지 도 12에 도시된 S300 내지 S370 단계들을 반복하여 해당 컨텐츠를 전송할 수 있다.
도 15 및 도 16은 파일 포맷을 전송 포맷으로 변환하는 방법에 대한 또 다른 실시예를 도시한 것으로, 도 9 및 도 10을 참조하여 설명한 바와 같은 본 발명의 제2 실시예에 따른 파일 포맷으로 저장된 컨텐츠를 도 11을 참조하여 설명한 본 발명의 일실시예에 따른 전송 포맷으로 변환하는 방법을 나타낸 것이다. 한편, 상기 변환 방법에 대한 또 다른 실시예 중 도 12 및 도 13을 참조하여 설명한 것과 동일한 것에 대한 상세한 설명은 이하 생략하기로 한다.
도 15를 참조하면, 서비스 제공자의 서버에 도 9에 도시된 바와 같은 파일 포맷(100)으로 컨텐츠가 저장되어 있는 경우, mdat(PSI/SI)(125)의 PSI/SI 정보는 PSI/SI 시그널링 정보(210)로 변환되어 일정 주기마다 전송될 수 있다.
여기서, 상기 PSI/SI 정보의 변경 내용은 이미 mdat(PSI/SI)(125)에 모두 반영되어 있으므로, 파일 포맷(100)의 mdat(PSI/SI)에 포함된 정보는 그대로 전송 포맷(200)의 PSI/SI 시그널링 정보(210)로 변환되어 전송될 수 있다.
한편, 파일 포맷(100)에 저장된 mdat(PSI/SI), mdat(audio), mdat(video) 및 mdat(subtitle)은 각각 일정한 크기를 가지는 타임 윈도우(W)에 따라 컷팅되어, PSI/SI 시그널링 정보(210), 오디오 패킷 스트림(221), 비디오 패킷 스트림(222) 및 자막 패킷 스트림(223)가 순차적으로 전송될 수 있다.
또한, 송신 장치의 클럭 참조 값(Clock Ref.)(231)은 전송 포맷(200)에 선택적으로 삽입되어 전송될 수 있다.
도 16은 파일 포맷을 전송 포맷으로 변환하는 방법에 대한 일실시예를 흐름도로 도시한 것이며, 도 17은 본 발명의 제2 실시예에 따른 컨텐츠 송신 장치의 구성을 블록도로 도시한 것이다. 이하, 도 16에 도시된 변환 방법을 도 17에 도시된 블록도와 결부시켜 상세히 설명하기로 한다. 한편, 도 17에 도시된 송신 장치(400)의 구성 중 도 14를 참조하여 설명한 것과 동일한 것에 대한 설명은 이하 생략하기로 한다.
한편, 본 발명의 또 다른 실시예에 따른 컨텐츠 송신 장치의 포맷변환부는 도 17에 도시된 moov 디코더(420), mdat 로더(PSI/SI)(425), mdat 로더(A/V/Sub.)(430) 및 스케쥴러(460)를 포함하고, 패킷 전송부는 전송 헤더 삽입부(470), 프로토콜 캡슐화부(480) 및 인터넷 프론트앤드(490)를 포함하여 구성될 수 있다.
도 16 및 도 17을 참조하면, 송신 장치(400)는 타임 윈도우를 셋업(set-up)하고(S500 단계), 상기 셋업된 타임 윈도우에 따라 PSI/SI 또는 audio/video/subtitle mdat을 전송 포맷으로 변환한다(S510 단계).
예를 들어, 송신 장치(400)에 구비된 mdat 로더(PSI/SI)(425)는 파일 포맷(100) 중 mdat(PSI/SI)에 포함된 PSI/SI 정보를 로딩하여 스케쥴러(460)에 전달하고, mdat 로더(A/V/Sub.)(430)는 mdat(audio), mdat(video) 및 mdat(subtitle)에 각각 포함된 실제 컨텐츠 데이터를 로딩하여 스케쥴러(460)로 전달할 수 있다.
스케쥴러(460)는 mdat 로더(PSI/SI)(425)로부터 입력되는 PSI/SI 정보 또는 mdat 로더(A/V/Sub.)(430)로부터 입력되는 오디오, 비디오 및 자막 데이터들을 상기 셋업된 타임 윈도우에 따라 컷팅한 후, 상기 컷팅된 각각의 데이터를 전송 포맷(200)에 포함시켜 순차적으로 출력할 수 있다.
한편, 도 15에 도시된 바와 같은 파일 포맷(100)의 경우 mdat(PSI/SI)에 포함된 PSI/SI 정보가 그대로 전송 포맷(200)의 PSI/SI 시그널링 정보(210)로 변환되어 전송되므로, 본 발명의 제2 실시예에 따른 송신 장치(400)는 도 14에 도시된 바와 같은 moov 디코더(420), trak(PSI/SI) 추출부(421) 및 PSI/SI 생성부(422)를 포함하지 않을 수 있다.
그 후, 송신 장치(400)는 상기 전송 포맷으로 변환된 컨텐츠를 인터넷 등의 네트워크를 이용하여 전송한다(S520 단계).
한편, 송신 장치(400)는 컨텐츠를 구성하는 mdat들이 모두 전송될 때까지 도 16에 도시된 S500 내지 S520 단계들을 반복하여 해당 컨텐츠를 전송할 수 있다.
도 18 및 도 19는 전송 포맷을 파일 포맷으로 변환하는 방법에 대한 일실시예를 도시한 것으로, 도 11을 참조하여 설명한 바와 같은 본 발명의 일실시예에 따른 전송 포맷으로 수신된 컨텐츠를 도 5 내지 도 8을 참조하여 설명한 바와 같은 본 발명의 제1 실시예에 따른 파일 포맷으로 변환하는 방법을 나타낸 것이다.
도 18을 참조하면, 상기한 바와 같은 전송 포맷(200)으로 컨텐츠가 수신되는 경우, 수신 장치는 상기 컨텐츠의 저장을 위해 상기 전송 포맷(200)으로 수신되는 컨텐츠를 파일 포맷(100)으로 변환할 수 있다.
이 경우, 전송 포맷(200)에 포함되어 일정 주기마다 전송되는 PSI/SI 시그널링 정보(210)는 도 5 내지 도 8을 참조하여 설명한 바와 같은 파일 포맷(100)의 trak(PSI/SI)로 변환되어 저장될 수 있다.
한편, 전송 포맷(200)으로 수신되는 컨텐츠를 파일 포맷(100)으로 변환하는 동안, 상기 수신 장치는 PSI/SI 시그널링 정보(210)의 버전을 지속적으로 모니터링(monitoring)하여 버전이 업데이트되었는지 여부를 확인할 수 있다.
PSI/SI 시그널링 정보(210)의 버전이 업데이트된 경우, 상기 수신 장치는 이전 버전의 PSI/SI 시그널링 정보(210)와 상기 업데이트된 버전의 PSI/SI 시그널링 정보(210)를 비교하여 둘 사이의 변경된 내용을 파악한 후, 상기 이전 버전의 PSI/SI 시그널링 정보(210)을 이용하여 구성된 trak(PSI/SI)에 상기 변경 내용 및 상기 변경 시간에 대한 정보를 반영한 후 저장할 수 있다.
또한, 전송 포맷(200)에 포함되어 순차적으로 수신되는 오디오 패킷 스트림(221), 비디오 패킷 스트림(222) 및 자막 패킷 스트림(223)는 mdat(audio)(121), mdat(video)(122) 및 mdat(subtitle)(123)으로 각각 변환되어 저장될 수 있다.
예를 들어, 상기 각각의 패킷 스트림들은 시간 정보에 따라 일정 시간동안 버퍼링(buffering)되어 해당 mdat으로 변환되며, 상기 패킷 스트림들은 도 11을 참조하여 설명한 바와 같은 mdat_id 필드에 의해 식별될 수 있다.
상기와 같이 PSI/SI 시그널링 정보(210)의 버전 업데이트시 PSI/SI 정보의 변경 내용 및 변경 시점을 파일 포맷(100)의 trak(PSI/SI)에 반영함으로써, 파일 포맷(100)에 포함된 mdat들이 사용되는 구간에 대한 정보를 프로그램 구성 정보에 포함시킬 수 있다.
한편, 상기한 바와 같은 시간 정보(예를 들어, 상기 패킷 스트림들을 버퍼링하여 mdat들로 변환하기 위한 시간 정보 또는 상기 PSI/SI 정보의 변경 시점을 반영하기 위한 시간 정보)는 수신 장치의 클럭(Clock)에 의해 관리되며, 상기 수신 장치의 클럭은 전송 포맷(200)에 포함되는 클럭 참조 값(Clock Ref.)(231)에 의해 송신 장치와 동기화될 수 있다.
도 18을 참조하여 설명한 바와 같이, PSI/SI 정보의 호환성을 기초로 전송 포맷(200)의 PSI/SI 시그널링 정보를 trak(PSI/SI)으로 변환하여 저장함으로써, 전송 포맷(200)으로 수신되는 컨텐츠를 파일 포맷(100)으로 용이하게 변환할 수 있다.
도 19는 전송 포맷을 파일 포맷으로 변환하는 방법에 대한 일실시예를 흐름도로 도시한 것이며, 도 20는 본 발명의 제1 실시예에 따른 컨텐츠 수신 장치의 구성을 블록도로 도시한 것이다. 이하, 도 19에 도시된 변환 방법을 도 20에 도시된 블록도와 결부시켜 상세히 설명하기로 한다.
먼저, 도 20에 도시된 수신 장치의 구성에 대해 간략하게 설명하면, 수신 장치(700)는 전송 포맷 디코더(Delivery format decoder, 710), PSI/SI 추출부(720), Version/diff. 모니터링부(721), trak(PSI/SI) 생성부(722), mdat 버퍼(730), PCR 추출부(740), 시스템 클럭(750), moov 생성부(760), 파일 포맷 구성부(File format writer, 770) 및 컨텐츠 DB(780)를 포함할 수 있다.
한편, 본 발명의 일실시예에 따른 컨텐츠 수신 장치는, 전송 포맷으로 수신되는 컨텐츠를 파일 포맷으로 변환하는 포맷변환부 및 상기 파일 포맷으로 변환된 컨텐츠를 저장하는 컨텐츠저장부를 포함할 수 있다.
이 경우, 본 발명의 일실시예에 따른 컨텐츠 수신 장치의 포맷변환부는 도 20에 도시된 전송 포맷 디코더(710), PSI/SI 추출부(720), Version/diff. 모니터링부(721), trak(PSI/SI) 생성부(722), mdat 버퍼(730), moov 생성부(760) 및 파일 포맷 구성부(770)를 포함하여 구성될 수 있다.
도 19 및 도 20을 참조하면, 수신 장치(700)는 수신되는 컨텐츠의 전송 포맷(200)으로부터 PSI/SI 시그널링 정보를 추출하고(S600 단계), 상기 추출된 PSI/SI 시그널링 정보를 trak(PSI/SI)로 변환하여 저장한다(S610 단계).
수신 장치(700)의 전송 포맷 디코더(710)는 인터넷을 통해 수신되는 전송 포맷(200)을 복호화 및 필터링하여 PSI/SI 시그널링 정보(210), 오디오 패킷 스트림(221), 비디오 패킷 스트림(222), 자막 패킷 스트림(223) 및 클럭 참조 값(231)으로 분리해 출력할 수 있다.
예를 들어, 전송 포맷 디코더(710)는 전송 포맷(200)에 포함된 mdat_id를 이용하여 해당 패킷에 포함된 데이터가 오디오 패킷 스트림(221), 비디오 패킷 스트림(222) 및 자막 패킷 스트림(223) 중 어떤 것인지 식별할 수 있다.
PSI/SI 추출부(720)는 상기 PSI/SI 시그널링 정보(210)로부터 해당 컨텐츠에 대한 구성 정보를 나타내는 PSI/SI 정보를 추출하며, trak(PSI/SI) 생성부(722)는 상기 추출된 PSI/SI 정보를 도 5 내지 도 8을 참조하여 설명한 바와 같은 파일 포맷(100)의 trak(PSI/SI)로 변환하여 컨텐츠 DB(780)에 저장시킬 수 있다.
한편, 수신 장치(700)는 타임 윈도우를 셋업하고, 송신 장치(400)와 클럭을 동기화시킨다(S620 단계).
예를 들어, 상기 수신되는 전송 포맷(200)에 PCR이 포함되어 있는 경우, PCR 추출부(740)는 전송 포맷(200)으로부터 송신 장치(400)의 클럭 참조 값(231)를 추출하여 시스템 클럭(750)으로 전달할 수 있다.
시스템 클럭(750)은 상기 추출된 클럭 참조 값(231)을 이용하여 송신 장치(400)와 동기화된 클럭을 trak(PSI/SI) 생성부(722) 및 mdat 버퍼(730)로 제공하여, 송신 장치(400)로부터 수신되는 컨텐츠의 재생 타임(playback time)을 관리할 수 있다.
그 후, 수신 장치(700)는 전송 포맷(200)에 포함되어 수신되는 PSI/SI 시그널링 정보(210)의 버전이 변경되었는지 여부를 확인한다(S630 단계).
만약, PSI/SI 시그널링 정보(210)의 버전이 변경된 경우, 수신 장치(700)는 PSI/SI 시그널링 정보(210) 중 변경된 필드를 파악하고, 클럭으로부터 시간 정보를 획득한다(S640 단계).
예를 들어, Version/diff. 모니터링부(721)는 상기 PSI/SI 추출부(720)로부터 입력되는 PSI/SI 정보의 버전을 모니터링하여, 버전 변경시 상기 입력되는 PSI/SI 정보와 이전 버전의 PSI/SI 정보 사이의 차이를 파악하여 상기 PSI/SI 정보 중 변경된 내용을 추출할 수 있다.
이 경우, trak(PSI/SI) 생성부(722)는 상기 Version/diff. 모니터링부(721)에서 추출된 변경 내용을 상기 S610 단계에서 저장된 trak(PSI/SI)에 반영하여 업데이트할 수 있다.
또한, trak(PSI/SI) 생성부(722)는 상기 버전이 변경된 시간에 대한 정보를 상기 trak(PSI/SI)에 기록할 수 있다.
예를 들어, 상기 PSI/SI 정보의 버전이 변경되면, trak(PSI/SI) 생성부(722)는 시스템 클럭(750)으로부터 제공되는 클럭을 이용하여 상기 변경 시점을 나타내는 시간 정보를 획득하며, 상기 획득된 시간 정보를 이용하여 trak(PSI/SI)의 프로그램 구성 변경 정보(예를 들어, 도 6을 참조하여 설명한 바와 같은 start time/duration 필드 값들)를 업데이트할 수 있다.
좀 더 구체적인 예로서, 상기 PSI/SI 정보의 버전이 180msec 시점(이는 상기 시스템 클럭에 따라 송신 장치(400)와 동기화된 시간 정보임)에서 변경되고, 오디오 타입의 메인 mdat이 'id1'의 mdat에서 'id2'의 mdat으로 변경되었다는 변경 내용이 Version/diff. 모니터링부(721)에 의해 판단되는 경우, trak(PSI/SI) 생성부(722)는 상기 S610 단계에서 저장된 trak(PSI/SI)에서 상기 'id1'의 mdat에 대한 duration 필드 값 및 상기 'id2'의 mdat에 대한 start_time 필드 값을 각각 '180'으로 설정할 수 있다.
moov 생성부(760)는 상기 trak(PSI/SI) 생성부로부터 입력되는 trak(PSI/SI)를 포함하도록 파일 포맷(100)의 moov 데이터를 구성하여 파일 포맷 구성부(770)로 출력할 수 있다.
그리고, 수신 장치(700)는 상기 셋업된 타임 윈도우에 따라 audio/video/subtitle 패킷 스트림를 파일 포맷의 mdat으로 변환하여 저장한다(S660 단계).
예를 들어, mdat 버퍼(730)는 전송 포맷(200)으로부터 분리되어 순차적으로 입력되는 오디오 패킷 스트림(221), 비디오 패킷 스트림(222) 및 자막 패킷 스트림(223)를 각각 일정 시간동안 버퍼링하여 파일 포맷 구성부(770)로 전달할 수 있다.
그를 위해, mdat 버퍼(730)는 상기 오디오/비디오/자막 패킷 스트림들(221, 222, 223) 각각에 대응되도록 수신 장치(700)에 복수개 구비될 수 있다.
좀 더 구체적으로, mdat 버퍼(730)는, 시스템 클럭(750)으로부터 제공되는 클럭과 상기 S620 단계에서 셋업된 타임 윈도우를 이용하여, 상기 패킷 스트림들(221, 222, 223) 각각에 대해 상기 mdat의 구성에 필요한 시간동안 버퍼링을 수행할 수 있다.
한편, 파일 포맷 구성부(770)는 상기 mdat 버퍼(730)로부터 입력되는 버퍼링된 데이터를 이용하여 mdat을 구성하고, moov 생성부(760)로부터 입력되는 moov 데이터와 상기 구성된 mdat을 포함하도록 파일 포맷(100)을 생성하여 컨텐트 DB(410)에 저장시킬 수 있다.
한편, 수신 장치(700)는 컨텐츠를 구성하는 모든 데이터들이 컨텐트 DB(780)에 저장될 때까지 도 19에 도시된 S600 내지 S660 단계들을 반복하여 해당 컨텐츠를 파일 포맷(100)으로 저장시킬 수 있다.
도 21 및 도 22는 전송 포맷을 파일 포맷으로 변환하는 방법에 대한 또 다른 실시예를 도시한 것으로, 도 11을 참조하여 설명한 바와 같은 본 발명의 일실시예에 따른 전송 포맷으로 수신된 컨텐츠를 도 9 및 도 10을 참조하여 설명한 바와 같은 본 발명의 제2 실시예에 따른 파일 포맷으로 변환하는 방법을 나타낸 것이다.
도 21을 참조하면, 수신 장치는 전송 포맷(200)에 포함되어 순차적으로 수신되는 PSI/SI 시그널링 정보(210), 오디오 패킷 스트림(221), 비디오 패킷 스트림(222) 및 자막 패킷 스트림(223)를 mdat(PSI/SI)(125), mdat(audio)(121), mdat(video)(122) 및 mdat(subtitle)(123)으로 각각 변환하여 저장할 수 있다.
예를 들어, 상기 패킷 스트림들(210, 221, 222, 223)은 각각 일정 시간동안 버퍼링되어 해당 mdat으로 변환되며, 상기 패킷 스트림들은 도 11을 참조하여 설명한 바와 같은 mdat_id 필드에 의해 식별될 수 있다.
이 경우, 파일 포맷(100)의 mdat(PSI/SI)(125)는 변경 내용이 모두 반영된 PSI/SI 정보를 포함하기 때문에, 수신 장치는 순차적으로 수신되는 PSI/SI 시그널링 정보(210)를 일정 시간동안 그대로 버퍼링함으로써 상기 mdat(PSI/SI)(125)를 구성할 수 있다.
즉, 상기 본 발명의 또 다른 실시예에 따른 변환 방법은 도 18 내지 도 20을 참조하여 설명한 바와 같은 버전 모니터링 및 변경 내용 추출 프로세스를 포함하지 않을 수 있다.
한편, 상기 패킷 스트림들을 버퍼링하여 mdat들로 변환하기 위해 사용되는 시간 정보는 상기 수신 장치의 클럭(Clock)에 의해 관리되며, 상기 수신 장치의 클럭은 전송 포맷(200)에 포함되는 클럭 참조 값(Clock Ref.)(231)에 의해 송신 장치와 동기화될 수 있다.
도 22는 전송 포맷을 파일 포맷으로 변환하는 방법에 대한 또 다른 실시예를 흐름도로 도시한 것이며, 도 23은 본 발명의 제2 실시예에 따른 컨텐츠 수신 장치의 구성을 블록도로 도시한 것이다. 이하, 도 22에 도시된 변환 방법을 도 23에 도시된 블록도와 결부시켜 상세히 설명하기로 한다. 한편, 도 23에 도시된 수신 장치(700)의 구성 중 도 20을 참조하여 설명한 것과 동일한 것에 대한 설명은 이하 생략하기로 한다.
한편, 본 발명의 또 다른 실시예에 따른 컨텐츠 수신 장치의 포맷변환부는 도 23에 도시된 전송 포맷 디코더(710), mdat 버퍼(PSI/SI)(725), mdat 버퍼(A/V/Sub.)(730) 및 파일 포맷 구성부(770)를 포함하여 구성될 수 있다.
도 22 및 도 23을 참조하면, 수신 장치(700)는 수신되는 컨텐츠의 전송 포맷(200)으로부터 PSI/SI 시그널링 정보를 추출한다(S800 단계).
예를 들어, 수신 장치(700)에 구비된 mdat 버퍼(PSI/SI)(725)는 전송 포맷(200)으로부터 분리되어 순차적으로 입력되는 PSI/SI 시그널링 정보(210)를 일정 시간동안 버퍼링하여 파일 포맷 구성부(770)로 전달할 수 있다.
한편, 도 21에 도시된 바와 같은 파일 포맷(100)의 경우 PSI/SI 시그널링 정보(210)가 그대로 일정 시간동안 버퍼링되어 mdat(PSI/SI)을 구성하므로, 본 발명의 제2 실시예에 따른 수신 장치(700)는 도 20에 도시된 바와 같은 version/diff. 모니터링부(721)를 포함하지 않을 수 있다.
수신 장치(700)는 타임 윈도우를 셋업하고, 송신 장치(400)와 클럭을 동기화시킨다(S810 단계).
예를 들어, 시스템 클럭(750)은 전송 포맷(200)으로부터 추출된 클럭 참조 값(231)을 이용하여 송신 장치(400)와 동기화된 클럭을 mdat 버퍼(PSI/SI)(725) 및 mdat 버퍼(A/V/Sub.)(730)로 제공하여, 송신 장치(400)로부터 수신되는 컨텐츠의 재생 타임(playback time)을 관리할 수 있다.
그 후, 수신 장치(700)는 상기 셋업된 타임 윈도우에 따라 PSI/SI 또는 audio/video/subtitle 패킷 스트림를 파일 포맷의 mdat으로 변환하여 저장한다(S820 단계).
예를 들어, mdat 버퍼(A/V/Sub.)(730)는 전송 포맷(200)으로부터 분리되어 순차적으로 입력되는 오디오 패킷 스트림(221), 비디오 패킷 스트림(222) 및 자막 패킷 스트림(223)를 각각 일정 시간동안 버퍼링하여 파일 포맷 구성부(770)로 전달할 수 있다.
파일 포맷 구성부(770)는 상기 mdat 버퍼(PSI/SI)(725)로부터 입력되는 버퍼링된 데이터를 이용하여 mdat(PSI/SI)(125)를 구성하고, 상기 mdat 버퍼(A/V/Sub.)(730)로부터 입력되는 버퍼링된 데이터를 이용하여 mdat(audio)(121), mdat(video)(122) 및 mdat(subtitle)(123)을 구성하여 파일 포맷(100)을 생성할 수 있다.
한편, 수신 장치(700)는 컨텐츠를 구성하는 모든 데이터들이 컨텐트 DB(780)에 저장될 때까지 도 22에 도시된 S800 내지 S820 단계들을 반복하여 해당 컨텐츠를 파일 포맷(100)으로 저장시킬 수 있다.
도 1 내지 도 23을 참조하여 설명한 바와 같은 인터넷 기반의 컨텐츠 수신 및 처리 방법은 본 발명의 실시예에 따른 IPTV 수신기에 의해 수행될 수 있다.
그를 위해, 상기 IPTV 수신기는 송신 측(예를 들어, 방송국 등의 서비스 제공자)로부터 전송 포맷으로 제공되는 컨텐츠를 수신할 수 있으며, 상기 컨텐츠의 전송 포맷은 도 11을 참조하여 설명한 바와 같은 구성을 가질 수 있다.
또한, 상기 IPTV 수신기는 상기 전송 포맷의 컨텐츠를 파일 포맷으로 변환한 후 내부의 저장 매체에 저장할 수 있으며, 상기 컨텐츠의 파일 포맷은 도 4 내지 도 10을 참조하여 설명한 바와 같은 구성을 가질 수 있다.
한편, 상기 IPTV 수신기는, 도 18 내지 도 23을 참조하여 설명한 바와 같은 변환 방법을 이용하여, 상기 전송 포맷의 컨텐츠를 파일 포맷으로 변환할 수 있다.
이하, 도 24 및 도 25를 참조하여 본 발명의 실시예에 따른 IPTV 수신기의 구성에 대해 보다 상세히 설명하기로 한다.
도 24는 본 발명의 일실시예에 의한 IPTV 수신기 구성을 블록도로 도시한 것이다.
본 발명의 일실시예에 따른 IPTV 수신기는, 지상파 방송, 케이블 방송, 위성 방송 등을 수신할 수 있도록 별도의 튜너 등을 구비할 수도 있다. 그러나, 본 발명에서는 설명의 편의를 위해 IP 네트워크를 이용하여 제공되는 IPTV 서비스를 수신하는 구성을 중심으로 설명하기로 한다.
한편, ITF는 Open IPTV Terminal Function을 나타내는 것으로, IPTV 서비스를 지원하는데 필요한 기능 모듈로 구성된 수신기를 의미할 수 있다.
IPTV 수신기는 네트워크 인터페이스부(Network Interface)(901), TCP/IP 매니저(TCP/IP Manager)(902), 서비스 전달 매니저(Service Delivery Manager)(904), PVR 매니저(PVR Manager)(905), 디멀티플렉서(Demux)(908), 데이터 디코더(Data Decoder)(907), 오디오/비디오 디코더(Audio/Video Decoder)(912), 디스플레이부(A/V Display & OSD Module)(915), 애플리케이션 매니저(Application Manager)(913, 914), 서비스 정보 데이터베이스부(SI & Metadata DB)(911), 서비스 디스커버리 매니저(Service Discovery Manager)(909), 서비스 제어 매니저(Service Control Manager)(903), 메타데이터 매니저(Metadata Manager)(910) 및 컨텐츠 데이터베이스부(Content DB)(906)를 포함할 수 있다.
도 24를 참조하면, 네트워크 인터페이스부(901)는 네트워크 망으로부터 수신되는 패킷(packet)들을 수신하고, 네트워크 망으로 패킷을 전송한다. 즉 네트워크 인터페이스부(901)는 네트워크 망을 통해 서비스 프로바이더로부터 서비스, 컨텐츠 등을 수신한다.
TCP/IP 매니저(902)는, IPTV 수신기로 수신되는 패킷과 IPTV 수신기에서 전송하는 패킷에 대하여, 소스로부터 목적지까지의 패킷 전달에 관여한다. 또한, TCP/IP 매니저(902)는 수신된 패킷을 적절한 프로토콜에 대응되도록 분류하고, 서비스 전달 매니저(904), 서비스 디스커버리 매니저(909), 서비스 제어 매니저(903) 및 메타데이터 매니저(910)로 분류된 패킷을 출력한다.
서비스 전달 매니저(904)는 수신되는 서비스 데이터의 제어를 담당한다. 예를 들어, 실시간 스트리밍(realtime streaming) 데이터를 제어하는 경우 RTP/RTCP를 사용할 수 있다.
상기 실시간 스트리밍 데이터를 RTP를 사용하여 전송하는 경우, 서비스 전달 매니저(904)는 상기 수신된 데이터 패킷을 RTP에 따라 파싱(parsing)하여 디멀티플렉서(908)에 전송하거나 서비스 매니저(914)의 제어에 따라 컨텐츠 데이터베이스부(906)에 저장한다. 또한, 서비스 전달 매니저(904)는 RTCP를 이용하여 상기 네트워크 수신 정보를 서비스를 제공하는 서버측에 피드백(feedback)한다.
디멀티플렉서(908)는 수신된 패킷을 오디오, 비디오, PSI(Program Specific Information) 데이터 등으로 역다중화하여 각각 오디오/비디오 디코더(912), 데이터 디코더(907)에 전송한다.
데이터 디코더(907)는 예를 들어, PSI(Program Specific Information) 등의 서비스 정보를 디코딩한다. 즉, 데이터 디코더(907)는 상기 디멀티플렉서(908)에서 역다중화된 PSI 섹션, PSIP(Program and Service Information Protocol) 섹션 또는 DVB-SI(Service Information) 섹션 등을 수신하여 디코딩한다.
또한, 데이터 디코더(907)는 상기 수신된 섹션들을 디코딩하여 서비스 정보에 관한 데이터베이스를 만들고, 상기 서비스 정보에 관한 데이터베이스는 서비스 정보 데이터베이스부(911)에 저장한다.
오디오/비디오 디코더(912)는 상기 디멀티플렉서(908)에서 수신된 비디오 데이터와 오디오 데이터를 디코딩한다. 상기 오디오/비디오 디코더(912)에서 디코딩된 오디오 데이터 및 비디오 데이터는 디스플레이부(915)를 통하여 사용자에게 제공된다.
애플리케이션 매니저는 IPTV 수신기의 전반적인 상태를 관리하고 유저 인터페이스를 제공하며, 다른 매니저를 관리한다. 이를 위해 애플리케이션 매니저는 유저 인터페이스 매니저(User Interface Manager)(913) 및 서비스 매니저(914)를 포함한다.
유저 인터페이스 매니저(913)는 사용자를 위한 GUI(Graphic User Interface)를 OSD(On Screen Display) 등을 이용하여 제공하며, 사용자로부터 키 입력을 받아 상기 입력에 따른 수신기 동작을 수행한다. 예를 들어, 사용자로부터 채널선택에 관한 키 입력을 받으면 상기 키 입력신호를 서비스 매니저(914)에 전송한다.
서비스 매니저(914)는 서비스 전달 매니저(904), 서비스 디스커버리 매니저(909), 서비스 제어 매니저(903) 및 메타데이터 매니저(910) 등 서비스와 연관된 매니저를 제어한다.
또한, 서비스 매니저(914)는 채널 맵(Channel Map)을 만들고 상기 유저 인터페이스 매니저(913)로부터 수신한 키 입력에 따라 상기 채널 맵을 이용하여 채널을 선택하다. 그리고 상기 서비스 매니저(914)는 데이터 디코더(907)로부터 채널의 서비스 정보를 전송받아 선택된 채널의 오디오/비디오 PID(Packet Identifier)를 디멀티플렉서(908)에 설정한다.
서비스 디스커버리 매니저(909)는 서비스를 제공하는 서비스 프로바이더를 선택하는데 필요한 정보를 제공한다. 상기 서비스 매니저(914)로부터 채널선택에 관한 신호를 수신하면, 서비스 디스커버리 매니저(909)는 상기 정보를 이용하여 서비스를 찾는다.
서비스 제어 매니저(903)는 서비스의 선택과 제어를 담당한다. 예를 들어, 서비스 제어 매니저(903)는 사용자가 기존의 방송방식과 같은 Live Broadcasting 서비스를 선택하는 경우 IGMP 또는 RTSP 등을 사용하고, VOD(Video On Demand)와 같은 서비스를 선택하는 경우에는 RTSP를 사용하여 서비스의 선택, 제어를 수행할 수 있다.
상기 RTSP 프로토콜은 실시간 스트리밍에 대해 트릭 모드(trick mode)를 제공할 수 있다. 또한, 서비스 제어 매니저(903)는 IMS(IP Multimedia Subsystem), SIP(Session Initiation Protocol)를 이용하여 IMC 게이트웨이를 통하 세션을 초기화하고 관리할 수 있다. 상기 프로토콜들은 일 실시예이며, 구현 예에 따라 다른 프로토콜을 사용할 수도 있다.
메타데이터 매니저(910)는 서비스와 연관된 메타데이터를 관리하고 상기 메타데이터를 서비스 정보 데이터베이스부(911)에 저장한다.
서비스 정보 데이터베이스부(911)는 데이터 디코더(907)가 디코딩한 서비스 정보, 메타데이터 매니저(910)가 관리하는 메타데이터 및 서비스 디스커버리 매니저(909)가 제공하는 서비스 프로바이더를 선택하는데 필요한 정보를 저장한다. 또한, 서비스 정보 데이터베이스부(911)는 시스템에 대한 셋업 데이터 등을 저장할 수 있다.
서비스 정보 데이터베이스부(911) 및 컨텐츠 데이터베이스부(906)는 각각 비휘발성 메모리(NonVolatile RAM : NVRAM) 또는 플래쉬 메모리 등을 사용하여 구현될 수 있으며, 동일한 저장영역 상에 논리적으로 분리된 두 개의 영역으로 구현될 수 있다.
PVR 매니저(905)는 라이브 스트리밍 컨텐츠를 레코딩 하고 재생하기 위한 모듈로서, 녹화된 컨텐츠에 관한 메타데이터를 수집하고, thumbnail image나 index와 같은 사용자에게 제공되는 부가 정보를 생성할 수 있다.
본 발명의 실시예에 따른 IPTV 수신기의 제어부의 기능은 도 24에 도시된 TCP/IP 매니저(902), 서비스 전달 매니저(904), PVR 매니저(905), 애플리케이션 매니저(913, 914), 서비스 디스커버리 매니저(909), 서비스 제어 매니저(903) 및 메타데이터 매니저(910)와 같이 복수의 모듈들로 분할되어 구현될 수 있다.
예를 들어, TCP/IP 매니저(902)는 상기한 바와 같은 타켓 패키지 정보를 이용해 SD&S 정보를 필터링하여, 네트워크 인터페이스부(901)가 특정 패키지(예를 들어, IPTV 수신기가 가입된 패키지)에 해당하는 페이로드 또는 세그먼트만을 서버로 요청하여 수신하도록 제어할 수 있다.
또는, TCP/IP 매니저(902)는 멀티캐스트 방식으로 수신되는 SD&S 정보를 상기 타켓 패키지 정보를 이용해 필터링하여, 특정 패키지에 해당하는 페이로드 또는 세그먼트만이 데이터 디코더(907)에 의해 파싱되어 처리되도록 할 수 있다.
도 25는 본 발명에 따른 IPTV 수신기의 구성에 대한 또 다른 실시예를 블록도로 도시한 것으로, IPTV 수신기의 구성을 기능적인 블록들로 나타낸 것이다. 도 25에 도시된 실선 화살표는 data path에 대응하며, 점선 화살표는 control signal path에 대응한다.
Cable modem, DSL modem, etc(1001)는 physical level에서 ITF가 IP Network와 연결될 수 있도록하는 Interface로서, physical medium을 통해 전송된 신호를 Demodulate하여 Digital 신호를 복원한다.
Ethernet NIC(1002)는 상기 physical interface를 통해 수신한 신호를 IP 데이터로 복원하며, IP Network Stack(1007)은 IP Protocol stack에 따라 각 layer를 처리한다.
한편, XML Parser(1009)는 수신되는 IP 데이터 중 XML Document를 파싱하며, File Handler(1008)는 수신되는 IP 데이터 중 FLUTE 등을 통해 File 형태로 전송되는 데이터를 처리한다.
SI Handler(1011)은 수신되는 File 형태의 데이터 중 IPTV 서비스 정보에 해당하는 부분을 처리하여 Storage(1012)에 저장하며, EPG Handler(1010)는 수신되는 File 형태의 데이터 중 IPTV EPG 정보에 해당하는 부분을 처리하여 Storage(1012)에 저장할 수 있다.
Storage(1012)는 상기 SI 및 EPG 등의 다양한 데이터를 저장한다.
SI Decoder(1013)는 Storage(1012)로부터 SI 데이터를 입력받아 분석하여 채널 맵 정보를 획득하고, EPG Decoder(1014)는 Storage(1012)에 저장된 EPG 데이터를 분석하여 EPG 구성을 위한 필요한 정보를 복원한다.
ITF Operation Controller(1015)는 Channel 변경 또는 EPG Display 등의 ITF의 동작을 제어하는 main controller이다.
Channel Service Manager(1016)는 사용자 입력에 따라 Channel 변경 등의 동작을 수행하며, Application Manager(1017)는 사용자 입력에 따라 EPG Display 등의 Application 서비스를 수행할 수 있다.
MPEG-2 Demultiplexer(1003)는 수신되는 IP 데이터그램(Datagram)으로부터 MPEG-2 Transport Stream 데이터를 추출하여 패킷 식별 정보(PID)에 따라 해당 모듈로 전달할 수 있다.
또한, MPEG-2 PSI/PSIP Parser(1004)는 상기 MPEG-2 Transport Stream으로부터 A/V 데이터의 패킷 식별 정보(PID) 또는 program element에 대한 접속 정보를 포함하는 PSI/PSIP 데이터를 추출하여 파싱할 수 있다.
한편, A/V Decoder(1005)는 입력되는 Audio 및 Video 데이터를 디코딩하여 Display 모듈(1006)로 전달하며, Display 모듈(1006)은 디코딩된 A/V 데이터 또는 application을 출력할 수 있다.
상술한 본 발명에 따른 컨텐츠 송수신 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (20)

  1. 인터넷을 통해 컨텐츠를 전송하는 방법에 있어서,
    상기 컨텐츠에 포함된 파일 포맷의 미디어 컴포넌트들을 전송 포맷의 제1 유닛들로 분할하는 단계;
    상기 미디어 컴포넌트들을 위한 시그널링 정보를 상기 전송 포맷의 제2 유닛으로 변환하는 단계, 여기서 상기 시그널링 정보의 상기 제2 유닛은 MPEG-2 TS(transport stream) 를 위한 PMT (Program Map Table) 및 PAT (Program Association Table)을 포함함; 및
    상기 전송 포맷의 상기 제1 유닛들 및 상기 제2 유닛을 전송하는 단계를 포함하고,
    여기서 상기 제1 유닛들은 상기 제2 유닛을 뒤따르고,
    상기 제2 유닛은 상기 미디어 컴포넌트들을 전달하는 상기 제1 유닛들과 별개의 유닛이고,
    상기 미디어 컴포넌트들을 위한 프로그램 클럭 레퍼런스 (program clock reference, PCR)는 상기 전송 포맷의 별도의 유닛으로 더 전송되는 컨텐츠 전송 방법.
  2. 제 1 항에 있어서,
    상기 미디어 컴포넌트들은 비디오 데이터, 오디오 데이터 또는 자막 데이터를 포함하는 컨텐츠 전송 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 인터넷을 통해 컨텐츠를 전송하는 장치에 있어서,
    상기 컨텐츠에 포함된 파일 포맷의 미디어 컴포넌트들을 전송 포맷의 제1 유닛들로 분할하고, 상기 미디어 컴포넌트들을 위한 시그널링 정보를 상기 전송 포맷의 제2 유닛으로 변환하는 포맷 변환부, 여기서 상기 시그널링 정보의 상기 제2 유닛은 MPEG-2 TS(transport stream) 를 위한 PMT (Program Map Table) 및 PAT (Program Association Table)을 포함함; 및
    상기 전송 포맷의 상기 제1 유닛들 및 상기 제2 유닛을 전송하는 전송부를 포함하고,
    여기서 상기 제1 유닛들은 상기 제2 유닛을 뒤따르고,
    상기 제2 유닛은 상기 미디어 컴포넌트들을 전달하는 상기 제1 유닛들과 별개의 유닛이고,
    상기 미디어 컴포넌트들을 위한 프로그램 클럭 레퍼런스 (program clock reference, PCR)는 상기 전송 포맷의 별도의 유닛으로 더 전송되는 컨텐츠 전송 장치.
  7. 제 6 항에 있어서,
    상기 미디어 컴포넌트들은 비디오 데이터, 오디오 데이터 또는 자막 데이터를 포함하는 컨텐츠 전송 장치.
  8. 삭제
  9. 인터넷을 통해 컨텐츠를 수신하는 방법에 있어서,
    상기 컨텐츠를 구성하는 미디어 컴포넌트들을 포함하는 제1 유닛들 및 시그널링 정보를 포함하는 제2 유닛을 전송 포맷으로써 수신하는 단계;
    상기 제2 유닛으로부터 상기 시그널링 정보를 획득하는 단계, 여기서 상기 제2 유닛은 MPEG-2 TS(transport stream) 를 위한 PMT (Program Map Table) 및 PAT (Program Association Table)을 포함함; 및
    상기 제1 유닛들로부터 파일 포맷의 상기 미디어 컴포넌트들을 획득하는 단계를 포함하고,
    여기서 상기 제1 유닛들은 상기 제2 유닛을 뒤따르고,
    상기 제2 유닛은 상기 미디어 컴포넌트들을 전달하는 상기 제1 유닛들과 별개의 유닛이고,
    상기 미디어 컴포넌트들을 위한 프로그램 클럭 레퍼런스 (program clock reference, PCR)는 상기 전송 포맷의 별도의 유닛에 포함되어 추가로 수신되는 컨텐츠 수신 방법.
  10. 인터넷을 통해 컨텐츠를 수신하는 장치에 있어서,
    상기 컨텐츠를 구성하는 미디어 컴포넌트들을 포함하는 제1 유닛들 및 시그널링 정보를 포함하는 제2 유닛을 전송 포맷으로써 수신하는 수신부; 및
    상기 제2 유닛으로부터 상기 시그널링 정보를 획득하고, 여기서 상기 제2 유닛은 MPEG-2 TS(transport stream) 를 위한 PMT (Program Map Table) 및 PAT (Program Association Table)을 포함함, 상기 제1 유닛들로부터 파일 포맷의 상기 미디어 컴포넌트들을 획득하는 전송 포맷 디코더를 포함하고,
    여기서 상기 제1 유닛들은 상기 제2 유닛을 뒤따르고,
    상기 제2 유닛은 상기 미디어 컴포넌트들을 전달하는 상기 제1 유닛들과 별개의 유닛이고,
    상기 미디어 컴포넌트들을 위한 프로그램 클럭 레퍼런스 (program clock reference, PCR)는 상기 전송 포맷의 별도의 유닛에 포함되어 추가로 수신되는 컨텐츠 수신 장치.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020127027427A 2010-04-19 2011-04-12 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치 KR101842201B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US32536910P 2010-04-19 2010-04-19
US32537910P 2010-04-19 2010-04-19
US61/325,379 2010-04-19
US61/325,369 2010-04-19
PCT/KR2011/002596 WO2011132882A2 (ko) 2010-04-19 2011-04-12 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치

Publications (2)

Publication Number Publication Date
KR20130069582A KR20130069582A (ko) 2013-06-26
KR101842201B1 true KR101842201B1 (ko) 2018-03-26

Family

ID=44834604

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127027427A KR101842201B1 (ko) 2010-04-19 2011-04-12 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치

Country Status (3)

Country Link
US (2) US9118938B2 (ko)
KR (1) KR101842201B1 (ko)
WO (1) WO2011132882A2 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101781873B1 (ko) * 2010-04-19 2017-09-26 엘지전자 주식회사 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치
CN109756287B (zh) * 2011-10-13 2020-12-29 三星电子株式会社 用于发送和接收多媒体服务的方法和装置
KR20160045848A (ko) * 2013-10-01 2016-04-27 엘지전자 주식회사 방송 전송 장치, 방송 전송 장치의 동작 방법. 방송 수신 장치 및 방송 수신 장치의 동작 방법
US9760114B1 (en) * 2014-01-03 2017-09-12 Juniper Networks, Inc. Systems and methods for improving clock synchronization between master and slave devices
US9819972B1 (en) * 2014-12-10 2017-11-14 Digital Keystone, Inc. Methods and apparatuses for a distributed live-on-demand (LOD) origin
US9942578B1 (en) * 2015-12-07 2018-04-10 Digital Keystone, Inc. Methods and apparatuses for a distributed live-on-demand (LOD) origin
US10637597B2 (en) 2017-04-07 2020-04-28 Luminous Cyber Corporation Time determination of distributed events without distribution of reference time, phase, or frequency
WO2022146511A1 (en) * 2020-12-28 2022-07-07 Arris Enterprises Llc Method and system for modular and universal set-top solution for different content delivery methods

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001320413A (ja) * 2000-05-02 2001-11-16 Sony Corp データ送信装置及び方法
US20040120396A1 (en) * 2001-11-21 2004-06-24 Kug-Jin Yun 3D stereoscopic/multiview video processing system and its method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4668515B2 (ja) 2001-01-30 2011-04-13 韓國電子通信研究院 マルチメディアコンテンツに同期化されたメタデータ伝送装置及び方法
US7248590B1 (en) * 2003-02-18 2007-07-24 Cisco Technology, Inc. Methods and apparatus for transmitting video streams on a packet network
US7778173B2 (en) 2005-01-04 2010-08-17 Cisco Technology, Inc. Clock recovery algorithm for remultiplexing MPEG-2 SPTSs and/or MPTSs in the presence of network jitter
JP4317995B2 (ja) * 2007-05-11 2009-08-19 テクトロニクス・インコーポレイテッド ストリーム解析装置とストリーム解析表示方法
DE602008004502D1 (de) 2007-07-02 2011-02-24 Fraunhofer Ges Forschung Vorrichtung und verfahren zum verarbeiten und lesen einer datei mit mediendatenbehälter und metadatenbehälter
MX2010002147A (es) * 2007-08-24 2010-04-07 Lg Electronics Inc Sistema de radiodifusion digital y metodo de procesamiento de datos en el sistema de radiodifusion digital.
KR101777347B1 (ko) * 2009-11-13 2017-09-11 삼성전자주식회사 부분화에 기초한 적응적인 스트리밍 방법 및 장치
US8510375B2 (en) * 2009-12-11 2013-08-13 Nokia Corporation Apparatus and methods for time mapping media segments in streaming media files
US9674027B2 (en) * 2010-04-19 2017-06-06 Lg Electronics Inc. Method for transmitting/receiving internet-based content and transmitter/receiver using same
WO2011132880A2 (ko) * 2010-04-19 2011-10-27 엘지전자 주식회사 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치
KR101781873B1 (ko) * 2010-04-19 2017-09-26 엘지전자 주식회사 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001320413A (ja) * 2000-05-02 2001-11-16 Sony Corp データ送信装置及び方法
US20040120396A1 (en) * 2001-11-21 2004-06-24 Kug-Jin Yun 3D stereoscopic/multiview video processing system and its method

Also Published As

Publication number Publication date
WO2011132882A3 (ko) 2012-01-26
KR20130069582A (ko) 2013-06-26
US9118938B2 (en) 2015-08-25
US20160007056A1 (en) 2016-01-07
WO2011132882A2 (ko) 2011-10-27
US20130136144A1 (en) 2013-05-30
US9819977B2 (en) 2017-11-14

Similar Documents

Publication Publication Date Title
KR101781873B1 (ko) 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치
KR101789633B1 (ko) 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신장치
US10009660B2 (en) Media content transceiving method and transceiving apparatus using same
KR101842201B1 (ko) 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치
KR101613941B1 (ko) 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치
KR102390622B1 (ko) 송신 장치, 송신 방법, 수신 장치 및 수신 방법
KR20130050953A (ko) 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치
US9479559B2 (en) Method for transmission/reception of internet-based content and transmitter/receiver using same
US20150373076A1 (en) Method for transmitting/receiving internet-based content and transmitter/receiver using same
KR20240013892A (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016006659A1 (ja) 送信装置、送信方法、受信装置および受信方法

Legal Events

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