(57)【要約】通信ネットワーク内のデータを符号化する方法及びシステムが開示される。一側面において、方法は、マルチメディアデータを処理することを提供する。該方法は、前記マルチメディアデータの１つまたは複数の部分に関連する平滑要因を検出し、前記平滑要因に基づき、平滑化が必要であることを決定することを含む。該方法は、また、選択されたマルチメディアデータを、前記マルチメディアデータの第１の選択された部分から、前記マルチメディアデータの第２の選択された部分へ移動させることを含み、これで前記平滑要因が調節される。一側面において、前記マルチメディアデータの１つまたは複数の部分に関連する平滑要因を検出し、前記平滑要因に基づき、平滑化が必要であることを決定する検出器を含む装置を提供する。該装置は、また、選択されたマルチメディアデータを、前記マルチメディアデータの第１の選択された部分から、前記マルチメディアデータの第２の選択された部分へ移動させ、これで前記平滑要因が調節される符号化器を含む。【選択図】図１
2010520677.tif 000002
【特許請求の範囲】
【請求項１】
マルチメディアデータを処理する方法であって、該方法は、
前記マルチメディアデータの１つまたは複数の部分に関連する平滑要因を検出し、
前記平滑要因に基づき、平滑化が必要であることを決定し、及び
選択されたマルチメディアデータを、前記マルチメディアデータの第１の選択された部分から、前記マルチメディアデータの第２の選択された部分へ移動させ、これで前記平滑要因が調節される、方法。
【請求項２】
前記検出することは、前記マルチメディアデータの少なくとも１つの部分に関連するビットレートが、選択された閾値を越えるときを検出することを含む請求項１記載の方法。
【請求項３】
前記検出することは、前記マルチメディアデータの少なくとも１つの部分に関連するビットレートが、選択された閾値より下がるときを検出することを含む請求項１記載の方法。
【請求項４】
前記検出することは、前記マルチメディアデータの少なくとも２つの部分の間のビットレート変動が選択された閾値を越えるときを検出することを含む請求項１記載の方法。
【請求項５】
前記移動させることは、マルチメディアデータの前記第１の選択された部分と前記第２の選択された部分とのうちの少なくとも１つに関連する時間期間を調節することを含む請求項１記載の方法。
【請求項６】
前記移動させることは、マルチメディアデータの前記第１の選択された部分と前記第２の選択された部分との間の１つまたは複数のビデオフレームに関連するデータを移動させることを含む請求項１記載の方法。
【請求項７】
前記移動させることは、前記１つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも１つにまたがって、１つまたは複数のビデオフレームに関連するデータを移動させることを含む請求項１記載の方法。
【請求項８】
前記移動させることは、
選択されたデータが削除された、間引かれたビデオフレームを生成するために、第１のビデオフレームを第１のビデオフレームサイズが小さくなるように符号化すること、及び
増大されたフレームを生成するために、第２のビデオフレームサイズが増加するように、前記選択されたデータを含ませて第２のビデオフレームを符号化すること、
を含む請求項１記載の方法。
【請求項９】
前記移動させることは、前記１つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも１つにまたがって、前記間引かれたビデオフレームと前記増大されたフレームとのうちの少なくとも１つを移動させること、を含む請求項８記載の方法。
【請求項１０】
前記少なくとも１つまたは複数の部分に関連するベースレイヤサイズと拡張レイヤサイズとのバランスをとること、をさらに含む請求項１記載の方法。
【請求項１１】
マルチメディアデータを処理する装置であって、該装置は、
前記マルチメディアデータの１つまたは複数の部分に関連する平滑要因を検出し、前記平滑要因に基づき、平滑化が必要であることを決定する検出器、及び
選択されたマルチメディアデータを、前記マルチメディアデータの第１の選択された部分から、前記マルチメディアデータの第２の選択された部分へ移動させ、これで前記平滑要因が調節される符号化器、
を含む装置。
【請求項１２】
前記検出器は、前記マルチメディアデータの少なくとも１つの部分に関連するビットレートが、選択された閾値を越えるときを検出する請求項１１記載の装置。
【請求項１３】
前記検出器は、前記マルチメディアデータの少なくとも１つの部分に関連するビットレートが、選択された閾値より下がるときを検出する請求項１１記載の装置。
【請求項１４】
前記検出器は、前記マルチメディアデータの少なくとも２つの部分の間のビットレート変動が、選択された閾値を越えるときを検出する請求項１１記載の装置。
【請求項１５】
前記符号化器は、マルチメディアデータの前記第１の選択された部分と前記第２の選択された部分とのうちの少なくとも１つに関連する時間期間を調節する請求項１１記載の装置。
【請求項１６】
前記符号化器は、マルチメディアデータの前記第１の選択された部分と前記第２の選択された部分との間の１つまたは複数のビデオフレームに関連するデータを移動させる請求項１１記載の装置。
【請求項１７】
前記符号化器は、前記１つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも１つにまたがって、１つまたは複数のビデオフレームに関連するデータを移動させる請求項１１記載の装置。
【請求項１８】
前記符号化器は、
選択されたデータが削除された、間引かれたビデオフレームを生成するために、第１のビデオフレームを第１のビデオフレームサイズが小さくなるように符号化し、
増大されたフレームを生成するために、第２のビデオフレームサイズが増加するように、前記選択されたデータを含ませて第２のビデオフレームを符号化する、
請求項１１記載の装置。
【請求項１９】
前記符号化器は、前記１つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも１つにまたがって、前記間引かれたビデオフレームと前記増大されたフレームとのうちの少なくとも１つを移動させる請求項１８記載の装置。
【請求項２０】
前記符号化器は、前記少なくとも１つまたは複数の部分に関連するベースレイヤサイズと拡張レイヤサイズとのバランスをとる請求項１１記載の装置。
【請求項２１】
マルチメディアデータを処理する装置であって、該装置は、
前記マルチメディアデータの１つまたは複数の部分に関連する平滑要因を検出する手段、
前記平滑要因に基づき、平滑化が必要であることを決定する手段、及び
選択されたマルチメディアデータを、前記マルチメディアデータの第１の選択された部分から、前記マルチメディアデータの第２の選択された部分へ移動させ、これで前記平滑要因が調節される手段、
を含む装置。
【請求項２２】
前記検出する手段は、前記マルチメディアデータの少なくとも１つの部分に関連するビットレートが、選択された閾値を越えるときを検出する手段を含む請求項２１記載の装置。
【請求項２３】
前記検出する手段は、前記マルチメディアデータの少なくとも１つの部分に関連するビットレートが、選択された閾値より下がるときを検出する手段を含む請求項２１記載の装置。
【請求項２４】
前記検出する手段は、前記マルチメディアデータの少なくとも２つの部分の間のビットレート変動が、選択された閾値を越えるときを検出する手段を含む請求項２１記載の装置。
【請求項２５】
前記移動させる手段は、マルチメディアデータの前記第１の選択された部分と前記第２の選択された部分とのうちの少なくとも１つに関連する時間期間を調節する手段を含む請求項２１記載の装置。
【請求項２６】
前記移動させる手段は、マルチメディアデータの前記第１の選択された部分と前記第２の選択された部分との間の１つまたは複数のビデオフレームに関連するデータを移動させる手段を含む請求項２１記載の装置。
【請求項２７】
前記移動させる手段は、前記１つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも１つにまたがって、１つまたは複数のビデオフレームに関連するデータを移動させる手段を含む請求項２１記載の装置。
【請求項２８】
前記移動させる手段は、
選択されたデータが削除された、間引かれたビデオフレームを生成するために、第１のビデオフレームを第１のビデオフレームサイズが小さくなるように符号化する手段、及び
増大されたフレームを生成するために、第２のビデオフレームサイズが増加するように、前記選択されたデータを含ませて第２のビデオフレームを符号化する手段、
を含む請求項２１記載の装置。
【請求項２９】
前記移動させる手段は、前記１つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも１つにまたがって、前記間引かれたビデオフレームと前記増大されたフレームとのうちの少なくとも１つを移動させる手段を含む請求項２８記載の装置。
【請求項３０】
前記少なくとも１つまたは複数の部分に関連するベースレイヤサイズと拡張レイヤサイズとのバランスをとる手段をさらに含む請求項２１記載の装置。
【請求項３１】
コードの１つまたは複数の部分を含み、１つまたは複数の機械で実行可能な命令群が記憶されている機械読み取り可能な媒体であって、前記１つまたは複数の部分のコードは、
前記マルチメディアデータの１つまたは複数の部分に関連する平滑要因を検出するコード、
前記平滑要因に基づき、平滑化が必要であることを決定するコード、及び
選択されたマルチメディアデータを、前記マルチメディアデータの第１の選択された部分から、前記マルチメディアデータの第２の選択された部分へ移動させ、これで前記平滑要因が調節されるコード、
を含む機械読み取り可能な媒体。
【請求項３２】
前記検出することは、前記マルチメディアデータの少なくとも１つの部分に関連するビットレートが、選択された閾値を越えるときを検出することを含む請求項３１記載の機械読み取り可能な媒体。
【請求項３３】
前記検出するコードは、前記マルチメディアデータの少なくとも１つの部分に関連するビットレートが、選択された閾値より下がるときを検出するコードを含む請求項３１記載の機械読み取り可能な媒体。
【請求項３４】
前記検出するコードは、前記マルチメディアデータの少なくとも２つの部分の間のビットレート変動が、選択された閾値を越えるときを検出するコードを含む請求項３１記載の機械読み取り可能な媒体。
【請求項３５】
前記移動させるコードは、マルチメディアデータの前記第１の選択された部分と前記第２の選択された部分とのうちの少なくとも１つに関連する時間期間を調節するコードを含む請求項３１記載の機械読み取り可能な媒体。
【請求項３６】
前記移動させるコードは、マルチメディアデータの前記第１の選択された部分と前記第２の選択された部分との間の１つまたは複数のビデオフレームに関連するデータを移動させるコードを含む請求項３１記載の機械読み取り可能な媒体。
【請求項３７】
前記移動させるコードは、前記１つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも１つにまたがって、１つまたは複数のビデオフレームに関連するデータを移動させるコードを含む請求項３１記載の機械読み取り可能な媒体。
【請求項３８】
前記移動させるコードは、
選択されたデータが削除された、間引かれたビデオフレームを生成するために、第１のビデオフレームを第１のビデオフレームサイズが小さくなるように符号化するコード、及び
増大されたフレームを生成するために、第２のビデオフレームサイズが増加するように、前記選択されたデータを含ませて第２のビデオフレームを符号化するコード、
を含む請求項３１記載の機械読み取り可能な媒体。
【請求項３９】
前記移動させるコードは、前記１つまたは複数の部分に関連する時間境界及びレイヤ境界のうちの少なくとも１つにまたがって、前記間引かれたビデオフレームと前記増大されたフレームとのうちの少なくとも１つを移動させるコードを含む請求項３８記載の機械読み取り可能な媒体。
【請求項４０】
前記少なくとも１つまたは複数の部分に関連するベースレイヤサイズと拡張レイヤサイズとのバランスをとるコードをさらに含む請求項３１記載の機械読み取り可能な媒体。
【発明の詳細な説明】
【優先権の主張】
【０００１】
この特許出願は、２００７年３月１日に出願され、その譲受人に譲渡された、“Method and Apparatus for Bit Rate Smoothing Across Time and Layers”というタイトルの米国仮出願第６０／８９２，５１８の優先権を主張し、全ての目的のために、参照によりここに組込まれている。
【技術分野】
【０００２】
本発明は、一般に、マルチメディア信号処理に関し、より具体的には、ビデオ符号化及び復号方法及びシステムに関する。
【背景技術】
【０００３】
無線通信ネットワークのようなデータネットワークは、１つの端末に対しカスタマイズされたサービスと、多数の端末に提供されるサービスとの間で、交互に使用される。例えば、リソースが限られている多数のポータブル機器（例えば、加入者、ユーザ、ハンドセットなど）へのマルチメディアコンテンツの分配は、複雑な問題である。従って、早くしかも効率良く、また、帯域利用効率及び電力効率の向上するように、コンテンツ及びまたは他のネットワークサービスを分配する方法をもつことは、ネットワーク管理者、コンテンツ小売業者、及びサービスプロバイダにとって、非常に重要である。
【０００４】
現在のコンテンツ配信／メディア分配（distribution）システムにおいて、マルチメディアコンテンツは、分配（distribution）ネットワーク上の通信における送信スーパーフレームに詰め込められる。各スーパーフレームは、受信機器で、予め定められた時間の間表示可能なように、十分な数のビデオフレームが詰め込まれている。スーパーフレームが受信されると、受信機器は、受信された複数のビデオフレームを接続して、ビデオフレームストリームにし、これを復号してビデオ表示をレンダリングする。
【０００５】
あいにく、どのスーパーフレームにも、後続のスーパーフレームよりも多いかまたは少ないデータを含むことがある。この結果、マルチメディアコンテンツを運ぶスーパーフレームのストリームは、“バースト（burstiness）”、または、スーパーフレームからスーパーフレームへ変動するビットレートを示すビットレート“変動（variability）”特性を呈する。そのようなバーストは、好ましくない形で、受信機器のパフォーマンスに影響を与えることがある。
【０００６】
従って、必要なことは、時間及びまたは複数のレイヤにわたって、送信されるマルチメディアデータのバースト及びまたはビットレート変動を平滑化する方法である。
【発明の概要】
【０００７】
１つまたは複数の側面において、平滑化システムは、方法及び装置を含み、送信されたマルチメディアデータを平滑化することを提供する。例えば、該平滑化システムは、時間及びまたは複数のレイヤにわたって、送信されたマルチメディアデータのバースト及びまたはビットレート変動を平滑化する。
【０００８】
ある側面において、マルチメディアデータを処理するための方法が提供される。該方法は、該マルチメディアデータの１つまたは複数の部分に関連する平滑要因を検出することと、該平滑要因に基づき平滑化が必要であることを決定することと、のうちの１つまたは複数を含むことができる。該方法は、また、選択されたマルチメディアデータを、該マルチメディアデータの第１の選択された部分から、該マルチメディアデータの第２の選択された部分へ移動させ、これで該平滑要因が調整されることを含むことができる。
【０００９】
ある側面において、マルチメディアデータを処理するための装置が提供される。該装置は、該マルチメディアデータの１つまたは複数の部分に関連する平滑要因を検出し、該平滑要因に基づき平滑化が必要であることを決定する検出器のうちの１つまたは複数を含むことができる。該装置は、また、選択されたマルチメディアデータを、該マルチメディアデータの第１の選択された部分から第２の選択された部分へ移動させ、これで該マルチメディアデータの該平滑要因が調整される符号化器を含むことができる。
【００１０】
ある側面において、マルチメディアデータを処理するための装置が提供される。該装置は、該マルチメディアデータの１つまたは複数の部分に関連する平滑要因を検出する手段と、該平滑要因に基づき平滑化が必要であることを決定する手段と、のうちの１つまたは複数を含むことができる。該装置は、また、選択されたマルチメディアデータを、該マルチメディアデータの第１の選択された部分から、該マルチメディアデータの第２の選択された部分へ移動させ、これで該平滑要因が調整される手段を含むことができる。
【００１１】
ある側面において、命令群が記憶された機械読み取り可能な媒体が提供され、該記憶された命令群は、コードの１つまたは複数の部分を含み、１つまたは複数の機械で実行可能である。該１つまたは複数の部分のコードは、該マルチメディアデータの１つまたは複数の部分に関連する平滑要因を検出するコードを含むことができる。該１つまたは複数の部分のコードは、さらに、該平滑要因に基づき平滑化が必要であることを決定するコードを含むことができる。該１つまたは複数の部分のコードは、さらに、選択されたマルチメディアデータを、該マルチメディアデータの第１の選択された部分から、該マルチメディアデータの第２の選択された部分へ移動させ、これで該平滑要因が調整されるコードを含むことができる。
【００１２】
ある側面の他の実施形態は、以下に説明される、図面の簡単な説明、詳細な説明、及び請求の範囲を検討すれば自明であろう。
【００１３】
以下の添付の図面とともに、次の詳細な説明を参照することにより、ここに開示された以上の側面は、より容易に明らかとなるであろう。
【図面の簡単な説明】
【００１４】
【図１】平滑化システムのいくつかの側面を含む典型的なネットワークを示す。
【図２】平滑化システムのいくつかの側面で用いられる典型的な平滑化ロジックを示す。
【図３Ａ】平滑化システムのいくつかの側面に従った平滑化処理を説明する例を示す。
【図３Ｂ】平滑化システムのいくつかの側面に従った平滑化処理を説明する例を示す。
【図３Ｃ】平滑化システムのいくつかの側面に従った平滑化処理を説明する例を示す。
【図３Ｄ】平滑化システムのいくつかの側面に従った平滑化処理を説明する例を示す。
【図４】平滑化システムのいくつかの側面で用いられる典型的な方法を示す。
【図５】平滑化システムのいくつかの側面で用いられる典型的な平滑化ロジックを示す。
【発明を実施するための形態】
【００１５】
１つまたは複数の側面において、時間及びまたは複数のレイヤにわたって、マルチメディア送信を平滑化する平滑化システムが提供される。一側面において、該平滑化システムは、該マルチメディア送信に関連するバースト及びまたはビットレート変動を示す平滑要因を検出する。該平滑要因を調整することが好ましい場合には、該平滑化システムは、該平滑要因を調整するために、該マルチメディア送信の複数のビデオフレームを符号化及びまたは移動させる。この結果、コンテンツを復号及びレンダリングを試みる受信機器の処理負担を軽減する。
【００１６】
次の詳細な説明は、ある説明された側面に向けられているが、この開示は、請求の範囲で定義され及びカバーされている多数の方法で具現することができる。この説明において、図面が参照されているが、この図面全体を通じて、同一部分には同一符号を付している。
【００１７】
［イントロダクション］
コンテンツ配信／メディア分配システムにおいて、マルチメディアコンテンツは、送信スーパーフレームに詰め込まれ、通信ネットワーク上の複数の機器へ配信される。例えば、通信ネットワークは、１つのネットワークサーバから、１つまたは複数のモバイル機器へ、送信スーパーフレームをブロードキャストするために、ＯＦＤＭ（Orthogonal Frequency Division Multiplexing）を用いることがある。なお、ＯＦＤＭ技術を用いる分配システムに限定するものではなく、ＣＤＭＡ（Code Division Multiple Access）、ＴＤＭＡ（Time Division Multiplexed Access）、及びＴＣＰ／ＩＰのようなトランスポートコントロールプロトコルといった他の技術が用いられても良い。
【００１８】
送信スーパーフレームは、複数のサブフレームを含み、選択された量のマルチメディアデータ（例えば、特定の数のサブフレーム、一定の時間、帯域使用、など）を送信することができる。例えば、送信スーパーフレームは、複数のマルチメディアチャネルを伝送することがあり、各チャネルは、受信機器において、選択された時間の間（例えば１秒）、マルチメディア表示を生成するために十分な量のマルチメディアデータを提供することができる。従って、３０秒のマルチメディア表示を伝送するチャネルは、３０個の送信スーパーフレームを用いて送信されることがある。
【００１９】
通常、マルチメディアコンテンツは、一般に受信されたときに処理される必要があるリアルタイムまたはリアルタイムに近い、複数のストリーミングビデオフレームを含む。各ビデオフレームは、対応する複数のサイズをもつ数種類のビデオフレームのうちの１つとして構成される。例えば、ビデオフレームの１つの種類として、独立に復号可能なイントラ符号化フレーム（Ｉ―フレーム）がある。Ｉ−フレームは、完全なビデオ画像を与えるのに必要な全てのデータを含み、従って、大量のデータを含む。他のビデオフレームの種類には、Ｉ−フレーム及びまたは他のＰ−フレーム及びまたはＢ−フレーム及びまたはＢフレームを参照する一時予測（temporally predicted）Ｐ−フレームや両方向予測（bi-directionally predicted）Ｂ−フレームを含む。Ｐ−フレーム及びＢ−フレームは、独立に復号できない（すなわち、これらは、他のフレームを参照する）ので、これらは、より少ないデータを含み、これらのサイズは、通常、Ｉ−フレームよりも小さい。さらに、通信ネットワークも、マルチレイヤ送信を容易にすることがある。例えば、送信スーパ−フレームは、特定のビデオフレームについて、１つのベースレイヤを伝送し、他のビデオフレームについて、１つまたは複数の拡張レイヤを伝送する。従って、伝送されるレイヤの数は、送信スーパーフレームの全体的なサイズにも寄与する。
【００２０】
マルチメディアコンテンツの送信の間、各送信スーパーフレームは、受信機器で予め定められた時間の間表示を行うのに十分なビデオフレームを詰め込むことができる。従って、各送信スーパ−フレームは、Ｉ、Ｐ、及びＢフレームタイプのある組合せからなるいくつかの数のビデオフレームを含む。例えば、第１送信スーパフレームは、Ｉ及びＰフレームタイプを含み、後続の送信スーパーフレームは、Ｐ及びＢフレームタイプを含むことがある。複数の送信スーパーフレームが受信されると、受信機器は、受信された複数のビデオフレームを接続して、復号されてビデオ表示にレンダリングされる１つのビデオフレームストリームをつくる。
【００２１】
マルチメディア処理システムは、ＭＰＥＧ（Moving Picture Experts Group）−１，−２，−４標準、ＩＴＵ（International Telecommunication Union）−Ｔ  Ｈ．２６３標準、Ｈ．２６４標準、及び、それと同等のISO/IEC MPEG-4, Part 10、すなわち、 ＡＶＣ（Advanced Video Coding）、のような国際標準に基づく符号化方法を用いて、マルチメディアメディアデータを符号化するビデオ符号化器を含むことがある。これら国際標準のそれぞれは、全体として、全ての目的のために、ここに参照により組込まれている。このような符号化方法、及び拡大解釈すれば、復号方法も、一般に、マルチメディアデータの送信及びまたは記憶のために圧縮するようになっている。圧縮は、概して、マルチメディアデータから冗長を取り除く処理と考えることができる。
【００２２】
ビデオ信号は、複数のフレーム（完全なピクチャ）またはフィールド（例えば、ピクチャの奇数及び偶数ラインが交互に繰り返す複数のフィールドからなるインターレース（interlaced）ビデオストリーム）を含む一連の複数のピクチャという意味で、説明されることがある。さらに、各フレームまたはフィールドは、さらに、１つまたは複数のスライス、または、該フレームまたはフィールドの複数のサブポーション（sub-portion）をさらに含むことがある。ビデオ符号化方法は、可逆または非可逆圧縮アルゴリズムを用いて、ビデオ信号を圧縮し、各フレームを圧縮する。イントラフレーム符号化（ここでは、イントラ符号化とも呼ぶ）は、フレームを、そのフレームのみを用いて符号化することをいう。インターフレーム符号化（ここでは、インター符号化とも呼ぶ）は、フレームを他の複数の“参照”フレームに基づき符号化することをいう。例えば、ビデオ信号は、一時的な一連の複数のフレームにおける互いに近いフレームが、互いに一致または少なくとも部分的に一致する少なくとも一部分をもつ、一時的な冗長を、しばしば示す。
【００２３】
ビデオ符号化器のようなマルチメディアプロセッサは、フレームを、複数のピクセルからなるサブセットに区切ることにより符号化することがある。このようなピクセルのサブセットは、ブロックまたはマクロブロックと呼ばれることがあり、例えば、マクロブロックは、１６×１６ピクセル、またはこれより多いまたは少ないピクセルの配列を含む。符号化器は、さらに、１６×１６のマクロブロックを複数のサブブロックに分割することがある。各サブブロックは、さらに、複数の追加サブブロックを含むことがある。例えば、１６×１６のマクロブロック内の複数のサブブロックは、１６×８及び８×１６のサブブロックを含むことがある。１６×８及び８×１６のサブブロックのそれぞれは、例えば、４×４、４×２、及び２×４のサブブロックを含むことがあり、以下、同様である。“ブロック”という用語は、マクロブロックまたはサブブロックの任意のサイズのいずれかをいうことがある。
【００２４】
符号化器は、インター符号化動き補償ベースアルゴリズムを用いて、連続するフレーム間の一時的な冗長を、うまく利用することができる。動き補償アルゴリズムは、少なくとも１つのブロックに部分的にマッチする１つまたは複数の参照フレームの一部分を識別する。ブロックは、当該フレーム内で、当該１つまたは複数の参照フレームのマッチする部分に対しシフトされることがある。このシフトは、1つまたは複数の動きベクトルにより特徴付けられる。当該ブロックと、当該１つまたは複数の参照フレームのマッチする部分との間の差分は、１つまたは複数の残差（residual）に特徴付けられる。符号化器は、フレームを、当該フレームの特定の分割についての１つまたは複数の動きベクトルと残差とを含むデータとして符号化することがある。フレームを符号化するためのブロックの特定の区切りは、例えば、符号化サイズと、符号化に起因する当該フレームのコンテンツに対する歪み、すなわち認識される歪みと、を比較する（balance）コスト関数をほぼ最小にすることにより選択されることがある。
【００２５】
インター符号化、イントラ符号化よりも効率よく圧縮することができる。しかし、インター符号化は、参照データ（例えば、参照フレームまたは参照フィールド）が、チャネルエラーなどにより欠損したときに問題が生じる。エラーによる参照データの欠損に加えて、参照データは、ビデオ信号の初期取得（initial acquisition）または再取得（reacquisition）により、インター符号化フレームで利用できないこともある。このような場合、インター符号化データの復号ができないか、または望ましくないエラー及びまたはエラー伝搬をもたらすことがある。これらのシナリオは、例えば、ビデオストリームの同期はずれをもたらすことがある。
【００２６】
独立して復号可能なイントラ符号化フレームは、ビデオ信号の同期化を可能にする。ＭＰＥＧ−ｘ及びＨ．２６ｘ標準は、ＧＯＰ（group of picture）として知られるものを用い、ＧＯＰは、Ｉ―フレームと、ＧＯＰ内でＩ−フレーム及びまたは他のＰ−フレーム及びまたはＢ−フレームを参照する一時予測Ｐ−フレームまたは両方向予測Ｂ−フレームと、を含む。圧縮レートが高い場合には、より長いＧＯＰが好ましいが、短いＧＯＰの方が、取得（acquisition）及び同期をより素早く行うことができる。Ｉ−フレームの数が増えると、取得及び同期がより素早く行えるが、圧縮率が低くなる。平滑化システムの側面は、以下に説明される。平滑化システムは、上述の符号化／復号技術、フォーマット、及びまたは標準のいずれかを用いることがある。
【００２７】
［側面の説明］
図１は、平滑化システムの側面を含む典型的なネットワーク１００を示す。ネットワーク１００は、データネットワーク１０６を用いる複数の機器１０４と通信を行うサーバ１０２を含む。一側面において、サーバ１０２は、任意のタイプの通信リンクを用いてネットワーク１０６で通信を行う。ネットワーク１０６は、ＯＦＤＭ、ＣＤＭＡ、ＴＤＭＡ、ＴＣＰ／ＩＰ、及びまたは他の適切な技術を含むネットワークのような有線及びまたは無線ネットワークのうちのいずれかであることがある。ネットワーク１０６は、例えば、ＯＦＤＭリンクまたは他の適切な任意のタイプの無線通信リンク１１０を用いて、複数の機器１０４と通信する。サーバ１０２は、マルチメディアコンテンツを複数の機器１０４へ送信する。明確のために、ネットワーク１００の動作を、以下に、機器１１２を参照して説明する。しかし、該システムは、複数の機器１０４のうちのどれを用いる場合にも適している。
【００２８】
一側面において、サーバ１０２は、ネットワーク１０６上で送信されるマルチメディアコンテンツを受信するフレーミングロジック１１４を含む。例えば、一側面において、マルチメディアコンテンツは、１つまたは複数のＩ、Ｐ、及びＢフレームを含む複数のビデオフレームのストリームを含む。一側面において、マルチメディアコンテンツは、チャネル切替ビデオ（ＣＳＶ：channel switch video）フレームも含むことがあり、ＣＳＶフレームは、Ｉ−フレームの低い品質／レゾリューション（resolution）バージョンであり、高速チャネル取得及び同期を与えるように構成されている。ＣＳＶフレームは、以下、Ｃ−フレームとも呼ばれる。
【００２９】
一側面において、フレーミングロジック１１４は、マルチメディアコンテンツを、例えば、選択された表示時間期間を表すことができる一連のスーパーフレーム（ＳＦ）に詰め込む。いくつかの側面は、他のＳＦ定義基準とともに、特定の数のビデオフレーム（及び従って可変時間期間）により定義されるスーパーフレームも含むことができる。例えば、一側面において、各スーパーフレームは、マルチメディアコンテンツを1秒間の間表示するのに十分なデータを含む。従って、フレーミングロジック１１４は、１１６で示すように、マルチメディアコンテンツを表す複数のビデオフレームからなるストリームを、一連のスーパーフレームに詰め込むために動作する。１つのスーパーフレームは、複数のチャネルを含むことがあり、スーパーフレームは、各チャネルについてのマルチメディアデータが詰め込まれることに留意されたい。しかし、簡単のために、ここでは１つのチャネルのみを議論するが、平滑化システムのいくつかの側面は、スーパーフレーム内のチャネルの数がいくつであろうと等しく適用可能である。
【００３０】
送信器１１８は、当該複数のスーパーフレームを受信し、ブロードキャスト１２０で説明されるように、これらをネットワーク１０６上でブロードキャストする。機器１１２は、受信器１２２で、ブロードキャスト１２０を受信する。受信器１２２は、該ブロードキャストを復調し、該スーパーフレーム内の複数のビデオフレームを復号器１２４へ渡す。復号器１２４は、該ビデオフレームを復号し、復号されたビデオフレームは、レンダリングロジック１２６により、機器１２２上にレンダリングされる。
【００３１】
一側面において、サーバ１０２は、送信スーパーフレームに関連する平滑要因を検出する平滑化ロジック１２８を含む。例えば、平滑要因は、該スーパーフレームが、バースト及びまたはビットレート変動を呈することを示すことがある。平滑要因は、送信スーパーフレームの任意の特性または状態も示すことがあり、この特性または状態に基づき、ここに説明される平滑化プロセスが実行される。
【００３２】
バーストの場合、平滑化ロジック１２８は、ネットワーク１０６上に送信される前に、マルチメディアコンテンツを含む送信スーパーフレームのビットレートを平滑化する。例えば、選択された数のビデオフレームは、複数のスーパーフレーム１１６のそれぞれに詰め込まれる。各スーパーフレーム内のビデオフレームの種類に応じて、各スーパーフレームの全体的なビットレートが大きく変わり、好ましくないバーストが生じる。
【００３３】
一側面において、平滑化ロジック１２８は、スーパーフレームからスーパーフレームへのビットレートの変化を平滑化するために、スーパーフレーム境界（時間）をまたいで、ビデオフレームを処理する。例えば、一側面において、平滑化ロジック１２８は、処理すべき、１つまたは複数のスーパーフレームを選択する。１つのスーパーフレームにおいて、Ｉ−フレームは低品質で符号化され、従って、データが少ない。さらに、該Ｉ−フレームの次のＰ−フレームは符号化されて、該Ｉ−フレームから抽出されたデータをもつ。そして、符号化されたＩ−フレーム及びＰ−フレームは、異なるスーパーフレームに配置される。従って、通常、大量のデータを含むＩ−フレームは、より小さい、“間引かれた”Ｉ−フレーム、すなわち、Ｉt−フレームに符号化される。次のＰ−フレームは、通常、より少ない量のデータを含み、“増大された”Ｐ−フレーム、すなわち、Ｐf−フレームに符号化され、オリジナルの（もともとの）Ｉ−フレームから取り除かれたデータを含む。間引かれた Ｉt−フレーム及び増大されたＰf−フレームは、異なるスーパーフレームに配置され、これは、これらのオリジナルの（もともとの）位置と異なったり、異ならなかったりすることがある。この結果、一連のスーパーフレームの平滑が調整される。例えば、該一連のスーパーフレームの全体的なビットレート変動がより小さい変動に調整される。
【００３４】
平滑化ロジック１２８は、選択されたビデオフレームが間引かれ、増大され、異なるスーパーフレームに移動され、及びまたはビデオレイヤ間移動されるいくつかの技術を用いて、送信スーパーフレームの平滑要因を調整する。例えば、上述の符号化技術のうちのいずれか及びまたは任意の他の適切な符号化技術が、上述したように、ビデオフレームを符号化するために用いられることがある。他の側面において、スーパーフレームが複数のレイヤを伝送する場合、平滑化システムは、レイヤ間でビデオフレームを移動させて、レイヤ間のよりよいバランスを得る。
【００３５】
他の側面において、平滑化システムは、スーパーフレームからスーパーフレームへのビットレートの変動を平滑化するように動作しないが、その代わり、ビットレート変動を大きくするように動作する。例えば、送信フレーム間で、大きくされたビットレート変動をもつことが望ましいことがある。この場合、平滑化システムは、１つまたは複数のスーパーフレームの全体的なビットレート及びまたはビットレート変動を大きくするように、平滑要因を調整する同様な符号化技術を用いる。
【００３６】
平滑化ロジック１２８の動作のより詳細な説明は、この文書の他のセクションで行う。図１に示した平滑化システムは、一実装例であって、いくつかの側面の範囲内であれば、他の実装も可能である。
【００３７】
図２は、平滑化システムのいくつかの側面に用いられる典型的な平滑化ロジック２００を示す。例えば、平滑化ロジック２００は、図１に示した平滑化ロジック１２８として用いるのに適している。平滑化ロジック２００は、バッファ２０２、検出器２０４、及び符号器２０６を含み、これらは、バス２０８に接続されている。バッファ２０２、検出器２０４、符号化器２０６、及びまたはデータバス２０８のうちの１つまたは複数は、１つまたは複数の物理及びまたは論理コンポーネントを組み合わせたり、これらに分割したりすることができる点に留意されたい。
【００３８】
バッファ２０２は、ネットワーク上に送信される複数のマルチメディアビデオフレームを含む１つまたは複数のスーパーフレームをバッファリングする、任意の適切なメモリまたは記憶デバイスを含む。例えば、一側面において、スーパーフレームは、フレーミングロジック１１４により生成され、２１６に示すように平滑化ロジック２００に入力される。例えば、スーパーフレーム２１０、２１２、及び２１４は、フレーミングロジック１１４により生成され、平滑化ロジック２００に入力される。バッファ２０２は、任意の所望の数のスーパーフレームをバッファリング（または記憶）するのに十分な大きさである。例えば、一側面において、バッファ２０２は、マルチメディアコンテンツの１０秒間の表示を示す１０個のスーパーフレームをバッファリングする容量をもつ。この説明の目的のために、スーパーフレーム２１２及び２１４のみがバッファ２０２に示されているが、バッファ２０２は、任意の数のスーパーフレームを保持できるように構成されていることがある。
【００３９】
スーパーフレーム２１２及び２１４には、これに限定するものではないが、Ｉ−フレーム、Ｐ−フレーム、Ｂ−フレーム、Ｃフレーム、及びまたは任意のタイプのフレームを含む複数のビデオフレームが、任意のフォーマットで詰め込まれている。バッファ２０２に記憶されているビデオフレームは、データバス２０８を介して、検出器２０４及び符号化器２０２によりアクセスされ得る。
【００４０】
一側面において、検出器２０４は、ＣＰＵ、プロセッサ、ゲートアレイ、ハードウェアロジック、メモリエレメント、仮想マシーン、ソフトウェア、及びまたはハードウェア及びソフトウェアの任意の組合せのうちの１つまたは複数を含む。検出器２０４は、バッファリングされたスーパーフレームに関連する平滑要因を検出する。例えば、一側面において、平滑要因は、スーパーフレーム内のデータ量、及びまたは、スーパーフレームとスーパーフレームとの間のデータ量の差分、から決定される。例えば、平滑要因は、バッファリングされたスーパーフレームのバースト（すなわち、全体的なビットレート及びまたはビットレート変動）を示すことがある。他の側面において、平滑要因は、送信フレームの任意の他の特性を示すことができ、検出器２０４は、これに基づき、又は他のいかなる目的に対しても、平滑化が必要であることを決定することができる。従って、平滑化システムは、任意の目的に対して、及びまたは、マルチメディアコンテンツの送信及びレンダリングに関連する任意の所望の目標を達成するために、平滑化処理を実行することができる。
【００４１】
一側面において、検出器２０４は、スーパーフレームが、選択された閾値を越えるビットレートをもつかどうかを決定するために、平滑要因をテストする。例えば、検出器２０４は、選択されたスーパーフレームに含まれるビデオデータの量が、予め定められた閾値を越えるかどうかを検出する。他の側面において、検出器２０４は、連続するスーパーフレームのビットレートの変動が、選択された閾値を越えるかどうかを決定するために、平滑要因をテストする。例えば、検出器２０４は、バッファ２０２内の複数のスーパーフレームを、スーパーフレーム毎別々に処理する。各スーパーフレームのビットレートが検出され、ビットレートの変動が、選択された閾値を越えている場合（すなわち、バースト）、検出器２０４は、符号化器２０６に通知し、検出されたバーストに関連するこれらスーパーフレームを特定する。
【００４２】
他の側面において、検出器２０４は、平滑要因に基づき、バーストがないことを検出する。例えば、送信スーパーフレームに関し、バースト及びまたは大きいビットレート変動をもつことが好ましいことがある。この場合、検出器２０４は、平滑要因を決定し、該平滑要因が、バーストのないこと、及びまたは、大きいビットレート変動がないことを示すときを検出する。この場合、検出器２０４は、スーパーフレーム間のバーストが増加するように、符号化器２０６に通知し、バーストなしのこれらスーパーフレームを識別する。
【００４３】
この説明の目的のために、検出器２０４は、スーパーフレーム２１２に関する平滑要因が所望の閾値及びまたはレンジを越えたことを検出したものと想定する。例えば、スーパーフレーム２１２は、スーパーフレーム２１４に関して、高いビットレートをもち、この結果として、ビットレート変動閾値を越える。すると、検出器２０４は、この状態に関して、符号化器２０６に通知し、スーパーフレーム２１２及び２１４を識別する。
【００４４】
一側面において、検出器２０４は、バッファ２０２内の１つまたは複数のスーパーフレームのサイズを決定し、隣接するフレームは、平滑化処理をもたらすかもしれない余分なデータを含むようなサイズであることを確かめる（すなわち、チェック及びまたは検証する）。隣接するフレームに必要以上のデータを含むと決定した場合、検出器２０４は、符号化器２０６に通知し、平滑化処理を続行させる。この説明の目的のために、検出器２０４は、スーパーフレーム２１４が、平滑化処理を続けることができるほどの追加データを含み得ると決定したものと想定している。
【００４５】
一側面において、符号化器２０６は、ＣＰＵ、プロセッサ、ゲートアレイ、ハードウェアロジック、メモリエレメント、仮想マシーン、ソフトウェア、及びまたはハードウェア及びソフトウェアの任意の組合せのうちの１つまたは複数を含む。一側面において、符号化器２０６は、Ｉ−フレームを、そのサイズを削減するように符号化して、間引きされたＩt−フレームを生成する。間引きされたＩ−フレームから除かれたビットは、後続のＰ−フレームのサイズと品質を増加させるために、該Ｐ−フレームの符号化に用いられ、増大されたＰf−フレームを生成する。Ｉt−フレームとＰf−フレームとを、スーパーフレーム境界を越えるように配置することにより、選択された複数のスーパーフレームの全体的なビットレートが時間経過に伴い平滑化され得る。
【００４６】
一例として、検出器２０４が平滑要因を検出し、スーパーフレーム２１２とスーパーフレーム２１４との間のビットレート変動が、選択された閾値を越えていると決定したものと想定する。符号化器２０６は、まず、スーパーフレーム２１２は、Ｉ−フレーム２１８を含むことを決定する。一側面において、符号化器２０６は、Ｉ−フレーム２１８を間引きし、このＩ−フレームからのデータをＰ−フレーム２２０に符号化する。処理が終了すると、スーパーフレーム２１２は、間引かれたＩt−フレーム２２２を含み、スーパーフレーム２１４は、増大されたＰf−フレームを含む。結果として、スーパーフレーム２１２のビットレートは小さくなり、スーパーフレーム２１４のビットレートは増えて、ビットレート平滑化を与える。平滑化されたスーパーフレームは、２２６に示されているように、その後、バッファ２０２から出力される。
【００４７】
他の側面において、符号化器２０６は、複数のフレームを、スーパーフレームから他のスーパーフレームへと移動することにより、１つまたは複数のスーパーフレームの時間境界をも調節することができる。例えば、ビットレート平滑化の目的のために、Ｉt−フレーム（または通常のＩ−フレーム）は、後続のスーパーフレームに移動させて、これにより、当該スーパーフレーム内のビデオフレームの総数を増やすと、スーパーフレーム間の時間境界を効果的に調節することができる。さらに他の側面において、符号化器２０６は、送信スーパーフレームにより伝送される複数のレイヤ間で複数のビデオフレームを移動させて、これらレイヤ間での均衡をうまく取ることができる。
【００４８】
従って、平滑化システムの側面において、符号化器２０６は、その動作の間中、次のような複数の機能のうちの１つまたは複数を、それらを単独で、または任意に組み合わせて実行することができる。
【００４９】
１．Ｉ−フレームを間引いて、Ｉt−フレームを生成する。
【００５０】
２．間引きされたＩ−フレームからの品質改善でＰ−フレームを増大して、Ｐf−フレームを生成する。
【００５１】
３．Ｉt−フレーム（または、Ｉフレーム）を、１つのスーパーフレームから他へと移動させる。
【００５２】
４．Ｐf−フレーム（または、Ｐフレーム）を、１つのスーパーフレームから他へと移動させる。
【００５３】
５．Ｃフレームを、１つのスーパーフレームから他へと移動させる。
【００５４】
６．スーパフレームにより伝送されるベースまたは拡張レイヤ間で、任意の種類のフレームを移動させる。
【００５５】
一側面において、平滑化システムは、機械読み取り可能な媒体に記憶される、１つまたは複数のプログラム命令（“命令群”）または“コード群”のうちの１つまたは複数のセットを含み、これは、少なくとも１つの機械、例えば、平滑化ロジック２００で１つまたは複数の処理機械、により実行されたとき、ここに説明された機能を提供する。例えば、コードのセットは、フロッピー（登録商標）ディスク、ＣＤＲＯＭ、メモリカード、フラッシュメモリ機器、ＲＡＭ、ＲＯＭ、または任意の他のタイプのメモリ機器のような機械読み取り可能な媒体、または、平滑化ロジック２００とのインタフェースをとる機械読み取り可能な媒体から、平滑化ロジック２００へとロードされることがある。他の側面において、コードのセットは、外部機器またはネットワークリソースから、平滑化ロジック２００へとダウンロードされることがある。このコードのセットは、実行されると、ここに説明された平滑化システムのいくつかの側面を提供する。
【００５６】
［平滑化の例］
次に、４つの事例におけるビットレート平滑化を与えるための典型的な平滑化ロジック２００の動作を説明する。平滑化システムは容易に変更して、種々の状況におけるビットレートの平滑化を行ういくつかの側面を提供することができ、説明される状況は、このような種々の実装を限定するとは解釈されないことに留意されたい。例えば、平滑化システムは、全体的なビットレート、ビットレート変動、及びまたは他の任意の事由に基づき、平滑化を提供することができる。図３Ａ−Ｄを参照して説明される次の例において、陰影は、平滑化システムの動作中に、処理または移動されたフレームを示すために用いられている。
【００５７】
［非レイヤモード］
非レイヤモードにおいて、平滑化システムのいくつかの側面は、一時的に、ビットレートを平滑化するために、ＳＦ境界を越えて、複数のフレームの処理及びまたは移動を行う。一般に、Ｉ、Ｂ、Ｐ、Ｃなどのような任意の種類のフレームは移動され得る。一側面において、２つまたはそれより多い数のフレームの品質は、ともに調整されることができ、これは、よりより平滑化効果を生むことがある。チャネル切替／取得もまた考慮され得る。例えば、ＳＦ内のＩ−フレームにより与えられるシーンチェンジがある場合、冗長なＣ−フレームは、当該ＳＦ内で送信する必要はない。従って、Ｉ−フレームが、ＳＦ境界を越えて移動されると、冗長を避けるためと、さらに、適切なチャネル切替／取得を容易にするために、Ｃ−フレームもまた移動、削除、及びまたは挿入されることがある。一側面において、平滑化ロジック２００は、次の機能を実行する。
【００５８】
図３Ａは、平滑化システムのいくつかの側面に従った、非レイヤモードにおけるビットレート平滑化の例を示す。図３Ａは、２つのスーパーフレームを示し、それはすなわち、入力バッファ２０２内に存在するＳＦ（ｉ）及びＳＦ（ｉ＋１）である。検出器２０４は、ＳＦ（ｉ＋１）のビットレートが選択された閾値を越えたと決定するか、またはＳＦ（ｉ）及びＳＦ（ｉ＋１）フレーム間のビットレートの変動が選択された閾値を越えたと決定すると、過度のバーストをもたらすと決定する。ＳＦ（ｉ）とＳＦ（ｉ＋１）との間のビットレート変動の平滑化のために、ＳＦ（ｉ＋１）のサイズを小さくするために、符号化器２０６は次のように動作する。
【００５９】
ＳＦ（ｉ＋１）において、Ｉ−フレーム３０２は、間引きされて、Ｉt−フレーム３０４を生成し、これは、ＳＦ（ｉ）へ移動される。余分なデータは、増大されたＰf−フレーム（Ｐf（i+1,2））３０６に組込まれ、これは、ＳＦ（ｉ＋１）に残される。Ｉt−フレーム３０４を移動させると、ＳＦ（ｉ＋１）は独立して復号可能なフレームを持たないことになるので、Ｃ−フレーム３０８がＳＦ（ｉ）から取り除かれて、Ｃ−フレーム３１０と示されるように、Ｃ−フレームは、ＳＦ（ｉ＋１）に挿入される。
【００６０】
［レイヤモード］
一側面において、平滑化システムは、ベースレイヤと、１つまたは複数の拡張レイヤとを含む複数のビデオフレームの全体的なビットレートに関連するバーストを低減する。他の側面において、１つまたは複数の拡張レイヤは、種々のフレームタイプを転送するために用いることができ、ベースレイヤと拡張レイヤとの間のビットレートを等しくすることを可能にする。
【００６１】
ベースレイヤと拡張レイヤとのバランスをとるために、Ｂ−フレームが、ベースレイヤまたは拡張レイヤのいずれかを通じて送信され得る。ある環境において、Ｉ−フレーム、Ｐ−フレーム、及びＣ−フレームは、拡張レイヤに置かれることがある。従って、フレームをベースまたは拡張レイヤのどちらで送るかは、ベースレイヤと拡張レイヤとの間のビットレートバランスに依存することがある。簡単のために、図３Ｂ−Ｄに、ベース及び拡張レイヤ内に配置することができるＢ−フレームは示されておらず、また、Ｉ及びＰフレームの実際の数は、これらの図に示されているものよりも多いことがある。一側面において、平滑化ロジック２００は、次のような機能を実行するように構成されている。
【００６２】
図３Ｂは、平滑化システムのいくつかの側面に係るレイヤモードでのビットレート平滑化の例を示している。図３Ｂは２つのスーパーフレーム、すなわち、ＳＦ（ｉ）及びＳＦ（ｉ＋１）を示し、これらスーパーフレームにより伝送されるベース（Ｂａｓｅ）及び拡張（Ｅｎｈ）レイヤも示す。スーパーフレームＳＦ（ｉ）及びＳＦ（ｉ＋１）は、入力バッファ２０２内に存在すると想定する。さらに、検出器２０４は、ＳＦ（ｉ）のビットレートが選択された閾値を越えた、または、ＳＦ（ｉ）とＳＦ（ｉ＋１）との間のビットレート変動が選択された閾値を越えた、と決定し、従って、過度のバーストをもたらす、または、ＳＦ（ｉ）内のＩフレーム３１２は、ＳＦ（ｉ）内の２つのレイヤのバランスを取ることは困難である、と決定したものとする。ＳＦ（ｉ）のサイズを小さくし、よりよいバランスをとるために、符号化器２０６は、次のように動作する。
【００６３】
ＳＦ（ｉ）の最後に示されるＩ−フレーム３１２により、シーンチェンジが指示されており、これはベースレイヤにバーストをもたらす。一側面において、平滑化システムは、Ｉ−フレーム３１２を間引きし、その結果得られるＩt−フレーム３１４は、ＳＦ（ｉ）のベースレイヤのビットレートを小さくする。Ｉ−フレーム３１２の次のＰ−フレーム３１６もまた符号化され、ＳＦ（ｉ＋１）内に増大されたＰf−フレーム３１８を生成し、Ｉ−フレーム３１２を間引きした結果として生ずる品質の低下を補う。簡単のために、Ｃ−フレームは、ＳＦ（ｉ＋１）の拡張レイヤにのみ与えられている。
【００６４】
図３Ｃは、平滑化システムのいくつかの側面に係るレイヤモードでのビットレート平滑化の例を示している。図３Ｃは２つのスーパーフレーム、すなわち、ＳＦ（ｉ）及びＳＦ（ｉ＋１）を示し、これらスーパーフレームにより伝送されるベース（Ｂａｓｅ）及び拡張（Ｅｎｈ）レイヤも示す。スーパーフレームＳＦ（ｉ）及びＳＦ（ｉ＋１）は、入力バッファ２０２内に存在すると想定する。さらに、検出器２０４は、ＳＦ（ｉ＋１）のビットレートが選択された閾値を越えた、または、ＳＦ（ｉ）とＳＦ（ｉ＋１）との間のビットレート変動が選択された閾値を越えた、と決定し、従って、過度のバーストをもたらす、または、ＳＦ（ｉ＋１）内のＩ−フレーム３２０は、ＳＦ（ｉ＋１）内の２つのレイヤのバランスを取ることは困難である、と決定したものとする。ＳＦ（ｉ＋１）のサイズを小さくし、よりよいバランスをとるために、符号化器２０６は、次のように動作する。
【００６５】
ＳＦ（ｉ＋１）の最初に示されるＩ−フレーム３２０により、シーンチェンジが表されている。Ｉ−フレーム３２０は、低品質で符号化され、間引きされたＩt−フレーム３２２を形成し、これは、スーパーフレームＳＦ（ｉ）へ移動される。Ｐ−フレーム３２４は、間引きされたＩt−フレーム３２２からのデータで増大され、Ｐf−フレーム３２６を生成する。Ｉt−フレーム３２２は、取得及び同期に用いることができるので、ＳＦ（ｉ）内の冗長なＣ−フレーム３２８を持つ必要がなく、そのため、これは、ＳＦ（ｉ）から削除され、Ｃ−フレーム３３０がＳＦ（ｉ＋１）に挿入され、ＳＦ（ｉ＋１）の取得を可能にする。ＳＦ（ｉ）内でよりよりバランスをとるために、３２２で示される、ＳＦ（ｉ）内の最後の２つのＰ−フレームは、３３４で示されるように、拡張レイヤに移動される。
【００６６】
図３Ｄは、平滑化システムのいくつかの側面に係るレイヤモードでのビットレート平滑化の例を示している。図３Ｄは２つのスーパーフレーム、すなわち、ＳＦ（ｉ）及びＳＦ（ｉ＋１）を示し、これらスーパーフレームにより伝送されるベース（Ｂａｓｅ）及び拡張（Ｅｎｈ）レイヤも示す。スーパーフレームＳＦ（ｉ）及びＳＦ（ｉ＋１）は、入力バッファ２０２内に存在すると想定する。検出器２０４は、ＳＦ（ｉ＋１）のビットレートが選択された閾値を越えた、または、ＳＦ（ｉ）とＳＦ（ｉ＋１）との間のビットレート変動が選択された閾値を越えた、と決定し、従って、過度のバーストをもたらす、または、ＳＦ（ｉ＋１）内のＩ−フレーム３３６は、ＳＦ（ｉ＋１）内の２つのレイヤのバランスを取ることは困難である、と決定したものとする。ＳＦ（ｉ＋１）のサイズを小さくし、よりよいバランスをとるために、符号化器２０６は、次のように動作する。
【００６７】
示されたように、ＳＦ（ｉ＋１）の中央にあるＩ−フレーム３３６により、上述の２つの方法のうちのいずれか一方が実施されて、ビットレート平滑化がなされる。２番目の方法が実行される場合、I−フレーム３３６は間引きされ、間引きされたＩt−フレーム３２２を形成し、これはＳＦ（ｉ）に移動される。３４２で示されるように、I−フレーム３３６の前のＰ−フレーム３４０も、ＳＦ（ｉ）に移動される。Ｐ−フレーム３４０は、ベースレイヤまたは拡張レイヤのいずれかに位置することができ、この例では、ＳＦ（ｉ）のバランスを改善するために拡張レイヤの中に示される。ＳＦ（ｉ＋１）の中で取得可能にするために、ＳＦ（ｉ）にあるＣ−フレーム３４４は削除され、Ｃ−フレーム３４６はＳＦ（ｉ＋１）に挿入される。I−フレーム３３６に関連するＰ−フレーム３４８は増大され、増大されたＰf−フレーム３５０が生成される。
【００６８】
図４は、平滑システムのいくつかの側面で用いられる、典型的な方法４００を示す。簡単のために、方法４００は、図２に示される、平滑化ロジック２００に関してここに説明される。例えば、一側面において、平滑化ロジック２００は、１つまたは複数の処理マシーン上で、１つまたは複数のコードまたは命令のセットを実行し、以下に説明される複数の機能の全て、または、そのうち、選択的に組み合わせたり、削減したり、及びまたは並び替えられた機能を実行する。
【００６９】
ブロック４０２では、1つまたは複数のスーパーフレームがバッファリングされる。一側面において、マルチメディアコンテンツを含むスーパーフレームは、フレーミングロジック１１４から受信され、バッファ２０２にバッファリングされる。
【００７０】
ブロック４０４では、バッファリングされたスーパーフレームに対し、平滑化が必要かどうかに関し、決定がなされる。一側面において、検出器２０４は、平滑化が必要かどうかを示す平滑要因を決定及びテストするために動作する。例えば、選択されたスーパーフレームのビットレートが選択された閾値を越える場合、平滑要因は不適当なバーストを示すことがある。他の側面において、スーパーフレーム間のビットレートの変動が選択された閾値を越える場合、平滑要因は不適切なバーストを示すことがある。一側面において、検出器２０４は、バッファリングされた複数のスーパーフレームにおけるバーストあるいは任意の不均衡を検出する。検出器２０４は、任意の理由あるいは目的で、平滑化が必要であることを決定するために動作することに留意されたい。平滑化が必要でない場合、方法は、ブロック４１４へ進み、平滑化が必要である場合、方法はブロック４０６へ進む。
【００７１】
ブロック４０６では、所望の平滑化に関連する第１及び２のスーパーフレーム（ＳＦ（ｉ）およびＳＦ（ｉ＋１））が特定される。例えば、検出器２０４は、ビットレートが大きく変化する２つのスーパーフレームを決定する。当該２つのスーパーフレームの識別情報は符号化器２０６に渡される。
【００７２】
ブロック４０８では、決定は、第１の特定されたスーパーフレームＳＦ（ｉ）内に、I−フレームがあるかどうかに関して、決定がなされる。例えば、符号器２０６が、この決定を行う。I−フレームがある場合、該方法はブロック４１０へ進む。第１の特定されたスーパーフレームＳＦ（ｉ）内に、I−フレームがない場合、該方法はブロック４１６へ進む。 
ブロック４１０では、第１の特定されたスーパーフレームＳＦ（ｉ）内のI−フレームが、符号化され、間引きされたＩt−フレームが生成される。例えば、符号化器２０６は、Ｉ−フレームを、そのレゾリューション及びまたは品質を落とすように、符号化し、間引きされたＩt−フレームを生成する。
【００７３】
ブロック４１２では、第２のスーパーフレーム中のＰ−フレームが符号化され、増大されたＰf−フレームが作られる。例えば、符号化器２０６は、間引きされたＩt−フレームを生成するために削除されたデータが、増大されたＰf−フレームを生成するためにP−フレームへ符号化されるように、第２の特定されたスーパーフレームＳＦ（ｉ＋１）内の選択されたＰ−フレームを符号化する。その結果、第１の特定されたスーパーフレームＳＦ（ｉ）は、そのサイズが小さくなり(したがってビットレートも小さくなる)、また、第２の特定されたスーパーフレームＳＦ（ｉ＋１）は、そのサイズが増大し(したがってビットレートも増大する)、これは、当該スーパーフレームに関連した、検出されたバーストを低減する。
【００７４】
ブロック４１６では、第２の特定されたスーパーフレームＳＦ（ｉ＋１）にI−フレームが位置し、間引きされたＩt−フレームを生成するために、このI−フレームは間引きされる、と決定される。例えば、符号化器２０６は、間引きされたＩt−フレームを生成するために、I−フレームを符号化する。
【００７５】
ブロック４１８では、間引きされたＩt−フレームの後に続くＰ−フレームが符号化され、増大されたＰf−フレームが生成される。一側面において、符号化器２０６は、Ｉt−フレームから導出されたデータを用いて、Ｐf−フレームを符号化する。
【００７６】
ブロック４２０では、第２の特定されたスーパーフレームＳＦ（ｉ＋１）内のＩt−フレーム及びその前にある任意のＰ−フレームが、第１の特定されたスーパーフレームＳＦ（ｉ）に移動される。例えば、符号化器２０６は、第２の特定されたスーパーフレームＳＦ（ｉ＋１）内のＩt−フレーム及びその前にある任意のＰ−フレームを、第１の特定されたスーパーフレームＳＦ（ｉ）に移動させる。これは、図３Ｄに説明されている。
【００７７】
ブロック４２２では、第１の特定されたスーパーフレームＳＦ（ｉ）内にＣ−フレームがあるかどうかの決定がなされる。一側面において、符号化器２０６が、この決定を行う。第１の特定されたスーパーフレームＳＦ（ｉ）内にＣ−フレームがない場合、該方法はブロック４１４に進む。第１の特定されたスーパーフレームＳＦ（ｉ）内にＣ−フレームがある場合、該方法はブロック４２４に進む。
【００７８】
ブロック４２４では、第１の特定されたスーパーフレームＳＦ（ｉ）内のＣ−フレームが削除され、Ｃ−フレームが第２の特定されたスーパーフレームＳＦ（ｉ＋１）に挿入れる。一側面において、符号化器２０６が、この機能を行う。例えば、図３Ｄに、第１のスーパーフレームＳＦ（ｉ）内に示されるＣ−フレーム３４４が削除され、Ｃ−フレーム３４６が第２のスーパーフレームＳＦ（ｉ＋１）に挿入される。
【００７９】
ブロック４１４では、必要な場合、1つまたは複数のスーパーフレームの複数のレイヤのバランスをとる。一側面において、符号化器２０６は、１つまたは複数のスーパーフレームのベース及び拡張レイヤのバランスをとるように動作する。例えば、スーパーフレーム間で、フレームの符号化及び移動を行った後、ベースレイヤから拡張レイヤへ、または、その逆に、複数のフレームを移動することにより、ベース及び拡張レイヤのサイズのバランスをとる方が好ましいことがある。
【００８０】
このようにして、該方法４００は、平滑化システムの一側面を提供する。該方法は、単なる一実装を表したにすぎず、他の実装もこれら側面の範囲内で可能であることに留意されたい。
【００８１】
図５は、平滑化システムの一側面に用いられる典型的な平滑化ロジック５００を示す。例えば、平滑化ロジック５００は、図１に示した平滑化ロジック１０２として用いることに適している。一側面において、平滑化ロジック５００は、ここに説明されたような平滑化システムのいくつかの側面を提供する１つまたは複数のコードのセットを実行する、１つまたは複数のモジュールを含む少なくとも１つのプロセッサによって実装される。例えば、各モジュールは、ハードウェア、ソフトウェア、あるいはこれらの任意の組合せを含む。
【００８２】
平滑化ロジック５００は、平滑要因を検出する手段を含む第１モジュール５０２を含み、これは、一側面において、検出器２０４を含む。平滑化ロジック５００は、さらに平滑化が必要かどうかを決定する手段を含む第２モジュール５０４を含み、これは、一側面において、検出器２０４を含む。平滑化ロジック５００は、さらに、選択されたマルチメディアデータを移動させる手段を含む第３モジュール５０６を含み、これは、一側面において、符号化器２０６を含む。平滑化ロジック５００は、単なる一実装を表したにすぎず、他の実装もこれら側面の範囲内で可能であることに留意されたい。
【００８３】
ここに開示された、いくつかの側面に関連して説明される種々の実例となるロジック、論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセサ(DSP)、特定用途向けIC(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは他のプログラマブルロジック機器、個別のゲート、トランジスターロジック、個別のハードウェアコンポーネント、あるいは、ここに開示された機能を実行するために設計された、これらの任意の組合せで、実装または実行されることがある。汎用プロセッサは、マイクロプロセッサでもよいが、あるいは、該プロセッサは任意の従来からあるプロセッサ、コントローラ、マイクロコントローラあるいはステートマシーンでもよい。プロセッサも、計算機器、例えばDSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアとともに動作する１つまたは複数のマイクロプロセッサ、あるいは他の構成として実装されてもよい。
【００８４】
ここに開示された側面に関連して説明された方法またはアルゴリズムのステップは、ハードウェア、プロセッサによって実行されたソフトウェアモジュール、あるいはこれら２つの組合せで、直接具体化されることもある。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスター、ハードディスク、リムーバブルディスク、CD-ROMあるいは当技術中で既知の任意の記憶媒体の形式の中に存在することがある。典型的な記憶媒体は、プロセッサが、該記憶媒体から情報読み出し、及び情報書込が可能なように、該プロセッサに接続される。あるいは、記憶媒体はプロセッサに統合されていることがある。プロセッサと記憶媒体はASIC内に存在することがある。該ASICはユーザ端末に存在することがある。あるいは、プロセッサと記憶媒体は、ユーザ端末の個別のコンポーネントとして存在することがある。
【００８５】
開示された側面の説明は、当業者が本発明を製造または用いることを可能にする。これら側面の種々の修正は、当業者には自明であるかもしれない。また、ここに定義された総括的な原理は、本発明の趣旨または範囲を逸脱しない限り、他の側面、例えば、インスタントメッセージングサービスあるいは任意の一般的な無線データ通信アプリケーションで、適用できることがある。したがって、本発明は、ここに示された側面に限定することを意図するものではなく、ここに開示された原理および新規な特徴と一致する最も広い範囲を意図するものである。「典型的な」という用語は、「例（example, instance, illustration）として役立つ」という意味で、ここでは排他的に用いられている。「典型的」としてここで説明されるどの側面も、他の側面よりも好ましいか、または有利であると解釈する必要はない。
【００８６】
従って、平滑化システムのいくつかの側面が、ここに例示及び説明されているが、それらの精神または本質的特徴を逸脱しない限り、いくつかの側面に種々の変更が可能であることは言うまでもない。したがって、ここでの開示及び説明は、以下のクレームに示される発明の範囲の具体例ではあるが、これに限定することを意図するものではない。
【図１】
2010520677.tif 000003
【図２】
2010520677.tif 000004
【図３Ａ】
2010520677.tif 000005
【図３Ｂ】
2010520677.tif 000006
【図３Ｃ】
2010520677.tif 000007
【図３Ｄ】
2010520677.tif 000008
【図４】
2010520677.tif 000009
【図５】
2010520677.tif 000010
【国際調査報告】
2010520677.tif 000011
2010520677.tif 000012
2010520677.tif 000013
2010520677.tif 000014