WO2019107595A1 - Broadcast receiver and operation method therefor - Google Patents

Broadcast receiver and operation method therefor Download PDF

Info

Publication number
WO2019107595A1
WO2019107595A1 PCT/KR2017/013807 KR2017013807W WO2019107595A1 WO 2019107595 A1 WO2019107595 A1 WO 2019107595A1 KR 2017013807 W KR2017013807 W KR 2017013807W WO 2019107595 A1 WO2019107595 A1 WO 2019107595A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
client
mpd
media
files
Prior art date
Application number
PCT/KR2017/013807
Other languages
French (fr)
Korean (ko)
Inventor
박우출
김현욱
양진욱
김용화
윤상필
Original Assignee
전자부품연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전자부품연구원 filed Critical 전자부품연구원
Publication of WO2019107595A1 publication Critical patent/WO2019107595A1/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Definitions

  • the present invention relates to a broadcast receiver related to providing contents for Internet broadcasting and a method of operating the same.
  • QoS Quality of Service
  • DASH Dynamic Adaptive Streaming over HTTP
  • MPEG Moving Picture Experts Group
  • MPEG-DASH is a standard for seamlessly serving media contents to users in accordance with user environment (network and terminal performance, etc.).
  • the standard scope covered by MPEG-DASH is MPD Media Segmentation technology as a time-based content segmentation technology, access location technology capable of downloading / streaming each time-divided file, file format technology supporting MPEG-DASH, MPD And profiling techniques to change the configuration.
  • a broadcast receiver of the present invention includes a first communication circuit for forming a communication channel with a multi-channel broadcast distribution server for providing media files of various resolutions, a second communication circuit A memory for storing the media file and media file fragments processed by dynamic adaptive streaming over HTTP (DASH) processing; and a processing unit electrically connected to the first communication circuit, the second communication circuit, and the memory
  • the processing unit receives and stores the media file through the multiple cable network, performs indexing on the MPD (Media Presentation Description) file and the segment files generated while DASH processing the received media file, According to MPEG-DASH-SRD (Moving Picture Experts Group - Dynamic Adaptive Streaming over H The MPD file and the segment files based on a TTP-Spatial Relationship Description (TTP).
  • TTP TTP-Spatial Relationship Description
  • the processing unit may include a cable receiver coupled to the multi-channel distribution transmission server, and the cable receiver may include a buffer for separating and storing the HEVC Tiled-Encoded media files having different resolutions.
  • the processing unit may be configured to transmit the next file while referring to the index information of the previously transmitted file while transmitting the MPD file and the segment files to the client.
  • the processing unit may be configured to generate the index information based on time stamp information related to the reception of the media file.
  • the processing unit may be configured to generate a client ID according to the client request, and to transmit the MPD file, the segment files, and the index information to the client based on the client ID.
  • the broadcasting receiver operating method includes receiving and storing media files having different resolutions HEVC Tiled Encoding from a multi-channel distribution transmission server through a multiple cable network, Performing indexing of a MPD (Media Presentation Description) file and segment files generated during DASH processing, a Moving Picture Experts Group (MPEG-DASH-SRD) And transmitting the MPD file and the segment files to the client based on the index of the previously transmitted file, wherein the transmitting includes setting the transmission of the next file by referring to the index of the previously transmitted file.
  • MPD Media Presentation Description
  • MPEG-DASH-SRD Moving Picture Experts Group
  • the present invention can support seamless content provisioning or relatively low-delay streaming service.
  • FIG. 1 is a diagram illustrating an example of a content providing system for Internet broadcasting according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an example of a broadcast receiver configuration according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an example of a configuration of a processing unit according to an embodiment of the present invention.
  • FIG. 4 is a block diagram of a cable receiver of a broadcast receiver according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating an example of a method of operating a broadcast receiver according to an embodiment of the present invention.
  • FIG. 6 is a diagram illustrating an example of an MPD manager according to an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating an example of a segment manager according to an embodiment of the present invention.
  • FIG. 8 is a diagram illustrating an example of an index manager according to an embodiment of the present invention.
  • FIG. 9 is a view showing an example of a dash live connector according to an embodiment of the present invention.
  • FIG. 10 is a diagram illustrating a signal flow between a broadcast receiver and a client in an Internet broadcast content providing system according to an embodiment of the present invention.
  • FIG. 1 is a diagram illustrating an example of a content providing system for Internet broadcasting according to an embodiment of the present invention.
  • a content providing system 10 for Internet broadcasting includes a transcoder 12, a multi-channel distribution server 15, a broadcast receiver 13 (or a broadcast receiver, ), And a client 14 (or a client terminal device).
  • the transcoder 12 divides an image (or a Media file) into a plurality of spaces having the same resolution or a plurality of spaces having different resolutions according to a specified policy and rules Or by a specified time unit.
  • the divided media files (e.g., HEVC Tiled encoded files) may be transmitted to the multi-channel distribution transmission server 15.
  • the multi-channel distribution transmission server 15 can provide the HQ media file, the MQ media file, the full MQ media file, the MetaInfo file, and the like to the broadcast receiver 13 through the multiple cables.
  • the broadcast receiver 13 may perform MPEG-DASHing operations on the received media files and may provide DASHing processed media file fragments to the client 14 (e.g., a display device, an HMD (Head Mounted Device)).
  • the client 14 e.g., a display device, an HMD (Head Mounted Device)
  • the broadcast receiver 13 performs indexing on the generated MPD file and segment files and manages the indexed media file fragments (e.g., MPD files and segment files) in response to the client 14 request to the client 14).
  • the Internet-broadcasting-content providing system 10 transmits pieces of media files (or data chunks) to the client 14 based on MPEG-DASH-SRD (Spatial Relationship Description) according to a specified policy or rule ,
  • the load of data transmission can be reduced to enable low delay live streaming or seamless live streaming service.
  • the transcoder 12 transmits a specific media file, for example, 360 VR (Virtual Reality) image or live relay image, to the multi-channel distribution transmission server 15 by Tiled Encoding (HEVC) or Encoding (HEVC) .
  • the transcoder 12 may generate Tiled information (MetaInfo) corresponding to the tiled encoded media files and transmit the generated Tiled information (MetaInfo) to the multi-channel distribution transmission server 15 when the media file is transmitted.
  • the transcoder 12 can perform HEVC Tiled Encoding in real time on a high-quality image or perform HEVC Tiled Encoding on a VOD content at a designated time.
  • the transcoder 12 divides one image into units of a predetermined size (or space), sequentially performs HEVC tiled encoding on the divided media files, and transmits the HEVC to the multi-channel distribution transmission server 15 .
  • the image transmitted from the transcoder 12 to the multi-channel distribution transmission server 15 includes, for example, HQ (HEVC Tiled Encoded high quality image of 8K level or higher), MQ (HEVC Tiled Encoded medium quality image of 2K or 4K level or higher) FullMQ (2K or 4K class HEVC encoded middle quality image).
  • the MetaInfo (or Tiled information) may include the above-described HQ, Meta information (Tile, Bitrate, FPS, bandwidth, etc.) for the MQ file.
  • the multi-channel distribution transmission server 15 can receive the Tiled Encoding media files of various resolutions from the transcoder 12. When the initial broadcast receiver 13 is connected, the multichannel distribution server 15 transmits the MetaInfo file to the broadcast receiver 13, and transmits the MetaInfo file to the broadcast receiver 13 according to the schedule set or at the request of the broadcast receiver 13, A media file, and a full MQ media file (TS format) to the broadcast receiver 13 over multiple cables.
  • the broadcast receiver 13 can receive media files of various resolutions (e.g., HQ, MQ, Full MQ) and MetaInfo files from the multi-channel distribution transmission server 15 through the multiple cable networks.
  • the broadcast receiver may perform a dashing operation on the received media file.
  • the broadcast receiver 13 provides pieces of media files (e.g., MPD files and segment files) on which a dubbing operation has been performed through a streaming service based on MPEG-DASH-SRD (Spatial Relationship Description) can do.
  • Dynamic Adaptive Streaming over HTTP (DASH) processed (or dashed) content can be segmented into a sequence of segments based on HTTP.
  • DASH Dynamic Adaptive Streaming over HTTP
  • dashed content can be segmented into a sequence of segments based on HTTP.
  • the client 14 is connected to the broadcast receiver 13 on the basis of MPEG-DASH, and can request the broadcast receiver 13 to select the image according to the user input.
  • the client 14 may receive media file fragments and indexing information (e.g., Index List) provided by the broadcast receiver 13, and may combine received media file fragments based on indexing information.
  • the MPD file is a Manifest file containing information such as content available to the client 14, alternative bit rates, and URL address values. File.
  • the client 14 may obtain information such as program timing, media-content availability, media type, image quality, minimum and maximum bandwidths, encoded-alternatives available, and DRM while parsing the MPD file.
  • the client 14 can perform streaming through an HTTP GET request after selecting an encoding suitable for the network state or the state of the terminal.
  • FIG. 2 is a diagram illustrating an example of a broadcast receiver configuration according to an embodiment of the present invention.
  • a broadcast receiver 13 includes a first communication circuit 110, a second communication circuit 120, a memory 140, and a processing unit 300 (e.g., a controller, Processor, or at least one processing module).
  • a processing unit 300 e.g., a controller, Processor, or at least one processing module.
  • the first communication circuit 110 may form a communication channel with which the multi-channel distributed transmission server 15 can communicate.
  • the first communication circuit 110 may include at least one of a wired communication interface or a wireless communication interface.
  • the first communication circuit 110 may form a communication channel through multiple cable networks.
  • the first communication circuit 110 may receive media files of varying quality (or resolution) transmitted by the multi-channel distribution transmission server 15.
  • the first communication circuit 110 may receive MetaInfo for media files of varying quality that the transcoder 12 transmits.
  • the second communication circuit 120 may form a communication channel with which the client 14 may communicate.
  • the second communication circuit 120 may include at least one of a wired communication interface or a wireless communication interface.
  • the second communication circuit 120 may form a communication channel through the Internet network.
  • the second communication circuit 120 can allocate a channel according to the connection of the client 14 and receive the video request signal from the client 14. [
  • the second communication circuit 120 may provide the client 14 with indexing information corresponding to media file fragments (e.g., MPD files and segment files) and media file fragments corresponding to the video request signal.
  • media file fragments e.g., MPD files and segment files
  • the memory 140 may store various programs or various commands necessary for operating the broadcast receiver 13.
  • the memory 140 may include at least one of instructions configured to receive a media file from a multi-channel distribution transmission server 15 based on the first communication circuit 110, a medium received from the multi- At least one command set to create a MPD file for a file, at least one command set to perform segmentation on a received media file, media file fragments (e.g., MPD file and segment files) to which a DASHing operation is applied, At least one instruction set to perform the indexing on the client 14, receive the request of the client 14, and store at least one instruction set to transmit the media file fragments and indexing information in response to the received request.
  • instructions configured to receive a media file from a multi-channel distribution transmission server 15 based on the first communication circuit 110, a medium received from the multi- At least one command set to create a MPD file for a file, at least one command set to perform segmentation on a received media file, media file fragments (e.g., MPD file and
  • the processing unit 300 may perform storage management and transmission of the processing of the command and data (e.g., media file fragments or data chunks) related to the operation of the broadcast receiver 13.
  • the processing unit 300 may be implemented by at least one processor, or may be implemented by at least one software module and by a designated processor.
  • FIG. 3 is a diagram illustrating an example of a configuration of a processing unit according to an embodiment of the present invention.
  • a processing unit 300 includes a cable receiver 401, a Java Native Interface (JNI) 402, a live TS receiver 310 (Live TSReceiver), a live handle thread 320 LiveHandleThread), a dashing module 330 (DashingModule), an MPD manager 350, a segment manager 360, an index manager 370, a file system 340, a dash handle thread 380 (DashHandleThread) 390 (Dash Live Connector).
  • JNI Java Native Interface
  • the broadcast receiver 13 receives the media file segmentally encoded in real time through the broadcast cable network, stores the received media file in the buffer, dashes the image stored in the buffer every predetermined period, generates an index To manage dashing files.
  • the broadcast receiver 13 can provide the client 14 with an MPD file and a segment file corresponding to the time sequence by referring to the Index in response to the request of the client 14.
  • the above-described cable receiver 401, JNI 402, live TS receiver 310, live handle thread 320, dashing module 330, MPD manager 350, segment manager 360, index manager 370, At least one of the file system 340, the dash handle thread 380, and the dashboard connector 390 may be implemented as at least one hardware processor or as at least one software module as described above.
  • the processing unit 300 may support an interactive streaming service (or a 360-degree VR image service) for a real-type VR (Virtual Reality).
  • the broadcast receiver 13 receives media data (e.g., HEVC Encoding Files (*. Mp4)) related to the real-time VR streaming service from the multi-channel distribution transmission server 15 or Tiled Encoding (HEVC) Encoding (HEVC) media data can be received.
  • media data e.g., HEVC Encoding Files (*. Mp4)
  • HEVC Tiled Encoding
  • HEVC Tiled Encoding
  • the cable receiver 401 may form a channel with the multi-channel distribution transmission server 15 and may receive at least one media file from the multi-channel distribution transmission server 15.
  • the cable receiver 401 can receive media files of various resolutions (e.g., HQ, MQ, Full MQ) from the multi-channel distribution transmission server 15.
  • the cable receiver 401 which receives an image through a broadcast cable network, can be implemented in a programming language C / C ++.
  • the JNI may be disposed between the cable receiver 401 and the live TS receiver 310 to perform interfacing with respect to media file delivery of the cable receiver 401 and the live TS receiver 310.
  • the live TS receiver 310 and the live handle thread 320 may receive the MetaInfo received by the cable receiver 401 from the transcoder 12 and delivered by the JNI 402 and HQ, MQ and FullMQ media files.
  • the dashing module 330 performs dashing on the received media files, and the index manager 370 can perform indexing on DASHed media file fragments.
  • Dash handle thread 380 and dhs live connector 390 form a communication channel with client 14 and provide a Media Presentation description (MPD) file and a Segments file (*) according to the MPEG- gt; m4s < / RTI >
  • MPD Media Presentation description
  • * Segments file
  • Each of the configurations included in the above-described processing unit 300 may be modularized according to a role (function).
  • the processing unit 300 may divide an image into M4S (MPEG Dash Streaming) files and perform a dashing function for generating an MPD file based on MPEG-DASH (
  • the procedure for providing the dubbed M4S file and the MPD file to the client 14 is performed based on MPEG-DASH (ISO_IEC_23009), and the HTTP URI requested from the client 14 to the broadcast receiver 13 conforms to the HTTP GET protocol It can be operated based on a separate protocol (application packet) to enable live streaming.
  • MPEG-DASH ISO_IEC_23009
  • the file system 340 may be set up as a system capable of storing the dossied file.
  • FIG. 4 is a block diagram of a cable receiver of a broadcast receiver according to an embodiment of the present invention.
  • the cable receiver 401 of the broadcast receiver 13 includes an SDK (Lib) 410 for receiving a media file from a cable receiving card 400 corresponding to the first communication circuit, A buffer 430, a Temp file system 440, and a ReceiveDataLoader 450.
  • the receiver 430 may include a receiver 420, a cable reader 430, a buffer 430, a Temp file system 440, and a ReceiveDataLoader 450.
  • the cable receiving card 400 can receive HQ, MQ, FullMQ, and MetaInfo files transmitted from the multi-channel distribution transmission server 15.
  • the cable reader 420 reads the data received from the cable receiving card 400 and loads the buffered data into the buffer 430 and transmits the data stored in the buffer when the callback function is called.
  • the broadcasting receiver 13 directly accesses the cable receiving card 400 to read the media file. Therefore, when the SDK (Lib) 410 provided by the cable receiving card manufacturer is configured in the programming language C, the cable receiver 420 ) Can have a library form provided by the programming language C / C ++. The broadcast receiver 13 can load and operate the cable reader 420 or the like using the JNI 402. [
  • the cable reader 420 may be a thread function module that is invoked upon initialization of the broadcast receiver (or low latency live streaming server).
  • (Lib) 410 provided by a vendor (cable receiving card manufacturer) to read the data received through the cable, check the read data, and load the data in the HQ, MQ, FullMQ, MetaInfo buffer 430 .
  • the cable reader 420 can receive only one time on the initial connection when the received data is MetaInfo.
  • the buffer 430 may store media files of various resolutions (e.g., HQ, MQ, Full MQ files) and a MetaInfo file. If the size (size, number of data) of the buffer 430 is greater than the specified size, the cable reader 420 may store the media file in the temporary file system 440.
  • the reception data loader 450 is a function for calling the broadcast receiver 13 through the JNI 402 through a callback and reads the data stored in the buffer 430 and the temporary file system 440 to read the data stored in the buffer 430 and the temporary file system 440, To the live TS receiver 310.
  • FIG. 5 is a diagram illustrating an example of a method of operating a broadcast receiver according to an embodiment of the present invention.
  • the live TS receiver 310 may be a thread that is generated and operated in the initialization process of the broadcast receiver 13.
  • the live TS receiver 310 calls the receive data loader 450 of the cable receiver 401 for each set interval to load the data and indexes and dashes the loaded data to a live subthread, Lt; / RTI >
  • the live handle thread 320 generates the m4s and mpd files by dying the media file through the dashing module 330 and performs indexing (or index assignment) based on the timestamp obtained in the process of receiving the media file .
  • the live handle thread 320 adds the delegated result to the caches 353, 363, and 373 of the MPD manager 350, the segment manager 360, and the index manager 370, To cache in the memory.
  • the caches 353, 363, and 373 are designed in a first in first out (FIFO) structure, and the size (number of data, memory size) can be adjusted through Properties.
  • FIFO first in first out
  • step 501 the live TS receiver 310 can be executed.
  • step 503 when the live TS receiver 310 is executed, the cable receiver 401 can execute the cable reader 420.
  • the live TS receiver 310 calls the reception data loader 450 of the cable receiver 401 in step 507 and loads the loaded media files into the buffer 430 can do.
  • a live handle thread 320 may be created and executed.
  • index creation and de-loading of the load data may be performed.
  • the index manager 370, the segment manager 360, and the MPD manager 350 are operated to store and manage the MPD file, store and manage the segment files, manage the index storage for the MPD file and the segment files Can be performed.
  • the broadcast receiver 13 branches to step 505 and repeats the following process.
  • FIG. 5 is a diagram illustrating the results of indexing and indexing of media data according to an embodiment of the present invention.
  • the media data dashing and indexing results may be displayed in various screens as shown.
  • the broadcast receiver 13 may include a first screen 501 for outputting an indexing list, a second screen 503 for outputting an MPD file list, a second screen 503 for outputting an original file list, 3 screen 505.
  • the broadcast receiver 13 may display one screen including at least one of a first area including an index list, a second area including an MPD file list, and a third area including an original file list Output.
  • the broadcast receiver 13 may include a display, and may output at least one screen of a dying and indexed result screen.
  • the broadcast receiver 13 may include at least one input device for receiving user input related to screen control.
  • FIG. 6 is a diagram illustrating an example of an MPD manager according to an embodiment of the present invention.
  • the MPD manager 350 may include a first index list 351 and an MPD cache 353.
  • the MPD manager 350 can load the dashed MPD file in the MPD cache 353. [ Here, if the MPD cache 353 is Full, the MPD manager 350 deletes the old MPD file from the MPD cache 353, and loads the new MPD file into the MPD cache 353. The MPD manager 350 also sends the MPD file required by the client 14 to the MPD cache 353 or a specified file such as the multichannel distribution transmission server 15 and provided to the memory 140 (Stored in the original file).
  • the MPD cache 353 may comprise a key / value hash map (HashMap).
  • Key is the Index of the corresponding MPD
  • Value is the contents of the MPD file, and may be a Byte Array (byte []).
  • the MPD manager 350 can search for the caching of the MPD file using the first index list 351.
  • the MPD manager 350 defines the corresponding index of the last address of the first index list 351 as Delete Ptr and if the MPD cache 353 is Full, the key / value cache data corresponding to the index of the Delete Ptr is replaced with a hash You can delete it from the map.
  • the MPD manager 350 can check the next index of the MPD index that was last transmitted to the client 14 that requested the MPD file through the index manager 370.
  • the index manager 370 can determine that the existing index is the latest index if the next index does not exist.
  • the MPD manager 350 first searches the MPD cache 353 for an MPD file and if not, reads the MPD file from a file (e.g., the original file stored in memory) and returns it to the dash handle thread 380 have.
  • FIG. 7 is a diagram illustrating an example of a segment manager according to an embodiment of the present invention.
  • the segment manager 360 may include a second index list 361, a segment cache 363, and a segment structure 365.
  • the segment manager 360 may load the segmented files (Segment Files) into the segment cache 363.
  • the segment manager 360 may delete the segment data corresponding to the old index in the segment cache 363 when the segment cache 363 is full and load the currently dashed segment files.
  • the segment manager 360 may also request the segment files from the client 14 to load the necessary segment files from the segment cache 363 or from a file such as a source file stored in memory and provide them to the client 14 .
  • the segment cache 363 may be configured with a key / value hash map (HashMap).
  • Key is an index and Value is a hash map structure in the form of a key / value.
  • the structure is a filename, and a value is a byte array (byte []) structure as in a segment data structure Of data structure.
  • the segment manager 360 can search for the caching of the segment file using the second index list 361. [ The segment manager 360 defines the corresponding index of the last address of the second index list 361 as Delete Ptr and if the segment cache 363 is Full, the segment manager 360 stores the key / value cache data corresponding to the index of the Delete Ptr as a hash You can delete it from the map.
  • FIG. 8 is a diagram illustrating an example of an index manager according to an embodiment of the present invention.
  • the index manager 370 may include a client index map 371 and a third index list 373.
  • the index manager 370 can create and manage timestamp-based indexes.
  • the index manager 370 may generate the client index map 371 and manage the third index list 373 (e.g., the last index) by client ID.
  • the index manager 370 can select the latest index if no client ID exists in the client index map.
  • the index manager 370 can request the MPD manager 350 of the MPD file of the selected index.
  • the index manager 370 can check whether or not there is an index in the URI, and if the index exists, request the segment manager 360 of the index file. If the index does not exist, the index manager 370 can check the currently requested index in the client index map (ClientIndexMap) based on the client ID, and request the segment manager 360 for the segment file of the corresponding index.
  • ClientIndexMap client index map
  • the segment manager 360 may perform a segment cache 363 search.
  • the segment manager 360 can search the segment list based on the index and retrieve the segment data based on the segment filename (Segments filename).
  • the segment manager 360 may read the segment file from the file (e.g., the original file stored in the memory, before performing the DASH operation) and return it (e.g., deliver it to the index manager) if the search result does not exist .
  • FIG. 9 is a view showing an example of a dash live connector according to an embodiment of the present invention.
  • the dash live connector 390 may include a dash live connection thread 393 and a dash live connector 391.
  • the dhs live connector 391 can perform a role of receiving an HTTP connection request from the client 14. [ The dhs live connector 391 may create a dhs live connection thread 393 at the time of HTTP connection, and may transmit and execute the HTTP connection to the dhs live connection thread 393. The dhs live connector 391 may receive at least one connection request to the extent that the system allows, in the same structure as the multi-thread socket.
  • the dash live connection thread 393 is a sub-thread generated by the dash connector module 391 and may include a thread that parses an HTTP URI to perform a corresponding work.
  • the dhs live connection thread 393 may operate functions such as run (), parseURI (), sendClientID (), sendMPD (), sendSegment (), sendIndexList (), and so on.
  • the run () method is the core method of the thread. It can determine whether client ID generation and transmission, MPD transmission, segment transmission, and index list transmission are performed according to the parsed URI message.
  • parseURI () can parse an HTTP URI and provide it to run ().
  • sendCientID () may receive the client ID, MPD, segment file, index list, etc. from run () and may send the received information to the client 14.
  • sendClientID (), sendMPD (), sendSegment (), and sendIndexList () can perform Client ID transfer, MPD file transfer, segment file transfer and index list
  • FIG. 10 is a diagram illustrating a signal flow between a broadcast receiver and a client in an Internet broadcast content providing system according to an embodiment of the present invention.
  • the client 14 can request a client ID from the broadcast receiver 13 in connection with the signal flow between the broadcast receiver 13 and the client 14 according to an embodiment.
  • the client 14 may send the http: // ⁇ ip_address ⁇ : ⁇ dash_live_port ⁇ / GET_CLIENT_ID message to the broadcast receiver 13.
  • the broadcast receiver 13 generates a Client ID corresponding to the client 14, and in step 1003, the broadcast receiver 13 can transmit the Client ID to the client 14.
  • the broadcast receiver 13 may pass a value af074e8c-2702-40b1-b0c8-657216394e24 to the client 14. [
  • the client 14 can request the MPD file to the broadcast receiver 13.
  • the client 14 may send a message to the broadcast receiver 13 including http: // ⁇ ip_address ⁇ : ⁇ dash_live_port ⁇ / GET_MPD?
  • Client_id af074e8c-2702-40b1-b0c8-657216394e24.
  • the broadcast receiver 13 may transmit the MPD file requested by the client 14 to the client 14 in step 1007.
  • the client 14 may request the broadcast receiver 13 to continue the segment files.
  • the broadcast receiver 13 may transmit the segment file to the client 14 in step 1011.
  • the client 14 may request the broadcast receiver 13 of the last segment file (e.g., (N) Segment file) of the continuous segment files in step 1013.
  • the broadcasting receiver 13 may transmit the corresponding segment file to the client 14 in step 1015.
  • the broadcast receiver 13 can perform transmission of the next file based on the last index information of the previously transmitted file (e.g., MPD file or segment files).
  • the client branches to step 1005 and repeats the following operations according to the user input or according to the scheduled process.

Abstract

The present invention pertains to a broadcast receiver, and an operation method therefor. A method for operating a broadcast receiver according to the present invention comprises the steps of: receiving from a multi-channel distribution transmitting server, via multiple cable networks, media files that are encoded using HEVC tiling, and that have different resolutions from one another, and storing the same; indexing a media presentation description (MPD) file that is generated by means of DASH processing of the received media files, and segment files; and transmitting to a client the MPD file and segment files based on moving picture experts group-dynamic adaptive streaming over HTTP-spatial relationship description (MPEG-DASH-SRD) according to a request from the client. The transmission step includes a step of configuring such that an index of a previously transmitted file is referred to to transmit the next file.

Description

방송 수신기 및 이의 운용 방법Broadcast receiver and its operation method
본 발명은 인터넷 방송용 컨텐츠 제공과 관련한 방송 수신기 및 이의 운용 방법에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention [0002] The present invention relates to a broadcast receiver related to providing contents for Internet broadcasting and a method of operating the same.
인터넷 네트워크의 발달에 따라 고화질의 대용량 미디어 파일의 전송이 가능해지고 있다. 하지만 아직까지도 대용량 미디어 컨텐츠 스트리밍 서비스를 위해서 인터넷망의 QoS(Quality of Service)가 보장되지 않고, 제한적인 대역폭 운용에 따라 소비자에게 끊김 없는 스트리밍 서비스 제공이 어려웠다. With the development of the Internet network, it is becoming possible to transmit high-quality large-capacity media files. However, QoS (Quality of Service) of the Internet network is not guaranteed for high capacity media content streaming service, and it is difficult to provide continuous streaming service to consumers due to limited bandwidth operation.
이를 해결하기 위해 네트워크 환경에 적응적으로 서비스 할 수 있는 스트리밍 기술 개발이 요구되었으며, 국제 표준화 기구인 MPEG(Moving Picture Experts Group)에서 DASH(Dynamic Adaptive Streaming over HTTP)라는 이름으로 표준화가 진행되었다.In order to solve this problem, it was required to develop a streaming technology adaptable to the network environment, and the standardization was carried out under the name of DASH (Dynamic Adaptive Streaming over HTTP) in the Moving Picture Experts Group (MPEG), an international standardization organization.
MPEG-DASH는 사용자 환경(네트워크 및 단말 성능 등)에 맞추어 미디어 컨텐츠를 사용자에게 끊김 없이 서비스하기 위한 표준으로, MPEG-DASH에서 다루는 표준화 범위는 미디어 컨텐츠의 소비, 조합 및 기타 정보를 기술하는 MPD(Media Presentation Description) 기술, 시간 기반 컨텐츠 분할 기술인 Media Segmentation 기술, 시분할된 각각의 파일을 다운로드/스트리밍 할 수 있는 액세스 위치 기술, MPEG-DASH를 지원하는 file format 기술, 디지털 미디어 소비 및 저장 형식에 따라 MPD 구성을 변경할 수 있는 Profiling 기술 등이 해당된다.MPEG-DASH is a standard for seamlessly serving media contents to users in accordance with user environment (network and terminal performance, etc.). The standard scope covered by MPEG-DASH is MPD Media Segmentation technology as a time-based content segmentation technology, access location technology capable of downloading / streaming each time-divided file, file format technology supporting MPEG-DASH, MPD And profiling techniques to change the configuration.
한편, 종래 MPEG-DASH 기반으로 컨텐츠를 제공하더라도, 고해상도의 컨텐츠 제공의 경우, 끊김 없는 컨텐츠 제공이 어려운 문제가 있었다.On the other hand, even if the content is provided on the basis of MPEG-DASH in the past, there is a problem that it is difficult to provide continuous contents in the case of providing high-resolution contents.
이에, 본 발명은 보다 원활하고 끊김 없는 또는 상대적으로 저지연 인터넷 방송용 컨텐츠를 제공할 수 있는 방송 수신기 및 이의 운용 방법을 제공함에 있다.Accordingly, it is an object of the present invention to provide a broadcast receiver and a method of operating the same that can provide smooth, seamless, or relatively low-latency Internet broadcast contents.
본 발명의 실시 예에 따르면, 본 발명의 방송 수신기는 다양한 해상도의 미디어 파일을 제공하는 다중 채널 방송 분배 서버와 통신 채널을 형성하는 제1 통신 회로, 클라이언트 단말과 통신 채널을 형성하는 제2 통신 회로, 상기 미디어 파일 및 상기 미디어 파일을 DASH(Dynamic Adaptive Streaming over HTTP) 처리한 미디어 파일 조각들을 저장하는 메모리, 상기 제1 통신 회로, 상기 제2 통신 회로 및 상기 메모리에 전기적으로 연결되는 프로세싱부를 포함하고, 상기 프로세싱부는 다중 케이블망을 통하여 상기 미디어 파일을 수신하여 저장하고, 상기 수신된 미디어 파일을 DASH 처리하면서 생성된 MPD(Media Presentation Description) 파일 및 세그먼트 파일들에 대한 인덱싱을 수행하고, 상기 클라이언트 요청에 따라 MPEG-DASH-SRD(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP - Spatial Relationship Description) 기반으로 상기 MPD 파일 및 상기 세그먼트 파일들을 상기 클라이언트에 전송하도록 설정될 수 있다.According to an embodiment of the present invention, a broadcast receiver of the present invention includes a first communication circuit for forming a communication channel with a multi-channel broadcast distribution server for providing media files of various resolutions, a second communication circuit A memory for storing the media file and media file fragments processed by dynamic adaptive streaming over HTTP (DASH) processing; and a processing unit electrically connected to the first communication circuit, the second communication circuit, and the memory The processing unit receives and stores the media file through the multiple cable network, performs indexing on the MPD (Media Presentation Description) file and the segment files generated while DASH processing the received media file, According to MPEG-DASH-SRD (Moving Picture Experts Group - Dynamic Adaptive Streaming over H The MPD file and the segment files based on a TTP-Spatial Relationship Description (TTP).
상기 프로세싱부는 상기 다중 채널 분배 전송 서버와 연결되는 케이블 수신기를 포함하고, 상기 케이블 수신기는 수신한 HEVC Tiled Encoding 된 서로 다른 해상도의 미디어 파일들을 구분하여 저장하는 버퍼를 포함할 수 있다.The processing unit may include a cable receiver coupled to the multi-channel distribution transmission server, and the cable receiver may include a buffer for separating and storing the HEVC Tiled-Encoded media files having different resolutions.
상기 프로세싱부는 상기 MPD 파일 및 상기 세그먼트 파일들을 상기 클라이언트에 전송하는 동안 이전 전송된 파일의 인덱스 정보를 참조하여 다음 파일을 전송하도록 설정될 수 있다.The processing unit may be configured to transmit the next file while referring to the index information of the previously transmitted file while transmitting the MPD file and the segment files to the client.
상기 프로세싱부는 상기 미디어 파일 수신과 관련한 타임 스탬프 정보를 기반으로 상기 인덱스 정보를 생성하도록 설정될 수 있다.The processing unit may be configured to generate the index information based on time stamp information related to the reception of the media file.
상기 프로세싱부는 상기 클라이언트 요청에 따라 Client ID를 생성하고, 상기 Client ID를 기반으로 상기 MPD 파일, 상기 세그먼트 파일들 및 상기 인덱스 정보를 상기 클라이언트에 전송하도록 설정될 수 있다.The processing unit may be configured to generate a client ID according to the client request, and to transmit the MPD file, the segment files, and the index information to the client based on the client ID.
또한, 본 발명의 다양한 실시 예에 따른 방송 수신기 운용 방법은 다중 케이블망을 통하여 다중 채널 분배 전송 서버로부터 HEVC Tiled Encoding된 서로 다른 해상도를 가지는 미디어 파일들을 수신하여 저장하는 단계, 상기 수신된 미디어 파일을 DASH 처리하면서 생성된 MPD(Media Presentation Description) 파일 및 세그먼트 파일들에 대한 인덱싱을 수행하는 단계, 상기 클라이언트 요청에 따라 MPEG-DASH-SRD(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP - Spatial Relationship Description) 기반으로 상기 MPD 파일 및 상기 세그먼트 파일들을 상기 클라이언트에 전송하는 단계를 포함하고, 상기 전송하는 단계는 이전 전송한 파일의 인덱스를 참조하여 다음 파일을 전송하도록 설정하는 단계를 포함할 수 있다.Also, the broadcasting receiver operating method according to various embodiments of the present invention includes receiving and storing media files having different resolutions HEVC Tiled Encoding from a multi-channel distribution transmission server through a multiple cable network, Performing indexing of a MPD (Media Presentation Description) file and segment files generated during DASH processing, a Moving Picture Experts Group (MPEG-DASH-SRD) And transmitting the MPD file and the segment files to the client based on the index of the previously transmitted file, wherein the transmitting includes setting the transmission of the next file by referring to the index of the previously transmitted file.
상술한 바와 같이, 본 발명의 방송 수신기 및 이의 운용 방법에 따르면, 본 발명은 끊김 없는 컨텐츠 제공 또는 상대적으로 저지연의 스트리밍 서비스가 가능하도록 지원할 수 있다. As described above, according to the broadcast receiver of the present invention and the method of operating the same, the present invention can support seamless content provisioning or relatively low-delay streaming service.
도 1은 본 발명의 실시 예에 따른 인터넷 방송용 컨텐츠 제공 시스템의 한 예를 나타낸 도면이다.1 is a diagram illustrating an example of a content providing system for Internet broadcasting according to an embodiment of the present invention.
도 2는 본 발명의 실시 예에 따른 방송 수신기 구성의 일예를 나타낸 도면이다.2 is a diagram illustrating an example of a broadcast receiver configuration according to an embodiment of the present invention.
도 3은 본 발명의 일 실시 예에 따른 프로세싱부의 구성의 한 예를 나타낸 도면이다.3 is a diagram illustrating an example of a configuration of a processing unit according to an embodiment of the present invention.
도 4는 본 발명의 일 실시 예에 따른 방송 수신기의 케이블 수신기 구성의 일예를 나타낸 도면이다.4 is a block diagram of a cable receiver of a broadcast receiver according to an embodiment of the present invention.
도 5는 본 발명의 실시 예에 따른 방송 수신기 운용 방법의 한 예를 나타낸 도면이다.5 is a diagram illustrating an example of a method of operating a broadcast receiver according to an embodiment of the present invention.
도 6은 본 발명의 일 실시 예에 따른 MPD 매니저의 일 예를 나타낸 도면이다.6 is a diagram illustrating an example of an MPD manager according to an embodiment of the present invention.
도 7은 본 발명의 일 실시 예에 따른 세그먼트 매니저의 일 예를 나타낸 도면이다.7 is a diagram illustrating an example of a segment manager according to an embodiment of the present invention.
도 8은 본 발명의 일 실시 예에 따른 인덱스 매니저의 일 예를 나타낸 도면이다.8 is a diagram illustrating an example of an index manager according to an embodiment of the present invention.
도 9는 본 발명의 일 실시 예에 따른 데쉬 라이브 커넥터의 한 예를 나타낸 도면이다.9 is a view showing an example of a dash live connector according to an embodiment of the present invention.
도 10은 본 발명의 일 실시 예에 따른 인터넷 방송용 컨텐츠 제공 시스템에서 방송 수신기와 클라이언트 간의 신호 흐름을 나타낸 도면이다.10 is a diagram illustrating a signal flow between a broadcast receiver and a client in an Internet broadcast content providing system according to an embodiment of the present invention.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.Various embodiments of the invention will now be described with reference to the accompanying drawings. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes various modifications, equivalents, and / or alternatives of the embodiments of the invention. In connection with the description of the drawings, like reference numerals may be used for similar components.
도 1은 본 발명의 실시 예에 따른 인터넷 방송용 컨텐츠 제공 시스템의 한 예를 나타낸 도면이다.1 is a diagram illustrating an example of a content providing system for Internet broadcasting according to an embodiment of the present invention.
도 1을 참조하면, 일 실시 예에 따른 인터넷 방송용 컨텐츠 제공 시스템(10)은 트랜스코더(12), 다중 채널 분배 전송 서버(15), 방송 수신기(13)(또는 방송 수신기, 또는 인터넷 방송용 서버 장치), 클라이언트(14)(또는 클라이언트 단말 장치)를 포함할 수 있다.1, a content providing system 10 for Internet broadcasting according to an exemplary embodiment includes a transcoder 12, a multi-channel distribution server 15, a broadcast receiver 13 (or a broadcast receiver, ), And a client 14 (or a client terminal device).
상술한 인터넷 방송용 컨텐츠 제공 시스템(10)에서, 트랜스코더(12)는 지정된 정책 및 룰에 따라 영상(또는 Media 파일)을 동일한 해상도의 복수의 공간들로 분할하거나 또는 서로 다른 해상도의 복수의 공간들로 분할하거나 또는 지정된 시간 단위로 분할할 수 있다. 분할된 미디어 파일들(예: HEVC 타일드 인코딩된 파일들)은 다중 채널 분배 전송 서버(15)에 전송될 수 있다. 다중 채널 분배 전송 서버(15)는 방송 수신기(13)에 다중 케이블을 통해 HQ 미디어 파일, MQ 미디어 파일, Full MQ 미디어 파일, MetaInfo 파일 등을 제공할 수 있다. 방송 수신기(13)는 수신된 미디어 파일들에 대한 MPEG-DASHing 작업을 수행하고, DASHing 처리된 미디어 파일 조각들을 클라이언트(14)(예: 디스플레이 장치, HMD(Head Mounted Device)에 제공할 수 있다. The transcoder 12 divides an image (or a Media file) into a plurality of spaces having the same resolution or a plurality of spaces having different resolutions according to a specified policy and rules Or by a specified time unit. The divided media files (e.g., HEVC Tiled encoded files) may be transmitted to the multi-channel distribution transmission server 15. The multi-channel distribution transmission server 15 can provide the HQ media file, the MQ media file, the full MQ media file, the MetaInfo file, and the like to the broadcast receiver 13 through the multiple cables. The broadcast receiver 13 may perform MPEG-DASHing operations on the received media files and may provide DASHing processed media file fragments to the client 14 (e.g., a display device, an HMD (Head Mounted Device)).
방송 수신기(13)는 생성된 MPD 파일 및 세그먼트 파일들에 대한 인덱싱을 수행하여 관리하고, 클라이언트(14) 요청에 대응하여 인덱싱된 미디어 파일 조각들(예: MPD 파일 및 세그먼트 파일들)을 클라이언트(14)에 제공할 수 있다. 상술한 바와 같이, 인터넷 방송용 컨텐츠 제공 시스템(10)은 지정된 정책 또는 룰에 따라 MPEG-DASH-SRD(Spatial Relationship Description)를 기반으로 미디어 파일 조각들(또는 데이터 청크들)을 클라이언트(14) 전송함으로써, 데이터 전송의 부하를 저감하여 저지연 라이브 스트리밍 또는 끊김 없는 라이브 스트리밍 서비스를 가능하도록 지원할 수 있다.The broadcast receiver 13 performs indexing on the generated MPD file and segment files and manages the indexed media file fragments (e.g., MPD files and segment files) in response to the client 14 request to the client 14). As described above, the Internet-broadcasting-content providing system 10 transmits pieces of media files (or data chunks) to the client 14 based on MPEG-DASH-SRD (Spatial Relationship Description) according to a specified policy or rule , The load of data transmission can be reduced to enable low delay live streaming or seamless live streaming service.
트랜스코더(12)는 특정 미디어 파일 예컨대, 360 VR(Virtual Reality) 영상 또는 라이브 중계 영상 등을 타일드 인코딩(Tiled Encoding(HEVC)) 또는 Encoding(HEVC) 하여 다중 채널 분배 전송 서버(15)에 전송할 수 있다. 트랜스코더(12)는 타일드 인코딩된 미디어 파일들에 대응하는 Tiled 정보(MetaInfo)를 작성하고, 작성된 Tiled 정보(MetaInfo)를 미디어 파일 전송 시 함께 다중 채널 분배 전송 서버(15)에 전송할 수 있다. 트랜스코더(12)는 고품질 영상에 대해 실시간으로 HEVC Tiled Encoding을 수행하거나 VOD 컨텐츠에 대해 지정된 시간에 HEVC Tiled Encoding을 수행할 수 있다. 이 동작에서 트랜스코더(12)는 하나의 영상을 일정 크기(또는 공간) 단위로 분할하고, 분할된 미디어 파일에 대하여 순차적으로 HEVC Tiled Encoding을 수행하여 다중 채널 분배 전송 서버(15)에 전송할 수 있다. 트랜스코더(12)가 다중 채널 분배 전송 서버(15)에 전송하는 영상은 예컨대, HQ(8K 급 이상의 HEVC Tiled Encoding된 고품질 영상), MQ(2K 또는 4K 급 이상의 HEVC Tiled Encoding된 중품질 영상), FullMQ(2K 또는 4K급의 HEVC Encoding된 중품질 영상)을 포함할 수 있다. MetaInfo(또는 Tiled 정보)는 상술한 HQ, MQ 파일에 대한 Meta 정보(Tile, Bitrate, FPS, bandwidth 등)를 포함할 수 있다.The transcoder 12 transmits a specific media file, for example, 360 VR (Virtual Reality) image or live relay image, to the multi-channel distribution transmission server 15 by Tiled Encoding (HEVC) or Encoding (HEVC) . The transcoder 12 may generate Tiled information (MetaInfo) corresponding to the tiled encoded media files and transmit the generated Tiled information (MetaInfo) to the multi-channel distribution transmission server 15 when the media file is transmitted. The transcoder 12 can perform HEVC Tiled Encoding in real time on a high-quality image or perform HEVC Tiled Encoding on a VOD content at a designated time. In this operation, the transcoder 12 divides one image into units of a predetermined size (or space), sequentially performs HEVC tiled encoding on the divided media files, and transmits the HEVC to the multi-channel distribution transmission server 15 . The image transmitted from the transcoder 12 to the multi-channel distribution transmission server 15 includes, for example, HQ (HEVC Tiled Encoded high quality image of 8K level or higher), MQ (HEVC Tiled Encoded medium quality image of 2K or 4K level or higher) FullMQ (2K or 4K class HEVC encoded middle quality image). The MetaInfo (or Tiled information) may include the above-described HQ, Meta information (Tile, Bitrate, FPS, bandwidth, etc.) for the MQ file.
다중 채널 분배 전송 서버(15)는 트랜스코더(12)로부터 다양한 해상도의 Tiled Encoding 미디어 파일들을 수신할 수 있다. 다중 채널 분배 전송 서버(15)는 최초 방송 수신기(13)가 연결되면, MetaInfo 파일을 방송 수신기(13)에 전송하고, 설정된 스케줄에 따라 또는 방송 수신기(13)의 요청에 따라 HQ 미디어 파일, MQ 미디어 파일, Full MQ 미디어 파일(TS 포맷) 중 적어도 하나를 다중 케이블을 통하여 방송 수신기(13)에 전송할 수 있다.The multi-channel distribution transmission server 15 can receive the Tiled Encoding media files of various resolutions from the transcoder 12. When the initial broadcast receiver 13 is connected, the multichannel distribution server 15 transmits the MetaInfo file to the broadcast receiver 13, and transmits the MetaInfo file to the broadcast receiver 13 according to the schedule set or at the request of the broadcast receiver 13, A media file, and a full MQ media file (TS format) to the broadcast receiver 13 over multiple cables.
방송 수신기(13)는 다중 케이블망을 통하여 다중 채널 분배 전송 서버(15)로부터 다양한 해상도(예: HQ, MQ, Full MQ)의 미디어 파일 및 MetaInfo 파일을 수신할 수 있다. 방송 수신기는 수신된 미디어 파일에 대한 데싱(Dashing) 작업을 수행할 수 있다. 방송 수신기(13)는 데싱 작업이 수행된 미디어 파일 조각들(예: MPD 파일 및 세그먼트 파일들)을 클라이언트(14)요청에 따라 MPEG-DASH-SRD(Spatial Relationship Description) 기반의 스트리밍 서비스를 통해 제공할 수 있다. DASH(Dynamic Adaptive Streaming over HTTP) 처리(또는 Dashing)된 컨텐츠는 HTTP를 기반으로 하는 세그먼트의 시퀀스로 분할될 수 있다. The broadcast receiver 13 can receive media files of various resolutions (e.g., HQ, MQ, Full MQ) and MetaInfo files from the multi-channel distribution transmission server 15 through the multiple cable networks. The broadcast receiver may perform a dashing operation on the received media file. The broadcast receiver 13 provides pieces of media files (e.g., MPD files and segment files) on which a dubbing operation has been performed through a streaming service based on MPEG-DASH-SRD (Spatial Relationship Description) can do. Dynamic Adaptive Streaming over HTTP (DASH) processed (or dashed) content can be segmented into a sequence of segments based on HTTP.
클라이언트(14)는 방송 수신기(13)와 MPEG-DASH 기반으로 연결되고, 사용자 입력에 따라 선택된 영상을 방송 수신기(13)에 요청할 수 있다. 클라이언트(14)는 방송 수신기(13)가 제공한 미디어 파일 조각들 및 인덱싱 정보(예: Index List)를 수신하고, 수신된 미디어 파일 조각들을 인덱싱 정보들을 기반으로 조합하여 출력할 수 있다. MPD 파일은 클라이언트(14)가 이용 가능한 컨텐츠, 제공하는 alternative bit rates, URL 주소 값 등의 정보를 포함하는 Manifest. 파일에 대응될 수 있다. 클라이언트(14)는 MPD 파일을 파싱하면서, 프로그램 타이밍, media-content availability, media type, 화질, 최소 및 최대 bandwidths, 사용할 수 있는 encoded-alternatives, DRM 등의 정보를 획득할 수 있다. 클라이언트(14)는 네트워크 상태 또는 단말의 상태에 맞는 encoding을 선택한 후 HTTP GET Request를 통해서 스트리밍을 수행할 수 있다. The client 14 is connected to the broadcast receiver 13 on the basis of MPEG-DASH, and can request the broadcast receiver 13 to select the image according to the user input. The client 14 may receive media file fragments and indexing information (e.g., Index List) provided by the broadcast receiver 13, and may combine received media file fragments based on indexing information. The MPD file is a Manifest file containing information such as content available to the client 14, alternative bit rates, and URL address values. File. The client 14 may obtain information such as program timing, media-content availability, media type, image quality, minimum and maximum bandwidths, encoded-alternatives available, and DRM while parsing the MPD file. The client 14 can perform streaming through an HTTP GET request after selecting an encoding suitable for the network state or the state of the terminal.
도 2는 본 발명의 실시 예에 따른 방송 수신기 구성의 일예를 나타낸 도면이다.2 is a diagram illustrating an example of a broadcast receiver configuration according to an embodiment of the present invention.
도 2를 참조하면, 일 실시 예에 따른 방송 수신기(13)는 제1 통신 회로(110), 제2 통신 회로(120), 메모리(140) 및 프로세싱부(300)(예: 컨트롤러, 적어도 하나의 프로세서, 또는 적어도 하나의 프로세싱 모듈)를 포함할 수 있다.2, a broadcast receiver 13 according to an embodiment includes a first communication circuit 110, a second communication circuit 120, a memory 140, and a processing unit 300 (e.g., a controller, Processor, or at least one processing module).
제1 통신 회로(110)는 다중 채널 분배 전송 서버(15)와 통신할 수 있는 통신 채널을 형성할 수 있다. 제1 통신 회로(110)는 유선 통신 인터페이스 또는 무선 통신 인터페이스 중 적어도 하나를 포함할 수 있다. 예컨대, 제1 통신 회로(110)는 다중 케이블망을 통한 통신 채널을 형성할 수 있다. 제1 통신 회로(110)는 다중 채널 분배 전송 서버(15)가 전송하는 다양한 품질(또는 해상도)의 미디어 파일을 수신할 수 있다. 제1 통신 회로(110)는 트랜스코더(12)가 전송하는 다양한 품질의 미디어 파일들에 대한 MetaInfo를 수신할 수 있다.The first communication circuit 110 may form a communication channel with which the multi-channel distributed transmission server 15 can communicate. The first communication circuit 110 may include at least one of a wired communication interface or a wireless communication interface. For example, the first communication circuit 110 may form a communication channel through multiple cable networks. The first communication circuit 110 may receive media files of varying quality (or resolution) transmitted by the multi-channel distribution transmission server 15. The first communication circuit 110 may receive MetaInfo for media files of varying quality that the transcoder 12 transmits.
제2 통신 회로(120)는 클라이언트(14)와 통신할 수 있는 통신 채널을 형성할 수 있다. 제2 통신 회로(120)는 유선 통신 인터페이스 또는 무선 통신 인터페이스 중 적어도 하나를 포함할 수 있다. 예컨대, 제2 통신 회로(120)는 인터넷망을 통한 통신 채널을 형성할 수 있다. 제2 통신 회로(120)는 클라이언트(14) 접속에 따른 채널을 할당하고, 클라이언트(14)로부터 영상 요청 신호를 수신할 수 있다. 제2 통신 회로(120)는 영상 요청 신호에 대응하는 미디어 파일 조각들(예: MPD 파일 및 세그먼트 파일들) 및 미디어 파일 조각들에 대응하는 인덱싱 정보를 클라이언트(14)에 제공할 수 있다.The second communication circuit 120 may form a communication channel with which the client 14 may communicate. The second communication circuit 120 may include at least one of a wired communication interface or a wireless communication interface. For example, the second communication circuit 120 may form a communication channel through the Internet network. The second communication circuit 120 can allocate a channel according to the connection of the client 14 and receive the video request signal from the client 14. [ The second communication circuit 120 may provide the client 14 with indexing information corresponding to media file fragments (e.g., MPD files and segment files) and media file fragments corresponding to the video request signal.
메모리(140)는 방송 수신기(13) 운용에 필요한 다양한 프로그램 또는 다양한 명령어를 저장할 수 있다. 예컨대, 메모리(140)는 제1 통신 회로(110)를 기반으로 다중 채널 분배 전송 서버(15)로부터 미디어 파일을 수신하도록 설정된 적어도 하나의 명령어들, 다중 채널 분배 전송 서버(15)로부터 수신한 미디어 파일에 대한 MPD 파일을 작성하도록 설정된 적어도 하나의 명령어들, 수신한 미디어 파일에 대한 세그먼테이션을 수행하도록 설정된 적어도 하나의 명령어들, DASHing 작업이 적용된 미디어 파일 조각들(예: MPD 파일 및 세그먼트 파일들)에 대한 인덱싱을 수행하도록 설정된 적어도 하나의 명령어들, 클라이언트(14)의 요청을 수신 및 수신된 요청에 대응하여 미디어 파일 조각들 및 인덱싱 정보를 전송하도록 설정된 적어도 하나의 명령어들을 저장할 수 있다. The memory 140 may store various programs or various commands necessary for operating the broadcast receiver 13. For example, the memory 140 may include at least one of instructions configured to receive a media file from a multi-channel distribution transmission server 15 based on the first communication circuit 110, a medium received from the multi- At least one command set to create a MPD file for a file, at least one command set to perform segmentation on a received media file, media file fragments (e.g., MPD file and segment files) to which a DASHing operation is applied, At least one instruction set to perform the indexing on the client 14, receive the request of the client 14, and store at least one instruction set to transmit the media file fragments and indexing information in response to the received request.
프로세싱부(300)는 방송 수신기(13) 운용과 관련한 명령어의 처리 및 데이터(예: 미디어 파일 조각들 또는 데이터 청크들)의 저장 관리와 전송을 수행할 수 있다. 이러한 프로세싱부(300)는 적어도 하나의 프로세서로 구현되거나 또는 적어도 하나의 소프트웨어 모듈에 의해 구현되고 지정된 프로세서에 의해 운용될 수 있다. The processing unit 300 may perform storage management and transmission of the processing of the command and data (e.g., media file fragments or data chunks) related to the operation of the broadcast receiver 13. The processing unit 300 may be implemented by at least one processor, or may be implemented by at least one software module and by a designated processor.
*도 3은 본 발명의 일 실시 예에 따른 프로세싱부의 구성의 한 예를 나타낸 도면이다.3 is a diagram illustrating an example of a configuration of a processing unit according to an embodiment of the present invention.
도 3을 참조하면, 일 실시 예에 따른 프로세싱부(300)는 케이블 수신기(401), JNI(402)(Java Native Interface), 라이브 TS 수신기(310)(LiveTSReceiver), 라이브 핸들 쓰레드(320)(LiveHandleThread), 데싱 모듈(330)(DashingModule), MPD 매니저(350), 세그먼트 매니저(360), 인덱스 매니저(370), 파일 시스템(340), 데쉬 핸들 쓰레드(380)(DashHandleThread), 데쉬 라이브 커넥터(390)(Dash Live Connector)를 포함할 수 있다. 3, a processing unit 300 according to an exemplary embodiment includes a cable receiver 401, a Java Native Interface (JNI) 402, a live TS receiver 310 (Live TSReceiver), a live handle thread 320 LiveHandleThread), a dashing module 330 (DashingModule), an MPD manager 350, a segment manager 360, an index manager 370, a file system 340, a dash handle thread 380 (DashHandleThread) 390 (Dash Live Connector).
상술한 방송 수신기(13)는 방송 케이블망을 통해 실시간으로 분할 인코딩 된 미디어 파일을 수신하고, 수신된 미디어 파일을 Buffer에 저장하였다가, 일정 주기마다 Buffer에 적재된 영상을 Dashing하고, Index를 생성하여 Dashing된 파일을 관리할 수 있다. 방송 수신기(13)는 클라이언트(14)의 요청에 따라 Index를 참고하여 시간 순서에 맞는 MPD 파일 및 Segments 파일을 클라이언트(14)에 제공할 수 있다. The broadcast receiver 13 receives the media file segmentally encoded in real time through the broadcast cable network, stores the received media file in the buffer, dashes the image stored in the buffer every predetermined period, generates an index To manage dashing files. The broadcast receiver 13 can provide the client 14 with an MPD file and a segment file corresponding to the time sequence by referring to the Index in response to the request of the client 14. [
상술한 케이블 수신기(401), JNI(402), 라이브 TS 수신기(310), 라이브 핸들 쓰레드(320), 데싱 모듈(330), MPD 매니저(350), 세그먼트 매니저(360), 인덱스 매니저(370), 파일 시스템(340), 데쉬 핸들 쓰레드(380), 및 데쉬 라이브 커넥터(390) 중 적어도 하나는 앞서 언급한 바와 같이 적어도 하나의 하드웨어 프로세서로 구현되거나 또는 적어도 하나의 소프트웨어 모듈로 구현될 수 있다. 상술한 프로세싱부(300)는 실감형 VR(Virtual Reality)용 인터랙티브 스트리밍 서비스(또는 360도 VR 영상 서비스)를 지원할 수 있다. 이와 관련하여, 방송 수신기(13)는 다중 채널 분배 전송 서버(15)로부터 실시간 VR 스트리밍 서비스와 관련한 미디어 데이터(예: HEVC Encoding Files(*.mp4)) 또는 라이브 중계 영상을 Tiled Encoding(HEVC) 또는 Encoding(HEVC)한 미디어 데이터를 수신할 수 있다. The above-described cable receiver 401, JNI 402, live TS receiver 310, live handle thread 320, dashing module 330, MPD manager 350, segment manager 360, index manager 370, At least one of the file system 340, the dash handle thread 380, and the dashboard connector 390 may be implemented as at least one hardware processor or as at least one software module as described above. The processing unit 300 may support an interactive streaming service (or a 360-degree VR image service) for a real-type VR (Virtual Reality). In this regard, the broadcast receiver 13 receives media data (e.g., HEVC Encoding Files (*. Mp4)) related to the real-time VR streaming service from the multi-channel distribution transmission server 15 or Tiled Encoding (HEVC) Encoding (HEVC) media data can be received.
케이블 수신기(401)는 다중 채널 분배 전송 서버(15)와 채널을 형성하고, 다중 채널 분배 전송 서버(15)로부터 적어도 하나의 미디어 파일을 수신할 수 있다. 예컨대, 케이블 수신기(401)는 다중 채널 분배 전송 서버(15)로부터 다양한 해상도(예: HQ, MQ, Full MQ)의 미디어 파일을 수신할 수 있다. 케이블 수신기(401)는 방송 케이블망을 통해 영상을 수신하는 케이블 수신기(401)는 프로그래밍 언어 C/C++로 구현될 수 있다.The cable receiver 401 may form a channel with the multi-channel distribution transmission server 15 and may receive at least one media file from the multi-channel distribution transmission server 15. [ For example, the cable receiver 401 can receive media files of various resolutions (e.g., HQ, MQ, Full MQ) from the multi-channel distribution transmission server 15. The cable receiver 401, which receives an image through a broadcast cable network, can be implemented in a programming language C / C ++.
JNI는 케이블 수신기(401) 및 라이브 TS 수신기(310) 사이에 배치되어, 케이블 수신기(401) 및 라이브 TS 수신기(310)의 미디어 파일 전달에 관한 인터페이싱을 수행할 수 있다. The JNI may be disposed between the cable receiver 401 and the live TS receiver 310 to perform interfacing with respect to media file delivery of the cable receiver 401 and the live TS receiver 310.
라이브 TS 수신기(310) 및 라이브 핸들 쓰레드(320)는 케이블 수신기(401)가 트랜스코더(12)로부터 수신하고 JNI(402)가 전달한 MetaInfo와, HQ, MQ, FullMQ 미디어 파일들을 수신할 수 있다. 데싱 모듈(330)은 수신된 미디어 파일들에 대한 Dashing을 수행하고, 인덱스 매니저(370)는 DASHing된 미디어 파일 조각들에 대한 인덱싱을 수행할 수 있다. 데쉬 핸들 쓰레드(380) 및 데쉬 라이브 커넥터(390)는 클라이언트(14)와 통신 채널을 형성하고, 클라이언트(14) 요청에 따라 MPEG-DASH 프로토콜에 맞추어 MPD(Media Presentation description) 파일 및 Segments 파일(*.m4s)을 클라이언트(14)에 제공할 수 있다. 상술한 프로세싱부(300)에 포함된 각 구성들은 역할(기능에) 따라 모듈화 될 수 있다. 프로세싱부(300)는 영상을 M4S(MPEG Dash Streaming) 파일로 분할하고, MPD 파일을 생성하는 Dashing 기능은 MPEG-DASH(ISO_IEC_23009)를 기준으로 수행할 수 있다. The live TS receiver 310 and the live handle thread 320 may receive the MetaInfo received by the cable receiver 401 from the transcoder 12 and delivered by the JNI 402 and HQ, MQ and FullMQ media files. The dashing module 330 performs dashing on the received media files, and the index manager 370 can perform indexing on DASHed media file fragments. Dash handle thread 380 and dhs live connector 390 form a communication channel with client 14 and provide a Media Presentation description (MPD) file and a Segments file (*) according to the MPEG- gt; m4s < / RTI > Each of the configurations included in the above-described processing unit 300 may be modularized according to a role (function). The processing unit 300 may divide an image into M4S (MPEG Dash Streaming) files and perform a dashing function for generating an MPD file based on MPEG-DASH (ISO_IEC_23009).
Dashing 된 M4S 파일 및 MPD 파일을 클라이언트(14)에 제공하는 절차는 MPEG-DASH(ISO_IEC_23009)를 기준으로 수행되며, 클라이언트(14)에서 방송 수신기(13)로 요청하는 HTTP URI는 HTTP GET 프로토콜에 맞추어 라이브 스트리밍이 가능하도록 별도로 프로토콜(어플리케이션 패킷)을 기반으로 운용될 수 있다. The procedure for providing the dubbed M4S file and the MPD file to the client 14 is performed based on MPEG-DASH (ISO_IEC_23009), and the HTTP URI requested from the client 14 to the broadcast receiver 13 conforms to the HTTP GET protocol It can be operated based on a separate protocol (application packet) to enable live streaming.
파일 시스템(340)은 데싱된 파일을 저장할 수 있는 시스템으로 세팅될 수 있다.The file system 340 may be set up as a system capable of storing the dossied file.
도 4는 본 발명의 일 실시 예에 따른 방송 수신기의 케이블 수신기 구성의 일예를 나타낸 도면이다.4 is a block diagram of a cable receiver of a broadcast receiver according to an embodiment of the present invention.
도 3 및 도 4를 참조하면, 방송 수신기(13)의 케이블 수신기(401)는 제1 통신 회로에 대응하는 케이블 수신 카드(400)로부터 미디어 파일을 수신하는 SDK(Lib)(410), 케이블 리더(420)(Cable Reader), 버퍼(430)(buffer), 임시 파일 시스템(440)(Temp file system), 수신 데이터 로더(450)(ReceiveDataLoader)를 포함할 수 있다.3 and 4, the cable receiver 401 of the broadcast receiver 13 includes an SDK (Lib) 410 for receiving a media file from a cable receiving card 400 corresponding to the first communication circuit, A buffer 430, a Temp file system 440, and a ReceiveDataLoader 450. The receiver 430 may include a receiver 420, a cable reader 430, a buffer 430, a Temp file system 440, and a ReceiveDataLoader 450.
케이블 수신 카드(400)는 다중 채널 분배 전송 서버(15)에서 송신하는 HQ, MQ, FullMQ, MetaInfo 파일을 수신할 수 있다. 케이블 리더(420)는 케이블 수신 카드(400)로 수신되는 데이터를 독출하여 버퍼(430)에 적재하고, Callback 함수 호출 시 버퍼에 적재된 데이터를 전달하는 역할을 수행할 수 있다.The cable receiving card 400 can receive HQ, MQ, FullMQ, and MetaInfo files transmitted from the multi-channel distribution transmission server 15. The cable reader 420 reads the data received from the cable receiving card 400 and loads the buffered data into the buffer 430 and transmits the data stored in the buffer when the callback function is called.
방송 수신기(13)는 케이블 수신 카드(400)에 직접 Access해서 미디어 파일을 독출하기 때문에 케이블 수신 카드 제조회사에서 제공하는 SDK(Lib)(410)가 프로그래밍 언어 C로 구성될 경우, 케이블 리더(420)는 프로그래밍 언어 C/C++으로 마련된 라이브러리 형태를 가질 수 있다. 방송 수신기(13)는 JNI(402)를 사용하여 케이블 리더(420) 등을 로드하여 운용할 수 있다. The broadcasting receiver 13 directly accesses the cable receiving card 400 to read the media file. Therefore, when the SDK (Lib) 410 provided by the cable receiving card manufacturer is configured in the programming language C, the cable receiver 420 ) Can have a library form provided by the programming language C / C ++. The broadcast receiver 13 can load and operate the cable reader 420 or the like using the JNI 402. [
케이블 리더(420)는 방송 수신기(또는 저지연 라이브 스트리밍 서버)의 초기화(Initialization) 시 호출되는 쓰레드 함수 모듈이 될 수 있다. 벤더(케이블 수신 카드 제조 회사)에서 제공하는 SDK(Lib)(410)를 사용하여 케이블로 수신되는 데이터를 독출하고, 독출된 데이터를 확인하여 HQ, MQ, FullMQ, MetaInfo 버퍼(430)에 적재할 수 있다. 케이블 리더(420)는 수신되는 데이터가 MetaInfo인 경우 초기 연결 시 1회만 수신할 수 있다.The cable reader 420 may be a thread function module that is invoked upon initialization of the broadcast receiver (or low latency live streaming server). (Lib) 410 provided by a vendor (cable receiving card manufacturer) to read the data received through the cable, check the read data, and load the data in the HQ, MQ, FullMQ, MetaInfo buffer 430 . The cable reader 420 can receive only one time on the initial connection when the received data is MetaInfo.
버퍼(430)는 다양한 해상도의 미디어 파일들(예: HQ, MQ, Full MQ 파일들)과 MetaInfo 파일을 저장할 수 있다. 버퍼(430)의 사이즈(크기, 데이터 건수)가 지정된 크기보다 커질 경우, 케이블 리더(420)는 임시 파일 시스템(440)으로 미디어 파일을 저장할 수 있다.The buffer 430 may store media files of various resolutions (e.g., HQ, MQ, Full MQ files) and a MetaInfo file. If the size (size, number of data) of the buffer 430 is greater than the specified size, the cable reader 420 may store the media file in the temporary file system 440.
수신 데이터 로더(450)는 방송 수신기(13)에서 JNI(402)를 통해 Callback으로 호출하는 함수로서, 버퍼(430) 및 임시 파일 시스템(440)에 적재된 데이터를 독출하여 방송 수신기(13)의 라이브 TS 수신기(310)에 전달할 수 있다. The reception data loader 450 is a function for calling the broadcast receiver 13 through the JNI 402 through a callback and reads the data stored in the buffer 430 and the temporary file system 440 to read the data stored in the buffer 430 and the temporary file system 440, To the live TS receiver 310.
도 5는 본 발명의 실시 예에 따른 방송 수신기 운용 방법의 한 예를 나타낸 도면이다.5 is a diagram illustrating an example of a method of operating a broadcast receiver according to an embodiment of the present invention.
도 3 내지 도 5를 참조하면, 라이브 TS 수신기(310)는 방송 수신기(13)의 초기화 과정에서 생성되어 동작하는 쓰레드가 될 수 있다. 라이브 TS 수신기(310)는 설정된 인터벌마다 케이블 수신기(401)의 수신 데이터 로더(450)를 호출하여 데이터를 로드하고, 로드된 데이터의 인덱싱 및 데싱을 수생할 서브 쓰레드 예컨대, 라이브 핸들 쓰레드(320)를 생성할 수 있다. 3 to 5, the live TS receiver 310 may be a thread that is generated and operated in the initialization process of the broadcast receiver 13. [ The live TS receiver 310 calls the receive data loader 450 of the cable receiver 401 for each set interval to load the data and indexes and dashes the loaded data to a live subthread, Lt; / RTI >
라이브 핸들 쓰레드(320)는 데싱 모듈(330)을 통해 미디어 파일을 데싱하여 m4s, mpd 파일을 생성하고, 미디어 파일을 수신하는 과정에서 획득되는 타임 스탬프를 기반으로 인덱싱(또는 색인 할당)을 수행할 수 있다. 라이브 핸들 쓰레드(320)는 데싱된 결과를 MPD 매니저(350), 세그먼트 매니저(360) 및 인덱스 매니저(370)의 캐쉬들(353, 363, 373)에 추가하여, 최신의 인덱싱에 해당하는 데싱 파일을 메모리에 캐싱하도록 처리할 수 있다. The live handle thread 320 generates the m4s and mpd files by dying the media file through the dashing module 330 and performs indexing (or index assignment) based on the timestamp obtained in the process of receiving the media file . The live handle thread 320 adds the delegated result to the caches 353, 363, and 373 of the MPD manager 350, the segment manager 360, and the index manager 370, To cache in the memory.
캐쉬들(353, 363, 373)은 FIFO(First in First out) 구조로 설계되었으며, Size(data 건수, 메모리 크기)는 Properties를 통해 조정될 수 있다.The caches 353, 363, and 373 are designed in a first in first out (FIFO) structure, and the size (number of data, memory size) can be adjusted through Properties.
방송 수신기(13)의 운용 방법과 관련하여, 방송 수신기(13)가 실행되면, 501 단계에서, 라이브 TS 수신기(310)가 실행될 수 있다. 503 단계에서, 라이브 TS 수신기(310)가 실행되면, 케이블 수신기(401)는 케이블 리더(420)를 실행할 수 있다.With respect to the operation method of the broadcast receiver 13, when the broadcast receiver 13 is executed, in step 501, the live TS receiver 310 can be executed. In operation 503, when the live TS receiver 310 is executed, the cable receiver 401 can execute the cable reader 420.
505 단계에서, 지정된 인터벌 시간 동안 대기한 후, 507 단계에서 라이브 TS 수신기(310)는 케이블 수신기(401)의 수신 데이터 로더(450)를 호출한 후, 버퍼(430)에 저작된 미디어 파일들을 로드할 수 있다. The live TS receiver 310 calls the reception data loader 450 of the cable receiver 401 in step 507 and loads the loaded media files into the buffer 430 can do.
509 단계에서, 라이브 핸들 쓰레드(320)가 생성 및 실행될 수 있다. 511 단계에서, 인덱스 생성 및 로드 데이터의 데싱 작업이 수행될 수 있다. 513 단계에서, 인덱스 매니저(370), 세그먼트 매니저(360) 및 MPD 매니저(350)가 운용되어, MPD 파일의 저장 및 관리, 세그먼트 파일들의 저장 및 관리, MPD 파일 및 세그먼트 파일들에 대한 인덱스 저장 관리가 수행될 수 있다. 509 단계에서, 다음으로 데싱할 미디어 파일의 요청이 발생하면, 방송 수신기(13)(또는 프로세싱부(300))는 505 단계 이전으로 분기하여 이하 과정을 반복적으로 수행할 수 있다.In step 509, a live handle thread 320 may be created and executed. In step 511, index creation and de-loading of the load data may be performed. In step 513, the index manager 370, the segment manager 360, and the MPD manager 350 are operated to store and manage the MPD file, store and manage the segment files, manage the index storage for the MPD file and the segment files Can be performed. In step 509, when a request for a next media file to be dubbed occurs, the broadcast receiver 13 (or the processing unit 300) branches to step 505 and repeats the following process.
도 5는 본 발명의 일 실시 예에 따른 미디어 데이터의 데싱 및 인덱싱 결과를 나타낸 도면이다.FIG. 5 is a diagram illustrating the results of indexing and indexing of media data according to an embodiment of the present invention.
도 5를 참조하면, 미디어 데이터 데싱 및 인덱싱 결과는 도시된 바와 같은 다양한 화면들로 표시될 수 있다. 예컨대, 방송 수신기(13)는 사용자 입력 또는 지정된 작업 처리 결과에 따라, 인덱싱 리스트가 출력되는 제1 화면(501), MPD 파일 리스트가 출력되는 제2 화면(503), 원래 파일 리스트가 출력되는 제3 화면(505) 중 적어도 하나를 출력할 수 있다. 또는, 방송 수신기(13)는 설정에 따라, 인덱스 리스트가 포함된 제1 영역, MPD 파일 리스트가 포함된 제2 영역 및 원래 파일 리스트가 포함된 제3 영역 중 적어도 하나를 포함하는 하나의 화면을 출력할 수도 있다.Referring to FIG. 5, the media data dashing and indexing results may be displayed in various screens as shown. For example, the broadcast receiver 13 may include a first screen 501 for outputting an indexing list, a second screen 503 for outputting an MPD file list, a second screen 503 for outputting an original file list, 3 screen 505. [0156] Fig. Alternatively, the broadcast receiver 13 may display one screen including at least one of a first area including an index list, a second area including an MPD file list, and a third area including an original file list Output.
이와 관련하여, 방송 수신기(13)는 디스플레이를 포함하고, 데싱 및 인덱싱된 결과 화면 중 적어도 하나의 화면을 출력할 수 있다. 또한, 방송 수신기(13)는 화면 제어와 관련한 사용자 입력을 수신하기 위하여 적어도 하나의 입력 장치를 포함할 수 있다. In this regard, the broadcast receiver 13 may include a display, and may output at least one screen of a dying and indexed result screen. In addition, the broadcast receiver 13 may include at least one input device for receiving user input related to screen control.
도 6은 본 발명의 일 실시 예에 따른 MPD 매니저의 일 예를 나타낸 도면이다.6 is a diagram illustrating an example of an MPD manager according to an embodiment of the present invention.
도 6을 참조하면, 일 실시 예에 따른 MPD 매니저(350)는 제1 인덱스 리스트(351) 및 MPD 캐쉬(353)를 포함할 수 있다.Referring to FIG. 6, the MPD manager 350 according to an embodiment may include a first index list 351 and an MPD cache 353.
MPD 매니저(350)는 Dashing된 MPD 파일을 MPD 캐쉬(353)에 적재할 수 있다. 여기서, MPD 매니저(350)는 MPD 캐쉬(353)가 Full일 경우 오래된 MPD 파일을 MPD 캐쉬(353)에서 삭제하고, 새로운 MPD 파일을 MPD 캐쉬(353)에 적재할 수 있다. 또한 MPD 매니저(350)는 클라이언트(14)에서 MPD 파일의 요청이 있을 경우 필요한 MPD 파일을 MPD 캐쉬(353) 또는 지정된 파일(예: 다중 채널 분배 전송 서버(15)가 제공하고 메모리(140)에 저장된 원본 파일)에서 로드(Load)하여 제공할 수 있다. The MPD manager 350 can load the dashed MPD file in the MPD cache 353. [ Here, if the MPD cache 353 is Full, the MPD manager 350 deletes the old MPD file from the MPD cache 353, and loads the new MPD file into the MPD cache 353. The MPD manager 350 also sends the MPD file required by the client 14 to the MPD cache 353 or a specified file such as the multichannel distribution transmission server 15 and provided to the memory 140 (Stored in the original file).
MPD 캐쉬(353)는 Key/Value 형식의 해쉬맵(HashMap)으로 구성될 수 있다. 예컨대, Key는 해당 MPD의 Index이며, Value는 MPD 파일의 내용이며, Byte Array(byte[])가 될 수 있다. The MPD cache 353 may comprise a key / value hash map (HashMap). For example, Key is the Index of the corresponding MPD, Value is the contents of the MPD file, and may be a Byte Array (byte []).
MPD 매니저(350)는 제1 인덱스 리스트(351)를 사용하여 MPD 파일의 Caching 여부를 검색할 수 있다. MPD 매니저(350)는 제1 인덱스 리스트(351)의 마지막 번지의 해당하는 인덱스를 Delete Ptr로 정의하여, MPD 캐쉬(353)가 Full인 경우 Delete Ptr의 인덱스에 해당하는 key/value Cache Data를 해쉬맵에서 삭제할 수 있다.The MPD manager 350 can search for the caching of the MPD file using the first index list 351. The MPD manager 350 defines the corresponding index of the last address of the first index list 351 as Delete Ptr and if the MPD cache 353 is Full, the key / value cache data corresponding to the index of the Delete Ptr is replaced with a hash You can delete it from the map.
MPD 파일 탐색과 관련하여, MPD 매니저(350)는 인덱스 매니저(370)를 통하여 MPD 파일을 요청한 클라이언트(14)에 마지막으로 전송했던 MPD 인덱스의 다음 인덱스(Next Index)를 확인할 수 있다. 인덱스 매니저(370)는 다음 인덱스가 존재하지 않을 경우 기존 인덱스를 최신 인덱스로 판단할 수 있다. MPD 매니저(350)는 MPD 캐쉬(353)에서 MPD 파일을 먼저 탐색하고, 존재하지 않을 경우 파일(예: 메모리에 저장된 원본 파일)에서 MPD 파일을 읽어오고 이를 데쉬 핸들 쓰레드(380)에 리턴할 수 있다. In connection with the MPD file search, the MPD manager 350 can check the next index of the MPD index that was last transmitted to the client 14 that requested the MPD file through the index manager 370. The index manager 370 can determine that the existing index is the latest index if the next index does not exist. The MPD manager 350 first searches the MPD cache 353 for an MPD file and if not, reads the MPD file from a file (e.g., the original file stored in memory) and returns it to the dash handle thread 380 have.
도 7은 본 발명의 일 실시 예에 따른 세그먼트 매니저의 일 예를 나타낸 도면이다.7 is a diagram illustrating an example of a segment manager according to an embodiment of the present invention.
*도 7을 참조하면, 일 실시 예에 따른 세그먼트 매니저(360)는 제2 인덱스 리스트(361), 세그먼트 캐쉬(363) 및 세그먼트 구조체(365)를 포함할 수 있다.7, the segment manager 360 according to an embodiment may include a second index list 361, a segment cache 363, and a segment structure 365.
세그먼트 매니저(360)는 Dashing된 세그먼트 파일들(Segment Files)을 세그먼트 캐쉬(363)에 적재할 수 있다. 세그먼트 매니저(360)는 세그먼트 캐쉬(363)가 Full일 경우 오래된 인덱스에 해당하는 세그먼트 데이터들을 세그먼트 캐쉬(363)에 삭제하고, 현재 Dashing 된 세그먼트 파일들을 적재할 수 있다. 또한 세그먼트 매니저(360)는 클라이언트(14)에서 세그먼트 파일들을 요청하면, 필요한 세그먼트 파일들을 세그먼트 캐쉬(363) 또는 파일(예: 메모리에 저장된 원본 파일)에서 로드하여 클라이언트(14)에 제공할 수 있다. The segment manager 360 may load the segmented files (Segment Files) into the segment cache 363. The segment manager 360 may delete the segment data corresponding to the old index in the segment cache 363 when the segment cache 363 is full and load the currently dashed segment files. The segment manager 360 may also request the segment files from the client 14 to load the necessary segment files from the segment cache 363 or from a file such as a source file stored in memory and provide them to the client 14 .
세그먼트 캐쉬(363)는 Key/Value 형식의 해쉬맵(HashMap)으로 구성될 수 있다. Key는 인덱스(Index)이며, Value는 다시 Key/Value형식의 해쉬맵 구조를 가지며, 그 구조는 세그먼트 데이터 구조(SegmentData Structure) 에서와 같이, Key는 Filename, Value는 Byte Array(byte[]) 구조의 Data 구조를 가질 수 있다. The segment cache 363 may be configured with a key / value hash map (HashMap). Key is an index and Value is a hash map structure in the form of a key / value. The structure is a filename, and a value is a byte array (byte []) structure as in a segment data structure Of data structure.
세그먼트 매니저(360)는 제2 인덱스 리스트(361)를 사용하여 세그먼트 파일의 Caching 여부를 검색할 수 있다. 세그먼트 매니저(360)는 제2 인덱스 리스트(361)의 마지막 번지의 해당하는 인덱스를 Delete Ptr로 정의하여, 세그먼트 캐쉬(363)가 Full인 경우 Delete Ptr의 인덱스에 해당하는 key/value Cache Data를 해쉬맵에서 삭제할 수 있다. The segment manager 360 can search for the caching of the segment file using the second index list 361. [ The segment manager 360 defines the corresponding index of the last address of the second index list 361 as Delete Ptr and if the segment cache 363 is Full, the segment manager 360 stores the key / value cache data corresponding to the index of the Delete Ptr as a hash You can delete it from the map.
도 8은 본 발명의 일 실시 예에 따른 인덱스 매니저의 일 예를 나타낸 도면이다.8 is a diagram illustrating an example of an index manager according to an embodiment of the present invention.
도 8을 참조하면, 일 실시 예에 따른 인덱스 매니저(370)는 클라이언트 인덱스 맵(371) 및 제3 인덱스 리스트(373)를 포함할 수 있다.Referring to FIG. 8, the index manager 370 may include a client index map 371 and a third index list 373.
인덱스 매니저(370)는 타임스탬프 기반의 인덱스를 생성 및 관리할 수 있다. 이와 관련하여, 인덱스 매니저(370)는 클라이언트 인덱스 맵(371)을 생성하고, 클라이언트 ID별로 제3 인덱스 리스트(373)(예: 마지막 인덱스)를 관리할 수 있다. The index manager 370 can create and manage timestamp-based indexes. In this regard, the index manager 370 may generate the client index map 371 and manage the third index list 373 (e.g., the last index) by client ID.
*MPD 파일 탐색과 관련하여, 인덱스 매니저(370)는 클라이언트 인덱스 맵에 클라이언트 ID가 존재하지 않을 경우 최근 인덱스를 선택할 수 있다. 인덱스 매니저(370)는 선택된 인덱스의 MPD 파일을 MPD 매니저(350)에게 요청할 수 있다. With respect to the MPD file search, the index manager 370 can select the latest index if no client ID exists in the client index map. The index manager 370 can request the MPD manager 350 of the MPD file of the selected index.
세그먼트 파일 탐색과 관련하여, 인덱스 매니저(370)는 URI에 인덱스가 존재하는지 여부를 확인하고, 인덱스가 존재할 경우 해당 인덱스의 세그먼트 파일을 세그먼트 매니저(360)에게 요청할 수 있다. 인덱스가 존재 하지 않을 경우 인덱스 매니저(370)는 Client ID를 기준으로 클라이언트 인덱스 맵(ClientIndexMap)에서 현재 요청하는 인덱스를 확인하고, 세그먼트 매니저(360)에게 해당 인덱스의 세그먼트 파일을 요청할 수 있다. With respect to the segment file search, the index manager 370 can check whether or not there is an index in the URI, and if the index exists, request the segment manager 360 of the index file. If the index does not exist, the index manager 370 can check the currently requested index in the client index map (ClientIndexMap) based on the client ID, and request the segment manager 360 for the segment file of the corresponding index.
인덱스 매니저(370)가 세그먼트 파일을 요청하면, 세그먼트 매니저(360)는 세그먼트 캐쉬(363) 검색을 수행할 수 있다. 세그먼트 캐쉬(363) 검색 시, 세그먼트 매니저(360)는 인덱스를 기준으로 세그먼트 리스트를 탐색하고, 다시 세그먼트 파일명(Segmentsfilename)을 기준으로 세그먼트 데이터를 검색할 수 있다. 세그먼트 매니저(360)는 검색 결과가 존재 하지 않을 경우 파일(예: 메모리에 저장된 원본 파일로서, DASH 작업 수행 전 파일)에서 세그먼트 파일을 읽어와서, 이를 리턴(예: 인덱스 매니저에게 전달)할 수 있다. When the index manager 370 requests a segment file, the segment manager 360 may perform a segment cache 363 search. When searching for the segment cache 363, the segment manager 360 can search the segment list based on the index and retrieve the segment data based on the segment filename (Segments filename). The segment manager 360 may read the segment file from the file (e.g., the original file stored in the memory, before performing the DASH operation) and return it (e.g., deliver it to the index manager) if the search result does not exist .
도 9는 본 발명의 일 실시 예에 따른 데쉬 라이브 커넥터의 한 예를 나타낸 도면이다.9 is a view showing an example of a dash live connector according to an embodiment of the present invention.
도 9를 참조하면, 일 실시 예에 따른 데쉬 라이브 커넥터(390)는 데쉬 라이브 연결 쓰레드(393) 및 데쉬 라이브 커넥터(391)를 포함할 수 있다. 9, the dash live connector 390 according to an embodiment may include a dash live connection thread 393 and a dash live connector 391. [
데쉬 라이브 커넥터(391)는 클라이언트(14)로부터 HTTP 연결 요청을 수신하는 역할을 수행할 수 있다. 데쉬 라이브 커넥터(391)는 HTTP 연결 시, 데쉬 라이브 연결 쓰레드(393)를 생성하고, HTTP Connection을 데쉬 라이브 연결 쓰레드(393)에 전달하고 실행하는 역할을 수행할 수 있다. 데쉬 라이브 커넥터(391)는 멀티 쓰레드 소켓(MultiThread Socket)과 동일한 구조로 시스템이 허락하는 한도에서 적어도 하나의 연결(Connection) 요청을 수신할 수 있다.The dhs live connector 391 can perform a role of receiving an HTTP connection request from the client 14. [ The dhs live connector 391 may create a dhs live connection thread 393 at the time of HTTP connection, and may transmit and execute the HTTP connection to the dhs live connection thread 393. The dhs live connector 391 may receive at least one connection request to the extent that the system allows, in the same structure as the multi-thread socket.
데쉬 라이브 연결 쓰레드(393)는 데쉬 커넥터 모듈(391)에서 생성하는 서브 쓰레드로서, HTTP URI를 파싱하여 해당하는 Work을 수행하는 Thread를 포함할 수 있다. 데쉬 라이브 연결 쓰레드(393)는 예컨대, run( ), parseURI( ), sendClientID( ), sendMPD( ), sendSegment( ), sendIndexList( ) 등의 함수를 운용할 수 있다. run ( )은 쓰레드의 코어 메서드로서, 파싱된 URI 메시지에 따라 클라이언트 ID 생성 및 전송, MPD 전송, Segment 전송, 인덱스 리스트 전송 여부를 결정할 수 있다. parseURI( )는 HTTP URI를 파싱하여 run( )에 제공할 수 있다. sendCientID( )는 run( )으로부터 클라이언트 ID, MPD, 세그먼트 파일, 인덱스 리스트 등을 수신하고, 수신된 정보를 해당 클라이언트(14)에 전송할 수 있다. sendClientID( ), sendMPD( ), sendSegment( ), sendIndexList( )는 각각 Client ID의 전송, MPD 파일의 전송, 세그먼트 파일들의 전송 및 인덱스 리스트의 전송을 수행할 수 있다.The dash live connection thread 393 is a sub-thread generated by the dash connector module 391 and may include a thread that parses an HTTP URI to perform a corresponding work. The dhs live connection thread 393 may operate functions such as run (), parseURI (), sendClientID (), sendMPD (), sendSegment (), sendIndexList (), and so on. The run () method is the core method of the thread. It can determine whether client ID generation and transmission, MPD transmission, segment transmission, and index list transmission are performed according to the parsed URI message. parseURI () can parse an HTTP URI and provide it to run (). sendCientID () may receive the client ID, MPD, segment file, index list, etc. from run () and may send the received information to the client 14. sendClientID (), sendMPD (), sendSegment (), and sendIndexList () can perform Client ID transfer, MPD file transfer, segment file transfer and index list transfer respectively.
도 10은 본 발명의 일 실시 예에 따른 인터넷 방송용 컨텐츠 제공 시스템에서 방송 수신기와 클라이언트 간의 신호 흐름을 나타낸 도면이다.10 is a diagram illustrating a signal flow between a broadcast receiver and a client in an Internet broadcast content providing system according to an embodiment of the present invention.
도 10을 참조하면, 일 실시 예에 따른 방송 수신기(13) 및 클라이언트(14) 간의 신호 흐름과 관련하여, 1001 단계에서, 클라이언트(14)는 방송 수신기(13)에 Client ID를 요청할 수 있다. 예를 들어, 클라이언트(14)는 http://{ip_address}:{dash_live_port}/GET_CLIENT_ID 메시지를 방송 수신기(13)에 전송할 수 있다. 이에 대응하여, 방송 수신기(13)는 클라이언트(14)에 대응하는 Client ID를 생성하고, 1003 단계에서 Client ID를 클라이언트(14)에 전달할 수 있다. 예를 들어, 방송 수신기(13)는 af074e8c-2702-40b1-b0c8-657216394e24 값을 클라이언트(14)에 전달할 수 있다.Referring to FIG. 10, in step 1001, the client 14 can request a client ID from the broadcast receiver 13 in connection with the signal flow between the broadcast receiver 13 and the client 14 according to an embodiment. For example, the client 14 may send the http: // {ip_address}: {dash_live_port} / GET_CLIENT_ID message to the broadcast receiver 13. Correspondingly, the broadcast receiver 13 generates a Client ID corresponding to the client 14, and in step 1003, the broadcast receiver 13 can transmit the Client ID to the client 14. For example, the broadcast receiver 13 may pass a value af074e8c-2702-40b1-b0c8-657216394e24 to the client 14. [
클라이언트(14)는 1005 단계에서, MPD 파일을 방송 수신기(13)에 요청할 수 있다. 이와 관련하여, 클라이언트(14)는 http://{ip_address}:{dash_live_port}/GET_MPD?client_id=af074e8c-2702-40b1-b0c8-657216394e24를 포함하는 메시지를 방송 수신기(13)에 전송할 수 있다. In step 1005, the client 14 can request the MPD file to the broadcast receiver 13. In this regard, the client 14 may send a message to the broadcast receiver 13 including http: // {ip_address}: {dash_live_port} / GET_MPD? Client_id = af074e8c-2702-40b1-b0c8-657216394e24.
방송 수신기(13)는 1007 단계에서, 클라이언트(14)가 요청한 MPD 파일을 클라이언트(14)에 전송할 수 있다.The broadcast receiver 13 may transmit the MPD file requested by the client 14 to the client 14 in step 1007. [
클라이언트(14)는 1009 단계에서, 방송 수신기(13)에 연속된 세그먼트 파일들을 요청할 수 있다. 이와 관련하여, 클라이언트(14)는 http://{ip_address}:{dash_live_port}/{segment_file_name}?cleint_id=af074e8c-2702-40b1-b0c8-657216394e24를 포함하는 메시지를 방송 수신기(13)에 전송할 수 있다. In step 1009, the client 14 may request the broadcast receiver 13 to continue the segment files. In this regard, the client 14 may send a message to the broadcast receiver 13 that includes http: // {ip_address}: {dash_live_port} / {segment_file_name}? Cleint_id = af074e8c-2702-40b1-b0c8-657216394e24 .
방송 수신기(13)는 클라이언트(14)로부터 세그먼트 파일을 요청하는 메시지를 수신하면, 1011 단계에서, 해당 세그먼트 파일을 클라이언트(14)에 전송할 수 있다. 클라이언트(14)는 세그먼트 파일을 수신하면, 1013 단계에서, 연속된 세그먼트 파일들 중 마지막 세그먼트 파일(예: (N) Segment 파일)을 방송 수신기(13)에 요청할 수 있다. 방송 수신기(13)는 1015 단계에서, 대응되는 세그먼트 파일을 클라이언트(14)에 전달할 수 있다. 상술한 동작에서, 방송 수신기(13)는 이전 전송한 파일(예: MPD 파일 또는 세그먼트 파일들)의 마지막 인덱스 정보를 토대로 다음 파일의 전송을 수행할 수 있다. When the broadcast receiver 13 receives a message requesting a segment file from the client 14, the broadcast receiver 13 may transmit the segment file to the client 14 in step 1011. [ Upon reception of the segment file, the client 14 may request the broadcast receiver 13 of the last segment file (e.g., (N) Segment file) of the continuous segment files in step 1013. [ The broadcasting receiver 13 may transmit the corresponding segment file to the client 14 in step 1015. [ In the above-described operation, the broadcast receiver 13 can perform transmission of the next file based on the last index information of the previously transmitted file (e.g., MPD file or segment files).
세그먼트 파일들의 수신이 완료되면, 클라이언트는 사용자 입력에 따라 또는 스케줄링된 프로세스에 따라 1005 단계 이전으로 분기하여 이하 동작을 반복적으로 수행할 수 있다.When the reception of the segment files is completed, the client branches to step 1005 and repeats the following operations according to the user input or according to the scheduled process.
상술한 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.The embodiments disclosed in the above-mentioned document are presented for the description and understanding of the disclosed contents, and do not limit the scope of the present invention. Accordingly, the scope of this document should be interpreted to include all modifications based on the technical idea of the present invention or various other embodiments.
[부호의 설명][Description of Symbols]
12: 트랜스코더12: Transcoder
13: 방송 수신기13: Broadcast receiver
14: 클라이언트14: Client
15: 다중 방송 채널 분배 서버15: Multiple broadcast channel distribution server
110 : 제1 통신 회로110: first communication circuit
120 : 제2 통신 회로120: Second communication circuit
140 : 메모리140: Memory
300 : 프로세싱부300: Processing unit

Claims (6)

  1. 다양한 해상도의 미디어 파일을 제공하는 다중 채널 방송 분배 서버와 통신 채널을 형성하는 제1 통신 회로;A first communication circuit forming a communication channel with a multi-channel broadcast distribution server providing media files of various resolutions;
    클라이언트 단말과 통신 채널을 형성하는 제2 통신 회로;A second communication circuit forming a communication channel with the client terminal;
    상기 미디어 파일 및 상기 미디어 파일을 DASH(Dynamic Adaptive Streaming over HTTP) 처리한 미디어 파일 조각들을 저장하는 메모리;A memory for storing media file and media file fragments processed by dynamic adaptive streaming over HTTP (DASH) processing of the media file;
    상기 제1 통신 회로, 상기 제2 통신 회로 및 상기 메모리에 전기적으로 연결되는 프로세싱부;를 포함하고,And a processing unit electrically connected to the first communication circuit, the second communication circuit, and the memory,
    상기 프로세싱부는The processing unit
    다중 케이블망을 통하여 상기 미디어 파일을 수신하여 저장하고, Receiving and storing the media file through the multiple cable network,
    상기 수신된 미디어 파일을 DASH 처리하면서 생성된 MPD(Media Presentation Description) 파일 및 세그먼트 파일들에 대한 인덱싱을 수행하고, Indexing the MPD (Media Presentation Description) file and the segment files generated while DASH processing the received media file,
    상기 클라이언트 요청에 따라 MPEG-DASH-SRD(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP - Spatial Relationship Description) 기반으로 상기 MPD 파일 및 상기 세그먼트 파일들을 상기 클라이언트에 전송하도록 설정된 방송 수신기.And to transmit the MPD file and the segment files to the client based on MPEG-DASH-SRD (Dynamic Adaptive Streaming over HTTP) according to the client request.
  2. 제1항에 있어서,The method according to claim 1,
    상기 프로세싱부는The processing unit
    상기 다중 채널 분배 전송 서버와 연결되는 케이블 수신기;A cable receiver coupled to the multi-channel distribution transmission server;
    상기 케이블 수신기가 수신한 HEVC Tiled Encoding 된 서로 다른 해상도의 미디어 파일들을 구분하여 저장하는 버퍼;를 포함하는 방송 수신기.And a buffer for separating and storing HEVC Tiled Encoded media files of different resolutions received by the cable receiver.
  3. 제1항에 있어서,The method according to claim 1,
    상기 프로세싱부는 The processing unit
    상기 MPD 파일 및 상기 세그먼트 파일들을 상기 클라이언트에 전송하는 동안 이전 전송된 파일의 인덱스 정보를 참조하여 다음 파일을 전송하도록 설정된 방송 수신기.And to transmit the next file while referring to the index information of the previously transmitted file while transmitting the MPD file and the segment files to the client.
  4. 제1항에 있어서,The method according to claim 1,
    상기 프로세싱부는The processing unit
    상기 미디어 파일 수신과 관련한 타임 스탬프 정보를 기반으로 상기 인덱스 정보를 생성하도록 설정된 방송 수신기.And generate the index information based on time stamp information related to reception of the media file.
  5. 제1항에 있어서,The method according to claim 1,
    상기 프로세싱부는The processing unit
    상기 클라이언트 요청에 따라 Client ID를 생성하고, 상기 Client ID를 기반으로 상기 MPD 파일, 상기 세그먼트 파일들 및 상기 인덱스 정보를 상기 클라이언트에 전송하도록 설정된 방송 수신기.And generates a client ID according to the client request, and transmits the MPD file, the segment files, and the index information to the client based on the client ID.
  6. 다중 케이블망을 통하여 다중 채널 분배 전송 서버로부터 HEVC Tiled Encoding된 서로 다른 해상도를 가지는 미디어 파일들을 수신하여 저장하는 단계;Receiving and storing HEVC Tiled Encoded media files having different resolutions from a multi-channel distribution transmission server through a multiple cable network;
    상기 수신된 미디어 파일을 DASH 처리하면서 생성된 MPD(Media Presentation Description) 파일 및 세그먼트 파일들에 대한 인덱싱을 수행하는 단계; Performing indexing on a MPD (Media Presentation Description) file and segment files generated while DASH processing the received media file;
    상기 클라이언트 요청에 따라 MPEG-DASH-SRD(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP - Spatial Relationship Description) 기반으로 상기 MPD 파일 및 상기 세그먼트 파일들을 상기 클라이언트에 전송하는 단계;를 포함하고, And transmitting the MPD file and the segment files to the client based on MPEG-DASH-SRD (Dynamic Adaptive Streaming over HTTP - Spatial Relationship Description) according to the client request,
    상기 전송하는 단계는 The transmitting step
    이전 전송한 파일의 인덱스를 참조하여 다음 파일을 전송하도록 설정하는 단계를 포함하는 방송 수신기의 운용 방법.And setting the transmission of the next file by referring to the index of the previously transmitted file.
PCT/KR2017/013807 2017-11-29 2017-11-29 Broadcast receiver and operation method therefor WO2019107595A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0161383 2017-11-29
KR1020170161383A KR102007669B1 (en) 2017-11-29 2017-11-29 Video on demand Server device for internet broadcasting and operating method thereof

Publications (1)

Publication Number Publication Date
WO2019107595A1 true WO2019107595A1 (en) 2019-06-06

Family

ID=66665009

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/013807 WO2019107595A1 (en) 2017-11-29 2017-11-29 Broadcast receiver and operation method therefor

Country Status (2)

Country Link
KR (1) KR102007669B1 (en)
WO (1) WO2019107595A1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140041256A (en) * 2012-09-27 2014-04-04 배재대학교 산학협력단 Dynamic and adaptive streaming system over http
KR20150010589A (en) * 2013-07-19 2015-01-28 한국전자통신연구원 Apparatus and method for providing contents
KR20160004965A (en) * 2014-07-04 2016-01-13 톰슨 라이센싱 Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache
KR20160074310A (en) * 2014-12-18 2016-06-28 한국전자통신연구원 Method and apparatus for streaming in hybrid network
WO2016105100A1 (en) * 2014-12-22 2016-06-30 엘지전자 주식회사 Broadcasting signal transmission device, broadcasting signal reception device, broadcasting signal transmission method, and broadcasting signal reception method
KR20160113270A (en) * 2014-07-03 2016-09-28 후아웨이 테크놀러지 컴퍼니 리미티드 Signaling and handling of forensic marking for adaptive streaming
US20170026447A1 (en) * 2015-06-18 2017-01-26 Ericsson Ab Directory limit based system and method for storing media segments
KR20170055026A (en) * 2014-02-24 2017-05-18 엘지전자 주식회사 Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101764317B1 (en) 2016-11-03 2017-08-02 주식회사 헤카스 Streaming server, streaming system and streaming method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140041256A (en) * 2012-09-27 2014-04-04 배재대학교 산학협력단 Dynamic and adaptive streaming system over http
KR20150010589A (en) * 2013-07-19 2015-01-28 한국전자통신연구원 Apparatus and method for providing contents
KR20170055026A (en) * 2014-02-24 2017-05-18 엘지전자 주식회사 Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
KR20160113270A (en) * 2014-07-03 2016-09-28 후아웨이 테크놀러지 컴퍼니 리미티드 Signaling and handling of forensic marking for adaptive streaming
KR20160004965A (en) * 2014-07-04 2016-01-13 톰슨 라이센싱 Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache
KR20160074310A (en) * 2014-12-18 2016-06-28 한국전자통신연구원 Method and apparatus for streaming in hybrid network
WO2016105100A1 (en) * 2014-12-22 2016-06-30 엘지전자 주식회사 Broadcasting signal transmission device, broadcasting signal reception device, broadcasting signal transmission method, and broadcasting signal reception method
US20170026447A1 (en) * 2015-06-18 2017-01-26 Ericsson Ab Directory limit based system and method for storing media segments

Also Published As

Publication number Publication date
KR102007669B1 (en) 2019-10-21
KR20190062818A (en) 2019-06-07

Similar Documents

Publication Publication Date Title
US6925499B1 (en) Video distribution system using disk load balancing by file copying
US7143433B1 (en) Video distribution system using dynamic segmenting of video data files
AU2010210639B2 (en) Server-side support for seamless rewind and playback of video streaming
US7246369B1 (en) Broadband video distribution system using segments
US20090106288A1 (en) Method and system for supporting media data of various coding formats
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
WO2013077525A1 (en) Control method and device using same
KR20020078259A (en) Apparatus for providing PSS in TV
EP2135100B1 (en) Converting video data into video streams
WO2011115424A2 (en) Content output system and codec information sharing method in same system
WO2011119012A2 (en) Method and apparatus for receiving non-real time content included in real time broadcasting signal
WO2013024966A1 (en) Method and device for receiving content
KR20070075324A (en) Information processing apparatus and system
CN105577645A (en) Agent-based HLS client-end device and realization method thereof
CN104754370A (en) Cross-terminal multimedia data transmission method, device, client and system
KR20110062508A (en) A method for sharing channel map of digital broadcast systems in a home network and a system thereof
WO2020138567A1 (en) Apparatus, system, and method for content streaming
WO2011162506A2 (en) Method and apparatus for random access to multimedia content in wireless communication system
WO2015105376A1 (en) Methods and apparatus for universal presentation timeline alignment
KR102024642B1 (en) Live Steaming Server device and operating method thereof
WO2019107595A1 (en) Broadcast receiver and operation method therefor
WO2013154364A1 (en) Streaming playback method and computing apparatus using same
WO2017142347A1 (en) Method and device for providing content-related information of multimedia service
WO2018093051A1 (en) Method for providing streaming service while converting file format in real time
WO2013115624A1 (en) Apparatus and method for transceiving scene composition information in multimedia communication system

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: 17933249

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17933249

Country of ref document: EP

Kind code of ref document: A1