WO2004093451A2 - Data requesting and transmitting devices and processes - Google Patents
Data requesting and transmitting devices and processes Download PDFInfo
- Publication number
- WO2004093451A2 WO2004093451A2 PCT/EP2004/050564 EP2004050564W WO2004093451A2 WO 2004093451 A2 WO2004093451 A2 WO 2004093451A2 EP 2004050564 W EP2004050564 W EP 2004050564W WO 2004093451 A2 WO2004093451 A2 WO 2004093451A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- requesting device
- server
- streaming
- intended
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000008569 process Effects 0.000 title claims abstract description 43
- 239000000872 buffer Substances 0.000 claims description 66
- 238000012546 transfer Methods 0.000 claims description 25
- 230000033001 locomotion Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 20
- 230000006854 communication Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 9
- 230000002441 reversible effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 230000007423 decrease Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 5
- 238000002347 injection Methods 0.000 description 5
- 239000007924 injection Substances 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- UEKDBDAWIKHROY-UHFFFAOYSA-L bis(4-bromo-2,6-ditert-butylphenoxy)-methylalumane Chemical compound [Al+2]C.CC(C)(C)C1=CC(Br)=CC(C(C)(C)C)=C1[O-].CC(C)(C)C1=CC(Br)=CC(C(C)(C)C)=C1[O-] UEKDBDAWIKHROY-UHFFFAOYSA-L 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000033228 biological regulation Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000001955 cumulated effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003752 polymerase chain reaction Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 101001087274 Solanum lycopersicum Pto-interacting protein 1 Proteins 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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/437—Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
-
- 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
-
- 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/22—Traffic shaping
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- 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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/266—Stopping or restarting the source, e.g. X-on or X-off
-
- 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/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- 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/1066—Session management
- H04L65/1101—Session protocols
-
- 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/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- 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/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- 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
- 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
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
-
- 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2401—Monitoring of the client 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/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/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
-
- 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/44245—Monitoring the upstream path of the transmission network, e.g. its availability, bandwidth
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47211—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting pay-per-view content
-
- 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/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6118—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving cable transmission, e.g. using a cable modem
-
- 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/64322—IP
-
- 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
- H04N21/6582—Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Definitions
- the present invention relates, among other things and without restriction, to data requesting and transmitting devices and processes, notably for VOD (for "Video On Demand”), as well as to corresponding products.
- VOD for "Video On Demand”
- AV data video and/or audio data
- IP Internet Protocol
- Document JP 2002-215516 discloses a downloading control method, in which parts of data are sequentially requested from a server by a terminal (like a portable telephone), for those data being streamed to the terminal and exploited therein.
- the terminal repeatedly requires transfer of partial data of a maximum size, based on remaining available size in a buffer memory used in the terminal. Also, requests are sent to the server when a remaining amount of data in the buffer decreases below a predetermined threshold. »
- the present invention concerns a data requesting device enabling flexible obtaining of data, notably AV (Audio/Video) data, with possibly limited required resources in terms of processing, memory and storing, included from a remote server through a WAN.
- the requesting device of the invention may notably allow to pause and retrieve a movie being played from such a server.
- the invention also concerns a data requesting process, data transmitting device and process, and products, corresponding to that requesting device and able to offer similar advantages.
- the invention is related to a data requesting device as defined in claim 1.
- the invention relies on an adaptation of the server streaming to the resources of the receiver, but without requiring repeated operations and communications from the receiver to the server during the streaming. By contrast, a mere initial negotiation between both may be enough.
- the invention appears to make possible sensibly improved shared pass band between simultaneous transmissions from a server to several receivers. This is due to the fact that for a given data transmission to a receiver, between the sending of two consecutive data portions, the server is free to work on other tasks.
- the first and second communication networks used with the data requesting device may consist in a single bi-directional communication network.
- they consist in WAN networks like for example the Internet, or in LAN networks (for "Local Area Network") such as for example home networks or networks used locally for Companies or for restricted geographic areas (e.g. for a building).
- the first communication networks may comprise a broadcasting network for streaming the requested data and a bi-directional network (for example telephone link) to transmit control information.
- the data requesting device is preferably compliant with any of dependent claims 2 to 6.
- the production of the latter at the data requesting device may in particular be triggered intentionally by a user via a user interface, or triggered automatically so as to avoid overflow in a central memory.
- the resuming of the data streaming after pausing at the server side may in particular be automatic after a given duration (that may notably be transmitted by a user within a pause control signal, for example a five minutes pause), or triggered by the sending of a resume control signal from the data requesting device.
- the invention also concerns a decoder comprising a data requesting device according to the invention, and a data requesting process as defined in claim 8.
- the invention further relates to a data transmitting device as defined in claim 9, and preferably to one of the embodiments mentioned in any of claims 10 to 13, and to a data transmitting process as defined in claim 14.
- a further object of the invention is a computer program product comprising program code instructions for executing the steps of the data requesting process or the data transmitting process according to the invention, when that program is executed on a computer.
- computer program product it is meant a computer program support, which may consist not only in a storing space containing the program, such as a diskette or a cassette, but also in a signal, such as an electrical or optical signal.
- FIG. 1 shows a communication environment involving a server comprising a data transmitting device according to the invention, and a receiver comprising a data requesting device according to the invention;
- FIG. 2 is a block diagram of the data transmitting device of Figure 1 ;
- FIG. 3 is a block diagram of the data requesting device of
- FIG. 1 shows a special embodiment of the communication environment of Figure 1 , in which the requesting devices are incorporated in IRDs (for "Integrated Receivers Decoders") and the transmitting device is incorporated in a PC server;
- - Figure 5 represents pipes and buffers involved in streaming in the communication environment of Figure 4;
- FIG. 6 is a protocol state transition diagram in the communication environment of Figure 4, from server side;
- FIG. 7 is a streaming state transition diagram in the communication environment of Figure 4, from server side;
- FIG. 8 represents a processing overview in the IRDs of Figure 4.
- Figure 9 illustrates functionalities of an injector in one of the IRDs of Figure 4.
- a server 10 ( Figure 1) provided with a data transmitting device 1 is able to stream data to at least one receiver 20, provided with a data requesting device 2, through a first network 5.
- the receiver 20 is for its part able to transmit information to the server 10 via a return path through a second network 6.
- the first network 5 is a broadcast network, which may rely notably on satellite, radio broadcasting, or cable, while the second network 6 is a telephone network. Both networks 5 and 6 may also be constituted by a unique bi-directional network, for example based on DSL communication (for "Digital Subscriber Loop").
- the data transmitting device 1 of the server 10 ( Figure 2) comprises:
- a receiving module 11 intended to receive messages from the receiver 20; such messages may include notably data requests REQU, information INFO on the capacities of the receiver 20, normal state signals NORMAL sent periodically to the server 10 to check correct functioning at the receiver side, and control signals CTRL for modifying the data streaming modalities (notably for pausing or resuming transmission, for ordering slow or fast motion or reverse motion);
- a specification module 12 intended to determine a size of successive portions of data to be provided to the receiver 20 and a delay between two successive sending steps of those portions, in function of the information INFO; namely, the receiver 20 being able to support up to a maximum bandwidth rate and comprising an input buffer (or several input buffers), the information INFO relates to that maximum bandwidth rate and to the size of that input buffer (or the cumulated size of those input buffers);
- a streaming module 13 for triggering the streaming of the requested data, in the form of the data portions, by means of a control signal STRM; the periodicity in the streaming of the portions is ensured by means of a clock 41 ;
- a transfer module 14 for sending a warning message WARN to the receiver 20 when any of the normal state signals NORMAL is not received in due time;
- an alarm module 15 for triggering an alarm state when the normal state signals NORMAL are not received in due time, even after a warning message WARN has been sent;
- the data requesting device 2 of the receiver 20 comprises ( Figure 3):
- a sending module 22 for transmitting to the server 10 the request messages REQU, information INFO, normal state signals NORMAL and control signals CTRL;
- a receiving module 23 intended to receive notably the streamed data DATA from the server 10, and to transfer them to an input buffer 21 (or several such input buffers); the receiving module 23 is also provided for receiving notably from the server 10, the warning signals WARN;
- processing module 24 for processing the received data DATA, for example by decoding video and audio streams;
- a retrieving module 25 able to retrieve the information INFO and to provide it to the sending module 22 for transmission to the server 10; - a central memory 26 intended to store temporarily the data
- a data pump 27 intended to extract data available in the input buffer 21 and to transfer them into the central memory 26;
- an injector 28 intended to transfer the data from the central memory 26 to the processing module 24 when the data in the central memory 26 fill up to a predetermined middle threshold level of the central memory 26;
- control module 30 able to produce control signals CTRL and to provide them to the sending module 22 for transmission to the server 10;
- a maintenance module 31 for generating the normal state signals NORMAL and for triggering their periodic transmission to the server 10 by means of the sending module 22; the periodicity in the sending of the normal state signals NORMAL is ensured by means of a clock 42; - a regulation module 32 coupled with the data pump 27, intended to trigger the control module 30 to produce a pause control signal when the data in the central memory 26 exceed a predetermined high threshold level, and to produce a resume control signal when the data streaming has been previously paused by the regulation module 32 and the data decrease to a predetermined low threshold; - and a user interface 35, enabling a user to trigger the control module 30 and the sending module 22, so as to cause the control signals CTRL to be provided to the server 10.
- a communication environment comprising the server 10 and IRDs (IRD1... IRDn) respectively noted 20-1...20- ⁇ (each of them being similar to the receiver 20 above, the reference “20” being used below as a generic notation) communicate through PSTN wires (for "Public Switch
- the server 10 is connected to a first VDSL modem (for "Very high speed Digital Subscriber Loop") 43 by means of an Ethernet link, while the IRDs are for instance respectively associated with TV sets and are connected to a second VDSL modem 44 via a switch 45, through an Ethernet link.
- VDSL modem for "Very high speed Digital Subscriber Loop”
- the VDSL modems 43 and 44 enable a high bit rate, up to 60
- the described communication environment offers a real Video- On-Demand system, where end-users may choose their dedicated programs from a catalogue, and ask for playing and pausing them, without useless bandwidth usage.
- the described communication environment comprises set-top-boxes (hereinafter "STBs") 20-1 to 20-n with LAN connectivity (for "Local Area Network") constituting the IRDs, VDSL modems 43 and 44, and a PC server 10 based on the Linux technology.
- STBs set-top-boxes
- LAN connectivity for "Local Area Network”
- PC server 10 based on the Linux technology.
- an operating system other than Linux could be used.
- Each of the IRDs comprises a requesting device 2
- the server 10 comprises an associated transmitting device 1.
- ADSL for "Asymmetric Digital Subscriber Loop" modem technologies and multicasting are used instead of the present VDSL modem embodiments, 'x'DSL in general providing other possibilities (HDSL - for "High-data-rate DSL", 10MDSL -for "10 Mbits/s DSL”, ADSL2...);
- USB for "Universal Serial Buses" connectors instead of Ethernet links at the users side (other connection means, e.g. directly on the bus are also possible);
- the main requirement is to serve on request a video/audio stream to a user.
- the limit is fixed to up to 5 simultaneous streams according to the present embodiment. In other embodiments, there may be a different limit, or no limit at all.
- the end-users of the TV sets have notably the capability to choose one program from a catalogue, play it, stop it and pause/resume it.
- the VDSL modems 43 and 44 as the ADSL ones, use the actual user local telephone line. They have Ethernet or USB (for "Universal Serial
- the transport format is an MPEG2 (for "Moving Picture Experts
- the STBs have naturally the capability to play this type of stream easily.
- the PC 10 is connected through an Ethernet 100BT link (for "100Base-T") to the modem 43.
- the STBs (up to four) are connected through an Ethernet 100BT link (for "100Base-T")
- Ethernet 10BT link to the switch 45 which is a 100BT/10BT switch. Any of the users may then share its VDSL line for different usages, like a home PC, other room STBs, and so on. Also, by using the switch, the collision spaces are split, thus no collision propagation may occur.
- a specific protocol above UDP for
- DHCP server for "Dynamic Host Configuration Protocol" intended to setup the end-users IP (for "Internet Protocol”) addresses; • runs the application as a daemon;
- the server 10 manages the user connection / disconnection states, as well as user dead state; a known port is used.
- the server 10 is advantageously in a central office, just linked to DSLAM (for "Digital Subscriber Line Access Multiplexer”).
- Us catalogue is then managed by operators in an efficient way (refresh method, cache algorithms).
- the server 10 and STBs 20-1...20-n are connected each other on TCP/IP LAN.
- one of the STBs 20 connects socket to server 10 and requests an audio/video file.
- the server 10 then puts that file from a hard disk driver 17 through a buffer socket 18 in a loop process only ended by a later STB request.
- the file is transmitted via the network 7 to the socket buffer 21 of the STB 20. From there, it is transferred to the central memory 26 constituted here by a FIFO (for "First In, First Out") having for example a size of 1
- File transfer protocol specifically designed, allows: • query for available catalogue;
- the protocol is built to :
- the system may be seen as if a client (namely at one of the IRDs) requests data from a storage medium, which here is in a network.
- the client regulates the data streaming, according to the MPEG decoding processes.
- the protocol being based on UDP, and the server 10 having big bandwidth capacity, the server has to take care not to overflow the client.
- Parameters are given by the client at a setup time to ensure this. These parameters are:
- - client max supported bandwidth rate CBW; that rate involves capacities of the receiving STB 20 as a whole, and is notably linked to the rate of extracting the received data from an input socket buffer (or possibly from several input socket buffers);
- - client input socket buffer size CSOCKBUFSZ; in the case of several input socket buffers, between which the incoming data are shared, the parameter CSOCKBUFSZ is given by the cumulated size of those buffers;
- the factor "8" enables to have portions of small sizes at the server side, which proves to fragment efficiently the streamed data. Namely, the probability of overflow at the receiving side becomes very low, and the high partitioning may improve share pass band with respect to other streams. Lower factor is however possible (up to 2 for example), as well as higher factor if the server enables it.
- the server 10 loops sending data putting a ceiling corresponding to that value (looping "UNIT_SIZE” by "UNIT_SIZE”), and inserting a delay in order to not override the CBW bit rate.
- That period is typically much shorter than the keep alive sending period.
- Client computations Two parameters are computed by the client in order to pause/resume data transmission without any hole in the needed bandwidth for streaming a file. These parameters are giving thresholds of a filling level in the central FIFO memory 26 of the STB 20, having a size "FIFO-SIZE", intended to temporally store the data coming from the input buffer 21 , before their processing.
- a low FIFO threshold “LFIFO” gives a downward limit for ordering resuming of data streaming when it has been paused, by means of a specific message thereto called “XON”.
- a high FIFO threshold "HFIFO” gives an upward limit for pausing the data streaming from the server 10 when that threshold is exceeded in spite of data processing, by means of specific message thereto called "XOFF”.
- These input buffers are embedded with UDP/IP stack. They are large enough to not overrun the STB 20 .
- the server 10 computes its streaming portion according to the client socket buffer size.
- This central buffer 26 is used to deal with burst side-effects.
- the client starts decoding only when this FIFO has enough data, which is determined by means of a third FIFO threshold, which is a middle threshold
- MFIFO having a value comprised between low and high thresholds LFIFO and HFIFO. That threshold MFIFO for triggering processing of the data (transfer to processing unit is in an efficient embodiment equal to the low threshold LFIFO.
- the client also pauses the server streaming when the FIFO is full (threshold HFIFO), and resumes the server streaming when the FIFO is low (threshold LFIFO).
- the pausing and resuming above are respectively done by means of the XOFF and XON messages sent to the server 10 from the STB 20.
- the same signals may be used by the client to decide at any moment to pause the streaming and later to resume it. Further, in the advantageous achievement described here, the keep alive messages continue to be sent regularly and checked by the server, even during a pause state.
- the thresholds are chosen with the following values:
- HFIFO 750 kbytes.
- the thresholds are chosen with following values:
- HFIFO FIFO-SIZE - CBW*RTT/2
- streaming rate is CBW and is worth 6 Mbits/s and the processing rate is EBR equal to 4 Mbits/s
- streaming periods of 7,4 s alternate with pause periods of 1 ,85 s.
- These buffers are provided for correctly decoding an MPEG2 PES (for "Packet Elementary Stream") stream.
- the STB embedded audio/video decoder stack is used.
- the Main-Level / Main-Profile is implemented. Because there is no encoding process at server side, the PCRs
- Protocol and streaming state transition diagrams are respectively represented on Figures 3 and Figure 4, from server side.
- Protocol stack used is as follows:
- Socket is open over UDP protocol.
- Packets built in application layer are messages. All messages have a generic format:
- MSB Small-endian
- step S 1 wait for receiving message from one of the STBs
- step S3 receive a connection message "CONNECT" from one of the STBs (step S2); - fork client server process (step S3);
- step S5 connects to the requesting STB (step S5) by receiving connection parameters from the STB (step S6), getting parameters and doing corresponding computation (step S7) and sending connection message (step S8);
- step S9 - start client dead state alarm for checking that the requested STB remains correctly in relation with the server (step S9); this is checked through the periodic reception of keep alive messages "KEEPALIVE" having a predetermined sending period (for example 5 s);
- step S10 open the file targeted by the STB client (step S10), by receiving an opening message indicating the relevant file "OPEN(file)" (step S11), getting a corresponding file identifier Filejd and opening it (step S12);
- step S13 the file to the requesting STB client (step S13), while periodically receiving keep alive message (step S14) and restarting alarm accordingly (step S15), up to the end ofthe file transmission;
- step S16 - stopping the file transmission when receiving a closing message CLOSE
- step S17 in case of an alarm triggering (step S17) due to no reception of the keep alive message in due time, exit client server process (step S18).
- step S13 - proceed with data file streaming (step S13) as long as keep alive messages are received (step S14) so that alarm is restarted (step S15) and as long as the file is not completely transmitted; the non reception of the keep alive messages in due time leads to alarm triggering (step S17), as seen above;
- step S19 when receiving special interruption messages "XOFF" (step S19), pausing the streaming (step S20), while continuing to check received keep alive messages (step S14) and consequently restarting alarm (step S15); - when later receiving special resumption messages "XON" (step S19).
- step S21 resuming the file transmission (step S13) at the point it was previously interrupted;
- the server 10 is able to be quite adapted to the receivers 20 specificities for the video streaming. Further, that process may possible to use only the bandwidth that is effectively necessary for the client to really exploit the streamed data.
- the time limit for triggering the alarm is given by the expected period time increased by a duration depending on the round-trip time RTT, for example three or four RTT.
- the alarm is only triggered in case no keep alive message is received for a duration sensibly longer than the keep alive period, for example during three time that period. This enables to take into account possible delays in the transmission between the STB and the server.
- the server warns the client STB, which then immediately sends back again a keep alive message if still in an active reception state.
- IP addresses are constants.
- the STB 20 Once one of the STBs 20 sends "AL_OPEN" message, it waits until the server 10 sends stream data packets (reception is non blocking).
- the STB 20 reads as much as possible data from the socket, and releases the CPU (for "Central Processing Unit") for injection and decoding processes to be scheduled.
- One suitable algorithm consists in reading half buffer socket size at each schedule of the data pump 27, the latter being part of the requesting device 2 incorporated in the STB 20.
- the maximum measured sustained bit rate is around 6 Mbit/s, which is high enough for good MPEG2 video and audio quality.
- the data pump 27 gives directly to the input socket buffer 21 the "Write" pointer of the central FIFO 26 and the contiguously available space of that FIFO (this avoids intermediate copy from socket buffer to FIFO buffer).
- the volume of data taken during each transfer from the central FIFO 26 for processing is half FIFO size and avoids heavy scheduling works. After such a FIFO transfer is fulfilled, LenAsked is the contiguously available size according to consumer pointer.
- the injector 28 being part of the requesting device 2 is intended to manage it.
- the socket, the FIFO 26 and the bit buffers 21 may be flushed.
- the server 10 does not anticipate the read file.
- the read length and sent length are constant and smaller than internal input socket buffer 21 (CSOCKBUFSZ) in order to avoid burst transfers: protocol also regulates transmit rate with respect to consumer rate (CBW parameter: central FIFO
- Zapper gets user input selection (program identifier), runs the data pump 27, injector 28 and starts AV decoders; if the user changes program, the zapper stops data pump 27 and injector 28 before running them again. The video decoder does not need to be stopped.
- Ethernet driver 52 interfaces TCP/IP stack 53 to a physical Ethernet controller 51 , which is for example the one commercialised as "CS8900A” by the Company Cirrus Logic.
- the rate is comprised between 3 Mbit/s and 6 Mbit/s. So, if the rate is 4 Mbit/s, one frame (1460 bytes) is processed in 2.86 ms. Interruptions process ("IT") is provided for warning the driver 52 of control data transmission.
- TCP/IP stack 53 TCP/UDP/IP stack 53 over Ethernet, with socket non-blocking API (for "Application Programming Interface”).
- a DHCP client for "Dynamic Host Configuration Protocol" is embedded in order to get an IP address dynamically.
- the TCP/IP stack 53 makes use of the socket buffer 21 , having 64 kbytes max, and of a timer 42.
- Transfer Stream data from the server 10.
- the file identifier is specified by the user and transmitted directly to the server 10 during connection.
- the data pump 27 reads the available FIFO length and asks the server 10 to pause the data streaming (XOFF message) when the FIFO 26 is nearly full (HFIFO threshold), and to resume it when the FIFO 26 is nearly empty (LFIFO threshold). It allows also the user to zap thus to flush the FIFO 26 . The flush method is then propagated to the injector 28.
- Central FIFO 26 X Mbytes FIFO (for example 1 Mbyte), used to regulate the decoding process and the streaming process, and to deal with network bursts.
- a FIFO manager manages the three thresholds, the low one LFIFO and high one HFIFO respectively trigg ering and pausing the injector process, and the middle one MFIFO triggering the data pump process.
- a unit size of 32 kbytes is for example chosen (with a unit size of 50 kbytes, a transmission takes 20 ms). Namely, considering a rate of 4 Mbits/s, it takes 2 seconds to fill the central FIFO 26, a full FIFO corresponding also to 2 seconds decoding. Taking a chunk of 8 kbytes in the server file, it takes 16 msec to reach the client socket buffer. The same data are transferred into the FIFO 26 at an approximate rate of 2 to 4 kbytes/msec, depending on the CPU embedded in the STB. Thus, the STB transferring process is negligible.
- the central FIFO 26 absorbs the possible jitter from the server 10 and the network.
- the bandwidth rate CBW of the client is greater than the encoding rate EBR. In cases where the values of EBR and CBW are close, the FIFO 26 may be smaller.
- the injector 28 polls a video bit buffer level and injects via a DMA (for "Direct Memory Access") to a TSMUX (meaning “Transport Stream Multiplexer”) 55, using SWTS input (for "Software Transport Stream”) 56, a given quantity of FIFO data.
- the central FIFO 26 must then have sufficient data.
- TSMUX 55 based on registers 61 ( Figure 9) like those commercialised as “ST5516" by the Company ST Microelectronics, this interface permits injection of data from memory to a PTI (for "Programmable Transport Interface") 57 in SWTS mode (using configuration registers 63). It stores temporally data in its internal 32-byte SWTS FIFO 62 and streams them out to the PTI 57. Speed of byte transfer can be adjusted. The pace rate is worth for example 40 Mbits/s.
- AV stack 58 audio and video decoding process; allows to setup the decoding processes, directed to the targeted PID (for "Packet IDentifier”) for decoding. It enables to start the decoding processes, and to indicate video bit buffer level (noted “VBBL”) - the bit buffers are underflow tolerant.
- AV synchronisation it is based on PTS values (for "Program
- MHz VCXO has a fixed command value.
- Video decoding process starts and initializes an STC value (for "System Time Clock") with the first Video PTS. Audio skips frame until its PTS value is near STC value.
- SWTS_REQ "SWTS_REQ" signal that is routed through the PTI "DMA3" channel. That SWTS_REQ signal is asserted when the internal SWTS FIFO 62 has room for at least 16 bytes.
- SWTS_REQ is asserted when the internal SWTS FIFO 62 has room for at least 16 bytes.
- a programmable number of bytes is transferred to the SWTS input 56.
- an interrupt is set to signal injector task that data have been transferred.
- CD_FIFO address and no increment is programmed directly by
- PTI 57 version driver The PTI driver is able to provide software support for DMA injection. It runs in "PTI3" hardware used in "PTI1" backwards compatible mode. In the presented embodiment, the only restriction is that interrupt mode is not allowed for signalling DMA transfer end: the call to the "pti_data_dma_synchronize” function blocks until the end of the DMA transfer. Interconnecting PTI DMA3 with TSMUX 55
- the injector task needs to know the level of occupation of Video and Audio bit buffers respectively noted 66 and 67, before injecting data in the PTI 57 . Supposing that each stream contains a video and an audio component and audio bit buffer 67 capacity is sufficient to avoid overflow and underflow, monitoring only video bit buffer level may be acceptable.
- VBB Video Bit Buffer
- the transfer is computed taking into account only VBB 66. This implies that the ABB (for "Audio Bit Buffer") 67 is large enough to not overflow.
- the transfer of 50kbytes of data appends every 100 ms.
- the transfer duration takes at least 10 ms. So, the corresponding thread sleeps for 90 ms between each transfer.
- Audio/Video Stack 58 has three main functions: • configure demultiplexing, start audio and video decoders; • manage synchronization between Audio and Video; • and regulate the data streaming, getting Video bit buffer level, and supply it for Injector client.
- the synchronization of Audio from Video decoders is made thanks to Audio PTS and Video PTS.
- the PCRs from flow are not managed, the VCXO is set to 27 MHz.
- STC value is set with first Video PTS.
- the synchronisation algorithm already exists in audio driver. The only need is to modify a function in order to set STC value with Video PTS. This can be processed as follows. Watching video PTS is not aborted in the case an error occurs in the stream (STC/video PTS distance is updated every time a PTS occurs).
- the stack is also tolerant regarding bit-buffers underflow, i.e. neither decoding process reset, nor bit-buffer reset.
- VBB 66 and ABB 67 are correctly sized for a PULL model, that is the decoder process regulates the data streaming.
- VBB 66 it is sized for MLMP feature, around 356 Kbytes.
- mVBR and MABR are respectively worth 1 Mbits/s and 448 kbits/s.
- the clients may send to the server 10 , control messages for slow or fast motion.
- the period PERIOD for sending the data portions is made longer (the periodicity modification depending on the slowing level requested by the client), while the periodicity for the keep alive messages is kept unchanged.
- the client is further able to send to the server 10 specific control messages "SEEK" for ordering a positioning in a data file to be streamed, which may be a number of bytes with respect to a beginning or an end of that file.
- the SEEK messages may then contain both a direction and an offset.
- the client uses the SEEK messages between XOFF and XON messages, so as to master the playing speed as well as the quantities of chosen data, and to compensate for underflows in case of fast motion.
- the sequence of the sent orders if then: XOFF / SEEK(direction, offset) / XON / XOFF...
- the client is intended to send to the server 10 information on a chosen decoding algorithm for fast motion, for example to take only images of "I" type in GOPs (Groups of Pictures) for decoding.
- the client is then in charge of steady playing, through appropriate determination of the positioning.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006505561A JP4505450B2 (en) | 2003-04-17 | 2004-04-19 | Data request transmitting apparatus and process and corresponding products |
EP04728189A EP1614292B1 (en) | 2003-04-17 | 2004-04-19 | Data requesting and transmitting devices and processes |
US10/553,665 US9191702B2 (en) | 2003-04-17 | 2004-04-19 | Data requesting and transmitting devices and processes |
DE602004013567T DE602004013567D1 (en) | 2003-04-17 | 2004-04-19 | DATA-REQUIRING AND TRANSMITTING DEVICES AND METHODS |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03290954 | 2003-04-17 | ||
EP03290954.1 | 2003-04-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2004093451A2 true WO2004093451A2 (en) | 2004-10-28 |
WO2004093451A3 WO2004093451A3 (en) | 2004-12-16 |
Family
ID=33185983
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2004/050566 WO2004093452A2 (en) | 2003-04-17 | 2004-04-19 | Data requesting and transmitting devices and processes |
PCT/EP2004/050564 WO2004093451A2 (en) | 2003-04-17 | 2004-04-19 | Data requesting and transmitting devices and processes |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2004/050566 WO2004093452A2 (en) | 2003-04-17 | 2004-04-19 | Data requesting and transmitting devices and processes |
Country Status (6)
Country | Link |
---|---|
US (2) | US9191702B2 (en) |
EP (2) | EP1614292B1 (en) |
JP (2) | JP4505450B2 (en) |
KR (2) | KR20060026010A (en) |
DE (2) | DE602004013567D1 (en) |
WO (2) | WO2004093452A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8732326B2 (en) | 2006-11-03 | 2014-05-20 | Apple Inc. | Dynamic adjustments of video streams |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6760772B2 (en) * | 2000-12-15 | 2004-07-06 | Qualcomm, Inc. | Generating and implementing a communication protocol and interface for high data rate signal transfer |
US8812706B1 (en) | 2001-09-06 | 2014-08-19 | Qualcomm Incorporated | Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system |
US7493289B2 (en) * | 2002-12-13 | 2009-02-17 | Aol Llc | Digital content store system |
US7412532B2 (en) * | 2002-12-13 | 2008-08-12 | Aol Llc, A Deleware Limited Liability Company | Multimedia scheduler |
DE602004030236D1 (en) * | 2003-06-02 | 2011-01-05 | Qualcomm Inc | GENERATE AND IMPLEMENT A SIGNAL PROTOCOL AND INTERFACE FOR HIGHER DATA RATES |
AU2004300958A1 (en) * | 2003-08-13 | 2005-02-24 | Qualcomm, Incorporated | A signal interface for higher data rates |
CA2538308C (en) * | 2003-09-10 | 2013-05-14 | Qualcomm Incorporated | High data rate interface |
KR20080052699A (en) * | 2003-10-15 | 2008-06-11 | 퀄컴 인코포레이티드 | High data rate interface |
KR100827573B1 (en) * | 2003-10-29 | 2008-05-07 | 퀄컴 인코포레이티드 | High data rate interface |
TWI381686B (en) * | 2003-11-12 | 2013-01-01 | Qualcomm Inc | High data rate interface with improved link control |
KR20060096161A (en) * | 2003-11-25 | 2006-09-07 | 콸콤 인코포레이티드 | High data rate interface with improved link synchronization |
KR100906319B1 (en) * | 2003-12-08 | 2009-07-06 | 퀄컴 인코포레이티드 | High data rate interface with link synchronization |
CN101095348B (en) * | 2004-03-03 | 2014-08-13 | 分组视频网络技术方案有限公司 | System and method for retrieving digital multimedia content from a network node |
CA2775734C (en) * | 2004-03-10 | 2014-01-07 | Qualcomm Incorporated | High data rate interface apparatus and method |
RU2355121C2 (en) * | 2004-03-17 | 2009-05-10 | Квэлкомм Инкорпорейтед | Device and method of interface with high data transfer rate |
WO2005096594A1 (en) * | 2004-03-24 | 2005-10-13 | Qualcomm Incorporated | High data rate interface apparatus and method |
US8650304B2 (en) * | 2004-06-04 | 2014-02-11 | Qualcomm Incorporated | Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system |
ATE518343T1 (en) * | 2004-06-04 | 2011-08-15 | Qualcomm Inc | INTERFACE DEVICE AND METHOD FOR HIGH DATA RATES |
ATE477679T1 (en) * | 2004-09-16 | 2010-08-15 | Alcatel Usa Sourcing Lp | DEFENDING AGENT WITH IMPROVED LATENCY |
US8692838B2 (en) | 2004-11-24 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
US8873584B2 (en) * | 2004-11-24 | 2014-10-28 | Qualcomm Incorporated | Digital data interface device |
US8667363B2 (en) * | 2004-11-24 | 2014-03-04 | Qualcomm Incorporated | Systems and methods for implementing cyclic redundancy checks |
US8699330B2 (en) * | 2004-11-24 | 2014-04-15 | Qualcomm Incorporated | Systems and methods for digital data transmission rate control |
US8539119B2 (en) * | 2004-11-24 | 2013-09-17 | Qualcomm Incorporated | Methods and apparatus for exchanging messages having a digital data interface device message format |
US20060143678A1 (en) * | 2004-12-10 | 2006-06-29 | Microsoft Corporation | System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model |
US7543073B2 (en) * | 2004-12-10 | 2009-06-02 | Microsoft Corporation | System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate |
US7536469B2 (en) * | 2004-12-10 | 2009-05-19 | Microsoft Corporation | System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates |
CN100393068C (en) * | 2004-12-24 | 2008-06-04 | 腾讯科技(深圳)有限公司 | Method for buffering data in stream media |
JP2006211602A (en) * | 2005-01-31 | 2006-08-10 | Toshiba Corp | Data transmitter and program |
US7672742B2 (en) * | 2005-02-16 | 2010-03-02 | Adaptec, Inc. | Method and system for reducing audio latency |
US7631097B2 (en) * | 2005-07-21 | 2009-12-08 | National Instruments Corporation | Method and apparatus for optimizing the responsiveness and throughput of a system performing packetized data transfers using a transfer count mark |
DE102005053686B3 (en) * | 2005-11-10 | 2007-05-31 | Musictrace Gmbh | Apparatus and method for monitoring a data transmitter |
US8730069B2 (en) * | 2005-11-23 | 2014-05-20 | Qualcomm Incorporated | Double data rate serial encoder |
US8692839B2 (en) * | 2005-11-23 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
WO2007066257A1 (en) * | 2005-12-05 | 2007-06-14 | Koninklijke Philips Electronics N.V. | Streaming data over a wireless link |
US7813279B2 (en) * | 2006-01-13 | 2010-10-12 | Futurewei Technologies, Inc. | System for rate management of aggregate-rate communication services |
US7817550B2 (en) * | 2006-01-13 | 2010-10-19 | Futurewei Technologies, Inc. | System for rate-control of aggregate-rate communication services |
US7881192B2 (en) * | 2006-01-13 | 2011-02-01 | Futurewei Technologies, Inc. | System for providing aggregate-rate communication services |
CN100591016C (en) * | 2006-03-17 | 2010-02-17 | 华为技术有限公司 | Dynamic content continuous transmission method and system |
KR100848128B1 (en) | 2006-04-24 | 2008-07-24 | 한국전자통신연구원 | Method of progressive streaming using a real-time streaming protocol |
US8484335B2 (en) * | 2006-11-06 | 2013-07-09 | At&T Intellectual Property I, L.P. | Methods, systems, and computer products for download status notification |
US8341282B2 (en) * | 2006-11-21 | 2012-12-25 | Verizon Patent And Licensing Inc. | Hybrid buffer management |
US9571902B2 (en) | 2006-12-13 | 2017-02-14 | Quickplay Media Inc. | Time synchronizing of distinct video and data feeds that are delivered in a single mobile IP data network compatible stream |
WO2008072093A2 (en) | 2006-12-13 | 2008-06-19 | Quickplay Media Inc. | Mobile media platform |
US8892761B1 (en) | 2008-04-04 | 2014-11-18 | Quickplay Media Inc. | Progressive download playback |
US8537676B1 (en) * | 2007-07-09 | 2013-09-17 | Juniper Networks, Inc. | Rate limiting for DTCP message transport |
CN101547161B (en) * | 2008-03-28 | 2012-09-26 | 阿里巴巴集团控股有限公司 | Folder transmission system, folder transmission device and folder transmission method |
US8194756B2 (en) * | 2008-05-28 | 2012-06-05 | Broadcom Corporation | Using program clock references to assist in transport of video stream to wireless device |
GB0917700D0 (en) * | 2009-10-09 | 2009-11-25 | Onzo Ltd | Device and method of making a device |
KR20110065100A (en) * | 2009-12-09 | 2011-06-15 | 삼성전자주식회사 | Method and apparatus for supporting multimedia streaming service |
US8732776B2 (en) * | 2010-07-01 | 2014-05-20 | Kuautli Media Investment Zrt. | End of show handling |
US8717181B2 (en) | 2010-07-29 | 2014-05-06 | Hill-Rom Services, Inc. | Bed exit alert silence with automatic re-enable |
KR20120060134A (en) * | 2010-08-16 | 2012-06-11 | 삼성전자주식회사 | Method and apparatus for reproducing advertisement |
JP5734788B2 (en) * | 2011-08-19 | 2015-06-17 | 株式会社東芝 | Communication apparatus and program |
US9197717B2 (en) * | 2013-11-27 | 2015-11-24 | At&T Intellectual Property I, Lp | Server-side scheduling for media transmissions according to client device states |
US9432478B2 (en) * | 2013-11-27 | 2016-08-30 | At&T Intellectual Property I, L.P. | Client-side location aware network selection |
CN103747253B (en) * | 2013-12-27 | 2017-04-05 | 高新兴科技集团股份有限公司 | A kind of video data encoder transmission method based on FIFO |
KR20150086904A (en) * | 2014-01-21 | 2015-07-29 | 한국전자통신연구원 | Rate-adaptive data stream management system and method for controlling thereof |
US20160180804A1 (en) * | 2014-12-23 | 2016-06-23 | Intel Corporation | Refresh rate control using sink requests |
CN106302090B (en) * | 2015-05-25 | 2019-10-22 | 阿里巴巴集团控股有限公司 | A kind of message treatment method, apparatus and system |
US10585623B2 (en) * | 2015-12-11 | 2020-03-10 | Vivante Corporation | Software defined FIFO buffer for multithreaded access |
US11122329B2 (en) * | 2016-02-25 | 2021-09-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Predicting multimedia session MOS |
KR102340942B1 (en) * | 2017-11-17 | 2021-12-17 | 엘지디스플레이 주식회사 | Method for Image Processing and Display Device using the same |
EP3760009B1 (en) * | 2018-02-26 | 2023-05-03 | Signify Holding B.V. | Resuming a dynamic light effect in dependence on an effect type and/or user preference |
US11528192B2 (en) * | 2019-02-01 | 2022-12-13 | Hewlett Packard Enterprise Development Lp | Intelligent zero touch provisioning for IPV6 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822524A (en) * | 1995-07-21 | 1998-10-13 | Infovalue Computing, Inc. | System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size |
US5870134A (en) * | 1997-03-04 | 1999-02-09 | Com21, Inc. | CATV network and cable modem system having a wireless return path |
US20020004840A1 (en) * | 2000-07-06 | 2002-01-10 | Hideaki Harumoto | Streaming method and system for executing the same |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0385570A (en) | 1989-08-30 | 1991-04-10 | Toshiba Corp | Image forming device |
US5606359A (en) | 1994-06-30 | 1997-02-25 | Hewlett-Packard Company | Video on demand system with multiple data sources configured to provide vcr-like services |
ATE189944T1 (en) | 1994-09-08 | 2000-03-15 | Ibm | NETWORK VIDEO PROVIDER SYSTEM |
EP0784895B1 (en) * | 1994-09-17 | 1998-12-09 | International Business Machines Corporation | Flow control method and apparatus for cell-based communication networks |
US5687347A (en) | 1994-09-19 | 1997-11-11 | Matsushita Electric Industrial Co., Ltd. | Data providing device, file server device, and data transfer control method |
JPH08115306A (en) | 1994-10-13 | 1996-05-07 | Matsushita Electric Ind Co Ltd | Data transfer control method |
WO1996010315A1 (en) | 1994-09-26 | 1996-04-04 | Micropolis Corporation | Video server using memory pipe segments |
US5517257A (en) | 1995-03-28 | 1996-05-14 | Microsoft Corporation | Video control user interface for interactive television systems and method for controlling display of a video movie |
US5808607A (en) | 1995-04-07 | 1998-09-15 | International Business Machines Corporation | Multi-node media server that provides video to a plurality of terminals from a single buffer when video requests are close in time |
JP3184763B2 (en) | 1995-06-07 | 2001-07-09 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | Multimedia direct access storage device and format method |
US5930493A (en) | 1995-06-07 | 1999-07-27 | International Business Machines Corporation | Multimedia server system and method for communicating multimedia information |
BR9606534A (en) | 1995-07-21 | 1999-09-21 | Philips Electronics Nv | Processes for transmitting a compressed television signal and for receiving a compressed television signal from a transmitter, transmitter for transmitting a compressed television signal, and receiver for receiving a compressed television signal. |
JP3288213B2 (en) | 1996-01-11 | 2002-06-04 | 日本電気株式会社 | server |
WO1997037476A1 (en) | 1996-04-01 | 1997-10-09 | Res Rocket Surfer Limited | Distributed real-time communications system |
US5831662A (en) | 1996-04-04 | 1998-11-03 | Hughes Electronics Corporation | Near on-demand digital information delivery system and method using signal fragmentation and sequencing to reduce average bandwidth and peak bandwidth variability |
US5926649A (en) | 1996-10-23 | 1999-07-20 | Industrial Technology Research Institute | Media server for storage and retrieval of voluminous multimedia data |
JPH10171699A (en) | 1996-12-06 | 1998-06-26 | Hitachi Ltd | Server-client system |
JP3832015B2 (en) | 1997-04-04 | 2006-10-11 | 富士ゼロックス株式会社 | Multi-function machine, server, and network system having multi-function machine |
US6230200B1 (en) * | 1997-09-08 | 2001-05-08 | Emc Corporation | Dynamic modeling for resource allocation in a file server |
US6167496A (en) | 1998-02-18 | 2000-12-26 | Storage Technology Corporation | Data stream optimization system for video on demand |
US6029200A (en) | 1998-03-09 | 2000-02-22 | Microsoft Corporation | Automatic protocol rollover in streaming multimedia data delivery system |
US20010039587A1 (en) * | 1998-10-23 | 2001-11-08 | Stephen Uhler | Method and apparatus for accessing devices on a network |
US6654806B2 (en) * | 1999-04-09 | 2003-11-25 | Sun Microsystems, Inc. | Method and apparatus for adaptably providing data to a network environment |
SE515834C2 (en) | 1999-05-06 | 2001-10-15 | Telia Ab | Method and apparatus for controlling data file transfer |
JP2000322874A (en) | 1999-05-10 | 2000-11-24 | Sony Corp | Information/data processing apparatus, information/data reproducing method, video editting apparatus, computer readable recording medium, and system-on-chip type integrated device |
JP2001094598A (en) | 1999-09-20 | 2001-04-06 | Canon Inc | Server device, server node device, client node device, and network system |
JP4596693B2 (en) * | 2000-07-06 | 2010-12-08 | パナソニック株式会社 | Streaming method and system for executing the same |
US6925495B2 (en) * | 2000-07-13 | 2005-08-02 | Vendaria Media, Inc. | Method and system for delivering and monitoring an on-demand playlist over a network using a template |
WO2002006920A2 (en) | 2000-07-17 | 2002-01-24 | Modelwire, Inc. | Streamlined data distribution system for commercial applications |
US7200633B2 (en) | 2000-08-25 | 2007-04-03 | Ntt Docomo, Inc. | Information delivery system and information delivery method |
US6823394B2 (en) | 2000-12-12 | 2004-11-23 | Washington University | Method of resource-efficient and scalable streaming media distribution for asynchronous receivers |
JP2002215516A (en) | 2001-01-22 | 2002-08-02 | Sony Corp | Information terminal, downloading control method, and computer program |
US6917587B1 (en) * | 2001-02-01 | 2005-07-12 | Cisco Technology, Inc. | Method and apparatus for recovering a call resource from a call session |
AU2002247257A1 (en) | 2001-03-02 | 2002-09-19 | Kasenna, Inc. | Metadata enabled push-pull model for efficient low-latency video-content distribution over a network |
JP4222590B2 (en) | 2001-07-18 | 2009-02-12 | 株式会社東芝 | Server system, client system, software streaming method and program |
JP2005503722A (en) * | 2001-09-21 | 2005-02-03 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | Data communication method and system using reception of buffer size to calculate transmission rate for congestion control |
JP2003122658A (en) * | 2001-10-11 | 2003-04-25 | Hitachi Ltd | Data distribution method |
JP2003153229A (en) * | 2001-11-15 | 2003-05-23 | Mitsubishi Electric Corp | Apparatus and method for data communication |
US20040168052A1 (en) * | 2003-02-25 | 2004-08-26 | Clisham Allister B. | Electronic content communication system and method |
-
2004
- 2004-04-19 US US10/553,665 patent/US9191702B2/en active Active
- 2004-04-19 DE DE602004013567T patent/DE602004013567D1/en not_active Expired - Lifetime
- 2004-04-19 KR KR1020057019615A patent/KR20060026010A/en not_active Application Discontinuation
- 2004-04-19 DE DE602004006981T patent/DE602004006981T2/en not_active Expired - Lifetime
- 2004-04-19 EP EP04728189A patent/EP1614292B1/en not_active Expired - Fee Related
- 2004-04-19 JP JP2006505561A patent/JP4505450B2/en not_active Expired - Fee Related
- 2004-04-19 KR KR1020057019617A patent/KR20060003349A/en active IP Right Grant
- 2004-04-19 WO PCT/EP2004/050566 patent/WO2004093452A2/en active IP Right Grant
- 2004-04-19 EP EP04728185A patent/EP1614291B1/en not_active Expired - Fee Related
- 2004-04-19 JP JP2006505562A patent/JP2006523980A/en active Pending
- 2004-04-19 WO PCT/EP2004/050564 patent/WO2004093451A2/en active IP Right Grant
- 2004-04-19 US US10/553,533 patent/US7877439B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822524A (en) * | 1995-07-21 | 1998-10-13 | Infovalue Computing, Inc. | System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size |
US5870134A (en) * | 1997-03-04 | 1999-02-09 | Com21, Inc. | CATV network and cable modem system having a wireless return path |
US20020004840A1 (en) * | 2000-07-06 | 2002-01-10 | Hideaki Harumoto | Streaming method and system for executing the same |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8732326B2 (en) | 2006-11-03 | 2014-05-20 | Apple Inc. | Dynamic adjustments of video streams |
Also Published As
Publication number | Publication date |
---|---|
JP2006523980A (en) | 2006-10-19 |
JP2006523979A (en) | 2006-10-19 |
JP4505450B2 (en) | 2010-07-21 |
EP1614291B1 (en) | 2007-06-13 |
DE602004006981T2 (en) | 2008-02-28 |
US9191702B2 (en) | 2015-11-17 |
WO2004093452A3 (en) | 2004-12-23 |
US7877439B2 (en) | 2011-01-25 |
US20060271982A1 (en) | 2006-11-30 |
KR20060003349A (en) | 2006-01-10 |
US20070143490A1 (en) | 2007-06-21 |
WO2004093452A2 (en) | 2004-10-28 |
EP1614292B1 (en) | 2008-05-07 |
KR20060026010A (en) | 2006-03-22 |
EP1614291A2 (en) | 2006-01-11 |
DE602004006981D1 (en) | 2007-07-26 |
DE602004013567D1 (en) | 2008-06-19 |
WO2004093451A3 (en) | 2004-12-16 |
EP1614292A2 (en) | 2006-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1614292B1 (en) | Data requesting and transmitting devices and processes | |
US8356324B2 (en) | Implementing network personal video recorder for digital video settop boxes | |
EP1294193B1 (en) | Method and apparatus for changing received streaming content channels | |
US8396960B2 (en) | Efficient network utilization using multiple physical interfaces | |
KR100629158B1 (en) | Method and system for buffering streamed data | |
US8880716B2 (en) | Network streaming of a single data stream simultaneously over multiple physical interfaces | |
US8325601B2 (en) | Reliable network streaming of a single data stream over multiple physical interfaces | |
US8117332B2 (en) | Network streaming over multiple physical interfaces | |
US20030161302A1 (en) | Continuous media system | |
EP1675399A2 (en) | Fast channel switching for digital TV | |
US20060242240A1 (en) | Milestone synchronization in broadcast multimedia streams | |
US8356109B2 (en) | Network streaming of a video stream over multiple communication channels | |
WO2006127391A2 (en) | Flow control for media streaming | |
KR20070061768A (en) | Apparatus, system, and method for adaptive-rate shifting of streaming content | |
US20040034870A1 (en) | Data streaming system and method | |
JP2009505500A (en) | Multi-channel video pump | |
Civanlar et al. | A practical system for MPEG-2-based video-on-demand over ATM packet networks and the WWW | |
Jeong et al. | Trick play method for HD H. 264 set-top box | |
Muntean et al. | An Object-Oriented Prototype System for Feedback Controlled Multimedia Networking | |
KR20100068780A (en) | Method and apparatus for preventing overflow of the pre-decoder buffer in the streaming service | |
Kee-Yin Ng et al. | Implementing a QoS-Aware MPEG-4 video system for embedded computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DPEN | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2006505561 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020057019617 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004728189 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1020057019617 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 2004728189 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006271982 Country of ref document: US Ref document number: 10553665 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 10553665 Country of ref document: US |
|
WWG | Wipo information: grant in national office |
Ref document number: 2004728189 Country of ref document: EP |