(57)【要約】【課題】所定のアルゴリズムのスケーラビリティをサポートすること。【解決手段】本発明は、所定のアルゴリズムを使用し、それら所定のアルゴリズムによって入力値一式で計算可能な係数一式から計算すべき係数を選択し（２０１）、選択された係数を計算して（２０１）係数一式を得ることにより、入力値一式を係数一式にコーディングする方法を提供する。選択においては、他の係数に比べ必要な計算費用が少ない係数に高い優先度が与えられる。所定の係数について、少なくとも部分的には、計算費用が所定の係数の計算に必要な計算ステップから、選択された他の係数の計算と共有可能な計算を差し引いた計算量に基づくようにすること、そして、計算ステップにおいて、共有計算ステップの結果が、その共有計算ステップを共有する他の係数の計算（２０１）に再利用されるようにすることが望ましい。【選択図】図６
2004518199.tif 000002
【特許請求の範囲】
【請求項１】
所定のアルゴリズムを使用して、入力値一式を係数一式にコーディングする方法であって、
前記入力値一式が与えられた場合、所定のアルゴリズムにより計算し得る使用可能係数一式全体から、計算すべき係数を選択するステップにして、選択の優先度がそれぞれの前記使用可能係数の計算費用に依存するステップと、
前記係数一式を得るために、前記選択された係数を計算するステップと、
を備える方法。
【請求項２】
所定の係数に対して、前記計算費用が、少なくとも部分的には、前記所定の係数の計算に必要な計算ステップ量から、選択された他の係数の計算で共有可能な計算量を差し引いた計算ステップ量に基づいていて、かつ
前記計算ステップにおいて、共有計算ステップの結果が、前記共有計算ステップを共有する他の係数の計算に再利用される、請求項１に記載の方法。
【請求項３】
前記選択ステップにおいて、最大合計計算費用が与えられた場合、計算すべき係数の数が最大となる、請求項１に記載の方法。
【請求項４】
前記選択ステップにおいて、所定数の係数が選択される、請求項１に記載の方法。
【請求項５】
停止条件が満たされるまで、計算すべき次の係数を繰り返し選択するステップにして、前記次の係数に対する前記計算費用が、計算されていない他の使用可能係数と比較して最小であるステップ、を更に備える請求項１に記載の方法。
【請求項６】
前記計算費用が、少なくとも部分的には、前記次の係数の計算に必要な計算ステップ量から、前記次の係数の計算とすでに計算済みの係数に対して行われた計算ステップとの間で共有可能な計算ステップ量を差し引いた計算ステップ量に基づく、請求項５に記載の方法。
【請求項７】
少なくとも一つの追加条件が、前記計算すべき係数を選択するステップで使用される、請求項１に記載の方法。
【請求項８】
前記少なくとも一つの追加条件を表す優先度関数によって、計算費用が重み付けされる、請求項７に記載の方法。
【請求項９】
少なくとも部分的には前記計算すべき係数によって決定されるスキャン順序に従い、前記係数一式を出力信号に含めるステップと、
前記スキャン順序についての情報を前記出力信号に含めるステップとを、さらに、備える請求項１に記載の方法。
【請求項１０】
前記係数一式が、所定のスキャン順序に従って出力信号に含まれていて、かつ前記所定のスキャン順序内の計算されていない係数については所定の値が使用される、請求項１に記載の方法。
【請求項１１】
前記所定の値がゼロである、請求項１０に記載の方法。
【請求項１２】
前記計算すべき係数が、それぞれの前記使用可能係数の計算費用に関する情報を含むデータベースから取得される、請求項１に記載の方法。
【請求項１３】
前記データベース内の前記計算費用に関する情報が、使用可能な計算ステップの所定の最大回数の関数として計算され得る係数を示すリストの形式で利用可能である、請求項１２に記載の方法。
【請求項１４】
所定のアルゴリズムを使用して、入力値一式を係数一式にコーディングするためのデバイスであって、
所定の入力値一式が与えられた場合、前記所定のアルゴリズムにより計算し得る使用可能係数一式全体から、計算すべき係数を選択する手段にして、選択の優先度がそれぞれの前記使用可能係数の計算費用に依存する手段と、
前記係数一式を得るために、前記選択された係数を計算する手段と、
を備えるデバイス。
【請求項１５】
所定のアルゴリズムを使用して係数一式を出力値一式に逆変換する方法であって、
前記所定のアルゴリズムにより前記値を計算する際に入力として使用する利用可能な係数一式全体から各係数を選択するステップにして、選択の優先度が、それぞれの前記利用可能な係数の計算費用に依存するステップと、
前記選択された係数から前記値を計算するステップと、
を備える方法。
【請求項１６】
所定の係数について、前記計算費用が、少なくとも部分的には、アルゴリズムへの入力として前記所定の係数を用いて前記値を計算するのに必要な計算ステップ量から、前記アルゴリズムへの入力として他の係数に基づく計算と共有可能な計算量を差し引いた計算量に基づいていて、
前記計算において、共有計算ステップの結果が、前記共有計算ステップを共有する他の計算に再利用される、請求項１５に記載の方法。
【請求項１７】
所定のアルゴリズムを使用して係数一式を出力値一式に逆変換するためのデバイスであって、
前記所定のアルゴリズムで前記値を計算する際に入力として使用する係数一式から各係数を選択する手段にして、選択の優先度が、それぞれの前記利用可能な係数の計算費用に依存する手段と、
前記選択された係数から前記値を計算するための手段と、
を備えるデバイス。
【請求項１８】
一式の値を表す係数一式を含む信号であって、
前記係数一式が、所定のアルゴリズムで前記一式の値から計算し得る使用可能係数一式全体のサブセットであり、前記信号内のそれぞれの前記係数が、計算されていない係数と比較して計算費用が少ない係数である、信号。
【請求項１９】
前記計算済みの係数によって決定されたスキャン順序に従って、前記係数が前記信内に存在する信号であって、さらにスキャン順序に関する情報を含む、請求項１８に記載の信号。
【請求項２０】
所定のスキャン順序に従って前記係数が前記信号に含まれ、前記計算されていない係数については、所定の値が送信信号に含まれる請求項１８に記載の信号。
【請求項２１】
請求項１８に記載の信号が保存されている記憶媒体。
【請求項２２】
請求項１９に記載の信号をデコーディングする方法であって、
前記計算済みの係数によって決定された前記スキャン順序に関する前記情報を前記信号から取得するステップと、
前記取得したスキャン順序を使用して前記信号から前記係数を取得するステップと、
前記係数を計算するステップと、
を備える方法。
【請求項２３】
請求項１９に記載の信号をデコーディングするためのデバイスであって、
前記計算済みの係数によって決定された前記スキャン順序に関する前記情報を前記信号から取得する手段と、
前記取得したスキャン順序を使用して前記信号から前記係数を取得する手段と、
前記係数を計算する手段と、
を備えるデバイス。
【請求項２４】
請求項１に記載の前記方法をプロセッサが実行できるようにするためのコンピュータプログラムを搬送する信号。
【請求項２５】
請求項２４に記載の信号が保存された記憶媒体。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、所定のアルゴリズムを使用して、入力値一式を係数一式にコーディングすることに関する。このアルゴリズムは、映像およびビデオのコーディングの分野で広く使用されている離散コサイン変換（ＤＣＴ）とすることができる。
【０００２】
【従来の技術】
Ｉ． ＰａｏおよびＭ． Ｓｕｎ（参考文献［５］）は、Ｈ．２６３やＭＰＥＧなどのデジタルビデオコーディング規格が、マルチメディアアプリケーションにとってますます重要となっていることを明らかにしている。ビデオエンコーダの処理には膨大な量の計算が必要であることから、その高速化には多大な努力が払われている。この試みは、これまで主にモーション予測アルゴリズムの高速化に集中していた。しかし、モーション予測アルゴリズムの高速化が限界に達するにつれ、ビデオエンコーダをさらに高速化するために、離散コサイン変換（ＤＣＴ）や離散逆コサイン変換（ＩＤＣＴ）といったその他の機能を最適化する必要が生じた。ＰａｏおよびソンＳｕｎは、ＤＣＴ係数の理論モデルを提案している。このモデルに基づくと、ＤＣＴ係数の変動は、モーション補正予測後の最小平均絶対誤差（ＭＭＡＥ）の関数として示すことができる。ＤＣＴ、ＩＤＣＴ、量子化、および逆量子化の計算量を減らすため、複数の閾値による適応方法が統計モデルから導き出されている。また、ＰａｏおよびＳｕｎは、量子化のステップが大きいときにＤＣＴの計算をさらに高速化することができるＤＣＴ近似アルゴリズムも提示している。無視できる程度のビデオ品質の低下で、処理速度は向上させることができる。
【０００３】
【課題を解決するための手段】
本発明の目的は、所定のアルゴリズムのスケーラビリティをサポートすることにある。本発明は、この目的のため、独立請求項で定義されているような、入力値一式を係数一式にコーディングするための方法およびデバイス、逆変換のための方法およびデバイス、ビデオシステム、信号、記憶媒体、所定のアルゴリズムの計算費用を決定するための方法およびデバイス、データベース、およびコンピュータプログラムを提供する。有利な実施形態は、従属請求項で定義されている。
【０００４】
スケーラビリティとは、とりわけ、品質を、アルゴリズムの複雑さ、または、計算能力と交換することが出来ることを意味する。つまり、アルゴリズムの複雑さや計算能力を減じることにより、品質の低下を免れることができるが、逆に、アルゴリズムの複雑さや計算能力を増大させることにより、品質は低下する。
【０００５】
本発明の第一の実施形態は、所定のアルゴリズムを使用することによって、入力値一式を係数一式にコーディングする方法を規定する。この方法は、所定のアルゴリズムによって入力値一式で計算可能な一式のすべての係数から、計算されるアルゴリズムを選択すること、そして選択された係数を計算して係数一式を導き出すことを含む。選択においては、他の係数に比べて計算費用の少ない係数が優先される。計算費用の少ない係数を選択することにより、限られた一定の計算ステップもしくは時間内に、より多くの係数が計算される。計算すべき係数の数は、品質に関連する。
【０００６】
本発明は、特に、第一のドメイン（例えば、時間ドメインまたは空間ドメイン）内の入力値を次のドメイン（例えば、周波数ドメイン）の係数に変換するアルゴリズムに有利である。２番目のドメインの係数は、第一のドメインの値に関する情報をすべて含むことが可能だが、他の係数以外のある一定のレベルに限られる。この場合、使用できる係数が多ければ多いほど、より正確に第一のドメインの値を示すことが可能となる。コーディングは入力値がピクセルブロックの値となるビデオコーディング、そして係数は、可能な変換係数のブロックから選択された変換係数とするのが有利である。
【０００７】
本発明の有利な実施形態では、所定の係数の計算費用は、少なくとも部分的に、その係数の計算に必要な計算ステップの費用から、選択されたその他の係数の計算と共有可能な計算の費用を差し引いた額に基づく。また、計算ステップでは、共有される計算ステップの結果は、その共有計算ステップを共有する他の係数の計算に再利用される。共有することができる計算ステップの数を考慮しつつ、必要な計算費用の少ない係数を選択することにより、選択はより最適なものとなる。このようにして、より多くの係数を限られた資源で計算することが可能となる。実践的な実施形態では、共有される計算ステップの中間結果は、選択された係数の計算においてメモリに保存され、必要に応じて他の係数の計算に再利用するために検索される。
【０００８】
選択ステップでは、与えられた計算費用の最大総額で、計算すべき係数の数を最大とすることができる。この実施形態では、限られた一定の計算能力で最大の品質が実現される。この実施形態では、選択後の計算順序は任意とすることができる。別法として、好みの数の係数を計算する場合、必要な最少の計算費用を決定することも可能である。これは、他のアルゴリズムやアプリケーションとの割合で、計算のための資源を特定のアルゴリズムに割り当てるのに便利である。
【０００９】
有利な実施形態によれば、すでに計算済みの係数に加え、停止条件が満たされるまで次の係数が繰り返し選択される。次に選択される係数は、まだ計算されていない他の係数に比べ、計算費用の少ないものが選択される。この実施形態では、計算の制限もしくは一定の時間に達すると計算が停止される、「オンザフライ」による計算が可能である。アルゴリズムは、プログラムしなおして、（時間）制限に達するまでこの特定の順序で計算ステップを処理するようにすることができる。この（時間）制限内は、結果を刻々更新することが可能である。このとき、アルゴリズムは使用されるコンピュータシステムとは関係なくなり、コンピュータの計算能力は任意とすることができる。アルゴリズムは、一定の（時間）制限および考え得る他の制限内にできる限り数多くの係数を計算する。また、この実施形態では、計算費用は、少なくとも部分的に、次の係数を計算するのに必要な計算ステップの費用から、次の係数の計算と計算済みの係数に実行された計算ステップとの間で共有された計算ステップの額を差し引いた額を基礎とすることが望ましい。
【００１０】
本発明は、プログラム可能なビデオアーキテクチャに有利に適用される。この実施形態では、使用可能な計算能力という点で、スケーラブルなビデオ品質を特長とする、スケーラブルなコーディングアルゴリズム（ＭＰＥＧ）が提供される。その能力は、必要なアプリケーションに依存する。この実施形態は、所定の計算能力が限られていても、可能な限り品質を保つことが出来る。ビデオ処理アプリケーションの基本的なアルゴリズムで時間を要するものの一つは、離散コサイン変換（ＤＣＴ）の計算であるが、本発明は他のアルゴリズムにも適用することができる。変換アルゴリズムの場合、計算上の所定の制限内で、最大数の変換係数は、所定の計算能力で計算される。
【００１１】
本発明の好適な実施形態においては、少なくとも部分的には計算すべき係数によって決定されるスキャン順序が使用される。このようなスキャン順序は、例えば、フレームごとにデコーダに送信することができる。これにより、フレームごとにスキャン順序を採用することが可能となり、これは、エンコーダの処理やビットレートにおいて有利である。特定のスキャン順序は、フレームごとに送信されるので、送信信号内に置かれる。計算済みの係数がすべて送信信号内にある場合は、送信信号にエンドオブブロック（ＥＯＢ）を挿入して、あるブロックに対してそれ以上係数が送信されないことを示すことができる。
【００１２】
本発明の他の実施形態では、ジグザグ順のスキャン、または、まだ計算されていない変換係数のビットストリームに所定の値が置かれるような、ＭＰＥＧで定義されている他のスキャンなど、所定のスキャン順序が使用される。この所定の値は、実践的な実施形態ではゼロである。従って、本発明のこの実施形態に従った信号には、限られた所定の計算能力で計算可能な変換係数の量に応じて、特定のパターンのゼロが含まれる。ビットレートが低い場合、ゼロが多いと最適でない。また、この実施形態では、ＭＰＥＧ準拠のデコーダは、送信された信号をデコードすることができる。可能な変換係数から選択された特定の変換係数が計算されるため、本発明のこの実施形態の結果は、送信信号内で弁別可能である。
【００１３】
望ましい計算やスキャンの順序は、所定の変換アルゴリズムについてオフラインで決定することができる。この順序は、エンコーダのデータベース（例えば、ルックアップテーブル）に保存される。計算とスキャンの順序は同じである必要はないが、メモリ節約のため、同様の順序としておくことが望ましい。標準的でないスキャン順序が使用されている場合は、使用されたスキャン順序の表示を挿入しておいた方がよい。ただし、同じデータベースがデコーダに保存されているときは、係数の順序やデータベース／ルックアップテーブルをデコーダに送信する必要はない。デコーダには同じデータベースを保存しておくことが望ましい。この場合、スキャン順序一式からどの順序がエンコーダで使用されたかを示せば充分である。使用される定義済みのスキャン順序が一つのみの場合は、そのスキャン順序を送信する必要はない。
【００１４】
エンコーダでは、使用可能な計算済みの変換係数に基づき、デコーダで使用するのに最適な係数のスキャン順序を決定することが可能である。変換係数は、デコーダでバッファ可能な係数の数に応じて、デコーダで最も効率よく計算できる順序とほぼ同じような順序で送信するのが有利である。デコーダは、送信信号で示された順番にオンザフライで個々の係数またはひとかたまりの係数をデコードするようにするのが便利である。
【００１５】
計算する変換値の選択には、少なくとも一つの追加条件を使用する方が有利である。他の係数よりも画像品質にとって重要な係数があるので、係数間で優先順位を定めておくと有益である。例えば、優先順位は、データベース内の計算費用に何らかの優先度を乗じて設定するか、またはグループごとに処理順序を与えるさまざまな優先グループに係数を振り分けて設定することができる。イメージブロックの種類に応じてアルゴリズムの出力に異なる優先度を選択し、入力に依存した計算スタイルを探し出すことも可能である。
【００１６】
優先度条件の一つは、係数の値がゼロとなる（量子化後）頻度に基づいたものとすることが望ましい。ゼロとなる頻度の高い係数の優先度は、低くすべきである。デコーダでは、係数の計算順序は、受け取った係数と、それらのうちバッファ可能な係数の数に応じて適合化される。
【００１７】
本発明では、逆変換の動作も変換動作を構成する。この場合、入力値は係数によって形成され、選択は、例えば、ピクセル値などの使用可能な出力値の間で行われる。計算されないピクセル値は、所定の値で埋めたり、例えば、平均化によって周囲のピクセル値から導き出したりすることができる。別法としては、アルゴリズムへの入力となる係数から選択して、出力値を計算する。この場合、計算する出力値を選択するのではなく、可能な変換値、あるいは、受信した変換値からアルゴリズムへの入力として使用されるものを選択してピクセル値を計算することにより、計算費用を最小化させることが出来る。実行可能な計算ステップに限りがあるために、可能なすべての変換値が使用できない場合、出力値の精度は低下するが、イメージの場合はイメージ（ブロック）のどのピクセルにも値が得られる。
【００１８】
さらに、本発明は、少なくとも本発明の実施形態に従ったエンコーディングデバイスとデコーディングデバイスを含むビデオシステムにも関係する。ビデオ素材をハードディスクドライブ（ＨＤＤ）にデジタル形式で保存するためのクローズドシステムは、そのようなビデオシステムの例である。また、他の例としては、ビデオ会議システムやポータブルデジタルカメラなどが挙げられる。ビデオ素材がアナログの場合、ビデオシステムにはアナログ／デジタルコンバータが追加される。このビデオシステムによりＭＰＥＧに準拠したビットストリームを生成する場合には、標準のデコーダを使用することができる。ビデオシステムのデコーダは、本発明の実施形態に従ったものとするのが有利である。
【００１９】
本発明は、アルゴリズムの計算費用を分析する方法にも関係する。分析では、係数の関数として計算費用のデータベースが返される。所定の計算制限内で計算可能な係数に関する情報を提供する係数のリストは、このデータベースによって推論することができる。このようなデータベースは、本発明の実施形態に応じたコーディングやデコーディングで使用することが可能である。
【００２０】
本発明の前述の態様およびその他の態様は、後述の実施形態に基づく説明により明らかとなろう。
【００２１】
【発明を実施するための形態】
図面には、本発明を理解するのに必要な要素のみが示されている。
【００２２】
本発明の理解を深めるため、まずＤＣＴ変換に関する基本的な理論についていくつか説明する。ＤＣＴは、小さな四角形のイメージブロックの輝度値および色光度値を変換ドメインに変換する。その後、係数はすべて量子化され、少量の係数に信号を凝縮することによって、元のデータよりも少ないデータで画像全体が保存可能となる。
【００２３】
特定の画像ブロックについて、２Ｄデータマトリクス
【定義１】
2004518199.tif 000003
で表された２Ｄ ＤＣＴマトリクス
【定義２】
2004518199.tif 000004
は、次の式でもとめられる。
【式１】
2004518199.tif 000005
ここで、
【式１−１】
2004518199.tif 000006
【００２４】
関係式（１）を簡単にするため、しばしば行列方式が使用される。この方法では、画像ブロックの各行および各列は１Ｄ−ＤＣＴで別々に変換される。所定の１Ｄデータベクトル
【定義３】
2004518199.tif 000007
について、１Ｄ−ＤＣＴベクトル
【定義４】
2004518199.tif 000008
は次のように定義される。
【式２】
2004518199.tif 000009
関係式（１）および関係式（２）は、ともに次の形式である。
【式３】
2004518199.tif 000010
【００２５】
関係式（３）の定数部分は、データ圧縮のため変換された係数が削除される、後の量子化ステップと合併することができる。入力データは、もちろん変更不可能である。興味深い三番目の部分は、コサインマトリクスである。
【００２６】
このマトリクスの変換は、コサイン関数の周期性に基づくものである。コサイン関数は周期的であり、関数の結果は
【定義５】
2004518199.tif 000011
また、コサイン関数はπについて反周期的となる。つまり、関数の結果はπごとに繰り返されるが、符号が変わり、
【定義６】
2004518199.tif 000012
となる。図１は、コサイン関数のプロットを示す。図中、同じ絶対値の箇所が４本の矢印で示されている。
【００２７】
既知のＤＣＴアルゴリズムのほとんどは、ビデオ品質が最大になるように作成されている。複雑なＤＣＴの計算を簡略化する別の方法は、関係式（１）および関係式（２）を数学的に変換することによって見出すことができる。ＬｅｅおよびＨｕａｎｇ（参考文献［１］）は、コサインマトリクスの計算を、より簡略で、しかもこれと同等の副次的問題にまで減じた。両氏は、コサインマトリクスのそれぞれの角度αを０≦｜α｜≦０．５πに正規化したため、２”×２”のＤＣＴを、より簡略な２ｎ−１×２ｎ−１のＤＣＴに減じた。ＣｈｏおよびＬｅｅ（参考文献［２］）は、関係式（１）で得られる２つのコサインマトリクス間のデータ依存性を見出し、一方のマトリクスをもう一方のマトリクスの関数として表した。その結果、２Ｄ変換は、１Ｄ−ＤＣＴアルゴリズムの選択が自由な１Ｄ変換に減じられた。Ａｒａｉ， ＡｇｕｉおよびＮａｋａｊｉｍａ（参考文献［３］）は、乗算のいくつかを後の量子化ステップと同化させることができる分散フーリエ変換（ＤＦＴ）からＤＣＴを推論している。
【００２８】
また、ＤＣＴの計算の煩雑さを軽減し、計算時間を短縮して、ビデオ品質の劣化が許容されるようなアルゴリズムも知られている。ＭｅｒｈａｖおよびＶａｓｕｄｅｖ（参考文献［４］）は、ＤＣＴおよび逆ＤＣＴ（ＩＤＣＴ）のための計算スキームを開発した。主なアイデアは、すべての乗算をシフト操作で交換し、追加費用を発生させることなく、生じた誤差を後の量子化ででき得る限り補うことにある。ＰａｏおよびＳｕｎ（参考文献［５］）は、ビデオコーディング規格Ｈ．２６３による、異なるビデオシーケンスのエンコーディングの統計分析を行った。このコーディング規格は、図２に示されるように、ジグザグ順にＤＣＴの計算を行った後、ゼロ以外の値がすべて保存されるまでイメージブロックを保存する。残ったゼロは、エンドオブブロック（ＥＯＢ）記号に置き換えられる。この分析から、ＤＣＴ係数の変動は、モーション補正予測の後に得られた最小平均絶対誤差（ＭＭＡＥ）の関数として示すことができる。さまざまな方法でイメージブロックを処理するために、この関数とビデオコーディング規格Ｈ．２６３の量子化パラメータによって閾値が測定された。ＤＣＴは、６４の係数すべてについて計算されるか、およそ４ｘ４の低周波数ＤＣＴについて計算されるか、左上隅の係数（値のみ）について計算されるか、もしくはまったく計算されない。
【００２９】
以下においては、ＤＣＴアルゴリズムに応じてＤＣＴ係数の特定の計算順序が使用される本発明の実施形態を説明する。残りの係数のリストは、計算ステップの後、次のステップでもっとも計算費用の安い係数が計算されるように分類される。この場合、計算順序は、減じられた所定の計算能力の範囲内で、係数の数が最大となるようなＤＣＴアルゴリズムの設計ルールを提供する。この選択はＤＣＴの計算に集中しているものの、説明されている事項は、離散逆コサイン変換（ＩＤＣＴ）など、その他のアルゴリズムにも適用することができる。
【００３０】
ＭｅｒｈａｖおよびＶａｓｕｄｅｖ（参考文献［４］）、そしてＰａｏおよびＳｕｎ（参考文献［５］）は、計算を省略するため、品質の低下を受け入れている。しかし、どちらの方法においても、それぞれの変換係数の計算で共有される計算を考慮する基本的なＤＣＴアルゴリズムは検討されていない。
【００３１】
基本的なＤＣＴアルゴリズムの知識は、所定の計算量や時間の制限内でビデオ品質を減じるようにスケーリングする最良の方策を見出すために重要である。その結果、いくつかの計算を除去し、その結果、係数を取り除くことによって、特定のアルゴリズムは修正される。可能な限り多くの係数が計算されるため、アルゴリズムの結果は、与えられた制約内で最良の品質となる。係数の数を最大に保ちつつ、最良のビデオ品質を実現するため、省くことができる計算を探し出すことが重要である。ＤＣＴアルゴリズムはさまざまな方法でビデオデータを処理するので、特定のアプリケーションに使用されるアルゴリズムは綿密に分析する必要がある。
【００３２】
ＤＣＴアルゴリズムは、特定のＤＣＴ係数を得るのに必要な計算の回数を明らかにするために分析される。この分析では、アルゴリズムの計算ノード間のデータ依存性が調べられる。入力値から最終的な変換係数に進むタイミング、そして他の係数を得るのに必要な計算のデータベースは、すべての計算ステップについて構築することができる。計算に制限が設定されている場合は、計算ステップを共有する係数を算出しておくことが望ましい。そうすれば、係数の数は最小の労力で最大となる。
【００３３】
分析のステップおよびこの方法の利点を、図３に示される簡潔な計算の例によって説明する。この例では、３つの途中結果ｔ１、ｔ２、ｔ３を使用した計算が示されている。係数Ｂ１、Ｂ２、Ｂ３の計算費用は、入力値から始まって各係数を計算するために必要なすべての動作を数えることによって決定される。例えば、Ｂ１は、Ｂ１＝ｔ１＊Ｃ１＝（Ａ１＋Ａ２）＊Ｃ１により算出され、従って加算（ｔ１内）と乗算それぞれ一つずつで構成される。この情報は、表１に示されるデータベースに保存される。ここでは、例として１回の乗算が３回の加算と等しくなるように設定されている。
【表１】
2004518199.tif 000013
表１：本発明の実施形態に従った計算費用。１回の加算は一つの動作、１回の乗算は３回の動作として数えられる。
【００３４】
このデータベースを使用すると、すでに実行された計算によって、最少数の動作に必要な次のＤＣＴ係数を発見することに集中できる。これにより、アルゴリズムに依存した係数の計算順序が得られる。図３で示された例では、必要な動作が３つのみなので、第一のステップではＢ２が計算される。係数Ｂ１と係数Ｂ３の計算費用は同額であるため、どちらを最初に計算しても違いは無いように見える。しかし、係数Ｂ１と係数Ｂ２はノードｔ１を共有しており、次のステップではＢ３よりもＢ１の方が残りの計算の費用が少なくなる。これは表２で確かめることができる。表２では、Ｂ２が計算されている情報で表１が更新されている。
【表２】
2004518199.tif 000014
表２：Ｂ２を計算した後の残りの計算費用。
【００３５】
従って、所定の係数は、Ｂ２、Ｂ１、Ｂ３の順で計算するのが望ましい。この例で計算能力が６回の動作に減ると、係数Ｂ２および係数Ｂ１が計算できる。Ｂ２、Ｂ３、Ｂ１の計算順序では、第一の２つの係数Ｂ２とＢ３合わせて７回の動作が必要なことから、Ｂ２のみが計算される。
【００３６】
このセクションで説明された方法は、ＣｈｏおよびＬｅｅ（参考文献［２］）が、Ａｒａｉ、ＡｇｕｉおよびＮａｋａｊｉｍａ（参考文献［３］）による１Ｄ−ＤＣＴアルゴリズムを含む、２Ｄ−ＤＣＴアルゴリズムの計算順序を求めるのに使用している。結果は図４に示されている。
【００３７】
計算順序は、ＤＣＴを計算した後の量子化ステップを考慮すれば改善することができる。ほとんどの場合、変換されたイメージブロックの重要値は、そのブロックの左上隅に見つけ出すことができる。量子化ステップでは、データ圧縮にとって重要度の低い値は取り除かれる。従って、係数は、左上隅の係数が選ばれるように優先度関数と結合することが可能である。図５に示された計算順序は、係数Ｃ［ｉ， ｊ］（生成されたデータベースに保存される）の動作数に優先度関数ｐ（ｉ， ｊ） ＝ ｉ＊２ ＋｜ｉ−ｊ｜＋１を乗じることで得られる。関数ｐは、何らかの試行錯誤で探し出され、第一の実装に適していると思われる。
【００３８】
表３には、この変動が他の計算順序につながっていく様子が示される。ここでは、１回の乗算が３回の加算に等しくなるように設定され、第一の２つの係数Ｃ００およびＣ４４はすでに計算済みである。優先度関数を使用しない場合、次に計算すべき係数がＣ０４であることは明らかだが、優先度関数ｐを使用した場合はＣ２２となる。
【表３】
2004518199.tif 000015
表３：次に計算すべき係数の決定。優先度関数を使用しないときはＣ０４、優先度関数ｐを使用するときはＣ２２が選択される。
【００３９】
更に、計算順序は、イメージブロックの特定のコンテンツ用にデザインされた優先度関数で最適化できる。例えば、イメージブロックは、水平の線を含むブロック、垂直な線を含むブロック、または明確な構成のないブロックという異なる３つのグループに分類される。ＤＣＴは、元のイメージブロックを示すために、これら３つのグループそれぞれでに特定の係数を選択する。これは、優先度関数で示すことができる。最も重要な係数が最初に計算されるように、あらかじめ各イメージブロックの簡単な分析を行ったり、同様の分析を行うその他の機能から分析結果を採用したりすることが可能である。
【００４０】
最も重要な値が、通常、量子化ブロックの左上隅に見られることから、ＭＰＥＧ規格では、ＤＣＴ係数の符号化に図２に示されるジグザグの順序が使用される。計算順序としてこのジグザグ順を使用すると、第一の係数を得るために、初期の計算に時間のかかる計算を数多く行わなければならない。というのも、これらの値はさまざまな入力に依存し、再利用できる中間結果が無いためである。計算能力が減じられると、これによって後に使用される係数の数が減る。このように、最良の計算順序を見つけ出すことは有益である。
【００４１】
ジグザグ順に計算を行う係数の所定の動作数は、このセクションで示される最適な計算順序と比較されている。最適な計算順序では、計算すべき係数の数が大幅に増し、ビデオ品質の改善につながることが分かる。ＳＮ比は１ｄＢから５ｄＢの範囲で向上する。
【００４２】
提示された方法は、多くの点で、スケーラブルなアルゴリズムに実用的である。計算される一定数の係数を提示する代わりに、この方法は、自動的な品質のスケーリングに使用することができる。例えば、リアルタイムのビデオアプリケーションを計算能力の低いＰＣで実行すると、機能しなくなる場合がある。これは、ＰＣがすべての計算をリアルタイムで完全に行うことができないことによる。この場合、ビデオの処理が停止したり、あるいは断続的に中断したりする。この問題を解決するため、ビデオ処理ソフトウェアは、次のブロックの処理が必要となるか、もしくはユーザーが定めた時間制限に達するまで、計算済みの係数のリストを更新することができる。この解決策により、フルスクリーンかつフルタイムで確実にビデオを鑑賞できるようにすることが可能である。本発明のこの実施形態には、スケーラビリティをサポートするため、特別な順序でＤＣＴを計算する有利な方法が用意されている。これは、ＤＣＴアルゴリズムの各計算ステップを分析し、次に計算すべき係数を最小の労力で見つけ出すことによって実現される。この方法では、検討を要する点に達するまで数多くのＤＣＴ係数を得ることにより、計算時、画像のＳＮ比が最大となる。
【００４３】
計算方法は、ＤＣＴを行った後、例えばＭＰＥＧのコーディングに合うように頻度の低い係数を優先的に計算する優先度関数など、さまざまな機能で強化することができる。この方式は、ＩＤＣＴにも問題なく実装することが可能である。
【００４４】
図６は、ビデオソース１、送信機２、通信チャンネルまたは記憶媒体３、受信機４、そしてディスプレイデバイス５により構成されるビデオシステムを示す。ビデオソース１には、ビデオソース信号Ｓ１を送信機２に供給するカメラなどが考えられ。送信機２はビデオエンコーダ２０からなる。ビデオエンコーダは、計算ユニット２０１、メモリ２０２、および出力ユニット２０３を含む。計算ユニットは、ビデオソース信号Ｓ１の入力サンプルから、符号化された出力信号Ｓ２に含まれる変換係数一式を計算する。符号化出力信号Ｓ２は、通信チャンネル３で送信されるか、あるいは通信チャンネル３が記憶媒体の場合は保存される。さらに、ビデオエンコーダ２０は、計算ユニット２０１に計算の中間結果を保存するのに使用されるメモリ２０２を含む。中間結果とは、通常、計算ユニット２０１で計算されるそれぞれの変換係数の計算において共有される計算の結果である。メモリ２０２は、さらに変換係数のスキャン順序や計算順序の保存にも使用することができる。出力ユニット２０３は、転送に適切な形式に変換値をフォーマットする。ＭＰＥＧエンコーダなどのビデオエンコーダでは、変換係数は、普通、変換値を示すのに必要なビット数を減らすために量子化される。図６では、必要な量子化の操作は計算ユニット２０１で行われると想定されている。図６には示されていないが、ＭＰＥＧエンコーダの構成には、予測しながら画像をコーディングするためのモーション予測や補正を行う要素も含まれる。出力ユニット２０３では、可変長エンコーディング、多重化、およびチャンネルコーディングといった操作も可能である。
【００４５】
本発明の実施形態によれば、計算順序は、先の説明のように他の条件を考慮する優先度関数によっても決定されるが、アルゴリズムに依存する。スキャンと計算を同じ順序にすることも可能だが、必要条件というわけではない。デコーダは、いずれの場合もスキャン順序でエンコーダと同期している必要がある。デコーディングアルゴリズムには別の計算の方が能率的な場合があるので、デコーダはエンコーダと異なる計算順序を使用することができる。
【００４６】
受信機４は、デコーダ４０を含む。ビデオデコーダ４０は、入力ユニット４０３、計算ユニット４０１、およびメモリ４０３を含む。入力ユニットは、符号化されたビデオ信号Ｓ２’を通信チャンネルもしくは記憶媒体３から受信する。符号化ビデオ信号Ｓ２’には通信チャンネルまたは記憶媒体３に起因するエラーが含まれる場合があるが、Ｓ２’は、普通、信号Ｓ２と同一となる。入力ユニット４０３は、可変長コーディングや、一般に出力ユニット２０３で行われた操作を元に戻す逆多重化、チャンネルデコーディングなどの操作を行うこともできる。計算ユニット４０１は、逆変換を行い、受信した変換係数からピクセル値を計算する。ピクセル値は、ビデオソース信号Ｓ１の品質を落としたバージョンである出力信号Ｓ１’に含まれる。出力信号Ｓ１’は、ディスプレイユニット５に表示される。
【００４７】
デコーダ４０には、標準デコーダが考えられる。デコーダ４０は、本発明の実施形態に従ったものとする方が有利である。すでに説明したとおり、選択は、逆変換への入力である、可能な変換係数の間で行われる。変換係数は逆変換への入力であり、選択においては、選択された変換係数に必要な計算ステップの数と、共有可能な計算ステップの数に基づいて、他の係数よりも必要な計算費用の少ない変換係数に高い優先度が与えられる。このため、メモリ４０２には、与えられたコンピュータの最大計算能力で計算可能な変換係数を示すデータベースを含めることができる。さらに進んだ実施形態では、本発明の実施形態に従ってエンコーダが使用するスキャン順序がメモリ４０２に保存される。このスキャン順序は、どの係数が計算されるのか、あるいはどのスキャン順序がエンコーダの計算順序に類似しているかによって決定される。
【００４８】
本発明は、リアルタイムのビデオエンコーディングを必要とする一方で、制約も加わる、次のような用途に対して有利に使用される。
【００４９】
ビデオの解像度が低く、帯域幅の狭い接続でビデオストリームを通信することの多いビデオ会議システム。これにより、会議参加者の間に遅れが生じるが、この遅れは極力小さくしなければならない。また、ビデオ会議は、空間的な品質の高いビデオよりも、時間的に十分な解像度のビデオの方が重要性の高くなる一例である。
【００５０】
消費者に受け入れられるようにするため、扱いやすく、価格が手頃で、しかも高い品質が求められるポータブルデジタルビデオカメラ。これらのカメラの解像度は中程度であり、従ってビデオ会議システムよりも複雑なビデオ処理のアルゴリズムが必要となる。これらのアルゴリズムは、カメラの価格を抑えるため、ソフトウェアでプログラムできるようするか、あるいはハードウェアソリューションの簡素化につながるようにする必要がある。
【００５１】
多目的計算能力を持ったテレビ。ビデオアプリケーションの所定のアルゴリズムをスケーリングして複雑さを減じることにより、使用可能な計算能力の一部を節約し、テレビがその他のタスクを同時に行えるようにすることが可能である。さもなければ、ビデオアプリケーションがその他の重要なアプリケーションを妨げる恐れがある。
【００５２】
本発明は、さらに、入力値がパラメータ一式に符号化されるパラメトリックなコーディングスキームにも使用できる。特許請求の範囲では、係数は、これらのコーディングスキームのパラメータと解釈される。
【００５３】
上述の実施形態は、本発明を限定するものではなく例示するためのものであり、相応の技能があれば、添付の特許請求の目的を脱することなく、他の実施形態を立案可能であることに注意すべきである。特許請求内のかっこで括られた参照記号は、この特許請求を制限するものとは見なされない。「を含む」という語は、特許請求の範囲に示されていないその他の要素やステップの存在を除外するものでない。本発明は、いくつかの個別要素からなるハードウェア、および適切にプログラムされたコンピュータによって実装可能である。いくつかの方法が列挙されたデバイスの特許請求では、これらの方法のいくつかは、このハードウェアと同一のアイテムで具体化することが可能である。特定の方法が互いに異なる従属請求の範囲に列挙されているという事実のみをもって、これらの方法の組み合わせが有利に使用できないことにはならない。
【００５４】
参考文献
［１］  Ｐ． Ｌｅｅ ａｎｄ Ｆ．−Ｙ． Ｈｕａｎｇ， ”Ｒｅｓｔｒｕｃｔｕｒｅｄ Ｒｅｃｕｒｓｉｖｅ ＤＣＴ ａｎｄ ＤＳＴ Ａｌｇｏｒｉｔｈｍｓ，” ＩＥＥＥ Ｔｒａｎｓａｃｔｉｏｎ ｏｎ Ｓｉｇｎａｌ Ｐｒｏｃｅｓｓｉｎｇ， ｖｏｌ． ４２， ｐｐ． １６００−１６０９， Ｊｕｌｙ １９９４．
［２］  Ｎ． Ｉ． Ｃｈｏ ａｎｄ Ｓ． Ｕ． Ｌｅｅ， ”Ｆａｓｔ Ａｌｇｏｒｉｔｈｍ ａｎｄ Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ ｏｆ ２−Ｄ Ｄｉｓｃｒｅｔｅ Ｃｏｓｉｎｅ Ｔｒａｎｓｆｏｒｍ，” ＩＥＥＥ Ｔｒａｎｓａｃｔｉｏｎ ｏｎ Ｓｉｇｎａｌ Ｐｒｏｃｅｓｓｉｎｇ， ｖｏｌ． ３８， ｐｐ． ２９７−３０５， Ｍａｒ． １９９１．
［３］  Ｔ． Ａ． Ｙ． Ａｒａｉ ａｎｄ Ｍ． Ｎａｋａｊｉｍａ， ”Ａ Ｆａｓｔ ＤＣＴ−ＳＱ Ｓｃｈｅｍｅ ｆｏｒ Ｉｍａｇｅｓ，” Ｔｒａｎｓ． Ｏｎ ｔｈｅ ＩＥＩＣＥ， ｖｏｌ． ７１， ｐ． １０９５， Ｎｏｖ． １９８８
［４］  Ｎ． Ｍｅｒｈａｖ ａｎｄ Ｂ． Ｖａｓｕｄｅｖ， ”Ａ ｍｕｌｔｉｐｌｉｃａｔｉｏｎ−ｆｒｅｅ ａｐｐｒｏｘｉｍａｔｅ ａｌｇｏｒｉｔｈｍ ｆｏｒ ｔｈｅ ｉｎｖｅｒｓｅ ｄｉｓｃｒｅｔｅ ｃｏｓｉｎｅ ｔｒａｎｓｆｏｒｍ，” Ｐｒｏｃｅｅｄｉｎｇｓ ＩＥＥＥ Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｃｏｎｆｅｒｅｎｃｅ ｏｆ Ｉｍａｇｅ Ｐｒｏｃｅｓｓｉｎｇ， Ｋｏｂｅ， Ｊａｐａｎ， Ｏｃｔ． １９９９
［５］  Ｉ． Ｐａｏ ａｎｄ Ｍ． Ｓｕｎ， ”Ｍｏｄｅｌｉｎｇ ｄｃｔ ｃｏｅｆｆｉｃｉｅｎｔｓ ｆｏｒ ｆａｓｔ ｖｉｄｅｏ ｅｎｃｏｄｉｎｇ，” ＩＥＥＥ Ｔｒａｎｓａｃｔｉｏｎｓ ｏｎ Ｃｉｒｃｕｉｔｓ ａｎｄ Ｓｙｓｔｅｍｓ ｆｏｒ Ｖｉｄｅｏ Ｔｅｃｈｎｏｌｏｇｙ， ｖｏｌ． ９， ｐｐ． ６０８−６１６， Ｊｕｎｅ １９９９
【図面の簡単な説明】
【図１】コサイン関数の周期性を示す。
【図２】Ｈ．２６３およびＭＰＥＧで使用されるジグザグ順のスキャン順序を示す。
【図３】本発明の実施形態に従った入力Ａから出力Ｂへの計算を示す。
【図４】本発明の実施形態に従ったＤＣＴマトリクス内の係数の計算順序を示す。
【図５】マトリクス左上隅の追加優先順位を考慮する本発明の実施形態に従ったＤＣＴマトリクスの係数の計算順序を示す。
【図６】本発明の実施形態に従ったビデオシステムを示す。
【符号の説明】
１  ビデオソース
２  送信機
３  記憶媒体
４  受信機
５  ディスプレイデバイス
２０  ビデオエンコーダ
２０１  計算ユニット
２０２  メモリ
２０３  出力ユニット
【図１】
2004518199.tif 000016
【図２】
2004518199.tif 000017
【図３】
2004518199.tif 000018
【図４】
2004518199.tif 000019
【図５】
2004518199.tif 000020
【図６】
2004518199.tif 000021
【国際公開パンフレット】
2004518199.tif 000022
2004518199.tif 000023
2004518199.tif 000024
2004518199.tif 000025
2004518199.tif 000026
2004518199.tif 000027
2004518199.tif 000028
2004518199.tif 000029
2004518199.tif 000030
2004518199.tif 000031
2004518199.tif 000032
2004518199.tif 000033
2004518199.tif 000034
2004518199.tif 000035
2004518199.tif 000036
2004518199.tif 000037
2004518199.tif 000038
2004518199.tif 000039
2004518199.tif 000040
2004518199.tif 000041
2004518199.tif 000042
2004518199.tif 000043
【国際公開パンフレット（コレクトバージョン）】
2004518199.tif 000044
【国際公開パンフレット（コレクトバージョン）】
2004518199.tif 000045
【国際公開パンフレット（コレクトバージョン）】
2004518199.tif 000046
2004518199.tif 000047
2004518199.tif 000048
2004518199.tif 000049
2004518199.tif 000050
2004518199.tif 000051
2004518199.tif 000052
2004518199.tif 000053
2004518199.tif 000054
2004518199.tif 000055
2004518199.tif 000056
2004518199.tif 000057
2004518199.tif 000058
2004518199.tif 000059
2004518199.tif 000060
2004518199.tif 000061
2004518199.tif 000062
2004518199.tif 000063
2004518199.tif 000064
2004518199.tif 000065
2004518199.tif 000066
2004518199.tif 000067
【国際調査報告】
2004518199.tif 000068
2004518199.tif 000069
2004518199.tif 000070
2004518199.tif 000071
2004518199.tif 000072
2004518199.tif 000073
2004518199.tif 000074
2004518199.tif 000075