WO2013012287A2 - Method for receiving media and device thereof - Google Patents

Method for receiving media and device thereof Download PDF

Info

Publication number
WO2013012287A2
WO2013012287A2 PCT/KR2012/005820 KR2012005820W WO2013012287A2 WO 2013012287 A2 WO2013012287 A2 WO 2013012287A2 KR 2012005820 W KR2012005820 W KR 2012005820W WO 2013012287 A2 WO2013012287 A2 WO 2013012287A2
Authority
WO
WIPO (PCT)
Prior art keywords
media
stream
data
sync byte
transport stream
Prior art date
Application number
PCT/KR2012/005820
Other languages
French (fr)
Korean (ko)
Other versions
WO2013012287A3 (en
Inventor
김경호
김진필
차이바카
이현재
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to CA2842271A priority Critical patent/CA2842271C/en
Priority to US14/233,326 priority patent/US9258590B2/en
Priority to KR1020147001709A priority patent/KR101964649B1/en
Publication of WO2013012287A2 publication Critical patent/WO2013012287A2/en
Publication of WO2013012287A3 publication Critical patent/WO2013012287A3/en
Priority to US14/988,465 priority patent/US9774899B2/en

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/25Management 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/266Channel 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/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/4346Disassembling 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
    • 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/4344Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85403Content authoring by describing the content as an MPEG-21 Digital Item

Definitions

  • the present invention relates to a media receiving apparatus and a receiving method, and more particularly, to a media receiving apparatus and a receiving method for efficiently recording and playing a received media transport stream.
  • DMB digital multimedia broadcasting
  • TS MPEG-2 Transport Stream
  • digital broadcasting is developing in a direction in which more capacity is required, such as stereo 3D video broadcasting, ultra high definition (UHD) broadcasting, multi-view 3D video broadcasting, hologram broadcasting, and the like.
  • stereo 3D video broadcasting such as stereo 3D video broadcasting, ultra high definition (UHD) broadcasting, multi-view 3D video broadcasting, hologram broadcasting, and the like.
  • UHD ultra high definition
  • the digital broadcast receiver receives a high capacity media transport stream and provides a service for playing or storing it to the user.
  • One embodiment of the present invention is to provide a method and apparatus for receiving and efficiently recording a media transport stream such as MPEG-2 TS.
  • Another embodiment of the present invention is to provide a method and apparatus for recording a media transport stream such as MPEG-2 TS, etc., which can reduce waste of storage space while maintaining playback compatibility and performance.
  • a media reception method comprising: selecting a reception channel; Receiving a media transport stream transmitted over the receive channel; Generating a media storage stream based on the received media transport stream; And recording the media storage stream, wherein the media storage stream includes at least one sync byte representing the data removed from the media transport stream.
  • a media receiving apparatus for achieving the above object, the media receiving apparatus, comprising: a receiver for selecting a channel and receiving a media transport stream transmitted through the selected channel; A control unit for generating a media storage stream based on the received media transport stream; And a storage unit for recording the media storage stream, wherein the media storage stream includes at least one sync byte representing data removed from the media transport stream.
  • a media transport stream such as MPEG-2 TS
  • some unnecessary data is removed during playback or recording from among the received streams, and a sync byte indicating this is included in the media storage stream for storage. This reduces the storage capacity of the media file while ensuring playback compatibility.
  • information about some removed data may be explicitly or implicitly included in the media storage stream, thereby making it possible to restore the data.
  • some unnecessary data may be removed simultaneously with file indexing for storing a media transport stream, thereby improving storage space utilization while maintaining a recording speed.
  • FIG. 1 is a block diagram illustrating a configuration of a media transmission and reception system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a configuration of a receiving apparatus according to an embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating a media reception method according to an embodiment of the present invention.
  • FIG. 4 is a diagram for explaining the configuration of an MPEG-2 TS.
  • FIG. 5 illustrates a mechanism in which stuffing data and null packets are removed from a media transport stream according to an embodiment of the present invention.
  • FIG. 6 illustrates packet format syntax of a media storage stream and sample format syntax using the same when a null packet is removed according to an embodiment of the present invention.
  • FIG. 7 illustrates various types of MPEG2TSConstructor that may be included in the syntax of FIG. Constructor format syntax.
  • FIG. 8 illustrates a packet format of a media storage stream when null packets and stuffing bytes are removed according to another embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a method of removing a null packet from a media transport stream according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a method of restoring an original media transport stream from a media storage stream from which null packets have been removed according to another embodiment of the present invention.
  • FIG. 11 is a block diagram illustrating a file system structure of a receiving apparatus capable of recording a media storage stream according to an exemplary embodiment of the present invention.
  • FIG. 14 is a block diagram showing an IPTV receiver configuration according to an embodiment of the present invention.
  • 15 is a block diagram showing another embodiment of the configuration of the IPTV receiver according to the present invention, and shows the configuration of the IPTV receiver in functional blocks.
  • components expressed as means for performing the functions described in the detailed description include all types of software including, for example, a combination of circuit elements or firmware / microcode, etc. that perform the functions. It is intended to include all methods of performing a function which are combined with appropriate circuitry for executing the software to perform the function.
  • the invention, as defined by these claims, is equivalent to what is understood from this specification, as any means capable of providing such functionality, as the functionality provided by the various enumerated means are combined, and in any manner required by the claims. It should be understood that.
  • the illustrated transmission and reception system may include a transmission device 100 and a reception device 200.
  • the transmitter 100 and the receiver 200 may transmit and receive data using a broadcast based or IP (Internet Protocol) based transmission system.
  • IP Internet Protocol
  • the transmitting device 100 may receive the content from the content provider, convert the content, transmit the content, or store the content in a media DB (media DataBase).
  • a media DB media DataBase
  • the media transport stream provided from the content provider may be an MPEG-2 Transport Stream (MPEG-2 TS) widely adopted in various application fields as a media transport stream according to the MPEG-2 standard, and may be a transmission device ( 100 may convert the MPEG-2 TS into a media file format defined by ISO, and then transmit the data through a network such as a broadcasting network or an internet network, or store it in the media DB.
  • MPEG-2 Transport Stream MPEG-2 Transport Stream
  • a transmission device 100 may convert the MPEG-2 TS into a media file format defined by ISO, and then transmit the data through a network such as a broadcasting network or an internet network, or store it in the media DB.
  • the reception apparatus 200 may receive a media transport stream from the transmission device 100, convert the received media transport stream, play the converted media transport stream, or store the media transport stream in a local storage medium.
  • the reception device 200 may be, for example, a network TV, a smart TV, an IPTV, a set-top box, or the like, and may be implemented in a smartphone, a laptop, and the like as necessary.
  • the reception apparatus 200 may convert a media transport stream received from the transmission apparatus 100 into an MPEG-2 TS format, process the same, and then play or store it in the local storage medium.
  • the receiving device 200 may index and store MPEG-2 TS encapsulated in a media file format.
  • the MPEG-2 TS targets lossy transport systems, such as digital video broadcasting environments such as Digital Video Broadcasting (DVB) or Advanced Television System Committee (ATSC).
  • DVD Digital Video Broadcasting
  • ATSC Advanced Television System Committee
  • the MPEG-2 TS-based media is widely used, and its encoding and decoding engines are usefully used in digital video broadcasting environments.
  • the reception apparatus 200 reduces redundancy of MPEG-2 TS-based media at the same time as storing or playing the received media transport stream, thereby reducing waste of storage space and increasing efficiency. Can improve.
  • the receiving device 200 may perform compression or conversion for redundancy removal on MPEG-2 TS-based media and store the media storage stream format in local storage.
  • the receiving device 200 may record the compressed or converted media storage stream in the local storage.
  • the receiving device 200 may perform the compression or conversion at the same time as the file indexing process and record the data in the local storage.
  • the receiving device 200 may play the recorded media storage stream according to a user request.
  • the reception apparatus 200 may restore the removed data to generate an original transport stream and transmit the restored stream to the outside through a network.
  • the receiving apparatus 200 illustrated includes a receiving unit 210, a control unit 220, a display unit 230, and a storage unit 240. ).
  • the receiver 210 receives an MPEG-2 TS media transport stream.
  • the controller 220 may remove some data from the input MPEG-2 TS media transport stream, convert the data into a storage stream, and store the data in the storage 240.
  • the storage stream may include at least one sync byte indicating that some data has been removed.
  • MPEG-2 TS is defined for use in lossy systems, and has a fixed packet size of 188 bytes to satisfy the requirements of an Asynchronous Transfer Mode (ATM) network.
  • ATM Asynchronous Transfer Mode
  • the timing and buffering model is mainly fixed. Focus on the channel at the bit rate.
  • streams transmitted in accordance with network requirements may contain unnecessary data for storing and playing back already transmitted streams. Accordingly, the method for receiving a media transport stream according to an embodiment of the present invention can remove data unnecessary for storing and playing back a previously received transport stream, and store the data in a media file format compatible with the MPEG-2 TS system.
  • the unnecessary data removed from the MPEG-2 TS is syntax-based redundancy, which is a specific syntax element included in the header of the MPEG-2 TS, stuffing bytes, or nulls. It may be a packet.
  • the reception apparatus 200 may insert information about data removed from the MPEG-2 TS into a media stream having a storage format using sync bytes.
  • the storage format may be compatible with the MPEG-2 TS format.
  • control unit 220 of the reception apparatus 200 removes a specific null packet from the MPEG-2 TS, and inserts a sync byte indicating the presence of a null packet at a position where the null packet is removed, thereby removing the stored stream.
  • the capacity can be reduced.
  • FIG. 3 is a flowchart illustrating a media receiving method according to an embodiment of the present invention in conjunction with a block diagram showing a configuration of a transmitting apparatus according to an embodiment of the present invention shown in FIG. 2. do.
  • the receiving unit 210 of the receiving device 200 receives a media transport stream (S110).
  • the receiver 210 may receive a media transport stream in the form of MPEG2 TS from an internet network or a broadcast network through HTTP.
  • the receiver 210 may include a tuner, a demodulator, or a network interface.
  • the received media transport stream may be delivered to the controller 220.
  • the controller 220 removes some data from the received media transport stream (S120).
  • the controller 220 may remove redundancy data unnecessary for reproduction or storage of the input MPEG-2 TS.
  • a transport packet consists of a header of 4 bytes and a payload of 184 bytes following the header, so that the size of 188 bytes is independent of the intended transmission mechanism.
  • the header includes an 8-bit sync byte, a 1-bit transport error indicator, a 1-bit unit start indicator, and a 1-bit transport packet priority. ), 13-bit PID (Packet Identification), 2-bit scramble control (transport scrambling control), 2-bit adaptation field control (AFC) and 4-bit continuity counter (continuity counter) can be included. .
  • PID Packet Identification
  • 2-bit scramble control transport scrambling control
  • AFC adaptation field control
  • continuity counter continuity counter
  • PSI Program Specific Information
  • PES Program Elementary Stream
  • the stuffing byte may repeatedly insert bytes having a value of 0xFF into the payload of MPEG-2 TS in order to satisfy a fixed bit rate of 188 bytes per packet, thus unnecessary for storage and playback. Can generate data capacity.
  • unnecessary null packets may be inserted into the MPEG-2 TS to achieve a fixed bandwidth or the required muxiplexing ratio.
  • the decoder removes null packets as described above and then performs decoding.
  • the PID included in the header is 0x1FFF
  • this may indicate that the packet is a null packet
  • the payload of the null packet may be filled with all zeros or 0xFF bytes.
  • control unit 220 of the receiving apparatus 200 removes unnecessary data as described above, for example, stuffing bytes or null packets, from the received MPEG-2 TS, thereby saving storage space. It can be secured.
  • the stuffing byte and the null packet of the MPEG-2 TS are just examples according to an exemplary embodiment of the present invention, and the present invention is not limited thereto.
  • the reception apparatus 200 may store and reproduce the data. Unnecessary data can be removed from the MPEG-2 TS.
  • the controller 220 generates a media storage stream based on the media transport stream from which data is removed (S130).
  • the media storage stream may be recorded in the storage unit 240 and may have an MPEG2-TS compatible format that can be reproduced by the receiving apparatus 200 or another device as necessary.
  • the controller 220 may reconstruct the MPEG-2 TS from which unnecessary data is removed in step S120 into a media storage stream according to the ISO / IEC 14496-12 ISO Base Media file format. Since the reconstructed media storage stream is small and maintains compatibility with the existing MPEG2-TS format, a general MPEG-2 TS decoder can play the reconstructed media storage stream without any problem.
  • the controller 220 allocates a sync byte representing the removed data and inserts it into the media storage stream (S140).
  • the controller 220 may allocate information signaling the data removed in step S120 as a specific value of the sync byte, and include the sync byte in the media storage stream. Since the sync byte is an essential component of MPEG2-TS, signaling for data removal can be performed without additional data through signaling using the sync byte.
  • the controller 220 may play back a voice or video by referring to the sync byte of the media storage stream. In playback, data removed from the media transport stream may be ignored depending on the value assigned to the sync byte.
  • controller 220 may restore the removed data based on the sync byte.
  • the controller 220 may restore the media storage stream to the transport stream originally received by restoring the removed null packet based on the sync byte. .
  • the controller 220 may place information for restoring the original transport stream behind the sync byte. Accordingly, the controller 220 may restore the original transport stream by restoring the null packet and the stuffing byte based on the sync byte and the restoration information.
  • controller 220 records the media storage stream including the sync byte in the storage 240 (S150).
  • the controller 220 may receive an MPEG2-TS media transport stream corresponding to a program reserved for recording by a user, generate a media storage stream, and record the media storage stream in the storage 240.
  • the media storage stream recorded in the storage unit 240 may be played in response to a recording scheduled program play request of the user.
  • the controller 220 may transmit the media storage stream recorded in the storage 240 to an external device through a network interface.
  • the external device supports the playback of MPEG2-TS
  • the media storage stream recorded by the controller 220 may be used by other devices that comply with the MPEG standard. It can have high compatibility with.
  • the storage unit 240 may store a program for processing and controlling each signal in the control unit 240, or may store a signal processed image, audio, or data signal. In addition, the storage unit 240 may perform a function for temporarily storing an image, audio, or data signal input from the receiver 210. In addition, the storage unit 240 may store information on a predetermined broadcast channel through a channel storage function.
  • the storage unit 240 may be, for example, a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD). Or a storage medium of at least one type of XD memory, etc.), RAM, ROM (EEPROM, etc.).
  • FIG. 5 illustrates a mechanism in which stuffing data and null packets are removed from a media transport stream according to an embodiment of the present invention.
  • FIG. 5A illustrates a media transport stream (MPEG2 TS) received by the receiver 210.
  • Each packet may contain 1 byte of sync byte and 187 bytes of data byte.
  • FIG. 5 (b) shows a media storage stream generated from a media transport stream.
  • the controller 220 may generate a media storage stream having a new format in which stuffing bytes and null packets are removed from the media transport stream.
  • A, B, and C may be stuffing bytes allocated as 0xFF, and L, M, and N may be data bytes including actual data.
  • the controller 220 may first parse the first packet, remove the stuffing bytes A, B, and C from the media transport stream, and generate a media storage stream having a data portion of L, M, and N only.
  • the controller 220 may allocate the sync byte of the packet from which the stuffing byte has been removed, to a specific value in the media storage stream. For example, 0x02 may be allocated to the sync byte of the packet from which the stuffing byte has been removed.
  • the controller 220 may configure recovery information for restoring the removed stuffing byte.
  • the restoration information may include entry_count and offset_length_table.
  • the control unit 220 may place the restoration information after the sync byte, and the restoration information may be used to restore the original media transport stream.
  • the entry_count of the restoration information may indicate the number of data byte intervals separated by stuffing bytes.
  • Offset_length_table of the restoration information may include a table that sequentially indicates the length of each data byte interval.
  • the controller 220 determines that the second packet of the media transport stream is a null packet, and may remove the same and insert it into the media storage stream as shown in FIG. 5B.
  • the controller 220 may allocate the sync byte of the packet from which the null packet is removed, to a specific value in the media storage stream.
  • the sync byte of the packet from which the null packet is removed may be allocated to 0x01 as shown in FIG. 5 (b), but another value may be assigned.
  • the sync byte of a packet from which null packets have been removed may be assigned to 0xFF.
  • the controller 220 may insert the same into the media storage stream as shown in FIG. 5 (b) while maintaining the sync byte at 0x47.
  • FIG. 6 illustrates packet format syntax of a media storage stream and sample format syntax using the same when a null packet is removed according to an embodiment of the present invention.
  • FIG. 7 illustrates various types of MPEG2TSConstructor that may be included in the syntax of FIG. Constructor format syntax.
  • the media storage stream recorded by the controller 220 may have a packet format according to sync bytes.
  • Each packet may include packet data according to a preceding byte, a sync byte, a trailing byte, and a sync byte.
  • the preseeding byte represents additional data that the receiving device 200 may add in front of the packet data.
  • the additional data may include a time stamp.
  • the sync byte indicates the format of transport stream packet data following the sync byte.
  • sync byte is 0x47
  • 187 bytes of data following the sync byte may include remaining data except for the sync byte in the MPEG2-TS packet of the received media transport stream as it is in the packet field. If packet data is actually input to the streaming channel, this value should always be set to 0x47.
  • the data following the sync byte includes header data length, number of constructors, transmission error indicator, payload unit start indicator, transmission priority, packet identifier, transmission scrambling control, and adaptive field control.
  • the MPEG2 TS sample constructor may point to a track that is indexed by a track reference index field in a track reference box whose reference type is hint.
  • the MPEG2 TS constructor may include an MPEG2 TS constructor (MPEG2TConstructor) having a configuration type field, an MPEG2 TS immediate constructor (MPEG2TSImmediateConstructor), an MPEG2 TS sample constructor (MPEG2TSSampleConstructor), and an MPEG2 TS FF duplicate constructor (MPEG2TSReplicatedFFConstructor).
  • MPEG2TConstructor MPEG2TConstructor
  • MPEG2TSImmediateConstructor MPEG2TSImmediateConstructor
  • MPEG2TSSampleConstructor MPEG2TS sample constructor
  • MPEG2TSReplicatedFFConstructor MPEG2TSReplicatedFFConstructor
  • the MPEG2 TS Constructor may follow a format defined in ISO 14496-12.
  • the MPEG2 TS FF Replication Constructor may include a duplicated count field indicating how many times a particular value is repeated, for example, 0xFF bytes.
  • the reception apparatus 200 may briefly indicate a plurality of 0xFF bytes in the received media transport stream using the MPEG2 TS FF copy constructor.
  • the reception device 200 may repeatedly generate 0xFF data and include the packet in the packet when there is an MPEG2 TS FF copy constructor at the time of reproduction.
  • the reception apparatus 200 may remove 0xFF bytes repeated in the transport stream packet instead of the null packet, and may indicate this by using the MPEG2 TS FF replication constructor.
  • MPEG2 TS FF copy constructor for the media storage stream format has the effect of further reducing the capacity of the media storage stream from which null packets have been removed.
  • the MPEG2 TS FF copy constructor may be used only when the number of repeated bytes is greater than or equal to a certain size.
  • the MPEG2 TS FF copy constructor may be included in the media storage stream data only when 0xFF is repeated more than the size of the copy count field. Accordingly, when unnecessary data is repeated in the receiver storage device or the storage device of the server, it may be removed as necessary.
  • the packet data following it may include such MPEG2 TS constructors in the form of an array of num_constructors size.
  • One or a plurality of stream packets may be configured by a single or a combination of MPEG2 TS constructors.
  • the MPEG2 TS Immediate Constructor may include a PES header.
  • the MPEG2 TS Sample Constructor may reference data in an associated media track.
  • the MPEG2 TS Replicated FF constructor when the MPEG2 TS Replicated FF constructor is not used, the sum of the header data length value and the value of the data length field for all the constructors of one MPEG2 TS packet is the stream packet. It can be 187 minus one byte from the length of.
  • the sync byte indicates that the null packet at that position has been removed.
  • the control unit 220 may implicitly indicate that the null packet in the media storage stream has been removed by removing the data. It can also be indicated explicitly through the 0xFF value assignment for the sync byte.
  • the trailing byte indicates additional data that the reception apparatus 200 may add after the packet data.
  • the additional data may include a checksum indicating whether there is an error.
  • FIG. 8 illustrates a packet format of a media storage stream when null packets and stuffing bytes are removed according to another embodiment of the present invention.
  • the sync byte may indicate that the null packet is removed, as in the case of 0xFF in FIG.
  • the size of the discarded null packet may be 187 bytes.
  • the sync byte may indicate that the stuffing byte has been removed.
  • the packet from which the stuffing byte is removed may include recovery information for reconstructing the stuffing byte.
  • the restoration information may include entry_count information of the data sections separated by the removed stuffing byte, offset information of each data section, and length information of each section.
  • the controller 220 may restore the original media transport stream from the media storage stream from which the stuffing byte has been removed.
  • the controller 220 may restore the original media transport stream packet by arranging data sections having a length of length for each offset in the packet and filling the remaining portions with stuffing bytes of 0xFF. .
  • FIG. 9 is a flowchart illustrating a method of removing a null packet from a media transport stream according to an embodiment of the present invention.
  • the receiver 210 receives a media transport stream (S200).
  • the receiver 210 may receive a media transport stream such as an MPEG2 TS transmitted through a broadcast channel or an internet network according to a user request.
  • the receiver 210 may transfer the received media transport stream to the controller 220.
  • the controller 220 sequentially acquires packets from the received media transport stream (S210).
  • the controller 220 may select a media transport stream of a program that the user reserves or requests for storage from among the received media transport streams, and obtain packets included in the media transport stream for storage of the media transport stream.
  • the controller 220 determines whether the obtained packet is a null packet (S220).
  • a null packet can typically contain a fixed data pattern, for example zeros. Accordingly, the controller 220 may determine whether the packet is a null packet based on whether the fixed data pattern exists in the packet.
  • the controller 220 may separately include a null packet detector for determining a null packet.
  • the null packet detector acquires a null packet by detecting a preamble of the media transport stream packet data received at the receiver 210 and determining whether subsequent data bits are equal to a fixed data pattern, for example, consecutive zeros. It can be transmitted to the control unit 220.
  • the controller 220 allocates a sync byte corresponding to the null packet to a specific value, for example, 0xFF (S230), and stores the allocated sync byte in the storage 240 (S240). .
  • the controller 220 may remove the packet data corresponding to the null packet from the media transport stream received by the receiver 210 and record the packet data in the media storage stream format in the storage 240. At this time, the controller 220 may include the sync byte allocated with 0xFF in the media storage stream so as to correspond to the null packet and record it.
  • control unit 220 extracts packet data from the packet (S250), and allocates sync bytes according to the contents of the data (S260).
  • the controller 220 may designate a sync byte corresponding to the data of the packet in order to store the packet in a media storage stream format.
  • the sync byte may be determined according to the content of the packet data. For example, when the above-described MPEG2-TS constructor is needed to store or reproduce packet data, or when the packet data includes header information or the like, the controller 220 may designate a sync byte as 0x00. When the packet data completely includes only video or audio data of MPEG-2 TS, the controller 220 may designate a sync byte as 0x47.
  • the controller 220 determines whether the currently acquired packet is the last packet of the received media transport stream (S280).
  • the controller 220 may finish recording the media storage stream, perform the necessary processing, and then terminate the operation.
  • the controller 220 may play back the stored media storage stream or transmit the stored media storage stream to another device or another storage medium according to a user request.
  • step S210 is performed again to sequentially obtain the next packet of the received media transport stream.
  • the reception apparatus 200 may reduce the storage space while storing the received media transport stream in a format compatible with the existing MPEG-2 TS decoding system.
  • the receiving device 200 or another MMPEG-2 TS playable device can simply play back the media storage stream recorded by the above method.
  • the controller 220 may receive a playback selection of a media storage stream, and sequentially obtain media storage stream data selected from the storage 240 according to sync bytes.
  • the controller 220 may acquire the sync byte first, and if the sync byte is 0xFF, ignore the packet according to the MPEG-2 TS standard and process a packet corresponding to the next sync byte. If it is not 0xFF, the controller 220 can reproduce the corresponding packet data up to the next sync byte.
  • the method of receiving a media transport stream can record an MPEG-2 TS format of a received media transport stream without additional information while recording in a media storage stream in which unnecessary null packets are removed.
  • the information about the media storage stream may be separately stored in a hint track in the media storage stream for later transmission, but is not limited thereto.
  • unnecessary null packets or stuffing packets may be removed to be recoverable.
  • FIG. 10 is a flowchart illustrating a method of restoring an original media transport stream from a media storage stream from which null packets have been removed according to another embodiment of the present invention.
  • the controller 220 determines transport stream restoration (S300).
  • the controller 220 may determine the restoration of the media transport stream that was originally received according to the user input.
  • the controller 220 may load the media storage stream from the storage 240 to restore the media transport stream.
  • the controller 220 sequentially acquires sync bytes from the media storage stream (S310), and determines whether the sync byte value is 0xFF (S320).
  • the controller 220 restores the sync byte according to the packet data since it is not a null packet (S330).
  • the sync byte may be designated, for example, 0x47 indicating a transport stream packet.
  • the controller 220 inserts packet data up to the next sync byte into the transport stream to be restored (S340).
  • the control unit 220 determines to be a null packet (S350), and restores the sync byte (S370). Since the null packet is also a transport stream packet for bandwidth maintenance, the sync byte may be designated as 0x47.
  • the controller 220 In response to the restored sync byte, the controller 220 generates a null packet and inserts the generated null packet into the transport stream (S370).
  • controller 220 determines whether the restoration is completed (S380). When the restoration ends, the controller 220 may transmit the restored transport stream to the outside. If the restoration is not finished, step S310 may be performed again.
  • the reception apparatus 200 enables the restoration of the media transport stream from the media storage stream from which null packets have been removed using the sync byte.
  • FIG. 11 is a block diagram illustrating a file system structure of a receiving apparatus capable of recording a media storage stream according to an exemplary embodiment of the present invention.
  • a file system may be divided into a user level, a kernel level, and a hardware level.
  • the user level DMA program module 300 forwards file system requests originating from applications in the user domain to the kernel level and receives the responses.
  • each block constituting the kernel level is a core of an operating system, and when a receiver 200 is driven, a hardware driver is driven, security of hardware and a processor in an image display device, efficient management of system resources, and memory management. , At least one of providing an interface to hardware by hardware abstraction, multiprocessing, and schedule management according to the multiprocessing.
  • kernel-level blocks may be implemented based on various operating systems (OS) such as Unix-based (Linux) and Windows-based.
  • OS operating systems
  • Linux-based Linux-based
  • Windows-based Windows-based
  • OS kernel it may be implemented as a general-purpose kernel usable in other electronic devices.
  • the media transport stream reception method according to an embodiment of the present invention may be performed by the kernel level MPEG-2 TS compression module 310.
  • the MPEG-2 TS compression module 310 receives the MPEG-2 TS media transport stream in response to a request input through the system call module 305 from the user level, and eliminates null packets or stuffing bytes according to an embodiment of the present invention. May be performed and transferred to the file system 320.
  • the MPEG-2 TS compression module 310 may transfer data, in which each MPEG-2 TS packet or consecutive packets are combined, to a user level MPEG-2 TS system decoder using a DMA channel.
  • the kernel may optionally provide an interface named / DEV / MP2T, for example, to directly access the file system through the MPEG-2 TS compression module 310 without the help of a DMA channel.
  • the file system 320 indexes the media storage stream file in which unnecessary data is removed from the MPEG-2 TS compression module 310 and compressed, and stores the media storage stream file in the hardware storage device 350 through the device driver 340. To this end, the file system 320 may be subjected to process control of the control assistance system 315.
  • the file system 320 is connected to the character module 335 and the block module 330 for data processing.
  • the block module 330 may need a buffer cache 325 to store as much as the unit size because data is transmitted in a specific block unit.
  • the character module 335 transmits data in character units, which are basic data units of the kernel, and thus may not require a buffer.
  • the device driver 340 controls the device connected through the hardware controller 345.
  • the device driver 340 may store data indexed by the file system 320 in the storage device 350 through the hardware controller 345.
  • null packets are removed by the MPEG-2 TS compression module 310 and compressed and stored in the storage device 350 at the same time as file indexing. Therefore, according to an embodiment of the present invention, it is possible to secure storage space only by removing null packets without a delay time caused by compression. Therefore, efficient storage space utilization is possible.
  • FIG. 12 shows a media transport stream as an experiment target
  • FIG. 13 shows the size and compression ratio of data according to each experiment result.
  • segments (byte area duration, sec), original size (bytes), size in which null packets are removed (bytes), compression ratio (%) when null packets are removed, and stuffing bytes are removed.
  • the size of the media storage stream from which null packets or stuffing bytes have been removed results in a significant storage capacity reduction than the original size.
  • the compression ratio due to the reduction of the storage capacity does not differ significantly from gzip, which is a compression only application.
  • the media storage stream format according to an embodiment of the present invention has the compatibility that can be played as it is without decompression process, such as gzip, thereby reducing the storage capacity and bring the effect of being able to play without delay in existing playback devices Can be.
  • Media receiving and processing methods as described with reference to FIGS. 1 to 13 may be performed by an IPTV receiver according to an embodiment of the present invention.
  • FIG. 14 is a block diagram showing an IPTV receiver configuration according to an embodiment of the present invention.
  • the IPTV receiver according to an embodiment of the present invention may include a separate tuner or the like for receiving terrestrial broadcasting, cable broadcasting, satellite broadcasting, or the like.
  • a separate tuner or the like for receiving terrestrial broadcasting, cable broadcasting, satellite broadcasting, or the like.
  • a description will be given of the configuration of receiving an IPTV service provided using an IP network.
  • ITF represents an Open IPTV Terminal Function, which may mean a receiver composed of a function module required to support the IPTV service.
  • the IPTV receiver includes a network interface 901, a TCP / IP manager 902, a service delivery manager 904, a PVR manager 905, Demultiplexer (908), Data Decoder (907), Audio / Video Decoder (912), A / V Display & OSD Module (915), Application Manager ( Application Manager (913, 914), Service Information Database (SI & Metadata DB) 911, Service Discovery Manager (909), Service Control Manager (903), Metadata Manager (Metadata Manager) 910 and a content database unit (Content DB) (906).
  • the network interface unit 901 receives packets received from a network and transmits the packets to the network. That is, the network interface unit 901 receives a service, media content, etc. from a service provider through a network.
  • the TCP / IP manager 902 is involved in packet transmission from the source to the destination for the packet received by the IPTV receiver and the packet transmitted by the IPTV receiver. In addition, the TCP / IP manager 902 classifies the received packet to correspond to an appropriate protocol, and sends it to the service delivery manager 904, the service discovery manager 909, the service control manager 903, and the metadata manager 910. Output sorted packets.
  • the service delivery manager 904 is responsible for controlling the received service data.
  • RTP / RTCP can be used to control real-time streaming data.
  • the service delivery manager 904 parses the received data packet according to the RTP and transmits it to the demultiplexer 908 or under the control of the service manager 914.
  • the content database unit 906 stores the content.
  • the service delivery manager 904 also feeds back the network reception information to the server side providing the service using RTCP.
  • the demultiplexer 908 demultiplexes the received packet into audio, video, program specific information (PSI) data, and the like, and transmits the demultiplexer 908 to the audio / video decoder 912 and the data decoder 907, respectively.
  • PSI program specific information
  • the data decoder 907 decodes service information such as, for example, program specific information (PSI). That is, the data decoder 907 receives and decodes the demultiplexed PSI section, the program and service information protocol (PSIP) section, or the service information (DVB-SI) section from the demultiplexer 908.
  • PSI program specific information
  • PSIP program and service information protocol
  • DVB-SI service information
  • the data decoder 907 decodes the received sections to create a database of service information, and stores the database of the service information in the service information database unit 911.
  • An audio / video decoder 912 decodes the video data and the audio data received at the demultiplexer 908.
  • the audio data and the video data decoded by the audio / video decoder 912 are provided to the user through the display unit 915.
  • the application manager manages the overall state of the IPTV receiver, provides a user interface, and manages other managers.
  • the application manager includes a user interface manager 913 and a service manager 914.
  • the user interface manager 913 provides a graphical user interface (GUI) for a user using an OSD (On Screen Display), etc., and receives a key input from a user to perform a receiver operation according to the input. For example, upon receiving a key input related to channel selection from a user, the key input signal is transmitted to the service manager 914.
  • GUI graphical user interface
  • the service manager 914 controls a manager associated with a service, such as a service delivery manager 904, a service discovery manager 909, a service control manager 903, and a metadata manager 910.
  • the service manager 914 creates a channel map and selects a channel using the channel map according to a key input received from the user interface manager 913.
  • the service manager 914 receives service information of a channel from the data decoder 907 and sets an audio / video packet identifier (PID) of the selected channel to the demultiplexer 908.
  • PID audio / video packet identifier
  • the service discovery manager 909 provides information necessary to select a service provider that provides a service. Upon receiving a signal regarding channel selection from the service manager 914, the service discovery manager 909 finds a service using the information.
  • the service control manager 903 is responsible for selecting and controlling services.
  • the service control manager 903 uses IGMP or RTSP when the user selects a Live Broadcasting service such as a conventional broadcasting method, and uses RTSP when selecting a service such as VOD (Video On Demand). Can be used to select and control services.
  • IGMP Live Broadcasting service
  • RTSP Video On Demand
  • the RTSP protocol may provide a trick mode for real time streaming.
  • the service control manager 903 may initiate and manage a session through the IMC gateway using an IP multimedia subsystem (IMS) or a session initiation protocol (SIP).
  • IMS IP multimedia subsystem
  • SIP session initiation protocol
  • the protocols are one embodiment, and other protocols may be used depending on implementation.
  • the metadata manager 910 manages metadata associated with a service and stores the metadata in the service information database unit 911.
  • the service information database unit 911 stores service information decoded by the data decoder 907, metadata managed by the metadata manager 910, and information necessary to select a service provider provided by the service discovery manager 909. do. In addition, the service information database unit 911 may store setup data for the system.
  • the service information database unit 911 and the content database unit 906 may be implemented using nonvolatile memory (NVRAM) or flash memory, respectively, and are two logically separated areas on the same storage area. Can be implemented.
  • NVRAM nonvolatile memory
  • flash memory flash memory
  • the PVR manager 905 is a module for recording and playing back live streaming content.
  • the PVR manager 905 may collect metadata about the recorded content and generate additional information provided to the user such as a thumbnail image or an index.
  • the function of the controller of the IPTV receiver capable of removing null packets is the TCP / IP manager 902, the service delivery manager 904, the PVR manager 905, the application manager 913, 914, a service discovery manager 909, a service control manager 903, and a metadata manager 910 may be divided into a plurality of modules.
  • the TCP / IP manager 902 filters the SD & S information using the target package information as described above, so that the network interface unit 901 corresponds to a specific package (for example, a package to which an IPTV receiver is subscribed). Only the payload or segment may be requested to the server and received.
  • the TCP / IP manager 902 filters the SD & S information received by the multicast method using the target package information so that only payloads or segments corresponding to a specific package are parsed and processed by the data decoder 907. can do.
  • FIG. 15 is a block diagram showing another embodiment of the configuration of the IPTV receiver according to the present invention, and shows the configuration of the IPTV receiver in functional blocks.
  • the solid line arrow shown in FIG. 15 corresponds to the data path, and the dotted line arrow corresponds to the control signal path.
  • Cable modem, DSL modem, etc (1001) is an interface that allows the ITF to be connected to the IP network at the physical level, and demodulates the signal transmitted through the physical medium to restore the digital signal.
  • the Ethernet NIC 1002 restores the signal received through the physical interface to IP data, and the IP Network Stack 1007 processes each layer according to the IP Protocol stack.
  • the XML Parser 1009 parses an XML Document among received IP data
  • the File Handler 1008 processes data transmitted in the form of File through FLUTE among the received IP data.
  • the SI Handler 1011 processes the part corresponding to the IPTV service information among the received File type data and stores it in the storage 1012, and the EPG Handler 1010 corresponds to the IPTV EPG information among the received File type data.
  • the portion may be processed and stored in Storage 1012.
  • the storage 1012 stores various data such as the SI and the EPG.
  • the SI Decoder 1013 receives the SI data from the Storage 1012 and analyzes it to obtain channel map information.
  • the EPG Decoder 1014 analyzes the EPG data stored in the Storage 1012 to restore necessary information for the EPG configuration. do.
  • the ITF Operation Controller 1015 is a main controller that controls the operation of an ITF such as a channel change or an EPG display.
  • the channel service manager 1016 may perform an operation such as changing a channel according to a user input, and the application manager 1017 may perform an application service such as an EPG display according to the user input.
  • the MPEG-2 Demultiplexer 1003 may extract MPEG-2 Transport Stream data from the received IP datagram and deliver the MPEG-2 Transport Stream data to the corresponding module according to the packet identification information (PID).
  • PID packet identification information
  • the MPEG-2 PSI / PSIP Parser 1004 extracts and parses PSI / PSIP data including packet identification information (PID) of A / V data or access information about a program element from the MPEG-2 Transport Stream. Can be.
  • PID packet identification information
  • the A / V Decoder 1005 decodes the input audio and video data and transmits the decoded audio and video data to the display module 1006.
  • the display module 1006 may output decoded A / V data or an application.
  • a media transmission / reception method and apparatus have been described taking an example in which a media transport stream transmitted / received between a transmitting device 100 and a receiving device 200 is an MPEG-2 TS.
  • the present invention is not limited thereto and may be applied to various transport stream formats in addition to the MPEG-2 TS.
  • the above-described method for receiving a media transport stream according to the present invention can be stored in a computer-readable recording medium that is produced as a program for execution on a computer.
  • Examples of the computer-readable recording medium include ROM, RAM, CD- ROMs, magnetic tapes, floppy disks, optical data storage, and the like, and also include those implemented in the form of carrier waves (eg, transmission over the Internet).
  • the computer readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • functional programs, codes, and code segments for implementing the method can be easily inferred by programmers in the art to which the present invention belongs.

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

A method for receiving media according to one embodiment of the present invention comprises the following steps: selecting a receiving channel; receiving a media transport stream transmitted through the receiving channel; generating a media storage stream based on the received media transport stream; and recording the media storage stream. The media transport stream comprises at least one sync bite which represents data removed from the media transport stream.

Description

미디어 수신 방법 및 그 장치Method of receiving media and apparatus thereof
본 발명은 미디어 수신 장치 및 수신 방법에 관한 것이며, 더욱 상세하게는 수신되는 미디어 전송 스트림을 효율적으로 기록하고 재생하기 위한 미디어 수신 장치 및 수신 방법에 관한 것이다.The present invention relates to a media receiving apparatus and a receiving method, and more particularly, to a media receiving apparatus and a receiving method for efficiently recording and playing a received media transport stream.
현재, 지상파, 케이블, 위성 또는 DMB(Digital Multimedia Broadcasting) 등과 같은 디지털 방송들은 대부분 MPEG-2 TS(Transport Stream)을 이용하여 AV 컨텐츠를 스트리밍하고 있다.Currently, digital broadcasts such as terrestrial, cable, satellite, or digital multimedia broadcasting (DMB) are mostly streaming AV content using MPEG-2 Transport Stream (TS).
또한, 디지털 방송은 스테레오 3D 비디오 방송, UHD(Ultra High Definition) 방송, 다시점 3D 비디오 방송, 홀로그램 방송 등과 같이 보다 많은 용량이 요구되는 방향으로 발전해 나가고 있다.In addition, digital broadcasting is developing in a direction in which more capacity is required, such as stereo 3D video broadcasting, ultra high definition (UHD) broadcasting, multi-view 3D video broadcasting, hologram broadcasting, and the like.
한편, 디지털 방송 수신기는 이와 같은 추세에 따라 고용량 미디어 전송 스트림을 수신하여 사용자에게 재생하거나 저장하는 서비스를 제공하고 있다.On the other hand, according to this trend, the digital broadcast receiver receives a high capacity media transport stream and provides a service for playing or storing it to the user.
그러나, 고용량 미디어 전송 스트림은 전송에 최적화되어 있기 때문에, 재생 및 기록하는데 있어서 비효율적일 수 있다.However, since high capacity media transport streams are optimized for transport, they may be inefficient in playback and recording.
본 발명의 일실시예는 MPEG-2 TS 등과 같은 미디어 전송 스트림을 수신하여, 효율적으로 기록할 수 있는 방법 및 장치를 제공하는 것을 목적으로 한다.One embodiment of the present invention is to provide a method and apparatus for receiving and efficiently recording a media transport stream such as MPEG-2 TS.
본 발명의 다른 실시예는 MPEG-2 TS 등과 같은 미디어 전송 스트림을 기록함에 있어서, 재생 호환성 및 성능을 유지하면서도 저장 공간의 낭비를 줄일 수 있는 방법 및 장치를 제공하는 것을 목적으로 한다.Another embodiment of the present invention is to provide a method and apparatus for recording a media transport stream such as MPEG-2 TS, etc., which can reduce waste of storage space while maintaining playback compatibility and performance.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 미디어 수신 방법은, 수신 채널을 선택하는 단계; 상기 수신 채널을 통해 전송되는 미디어 전송 스트림을 수신하는 단계; 상기 수신된 미디어 전송 스트림에 기초하여 미디어 저장 스트림을 생성하는 단계; 및 상기 미디어 저장 스트림을 기록하는 단계를 포함하고, 상기 미디어 저장 스트림은 상기 미디어 전송 스트림 중 제거된 데이터를 나타내는 적어도 하나의 동기 바이트를 포함한다.In accordance with another aspect of the present invention, there is provided a media reception method comprising: selecting a reception channel; Receiving a media transport stream transmitted over the receive channel; Generating a media storage stream based on the received media transport stream; And recording the media storage stream, wherein the media storage stream includes at least one sync byte representing the data removed from the media transport stream.
또한, 상기 목적을 달성하기 위한 본 발명의 실시예에 따른 미디어 수신 장치는, 미디어 수신 장치에 있어서, 채널을 선택하고, 선택된 채널을 통해 전송되는 미디어 전송 스트림을 수신하는 수신부; 상기 수신된 미디어 전송 스트림에 기초하여 미디어 저장 스트림을 생성하는 제어부 및; 상기 미디어 저장 스트림을 기록하는 저장부를 포함하고, 상기 미디어 저장 스트림은 상기 미디어 전송 스트림 중 제거된 데이터를 나타내는 적어도 하나의 동기 바이트를 포함한다.In addition, a media receiving apparatus according to an embodiment of the present invention for achieving the above object, the media receiving apparatus, comprising: a receiver for selecting a channel and receiving a media transport stream transmitted through the selected channel; A control unit for generating a media storage stream based on the received media transport stream; And a storage unit for recording the media storage stream, wherein the media storage stream includes at least one sync byte representing data removed from the media transport stream.
본 발명의 실시예에 따르면, MPEG-2 TS등과 같은 미디어 전송 스트림을 수신함에 있어서, 수신된 스트림 중 재생 또는 기록시에 불필요한 일부 데이터를 제거하되, 이를 나타내는 동기 바이트를 미디어 저장 스트림에 포함시켜 저장함으로써 재생 호환성을 확보하면서도 미디어 파일의 저장 용량을 감소시킬 수 있다.According to an embodiment of the present invention, in receiving a media transport stream such as MPEG-2 TS, some unnecessary data is removed during playback or recording from among the received streams, and a sync byte indicating this is included in the media storage stream for storage. This reduces the storage capacity of the media file while ensuring playback compatibility.
또한, 본 발명의 다른 일 실시 예에 따르면, 제거된 일부 데이터에 대한 정보를 명시 또는 묵시적으로 미디어 저장 스트림에 포함시킬 수 있어 복원 가능한 제거가 가능하게 된다.In addition, according to another embodiment of the present invention, information about some removed data may be explicitly or implicitly included in the media storage stream, thereby making it possible to restore the data.
한편, 본 발명의 일 실시 예에 따르면, 미디어 전송 스트림의 저장을 위한 파일 인덱싱과 동시에 불필요한 일부 데이터가 제거될 수 있어 기록 속도를 유지하면서도 저장 공간 활용성을 향상시킬 수 있다.Meanwhile, according to an embodiment of the present invention, some unnecessary data may be removed simultaneously with file indexing for storing a media transport stream, thereby improving storage space utilization while maintaining a recording speed.
도 1은 본 발명의 일 실시 예에 따른 미디어 송수신 시스템의 구성을 블록도로 도시한 것이다.1 is a block diagram illustrating a configuration of a media transmission and reception system according to an embodiment of the present invention.
도 2는 본 발명의 일실시예에 따른 수신 장치의 구성을 블록도로 도시한 것이다.2 is a block diagram illustrating a configuration of a receiving apparatus according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 따른 미디어 수신 방법을 흐름도로 도시한 것이다.3 is a flowchart illustrating a media reception method according to an embodiment of the present invention.
도 4는 MPEG-2 TS의 구성을 설명하기 위한 도면이다.4 is a diagram for explaining the configuration of an MPEG-2 TS.
도 5는 본 발명의 일 실시 예에 따라, 미디어 전송 스트림에서 스터핑 데이터와 널 패킷이 제거되는 메커니즘을 나타낸다.5 illustrates a mechanism in which stuffing data and null packets are removed from a media transport stream according to an embodiment of the present invention.
도 6은 본 발명의 일 실시 예에 따라 널 패킷이 제거된 경우, 미디어 저장 스트림의 패킷 포맷 신택스와 이를 이용한 샘플 포맷 신택스를 나타내며, 도 7은 도 6의 신택스에서 MPEG2TSConstructor에 포함될 수 있는 다양한 타입의 Constructor 포맷 신택스를 나타낸다.FIG. 6 illustrates packet format syntax of a media storage stream and sample format syntax using the same when a null packet is removed according to an embodiment of the present invention. FIG. 7 illustrates various types of MPEG2TSConstructor that may be included in the syntax of FIG. Constructor format syntax.
도 8은 본 발명의 다른 일 실시 예에 따라 널 패킷과 스터핑 바이트가 제거된 경우, 미디어 저장 스트림의 패킷 포맷을 나타낸다.8 illustrates a packet format of a media storage stream when null packets and stuffing bytes are removed according to another embodiment of the present invention.
도 9는 본 발명의 일 실시 예에 따라 미디어 전송 스트림으로부터 널 패킷을 제거하는 방법을 설명하기 위한 흐름도이다.9 is a flowchart illustrating a method of removing a null packet from a media transport stream according to an embodiment of the present invention.
도 10은 본 발명의 다른 일 실시 예에 따라 널 패킷이 제거된 미디어 저장 스트림으로부터 원래의 미디어 전송 스트림을 복원하는 방법을 설명하기 위한 흐름도이다.10 is a flowchart illustrating a method of restoring an original media transport stream from a media storage stream from which null packets have been removed according to another embodiment of the present invention.
도 11은 본 발명의 실시 예에 따른 미디어 저장 스트림의 기록이 가능한 수신 장치의 파일 시스템 구조를 도시한 블록도이다.11 is a block diagram illustrating a file system structure of a receiving apparatus capable of recording a media storage stream according to an exemplary embodiment of the present invention.
도 12 내지 13은 본 발명의 실시 예에 의한 저장 공간 확보 효과를 비교 설명하기 위한 실험 데이터이다.12 to 13 are experimental data for comparing and explaining the effect of securing the storage space according to an embodiment of the present invention.
도 14는 본 발명의 일실시예에 의한 IPTV 수신기 구성을 블록도로 도시한 것이다.14 is a block diagram showing an IPTV receiver configuration according to an embodiment of the present invention.
도 15는 본 발명에 따른 IPTV 수신기의 구성에 대한 또 다른 실시예를 블록도로 도시한 것으로, IPTV 수신기의 구성을 기능적인 블록들로 나타낸 것이다.15 is a block diagram showing another embodiment of the configuration of the IPTV receiver according to the present invention, and shows the configuration of the IPTV receiver in functional blocks.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.The following merely illustrates the principles of the invention. Therefore, those skilled in the art, although not explicitly described or illustrated herein, can embody the principles of the present invention and invent various devices that fall within the spirit and scope of the present invention. Furthermore, all conditional terms and embodiments listed herein are in principle clearly intended for the purpose of understanding the concept of the invention and are not to be limited to the specifically listed embodiments and states. Should be.
또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.In addition, it is to be understood that all detailed descriptions, including the principles, aspects, and embodiments of the present invention, as well as listing specific embodiments, are intended to include structural and functional equivalents of these matters. In addition, these equivalents should be understood to include not only equivalents now known, but also equivalents to be developed in the future, that is, all devices invented to perform the same function regardless of structure.
따라서, 예를 들어, 본 명세서의 블럭도는 본 발명의 원리를 구체화하는 예시적인 회로의 개념적인 관점을 나타내는 것으로 이해되어야 한다. 이와 유사하게, 모든 흐름도, 상태 변환도, 의사 코드 등은 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.Thus, for example, it should be understood that the block diagrams herein represent a conceptual view of example circuitry embodying the principles of the invention. Similarly, all flowcharts, state transitions, pseudocodes, and the like are understood to represent various processes performed by a computer or processor, whether or not the computer or processor is substantially illustrated on a computer readable medium and whether the computer or processor is clearly shown. Should be.
프로세서 또는 이와 유사한 개념으로 표시된 기능 블럭을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 상기 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다.The functionality of the various elements shown in the figures, including functional blocks represented by a processor or similar concept, can be provided by the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functionality may be provided by a single dedicated processor, by a single shared processor or by a plurality of individual processors, some of which may be shared.
또한 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 명확한 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비 휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지관용의 다른 하드웨어도 포함될 수 있다.In addition, the explicit use of terms presented in terms of processor, control, or similar concept should not be interpreted exclusively as a citation to hardware capable of running software, and without limitation, ROM for storing digital signal processor (DSP) hardware, software. (ROM), RAM, and non-volatile memory are to be understood to implicitly include. Other hardware for the governor may also be included.
본 명세서의 청구범위에서, 상세한 설명에 기재된 기능을 수행하기 위한 수단으로 표현된 구성요소는 예를 들어 상기 기능을 수행하는 회로 소자의 조합 또는 펌웨어/마이크로 코드 등을 포함하는 모든 형식의 소프트웨어를 포함하는 기능을 수행하는 모든 방법을 포함하는 것으로 의도되었으며, 상기 기능을 수행하도록 상기 소프트웨어를 실행하기 위한 적절한 회로와 결합된다. 이러한 청구범위에 의해 정의되는 본 발명은 다양하게 열거된 수단에 의해 제공되는 기능들이 결합되고 청구항이 요구하는 방식과 결합되기 때문에 상기 기능을 제공할 수 있는 어떠한 수단도 본 명세서로부터 파악되는 것과 균등한 것으로 이해되어야 한다.In the claims of this specification, components expressed as means for performing the functions described in the detailed description include all types of software including, for example, a combination of circuit elements or firmware / microcode, etc. that perform the functions. It is intended to include all methods of performing a function which are combined with appropriate circuitry for executing the software to perform the function. The invention, as defined by these claims, is equivalent to what is understood from this specification, as any means capable of providing such functionality, as the functionality provided by the various enumerated means are combined, and in any manner required by the claims. It should be understood that.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. The above objects, features, and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, whereby those skilled in the art may easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시 예에 따른 미디어 송수신 시스템의 구성을 블록도로 도시한 것으로, 도시된 송수신 시스템은 송신 장치(100)와 수신 장치(200)를 포함하여 구성될 수 있다.1 is a block diagram illustrating a configuration of a media transmission and reception system according to an embodiment of the present invention. The illustrated transmission and reception system may include a transmission device 100 and a reception device 200.
도 1을 참조하면, 송신 장치(100)와 수신 장치(200)는 방송 기반 또는 IP(Internet Protocol) 기반의 전송 시스템을 이용하여 데이터를 송수신할 수 있다.Referring to FIG. 1, the transmitter 100 and the receiver 200 may transmit and receive data using a broadcast based or IP (Internet Protocol) based transmission system.
송신 장치(100)는 컨텐트 제공자로부터 컨텐츠를 제공받아 이를 변환하여 전송하거나, 또는 미디어 DB(media DataBase)에 저장하여 보관할 수 있다.The transmitting device 100 may receive the content from the content provider, convert the content, transmit the content, or store the content in a media DB (media DataBase).
예를 들어, 상기 컨텐트 제공자로부터 제공되는 미디어 전송 스트림은 MPEG-2 표준에 따른 미디어 전송 스트림으로서 다양한 응용 분야들에서 폭넓게 채용되는 MPEG-2 Transport Stream(MPEG-2 TS)일 수 있으며, 송신 장치(100)는 상기 MPEG-2 TS를 ISO에서 규정하는 미디어 파일 포맷으로 변환한 후 방송망 또는 인터넷(internet) 망 등의 네트워크(network)를 통해 전송하거나 또는 상기 미디어 DB에 저장할 수 있다.For example, the media transport stream provided from the content provider may be an MPEG-2 Transport Stream (MPEG-2 TS) widely adopted in various application fields as a media transport stream according to the MPEG-2 standard, and may be a transmission device ( 100 may convert the MPEG-2 TS into a media file format defined by ISO, and then transmit the data through a network such as a broadcasting network or an internet network, or store it in the media DB.
한편, 수신 장치(200)는 상기 송신 장치(100)로부터 미디어 전송 스트림을 수신하고, 상기 수신된 미디어 전송 스트림을 변환한 후 재생하거나, 로컬 저장매체(local storage)에 저장할 수 있다. 수신 장치(200)는 예를 들어, 네트워크 TV, 스마트 TV, IPTV, 셋톱박스 등이 있을 수 있으며, 필요에 따라 스마트폰, 랩탑 등에서 구현될 수도 있다.Meanwhile, the reception apparatus 200 may receive a media transport stream from the transmission device 100, convert the received media transport stream, play the converted media transport stream, or store the media transport stream in a local storage medium. The reception device 200 may be, for example, a network TV, a smart TV, an IPTV, a set-top box, or the like, and may be implemented in a smartphone, a laptop, and the like as necessary.
예를 들어, 수신 장치(200)는 상기 송신 장치(100)로부터 수신되는 미디어 전송 스트림을 MPEG-2 TS 포맷으로 변환한 후 처리하여 재생하거나 또는 상기 로컬 저장 매체에 저장할 수 있다. 특히, 수신 장치(200)는 미디어 파일 포맷에 인캡슐레이션(encapsulation)된 MPEG-2 TS를 인덱싱(indexing)하고, 저장을 수행할 수 있다.For example, the reception apparatus 200 may convert a media transport stream received from the transmission apparatus 100 into an MPEG-2 TS format, process the same, and then play or store it in the local storage medium. In particular, the receiving device 200 may index and store MPEG-2 TS encapsulated in a media file format.
상기 MPEG-2 TS는 DVB(Digital Video Broadcasting) 또는 ATSC(Advanced Television System Committee) 등의 디지털 비디오 방송 환경들과 같이 손실이 있는 전송 시스템들(lossy transport systems)을 타겟으로 한 것이다. 상기 MPEG-2 TS 기반의 미디어는 널리 사용되게 되어, 그의 인코딩 및 디코딩 엔진들은 디지털 비디오 방송 환경들에서 유용하게 사용되고 있다.The MPEG-2 TS targets lossy transport systems, such as digital video broadcasting environments such as Digital Video Broadcasting (DVB) or Advanced Television System Committee (ATSC). The MPEG-2 TS-based media is widely used, and its encoding and decoding engines are usefully used in digital video broadcasting environments.
그러나, 현재 사용되는 MPEG-2 TS기반 미디어 파일 포맷에는 재생 및 저장에 불필요한 리던던시가 존재한다. 예를 들어, 고정 비트레이트인 CBR(Constant Bitrate) 코딩된 MPEG-2 TS 스트림을 방송하기 위해, 미디어 스트림에는 코덱 레이어 또는 인캡슐레이션 레이어에 비트레이트 유지를 위한 데이터가 존재한다. 그러나, 그 데이터는 영상의 재생 또는 저장에는 사용되지 않는다. 그럼에도 불구하고, 현재 MPEG-2 TS 시스템은 이와 같은 불필요한 리던던시(redundancy)를 복원 가능하게 제거할 수 없다.However, there is redundancy unnecessary for playback and storage in the MPEG-2 TS-based media file format currently used. For example, in order to broadcast a fixed bitrate CBR (Constant Bitrate) coded MPEG-2 TS stream, data for maintaining bitrate is present in a codec layer or an encapsulation layer in the media stream. However, the data is not used for reproduction or storage of the image. Nevertheless, the current MPEG-2 TS system cannot resiliently remove such unnecessary redundancy.
따라서, 본 발명의 실시예에 따르면, 수신 장치(200)가 수신된 미디어 전송 스트림의 저장 또는 재생과 동시에, MPEG-2 TS 기반 미디어의 리던던시(redundancy)를 제거하여 저장 공간의 낭비를 줄이고, 효율을 향상시킬 수 있다.Therefore, according to an exemplary embodiment of the present invention, the reception apparatus 200 reduces redundancy of MPEG-2 TS-based media at the same time as storing or playing the received media transport stream, thereby reducing waste of storage space and increasing efficiency. Can improve.
그를 위해, 수신 장치(200)는 MPEG-2 TS 기반 미디어에 대해 상기 리던던시 제거를 위한 압축(compression) 또는 변환을 수행하여, 로컬 스토리지에 미디어 저장 스트림 포맷으로 저장할 수 있다.To that end, the receiving device 200 may perform compression or conversion for redundancy removal on MPEG-2 TS-based media and store the media storage stream format in local storage.
그리고, 수신 장치(200)는 압축 또는 변환된 미디어 저장 스트림을 로컬 스토리지에 기록할 수 있다. 수신 장치(200)는 파일 인덱싱 과정과 동시에 상기 압축 또는 변환을 수행하고, 로컬 스토리지에 기록할 수 있다. In addition, the receiving device 200 may record the compressed or converted media storage stream in the local storage. The receiving device 200 may perform the compression or conversion at the same time as the file indexing process and record the data in the local storage.
그리고, 수신 장치(200)는 기록된 미디어 저장 스트림을 사용자 요청에 따라 재생할 수 있다. 그리고, 수신 장치(200)는 필요에 따라서, 제거된 데이터를 복원하여 원래의 전송 스트림을 생성하고, 복원된 스트림을 네트워크를 통해 외부로 전송할 수도 있다.The receiving device 200 may play the recorded media storage stream according to a user request. In addition, the reception apparatus 200 may restore the removed data to generate an original transport stream and transmit the restored stream to the outside through a network.
도 2는 본 발명의 일실시예에 따른 수신 장치의 구성을 블록도로 도시한 것으로, 도시된 수신 장치(200)는 수신부(210), 제어부(220), 디스플레이부(230) 및 저장부(240)를 포함한다.2 is a block diagram illustrating a configuration of a receiving apparatus according to an embodiment of the present invention. The receiving apparatus 200 illustrated includes a receiving unit 210, a control unit 220, a display unit 230, and a storage unit 240. ).
도 2를 참조하면, 수신부(210)는 MPEG-2 TS 미디어 전송 스트림을 수신한다. Referring to FIG. 2, the receiver 210 receives an MPEG-2 TS media transport stream.
그리고, 제어부(220)는 입력되는 MPEG-2 TS 미디어 전송 스트림 중 일부 데이터를 제거하고, 저장 스트림으로 변환하여 저장부(240)에 저장할 수 있다. 저장 스트림은 일부 데이터가 제거된 것을 나타내는 적어도 하나의 동기 바이트(sync byte)를 포함할 수 있다.The controller 220 may remove some data from the input MPEG-2 TS media transport stream, convert the data into a storage stream, and store the data in the storage 240. The storage stream may include at least one sync byte indicating that some data has been removed.
여기서, MPEG-2 TS는 손실이 있는 시스템들에 사용되기 위한 정의된 것으로, ATM(Asynchronous Transfer Mode) 네트워크의 요구 조건을 만족시키기 위해 188 바이트의 고정 패킷 사이즈를 가지며, 타이밍과 버퍼링 모델은 주로 고정 비트율의 채널에 초점을 맞춘다.Here, MPEG-2 TS is defined for use in lossy systems, and has a fixed packet size of 188 bytes to satisfy the requirements of an Asynchronous Transfer Mode (ATM) network. The timing and buffering model is mainly fixed. Focus on the channel at the bit rate.
그러나, 네트워크 요구 조건에 따라 전송된 스트림은 이미 전송된 스트림을 저장 및 재생하는데 있어서는 불필요한 데이터를 포함할 수 있다. 따라서, 본 발명의 실시예에 따른 미디어 전송 스트림 수신 방법은, 이미 수신된 전송 스트림을 저장 및 재생하는데 불필요한 데이터를 미리 제거하고, MPEG-2 TS 시스템과 호환 가능한 미디어 파일 포맷으로 저장할 수 있다.However, streams transmitted in accordance with network requirements may contain unnecessary data for storing and playing back already transmitted streams. Accordingly, the method for receiving a media transport stream according to an embodiment of the present invention can remove data unnecessary for storing and playing back a previously received transport stream, and store the data in a media file format compatible with the MPEG-2 TS system.
예를 들어, 상기 MPEG-2 TS로부터 제거되는 불필요한 데이터는 신텍스-기반(syntax-based)의 리던던시로서, MPEG-2 TS의 헤더(header)에 포함되는 특정 신텍스 엘리먼트이거나 스터핑(stuffing) 바이트 또는 널 패킷(null packet)일 수 있다.For example, the unnecessary data removed from the MPEG-2 TS is syntax-based redundancy, which is a specific syntax element included in the header of the MPEG-2 TS, stuffing bytes, or nulls. It may be a packet.
한편, 수신 장치(200)는 상기한 바와 같이 MPEG-2 TS로부터 제거한 데이터에 대한 정보를 동기 바이트를 이용하여 저장 포맷의 미디어 스트림에 삽입할 수 있다. 상기 저장 포맷은 MPEG-2 TS 포맷과 호환 가능할 수 있다.Meanwhile, as described above, the reception apparatus 200 may insert information about data removed from the MPEG-2 TS into a media stream having a storage format using sync bytes. The storage format may be compatible with the MPEG-2 TS format.
예를 들어, 수신 장치(200)의 제어부(220)는 MPEG-2 TS 로부터 특정 널 패킷을 제거하고, 널 패킷이 제거된 위치에 널 패킷의 존재를 나타내는 동기 바이트를 삽입함으로써, 저장되는 스트림의 용량을 줄일 수 있다. For example, the control unit 220 of the reception apparatus 200 removes a specific null packet from the MPEG-2 TS, and inserts a sync byte indicating the presence of a null packet at a position where the null packet is removed, thereby removing the stored stream. The capacity can be reduced.
이하, 도 3 내지 도 11을 참조하여 본 발명에 따른 미디어 수신 방법에 대한 실시예들에 대해 보다 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of a media receiving method according to the present invention will be described in detail with reference to FIGS. 3 to 11.
도 3은 본 발명의 일실시예에 따른 미디어 수신 방법을 흐름도로 도시한 것으로 도시된 송신 방법을 도 2에 도시된 본 발명의 실시예에 따른 송신 장치의 구성을 나타내는 블록도와 결부시켜 설명하기로 한다.FIG. 3 is a flowchart illustrating a media receiving method according to an embodiment of the present invention in conjunction with a block diagram showing a configuration of a transmitting apparatus according to an embodiment of the present invention shown in FIG. 2. do.
도 3을 참조하면, 수신 장치(200)의 수신부(210)는 미디어 전송 스트림을 수신한다(S110). 수신부(210)는 HTTP를 통한 인터넷 네트워크 또는 방송 네트워크로부터 MPEG2 TS 형태의 미디어 전송 스트림을 수신할 수 있다. 이를 위해, 수신부(210)는 튜너, 복조부 또는 네트워크 인터페이스 등을 구비할 수 있다. 수신된 미디어 전송 스트림은 제어부(220)로 전달될 수 있다.Referring to FIG. 3, the receiving unit 210 of the receiving device 200 receives a media transport stream (S110). The receiver 210 may receive a media transport stream in the form of MPEG2 TS from an internet network or a broadcast network through HTTP. To this end, the receiver 210 may include a tuner, a demodulator, or a network interface. The received media transport stream may be delivered to the controller 220.
그리고, 제어부(220)는 수신된 미디어 전송 스트림 중 일부 데이터를 제거한다(S120).The controller 220 removes some data from the received media transport stream (S120).
예를 들어, 제어부(220)는 입력되는 MPEG-2 TS 중 재생 또는 저장에 불필요한 리던던시 데이터를 제거할 수 있다.For example, the controller 220 may remove redundancy data unnecessary for reproduction or storage of the input MPEG-2 TS.
도 4에 도시된 MPEG-2 TS의 구성을 참조하면, 트랜스포트 패킷은 4바이트의 헤더와, 상기 헤더에 뒤이어지는 184바이트의 페이로드로 이루어져, 의도되는 전송 매커니즘에 관계없이 188바이트의 크기를 가진다.Referring to the configuration of the MPEG-2 TS shown in FIG. 4, a transport packet consists of a header of 4 bytes and a payload of 184 bytes following the header, so that the size of 188 bytes is independent of the intended transmission mechanism. Have
한편, 상기 헤더는 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)를 포함할 수 있다.The header includes an 8-bit sync byte, a 1-bit transport error indicator, a 1-bit unit start indicator, and a 1-bit transport packet priority. ), 13-bit PID (Packet Identification), 2-bit scramble control (transport scrambling control), 2-bit adaptation field control (AFC) and 4-bit continuity counter (continuity counter) can be included. .
상기한 바와 같은 패킷 당 188 바이트의 고정 사이즈를 가지는 MPEG-2 TS의 패킷화 매커니즘에 의해, 바이트 스터핑(byte stuffing)이 사용될 수 있다.By the packetization mechanism of MPEG-2 TS having a fixed size of 188 bytes per packet as described above, byte stuffing can be used.
예를 들어, PSI(Program Specific Information) 전송 스트림 패킷이 부분적으로 채워지거나 또는 PES(Program Elementary Stream) 패킷이 부분적으로만 TS 패킷을 채우는 경우, 상기한 바와 같은 불필요한 스터핑 바이트들이 MPEG-2 TS에 포함될 수 있다.For example, if the Program Specific Information (PSI) transport stream packet is partially filled or if the Program Elementary Stream (PES) packet only partially fills the TS packet, unnecessary stuffing bytes as described above are included in the MPEG-2 TS. Can be.
즉, 상기 스터핑 바이트는, 상기 패킷당 188 바이트의 고정 비트율을 만족시키기 위하여, MPEG-2 TS의 페이로드에 0xFF의 값을 가지는 바이트들이 반복하여 삽입될 수 있으며, 그에 따라 저장 및 재생에 있어서 불필요한 데이터 용량을 발생시킬 수 있다.That is, the stuffing byte may repeatedly insert bytes having a value of 0xFF into the payload of MPEG-2 TS in order to satisfy a fixed bit rate of 188 bytes per packet, thus unnecessary for storage and playback. Can generate data capacity.
또한, 고정 대역폭 또는 요구되는 다중화율(mutiplexing ratio)을 달성하기 위해, 불필요한 널 패킷들이 MPEG-2 TS에 삽입될 수 있다. 이 경우, 디코더는 상기한 바와 같은 널 패킷들을 제거한 후 디코딩을 수행한다.In addition, unnecessary null packets may be inserted into the MPEG-2 TS to achieve a fixed bandwidth or the required muxiplexing ratio. In this case, the decoder removes null packets as described above and then performs decoding.
예를 들어, 상기 헤더에 포함된 PID가 0x1FFF인 경우, 해당 패킷이 널 패킷임을 나타낼 수 있으며, 상기 널 패킷의 페이로드는 모두 제로(zero) 또는 0xFF 바이트들로 채워질 수 있다.For example, when the PID included in the header is 0x1FFF, this may indicate that the packet is a null packet, and the payload of the null packet may be filled with all zeros or 0xFF bytes.
본 발명의 일실시예에 따르면, 수신 장치(200)의 제어부(220)는 수신된 MPEG-2 TS로부터 상기한 바와 같은 불필요한 데이터, 예를 들어 스터핑 바이트들 또는 널 패킷들을 제거함으로써, 저장 공간을 확보할 수 있다.According to an embodiment of the present invention, the control unit 220 of the receiving apparatus 200 removes unnecessary data as described above, for example, stuffing bytes or null packets, from the received MPEG-2 TS, thereby saving storage space. It can be secured.
다만, 상기 MPEG-2 TS의 스터핑 바이트 및 널 패킷은 본 발명의 실시예에 따른 일예일 뿐, 본 발명은 이에 한정되지 아니하며, 수신 장치(200)는 상기한 바와 같은 데이터 이외에 저장 및 재생하는데 있어서 불필요한 데이터를 MPEG-2 TS로부터 제거할 수 있다.However, the stuffing byte and the null packet of the MPEG-2 TS are just examples according to an exemplary embodiment of the present invention, and the present invention is not limited thereto. In addition to the above-described data, the reception apparatus 200 may store and reproduce the data. Unnecessary data can be removed from the MPEG-2 TS.
그 후, 제어부(220)는 데이터 제거된 미디어 전송 스트림에 기초하여 미디어 저장 스트림을 생성한다(S130). 미디어 저장 스트림은 저장부(240)에 기록될 수 있으며, 필요에 따라 수신 장치(200) 또는 다른 기기에서 재생 가능한 MPEG2-TS 호환 포맷을 가질 수 있다. Thereafter, the controller 220 generates a media storage stream based on the media transport stream from which data is removed (S130). The media storage stream may be recorded in the storage unit 240 and may have an MPEG2-TS compatible format that can be reproduced by the receiving apparatus 200 or another device as necessary.
예를 들어, 제어부(220)는 상기 S120 단계에서 불필요한 데이터가 제거된 MPEG-2 TS를 ISO/IEC 14496-12 ISO Base Media 파일 포맷에 따른 미디어 저장 스트림으로 재구성 할 수 있다. 재구성된 미디어 저장 스트림은 용량은 적으면서도 기존 MPEG2-TS 포맷과의 호환성을 유지하기 때문에, 일반적인 MPEG-2 TS 디코더는 재구성된 미디어 저장 스트림을 문제없이 재생할 수 있게 된다.For example, the controller 220 may reconstruct the MPEG-2 TS from which unnecessary data is removed in step S120 into a media storage stream according to the ISO / IEC 14496-12 ISO Base Media file format. Since the reconstructed media storage stream is small and maintains compatibility with the existing MPEG2-TS format, a general MPEG-2 TS decoder can play the reconstructed media storage stream without any problem.
여기서, 제어부(220)는 상기 제거된 데이터를 나타내는 동기 바이트(sync byte)를 할당하고, 상기 미디어 저장 스트림에 삽입한다(S140).Here, the controller 220 allocates a sync byte representing the removed data and inserts it into the media storage stream (S140).
예를 들어, 제어부(220)는 상기 S120 단계에서 제거된 데이터를 시그널링(signaling)하는 정보를 동기 바이트의 특정 값으로 할당하고, 그 동기 바이트가 미디어 저장 스트림에 포함되도록 할 수 있다. 동기 바이트는 MPEG2-TS의 필수 구성 요소이므로 이를 이용한 시그널링을 통해 추가적인 데이터 없이도 데이터 제거에 대한 시그널링이 가능하게 된다.For example, the controller 220 may allocate information signaling the data removed in step S120 as a specific value of the sync byte, and include the sync byte in the media storage stream. Since the sync byte is an essential component of MPEG2-TS, signaling for data removal can be performed without additional data through signaling using the sync byte.
그리고, 제어부(220)는 미디어 저장 스트림의 동기 바이트를 참조하여, 음성 또는 영상을 재생할 수 있다. 재생할 때, 미디어 전송 스트림으로부터 제거된 데이터는 동기 바이트에 할당된 값에 따라 무시될 수 있다.The controller 220 may play back a voice or video by referring to the sync byte of the media storage stream. In playback, data removed from the media transport stream may be ignored depending on the value assigned to the sync byte.
한편, 제어부(220)는 제거된 데이터를 동기 바이트에 기초하여 복원할 수도 있다.Meanwhile, the controller 220 may restore the removed data based on the sync byte.
예를 들어, 제어부(220)는 제거된 데이터가 상술한 널 패킷을 포함하는 경우, 상기 동기 바이트에 기초하여 제거된 널 패킷을 복원함으로써 상기 미디어 저장 스트림을 원래 수신했던 전송 스트림으로 복원할 수 있다.For example, when the removed data includes the aforementioned null packet, the controller 220 may restore the media storage stream to the transport stream originally received by restoring the removed null packet based on the sync byte. .
또한, 본 발명의 다른 일 실시 예에 따르면 제어부(220)는 제거된 데이터가 상술한 스터핑 바이트를 포함하는 경우, 원래의 전송 스트림으로 복원하기 위한 정보를 상기 동기 바이트 뒤에 위치시킬 수 있다. 따라서, 제어부(220)는 동기 바이트와 복원 정보에 기초하여 널 패킷과 스터핑 바이트를 복원함으로써 원래의 전송 스트림을 복원할 수도 있다.In addition, according to another embodiment of the present invention, when the removed data includes the stuffing byte described above, the controller 220 may place information for restoring the original transport stream behind the sync byte. Accordingly, the controller 220 may restore the original transport stream by restoring the null packet and the stuffing byte based on the sync byte and the restoration information.
이후, 제어부(220)는 저장부(240)에 상기 동기 바이트를 포함하는 미디어 저장 스트림을 기록한다(S150).Thereafter, the controller 220 records the media storage stream including the sync byte in the storage 240 (S150).
예를 들어, 제어부(220)는 사용자가 녹화 예약한 프로그램에 대응되는 MPEG2-TS 미디어 전송 스트림을 수신하고, 이에 기초하여 미디어 저장 스트림을 생성하여 저장부(240)에 기록할 수 있다. 그리고, 사용자의 녹화 예약된 프로그램 재생 요청에 따라 저장부(240)에 기록된 미디어 저장 스트림을 재생할 수 있다.For example, the controller 220 may receive an MPEG2-TS media transport stream corresponding to a program reserved for recording by a user, generate a media storage stream, and record the media storage stream in the storage 240. In addition, the media storage stream recorded in the storage unit 240 may be played in response to a recording scheduled program play request of the user.
또한, 제어부(220)는 저장부(240)에 기록된 미디어 저장 스트림을 네트워크 인터페이스를 통해 외부 기기로 전송할 수도 있다. 외부 기기가 MPEG2-TS의 재생을 지원 하는 경우, 외부 기기는 불필요한 데이터가 제거된 미디어 저장 스트림을 문제 없이 재생할 수 있으므로, 제어부(220)에 의해 기록된 미디어 저장 스트림은 MPEG 표준을 따르는 타 기기들과의 높은 호환성을 가질 수 있다.In addition, the controller 220 may transmit the media storage stream recorded in the storage 240 to an external device through a network interface. When the external device supports the playback of MPEG2-TS, since the external device can play the media storage stream from which unnecessary data has been removed without problem, the media storage stream recorded by the controller 220 may be used by other devices that comply with the MPEG standard. It can have high compatibility with.
여기서, 저장부(240)는, 제어부(240) 내의 각 신호 처리 및 제어를 위한 프로그램이 저장될 수도 있고, 신호 처리된 영상, 음성 또는 데이터신호를 저장할 수도 있다. 또한, 저장부(240)는 수신부(210)로부터 입력되는 영상, 음성, 또는 데이터 신호의 임시 저장을 위한 기능을 수행할 수도 있다. 또한, 저장부(240)는, 채널 기억 기능을 통하여 소정 방송 채널에 관한 정보를 저장할 수 있다.Here, the storage unit 240 may store a program for processing and controlling each signal in the control unit 240, or may store a signal processed image, audio, or data signal. In addition, the storage unit 240 may perform a function for temporarily storing an image, audio, or data signal input from the receiver 210. In addition, the storage unit 240 may store information on a predetermined broadcast channel through a channel storage function.
이를 위해 저장부(240)는, 예를 들어 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램, 롬(EEPROM 등) 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. To this end, the storage unit 240 may be, for example, a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD). Or a storage medium of at least one type of XD memory, etc.), RAM, ROM (EEPROM, etc.).
도 5는 본 발명의 일 실시 예에 따라, 미디어 전송 스트림에서 스터핑 데이터와 널 패킷이 제거되는 메커니즘을 나타낸다.5 illustrates a mechanism in which stuffing data and null packets are removed from a media transport stream according to an embodiment of the present invention.
도 5(a)는 수신부(210)에서 수신되는 미디어 전송 스트림(MPEG2 TS)을 나타낸다. 각각의 패킷들은 1바이트의 동기 바이트와 187 바이트의 데이터 바이트를 포함할 수 있다.FIG. 5A illustrates a media transport stream (MPEG2 TS) received by the receiver 210. Each packet may contain 1 byte of sync byte and 187 bytes of data byte.
도 5(b)는 미디어 전송 스트림으로부터 생성되는 미디어 저장 스트림을 나타낸다. 도 5(b)에 도시된 바와 같이, 제어부(220)는 미디어 전송 스트림으로부터 스터핑 바이트와 널 패킷이 제거된 새로운 포맷의 미디어 저장 스트림을 생성할 수 있다.5 (b) shows a media storage stream generated from a media transport stream. As illustrated in FIG. 5B, the controller 220 may generate a media storage stream having a new format in which stuffing bytes and null packets are removed from the media transport stream.
먼저, 첫 번째 패킷에 대해 설명하면, A, B, C는 0xFF로 할당된 스터핑 바이트일 수 있으며, 이외 L, M, N은 실제 데이터가 포함되는 데이터 바이트일 수 있다.First, the first packet will be described. A, B, and C may be stuffing bytes allocated as 0xFF, and L, M, and N may be data bytes including actual data.
제어부(220)는 먼저 첫 번째 패킷을 파싱하고, 스터핑 바이트 A, B, C를 미디어 전송 스트림으로부터 제거하며, L, M, N만으로 데이터 부분이 구성되는 미디어 저장 스트림을 생성할 수 있다.The controller 220 may first parse the first packet, remove the stuffing bytes A, B, and C from the media transport stream, and generate a media storage stream having a data portion of L, M, and N only.
이 때, 제어부(220)는 미디어 저장 스트림에 있어서, 스터핑 바이트가 제거된 패킷의 동기 바이트를 특정 값으로 할당할 수 있다. 예를 들어, 스터핑 바이트가 제거된 패킷의 동기 바이트는 도 5(b)와 같이 0x02가 할당될 수 있다. In this case, the controller 220 may allocate the sync byte of the packet from which the stuffing byte has been removed, to a specific value in the media storage stream. For example, 0x02 may be allocated to the sync byte of the packet from which the stuffing byte has been removed.
또한, 제어부(220)는 제거된 스터핑 바이트를 복원하기 위한 대한 복원 정보를 구성할 수 있다. 예를 들어, 복원 정보는 entry_count와 offset_length_table을 포함할 수 있다. In addition, the controller 220 may configure recovery information for restoring the removed stuffing byte. For example, the restoration information may include entry_count and offset_length_table.
제어부(220)는 동기 바이트 뒤에 복원 정보를 위치시킬 수 있으며, 복원 정보는 원래의 미디어 전송 스트림 복원에 사용될 수 있다.The control unit 220 may place the restoration information after the sync byte, and the restoration information may be used to restore the original media transport stream.
복원 정보의 entry_count는 스터핑 바이트들에 의해 구분되는 데이터 바이트 구간들의 개수를 나타낼 수 있다.The entry_count of the restoration information may indicate the number of data byte intervals separated by stuffing bytes.
복원 정보의 Offset_length_table은 각각의 데이터 바이트 구간들의 길이를 순차적으로 나타내는 테이블을 포함할 수 있다.Offset_length_table of the restoration information may include a table that sequentially indicates the length of each data byte interval.
한편, 도 5(a)에서 제어부(220)는 미디어 전송 스트림의 두 번째 패킷이 널 패킷임을 판단하고, 이를 제거하여 도 5(b)와 같은 미디어 저장 스트림에 삽입할 수 있다.Meanwhile, in FIG. 5A, the controller 220 determines that the second packet of the media transport stream is a null packet, and may remove the same and insert it into the media storage stream as shown in FIG. 5B.
그리고, 제어부(220)는 미디어 저장 스트림에 있어서, 널 패킷이 제거된 패킷의 동기 바이트를 특정 값으로 할당할 수 있다. The controller 220 may allocate the sync byte of the packet from which the null packet is removed, to a specific value in the media storage stream.
예를 들어, 널 패킷이 제거된 패킷의 동기 바이트는 도 5(b)와 같이 0x01로 할당될 수 있으나, 다른 값이 할당될 수도 있다. 예를 들어, 널 패킷이 제거된 패킷의 동기 바이트는 0xFF로 할당될 수도 있다. For example, the sync byte of the packet from which the null packet is removed may be allocated to 0x01 as shown in FIG. 5 (b), but another value may be assigned. For example, the sync byte of a packet from which null packets have been removed may be assigned to 0xFF.
특히, 널 패킷이 제거된 패킷의 동기 바이트가 0xFF로 할당되는 경우, 기존 표준을 지원하는 다른 기기들은 재생시 해당 패킷을 무시할 수 있기 때문에 재생 호환성을 높이는 효과가 있다.In particular, when a sync byte of a packet from which a null packet is removed is allocated as 0xFF, other devices supporting the existing standard can ignore the packet during playback, thereby improving playback compatibility.
한편, 제어부(220)는 도 5(a)의 세 번째 패킷의 경우 데이터 패킷이므로 동기 바이트를 0x47로 유지한 상태로 도 5(b)와 같이 미디어 저장 스트림에 삽입할 수 있다.Meanwhile, since the third packet of FIG. 5 (a) is a data packet, the controller 220 may insert the same into the media storage stream as shown in FIG. 5 (b) while maintaining the sync byte at 0x47.
도 6은 본 발명의 일 실시 예에 따라 널 패킷이 제거된 경우, 미디어 저장 스트림의 패킷 포맷 신택스와 이를 이용한 샘플 포맷 신택스를 나타내며, 도 7은 도 6의 신택스에서 MPEG2TSConstructor에 포함될 수 있는 다양한 타입의 Constructor 포맷 신택스를 나타낸다.FIG. 6 illustrates packet format syntax of a media storage stream and sample format syntax using the same when a null packet is removed according to an embodiment of the present invention. FIG. 7 illustrates various types of MPEG2TSConstructor that may be included in the syntax of FIG. Constructor format syntax.
도 6에 도시된 바와 같이, 제어부(220)에 의해 기록되는 미디어 저장 스트림은 동기 바이트에 따른 패킷 포맷을 가질 수 있다.As shown in FIG. 6, the media storage stream recorded by the controller 220 may have a packet format according to sync bytes.
각각의 패킷은 프리시딩 바이트(preceding byte), 동기 바이트(sync byte), 트레일링 바이트(trailing byte) 및 동기 바이트에 따른 패킷 데이터를 포함할 수 있다.Each packet may include packet data according to a preceding byte, a sync byte, a trailing byte, and a sync byte.
프리시딩 바이트는 패킷 데이터의 앞에 수신 장치(200)가 부가할 수 있는 추가 데이터를 나타낸다. 예를 들어, 추가 데이터는 타임스탬프를 포함할 수 있다.The preseeding byte represents additional data that the receiving device 200 may add in front of the packet data. For example, the additional data may include a time stamp.
동기 바이트는 동기 바이트를 뒤따르는 전송 스트림 패킷 데이터의 포맷을 나타낸다.The sync byte indicates the format of transport stream packet data following the sync byte.
동기 바이트가 0x47인 경우, 그 동기 바이트를 뒤따르는 187바이트의 데이터는 수신된 미디어 전송 스트림의 MPEG2-TS 패킷 중 동기 바이트를 제외한 나머지 데이터를 패킷(packet) 필드 내 그대로 포함할 수 있다. 패킷 데이터가 스트리밍 채널에 실제 입력되는 경우 이 값은 항상 0x47로 세팅되어야 한다.If the sync byte is 0x47, 187 bytes of data following the sync byte may include remaining data except for the sync byte in the MPEG2-TS packet of the received media transport stream as it is in the packet field. If packet data is actually input to the streaming channel, this value should always be set to 0x47.
또한, 동기 바이트가 0x00 이거나 0x01인 경우, 그 동기 바이트를 뒤따르는 데이터는 헤더 데이터 길이, 구성자의 개수, 전송 에러 지시자, 페이로드 유닛 시작 지시자, 전송 우선권, 패킷 식별자, 전송 스크램블링 제어, 적응 필드 제어, 및 적어도 하나의 MPEG2 TS 구성자(MPEG2 TS constructor)를 포함할 수 있다. MPEG2 TS 샘플 구성자가 사용되는 경우, MPEG2 TS 샘플 구성자는 참조 타입이 hint인 트랙 참조 박스 내 트랙 참조 인덱스(trackrefindex) 필드에 의해 인덱스되는 트랙을 지시(point)할 수 있다.In addition, when the sync byte is 0x00 or 0x01, the data following the sync byte includes header data length, number of constructors, transmission error indicator, payload unit start indicator, transmission priority, packet identifier, transmission scrambling control, and adaptive field control. , And at least one MPEG2 TS constructor. When the MPEG2 TS sample constructor is used, the MPEG2 TS sample constructor may point to a track that is indexed by a track reference index field in a track reference box whose reference type is hint.
도 7은 MPEG2 TS 구성자의 다양한 포맷들을 예시하고 있다. MPEG2 TS 구성자는 구성 타입 필드를 갖는 MPEG2 TS 구성자(MPEG2TConstructor)와, 이를 확장한 MPEG2 TS 즉시 구성자(MPEG2TSImmediateConstructor), MPEG2 TS 샘플 구성자(MPEG2TSSampleConstructor) 및 MPEG2 TS FF 복제 구성자(MPEG2TSReplicatedFFConstructor)를 포함할 수 있다. 각 구성자는 용도에 따른 복수의 필드들을 포함할 수 있다.7 illustrates various formats of the MPEG2 TS Constructor. The MPEG2 TS constructor may include an MPEG2 TS constructor (MPEG2TConstructor) having a configuration type field, an MPEG2 TS immediate constructor (MPEG2TSImmediateConstructor), an MPEG2 TS sample constructor (MPEG2TSSampleConstructor), and an MPEG2 TS FF duplicate constructor (MPEG2TSReplicatedFFConstructor). Each constructor may include a plurality of fields according to the purpose.
여기서, MPEG2 TS Constructor, MPEG2 TS Immediate Constructor, MPEG2 TS Sample Constuctor는 ISO 14496-12에서 규정되는 형식을 따를 수 있다.Here, the MPEG2 TS Constructor, the MPEG2 TS Immediate Constructor, and the MPEG2 TS Sample Constuctor may follow a format defined in ISO 14496-12.
한편, MPEG2 TS FF 복제 구성자(MPEG2TSReplicatedFFConstructor)는 반복되는 특정 값, 예를 들어 0xFF 바이트가 몇 번 반복되었는지를 나타내는 복제 카운트(replicatedcount) 필드를 포함할 수 있다. 이를 이용하여, 수신 장치(200)는 수신된 미디어 전송 스트림 중, 0xFF 바이트가 복수 개 반복되는 경우 이를 MPEG2 TS FF 복제 구성자를 이용하여 간략하게 나타낼 수 있다. 수신 장치(200)는 이후 재생시에 MPEG2 TS FF 복제 구성자가 존재하는 경우, 0xFF데이터를 반복적으로 생성하여 패킷에 포함시킬 수 있다.Meanwhile, the MPEG2 TS FF Replication Constructor (MPEG2TSReplicatedFFConstructor) may include a duplicated count field indicating how many times a particular value is repeated, for example, 0xFF bytes. By using this, the reception apparatus 200 may briefly indicate a plurality of 0xFF bytes in the received media transport stream using the MPEG2 TS FF copy constructor. The reception device 200 may repeatedly generate 0xFF data and include the packet in the packet when there is an MPEG2 TS FF copy constructor at the time of reproduction.
예를 들어, 수신 장치(200)는 널 패킷이 아닌 전송 스트림 패킷에서 반복되는 0xFF 바이트를 제거하고, 이를 MPEG2 TS FF 복제 구성자를 이용하여 나타낼 수 있다. 미디어 저장 스트림 포맷에 MPEG2 TS FF 복제 구성자를 사용하면, 널 패킷이 제거된 미디어 저장 스트림의 용량이 더 줄어드는 효과가 있다.For example, the reception apparatus 200 may remove 0xFF bytes repeated in the transport stream packet instead of the null packet, and may indicate this by using the MPEG2 TS FF replication constructor. Using the MPEG2 TS FF copy constructor for the media storage stream format has the effect of further reducing the capacity of the media storage stream from which null packets have been removed.
또한, 저장 효율을 위해 MPEG2 TS FF 복제 구성자는 반복되는 바이트의 수가 일정 크기 이상인 경우에만 사용될 수도 있다. 예를 들어, MPEG2 TS FF 복제 구성자는 복제 카운트 필드의 크기 이상으로 0xFF가 반복되는 경우에만 미디어 저장 스트림 데이터에 포함될 수도 있다. 이에 따라 수신기 저장장치 혹은 서버의 저장장치에서도 불필요한 데이터가 반복될 때, 필요에 따라서 제거될 수 있다.Also, for storage efficiency, the MPEG2 TS FF copy constructor may be used only when the number of repeated bytes is greater than or equal to a certain size. For example, the MPEG2 TS FF copy constructor may be included in the media storage stream data only when 0xFF is repeated more than the size of the copy count field. Accordingly, when unnecessary data is repeated in the receiver storage device or the storage device of the server, it may be removed as necessary.
도 6에서 동기 바이트가 0x00 또는 0x01인 경우, 이를 뒤따르는 패킷 데이터는 이와 같은 MPEG2 TS 구성자들을 num_constructors 크기의 어레이(array) 형태로 포함할 수 있다. MPEG2 TS 구성자의 단일 또는 조합에 의해 하나 또는 복수의 스트림 패킷을 구성할 수 있다.In FIG. 6, when the sync byte is 0x00 or 0x01, the packet data following it may include such MPEG2 TS constructors in the form of an array of num_constructors size. One or a plurality of stream packets may be configured by a single or a combination of MPEG2 TS constructors.
예를 들어, 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일 수 있다.For example, the MPEG2 TS Immediate Constructor may include a PES header. In addition, the MPEG2 TS Sample Constructor may reference data in an associated media track. In addition, when the MPEG2 TS Replicated FF constructor is not used, the sum of the header data length value and the value of the data length field for all the constructors of one MPEG2 TS packet is the stream packet. It can be 187 minus one byte from the length of.
한편, 동기 바이트가 0xFF인 경우, 그 동기 바이트는 그 위치의 널 패킷이 제거되었음을 나타낸다. 따라서, 동기 바이트 0xFF를 뒤따르는 187바이트의 패킷 데이터가 없을 수 있다. 이와 같은 방법으로, 제어부(220)는 미디어 저장 스트림 내 널 패킷이 제거되었음을 데이터의 제거를 통해 묵시적으로 나타낼 수 있다. 또한, 동기 바이트에 대한 0xFF값 할당을 통해 명시적으로도 나타낼 수 있다.On the other hand, if the sync byte is 0xFF, the sync byte indicates that the null packet at that position has been removed. Thus, there may be no 187 bytes of packet data following the sync byte 0xFF. In this way, the control unit 220 may implicitly indicate that the null packet in the media storage stream has been removed by removing the data. It can also be indicated explicitly through the 0xFF value assignment for the sync byte.
그리고, 트레일링 바이트는 패킷 데이터의 뒤에 수신 장치(200)가 부가할 수 있는 추가 데이터를 나타낸다. 예를 들어, 추가 데이터는 오류 여부를 나타내는 검사합(checksum)을 포함할 수 있다.The trailing byte indicates additional data that the reception apparatus 200 may add after the packet data. For example, the additional data may include a checksum indicating whether there is an error.
도 8은 본 발명의 다른 일 실시 예에 따라 널 패킷과 스터핑 바이트가 제거된 경우, 미디어 저장 스트림의 패킷 포맷을 나타낸다.8 illustrates a packet format of a media storage stream when null packets and stuffing bytes are removed according to another embodiment of the present invention.
도 8을 참조하면, 미디어 저장 스트림 패킷의 동기 바이트가 0x47 또는 0x00인 경우 및 중복되는 형식은 도 6과 같으므로 설명을 생략하도록 한다.Referring to FIG. 8, the case where the sync byte of the media storage stream packet is 0x47 or 0x00 and the overlapping format are the same as in FIG. 6, and thus description thereof will be omitted.
동기 바이트가 0x01이면 동기 바이트는 상기 도 6에서 0xFF인 경우와 같이, 널 패킷이 제거되었음을 나타낼 수 있다. 제거된 널 패킷의 크기는 187바이트일 수 있다.If the sync byte is 0x01, the sync byte may indicate that the null packet is removed, as in the case of 0xFF in FIG. The size of the discarded null packet may be 187 bytes.
한편, 동기 바이트가 0x02인 경우, 동기 바이트는 스터핑 바이트가 제거되었음을 나타낼 수 있다. On the other hand, if the sync byte is 0x02, the sync byte may indicate that the stuffing byte has been removed.
여기서, 스터핑 바이트가 제거된 패킷은 스터핑 바이트를 재구성 할 수 있는 복원 정보를 포함할 수 있다. Here, the packet from which the stuffing byte is removed may include recovery information for reconstructing the stuffing byte.
복원 정보는 제거된 스터핑 바이트에 의해 구분되는 데이터 구간들의 개수(entry_count) 정보, 각 데이터 구간의 시작점(offset) 정보 및 각 구간의 길이(length) 정보를 포함할 수 있다.The restoration information may include entry_count information of the data sections separated by the removed stuffing byte, offset information of each data section, and length information of each section.
따라서, 제어부(220)는 스터핑 바이트가 제거된 미디어 저장 스트림으로부터 원래의 미디어 전송 스트림을 복원할 수 있다. Accordingly, the controller 220 may restore the original media transport stream from the media storage stream from which the stuffing byte has been removed.
예를 들어, 제어부(220)는 패킷 내 시작점(offset)마다 길이(length) 크기의 데이터 구간들을 배치하고, 나머지 부분을 0xFF의 스터핑 바이트로 채움으로써, 원래의 미디어 전송 스트림 패킷을 복원할 수 있다.For example, the controller 220 may restore the original media transport stream packet by arranging data sections having a length of length for each offset in the packet and filling the remaining portions with stuffing bytes of 0xFF. .
도 9는 본 발명의 일 실시 예에 따라 미디어 전송 스트림으로부터 널 패킷을 제거하는 방법을 설명하기 위한 흐름도이다.9 is a flowchart illustrating a method of removing a null packet from a media transport stream according to an embodiment of the present invention.
도 9를 참조하면, 먼저 수신부(210)는 미디어 전송 스트림을 수신한다(S200). 수신부(210)는, 상술한 바와 같이 방송 채널 또는 인터넷 망 등을 통해 전송되는 MPEG2 TS와 같은 미디어 전송 스트림을 사용자 요청에 따라 수신할 수 있다. 수신부(210)는 수신된 미디어 전송 스트림을 제어부(220)로 전달할 수 있다.Referring to FIG. 9, first, the receiver 210 receives a media transport stream (S200). As described above, the receiver 210 may receive a media transport stream such as an MPEG2 TS transmitted through a broadcast channel or an internet network according to a user request. The receiver 210 may transfer the received media transport stream to the controller 220.
그리고, 제어부(220)는 수신된 미디어 전송 스트림으로부터 순차적으로 패킷을 획득한다(S210).The controller 220 sequentially acquires packets from the received media transport stream (S210).
제어부(220)는 수신된 미디어 전송 스트림 중, 사용자가 저장 예약 또는 저장 요청한 프로그램의 미디어 전송 스트림을 선택하고, 그 미디어 전송 스트림의 저장을 위해 그 미디어 전송 스트림에 포함되는 패킷들을 획득할 수 있다. The controller 220 may select a media transport stream of a program that the user reserves or requests for storage from among the received media transport streams, and obtain packets included in the media transport stream for storage of the media transport stream.
그리고, 제어부(220)는 획득되는 패킷이 널(NULL) 패킷인지 판단한다(S220). 널 패킷은 통상적으로 고정 데이터 패턴, 예를 들어 제로(0)들을 포함할 수 있다. 따라서, 제어부(220)는 패킷 내 이와 같은 고정 데이터 패턴이 존재하는지 여부에 기초하여 널 패킷인지 여부를 판단할 수 있다.The controller 220 determines whether the obtained packet is a null packet (S220). A null packet can typically contain a fixed data pattern, for example zeros. Accordingly, the controller 220 may determine whether the packet is a null packet based on whether the fixed data pattern exists in the packet.
또한, 제어부(220)는 널 패킷을 판단하기 위한 널 패킷 검출부를 별도로 구비할 수도 있다. 널 패킷 검출부는 수신부(210)에서 수신되는 미디어 전송 스트림 패킷 데이터의 프리앰블을 검출하고, 후속되는 데이터비트들이 고정 데이터 패턴, 예를 들어 연속된 제로들과 동일한지 여부를 판단함으로써, 널 패킷을 획득하였음을 제어부(220)에 전달할 수 있다.In addition, the controller 220 may separately include a null packet detector for determining a null packet. The null packet detector acquires a null packet by detecting a preamble of the media transport stream packet data received at the receiver 210 and determining whether subsequent data bits are equal to a fixed data pattern, for example, consecutive zeros. It can be transmitted to the control unit 220.
널 패킷으로 판단된 경우, 제어부(220)는 널 패킷에 대응되는 동기 바이트를 특정 값, 예를 들어 0xFF로 할당하고(S230), 할당된 동기 바이트를 저장부(240)에 저장한다(S240).When it is determined that the packet is null, the controller 220 allocates a sync byte corresponding to the null packet to a specific value, for example, 0xFF (S230), and stores the allocated sync byte in the storage 240 (S240). .
제어부(220)는 널 패킷에 해당하는 패킷 데이터는 수신부(210)에서 수신된 미디어 전송 스트림으로부터 제거하여 미디어 저장 스트림 포맷으로 저장부(240)에 기록할 수 있다. 이 때, 제어부(220)는 0xFF로 할당된 동기 바이트를 상기 널 패킷에 대응되도록 미디어 저장 스트림에 포함시켜 기록할 수 있다. The controller 220 may remove the packet data corresponding to the null packet from the media transport stream received by the receiver 210 and record the packet data in the media storage stream format in the storage 240. At this time, the controller 220 may include the sync byte allocated with 0xFF in the media storage stream so as to correspond to the null packet and record it.
한편, 널 패킷이 아닌 것으로 판단된 경우, 제어부(220)는 그 패킷으로부터 패킷 데이터를 추출하고(S250), 데이터의 내용에 다라 동기 바이트를 할당한다(S260).On the other hand, if it is determined that the packet is not a null packet, the control unit 220 extracts packet data from the packet (S250), and allocates sync bytes according to the contents of the data (S260).
제어부(220)는 널 패킷이 아닌 일반 패킷 데이터로 판단된 경우, 그 패킷을 미디어 저장 스트림 포맷으로 저장하기 위해, 그 패킷의 데이터에 대응되는 동기 바이트를 지정할 수 있다.If it is determined that the packet data is general packet data instead of a null packet, the controller 220 may designate a sync byte corresponding to the data of the packet in order to store the packet in a media storage stream format.
동기 바이트는 패킷 데이터의 내용에 따라 결정될 수 있다. 예를 들어, 패킷 데이터를 저장 또는 재생하기 위해 상술한 MPEG2-TS 구성자가 필요한 경우, 또는 패킷 데이터가 헤더 정보 등을 포함하는 경우, 제어부(220)는 동기 바이트를 0x00으로 지정할 수 있다. 그리고, 패킷 데이터가 완전하게 MPEG-2 TS의 영상 또는 음성 데이터만을 포함하는 경우 제어부(220)는 동기 바이트를 0x47로 지정할 수 있다.The sync byte may be determined according to the content of the packet data. For example, when the above-described MPEG2-TS constructor is needed to store or reproduce packet data, or when the packet data includes header information or the like, the controller 220 may designate a sync byte as 0x00. When the packet data completely includes only video or audio data of MPEG-2 TS, the controller 220 may designate a sync byte as 0x47.
그리고, 제어부(220)는 현재 획득한 패킷이 수신된 미디어 전송 스트림의 마지막 패킷인지 판단한다(S280).The controller 220 determines whether the currently acquired packet is the last packet of the received media transport stream (S280).
마지막 패킷인 경우에는 제어부(220)는 미디어 저장 스트림의 기록을 완료하고, 필요한 처리를 수행한 뒤 작업을 종료할 수 있다. 제어부(220)는 이후, 사용자 요청에 따라 저장된 미디어 저장 스트림을 재생하거나, 다른 기기 또는 다른 저장 매체로 전송할 수 있다.In the case of the last packet, the controller 220 may finish recording the media storage stream, perform the necessary processing, and then terminate the operation. The controller 220 may play back the stored media storage stream or transmit the stored media storage stream to another device or another storage medium according to a user request.
그리고, 마지막 패킷이 아닌 경우에는, S210단계를 다시 수행하여 수신된 미디어 전송 스트림의 다음 패킷을 다시 순차적으로 획득한다.If it is not the last packet, step S210 is performed again to sequentially obtain the next packet of the received media transport stream.
이와 같은 과정을 통해, 수신 장치(200)는 수신되는 미디어 전송 스트림을 기존의 MPEG-2 TS 디코딩 시스템과 호환 가능한 포맷으로 저장하면서도, 저장 공간을 줄일 수 있게 된다.Through this process, the reception apparatus 200 may reduce the storage space while storing the received media transport stream in a format compatible with the existing MPEG-2 TS decoding system.
예를 들어, 수신 장치(200) 또는 다른 MMPEG-2 TS 재생 가능 장치는 상기와 같은 방법에 의해 기록된 미디어 저장 스트림을 간단히 재생할 수 있다. For example, the receiving device 200 or another MMPEG-2 TS playable device can simply play back the media storage stream recorded by the above method.
수신 장치(200)를 예를 들면, 제어부(220)는 미디어 저장 스트림의 재생 선택을 입력받고, 저장부(240)로부터 선택된 미디어 저장 스트림 데이터를 동기 바이트에 따라 순차적으로 획득할 수 있다. For example, the controller 220 may receive a playback selection of a media storage stream, and sequentially obtain media storage stream data selected from the storage 240 according to sync bytes.
여기서, 제어부(220)는 동기 바이트를 먼저 획득하고, 동기 바이트가 0xFF인 경우에는 MPEG-2 TS 표준 규격에 따라 그 패킷을 무시하고, 다음 동기 바이트에 대응되는 패킷을 처리할 수 있다. 제어부(220)는 0xFF가 아닌 경우에는 다음 동기 바이트 이전까지의 해당 패킷 데이터를 재생할 수 있다.Here, the controller 220 may acquire the sync byte first, and if the sync byte is 0xFF, ignore the packet according to the MPEG-2 TS standard and process a packet corresponding to the next sync byte. If it is not 0xFF, the controller 220 can reproduce the corresponding packet data up to the next sync byte.
따라서, 본 발명의 미디어 전송 스트림 수신 방법은, 수신되는 미디어 전송 스트림의 MPEG-2 TS 포맷을 추가 정보 없이 유지하면서도, 불필요한 널 패킷이 제거된 미디어 저장 스트림 형태로 기록할 수 있다. Accordingly, the method of receiving a media transport stream according to the present invention can record an MPEG-2 TS format of a received media transport stream without additional information while recording in a media storage stream in which unnecessary null packets are removed.
한편, 이와 같은 미디어 저장 스트림에 대한 정보는 이후의 전송을 위한 미디어 저장 스트림 내 힌트 트랙(Hint track)에 별도 저장될 수도 있으나, 이에 한정되는 것은 아니다.Meanwhile, the information about the media storage stream may be separately stored in a hint track in the media storage stream for later transmission, but is not limited thereto.
한편, 본 발명의 일 실시 예에 따르면, 불필요한 널 패킷 또는 스터핑 패킷들은 복원 가능하게 제거될 수 있다.Meanwhile, according to an embodiment of the present invention, unnecessary null packets or stuffing packets may be removed to be recoverable.
도 10은 본 발명의 다른 일 실시 예에 따라 널 패킷이 제거된 미디어 저장 스트림으로부터 원래의 미디어 전송 스트림을 복원하는 방법을 설명하기 위한 흐름도이다.10 is a flowchart illustrating a method of restoring an original media transport stream from a media storage stream from which null packets have been removed according to another embodiment of the present invention.
도 10을 참조하면, 먼저, 제어부(220)는 전송 스트림 복원을 결정한다(S300).Referring to FIG. 10, first, the controller 220 determines transport stream restoration (S300).
제어부(220)는 사용자 입력에 따라 원래 수신되었던 미디어 전송 스트림의 복원을 결정할 수 있다. 제어부(220)는 미디어 전송 스트림 복원을 위해, 미디어 저장 스트림을 저장부(240)로부터 로드할 수 있다.The controller 220 may determine the restoration of the media transport stream that was originally received according to the user input. The controller 220 may load the media storage stream from the storage 240 to restore the media transport stream.
그리고, 제어부(220)는 미디어 저장 스트림으로부터 순차적으로 동기 바이트를 획득하고(S310), 동기 바이트의 값이 0xFF인지 판단한다(S320).The controller 220 sequentially acquires sync bytes from the media storage stream (S310), and determines whether the sync byte value is 0xFF (S320).
제어부(220)는 동기 바이트의 값이 0xFF가 아닌 경우에는 널 패킷이 아니므로 패킷 데이터에 따라 동기 바이트를 복원한다(S330). 동기 바이트는 예를 들어, 전송 스트림 패킷을 나타내는 0x47로 지정될 수 있다.If the value of the sync byte is not 0xFF, the controller 220 restores the sync byte according to the packet data since it is not a null packet (S330). The sync byte may be designated, for example, 0x47 indicating a transport stream packet.
그리고, 제어부(220)는 다음 동기 바이트 전까지의 패킷 데이터를 복원될 전송 스트림에 삽입한다(S340).The controller 220 inserts packet data up to the next sync byte into the transport stream to be restored (S340).
한편, 동기 바이트가 0xFF로 확인된 경우, 제어부(220)는 널 패킷으로 판단하고(S350), 동기 바이트를 복원한다(S370). 널 패킷도 대역폭 유지를 위한 전송 스트림 패킷이므로, 동기 바이트는 0x47로 지정될 수 있다.On the other hand, if the sync byte is confirmed to be 0xFF, the control unit 220 determines to be a null packet (S350), and restores the sync byte (S370). Since the null packet is also a transport stream packet for bandwidth maintenance, the sync byte may be designated as 0x47.
그리고, 제어부(220)는 복원된 동기 바이트에 대응하여, 널 패킷을 생성하고, 생성된 널 패킷을 전송 스트림에 삽입한다(S370).In response to the restored sync byte, the controller 220 generates a null packet and inserts the generated null packet into the transport stream (S370).
이후, 제어부(220)는 복원이 종료되었는지 판단한다(S380). 복원이 종료된 경우, 제어부(220)는 복원된 전송 스트림을 외부로 전송할 수 있다. 복원이 종료되지 않은 경우에는 S310단계를 다시 수행할 수 있다.Thereafter, the controller 220 determines whether the restoration is completed (S380). When the restoration ends, the controller 220 may transmit the restored transport stream to the outside. If the restoration is not finished, step S310 may be performed again.
이와 같이, 수신 장치(200)는 동기 바이트에 이용하여 널 패킷이 제거된 미디어 저장 스트림으로부터 미디어 전송 스트림의 복원을 가능하게 한다.In this way, the reception apparatus 200 enables the restoration of the media transport stream from the media storage stream from which null packets have been removed using the sync byte.
도 11은 본 발명의 실시 예에 따른 미디어 저장 스트림의 기록이 가능한 수신 장치의 파일 시스템 구조를 도시한 블록도이다.11 is a block diagram illustrating a file system structure of a receiving apparatus capable of recording a media storage stream according to an exemplary embodiment of the present invention.
도 11을 참조하면, 파일 시스템은 사용자 레벨, 커널 레벨 및 하드웨어 레벨로 구분될 수 있다.Referring to FIG. 11, a file system may be divided into a user level, a kernel level, and a hardware level.
사용자 레벨의 DMA 프로그램 모듈(300)은 사용자 영역의 어플리케이션으로부터 발생하는 파일 시스템 요청을 커널 레벨로 전달하고, 그 응답을 수신한다.The user level DMA program module 300 forwards file system requests originating from applications in the user domain to the kernel level and receives the responses.
그리고 커널 레벨을 구성하는 각 블록들은, 운영체제(operating system)의 핵심으로써, 수신 장치(200)의 구동시, 하드웨어 드라이버 구동, 영상표시기기 내의 하드웨어와 프로세서의 보안, 시스템 자원의 효율적 관리, 메모리 관리, 하드웨어 추상화에 의한 하드웨어에 대한 인터페이스 제공, 멀티 프로세스, 및 멀티 프로세스에 따른 스케쥴 관리 등 중 적어도 하나를 수행할 수 있다. In addition, each block constituting the kernel level is a core of an operating system, and when a receiver 200 is driven, a hardware driver is driven, security of hardware and a processor in an image display device, efficient management of system resources, and memory management. , At least one of providing an interface to hardware by hardware abstraction, multiprocessing, and schedule management according to the multiprocessing.
이러한, 커널 레벨의 블록들은, 유닉스 기반(리눅스), 윈도우 기반 등 다양한 운영체제(OS) 기반으로 구현될 수 있다. 또한, 공개(open)된 OS 커널로서, 다른 전자기기 등에서 사용가능한 범용 커널로 구현될 수 있다. Such kernel-level blocks may be implemented based on various operating systems (OS) such as Unix-based (Linux) and Windows-based. In addition, as an open OS kernel, it may be implemented as a general-purpose kernel usable in other electronic devices.
본 발명의 실시 예에 따른 미디어 전송 스트림 수신 방법은, 이와 같은 커널 레벨의 MPEG-2 TS 압축 모듈(310)에서 수행될 수 있다.The media transport stream reception method according to an embodiment of the present invention may be performed by the kernel level MPEG-2 TS compression module 310.
MPEG-2 TS 압축 모듈(310)은 사용자 레벨로부터 시스템 호출 모듈(305)을 통해 입력되는 요청에 따라 MPEG-2 TS 미디어 전송 스트림을 수신하여 본 발명의 실시 예에 따른 널 패킷 또는 스터핑 바이트의 제거를 수행하고, 파일 시스템(320)으로 전달할 수 있다. The MPEG-2 TS compression module 310 receives the MPEG-2 TS media transport stream in response to a request input through the system call module 305 from the user level, and eliminates null packets or stuffing bytes according to an embodiment of the present invention. May be performed and transferred to the file system 320.
또한, MPEG-2 TS 압축 모듈(310)은 DMA 채널을 이용하여 각 MPEG-2 TS 패킷 또는 연속되는 패킷들이 결합된 데이터를 사용자 레벨의 MPEG-2 TS 시스템 디코더로 전달할 수 있다.In addition, the MPEG-2 TS compression module 310 may transfer data, in which each MPEG-2 TS packet or consecutive packets are combined, to a user level MPEG-2 TS system decoder using a DMA channel.
한편, 커널은 예를 들어, DMA 채널의 도움 없이도 직접적으로 MPEG-2 TS 압축 모듈(310)을 통한 파일 시스템에 접근할 수 있도록, /DEV/MP2T로 명명되는 인터페이스를 선택적으로 제공할 수도 있다.Meanwhile, the kernel may optionally provide an interface named / DEV / MP2T, for example, to directly access the file system through the MPEG-2 TS compression module 310 without the help of a DMA channel.
파일 시스템(320)은 MPEG-2 TS 압축 모듈(310)로부터 불필요한 데이터가 제거되어 압축되는 미디어 저장 스트림 파일을 인덱싱하고, 이를 장치 드라이버(340)를 통해 하드웨어 저장 장치(350)로 저장하게 한다. 이를 위해 파일 시스템(320)은 제어 보조 시스템(315)의 프로세스 제어를 받을 수 있다.The file system 320 indexes the media storage stream file in which unnecessary data is removed from the MPEG-2 TS compression module 310 and compressed, and stores the media storage stream file in the hardware storage device 350 through the device driver 340. To this end, the file system 320 may be subjected to process control of the control assistance system 315.
그리고, 파일 시스템(320)은 데이터 처리를 위해, 캐릭터 모듈(335)과, 블럭 모듈(330)에 연결된다. 블럭 모듈(330)은, 특정 블럭 단위로 데이터가 전송되므로 단위 크기만큼을 보관할 버퍼 캐시(325)가 필요할 수 있다. 그리고, 캐릭터 모듈(335)은, 커널의 기본 데이터 단위인 캐릭터 단위로 전송하므로 버퍼가 필요없을 수 있다. The file system 320 is connected to the character module 335 and the block module 330 for data processing. The block module 330 may need a buffer cache 325 to store as much as the unit size because data is transmitted in a specific block unit. In addition, the character module 335 transmits data in character units, which are basic data units of the kernel, and thus may not require a buffer.
그리고, 장치 드라이버(340)는 하드웨어 제어부(345)를 통해 연결된 장치를 제어한다. 장치 드라이버(340)는 파일 시스템(320)에서 인덱싱된 데이터를 하드웨어 제어부(345)를 통해 저장 장치(350)에 저장할 수 있다.The device driver 340 controls the device connected through the hardware controller 345. The device driver 340 may store data indexed by the file system 320 in the storage device 350 through the hardware controller 345.
이와 같은 사용자 레벨, 커널 레벨 및 하드웨어 레벨의 시스템 구성을 통해 파일 인덱싱과 동시에 MPEG-2 TS 압축 모듈(310)에 의해 널 패킷이 제거되어 저장 장치(350)로 압축 저장되게 된다. 따라서, 본 발명의 실시 예에 따르면 압축에 의한 지연 시간 없이도, 널 패킷 제거만으로 저장 공간 확보가 가능하게 된다. 따라서, 효율적인 저장 공간 활용이 가능하게 된다.Through such user level, kernel level, and hardware level system configuration, null packets are removed by the MPEG-2 TS compression module 310 and compressed and stored in the storage device 350 at the same time as file indexing. Therefore, according to an embodiment of the present invention, it is possible to secure storage space only by removing null packets without a delay time caused by compression. Therefore, efficient storage space utilization is possible.
도 12 내지 13은 본 발명의 실시 예에 의한 저장 공간 확보 효과를 비교 설명하기 위한 실험 데이터이다.12 to 13 are experimental data for comparing and explaining the effect of securing the storage space according to an embodiment of the present invention.
도 12는 실험 대상인 미디어 전송 스트림을 나타내며, 도 13은 각 실험 결과에 따른 데이터의 크기 및 압축률을 나타낸다.12 shows a media transport stream as an experiment target, and FIG. 13 shows the size and compression ratio of data according to each experiment result.
도 13의 각 열은 순서대로 세그먼트(바이트 영역 지속시간, sec), 원본 사이즈(bytes), 널 패킷이 제거된 사이즈(bytes), 널 패킷이 제거된 경우의 압축율(%), 스터핑 바이트가 제거된 사이즈(bytes), 스터핑 바이트가 제거된 경우의 압축률(%), gzip 어플리케이션으로 압축된 경우의 사이즈(bytes) 및 gzip의 압축률(%)을 나타낸다.In each column of FIG. 13, segments (byte area duration, sec), original size (bytes), size in which null packets are removed (bytes), compression ratio (%) when null packets are removed, and stuffing bytes are removed. The size (bytes), the compression rate (%) when stuffing bytes are removed, the size (bytes) when compressed with a gzip application, and the compression rate (%) of gzip.
도 13에서 확인되는 바와 같이, 널 패킷 또는 스터핑 바이트가 제거된 미디어 저장 스트림의 사이즈는 원본 사이즈보다 상당한 저장 용량 감소를 가져옴을 알 수 있다. 또한, 저장 용량 감소에 의한 압축률은 압축 전용 어플리케이션인 gzip에 비해 큰 차이가 나지 않음을 판단할 수 있다. 특히, 본 발명의 실시 예에 따른 미디어 저장 스트림 포맷의 경우 gzip과 같이 압축 해제 과정 없이도 그대로 재생할 수 있는 호환성이 있기 때문에 저장 용량을 줄이면서도 기존의 재생 장치들에서 지연 없이 재생 가능하게 하는 효과를 가져올 수 있다.As can be seen in FIG. 13, it can be seen that the size of the media storage stream from which null packets or stuffing bytes have been removed results in a significant storage capacity reduction than the original size. In addition, it can be determined that the compression ratio due to the reduction of the storage capacity does not differ significantly from gzip, which is a compression only application. In particular, the media storage stream format according to an embodiment of the present invention has the compatibility that can be played as it is without decompression process, such as gzip, thereby reducing the storage capacity and bring the effect of being able to play without delay in existing playback devices Can be.
도 1 내지 도 13을 참조하여 설명한 바와 같은 미디어 수신 및 처리 방법들은 본 발명의 실시예에 따른 IPTV 수신기에 의해 수행될 수 있다.Media receiving and processing methods as described with reference to FIGS. 1 to 13 may be performed by an IPTV receiver according to an embodiment of the present invention.
이하, 도 14 및 도 15를 참조하여 본 발명의 실시예에 따른 IPTV 수신기의 구성에 대해 보다 상세히 설명하기로 한다.Hereinafter, the configuration of an IPTV receiver according to an embodiment of the present invention will be described in more detail with reference to FIGS. 14 and 15.
도 14는 본 발명의 일실시예에 의한 IPTV 수신기 구성을 블록도로 도시한 것이다.14 is a block diagram showing an IPTV receiver configuration according to an embodiment of the present invention.
본 발명의 일실시예에 따른 IPTV 수신기는, 지상파 방송, 케이블 방송, 위성 방송 등을 수신할 수 있도록 별도의 튜너 등을 구비할 수도 있다. 그러나, 본 발명에서는 설명의 편의를 위해 IP 네트워크를 이용하여 제공되는 IPTV 서비스를 수신하는 구성을 중심으로 설명하기로 한다.The IPTV receiver according to an embodiment of the present invention may include a separate tuner or the like for receiving terrestrial broadcasting, cable broadcasting, satellite broadcasting, or the like. However, in the present invention, for the convenience of description, a description will be given of the configuration of receiving an IPTV service provided using an IP network.
한편, ITF는 Open IPTV Terminal Function을 나타내는 것으로, IPTV 서비스를 지원하는데 필요한 기능 모듈로 구성된 수신기를 의미할 수 있다.On the other hand, ITF represents an Open IPTV Terminal Function, which may mean a receiver composed of a function module required to support the IPTV service.
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)를 포함할 수 있다.The IPTV receiver includes a network interface 901, a TCP / IP manager 902, a service delivery manager 904, a PVR manager 905, Demultiplexer (908), Data Decoder (907), Audio / Video Decoder (912), A / V Display & OSD Module (915), Application Manager ( Application Manager (913, 914), Service Information Database (SI & Metadata DB) 911, Service Discovery Manager (909), Service Control Manager (903), Metadata Manager (Metadata Manager) 910 and a content database unit (Content DB) (906).
도 18을 참조하면, 네트워크 인터페이스부(901)는 네트워크 망으로부터 수신되는 패킷(packet)들을 수신하고, 네트워크 망으로 패킷을 전송한다. 즉 네트워크 인터페이스부(901)는 네트워크 망을 통해 서비스 프로바이더로부터 서비스, 미디어 컨텐츠 등을 수신한다.Referring to FIG. 18, the network interface unit 901 receives packets received from a network and transmits the packets to the network. That is, the network interface unit 901 receives a service, media content, etc. from a service provider through a network.
TCP/IP 매니저(902)는, IPTV 수신기로 수신되는 패킷과 IPTV 수신기에서 전송하는 패킷에 대하여, 소스로부터 목적지까지의 패킷 전달에 관여한다. 또한, TCP/IP 매니저(902)는 수신된 패킷을 적절한 프로토콜에 대응되도록 분류하고, 서비스 전달 매니저(904), 서비스 디스커버리 매니저(909), 서비스 제어 매니저(903) 및 메타데이터 매니저(910)로 분류된 패킷을 출력한다.The TCP / IP manager 902 is involved in packet transmission from the source to the destination for the packet received by the IPTV receiver and the packet transmitted by the IPTV receiver. In addition, the TCP / IP manager 902 classifies the received packet to correspond to an appropriate protocol, and sends it to the service delivery manager 904, the service discovery manager 909, the service control manager 903, and the metadata manager 910. Output sorted packets.
서비스 전달 매니저(904)는 수신되는 서비스 데이터의 제어를 담당한다. 예를 들어, 실시간 스트리밍(realtime streaming) 데이터를 제어하는 경우 RTP/RTCP를 사용할 수 있다.The service delivery manager 904 is responsible for controlling the received service data. For example, RTP / RTCP can be used to control real-time streaming data.
상기 실시간 스트리밍 데이터를 RTP를 사용하여 전송하는 경우, 서비스 전달 매니저(904)는 상기 수신된 데이터 패킷을 RTP에 따라 파싱(parsing)하여 디멀티플렉서(908)에 전송하거나 서비스 매니저(914)의 제어에 따라 컨텐츠 데이터베이스부(906)에 저장한다. 또한, 서비스 전달 매니저(904)는 RTCP를 이용하여 상기 네트워크 수신 정보를 서비스를 제공하는 서버측에 피드백(feedback)한다.When transmitting the real-time streaming data using the RTP, the service delivery manager 904 parses the received data packet according to the RTP and transmits it to the demultiplexer 908 or under the control of the service manager 914. The content database unit 906 stores the content. The service delivery manager 904 also feeds back the network reception information to the server side providing the service using RTCP.
디멀티플렉서(908)는 수신된 패킷을 오디오, 비디오, PSI(Program Specific Information) 데이터 등으로 역다중화하여 각각 오디오/비디오 디코더(912), 데이터 디코더(907)에 전송한다.The demultiplexer 908 demultiplexes the received packet into audio, video, program specific information (PSI) data, and the like, and transmits the demultiplexer 908 to the audio / video decoder 912 and the data decoder 907, respectively.
데이터 디코더(907)는 예를 들어, PSI(Program Specific Information) 등의 서비스 정보를 디코딩한다. 즉, 데이터 디코더(907)는 상기 디멀티플렉서(908)에서 역다중화된 PSI 섹션, PSIP(Program and Service Information Protocol) 섹션 또는 DVB-SI(Service Information) 섹션 등을 수신하여 디코딩한다.The data decoder 907 decodes service information such as, for example, program specific information (PSI). That is, the data decoder 907 receives and decodes the demultiplexed PSI section, the program and service information protocol (PSIP) section, or the service information (DVB-SI) section from the demultiplexer 908.
또한, 데이터 디코더(907)는 상기 수신된 섹션들을 디코딩하여 서비스 정보에 관한 데이터베이스를 만들고, 상기 서비스 정보에 관한 데이터베이스는 서비스 정보 데이터베이스부(911)에 저장한다.In addition, the data decoder 907 decodes the received sections to create a database of service information, and stores the database of the service information in the service information database unit 911.
오디오/비디오 디코더(912)는 상기 디멀티플렉서(908)에서 수신된 비디오 데이터와 오디오 데이터를 디코딩한다. 상기 오디오/비디오 디코더(912)에서 디코딩된 오디오 데이터 및 비디오 데이터는 디스플레이부(915)를 통하여 사용자에게 제공된다.An audio / video decoder 912 decodes the video data and the audio data received at the demultiplexer 908. The audio data and the video data decoded by the audio / video decoder 912 are provided to the user through the display unit 915.
애플리케이션 매니저는 IPTV 수신기의 전반적인 상태를 관리하고 유저 인터페이스를 제공하며, 다른 매니저를 관리한다. 이를 위해 애플리케이션 매니저는 유저 인터페이스 매니저(User Interface Manager)(913) 및 서비스 매니저(914)를 포함한다.The application manager manages the overall state of the IPTV receiver, provides a user interface, and manages other managers. For this purpose, the application manager includes a user interface manager 913 and a service manager 914.
유저 인터페이스 매니저(913)는 사용자를 위한 GUI(Graphic User Interface)를 OSD(On Screen Display) 등을 이용하여 제공하며, 사용자로부터 키 입력을 받아 상기 입력에 따른 수신기 동작을 수행한다. 예를 들어, 사용자로부터 채널선택에 관한 키 입력을 받으면 상기 키 입력신호를 서비스 매니저(914)에 전송한다.The user interface manager 913 provides a graphical user interface (GUI) for a user using an OSD (On Screen Display), etc., and receives a key input from a user to perform a receiver operation according to the input. For example, upon receiving a key input related to channel selection from a user, the key input signal is transmitted to the service manager 914.
서비스 매니저(914)는 서비스 전달 매니저(904), 서비스 디스커버리 매니저(909), 서비스 제어 매니저(903) 및 메타데이터 매니저(910) 등 서비스와 연관된 매니저를 제어한다.The service manager 914 controls a manager associated with a service, such as a service delivery manager 904, a service discovery manager 909, a service control manager 903, and a metadata manager 910.
또한, 서비스 매니저(914)는 채널 맵(Channel Map)을 만들고 상기 유저 인터페이스 매니저(913)로부터 수신한 키 입력에 따라 상기 채널 맵을 이용하여 채널을 선택하다. 그리고 상기 서비스 매니저(914)는 데이터 디코더(907)로부터 채널의 서비스 정보를 전송받아 선택된 채널의 오디오/비디오 PID(Packet Identifier)를 디멀티플렉서(908)에 설정한다.In addition, the service manager 914 creates a channel map and selects a channel using the channel map according to a key input received from the user interface manager 913. The service manager 914 receives service information of a channel from the data decoder 907 and sets an audio / video packet identifier (PID) of the selected channel to the demultiplexer 908.
서비스 디스커버리 매니저(909)는 서비스를 제공하는 서비스 프로바이더를 선택하는데 필요한 정보를 제공한다. 상기 서비스 매니저(914)로부터 채널선택에 관한 신호를 수신하면, 서비스 디스커버리 매니저(909)는 상기 정보를 이용하여 서비스를 찾는다.The service discovery manager 909 provides information necessary to select a service provider that provides a service. Upon receiving a signal regarding channel selection from the service manager 914, the service discovery manager 909 finds a service using the information.
서비스 제어 매니저(903)는 서비스의 선택과 제어를 담당한다. 예를 들어, 서비스 제어 매니저(903)는 사용자가 기존의 방송방식과 같은 Live Broadcasting 서비스를 선택하는 경우 IGMP 또는 RTSP 등을 사용하고, VOD(Video On Demand)와 같은 서비스를 선택하는 경우에는 RTSP를 사용하여 서비스의 선택, 제어를 수행할 수 있다.The service control manager 903 is responsible for selecting and controlling services. For example, the service control manager 903 uses IGMP or RTSP when the user selects a Live Broadcasting service such as a conventional broadcasting method, and uses RTSP when selecting a service such as VOD (Video On Demand). Can be used to select and control services.
상기 RTSP 프로토콜은 실시간 스트리밍에 대해 트릭 모드(trick mode)를 제공할 수 있다. 또한, 서비스 제어 매니저(903)는 IMS(IP Multimedia Subsystem), SIP(Session Initiation Protocol)를 이용하여 IMC 게이트웨이를 통하 세션을 초기화하고 관리할 수 있다. 상기 프로토콜들은 일 실시예이며, 구현 예에 따라 다른 프로토콜을 사용할 수도 있다.The RTSP protocol may provide a trick mode for real time streaming. In addition, the service control manager 903 may initiate and manage a session through the IMC gateway using an IP multimedia subsystem (IMS) or a session initiation protocol (SIP). The protocols are one embodiment, and other protocols may be used depending on implementation.
메타데이터 매니저(910)는 서비스와 연관된 메타데이터를 관리하고 상기 메타데이터를 서비스 정보 데이터베이스부(911)에 저장한다.The metadata manager 910 manages metadata associated with a service and stores the metadata in the service information database unit 911.
서비스 정보 데이터베이스부(911)는 데이터 디코더(907)가 디코딩한 서비스 정보, 메타데이터 매니저(910)가 관리하는 메타데이터 및 서비스 디스커버리 매니저(909)가 제공하는 서비스 프로바이더를 선택하는데 필요한 정보를 저장한다. 또한, 서비스 정보 데이터베이스부(911)는 시스템에 대한 셋업 데이터 등을 저장할 수 있다.The service information database unit 911 stores service information decoded by the data decoder 907, metadata managed by the metadata manager 910, and information necessary to select a service provider provided by the service discovery manager 909. do. In addition, the service information database unit 911 may store setup data for the system.
서비스 정보 데이터베이스부(911) 및 컨텐츠 데이터베이스부(906)는 각각 비휘발성 메모리(NonVolatile RAM: NVRAM) 또는 플래쉬 메모리 등을 사용하여 구현될 수 있으며, 동일한 저장영역 상에 논리적으로 분리된 두 개의 영역으로 구현될 수 있다.The service information database unit 911 and the content database unit 906 may be implemented using nonvolatile memory (NVRAM) or flash memory, respectively, and are two logically separated areas on the same storage area. Can be implemented.
PVR 매니저(905)는 라이브 스트리밍 컨텐츠를 레코딩 하고 재생하기 위한 모듈로서, 녹화된 컨텐츠에 관한 메타데이터를 수집하고, thumbnail image나 index와 같은 사용자에게 제공되는 부가 정보를 생성할 수 있다.The PVR manager 905 is a module for recording and playing back live streaming content. The PVR manager 905 may collect metadata about the recorded content and generate additional information provided to the user such as a thumbnail image or an index.
본 발명의 실시예에 따른 널 패킷을 제거 가능한 IPTV 수신기의 제어부의 기능은 도 14에 도시된 TCP/IP 매니저(902), 서비스 전달 매니저(904), PVR 매니저(905), 애플리케이션 매니저(913, 914), 서비스 디스커버리 매니저(909), 서비스 제어 매니저(903) 및 메타데이터 매니저(910)와 같이 복수의 모듈들로 분할되어 구현될 수 있다.The function of the controller of the IPTV receiver capable of removing null packets according to an embodiment of the present invention is the TCP / IP manager 902, the service delivery manager 904, the PVR manager 905, the application manager 913, 914, a service discovery manager 909, a service control manager 903, and a metadata manager 910 may be divided into a plurality of modules.
예를 들어, TCP/IP 매니저(902)는 상기한 바와 같은 타켓 패키지 정보를 이용해 SD&S 정보를 필터링하여, 네트워크 인터페이스부(901)가 특정 패키지(예를 들어, IPTV 수신기가 가입된 패키지)에 해당하는 페이로드 또는 세그먼트만을 서버로 요청하여 수신하도록 제어할 수 있다.For example, the TCP / IP manager 902 filters the SD & S information using the target package information as described above, so that the network interface unit 901 corresponds to a specific package (for example, a package to which an IPTV receiver is subscribed). Only the payload or segment may be requested to the server and received.
또는, TCP/IP 매니저(902)는 멀티캐스트 방식으로 수신되는 SD&S 정보를 상기 타켓 패키지 정보를 이용해 필터링하여, 특정 패키지에 해당하는 페이로드 또는 세그먼트만이 데이터 디코더(907)에 의해 파싱되어 처리되도록 할 수 있다.Alternatively, the TCP / IP manager 902 filters the SD & S information received by the multicast method using the target package information so that only payloads or segments corresponding to a specific package are parsed and processed by the data decoder 907. can do.
도 15는 본 발명에 따른 IPTV 수신기의 구성에 대한 또 다른 실시예를 블록도로 도시한 것으로, IPTV 수신기의 구성을 기능적인 블록들로 나타낸 것이다. 도 15에 도시된 실선 화살표는 data path에 대응하며, 점선 화살표는 control signal path에 대응한다.15 is a block diagram showing another embodiment of the configuration of the IPTV receiver according to the present invention, and shows the configuration of the IPTV receiver in functional blocks. The solid line arrow shown in FIG. 15 corresponds to the data path, and the dotted line arrow corresponds to the control signal path.
Cable modem, DSL modem, etc(1001)는 physical level에서 ITF가 IP Network와 연결될 수 있도록하는 Interface로서, physical medium을 통해 전송된 신호를 Demodulate하여 Digital 신호를 복원한다.Cable modem, DSL modem, etc (1001) is an interface that allows the ITF to be connected to the IP network at the physical level, and demodulates the signal transmitted through the physical medium to restore the digital signal.
Ethernet NIC(1002)는 상기 physical interface를 통해 수신한 신호를 IP 데이터로 복원하며, IP Network Stack(1007)은 IP Protocol stack에 따라 각 layer를 처리한다.The Ethernet NIC 1002 restores the signal received through the physical interface to IP data, and the IP Network Stack 1007 processes each layer according to the IP Protocol stack.
한편, XML Parser(1009)는 수신되는 IP 데이터 중 XML Document를 파싱하며, File Handler(1008)는 수신되는 IP 데이터 중 FLUTE 등을 통해 File 형태로 전송되는 데이터를 처리한다.Meanwhile, the XML Parser 1009 parses an XML Document among received IP data, and the File Handler 1008 processes data transmitted in the form of File through FLUTE among the received IP data.
SI Handler(1011)은 수신되는 File 형태의 데이터 중 IPTV 서비스 정보에 해당하는 부분을 처리하여 Storage(1012)에 저장하며, EPG Handler(1010)는 수신되는 File 형태의 데이터 중 IPTV EPG 정보에 해당하는 부분을 처리하여 Storage(1012)에 저장할 수 있다.The SI Handler 1011 processes the part corresponding to the IPTV service information among the received File type data and stores it in the storage 1012, and the EPG Handler 1010 corresponds to the IPTV EPG information among the received File type data. The portion may be processed and stored in Storage 1012.
Storage(1012)는 상기 SI 및 EPG 등의 다양한 데이터를 저장한다.The storage 1012 stores various data such as the SI and the EPG.
SI Decoder(1013)는 Storage(1012)로부터 SI 데이터를 입력받아 분석하여 채널 맵 정보를 획득하고, EPG Decoder(1014)는 Storage(1012)에 저장된 EPG 데이터를 분석하여 EPG 구성을 위한 필요한 정보를 복원한다.The SI Decoder 1013 receives the SI data from the Storage 1012 and analyzes it to obtain channel map information. The EPG Decoder 1014 analyzes the EPG data stored in the Storage 1012 to restore necessary information for the EPG configuration. do.
ITF Operation Controller(1015)는 Channel 변경 또는 EPG Display 등의 ITF의 동작을 제어하는 main controller이다.The ITF Operation Controller 1015 is a main controller that controls the operation of an ITF such as a channel change or an EPG display.
Channel Service Manager(1016)는 사용자 입력에 따라 Channel 변경 등의 동작을 수행하며, Application Manager(1017)는 사용자 입력에 따라 EPG Display 등의 Application 서비스를 수행할 수 있다.The channel service manager 1016 may perform an operation such as changing a channel according to a user input, and the application manager 1017 may perform an application service such as an EPG display according to the user input.
MPEG-2 Demultiplexer(1003)는 수신되는 IP 데이터그램(Datagram)으로부터 MPEG-2 Transport Stream 데이터를 추출하여 패킷 식별 정보(PID)에 따라 해당 모듈로 전달할 수 있다.The MPEG-2 Demultiplexer 1003 may extract MPEG-2 Transport Stream data from the received IP datagram and deliver the MPEG-2 Transport Stream data to the corresponding module according to the packet identification information (PID).
또한, MPEG-2 PSI/PSIP Parser(1004)는 상기 MPEG-2 Transport Stream으로부터 A/V 데이터의 패킷 식별 정보(PID) 또는 program element에 대한 접속 정보를 포함하는 PSI/PSIP 데이터를 추출하여 파싱할 수 있다.Also, the MPEG-2 PSI / PSIP Parser 1004 extracts and parses PSI / PSIP data including packet identification information (PID) of A / V data or access information about a program element from the MPEG-2 Transport Stream. Can be.
한편, A/V Decoder(1005)는 입력되는 Audio 및 Video 데이터를 디코딩하여 Display 모듈(1006)로 전달하며, Display 모듈(1006)은 디코딩된 A/V 데이터 또는 application을 출력할 수 있다.Meanwhile, the A / V Decoder 1005 decodes the input audio and video data and transmits the decoded audio and video data to the display module 1006. The display module 1006 may output decoded A / V data or an application.
상기에서는 송신 장치(100)와 수신 장치(200) 사이에 송수신되는 미디어 전송 스트림이 MPEG-2 TS인 경우를 예로 들어 본 발명의 실시예에 따른 미디어 송수신 방법 및 장치에 대해 설명하였으나, 본 발명은 이에 한정되지 아니하며, 상기 MPEG-2 TS 이외에 다양한 전송 스트림 포맷들에 적용될 수 있다.In the above description, a media transmission / reception method and apparatus according to an embodiment of the present invention have been described taking an example in which a media transport stream transmitted / received between a transmitting device 100 and a receiving device 200 is an MPEG-2 TS. The present invention is not limited thereto and may be applied to various transport stream formats in addition to the MPEG-2 TS.
상술한 본 발명에 따른 미디어 전송 스트림 수신 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.The above-described method for receiving a media transport stream according to the present invention can be stored in a computer-readable recording medium that is produced as a program for execution on a computer. Examples of the computer-readable recording medium include ROM, RAM, CD- ROMs, magnetic tapes, floppy disks, optical data storage, and the like, and also include those implemented in the form of carrier waves (eg, transmission over the Internet).
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. In addition, functional programs, codes, and code segments for implementing the method can be easily inferred by programmers in the art to which the present invention belongs.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해 되어서는 안될 것이다.In addition, although the preferred embodiment of the present invention has been shown and described above, the present invention is not limited to the specific embodiments described above, but the technical field to which the invention belongs without departing from the spirit of the invention claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be individually understood from the technical spirit or prospect of the present invention.

Claims (20)

  1. 미디어를 수신하는 방법에 있어서,In a method for receiving media,
    수신 채널을 선택하는 단계;Selecting a receiving channel;
    상기 수신 채널을 통해 전송되는 미디어 전송 스트림을 수신하는 단계;Receiving a media transport stream transmitted over the receive channel;
    상기 수신된 미디어 전송 스트림에 기초하여 미디어 저장 스트림을 생성하는 단계; 및Generating a media storage stream based on the received media transport stream; And
    상기 미디어 저장 스트림을 기록하는 단계를 포함하고,Recording the media storage stream;
    상기 미디어 저장 스트림은 상기 미디어 전송 스트림 중 제거된 데이터를 나타내는 적어도 하나의 동기 바이트를 포함하는 The media storage stream includes at least one sync byte representing data removed from the media transport stream.
    미디어 수신 방법.How to receive media.
  2. 제1항에 있어서,The method of claim 1,
    상기 제거된 데이터는 상기 수신된 미디어 전송 스트림에 포함되는 널 패킷인 The removed data is a null packet included in the received media transport stream.
    미디어 수신 방법.How to receive media.
  3. 제2항에 있어서,The method of claim 2,
    상기 미디어 저장 스트림은 상기 제거된 데이터를 나타내는 적어도 하나의 동기 바이트와 상이한 제2 동기 바이트 및 상기 제2 동기 바이트에 대응되는 패킷 데이터를 더 포함하는 The media storage stream further includes a second sync byte different from at least one sync byte representing the removed data and packet data corresponding to the second sync byte.
    미디어 수신 방법.How to receive media.
  4. 제3항에 있어서,The method of claim 3,
    상기 제2 동기 바이트가 특정 값인 경우, 상기 패킷 데이터는 미디어 스트림 구성 정보를 포함하는 If the second sync byte is a specific value, the packet data includes media stream configuration information.
    미디어 수신 방법.How to receive media.
  5. 제4항에 있어서,The method of claim 4, wherein
    상기 미디어 스트림 구성 정보는 상기 미디어 전송 스트림 중 상기 특정 데이터의 반복 회수 정보를 포함하는 The media stream configuration information includes repetition number information of the specific data in the media transport stream.
    미디어 수신 방법.How to receive media.
  6. 제1항에 있어서,The method of claim 1,
    상기 제거된 데이터는 상기 수신된 미디어 전송 스트림에 포함되는 스터핑 바이트인 The removed data is a stuffing byte included in the received media transport stream.
    미디어 수신 방법.How to receive media.
  7. 제6항에 있어서,The method of claim 6,
    상기 미디어 저장 스트림은 상기 제거된 스터핑 바이트를 복원하기 위한 복원 정보를 더 포함하는 The media storage stream further includes restoration information for restoring the removed stuffing byte.
    미디어 수신 방법.How to receive media.
  8. 제7항에 있어서,The method of claim 7, wherein
    상기 복원 정보는The restoration information is
    상기 제거된 스터핑 바이트가 포함된 패킷 내의 복수의 데이터 구간들에 대한 구간 개수 정보, 시작점 정보 및 구간 길이 정보를 포함하는 Section number information, starting point information and interval length information for a plurality of data intervals in the packet including the removed stuffing byte
    미디어 수신 방법.How to receive media.
  9. 제1항에 있어서,The method of claim 1,
    상기 미디어 저장 스트림을 재생하는 단계를 더 포함하고,Playing the media storage stream;
    상기 재생하는 단계는The playing step
    상기 미디어 저장 스트림의 동기 바이트를 획득하는 단계; 및Obtaining a sync byte of the media storage stream; And
    상기 획득된 동기 바이트에 대응되는 상기 미디어 저장 스트림에 포함된 패킷 데이터를 재생하되, 상기 동기 바이트가 상기 제거된 데이터를 나타내는 경우 다음 동기 바이트를 획득하는 단계를 포함하는 Playing packet data included in the media storage stream corresponding to the obtained sync byte, and acquiring a next sync byte if the sync byte indicates the removed data;
    미디어 수신 방법.How to receive media.
  10. 제1항에 있어서,The method of claim 1,
    상기 미디어 저장 스트림에 포함된 동기 바이트를 이용하여 상기 미디어 전송 스트림을 복원하는 단계를 더 포함하는 Restoring the media transport stream using the sync byte included in the media storage stream.
    미디어 수신 방법.How to receive media.
  11. 미디어 수신 장치에 있어서,In the media receiving apparatus,
    채널을 선택하고, 선택된 채널을 통해 전송되는 미디어 전송 스트림을 수신하는 수신부;A receiver for selecting a channel and receiving a media transport stream transmitted through the selected channel;
    상기 수신된 미디어 전송 스트림에 기초하여 미디어 저장 스트림을 생성하는 제어부 및;A control unit for generating a media storage stream based on the received media transport stream;
    상기 미디어 저장 스트림을 기록하는 저장부를 포함하고,A storage unit for recording the media storage stream,
    상기 미디어 저장 스트림은 상기 미디어 전송 스트림 중 제거된 데이터를 나타내는 적어도 하나의 동기 바이트를 포함하는 The media storage stream includes at least one sync byte representing data removed from the media transport stream.
    미디어 수신 장치.Media Receiving Device.
  12. 제11항에 있어서,The method of claim 11,
    상기 동기 바이트는 상기 동기 바이트에 대응되는 데이터가 상기 동기 바이트의 위치에서 제거되었음을 묵시적으로 나타내는 The sync byte implicitly indicates that data corresponding to the sync byte has been removed at the position of the sync byte.
    미디어 수신 장치.Media Receiving Device.
  13. 제11항에 있어서,The method of claim 11,
    상기 제거된 데이터는 상기 수신된 미디어 전송 스트림에 포함된 널 패킷을 포함하는 The removed data includes a null packet included in the received media transport stream.
    미디어 수신 장치.Media Receiving Device.
  14. 제13항에 있어서,The method of claim 13,
    상기 동기 바이트는 상기 널 패킷이 제거되었음을 나타내는 특정 값을 갖는The sync byte has a specific value indicating that the null packet has been removed.
    미디어 수신 장치.Media Receiving Device.
  15. 제13항에 있어서,The method of claim 13,
    상기 미디어 저장 스트림은 상기 제거된 널 패킷을 나타내는 동기 바이트와 그 값이 상이한 제2 동기 바이트 및 상기 제2 동기 바이트에 따른 미디어 구성 정보를 더 포함하는 The media storage stream further includes a second sync byte different from a sync byte representing the removed null packet, and media configuration information according to the second sync byte.
    미디어 수신 장치.Media Receiving Device.
  16. 제15항에 있어서,The method of claim 15,
    상기 미디어 구성 정보는 상기 미디어 전송 스트림 중 특정 데이터의 반복 회수 정보를 포함하는 The media configuration information includes repetition number information of specific data in the media transport stream.
    미디어 수신 장치.Media Receiving Device.
  17. 제16항에 있어서,The method of claim 16,
    상기 제어부는 상기 미디어 전송 스트림 중 상기 반복되는 특정 데이터를 제거하여 상기 미디어 저장 스트림을 생성하고, 상기 미디어 저장 스트림에 상기 미디어 구성 정보를 삽입하는 The control unit generates the media storage stream by removing the repeated specific data of the media transport stream, and inserts the media configuration information into the media storage stream.
    미디어 수신 장치.Media Receiving Device.
  18. 제11항에 있어서,The method of claim 11,
    상기 제어부는 상기 미디어 저장 스트림을 재생하고,The controller plays the media storage stream,
    상기 재생되는 미디어 저장 스트림을 디스플레이하기 위한 디스플레이부를 더 포함하는 The display apparatus may further include a display unit configured to display the played media storage stream.
    미디어 수신 장치.Media Receiving Device.
  19. 제18항에 있어서,The method of claim 18,
    상기 제어부는 상기 미디어 저장 스트림의 동기 바이트를 획득하고, 현재 동기 바이트에 대응되는 상기 미디어 저장 스트림의 패킷 데이터를 이용하여 재생하되, 상기 동기 바이트가 상기 제거된 데이터를 나타내는 경우 다음 동기 바이트를 획득하는 The control unit obtains the sync byte of the media storage stream and plays back using the packet data of the media storage stream corresponding to the current sync byte, and if the sync byte indicates the removed data, obtaining the next sync byte.
    미디어 수신 장치.Media Receiving Device.
  20. 제11항에 있어서,The method of claim 11,
    상기 제어부는 상기 미디어 저장 스트림에 포함된 동기 바이트를 이용하여 상기 미디어 전송 스트림을 복원하는 The control unit restores the media transport stream using the sync byte included in the media storage stream.
    미디어 수신 장치.Media Receiving Device.
PCT/KR2012/005820 2011-07-20 2012-07-20 Method for receiving media and device thereof WO2013012287A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CA2842271A CA2842271C (en) 2011-07-20 2012-07-20 Method for receiving media and device thereof
US14/233,326 US9258590B2 (en) 2011-07-20 2012-07-20 Method for receiving media and device thereof
KR1020147001709A KR101964649B1 (en) 2011-07-20 2012-07-20 Method for trasmitting media content and device thereof
US14/988,465 US9774899B2 (en) 2011-07-20 2016-01-05 Method for receiving media and device thereof

Applications Claiming Priority (4)

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

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/233,326 A-371-Of-International US9258590B2 (en) 2011-07-20 2012-07-20 Method for receiving media and device thereof
US14/988,465 Continuation US9774899B2 (en) 2011-07-20 2016-01-05 Method for receiving media and device thereof

Publications (2)

Publication Number Publication Date
WO2013012287A2 true WO2013012287A2 (en) 2013-01-24
WO2013012287A3 WO2013012287A3 (en) 2013-03-14

Family

ID=47558638

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/005820 WO2013012287A2 (en) 2011-07-20 2012-07-20 Method for receiving media and device thereof

Country Status (4)

Country Link
US (2) US9258590B2 (en)
KR (1) KR101964649B1 (en)
CA (1) CA2842271C (en)
WO (1) WO2013012287A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11153631B2 (en) * 2017-11-10 2021-10-19 Huawei Technologies Co., Ltd. Method and apparatus for playing television program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000028930A (en) * 1998-10-09 2000-05-25 모리시타 요이찌 Programmable filter for removing stuffing bits from an MPEG-2-bit-stream
JP2003348540A (en) * 2002-05-23 2003-12-05 Kenwood Corp Recording and reproducing device, recording device, reproducing device and recording and reproducing method
KR20060027346A (en) * 2003-06-17 2006-03-27 코닌클리케 필립스 일렉트로닉스 엔.브이. Stream file format for dvd-multimedia home platform with stuffing bytes removal

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100531378B1 (en) * 2003-07-25 2005-11-28 엘지전자 주식회사 Method for transmitting information in mobile TV service
EP1772017A2 (en) * 2004-07-20 2007-04-11 Qualcomm Incorporated Method and apparatus for encoder assisted-frame rate up conversion (ea-fruc) for video compression
KR101486372B1 (en) * 2007-07-25 2015-01-26 엘지전자 주식회사 Digital broadcasting system and method of processing data in digital broadcasting system
KR101532315B1 (en) * 2007-10-15 2015-06-30 톰슨 라이센싱 High definition television transmission with mobile capability
US8560552B2 (en) * 2010-01-08 2013-10-15 Sycamore Networks, Inc. Method for lossless data reduction of redundant patterns

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000028930A (en) * 1998-10-09 2000-05-25 모리시타 요이찌 Programmable filter for removing stuffing bits from an MPEG-2-bit-stream
JP2003348540A (en) * 2002-05-23 2003-12-05 Kenwood Corp Recording and reproducing device, recording device, reproducing device and recording and reproducing method
KR20060027346A (en) * 2003-06-17 2006-03-27 코닌클리케 필립스 일렉트로닉스 엔.브이. Stream file format for dvd-multimedia home platform with stuffing bytes removal

Also Published As

Publication number Publication date
US20140331268A1 (en) 2014-11-06
US9774899B2 (en) 2017-09-26
CA2842271C (en) 2016-09-20
KR20140061352A (en) 2014-05-21
WO2013012287A3 (en) 2013-03-14
KR101964649B1 (en) 2019-04-02
CA2842271A1 (en) 2013-01-24
US20160345041A1 (en) 2016-11-24
US9258590B2 (en) 2016-02-09

Similar Documents

Publication Publication Date Title
WO2012060581A2 (en) Method for transreceiving media content and device for transreceiving using same
WO2012011724A2 (en) Method for transceiving media files and device for transmitting/receiving using same
WO2013169084A1 (en) Hybrid transmission method through mmt packet format extension
WO2012177041A2 (en) Media content transceiving method and transceiving apparatus using same
WO2013141666A1 (en) Hybrid delivery method and reception method for mmt packaged svc video contents
WO2012011722A2 (en) Method for transmitting/receiving media and device for transmitting/receiving using same
WO2013077697A1 (en) Method for hybrid delivery of mmt pakcage and content and method for receiving content
WO2013077698A1 (en) Method for linking mmt media and dash media
WO2013089437A1 (en) Device and method for receiving media content
WO2013025035A9 (en) Transmitting device, receiving device, and transceiving method thereof
WO2013055164A1 (en) Method for displaying contents, method for synchronizing contents, and method and device for displaying broadcast contents
WO2009134105A2 (en) Method of receiving broadcasting signal and apparatus for receiving broadcasting signal
WO2011059291A2 (en) Method and apparatus for transmitting and receiving data
WO2013162312A1 (en) Method and apparatus for transceiving data for multimedia transmission system
WO2011071290A2 (en) Streaming method and apparatus operating by inserting other content into main content
WO2011074844A2 (en) Method of processing non-real time service and broadcast receiver
WO2015012605A1 (en) Method and apparatus for encoding three-dimensional content
WO2011132883A2 (en) Method for transmitting/receiving internet-based content and transmitter/receiver using same
WO2010123248A2 (en) Method for transmitting an iptv streaming service by p2p transmission, and method for receiving an iptv streaming service by p2p transmission
WO2011132879A2 (en) Method for transmitting/receving internet-based content and transmitter/receiver using same
WO2011132882A2 (en) Method for transmitting/receiving internet-based content and transmitter/receiver using same
WO2015137727A1 (en) Method and device for transmitting/receiving broadcast signal
WO2016178494A1 (en) Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broacast signal reception method
WO2011132880A2 (en) Method for transmitting/receiving internet-based content and transmitter/receiver using same
WO2011132881A2 (en) Method for transmission/reception of internet-based content and transmitter/receiver using same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12814363

Country of ref document: EP

Kind code of ref document: A2

ENP Entry into the national phase

Ref document number: 2842271

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20147001709

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14233326

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 12814363

Country of ref document: EP

Kind code of ref document: A2