(57)【要約】      （修正有）【課題】データフレームのシーケンスの効率的な符号化／復号を提供する。【解決手段】予測データ及び入力データの変換を最初に実行した後、それらの結果の出力の減算を実行することによって、データを符号化する。（入力データにおけるエレメントの数と比較して、）異なる値をもつエレメントがより少ない数だけ生成され、且つ、それら異なる値が予測可能位置に生成されるように、予測方法を選択する。変換方法については、出力が、入力データにおける変動を明確に表し、且つ、分配法則が満たされるように、選択する。復号は、同じコンセプトに基づいて実行することができる。【選択図】図３
2008306711.tif 000002
【特許請求の範囲】
【請求項１】
データフレームのシーケンスを符号化する符号化器であって、
前記データフレームのシーケンスに含まれる第１のデータフレームを受け取り、変換方法に従って変換フレームを生成する第１の変換ブロックと、
前記第１のデータフレームに対応する予測フレームを、前記第１のデータフレームより前の前記シーケンス中のデータフレームから、予測方法を使用して生成する予測ブロックと、
前記予測フレームを前記変換方法に従って処理することによって、変換予測データを生成する第２の変換ブロックと、
前記変換予測データと前記変換フレームとの差分を発生して差分データを生成する減算器ブロックと、
前記差分データを量子化して、前記第１のデータフレームに対応する量子化データを生成する量子化ブロックと、
を備える符号化器。
【請求項２】
前記変換方法が分配法則を満たしている、請求項１に記載の符号化器。
【請求項３】
前記予測方法は、前記第１のデータフレームにおけるエレメントの数と比較して、異なる値をもつエレメントがより少ない数だけ生成され、且つ、前記異なる値が予測可能位置において生成されるように、設計されており、
前記変換方法は、出力が入力データにおける変動を明確に表すように、選択されている、
請求項２に記載の符号化器。
【請求項４】
前記予測方法が平均方法（ｍｅａｎ  ａｐｐｒｏａｃｈ）であり、前記減算器ブロックが１回の減算のみを実行して前記差分データを生成する、請求項３に記載の符号化器。
【請求項５】
前記予測方法が水平予測又は垂直予測の何れか一方であり、前記第１の変換ブロックが前記第１のデータフレームの変換を一次元で実行し、前記次元が前記予測の方向に沿っており、
前記減算器ブロックによって生成される出力の変換を別の次元において実行する第３の変換ブロックを更に備えており、
前記第３の変換ブロックの出力が、前記量子化ブロックへの入力として提供される、請求項４に記載の符号化器。
【請求項６】
前記データフレームのそれぞれが、対応するビデオフレームのブロックを構成する、請求項４に記載の符号化器。
【請求項７】
前記変換が、前記予測データに、単一の数値を表すスケールファクターを乗じることによって、前記予測データを変換する、請求項２に記載の符号化器。
【請求項８】
符号化データフレームのシーケンスを復号する復号器であって、
前記符号化データフレームのシーケンスに含まれる第１の符号化データフレームにおけるデジタル値に対応する複数のスケールリングされた値を生成する逆量子化ブロックと、
前記第１の符号化データフレームに対応する予測フレームを、前記第１の符号化データフレームより前の前記シーケンス中のデータフレームから、予測方法を使用して生成する予測ブロックと、
前記予測フレームを変換方法に従って変換して、変換フレームを生成する変換ブロックと、
前記変換フレームの値それぞれと前記複数のスケールリングされた値とを加算して、加算フレームを生成する加算器と、
前記加算フレームに対して前記変換方法の逆の変換を実行して、前記第１の符号化データフレームに対応する復号フレームを生成する第１の逆変換ブロックと、
を備える復号器。
【請求項９】
前記逆量子化ブロックと前記加算器との間に位置しており、且つ、前記複数のスケーリングされた値の部分的な逆変換を実行して、部分的変換フレームを生成する第２の逆変換ブロックを更に備えており、
前記加算器が、部分的に変換された形式の前記複数のスケールリングされた値を加算し、
前記第１の逆変換ブロックが、前記部分的な逆変換を完了させる、
請求項８に記載の復号器。
【請求項１０】
前記変換方法が分配法則を満たしている、請求項８に記載の復号器。
【請求項１１】
前記予測方法は、前記第１の符号化データフレームにおけるエレメントの数と比較して、異なる値をもつエレメントがより少ない数だけ生成され、且つ、前記異なる値が予測可能位置において生成されるように、設計されており、
前記変換方法は、出力が入力データにおける変動を明確に表すように、選択されている、
請求項９に記載の復号器。
【請求項１２】
前記予測方法が平均方法であり、前記加算器が１回の加算を実行する、請求項１１に記載の復号器。
【請求項１３】
複数のデータフレームを処理する方法であって、
データフレームのシーケンスに含まれている第１のデータフレームを受け取り、変換方法に従って、変換フレームを生成するステップであって、前記データフレームのシーケンスが前記複数のデータフレームに含まれている、該ステップと、
前記第１のデータフレームに対応する予測フレームを、前記第１のデータフレームより前の前記シーケンス中のデータフレームから、予測方法を使用して生成するステップと、
前記予測フレームを、前記変換方法に従って処理することによって、変換予測データを生成するステップと、
前記変換予測データと前記変換フレームとの差分を発生して差分データを生成するステップと、
前記差分データを量子化して、前記第１のデータフレームに対応する量子化データを生成するステップと、
を含む、方法。
【請求項１４】
前記変換方法が分配法則を満たしている、請求項１３に記載の方法。
【請求項１５】
前記予測方法は、前記第１のデータフレームにおけるエレメントの数と比較して、異なる値をもつエレメントがより少ない数だけ生成され、且つ、前記異なる値が、予測可能位置において生成されるように、設計されており、
前記変換方法は、出力が入力データにおける変動を明確に表すように、選択されている、
請求項１４に記載の方法。
【請求項１６】
前記予測方法が水平予測又は垂直予測の何れか一方であり、前記第１のデータフレームが最初に一次元で変換され、前記次元が前記予測の方向に沿っており、
前記差分データの変換を別の次元において実行するステップを更に含む、
請求項１３に記載の方法。
【請求項１７】
第２のデータフレームを符号化形式で受け取るステップであって、該第２のデータフレームが、前記複数のデータフレームに含まれている第２のフレームシーケンスに含まれている、該ステップと、
前記第２のデータフレームにおけるデジタル値に対応する複数のスケーリングされた値、を生成するステップと、
前記第２のデータフレームに対応する第２の予測フレームを、前記第２のデータフレームより前の前記第２のフレームシーケンス中のデータフレームから、第２の予測方法を使用して生成するステップと、
前記第２の予測データを、前記変換方法に従って処理することによって、変換された第２の予測データを生成するステップと、
前記変換された第２のフレームの値それぞれと前記複数のスケールリングされた値とを加算して、加算フレームを生成するステップと、
前記加算フレームに対して前記変換方法の逆の変換を実行して、符号化された前記第２のデータフレームに対応する復号フレームを生成するステップと、
を更に含む、請求項１３に記載の方法。
【請求項１８】
システムに複数のデータフレームを処理させるための一つ以上の命令シーケンスを保持する機械可読媒体であって、前記一つ以上の命令シーケンスが前記システムに含まれている一つ以上のプロセッサによって実行されることによって、該システムが、
データフレームのシーケンスに含まれている第１のデータフレームを受け取り、変換方法に従って、変換フレームを生成する動作であって、該データフレームのシーケンスが前記複数のデータフレームに含まれている、該動作と、
前記第１のデータフレームに対応する予測フレームを、前記第１のデータフレームより前の前記シーケンス中のデータフレームから、予測方法を使用して生成する動作と、
前記予測フレームを前記変換方法に従って処理することによって、変換予測データを生成する動作と、
前記変換予測データと前記変換フレームとの差分を発生して差分データを生成する動作と、
前記差分データを量子化して、前記第１のデータフレームに対応する量子化データを生成する動作と、
を実行する、
機械可読媒体。
【請求項１９】
前記変換方法が分配法則を満たしている、請求項１８に記載の機械可読媒体。
【請求項２０】
第２のデータフレームを符号化形式で受け取る動作であって、該第２のデータフレームが、前記複数のデータフレームに含まれている第２のフレームシーケンスに含まれている、該動作と、
前記第２のデータフレームにおけるデジタル値に対応する複数のスケールリングされた値、を生成する動作と、
前記第２のデータフレームに対応する第２の予測フレームを、前記第２のデータフレームより前の前記第２のシーケンス中のデータフレームから、第２の予測方法を使用して生成する動作と、
前記第２の予測フレームを前記変換方法に従って処理することによって、変換された第２の予測データを生成する動作と、
前記変換された第２の予測データの値それぞれと前記複数のスケールリングされた値とを加算して、加算フレームを生成する動作と、
前記加算フレームに対して前記変換方法の逆の変換を実行して、符号化されている前記第２のデータフレームに対応する復号フレームを生成する動作と、
を更に含む、請求項１９に記載の機械可読媒体。
【発明の詳細な説明】
【発明の分野】
【０００１】
[002]本発明は、広く、デジタル信号の処理に関するものであり、より詳細には、データフレームのシーケンスの効率的な符号化／復号に関するものである。
【関連技術】
【０００２】
[004]符号化は、一般的には、デジタル値をある手法（符号化手法）に従って変換し、符号化データを許容誤差レベルの範囲内で元のデジタル値に再変換することができるようにすることを意味する。元の値への再変換は復号と呼ばれている。
【０００３】
[005]データフレームシーケンスが存在する状況は幾つかある。一般的には、各データフレームは、複数の値を含んでいる。例えば、ビデオフレームシーケンスは、目的のシーンの画像をキャプチャしつつ、生成される。各ビデオフレームは、複数のピクセル値（各ピクセル値が、キャプチャした画像の点／部分を表している）を含んでいるものとみなされる。
【０００４】
[006]このようなデータフレームは、しばしば、符号化され、その後に復号される。一般的に、符号化は、データを圧縮形式で表すために実行され、復号は、元のデータを再び復元するために実行される。圧縮形式で表現することにより、要求される記憶空間が減少すること、送信要件が減少することといった利点をもたらすことができる。
【０００５】
[007]このような符号化及び／又は復号を、演算処理（ｃｏｍｐｕｔａｔｉｏｎｓ）、メモリ、電力等のリソースのうちの一つ以上を減少させつつ実行するニーズが存在している。
【詳細な説明】
【０００６】
[008]以下、例示の実施形態について、添付の図面を参照しながら説明する。
【０００７】
[0020]図面においては、同様の参照数字によって、通常、同一の要素、機能的に類似する要素、及び／又は、構造的に類似する要素を指し示している。また、要素が最初に現れる図面を、対応の参照数字の左端の（一つ以上の）数字によって指し示している。
【０００８】
[0021]１．概要
【０００９】
[0022]本発明の一態様においては、フレームシーケンスの各フレームにおけるデジタル値の変換を実行し、予測データに同じ変換を適用し、二つの変換の結果の差分をとる。
【００１０】
[0023]一実施形態においては、異なる値をもつエレメントがより少ない数だけ生成され、且つ、それら異なる値が予測可能位置に生成されるように、予測方法を選択する。変換方法については、出力が、入力データにおける変動を明確に表し、且つ、分配法則（ｄｉｓｔｒｉｂｕｔｉｖｅ  ｐｒｏｐｅｒｔｙ）、すなわち、Ｔ（Ａ＋Ｂ）＝Ｔ（Ａ）＋Ｔ（Ｂ）が満たされるように、選択する。なお、Ｔは変換演算を表しており、Ａ及びＢはそれぞれの入力データセットを表している。
【００１１】
[0024]結果として、データを効率的に符号化することができる。復号も、類似する原理（但し、変換方法とは逆の変換を使用する）に基づくことができる。一実施形態においては、これら手法を使用して、（一般的なコードにおいて）ビデオフレームのシーケンスを符号化及び復号する。
【００１２】
[0025]以下、本発明の幾つかの態様について、説明のための例を参照しつつ説明する。なお、多数の具体的な細部、関係、及び方法は、本発明を完全に理解することを可能とするために記載したものであることを理解されたい。しかしながら、関連する技術分野の当業者には、これら具体的な細部の一つ以上を使用せずに、即ち、別の方法を使用して、本発明を実施することができることが容易に認識されるであろう。更に、周知の構造又は動作については、本発明の特徴が曖昧になることを避けるため、詳細には記載していない。
【００１３】
[0026]２．例示の環境
【００１４】
[0027]図１は、本発明の幾つかの特徴を実施し得る例示の環境を示す図である。この図に示した例示の環境は、説明用の代表的なシステムのみを含んでいる。しかしながら、関連する技術分野の当業者には明らかであるように、実世界の環境は、より多くのシステム／コンポーネントを含み得る。そのような環境における実施形態も、本発明の様々な態様の範囲及び概念に含まれるものとみなされる。
【００１５】
[0028]図示したブロック図には、テレビ会議アプリケーションにおいて互いに通信するように設計／構成されたエンドシステム１４０Ａ及び１４０Ｎが含まれている。図示したエンドシステム１４０Ａは、処理ユニット１１０Ａ、ビデオカメラ１２０Ａ、及び表示ユニット１３０Ａを含んでおり、図示したエンドシステム１４０Ｎは、処理ユニット１１０Ｎ、ビデオカメラ１２０Ｎ、及び表示ユニット１３０Ｎを含んでいる。
【００１６】
[0029]エンドシステム１４０Ａ〜１４０Ｎは、本発明の幾つかの態様に従って実施されている例示のシステムを表している。処理ユニット１１０Ｎ、ビデオカメラ１２０Ｎ、及び表示ユニット１３０Ｎはそれぞれ、エンドシステム１４０Ａの対応するコンポーネントに類似した動作を行うので、簡潔さのため説明を繰り返さない。以下、エンドシステム１４０Ａのコンポーネントのそれぞれについて詳しく説明する。
【００１７】
[0030]ビデオカメラ１２０Ａは、シーンの画像をキャプチャし、キャプチャした画像を（対応するビデオフレームの形式にて）経路１２１を通じて処理ユニット１１０Ａに転送する。各ビデオフレームは、複数のピクセルエレメント（デジタル値）によって表すことができ、各ピクセルエレメントは、キャプチャした画像の点／部分の色値を有し得る。
【００１８】
[0031]処理ユニット１１０Ａは、これらピクセルエレメントを符号化し、符号化データを生成する。符号化されたデータは、転送経路１１５を通じて送信される。処理ユニット１１０Ａは、エンドシステム１４０Ｎからの符号化データを、同様に転送経路１１５を通じて受信することができる。処理ユニット１１０Ａは、受信したデータを復号し、表示ユニット１３０Ａ上での表示のために復号フレームを送出する。
【００１９】
[0032]このように、処理ユニット１１０Ａ及び１１０Ｎの何れも、データの符号化及び復号の双方を実行することが必要なことがある。以下の説明では、単に説明を容易にする目的で、処理ユニット１１０Ａがデータを符号化し、処理ユニット１１０Ｎがデータを復号するものと想定する。
【００２０】
[0033]符号化演算及び復号演算を行う上での処理ユニットにおける様々なリソース要件（ｒｅｓｏｕｒｃｅ  ｒｅｑｕｉｒｅｍｅｎｔ）を低減することが望ましいことが理解されるであろう。本発明の幾つかの態様は、そのような目的を、後に例を通じて更に詳しく説明するように、満たすことができる。
【００２１】
[0034]本発明の特徴は、ビデオフレームシーケンスを処理する従来の方法と比較することで、理解することができる。従って、そのような従来の方法について最初に説明する。
【００２２】
[0035]３．従来の符号化／復号方法の例
【００２３】
[0036]図２Ａは、従来の符号化方法を示すブロック図であり、図２Ｂは、対応する復号方法を示している。図２Ａには、画像ソース２１０と、誤差ブロック２２０と、予測ブロック２３０と、変換ブロック２４０と、量子化ブロック２５０とが含まれている。以下、各ブロックについて更に詳しく説明する。
【００２４】
[0037]画像ソース２１０は、画像フレームのストリームを生成するブロックであり、各画像フレームは、対応するピクセル値のセットによって表される。各画像フレームは、その全体を提供することができ、又は、マクロブロックとして提供することができる。各マクロブロックは、画像フレームの一部分を表している。各マクロブロックをマイクロブロック（４×４ピクセル又は８×８ピクセル）に更に分割して提供し、処理することができる。一実施形態においては、各マクロブロックを、１６×１６ピクセル（即ち、水平方向に１６個のピクセル、垂直方向に１６個のピクセル）として提供する。このように提供される各マクロブロック、各マイクロブロック、又は各画像フレームを、以下では原則として原画像ブロックと称し、符号化対象のデータフレームの例とする。
【００２５】
[0038]予測ブロック２３０は、予め指定された方法（例えば、水平方向、垂直方向、平均等のイントラ予測モード）に従って、各原画像ブロックに対する予測画像ブロックを予測する。一実施形態では、予測ブロック２３０は、再構成されたフレームを、経路２３１を通じて受け取り、当該再構成されたフレームにおけるデータを使用して予測する。再構成は、公知の方法によって、例えば、後述するＨ．２６４規格に記載されている方法によって、実行することができる。予測は、イントラ予測又はインター予測等の方法、或いは関連する技術分野において周知のその他の予測方法を使用して、実行することができる。予測画像ブロックを表すピクセル値は、経路２３２を通じて提供される。
【００２６】
[0039]誤差ブロック２２０は、原画像ブロックと予測画像ブロックそれぞれの対応するピクセル値を減算する。差分を表す行列（差分ブロック）は、経路２２４を通じて提供される。差分ブロックは、原画像ブロックにおけるエレメントと同じ数のエレメントを含み得る。
【００２７】
[0040]変換ブロック２４０は、差分ブロックを変換して、圧縮ブロックとする。一般的に、この変換は、圧縮ブロックを、差分ブロック（及び原画像ブロック）におけるビット数と比較して、より少ない数のビットによって表すことができるように、設計されている。
【００２８】
[0041]この変換は、差分ブロックのエレメントに対して数学演算を実行することによって得ることができる。一実施形態においては、変換は、離散コサイン変換（ＤＣＴ）又は整数ＤＣＴ（いずれも、上述した分配法則が成り立つ）に相当する。更に、この技術分野において周知であるように、この変換として、ＤＣＴ又は整数ＤＣＴの後にアダマール変換を行うことができる。例えば、１６×１６ブロックを１６個の４×４ブロックに分割することができ、４×４ブロックのそれぞれにＤＣＴを適用することができる。４×４ブロックそれぞれのＤＣ係数を集めて、４×４のＤＣ係数ブロックを形成し、このブロックを、アダマール変換手法を使用して変換する。
【００２９】
[0042]量子化ブロック２５０は、圧縮ブロック（の個々のエレメント）を更にデジタル化（量子化）して、圧縮ブロックのエレメントを望ましい数のビットによって表す。上述した圧縮によって、各エレメントを表すために必要なビットがより少なくなり、また、量子化がこのような特性を活用していることが理解されるであろう。
【００３０】
[0043]図２Ｂは、対応する従来の復号ロジックのコンポーネントを示している。ブロック２６０、ブロック２７０、及びブロック２８０はそれぞれ、関連する技術分野において周知であるように、ブロック２５０、ブロック２４０、及びブロック２２０の方法の逆の動作を行うが、簡潔さのため説明を繰り返さない。経路２６１を通じて受け取ったデータが所望の精度レベルにて復元されると、復元したデータは、経路２８９を通じて、画像表示ブロック２９０による表示のために、送出される。
【００３１】
[0044]上の説明から、データフレームのシーケンスを符号化及び復号するためには様々なリソースが要求されることが理解されるであろう。以下に説明する本発明の様々な態様は、上述した従来の方法と比較して、演算処理、メモリ、及びその他のリソース要件（例えば、電力消費量）を減少させる。
【００３２】
[0045]４．効率的な符号化方法
【００３３】
[0046]図３は、本発明の一実施形態における符号化器の実施形態を示すブロック図である。図示した符号化器は、変換ブロック３１０，３３０と、減算ブロック３２０と、予測ブロック３４０と、量子化ブロック３５０と、を含んでいる。以下、各ブロックについて更に詳しく説明する。
【００３４】
[0047]変換ブロック３１０は、原画像ブロック（例えば、上述したビデオフレームの１６×１６ブロック、８×８ブロック、又は４×４ブロック）のデジタル値を、経路１２１を通じて受け取り、変換方法に従って変換を実行する。一実施形態における変換は、次のように表すことができる。
Ｗ＝Ｉｎｔｅｇｅｒ＿ＤＣＴ（Ｘ）        （式０）
[0049]この式において、Ｗは変換後の出力を表しており、Ｘは原画像ブロックを表している。
【００３５】
[0050]変換ブロック３３０は、経路１２１を通じて受け取った同じ（現在の）原画像ブロックに対する予測画像ブロックを受け取り、同じ変換を実行する。この変換方法は、上述した分配法則が成り立つように設計されている。
【００３６】
[0051]減算ブロック３２０は、経路３１２及び経路３３２を通じて受け取った対応のデータ値を減算し、その結果を、経路３２５を通じて提供する。量子化ブロック３５０は、経路３２５を通じて受けとったデータを量子化する。
【００３７】
[0052]予測ブロック３４０は、原画像ブロックに対応する予測画像ブロックを、先に再構成された画像ブロックに基づいて生成する。このような予測には、様々な周知の方法を使用することができる。しかしながら、後に例を挙げて説明するように、異なる値の数が最小になるように予測方法を選択することによって、リソース要件を低減することができる。
【００３８】
[0053]５．平均／ＤＣ予測モード
【００３９】
[0054]図４Ａは、一実施形態における平均予測モードを示している。参照符号４１０のピクセル値Ａ〜Ｈ、Ｍ、及びＩ〜Ｌが、先に再構成された画像ブロックから利用可能であるものと想定する。これらの値は、現在の反復において処理しようとしている４×４ピクセルブロックに隣接する位置に対応するものとする。予測ブロック３４０は、以下の方式に従って、予測画像ブロックを生成する。予測ブロック３４０は、次式に従って一つの値（Ｚ）を計算する。
Ｚ＝ｍｅａｎ（Ａ〜Ｄ及びＩ〜Ｌ）        （式１Ａ）
【００４０】
[0056]結果として、（１６個の値を計算してエントリを格納するのではなく）一つの値を生成して格納することができる。
【００４１】
[0057]リソース要件が減少することを理解するため、ここで、変換ブロック３１０及び３３０における変換方法として、整数離散コサイン変換（ＤＣＴ）を使用するものと想定する。ＤＣＴについては、書籍「Ｈ．２６４及びＭＰＥＧ−４のビデオ圧縮（Ｈ．２６４  ａｎｄ  ＭＰＥＧ−４  Ｖｉｄｅｏ  Ｃｏｍｐｒｅｓｓｉｏｎ）」（Ｉａｎ  Ｒｉｃｈａｒｄｓｏｎ、Ｊｏｈｎ  Ｗｉｌｅｙ  ＆  Ｓｏｎｓ、２００３年９月）、及び文書「ＩＴＵ−Ｔ  シリーズＨ：オーディオビジュアルシステム及びマルチメディアシステム  −  一般的なオーディオビジュアルサービスのための高度なビデオ符号化（ＩＴＵ−Ｔ，  Ｓｅｒｉｅｓ  Ｈ：  ＡＵＤＩＯＶＩＳＵＡＬ  ＡＮＤ  ＭＵＬＴＩＭＥＤＩＡ  ＳＹＳＴＥＭＳ  −  Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ）」（２００５年３月）に、更に詳しく説明されている。
【００４２】
[0058]周知のように、ＤＣＴの出力データは、入力データにおける変動を明確に表す。予測画像データが少数の異なる値（予測値）を有するように設計されているので、各予測値にスケールファクター（ｓｃａｌｅ  ｆａｃｔｏｒ）を乗じることによって、予測画像ブロックに対するＤＣＴ変換が求められる。例えば、参照符号４２０の４×４データのＤＣＴを、第１の位置（０，０）では（Ｚ＊１６）として表すことができ、残りの位置を０に設定することができる。ここで、Ｚは、平均予測の場合の予測値を表しており、１６はスケールファクターである。別の予測モードの場合のスケールファクターについては、後に記載する。
【００４３】
[0059]ＤＣＴでは、上述した分配法則も成り立つ。従って、第１の位置における値は次のように表すことができる。
変換後の予測行列［０，０］＝ＤＣ＿Ｐｒｅｄｉｃｔｉｏｎ＿Ｖａｌｕｅ＊Ｓｃａｌｅ＿ｆａｃｔｏｒ１        （式１Ｂ）
[0061]この式において、Ｓｃａｌｅ＿ｆａｃｔｏｒ１は、（規格による）ブロックサイズに基づいて決定される定数を表している。また、Ｓｃａｌｅ＿ｆａｃｔｏｒ１は、変換、及び符号化規格に基づいていてもよい。
【００４４】
[0062]従って、変換ブロック３３０は、変換後の予測行列における［０，０］位置をインデックスとする（ｉｎｄｅｘｅｄ  ａｔ  ［０，０］）一つのエレメントを計算する。変換後の予測行列を式１Ｂに従って計算し、ＤＣ＿Ｐｒｅｄｉｃｔｉｏｎ＿ＶａｌｕｅをＺに設定する。値Ｚは、予測ブロック３４０によって提供される。
【００４５】
[0063]従って、減算ブロック３２０は、経路３１２及び経路３３２を通じて受け取ったデータの（０，０）位置に対応する一つの減算を実行するのみでよい。更に、減算する値（経路３３２上）を一つの数として表すことができ、これによって、メモリ要件を低減させることができる。更には、予測ブロック３４０は、隣接するピクセル（Ａ〜Ｄ及びＩ〜Ｌ）の平均を計算するのみでよい（この計算は本方法を使用しない場合にも要求されうる）。更には、変換ブロック３３０は、隣接するピクセル（Ａ〜Ｄ及びＩ〜Ｌ）の平均の計算値にＳｃａｌｅ＿ｆａｃｔｏｒ１を乗じるのみでよい。減算器の演算は、一般的には次のように表すことができる。
Ｔｒｅｓ＿Ｂｌｏｃｋ［０］［０］＝Ｏ［０］［０］−ＤＣ＿Ｐｒｅｄｉｃｔｉｏｎ＿Ｖａｌｕｅ＊Ｓｃａｌｅ＿ｆａｃｔｏｒ１        （式１Ｃ）
[0065]この式において、Ｏは、経路３１２を通じて受け取る変換された原ブロックを表している。
【００４６】
[0066]従って、図２と比較すると、減算ブロック（誤差ブロック）３２０は、減算器２２０が１６回の減算を実行する必要がある（４×４ブロックを想定する）一方、僅か１回の減算を実行するのみでよく、従って、演算処理／電力の要件が減少する。更に、予測情報は一つの値として表されているため、メモリ要件も低減させることができる。
【００４７】
[0067]なお、別の予測方法を使用することもでき、その場合、リソース要件の低減の恩恵を完全に得るためには、後に別の例を通じて説明するように、上の実施形態を適合させる必要がある。
【００４８】
[0068]以下に説明する実施形態においては、行列（２次元データ）のＤＣＴを、行のＤＣＴ（水平ＤＣＴ）と、その後の列のＤＣＴ（垂直ＤＣＴ）とに分けることができるという考察に基づいて、水平予測又は垂直予測を使用する。しかしながら、ＤＣＴを、垂直ＤＣＴと、その後の水平ＤＣＴとして分けることも可能である。
【００４９】
[0069]６．水平予測モード及び垂直予測モード
【００５０】
[0070]図５は、水平予測モード又は垂直予測モードの場合における符号化方法を示すブロック図である。図６は、説明を目的として垂直予測を示している。図６の参照符号６１０に示したように、ピクセルＡ〜Ｈ及びピクセルＩ〜Ｌは、上記の図４Ａの説明と同様に、先に再構成された画像ブロックからのものである。
【００５１】
[0071]図５に示した符号化器は、変換ブロック５１０，５３０，５６０と、減算ブロック５２０と、予測ブロック５４０と、量子化ブロック５５０と、を含んでいる。以下、各ブロックについて更に詳しく説明する。
【００５２】
[0072]予測ブロック５４０は、Ａ〜Ｄを四つのエレメントをもつ配列にコピーすることができる。
【００５３】
[0073]変換ブロック５３０は、予測された４×４ピクセルの各列に対して整数ＤＣＴ（又はＤＣＴ）を実行することができる。結果として、経路５３２を通じて受け取る行列の第１行は、それぞれの位置｛（０，０），（０，１），（０，２），（０，３）｝において異なる値（Ｐ，Ｑ，Ｒ，Ｓ）を有し、残りのエレメントの値は０となる。従って、変換ブロック５３０は、次のように、変換後の予測行列の第１行（すなわち、Ｐ，Ｑ，Ｒ，Ｓ）を計算するのみでよい。
【００５４】
[0074]Ｐ，Ｑ，Ｒ，Ｓは、次のように表すことができる。
Ｐ＝Ｖｅｒｔｉｃａｌ＿ＤＣ＿Ｐｒｅｄｉｃｔｉｏｎ＿Ｖａｌｕｅ［０］＊Ｓｃａｌｅ  ｆａｃｔｏｒ２        （式２）
Ｑ＝Ｖｅｒｔｉｃａｌ＿ＤＣ＿Ｐｒｅｄｉｃｔｉｏｎ＿Ｖａｌｕｅ［１］＊Ｓｃａｌｅ  ｆａｃｔｏｒ２        （式３）
Ｒ＝Ｖｅｒｔｉｃａｌ＿ＤＣ＿Ｐｒｅｄｉｃｔｉｏｎ＿Ｖａｌｕｅ［２］＊Ｓｃａｌｅ  ｆａｃｔｏｒ２        （式４）
Ｓ＝Ｖｅｒｔｉｃａｌ＿ＤＣ＿Ｐｒｅｄｉｃｔｉｏｎ＿Ｖａｌｕｅ［３］＊Ｓｃａｌｅ  ｆａｃｔｏｒ２        （式５）
[0079]これらの式において、Ｓｃａｌｅ  ｆａｃｔｏｒ２は、ブロックサイズ、変換、規格のうちの一つ以上に基づいて決定される。
【００５５】
[0080]一実施形態においては、Ｈ．２６４  ４×４イントラ垂直予測モードの場合のＳｃａｌｅ  ｆａｃｔｏｒ２の値は、４に設定される。（Ｈ．２６４規格においてサポートされる）それ以外のモードの場合のスケールファクターは、以下のとおりである。
[0081]輝度（ｌｕｍｉｎａｎｃｅ）の４×４イントラＤＣ予測（平均）モード＝１６
[0082]輝度の１６×１６イントラＤＣ予測（平均）モード＝２５６
[0083]輝度の８×８イントラＤＣ予測（平均）モード＝６４
[0084]色度（ｃｈｒｏｍｉｎａｎｃｅ）の８×８イントラＤＣ予測（平均）モード＝１６
[0085]輝度／色度の４×４／１６×１６イントラ水平／垂直予測モード＝４
[0086]輝度の８×８イントラ水平予測モード＝８
【００５６】
[0087]変換ブロック５１０も、上述したＤＣＴ方法に従って列（垂直）のみの変換（半分の変換）を実行するのみでよい。垂直変換の出力をＹと表す。
【００５７】
[0088]減算ブロック５２０は、上述したように、第１行の四つの位置に対応する僅か４回の減算を実行する。減算演算は、以下のように表すことができる。
Ｙ［０］［０］＝Ｙ［０］［０］−Ｐ        （式６）
Ｙ［０］［１］＝Ｙ［０］［１］−Ｑ        （式７）
Ｙ［０］［２］＝Ｙ［０］［２］−Ｒ        （式８）
Ｙ［０］［３］＝Ｙ［０］［３］−Ｓ        （式９）
[0093]これらの式において、Ｐ〜Ｓは、上の（式２）〜（式５）に示したように計算される。
【００５８】
[0094]変換ブロック５６０は、ＤＣＴ方法に従って水平変換を実行し、全変換を完了する。量子化ブロック５５０は、ブロック２５０等と同様に、上述したように動作することができる。
【００５９】
[0095]図２と比較すると、５１０及び５６０の二つの変換は、変換ブロック２４０において一括して実行される単一変換を表していることが理解されるであろう。変換ブロック５３０は、上の例では第１行の各値にスケールファクターである４を乗じるのみであるため、大量のリソースを必要としない。予測ブロック５４０、変換ブロック５３０、及び減算ブロック５２０の処理を結合し、ＣＰＵの一つの命令（乗算及び加算／減算を結合した演算をサポートする命令）において実行することが可能である。従って、予測ブロック５４０、変換ブロック５３０、及び減算ブロック５２０の処理に要求されるリソースを、最小限にすることができる。処理するブロックサイズが大きいと、それに応じてリソース要件もより低減する。
【００６０】
[0096]上の説明は垂直モードに関するものであるが、水平予測モードの場合にも同様の方法を使用することができる。更に、後に説明するように、本特徴は、任意のブロックサイズ及び任意のデータタイプ（輝度、色度、赤、緑、又は青）に拡張することができる。
【００６１】
[0097]７．その他の予測モード
【００６２】
[0098]上の説明はＤＣ（平均）予測モード及び垂直予測モードに関するものであるが、本方法は他のモードにも拡張することができる。例えば、特定の（第１の）方向に沿って予測値を生成する場合、変換も同じ方向に沿って実行することができる。最初に第１の方向に沿って変換を計算した後、変換後のデータのＤＣ係数（すなわちインデックス０の係数）からスケールファクター＊予測値を減じることによって、残差データ／誤差を効率的に生成することができる。
【００６３】
[0099]更に、本特徴は、任意のブロックサイズ及び任意のデータタイプ（輝度、色度、赤、緑、又は青）のイントラ予測モード、例えば、以下に詳しく説明するように、規格において許容／定義されている、輝度の１６×１６イントラモード、輝度の８×８イントラモード、輝度の４×４イントラモード、色度の８×８イントラモードに拡張することができる。
【００６４】
[00100]例えば、輝度の１６×１６平均予測モードの場合、演算処理は以下のステップを使用して実行することができる。
【００６５】
[00101]ステップ１：現在の１６×１６ブロック（符号化するブロック）を４×４サイズの１６個のブロックに分割する。
[00102]ステップ２：各４×４ブロックの２次元整数ＤＣＴを計算する。
[00103]ステップ３：各４×４ブロックのＤＣ係数を集めて、ＤＣ係数をもつ４×４配列を形成する。
[00104]ステップ４：ＤＣ係数をもつ４×４配列の２次元アダマール変換を行う。変換されたＤＣ係数をもつ４×４配列をＡＺ＿ＤＣ４と表すことができる。
[00105]ステップ５：Ｚ＿ＤＣ４（０，０）＝Ｚ＿ＤＣ４（０，０）−２５６＊Ｍｅａｎ＿Ｐｒｅｄｉｃｔｉｏｎ
この式において、２５６は、計算されたスケールファクター１を表している。
【００６６】
[00106]ステップ１〜４は、変換ブロック３１０によって実行することができ、Ｚ＿ＤＣ４（０，０）を減算ブロック３２０に提供することができる。
【００６７】
[00107]同様に、輝度の１６×１６水平予測モードの場合、演算処理は以下のように実行することができる。
【００６８】
[00108]ステップ１：現在の１６×１６ブロック（符号化するブロック）を４×４サイズの１６個のブロックに分割する。
[00109]ステップ２：４×４ブロックの行の１次元整数変換を計算する。変換後のブロックをＹと表す。
[00110]ステップ３：Ｙ（０，０）＝Ｙ（０，０）−４＊ＨｏｒｉｚｏｎｔａｌＰｒｅｄｉｃｔｉｏｎＡｒｒａｙ（０）
[00111]Ｙ（１，０）＝Ｙ（１，０）−４＊ＨｏｒｉｚｏｎｔａｌＰｒｅｄｉｃｔｉｏｎＡｒｒａｙ（１）
[00112]Ｙ（２，０）＝Ｙ（２，０）−４＊ＨｏｒｉｚｏｎｔａｌＰｒｅｄｉｃｔｉｏｎＡｒｒａｙ（２）
[00113]Ｙ（３，０）＝Ｙ（３，０）−４＊ＨｏｒｉｚｏｎｔａｌＰｒｅｄｉｃｔｉｏｎＡｒｒａｙ（３）
[00114]ステップ４：４×４ブロックの列の１次元整数変換を計算する。変換後のブロックをＺと表す。
[00115]ステップ５：各４×４ブロックのＤＣ係数を集めて、ＤＣ係数をもつ４×４配列を形成する。
[00116]ステップ６：ＤＣ係数をもつ４×４配列の２次元アダマール変換を行う。
【００６９】
[00117]ステップ１及びステップ２は、変換ブロック５１０によって実行することができる。ステップ３における減算は、減算ブロック５２０によって実行し、水平予測配列とスケールファクターとの乗算は、変換ブロック５３０によって実行し、ステップ４〜ステップ６を変換ブロック５６０によって実行する。
【００７０】
[00118]このように、上の説明から、様々な予測方法を使用してリソース要件を減少させ得ることが理解されるであろう。本特徴は、特定の変換方法に応じて、拡張及び／又は修正することが必要となることがある。上述した符号化、及び対応する復号については、以下に例を通じて説明する。
【００７１】
[00119]８．平均／ＤＣ予測モードにおける復号
【００７２】
[00120]図７Ａは、本発明の一実施形態における復号方法を示すブロック図である。図示したブロック図は、変換ブロック７３０と、逆変換ブロック７０５と、加算ブロック７２０と、予測ブロック７４０と、逆量子化ブロック７６０と、を含んでいる。以下、各ブロックについて更に詳しく説明する。
【００７３】
[00121]予測ブロック７４０は、図５における変換ブロック３４０に関連して上述したように動作する。変換ブロック７３０は、図３における変換ブロック３３０に関連して上述した方法と同じように動作するが、スケールファクターが異なる。スケールファクターは、ブロックサイズ、逆変換、及び、ビデオ符号化規格に基づいて決定される。予測ブロック７４０及び変換ブロック７３０の演算の結果として、経路７３２を通じて受け取る行列の位置｛（０，０）｝におけるエレメントのみが非ゼロ値を有し、残りのエレメントは０となる。
【００７４】
[00122]逆量子化ブロック７６０は、圧縮ブロック（の個々のエレメント）における（許容誤差以内にある）ビット数を、（例えば、図３の量子化ブロック３５０において）量子化する前に存在していたビット数に、復元する。
【００７５】
[00123]加算ブロック７２０は、経路７３２を通じて受け取った予測値を、逆量子化値に加算する。加算ブロック７２０は、上述したように行列の｛（０，０）｝位置に対応する僅か１回の加算を実行する。
【００７６】
[00124]逆変換ブロック７０５は、逆ＤＣＴ方法に従って２次元逆変換を実行する。逆変換ブロック７０５は、上述した変換ブロック３１０に対応する逆演算を実行し、ブロック２７０において実行される逆変換と同様に実施することができる。
【００７７】
[00125]上述したように、変換ブロック７３０は、上の例においては、位置｛（０，０）｝における行列の一つの値のみをコピーしてスケールファクター６４を乗じるだけであるので、大量のリソースを必要としない。処理するブロックサイズが大きいと、それに応じてリソース要件もより低減する。
【００７８】
[00126]９．水平／垂直予測モードを使用する復号
【００７９】
[00127]図７Ｂは、本発明の別の実施形態における復号方法を示すブロック図である。図示したブロック図は、変換ブロック７３０と、逆変換ブロック７１０，７５０と、加算ブロック７２０と、予測ブロック７４０と、逆量子化ブロック７６０とを含んでいる。以下、各ブロックについて更に詳しく説明する。
【００８０】
[00128]予測ブロック７４０は、図５におけるブロック５４０に関連して上述したように動作する。変換ブロック７３０は、図５におけるブロック５３０に関連して上述した方法と同じように動作するが、スケールファクターが異なる。スケールファクターは、ブロックサイズ、逆変換、及び、ビデオ符号化規格に基づいて決定される。予測ブロック７４０及び変換ブロック７３０の演算の結果として、経路７３２を通じて受け取る行列の第１行は、それぞれの位置｛（０，０），（０，１），（０，２），（０，３）｝に異なる値（Ａ，Ｂ，Ｃ，Ｄ）を有し、残りのエレメントは０となる。
【００８１】
[00129]逆量子化ブロック７６０は、圧縮されたブロック（の個々のエレメント）における（許容誤差以内にある）ビット数を、（例えば、図５の量子化ブロック５５０において）量子化する前に存在していたビット数に、復元する。
【００８２】
[00130]逆変換ブロック７５０は、上述した逆ＤＣＴ方法に従って逆変換の半分（水平）を実行する。加算ブロック７２０は、経路７３２を通じて受け取る予測値を、逆変換の半分が行われたデータに加算する。加算ブロック７２０は、上述したように第１行の四つの位置に対応する僅か４回の加算を実行する。
【００８３】
[00131]逆変換ブロック７１０は、逆ＤＣＴ方法に従って垂直逆変換を実行し、逆変換全体を完了する。
【００８４】
[00132]図２と比較すると、図７Ｂの７５０及び７１０の２回の逆変換は、ブロック２７０において一括して実行される単一逆変換を表していることが理解されるであろう。上述したように、変換ブロック７３０は、上の例においては第１行の値のそれぞれに単にスケールファクター６４を乗じるのみであるので、大量のリソースを必要としない。処理するブロックサイズが大きいと、それに応じてリソース要件もより低減する。
【００８５】
[00133]上の説明は垂直モードに関連しているが、水平予測モードの場合にも同様の方法を使用することができる。Ｈ．２６４符号化規格の場合の実施形態の一つでは、予測モード、ブロックサイズ（１６×１６、８×８、４×４）、又はデータタイプ（輝度又は色度）と無関係に、スケールファクターとして６４を使用する。本特徴は、上述したように、別のタイプの予測モードに拡張することもできる。
【００８６】
[00134]以下では、本発明の特徴について、図８Ａ〜図８Ｆに関する例を通じて更に説明する。
【００８７】
[00135]１０．例
【００８８】
[00136]図８Ａに関連して、部分８１０は、４×４の画像ブロック位置に対応する、再構成された値のセットの一例を表している。再構成された値８１０は、図５における経路５４１を通じて提供される。部分８２０は、現在の反復において現在符号化されている現在の画像ブロックを表している。
【００８９】
[00137]図８Ｂは、経路１２１を通じて受け取る４×４の原画像ブロックにおける値のセットの一例を表している。図８Ｃは、図８Ｂの原画像ブロックに対応しており、経路５４３を通じて提供される予測画像ブロックの一例を表している。予測画像ブロックは、再構成された値８１０に基づいて垂直予測を実行することによって得られる。従って、参照符号８１０の水平方向の値がコピーされる。各値は、上述した式２〜式５において使用される垂直ＤＣ予測係数を表している。
【００９０】
[00138]図８Ｄは、変換ブロック５１０の出力を表している。変換ブロック５１０は、図８Ｂの原画像ブロックに対して垂直整数ＤＣＴ変換を実行する。図８Ｅは、変換ブロック５３０の出力を表している。変換ブロック５３０は、式２〜式５に従って、スケールファクター２である４を使用して、図８Ｅにおける値を計算する。例えば、第１の値３１２は７８＊４として得られ、第２の値３０８は７７＊４を実行することによって得られる。このような計算の結果は、予測画像ブロックに対する垂直整数ＤＣＴ変換を表している。
【００９１】
[00139]図８Ｆは、減算ブロック５２０の出力を表している。減算ブロック５２０は、図８Ｅの値と図８Ｄの対応する値との減算を実行して、図８Ｅの第１行の値を求める。図８Ｅの残りの行の値は、図８Ｄの第２行、第３行、及び第４行から直接的に得られる。結果として、減算ブロック５２０は、僅か４回の減算を実行する。
【００９２】
[00140]図８Ｇは、変換ブロック５６０の出力を表している。変換ブロック５６０は、図８Ｆの値に対して水平整数ＤＣＴ変換を実行する。量子化ブロック５５０は、図８Ｇにおける値のそれぞれを量子化する。
【００９３】
[00141]復号は、図７Ｂに従って実行されるので、簡潔さのため説明を繰り返さない。
【００９４】
[00142]なお、上述した特徴は、ハードウェア、ソフトウェア、及び、ファームウェアのうちの一つ以上の組合せで実施することができることを理解されたい。一般的には、スループットパフォーマンスが主たる考慮点である場合には、ハードウェア（例えば、特定用途向け集積回路の形式において）での実施が行われることが多い。
【００９５】
[00143]コストが主たる考慮点であるときには、ソフトウェア（例えば、ソフトウェア／ファームウェアで提供される命令を実行するプロセッサを使用する）での実施が行われることが多い。ハードウェア、ソフトウェア、ファームウェアのうちの一つ以上の望ましい組合せを用いてシステムを実施することによって、コストとパフォーマンスのバランスを調整することができる。以下では、実質的にソフトウェアで実施される実施形態について説明する。
【００９６】
[00144]１１．ソフトウェアにおける実施形態
【００９７】
[00145]図９は、別の実施形態における処理ユニット１１０Ａの詳細を示すブロック図である。処理ユニット１１０Ａは、中央処理ユニット（ＣＰＵ）９１０のような一つ以上のプロセッサと、ランダムアクセスメモリ（ＲＡＭ）９２０と、二次記憶ユニット９５０と、表示コントローラ９６０と、ネットワークインタフェース９７０と、入力インタフェース９８０と、を含み得る。全てのコンポーネントは、通信経路９４０を通じて互いに通信することができる。この通信経路９４０は、関連する技術分野において周知であるように、幾つかのバスを含み得る。以下、図９のコンポーネントについて更に詳しく説明する。
【００９８】
[00146]ＣＰＵ９１０は、ＲＡＭ９２０に格納されている命令を実行して、本発明の幾つかの特徴を提供することができる。ＣＰＵ９１０は、複数の処理ユニットを含み得るものであり、処理ユニットのそれぞれを特定のタスク用に設計することができる。或いは、ＣＰＵ９１０は、一つの汎用処理ユニットのみを含むこともある。ＲＡＭ９２０は、命令を二次記憶ユニット９５０から通信経路９４０を使用して受け取ることができる。更に、ＲＡＭ９２０は、上述した符号化演算及び復号演算の間に、ビデオカメラから受け取るビデオフレームを格納することができる。
【００９９】
[00147]表示コントローラ９６０は、ＣＰＵ９１０から受け取るデータ／命令に基づいて、表示ユニット１３０Ａ（図１）への（例えば、ＲＧＢ形式における）表示信号を生成する。ネットワークインタフェース９７０は、（例えば、インターネットプロトコルを使用して）ネットワークとの接続を提供し、符号化されたビデオフレーム／データフレームを、ネットワークインタフェース９７０を使用して受信／送信することができる。ネットワークインタフェース９７０は、図１の経路１１５に対応する。入力インタフェース９８０は、キーボード／マウス等のインタフェースと、ビデオカメラ１２０Ａからのビデオフレームを受信するためのインタフェースとを含み得る。
【０１００】
[00148]二次記憶ユニット９５０は、ハードドライブ９５６と、フラッシュメモリ９５７と、リムーバブル記憶ドライブ９５８と、を含み得る。データ及び命令の一部又は全てをリムーバブル記憶ユニット９５９上に提供することができ、これらのデータ及び命令をリムーバルストレージドライブ９５８によって読み取ってＣＰＵ９１０に提供することができる。このようなリムーバブル記憶ドライブ９５８の例としては、フロッピードライブ、磁気テープドライブ、ＣＤ＿ＲＯＭドライブ、ＤＶＤドライブ、フラッシュメモリ、リムーバブルメモリチップ（ＰＣＭＣＩＡカード、ＥＰＲＯＭ）が挙げられる。或いは、データ及び命令をＲＡＭ９２０にコピーすることができ、ＣＰＵ９１０がＲＡＭ９２０から実行することができる。ソフトウェア命令の群（例えば、ＣＰＵ９１０によって実行するのに適した形式でのコンパイル済み形式／オブジェクト形式、或いは後にリンクされる形式）をコードと称する。
【０１０１】
[00149]リムーバブル記憶ユニット９５９は、リムーバブル記憶ドライブ９５８がデータ及び命令を読み取ることができるように、リムーバブル記憶ドライブ９５８と互換性のある媒体及び記憶形式を使用して実施することができる。従って、リムーバブル記憶ユニット９５９は、コンピュータソフトウェア及び／又はデータが格納されているコンピュータ可読記憶媒体を含む。
【０１０２】
[00150]コンピュータ（或いは、一般的には機械）可読媒体は、一般的には、プロセッサがそこから命令を読み取って実行することのできる任意の媒体を意味する。この媒体としては、ランダムアクセス媒体（ＲＡＭ９２０、フラッシュメモリ９５７など）、揮発性媒体、不揮発性媒体、リムーバブル媒体、又は非リムーバブル媒体とすることができる。なお、図示したコンピュータ可読媒体は、説明を目的として処理ユニット１１０Ａの中に提供されているが、コンピュータ可読媒体を処理ユニット１１０Ａの外部に設けることもできることを理解されたい。
【０１０３】
[00151]本明細書において使用する用語「コンピュータプログラム製品」は、一般に、リムーバブル記憶ユニット９５９、又はハードドライブ９５６に組み込まれているハードディスクを意味する。これらのコンピュータプログラム製品は、ＣＰＵ９１０にソフトウェアを提供するための手段である。ＣＰＵ９１０は、ソフトウェア命令を取得し、これらの命令を実行して、上述した本発明の様々な特徴（符号化及び復号）を提供することができる。
【０１０４】
[00152]１２．最後に
【０１０５】
[00153]以上、本発明の様々な実施形態について説明したが、これら実施形態は単に例示を目的として提示したものであり、本発明を制限するものではないことを理解されたい。従って、本発明の範囲は、上に説明した例示的な実施形態の何れによっても制限されるべきではなく、特許請求の範囲及びその均等の範囲に従ってのみ定義されるべきものである。
【図面の簡単な説明】
【０１０６】
【図１】本発明の幾つかの態様を実施することのできる一例の環境のブロック図である。
【図２Ａ】従来の一実施形態における符号化手法を示すブロック図である。
【図２Ｂ】従来の一実施形態における復号手法を示すブロック図である。
【図３】本発明の一実施形態における符号化手法を示すブロック図である。
【図４Ａ】一実施形態において平均予測モードを使用してデータを予測する方法を示す図である。
【図５】本発明の別の実施形態における符号化手法を示すブロック図である。
【図６Ａ】一実施形態において垂直予測モードを使用してデータを予測する方法を示す図である。
【図６Ｂ】一実施形態において垂直予測モードを使用してデータを予測する方法を示す図である。
【図７Ａ】本発明の一実施形態におけるデータの復号を示すブロック図である。
【図７Ｂ】本発明の別の実施形態におけるデータの復号を示すブロック図である。
【図８Ａ】数値例を用いた符号化を示す図である。
【図８Ｂ】数値例を用いた符号化を示す図である。
【図８Ｃ】数値例を用いた符号化を示す図である。
【図８Ｄ】数値例を用いた符号化を示す図である。
【図８Ｅ】数値例を用いた符号化を示す図である。
【図８Ｆ】数値例を用いた符号化を示す図である。
【図８Ｇ】数値例を用いた符号化を示す図である。
【図９】本発明の幾つかの特徴を、ソフトウェア命令の実行時に機能させることのできるデジタル処理システムのブロック図である。
【符号の説明】
【０１０７】
１４０Ａ〜１４０Ｎ…エンドシステム、１１０Ａ，１１０Ｎ…処理ユニット、１１５…転送経路、１２０Ａ，１２０Ｎ…ビデオカメラ、１２１…経路、１３０Ａ，１３０Ｎ…表示ユニット、３１０，３３０…変換ブロック、３２０…減算ブロック、３４０…予測ブロック、３５０…量子化ブロック、５１０，５３０，５６０…変換ブロック、５２０…減算ブロック、５４０…予測ブロック、５５０…量子化ブロック、７０５，７１０，７５０…逆変換ブロック、７２０…加算ブロック、７３０…変換ブロック、７４０…予測ブロック、７６０…逆量子化ブロック、９１０…ＣＰＵ、９２０…ＲＡＭ、９４０…通信経路、９５０…二次記憶ユニット、９５６…ハードドライブ、９５７…フラッシュメモリ、９５８…リムーバブル記憶ドライブ、９５９…リムーバブル記憶ユニット、９６０…表示コントローラ、９７０…ネットワークインタフェース、９８０…入力インタフェース。
【図１】
2008306711.tif 000003
【図２Ａ】
2008306711.tif 000004
【図２Ｂ】
2008306711.tif 000005
【図３】
2008306711.tif 000006
【図４Ａ】
2008306711.tif 000007
【図５】
2008306711.tif 000008
【図６Ａ】
2008306711.tif 000009
【図６Ｂ】
2008306711.tif 000010
【図７Ａ】
2008306711.tif 000011
【図７Ｂ】
2008306711.tif 000012
【図８Ａ】
2008306711.tif 000013
【図８Ｂ】
2008306711.tif 000014
【図８Ｃ】
2008306711.tif 000015
【図８Ｄ】
2008306711.tif 000016
【図８Ｅ】
2008306711.tif 000017
【図８Ｆ】
2008306711.tif 000018
【図８Ｇ】
2008306711.tif 000019
【図９】
2008306711.tif 000020
【手続補正書】
【提出日】平成20年7月9日(2008.7.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データフレームのシーケンスを符号化する符号化器であって、
前記データフレームのシーケンスに含まれる第１のデータフレームを受け取り、変換方法に従って変換フレームを生成する第１の変換ブロックと、
前記第１のデータフレームに対応する予測フレームを、前記第１のデータフレームより前の前記シーケンス中のデータフレームから、予測方法を使用して生成する予測ブロックと、
前記予測フレームを前記変換方法に従って処理することによって、変換予測データを生成する第２の変換ブロックと、
前記変換予測データと前記変換フレームとの差分を発生して差分データを生成する減算器ブロックと、
前記差分データを量子化して、前記第１のデータフレームに対応する量子化データを生成する量子化ブロックと、
を備える符号化器。
【請求項２】
前記変換方法が分配法則を満たしている、請求項１に記載の符号化器。
【請求項３】
前記予測方法は、前記第１のデータフレームにおけるエレメントの数と比較して、異なる値をもつエレメントがより少ない数だけ生成され、且つ、前記異なる値が予測可能位置において生成されるように、設計されており、
前記変換方法は、出力が入力データにおける変動を明確に表すように、選択されている、
請求項２に記載の符号化器。
【請求項４】
前記予測方法が平均方法（ｍｅａｎ  ａｐｐｒｏａｃｈ）であり、前記減算器ブロックが１回の減算のみを実行して前記差分データを生成する、請求項３に記載の符号化器。
【請求項５】
前記予測方法が水平予測又は垂直予測の何れか一方であり、前記第１の変換ブロックが前記第１のデータフレームの変換を一次元で実行し、前記次元が前記予測の方向に沿っており、
前記減算器ブロックによって生成される出力の変換を別の次元において実行する第３の変換ブロックを更に備えており、
前記第３の変換ブロックの出力が、前記量子化ブロックへの入力として提供される、請求項４に記載の符号化器。
【請求項６】
前記データフレームのそれぞれが、対応するビデオフレームのブロックを構成する、請求項４に記載の符号化器。
【請求項７】
前記変換が、前記予測データに、単一の数値を表すスケールファクターを乗じることによって、前記予測データを変換する、請求項２に記載の符号化器。
【請求項８】
符号化データフレームのシーケンスを復号する復号器であって、
前記符号化データフレームのシーケンスに含まれる第１の符号化データフレームにおけるデジタル値に対応する複数のスケールリングされた値を生成する逆量子化ブロックと、
前記第１の符号化データフレームに対応する予測フレームを、前記第１の符号化データフレームより前の前記シーケンス中のデータフレームから、予測方法を使用して生成する予測ブロックと、
前記予測フレームを変換方法に従って変換して、変換フレームを生成する変換ブロックと、
前記変換フレームの値それぞれと前記複数のスケールリングされた値とを加算して、加算フレームを生成する加算器と、
前記加算フレームに対して前記変換方法の逆の変換を実行して、前記第１の符号化データフレームに対応する復号フレームを生成する第１の逆変換ブロックと、
を備える復号器。
【請求項９】
前記逆量子化ブロックと前記加算器との間に位置しており、且つ、前記複数のスケーリングされた値の部分的な逆変換を実行して、部分的変換フレームを生成する第２の逆変換ブロックを更に備えており、
前記加算器が、部分的に変換された形式の前記複数のスケールリングされた値を加算し、
前記第１の逆変換ブロックが、前記部分的な逆変換を完了させる、
請求項８に記載の復号器。
【請求項１０】
前記変換方法が分配法則を満たしている、請求項８に記載の復号器。
【請求項１１】
前記予測方法は、前記第１の符号化データフレームにおけるエレメントの数と比較して、異なる値をもつエレメントがより少ない数だけ生成され、且つ、前記異なる値が予測可能位置において生成されるように、設計されており、
前記変換方法は、出力が入力データにおける変動を明確に表すように、選択されている、
請求項９に記載の復号器。
【請求項１２】
前記予測方法が平均方法であり、前記加算器が１回の加算を実行する、請求項１１に記載の復号器。
【請求項１３】
複数のデータフレームを処理する方法であって、
データフレームのシーケンスに含まれている第１のデータフレームを受け取り、変換方法に従って、変換フレームを生成するステップであって、前記データフレームのシーケンスが前記複数のデータフレームに含まれている、該ステップと、
前記第１のデータフレームに対応する予測フレームを、前記第１のデータフレームより前の前記シーケンス中のデータフレームから、予測方法を使用して生成するステップと、
前記予測フレームを、前記変換方法に従って処理することによって、変換予測データを生成するステップと、
前記変換予測データと前記変換フレームとの差分を発生して差分データを生成するステップと、
前記差分データを量子化して、前記第１のデータフレームに対応する量子化データを生成するステップと、
を含む、方法。
【請求項１４】
前記変換方法が分配法則を満たしている、請求項１３に記載の方法。
【請求項１５】
前記予測方法は、前記第１のデータフレームにおけるエレメントの数と比較して、異なる値をもつエレメントがより少ない数だけ生成され、且つ、前記異なる値が、予測可能位置において生成されるように、設計されており、
前記変換方法は、出力が入力データにおける変動を明確に表すように、選択されている、
請求項１４に記載の方法。
【請求項１６】
前記予測方法が水平予測又は垂直予測の何れか一方であり、前記第１のデータフレームが最初に一次元で変換され、前記次元が前記予測の方向に沿っており、
前記差分データの変換を別の次元において実行するステップを更に含む、
請求項１３に記載の方法。
【請求項１７】
第２のデータフレームを符号化形式で受け取るステップであって、該第２のデータフレームが、前記複数のデータフレームに含まれている第２のフレームシーケンスに含まれている、該ステップと、
前記第２のデータフレームにおけるデジタル値に対応する複数のスケーリングされた値、を生成するステップと、
前記第２のデータフレームに対応する第２の予測フレームを、前記第２のデータフレームより前の前記第２のフレームシーケンス中のデータフレームから、第２の予測方法を使用して生成するステップと、
前記第２の予測データを、前記変換方法に従って処理することによって、変換された第２の予測データを生成するステップと、
前記変換された第２のフレームの値それぞれと前記複数のスケールリングされた値とを加算して、加算フレームを生成するステップと、
前記加算フレームに対して前記変換方法の逆の変換を実行して、符号化された前記第２のデータフレームに対応する復号フレームを生成するステップと、
を更に含む、請求項１３に記載の方法。
【外国語明細書】
2008306711000001.pdf