JP2006523980A - データ要求装置、データ送信装置、およびそのプロセスならびに対応する製品 - Google Patents
データ要求装置、データ送信装置、およびそのプロセスならびに対応する製品 Download PDFInfo
- Publication number
- JP2006523980A JP2006523980A JP2006505562A JP2006505562A JP2006523980A JP 2006523980 A JP2006523980 A JP 2006523980A JP 2006505562 A JP2006505562 A JP 2006505562A JP 2006505562 A JP2006505562 A JP 2006505562A JP 2006523980 A JP2006523980 A JP 2006523980A
- Authority
- JP
- Japan
- Prior art keywords
- data
- server
- requesting device
- intended
- normal
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000008569 process Effects 0.000 title claims abstract description 39
- 230000005540 biological transmission Effects 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 17
- 230000000737 periodic effect Effects 0.000 claims abstract description 6
- 230000006854 communication Effects 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 25
- 238000012546 transfer Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 4
- 239000000872 buffer Substances 0.000 description 48
- 238000002347 injection Methods 0.000 description 14
- 239000007924 injection Substances 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000005192 partition Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 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
- 238000004364 calculation method Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 206010065042 Immune reconstitution inflammatory syndrome Diseases 0.000 description 2
- 208000008498 Infantile Refsum disease Diseases 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 102000001690 Factor VIII Human genes 0.000 description 1
- 108010054218 Factor VIII Proteins 0.000 description 1
- 101001087274 Solanum lycopersicum Pto-interacting protein 1 Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 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
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 238000001802 infusion Methods 0.000 description 1
- 230000007246 mechanism Effects 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
- 230000008054 signal transmission Effects 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
Images
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/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
- 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
- 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
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
本発明はデータ要求装置、データ送信装置およびそのプロセスに関するものである。
本発明は特に、決められたデータの要求(REQU)をサーバーに送信する手段(22)と、そのサーバーからストリームデータ(DATA)を受信して該データを処理手段(24)に入力する受信手段(23)と、データストリーミングを一時停止させ、そのサーバーへの送信再開を引き起こすための一時停止制御信号(XOFF)を生成する手段(30)とを有する、データサーバー(10)に対するデータ要求装置(2)に関するものである。
要求装置は、該要求装置における正常動作をサーバーに示すための正常状態信号(NORMAL)を生成し、そしてそれらの信号のサーバーへの周期的送信を引き起こすための手段を有する。
VODへの応用あり。
本発明は特に、決められたデータの要求(REQU)をサーバーに送信する手段(22)と、そのサーバーからストリームデータ(DATA)を受信して該データを処理手段(24)に入力する受信手段(23)と、データストリーミングを一時停止させ、そのサーバーへの送信再開を引き起こすための一時停止制御信号(XOFF)を生成する手段(30)とを有する、データサーバー(10)に対するデータ要求装置(2)に関するものである。
要求装置は、該要求装置における正常動作をサーバーに示すための正常状態信号(NORMAL)を生成し、そしてそれらの信号のサーバーへの周期的送信を引き起こすための手段を有する。
VODへの応用あり。
Description
本発明は、わけても、特にVOD(Video On Demand[ビデオ・オン・デマンド]の略)のためのデータを要求/送信する装置およびプロセスならびに対応する製品に関するものであるが、それに制限されるものではない。
パソコンPC(パーソナル・コンピュータの略)に利用できる既存の技術によれば、ビデオもしくはオーディオまたはその両方のデータ(以下、「AVデータ」と記す)をインターネットを通じてサーバーに注文することは、要求するパソコンをサーバーに接続し、該パソコンのIP(Internet Protocol[インターネット・プロトコル]の略)アドレスを伝えることによって可能である。これはたとえば予告編や広告に適用される。こうした技術は、ストリーミングに依拠しており、AVデータをのちの表示のための保存スペース内にダウンロードするのみならず、表示しながら同時にAVデータを取得することをも可能にする。
既存の技術の問題は、データが受信側によってちゃんと受信され、しかるべき時間内に正しく利用されるかどうかについての確証が得られないということである。特に、受信側のバッファにあまりに多くのデータが到着すると、オーバーフローが起こりうる。また、オーバーフローを避けるために一時的に送信を中断しなければならない場合、バッファが次のデータを受け取る用意ができたときに送信が中断された位置から送信を再開するというのはあまり実用的ではない。さらに、受信側で問題が起こる場合、ストリーミングが継続される危険があり、無用に帯域を費消してしまう。
既存の技術は、受信側からサーバーに、ストリーミングを中止、一時停止または再開するための特別な制御信号を送信するというものである。
特に、文書WO−9704585はVODサーバーから受信機へネットワークを介してMPEGでエンコードされたテレビ信号を送信することに関するものである。受信機は一時停止および再開のほかスローモーションや諸機能をサーバー側に指示できるようになっている。ネットワークにまつわるネットワーク遅延や再多重化といったことは、ビットストリーム中で中断後にサーバーが信号の送信を再開できる位置に位置ラベルを挿入しておくことによって配慮されている。一時停止要求があると、受信機はまずそのような位置ラベルが検出されるまで再生を継続する。再生再開の要求があったときには、受信機はサーバーに、前記検出された位置から始まる信号の再送信を要求する。
しかし、このような解決はサーバーと受信機との間の信頼できる通信を前提としており、何らかの理由で受信機がしかるべき時間内に指示を送信できなかったり、サーバーがそれをうまく受信できなかったりすると機能しない。そのような場合はもはや利用されないストリームデータの送信が続き、帯域の損失につながる。
本発明は、受信側で、あるいはデータサーバーと受信側との間の通信ネットワーク内で不具合があった場合に無駄なデータストリーミングの危険を合理的に軽減することのできる、データ、特にAV(Audio/Video[オーディオ/ビデオ])データの柔軟な取得を可能にする、データ要求装置に関するものである。本発明の該要求装置は特に、そのようなサーバーで再生される映画を一時停止させたり再取得したりすることをできるようにしうる。
本発明はまた、その前記装置に対応し、同様の利益をもたらすことのできる、データ要求プロセス、データ送信装置およびプロセスならびに製品に関するものでもある。
そのために、本発明は請求項1で定義されるデータ要求装置に関係している。
従前と異なり、本発明は二つの異なる相補的な機構の組み合わせに依拠している。一つは送信を一時停止させる特別な制御信号に基づくものであり、もう一つは受信側で問題が起こっていないことを示す、すなわちストリームデータの受信と利用が正しく行われていることを意味すると言える、周期的な信号(正常状態信号)に基づくものである。
この方法では、受信側で問題が生じてストリームデータの正常な利用が妨げられた場合、周期的信号がサーバーに送られなくなり、サーバーはその受信機に対するいっさいの送信を中止することになる。他方、サーバーによるデータ送信の一時停止を受信側が指示することもできる。
このように、サーバーは受信側の戻り経路情報に応じた状況に依存して異なる二通りの方法でデータのストリーミングを中止する(一時的であってもそうでなくても)ことができる。
前記データ要求装置で使われる第一および第二の通信ネットワークは、単一の双方向通信ネットワークであってもよい。さまざまな実施形態において、それはインターネットのようなWANネットワークであったり、あるいは家庭ネットワークまたは企業もしくは地理的に制限された領域(建物など)のために局所的に使われるネットワークのようなLANネットワーク(Local Area Network[ローカルエリアネットワーク]の略)であったりする。また、第一の通信ネットワークは、要求されたデータをストリーミングするための放送ネットワークおよび制御情報を送信するための双方向ネットワーク(たとえば電話線)であってもよい。
前記データ要求装置は好ましくは従属請求項2ないし7に準拠したものである。
特に、データ要求装置における一時停止制御信号の生成は、特に、ユーザーによって意図的にユーザーインターフェースを介して引き起こされてもよいし、中央メモリのオーバーフローを避けるために自動的に引き起こされてもよい。
また、サーバー側で一時停止したのちのデータストリーミングの再開は、特に、ある所与の時間(これは特に、ユーザーによって、5分の一時停止などという形で一時停止制御信号内で送信されてもよい)後に自動的に行われてもよいし、前記データ要求装置からの再開制御信号の送信によって引き起こされるのでもよい。
本発明はまた、本発明に基づくデータ要求装置を有するデコーダおよび請求項9で定義されるデータ要求プロセスに関するものでもある。
本発明はさらに、請求項10で定義されるデータ送信装置に、好ましくは請求項11ないし13のいずれかにおいて言及されている実施形態の一つに、また請求項14で定義されるデータ送信プロセスに関するものである。
本発明のさらなる目的は、コンピュータ上で実行されたときに、本発明に基づくデータ要求プロセスまたはデータ送信プロセスのステップを実行するプログラムコード命令を有しているコンピュータプログラムプロダクトである。「コンピュータプログラムプロダクト」とは、ディスケットまたはカセットのような当該プログラムを含んだ記憶スペースのみならず電気または光信号のような信号をも含みうるコンピュータプログラム基盤を意味している。
本発明は、付属の図面とともに限定的な意味のない以下の実施形態および実装の例によってよりよく理解され、説明されることであろう。
図2および図3では、表示されているブロックは純粋に機能的な実体であり、必ずしも物理的に別個の実体に対応するわけではない。すなわち、ソフトウェアの形で開発されることもあれば、一つまたは複数の集積回路に実装されることもある。
データ送信装置1を備えたサーバー10(図1)は、データ要求装置2を備えた少なくとも一つの受信機20に対して、第一のネットワーク5を通じてデータをストリーミングすることができる。受信機20のほうは、サーバー10に対して、第二のネットワーク6を通じた戻り経路によって情報を送信することができる。たとえば、第一のネットワーク5は、特に衛星、電波放送、ケーブルに依拠したものでありうる放送ネットワークであり、第二のネットワーク6は電話線ネットワークである。両ネットワーク5および6は、たとえばDSL(Digital Subscriber Loop[デジタル加入者線])通信に基づく単一の双方向ネットワークによって構成されていてもよい。
サーバー10のデータ送信装置1(図2)は:
・受信機20からのメッセージを受信するための受信モジュールであって、該メッセージが特にデータ要求(data request)REQU、受信機20の機能に関する情報(information)INFO、受信側が正しく動作していることを確認するためにサーバー10に周期的に送信される正常状態信号(normal state signal)NORMAL、データストリーミング様式を修正するための(特に送信を一時停止したり再開したりするため、スローモーションや早回し、逆回しのためなどの)制御(control)信号CTRLを含みうるような受信モジュール11と、
・受信機20に向けて提供されるべきデータの一連の区画のサイズおよびそれらの区画の一つの送信から次の送信までの遅延を、ある最大バンド幅のレートまで対応でき入力バッファ(またはいくつかの入力バッファ)を有する受信機20についての前記最大バンド幅のレートおよび前記入力バッファの大きさに関する情報INFOに応じて決定するための指定モジュール12と、
・要求されたデータのデータ区画の形でのストリーミングを制御信号STRMによって引き起こし、前記区画のストリーミングの周期性がクロック41によって保証されるような、ストリーミングモジュール13と、
・正常状態信号NORMALの一つでもしかるべき時間内に受信されなかったときに受信機20に警告(warning)メッセージWARNを送信する転送モジュール14と、
・警告メッセージWARNが送信されたあとでも前記正常状態信号NORMALがしかるべき時間内に受信されなかったときに警報を引き起こす警報モジュール15と、
・早回しおよび逆回しに指定モジュール12と対話しながら使われ、所望される動作に対して要求されているデータ中での一連の関連位置を同定することができ、それらの位置の一連の呼び出しは指定モジュール12が行うような、解釈モジュール16、とを有する。
・受信機20からのメッセージを受信するための受信モジュールであって、該メッセージが特にデータ要求(data request)REQU、受信機20の機能に関する情報(information)INFO、受信側が正しく動作していることを確認するためにサーバー10に周期的に送信される正常状態信号(normal state signal)NORMAL、データストリーミング様式を修正するための(特に送信を一時停止したり再開したりするため、スローモーションや早回し、逆回しのためなどの)制御(control)信号CTRLを含みうるような受信モジュール11と、
・受信機20に向けて提供されるべきデータの一連の区画のサイズおよびそれらの区画の一つの送信から次の送信までの遅延を、ある最大バンド幅のレートまで対応でき入力バッファ(またはいくつかの入力バッファ)を有する受信機20についての前記最大バンド幅のレートおよび前記入力バッファの大きさに関する情報INFOに応じて決定するための指定モジュール12と、
・要求されたデータのデータ区画の形でのストリーミングを制御信号STRMによって引き起こし、前記区画のストリーミングの周期性がクロック41によって保証されるような、ストリーミングモジュール13と、
・正常状態信号NORMALの一つでもしかるべき時間内に受信されなかったときに受信機20に警告(warning)メッセージWARNを送信する転送モジュール14と、
・警告メッセージWARNが送信されたあとでも前記正常状態信号NORMALがしかるべき時間内に受信されなかったときに警報を引き起こす警報モジュール15と、
・早回しおよび逆回しに指定モジュール12と対話しながら使われ、所望される動作に対して要求されているデータ中での一連の関連位置を同定することができ、それらの位置の一連の呼び出しは指定モジュール12が行うような、解釈モジュール16、とを有する。
受信機20のデータ要求装置2(図3)は:
・サーバー10に要求メッセージREQU、情報INFO、正常状態信号NORMAL、制御信号CTRLを送信する送信モジュール22と、
・サーバー10から特にストリームデータDATAを受信してそれを入力バッファ21(またはいくつかのそのような入力バッファ)に転送するために設計されており、また特にサーバー10から警告信号WARNを受信するための備えもされている受信モジュール23と、
・受信したデータDATAをたとえばビデオおよびオーディオストリームを復号することによって処理する処理モジュール24と、
・情報INFOを取得し、それをサーバー10に送信するために送信モジュール22に提供することのできる情報取得モジュール25と、
・入力バッファ21から転送されたデータDATAを処理モジュール24に送信する前に一時的に保存するための中央メモリ26と、
・入力バッファ21内で利用できるデータを引き出して中央メモリ26に転送するためのデータポンプ27と、
・中央メモリ26内のデータが該中央メモリ26のある所定の中間閾値レベルまで達したときに、該中央メモリ26からデータを処理モジュール24に転送するための注入部28と、
・制御信号CTRLを生成し、それをサーバー10に送信するために送信モジュール22に提供することのできる制御モジュール30と、
・正常状態信号NORMALを生成し、送信モジュール22によるサーバー10へのその周期的な送信を引き起こし、正常状態信号NORMALの送信の周期性がクロック42によって保証されるような、保持モジュール31と、
・データポンプ27と結合した調整モジュールであって、制御モジュール30をして、中央メモリ26内のデータがある所定の高閾値レベルを超えたときに一時停止制御信号を発生させ、データストリーミングが先に当該調整モジュール32によって一時停止されているときに前記データがある所定の低閾値レベルまで下がったときに再開制御信号を発生させるための調整モジュール32と、
・ユーザーが制御モジュール30および送信モジュール22を操作してサーバー10に制御信号CTRLを与えることができるようにするユーザーインターフェース35、とを有する。
・サーバー10に要求メッセージREQU、情報INFO、正常状態信号NORMAL、制御信号CTRLを送信する送信モジュール22と、
・サーバー10から特にストリームデータDATAを受信してそれを入力バッファ21(またはいくつかのそのような入力バッファ)に転送するために設計されており、また特にサーバー10から警告信号WARNを受信するための備えもされている受信モジュール23と、
・受信したデータDATAをたとえばビデオおよびオーディオストリームを復号することによって処理する処理モジュール24と、
・情報INFOを取得し、それをサーバー10に送信するために送信モジュール22に提供することのできる情報取得モジュール25と、
・入力バッファ21から転送されたデータDATAを処理モジュール24に送信する前に一時的に保存するための中央メモリ26と、
・入力バッファ21内で利用できるデータを引き出して中央メモリ26に転送するためのデータポンプ27と、
・中央メモリ26内のデータが該中央メモリ26のある所定の中間閾値レベルまで達したときに、該中央メモリ26からデータを処理モジュール24に転送するための注入部28と、
・制御信号CTRLを生成し、それをサーバー10に送信するために送信モジュール22に提供することのできる制御モジュール30と、
・正常状態信号NORMALを生成し、送信モジュール22によるサーバー10へのその周期的な送信を引き起こし、正常状態信号NORMALの送信の周期性がクロック42によって保証されるような、保持モジュール31と、
・データポンプ27と結合した調整モジュールであって、制御モジュール30をして、中央メモリ26内のデータがある所定の高閾値レベルを超えたときに一時停止制御信号を発生させ、データストリーミングが先に当該調整モジュール32によって一時停止されているときに前記データがある所定の低閾値レベルまで下がったときに再開制御信号を発生させるための調整モジュール32と、
・ユーザーが制御モジュール30および送信モジュール22を操作してサーバー10に制御信号CTRLを与えることができるようにするユーザーインターフェース35、とを有する。
図4から図9を参照した詳細な特定の実施形態によって、上述したデータ送信装置1およびデータ要求装置2の機能がよりよく理解できるようになるだろう。
サーバー10およびそれぞれ符号20−1…20−nで示すIRD(Integrated Receivers Decoders[組み込み受信機デコーダ]の略)(IRD1…IRDn)(そのそれぞれが上述した受信機20と同様のもので、以下では一般的な表記として参照符号「20」を用いる)を有する通信環境(図4)が、PSTN回線(Public Switch Telephone Network[公衆電話交換網])を通じて通信している。PSTN回線はPSTNネットワーク7としてネットワーク5および6の両方(同一のネットワーク)をなしている。その環境は、インターネットの世界で好適の真のビデオストリーミングシステムを提供する。サーバー10は第一のVDSL(Very high speed Digital Subscriber Loop[超高速デジタル加入者線]の略)モデム43にイーサネット(登録商標)接続によって接続されており、一方、IRDはたとえばそれぞれテレビが付随しており、第二のVDSLモデム44にスイッチ45を介してイーサネット(登録商標)接続により接続されている。
VDSLモデム43および44は60Mbpsにも及ぶ高ビットレートを可能にする。よって、前記の通信環境は、エンドユーザーが自分専用の番組をカタログから選んで再生や一時停止を無用に帯域を使うことなく注文することができる真のビデオ・オン・デマンドシステムを提供する。
例として、前記通信環境は、IRDをなすものとしてLAN(Local Area Network[ローカルエリアネットワーク])接続機能のあるセットトップボックス(set-top-box)(以下STB)20−1から20−nと、VDSLモデム43および44と、リナックス技術に基づくPCサーバー10とを有している。もちろん、リナックス以外のOSを使うこともできる。
各IRDは要求装置2を有しており、一方、サーバー10は対応する送信装置1を有している。
変形としては次の一部または全部を採用することができる。
・ADSL(Asymmetric Digital Subscriber Loop[非対称デジタル加入者線])モデム技術およびマルチキャストを今の実施形態のVDSLモデムの代わりに使う。一般にはxDSL(HDSL―High-data-rate DSL―や10Mbps DSLやADSL2…)が他の可能性を与える。
・ユーザー側でのイーサネット(登録商標)接続の代わりにUSB(Universal Serial Bus[ユニバーサルシリアルバス])コネクタを使う。バスに直接接続などといったその他の接続手段も可能である。
・ユーザー側にIRDが一つしか存在せず、第二のVDSLモデム44に直接接続されている。
A:システムの説明 概要
主たる要求事項はユーザーに対して要求に基づいてビデオ/オーディオストリームを供することである。今の実施形態では同時に5ストリームまでに限定されるが、他の実施形態では制限が異なっていたり、制限が全くなかったりすることもある。
・ADSL(Asymmetric Digital Subscriber Loop[非対称デジタル加入者線])モデム技術およびマルチキャストを今の実施形態のVDSLモデムの代わりに使う。一般にはxDSL(HDSL―High-data-rate DSL―や10Mbps DSLやADSL2…)が他の可能性を与える。
・ユーザー側でのイーサネット(登録商標)接続の代わりにUSB(Universal Serial Bus[ユニバーサルシリアルバス])コネクタを使う。バスに直接接続などといったその他の接続手段も可能である。
・ユーザー側にIRDが一つしか存在せず、第二のVDSLモデム44に直接接続されている。
A:システムの説明 概要
主たる要求事項はユーザーに対して要求に基づいてビデオ/オーディオストリームを供することである。今の実施形態では同時に5ストリームまでに限定されるが、他の実施形態では制限が異なっていたり、制限が全くなかったりすることもある。
テレビのエンドユーザーは特に、カタログから一つの番組を選び、それを再生し、中止し、一時停止/再開することができる。
A1:ネットワーク
VDSLモデム43および44は、ADSLでも同様だが、既存のユーザーの現地の電話線を使う。そうしたモデムにはイーサネット(登録商標)またはUSBコネクタがある。
A1:ネットワーク
VDSLモデム43および44は、ADSLでも同様だが、既存のユーザーの現地の電話線を使う。そうしたモデムにはイーサネット(登録商標)またはUSBコネクタがある。
転送フォーマットはMPEG2(Moving Picture Experts Group[動画像専門化委員会]の略)SPTS(Simple Program Transport Stream[単一プログラムトランスポートストリーム]の略)であり、言葉の問題のため音声情報は何組か送られてもよい。ここで、STBはこの種のストリームを容易に再生する機能をもともと備えている。
サーバー側では、PC10がイーサネット(登録商標)100BT(100Base-Tの略)接続を通じてモデム43に接続されている。
ユーザー側では、STB(4つまで)がイーサネット(登録商標)10BT接続を通じてスイッチ45に接続されており、該スイッチは100BT/10BTスイッチである。ここで、どのユーザーも共有VDSL回線を、家庭用パソコン、他の部屋のSTBなど異なる用途に使用することができる。また、前記スイッチを使うことによって衝突ドメインが分離されるので、衝突の伝搬が起こらなくなる。
図示した例では、UDP(User Datagram Protocol[ユーザーデータグラムプロトコル])プロトコルスタックより上では固有のプロトコルが使われる。その解決法の利点は(接続がきちんとできる限りにおいて)、モデムによって導入される帯域幅遅延積に、そして現在手にはいるSTBのイーサネット(登録商標)インターフェースが半二重機能しかもたないことによっている。そのため、より複雑でより非効率なプロトコルの必要性はないのである。実験によると、TCP(Transmission Control Protocol[転送制御プロトコル])プロトコルスタックはこのネットワーク環境では、たとえいわゆる「ウィンドウスケールオプション」を使っても深刻な制約があることが示されている。
A2:サーバー10
リナックスをベースとし、
・エンドユーザーのIPアドレスを設定するためのDHCPサーバー(Dynamic Host Configuration Protocol[動的ホスト構成プロトコル])を含み、
・当該アプリケーションをデーモンとして走らせ、
・それぞれがサーバーのハードディスクドライブ上にあるファイルからなる番組のカタログへのアクセスを提供し、
・開発されたプロトコルに基づいてファイルをストリーミングし
・ユーザーの接続/切断状態ならびにユーザーの無効状態を管理し、既知のポートが使われる。
A2:サーバー10
リナックスをベースとし、
・エンドユーザーのIPアドレスを設定するためのDHCPサーバー(Dynamic Host Configuration Protocol[動的ホスト構成プロトコル])を含み、
・当該アプリケーションをデーモンとして走らせ、
・それぞれがサーバーのハードディスクドライブ上にあるファイルからなる番組のカタログへのアクセスを提供し、
・開発されたプロトコルに基づいてファイルをストリーミングし
・ユーザーの接続/切断状態ならびにユーザーの無効状態を管理し、既知のポートが使われる。
サーバー10は、有利にはDSLAM(Digital Subscriber Line Access Multiplexer[デジタル加入者線アクセス多重化器])に直接接続された中心局にある。そこでそのカタログは扱い者によって効率的に(更新法、キャッシュアルゴリズム…)管理されている。
A3:セットトップボックス20−1…20−n
これらは:
・一覧から一つの番組を選び、
・「番組の再生」ボタンを押して番組を開始させ、
・「番組の一時停止/再開」ボタンを押して番組を一時停止/再開させ、
・別の番組に切り換え、
・音声と画像を正しく復号して同期させ、
・ストリームサーバーから5Mbpsまでの固有ビデオビットレートを受け入れる、
ことができる。
B:プロトコル
B1:概要
サーバー10およびSTB20−1…20−nは互いにTCP/IP LANで接続されている。実際には(図5)、STB20の一つがソケットをサーバー10に接続してオーディオ/ビデオファイルを要求する。するとサーバー10はそのファイルをハードディスクドライバ17からバッファソケット18を通じてループ処理に載せ、それはのちにSTBからの要求があったときにのみ終了する。
A3:セットトップボックス20−1…20−n
これらは:
・一覧から一つの番組を選び、
・「番組の再生」ボタンを押して番組を開始させ、
・「番組の一時停止/再開」ボタンを押して番組を一時停止/再開させ、
・別の番組に切り換え、
・音声と画像を正しく復号して同期させ、
・ストリームサーバーから5Mbpsまでの固有ビデオビットレートを受け入れる、
ことができる。
B:プロトコル
B1:概要
サーバー10およびSTB20−1…20−nは互いにTCP/IP LANで接続されている。実際には(図5)、STB20の一つがソケットをサーバー10に接続してオーディオ/ビデオファイルを要求する。するとサーバー10はそのファイルをハードディスクドライバ17からバッファソケット18を通じてループ処理に載せ、それはのちにSTBからの要求があったときにのみ終了する。
ファイルはネットワーク7を通じてSTB20のソケットバッファ21に送信される。そこから中央メモリ26に転送される。該中央メモリはここではたとえば1メガバイトの大きさをもつFIFO(First In, First Out[先入れ先出し]の略)によって構成されている。次いでMPEG MLMP(Main Level Main Profile[メインレベルメインプロファイル]の略)50に転送される。
特別に設計されているファイル転送プロトコルは:
・利用可能なカタログを要求し、
・ストリーム転送パラメータ設定のために接続し、
・ファイルをオープン/クローズし、
・クライアントのデータ消費に配慮しつつMPEG2−SPTSファイルをストリーミングし、
・場合によって当該ファイルをインデックス化し、
・クライアントの無効状態を検査する、
ことを可能にする。
・利用可能なカタログを要求し、
・ストリーム転送パラメータ設定のために接続し、
・ファイルをオープン/クローズし、
・クライアントのデータ消費に配慮しつつMPEG2−SPTSファイルをストリーミングし、
・場合によって当該ファイルをインデックス化し、
・クライアントの無効状態を検査する、
ことを可能にする。
前記プロトコルは:
・ストリームデータを転送し(このためデータ回復は必要ない)、
・きちんとしたネットワーク上で動作し(すなわち、データ損失がないということだが、今のシステムではモデムやスイッチを使用することにより衝突が起こらないのでこれがあてはまる)、
・遅延が長く幅が太い通信路で動作する(すなわち、ネットワーク上またはクライアントのバッファのいずれかに多くのデータがたまる)、
よう構築されている。
・ストリームデータを転送し(このためデータ回復は必要ない)、
・きちんとしたネットワーク上で動作し(すなわち、データ損失がないということだが、今のシステムではモデムやスイッチを使用することにより衝突が起こらないのでこれがあてはまる)、
・遅延が長く幅が太い通信路で動作する(すなわち、ネットワーク上またはクライアントのバッファのいずれかに多くのデータがたまる)、
よう構築されている。
このためUDPが下位のプロトコルとして全く適切なことになる。
このシステムは、クライアント(すなわちIRDの一つにおけるもの)が、ここではネットワークにあるデータをあたかも記憶媒体に要求するようなものとして見ることができる。そこでは、当該クライアントが、MPEG復号処理に従ってデータストリーミングを調整する。
サーバーでの計算
プロトコルがUDPベースであり、サーバー10がバンド幅容量が大きいことから、サーバーはクライアントにオーバーフローを起こさせないよう配慮する必要がある。このことを保証するために設定時にクライアントによってパラメータが与えられている。そのパラメータは次の通り。
サーバーでの計算
プロトコルがUDPベースであり、サーバー10がバンド幅容量が大きいことから、サーバーはクライアントにオーバーフローを起こさせないよう配慮する必要がある。このことを保証するために設定時にクライアントによってパラメータが与えられている。そのパラメータは次の通り。
・クライアント(client)が対応可能な最大バンド幅(bandwidth)のレート CBW:受信側のSTB20の全体としての容量に関わるレートであり、特に受信データを入力ソケットバッファ(またはいくつかの入力ソケットバッファでもよい)から引き出す速度に関係している。
・クライアントの入力ソケットバッファサイズ(client input socket buffer size) CSOCKBUFSZ:複数の入力ソケットバッファがあってその間で到着データが分配される場合には、パラメータCSOCKBUFSZはそれらのバッファをまとめた大きさによって与えられる。
・クライアント保持メッセージ繰返し周期:そのようなメッセージはSTB20からサーバー10に周期的に―たとえば5秒ごとなど―送信されることが意図されている。これは、サーバーにSTB20が正しく動作し、ストリームデータを利用していることを伝えるためである。これが受信されないとSTBの不具合または無効と解釈される。
サーバー10はデータのストリーミングをこれらのパラメータに基づいて行う。前記ソケットバッファサイズから、要求を発しているSTBに逐次送信される区画の大きさを与える値UINIT_SIZEを計算する。ある有利な例では、その値は次式で与えられる。
UNIT_SIZE=CSOCKBUFSZ/8
因子8によってサーバー側で区画を小さなサイズにすることができ、これはストリームデータを効率的に分割することがわかった。すなわち、受信側でのオーバーフローの確率が非常に小さくなり、高度の分割により他のストリームとの帯域の共有を改善することもできる。しかし、もっと小さな因子(たとえば2まで)も可能であり、またサーバーが許せばもっと大きな因子も可能である。
因子8によってサーバー側で区画を小さなサイズにすることができ、これはストリームデータを効率的に分割することがわかった。すなわち、受信側でのオーバーフローの確率が非常に小さくなり、高度の分割により他のストリームとの帯域の共有を改善することもできる。しかし、もっと小さな因子(たとえば2まで)も可能であり、またサーバーが許せばもっと大きな因子も可能である。
サーバー10は、前記の値に対応した上限を設定してデータ送信をループし(UNIT_SIZEごとにループする)、CBWビットレートを超えないよう遅延を挿入する。一連のデータ区画を送信する周期PERIODは次式で定義される。
PERIOD=UNIT_SIZE/CBW
この周期は典型的には保持送信周期よりもはるかに短い。
クライアントでの計算
クライアント側では二つのパラメータが計算される。それはファイルのストリーミングに必要なバンド幅を無駄にすることなくデータ送信を一時中止/再開するためのものである。こうしたパラメータは、STB20において、入力バッファ21からはいってくるデータを処理の前に一時的に保存しておくために設けられている、大きさFIFO-SIZEの中央FIFOメモリ26の埋まり具合の閾値を与えるものである。まず、低FIFO閾値LFIFOは、データのストリーミングが一時停止されているときに、そこまで下がったらデータのストリーミングの再開をXONと呼ばれる特定のメッセージによって指示する下の限界を与える。一方、高FIFO閾値HFIFOは、データ処理が追いつかなくなってその閾値を超えたらサーバー10からのデータストリーミングをXOFFと呼ばれる特定のメッセージによって一時停止させるという上の限界を与える。
この周期は典型的には保持送信周期よりもはるかに短い。
クライアントでの計算
クライアント側では二つのパラメータが計算される。それはファイルのストリーミングに必要なバンド幅を無駄にすることなくデータ送信を一時中止/再開するためのものである。こうしたパラメータは、STB20において、入力バッファ21からはいってくるデータを処理の前に一時的に保存しておくために設けられている、大きさFIFO-SIZEの中央FIFOメモリ26の埋まり具合の閾値を与えるものである。まず、低FIFO閾値LFIFOは、データのストリーミングが一時停止されているときに、そこまで下がったらデータのストリーミングの再開をXONと呼ばれる特定のメッセージによって指示する下の限界を与える。一方、高FIFO閾値HFIFOは、データ処理が追いつかなくなってその閾値を超えたらサーバー10からのデータストリーミングをXOFFと呼ばれる特定のメッセージによって一時停止させるという上の限界を与える。
両閾値LFIFOおよびHFIFOは次の関係式を満たすように選ぶ。
LFIFO≦HFIFO
FIFO-SIZE−HFIFO≧CBW×RTT/2
LFIFO≧CBW×RTT/2
ここで、RTTは往復遅延時間(Round-Trip-Time)、すなわちパケットを送出してその受信確認を得るまでの時間差である(FIFOは十分な大きさがあり、FIFO-SIZE>CBW×RTTである)。この時間は設定時にクライアントが測定するもので、周期的に再評価してもよい。これは、サーバーからの通信が中断されたときにまだネットワークに残っていて受信されるべきである可能性のあるデータ量のめやすとなる。
入力ソケットバッファ21
これらの入力バッファはUDP/IPスタックとともに埋め込まれている。これらはSTB20をあふれさせないのに十分な大きさである。サーバー10はストリーミングする区画をクライアントのソケットバッファの大きさに従って計算する。
中央FIFO26
この中央バッファ26はバースト副作用に対処するために使われる。クライアントはこのFIFOに十分なデータがあるときにのみ復号を開始する。十分なデータがあるかどうかは、第三のFIFO閾値によって決定される。それは低閾値LFIFOと高閾値HFIFOの間にある値をもつ中間閾値MFIFOである。データ処理(処理ユニットへの転送)を引き起こすこの閾値MFIFOは、ある効率的な実施形態では、低閾値LFIFOに等しい。上述のように、クライアントはまた、FIFOがいっぱいになったとき(閾値HFIFO)にはサーバーストリーミングを一時停止させ、FIFOが少なくなったとき(閾値LFIFO)にはサーバーストリーミングを再開する。
FIFO-SIZE−HFIFO≧CBW×RTT/2
LFIFO≧CBW×RTT/2
ここで、RTTは往復遅延時間(Round-Trip-Time)、すなわちパケットを送出してその受信確認を得るまでの時間差である(FIFOは十分な大きさがあり、FIFO-SIZE>CBW×RTTである)。この時間は設定時にクライアントが測定するもので、周期的に再評価してもよい。これは、サーバーからの通信が中断されたときにまだネットワークに残っていて受信されるべきである可能性のあるデータ量のめやすとなる。
入力ソケットバッファ21
これらの入力バッファはUDP/IPスタックとともに埋め込まれている。これらはSTB20をあふれさせないのに十分な大きさである。サーバー10はストリーミングする区画をクライアントのソケットバッファの大きさに従って計算する。
中央FIFO26
この中央バッファ26はバースト副作用に対処するために使われる。クライアントはこのFIFOに十分なデータがあるときにのみ復号を開始する。十分なデータがあるかどうかは、第三のFIFO閾値によって決定される。それは低閾値LFIFOと高閾値HFIFOの間にある値をもつ中間閾値MFIFOである。データ処理(処理ユニットへの転送)を引き起こすこの閾値MFIFOは、ある効率的な実施形態では、低閾値LFIFOに等しい。上述のように、クライアントはまた、FIFOがいっぱいになったとき(閾値HFIFO)にはサーバーストリーミングを一時停止させ、FIFOが少なくなったとき(閾値LFIFO)にはサーバーストリーミングを再開する。
上記の一時停止と再開はそれぞれSTB20からサーバー10に送られるXOFFおよびXONメッセージによって行われる。どの時点でもストリーミングを一時停止し、あとで再開するのをクライアントが決めるのに、同じ信号を使うことができる。
さらに、ここで記載される有利な成果では、前記保持メッセージが周期的に送信され、サーバーによって検査されることが一時停止状態においてでも続けられる。
第一の具体的な実施例では、閾値は次のような値に選ばれる:
LFIFO=MFIFO=(1/4)FIFO-SIZE
HFIFO=(3/4)FIFO-SIZE
FIFO-SIZEを1メガバイトとすると、これは次の値を与える:
LFIFO=MFIFO=250KB
HFIFO=750KB
ここで、データが受信されるストリーミング速度がCBW=6Mbpsで、データ処理速度が復号速度であり、4Mbpsに等しいエンコードビットレート(encoding bit rate)EBRに対応するとすると、2秒のストリーミング期間(XON)が1秒の一時停止期間(XOFF)と交互に現れる。実際、ストリーミングがオンであるときのFIFOが埋まっていく有効速度はCBW−EBR(今の場合2Mbps)であり、一方、ストリーミングがオフであるときの減っていく速度はEBR(今の場合4Mbps)なのである。
LFIFO=MFIFO=(1/4)FIFO-SIZE
HFIFO=(3/4)FIFO-SIZE
FIFO-SIZEを1メガバイトとすると、これは次の値を与える:
LFIFO=MFIFO=250KB
HFIFO=750KB
ここで、データが受信されるストリーミング速度がCBW=6Mbpsで、データ処理速度が復号速度であり、4Mbpsに等しいエンコードビットレート(encoding bit rate)EBRに対応するとすると、2秒のストリーミング期間(XON)が1秒の一時停止期間(XOFF)と交互に現れる。実際、ストリーミングがオンであるときのFIFOが埋まっていく有効速度はCBW−EBR(今の場合2Mbps)であり、一方、ストリーミングがオフであるときの減っていく速度はEBR(今の場合4Mbps)なのである。
第二の具体的な実施例では、閾値は次のような値に選ばれる。
LFIFO=MFIFO=CBW×RTT/2
HFIFO=FIFO-SIZE−CBW×RTT/2
FIFO-SIZEを1メガバイト、RTTを100msecとすると、これは次の値を与える。
HFIFO=FIFO-SIZE−CBW×RTT/2
FIFO-SIZEを1メガバイト、RTTを100msecとすると、これは次の値を与える。
LFIFO=MFIFO=39321バイト
HFIFO=960679バイト
今、ストリーミング速度がCWB=6Mbpsで、データ処理速度が4Mbpsに等しいEBRであるとすると、7.4秒のストリーミング期間が1.85秒の一時停止期間と交互に現れる。
MLMP MPEGバッファ50
これらはMPEG2のPES(Packet Elementary Stream[パケット基本ストリーム]の略)ストリームを正しく復号するために用意されている。STBに埋め込まれたオーディオ/ビデオデコーダスタックが用いられる。メインレベル/メインプロファイル(Main-Level/Main-Profile)が実装されている。
HFIFO=960679バイト
今、ストリーミング速度がCWB=6Mbpsで、データ処理速度が4Mbpsに等しいEBRであるとすると、7.4秒のストリーミング期間が1.85秒の一時停止期間と交互に現れる。
MLMP MPEGバッファ50
これらはMPEG2のPES(Packet Elementary Stream[パケット基本ストリーム]の略)ストリームを正しく復号するために用意されている。STBに埋め込まれたオーディオ/ビデオデコーダスタックが用いられる。メインレベル/メインプロファイル(Main-Level/Main-Profile)が実装されている。
サーバー側ではエンコード処理はないので、PCR(Program Clock References[番組クロック参照]の略)は運用されていないが、ローカルなVCXO(Voltage Control Crystal Oscillator[電圧制御水晶発信器])は27MHzに設定されている。いずれにせよ、ビデオおよびオーディオPTS(Program Time Stamps[番組タイムスタンプ])を使ってオーディオはビデオに同期されている。復号処理はバッファアンダーフローは許容し、エラーがあってもMLMPバッファ50をリセットしたりフラッシュしたりすることはない。
B2:プロトコルスタック
プロトコルおよびストリーミングのサーバー側からの状態遷移図は図6および図7に示されている。
B2:プロトコルスタック
プロトコルおよびストリーミングのサーバー側からの状態遷移図は図6および図7に示されている。
使用されているプロトコルスタックは次の通りである。
B3:アプリケーションプロトコル
処理は以下のステップに分割される:
・ソケット生成、
・アプリケーション層による:
・交換を開始するOpen Stream
・交換Write/read Stream
・交換を終了するClose Stream
を有する処理、
・ソケットクローズ。
アプリケーション層で構築されるパケットはメッセージである。すべてのメッセージは一般的なフォーマットを有する:
・ヘッダ:
・メッセージタイプ(1単位長)
・4つまでの任意的なパラメータ(4単位長)
・データ:当該ストリームの一部。また信号メッセージについては空。
・ヘッダ:
・メッセージタイプ(1単位長)
・4つまでの任意的なパラメータ(4単位長)
・データ:当該ストリームの一部。また信号メッセージについては空。
すべてのデータ型はネットワーク式のデータ配列である。すなわち最上位ビット(MSB―Most Significant Bit[最上位ビット]―の略)が先にくる。
サーバー側からのプロトコルの主な動作は次のようなものである(図6;ここで、recvはreceive[受信]の略である):
・STBの一つからメッセージを受信するのを待ち(ステップS1)、
・STBの一つから接続(connection)メッセージCONNECTを受信し(ステップS2)、
・クライアントサーバープロセスをフォークし(ステップS3)、
・接続確認(connection acknowledgement)CONNECT_ACKを送信し(ステップS4)、
・要求を発しているSTBに接続し(ステップS5)、該STBから接続パラメータを受信する(ステップS6)ことによってパラメータを取得して対応する計算を行い(ステップS7)、接続メッセージを送信し(ステップS8)、
・要求しているSTBが正しくサーバーと連絡し続けていることを検査するためのクライアント無効状態警戒を開始し(ステップS9)、それは所定の送信周期(たとえば5秒)をもつ保持(keep alive)メッセージKEEPALIVEの周期的な受信によって検査されるものであり、
・STBクライアントが目標とするファイルをオープンし(ステップS10)、関係するファイルを指示するオープンメッセージOPEN(file)を受信する(ステップS11)ことによって、対応するファイル識別子File_idを取得してそれをオープンし(ステップS12)、
・該ファイルを要求を発しているSTBクライアントにストリームし(ステップS13)つつ、周期的に保持メッセージを受信して(ステップS14)しかるべく警戒を再開し(ステップS15)、ファイル送信の終わりまで続け、
・クローズメッセージCLOSEを受信したときにはファイル送信を停止し(ステップS16)、
・保持メッセージが受信されないために警報が発された場合には(ステップS17)、クライアントサーバープロセスを終了する(ステップS18)。
・STBの一つからメッセージを受信するのを待ち(ステップS1)、
・STBの一つから接続(connection)メッセージCONNECTを受信し(ステップS2)、
・クライアントサーバープロセスをフォークし(ステップS3)、
・接続確認(connection acknowledgement)CONNECT_ACKを送信し(ステップS4)、
・要求を発しているSTBに接続し(ステップS5)、該STBから接続パラメータを受信する(ステップS6)ことによってパラメータを取得して対応する計算を行い(ステップS7)、接続メッセージを送信し(ステップS8)、
・要求しているSTBが正しくサーバーと連絡し続けていることを検査するためのクライアント無効状態警戒を開始し(ステップS9)、それは所定の送信周期(たとえば5秒)をもつ保持(keep alive)メッセージKEEPALIVEの周期的な受信によって検査されるものであり、
・STBクライアントが目標とするファイルをオープンし(ステップS10)、関係するファイルを指示するオープンメッセージOPEN(file)を受信する(ステップS11)ことによって、対応するファイル識別子File_idを取得してそれをオープンし(ステップS12)、
・該ファイルを要求を発しているSTBクライアントにストリームし(ステップS13)つつ、周期的に保持メッセージを受信して(ステップS14)しかるべく警戒を再開し(ステップS15)、ファイル送信の終わりまで続け、
・クローズメッセージCLOSEを受信したときにはファイル送信を停止し(ステップS16)、
・保持メッセージが受信されないために警報が発された場合には(ステップS17)、クライアントサーバープロセスを終了する(ステップS18)。
サーバー側からのストリーミング動作は次のようなものである(図7):
・保持メッセージが受信されて(ステップS14)警戒が再開される(ステップS15)限り、そして当該ファイルの送信が完了していない限り、データファイルのストリーミングを進め(ステップS13)、上で見たように保持メッセージがしかるべき時間内に受信されないと警報が発され(ステップS17)、
・特別な中断メッセージXOFFを受信したときには(ステップS19)、ストリーミングを一時停止し(ステップS20)つつ、保持メッセージ受信の検査を続け(ステップS14)その結果により警戒を再開し(ステップS15)、
・のちに特別な再開メッセージXONを受信したときには(ステップS21)、先に中断された点でファイル送信を再開し(ステップS13)、
・ストリーミングが現在行われていようと一時停止中であろうと、保持メッセージがしかるべき時間内に受信されない場合にはクライアントサーバープロセスを終了する。
・保持メッセージが受信されて(ステップS14)警戒が再開される(ステップS15)限り、そして当該ファイルの送信が完了していない限り、データファイルのストリーミングを進め(ステップS13)、上で見たように保持メッセージがしかるべき時間内に受信されないと警報が発され(ステップS17)、
・特別な中断メッセージXOFFを受信したときには(ステップS19)、ストリーミングを一時停止し(ステップS20)つつ、保持メッセージ受信の検査を続け(ステップS14)その結果により警戒を再開し(ステップS15)、
・のちに特別な再開メッセージXONを受信したときには(ステップS21)、先に中断された点でファイル送信を再開し(ステップS13)、
・ストリーミングが現在行われていようと一時停止中であろうと、保持メッセージがしかるべき時間内に受信されない場合にはクライアントサーバープロセスを終了する。
前記プロセスのおかげで、サーバー10は受信機20のビデオストリーミングに関してのスペックに完全に適応させることができる。さらに、前記プロセスでは、クライアントが実際にストリーミングされたデータを利用するために有効に必要とする帯域しか使用しないことが可能となりうる。
ある有利な実施形態では、警報を発するタイムリミットは、予期される期間に往復遅延時間RTTに基づく長さ、たとえば3〜4RTTを上乗せしたもので与えられる。
クライアント側でストリーミングされたデータを正しく受信しているかどうかをサーバー側で検査する点についてのある改良版では、警報が発されるのは、保持メッセージが受信されない期間が保持メッセージの周期より十分長い期間、たとえばその期間の3倍に達したときのみとされる。これによりSTBとサーバーとの間の送信において生じうる遅延に配慮することができる。
検査方法についてのあるさらなる改良によると、サーバー側で保持メッセージを受信すると期待されていた時間が過ぎてもそのようなメッセージが届かなかった場合には、サーバーはクライアントSTBに警告を送り、するとクライアントはもしまだ有効な受信状態にあるのであればすぐに再び保持メッセージを送り返す。これは、ネットワークにおける送信問題、特にパケット損失などに起因してストリーミング処理が誤って中断される危険を著しく低下させ、それによりシステムの信頼性を向上させる。
上記の両特徴(タイムリミットの決め方や警告メッセージ)は有利に組み合わせることができる。
a:ソケット接続
b:接続初期化
STB20の一つがAL_OPENメッセージを送信したら、それはサーバー10がストリームデータパケットを送信するまで待つ(受信はノンブロッキングである)。STB20はソケットからできるだけ多くのデータを読み込んで、CPU(Central Processing Unit[中央処理装置]の略)を注入および復号プロセスのスケジューリングが行えるように解放する。ある好適なアルゴリズムは、データポンプ27の各スケジュールにおいてソケットバッファサイズの半分を読み込むことを含む。このデータポンプというのは、STB20内に組み込まれた要求を発する装置2の一部である。
現在手にはいるSTBの設計では、持続的なビットレートの測定された最大値は6Mbps程度であり、良好なMPEG2ビデオおよびオーディオ品質に十分な高率である。
データポンプ27は入力ソケットバッファ21に直接、中央FIFO26の「書き込み」ポインタおよび前記FIFOの連続的に利用可能なスペースを与える(これにより、ソケットバッファからFIFOバッファへの中間コピーが回避できる)。
処理のために中央FIFO26からの各転送の間に扱われるデータの大きさは、LenAsked値で与えられるが、これはFIFOサイズの半分であり、スケジューリングの仕事が重くなるのを避けている。そのようなFIFO転送が完遂したら、LenAskedは消費者ポインタに従って連続的に利用可能なサイズである。前記要求装置2の一部である注入部28がそれを管理することが意図されている。
ユーザーがあるストリームから別のストリームに切り換えた場合、FIFO26およびビットバッファ21はフラッシュされてもよい。
サーバー10は読み込みファイルの予期はしない。読み込み長さと送信長さは定数で、バースト転送を避けるために内部入力ソケットバッファ21(CSOCKBUFSZ)よりも小さい。プロトコルはまた送信速度の制御を行う際に消費者速度(CBWパラメータ:STB20上でデータポンプ27によって管理されている中央FIFO26)も参照する。
IRD処理の概要について以下に説明する(図8参照)。記載されるさまざまな要素は要求装置IRDの部分である。
・ザッパー(「アプリ」)54:ユーザーの選択(番組識別子)を取得し、データポンプ27および注入器28を走らせ、AVデコーダを始動させる。ユーザーが番組を変更したら、ザッパーはデータポンプ27および注入器28を再び走らせるまで停止させる。ビデオデコーダは停止する必要はない。
・ザッパー(「アプリ」)54:ユーザーの選択(番組識別子)を取得し、データポンプ27および注入器28を走らせ、AVデコーダを始動させる。ユーザーが番組を変更したら、ザッパーはデータポンプ27および注入器28を再び走らせるまで停止させる。ビデオデコーダは停止する必要はない。
・イーサネット(登録商標)ドライバ52:TCP/IPスタック53を物理的なイーサネット(登録商標)コントローラ51につなぐインターフェースとなる。該51はたとえばCS8900Aとしてシラスロジック社により市販されているものである。速度は3Mbpsから6Mbpsの間である。よって、4Mbpsの速度なら、1フレーム(1460バイト)は2.86msで処理される。ドライバ52に制御データ送信を警告するために割り込み(interruptions)プロセス(「IT」)が設けられている。
・TCP/IPスタック53:イーサネット(登録商標)上のTCP/UDP/IPスタック53はソケット・ノンブロッキングAPI(Application Programming Interface[アプリケーションプログラミングインターフェース])を備えている。IPアドレスを動的に取得するためにDHCP(Dynamic Host Configuration Protocol[動的ホスト構成プロトコル]の略)クライアントが埋め込まれている。TCP/IPスタック53は最大64キロバイトのソケットバッファ21およびタイマー42を利用する。
・データポンプ27:サーバー10からMPEG2−TS(Transport Stream[トランスポートストリーム]の略)のデータを取得するためにUDPポートを使う。動作においては、ユーザーによってファイル識別子が指定され、接続の間にサーバー10に直接送信される。ひとたびサーバー10に接続されたら、データポンプ27は利用可能なFIFO長を読み取り、FIFO26がいっぱいに近づいていたら(HFIFO閾値)データストリーミングを一時停止するよう要求し(XOFFメッセージ)、FIFO26が空に近づいたら(LFIFO閾値)再開するよう要求する。これはまた、ユーザーがザッピングすることを可能にし、その際にはFIFO26をフラッシュする。フラッシュ工程は次いで注入部28にも伝搬される。
・中央FIFO26:復号処理およびストリーミング処理を調整し、ネットワークバーストに対処するためのXメガバイト(たとえば1メガバイト)のFIFO。FIFOマネージャは3つの閾値を管理する。低閾値LFIFOおよび高閾値HFIFOはそれぞれ注入プロセスの再開と一時停止を引き起こし、中間閾値MFIFOはデータポンププロセスを引き起こす。
送信のためには、たとえば単位の大きさとして32キロバイトが選ばれる(単位の大きさが50キロバイトなら送信は20msを要する)。すなわち、4Mbpsの速度を考えると、中央FIFO26をいっぱいにするのに2秒かかる。一方、いっぱいになったFIFOの復号も2秒に相当する。
サーバーファイルの8キロバイトのデータを取ると、それはクライアントのソケットバッファに到達するのに16msecかかる。同じデータはSTB埋め込みのCPUに応じて約2〜4kbytes/msecの速度でFIFO26に転送される。よって、STB転送プロセスは無視できる。
中央FIFO26はサーバー10およびネットワークで生じうるジッターを吸収する。好ましくは、クライアントのバンド幅のレートCBWはエンコード速度EBRより大きい。EBRとCBWの値が近い場合には、FIFO26はより小さくてもよい。
・注入部28:PCサーバー10(生産者)と復号処理(消費者)との間の流れ制御の考えがここで語られる。ひとたび開始されると、注入部28はビデオビットバッファのレベルを監視し、DMA(Direct Memory Access[直接メモリアクセス]の略)を通じて所与の量のFIFOデータをTSMUX(Transport Stream Multiplexer[トランスポートストリームマルチプレクサ]の意)55に注入する。その際、SWTS入力(Software Transport Stream[ソフトウェアトランスポートストリーム]の略)56を使う。
・TSMUX55:このインターフェースは、STマイクロエレクトロニクス社によるST5516として市販されているようなレジスタ61(図9)に基づいて、メモリからPTI(Programmable Transport Interface[プログラム可能な転送インターフェース]の略)57にSWTS方式で(構成レジスタ63を使って)データの注入ができるようにする。バイト転送速度は調整でき、レートはたとえば40Mbpsである。
・AVスタック58:オーディオおよびビデオ復号過程。復号のための目標とされるPID(Packet IDentifier[パケット識別子]の略)に向けられた復号処理を設定する。復号処理を開始し、ビデオビットバッファレベル(video bit buffer level―VBBLと記す)を指示することを可能にする。ビットバッファはアンダーフローは許容する。
・AV同期:ビデオおよびオーディオのPTS値(Program Time Stamp[番組タイムスタンプ]の略)に基づいている。PCRは運用されていないので、27MHzVCXOは固定した義務的な値を有している。ビデオ復号処理が開始され、STC値(System Time Clock[システム時間クロック]の略)を最初のビデオPTSで初期化する。オーディオはそのPTS値がSTC値に近くなるまでフレームをスキップする。
C1:注入部28
注入部28とその機能についてこれから詳述する(図9を参照)。
C1:注入部28
注入部28とその機能についてこれから詳述する(図9を参照)。
SWTS入力56へのデータの注入は、PTIのDMA3チャネルを通るよう経路制御されるSWTS_REQ信号を使ってペース調整される。前記SWTS_REQ信号は、内部SWTS FIFO62に少なくとも16バイトの余裕があるときに発される。SWTS_REQが低で、XメガバイトのFIFO26から読み込むべきデータがあるたびに、プログラム可能なバイト数がSWTS入力56に転送される。転送完了の時点において、注入部にデータが転送されたとの信号を送るよう割り込みがセットされる。
SWTS入力の場合、ビデオおよびオーディオの圧縮データ(compressed data)FIFO(それぞれ64、65と記される)中で目的ポインタが固定される。それは注入が処理される場所でCD_FIFOなどである。SWTSアドレスがCD_FIFOアドレスを置き換え、PTI_DMA3SETUPレジスタによって直接インクリメントがプログラムされることはない(よって、DMA3BLOCKMOVE=0)。
PTI57バージョンドライバ
PTIドライバはDMA注入のためのソフトウェアサポートを提供する。それはPTI1に対する上位互換モードで使われるPTI3ハードウェアにおいて走る。提示される実施形態においては、唯一の制限は、割り込みモードがDMA転送終了の信号を送るためには許容されていないという点である。pti_data_dma_synchronize関数への呼び出しはDMA転送の終了まで封じられる。
PTI DMA3とTSMUX55の相互接続
SWTS_REQ信号は、CONFIG_CONTROL_Aレジスタを設定することによってPTINOT_CDREQ3信号に多重化される(すなわち、PTIA_CDREQ3_MUXSEL[3:0]=TSSUB_SWTS_REQ)。
PTI57バージョンドライバ
PTIドライバはDMA注入のためのソフトウェアサポートを提供する。それはPTI1に対する上位互換モードで使われるPTI3ハードウェアにおいて走る。提示される実施形態においては、唯一の制限は、割り込みモードがDMA転送終了の信号を送るためには許容されていないという点である。pti_data_dma_synchronize関数への呼び出しはDMA転送の終了まで封じられる。
PTI DMA3とTSMUX55の相互接続
SWTS_REQ信号は、CONFIG_CONTROL_Aレジスタを設定することによってPTINOT_CDREQ3信号に多重化される(すなわち、PTIA_CDREQ3_MUXSEL[3:0]=TSSUB_SWTS_REQ)。
注入部は、PTI57にデータを注入する前に、ビデオおよびオーディオビットバッファ(それぞれ66、67と記される)の占有レベルを知る必要がある。各ストリームがビデオおよびオーディオ成分を含み、オーディオビットバッファ67の容量がオーバーフローやアンダーフローを避けるのに十分であるとすると、ビデオビットバッファのレベルだけを監視することも許容できうる。
これを行うには、VID_VBLレジスタが読み込まれる。これがビデオビットバッファ66の現在のレベルを2キロビット(256バイト)単位で与える。このバッファ内の空きスペースの大きさが次いですぐに導出される。注入部はユーザー中央FIFO26からPTI57へのTSMUX55を通じたDMA転送を開始する。転送の大きさは、
min(RVBB,中央FIFO利用可能データ)
で、RVBB(Remaining space in Video Bit Buffer[ビデオビットバッファ内の残りスペース])はVBB(Video Bit Buffer[ビデオビットバッファ])66内で残っている空きスペースを表している。
min(RVBB,中央FIFO利用可能データ)
で、RVBB(Remaining space in Video Bit Buffer[ビデオビットバッファ内の残りスペース])はVBB(Video Bit Buffer[ビデオビットバッファ])66内で残っている空きスペースを表している。
ここでは、VBB66のみを考慮に入れて転送について語った。このことは、ABB(Audio Bit Buffer[オーディオビットバッファ])67がオーバーフローを起こさない十分な大きさがあることを示唆している。
4Mbps(500kbytes/s)のストリームに対しては、100msごとに50キロバイトのデータ転送が加わっていく。SWTSレートが40Mbps(5Mbytes/s)に固定されているとすると、その転送時間は少なくとも10msである。よって、対応するスレッドは各転送の間の90msは空いていることになる。
C2:オーディオビデオスタック58
オーディオビデオスタック58には三つの主要な機能がある:
・多重化解除を処理してオーディオおよびビデオデコーダを開始し、
・オーディオとビデオの間の同期を管理し、
・ビデオビットバッファレベルを取得し、それを注入部クライアントに供給することでデータストリーミングを調整する。
C2:オーディオビデオスタック58
オーディオビデオスタック58には三つの主要な機能がある:
・多重化解除を処理してオーディオおよびビデオデコーダを開始し、
・オーディオとビデオの間の同期を管理し、
・ビデオビットバッファレベルを取得し、それを注入部クライアントに供給することでデータストリーミングを調整する。
ビデオを一時停止したり画面をフリーズさせたり、音声を消したり、あるいは静止画像を表示したりすることは必要ではない。
オーディオおよびビデオデコーダの同期は、オーディオPTSおよびビデオPTSの助けによりなされる。ストリームからのPCRは運用されておらず、VCXOは27MHzに設定されている。
STC値は最初ビデオPTSに設定される。同期アルゴリズムはすでにオーディオドライバ内に存在している。必要なのは、STC値をビデオPTSに設定するために関数を修正することだけである。これは次のように処理される。
ビデオPTSの監視はストリーム中にエラーが起こったときでもアボートされない(STC/ビデオPTSの距離はPTSが発生するたびに更新される)。
当該スタックはまた、ビットバッファアンダーフローに関しても許容できる。すなわち、復号処理のリセットもビットバッファのリセットも行われない。
ビットバッファ(VBB66およびABB67)はPULLモデルのための適正な大きさになっている。すなわち、デコーダ処理のほうがデータストリーミングを調整する。VBB66については、MLMP仕様として大きさが決まっており、356キロバイト程度である。ABB67の大きさを決めるには、最低ビデオビットレートと最高オーディオビットレートとの比が計算される。ABB67の大きさは、この比を利用して、mVBRを最小ビデオビットレート(minimum video bit rate)、MABRを最大オーディオビットレート(maximum audio bit rate)として、次式によって決める。
ABBの大きさ=MABR/mVBR×(MLMP VBBの大きさ)
たとえば、mVBRおよびMABRはそれぞれ1Mbpsおよび448kbpsである。
たとえば、mVBRおよびMABRはそれぞれ1Mbpsおよび448kbpsである。
追加的な仕様として、クライアントはスローモーションや早回しのための制御メッセージをサーバー10に送ってもよい。
スローモーションの場合のある具体的な実施形態では、各データ区画を送信する間隔PERIODの値を大きくする(周期の修正はクライアントから要求されるスローモーションの度合いによる)。ただし、保持メッセージの周期は不変に保たれる。
早回しや逆回しのある特定の変形実施形態においては、クライアントはサーバー10に対してさらに、ストリーミングされるべきデータファイル中の位置を順番づけるための特定の制御メッセージSEEKを送ることができる。これは、当該ファイルの始点または終点を基準としたバイト数などである。SEEKメッセージはその際、再生方向とオフセットの両方を含んでいてもよい。その際、クライアントはSEEKメッセージをXOFFとXONメッセージの間で使用する。選択されるデータ量ならびに再生スピードを支配し、早回しの場合にはアンダーフローを補償するためである。この場合、送信される命令の順番は、XOFF/SEEK(方向、オフセット)/XON/XOFF…となる。
さらに、前記の特定の実施形態では、クライアントはサーバー10に早回しのために選択された復号アルゴリズムに関する情報を送信することが意図されている。たとえば、GOP(Group of Pictures[ピクチャーグループ])において「I」タイプの画像のみを取るなどである。
その際、クライアントのほうが位置の選択を適切に行うことによって定常的な再生には責任をもつ。
また、スローモーションの場合と同様に、保持メッセージの周期は不変に保たれる。
1 データ送信装置
2 データ要求装置
7 PSTNネットワーク
10 サーバー
11 受信
12 指定
13 ストリーミング
14 転送
15 警報
16 解釈
17 ハードディスク上のファイル
18 バッファソケット
20 受信機
21 バッファ
22 送信
23 受信
24 処理
25 情報取得
26 メモリ
27 データポンプ
28 注入部
30 制御
31 保持
32 調整
35 ユーザーインターフェース
43 VDSLモデム
44 VDSLモデム
45 スイッチ
50 MLMP MPEG
2 データ要求装置
7 PSTNネットワーク
10 サーバー
11 受信
12 指定
13 ストリーミング
14 転送
15 警報
16 解釈
17 ハードディスク上のファイル
18 バッファソケット
20 受信機
21 バッファ
22 送信
23 受信
24 処理
25 情報取得
26 メモリ
27 データポンプ
28 注入部
30 制御
31 保持
32 調整
35 ユーザーインターフェース
43 VDSLモデム
44 VDSLモデム
45 スイッチ
50 MLMP MPEG
Claims (15)
- 少なくとも一つのデータサーバー(10)に少なくとも一つの第一の通信ネットワーク(5)を通じてのデータを要求する装置(2)であって、
・サーバー(10)に決められたデータの要求(REQU)を少なくとも一つの第二の通信ネットワーク(6)を通じて送信する送信手段(22)と、
・前記サーバー(10)から前記第一の通信ネットワーク(5)を通じてストリームデータ(DATA)を受信するための、そして該データをそれが利用されるよう処理手段(24)に提供するための受信手段(23)と、
・前記サーバー(10)からのデータストリーミングを一時停止させるよう意図された一時停止制御信号(XOFF)を生成するための、そして前記一時停止制御信号(XOFF)の前記サーバー(10)への前記第二のネットワーク(6)を通じた前記送信手段(22)を介しての送信を引き起こすための、制御手段(30)とを有しており、
当該データ要求装置(2)が、当該データ要求装置(2)における正常動作を前記サーバー(10)に示すよう意図された正常状態信号(NORMAL、KEEPALIVE)を生成するための、そして該正常状態信号(NORMAL,KEEPALIVE)の前記サーバー(10)への前記第二のネットワーク(6)を通じた前記送信手段(22)を介しての周期的送信を引き起こすための、保持手段(31)を有することを特徴とする、データ要求装置。 - 前記制御手段(30)が前記サーバー(10)からのデータストリーミングを一時停止のあとで再開させるよう意図された再開制御信号(XON)をも生成するよう意図されており、前記送信手段(22)が前記サーバー(10)に前記第二のネットワーク(6)を介して前記再開制御信号(XON)を送信するよう意図されていることを特徴とする、請求項1記載のデータ要求装置(2)。
- 前記要求装置(2)が、ユーザーが前記制御手段(30)および前記送信手段(22)を作動させて前記制御信号(XOFF、XON)が前記サーバー(10)に前記第二のネットワーク(6)を介して与えられるようにするユーザーインターフェース(35)を有していることを特徴とする、請求項1または2のうちいずれか一項記載のデータ要求装置(2)。
- 前記受信されたデータ(DATA)が利用される前に中央メモリ(26)内に保存され、前記データ要求装置(2)が前記中央メモリ(26)内の前記データが該中央メモリ(26)の所定の高閾値レベル(HFIFO)を超えたときに前記制御手段(30)を作動させて一時停止制御信号(XOFF)を生成するよう意図されている調整手段(32)を有することを特徴とする、請求項1ないし3のうちいずれか一項記載のデータ要求装置(2)。
- 前記調整手段(32)が、前記ストリーミングが当該調整手段(32)によって一時停止されており前記中央メモリ(26)内の前記データが前記中央メモリ(26)の所定の低閾値レベル(LFIFO)まで減少したときに前記制御手段(30)を作動させて再開制御信号(XON)を生成するよう意図されていることを特徴とする、請求項4記載のデータ要求装置(2)。
- 前記中央メモリ(26)の前記閾値レベル(HFIFO、LFIFO)のうち少なくとも一つが前記データ要求装置(2)と前記サーバー(10)との間の往復遅延時間(RTT)に依存することを特徴とする、請求項4または5のうちいずれか一項記載のデータ要求装置(2)。
- ・前記受信手段(23)が、前記サーバー(10)が前記正常状態信号(NORMAL、KEEPALIVE)をしかるべき時間内に受信しなかった場合に、前記サーバー(10)から前記第一のネットワーク(5)を通じて特別な警告メッセージ(WARN)を受信するよう意図されており、
・前記保持手段が、前記特別な警告メッセージ(WARN)が受信され次第、前記第二のネットワーク(6)を通じた前記サーバー(10)への正常状態信号(NORMAL、KEEPALIVE)の送信を引きこすよう意図されていることを特徴とする、
請求項1ないし6のうちいずれか一項記載のデータ要求装置(2)。 - 請求項1ないし7のうちいずれか一項記載のデータ要求装置(2)を有することを特徴とする、デコーダ。
- 少なくとも一つのデータサーバー(10)に少なくとも一つの第一の通信ネットワーク(5)を通じてのデータを要求するプロセスであって、
・サーバー(10)に決められたデータの要求(REQU)を少なくとも一つの第二の通信ネットワーク(6)を通じて送信し、
・前記サーバー(10)から前記第一の通信ネットワーク(5)を通じてストリームデータ(DATA)を該データが利用できるよう受信し、
・前記サーバー(10)からのデータストリーミングを一時停止させるよう意図された一時停止制御信号(XOFF)を生成し、前記第二のネットワーク(6)を通じて前記サーバー(10)に送信するステップを有しており、
当該データ要求プロセスが、当該データ要求装置(2)における正常動作を前記サーバー(10)に示すよう意図された正常状態信号(NORMAL、KEEPALIVE)を生成し、前記サーバー(10)に前記第二のネットワーク(6)を通じて周期的に送信することを含むことを特徴とする、データ要求プロセス。 - 少なくとも一つの第一の通信ネットワーク(5)を通じてデータを送信する装置(1)であって、
・少なくとも一つのデータ要求装置(2)から少なくとも一つの第二の通信ネットワーク(6)を通じて決められたデータの要求(REQU)を受信する受信手段(11)と、
・前記データ(DATA)の前記データ要求装置(2)への前記第一のネットワーク(5)を通じたストリーミングを引き起こすストリーミング手段とを有し、
前記受信手段(11)は前記データ要求装置(2)から一時停止制御メッセージ(XOFF)を受信するよう意図されており、前記ストリーミング手段(13)は前記一時停止制御メッセージ(XOFF)が受信されたときには前記データストリーミングを一時停止するよう意図されており、
・前記受信手段(11)が、前記データ要求装置(2)から周期的に正常状態信号(NORMAL、KEEPALIVE)を受信するよう意図されており、
・前記データ要求装置(2)が、前記正常状態信号(NORMAL、KEEPALIVE)がしかるべき時間内に受信されなかったときに警報状態を引き起こすよう意図されている警報手段(15)を有し、
当該データ送信装置(1)が好ましくは請求項1ないし7のうちいずれか一項記載のデータ要求装置(2)のために備えがされていることを特徴とする、データ送信装置。 - 前記警報手段(15)が、前記正常状態信号(NORMAL、KEEPALIVE)が該正常状態信号を受信するのに期待される時間周期のあとある安全期間を経過したのちにも全く受信されない場合に前記警報状態を引き起こすよう意図されており、前記安全期間が前記データ要求装置(2)と前記データ送信装置(1)との間の往復遅延時間(RTT)に依存するものであることを特徴とする、請求項10記載のデータ送信装置(1)。
- ・前記警報手段(15)が、前記正常状態信号(NORMAL、KEEPALIVE)がしかるべき時間内に全く受信されない場合に警告メッセージ(WARN)を生成するよう意図されており、
・当該データ送信装置(1)が、前記警告メッセージ(WARN)を前記データ要求装置(2)に前記第一のネットワーク(5)を通じて送信するよう意図されている転送手段(14)を有し、
・前記警報手段(15)が、前記警告メッセージ(WARN)の送信後ある猶予期間が経過したのちにのみ前記警報状態を引き起こすよう意図されていることを特徴とする、
請求項10または11のうちいずれか一項記載のデータ送信装置(1)。 - 前記受信手段(11)が前記データ要求装置(2)から再開制御メッセージ(XON)を受信するよう意図されており、前記ストリーミング手段(13)が、前記ストリーミングが一時停止されており前記再開制御メッセージ(XON)の一つが受信されたときに前記データストリーミングを再開するよう意図されていることを特徴とする、請求項10ないし12のうちいずれか一項記載のデータ送信装置(1)。
- 少なくとも一つの第一の通信ネットワーク(5)を通じてデータを送信するプロセスであって、
・少なくとも一つのデータ要求装置(2)から少なくとも一つの第二の通信ネットワーク(6)を通じて決められたデータの要求(REQU)を受信し、
・前記データ(DATA)を前記データ要求装置(2)に前記第一のネットワーク(5)を通じてストリーミングし、
・前記データ要求装置(2)から一時停止制御メッセージ(XOFF)を受信し、前記一時停止制御メッセージ(XOFF)が受信されたときには前記データストリーミングを一時停止するステップを有しており、また、
・前記データ要求装置(2)から周期的に正常状態信号(NORMAL、KEEPALIVE)を受信し、
・前記正常状態信号(NORMAL、KEEPALIVE)がしかるべき時間内に受信されなかったときに警報状態を引き起こすステップを有し、
当該データ送信プロセスが好ましくは請求項10ないし13のうちいずれか一項に準拠したデータ送信装置(1)によって実行されることを意図されていることを特徴とする、データ送信プロセス。 - 当該プログラムがコンピュータ上で実行されたときに請求項9および14のプロセスのうちの一方のステップを実行するプログラムコード命令を含んでいることを特徴とする、コンピュータプログラムプロダクト。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03290954 | 2003-04-17 | ||
PCT/EP2004/050566 WO2004093452A2 (en) | 2003-04-17 | 2004-04-19 | Data requesting and transmitting devices and processes |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006523980A true JP2006523980A (ja) | 2006-10-19 |
Family
ID=33185983
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006505562A Pending JP2006523980A (ja) | 2003-04-17 | 2004-04-19 | データ要求装置、データ送信装置、およびそのプロセスならびに対応する製品 |
JP2006505561A Expired - Fee Related JP4505450B2 (ja) | 2003-04-17 | 2004-04-19 | データ要求送信装置及びプロセス並びに対応するプロダクツ |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006505561A Expired - Fee Related JP4505450B2 (ja) | 2003-04-17 | 2004-04-19 | データ要求送信装置及びプロセス並びに対応するプロダクツ |
Country Status (6)
Country | Link |
---|---|
US (2) | US7877439B2 (ja) |
EP (2) | EP1614291B1 (ja) |
JP (2) | JP2006523980A (ja) |
KR (2) | KR20060026010A (ja) |
DE (2) | DE602004006981T2 (ja) |
WO (2) | WO2004093451A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111742620A (zh) * | 2018-02-26 | 2020-10-02 | 昕诺飞控股有限公司 | 根据效果类型和/或用户偏好重新开始动态灯光效果 |
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 |
US7412532B2 (en) * | 2002-12-13 | 2008-08-12 | Aol Llc, A Deleware Limited Liability Company | Multimedia scheduler |
US7493289B2 (en) * | 2002-12-13 | 2009-02-17 | Aol Llc | Digital content store system |
CN105406947A (zh) * | 2003-06-02 | 2016-03-16 | 高通股份有限公司 | 生成并实施一用于更高数据率的讯号协议和接口 |
KR101178080B1 (ko) * | 2003-08-13 | 2012-08-30 | 퀄컴 인코포레이티드 | 더 높은 데이터 레이트를 위한 신호 인터페이스 |
ATE424685T1 (de) * | 2003-09-10 | 2009-03-15 | Qualcomm Inc | Schnittstelle für hohe datenrate |
EP2244436B1 (en) * | 2003-10-15 | 2013-09-25 | Qualcomm Incorporated | High data rate interface |
BRPI0416054A (pt) * | 2003-10-29 | 2007-01-02 | Qualcomm Inc | interface de alta taxa de dados elevada |
WO2005048562A1 (en) * | 2003-11-12 | 2005-05-26 | Qualcomm Incorporated | High data rate interface with improved link control |
MXPA06006012A (es) * | 2003-11-25 | 2006-08-23 | Qualcomm Inc | Interfase de indice de datos alto con sincronizacion de enlace mejorada. |
WO2005057881A1 (en) * | 2003-12-08 | 2005-06-23 | Qualcomm Incorporated | High data rate interface with improved link synchronization |
WO2005084381A2 (en) * | 2004-03-03 | 2005-09-15 | Packetvideo Network Solutions, Inc. | System and method for retrieving digital multimedia content from a network node |
KR100919761B1 (ko) * | 2004-03-10 | 2009-10-07 | 퀄컴 인코포레이티드 | 고 데이터 레이트 인터페이스 장치 및 방법 |
KR101245962B1 (ko) * | 2004-03-17 | 2013-03-21 | 퀄컴 인코포레이티드 | 고 데이터 레이트 인터페이스 장치 및 방법 |
EP1735988A1 (en) * | 2004-03-24 | 2006-12-27 | Qualcomm, Incorporated | High data rate interface apparatus and method |
JP4664360B2 (ja) * | 2004-06-04 | 2011-04-06 | クゥアルコム・インコーポレイテッド | 高速データレートインタフェース装置及び方法 |
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 |
DE602004028616D1 (de) * | 2004-09-16 | 2010-09-23 | Alcatel Usa Sourcing Lp | Abknallendmittel mit verbesserter Latenz |
US8692838B2 (en) | 2004-11-24 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
US8667363B2 (en) * | 2004-11-24 | 2014-03-04 | Qualcomm Incorporated | Systems and methods for implementing cyclic redundancy checks |
US8539119B2 (en) * | 2004-11-24 | 2013-09-17 | Qualcomm Incorporated | Methods and apparatus for exchanging messages having a digital data interface device message format |
US8873584B2 (en) * | 2004-11-24 | 2014-10-28 | Qualcomm Incorporated | Digital data interface device |
US8699330B2 (en) | 2004-11-24 | 2014-04-15 | Qualcomm Incorporated | Systems and methods for digital data transmission rate control |
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 |
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 |
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 (zh) * | 2004-12-24 | 2008-06-04 | 腾讯科技(深圳)有限公司 | 一种缓存流媒体数据的方法 |
JP2006211602A (ja) * | 2005-01-31 | 2006-08-10 | Toshiba Corp | データ送信機及びプログラム |
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 (de) * | 2005-11-10 | 2007-05-31 | Musictrace Gmbh | Vorrichtung und Verfahren zum Überwachen eines Datensenders |
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 |
US7881192B2 (en) * | 2006-01-13 | 2011-02-01 | Futurewei Technologies, Inc. | System for providing aggregate-rate communication services |
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 |
CN100591016C (zh) * | 2006-03-17 | 2010-02-17 | 华为技术有限公司 | 一种动态内容续传方法及系统 |
KR100848128B1 (ko) | 2006-04-24 | 2008-07-24 | 한국전자통신연구원 | 실시간 스트리밍 프로토콜을 이용한 프로그래시브 스트리밍방법 |
US7962637B2 (en) | 2006-11-03 | 2011-06-14 | Apple Computer, Inc. | Dynamic adjustments of video streams |
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 |
US8892761B1 (en) | 2008-04-04 | 2014-11-18 | Quickplay Media Inc. | Progressive download playback |
EP2177010B1 (en) | 2006-12-13 | 2015-10-28 | Quickplay Media Inc. | Mobile media platform |
US8537676B1 (en) * | 2007-07-09 | 2013-09-17 | Juniper Networks, Inc. | Rate limiting for DTCP message transport |
CN101547161B (zh) * | 2008-03-28 | 2012-09-26 | 阿里巴巴集团控股有限公司 | 文件夹传输系统、文件夹传输装置及文件夹传输方法 |
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 (ko) * | 2009-12-09 | 2011-06-15 | 삼성전자주식회사 | 멀티미디어 스트리밍 서비스를 지원하는 방법 및 장치 |
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 (ko) * | 2010-08-16 | 2012-06-11 | 삼성전자주식회사 | 광고 재생 방법 및 장치 |
JP5734788B2 (ja) * | 2011-08-19 | 2015-06-17 | 株式会社東芝 | 通信装置及びプログラム |
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 (zh) * | 2013-12-27 | 2017-04-05 | 高新兴科技集团股份有限公司 | 一种基于fifo的视频编码数据传输方法 |
KR20150086904A (ko) * | 2014-01-21 | 2015-07-29 | 한국전자통신연구원 | 적응적 데이터 스트림 관리 시스템 및 그의 제어 방법 |
US20160180804A1 (en) * | 2014-12-23 | 2016-06-23 | Intel Corporation | Refresh rate control using sink requests |
CN106302090B (zh) * | 2015-05-25 | 2019-10-22 | 阿里巴巴集团控股有限公司 | 一种消息处理方法、装置及系统 |
US10585623B2 (en) * | 2015-12-11 | 2020-03-10 | Vivante Corporation | Software defined FIFO buffer for multithreaded access |
EP3420698B1 (en) * | 2016-02-25 | 2020-09-23 | Telefonaktiebolaget LM Ericsson (PUBL) | Predicting multimedia session mos |
KR102340942B1 (ko) * | 2017-11-17 | 2021-12-17 | 엘지디스플레이 주식회사 | 영상 처리 방법 및 이를 이용한 표시장치 |
US11528192B2 (en) * | 2019-02-01 | 2022-12-13 | Hewlett Packard Enterprise Development Lp | Intelligent zero touch provisioning for IPV6 |
Citations (2)
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 |
US6230200B1 (en) * | 1997-09-08 | 2001-05-08 | Emc Corporation | Dynamic modeling for resource allocation in a file server |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0385570A (ja) | 1989-08-30 | 1991-04-10 | Toshiba Corp | 画像形成装置 |
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 |
DE69515153T2 (de) | 1994-09-08 | 2000-09-21 | International Business Machines Corp., Armonk | Netzwerkvideoanbietersystem |
DE69415179T2 (de) * | 1994-09-17 | 1999-07-22 | International Business Machines Corp., Armonk, N.Y. | Verfahren und vorrichtung zur regelung des datenstroms in einem zellbasierten kommunikationsnetz |
JPH08115306A (ja) | 1994-10-13 | 1996-05-07 | Matsushita Electric Ind Co Ltd | データ転送制御方法 |
US5687347A (en) | 1994-09-19 | 1997-11-11 | Matsushita Electric Industrial Co., Ltd. | Data providing device, file server device, and 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 (ja) | 1995-06-07 | 2001-07-09 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | マルチメディア直接アクセス記憶装置及びフォーマット方法 |
US5930493A (en) | 1995-06-07 | 1999-07-27 | International Business Machines Corporation | Multimedia server system and method for communicating multimedia information |
AU708139B2 (en) | 1995-07-21 | 1999-07-29 | Koninklijke Philips Electronics N.V. | Methods of transmitting and receiving compressed television signals |
JP3288213B2 (ja) | 1996-01-11 | 2002-06-04 | 日本電気株式会社 | サーバ |
AU730214B2 (en) | 1996-04-01 | 2001-03-01 | Avid Technology, Inc. | 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 (ja) | 1996-12-06 | 1998-06-26 | Hitachi Ltd | サーバ・クライアント方式 |
US5870134A (en) * | 1997-03-04 | 1999-02-09 | Com21, Inc. | CATV network and cable modem system having a wireless return path |
JP3832015B2 (ja) | 1997-04-04 | 2006-10-11 | 富士ゼロックス株式会社 | 複合機、サーバ及び複合機を有するネットワークシステム |
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 (sv) | 1999-05-06 | 2001-10-15 | Telia Ab | Förfarande och anordning för styrning av datafilöverföring |
JP2000322874A (ja) | 1999-05-10 | 2000-11-24 | Sony Corp | 情報・データ処理装置及び情報・データの再生方法およびビデオ編集装置およびコンピュータ読み取り可能な記録媒体およびシステム・オン・チップ型集積装置 |
JP2001094598A (ja) | 1999-09-20 | 2001-04-06 | Canon Inc | サーバ装置、サーバノード装置、クライアントノード装置及びネットワークシステム |
JP4596693B2 (ja) * | 2000-07-06 | 2010-12-08 | パナソニック株式会社 | ストリーミング方法およびそれを実行するシステム |
US7016970B2 (en) * | 2000-07-06 | 2006-03-21 | Matsushita Electric Industrial Co., Ltd. | System for transmitting stream data from server to client based on buffer and transmission capacities and delay time of the client |
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 |
US20030037100A1 (en) | 2000-07-17 | 2003-02-20 | 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 (ja) * | 2001-01-22 | 2002-08-02 | Sony Corp | 情報端末装置、ダウンロード制御方法およびコンピュータプログラム |
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 (ja) | 2001-07-18 | 2009-02-12 | 株式会社東芝 | サーバ・システム、クライアント・システム、ソフトウェアストリーミング方法及びプログラム |
US20050021830A1 (en) | 2001-09-21 | 2005-01-27 | Eduardo Urzaiz | Data communications method and system using buffer size to calculate transmission rate for congestion control |
JP2003122658A (ja) * | 2001-10-11 | 2003-04-25 | Hitachi Ltd | データ配送方法 |
JP2003153229A (ja) * | 2001-11-15 | 2003-05-23 | Mitsubishi Electric Corp | データ通信装置及びデータ通信方法 |
US20040168052A1 (en) * | 2003-02-25 | 2004-08-26 | Clisham Allister B. | Electronic content communication system and method |
-
2004
- 2004-04-19 US US10/553,533 patent/US7877439B2/en not_active Expired - Fee Related
- 2004-04-19 DE DE602004006981T patent/DE602004006981T2/de not_active Expired - Lifetime
- 2004-04-19 DE DE602004013567T patent/DE602004013567D1/de not_active Expired - Lifetime
- 2004-04-19 WO PCT/EP2004/050564 patent/WO2004093451A2/en active IP Right Grant
- 2004-04-19 KR KR1020057019615A patent/KR20060026010A/ko not_active Application Discontinuation
- 2004-04-19 JP JP2006505562A patent/JP2006523980A/ja active Pending
- 2004-04-19 EP EP04728185A patent/EP1614291B1/en not_active Expired - Fee Related
- 2004-04-19 US US10/553,665 patent/US9191702B2/en active Active
- 2004-04-19 EP EP04728189A patent/EP1614292B1/en not_active Expired - Fee Related
- 2004-04-19 KR KR1020057019617A patent/KR20060003349A/ko active IP Right Grant
- 2004-04-19 WO PCT/EP2004/050566 patent/WO2004093452A2/en active IP Right Grant
- 2004-04-19 JP JP2006505561A patent/JP4505450B2/ja not_active Expired - Fee Related
Patent Citations (2)
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 |
US6230200B1 (en) * | 1997-09-08 | 2001-05-08 | Emc Corporation | Dynamic modeling for resource allocation in a file server |
Non-Patent Citations (1)
Title |
---|
JPN6010007709, Schulzrinne, et. al., RFC 2326 "Real Time Streaming Protocol", 199804, 57−58,77−78ページ, IETF Network Working Group * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111742620A (zh) * | 2018-02-26 | 2020-10-02 | 昕诺飞控股有限公司 | 根据效果类型和/或用户偏好重新开始动态灯光效果 |
JP2021515362A (ja) * | 2018-02-26 | 2021-06-17 | シグニファイ ホールディング ビー ヴィSignify Holding B.V. | 効果のタイプ及び/又はユーザの好みに応じた動的光効果の再開 |
CN111742620B (zh) * | 2018-02-26 | 2023-08-01 | 昕诺飞控股有限公司 | 根据效果类型和/或用户偏好重新开始动态灯光效果 |
JP7335255B2 (ja) | 2018-02-26 | 2023-08-29 | シグニファイ ホールディング ビー ヴィ | 効果のタイプ及び/又はユーザの好みに応じた動的光効果の再開 |
Also Published As
Publication number | Publication date |
---|---|
US7877439B2 (en) | 2011-01-25 |
US9191702B2 (en) | 2015-11-17 |
DE602004006981D1 (de) | 2007-07-26 |
KR20060003349A (ko) | 2006-01-10 |
WO2004093452A2 (en) | 2004-10-28 |
WO2004093451A3 (en) | 2004-12-16 |
WO2004093451A2 (en) | 2004-10-28 |
US20060271982A1 (en) | 2006-11-30 |
EP1614292B1 (en) | 2008-05-07 |
DE602004013567D1 (de) | 2008-06-19 |
EP1614292A2 (en) | 2006-01-11 |
US20070143490A1 (en) | 2007-06-21 |
JP4505450B2 (ja) | 2010-07-21 |
WO2004093452A3 (en) | 2004-12-23 |
JP2006523979A (ja) | 2006-10-19 |
KR20060026010A (ko) | 2006-03-22 |
EP1614291A2 (en) | 2006-01-11 |
EP1614291B1 (en) | 2007-06-13 |
DE602004006981T2 (de) | 2008-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006523980A (ja) | データ要求装置、データ送信装置、およびそのプロセスならびに対応する製品 | |
US8356324B2 (en) | Implementing network personal video recorder for digital video settop boxes | |
EP1782248B1 (en) | Home network system with transmission error recovery | |
JP4690280B2 (ja) | メディアデータをストリーミングする方法、システム及びクライアント装置 | |
JP5373131B2 (ja) | リアルタイムデータの送信および受信 | |
EP1294193B1 (en) | Method and apparatus for changing received streaming content channels | |
US20040057446A1 (en) | Method for enabling packet transfer delay compensation in multimedia streaming | |
WO2006103567A2 (en) | Milestone synchronization in broadcast multimedia streams | |
AU2002231829A1 (en) | Method and system for buffering streamed data | |
KR20100068780A (ko) | 스트리밍 서비스에서 프리 디코더 버퍼의 오버플로우 방지 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070404 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100512 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100810 |