KR20140061352A - 미디어 수신 방법 및 그 장치 - Google Patents
미디어 수신 방법 및 그 장치 Download PDFInfo
- Publication number
- KR20140061352A KR20140061352A KR1020147001709A KR20147001709A KR20140061352A KR 20140061352 A KR20140061352 A KR 20140061352A KR 1020147001709 A KR1020147001709 A KR 1020147001709A KR 20147001709 A KR20147001709 A KR 20147001709A KR 20140061352 A KR20140061352 A KR 20140061352A
- Authority
- KR
- South Korea
- Prior art keywords
- media
- stream
- data
- packet
- receiving
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000003252 repetitive effect Effects 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 17
- 230000006835 compression Effects 0.000 description 15
- 238000007906 compression Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010899 nucleation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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/4346—Disassembling 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 involving stuffing data, e.g. packets or bytes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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/4344—Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64784—Data processing by the network
- H04N21/64792—Controlling the complexity of the content stream, e.g. by dropping packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85403—Content authoring by describing the content as an MPEG-21 Digital Item
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Systems (AREA)
Abstract
본 발명의 실시예에 따른 미디어 수신 방법은 수신 채널을 선택하는 단계; 상기 수신 채널을 통해 전송되는 미디어 전송 스트림을 수신하는 단계; 상기 수신된 미디어 전송 스트림에 기초하여 미디어 저장 스트림을 생성하는 단계; 및 상기 미디어 저장 스트림을 기록하는 단계를 포함하고, 상기 미디어 저장 스트림은 상기 미디어 전송 스트림 중 제거된 데이터를 나타내는 적어도 하나의 동기 바이트를 포함한다.
Description
본 발명은 미디어 수신 장치 및 수신 방법에 관한 것이며, 더욱 상세하게는 수신되는 미디어 전송 스트림을 효율적으로 기록하고 재생하기 위한 미디어 수신 장치 및 수신 방법에 관한 것이다.
현재, 지상파, 케이블, 위성 또는 DMB(Digital Multimedia Broadcasting) 등과 같은 디지털 방송들은 대부분 MPEG-2 TS(Transport Stream)을 이용하여 AV 컨텐츠를 스트리밍하고 있다.
또한, 디지털 방송은 스테레오 3D 비디오 방송, UHD(Ultra High Definition) 방송, 다시점 3D 비디오 방송, 홀로그램 방송 등과 같이 보다 많은 용량이 요구되는 방향으로 발전해 나가고 있다.
한편, 디지털 방송 수신기는 이와 같은 추세에 따라 고용량 미디어 전송 스트림을 수신하여 사용자에게 재생하거나 저장하는 서비스를 제공하고 있다.
그러나, 고용량 미디어 전송 스트림은 전송에 최적화되어 있기 때문에, 재생 및 기록하는데 있어서 비효율적일 수 있다.
본 발명의 일실시예는 MPEG-2 TS 등과 같은 미디어 전송 스트림을 수신하여, 효율적으로 기록할 수 있는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 다른 실시예는 MPEG-2 TS 등과 같은 미디어 전송 스트림을 기록함에 있어서, 재생 호환성 및 성능을 유지하면서도 저장 공간의 낭비를 줄일 수 있는 방법 및 장치를 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 미디어 수신 방법은, 수신 채널을 선택하는 단계; 상기 수신 채널을 통해 전송되는 미디어 전송 스트림을 수신하는 단계; 상기 수신된 미디어 전송 스트림에 기초하여 미디어 저장 스트림을 생성하는 단계; 및 상기 미디어 저장 스트림을 기록하는 단계를 포함하고, 상기 미디어 저장 스트림은 상기 미디어 전송 스트림 중 제거된 데이터를 나타내는 적어도 하나의 동기 바이트를 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명의 실시예에 따른 미디어 수신 장치는, 미디어 수신 장치에 있어서, 채널을 선택하고, 선택된 채널을 통해 전송되는 미디어 전송 스트림을 수신하는 수신부; 상기 수신된 미디어 전송 스트림에 기초하여 미디어 저장 스트림을 생성하는 제어부 및; 상기 미디어 저장 스트림을 기록하는 저장부를 포함하고, 상기 미디어 저장 스트림은 상기 미디어 전송 스트림 중 제거된 데이터를 나타내는 적어도 하나의 동기 바이트를 포함한다.
본 발명의 실시예에 따르면, MPEG-2 TS등과 같은 미디어 전송 스트림을 수신함에 있어서, 수신된 스트림 중 재생 또는 기록시에 불필요한 일부 데이터를 제거하되, 이를 나타내는 동기 바이트를 미디어 저장 스트림에 포함시켜 저장함으로써 재생 호환성을 확보하면서도 미디어 파일의 저장 용량을 감소시킬 수 있다.
또한, 본 발명의 다른 일 실시 예에 따르면, 제거된 일부 데이터에 대한 정보를 명시 또는 묵시적으로 미디어 저장 스트림에 포함시킬 수 있어 복원 가능한 제거가 가능하게 된다.
한편, 본 발명의 일 실시 예에 따르면, 미디어 전송 스트림의 저장을 위한 파일 인덱싱과 동시에 불필요한 일부 데이터가 제거될 수 있어 기록 속도를 유지하면서도 저장 공간 활용성을 향상시킬 수 있다.
도 1은 본 발명의 일 실시 예에 따른 미디어 송수신 시스템의 구성을 블록도로 도시한 것이다.
도 2는 본 발명의 일실시예에 따른 수신 장치의 구성을 블록도로 도시한 것이다.
도 3은 본 발명의 일실시예에 따른 미디어 수신 방법을 흐름도로 도시한 것이다.
도 4는 MPEG-2 TS의 구성을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시 예에 따라, 미디어 전송 스트림에서 스터핑 데이터와 널 패킷이 제거되는 메커니즘을 나타낸다.
도 6은 본 발명의 일 실시 예에 따라 널 패킷이 제거된 경우, 미디어 저장 스트림의 패킷 포맷 신택스와 이를 이용한 샘플 포맷 신택스를 나타내며, 도 7은 도 6의 신택스에서 MPEG2TSConstructor에 포함될 수 있는 다양한 타입의 Constructor 포맷 신택스를 나타낸다.
도 8은 본 발명의 다른 일 실시 예에 따라 널 패킷과 스터핑 바이트가 제거된 경우, 미디어 저장 스트림의 패킷 포맷을 나타낸다.
도 9는 본 발명의 일 실시 예에 따라 미디어 전송 스트림으로부터 널 패킷을 제거하는 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 다른 일 실시 예에 따라 널 패킷이 제거된 미디어 저장 스트림으로부터 원래의 미디어 전송 스트림을 복원하는 방법을 설명하기 위한 흐름도이다.
도 11은 본 발명의 실시 예에 따른 미디어 저장 스트림의 기록이 가능한 수신 장치의 파일 시스템 구조를 도시한 블록도이다.
도 12 내지 13은 본 발명의 실시 예에 의한 저장 공간 확보 효과를 비교 설명하기 위한 실험 데이터이다.
도 14는 본 발명의 일실시예에 의한 IPTV 수신기 구성을 블록도로 도시한 것이다.
도 15는 본 발명에 따른 IPTV 수신기의 구성에 대한 또 다른 실시예를 블록도로 도시한 것으로, IPTV 수신기의 구성을 기능적인 블록들로 나타낸 것이다.
도 2는 본 발명의 일실시예에 따른 수신 장치의 구성을 블록도로 도시한 것이다.
도 3은 본 발명의 일실시예에 따른 미디어 수신 방법을 흐름도로 도시한 것이다.
도 4는 MPEG-2 TS의 구성을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시 예에 따라, 미디어 전송 스트림에서 스터핑 데이터와 널 패킷이 제거되는 메커니즘을 나타낸다.
도 6은 본 발명의 일 실시 예에 따라 널 패킷이 제거된 경우, 미디어 저장 스트림의 패킷 포맷 신택스와 이를 이용한 샘플 포맷 신택스를 나타내며, 도 7은 도 6의 신택스에서 MPEG2TSConstructor에 포함될 수 있는 다양한 타입의 Constructor 포맷 신택스를 나타낸다.
도 8은 본 발명의 다른 일 실시 예에 따라 널 패킷과 스터핑 바이트가 제거된 경우, 미디어 저장 스트림의 패킷 포맷을 나타낸다.
도 9는 본 발명의 일 실시 예에 따라 미디어 전송 스트림으로부터 널 패킷을 제거하는 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 다른 일 실시 예에 따라 널 패킷이 제거된 미디어 저장 스트림으로부터 원래의 미디어 전송 스트림을 복원하는 방법을 설명하기 위한 흐름도이다.
도 11은 본 발명의 실시 예에 따른 미디어 저장 스트림의 기록이 가능한 수신 장치의 파일 시스템 구조를 도시한 블록도이다.
도 12 내지 13은 본 발명의 실시 예에 의한 저장 공간 확보 효과를 비교 설명하기 위한 실험 데이터이다.
도 14는 본 발명의 일실시예에 의한 IPTV 수신기 구성을 블록도로 도시한 것이다.
도 15는 본 발명에 따른 IPTV 수신기의 구성에 대한 또 다른 실시예를 블록도로 도시한 것으로, IPTV 수신기의 구성을 기능적인 블록들로 나타낸 것이다.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.
따라서, 예를 들어, 본 명세서의 블럭도는 본 발명의 원리를 구체화하는 예시적인 회로의 개념적인 관점을 나타내는 것으로 이해되어야 한다. 이와 유사하게, 모든 흐름도, 상태 변환도, 의사 코드 등은 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.
프로세서 또는 이와 유사한 개념으로 표시된 기능 블럭을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 상기 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다.
또한 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 명확한 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비 휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지관용의 다른 하드웨어도 포함될 수 있다.
본 명세서의 청구범위에서, 상세한 설명에 기재된 기능을 수행하기 위한 수단으로 표현된 구성요소는 예를 들어 상기 기능을 수행하는 회로 소자의 조합 또는 펌웨어/마이크로 코드 등을 포함하는 모든 형식의 소프트웨어를 포함하는 기능을 수행하는 모든 방법을 포함하는 것으로 의도되었으며, 상기 기능을 수행하도록 상기 소프트웨어를 실행하기 위한 적절한 회로와 결합된다. 이러한 청구범위에 의해 정의되는 본 발명은 다양하게 열거된 수단에 의해 제공되는 기능들이 결합되고 청구항이 요구하는 방식과 결합되기 때문에 상기 기능을 제공할 수 있는 어떠한 수단도 본 명세서로부터 파악되는 것과 균등한 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 미디어 송수신 시스템의 구성을 블록도로 도시한 것으로, 도시된 송수신 시스템은 송신 장치(100)와 수신 장치(200)를 포함하여 구성될 수 있다.
도 1을 참조하면, 송신 장치(100)와 수신 장치(200)는 방송 기반 또는 IP(Internet Protocol) 기반의 전송 시스템을 이용하여 데이터를 송수신할 수 있다.
송신 장치(100)는 컨텐트 제공자로부터 컨텐츠를 제공받아 이를 변환하여 전송하거나, 또는 미디어 DB(media DataBase)에 저장하여 보관할 수 있다.
예를 들어, 상기 컨텐트 제공자로부터 제공되는 미디어 전송 스트림은 MPEG-2 표준에 따른 미디어 전송 스트림으로서 다양한 응용 분야들에서 폭넓게 채용되는 MPEG-2 Transport Stream(MPEG-2 TS)일 수 있으며, 송신 장치(100)는 상기 MPEG-2 TS를 ISO에서 규정하는 미디어 파일 포맷으로 변환한 후 방송망 또는 인터넷(internet) 망 등의 네트워크(network)를 통해 전송하거나 또는 상기 미디어 DB에 저장할 수 있다.
한편, 수신 장치(200)는 상기 송신 장치(100)로부터 미디어 전송 스트림을 수신하고, 상기 수신된 미디어 전송 스트림을 변환한 후 재생하거나, 로컬 저장매체(local storage)에 저장할 수 있다. 수신 장치(200)는 예를 들어, 네트워크 TV, 스마트 TV, IPTV, 셋톱박스 등이 있을 수 있으며, 필요에 따라 스마트폰, 랩탑 등에서 구현될 수도 있다.
예를 들어, 수신 장치(200)는 상기 송신 장치(100)로부터 수신되는 미디어 전송 스트림을 MPEG-2 TS 포맷으로 변환한 후 처리하여 재생하거나 또는 상기 로컬 저장 매체에 저장할 수 있다. 특히, 수신 장치(200)는 미디어 파일 포맷에 인캡슐레이션(encapsulation)된 MPEG-2 TS를 인덱싱(indexing)하고, 저장을 수행할 수 있다.
상기 MPEG-2 TS는 DVB(Digital Video Broadcasting) 또는 ATSC(Advanced Television System Committee) 등의 디지털 비디오 방송 환경들과 같이 손실이 있는 전송 시스템들(lossy transport systems)을 타겟으로 한 것이다. 상기 MPEG-2 TS 기반의 미디어는 널리 사용되게 되어, 그의 인코딩 및 디코딩 엔진들은 디지털 비디오 방송 환경들에서 유용하게 사용되고 있다.
그러나, 현재 사용되는 MPEG-2 TS기반 미디어 파일 포맷에는 재생 및 저장에 불필요한 리던던시가 존재한다. 예를 들어, 고정 비트레이트인 CBR(Constant Bitrate) 코딩된 MPEG-2 TS 스트림을 방송하기 위해, 미디어 스트림에는 코덱 레이어 또는 인캡슐레이션 레이어에 비트레이트 유지를 위한 데이터가 존재한다. 그러나, 그 데이터는 영상의 재생 또는 저장에는 사용되지 않는다. 그럼에도 불구하고, 현재 MPEG-2 TS 시스템은 이와 같은 불필요한 리던던시(redundancy)를 복원 가능하게 제거할 수 없다.
따라서, 본 발명의 실시예에 따르면, 수신 장치(200)가 수신된 미디어 전송 스트림의 저장 또는 재생과 동시에, MPEG-2 TS 기반 미디어의 리던던시(redundancy)를 제거하여 저장 공간의 낭비를 줄이고, 효율을 향상시킬 수 있다.
그를 위해, 수신 장치(200)는 MPEG-2 TS 기반 미디어에 대해 상기 리던던시 제거를 위한 압축(compression) 또는 변환을 수행하여, 로컬 스토리지에 미디어 저장 스트림 포맷으로 저장할 수 있다.
그리고, 수신 장치(200)는 압축 또는 변환된 미디어 저장 스트림을 로컬 스토리지에 기록할 수 있다. 수신 장치(200)는 파일 인덱싱 과정과 동시에 상기 압축 또는 변환을 수행하고, 로컬 스토리지에 기록할 수 있다.
그리고, 수신 장치(200)는 기록된 미디어 저장 스트림을 사용자 요청에 따라 재생할 수 있다. 그리고, 수신 장치(200)는 필요에 따라서, 제거된 데이터를 복원하여 원래의 전송 스트림을 생성하고, 복원된 스트림을 네트워크를 통해 외부로 전송할 수도 있다.
도 2는 본 발명의 일실시예에 따른 수신 장치의 구성을 블록도로 도시한 것으로, 도시된 수신 장치(200)는 수신부(210), 제어부(220), 디스플레이부(230) 및 저장부(240)를 포함한다.
도 2를 참조하면, 수신부(210)는 MPEG-2 TS 미디어 전송 스트림을 수신한다.
그리고, 제어부(220)는 입력되는 MPEG-2 TS 미디어 전송 스트림 중 일부 데이터를 제거하고, 저장 스트림으로 변환하여 저장부(240)에 저장할 수 있다. 저장 스트림은 일부 데이터가 제거된 것을 나타내는 적어도 하나의 동기 바이트(sync byte)를 포함할 수 있다.
여기서, MPEG-2 TS는 손실이 있는 시스템들에 사용되기 위한 정의된 것으로, ATM(Asynchronous Transfer Mode) 네트워크의 요구 조건을 만족시키기 위해 188 바이트의 고정 패킷 사이즈를 가지며, 타이밍과 버퍼링 모델은 주로 고정 비트율의 채널에 초점을 맞춘다.
그러나, 네트워크 요구 조건에 따라 전송된 스트림은 이미 전송된 스트림을 저장 및 재생하는데 있어서는 불필요한 데이터를 포함할 수 있다. 따라서, 본 발명의 실시예에 따른 미디어 전송 스트림 수신 방법은, 이미 수신된 전송 스트림을 저장 및 재생하는데 불필요한 데이터를 미리 제거하고, MPEG-2 TS 시스템과 호환 가능한 미디어 파일 포맷으로 저장할 수 있다.
예를 들어, 상기 MPEG-2 TS로부터 제거되는 불필요한 데이터는 신텍스-기반(syntax-based)의 리던던시로서, MPEG-2 TS의 헤더(header)에 포함되는 특정 신텍스 엘리먼트이거나 스터핑(stuffing) 바이트 또는 널 패킷(null packet)일 수 있다.
한편, 수신 장치(200)는 상기한 바와 같이 MPEG-2 TS로부터 제거한 데이터에 대한 정보를 동기 바이트를 이용하여 저장 포맷의 미디어 스트림에 삽입할 수 있다. 상기 저장 포맷은 MPEG-2 TS 포맷과 호환 가능할 수 있다.
예를 들어, 수신 장치(200)의 제어부(220)는 MPEG-2 TS 로부터 특정 널 패킷을 제거하고, 널 패킷이 제거된 위치에 널 패킷의 존재를 나타내는 동기 바이트를 삽입함으로써, 저장되는 스트림의 용량을 줄일 수 있다.
이하, 도 3 내지 도 11을 참조하여 본 발명에 따른 미디어 수신 방법에 대한 실시예들에 대해 보다 상세히 설명하기로 한다.
도 3은 본 발명의 일실시예에 따른 미디어 수신 방법을 흐름도로 도시한 것으로 도시된 송신 방법을 도 2에 도시된 본 발명의 실시예에 따른 송신 장치의 구성을 나타내는 블록도와 결부시켜 설명하기로 한다.
도 3을 참조하면, 수신 장치(200)의 수신부(210)는 미디어 전송 스트림을 수신한다(S110). 수신부(210)는 HTTP를 통한 인터넷 네트워크 또는 방송 네트워크로부터 MPEG2 TS 형태의 미디어 전송 스트림을 수신할 수 있다. 이를 위해, 수신부(210)는 튜너, 복조부 또는 네트워크 인터페이스 등을 구비할 수 있다. 수신된 미디어 전송 스트림은 제어부(220)로 전달될 수 있다.
그리고, 제어부(220)는 수신된 미디어 전송 스트림 중 일부 데이터를 제거한다(S120).
예를 들어, 제어부(220)는 입력되는 MPEG-2 TS 중 재생 또는 저장에 불필요한 리던던시 데이터를 제거할 수 있다.
도 4에 도시된 MPEG-2 TS의 구성을 참조하면, 트랜스포트 패킷은 4바이트의 헤더와, 상기 헤더에 뒤이어지는 184바이트의 페이로드로 이루어져, 의도되는 전송 매커니즘에 관계없이 188바이트의 크기를 가진다.
한편, 상기 헤더는 8비트의 동기 바이트(sync byte), 1비트의 에러 표시(transport error indicator), 1비트의 단위 개시 표시(payload unit start indicator), 1비트의 트랜스포트 패킷 우선순위(transport priority), 13비트의 PID(Packet Identification), 2비트의 스크램블 제어(transport scrambling control), 2비트의 어댑테이션 필드 제어(AFC: Adaptation Field Control) 및 4비트의 순회 카운터(continuity counter)를 포함할 수 있다.
상기한 바와 같은 패킷 당 188 바이트의 고정 사이즈를 가지는 MPEG-2 TS의 패킷화 매커니즘에 의해, 바이트 스터핑(byte stuffing)이 사용될 수 있다.
예를 들어, PSI(Program Specific Information) 전송 스트림 패킷이 부분적으로 채워지거나 또는 PES(Program Elementary Stream) 패킷이 부분적으로만 TS 패킷을 채우는 경우, 상기한 바와 같은 불필요한 스터핑 바이트들이 MPEG-2 TS에 포함될 수 있다.
즉, 상기 스터핑 바이트는, 상기 패킷당 188 바이트의 고정 비트율을 만족시키기 위하여, MPEG-2 TS의 페이로드에 0xFF의 값을 가지는 바이트들이 반복하여 삽입될 수 있으며, 그에 따라 저장 및 재생에 있어서 불필요한 데이터 용량을 발생시킬 수 있다.
또한, 고정 대역폭 또는 요구되는 다중화율(mutiplexing ratio)을 달성하기 위해, 불필요한 널 패킷들이 MPEG-2 TS에 삽입될 수 있다. 이 경우, 디코더는 상기한 바와 같은 널 패킷들을 제거한 후 디코딩을 수행한다.
예를 들어, 상기 헤더에 포함된 PID가 0x1FFF인 경우, 해당 패킷이 널 패킷임을 나타낼 수 있으며, 상기 널 패킷의 페이로드는 모두 제로(zero) 또는 0xFF 바이트들로 채워질 수 있다.
본 발명의 일실시예에 따르면, 수신 장치(200)의 제어부(220)는 수신된 MPEG-2 TS로부터 상기한 바와 같은 불필요한 데이터, 예를 들어 스터핑 바이트들 또는 널 패킷들을 제거함으로써, 저장 공간을 확보할 수 있다.
다만, 상기 MPEG-2 TS의 스터핑 바이트 및 널 패킷은 본 발명의 실시예에 따른 일예일 뿐, 본 발명은 이에 한정되지 아니하며, 수신 장치(200)는 상기한 바와 같은 데이터 이외에 저장 및 재생하는데 있어서 불필요한 데이터를 MPEG-2 TS로부터 제거할 수 있다.
그 후, 제어부(220)는 데이터 제거된 미디어 전송 스트림에 기초하여 미디어 저장 스트림을 생성한다(S130). 미디어 저장 스트림은 저장부(240)에 기록될 수 있으며, 필요에 따라 수신 장치(200) 또는 다른 기기에서 재생 가능한 MPEG2-TS 호환 포맷을 가질 수 있다.
예를 들어, 제어부(220)는 상기 S120 단계에서 불필요한 데이터가 제거된 MPEG-2 TS를 ISO/IEC 14496-12 ISO Base Media 파일 포맷에 따른 미디어 저장 스트림으로 재구성 할 수 있다. 재구성된 미디어 저장 스트림은 용량은 적으면서도 기존 MPEG2-TS 포맷과의 호환성을 유지하기 때문에, 일반적인 MPEG-2 TS 디코더는 재구성된 미디어 저장 스트림을 문제없이 재생할 수 있게 된다.
여기서, 제어부(220)는 상기 제거된 데이터를 나타내는 동기 바이트(sync byte)를 할당하고, 상기 미디어 저장 스트림에 삽입한다(S140).
예를 들어, 제어부(220)는 상기 S120 단계에서 제거된 데이터를 시그널링(signaling)하는 정보를 동기 바이트의 특정 값으로 할당하고, 그 동기 바이트가 미디어 저장 스트림에 포함되도록 할 수 있다. 동기 바이트는 MPEG2-TS의 필수 구성 요소이므로 이를 이용한 시그널링을 통해 추가적인 데이터 없이도 데이터 제거에 대한 시그널링이 가능하게 된다.
그리고, 제어부(220)는 미디어 저장 스트림의 동기 바이트를 참조하여, 음성 또는 영상을 재생할 수 있다. 재생할 때, 미디어 전송 스트림으로부터 제거된 데이터는 동기 바이트에 할당된 값에 따라 무시될 수 있다.
한편, 제어부(220)는 제거된 데이터를 동기 바이트에 기초하여 복원할 수도 있다.
예를 들어, 제어부(220)는 제거된 데이터가 상술한 널 패킷을 포함하는 경우, 상기 동기 바이트에 기초하여 제거된 널 패킷을 복원함으로써 상기 미디어 저장 스트림을 원래 수신했던 전송 스트림으로 복원할 수 있다.
또한, 본 발명의 다른 일 실시 예에 따르면 제어부(220)는 제거된 데이터가 상술한 스터핑 바이트를 포함하는 경우, 원래의 전송 스트림으로 복원하기 위한 정보를 상기 동기 바이트 뒤에 위치시킬 수 있다. 따라서, 제어부(220)는 동기 바이트와 복원 정보에 기초하여 널 패킷과 스터핑 바이트를 복원함으로써 원래의 전송 스트림을 복원할 수도 있다.
이후, 제어부(220)는 저장부(240)에 상기 동기 바이트를 포함하는 미디어 저장 스트림을 기록한다(S150).
예를 들어, 제어부(220)는 사용자가 녹화 예약한 프로그램에 대응되는 MPEG2-TS 미디어 전송 스트림을 수신하고, 이에 기초하여 미디어 저장 스트림을 생성하여 저장부(240)에 기록할 수 있다. 그리고, 사용자의 녹화 예약된 프로그램 재생 요청에 따라 저장부(240)에 기록된 미디어 저장 스트림을 재생할 수 있다.
또한, 제어부(220)는 저장부(240)에 기록된 미디어 저장 스트림을 네트워크 인터페이스를 통해 외부 기기로 전송할 수도 있다. 외부 기기가 MPEG2-TS의 재생을 지원 하는 경우, 외부 기기는 불필요한 데이터가 제거된 미디어 저장 스트림을 문제 없이 재생할 수 있으므로, 제어부(220)에 의해 기록된 미디어 저장 스트림은 MPEG 표준을 따르는 타 기기들과의 높은 호환성을 가질 수 있다.
여기서, 저장부(240)는, 제어부(240) 내의 각 신호 처리 및 제어를 위한 프로그램이 저장될 수도 있고, 신호 처리된 영상, 음성 또는 데이터신호를 저장할 수도 있다. 또한, 저장부(240)는 수신부(210)로부터 입력되는 영상, 음성, 또는 데이터 신호의 임시 저장을 위한 기능을 수행할 수도 있다. 또한, 저장부(240)는, 채널 기억 기능을 통하여 소정 방송 채널에 관한 정보를 저장할 수 있다.
이를 위해 저장부(240)는, 예를 들어 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램, 롬(EEPROM 등) 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
도 5는 본 발명의 일 실시 예에 따라, 미디어 전송 스트림에서 스터핑 데이터와 널 패킷이 제거되는 메커니즘을 나타낸다.
도 5(a)는 수신부(210)에서 수신되는 미디어 전송 스트림(MPEG2 TS)을 나타낸다. 각각의 패킷들은 1바이트의 동기 바이트와 187 바이트의 데이터 바이트를 포함할 수 있다.
도 5(b)는 미디어 전송 스트림으로부터 생성되는 미디어 저장 스트림을 나타낸다. 도 5(b)에 도시된 바와 같이, 제어부(220)는 미디어 전송 스트림으로부터 스터핑 바이트와 널 패킷이 제거된 새로운 포맷의 미디어 저장 스트림을 생성할 수 있다.
먼저, 첫 번째 패킷에 대해 설명하면, A, B, C는 0xFF로 할당된 스터핑 바이트일 수 있으며, 이외 L, M, N은 실제 데이터가 포함되는 데이터 바이트일 수 있다.
제어부(220)는 먼저 첫 번째 패킷을 파싱하고, 스터핑 바이트 A, B, C를 미디어 전송 스트림으로부터 제거하며, L, M, N만으로 데이터 부분이 구성되는 미디어 저장 스트림을 생성할 수 있다.
이 때, 제어부(220)는 미디어 저장 스트림에 있어서, 스터핑 바이트가 제거된 패킷의 동기 바이트를 특정 값으로 할당할 수 있다. 예를 들어, 스터핑 바이트가 제거된 패킷의 동기 바이트는 도 5(b)와 같이 0x02가 할당될 수 있다.
또한, 제어부(220)는 제거된 스터핑 바이트를 복원하기 위한 대한 복원 정보를 구성할 수 있다. 예를 들어, 복원 정보는 entry_count와 offset_length_table을 포함할 수 있다.
제어부(220)는 동기 바이트 뒤에 복원 정보를 위치시킬 수 있으며, 복원 정보는 원래의 미디어 전송 스트림 복원에 사용될 수 있다.
복원 정보의 entry_count는 스터핑 바이트들에 의해 구분되는 데이터 바이트 구간들의 개수를 나타낼 수 있다.
복원 정보의 Offset_length_table은 각각의 데이터 바이트 구간들의 길이를 순차적으로 나타내는 테이블을 포함할 수 있다.
한편, 도 5(a)에서 제어부(220)는 미디어 전송 스트림의 두 번째 패킷이 널 패킷임을 판단하고, 이를 제거하여 도 5(b)와 같은 미디어 저장 스트림에 삽입할 수 있다.
그리고, 제어부(220)는 미디어 저장 스트림에 있어서, 널 패킷이 제거된 패킷의 동기 바이트를 특정 값으로 할당할 수 있다.
예를 들어, 널 패킷이 제거된 패킷의 동기 바이트는 도 5(b)와 같이 0x01로 할당될 수 있으나, 다른 값이 할당될 수도 있다. 예를 들어, 널 패킷이 제거된 패킷의 동기 바이트는 0xFF로 할당될 수도 있다.
특히, 널 패킷이 제거된 패킷의 동기 바이트가 0xFF로 할당되는 경우, 기존 표준을 지원하는 다른 기기들은 재생시 해당 패킷을 무시할 수 있기 때문에 재생 호환성을 높이는 효과가 있다.
한편, 제어부(220)는 도 5(a)의 세 번째 패킷의 경우 데이터 패킷이므로 동기 바이트를 0x47로 유지한 상태로 도 5(b)와 같이 미디어 저장 스트림에 삽입할 수 있다.
도 6은 본 발명의 일 실시 예에 따라 널 패킷이 제거된 경우, 미디어 저장 스트림의 패킷 포맷 신택스와 이를 이용한 샘플 포맷 신택스를 나타내며, 도 7은 도 6의 신택스에서 MPEG2TSConstructor에 포함될 수 있는 다양한 타입의 Constructor 포맷 신택스를 나타낸다.
도 6에 도시된 바와 같이, 제어부(220)에 의해 기록되는 미디어 저장 스트림은 동기 바이트에 따른 패킷 포맷을 가질 수 있다.
각각의 패킷은 프리시딩 바이트(preceding byte), 동기 바이트(sync byte), 트레일링 바이트(trailing byte) 및 동기 바이트에 따른 패킷 데이터를 포함할 수 있다.
프리시딩 바이트는 패킷 데이터의 앞에 수신 장치(200)가 부가할 수 있는 추가 데이터를 나타낸다. 예를 들어, 추가 데이터는 타임스탬프를 포함할 수 있다.
동기 바이트는 동기 바이트를 뒤따르는 전송 스트림 패킷 데이터의 포맷을 나타낸다.
동기 바이트가 0x47인 경우, 그 동기 바이트를 뒤따르는 187바이트의 데이터는 수신된 미디어 전송 스트림의 MPEG2-TS 패킷 중 동기 바이트를 제외한 나머지 데이터를 패킷(packet) 필드 내 그대로 포함할 수 있다. 패킷 데이터가 스트리밍 채널에 실제 입력되는 경우 이 값은 항상 0x47로 세팅되어야 한다.
또한, 동기 바이트가 0x00 이거나 0x01인 경우, 그 동기 바이트를 뒤따르는 데이터는 헤더 데이터 길이, 구성자의 개수, 전송 에러 지시자, 페이로드 유닛 시작 지시자, 전송 우선권, 패킷 식별자, 전송 스크램블링 제어, 적응 필드 제어, 및 적어도 하나의 MPEG2 TS 구성자(MPEG2 TS constructor)를 포함할 수 있다. MPEG2 TS 샘플 구성자가 사용되는 경우, MPEG2 TS 샘플 구성자는 참조 타입이 hint인 트랙 참조 박스 내 트랙 참조 인덱스(trackrefindex) 필드에 의해 인덱스되는 트랙을 지시(point)할 수 있다.
도 7은 MPEG2 TS 구성자의 다양한 포맷들을 예시하고 있다. MPEG2 TS 구성자는 구성 타입 필드를 갖는 MPEG2 TS 구성자(MPEG2TConstructor)와, 이를 확장한 MPEG2 TS 즉시 구성자(MPEG2TSImmediateConstructor), MPEG2 TS 샘플 구성자(MPEG2TSSampleConstructor) 및 MPEG2 TS FF 복제 구성자(MPEG2TSReplicatedFFConstructor)를 포함할 수 있다. 각 구성자는 용도에 따른 복수의 필드들을 포함할 수 있다.
여기서, MPEG2 TS Constructor, MPEG2 TS Immediate Constructor, MPEG2 TS Sample Constuctor는 ISO 14496-12에서 규정되는 형식을 따를 수 있다.
한편, MPEG2 TS FF 복제 구성자(MPEG2TSReplicatedFFConstructor)는 반복되는 특정 값, 예를 들어 0xFF 바이트가 몇 번 반복되었는지를 나타내는 복제 카운트(replicatedcount) 필드를 포함할 수 있다. 이를 이용하여, 수신 장치(200)는 수신된 미디어 전송 스트림 중, 0xFF 바이트가 복수 개 반복되는 경우 이를 MPEG2 TS FF 복제 구성자를 이용하여 간략하게 나타낼 수 있다. 수신 장치(200)는 이후 재생시에 MPEG2 TS FF 복제 구성자가 존재하는 경우, 0xFF데이터를 반복적으로 생성하여 패킷에 포함시킬 수 있다.
예를 들어, 수신 장치(200)는 널 패킷이 아닌 전송 스트림 패킷에서 반복되는 0xFF 바이트를 제거하고, 이를 MPEG2 TS FF 복제 구성자를 이용하여 나타낼 수 있다. 미디어 저장 스트림 포맷에 MPEG2 TS FF 복제 구성자를 사용하면, 널 패킷이 제거된 미디어 저장 스트림의 용량이 더 줄어드는 효과가 있다.
또한, 저장 효율을 위해 MPEG2 TS FF 복제 구성자는 반복되는 바이트의 수가 일정 크기 이상인 경우에만 사용될 수도 있다. 예를 들어, MPEG2 TS FF 복제 구성자는 복제 카운트 필드의 크기 이상으로 0xFF가 반복되는 경우에만 미디어 저장 스트림 데이터에 포함될 수도 있다. 이에 따라 수신기 저장장치 혹은 서버의 저장장치에서도 불필요한 데이터가 반복될 때, 필요에 따라서 제거될 수 있다.
도 6에서 동기 바이트가 0x00 또는 0x01인 경우, 이를 뒤따르는 패킷 데이터는 이와 같은 MPEG2 TS 구성자들을 num_constructors 크기의 어레이(array) 형태로 포함할 수 있다. MPEG2 TS 구성자의 단일 또는 조합에 의해 하나 또는 복수의 스트림 패킷을 구성할 수 있다.
예를 들어, MPEG2 TS 즉시 구성자(MPEG2 TS Immediate Constructor)는 PES 헤더를 포함할 수 있다. 또한, MPEG2 TS 샘플 구성자(MPEG2 TS Sample Constructor)는 연관된 미디어 트랙 내 데이터를 레퍼런스(reference) 할 수 있다. 그리고, MPEG2 TS 복제 FF 구성자(MPEG2 TS Replicated FF constructor)가 사용되지 않는 경우 헤더 데이터 길이(headerdatalen) 값과 하나의 MPEG2 TS 패킷의 모든 구성자에 대한 데이터 길이(datalen) 필드의 값의 합은 스트림 패킷의 길이에서 1바이트를 차감한 187일 수 있다.
한편, 동기 바이트가 0xFF인 경우, 그 동기 바이트는 그 위치의 널 패킷이 제거되었음을 나타낸다. 따라서, 동기 바이트 0xFF를 뒤따르는 187바이트의 패킷 데이터가 없을 수 있다. 이와 같은 방법으로, 제어부(220)는 미디어 저장 스트림 내 널 패킷이 제거되었음을 데이터의 제거를 통해 묵시적으로 나타낼 수 있다. 또한, 동기 바이트에 대한 0xFF값 할당을 통해 명시적으로도 나타낼 수 있다.
그리고, 트레일링 바이트는 패킷 데이터의 뒤에 수신 장치(200)가 부가할 수 있는 추가 데이터를 나타낸다. 예를 들어, 추가 데이터는 오류 여부를 나타내는 검사합(checksum)을 포함할 수 있다.
도 8은 본 발명의 다른 일 실시 예에 따라 널 패킷과 스터핑 바이트가 제거된 경우, 미디어 저장 스트림의 패킷 포맷을 나타낸다.
도 8을 참조하면, 미디어 저장 스트림 패킷의 동기 바이트가 0x47 또는 0x00인 경우 및 중복되는 형식은 도 6과 같으므로 설명을 생략하도록 한다.
동기 바이트가 0x01이면 동기 바이트는 상기 도 6에서 0xFF인 경우와 같이, 널 패킷이 제거되었음을 나타낼 수 있다. 제거된 널 패킷의 크기는 187바이트일 수 있다.
한편, 동기 바이트가 0x02인 경우, 동기 바이트는 스터핑 바이트가 제거되었음을 나타낼 수 있다.
여기서, 스터핑 바이트가 제거된 패킷은 스터핑 바이트를 재구성 할 수 있는 복원 정보를 포함할 수 있다.
복원 정보는 제거된 스터핑 바이트에 의해 구분되는 데이터 구간들의 개수(entry_count) 정보, 각 데이터 구간의 시작점(offset) 정보 및 각 구간의 길이(length) 정보를 포함할 수 있다.
따라서, 제어부(220)는 스터핑 바이트가 제거된 미디어 저장 스트림으로부터 원래의 미디어 전송 스트림을 복원할 수 있다.
예를 들어, 제어부(220)는 패킷 내 시작점(offset)마다 길이(length) 크기의 데이터 구간들을 배치하고, 나머지 부분을 0xFF의 스터핑 바이트로 채움으로써, 원래의 미디어 전송 스트림 패킷을 복원할 수 있다.
도 9는 본 발명의 일 실시 예에 따라 미디어 전송 스트림으로부터 널 패킷을 제거하는 방법을 설명하기 위한 흐름도이다.
도 9를 참조하면, 먼저 수신부(210)는 미디어 전송 스트림을 수신한다(S200). 수신부(210)는, 상술한 바와 같이 방송 채널 또는 인터넷 망 등을 통해 전송되는 MPEG2 TS와 같은 미디어 전송 스트림을 사용자 요청에 따라 수신할 수 있다. 수신부(210)는 수신된 미디어 전송 스트림을 제어부(220)로 전달할 수 있다.
그리고, 제어부(220)는 수신된 미디어 전송 스트림으로부터 순차적으로 패킷을 획득한다(S210).
제어부(220)는 수신된 미디어 전송 스트림 중, 사용자가 저장 예약 또는 저장 요청한 프로그램의 미디어 전송 스트림을 선택하고, 그 미디어 전송 스트림의 저장을 위해 그 미디어 전송 스트림에 포함되는 패킷들을 획득할 수 있다.
그리고, 제어부(220)는 획득되는 패킷이 널(NULL) 패킷인지 판단한다(S220). 널 패킷은 통상적으로 고정 데이터 패턴, 예를 들어 제로(0)들을 포함할 수 있다. 따라서, 제어부(220)는 패킷 내 이와 같은 고정 데이터 패턴이 존재하는지 여부에 기초하여 널 패킷인지 여부를 판단할 수 있다.
또한, 제어부(220)는 널 패킷을 판단하기 위한 널 패킷 검출부를 별도로 구비할 수도 있다. 널 패킷 검출부는 수신부(210)에서 수신되는 미디어 전송 스트림 패킷 데이터의 프리앰블을 검출하고, 후속되는 데이터비트들이 고정 데이터 패턴, 예를 들어 연속된 제로들과 동일한지 여부를 판단함으로써, 널 패킷을 획득하였음을 제어부(220)에 전달할 수 있다.
널 패킷으로 판단된 경우, 제어부(220)는 널 패킷에 대응되는 동기 바이트를 특정 값, 예를 들어 0xFF로 할당하고(S230), 할당된 동기 바이트를 저장부(240)에 저장한다(S240).
제어부(220)는 널 패킷에 해당하는 패킷 데이터는 수신부(210)에서 수신된 미디어 전송 스트림으로부터 제거하여 미디어 저장 스트림 포맷으로 저장부(240)에 기록할 수 있다. 이 때, 제어부(220)는 0xFF로 할당된 동기 바이트를 상기 널 패킷에 대응되도록 미디어 저장 스트림에 포함시켜 기록할 수 있다.
한편, 널 패킷이 아닌 것으로 판단된 경우, 제어부(220)는 그 패킷으로부터 패킷 데이터를 추출하고(S250), 데이터의 내용에 다라 동기 바이트를 할당한다(S260).
제어부(220)는 널 패킷이 아닌 일반 패킷 데이터로 판단된 경우, 그 패킷을 미디어 저장 스트림 포맷으로 저장하기 위해, 그 패킷의 데이터에 대응되는 동기 바이트를 지정할 수 있다.
동기 바이트는 패킷 데이터의 내용에 따라 결정될 수 있다. 예를 들어, 패킷 데이터를 저장 또는 재생하기 위해 상술한 MPEG2-TS 구성자가 필요한 경우, 또는 패킷 데이터가 헤더 정보 등을 포함하는 경우, 제어부(220)는 동기 바이트를 0x00으로 지정할 수 있다. 그리고, 패킷 데이터가 완전하게 MPEG-2 TS의 영상 또는 음성 데이터만을 포함하는 경우 제어부(220)는 동기 바이트를 0x47로 지정할 수 있다.
그리고, 제어부(220)는 현재 획득한 패킷이 수신된 미디어 전송 스트림의 마지막 패킷인지 판단한다(S280).
마지막 패킷인 경우에는 제어부(220)는 미디어 저장 스트림의 기록을 완료하고, 필요한 처리를 수행한 뒤 작업을 종료할 수 있다. 제어부(220)는 이후, 사용자 요청에 따라 저장된 미디어 저장 스트림을 재생하거나, 다른 기기 또는 다른 저장 매체로 전송할 수 있다.
그리고, 마지막 패킷이 아닌 경우에는, S210단계를 다시 수행하여 수신된 미디어 전송 스트림의 다음 패킷을 다시 순차적으로 획득한다.
이와 같은 과정을 통해, 수신 장치(200)는 수신되는 미디어 전송 스트림을 기존의 MPEG-2 TS 디코딩 시스템과 호환 가능한 포맷으로 저장하면서도, 저장 공간을 줄일 수 있게 된다.
예를 들어, 수신 장치(200) 또는 다른 MMPEG-2 TS 재생 가능 장치는 상기와 같은 방법에 의해 기록된 미디어 저장 스트림을 간단히 재생할 수 있다.
수신 장치(200)를 예를 들면, 제어부(220)는 미디어 저장 스트림의 재생 선택을 입력받고, 저장부(240)로부터 선택된 미디어 저장 스트림 데이터를 동기 바이트에 따라 순차적으로 획득할 수 있다.
여기서, 제어부(220)는 동기 바이트를 먼저 획득하고, 동기 바이트가 0xFF인 경우에는 MPEG-2 TS 표준 규격에 따라 그 패킷을 무시하고, 다음 동기 바이트에 대응되는 패킷을 처리할 수 있다. 제어부(220)는 0xFF가 아닌 경우에는 다음 동기 바이트 이전까지의 해당 패킷 데이터를 재생할 수 있다.
따라서, 본 발명의 미디어 전송 스트림 수신 방법은, 수신되는 미디어 전송 스트림의 MPEG-2 TS 포맷을 추가 정보 없이 유지하면서도, 불필요한 널 패킷이 제거된 미디어 저장 스트림 형태로 기록할 수 있다.
한편, 이와 같은 미디어 저장 스트림에 대한 정보는 이후의 전송을 위한 미디어 저장 스트림 내 힌트 트랙(Hint track)에 별도 저장될 수도 있으나, 이에 한정되는 것은 아니다.
한편, 본 발명의 일 실시 예에 따르면, 불필요한 널 패킷 또는 스터핑 패킷들은 복원 가능하게 제거될 수 있다.
도 10은 본 발명의 다른 일 실시 예에 따라 널 패킷이 제거된 미디어 저장 스트림으로부터 원래의 미디어 전송 스트림을 복원하는 방법을 설명하기 위한 흐름도이다.
도 10을 참조하면, 먼저, 제어부(220)는 전송 스트림 복원을 결정한다(S300).
제어부(220)는 사용자 입력에 따라 원래 수신되었던 미디어 전송 스트림의 복원을 결정할 수 있다. 제어부(220)는 미디어 전송 스트림 복원을 위해, 미디어 저장 스트림을 저장부(240)로부터 로드할 수 있다.
그리고, 제어부(220)는 미디어 저장 스트림으로부터 순차적으로 동기 바이트를 획득하고(S310), 동기 바이트의 값이 0xFF인지 판단한다(S320).
제어부(220)는 동기 바이트의 값이 0xFF가 아닌 경우에는 널 패킷이 아니므로 패킷 데이터에 따라 동기 바이트를 복원한다(S330). 동기 바이트는 예를 들어, 전송 스트림 패킷을 나타내는 0x47로 지정될 수 있다.
그리고, 제어부(220)는 다음 동기 바이트 전까지의 패킷 데이터를 복원될 전송 스트림에 삽입한다(S340).
한편, 동기 바이트가 0xFF로 확인된 경우, 제어부(220)는 널 패킷으로 판단하고(S350), 동기 바이트를 복원한다(S370). 널 패킷도 대역폭 유지를 위한 전송 스트림 패킷이므로, 동기 바이트는 0x47로 지정될 수 있다.
그리고, 제어부(220)는 복원된 동기 바이트에 대응하여, 널 패킷을 생성하고, 생성된 널 패킷을 전송 스트림에 삽입한다(S370).
이후, 제어부(220)는 복원이 종료되었는지 판단한다(S380). 복원이 종료된 경우, 제어부(220)는 복원된 전송 스트림을 외부로 전송할 수 있다. 복원이 종료되지 않은 경우에는 S310단계를 다시 수행할 수 있다.
이와 같이, 수신 장치(200)는 동기 바이트에 이용하여 널 패킷이 제거된 미디어 저장 스트림으로부터 미디어 전송 스트림의 복원을 가능하게 한다.
도 11은 본 발명의 실시 예에 따른 미디어 저장 스트림의 기록이 가능한 수신 장치의 파일 시스템 구조를 도시한 블록도이다.
도 11을 참조하면, 파일 시스템은 사용자 레벨, 커널 레벨 및 하드웨어 레벨로 구분될 수 있다.
사용자 레벨의 DMA 프로그램 모듈(300)은 사용자 영역의 어플리케이션으로부터 발생하는 파일 시스템 요청을 커널 레벨로 전달하고, 그 응답을 수신한다.
그리고 커널 레벨을 구성하는 각 블록들은, 운영체제(operating system)의 핵심으로써, 수신 장치(200)의 구동시, 하드웨어 드라이버 구동, 영상표시기기 내의 하드웨어와 프로세서의 보안, 시스템 자원의 효율적 관리, 메모리 관리, 하드웨어 추상화에 의한 하드웨어에 대한 인터페이스 제공, 멀티 프로세스, 및 멀티 프로세스에 따른 스케쥴 관리 등 중 적어도 하나를 수행할 수 있다.
이러한, 커널 레벨의 블록들은, 유닉스 기반(리눅스), 윈도우 기반 등 다양한 운영체제(OS) 기반으로 구현될 수 있다. 또한, 공개(open)된 OS 커널로서, 다른 전자기기 등에서 사용가능한 범용 커널로 구현될 수 있다.
본 발명의 실시 예에 따른 미디어 전송 스트림 수신 방법은, 이와 같은 커널 레벨의 MPEG-2 TS 압축 모듈(310)에서 수행될 수 있다.
MPEG-2 TS 압축 모듈(310)은 사용자 레벨로부터 시스템 호출 모듈(305)을 통해 입력되는 요청에 따라 MPEG-2 TS 미디어 전송 스트림을 수신하여 본 발명의 실시 예에 따른 널 패킷 또는 스터핑 바이트의 제거를 수행하고, 파일 시스템(320)으로 전달할 수 있다.
또한, MPEG-2 TS 압축 모듈(310)은 DMA 채널을 이용하여 각 MPEG-2 TS 패킷 또는 연속되는 패킷들이 결합된 데이터를 사용자 레벨의 MPEG-2 TS 시스템 디코더로 전달할 수 있다.
한편, 커널은 예를 들어, DMA 채널의 도움 없이도 직접적으로 MPEG-2 TS 압축 모듈(310)을 통한 파일 시스템에 접근할 수 있도록, /DEV/MP2T로 명명되는 인터페이스를 선택적으로 제공할 수도 있다.
파일 시스템(320)은 MPEG-2 TS 압축 모듈(310)로부터 불필요한 데이터가 제거되어 압축되는 미디어 저장 스트림 파일을 인덱싱하고, 이를 장치 드라이버(340)를 통해 하드웨어 저장 장치(350)로 저장하게 한다. 이를 위해 파일 시스템(320)은 제어 보조 시스템(315)의 프로세스 제어를 받을 수 있다.
그리고, 파일 시스템(320)은 데이터 처리를 위해, 캐릭터 모듈(335)과, 블럭 모듈(330)에 연결된다. 블럭 모듈(330)은, 특정 블럭 단위로 데이터가 전송되므로 단위 크기만큼을 보관할 버퍼 캐시(325)가 필요할 수 있다. 그리고, 캐릭터 모듈(335)은, 커널의 기본 데이터 단위인 캐릭터 단위로 전송하므로 버퍼가 필요없을 수 있다.
그리고, 장치 드라이버(340)는 하드웨어 제어부(345)를 통해 연결된 장치를 제어한다. 장치 드라이버(340)는 파일 시스템(320)에서 인덱싱된 데이터를 하드웨어 제어부(345)를 통해 저장 장치(350)에 저장할 수 있다.
이와 같은 사용자 레벨, 커널 레벨 및 하드웨어 레벨의 시스템 구성을 통해 파일 인덱싱과 동시에 MPEG-2 TS 압축 모듈(310)에 의해 널 패킷이 제거되어 저장 장치(350)로 압축 저장되게 된다. 따라서, 본 발명의 실시 예에 따르면 압축에 의한 지연 시간 없이도, 널 패킷 제거만으로 저장 공간 확보가 가능하게 된다. 따라서, 효율적인 저장 공간 활용이 가능하게 된다.
도 12 내지 13은 본 발명의 실시 예에 의한 저장 공간 확보 효과를 비교 설명하기 위한 실험 데이터이다.
도 12는 실험 대상인 미디어 전송 스트림을 나타내며, 도 13은 각 실험 결과에 따른 데이터의 크기 및 압축률을 나타낸다.
도 13의 각 열은 순서대로 세그먼트(바이트 영역 지속시간, sec), 원본 사이즈(bytes), 널 패킷이 제거된 사이즈(bytes), 널 패킷이 제거된 경우의 압축율(%), 스터핑 바이트가 제거된 사이즈(bytes), 스터핑 바이트가 제거된 경우의 압축률(%), gzip 어플리케이션으로 압축된 경우의 사이즈(bytes) 및 gzip의 압축률(%)을 나타낸다.
도 13에서 확인되는 바와 같이, 널 패킷 또는 스터핑 바이트가 제거된 미디어 저장 스트림의 사이즈는 원본 사이즈보다 상당한 저장 용량 감소를 가져옴을 알 수 있다. 또한, 저장 용량 감소에 의한 압축률은 압축 전용 어플리케이션인 gzip에 비해 큰 차이가 나지 않음을 판단할 수 있다. 특히, 본 발명의 실시 예에 따른 미디어 저장 스트림 포맷의 경우 gzip과 같이 압축 해제 과정 없이도 그대로 재생할 수 있는 호환성이 있기 때문에 저장 용량을 줄이면서도 기존의 재생 장치들에서 지연 없이 재생 가능하게 하는 효과를 가져올 수 있다.
도 1 내지 도 13을 참조하여 설명한 바와 같은 미디어 수신 및 처리 방법들은 본 발명의 실시예에 따른 IPTV 수신기에 의해 수행될 수 있다.
이하, 도 14 및 도 15를 참조하여 본 발명의 실시예에 따른 IPTV 수신기의 구성에 대해 보다 상세히 설명하기로 한다.
도 14는 본 발명의 일실시예에 의한 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)를 포함할 수 있다.
도 18을 참조하면, 네트워크 인터페이스부(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 수신기의 제어부의 기능은 도 14에 도시된 TCP/IP 매니저(902), 서비스 전달 매니저(904), PVR 매니저(905), 애플리케이션 매니저(913, 914), 서비스 디스커버리 매니저(909), 서비스 제어 매니저(903) 및 메타데이터 매니저(910)와 같이 복수의 모듈들로 분할되어 구현될 수 있다.
예를 들어, TCP/IP 매니저(902)는 상기한 바와 같은 타켓 패키지 정보를 이용해 SD&S 정보를 필터링하여, 네트워크 인터페이스부(901)가 특정 패키지(예를 들어, IPTV 수신기가 가입된 패키지)에 해당하는 페이로드 또는 세그먼트만을 서버로 요청하여 수신하도록 제어할 수 있다.
또는, TCP/IP 매니저(902)는 멀티캐스트 방식으로 수신되는 SD&S 정보를 상기 타켓 패키지 정보를 이용해 필터링하여, 특정 패키지에 해당하는 페이로드 또는 세그먼트만이 데이터 디코더(907)에 의해 파싱되어 처리되도록 할 수 있다.
도 15는 본 발명에 따른 IPTV 수신기의 구성에 대한 또 다른 실시예를 블록도로 도시한 것으로, IPTV 수신기의 구성을 기능적인 블록들로 나타낸 것이다. 도 15에 도시된 실선 화살표는 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을 출력할 수 있다.
상기에서는 송신 장치(100)와 수신 장치(200) 사이에 송수신되는 미디어 전송 스트림이 MPEG-2 TS인 경우를 예로 들어 본 발명의 실시예에 따른 미디어 송수신 방법 및 장치에 대해 설명하였으나, 본 발명은 이에 한정되지 아니하며, 상기 MPEG-2 TS 이외에 다양한 전송 스트림 포맷들에 적용될 수 있다.
상술한 본 발명에 따른 미디어 전송 스트림 수신 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해 되어서는 안될 것이다.
Claims (20)
- 미디어를 수신하는 방법에 있어서,
수신 채널을 선택하는 단계;
상기 수신 채널을 통해 전송되는 미디어 전송 스트림을 수신하는 단계;
상기 수신된 미디어 전송 스트림에 기초하여 미디어 저장 스트림을 생성하는 단계; 및
상기 미디어 저장 스트림을 기록하는 단계를 포함하고,
상기 미디어 저장 스트림은 상기 미디어 전송 스트림 중 제거된 데이터를 나타내는 적어도 하나의 동기 바이트를 포함하는
미디어 수신 방법. - 제1항에 있어서,
상기 제거된 데이터는 상기 수신된 미디어 전송 스트림에 포함되는 널 패킷인
미디어 수신 방법. - 제2항에 있어서,
상기 미디어 저장 스트림은 상기 제거된 데이터를 나타내는 적어도 하나의 동기 바이트와 상이한 제2 동기 바이트 및 상기 제2 동기 바이트에 대응되는 패킷 데이터를 더 포함하는
미디어 수신 방법. - 제3항에 있어서,
상기 제2 동기 바이트가 특정 값인 경우, 상기 패킷 데이터는 미디어 스트림 구성 정보를 포함하는
미디어 수신 방법. - 제4항에 있어서,
상기 미디어 스트림 구성 정보는 상기 미디어 전송 스트림 중 상기 특정 데이터의 반복 회수 정보를 포함하는
미디어 수신 방법. - 제1항에 있어서,
상기 제거된 데이터는 상기 수신된 미디어 전송 스트림에 포함되는 스터핑 바이트인
미디어 수신 방법. - 제6항에 있어서,
상기 미디어 저장 스트림은 상기 제거된 스터핑 바이트를 복원하기 위한 복원 정보를 더 포함하는
미디어 수신 방법. - 제7항에 있어서,
상기 복원 정보는
상기 제거된 스터핑 바이트가 포함된 패킷 내의 복수의 데이터 구간들에 대한 구간 개수 정보, 시작점 정보 및 구간 길이 정보를 포함하는
미디어 수신 방법. - 제1항에 있어서,
상기 미디어 저장 스트림을 재생하는 단계를 더 포함하고,
상기 재생하는 단계는
상기 미디어 저장 스트림의 동기 바이트를 획득하는 단계; 및
상기 획득된 동기 바이트에 대응되는 상기 미디어 저장 스트림에 포함된 패킷 데이터를 재생하되, 상기 동기 바이트가 상기 제거된 데이터를 나타내는 경우 다음 동기 바이트를 획득하는 단계를 포함하는
미디어 수신 방법. - 제1항에 있어서,
상기 미디어 저장 스트림에 포함된 동기 바이트를 이용하여 상기 미디어 전송 스트림을 복원하는 단계를 더 포함하는
미디어 수신 방법. - 미디어 수신 장치에 있어서,
채널을 선택하고, 선택된 채널을 통해 전송되는 미디어 전송 스트림을 수신하는 수신부;
상기 수신된 미디어 전송 스트림에 기초하여 미디어 저장 스트림을 생성하는 제어부 및;
상기 미디어 저장 스트림을 기록하는 저장부를 포함하고,
상기 미디어 저장 스트림은 상기 미디어 전송 스트림 중 제거된 데이터를 나타내는 적어도 하나의 동기 바이트를 포함하는
미디어 수신 장치. - 제11항에 있어서,
상기 동기 바이트는 상기 동기 바이트에 대응되는 데이터가 상기 동기 바이트의 위치에서 제거되었음을 묵시적으로 나타내는
미디어 수신 장치. - 제11항에 있어서,
상기 제거된 데이터는 상기 수신된 미디어 전송 스트림에 포함된 널 패킷을 포함하는
미디어 수신 장치. - 제13항에 있어서,
상기 동기 바이트는 상기 널 패킷이 제거되었음을 나타내는 특정 값을 갖는
미디어 수신 장치. - 제13항에 있어서,
상기 미디어 저장 스트림은 상기 제거된 널 패킷을 나타내는 동기 바이트와 그 값이 상이한 제2 동기 바이트 및 상기 제2 동기 바이트에 따른 미디어 구성 정보를 더 포함하는
미디어 수신 장치. - 제15항에 있어서,
상기 미디어 구성 정보는 상기 미디어 전송 스트림 중 특정 데이터의 반복 회수 정보를 포함하는
미디어 수신 장치. - 제16항에 있어서,
상기 제어부는 상기 미디어 전송 스트림 중 상기 반복되는 특정 데이터를 제거하여 상기 미디어 저장 스트림을 생성하고, 상기 미디어 저장 스트림에 상기 미디어 구성 정보를 삽입하는
미디어 수신 장치. - 제11항에 있어서,
상기 제어부는 상기 미디어 저장 스트림을 재생하고,
상기 재생되는 미디어 저장 스트림을 디스플레이하기 위한 디스플레이부를 더 포함하는
미디어 수신 장치. - 제18항에 있어서,
상기 제어부는 상기 미디어 저장 스트림의 동기 바이트를 획득하고, 현재 동기 바이트에 대응되는 상기 미디어 저장 스트림의 패킷 데이터를 이용하여 재생하되, 상기 동기 바이트가 상기 제거된 데이터를 나타내는 경우 다음 동기 바이트를 획득하는
미디어 수신 장치. - 제11항에 있어서,
상기 제어부는 상기 미디어 저장 스트림에 포함된 동기 바이트를 이용하여 상기 미디어 전송 스트림을 복원하는
미디어 수신 장치.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161510037P | 2011-07-20 | 2011-07-20 | |
US61/510,037 | 2011-07-20 | ||
US201161522250P | 2011-08-11 | 2011-08-11 | |
US61/522,250 | 2011-08-11 | ||
PCT/KR2012/005820 WO2013012287A2 (ko) | 2011-07-20 | 2012-07-20 | 미디어 수신 방법 및 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140061352A true KR20140061352A (ko) | 2014-05-21 |
KR101964649B1 KR101964649B1 (ko) | 2019-04-02 |
Family
ID=47558638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147001709A KR101964649B1 (ko) | 2011-07-20 | 2012-07-20 | 미디어 전송 방법 및 그 장치 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9258590B2 (ko) |
KR (1) | KR101964649B1 (ko) |
CA (1) | CA2842271C (ko) |
WO (1) | WO2013012287A2 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110419226B (zh) * | 2017-11-10 | 2021-01-08 | 华为技术有限公司 | 播放电视节目的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060027346A (ko) * | 2003-06-17 | 2006-03-27 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 스터핑 바이트 제거를 갖는 dvd-멀티미디어 홈 플래폼용스트림 파일 포맷 |
KR20080104071A (ko) * | 2004-07-20 | 2008-11-28 | 콸콤 인코포레이티드 | 비디오 압축에 대한 인코더 보조-프레임 레이트 업 컨버젼(ea-fruc)을 위한 방법 및 장치 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6522694B1 (en) | 1998-10-09 | 2003-02-18 | Matsushita Electric Industrial Co., Ltd. | Programmable filter for removing stuffing bits from an MPEG-2 bit-stream |
JP3892759B2 (ja) | 2002-05-23 | 2007-03-14 | 株式会社ケンウッド | 記録再生装置、記録装置、再生装置および記録再生方法 |
KR100531378B1 (ko) * | 2003-07-25 | 2005-11-28 | 엘지전자 주식회사 | 이동 tv 서비스에서의 정보전송방법 |
KR101486372B1 (ko) * | 2007-07-25 | 2015-01-26 | 엘지전자 주식회사 | 디지털 방송 시스템 및 데이터 처리 방법 |
CN101828398A (zh) * | 2007-10-15 | 2010-09-08 | 汤姆逊许可证公司 | 具有移动能力的高清晰电视传输 |
US8560552B2 (en) * | 2010-01-08 | 2013-10-15 | Sycamore Networks, Inc. | Method for lossless data reduction of redundant patterns |
-
2012
- 2012-07-20 CA CA2842271A patent/CA2842271C/en not_active Expired - Fee Related
- 2012-07-20 WO PCT/KR2012/005820 patent/WO2013012287A2/ko active Application Filing
- 2012-07-20 KR KR1020147001709A patent/KR101964649B1/ko active IP Right Grant
- 2012-07-20 US US14/233,326 patent/US9258590B2/en not_active Expired - Fee Related
-
2016
- 2016-01-05 US US14/988,465 patent/US9774899B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060027346A (ko) * | 2003-06-17 | 2006-03-27 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 스터핑 바이트 제거를 갖는 dvd-멀티미디어 홈 플래폼용스트림 파일 포맷 |
KR20080104071A (ko) * | 2004-07-20 | 2008-11-28 | 콸콤 인코포레이티드 | 비디오 압축에 대한 인코더 보조-프레임 레이트 업 컨버젼(ea-fruc)을 위한 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US9258590B2 (en) | 2016-02-09 |
KR101964649B1 (ko) | 2019-04-02 |
CA2842271C (en) | 2016-09-20 |
US20160345041A1 (en) | 2016-11-24 |
WO2013012287A3 (ko) | 2013-03-14 |
WO2013012287A2 (ko) | 2013-01-24 |
US9774899B2 (en) | 2017-09-26 |
US20140331268A1 (en) | 2014-11-06 |
CA2842271A1 (en) | 2013-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10009660B2 (en) | Media content transceiving method and transceiving apparatus using same | |
KR101613941B1 (ko) | 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치 | |
KR101727050B1 (ko) | 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치 | |
US20150113577A1 (en) | Hybrid transmission method through mmt packet format extension | |
US9602883B2 (en) | Method for transmitting/receiving media and device for transmitting/receiving using same | |
US10887242B2 (en) | Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal | |
CN109640162B (zh) | 码流转换方法及系统 | |
KR20130069582A (ko) | 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치 | |
KR101964649B1 (ko) | 미디어 전송 방법 및 그 장치 | |
JP2021197584A (ja) | 多重信号変換装置及びそのプログラム、並びに、受信機 | |
GB2499539A (en) | Method for transreceiving media content and device for transreceiving using same | |
CN113301426A (zh) | 视频直播的预览方法、装置、终端设备和存储介质 | |
KR20090130609A (ko) | 인터넷 프로토콜 텔레비전 수신기 및 채널 전환 방법 | |
US20080285679A1 (en) | Broadcasting service transmission/reception method and apparatus for providing fast access to broadcasting service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |