(57)【要約】【課題】  マルチ・リゾルーション・ビデオ符号化および復号化のための様々なテクニックおよびツールを提供すること。【解決手段】  ビデオ符号器はマルチ・リゾルーション・ビデオ符号化を実行する。例えば、符号器はフレームサイズを適応して変更して、低ビットレートでのブロッキング・アーティファクトを低減する。ビデオ復号器は、対応するマルチ・リゾルーション復号化を実行する。【選択図】  図２
2004266794.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ符号器において、ビデオを多数の空間リゾルーションのうちのいずれかで符号化するためのコンピュータ実装方法であって、
複数のビデオ・フレームのシーケンス内の少なくとも１つのフレームを第１の空間リゾルーションで符号化すること、および
前記複数のビデオ・フレームのシーケンス内の少なくとも１つの他のフレームを第２の空間リゾルーションで符号化すること
を備え、
前記第２の空間リゾルーションは前記第１の空間リゾルーションとは異なり、前記符号器は前記第２の空間リゾルーションを複数の空間リゾルーションのセットから選択して、前記ビデオ・フレームのシーケンスにおけるブロッキング・アーティファクトを低減することを特徴とする方法。
【請求項２】
前記第２の空間リゾルーションは、垂直スケーリング・ファクタを有する垂直リゾルーションおよび水平スケーリング・ファクタを有する水平リゾルーションを備え、前記垂直スケーリング・ファクタは前記水平スケーリング・ファクタとは異なることを特徴とする請求項１に記載の方法。
【請求項３】
前記符号器はリゾルーション、少なくとも部分的にはビットレート基準に基づいて前記第２の空間リゾルーションに切り替えることを特徴とする請求項１に記載の方法。
【請求項４】
前記符号器は、少なくとも部分的には高い周波数コンテンツの基準に基づいて前記第２の空間リゾルーションに切り替えることを特徴とする請求項１に記載の方法。
【請求項５】
前記符号器は、少なくとも部分的には量子化ステップ・サイズ基準に基づいて前記第２の空間リゾルーションに切り替えることを特徴とする請求項１に記載の方法。
【請求項６】
前記第２の空間リゾルーションで符号化されたフレームは、ダウン・サンプリング・フィルタを使用して前記第１の空間リゾルーションからダウン・サンプリングされることを特徴とする請求項１に記載の方法。
【請求項７】
前記第２の空間リゾルーションで符号化された前記フレームは、分数比ダウン・サンプリングを使用してダウン・サンプリングされることを特徴とする請求項６に記載の方法。
【請求項８】
前記ダウン・サンプリング・フィルタは、偶数のフィルタ・タップ数を備えることを特徴とする請求項６に記載の方法。
【請求項９】
前記ダウン・サンプリング・フィルタは、６タップ・フィルタであることを特徴とする請求項６に記載の方法。
【請求項１０】
前記第２の空間リゾルーションで符号化された前記フレームは、垂直方向においてダウン・サンプリングされる前に水平方向においてダウン・サンプリングされることを特徴とする請求項６に記載の方法。
【請求項１１】
前記第２の空間リゾルーションで符号化された前記フレームのための新しいディメンションを計算することをさらに備えることを特徴とする請求項６に記載の方法。
【請求項１２】
前記第２の空間リゾルーションで符号化されるフレームは、アップ・サンプリング・フィルタを使用して前記第１の空間リゾルーションからアップ・サンプリングされることを特徴とする請求項１に記載の方法。
【請求項１３】
前記アップ・サンプリング・フィルタは、１０タップ・フィルタであることを特徴とする請求項１２に記載の方法。
【請求項１４】
少なくとも１つの他のフレームを第２の空間リゾルーションで符号化する前記符号化は、シグナル・コードによって示されることを特徴とする請求項１に記載の方法。
【請求項１５】
前記複数のビデオ・フレームのシーケンスのためのヘッダ内にフラグを含めることをさらに含み、前記フラグは、前記シーケンス内の前記複数のフレームが複数の空間リゾルーションを使用して符号化されていることを示すことを特徴とする請求項１に記載の方法。
【請求項１６】
前記第１および第２の空間リゾルーションは、２つ以上の空間リゾルーションを備えるグループから選択されることを特徴とする請求項１に記載の方法。
【請求項１７】
前記複数のビデオ・フレームのシーケンス内のフレームを第３の空間リゾルーションで符号化することをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１８】
前記少なくとも１つの他のフレームは、双方向に予測されたフレームを備えることを特徴とする請求項１に記載の方法。
【請求項１９】
コンピュータ実行可能命令であって、それによりプログラムされたコンピュータに請求項１に記載の方法を実行させるためのコンピュータ実行可能命令、を格納していることを特徴とするコンピュータ可読媒体。
【請求項２０】
ビデオを符号化するためのマルチ・リゾルーション方法であって、
複数のビデオ・フレームのシーケンス内のフレームの第１の部分を第１の空間リゾルーションで符号化すること、および
前記複数のビデオ・フレームのシーケンス内の前記フレームの第２の部分を第２の空間リゾルーションで符号化することを備え、
前記第２の空間リゾルーションは前記第１の空間リゾルーションとは異なることを特徴とする方法。
【請求項２１】
前記フレームの前記第１の部分は、高い周波数コンテンツを含み、前記第１の空間リゾルーションは最大リゾルーションであることを特徴とする請求項２０に記載の方法。
【請求項２２】
前記第１の部分を符号化する前記符号化は、第１のフィルタを前記第１の部分に適用することを含み、前記第２の部分を符号化する前記符号化は、別のフィルタを前記第２の部分に適用することを備えることを特徴とする請求項２０に記載の方法。
【請求項２３】
前記第１の空間リゾルーションをビットストリーム内の第１のコードにより伝えること、および前記第２の空間リゾルーションを前記ビットストリーム内の第２のコードにより伝えることをさらに備えることを特徴とする請求項２０に記載の方法。
【請求項２４】
前記シーケンス内の前記フレームは、双方向に予測されたフレームであることを特徴とする請求項２０に記載の方法。
【請求項２５】
ビデオ符号器において、符号化されたビデオ・シーケンスにおける空間リゾルーションを伝えるためのコンピュータ実装方法であって、
第１の空間リゾルーションで符号化された第１のフレームについての第１の空間リゾルーションを示す第１のコードをビットストリームに含めること、および
第２の空間リゾルーションで符号化された第２のフレームについての第２の空間リゾルーションを示す第２のコードを前記ビットストリームに含めることを備え、
前記第２の空間リゾルーションは前記第１の空間リゾルーションとは異なり、前記符号器は前記第２の空間リゾルーションを複数の空間リゾルーションのセットから選択して、前記ビデオ・フレームのシーケンスにおけるブロッキング・アーティファクトを低減することを特徴とする方法。
【請求項２６】
前記第２の空間リゾルーションは水平リゾルーションおよび垂直リゾルーションを備え、前記第２のコードを含める前記動作は、
前記水平リゾルーションのスケーリング・ファクタを示す水平スケーリング・ファクタ・コードを前記ビットストリームに含めること、および
前記垂直リゾルーションのスケーリング・ファクタを示す垂直スケーリング・ファクタ・コードを前記ビットストリームに含めること
を備えることを特徴とする請求項２５に記載の方法。
【請求項２７】
前記第２のコードはフレーム・レベルの固定長コードであることを特徴とする請求項２５に記載の方法。
【請求項２８】
前記第２のコードは、コード長を有するフレーム・レベルの可変長コードであり、前記コード長は前記第２の空間リゾルーションの発生の確率に基づいて変化することを特徴とする請求項２５に記載の方法。
【請求項２９】
マルチ・リゾルーション符号化が前記符号化されたビデオ・シーケンスにおいて使用されているかどうかを示すシーケンス・コードを前記ビットストリームに含めることをさらに備えることを特徴とする請求項２５に記載の方法。
【請求項３０】
復号化のために使用されるべき再サンプリング・フィルタを示すフィルタ・コードを前記ビットストリームに含めることをさらに備えることを特徴とする請求項２５に記載の方法。
【請求項３１】
コンピュータ実行可能命令であって、それによりプログラムされたコンピュータに請求項２５に記載の方法を実行させるためのコンピュータ実行可能命令、を格納していることを特徴とするコンピュータ可読媒体。
【請求項３２】
符号化されたビデオ・シーケンスのビットストリームにおいて空間リゾルーションを伝えるための方法であって、
前記符号化されたビデオ・シーケンス内のフレームの第１の部分の第１の空間リゾルーションを示す第１のシグナルを前記ビットストリームに含めること、および
前記符号化されたビデオ・シーケンス内の前記フレームの第２の部分の第２の空間リゾルーションを示す第２のシグナルを前記ビットストリームに含めること
を備え、
前記第２の空間リゾルーションは前記第１の空間リゾルーションとは異なることを特徴とする方法。
【請求項３３】
前記第１の部分を復号化するために使用されるべき第１のフィルタを示す第１のフィルタ・コードを前記ビットストリームに含めること、および
前記第２の部分を復号化するために使用されるべき第２のフィルタを示す第２のフィルタ・コードを前記ビットストリームに含めることを備え、
前記第２のフィルタは前記第１のフィルタとは異なることを特徴とする請求項３２に記載の方法。
【請求項３４】
前記符号化されたビデオ・シーケンス内の前記フレームは、双方向に予測されたフレームであることを特徴とする請求項３２に記載の方法。
【請求項３５】
ビデオ符号器であって、
ビデオ・シーケンス内の複数のビデオ・フレームの符号化について複数の空間リゾルーションを設定する手段と、
前記ビデオ・シーケンス内の前記複数のビデオ・フレームを符号化する手段と
を備え、
前記複数のビデオ・フレームを符号化する前記手段は、前記複数のビデオ・フレームの第１のビデオ・フレームを第１の空間リゾルーションで符号化するため、かつ、前記複数のビデオ・フレームの第２のビデオ・フレームを、第１の空間リゾルーションとは異なる空間リゾルーションで符号化するための機能性を含み、複数の空間リゾルーションを設定する前記手段は、空間リゾルーションを複数の空間リゾルーションのセットから選択して、前記ビデオ・シーケンスにおけるブロッキング・アーティファクトを低減する手段を備えることを特徴とするビデオ符号器。
【請求項３６】
ビデオを復号化するためのマルチ・リゾルーション方法であって、
複数の符号化されたフレームのビデオ・シーケンスのシーケンス・ヘッダ内のマルチ・リゾルーションのシグナルであって、ビデオ・シーケンス内の前記複数のフレームが複数の空間リゾルーションで符号化されているかどうかを示すマルチ・リゾルーションのシグナル、を受信すること、および
前記複数のフレームが複数の空間リゾルーションで符号化されている場合に、前記複数の符号化されたフレームの第１の符号化されたフレームを第１の空間リゾルーションで復号化し、且つ前記複数の符号化されたフレームの第２の符号化されたフレームを第２の空間リゾルーションで復号化すること
を備えることを特徴とする方法。
【請求項３７】
前記第２の空間リゾルーションは前記第１の空間リゾルーションから２のファクタだけ異なることを特徴とする請求項３６に記載の方法。
【請求項３８】
前記第２の空間リゾルーションは、垂直スケーリング・ファクタを有する垂直リゾルーションおよび水平スケーリング・ファクタを有する水平リゾルーションを含み、前記垂直スケーリング・ファクタは前記水平スケーリング・ファクタとは異なることを特徴とする請求項３６に記載の方法。
【請求項３９】
前記第２の空間リゾルーションは、少なくとも部分的に、ビットレート基準に基づいて適応して決定されることを特徴とする請求項３６に記載の方法。
【請求項４０】
前記第２の空間リゾルーションは、少なくとも部分的に、高い周波数コンテンツの基準に基づいて適応して決定されることを特徴とする請求項３６に記載の方法。
【請求項４１】
前記第２の空間リゾルーションは、少なくとも部分的に、量子化ステップ・サイズ基準に基づいて適応して決定されることを特徴とする請求項３６に記載の方法。
【請求項４２】
前記第２の符号化されたフレームは、元のリゾルーションからダウン・サンプリングされることを特徴とする請求項３６に記載の方法。
【請求項４３】
前記第２の符号化されたフレームが前記元のリゾルーションから、分数比ダウン・サンプリングを使用してダウン・サンプリングされることを特徴とする請求項４２に記載の方法。
【請求項４４】
前記第２の符号化されたフレームを復号化する前記復号化は、復号化されたフレームを生じさせ、
前記第２の符号化されたフレームを復号化した後、前記復号化されたフレームに対して、最大リゾルーションの復号化されたフレームを生じさせるアップ・サンプリングを実行することをさらに備えることを特徴とする請求項４２に記載の方法。
【請求項４５】
前記アップ・サンプリングを実行することは、１０タップ・フィルタを前記復号化されたフレームに適用することを備えることを特徴とする請求項４４に記載の方法。
【請求項４６】
ビットストリーム内の複数のシグナル・コードは、前記第１および第２の空間リゾルーションを伝えることを特徴とする請求項３６に記載の方法。
【請求項４７】
前記第２の符号化されたフレームは、双方向に予測されたフレームであることを特徴とする請求項３６に記載の方法。
【請求項４８】
コンピュータ実行可能命令であって、それによりプログラムされたコンピュータに請求項３６に記載の方法を実行させるためのコンピュータ実行可能命令を格納していることを特徴とするコンピュータ可読媒体。
【請求項４９】
ビデオを復号化するためのマルチ・リゾルーション方法であって、
ビデオ・シーケンス内の符号化されたフレームの第１の部分を第１の空間リゾルーションで復号化すること、および
前記符号化されたフレームの第２の部分を第２の空間リゾルーションで復号化すること
を備え、
前記第２の空間リゾルーションは前記第１の空間リゾルーションとは異なることを特徴とする方法。
【請求項５０】
前記ビデオ・シーケンスにおける前記符号化されたフレームは、双方向に予測されたフレームであることを特徴とする請求項４９に記載の方法。
【請求項５１】
ビデオ復号器であって、
ビデオ・シーケンスのシーケンス・ヘッダ内の、ビデオ・シーケンスにおける複数のビデオ・フレームが複数の空間リゾルーションで符号化されているかどうかを示すマルチ・リゾルーションのシグナルを、受信する手段と、
前記ビデオ・シーケンス内の前記複数のビデオ・フレームの復号化について複数の空間リゾルーションを設定する手段と、
前記ビデオ・シーケンスにおける前記複数ビデオ・フレームを復号化する手段と
を備えることを特徴とするビデオ復号器。
【請求項５２】
コンピュータ・システムにおける、コンピュータ実装方法であって、
ビデオ・イメージのピクセル・データを受信すること、および
６タップ・ダウン・サンプリング・フィルタを備える再サンプリング・フィルタを使用して再サンプリングされたピクセル・データを計算することを含み、前記ビデオ・イメージの空間リゾルーションを適応して変更すること
を備えることを特徴とする方法。
【請求項５３】
前記計算することは、水平および垂直の再サンプリングを備え、前記水平再サンプリングが前記垂直再サンプリングの前に実行されることを特徴とする請求項５２に記載の方法。
【請求項５４】
前記計算することは、クロミナンス・サンプルの数を８の倍数に丸めること、および
ルミナンス・サンプルの数を１６の倍数に丸めること
を備えることを特徴とする請求項５２に記載の方法。
【請求項５５】
前記計算することを、ビデオ・イメージ・シーケンス内の複数の各ビデオ・イメージについて繰り返すことをさらに備えることを特徴とする請求項５２に記載の方法。
【請求項５６】
前記コンピュータ・システムにビデオ符号化中に請求項５２に記載の方法を実行させるコンピュータ実行可能命令を格納することを特徴とするコンピュータ可読媒体。
【請求項５７】
コンピュータ・システムにおける、コンピュータ実装方法であって、
ビデオ・イメージのためのピクセル・データを受信すること、および
１０タップ・アップ・サンプリング・フィルタを備える再サンプリング・フィルタを使用して再サンプリングされたピクセル・データを計算することを含み、前記ビデオ・イメージの空間リゾルーションを適応して変更すること
を備えることを特徴とする方法。
【請求項５８】
前記計算することは、水平および垂直の再サンプリングを備え、前記水平再サンプリングが前記垂直再サンプリングの前に実行されることを特徴とする請求項５７に記載の方法。
【請求項５９】
前記計算することは、クロミナンス・サンプルの数を８の倍数に丸めること、および
ルミナンス・サンプルの数を１６の倍数に丸めること
を備えることを特徴とする請求項５７に記載の方法。
【請求項６０】
前記計算することを、ビデオ・イメージ・シーケンス内の複数の各ビデオ・イメージについて繰り返すことをさらに備えることを特徴とする請求項５７に記載の方法。
【請求項６１】
前記コンピュータ・システムに、ビデオ復号化中に請求項５７に記載の方法を実行させるためのコンピュータ実行可能命令を格納することを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマルチ・リゾルーション（multi-resolution：複数解像度）・ビデオ符号化および復号化（multi-resolution video coding and decoding）に関する。例えば、ビデオ符号器はビデオ・フレーム・サイズを適応して変更して、低ビットレートでのブロッキング・アーティファクト（blocking artifacts）を低減する。
【背景技術】
【０００２】
デジタル・ビデオは大量の記憶および伝送容量を消費する（使い尽くす）。通常の生のデジタル・ビデオ・シーケンスは毎秒１５または３０フレームを含む。各フレームは数万または数十万のピクセル（ペルとも呼ばれる）を含むことがある。各ピクセルは画像の極めて小さい要素を表現する。生の形式では、コンピュータは一般にピクセルを２４ビットで表現する。したがって、通常の生のデジタル・ビデオ・シーケンスの１秒あたりのビット数またはビットレートは、５百万ビット／秒以上になる可能性がある。
【０００３】
大抵のコンピュータおよびコンピュータ・ネットワークは、生のデジタル・ビデオを処理するためのリソース（資源）が不足している。このため、エンジニアは圧縮（コード化または符号化とも呼ばれる）を使用して、デジタル・ビデオのビットレートを低減する。圧縮を可逆的（lossless）にすることができ、これにおいてはビデオの品質は悪くならないが、ビットレートの低減がビデオの複雑性によって制限される。または、圧縮を不可逆的（lossy）にすることができ、これにおいてはビデオの品質が悪くなるが、ビットレートの低減は、可逆的圧縮における結果に対して、より劇的である。圧縮解除は圧縮を逆にする。
【０００４】
一般に、ビデオ圧縮テクニック（techniques；技術、方法）は、イントラ・フレーム（フレーム内）圧縮およびインター・フレーム（フレーム間）圧縮を含む。イントラ・フレーム圧縮テクニックは個々のフレームを圧縮し、これらは通常、Ｉフレーム、キー・フレームまたは参照フレームと呼ばれる。インター・フレーム圧縮テクニックは、先行および／または後に続くフレームを参照してフレームを圧縮し、通常は予測フレーム、ＰフレームまたはＢフレームと呼ばれる。
【０００５】
多くのイントラ・フレームおよびインター・フレーム圧縮テクニックは、ブロック・ベースである。ビデオ・フレームは符号化のために複数のブロックに分割される。例えば、Ｉフレームが８×８ブロックに分割され、これらのブロックが圧縮される。または、Ｐフレームが１６×１６マクロブロック（例えば、４つの８×８ルミナンス・ブロックおよび２つの８×８クロミナンス・ブロック）に分割され、これらのマクロブロックが圧縮される。異なる実装は異なるブロック構成を使用することができる。
【０００６】
【特許文献１】米国特許第６，４９９，０６０号明細書
【特許文献２】米国特許第６，４１８，１６６号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
標準ビデオ符号器は、目標レートがあるしきい値より下に落ちたとき、性能が劇的な劣化を受ける。ブロック・ベースのビデオ圧縮および圧縮解除では、量子化および他の不可逆的処理ステージが、一般にブロッキング・アーティファクト、すなわち複数のブロックの間の知覚可能な不連続性として現れる歪み、をもたらす。低いビットレートでは、Ｉフレームのブロックについての高い周波数情報がひどく歪まされるか、あるいは完全に失われる可能性がある。同様に、Ｐフレーム（動き推定または他の予測によって予測されなかったＰフレームの一部分）のブロックの残差についての高い周波数情報がひどく歪まされるか、あるいは完全に失われる可能性がある。結果として、著しいブロッキング・アーティファクトが「低域通過」領域において生じる可能性があり、再構築されたビデオの品質において相当な低下を引き起こす可能性がある。
【０００８】
いくつかの以前の符号器は、再構築されたフレームをデブロッキング・フィルタ（deblocking filter；ブロック化除去フィルタ）により処理することによって、ブロッキング・アーティファクトの知覚可能性を低減しようと試みている。デブロッキング・フィルタは、複数のブロックの間の境界を平滑化する。デブロッキング・フィルタは、知覚されるビデオ品質を改善することができるが、これはいくつかの欠点を有する。例えば平滑化は、復号器において再構築された出力においてのみ行われる。したがって、ループ内デブロッキングを使用中であるときでさえ、デブロッキングの効果を、カレント・フレームについての動き推定、動き補償または変換符号化のプロセスに要素として組み込むことができない。他方では、後処理フィルタによるカレント・フレームの平滑化（すなわち、ループ外デブロッキング）は極端になり過ぎる可能性があり、平滑化プロセスは不要な計算の複雑性を導入する。
【０００９】
ビデオ圧縮およびデジタル・ビデオへの圧縮解除についての決定的な重要性を考えると、ビデオ圧縮および圧縮解除は十分に開発された分野であることは驚くべきことではない。しかし、以前のビデオ圧縮および圧縮解除張テクニックの利点が何であれ、これらは以下のテクニックおよびツールの利点を有していない。
【課題を解決するための手段】
【００１０】
要約すると、詳細な説明は、マルチ・リゾルーション・ビデオ符号化のための様々なテクニックおよびツールを対象とする。例えば、ビデオ符号器はビデオ・フレーム・サイズを適応して変更して、低いビットレードでのブロッキング・アーティファクトを低減する。それを行うと、符号器はブロッキング・アーティファクトを低減するが、ブロッキング・アーティファクトより知覚可能性が低く、不愉快さが少ないブラーリング（blurring；不鮮明化）を増す可能性がある。様々なテクニックおよびツールを組み合わせて、あるいは独立して使用することができる。
【００１１】
一態様では、ビデオ符号器はビデオを、多数の空間リゾルーションのうちのいずれかで符号化する。符号器は、多数のビデオ・フレームのシーケンスにおける少なくとも１つのフレームを第１の空間リゾルーションで符号化し、少なくとも１つの他のフレームを第２の空間リゾルーションで符号化する。第２の空間リゾルーションは第１の空間リゾルーションとは異なり、符号器は第２の空間リゾルーションを多数の空間リゾルーションのセットから選択して、ビデオ・フレームのシーケンスにおけるブロッキング・アーティファクトを低減する。
【００１２】
その他の態様では、符号器はフレームの第１の部分を第１の空間リゾルーションで符号化し、フレームの第２の部分を第２の空間リゾルーションで符号化する。第２の空間リゾルーションは第１の空間リゾルーションとは異なる。
【００１３】
その他の態様では、ビデオ符号器は、第１の空間リゾルーションで符号化された第１のフレームについて第１の空間リゾルーションを示す第１のコードをビットストリームに含み、第２の空間リゾルーションで符号化された第２のフレームについて第２の空間リゾルーションを示す第２のコードをビットストリームに含む。第２の空間リゾルーションは第１の空間リゾルーションとは異なり、符号器は第２の空間リゾルーションを多数の空間リゾルーションのセットから選択して、ビデオ・フレームのシーケンスにおけるブロッキング・アーティファクトを低減する。
【００１４】
その他の態様では、符号器は、フレームの第１の部分について第１の空間リゾルーションを示す第１のシグナルをビットストリームに含み、フレームの第２の部分について第２の空間リゾルーションを示す第２のシグナルをビットストリームに含む。第２の空間リゾルーションは第１の空間リゾルーションとは異なる。
【００１５】
その他の態様では、復号器はマルチ・リゾルーションのシグナルを、多数の符号化されたフレームのビデオ・シーケンスのためのシーケンス・ヘッダにおいて受信する。マルチ・リゾルーションのシグナルは、複数のフレームが複数の空間リゾルーションで符号化されるかどうかを示す。複数のフレームが複数の空間リゾルーションで符号化される場合、復号器は第１の符号化されたフレームを第１の空間リゾルーションで復号化し、第２の符号化されたフレームを第２の空間リゾルーションで復号化する。
【００１６】
その他の態様では、復号器は、符号化されたフレームの第１の部分を第１の空間リゾルーションで復号化し、符号化されたフレームの第２の部分を第２の空間リゾルーションで復号化する。第２の空間リゾルーションは第１の空間リゾルーションとは異なる。
【００１７】
その他の態様では、符号器または復号器はビデオ・イメージのためのピクセル・データを受信し、ビデオ・イメージの空間リゾルーションを適応して変更するが、これは、再サンプリングされたピクセル・データを、６タップ・ダウン・サンプリング・フィルタまたは１０タップアップサンプリングフィルタを使用して計算することを含む。
【００１８】
追加の特徴および利点は、添付の図面を参照して進行する、以下の様々な実施形態の詳細な説明から明らかになるであろう。
【発明を実施するための最良の形態】
【００１９】
本発明の詳細な実施形態は、マルチ・リゾルーション・ビデオ符号化および復号化を対象とする。例えば、ビデオ符号器はビデオ・フレーム・サイズを適応して変更して、低いビットレードでのブロッキング・アーティファクトを低減する。それを行う際に、符号器はブロッキング・アーティファクトを低減するが、ブラーリングを増す可能性があり、これはブロッキング・アーティファクトより知覚可能性が低く、より好ましくないものではない。
【００２０】
いくつかの実施形態では、符号器はマルチ・リゾルーション符号化テクニックおよびツールを使用して、入力フレームを異なる空間リゾルーションで符号化する。例えば、一実装態様では、符号器はフレームを最大の元のリゾルーションで符号化したり、水平方向において２分の１にダウン・サンプリングされたリゾルーションで符号化したり、垂直方向において２分の１にダウン・サンプリングされたリゾルーションで符号化したり、あるいは水平方向および垂直方向において２分の１にダウン・サンプリングされたリゾルーションで符号化したり、する。別法として、符号器は、元のリゾルーションに対してある他のファクタ（factor）によって符号化されたフレームのリゾルーションを減らすかあるいは増したり、現在のリゾルーションに対してあるファクタにより符号化されたフレームのリゾルーションを減らすかあるいは増したり、あるいはある他のテクニックを使用してリゾルーションを設定したり、する。復号器は、符号化されたフレームを、対応するテクニックを使用して復号化する。
【００２１】
いくつかの実施形態では、符号器はフレームのための空間リゾルーションを、フレーム毎のベースで、あるいはある他のベースで選択する。復号器は対応する調整を実行する。
【００２２】
いくつかの実施形態では、符号器は空間リゾルーションを、ある基準（例えば、ビットレート、フレーム・コンテンツなど）を評価することによって選択する。
【００２３】
様々なテクニックおよびツールを組み合わせて、あるいは独立して使用することができる。個々の実施形態は、説明するテクニックおよびツールのうち１つまたは複数を実装する。異なるテクニックおよびツールを組み合わせて、独立して、あるいは他のテクニックおよびツールと共に使用することができる。
【００２４】
Ｉ．コンピューティング環境
図１は、説明する実施形態を実装することができる、適切なコンピューティング環境（１００）の汎用的な実施例を例示する。コンピューティング環境（１００）は、本発明の用途または機能性の範囲についていかなる限定をも示唆するように意図されない、これは、本発明を多様な汎用または専用コンピューティング環境において実装することができるからである。
【００２５】
図１を参照すると、コンピューティング環境（１００）は少なくとも１つの処理装置（１１０）およびメモリ（１２０）を含む。図１では、この最も基本的な構成（１３０）が破線内に含まれる。処理装置（１１０）はコンピュータ実行可能命令を実行し、実際または仮想のプロセッサにすることができる。マルチ処理システムでは、マルチ処理装置は、処理能力を増すためのコンピュータ実行可能命令を実行する。メモリ（１２０）を揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ）、不揮発性メモリ（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリなど）、またはこれら２つのある組合せにすることができる。メモリ（１２０）は、マルチ・リゾルーション符号化および／または復号化テクニックを実装するソフトウェア（１８０）を格納する。
【００２６】
コンピューティング環境は追加の機能を有することができる。例えば、コンピューティング環境（１００）はストレージ（１４０）、１つまたは複数の入力デバイス（１５０）、１つまたは複数の出力デバイス（１６０）、および１つまたは複数の通信接続（１７０）を含む。バス、コントローラ、またはネットワークなど、相互接続メカニズム（図示せず）がコンピューティング環境（１００）の複数のコンポーネントを相互接続する。通常、オペレーティング・システム・ソフトウェア（図示せず）は、コンピューティング環境（１００）において実行する他のソフトウェアのためのオペレーティング環境を提供し、コンピューティング環境（１００）のコンポーネントの活動を調整する。
【００２７】
ストレージ（１４０）をリムーバルまたは非リムーバルにすることができ、これには磁気ディスク、磁気テープまたはカセット、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ、または情報を格納するために使用することができ、コンピューティング環境（１００）内でアクセスすることができるいずれかの他の媒体が含まれる。ストレージ（１４０）は、マルチ・リゾルーション符号化および／または復号化テクニックを実装するソフトウェア（１８０）のための命令を格納する。
【００２８】
入力デバイス（１５０）を、キーボード、マウス、ペンまたはトラック・ボールなどのタッチ入力デバイス、音声入力デバイス、スキャニング・デバイス、ネットワーク・アダプタ、または、入力をコンピューティング環境（１００）に提供する別のデバイスにすることができる。ビデオでは、入力デバイス（１５０）をＴＶチューナー・カード、カメラ・ビデオ・インターフェース、または、ビデオ入力をアナログまたはデジタル形式で受け入れる類似のデバイス、または、ビデオ入力をコンピューティング環境に提供するＣＤ−ＲＯＭ／ＤＶＤリーダにすることができる。出力デバイス（１６０）を、ディスプレイ、プリンタ、スピーカ、ＣＤ／ＤＶＤライタ、ネットワーク・アダプタ、または、コンピューティング環境（１００）からの出力を提供する別のデバイスにすることができる。
【００２９】
通信接続（１７０）は、ある通信媒体を介した別のコンピューティング・エンティティへの通信を可能にする。通信媒体は、コンピュータ実行可能命令、圧縮されたビデオ情報、または変調データ信号における他のデータなどの情報を搬送する。変調データ信号は、その特性の１つまたは複数が、情報を信号において符号化するように設定または変更されている信号である。例として、限定ではなく、通信媒体には、電気的、光学、ＲＦ、赤外線、音響または他の搬送波内に実装されたワイヤードまたはワイヤレス・テクニックが含まれる。
【００３０】
本発明をコンピュータ可読媒体の一般的なコンテクストで説明することができる。コンピュータ可読媒体は、コンピューティング環境内でアクセスすることができる任意の使用可能な媒体である。例として、限定ではなく、コンピューティング環境（１００）内でコンピュータ可読媒体は、メモリ（１２０）、ストレージ（１４０）、通信媒体、および上記のいずれかの組合せを含む。
【００３１】
本発明を、対象とする実際または仮想のプロセッサ上のコンピューティング環境内で実行されるプログラム・モジュールに含まれたコンピュータ実行可能命令の一般的なコンテクストで説明することができる。一般に、プログラム・モジュールには、ルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造など、特定のタスクを実行するか、あるいは特定の抽象データ型を実施するものが含まれる。プログラム・モジュールの機能性を複数のプログラム・モジュールの間で、様々な実施形態において望ましいように結合または分割することができる。プログラム・モジュールのためのコンピュータ実行可能命令を、ローカルまたは分散コンピューティング環境内で実行することができる。
【００３２】
提示のために、詳細な説明は「設定する（set）」、「選択する（choose）」、「符号化する（encode）」および「復号化する（decode）」という用語を使用して、コンピューティング環境におけるコンピュータ・オペレーションを説明する。これらの用語は、コンピュータによって実行されたオペレーションについての高レベルの抽象であり、人間によって実行される行為（acts）と混同されるべきではない。これらの用語に対応する実際のコンピュータ・オペレーションは、実装に応じて変わる。
【００３３】
ＩＩ．ビデオ符号器および復号器の実施例
様々な実施形態におけるテクニックおよびツールを、ビデオ符号器（encode）および／または復号器（decoder）に実装することができる。ビデオ符号器および復号器は、それらの内に異なるモジュールを含むことができ、複数の異なるモジュールが互いに多数の異なる方法で関係し、通信することができる。以下で説明するモジュールおよび関係は例示的である。
【００３４】
実装および所望の圧縮のタイプに応じて、符号器または復号器のモジュールを追加し、省略し、多数のモジュールに分割し、他のモジュールと結合し、かつ／または同様のモジュールと置き換えることができる。代替実施形態では、異なるモジュールおよび／または他のモジュールの構成を有する符号器または復号器は、説明するテクニックの１つまたは複数を実行する。
【００３５】
例示する符号器および復号器はブロック・ベースであり、４：２：０マクロブロック・フォーマットを使用し、各マクロブロックは４つの８×８ルミナンス・ブロック（時として、１つの１６×１６マクロブロックとして扱われる）、および、２つの８×８クロミナンス・ブロックを含む。別法として、符号器および復号器はオブジェクト・ベースであり、異なるマクロブロックまたはブロック・フォーマットを使用し、あるいは、８×８ブロックおよび１６×１６マクロブロックとは異なるサイズまたは構成のピクセルのセットにおいてオペレーションを実行する。
【００３６】
Ａ．ビデオ符号器の実施例
符号器は、カレント・フレームを含むビデオ・フレームのシーケンスを受信し、圧縮されたビデオ情報を出力として生成する。符号器は、予測フレームおよびキー・フレームを圧縮する。符号器のコンポーネントの多数が、キー・フレームおよび予測フレームの両方を圧縮するために使用される。これらのコンポーネントによって実行される厳密なオペレーションは、圧縮中されている情報のタイプに応じて異なる可能性がある。
【００３７】
予測フレーム（Ｐフレーム、双方向予測ではＢフレーム、またはインター（フレーム間）符号化フレーム（inter-coded frame）とも呼ばれる）が、１つまたは複数の他のフレームからの予測（または差）に関して表現される。予測残差は、予測されたものと元のフレームの間の差である。対照的にキー・フレーム（Ｉフレーム、イントラ（フレーム内）符号化フレーム（intra-coded frame）とも呼ばれる）は、他のフレームに関係なく圧縮される。
【００３８】
いくつかの実施形態の中の図２を参照すると、カレント・フレーム（２０５）を符号化する符号器（２００）は、マルチ・リゾルーション符号化のためのリゾルーション変換器（２１０）を含む。リゾルーション変換器（２１０）はカレント・フレーム（２０５）を入力として受信し、変換されたフレームはもちろん、マルチ・リゾルーション・パラメータ（２１５）を出力する。カレント・フレーム（２０５）が予測フレームである場合、リゾルーション変換器（２３０）は、入力としてカレント・フレーム（２０５）のための参照フレーム（２２５）を受信し、変換された参照フレームを出力する。
【００３９】
リゾルーション変換器（２１０）および（２３０）は、他の符号化モジュール（２４０）と通信し、他の符号化モジュール（２４０）は、リゾルーション変換器（２１０）および（２３０）によって提供されたマルチ・リゾルーション符号化情報（例えば、マルチ・リゾルーション・パラメータ（２１５））に部分的に基づく出力（２４５）（例えば、ピクセル・ブロック・データ、モーション・ベクトル、残差など）を生成する。
【００４０】
他の符号器モジュール（２４０）には例えば、動き推定器、動き補償器、周波数変換器、量子化器、フレーム・ストアおよびエントロピー符号器を含むことができる。
【００４１】
カレント・フレーム（２０５）が前方予測フレームである場合、動き推定器は、参照フレーム（２２５）に対するカレント・フレーム（２０５）のマクロブロックまたは他のピクセルのセットの動きを、推定する。この場合の参照フレームは、フレーム・ストアにバッファリングされた、再構築された以前のフレームである。代替実施形態では、参照フレーム（２２５）は後のフレームであり、あるいはカレント・フレーム（２０５）は双方向に予測される。動き補償器は、動き情報を再構築された以前のフレームに適用して、動き補償されたカレント・フレームを形成する。しかし、予測はめったに完全ではなく、動き補償されたカレント・フレームと元のカレント・フレーム（２０５）の間の差異は、予測残差である。別法として、動き推定器および動き補償器は別のタイプの動き推定／補償を適用する。
【００４２】
周波数変換器は、空間領域ビデオ情報（spatial domain video information）を周波数領域（frequency domain）（すなわち、スペクトル）データに変換する。ブロック・ベースのビデオ・フレームでは、周波数変換器は離散コサイン変換（ＤＣＴ）をピクセル・データのブロックまたは予測残差データに適用し、ＤＣＴ係数のブロックを生成する。別法として、周波数変換器は、フーリエ変換などの別の従来の周波数変換を適用し、あるいはウェーブレットまたはサブ・バンド解析（analysis）を使用する。
【００４３】
次いで、量子化器はスペクトル・データ係数のブロックを量子化する。量子化器はフレーム毎のベースで、あるいは他のベースで変わるステップ・サイズを使用して、スペクトル・データに対して一様のスカラ量子化を適用する。別法として、量子化器は、非一様、ベクトル、または非適応量子化などの別のタイプの量子化をスペクトル・データ係数に適用したり、あるいは、周波数変換を使用しない符号器システムにおいて空間領域データを直接量子化したり、する。適応量子化に加えて、符号器（２００）はフレーム・ドロップ、適応フィルタリング、またはレート・コントロールのための他のテクニックを使用することができる。
【００４４】
再構築されたカレント・フレームが、後続の動き推定／補償のために必要とされるとき、符号器（２００）のモジュールはカレント・フレーム（２０５）を再構築し、これは通常、フレームを符号化するために使用されたテクニックの逆を実行する。フレーム・ストアは、再構築されたカレント・フレームを、次のフレームの予測において使用するためにバッファリングする。
【００４５】
エントロピー符号器は、量子化器の出力ならびにある副情報（例えば、動き情報、量子化ステップ・サイズなど）を圧縮する。通常のエントロピー符号化テクニックには、算術符号化、差分符号化、ハフマン符号化、ラン・レングス符号化、ＬＺ符号化、辞書型符号化、および上記の組合せまたは変形物が含まれる。エントロピー符号器は通常、異なる種類の情報について異なる符号化テクニックを使用し、特定の符号化テクニック内の多数のコード・テーブルの中から選択することができる。
【００４６】
いくつかの実施形態における他の符号器モジュール（２４０）についての追加の詳細については、２００１年５月３日出願の「DYNAMIC FILTERING FOR LOSSY COMPRESSION」という名称の米国特許出願第０９／８４９，５０２号、１９９８年１１月３０日出願の「EFFICIENT MOTION VECTOR CODING FOR VIDEO COMPRESSION」という名称の米国特許出願第０９／２０１，２７８号、特許文献１および特許文献２を参照されたい。これらの各開示は参照により本明細書に組み込まれる。
【００４７】
Ｂ．ビデオ復号器の実施例
図３を参照すると、復号器（３００）は、圧縮されたビデオ・フレームのシーケンスについての情報を受信し、再構築されたフレームを含む出力を生成する。復号器（３００）は、予測フレームおよびキー・フレームを圧縮解除する。復号器（３００）のコンポーネントの多数が、キー・フレームおよび予測フレームの両方を圧縮解除するために使用される。これらのコンポーネントによって実行される厳密なオペレーションは、圧縮されている情報のタイプに応じて変わる可能性がある。
【００４８】
いくつかの実施形態では、カレント・フレーム（３０５）を再構築する復号器（３００）は、マルチ・リゾルーション復号化のためのリゾルーション変換器（３１０）を含む。リゾルーション変換器（３１０）は、復号化されたフレーム（３１５）を入力として取り、再構築されたカレント・フレーム（３０５）を出力する。
【００４９】
カレント・フレーム（３０５）が予測フレームである場合、リゾルーション変換器（３３０）は入力として、マルチ・リゾルーション・パラメータ（３１５）およびカレント・フレーム（３０５）のための参照フレーム（３２５）を受信する。リゾルーション変換器（３３０）は、参照フレーム情報を他の復号器モジュール（３４０）に出力する。他の復号器モジュール（３４０）は参照フレーム情報を、符号器から受信された動きベクトル、残差など（３４５）と共に使用して、カレント・フレーム（３０５）を復号化する。
【００５０】
他の復号器モジュール３４０には、例えば、バッファ、エントロピー復号器、動き補償器、フレーム・ストア、逆量子化器および逆周波数変換器を含むことができる。
【００５１】
バッファは、圧縮されたビデオ・シーケンスについての情報（３４５）を受信し、受信された情報をエントロピー復号器で使用可能にする。バッファは通常、情報を、経時的にかなり一定であるレートで受信し、帯域幅または伝送における短期変動を平滑化するためのジッタ・バッファを含む。バッファは、再生バッファおよび他のバッファも含むことができる。別法として、バッファは情報を、変化するレートで受信する。
【００５２】
エントロピー復号器は、エントロピー符号化された量子化データ、ならびに、エントロピー符号化された副情報（例えば、動き情報、量子化ステップ・サイズなど）を復号化し、通常は、符号器において実行されたエントロピー符号化の逆を適用する。エントロピー復号器はしばしば、異なる種類の情報について異なる復号化テクニックを使用し、特定の復号化テクニック内の多数のコード・テーブルの中から選択することができる。
【００５３】
再構築されるフレームが前方予測フレームである場合、動き補償器は動き情報を参照フレームに適用して、再構築中であるフレームの予測を形成する。例えば、動き補償器はマクロブロック動きベクトルを使用して、参照フレームにおけるマクロブロックを見つけ出す。フレーム・バッファは、以前の再構築されたフレームを、参照フレームとして使用するために格納する。別法として、動き補償器は別のタイプの動き補償を適用する。動き補償器による予測はめったに完全ではなく、そのため復号器はまた予測残差をも再構築する。
【００５４】
復号器が、再構築されたフレームを後続の動き補償のために必要とするとき、フレーム・ストアは、再構築されたフレームを、次のフレームの予測において使用するためにバッファリングする。
【００５５】
逆量子化器は、エントロピー復号化されたデータを逆量子化する。一般には、逆量子化器は、フレーム毎のベースで、あるいは他のベースで変わるステップ・サイズを使用して、エントロピー復号化されたデータに対して一様のスカラ逆量子化を適用する。別法として、逆量子化器は、非一様、ベクトル、または非適応逆量子化などの別のタイプの逆量子化をデータに適用したり、あるいは空間領域データを、逆周波数変換を使用しない復号器システムにおいて直接逆量子化したり、する。
【００５６】
逆周波数変換器は、量子化された周波数領域データを空間領域ビデオ情報に変換する。ブロック・ベースのビデオ・フレームでは、逆周波数変換器は、逆ＤＣＴ（ＩＤＣＴ）をＤＣＴ係数のブロックに適用し、それぞれキー・フレームまたは予測フレームのためのピクセル・データまたは予測残差データを生成する。別法として、周波数変換器は、フーリエ変換などの別の従来の逆周波数変換を適用し、あるいはウェーブレットまたはサブ・バンド統合（synthesis）を使用する。
【００５７】
いくつかの実施形態における他の復号器モジュール（３４０）についての追加の詳細については、２００１年５月３日出願の「DYNAMIC FILTERING FOR LOSSY COMPRESSION」という名称の米国特許出願第０９／８４９，５０２号、１９９８年１１月３０日出願の「EFFICIENT MOTION VECTOR CODING FOR VIDEO COMPRESSION」という名称の米国特許出願第０９／２０１，２７８号、特許文献１および特許文献２を参照されたい。
【００５８】
ＩＩＩ．マルチ・リゾルーション・ビデオ符号化および復号化
マルチ・リゾルーション符号化では、符号器が入力フレームを異なる空間リゾルーションで符号化する。符号器はフレームのための空間リゾルーションを、フレーム毎のベースで、あるいは他のベースで選択する。いくつかの実施形態では、符号器は空間リゾルーションを、以下の観測に基づいて選択する。  
１．ビットレートが減るにつれて、より低い空間リゾルーションでの符号化での利点が増す。  
２．量子化ステップ・サイズが増すにつれて、より低い空間リゾルーションでの符号化での利点が増す。  
３．ダウン・サンプリングが高い周波数情報を廃棄するので、ダウン・サンプリングは時として、知覚的に重要な高い周波数コンテンツ（例えば、「強いエッジ」、テキストなど）を有するフレームには、あまり適していない。  
４．フレームが低域特性を有する場合、あるいはフレームがノイズのような高い周波数コンテンツを有する場合、ダウン・サンプリングが適切である可能性がある。
【００５９】
いくつかの実施形態では、符号器はカレント・フレームのビットレート、量子化器ステップ・サイズおよび高い周波数エネルギーについての方向づけ（orientation）／大きさを使用して、空間リゾルーションを選択する。例えば、カレント・フレームの水平の高い周波数成分の大きさが大きいが垂直の高い周波数成分の大きさが小さい場合、符号器は垂直ダウン・サンプリングを選択する。他の実施形態では、符号器は参照フレームからの情報を（カレント・フレームからの情報の代わりに、あるいはこれと組み合わせて）使用して、空間リゾルーションを選択する。別法として、符号器は上の基準のいくつかまたはすべてを省略するか、上の基準のいくつかの代わりに他の基準を使用するか、あるいは追加の基準を使用して空間リゾルーションを選択することができる。
【００６０】
符号器がカレント・フレームのための空間リゾルーションを選択した後、符号器は、これを符号化する前に、元のフレームを所望のリゾルーションへ再サンプリングする。カレント・フレームが予測フレームである場合、符号器はまた予測フレームのための参照フレームも、カレント・フレームの新しいリゾルーションに合致するように再サンプリングする。次いで、符号器はリゾルーションの選択を復号器に送信する。一実装では、６タップ・フィルタがダウン・サンプリングのために使用され、１０タップ・フィルタがアップ・サンプリングのために使用され、これらのフィルタは、組み合わせることによって、再構築されたビデオの品質を高めるように設計される。別法として、他のフィルタが使用される。
【００６１】
図４は、フレームのマルチ・リゾルーション符号化のためのテクニック（４００）を示す。図２の符号器（２００）などの符号器は、フレームのためのリゾルーションを設定する（４１０）。例えば、符号器は、上に挙げた基準または他の基準を考慮する。
【００６２】
次いで、符号器は、フレーム（４２０）をそのリゾルーションで符号化する。符号化が完了した場合（４３０）、符号器は終了する。そうでない場合、符号器が次のフレームのためのリゾルーションを設定し（４１０）、符号化を継続する。別法として、符号器はリゾルーションをフレーム・レベル以外のあるレベルに設定する。
【００６３】
いくつかの実施形態では、符号器は予測フレームならびにイントラ・フレームを符号化する。図６は、イントラ・フレームおよび予測フレームのマルチ・リゾルーション符号化のためのテクニック（６００）を示す。
【００６４】
最初に、符号器は、符号化されるカレント・フレームがＩフレームであるかＰフレームであるかをチェックする（６１０）。カレント・フレームがＩフレームである場合、符号器はカレント・フレームのためのリゾルーションを設定する（６２０）。フレームがＰフレームである場合、符号器は、カレント・フレームのためのリゾルーションを設定する（６２０）前に、参照フレームのためのリゾルーションを設定する（６３０）。
【００６５】
カレント・フレームのためのリゾルーションを設定した後（６２０）、符号器はカレント・フレームをそのリゾルーションで符号化する（６４０）。符号化が完了した場合（６５０）、符号器は終了する。そうでない場合、符号器は符号化を継続する。
【００６６】
いくつかの実装では、符号器は、以下のリゾルーションのうち１つで選択的にフレームを符号化する。すなわち、１）最大リゾルーション、２）水平方向において２のファクタでダウン・サンプリングされたリゾルーション、３）垂直方向において２のファクタでダウン・サンプリングされたリゾルーション、または４）水平方向および垂直方向において２のファクタでダウン・サンプリングされたリゾルーション、である。別法として、符号器は、リゾルーションをある他のファクタ（例えば、２のべき乗ではないもの）により減らすかあるいは増したり、追加の使用可能なリゾルーションを有したり、あるいはある他のテクニックを使用してリゾルーションを設定したり、する。符号器は各フレームのためのリゾルーションを、元のイメージ・サイズに対して設定する。別法として、符号器はフレームのためのリゾルーションを、以前のフレームのリゾルーションまたは以前のリゾルーション設定に対して設定し、すなわち、符号器は、以前のリゾルーションに対してリゾルーションを漸進的に（progressively）変更する。
【００６７】
復号器は、符号化されたフレームを復号化し、必要な場合、フレームを表示前にアップ・サンプリングする。符号化されたフレームのリゾルーションのように、復号化されたフレームのリゾルーションを多数の異なる方法において調整することができる。
【００６８】
図５は、フレームのマルチ・リゾルーション復号化のためのテクニック（５００）を示す。図３の復号器（３００）などの復号器は、フレームのためのリゾルーションを設定する（５１０）。例えば、復号器はリゾルーション情報を符号器から得る。
【００６９】
次いで、復号器は、フレームをそのリゾルーションで復号化する（５２０）。復号化が完了した場合（５３０）、復号器は終了する。そうでない場合、復号器は次のフレームのためのリゾルーションを設定し（５１０）、復号化を継続する。別法として、復号器はリゾルーションをフレーム・レベル以外のあるレベルに設定する。
【００７０】
いくつかの実施形態では、復号器は予測フレームならびにイントラ・フレームを復号化する。図７は、イントラ・フレームおよび予測フレームのマルチ・リゾルーション復号化のためのテクニック（７００）を示す。
【００７１】
最初に、復号器は、復号化されるカレント・フレームがＩフレームであるかＰフレームであるかをチェックする（７１０）。カレント・フレームがＩフレームである場合、復号器はカレント・フレームのためのリゾルーションを設定する（７２０）。フレームがＰフレームである場合、復号器は、カレント・フレームのためのリゾルーションを設定する（７２０）前に、参照フレームのためのリゾルーションを設定する（７３０）。
【００７２】
参照フレームのためのリゾルーションを設定した後（７２０）、復号器はカレント・フレームをそのリゾルーションで復号化する（７４０）。復号化が完了した場合（７５０）、復号器は終了する。そうでない場合、復号器は復号化を継続する。
【００７３】
復号器は通常、符号器で使用されたリゾルーション、例えば、上述のリゾルーションのうち１つでフレームを復号化する。別法として、復号器で使用可能なリゾルーションは、符号器で使用されたものと厳密に同じではない。
【００７４】
Ａ．シグナリング
マルチ・リゾルーション符号化されたフレームを復号化するための十分な情報を復号器に提供するために、符号器はビット・ストリーム・シグナリングを使用する。例えば、符号器は、フレームのシーケンスがマルチ・リゾルーション符号化を使用して符号化されるかどうかを示し、かつ／または、シーケンス内で符号化されたフレームのリゾルーションを示すシグナルを、１つまたは複数のフラグまたはコードの形式で送信することができる。別法として、符号器はマルチ・リゾルーション符号化を、シーケンス・レベル以外のあるレベルで可能／不可能にし、かつ／またはリゾルーションをフレーム・レベル以外のあるレベルで設定する。
【００７５】
図８は、フレームのシーケンスをマルチ・リゾルーション符号化により符号化する際に、シグナルを送信するためのテクニック（８００）を示す。符号器は次のシーケンス・ヘッダを入力として取り（８１０）、マルチ・リゾルーション符号化がこのシーケンスに対して可能にするべきであるかどうかを決定する（８２０）。
【００７６】
符号器が、マルチ・リゾルーション符号化をこのシーケンスに対して使用中でない場合、符号器は、そのシーケンスのシグナルをそれに応じて設定し（８３０）、そのシーケンス内のフレームを符号化する（８４０）。
【００７７】
符号器がマルチ・リゾルーション符号化を使用中である場合、符号器はシーケンスのシグナルをそれに応じて設定する（８５０）。次いで、符号器はそのシーケンス内のフレームを、そのフレームの水平および／または垂直リゾルーション用のスケーリング・ファクタを示すシグナルに従って、（例えば、図４または図６を参照して上述したように）符号化する。
【００７８】
符号化が完了した場合（８７０）、符号器は終了する。そうでない場合、符号器は次のシーケンスを符号化する。
【００７９】
いくつかの実施形態では、符号器は、マルチ・リゾルーション符号化がフレームのシーケンスのために可能にされるかどうかを示す１ビットを送信する。次いで、そのシーケンス内のフレームについて、ＩフレームおよびＰフレームの各々について指定されたフィールドにおけるコードが、最大リゾルーション・フレームに対するそのフレームのリゾルーション用のスケーリング・ファクタを指定する。一実装では、そのコードは固定長コードである。表１は、スケーリング・ファクタが、ＲＥＳＰＩＣ  ＦＬＣというラベルが付けられたフィールドにおいてどのように符号化されるかを示している。
【００８０】
【表１】
2004266794.tif 000003
【００８１】
別法として、符号器は、フレーム・リゾルーションへの調整をシグナルで送るもう１つの方法（例えば、可変長コード）を使用する。実装および可能なリゾルーションの数に応じて、符号器は追加のシグナル・コードまたはより少ない数のシグナル・コードを使用することができ、あるいは水平および垂直リゾルーションについて異なるコードを使用することができる。さらに、可能なリゾルーションの相対的確率に応じて、符号器はコードの長さを調整することができる（例えば、より短いコードを、最も可能性の高いリゾルーションに割り当てる）。さらに、符号器はシグナルを他の目的のために使用することができる。例えば、符号器はシグナル（例えば、固定または可変長コード）を使用して、複数のフィルタが使用可能である状況においてどのフィルタが再サンプリングのために使用されるべきであるかを示すことができる。符号器はこのようなシグナルを使用して、使用可能な、あらかじめ定義されたフィルタまたはカスタム・フィルタのうちどちらを再サンプリングにおいて使用するべきであるかを示すことができる。
【００８２】
シグナルを送信することによって、符号器は復号器に、マルチ・リゾルーション符号化されたフレームを復号化するために有用な情報を提供する。復号器はシグナルを構文解析して、符号化されたフレームがどのように復号化されるべきであるかを決定する。例えば、復号器は、符号器によって送信されたコードを解釈して、フレームのシーケンスがマルチ・リゾルーション符号化を使用して符号化されているかどうかを決定し、かつ／または、シーケンス内の符号化されたフレームのリゾルーションを決定することができる。
【００８３】
図９は、符号化されたフレームのシーケンスをマルチ・リゾルーション復号化により復号化するとき、シグナルを受信および解釈するためのテクニック（９００）を示す。復号器は次の符号化されたシーケンス・ヘッダを入力として取り（９１０）、このシーケンスに関連付けられたシグナルをチェックして、符号器がマルチ・リゾルーション符号化をこのシーケンスのために使用したかどうかを決定する（９２０）。
【００８４】
符号器がマルチ・リゾルーション符号化を使用しなかった場合、復号器は、そのシーケンス内のフレームを復号化する（９３０）。他方では、符号器がマルチ・リゾルーション符号化を使用した場合、復号器は、そのフレーム用の水平および／または垂直リゾルーションのスケーリング・ファクタを示すシグナルを構文解析する（９４０）。次いで、復号器は、そのフレームをそれに応じて（例えば、図５または図７を参照して上述したように）復号化する（９５０）。
【００８５】
復号化が完了した場合（９６０）、復号器は終了する。そうでない場合、復号器は次のシーケンスを復号化する。
【００８６】
Ｂ．ダウン・サンプリングおよびアップ・サンプリング
以下のセクションでは、いくつかの実装におけるアップ・サンプリングおよびダウン・サンプリングのプロセスを説明する。他の実装は、異なるアップ・サンプリング、ダウン・サンプリングまたはフィルタリング・テクニックを使用する。例えば、代替実施形態では、符号器は、非線形フィルタまたは空間的に変化するフィルタ・バンクを使用して、フレームを符号化することができる。
【００８７】
表２は、符号器および／または復号器によって、フレームのダウン・サンプリング／アップ・サンプリングのために使用される変数定義を示している。これらの定義は、ダウン・サンプリングおよびアップ・サンプリングの実施例のための擬似コードについての以下の説明で使用される。
【００８８】
表２：いくつかの実装におけるダウン・サンプリング／アップ・サンプリングのための変数定義  
Ｎｕ＝アップ・サンプリングされた（最大リゾルーション）ライン内のサンプルの数  
Ｎｄ＝ダウン・サンプリングされた（半リゾルーション）ライン内のサンプルの数  
Ｘｕ［ｎ］＝位置ｎでアップ・サンプリングされたサンプル値、ただしｎ＝０，１，２…Ｎｕ−１  
Ｘｄ［ｎ］＝位置ｎでダウン・サンプリングされたサンプル値、ただしｎ＝０，１，２…Ｎｄ−１  
【００８９】
「ライン」という用語は、Ｙ、ＣｒまたはＣｂのコンポーネント平面における水平−行または垂直−列におけるサンプル群を指す。以下の実施例では、アップ・サンプリングおよびダウン・サンプリング・オペレーションが行および列の両方について等しく、したがって、１次元のラインのサンプルを使用して例示される。垂直および水平のアップ・サンプリングまたはダウン・サンプリングが実行される場合、水平ラインが最初に再サンプリングされ、後に垂直ラインが続く。別法として、水平および垂直フィルタリングが同時にピクセルのブロック上で、異なるフィルタを使用して実施される。
【００９０】
表３は、ルミナンス線の再サンプリングのための擬似コードを示し、表４は、クロミナンス・ラインの再サンプリングのための擬似コードを示している。
【００９１】
表３：いくつかの実装におけるルミナンス線の再サンプリングのための擬似コード  
Nd=Nu/2（ただし、Ｎｕは最大リゾルーションのルミナンス・ラインにおけるサンプルの数）  
if((Nd & 15)!=0)  
Nd=Nd+16-(Nd & 15)  
【００９２】
表４：いくつかの実施態様におけるクロミナンス線の再サンプリングのための擬似コード  
Nd=Nu/2（ただし、Ｎｕは最大リゾルーションのクロミナンス・ラインにおけるサンプルの数）  
if((Nd & 7)!=0)  
Nd=Nd+8-(Nd & 7)
【００９３】
再サンプリングは、ダウン・サンプリングされたラインについてのサンプルの数を設定する。次いで、（４：２：０または類似のマクロブロックにより動作する符号器では）再サンプリングがラインにおけるサンプルの数を調整し、このラインがルミナンス・ライン用のマクロブロックの倍数（すなわち、１６の倍数）、またはクロミナンス・ライン用のブロックの倍数（すなわち、８の倍数）であるように、する。
【００９４】
１．ダウン・サンプリング・フィルタ
ラインのダウン・サンプリングは、表５の擬似コードに従って出力を生成する。
【００９５】
表５：いくつかの実装におけるラインのダウン・サンプリングのための擬似コード
if (Nd!=(Nu/2))  
{  
for (i=Nu;i<Nd*2;i++)  
xu[i]=xu[Nu-1]  
}  
downsamplefilter_line(xu[])  
for (i=0;i<Nd;i++)  
xd[i]=xu[i*2]  
ｄｏｗｎｓａｍｐｌｅ＿ｆｉｌｔｅｒｌｉｎｅ（）において使用される６タップ・フィルタのためのコードを、図１０に示す。
【００９６】
図１０では、イメージが水平方向においてフィルタリングされるとき、ＲＮＤ＿ＤＯＷＮが値６４に設定され、イメージが垂直方向においてフィルタリングされるとき、値６３に設定される。
【００９７】
２．アップ・サンプリング・フィルタ
ラインのアップ・サンプリングは、表６の擬似コードに従って出力を生成する。
【００９８】
表６：いくつかの実装におけるラインのアップ・サンプリングのための擬似コード
for (i=0;i<Nu;i++)  
{  
xu[i]=xd[i*2]  
xu[i+1]=0  
}  
upsamplefilter_line(xu[])  
【００９９】
ｕｐｓａｍｐｌｅ＿ｆｉｌｔｅｒｌｉｎｅ（）において使用される１０タップ・フィルタのためのコード例を、図１１に示す。図１１では、イメージが水平方向においてフィルタリングされるとき、ＲＮＤ＿ＵＰが１５に設定され、イメージが垂直方向においてフィルタリングされるとき、１６に設定される。
【０１００】
他のフィルタのペアも再サンプリングのために使用することができる。フィルタのペアを、ビデオのコンテンツおよび／または目標ビットレートに調整することができる。符号器は、フィルタの選択を副情報として復号器に送信することができる。
【０１０１】
Ｃ．新しいフレーム・ディメンションの計算
表７の擬似コードは、符号器が、ダウン・サンプリングされたフレームのための新しいフレーム・ディメンション（dimensions：大きさ、寸法）を計算する方法を例示している。
【０１０２】
表７：ダウン・サンプリング後に新しいフレーム・ディメンションを計算するための擬似コード  
Ｘ＝水平ディメンション、元のリゾルーションにおけるサンプルの数  
Ｙ＝垂直ディメンション、元のリゾルーションにおけるサンプルの数  
ｘ＝新しい水平リゾルーション  
ｙ＝新しい垂直リゾルーション  
ｈｓｃａｌｅ＝水平スケーリング・ファクタ（０＝最大リゾルーション、１＝半リゾルーション）  
ｖｓｃａｌｅ＝垂直スケーリング・ファクタ（０＝最大リゾルーション、１＝半リゾルーション）  
x=X  
y=Y  
if (hscale==1)  
{  
x=X/2  
if ((x & 15)!=0)  
x=x+16-(x & 15)  
}  
if (vscale==1)  
{  
y=Y/2  
if ((y & 15)!=0)  
y=y+16-(y & 15)  
}  
【０１０３】
表７に示すテクニックを使用した実装では、符号器が新しいフレーム・ディメンションを計算し、これは、元の・ディメンションを２のファクタでダウン・サンプリングすること、および次いで、新しい・ディメンションがマクロブロック・サイズの整数の倍数（１６の倍数）であるように、端数を切り上げる。クロミナンス・ラインについて、符号器は、ディメンションを、ブロック・サイズの整数の倍数（８の倍数）となるように切り上げる。新しいディメンションの切り上げにより、ダウン・サンプリングされたフレームを、４：２：０または類似のマクロブロック・フォーマットを使用するビデオ符号器／復号器によって、符号化することができる。
【０１０４】
Ｄ．他に取りうる方法（alternatives）
上述の様々な選択肢（alternatives）と共に、あるいはこれらに加えて、符号器および復号器は以下のように動作することができる。
【０１０５】
マルチ・リゾルーション・フレームワークを、個々のフレームまたは一連のフレームについてのいくつかのレベルのダウン・サンプリングに拡張することができる。いくつかのレベルのダウン・サンプリングを使用することにより、符号器が高リゾルーション・フレームを比較的低いビットレートで符号化するとき、再構築されたフレームの品質を改善することができる。
【０１０６】
符号器は、元のリゾルーションに関係したリゾルーションを２のファクタで調整することによって達成されるリゾルーション以外のリゾルーションにフレームを再サンプリングするマルチレート・フィルタリング・テクニックを使用することができる。例えば、分数比サンプリング（fractional-rate sampling）は、複雑さが増すという代償を払って、より順調なトレードオフを、高い周波数の細部の保持とブロッキング・アーティファクトの低減との間で提供することができる。
【０１０７】
符号器は、異なるレベルの再サンプリングをフレームの異なる部分に適用することができる。例えば、符号器は、フレームのうち高い周波数コンテンツがほとんどない領域を、ダウン・サンプリングされたリゾルーションで符号化することができると同時に、符号器は、フレームのうち強い高い周波数コンテンツを有するエリアを元のリゾルーションで符号化することができる。さらに、符号器は異なるフィルタを、フレームの異なる部分を再サンプリングするために、あるいは垂直および水平再サンプリングのために適用することができる。符号器はシグナリングを使用して、異なる再サンプリングレベル、および／または、フレームの異なる部分を再サンプリングするために使用された異なるフィルタを示すことができる。
【０１０８】
本発明の原理を、様々な上述の実施形態を参照して説明し、例示したが、上述の実施形態を構成および詳細において、このような原理から逸脱することなく修正できることは理解されよう。本明細書で説明したプログラム、プロセスまたは方法は、特に断らない限り、いかなる特定のタイプのコンピューティング環境にも関係せず、あるいは限定されないことを理解されたい。様々なタイプの汎用または専用コンピューティング環境は、本明細書で説明した教示によるオペレーションと共に使用することができ、あるいはこれを実行することができる。ソフトウェアにおいて示した上述の実施形態の要素をハードウェアに実装することができ、その逆も可能である。
【０１０９】
本発明の原理を適用することができる多数の可能な実施形態に鑑みて、本発明として、付属の特許請求の範囲およびその同等物の範囲および趣旨内に入る可能性のあるこのようなすべての実施形態を主張する。
【図面の簡単な説明】
【０１１０】
【図１】説明する実施形態を実装することができる、適切なコンピューティング環境のブロック図である。
【図２】説明する実施形態を実装することができる、ビデオ符号器のブロック図である。
【図３】説明する実施形態を実装することができる、ビデオ復号器のブロック図である。
【図４】フレームのマルチ・リゾルーション符号化のための汎用化されたテクニックを示す流れ図である。
【図５】フレームのマルチ・リゾルーション復号化のための汎用化されたテクニックを示す流れ図である。
【図６】イントラ・フレームおよび予測フレームのマルチ・リゾルーション符号化のためのテクニックを示す流れ図である。
【図７】イントラ・フレームおよび予測フレームのマルチ・リゾルーション復号化のためのテクニックを示す流れ図である。
【図８】フレームのシーケンスをマルチ・リゾルーション符号化により符号化するとき、シグナルを送信するためのテクニックを示す流れ図である。
【図９】符号化されたフレームのシーケンスをマルチ・リゾルーション復号化により復号化するとき、シグナルを受信および解釈するためのテクニックを示す流れ図である。
【図１０】一実装例におけるダウン・サンプリング・フィルタのための擬似コードリストの図である。
【図１１】一実装例におけるアップ・サンプリング・フィルタのための擬似コードリストの図である。
【符号の説明】
【０１１１】
２００  符号器
２０５  カレント・フレーム
２１０  リゾルーション変換器
２１５  マルチ・リゾルーション・パラメータ
２２５  参照フレーム
２３０  リゾルーション変換器
２４０  他の符号器モジュール
２４５  動きベクトル、残差など
３００  復号器
３０５  カレント・フレーム
３１０  リゾルーション変換器
３１５  マルチ・リゾルーション・パラメータ、復号化されたフレーム
３２５  参照フレーム
３３０  リゾルーション変換器
３４０  他の復号器モジュール
３４５  動きベクトル、残差など
【図１】
2004266794.tif 000004
【図２】
2004266794.tif 000005
【図３】
2004266794.tif 000006
【図４】
2004266794.tif 000007
【図５】
2004266794.tif 000008
【図６】
2004266794.tif 000009
【図７】
2004266794.tif 000010
【図８】
2004266794.tif 000011
【図９】
2004266794.tif 000012
【図１０】
2004266794.tif 000013
【図１１】
2004266794.tif 000014
【外国語明細書】
2004266794.tif 000015
2004266794.tif 000016
2004266794.tif 000017
2004266794.tif 000018
2004266794.tif 000019
2004266794.tif 000020
2004266794.tif 000021
2004266794.tif 000022
2004266794.tif 000023
2004266794.tif 000024
2004266794.tif 000025
2004266794.tif 000026
2004266794.tif 000027
2004266794.tif 000028
2004266794.tif 000029
2004266794.tif 000030
2004266794.tif 000031
2004266794.tif 000032
2004266794.tif 000033
2004266794.tif 000034
2004266794.tif 000035
2004266794.tif 000036
2004266794.tif 000037
2004266794.tif 000038
2004266794.tif 000039
2004266794.tif 000040
2004266794.tif 000041
2004266794.tif 000042
2004266794.tif 000043
2004266794.tif 000044
2004266794.tif 000045
2004266794.tif 000046
2004266794.tif 000047
2004266794.tif 000048
2004266794.tif 000049
2004266794.tif 000050
2004266794.tif 000051
2004266794.tif 000052
2004266794.tif 000053
2004266794.tif 000054
2004266794.tif 000055
2004266794.tif 000056
2004266794.tif 000057
2004266794.tif 000058
2004266794.tif 000059
2004266794.tif 000060