(57)【要約】簡潔な構成でもってネットワークを介して動画と音声を速やかに再生表示開始でき、しかも再生表示の中断がなく、さらにユーザ入力に応じた動画と音声を対話式に配信して表示することのできる方法及びその装置を提供する。ネットワークを介してサーバー（１）からクライアント（３）へ複数の圧縮された動画と音声の多重化されたストリーム（ｓ（１）、ｓ（２）、ｓ（ｎ））を送信してクライアントで再生表示する方法において、サーバーはストリームを順次にクライアントへ送信し、クライアントはストリームを順次に受信し、サーバーとは独立に受信順にメモリ内に格納し、順次伸張し、受信伸張と並行して再生表示することを特徴とする方法が開示される。
2002023908.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してサーバーからクライアントへ複数の圧縮された動画と音声の多重化されたストリームを送信してクライアントで再生表示する方法において、サーバーはストリームを順次にクライアントへ送信し、クライアントはストリームを順次に受信し、サーバーとは独立に受信順にメモリ内に格納し、順次伸張し、受信伸張と並行して再生表示することを特徴とする方法。
【請求項２】
クライアントはストリームの前記再生表示の開始又は終了時期に毎回信号をサーバーに送信し、サーバーはこの信号を受信後にストリームの前記送信をするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ストリームの一端には他のストリームとの連結を示す識別子を有し、クライアントは前記メモリ内に順次にストリームを格納する際にこの識別子を使用するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
ネットワークを介してサーバーからクライアントへ複数の圧縮された動画と音声の多重化されたストリームを送信して再生表示する方法であって、サーバーは１番目のストリームをクライアントへ送出し、クライアントは１番目のストリームをサーバーから受信後に直ちに伸張して再生表示し、サーバーは１番目のストリームの送出後に直ちに２番目のストリームを送出し、クライアントは１番目のストリームを表示中に２番目のストリームを受信して伸張して１番目のストリーム再生表示終了後に直ちに２番目のストリームを中断なく再生表示し、順次以降のストリームを送信して再生表示する方法において、
２番目のストリームについて、サーバ・クライアント間の送受信に要する時間ｔ（２）とクライアントにおいて伸張に要する時間ｃ（２）との和［ｔ（２）＋ｃ（２）］が、クライアントにおいて１番目の再生表示時間Ｄｔ（１）と１番目のストリームの伸張に要する時間ｃ（１）との和［Ｄｔ（１）＋ｃ（１）］よりも短く、
ｎ番目（ｎは３以上の任意の自然数）のストリームについて、サーバ・クライアント間の送受信に要する時間ｔ（ｎ）とクライアントにおいて伸張に要する時間ｃ（ｎ）との和［ｔ（ｎ）＋ｃ（ｎ）］が、クライアントにおいて１番目から（ｎ−１）番目までのストリームの総再生表示時間Ｔ（ｎ−１）と１番目のストリームの伸張に要する時間ｃ（１）との和［Ｔ（ｎ−１）＋ｃ（１）］からサーバー・クライアント間で２番目のストリームの送信開始から（ｎ−１）番目のストリームの受信終了までの送受信に要する時間Ｔ’（ｎ−１）を引いた値［Ｔ（ｎ−１）＋ｃ（１）−Ｔ’（ｎ−１）］よりも短いことを特徴とする方法。
【請求項５】
ネットワークを介してサーバーからクライアントへ送信して表示する複数の圧縮された動画と音声の多重化されたストリームを作成する方法において、
ｎ番目（ｎは２以上の任意の自然数）のストリームの圧縮後の平均データレートＲ（ｎ）を、クライアントにおいて１番目から（ｎ−１）番目までのストリームの総再生表示時間Ｔ（ｎ−１）に１番目のストリームの伸張に要する時間ｃ（１）を加えてｎ番目のストリームの伸張に要する時間ｃ（ｎ）を引いて使用するネットワークの実効伝送速度Ｗを乗じた値［Ｔ（ｎ−１）＋ｃ（１）−ｃ（ｎ）］Ｗに２番目から（ｎ−１）番目までのストリームの総バイト数Ｂ（ｎ−１）を引き（但し、ｎ＝２の時はＢ（１）をゼロ値とする）さらに別途に追加されるヘッダ等のバイト総数Ｈを引いてこれをｎ番目のストリームの再生表示時間Ｄｔ（ｎ）で割った値｛［Ｔ（ｎ−１）＋ｃ（１）−ｃ（ｎ）］Ｗ−Ｂ（ｎ−１）−Ｈ｝／Ｄｔ（ｎ）以下にすることを特徴とする方法。
【請求項６】
ネットワークを介してサーバーからクライアントへ送信して表示する複数の圧縮された動画と音声の多重化されたストリームを、あるストリームを相対的に高画質又は高フレームレートで再生表示するように作成する方法において、
２番目のストリームを相対的に高画質又は高フレームレートにする場合は、１番目のストリームの再生表示時間Ｄｔ（１）と１番目のストリームの伸張に要する時間ｃ（１）との和［Ｄｔ（１）＋ｃ（１）］が長くなるように、１番目のストリームの圧縮後の平均データレートをネットワークの実効伝送速度Ｗよりも低めに設定して、２番目のストリームの圧縮後の平均データレートをネットワークの実効伝送速度Ｗよりも高くし、
ｎ番目（ｎは３以上の任意の自然数）のストリームを相対的に高画質又は高フレームレートにする場合は、クライアントにおいて１番目から（ｎ−１）番目までのストリームの総再生表示時間Ｔ（ｎ−１）と１番目のストリームの伸張に要する時間ｃ（１）との和［Ｔ（ｎ−１）＋ｃ（１）］からサーバー・クライアント間で２番目のストリームの送信開始から（ｎ−１）番目のストリームの受信終了までの送受信に要する時間Ｔ’（ｎ−１）を引いた値［Ｔ（ｎ−１）＋ｃ（１）−Ｔ’（ｎ−１）］が大きくなるようにして、ｎ番目のストリームの圧縮後の平均データレートをネットワークの実効伝送速度Ｗよりも高くすることを特徴とする方法。
【請求項７】
ネットワークを介してサーバーからクライアントへ複数の圧縮された動画と音声が多重化されたストリームをクライアントに送信して再生表示する方法において、ｎ番目（ｎは２以上の任意の自然数）のストリームについてサーバ・クライアント間の送受信に要する時間ｔ（ｎ）とクライアントにおいて伸張に要する時間ｃ（ｎ）との和［ｔ（ｎ）＋ｃ（ｎ）］が、クライアントにおいて（ｎ−１）番目のストリームの再生表示時間Ｄｔ（ｎ−１）からクライアントからサーバーへ信号の送信に要する時間ｐを引いた値［Ｄｔ（ｎ−１）−ｐ］よりも短いことを特徴とする方法。
【請求項８】
ネットワークを介してサーバーからクライアントへ送信する複数の圧縮された動画と音声が多重化されたストリームを作成する方法において、ｎ番目（ｎは２以上の任意の自然数）のストリームの圧縮後の平均データレートＲ（ｎ）を、クライアントにおいて（ｎ−１）番目のストリームの再生表示時間Ｄｔ（ｎ−１）からクライアントからサーバーへ信号を送信するのに要する時間ｐを引き、さらにｎ番目のストリームの伸張に要する時間ｃ（ｎ）を引いて、使用するネットワークの実効伝送速度Ｗを乗じた値［Ｄｔ（ｎ−１）−ｐ−ｃ（ｎ）］Ｗから、ヘッダ等の追加バイトｈを引き、ｎ番目のストリームの再生表示時間Ｄｔ（ｎ）で割った値｛［Ｄｔ（ｎ−１）−ｐ−ｃ（ｎ）］Ｗ−ｈ｝／Ｄｔ（ｎ）以下にすることを特徴とする方法。
【請求項９】
ネットワークを介してサーバーからクライアントへ送信して表示する複数の圧縮された動画と音声が多重化されたストリームを作成する方法において、ｎ番目（ｎは２以上の任意の自然数）のストリームを相対的に高画質又は高フレームレートにするため、クライアントにおいて（ｎ−１）番目のストリームの再生表示時間Ｄｔ（ｎ−１）を、（ｎ−１）番目のストリームのサーバ・クライアント間の送受信に要する時間ｔ（ｎ−１）と伸張に要する時間ｃ（ｎ−１）との和［ｔ（ｎ−１）＋ｃ（ｎ−１）］より長くし、ｎ番目のストリームのサーバー・クライアント間の送受信に要する時間ｔ（ｎ）がその再生表示時間Ｄｔ（ｎ）よりも長くなるようにしたことを特徴とする方法。
【請求項１０】
ネットワークを介してサーバーからクライアントへ複数ｎ（ｎは２以上の自然数）の圧縮された動画と音声が多重化されたストリームを送信して再生表示する方法において、サーバーからの１番目からｎ番目のストリームをクライアント間で受信するのに要する時間Ｔｔ（ｎ）とｎ番目のストリームをクライアントにおいて伸張するのに要する時間ｃ（ｎ）との和［Ｔｔ（ｎ）＋ｃ（ｎ）］から、クライアントにおいて１番目から（ｎ−１）番目のストリームの再生表示時間Ｔ（ｎ−１）を引算した差Ａ（ｎ）＝［Ｔｔ（ｎ）＋ｃ（ｎ）−Ｔ（ｎ−１）］を求め、全てのｎについてこの差Ａ（ｎ）の最大値ｇを求め、このｇと等しいか又はより長い時間をクライアントにおいて１番目のストリームの受信開始後その再生表示を開始するまでのデータ蓄積時間とする方法。
【請求項１１】
ネットワークを介してサーバーからクライアントへ送信される複数の圧縮された動画と音声の多重化されたストリームをクライアントで再生表示するプログラム手段を記憶したコンピュータの読取り可能な記憶媒体において、
サーバーが順次にクライアントへ向けて送信するストリームを順次に受信し、サーバーとは独立に受信順にメモリ内に格納し、順次伸張し、受信伸張と並行して再生表示するプログラム手段を有することを特徴とする記憶媒体。
【請求項１２】
クライアントにおいてストリームの前記再生表示の開始又は終了時期に毎回信号をサーバーに送信してサーバーにストリームの送信を開始せしめるプログラム手段をさらに有する請求項１１に記載の記憶媒体。
【請求項１３】
ネットワークを介してサーバーからクライアントへ送信して表示する複数の圧縮された動画と音声の多重化されたストリームを記憶したコンピュータが読取り可能な記憶媒体において、
ｎ番目（ｎは２以上の任意の自然数）のストリームの圧縮後の平均データレートＲ（ｎ）が、クライアントにおいて１番目から（ｎ−１）番目までのストリームの総表示時間Ｔ（ｎ−１）に１番目のストリームの伸張に要する時間ｃ（１）を加えてｎ番目のストリームの伸張に要する時間ｃ（ｎ）を引いて使用するネットワークの実効伝送速度Ｗを乗じた値［Ｔ（ｎ−１）＋ｃ（１）−ｃ（ｎ）］Ｗから、２番目から（ｎ−１）番目までのストリームの総バイト数Ｂ（ｎ−１）を引き（但し、ｎ＝２の時はＢ（１）をゼロ値とする）さらに別途に追加されるヘッダ等のバイト総数Ｈを引いてこれをｎ番目のストリームの表示時間Ｄｔ（ｎ）で割った値｛［Ｔ（ｎ−１）＋ｃ（１）−ｃ（ｎ）］Ｗ−Ｂ（ｎ−１）−Ｈ｝／Ｄｔ（ｎ）以下であることを特徴とする記憶媒体。
【請求項１４】
ネットワークを介してサーバーからクライアントへ複数の圧縮された動画と音声の多重化されたストリームを送信して表示するシステムにおいて、ｎ番目（ｎは２以上の任意の自然数）のストリームについてサーバ・クライアント間の送受信に要する時間ｔ（ｎ）とクライアントにおいて伸張に要する時間ｃ（ｎ）との和［ｔ（ｎ）＋ｃ（ｎ）］が、クライアントにおいて（ｎ−１）番目のストリームの表示時間Ｄｔ（ｎ−１）からクライアントからサーバーへの信号の送信に要する時間ｐを引いた値［Ｄｔ（ｎ−１）−ｐ］よりも短いことを特徴とするシステム。
【請求項１５】
ネットワークを介してサーバーからクライアントへ複数ｎ（ｎは２以上の自然数）の圧縮された動画と音声の多重化されたストリームを送信して表示するシステムにおいて、サーバー・クライアント間で１番目からｎ番目のストリームを送受信するに要する時間Ｔｔ（ｎ）とｎ番目のストリームをクライアントにおいて伸張に要する時間ｃ（ｎ）との和［Ｔｔ（ｎ）＋ｃ（ｎ）］から、クライアントにおいて１番目から（ｎ−１）番目のストリームの表示時間Ｔ（ｎ−１）を引算した差Ａ（ｎ）＝［Ｔｔ（ｎ）＋ｃ（ｎ）−Ｔ（ｎ−１）］を求め、全てのｎについてこの差Ａ（ｎ）の最大値ｇを求め、このｇと等しいか又はより長い時間をクライアントにおいて１番目のストリームの受信開始後その表示を開始するまでのデータ蓄積時間とするシステム。
【発明の詳細な説明】
技術分野
本発明は、連続して再生可能な動画映像と音声のストリームの作成方法、送受信方法およびその装置に関する。本発明は特に簡潔なプログラム構成でネットワークを介して動画映像と音声を送信して最小の待ち時間で視聴開始ができ、しかも表示中断やコマ落ちがなく且つ保存も同時にされて後からの再生表示も容易で、さらにユーザ入力に応じた動画映像と音声を対話式に配信して表示することのできる方法及びその装置に関する。
産業上の利用可能性
本発明は、ネットワーク（公衆電話通信網を含む）を介して、動画と音声を含むコンテンツを配信する産業に利用できる。
背景技術
従来の動画映像と音声の送信方式としては、ストリーミング再生技術が知られている。これはサーバーでストリームデータを動画映像と音声に分離してフレーム単位のフレームデータとし、このフレームデータを送信パケットに格納してクライアントへ送信するものである。サーバーとクライアント端末が公衆電話回線等のネットワークを介して接続後、ネゴシエーションを行なった後に送受信を開始し、クライアント端末上で表示中断やコマ落ちをしないように一定時間（例えば４ないし５秒程度）のバッフアリングをした後に表示を開始する。サーバーからの送出とクライアント端末での表示は同期を取って行なわれる。このためサーバーとクライアントを一体的に同期する必要のため、サーバーは各フレームの送出タイミングの時刻データを付してクライアント端末に送出し、クライアント端末では伸張の済んだ各フレームを各々の時刻タイミングにより表示を行う。すなわち、サーバーの送信プログラムで１フレーム毎の表示タイミングを制御している。
このストリーミング再生方式では、クライアント端末においては受信の際に表示をすることができるだけで、保存して後からクライアント端末上で単独再生することができない。
また、各フレーム毎のデータ量は異なるので、現在多用されている圧縮効率の高いバリアブルビットレートで圧縮されたストリームの場合はフレーム毎の映像データの符号量に大きな差が有り、最大符号量のフレームを基準に送信と表示の同期を取るため、符号量の少ないフレームではパケットの空いた部分にスタッフイングバイトを入れるなどしてフレーム毎の送信時間を均一にして表示との同期を取っており、このために送信効率がかなり低下する問題がある。
また、フレーム間予測符号化により圧縮されたストリームでは、クライアント端末で伸張単位分のフレームデータが揃わないと伸張できない場合があり、受信開始後表示開始するまでのバッフアリング時間を十分に取らないと表示中に中断とコマ落ちや画像の崩れが度々発生する問題がある。この方式では、帯域幅に十分に余裕のあるネットワークかＡＴＭネットワークを使用する環境ならば、フレーム毎の符号量にかかわらず、フレーム毎の送信時間が一定にできるので鑑賞に耐える映像品質が維持できるが、公衆電話回線等の狭帯域のネットワークでは問題が多く発生し、実用性が低かった。
また、下位層の通信プロトコルを使用せずに直接パケットをアプリケーションで受信する方式のため、必ず１ストリーム毎に数秒間程度のネゴシエーションに要する時間が必要で、表示一時停止後の即時表示再開や、クライアント端末から次々に発せられるユーザ選択に応じて即座にサーバーからストリームを送信して表示すると言った、インタラクテイブ（対話）形式の応用には全く不可能であった。なお、帯域幅を広くして映像品質を相対的に向上させても、送信効率やバッフアリング時間は改善されず、ネゴシエーション時間も無くなるわけではない。さらに上述の様に受信データの保存ができないため、後から再生できず利用の幅を狭めていた。
別の従来技術としては、独立再生形式の１本のストリームのデータをサーバーからクライアント端末のラムディスクにダウンロードし、ある程度のデータがダウンロードされたら、受信と並行してデータの読み出し伸張表示を行うプログレッシング・ダウンロードが知られている。映像音声はサーバーに蓄積されている状態で再生するのと同じ品質でクライアント端末に表示することができ、後で何度でも単独で再生することができるが、ストリームがバリアブルビットレートで圧縮されている場合、受信時間と受信データの表示時間の関係は不定なので、受信開始後表示開始するまでの時間をどの位に取れば最後まで中断無く表示できるか正確には分からないため、受信開始から表示開始までの時間をかなり必要としたり、表示時間の長いストリームだと表示の中断を起こし易く、表示が停止した後、表示を再開するにはユーザのクリックを必要とする等の問題があった。
また、送受信と表示とは同期していないので、端末において表示場面に対応したユーザ選択処理ができず、ストリームの表示中にユーザの選択に応じて次のストリームをサーバーで選択処理して端末に送って表示するという、インタラクティブ（対話式）処理ができなかった。
さに、ストリーミング再生もプログレッシブ・ダウンロードもクライアント端末からの要求とサーバーからの送信、クライアント端末での受信、伸張、表示は一体で、伸張表示するストリームは各送受信伸張表示方式で決められた形式のものしか使用できないという制約がある。
上述したように従来技術では、ネットワークを介してサーバーからクライアントへ動画と音声を送信する際に、ネゴシエーションの時間が必要であり、さらに表示中断やコマ落ちを避けるためクライアント側で受信開始後に一定時間データの蓄積を必要とするため、クライアント側のユーザの待ち時間が長いという問題点がある。この待ち時間の長さはユーザが最も問題とする点でもある。また、サーバーからの動画と音声の送出とクライアントでの再生表示を同期させるためのプログラムが複雑でありサーバーとクライアントに対して高負担を課すという問題点ある。また、狭帯域のネットワークを介して表示の中断やコマ落ち等を発生せずに効率良く特定の部分だけ高画質及び／又は高フレームレートにして配信することができないという問題点がある。さらに、クライアント側のユーザ入力に応じてインタラクティブ（対話式）に動画を選択して且つ表示中断やコマ落ちを発生することなく円滑に配信することができないという問題点がある。さらに、従来技術のストリーミング再生技術では受信した動画と音声の保存ができず、後で単独再生できないという問題点がある。
発明の開示
上記問題点に鑑み本発明の目的は、連続再生可能な動画と音声の多重化された複数のストリーム（バリアブルビットレート圧縮も含む）をサーバから送信し、クライアント側でサーバーから独立して受信開始後に極短時間で表示開始でき、受信ストリームの保存もできる送信効率の高いサーバーからクライアントへの動画及び音声の作成方法、送受信方法およびその装置を提供することである。
また、本発明の別の目的は、表示の中断やコマ落ちを発生することなく動画と音声ストリームを表示することができ、また任意のストリーム部分を他の部分よりも高画質及び／又は高音質に再生表示することができる、ストリームの作成方法、送信効率の高いストリームの圧縮伸張方法、ストリームの送受信表示方法およびその装置を提供することである。
また、本発明の別の目的は、ユーザの選択に応じてクライアント側で動画と音声が早い応答速度で円滑に反応するように、サーバーとクライアント間のストリームの選択的送受信処理方法、動画映像と音声の同期表示方法およびその装置を提供することである。
さらに、本発明の他の目的は、動画映像と音声をサーバーとクライアント間で配信するために必要な非常に小さなプログラムサイズを有し、オペレーションシステムを選ばず、使用プロトコルも自由に選べる高移植性と、単独で再生できる形式のストリームであればどのような圧縮形式のストリームでも取扱うことのできる高い汎用性を持ったサーバからクライアントへ品質の良いリアルタイムの動画映像を狭帯域のネットワークを介して配信することのできる方法およびその装置を提供することである。
本発明によれば、ネットワークを介してサーバーからクライアントへ複数の圧縮された動画と音声が多重化されたストリームを送信してクライアントで再生表示する方法において、サーバーはクライアントへストリームを順次に送信し、クライアントはストリームを順次に受信し、サーバーとは独立に受信順にメモリ内に格納し、順次伸張し、受信伸張と並行して再生表示することを特徴とする方法が提供される。
この方法によれば、サーバーがストリームを順次に送信しさえすれば、クライアントはサーバーとは独立に受信順にストリームをメモリに格納し、順次伸張し、並行して再生表示するので、サーバーとクライアント間で特別な同期を必要とせず、簡潔なプログラムで効率良く動画と音声の配信をネットワークを介してできる。
また、この方法は、クライアントはストリームの前記再生表示の開始又は終了時期に毎回信号をサーバーに送信し、サーバーではこの信号を受信後にストリームの前記送信をするステップをさらに含むことができる。このステップによればサーバーのストリーム送出とクライアントのストリーム再生表示との間に同期関係を持たせることができる。
さらにこの方法ではストリームの一端にストリーム間の連結を示す識別子を付して、クライアントで受信時にメモリに格納する際に利用して、受信を容易確実にしてもよい。
本発明によれば、ネットワークを介してサーバーからクライアントへ複数の圧縮された動画と音声のストリームを送信して再生表示する方法であって、サーバーは１番目のストリームをクライアントへ送出し、クライアントは１番目のストリームをサーバーから受信後に直ちに伸張して再生表示し、サーバーは１番目のストリームの送出後に直ちに２番目のストリームを送出し、クライアントは１番目のストリームを再生表示中に２番目のストリームを受信して伸張して１番目のストリーム表示終了後に直ちに２番目のストリームを中断なく再生表示し、順次以降のストリームを送信して再生表示する方法において、２番目のストリームについて、サーバ・クライアント間の送受信に要する時間ｔ（２）とクライアントにおいて伸張に要する時間ｃ（２）との和［ｔ（２）＋ｃ（２）］が、クライアントにおいて１番目の再生表示時間Ｄｔ（１）と１番目のストリームの伸張に要する時間ｃ（１）との和［Ｄｔ（１）＋ｃ（１）］よりも短く、ｎ番目（ｎは３以上の任意の自然数）のストリームについて、サーバ・クライアント間の送受信に要する時間ｔ（ｎ）とクライアントにおいて伸張に要する時間ｃ（ｎ）との和［ｔ（ｎ）＋ｃ（ｎ）］が、クライアントにおいて１番目から（ｎ−１）番目までのストリームの総再生表示時間Ｔ（ｎ−１）と１番目のストリームの伸張に要する時間ｃ（１）との和［Ｔ（ｎ−１）＋ｃ（１）］からサーバー・クライアント間で２番目のストリームの送信開始から（ｎ−１）番目のストリームの受信終了までの送受信に要する時間Ｔ’（ｎ−１）を引いた値［Ｔ（ｎ−１）＋ｃ（１）−Ｔ’（ｎ−１）］よりも短いことを特徴とする方法が提供される。
この方法によれば、ネットワークを介して動画と音声を受信する時、１番目のストリームのデータ量を小さくする程、待ち時間をできるだけ少なくして表示することができ、しかもその後に再生表示時に再生表示中断等の不具合無しに円滑に再生表示することができる効果を有する。
また、本発明によれば、ネットワークを介してサーバーからクライアントへ送信して再生表示する複数の圧縮された動画と音声の多重化されたストリームを作成する方法において、ｎ番目（ｎは２以上の任意の自然数）のストリームの圧縮後の平均データレートＲ（ｎ）を、クライアントにおいて１番目から（ｎ−１）番目までのストリームの総再生表示時間Ｔ（ｎ−１）に１番目のストリームの伸張に要する時間ｃ（１）を加えてｎ番目のストリームの伸張に要する時間ｃ（ｎ）を引いて使用するネットワークの実効伝送速度Ｗを乗じた値［Ｔ（ｎ−１）＋ｃ（１）−ｃ（ｎ）］Ｗに２番目から（ｎ−１）番目までのストリームの総バイト数Ｂ（ｎ−１）を引き（但し、ｎ＝２の時はＢ（１）をゼロ値とする）さらに別途に追加されるヘッダ等のバイト総数Ｈを引いてこれをｎ番目のストリームの表示時間Ｄｔ（ｎ）で割った値｛［Ｔ（ｎ−１）＋ｃ（１）−ｃ（ｎ）］Ｗ−Ｂ（ｎ−１）−Ｈ｝／Ｄｔ（ｎ）以下にすることを特徴とする方法が提供される。
この方法により作成されたストリームは、ネットワークを介して配信する際に待ち時間を最小にして再生表示でき、しかも途中で再生表示中断を生ずることなくクライアント上で円滑に視聴できるという効果を有する。
また、本発明によれば、ネットワークを介してサーバーからクライアントへ送信して再生表示する複数の圧縮された動画と音声の多重化されたストリームを、あるストリームを相対的に高画質又は高フレームレートで表示するように作成する方法において、２番目のストリームを相対的に高画質又は高フレームレートにする場合は、１番目のストリームの再生表示時間Ｄｔ（１）と１番目のストリームの伸張に要する時間ｃ（１）との和［Ｄｔ（１）＋ｃ（１）］が長くなるように、１番目のストリームの圧縮後の平均データレートをネットワークの実効伝送速度Ｗよりも低めに設定して、２番目のストリームの圧縮後の平均データレートをネットワークの実効伝送速度Ｗよりも高くし、ｎ番目（ｎは３以上の任意の自然数）のストリームを相対的に高画質又は高フレームレートにする場合は、クライアントにおいて１番目から（ｎ−１）番目までのストリームの総再生表示時間Ｔ（ｎ−１）と１番目のストリームの伸張に要する時間ｃ（１）との和［Ｔ（ｎ−１）＋ｃ（１）］からサーバー・クライアント間で２番目のストリームの送信開始から（ｎ−１）番目のストリームの受信終了までの送受信に要する時間Ｔ’（ｎ−１）を引いた値［Ｔ（ｎ−１）＋ｃ（１）−Ｔ’（ｎ−１）］が大きくなるようにして、ｎ番目のストリームの圧縮後の平均データレートをネットワークの実効伝送速度Ｗよりも高くすることを特徴とする方法が提供される。
この方法によれば、複数のストリーム中の一部を相対的に高画質及び／又は高フレームレートにしてネットワークを介して送信することができる効果を有する。
また本発明によれば、ネットワークを介してサーバーからクライアントへ複数の圧縮された動画と音声の多重化されたストリームを送信して表示する方法において、ｎ番目（ｎは２以上の任意の自然数）のストリームについてサーバ・クライアント間の送受信に要する時間ｔ（ｎ）とクライアントにおいて伸張に要する時間ｃ（ｎ）との和［ｔ（ｎ）＋ｃ（ｎ）］が、クライアントにおいて（ｎ−１）番目のストリームの再生表示時間Ｄｔ（ｎ−１）からクライアントからサーバーへの信号の送信に要する時間ｐを引いた値［Ｄｔ（ｎ−１）−ｐ］よりも短いことを特徴とする方法が提供される。
この方法によれば、ネットワークを介してサーバーからのストリームの送出とクライアント上のストリーム再生表示との同期を簡単な方法で取ることができ、クライアントで受信ストリームが溜まることを回避することができる。さらにユーザの選択に応じた画像又は音声をインタラクテイブ（対話式）に配信できる効果がある。
また、本発明によれば、ネットワークを介してサーバーからクライアントへ送信する複数の圧縮された動画と音声の多重化されたストリームを作成する方法において、ｎ番目（ｎは２以上の任意の自然数）のストリームの圧縮後の平均データレートＲ（ｎ）を、クライアントにおいて（ｎ−１）番目のストリームの再生表示時間Ｄｔ（ｎ−１）からクライアントからサーバーへの信号の送信に要する時間ｐを引き、さらにｎ番目のストリームの伸張に要する時間ｃ（ｎ）を引いて、使用するネットワークの実効伝送速度Ｗを乗じた値［Ｄｔ（ｎ−１）−ｐ−ｃ（ｎ）］Ｗから、ヘッダ等の追加バイトｈを引き、ｎ番目のストリームの再生表示時間Ｄｔ（ｎ）で割った値｛Ｄｔ（ｎ−１）−ｐ−ｃ（ｎ）］Ｗ−ｈ｝／Ｄｔ（ｎ）以下にすることを特徴とする方法が提供される。
この方法によれば、ネットワークを通じてサーバーからのストリームの送出とクライアントでの再生表示との同期を簡単にできて、クライアントで受信ストリームの滞留を生ぜずに円滑に再生表示できる動画と音声のコンテンツを作成できる効果がある。さらに、この方法は容易にインタラクティブなコンテンツを作成することができる。
また本発明によれば、ネットワークを介してサーバーからクライアントへ送信して表示する複数の圧縮された動画と音声の多重化されたストリームを作成する方法において、ｎ番目（ｎは２以上の任意の自然数）のストリームを相対的に高画質又は高フレームレートにするため、クライアントにおいて（ｎ−１）番目のストリームの再生表示時間Ｄｔ（ｎ−１）を、（ｎ−１）番目のストリームのサーバ・クライアント間の送受信に要する時間ｔ（ｎ−１）と伸張に要する時間ｃ（ｎ−１）との和［ｔ（ｎ−１）＋ｃ（ｎ−１）］より長くし、ｎ番目のストリームのサーバー・クライアント間の送受信に要する時間ｔ（ｎ）がその再生表示時間Ｄｔ（ｎ）よりも長くなるようにしたことを特徴とする方法が提供される。
この方法によれば、ネットワークを通じて配信できるインタラクテイブな動画映像のコンテンツの一部を特に相対的に高画質及び／又は高フレームレートで作成できる効果がある。
また本発明によれば、ネットワークを介してサーバーからクライアントへ複数ｎ（ｎは２以上の自然数）の圧縮された動画と音声の多重化されたストリームを送信して表示する方法において、サーバーからの１番目からｎ番目のストリームをクライアント間で受信するのに要する時間Ｔｔ（ｎ）とｎ番目のストリームをクライアントにおいて伸張するのに要する時間ｃ（ｎ）との和［Ｔｔ（ｎ）＋ｃ（ｎ）］から、クライアントにおいて１番目から（ｎ−１）番目のストリームの再生表示時間Ｔ（ｎ−１）を引算した差Ａ（ｎ）＝［Ｔｔ（ｎ）＋ｃ（ｎ）−Ｔ（ｎ−１）］を求め、全てのｎについてこの差Ａ（ｎ）の最大値ｇを求め、このｇと等しいか又はより長い時間をクライアントにおいて１番目のストリームの受信開始後その再生表示を開始するまでのデータ蓄積時間とする方法が提供される。
この方法によれば、ネットワークを介して動画映像を再生表示中断を生ぜずにしかもクライアント側での待ち時間を最小にして表示することができる効果がある。
また、本発明によれば、ネットワークを介してサーバーからクライアントへ送信される複数の圧縮された動画と音声の多重化されたストリームをクライアントで再生表示するプログラム手段を記憶したコンピュータの読取り可能な記憶媒体において、サーバーが順次にクライアントへ向けて送信するストリームを順次に受信し、サーバーとは独立に受信順にメモリ内に格納し、順次伸張し、受信伸張と並行して再生表示するプログラム手段を有することを特徴とする記憶媒体が提供される。
この記憶媒体によれば、簡潔な構成でもってネットワークを介して動画映像と音声をクライアントで受信し、待ち時間を最小にして再生表示することができ、しかも再生表示中断等の不具合無しに円滑に再生表示することができ、さらに繰返し再生表示もできる。
またこの記憶媒体は、クライアントにおいてストリームの前記再生表示の開始又は終了時期に毎回信号をサーバーに送信してサーバーにストリームの送信を開始せしめるプログラム手段をさらに有してもよい。このプログラム手段によれば、サーバーのストリーム送出とクライアントのストリーム再生表示との間に同期関係を持たせることができる。
また、本発明によれば、ネットワークを介してサーバーからクライアントへ送信して表示する複数の圧縮された動画と音声の多重化されたストリームを記憶したコンピュータが読取り可能な記憶媒体において、ｎ番目（ｎは２以上の任意の自然数）のストリームの圧縮後の平均データレートＲ（ｎ）が、クライアントにおいて１番目から（ｎ−１）番目までのストリームの総再生表示時間Ｔ（ｎ−１）に１番目のストリームの伸張に要する時間ｃ（１）を加えてｎ番目のストリームの伸張に要する時間ｃ（ｎ）を引いて使用するネットワークの実効伝送速度Ｗを乗じた値［Ｔ（ｎ−１）＋ｃ（１）−ｃ（ｎ）］Ｗから、２番目から（ｎ−１）番目までのストリームの総バイト数Ｂ（ｎ−１）を引き（但し、ｎ＝２の時はＢ（１）をゼロ値とする）さらに別途に追加されるヘッダ等のバイト総数Ｈを引いてこれをｎ番目のストリームの再生表示時間Ｄｔ（ｎ）で割った値｛［Ｔ（ｎ−１）＋ｃ（１）−ｃ（ｎ）］Ｗ−Ｂ（ｎ−１）−Ｈ｝／Ｄｔ（ｎ）以下であることを特徴とする記憶媒体が提供される。
この記憶媒体によれば、この媒体に記憶された動画と音声が多重化されたストリームは、ネットワークを介して待ち時間を最小にし且つ再生表示中断を生ずることなくクライアントで再生表示できるという効果を有する。
また、本発明によれば、ネットワークを介してサーバーからクライアントへ複数の圧縮された動画と音声の多重化されたストリームを送信して表示するシステムにおいて、ｎ番目（ｎは２以上の任意の自然数）のストリームについてサーバ・クライアント間の送受信に要する時間ｔ（ｎ）とクライアントにおいて伸張に要する時間ｃ（ｎ）との和［ｔ（ｎ）＋ｃ（ｎ）］が、クライアントにおいて（ｎ−１）番目のストリームの表示時間Ｄｔ（ｎ−１）からクライアントからサーバーへの信号の送信に要する時間ｐを引いた値［Ｄｔ（ｎ−１）−ｐ］よりも短いことを特徴とするシステムが提供される。
このシステムによれば、簡単な手段でサーバーからのストリームの送出とクライアントでのストリームの再生表示との同期をとることができ、クライアントで受信ストリームの滞留なく円滑な再生表示が可能である。さらに、このシステムによれば、インタラクティブな動画映像と音声をネットワークを介して円滑に表示することができるという効果を有する。
また、本発明によれば、ネットワークを介してサーバーからクライアントへ複数ｎ（ｎは２以上の自然数）の圧縮された動画と音声の多重化されたストリームを送信して表示するシステムにおいて、サーバーからの１番目からｎ番目のストリームをクライアント間で受信するに要する時間Ｔｔ（ｎ）とｎ番目のストリームをクライアントにおいて伸張に要する時間ｃ（ｎ）との和［Ｔｔ（ｎ）＋ｃ（ｎ）］から、クライアントにおいて１番目から（ｎ−１）番目のストリームの表示時間Ｔ（ｎ−１）を引算した差Ａ（ｎ）＝［Ｔｔ（ｎ）＋ｃ（ｎ）−Ｔ（ｎ−１）］を求め、全てのｎについてこの差Ａ（ｎ）の最大値ｇを求め、このｇと等しいか又はより長い時間をクライアントにおいて１番目のストリームの受信開始後その表示を開始するまでのデータ蓄積時間とするシステムが提供される。
このシステムによれば、ネットワークを介して動画映像と音声を最小の待ち時間でもって円滑に表示することができるという効果を有する。
以下、本発明を添付図面を参照して詳細に説明する。
発明を実施するための最良の形態
図１を参照して、本発明の第１実施の形態を説明する。第１実施の形態では、ソースの動画映像と音声の多重化データを所定の時間間隔で分割し、各々を所定のデータレートで圧縮したストリームを使用する。この圧縮されたストリームをサーバー１の記憶装置２に記憶しておき、クライアント３からの要求がネットワーク４を介してあれば、順次にネットワーク４を介して送信する。ネットワーク４はインターネットでも、有線の公衆電話回線でも、携帯電話器用の無線公衆ネットワークでもよい。このネットワーク４に接続するクライアント３も例えば、デスクトップのパーソナルコンピュータでも、ノート型パーソナルコンピュータでも、またコンピュータ機能を有する携帯電話器又は携帯情報端末器でもよい。
複数の圧縮された動画と音声が多重化されたストリームｓ（１）、ｓ（２）、…、ｓ（ｎ）を作成するには、まずビデオテープ又はビデオディスク等に記録されたソースの音付動画映像をフレーム内符号化による圧縮方式でコンピュータに取込む。この圧縮された動画映像と音声を複数に分割し、各々を個別に映像はソレンセンビデオ等の圧縮方式で、音声はＩＭＡ等の圧縮方式で各々を後述の適切なデータサイズに圧縮し、例えばＱｕｉｃｋＴｉｍｅの形式で多重化してストリームｓ（１）、ｓ（２）、…、ｓ（ｎ）とする。これらストリームをサーバー１の記憶装置２に格納する。圧縮方式は問わないが、フレーム内予測符号化とフレーム間予測符号化を用いた圧縮効率の高いバリアブルビットレートで圧縮されたストリームでも可能で、この方式で圧縮されたストリームを前提として以下の説明を行なう。
なお、明細書の中の説明では圧縮した動画映像と音の多重化された単位をストリームと表現している。このストリームの作成は、上記の様にソースの動画映像音声を分割した後に個々に圧縮しても良いし、ソースの動画映像と音声を時間で分割せずに一括圧縮して、圧縮単位毎に異なるデータレートを設定できれば以下に詳述する本発明の上記したストリームを作成することができる。ストリームは送信する際の単位でもあり、伸張する際の単位でもある。従って、以下の説明では、ストリームを伸張単位とも呼ぶことがある。後で説明するように、この複数のストリーム（伸張単位）はサーバ・クライアント間をフアイル転送により順次に送信される。
この第１実施の形態においては、クライアント３ではサーバー１からの１番目（開始）ストリームを受信後に伸張して直ちに再生表示を開始する。サーバー１は１番目ストリームの送信後、直ちに２番目ストリームの送信を開始する。クライアント３では１番目ストリームの再生表示中同時に２番目ストリームの受信と伸張を行い、１番目ストリームの表示終了後に直ちに２番目ストリームを中断が生ずることなく連続して再生表示する。そして３番目以降のストリームについても、同様の操作が繰り返されて、クライアント３上では動画映像とその音声が再生表示の中断やコマ落ちすることなく円滑に再生表示されるようになる。
このためには、以下の図２に説明する操作と処理によりストリームを圧縮し、送信し、そして表示する。
図２においては、ｎ番目（ｎは自然数）のストリームｓ（ｎ）の送受信時間をｔ（ｎ）、ｎ番目のストリームのクライアントでの伸張等の表示準備に要する時間をｃ（ｎ）、再生表示時間をＤｔ（ｎ）、ストリームバイト数をｂ（ｎ）、ストリームの設定平均データレートをＲ（ｎ）、ヘッダ等の追加バイト数をＨ、使用ネットワーク４の実効伝送速度をＷとする。
サーバー１はクライアント３から要求後に、第１番目ストリームｓ（１）を送信する。クライアント３は１番目ストリームｓ（１）を送受信時間ｔ（１）内で受信してクライアント３内の図示しないメモリ内に記憶し、１番目ストリームｓ（１）の受信をｔ（１）時間後に完了したら、これを伸張時間ｃ（１）で伸張して直ちに再生表示を開始する。サーバ１は１番目ストリームｓ（１）の送出の完了後、直ちに２番目ストリームｓ（２）の送出を開始する。クライアントでは２番目ストリームｓ（２）の受信を１番目ストリームｓ（１）の伸張時間中ｃ（１）と再生表示時間中Ｄｔ（１）に並行して行なう。クライアント３は１番目ストリームｓ（１）の再生表示が完了したら受信伸張済みの２番目ストリームｓ（２）の再生表示を直ちに開始する。以降、このようにストリームの再生表示が終了したら引き続き次のストリームの再生表示を中断無く開始すると言った処理を繰り返す。
別の伸張と再生表示時の処理方法としては、クライアンに受信された順番によりストリーム毎に伸張してデータを表示バッフアに追加して行き、表示は１本のストリームを表示していく場合と同様に所定のタイミングで、先頭のフレームデータから順に表示していく。
クライアントでストリーム受信後に直ちに伸張と再生表示し、その後中断無く再生表示を続けるためには、各ストリームの表示が完了した時点で、次に再生表示されるべきストリームの受信と伸張が必ず完了している必要がある。
このためには、図２から理解されるようにｎが３以上の自然数の場合、ストリームｓ（ｎ）の送受信時間ｔ（ｎ）と伸張時間ｃ（ｎ）を加えた時間［ｔ（ｎ）＋ｃ（ｎ）］は、ストリームｓ（１）からストリームｓ（ｎ−１）までの総再生表
2002023908.tif 000003
た直［Ｔ（ｎ−１）＋ｃ（１）］から、ストリームｓ（２）からストリームｓ（ｎ
2002023908.tif 000004
ｃ（１）−Ｔ’（ｎ−１）］よりも短くなければならない。すなわち、［ｔ（ｎ）＋ｃ（ｎ）］＜［Ｔ（ｎ−１）＋ｃ（１）−Ｔ’（ｎ−１）］の関係を有するようして、各ストリームｓ（ｎ）を送信する。
ｎ＝２、すなわち２番目のストリームｓ（２）の場合については、２番目のストリームのサーバ・クライアント間の送受信に要する時間ｔ（２）とクライアントにおいて伸張に要する時間ｃ（２）との和［ｔ（２）＋ｃ（２）］が、クライアントにおいて１番目の再生表示時間Ｄｔ（１）と１番目のストリームの伸張に要する時間ｃ（１）との和［Ｄｔ（１）＋ｃ（１）］よりも短くなければならない。すなわち、［ｔ（２）＋ｃ（２）］＜［Ｄｔ（１）＋ｃ（１）］の関係を有するようにして送信する。
上述した関係を満たすためには、ｎが２以上の自然数の場合、ソースのｎ番目の分割映像音声を圧縮してストリームｓ（ｎ）を製作する時の設定平均データレートＲ（ｎ）を、ストリームｓ（１）からストリームｓ（ｎ−１）までの総再生
2002023908.tif 000005
え、ストリームｓ（ｎ）の伸張時間ｃ（ｎ）を引算した時間に、使用するネットワークの実効伝送速度Ｗを乗じた値［Ｔ（ｎ−１）＋ｃ（１）−ｃ（ｎ）］Ｗから、ストリームｓ（２）からストリームｓ（ｎ−１）の総バイト数Ｂ（ｎ−１）＝
2002023908.tif 000006
されるヘッダ等のバイト数Ｈを引算して得られた値を、ストリームｓ（ｎ）の表示時間Ｄｔ（ｎ）で割った値｛［Ｔ（ｎ−１）−ｃ（１）−ｃ（ｎ）］Ｗ−Ｂ（ｎ−１）−Ｈ｝／Ｄｔ（ｎ）、以下に設定する。
すなわち、上述に従ってストリームｓ（ｎ）作成の際に必要となる圧縮時に設定する平均データレートＲ（ｎ）の算出式は式１に示されるものである。
2002023908.tif 000007
ある特定のストリームｓ（ｎ）（ｎは３以上の任意の自然数）の画質やフレームレート等を他のストリームよりも相対的に高くしたい場合には、この特定のストリームｓ（ｎ）の平均データレートＲ（ｎ）を、使用するネットワークの実行伝送速度Ｗより高くする必要がある。
このためには、ストリームｓ（１）からストリームｓ（ｎ−１）までの総再生
2002023908.tif 000008
えた時間からストリームｓ（２）からストリームｓ（ｎ−１）までの総送受信時
2002023908.tif 000009
がより長くなるように、ストリームＳ（２）からストリームｓ（ｎ−１）を作成する際にそれらの設定データレートを実効伝送速度Ｗより低めにして圧縮を行なう。
これにより、ストリームｓ（ｎ）はその再生表示時間Ｄｔ（ｎ）より、データの送受信時間ｔ（ｎ）を長く取ることができるので、ストリームｓ（ｎ）作成時の設定平均データレートＲ（ｎ）を実効伝送速度Ｗより高く設定することが可能となり、ストリームｓ（ｎ）の画質やフレームレート等を他のストリームより高くすることができる。
もし２番目ストリームｓ（２）の画質やフレームレートを相対的に高くしたい時には、１番目ストリームｓ（１）の再生表示時間Ｄｔ（１）と１番目ストリームｓ（１）の伸張時間ｃ（１）との和［Ｄｔ（１）＋ｃ（１）］が長くなるように、１番目ストリームｓ（１）の圧縮後の平均データレートＲ（１）をネットワークの実効伝送速度Ｗよりも低めに設定して、２番目ストリームｓ（２）の圧縮後の平均データレートＲ（２）をネットワークの実効伝送速度Ｗよりも高くして画質やフレームレートを高くする。
上述した方法でもって動画映像と音声の圧縮された複数のストリームｓ（１）、ｓ（２）、…、ｓ（ｎ）をサーバー１からクライアント３へ送信すると、図２の最下段に示されるように、クライアント３において中断することなくストリームを連続して再生表示することができる。すなわち、複数のストリームｓ（１）、ｓ（２）、…、ｓ（ｎ）は連続再生可能に形成されている。
なお、一般的に圧縮後の実際のストリームデータレートは圧縮時に設定するデータレートとは異なることがあるので、この場合は圧縮後のストリームデータレートがほぼ本来算出された設定データレートになるまで、設定データレートを適宜増減させて圧縮を繰り返して行なう。
また、実効伝送速度Ｗは、ネットワーク、ハードウエア、ソフトウエア環境で変化するので、設定する実効伝送速度は実際の環境でテストした上で決める。
次に図３を参照して、本発明の第２実施の形態を説明する。この第２実施の形態では、サーバーからストリームの送出とクライアントでのストリームの再生表示との間に同期関係を有し、サーバがクライアントから信号を受信した後にストリームの送信を開始できる。
前述の第１実施の形態では、サーバー１からの各ストリームの送信は連続して行なわれ、クライアント３に蓄積される未再生表示のストリームデータの量は不定で、クライアント３でのストリーム表示とサーバーからのストリーム送信開始は同期していない。このため、クライアント側で受信ストリームが過剰に蓄積される場合もあり得るが、この第２の実施の形態ではこれを回避できる。
さらに、いわゆる対話（インタラクテイブ）式に動画映像／音声を送信する方法が可能である。このインタラクテイブ方式で動画映像を送信する技術が特願平１０−１７２７０１号やＰＣＴ／ＪＰ／９９／０７１１６の特許出願に開示されている。ストリーム再生表示中にクライアント３からのユーザ入力を受けて、サーバー１が次に送信するストリームを選択して送信する場合には、各ストリームの送信と再生表示を同期させながら行う必要がある。
第２の実施の形態では、クライアント３でストリームの再生表示終了時期又はストリームが再生表示開始時期に、サーバー１に数バイト程度の信号を送信し、サーバー１ではこの信号を受信したら次のストリームの送信を開始するようにする。
図３に示される本発明の第２実施の形態では、第１実施の形態と同様にクライアント３において１番目（開始）ストリームの受信後に直ちに再生表示開始しそれ以降のストリームも中断することなく再生表示されるが、それ以降のストリームはクライアント３からの信号に応答してサーバー１から送信する構成である。すなわち、サーバー１からのストリームの送出とクライアント３でのストリームの再生表示との間に同期を持たせることができる。
このように、クライアント３でのストリーム再生表示とサーバー１からのストリーム送信開始を同期させる第２実施の形態においては、ストリームｓ（ｎ）の送受信時間をｔ（ｎ）、伸張時間をｃ（ｎ）、再生表示時間をＤｔ（ｎ）、ストリームバイト数をｂ（ｎ）、使用ネットワーク実効伝送速度をＷ、ヘッダ等のバイト数をｈ、クライアントからサーバーへの信号伝送時間をｐとする。
サーバー１から送信したストリームｓ（ｎ−１）の再生表示開始時期と、次に送信するストリームｓ（ｎ）の送出開始時期を同期させるために、クライアント３では受信伸張したストリームｓ（ｎ−１）の再生表示を開始する時、サーバー１に対して数バイトの信号を送信し、サーバー１はこの信号を受信したら直ちに次に送信すべきストリームｓ（ｎ）を送信するようにする。クライアント３においてストリームの受信後に直ちに伸張して再生表示して、その後中断無く表示を続けるためにはストリームの再生表示が完了した時点で次に再生表示されるべきストリームｓ（ｎ）の受信と伸張が必ず終了している必要がある。
このためには、ストリームｓ（ｎ）のサーバー・クライアント間の送受信時間ｔ（ｎ）と伸張時間ｃ（ｎ）を加えた時間は、ストリームｓ（ｎ−１）の再生表示時間Ｄｔ（ｎ−１）からクライアント３からサーバー１への信号送信時間ｐを引いた時間よりも短くなければならない。すなわち、［ｔ（ｎ）＋ｃ（ｎ）］＜［Ｄｔ（ｎ−１）−ｐ］の関係を満たす必要がある。
そして、ストリームｓ（ｎ）作成時に必要となる圧縮時に設定する平均データレートＲ（ｎ）の算出式を以下に説明する。上記より圧縮後のストリームｓ（ｎ）のバイト数ｂ（ｎ）は、直前のストリームｓ（ｎ−１）の再生表示時間Ｄｔ（ｎ−１）から、クライアントからサーバーへの信号送信時間ｐとストリームｓ（ｎ）の予想伸張時間ｃ（ｎ）を引いた時間に使用するネットワークの実効伝送速度Ｗを乗じた値以下でなければならない。すなわち、ｂ（ｎ）＜［Ｄｔ（ｎ−１）−ｐ−ｃ（ｎ）］Ｗである。ストリームｓ（ｎ）のバイト数ｂ（ｎ）の中には別に付加されるヘッダ等のバイト数ｈが含まれるので、ソースのｎ番目の分割映像音声信号を圧縮してストリームｓ（ｎ）を製作する時の設定平均データレートＲ（ｎ）はｂ（ｎ）からｈを引算して、これをストリームｓ（ｎ）の再生表示時間Ｄｔ（ｎ）で割った値以下に設定する。すなわち、Ｒ（ｎ）＜｛［Ｄｔ（ｎ−１）−ｐ−ｃ（ｎ）］Ｗ−ｈ｝／Ｄｔ（ｎ）である。
ある特定のストリームｓ（ｎ）の画質やフレームレート等を他のストリームよりも相対的に高くしたい場合は、ストリームｓ（ｎ）の平均データレートＲ（ｎ）をネットワークの実効伝送速度Ｗよりも高くする必要がある。このためには、直前のストリームｓ（ｎ−１）作成時の設定平均データレートＲ（ｎ−１）を実効伝送速度Ｗよりも小さく設定し、ストリームｓ（ｎ−１）の再生表示時間Ｄｔ（ｎ−１）がその送受信時間ｔ（ｎ−１）とその伸張時間ｃ（ｎ−１）を加えた時間より長くなるようにしておく。すなわち、Ｄｔ（ｎ−１）＞［ｔ（ｎ−１）＋ｃ（ｎ−１）］。これにより次のストリームｓ（ｎ）はその再生表示時間Ｄｔ（ｎ）よりデータ送受信時間ｔ（ｎ）を長く取ることができるので、ストリームｓ（ｎ）作成時の設定平均データレートＲ（ｎ）を実効伝送速度Ｗより高く設定することが可能となり、ストリームｓ（ｎ）の画質やフレームレート等を相対的に高くすることができる。
このようにして形成された複数のストリームｓ（１）、ｓ（２）、…、ｓ（ｎ）は、クライアント３で再生表示される際、図３の最下段に示されるように再生表示が途中で中断することなく連続的に円滑に表示できる。このように複数のストリームは連続して再生可能になっている。なお、一般的に圧縮後の実際のストリームデータレートは圧縮時に設定するデータレートとは異なることがあるので、この場合は圧縮後のストリームデータレートがほぼ本来算出された設定データレートになるまで、設定データレートを適宜増減させて圧縮を繰り返して行なう。
また、実効伝送速度は、ネットワーク、ハードウエア、ソフトウエア環境で変化するので、設定する実効伝送速度は実際の環境でテストした上で決める。
図４を参照して、本発明の第３実施の形態を説明する。この第３実施の形態は、ソースの映像音声を一括して圧縮したストリームを伸張単位毎で伸張再生表示しても再生表示の中断を発生させない、ストリーム受信開始から再生表示開始までのストリームデータバッフアリング時間の設定方法を提供する。
まず、ソースの映像音声を一括して、使用するネットワークの伝送速度に合わせて圧縮平均データレートを設定して圧縮を行なう。ソースの映像音声は、一括圧縮後に複数のデータに分割する。分割されたデータは単数又は複数の伸張単位（１つのフレーム内予測符号化フレームと複数のフレーム間予測符号化フレームで構成される）で構成されるように先頭フレームを選んで分割する。分割後のデータは各々ヘッダ等を付け識別してからストリームとしてサーバーからクライアントへ次々に送信する。また、このようにストリームを実際に分割しなくともストリームを構成する各最小伸張単位の送信時間と、伸張時間と、再生表示時間が分かればそのまま送信してもよい。
クライアントで１回毎に伸張するデータの送信時間と、伸張等の時間と、再生表示時間の各々の情報を基に、再生表示開始後に再生表示の中断を発生させないためのストリームの受信開始からのデータのバッフアリング時間を以下のようにして設定する。
各伸張単位の再生表示開始は、その受信と伸張完了の後でなければできない。従って、ストリームの受信開始から各伸張単位の受信完了までの送受信時間に対象伸張単位の伸張等の時間を加えた時間と、ストリームの再生表示開始から対象となる各伸張単位再生表示開始までの総再生表示時間とを１つずつ比較し、その差が１番大きい時間をストリーム受信開始から再生表示開始までのストリームデータバッフアリング時間として設定する。このストリームデータバッフアリング時間を設定すると、再生表示開始後に再生表示すべきデータの受信、伸張が間に合わず再生表示の中断を起こすことが防止できる。
なお、このバッフアリング時間はストリームのヘッダに記述しておき、クライアントではストリームの受信開始直後にこれを読取ってカウンタにセットし、再生表示開始までの時間をカウントし、設定した時間までカウントしたら再生表示を開始する。このクライアントにおける受信開始時間から再生表示開始時間までの時間がストリームデータバッフアリング時間となる。
図４を参照して、上述したストリームデータバッフアリング時間の設定方法を再度説明する。ストリームの受信開始からｎ番目の伸張単位ｓ（ｎ）の受信が完
2002023908.tif 000010
（ｎ）を加えた時間［Ｔｔ（ｎ）＋ｃ（ｎ）］から、ストリームの再生表示開始か
2002023908.tif 000011
引算する。すなわち、Ａ（ｎ）＝［Ｔｔ（ｎ）＋ｃ（ｎ）−Ｔ（ｎ−１）］を求める。これを全てのｎについて繰り返し、その差Ａ（ｎ）の最大値ｇを求める。このｇ以上の時間をこのストリームの受信開始から再生表示開始までの時間として設定する。
例えば、図４の場合について見ると、伸張単位ｓ（３）が相対的に符号発生量が多く実効伝送速度Ｗよりも高い平均データレートを有する。このため、伸張単位ｓ（３）の上記式の差Ａ（３）が最大値ｇとなる。ストリーム受信開始時から再生表示開始時までの時間差ＧをＧ≧ｇ＝Ａ（３）とし、この時間差Ｇをストリームデータバッフアリング時間とする。これにより符号発生量の多い伸張単位ｓ（３）も再生表示の中断を発生することなく連続して再生表示できる。すなわち、このようにして形成された複数のストリームｓ（１）、ｓ（２）、…、ｓ（ｎ）は、クライアント３で再生表示される際、図４の最下段に示されるように再生表示が途中で中断することなく連続的に円滑に表示できる。このように複数のストリームは連続して再生可能である。
次に、図５と図６を参照して本発明のサーバーとクライアント間で動画と音声の多重化され圧縮されたストリームを送信し、クライアントで受信し、伸張し、再生表示するのに使用されるプログラムの構造を説明する。本発明のプログラムでは送信と、受信と、伸張と、再生表示の各段階はそれぞれ独立にして行なわれる。ストリームの送信はフアイル転送と同じに行なう。従って、従来のサーバー・クライアント間のネゴシエーションの必要はなく、下位層のプロトコルだけで送受信が行なわれる。このためサーバー１とクライアント３がネットワーク４を介して接続した後は、ストリーム送信命令だけで直ちに送信ができる。この通信プロトコルは任意のものでよく、バースト伝送で通常のネットワークを介してクライアント３へ送信される。クライアント３は受信、伸張、再生表示を独立に行う。
これは図２、図３、及び図４に関連して上述したように、ストリームの製作段階で、バリアブルビットレートで圧縮されたストリームデータを、フアイル転送と同様に連続送信しても再生表示が正常に行なわれるようにストリームの再生表示時間と送信時間と再生表示開始時期を予め考慮して作成しているからである。
これは従来のストリーミング製品では、サーバとクライアントがフレーム毎に同期を取り、一体的に送信、受信、伸張、再生表示の操作を行い、このためにサーバーとクライアント間で１ストリーム毎に、ネゴシエーションが必要とされ、通信プロトコルもこのような形式に限定される点で本発明とは異なる。
図６は、本発明の送受信、伸張、再生表示を行うプログラム６のクライアント３内での位置を示す。クライアント３を構成するコンピュータは、下から順にハードウエア、ネットワークインターフエイス、インターネット、トランスポート、ソケット、アプリケーションのＢＳＤ階層を有する。従来のストリーミング製品６０は最上層のアプリケーション層に対応する位置に存在して、ＲＳＴＰやＲＴＰ／ＲＴＣＰというプロトコルを使用しており、その下にはＴＣＰ／ＵＤＰやＩＰなどのプロトコル層があり、多階層の構造を有する。
本発明のプログラム６は図６に示すようにＴＣＰ／ＵＤＰを使用することも、直接ＩＰ層に接続することも、さらにその下の階層（ＰＰＰやＥｔｈｅｒｎｅｔなど）にも直接接続することも可能である。その下に、ＲＳ２３２Ｃ／Ｘ．２１がある。本発明のプログラム６はこれによりネットワークやＯＳ、あるいは環境、ハードウエアに合わせて効率的かつ小規模な構造にすることができる。本発明では、多層化によるモジュール数の増加の弊害（非効率的な処理）の他に１つの伝送帯域を複数のプロトコルで使用するという伝送帯域の分割による非効率的な伝送の弊害を排除して、単純プロトコル及び少階層化により効率向上を図っている。本発明のプログラムは画像音声再生表示処理はアプリケーションの部分にあり、受信処理の部分はより下にあり、ＯＳ中のハードウェア割込みを使用できる。クライアント３が携帯電話器や携帯情報端末器の場合は、ストリームの受信処理をＯＳ中のハードウェア割込み処理として組込み、機械語に近い言語、例えばアセンブリ言語で作成すれば効率が良くなる。これは本発明のプログラム６の受信処理がプロトコル階層の下位部分にアクセス可能なことからくる移植性の良さによるものである。
本発明のプログラム６の送受信、伸張、再生表示の各操作の処理について、図２、図３、又は図４に関連して上記で説明したようにソースの動画映像と音声を複数に分割し、各々を圧縮して作成した連続再生可能なストリームを対象にして説明する。
送受信
図５中のサーバー１から、単独で伸張可能な複数のフレームデータで構成されるストリームをその前端及び／又は後端に数バイトの識別子を付けてクライアント３へネットワークを介して送信する。クライアント３は受信したストリームをその受信メモリ（７０、図７Ｂ）に記憶する。サーバー１は、１ストリームの送信が完了したら直ちに次のストリームの送信を開始する。このようにサーバー１はストリームの送信を連続的に行ない。一方、クライアント３ではストリームの受信を繰り返す。しかし、ストリームが連続的にサーバー１から送信されても、クライアント３では受信時に上記識別子により受信されたストリーム間のつなぎ目を識別できるから、ストリームを簡単に受信メモリ（７０、図７Ｂ）に順次に格納できる。すなわち、ストリームはその前端及び／又は後端の識別子により前後のストリームと連結する部分が明示されているので、容易に受信メモリ（７０、図７Ｂ）に順次に格納できる。
なお、図３に関連して上述したようにクライアント３での表示とサーバー１からの送信をストリーム単位で同期させる場合は、クライアント３でストリームの再生表示が開始又は終了されたら、数バイトの信号をクライアント３からサーバー１に送信し、サーバー１ではこの信号を受信したら次のストリームの送信を開始するようにする。このようにすれば、サーバー１からのストリーム送出とクライアント３のストリームの再生表示の同期が簡単な方法でとれる。このため、クライアント３での過剰な受信ストリームの滞留を防ぐことができる。さらに、インタラクテイブ（対話）式のコンテンツの再生表示の場合、ユーザ選択入力信号の同期が簡単にサーバー側でとることができる。
本発明では、送受信処理と伸張処理と再生表示処理とは各々独立して行なわれる。このため、ストリーム形式はクライアント３の伸張表示プログラムで伸張表示できる形式ならばどんな圧縮方式でも良く、またフアイルとしてバースト的に送信できるので送信効率が上がる。クライアント３では常時受信待ちの状態で、１ストリームづつ連続して受信する。これを繰り返して行なう。
伸張
次に図７Ａのフローチャートと図７Ｂを参照して伸張操作を説明する。受信が完了した受信メモリ７０（図７Ｂ）内のストリームに対して（ステップ７３）、１ストリーム単位で伸張操作を行ない（ステップ７４）、伸張してプレロールした上、メモリ７９（図７Ｂ）の空いている領域に格納する（ステップ７５）。伸張によりデータ量は数十倍に増えるので格納メモリ７９（図７Ｂ）の領域を大きくしたくない時は、未表示の伸張済ストリームが既にメモリ７９内にある場合はストリームの受信完了後に直ちに伸張せず、直前のストリームの再生表示が開始された後に、次に再生表示するストリームの伸張、プレロールを行なうようにする。
再生表示
再生表示は、図７Ｂのメモリ領域７９に格納されている最初に受信したストリームｓ（１）分の伸張データを用いて再生表示する（ステップ７２）。これが終了したら（ステップ７１）、直ちに２番目に受信したストリームｓ（２）分の伸張済みデータに切り換えて再生表示開始する（ステップ７８）。なおこのステップ７８（次の伸張済みストリームへ切り換えて表示開始命令を出す）の前には再生表示準備確認ステップ７６とサーバーへの信号送出ステップ７７（但し、図３に示すストリームの場合に限る）がある。このように、次々にストリーム単位の伸張済みデータを受信順に切り換えながら再生表示していく。受信伸張単位のストリーム内の各フレームの再生表示開始時期は、送受信のタイミングとは無関係にストリームのヘッダ情報等で予め設定されるフレームレートで決定される。
なお、ストリームの最後のフレームの再生表示完了後、次のストリームの最初のフレームの再生表示が行なわれるが、前のストリームの最後のフレームの表示完了後、次のストリームの最初のフレームの表示命令が出るので厳密にはこの間の時間が他のフレーム表示間隔より余分にかかることになり、前のストリームの最後のフレームの表示時間が長くなるが、この間の時間は人間の間隔では認識できないほどに短いので、一般的な視聴の範囲内では問題は無い。
また、別の受信伸張方法と表示方法としては、図８Ａに示す受信伸張方法のフローチャートと図８Ｂに示す表示方法のフローチャートを使用してもよい。この受信伸張と表示は各々並行して処理される。図８Ａにおいてはストリームの受信が完了したら伸張し、伸張済みのストリームのデータを表示バッファへ追加する。次々に表示バッファの最後尾に順に追加して行く。図８Ｂに示すように、表示は表示バッファの先頭のデータから順に表示していく。この処理は一本のストリームの伸張済みデータを表示して行くのと同じ形式である。なお、図８Ｂのステップ８１の表示エラーは表示している際に次のストリームの受信伸張が間に合わず、表示バッファ内の表示データがなくなった場合を意味する。この場合は図８Ａの受信伸張の操作を待つ。なお、１つの表示バッフアを使用する代わりに、表示バッファを２つ用いて、データの追加と、表示及び表示済み領域の解放と、を交互に切り換えながら行なえば、表示バッファメモリ領域を拡大せずに表示を続けることができる。
ところで、伸張済みのフレームデータの表示は、フレームレート情報を元に一定の時間間隔で行なわれるので、各々のフレーム毎に表示の相対時刻は決まってている。複数のストリームの伸張済みデータを切り換えながら表示する場合、各フレームが表示される相対時刻を複数ストリームを対象として、最初のストリームの伸張済みのデータの最初のフレームデータから最後のストリームの伸張済みデータの最終フレームデータまでを対象に通しの相対時刻で表示する様にすることもできる。
例えば、図９に示すように、複数の表示バッファＡ（ＭＯＤ（ｍ／２））を備えて、１ストリームの伸張済みデータ単位で２つのバッファに交互に読み込み、映像と音声を同期して処理する場合、最初のストリームの最終フレームの表示時刻になったら（ステップ９１）、当該ストリームの伸張済みデータの読み込まれている表示バッファからの出力は完了するのでこれを検知し（ステップ９２）、次の表示時刻になったらもう一方の表示バッファ既に読み込まれている次のストリームの伸張済みデータの最初のフレームの表示を行う（ステップ９３からステップ９７）。なお、ステップ９４はストリーム毎でフレームレート変更等、前の設定が変わる場合に、そのストリームデータを記憶した表示バッファＡ（ＭＯＤ（ｍ／２））の出力開始準備が行なわれる。ステップ９６は、フレームレート情報からフレーム間の表示時間間隔により時間割り込みを行う。
その後も所定の表示時刻になったら順に２番目以降の各フレームの表示を行ない（ステップ９８、ステップ９９）、最終フレームの表示時刻になったら同様にもう一方の表示バッファに既に読み込まれている次のストリームの伸張済みデータの最初のフレームの表示を行う。この様に２つの表示バッファを交互に使用し、ストリームの数か増えても、複数のストリーム全体を１本のストリームとして表示する様に、各フレームの表示を正確な時間間隔で行うことができる。
なお、音声と映像とは圧縮され多重化して格納されて送信されるので、音声についても前述の映像の伸張表示と同期して同様に処理される。
なお、クライアント３のメモリ７０（図７Ｂ）内に記憶されるストリームは、ハードディスク等に保存して、通信終了後も連結して何度でも再生表示することも可能である。従って、本発明の方法では、受信しながらの視聴中にネットワークの伝送効率の変化等の理由により途中で視聴が中断しても、クライアント上で後から単独に再生可能である。すなわち、本発明によればストリームの受信中に即座に視聴ができると共に、一度ストリームを全部受信すればクライアントで何度も視聴を繰り返すことができる。
次に、クライアント３でのユーザの選択入力に応じて、サーバー１でストリームを選択して送信する場合の処理を説明する。
伸張単位であるストリームを次々に送受信して、ストリームを順次に表示する場合は送受信と表示とは同期しなくなる。これは送信効率を上げるための効果が大きいけれども、クライアント上でユーザが表示画面を視聴して画面内容に応じてキー入力等で選択入力すると、選択に応じて次の画面が表示されるような上記した特願平１０−１７２７０１号やＰＣＴ／ＪＰ／９９／０７１１６の特許出願に開示されているような対話式オーディオ・ビジュアル作品を配信するシステム等の場合には、以下のようにする。
すなわち、図３に関連して上述した方式が使用され、表示と同期してサーバー１での処理が行なわれるように、クライアント３でのストリームの表示開始の都度、サーバー１に数バイト程度の信号をクライアント３から送信し（図７中のステップ７７）、サーバー１ではこの信号をクライアント３から受信後、所定の処理を開始する。
この所定の処理は例えば図１０に示される。これは受信伸張ストリーム毎に切り替えて表示する場合（図７）である。クライアント３で各ストリームｓ（１）、ｓ（２）、ｓ（３）の表示が開始される都度、クライアントから信号７７（図７中のステップ７７）がサーバーに送られる。すると、サーバー１ではユーザからの入力情報の受信バッフア（図示しない）をリセットして新たに受け付け可能状態にセットし（ステップ１１）、次ストリームｓ（２）の送出を開始し（ステップ１２）、ユーザ入力受け付け可能時間内１３内のユーザからの選択入力信号１４の情報に基づき、次の送信ストリームｓ（２）、ｓ（３）を選択決定してクライアント３への送信を開始する（ステップ１５）、などの処理がある。次に表示されるストリームの選択ができるので、ユーザはリアルタイムに対話的に次ストリームを選択して自分のストーリー展開を行なえる他に、早送り表示、スロー再生表示、巻き戻し表示、表示停止操作等のトリックプレイも可能である。
なお、図８Ａと図８Ｂに示すように表示方式が受信伸張データを表示バッファに次々に追加して表示していく方法の場合は、図１１に示すように送受信伸張単位のストリームデータの２番目以降（ａ２又はａ３、ｂ２又はｂ３）の表示開始時期は直接に知ることはできない。このため、ストリームａａの最初のストリームａ１の表示開始時にサーバーに信号１００を送信し、サーバー１ではこの信号１００を受信したらユーザ入力値受信バッファのリセットと時間のカウントを開始し（ステップ１１１）、受信ストリーム順次追加方式で表示される１単位ａａ（ストリームａ１、ａ２、ａ３）の表示時間から、次の単位ｂｂを表示するための最初のストリームｂ１の選択に要する時間と送受信時間と伸張等の表示前処理を加えた時間以上の適当な時間を減じた時間までカウントしたら、次の表示単位のストリームｂｂの最初のストリームｂ１の送信を開始する（ステップ１１２）。
なお、サーバーでユーザからの入力値の読取りをユーザからの入力のあった時に行ない、送受信中のストリームの送信を中断して直ちに次のストリーム選択して送信し、クライアントではこのストリーム受信完了後に直ちに伸張表示を行うこともできる。このように受信表示されたストリームも、メモリ７０（図７）内に一度取込めばクライアント上３で何度も再生可能である。
以上説明したように、本発明のネットワーク動画音声の配信方法によれば、ネットワークを介してサーバーからクライアントへ動画と音声の多重化された複数の連続して再生可能なストリームを送信して再生表示するために、クライアントで簡単なプログラムでもってサーバーからは独立して受信し、伸張し、再生表示できる。また、本発明の方法によれば、ネットワークを介して受信後に即座に視聴開始できて、ユーザを待たせることがない。また、一旦ネットワークを介して受信すれば何度も再生できる。しかも、ネットワークの伝送中に、動画と音声の中断を極力防止できる。さらに、インタラクテイブにネットワークを介して動画と音声を配信できる。動画映像中の一部を相対的に高品質（高画像／高音質等）にすることができる。しかも、本発明の方法は、サーバーとクライアントのプログラムサイズを非常に小さくでき、ＯＳにも限定されず、使用プロトコルも自由に選べる高移植性と単独で再生できる形式のストリームであればどのような圧縮ストリームも使用でき、さらに狭帯域のネットワークでも品質の良いリアルタイムの動画音声の視聴ができる汎用性の高いシステムが得られる。
【図面の簡単な説明】
図１は、本発明のネットワーク動画音声の配信システムの概略を示す図。
図２は、本発明の第１実施の形態によるネットワーク動画音声の配信方法を説明するため動画ストリームの送信と表示の関係を示す図。
図３は、本発明の第２実施の形態によるネットワーク動画音声の配信方法を説明するため動画ストリームの送信と表示の関係を示す図。
図４は、本発明の第３実施の形態によるネットワーク動画音声の配信方法を説明するため動画ストリームの送信と表示の関係を示す図。
図５は、本発明のネットワーク動画音声の配信プログラムの動作の概略を示す図。
図６は、本発明のネットワーク動画音声の配信プログラムの構成の概略を示す図。
図７Ａは、本発明のネットワーク動画音声の配信プログラムのクライアントでの受信、伸張、表示動作の一例の概略を示すフローチャート。
図７Ｂは、本発明のクライアントのメモリの概略を示す図。
図８Ａは、本発明のネットワーク動画音声の配信プログラムのクライアントでの受信、伸張動作の他の例の概略を示すフローチャート。
図８Ｂは、本発明のネットワーク動画音声の配信プログラムのクライアントでの表示動作の他の例の概略を示すフローチャート。
図９は、本発明のネットワーク動画音声の配信プログラムのクライアントでの表示動作の他の例の概略を示すフローチャート。
図１０は、本発明の対話式ネットワーク動画音声の配信方法の一例のストリーム送信と表示の関係を示す図。
図１１は、本発明の対話式ネットワーク動画音声の配信方法の他の例のストリーム送信と表示の関係を示す図。
【図１】
2002023908.tif 000012
【図２】
2002023908.tif 000013
【図３】
2002023908.tif 000014
【図４】
2002023908.tif 000015
【図５】
2002023908.tif 000016
【図６】
2002023908.tif 000017
【図７Ａ】
2002023908.tif 000018
【図７Ｂ】
2002023908.tif 000019
【図８Ａ】
2002023908.tif 000020
【図８Ｂ】
2002023908.tif 000021
【図９】
2002023908.tif 000022
【図１０】
2002023908.tif 000023
【図１１】
2002023908.tif 000024
【手続補正書】
【提出日】平成14年4月11日(2002.4.11)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
サーバより動画と音声をクライアントに送信しながら、並行してクライアントで受信再生する方法において、
ソースの動画と音声を各々所定時間長で分割して分割された部分毎に所定のデータレートに圧縮したデータ、又は各圧縮単位毎にデータレートを設定してソースの動画と音声を一括圧縮してから前記圧縮単位毎に分割したデータ、又は前記圧縮した動画と音声の多重化されたデータから複数のストリームを作成し、
前記作成した各ストリームは先に送信されるストリームのクライアントでの再生時間終了までに次に送信されるストリームの受信と再生開始準備がクライアントで完了しているような時間長とデータ・サイズで各々が作成されていて、
前記作成した各ストリームをサーバに格納し、
サーバは常時受信待ちの状態のクライアントに対して前記作成したストリームを順次１本ずつ送信し、クライアントは前記ストリームをメモリ領域内に各々個別に順次受信格納し、
クライアントは前記受信格納されたストリームをその再生開始前迄に予め伸長して順次一本ずつ連続して再生し、
前記ストリームのサーバによる送信とクライアントによる受信を順次連続して行なう、
ことを特徴とする動画音声ストリーム作成及び送信再生方法。
【請求項２】
前記クライアントが前記受信格納されたストリームをその再生開始前迄に予め伸長し順次一本ずつ連続して再生するステップは、
所定の時間間隔で出力される各ストリームのデータ格納領域内の各フレームデータの最終フレームデータ出力開始後、前記所定の時間間隔で次のストリームのデータ格納領域の最初のフレームデータの出力を開始し、出力完了したストリームのデータ格納領域を開放しながら再生を続けることを含む、
請求項１に記載の方法。
【請求項３】
最初にサーバからクライアントに送信されるストリームのデータ量を他のストリームより相対的に小さくすることで２番目以降に送信されるストリームの再生品質には影響を与えずにクライアントにおける再生待ち時間を短くすることを特徴とする請求項１又は２のいずれかに記載の方法。
【請求項４】
クライアントのメモリ領域に受信格納されるストリームを、順次外部記憶装置に保存することを含む請求項１又は２のいずれかに記載の方法。
【請求項５】
ネットワークを介してサーバーからクライアントへ送信して表示する複数の圧縮された動画と音声の多重化されたストリームを、あるストリームを相対的に高画質又は高フレームレートで再生表示するように作成する方法において、
２番目のストリームを相対的に高画質又は高フレームレートにする場合は、１番目のストリームの再生表示時間Ｄｔ（１）と１番目のストリームの伸張に要する時間ｃ（１）との和［Ｄｔ（１）＋ｃ（１）］が長くなるように、１番目のストリームの圧縮後の平均データレートをネットワークの実効伝送速度Ｗよりも低めに設定して、２番目のストリームの圧縮後の平均データレートをネットワークの実効伝送速度Ｗよりも高くし、
ｎ番目（ｎは３以上の任意の自然数）のストリームを相対的に高画質又は高フレームレートにする場合は、クライアントにおいて１番目から（ｎ−１）番目までのストリームの総再生表示時間Ｔ（ｎ−１）と１番目のストリームの伸張に要する時間ｃ（１）との和［Ｔ（ｎ−１）＋ｃ（１）］からサーバー・クライアント間で２番目のストリームの送信開始から（ｎ−１）番目のストリームの受信終了までの送受信に要する時間Ｔ’（ｎ−１）を引いた値［Ｔ（ｎ−１）＋ｃ（１）−Ｔ’（ｎ−１）］が大きくなるようにして、ｎ番目のストリームの圧縮後の平均データレートをネットワークの実効伝送速度Ｗよりも高くすることを特徴とする方法。
【請求項６】
ネットワークを介してサーバーからクライアントへ複数ｎ（ｎは２以上の自然数）の圧縮された動画と音声が多重化されたストリームを送信して再生表示する方法において、サーバーからの１番目からｎ番目のストリームをクライアント間で受信するのに要する時間Ｔｔ（ｎ）とｎ番目のストリームをクライアントにおいて伸張するのに要する時間ｃ（ｎ）との和［Ｔｔ（ｎ）＋ｃ（ｎ）］から、クライアントにおいて１番目から（ｎ−１）番目のストリームの再生表示時間Ｔ（ｎ−１）を引算した差Ａ（ｎ）＝［Ｔｔ（ｎ）＋ｃ（ｎ）−Ｔ（ｎ−１）］を求め、全てのｎについてこの差Ａ（ｎ）の最大値ｇを求め、このｇと等しいか又はより長い時間をクライアントにおいて１番目のストリームの受信開始後その再生表示を開始するまでのデータ蓄積時間とする方法。
【請求項７】
サーバより動画と音声をクライアントに送信しながら、並行してクライアントで受信再生する方法において、
ソースの動画と音声を各々所定時間長で分割して分割された部分毎に所定のデータレートに圧縮したデータ、又は各圧縮単位毎にデータレートを設定してソースの動画と音声を一括圧縮してから前記圧縮単位毎に分割したデータ、又は前記圧縮した動画と音声の多重化されたデータから複数のストリームを作成し、
前記作成した各ストリームは先に送信されるストリームのクライアントでの再生時間終了までに次に送信されるストリームの受信と再生開始準備がクライアントで完了しているような時間長とデータ・サイズで各々が作成されていて、
前記作成した各ストリームをサーバに格納し、
サーバは常時受信待ちの状態のクライアントに対して前記作成したストリームを１本ずつ送信し、クライアントは前記ストリームをメモリ領域内に各々個別に順次受信格納し、
クライアントは前記受信格納されたストリームをその再生開始前迄に伸長し順次一本ずつ連続して再生し、
サーバからの２番目以降の各ストリームの送信開始は、クライアントで１つ前に受信したストリームの再生開始を毎回サーバで検知してから行なう、
ことを特徴とする動画音声ストリーム作成及び送信再生方法。
【請求項８】
前記サーバからの２番目以降の各ストリームの送信開始するステップは、クライアントが１つ前に受信したストリームの再生開始時に毎回所定の信号をサーバに送信し、サーバでこの信号を受信したタイミングで行なうことを特徴とする請求項７に記載の方法。
【請求項９】
前記クライアントが前記受信格納されたストリームをその再生開始前迄に伸長し順次一本ずつ連続して再生するステップが、所定の時間間隔で出力される各ストリームのデータ格納領域内の各フレームデータの最終フレームデータ出力開始後、前記所定の時間間隔で次のストリームのデータ格納領域の最初のフレームデータの出力を開始し、出力完了したストリームデータ格納領域を開放しながら再生を続けることを含み、
前記サーバからの２番目以降の各ストリームの送信開始のステップが、クライアントで各々１つ前に受信したストリームデータの最初のフレームデータの出力開始を毎回サーバで検知して行なうことを含む、
ことを特徴とする請求項７に記載の方法。
【請求項１０】
前記サーバからの２番目以降の各ストリームの送信を開始するステップは、クライアントで各々１つ前に受信したストリームデータの最初のフレームデータの出力開始時刻に毎回サーバに所定の信号を送信し、サーバでこの信号を受信したタイミングで行なうことを特徴とする請求項９に記載の方法。
【請求項１１】
最初にサーバからクライアントに送信されるストリームのデータ量を他のストリームより相対的に小さくすることで２番目以降に送信されるストリームの再生品質には影響を与えずにクライアントにおける再生待ち時間を短くすることを特徴とする請求項７ないし１０のいずれかに記載の方法。
【請求項１２】
クライアントのメモリ領域に受信格納されるストリームを、順次外部記憶装置に保存することを含む請求項７ないし１０のいずれかに記載の方法。
【請求項１３】
ネットワークを介してサーバーからクライアントへ送信して表示する複数の圧縮された動画と音声が多重化されたストリームを作成する方法において、ｎ番目（ｎは２以上の任意の自然数）のストリームを相対的に高画質又は高フレームレートにするため、クライアントにおいて（ｎ−１）番目のストリームの再生表示時間Ｄｔ（ｎ−１）を、（ｎ−１）番目のストリームのサーバ・クライアント間の送受信に要する時間ｔ（ｎ−１）と伸張に要する時間ｃ（ｎ−１）との和［ｔ（ｎ−１）＋ｃ（ｎ−１）］より長くし、ｎ番目のストリームのサーバー・クライアント間の送受信に要する時間ｔ（ｎ）がその再生表示時間Ｄｔ（ｎ）よりも長くなるようにしたことを特徴とする方法。
【請求項１４】
クライアントでのユーザの入力に応じてサーバでストリームを選択してクライアントへ送信するために、
クライアントが所定のストリームの再生開始時に所定の信号をサーバに送信し、
サーバがこの信号を受信したらユーザからの入力情報の受信バッファをリセットし、その後に所定のストリームの再生中にユーザからの入力情報を受信したら、前記ユーザからの入力情報の受信バッファのデータを読取り、そのデータに基づき次のストリームを選択してクライアントに直ちに送信を開始する
ことをさらに含む請求項１、７及び８のいずれかに記載の方法。
【請求項１５】
クライアントでのユーザの入力に応じてサーバでストリームを選択してクライアントへ送信するために、
クライアントが所定のストリームの最初のフレームデータの出力開始時刻にサーバへ所定の信号を送信し、
サーバがこの信号を受信したらユーザからの入力情報の受信バッファをリセットし、その後に所定のストリームの再生中にユーザからの入力情報を受信したら、前記ユーザからの入力情報の受信バッファのデータを読取り、そのデータに基づき次のストリームを選択してクライアントに直ちに送信を開始する
ことをさらに含む請求項２、９及び１０のいずれかに記載の方法。
【請求項１６】
請求項１ないし１５のいずれかに記載された方法をコンピュータ上で実施するための命令を含んだコンピュータ・プログラムを記憶したコンピュータ読取り可能な記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
なお、ストリームの最後のフレームの再生表示完了後、次のストリームの最初のフレームの再生表示が行なわれるが、前のストリームの最後のフレームの表示完了後、次のストリームの最初のフレームの表示命令が出るので厳密にはこの間の時間が他のフレーム表示間隔より余分にかかることになり、前のストリームの最後のフレームの表示時間が長くなるが、この間の時間は人間の感覚では認識できないほどに短いので、一般的な視聴の範囲内では問題は無い。
また、別の受信伸張方法と表示方法としては、図８Ａに示す受信伸張方法のフローチャートと図８Ｂに示す表示方法のフローチャートを使用してもよい。この受信伸張と表示は各々並行して処理される。図８Ａにおいてはストリームの受信が完了したら伸張し、伸張済みのストリームのデータを表示バッファへ追加する。次々に表示バッファの最後尾に順に追加して行く。図８Ｂに示すように、表示は表示バッファの先頭のデータから順に表示していく。この処理は一本のストリームの伸張済みデータを表示して行くのと同じ形式である。なお、図８Ｂのステップ８１の表示エラーは表示している際に次のストリームの受信伸張が間に合わず、表示バッファ内の表示データがなくなった場合を意味する。この場合は図８Ａの受信伸張の操作を待つ。なお、１つの表示バッファを使用する代わりに、表示バッファを２つ用いて、データの追加と、表示及び表示済み領域の解放と、を交互に切り換えながら行なえば、表示バッファメモリ領域を拡大せずに表示を続けることができる。
ところで、伸張済みのフレームデータの表示は、フレームレート情報を元に一定の時間間隔で行なわれるので、各々のフレーム毎に表示の相対時刻は決まってている。複数のストリームの伸張済みデータを切り換えながら表示する場合、各フレームが表示される相対時刻を複数ストリームを対象として、最初のストリームの伸張済みのデータの最初のフレームデータから最後のストリームの伸張済みデータの最終フレームデータまでを対象に通しの相対時刻で表示する様にするこ


【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
ともできる。
例えば、図９に示すように、複数の表示バッファＡ（ＭＯＤ（ｍ／２））を備えて、１ストリームの伸張済みデータ単位で２つのバッファに交互に読み込み、映像と音声を同期して処理する場合、最初のストリームの最終フレームの表示時刻になったら（ステップ９１）、当該ストリームの伸張済みデータの読み込まれている表示バッファからの出力は完了するのでこれを検知し（ステップ９２）、次の表示時刻になったらもう一方の表示バッファに既に読み込まれている次のストリームの伸張済みデータの最初のフレームの表示を行う（ステップ９３からステップ９７）。なお、ステップ９４はストリーム毎でフレームレート変更等、前の設定が変わる場合に、そのストリームデータを記憶した表示バッファＡ（ＭＯＤ（ｍ／２））の出力開始準備が行なわれる。ステップ９６は、フレームレート情報からフレーム間の表示時間間隔により時間割り込みを行う。
その後も所定の表示時刻になったら順に２番目以降の各フレームの表示を行ない（ステップ９８、ステップ９９）、最終フレームの表示時刻になったら同様にもう一方の表示バッファに既に読み込まれている次のストリームの伸張済みデータの最初のフレームの表示を行う。この様に２つの表示バッファを交互に使用し、ストリームの数が増えても、複数のストリーム全体を１本のストリームとして表示する様に、各フレームの表示を正確な時間間隔で行うことができる。
なお、音声と映像とは圧縮され多重化して格納されて送信されるので、音声についても前述の映像の伸張表示と同期して同様に処理される。
なお、クライアント３のメモリ７０（図７Ｂ）内に記憶されるストリームは、ハードディスク等に保存して、通信終了後も連結して何度でも再生表示することも可能である。従って、本発明の方法では、受信しながらの視聴中にネットワークの伝送効率の変化等の理由により途中で視聴が中断しても、クライアント上で後から単独に再生可能である。すなわち、本発明によればストリームの受信中に


【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
即座に視聴ができると共に、一度ストリームを全部受信すればクライアントで何度も視聴を繰り返すことができる。
次に、クライアント３でのユーザの選択入力に応じて、サーバー１でストリームを選択して送信する場合の処理を説明する。
伸張単位であるストリームを次々に送受信して、ストリームを順次に表示する場合は送受信と表示とは同期しなくなる。これは送信効率を上げるための効果が大きいけれども、クライアント上でユーザが表示画面を視聴して画面内容に応じてキー入力等で選択入力すると、選択に応じて次の画面が表示されるような上記した特願平１０−１７２７０１号やＰＣＴ／ＪＰ／９９／０７１１６の特許出願に開示されているような対話式オーディオ・ビジュアル作品を配信するシステム等の場合には、以下のようにする。
すなわち、図３に関連して上述した方式が使用され、表示と同期してサーバー１での処理が行なわれるように、クライアント３でのストリームの表示開始の都度、サーバー１に数バイト程度の信号をクライアント３から送信し（図７中のステップ７７）、サーバー１ではこの信号をクライアント３から受信後、所定の処理を開始する。
この所定の処理は例えば図１０に示される。これは受信伸張ストリーム毎に切り替えて表示する場合（図７）である。クライアント３で各ストリームｓ（１）、ｓ（２）、ｓ（３）の表示が開始される都度、クライアントから信号７７（図７中のステップ７７）がサーバーに送られる。すると、サーバー１ではユーザからの入力情報の受信バッファ（図示しない）をリセットして新たに受け付け可能状態にセットし（ステップ１１）、次ストリームｓ（２）の送出を開始し（ステップ１２）、ユーザ入力受け付け可能時間内１３内のユーザからの選択入力信号１４の情報に基づき、次の送信ストリームｓ（３）を選択決定してクライアント３への送信を開始する（ステップ１５）、などの処理がある。次に表示されるスト




【国際調査報告】
2002023908.tif 000025
2002023908.tif 000026
2002023908.tif 000027
2002023908.tif 000028