JP2002084339A - ストリーミング方法およびそれを実行するシステム - Google Patents
ストリーミング方法およびそれを実行するシステムInfo
- Publication number
- JP2002084339A JP2002084339A JP2001202147A JP2001202147A JP2002084339A JP 2002084339 A JP2002084339 A JP 2002084339A JP 2001202147 A JP2001202147 A JP 2001202147A JP 2001202147 A JP2001202147 A JP 2001202147A JP 2002084339 A JP2002084339 A JP 2002084339A
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- buffer
- server
- target amount
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000005540 biological transmission Effects 0.000 claims abstract description 210
- 239000000872 buffer Substances 0.000 claims abstract description 210
- 230000007704 transition Effects 0.000 claims abstract description 26
- 238000012546 transfer Methods 0.000 claims description 27
- 230000008859 change Effects 0.000 claims description 22
- 230000003247 decreasing effect Effects 0.000 claims description 17
- 230000007423 decrease Effects 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 7
- 230000002265 prevention Effects 0.000 abstract 1
- 238000004904 shortening Methods 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 26
- 230000005684 electric field Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 12
- 238000007906 compression Methods 0.000 description 9
- 230000006835 compression Effects 0.000 description 9
- 230000015556 catabolic process Effects 0.000 description 7
- 238000002360 preparation method Methods 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 5
- 101000969688 Homo sapiens Macrophage-expressed gene 1 protein Proteins 0.000 description 3
- 102100021285 Macrophage-expressed gene 1 protein Human genes 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010521 absorption reaction Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 101100096719 Arabidopsis thaliana SSL2 gene Proteins 0.000 description 1
- 101150113915 GET3 gene Proteins 0.000 description 1
- 101000629400 Homo sapiens Mesoderm-specific transcript homolog protein Proteins 0.000 description 1
- 102100026821 Mesoderm-specific transcript homolog protein Human genes 0.000 description 1
- 241000353097 Molva molva Species 0.000 description 1
- 101100366560 Panax ginseng SS10 gene Proteins 0.000 description 1
- 101100119193 Schizosaccharomyces pombe (strain 972 / ATCC 24843) eta2 gene Proteins 0.000 description 1
- 101100187186 Solanum lycopersicum LE16 gene Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 230000002123 temporal 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/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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234381—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 by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- 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/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/4402—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 reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440281—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 reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6373—Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Graphics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
いても、ネットワークの伝送能力が変動しても、ストリ
ーミング再生の破綻を回避することが可能であり、しか
も、ストリーミング再生の破綻回避と、頭出し時の待ち
時間短縮とを互いに両立させることができるようなスト
リーミング方法を提供する。 【解決手段】 端末は、自身のバッファ容量とネットワ
ークの伝送能力とに関連して、自身のバッファに蓄積す
べきストリームの目標量(S_target)を決定
し、また、バッファ容量を伝送能力で除して得られる値
を超えない範囲内で任意に、自身のバッファにストリー
ムの先頭データを書き込んでからそのデータを読み出し
て再生開始するまでの遅延時間(T_delay)を決
定して、それら目標量および遅延時間をサーバに通知す
る。サーバは、通知に基づき、端末のバッファ占有量
(Sum)が目標量の近傍で目標量を超えずに遷移する
ように、送信速度を制御する。
Description
法に関し、より特定的には、サーバが端末へインターネ
ットを通じてマルチメディアデータを送信し、かつ端末
がそのデータを受信しつつ再生するためのストリーミン
グ方法に関する。
式およびバッファモデルの説明)インターネットでの伝
送に使用されるマルチメディアデータには、動画、静止
画、音声、テキスト、およびそれらが多重化されたデー
タ等、さまざまな種類がある。動画では、H.263や
MPEG1、2、4といった符号化圧縮方式が著名であ
るし、静止画としてはJPEG、音声では、MPEGオ
ーディオ、G.729など枚挙にいとまがない。
っているので、動画および音声が伝伝送の対象となる。
ここでは、動画圧縮方式の代表であるMPEGビデオ、
中でも比較的仕組みが単純なMPEG1(ISO/IE
C 11172)ビデオや、MPEG2(ISO/IE
C 13818)ビデオについて説明する。
実現するために、主に次の2つの特徴を有している。一
つ目は、動画像データの圧縮において、従来から行われ
ていた空間周波数特性を用いた圧縮方式の他に、フレー
ム間での時間相関特性を用いた圧縮方式を取り入れたこ
とである。MPEGでは、ストリームを構成している各
フレーム(ピクチャとも呼ぶ)を、Iフレーム(フレー
ム内符号化ピクチャ)、Pフレーム(フレーム内符号化
と過去からの参照関係を使用したピクチャ)、Bフレー
ム(フレーム内符号化と過去および未来からの参照関係
を使用したピクチャ)の3種類に分類してデータ圧縮を
行う。これらの3種では、Iフレームが最も大きく(つ
まり情報量が最も多く)、次いでP、Bの順である。圧
縮アルゴリズムにも大きく依存するが、情報量の比は、
おおよそI:P:B=4:2:1程度となる。また一般
的に、MPEGビデオストリームは、15フレーム(=
1GOP)を単位として、1GOPについてIフレーム
が1枚、Pフレームが4枚、Bフレームが10枚の割合
で含まれている。
複雑さに応じた動的な符号量割り当てをピクチャ単位で
行える点である。MPEGのデコーダは、デコーダバッ
ファを備え、このデコーダバッファにデータを蓄積して
からデコードを行うことで、圧縮の難しい複雑な画像に
対して大量の符号量を割り当てることが可能になってい
る。MPEGに限らず動画圧縮では、標準的なデコーダ
バッファの容量を規格で定義する場合が殆どである。M
PEG1やMPEG2の場合、標準デコーダバッファ
は、規格で容量が224KByteと定義されており、
MPEGエンコーダは、この容量の範囲内でデコーダバ
ッファ占有量が遷移するようにピクチャデータを生成し
なければならない。
ミング方法を説明するための図である。図19(A)
は、ビデオフレームを示す図、図19(B)は、バッフ
ァ占有量の遷移を模式的に示した図、図19(C)は、
従来端末の構成例を示す図である。図19(C)におい
て、端末は、ビデオバッファと、ビデオデコーダと、
I,P並べ替えバッファと、スイッチとを備えている。
ビデオバッファが、前述のデコーダバッファに相当し、
転送されてくるデータは、ビデオバッファに蓄積された
後、ビデオデコーダによってデコードされる。デコード
されたデータは、I,P並べ替えバッファおよびスイッ
チを通じて再生時刻順に並べ替えられる。
有量(ビデオバッファのデータ蓄積量)を、横軸は時間
を示し、図中の太線がバッファ占有量の時間的遷移を示
している。また、太線の傾きは、ビデオのビットレート
に相当し、一定のレートでデータがバッファに入力され
ていることを示している。また、一定間隔(33.36
67msec)でバッファ占有量の削減が起こっている
が、これは、一定周期で各フレームのデータがデコード
されていくことによる。また、斜め点線と時間軸との交
点は、各ビデオフレーム内のデータがビデオバッファへ
向けて転送開始される時刻を示している。従って、図1
9(A)に示されたフレームXの転送開始時刻はt1、
フレームYの転送開始時刻はt2となる。
先頭フレームXがビデオバッファに入力開始される時刻
t1から、最初にデコードが実行される時刻(図中、太
線の第1の立ち下がり位置)までの時間を一般に、vb
v_delay時間と呼ぶ。最初のデコードは、ビデオ
バッファが満杯になった瞬間に実行されるので、vbv
_delay時間は、通常、データ入力開始から容量2
24KByteのビデオバッファが満杯になるまでの時
間であり、従って、ビデオの入力が開始されてから、デ
コーダを通じてビデオ再生が開始されるまでの初期遅延
時間(頭出し時の待ち時間)ということになる。
ある場合、図19(B)に示されているように、その符
号量が大量なので、フレームYのデコード時刻(図中の
t3)よりも早い時刻(図中のt2)から、ビデオバッ
ファへのデータ転送を開始しなければならない。ただ
し、どんなに複雑な画像でも、バッファを占有するピク
チャ量は、224KByteの許容範囲内である。
んと保たれるようにビデオバッファにデータが転送され
るならば、ビデオバッファのアンダーフローやオーバー
フローによるストリーミング破綻が起こらないことは、
MPEGの規格で保証されている。
ッファの説明)ところが、図20に示すように、サーバ
201と端末202とをネットワーク203で接続し、
ストレージ210中のMPEGデータを配信する場合、
生成モジュール211でパケットを生成する時間や、ネ
ットワーク機器204,205における転送手続き時
間、ネットワーク203の混雑などに伴なう伝送遅延時
間などのために、データの転送レートに揺れが生じる。
従って、実際には、図19(B)に示したバッファ遷移
が保たれないのが実情である。このような転送レートの
揺れ(ジッタ)を緩和吸収する方法としては、まず、ネ
ットワークの帯域に比べ十分小さい符号化レートのコン
テンツを流すことが考えられる。しかし、ネットワーク
資源をできる限り有効に使って高品位な映像や音声を提
供する必要があるので、この方法は適切ではない。そこ
で、一般には、ネットワーク機器204,205に、そ
れぞれ適当な容量の送受信バッファ206,207を設
け、普段からデータを多少先送り気味に転送しておい
て、データ転送に遅延が発生した時の不足を補う方法が
採用される。
7を設けるということは、結局、図19(B)のバッフ
ァ遷移において、バッファ占有量の上限を、デコーダバ
ッファ208の規格である224KByteから受信バ
ッファ207による蓄積量の分だけかさ上げするのとお
おむね等価である。図21(A),(B)に、受信バッ
ファ297を追加する前後のバッファ占有量を並べて示
す。なお、図21(A)に示されているのは、図19
(B)と同一のバッファ遷移である。
ファ遷移の許容範囲が拡がり、その結果、図19(B)
のバッファ遷移、すなわち図21(A)のバッファ遷移
は、図21(B)のようになって、ネットワークの転送
レートが低下しても、アンダーフローを回避することが
可能となる。反面、vbv_delay時間が、受信バ
ッファ207による蓄積量に相当する時間だけ長くな
り、デコーダ209でのデコード開始および再生装置2
12での再生開始が遅れる。つまり、頭出し時間が、受
信バッファ207へのデータ蓄積にかかる時間の分だけ
長くなる。
に、小規模LANなどの信頼性や伝送速度の保証された
ネットワーク環境において、MPEG等のマルチメディ
アデータをストリーミング再生する場合には、基本的
に、コーデックの規格で定められた再生初期遅延時間
(vbv_delay)やデコーダバッファ遷移をきち
んと遵守するようなシステム設計になってさえいれば、
デコーダバッファのアンダーフローやオーバーフローが
起こってストリーミング再生が破綻をきたすことはな
い。
ネットワーク環境においては、通信経路の伝送特性変動
に伴なう転送ジッタが無視できないほど大きいため、従
来の端末202は、コーデックの規格で定められたデコ
ーダバッファ(vbvバッファ)に加えて、図20の受
信バッファ207のような、転送ジッタ吸収のためのバ
ッファを持つ場合が多い。このとき、次のような課題が
存在する。
の容量は、一般に、機種によって様々である。そのた
め、同じデータを同じ条件下で配信しても、バッファ容
量の多い機種ではストリーミング再生を破綻なく行える
が、少ない機種では、ジッタを吸収しきれずに破綻する
場合があった。
搭載メモリ量を増やして、ジッタ吸収用のバッファ容量
を十分確保すればよい。しかしながら、搭載メモリ量
は、端末の価格を決める主な要因の一つであり、可能な
限り少なく抑えたい要求がある。加えて、ジッタ吸収用
のバッファ容量が多すぎると、再生開始までの頭出し時
間が長くなって、ユーザにいらだちを感じさせてしまう
という新たな問題が発生する。
ファ容量が機種によって異なっていても、ネットワーク
の伝送能力が変動しても、バッファのアンダーフローや
オーバーフローによるストリーミング再生の破綻を回避
することが可能であり、しかも、ストリーミング再生の
破綻回避と、頭出し時の待ち時間短縮とを互いに両立さ
せることができるようなストリーミング方法を提供する
ことである。
発明は、サーバが端末へネットワークを通じてストリー
ムデータを送信し、かつ端末が当該ストリームデータを
受信しつつ再生するストリーミング方法であって、端末
が、自身のバッファ容量とネットワークの伝送能力とに
関連して、自身のバッファに蓄積すべきストリームデー
タの目標量を決定する目標量決定ステップ、当該バッフ
ァ容量を当該伝送能力で除して得られる値を超えない範
囲内で任意に、端末が、自身のバッファにストリームの
先頭データを書き込んでから当該データを読み出して再
生開始するまでの遅延時間を決定する遅延時間決定ステ
ップ、決定した目標時間および遅延時間を、端末がサー
バに通知するステップ、サーバが端末へネットワークを
通じてストリームデータを送信する際に、通知された目
標量および遅延時間に基づいて送信速度を制御する制御
ステップを備える。
ファ容量とネットワークの伝送能力とに応じた目標量を
決定し、さらに、バッファ容量を伝送能力で除して得ら
れる値を超えない範囲内で、遅延時間を決定する。サー
バは、こうして端末が決定した目標量および遅延時間に
基づいて送信速度を制御するので、端末のバッファ容量
が機種によって異なっていても、ネットワークの伝送能
力が変動しても、バッファ量および伝送能力に応じた送
信速度制御が行え、その結果、バッファのアンダーフロ
ーやオーバーフローによるストリーミング再生の破綻を
回避することが可能となる。しかも、目標量とは独立に
遅延時間が決定されるので、ストリーミング再生の破綻
回避と、頭出し時の待ち時間短縮とを互いに両立させる
ことができる。
能力で除して得られる値以下に制限されるのは、遅延時
間がこの値を超えると、ストリーミング再生の破綻が起
こる恐れがあるためである。この値を超えない範囲であ
れば、遅延時間をどのような値に決めてもよい。ただ
し、値を決める際には、伝送能力の変動に対する耐性
と、頭出し時の待ち時間との間のバランスが考慮され
る。
ステップにおいて、サーバは、端末のバッファに蓄積さ
れているストリームデータの量が、当該目標量の近傍に
おいて当該目標量を超えることなく遷移するように、当
該送信速度を制御することを特徴とする。
傍において目標量を超えることなく遷移するので、バッ
ファのアンダーフローやオーバーフローが起こりにく
い。
ステップにおいて、サーバは、当該送信速度と、当該遅
延時間と、端末がストリームデータをデコードする速度
とに基づいて、端末のバッファに蓄積されるストリーム
データの量を予測算出することを特徴とする。
測算出して、その量に基づいて送信速度制御を行うの
で、蓄積量を目標量の近傍で目標量を超えないように遷
移させることができる。
知し、サーバは、通知に基づいて送信速度制御を行って
もよい。しかし、この場合、端末からサーバへの情報伝
達に時間がかかるので、サーバは、過去の蓄積量に基づ
いて送信速度制御を行うことになる。そのため、蓄積量
を目標量の近傍で目標量を超えないように遷移させるこ
とができるとは限らない。
が、ネットワークの伝送能力が所定の閾値を跨いで変化
したことを検出する検出ステップ、検出ステップでの検
出結果に応じて、端末が当該目標量を変更する目標量変
更ステップ、および変更後の目標量を、端末がサーバに
通知するステップをさらに備え、制御ステップにおい
て、サーバは、変更後の目標量の通知を受けると、端末
のバッファに蓄積されるストリームデータの量が、当該
変更後の目標量の近傍において当該変更後の目標量を超
えることなく遷移するように、当該送信速度を制御する
ことを特徴とする。
いで変化すると、端末によって目標量が変更される。サ
ーバは、変更後の目標量の近傍において変更後の目標量
を超えることなく遷移するように送信速度を制御して、
目標量の変更に追従する。
ステップでネットワークの伝送能力が第1の閾値を跨い
で低下したことを検出すると、端末は、目標量変更ステ
ップにおいて、当該目標量を増加させる向きに変更し、
制御ステップにおいて、サーバは、当該目標量が増加さ
れたのに応じて、当該送信速度を上昇させる向きに制御
することを特徴とする。
値を跨いで変化すると、端末によって目標量が増加され
る。サーバは、送信速度を上昇させることにより、目標
量の増加に追従する。
第1の閾値は、実現可能な最大の伝送能力と、ストリー
ムデータの転送ロスが発生し始めるような伝送能力との
略中間の値であることを特徴とする。
つあるとき、ストリームデータの転送ロスが発生し始め
る前に、送信速度を上昇させて蓄積量を増やしておく。
これにより、伝送能力の低下が進行したときに、ストリ
ーミング再生が破綻するのを防ぐことができる。
ステップでネットワークの伝送能力が当該第1の閾値よ
り小さい第2の閾値を跨いで低下したことを検出する
と、端末は、目標量変更ステップにおいて、当該目標量
を減少させる向きに変更し、制御ステップにおいて、サ
ーバは、当該目標量が減少方向に変更されたのに応じ
て、当該送信速度を低下させる向きに制御することを特
徴とする。
値を跨いで変化すると、端末によって目標量が減少され
る。サーバは、送信速度を低下させることにより、目標
量の減少に追従する。
第2の閾値は、ストリームデータの転送ロスが発生し始
めるような伝送能力と対応する値であることを特徴とす
る。
行して、ストリームデータの転送ロスが発生し始める
と、一転、送信速度を低下させる。失われたデータの再
送処理を妨害しないためである。
バは、低下幅に応じた頻度でフレームの送信をスキップ
しなければならない。フレームがスキップされると、端
末が再生して得られる映像や音声の品位劣化が起こる。
この品位劣化を抑えるために、下記第9の発明では、ス
キップされるフレームとして、再生時刻に間に合わない
フレームが選択される。下記第10の発明では、スキッ
プされるフレームとして、重要度の低いフレームと、重
要度は高いが再生時刻に間に合わないようなフレームと
が選択される。
量変更ステップにおいて、端末が当該目標量を減少させ
る向きに変更すると、制御ステップにおいて、サーバ
は、送信しようとするストリームを構成する各フレーム
の再生時刻を現在時刻と逐次比較して、再生時刻が現在
時刻よりも古いフレームの送信をスキップし、それよっ
て当該送信速度を低下方向に制御することを特徴とす
る。
わないフレームが選択的にスキップされるので、無作為
的にスキップするのと比べて、送信速度の低下による品
位劣化を少なく抑えることができる。
標量変更ステップにおいて、端末が当該目標量を減少さ
せる向きに変更すると、制御ステップにおいて、サーバ
は、送信しようとするストリームを構成する各フレーム
の重要度を基準値と逐次比較して、重要度が基準値未満
であるフレームについては、全て送信をスキップし、重
要度が基準値以上であるフレームについては、それぞれ
の再生時刻を現在時刻と逐次比較して、再生時刻が現在
時刻よりも古いものだけ送信をスキップし、それによっ
て当該送信速度を低下方向に制御することを特徴とす
る。
ームと、重要度は高いが再生時刻に間に合わないような
フレームとが選択的にスキップされるので、無作為的に
スキップするのと比べて、送信速度の低下による品位劣
化を少なく抑えることができる。
すべきフレームを選択する際に再生時刻に間に合うか否
かに加えて重要度をも考慮する方法は、典型的には、M
PEGによる映像フレームに対して用いられる。この場
合、送信速度を低下させるとき、PやBのフレームが重
要度の低いフレームとしてスキップされる一方、Iフレ
ームは、重要度の高いフレームとして、再生時刻に間に
合わない場合を除いてスキップされることがないので、
送信速度低下による再生画像の品位劣化が最小限に抑え
られる。なお、MPEGによる音声フレームの場合、フ
レーム間に重要度の違いがないので、再生時刻に間に合
うか否かだけを考慮すればよい。
トリームデータを送信するサーバと、当該ストリームデ
ータを受信しつつ再生する端末とからなるシステムであ
って、端末は、自身のバッファ容量とネットワークの伝
送能力とに関連して、自身のバッファに蓄積すべきスト
リームデータの目標量を決定する目標量決定手段、当該
バッファ容量を当該伝送能力で除して得られる値を超え
ない範囲内で任意に、自身のバッファにストリームの先
頭データを書き込んでから当該データを読み出して再生
開始するまでの遅延時間を決定する遅延時間決定手段、
および決定した目標時間および遅延時間をサーバに通知
する手段を備え、サーバは、端末へネットワークを通じ
てストリームデータを送信する際に、通知された目標量
および遅延時間に基づいて送信速度を制御する制御手段
を備える。
トリームデータを送信するサーバと共に用いられ、当該
ストリームデータを受信しつつ再生する端末であって、
サーバには、端末へネットワークを通じてストリームデ
ータを送信する際に、通知された目標量および遅延時間
に基づいて送信速度を制御する制御手段が備わり、自身
のバッファ容量とネットワークの伝送能力とに関連し
て、自身のバッファに蓄積すべきストリームデータの目
標量を決定する目標量決定手段、当該バッファ容量を当
該伝送能力で除して得られる値を超えない範囲内で任意
に、自身のバッファにストリームの先頭データを書き込
んでから当該データを読み出して再生開始するまでの遅
延時間を決定する遅延時間決定手段、および決定した目
標時間および遅延時間をサーバに通知する手段を備え
る。
しつつ再生する端末と共に用いられ、ネットワークを通
じて当該ストリームデータを送信するサーバであって、
端末には、自身のバッファ容量とネットワークの伝送能
力とに関連して、自身のバッファに蓄積すべきストリー
ムデータの目標量を決定する目標量決定手段、当該バッ
ファ容量を当該伝送能力で除して得られる値を超えない
範囲内で任意に、自身のバッファにストリームの先頭デ
ータを書き込んでから当該データを読み出して再生開始
するまでの遅延時間を決定する遅延時間決定手段、およ
び決定した目標時間および遅延時間をサーバに通知する
手段が備わり、端末へネットワークを通じてストリーム
データを送信する際に、通知された目標量および遅延時
間に基づいて送信速度を制御する制御手段を備え、制御
手段は、端末のバッファに蓄積されているストリームデ
ータの量が、当該目標量の近傍において当該目標量を超
えることなく遷移するように、当該送信速度を制御する
ことを特徴とする。
ストリーミング方法を記述したプログラムである。
なプログラムを記録した記録媒体である。
て、図面を参照しながら説明する。図1は、本発明の一
実施形態に係るストリーミング方法を実行するサーバ・
クライアント・システムの構成例を示すブロック図であ
る。図1において、本システムは、サーバ101と、そ
のクライアントとして動作する端末102とを備えてい
る。サーバ101側には、映像や音声のデータが蓄積さ
れている。このデータは、MPEGによって符号化圧縮
されたデータである。サーバ101は、端末102から
の要求に応じ、蓄積しているデータをパケット化してス
トリームを生成する。そして、ネットワーク103を通
じ、生成したストリームを端末102に送信する。端末
102は、サーバ101から送信されるストリームを受
信してデコードし、得られた映像や音声を表示出力す
る。
ブロック図である。図2において、サーバ101は、蓄
積デバイス411と、送受信モジュール402と、生成
モジュール405と、RAM404と、CPU412
と、ROM413とを備えている。蓄積デバイス411
には、映像や音声のデータが蓄積されている。この蓄積
デバイス411内のデータが生成モジュール405に与
えられる。生成モジュール405は、読み出しバッファ
407と、パケット生成回路406と、パケット生成バ
ッファ408とを含み、与えられるデータをパケット化
してストリームを生成する。
コントローラ410と、送信バッファ409とを含み、
生成モジュール405によって生成されたストリームを
端末102へ、ネットワーク103経由で送信する。ま
た、端末102からネットワーク103経由で送信され
てくる情報を受信する。
た端末102からの情報は、RAM404に書き込まれ
る。ROM413には、サーバ制御プログラムが格納さ
れており、CPU412は、RAM404に記憶されて
いる端末からの情報を参照しつつROM413内のプロ
グラムを実行し、それによって、送受信モジュール40
2および生成モジュール405の制御を行う。なお、こ
こではプログラムがROM413に格納されているとし
たが、ROM以外の記憶媒体、例えばハードディスクや
CD−ROM等に格納されていてもよい。
ロック図である。図3において、端末102は、送受信
モジュール507と、再生モジュール510と、表示デ
バイス511と、ROM502と、CPU503とを備
えている。送受信モジュール507は、ネットワークコ
ントローラ506と、受信バッファ505とを含み、サ
ーバ101からネットワーク103経由で送信されてく
るストリームを受信する。また、CPU503からの情
報をサーバ101へ、ネットワーク103経由で送信す
る。
たストリームが、再生モジュール510に入力される。
再生モジュール510は、デコーダバッファ508と、
デコーダ509とを含み、入力されるストリームをデコ
ードして再生する。再生モジュール510により再生さ
れたデータが表示デバイス511に与えられ、表示デバ
イス511は、そのデータを映像に変換して表示する。
格納されており、CPU503は、ROM502内のプ
ログラムを実行し、それによって、送受信モジュール5
07、再生モジュール510および表示デバイス511
の制御を行う。
を、以下に説明する。図4は、図1のシステムの全体動
作を説明するためのシーケンス図である。図4には、サ
ーバ101側の送受信層および制御層と、端末102側
の送受信層および制御層とが示されており、これら各層
の間でやりとりされるコマンドやストリームが時系列的
に並べられている。
て、図4を用いて説明する。図4において、最初、端末
102からサーバ101へ、コマンド”SETUP”が
送信される。サーバ101では、”SETUP”に応じ
て初期設定が行われ、設定が完了すると、サーバ101
から端末102へ、”OK”が応答される。
と、端末102からサーバ101へ、コマンド”PLA
Y”が送信される。サーバ101では、送信準備が行わ
れ、準備が完了すると、サーバ101から端末102
へ、”OK”が応答される。
と、端末102は、ストリームを待ち受ける態勢へと移
行する。この”OK”の応答に引き続いて、サーバ10
1は、ストリームの送信を開始する。
コマンド”TEARDOWN”が送信され、サーバ10
1は、”TEARDOWN”に応じてストリーム送信を
終了する。送信が終了されると、サーバ101から端末
102へ、”OK”が応答される。サーバ101から”
OK”が返ってくると、端末102は、ストリーム待ち
受け態勢から脱する。
あり、上で説明した限りでは、本システムの動作は、従
来と同様である。本システムの動作が従来と異なるの
は、次の(1)および(2)の2点である。 (1)端末102からサーバ101へのコマンド”SE
TUP”にパラメータ”S_target”および”T
_delay”が添付されており、サーバ101は、ス
トリームを送信する際、これらのパラメータに基づいて
送信速度を制御する。
t”は、端末102がバッファに蓄積するデータ量の目
標値であり、その端末102に備わるバッファ(図3の
例では、受信バッファ505およびデコーダバッファ5
08)の総容量(”S_max”)と、ネットワーク1
03の伝送能力とに基づいて決定される。従って、”S
_target”は、一般に、端末102の機種によっ
て値が異なる。
が先頭データをバッファに書き込んでから、そのデータ
を読み出してデコードを開始するまでの時間(つまり頭
出し遅延時間)であり、”S_target”を送信速
度(後述)で除して得られる値を最大値として、その最
大値を超えない範囲内で任意の値に決定される。すなわ
ち、「”S_target”を送信速度で除して得られ
る値を超えない範囲内で」という条件が付くものの、端
末102は、”S_target”とは独立に”T_d
elay”を決めることができる。
る情報の量をいい、例えば、単位時間に送信するパケッ
トの個数が決められている場合、各パケットに詰め込む
データの量を増減させることによって、送信速度を制御
することができる。また、各パケットに詰め込むデータ
の量が決められている場合、パケットと次のパケットと
の時間的な間隔を伸縮させることによって、送信速度を
制御することができる。あるいは、両方を同時に行う
(すなわち、各パケットに詰め込むデータの量を増減さ
せ、かつパケットと次のパケットとの時間的な間隔を伸
縮させる)ことによっても、送信速度を制御することが
できる。本実施形態では、各パケットに詰め込むデータ
の量を増減させることにより速度制御を行うものとす
る。
中、必要に応じて”S_target”を変更すること
ができる。この場合、変更後の”S_target”が
端末102からサーバ101に通知され、以降、サーバ
101は、変更後の”S_target”に基づいて送
信速度を制御する。
t”の変更は、ネットワーク103の伝送能力の変動に
応じて行われる。具体的には、端末102が携帯電話の
場合、電界強度(例えば「強・中・弱・圏外」の4段階
の強度)を検知することができるので、この電界強度の
変化を「ネットワーク103の伝送能力の変動」と見な
して、”S_target”を変化させる。例えば、電
界強度が「強」から「中」に変化すると、端末102
は、”S_target”の値をより大きな値に変更
し、「中」から「弱」に変化すると、”S_targe
t”の値をより小さな値に変更する。本システムの動作
が従来と異なるのは、主として上の2点である。
細に説明する。図4において、端末102は、ストリー
ム再生を開始するのに先立ち、端末制御プログラムに従
ってCPU503がROM502より端末に固有のパラ
メータ群を抽出する。このパラメータ群中には、受信バ
ッファ505とデコーダバッファ508とを合わせた総
容量(端末102が実際に蓄積できる最大データ量)S
_maxが含まれる。一方、CPU503は、ストリー
ム再生補助データなどの事前入手の手続きによって、受
信したいストリームデータの符号化圧縮レートVrや、
ビデオないしオーディオのフレーム発生周期Tfrmを
知っているものとする。また、CPU503は、ネット
ワークインターフェースを通じ、ネットワーク103の
伝送能力、たとえば携帯電話における受信電波強度や、
通信速度(PHSの場合では64Kbps接続ないし3
2Kbps接続などの情報)も検出しているものとす
る。
r、Tfrm、ネットワーク103の伝送能力(例えば
有効転送速度=networkRate)などをもと
に、端末102内のバッファにどれだけのデータを蓄積
するかを示す目標量S_target、およびストリー
ム再生を始めるまでのプレバッファリング時間(すなわ
ち頭出し遅延時間)T_delayを決定する。
は、今から開始するストリーミング再生において、S_
target近傍かつそれを越えないように端末の蓄積
バッファ量が遷移すれば、途切れなく正常にストリーミ
ング再生が持続できるような基準値のことである。前述
のように、T_delayが大きいと頭出し遅延時間が
長くなるが、ネットワーク103の転送ジッタに対して
は強くなる。しかし、遅延時間があまり長いとサービス
仕様として不適切なので、T_delayを決める際に
は、転送ジッタに対する耐性と、頭出し時の待ち時間と
の間のバランスをとる配慮が必要である。
T_delayと併せて、端末102内のバッファにデ
ータを何バイトまで充填したらデコードを開始するかと
いう充填量S_delayを決定してもよい。端末10
2がS_delayのみを決定してサーバ101に通知
する場合は、サーバ101側でT_delay=S_d
elay/networkRateなる式を用いて、S
_delayをT_delayに換算することが可能で
ある。また、S_delayの値は、バッファ総量S_
maxに対する充填率rS(%)であってもよい(この
場合、換算式は、S_delay=S_max*rS/
100となる)。
delay(および/またはS_delay)とを準備
すると、図4に示されているように、サーバ101に対
し、ストリーム配信の準備を促すSETUPコマンドを
発行する。SETUPコマンド中には、引数としてS_
targetと、T_delay(および/またはS_
delay)とが含まれている。サーバ101は、SE
TUPを受信すると、引数をRAM404に記憶して、
ストリーム配信のための初期設定を行う。具体的には、
サーバ101のCPU412が、最初メモリ404から
引数を取り出し、次いで、たとえばストリームのソース
ファイルを蓄積デバイス411から読み出してバッファ
407に書き込む操作と、読み出したデータをパケット
化するパケット生成回路406のパラメータ設定とを行
う。なお、パケット生成回路406は、必ずしも専用の
ハードウエアである必要はなく、サーバ101(例えば
ワークステーションなどで実現される)のCPU412
に同様のパケット化処理を実行させるプログラム(ソフ
トウエアアルゴリズム)であってもよい。
y(および/またはS_delay)との2つの値も、
パケット生成回路406に引き渡される。パケット生成
回路406では、これらの値を用いて最適なレート制御
パラメータの算出が行われ、その結果、端末102への
ストリーム配信に適したレートでパケットが生成、送出
されるようになる。ネットワーク103中にパケットを
送出する準備が正常に完了すると、図4のように、送受
信層から制御層にOKが返り、次いで、端末102へ向
けてSETUPコマンドに対するOKが返る。こうし
て、本システムにおいて、ストリーム配信準備が完了す
る。
し、ストリーム配信の開始を促すPLAYコマンドを発
行する。サーバ101は、PLAYを受信すると、スト
リームデータの配信を開始する。端末102は、サーバ
101からのストリームデータを受信して蓄積する。そ
して、蓄積開始から前述のプレバッファリング時間(T
_delay)が経過したのちに、ストリームデータの
デコード、再生を開始する。このときストリーム配信
は、SETUP時に設定された適切なレート制御パラメ
ータに基づいてなされていることはいうまでもない。
よりサーバ101に対し、TEARDOWNコマンドが
発行される。サーバ101は、TEARDOWNを受信
すると、ストリーム配信の終了処理を行い、全手続きを
完了させる。以上が、本システムの具体的な動作例であ
る。
に説明する。端末102は、インターネットに接続可能
な携帯電話であり、電界強度(受信電波強度)を検知す
る機能を持っているとする。図5は、図1の端末102
の動作を示すフローチャートである。図5において、最
初、端末102は、2つのパラメータS_target
およびT_delayの値を決定する(ステップS10
1)。
を具体的に説明する。図6は、図3のROM502の記
憶内容を示す図である。図6に示すように、ROM50
2内には、端末制御プログラムと、電界強度およびS_
targetが互いに対応付けて記載されたテーブル6
01と、パラメータT_delayの値とが記憶され
る。パラメータS_targetの値としては、電界強
度「強」と対応するS_target1、「中」と対応
するS_target2、「弱/圏外」と対応するS_
target3の3つの値が記憶されている。一方、パ
ラメータT_delayの値は、1つだけが記憶されて
いる。
次の関係を満たすように決められる。 S_target3<S_target1<S_tar
get2≦S_max 一方、値T_delayは、値S_maxをネットワー
ク103の実効的な伝送能力で除して得られる値を超え
ないように決められる。
であれば、S_target1=256(KB),S_
target2=384(KB),S_target3
=128(KB)などのように決められる。また、ネッ
トワーク103の実効的な伝送能力を384(Kbp
s)すなわち48(KB/sec)とすると、T_de
layは、512÷48≒10.7(秒)を超えない範
囲で、任意の値(例えば4秒や3秒など)に決定され
る。
から、初期値としてのS_target1と、値T_d
elayとが読み出される。
と、T_delayの値とが予め計算されてROM50
2に記憶されており、CPU503は、必要な値をRO
M502から読み出すようにしているが、代わりに、バ
ッファの総容量と、ネットワーク103の実効的な伝送
能力と、S_targetおよびT_delayの値を
計算するためのプログラムとをROM502に記憶して
おいてもよい。この場合、CPU503は、必要があれ
ば、その都度、ROM502から容量、速度およびプロ
グラムを読み出して、S_targetおよびT_de
layの値を計算する。また、ここでは、T_dela
yの値が1つだけであるが、複数の値を準備しておい
て、その中から選択してもよい。以上がステップS10
1の処理内容である。
プS101で決定されたS_targetおよびT_d
elayをSETUPコマンドに添付して、サーバ10
1へ向けて送信する(ステップS102)。応じて、サ
ーバ101からストリームが送られてくる。ストリーム
送信の際、サーバ101は、端末から通知されたS_t
argetおよびT_delayに基づく送信速度制御
を実行する(サーバ側の動作ついては後述)。
られてくるストリームを受信して、バッファに書き込む
動作を開始する(ステップS103)。具体的には、図
3に示されているように、ネットワーク103を通じて
送られてくるストリームは、まずネットワークコントロ
ーラ506を経由して受信バッファ505に書き込まれ
る。時間が経過して受信バッファ505が満杯になる
と、受信バッファ505内のストリームが先頭データか
ら順番に読み出されて、デコーダバッファ508へと書
き込まれていく。
から時間がT_delayだけ経過したか否かを判定し
(ステップS104)、その判定結果が否定であれば、
肯定となるまで待機する。ステップS104の判定結果
が肯定となると、端末102は、バッファからストリー
ムを読み出してデコード・再生する動作を開始する(ス
テップS105)。具体的には、図3において、CPU
503がバッファリング開始からの経過時間を計測して
おり、その計測結果がROM502内のT_delay
と一致した瞬間、再生モジュール510に命じて、デコ
ーダバッファ508内のストリームを先頭データから順
番に読み出してデコーダ509に入力する処理を開始さ
せる。
の伝送能力が閾値を跨いで変化したか否かを判定する
(ステップS106)。この判定は、具体的には、次の
ようにして行われる。例えば、ネットワーク103を管
理するホストコンピュータ(図示せず)が、ネットワー
ク103の伝送能力に関する情報をネットワーク103
経由で端末102に随時配信するようにし、端末102
は、ホストコンピュータからの情報をもとに変化の有無
を判定する。
に、伝送能力に関する情報が送受信モジュール507を
通じてCPU503へと送られる。ROM502には、
予め閾値が格納されており、CPU503は、送られて
きた情報と、保持している前回の情報と、ROM502
内の閾値とを互いに比較することにより、伝送能力が閾
値を跨いで変化したか否かを判定することができる。
ストコンピュータがその伝送能力に関する情報を端末1
02に配信する機能を持たない場合、端末102は、例
えば、次のようにして自ら判定を行うことができる。す
なわち、端末102が携帯電話の場合、図7(後述)に
示すように、周囲の電界強度を検知して、検知結果を
「強・中・弱・圏外」のように表示する機能を持ってい
る。この電界強度の変化をネットワーク103の伝送能
力の変化と見なせば、端末102は、検出を簡単に行え
ることになる。
合、端末102は、新たなS_targetを決定し
(ステップS107)、それをサーバ101へ向けて送
信する(ステップS108)。一方、ステップS106
の判定結果が否定の場合、ステップS107,S108
をスキップして、ステップS109(後述)を実行す
る。
ップS107の処理内容について、詳しく説明する。以
下では、端末102が携帯電話であり、電界強度の変化
に応じてS_targetを変更する場合を説明する。
図7は、あるエリアにおける電界強度の分布と、端末の
移動に伴う伝送能力の変化とを示す模式図である。図7
(A)には、3つの中継局B1〜B3を含むエリアにお
ける電界強度分布が示されている。図7(A)におい
て、各中継局B1〜B3を中心とする同心円が、互いに
等しい電界強度の点を繋いでできる等電界曲線である。
では、電界強度が「強」であり、この同心円703から
次の同心円704までの間の領域では「中」となる。さ
らに、同心円704から同心円705までの間では
「弱」、同心円705の外側の領域では「圏外」とな
る。ただし、各中継局を中心とする同心円は、一部が互
いに交差しており、電界強度が「圏外」となる領域は、
わずかしかない。
る経路に沿って、中継局B1の近傍から中継B2の近傍
へ移動しようとしている。図7(B)には、図7(A)
の矢印702に沿った電界強度(これをネットワーク1
03の伝送能力と見なすことができる)が示されてい
る。図7(B)に示されているように、電界強度は、端
末102が中継局の近傍にあるとき「強」であり、中継
局B1から離れるにつれて「中」、「弱」、「圏外」の
ようにだんだん弱くなっていく。そして、中継局B1の
「圏外」となった直後、端末102は、中継局B2の
「圏内」に入り、電波強度が「弱」、「中」、「強」の
ようにだんだん強くなっていく。
強度が「強」から「中」へと変化した瞬間、ネットワー
ク103の伝送能力が閾値Aを跨いで変化したと判定し
て、新たなS_targetを決定し、「中」から
「弱」へと変化した瞬間、伝送能力が閾値Bを跨いで変
化したと判定して、新たなS_targetを決定す
る。逆に、「弱」から「中」へと変化した瞬間、伝送能
力が閾値Bを跨いで変化したと判定して、新たなS_t
argetを決定し、「中」から「強」へと変化した瞬
間、伝送能力が閾値Aを跨いで変化したと判定して、新
たなS_targetを決定する。
ク103において実現可能な最大の伝送能力と、ストリ
ームの転送ロスが発生し始めるような伝送能力との略中
間の値である。閾値Bは、ストリームの転送ロスが発生
し始めるような伝送能力と対応する値である。
内のテーブル601(図6)を参照することにより、次
のように決定される。図8は、図5のステップS107
の詳細を示すフローチャートである。図8において、端
末102は、最初、変化後の電界強度が「強」か否かを
判定し(ステップS201)、判定結果が肯定であれ
ば、新たなS_targetをS_target1に決
定する(ステップS202)。ステップS201の判定
結果が否定あれば、ステップS202をジャンプして、
ステップS203に進む。
「中」か否かを判定し(ステップS203)、判定結果
が肯定であれば、新たなS_targetをS_tar
get2に決定する(ステップS204)。ステップS
203の判定結果が否定であれば、ステップS204を
ジャンプして、ステップS205に進む。
「弱/圏外」か否かを判定し(ステップS205)、判
定結果が肯定であれば、新たなS_targetをS_
target3に決定し(ステップS206)、その
後、図5のフローに戻る。ステップS205の判定結果
が否定であれば、ステップS206をジャンプして、図
5のフローに戻る。
端末102が移動して行く場合、電界強度の変化に伴っ
て、端末102は、パラメータS_targetの値
を、S_target1→S_target2→S_t
arget3→S_target2→S_target
1のように変化させる。具体例を挙げれば、256(K
B)→384(KB)→128(KB)→384(K
B)→128(KB)のように変化させる。以上が、ス
テップS106およびステップS107の具体的な処理
例である。
末102が新たなS_targetをサーバ101へ向
けて送信すると、それに応じて、サーバ101は、パラ
メータS_targetの値を、端末102から新たに
通知された値に変更して、送信速度制御を続行する。
を終了するか否かを判断し(ステップS109)、終了
する場合は、サーバ101へコマンドTEARDOWN
を送信すると共に、ストリームの受信およびバッファリ
ングを停止し(ステップS110)、次いで、再生処理
を停止する(ステップS111)。一方、ストリーミン
グ再生を継続する場合には、端末102は、ステップS
106に戻って、上記と同様の処理を繰り返す。以上
が、端末102の動作である。
説明する。なお、ここでは説明を簡単にするために、サ
ーバ101は、MPEG1ビデオ(ISO/IEC 1
1172−2)、MPEG2ビデオ(ISO/IEC
13818−2)、あるいはMPEG2−AACオーデ
ィオ(ISO/IEC 13818−7)のような、固
定周期Tfrmでフレームを発生させる符号化圧縮アル
ゴリズムを用いて符号化を行い、かつ、固定周期Tsで
符号化データのパケット化を行うものとする。このパケ
ット化は、フレーム単位で行われるものとする。
速度制御の概要について、図9〜図11を用いて説明す
る。図9〜図11は、サーバ101が行うストリーム送
信速度制御によって、端末102のバッファに蓄積され
ているデータ量(バッファ占有量)がどのように遷移す
るかを示す図である。サーバ101は、送信先の端末1
02において、バッファ占有量が図9〜図11に示され
ているごとく遷移するように、ストリームの送信速度を
制御する。
etに近づいていく様子が示されている。図10には、
バッファ占有量がS_targetの近傍で遷移してい
る状態で、S_targetの値がより大きな値(S_
target2)に変更された場合に、バッファ占有量
がS_target2に近づいていく様子が示されてい
る。図11には、バッファ占有量がS_targetの
近傍で遷移している状態で、S_targetの値がよ
り小さな値(S_target3)に変更された場合
に、バッファ占有量がS_target3に近づいてい
く様子が示されている。
は、端末102のバッファの総容量であり、”Sum”
が、バッファ占有量である。”delta(0,1,
2,…)”は、サーバ101が単位時間Tsあたりに送
信するデータの量(すなわち、1つのパケットに詰め込
まれているデータの量)を示す。ここで、単位時間Ts
は、サーバ101がパケットを送信する周期であり、固
定値である。”L(0,1,2,…)”は、1つのフレ
ームあたりのデータ量である。
layの値の通知を受けると、その値に基づいてストリ
ームの送信速度を制御する。この速度制御は、1つのパ
ケットに詰め込むデータの量を変化させることにより行
われる。
したパケット(i=0)には、量delta0のデータ
が詰め込まれており、時刻t=0では、バッファ占有量
Sumは、delta0となる。単位時間Tsが経過す
ると、次のパケット(i=1)が送られてくるが、そこ
には、量delta1のデータが詰め込まれている。従
って、時刻t=Tsでは、Sumは、{delta0+
delta1}となる。以降、単位時間Tsが経過する
毎に、次々とパケット(i=2,3,…)が送られてき
て、Sumにdelta2,delta3,…が加算さ
れていく。
れてくる以前である時刻t=T_delayに、バッフ
ァからデータを読み出してデコードする処理が開始され
る。デコードはフレーム単位で行われるので、t=T_
delay以降、固定周期Tfrm毎に、SumからL
0,L1,L2…が減算されていく。
t=0以降、周期Ts毎に、delta0,delta
1,…が加算されて、だんだん増加していく。その一方
で、時刻t=T_delay以降、周期Tfrm毎にL
0,L1,L2…が減算されていく。従って、Sumが
目標値S_targetに達する直前までの期間は、1
つのパケットに詰め込むデータ量を標準よりも多くして
(より一般的には送信速度を速くして)、バッファへの
書き込み速度がバッファからの読み出し速度を上回るよ
うにし、それ以降は、1つのパケットに詰め込むデータ
量を標準に戻して、書き込み速度と読み出し速度とを均
衡させれば、Sumを目標値S_targetの近傍で
遷移させることが可能となる。
0,図11のように、目標値S_targetが途中で
新たな目標値(S_target2,3)に変更された
場合にも、Sumを新たな目標値(S_target
2,3)の近傍で遷移させることが可能となる。
値S_targetの近傍で遷移している状態で、S_
targetがより大きな値(S_target2)に
変更されると、サーバ101は、以降のパケット(i=
3,4)に詰めるデータの量を増やすことによって、バ
ッファへの書き込み速度がバッファからの読み出し速度
を上回るようにする。Sumが新たな目標値S_tar
get2に達して以降は、1つのパケットに詰め込むデ
ータ量を標準に戻して、書き込み速度と読み出し速度と
を均衡させればよい。
_targetの近傍で遷移している状態で、S_ta
rgetがより小さな値(S_target3)に変更
されると、サーバ101は、以降のパケット(i=3,
4)に詰めるデータの量を減らすことによって、バッフ
ァへの書き込み速度がバッファからの読み出し速度を下
回るようにする。Sumが新たな目標値S_targe
t3に達して以降は、1つのパケットに詰め込むデータ
量を標準に戻して、書き込み速度と読み出し速度とを均
衡させればよい。
よる送信速度制御について詳細に説明する。図12は、
サーバ101が行う送信速度制御アルゴリズムの一例を
示すフローチャートである。図12において、最初、端
末102が自身のバッファ占有量(Sum)を検出し、
サーバ101は、端末102からバッファ占有量Sum
の通知を受ける(ステップS301)。次に、サーバ1
01は、ステップS301で通知されたバッファ占有量
Sumが、端末102から指定された目標値S_tar
getの近傍で遷移しているか否かを判定する(ステッ
プS302)。その判定結果が肯定であれば、現在の送
信速度が維持される。
合、サーバ101は、ステップS301で通知されたバ
ッファ占有量Sumが目標値S_targetよりも大
きいか否かを判定する(ステップS303)。そして、
判定結果が否定であれば、送信速度を現在よりも速い速
度に変更し(ステップS304)、その後、ステップS
306に進む。一方、ステップS303の判定結果が肯
定であれば、送信速度を現在よりも遅い速度に変更し
(ステップS305)、その後、ステップS306に進
む。
続するか否かが判断され、判断結果が肯定の場合、ステ
ップS301に戻って、上記と同様の動作が繰り返され
る。一方、判断結果が否定の場合、動作が終了される。
以上が、サーバ101が行う送信速度制御の一例であ
る。
自身のバッファ占有量を検出して、サーバ101に通知
している。しかしその場合、端末102が検出するの
は、現在時刻におけるバッファ占有量である。その上、
端末102からサーバ101への情報伝達に時間がかか
るので、サーバ101は、伝達遅延時間の分だけ過去の
バッファ占有量に基づいて送信速度制御を行うことにな
り、バッファ占有量をS_targetの近傍で遷移さ
せるのは、現実には困難である。
13,14参照)では、未来のある時点でのバッファ占
有量に基づいて送信速度制御を行うことによって、バッ
ファ占有量をS_targetの近傍で遷移させること
が可能となる。この場合、サーバ101は、端末102
からSumの通知を受けるのでなく、未来のある時刻に
おける端末102側のバッファ占有量Sumを予測算出
する。この予測算出は、次のようにして行われる。
は、パケット送信周期Ts(固定値)と、デコード周期
Tfrm(固定値)とが予め記憶されている。CPU4
12は、パケットが生成される際、そのパケットに詰め
込まれたデータの量(delta0,delta1,d
elta2,…)をRAM404に記憶させておく。さ
らに、ストリームが送信される際、各フレームのデータ
量(L0,L1,L2,…)をRAM404に記憶させ
ておく。
ら通知されたT_delayが記憶されており、CPU
412は、ROM413内のTsおよびTfrmと、R
AM404内のdelta(0,1,2,…)、L
(0,1,2,…)およびT_delayとを参照して
所定の演算を行うことにより、未来のある時刻における
バッファ占有量Sumを算出することができる。このよ
うな算出処理を行うことによって、サーバ101は、端
末102側においてバッファ占有量Sumがどのように
遷移してくか(図9〜図11参照)を予測することがで
きる。
ァ占有量Sumを予測算出して送信速度制御を行う具体
的な動作例について、図9のバッファ遷移図、図13お
よび図14のフローチャート、図15のパケット構成図
を用いて説明する。
内バッファの有効蓄積量の最大値(これを簡単に「バッ
ファの総容量」と呼んでいる)であり、S_targe
tは、今回のストリーミングにおいて端末102内バッ
ファに蓄積しようとする目標量であり、T_delay
は、頭出し遅延時間の設定値である。これら各パラメー
タの意味については、既に説明したとおりである。以下
では、端末102よりS_targetとT_dela
yが通知されたものとして説明を行う。
に、固定時間周期Ts毎にパケットの生成・配信を行う
例(i=nに相当する時刻でパケット配信:nは整数)
を示している。また、i=nに相当する時刻(t=i*
Ts)でパケットの配信がなされた際に、端末102の
受信バッファ505およびデコーダバッファ508内の
蓄積量Sumは、数フレームに相当するデータ量が瞬時
に増加しているが、これは、図15(A)に示されてい
るように、1パケットに複数フレームを挿入するパター
ンでパケットを生成して端末102に配信しているため
である。実際には、パケット配信には転送時間がかか
り、図のように瞬時にバッファ占有量が増加する訳では
ない(傾き=networkRateの斜線になる)
が、あくまでモデルとして単純化して取り扱うものとす
る。また、時刻t=T_delay以降、階段状にバッ
ファ占有量が減じられていくのは、その時刻に端末10
2でストリーム再生が始まったことを示している。すな
わち、フレームの再生周期Tfrm毎に、各々のフレー
ム長L=L[k](kは整数)ずつデコーダ509でデ
ータが処理される。
移を実現するためにサーバ101によって行われる送信
制御アルゴリズムの別の例を示したフローチャートであ
る。図13がアルゴリズムの全体像であり、図14は、
図13のステップS404中の関数mkPacketの
一例を示すフローチャートである。このようなアルゴリ
ズムを記述したプログラムがROM413(図2参照)
に格納されており、CPU412は、このプログラムに
従って各種の演算や制御を行い、その結果、図9のバッ
ファ遷移が実現される。なお、説明を簡単にするため
に、ストリーム途中での配信停止などは、今回考えない
ものとする。以下、各ステップについて順次説明を行
う。
2から送られてきたS_targetおよびT_del
ayを受信して記憶する(ステップS401)。具体的
には、図2において、端末102からネットワーク10
3経由で送られてきたS_targetおよびT_de
layの値が、ネットワークコントローラ410を通じ
てRAM404に書き込まれる。
S_targetおよびT_delayの値を決定し
て、結果をサーバ101に通知しているが、代わりに、
サーバ101がそれらの値を予め記憶しておいてもよ
く、あるいは、端末102の機種情報(バッファの総容
量等)を記憶しておいて、この機種情報をもとにサーバ
101がパラメータの値を計算してもよい。
プS402,S403)。各変数の意味は、図14の説
明にて後述する。初期化が完了すると、ステップS40
4以降の処理、すなわち関数mkPacketにてパケ
ットを生成してネットワーク103中に送出する処理が
開始される。生成されたパケットは、この例では固定周
期Tsで端末102に配信されるので、サーバ101
は、ステップS405にてタイミング調整を行ったの
ち、ステップS406にて送出を行う。この一連の処理
が完了すると、CPU412は、関数mkPacket
の実行カウンタiを更新し、ステップS404に戻って
ループする。ストリームデータの読み出しおよびパケッ
ト化が全て完了すると、CPU412は、関数mkPa
cketを抜けて、ステップS404に判定結果FAL
SEでreturnする。CPU412は、このとき配
信が完了したと見なし、アルゴリズムを完了する。以上
が、本送信制御アルゴリズムの概要である。
kPacketの詳細なアルゴリズムであるが、まず各
変数について説明を行う。Sumは、端末102内の受
信バッファ505およびデコーダバッファ508に蓄積
されているデータ量の総和であり、Lは、フレームのデ
ータ量であり、deltaは、関数mkPacketが
今回呼ばれてからパケット化したデータ量の総和(すな
わち1つのパケットに詰め込んだデータの量)であり、
inは、蓄積デバイス411から読み出したストリーム
ソースのフレーム数を示すカウンタであり、outは、
端末102内のデコーダ509でデコードされたフレー
ム数を示すカウンタであり、dtsは、デコーダ509
にてフレームがデコードされる時刻であり、grid
は、前回の関数mkPacketの1ループを処理する
際に進んだdtsの上限値である。
は、大きくパケット生成アルゴリズムA1と、デコード
量算出アルゴリズムA2との2つのアルゴリズムに分け
られる。前者において、最初のステップ(S501)で
は、CPU412は、deltaをクリアする。続くス
テップS502では、CPU412は、L=L[in]
のフレーム(既に読み出し済み)を今回のパケット生成
に用いて良いかどうかの判定を行う。判定の基準は、
(a)SumにLを加えてもS_targetを越えな
いこと、および(b)今回の関数呼び出しでパケット化
したデータの量(今回1つのパケットに詰め込んだデー
タの量)deltaにLを加えても、1つのパケットに
詰め込み可能なデータ量の上限値deltaMaxを超
えないこと、の2つであるである。
に示される不等式 (deltaMax+hdr)/Ts<Network
Rate を満たす値であって、周期Ts以内に端末に配信可能な
データ量の最大値であり、ネットワーク103の実効転
送レート(伝送能力)から算出が可能である。ステップ
S502にて真と判定されると、CPU412は、ステ
ップS503に進み、L=L[in]のフレームをパケ
ット化する。続くステップS504では、CPU412
は、パケット化の実行に伴い、Sumおよびdelta
を更新する。続くステップS505では、CPU412
は、次のフレームのデータを読み出しバッファ407か
ら、フレーム長LをRAM404から、それぞれ読み出
す。そして、Lが0よりも大きいか否かを判定する。
わちL=0であれば、CPU412は、全データの読み
出しが完了した(End of File検出)とみな
し、関数を抜ける。そして、メインフロー(図13)の
ステップS404に判定結果FALSEでRETURN
する。一方、判定結果が肯定、すなわちL>0であれ
ば、CPU412は、次のステップ(S506)に進
み、L[in]を配列leng内に加える(RAM40
4に記憶させる)。これは後ほど説明するが、デコード
量算出アルゴリズムA2で用いるためである。次に、C
PU412は、ステップS507に進み、読み出したフ
レーム数カウンタinを更新して、ステップS502に
ループする。
すうち、Sumおよびdeltaの値がだんだん大きく
なっていく。そして、ステップS502にてSumまた
はdeltaが十分大きくなったと判定されると、CP
U412は、このループを抜けて、デコード量算出アル
ゴリズムA2に入る。
て、最初のステップ(S508)では、i*Tsがgr
id以上であるか否かが判定される。このステップS5
08は、端末102においてデコードが開始される時刻
になったかどうかを判定することが目的である。具体的
には、gridが最初T_delayに設定されている
ため、関数呼び出しカウンタ数iが小さくてt=i*T
sがgrid未満の間は、端末102でのデコードがま
だ始まっていないものと判定される。図9では、i=0
およびi=1と対応する時刻がこれに相当する。
合、CPU412は、デコードによるフレームデータの
減算を行わずに関数を抜ける。一方、iが十分大きくな
ってパケット生成時刻t=i*Tsがgrid以上にな
ると、CPU412は、端末102でのデコードが既に
始まっているとみなし、フレームデータの減算処理を行
う。図9では、iが2以上の時刻がこれに相当する。続
くステップS509からステップS512までのループ
において、現在のgrid時刻から次のgrid時刻
(=grid+Ts)に挟まれた時間内にデコード処理
されるフレームデータの量leng[out]をSum
から減算し、かつデコードしたフレーム数outをカウ
ントアップする。
て、dtsには、フレームを1つデコードするたびにT
frmずつ加算されるが、これは、本実施形態が固定時
間間隔Tfrmのフレーム発生を行う符号化方式を用い
ていることに由来する。ステップS512では、CPU
412は、今回の時間間隔Tsでデコードされるべきフ
レームの有無を判定している。ステップS512の判定
結果が否定、すなわち、もはや今回の時間間隔Tsでデ
コードされるフレームは無いと判定されると、CPU4
12は、上記のループ(ステップS509〜S512)
から抜け、ステップS513に進む。ステップS513
では、CPU412は、変数gridを次のgrid時
刻に更新する。そして、関数を抜け、メインフロー(図
13)のステップS404に判定結果TRUEでRET
URNする。
ように、端末102内において、バッファ占有量Sum
を常にS_targetの近傍でかつS_target
を超えないように遷移させることが可能となる。従っ
て、複数機種の端末102があって、バッファの総容量
Smaxが機種によって異なっていても、それぞれの端
末102のSmaxに応じてS_targetを適切な
値に設定すれば、バッファのオーバーフローもアンダー
フローも生じないようにすることができる。
に1パケットに複数フレームを挿入するパターンでパケ
ットを生成したが、代わりに、図15(B)のように、
1パケットに1フレームのフレームを挿入するパターン
でパケットを生成することも可能である。この場合は、
図14のステップS502において、後半の不等式を delta+(L+hdr) <= deltaMax とし、ステップS504の後半の等式を delta += (L+hdr) とするだけでよい。
ために、固定時間間隔Tfrmでフレーム発生を行う符
号化方式を用いたが、使用する符号化方式―たとえばM
PEG4ビデオ(ISO/IEC 14496−2)―
に合わせてデコード量算出アルゴリズムA2を設計すれ
ば、必ずしも固定時間間隔のフレーム発生を行わなくて
も構わないことはいうまでもない。また、必ずしもフレ
ーム単位でデータを扱うアルゴリズムでなくてもよく、
例えばスライス単位、あるいはMPEG1やMPEG2
システムストリームのパック単位でデータを扱うアルゴ
リズムであってもよい。
て、S_targetの値が途中で変更されると、本ア
ルゴリズムは瞬時に、変更された新しいS_targe
tをターゲットとしてパケットの生成を行うようにな
る。S_targetの値が途中で変更された場合のバ
ッファ遷移の様子が、図10および図11に示されてい
る。図10において、i=3の時刻にS_target
がS_target2に変更(S_target<S_
target2≦S_max)されると、変更後しばら
くは多量のフレームデータがパケット化され(図中、d
elta3やdelta4)、その結果、Sumが新し
い目標値S_target2の近傍に到達するようにな
る。
_targetがS_target3に変更(S_ta
rget3<S_target)されると、少量(de
lta4)または0(delta3)のフレームデータ
がパケット化される。その一方、デコードによりSum
が消費されるので、やはりSumが新しい目標値S_t
arget3の近傍に到達するようになる。このような
仕組みを利用すると、ネットワーク103の伝送能力
(あるいは端末102の電波受信状態)に応じて、動的
に端末102内のバッファ占有量Sumを増減させるこ
とが可能となり、以下に説明するような応用が可能とな
る。
1の端末102と対応)を持ったユーザが、図中の矢印
702ように、中継局B1の圏内から中継局B2の圏内
へと移動する場合を考える。移動に伴い、携帯電話70
1からの呼を受け付ける業務が、中継局B1から中継局
B2へと引き渡される。このとき、携帯電話701の受
信電波強度は、おおむね図7(B)に示したグラフのよ
うに変化する。本モデルでは、説明を簡単にするため
に、電波強度が強から中(または中から強)に変わると
ころをネットワーク103の伝送能力に関する閾値A、
中から弱(または弱から中)に変わるところを閾値B、
弱から圏外(または圏外から弱)に変わるところを閾値
Cとした。
を持ったユーザが距離d1だけ移動し、伝送能力が閾値
Aを下回ったとする。このとき携帯電話701は、図1
1に示されるように、S_delayをより大きい値
(S_target2)に変更して、その値をサーバ1
01に通知する。これは、その後も進むと予想される伝
送能力低下に備えて、サーバ101による新たなパケッ
ト生成および送出を促進させ、それにより、できるだけ
長時間(これをΔtとする)ぶんのデータを携帯電話7
01内のバッファに蓄積しておくためである。伝送能力
が閾値Aを下回っても、閾値B以上である間は、まだパ
ケットの転送ロスが発生することがないので、このよう
な伝送速度の高速化が可能である。
送能力が閾値Bを下回って、パケットの転送ロスが発生
し始める。このとき、携帯電話701は、図11に示さ
れるように、S_targetを小さい値(S_tar
get3)に変更して、その値をサーバ101に通知す
る。これは、その後もさらに進むと予想される伝送能力
低下に備えて、できるだけサーバ101による新たなパ
ケット生成および送出を抑制させるためである。パケッ
ト生成および送出を抑制するのは、次の理由による。
てPHSのPIAFS方式を採用している場合、パケッ
トの伝送ロスが発生すると、リンクレイヤであるPIA
FS層のプロトコルに基づくデータ再送処理が行われ
る。再送処理中に、新たなパケット生成および送出が行
われると、それが再送処理の邪魔をする結果となり、か
えって好ましくないからである。
送能力が閾値Cを下回って、一瞬、パケット転送が困難
となる。しかし、ユーザがさらに移動して距離d4に達
すると、伝送能力が閾値Bを上回り、かつ呼を受け付け
る業務の引き渡し(ハンドオーバー)も完了しているの
で、携帯電話701は、今度はS_target3を元
の値S_targetに戻して、その値をサーバ101
に通知し、それによって、データの蓄積量(すなわちバ
ッファ占有量Sum)を増加させる。なお、PHS等の
ハンドオーバー時間は、普通に人が歩く速さでもおおよ
そ2〜3秒程度で完了するため、上記のΔtをおおよそ
3〜4秒程度確保しておけば、ハンドオーバーが起こっ
ても携帯電話701でのストリーミング再生を滞りなく
継続することができる。
信の途中でS_targetの設定値がより小さな値に
変更されると、図14のアルゴリズムにおいてステップ
S502の判定文がなかなか真にならず、次のフレーム
のデータを送出できないケースが起こりうる。このよう
なケースがたびたび発生すると、折角パケットを端末1
02に届けても、もはやそのパケット内のフレームデー
タを再生するべき時刻(Presentation T
ime)を経過してしまっており、データが無駄になっ
てしまうことがある。このような場合は、再生時刻が経
過してしまったフレームデータをスキップした方が、無
駄なデータをネットワーク103に流さないで済む分だ
け効率的である。
関数mkPacketの別の例を示すフローチャートで
ある。図16の関数mkPacketには、サーバ10
1が送信速度を遅くする際に、再生時刻を過ぎたデータ
の送出をスキップするためのステップ(S601および
S602)が含まれている。すなわち、図16のアルゴ
リズムは、図14と比較して、ステップS601および
ステップS602が追加されただけである。他のステッ
プは、図14と全く同じであり、同一の参照番号が付さ
れている。ステップS601では、CPU412は、今
から送出しようとしているin番目のフレームデータ
が、0番目のフレームのデータでなく、かつ、端末10
2にて既にデコードされたとみなされるout番目のフ
レームデータより再生時刻が後かどうかを判定してい
る。
は、in番目のフレームのデータが端末での再生時刻に
間に合うと見なして、ステップS503にてそのデータ
をパケット化し、端末102に送出する。偽の場合は、
in番目のフレームデータを無かったものとみなし、ス
テップS602にてL=0とする。これにより、ステッ
プS502では必ず真と判定され、かつステップS50
3のパケット化において、不要なフレームデータのコピ
ーを行わずに、送出フレームを次に進めることができ
る。なお、このようなフレームスキップがあった場合
は、デコーダ509での再生が時間Tfrmだけ飛ぶの
で、その旨を端末102に通知する情報が、図15
(A),(B)のパケット中に記述されるものとする。
例えば、ヘッダ内にそのような再生時刻情報を記述する
領域を設ければよい。
オーディオのように各フレームどうしの優先順位(重要
度)に差が無い場合には、十分有効な手法である。しか
し、MPEGビデオにおいては、従来例の紹介において
既に説明したように、Iフレームであればそれ単独で意
味のある画像を再構成することができるが、PやBのフ
レームでは、時間的に前後の参照フレームがなければ、
意味のある画像を再構成することができない。この場合
には、図16のアルゴリズムにおいてフレームの間引き
を行う際に、再生時刻に間に合うIフレームを優先的に
送出する一方、PやBのフレームを全てスキップするこ
とで、ネットワーク103の転送速度が遅い状況におい
ても、端末102に対してより高品位の映像を提供する
ことが可能となる。
関数mkPacketの、さらに別の例を示すフローチ
ャートである。図17の関数mkPacketには、サ
ーバ101が送信速度を遅くする際に、優先度の低いデ
ータと、優先度は高いが再生時刻を過ぎたデータとの送
出をスキップするためのステップ(S505’,S60
1,S602,S701およびS702)が含まれてい
る。すなわち、図17のアルゴリズムは、図14と比較
して、ステップS601,S602,S701およびS
702が追加され、かつステップS505がステップS
505’に置き換えられている。ステップS505’
は、ステップS505に対し、関数NexTfrmに優
先順位priの検出機能が加えられたものである。他の
ステップは、図14,図16と全く同じであり、同一の
参照番号が付されている。
と比較すると、ステップS701,S702が追加さ
れ、かつステップS505がS505’に置き換わって
いる。
末102が検出した受信状態を示す情報(受信状態情
報)を、端末102からサーバ101に通知する機能が
必要となる。このような機能を持ったサーバ・クライア
ント・システムの構成例を、図18に示す。図18にお
いて、端末102は、受信状態を検出する検出部801
を備えている。端末102とサーバ101との間には、
検出された受信状態情報を端末102からサーバ101
に通知する通知部802が設けられる。サーバ101
は、保持部803を備えており、通知された受信状態情
報を保持する。
数が呼び出されると、ステップS501に先立って、ス
テップS701が実行される。ステップS701におい
て、サーバ101(のCPU412)は、保持部803
内の情報(端末102側の受信状態)を参照して、ネッ
トワーク103の伝送能力が閾値Bを下回るか否かを判
定する。この判定の結果、閾値Bを下回っていればsl
owflagを真とし、そうでなければ偽とする。
優先度が検出され、続くステップS702では、そのフ
レームのデータの優先度が高く、かつslowflag
が真であるか否かが判定される。この判定結果が肯定、
すなわちネットワーク103の転送速度が遅いことを示
すslowflagが真であり、かつ優先度の高いフレ
ームである場合、ステップS601に進んで、再生時刻
が経過してしまったフレームか否かが判定される。一
方、判定結果が否定である場合、ステップS602に進
んで、L=0とされる(つまり、たとえ再生時刻に間に
合うようであっても、そのフレームはスキップされ
る)。後の処理は、図14や図16の処理と全く同様で
ある。
102が、自身のバッファ容量とネットワーク103の
伝送能力とに応じた目標量を決定し、さらに、目標量を
伝送能力で除して得られる値を超えない範囲内で、遅延
時間を決定する。サーバ101は、こうして端末102
が決定した目標量および遅延時間に基づいて送信速度を
制御するので、端末102のバッファ容量が機種によっ
て異なっていても、ネットワーク103の伝送能力が変
動しても、バッファ量および伝送能力に応じた送信速度
制御が行え、その結果、バッファのアンダーフローやオ
ーバーフローによるストリーミング再生の破綻を回避す
ることが可能となる。しかも、目標量とは独立に遅延時
間が決定されるので、ストリーミング再生の破綻回避
と、頭出し時の待ち時間短縮とを互いに両立させること
ができる。
を実行するサーバ・クライアント・システムの構成例を
示すブロック図である。
ある。
る。
ーケンス図である。
である。
る。
端末の移動に伴う伝送能力の変化(B)とを示す模式図
である。
ャートである。
て、端末102のバッファ占有量がどのように遷移する
か(S_targetに近づいていく様子)を示す図で
ある。
遷移している状態で、S_targetの値がより大き
な値(S_target2)に変更された場合に、図1
のサーバ101が行う送信速度制御によって、端末10
2のバッファ占有量がどのように遷移するかを示す図で
ある。
遷移している状態で、S_targetの値がより小さ
な値(S_target3)に変更された場合に、図1
のサーバ101が行う送信速度制御によって、端末10
2のバッファ占有量がどのように遷移するかを示す図で
ある。
ゴリズムの一例を示すフローチャートである。
にサーバ101によって行われる送信速度制御アルゴリ
ズムの別の例を示したフローチャートである。
cketの一例を示すフローチャートである。
成例(Aは1パケットに複数フレームを挿入する場合、
Bは1パケットに1フレームを挿入する場合)を示す図
である。
cketの別の例を示すフローチャートである。
cketの、さらに別の例を示すフローチャートであ
る。
法を実行するサーバ・クライアント・システムの別の構
成例を示すブロック図である。
図である(Aはビデオフレーム、Bはバッファ占有量の
遷移、Cは従来端末の構成例)。
・クライアント・システムの構成例を示すブロック図で
ある。
ァ占有量の遷移がどのように変化するかを説明するため
の図である(Aが追加前、Bが追加後)。
Claims (15)
- 【請求項1】 サーバが端末へネットワークを通じてス
トリームデータを送信し、かつ端末が当該ストリームデ
ータを受信しつつ再生するストリーミング方法であっ
て、 端末が、自身のバッファ容量とネットワークの伝送能力
とに関連して、自身のバッファに蓄積すべきストリーム
データの目標量を決定する目標量決定ステップ、 当該バッファ容量を当該伝送能力で除して得られる値を
超えない範囲内で任意に、端末が、自身のバッファにス
トリームの先頭データを書き込んでから当該データを読
み出して再生開始するまでの遅延時間を決定する遅延時
間決定ステップ、 決定した目標時間および遅延時間を、端末がサーバに通
知するステップ、 サーバが端末へネットワークを通じてストリームデータ
を送信する際に、通知された目標量および遅延時間に基
づいて送信速度を制御する制御ステップを備える、スト
リーミング方法。 - 【請求項2】 前記制御ステップにおいて、サーバは、 端末のバッファに蓄積されているストリームデータの量
が、当該目標量の近傍において当該目標量を超えること
なく遷移するように、当該送信速度を制御することを特
徴とする、請求項1に記載のストリーミング方法。 - 【請求項3】 前記制御ステップにおいて、サーバは、
当該送信速度と、当該遅延時間と、端末がストリームデ
ータをデコードする速度とに基づいて、端末のバッファ
に蓄積されるストリームデータの量を予測算出すること
を特徴とする、請求項2に記載のストリーミング方法。 - 【請求項4】 端末が、ネットワークの伝送能力が所定
の閾値を跨いで変化したことを検出する検出ステップ、 前記検出ステップでの検出結果に応じて、端末が当該目
標量を変更する目標量変更ステップ、および変更後の目
標量を、端末がサーバに通知するステップをさらに備
え、 前記制御ステップにおいて、サーバは、変更後の目標量
の通知を受けると、端末のバッファに蓄積されるストリ
ームデータの量が、当該変更後の目標量の近傍において
当該変更後の目標量を超えることなく遷移するように、
当該送信速度を制御することを特徴とする、請求項1に
記載のストリーミング方法。 - 【請求項5】 前記検出ステップでネットワークの伝送
能力が第1の閾値を跨いで低下したことを検出すると、
端末は、前記目標量変更ステップにおいて、当該目標量
を増加させる向きに変更し、 前記制御ステップにおいて、サーバは、当該目標量が増
加されたのに応じて、当該送信速度を上昇させる向きに
制御することを特徴とする、請求項4に記載のストリー
ミング方法。 - 【請求項6】 当該第1の閾値は、実現可能な最大の伝
送能力と、ストリームデータの転送ロスが発生し始める
ような伝送能力との略中間の値であることを特徴とす
る、請求項5に記載のストリーミング方法。 - 【請求項7】 前記検出ステップでネットワークの伝送
能力が当該第1の閾値より小さい第2の閾値を跨いで低
下したことを検出すると、端末は、前記目標量変更ステ
ップにおいて、当該目標量を減少させる向きに変更し、 前記制御ステップにおいて、サーバは、当該目標量が減
少方向に変更されたのに応じて、当該送信速度を低下さ
せる向きに制御することを特徴とする、請求項4に記載
のストリーミング方法。 - 【請求項8】 当該第2の閾値は、ストリームデータの
転送ロスが発生し始めるような伝送能力と対応する値で
あることを特徴とする、請求項7に記載のストリーミン
グ方法。 - 【請求項9】 前記目標量変更ステップにおいて、端末
が当該目標量を減少させる向きに変更すると、前記制御
ステップにおいて、サーバは、送信しようとするストリ
ームを構成する各フレームの再生時刻を現在時刻と逐次
比較して、再生時刻が現在時刻よりも古いフレームの送
信をスキップし、それよって当該送信速度を低下方向に
制御することを特徴とする、請求項8に記載のストリー
ミング方法。 - 【請求項10】 前記目標量変更ステップにおいて、端
末が当該目標量を減少させる向きに変更すると、前記制
御ステップにおいて、サーバは、送信しようとするスト
リームを構成する各フレームの重要度を基準値と逐次比
較して、 重要度が基準値未満であるフレームについては、全て送
信をスキップし、 重要度が基準値以上であるフレームについては、それぞ
れの再生時刻を現在時刻と逐次比較して、再生時刻が現
在時刻よりも古いものだけ送信をスキップし、それによ
って当該送信速度を低下方向に制御することを特徴とす
る、請求項8に記載のストリーミング方法。 - 【請求項11】 ネットワークを通じてストリームデー
タを送信するサーバと、当該ストリームデータを受信し
つつ再生する端末とからなるシステムであって、 端末は、 自身のバッファ容量とネットワークの伝送能力とに関連
して、自身のバッファに蓄積すべきストリームデータの
目標量を決定する目標量決定手段、 当該バッファ容量を当該伝送能力で除して得られる値を
超えない範囲内で任意に、自身のバッファにストリーム
の先頭データを書き込んでから当該データを読み出して
再生開始するまでの遅延時間を決定する遅延時間決定手
段、および決定した目標時間および遅延時間をサーバに
通知する手段を備え、 サーバは、端末へネットワークを通じてストリームデー
タを送信する際に、通知された目標量および遅延時間に
基づいて送信速度を制御する制御手段を備える、システ
ム。 - 【請求項12】 ネットワークを通じてストリームデー
タを送信するサーバと共に用いられ、当該ストリームデ
ータを受信しつつ再生する端末であって、 サーバには、端末へネットワークを通じてストリームデ
ータを送信する際に、通知された目標量および遅延時間
に基づいて送信速度を制御する制御手段が備わり、 自身のバッファ容量とネットワークの伝送能力とに関連
して、自身のバッファに蓄積すべきストリームデータの
目標量を決定する目標量決定手段、 当該バッファ容量を当該伝送能力で除して得られる値を
超えない範囲内で任意に、自身のバッファにストリーム
の先頭データを書き込んでから当該データを読み出して
再生開始するまでの遅延時間を決定する遅延時間決定手
段、および決定した目標時間および遅延時間をサーバに
通知する手段を備える、端末。 - 【請求項13】 ストリームデータを受信しつつ再生す
る端末と共に用いられ、ネットワークを通じて当該スト
リームデータを送信するサーバであって、 端末には、 自身のバッファ容量とネットワークの伝送能力とに関連
して、自身のバッファに蓄積すべきストリームデータの
目標量を決定する目標量決定手段、 当該バッファ容量を当該伝送能力で除して得られる値を
超えない範囲内で任意に、自身のバッファにストリーム
の先頭データを書き込んでから当該データを読み出して
再生開始するまでの遅延時間を決定する遅延時間決定手
段、および決定した目標時間および遅延時間をサーバに
通知する手段が備わり、 端末へネットワークを通じてストリームデータを送信す
る際に、通知された目標量および遅延時間に基づいて送
信速度を制御する制御手段を備え、 前記制御手段は、端末のバッファに蓄積されているスト
リームデータの量が、当該目標量の近傍において当該目
標量を超えることなく遷移するように、当該送信速度を
制御することを特徴とする、サーバ。 - 【請求項14】 サーバが端末へネットワークを通じて
ストリームデータを送信し、かつ端末が当該ストリーム
データを受信しつつ再生するストリーミング方法を記述
したプログラムであって、 端末が、自身のバッファ容量とネットワークの伝送能力
とに関連して、自身のバッファに蓄積すべきストリーム
データの目標量を決定する目標量決定ステップ、 当該バッファ容量を当該伝送能力で除して得られる値を
超えない範囲内で任意に、端末が、自身のバッファにス
トリームの先頭データを書き込んでから当該データを読
み出して再生開始するまでの遅延時間を決定する遅延時
間決定ステップ、 決定した目標時間および遅延時間を、端末がサーバに通
知するステップ、 サーバが端末へネットワークを通じてストリームデータ
を送信する際に、通知された目標量および遅延時間に基
づいて送信速度を制御する制御ステップを備えるストリ
ーミング方法を記述した、プログラム。 - 【請求項15】 サーバが端末へネットワークを通じて
ストリームデータを送信し、かつ端末が当該ストリーム
データを受信しつつ再生するストリーミング方法が記述
されたプログラムを記録した記録媒体であって、 端末が、自身のバッファ容量とネットワークの伝送能力
とに関連して、自身のバッファに蓄積すべきストリーム
データの目標量を決定する目標量決定ステップ、 当該バッファ容量を当該伝送能力で除して得られる値を
超えない範囲内で任意に、端末が、自身のバッファにス
トリームの先頭データを書き込んでから当該データを読
み出して再生開始するまでの遅延時間を決定する遅延時
間決定ステップ、 決定した目標時間および遅延時間を、端末がサーバに通
知するステップ、 サーバが端末へネットワークを通じてストリームデータ
を送信する際に、通知された目標量および遅延時間に基
づいて送信速度を制御する制御ステップを備えるストリ
ーミング方法が記述されたプログラムを記録した、記録
媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001202147A JP4596693B2 (ja) | 2000-07-06 | 2001-07-03 | ストリーミング方法およびそれを実行するシステム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-204632 | 2000-07-06 | ||
JP2000204632 | 2000-07-06 | ||
JP2001202147A JP4596693B2 (ja) | 2000-07-06 | 2001-07-03 | ストリーミング方法およびそれを実行するシステム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002084339A true JP2002084339A (ja) | 2002-03-22 |
JP2002084339A5 JP2002084339A5 (ja) | 2008-03-21 |
JP4596693B2 JP4596693B2 (ja) | 2010-12-08 |
Family
ID=26595476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001202147A Expired - Lifetime JP4596693B2 (ja) | 2000-07-06 | 2001-07-03 | ストリーミング方法およびそれを実行するシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4596693B2 (ja) |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004102968A1 (ja) * | 2003-05-13 | 2004-11-25 | Fujitsu Limited | バッファ量推測装置、配信品質監視装置、配信品質管理装置、バッファ量推測方法、配信品質監視方法、配信品質管理方法、バッファ量推測プログラム、及び配信品質監視プログラム |
WO2004112420A1 (ja) * | 2003-06-11 | 2004-12-23 | Nec Corporation | メディア信号の受信装置、送信装置及び送受信システム |
WO2005039180A1 (ja) * | 2003-10-16 | 2005-04-28 | Nec Corporation | メディア信号の送信方法と受信方法ならびに送受信方法及び装置 |
JP2005531220A (ja) * | 2002-06-21 | 2005-10-13 | トムソン ライセンシング | 移動無線相互接続環境における記憶されたビデオストリーミングのための減少するネットワークqos要件 |
JP2006174419A (ja) * | 2004-12-10 | 2006-06-29 | Microsoft Corp | ストリーミングメディアデータの符号化ビットレートを制御するシステム |
JP2006523979A (ja) * | 2003-04-17 | 2006-10-19 | トムソン ライセンシング | データ要求送信装置及びプロセス並びに対応するプロダクツ |
JP2006303749A (ja) * | 2005-04-19 | 2006-11-02 | Sony Corp | 情報処理装置および方法、プログラム、並びに記録媒体 |
JP2006345582A (ja) * | 2001-02-08 | 2006-12-21 | Nokia Corp | メディアデータをストリーミングする方法、システム及びクライアント装置 |
JP2007013675A (ja) * | 2005-06-30 | 2007-01-18 | Sanyo Electric Co Ltd | ストリーミング配信システム及びサーバ |
US7299292B2 (en) | 2002-03-29 | 2007-11-20 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream to a virtual smart card client system |
JP2008533808A (ja) * | 2005-03-07 | 2008-08-21 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | マルチメディアチャネルの切り替え |
JP2009510855A (ja) * | 2005-11-07 | 2009-03-12 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 移動通信ネットワークにおける方法および装置 |
JP2009278197A (ja) * | 2008-05-12 | 2009-11-26 | Fujitsu Ltd | フレーム送信装置、フレーム送信方法およびフレーム送信プログラム |
JP2010034899A (ja) * | 2008-07-29 | 2010-02-12 | Canon Inc | ストリームデータ処理装置、ストリームデータ処理方法、及びストリームデータ処理プログラム |
US7664126B2 (en) | 2002-07-31 | 2010-02-16 | Sharp Kabushiki Kaisha | Data communication apparatus, intermittent communication method therefor, program describing the method and recording medium for recording the program |
JP2010088137A (ja) * | 2010-01-18 | 2010-04-15 | Brother Ind Ltd | 配信速度制御装置、配信システム、配信速度制御方法、及び配信速度制御用プログラム |
JP2011501478A (ja) * | 2007-06-18 | 2011-01-06 | セルロン カンパニー リミテッド | Iptv放送サービスのトラフィック制御方法 |
US7987284B2 (en) | 2005-03-28 | 2011-07-26 | Sony Corporation | Communication processing apparatus, data communication system, and communication processing method |
US8055894B2 (en) | 1999-11-09 | 2011-11-08 | Google Inc. | Process and streaming server for encrypting a data stream with bandwidth based variation |
US8175599B2 (en) | 2004-07-12 | 2012-05-08 | Samsung Electronics Co., Ltd. | Method, medium, and apparatus controlling handover between different networks |
JP2012514917A (ja) * | 2009-01-13 | 2012-06-28 | 聯發科技股▲ふん▼有限公司 | ワイヤレス通信システム中の無線リソースの有効利用方法 |
US8214552B2 (en) | 2007-01-11 | 2012-07-03 | Sony Corporation | Transmission apparatus, transmission method, communication apparatus, and program |
US8243924B2 (en) | 2007-06-29 | 2012-08-14 | Google Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
JP2012520010A (ja) * | 2009-03-06 | 2012-08-30 | アスペラ,インク. | I/o駆動の速度適応のための方法およびシステム<関連出願>本出願は、2009年3月6日に出願された仮出願シリアル番号61/158,000に対する優先権を主張し、かつこの出願を参照によって組み込む。この出願はまた、以下の出願の明細書の全体に関連し、かつこれらを参照によって組み込む。以下の出願とは、すなわち、2005年12月23日に出願され“bulkdatatransfer”とタイトルされた米国特許出願11/317,663、および、2007年9月4日に出願され“methodandsystemforaggregatebandwidthcontrol”とタイトルされた米国特許出願11/849,782である。 |
JP2013535892A (ja) * | 2010-07-23 | 2013-09-12 | アルカテル−ルーセント | ビデオチャンクを伝送するための方法、そのような方法を実現するサーバエンティティ、クライアントエンティティ、および中間ネットワークエンティティ |
JP5307545B2 (ja) * | 2006-09-11 | 2013-10-02 | パナソニック株式会社 | 画像復号化装置、画像復号化方法、画像復号化システム、及びシステムlsi |
US8689016B2 (en) | 2005-12-02 | 2014-04-01 | Google Inc. | Tamper prevention and detection for video provided over a network to a client |
WO2015011841A1 (ja) | 2013-07-26 | 2015-01-29 | 富士通株式会社 | 符号化装置、符号化方法、および符号化プログラム |
JP2016529776A (ja) * | 2013-07-08 | 2016-09-23 | 華為技術有限公司Huawei Technologies Co.,Ltd. | ビデオ再生を制御する方法、デバイス及びシステム |
JP2016225954A (ja) * | 2015-06-03 | 2016-12-28 | 富士通株式会社 | 中継方法、中継プログラム及び中継装置 |
US10623464B2 (en) | 2014-11-19 | 2020-04-14 | Nec Corporation | Data transmission device and data transmission method |
JP2021513440A (ja) * | 2018-06-15 | 2021-05-27 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | 仮想シーンのシーン画像を送信するための方法及び装置、コンピュータデバイス並びにコンピュータ読み取り可能記憶媒体 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015022345A (ja) | 2013-07-16 | 2015-02-02 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | データ転送が停止しまうことがないように、キャッシュされているデータの転送レートを適合させる方法、システム、および、プログラム |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0575666A (ja) * | 1991-09-17 | 1993-03-26 | Toshiba Corp | 伝送フロー制御方式 |
JPH07170290A (ja) * | 1993-12-15 | 1995-07-04 | Sony Corp | 通信システム |
JPH08237650A (ja) * | 1994-10-21 | 1996-09-13 | At & T Corp | データバッファの同期システム |
JPH09298734A (ja) * | 1996-04-30 | 1997-11-18 | Matsushita Electric Ind Co Ltd | ビデオオンデマンドシステム |
JPH1041953A (ja) * | 1996-07-23 | 1998-02-13 | Hitachi Ltd | 輻輳制御システム |
JPH10336626A (ja) * | 1997-05-30 | 1998-12-18 | Nec Software Ltd | 映像データの転送方法および転送装置 |
JPH1168880A (ja) * | 1997-08-22 | 1999-03-09 | Canon Inc | データ通信装置及び方法及びシステム及び記憶媒体 |
JPH11187367A (ja) * | 1997-12-19 | 1999-07-09 | Nec Corp | 映像送信装置,映像受信装置及びこれらを用いた映像伝送システム |
JPH11205390A (ja) * | 1998-01-14 | 1999-07-30 | Toshiba Corp | 伝送システム、端末装置、サーバ装置及び記録媒体 |
JP2000183873A (ja) * | 1998-12-11 | 2000-06-30 | Fujitsu Ltd | データ転送方法 |
JP2001257715A (ja) * | 2000-03-09 | 2001-09-21 | Nippon Hoso Kyokai <Nhk> | 蓄積送信端末 |
-
2001
- 2001-07-03 JP JP2001202147A patent/JP4596693B2/ja not_active Expired - Lifetime
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0575666A (ja) * | 1991-09-17 | 1993-03-26 | Toshiba Corp | 伝送フロー制御方式 |
JPH07170290A (ja) * | 1993-12-15 | 1995-07-04 | Sony Corp | 通信システム |
JPH08237650A (ja) * | 1994-10-21 | 1996-09-13 | At & T Corp | データバッファの同期システム |
JPH09298734A (ja) * | 1996-04-30 | 1997-11-18 | Matsushita Electric Ind Co Ltd | ビデオオンデマンドシステム |
JPH1041953A (ja) * | 1996-07-23 | 1998-02-13 | Hitachi Ltd | 輻輳制御システム |
JPH10336626A (ja) * | 1997-05-30 | 1998-12-18 | Nec Software Ltd | 映像データの転送方法および転送装置 |
JPH1168880A (ja) * | 1997-08-22 | 1999-03-09 | Canon Inc | データ通信装置及び方法及びシステム及び記憶媒体 |
JPH11187367A (ja) * | 1997-12-19 | 1999-07-09 | Nec Corp | 映像送信装置,映像受信装置及びこれらを用いた映像伝送システム |
JPH11205390A (ja) * | 1998-01-14 | 1999-07-30 | Toshiba Corp | 伝送システム、端末装置、サーバ装置及び記録媒体 |
JP2000183873A (ja) * | 1998-12-11 | 2000-06-30 | Fujitsu Ltd | データ転送方法 |
JP2001257715A (ja) * | 2000-03-09 | 2001-09-21 | Nippon Hoso Kyokai <Nhk> | 蓄積送信端末 |
Cited By (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8055894B2 (en) | 1999-11-09 | 2011-11-08 | Google Inc. | Process and streaming server for encrypting a data stream with bandwidth based variation |
US8386771B2 (en) | 1999-11-09 | 2013-02-26 | Google Inc. | Process and streaming server for encrypting a data stream with bandwidth based variation |
JP2006345582A (ja) * | 2001-02-08 | 2006-12-21 | Nokia Corp | メディアデータをストリーミングする方法、システム及びクライアント装置 |
JP4690280B2 (ja) * | 2001-02-08 | 2011-06-01 | ノキア コーポレイション | メディアデータをストリーミングする方法、システム及びクライアント装置 |
US7299292B2 (en) | 2002-03-29 | 2007-11-20 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream to a virtual smart card client system |
US7640565B2 (en) | 2002-06-21 | 2009-12-29 | Thomson Licensing | Ever-decreasing network QOS requirements for stored video streaming in a mobile wireless interworking environment |
KR100978172B1 (ko) * | 2002-06-21 | 2010-08-25 | 톰슨 라이센싱 | 이동 무선 상호연동 환경에서의 저장된 비디오 스트리밍을위한 지속 감소 네트워크 qos 요구 조건 |
JP2005531220A (ja) * | 2002-06-21 | 2005-10-13 | トムソン ライセンシング | 移動無線相互接続環境における記憶されたビデオストリーミングのための減少するネットワークqos要件 |
US7664126B2 (en) | 2002-07-31 | 2010-02-16 | Sharp Kabushiki Kaisha | Data communication apparatus, intermittent communication method therefor, program describing the method and recording medium for recording the program |
JP2006523979A (ja) * | 2003-04-17 | 2006-10-19 | トムソン ライセンシング | データ要求送信装置及びプロセス並びに対応するプロダクツ |
WO2004102968A1 (ja) * | 2003-05-13 | 2004-11-25 | Fujitsu Limited | バッファ量推測装置、配信品質監視装置、配信品質管理装置、バッファ量推測方法、配信品質監視方法、配信品質管理方法、バッファ量推測プログラム、及び配信品質監視プログラム |
JP4909590B2 (ja) * | 2003-06-11 | 2012-04-04 | 日本電気株式会社 | メディア信号の受信装置、送信装置及び送受信システム |
JPWO2004112420A1 (ja) * | 2003-06-11 | 2006-07-20 | 日本電気株式会社 | メディア信号の受信装置、送信装置及び送受信システム |
WO2004112420A1 (ja) * | 2003-06-11 | 2004-12-23 | Nec Corporation | メディア信号の受信装置、送信装置及び送受信システム |
WO2005039180A1 (ja) * | 2003-10-16 | 2005-04-28 | Nec Corporation | メディア信号の送信方法と受信方法ならびに送受信方法及び装置 |
JP4903435B2 (ja) * | 2003-10-16 | 2012-03-28 | 日本電気株式会社 | メディア信号の送信方法と受信方法ならびに送受信方法及び装置 |
JPWO2005039180A1 (ja) * | 2003-10-16 | 2007-11-22 | 日本電気株式会社 | メディア信号の送信方法と受信方法ならびに送受信方法及び装置 |
US8175599B2 (en) | 2004-07-12 | 2012-05-08 | Samsung Electronics Co., Ltd. | Method, medium, and apparatus controlling handover between different networks |
US8526956B2 (en) | 2004-07-12 | 2013-09-03 | Samsung Electronics Co., Ltd. | Method, medium, and apparatus controlling handover between different networks |
JP2006174419A (ja) * | 2004-12-10 | 2006-06-29 | Microsoft Corp | ストリーミングメディアデータの符号化ビットレートを制御するシステム |
JP2008533808A (ja) * | 2005-03-07 | 2008-08-21 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | マルチメディアチャネルの切り替え |
JP4773505B2 (ja) * | 2005-03-07 | 2011-09-14 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | マルチメディアチャネルの切り替え |
US7987284B2 (en) | 2005-03-28 | 2011-07-26 | Sony Corporation | Communication processing apparatus, data communication system, and communication processing method |
JP2006303749A (ja) * | 2005-04-19 | 2006-11-02 | Sony Corp | 情報処理装置および方法、プログラム、並びに記録媒体 |
JP2007013675A (ja) * | 2005-06-30 | 2007-01-18 | Sanyo Electric Co Ltd | ストリーミング配信システム及びサーバ |
JP2009510855A (ja) * | 2005-11-07 | 2009-03-12 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 移動通信ネットワークにおける方法および装置 |
US8689016B2 (en) | 2005-12-02 | 2014-04-01 | Google Inc. | Tamper prevention and detection for video provided over a network to a client |
JP5307545B2 (ja) * | 2006-09-11 | 2013-10-02 | パナソニック株式会社 | 画像復号化装置、画像復号化方法、画像復号化システム、及びシステムlsi |
US8214552B2 (en) | 2007-01-11 | 2012-07-03 | Sony Corporation | Transmission apparatus, transmission method, communication apparatus, and program |
JP2011501478A (ja) * | 2007-06-18 | 2011-01-06 | セルロン カンパニー リミテッド | Iptv放送サービスのトラフィック制御方法 |
US9038147B2 (en) | 2007-06-29 | 2015-05-19 | Google Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
US8752194B2 (en) | 2007-06-29 | 2014-06-10 | Google Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
US8243924B2 (en) | 2007-06-29 | 2012-08-14 | Google Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
JP2009278197A (ja) * | 2008-05-12 | 2009-11-26 | Fujitsu Ltd | フレーム送信装置、フレーム送信方法およびフレーム送信プログラム |
JP2010034899A (ja) * | 2008-07-29 | 2010-02-12 | Canon Inc | ストリームデータ処理装置、ストリームデータ処理方法、及びストリームデータ処理プログラム |
JP2012514917A (ja) * | 2009-01-13 | 2012-06-28 | 聯發科技股▲ふん▼有限公司 | ワイヤレス通信システム中の無線リソースの有効利用方法 |
US9419907B2 (en) | 2009-03-06 | 2016-08-16 | International Business Machines Corporation | I/O driven rate adaptation |
JP2012520010A (ja) * | 2009-03-06 | 2012-08-30 | アスペラ,インク. | I/o駆動の速度適応のための方法およびシステム<関連出願>本出願は、2009年3月6日に出願された仮出願シリアル番号61/158,000に対する優先権を主張し、かつこの出願を参照によって組み込む。この出願はまた、以下の出願の明細書の全体に関連し、かつこれらを参照によって組み込む。以下の出願とは、すなわち、2005年12月23日に出願され“bulkdatatransfer”とタイトルされた米国特許出願11/317,663、および、2007年9月4日に出願され“methodandsystemforaggregatebandwidthcontrol”とタイトルされた米国特許出願11/849,782である。 |
US9276865B2 (en) | 2009-03-06 | 2016-03-01 | International Business Machines Corporation | Method and system for I/O driven rate adaptation |
JP2010088137A (ja) * | 2010-01-18 | 2010-04-15 | Brother Ind Ltd | 配信速度制御装置、配信システム、配信速度制御方法、及び配信速度制御用プログラム |
JP2013535892A (ja) * | 2010-07-23 | 2013-09-12 | アルカテル−ルーセント | ビデオチャンクを伝送するための方法、そのような方法を実現するサーバエンティティ、クライアントエンティティ、および中間ネットワークエンティティ |
JP2016529776A (ja) * | 2013-07-08 | 2016-09-23 | 華為技術有限公司Huawei Technologies Co.,Ltd. | ビデオ再生を制御する方法、デバイス及びシステム |
WO2015011841A1 (ja) | 2013-07-26 | 2015-01-29 | 富士通株式会社 | 符号化装置、符号化方法、および符号化プログラム |
US10284865B2 (en) | 2013-07-26 | 2019-05-07 | Fujitsu Limited | Encoding device, encoding method, and recording medium |
US10623464B2 (en) | 2014-11-19 | 2020-04-14 | Nec Corporation | Data transmission device and data transmission method |
JP2016225954A (ja) * | 2015-06-03 | 2016-12-28 | 富士通株式会社 | 中継方法、中継プログラム及び中継装置 |
JP2021513440A (ja) * | 2018-06-15 | 2021-05-27 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | 仮想シーンのシーン画像を送信するための方法及び装置、コンピュータデバイス並びにコンピュータ読み取り可能記憶媒体 |
JP7072677B2 (ja) | 2018-06-15 | 2022-05-20 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | 仮想シーンのシーン画像を送信するための方法及び装置、コンピュータデバイス並びにコンピュータ読み取り可能記憶媒体 |
US11831566B2 (en) | 2018-06-15 | 2023-11-28 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for transmitting scene image of virtual scene, computer device, and computer-readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP4596693B2 (ja) | 2010-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002084339A (ja) | ストリーミング方法およびそれを実行するシステム | |
US7016970B2 (en) | System for transmitting stream data from server to client based on buffer and transmission capacities and delay time of the client | |
JP5215604B2 (ja) | クライアント装置、通信システム及びデータ処理方法 | |
US9148696B2 (en) | Data transmission system, receiving apparatus, and receiving method as well as sending apparatus and sending method | |
JP4087852B2 (ja) | ビデオの伝送方法 | |
KR101510822B1 (ko) | 적응적 트릭 플레이 스트리밍 | |
EP1675399A2 (en) | Fast channel switching for digital TV | |
JP4952581B2 (ja) | 多地点会議システム、多地点会議方法及びプログラム | |
CN117581552A (zh) | 在传输预创作视频帧和合成视频帧之间切换 | |
JP3609488B2 (ja) | 情報処理システム | |
TW201026064A (en) | Method for audio and video control response and bandwidth adaptation based on network streaming application and server using the same | |
EP1552644A1 (en) | Streaming media | |
JP2003244695A (ja) | 映像情報伝送方式、それに用いられる装置およびプログラム | |
JP2009524328A (ja) | ビデオストリーム信号におけるフレームデータの置換 | |
WO2008108379A1 (ja) | メディア配信システム、配信サーバ装置及びそれらに用いるメディア配信方法並びにそのプログラム | |
JP6463041B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2008029006A (ja) | クライアント装置、通信システム及びデータ処理方法 | |
JP2010245822A (ja) | 動画像符号化装置および動画像符号化方法 | |
JP4108640B2 (ja) | 映像伝送システム | |
JP6089846B2 (ja) | 映像配信システム及びデコーダ並びに映像配信方法 | |
WO2004045216A1 (en) | Video streaming device and method of control for switchable video streams | |
JP4261250B2 (ja) | 画像データ伝送装置及び方法、画像データ再生装置及び方法 | |
EP3661216A1 (en) | A method and apparatus for loop-playing video content | |
JP2011061362A (ja) | 符号化装置、符号化方法、および符号化プログラム | |
CN117121463A (zh) | 在可定制内容和预创作媒体内容的递送之间切换 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080131 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080131 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100618 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100831 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100921 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4596693 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131001 Year of fee payment: 3 |
|
SZ02 | Written request for trust registration |
Free format text: JAPANESE INTERMEDIATE CODE: R313Z02 |
|
S131 | Request for trust registration of transfer of right |
Free format text: JAPANESE INTERMEDIATE CODE: R313133 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |