EP2417748A1 - Systèmes, procédés et appareils destinés à une transmission en continu de fichiers multimédias - Google Patents

Systèmes, procédés et appareils destinés à une transmission en continu de fichiers multimédias

Info

Publication number
EP2417748A1
EP2417748A1 EP10761246A EP10761246A EP2417748A1 EP 2417748 A1 EP2417748 A1 EP 2417748A1 EP 10761246 A EP10761246 A EP 10761246A EP 10761246 A EP10761246 A EP 10761246A EP 2417748 A1 EP2417748 A1 EP 2417748A1
Authority
EP
European Patent Office
Prior art keywords
media
media file
metadata
transfer protocol
media data
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.)
Withdrawn
Application number
EP10761246A
Other languages
German (de)
English (en)
Other versions
EP2417748A4 (fr
Inventor
Imed Bouazizi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Oyj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of EP2417748A1 publication Critical patent/EP2417748A1/fr
Publication of EP2417748A4 publication Critical patent/EP2417748A4/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication

Definitions

  • Embodiments of the present invention relate generally to communications technology and, more particularly, relate to systems, methods and apparatuses for media file streaming.
  • a method, apparatus, and computer program product are therefore provided for facilitating streaming of media files using a transport protocol, such as HTTP.
  • a transport protocol such as HTTP.
  • media content may be streamed using TCP over HTTP without limit to a proprietary media format.
  • streaming of media content may be facilitated for media content formatted in accordance with any media file format based upon the International Organization for Standardization (ISO) base media file format.
  • ISO International Organization for Standardization
  • a protocol for streaming of media content is provided that is interoperable with various network types, including, for example, local area networks, the Internet, wireless networks, wireline networks, cellular networks, and the like.
  • network bandwidth consumption and processing requirements of computing devices receiving and playing back streaming media are reduced. In this regard, more efficient use of network bandwidth may be made by reducing the amount
  • -1- CONFIRiVlATION COPY of metadata transmitted for a media file by selectively extracting and progressively delivering only that data required by the receiver for playback of the streaming media.
  • a device playing back the streaming media may benefit from embodiments of the invention by not having to receive and process as much data. Additionally, mobile devices playing back streaming media may also enjoy benefits in accordance with embodiments of the invention.
  • streaming of Third Generation Partnership Project (3GPP) media files (3GP media files), such as by using HTTP may be facilitated.
  • 3GPP Packet Switched Streaming Service may be benefited through the provision of support for such streaming, thus strengthening PSS as a means for mobile unicast streaming.
  • streaming media to mobile devices may be improved in accordance with embodiments of the invention by facilitating the use of established PSS media codecs and formats combined with mobile specific functionality (e.g., profile indication, Quality of Experience reporting, and/or the like).
  • a method is provided, which includes receiving a transfer protocol request for a media file indicating that the media file is to be streamed to a client device requesting the media file.
  • the method of this embodiment further includes transmitting at least a portion of metadata describing at least a portion of the media file content.
  • the method of this embodiment also includes extracting one or more other portions of metadata corresponding to one or more media data samples in the media file.
  • the method of this embodiment additionally includes progressively transmitting the extracted one or more other portions of metadata with the corresponding one or more media data samples from the media file.
  • a computer program product in another exemplary embodiment, includes at least one computer-readable storage medium having computer- readable program instructions stored therein.
  • the computer-readable program instructions may include a plurality of program instructions.
  • the first program instruction of this embodiment is for causing a transfer protocol request for a media file to be received, wherein the request indicates that the media file is to be streamed to a client device requesting the media file.
  • the second program instruction of this embodiment is for causing at least a portion of metadata describing at least a portion of the media file content to be transmitted.
  • the third program instruction of this embodiment is for extracting one or more other portions of metadata corresponding to one or more media data samples in the media file.
  • the fourth program instruction of this embodiment is for causing the extracted one or more other portions of metadata with the corresponding one or more media data samples from the media file to be progressively transmitted.
  • an apparatus in another exemplary embodiment, includes a processor and a memory storing instructions that when executed by the processor cause the apparatus to receive a transfer protocol request for a media file indicating that the media file is to be streamed to a client device requesting the media file.
  • the transfer protocol request may, for example, comprise an HTTP GET request comprising a header field including a token indicating that the media file is to be streamed.
  • the instructions of this embodiment when executed by the processor further cause the apparatus to transmit at least a portion of metadata describing at least a portion of the media file content.
  • the instructions of this embodiment when executed by the processor additionally cause the apparatus to extract one or more other portions of metadata corresponding to one or more media data samples in the media file.
  • an apparatus which includes means for receiving a transfer protocol request for a media file indicating that the media file is to be streamed to a client device requesting the media file.
  • the transfer protocol request may, for example, comprise an HTTP GET request comprising a header field including a token indicating that the media file is to be streamed.
  • the apparatus of this embodiment further includes means for transmitting at least a portion of metadata describing at least a portion of the media file content.
  • the apparatus of this embodiment also includes means for extracting one or more other portions of metadata corresponding to one or more media data samples in the media file.
  • the apparatus of this embodiment additionally includes means for progressively transmitting the extracted one or more other portions of metadata with the corresponding one or more media data samples from the media file.
  • a method in another exemplary embodiment, includes sending a transfer protocol request for a media file to a media content source.
  • the transfer protocol request comprises an indication that the media file is to be streamed.
  • the transfer protocol request may, for example, comprise an HTTP GET request comprising a header field including a token indicating that the media file is to be streamed.
  • the method of this embodiment further includes receiving at least a portion of metadata describing at least a portion of the media file content.
  • the method of this embodiment additionally includes progressively receiving one or more other portions of metadata with one or more media data samples from the media file that correspond to the one or more other portions of metadata.
  • a computer program product in another exemplary embodiment, includes at least one computer-readable storage medium having computer- readable program instructions stored therein.
  • the computer-readable program instructions may include a plurality of program instructions.
  • the first program instruction of this embodiment is for causing a transfer protocol request for a media file to be sent to a media content source.
  • the transfer protocol request comprises an indication that the media file is to be streamed.
  • the transfer protocol request may, for example, comprise an HTTP GET request comprising a header field including a token indicating that the media file is to be streamed.
  • the second program instruction of this embodiment is for causing at least a portion of metadata describing at least a portion of the media file content to be received.
  • the third program instruction of this embodiment is for causing one or more other portions of metadata with one or more media data samples from the media file that correspond to the one or more other portions of metadata to be progressively received.
  • an apparatus in another exemplary embodiment, includes a processor and a memory storing instructions that when executed by the processor cause the apparatus to send a transfer protocol request for a media file to a media content source.
  • the transfer protocol request comprises an indication that the media file is to be streamed.
  • the transfer protocol request may, for example, comprise an HTTP GET request comprising a header field including a token indicating that the media file is to be streamed.
  • the instructions of this embodiment when executed by the processor further cause the apparatus to receive at least a portion of metadata describing at least a portion of the media file content.
  • an apparatus which includes means for sending a transfer protocol request for a media file to a media content source.
  • the transfer protocol request comprises an indication that the media file is to be streamed.
  • the transfer protocol request may, for example, comprise an HTTP GET request comprising a header field including a token indicating that the media file is to be streamed.
  • the apparatus of this embodiment further includes means for receiving at least a portion of metadata describing at least a portion of the media file content.
  • the apparatus of this embodiment additionally includes means for progressively receiving ne or more other portions of metadata with one or more media data samples from the media file that correspond to the one or more other portions of metadata.
  • the apparatus of this embodiment may additionally include means for selecting a subset of media tracks of the media file based at least in part upon the received description of at least a portion of the media file and means for sending the selection to the media content source.
  • the means for receiving media data may comprise means for receiving media data comprising one or more of the selected subset of media tracks.
  • FIG. 1 illustrates a system for facilitating streaming of media files using a transfer protocol according to an exemplary embodiment of the present invention
  • FIG. 2 is a schematic block diagram of a mobile terminal according to an exemplary embodiment of the present invention
  • FIG. 3 illustrates an exemplary hierarchy of a plurality of levels of metadata for an ISO base file format compliant media file according to an exemplary embodiment of the present invention
  • FIG. 4 illustrates a framing of a sample divided into a series of fragments according to an exemplary embodiment of the invention
  • FIG. 5 illustrates a framing of a sample according to an exemplary embodiment of the invention
  • FIGs. 6-8 illustrate flowcharts according to exemplary methods for facilitating streaming of media files using a transfer protocol according to exemplary embodiments of the invention.
  • HTTP hypertext transfer protocol
  • Example embodiments of the invention comprise streaming of media files using other application layer transfer protocols.
  • RTP real-time transport protocol
  • UDP user datagram protocol
  • RTP provides basic transport functionality such as application addressing and corruption detection.
  • RTP complements UDP with media transport relevant functionality, such as loss detection, packet re-ordering, synchronization, statistical data collection, and session participant identification.
  • RTP over UDP does not provide built-in congestion control and/or error correction functionality.
  • RTP/UDP may gather sufficient information for implementing congestion control and/or error correction functionality on a need basis at an application level. In this regard, with the rising popularity of mobile and internet video, it is desired to maintain good network behavior through appropriate rate control mechanisms.
  • HTTP Hypertext transfer protocol
  • RTSP real time streaming protocol
  • PSS packet switched streaming service
  • HTTP media delivery solutions enable easy and effortless streaming services to 3rd generation partnership project (3GPP) user equipments by overcoming NAT and firewall traversal issues.
  • 3GPP 3rd generation partnership project
  • PSS already defines a solution for the delivery of media files using HTTP, e.g., progressive download, in a way that is similar to streaming. Progressive download is both supported by PSS encoders/decoders (codecs) and protocols as well as by 3GP file format.
  • a 3GP file compliant to the progressive download profile usually fulfills the requirement for the interleaving of media tracks at an interleaving time intervals.
  • the media data is partitioned into chunks, for example corresponding to playback duration no longer than 1 second or into chunks each of which comprises a single sample.
  • data delivery may be not optimized for short-delay playback.
  • TCP transmission control protocol
  • the use of HTTP over transmission control protocol (TCP) for real-time media streaming may pose drawbacks due to the use of aggressive congestion and flow control algorithms, the connection-oriented nature, the requirement of strict in-order delivery of packets containing media data, and the retransmission-based error control protocols, e.g., slow-start restart protocol.
  • HTTP based delivery may result in significant fluctuations of the throughput and may require a high level of initial buffering to cope with the variable throughput.
  • a significant amount of network resources may be consumed for the transmission of un-necessary metadata.
  • the metadata is usually located at the start of the file.
  • the metadata is usually transmitted before the transmission of any media data.
  • Usability of progressive download for providing video on demand functionality may not be desired due to a lack of control over a progressive download session.
  • real-time HTTP streaming is achieved by progressively transmitting portions of metadata with corresponding chunks of media data.
  • FIG. 1 illustrates a block diagram of a system 100 for streaming media files using an application layer transfer protocol, such as hypertext transfer protocol (HTTP), according to an example embodiment of the present invention.
  • the system 100 comprises a client device 102 and a media content source 104.
  • the client device 102 and the media content source 104 are configured to communicate over a network 108.
  • the network 108 for example, comprises one or more wireline networks, one or more wireless networks, or some combination thereof.
  • the network 108 comprises a public land mobile network (PLMN) operated by a network operator.
  • PLMN public land mobile network
  • the network 108 comprises an operator network providing cellular network access, such as in accordance with 3GPP standards.
  • the network 108 may additionally or alternatively comprise the internet.
  • the client device 102 comprises any device configured to access media files from a media content source 104 over the network 108.
  • the client device 102 comprises a server, a desktop computer, a laptop computer, a mobile terminal, a mobile computer, a mobile phone, a mobile communication device, a game device, a digital camera/camcorder, an audio/video player, a television device, a radio receiver, a digital video recorder, a positioning device, any combination thereof, and/or the like.
  • the client device 102 is embodied as a mobile terminal, such as that illustrated in FIG. 2.
  • FIG. 2 illustrates a block diagram of a mobile terminal 10 representative of one embodiment of a client device 102 in accordance with embodiments of the present invention. It should be understood, however, that the mobile terminal 10 illustrated and hereinafter described is merely illustrative of one type of client device 102 that may implement and/or benefit from embodiments of the present invention and, therefore, should not be taken to limit the scope of the present invention.
  • While several embodiments of the electronic device are illustrated and will be hereinafter described for purposes of example, other types of electronic devices, such as mobile telephones, mobile computers, portable digital assistants (PDAs), pagers, laptop computers, desktop computers, gaming devices, televisions, and other types of electronic systems, may employ embodiments of the present invention.
  • PDAs portable digital assistants
  • pagers pagers
  • laptop computers desktop computers
  • gaming devices televisions, and other types of electronic systems
  • the mobile terminal 10 may include an antenna 12 (or multiple antennas 12) in communication with a transmitter 14 and a receiver 16.
  • the mobile terminal may also include a controller 20 or other processor(s) that provides signals to and receives signals from the transmitter and receiver, respectively.
  • These signals may include signaling information in accordance with an air interface standard of an applicable cellular system, and/or any number of different wireline or wireless networking techniques, comprising but not limited to Wireless-Fidelity (Wi-Fi), wireless local access network (WLAN) techniques such as Institute of Electrical and Electronics Engineers (IEEE) 802.11, and/or the like.
  • these signals may include speech data, user generated data, user requested data, and/or the like.
  • the mobile terminal may be capable of operating with one or more air interface standards, communication protocols, modulation types, access types, and/or the like. More particularly, the mobile terminal may be capable of operating in accordance with various first generation (IG), second generation (2G), 2.5G, third-generation (3G) communication protocols, fourth-generation (4G) communication protocols, and/or the like.
  • IG first generation
  • 2G second generation
  • 2.5G third-generation
  • 3G third-generation
  • 4G fourth-generation
  • the mobile terminal may be capable of operating in accordance with 2G wireless communication protocols IS- 136 (Time Division Multiple Access (TDMA)), Global System for Mobile communications (GSM), IS-95 (Code Division Multiple Access (CDMA)), and/or the like.
  • TDMA Time Division Multiple Access
  • GSM Global System for Mobile communications
  • CDMA Code Division Multiple Access
  • the mobile terminal may be capable of operating in accordance with 2.5G wireless communication protocols General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), and/or the like. Further, for example, the mobile terminal may be capable of operating in accordance with 3G wireless communication protocols such as Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access 2000 (CDMA2000), Wideband Code Division Multiple Access (WCDMA), Time Division-Synchronous Code Division Multiple Access (TD- SCDMA), and/or the like. The mobile terminal may be additionally capable of operating in accordance with 3.9G wireless communication protocols such as Long Term Evolution (LTE) or Evolved Universal Terrestrial Radio Access Network (E-UTRAN) and/or the like.
  • LTE Long Term Evolution
  • E-UTRAN Evolved Universal Terrestrial Radio Access Network
  • the mobile terminal may be capable of operating in accordance with fourth-generation (4G) wireless communication protocols and/or the like as well as similar wireless communication protocols that may be developed in the future.
  • 4G fourth-generation
  • NAMPS Narrow-band Advanced Mobile Phone System
  • TACS Total Access Communication System
  • mobile terminals may also benefit from embodiments of this invention, as should dual or higher mode phones (e.g., digital/analog or
  • the mobile terminal 10 may be capable of operating according to Wireless Fidelity (Wi-Fi) or Worldwide Interoperability for Microwave Access (WiMAX) protocols.
  • the controller 20 may comprise circuitry for implementing audio/video and logic functions of the mobile terminal 10.
  • the controller 20 may comprise a digital signal processor device, a microprocessor device, an analog-to-digital converter, a digital-to-analog converter, and/or the like. Control and signal processing functions of the mobile terminal may be allocated between these devices according to their respective capabilities.
  • the controller may additionally comprise an internal voice coder (VC) 20a, an internal data modem (DM) 20b, and/or the like.
  • VC voice coder
  • DM internal data modem
  • the controller may comprise functionality to operate one or more software programs, which may be stored in memory.
  • the controller 20 may be capable of operating a connectivity program, such as a web browser.
  • the connectivity program may allow the mobile terminal 10 to transmit and receive web content, such as location-based content, according to a protocol, such as Wireless Application Protocol (WAP), hypertext transfer protocol (HTTP), and/or the like.
  • WAP Wireless Application Protocol
  • HTTP hypertext transfer protocol
  • the mobile terminal 10 may be capable of using a Transmission Control Protocol/Internet Protocol (TCP/IP) to transmit and receive web content across the internet or other networks.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • the mobile terminal 10 may also comprise a user interface including, for example, an earphone or speaker 24, a ringer 22, a microphone 26, a display 28, a user input interface, and/or the like, which may be operationally coupled to the controller 20.
  • the mobile terminal may comprise a battery for powering various circuits related to the mobile terminal, for example, a circuit to provide mechanical vibration as a detectable output.
  • the user input interface may comprise devices allowing the mobile terminal to receive data, such as a keypad 30, a touch display (not shown), a joystick (not shown), and/or other input device.
  • the keypad may comprise numeric (0-9) and related keys (#, *), and/or other keys for operating the mobile terminal. As shown in FIG.
  • the mobile terminal 10 may also include one or more means for sharing and/or obtaining data.
  • the mobile terminal may comprise a short-range radio frequency (RF) transceiver and/or interrogator 64 so data may be shared with and/or obtained from electronic devices in accordance with RF techniques.
  • the mobile terminal may comprise other short-range transceivers, such as, for example, an infrared (IR) transceiver 66, a BluetoothTM (BT) transceiver 68 operating using BluetoothTM brand wireless technology developed by the BluetoothTM Special Interest Group, a wireless universal serial bus (USB) transceiver 70 and/or the like.
  • IR infrared
  • BT BluetoothTM
  • USB wireless universal serial bus
  • the BluetoothTM transceiver 68 may be capable of operating according to ultra-low power BluetoothTM technology (e.g., WibreeTM) radio standards.
  • the mobile terminal 10 and, in particular, the short-range transceiver may be capable of transmitting data to and/or receiving data from electronic devices within a proximity of the mobile terminal, such as within 10 meters, for example.
  • the mobile terminal may be capable of transmitting and/or receiving data from electronic devices according to various wireless networking techniques, including Wireless Fidelity (Wi-Fi), WLAN techniques such as IEEE 802.11 techniques, and/or the like.
  • Wi-Fi Wireless Fidelity
  • WLAN techniques such as IEEE 802.11 techniques
  • the mobile terminal 10 may comprise memory, such as a subscriber identity module (SIM) 38, a removable user identity module (R-UIM), and/or the like, which may store information elements related to a mobile subscriber. In addition to the SIM, the mobile terminal may comprise other removable and/or fixed memory.
  • the mobile terminal 10 may include volatile memory 40 and/or non- volatile memory 42.
  • volatile memory 40 may include Random Access Memory (RAM) including dynamic and/or static RAM, on-chip or off -chip cache memory, and/or the like.
  • RAM Random Access Memory
  • Non- volatile memory 42 which may be embedded and/or removable, may include, for example, read-only memory, flash memory, magnetic storage devices (e.g., hard disks, floppy disk drives, magnetic tape, etc.), optical disc drives and/or media, non-volatile random access memory (NVRAM), and/or the like.
  • NVRAM non-volatile random access memory
  • the memories may store one or more software programs, instructions, pieces of information, data, and/or the like which may be used by the mobile terminal for performing functions of the mobile terminal.
  • the memories may comprise an identifier, such as an international mobile equipment identification (IMEI) code, capable of uniquely identifying the mobile terminal 10.
  • IMEI international mobile equipment identification
  • the client device 102 comprises various means, such as a processor 110, a memory 112, a communication interface 114, a user interface 116, and a media playback unit 118, for performing the various functions herein described.
  • the various means of the client device 102 as described herein comprise, for example, hardware elements, e.g., a suitably programmed processor, combinational logic circuit, and/or the like, a computer program product comprising computer-readable program instructions, e.g., software and/or firmware, stored on a computer-readable medium, e.g. memory 112.
  • the program instructions are executable by a processing device, e.g., the processor 110.
  • the processor 110 may, for example, be embodied as various means including one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA), or some combination thereof.
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • the processor 110 comprises a plurality of processors.
  • the plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functionalities of the media client device 102 as described herein.
  • the processor 110 may be embodied as or otherwise comprise the controller 20.
  • the processor 110 is configured to execute instructions stored in the memory 112 or otherwise accessible to the processor 110.
  • the instructions when executed by the processor 110, cause the client device 102 to perform one or more of the functionalities of the client device 102 as described herein.
  • the processor 110 may represent an entity capable of performing operations according to embodiments of the present invention when configured accordingly.
  • the processor 110 when the processor 110 is embodied as an ASIC, FPGA or the like, the processor 110 may comprise specifically configured hardware for conducting one or more operations described herein.
  • the instructions may specifically configure the processor 110, which may otherwise be a general purpose processing element if not for the specific configuration provided by the instructions, to perform one or more operations described herein
  • the memory 112 may include, for example, volatile and/or non- volatile memory. Although illustrated in FIG. 1 as a single memory, the memory 112 may comprise a plurality of memories. The memory 112 may comprise volatile memory, non- volatile memory, or some combination thereof.
  • the memory 112 may comprise, for example, a hard disk, random access memory, cache memory, flash memory, a compact disc read only memory (CD-ROM), digital versatile disc read only memory (DVD-ROM), an optical disc, circuitry configured to store information, or some combination thereof.
  • the memory 112 may be configured to store information, data, applications, instructions, or the like for enabling the client device 102 to carry out various functions in accordance with embodiments of the present invention.
  • the memory 112 is configured to buffer input data for processing by the processor 110.
  • the memory 112 is configured to store program instructions for execution by the processor 110.
  • the memory 112 may store information in the form of static and/or dynamic information.
  • the communication interface 114 may be embodied as any device or means embodied in hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., the memory 112) and executed by a processing device (e.g., the processor 110), or a combination thereof that is configured to receive and/or transmit data from/to a remote device over the network 108.
  • the communication interface 114 is at least partially embodied as or otherwise controlled by the processor 110.
  • the communication interface 114 may be in communication with the processor 110, such as via a bus.
  • the communication interface 114 may include, for example, an antenna, a transmitter, a receiver, a transceiver and/or supporting hardware or software for enabling communications with other entities of the system 100.
  • the communication interface 114 may be configured to receive and/or transmit data using any protocol that may be used for communications between computing devices of the system 100.
  • the communication interface 114 may additionally be in communication with the memory 112, user interface 116, and/or media playback unit 118, such as via a bus.
  • the user interface 116 may be in communication with the processor 110 to receive an indication of a user input and/or to provide an audible, visual, mechanical, or other output to a user.
  • the user interface 116 may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen display, a microphone, a speaker, and/or other input/output mechanisms.
  • the user interface 116 may provide an interface allowing a user to select a media file and/or media tracks thereof to be streamed from the media content source 104 to the client device 102 for playback on the client device 102.
  • video from a media file may be displayed on a display of the user interface 116 and audio from a media file may be audibilized over a speaker of the user interface 116.
  • the user interface 116 may be in communication with the memory 112, communication interface 114, and/or media playback unit 118, such as via a bus.
  • the media playback unit 118 may be embodied as various means, such as hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., the memory 112) and executed by a processing device (e.g., the processor 110), or some combination thereof and, in one embodiment, is embodied as or otherwise controlled by the processor 110. In embodiments where the media playback unit 118 is embodied separately from the processor 110, the media playback unit 118 may be in communication with the processor 110. The media playback unit 118 may further be in communication with the memory 112, communication interface 114, and/or user interface 116, such as via a bus.
  • the media content source 104 may comprise one or more computing devices configured to provide media files to a client device 102.
  • the media content source 104 comprises one or more servers.
  • the media content source 104 includes various means, such as a processor 120, memory 122, communication interface 124, user interface 126, and media streaming unit 128 for performing the various functions herein described.
  • These means of the media content source 104 as described herein may be embodied as, for example, hardware elements (e.g., a suitably programmed processor, combinational logic circuit, and/or the like), a computer program product comprising computer-readable program instructions (e.g., software or firmware) stored on a computer- readable medium (e.g. memory 122) that is executable by a suitably configured processing device (e.g., the processor 120), or some combination thereof.
  • the processor 120 may, for example, be embodied as various means including one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an ASIC (application specific integrated circuit) or FPGA (field programmable gate array), or some combination thereof. Accordingly, although illustrated in FIG. 1 as a single processor, in some embodiments the processor 120 comprises a plurality of processors. The plurality of processors may be embodied on a single computing device or distributed across a plurality of computing devices.
  • the plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functionalities of the media content source 104 as described herein.
  • the processor 120 is configured to execute instructions stored in the memory 122 or otherwise accessible to the processor 120. These instructions, when executed by the processor 120, may cause the network entity 104 to perform one or more of the functionalities of media content source 104 as described herein.
  • the processor 120 may represent an entity capable of performing operations according to embodiments of the present invention when configured accordingly.
  • the processor 120 may comprise specifically configured hardware for conducting one or more operations described herein.
  • the instructions may specifically configure the processor 120, which may otherwise be a general purpose processing element if not for the specific configuration provided by the instructions, to perform one or more algorithms and operations described herein
  • the memory 122 may include, for example, volatile and/or non-volatile memory. Although illustrated in FIG. 1 as a single memory, the memory 122 may comprise a plurality of memories, which may be embodied on a single computing device or distributed across a plurality of computing devices. The memory 122 may comprise volatile memory, nonvolatile memory, or some combination thereof. In this regard, the memory 122 may comprise, for example, a hard disk, random access memory, cache memory, flash memory, a compact disc read only memory (CD-ROM), digital versatile disc read only memory (DVD- ROM), an optical disc, circuitry configured to store information, or some combination thereof.
  • CD-ROM compact disc read only memory
  • DVD- ROM digital versatile disc read only memory
  • the memory 122 may be configured to store information, data, applications, instructions, or the like for enabling the media content source 104 to carry out various functions in accordance with embodiments of the present invention.
  • the memory 122 is configured to buffer input data for processing by the processor 120.
  • the memory 122 is configured to store program instructions for execution by the processor 120.
  • the memory 122 may store information in the form of static and/or dynamic information. This stored information may be stored and/or used by the media streaming unit 128 during the course of performing its functionalities.
  • the communication interface 124 may be embodied as any device or means embodied in hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium, e.g., the memory 122, and executed by a processing device, e.g., the processor 120, or a combination thereof that is configured to receive and/or transmit data from/to a remote device over the network 108.
  • the communication interface 124 is at least partially embodied as or otherwise controlled by the processor 120.
  • the communication interface 124 may be in communication with the processor 120, such as via a bus.
  • the communication interface 124 may include, for example, an antenna, a transmitter, a receiver, a transceiver and/or supporting hardware or software for enabling communications with other entities of the system 100.
  • the communication interface 124 may be configured to receive and/or transmit data using any protocol that may be used for communications between computing devices of the system 100.
  • the communication interface 124 may additionally be in communication with the memory 122, user interface 126, and/or media streaming unit 128, such as via a bus.
  • the user interface 126 may be in communication with the processor 120 to receive an indication of a user input and/or to provide an audible, visual, mechanical, or other output to the user.
  • the user interface 126 may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen display, a microphone, a speaker, and/or other input/output mechanisms.
  • the media content source 104 is embodied as one or more servers, the user interface 126 may be limited, or even eliminated. The user interface .
  • 126 may be in communication with the memory 122, communication interface 124, and/or media streaming unit 128, such as via a bus.
  • the media streaming unit 128 may be embodied as various means, such as hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium, e.g., the memory 122, and executed by a processing device, e.g., the processor 120, or some combination thereof and, in one embodiment, is embodied as or otherwise controlled by the processor 120.
  • the media streaming unit 128 may be in communication with the processor 120.
  • the media streaming unit 128 may further be in communication with the memory 122, communication interface 124, and/or user interface 126, such as via a bus.
  • the media playback unit 118 is configured to send a transfer protocol request for a media file to the media content source 104.
  • the requested media file comprises a media file including metadata associated with the media data in the media file.
  • the requested media file comprises a media file compliant with the ISO base media file format. Examples of an ISO base media file format comprise a 3GP media file and a moving picture experts group 4 (MPEG-4) Part 14 (MP4) file.
  • MPEG-4 moving picture experts group 4
  • the request for example, is sent in response to a user input or request received via the user interface 116.
  • the transfer protocol request comprises an indication that the media file is to be streamed to the client device 102.
  • the transfer protocol request comprises an HTTP GET request.
  • the HTTP GET request comprises a header field including a token indicating that the media file is to be streamed.
  • the header field may comprise the "Expect” header field and include a token, e.g. "http-streaming", defined to indicate that the media content source 104 is required to support HTTP streaming of media files, such as 3GPP based HTTP streaming of a 3GP media file.
  • the header field comprises the "Pragma” header field and includes a token, e.g. "http-streaming”, defined to indicate that the media content source 104 is being queried for support of HTTP streaming of the requested media file.
  • the media streaming unit 128 is configured to receive a transfer protocol request sent by the client device 102.
  • the media streaming unit 128 is configured to send an error message to the client device 102. If the media content source 104 is configured to stream a media file then the media streaming unit 128 is configured to include support in a reply message sent to the client device 102. Such support may, for example, be indicated as part of the Pragma header field of a HTTP reply message. In an example embodiment, the media streaming unit 128 is further configured to, in response to receipt of a transfer protocol request for a media file, access the requested media file from the memory 122 or other memory accessible to the media content source 104.
  • the media streaming unit 128 is configured to extract at least a portion of information associated with media data in the media file.
  • the extracted portion of information(s) comprises a portion(s) of the metadata associated with media data in the media file.
  • the extracted portion of metadata comprises general information about the content of the media file, e.g., the type(s) of media data and/or the different tracks in the media file.
  • the extracted portion(s) of metadata comprises, for example, only information useful to the client device to select at least one track from the media file.
  • the metadata associated with the media file for example, is structured in accordance with the ISO base media file format as outlined in the table below:
  • the media data comprises a hierarchy of a plurality of levels of metadata.
  • Each level comprises one or more sublevels including more specific metadata related to the parent level.
  • LO comprises the metadata categories ftyp, moov, moof, mfra, and mdat. Ftyp and mdat may not include any sublevels.
  • the second level, "Ll” of moov may comprise, for example, mvhd and trak.
  • the third level, "L2" of trak for example, comprises tkhd, tref, and mdia.
  • the fourth level, "L3" of mdia may, for example, comprise mdhd, hdlr, and minf.
  • the fifth level, "L4" of minf may comprise vmhd, smhd, and stbl.
  • the sixth level, "L5,” of stbl may, for example, comprise stsd, stts, ctts, stsc, stsz, stco, and stss.
  • the metadata 300 comprises a subset of the blocks listed in the above table and is organized in a box-within-a- box structure to illustrate the hierarchy of levels of metadata.
  • the ftyp 302, moov 304, and mdat 306 reside on a first level, LO.
  • Moov 304 includes child blocks mvhd 308 and trak 310, at a second level, Ll .
  • Trak 310 includes child blocks of metadata tkhd 312, tref 314, and mdia 316, at a third level, L2.
  • Mdia 316 includes child blocks of metadata mdhd 318, hdlr 320, and minf 322, at a fourth level, L3.
  • Minf 322 includes child blocks vmhd/smhd/hmhd 324 and stbl 326, at a fifth level, L4.
  • Stbl 326 includes child blocks of metadata stsd 328, stts 330, ctts 332, stsc 334, stsz 336, and stss 338 at a sixth level, L5.
  • the media streaming unit 128 may be configured to extract a description of at least a portion of the media file from metadata associated with the media file by extracting one or more blocks of metadata from the metadata associated with the requested media file and/or may extract one or more portion of data included in a block(s) of metadata.
  • the media streaming unit 128 may then progressively transmit the extracted description of at least a portion of the media file to the client device 102.
  • the media streaming unit 128 may first transmit a description of media tracks of the media file to the client device 102.
  • the media streaming unit 128 may, for example, extract the description of media tracks from the tkhd metadata box, which includes track header information and information on one or more tracks of the media file.
  • the media streaming unit 128 may then format a message to the client device 102 including the extracted description of media tracks of the media file and transmit the message to the client device 102.
  • the media streaming unit 128 may then extract a description of one or more portions of media data of the media file (e.g., audio and/or video data comprising the media file) and transmit the extracted description along with the one or more portions of media data of the media file to the client device 102 such that at least a portion of the media data of the media file is streamed to the client device 102.
  • the description of the transmitted media data may, for example, describe a structure of the media data, decoding parameters of the media data, presentation parameters of the media data, and/or other information enabling the client device 102 to playback the streamed media data.
  • the media streaming unit 128 may be configured to selectively extract portions of metadata of a media file and progressively transmit the extracted portions when needed by the client device 102 such that bandwidth required for streaming of a media file using a transfer protocol, such as HTTP is reduced.
  • a media file's metadata that may otherwise be unsuitable for streaming if transmitted in its entirety may be selectively broken up into extracted portions and only those portions needed by the client device 102 are transmitted.
  • streaming setup time and processing by the client device 102 may be reduced as the client device 102 may receive less data that it needs to process as the client device 102 may receive only that portion of the metadata of the media file, which has been selectively extracted and transmitted by the media content source 104.
  • the media playback unit 118 may be configured to progressively receive a description of at least a portion of a media file as it is transmitted by the media content source 104.
  • the media playback unit 118 may be configured to use the progressively received description to configure or otherwise set up playback of a steaming media session for a media file streamed by the media content source 104.
  • the media playback unit 118 is configured to select a subset of media tracks of the media file based at least in part upon a received description of media tracks of the media file, such as may have been extracted from a tkhd metadata box.
  • the media playback unit 118 may be configured to perform the selection in response to user input received over the user interface 116.
  • the media playback unit 118 may then send an indication of the selection to the media content source 104.
  • the media streaming unit 128 may accordingly receive an indication of a selection of a subset of media tracks of the media file and then may transmit media data of the media file comprising one or more of the selected subset of media tracks to the client device 102.
  • the media streaming unit 128 is configured to transmit media data from the media file as a series of one or more samples.
  • the series of samples may be transmitted to the client device 102 along with extracted metadata related to each respective sample, such as may describe a structure of the sample, decoding parameters of the sample, presentation parameters of the sample, and/or other information enabling the client device 102 to playback a received sample.
  • FIG. 4 illustrates a framing of a sample divided into a series of fragments according to an exemplary embodiment of the invention.
  • the frame of FIG. 4 may comprise a track ID field 402 indicating an identification of a track of the media file to which the samples included in the frame belong.
  • the media streaming unit 128 may extract the information included in the track ID field 402 from the tkhd, track header/track information, block of the metadata associated with the media file.
  • the frame of FIG. 4 may further comprise a decoding time offset field 404 including information to enable the client device 102 to decode the sample included in the frame.
  • the media streaming unit 128 may extract the information included in the decoding time offset field 404 from the stts (Decoding time- to-sample) block of the metadata associated with the media file.
  • the frame of FIG. 4 may further comprise a sample decoding time delta field 407 including information to enable the client device 102 to decode the sample included in the frame.
  • the media streaming unit 128 may extract the information included in the decoding time delta field 406 from the stts (Decoding time-to-sample) block of the metadata associated with the media file.
  • the media streaming unit 128 may be configured to extract only a portion of data included in a block of metadata to populate a field of a message sent to the client device 102.
  • the frame of FIG. 4 may further comprise a sample count field 407 that indicates how many sample fragments, e.g., sample media data 418s, are included in the frame. For a sample fragment of media data included in the frame of FIG.
  • a field may indicate the sample size 408.
  • one or more flag indicators may be included in the frame of FIG. 4 to indicate a position of a sample fragment, such as a relative positioning of the sample fragment within a track of the media file and/or within the sample.
  • the R flag 410 may indicate whether the sample fragment comprises a random access point.
  • the F flag 412 may indicate whether the sample fragment is the first fragment of a sample.
  • the L flag 414 may indicate whether the sample fragment is the last fragment of a sample.
  • FIG. 5 illustrates a framing of a sample according to another exemplary embodiment of the invention. In this regard, a sample that may be framed in the framing of FIG. 5 is not divided into fragments as in the framing of FIG.
  • the media playback unit 118 may be configured to control the streaming of a media file by sending transfer protocol command messages to the media content source 104.
  • the media streaming unit 128 may be configured to change a parameter of the streaming session, such as by starting streaming, e.g., in response to a "play” command, pausing the streaming, e.g., in response to a "pause” command, or ending the session, e.g., in response to a "stop" command.
  • a transfer protocol command message sent by the media playback unit 118 may be formatted in accordance with HTTP, such as an HTTP GET message, and a streaming control command may be included in the command message as a token in a header field of the HTTP command message.
  • a token may, for example, be included in the Pragma header field of the HTTP command message.
  • the token may, for example, have one of the following values:
  • PLAY indicates that the media content source 104 should begin to transmit media data of the media file so that playback of streaming content on the client device 102 may begin.
  • PAUSE indicates that media data transmission should be paused.
  • Keep alive messages may be exchanged between the client device 102 and media content source 104 to keep the persistent TCP connection alive.
  • a transfer protocol command message for controlling streaming of a media file may additionally include tokens indicating one or more additional or alternative commands related to streaming of a media file.
  • a "range" token may indicate a desired start and end position for the media playback. The range may be indicated in Network Play Time (NPT), which is relative to the start of the media file.
  • NPT Network Play Time
  • Information extracted from, for example, the stss, stts, and mvhd blocks of metadata of the media file may be used to locate the appropriate starting point and duration of a media clip.
  • a “tracks” token may identify one or more tracks from which media data is to be transmitted (e.g., streamed) to the client device 102.
  • An “inband” token may indicate whether media data is carried in the same TCP session or over another TCP session.
  • a “seq” token may indicate a sequence number of a request.
  • a “SyncTolerance” token may indicate a tolerance of the client device 102 with respect to out- of-sync delivery of media data by the media content source 104.
  • the media streaming unit 128 may be configured to transmit and the media playback unit 118 may be configured to receive data from multiple media tracks of a media file over a single TCP session. In such embodiments, samples from the different media tracks may be interleaved. The media streaming unit 128 may be configured to control the interleaving process such that the samples are synchronized up to a synchronization tolerance limit specified by the client device 102 and/or by the media content source 104.
  • FIG. 6 is a flowchart illustrating a method for streaming media files using a transfer protocol, such as HTTP, according to an example embodiment of the invention. As noted above, the use of HTTP as a transport protocol in conjunction with FIG.
  • FIG. 6 illustrates operations that occur at a client device 102.
  • an HTTP request for a media file with a query to determine support of the media content source 104 of HTTP streaming, is sent for example by the media playback unit 118.
  • a response to the HTTP request is received by the media playback unit 118 from the media content source 104.
  • the media playback unit 118 determines whether the response comprises an error message or indicates that the media content source 104 does not support HTTP streaming.
  • the media playback unit 118 may receive the requested media file using download or progressive download protocols, or may stop the session, at 630. If, on the other hand, the media playback unit 118 determines at 620 that the response does not comprise an error message and/or indicates that the media content source 104 does support HTTP streaming, the media playback unit 118 evaluates at least one received metadata portion associated with the media data in the media file. For example, if the media content source 104 supports HTTP streaming, at least one portion of the metadata, associated with the media data in the media file, is included in the response by the media content source.
  • the included portions of metadata for example, comprise information about types of media data in different tracks in the media file.
  • the received metadata is evaluated and a subset of tracks of the media file, is selected by the media playback unit 118.
  • one or more HTTP requests are sent by the media playback unit 118 to the media content source 104 to configure the streaming session.
  • the configuration settings for example, include configuration settings providing for audio/video data to be delivered over the same or over different TCP connections.
  • track configuration information for one or more of the selected subset of media tracks, is received and evaluated by the media playback unit 118.
  • the media playback unit 118 may further send, in an example, HTTP command request messages with HTTP streaming control commands to the media content source 104 to control streaming of the media file.
  • the media content source 104 may start transmitting media data associated with the selected track without receiving HTTP streaming control commands.
  • the media playback unit 118 receives chunks of media data with their corresponding metadata portions progressively from the media content source 104.
  • a received data block comprises at least one chunk of media data and portions of metadata useful for decoding and/or playing back the at least one chunk of media data.
  • a chunk of media data comprises a sample media data, e.g., a frame.
  • a chunk of media data comprises a portion of a sample media data, e.g., portion of a frame.
  • the media playback unit 118 further demultiplexes the received media data and forwards it to buffers or media decoders of the client device 102 for playback.
  • portions of metadata are progressively transmitted, to the client device 102, with corresponding chunks of media data.
  • Metadata in a media file, usually comprises information associated with different samples within a track. The increase in the number of tracks in a media file and/or the increase in the number of samples within at least one track usually leads to an increase in the size of the metadata in the media file.
  • FIG. 7 illustrates a flowchart according to an exemplary method for streaming media files using a transfer protocol, such as HTTP, according to an exemplary embodiment of the invention.
  • HTTP a transfer protocol
  • FIG. 7 is provided by way of example and not of limitation, as other transport protocols may be similarly employed. Regardless of the transfer protocol used, FIG. 7 illustrates operations that occur at a client device 102.
  • the method may include the media playback unit 118 sending a transfer protocol request for a media file to a media content source 104 indicating that the media file is to be streamed, at operation 700.
  • Operation 710 may comprise the media playback unit 118 receiving at least a portion of metadata describing at least a portion of the media file content.
  • the media playback unit 118 may then optionally select, such as in response to user input, a subset of media tracks of the media file based at least in part upon the received at least a portion of metadata, at operation 720.
  • Operation 730 may then comprise the media playback unit 118 sending an indication of the selection (if made) to the media content source 104.
  • the media playback unit 118 may then progressively receive one or more other portions of metadata with one or more media data samples from the media file associated with the one or more other portions of metadata. If a selection of a subset of media tracks was made, the received one or more media data samples may be associated with at least one of the selected subset of media tracks.
  • FIG. 8 illustrates a flowchart according to an exemplary method for streaming media files using a transfer protocol, such as HTTP, according to an exemplary embodiment of the invention.
  • HTTP a transfer protocol
  • FIG. 8 illustrates operations that may occur at a media content source 104.
  • the method may include the media streaming unit 128 receiving a transfer protocol request for a media file indicating that the media file is to be streamed, at operation 800.
  • Operation 810 may comprise the media streaming unit 128 transmitting at least a portion of metadata describing at least a portion of the media file.
  • the media streaming unit 128 may then optionally receive an indication of a selection of a subset of media tracks of the media file, at operation 820.
  • Operation 830 may comprise the media streaming unit 128 extracting one or more other portions of metadata corresponding to one or more media data samples in the media file. If an indication of a selection was received, the one or more media data samples may be associated with at least one of the selected subset of media tracks.
  • the media streaming unit 128 may then progressively transmit the extracted one or more other portions of metadata with the corresponding one or more media data samples from the media file, at operation 840.
  • FIGs. 6-8 are flowcharts of a system, method, and computer program product according to exemplary embodiments of the invention.
  • each block of the flowcharts, and combinations of blocks in the flowcharts may be implemented by various means, such as hardware and/or a computer program product comprising one or more computer-readable mediums having computer readable program instructions stored thereon.
  • one or more of the procedures described herein may be embodied by computer program instructions of a computer program product.
  • the computer program product(s) which embody the procedures described herein may be stored by one or more memory devices of a mobile terminal, server, or other computing device and executed by a processor in the computing device.
  • the computer program instructions comprising the computer program product(s) which embody the procedures described above may be stored by memory devices of a plurality of computing devices.
  • any such computer program product may be loaded onto a computer or other programmable apparatus to produce a machine, such that the computer program product including the instructions which execute on the computer or other programmable apparatus creates means for implementing the functions specified in the flowchart block(s).
  • the computer program product may comprise one or more computer-readable memories on which the computer program instructions may be stored such that the one or more computer- readable memories can direct a computer or other programmable apparatus to function in a particular manner, such that the computer program product comprises an article of manufacture which implements the function specified in the flowchart block(s) .
  • the computer program instructions of one or more computer program products may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer- implemented process such that the instructions which execute on the computer or other programmable apparatus implement the functions specified in the flowchart block(s).
  • blocks of the flowcharts support combinations of means for performing the specified functions. It will also be understood that one or more blocks of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by special purpose hardware- based computer systems which perform the specified functions, or combinations of special purpose hardware and computer program ⁇ roduct(s). The above described functions may be carried out in many ways.
  • any suitable means for carrying out each of the functions described above may be employed to carry out embodiments of the invention.
  • a suitably configured processor may provide all or a portion of the elements of the invention.
  • all or a portion of the elements of the invention may be configured by and operate under control of a computer program product.
  • the computer program product for performing the methods of embodiments of the invention includes a computer-readable storage medium, such as the non- volatile storage medium, and computer-readable program code portions, such as a series of computer instructions, embodied in the computer-readable storage medium.
  • streaming of media content may be provided, such as by using TCP over HTTP, without limit to a proprietary media format.
  • streaming of media content may be facilitated for media content formatted in accordance with any media file format based upon the International Organization for Standardization (ISO) base media file format.
  • a protocol for streaming of media content may also be provided, such as by using TCP over HTTP, that is interoperable with various network types, including, for example, local area networks, the ⁇ Internet, wireless networks, wireline networks, cellular networks, and the like. Network bandwidth consumption and processing requirements of computing devices receiving and playing back streaming media may also be reduced pursuant to embodiments of the invention.
  • network bandwidth may be more efficiently used by reducing the amount of metadata transmitted for a media file by selectively extracting and progressively delivering only that data required by the receiver for playback of the streaming media.
  • a device playing back the streaming media in accordance with embodiments of the invention may also benefit by not having to receive and process as much data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

La présente invention concerne un procédé, un appareil, et un système destinés à une transmission en continu de fichiers multimédias. Un procédé peut consister à recevoir une demande de protocole de transfert pour un fichier multimédia indiquant que le fichier multimédia doit être transmis en continu à un dispositif client demandant le fichier multimédia. Le procédé peut en outre consister à transmettre au moins une partie des métadonnées décrivant au moins une partie du contenu du fichier multimédia. De plus, le procédé peut consister à extraire une ou plusieurs autres parties des métadonnées correspondant à un ou plusieurs échantillons de données multimédias dans le fichier multimédia. Le procédé peut également consister à transmettre progressivement la ou les autres parties extraites des métadonnées avec le ou les échantillons de données multimédias correspondants du fichier multimédia. La présente invention concerne également des appareils et des systèmes correspondants.
EP10761246A 2009-04-09 2010-04-08 Systèmes, procédés et appareils destinés à une transmission en continu de fichiers multimédias Withdrawn EP2417748A4 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16819509P 2009-04-09 2009-04-09
PCT/IB2010/000775 WO2010116241A1 (fr) 2009-04-09 2010-04-08 Systèmes, procédés et appareils destinés à une transmission en continu de fichiers multimédias

Publications (2)

Publication Number Publication Date
EP2417748A1 true EP2417748A1 (fr) 2012-02-15
EP2417748A4 EP2417748A4 (fr) 2012-09-19

Family

ID=42935222

Family Applications (1)

Application Number Title Priority Date Filing Date
EP10761246A Withdrawn EP2417748A4 (fr) 2009-04-09 2010-04-08 Systèmes, procédés et appareils destinés à une transmission en continu de fichiers multimédias

Country Status (6)

Country Link
US (1) US20100262711A1 (fr)
EP (1) EP2417748A4 (fr)
KR (1) KR20110138276A (fr)
CN (1) CN102449975A (fr)
TW (1) TW201129040A (fr)
WO (1) WO2010116241A1 (fr)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1586045A1 (fr) 2002-12-27 2005-10-19 Nielsen Media Research, Inc. Methodes et appareils de transcodage de metadonnees
US9420072B2 (en) 2003-04-25 2016-08-16 Z124 Smartphone databoost
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US8370514B2 (en) * 2005-04-28 2013-02-05 DISH Digital L.L.C. System and method of minimizing network bandwidth retrieved from an external network
EP2280521A1 (fr) * 2009-07-30 2011-02-02 Alcatel Lucent Procédé de commutation de contenu de média pour un appareil mobile
US8516063B2 (en) 2010-02-12 2013-08-20 Mary Anne Fletcher Mobile device streaming media application
KR101777348B1 (ko) * 2010-02-23 2017-09-11 삼성전자주식회사 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치
KR20120010089A (ko) * 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
KR101064201B1 (ko) * 2010-07-27 2011-09-14 주식회사 파수닷컴 웹 데이터의 권한 관리 장치, 웹 데이터의 권한 관리 방법을 컴퓨터에서 실행시키기 위한 기록매체, 그리고 권한 관리 정보 제공 장치 및 방법
US9313084B2 (en) * 2010-09-01 2016-04-12 Vuclip (Singapore) Pte. Ltd. Systems and methods for client-side media chunking
WO2012030178A2 (fr) * 2010-09-01 2012-03-08 한국전자통신연구원 Procédé et dispositif pour fournir un flux de données de contenu
US8788576B2 (en) * 2010-09-27 2014-07-22 Z124 High speed parallel data exchange with receiver side data handling
US8751682B2 (en) 2010-09-27 2014-06-10 Z124 Data transfer using high speed connection, high integrity connection, and descriptor
CN101951412B (zh) * 2010-10-15 2013-11-13 上海交通大学 基于http协议的多子流流媒体传输系统及其传输方法
US9009118B2 (en) * 2010-10-20 2015-04-14 Apple Inc. Temporal metadata track
US9116988B2 (en) * 2010-10-20 2015-08-25 Apple Inc. Temporal metadata track
US9661104B2 (en) * 2011-02-07 2017-05-23 Blackberry Limited Method and apparatus for receiving presentation metadata
US9380356B2 (en) 2011-04-12 2016-06-28 The Nielsen Company (Us), Llc Methods and apparatus to generate a tag for media content
US20120263439A1 (en) * 2011-04-13 2012-10-18 David King Lassman Method and apparatus for creating a composite video from multiple sources
US9209978B2 (en) 2012-05-15 2015-12-08 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US9210208B2 (en) * 2011-06-21 2015-12-08 The Nielsen Company (Us), Llc Monitoring streaming media content
US9131245B2 (en) 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
US8907906B2 (en) 2011-09-27 2014-12-09 Z124 Secondary single screen mode deactivation
US9774721B2 (en) 2011-09-27 2017-09-26 Z124 LTE upgrade module
US9264717B2 (en) 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
US8612442B2 (en) * 2011-11-16 2013-12-17 Google Inc. Displaying auto-generated facts about a music library
US20130262691A1 (en) * 2012-03-28 2013-10-03 Rovi Corp System and Methods of Media Streaming using RTSP with Reduced Delays
US20130262692A1 (en) * 2012-03-28 2013-10-03 Rovi Corp System and Methods of Media Streaming from a Media Server using RTSP with Reduced Delays
US9438883B2 (en) * 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
US9749369B2 (en) * 2012-04-27 2017-08-29 Telefonaktiebolaget Lm Ericsson (Publ) Device-resident media files
TWI453441B (zh) * 2012-06-29 2014-09-21 Zeroplus Technology Co Ltd Signal decoding method
EP3148290B1 (fr) 2012-10-26 2023-08-30 Apple Inc. Adaptation multimédia basée sur une orientation vidéo
WO2014066887A1 (fr) * 2012-10-26 2014-05-01 Intel Corporation Diffusion en continu avec coordination d'orientation vidéo (cvo)
JP6218379B2 (ja) * 2012-12-28 2017-10-25 キヤノン株式会社 送信装置、受信装置、送信方法、受信方法、及び、プログラム
US10735486B2 (en) 2012-12-28 2020-08-04 Qualcomm Incorporated Device timing adjustments and methods for supporting dash over broadcast
CN103152607B (zh) * 2013-01-10 2016-10-12 上海思华科技股份有限公司 视频超快速粗编方法
US9313544B2 (en) 2013-02-14 2016-04-12 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US9332035B2 (en) 2013-10-10 2016-05-03 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US9330101B2 (en) * 2013-12-18 2016-05-03 Microsoft Technology Licensing, Llc Using constraints on media file formats to improve performance
ES2613978T3 (es) * 2013-12-26 2017-05-29 Telefonica Digital España, S.L.U. Un método y un sistema para la transmisión por secuencias suave de contenidos de medios en una red de entrega de contenidos distribuida
KR101868628B1 (ko) * 2014-04-30 2018-06-18 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR20150134861A (ko) * 2014-05-23 2015-12-02 삼성전자주식회사 서버 장치, 디스플레이 장치, 시스템 및 그 제어 방법
EP2955629B1 (fr) * 2014-06-11 2021-10-27 Home Control Singapore Pte. Ltd. Système pour installer un nouveau micrologiciel sur un dispositif à petite mémoire
US10733146B2 (en) 2014-09-30 2020-08-04 Apple Inc. Inline keyed metadata
US20160337424A1 (en) * 2015-05-13 2016-11-17 Qualcomm Incorporated Transferring media data using a websocket subprotocol
US9762965B2 (en) 2015-05-29 2017-09-12 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
CN105872858A (zh) * 2016-04-27 2016-08-17 亦非云互联网技术(上海)有限公司 一种视频分享方法和系统、视频处理系统、及客户端
CN107665224B (zh) * 2016-07-29 2021-04-30 北京京东尚科信息技术有限公司 扫描hdfs冷数据的方法、系统和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004077790A1 (fr) * 2003-02-26 2004-09-10 Koninklijke Philips Electronics N.V. Systeme de diffusion de contenus multimedia
US20050102371A1 (en) * 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
US20070078876A1 (en) * 2005-09-30 2007-04-05 Yahoo! Inc. Generating a stream of media data containing portions of media files using location tags
EP1855480A1 (fr) * 2005-03-02 2007-11-14 Matsushita Electric Industrial Co., Ltd. Dispositif de distribution et dispositif de reception
WO2009075766A2 (fr) * 2007-12-05 2009-06-18 Swarmcast, Inc. Echelonnement de débit binaire dynamique

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0214187D0 (en) * 2002-06-20 2002-07-31 Essential Viewing Data communication networks,systems and methods
US7644172B2 (en) * 2002-06-24 2010-01-05 Microsoft Corporation Communicating via a connection between a streaming server and a client without breaking the connection
US7941553B2 (en) * 2002-10-18 2011-05-10 International Business Machines Corporation Method and device for streaming a media file over a distributed information system
US7409454B2 (en) * 2003-06-02 2008-08-05 Microsoft Corporation Automatic detection of intermediate network device capabilities
KR100608715B1 (ko) * 2003-09-27 2006-08-04 엘지전자 주식회사 QoS보장형 멀티미디어 스트리밍 서비스 시스템 및 방법
CN101268460B (zh) * 2005-05-21 2012-10-03 苹果公司 播客的获取、管理和同步

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004077790A1 (fr) * 2003-02-26 2004-09-10 Koninklijke Philips Electronics N.V. Systeme de diffusion de contenus multimedia
US20050102371A1 (en) * 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
EP1855480A1 (fr) * 2005-03-02 2007-11-14 Matsushita Electric Industrial Co., Ltd. Dispositif de distribution et dispositif de reception
US20070078876A1 (en) * 2005-09-30 2007-04-05 Yahoo! Inc. Generating a stream of media data containing portions of media files using location tags
WO2009075766A2 (fr) * 2007-12-05 2009-06-18 Swarmcast, Inc. Echelonnement de débit binaire dynamique

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Digital Video Broadcasting (DVB); Specification for the use of Video and Audio Coding in DVB services delivered directly over IP protocols European Broadcasting Union Union Européenne de Radio-Télévision EBUÜER; ETSI TS 102 005", IEEE, LIS, SOPHIA ANTIPOLIS CEDEX, FRANCE, vol. BC, no. V1.3.1, 1 July 2007 (2007-07-01), XP014037563, ISSN: 0000-0001 *
Grüneberg, K., Schierl, T., Celetto, L.: "MVC/SVC storage format", , 29 January 2009 (2009-01-29), XP055054524, Retrieved from the Internet: URL:http://www.ist-sea.eu/Public/SEA_D3.2_HHI_FF_20090129.pdf [retrieved on 2013-02-26] *
See also references of WO2010116241A1 *

Also Published As

Publication number Publication date
WO2010116241A1 (fr) 2010-10-14
CN102449975A (zh) 2012-05-09
KR20110138276A (ko) 2011-12-26
TW201129040A (en) 2011-08-16
EP2417748A4 (fr) 2012-09-19
US20100262711A1 (en) 2010-10-14

Similar Documents

Publication Publication Date Title
US20100262711A1 (en) Systems, methods, and apparatuses for media file streaming
US8510375B2 (en) Apparatus and methods for time mapping media segments in streaming media files
US20110246659A1 (en) System, Method and Apparatus for Dynamic Media File Streaming
JP6455741B2 (ja) ビデオの向きの調整(cvo)を伴うストリーミング
US10433327B2 (en) Presence service using IMS based DASH service
JP6279512B2 (ja) 適応ビデオ通信用システム及び方法
RU2598800C2 (ru) Сигнализация обмена характеристиками ориентации устройства и адаптация мультимедийного содержания, в ответ на ориентацию устройства, сервером
JP6466324B2 (ja) ピクチャ方位情報を有するマルチメディア通信のためのデバイスおよび方法
JP2018023169A (ja) ビデオ方位に基づくマルチメディア適応
EP2490445A1 (fr) Procédé, terminal et serveur pour réaliser un jeu rapide
US20110246660A1 (en) Systems, Methods, and Apparatuses for Media File Streaming
WO2011158221A2 (fr) Procédé et appareil permettant de générer et de gérer une métrique de qualité d'expérience d'un flux multimédia
US11237842B2 (en) Systems and methods for transmitting data from multiple sources to multiple destinations
US20130007863A1 (en) Streaming video to cellular phones
EP3139573A1 (fr) Procédé et dispositif de traitement de contenu multimédia
WO2017202373A1 (fr) Procédé, dispositif, et système de démarrage rapide de lecture de contenu multimédia en continu
US20060200577A1 (en) Method for transmitting moving picture data to mobile terminal using pseudo-streaming technology
US10404606B2 (en) Method and apparatus for acquiring video bitstream
US20130151723A1 (en) Stream media channel switch method, switch agent, client and terminal
US10104422B2 (en) Multimedia playing control method, apparatus for the same and system

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20111018

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
A4 Supplementary search report drawn up and despatched

Effective date: 20120817

RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 29/06 20060101AFI20120810BHEP

Ipc: H04L 29/08 20060101ALI20120810BHEP

17Q First examination report despatched

Effective date: 20130909

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: NOKIA CORPORATION

18D Application deemed to be withdrawn

Effective date: 20140121