JP2004518199A - コーディング - Google Patents
コーディング Download PDFInfo
- Publication number
- JP2004518199A JP2004518199A JP2002556836A JP2002556836A JP2004518199A JP 2004518199 A JP2004518199 A JP 2004518199A JP 2002556836 A JP2002556836 A JP 2002556836A JP 2002556836 A JP2002556836 A JP 2002556836A JP 2004518199 A JP2004518199 A JP 2004518199A
- Authority
- JP
- Japan
- Prior art keywords
- coefficients
- calculation
- coefficient
- calculated
- predetermined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 117
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000001419 dependent effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 24
- 238000013139 quantization Methods 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000007792 addition Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Discrete Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Multimedia (AREA)
- Algebra (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
Abstract
【課題】所定のアルゴリズムのスケーラビリティをサポートすること。
【解決手段】本発明は、所定のアルゴリズムを使用し、それら所定のアルゴリズムによって入力値一式で計算可能な係数一式から計算すべき係数を選択し(201)、選択された係数を計算して(201)係数一式を得ることにより、入力値一式を係数一式にコーディングする方法を提供する。選択においては、他の係数に比べ必要な計算費用が少ない係数に高い優先度が与えられる。所定の係数について、少なくとも部分的には、計算費用が所定の係数の計算に必要な計算ステップから、選択された他の係数の計算と共有可能な計算を差し引いた計算量に基づくようにすること、そして、計算ステップにおいて、共有計算ステップの結果が、その共有計算ステップを共有する他の係数の計算(201)に再利用されるようにすることが望ましい。
【選択図】図6
【解決手段】本発明は、所定のアルゴリズムを使用し、それら所定のアルゴリズムによって入力値一式で計算可能な係数一式から計算すべき係数を選択し(201)、選択された係数を計算して(201)係数一式を得ることにより、入力値一式を係数一式にコーディングする方法を提供する。選択においては、他の係数に比べ必要な計算費用が少ない係数に高い優先度が与えられる。所定の係数について、少なくとも部分的には、計算費用が所定の係数の計算に必要な計算ステップから、選択された他の係数の計算と共有可能な計算を差し引いた計算量に基づくようにすること、そして、計算ステップにおいて、共有計算ステップの結果が、その共有計算ステップを共有する他の係数の計算(201)に再利用されるようにすることが望ましい。
【選択図】図6
Description
【0001】
【発明が属する技術分野】
本発明は、所定のアルゴリズムを使用して、入力値一式を係数一式にコーディングすることに関する。このアルゴリズムは、映像およびビデオのコーディングの分野で広く使用されている離散コサイン変換(DCT)とすることができる。
【0002】
【従来の技術】
I. PaoおよびM. Sun(参考文献[5])は、H.263やMPEGなどのデジタルビデオコーディング規格が、マルチメディアアプリケーションにとってますます重要となっていることを明らかにしている。ビデオエンコーダの処理には膨大な量の計算が必要であることから、その高速化には多大な努力が払われている。この試みは、これまで主にモーション予測アルゴリズムの高速化に集中していた。しかし、モーション予測アルゴリズムの高速化が限界に達するにつれ、ビデオエンコーダをさらに高速化するために、離散コサイン変換(DCT)や離散逆コサイン変換(IDCT)といったその他の機能を最適化する必要が生じた。PaoおよびソンSunは、DCT係数の理論モデルを提案している。このモデルに基づくと、DCT係数の変動は、モーション補正予測後の最小平均絶対誤差(MMAE)の関数として示すことができる。DCT、IDCT、量子化、および逆量子化の計算量を減らすため、複数の閾値による適応方法が統計モデルから導き出されている。また、PaoおよびSunは、量子化のステップが大きいときにDCTの計算をさらに高速化することができるDCT近似アルゴリズムも提示している。無視できる程度のビデオ品質の低下で、処理速度は向上させることができる。
【0003】
【課題を解決するための手段】
本発明の目的は、所定のアルゴリズムのスケーラビリティをサポートすることにある。本発明は、この目的のため、独立請求項で定義されているような、入力値一式を係数一式にコーディングするための方法およびデバイス、逆変換のための方法およびデバイス、ビデオシステム、信号、記憶媒体、所定のアルゴリズムの計算費用を決定するための方法およびデバイス、データベース、およびコンピュータプログラムを提供する。有利な実施形態は、従属請求項で定義されている。
【0004】
スケーラビリティとは、とりわけ、品質を、アルゴリズムの複雑さ、または、計算能力と交換することが出来ることを意味する。つまり、アルゴリズムの複雑さや計算能力を減じることにより、品質の低下を免れることができるが、逆に、アルゴリズムの複雑さや計算能力を増大させることにより、品質は低下する。
【0005】
本発明の第一の実施形態は、所定のアルゴリズムを使用することによって、入力値一式を係数一式にコーディングする方法を規定する。この方法は、所定のアルゴリズムによって入力値一式で計算可能な一式のすべての係数から、計算されるアルゴリズムを選択すること、そして選択された係数を計算して係数一式を導き出すことを含む。選択においては、他の係数に比べて計算費用の少ない係数が優先される。計算費用の少ない係数を選択することにより、限られた一定の計算ステップもしくは時間内に、より多くの係数が計算される。計算すべき係数の数は、品質に関連する。
【0006】
本発明は、特に、第一のドメイン(例えば、時間ドメインまたは空間ドメイン)内の入力値を次のドメイン(例えば、周波数ドメイン)の係数に変換するアルゴリズムに有利である。2番目のドメインの係数は、第一のドメインの値に関する情報をすべて含むことが可能だが、他の係数以外のある一定のレベルに限られる。この場合、使用できる係数が多ければ多いほど、より正確に第一のドメインの値を示すことが可能となる。コーディングは入力値がピクセルブロックの値となるビデオコーディング、そして係数は、可能な変換係数のブロックから選択された変換係数とするのが有利である。
【0007】
本発明の有利な実施形態では、所定の係数の計算費用は、少なくとも部分的に、その係数の計算に必要な計算ステップの費用から、選択されたその他の係数の計算と共有可能な計算の費用を差し引いた額に基づく。また、計算ステップでは、共有される計算ステップの結果は、その共有計算ステップを共有する他の係数の計算に再利用される。共有することができる計算ステップの数を考慮しつつ、必要な計算費用の少ない係数を選択することにより、選択はより最適なものとなる。このようにして、より多くの係数を限られた資源で計算することが可能となる。実践的な実施形態では、共有される計算ステップの中間結果は、選択された係数の計算においてメモリに保存され、必要に応じて他の係数の計算に再利用するために検索される。
【0008】
選択ステップでは、与えられた計算費用の最大総額で、計算すべき係数の数を最大とすることができる。この実施形態では、限られた一定の計算能力で最大の品質が実現される。この実施形態では、選択後の計算順序は任意とすることができる。別法として、好みの数の係数を計算する場合、必要な最少の計算費用を決定することも可能である。これは、他のアルゴリズムやアプリケーションとの割合で、計算のための資源を特定のアルゴリズムに割り当てるのに便利である。
【0009】
有利な実施形態によれば、すでに計算済みの係数に加え、停止条件が満たされるまで次の係数が繰り返し選択される。次に選択される係数は、まだ計算されていない他の係数に比べ、計算費用の少ないものが選択される。この実施形態では、計算の制限もしくは一定の時間に達すると計算が停止される、「オンザフライ」による計算が可能である。アルゴリズムは、プログラムしなおして、(時間)制限に達するまでこの特定の順序で計算ステップを処理するようにすることができる。この(時間)制限内は、結果を刻々更新することが可能である。このとき、アルゴリズムは使用されるコンピュータシステムとは関係なくなり、コンピュータの計算能力は任意とすることができる。アルゴリズムは、一定の(時間)制限および考え得る他の制限内にできる限り数多くの係数を計算する。また、この実施形態では、計算費用は、少なくとも部分的に、次の係数を計算するのに必要な計算ステップの費用から、次の係数の計算と計算済みの係数に実行された計算ステップとの間で共有された計算ステップの額を差し引いた額を基礎とすることが望ましい。
【0010】
本発明は、プログラム可能なビデオアーキテクチャに有利に適用される。この実施形態では、使用可能な計算能力という点で、スケーラブルなビデオ品質を特長とする、スケーラブルなコーディングアルゴリズム(MPEG)が提供される。その能力は、必要なアプリケーションに依存する。この実施形態は、所定の計算能力が限られていても、可能な限り品質を保つことが出来る。ビデオ処理アプリケーションの基本的なアルゴリズムで時間を要するものの一つは、離散コサイン変換(DCT)の計算であるが、本発明は他のアルゴリズムにも適用することができる。変換アルゴリズムの場合、計算上の所定の制限内で、最大数の変換係数は、所定の計算能力で計算される。
【0011】
本発明の好適な実施形態においては、少なくとも部分的には計算すべき係数によって決定されるスキャン順序が使用される。このようなスキャン順序は、例えば、フレームごとにデコーダに送信することができる。これにより、フレームごとにスキャン順序を採用することが可能となり、これは、エンコーダの処理やビットレートにおいて有利である。特定のスキャン順序は、フレームごとに送信されるので、送信信号内に置かれる。計算済みの係数がすべて送信信号内にある場合は、送信信号にエンドオブブロック(EOB)を挿入して、あるブロックに対してそれ以上係数が送信されないことを示すことができる。
【0012】
本発明の他の実施形態では、ジグザグ順のスキャン、または、まだ計算されていない変換係数のビットストリームに所定の値が置かれるような、MPEGで定義されている他のスキャンなど、所定のスキャン順序が使用される。この所定の値は、実践的な実施形態ではゼロである。従って、本発明のこの実施形態に従った信号には、限られた所定の計算能力で計算可能な変換係数の量に応じて、特定のパターンのゼロが含まれる。ビットレートが低い場合、ゼロが多いと最適でない。また、この実施形態では、MPEG準拠のデコーダは、送信された信号をデコードすることができる。可能な変換係数から選択された特定の変換係数が計算されるため、本発明のこの実施形態の結果は、送信信号内で弁別可能である。
【0013】
望ましい計算やスキャンの順序は、所定の変換アルゴリズムについてオフラインで決定することができる。この順序は、エンコーダのデータベース(例えば、ルックアップテーブル)に保存される。計算とスキャンの順序は同じである必要はないが、メモリ節約のため、同様の順序としておくことが望ましい。標準的でないスキャン順序が使用されている場合は、使用されたスキャン順序の表示を挿入しておいた方がよい。ただし、同じデータベースがデコーダに保存されているときは、係数の順序やデータベース/ルックアップテーブルをデコーダに送信する必要はない。デコーダには同じデータベースを保存しておくことが望ましい。この場合、スキャン順序一式からどの順序がエンコーダで使用されたかを示せば充分である。使用される定義済みのスキャン順序が一つのみの場合は、そのスキャン順序を送信する必要はない。
【0014】
エンコーダでは、使用可能な計算済みの変換係数に基づき、デコーダで使用するのに最適な係数のスキャン順序を決定することが可能である。変換係数は、デコーダでバッファ可能な係数の数に応じて、デコーダで最も効率よく計算できる順序とほぼ同じような順序で送信するのが有利である。デコーダは、送信信号で示された順番にオンザフライで個々の係数またはひとかたまりの係数をデコードするようにするのが便利である。
【0015】
計算する変換値の選択には、少なくとも一つの追加条件を使用する方が有利である。他の係数よりも画像品質にとって重要な係数があるので、係数間で優先順位を定めておくと有益である。例えば、優先順位は、データベース内の計算費用に何らかの優先度を乗じて設定するか、またはグループごとに処理順序を与えるさまざまな優先グループに係数を振り分けて設定することができる。イメージブロックの種類に応じてアルゴリズムの出力に異なる優先度を選択し、入力に依存した計算スタイルを探し出すことも可能である。
【0016】
優先度条件の一つは、係数の値がゼロとなる(量子化後)頻度に基づいたものとすることが望ましい。ゼロとなる頻度の高い係数の優先度は、低くすべきである。デコーダでは、係数の計算順序は、受け取った係数と、それらのうちバッファ可能な係数の数に応じて適合化される。
【0017】
本発明では、逆変換の動作も変換動作を構成する。この場合、入力値は係数によって形成され、選択は、例えば、ピクセル値などの使用可能な出力値の間で行われる。計算されないピクセル値は、所定の値で埋めたり、例えば、平均化によって周囲のピクセル値から導き出したりすることができる。別法としては、アルゴリズムへの入力となる係数から選択して、出力値を計算する。この場合、計算する出力値を選択するのではなく、可能な変換値、あるいは、受信した変換値からアルゴリズムへの入力として使用されるものを選択してピクセル値を計算することにより、計算費用を最小化させることが出来る。実行可能な計算ステップに限りがあるために、可能なすべての変換値が使用できない場合、出力値の精度は低下するが、イメージの場合はイメージ(ブロック)のどのピクセルにも値が得られる。
【0018】
さらに、本発明は、少なくとも本発明の実施形態に従ったエンコーディングデバイスとデコーディングデバイスを含むビデオシステムにも関係する。ビデオ素材をハードディスクドライブ(HDD)にデジタル形式で保存するためのクローズドシステムは、そのようなビデオシステムの例である。また、他の例としては、ビデオ会議システムやポータブルデジタルカメラなどが挙げられる。ビデオ素材がアナログの場合、ビデオシステムにはアナログ/デジタルコンバータが追加される。このビデオシステムによりMPEGに準拠したビットストリームを生成する場合には、標準のデコーダを使用することができる。ビデオシステムのデコーダは、本発明の実施形態に従ったものとするのが有利である。
【0019】
本発明は、アルゴリズムの計算費用を分析する方法にも関係する。分析では、係数の関数として計算費用のデータベースが返される。所定の計算制限内で計算可能な係数に関する情報を提供する係数のリストは、このデータベースによって推論することができる。このようなデータベースは、本発明の実施形態に応じたコーディングやデコーディングで使用することが可能である。
【0020】
本発明の前述の態様およびその他の態様は、後述の実施形態に基づく説明により明らかとなろう。
【0021】
【発明を実施するための形態】
図面には、本発明を理解するのに必要な要素のみが示されている。
【0022】
本発明の理解を深めるため、まずDCT変換に関する基本的な理論についていくつか説明する。DCTは、小さな四角形のイメージブロックの輝度値および色光度値を変換ドメインに変換する。その後、係数はすべて量子化され、少量の係数に信号を凝縮することによって、元のデータよりも少ないデータで画像全体が保存可能となる。
【0023】
特定の画像ブロックについて、2Dデータマトリクス
【定義1】
で表された2D DCTマトリクス
【定義2】
は、次の式でもとめられる。
【式1】
ここで、
【式1−1】
【0024】
関係式(1)を簡単にするため、しばしば行列方式が使用される。この方法では、画像ブロックの各行および各列は1D−DCTで別々に変換される。所定の1Dデータベクトル
【定義3】
について、1D−DCTベクトル
【定義4】
は次のように定義される。
【式2】
関係式(1)および関係式(2)は、ともに次の形式である。
【式3】
【0025】
関係式(3)の定数部分は、データ圧縮のため変換された係数が削除される、後の量子化ステップと合併することができる。入力データは、もちろん変更不可能である。興味深い三番目の部分は、コサインマトリクスである。
【0026】
このマトリクスの変換は、コサイン関数の周期性に基づくものである。コサイン関数は周期的であり、関数の結果は
【定義5】
また、コサイン関数はπについて反周期的となる。つまり、関数の結果はπごとに繰り返されるが、符号が変わり、
【定義6】
となる。図1は、コサイン関数のプロットを示す。図中、同じ絶対値の箇所が4本の矢印で示されている。
【0027】
既知のDCTアルゴリズムのほとんどは、ビデオ品質が最大になるように作成されている。複雑なDCTの計算を簡略化する別の方法は、関係式(1)および関係式(2)を数学的に変換することによって見出すことができる。LeeおよびHuang(参考文献[1])は、コサインマトリクスの計算を、より簡略で、しかもこれと同等の副次的問題にまで減じた。両氏は、コサインマトリクスのそれぞれの角度αを0≦|α|≦0.5πに正規化したため、2”×2”のDCTを、より簡略な2n− 1×2n− 1のDCTに減じた。ChoおよびLee(参考文献[2])は、関係式(1)で得られる2つのコサインマトリクス間のデータ依存性を見出し、一方のマトリクスをもう一方のマトリクスの関数として表した。その結果、2D変換は、1D−DCTアルゴリズムの選択が自由な1D変換に減じられた。Arai, AguiおよびNakajima(参考文献[3])は、乗算のいくつかを後の量子化ステップと同化させることができる分散フーリエ変換(DFT)からDCTを推論している。
【0028】
また、DCTの計算の煩雑さを軽減し、計算時間を短縮して、ビデオ品質の劣化が許容されるようなアルゴリズムも知られている。MerhavおよびVasudev(参考文献[4])は、DCTおよび逆DCT(IDCT)のための計算スキームを開発した。主なアイデアは、すべての乗算をシフト操作で交換し、追加費用を発生させることなく、生じた誤差を後の量子化ででき得る限り補うことにある。PaoおよびSun(参考文献[5])は、ビデオコーディング規格H.263による、異なるビデオシーケンスのエンコーディングの統計分析を行った。このコーディング規格は、図2に示されるように、ジグザグ順にDCTの計算を行った後、ゼロ以外の値がすべて保存されるまでイメージブロックを保存する。残ったゼロは、エンドオブブロック(EOB)記号に置き換えられる。この分析から、DCT係数の変動は、モーション補正予測の後に得られた最小平均絶対誤差(MMAE)の関数として示すことができる。さまざまな方法でイメージブロックを処理するために、この関数とビデオコーディング規格H.263の量子化パラメータによって閾値が測定された。DCTは、64の係数すべてについて計算されるか、およそ4x4の低周波数DCTについて計算されるか、左上隅の係数(値のみ)について計算されるか、もしくはまったく計算されない。
【0029】
以下においては、DCTアルゴリズムに応じてDCT係数の特定の計算順序が使用される本発明の実施形態を説明する。残りの係数のリストは、計算ステップの後、次のステップでもっとも計算費用の安い係数が計算されるように分類される。この場合、計算順序は、減じられた所定の計算能力の範囲内で、係数の数が最大となるようなDCTアルゴリズムの設計ルールを提供する。この選択はDCTの計算に集中しているものの、説明されている事項は、離散逆コサイン変換(IDCT)など、その他のアルゴリズムにも適用することができる。
【0030】
MerhavおよびVasudev(参考文献[4])、そしてPaoおよびSun(参考文献[5])は、計算を省略するため、品質の低下を受け入れている。しかし、どちらの方法においても、それぞれの変換係数の計算で共有される計算を考慮する基本的なDCTアルゴリズムは検討されていない。
【0031】
基本的なDCTアルゴリズムの知識は、所定の計算量や時間の制限内でビデオ品質を減じるようにスケーリングする最良の方策を見出すために重要である。その結果、いくつかの計算を除去し、その結果、係数を取り除くことによって、特定のアルゴリズムは修正される。可能な限り多くの係数が計算されるため、アルゴリズムの結果は、与えられた制約内で最良の品質となる。係数の数を最大に保ちつつ、最良のビデオ品質を実現するため、省くことができる計算を探し出すことが重要である。DCTアルゴリズムはさまざまな方法でビデオデータを処理するので、特定のアプリケーションに使用されるアルゴリズムは綿密に分析する必要がある。
【0032】
DCTアルゴリズムは、特定のDCT係数を得るのに必要な計算の回数を明らかにするために分析される。この分析では、アルゴリズムの計算ノード間のデータ依存性が調べられる。入力値から最終的な変換係数に進むタイミング、そして他の係数を得るのに必要な計算のデータベースは、すべての計算ステップについて構築することができる。計算に制限が設定されている場合は、計算ステップを共有する係数を算出しておくことが望ましい。そうすれば、係数の数は最小の労力で最大となる。
【0033】
分析のステップおよびこの方法の利点を、図3に示される簡潔な計算の例によって説明する。この例では、3つの途中結果t1、t2、t3を使用した計算が示されている。係数B1、B2、B3の計算費用は、入力値から始まって各係数を計算するために必要なすべての動作を数えることによって決定される。例えば、B1は、B1=t1*C1=(A1+A2)*C1により算出され、従って加算(t1内)と乗算それぞれ一つずつで構成される。この情報は、表1に示されるデータベースに保存される。ここでは、例として1回の乗算が3回の加算と等しくなるように設定されている。
【表1】
表1:本発明の実施形態に従った計算費用。1回の加算は一つの動作、1回の乗算は3回の動作として数えられる。
【0034】
このデータベースを使用すると、すでに実行された計算によって、最少数の動作に必要な次のDCT係数を発見することに集中できる。これにより、アルゴリズムに依存した係数の計算順序が得られる。図3で示された例では、必要な動作が3つのみなので、第一のステップではB2が計算される。係数B1と係数B3の計算費用は同額であるため、どちらを最初に計算しても違いは無いように見える。しかし、係数B1と係数B2はノードt1を共有しており、次のステップではB3よりもB1の方が残りの計算の費用が少なくなる。これは表2で確かめることができる。表2では、B2が計算されている情報で表1が更新されている。
【表2】
表2:B2を計算した後の残りの計算費用。
【0035】
従って、所定の係数は、B2、B1、B3の順で計算するのが望ましい。この例で計算能力が6回の動作に減ると、係数B2および係数B1が計算できる。B2、B3、B1の計算順序では、第一の2つの係数B2とB3合わせて7回の動作が必要なことから、B2のみが計算される。
【0036】
このセクションで説明された方法は、ChoおよびLee(参考文献[2])が、Arai、AguiおよびNakajima(参考文献[3])による1D−DCTアルゴリズムを含む、2D−DCTアルゴリズムの計算順序を求めるのに使用している。結果は図4に示されている。
【0037】
計算順序は、DCTを計算した後の量子化ステップを考慮すれば改善することができる。ほとんどの場合、変換されたイメージブロックの重要値は、そのブロックの左上隅に見つけ出すことができる。量子化ステップでは、データ圧縮にとって重要度の低い値は取り除かれる。従って、係数は、左上隅の係数が選ばれるように優先度関数と結合することが可能である。図5に示された計算順序は、係数C[i, j](生成されたデータベースに保存される)の動作数に優先度関数p(i, j) = i*2 +|i−j|+1を乗じることで得られる。関数pは、何らかの試行錯誤で探し出され、第一の実装に適していると思われる。
【0038】
表3には、この変動が他の計算順序につながっていく様子が示される。ここでは、1回の乗算が3回の加算に等しくなるように設定され、第一の2つの係数C00およびC44はすでに計算済みである。優先度関数を使用しない場合、次に計算すべき係数がC04であることは明らかだが、優先度関数pを使用した場合はC22となる。
【表3】
表3:次に計算すべき係数の決定。優先度関数を使用しないときはC04、優先度関数pを使用するときはC22が選択される。
【0039】
更に、計算順序は、イメージブロックの特定のコンテンツ用にデザインされた優先度関数で最適化できる。例えば、イメージブロックは、水平の線を含むブロック、垂直な線を含むブロック、または明確な構成のないブロックという異なる3つのグループに分類される。DCTは、元のイメージブロックを示すために、これら3つのグループそれぞれでに特定の係数を選択する。これは、優先度関数で示すことができる。最も重要な係数が最初に計算されるように、あらかじめ各イメージブロックの簡単な分析を行ったり、同様の分析を行うその他の機能から分析結果を採用したりすることが可能である。
【0040】
最も重要な値が、通常、量子化ブロックの左上隅に見られることから、MPEG規格では、DCT係数の符号化に図2に示されるジグザグの順序が使用される。計算順序としてこのジグザグ順を使用すると、第一の係数を得るために、初期の計算に時間のかかる計算を数多く行わなければならない。というのも、これらの値はさまざまな入力に依存し、再利用できる中間結果が無いためである。計算能力が減じられると、これによって後に使用される係数の数が減る。このように、最良の計算順序を見つけ出すことは有益である。
【0041】
ジグザグ順に計算を行う係数の所定の動作数は、このセクションで示される最適な計算順序と比較されている。最適な計算順序では、計算すべき係数の数が大幅に増し、ビデオ品質の改善につながることが分かる。SN比は1dBから5dBの範囲で向上する。
【0042】
提示された方法は、多くの点で、スケーラブルなアルゴリズムに実用的である。計算される一定数の係数を提示する代わりに、この方法は、自動的な品質のスケーリングに使用することができる。例えば、リアルタイムのビデオアプリケーションを計算能力の低いPCで実行すると、機能しなくなる場合がある。これは、PCがすべての計算をリアルタイムで完全に行うことができないことによる。この場合、ビデオの処理が停止したり、あるいは断続的に中断したりする。この問題を解決するため、ビデオ処理ソフトウェアは、次のブロックの処理が必要となるか、もしくはユーザーが定めた時間制限に達するまで、計算済みの係数のリストを更新することができる。この解決策により、フルスクリーンかつフルタイムで確実にビデオを鑑賞できるようにすることが可能である。本発明のこの実施形態には、スケーラビリティをサポートするため、特別な順序でDCTを計算する有利な方法が用意されている。これは、DCTアルゴリズムの各計算ステップを分析し、次に計算すべき係数を最小の労力で見つけ出すことによって実現される。この方法では、検討を要する点に達するまで数多くのDCT係数を得ることにより、計算時、画像のSN比が最大となる。
【0043】
計算方法は、DCTを行った後、例えばMPEGのコーディングに合うように頻度の低い係数を優先的に計算する優先度関数など、さまざまな機能で強化することができる。この方式は、IDCTにも問題なく実装することが可能である。
【0044】
図6は、ビデオソース1、送信機2、通信チャンネルまたは記憶媒体3、受信機4、そしてディスプレイデバイス5により構成されるビデオシステムを示す。ビデオソース1には、ビデオソース信号S1を送信機2に供給するカメラなどが考えられ。送信機2はビデオエンコーダ20からなる。ビデオエンコーダは、計算ユニット201、メモリ202、および出力ユニット203を含む。計算ユニットは、ビデオソース信号S1の入力サンプルから、符号化された出力信号S2に含まれる変換係数一式を計算する。符号化出力信号S2は、通信チャンネル3で送信されるか、あるいは通信チャンネル3が記憶媒体の場合は保存される。さらに、ビデオエンコーダ20は、計算ユニット201に計算の中間結果を保存するのに使用されるメモリ202を含む。中間結果とは、通常、計算ユニット201で計算されるそれぞれの変換係数の計算において共有される計算の結果である。メモリ202は、さらに変換係数のスキャン順序や計算順序の保存にも使用することができる。出力ユニット203は、転送に適切な形式に変換値をフォーマットする。MPEGエンコーダなどのビデオエンコーダでは、変換係数は、普通、変換値を示すのに必要なビット数を減らすために量子化される。図6では、必要な量子化の操作は計算ユニット201で行われると想定されている。図6には示されていないが、MPEGエンコーダの構成には、予測しながら画像をコーディングするためのモーション予測や補正を行う要素も含まれる。出力ユニット203では、可変長エンコーディング、多重化、およびチャンネルコーディングといった操作も可能である。
【0045】
本発明の実施形態によれば、計算順序は、先の説明のように他の条件を考慮する優先度関数によっても決定されるが、アルゴリズムに依存する。スキャンと計算を同じ順序にすることも可能だが、必要条件というわけではない。デコーダは、いずれの場合もスキャン順序でエンコーダと同期している必要がある。デコーディングアルゴリズムには別の計算の方が能率的な場合があるので、デコーダはエンコーダと異なる計算順序を使用することができる。
【0046】
受信機4は、デコーダ40を含む。ビデオデコーダ40は、入力ユニット403、計算ユニット401、およびメモリ403を含む。入力ユニットは、符号化されたビデオ信号S2’を通信チャンネルもしくは記憶媒体3から受信する。符号化ビデオ信号S2’には通信チャンネルまたは記憶媒体3に起因するエラーが含まれる場合があるが、S2’は、普通、信号S2と同一となる。入力ユニット403は、可変長コーディングや、一般に出力ユニット203で行われた操作を元に戻す逆多重化、チャンネルデコーディングなどの操作を行うこともできる。計算ユニット401は、逆変換を行い、受信した変換係数からピクセル値を計算する。ピクセル値は、ビデオソース信号S1の品質を落としたバージョンである出力信号S1’に含まれる。出力信号S1’は、ディスプレイユニット5に表示される。
【0047】
デコーダ40には、標準デコーダが考えられる。デコーダ40は、本発明の実施形態に従ったものとする方が有利である。すでに説明したとおり、選択は、逆変換への入力である、可能な変換係数の間で行われる。変換係数は逆変換への入力であり、選択においては、選択された変換係数に必要な計算ステップの数と、共有可能な計算ステップの数に基づいて、他の係数よりも必要な計算費用の少ない変換係数に高い優先度が与えられる。このため、メモリ402には、与えられたコンピュータの最大計算能力で計算可能な変換係数を示すデータベースを含めることができる。さらに進んだ実施形態では、本発明の実施形態に従ってエンコーダが使用するスキャン順序がメモリ402に保存される。このスキャン順序は、どの係数が計算されるのか、あるいはどのスキャン順序がエンコーダの計算順序に類似しているかによって決定される。
【0048】
本発明は、リアルタイムのビデオエンコーディングを必要とする一方で、制約も加わる、次のような用途に対して有利に使用される。
【0049】
ビデオの解像度が低く、帯域幅の狭い接続でビデオストリームを通信することの多いビデオ会議システム。これにより、会議参加者の間に遅れが生じるが、この遅れは極力小さくしなければならない。また、ビデオ会議は、空間的な品質の高いビデオよりも、時間的に十分な解像度のビデオの方が重要性の高くなる一例である。
【0050】
消費者に受け入れられるようにするため、扱いやすく、価格が手頃で、しかも高い品質が求められるポータブルデジタルビデオカメラ。これらのカメラの解像度は中程度であり、従ってビデオ会議システムよりも複雑なビデオ処理のアルゴリズムが必要となる。これらのアルゴリズムは、カメラの価格を抑えるため、ソフトウェアでプログラムできるようするか、あるいはハードウェアソリューションの簡素化につながるようにする必要がある。
【0051】
多目的計算能力を持ったテレビ。ビデオアプリケーションの所定のアルゴリズムをスケーリングして複雑さを減じることにより、使用可能な計算能力の一部を節約し、テレビがその他のタスクを同時に行えるようにすることが可能である。さもなければ、ビデオアプリケーションがその他の重要なアプリケーションを妨げる恐れがある。
【0052】
本発明は、さらに、入力値がパラメータ一式に符号化されるパラメトリックなコーディングスキームにも使用できる。特許請求の範囲では、係数は、これらのコーディングスキームのパラメータと解釈される。
【0053】
上述の実施形態は、本発明を限定するものではなく例示するためのものであり、相応の技能があれば、添付の特許請求の目的を脱することなく、他の実施形態を立案可能であることに注意すべきである。特許請求内のかっこで括られた参照記号は、この特許請求を制限するものとは見なされない。「を含む」という語は、特許請求の範囲に示されていないその他の要素やステップの存在を除外するものでない。本発明は、いくつかの個別要素からなるハードウェア、および適切にプログラムされたコンピュータによって実装可能である。いくつかの方法が列挙されたデバイスの特許請求では、これらの方法のいくつかは、このハードウェアと同一のアイテムで具体化することが可能である。特定の方法が互いに異なる従属請求の範囲に列挙されているという事実のみをもって、これらの方法の組み合わせが有利に使用できないことにはならない。
【0054】
参考文献
[1] P. Lee and F.−Y. Huang, ”Restructured Recursive DCT and DST Algorithms,” IEEE Transaction on Signal Processing, vol. 42, pp. 1600−1609, July 1994.
[2] N. I. Cho and S. U. Lee, ”Fast Algorithm and Implementation of 2−D Discrete Cosine Transform,” IEEE Transaction on Signal Processing, vol. 38, pp. 297−305, Mar. 1991.
[3] T. A. Y. Arai and M. Nakajima, ”A Fast DCT−SQ Scheme for Images,” Trans. On the IEICE, vol. 71, p. 1095, Nov. 1988
[4] N. Merhav and B. Vasudev, ”A multiplication−free approximate algorithm for the inverse discrete cosine transform,” Proceedings IEEE International Conference of Image Processing, Kobe, Japan, Oct. 1999
[5] I. Pao and M. Sun, ”Modeling dct coefficients for fast video encoding,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 9, pp. 608−616, June 1999
【図面の簡単な説明】
【図1】コサイン関数の周期性を示す。
【図2】H.263およびMPEGで使用されるジグザグ順のスキャン順序を示す。
【図3】本発明の実施形態に従った入力Aから出力Bへの計算を示す。
【図4】本発明の実施形態に従ったDCTマトリクス内の係数の計算順序を示す。
【図5】マトリクス左上隅の追加優先順位を考慮する本発明の実施形態に従ったDCTマトリクスの係数の計算順序を示す。
【図6】本発明の実施形態に従ったビデオシステムを示す。
【符号の説明】
1 ビデオソース
2 送信機
3 記憶媒体
4 受信機
5 ディスプレイデバイス
20 ビデオエンコーダ
201 計算ユニット
202 メモリ
203 出力ユニット
【発明が属する技術分野】
本発明は、所定のアルゴリズムを使用して、入力値一式を係数一式にコーディングすることに関する。このアルゴリズムは、映像およびビデオのコーディングの分野で広く使用されている離散コサイン変換(DCT)とすることができる。
【0002】
【従来の技術】
I. PaoおよびM. Sun(参考文献[5])は、H.263やMPEGなどのデジタルビデオコーディング規格が、マルチメディアアプリケーションにとってますます重要となっていることを明らかにしている。ビデオエンコーダの処理には膨大な量の計算が必要であることから、その高速化には多大な努力が払われている。この試みは、これまで主にモーション予測アルゴリズムの高速化に集中していた。しかし、モーション予測アルゴリズムの高速化が限界に達するにつれ、ビデオエンコーダをさらに高速化するために、離散コサイン変換(DCT)や離散逆コサイン変換(IDCT)といったその他の機能を最適化する必要が生じた。PaoおよびソンSunは、DCT係数の理論モデルを提案している。このモデルに基づくと、DCT係数の変動は、モーション補正予測後の最小平均絶対誤差(MMAE)の関数として示すことができる。DCT、IDCT、量子化、および逆量子化の計算量を減らすため、複数の閾値による適応方法が統計モデルから導き出されている。また、PaoおよびSunは、量子化のステップが大きいときにDCTの計算をさらに高速化することができるDCT近似アルゴリズムも提示している。無視できる程度のビデオ品質の低下で、処理速度は向上させることができる。
【0003】
【課題を解決するための手段】
本発明の目的は、所定のアルゴリズムのスケーラビリティをサポートすることにある。本発明は、この目的のため、独立請求項で定義されているような、入力値一式を係数一式にコーディングするための方法およびデバイス、逆変換のための方法およびデバイス、ビデオシステム、信号、記憶媒体、所定のアルゴリズムの計算費用を決定するための方法およびデバイス、データベース、およびコンピュータプログラムを提供する。有利な実施形態は、従属請求項で定義されている。
【0004】
スケーラビリティとは、とりわけ、品質を、アルゴリズムの複雑さ、または、計算能力と交換することが出来ることを意味する。つまり、アルゴリズムの複雑さや計算能力を減じることにより、品質の低下を免れることができるが、逆に、アルゴリズムの複雑さや計算能力を増大させることにより、品質は低下する。
【0005】
本発明の第一の実施形態は、所定のアルゴリズムを使用することによって、入力値一式を係数一式にコーディングする方法を規定する。この方法は、所定のアルゴリズムによって入力値一式で計算可能な一式のすべての係数から、計算されるアルゴリズムを選択すること、そして選択された係数を計算して係数一式を導き出すことを含む。選択においては、他の係数に比べて計算費用の少ない係数が優先される。計算費用の少ない係数を選択することにより、限られた一定の計算ステップもしくは時間内に、より多くの係数が計算される。計算すべき係数の数は、品質に関連する。
【0006】
本発明は、特に、第一のドメイン(例えば、時間ドメインまたは空間ドメイン)内の入力値を次のドメイン(例えば、周波数ドメイン)の係数に変換するアルゴリズムに有利である。2番目のドメインの係数は、第一のドメインの値に関する情報をすべて含むことが可能だが、他の係数以外のある一定のレベルに限られる。この場合、使用できる係数が多ければ多いほど、より正確に第一のドメインの値を示すことが可能となる。コーディングは入力値がピクセルブロックの値となるビデオコーディング、そして係数は、可能な変換係数のブロックから選択された変換係数とするのが有利である。
【0007】
本発明の有利な実施形態では、所定の係数の計算費用は、少なくとも部分的に、その係数の計算に必要な計算ステップの費用から、選択されたその他の係数の計算と共有可能な計算の費用を差し引いた額に基づく。また、計算ステップでは、共有される計算ステップの結果は、その共有計算ステップを共有する他の係数の計算に再利用される。共有することができる計算ステップの数を考慮しつつ、必要な計算費用の少ない係数を選択することにより、選択はより最適なものとなる。このようにして、より多くの係数を限られた資源で計算することが可能となる。実践的な実施形態では、共有される計算ステップの中間結果は、選択された係数の計算においてメモリに保存され、必要に応じて他の係数の計算に再利用するために検索される。
【0008】
選択ステップでは、与えられた計算費用の最大総額で、計算すべき係数の数を最大とすることができる。この実施形態では、限られた一定の計算能力で最大の品質が実現される。この実施形態では、選択後の計算順序は任意とすることができる。別法として、好みの数の係数を計算する場合、必要な最少の計算費用を決定することも可能である。これは、他のアルゴリズムやアプリケーションとの割合で、計算のための資源を特定のアルゴリズムに割り当てるのに便利である。
【0009】
有利な実施形態によれば、すでに計算済みの係数に加え、停止条件が満たされるまで次の係数が繰り返し選択される。次に選択される係数は、まだ計算されていない他の係数に比べ、計算費用の少ないものが選択される。この実施形態では、計算の制限もしくは一定の時間に達すると計算が停止される、「オンザフライ」による計算が可能である。アルゴリズムは、プログラムしなおして、(時間)制限に達するまでこの特定の順序で計算ステップを処理するようにすることができる。この(時間)制限内は、結果を刻々更新することが可能である。このとき、アルゴリズムは使用されるコンピュータシステムとは関係なくなり、コンピュータの計算能力は任意とすることができる。アルゴリズムは、一定の(時間)制限および考え得る他の制限内にできる限り数多くの係数を計算する。また、この実施形態では、計算費用は、少なくとも部分的に、次の係数を計算するのに必要な計算ステップの費用から、次の係数の計算と計算済みの係数に実行された計算ステップとの間で共有された計算ステップの額を差し引いた額を基礎とすることが望ましい。
【0010】
本発明は、プログラム可能なビデオアーキテクチャに有利に適用される。この実施形態では、使用可能な計算能力という点で、スケーラブルなビデオ品質を特長とする、スケーラブルなコーディングアルゴリズム(MPEG)が提供される。その能力は、必要なアプリケーションに依存する。この実施形態は、所定の計算能力が限られていても、可能な限り品質を保つことが出来る。ビデオ処理アプリケーションの基本的なアルゴリズムで時間を要するものの一つは、離散コサイン変換(DCT)の計算であるが、本発明は他のアルゴリズムにも適用することができる。変換アルゴリズムの場合、計算上の所定の制限内で、最大数の変換係数は、所定の計算能力で計算される。
【0011】
本発明の好適な実施形態においては、少なくとも部分的には計算すべき係数によって決定されるスキャン順序が使用される。このようなスキャン順序は、例えば、フレームごとにデコーダに送信することができる。これにより、フレームごとにスキャン順序を採用することが可能となり、これは、エンコーダの処理やビットレートにおいて有利である。特定のスキャン順序は、フレームごとに送信されるので、送信信号内に置かれる。計算済みの係数がすべて送信信号内にある場合は、送信信号にエンドオブブロック(EOB)を挿入して、あるブロックに対してそれ以上係数が送信されないことを示すことができる。
【0012】
本発明の他の実施形態では、ジグザグ順のスキャン、または、まだ計算されていない変換係数のビットストリームに所定の値が置かれるような、MPEGで定義されている他のスキャンなど、所定のスキャン順序が使用される。この所定の値は、実践的な実施形態ではゼロである。従って、本発明のこの実施形態に従った信号には、限られた所定の計算能力で計算可能な変換係数の量に応じて、特定のパターンのゼロが含まれる。ビットレートが低い場合、ゼロが多いと最適でない。また、この実施形態では、MPEG準拠のデコーダは、送信された信号をデコードすることができる。可能な変換係数から選択された特定の変換係数が計算されるため、本発明のこの実施形態の結果は、送信信号内で弁別可能である。
【0013】
望ましい計算やスキャンの順序は、所定の変換アルゴリズムについてオフラインで決定することができる。この順序は、エンコーダのデータベース(例えば、ルックアップテーブル)に保存される。計算とスキャンの順序は同じである必要はないが、メモリ節約のため、同様の順序としておくことが望ましい。標準的でないスキャン順序が使用されている場合は、使用されたスキャン順序の表示を挿入しておいた方がよい。ただし、同じデータベースがデコーダに保存されているときは、係数の順序やデータベース/ルックアップテーブルをデコーダに送信する必要はない。デコーダには同じデータベースを保存しておくことが望ましい。この場合、スキャン順序一式からどの順序がエンコーダで使用されたかを示せば充分である。使用される定義済みのスキャン順序が一つのみの場合は、そのスキャン順序を送信する必要はない。
【0014】
エンコーダでは、使用可能な計算済みの変換係数に基づき、デコーダで使用するのに最適な係数のスキャン順序を決定することが可能である。変換係数は、デコーダでバッファ可能な係数の数に応じて、デコーダで最も効率よく計算できる順序とほぼ同じような順序で送信するのが有利である。デコーダは、送信信号で示された順番にオンザフライで個々の係数またはひとかたまりの係数をデコードするようにするのが便利である。
【0015】
計算する変換値の選択には、少なくとも一つの追加条件を使用する方が有利である。他の係数よりも画像品質にとって重要な係数があるので、係数間で優先順位を定めておくと有益である。例えば、優先順位は、データベース内の計算費用に何らかの優先度を乗じて設定するか、またはグループごとに処理順序を与えるさまざまな優先グループに係数を振り分けて設定することができる。イメージブロックの種類に応じてアルゴリズムの出力に異なる優先度を選択し、入力に依存した計算スタイルを探し出すことも可能である。
【0016】
優先度条件の一つは、係数の値がゼロとなる(量子化後)頻度に基づいたものとすることが望ましい。ゼロとなる頻度の高い係数の優先度は、低くすべきである。デコーダでは、係数の計算順序は、受け取った係数と、それらのうちバッファ可能な係数の数に応じて適合化される。
【0017】
本発明では、逆変換の動作も変換動作を構成する。この場合、入力値は係数によって形成され、選択は、例えば、ピクセル値などの使用可能な出力値の間で行われる。計算されないピクセル値は、所定の値で埋めたり、例えば、平均化によって周囲のピクセル値から導き出したりすることができる。別法としては、アルゴリズムへの入力となる係数から選択して、出力値を計算する。この場合、計算する出力値を選択するのではなく、可能な変換値、あるいは、受信した変換値からアルゴリズムへの入力として使用されるものを選択してピクセル値を計算することにより、計算費用を最小化させることが出来る。実行可能な計算ステップに限りがあるために、可能なすべての変換値が使用できない場合、出力値の精度は低下するが、イメージの場合はイメージ(ブロック)のどのピクセルにも値が得られる。
【0018】
さらに、本発明は、少なくとも本発明の実施形態に従ったエンコーディングデバイスとデコーディングデバイスを含むビデオシステムにも関係する。ビデオ素材をハードディスクドライブ(HDD)にデジタル形式で保存するためのクローズドシステムは、そのようなビデオシステムの例である。また、他の例としては、ビデオ会議システムやポータブルデジタルカメラなどが挙げられる。ビデオ素材がアナログの場合、ビデオシステムにはアナログ/デジタルコンバータが追加される。このビデオシステムによりMPEGに準拠したビットストリームを生成する場合には、標準のデコーダを使用することができる。ビデオシステムのデコーダは、本発明の実施形態に従ったものとするのが有利である。
【0019】
本発明は、アルゴリズムの計算費用を分析する方法にも関係する。分析では、係数の関数として計算費用のデータベースが返される。所定の計算制限内で計算可能な係数に関する情報を提供する係数のリストは、このデータベースによって推論することができる。このようなデータベースは、本発明の実施形態に応じたコーディングやデコーディングで使用することが可能である。
【0020】
本発明の前述の態様およびその他の態様は、後述の実施形態に基づく説明により明らかとなろう。
【0021】
【発明を実施するための形態】
図面には、本発明を理解するのに必要な要素のみが示されている。
【0022】
本発明の理解を深めるため、まずDCT変換に関する基本的な理論についていくつか説明する。DCTは、小さな四角形のイメージブロックの輝度値および色光度値を変換ドメインに変換する。その後、係数はすべて量子化され、少量の係数に信号を凝縮することによって、元のデータよりも少ないデータで画像全体が保存可能となる。
【0023】
特定の画像ブロックについて、2Dデータマトリクス
【定義1】
で表された2D DCTマトリクス
【定義2】
は、次の式でもとめられる。
【式1】
ここで、
【式1−1】
【0024】
関係式(1)を簡単にするため、しばしば行列方式が使用される。この方法では、画像ブロックの各行および各列は1D−DCTで別々に変換される。所定の1Dデータベクトル
【定義3】
について、1D−DCTベクトル
【定義4】
は次のように定義される。
【式2】
関係式(1)および関係式(2)は、ともに次の形式である。
【式3】
【0025】
関係式(3)の定数部分は、データ圧縮のため変換された係数が削除される、後の量子化ステップと合併することができる。入力データは、もちろん変更不可能である。興味深い三番目の部分は、コサインマトリクスである。
【0026】
このマトリクスの変換は、コサイン関数の周期性に基づくものである。コサイン関数は周期的であり、関数の結果は
【定義5】
また、コサイン関数はπについて反周期的となる。つまり、関数の結果はπごとに繰り返されるが、符号が変わり、
【定義6】
となる。図1は、コサイン関数のプロットを示す。図中、同じ絶対値の箇所が4本の矢印で示されている。
【0027】
既知のDCTアルゴリズムのほとんどは、ビデオ品質が最大になるように作成されている。複雑なDCTの計算を簡略化する別の方法は、関係式(1)および関係式(2)を数学的に変換することによって見出すことができる。LeeおよびHuang(参考文献[1])は、コサインマトリクスの計算を、より簡略で、しかもこれと同等の副次的問題にまで減じた。両氏は、コサインマトリクスのそれぞれの角度αを0≦|α|≦0.5πに正規化したため、2”×2”のDCTを、より簡略な2n− 1×2n− 1のDCTに減じた。ChoおよびLee(参考文献[2])は、関係式(1)で得られる2つのコサインマトリクス間のデータ依存性を見出し、一方のマトリクスをもう一方のマトリクスの関数として表した。その結果、2D変換は、1D−DCTアルゴリズムの選択が自由な1D変換に減じられた。Arai, AguiおよびNakajima(参考文献[3])は、乗算のいくつかを後の量子化ステップと同化させることができる分散フーリエ変換(DFT)からDCTを推論している。
【0028】
また、DCTの計算の煩雑さを軽減し、計算時間を短縮して、ビデオ品質の劣化が許容されるようなアルゴリズムも知られている。MerhavおよびVasudev(参考文献[4])は、DCTおよび逆DCT(IDCT)のための計算スキームを開発した。主なアイデアは、すべての乗算をシフト操作で交換し、追加費用を発生させることなく、生じた誤差を後の量子化ででき得る限り補うことにある。PaoおよびSun(参考文献[5])は、ビデオコーディング規格H.263による、異なるビデオシーケンスのエンコーディングの統計分析を行った。このコーディング規格は、図2に示されるように、ジグザグ順にDCTの計算を行った後、ゼロ以外の値がすべて保存されるまでイメージブロックを保存する。残ったゼロは、エンドオブブロック(EOB)記号に置き換えられる。この分析から、DCT係数の変動は、モーション補正予測の後に得られた最小平均絶対誤差(MMAE)の関数として示すことができる。さまざまな方法でイメージブロックを処理するために、この関数とビデオコーディング規格H.263の量子化パラメータによって閾値が測定された。DCTは、64の係数すべてについて計算されるか、およそ4x4の低周波数DCTについて計算されるか、左上隅の係数(値のみ)について計算されるか、もしくはまったく計算されない。
【0029】
以下においては、DCTアルゴリズムに応じてDCT係数の特定の計算順序が使用される本発明の実施形態を説明する。残りの係数のリストは、計算ステップの後、次のステップでもっとも計算費用の安い係数が計算されるように分類される。この場合、計算順序は、減じられた所定の計算能力の範囲内で、係数の数が最大となるようなDCTアルゴリズムの設計ルールを提供する。この選択はDCTの計算に集中しているものの、説明されている事項は、離散逆コサイン変換(IDCT)など、その他のアルゴリズムにも適用することができる。
【0030】
MerhavおよびVasudev(参考文献[4])、そしてPaoおよびSun(参考文献[5])は、計算を省略するため、品質の低下を受け入れている。しかし、どちらの方法においても、それぞれの変換係数の計算で共有される計算を考慮する基本的なDCTアルゴリズムは検討されていない。
【0031】
基本的なDCTアルゴリズムの知識は、所定の計算量や時間の制限内でビデオ品質を減じるようにスケーリングする最良の方策を見出すために重要である。その結果、いくつかの計算を除去し、その結果、係数を取り除くことによって、特定のアルゴリズムは修正される。可能な限り多くの係数が計算されるため、アルゴリズムの結果は、与えられた制約内で最良の品質となる。係数の数を最大に保ちつつ、最良のビデオ品質を実現するため、省くことができる計算を探し出すことが重要である。DCTアルゴリズムはさまざまな方法でビデオデータを処理するので、特定のアプリケーションに使用されるアルゴリズムは綿密に分析する必要がある。
【0032】
DCTアルゴリズムは、特定のDCT係数を得るのに必要な計算の回数を明らかにするために分析される。この分析では、アルゴリズムの計算ノード間のデータ依存性が調べられる。入力値から最終的な変換係数に進むタイミング、そして他の係数を得るのに必要な計算のデータベースは、すべての計算ステップについて構築することができる。計算に制限が設定されている場合は、計算ステップを共有する係数を算出しておくことが望ましい。そうすれば、係数の数は最小の労力で最大となる。
【0033】
分析のステップおよびこの方法の利点を、図3に示される簡潔な計算の例によって説明する。この例では、3つの途中結果t1、t2、t3を使用した計算が示されている。係数B1、B2、B3の計算費用は、入力値から始まって各係数を計算するために必要なすべての動作を数えることによって決定される。例えば、B1は、B1=t1*C1=(A1+A2)*C1により算出され、従って加算(t1内)と乗算それぞれ一つずつで構成される。この情報は、表1に示されるデータベースに保存される。ここでは、例として1回の乗算が3回の加算と等しくなるように設定されている。
【表1】
表1:本発明の実施形態に従った計算費用。1回の加算は一つの動作、1回の乗算は3回の動作として数えられる。
【0034】
このデータベースを使用すると、すでに実行された計算によって、最少数の動作に必要な次のDCT係数を発見することに集中できる。これにより、アルゴリズムに依存した係数の計算順序が得られる。図3で示された例では、必要な動作が3つのみなので、第一のステップではB2が計算される。係数B1と係数B3の計算費用は同額であるため、どちらを最初に計算しても違いは無いように見える。しかし、係数B1と係数B2はノードt1を共有しており、次のステップではB3よりもB1の方が残りの計算の費用が少なくなる。これは表2で確かめることができる。表2では、B2が計算されている情報で表1が更新されている。
【表2】
表2:B2を計算した後の残りの計算費用。
【0035】
従って、所定の係数は、B2、B1、B3の順で計算するのが望ましい。この例で計算能力が6回の動作に減ると、係数B2および係数B1が計算できる。B2、B3、B1の計算順序では、第一の2つの係数B2とB3合わせて7回の動作が必要なことから、B2のみが計算される。
【0036】
このセクションで説明された方法は、ChoおよびLee(参考文献[2])が、Arai、AguiおよびNakajima(参考文献[3])による1D−DCTアルゴリズムを含む、2D−DCTアルゴリズムの計算順序を求めるのに使用している。結果は図4に示されている。
【0037】
計算順序は、DCTを計算した後の量子化ステップを考慮すれば改善することができる。ほとんどの場合、変換されたイメージブロックの重要値は、そのブロックの左上隅に見つけ出すことができる。量子化ステップでは、データ圧縮にとって重要度の低い値は取り除かれる。従って、係数は、左上隅の係数が選ばれるように優先度関数と結合することが可能である。図5に示された計算順序は、係数C[i, j](生成されたデータベースに保存される)の動作数に優先度関数p(i, j) = i*2 +|i−j|+1を乗じることで得られる。関数pは、何らかの試行錯誤で探し出され、第一の実装に適していると思われる。
【0038】
表3には、この変動が他の計算順序につながっていく様子が示される。ここでは、1回の乗算が3回の加算に等しくなるように設定され、第一の2つの係数C00およびC44はすでに計算済みである。優先度関数を使用しない場合、次に計算すべき係数がC04であることは明らかだが、優先度関数pを使用した場合はC22となる。
【表3】
表3:次に計算すべき係数の決定。優先度関数を使用しないときはC04、優先度関数pを使用するときはC22が選択される。
【0039】
更に、計算順序は、イメージブロックの特定のコンテンツ用にデザインされた優先度関数で最適化できる。例えば、イメージブロックは、水平の線を含むブロック、垂直な線を含むブロック、または明確な構成のないブロックという異なる3つのグループに分類される。DCTは、元のイメージブロックを示すために、これら3つのグループそれぞれでに特定の係数を選択する。これは、優先度関数で示すことができる。最も重要な係数が最初に計算されるように、あらかじめ各イメージブロックの簡単な分析を行ったり、同様の分析を行うその他の機能から分析結果を採用したりすることが可能である。
【0040】
最も重要な値が、通常、量子化ブロックの左上隅に見られることから、MPEG規格では、DCT係数の符号化に図2に示されるジグザグの順序が使用される。計算順序としてこのジグザグ順を使用すると、第一の係数を得るために、初期の計算に時間のかかる計算を数多く行わなければならない。というのも、これらの値はさまざまな入力に依存し、再利用できる中間結果が無いためである。計算能力が減じられると、これによって後に使用される係数の数が減る。このように、最良の計算順序を見つけ出すことは有益である。
【0041】
ジグザグ順に計算を行う係数の所定の動作数は、このセクションで示される最適な計算順序と比較されている。最適な計算順序では、計算すべき係数の数が大幅に増し、ビデオ品質の改善につながることが分かる。SN比は1dBから5dBの範囲で向上する。
【0042】
提示された方法は、多くの点で、スケーラブルなアルゴリズムに実用的である。計算される一定数の係数を提示する代わりに、この方法は、自動的な品質のスケーリングに使用することができる。例えば、リアルタイムのビデオアプリケーションを計算能力の低いPCで実行すると、機能しなくなる場合がある。これは、PCがすべての計算をリアルタイムで完全に行うことができないことによる。この場合、ビデオの処理が停止したり、あるいは断続的に中断したりする。この問題を解決するため、ビデオ処理ソフトウェアは、次のブロックの処理が必要となるか、もしくはユーザーが定めた時間制限に達するまで、計算済みの係数のリストを更新することができる。この解決策により、フルスクリーンかつフルタイムで確実にビデオを鑑賞できるようにすることが可能である。本発明のこの実施形態には、スケーラビリティをサポートするため、特別な順序でDCTを計算する有利な方法が用意されている。これは、DCTアルゴリズムの各計算ステップを分析し、次に計算すべき係数を最小の労力で見つけ出すことによって実現される。この方法では、検討を要する点に達するまで数多くのDCT係数を得ることにより、計算時、画像のSN比が最大となる。
【0043】
計算方法は、DCTを行った後、例えばMPEGのコーディングに合うように頻度の低い係数を優先的に計算する優先度関数など、さまざまな機能で強化することができる。この方式は、IDCTにも問題なく実装することが可能である。
【0044】
図6は、ビデオソース1、送信機2、通信チャンネルまたは記憶媒体3、受信機4、そしてディスプレイデバイス5により構成されるビデオシステムを示す。ビデオソース1には、ビデオソース信号S1を送信機2に供給するカメラなどが考えられ。送信機2はビデオエンコーダ20からなる。ビデオエンコーダは、計算ユニット201、メモリ202、および出力ユニット203を含む。計算ユニットは、ビデオソース信号S1の入力サンプルから、符号化された出力信号S2に含まれる変換係数一式を計算する。符号化出力信号S2は、通信チャンネル3で送信されるか、あるいは通信チャンネル3が記憶媒体の場合は保存される。さらに、ビデオエンコーダ20は、計算ユニット201に計算の中間結果を保存するのに使用されるメモリ202を含む。中間結果とは、通常、計算ユニット201で計算されるそれぞれの変換係数の計算において共有される計算の結果である。メモリ202は、さらに変換係数のスキャン順序や計算順序の保存にも使用することができる。出力ユニット203は、転送に適切な形式に変換値をフォーマットする。MPEGエンコーダなどのビデオエンコーダでは、変換係数は、普通、変換値を示すのに必要なビット数を減らすために量子化される。図6では、必要な量子化の操作は計算ユニット201で行われると想定されている。図6には示されていないが、MPEGエンコーダの構成には、予測しながら画像をコーディングするためのモーション予測や補正を行う要素も含まれる。出力ユニット203では、可変長エンコーディング、多重化、およびチャンネルコーディングといった操作も可能である。
【0045】
本発明の実施形態によれば、計算順序は、先の説明のように他の条件を考慮する優先度関数によっても決定されるが、アルゴリズムに依存する。スキャンと計算を同じ順序にすることも可能だが、必要条件というわけではない。デコーダは、いずれの場合もスキャン順序でエンコーダと同期している必要がある。デコーディングアルゴリズムには別の計算の方が能率的な場合があるので、デコーダはエンコーダと異なる計算順序を使用することができる。
【0046】
受信機4は、デコーダ40を含む。ビデオデコーダ40は、入力ユニット403、計算ユニット401、およびメモリ403を含む。入力ユニットは、符号化されたビデオ信号S2’を通信チャンネルもしくは記憶媒体3から受信する。符号化ビデオ信号S2’には通信チャンネルまたは記憶媒体3に起因するエラーが含まれる場合があるが、S2’は、普通、信号S2と同一となる。入力ユニット403は、可変長コーディングや、一般に出力ユニット203で行われた操作を元に戻す逆多重化、チャンネルデコーディングなどの操作を行うこともできる。計算ユニット401は、逆変換を行い、受信した変換係数からピクセル値を計算する。ピクセル値は、ビデオソース信号S1の品質を落としたバージョンである出力信号S1’に含まれる。出力信号S1’は、ディスプレイユニット5に表示される。
【0047】
デコーダ40には、標準デコーダが考えられる。デコーダ40は、本発明の実施形態に従ったものとする方が有利である。すでに説明したとおり、選択は、逆変換への入力である、可能な変換係数の間で行われる。変換係数は逆変換への入力であり、選択においては、選択された変換係数に必要な計算ステップの数と、共有可能な計算ステップの数に基づいて、他の係数よりも必要な計算費用の少ない変換係数に高い優先度が与えられる。このため、メモリ402には、与えられたコンピュータの最大計算能力で計算可能な変換係数を示すデータベースを含めることができる。さらに進んだ実施形態では、本発明の実施形態に従ってエンコーダが使用するスキャン順序がメモリ402に保存される。このスキャン順序は、どの係数が計算されるのか、あるいはどのスキャン順序がエンコーダの計算順序に類似しているかによって決定される。
【0048】
本発明は、リアルタイムのビデオエンコーディングを必要とする一方で、制約も加わる、次のような用途に対して有利に使用される。
【0049】
ビデオの解像度が低く、帯域幅の狭い接続でビデオストリームを通信することの多いビデオ会議システム。これにより、会議参加者の間に遅れが生じるが、この遅れは極力小さくしなければならない。また、ビデオ会議は、空間的な品質の高いビデオよりも、時間的に十分な解像度のビデオの方が重要性の高くなる一例である。
【0050】
消費者に受け入れられるようにするため、扱いやすく、価格が手頃で、しかも高い品質が求められるポータブルデジタルビデオカメラ。これらのカメラの解像度は中程度であり、従ってビデオ会議システムよりも複雑なビデオ処理のアルゴリズムが必要となる。これらのアルゴリズムは、カメラの価格を抑えるため、ソフトウェアでプログラムできるようするか、あるいはハードウェアソリューションの簡素化につながるようにする必要がある。
【0051】
多目的計算能力を持ったテレビ。ビデオアプリケーションの所定のアルゴリズムをスケーリングして複雑さを減じることにより、使用可能な計算能力の一部を節約し、テレビがその他のタスクを同時に行えるようにすることが可能である。さもなければ、ビデオアプリケーションがその他の重要なアプリケーションを妨げる恐れがある。
【0052】
本発明は、さらに、入力値がパラメータ一式に符号化されるパラメトリックなコーディングスキームにも使用できる。特許請求の範囲では、係数は、これらのコーディングスキームのパラメータと解釈される。
【0053】
上述の実施形態は、本発明を限定するものではなく例示するためのものであり、相応の技能があれば、添付の特許請求の目的を脱することなく、他の実施形態を立案可能であることに注意すべきである。特許請求内のかっこで括られた参照記号は、この特許請求を制限するものとは見なされない。「を含む」という語は、特許請求の範囲に示されていないその他の要素やステップの存在を除外するものでない。本発明は、いくつかの個別要素からなるハードウェア、および適切にプログラムされたコンピュータによって実装可能である。いくつかの方法が列挙されたデバイスの特許請求では、これらの方法のいくつかは、このハードウェアと同一のアイテムで具体化することが可能である。特定の方法が互いに異なる従属請求の範囲に列挙されているという事実のみをもって、これらの方法の組み合わせが有利に使用できないことにはならない。
【0054】
参考文献
[1] P. Lee and F.−Y. Huang, ”Restructured Recursive DCT and DST Algorithms,” IEEE Transaction on Signal Processing, vol. 42, pp. 1600−1609, July 1994.
[2] N. I. Cho and S. U. Lee, ”Fast Algorithm and Implementation of 2−D Discrete Cosine Transform,” IEEE Transaction on Signal Processing, vol. 38, pp. 297−305, Mar. 1991.
[3] T. A. Y. Arai and M. Nakajima, ”A Fast DCT−SQ Scheme for Images,” Trans. On the IEICE, vol. 71, p. 1095, Nov. 1988
[4] N. Merhav and B. Vasudev, ”A multiplication−free approximate algorithm for the inverse discrete cosine transform,” Proceedings IEEE International Conference of Image Processing, Kobe, Japan, Oct. 1999
[5] I. Pao and M. Sun, ”Modeling dct coefficients for fast video encoding,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 9, pp. 608−616, June 1999
【図面の簡単な説明】
【図1】コサイン関数の周期性を示す。
【図2】H.263およびMPEGで使用されるジグザグ順のスキャン順序を示す。
【図3】本発明の実施形態に従った入力Aから出力Bへの計算を示す。
【図4】本発明の実施形態に従ったDCTマトリクス内の係数の計算順序を示す。
【図5】マトリクス左上隅の追加優先順位を考慮する本発明の実施形態に従ったDCTマトリクスの係数の計算順序を示す。
【図6】本発明の実施形態に従ったビデオシステムを示す。
【符号の説明】
1 ビデオソース
2 送信機
3 記憶媒体
4 受信機
5 ディスプレイデバイス
20 ビデオエンコーダ
201 計算ユニット
202 メモリ
203 出力ユニット
Claims (25)
- 所定のアルゴリズムを使用して、入力値一式を係数一式にコーディングする方法であって、
前記入力値一式が与えられた場合、所定のアルゴリズムにより計算し得る使用可能係数一式全体から、計算すべき係数を選択するステップにして、選択の優先度がそれぞれの前記使用可能係数の計算費用に依存するステップと、
前記係数一式を得るために、前記選択された係数を計算するステップと、
を備える方法。 - 所定の係数に対して、前記計算費用が、少なくとも部分的には、前記所定の係数の計算に必要な計算ステップ量から、選択された他の係数の計算で共有可能な計算量を差し引いた計算ステップ量に基づいていて、かつ
前記計算ステップにおいて、共有計算ステップの結果が、前記共有計算ステップを共有する他の係数の計算に再利用される、請求項1に記載の方法。 - 前記選択ステップにおいて、最大合計計算費用が与えられた場合、計算すべき係数の数が最大となる、請求項1に記載の方法。
- 前記選択ステップにおいて、所定数の係数が選択される、請求項1に記載の方法。
- 停止条件が満たされるまで、計算すべき次の係数を繰り返し選択するステップにして、前記次の係数に対する前記計算費用が、計算されていない他の使用可能係数と比較して最小であるステップ、を更に備える請求項1に記載の方法。
- 前記計算費用が、少なくとも部分的には、前記次の係数の計算に必要な計算ステップ量から、前記次の係数の計算とすでに計算済みの係数に対して行われた計算ステップとの間で共有可能な計算ステップ量を差し引いた計算ステップ量に基づく、請求項5に記載の方法。
- 少なくとも一つの追加条件が、前記計算すべき係数を選択するステップで使用される、請求項1に記載の方法。
- 前記少なくとも一つの追加条件を表す優先度関数によって、計算費用が重み付けされる、請求項7に記載の方法。
- 少なくとも部分的には前記計算すべき係数によって決定されるスキャン順序に従い、前記係数一式を出力信号に含めるステップと、
前記スキャン順序についての情報を前記出力信号に含めるステップとを、さらに、備える請求項1に記載の方法。 - 前記係数一式が、所定のスキャン順序に従って出力信号に含まれていて、かつ前記所定のスキャン順序内の計算されていない係数については所定の値が使用される、請求項1に記載の方法。
- 前記所定の値がゼロである、請求項10に記載の方法。
- 前記計算すべき係数が、それぞれの前記使用可能係数の計算費用に関する情報を含むデータベースから取得される、請求項1に記載の方法。
- 前記データベース内の前記計算費用に関する情報が、使用可能な計算ステップの所定の最大回数の関数として計算され得る係数を示すリストの形式で利用可能である、請求項12に記載の方法。
- 所定のアルゴリズムを使用して、入力値一式を係数一式にコーディングするためのデバイスであって、
所定の入力値一式が与えられた場合、前記所定のアルゴリズムにより計算し得る使用可能係数一式全体から、計算すべき係数を選択する手段にして、選択の優先度がそれぞれの前記使用可能係数の計算費用に依存する手段と、
前記係数一式を得るために、前記選択された係数を計算する手段と、
を備えるデバイス。 - 所定のアルゴリズムを使用して係数一式を出力値一式に逆変換する方法であって、
前記所定のアルゴリズムにより前記値を計算する際に入力として使用する利用可能な係数一式全体から各係数を選択するステップにして、選択の優先度が、それぞれの前記利用可能な係数の計算費用に依存するステップと、
前記選択された係数から前記値を計算するステップと、
を備える方法。 - 所定の係数について、前記計算費用が、少なくとも部分的には、アルゴリズムへの入力として前記所定の係数を用いて前記値を計算するのに必要な計算ステップ量から、前記アルゴリズムへの入力として他の係数に基づく計算と共有可能な計算量を差し引いた計算量に基づいていて、
前記計算において、共有計算ステップの結果が、前記共有計算ステップを共有する他の計算に再利用される、請求項15に記載の方法。 - 所定のアルゴリズムを使用して係数一式を出力値一式に逆変換するためのデバイスであって、
前記所定のアルゴリズムで前記値を計算する際に入力として使用する係数一式から各係数を選択する手段にして、選択の優先度が、それぞれの前記利用可能な係数の計算費用に依存する手段と、
前記選択された係数から前記値を計算するための手段と、
を備えるデバイス。 - 一式の値を表す係数一式を含む信号であって、
前記係数一式が、所定のアルゴリズムで前記一式の値から計算し得る使用可能係数一式全体のサブセットであり、前記信号内のそれぞれの前記係数が、計算されていない係数と比較して計算費用が少ない係数である、信号。 - 前記計算済みの係数によって決定されたスキャン順序に従って、前記係数が前記信内に存在する信号であって、さらにスキャン順序に関する情報を含む、請求項18に記載の信号。
- 所定のスキャン順序に従って前記係数が前記信号に含まれ、前記計算されていない係数については、所定の値が送信信号に含まれる請求項18に記載の信号。
- 請求項18に記載の信号が保存されている記憶媒体。
- 請求項19に記載の信号をデコーディングする方法であって、
前記計算済みの係数によって決定された前記スキャン順序に関する前記情報を前記信号から取得するステップと、
前記取得したスキャン順序を使用して前記信号から前記係数を取得するステップと、
前記係数を計算するステップと、
を備える方法。 - 請求項19に記載の信号をデコーディングするためのデバイスであって、
前記計算済みの係数によって決定された前記スキャン順序に関する前記情報を前記信号から取得する手段と、
前記取得したスキャン順序を使用して前記信号から前記係数を取得する手段と、
前記係数を計算する手段と、
を備えるデバイス。 - 請求項1に記載の前記方法をプロセッサが実行できるようにするためのコンピュータプログラムを搬送する信号。
- 請求項24に記載の信号が保存された記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP01200052 | 2001-01-10 | ||
PCT/IB2001/002545 WO2002056250A2 (en) | 2001-01-10 | 2001-12-12 | Method and system to encode a set of input values into a set of coefficients using a given algorithm |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004518199A true JP2004518199A (ja) | 2004-06-17 |
Family
ID=8179731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002556836A Abandoned JP2004518199A (ja) | 2001-01-10 | 2001-12-12 | コーディング |
Country Status (6)
Country | Link |
---|---|
US (1) | US20020173952A1 (ja) |
EP (1) | EP1368748A2 (ja) |
JP (1) | JP2004518199A (ja) |
KR (1) | KR20030005222A (ja) |
CN (1) | CN1237465C (ja) |
WO (1) | WO2002056250A2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8824553B2 (en) * | 2003-05-12 | 2014-09-02 | Google Inc. | Video compression method |
EP1480170A1 (en) * | 2003-05-20 | 2004-11-24 | Mitsubishi Electric Information Technology Centre Europe B.V. | Method and apparatus for processing images |
KR100763182B1 (ko) | 2005-05-02 | 2007-10-05 | 삼성전자주식회사 | 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치 |
US7548727B2 (en) * | 2005-10-26 | 2009-06-16 | Broadcom Corporation | Method and system for an efficient implementation of the Bluetooth® subband codec (SBC) |
KR101019936B1 (ko) * | 2005-12-02 | 2011-03-09 | 퀄컴 인코포레이티드 | 음성 파형의 정렬을 위한 시스템, 방법, 및 장치 |
US9497472B2 (en) | 2010-11-16 | 2016-11-15 | Qualcomm Incorporated | Parallel context calculation in video coding |
US9049444B2 (en) | 2010-12-22 | 2015-06-02 | Qualcomm Incorporated | Mode dependent scanning of coefficients of a block of video data |
US20120163456A1 (en) | 2010-12-22 | 2012-06-28 | Qualcomm Incorporated | Using a most probable scanning order to efficiently code scanning order information for a video block in video coding |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69225365T2 (de) * | 1991-08-30 | 1998-11-19 | Fuji Xerox Co Ltd | Bildsignalkodierungsvorrichtung |
US5262855A (en) * | 1992-03-25 | 1993-11-16 | Intel Corporation | Method and apparatus for encoding selected images at lower resolution |
TW284869B (ja) * | 1994-05-27 | 1996-09-01 | Hitachi Ltd | |
US5654759A (en) * | 1995-02-15 | 1997-08-05 | Hitachi America Ltd. | Methods and apparatus for reducing blockiness in decoded video |
US5953506A (en) * | 1996-12-17 | 1999-09-14 | Adaptive Media Technologies | Method and apparatus that provides a scalable media delivery system |
KR100373331B1 (ko) * | 1997-07-02 | 2003-04-21 | 주식회사 팬택앤큐리텔 | 스캔 인터리빙 방법을 이용한 신축형 모양정보 부호화/복호화장치 및 방법 |
SG77650A1 (en) * | 1998-09-07 | 2001-01-16 | Victor Company Of Japan | A scalable delivery scheme of compressed video |
US6584154B1 (en) * | 1998-11-26 | 2003-06-24 | Oki Electric Industry Co., Ltd. | Moving-picture coding and decoding method and apparatus with reduced computational cost |
US6658059B1 (en) * | 1999-01-15 | 2003-12-02 | Digital Video Express, L.P. | Motion field modeling and estimation using motion transform |
US6167092A (en) * | 1999-08-12 | 2000-12-26 | Packetvideo Corporation | Method and device for variable complexity decoding of motion-compensated block-based compressed digital video |
US6684187B1 (en) * | 2000-06-30 | 2004-01-27 | At&T Corp. | Method and system for preselection of suitable units for concatenative speech |
-
2001
- 2001-12-12 JP JP2002556836A patent/JP2004518199A/ja not_active Abandoned
- 2001-12-12 CN CNB01809256XA patent/CN1237465C/zh not_active Expired - Fee Related
- 2001-12-12 WO PCT/IB2001/002545 patent/WO2002056250A2/en not_active Application Discontinuation
- 2001-12-12 KR KR1020027011884A patent/KR20030005222A/ko not_active Application Discontinuation
- 2001-12-12 EP EP01273147A patent/EP1368748A2/en not_active Withdrawn
-
2002
- 2002-01-08 US US10/042,447 patent/US20020173952A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP1368748A2 (en) | 2003-12-10 |
KR20030005222A (ko) | 2003-01-17 |
WO2002056250A2 (en) | 2002-07-18 |
US20020173952A1 (en) | 2002-11-21 |
WO2002056250A3 (en) | 2003-10-02 |
CN1474980A (zh) | 2004-02-11 |
CN1237465C (zh) | 2006-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9762917B2 (en) | Quantization method and apparatus in encoding/decoding | |
JP5606591B2 (ja) | ビデオ圧縮方法 | |
US6891973B1 (en) | Lossy/lossless region-of-interest image coding | |
CN101584215B (zh) | 综合空时预测 | |
US5822003A (en) | Method and apparatus for performing fast reduced coefficient discrete cosine transforms | |
US20060251330A1 (en) | Hybrid video compression method | |
US8422806B2 (en) | Information processing apparatus and information processing method for reducing the processing load incurred when a reversibly encoded code stream is transformed into an irreversibly encoded code stream | |
JP2003507804A (ja) | 動き補償されたブロックベースの圧縮デジタルビデオの可変複雑性デコーディングの方法と装置 | |
US20060126942A1 (en) | Method of and apparatus for retrieving movie image | |
JP2002518897A (ja) | ブロック整合法及び統合投射法を用いた階層的動き評価処理及び装置 | |
KR20030081403A (ko) | 영상의 부호화 및 복호화 방법, 장치 및 그 애플리케이션 | |
JP2004518199A (ja) | コーディング | |
EP0917372A2 (en) | Method and apparatus for selecting a quantization table for encoding a digital image | |
CN115442617A (zh) | 一种基于视频编码的视频处理方法和装置 | |
HUE033524T2 (en) | Procedure for compressing data | |
EP1892965A2 (en) | Fixed bit rate, intraframe compression and decompression of video | |
JP3032213B2 (ja) | 画像符号化装置及び画像復号化装置 | |
US8111748B2 (en) | Method and apparatus for video coding | |
JP3326879B2 (ja) | 画像信号変換装置 | |
JP3281423B2 (ja) | 画像符号化時における符号量制御装置 | |
Mietens et al. | New scalable DCT computation for resource-constrained systems | |
JPH11103463A (ja) | 画像符号化方法及び記憶媒体 | |
JP2006304270A (ja) | 復号化装置、逆量子化方法及びこれらのプログラム | |
JP2005354307A (ja) | 逆量子化器及びこれを用いた画像復号化装置 | |
Mietens et al. | New dct computation algorithm for video quality scaling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041201 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20051117 |