(57)【特許請求の範囲】
【請求項１】
時間軸上のオーディオ・データを所定の時間単位で複数の時間ブロックに分割し、該分割した時間ブロックを複数の周波数帯域のサブブロックにさらに分割して周波数帯域毎に圧縮する圧縮ステップと、
時間ブロック毎に、最も低い周波数帯域の圧縮成分を基本サブブロックとし、最も低い周波数帯域以外の圧縮成分並びに圧縮誤差成分と最も低い周波数帯域の圧縮誤差成分をそれぞれ拡張サブブロックとし、各サブブロックに対してどの時間ブロックのどの帯域のサブブロックであるかを識別する階層ＩＤ並びにサブブロックの大きさを示すデータ長を付加して送信データを生成する送信データ生成ステップと、
所定の時間単位で基本サブブロックを順次送信させるとともに、基本サブブロックを送信した後次の基本サブブロックを送信するまでの間に拡張サブブロックを送信することが可能か否かを判断し、拡張サブブロックが送信可能であると判断された場合には現基本サブブロックの拡張サブブロックを前記最も低い周波数帯域の圧縮誤差成分、次に低い周波数帯域の圧縮成分、当該次に低い周波数帯域の圧縮誤差成分の順に送信する送信ステップと、
を具備することを特徴とするオーディオ・データ処理方法。
【請求項２】
前記圧縮ステップでは、各周波数帯域についての圧縮誤差成分を再び圧縮処理して、再圧縮成分と再圧縮誤差成分とを生成し、
前記送信データ生成ステップでは、該再圧縮成分と再圧縮誤差成分を拡張サブブロックとする、
ことを特徴とする請求項１に記載のデータ処理方法。
【請求項３】
時間軸上のオーディオ・データを所定の時間単位で複数の時間ブロックに分割し、該分割した時間ブロックを複数の周波数帯域のサブブロックに分割して周波数帯域毎に圧縮する圧縮手段と、
時間ブロック毎に、最も低い周波数帯域の圧縮成分を基本サブブロックとし、最も低い周波数帯域以外の圧縮成分並びに圧縮誤差成分と最も低い周波数帯域の圧縮誤差成分をそれぞれ拡張サブブロックとし、各サブブロックに対してどの時間ブロックのどの帯域のサブブロックであるかを識別する階層ＩＤ並びにサブブロックの大きさを示すデータ長を付加して送信データを生成する送信データ生成手段と、
該生成されたサブブロックを送信する送信手段と、
時間ブロック毎に割り当てられた所定の時間単位で、当該時間ブロックの基本サブブロックを送信させるとともに、基本サブブロックを送信した後次の基本サブブロックを送信するまでの間に拡張サブブロックを送信することが可能か否かを判断し、拡張サブブロックが送信可能であると判断された場合には現基本サブブロックの拡張サブブロックを前記最も低い周波数帯域の圧縮誤差成分、次に低い周波数帯域の圧縮成分、当該次に低い周波数帯域の圧縮誤差成分の順に送信させる送信制御手段と、
を具備することを特徴とするオーディオ・データ処理装置。
【請求項４】
前記圧縮手段は、各周波数帯域についての圧縮誤差成分を圧縮処理して、再圧縮成分と再圧縮誤差成分とを生成し、
前記送信データ生成手段は、該再圧縮成分と再圧縮誤差成分とを拡張サブブロックとする、
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
時間軸上のデータを送信するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータに対し、
時間軸上のオーディオ・データを所定の時間単位で複数の時間ブロックに分割し、該分割した時間ブロックを複数の周波数帯域のサブブロックにさらに分割して周波数帯域毎に圧縮する圧縮手順と、
時間ブロック毎に、最も低い周波数帯域の圧縮成分を基本サブブロックとし、最も低い周波数帯域以外の圧縮成分並びに圧縮誤差成分と最も低い周波数帯域の圧縮誤差成分をそれぞれ拡張サブブロックとし、各サブブロックに対してどの時間ブロックのどの帯域のサブブロックであるかを識別する階層ＩＤ並びにサブブロックの大きさを示すデータ長を付加して送信データを生成する送信データ生成手順と、
所定の時間単位で基本サブブロックを順次送信させるとともに、基本サブブロックを送信した後次の基本サブブロックを送信するまでの間に拡張サブブロックを送信することが可能か否かを判断し、拡張サブブロックが送信可能であると判断された場合には現基本サブブロックの拡張サブブロックを前記最も低い周波数帯域の圧縮誤差成分、次に低い周波数帯域の圧縮成分、当該次に低い周波数帯域の圧縮誤差成分の順に送信する送信手順と、
を実行させることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信回線を介してデータを配信するデータ配信システム、配信用のデータを作成、送信、又は受信などの処理を行なうデータ処理装置及びデータ処理方法、並びにコンピュータ・プログラムに係り、特に、通信回線経由でデータをストリーミング配信するデータ配信システム、ストリーミング配信用のデータを作成、送信、又は受信などの処理を行なうデータ処理装置及びデータ処理方法、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、本発明は、回線容量が一定でない通信回線経由でデータをストリーミング配信するデータ配信システム、ストリーミング配信用のデータを作成、送信、又は受信などの処理を行なうデータ処理装置及びデータ処理方法、並びにコンピュータ・プログラムに係り、特に、スケーラブルなデータ圧縮方法を用いて安定したストリーム配信を行なうデータ配信システム、スケーラブルなデータ圧縮方法によりストリーミング配信用のデータを作成、送信、又は受信などの処理を行なうデータ処理装置及びデータ処理方法、並びにコンピュータ・プログラムに関する。
【０００３】
【従来の技術】
情報処理、情報通信技術が高度に発達した昨今では、通常のコンピュータ・データのみならず、イメージ（静止画及び動画を含む）やオーディオなどの各種データも電子的に取扱われるようになってきた。
【０００４】
ところが、イメージやオーディオなどのデータは、一般に、冗長性が高く且つサイズが膨大であり、原データのまま記憶装置に格納したりネットワーク上で伝送したりすると、記憶容量や通信負荷が過大となってしまう。このため、この種のデータを蓄積したり伝送する際には、原データを一旦符号化して冗長性を取り除く、すなわち圧縮処理を施すのが一般的となっている。圧縮された画像データは、伸長処理を施して原データに復元してから再び利用に供される。
【０００５】
例えば、オーディオ信号の高能率符号化圧縮方式の１つとしてＡＴＲＡＣ（Adaptive Transform Acoustic Coding）が知られている。ＡＴＲＡＣでは、オーディオ信号を帯域分割フィルタで４つの周波数帯域に分割し、これを変形ＤＣＴ（ＭＤＣＴ）演算して時間軸上のデータ列を周波数軸上のデータ列に変換してから圧縮符号化する。その際、最小可聴限特性と聴覚マスキング効果を利用して、聴こえ難い成分や大きな音の前後のデータを間引くことにより、ユーザが耳にする音質を損なうことなく符号化データ量を減らしている。
【０００６】
ところで、データの符号化圧縮は、圧縮率（ビットレート）並びに圧縮伸長品質がある特定の範囲におさまることを目的として構築、調整されるのが一般的である。このため、伝送容量が異なる複数線路に対してデータ送出を行なう場合、あるいは伝送線路の品質が大きく変動するような線路にデータ送出するような場合には、さまざまな伝送容量に応じた圧縮率や目標品質に基づいて複数の圧縮ビット・ストリームを生成する必要がある。
【０００７】
最近では、ダウンロードしながら再生するという「ストリーミング」技術が開発され、インターネット上で普及し始めているが、回線容量が一定しないという問題がある。例えば、一時的な転送容量の減少やジッタに対応するために、クライアント側でＦＩＦＯバッファリングを行なうことが一般的に行なわれている。一方、大幅な転送容量の変化に対応するために、オリジナル・データから複数のビットレートでエンコードした複数のストリームを用意しておき、サーバとクライアント間の通信状況に応じて送出すべきストリームを動的に切り替えるという方法が採られている。後者の実装例として、米ＲｅａｌＮｅｔｗｏｒｋｓ社の"Ｓｕｒｅ  Ｓｔｒｅａｍ"が知られている。
【０００８】
しかしながら、これらの方法を採用した場合、クライアント側でＦＩＦＯバッファが埋まるまで最初のデータが出てこないので、ストリーミング放送が開始するまで数秒のディレイが生じることになる。また、通信状況に応じて複数のストリームの中から送出すべきものを選択する場合、１つのオリジナル・データに対して複数のデータを作成する必要があるため、圧縮プロセスが複雑化するという問題がある。また、複数のデータを保存又は転送するために送出機構側のデータ・ストレージや通信回線などの面で無駄が多くなり、その分システムの管理が繁雑になる。
【０００９】
【発明が解決しようとする課題】
本発明の目的は、回線容量が一定でない通信回線経由でデータを好適にストリーミング配信することができる優れたデータ配信システム、ストリーミング配信用のデータを作成、送信、又は受信などの処理を行なう優れたデータ処理装置及びデータ処理方法、並びにコンピュータ・プログラムを提供することにある。
【００１０】
本発明のさらなる目的は、スケーラブルなデータ圧縮方法を用いて安定したストリーム配信を行なうことができる優れたデータ配信システム、スケーラブルなデータ圧縮方法によりストリーミング配信用のデータを作成、送信、又は受信などの処理を行なうことができる優れたデータ処理装置及びデータ処理方法、並びにコンピュータ・プログラムを提供することにある。
【００１１】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、回線容量が一定でない通信回線経由でデータを配信するデータ配信システムであって、
入力データを所定時間単位でブロック化するとともに、複数の帯域に分割して帯域毎に符号化圧縮して、データ再生時に不可欠となる基本サブブロックとそれ以外の複数の拡張サブブロックを生成し、所定時間単位で基本サブブロックを必ず送信するとともに回線容量に応じて拡張サブブロックを選択的に送信する、
ことを特徴とするデータ配信システムである。
【００１２】
また、本発明の第２の側面は、回線容量が一定でない通信回線経由でデータを配信するデータ配信システムであって、
入力データを所定時間単位でブロック化し、複数の帯域に分割して帯域毎に符号化圧縮し、データ再生時に不可欠となる基本サブブロックとそれ以外の複数の拡張サブブロックを生成し、前記基本サブブロックと前記拡張サブブロックのそれぞれに該サブブロックの転送に必要とされるリソース量を求めるための情報を付加して送信する、
ことを特徴とするデータ配信システムである。
【００１３】
但し、ここで言う「システム」とは、複数の装置（又は特定の機能を実現する機能モジュール）が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。
【００１４】
本発明によれば、原データを時間ブロック単位でさらに帯域分割して符号化するというスケーラブルなデータ圧縮方法を用いることにより、１つのデータからさまざまなビットレートのデータを容易に作り出すことができる。
【００１５】
したがって、サーバ側ではストリーム用データのためのストレージ容量を削減することができる。また、データ転送レートを制御するためのプロトコルも簡素化されるので、例えばＴＣＰ（Transmission Control Protocol）のような既存の標準的なプロトコル上で動作して、安定したストリーム配信を実現することができる。また、帯域分割されたサブブロック毎に原データを符号化圧縮することから、個々の圧縮演算処理ユニットは小規模で済む（又は、符号化のための処理負荷は軽い）。
【００１６】
例えばオーディオ・データを扱う場合、各時間ブロック毎に可聴な周波数帯域（０〜２２ｋＨｚ）とそれ以外の周波数帯域（２２ｋＨｚを超える帯域をさらに複数に分割してもよい）に帯域分割し、各帯域毎に符号化圧縮演算を施す。符号化圧縮は、ＭＤＣＴ（変形離散コサイン変換）と量子化処理により行なわれるが、このとき圧縮成分と量子化エラー成分が出力される。可聴周波数帯域の圧縮成分は、データ再生時に不可欠であることから基本サブブロックに位置付けられる。また、可聴周波数帯域の量子化エラー成分や、他の帯域の圧縮成分並びに量子化成分はデータ再生品質の向上に寄与することから拡張サブブロックに位置付けられる。
【００１７】
また、入力データの特性によっては量子化エラー成分のデータ量が大きくなることがあるが、さらに量子化エラー成分に同様の符号化圧縮処理を再帰的に適用してもよい。この場合、量子化エラー成分についての圧縮成分と量子化エラー成分が生成されるが、これらを拡張サブブロックとしてストリーム用データの一部に含めることができる。
【００１８】
このようにして、入力データは、所定の時間ブロック単位で階層化された複数のサブブロックに分割して取り扱われる。また、各サブブロックには、サブブロックの転送に必要とされるリソース量を求めるためのリソース量算出情報を付加しておくようにしてもよい。リソース量算出情報は、サブブロックの転送によるブロック転送レートの増分を計算するために使用され、例えば、サブブロックの大きさを示すデータ長などで構成される。データ長の代わりに、そのサブブロックを転送する場合と転送しない場合とで比較したときのブロック転送レートの増減値を使用してもよい。また、各サブブロックには、例えばどの時間ブロックのどの帯域のサブブロックであるかを識別する階層ＩＤをさらに付加してもよい。
【００１９】
ストリーミング配信時には、所定時間単位で、基本サブブロックを必ず送信するとともに、回線容量に応じて送出する拡張サブブロックの量を動的に制御する。例えば、送信可能タイミングを検出したときに、どのデータ・ブロックを送るかを決定するようにすればよい。すなわち、送信可能タイミングにおいて、最後にデータ送出したときと同じ時間ブロックであれば当該時間ブロック内の残りの拡張サブロックを送出する。また、既に次の時間ブロックの送出タイミングが到来している場合には残りの拡張サブブロックの送出を諦めて、次の時間ブロック内における基本サブブロックの送出を開始する。ここで言うデータの「送信可能タイミング」とは、次の送信データを伝送路上に送出することができる時刻又はこれと等価な時刻のことであり、例えば、送出ジッターを吸収するために用意されているプロトコル・バッファに空きができた時刻を送信可能タイミングとして利用することもできる。
【００２０】
一方、クライアントすなわちデータ・ストリームの受信側では、時間ブロック毎に基本サブブロックを逆量子化及び逆ＭＤＣＴ演算により復号化伸張処理してストリーミング再生を行なうとともに、拡張サブブロックを利用して再生品質を向上させる。受信側では、各時間ブロックについて拡張サブブロックを何個まで送出したかを知ることはできないが、サブブロックに付加されている階層ＩＤを用いて識別することにより、再生が可能となる。また、受信側では、階層ＩＤを参照することにより、必要に応じて必要な階層のサブブロックを取捨選択して再生に用いることができる。例えば、データ長分だけスキップして不要な拡張サブブロックを破棄することができる。すなわち、受信側では、受信データを復号化伸張処理する際に、伸張する品質を自ら選択することができる訳である。また、帯域分割されたサブブロック毎に復号化伸張処理することから、個々の伸張演算処理ユニットは小規模で済む（又は、処理負荷は軽い）。
【００２１】
また、本発明の第３の側面は、通信回線経由で配信されるデータを処理するデータ処理装置又はデータ処理方法であって、
入力データを所定時間単位でブロック化するとともに、複数の帯域に分割して帯域毎に符号化圧縮して、データ再生時に不可欠となる基本サブブロックとそれ以外の複数の拡張サブブロックを生成する送信データ生成手段又はステップと、
データ送信タイミングを検出する送信タイミング検出手段又はステップと、
該検出された送信タイミングに基づいて送信すべきサブブロックを決定する送信データ決定手段又はステップと、
を具備することを特徴とするデータ処理装置又はデータ処理方法である。
【００２２】
また、本発明の第４の側面は、通信回線経由で配信されるデータを処理するデータ処理装置又はデータ処理方法であって、
入力データを所定時間単位でブロック化し、複数の帯域に分割して帯域毎に符号化圧縮し、データ再生時に不可欠となる基本サブブロックとそれ以外の複数の拡張サブブロックを生成する送信データ生成手段又はステップと、
前記基本サブブロックと前記拡張サブブロックのそれぞれに該サブブロックの転送に必要とされるリソース量を求めるための情報を付加するリソース算出情報付加手段又はステップと、
を具備することを特徴とするデータ処理装置又はデータ処理方法である。
【００２３】
本発明の第３及び第４の各側面に係るデータ処理装置又はデータ処理方法によれば、原データを時間ブロック単位でさらに帯域分割して符号化するというスケーラブルなデータ圧縮方法を用いることにより、１つのデータからさまざまなビットレートのデータをデータ送出時に容易に作り出すことができる。したがって、ストリーム用データのためのストレージ容量を削減することができる。
【００２４】
また、データ転送レートを制御するためのプロトコルも簡素化されるので、例えばＴＣＰ（Transmission Control Protocol）のような既存の標準的なプロトコル上で動作して、安定したストリーム配信を実現することができる。
【００２５】
また、帯域分割されたサブブロック毎に原データを符号化圧縮することから、個々の圧縮演算処理ユニットは小規模で済む（又は、符号化の処理負荷は軽い）。
【００２６】
ここで、前記送信データ生成手段又はステップは、時間ブロック単位の入力データをデータ再生に不可欠の帯域とそれ以外の１以上の帯域に分割して、各帯域について符号化圧縮演算を適用して、データ再生に不可欠の帯域についての圧縮成分を基本サブブロックとするとともに、他の帯域の圧縮成分並びに各帯域についての圧縮誤差成分を拡張サブブロックとする。
【００２７】
さらに、前記送信データ生成手段又はステップは、各帯域についての圧縮誤差成分を再帰的に符号化圧縮して、その再帰的な圧縮成分並びに再帰的な圧縮誤差成分を拡張サブブロックとしてもよい。
【００２８】
このようにして、入力データを所定時間単位でブロック化するとともに、複数の帯域に分割して、各帯域について符号化圧縮を行ない、データ再生時に不可欠となる基本サブブロックと、データ再生に不可欠ではないが再生品質の向上に寄与する複数の拡張サブブロックに分けて階層構造を作成する。
【００２９】
階層化された圧縮データはスケーラビリティを備えており、伸張時にはデータ・ストリーム全体あるいはその一部を選択的に伸張することによって、データ伸張品質を容易に選択・調整することができる。
【００３０】
また、前記送信データ決定手段又はステップは、サブブロックの転送に必要とされるリソース量を求めるためのリソース量算出情報として、サブブロックを識別する階層ＩＤとデータ長を各サブブロックに付加するようにしてもよい。あるいは、データ長の代わりに、データ長の増減の値を使用してもよい。リソース量算出情報を基に、サブブロックの転送によるブロック転送レートの増分を計算することができる。したがって、スケーラブルな圧縮データを記録したり、読み出し、データ伝送する場合には、階層ＩＤを基にサブブロックを同定したり、データ長分だけ読み出し位置をスキップして次のサブブロックを高速に取り出すことができる。
【００３１】
そして、データのストリーミング配信時には、前記送信データ決定手段又はステップは、時間ブロック毎に基本サブブロックの送信を決定するとともに、回線容量に応じて送信すべき拡張サブブロックを選択するようにすればよい。
【００３２】
例えば、検出された送信可能タイミングが最後に送出したサブブロックと同じ時間ブロックである、すなわち最後にデータ送信したときの時間ブロックの送信期限がまだ過ぎていない場合には、同じ時間ブロック内で残りの拡張サブロックの送信を決定すればよい。この結果、データ再生に不可欠な基本サブブロック以外に、回線容量に応じた分だけ拡張サブブロックを伝送することができるので、データを受信するクライアント側ではより高品質の再生データを享受することができる。
【００３３】
また、検出された送信可能タイミングにおいて最後に送出したサブブロックと同じ時間ブロックの送信期限が既に経過している場合には、該送信可能タイミングに対応する時間ブロックの基本サブブロックの送信を決定するようにする。この結果、回線容量に余裕がない場合には、少なくとも基本サブブロックを伝送するようにして、データを受信するクライアント側で再生データの途切れを引き起こさないようにする。
【００３４】
また、本発明の第５の側面は、通信回線経由で配信されるデータの処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
入力データを所定時間単位でブロック化するとともに、複数の帯域に分割して帯域毎に符号化圧縮して、データ再生時に不可欠となる基本サブブロックとそれ以外の複数の拡張サブブロックを生成する送信データ生成ステップと、
データ送信可能タイミングを検出する送信タイミング検出ステップと、
該検出された送信可能タイミングに基づいて送信すべきサブブロックを決定する送信データ決定ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
【００３５】
また、本発明の第６の側面は、通信回線経由で配信されるデータの処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
入力データを所定時間単位でブロック化するとともに、複数の帯域に分割して帯域毎に符号化圧縮して、データ再生時に不可欠となる基本サブブロックとそれ以外の複数の拡張サブブロックを生成する送信データ生成ステップと、
前記基本サブブロックと前記拡張サブブロックのそれぞれに該サブブロックの転送に必要とされるリソース量を求めるための情報を付加するリソース算出情報付加ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
【００３６】
本発明の第５及び第６の各側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第５及び第６の各の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第３及び第４の各側面に係るデータ処理装置又はデータ処理方法と同様の作用効果を得ることができる。
【００３７】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００３８】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００３９】
Ａ．概要
例えばインターネットのような回線容量が一定しない通信回線を利用してデータのストリーミングを行なう場合、回線容量に応じてさまざまな圧縮率に適応し得るスケーラブルなデータ圧縮手法が必要となる。
【００４０】
そこで、本発明では、入力データを所定時間単位でブロック化するとともに、複数の帯域に分割して、各帯域毎に符号化圧縮を行ない、データ再生時に不可欠となる基本サブブロックと、データ再生に不可欠ではないが再生品質の向上に寄与する複数の拡張サブブロックに分けて階層構造を作成する。
【００４１】
そして、ストリーミング配信時には、所定時間単位で、基本サブブロックを必ず送信するとともに、回線容量に応じて送出する拡張サブブロックの量を動的に制御する。例えば、送信可能タイミングを検出したときに、どのデータ・ブロックを送るかを決定するようにすればよい。すなわち、送信可能タイミングにおいて、同じデータ・ブロックを送出する時間周期内であれば残りの拡張サブロックを送出するが、既に次のデータ・ブロックの送出タイミングが到来した場合には残りの拡張サブブロックの送出を諦めて次のデータ・ブロックの基本サブブロックの送出を開始する。
【００４２】
このように原データを時間ブロック単位でさらに帯域分割して符号化するというスケーラブルなデータ圧縮方法を用いることにより、１つのデータからさまざまなビットレートのデータを作り出すことができる。したがって、サーバ側ではストリーム用データのためのストレージ容量を削減することができる。また、データ転送レートを制御するためのプロトコルも簡素化されるので、例えばＴＣＰ（Transmission Control Protocol）のような既存の標準的なプロトコル上で動作して、安定したストリーム配信を実現することができる。また、帯域分割されたサブブロック毎に原データを符号化圧縮することから、個々の圧縮演算処理ユニットは小規模で済む（又は、符号化の処理負荷は軽い）。
【００４３】
例えばストリーミング配信用のデータとしてオーディオ・データを扱う場合、各時間ブロック毎に可聴な周波数帯域（０〜２２ｋＨｚ）とそれ以外の周波数帯域（２２ｋＨｚを超える帯域をさらに複数に分割してもよい）に帯域分割し、各帯域毎に符号化圧縮演算を施す。符号化圧縮は、ＭＤＣＴ（変形離散コサイン変換）と量子化処理により行なわれるが、このとき圧縮成分と量子化エラー成分が出力される。可聴周波数帯域の圧縮成分は、データ再生時に不可欠であることから基本サブブロックに位置付けられる。また、可聴周波数帯域の量子化エラー成分や、他の帯域の圧縮成分並びに量子化成分はデータ再生品質の向上に寄与することから拡張サブブロックに位置付けられる。
【００４４】
また、入力データの特性によっては量子化エラー成分のデータ量が大きくなることがあるが、さらに量子化エラー成分に同様の符号化圧縮処理を再帰的に適用してもよい。この場合、量子化エラー成分についての圧縮成分と量子化エラー成分が生成されるが、これらを拡張サブブロックとしてストリーム用データの一部に含めることができる。
【００４５】
このようにして入力データは、所定の時間ブロック単位で階層化された複数のサブブロックに分割して取り扱われる。また、各サブブロックには、どの時間ブロックのどの帯域のサブブロックであるかを識別する階層ＩＤと、サブブロックの大きさを示すデータ長を付加しておく。
【００４６】
一方、クライアントすなわちデータ・ストリームの受信側では、時間ブロック毎に基本サブブロックを逆量子化及び逆ＭＤＣＴ演算により復号化伸張処理してストリーミング再生を行なうとともに、拡張サブブロックを利用して再生品質を向上させる。受信側では、各時間ブロックについて拡張サブブロックを何個まで送出したかを知ることはできないが、サブブロックに付加されている階層ＩＤを用いて識別することにより、再生が可能となる。また、受信側では、階層ＩＤを参照することにより、必要に応じて必要な階層のサブブロックを取捨選択して再生に用いることができる。例えば、データ長分だけスキップして不要な拡張サブブロックを破棄することができる。すなわち、受信側では、受信データを復号化伸張処理する際に、伸張する品質を自ら選択することができる訳である。また、分割された帯域毎に復号化伸張処理することから、個々の伸張演算処理ユニットは小規模で済む（又は、復号化の処理負荷は軽い）。
【００４７】
Ｂ．スケーラブルなデータ圧縮
まず、本実施形態に係るスケーラブルなデータ符号化圧縮システム１０について、図１を参照しながら説明する。但し、以下の説明では便宜上オーディオ・データを扱うものとする。但し、以下の説明では便宜上、８８．２ｋＨｚまでの周波数帯域を持つ、すなわちサンプリング・レートが１７６．４ｋＨｚであるようなオーディオ・データを扱うものとする。
【００４８】
原データは、ハード・ディスクや光磁気ディスクなどのランダム・アクセスが可能な記録装置上に蓄積されている。そして、記録装置からオーディオ・データが所定の時間ブロックＴB単位で読み出され（図２を参照のこと）、ＱＭＦ（Quadrature Mirror Filter）を多段に組み合わせたフィルタによって周波数方向に複数に分解される。
【００４９】
図１に示す例では、二段に組み合わせたＱＭＦ １１ によって、オーディオ・データは、０〜２２ｋＨｚの可聴周波数帯域サブブロックと、２２ｋＨｚを超える帯域をさらに２２ｋＨｚ毎の帯域に分割されている。以下では、０〜２２ｋＨｚの可聴周波数帯域を「基本帯域」と呼び、以降は「ｘ２帯域」、「ｘ３帯域」、「ｘ４帯域」と呼ぶことにする。勿論、超２２ｋＨｚ帯域を他の様式で分割してもよいし、分割せずに単一の帯域サブブロックとして取り扱うようにしてもよい。
【００５０】
分割された各帯域は、さらに、ＭＤＣＴ（変形離散コサイン変換）演算部１２で時間軸上のデータ列を周波数軸上のデータ列に変換し、さらに、量子化演算部１３で量子化して圧縮符号化する。
【００５１】
ここで、各々の帯域における量子化演算部１３の出力は、圧縮成分と量子化エラー成分で構成される。
【００５２】
この結果、所定の時間ブロックで切り出された原データは、図３に示すような階層化された複数のサブブロックとして構成されている。すなわち、基本帯域は、その圧縮成分からなる基本サブブロック＃１と、その量子化エラー成分からなる拡張サブブロック＃２という階層構造からなる。また、ｘ２帯域は、この帯域成分について圧縮成分からなる拡張サブブロック＃３と、その量子化エラー成分からなる拡張サブブロック＃４という階層構造からなる。同様に、ｘ３帯域はこの帯域成分について圧縮成分からなる拡張サブブロック＃５とその量子化エラー成分からなる拡張サブブロック＃６という階層構造からなり、ｘ３帯域はこの帯域成分について圧縮成分からなる拡張サブブロック＃５とその量子化エラー成分からなる拡張サブブロック＃６という階層構造からなる。本実施形態では、各サブブロックは可変長であるが、勿論、固定長となるように符号化圧縮を施してもよい。
【００５３】
また、入力データの特性によっては量子化エラー成分のデータ量が大きくなることがある。このような場合、図４に示すように、再圧縮部１４により、さらに量子化エラー成分に同様の符号化圧縮処理を再帰的に適用してもよい。再圧縮部１４は、同様にＭＤＣＴ演算と量子化演算を行ない、量子化エラー成分についての再圧縮成分と再量子化エラー成分が生成されるが、図５に示すように、これらを拡張サブブロックとして階層化して、ストリーム用データの一部に含めることができる。勿論、図６に示すように再量子化エラー成分を再度圧縮して、再々圧縮成分と再々量子化エラー成分を得て、拡張サブブロックをさらに階層化することもできる。
【００５４】
基本サブブロック＃１は、データ再生時に不可欠となる成分である。これに対して、拡張サブブロック＃２〜＃８はデータ再生に不可欠ではないがデータ再生品質の向上に寄与することができる。また、拡張サブブロックは、原データの圧縮成分と量子化エラー成分の２種類があるが、対応する圧縮成分がなければその量子化エラー成分をデータ再生に利用することはできない（例えば、拡張サブブロック＃４を利用するためには拡張サブブロック＃３の復号化が必須である）。また、基本サブブロック＃１により近い帯域成分ほどデータ再生品質への貢献度は高いという性質がある。
【００５５】
後処理部１５では、階層的に符号化圧縮されたサブブロックに、どの時間ブロックのどの帯域のサブブロックであるかを識別する階層ＩＤを付加する。また、サブフロックを可変長形式で構成する場合には、さらにサブブロックのデータ長を付加する。図７には、基本及び拡張サブブロックのデータ構造を示している。
【００５６】
このようにして生成された基本及び拡張サブブロックは、ハード・ディスク装置のようなランダム・アクセス可能な記録装置に時系列的に蓄積される（図８を参照のこと）。記録装置上では、サブブロックの先頭に記述された階層ＩＤを参照することによって、どの時間ブロックのどの階層のサブブロックであるかを同定することができる。また、次のサブブロックに進みたいときには、データ長分だけ読み出し位置をスキップすればよい。
【００５７】
このように圧縮したデータを分割し且つ階層的に記録するようにして、圧縮データの伸張時の品質を動的に選択、制御することが可能となり、スケーラビリティが実現される。また、圧縮処理の過程における誤差を検出して圧縮データに付加することによって、圧縮品質を向上させることができる。
【００５８】
また、図１３には、上述したスケーラブルなデータ符号化圧縮に対応するデータ復号化伸張処理システム２０の構成を図解している。同図に示すように、この伸張処理システム２０は、可聴帯域及びｘ２，ｘ３，ｘ４の各帯域毎に復号化伸張処理部を備え、それぞれの帯域についての復号データを逆ＱＭＦで多重化して、原データを再現する構成となっている。
【００５９】
前処理部２１では、受信したサブブロックの階層ＩＤを読み込んで、該当する帯域の復号化伸張処理部に投入する。
【００６０】
復号化伸張処理部は、逆量子化部２２と、逆ＭＤＣＴ演算部２３で構成される。逆量子化部２２は、該当する帯域についての圧縮成分サブブロックと量子化エラー成分サブブロックを基に逆量子化を行なう。量子化エラーサブブロックが再帰的に圧縮処理が施されている場合には、このサブブロックを一旦復号化伸張処理を行なった後、逆量子化部２２に投入する。また、逆ＭＤＣＴ演算部２３は、周波数軸上のデータ列を時間軸上のデータ列に変換する。
【００６１】
そして、各帯域についての復号データを逆ＱＭＦ２４で多重化して、原データを再現する。
【００６２】
このデータ復号化伸張処理システム２０に基本サブブロック＃１が入力されると、これが逆量子化及び逆ＭＤＣＴ演算されて、原データの可聴帯域が復元される（図１４を参照のこと）。次いで、拡張サブブロック＃２が入力されると、可聴帯域の符号化圧縮時における量子化エラー成分も復元され（図１５を参照のこと）、高品質の可聴帯域を再生することが可能となる。
【００６３】
さらに、拡張サブブロック＃３が入力されるとｘ２帯域が復元され（図１６を参照のこと）、また、拡張サブブロック＃４が入力されるとｘ２帯域の符号化圧縮時における量子化エラー成分も復元され（図１７を参照のこと）、ｘ２帯域までを高品質で再生することが可能となる。
【００６４】
以下同様に、データ復号化伸張処理システム２０が拡張サブブロック＃５，＃６，…を順次得ることによって、原データのより高い帯域成分をより高品質で再現していくこととなる（図１８〜図２１を参照のこと）。
【００６５】
また、スケーラブルな圧縮データを復号化伸張処理の変形例として、図２１に示すように、可聴帯域及びｘ２，ｘ３，ｘ４のすべての帯域において圧縮符号化成分を復元する一方で、可聴帯域のみ量子化エラー成分を復元するようにしてもよい。あるいは、図２２に示すように、可聴帯域及びｘ２，ｘ３，ｘ４のすべての帯域において圧縮符号化成分を復元する一方で、可聴帯域及びｘ２領域のみ量子化エラー成分を復元するようにしてもよい。あるいは、図２３に示すように、可聴帯域及びｘ２，ｘ３の各帯域において圧縮符号化成分を復元する一方で、可聴帯域のみ量子化エラー成分を復元するようにしてもよい。前処理部２１は、供給される各サブブロックに付加されている階層ＩＤ及びデータ長を参照して、図２２〜図２３の各復号化伸張結果となるように、サブブロックを取捨選択するようにすればよい。
【００６６】
上述したように圧縮データはスケーラビリティを備えているので、伸張時にはデータ・ストリーム全体あるいはその一部を選択的に伸張することによって、データ伸張品質を選択・調整することができる訳である。
【００６７】
Ｃ．ストリーミング配信
図１に示したデータ符号化圧縮システム１０によれば、スケーラブルな階層化圧縮データを得ることができ、１つのデータからさまざまなビットレートのデータを作り出すことができる。このような階層化圧縮データを用いてストリーミング配信を行なうことにより、サーバ側では、ストリーム用データのためのストレージ容量を削減することができる。また、データ転送レートを制御するためのプロトコルも簡素化されるので、例えばＴＣＰ（Transmission Control Protocol）のような既存の標準的なプロトコル上で動作して、回線容量が一定でないインターネット上でも安定したストリーム配信を実現することができる。
【００６８】
図９には、本実施形態に係るストリーミング配信システム５０の構成を模式的に示している。
【００６９】
同図に示すように、ストリーミング配信システム５０は、データ・ストリームを配信するサーバ６０と、データ・ストリームを受信と同時に再生するクライアント７０で構成される。
【００７０】
サーバ６０とクライアント７０の間は、インターネットあるいはその他の形態のＴＣＰネットワーク８０で相互接続されている。本実施形態では、安定したストリーム配信を行なう上で、ＴＣＰネットワーク８０の回線容量が一定であることは特に要求されない。
【００７１】
なお、図示しないがＴＣＰネットワーク８０上には図示しない複数のサーバ並びに多数のクライアントが配置されていてもよい。また、サーバは、ストリーミング配信サービス以外の、さまざまの情報提供サービスを行なっていてもよい。
【００７２】
ストリーミング配信を行なうサーバ６０側では、ＴＣＰプロトコル・スタック６１上でストリーミング配信用サーバ・アプリケーション６２が起動している。
【００７３】
このサーバ・アプリケーション６２は、付設の記録装置６３からストリーミング配信用データを読み出して、ＴＣＰプロトコル・スタック６１を介して、ストリーミング配信を行なう。ＴＣＰプロトコルの詳細についてはＲＦＣ（request for comments）を参照されたい。
【００７４】
記録装置６３上には、スケーラブルなデータ圧縮処理が施されたストリーミング配信用データが蓄積されている。より具体的には、原データは所定の時間ブロック毎に複数の帯域に分割並びに符号化圧縮され、圧縮成分サブブロックとその量子化成分サブブロックに階層化され、時系列的に格納される（図８を参照のこと）。各サブブロックには、どの時間ブロックのどの帯域のサブブロックであるかを識別する階層ＩＤと、サブブロックのデータ長が付加されている（図７を参照のこと）。また、記録装置６３は、ハード・ディスクなどのランダム・アクセスが可能な装置で構成され、階層ＩＤとデータ長を参照して所望のサブブロックに自在にアクセスすることができる。
【００７５】
ストリーミング配信サーバ・アプリケーション６２は、次回送出すべきサブブロックを記録装置６３から読み出すと、これをＴＣＰプロトコル・スタック６１が装備する送信バッファ６１Ａに書き込む。
【００７６】
送信バッファ６１Ａは、ＦＩＦＯ（First In First Out：先入れ先出し）形式で構成され、古いデータの順にＴＣＰネットワーク８０に送出する。送信バッファ６１Ａは、記録装置６３からの送信データの取り出しタイミング（あるいは送信データの生成タイミング）と送信タイミングとの差を吸収するために装備されている。アプリケーション６２によるデータ書き込み動作により送信バッファ６１Ａに送信データが書き込まれる（あるいは送信データで満杯になる）と、ＴＣＰプロトコル・スタック６１のデータ送出タイミングとなる。また、ＴＣＰネットワーク８０へのデータ送出動作により送信バッファ６１Ａが空になる（あるいは空き領域が生ずる）と、アプリケーション６２による次のデータ書き込みタイミングとなる。
【００７７】
一方、ストリーミング・データを受信するクライアント７０側では、ＴＣＰ上でストリーミング・データ再生用クライアント・アプリケーション７２が起動している。
【００７８】
ＴＣＰプロトコル・スタック７１は、ＴＣＰネットワーク８０経由で配信されたデータを受信すると、これを受信バッファ７１Ａに書き込む。ストリーミング・データ再生用クライアント・アプリケーション７２は受信バッファ７１Ａから取り出したデータを逆量子化及び逆ＭＤＣＴ演算して原データに復元して、再生器７３から再生出力する。この復号化処理は、各帯域毎に、圧縮成分サブブロックのみ、あるいは、さらに量子化エラー成分サブブロックを用いて行なわれる。
【００７９】
上述したように、サーバ６０側からは、スケーラブルなデータ圧縮処理が施されたストリーミング配信用データが送信される。より具体的には、送信データは、原データを所定の時間ブロック毎に複数の帯域に分割並びに符号化圧縮した後、圧縮成分サブブロックとその量子化成分サブブロックに階層化されている。一方、クライアント７０側では、各時間ブロックについて拡張サブブロックを何個まで送出したかを知ることはできないが、サブブロックに付加されている階層ＩＤを用いて識別することにより、再生が可能となる。
【００８０】
受信バッファ７１Ａは、ＦＩＦＯ（First In First Out：先入れ先出し）形式で構成され、古いデータの順にアプリケーション７２に送出する。受信バッファ７１Ａは、ＴＣＰネットワーク８０経由でのデータ受信タイミングとアプリケーション７２からの受信データの取り出しタイミング（あるいは受信データの再生タイミング）との差を吸収するために装備されている。受信データが受信バッファ７１Ａに蓄積される（あるいは満杯になる）と、アプリケーション７２は受信データを読み出す。また、アプリケーション７２からの読み出し動作により受信バッファ７１Ａが空になる（あるいは空き領域が生ずる）と、ＴＣＰプロトコル・スタック７１は次のデータの受信可能タイミングとなる。
【００８１】
本実施形態では、原データは、データ再生時に不可欠となる基本サブブロックと、データ再生に不可欠ではないが再生品質の向上に寄与する複数の拡張サブブロックに分けて、階層構造化されている。ストリーミング配信用サーバ・アプリケーション６２は、所定の時間ブロック毎に、基本サブブロックを必ず送信するとともに、回線容量に応じて送出する拡張サブブロックの量を動的に制御するようになっている。すなわち、送信可能タイミングにおいて、同じデータ・ブロックを送出する時間周期内であれば残りの拡張サブロックを送出するが、既に次のデータ・ブロックの送出タイミングが到来した場合には残りの拡張サブブロックの送出を諦めて次のデータ・ブロックの基本サブブロックの送出を開始する。
【００８２】
このようにすれば、原データを時間ブロック単位でさらに帯域分割して符号化するというスケーラブルなデータ圧縮方法を用いることにより、１つのデータからさまざまなビットレートのデータを作り出すことができる。したがって、ビットレート調整のために、１つの原データからビットレートの異なる複数の符号化ストリームを用意する必要がないので、記録装置６３のストレージ容量を削減することができる。
【００８３】
図１０には、ストリーミング配信用サーバ・アプリケーション６２によって実現されるストリーミング配信処理の機能構成を模式的に示している。
【００８４】
図示の通り、ストリーミング配信用サーバ・アプリケーション６２は、タイマ６５と、送出ブロック決定部６６と、送出済みブロック記憶部６７を備えている。
【００８５】
ダウンロードしながら再生を行なうストリーミング配信においては、回線容量の変動に拘わらず、クライアント側において途切れなくデータ再生を可能にするために、サーバ６０側ではビットレートを動的に調整する必要がある。
【００８６】
送信データは、所定時間ブロック毎に、複数の帯域に分割するとともに、データ再生時に不可欠となる基本サブブロックとデータ再生に不可欠ではないが再生品質の向上に寄与する複数の拡張サブブロックに送出ブロックに階層化されている。したがって、データの途切れを回避するためには、所定時間ブロック毎に基本サブブロックを送出することが必須である。さらに、回線容量の余裕に応じて拡張サブブロックを送出して、データ再生品質の向上を図るべきである。
【００８７】
タイマ６５は、システム・タイマ（図示しない）などを用いて実時間を計時している。
【００８８】
送出ブロック決定部６６は、タイマ６５の計時値を参照して、送信タイミングを検出したときの時間ブロックを算出する。そして、送信可能タイミングにおいて、同じデータ・ブロックを送出する時間周期内であれば残りの拡張サブロックを送出するが、既に次のデータ・ブロックの送出タイミングが到来した場合には残りの拡張サブブロックの送出を諦めて次のデータ・ブロックの基本サブブロックの送出を開始する。送出ブロック決定部６６は、送出ブロックを決定するために、最後に送出したブロックＢlast及びサブブロックＳＢlastの階層ＩＤを保持するために、送出済みブロック記憶部６７を使用する。
【００８９】
送出ブロック決定部６６は、上述したようなメカニズムにより送出ブロック並びにそのサブブロックを決定すると、該当するデータを記録装置６３から取り出して、ＴＣＰプロトコル・スタック６１の送信バッファ６１Ａに書き込む。
【００９０】
また、図１１には、ストリーミング配信用サーバ・アプリケーション６２によるストリーミング配信の処理手順をフローチャートの形式で示している。
【００９１】
まず、ＴＣＰプロトコル・スタック６１の送信バッファ６１Ａの空き領域をチェックすることにより、出力タイミングが到来したかどうかを判別する（ステップＳ１）。
【００９２】
出力タイミングが到来すると、タイマ６５の計時値を参照して、現在の時間ブロックＢcurrentを算出する。一方、送出済みブロックＩＤ記憶部６７を参照して最後に送出したブロックＢlastを検出する。そして、最後に送出したブロックＢlastが現在の時間ブロックＢcurrentに一致するかどうかを判別する（ステップＳ２）。
【００９３】
最後に送出したブロックＢlastが現在の時間ブロックＢcurrentに一致する場合には、送出済みブロックＩＤ記憶部６７に記憶されている最後に送出したサブブロックＳＢlastを読み出し、同じ時間ブロックＢlast内で次のサブブロックＳＢlast＋１が存在するかどうかをチェックする（ステップＳ３）。
【００９４】
同じ時間ブロックＢlast内で次のサブブロックＳＢlast＋１が存在しない場合には、時間ブロックＢlast内のすべてのサブブロックを既に送信しているので、ステップＳ１に戻り、次の時間ブロックについてのデータ送信タイミングを待機する。
【００９５】
また、同じ時間ブロックＢlast内で次のサブブロックＳＢlast＋１が存在する場合には、出力データとして時間ブロックＢlast内で次のサブブロックＳＢlast＋１を選択して（ステップＳ４）、選んだサブブロックを記録装置６３から読み出して、これをＴＣＰプロトコル・スタック６１の送信バッファ６１Ａに書き込む（ステップＳ６）。そして、送出済みブロックＩＤ記憶部６７の記憶内容を更新する。
【００９６】
また、ステップＳ２において、最後に送出したブロックＢlastが現在の時間ブロックＢcurrentに一致しないと判定された場合には、最後に送出したブロックＢlastを送信する時間ブロックを既に経過しているので、現在の時間ブロックＢcurrentの基本サブブロックを出力データとして選択する（ステップＳ５）。そして、選んだサブブロックを記録装置６３から読み出して、これをＴＣＰプロトコル・スタック６１の送信バッファ６１Ａに書き込むとともに（ステップＳ６）、送出済みブロックＩＤ記憶部６７の記憶内容を更新する。
【００９７】
その後、ステップＳ１に戻り、次のデータ送信タイミングを待機する。
【００９８】
図２４には、サーバ６０側から送出されるデータ・ストリームの構成を模式的に示している。本実施形態では、ストリーミング配信データは所定の時間ブロックＴB毎に取り扱われ、どれだけのサブブロックが送出されるかは、その時間ブロックにおける回線容量に応じて決定され、この結果データ・ストリームのビットレートが動的に調整、制御される仕組みとなっている。同図に示す例では、ｔ＝０の時間ブロックでは、階層＃０の基本サブブロックと階層＃１〜＃２の拡張サブブロックが送出されている。また、ｔ＝ＴBの時間ブロックでは、階層＃０の基本サブブロックと階層＃１の拡張サブブロックのみが送出されている。
【００９９】
このように、本実施形態に係るストリーミング配信システム５０では、図８に示したような１つのデータから、時間ブロックＴB毎の回線容量に応じてさまざまなビットレートのデータを容易に作り出すことができる。したがって、レート制御のためのプロトコルが単純になるので、標準的なＴＣＰ上で実装しても、充分に安定したストリーム配信を行うことができる。また、サーバ６０側では、記録装置６３のストレージ容量を削減することができる。
【０１００】
一方、ストリーミング・データ再生用クライアント・アプリケーション７２は受信バッファ７１Ａから取り出したデータを逆量子化及び逆ＭＤＣＴ演算して原データに復元して、再生器７２から再生出力する。図１２には、ストリーミング・データ再生用クライアント・アプリケーション７２によるストリーミング・データの受信処理手順をフローチャートの形式で示している。
【０１０１】
まず、受信バッファ７１Ａから読み出したサブブロックの先頭から階層ＩＤを読み込む（ステップＳ１１）。
【０１０２】
そして、階層ＩＤを基に、読み出したサブブロックが当該時間ブロックにおける基本サブブロックかどうかを判別する（ステップＳ１２）。
【０１０３】
読み込んだサブブロックが基本サブブロックである場合には、その時点で各階層の復号化伸張部のバッファに入力されたデータがすべてなので、各バッファ内のデータの復号化処理を行ない、再生器７３から再生出力を行なった後（ステップＳ１３）、受信バッファ７１Ａをクリアする（ステップＳ１４）。そして、基本サブブロックのデータを他の階層のデータと同様に読み込む（ステップＳ１５）。
【０１０４】
一方、読み込んだサブブロックが基本サブブロックでない場合には、当該階層のデータそのものを順次各階層の復号化伸張部の入力バッファに読み込む（ステップＳ１５）。
【０１０５】
［追補］
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１０６】
【発明の効果】
以上詳記したように、本発明によれば、回線容量が一定でない通信回線経由でデータを好適にストリーミング配信することができる優れたデータ配信システム、ストリーミング配信用のデータを作成、送信、又は受信などの処理を行なう優れたデータ処理装置及びデータ処理方法、並びにコンピュータ・プログラムを提供することができる。
【０１０７】
また、本発明によれば、スケーラブルなデータ圧縮方法を用いて安定したストリーム配信を行なうことができる優れたデータ配信システム、スケーラブルなデータ圧縮方法によりストリーミング配信用のデータを作成、送信、又は受信などの処理を行なうことができる優れたデータ処理装置及びデータ処理方法、並びにコンピュータ・プログラムを提供することができる。
【０１０８】
本発明によれば、単一の装置又は情報圧縮方法により広範囲な圧縮率に効率用対応することが可能となる。また、特に伝送経路の回線容量などがあまり保証されない場合であっても、自動的に回線容量に対応した圧縮率の伝送データを生成することができる。
【０１０９】
また、本発明により圧縮されたビット・ストリームは、それ単体で複数のビットレートに対応したものとなるので、さまざまな転送レートを持った伝送経路による情報の伝送、並びに異なる記録容量（密度）を有する記録媒体への記録などが、同一の圧縮ビット・ストリームにより対応することが可能となる。したがって、伝送経路あるいは記録媒体に合わせて複数の圧縮率のビット・ストリームを持つ必要がなくなるため、システムの規格を容易に構築することができるとともに、装置の規模も縮小することが可能となる。
【図面の簡単な説明】
【図１】本実施形態に係るストリーミング配信に利用されるデータ圧縮メカニズムを模式的に示した図である。
【図２】記録装置から読み出される原データのデータ構造を模式的に示した図である。
【図３】図１に示したデータ圧縮メカニズムにより符号化圧縮して得られる階層化サブブロック構成を模式的に示した図である。
【図４】量子化エラー成分を再帰的に符号化圧縮するメカニズムを示した図である。
【図５】拡張サブブロックの再圧縮成分と再量子化エラー成分を含む階層化圧縮データ構成を示した図である。
【図６】拡張サブブロックの再々圧縮成分と再々量子化エラー成分を含む階層化圧縮データ構成を示した図である。
【図７】基本及び拡張サブブロックのデータ構造を模式的に示した図である。
【図８】スケーラブルに階層化圧縮されたデータが記録装置に保存されている様子を模式的に示した図である。
【図９】本実施形態に係るストリーミング配信システム５０の構成を模式的に示した図である。
【図１０】ストリーミング配信用サーバ・アプリケーション６２によって実現されるストリーミング配信処理の機能構成を模式的に示した図である。
【図１１】ストリーミング配信用サーバ・アプリケーション６２によるストリーミング配信の処理手順を示したフローチャートである。
【図１２】ストリーミング・データ再生用クライアント・アプリケーション７２によるストリーミング・データの受信処理手順を示したフローチャートである。
【図１３】スケーラブルなデータ符号化圧縮に対応するデータ復号化伸張処理システム２０の構成を模式的に示した図である。
【図１４】データ復号化伸張処理システム２０によりスケーラブルな圧縮データを復号化伸張処理した結果を示した図である。
【図１５】データ復号化伸張処理システム２０によりスケーラブルな圧縮データを復号化伸張処理した結果を示した図である。
【図１６】データ復号化伸張処理システム２０によりスケーラブルな圧縮データを復号化伸張処理した結果を示した図である。
【図１７】データ復号化伸張処理システム２０によりスケーラブルな圧縮データを復号化伸張処理した結果を示した図である。
【図１８】データ復号化伸張処理システム２０によりスケーラブルな圧縮データを復号化伸張処理した結果を示した図である。
【図１９】データ復号化伸張処理システム２０によりスケーラブルな圧縮データを復号化伸張処理した結果を示した図である。
【図２０】データ復号化伸張処理システム２０によりスケーラブルな圧縮データを復号化伸張処理した結果を示した図である。
【図２１】データ復号化伸張処理システム２０によりスケーラブルな圧縮データを復号化伸張処理した結果を示した図である。
【図２２】データ復号化伸張処理システム２０によりスケーラブルな圧縮データを復号化伸張処理した結果を示した図である。
【図２３】データ復号化伸張処理システム２０によりスケーラブルな圧縮データを復号化伸張処理した結果を示した図である。
【図２４】サーバ６０側から送出されるデータ・ストリームの構成を模式的に示した図である。
【符号の説明】
１０…データ符号化圧縮システム
１１…２段ＱＭＦ（帯域分解フィルタ）
１２…ＭＤＣＴ演算部
１３…量子化演算部
１４…再圧縮部
１５…後処理部
２０…データ復号化伸張処理システム
２１…逆量子化部
２２…逆ＭＤＣＴ演算部
２３…２段逆ＱＭＦ（帯域多重化フィルタ）
５０…ストリーミング配信システム
６０…サーバ
６１…ＴＣＰプロトコル・スタック
６２…ストリーミング配信サーバ・アプリケーション
６３…記録装置
６５…タイマ
６６…送出データ決定部
６７…送出済みブロックＩＤ記憶部
７０…クライアント
７１…ＴＣＰプロトコル・スタック
７２…ストリーミング・データ再生用クライアント・アプリケーション
７３…再生器
８０…ＴＣＰネットワーク
【図１】
0004404180.tif 000002
【図２】
0004404180.tif 000003
【図３】
0004404180.tif 000004
【図４】
0004404180.tif 000005
【図５】
0004404180.tif 000006
【図６】
0004404180.tif 000007
【図７】
0004404180.tif 000008
【図８】
0004404180.tif 000009
【図９】
0004404180.tif 000010
【図１０】
0004404180.tif 000011
【図１１】
0004404180.tif 000012
【図１２】
0004404180.tif 000013
【図１３】
0004404180.tif 000014
【図１４】
0004404180.tif 000015
【図１５】
0004404180.tif 000016
【図１６】
0004404180.tif 000017
【図１７】
0004404180.tif 000018
【図１８】
0004404180.tif 000019
【図１９】
0004404180.tif 000020
【図２０】
0004404180.tif 000021
【図２１】
0004404180.tif 000022
【図２２】
0004404180.tif 000023
【図２３】
0004404180.tif 000024
【図２４】
0004404180.tif 000025