US20160112333A1 - Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server - Google Patents
Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server Download PDFInfo
- Publication number
- US20160112333A1 US20160112333A1 US14/984,229 US201514984229A US2016112333A1 US 20160112333 A1 US20160112333 A1 US 20160112333A1 US 201514984229 A US201514984229 A US 201514984229A US 2016112333 A1 US2016112333 A1 US 2016112333A1
- Authority
- US
- United States
- Prior art keywords
- segment
- file
- segments
- content
- electronic content
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000010365 information processing Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 8
- 238000003672 processing method Methods 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 abstract description 4
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 32
- 239000000872 buffer Substances 0.000 description 28
- 238000004891 communication Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 18
- 230000003139 buffering effect Effects 0.000 description 12
- 238000012986 modification Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/09—Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6373—Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
Definitions
- the present disclosure relates to a content reproduction system, a content reproduction apparatus, a program, a content reproduction method, and providing a content server.
- HTTP HyperText Transfer Protocol
- MP4 ISO/IEC-14496-12, 14
- MP4 can be used not only as a storage format, but also as a transmission format for downloading, streaming or the like.
- IIS Smooth Streaming Technical Overview Alex Zambelli, Microsoft Corporation, March 2009 describes how to perform streaming of content via the Internet by using HTTP and MP4. More specifically, “IIS Smooth Streaming Technical Overview,” Alex Zambelli, Microsoft Corporation, March 2009 describes that a server stores encoded files in the MP4 format encoded at different bit rates and successively sends segments constituting encoded files appropriate for network conditions.
- the server side determines an encoded file a segment of which is to be transmitted in a system in related art and thus, there is an issue that loads on the server side increase. Moreover, information such as a time during which a segment is reproduced (a relative time from the start of content) is not provided to the client, which makes it difficult to perform a trick play such as variable-speed reproduction or to perform reproduction by jumping to the relative time (seek reproduction).
- the method may include encoding the content in first and second formats; storing the encoded content in first and second files; receiving a request for a formatted segment, the formatted segment comprising a portion of the encoded data in the second file, and the request including position information identifying a location of the formatted segment; and transmitting the formatted segment.
- an apparatus for transmitting content may include an encoder configured to encode the content in first and second formats; a storage unit configured to store the encoded content in first and second files; a receiver configured to receive a request for a formatted segment, the formatted segment comprising a portion of the encoded data in the second file, and the request including position information identifying a location of the formatted segment; and a transmitter configured to transmit the formatted segment.
- a method for receiving content in a receiving apparatus may include receiving a first segment of the content, the first segment having a first format; receiving, from a transmitting apparatus, a second segment of the content, the second segment having a second format; monitoring a network status between the receiving apparatus and the transmitting apparatus; and selecting the first segment or the second segment based on the monitored network status.
- a method for encoding content may include encoding the content to generate content in a first format; encoding the content to generate content in a second format; processing portion information identifying to a portion of the content in the second format; and adding the portion information to the content in the first format.
- a method for decoding content may include receiving encoded data, the encoded data including a first section comprising description information and a second section comprising a first-format segment containing content encoded in the first format, the description information including position information; decoding the first-format segment of encoded content; and generating a request for a second-format segment of the encoded content, the second-format segment corresponding to the first-format segment and the request includes at least a portion of the position information.
- an apparatus for receiving content in a receiving apparatus may include a receiving unit configured to receive, from a transmitting apparatus, a first segment in a first format and a second segment in a second format, the first segment and the second segment including a portion of the content; a monitoring unit configured to monitor a network status between the receiving apparatus and the transmitting apparatus; and a selecting unit configured to select the first segment or the second segment based on the monitored network status.
- an apparatus for encoding content may include an encoder configured to encode the content to generate content in a first format and a second format content; a processing unit configured to process portion information identifying a portion of the content in the second format; and an adding unit configured to add the portion information to the content in the first format.
- FIG. 1 is an explanatory view showing the configuration of a content reproduction system according to an embodiment of the present invention
- FIG. 2 is an explanatory view showing the flow of data in the content reproduction system according to the present embodiment
- FIG. 3 is a block diagram showing the hardware configuration of a content reproduction apparatus
- FIG. 4 is a function block diagram showing the configuration of a content server according to the present embodiment
- FIG. 5 is an explanatory view showing the configuration of a general MP4 file
- FIG. 6 is an explanatory view showing the configuration of an MP4 file generated by a file generation unit in the present embodiment
- FIG. 7 is an explanatory view showing a modification of the MP4 file generated by the file generation unit in the present embodiment
- FIG. 8 is a function block diagram showing the configuration of a content reproduction apparatus according to the present embodiment.
- FIG. 9 is a sequence diagram showing an operation of the content reproduction system according to the present embodiment.
- FIG. 10 is an explanatory view showing a modification of the MP4 file generated by the file generation unit in the present embodiment
- FIG. 11 is an explanatory view showing a modification of the MP4 file generated by the file generation unit in the present embodiment.
- FIG. 12 is an explanatory view showing a modification of the MP4 file generated by the file generation unit in the present embodiment.
- a content reproduction system 1 according to an embodiment of the present invention will schematically be described with reference to FIGS. 1 and 2 .
- FIG. 1 is an explanatory view showing the configuration of a content reproduction system according to an embodiment of the present invention.
- the content reproduction system 1 according to an embodiment of the present invention includes a content server 10 (e.g., transmitting apparatus), a network 12 , and a content reproduction apparatus 20 (e.g., client and/or receiving apparatus).
- the content server 10 and the content reproduction apparatus 20 are connected via the network 12 .
- the network 12 is a wire or wireless transmission path of information transmitted from an apparatus connected to the network 12 .
- the network 12 may contain, for example, a public network such as the Internet, a telephone network, and a satellite communication network or LAN (Local Area Network) or WAN (Wide Area Network) including Ethernet (registered trademark).
- the network 12 may also contain a leased line network such as IP-VPN (Internet Protocol-Virtual Private Network).
- the content server 10 encodes content data to generate and store a data file containing encoded data (e.g., first-format segments and/or second format segments) and meta-information (e.g., description information and/or portion information) of the encoded data.
- encoded data e.g., first-format segments and/or second format segments
- meta-information e.g., description information and/or portion information
- Content data may be music data of music, lectures, radio programs and the like, video data of movies, TV programs, video programs, photos, documents, pictures, charts and the like, games, software and the like.
- the content server 10 generates a plurality of data files from the same content at different bit rates (e.g., compression formats). Relevant points will be described more specifically below with reference to FIG. 2 .
- FIG. 2 is an explanatory view showing the flow of data in the content reproduction system 1 according to the present embodiment.
- the content server 10 encodes the same content data at different bit rates to generate, for example, as shown in FIG. 2 , a file A at 2 Mbps, a file B at 1.5 Mbps, and a file C at 1 Mbps.
- the file A is relatively at a high bit rate, the file B at a standard bit rate, and the file C at a low bit rate.
- encoded data of each file is divided into a plurality of segments.
- encoded data of the file A is divided into segments (e.g., first format segments) “A 1 ”, “A 2 ”, “A 3 ”, . . . , “An”
- encoded data of the file B into segments (e.g., second format segments) “B 1 ”, “B 2 ”, “B 3 ”, . . . , “Bn”
- encoded data of the file C into segments “C 1 ”, “C 2 ”, “C 3 ”, . . . , “Cn”.
- Each segment is constituted by samples constituted by one or two or more pieces of video encoded data and audio encoded data that begin with sync samples (for example, IDR-pictures for video encoding of AVC/H.264) of MP4 and can be reproduced alone. If, for example, video data of 30 frames/second is encoded by GOP (Group of Picture) of 15 frames fixed length, each segment may be video and audio encoded data of 2 seconds corresponding to 4 GPO or video and audio encoded data of 10 seconds corresponding to 20 GPO.
- sync samples for example, IDR-pictures for video encoding of AVC/H.264
- GOP Group of Picture
- Reproduction ranges ranges of time positions from the start of content by segments whose arrangement order in each file is the same are the same. For example, the reproduction range of the segment “A 2 ”, that of the segment “B 2 ”, and that of the segment “C 2 ” are the same and if each segment is encoded data of two seconds, the reproduction ranges of the segment “A 2 ”, the segment “B 2 ”, and the segment “C 2 ” are all 2 seconds to 4 seconds of content.
- the content server 10 After generating the file A to the file C each constituted by the plurality of segments, the content server 10 stores the file A to the file C. Then, as shown in FIG. 2 , the content server 10 sequentially sends segments constituting different files to the content reproduction apparatus 20 and the content reproduction apparatus 20 reproduces the received segments as streaming.
- a display apparatus is shown in FIG. 1 as an example of the content reproduction apparatus 20 , but the content reproduction apparatus 20 is not limited to such an example.
- the content reproduction apparatus 20 may be an information processing apparatus such as a PC (Personal Computer), home video processing apparatus (such as a DVD recorder and VCR), PDA (Personal Digital Assistant), home game machine, and home electric appliance.
- the content reproduction apparatus 20 may be an information processing apparatus such as a mobile phone, PHS (Personal Handyphone System), portable music reproducing apparatus, portable video processing apparatus, and portable game machine.
- segments in accordance with network conditions are transmitted from the content server 10 .
- adaptive streaming can be realized while reducing loads on the server side.
- the content reproduction system 1 in the present embodiment most of standards such as HTTP and MP4 are supported and also compatibility with existing apparatuses can be maintained.
- the content reproduction apparatus 20 and the content server 10 constituting the content reproduction system 1 according to the present embodiment will be described below in detail.
- FIG. 3 is a block diagram showing the hardware configuration of the content reproduction apparatus 20 .
- the content reproduction apparatus 20 includes a CPU (Central Processing Unit) 201 , a ROM (Read Only Memory) 202 , a RAM (Random Access Memory) 203 , and a host bus 204 .
- the content reproduction apparatus 20 also includes a bridge 205 , an external bus 206 , an interface 207 , an input device 208 , an output device 210 , a storage device (HDD) 211 , a drive 212 , and a communication device 215 .
- HDMI storage device
- the CPU 201 functions as an arithmetic processing apparatus and a control apparatus to control overall operations of the content reproduction apparatus 20 according to various programs.
- the CPU 201 may be a microprocessor, a processing unit, an adding unit, and/or a request unit.
- the ROM 202 stores programs, arithmetic parameters and the like used by the CPU 201 .
- the RAM 203 temporarily stores programs used for execution by the CPU 201 and parameters that appropriately change during execution thereof. These units are mutually connected by the host bus 204 composed of a CPU bus or the like.
- the host bus 204 is connected to the external bus 206 such as a PCI (Peripheral Component Interconnect/Interface) bus via the bridge 205 .
- the host bus 204 , the bridge 205 , and the external bus 206 are not necessarily constituted separately and these functions may be implemented by one bus.
- the input device 208 is constituted by an input means used by a user to input information such as a mouse, keyboard, touch panel, button, microphone, switch, and lever and an input control circuit that generates an input signal based on input by the user and outputs the input signal to the CPU 201 .
- the user of the content reproduction apparatus 20 can input various kinds of data into the content reproduction apparatus 20 and issue instructions of a processing operation by operating the input device 208 .
- the output device 210 contains, for example, a display device such as a CRT (Cathode Ray Tube) display device, liquid crystal display (LCD) device, OLED (Organic Light Emitting Diode) device, and lamp. Further, the output device 210 contains an audio output device such as a speaker and headphone. The output device 210 outputs, for example, reproduced content. More specifically, the display device displays various kinds of information such as reproduced video data as text or images. The audio output device, on the other hand, converts reproduced audio data or the like into sound and outputs the sound.
- a display device such as a CRT (Cathode Ray Tube) display device, liquid crystal display (LCD) device, OLED (Organic Light Emitting Diode) device, and lamp.
- the output device 210 contains an audio output device such as a speaker and headphone.
- the output device 210 outputs, for example, reproduced content. More specifically, the display device displays various kinds of information such as reproduced video data as text or images
- the storage device 211 is a device for data storage constituted as an example of the storage unit of the content reproduction apparatus 20 according to the present embodiment.
- the storage device 211 may contain a storage medium, a recording device that records data in the storage medium, a reading device that reads data from the storage medium, or a deletion device that deletes data recorded in the storage medium.
- the storage device 211 is constituted by, for example, an HDD (Hard Disk Drive).
- the storage device 211 drives the hard disk and stores programs executed by the CPU 201 and various kinds of data.
- the drive 212 is a reader writer for storage medium and is attached to the content reproduction apparatus 20 internally or externally.
- the drive 212 reads information recorded in an inserted removable storage medium 24 such as a magnetic disk, optical disk, magneto-optical disk, and semiconductor memory and outputs the information to the RAM 203 .
- the drive 212 can also write information into the removable storage medium 24 .
- the communication device 215 is a communication interface constituted by, for example, communication devices for connecting to the network 12 .
- the communication device 215 may be a wireless LAN (Local Area Network) compatible communication device, LTE (Long Term Evolution) compatible communication device, or wire communication device that performs communication by wire.
- LTE Long Term Evolution
- Hardware of the content server 10 can be constituted substantially in the same manner as that of the content reproduction apparatus 20 and thus, a description thereof is omitted.
- FIG. 4 is a function block diagram showing the configuration of the content server 10 according to the present embodiment.
- the content server 10 according to the present embodiment includes a file generation unit 120 , a storage unit 130 , and a communication unit 140 .
- the file generation unit 120 includes an encoder 122 that encodes content data to generate an MP4 file containing encoded data and metadata thereof. More specifically, the file generation unit 120 generates a plurality of MP4 files having encoded data at different bit rates from the same content.
- the configuration of a general MP4 file will be described below with reference to FIG. 5 and then, the configuration of an MP4 file generated by the file generation unit 120 in the present embodiment will be described.
- FIG. 5 is an explanatory view showing the configuration of a general MP4 file.
- the MP4 file contains “moov” and “mdat”.
- “mdat” is encoded data of video and audio.
- H. 264/AVC is used for video encoding and HE-AAC for audio encoding.
- “moov” contains access information (e.g., description information and/or, portion information) to each segment contained in “mdat” such as “trak (video)” and “trak (audio)”.
- the access information includes, for example, location information (byte offset) of each sample and reproduction time information.
- dinf is defined in MP4 as a data box to refer to other external files. If, as shown in FIG. 5 , “moov” refers to “mdat” contained in the same MP4 file, the value of “dinf” is “null”. In the present embodiment, by contrast, as will be described with reference to FIG. 6 , a noticeable effect can be achieved by making full use of this “dinf”.
- FIG. 6 is an explanatory view showing the configuration of an MP4 file generated by the file generation unit 120 in the present embodiment.
- the file generation unit 120 generates a plurality of MP4 file A to MP4 file C containing “mdat” at different bit rates from the same content.
- segments are data divided by a boundary of MP4 Sync Sample of video and video encoded data and audio encoded data are arranged in a segment after being interleaved. Segments are continuously arranged in mdat in the time sequence in which content is reproduced. Video and audio are encoded so as to yield the same reproduction time of segments of each data file at different bit rates.
- video encoded data and audio encoded data are arranged in such a way that an IDR picture is present at the head of a segment, so that data can be switched to data at a different bit rate in segments.
- the position of each segment is the position of Sync Sample and the content reproduction apparatus 20 can read segment data from each data file based on the segment position obtained from information of Sample Description box in “moov” or in combination with Sync sample table box contained therein.
- one video frame is set to be one Sample to create a Sync Sample, which is a Sample in which an IDR picture is present once in 30 frames, and Sync sample table box is provided in Sample Description box.
- “mdat” of the MP4 file B (first data file) is constituted by segments B 1 to Bn whose bit rate is 1.5 Mbps
- “mdat” of the MP4 file C (second data file) is constituted by segments C 1 to Cn whose bit rate is 1 Mbps
- “mdat” of the MP4 file A (third data file) is constituted by segments A 1 to An whose bit rate is 2 Mbps.
- “moov” of the MP4 file B contains “trak (videoB)” and “trak (audioB)” to access the segments B 1 to Bn constituting the same file.
- “moov” of the MP4 file B contains “trak (videoC′)” and “trak (audioC′)” to access the segments C 1 to Cn constituting the MP4 file C.
- the URL of the MP4 file C is described in “dinf” of “trak (videoC′)” and “trak (audioC′)”. More specifically, the URL of the MP4 file C is described in the ‘location’ field in the syntax of “dinf” shown below. Moreover, position information (byte offset in a file) of each Sample and Sync Sample segments C 1 to Cn is obtained from information of Sample Description Box of a video track described in “trak (videoC′)” and “trak (audioC′)”.
- “moov” of the MP4 file B contains “trak (videoA′)” and “trak (audioA′)” to access the segments A 1 to An constituting the MP4 file A. That is, the URL of the MP4 file A is described in “dinf” of “trak (videoA′)” and “trak (audioA′)”.
- the content reproduction apparatus 20 does not use these for adaptive streaming described later.
- the content reproduction apparatus 20 does not use these for adaptive streaming described later.
- an MP4 file according to the present embodiment can be used not only for streaming, but also for downloading. The reason therefor will be described by comparing with a case where a plurality of “mdat” having different bit rates is generated in the same file.
- the client will download the whole file containing the plurality of “mdat”. Thus, an issue arises that the amount of download data and the download time will unnecessarily double.
- an MP4 file containing only one “mdat” among the plurality of “mdat” with different bit rates can be downloaded.
- the content reproduction apparatus 20 can download, among the plurality of “mdat” with different bit rates, the MP4 file A containing only “mdat” at a high bit rate. Therefore, the client can download while curbing the amount of download data and the download time.
- the file generation unit 120 may write information whether media data referred to by each “trak” belongs to a group of alternative media data obtained by encoding at different bit rates into “minfo” of each track in “moov” of the file B.
- the following extended block may be provided in the syntax of “minfo” shown below to write the identification number of a group of alternative media data into “alternative media group”, “ ⁇ uuid_value>: T. B. D” into “extended_type”, and “0” into “flags”.
- the content reproduction apparatus 20 can recognize that segments of media data belonging to a group of alternative media data can be replaced by compatible segments in other media data belonging to the same group.
- the maximum bit rate maxbitrate and the average bit rate avgbitrate of media are also described, which can be used by the content reproduction apparatus 20 to determine the encoded data segments of which are to be acquired.
- the content reproduction apparatus 20 can determine whether an MP4 file is generated according to a method in the present embodiment by checking “minfo” in “moov” of the MP4 file. Then, if the MP4 file is a file generated according to a method in the present embodiment, the content reproduction apparatus 20 can request, as described later, adaptive streaming from the content server 10 .
- FIG. 6 An example in which an MP4 file is mainly constituted by “moov” and “mdat” is shown in FIG. 6 , but the configuration of an MP4 file is not limited to such an example.
- access information contained in “moov” shown in FIG. 6 may be arranged, as shown in FIG. 7 , in a distributed manner by using “moov” and “moof”.
- FIG. 7 is an explanatory view showing a modification of the MP4 file generated by the file generation unit 120 in the present embodiment.
- “moov” is arranged at the head of each file and then, “mdat” and “moof” are arranged alternately.
- “moov” of the MP4 file B contains “trak” in which access information to each segment of the MP4 files B, A, and C and Sample Description box to access subsequent “mdat”.
- Each “moof” of the MP4 file B contains a plurality of “traf” corresponding to “trak” described in “moov” and “traf” contains information to access each segment of “mdat” subsequent to each file.
- the MP4 files C and A may also have “moov” and “moof” described therein, but like the above example, the content reproduction apparatus 20 does not use these for adaptive streaming.
- the amounts of data of “moov” at the head of the MP4 file B and each “moof” can be made smaller, so that the acquisition time of “moov” at the head can be curbed and information of “moov” and “moof” held by the content reproduction apparatus 20 in a buffer 230 can be reduced.
- “moof” and corresponding mdat can be generated independently and thus can be used for streaming of live content such as live broadcasting.
- the present embodiment is also applicable to the format shown in FIG. 7 in which “moov”, “mod”, and “mdat” are arranged in a distributed manner.
- the storage unit 130 of the content server 10 shown in FIG. 4 is a storage medium that stores a plurality of MP4 files generated by the file generation unit 120 .
- the storage unit 130 may be a storage medium such as a nonvolatile memory, magnetic disk, optical disk, and MO (Magneto Optical) disk.
- the nonvolatile memory includes, for example, an EEPROM (Electrically Erasable Programmable Read-Only Memory) and EPROM (Erasable Programmable ROM).
- the magnetic disk includes a hard disk and disc-like magnetic disk.
- the optical disk includes a CD (Compact Disc), DVD-R (Digital Versatile Disc Recordable), and BD (Blu-ray Disc (registered trademark)).
- the communication unit 140 is an interface with the content reproduction apparatus 20 and communicates with the content reproduction apparatus 20 via the network 12 . More specifically, the communication unit 140 has a function as an HTTP server that communicates with the content reproduction apparatus 20 according to HTTP. For example, the communication unit 140 extracts data requested from the content reproduction apparatus 20 according to HTTP from the storage unit 130 and transmits the data to the content reproduction apparatus 20 as an HTTP response.
- FIG. 8 is a function block diagram showing the configuration of the content reproduction apparatus 20 according to the present embodiment.
- the content reproduction apparatus 20 according to the present embodiment includes an acquisition unit 220 , the buffer 230 , a reproduction unit 240 , and a selection unit 250 .
- the acquisition unit 220 is an interface with the content server 10 and requests data from the content server 10 to acquire the data from the content server 10 . More specifically, the acquisition unit 220 has a function as an HTTP client that communicates with the content reproduction apparatus 20 according to HTTP. For example, the acquisition unit 220 can partially acquire a portion (moov or a segment) of an MP4 file from the content server 10 by using HTTP Range.
- the buffer 230 sequentially buffers segments acquired by the acquisition unit 220 from the content server 10 . Segments buffered in the buffer 230 are sequentially supplied to the reproduction unit 240 according to FIFO (First In First Out).
- FIFO First In First Out
- the reproduction unit 240 sequentially reproduces segments supplied from the buffer 230 . More specifically, the reproduction unit 240 performs segment decoding, DA conversion, and rendering.
- the selection unit 250 sequentially selects from within the same content an MP4 file a segment of which is to be acquired, that is, a segment having a bit rate to be acquired in accordance with conditions of the network 12 . If, for example, the selection unit 250 successively selects segments “A 1 ”, “B 2 ”, and “A 3 ”, as shown in FIG. 2 , the acquisition unit 220 successively acquires the segments “A 1 ”, “B 2 ”, and “A 3 ” from the content server 10 .
- the acquisition unit 220 acquires “moov” of an MP4 file prior to the acquisition of segments and a segment selected by the selection unit 250 can be acquired from the content server 10 by specifying access information contained in the “moov”.
- the selection unit 250 may indirectly grasp conditions of the network 12 by monitoring buffering conditions of the buffer 230 .
- the selection unit 250 may select segments at the standard bit rate (for example, 1.5 Mbps). For example, the content reproduction apparatus 20 starts reproduction of streaming after temporarily accumulating 90 samples at the standard bit rate (for three seconds) and continues the reproduction while reading subsequent segment data and if data in the buffer 230 during reproduction is in the range of 75 to 105 samples, the selection unit 250 selects segments at the standard bit rate.
- the standard bit rate for example 1.5 Mbps.
- the content reproduction apparatus 20 starts reproduction of streaming after temporarily accumulating 90 samples at the standard bit rate (for three seconds) and continues the reproduction while reading subsequent segment data and if data in the buffer 230 during reproduction is in the range of 75 to 105 samples, the selection unit 250 selects segments at the standard bit rate.
- the selection unit 250 may select segments at a low bit rate (for example, 1 Mbps). If, for example, data in the buffer 230 during reproduction falls to 75 samples or less, the selection unit 250 selects segments at a low bit rate.
- the selection unit 250 may select segments at a high bit rate (for example, 2 Mbps). If, for example, data in the buffer 230 during reproduction increases to 105 samples or more, the selection unit 250 selects segments at a high bit rate. Further, if the number of segments in the buffer 230 reaches 120 so that segments are sufficiently accumulated, the selection unit 250 temporarily stops reading and when the number thereof falls 120 or below, the selection unit 250 restarts reading.
- a high bit rate for example, 2 Mbps.
- the content reproduction apparatus 20 may determine the band of the network 12 by actually transmitting a dummy packet to the network 12 or may determine the band of the network 12 based on the acquisition speed of segments by the acquisition unit 220 .
- FIG. 9 is a sequence diagram showing the operation of the content reproduction system 1 according to the present embodiment.
- the acquisition unit 220 of the content reproduction apparatus 20 requests the transmission of “moov” of the MP4 file B concerning some content through “HTTP: GET URL-B with Range” from the content server 10 (S 304 ).
- the communication unit 140 of the content server 10 transmits “moov” of the MP4 file B to the content reproduction apparatus 20 as “HTTP: Response” (S 308 ). It is assumed that URL-B of the MP4 file B is described in metadata information of the content and the content reproduction apparatus 20 has acquired the content.
- the buffer 230 of the content reproduction apparatus 20 starts buffering of “moov” of the MP4 file B acquired from the content server 10 (S 310 ).
- the selection unit 250 of the content reproduction apparatus 20 can determine whether a referred file of “trak” in “moov” belongs to an alternative media group obtained by encoding at different bit rates by checking “minfo” in “moov”.
- the selection unit 250 selects a segment Bi of the MP4 file B having the standard bit rate.
- the acquisition unit 220 requests the segment Bi of the MP4 file B selected by the selection unit 250 from the content server 10 by using “HTTP: GET URL-B with Range” (S 312 ). More specifically, the acquisition unit 220 requests the segment Bi of the MP4 file B from the content server 10 by specifying network position information of the MP4 file B and position information of the segment Bi in the MP4 file B in bytes. The network position information of the MP4 file B and the position information of the segment Bi in the MP4 file B in bytes are described in “moov” of the MP4 file B received in step S 308 . Then, the communication unit 140 of the content server 10 transmits the segment Bi of the MP4 file B to the content reproduction apparatus 20 as “HTTP: Response” (S 316 ).
- the reproduction unit 240 starts reproduction of the segment Bi (S 320 ). If it is difficult to read from the buffer sufficiently even when a certain time passes after starting buffering (S 310 ), the network band can be considered to be insufficient. In such a case, subsequent segment reading may be switched to segments in the file C from S 316 . Similarly, if predetermined segments are determined to be bufferable earlier, it is also possible to start reproduction after segments of the file A being buffered (S 320 ).
- the acquisition unit 220 of the content reproduction apparatus 20 requests the next segment Bj from the content server 10 by using “HTTP: GET URL-B with Range” (S 324 ). Then, the communication unit 140 of the content server 10 transmits the next segment Bj to the content reproduction apparatus 20 as “HTTP: Response” (S 328 ).
- the selection unit 250 selects a segment Ck of the MP4 file C having a low bit rate.
- the acquisition unit 220 requests the segment Ck of the MP4 file C selected by the selection unit 250 from the content server 10 by using “HTTP: GET URL-C with Range” (S 336 ).
- the communication unit 140 of the content server 10 that has received the request transmits the segment Ck of the MP4 file C to the content reproduction apparatus 20 as “HTTP: Response” (S 340 ).
- the selection unit 250 selects the segment B 1 of the MP4 file B having the standard bit rate.
- the acquisition unit 220 requests the segment B 1 of the MP4 file B selected by the selection unit 250 from the content server 10 by using “HTTP: GET URL-B with Range” (S 348 ). Then, the communication unit 140 of the content server 10 transmits the segment B 1 of the MP4 file B to the content reproduction apparatus 20 as “HTTP: Response” (S 352 ).
- the selection unit 250 selects a segment Am of the MP4 file A having a high bit rate.
- the acquisition unit 220 requests the segment Am of the MP4 file A selected by the selection unit 250 from the content server 10 by using “HTTP: GET URL-A with Range” (S 360 ). Then, the communication unit 140 of the content server 10 transmits the segment Am of the MP4 file A to the content reproduction apparatus 20 as “HTTP: Response” (S 352 ).
- the selection unit 250 similarly selects a segment having a bit rate to be requested in accordance with the buffering amount of the buffer 230 , and the acquisition unit 220 acquires the segment selected by the selection unit 250 from the content server 10 .
- reproduction can be prevented from being broken off when the band of the network 12 is small and high-quality reproduction can be realized when the band of the network 12 is large.
- loads on the content server 10 can be reduced because the band of the network 12 can be determined and the segment to be requested can be selected from the content reproduction apparatus 20 side.
- FIG. 10 is an explanatory view showing a modification of the MP4 file generated by the file generation unit 120 in the present embodiment. If, as shown in FIG. 10 , access information to “trak” of the MP4 file A is written into “trak” of the MP4 file B, the content reproduction apparatus 20 can acquire “trak” of the MP4 file A by analyzing “trak” of the MP4 file B and using the described access information. Thus, the content reproduction apparatus 20 can acquire the segments A 1 , A 2 , . . . based on “trak” of the MP4 file A and Sample Description box described therein.
- the content reproduction apparatus 20 can acquire “trak” of the MP4 file C by analyzing “trak” of the MP4 file B and using the described access information.
- the content reproduction apparatus 20 can also acquire the segments C 1 , C 2 , . . . based on “trak” of the MP4 file C and Sample Description box described therein.
- the MP4 file format may be extended to write an extended box shown below into “minfo”, “ ⁇ uuid_value>: T. B. D” into “extended_type” in the syntax, the URL of the referred MP4 file into “location”, and the identifier of “trak” in the referred MP4 file into “track_ID”.
- the content reproduction apparatus 20 can recognize that alternative media data as media data on a track of the file B is located on a track indicated by track_id of the file C.
- bit rate information such as the maximum bit rate maxbitrate and the average bit rate avgbitrate of media are also described, which can be used by the content reproduction apparatus 20 to determine the encoded data segments of which are to be acquired.
- the above configuration is similarly applicable to a file format in which access information contained in “moov” is arranged in a distributed manner by using “moov” and “moof”.
- “trak” and “traf” of another file can be accessed using “trak” of the MP4 file B by writing access information to “trak” of the other file into “trak”.
- FIG. 11 is an explanatory view showing a modification of the MP4 file generated by the file generation unit 120 in the present embodiment.
- the content reproduction apparatus 20 can acquire “trak” of the MP4 file A by analyzing “trak” of the MP4 file B and using the described access information.
- the content reproduction apparatus 20 can also acquire segments A 11 , A 12 , . . . based on “trak” of the MP4 file A.
- the content reproduction apparatus 20 can acquire “trak” of the MP4 file C by analyzing “trak” of the MP4 file B and using the described access information.
- the content reproduction apparatus 20 can also acquire segments C 11 , C 12 , . . . based on “trak” of the MP4 file C and each “traf”.
- position information of each moof may be acquired by using Movie Fragment Random access box described in the MP4 file to access, after the relevant moof information being acquired, each segment of mdat subsequent to the moof.
- mdat immediately after “moof” can be read without time delay by reading moof information in advance and analyzing “traf”.
- the selection unit 250 of the content reproduction apparatus 20 selects segments having the bit rate to be requested in accordance with the band of the network 12 and the acquisition unit 220 acquires the selected segment from the content server 10 . Therefore, according to the present embodiment, loads on the content server 10 can be reduced.
- the present embodiment mostly conforms to existing standards such as HTTP and MP4. Therefore, the present embodiment is compatible with streaming using existing HTTP and MP4 and can minimize extensions so that smooth introduction thereof can be expected.
- each MP4 file can be used not only for streaming, but also for downloading without hindrance.
- each step of processing of the content reproduction system 1 herein is not necessarily executed chronologically in the order described as a sequence diagram.
- each step of processing of the content reproduction system 1 may be executed in an order different from the order described as a sequence diagram or in parallel.
- a computer program to cause hardware such as the CPU 201 , the ROM 202 , and the RAM 203 contained in the content reproduction apparatus 20 and the content server 10 to perform the function equivalent to that of each component of the content reproduction apparatus 20 and the content server 10 described above can be created.
- a storage medium in which the computer program is stored is also provided.
- encoded data at the standard bit rate is arranged in the first data file, but encoded data at a low bit rate or a high bit rate may also be arranged.
- encoded data is arranged in the first data file, but only access information to such encoded data may be arranged in moof of the first data file.
- FIG. 7 an example in which “moov”, “moof”, and “mdat” are arranged in a distributed manner is shown, but distributed arrangement may be limited to the first data file so that, as shown in FIG. 8 , other data files are constituted by “moov” and “mdat” corresponding thereto.
- FIG. 12 shows an embodiment when the first data file does not contain encoded data.
- the first data file has access information to each segment arranged in other data files described therein. Access information is arranged in the first data file in a distributed manner by using “moov” and “moof” and each “moof” has only access information to segments of only one data file described therein.
- “traf” of each of a video track and an audio track has access information to each segment described in each “moof” and access information to segments in a range of sets of “moof” arranged consecutively (three sets in this case) described therein.
- each “trak” of “moov” does not contain access information to segments and the next three “moof” have access information from segment 1 to segment (i ⁇ 1) described therein. Similarly, the next three “moof” have access information from segment i to segment (j ⁇ 1) described therein and further, the next three “moof” have access information from segment j to segment (k ⁇ 1) described therein.
- the arrangement order of “trak” in “moov” that is, B, C, A
- the arrangement order of “traf” in three “moof” that is, B, C, A
- segment information of each data file is divided in units of “moof” and thus, the content reproduction apparatus 20 can perform adaptive streaming while selecting a data file of the appropriate bit rate matching network conditions by acquiring and holding only “moof” of a necessary data file without holding access information to segments of all data files.
- Data files that do not contain encoded data are not distributed by “moof” and are constituted by “moov” and “mdat” and thus, such data files can be used for a content reproduction apparatus that only supports streaming using existing HTTP and MP4.
- a mechanism may be provided to reproduce a first MP4 file if a content reproduction apparatus is provided for adaptive streaming and otherwise, an MP4 file that is not distributed is reproduced.
- a method by which a content reproduction apparatus is caused to disclose each URL and attributes thereof to select the URL based on capability and attributes of the content reproduction apparatus is known.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
A method, apparatus, encoder, and decoder for receiving, transmitting, encoding and decoding content is provided. The method includes receiving a first segment of the content, the first segment having a first format, receiving, from a transmitting apparatus, a second segment of the content, the second segment having a second format, monitoring a network status between the receiving apparatus and the transmitting apparatus, and selecting the first segment or the second segment based on the monitored network status.
Description
- This application is a continuation of U.S. patent application Ser. No. 14/327,348 (filed Jul. 9, 2014), which is a continuation of U.S. patent application Ser. No. 12/899,178 (filed Oct. 6, 2010, issued as U.S. Pat. No. 8,812,735 on Aug. 19, 2014), which claims priority of Japanese Patent Application No. 2009-238130, (filed Oct. 15, 2009), the entire content of which are all hereby incorporated by reference.
- 1. Technical Field
- The present disclosure relates to a content reproduction system, a content reproduction apparatus, a program, a content reproduction method, and providing a content server.
- 2. Description of the Related Art
- Nowadays, HTTP (HyperText Transfer Protocol) for content transmission and MP4 relating to content compression/encoding are widely used. According to HTTP, not only downloading of content, but also streaming thereof can be performed on the Internet. The HTTP streaming is also adopted by network media standards such as “DLNA guidelines” (2006) and “Open IPTV Forum” (2009). MP4 (ISO/IEC-14496-12, 14) can be used not only as a storage format, but also as a transmission format for downloading, streaming or the like.
- For example, “IIS Smooth Streaming Technical Overview,” Alex Zambelli, Microsoft Corporation, March 2009 describes how to perform streaming of content via the Internet by using HTTP and MP4. More specifically, “IIS Smooth Streaming Technical Overview,” Alex Zambelli, Microsoft Corporation, March 2009 describes that a server stores encoded files in the MP4 format encoded at different bit rates and successively sends segments constituting encoded files appropriate for network conditions.
- However, the server side determines an encoded file a segment of which is to be transmitted in a system in related art and thus, there is an issue that loads on the server side increase. Moreover, information such as a time during which a segment is reproduced (a relative time from the start of content) is not provided to the client, which makes it difficult to perform a trick play such as variable-speed reproduction or to perform reproduction by jumping to the relative time (seek reproduction).
- Accordingly, there is disclosed a method for transmitting content. The method may include encoding the content in first and second formats; storing the encoded content in first and second files; receiving a request for a formatted segment, the formatted segment comprising a portion of the encoded data in the second file, and the request including position information identifying a location of the formatted segment; and transmitting the formatted segment.
- In accordance with an embodiment, there is provided an apparatus for transmitting content. The apparatus may include an encoder configured to encode the content in first and second formats; a storage unit configured to store the encoded content in first and second files; a receiver configured to receive a request for a formatted segment, the formatted segment comprising a portion of the encoded data in the second file, and the request including position information identifying a location of the formatted segment; and a transmitter configured to transmit the formatted segment.
- In accordance with an embodiment, there is provided a method for receiving content in a receiving apparatus. The method may include receiving a first segment of the content, the first segment having a first format; receiving, from a transmitting apparatus, a second segment of the content, the second segment having a second format; monitoring a network status between the receiving apparatus and the transmitting apparatus; and selecting the first segment or the second segment based on the monitored network status.
- In accordance with an embodiment, there is provided a method for encoding content. The method may include encoding the content to generate content in a first format; encoding the content to generate content in a second format; processing portion information identifying to a portion of the content in the second format; and adding the portion information to the content in the first format.
- In accordance with an embodiment, there is provided a method for decoding content. The method may include receiving encoded data, the encoded data including a first section comprising description information and a second section comprising a first-format segment containing content encoded in the first format, the description information including position information; decoding the first-format segment of encoded content; and generating a request for a second-format segment of the encoded content, the second-format segment corresponding to the first-format segment and the request includes at least a portion of the position information.
- In accordance with an embodiment, there is provided an apparatus for receiving content in a receiving apparatus. The apparatus may include a receiving unit configured to receive, from a transmitting apparatus, a first segment in a first format and a second segment in a second format, the first segment and the second segment including a portion of the content; a monitoring unit configured to monitor a network status between the receiving apparatus and the transmitting apparatus; and a selecting unit configured to select the first segment or the second segment based on the monitored network status.
- In accordance with an embodiment, there is provided an apparatus for encoding content. The apparatus may include an encoder configured to encode the content to generate content in a first format and a second format content; a processing unit configured to process portion information identifying a portion of the content in the second format; and an adding unit configured to add the portion information to the content in the first format.
-
FIG. 1 is an explanatory view showing the configuration of a content reproduction system according to an embodiment of the present invention; -
FIG. 2 is an explanatory view showing the flow of data in the content reproduction system according to the present embodiment; -
FIG. 3 is a block diagram showing the hardware configuration of a content reproduction apparatus; -
FIG. 4 is a function block diagram showing the configuration of a content server according to the present embodiment; -
FIG. 5 is an explanatory view showing the configuration of a general MP4 file; -
FIG. 6 is an explanatory view showing the configuration of an MP4 file generated by a file generation unit in the present embodiment; -
FIG. 7 is an explanatory view showing a modification of the MP4 file generated by the file generation unit in the present embodiment; -
FIG. 8 is a function block diagram showing the configuration of a content reproduction apparatus according to the present embodiment; -
FIG. 9 is a sequence diagram showing an operation of the content reproduction system according to the present embodiment; -
FIG. 10 is an explanatory view showing a modification of the MP4 file generated by the file generation unit in the present embodiment; -
FIG. 11 is an explanatory view showing a modification of the MP4 file generated by the file generation unit in the present embodiment; and -
FIG. 12 is an explanatory view showing a modification of the MP4 file generated by the file generation unit in the present embodiment. - Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the appended drawings. Note that, in this specification and the appended drawings, structural elements that have substantially the same function and structure are denoted with the same reference numerals, and repeated explanation of these structural elements is omitted.
- “DETAILED DESCRIPTION OF THE EMBODIMENT” will be described according to the order shown below:
- 1. Overview of Content Reproduction System
- 2. Hardware Configuration of Content Reproduction Apparatus
- 3. Function of Content Server
- 4. Function of Content Reproduction Apparatus
- 5. Operation of Content Reproduction System
- 6. Modifications
- 7. Conclusion
- First, a
content reproduction system 1 according to an embodiment of the present invention will schematically be described with reference toFIGS. 1 and 2 . -
FIG. 1 is an explanatory view showing the configuration of a content reproduction system according to an embodiment of the present invention. As shown inFIG. 1 , thecontent reproduction system 1 according to an embodiment of the present invention includes a content server 10 (e.g., transmitting apparatus), anetwork 12, and a content reproduction apparatus 20 (e.g., client and/or receiving apparatus). - The
content server 10 and thecontent reproduction apparatus 20 are connected via thenetwork 12. Thenetwork 12 is a wire or wireless transmission path of information transmitted from an apparatus connected to thenetwork 12. - The
network 12 may contain, for example, a public network such as the Internet, a telephone network, and a satellite communication network or LAN (Local Area Network) or WAN (Wide Area Network) including Ethernet (registered trademark). Thenetwork 12 may also contain a leased line network such as IP-VPN (Internet Protocol-Virtual Private Network). - The
content server 10 encodes content data to generate and store a data file containing encoded data (e.g., first-format segments and/or second format segments) and meta-information (e.g., description information and/or portion information) of the encoded data. When thecontent server 10 generates a data file in the MP4 format, encoded data corresponds to “mdat” and meta-information corresponds to “moov”. - Content data may be music data of music, lectures, radio programs and the like, video data of movies, TV programs, video programs, photos, documents, pictures, charts and the like, games, software and the like.
- The
content server 10 according to the present embodiment generates a plurality of data files from the same content at different bit rates (e.g., compression formats). Relevant points will be described more specifically below with reference toFIG. 2 . -
FIG. 2 is an explanatory view showing the flow of data in thecontent reproduction system 1 according to the present embodiment. Thecontent server 10 encodes the same content data at different bit rates to generate, for example, as shown inFIG. 2 , a file A at 2 Mbps, a file B at 1.5 Mbps, and a file C at 1 Mbps. The file A is relatively at a high bit rate, the file B at a standard bit rate, and the file C at a low bit rate. - Also as shown in
FIG. 2 , encoded data of each file is divided into a plurality of segments. For example, encoded data of the file A is divided into segments (e.g., first format segments) “A1”, “A2”, “A3”, . . . , “An”, encoded data of the file B into segments (e.g., second format segments) “B1”, “B2”, “B3”, . . . , “Bn”, and encoded data of the file C into segments “C1”, “C2”, “C3”, . . . , “Cn”. - Each segment is constituted by samples constituted by one or two or more pieces of video encoded data and audio encoded data that begin with sync samples (for example, IDR-pictures for video encoding of AVC/H.264) of MP4 and can be reproduced alone. If, for example, video data of 30 frames/second is encoded by GOP (Group of Picture) of 15 frames fixed length, each segment may be video and audio encoded data of 2 seconds corresponding to 4 GPO or video and audio encoded data of 10 seconds corresponding to 20 GPO.
- Reproduction ranges (ranges of time positions from the start of content) by segments whose arrangement order in each file is the same are the same. For example, the reproduction range of the segment “A2”, that of the segment “B2”, and that of the segment “C2” are the same and if each segment is encoded data of two seconds, the reproduction ranges of the segment “A2”, the segment “B2”, and the segment “C2” are all 2 seconds to 4 seconds of content.
- After generating the file A to the file C each constituted by the plurality of segments, the
content server 10 stores the file A to the file C. Then, as shown inFIG. 2 , thecontent server 10 sequentially sends segments constituting different files to thecontent reproduction apparatus 20 and thecontent reproduction apparatus 20 reproduces the received segments as streaming. - A display apparatus is shown in
FIG. 1 as an example of thecontent reproduction apparatus 20, but thecontent reproduction apparatus 20 is not limited to such an example. For example, thecontent reproduction apparatus 20 may be an information processing apparatus such as a PC (Personal Computer), home video processing apparatus (such as a DVD recorder and VCR), PDA (Personal Digital Assistant), home game machine, and home electric appliance. Alternatively, thecontent reproduction apparatus 20 may be an information processing apparatus such as a mobile phone, PHS (Personal Handyphone System), portable music reproducing apparatus, portable video processing apparatus, and portable game machine. - It is desirable that segments in accordance with network conditions (e.g., network status) are transmitted from the
content server 10. For example, it is suitable to transmit high-bit-rate segments (for example, segments constituting the file A) if the network has sufficient bands and low-bit-rate segments (for example, segments constituting the file C) if the network does not have sufficient bands. - However, there is an issue that loads on the
content server 10 grow if thecontent server 10 monitors network conditions and selects segments in accordance with network conditions. - Thus, the above background led to the creation of the
content reproduction system 1 according to the present embodiment. According tocontent reproduction system 1 in the present embodiment, adaptive streaming can be realized while reducing loads on the server side. - Further, according to the
content reproduction system 1 in the present embodiment, most of standards such as HTTP and MP4 are supported and also compatibility with existing apparatuses can be maintained. Thecontent reproduction apparatus 20 and thecontent server 10 constituting thecontent reproduction system 1 according to the present embodiment will be described below in detail. -
FIG. 3 is a block diagram showing the hardware configuration of thecontent reproduction apparatus 20. Thecontent reproduction apparatus 20 includes a CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, and ahost bus 204. Thecontent reproduction apparatus 20 also includes abridge 205, anexternal bus 206, aninterface 207, aninput device 208, anoutput device 210, a storage device (HDD) 211, adrive 212, and acommunication device 215. - The
CPU 201 functions as an arithmetic processing apparatus and a control apparatus to control overall operations of thecontent reproduction apparatus 20 according to various programs. TheCPU 201 may be a microprocessor, a processing unit, an adding unit, and/or a request unit. TheROM 202 stores programs, arithmetic parameters and the like used by theCPU 201. TheRAM 203 temporarily stores programs used for execution by theCPU 201 and parameters that appropriately change during execution thereof. These units are mutually connected by thehost bus 204 composed of a CPU bus or the like. - The
host bus 204 is connected to theexternal bus 206 such as a PCI (Peripheral Component Interconnect/Interface) bus via thebridge 205. Incidentally, thehost bus 204, thebridge 205, and theexternal bus 206 are not necessarily constituted separately and these functions may be implemented by one bus. - The
input device 208 is constituted by an input means used by a user to input information such as a mouse, keyboard, touch panel, button, microphone, switch, and lever and an input control circuit that generates an input signal based on input by the user and outputs the input signal to theCPU 201. The user of thecontent reproduction apparatus 20 can input various kinds of data into thecontent reproduction apparatus 20 and issue instructions of a processing operation by operating theinput device 208. - The
output device 210 contains, for example, a display device such as a CRT (Cathode Ray Tube) display device, liquid crystal display (LCD) device, OLED (Organic Light Emitting Diode) device, and lamp. Further, theoutput device 210 contains an audio output device such as a speaker and headphone. Theoutput device 210 outputs, for example, reproduced content. More specifically, the display device displays various kinds of information such as reproduced video data as text or images. The audio output device, on the other hand, converts reproduced audio data or the like into sound and outputs the sound. - The
storage device 211 is a device for data storage constituted as an example of the storage unit of thecontent reproduction apparatus 20 according to the present embodiment. Thestorage device 211 may contain a storage medium, a recording device that records data in the storage medium, a reading device that reads data from the storage medium, or a deletion device that deletes data recorded in the storage medium. Thestorage device 211 is constituted by, for example, an HDD (Hard Disk Drive). Thestorage device 211 drives the hard disk and stores programs executed by theCPU 201 and various kinds of data. - The
drive 212 is a reader writer for storage medium and is attached to thecontent reproduction apparatus 20 internally or externally. Thedrive 212 reads information recorded in an insertedremovable storage medium 24 such as a magnetic disk, optical disk, magneto-optical disk, and semiconductor memory and outputs the information to theRAM 203. Thedrive 212 can also write information into theremovable storage medium 24. - The
communication device 215 is a communication interface constituted by, for example, communication devices for connecting to thenetwork 12. Thecommunication device 215 may be a wireless LAN (Local Area Network) compatible communication device, LTE (Long Term Evolution) compatible communication device, or wire communication device that performs communication by wire. - In the foregoing, the hardware configuration of the
content reproduction apparatus 20 has been described with reference toFIG. 3 . Hardware of thecontent server 10 can be constituted substantially in the same manner as that of thecontent reproduction apparatus 20 and thus, a description thereof is omitted. - Next, the function of the
content server 10 according to the present embodiment will be described with reference toFIGS. 4 to 7 . -
FIG. 4 is a function block diagram showing the configuration of thecontent server 10 according to the present embodiment. As shown inFIG. 4 , thecontent server 10 according to the present embodiment includes afile generation unit 120, astorage unit 130, and acommunication unit 140. - The
file generation unit 120 includes anencoder 122 that encodes content data to generate an MP4 file containing encoded data and metadata thereof. More specifically, thefile generation unit 120 generates a plurality of MP4 files having encoded data at different bit rates from the same content. The configuration of a general MP4 file will be described below with reference toFIG. 5 and then, the configuration of an MP4 file generated by thefile generation unit 120 in the present embodiment will be described. -
FIG. 5 is an explanatory view showing the configuration of a general MP4 file. As shown inFIG. 5 , the MP4 file contains “moov” and “mdat”. “mdat” is encoded data of video and audio. In the present embodiment, H. 264/AVC is used for video encoding and HE-AAC for audio encoding. “moov” contains access information (e.g., description information and/or, portion information) to each segment contained in “mdat” such as “trak (video)” and “trak (audio)”. The access information includes, for example, location information (byte offset) of each sample and reproduction time information. - “dinf” is defined in MP4 as a data box to refer to other external files. If, as shown in
FIG. 5 , “moov” refers to “mdat” contained in the same MP4 file, the value of “dinf” is “null”. In the present embodiment, by contrast, as will be described with reference toFIG. 6 , a noticeable effect can be achieved by making full use of this “dinf”. -
FIG. 6 is an explanatory view showing the configuration of an MP4 file generated by thefile generation unit 120 in the present embodiment. As shown inFIG. 6 , thefile generation unit 120 generates a plurality of MP4 file A to MP4 file C containing “mdat” at different bit rates from the same content. - In the present embodiment, segments are data divided by a boundary of MP4 Sync Sample of video and video encoded data and audio encoded data are arranged in a segment after being interleaved. Segments are continuously arranged in mdat in the time sequence in which content is reproduced. Video and audio are encoded so as to yield the same reproduction time of segments of each data file at different bit rates. In the case of AVC/H. 264, video encoded data and audio encoded data are arranged in such a way that an IDR picture is present at the head of a segment, so that data can be switched to data at a different bit rate in segments.
- The position of each segment is the position of Sync Sample and the
content reproduction apparatus 20 can read segment data from each data file based on the segment position obtained from information of Sample Description box in “moov” or in combination with Sync sample table box contained therein. In the present embodiment, one video frame is set to be one Sample to create a Sync Sample, which is a Sample in which an IDR picture is present once in 30 frames, and Sync sample table box is provided in Sample Description box. - “mdat” of the MP4 file B (first data file) is constituted by segments B1 to Bn whose bit rate is 1.5 Mbps, “mdat” of the MP4 file C (second data file) is constituted by segments C1 to Cn whose bit rate is 1 Mbps, and “mdat” of the MP4 file A (third data file) is constituted by segments A1 to An whose bit rate is 2 Mbps.
- “moov” of the MP4 file B contains “trak (videoB)” and “trak (audioB)” to access the segments B1 to Bn constituting the same file.
- Further, “moov” of the MP4 file B contains “trak (videoC′)” and “trak (audioC′)” to access the segments C1 to Cn constituting the MP4 file C.
- That is, the URL of the MP4 file C is described in “dinf” of “trak (videoC′)” and “trak (audioC′)”. More specifically, the URL of the MP4 file C is described in the ‘location’ field in the syntax of “dinf” shown below. Moreover, position information (byte offset in a file) of each Sample and Sync Sample segments C1 to Cn is obtained from information of Sample Description Box of a video track described in “trak (videoC′)” and “trak (audioC′)”.
-
(Syntax example) aligned(8) class DataEntryUrlBox (bit(24) flags) extends FullBox( ‘url ’ , version = 0, flags) { string location; } - Similarly, “moov” of the MP4 file B contains “trak (videoA′)” and “trak (audioA′)” to access the segments A1 to An constituting the MP4 file A. That is, the URL of the MP4 file A is described in “dinf” of “trak (videoA′)” and “trak (audioA′)”.
- While the MP4 file A also contains “trak (videoA)” and “trak (audioA)” to access the segments A1 to An constituting the MP4 file A, the
content reproduction apparatus 20 does not use these for adaptive streaming described later. - Similarly, while the MP4 file C also contains “trak (videoC)” and “trak (audioC)” to access the segments C1 to Cn constituting the MP4 file C, the
content reproduction apparatus 20 does not use these for adaptive streaming described later. - In the present embodiment, as described above, “mdat” having different bit rates are created in different MP4 files rather than the same MP4 file. Moreover, the URL and offset information of each segment in a file to refer to “mdat” contained in other MP4 files are described in Sample Description box of one MP4 file.
- With such a configuration, an MP4 file according to the present embodiment can be used not only for streaming, but also for downloading. The reason therefor will be described by comparing with a case where a plurality of “mdat” having different bit rates is generated in the same file.
- If the plurality of “mdat” having different bit rates is generated in the same file and the file is also used for downloading, the client will download the whole file containing the plurality of “mdat”. Thus, an issue arises that the amount of download data and the download time will unnecessarily double.
- In the present embodiment, by contrast, an MP4 file containing only one “mdat” among the plurality of “mdat” with different bit rates can be downloaded. For example, the
content reproduction apparatus 20 can download, among the plurality of “mdat” with different bit rates, the MP4 file A containing only “mdat” at a high bit rate. Therefore, the client can download while curbing the amount of download data and the download time. - The
file generation unit 120 may write information whether media data referred to by each “trak” belongs to a group of alternative media data obtained by encoding at different bit rates into “minfo” of each track in “moov” of the file B. For example, the following extended block may be provided in the syntax of “minfo” shown below to write the identification number of a group of alternative media data into “alternative media group”, “<uuid_value>: T. B. D” into “extended_type”, and “0” into “flags”. Thecontent reproduction apparatus 20 can recognize that segments of media data belonging to a group of alternative media data can be replaced by compatible segments in other media data belonging to the same group. The maximum bit rate maxbitrate and the average bit rate avgbitrate of media are also described, which can be used by thecontent reproduction apparatus 20 to determine the encoded data segments of which are to be acquired. -
(Syntax example) aligned(8) class AlternateMediaInformationBox extends FullBox ( ‘uuid’ , version=0, flags = 0, extended_type){ unsigned int(32) alternative_media_group; unsigned int(32) maxbitrate; unsigned int(32) avgbitrate; } - With such a configuration, the
content reproduction apparatus 20 can determine whether an MP4 file is generated according to a method in the present embodiment by checking “minfo” in “moov” of the MP4 file. Then, if the MP4 file is a file generated according to a method in the present embodiment, thecontent reproduction apparatus 20 can request, as described later, adaptive streaming from thecontent server 10. - An example in which an MP4 file is mainly constituted by “moov” and “mdat” is shown in
FIG. 6 , but the configuration of an MP4 file is not limited to such an example. For example, access information contained in “moov” shown inFIG. 6 may be arranged, as shown inFIG. 7 , in a distributed manner by using “moov” and “moof”. -
FIG. 7 is an explanatory view showing a modification of the MP4 file generated by thefile generation unit 120 in the present embodiment. As shown inFIG. 7 , “moov” is arranged at the head of each file and then, “mdat” and “moof” are arranged alternately. Like the structure of an MP4 file described above, “moov” of the MP4 file B contains “trak” in which access information to each segment of the MP4 files B, A, and C and Sample Description box to access subsequent “mdat”. Each “moof” of the MP4 file B contains a plurality of “traf” corresponding to “trak” described in “moov” and “traf” contains information to access each segment of “mdat” subsequent to each file. The MP4 files C and A may also have “moov” and “moof” described therein, but like the above example, thecontent reproduction apparatus 20 does not use these for adaptive streaming. - By arranging access information in a distributed manner, the amounts of data of “moov” at the head of the MP4 file B and each “moof” can be made smaller, so that the acquisition time of “moov” at the head can be curbed and information of “moov” and “moof” held by the
content reproduction apparatus 20 in abuffer 230 can be reduced. Moreover, “moof” and corresponding mdat can be generated independently and thus can be used for streaming of live content such as live broadcasting. The present embodiment is also applicable to the format shown inFIG. 7 in which “moov”, “mod”, and “mdat” are arranged in a distributed manner. - Return to the description of the configuration of the
content server 10 by referring toFIG. 4 . Thestorage unit 130 of thecontent server 10 shown inFIG. 4 is a storage medium that stores a plurality of MP4 files generated by thefile generation unit 120. - For example, the
storage unit 130 may be a storage medium such as a nonvolatile memory, magnetic disk, optical disk, and MO (Magneto Optical) disk. The nonvolatile memory includes, for example, an EEPROM (Electrically Erasable Programmable Read-Only Memory) and EPROM (Erasable Programmable ROM). The magnetic disk includes a hard disk and disc-like magnetic disk. The optical disk includes a CD (Compact Disc), DVD-R (Digital Versatile Disc Recordable), and BD (Blu-ray Disc (registered trademark)). - The
communication unit 140 is an interface with thecontent reproduction apparatus 20 and communicates with thecontent reproduction apparatus 20 via thenetwork 12. More specifically, thecommunication unit 140 has a function as an HTTP server that communicates with thecontent reproduction apparatus 20 according to HTTP. For example, thecommunication unit 140 extracts data requested from thecontent reproduction apparatus 20 according to HTTP from thestorage unit 130 and transmits the data to thecontent reproduction apparatus 20 as an HTTP response. - In the foregoing, the function of the
content server 10 according to the present embodiment has been described. Next, the function of thecontent reproduction apparatus 20 according to the present embodiment will be described with reference toFIG. 8 . -
FIG. 8 is a function block diagram showing the configuration of thecontent reproduction apparatus 20 according to the present embodiment. As shown inFIG. 8 , thecontent reproduction apparatus 20 according to the present embodiment includes anacquisition unit 220, thebuffer 230, areproduction unit 240, and aselection unit 250. - The
acquisition unit 220 is an interface with thecontent server 10 and requests data from thecontent server 10 to acquire the data from thecontent server 10. More specifically, theacquisition unit 220 has a function as an HTTP client that communicates with thecontent reproduction apparatus 20 according to HTTP. For example, theacquisition unit 220 can partially acquire a portion (moov or a segment) of an MP4 file from thecontent server 10 by using HTTP Range. - The
buffer 230 sequentially buffers segments acquired by theacquisition unit 220 from thecontent server 10. Segments buffered in thebuffer 230 are sequentially supplied to thereproduction unit 240 according to FIFO (First In First Out). - The
reproduction unit 240 sequentially reproduces segments supplied from thebuffer 230. More specifically, thereproduction unit 240 performs segment decoding, DA conversion, and rendering. - The
selection unit 250 sequentially selects from within the same content an MP4 file a segment of which is to be acquired, that is, a segment having a bit rate to be acquired in accordance with conditions of thenetwork 12. If, for example, theselection unit 250 successively selects segments “A1”, “B2”, and “A3”, as shown inFIG. 2 , theacquisition unit 220 successively acquires the segments “A1”, “B2”, and “A3” from thecontent server 10. - The
acquisition unit 220 acquires “moov” of an MP4 file prior to the acquisition of segments and a segment selected by theselection unit 250 can be acquired from thecontent server 10 by specifying access information contained in the “moov”. - If the band of the
network 12 grows, the amount of buffering data in thebuffer 230 is assumed to increase and if the band of thenetwork 12 shrinks, the amount of buffering data in thebuffer 230 is assumed to decrease. Thus, theselection unit 250 may indirectly grasp conditions of thenetwork 12 by monitoring buffering conditions of thebuffer 230. - If, for example, the number of samples (the number of video frames) buffered in the
buffer 230 is within a predetermined range, that is, if the reproducible time by samples buffered in thebuffer 230 is within a predetermined range, theselection unit 250 may select segments at the standard bit rate (for example, 1.5 Mbps). For example, thecontent reproduction apparatus 20 starts reproduction of streaming after temporarily accumulating 90 samples at the standard bit rate (for three seconds) and continues the reproduction while reading subsequent segment data and if data in thebuffer 230 during reproduction is in the range of 75 to 105 samples, theselection unit 250 selects segments at the standard bit rate. - If, on the other hand, the buffering amount decreases and the reproducible time by samples buffered in the
buffer 230 falls below the predetermined range, theselection unit 250 may select segments at a low bit rate (for example, 1 Mbps). If, for example, data in thebuffer 230 during reproduction falls to 75 samples or less, theselection unit 250 selects segments at a low bit rate. - If the buffering amount increases and the reproducible time by samples buffered in the
buffer 230 exceeds the predetermined range, theselection unit 250 may select segments at a high bit rate (for example, 2 Mbps). If, for example, data in thebuffer 230 during reproduction increases to 105 samples or more, theselection unit 250 selects segments at a high bit rate. Further, if the number of segments in thebuffer 230reaches 120 so that segments are sufficiently accumulated, theselection unit 250 temporarily stops reading and when the number thereof falls 120 or below, theselection unit 250 restarts reading. - In the foregoing, as an example of the method for determining the band of the
network 12, an example to monitor buffering conditions of thebuffer 230 has been described, but the present embodiment is not limited to such an example. For example, thecontent reproduction apparatus 20 may determine the band of thenetwork 12 by actually transmitting a dummy packet to thenetwork 12 or may determine the band of thenetwork 12 based on the acquisition speed of segments by theacquisition unit 220. - In the foregoing, the functions of the
content server 10 and thecontent reproduction apparatus 20 according to the present embodiment have been described. Next, the operation of thecontent reproduction system 1 according to the present embodiment will be described with reference toFIG. 9 . -
FIG. 9 is a sequence diagram showing the operation of thecontent reproduction system 1 according to the present embodiment. First, theacquisition unit 220 of thecontent reproduction apparatus 20 requests the transmission of “moov” of the MP4 file B concerning some content through “HTTP: GET URL-B with Range” from the content server 10 (S304). Then, thecommunication unit 140 of thecontent server 10 transmits “moov” of the MP4 file B to thecontent reproduction apparatus 20 as “HTTP: Response” (S308). It is assumed that URL-B of the MP4 file B is described in metadata information of the content and thecontent reproduction apparatus 20 has acquired the content. Then, thebuffer 230 of thecontent reproduction apparatus 20 starts buffering of “moov” of the MP4 file B acquired from the content server 10 (S310). - Here, the
selection unit 250 of thecontent reproduction apparatus 20 can determine whether a referred file of “trak” in “moov” belongs to an alternative media group obtained by encoding at different bit rates by checking “minfo” in “moov”. - Then, if the referred file of “trak” in “moov” belongs to an alternative media group obtained by encoding at different bit rates, the
selection unit 250 selects a segment Bi of the MP4 file B having the standard bit rate. - Next, the
acquisition unit 220 requests the segment Bi of the MP4 file B selected by theselection unit 250 from thecontent server 10 by using “HTTP: GET URL-B with Range” (S312). More specifically, theacquisition unit 220 requests the segment Bi of the MP4 file B from thecontent server 10 by specifying network position information of the MP4 file B and position information of the segment Bi in the MP4 file B in bytes. The network position information of the MP4 file B and the position information of the segment Bi in the MP4 file B in bytes are described in “moov” of the MP4 file B received in step S308. Then, thecommunication unit 140 of thecontent server 10 transmits the segment Bi of the MP4 file B to thecontent reproduction apparatus 20 as “HTTP: Response” (S316). - Then, when the segment Bi is sufficiently buffered in the
buffer 230 of thecontent reproduction apparatus 20, thereproduction unit 240 starts reproduction of the segment Bi (S320). If it is difficult to read from the buffer sufficiently even when a certain time passes after starting buffering (S310), the network band can be considered to be insufficient. In such a case, subsequent segment reading may be switched to segments in the file C from S316. Similarly, if predetermined segments are determined to be bufferable earlier, it is also possible to start reproduction after segments of the file A being buffered (S320). - Similarly, the
acquisition unit 220 of thecontent reproduction apparatus 20 requests the next segment Bj from thecontent server 10 by using “HTTP: GET URL-B with Range” (S324). Then, thecommunication unit 140 of thecontent server 10 transmits the next segment Bj to thecontent reproduction apparatus 20 as “HTTP: Response” (S328). - If the buffering amount of the
buffer 230 decreases and the reproducible time by samples buffered in thebuffer 230 falls below a predetermined range (S332), theselection unit 250 selects a segment Ck of the MP4 file C having a low bit rate. - Then, the
acquisition unit 220 requests the segment Ck of the MP4 file C selected by theselection unit 250 from thecontent server 10 by using “HTTP: GET URL-C with Range” (S336). Thecommunication unit 140 of thecontent server 10 that has received the request transmits the segment Ck of the MP4 file C to thecontent reproduction apparatus 20 as “HTTP: Response” (S340). - Then, if the buffering amount of the
buffer 230 increases and the reproducible time by samples buffered in thebuffer 230 falls within the predetermined range (S344), theselection unit 250 selects the segment B1 of the MP4 file B having the standard bit rate. - Next, the
acquisition unit 220 requests the segment B1 of the MP4 file B selected by theselection unit 250 from thecontent server 10 by using “HTTP: GET URL-B with Range” (S348). Then, thecommunication unit 140 of thecontent server 10 transmits the segment B1 of the MP4 file B to thecontent reproduction apparatus 20 as “HTTP: Response” (S352). - If the buffering amount of the
buffer 230 increases still thereafter and the reproducible time by samples buffered in thebuffer 230 exceeds the predetermined range (S356), theselection unit 250 selects a segment Am of the MP4 file A having a high bit rate. - Next, the
acquisition unit 220 requests the segment Am of the MP4 file A selected by theselection unit 250 from thecontent server 10 by using “HTTP: GET URL-A with Range” (S360). Then, thecommunication unit 140 of thecontent server 10 transmits the segment Am of the MP4 file A to thecontent reproduction apparatus 20 as “HTTP: Response” (S352). - Hereinafter, the
selection unit 250 similarly selects a segment having a bit rate to be requested in accordance with the buffering amount of thebuffer 230, and theacquisition unit 220 acquires the segment selected by theselection unit 250 from thecontent server 10. - With such a configuration, reproduction can be prevented from being broken off when the band of the
network 12 is small and high-quality reproduction can be realized when the band of thenetwork 12 is large. Moreover, in the present embodiment, loads on thecontent server 10 can be reduced because the band of thenetwork 12 can be determined and the segment to be requested can be selected from thecontent reproduction apparatus 20 side. - An example that enables access to “mdat” of another file by using “dinf” in “trak” is described above, but as described with reference to
FIG. 10 , reference to “trak” of another file may be enabled by using “trak”. -
FIG. 10 is an explanatory view showing a modification of the MP4 file generated by thefile generation unit 120 in the present embodiment. If, as shown inFIG. 10 , access information to “trak” of the MP4 file A is written into “trak” of the MP4 file B, thecontent reproduction apparatus 20 can acquire “trak” of the MP4 file A by analyzing “trak” of the MP4 file B and using the described access information. Thus, thecontent reproduction apparatus 20 can acquire the segments A1, A2, . . . based on “trak” of the MP4 file A and Sample Description box described therein. - Similarly, if access information to “trak” of the MP4 file C is written into “trak” of the MP4 file B, the
content reproduction apparatus 20 can acquire “trak” of the MP4 file C by analyzing “trak” of the MP4 file B and using the described access information. Thus, thecontent reproduction apparatus 20 can also acquire the segments C1, C2, . . . based on “trak” of the MP4 file C and Sample Description box described therein. - More specifically, the MP4 file format may be extended to write an extended box shown below into “minfo”, “<uuid_value>: T. B. D” into “extended_type” in the syntax, the URL of the referred MP4 file into “location”, and the identifier of “trak” in the referred MP4 file into “track_ID”. Accordingly, the
content reproduction apparatus 20 can recognize that alternative media data as media data on a track of the file B is located on a track indicated by track_id of the file C. Moreover, bit rate information such as the maximum bit rate maxbitrate and the average bit rate avgbitrate of media are also described, which can be used by thecontent reproduction apparatus 20 to determine the encoded data segments of which are to be acquired. -
(Syntax example) aligned(8) class AlternateMediaReferenceBox extends FullBox( ‘uuid’ , version=0, flags = 0, extended_type){unsigned int(32) entry_count; for (i=1; i · entry_count; i++) { string location; // URL unsigned int(32) track_ID; unsigned int(32) maxbitrate; unsigned int(32) avgbitrate; } } - The above configuration is similarly applicable to a file format in which access information contained in “moov” is arranged in a distributed manner by using “moov” and “moof”. In this case, as shown in
FIG. 11 , “trak” and “traf” of another file can be accessed using “trak” of the MP4 file B by writing access information to “trak” of the other file into “trak”. -
FIG. 11 is an explanatory view showing a modification of the MP4 file generated by thefile generation unit 120 in the present embodiment. As shown inFIG. 11 , if access information to “trak” of the MP4 file A is written into “trak” of the MP4 file B, thecontent reproduction apparatus 20 can acquire “trak” of the MP4 file A by analyzing “trak” of the MP4 file B and using the described access information. Thus, thecontent reproduction apparatus 20 can also acquire segments A11, A12, . . . based on “trak” of the MP4 file A. - Similarly, if access information to “trak” of the MP4 file C is written into “trak” of the MP4 file B, the
content reproduction apparatus 20 can acquire “trak” of the MP4 file C by analyzing “trak” of the MP4 file B and using the described access information. Thus, thecontent reproduction apparatus 20 can also acquire segments C11, C12, . . . based on “trak” of the MP4 file C and each “traf”. While the position in the file of “moof” of each file can be acquired by the BOX structure of an MP4 file being analyzed by thecontent reproduction apparatus 20, position information of each moof may be acquired by using Movie Fragment Random access box described in the MP4 file to access, after the relevant moof information being acquired, each segment of mdat subsequent to the moof. Moreover, mdat immediately after “moof” can be read without time delay by reading moof information in advance and analyzing “traf”. - In the present embodiment, as described above, the
selection unit 250 of thecontent reproduction apparatus 20 selects segments having the bit rate to be requested in accordance with the band of thenetwork 12 and theacquisition unit 220 acquires the selected segment from thecontent server 10. Therefore, according to the present embodiment, loads on thecontent server 10 can be reduced. - The present embodiment mostly conforms to existing standards such as HTTP and MP4. Therefore, the present embodiment is compatible with streaming using existing HTTP and MP4 and can minimize extensions so that smooth introduction thereof can be expected.
- Moreover, in the present embodiment, “mdat” having different bit rates are created in different MP4 files rather than in the same MP4 file. Thus, each MP4 file can be used not only for streaming, but also for downloading without hindrance.
- It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and alterations may occur depending on design requirements and other factors insofar as they are within the scope of the appended claims or the equivalents thereof.
- For example, each step of processing of the
content reproduction system 1 herein is not necessarily executed chronologically in the order described as a sequence diagram. For example, each step of processing of thecontent reproduction system 1 may be executed in an order different from the order described as a sequence diagram or in parallel. - A computer program to cause hardware such as the
CPU 201, theROM 202, and theRAM 203 contained in thecontent reproduction apparatus 20 and thecontent server 10 to perform the function equivalent to that of each component of thecontent reproduction apparatus 20 and thecontent server 10 described above can be created. Moreover, a storage medium in which the computer program is stored is also provided. - In the present embodiment, as shown in
FIGS. 6, 7, 10, and 11 , encoded data at the standard bit rate is arranged in the first data file, but encoded data at a low bit rate or a high bit rate may also be arranged. - In the present embodiment, as shown in
FIGS. 6, 7, 10, and 11 , encoded data is arranged in the first data file, but only access information to such encoded data may be arranged in moof of the first data file. - In the present embodiment, as shown in
FIG. 7 , an example in which “moov”, “moof”, and “mdat” are arranged in a distributed manner is shown, but distributed arrangement may be limited to the first data file so that, as shown inFIG. 8 , other data files are constituted by “moov” and “mdat” corresponding thereto. - Further,
FIG. 12 shows an embodiment when the first data file does not contain encoded data. The first data file has access information to each segment arranged in other data files described therein. Access information is arranged in the first data file in a distributed manner by using “moov” and “moof” and each “moof” has only access information to segments of only one data file described therein. - In this case, “traf” of each of a video track and an audio track has access information to each segment described in each “moof” and access information to segments in a range of sets of “moof” arranged consecutively (three sets in this case) described therein.
- In the example shown in
FIG. 12 , each “trak” of “moov” does not contain access information to segments and the next three “moof” have access information fromsegment 1 to segment (i−1) described therein. Similarly, the next three “moof” have access information from segment i to segment (j−1) described therein and further, the next three “moof” have access information from segment j to segment (k−1) described therein. The arrangement order of “trak” in “moov” (that is, B, C, A) and the arrangement order of “traf” in three “moof” (that is, B, C, A) match, which makes reading of “traf” easier. - By configuring the first data file in this manner, access information to segments can easily be obtained only by analyzing the first data file. Moreover, segment information of each data file is divided in units of “moof” and thus, the
content reproduction apparatus 20 can perform adaptive streaming while selecting a data file of the appropriate bit rate matching network conditions by acquiring and holding only “moof” of a necessary data file without holding access information to segments of all data files. - Data files that do not contain encoded data are not distributed by “moof” and are constituted by “moov” and “mdat” and thus, such data files can be used for a content reproduction apparatus that only supports streaming using existing HTTP and MP4.
- By considering issues such as being unable to reproduce by an existing content reproduction apparatus because the first data file does not contain encoded data, a mechanism may be provided to reproduce a first MP4 file if a content reproduction apparatus is provided for adaptive streaming and otherwise, an MP4 file that is not distributed is reproduced. For example, a method by which a content reproduction apparatus is caused to disclose each URL and attributes thereof to select the URL based on capability and attributes of the content reproduction apparatus is known.
- The overview and specific examples of the above-described embodiment and the other embodiments are examples. The present invention may also be applied and can be applied to various other embodiments. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and alterations may occur depending on design requirements and other factors insofar as they are within the scope of the appended claims or the equivalents thereof.
Claims (19)
1. An information processing apparatus, comprising:
processing circuitry configured to transmit information associated with electronic content to a device, wherein the electronic content, stored in a plurality of different bit rates, comprises a plurality of segments and the information associated with the electronic content comprises location information for each segment of the plurality of segments;
receive a request from the device for at least one segment of the stored electronic content selected by the device based on the location information for each segment of the plurality of segments; and
transmit the requested at least one segment to the device.
2. The information processing apparatus according to claim 1 , wherein
the location information comprises a respective uniform resource locator (URL) corresponding to each segment of the plurality of segments.
3. The information processing apparatus according to claim 2 , wherein
the information associated with the electronic content comprises bit rates of the plurality of segments of the electronic content.
4. The information processing apparatus according to claim 1 , wherein
the electronic content comprises an index of each segment.
5. The information processing apparatus according to claim 1 , wherein
the electronic content comprises an index to byte range of each segment of the plurality of segments.
6. The information processing apparatus according to claim 1 , wherein
the at least one segment of the electronic content is selected by the device based on network conditions.
7. The information processing apparatus according to claim 1 , wherein
the request from the device comprises the location information for each segment of the plurality of segments.
8. The information processing apparatus according to claim 1 , wherein the processing circuitry is further configured to
receive a request from the device for the information associated with the electronic content.
9. The information processing apparatus according to claim 1 , wherein the processing circuitry is further configured to
access the requested at least one segment based on the location information for the requested at least one segment.
10. The information processing apparatus according to claim 4 , wherein the processing circuitry is further configured to
access the requested at least one segment based on the location information for the requested at least one segment and the index of each segment of the plurality of segments.
11. The information processing apparatus according to claim 1 , wherein the processing circuitry is configured to
transmit the requested at least one segment to the device as an HTTP response.
12. The information processing apparatus according to claim 1 , wherein
the electronic content comprises at least one of encoded audio content or encoded video content.
13. The information processing apparatus according to claim 1 , wherein
the information associated with the electronic content is stored in a plurality of data files corresponding to the plurality of different bit rates.
14. The information processing apparatus according to claim 1 , wherein
the data files correspond to an MP4 format.
15. The information processing apparatus according to claim 1 , wherein
the request from the device comprises information identifying a predetermined bit rate of the plurality of different bit rates.
16. The information processing apparatus according to claim 15 , wherein
the request from the device requests for segments of the plurality of segments having the predetermined bit rate.
17. The information processing apparatus according to claim 1 , wherein
the at least one segment of the electronic content is selected by the device based on bit rate of the at least one segment.
18. An information processing method, comprising:
transmitting information associated with electronic content to a device, wherein the electronic content, stored in a plurality of different bit rates, comprises a plurality of segments and the information associated with the electronic content comprises location information for each segment of the plurality of segments;
receiving a request from the device for at least one segment of the electronic content selected by the device based on the location information for each segment of the plurality of segments; and
transmitting the requested at least one segment to the device.
19. A non-transitory computer-readable medium having embodied thereon a program, which when executed by a computer causes the computer to execute a method, the method comprising:
transmitting information associated with electronic content to a device, wherein the electronic content, stored in a plurality of different bit rates, comprises a plurality of segments and the information associated with the electronic content comprises location information for each segment of the plurality of segments;
receiving a request from the device for at least one segment of the electronic content selected by the device based on the location information for each segment of the plurality of segments; and
transmitting the requested at least one segment to the device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/984,229 US20160112333A1 (en) | 2009-10-15 | 2015-12-30 | Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-238130 | 2009-10-15 | ||
JP2009238130A JP2011087103A (en) | 2009-10-15 | 2009-10-15 | Provision of content reproduction system, content reproduction device, program, content reproduction method, and content server |
US12/899,178 US8812735B2 (en) | 2009-10-15 | 2010-10-06 | Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server |
US14/327,348 US20140325020A1 (en) | 2009-10-15 | 2014-07-09 | Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server |
US14/984,229 US20160112333A1 (en) | 2009-10-15 | 2015-12-30 | Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/327,348 Continuation US20140325020A1 (en) | 2009-10-15 | 2014-07-09 | Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160112333A1 true US20160112333A1 (en) | 2016-04-21 |
Family
ID=43598096
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/899,178 Expired - Fee Related US8812735B2 (en) | 2009-10-15 | 2010-10-06 | Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server |
US14/327,348 Abandoned US20140325020A1 (en) | 2009-10-15 | 2014-07-09 | Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server |
US14/984,229 Abandoned US20160112333A1 (en) | 2009-10-15 | 2015-12-30 | Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server |
US14/984,323 Abandoned US20160112334A1 (en) | 2009-10-15 | 2015-12-30 | Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/899,178 Expired - Fee Related US8812735B2 (en) | 2009-10-15 | 2010-10-06 | Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server |
US14/327,348 Abandoned US20140325020A1 (en) | 2009-10-15 | 2014-07-09 | Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/984,323 Abandoned US20160112334A1 (en) | 2009-10-15 | 2015-12-30 | Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server |
Country Status (6)
Country | Link |
---|---|
US (4) | US8812735B2 (en) |
EP (2) | EP2312850A3 (en) |
JP (1) | JP2011087103A (en) |
KR (3) | KR101750558B1 (en) |
CN (2) | CN102045338A (en) |
TW (3) | TWI465113B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10135898B2 (en) | 2013-08-23 | 2018-11-20 | Samsung Electronics Co., Ltd. | Method, terminal, and system for reproducing content |
Families Citing this family (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US7068729B2 (en) | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
WO2004034589A2 (en) | 2002-10-05 | 2004-04-22 | Digital Fountain, Inc. | Systematic encoding and decoding of chain reaction codes |
KR101161193B1 (en) | 2004-05-07 | 2012-07-02 | 디지털 파운튼, 인크. | File download and streaming system |
JP5550834B2 (en) | 2006-02-13 | 2014-07-16 | デジタル ファウンテン, インコーポレイテッド | Streaming and buffering using variable FEC overhead and protection period |
US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
WO2007134196A2 (en) | 2006-05-10 | 2007-11-22 | Digital Fountain, Inc. | Code generator and decoder using hybrid codes |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US9237101B2 (en) | 2007-09-12 | 2016-01-12 | Digital Fountain, Inc. | Generating and communicating source identification information to enable reliable communications |
US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
EP2362651A1 (en) * | 2010-02-19 | 2011-08-31 | Thomson Licensing | Multipath delivery for adaptive streaming |
US9225961B2 (en) | 2010-05-13 | 2015-12-29 | Qualcomm Incorporated | Frame packing for asymmetric stereo video |
KR101702562B1 (en) * | 2010-06-18 | 2017-02-03 | 삼성전자 주식회사 | Storage file format for multimedia streaming file, storage method and client apparatus using the same |
US9049497B2 (en) | 2010-06-29 | 2015-06-02 | Qualcomm Incorporated | Signaling random access points for streaming video data |
US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US9456015B2 (en) | 2010-08-10 | 2016-09-27 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
FR2975555A1 (en) | 2011-05-18 | 2012-11-23 | Thomson Licensing | METHOD OF DYNAMIC ADAPTATION OF RECEPTION RATE AND RECEPTOR |
KR101633239B1 (en) * | 2011-06-08 | 2016-06-23 | 코닌클리즈케 케이피엔 엔.브이. | Spatially-segmented content delivery |
JP5259848B2 (en) * | 2011-07-29 | 2013-08-07 | 株式会社東芝 | Reproduction control device and reproduction control method |
US8787570B2 (en) * | 2011-08-31 | 2014-07-22 | Sonic Ip, Inc. | Systems and methods for automatically genenrating top level index files |
US9253233B2 (en) * | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
US9445136B2 (en) | 2011-09-21 | 2016-09-13 | Qualcomm Incorporated | Signaling characteristics of segments for network streaming of media data |
MY166932A (en) | 2011-09-30 | 2018-07-24 | Huawei Tech Co Ltd | Method and device for transmitting streaming media |
US9843844B2 (en) * | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
US9055136B2 (en) * | 2011-10-13 | 2015-06-09 | Qualcomm Incorporated | Controlling streaming delay in networks |
EP2587824A1 (en) * | 2011-10-27 | 2013-05-01 | Thomson Licensing | Method and apparatus to manage the operation of an adaptive streaming client |
EP2595399A1 (en) * | 2011-11-16 | 2013-05-22 | Thomson Licensing | Method of digital content version switching and corresponding device |
US9225762B2 (en) | 2011-11-17 | 2015-12-29 | Google Technology Holdings LLC | Method and apparatus for network based adaptive streaming |
KR102119287B1 (en) * | 2011-12-01 | 2020-06-04 | 인터디지탈 매디슨 페이튼트 홀딩스 | Device for obtaining content by choosing the transport protocol according to the available bandwidth |
DE102012200083A1 (en) * | 2012-01-04 | 2013-07-04 | Robert Bosch Gmbh | Method and control unit for determining an identification code for an audio data packet |
CN104583996B (en) * | 2012-02-13 | 2018-01-09 | 阿弗梅德网络公司 | Mobile video transmits |
US9219929B2 (en) * | 2012-02-27 | 2015-12-22 | Fritz Barnes | Enhanced startup and channel change for fragmented media stream delivery |
US9392304B2 (en) * | 2012-02-29 | 2016-07-12 | Hulu, LLC | Encoding optimization using quality level of encoded segments |
US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
EP2661045A1 (en) * | 2012-05-04 | 2013-11-06 | Thomson Licensing | Method and apparatus for providing a plurality of transcoded content streams |
CN109618185A (en) * | 2012-07-10 | 2019-04-12 | Vid拓展公司 | Method, WTRU and the encoding device executed by WTRU |
CN104145292A (en) * | 2012-07-13 | 2014-11-12 | 三星电子株式会社 | Communication method between content requester and content provider for providing content and real-time streaming content in content name-based content centric network |
US9420217B2 (en) * | 2012-08-17 | 2016-08-16 | Microsoft Technology Licensing, Llc | Program identifier based recording |
CN105264458B (en) * | 2012-11-09 | 2018-11-06 | 诺基亚通信公司 | Methods, devices and systems for being adapted to session |
US9712515B2 (en) * | 2012-12-21 | 2017-07-18 | Cellco Partnership | Verifying an identity of a message sender |
CN109618235B (en) * | 2013-01-18 | 2021-03-16 | 佳能株式会社 | Generation apparatus and method, processing apparatus and method, and storage medium |
TWI543594B (en) * | 2013-03-01 | 2016-07-21 | 致伸科技股份有限公司 | Digital media playing system |
KR20140111859A (en) * | 2013-03-12 | 2014-09-22 | 삼성전자주식회사 | Method and device for sharing content |
EP2785067A1 (en) * | 2013-03-27 | 2014-10-01 | Alcatel Lucent | A method and client for requesting, receiving and decoding adaptive streaming video |
US10033658B2 (en) | 2013-06-20 | 2018-07-24 | Samsung Electronics Co., Ltd. | Method and apparatus for rate adaptation in motion picture experts group media transport |
US9973402B2 (en) * | 2013-06-26 | 2018-05-15 | Nec Corporation | Transmission device, receiving device, and relay device |
CN105359536B (en) | 2013-07-17 | 2020-07-24 | 索尼公司 | Content providing device and method, terminal device, and content providing system |
US20150039660A1 (en) * | 2013-07-31 | 2015-02-05 | Cleversafe, Inc. | Co-locate objects request |
US20180188964A1 (en) * | 2013-07-31 | 2018-07-05 | International Business Machines Corporation | Managed storage unit shutdown in a distributed storage network |
JP2015136057A (en) | 2014-01-17 | 2015-07-27 | ソニー株式会社 | Communication device, communication data generation method, and communication data processing method |
JP2015136058A (en) | 2014-01-17 | 2015-07-27 | ソニー株式会社 | Communication device, communication data generation method, and communication data processing method |
JP2015136060A (en) | 2014-01-17 | 2015-07-27 | ソニー株式会社 | Communication device, communication data generation method, and communication data processing method |
JP2015136059A (en) | 2014-01-17 | 2015-07-27 | ソニー株式会社 | Communication device, communication data generation method, and communication data processing method |
US11201908B2 (en) * | 2014-02-05 | 2021-12-14 | Seon Design (Usa) Corp. | Uploading data from mobile devices |
KR102373195B1 (en) | 2014-05-07 | 2022-03-11 | 소니그룹주식회사 | Receiving device, transmission device, data communication method, and data processing method |
JP6555263B2 (en) * | 2014-06-30 | 2019-08-07 | ソニー株式会社 | Information processing apparatus and method |
US20180165358A1 (en) * | 2014-06-30 | 2018-06-14 | Sony Corporation | Information processing apparatus and information processing method |
KR102529711B1 (en) | 2014-10-20 | 2023-05-09 | 소니그룹주식회사 | Receiving device, transmitting device, and data processing method |
WO2016112112A1 (en) | 2015-01-06 | 2016-07-14 | Sonic Ip, Inc. | Systems and methods for encoding and sharing content between devices |
CN107534792B (en) | 2015-04-30 | 2021-03-09 | 索尼公司 | Receiving apparatus, transmitting apparatus, and data processing method |
WO2016174960A1 (en) | 2015-04-30 | 2016-11-03 | ソニー株式会社 | Reception device, transmission device, and data processing method |
MX2017015534A (en) | 2015-06-09 | 2018-02-21 | Sony Corp | Receiving device, transmission device and data processing method. |
CA2982102C (en) | 2015-06-16 | 2023-08-22 | Sony Corporation | Receiving device, transmitting device, and data processing method |
EP3327576A4 (en) | 2015-07-23 | 2018-12-12 | Sony Corporation | Reception device, transmission device, and data processing method |
TWI736542B (en) * | 2015-08-06 | 2021-08-21 | 日商新力股份有限公司 | Information processing device, data distribution server, information processing method, and non-temporary computer-readable recording medium |
KR102586630B1 (en) | 2015-08-28 | 2023-10-11 | 소니그룹주식회사 | Receiving devices, transmitting devices, and data processing methods |
US11102536B2 (en) | 2015-09-18 | 2021-08-24 | Saturn Licensing Llc | Transmission apparatus, reception apparatus, and data processing method |
KR102628917B1 (en) | 2015-09-18 | 2024-01-25 | 소니그룹주식회사 | Transmitting devices, receiving devices, and data processing methods |
KR102209292B1 (en) * | 2015-11-04 | 2021-01-29 | 삼성전자 주식회사 | Method and apparatus for providing data in multimedia system |
US10666961B2 (en) | 2016-01-08 | 2020-05-26 | Qualcomm Incorporated | Determining media delivery event locations for media transport |
JP2017157903A (en) * | 2016-02-29 | 2017-09-07 | 富士ゼロックス株式会社 | Information processor |
TWI559753B (en) * | 2016-03-16 | 2016-11-21 | 晶睿通訊股份有限公司 | Method for transmitting a video on demand |
CN105847724B (en) * | 2016-04-12 | 2018-12-07 | 深圳市极酷威视科技有限公司 | A kind of video record power-off protection method and device |
BR112019000571A2 (en) | 2016-07-20 | 2019-07-02 | Sony Corp | receiving device and data processing method. |
TWI599218B (en) * | 2016-07-29 | 2017-09-11 | 元智大學 | System for transferring real-time audio/video stream |
CN107979783B (en) * | 2016-10-25 | 2020-03-24 | 杭州海康威视数字技术股份有限公司 | Streaming data analysis method and device and electronic equipment |
JP6472478B2 (en) * | 2017-04-07 | 2019-02-20 | キヤノン株式会社 | Video distribution apparatus, video distribution method, and program |
US11240283B2 (en) * | 2017-08-14 | 2022-02-01 | British Telecommunications Public Limited Company | Methods and apparatus for the encoding of audio and/or video data |
CN110099088B (en) * | 2018-01-31 | 2022-03-08 | 国广融合(北京)传媒科技发展有限公司 | Self-adaptive data transmission method based on fusion transmission system |
CN110545491B (en) * | 2018-05-29 | 2021-08-10 | 北京字节跳动网络技术有限公司 | Network playing method, device and storage medium of media file |
JP7105675B2 (en) | 2018-11-02 | 2022-07-25 | 株式会社東芝 | Transmission device, server device, transmission method and program |
US11483365B2 (en) | 2019-01-31 | 2022-10-25 | British Telecommunications Public Limited Company | Methods and apparatus for the encoding of audio and/or video data |
GB2582014A (en) * | 2019-03-08 | 2020-09-09 | Canon Kk | Method, device, and computer program for optimizing transmission of portions of encapsulated media content |
KR102291293B1 (en) * | 2020-02-26 | 2021-08-20 | 가부시끼가이샤 도시바 | Transmission device, comunication system, transmission method, and non-transitory computer readable recording medium |
CN113365140B (en) | 2021-06-21 | 2022-12-23 | 北京百度网讯科技有限公司 | MP4 online playing method, device, equipment, storage medium and program product |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120002717A1 (en) * | 2009-03-19 | 2012-01-05 | Azuki Systems, Inc. | Method and system for live streaming video with dynamic rate adaptation |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6477565B1 (en) * | 1999-06-01 | 2002-11-05 | Yodlee.Com, Inc. | Method and apparatus for restructuring of personalized data for transmission from a data network to connected and portable network appliances |
FI115418B (en) * | 2001-09-20 | 2005-04-29 | Oplayo Oy | Adaptive media stream |
AU2002334720B8 (en) * | 2001-09-26 | 2006-08-10 | Interact Devices, Inc. | System and method for communicating media signals |
CN101661785A (en) * | 2001-11-29 | 2010-03-03 | 夏普株式会社 | Data recording apparatus, data reproduction appratus, data recording method and data display method, and recording apparatus |
US20030221014A1 (en) * | 2002-05-24 | 2003-11-27 | David Kosiba | Method for guaranteed delivery of multimedia content based on terminal capabilities |
DE60212383T2 (en) * | 2002-08-27 | 2006-10-19 | Matsushita Electric Industrial Co., Ltd., Kadoma | Method for transmitting data streams with data segments of variable length |
JP2005537742A (en) * | 2002-08-28 | 2005-12-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Streaming multimedia data |
JP2004165855A (en) * | 2002-11-11 | 2004-06-10 | Sony Corp | Authoring apparatus and method therefor authoring program, and recording medium recording the same |
JP2004312413A (en) * | 2003-04-08 | 2004-11-04 | Sony Corp | Content providing server, information processing device and method, and computer program |
KR100524770B1 (en) * | 2003-09-17 | 2005-10-31 | 엘지전자 주식회사 | Service apparatus and method of video on demand |
KR100608715B1 (en) * | 2003-09-27 | 2006-08-04 | 엘지전자 주식회사 | SYSTEM AND METHOD FOR QoS-QUARANTED MULTIMEDIA STREAMING SERVICE |
CN100472486C (en) * | 2003-09-30 | 2009-03-25 | 索尼株式会社 | Content acquisition method |
US7555009B2 (en) * | 2003-11-14 | 2009-06-30 | Canon Kabushiki Kaisha | Data processing method and apparatus, and data distribution method and information processing apparatus |
KR101244308B1 (en) * | 2003-12-08 | 2013-03-18 | 삼성전자주식회사 | Encoding Method for moving picture file and the Digital right management using the same |
US7567584B2 (en) * | 2004-01-15 | 2009-07-28 | Panasonic Corporation | Multiplex scheme conversion apparatus |
JP2005318473A (en) * | 2004-04-30 | 2005-11-10 | Toshiba Corp | Metadata for moving picture |
KR20060059782A (en) * | 2004-11-29 | 2006-06-02 | 엘지전자 주식회사 | Method for supporting scalable progressive downloading of video signal |
US20060259781A1 (en) * | 2005-04-29 | 2006-11-16 | Sony Corporation/Sony Electronics Inc. | Method and apparatus for detecting the falsification of metadata |
US20070022215A1 (en) * | 2005-07-19 | 2007-01-25 | Singer David W | Method and apparatus for media data transmission |
JP2007036666A (en) * | 2005-07-27 | 2007-02-08 | Onkyo Corp | Contents distribution system, client, and client program |
JP4598627B2 (en) * | 2005-08-24 | 2010-12-15 | 富士通株式会社 | Content editing apparatus and playback apparatus thereof |
KR20050092688A (en) * | 2005-08-31 | 2005-09-22 | 한국정보통신대학교 산학협력단 | Integrated multimedia file format structure, its based multimedia service offer system and method |
EP1932315A4 (en) * | 2005-09-01 | 2012-05-09 | Nokia Corp | Method for embedding svg content into an iso base media file format for progressive downloading and streaming of rich media content |
JP4991034B2 (en) * | 2005-11-04 | 2012-08-01 | エルジー エレクトロニクス インコーポレイティド | Mobile communication terminal and method of calculating media playback time of mobile communication terminal |
JP2007173987A (en) * | 2005-12-19 | 2007-07-05 | Canon Inc | Multimedia data transmission/reception system and device, or program |
JP4944484B2 (en) * | 2006-04-20 | 2012-05-30 | キヤノン株式会社 | Playback apparatus, playback method, and program |
JP2008033838A (en) | 2006-07-31 | 2008-02-14 | Sanyo Electric Co Ltd | Memory management device and memory management method |
JP4828352B2 (en) * | 2006-08-18 | 2011-11-30 | ソニー株式会社 | Information processing apparatus, information processing method, computer program, and semiconductor device |
JP4948147B2 (en) * | 2006-12-15 | 2012-06-06 | 富士通株式会社 | Method and apparatus for editing composite content file |
KR20080070471A (en) * | 2007-01-26 | 2008-07-30 | 엘지전자 주식회사 | Method for constructing of file format and apparatus and method for processing digital broadcast signal with file which has file format |
US20080208806A1 (en) * | 2007-02-28 | 2008-08-28 | Microsoft Corporation | Techniques for a web services data access layer |
US8543720B2 (en) * | 2007-12-05 | 2013-09-24 | Google Inc. | Dynamic bit rate scaling |
JP2009157815A (en) * | 2007-12-27 | 2009-07-16 | Hitachi Ltd | Advertisement distribution system and advertisement distribution method |
JP2009238130A (en) | 2008-03-28 | 2009-10-15 | Fujitsu Ltd | Printed circuit board designing apparatus and printed circuit board designing method |
US8370520B2 (en) * | 2008-11-24 | 2013-02-05 | Juniper Networks, Inc. | Adaptive network content delivery system |
US8219711B2 (en) * | 2008-11-24 | 2012-07-10 | Juniper Networks, Inc. | Dynamic variable rate media delivery system |
US9680892B2 (en) * | 2009-06-26 | 2017-06-13 | Adobe Systems Incorporated | Providing integration of multi-bit-rate media streams |
US9537967B2 (en) * | 2009-08-17 | 2017-01-03 | Akamai Technologies, Inc. | Method and system for HTTP-based stream delivery |
US20110246660A1 (en) * | 2009-09-29 | 2011-10-06 | Nokia Corporation | Systems, Methods, and Apparatuses for Media File Streaming |
-
2009
- 2009-10-15 JP JP2009238130A patent/JP2011087103A/en active Pending
-
2010
- 2010-09-28 TW TW99132845A patent/TWI465113B/en not_active IP Right Cessation
- 2010-09-28 TW TW105127716A patent/TWI643502B/en not_active IP Right Cessation
- 2010-09-28 TW TW103131814A patent/TWI562641B/en not_active IP Right Cessation
- 2010-10-06 US US12/899,178 patent/US8812735B2/en not_active Expired - Fee Related
- 2010-10-07 EP EP20100186813 patent/EP2312850A3/en not_active Ceased
- 2010-10-07 KR KR1020100097801A patent/KR101750558B1/en active IP Right Grant
- 2010-10-07 EP EP20140176024 patent/EP2802151A1/en not_active Ceased
- 2010-10-08 CN CN2010105064410A patent/CN102045338A/en active Pending
- 2010-10-08 CN CN201410428797.5A patent/CN104253999B/en not_active Expired - Fee Related
-
2014
- 2014-07-09 US US14/327,348 patent/US20140325020A1/en not_active Abandoned
-
2015
- 2015-12-30 US US14/984,229 patent/US20160112333A1/en not_active Abandoned
- 2015-12-30 US US14/984,323 patent/US20160112334A1/en not_active Abandoned
-
2017
- 2017-06-09 KR KR1020170072476A patent/KR101868280B1/en active IP Right Grant
- 2017-06-09 KR KR1020170072480A patent/KR101868281B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120002717A1 (en) * | 2009-03-19 | 2012-01-05 | Azuki Systems, Inc. | Method and system for live streaming video with dynamic rate adaptation |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10135898B2 (en) | 2013-08-23 | 2018-11-20 | Samsung Electronics Co., Ltd. | Method, terminal, and system for reproducing content |
Also Published As
Publication number | Publication date |
---|---|
TW201644269A (en) | 2016-12-16 |
CN104253999B (en) | 2017-09-01 |
TWI643502B (en) | 2018-12-01 |
CN102045338A (en) | 2011-05-04 |
US20160112334A1 (en) | 2016-04-21 |
KR20110041409A (en) | 2011-04-21 |
US8812735B2 (en) | 2014-08-19 |
US20110093617A1 (en) | 2011-04-21 |
US20140325020A1 (en) | 2014-10-30 |
TWI465113B (en) | 2014-12-11 |
KR101868281B1 (en) | 2018-06-15 |
KR101750558B1 (en) | 2017-07-04 |
TW201507481A (en) | 2015-02-16 |
EP2312850A2 (en) | 2011-04-20 |
KR20170070857A (en) | 2017-06-22 |
TWI562641B (en) | 2016-12-11 |
KR101868280B1 (en) | 2018-06-15 |
EP2312850A3 (en) | 2011-08-31 |
TW201121328A (en) | 2011-06-16 |
EP2802151A1 (en) | 2014-11-12 |
JP2011087103A (en) | 2011-04-28 |
KR20170070856A (en) | 2017-06-22 |
CN104253999A (en) | 2014-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8812735B2 (en) | Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server | |
US10412141B2 (en) | Systems and methods for seeking within multimedia content during streaming playback | |
US20190141102A1 (en) | Apparatus and method for storing and playing content in a multimedia streaming system | |
KR101885852B1 (en) | Method and apparatus for transmitting and receiving content | |
KR20110138134A (en) | Storage file format for multimedia streaming file, storage method and client apparatus using the same | |
US10701461B2 (en) | Video Processing Method, Terminal and Server | |
JP2011029936A (en) | File transfer system and file transfer method | |
WO2014112186A1 (en) | Content server and content distribution method | |
KR101517959B1 (en) | Method for Adaptive Streaming | |
KR20140007893A (en) | A method for optimizing a video stream | |
US9264720B2 (en) | Apparatus and method for multimedia service | |
KR20080064399A (en) | Mp4 demultiplexer and operating method thereof | |
JP2014131307A (en) | Information processing apparatus, information processing method, and program | |
JPWO2014171385A1 (en) | Server apparatus, content providing method, and computer program | |
JP2016040919A (en) | Information processor, information processing method, and program | |
KR101781023B1 (en) | Method for Real-time Playing Contents Coupled Contents Sending | |
JP2018074348A (en) | Video processing device, video processing method and video processing program | |
KR20160017655A (en) | Method for Adaptive Streaming | |
KR20150054734A (en) | Method for Adaptive Streaming | |
KR20110123644A (en) | File format structure for multimedia streaming service and method and apparatus for servicing multimedia streamming using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |