(57)【要約】  【課題】  【解決手段】システムは、データストリーム内のキーフレームを、キーフレームおよびデルタフレームとして符号化することに関する。総ての符号化されたキーおよびデルタフレームを含むデータストリームが生成され、この生成されたデータストリームは、要求信号を受信した後にストリーム内に生じた最初のキーフレームと以降のデルタフレームとともに送信される。キーフレームは、データストリームの要求信号を受信した直後にストリーム内に配置されたとき、送信されたデータストリーム内に挿入される。【選択図】図５
2008516477.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータストリームを圧縮するシステムにおいて、
前記ビデオデータストリームを受信し、
前記ビデオデータストリーム内のキーフレームをキーフレームおよびデルタフレームとして符号化し、
前記ビデオデータストリーム内のデルタフレームをデルタフレームとして符号化するビデオデータプロセッサと、
前記符号化されたキーおよびデルタフレームを前記ビデオプロセッサから受信し、
前記符号化されたキーおよびデルタフレームから、符号化されたデータストリームを生成し、
クライアントから要求信号を受信し、
前記要求信号を受信した後に前記ストリーム内に配置された最初のキーフレームおよび以降のデルタフレームを含む前記符号化されたデータストリームを送信する配信装置とを具えることを特徴とするシステム。
【請求項２】
請求項１に記載のシステムにおいて、前記配信装置が、次の要求信号をクライアントから受信した直後に、前記符号化されたビデオデータストリーム内のキーフレームを送信することを特徴とするシステム。
【請求項３】
請求項１に記載のシステムにおいて、前記ビデオデータプロセッサが、前記受信したビデストリーム内のフレームがキーフレームかデルタフレームかを判断する判定装置を具えることを特徴とするシステム。
【請求項４】
請求項１に記載のシステムにおいて、前記ビデオデータプロセッサが、前記ビデオデータストリーム内のキーフレームを符号化するキーフレームエンコーダを具えることを特徴とするシステム。
【請求項５】
請求項１に記載のシステムにおいて、前記ビデオデータプロセッサが、前記受信したビデオデータストリーム内のキーおよびデルタフレームの双方をデルタフレームとして符号化するデルタフレームデコーダを具えることを特徴とするシステム。
【請求項６】
請求項２に記載のシステムにおいて、前記次の要求信号の受信直後に送信されたキーフレームが、前記要求信号を送信したクライアント以外のクライアントには送信されないことを特徴とするシステム。
【請求項７】
ビデオデータストリームを圧縮する方法であって、
前記ビデオデータストリームを受信するステップと、
受信したフレームがキーまたはデルタフレームか判断するステップと、
デルタフレームを符号化するステップと、
総てのキーフレームをキーフレームおよびデルタフレームとして符号化するステップと、
前記符号化されたキーおよびデルタフレームを含む符号化されたビデオデータストリームを生成するステップと、
前記ビデオデータストリームの要求を受信するステップと、
前記要求信号を受信した後に前記ストリーム内に配置された最初のキーフレームと以降のデルタフレームとを含む前記符号化されたデータストリームを送信するステップとを含むことを特徴とする方法。
【請求項８】
請求項７に記載のビデオの圧縮方法がさらに、
前記ビデオデータストリームの次の要求を受信するステップと、
前記次の要求信号を受信した後に、前記ストリーム内に次のキーフレームを挿入するステップと、
前記次のキーフレームおよび以降のデルタフレームを含む前記データストリームを送信するステップとを含むことを特徴とする方法。
【請求項９】
請求項８に記載のビデオデータを圧縮する方法において、前記挿入および送信するステップが、さらに要求を受信したときに繰り返されることを特徴とする方法。
【請求項１０】
請求項９に記載の方法において、繰り返されるステップが、次の要求を受信したクライアント以外のクライアントに、前記次のキーフレームを送信しないことを特徴とする方法。
【請求項１１】
符号化されたデータストリームを生成する方法において、
ビデオデータがキーフレームまたはデルタフレームかを判断するステップと、
デルタフレームと判断されたフレームを、デルタフレームとして符号化するステップと、
キーフレームと判断されたフレームを、キーフレームおよびデルタフレームとして符号化するステップと、
前記符号化されたキーおよびデルタフレームから前記データストリームを生成するステップとを含み、デルタフレームとして符号化されたキーフレームが、前記データストリーム内の対応するキーフレームの近くに配置されることを特徴とする方法。
【請求項１２】
請求項１１に記載の方法が、前記データストリームの要求を受信した後に、前記データストリームに配置された最初のキーフレームと以降の総てのデルタフレームとを含む前記生成されたデータストリームを送信するステップを含むことを特徴とする方法。
【請求項１３】
請求項１２に記載の方法がさらに、前記データストリームの次の要求を受信した後に、前記データストリーム内に配置されたキーフレームを、受信された前記データストリームの要求をしたクライアントに送信するステップを含むことを特徴とする方法。
【請求項１４】
請求項１３に記載の方法において、前記データストリームの次の要求を受信した後に、前記データストリーム内に配置された前記キーフレームが、受信された前記データストリームの要求をしたクライアント以外のクライアントに送信されないことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願のクロスリファレンス
本出願は、２００４年１０月５日に出願された米国暫定特許出願第６０／６１５，９８９号の非暫定出願である。
【０００２】
発明の属する技術分野
本システムは、ビデオデータの符号化に関し、特に、ビデオデータを圧縮して、送信中に使用される全体の帯域幅を縮小することに関する。
【０００３】
発明の背景
デジタルビデオの圧縮の一般的な方法は、フレーム間の変化を記録することである。したがって、小さな動きが生じるシーンにおいて、最小限の量のデータを圧縮する。これは、キーフレームおよびデルタフレームを符号化することにより実現される。キーフレームは、ビデオプレーヤが参照および開始位置として使用する総てのフレームに相当する。デルタフレームは、最初のフレームと次のフレームとの間の変化に相当する。キーフレームと次のデルタフレームのデコードは、予め符号化された次のフレームを生成する。
【０００４】
フレームは、領域に相当する複数のブロックに分割される。連続的なフレームでは、これらのブロックは変化用に解析される。変化がある場合、データは符号化される。領域内のデータが先のフレームと同一である場合、データは重複しており、符号化する必要はない。このように、あるフレームから次のフレームまでの最小限のデータセットが符号化される。
【０００５】
しかしながら、このような圧縮方法は有用であるが、フレームは先のデルタフレームおよびキーフレームを利用してのみ再構成されるため、利用者がデルタフレームのみで示されるデジタルビデオの位置にアクセスすることができない。いくつかの進んだビデオプレーヤは、最初のキーフレームおよび先のデルタフレームを調べて、所望のフレームを再構成することができるが、ほとんどのデジタルビデオプレーヤは、タイミングよく所望のビデオフレームを再構成することができない。このため、キーフレームが定期的にデジタルビデオデータに挿入される。このように、利用者がデルタフレームにより表示されるデジタルビデオの位置にアクセスしようとするとき、デコーダは、所望のフレームを再構成するために、単に最後のキーフレームを遡って確認する必要がある。これらのキーフレームが挿入されると、例えば５フレーム毎に、利用者が、比較的短い再構成の時間で、最も近いキーフレームまたはデルタフレームいずれかからデジタルビデオにアクセスすることができる。
【０００６】
通常、今日のデジタルビデオデータのほとんどが、目印として使用するために定期的に挿入されるキーフレームを利用して、後者のフォーマットで符号化される。したがって、複数のキーフレームを含む後者の符号化処理は、一つのキーフレームを有する元の符号化処理よりも圧縮率が低くさらに大きな帯域幅を使用する。
【０００７】
後者の符号化処理は、デジタルビデオの開始位置を操作する能力を提供するが、この能力を犠牲にしてさえも、時にはより大きな圧縮率が、特定の状況下では所望される。例えば、管理者がデジタルビデオを１あるいは複数のクライアントに配信したい場合、帯域幅の使用が最小限であることが望まれる。このため、頻繁で周期的なキーフレーム抜きで符号化されたデジタルビデオデータを圧縮する必要がある。
【０００８】
本発明の原理によるシステムにより、これらの不足や関連する問題に取り組む。
【０００９】
発明の概要
ビデオデータストリームを圧縮するシステムは、ビデオデータプロセッサを具える。このビデオデータプロセッサは、前記ビデオデータストリームを受信する。次いで、前記プロセッサは、キーフレームおよびデルタフレーム双方として前記ビデオデータストリーム内のキーフレームを符号化し、デルタフレームとして前記ビデオデータ内のデルタフレームを符号化する。配信装置は、符号化されたキーおよびデルタフレームを前記ビデオプロセッサから受信し、符号化されたデータストリームを前記キーおよびデルタフレームから生成する。前記配信装置はまた、クライアントから要求信号を受信し、前記要求信号および受信される要求信号に応じた以降のデルタフレームを受信した後に、前記ストリーム内に配置される最初のキーフレームを含む前記符号化されたデータストリームを送信する。
【００１０】
通常の圧縮されたビデオデータは、キーフレームおよびデルタフレームを含む。通常の圧縮されたビデオでは、キーフレームは、前記ビデオデータの位置のトラックを保存するためにしばしば挿入される。これらのキーフレームは、ランダムな位置からアクセスする際にビデオを再構成すべく、目印または開始位置として機能する。デルタフレームは、前に符号化されたフレームとの変化を示すために挿入される。しかしながら、ネットワークを介してビデオをストリーミングするとき、利用される帯域幅全体を減らすべく最小限のデータセットを各クライアントに送信するのが望ましい。このため、前記エンコーダはまた、最初のキーフレームの後に配置されるキーフレームをデルタフレームとして符号化する。次いで、得られたストリームは送信され、これにより、クライアントからの要求を受信した後の最初のキーフレームの後に、以降のデルタフレームが続く。以降の総てのキーフレームは、送信されたストリームから取り除かれる。送信されたストリームの連続的な要求を受信すると、要求を受信した後のストリーム内の最初のキーフレームが、ストリーム内に挿入され、送信されたストリームの次の要求が受信されるまで、デルタフレームのストリームが続く。ストリームの新しい要求をクライアントから受信するたびに、新しいキーフレームがそのクライアントに送信される。別の方法では、ストリームは、最初のキーフレームの以降のデルタフレームのみを含む。生成されたストリームをエンコーダからストリーム用の配信装置に送信するのに要する帯域幅は増加するが、ストリームをクライアントに送信するのに要する帯域幅は減少する。ストリーミングサーバでは、この帯域幅の減少は、前述の帯域幅の増加よりかなり大きい。このように、キーフレームは、デルタフレームと比べ比較的大きなデータ量から構成されるため、帯域幅全体は減少する。
【００１１】
好適な実施例では、ビデオデータのフレキシブルなストリームを生成する方法が提供される。通常、符号化されたビデオデータは、最初のキーフレーム、デルタフレーム、および頻繁で周期的なキーフレームで構成される。最初のキーフレームは、元のオープニングピクチャーを送信する必要がある。続くデルタフレームは、フレーム内における元のキーフレームからの変化を示すために含まれる。頻繁で周期的なキーフレームは、デジタルビデオの任意の開始位置を選択するのに役立つが、高い圧縮率と低い帯域幅を必要とする場合は不利である。キーフレームを除去し、代わりのデルタフレームと置き換えることにより高い圧縮率を提供するが、任意の開始位置でストリームデータを提供する必要が依然としてある。したがって、データストリームは、符号化されたキーフレームとキーフレームを代理するデルタフレームの双方を含むフレキシブルなフォーマットで提供される。
【００１２】
次に、このデータストリームは、クライアントの要求に従って配信される。各クライアントの要求を受信すると、配信されたストリームの次のフレームの後に、ストリームのデルタフレームがくる。次のキーフレームは、一のキーフレームをすでに受信したクライアントには送信されない。これは特に、通常のデジタルビデオコンテンツを複数の利用者にストリーミングするときに有益であり、ここでは、任意のストリームのスタートアップと最小限の帯域数の利用の双方が要求される。
【００１３】
本システムをさらによく理解すべく、添付図面を例示的に参照してここに説明する。
【００１４】
発明の詳細な説明
図１〜５に関連して以下に説明するシステムの操作は、複数のプロセッサを介して実現される。ここで使用されるプロセッサは、装置および／またはタスクを実行するための機械可読の命令である。プロセッサは、ハードウェア、ファームウェア、および／またはソフトウェアのうちのいずれかまたはこれらの組合せを具える。プロセッサは、実行処理または情報装置で利用する情報を操作、解析、修正、変換、送信することにより、および／または情報を出力装置に送ることにより、情報に基づいて動作する。プロセッサは、例えば、コントローラまたはプロセッサの機能を使用しまたは具えてもよい。ここで使用されるように、キーフレームは、ビデオプレーヤが参照および開始位置として使用することが可能なフレーム全体として定義される。ここで使用されるように、デルタフレームは、最初のフレームと次のフレームとの間の変化を示すフレームとして定義される。キーフレームと以降のデルタフレームの復号化により、前に符号化された連続フレームが生成される。
【００１５】
図１Ａは、従来のシステムにおける既に符号化された最初のフレーム２である。フレーム２、ならびに図１Ｂと１Ｃの同様のフレーム１４および１２は、領域４に分割される（通常は、１６×１６であるが、例示を簡単にするために４×４で図示されている）。円形のオブジェクト６および三角形のオブジェクト８が、符号化された最初のフレーム２にある。
【００１６】
図１Ｂは、従来のシステムにおける、符号化された次のフレーム１４である。最初の符号化されたフレーム２と同様のフレーム１４は、円形のオブジェクト６および三角形のオブジェクト８を含んでいる。この次のフレーム１４では、三角形のオブジェクト８が、最初のフレーム２の位置から移動していることを見ることができる。
【００１７】
図１Ｃは従来のシステムにおけるデルタフレーム１２である。デルタフレーム１２は、符号化された最初のフレーム２と符号化された次のフレーム１４との違いを表わしている。符号化された最初のフレーム２および符号化された次のフレーム１４と同様のデルタフレーム１２は、次のフレーム１４内の同じ位置に表わされている三角形のオブジェクト８を含む。
【００１８】
円形のオブジェクト６は、フレーム２およびフレーム１４を通して一定の位置にある。したがって、円形のオブジェクト６、当該オブジェクトがある関連する４つの領域４を符号化することは、第２の符号化されたフレームでは２回目になるため、重複でありサイズおよび帯域幅の無駄である。このため、円形のオブジェクト６が存在する４つの領域４は、デルタフレーム１２では符号化されない。三角形のオブジェクト８は、符号化された最初のフレーム２の内の４つの領域に存在する。符号化された次のフレーム１４では、三角形のオブジェクト４は、２つの領域４を下に移動し、最初のフレーム２の位置と同じ２つの領域および異なる２つの領域に存在する。このように、符号化されたフレーム２と４との間の変化は、全部で６つの領域４で生じる。符号化された次のフレーム１４のこれらの６つの影響を受ける領域は、デルタフレーム１２に符号化される。円形のオブジェクト６を含む領域と同様の符号化された次のフレーム１４の残りの領域４は、これらのフレーム内で変化が生じていないため、デルタフレーム１２では符号化されない。デルタフレーム１２は、符号化された最初のフレーム２と次のフレーム１４との違いを見えるように表わしている。この符号化処理を使用することにより、最小限のデータセット、即ちフレーム２と１４間の変化が、符号化に必要とされ、これにより、送信に要するサイズと帯域幅が減少する。
【００１９】
ＭＰＥＧ符号化キーフレーム２は、インタフレームとして知られ、デルタフレーム１２は、双方向フレームまたは予測フレームとして知られている。
【００２０】
図２Ａは、ビデオデータストリームを示したものである。図１に示されているキーフレーム２およびデルタフレーム１２は、デジタルビデオストリーム１８に符号化されている。符号化されたデジタルビデオストリーム１８は、頻繁で周期的なキーフレーム２を含んでいる。キーフレーム２は、デルタフレーム１２の間に周期的に配置され、利用者が、所望の開始位置からビデオストリーム１８にアクセスすることができる。利用者は、データがデルタフレームとして符号化された位置で送信を見たい場合、ビューアは最も近いキーフレーム２を対象とするか、前のキーフレーム２および以降のデルタフレーム１２から所望の開始フレームを構成する。
【００２１】
この特徴は質の高い視聴体験を提供するが、圧縮率は低い。高いデータ圧縮率は、様々な状況、特にビデオをストリーミングするときに所望される。このため、本システムは、
キーフレームをキーフレーム２およびデルタフレーム１２として２重化する形式でビデオデータストリーム１８を提供する。このように、マルチメディアストリームの送信は、ストリームが送信されるクライアントの帯域幅の使用を最小限にするよう調整される。図２Ｂは、本発明の原理によるビデオデータストリーム１０を示している。クライアントの要求毎に単一のキーフレーム２を用いてビデオデータストリームを配信することの柔軟性を提供すべく、（図３Ａおよび３Ｂを参照してより詳細に説明するように）各キーフレームも、デルタフレームとして符号化され、デルタフレーム１２は、ストリームに各キーフレームの後に導入される。この導入されたデルタフレーム１２は、前のキーフレーム２に含まれるデータを示している。システムにおいて、ビデオデータストリーム１０の最初のキーフレーム２は、クライアントのアクセスがその位置の前から開始しないため、デルタフレーム１２として２重にする必要はなく、したがって、キーフレーム２のフィルタリングを必要とする。
【００２２】
図３Ａは、単一のクライアント要求に応じて配信されたシステムのビデオデータストリームを示している。クライアントが、受信したビデオデータストリームを復号化するためには、単一のキーフレーム２が必要となる。このため、図３Ａで示すように、単一のクライアント要求を受信した場合、単一のキーフレーム２の後に以降のデルタフレーム１２が続く。以降のキーフレーム２は、クライアントがこれらの付加的なキーフレーム２の送信を要求しない場合、フィルタがかけられ破棄される。複数の場合において、第２のクライアントが、図２Ｂに示すようにストリーミングデジタルビデオ配信１０のを視聴を求め、図３Ａに示す最初のクライアント要求より後の開始位置で配信を要求することがある。
【００２３】
図３Ｂは、第２のクライアント要求に応じて配信される本システムのビデオデータストリーム２２を示している。デジタルビデオストリーム１０の追加の要求を受信した場合、第２のキーフレームが、デジタルビデオストリーム２２に示すようにデータストリーム１０から提供される。この第２の符号化されたキーフレーム２により、第２の利用者のメディアプレーヤが、図３Ａの単一のクライアントにより受信されるビデオデータストリーム２０と同様のビデオデータストリームであって、単一のキーフレーム２および以降のデルタフレーム１２を含むデータストリームを受信可能となる。このように最初のクライアントは、以降にデルタフレームが続くキーフレーム２を合計２つ受信する。最後のクライアント要求の後の以降のキーフレーム２は、クライアントがこれらの追加のキーフレーム２の送信を要求しないため、フィルタがかけられ破棄される。このように、各クライアント要求ごとに単一のキーフレームを送信することにより、最小限のビデオデータセットがネットワークを介して送信され、これにより、必要とされる帯域幅が減少する。
【００２４】
図４は、本発明の原理によるシステムのブロック図である。本システムの形式でビデオデータを提供する場合、サーバ３０が、初めにキー／デルタフレーム判定装置３２に信号を送信する。キー／デルタフレーム判定装置は、受信したビデオデータの量および構造を解析することにより、受信したビデオデータがキーフレームかデルタフレームかを判断する。ビデオデータがキーフレームである場合、キー／デルタフレーム判定装置３２は、キーフレームをキーフレームエンコーダ３６およびデルタフレームエンコーダ３４の双方に送る。デルタフレームエンコーダ４０は、受信したキーフレームを対応するデルタフレームに変換する。この変換は、（図１Ａ−１Ｃに示すように）前のフレームを生成して現在のフレームおよび前のフレームとの異なる部分を符号化することにより、実現することができる。キーフレームエンコーダは、キーフレームを符号化する。キーフレーム／デルタフレーム判定装置３２が、受信したビデオデータがデルタフレームであると判断した場合、デルタフレームはデルタフレームエンコーダ３４に送られる。符号化されたキーおよびデルタフレームは、キーフレームエンコーダ３６およびデルタフレームエンコーダ３４それぞれにより、図２Ｂに示すデータストリームを生成する配信装置３８に送られる。クラインアント４０から要求信号を受信すると、配信装置３８は、要求信号を受信した後の最初のキーを検出し、キーフレームおよび以降のデルタフレームをクライアント４０に送信する。配信装置は、別のクライアントからビデオストリームの要求を受信するまで、以降のキーフレームを含めないでストリームを送信する。このとき、ストリームの次のキーフレームが送信されるストリームに挿入されても、配信装置は、以降のキーフレームを含めないでデルタフレームのストリームを送信し続ける。ビデオストリームの新しい要求を受信するたびに、配信装置３８は、新しいキーフレームを挿入して、総てのデルタフレームを送信し続ける。以降のキーフレームは専ら、他のクライアントから要求信号を受信して後直ぐに送信され、データストリームはデルタフレームから構成される。
【００２５】
図５は、本システムにおける動作のフローチャートである。この処理は、ステップＳ１００に示すように、ビデオデータストリームを受信することから始まる。ビデオデータは、データの構造および量が解析され、ステップＳ１００で、データがキーフレームまたはデルタフレームか判断される。受信したビデオデータがキーフレームである場合、キーフレームは、ステップＳ１２０およびＳ１３０に示すように、キーフレームおよびデルタフレームとして符号化される。受信したビデオデータが、ステップＳ１１０においてデルタフレームであると判断された場合、ステップＳ１３０で、デルタフレームは符号化される。次いで、ステップＳ１４０において、符号化されたキーとデルタフレームが、組み合わされてデータストリームが生成される。データストリーム要求信号が、データストリームへのアクセスを要求するクライアントから受信されたか判断するために、ステップＳ１５０において、チェックが実行される。要求信号を受信した場合、ステップＳ１６０で示すように、データストリームにおいて要求信号を受信した後の最初のキーフレームと、以降のデータフレームが、クランアントが受信するために送信される。次いで、システムは、ステップＳ１５０において、別のクライアントからの次の要求信号のチェックを続ける。次の要求信号が受信されたとき、システムは、データストリームにおける次のキーフレームを送信して、以降のデルタフレームを送信し続ける。次いで、システムは、次の要求信号のチェックを続け、別のクライアントから次の要求を受信したとき、ステップＳ１６０を繰り返す。次の要求信号を受信した場合、システムは、ステップＳ１７０で説明するように、デルタフレームを送信し続ける。次いでシステムは、ステップＳ１５０において、次の要求信号のチェックを続ける。
【図面の簡単な説明】
【００２６】
【図１】図１Ａは、従来技術において通常知られているような符号化された最初のフレームを示す図である。図１Ｂは、従来技術において通常知られているような符号化された次のフレームを示す図である。図１Ｃは、従来技術において通常知られているデルタフレームを示す図である。
【図２】図２Ａは、従来技術において、通常に符号化されたビデオデータストリームを示す図である。図２Ｂは、本発明の原理によるビデオデータストリームを示す図である。
【図３】図３Ａは、本発明の原理による単一のクライアント要求に応じて配信されたビデオデータストリームを示す図である。図３Ｂは、本発明の原理による第２のクライアント要求に応じて配信されたビデオデータストリームを示す図である。
【図４】図４は、本発明の原理による本システムのエンコーダおよび配信装置のブロック図である。
【図５】図５は、本発明の原理による本システムのエンコーダおよび配信装置の操作フローチャートである。
【図１】
2008516477.tif 000003
【図２】
2008516477.tif 000004
【図３】
2008516477.tif 000005
【図４】
2008516477.tif 000006
【図５】
2008516477.tif 000007
【国際調査報告】
2008516477.tif 000008
2008516477.tif 000009
2008516477.tif 000010