WO2012008792A2 - Apparatus and method for transceiving a streaming service - Google Patents

Apparatus and method for transceiving a streaming service Download PDF

Info

Publication number
WO2012008792A2
WO2012008792A2 PCT/KR2011/005221 KR2011005221W WO2012008792A2 WO 2012008792 A2 WO2012008792 A2 WO 2012008792A2 KR 2011005221 W KR2011005221 W KR 2011005221W WO 2012008792 A2 WO2012008792 A2 WO 2012008792A2
Authority
WO
WIPO (PCT)
Prior art keywords
chunks
file
http
chunk
iso file
Prior art date
Application number
PCT/KR2011/005221
Other languages
French (fr)
Korean (ko)
Other versions
WO2012008792A3 (en
Inventor
정승훈
서광덕
이진영
배성준
강정원
심상우
탕쯔엉콩
박상택
류원
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020110030807A external-priority patent/KR20120008432A/en
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US13/810,600 priority Critical patent/US20130124699A1/en
Publication of WO2012008792A2 publication Critical patent/WO2012008792A2/en
Publication of WO2012008792A3 publication Critical patent/WO2012008792A3/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 

Definitions

  • the present invention relates to a streaming service transmission and reception apparatus and method, and more particularly to an HTTP streaming service transmission and reception apparatus and method.
  • HTTP Hyper Text Transfer Protocol
  • a terminal uses HTTP to request a download of a content file.
  • the server delivers the requested content file to the terminal using a transmission control protocol (TCP).
  • TCP transmission control protocol
  • the content file may be an ISO base media file format.
  • a content file using the ISO Base Media File Format may include multiple media tracks to support multiple bit rates and resolutions.
  • An HTTP streaming service that utilizes a hint track of a content file can reduce the weight of the transmitted content file.
  • the lightening of the content file can reduce the amount of traffic in the IP network such as the Internet while reducing the time required for downloading the file.
  • the terminal and the server can effectively provide a quality adaptive HTTP streaming service by using the HTTP hint track.
  • An embodiment of the present invention may provide an apparatus and method for converting an ISO file produced by a non-interleaved storage method into an ISO file of an interleaved storage method effective for an HTTP streaming service.
  • An embodiment of the present invention may provide an apparatus and method for providing a quality adaptive HTTP streaming service for an ISO file including multiple media tracks to support multiple bit rates and resolutions.
  • the video chunks and the one or more first voice chunks are interleaved and a streaming service transmission method is provided.
  • the request for the first lightweight ISO file may include first quality information for the first lightweight ISO file.
  • the first video chunks may be chunks of an image corresponding to the first quality information
  • the first voice chunks may be chunks of a voice corresponding to the first quality information.
  • the generating of the first lightweight ISO file based on the original file comprises: an nth one of the first image chunks indicated by an nth HTTP chunk pointer among first HTTP chunk pointers included in the original file. Identifying an n th first audio chunk of a first video chunk and the first audio chunks, where n is a value greater than or equal to the number of first video chunks; and the n th first video chunk and the n th first chunk. Determining a voice chunk as a chunk to be included in the nth first HTTP chunk of the first HTTP chunks; and generating a first lightweight ISO file that sequentially includes the one or more first HTTP chunks; And first video chunks and the one or more first voice chunks are sequentially interleaved within the first lightweight ISO file.
  • Generating a first lightweight ISO file based on the original file may further include calculating an nth chunk offset indicative of the location of the nth HTTP chunk in the first lightweight ISO file.
  • the generating of the first lightweight ISO file may include placing the nth HTTP chunk in the first lightweight ISO file by using the nth chunk offset.
  • the streaming service transmitting method may further include receiving a request for a second lightweight ISO file from the terminal, generating a second lightweight ISO file based on the original file, and streaming the second lightweight ISO file.
  • the method may further include transmitting to the terminal through the second lightweight ISO file, the second lightweight ISO file may include one or more second video chunks and one or more second audio chunks, and the second lightweight ISO file.
  • the one or more second video chunks and the one or more second voice chunks within may be interleaved.
  • the one or more second video chunks are not transmitted to the terminal by a streaming service of the first lightweight ISO file among the one or more first video chunks when a request for the second lightweight ISO file is received.
  • the video chunks may correspond to untransmitted first video voices which are not transmitted to the terminal by a streaming service of a lightweight ISO file.
  • the request for the first lightweight ISO file may include first quality information for the first lightweight ISO file, and the request for the second lightweight ISO file may be for the second lightweight ISO file.
  • the first image chunks may include chunks of an image corresponding to the first quality information, and the second image chunks may be chunks of an image corresponding to the second quality information.
  • the first voice chunks may be chunks of voice corresponding to the first quality information, and the second voice chunks may be chunks of voice corresponding to the second quality information.
  • the one or more first image chunks and the one or more second image chunks may be chunks having different qualities of an image of the same content.
  • the generating of the second lightweight ISO file based on the original file comprises: an nth one of the second image chunks indicated by an nth HTTP chunk pointer among second HTTP chunk pointers included in the original file. Identifying an nth second audio chunk of the second video chunk and the second audio chunks, wherein n is a value greater than m and less than or equal to the number of second video chunks, and m is a request for the second lightweight ISO file.
  • Is the index of the first first video chunk that was not transmitted to the terminal via a streaming service of the one or more first video chunks in the first lightweight ISO file when the n th second video chunk and the n Determining a second second voice chunk as a chunk to be included in an nth second HTTP chunk of second HTTP chunks and generating a second lightweight ISO file that sequentially includes the one or more second HTTP chunks. And the one or more second video chunks and the one or more second voice chunks are sequentially interleaved within the second lightweight ISO file.
  • a receiving unit for receiving a request for a first lightweight ISO file from the terminal, a lightweight ISO file generation unit for generating a first lightweight ISO file based on the original file and the first lightweight
  • a transmission unit for transmitting a type ISO file to the terminal through streaming, and the light weight ISO file generating unit interleaving one or more first video chunks and one or more first voice chunks in the first light weight ISO file.
  • a streaming service transmission apparatus is provided.
  • the first lightweight ISO file includes: The ISO file includes one or more first video chunks and one or more first voice chunks, and the second lightweight ISO file includes one or more second video chunks and one or more second voice chunks, wherein the first The one or more first video chunks and the one or more first voice chunks in a lightweight ISO file are interleaved and the one or more in the second lightweight ISO file. Second video chunks and audio chunks have at least one second is provided with interleaved, streaming service reception method.
  • the streaming service receiving method may further include generating first quality information indicating quality of the first lightweight ISO file and generating second quality information indicating quality of the second lightweight ISO file.
  • the request for the first lightweight ISO file may include the first quality information
  • the request for the second lightweight ISO file may include the second quality information
  • First image chunks may be chunks of an image corresponding to the first quality information
  • the second image chunks may be chunks of an image corresponding to the second quality information
  • the first audio chunks may be the first audio chunks.
  • Voice chunks corresponding to quality information, and the second voice chunks may be chunks of voice corresponding to the second quality information.
  • the ISO file includes one or more first video chunks and one or more first voice chunks
  • the second lightweight ISO file includes one or more second video chunks and one or more second voice chunks, wherein the first The one or more first video chunks and the one or more first voice chunks in a lightweight ISO file are interleaved and the one or more in the second lightweight ISO file.
  • Second video chunks and audio chunks have at least one second is provided with an interleaved streaming service receiver.
  • the streaming service receiving apparatus further includes generating first quality information indicating quality of the first lightweight ISO file and generating second quality information indicating quality of the second lightweight ISO file.
  • Perform the request for the first lightweight ISO file may include the first quality information
  • the request for the second lightweight ISO file may include the second quality information
  • First image chunks may be chunks of an image corresponding to the first quality information
  • the second image chunks may be chunks of an image corresponding to the second quality information
  • the first audio chunks may be the first audio chunks.
  • the second voice chunks may be chunks of voice corresponding to the second quality information.
  • a multimedia file for a streaming service is created by using an original file including one or more first video chunks, one or more first voice chunks, and one or more first HTTP chunk pointers.
  • the method of claim 1 wherein the n th first video chunk of the first video chunks and the n th first voice chunk of the first voice chunks indicated by the n th first HTTP chunk pointer of the first HTTP chunk pointers. Identify n, wherein n is a value equal to or greater than 1 or more than the number of first video chunks, and wherein the n-th first video chunk and the n-th first audio chunk are included in the n-th first HTTP chunk of the first HTTP chunks.
  • the multimedia file producing method for a streaming service comprising a.
  • the multimedia file generating method for the streaming service may further include calculating an n th first chunk offset indicating a position of the n th first HTTP chunk in the first lightweight ISO file.
  • the operation of generating a first lightweight ISO file may arrange the nth first HTTP chunk in the first lightweight ISO file by using the nth first chunk offset.
  • the method for generating a multimedia file for the streaming service may further include removing the first HTTP chunk pointers from the original file, and the first lightweight ISO file may be generated by modifying the original file. .
  • the first lightweight ISO file may include a moov box and an mdat box, the mdat box may include the first HTTP chunks, and the moov box may include a first video track and a first audio track.
  • the first video track and the first audio track may refer to the first HTTP chunks.
  • the original file may include a moov box and an mdat box, wherein the mdat box may include the first video chunks and the first audio chunks, and the moov box includes a first video track and a first audio track.
  • a first HTTP hint track wherein the first video track may refer to the first video chunks, the first voice track may refer to the first voice chunks, and the first HTTP The hint track may refer to the chunk offsets.
  • the original file may include second image chunks, the first image represented by the first image chunks and the second image represented by the second image chunks may have different qualities, and the first image may include the first image chunk. 1 may have a quality corresponding to the quality requested for the lightweight ISO file.
  • the method for generating a multimedia file for the streaming service may further include removing the second image chunks from the original file, and the first lightweight ISO file may be generated by modifying the original file.
  • the source file may include second HTTP chunk pointers
  • the method for generating a multimedia file for the streaming service may include: among the second video chunks indicated by an nth second HTTP chunk pointer among the second HTTP chunk pointers. identifying an n th first audio chunk of an n th second video chunk and the first audio chunks, wherein n is a value greater than or equal to the number of first video chunks; and the n th second video chunk and the determining an nth second voice chunk as a chunk to be included in the nth second HTTP chunk of the second HTTP chunks; and generating a second lightweight ISO file that sequentially includes the one or more second HTTP chunks.
  • the one or more second video chunks and the one or more second voice chunks are sequentially interleaved within the second lightweight ISO file.
  • a multimedia file for a streaming service is generated by using an original file including one or more first video chunks, one or more first voice chunks, and one or more first HTTP chunk pointers.
  • An apparatus comprising: identifying an nth first video chunk of the first video chunks and an nth first voice chunk of the first voice chunks indicated by an nth HTTP chunk pointer of the first HTTP chunk pointers.
  • An HTTP chunk identification unit where n is a value equal to or greater than 1 or more than the number of first video chunks, and the n-th first video chunk and the n-th first audio chunk are assigned to the n-th first HTTP chunk of the first HTTP chunks.
  • An HTTP chunk determination unit determining a chunk to be included, and a file generation unit generating a first lightweight ISO file including the one or more first HTTP chunks sequentially, the file Father will cause the one or more first image chunk and the at least one first multimedia file generated for the streaming service that sequentially arranged in interleaved in the first light-weight ISO file voice chunks is provided.
  • An apparatus and method are provided for converting a non-interleaved storage ISO file into an interleaved storage ISO file effective for an HTTP streaming service.
  • An apparatus and method are provided for providing a quality adaptive HTTP streaming service for an ISO file containing multiple media tracks to support multiple bit rates and resolutions.
  • FIG 1 illustrates an overview of an HTTP-based progressive streaming service according to an example of the present invention.
  • FIG. 2 illustrates a basic structure of an ISO based media file format according to an embodiment of the present invention.
  • FIG. 3 illustrates an ISO file format stored in a non-interleaved manner in accordance with an example of the present invention.
  • FIG 4 illustrates ISO file formats stored in an interleaved manner according to an example of the present invention.
  • FIG. 5 is a block diagram illustrating an ISO file conversion process and an HTTP streaming providing process for the converted ISO file according to an embodiment of the present invention.
  • FIG. 6 is a block diagram illustrating a process of generating a quality adaptive ISO file using HTTP hint track switching and an HTTP streaming process of the generated ISO file according to an embodiment of the present invention.
  • FIG. 7 illustrates a method of converting an ISO file of a non-interleaved storage method into an ISO file of an interleaved storage method using an HTTP hint track according to an embodiment of the present invention.
  • FIG. 8 illustrates a method of generating a moov 760 through a transcoding procedure including deleting an HTTP hint track 716 and changing a chunk offset value according to an embodiment of the present invention.
  • FIG. 9 illustrates a method of converting an ISO file of a non-interleaved storage method to an ISO file of an interleaved storage method using multiple HTTP hint tracks according to an embodiment of the present invention.
  • FIG. 10 illustrates a method of generating a plurality of moovs through a transcoding procedure for an original file 900 including multiple HTTP hint tracks according to an embodiment of the present invention.
  • FIG. 11 illustrates a method of converting an interleaved storage ISO file into a lightweight interleaved storage ISO file using multiple HTTP hint tracks according to an embodiment of the present invention.
  • FIG. 12 is a flowchart of a method for generating a lightweight ISO file of an interleaved storage method according to an embodiment of the present invention.
  • FIG. 13 illustrates a method of generating interleaved ISO files for quality adaptive HTTP streaming service according to an embodiment of the present invention.
  • FIG. 14 is a flowchart of a quality adaptive HTTP streaming service method according to an embodiment of the present invention.
  • FIG. 15 is a structural diagram of a server 1400 according to an embodiment of the present invention.
  • FIG. 16 illustrates a sample description box 1600 according to an embodiment of the present invention.
  • 17 illustrates additional data 1640 according to an embodiment of the present invention.
  • FIG. 18 illustrates a sample format 1800 in an HTTP hint track according to an example of the present invention.
  • FIG. 19 illustrates a packet entry format 1900 according to an example of the present invention.
  • FIG. 20 illustrates a constructor format 2000 according to an embodiment of the present invention.
  • FIG 1 illustrates an overview of an HTTP-based progressive streaming service according to an example of the present invention.
  • the terminal (ie, client) 110 transmits a "GET Request" 130 of the HTTP protocol to inform the server 120 of the service request for the desired content file.
  • the server 120 transmits the content file to the terminal 110.
  • the server 120 uses TCP as a transmission protocol for transmitting the content file.
  • the content file arrives at the terminal 110 by TCP.
  • the terminal 110 buffers some data of an initially arrived content file.
  • the terminal 110 parses some data of the buffered content file to play video and audio.
  • the HTTP streaming service is differentiated from the download method in which the content file is played only after all data of the content file arrives at the terminal 110.
  • the HTTP streaming service can significantly reduce the service delay time, which is a problem of the conventional download method.
  • FIG. 2 illustrates a basic structure of an ISO based media file format according to an embodiment of the present invention.
  • Content files sent from the HTTP streaming service are QuickTime (.mov), MPEG-4 (.mp4) and Windows Media Video (.wmv) files for storing compressed video and audio as a single file. It is generated by various multimedia file format standards such as Flash Video (.flv) and 3GPP (.3gp).
  • Multimedia files produced based on various multimedia file format standards have been widely produced, distributed, and distributed through wired and wireless IP (Internet Protocol) networks by HTTP streaming services.
  • IP Internet Protocol
  • the format of the ISO file 200 includes a "moov” box (or moov) 210 and a “mdat” box 220 (or mdat).
  • the moov 210 basically includes meta data necessary for representing the content of media such as audio, video, and data.
  • mdat 220 stores sample data of actual media.
  • trak (video)" 212 is a video track residing inside moov 210.
  • the trak (video) 212 is a trak box including meta information for expressing the content of the video sample data stored in the mdat 220.
  • trak (audio)" 214 is an audio track existing within moov 210.
  • the trak (audio) 214 is a trak box including meta information for representing the content of the audio sample data stored in the mdat 210.
  • trak (hint) 216 is a hint track that exists inside moov 210.
  • the hint track is a trak box containing instruction information.
  • the above indication information is information for helping a server to access a video track or an audio track to form a data format conforming to a transport protocol standard in order to transmit sample data included in the mdat 220.
  • RTP Real-time Transport Protocol
  • FD File Delivery
  • the RTP hint track is a hint track for the Real-time Transport Protocol (RTP) protocol that supports live streaming.
  • the FD hint track is a hint for the File Delivery over Unidirectional Transport (FLUTE) protocol that supports the transmission of forward error correction (FEC) symbols for fault-tolerant data transmission. It's a track.
  • the mdat 220 stores sample data of video and audio. Storage methods used in the mdat 220 are interleaved and non-interleaved.
  • FIG. 3 illustrates an ISO file format stored in a non-interleaved manner in accordance with an example of the present invention.
  • the non-interleaved approach is to arrange A / V (audio and video) chunks independently of each other for each media.
  • the sample data of video V1 and audio A1 stored in the ISO file format are divided into n chunks chk_1 to chk_n 322 or 324, respectively.
  • the chunks 322 of video V1 are V1_chk_1 to V1_chk_1.
  • the chunks 324 of the audio A1 are A1_chk_1 to A1_chk_1.
  • the divided chunks 322 and 324 are placed in mdat 320 in a non-interleaved manner, respectively.
  • Video_trak (V1) 312 in moov 310 refers to the first chunk V1_chk_1 of V1 in mdat 320.
  • Audio_trak (A1) 314 in moov 310 refers to the first chunk A1_chk_1 of A1 in mdat 320.
  • FIG 4 illustrates ISO file formats stored in an interleaved manner according to an example of the present invention.
  • the interleaved method is a method of intermixing A / V (audio / video) chunk units.
  • sample data of video V1 and audio A1 stored in the ISO file format are divided into n chunks chk_1 to chk_n, respectively.
  • Chunks 422 of video V1 are V1_chk_1 to V1_chk_n.
  • the chunks 424 of audio A1 are A1_chk_1 to A1_chk_n.
  • the divided chunks 422 are placed in mdat 420 in an interleaved manner. That is, the first chunk A1_chk_1 of the audio follows the first chunk V1_chk_1 of the video, and the second chunk V1_chk_2 of the video follows the first chunk A1_chk_1 of the audio.
  • Video_trak (i.e. V1) 412 in moov 410 and audio_trak (i.e. A1) 314 in moov 410 respectively refer to the first chunk V1_chk_1 of V1 in mdat 320.
  • video_trak (i.e. V1) 412 in moov 410 and audio_trak (i.e. A1) 314 in moov 410 refer only to the first chunk V1_chk_1 of V1, then an excessive operation to refer to the following chunks This may be required.
  • video_trak (i.e. V1) 412 in moov 410 and audio_trak (i.e. A1) 314 in moov 410 may each refer to an intermediate chunk of interleaved chunks, e.g. Can be.
  • the non-interleaved storage method may generate video sample data and audio sample data through encoding processes independent of each other, and store the generated video sample data and audio sample data in mdat.
  • the non-interleaved storage scheme can greatly reduce the complexity and cost of the encoding process, and can facilitate the production of ISO files (i.e., content files that follow the ISO based media file format).
  • Video sample data and audio sample data can later be extracted from an ISO file produced using a non-interleaved storage method, and the extracted video sample data and audio sample data can be reused for other purposes. have.
  • Video sample data and audio sample data which are generated independently and stored in an ISO file format, provide a data structure optimized for a real-time streaming service based on the RTP protocol. This is because the RTP-based real time streaming service independently forms an RTP session for video transmission and an RTP session for audio transmission. That is, when an RTP packet of each of the RTP sessions independent of each other is generated, the RTP packet can be made by extracting sample data from mdat independently and straightforward without interference between different media tracks.
  • the process of editing the ISO file after the file format is generated may be simplified. That is, if the ISO file is edited as needed after the file format is generated, video and audio can be edited independently.
  • a separate track can be added to the ISO file by simply storing new chunks in mdat continuously following the existing chunks.
  • the interleaved storage method stores video sample data and audio sample data interrelated with each other in a chronological order. Therefore, when the interleaved storage method is used, the cost and complexity in the encoding process and the storage process are increased, and the complexity in the RTP packet generation process for providing the RTP-based real-time streaming service increases.
  • the first audio chunk A1_chk_1 may be transmitted only after transmission of all n video chunks corresponding to V1_chk_1 to V1_chk_n in the file is completed.
  • the start of playback time point in the terminal shown in FIG. 1 takes time for the audio chunks to be synchronized with the video chunk to arrive. Delayed after a fairly long time.
  • This delay in the start of playback is a major factor in reducing the quality satisfaction of the service experienced by consumers who requested the HTTP streaming service.
  • an ISO file is produced based on an interleaved storage method as described above with reference to FIG. 4 or an ISO file produced based on a non-interleaved storage method is transmitted.
  • the file format must be converted to an interleaved storage format.
  • Embodiments of the present invention to be described below disclose an HTTP hint track for effectively providing an HTTP streaming service.
  • an ISO file produced by a non-interleaved storage method unsuitable for HTTP streaming services can be simply converted to an interleaved storage method suitable for HTTP streaming.
  • the HTTP hint track can be inserted into a newly created ISO file by the authoring tool.
  • the HTTP hint track may be newly added to the existing ISO file by using a hinting tool, with little change in the existing ISO file structure.
  • an HTTP hint track switching technique for an ISO file including multiple media tracks is disclosed.
  • HTTP streaming service using the HTTP hint track can reduce the time required to download ISO files by reducing the size of the transmitted content file, and at the same time can reduce the amount of traffic on the IP network.
  • FIG. 5 is a block diagram illustrating an ISO file conversion process and an HTTP streaming providing process for the converted ISO file according to an embodiment of the present invention.
  • the file to be converted is an ISO file with non-interleaved media (ie video and audio, etc.) in mdat.
  • an interleaved ISO file is generated using the HTTP hint track.
  • an ISO file with non-interleaved media in mdat is converted to an ISO file with media interleaved in mdat.
  • the converted file is an ISO file with media interleaved in mdat.
  • an HTTP streaming service is provided for an ISO file with media interleaved in mdat.
  • Operation 520 provides an ISO file download with reduced playout latency at the client (ie, terminal). That is, a start of playback time point in the terminal receiving the ISO file through download may be shortened.
  • FIG. 6 is a block diagram illustrating a process of generating a quality adaptive ISO file using HTTP hint track switching and an HTTP streaming process of the generated ISO file according to an embodiment of the present invention.
  • the file to be converted is an ISO file with multiple A / V media tracks.
  • an interleaved ISO file is generated using the HTTP hint track.
  • an ISO file with multiple A / V media tracks is converted to a lightweight ISO file with adapted quality (ie, adaptive to the quality required by the terminal).
  • the converted lightweight ISO file is a quality adaptive file with a single A / V media track.
  • an HTTP streaming service is provided for a quality adaptive file with a single A / V media track.
  • Operation 620 provides for file download with reduced file size and transmission time.
  • operation 630 is performed. That is, operation 630 is performed when the client (ie, the terminal) requests a new quality during the HTTP streaming.
  • HTTP hint track switching is performed.
  • HTTP hint track switching is that of multiple HTTP hint tracks in an ISO file with multiple A / V media tracks, the HTTP hint track for generating a lightweight ISO file is changed.
  • the HTTP hint track for generating a lightweight ISO file is changed.
  • a lightweight ISO file is created that satisfies the new quality requested by the terminal during HTTP streaming.
  • Operation 630 continues to provide an HTTP streaming service for the lightweight ISO file that satisfies the new quality.
  • the size of the ISO file transmitted in the HTTP streaming service can be reduced in weight, the time required for downloading the ISO file can be shortened, and the amount of traffic in the IP network such as the Internet is reduced. Can be.
  • FIG. 7 illustrates a method of converting an ISO file of a non-interleaved storage method into an ISO file of an interleaved storage method using an HTTP hint track according to an embodiment of the present invention.
  • Original file 700 includes moov 710 and mdat 720.
  • the moov 710 includes a video track (VT) 712, an audio track (AT) 714, and an HTTP hint track (HT) 716.
  • VT video track
  • AT audio track
  • HTTP HTTP hint track
  • the picture track 712 refers to the n picture chunks 722.
  • Voice track 714 refers to n voice chunks 724.
  • the HTTP hint track 716 includes a sample table (stbl) box 730.
  • Sample table box 730 includes information related to temporal data location and spatial data location for HTTP hint samples 726 stored in mdat 720.
  • sample table box 730 (or HTTP hint track 716) refers to HTTP hint samples 726.
  • the sample data box 730 may include an HTTP chunk hink (CH) 732 that points to the HTTP hint samples 726.
  • CH HTTP chunk hink
  • mdat 720 includes n image chunks 722.
  • the n image chunks 722 include V1_chk_1 to V1_chk_n.
  • V1_chk_1 is the first video chunk
  • V1_chk_n is the nth video chunk.
  • mdat 720 includes n voice chunks 724.
  • the n voice chunks 724 include A1_chk_1 to A1_chk_n.
  • A1_chk_1 is the first voice chunk, and A1_chk_n is the nth voice chunk.
  • mdat 720 sequentially includes n video chunks and n audio chunks.
  • mdat 720 is A / V non-interleaved
  • original file 700 is a non-interleaved ISO file containing an HTTP hint track.
  • HTTP hint samples 726 includes n HTTP hint samples 726.
  • the HTTP hint sample includes a chunk offset (CO) and an HTTP chunk pointer (CP).
  • Each of the one or more HTTP hint samples 726 includes HTTP chunk pointer_1 (HTTP CP_1) to HTTP chunk pointer_n (HTTP CP_N).
  • HTTP chunk pointer_1 is the first HTTP chunk pointer
  • HTTP chunk ponter_n is the nth HTTP chunk pointer.
  • the unit of data size processed by the HTTP hint sample consists essentially of a pair of video chunks and audio chunks.
  • the i th HTTP chunk pointer points to the i th video chunk and the i th audio chunk. (1 ⁇ i ⁇ n)
  • the terminal provided with the HTTP streaming service may play at least one pair of A / V chunks.
  • a pair of video chunks and audio chunks are chunks for the same time duration. That is, a pair of A / V chunks is a data unit for reproduction.
  • a pair of A / V chunks is named as the HTTP chunk below.
  • the HTTP chunk may include picture chunks of each of the one or more videos.
  • the HTTP chunk may also include video chunks of each of the one or more audios.
  • a pair of A / V chunks belonging to the same time interval is referenced by the HTTP chunk pointer.
  • the HTTP hint track 716 is used to generate an interleaved ISO file 750 based on the original file 700.
  • Interleaved ISO file 750 includes moov 760 and mdat 770.
  • mdat 770 includes n HTTP chunks 772.
  • HTTP chunks include video chunks and audio chunks.
  • the i th video chunk included in the i th HTTP chunk is V1_chk_i of the original file 700.
  • the i th voice chunk included in the i th HTTP chunk is A1_chk_i of the original file 700.
  • the moov 760 includes an image track 762 and an audio track 764.
  • Video track 762 and audio track 764 refer to HTTP chunks 772, respectively.
  • the basic principle of operation for generating interleaved ISO file 750 is to use HTTP hint track 716 to identify (or read) a pair of A / V chunks belonging to the same time interval, Storing a pair of A / V chunks in an interleaved manner.
  • an HTTP chunk pointer indicating the positional information of the video chunk and audio chunk data to be read from the video track 712 and the audio track 714 is included in the mdat 720 of the HTTP hint track 716.
  • a new chunk offset which is the new chunk offset value required for interleaved ISO file 750, is included in mdat 720.
  • the notation of the video track 712 and the audio track 714 of the original ISO file 700 is V1 and A1.
  • the notation of the video track 762 and the audio track 764 of the interleaved ISO file 750 is V1 'and A1'. This change in notation is due to the chunk offset information of the original video track 712 and audio track 714 being changed by the new chunk offset information during the file conversion process based on the HTTP hint track.
  • HTTP hint track 716 need not be included in the converted ISO file 750, which is converted to an interleaved storage manner for HTTP streaming.
  • HTTP hint track 716 is removed within mdat 770.
  • FIG. 8 illustrates a method of generating a moov 760 through a transcoding procedure including deleting an HTTP hint track 716 and changing a chunk offset value according to an embodiment of the present invention.
  • the transcoding unit 810 includes an HTTP hint track remover 820 and a chunk offset converter 830.
  • the HTTP hint track remover 820 removes the HTTP hint track 716 in the moov 710 of the original file 700.
  • the chunk offset converter 830 calculates new chunk offsets for the chunk offsets of the original file 700. Chunk offsets may be stored in the chunk offset box (or 'stco' box) 840 of the A / V track recorded in moov 710 of the original file 700.
  • moov 760 of the ISO file 750 interleaved by the HTTP hint track remover 820 and the chunk offset converter 830 may be generated.
  • moov 760 of ISO file 750 includes video track 762 and audio track 764.
  • All of the processing of the method described with reference to FIGS. 7 and 8 may be performed in chunk units consisting of a plurality of samples rather than a sample unit of the media. Therefore, the complexity of the above processing is low.
  • video chunks are constructed by concatenating samples corresponding to a few seconds of time.
  • one chunk is generally constructed by grouping multiple groups of pictures (GOPs).
  • FIG. 9 illustrates a method of converting an ISO file of a non-interleaved storage method to an ISO file of an interleaved storage method using multiple HTTP hint tracks according to an embodiment of the present invention.
  • Original file 900 is similar to original file 700 of FIG. 7, but includes multiple media tracks 912, 914, and 916.
  • the multiple media tracks 912, 914, and 916 may be to support multiple bit rates and resolutions for the content in which the original file 900 appears.
  • the original file 900 is an ISO file that stores two video tracks 912 and 914 and one audio track 916 in a non-interleaved manner to support two kinds of video bit rates.
  • an HTTP streaming service can be provided that can selectively provide two kinds of image quality by utilizing image tracks 912 and 914 having different bit rates.
  • the original file 900 includes two HTTP hint tracks 922 and 924 to effectively implement an HTTP streaming service while selectively providing two kinds of video tracks.
  • HTTP hint track H1 922 is for conducting HTTP streaming using video track V1 912 and audio track A1 916
  • HTTP hint track H2 924 is for video track V2 914 and audio track A1. 916 for HTTP streaming.
  • Two interleaved ISO files 950 and 970 can be generated by using two HTTP hint tracks 922 and 924.
  • the two interleaved ISO files 950 and 970 have different qualities.
  • HTTP hint track H1 922 copies a pair of A / V chunks that make up the HTTP chunk from video track V1 912 and audio track A1 916, respectively.
  • HTTP hint track H2 924 copies a pair of A / V chunks that make up the HTTP chunk from video track V2 914 and audio track A1 916, respectively.
  • HTTP hint tracks 922 and 924 can be included in the original file 900 as much as the kind of multimedia quality that an ISO file containing multiple media tracks can support, and by these HTTP hint tracks 922 and 924 Multiple quality HTTP streaming services may be provided.
  • each HTTP hint track 922 or 924 For information about the average bit rage and maximum bit rate that each HTTP hint track 922 or 924 can support, see the 'avgbitrate' and 'in the Hint Media Header Box (hmhd) box. maxbitrate 'field. Accordingly, based on the avgbitrate and maxbitrate field information of the hmhd box, an HTTP hint track 922 or 924 may be selected, and HTTP streaming according to the selected HTTP hint track 922 or 924 may be performed. Can be.
  • FIG. 10 illustrates a method of generating a plurality of moovs through a transcoding procedure for an original file 900 including multiple HTTP hint tracks according to an embodiment of the present invention.
  • FIG. 10 shows how the moov of the first interleaved ISO file 950 is generated.
  • the bottom of FIG. 10 shows how the moov of the second interleaved ISO file 970 is generated.
  • the transcoding unit 1010 includes an HTTP hint track remover 1020, a media track remover 1030, and a chunk offset converter 1040.
  • the description of the transcoding unit 810 may be applied to the transcoding unit 1010.
  • the HTTP hint track remover 1020 is similar to the HTTP hint track remover 820 of FIG. 8.
  • the HTTP hint track remover 1020 removes the plurality of HTTP hint tracks 922 and 924 in the original file 900.
  • the media track remover 1020 removes a track 914 or 912 that will not be used in the interleaved ISO file 950 or 970 to be created among the multiple media tracks 912, 914, and 916 in the original file 900. do.
  • the chunk offset converter 1040 is similar to the chunk offset converter 830 of FIG. 8.
  • the chunk offset converter 1040 is a new chunk for the tracks 914 and 916 or 912 and 916 to be used in the interleaved ISO file 950 or 970 to be generated among the multiple media tracks 912, 914 and 916. Calculate the offsets.
  • Chunk offsets may be stored in the chunk offset box (or 'stco' box) 1050 of the A / V track recorded in the moov of the original file 900.
  • a separate chunk offset box can be used for each of the multiple media tracks 912, 914, and 916.
  • the original file 900 can be converted to an interleaved ISO file 950 or 970 only by removing the HTTP hint track, removing unnecessary media tracks, and changing the chunk offset value.
  • FIG. 11 illustrates a method of converting an interleaved storage ISO file into a lightweight interleaved storage ISO file using multiple HTTP hint tracks according to an embodiment of the present invention.
  • the method of converting an interleaved storage method into an ISO file using the HTTP hint track described above with reference to FIGS. 7 and 8 may be used even when the original file 1100 is an ISO file stored in an interleaved manner.
  • the first video track 1112, the second video track 1114 and the audio track 1116 are interleaved. That is, the video chunks of the first video track 1112, the video chunks of the second video track 1114, and the audio chunks of the audio track 1116 are interleaved and stored.
  • the HTTP chunk pointers of the first HTTP hint track 1122 indicate the interleaved first video chunk and audio chunk.
  • the HTTP chunk pointers of the second HTTP hint track 1124 indicate the interleaved second video chunk and audio chunk.
  • a pair of A / V chunks that make up an HTTP chunk can be identified by an HTTP chunk pointer.
  • the conversion method described above with reference to FIG. 9 may be applied to the original file 1100 of the interleaved storage method, and the above-described interleaved ISO files 950 and 970 may be generated.
  • FIG. 12 is a flowchart of a method for generating a lightweight ISO file of an interleaved storage method according to an embodiment of the present invention.
  • the original file is required to create a lightweight ISO file.
  • the original file may be the original files 700, 900, and 1100 of FIGS. 7, 9, and 11.
  • the original file may be a non-interleaved ISO file and may be a multitrack ISO file.
  • the original file contains an HTTP hint track.
  • Lightweight ISO files can be created by modifying the original file. That is, a lightweight ISO file can be created by removing HTTP hint tracks and unused media tracks from the original file and changing the chunk offset.
  • the original file includes one or more first video chunks, one or more first voice chunks, and one or more first HTTP chunk pointers.
  • HTTP hint tracks in the original file are removed.
  • the first HTTP hint tracks are removed so that the first HTTP chunk pointers referenced by the first HTTP hint track are removed.
  • Operation 1220 may optionally be executed when the original file is a multitrack ISO file.
  • the chunk offset is changed. Changing the chunk offset means that the first chunk offset is calculated.
  • the first chunk offset represents the new chunk offset described above with reference to FIG. 7. That is, an n th first chunk offset representing the position of the n th first HTTP chunk in the first lightweight ISO file is calculated.
  • HTTP chunks are configured by using an HTTP hint track.
  • Operation 1250 can include the following operations.
  • n th first video chunk of the first video chunks pointed to by the n th first HTTP chunk pointer of the first HTTP chunk pointers and the n th first voice chunk of the first audio chunks are identified. . n is a value equal to or greater than 1 and the number of first image chunks.
  • the n th first video chunk and the n th first voice chunk are determined as chunks to be included in the n th first HTTP chunk of the first HTTP chunks.
  • a first lightweight ISO file is created that sequentially includes one or more first HTTP chunks.
  • the operation of generating the first lightweight ISO file may include placing the nth first HTTP chunk in the first lightweight ISO file by using the nth first chunk offset.
  • the first lightweight ISO file is an interleaved file. That is, one or more first video chunks and one or more first audio chunks are sequentially interleaved within the first lightweight ISO file.
  • the first lightweight ISO file may be the interleaved ISO file 750, 950 or 970 described above.
  • the original file may include second video chunks.
  • the first image represented by the first image chunks and the second image represented by the second image chunks have different qualities (eg, bit rate or resolution).
  • the first image is an image having a quality corresponding to the quality requested for the first lightweight ISO file.
  • second image chunks that are not used for generation of the first lightweight ISO file may be removed from the original file.
  • the second lightweight file may be simultaneously or sequentially generated together with the first lightweight file by the method of generating the above-described interleaved storage type lightweight ISO file.
  • the n th video chunk of the second video chunks and the n th first voice chunk of the first voice chunks pointed to by the n th HTTP chunk pointer of the second HTTP chunk pointers. Is identified.
  • the n th second video chunk and the n th second voice chunk are determined as chunks to be included in the n th second HTTP chunk of the second HTTP chunks.
  • a second lightweight ISO file is created that sequentially includes one or more second HTTP chunks.
  • One or more second video chunks and the one or more second audio chunks are sequentially interleaved within a second lightweight ISO file.
  • FIG. 13 illustrates a method of generating interleaved ISO files for quality adaptive HTTP streaming service according to an embodiment of the present invention.
  • Interleaved ISO files are multimedia files provided by a streaming service. Accordingly, the present embodiment may represent a method for generating a multimedia file for a streaming service.
  • the server may provide the generated first interleaved ISO file 1350 to the terminal through an HTTP streaming service.
  • the first interleaved ISO file 1350 is generated by the first video track 1312 and the first audio track 1316 referenced by the HTTP chunk pointer of the HTTP hint track H1 1322.
  • the terminal may request a server to change the quality of the content provided by the HTTP streaming service.
  • the altered quality can be provided by HTTP hint track H2 1324. That is, the changed quality is provided by the second video track 1314 and the first audio track 1316 referenced by the HTTP chunk pointer of the HTTP hint track H2 1324.
  • the server generates the second interleaved ISO file 1370 using the HTTP hint track H2 1324 and transmits the generated second interleaved ISO file 1370 to the terminal through the HTTP streaming service.
  • the server sequentially sends a portion of the first interleaved ISO file 1350 (ie, HTTP chunks) generated to the terminal while generating the first interleaved ISO file 1350 to the terminal.
  • a portion of the first interleaved ISO file 1350 ie, HTTP chunks
  • the server sequentially sends a portion of the first interleaved ISO file 1350 (ie, HTTP chunks) generated to the terminal while generating the first interleaved ISO file 1350 to the terminal.
  • a portion of the first interleaved ISO file 1350 ie, HTTP chunks
  • the server While the server generates the first interleaved ISO file 1350, if a change in the quality of the content is requested from the terminal, the server switches the HTTP hint track for generating the interleaved ISO file (ie, the HTTP hint track H1).
  • the HTTP hint track for generating the ISO file is switched to the HTTP hint track H2 1324 at 1322.
  • Quality adaptive HTTP streaming by HTTP hint track switching can be performed by using the Track Selection (tsel) box of the standard ISO file format.
  • the HTTP hint tracks 1322 and 1324 can be set to one switching group by the tsel box.
  • the quality that the HTTP hint tracks 1322 and 1324 can provide may be provided to the server via attribute information.
  • the server can provide a quality adaptive HTTP streaming service through switching between HTTP hint tracks 1322 and 1324 providing various qualities.
  • HTTP chunks up to the k-1 th are transmitted to the terminal by the HTTP hint track H1 1322.
  • the first interleaved ISO file 1350 may include all (ie, n) HTTP chunks and may include only k-1th HTTP chunks.
  • the HTTP chunks generated by the HTTP hint track H2 1324 by the quality change request are transmitted to the terminal by the HTTP streaming service.
  • the quality change request may be sent from the terminal to the server via an HTTP Get request to download another alternative.
  • the second interleaved ISO file 1370 includes k th through n th HTTP chunks.
  • the original file 1300 In order for the HTTP hint track to be switched with chunk precision, the original file 1300 must be produced such that the first sample included in the chunks of the video track is an I-frame.
  • the image chunk is configured by grouping a plurality of GOPs corresponding to several seconds.
  • the first sample of the picture chunk begins with an I-frame.
  • FIG. 14 is a flowchart of a quality adaptive HTTP streaming service method according to an embodiment of the present invention.
  • the operations 1420 to 1475 may configure a streaming service transmission method performed by the server 1400 and a streaming service reception method performed by the terminal 1410.
  • a connection is established between the server 1400 and the terminal (ie, client) 1410 and the service is initiated.
  • the server 1400 transmits service description information to the terminal 1410.
  • the terminal 1410 selects a content file to be transmitted and a first quality of the content file.
  • the content file to be transferred is the first lightweight ISO file.
  • the first lightweight ISO file is a file with the selected first quality.
  • the terminal 1400 may generate first quality information indicating the quality of the first lightweight ISO file.
  • the terminal 1410 requests the server 1400 for the first lightweight ISO file.
  • the request may be an HTTP GET request.
  • the request for the first lightweight ISO file may include first quality information for the first lightweight ISO file.
  • the server 1400 receives a request for the first lightweight ISO file from the terminal.
  • the server 1400 generates a first lightweight ISO file based on the original file.
  • the first lightweight ISO file may be the interleaved ISO file 950 or 1350 described above. That is, the first lightweight ISO file is a lightweight ISO file created using the HTTP hint track.
  • the first lightweight ISO file includes one or more first video chunks and one or more first voice chunks, wherein the one or more first video chunks and one or more first voice chunks in the first lightweight ISO file are interleaved. Further, the first video chunks are chunks of the image corresponding to the first quality information, and the first audio chunks are chunks of the voice corresponding to the first quality information.
  • the server 1400 transmits the first lightweight ISO file to the terminal 1410.
  • the server 1400 may transmit the first lightweight ISO file to the terminal 1410 through HTTP streaming.
  • the terminal 1410 receives the first lightweight ISO file from the server 1400 through streaming.
  • the terminal 1410 plays the first lightweight ISO file.
  • the terminal 1410 may receive the first lightweight ISO file from the server 1400 through HTTP streaming and play the transmitted portion of the first lightweight ISO file.
  • the terminal 1410 detects a bottleneck. As the bottleneck is detected, the terminal 1410 selects another alternative quality. That is, the terminal 1410 selects a second quality of the content file based on the detected bottleneck.
  • the content file to be transferred is a second lightweight ISO file.
  • the second lightweight ISO file is a file with the selected second quality.
  • the terminal 1400 may generate second quality information indicating the quality of the second lightweight ISO file.
  • the terminal 1410 requests the server 1400 for the second lightweight ISO file.
  • the request may be an HTTP GET request.
  • the request for the second lightweight ISO file may include second quality information for the second lightweight ISO file.
  • the server 1400 generates a second lightweight ISO file based on the original file.
  • the second lightweight ISO file may be the interleaved ISO file 970 or 1370 described above. That is, the second lightweight ISO file is a lightweight ISO file generated using the HTTP hint track.
  • the second lightweight ISO file includes one or more second video chunks and one or more first voice chunks, wherein the one or more second video chunks and one or more first voice chunks in the second lightweight ISO file are interleaved. Also, the second video chunks are chunks of the image corresponding to the second quality information, and the first audio chunks are chunks of the voice corresponding to the second quality information.
  • the one or more first video chunks and the one or more second video chunks may be chunks having different qualities of the same content image (ie, the same content).
  • the one or more second video chunks are sent to the terminal 1410 by a streaming service of the first lightweight ISO file among the one or more first video chunks when a request for the second lightweight ISO file is received from the server 1400. It may be image chunks corresponding to untransmitted first image chunks that are not transmitted.
  • the one or more second voice chunks are received by the server 1400 when the request for the second lightweight ISO file is received by the server 1400 by the streaming service of the first lightweight ISO file among the one or more first voice chunks.
  • the server 1400 transmits the second lightweight ISO file to the terminal 1410.
  • the server 1400 may transmit the second lightweight ISO file to the terminal 1410 through HTTP streaming.
  • the terminal 1410 receives the second lightweight ISO file from the server 1400 through streaming.
  • the terminal 1410 plays the second lightweight ISO file.
  • the terminal 1410 may receive the second lightweight ISO file from the server 1400 through HTTP streaming and play the transmitted portion of the second lightweight ISO file.
  • the terminal 1410 may reproduce the portion after the specific point of the first lightweight ISO file reproduced in operation 1445 using the second lightweight ISO file. That is, since the first lightweight ISO file and the second lightweight ISO file are sequentially played, the content selected in operation 1425 may be continuously played while the quality is switched.
  • the terminal 1410 can shorten the time required for downloading the content. In addition, the traffic amount of the IP network can be reduced.
  • FIG. 15 is a structural diagram of a server 1400 according to an embodiment of the present invention.
  • the server 1400 is a streaming service transmitter that performs the streaming service transmission method described above with reference to FIG. 14.
  • the server 1400 may generate a lightweight ISO file. Therefore, the server 1400 is a multimedia file generating apparatus for the streaming service.
  • the server 1400 includes a receiver 1510, a lightweight ISO file generator 1520, and a transmitter 1530.
  • the receiver 1510 receives information from the terminal 1410. For example, the receiver 1510 receives information for connection establishment and service initialization from the terminal 1410, and receives a request for a first lightweight ISO file and a request for a second lightweight ISO file.
  • the transmitter 1530 transmits information to the terminal 1410. For example, the transmitter 1530 transmits information for connection establishment and service initialization to the terminal 1410, and transmits a first lightweight ISO file and a second lightweight ISO file to the terminal 1410.
  • the lightweight ISO file generator 1520 generates a first lightweight ISO file and a second lightweight ISO file based on the original file.
  • the lightweight ISO file generator 1520 may be a device for generating a lightweight ISO file.
  • the lightweight ISO file generator 1520 is a first lightweight ISO file of an interleaved storage method using an original file including first video chunks, one or more first voice chunks, and one or more first HTTP chunk pointers. Can be generated.
  • the lightweight ISO file generator 1520 is a second lightweight type of storage method interleaved using an original file including second image chunks, one or more first voice chunks, and one or more second HTTP chunk pointers. You can create an ISO file.
  • the lightweight ISO file generation unit 1520 may include an HTTP chunk identification unit 1540, an HTTP chunk determination unit 1550, and a file generation unit 1560.
  • the HTTP chunk identifier 1540 performs the operation 1252 described above.
  • the HTTP chunk identification unit 1540 may include the n th first video chunk and the n th first voice among the first video chunks indicated by the n th first HTTP chunk pointer among the first HTTP chunk pointers. Identifies the chunk.
  • the HTTP chunk identification unit 1540 may include the n th video chunk among the second video chunks indicated by the n th HTTP chunk pointer among the second HTTP chunk pointers, and the n th voice among the first voice chunks. Identifies the chunk.
  • the HTTP chunk determiner 1550 performs the operation 1254 described above. For example, the HTTP chunk determiner 1550 determines the n th first video chunk and the n th first voice chunk as chunks to be included in the n th first HTTP chunk among the first HTTP chunks. In addition, the HTTP chunk determiner 1550 determines the n-th second video chunk and the n-th first audio chunk as chunks to be included in the n-th second HTTP chunk among the second HTTP chunks.
  • the file generator 1560 performs the above-described operation 1260. For example, the file generator 1560 generates a first lightweight ISO file that sequentially includes one or more first HTTP chunks. In addition, the file generator 1560 generates a second lightweight ISO file that sequentially includes one or more second HTTP chunks.
  • the file generator 1560 sequentially interleaves one or more first video chunks and one or more first audio chunks in the first lightweight ISO file. In addition, the file generator 1560 sequentially interleaves one or more second image chunks and one or more first audio chunks in the second lightweight ISO file.
  • the lightweight ISO file generator 1520 may further include an HTTP hint track remover 1570, an unused media track remover 1580, and a chunk offset converter 1590.
  • the HTTP hint track remover 1570 performs the above-described operation 1210.
  • the HTTP hint track remover 1570 may be an HTTP hint track remover 820 or 1020.
  • the unused media track remover 1580 performs the operation 1220 described above.
  • the unused media track remover 1580 may be a media track remover 1030.
  • the chunk offset converter 1590 performs the above-described operation 1230.
  • the chunk offset changer 1590 may be a chunk offset converter 830 or 1040.
  • FIG. 16 illustrates a sample description box 1600 according to an embodiment of the present invention.
  • http 1610 is a sample entry name for the HTTP hint track.
  • Hinttrack version 1620 is a value set to 1 to indicate the version of the current hint track.
  • the highest compatible version 1630 is a value set to 1 to indicate the version of the oldest hint track for which the current hint track supports backward-compatibility.
  • Additional data 1640 indicates a box displayed as shown in FIG. 16.
  • 17 illustrates additional data 1640 according to an embodiment of the present invention.
  • New moov offset (new_moov_offset) 1610 This indicates the size of the moov of the newly created ISO file with interleaved storage.
  • new_moov_offset 1710 is used as offset information on the size of moov to be considered when changing the value of the chunk offset of the media track.
  • FIG. 18 illustrates a sample format 1800 in an HTTP hint track according to an example of the present invention.
  • the sample in the HTTP hint track produces an HTTP chunk that combines the chunks stored in the plurality of media tracks into one.
  • the chunk count 1810 indicates the number of HTTP chunks generated.
  • Chunks 1820 mean the generated HTTP chunks.
  • the chunks 1820 are generated as many as the chunkcount 1810 represents.
  • FIG. 19 illustrates a packet entry format 1900 according to an example of the present invention.
  • Each HTTP chunk is created according to the structure of the HTTP chunk 1910.
  • Entry count (entry_count) 1920 indicates the number of entries in the table following HTTPchunk 1910.
  • FIG. 20 illustrates a constructor format 2000 according to an embodiment of the present invention.
  • the trackref index 2010 indicates information of a media track to be referred to in order to obtain chunk data of the media through copying.
  • the length 2020 indicates the length of a media chunk to be copied and obtained in bytes.
  • Sample number 2030 indicates the number of the sample located at the start of the media chunk to be copied and taken.
  • Chunkoffset 2040 indicates how far from the beginning of the file the starting point of the media chunk to be copied and retrieved in bytes.
  • the new chunk offset (new_chunk_offset) 2050 indicates how far away the copied chunks are from the start of the mdat in bytes when the copied chunks are stored in the mdat of the interleaved storage ISO file.
  • new_moov_offset 1610 and new_chunk_offset 2050 By calculating the sum of new_moov_offset 1610 and new_chunk_offset 2050, a new chunk offset value to be recorded in the stco box of the media track included in the lightweight ISO file of the interleaved storage method can be quickly calculated.
  • Method according to an embodiment of the present invention is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The present invention relates to an apparatus and method for transmitting and receiving a streaming service. The apparatus and method for transmitting and receiving a streaming service involve using a lightweight multimedia file suitable for HTTP streaming. An ISO file that is created by a non-interleaved storage method unsuitable for an HTTP streaming service can be converted, using an HTTP hint track, into a file of an interleaved storage method suitable for an HTTP streaming service. The ISO file may contain multimedia tracks for supporting multiple bit rates and resolutions. Chuck data of media tracks, which provide multiple multimedia qualities, can be efficiently acquired, and the acquired chuck data is stored in an interleaved method, thereby generating a lightweight ISO file suitable for an HTTP streaming service.

Description

스트리밍 서비스 송/수신 장치 및 방법Streaming service transmission and reception device and method
본 발명은 스트리밍 서비스 송/수신 장치 및 방법에 관한 것으로, 더 상세하게는 HTTP 스트리밍 서비스 송/수신 장치 및 방법에 관한 것이다.The present invention relates to a streaming service transmission and reception apparatus and method, and more particularly to an HTTP streaming service transmission and reception apparatus and method.
HTTP(Hyper Text Transfer Protocol) 스트리밍 서비스에서, 단말은 콘텐츠 파일에 대한 다운로드를 요청하기 위해 HTTP를 이용한다. 서버는 다운로드 요청에 대한 응답으로써, TCP(transmission control protocol)를 이용하여, 단말로 요청받은 콘텐츠 파일을 전달한다.In a Hyper Text Transfer Protocol (HTTP) streaming service, a terminal uses HTTP to request a download of a content file. As a response to the download request, the server delivers the requested content file to the terminal using a transmission control protocol (TCP).
콘텐츠 파일은 ISO 기반 미디어 파일 포멧(ISO base media file format)을 사용하는 것일 수 있다.The content file may be an ISO base media file format.
ISO 기반 미디어 파일 포멧을 사용하는 콘텐츠 파일은 다중 비트율 및 해상도를 지원하기 위해, 다중 미디어 트랙(track)들을 포함할 수 있다.A content file using the ISO Base Media File Format may include multiple media tracks to support multiple bit rates and resolutions.
다중 미디어 트랙들을 포함하는 ISO 기반 미디어 파일 포멧 기반의 콘텐츠 파일은 HTTP 힌트 트랙을 사용한다.Content files based on ISO-based media file formats that include multiple media tracks use HTTP hint tracks.
콘텐츠 파일의 힌트 트랙을 활용한 HTTP 스트리밍 서비스는 전송되는 콘텐츠 파일의 경량화할 수 있다. 콘텐츠 파일의 경량화는 파일의 다운로드에 소요되는 시간을 단축시키면서, 인터넷과 같은 IP 망에서의 트래픽 량을 감소시킬 수 있다.An HTTP streaming service that utilizes a hint track of a content file can reduce the weight of the transmitted content file. The lightening of the content file can reduce the amount of traffic in the IP network such as the Internet while reducing the time required for downloading the file.
따라서, 단말 및 서버는 HTTP 힌트 트랙을 사용함으로써 품질 적응적(quality adaptive) HTTP 스트리밍 서비스를 효과적으로 제공할 수 있다.Accordingly, the terminal and the server can effectively provide a quality adaptive HTTP streaming service by using the HTTP hint track.
본 발명의 일 실시에는 비-인터리브된 저장 방식으로 제작된 ISO 파일을 HTTP 스트리밍 서비스에 효과적인 인터리브된 저장 방식의 ISO 파일로 변환하는 장치 및 방법을 제공할 수 있다.An embodiment of the present invention may provide an apparatus and method for converting an ISO file produced by a non-interleaved storage method into an ISO file of an interleaved storage method effective for an HTTP streaming service.
본 발명의 일 실시에는 다중 비트율과 해상도를 지원하기 위해 다중 미디어 트랙들을 포함하는 ISO 파일에 대한 품질 적응적 HTTP 스트리밍 서비스를 제공하는 장치 및 방법을 제공할 수 있다.An embodiment of the present invention may provide an apparatus and method for providing a quality adaptive HTTP streaming service for an ISO file including multiple media tracks to support multiple bit rates and resolutions.
발명의 일 측에 따르면, 제1 경량형 ISO 파일에 대한 요청을 단말로부터 수신하는 동작, 원본 파일에 기반하여 제1 경량형 ISO 파일을 생성하는 동작 및 상기 제1 경량형 ISO 파일을 스트리밍을 통해 상기 단말로 전송하는 동작을 포함하고, 상기 제1 경량형 ISO 파일은 하나 이상의 제1 영상 청크들 및 하나 이상의 제1 본 음성 청크들을 포함하며, 상기 제1 경량형 ISO 파일 내의 상기 하나 이상의 제1 영상 청크들 및 상기 하나 이상의 제1 음성 청크들은 인터리브된, 스트리밍 서비스 송신 방법이 제공된다. According to an aspect of the present invention, an operation for receiving a request for a first lightweight ISO file from a terminal, an operation for generating a first lightweight ISO file based on an original file, and the first lightweight ISO file through streaming And transmitting to the terminal, wherein the first lightweight ISO file comprises one or more first video chunks and one or more first bone voice chunks, and the one or more first in the first lightweight ISO file. The video chunks and the one or more first voice chunks are interleaved and a streaming service transmission method is provided.
상기 제1 경량형 ISO 파일에 대한 요청은 상기 제1 경량형 ISO 파일에 대한 제1 품질 정보를 포함할 수 있다. 상기 제1 영상 청크들은 상기 제1 품질 정보에 대응하는 영상의 청크들일 수 있고, 상기 제1 음성 청크들은 상기 제1 품질 정보에 대응하는 음성의 청크들일 수 있다.The request for the first lightweight ISO file may include first quality information for the first lightweight ISO file. The first video chunks may be chunks of an image corresponding to the first quality information, and the first voice chunks may be chunks of a voice corresponding to the first quality information.
상기 원본 파일에 기반하여 제1 경량형 ISO 파일을 생성하는 동작은, 상기 원본 파일에 포함된 제1 HTTP 청크 포인터들 중 n 번째 제1 HTTP 청크 포인터가 가리키는 상기 제1 영상 청크들 중 n 번째 제1 영상 청크 및 상기 제1 음성 청크들 중 n 번째 제1 음성 청크를 식별하는 동작 - n은 1 이상 제1 영상 청크들의 개수 이하의 값임 -, 상기 n 번째 제1 영상 청크 및 상기 n 번째 제1 음성 청크를 제1 HTTP 청크들 중 n 번째 제1 HTTP 청크에 포함될 청크로 결정하는 동작 - 및 상기 하나 이상의 제1 HTTP 청크들을 순차적으로 포함하는 제1 경량형 ISO 파일을 생성하는 동작 - 상기 하나 이상의 제1 영상 청크들 및 상기 하나 이상의 제1 음성 청크들은 상기 제1 경량형 ISO 파일 내에 순차적으로 인터리브로 배치됨 - 을 포함하는, 스트리밍 서비스 송신 방법이 제공된다.The generating of the first lightweight ISO file based on the original file comprises: an nth one of the first image chunks indicated by an nth HTTP chunk pointer among first HTTP chunk pointers included in the original file. Identifying an n th first audio chunk of a first video chunk and the first audio chunks, where n is a value greater than or equal to the number of first video chunks; and the n th first video chunk and the n th first chunk. Determining a voice chunk as a chunk to be included in the nth first HTTP chunk of the first HTTP chunks; and generating a first lightweight ISO file that sequentially includes the one or more first HTTP chunks; And first video chunks and the one or more first voice chunks are sequentially interleaved within the first lightweight ISO file.
상기 원본 파일에 기반하여 제1 경량형 ISO 파일을 생성하는 동작은, 상기 제1 경량형 ISO 파일 내에서의 상기 n 번째 HTTP 청크의 위치를 나타내는 n 번째 청크 옵셋을 계산하는 동작을 더 포함할 수 있고, 상기 제1 경량형 ISO 파일을 생성하는 동작은 상기 n 번째 청크 옵셋을 사용함으로써 상기 n 번째 HTTP 청크를 상기 제1 경량형 ISO 파일 내에 배치할 수 있다.Generating a first lightweight ISO file based on the original file may further include calculating an nth chunk offset indicative of the location of the nth HTTP chunk in the first lightweight ISO file. The generating of the first lightweight ISO file may include placing the nth HTTP chunk in the first lightweight ISO file by using the nth chunk offset.
상기 스트리밍 서비스 송신 방법은, 제2 경량형 ISO 파일에 대한 요청을 상기 단말로부터 수신하는 동작, 상기 원본 파일에 기반하여 제2 경량형 ISO 파일을 생성하는 동작 및 상기 제2 경량형 ISO 파일을 스트리밍을 통해 상기 단말로 전송하는 동작을 더 포함할 수 있고, 상기 제2 경량형 ISO 파일은 하나 이상의 제2 영상 청크들 및 하나 이상의 제2 음성 청크들을 포함할 수 있고, 상기 제2 경량형 ISO 파일 내의 상기 하나 이상의 제2 영상 청크들 및 상기 하나 이상의 제2 음성 청크들은 인터리브될 수 있다.The streaming service transmitting method may further include receiving a request for a second lightweight ISO file from the terminal, generating a second lightweight ISO file based on the original file, and streaming the second lightweight ISO file. The method may further include transmitting to the terminal through the second lightweight ISO file, the second lightweight ISO file may include one or more second video chunks and one or more second audio chunks, and the second lightweight ISO file. The one or more second video chunks and the one or more second voice chunks within may be interleaved.
상기 하나 이상의 제2 영상 청크들은 상기 제2 경량형 ISO 파일에 대한 요청이 수신되었을 때 상기 하나 이상의 제1 영상 청크들 중 상기 제1 경량형 ISO 파일의 스트리밍 서비스에 의해 상기 단말로 전송되지 않은 미전송된 제1 영상 청크들에 대응하는 영상 청크들일 수 있고, 상기 하나 이상의 제2 음성 청크들은 상기 제2 경량형 ISO 파일에 대한 요청이 수신되었을 때 상기 하나 이상의 제1 음성 청크들 중 상기 제1 경량형 ISO 파일의 스트리밍 서비스에 의해 상기 단말로 전송되지 않은 미전송된 제1 영상 음성들에 대응하는 영상 청크들일 수 있다.The one or more second video chunks are not transmitted to the terminal by a streaming service of the first lightweight ISO file among the one or more first video chunks when a request for the second lightweight ISO file is received. Video chunks corresponding to the first video chunks transmitted, wherein the one or more second voice chunks are the first of the one or more first voice chunks when a request for the second lightweight ISO file is received. The video chunks may correspond to untransmitted first video voices which are not transmitted to the terminal by a streaming service of a lightweight ISO file.
상기 제1 경량형 ISO 파일에 대한 요청은 상기 제1 경량형 ISO 파일에 대한 제1 품질 정보를 포함할 수 있고, 상기 제2 경량형 ISO 파일에 대한 요청은 상기 제2 경량형 ISO 파일에 대한 제2 품질 정보를 포함할 수 있고, 상기 제1 영상 청크들은 상기 제1 품질 정보에 대응하는 영상의 청크들일 수 있고, 상기 제2 영상 청크들은 상기 제2 품질 정보에 대응하는 영상의 청크들일 수 있고, 상기 제1 음성 청크들은 상기 제1 품질 정보에 대응하는 음성의 청크들일 수 있고, 상기 제2 음성 청크들은 상기 제2 품질 정보에 대응하는 음성의 청크들일 수 있다.The request for the first lightweight ISO file may include first quality information for the first lightweight ISO file, and the request for the second lightweight ISO file may be for the second lightweight ISO file. The first image chunks may include chunks of an image corresponding to the first quality information, and the second image chunks may be chunks of an image corresponding to the second quality information. And the first voice chunks may be chunks of voice corresponding to the first quality information, and the second voice chunks may be chunks of voice corresponding to the second quality information.
상기 하나 이상의 제1 영상 청크들 및 상기 하나 이상의 제2 영상 청크들은 동일한 내용의 영상의 상이한 품질을 갖는 청크들일 수 있다.The one or more first image chunks and the one or more second image chunks may be chunks having different qualities of an image of the same content.
상기 원본 파일에 기반하여 제2 경량형 ISO 파일을 생성하는 동작은, 상기 원본 파일에 포함된 제2 HTTP 청크 포인터들 중 n 번째 제2 HTTP 청크 포인터가 가리키는 상기 제2 영상 청크들 중 n 번째 제2 영상 청크 및 상기 제2 음성 청크들 중 n 번째 제2 음성 청크를 식별하는 동작 - n은 m 이상 제2 영상 청크들의 개수 이하의 값임, m은 상기 제2 경량형 ISO 파일에 대한 요청이 수신되었을 때 상기 제1 경량형 ISO 파일 내의 상기 하나 이상의 제1 영상 청크 중 스트리밍 서비스를 통해 상기 단말로 전송되지 않은 최초의 상기 제1 영상 청크의 인덱스임 -, 상기 n 번째 제2 영상 청크 및 상기 n 번째 제2 음성 청크를 제2 HTTP 청크들 중 n 번째 제2 HTTP 청크에 포함될 청크로 결정하는 동작 및 상기 하나 이상의 제2 HTTP 청크들을 순차적으로 포함하는 제2 경량형 ISO 파일을 생성하는 동작 - 상기 하나 이상의 제2 영상 청크들 및 상기 하나 이상의 제2 음성 청크들은 상기 제2 경량형 ISO 파일 내에 순차적으로 인터리브로 배치됨 - 을 포함할 수 있다.The generating of the second lightweight ISO file based on the original file comprises: an nth one of the second image chunks indicated by an nth HTTP chunk pointer among second HTTP chunk pointers included in the original file. Identifying an nth second audio chunk of the second video chunk and the second audio chunks, wherein n is a value greater than m and less than or equal to the number of second video chunks, and m is a request for the second lightweight ISO file. Is the index of the first first video chunk that was not transmitted to the terminal via a streaming service of the one or more first video chunks in the first lightweight ISO file when the n th second video chunk and the n Determining a second second voice chunk as a chunk to be included in an nth second HTTP chunk of second HTTP chunks and generating a second lightweight ISO file that sequentially includes the one or more second HTTP chunks. And the one or more second video chunks and the one or more second voice chunks are sequentially interleaved within the second lightweight ISO file.
본 발명의 다른 일 측에 따르면, 제1 경량형 ISO 파일에 대한 요청을 단말로부터 수신하는 수신부, 원본 파일에 기반하여 제1 경량형 ISO 파일을 생성하는 경량형 ISO 파일 생성부 및 상기 제1 경량형 ISO 파일을 스트리밍을 통해 상기 단말로 전송하는 전송부를 포함하고, 상기 경량형 ISO 파일 생성부는 상기 제1 경량형 ISO 파일 내에 하나 이상의 제1 영상 청크들 및 하나 이상의 제1 음성 청크들을 인터리브로 포함시키는, 스트리밍 서비스 송신 장치가 제공된다.According to another aspect of the present invention, a receiving unit for receiving a request for a first lightweight ISO file from the terminal, a lightweight ISO file generation unit for generating a first lightweight ISO file based on the original file and the first lightweight A transmission unit for transmitting a type ISO file to the terminal through streaming, and the light weight ISO file generating unit interleaving one or more first video chunks and one or more first voice chunks in the first light weight ISO file. A streaming service transmission apparatus is provided.
본 발명의 또 다른 일 측에 따르면, 제1 경량형 ISO 파일에 대한 요청을 서버로 전송하는 동작, 원본 파일에 기반하여 생성된 제1 경량형 ISO 파일을 스트리밍을 통해 상기 서버로부터 수신하는 동작, 제2 경량형 ISO 파일에 대한 요청을 상기 서버로 전송하는 동작 및 상기 원본 파일에 기반하여 생성된 제2 경량형 ISO 파일을 스트리밍을 통해 상기 서버로부터 수신하는 동작을 포함하고, 상기 제1 경량형 ISO 파일은 하나 이상의 제1 영상 청크들 및 하나 이상의 제1 음성 청크들을 포함하며, 상기 제2 경량형 ISO 파일은 하나 이상의 제2 영상 청크들 및 하나 이상의 제2 음성 청크들을 포함하며, 상기 제1 경량형 ISO 파일 내의 상기 하나 이상의 제1 영상 청크들 및 상기 하나 이상의 제1 음성 청크들은 인터리브되고, 상기 제2 경량형 ISO 파일 내의 상기 하나 이상의 제2 영상 청크들 및 상기 하나 이상의 제2 음성 청크들은 인터리브된, 스트리밍 서비스 수신 방법이 제공된다.According to another aspect of the invention, the operation for transmitting a request for a first lightweight ISO file to the server, receiving the first lightweight ISO file generated based on the original file from the server through streaming, Transmitting a request for a second lightweight ISO file to the server, and receiving a second lightweight ISO file generated based on the original file from the server through streaming, wherein the first lightweight ISO file includes: The ISO file includes one or more first video chunks and one or more first voice chunks, and the second lightweight ISO file includes one or more second video chunks and one or more second voice chunks, wherein the first The one or more first video chunks and the one or more first voice chunks in a lightweight ISO file are interleaved and the one or more in the second lightweight ISO file. Second video chunks and audio chunks have at least one second is provided with interleaved, streaming service reception method.
상기 스트리밍 서비스 수신 방법은, 상기 제1 경량형 ISO 파일에 대한 품질을 나타내는 제1 품질 정보를 생성하는 동작 및 상기 제2 경량형 ISO 파일에 대한 품질을 나타내는 제2 품질 정보를 생성하는 동작을 더 포함할 수 있고,상기 제1 경량형 ISO 파일에 대한 요청은 상기 제1 품질 정보를 포함할 수 있고, 상기 제2 경량형 ISO 파일에 대한 요청은 상기 제2 품질 정보를 포함할 수 있고, 상기 제1 영상 청크들은 상기 제1 품질 정보에 대응하는 영상의 청크들일 수 있고, 상기 제2 영상 청크들은 상기 제2 품질 정보에 대응하는 영상의 청크들일 수 있고, 상기 제1 음성 청크들은 상기 제1 품질 정보에 대응하는 음성의 청크들일 수 있고, 상기 제2 음성 청크들은 상기 제2 품질 정보에 대응하는 음성의 청크들일 수 있다.The streaming service receiving method may further include generating first quality information indicating quality of the first lightweight ISO file and generating second quality information indicating quality of the second lightweight ISO file. The request for the first lightweight ISO file may include the first quality information, The request for the second lightweight ISO file may include the second quality information, First image chunks may be chunks of an image corresponding to the first quality information, the second image chunks may be chunks of an image corresponding to the second quality information, and the first audio chunks may be the first audio chunks. Voice chunks corresponding to quality information, and the second voice chunks may be chunks of voice corresponding to the second quality information.
본 발명의 또 다른 일 측에 따르면, 제1 경량형 ISO 파일에 대한 요청을 서버로 전송하는 동작, 원본 파일에 기반하여 생성된 제1 경량형 ISO 파일을 스트리밍을 통해 상기 서버로부터 수신하는 동작, 제2 경량형 ISO 파일에 대한 요청을 상기 서버로 전송하는 동작 및 상기 원본 파일에 기반하여 생성된 제2 경량형 ISO 파일을 스트리밍을 통해 상기 서버로부터 수신하는 동작을 수행하고, 상기 제1 경량형 ISO 파일은 하나 이상의 제1 영상 청크들 및 하나 이상의 제1 음성 청크들을 포함하며, 상기 제2 경량형 ISO 파일은 하나 이상의 제2 영상 청크들 및 하나 이상의 제2 음성 청크들을 포함하며, 상기 제1 경량형 ISO 파일 내의 상기 하나 이상의 제1 영상 청크들 및 상기 하나 이상의 제1 음성 청크들은 인터리브되고, 상기 제2 경량형 ISO 파일 내의 상기 하나 이상의 제2 영상 청크들 및 상기 하나 이상의 제2 음성 청크들은 인터리브된, 스트리밍 서비스 수신 장치가 제공된다.According to another aspect of the invention, the operation for transmitting a request for a first lightweight ISO file to the server, receiving the first lightweight ISO file generated based on the original file from the server through streaming, Transmitting a request for a second lightweight ISO file to the server and receiving a second lightweight ISO file generated based on the original file from the server through streaming; The ISO file includes one or more first video chunks and one or more first voice chunks, and the second lightweight ISO file includes one or more second video chunks and one or more second voice chunks, wherein the first The one or more first video chunks and the one or more first voice chunks in a lightweight ISO file are interleaved and the one or more in the second lightweight ISO file. Second video chunks and audio chunks have at least one second is provided with an interleaved streaming service receiver.
상기 스트리밍 서비스 수신 장치는, 상기 제1 경량형 ISO 파일에 대한 품질을 나타내는 제1 품질 정보를 생성하는 동작 및 상기 제2 경량형 ISO 파일에 대한 품질을 나타내는 제2 품질 정보를 생성하는 동작을 더 수행할 수 있고, 상기 제1 경량형 ISO 파일에 대한 요청은 상기 제1 품질 정보를 포함할 수 있고, 상기 제2 경량형 ISO 파일에 대한 요청은 상기 제2 품질 정보를 포함할 수 있고, 상기 제1 영상 청크들은 상기 제1 품질 정보에 대응하는 영상의 청크들일 수 있고, 상기 제2 영상 청크들은 상기 제2 품질 정보에 대응하는 영상의 청크들일 수 있고, 상기 제1 음성 청크들은 상기 제1 품질 정보에 대응하는 음성의 청크들일 수 있고, 상기 제2 음성 청크들은 상기 제2 품질 정보에 대응하는 음성의 청크들일 수 있다.The streaming service receiving apparatus further includes generating first quality information indicating quality of the first lightweight ISO file and generating second quality information indicating quality of the second lightweight ISO file. Perform the request for the first lightweight ISO file may include the first quality information, the request for the second lightweight ISO file may include the second quality information, and First image chunks may be chunks of an image corresponding to the first quality information, the second image chunks may be chunks of an image corresponding to the second quality information, and the first audio chunks may be the first audio chunks. Voice chunks corresponding to quality information, and the second voice chunks may be chunks of voice corresponding to the second quality information.
본 발명의 또 다른 일 측에 따르면, 하나 이상의 제1 영상 청크들, 하나 이상의 제1 음성 청크들 및 하나 이상의 제1 HTTP 청크 포인터들을 포함하는 원본 파일을 사용하여 스트리밍 서비스를 위한 멀티미더어 파일을 생성하는 방법에 있어서, 상기 제1 HTTP 청크 포인터들 중 n 번째 제1 HTTP 청크 포인터가 가리키는 상기 제1 영상 청크들 중 n 번째 제1 영상 청크 및 상기 제1 음성 청크들 중 n 번째 제1 음성 청크를 식별하는 동작 - n은 1 이상 제1 영상 청크들의 개수 이하의 값임 -, 상기 n 번째 제1 영상 청크 및 상기 n 번째 제1 음성 청크를 제1 HTTP 청크들 중 n 번째 제1 HTTP 청크에 포함될 청크로 결정하는 동작 - 및 상기 하나 이상의 제1 HTTP 청크들을 순차적으로 포함하는 제1 경량형 ISO 파일을 생성하는 동작 - 상기 하나 이상의 제1 영상 청크들 및 상기 하나 이상의 제1 음성 청크들은 상기 제1 경량형 ISO 파일 내에 순차적으로 인터리브로 배치됨 - 을 포함하는, 스트리밍 서비스를 위한 멀티미디어 파일 생성 방법이 제공된다.According to another aspect of the present invention, a multimedia file for a streaming service is created by using an original file including one or more first video chunks, one or more first voice chunks, and one or more first HTTP chunk pointers. The method of claim 1, wherein the n th first video chunk of the first video chunks and the n th first voice chunk of the first voice chunks indicated by the n th first HTTP chunk pointer of the first HTTP chunk pointers. Identify n, wherein n is a value equal to or greater than 1 or more than the number of first video chunks, and wherein the n-th first video chunk and the n-th first audio chunk are included in the n-th first HTTP chunk of the first HTTP chunks. Determining as a chunk-and generating a first lightweight ISO file that sequentially includes the one or more first HTTP chunks-the one or more first video chunks and the one or more First audio chunks are placed in the first interleave sequentially in one lightweight ISO file - the multimedia file producing method for a streaming service is provided comprising a.
상기 스트리밍 서비스를 위한 멀티미디어 파일 생성 방법은, 상기 제1 경량형 ISO 파일 내에서의 상기 n 번째 제1 HTTP 청크의 위치를 나타내는 n 번째 제1 청크 옵셋을 계산하는 동작을 더 포함할 수 있고, 상기 제1 경량형 ISO 파일을 생성하는 동작은 상기 n 번째 제1 청크 옵셋을 사용함으로써 상기 n 번째 제1 HTTP 청크를 상기 제1 경량형 ISO 파일 내에 배치할 수 있다.The multimedia file generating method for the streaming service may further include calculating an n th first chunk offset indicating a position of the n th first HTTP chunk in the first lightweight ISO file. The operation of generating a first lightweight ISO file may arrange the nth first HTTP chunk in the first lightweight ISO file by using the nth first chunk offset.
상기 스트리밍 서비스를 위한 멀티미디어 파일 생성 방법은, 상기 원본 파일로부터 상기 제1 HTTP 청크 포인터들을 제거하는 동작을 더 포함할 수 있고, 상기 제1 경량형 ISO 파일은 상기 원본 파일을 수정함으로써 생성될 수 있다.The method for generating a multimedia file for the streaming service may further include removing the first HTTP chunk pointers from the original file, and the first lightweight ISO file may be generated by modifying the original file. .
상기 제1 경량형 ISO 파일은 moov 박스 및 mdat 박스를 포함할 수 있고, 상기 mdat 박스는 상기 제1 HTTP 청크들을 포함할 수 있고, 상기 moov 박스는 제1 영상 트랙 및 제1 음성 트랙을 포함할 수 있고, 상기 제1 영상 트랙 및 상기 제1 음성 트랙은 상기 제1 HTTP 청크들을 참조할 수 있다.The first lightweight ISO file may include a moov box and an mdat box, the mdat box may include the first HTTP chunks, and the moov box may include a first video track and a first audio track. The first video track and the first audio track may refer to the first HTTP chunks.
상기 원본 파일은 moov 박스 및 mdat 박스를 포함할 수 있고, 상기 mdat 박스는 상기 제1 영상 청크들 및 상기 제1 음성 청크들을 포함할 수 있고, 상기 moov 박스는 제1 영상 트랙, 제1 음성 트랙 및 제1 HTTP 힌트 트랙을 포함할 수 있고, 상기 제1 영상 트랙은 상기 제1 영상 청크들을 참조할 수 있고, 상기 제1 음성 트랙은 상기 제1 음성 청크들을 참조할 수 있고, 상기 제1 HTTP 힌트 트랙은 상기 청크 옵셋들을 참조할 수 있다.The original file may include a moov box and an mdat box, wherein the mdat box may include the first video chunks and the first audio chunks, and the moov box includes a first video track and a first audio track. And a first HTTP hint track, wherein the first video track may refer to the first video chunks, the first voice track may refer to the first voice chunks, and the first HTTP The hint track may refer to the chunk offsets.
상기 원본 파일은 제2 영상 청크들을 포함할 수 있고, 상기 제1 영상 청크들이 나타내는 제1 영상 및 상기 제2 영상 청크들이 나타내는 제2 영상은 상이한 품질을 가질 수 있고, 상기 제1 영상은 상기 제1 경량형 ISO 파일에 대해 요청된 품질에 대응하는 품질을 가질 수 있다.The original file may include second image chunks, the first image represented by the first image chunks and the second image represented by the second image chunks may have different qualities, and the first image may include the first image chunk. 1 may have a quality corresponding to the quality requested for the lightweight ISO file.
상기 스트리밍 서비스를 위한 멀티미디어 파일 생성 방법은, 상기 원본 파일로부터 상기 제2 영상 청크들을 제거하는 동작을 더 포함할 수 있고, 상기 제1 경량형 ISO 파일은 상기 원본 파일을 수정함으로써 생성될 수 있다.The method for generating a multimedia file for the streaming service may further include removing the second image chunks from the original file, and the first lightweight ISO file may be generated by modifying the original file.
상기 원본 파일은 제2 HTTP 청크 포인터들을 포함할 수 있고, 상기 스트리밍 서비스를 위한 멀티미디어 파일 생성 방법은, 상기 제2 HTTP 청크 포인터들 중 n 번째 제2 HTTP 청크 포인터가 가리키는 상기 제2 영상 청크들 중 n 번째 제2 영상 청크 및 상기 제1 음성 청크들 중 n 번째 상기 제1 음성 청크를 식별하는 동작 - n은 1 이상 제1 영상 청크들의 개수 이하의 값임 -, 상기 n 번째 제2 영상 청크 및 상기 n 번째 제2 음성 청크를 제2 HTTP 청크들 중 n 번째 제2 HTTP 청크에 포함될 청크로 결정하는 동작 - 및 상기 하나 이상의 제2 HTTP 청크들을 순차적으로 포함하는 제2 경량형 ISO 파일을 생성하는 동작 - 상기 하나 이상의 제2 영상 청크들 및 상기 하나 이상의 제2 음성 청크들은 상기 제2 경량형 ISO 파일 내에 순차적으로 인터리브로 배치됨 - 을 더 포함할 수 있다. The source file may include second HTTP chunk pointers, and the method for generating a multimedia file for the streaming service may include: among the second video chunks indicated by an nth second HTTP chunk pointer among the second HTTP chunk pointers. identifying an n th first audio chunk of an n th second video chunk and the first audio chunks, wherein n is a value greater than or equal to the number of first video chunks; and the n th second video chunk and the determining an nth second voice chunk as a chunk to be included in the nth second HTTP chunk of the second HTTP chunks; and generating a second lightweight ISO file that sequentially includes the one or more second HTTP chunks. The one or more second video chunks and the one or more second voice chunks are sequentially interleaved within the second lightweight ISO file.
본 발명의 또 다른 일 측에 따르면, 하나 이상의 제1 영상 청크들, 하나 이상의 제1 음성 청크들 및 하나 이상의 제1 HTTP 청크 포인터들을 포함하는 원본 파일을 사용하여 스트리밍 서비스를 위한 멀티미디어 파일을 생성하는 장치에 있어서, 상기 제1 HTTP 청크 포인터들 중 n 번째 제1 HTTP 청크 포인터가 가리키는 상기 제1 영상 청크들 중 n 번째 제1 영상 청크 및 상기 제1 음성 청크들 중 n 번째 제1 음성 청크를 식별하는 HTTP 청크 식별부 - n은 1 이상 제1 영상 청크들의 개수 이하의 값임 -, 상기 n 번째 제1 영상 청크 및 상기 n 번째 제1 음성 청크를 제1 HTTP 청크들 중 n 번째 제1 HTTP 청크에 포함될 청크로 결정하는 HTTP 청크 결정부 - 및 상기 하나 이상의 제1 HTTP 청크들을 순차적으로 포함하는 제1 경량형 ISO 파일을 생성하는 파일 생성부를 포함하고, 상기 파일 생성부는 상기 하나 이상의 제1 영상 청크들 및 상기 하나 이상의 제1 음성 청크들을 상기 제1 경량형 ISO 파일 내에 순차적으로 인터리브로 배치하는, 스트리밍 서비스를 위한 멀티미디어 파일 생성 장치가 제공된다.According to another aspect of the present invention, a multimedia file for a streaming service is generated by using an original file including one or more first video chunks, one or more first voice chunks, and one or more first HTTP chunk pointers. An apparatus, comprising: identifying an nth first video chunk of the first video chunks and an nth first voice chunk of the first voice chunks indicated by an nth HTTP chunk pointer of the first HTTP chunk pointers. An HTTP chunk identification unit, where n is a value equal to or greater than 1 or more than the number of first video chunks, and the n-th first video chunk and the n-th first audio chunk are assigned to the n-th first HTTP chunk of the first HTTP chunks. An HTTP chunk determination unit determining a chunk to be included, and a file generation unit generating a first lightweight ISO file including the one or more first HTTP chunks sequentially, the file Father will cause the one or more first image chunk and the at least one first multimedia file generated for the streaming service that sequentially arranged in interleaved in the first light-weight ISO file voice chunks is provided.
비-인터리브된 저장 방식으로 제작된 ISO 파일을 HTTP 스트리밍 서비스에 효과적인 인터리브된 저장 방식의 ISO 파일로 변환하는 장치 및 방법이 제공된다.An apparatus and method are provided for converting a non-interleaved storage ISO file into an interleaved storage ISO file effective for an HTTP streaming service.
다중 비트율과 해상도를 지원하기 위해 다중 미디어 트랙들을 포함하는 ISO 파일에 대한 품질 적응적 HTTP 스트리밍 서비스를 제공하는 장치 및 방법이 제공된다.An apparatus and method are provided for providing a quality adaptive HTTP streaming service for an ISO file containing multiple media tracks to support multiple bit rates and resolutions.
도 1은 본 발명의 일 예에 따른 HTTP 기반의 프로그레시브 스트리밍 서비스의 개요를 설명한다.1 illustrates an overview of an HTTP-based progressive streaming service according to an example of the present invention.
도 2는 본 발명의 일 예에 따른 ISO 기반 미디어 파일 포멧의 기본적인 구조를 나타낸다.2 illustrates a basic structure of an ISO based media file format according to an embodiment of the present invention.
도 3은 본 발명의 일 예에 따른 비-인터리브된 방식으로 저장되는 ISO 파일 포맷을 도시한다.3 illustrates an ISO file format stored in a non-interleaved manner in accordance with an example of the present invention.
도 4는 본 발명의 일 예에 따른 인터리브된 방식으로 저장되는 ISO 파일 포맷들을 도시한다.4 illustrates ISO file formats stored in an interleaved manner according to an example of the present invention.
도 5는 본 발명의 일 예에 따른 ISO 파일 변환 과정 및 변환된 ISO 파일에 대한 HTTP 스트리밍 제공 과정을 나타내는 블록도이다.5 is a block diagram illustrating an ISO file conversion process and an HTTP streaming providing process for the converted ISO file according to an embodiment of the present invention.
도 6은 본 발명의 일 예에 따른 HTTP 힌트 트랙 스위칭을 사용한 품질 적응적(quality adaptive) ISO 파일의 생성 과정 및 생성된 ISO 파일에 대한 HTTP 스트리밍 과정을 나타내는 블록도이다.6 is a block diagram illustrating a process of generating a quality adaptive ISO file using HTTP hint track switching and an HTTP streaming process of the generated ISO file according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 HTTP 힌트 트랙을 사용하여 비-인터리브된 저장 방식의 ISO 파일을 인터리브된 저장 방식의 ISO 파일로 변환하는 방법을 나타낸다.7 illustrates a method of converting an ISO file of a non-interleaved storage method into an ISO file of an interleaved storage method using an HTTP hint track according to an embodiment of the present invention.
도 8은 본 발명의 일 예에 따른 HTTP 힌트 트랙(716)의 삭제 및 청크 옵셋 값의 변경을 포함하는 트랜스코딩(transcoding) 절차를 통해 moov(760)을 생성하는 방법을 나타낸다.8 illustrates a method of generating a moov 760 through a transcoding procedure including deleting an HTTP hint track 716 and changing a chunk offset value according to an embodiment of the present invention.
도 9는 본 발명의 일 실시예에 따른 다중 HTTP 힌트 트랙들을 사용하여 비-인터리브된 저장 방식의 ISO 파일을 인터리브된 저장 방식의 ISO 파일로 변환하는 방법을 나타낸다.9 illustrates a method of converting an ISO file of a non-interleaved storage method to an ISO file of an interleaved storage method using multiple HTTP hint tracks according to an embodiment of the present invention.
도 10은 본 발명의 일 예에 따른 다중 HTTP 힌트 트랙들을 포함하는 원본 파일(900)에 대한 트랜스코딩(transcoding) 절차를 통해 복수 개의 moov들을 생성하는 방법을 나타낸다.10 illustrates a method of generating a plurality of moovs through a transcoding procedure for an original file 900 including multiple HTTP hint tracks according to an embodiment of the present invention.
도 11는 본 발명의 일 실시예에 따른 다중 HTTP 힌트 트랙들을 사용하여 인터리브된 저장 방식의 ISO 파일을 경량의 인터리브된 저장 방식의 ISO 파일로 변환하는 방법을 나타낸다.FIG. 11 illustrates a method of converting an interleaved storage ISO file into a lightweight interleaved storage ISO file using multiple HTTP hint tracks according to an embodiment of the present invention.
도 12는 본 발명의 일 실시예에 따른 인터리브된 저장 방식의 경량형 ISO 파일을 생성하는 방법의 흐름도이다.12 is a flowchart of a method for generating a lightweight ISO file of an interleaved storage method according to an embodiment of the present invention.
도 13은 본 발명의 일 실시예에 따른 품질 적응적 HTTP 스트리밍 서비스를 위한 인터리브된 ISO 파일들의 생성 방법을 나타낸다.13 illustrates a method of generating interleaved ISO files for quality adaptive HTTP streaming service according to an embodiment of the present invention.
도 14는 본 발명의 일 실시예에 따른 품질 적응적 HTTP 스트리밍 서비스 방법의 흐름도이다.14 is a flowchart of a quality adaptive HTTP streaming service method according to an embodiment of the present invention.
도 15는 본 발명의 일 실시예에 따른 서버(1400)의 구조도이다.15 is a structural diagram of a server 1400 according to an embodiment of the present invention.
도 16는 본 발명의 일 예에 따른 샘플 디스크립션 박스(sample description box)(1600)를 나타낸다.16 illustrates a sample description box 1600 according to an embodiment of the present invention.
도 17은 본 발명의 일 예에 따른 부가 데이터(1640)을 나타낸다.17 illustrates additional data 1640 according to an embodiment of the present invention.
도 18은 본 발명의 일 예에 따른 HTTP 힌트 트랙 내의 샘플 포맷(1800)을 나타낸다.18 illustrates a sample format 1800 in an HTTP hint track according to an example of the present invention.
도 19는 본 발명의 일 예에 따른 패킷 엔트리 포맷(1900)을 나타낸다.19 illustrates a packet entry format 1900 according to an example of the present invention.
도 20는 본 발명의 일 예에 따른 생성자(constructor) 포맷(2000)을 나타낸다.20 illustrates a constructor format 2000 according to an embodiment of the present invention.
이하에서, 본 발명의 일 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited or limited by the embodiments. Like reference numerals in the drawings denote like elements.
도 1은 본 발명의 일 예에 따른 HTTP 기반의 프로그레시브 스트리밍 서비스의 개요를 설명한다.1 illustrates an overview of an HTTP-based progressive streaming service according to an example of the present invention.
단말(즉, 클라이언트(client))(110)은 원하는 콘텐츠 파일에 대한 서비스 요청을 서버(120)에게 알리기 위해 HTTP 프로토콜의 "GET Request"(130)를 전송한다.The terminal (ie, client) 110 transmits a "GET Request" 130 of the HTTP protocol to inform the server 120 of the service request for the desired content file.
서버(120)는 콘텐츠 파일을 단말(110)로 전송한다. 서버(120)는 콘텐츠 파일을 전송하기 위한 전송 프로토콜로써 TCP를 사용한다.The server 120 transmits the content file to the terminal 110. The server 120 uses TCP as a transmission protocol for transmitting the content file.
콘텐츠 파일은 TCP에 의해 단말(110)에 도착한다.The content file arrives at the terminal 110 by TCP.
단말(110)은 초기에 도착한 콘텐츠 파일의 일부 데이터를 버퍼링한다.The terminal 110 buffers some data of an initially arrived content file.
단말(110)은 버퍼링된 콘텐츠 파일의 일부 데이터를 파싱(parsing)하여 비디오 및 오디오를 재생(playout)한다.The terminal 110 parses some data of the buffered content file to play video and audio.
따라서, HTTP 스트리밍 서비스는 콘텐츠 파일의 모든 데이터가 단말(110)에 도착한 후에야 비로소 콘텐츠 파일이 재생되는 다운로드(download) 방식과 차별화된다. 또한, HTTP 스트리밍 서비스는 기존의 다운로드 방식의 문제점인 서비스 지연 시간을 대폭적으로 줄일 수 있다.Accordingly, the HTTP streaming service is differentiated from the download method in which the content file is played only after all data of the content file arrives at the terminal 110. In addition, the HTTP streaming service can significantly reduce the service delay time, which is a problem of the conventional download method.
도 2는 본 발명의 일 예에 따른 ISO 기반 미디어 파일 포멧의 기본적인 구조를 나타낸다.2 illustrates a basic structure of an ISO based media file format according to an embodiment of the present invention.
HTTP 스트리밍 서비스에서 전송되는 콘텐츠 파일은 압축된 비디오 및 오디오를 하나의 파일로 저장하기 위해서 퀵타임(QuickTime)(.mov), MPEG-4(.mp4), 윈도우 미디어 비디오(Windows Media Video)(.wmv), 플레쉬 비디오(Flash Video)(.flv) 및 3GPP(.3gp) 등의 다양한 멀티미디어 파일 포맷 규격에 의해 생성 된다.Content files sent from the HTTP streaming service are QuickTime (.mov), MPEG-4 (.mp4) and Windows Media Video (.wmv) files for storing compressed video and audio as a single file. It is generated by various multimedia file format standards such as Flash Video (.flv) and 3GPP (.3gp).
이러한 다양한 멀티미디어 파일 포맷 규격들은 ISO/IEC MPEG에서 개발한 기본적인 표준 멀티미디어 파일 포맷 규격인 "ISO 기반 미디어 파일 포멧"(ISO/IEC 14496-12 (MPEG-4 파트 12))을 기반으로 확장되었다.These various multimedia file format specifications are extended based on the "ISO-based media file format" (ISO / IEC 14496-12 (MPEG-4 Part 12)), a basic standard multimedia file format standard developed by ISO / IEC MPEG.
다양한 멀티미디어 파일 포맷 규격들을 바탕으로 제작된 멀티미디어 파일은 HTTP 스트리밍 서비스에 의해 유무선 IP (Internet Protocol) 망을 통해 광범위하게 제작, 배포 및 유통되어 왔다. Multimedia files produced based on various multimedia file format standards have been widely produced, distributed, and distributed through wired and wireless IP (Internet Protocol) networks by HTTP streaming services.
ISO 파일(200)의 포맷은 "moov" 박스(box)(또는 moov)(210) 및 "mdat" 박스(220)(또는 mdat)를 포함한다.The format of the ISO file 200 includes a "moov" box (or moov) 210 and a "mdat" box 220 (or mdat).
moov(210)는 기본적으로 오디오, 비디오 및 데이터와 같은 미디어의 내용을 표현하기 위해 필요한 메타 데이터(meta data)를 포함한다. mdat(220)는 실제적인 미디어의 샘플 데이터를 저장한다.The moov 210 basically includes meta data necessary for representing the content of media such as audio, video, and data. mdat 220 stores sample data of actual media.
"trak(video)"(212)는 moov(210) 내부에 존재하는 비디오 트랙(video track)이다. trak(video)(212)는 mdat(220) 내에 저장된 비디오 샘플 데이터에 대한 내용을 표현하기 위한 메타 정보를 포함하는 trak box이다."trak (video)" 212 is a video track residing inside moov 210. The trak (video) 212 is a trak box including meta information for expressing the content of the video sample data stored in the mdat 220.
"trak(audio)"(214)는 moov(210) 내부에 존재하는 오디오 트랙(audio track)이다. trak(audio)(214)는 mdat(210) 내에 저장된 오디오 샘플 데이터에 대한 내용을 표현하기 위한 메타 정보를 포함하는 trak box이다."trak (audio)" 214 is an audio track existing within moov 210. The trak (audio) 214 is a trak box including meta information for representing the content of the audio sample data stored in the mdat 210.
"trak(hint)(216)는 moov(210) 내부에 존재하는 힌트 트랙(hint track)이다."trak (hint) 216 is a hint track that exists inside moov 210.
힌트 트랙은 지시(instruction) 정보를 포함하는 trak box이다. 상기의 지시 정보는 mdat(220)에 포함된 샘플 데이터를 전송하기 위해 서버가 비디오 트랙 또는 오디오 트랙에 접근하여 전송 프로토콜 규격에 맞는 데이터 포맷을 형성하는 것을 도와주는 정보이다.The hint track is a trak box containing instruction information. The above indication information is information for helping a server to access a video track or an audio track to form a data format conforming to a transport protocol standard in order to transmit sample data included in the mdat 220.
ISO 파일 포맷의 표준 규격에 따라 정의된 힌트 트랙으로서, 실시간 트랜스포트 프로토콜(Real-time Transport Protocol; RTP) 힌트 트랙 및 파일 전송(File Delivery; FD) 힌트 트랙이 있다.As hint tracks defined in accordance with the standard specification of the ISO file format, there are a Real-time Transport Protocol (RTP) hint track and a File Delivery (FD) hint track.
RTP 힌트 트랙은 실시간 스트리밍을 지원하는 RTP(Real-time Transport Protocol) 프로토콜을 위한 힌트 트랙이다. FD 힌트 트랙은 오류 감내(fault-tolerant) 데이터 전송을 위한 전향 오류 정정(forward error correction; FEC) 심볼의 전송을 지원하는 단방향 트랜스포트 상의 파일 전달(File Delivery over Unidirectional Transport; FLUTE) 프로토콜을 위한 힌트 트랙이다.The RTP hint track is a hint track for the Real-time Transport Protocol (RTP) protocol that supports live streaming. The FD hint track is a hint for the File Delivery over Unidirectional Transport (FLUTE) protocol that supports the transmission of forward error correction (FEC) symbols for fault-tolerant data transmission. It's a track.
mdat(220)에는 비디오와 오디오의 샘플 데이터가 저장된다. mdat(220)에서 사용되는 저장 방식은 인터리브된(interleaved) 방식 및 비-인터리브된(non-interleaved) 방식이 있다.The mdat 220 stores sample data of video and audio. Storage methods used in the mdat 220 are interleaved and non-interleaved.
도 3은 본 발명의 일 예에 따른 비-인터리브된 방식으로 저장되는 ISO 파일 포맷을 도시한다.3 illustrates an ISO file format stored in a non-interleaved manner in accordance with an example of the present invention.
비-인터리브된 방식은 A/V(오디오 및 비디오) 청크 들을 미디어 별로 서로 독립적으로 배열하는 방식이다.The non-interleaved approach is to arrange A / V (audio and video) chunks independently of each other for each media.
도 3에서, ISO 파일 포맷에 저장되는 비디오(V1) 및 오디오(A1)의 샘플 데이터들은 각각 n 개의 청트들(chk_1 내지 chk_n) (322 또는 324)로 분할된다.In FIG. 3, the sample data of video V1 and audio A1 stored in the ISO file format are divided into n chunks chk_1 to chk_n 322 or 324, respectively.
비디오(V1)의 청크들(322)은 V1_chk_1 내지 V1_chk_1이다.The chunks 322 of video V1 are V1_chk_1 to V1_chk_1.
오디오(A1)의 청크들(324)은 A1_chk_1 내지 A1_chk_1이다.The chunks 324 of the audio A1 are A1_chk_1 to A1_chk_1.
분할된 청크들(322 및 324)은 각각 비-인터리브된 방식으로 mdat(320) 내에 배치된다.The divided chunks 322 and 324 are placed in mdat 320 in a non-interleaved manner, respectively.
moov(310) 내의 video_trak(V1)(312)는 mdat(320) 내의 V1의 제1 청크 V1_chk_1을 참조한다.Video_trak (V1) 312 in moov 310 refers to the first chunk V1_chk_1 of V1 in mdat 320.
moov(310) 내의 audio_trak(A1)(314)은 mdat(320) 내의 A1의 제1 청크 A1_chk_1을 참조한다.Audio_trak (A1) 314 in moov 310 refers to the first chunk A1_chk_1 of A1 in mdat 320.
도 4는 본 발명의 일 예에 따른 인터리브된 방식으로 저장되는 ISO 파일 포맷들을 도시한다.4 illustrates ISO file formats stored in an interleaved manner according to an example of the present invention.
인터리브된 방식은 A/V(오디오/비디오) 청크(chunk) 단위를 서로 뒤섞어서 배치하는 방식이다.The interleaved method is a method of intermixing A / V (audio / video) chunk units.
도 4에서, ISO 파일 포맷에 저장되는 비디오(V1) 및 오디오(A1)의 샘플 데이터들은 각각 n 개의 청트들(chk_1 내지 chk_n)로 분할된다.In FIG. 4, sample data of video V1 and audio A1 stored in the ISO file format are divided into n chunks chk_1 to chk_n, respectively.
비디오(V1)의 청크들(422)은 V1_chk_1 내지 V1_chk_n이다. Chunks 422 of video V1 are V1_chk_1 to V1_chk_n.
오디오(A1)의 청크들(424)은 A1_chk_1 내지 A1_chk_n이다.The chunks 424 of audio A1 are A1_chk_1 to A1_chk_n.
분할된 청크들(422)은 인터리브된 방식으로 mdat(420) 내에 배치된다. 즉, 오디오의 제1 청크 A1_chk_1가 비디오의 제1 청크 V1_chk_1를 뒤따르고, 비디오의 제2 청크 V1_chk_2가 오디오의 제1 청크 A1_chk_1을 뒤따른다.The divided chunks 422 are placed in mdat 420 in an interleaved manner. That is, the first chunk A1_chk_1 of the audio follows the first chunk V1_chk_1 of the video, and the second chunk V1_chk_2 of the video follows the first chunk A1_chk_1 of the audio.
moov(410)내의 video_trak(즉, V1)(412) 및 moov(410) 내의 audio_trak(즉, A1)(314)는 각각 mdat(320) 내의 V1의 제1 청크 V1_chk_1를 참조한다.Video_trak (i.e. V1) 412 in moov 410 and audio_trak (i.e. A1) 314 in moov 410 respectively refer to the first chunk V1_chk_1 of V1 in mdat 320.
moov(410)내의 video_trak(즉, V1)(412) 및 moov(410) 내의 audio_trak(즉, A1)(314)이 V1의 제1 청크 V1_chk_1만을 참조할 경우, 뒤에 있는 청크들을 참조하기 위해서 과도한 연산이 요구될 수 있다. moov(410)내의 video_trak(즉, V1)(412) 및 moov(410) 내의 audio_trak(즉, A1)(314)는 각각 인터리브된 청크들 중 중간의 청크, 예컨대 V1의 제k 청크 V1_chk_k를 참조할 수 있다.If video_trak (i.e. V1) 412 in moov 410 and audio_trak (i.e. A1) 314 in moov 410 refer only to the first chunk V1_chk_1 of V1, then an excessive operation to refer to the following chunks This may be required. video_trak (i.e. V1) 412 in moov 410 and audio_trak (i.e. A1) 314 in moov 410 may each refer to an intermediate chunk of interleaved chunks, e.g. Can be.
비-인터리브된 저장 방식은 서로 독립적인 인코딩 과정을 통해 비디오 샘플 데이터 및 오디오 샘플 데이터를 생성하고, 생성된 비디오 샘플 데이터 및 오디오 샘플 데이터를 mdat 내에 저장할 수 있다. 따라서, 비-인터리브된 저장 방식은 인코딩 과정의 복잡도 및 비용을 크게 낮출수 있으며, ISO 파일(즉, ISO 기반 미디어 파일 포멧을 따르는 콘텐츠 파일)의 제작을 용이하게 할 수 있다.The non-interleaved storage method may generate video sample data and audio sample data through encoding processes independent of each other, and store the generated video sample data and audio sample data in mdat. Thus, the non-interleaved storage scheme can greatly reduce the complexity and cost of the encoding process, and can facilitate the production of ISO files (i.e., content files that follow the ISO based media file format).
비-인터리브된 저장 방식을 사용하여 제작된 ISO 파일로부터 비디오 샘플 데이터 및 오디오 샘플 데이터가 추후에 추출될 수 있으며, 추출된 비디오 샘플 데이터 및 오디오 샘플 데이터는 다른 용도로 재사용(re-use)될 수 있다.Video sample data and audio sample data can later be extracted from an ISO file produced using a non-interleaved storage method, and the extracted video sample data and audio sample data can be reused for other purposes. have.
독립적으로 생성되어 ISO 파일 포맷에 저장된 비디오 샘플 데이터 및 오디오 샘플 데이터는, RTP 프로토콜 기반의 실시간 스트리밍 서비스에 최적화된 데이터 구조를 제공한다. RTP 기반의 실시간 스트리밍 서비스에서는 비디오 전송을 위한 RTP 세션 및 오디오 전송을 위한 RTP 세션이 독립적으로 형성되기 때문이다. 즉, 서로 독립적인 RTP 세션들 각각의 RTP 패킷이 생성될 때, RTP 패킷은, 서로 다른 미디어 트랙 간의 간섭 없이, 독립적이고 직접적으로(straightforward) 샘플 데이터를 mdat로부터 추출함으로써 만들어질 수 있기 때문이다.Video sample data and audio sample data, which are generated independently and stored in an ISO file format, provide a data structure optimized for a real-time streaming service based on the RTP protocol. This is because the RTP-based real time streaming service independently forms an RTP session for video transmission and an RTP session for audio transmission. That is, when an RTP packet of each of the RTP sessions independent of each other is generated, the RTP packet can be made by extracting sample data from mdat independently and straightforward without interference between different media tracks.
또한, 비-인터리브된 저장 방식을 사용하여 ISO 파일이 생성된 경우, 파일 포멧이 생성된 후에 ISO 파일을 편집하는 과정도 간소화될 수 있다. 즉, ISO 파일이 파일 포맷이 생성된 후 필요에 따라 편집될 경우, 비디오 및 오디오가 독립적으로 편집될 수 있다. 또한, 단순히 기존의 청크들에 이어서 연속적으로 새로운 청크들을 mdat에 저장함으로써 ISO 파일에 별도의 트랙이 추가될 수 있다.In addition, when an ISO file is generated using a non-interleaved storage method, the process of editing the ISO file after the file format is generated may be simplified. That is, if the ISO file is edited as needed after the file format is generated, video and audio can be edited independently. In addition, a separate track can be added to the ISO file by simply storing new chunks in mdat continuously following the existing chunks.
반면, 인터리브된 저장 방식은 서로 연관이 되는 비디오 샘플 데이터 및 오디오 샘플 데이터를 시간적 순서대로 뒤섞어서 저장한다. 따라서, 인터리브된 저장 방식이 사용될 경우, 인코딩 과정 및 저장 과정에 있어서의 비용 및 복잡도가 증가되며, RTP 기반의 실시간 스트리밍 서비스 제공을 위한 RTP 패킷 생성 과정에서의 복잡도가 증가한다.On the other hand, the interleaved storage method stores video sample data and audio sample data interrelated with each other in a chronological order. Therefore, when the interleaved storage method is used, the cost and complexity in the encoding process and the storage process are increased, and the complexity in the RTP packet generation process for providing the RTP-based real-time streaming service increases.
인터리브된 저장 방식에 의해 생성된 ISO 파일 내에서는 비디오 청크들 및 오디오 청크들이 서로 뒤섞여서 배치되므로 편집 과정에 있어서도 복잡도가 증가한다.In the ISO file generated by the interleaved storage method, video chunks and audio chunks are intermingled with each other, thereby increasing complexity in the editing process.
따라서, 대부분의 ISO 파일들은 기본적으로 비-인터리브 방식의 파일 포맷을 바탕으로 제작된다. 기존에 이미 제작된 수 많은 파일들도 대부분 비-인터리브된 방식을 따른다.Therefore, most ISO files are basically created based on the non-interleaved file format. Many of the files already produced are mostly non-interleaved.
HTTP 스트리밍 서비스에서는, 파일 포맷의 데이터는 파일 다운로드 원리에 의해 저장된 순서대로 순차적으로 전송된다. 따라서, 파일 내의 moov가 먼저 전송되고, 그 다음으로 mdat에 저장되어 있는 청크들이 저장된 순서대로 순차적으로 전송된다.In the HTTP streaming service, data in a file format is sequentially transmitted in the order stored in accordance with the file download principle. Thus, the moov in the file is sent first, and then the chunks stored in mdat are sent in sequential order.
도 3의 비-인터리브된 저장 방식이 사용된 경우, 파일 내의 V1_chk_1 내지 V1_chk_n에 해당하는 n개의 모든 비디오 청크들의 전송이 완료된 후에야 첫 번째 오디오 청크인 A1_chk_1이 전송될 수 있다.When the non-interleaved storage method of FIG. 3 is used, the first audio chunk A1_chk_1 may be transmitted only after transmission of all n video chunks corresponding to V1_chk_1 to V1_chk_n in the file is completed.
따라서, 비-인터리비된 저장 방식이 사용된 파일이 전송될 경우, 도 1에 표시된 단말에서의 재생 시작(start of playback) 시점은, 비디오 청크와 서로 동기를 맞춰저야 하는 오디오 청크들이 도착하는데 걸리는 상당히 긴 시간 이후로 지연된다.Therefore, when a file using a non-interleaved storage method is transmitted, the start of playback time point in the terminal shown in FIG. 1 takes time for the audio chunks to be synchronized with the video chunk to arrive. Delayed after a fairly long time.
이러한 재생 시작 시점의 지연은 HTTP 스트리밍 서비스를 요청하였던 소비자들이 체감하는 서비스에 대한 품질 만족도를 떨어뜨리는 주요 요인이 된다.This delay in the start of playback is a major factor in reducing the quality satisfaction of the service experienced by consumers who requested the HTTP streaming service.
따라서, HTTP 스트리밍 서비스의 품질을 향상하기 위해서는, 도 4를 참조하여 전술된 것과 같은 인터리브된 저장 방식에 기반하여 ISO 파일이 제작되거나, 비-인터리브된 저장 방식에 기반하여 제작된 ISO 파일이 전송 시에 인터리브된 저장 방식의 파일 포맷으로 변환되어야 한다.Therefore, in order to improve the quality of the HTTP streaming service, an ISO file is produced based on an interleaved storage method as described above with reference to FIG. 4 or an ISO file produced based on a non-interleaved storage method is transmitted. The file format must be converted to an interleaved storage format.
따라서, 비-인터리브된 저장 방식으로 제작된 ISO 파일에 대해서, 효과적인 HTTP 스트리밍 서비스를 실시 할 수 있는 방법이 요구된다.Therefore, there is a need for a method for implementing an effective HTTP streaming service for an ISO file produced by a non-interleaved storage method.
후술될 본 발명의 실시예들에서는 HTTP 스트리밍 서비스를 효과적으로 제공하기 위한 HTTP 힌트 트랙을 개시한다.Embodiments of the present invention to be described below disclose an HTTP hint track for effectively providing an HTTP streaming service.
HTTP 힌트 트랙을 활용함으로써, HTTP 스트리밍 서비스에 부적합한 비-인터리브된 저장 방식에 의해 제작된 ISO 파일이 HTTP 스트리밍에 적합한 인터리브된 저장 방식으로 간단하게 변환될 수 있다.By utilizing the HTTP hint track, an ISO file produced by a non-interleaved storage method unsuitable for HTTP streaming services can be simply converted to an interleaved storage method suitable for HTTP streaming.
HTTP 힌트 트랙은 저작 툴(authoring tool)에 의해 새롭게 생성되는 ISO 파일에 삽입될 수 있다. 또한, HTTP 힌트 트랙은 기존에 제작된 ISO 파일 내에도 힌팅 툴(hinting tool)에 의해, 기존의 ISO 파일 구조를 거의 변경하지 않은 채, 새롭게 추가될 수 있다.The HTTP hint track can be inserted into a newly created ISO file by the authoring tool. In addition, the HTTP hint track may be newly added to the existing ISO file by using a hinting tool, with little change in the existing ISO file structure.
또한, 후술될 본 발명의 실시예들에서, 다중 비트율 및 다중 해상도를 지원하기 위해서, 다중 미디어 트랙들을 포함하는 ISO 파일에 대한 HTTP 힌트 트랙 스위칭 기법이 개시된다.In addition, in embodiments of the present invention described below, in order to support multiple bit rates and multiple resolutions, an HTTP hint track switching technique for an ISO file including multiple media tracks is disclosed.
HTTP 힌트 트랙 스위칭을 활용함으로써 품질 적응적(quality adaptive) HTTP 스트리밍 서비스가 효과적으로 제공될 수 있다. HTTP 힌트 트랙을 활용한 HTTP 스트리밍 서비스는 전송되는 콘텐츠 파일의 크기를 경량화함으로써 ISO 파일의 다운로드에 소요되는 시간을 단축시킬 수 있으며, 동시에 IP 망에서의 트래픽 량을 감소시킬 수 있다.By utilizing HTTP hint track switching, a quality adaptive HTTP streaming service can be effectively provided. HTTP streaming service using the HTTP hint track can reduce the time required to download ISO files by reducing the size of the transmitted content file, and at the same time can reduce the amount of traffic on the IP network.
또한, 후술될 본 발명의 실시예는, HTTP 스트리밍에 활용하기 위해서 이미 제작된 ISO 파일 내부에 HTTP 힌트 트랙이 삽입되어야할 경우, 파일에 이미 저장되어 있는 기존의 미디어 트랙들을 수정하지 않은 채 HTTP 힌트 트랙을 파일 내에 독립적으로 저장할 수 있다.In addition, the embodiment of the present invention to be described later, when the HTTP hint track is to be inserted into the already prepared ISO file to utilize in HTTP streaming, HTTP hint without modifying the existing media tracks already stored in the file You can save tracks independently in a file.
도 5는 본 발명의 일 예에 따른 ISO 파일 변환 과정 및 변환된 ISO 파일에 대한 HTTP 스트리밍 제공 과정을 나타내는 블록도이다.5 is a block diagram illustrating an ISO file conversion process and an HTTP streaming providing process for the converted ISO file according to an embodiment of the present invention.
변환의 대상이 되는 파일은, mdat 내에 비-인터리브된 미디어(media)(즉, 비디오 및 오디오 등)를 갖는 ISO 파일이다.The file to be converted is an ISO file with non-interleaved media (ie video and audio, etc.) in mdat.
동작(510)에서, HTTP 힌트 트랙을 사용하여 인터리브된 ISO 파일이 생성된다. 또는, mdat 내에 비-인터리브된 미디어를 갖는 ISO 파일이 mdat 내에 인터리브된 미디어를 갖는 ISO 파일로 변환된다.In operation 510, an interleaved ISO file is generated using the HTTP hint track. Or, an ISO file with non-interleaved media in mdat is converted to an ISO file with media interleaved in mdat.
변환된 파일은 mdat 내에 인터리브된 미디어를 갖는 ISO 파일이다.The converted file is an ISO file with media interleaved in mdat.
동작(520)에서 mdat 내에 인터리브된 미디어를 갖는 ISO 파일에 대한 HTTP 스트리밍 서비스가 제공된다.In operation 520, an HTTP streaming service is provided for an ISO file with media interleaved in mdat.
동작(520)에 의해, 클라이언트(즉, 단말)에서의 단축된 재생 지연(reduced playout latency)을 갖는 ISO 파일 다운로드가 제공된다. 즉, 다운로드를 통해 ISO 파일을 수신하는 단말에서의 재생 시작(start of playback) 시점이 단출될 수 있다. Operation 520 provides an ISO file download with reduced playout latency at the client (ie, terminal). That is, a start of playback time point in the terminal receiving the ISO file through download may be shortened.
앞서 도 1 내지 도 4를 참조하여 설명된 본 발명의 일 실시예 및 일 예에 따른 기술적 내용들이 본 예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical contents according to an embodiment and an example of the present invention described above with reference to FIGS. 1 to 4 may be applied to the present example. Therefore, more detailed description will be omitted below.
도 6은 본 발명의 일 예에 따른 HTTP 힌트 트랙 스위칭을 사용한 품질 적응적(quality adaptive) ISO 파일의 생성 과정 및 생성된 ISO 파일에 대한 HTTP 스트리밍 과정을 나타내는 블록도이다.6 is a block diagram illustrating a process of generating a quality adaptive ISO file using HTTP hint track switching and an HTTP streaming process of the generated ISO file according to an embodiment of the present invention.
HTTP 힌트 트랙 간의 스위칭을 사용함으로써 품질 적응적인 HTTP 스트리밍 서비스가 제공될 수 있다.By using switching between HTTP hint tracks, a quality adaptive HTTP streaming service can be provided.
변환의 대상이 되는 파일은 다중(multiple) A/V 미디어 트랙들을 갖는 ISO 파일이다.The file to be converted is an ISO file with multiple A / V media tracks.
동작(610)에서, HTTP 힌트 트랙을 사용하여 인터리브된 ISO 파일이 생성된다. 즉, 다중 A/V 미디어 트랙들을 갖는 ISO 파일은 적응된 품질(adapted quality)을 갖는(즉, 단말이 요구하는 품질에 적응적인) 경량 ISO 파일로 변환된다.In operation 610, an interleaved ISO file is generated using the HTTP hint track. In other words, an ISO file with multiple A / V media tracks is converted to a lightweight ISO file with adapted quality (ie, adaptive to the quality required by the terminal).
변환된 경량 ISO 파일은 단일 A/V 미디어 트랙을 갖는 품질 적응적 파일이다.The converted lightweight ISO file is a quality adaptive file with a single A / V media track.
동작(620)에서 단일 A/V 미디어 트랙을 갖는 품질 적응적 파일에 대한 HTTP 스트리밍 서비스가 제공된다.In operation 620, an HTTP streaming service is provided for a quality adaptive file with a single A / V media track.
동작(620)에 의해, 파일 크기 및 전송(transmission) 시간이 단축된 파일 다운로드가 제공된다. Operation 620 provides for file download with reduced file size and transmission time.
다른 대안적인(alternative) 품질을 다운로드하기 위한, 클라이언트(즉, 단말)로부터의 HTTP 요청이 도달하면, 동작(630)이 수행된다. 즉, 동작(630)은 HTTP 스트리밍 실시 도중에, 클라이언트(즉, 단말)이 새로운 품질을 요청할 때 수행된다.If an HTTP request from a client (ie, terminal) arrives to download another alternative quality, operation 630 is performed. That is, operation 630 is performed when the client (ie, the terminal) requests a new quality during the HTTP streaming.
동작(630)에서, HTTP 힌트 트랙 스위칭이 수행된다. HTTP 힌트 트랙 스위칭은 다중 A/V 미디어 트랙들을 갖는 ISO 파일 내의 다중 HTTP 힌트 트랙들 중, 경량 ISO 파일을 생성하기 위한 HTTP 힌트 트랙이 변경되는 것이다. HTTP 힌트 트랙을 변경함으로써, HTTP 스트리밍 실시 도중에 단말이 요청한 새로운 품질을 만족시키는 경량 ISO 파일이 생성된다.In operation 630, HTTP hint track switching is performed. HTTP hint track switching is that of multiple HTTP hint tracks in an ISO file with multiple A / V media tracks, the HTTP hint track for generating a lightweight ISO file is changed. By changing the HTTP hint track, a lightweight ISO file is created that satisfies the new quality requested by the terminal during HTTP streaming.
동작(630)에 의해, 새로운 품질을 만족시키는 경량 ISO 파일에 대한 HTTP 스트리밍 서비스가 계속적으로 제공된다. Operation 630 continues to provide an HTTP streaming service for the lightweight ISO file that satisfies the new quality.
전술된 동작들(610 내지 630)에 의해, HTTP 스트리밍 서비스에서 전송되는 ISO 파일의 크기가 경량화되며, ISO 파일의 다운로드에 소요되는 시간이 단축될 수 있으며, 인터넷과 같은 IP 망에서의 트래픽 량이 감소될 수 있다.By the above-described operations 610 to 630, the size of the ISO file transmitted in the HTTP streaming service can be reduced in weight, the time required for downloading the ISO file can be shortened, and the amount of traffic in the IP network such as the Internet is reduced. Can be.
앞서 도 1 내지 도 5를 참조하여 설명된 본 발명의 일 실시예 및 일 예에 따른 기술적 내용들이 본 예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical contents according to an embodiment and an example of the present invention described above with reference to FIGS. 1 to 5 may be applied to this example as it is. Therefore, more detailed description will be omitted below.
도 7은 본 발명의 일 실시예에 따른 HTTP 힌트 트랙을 사용하여 비-인터리브된 저장 방식의 ISO 파일을 인터리브된 저장 방식의 ISO 파일로 변환하는 방법을 나타낸다.7 illustrates a method of converting an ISO file of a non-interleaved storage method into an ISO file of an interleaved storage method using an HTTP hint track according to an embodiment of the present invention.
원본 파일(700)은 moov(710), mdat(720)을 포함한다. Original file 700 includes moov 710 and mdat 720.
moov(710)은 영상 트랙(Video Trak; VT)(712), 음성 트랙(Audio Trak; AT)(714) 및 HTTP 힌트 트랙(Hint Trak; HT)(716)을 포함한다.The moov 710 includes a video track (VT) 712, an audio track (AT) 714, and an HTTP hint track (HT) 716.
영상 트랙(712)은 n 개의 영상 청크들(722)을 참조한다.The picture track 712 refers to the n picture chunks 722.
음성 트랙(714)은 n 개의 음성 청크들(724)을 참조한다. Voice track 714 refers to n voice chunks 724.
HTTP 힌트 트랙(716)은 샘플 테이블(sample table; stbl) 박스(730)를 포함한다.The HTTP hint track 716 includes a sample table (stbl) box 730.
샘플 테이블 박스(730)는 mdat(720) 내에 저장된 HTTP 힌트 샘플들(726)에 관한 시간적 데이터 위치 및 공간적 데이터 위치에 관련된 정보를 포함한다. Sample table box 730 includes information related to temporal data location and spatial data location for HTTP hint samples 726 stored in mdat 720.
즉, 샘플 테이블 박스(730)(또는, HTTP 힌트 트랙(716))은 HTTP 힌트 샘플들(726)을 참조한다.That is, sample table box 730 (or HTTP hint track 716) refers to HTTP hint samples 726.
HTTP 힌트 샘플들(726)을 참조하기 위해, 샘플 데이터 박스(730)는 HTTP 힌트 샘플들(726)을 가리키는 HTTP 청크 힌트(chunk hink; CH)(732)를 포함할 수 있다.To refer to the HTTP hint samples 726, the sample data box 730 may include an HTTP chunk hink (CH) 732 that points to the HTTP hint samples 726.
mdat(720)는 n 개의 영상 청크들(722)을 포함한다. n 개의 영상 청크들(722)는 V1_chk_1 내지 V1_chk_n을 포함한다. V1_chk_1은 첫 번째 영상 청크이고, V1_chk_n은 n 번째 영상 청크이다. mdat 720 includes n image chunks 722. The n image chunks 722 include V1_chk_1 to V1_chk_n. V1_chk_1 is the first video chunk, and V1_chk_n is the nth video chunk.
mdat(720)는 n 개의 음성 청크들(724)을 포함한다. n 개의 음성 청크들(724)은 A1_chk_1 내지 A1_chk_n을 포함한다. A1_chk_1은 첫 번째 음성 청크이고, A1_chk_n은 n 번째 음성 청크이다. mdat 720 includes n voice chunks 724. The n voice chunks 724 include A1_chk_1 to A1_chk_n. A1_chk_1 is the first voice chunk, and A1_chk_n is the nth voice chunk.
mdat(720)는 n 개의 영상 청크들 및 n 개의 음성 청크들을 순차적으로 포함한다. 따라서, mdat(720)는 A/V 비-인터리브된 것이며, 원본 파일(700)은 HTTP 힌트 트랙을 포함하는 비-인터리브된 ISO 파일이다. mdat 720 sequentially includes n video chunks and n audio chunks. Thus, mdat 720 is A / V non-interleaved, and original file 700 is a non-interleaved ISO file containing an HTTP hint track.
mdat(720)는 n 개의 HTTP 힌트 샘플들(726)을 포함한다. HTTP 힌트 샘플은 청크 옵셋(chunk offset; CO) 및 HTTP 청크 포인터(Chunk Pointer; CP)를 포함한다. 하나 이상의 HTTP 힌트 샘플들(726) 각각은 HTTP chunk pointer_1(HTTP CP_1) 내지 HTTP chunk pointer_n(HTTP CP_N)을 포함한다. 순서에 따라, HTTP chunk pointer_1은 첫 번째 HTTP 청크 포인터이고, HTTP chunk ponter_n은 n 번째 HTTP 청크 포인터이다. mdat 720 includes n HTTP hint samples 726. The HTTP hint sample includes a chunk offset (CO) and an HTTP chunk pointer (CP). Each of the one or more HTTP hint samples 726 includes HTTP chunk pointer_1 (HTTP CP_1) to HTTP chunk pointer_n (HTTP CP_N). In order, HTTP chunk pointer_1 is the first HTTP chunk pointer, and HTTP chunk ponter_n is the nth HTTP chunk pointer.
HTTP 힌트 샘플에 의해 처리되는 데이터 크기의 단위는 기본적으로 비디오 청크 및 오디오 청크의 한 쌍으로 구성된다. 예컨대, i 번째 HTTP 청크 포인터는 i 번째 영상 청크 및 i 번째 음성 청크를 가리킨다. (1≤i≤n)The unit of data size processed by the HTTP hint sample consists essentially of a pair of video chunks and audio chunks. For example, the i th HTTP chunk pointer points to the i th video chunk and the i th audio chunk. (1≤i≤n)
HTTP 스트리밍 서비스를 제공받는 단말은 최소한 한 쌍의 A/V 청크를 재생할 수 있다. 한 쌍의 비디오 청크 및 오디오 청크는 동일한 시간 구간(time duration)에 대한 청크들이다. 즉, 한 쌍의 A/V 청크가 재생을 위한 데이터 단위이다. 한 쌍의 A/V 청크를 이하 HTTP 청크로 명명한다.The terminal provided with the HTTP streaming service may play at least one pair of A / V chunks. A pair of video chunks and audio chunks are chunks for the same time duration. That is, a pair of A / V chunks is a data unit for reproduction. A pair of A / V chunks is named as the HTTP chunk below.
선택적으로, HTTP 청크는 하나 이상의 비디오들 각각의 영상 청크들을 포함할 수 있다. 또한, HTTP 청크는 하나 이상의 오디오들 각각의 영상 청크들을 포함할 수 있다.Optionally, the HTTP chunk may include picture chunks of each of the one or more videos. The HTTP chunk may also include video chunks of each of the one or more audios.
동일한 시간 구간에 속하는 한 쌍의 A/V 청크는 HTTP 청크 포인터에 의해 참조된다.A pair of A / V chunks belonging to the same time interval is referenced by the HTTP chunk pointer.
HTTP 힌트 트랙(716)을 사용하여 원본 파일(700)에 기반한 인터리브된 ISO 파일(750)이 생성된다.The HTTP hint track 716 is used to generate an interleaved ISO file 750 based on the original file 700.
인터리브된 ISO 파일(750)은 moov(760) 및 mdat(770)을 포함한다.Interleaved ISO file 750 includes moov 760 and mdat 770.
mdat(770)은 n 개의 HTTP 청크들(772)을 포함한다. mdat 770 includes n HTTP chunks 772.
HTTP 청크는 영상 청크 및 음성 청크를 포함한다. i 번째 HTTP 청크가 포함하는 i 번째 영상 청크는 원본 파일(700)의 V1_chk_i이다. i 번째 HTTP 청크가 포함하는 i 번째 음성 청크는 원본 파일(700)의 A1_chk_i이다.HTTP chunks include video chunks and audio chunks. The i th video chunk included in the i th HTTP chunk is V1_chk_i of the original file 700. The i th voice chunk included in the i th HTTP chunk is A1_chk_i of the original file 700.
moov(760)은 영상 트랙(762) 및 음성 트랙(764)를 포함한다. 영상 트랙(762) 및 음성 트랙(764)은 각각 HTTP 청크들(772)을 참조한다.The moov 760 includes an image track 762 and an audio track 764. Video track 762 and audio track 764 refer to HTTP chunks 772, respectively.
인터리브된 ISO 파일(750)을 생성하기 위한 기본적인 동작 원리는 HTTP 힌트 트랙(716)을 사용하여 동일한 시간 구간에 속하는 한 쌍의 A/V 청크를 식별(또는, 독출(read))하고, 식별된 한 쌍의 A/V 청크를 인터리브된 방식으로 저장하는 것이다.The basic principle of operation for generating interleaved ISO file 750 is to use HTTP hint track 716 to identify (or read) a pair of A / V chunks belonging to the same time interval, Storing a pair of A / V chunks in an interleaved manner.
상기의 식별을 위해, 영상 트랙(712) 및 음성 트랙(714)으로부터 독출할 영상 청크 및 음성 청크 데이터의 위치 정보를 나타내는 HTTP 청크 포인터가 HTTP 힌트 트랙(716)의 mdat(720) 내에 포함된다.For the above identification, an HTTP chunk pointer indicating the positional information of the video chunk and audio chunk data to be read from the video track 712 and the audio track 714 is included in the mdat 720 of the HTTP hint track 716.
인터리브된 ISO 파일(750)을 위한 새로운 moov(760)을 고속으로 생성하기 위해서, 원본 파일(700)의 moov(710)에 기록된 A/V 트랙의 청크 옵셋 박스(또는 'stco' 박스) 내에 저장되어 있는 청크 옵셋 값이 변경될 수 있다. 인터리브된 ISO 파일(750)을 위해 요구되는 새로운 청크 옵셋 값인 새 청크 옵셋이 mdat(720) 내에 포함된다. In order to create a new moov 760 for the interleaved ISO file 750 at high speed, in the chunk offset box (or 'stco' box) of the A / V track recorded in the moov 710 of the original file 700. The stored chunk offset value can be changed. A new chunk offset, which is the new chunk offset value required for interleaved ISO file 750, is included in mdat 720.
원본 ISO 파일(700)의 영상 트랙(712) 및 음성 트랙(714)의 표기는 V1 및 A1이다. 반면, 인터리브된 ISO 파일(750)의 영상 트랙(762) 및 음성 트랙(764)의 표기는 V1' 및 A1'이다. 이러한 표기의 변경은, 원래의 영상 트랙(712) 및 음성 트랙(714)의 청크 옵셋 정보가 HTTP 힌트 트랙에 기반한 파일 변환 과정에서 새 청크 옵셋 정보에 의해 변경된 것에 기인한다.The notation of the video track 712 and the audio track 714 of the original ISO file 700 is V1 and A1. In contrast, the notation of the video track 762 and the audio track 764 of the interleaved ISO file 750 is V1 'and A1'. This change in notation is due to the chunk offset information of the original video track 712 and audio track 714 being changed by the new chunk offset information during the file conversion process based on the HTTP hint track.
한편, HTTP 스트리밍을 위해 인터리브된 저장 방식으로 변환된, 변환된 ISO 파일(750) 내에는 HTTP 힌트 트랙(716)이 포함될 필요가 없다. 따라서, HTTP 힌트 트랙(716)은 mdat(770) 내에서 제거된다.On the other hand, the HTTP hint track 716 need not be included in the converted ISO file 750, which is converted to an interleaved storage manner for HTTP streaming. Thus, HTTP hint track 716 is removed within mdat 770.
앞서 도 1 내지 도 6을 참조하여 설명된 본 발명의 일 실시예 및 일 예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical details according to one embodiment and one embodiment of the present invention described above with reference to FIGS. 1 to 6 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.
도 8은 본 발명의 일 예에 따른 HTTP 힌트 트랙(716)의 삭제 및 청크 옵셋 값의 변경을 포함하는 트랜스코딩(transcoding) 절차를 통해 moov(760)를 생성하는 방법을 나타낸다.8 illustrates a method of generating a moov 760 through a transcoding procedure including deleting an HTTP hint track 716 and changing a chunk offset value according to an embodiment of the present invention.
트랜스코딩부(810)는 HTTP 힌트 트랙 제거부(820) 및 청크 옵셋 변환부(830)를 포함한다.The transcoding unit 810 includes an HTTP hint track remover 820 and a chunk offset converter 830.
HTTP 힌트 트랙 제거부(820)는 원본 파일(700)의 moov(710) 내에서 HTTP 힌트 트랙(716)을 제거한다.The HTTP hint track remover 820 removes the HTTP hint track 716 in the moov 710 of the original file 700.
청크 옵셋 변환부(830)는 원본 파일(700)의 청크 옵셋들에 대한 새 청크 옵셋들을 계산한다. 청크 옵셋들은 원본 파일(700)의 moov(710)에 기록된 A/V 트랙의 청크 옵셋 박스(또는 'stco' 박스)(840) 내에 저장될 수 있다.The chunk offset converter 830 calculates new chunk offsets for the chunk offsets of the original file 700. Chunk offsets may be stored in the chunk offset box (or 'stco' box) 840 of the A / V track recorded in moov 710 of the original file 700.
HTTP 힌트 트랙 제거부(820) 및 청크 옵셋 변환부(830)에 의해 인터리브된 ISO 파일(750)의 moov(760)가 생성될 수 있다. 전술된 것처럼, ISO 파일(750)의 moov(760)는 영상 트랙(762) 및 음성 트랙(764)을 포함한다.The moov 760 of the ISO file 750 interleaved by the HTTP hint track remover 820 and the chunk offset converter 830 may be generated. As described above, moov 760 of ISO file 750 includes video track 762 and audio track 764.
도 7 및 도 8을 참조하여 설명된 방법의 모든 처리 과정은 미디어의 샘플 단위가 아닌 다수의 샘플들로 구성된 청크 단위로 수행될 수 있다. 따라서, 상기의 처리 과정의 복잡도는 낮다.All of the processing of the method described with reference to FIGS. 7 and 8 may be performed in chunk units consisting of a plurality of samples rather than a sample unit of the media. Therefore, the complexity of the above processing is low.
일반적으로 비디오 청크는 수 초의 시간에 해당하는 샘플들을 묶음으로써 구성된다. 또한, 일반적으로 다수의 그림들의 그룹(group of picture; GOP)을 묶음으로써 하나의 청크가 구성된다.In general, video chunks are constructed by concatenating samples corresponding to a few seconds of time. In addition, one chunk is generally constructed by grouping multiple groups of pictures (GOPs).
앞서 도 1 내지 도 7을 참조하여 설명된 본 발명의 일 실시예 및 일 예에 따른 기술적 내용들이 본 예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical details according to an embodiment and example of the present invention described above with reference to FIGS. 1 to 7 may be applied to the present example. Therefore, more detailed description will be omitted below.
도 9는 본 발명의 일 실시예에 따른 다중 HTTP 힌트 트랙들을 사용하여 비-인터리브된 저장 방식의 ISO 파일을 인터리브된 저장 방식의 ISO 파일로 변환하는 방법을 나타낸다.9 illustrates a method of converting an ISO file of a non-interleaved storage method to an ISO file of an interleaved storage method using multiple HTTP hint tracks according to an embodiment of the present invention.
원본 파일(900)은 도 7의 원본 파일(700)과 유사하나, 다중 미디어 트랙들(912, 914 및 916)을 포함한다. 다중 미디어 트랙들(912, 914 및 916)은 원본 파일(900)이 나타나는 콘텐츠에 대해 다중 비트율(bit rate) 및 해상도(resolution)를 지원하기 위한 것일 수 있다. Original file 900 is similar to original file 700 of FIG. 7, but includes multiple media tracks 912, 914, and 916. The multiple media tracks 912, 914, and 916 may be to support multiple bit rates and resolutions for the content in which the original file 900 appears.
원본 파일(900)은 2가지 종류의 영상 비트율을 지원하기 위해 2개의 영상 트랙들(912 및 914) 및 1 개의 음성 트랙(916)을 비-인터리브된 방식으로 저장하는 ISO 파일이다.The original file 900 is an ISO file that stores two video tracks 912 and 914 and one audio track 916 in a non-interleaved manner to support two kinds of video bit rates.
이러한 구조를 갖는 파일에 대해서, 서로 상이한 비트율을 갖는 영상 트랙들(912 및 914)을 활용함으로써 2 가지 종류의 영상 품질을 선택적으로 제공할 수 있는 HTTP 스트리밍 서비스가 제공될 수 있다.For a file having such a structure, an HTTP streaming service can be provided that can selectively provide two kinds of image quality by utilizing image tracks 912 and 914 having different bit rates.
원본 파일(900)은, 2 가지 종류의 영상 트랙들을 선택적으로 제공하면서 HTTP 스트리밍 서비스를 효과적으로 실시하기 위해, 2 개의 HTTP 힌트 트랙들(922 및 924)을 포함한다.The original file 900 includes two HTTP hint tracks 922 and 924 to effectively implement an HTTP streaming service while selectively providing two kinds of video tracks.
HTTP 힌트 트랙 H1(922)은 영상 트랙 V1(912) 및 음성 트랙 A1(916)을 사용하여 HTTP 스트리밍을 실시하기 위한 것이며, HTTP 힌트 트랙 H2(924)는 영상 트랙 V2(914) 및 음성 트랙 A1(916)을 사용하여 HTTP 스트리밍을 실시하기 위한 것이다.HTTP hint track H1 922 is for conducting HTTP streaming using video track V1 912 and audio track A1 916, and HTTP hint track H2 924 is for video track V2 914 and audio track A1. 916 for HTTP streaming.
2 개의 HTTP 힌트 트랙들(922 및 924)을 사용함으로써 2 개의 인터리브된 ISO 파일들(950 및 970)이 생성될 수 있다. 2 개의 인터리브된 ISO 파일들(950 및 970)은 상이한 품질을 갖는다.Two interleaved ISO files 950 and 970 can be generated by using two HTTP hint tracks 922 and 924. The two interleaved ISO files 950 and 970 have different qualities.
HTTP 힌트 트랙 H1(922)은 HTTP 청크를 구성하는 한 쌍의 A/V 청크들을 각각 영상 트랙 V1(912) 및 음성 트랙 A1(916)로부터 복사해온다. 마찬가지로, HTTP 힌트 트랙 H2(924)는 HTTP 청크를 구성하는 한 쌍의 A/V 청크들을 각각 영상 트랙 V2(914) 및 음성 트랙 A1(916)로부터 복사해온다.HTTP hint track H1 922 copies a pair of A / V chunks that make up the HTTP chunk from video track V1 912 and audio track A1 916, respectively. Similarly, HTTP hint track H2 924 copies a pair of A / V chunks that make up the HTTP chunk from video track V2 914 and audio track A1 916, respectively.
다중 미디어 트랙들을 포함하는 ISO 파일이 지원할 수 있는 멀티미디어 품질의 종류만큼의 HTTP 힌트 트랙들(922 및 924)이 원본 파일(900) 내에 포함될 수 있고, 이러한 HTTP 힌트 트랙들(922 및 924)에 의해 다중 품질의 HTTP 스트리밍 서비스가 제공될 수 있다.HTTP hint tracks 922 and 924 can be included in the original file 900 as much as the kind of multimedia quality that an ISO file containing multiple media tracks can support, and by these HTTP hint tracks 922 and 924 Multiple quality HTTP streaming services may be provided.
각 HTTP 힌트 트랙(922 또는 924)이 지원할 수 있는 평균 비트율(average bit rage) 및 최대 비트율(maximum bit rate)에 대한 정보는 힌트 미디어 헤더(Hint Media Header Box; hmhd) 박스의 'avgbitrate' 및 'maxbitrate' 필드에 의해 표시될 수 있다. 따라서, hmhd 박스의 avgbitrate 및 maxbitrate 필드 정보를 바탕으로 원하는 품질을 제공할 수 있는 HTTP 힌트 트랙(922 또는 924)이 선택될 수 있으며, 선택된 HTTP 힌트 트랙(922 또는 924)에 따른 HTTP 스트리밍이 실시될 수 있다.For information about the average bit rage and maximum bit rate that each HTTP hint track 922 or 924 can support, see the 'avgbitrate' and 'in the Hint Media Header Box (hmhd) box. maxbitrate 'field. Accordingly, based on the avgbitrate and maxbitrate field information of the hmhd box, an HTTP hint track 922 or 924 may be selected, and HTTP streaming according to the selected HTTP hint track 922 or 924 may be performed. Can be.
앞서 도 1 내지 도 8을 참조하여 설명된 본 발명의 일 실시예 및 일 예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical contents according to an embodiment and an example of the present invention described above with reference to FIGS. 1 to 8 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.
도 10은 본 발명의 일 예에 따른 다중 HTTP 힌트 트랙들을 포함하는 원본 파일(900)에 대한 트랜스코딩(transcoding) 절차를 통해 복수 개의 moov들을 생성하는 방법을 나타낸다.10 illustrates a method of generating a plurality of moovs through a transcoding procedure for an original file 900 including multiple HTTP hint tracks according to an embodiment of the present invention.
도 10의 상단은 제1 인터리브된 ISO 파일(950)의 moov가 생성되는 방법을 나타낸다. 도 10의 하단은 제2 인터리브된 ISO 파일(970)의 moov가 생성되는 방법을 나타낸다.The top of FIG. 10 shows how the moov of the first interleaved ISO file 950 is generated. The bottom of FIG. 10 shows how the moov of the second interleaved ISO file 970 is generated.
트랜스코딩부(1010)는 HTTP 힌트 트랙 제거부(1020), 미디어 트랙 제거부(1030) 및 청크 옵셋 변환부(1040)를 포함한다.The transcoding unit 1010 includes an HTTP hint track remover 1020, a media track remover 1030, and a chunk offset converter 1040.
도 8에서 트랜스코딩부(810)에 대해 설명된 내용은 트랜스코딩부(1010)에 적용될 수 있다.In FIG. 8, the description of the transcoding unit 810 may be applied to the transcoding unit 1010.
HTTP 힌트 트랙 제거부(1020)는 도 8의 HTTP 힌트 트랙 제거부(820)와 유사하다. HTTP 힌트 트랙 제거부(1020)는 원본 파일(900) 내의 복수 개의 HTTP 힌트 트랙들(922 및 924)을 제거한다.The HTTP hint track remover 1020 is similar to the HTTP hint track remover 820 of FIG. 8. The HTTP hint track remover 1020 removes the plurality of HTTP hint tracks 922 and 924 in the original file 900.
미디어 트랙 제거부(1020)는 원본 파일(900) 내의 다중 미디어 트랙들(912, 914 및 916)들 중 생성될 인터리브된 ISO 파일(950 또는 970)에서 사용되지 않을 트랙(914 또는 912)을 제거한다.The media track remover 1020 removes a track 914 or 912 that will not be used in the interleaved ISO file 950 or 970 to be created among the multiple media tracks 912, 914, and 916 in the original file 900. do.
청크 옵셋 변환부(1040)는 도 8의 청크 옵셋 변환부(830)와 유사하다. 청크 옵셋 변환부(1040)는 다중 미디어 트랙들(912, 914 및 916)들 중 생성될 인터리브된 ISO 파일(950 또는 970)에서 사용될 트랙들(914과 916, 또는 912와 916)에 대한 새 청크 옵셋들을 계산한다. 청크 옵셋들은 원본 파일(900)의 moov에 기록된 A/V 트랙의 청크 옵셋 박스(또는 'stco' 박스)(1050) 내에 저장될 수 있다. 다중 미디어 트랙들(912, 914 및 916)들 각각에 대해 별개의 청크 옵셋 박스가 사용될 수 있다.The chunk offset converter 1040 is similar to the chunk offset converter 830 of FIG. 8. The chunk offset converter 1040 is a new chunk for the tracks 914 and 916 or 912 and 916 to be used in the interleaved ISO file 950 or 970 to be generated among the multiple media tracks 912, 914 and 916. Calculate the offsets. Chunk offsets may be stored in the chunk offset box (or 'stco' box) 1050 of the A / V track recorded in the moov of the original file 900. A separate chunk offset box can be used for each of the multiple media tracks 912, 914, and 916.
전술된 방식에 의해, HTTP 힌트 트랙의 제거, 불필요한 미디어 트랙의 제거 및 청크 옵셋 값의 변경만을 통해 원본 파일(900)이 인터리브된 ISO 파일(950 또는 970)로 변환될 수 있다.In the manner described above, the original file 900 can be converted to an interleaved ISO file 950 or 970 only by removing the HTTP hint track, removing unnecessary media tracks, and changing the chunk offset value.
앞서 도 1 내지 도 9를 참조하여 설명된 본 발명의 일 실시예 및 일 예에 따른 기술적 내용들이 본 예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical details according to the exemplary embodiments and examples described above with reference to FIGS. 1 to 9 may be applied to the present example. Therefore, more detailed description will be omitted below.
도 11는 본 발명의 일 실시예에 따른 다중 HTTP 힌트 트랙들을 사용하여 인터리브된 저장 방식의 ISO 파일을 경량의 인터리브된 저장 방식의 ISO 파일로 변환하는 방법을 나타낸다.FIG. 11 illustrates a method of converting an interleaved storage ISO file into a lightweight interleaved storage ISO file using multiple HTTP hint tracks according to an embodiment of the present invention.
도 7 및 도 8을 참조하여 전술된 HTTP 힌트 트랙을 사용한 인터리브된 저장 방식의 ISO 파일로의 변환 방법은 원본 파일(1100)이 인터리브 방식으로 저장된 ISO 파일일 경우에도 사용될 수 있다.The method of converting an interleaved storage method into an ISO file using the HTTP hint track described above with reference to FIGS. 7 and 8 may be used even when the original file 1100 is an ISO file stored in an interleaved manner.
도 11에서, 제1 영상 트랙(1112), 제2 영상 트랙(1114) 및 음성 트랙(1116)은 인터리브되었다. 즉, 제1 영상 트랙(1112)의 영상 청크들, 제2 영상 트랙(1114)의 영상 청크들 및 음성 트랙(1116)의 음성 청크들은 서로 인터리브되어 저장되었다.In FIG. 11, the first video track 1112, the second video track 1114 and the audio track 1116 are interleaved. That is, the video chunks of the first video track 1112, the video chunks of the second video track 1114, and the audio chunks of the audio track 1116 are interleaved and stored.
제1 HTTP 힌트 트랙(1122)의 HTTP 청크 포인터들은 인터리브된 제1 영상 청크 및 음성 청크를 가리킨다. 제2 HTTP 힌트 트랙(1124)의 HTTP 청크 포인터들은 인터리브된 제2 영상 청크 및 음성 청크를 가리킨다.The HTTP chunk pointers of the first HTTP hint track 1122 indicate the interleaved first video chunk and audio chunk. The HTTP chunk pointers of the second HTTP hint track 1124 indicate the interleaved second video chunk and audio chunk.
따라서, 트랙들(1112, 1114 및 1116)이 인터리브된 것과는 독립적으로, HTTP 청크를 구성하는 한 쌍의 A/V 청크들이 HTTP 청크 포인터에 의해 식별될 수 있다.Thus, independent of tracks 1112, 1114 and 1116 being interleaved, a pair of A / V chunks that make up an HTTP chunk can be identified by an HTTP chunk pointer.
따라서, 도 9를 참조하여 전술된 변환 방법은, 인터리브된 저장 방식의 원본 파일(1100)에 대해서도 적용될 수 있으며, 전술된 인터리브된 ISO 파일(950 및 970)이 생성될 수 있다.Accordingly, the conversion method described above with reference to FIG. 9 may be applied to the original file 1100 of the interleaved storage method, and the above-described interleaved ISO files 950 and 970 may be generated.
앞서 도 1 내지 도 10을 참조하여 설명된 본 발명의 일 실시예 및 일 예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical details according to one embodiment and one embodiment of the present invention described above with reference to FIGS. 1 to 10 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.
도 12는 본 발명의 일 실시예에 따른 인터리브된 저장 방식의 경량형 ISO 파일을 생성하는 방법의 흐름도이다.12 is a flowchart of a method for generating a lightweight ISO file of an interleaved storage method according to an embodiment of the present invention.
경량형 ISO 파일을 생성하기 위해 원본 파일이 요구된다. 원본 파일은 도 7, 도 9 및 도 11의 원본 파일(700, 900, 1100)일 수 있다. 원본 파일은 비-인터리브된 ISO 파일일 수 있고, 다중 트랙 ISO 파일일 수 있다. 원본 파일은 HTTP 힌트 트랙을 포함한다.The original file is required to create a lightweight ISO file. The original file may be the original files 700, 900, and 1100 of FIGS. 7, 9, and 11. The original file may be a non-interleaved ISO file and may be a multitrack ISO file. The original file contains an HTTP hint track.
경량형 ISO 파일은 원본 파일을 수정함으로써 생성될 수 있다. 즉, 경량형 ISO 파일은 원본 파일로부터 HTTP 힌트 트랙 및 사용되지 않는 미디어 트랙을 제거하고, 청크 옵셋을 변경함으로써 생성될 수 있다.Lightweight ISO files can be created by modifying the original file. That is, a lightweight ISO file can be created by removing HTTP hint tracks and unused media tracks from the original file and changing the chunk offset.
원본 파일은 하나 이상의 제1 영상 청크들, 하나 이상의 제1 음성 청크들 및 하나 이상의 제1 HTTP 청크 포인터들을 포함한다.The original file includes one or more first video chunks, one or more first voice chunks, and one or more first HTTP chunk pointers.
동작(1210)에서, 원본 파일 내의 HTTP 힌트 트랙들이 제거된다.At operation 1210, HTTP hint tracks in the original file are removed.
제1 HTTP 힌트 트랙들이 제거됨으로써 제1 HTTP 힌트 트랙에 의해 참조되는 제1 HTTP 청크 포인터들이 제거된다.The first HTTP hint tracks are removed so that the first HTTP chunk pointers referenced by the first HTTP hint track are removed.
동작(1220)에서, 원본 파일 내의 사용되지 않는 미디어 트랙들이 제거된다.At operation 1220, unused media tracks in the original file are removed.
동작(1220)은 원본 파일이 다중 트랙 ISO 파일일 경우 선택적으로 실행될 수 있다. Operation 1220 may optionally be executed when the original file is a multitrack ISO file.
동작(1230)에서, 청크 옵셋이 변경된다. 청크 옵셋의 변경은 제1 청크 옵셋이 계산된다는 것을 의미한다. 제1 청크 옵셋은 도 7을 참조하여 전술된 새 청크 옵셋을 나타낸다. 즉, 제1 경량형 ISO 파일 내에서의 n 번째 제1 HTTP 청크의 위치를 나타내는 n 번째 제1 청크 옵셋이 계산된다.In operation 1230, the chunk offset is changed. Changing the chunk offset means that the first chunk offset is calculated. The first chunk offset represents the new chunk offset described above with reference to FIG. 7. That is, an n th first chunk offset representing the position of the n th first HTTP chunk in the first lightweight ISO file is calculated.
동작(1240)에서, 경량형 ISO 파일을 위한 moov가 완성된다.In operation 1240, a moov for the lightweight ISO file is completed.
동작(1250)에서, HTTP 힌트 트랙을 사용함으로써 HTTP 청크들이 구성된다.In operation 1250, HTTP chunks are configured by using an HTTP hint track.
동작(1250)은 하기의 동작들을 포함할 수 있다. Operation 1250 can include the following operations.
동작(1252)에서, 제1 HTTP 청크 포인터들 중 n 번째 제1 HTTP 청크 포인터가 가리키는 제1 영상 청크들 중 n 번째 제1 영상 청크 및 제1 음성 청크들 중 n 번째 제1 음성 청크가 식별된다. n은 1 이상 제1 영상 청크들의 개수 이하의 값이다.In operation 1252, the n th first video chunk of the first video chunks pointed to by the n th first HTTP chunk pointer of the first HTTP chunk pointers and the n th first voice chunk of the first audio chunks are identified. . n is a value equal to or greater than 1 and the number of first image chunks.
동작(1254)에서, n 번째 제1 영상 청크 및 n 번째 제1 음성 청크가 제1 HTTP 청크들 중 n 번째 제1 HTTP 청크에 포함될 청크로 결정된다.In operation 1254, the n th first video chunk and the n th first voice chunk are determined as chunks to be included in the n th first HTTP chunk of the first HTTP chunks.
동작(1260)에서, 하나 이상의 제1 HTTP 청크들을 순차적으로 포함하는 제1 경량형 ISO 파일이 생성된다.In operation 1260, a first lightweight ISO file is created that sequentially includes one or more first HTTP chunks.
제1 경량형 ISO 파일이 생성되는 동작은, n 번째 제1 청크 옵셋을 사용함으로써 n 번째 제1 HTTP 청크를 상기 제1 경량형 ISO 파일 내에 배치하는 것일 수 있다.The operation of generating the first lightweight ISO file may include placing the nth first HTTP chunk in the first lightweight ISO file by using the nth first chunk offset.
제1 경량형 ISO 파일은 인터리브된 파일이다. 즉, 하나 이상의 제1 영상 청크들 및 하나 이상의 제1 음성 청크들은 제1 경량형 ISO 파일 내에 순차적으로 인터리브로 배치된다.The first lightweight ISO file is an interleaved file. That is, one or more first video chunks and one or more first audio chunks are sequentially interleaved within the first lightweight ISO file.
제1 경량형 ISO 파일은 전술된 인터리브된 ISO 파일(750, 950 또는 970)일 수 있다.The first lightweight ISO file may be the interleaved ISO file 750, 950 or 970 described above.
원본 파일이 다중 미디어 트랙 ISO 파일일 경우, 원본 파일은 제2 영상 청크들을 포함할 수 있다. 제1 영상 청크들이 나타내는 제1 영상 및 상기 제2 영상 청크들이 나타내는 제2 영상은 상이한 품질(예컨대, 비트율 또는 해상도)을 갖는다.If the original file is a multi-media track ISO file, the original file may include second video chunks. The first image represented by the first image chunks and the second image represented by the second image chunks have different qualities (eg, bit rate or resolution).
제1 경량형 ISO 파일에 대해 특정한 품질이 요청된 경우, 제1 영상은 제1 경량형 ISO 파일에 대해 요청된 품질에 대응하는 품질을 갖는 영상이다.When a specific quality is requested for the first lightweight ISO file, the first image is an image having a quality corresponding to the quality requested for the first lightweight ISO file.
제1 경량형 ISO 파일이 생성될 때, 동작(1220)에서, 제1 경량형 ISO 파일의 생성을 위해 사용되지 않는 제2 영상 청크들이 원본 파일로부터 제거될 수 있다.When the first lightweight ISO file is generated, at operation 1220, second image chunks that are not used for generation of the first lightweight ISO file may be removed from the original file.
전술된 인터리브된 저장 방식의 경량형 ISO 파일을 생성하는 방법에 의해 제1 경량형 파일과 함께 제2 경량형 파일이 동시에 또는 순차적으로 생성될 수 있다.The second lightweight file may be simultaneously or sequentially generated together with the first lightweight file by the method of generating the above-described interleaved storage type lightweight ISO file.
이 경우, 동작(1252)에서, 제2 HTTP 청크 포인터들 중 n 번째 제2 HTTP 청크 포인터가 가리키는 제2 영상 청크들 중 n 번째 제2 영상 청크 및 제1 음성 청크들 중 n 번째 제1 음성 청크가 식별된다.In this case, in operation 1252, the n th video chunk of the second video chunks and the n th first voice chunk of the first voice chunks pointed to by the n th HTTP chunk pointer of the second HTTP chunk pointers. Is identified.
또한, 동작(1254)에서, n 번째 제2 영상 청크 및 n 번째 제2 음성 청크가 제2 HTTP 청크들 중 n 번째 제2 HTTP 청크에 포함될 청크로 결정된다.Further, in operation 1254, the n th second video chunk and the n th second voice chunk are determined as chunks to be included in the n th second HTTP chunk of the second HTTP chunks.
또한, 동작(1260)에서, 하나 이상의 제2 HTTP 청크들을 순차적으로 포함하는 제2 경량형 ISO 파일이 생성된다. 하나 이상의 제2 영상 청크들 및 상기 하나 이상의 제2 음성 청크들은 제2 경량형 ISO 파일 내에 순차적으로 인터리브로 배치된다.Further, in operation 1260, a second lightweight ISO file is created that sequentially includes one or more second HTTP chunks. One or more second video chunks and the one or more second audio chunks are sequentially interleaved within a second lightweight ISO file.
앞서 도 1 내지 도 11을 참조하여 설명된 본 발명의 일 실시예 및 일 예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical contents according to one embodiment and one embodiment of the present invention described above with reference to FIGS. 1 to 11 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.
도 13은 본 발명의 일 실시예에 따른 품질 적응적 HTTP 스트리밍 서비스를 위한 인터리브된 ISO 파일들의 생성 방법을 나타낸다.13 illustrates a method of generating interleaved ISO files for quality adaptive HTTP streaming service according to an embodiment of the present invention.
인터리브된 ISO 파일들은 스트리밍 서비스에 의해 제공되는 멀티미디어 파일이다. 따라서, 본 실시예는 스트리밍 서비스를 위한 멀티미디어 파일 생성 방법을 나타낼 수 있다.Interleaved ISO files are multimedia files provided by a streaming service. Accordingly, the present embodiment may represent a method for generating a multimedia file for a streaming service.
HTTP 힌트 트랙 H1(1322)에 의해 제1 인터리브된 ISO 파일(1350)이 생성되면, 서버는 생성된 제1 인터리브된 ISO 파일(1350)을 HTTP 스트리밍 서비스를 통해 단말에게 제공할 수 있다.When the first interleaved ISO file 1350 is generated by the HTTP hint track H1 1322, the server may provide the generated first interleaved ISO file 1350 to the terminal through an HTTP streaming service.
제1 인터리브된 ISO 파일(1350)은 HTTP 힌트 트랙 H1(1322)의 HTTP 청크 포인터가 참조하는 제1 영상 트랙(1312) 및 제1 음성 트랙(1316)에 의해 생성된다.The first interleaved ISO file 1350 is generated by the first video track 1312 and the first audio track 1316 referenced by the HTTP chunk pointer of the HTTP hint track H1 1322.
HTTP 스트리밍 서비스가 실시되는 도중, 단말은 서버에게 HTTP 스트리밍 서비스에 의해 제공되는 콘텐츠의 품질의 변경을 요청할 수 있다. 변경된 품질은 HTTP 힌트 트랙 H2(1324)에 의해 제공될 수 있다. 즉, 변경된 품질은 HTTP 힌트 트랙 H2(1324)의 HTTP 청크 포인터가 참조하는 제2 영상 트랙(1314) 및 제1 음성 트랙(1316)에 의해 제공된다.During the HTTP streaming service, the terminal may request a server to change the quality of the content provided by the HTTP streaming service. The altered quality can be provided by HTTP hint track H2 1324. That is, the changed quality is provided by the second video track 1314 and the first audio track 1316 referenced by the HTTP chunk pointer of the HTTP hint track H2 1324.
따라서, 서버는 HTTP 힌트 트랙 H2(1324)을 사용하여 제2 인터리브된 ISO 파일(1370)을 생성하고, 생성된 제2 인터리브된 ISO 파일(1370)을 HTTP 스트리밍 서비스를 통해 단말에게 전송함으로써 품질 적응적 HTTP 스트리밍 서비스를 제공할 수 있다.Accordingly, the server generates the second interleaved ISO file 1370 using the HTTP hint track H2 1324 and transmits the generated second interleaved ISO file 1370 to the terminal through the HTTP streaming service. Can provide HTTP streaming services.
HTTP 스트리밍 서비스가 제공되는 경우, 서버는 제1 인터리브된 ISO 파일(1350)을 생성하면서 단말에게 생성된 제1 인터리브된 ISO 파일(1350)의 부분(즉, HTTP 청크들)을 순차적으로 단말에게 전송할 수 있다.When the HTTP streaming service is provided, the server sequentially sends a portion of the first interleaved ISO file 1350 (ie, HTTP chunks) generated to the terminal while generating the first interleaved ISO file 1350 to the terminal. Can be.
서버가 제1 인터리브된 ISO 파일(1350)을 생성하는 도중, 단말로부터 콘텐츠의 품질의 변경이 요청되면, 서버는 인터리브된 ISO 파일을 생성하기 위한 HTTP 힌트 트랙을 스위칭함으로써(즉, HTTP 힌트 트랙 H1(1322)에서 HTTP 힌트 트랙 H2(1324)로 ISO 파일을 생성하기 위한 HTTP 힌트 트랙이 스위칭됨.) 변경된 품질에 맞는 제2 인터리브된 ISO 파일(1370)을 생성할 수 있다.While the server generates the first interleaved ISO file 1350, if a change in the quality of the content is requested from the terminal, the server switches the HTTP hint track for generating the interleaved ISO file (ie, the HTTP hint track H1). The HTTP hint track for generating the ISO file is switched to the HTTP hint track H2 1324 at 1322.
HTTP 힌트 트랙 스위칭에 의한 품질 적응적 HTTP 스트리밍은 표준 ISO 파일 포맷의 트랙 선택(Track Selection; tsel) 박스를 사용함으로써 수행될 수 있다. tsel 박스에 의해 HTTP 힌트 트랙들(1322 및 1324)이 하나의 스위칭 그룹으로 설정될 수 있다. HTTP 힌트 트랙들(1322 및 1324)이 제공할 수 있는 품질은 속성(attribute) 정보를 통해 서버에게 제공될 수 있다.Quality adaptive HTTP streaming by HTTP hint track switching can be performed by using the Track Selection (tsel) box of the standard ISO file format. The HTTP hint tracks 1322 and 1324 can be set to one switching group by the tsel box. The quality that the HTTP hint tracks 1322 and 1324 can provide may be provided to the server via attribute information.
서버는 이 정보들을 바탕으로 다양한 품질을 제공하는 HTTP 힌트 트랙들(1322 및 1324) 간의 스위칭을 통해 품질 적응적 HTTP 스트리밍 서비스를 제공할 수 있다.Based on this information, the server can provide a quality adaptive HTTP streaming service through switching between HTTP hint tracks 1322 and 1324 providing various qualities.
도 13에서, HTTP 힌트 트랙 H1(1322)에 의해 k-1 번째까지의 HTTP 청크들이 단말에게 전송되었다. 제1 인터리브된 ISO 파일(1350)은 모든(즉, n 개의) HTTP 청크들을 포함할 수 있고, k-1 번째까지의 HTTP 청크들 만을 포함할 수도 있다.In FIG. 13, HTTP chunks up to the k-1 th are transmitted to the terminal by the HTTP hint track H1 1322. The first interleaved ISO file 1350 may include all (ie, n) HTTP chunks and may include only k-1th HTTP chunks.
k 번째 HTTP 청크부터는, 품질 변경 요청에 의해 HTTP 힌트 트랙 H2(1324)에 의해 생성된 HTTP 청크들이 HTTP 스트리밍 서비스에 의해 단말에게 전송된다.From the kth HTTP chunk, the HTTP chunks generated by the HTTP hint track H2 1324 by the quality change request are transmitted to the terminal by the HTTP streaming service.
품질 변경 요청은 다른 대안을 다운로드하기 위한 HTTP Get 요청을 통해 단말로부터 서버로 전송될 수 있다.The quality change request may be sent from the terminal to the server via an HTTP Get request to download another alternative.
제2 인터리브된 ISO 파일(1370)은 k 번째부터 n 번째까지의 HTTP 청크들을 포함한다.The second interleaved ISO file 1370 includes k th through n th HTTP chunks.
청크 단위의 정밀도로 HTTP 힌트 트랙이 스위칭되기 위해서는, 영상 트랙의 청크들에 포함되는 첫 번째 샘플이 I-프레임(frame)이 되도록 원본 파일(1300)이 제작되어야 한다.In order for the HTTP hint track to be switched with chunk precision, the original file 1300 must be produced such that the first sample included in the chunks of the video track is an I-frame.
일반적으로, 영상 청크는 수 초에 해당하는 복수 개의 GOP를 묶음으로써 구성된다. 따라서, 영상 청크의 첫 번째 샘플은 I-프레임으로 시작된다.In general, the image chunk is configured by grouping a plurality of GOPs corresponding to several seconds. Thus, the first sample of the picture chunk begins with an I-frame.
앞서 도 1 내지 도 12를 참조하여 설명된 본 발명의 일 실시예 및 일 예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical contents according to one embodiment and one embodiment of the present invention described above with reference to FIGS. 1 to 12 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.
도 14는 본 발명의 일 실시예에 따른 품질 적응적 HTTP 스트리밍 서비스 방법의 흐름도이다.14 is a flowchart of a quality adaptive HTTP streaming service method according to an embodiment of the present invention.
하기의 동작들(1420 내지 1475)은 서버(1400)에 의해 수행되는 스트리밍 서비스 송신 방법 및 단말(1410)에 의해 수행되는 스트리밍 서비스 수신 방법을 구성할 수 있다.The operations 1420 to 1475 may configure a streaming service transmission method performed by the server 1400 and a streaming service reception method performed by the terminal 1410.
동작(1420)에서, 서버(1400) 및 단말(즉, 클라이언트)(1410) 간의 연결이 설정되고 서비스가 초기화된다. 서버(1400)는 단말(1410)로 서비스 디스크립션 정보(service description information)를 전송한다.In operation 1420, a connection is established between the server 1400 and the terminal (ie, client) 1410 and the service is initiated. The server 1400 transmits service description information to the terminal 1410.
동작(1425)에서, 단말(1410)은 전송받을 콘텐츠 파일 및 콘텐츠 파일의 제1 품질을 선택한다. 전송받을 콘텐츠 파일은 제1 경량형 ISO 파일이다. 제1 경량형 ISO 파일은 선택된 제1 품질을 갖는 파일이다.In operation 1425, the terminal 1410 selects a content file to be transmitted and a first quality of the content file. The content file to be transferred is the first lightweight ISO file. The first lightweight ISO file is a file with the selected first quality.
단말(1400)은 제1 경량형 ISO 파일에 대한 품질을 나타내는 제1 품질 정보를 생성할 수 있다.The terminal 1400 may generate first quality information indicating the quality of the first lightweight ISO file.
동작(1430)에서, 단말(1410)은 서버(1400)에게 제1 경량형 ISO 파일을 요청한다. 상기의 요청은 HTTP GET 요청일 수 있다.In operation 1430, the terminal 1410 requests the server 1400 for the first lightweight ISO file. The request may be an HTTP GET request.
상기의 제1 경량형 ISO 파일에 대한 요청은 제1 경량형 ISO 파일에 대한 제1 품질 정보를 포함할 수 있다.The request for the first lightweight ISO file may include first quality information for the first lightweight ISO file.
서버(1400)는 제1 경량형 ISO 파일에 대한 요청을 단말로부터 수신한다.The server 1400 receives a request for the first lightweight ISO file from the terminal.
동작(1435)에서, 서버(1400)는 원본 파일에 기반하여 제1 경량형 ISO 파일을 생성한다. 제1 경량형 ISO 파일은 전술된 인터리브된 ISO 파일(950 또는 1350)일 수 있다. 즉, 제1 경량형 ISO 파일은 HTTP 힌트 트랙을 사용하여 생성된 경량형 ISO 파일이다.In operation 1435, the server 1400 generates a first lightweight ISO file based on the original file. The first lightweight ISO file may be the interleaved ISO file 950 or 1350 described above. That is, the first lightweight ISO file is a lightweight ISO file created using the HTTP hint track.
제1 경량형 ISO 파일을 생성하기 위한 동작이 도 12를 참조하여 전술되었다.An operation for generating a first lightweight ISO file has been described above with reference to FIG. 12.
제1 경량형 ISO 파일은 하나 이상의 제1 영상 청크들 및 하나 이상의 제1 음성 청크들을 포함하며, 제1 경량형 ISO 파일 내의 하나 이상의 제1 영상 청크들 및 하나 이상의 제1 음성 청크들은 인터리브되었다. 또한, 제1 영상 청크들은 제1 품질 정보에 대응하는 영상의 청크들이고, 제1 음성 청크들은 제1 품질 정보에 대응하는 음성의 청크들이다.The first lightweight ISO file includes one or more first video chunks and one or more first voice chunks, wherein the one or more first video chunks and one or more first voice chunks in the first lightweight ISO file are interleaved. Further, the first video chunks are chunks of the image corresponding to the first quality information, and the first audio chunks are chunks of the voice corresponding to the first quality information.
동작(1440)에서, 서버(1400)는 제1 경량형 ISO 파일을 단말(1410)에게 전송한다.In operation 1440, the server 1400 transmits the first lightweight ISO file to the terminal 1410.
서버(1400)는 HTTP 스트리밍을 통해 제1 경량형 ISO 파일을 단말(1410)에게 전송할 수 있다.The server 1400 may transmit the first lightweight ISO file to the terminal 1410 through HTTP streaming.
단말(1410)은 제1 경량형 ISO 파일을 스트리밍을 통해 서버(1400)로부터 수신한다.The terminal 1410 receives the first lightweight ISO file from the server 1400 through streaming.
동작(1445)에서, 단말(1410)은 제1 경량형 ISO 파일을 재생한다. 단말(1410)은 HTTP 스트리밍을 통해 서버(1400)로부터 제1 경량형 ISO 파일을 제공받는 동시에, 제1 경량형 ISO 파일 중 전송된 부분을 재생할 수 있다.In operation 1445, the terminal 1410 plays the first lightweight ISO file. The terminal 1410 may receive the first lightweight ISO file from the server 1400 through HTTP streaming and play the transmitted portion of the first lightweight ISO file.
동작(1450)에서, 단말(1410)은 보틀넥(bottleneck)을 감지한다. 보틀넥이 감지됨에 따라, 단말(1410)은 다른 대안(another alternative) 품질을 선택한다. 즉, 단말(1410)은 감지된 보틀넥에 기반하여 콘텐츠 파일의 제2 품질을 선택한다. 전송받을 콘텐츠 파일은 제2 경량형 ISO 파일이다. 제2 경량형 ISO 파일은 선택된 제2 품질을 갖는 파일이다.In operation 1450, the terminal 1410 detects a bottleneck. As the bottleneck is detected, the terminal 1410 selects another alternative quality. That is, the terminal 1410 selects a second quality of the content file based on the detected bottleneck. The content file to be transferred is a second lightweight ISO file. The second lightweight ISO file is a file with the selected second quality.
단말(1400)은 제2 경량형 ISO 파일에 대한 품질을 나타내는 제2 품질 정보를 생성할 수 있다.The terminal 1400 may generate second quality information indicating the quality of the second lightweight ISO file.
동작(1460)에서, 단말(1410)은 서버(1400)에게 제2 경량형 ISO 파일을 요청한다. 상기의 요청은 HTTP GET 요청일 수 있다.In operation 1460, the terminal 1410 requests the server 1400 for the second lightweight ISO file. The request may be an HTTP GET request.
상기의 제2 경량형 ISO 파일에 대한 요청은 제2 경량형 ISO 파일에 대한 제2 품질 정보를 포함할 수 있다.The request for the second lightweight ISO file may include second quality information for the second lightweight ISO file.
동작(1465)에서, 서버(1400)는 원본 파일에 기반하여 제2 경량형 ISO 파일을 생성한다. 제2 경량형 ISO 파일은 전술된 인터리브된 ISO 파일(970 또는 1370)일 수 있다. 즉, 제2 경량형 ISO 파일은 HTTP 힌트 트랙을 사용하여 생성된 경량형 ISO 파일이다.In operation 1465, the server 1400 generates a second lightweight ISO file based on the original file. The second lightweight ISO file may be the interleaved ISO file 970 or 1370 described above. That is, the second lightweight ISO file is a lightweight ISO file generated using the HTTP hint track.
제2 경량형 ISO 파일을 생성하기 위한 동작이 도 12 및 도 13을 참조하여 전술되었다.Operation for generating the second lightweight ISO file has been described above with reference to FIGS. 12 and 13.
제2 경량형 ISO 파일은 하나 이상의 제2 영상 청크들 및 하나 이상의 제1 음성 청크들을 포함하며, 제2 경량형 ISO 파일 내의 하나 이상의 제2 영상 청크들 및 하나 이상의 제1 음성 청크들은 인터리브되었다. 또한, 제2 영상 청크들은 제2 품질 정보에 대응하는 영상의 청크들이고, 제1 음성 청크들은 제2 품질 정보에 대응하는 음성의 청크들이다.The second lightweight ISO file includes one or more second video chunks and one or more first voice chunks, wherein the one or more second video chunks and one or more first voice chunks in the second lightweight ISO file are interleaved. Also, the second video chunks are chunks of the image corresponding to the second quality information, and the first audio chunks are chunks of the voice corresponding to the second quality information.
하나 이상의 제1 영상 청크들 및 하나 이상의 제2 영상 청크들은 동일한 내용의 영상(즉, 동일한 콘텐츠)의 상이한 품질을 갖는 청크들일 수 있다.The one or more first video chunks and the one or more second video chunks may be chunks having different qualities of the same content image (ie, the same content).
하나 이상의 제2 영상 청크들은 제2 경량형 ISO 파일에 대한 요청이 서버(1400)에게 수신되었을 때, 하나 이상의 제1 영상 청크들 중 제1 경량형 ISO 파일의 스트리밍 서비스에 의해 단말(1410)로 전송되지 않은 미전송된 제1 영상 청크들에 대응하는 영상 청크들일 수 있다.The one or more second video chunks are sent to the terminal 1410 by a streaming service of the first lightweight ISO file among the one or more first video chunks when a request for the second lightweight ISO file is received from the server 1400. It may be image chunks corresponding to untransmitted first image chunks that are not transmitted.
또한, 하나 이상의 제2 음성 청크들은 제2 경량형 ISO 파일에 대한 요청이 서버(1400)에게 수신되었을 때, 하나 이상의 제1 음성 청크들 중 제1 경량형 ISO 파일의 스트리밍 서비스에 의해 단말(1410)로 전송되지 않은 미전송된 제1 영상 음성들에 대응하는 영상 청크들일 수 있다.In addition, the one or more second voice chunks are received by the server 1400 when the request for the second lightweight ISO file is received by the server 1400 by the streaming service of the first lightweight ISO file among the one or more first voice chunks. ) May be video chunks corresponding to untransmitted first video voices that are not transmitted.
동작(1470)에서, 서버(1400)는 제2 경량형 ISO 파일을 단말(1410)에게 전송한다.In operation 1470, the server 1400 transmits the second lightweight ISO file to the terminal 1410.
서버(1400)는 HTTP 스트리밍을 통해 제2 경량형 ISO 파일을 단말(1410)에게 전송할 수 있다.The server 1400 may transmit the second lightweight ISO file to the terminal 1410 through HTTP streaming.
단말(1410)은 제2 경량형 ISO 파일을 스트리밍을 통해 서버(1400)로부터 수신한다.The terminal 1410 receives the second lightweight ISO file from the server 1400 through streaming.
동작(1475)에서, 단말(1410)은 제2 경량형 ISO 파일을 재생한다. 단말(1410)은 HTTP 스트리밍을 통해 서버(1400)로부터 제2 경량형 ISO 파일을 제공받는 동시에, 제2 경량형 ISO 파일 중 전송된 부분을 재생할 수 있다.In operation 1475, the terminal 1410 plays the second lightweight ISO file. The terminal 1410 may receive the second lightweight ISO file from the server 1400 through HTTP streaming and play the transmitted portion of the second lightweight ISO file.
단말(1410)은, 동작(1445)에서 재생하였던 제1 경량형 ISO 파일의 특정 지점의 이후의 부분에 대해서, 제2 경량형 ISO 파일을 사용하여 재생할 수 있다. 즉, 제1 경량형 ISO 파일 및 제2 경량형 ISO 파일이 순차적으로 재생됨으로써, 동작(1425)에서 선택된 콘텐츠가 품질이 스위칭되면서 계속적으로 재생될 수 있다.The terminal 1410 may reproduce the portion after the specific point of the first lightweight ISO file reproduced in operation 1445 using the second lightweight ISO file. That is, since the first lightweight ISO file and the second lightweight ISO file are sequentially played, the content selected in operation 1425 may be continuously played while the quality is switched.
인터리브된 저장 방식의 경량형 ISO 파일이 HTTP 스트리밍에 의해 제공됨에 의해, 단말(1410)은 콘텐츠의 다운로드에 소요되는 시간을 단축시킬 수 있다. 또한, IP 망의 트래픽 양이 감소될 수 있다.Since the lightweight ISO file of the interleaved storage method is provided by HTTP streaming, the terminal 1410 can shorten the time required for downloading the content. In addition, the traffic amount of the IP network can be reduced.
앞서 도 1 내지 도 13을 참조하여 설명된 본 발명의 일 실시예 및 일 예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical contents according to one embodiment and one embodiment of the present invention described above with reference to FIGS. 1 to 13 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.
도 15는 본 발명의 일 실시예에 따른 서버(1400)의 구조도이다.15 is a structural diagram of a server 1400 according to an embodiment of the present invention.
서버(1400)는 도 14을 참조하여 전술된 스트리밍 서비스 송신 방법을 수행하는 스트리밍 서비스 송신 장치이다. 또한, 서버(1400)는 경량형 ISO 파일을 생성할 수 있다. 따라서, 서버(1400)는 스트리밍 서비스를 위한 멀티미디어 파일 생성 장치이다.The server 1400 is a streaming service transmitter that performs the streaming service transmission method described above with reference to FIG. 14. In addition, the server 1400 may generate a lightweight ISO file. Therefore, the server 1400 is a multimedia file generating apparatus for the streaming service.
서버(1400)는 수신부(1510), 경량형 ISO 파일 생성부(1520) 및 전송부(1530)를 포함한다.The server 1400 includes a receiver 1510, a lightweight ISO file generator 1520, and a transmitter 1530.
수신부(1510)는 단말(1410)로부터 정보를 수신한다. 예컨대, 수신부(1510)는 단말(1410)로부터 연결 설정 및 서비스 초기화를 위한 정보를 수신하고, 제1 경량형 ISO 파일에 대한 요청 및 제2 경량형 ISO 파일에 대한 요청을 수신한다.The receiver 1510 receives information from the terminal 1410. For example, the receiver 1510 receives information for connection establishment and service initialization from the terminal 1410, and receives a request for a first lightweight ISO file and a request for a second lightweight ISO file.
전송부(1530)는 단말(1410)로 정보를 전송한다. 예컨대, 전송부(1530)는 연결 설정 및 서비스 초기화를 위한 정보를 단말(1410)로 전송하고, 제1 경량형 ISO 파일 및 제2 경량형 ISO 파일을 단말(1410)로 전송한다.The transmitter 1530 transmits information to the terminal 1410. For example, the transmitter 1530 transmits information for connection establishment and service initialization to the terminal 1410, and transmits a first lightweight ISO file and a second lightweight ISO file to the terminal 1410.
경량형 ISO 파일 생성부(1520)는 원본 파일에 기반하여 제1 경량형 ISO 파일 및 제2 경량형 ISO 파일을 생성한다.The lightweight ISO file generator 1520 generates a first lightweight ISO file and a second lightweight ISO file based on the original file.
경량형 ISO 파일 생성부(1520)는 경량형 ISO 파일을 생성하는 장치일 수 있다.The lightweight ISO file generator 1520 may be a device for generating a lightweight ISO file.
경량형 ISO 파일 생성부(1520)는 제1 영상 청크들, 하나 이상의 제1 음성 청크들 및 하나 이상의 제1 HTTP 청크 포인터들을 포함하는 원본 파일을 사용하여 인터리브된 저장 방식의 제1 경량형 ISO 파일을 생성할 수 있다. 또한, 경량형 ISO 파일 생성부(1520)는 제2 영상 청크들, 하나 이상의 제1 음성 청크들 및 하나 이상의 제2 HTTP 청크 포인터들을 포함하는 원본 파일을 사용하여 인터리브된 저장 방식의 제2 경량형 ISO 파일을 생성할 수 있다.The lightweight ISO file generator 1520 is a first lightweight ISO file of an interleaved storage method using an original file including first video chunks, one or more first voice chunks, and one or more first HTTP chunk pointers. Can be generated. In addition, the lightweight ISO file generator 1520 is a second lightweight type of storage method interleaved using an original file including second image chunks, one or more first voice chunks, and one or more second HTTP chunk pointers. You can create an ISO file.
경량형 ISO 파일 생성부(1520)는 HTTP 청크 식별부(1540), HTTP 청크 결정부(1550) 및 파일 생성부(1560)를 포함할 수 있다.The lightweight ISO file generation unit 1520 may include an HTTP chunk identification unit 1540, an HTTP chunk determination unit 1550, and a file generation unit 1560.
HTTP 청크 식별부(1540)는 전술된 동작(1252)을 수행한다. 예컨대, HTTP 청크 식별부(1540)는 제1 HTTP 청크 포인터들 중 n 번째 제1 HTTP 청크 포인터가 가리키는 제1 영상 청크들 중 n 번째 제1 영상 청크 및 제1 음성 청크들 중 n 번째 제1 음성 청크를 식별한다. 또한, HTTP 청크 식별부(1540)는 제2 HTTP 청크 포인터들 중 n 번째 제2 HTTP 청크 포인터가 가리키는 제2 영상 청크들 중 n 번째 제2 영상 청크 및 제1 음성 청크들 중 n 번째 제1 음성 청크를 식별한다.The HTTP chunk identifier 1540 performs the operation 1252 described above. For example, the HTTP chunk identification unit 1540 may include the n th first video chunk and the n th first voice among the first video chunks indicated by the n th first HTTP chunk pointer among the first HTTP chunk pointers. Identifies the chunk. In addition, the HTTP chunk identification unit 1540 may include the n th video chunk among the second video chunks indicated by the n th HTTP chunk pointer among the second HTTP chunk pointers, and the n th voice among the first voice chunks. Identifies the chunk.
HTTP 청크 결정부(1550)는 전술된 동작(1254)을 수행한다. 예컨대, HTTP 청크 결정부(1550)는 n 번째 제1 영상 청크 및 n 번째 제1 음성 청크를 제1 HTTP 청크들 중 n 번째 제1 HTTP 청크에 포함될 청크로 결정한다. 또한, HTTP 청크 결정부(1550)는 n 번째 제2 영상 청크 및 n 번째 제1 음성 청크를 제2 HTTP 청크들 중 n 번째 제2 HTTP 청크에 포함될 청크로 결정한다.The HTTP chunk determiner 1550 performs the operation 1254 described above. For example, the HTTP chunk determiner 1550 determines the n th first video chunk and the n th first voice chunk as chunks to be included in the n th first HTTP chunk among the first HTTP chunks. In addition, the HTTP chunk determiner 1550 determines the n-th second video chunk and the n-th first audio chunk as chunks to be included in the n-th second HTTP chunk among the second HTTP chunks.
파일 생성부(1560)는 전술된 동작(1260)을 수행한다. 예컨대, 파일 생성부(1560)는 하나 이상의 제1 HTTP 청크들을 순차적으로 포함하는 제1 경량형 ISO 파일을 생성한다. 또한, 파일 생성부(1560)는 하나 이상의 제2 HTTP 청크들을 순차적으로 포함하는 제2 경량형 ISO 파일을 생성한다.The file generator 1560 performs the above-described operation 1260. For example, the file generator 1560 generates a first lightweight ISO file that sequentially includes one or more first HTTP chunks. In addition, the file generator 1560 generates a second lightweight ISO file that sequentially includes one or more second HTTP chunks.
파일 생성부(1560)는 하나 이상의 제1 영상 청크들 및 하나 이상의 제1 음성 청크들을 제1 경량형 ISO 파일 내에 순차적으로 인터리브로 배치한다. 또한, 파일 생성부(1560)는 하나 이상의 제2 영상 청크들 및 하나 이상의 제1 음성 청크들을 제2 경량형 ISO 파일 내에 순차적으로 인터리브로 배치한다.The file generator 1560 sequentially interleaves one or more first video chunks and one or more first audio chunks in the first lightweight ISO file. In addition, the file generator 1560 sequentially interleaves one or more second image chunks and one or more first audio chunks in the second lightweight ISO file.
경량형 ISO 파일 생성부(1520)는 HTTP 힌트 트랙 제거부(1570), 미사용 미디어 트랙 제거부(1580) 및 청크 옵셋 변환부(1590)를 더 포함할 수 있다.The lightweight ISO file generator 1520 may further include an HTTP hint track remover 1570, an unused media track remover 1580, and a chunk offset converter 1590.
HTTP 힌트 트랙 제거부(1570)는 전술된 동작(1210)을 수행한다. HTTP 힌트 트랙 제거부(1570)는 HTTP 힌트 트랙 제거부(820 또는 1020)일 수 있다.The HTTP hint track remover 1570 performs the above-described operation 1210. The HTTP hint track remover 1570 may be an HTTP hint track remover 820 or 1020.
미사용 미디어 트랙 제거부(1580)는 전술된 동작(1220)을 수행한다. 미사용 미디어 트랙 제거부(1580)는 미디어 트랙 제거부(1030)일 수 있다.The unused media track remover 1580 performs the operation 1220 described above. The unused media track remover 1580 may be a media track remover 1030.
청크 옵셋 변환부(1590)는 전술된 동작(1230)을 수행한다. 청크 옵셋 변경부(1590)는 청크 옵셋 변환부(830 또는 1040)일 수 있다.The chunk offset converter 1590 performs the above-described operation 1230. The chunk offset changer 1590 may be a chunk offset converter 830 or 1040.
앞서 도 1 내지 도 14를 참조하여 설명된 본 발명의 일 실시예 및 일 예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical contents according to an embodiment and an example of the present invention described above with reference to FIGS. 1 to 14 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.
하기에서, 도 16 내지 도 20을 참조하여, HTTP 힌트 트랙을 ISO 파일 포맷에 저장하기 위한 HTTP 힌트 트랙 포맷과 관련된 신택스(syntax) 및 시맨틱(semantic)을 개시한다.In the following, with reference to FIGS. 16-20, the syntax and semantics associated with the HTTP hint track format for storing the HTTP hint track in the ISO file format are disclosed.
도 16는 본 발명의 일 예에 따른 샘플 디스크립션 박스(sample description box)(1600)를 나타낸다.16 illustrates a sample description box 1600 according to an embodiment of the present invention.
http(1610)는 HTTP 힌트 트랙을 위한 샘플 엔트리 명칭(sample entry name)이다. http 1610 is a sample entry name for the HTTP hint track.
힌트 트랙 버전(Hinttrackversion)(1620)은 1로 세팅된 값으로서, 현재의 힌트 트랙의 버전을 표시한다. Hinttrack version 1620 is a value set to 1 to indicate the version of the current hint track.
최대 호환성 버전(Highestcompatibleversion)(1630)은 1로 세팅된 값으로서, 상기의 현재의 힌트 트랙이 역 호환성(backward-compatibility)을 지원하는 가장 오래된 힌트 트랙의 버전을 표시한다.The highest compatible version 1630 is a value set to 1 to indicate the version of the oldest hint track for which the current hint track supports backward-compatibility.
부가 데이터(additional data)(1640)는 도 16과 같이 표시되는 box를 나타낸다. Additional data 1640 indicates a box displayed as shown in FIG. 16.
도 17은 본 발명의 일 예에 따른 부가 데이터(1640)을 나타낸다.17 illustrates additional data 1640 according to an embodiment of the present invention.
새 moov 옵셋(new_moov_offset)(1610) 인터리브된 저장 방식으로 새롭게 생성되는 ISO 파일의 moov의 크기를 나타낸다. new_moov_offset(1710)은 미디어 트랙의 청크 옵셋의 값을 변경할 때, 고려되어야 할 moov의 크기에 대한 옵셋 정보로써 사용된다.New moov offset (new_moov_offset) 1610 This indicates the size of the moov of the newly created ISO file with interleaved storage. new_moov_offset 1710 is used as offset information on the size of moov to be considered when changing the value of the chunk offset of the media track.
도 18은 본 발명의 일 예에 따른 HTTP 힌트 트랙 내의 샘플 포맷(1800)을 나타낸다.18 illustrates a sample format 1800 in an HTTP hint track according to an example of the present invention.
HTTP 힌트 트랙에서의 샘플은 복수 개의 미디어 트랙 내에 저장된 청크들을 하나로 묶은 HTTP 청크를 생성한다.The sample in the HTTP hint track produces an HTTP chunk that combines the chunks stored in the plurality of media tracks into one.
청크 카운트(chunkcount)(1810)는 생성되는 HTTP 청크들의 개수를 나타낸다.The chunk count 1810 indicates the number of HTTP chunks generated.
청크들(chunks)(1820)은 생성된 HTTP 청크들을 의미한다. chunks(1820)는 chunkcount(1810)가 나타내는 개수만큼 생성된다. Chunks 1820 mean the generated HTTP chunks. The chunks 1820 are generated as many as the chunkcount 1810 represents.
도 19는 본 발명의 일 예에 따른 패킷 엔트리 포맷(1900)을 나타낸다.19 illustrates a packet entry format 1900 according to an example of the present invention.
각각의 HTTP 청크는 HTTP 청크(HTTPchunk)(1910)의 구조에 따라 생성된다.Each HTTP chunk is created according to the structure of the HTTP chunk 1910.
엔트리 카운트(entry_count)(1920)는 HTTPchunk(1910)의 다음에 따라오는 테이블의 항목의 개수를 나타낸다.Entry count (entry_count) 1920 indicates the number of entries in the table following HTTPchunk 1910.
도 20는 본 발명의 일 예에 따른 생성자(constructor) 포맷(2000)을 나타낸다.20 illustrates a constructor format 2000 according to an embodiment of the present invention.
트랙 참조 인덱스(trackrefindex)(2010)는 복사를 통해 미디어의 청크 데이터를 가져오기 위해, 참조해야 할 미디어 트랙의 정보를 나타낸다.The trackref index 2010 indicates information of a media track to be referred to in order to obtain chunk data of the media through copying.
길이(length)(2020)는 복사해서 가져와야 할 미디어 청크의 길이를 바이트 단위로 나타낸다.The length 2020 indicates the length of a media chunk to be copied and obtained in bytes.
샘플 번호(Samplenumber)(2030)는 복사해서 가져와야 할 미디어 청크의 시작 지점에 위치하는 샘플의 번호를 나타낸다. Sample number 2030 indicates the number of the sample located at the start of the media chunk to be copied and taken.
청크 옵셋(Chunkoffset)(2040)은 복사해서 가져와야 할 미디어 청크의 시작 지점이 파일의 시작 지점으로부터 얼마나 떨어져 있는 지를 바이트 단위로 나타낸다. Chunkoffset 2040 indicates how far from the beginning of the file the starting point of the media chunk to be copied and retrieved in bytes.
새 청크 옵셋(new_chunk_offset)(2050)은 복사해서 가져온 청크가 인터리브된 저장 방식의 ISO 파일의 mdat에 저장될 때, 복사해서 가저온 청크가 mdat의 시작 지점으로부터 얼마나 떨어져 있는지를 바이트 단위로 나타낸다.The new chunk offset (new_chunk_offset) 2050 indicates how far away the copied chunks are from the start of the mdat in bytes when the copied chunks are stored in the mdat of the interleaved storage ISO file.
new_moov_offset(1610) 및 new_chunk_offset(2050)의 합을 계산함으로써, 인터리브된 저장 방식의 경량형 ISO 파일에 포함된 미디어 트랙의 stco 박스에 기록할 새 청크 옵셋 값이 빠르게 계산될 수 있다.By calculating the sum of new_moov_offset 1610 and new_chunk_offset 2050, a new chunk offset value to be recorded in the stco box of the media track included in the lightweight ISO file of the interleaved storage method can be quickly calculated.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Method according to an embodiment of the present invention is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

Claims (23)

  1. 제1 경량형 ISO 파일에 대한 요청을 단말로부터 수신하는 동작;Receiving a request for a first lightweight ISO file from the terminal;
    원본 파일에 기반하여 제1 경량형 ISO 파일을 생성하는 동작; 및Generating a first lightweight ISO file based on the original file; And
    상기 제1 경량형 ISO 파일을 스트리밍을 통해 상기 단말로 전송하는 동작Transmitting the first lightweight ISO file to the terminal through streaming;
    을 포함하고, 상기 제1 경량형 ISO 파일은 하나 이상의 제1 영상 청크들 및 하나 이상의 제1 음성 청크들을 포함하며, 상기 제1 경량형 ISO 파일 내의 상기 하나 이상의 제1 영상 청크들 및 상기 하나 이상의 제1 음성 청크들은 인터리브된, 스트리밍 서비스 송신 방법.Wherein the first lightweight ISO file includes one or more first image chunks and one or more first voice chunks, wherein the one or more first image chunks and the one or more within the first lightweight ISO file. The first voice chunks are interleaved.
  2. 제1항에 있어서,The method of claim 1,
    상기 제1 경량형 ISO 파일에 대한 요청은 상기 제1 경량형 ISO 파일에 대한 제1 품질 정보를 포함하고, 상기 제1 영상 청크들은 상기 제1 품질 정보에 대응하는 영상의 청크들이고, 상기 제1 음성 청크들은 상기 제1 품질 정보에 대응하는 음성의 청크들인, 스트리밍 서비스 송신 방법.The request for the first lightweight ISO file includes first quality information for the first lightweight ISO file, the first image chunks are chunks of an image corresponding to the first quality information, and the first Voice chunks are chunks of voice corresponding to the first quality information.
  3. 제1항에 있어서,The method of claim 1,
    상기 원본 파일에 기반하여 제1 경량형 ISO 파일을 생성하는 동작은,Generating a first lightweight ISO file based on the original file,
    상기 원본 파일에 포함된 제1 HTTP 청크 포인터들 중 n 번째 제1 HTTP 청크 포인터가 가리키는 상기 제1 영상 청크들 중 n 번째 제1 영상 청크 및 상기 제1 음성 청크들 중 n 번째 제1 음성 청크를 식별하는 동작 - n은 1 이상 제1 영상 청크들의 개수 이하의 값임 -;The n th video chunk of the first video chunks indicated by the n th first HTTP chunk pointer among the first HTTP chunk pointers included in the original file and the n th first audio chunk of the first audio chunks. Identifying-n is a value equal to or greater than 1 and equal to or less than the number of first image chunks;
    상기 n 번째 제1 영상 청크 및 상기 n 번째 제1 음성 청크를 제1 HTTP 청크들 중 n 번째 제1 HTTP 청크에 포함될 청크로 결정하는 동작 -; 및Determining the n th first video chunk and the n th first audio chunk as a chunk to be included in an n th first HTTP chunk among first HTTP chunks; And
    상기 하나 이상의 제1 HTTP 청크들을 순차적으로 포함하는 제1 경량형 ISO 파일을 생성하는 동작 - 상기 하나 이상의 제1 영상 청크들 및 상기 하나 이상의 제1 음성 청크들은 상기 제1 경량형 ISO 파일 내에 순차적으로 인터리브로 배치됨 - 을 포함하는, 스트리밍 서비스 송신 방법.Generating a first lightweight ISO file comprising the one or more first HTTP chunks sequentially, wherein the one or more first video chunks and the one or more first voice chunks are sequentially in the first lightweight ISO file. Interleaved-a streaming service transmission method.
  4. 제3항에 있어서,The method of claim 3,
    상기 원본 파일에 기반하여 제1 경량형 ISO 파일을 생성하는 동작은,Generating a first lightweight ISO file based on the original file,
    상기 제1 경량형 ISO 파일 내에서의 상기 n 번째 HTTP 청크의 위치를 나타내는 n 번째 청크 옵셋을 계산하는 동작Calculate an nth chunk offset indicative of the location of the nth HTTP chunk in the first lightweight ISO file.
    을 더 포함하고,More,
    상기 제1 경량형 ISO 파일을 생성하는 동작은 상기 n 번째 청크 옵셋을 사용함으로써 상기 n 번째 HTTP 청크를 상기 제1 경량형 ISO 파일 내에 배치하는, 스트리밍 서비스 송신 방법.Generating the first lightweight ISO file comprises placing the nth HTTP chunk within the first lightweight ISO file by using the nth chunk offset.
  5. 제1항에 있어서,The method of claim 1,
    제2 경량형 ISO 파일에 대한 요청을 상기 단말로부터 수신하는 동작;Receiving a request for a second lightweight ISO file from the terminal;
    상기 원본 파일에 기반하여 제2 경량형 ISO 파일을 생성하는 동작; 및Generating a second lightweight ISO file based on the original file; And
    상기 제2 경량형 ISO 파일을 스트리밍을 통해 상기 단말로 전송하는 동작Transmitting the second lightweight ISO file to the terminal through streaming;
    을 더 포함하고, 상기 제2 경량형 ISO 파일은 하나 이상의 제2 영상 청크들 및 하나 이상의 제2 음성 청크들을 포함하며, 상기 제2 경량형 ISO 파일 내의 상기 하나 이상의 제2 영상 청크들 및 상기 하나 이상의 제2 음성 청크들은 인터리브된, 스트리밍 서비스 송신 방법.Wherein the second lightweight ISO file includes one or more second image chunks and one or more second voice chunks, wherein the one or more second image chunks and the one in the second lightweight ISO file. And the second voice chunks are interleaved.
  6. 제5항에 있어서,The method of claim 5,
    상기 하나 이상의 제2 영상 청크들은 상기 제2 경량형 ISO 파일에 대한 요청이 수신되었을 때 상기 하나 이상의 제1 영상 청크들 중 상기 제1 경량형 ISO 파일의 스트리밍 서비스에 의해 상기 단말로 전송되지 않은 미전송된 제1 영상 청크들에 대응하는 영상 청크들이고, 상기 하나 이상의 제2 음성 청크들은 상기 제2 경량형 ISO 파일에 대한 요청이 수신되었을 때 상기 하나 이상의 제1 음성 청크들 중 상기 제1 경량형 ISO 파일의 스트리밍 서비스에 의해 상기 단말로 전송되지 않은 미전송된 제1 영상 음성들에 대응하는 영상 청크들인, 스트리밍 서비스 송신 방법.The one or more second video chunks are not transmitted to the terminal by a streaming service of the first lightweight ISO file among the one or more first video chunks when a request for the second lightweight ISO file is received. Video chunks corresponding to the first video chunks transmitted, wherein the one or more second voice chunks are the first light one of the one or more first voice chunks when a request for the second light weight ISO file is received. And video chunks corresponding to unsent first video voices not transmitted to the terminal by a streaming service of an ISO file.
  7. 제5항에 있어서,The method of claim 5,
    상기 제1 경량형 ISO 파일에 대한 요청은 상기 제1 경량형 ISO 파일에 대한 제1 품질 정보를 포함하고, 상기 제2 경량형 ISO 파일에 대한 요청은 상기 제2 경량형 ISO 파일에 대한 제2 품질 정보를 포함하고, 상기 제1 영상 청크들은 상기 제1 품질 정보에 대응하는 영상의 청크들이고, 상기 제2 영상 청크들은 상기 제2 품질 정보에 대응하는 영상의 청크들이고, 상기 제1 음성 청크들은 상기 제1 품질 정보에 대응하는 음성의 청크들이고, 상기 제2 음성 청크들은 상기 제2 품질 정보에 대응하는 음성의 청크들인, 스트리밍 서비스 송신 방법.The request for the first lightweight ISO file includes first quality information for the first lightweight ISO file, and the request for the second lightweight ISO file includes a second for the second lightweight ISO file. The first image chunks are chunks of an image corresponding to the first quality information, the second image chunks are chunks of an image corresponding to the second quality information, and the first audio chunks And chunks of voice corresponding to the first quality information, and the second voice chunks are chunks of voice corresponding to the second quality information.
  8. 제7항에 있어서,The method of claim 7, wherein
    상기 하나 이상의 제1 영상 청크들 및 상기 하나 이상의 제2 영상 청크들은 동일한 내용의 영상의 상이한 품질을 갖는 청크들인, 스트리밍 서비스 송신 방법.And the one or more first video chunks and the one or more second video chunks are chunks having different qualities of video of the same content.
  9. 제5항에 있어서,The method of claim 5,
    상기 원본 파일에 기반하여 제2 경량형 ISO 파일을 생성하는 동작은,Generating a second lightweight ISO file based on the original file,
    상기 원본 파일에 포함된 제2 HTTP 청크 포인터들 중 n 번째 제2 HTTP 청크 포인터가 가리키는 상기 제2 영상 청크들 중 n 번째 제2 영상 청크 및 상기 제2 음성 청크들 중 n 번째 제2 음성 청크를 식별하는 동작 - n은 m 이상 제2 영상 청크들의 개수 이하의 값임, m은 상기 제2 경량형 ISO 파일에 대한 요청이 수신되었을 때 상기 제1 경량형 ISO 파일 내의 상기 하나 이상의 제1 영상 청크 중 스트리밍 서비스를 통해 상기 단말로 전송되지 않은 최초의 상기 제1 영상 청크의 인덱스임 -;The n th video chunk of the second video chunks and the n th voice chunk of the second audio chunks indicated by the n th HTTP chunk pointer of the second HTTP chunk pointers included in the original file. Identifying-n is a value greater than or equal to m and less than the number of second image chunks, m being one of the one or more first image chunks in the first lightweight ISO file when a request for the second lightweight ISO file is received; An index of the first first video chunk not sent to the terminal via a streaming service;
    상기 n 번째 제2 영상 청크 및 상기 n 번째 제2 음성 청크를 제2 HTTP 청크들 중 n 번째 제2 HTTP 청크에 포함될 청크로 결정하는 동작; 및Determining the nth second video chunk and the nth second voice chunk as chunks to be included in an nth second HTTP chunk among second HTTP chunks; And
    상기 하나 이상의 제2 HTTP 청크들을 순차적으로 포함하는 제2 경량형 ISO 파일을 생성하는 동작 - 상기 하나 이상의 제2 영상 청크들 및 상기 하나 이상의 제2 음성 청크들은 상기 제2 경량형 ISO 파일 내에 순차적으로 인터리브로 배치됨 - 을 포함하는, 스트리밍 서비스 송신 방법.Generating a second lightweight ISO file that sequentially includes the one or more second HTTP chunks, wherein the one or more second video chunks and the one or more second voice chunks are sequentially in the second lightweight ISO file. Interleaved-a streaming service transmission method.
  10. 제1 경량형 ISO 파일에 대한 요청을 단말로부터 수신하는 수신부;A receiving unit receiving a request for a first lightweight ISO file from a terminal;
    원본 파일에 기반하여 제1 경량형 ISO 파일을 생성하는 경량형 ISO 파일 생성부; 및A lightweight ISO file generation unit generating a first lightweight ISO file based on the original file; And
    상기 제1 경량형 ISO 파일을 스트리밍을 통해 상기 단말로 전송하는 전송부Transmission unit for transmitting the first lightweight ISO file to the terminal through streaming
    를 포함하고, 상기 경량형 ISO 파일 생성부는 상기 제1 경량형 ISO 파일 내에 하나 이상의 제1 영상 청크들 및 하나 이상의 제1 음성 청크들을 인터리브로 포함시키는, 스트리밍 서비스 송신 장치.And the lightweight ISO file generator interleaving one or more first video chunks and one or more first voice chunks in the first lightweight ISO file.
  11. 제1 경량형 ISO 파일에 대한 요청을 서버로 전송하는 동작;Sending a request for a first lightweight ISO file to a server;
    원본 파일에 기반하여 생성된 제1 경량형 ISO 파일을 스트리밍을 통해 상기 서버로부터 수신하는 동작;Receiving a first lightweight ISO file generated based on an original file from the server through streaming;
    제2 경량형 ISO 파일에 대한 요청을 상기 서버로 전송하는 동작; 및Sending a request for a second lightweight ISO file to the server; And
    상기 원본 파일에 기반하여 생성된 제2 경량형 ISO 파일을 스트리밍을 통해 상기 서버로부터 수신하는 동작;Receiving a second lightweight ISO file generated based on the original file from the server through streaming;
    을 포함하고, 상기 제1 경량형 ISO 파일은 하나 이상의 제1 영상 청크들 및 하나 이상의 제1 음성 청크들을 포함하며, 상기 제2 경량형 ISO 파일은 하나 이상의 제2 영상 청크들 및 하나 이상의 제2 음성 청크들을 포함하며, 상기 제1 경량형 ISO 파일 내의 상기 하나 이상의 제1 영상 청크들 및 상기 하나 이상의 제1 음성 청크들은 인터리브되고, 상기 제2 경량형 ISO 파일 내의 상기 하나 이상의 제2 영상 청크들 및 상기 하나 이상의 제2 음성 청크들은 인터리브된, 스트리밍 서비스 수신 방법.Wherein the first lightweight ISO file comprises one or more first video chunks and one or more first voice chunks, and the second lightweight ISO file comprises one or more second video chunks and one or more second Voice chunks, wherein the one or more first video chunks in the first lightweight ISO file and the one or more first voice chunks are interleaved and the one or more second video chunks in the second lightweight ISO file. And the one or more second voice chunks are interleaved.
  12. 제11항에 있어서,The method of claim 11,
    상기 제1 경량형 ISO 파일에 대한 품질을 나타내는 제1 품질 정보를 생성하는 동작; 및Generating first quality information indicating the quality of the first lightweight ISO file; And
    상기 제2 경량형 ISO 파일에 대한 품질을 나타내는 제2 품질 정보를 생성하는 동작;Generating second quality information indicating a quality of the second lightweight ISO file;
    을 더 포함하고,More,
    상기 제1 경량형 ISO 파일에 대한 요청은 상기 제1 품질 정보를 포함하고, 상기 제2 경량형 ISO 파일에 대한 요청은 상기 제2 품질 정보를 포함하고, 상기 제1 영상 청크들은 상기 제1 품질 정보에 대응하는 영상의 청크들이고, 상기 제2 영상 청크들은 상기 제2 품질 정보에 대응하는 영상의 청크들이고, 상기 제1 음성 청크들은 상기 제1 품질 정보에 대응하는 음성의 청크들이고, 상기 제2 음성 청크들은 상기 제2 품질 정보에 대응하는 음성의 청크들인, 스트리밍 서비스 수신 방법.The request for the first lightweight ISO file includes the first quality information, the request for the second lightweight ISO file includes the second quality information, and the first image chunks include the first quality. Chunks of the image corresponding to the information, the second image chunks are the chunks of the image corresponding to the second quality information, and the first voice chunks are the chunks of the voice corresponding to the first quality information. Voice chunks are chunks of voice corresponding to the second quality information.
  13. 제1 경량형 ISO 파일에 대한 요청을 서버로 전송하는 동작;Sending a request for a first lightweight ISO file to a server;
    원본 파일에 기반하여 생성된 제1 경량형 ISO 파일을 스트리밍을 통해 상기 서버로부터 수신하는 동작;Receiving a first lightweight ISO file generated based on an original file from the server through streaming;
    제2 경량형 ISO 파일에 대한 요청을 상기 서버로 전송하는 동작; 및Sending a request for a second lightweight ISO file to the server; And
    상기 원본 파일에 기반하여 생성된 제2 경량형 ISO 파일을 스트리밍을 통해 상기 서버로부터 수신하는 동작;Receiving a second lightweight ISO file generated based on the original file from the server through streaming;
    을 수행하고, 상기 제1 경량형 ISO 파일은 하나 이상의 제1 영상 청크들 및 하나 이상의 제1 음성 청크들을 포함하며, 상기 제2 경량형 ISO 파일은 하나 이상의 제2 영상 청크들 및 하나 이상의 제2 음성 청크들을 포함하며, 상기 제1 경량형 ISO 파일 내의 상기 하나 이상의 제1 영상 청크들 및 상기 하나 이상의 제1 음성 청크들은 인터리브되고, 상기 제2 경량형 ISO 파일 내의 상기 하나 이상의 제2 영상 청크들 및 상기 하나 이상의 제2 음성 청크들은 인터리브된, 스트리밍 서비스 수신 장치.The first lightweight ISO file includes one or more first video chunks and one or more first audio chunks, and the second lightweight ISO file includes one or more second video chunks and one or more second video chunks. Voice chunks, wherein the one or more first video chunks in the first lightweight ISO file and the one or more first voice chunks are interleaved and the one or more second video chunks in the second lightweight ISO file. And the one or more second voice chunks are interleaved.
  14. 제11항에 있어서,The method of claim 11,
    상기 제1 경량형 ISO 파일에 대한 품질을 나타내는 제1 품질 정보를 생성하는 동작; 및Generating first quality information indicating the quality of the first lightweight ISO file; And
    상기 제2 경량형 ISO 파일에 대한 품질을 나타내는 제2 품질 정보를 생성하는 동작;Generating second quality information indicating a quality of the second lightweight ISO file;
    을 더 수행하고,Do more,
    상기 제1 경량형 ISO 파일에 대한 요청은 상기 제1 품질 정보를 포함하고, 상기 제2 경량형 ISO 파일에 대한 요청은 상기 제2 품질 정보를 포함하고, 상기 제1 영상 청크들은 상기 제1 품질 정보에 대응하는 영상의 청크들이고, 상기 제2 영상 청크들은 상기 제2 품질 정보에 대응하는 영상의 청크들이고, 상기 제1 음성 청크들은 상기 제1 품질 정보에 대응하는 음성의 청크들이고, 상기 제2 음성 청크들은 상기 제2 품질 정보에 대응하는 음성의 청크들인, 스트리밍 서비스 수신 장치.The request for the first lightweight ISO file includes the first quality information, the request for the second lightweight ISO file includes the second quality information, and the first image chunks include the first quality. Chunks of the image corresponding to the information, the second image chunks are the chunks of the image corresponding to the second quality information, and the first voice chunks are the chunks of the voice corresponding to the first quality information. Voice chunks are chunks of voice corresponding to the second quality information.
  15. 하나 이상의 제1 영상 청크들, 하나 이상의 제1 음성 청크들 및 하나 이상의 제1 HTTP 청크 포인터들을 포함하는 원본 파일을 사용하여 스트리밍 서비스를 위한 멀티미더어 파일을 생성하는 방법에 있어서,1. A method of generating a multimedia file for a streaming service using an original file comprising one or more first video chunks, one or more first voice chunks and one or more first HTTP chunk pointers.
    상기 제1 HTTP 청크 포인터들 중 n 번째 제1 HTTP 청크 포인터가 가리키는 상기 제1 영상 청크들 중 n 번째 제1 영상 청크 및 상기 제1 음성 청크들 중 n 번째 제1 음성 청크를 식별하는 동작 - n은 1 이상 제1 영상 청크들의 개수 이하의 값임 -;Identifying an n th first video chunk of the first video chunks pointed to by an n th HTTP chunk pointer of the first HTTP chunk pointers and an n th first voice chunk of the first voice chunks; Is a value equal to or greater than 1 and equal to or less than the number of first image chunks;
    상기 n 번째 제1 영상 청크 및 상기 n 번째 제1 음성 청크를 제1 HTTP 청크들 중 n 번째 제1 HTTP 청크에 포함될 청크로 결정하는 동작 -; 및Determining the n th first video chunk and the n th first audio chunk as a chunk to be included in an n th first HTTP chunk among first HTTP chunks; And
    상기 하나 이상의 제1 HTTP 청크들을 순차적으로 포함하는 제1 경량형 ISO 파일을 생성하는 동작 - 상기 하나 이상의 제1 영상 청크들 및 상기 하나 이상의 제1 음성 청크들은 상기 제1 경량형 ISO 파일 내에 순차적으로 인터리브로 배치됨 - 을 포함하는, 스트리밍 서비스를 위한 멀티미디어 파일 생성 방법.Generating a first lightweight ISO file comprising the one or more first HTTP chunks sequentially, wherein the one or more first video chunks and the one or more first voice chunks are sequentially in the first lightweight ISO file. Arranged in interleaving.
  16. 제15항에 있어서,The method of claim 15,
    상기 제1 경량형 ISO 파일 내에서의 상기 n 번째 제1 HTTP 청크의 위치를 나타내는 n 번째 제1 청크 옵셋을 계산하는 동작Calculate an n th first chunk offset indicative of the location of the n th first HTTP chunk in the first lightweight ISO file.
    을 더 포함하고,More,
    상기 제1 경량형 ISO 파일을 생성하는 동작은 상기 n 번째 제1 청크 옵셋을 사용함으로써 상기 n 번째 제1 HTTP 청크를 상기 제1 경량형 ISO 파일 내에 배치하는, 스트리밍 서비스를 위한 멀티미디어 파일 생성 방법.The generating of the first lightweight ISO file may include placing the nth first HTTP chunk within the first lightweight ISO file by using the nth first chunk offset.
  17. 제15항에 있어서,The method of claim 15,
    상기 원본 파일로부터 상기 제1 HTTP 청크 포인터들을 제거하는 동작Removing the first HTTP chunk pointers from the original file
    을 더 포함하고, 상기 제1 경량형 ISO 파일은 상기 원본 파일을 수정함으로써 생성되는, 스트리밍 서비스를 위한 멀티미디어 파일 생성 방법.Further comprising the first lightweight ISO file generated by modifying the original file.
  18. 제15항에 있어서,The method of claim 15,
    상기 제1 경량형 ISO 파일은 moov 박스 및 mdat 박스를 포함하고, 상기 mdat 박스는 상기 제1 HTTP 청크들을 포함하고, 상기 moov 박스는 제1 영상 트랙 및 제1 음성 트랙을 포함하고, 상기 제1 영상 트랙 및 상기 제1 음성 트랙은 상기 제1 HTTP 청크들을 참조하는, 스트리밍 서비스를 위한 멀티미디어 파일 생성 방법.The first lightweight ISO file includes a moov box and a mdat box, the mdat box includes the first HTTP chunks, the moov box includes a first video track and a first audio track, and the first The video track and the first audio track refer to the first HTTP chunks.
  19. 제15항에 있어서,The method of claim 15,
    상기 원본 파일은 moov 박스 및 mdat 박스를 포함하고, 상기 mdat 박스는 상기 제1 영상 청크들 및 상기 제1 음성 청크들을 포함하고, 상기 moov 박스는 제1 영상 트랙, 제1 음성 트랙 및 제1 HTTP 힌트 트랙을 포함하고, 상기 제1 영상 트랙은 상기 제1 영상 청크들을 참조하고, 상기 제1 음성 트랙은 상기 제1 음성 청크들을 참조하고, 상기 제1 HTTP 힌트 트랙은 상기 청크 옵셋들을 참조하는, 스트리밍 서비스를 위한 멀티미디어 파일 생성 방법.The original file includes a moov box and a mdat box, the mdat box includes the first video chunks and the first audio chunks, and the moov box includes a first video track, a first audio track, and a first HTTP. A hint track, wherein the first video track refers to the first video chunks, the first voice track refers to the first voice chunks, and the first HTTP hint track refers to the chunk offsets. How to create a multimedia file for streaming service.
  20. 제15항에 있어서,The method of claim 15,
    상기 원본 파일은 제2 영상 청크들을 포함하며,The original file includes second image chunks,
    상기 제1 영상 청크들이 나타내는 제1 영상 및 상기 제2 영상 청크들이 나타내는 제2 영상은 상이한 품질을 갖고,The first image represented by the first image chunks and the second image represented by the second image chunks have different qualities.
    상기 제1 영상은 상기 제1 경량형 ISO 파일에 대해 요청된 품질에 대응하는 품질을 갖는, 스트리밍 서비스를 위한 멀티미디어 파일 생성 방법.The first image has a quality corresponding to the quality requested for the first lightweight ISO file, multimedia file generation method for a streaming service.
  21. 제20항에 있어서,The method of claim 20,
    상기 원본 파일로부터 상기 제2 영상 청크들을 제거하는 동작Removing the second image chunks from the original file
    을 더 포함하고, 상기 제1 경량형 ISO 파일은 상기 원본 파일을 수정함으로써 생성되는, 스트리밍 서비스를 위한 멀티미디어 파일 생성 방법.Further comprising the first lightweight ISO file generated by modifying the original file.
  22. 제20항에 있어서,The method of claim 20,
    상기 원본 파일은 제2 HTTP 청크 포인터들을 포함하고,The original file includes second HTTP chunk pointers,
    상기 제2 HTTP 청크 포인터들 중 n 번째 제2 HTTP 청크 포인터가 가리키는 상기 제2 영상 청크들 중 n 번째 제2 영상 청크 및 상기 제1 음성 청크들 중 n 번째 상기 제1 음성 청크를 식별하는 동작 - n은 1 이상 제1 영상 청크들의 개수 이하의 값임 -;Identifying an n th second video chunk of the second video chunks pointed to by the n th second HTTP chunk pointer of the second HTTP chunk pointers and the n th first voice chunk of the first voice chunks; n is a value equal to or greater than 1 and equal to or less than the number of first image chunks;
    상기 n 번째 제2 영상 청크 및 상기 n 번째 제2 음성 청크를 제2 HTTP 청크들 중 n 번째 제2 HTTP 청크에 포함될 청크로 결정하는 동작 -; 및Determining the nth second video chunk and the nth second voice chunk as chunks to be included in an nth second HTTP chunk of second HTTP chunks; And
    상기 하나 이상의 제2 HTTP 청크들을 순차적으로 포함하는 제2 경량형 ISO 파일을 생성하는 동작 - 상기 하나 이상의 제2 영상 청크들 및 상기 하나 이상의 제2 음성 청크들은 상기 제2 경량형 ISO 파일 내에 순차적으로 인터리브로 배치됨 - 을 더 포함하는, 스트리밍 서비스를 위한 멀티미디어 파일 생성 방법.Generating a second lightweight ISO file that sequentially includes the one or more second HTTP chunks, wherein the one or more second video chunks and the one or more second voice chunks are sequentially in the second lightweight ISO file. Disposed interleaved-further comprising: a method for generating a multimedia file for a streaming service.
  23. 하나 이상의 제1 영상 청크들, 하나 이상의 제1 음성 청크들 및 하나 이상의 제1 HTTP 청크 포인터들을 포함하는 원본 파일을 사용하여 스트리밍 서비스를 위한 멀티미디어 파일을 생성하는 장치에 있어서,An apparatus for generating a multimedia file for a streaming service using an original file comprising one or more first video chunks, one or more first voice chunks, and one or more first HTTP chunk pointers.
    상기 제1 HTTP 청크 포인터들 중 n 번째 제1 HTTP 청크 포인터가 가리키는 상기 제1 영상 청크들 중 n 번째 제1 영상 청크 및 상기 제1 음성 청크들 중 n 번째 제1 음성 청크를 식별하는 HTTP 청크 식별부 - n은 1 이상 제1 영상 청크들의 개수 이하의 값임 -;An HTTP chunk identification identifying an nth first video chunk of the first video chunks and an nth first voice chunk of the first voice chunks indicated by an nth HTTP chunk pointer of the first HTTP chunk pointers. Negative-n is a value greater than or equal to one and less than or equal to the number of first image chunks;
    상기 n 번째 제1 영상 청크 및 상기 n 번째 제1 음성 청크를 제1 HTTP 청크들 중 n 번째 제1 HTTP 청크에 포함될 청크로 결정하는 HTTP 청크 결정부 -; 및An HTTP chunk determining unit configured to determine the n th first video chunk and the n th first audio chunk as chunks to be included in an n th first HTTP chunk among first HTTP chunks; And
    상기 하나 이상의 제1 HTTP 청크들을 순차적으로 포함하는 제1 경량형 ISO 파일을 생성하는 파일 생성부File generation unit for generating a first lightweight ISO file containing the one or more first HTTP chunks in sequence
    를 포함하고, 상기 파일 생성부는 상기 하나 이상의 제1 영상 청크들 및 상기 하나 이상의 제1 음성 청크들을 상기 제1 경량형 ISO 파일 내에 순차적으로 인터리브로 배치하는, 스트리밍 서비스를 위한 멀티미디어 파일 생성 장치.Wherein the file generator is configured to sequentially interleave the one or more first video chunks and the one or more first voice chunks within the first lightweight ISO file.
PCT/KR2011/005221 2010-07-16 2011-07-15 Apparatus and method for transceiving a streaming service WO2012008792A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/810,600 US20130124699A1 (en) 2010-07-16 2011-07-15 Apparatus and method for transceiving a streaming service

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US36516310P 2010-07-16 2010-07-16
US61/365,163 2010-07-16
US36584910P 2010-07-20 2010-07-20
US61/365,849 2010-07-20
KR1020110030807A KR20120008432A (en) 2010-07-16 2011-04-04 Method and apparatus for transmitting/receiving streaming service
KR10-2011-0030807 2011-04-04

Publications (2)

Publication Number Publication Date
WO2012008792A2 true WO2012008792A2 (en) 2012-01-19
WO2012008792A3 WO2012008792A3 (en) 2012-04-26

Family

ID=45469952

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/005221 WO2012008792A2 (en) 2010-07-16 2011-07-15 Apparatus and method for transceiving a streaming service

Country Status (1)

Country Link
WO (1) WO2012008792A2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080048054A (en) * 2005-09-01 2008-05-30 노키아 코포레이션 Method for embedding svg content into an iso base media file format for progressive downloading and streaming of rich media content
KR20080074953A (en) * 2005-11-08 2008-08-13 노키아 코포레이션 System and method for providnig feedback and forward transmission for remote interaction in rich media applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080048054A (en) * 2005-09-01 2008-05-30 노키아 코포레이션 Method for embedding svg content into an iso base media file format for progressive downloading and streaming of rich media content
KR20080074953A (en) * 2005-11-08 2008-08-13 노키아 코포레이션 System and method for providnig feedback and forward transmission for remote interaction in rich media applications

Also Published As

Publication number Publication date
WO2012008792A3 (en) 2012-04-26

Similar Documents

Publication Publication Date Title
WO2012125006A2 (en) Apparatus and method for providing streaming content using representations
WO2015002500A1 (en) Method and apparatus for transmitting/receiving media broadcasting signal in real time transport protocol-based broadcasting system
WO2011105811A2 (en) Method and apparatus for transmitting and receiving data
WO2011071290A2 (en) Streaming method and apparatus operating by inserting other content into main content
WO2013048148A2 (en) Method and apparatus for transmitting and receiving content
WO2012033319A2 (en) Apparatus and method for providing streaming content
WO2014209057A1 (en) Method and device for transmitting and receiving broadcast service in hybrid broadcast system on basis of connection of terrestrial broadcast network and internet protocol network
WO2012011724A2 (en) Method for transceiving media files and device for transmitting/receiving using same
WO2012047028A2 (en) Apparatus and method for providing streaming content
WO2016018042A1 (en) Apparatus and method for transmitting/receiving processes of a broadcast signal
WO2011059291A2 (en) Method and apparatus for transmitting and receiving data
WO2014171718A1 (en) Broadcasting transmission device, broadcasting reception device, operating method of broadcasting transmission device and operating method of broadcasting reception device
WO2011059286A2 (en) Method and apparatus for providing and receiving data
WO2015160137A1 (en) Broadcast signal transmitting apparatus, broadcast signal receiving apparatus, broadcast signal transmitting method and broadcast signal receiving method
WO2012011743A2 (en) Apparatus and method for providing streaming contents
WO2012060581A2 (en) Method for transreceiving media content and device for transreceiving using same
WO2015008986A1 (en) Method and apparatus for transmitting/receiving broadcast signal in hybrid broadcasting system
WO2015012605A1 (en) Method and apparatus for encoding three-dimensional content
WO2011155776A2 (en) Method for providing fragment-based multimedia streaming service and device for same, and method for receiving fragment-based multimedia streaming service and device for same
WO2016111563A1 (en) Method and apparatus for transmitting and receiving media information in communication system
WO2011132883A2 (en) Method for transmitting/receiving internet-based content and transmitter/receiver using same
WO2010123248A2 (en) Method for transmitting an iptv streaming service by p2p transmission, and method for receiving an iptv streaming service by p2p transmission
WO2015126117A1 (en) Method and apparatus for transceiving broadcast signal
WO2011132879A2 (en) Method for transmitting/receving internet-based content and transmitter/receiver using same
WO2012050405A2 (en) Digital receiver and method for processing 3d contents in digital receiver

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

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13810600

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 11807077

Country of ref document: EP

Kind code of ref document: A2