JP2007525078A - 適応型多次元信号シーケンス符号化/復号化方法とそのための装置 - Google Patents
適応型多次元信号シーケンス符号化/復号化方法とそのための装置 Download PDFInfo
- Publication number
- JP2007525078A JP2007525078A JP2006517628A JP2006517628A JP2007525078A JP 2007525078 A JP2007525078 A JP 2007525078A JP 2006517628 A JP2006517628 A JP 2006517628A JP 2006517628 A JP2006517628 A JP 2006517628A JP 2007525078 A JP2007525078 A JP 2007525078A
- Authority
- JP
- Japan
- Prior art keywords
- block
- dimensional
- frame
- blocks
- memory
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 108010076504 Protein Sorting Signals Proteins 0.000 title claims abstract description 27
- 230000003044 adaptive effect Effects 0.000 title claims description 20
- 238000012545 processing Methods 0.000 claims abstract description 42
- 230000006870 function Effects 0.000 claims abstract description 36
- 238000006073 displacement reaction Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 21
- 230000033001 locomotion Effects 0.000 claims description 20
- 238000004422 calculation algorithm Methods 0.000 claims description 19
- 239000013598 vector Substances 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 11
- 238000013519 translation Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000002123 temporal effect Effects 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 claims 6
- 238000012886 linear function Methods 0.000 claims 2
- YWXYYJSYQOXTPL-SLPGGIOYSA-N isosorbide mononitrate Chemical compound [O-][N+](=O)O[C@@H]1CO[C@@H]2[C@@H](O)CO[C@@H]21 YWXYYJSYQOXTPL-SLPGGIOYSA-N 0.000 claims 1
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000001960 triggered effect Effects 0.000 claims 1
- 230000008520 organization Effects 0.000 abstract description 3
- 238000013139 quantization Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000005055 memory storage Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004321 preservation Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 239000002699 waste material Substances 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/557—Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
- G06T7/238—Analysis of motion using block-matching using non-full search, e.g. three-step search
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Discrete Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
信号シーケンスを処理するためのシステムと方法が説明される。ハイブリッド・ブロック・マッチングと変換ベースのN次元信号シーケンス符号化器と復号化器が開示される。符号化器は、ブロック・マッチング差の特定のエネルギー尺度から推定できるエントロピー・ベースの費用関数を含む符号化器側ブロック・マッチング予測器を含み、高速ブロック・マッチングサーチ法で、近隣ブロックから結果を学習し、少数の点のみを訪れて広範囲サーチを実行する。符号化器出力に基づき費用関数パラメータとその他の符号化制御パラメータを動的に調整し、符号化器の品質とパフォーマンスを最適化する方法が開示される。n次元ブロック・マッチングに対する分数格子点のサーチと高速処理を使用可能にする方法が開示される。ハイブリッド・ブロック・マッチングと変換ベースのn次元信号シーケンス復号化器が開示される。n次元信号フレームの効率的処理を可能にするメモリ編成と処理アレイ構造は、n次元信号のブロックを高速に格納し、アクセスすることができるn次元メモリ、n次元メモリに転送する前に大量のデータを格納するためのマルチレベル大容量メモリ構造、とn次元メモリ内のデータを処理するためのシグナル・プロセッサ・アレイを含む。
Description
本出願は、参照により内容が本明細書に組み込まれている、2003年6月23日に出願した「METHOD AND APPARATUS FOR ADAPTIVE MULTIPLE−DIMENSIONAL SIGNAL SEQUENCES ENCODING/DECODING」という表題の米国仮特許出願第60/480,985号の優先権を主張するものである。
一実施形態は、全体として、データの符号化、記憶、分布、復号化に関するものであり、より具体的には、ただし排他的ではないが、n次元ブロック・マッチング法を使用することによるn次元信号シーケンス符号化、記憶、分布、復号化に関するものである。
ビデオ信号は、通常、膨大な量の情報を含む。したがって、ビデオ信号は、通常、送信または格納される前に圧縮符号化される。高い効率でビデオ信号を符号化するために、フレーム単位の画像が所定の数のピクセル単位で複数のブロックに分割される。ブロック毎に直交変換が実行され、画像の空間周波数が複数の周波数成分に分離される。それぞれの周波数成分は、変換係数として得られ、符号化される。
一態様によれば、信号シーケンスを処理するシステムが、信号シーケンスを受け取る微分器と、複数のn次元基準フレームを格納するためのフレーム・バッファと、ブロック・マッチング予測器と、ブロック符号化器と、シーケンス符号化器を備える。前記信号シーケンスは、複数の現在のフレーム・ブロックと複数のn次元基準フレームを含むn次元の現在のフレームを含み、複数のn次元基準フレームからのそれぞれのフレームは複数の基準フレーム・ブロックを含む。前記ブロック・マッチング予測器は、複数の現在のフレーム・ブロック内のそれぞれのブロックに対する複数の基準フレーム・ブロックの予測ブロックを識別し、複数の現在のフレーム・ブロック内のそれぞれのブロックのためのそれぞれの予測ブロックに対する基準変位インデックスとブロック予測差を決定し、基準変位インデックスは基準フレーム・ブロック内の1つの点を識別する。前記ブロック符号化器は、複数の現在のフレーム・ブロック内のそれぞれのブロックに対するそれぞれのブロック予測差とそれぞれの基準変位インデックスを符号化し、それによって複数の符号化ブロックを作成する。前記シーケンス符号化器は所定のフォーマットにより複数の符号化ブロックを包んでまとめる。
他の態様によれば、メモリ・システムは、n次元メモリを備える。n次元メモリは、1クロック・サイクルの間に1つのデータ・アイテムをそれぞれのスライスに格納または取り出せる1つまたは複数のメモリ・スライスと、n次元フレーム内の任意の場所に配置できる所定の立方体内のすべてのデータに複数のサイクルでアクセスできるようにn次元フレーム内に配置されるn次元データを編成し、サイクル数をメモリ・スライスの個数で割った立方体内の点の総数として決定する手段と、n次元アドレス入力に基づいて1つまたは複数のメモリ・スライスからデータにアクセスするアドレス変換モジュールと、1つまたは複数のスライスからn次元データを使用する1つまたは複数の外部処理モジュールにデータをブリッジするためのデータ・マルチプレクサ/デマルチプレクサとを備える。
さらに他の態様によれば、システムは、n次元データ入力を処理するための1つまたは複数の信号処理ユニットを含む処理アレイと、信号処理ユニット用にデータを格納するための1つまたは複数のデータ・レジスタと、アレイ内の複数のプロセッサにより1つのデータ要素を使用できるように処理アレイを制御する手段とを備える。
さらに他の態様によれば、方法が、元のn次元フレームを含むn次元フレーム・シーケンスを受け取り、元のn次元フレーム内の隣接するブロックの関係を保持するような順序で、n次元フレーム・シーケンスを1次元のブロック・シーケンス内に走査することを含む。
本発明の他の特徴は、付属の図面と以下で述べる詳細な説明とから明らかになる。
本発明は、付属の図面の図において限定されることなく例を使用して説明され、類似の参照番号は類似の要素を示す。
本明細書の説明では、本発明のいくつかの実施形態を完全に理解できるように、システム・コンポーネントと方法の説明などの具体的詳細事項を多数述べている。ただし、当業者であれば、本発明は、特定の詳細の1つまたは複数を使用せずに、他のシステム、方法、コンポーネント、材料、部品などを使用して実践できることを理解するであろう。他の場合には、本発明の態様をわかりにくくしないため、よく知られている構造、材料、またはオペレーションについては、示されていないか、または詳述されていない。
本明細書全体を通して「一実施形態」と記述されている場合、これは、その実施形態に関して説明されている特定の機能、構造、または特性が少なくとも本発明の1つの実施形態に含まれることを意味する。そのため、「一実施形態では」という語句が明細書の様々な箇所に記載されていても、必ずしもすべて同じ実施形態にあてはまるとは限らない。さらに、特定の特徴、構造、または特性は、1つまたは複数の実施形態において、適切な方法により組み合わせることができる。
概要
一実施形態では、多次元信号シーケンスを効果的に圧縮し、いくつかの歪み制約条件によりビット・レートを小さくするための方法と装置が説明される。この方法は、n次元信号シーケンスを符号化する場合に使用することができ、図27にいくつかの具体例が示されている。この方法の応用例は、送信や格納を目的とするビデオ符号化にある。以下の説明のほとんどでは、図示の例として2次元ビデオ信号シーケンス圧縮のみが詳しく示されているが、ここで教示されている方法と装置は、n次元信号の一般的シーケンスを圧縮するように拡張することができる。
一実施形態では、多次元信号シーケンスを効果的に圧縮し、いくつかの歪み制約条件によりビット・レートを小さくするための方法と装置が説明される。この方法は、n次元信号シーケンスを符号化する場合に使用することができ、図27にいくつかの具体例が示されている。この方法の応用例は、送信や格納を目的とするビデオ符号化にある。以下の説明のほとんどでは、図示の例として2次元ビデオ信号シーケンス圧縮のみが詳しく示されているが、ここで教示されている方法と装置は、n次元信号の一般的シーケンスを圧縮するように拡張することができる。
N次元ブロック・マッチング信号シーケンス符号化
図1は、適応型多次元信号シーケンス符号化システム100の例示的な実施形態のブロック図を示している。このシステムは、n次元信号シーケンスのシーケンスを圧縮するために使用することができる。図27のアイテム2704、2705、2706は、n次元シーケンスのいくつかの例である。システムへの入力は、n次元信号フレーム(例えば、図27のアイテム2701、2702、2703)とすることができる。フレームは、複数のn次元ブロックで構成することができる。図29は、2次元フレーム2901のブロック2902の一例を示している。図1に示されているように、システム100は、フレーム・バッファ102内に復号化されたフレームの集合を保持する。目標ブロックは、基準フレーム内の複数のブロックのうちの1つのブロックまたは何らかの組合せである。入力フレーム101内のそれぞれのブロックは、所定の基準に従ってフレーム・バッファの内側にある基準フレーム内の複数の目標ブロックに対してマッチングさせられる。
図1は、適応型多次元信号シーケンス符号化システム100の例示的な実施形態のブロック図を示している。このシステムは、n次元信号シーケンスのシーケンスを圧縮するために使用することができる。図27のアイテム2704、2705、2706は、n次元シーケンスのいくつかの例である。システムへの入力は、n次元信号フレーム(例えば、図27のアイテム2701、2702、2703)とすることができる。フレームは、複数のn次元ブロックで構成することができる。図29は、2次元フレーム2901のブロック2902の一例を示している。図1に示されているように、システム100は、フレーム・バッファ102内に復号化されたフレームの集合を保持する。目標ブロックは、基準フレーム内の複数のブロックのうちの1つのブロックまたは何らかの組合せである。入力フレーム101内のそれぞれのブロックは、所定の基準に従ってフレーム・バッファの内側にある基準フレーム内の複数の目標ブロックに対してマッチングさせられる。
フレーム間の信号変化の追跡能力を高めるために、ブロック・サイズを可変とすることができる。一実施形態では、異なるブロック・サイズとブロック形状を使用して、基準フレーム内のブロックのマッチングを行うことができる。大きな対象の移動を追跡するために大きなブロックを使用し、小さな対象の移動を追跡するのに小さなブロックを使用することができる。このブロック・マッチング・オペレーションは、2次元ビデオ符号化の場合の動き推定の例示的形態で実装することができる。最良の目標ブロックが見つかった後、現在ブロックと目標ブロックとの間の差は、n次元係数逆相関変換T 104を通じて変換され、変換された係数は、オプションの量子化オペレーションQ 105を通じて量子化され、その後、動きベクトル情報とともに符号化される。量子化オペレーションQは、可逆符号化が必要な場合にはスキップしてよい。可逆符号化の場合、符号化プロセスは逆に実行することができる、つまり、元の信号シーケンスを復号化器により100%の精度で回復できる。人間の目には特定の精度限界があるため、人間の知覚に影響を与えずにある程度の量子化を許容できる。量子化は、量子化誤差が人間の目には目立たないように設定される。
通常のビデオ圧縮システムでは、変換Tは、2次元離散コサイン変換(DCT)である(参考文献[1])。場合によっては、DCTは、最適に近い係数逆相関結果が得られることがある。しかし、計算の複雑さから、DCTは、通常、小さな固定ブロック(MPEG4規格では8×8、H.264規格では4×4)に有効である。ブロック・サイズを大きくし、計算時間を短縮するために、一実施形態では、離散アダマール変換(DHT)が、係数逆相関変換として使用される場合がある。DHTは、係数の逆相関を求めることに関してDCTほど最適ではない(参考文献[2])。しかし、DHTは加算と減算のみでよいので、かなり大きなブロック・サイズも可能であり、DCTと比べて複雑さを低減できる。例示的な一実施形態のシステム100では、変換に対しオプションの可変ブロック・サイズが使用可能であり、異なるブロック・サイズに対し異なる変換をオプションで使用するようにできる。例えば、小さなブロックを変換するためにDCTを使用し、大きなブロックを変換するためにDHTを使用することができる。可変ブロック・サイズ変換では、変換に対するブロック・サイズをブロック・マッチング・サイズと同じにして、小さな固定ブロック・サイズの変換よりもよい係数逆相関効果をもたらすことができる。
符号化されたビデオの品質は、特定の量子化パラメータ(QP)に基づいて変換された係数を離散レベルに量子化する、量子化により制御可能と思われる。QPが大きいほど、レベルの数は少なくなり、したがって、係数を表すためのビットの数は少なくなるが、代わりに低品質になる。QPを慎重に調整することで、レート−歪みのトレードオフの関係のバランスをとることができる。量子化オペレーションの後、変換されたブロックの中の多数の係数が0になる。ビット・レートを低くするために、ジグザグ走査法を通じて、量子化された変換係数を走査するが、これは、低周波成分から高周波成分まで、またはその逆の方向に係数を走査する。このオペレーションにより、N次元係数は1次元シーケンスに変換される。走査された一次元シーケンスは、その後、例示的形態の先行ゼロの数(ラン)、非ゼロ係数の値(レベル)のペアで情報を符号化する、ランレングス符号化106により符号化される。その後、エントロピー符号化オペレーション107(例えば、ハフマンまたは算術符号化)を使用してこの(ラン、レベル)ペアを符号化し、さらにレートを下げることができる。
動き推定(ME)費用関数
例示的な一実施形態では、動き推定(ME)モジュール103は、図1に示されているシステム内の計算を多用するモジュールである。MEブロック・マッチングは、現在ブロックと基準フレーム内の目標ブロックとの間の誤差尺度を最小にすることに基づくことができる。誤差尺度は、エネルギー差尺度に関して指定することができる(例えば、2つのブロックのピクセル間の誤差の二乗和(SSE)または絶対誤差の和(SAE)、SAEをMEサーチの最も広く使用されている尺度とし、計算時間を短縮する(参考文献[1])。SAEまたはSSEなどのエネルギー差尺度を使用しても、必ずしも、最小ビット・レートが得られるわけではない。一実施形態では、エントロピー尺度を、MEサーチを誘導する費用関数として使用し、最良の目標ブロックを見つけることができる。エントロピー尺度では、基準フレームが与えられた場合に、現在ブロックを符号化するために必要な情報の量を測定する。例示的な一実施形態では、MEサーチを誘導して目標ブロックの最小エントロピーを求める方法を使用できる。一実施形態では、ME費用関数は、以下のように指定できる。
J = Rate_T (T (FPD) | QP) + Rate_MV (MV)
(1)
ただし、Rate_*()は、Rate_T、Rate_MVなどのそれ専用の符号化方法のそれぞれによる信号のビットの数であり、T(FPD)は、フレーム予測差FPDの変換であり、QPは、量子化パラメータである。
例示的な一実施形態では、動き推定(ME)モジュール103は、図1に示されているシステム内の計算を多用するモジュールである。MEブロック・マッチングは、現在ブロックと基準フレーム内の目標ブロックとの間の誤差尺度を最小にすることに基づくことができる。誤差尺度は、エネルギー差尺度に関して指定することができる(例えば、2つのブロックのピクセル間の誤差の二乗和(SSE)または絶対誤差の和(SAE)、SAEをMEサーチの最も広く使用されている尺度とし、計算時間を短縮する(参考文献[1])。SAEまたはSSEなどのエネルギー差尺度を使用しても、必ずしも、最小ビット・レートが得られるわけではない。一実施形態では、エントロピー尺度を、MEサーチを誘導する費用関数として使用し、最良の目標ブロックを見つけることができる。エントロピー尺度では、基準フレームが与えられた場合に、現在ブロックを符号化するために必要な情報の量を測定する。例示的な一実施形態では、MEサーチを誘導して目標ブロックの最小エントロピーを求める方法を使用できる。一実施形態では、ME費用関数は、以下のように指定できる。
J = Rate_T (T (FPD) | QP) + Rate_MV (MV)
(1)
ただし、Rate_*()は、Rate_T、Rate_MVなどのそれ専用の符号化方法のそれぞれによる信号のビットの数であり、T(FPD)は、フレーム予測差FPDの変換であり、QPは、量子化パラメータである。
費用関数Jは、Rate_MV()が容易に求められるので、MEサーチプロセスの間にRate_T(T(FPD)|QP)の近似値を求めることにより評価することができる。一実施形態では、Rate_T()は、以下のように特定できる。
Rate_T (T (FPD) | QP) = Rate_T_DC (T_DC{FPD) | QP_dc) +
Rate_T_AC (T_AC (FPD) | QP_ac)
〜= Rate_T_DC (DC {FPD) | QP_dc) +
Rate_T_AC (AC_NORM (FPD) | QP_ac)
(2)
ただし、T_DC(FPD)はT{FPD)のDC成分であり、T_AC(FPD)はT(FPD)のAC行列であり、DC(FPD)はFPDブロックのDC値であり、AC_Norm(FPD)はFPDブロックのAC行列のノルム値
AC_NORM (FPD) = Σij ABS (FPDij - DC (FPD)) (3)
である。
Rate_T (T (FPD) | QP) = Rate_T_DC (T_DC{FPD) | QP_dc) +
Rate_T_AC (T_AC (FPD) | QP_ac)
〜= Rate_T_DC (DC {FPD) | QP_dc) +
Rate_T_AC (AC_NORM (FPD) | QP_ac)
(2)
ただし、T_DC(FPD)はT{FPD)のDC成分であり、T_AC(FPD)はT(FPD)のAC行列であり、DC(FPD)はFPDブロックのDC値であり、AC_Norm(FPD)はFPDブロックのAC行列のノルム値
AC_NORM (FPD) = Σij ABS (FPDij - DC (FPD)) (3)
である。
エントロピー尺度の単純近似値は、以下のように表すことができる。
J = R_DC (DC (FPD) | QP_dc) + R_AC (AC_NORM (FPD) | QP_ac)
+
R_MV (MV) (4)
ただし、R_DC()とR_MV()は、単純なルックアップ・テーブルで正確に評価することができ、R_AC()は、事前当てはめテーブル(pre-fitted table)を通じて近似することができる。
J = R_DC (DC (FPD) | QP_dc) + R_AC (AC_NORM (FPD) | QP_ac)
+
R_MV (MV) (4)
ただし、R_DC()とR_MV()は、単純なルックアップ・テーブルで正確に評価することができ、R_AC()は、事前当てはめテーブル(pre-fitted table)を通じて近似することができる。
R_ACとAC_NORMとの間の関係は、使用される符号化方式に依存し、一実施形態では、図2に示されているように、線形または区分線形モデルで当てはめることができる。一実施形態では、MPEG4規格を使用する場合、R_AC()に対する以下の近似式を使用することができる。
R_AC (AC_NORM | QP_ac) = AC_NORM / (2*QP_ac) (5)
R_AC (AC_NORM | QP_ac) = AC_NORM / (2*QP_ac) (5)
他の実施形態では、以下の線形モデルを使用できる。
R_AC (AC_NORM (FPD) | QP_ac) = K * AC_NORM / QP_ac
(6)
R_AC (AC_NORM (FPD) | QP_ac) = K * AC_NORM / QP_ac
(6)
一般に、Kは、FPDの局所的統計量に基づいて変化しうる。R_ACとAC_NORMとの局所的統計関係を見つけるために、適応型方法を使用して、上で指定されたK係数を動的に調整することができる。
図3は、適応型レート・ルックアップ・テーブル/評価器構造の一実施形態を示している。MEサーチプロセス実行時に、テーブル入力パラメータの集合301をレート・ルックアップ・テーブル/評価器302に入力することにより、エントロピー(例えば、ビット・レートで表される)を推定することができる。ブロック毎に、エントロピー符号107からの実際の符号化レート303と推定レート304とを比較し、誤差305を適応型レート・ルックアップ・テーブルにフィードバックして、いくつかのテーブル・パラメータを調整し、レート誤差を縮小することができる。一般に、デート・ルックアップ・テーブルは、以下に指定されるように、正確なレート部分と推定レート部分とを含む。
J 〜= R_Accurate + R_Estimation (7)
J 〜= R_Accurate + R_Estimation (7)
R_Accurateは、いくつかの入力パラメータが与えられた場合に正確に決定できるレートの部分である。特定の一実施形態では、R_Accurateは、R_DCおよびR_MVを含む、つまり、
R_Accurate = R_DC (DC/QP_dc) + R_MV (MV) (8)
R_Accurate = R_DC (DC/QP_dc) + R_MV (MV) (8)
R_Estimationは、ブロックの推定部分であり、一般にルックアップ・テーブルへの入力パラメータの集合に依存する。一実施形態では、R_Estimationは、いくつかの入力パラメータの一次結合として推定される、つまり、
R_Estimation = Σi Ki * (Xi - Θi) (9)
ただし、{Xi}は入力パラメータ、{Θi}は入力パラメータのしきい値、{Ki}は重み係数である。ここで、最小平均二乗(LMS)アルゴリズム(参考文献[3])を適用して、重み係数{Ki}を学習し、しきい値{Θi}を事前固定または動的調整可能に保つ。上述の方法の特定の一実施形態では、R_DC()、R_MV_X()、R_MV_Y()(およびH.264で使用されているように、多重フレーム参照の場合にはR_MV_F())を正確にルックアップし、線形モデルを使用してR_AC()に対するK係数を適応型方式で調整することができる。この場合、費用関数は以下のように表すことができる。
J = R_DC (DC | QP_dc) + R_MV(MV) +
K * (AC_NORM - AC_THRESHOLD) / QP_ac (10)
R_Estimation = Σi Ki * (Xi - Θi) (9)
ただし、{Xi}は入力パラメータ、{Θi}は入力パラメータのしきい値、{Ki}は重み係数である。ここで、最小平均二乗(LMS)アルゴリズム(参考文献[3])を適用して、重み係数{Ki}を学習し、しきい値{Θi}を事前固定または動的調整可能に保つ。上述の方法の特定の一実施形態では、R_DC()、R_MV_X()、R_MV_Y()(およびH.264で使用されているように、多重フレーム参照の場合にはR_MV_F())を正確にルックアップし、線形モデルを使用してR_AC()に対するK係数を適応型方式で調整することができる。この場合、費用関数は以下のように表すことができる。
J = R_DC (DC | QP_dc) + R_MV(MV) +
K * (AC_NORM - AC_THRESHOLD) / QP_ac (10)
Rをエントロピー符号化の後のブロックのレートとし(DCTとMVに対するレートを含む)、Jをブロックのレートの推定値とすると、以下の手順でKを調整することができる。
ΔK = μ * (R - J) * (AC_NORM - AC_THRESHOLD) / QP_ac
(11)
ただし、ΔKは、K係数の調整であり、(R−J)は、レート誤差であり、μは、学習係数であり、通常、収束速度と安定性のバランスを取る方法で設定され、AC_THRESHOLDは、AC_RATEが非ゼロのままである場合に最小のAC_NORM値を特徴付けるしきい値である。AC_THRESHOLDは、特定の値に事前固定されるか、動的に調整可能とすることができる。一実施形態では、AC_THRESHOLDは、以下のプロセス例に従って調整することができる(擬似コード風にCで記述されている)。
Zero_Point = Th0;
for each block{//ブロック処理ループ
............
If {Actual AC Rate == 0} {
Zero_Point = α * AC_NORM + (1 - α) *
Zero_Point; AC_THRESHOLD = m * Zero_Point;
}
}
ただし、Zero_Pointは、ゼロ・レートのAC_NORM位置を追跡する変数であり、Zero_Pointは、プロセスの開始時に値Th0に初期化され、αは、平均ウィンドウ制御係数であり、0でない小さな正数である。mは、平均Zero_Point値に基づくAC_THRESHOLDの位置を制御する倍率である。
ΔK = μ * (R - J) * (AC_NORM - AC_THRESHOLD) / QP_ac
(11)
ただし、ΔKは、K係数の調整であり、(R−J)は、レート誤差であり、μは、学習係数であり、通常、収束速度と安定性のバランスを取る方法で設定され、AC_THRESHOLDは、AC_RATEが非ゼロのままである場合に最小のAC_NORM値を特徴付けるしきい値である。AC_THRESHOLDは、特定の値に事前固定されるか、動的に調整可能とすることができる。一実施形態では、AC_THRESHOLDは、以下のプロセス例に従って調整することができる(擬似コード風にCで記述されている)。
Zero_Point = Th0;
for each block{//ブロック処理ループ
............
If {Actual AC Rate == 0} {
Zero_Point = α * AC_NORM + (1 - α) *
Zero_Point; AC_THRESHOLD = m * Zero_Point;
}
}
ただし、Zero_Pointは、ゼロ・レートのAC_NORM位置を追跡する変数であり、Zero_Pointは、プロセスの開始時に値Th0に初期化され、αは、平均ウィンドウ制御係数であり、0でない小さな正数である。mは、平均Zero_Point値に基づくAC_THRESHOLDの位置を制御する倍率である。
一実施形態では、(11)のKを調整する方法により、以下のレート関数の平均二乗誤差を最小にすることができる。
min E {(R-J)2} (12)
一般に、複数のパラメータを使用して、(9)で指定されているように、R_Estimationを決定することができ、この場合、K係数に対する以下の適応方法を使用できる。
各iについて、ΔKi = μ * (R - J) * (Xi - Θi) (13)
min E {(R-J)2} (12)
一般に、複数のパラメータを使用して、(9)で指定されているように、R_Estimationを決定することができ、この場合、K係数に対する以下の適応方法を使用できる。
各iについて、ΔKi = μ * (R - J) * (Xi - Θi) (13)
一実施形態では、エネルギー差尺度ベースの費用関数に比べて、エントロピー・ベースの費用関数(4)が生成するビット・レートは低く、画質はよい。
MEサーチ法
最低の費用関数値が得られる最適な点を識別するために、大きな領域のサーチが必要になる場合がある。計算費用は、リアルタイム・アプリケーションをサポートするため法外に高くなる可能性がある。例示的一実施形態では、大領域MEサーチを実行して、全サーチと比べて計算時間の1%未満で完全に近いサーチ結果を得る方法を利用することができる。この方法は、現実世界のn次元フレーム・シーケンス内のほとんどのフレームの内部に(典型的なビデオ・サンプルのように)、少数の動きベクトル・クラスタしかなく、動きベクトル場は、それぞれのクラスタの内側でブロックからブロックへと連続変化するという観察結果に基づく。この観察結果に基づき、近隣ブロックからの動きベクトルにより、MEサーチの開始点に関する適切な示唆情報が得られる可能性がある。
最低の費用関数値が得られる最適な点を識別するために、大きな領域のサーチが必要になる場合がある。計算費用は、リアルタイム・アプリケーションをサポートするため法外に高くなる可能性がある。例示的一実施形態では、大領域MEサーチを実行して、全サーチと比べて計算時間の1%未満で完全に近いサーチ結果を得る方法を利用することができる。この方法は、現実世界のn次元フレーム・シーケンス内のほとんどのフレームの内部に(典型的なビデオ・サンプルのように)、少数の動きベクトル・クラスタしかなく、動きベクトル場は、それぞれのクラスタの内側でブロックからブロックへと連続変化するという観察結果に基づく。この観察結果に基づき、近隣ブロックからの動きベクトルにより、MEサーチの開始点に関する適切な示唆情報が得られる可能性がある。
図4は、高速MEサーチ手順の一実施形態を示している。オペレーション401で、点集合の評価を、近隣ブロック(および、場合によっては、図6に示されているように、MVにより参照される点を囲むすぐ隣りの点)の基準変位インデックス(例えば、動きベクトル(MV))に基づいて行い、詳細サーチ(図4のオペレーション402)の開始点を決定する。近隣ブロックは、空間領域および/または時間領域内のネイバーとすることができ、またネイバー・エクスプロイト集合(neighbor exploit set)と呼ぶことができる。図5は、この方法を2次元ビデオ・シーケンスの場合に適用する例を示しており、3つの近隣ブロック、左501、上502、右上503、原点からのMVは、現在ブロック500に対するMEサーチ開始点を決定するために使用される。これら4つのブロックは、合わせて、現在ブロックのネイバー・エクスプロイト集合504を構成する。最低費用値を生成する点は、詳細MEサーチの開始点として選択される。
近傍エクスプロイト・オペレーション401の後、詳細サーチオペレーション402が実行される。詳細サーチを使用して、ネイバー・エクスプロイト集合内の点を評価することに基づいて選択できる、詳細サーチ開始点の周りの点の決定的な評価を実行することができる。
図7は、このオペレーションの特定の実施形態を示す。ここで、サーチ開始点701の周りの小さな領域702内で2レベルサーチ実行される。レベル1では、他のすべての点についてMEサーチが実行される。レベル1で最良点703が決定された後、レベル0のすぐ隣の点704が評価され、最良の点が決定される。これまでに見つかった最良費用関数値をJ_Bestとする。
詳細サーチの後に、図4のオペレーション403で大領域階層型サーチが実行される。オペレーション403は、大域サーチオペレーションと呼ぶことができる。このオペレーションの目的は、近隣ブロックから正確な初期開始点が得られない場合に、大きなサーチウィンドウ内の点をサンプリングして、詳細サーチ領域の外にある動きベクトルを見つける、図8は、このオペレーションの一実施形態を示す。ここで、nレベル階層型サーチが実行される。それぞれのレベルで、上位レベルからの最良点を囲む8つの点が評価される。サーチウィンドウ=+−128について、以下を示すことができる。
レベル6:(64,0)、(−64,0)、(0,64)、(0,−64)、(64,64)、(64,−64)、(−64,64)、(−64,64)
レベル5:レベル6の最良点から({+−32,0}、{0,+−32}、{+−32,+−32})
レベル4:レベル5の最良点から({+−16,0}、{0,+−16}、{+−16,+−16})
レベル3:レベル4の最良点から({+−8,0}、{0,+−8}、{+−8,+−8})
レベル2:レベル3の最良点から({+−4,0}、{0,+−4}、{+−4,+−4})
レベル1:レベル2の最良点から({+−2,0}、{0,+−2}、{+−2,+−2})
レベル0:レベル1の最良点から({+−1,0}、{0,+−1}、{+−1,+−1})
レベル6:(64,0)、(−64,0)、(0,64)、(0,−64)、(64,64)、(64,−64)、(−64,64)、(−64,64)
レベル5:レベル6の最良点から({+−32,0}、{0,+−32}、{+−32,+−32})
レベル4:レベル5の最良点から({+−16,0}、{0,+−16}、{+−16,+−16})
レベル3:レベル4の最良点から({+−8,0}、{0,+−8}、{+−8,+−8})
レベル2:レベル3の最良点から({+−4,0}、{0,+−4}、{+−4,+−4})
レベル1:レベル2の最良点から({+−2,0}、{0,+−2}、{+−2,+−2})
レベル0:レベル1の最良点から({+−1,0}、{0,+−1}、{+−1,+−1})
計算時間を短縮するために、レベル0まで下ってすべてをサーチする必要はない場合がある。レベル3(オペレーション・サイズ8)で停止しても、許容可能な結果が得られる可能性がある。このプロセスは、最終レベルに到達するまで続けることができる。そこで、nレベル階層型サーチ時に最低費用値となる点を詳細サーチからの最良点と比較し、低い費用値が得られる点を最良MEサーチマッチング点として選択する。
図4に示されているMEサーチオペレーションは、一般に使用される高速サーチ法と異なる。図4のオペレーション401、402、403の独自の組合せと順序から完全に近いサーチ結果が得られる。ここで、オペレーション401を使用して、近隣ブロックから見つかったMVを識別し、詳細サーチ開始点を設定することができる。オペレーション402は、401で見つかった最良開始点の周りの点をもれなく評価するために使用できる。このオペレーションは、さらに、次のオペレーションに対する費用関数値しきい値も設定できる。オペレーション403は、十分に低い費用値が得られる点を詳細サーチで見つけられない場合に、小さな詳細サーチ領域から出て、サーチ空間全体を対象とし、よい点の近傍に到達しようと試みる。すでに評価されているブロックからのサーチ結果は、その近傍内のブロックに移動できる。この中継効果は、よい結果を伝搬することができ、これにより、ブロック間の局所的グループ連携で、セル・オートマトン(参考文献[4])またはニューラルネットワーク(参考文献[5])システムで観察されるシステム・ダイナミックスのような大域的最適化を達成できる。
分数格子点サーチ法
レートをさらに下げるために、一実施形態では、上述のMEサーチ手順の実行を通じて最良の整数格子点が見つかった後に分数格子点サーチを実行できる。MPEG4とH.264規格では、複数タップ補間関数を使用して、q−pelモードでhーpelピクセルを作成する。これだと、MEサーチの内側ループで実行した場合に計算量が増える可能性がある。この問題に対処するために、簡略化された補間を使用して分数点に対しMEサーチを実行する方法を使用することができる。ビデオ符号化アプリケーションでは、例示的な一実施形態において、単純フィルタを使用して、MEサーチに対するサブピクセル値を生成することができる。最良のサブピクセル点が見つかった後、動き補正計算に、より複雑な複数タップ・フィルタを使用できる。この結果は、真の複数タップ・フィルタを使用するMEサーチに近い場合がある。これらの結果は、適応型動き補正フィルタ選択により高めることができる。図9は、この概念の例示的な一実施形態を示す。MEサーチは、単純な平均フィルタを使用して実行することができ、その後、動き補正(MC)プロセス内で低いレートを発生するフィルタを選択することができる。図10は、MEサーチ時に平均フィルタを使用してサブピクセル値を計算する方法を示している。ピクセル値は、整数ピクセル(1001、1001aなど)でしか使用できず、サブピクセル位置は、補間することができる。一実施形態では、双線形補間を使用して、MEサーチ基準フレームのサブピクセル値を計算する。図10の例は、以下を示す。
半ピクセル:
1002でのピクセル値=
(1001でのピクセル値+1001aでのピクセル値)/2
1/4ピクセル:
1003でのピクセル値=
(1001でのピクセル値+1002でのピクセル値)/2
1/8ピクセル:
1004でのピクセル値=
(1001でのピクセル値+1003でのピクセル値)/2
この方法は、一実施形態では、1/(2n)ピクセル評価に拡張することができ、さらに拡張してN次元信号シーケンスを処理するようにできる。
レートをさらに下げるために、一実施形態では、上述のMEサーチ手順の実行を通じて最良の整数格子点が見つかった後に分数格子点サーチを実行できる。MPEG4とH.264規格では、複数タップ補間関数を使用して、q−pelモードでhーpelピクセルを作成する。これだと、MEサーチの内側ループで実行した場合に計算量が増える可能性がある。この問題に対処するために、簡略化された補間を使用して分数点に対しMEサーチを実行する方法を使用することができる。ビデオ符号化アプリケーションでは、例示的な一実施形態において、単純フィルタを使用して、MEサーチに対するサブピクセル値を生成することができる。最良のサブピクセル点が見つかった後、動き補正計算に、より複雑な複数タップ・フィルタを使用できる。この結果は、真の複数タップ・フィルタを使用するMEサーチに近い場合がある。これらの結果は、適応型動き補正フィルタ選択により高めることができる。図9は、この概念の例示的な一実施形態を示す。MEサーチは、単純な平均フィルタを使用して実行することができ、その後、動き補正(MC)プロセス内で低いレートを発生するフィルタを選択することができる。図10は、MEサーチ時に平均フィルタを使用してサブピクセル値を計算する方法を示している。ピクセル値は、整数ピクセル(1001、1001aなど)でしか使用できず、サブピクセル位置は、補間することができる。一実施形態では、双線形補間を使用して、MEサーチ基準フレームのサブピクセル値を計算する。図10の例は、以下を示す。
半ピクセル:
1002でのピクセル値=
(1001でのピクセル値+1001aでのピクセル値)/2
1/4ピクセル:
1003でのピクセル値=
(1001でのピクセル値+1002でのピクセル値)/2
1/8ピクセル:
1004でのピクセル値=
(1001でのピクセル値+1003でのピクセル値)/2
この方法は、一実施形態では、1/(2n)ピクセル評価に拡張することができ、さらに拡張してN次元信号シーケンスを処理するようにできる。
適応型符号化器制御
入力フレームのブロックの特性は、フレーム内で、またフレームからフレームへと変化する。構造を使用して、符号化器出力からのフィードバック、またオプションにより、符号化プロセス全体にわたって監視されているいくつかのブロック特性値からのフィードバックに基づいて符号化器の品質およびパフォーマンスを改善することができる。例えば、ブロックとフレームにまたがるMV範囲分布は均一でない場合がある。大きなMVは、MEサーチサイクルを増やす必要があることを意味するので、不均一なMEサーチサイクルは、複数のブロックとフレームにまたがって必要になることがある。一実施形態では、ハードウェア処理サイクルの利用効率を高めるためフレームとブロック間のサイクル共有を可能にする方法が使用される。図11は、適応型ME制御構造を示している。ME処理ユニット(MEPU)1101は、EMサーチを実行するエンジンである。ME制御ユニット(MECU)1102は、MEPUを制御するために使用されるユニットである。MECUは、入力として、いくつかのME監視パラメータ1104、符号化器フィードバック・パラメータ1106、パラメータ・メモリ1103に格納されたいくつかの調整可能なパラメータを受け取り、ME制御パラメータの集合1105を作成し、MEPUサイクルの利用効率を高めるようにMEPUを適応制御し、最適なMEサーチ目標を達成する。図3に示されている適応型レート・ルックアップ・テーブルと前に指定された学習方法は、図11のME制御関数1107の特定の一実施形態として考えることができる。
入力フレームのブロックの特性は、フレーム内で、またフレームからフレームへと変化する。構造を使用して、符号化器出力からのフィードバック、またオプションにより、符号化プロセス全体にわたって監視されているいくつかのブロック特性値からのフィードバックに基づいて符号化器の品質およびパフォーマンスを改善することができる。例えば、ブロックとフレームにまたがるMV範囲分布は均一でない場合がある。大きなMVは、MEサーチサイクルを増やす必要があることを意味するので、不均一なMEサーチサイクルは、複数のブロックとフレームにまたがって必要になることがある。一実施形態では、ハードウェア処理サイクルの利用効率を高めるためフレームとブロック間のサイクル共有を可能にする方法が使用される。図11は、適応型ME制御構造を示している。ME処理ユニット(MEPU)1101は、EMサーチを実行するエンジンである。ME制御ユニット(MECU)1102は、MEPUを制御するために使用されるユニットである。MECUは、入力として、いくつかのME監視パラメータ1104、符号化器フィードバック・パラメータ1106、パラメータ・メモリ1103に格納されたいくつかの調整可能なパラメータを受け取り、ME制御パラメータの集合1105を作成し、MEPUサイクルの利用効率を高めるようにMEPUを適応制御し、最適なMEサーチ目標を達成する。図3に示されている適応型レート・ルックアップ・テーブルと前に指定された学習方法は、図11のME制御関数1107の特定の一実施形態として考えることができる。
ME制御関数の他の例示的な実施形態では、MEサーチ範囲は、過去のフレームからのMV値に基づいて現在のフレームについて調整することができる。過去のX,Y(およびH.264の場合のフレーム)の動きベクトル値を監視し、現在のフレーム上のそれぞれの次元(X、Y、またはF)のMEサーチ範囲を拡大または縮小することができる。この適応型MEサーチウィンドウ調整法は、動きベクトルを表すために必要なビット・レートを効果的に減らすことができ、MEサーチに対するサイクル数を減らせる。
図12は、MEサーチ範囲の一例を示している。
調整方法。与えられた現在のMEサーチ範囲D 1201について、以下の基準に従ってMEサーチ範囲を調整することができる。
1.範囲が拡大範囲しきい値1024よりも大きいMVの数(この例では3D/4に設定)が何らかの事前設定しきい値よりも大きい場合、MEサーチ範囲を2Dに拡大する。
2.範囲が縮小範囲しきい値1025よりも大きいMVの数(この例では3D/8に設定)が何らかの事前設定しきい値よりも小さい場合、MEサーチ範囲をD/2に縮小する。
1.範囲が拡大範囲しきい値1024よりも大きいMVの数(この例では3D/4に設定)が何らかの事前設定しきい値よりも大きい場合、MEサーチ範囲を2Dに拡大する。
2.範囲が縮小範囲しきい値1025よりも大きいMVの数(この例では3D/8に設定)が何らかの事前設定しきい値よりも小さい場合、MEサーチ範囲をD/2に縮小する。
図12に示されている方法を使用して、それぞれの独立したMEサーチ次元(H.264マルチフレームについてはX、Y、および場合によってはF)のMEサーチ範囲を調整することができる。
上で指定された適応型MEサーチ範囲法に加えて、システム100は、さらに、処理サイクルを節約するために、特定の条件が満たされた場合に、それぞれのブロックについてのMEサーチを早期終了することもできる。早期終了で節約されたサイクルは、利用可能なサイクル・プールに追加できる。MECUは、プール内で利用可能なサイクルに基づき、MEPUが使用するサイクルを割り当て、スケジュールする。このアプローチでは、最良のMEサーチ結果を得るために利用可能な処理サイクルを完全に使用することができる。
図13は、MEPUサイクル・スケジューラ1301の一実施形態を示している。MECUサイクル・スケジューラは、サイクル・プール内で利用可能なサイクルに基づきMEPU 1302内のモジュールに対するMEサーチ制御パラメータを調整する。
早期終了シナリオの3つの例を以下に示す。
1.スキップ状況:基準フレーム内の同じ位置にあるブロックと突き合わせて現在ブロックをチェックする。両方のブロックが類似している場合、ME処理をスキップできる。この状況で、ビデオ符号化ループ(ME、DCTなど)の主要部をスキップし、多数のサイクルを節約する。スキップに対する類似性基準の一実施形態は以下のとおりである。
a.現在ブロックと基準フレーム内の同じ位置にあるブロックとの間のブロック差[BD]を計算する。
b.DC[BD]とAC[BD]を計算する。
c.DC[BD]/QP_dc<SKIP_DC_TH AND AC[BD]/QP_ac<SKIP_AC_THならば、SKIPする。SKIP_DC_THとSKIP_AC_THは、SKIP条件を決定するための何らかのしきい値である。SKIP_DC_THとSKIP_AC_THは、符号化器からの特定のフィードバックに応じて固定または動的に調整可能とすることができる。例えば、一実施形態では、SKIP_AC_THは、上で指定された動的に調整されたAC_THRESHOLD値に設定される。
1.スキップ状況:基準フレーム内の同じ位置にあるブロックと突き合わせて現在ブロックをチェックする。両方のブロックが類似している場合、ME処理をスキップできる。この状況で、ビデオ符号化ループ(ME、DCTなど)の主要部をスキップし、多数のサイクルを節約する。スキップに対する類似性基準の一実施形態は以下のとおりである。
a.現在ブロックと基準フレーム内の同じ位置にあるブロックとの間のブロック差[BD]を計算する。
b.DC[BD]とAC[BD]を計算する。
c.DC[BD]/QP_dc<SKIP_DC_TH AND AC[BD]/QP_ac<SKIP_AC_THならば、SKIPする。SKIP_DC_THとSKIP_AC_THは、SKIP条件を決定するための何らかのしきい値である。SKIP_DC_THとSKIP_AC_THは、符号化器からの特定のフィードバックに応じて固定または動的に調整可能とすることができる。例えば、一実施形態では、SKIP_AC_THは、上で指定された動的に調整されたAC_THRESHOLD値に設定される。
2.適切なマッチ終了:特定のブロックに対するMEサーチの任意の時点において、費用関数が特定のしきい値J_Early_Terminate_THよりも低い場合、MEサーチを終了させることができる。これは、非常によいブロック・マッチが見つかった場合に生じ、その結果、費用関数の値は低い。J_Early_Terminate_THは、符号化器の特定の特性値に基づき事前固定値または動的に調整可能とすることができる。例えば、本発明の一実施形態では、
J_Early_Terminate_TH = f * J_Best_Mean
ただし、fは、1よりも小さい正数であり、J_Early_Ternimate_THを制御するために使用され、J_Best_Meanは、特定の移動サンプリング・ウィンドウを通るJ_Bestの移動平均値である。本発明の一実施形態では、J_Best_Meanは、以下の公式により簡単に計算することができる。
J_Best_Mean = α*J_Best + (1 - α) * J_Best_Mean
ただし、αは、移動平均ウィンドウの幅を制御するために使用される1よりも小さい数である。
J_Early_Terminate_TH = f * J_Best_Mean
ただし、fは、1よりも小さい正数であり、J_Early_Ternimate_THを制御するために使用され、J_Best_Meanは、特定の移動サンプリング・ウィンドウを通るJ_Bestの移動平均値である。本発明の一実施形態では、J_Best_Meanは、以下の公式により簡単に計算することができる。
J_Best_Mean = α*J_Best + (1 - α) * J_Best_Mean
ただし、αは、移動平均ウィンドウの幅を制御するために使用される1よりも小さい数である。
3.MEサーチは終了をあきらめる:これは、さらにMEサーチを行っても、これまでに見つかった最良の費用値J_Bestよりもよい結果が得られる可能性がない場合に生じる。これが生じた場合、その特定のブロックについてさらに多くの点をサーチするのにサイクルを無駄にする必要はない。これは、将来のサーチ点に対する何らかの下限推定により評価できる。将来のサーチ点に対する下限がこれまでに見つかった最良費用よりも大きい場合、何も犠牲にすることなくサーチを終了できる。この考え方は、ゲーム・ツリーサーチで頻繁に使用されるA*サーチアルゴリズム(参考文献[6])をMEサーチに適用することであるとみなせる。以下の実施形態は、この考え方から派生したいくつかの例である。
a.1MVサーチを終了した後、4MVサーチに先立って、1MVから見つかった最良の費用値が動きベクトル・レートよりも小さい場合、つまり以下が成り立つ場合に4MVサーチを終了させる。
J_Best (1MV) <= R_MV (4MV)
これは、以下の理由による。
R_MV (4MV) < J (4MV) =
R_DC (4MV) + R_AC (4MV) + R_MV (4MV)
J_Best (1MV) <= R_MV (4MV)
これは、以下の理由による。
R_MV (4MV) < J (4MV) =
R_DC (4MV) + R_AC (4MV) + R_MV (4MV)
b.MPEG4では、ME予測点からの何らかの螺旋パターンの後にMEサーチを実行した場合、R_MV(MV)は、動きベクトルに対するレートの昇順でサーチ開始点からソートされる。この条件の下で、動きベクトルのレートがこれまでに見つかった最良の費用よりも大きい場合にMEサーチプロセスを終了することができる。この考え方は、図14に例示されている。MEサーチは、何らかの予測点1401から始まる。図14に示されているように、MEサーチは何らかの渦巻波動膨張パターンに従う。MPEG4では、MVは、R_MV=R_MV_X(Delta_X)+R_MV_Y(Delta_Y)のように予測点から差として符号化される。R_MV_X()とR_MV_Y()は、同じVLCテーブルR_MV(Delta)に従い、両方とも、Deltaとともに単調増加する。図14では、MEサーチ波動包丁が波面1402に達したときに、R_MV(D)>=J_Best(これまでに見つかった最良の費用値)であれば、サーチを終了できるが、それは、すべての将来のR_MV()がR_MV(D)よりも大きいからである。
他の実施形態では、A*サーチ法を使用して、サーチプロセスで評価される点の個数を刈り取ることができる。一般に、所定の点pの費用関数J(p)が特定の限界値B(p)よりも大きく、これまでに見つかった最良の費用関数値であるB(p)>J_Bestであれば、点pは、品質を犠牲にすることなくスキップすることができる。B(p)はある程度可変であり点Pの評価プロセスを通じて高くなる可能性があるが、点pに関係する情報がさらに処理されることに注意されたい。与えられた時点において、B(p)>J_Bestが満たされる場合、点pに対する計算を停止することができる。
ネイバー保存走査法(Neighbor Preserving Scanning Method)
過去のブロック処理結果からの最良の適応学習を達成するために、空間的、時間的距離の順序関係を保存するために、特定のシーケンスに従ってブロックが走査され処理される場合に学習情報がさらに役立つ可能性がある。図28は、2次元ビデオ・シーケンス処理におけるネイバー保存走査法を使用する一例を示している。ここで、ブロック2803は、図に示されている順序に従って走査され処理される(2804)。この方法は、以下のように記述することができる。
過去のブロック処理結果からの最良の適応学習を達成するために、空間的、時間的距離の順序関係を保存するために、特定のシーケンスに従ってブロックが走査され処理される場合に学習情報がさらに役立つ可能性がある。図28は、2次元ビデオ・シーケンス処理におけるネイバー保存走査法を使用する一例を示している。ここで、ブロック2803は、図に示されている順序に従って走査され処理される(2804)。この方法は、以下のように記述することができる。
(a)n個のブロック(nは正の整数)のグループの1行を走査し、前の行が終わったところからブロックのグループの次の行を開始する。
(b)1つのフレームの走査を終了した後、前のフレームが終わったところから次のフレーム走査を開始し、前のフレームと逆の順序で行を走査する。フレーム毎に(a)および(b)を繰り返す。
(b)1つのフレームの走査を終了した後、前のフレームが終わったところから次のフレーム走査を開始し、前のフレームと逆の順序で行を走査する。フレーム毎に(a)および(b)を繰り返す。
示されている走査プロセスは、走査されたシーケンスのネイバー関係を保存することができる、つまり走査の後の1次元シーケンス内の近隣ブロックがさらに元のn次元シーケンス内の空間的または時間的ネイバーでもある。一般に、近傍保存走査は、以下の条件のマッチングを最大化する。
(a)走査後の1次元シーケンス内の近隣ブロックは、さらに、元のN次元シーケンス内のネイバーでもある。
(b)2つのブロックは、同じフレーム内で隣接するブックであるか(空間的ネイバー)、または隣接するフレーム内の同じ位置に常駐する(時間的ネイバー)場合にネイバーと考えられる。
走査方法例は、階層方式で使用することができる。
(a)走査後の1次元シーケンス内の近隣ブロックは、さらに、元のN次元シーケンス内のネイバーでもある。
(b)2つのブロックは、同じフレーム内で隣接するブックであるか(空間的ネイバー)、または隣接するフレーム内の同じ位置に常駐する(時間的ネイバー)場合にネイバーと考えられる。
走査方法例は、階層方式で使用することができる。
一実施形態では、それぞれのn次元ブロックは、それ自体の中の同じ方法で走査することもできる。一般に、この走査方法に対するマルチレベル階層を許容できる。ネイバー保存走査法の例は、さらに、入力信号が信号処理順序とマッチするように準備する電荷結合素子(CCD)センサとCMOSセンサなどの周辺イメージ走査デバイスに適用することもできる。この方法で、入力感知デバイスからフレーム・バッファを取り除くことが可能であると思われる。図30は、CMOSまたはCCDイメージ走査に対する我々の走査方法の一実施形態を示している。ここで、それぞれのピクセル3001で感知された光信号は、近傍保存順序3002で走査される。
N次元メモリ記憶装置
MEアルゴリズムの実装には、通常、基準バッファ・メモリにアクセスする際にボトルネックがある。ビデオ・ストリームは、通常、ビデオ・アルゴリズムの2次元または3次元オブジェクトで編成され、1次元線形アドレス指定ベースのメモリを使用しても、効率的な結果は得られない。この問題に取り組むために、特別なメモリ構造である、従来の1次元アドレス指定ベースのメモリに基づくn次元メモリ記憶装置が開発され、それにより、MEアルゴリズム・フレーム・バッファのアクセスに対するメモリ・アクセス効率とアクセス・パターンの柔軟性が最適化される。しかし、この構造を使用することは、MEアルゴリズムに限定されない。n次元データ処理では、このメカニズムを使用して、柔軟性と効率の利点を活かすことができる。
MEアルゴリズムの実装には、通常、基準バッファ・メモリにアクセスする際にボトルネックがある。ビデオ・ストリームは、通常、ビデオ・アルゴリズムの2次元または3次元オブジェクトで編成され、1次元線形アドレス指定ベースのメモリを使用しても、効率的な結果は得られない。この問題に取り組むために、特別なメモリ構造である、従来の1次元アドレス指定ベースのメモリに基づくn次元メモリ記憶装置が開発され、それにより、MEアルゴリズム・フレーム・バッファのアクセスに対するメモリ・アクセス効率とアクセス・パターンの柔軟性が最適化される。しかし、この構造を使用することは、MEアルゴリズムに限定されない。n次元データ処理では、このメカニズムを使用して、柔軟性と効率の利点を活かすことができる。
図15は、このメモリ・アクセス問題を例示している。2次元の場合は、MEアルゴリズムのように、この図の中で例として使用されている。ビデオ・アプリケーションでは、ビデオ・データは、通常、TV画面上の任意のインスタンスのところに画像を示す2次元フレームで配列される。(図15の1501)フレームの内側では、データは、通常、より小さな2次元ブロックで編成される。これらのブロックは、通常16×16または8×8のサイズである。これらのブロックは、それぞれのフレーム上に固定格子パターンで形成される(図15の1502)。
ビデオ・アルゴリズムでは、これらのブロックは、効率的な方法でアクセスされなければならない、例えば、1単一サイクルまたは1単一バーストでブロック内のすべてのピクセルを取得しなければならない。ビデオ・アルゴリズムでは、2次元ブロックは、図15で1503と示されているように、固定された格子に揃えられないランダム位置でアクセスされなければならない。
電子メモリ(例えば、SDRAM、SRAMなど)は、1次元ベースのアドレス指定メカニズムで編成され、これにより、せいぜい線形的な方法でピクセルの同時アクセス/バースト、つまり1行のピクセルの同時アクセス/バーストが可能になる。メモリ内のピクセル・データ割り当ての何らかの事前配列により、フレーム内の固定された格子パターンに揃えたブロックのバーストを実行することが可能である。しかし、ランダムに配置されたブロックの1つのサイクル/バーストでのアクセスを許可することはできない。
メモリ構造ソリューションの一実施形態のブロック図が図16に示されている。このブロック図では、n次元オブジェクト・メモリはL個のスライスに分けられる。メモリ・スライスのそれぞれは、従来の1次元メモリ(例えば、SRAM内の)である。それぞれのスライスのデータ幅は、オブジェクトの最小要素サイズである。ビデオでは、このサイズは(例えば、8ビットの)1ピクセルである。他のアプリケーションでは、メモリ・スライスのバス幅は、任意サイズとすることができる。Lスライス編成の目標は、1サイクルで(データ・ブロックがL個の要素を持つ場合)、またはそれぞれL個の要素を含む複数アクセス・サイクルからなるバーストでn次元ブロックへのアクセスを可能にすることである。これを達成するうえで、問題は、n次元ブロック・データをL個のスライスにどのように割り当てるかである。そこで、それぞれのスライスに割り当てられるデータに対し以下の2つの基準を用意する。
(1)同じブロックに属すデータ要素は、コンフリクトなしで同時にブロック内のL個のデータ要素にアクセスできるようにLスライスに均等に割り当てなければならない。
(2)スライスの数Lがブロック内のデータ要素の個数よりも小さい場合、つまり、Bをブロック内の要素の個数としてB=L*Mであれば、同じスライス内に1ブロック分の複数の要素(M)が存在している。M個のデータ要素をスライス上の連続する範囲内に入れて、ブロック・アクセスの単一バーストを可能にしなければならない。
(2)スライスの数Lがブロック内のデータ要素の個数よりも小さい場合、つまり、Bをブロック内の要素の個数としてB=L*Mであれば、同じスライス内に1ブロック分の複数の要素(M)が存在している。M個のデータ要素をスライス上の連続する範囲内に入れて、ブロック・アクセスの単一バーストを可能にしなければならない。
一方法例に基づいてデータを割り当てる一例が図17に示されている。この図には、L=12の例による3×4の2次元ブロックが示されている。このようにして、フレーム内の3×4ブロックは、1単一サイクルでアクセスできる。L=6とM=2の他の例は、図18に示されている。この場合、3×4ブロックは、同じスライス・メモリIDを持つ2つの要素からなる。つまり、3×4ブロックは、2クロック・サイクルでアクセスできる。さらに、図17、図18に示されているように、1行内のアクセスLピクセルも、1クロック・サイクルでアクセスできるが、それは、行ピクセルの集合内にスライス・メモリの重複がないからである。
この方法例によるデータ割り当てが完了したら、図16に示されているように、割り当てパターンを反映するようにアドレス変換とデータ多重化制御を設計することができる。
例示的な一実施形態では、次元の数n、それぞれの次元のブロック・サイズの数、メモリ・スライスの数Lは、すべて、特定のアプリケーションで必要とする場合に当てはまるようにパラメータ化することができる。
マルチレベルN次元メモリ記憶装置
ビデオMEアルゴリズムは、非リアルタイムのCPUシステムからそれ自身を区別する要求条件の以下の一意的な集合を持つ。
1.大容量
2.広帯域幅
3.2次元データ要素のランダム・アクセス
4.安価
ビデオMEアルゴリズムは、非リアルタイムのCPUシステムからそれ自身を区別する要求条件の以下の一意的な集合を持つ。
1.大容量
2.広帯域幅
3.2次元データ要素のランダム・アクセス
4.安価
これらの要求条件のうち、第2と第3の要求条件は、すでに説明されているメモリ・メカニズムにより解決できる。しかし、大容量や安価については、n次元記憶装置メカニズムを単独で使用している場合には解決できない。それに加えて、スライス数Lが大きいと、アクセス帯域幅は広くなるが、それと同時に費用が上昇する。
従来のマルチレベル・キャッシュ・メモリ階層は、N次元メモリに適用することができる。n次元記憶装置の高速性と費用により、これは処理エンジンに最も近い一番内側レベルのメモリに最も好適である。
n次元記憶装置の例示的な2レベル・メモリ実施形態は、図19に示されている。このメカニズムでは、データが最初に第2レベル・メモリ(例えば、SDRAM)から読み込まれ、オンチップn次元記憶装置に格納されるように、データの編成が行われる。データがn次元記憶装置内に入ると、データは、柔軟にアクセスでき、何回も再利用できる。このようにして、外部SDRAM帯域幅およびアクセス・パターンの柔軟性に対する要求は低減される。
SDRAMが2レベルn次元記憶装置内の第2レベルのメモリとして使用される場合、n次元データ構造をサポートし、SDRAMアーキテクチャの制限を克服するために、SDRAMの使用に関する詳細が必要である。SDRAM設計のアーキテクチャのせいで、SDRAMアクセスにはオーバーヘッドがかかわってくる。通常、SDRAMへのアクセスは、以下のオペレーションを伴い、それぞれ、バースト間にオーバーヘッドを引き起こす様々な遅延を含む。
(1)すでにアクセスされているメモリ・バンクのプリチャージ
(2)RASコマンドの送信
(3)CASコマンドの送信
(1)すでにアクセスされているメモリ・バンクのプリチャージ
(2)RASコマンドの送信
(3)CASコマンドの送信
ピクセル・データの適切な配列なしでは、バースト・アクセス間のオーバーヘッドは非常に高いものになりうる。その一方で、SDRAMは、コマンド発行とプリチャージを独立に可能にする複数バンクのメモリ編成を実現している。フレームのピクセル・データの編成が適切であれば、SDRAMのアクセス・オーバーヘッドは、最小限に抑えられる。このために、図20のように、SDRAM内のフレーム・バッファ・データ割り当てパターンを固定した。フレーム・バッファは、最初に、固定サイズ(16×16、8×8、または他の固定サイズ)のブロックに予め分割し、それぞれのブロックがSDRAMメモリの1つのバンクに割り当てられるようにする。図20の例は、8×8ブロックを示している。ブロックは、図15の1502で説明されているように固定格子パターンに揃えられる。これらのブロックは、図20に示されているように、順次バンクIDに順次配列される。1つのブロック内で、ピクセル・データは、図21に示されている順序で配列される。
これにより、以下に示されているSDRAMへのアクセス・パターンは、オーバーヘッド・ゼロで実行される。
(1)ブロック・バースト−ブロック全体が1つのバンク内で連続的に配列される。したがって、ブロック全体のアクセスは、1単一バーストで実行される。
(2)順次ブロック・バースト−ラスター走査順序の複数ブロックのバースト・アクセス(図20に示されているように)は、複数のバーストで実行される。それぞれのブロックは、異なるバンクに割り当てられるため、これらのバースト・コマンドは、オーバーヘッドが生じないようにパイプラインで送られる。
(3)行アクセス−同じライン内の1行分のピクセルに複数のバーストでアクセスすることができる。ここでもまた、複数のバーストは、異なるバンクに属し、したがって、バースト間のパイプライン化が可能である。オーバーヘッドがゼロかどうかは、1つのブロック内のバーストがどれだけ長いかに依存し、またSDRAMのCASおよびRAS遅延に依存する。
(1)ブロック・バースト−ブロック全体が1つのバンク内で連続的に配列される。したがって、ブロック全体のアクセスは、1単一バーストで実行される。
(2)順次ブロック・バースト−ラスター走査順序の複数ブロックのバースト・アクセス(図20に示されているように)は、複数のバーストで実行される。それぞれのブロックは、異なるバンクに割り当てられるため、これらのバースト・コマンドは、オーバーヘッドが生じないようにパイプラインで送られる。
(3)行アクセス−同じライン内の1行分のピクセルに複数のバーストでアクセスすることができる。ここでもまた、複数のバーストは、異なるバンクに属し、したがって、バースト間のパイプライン化が可能である。オーバーヘッドがゼロかどうかは、1つのブロック内のバーストがどれだけ長いかに依存し、またSDRAMのCASおよびRAS遅延に依存する。
外部SDRAMへのアクセスは非常に限られたアクセス・パターンを持ちうるとしても、SDRAMを第2またはそれ以上のレベルのメモリとして使用するマルチレベルN次元記憶装置では、SDRAMからN次元記憶装置にデータが読み込まれると、データへの非常に柔軟なアクセスを行える。
MEサーチ用の並列螺旋パターン(PSP)アレイ・プロセッサ
一実施形態では、並列螺旋型サーチパターンとアレイ・プロセッサを使用するMEアルゴリズムで必要な参照帯域幅を低減するアーキテクチャが提案されている。このアプローチでは、図22に例示されているように、複数のプロセッサが基準バッファからの同じデータ出力を共有できる可能性がある。
一実施形態では、並列螺旋型サーチパターンとアレイ・プロセッサを使用するMEアルゴリズムで必要な参照帯域幅を低減するアーキテクチャが提案されている。このアプローチでは、図22に例示されているように、複数のプロセッサが基準バッファからの同じデータ出力を共有できる可能性がある。
一実施形態では、MEアルゴリズムにおける固定サーチ/アクセス・パターンの性質を利用できる。2レベル・メモリ出力を共有する方法では、複数のサーチ点が並列実行されるようにMEアルゴリズムでサーチパターンを事前に指定する。従来、MEアルゴリズムは、様々なアルゴリズムを使用している。一実装では、最終的に最良のサーチ点を見つけるまで事前指定されたサーチトレースを辿る螺旋型サーチを使用する。図23は、4ピクセルのオペレーション・サイズの螺旋型サーチを示している。固定アクセス・メモリのアクセス・パターンによるサーチの並列実行を可能にするため、本発明では、「並列螺旋型サーチ」であるサーチパターンを使用する。
図24は、Pサーチ点が並列である並列螺旋パターンの一例を示しており、この例ではP=9である。P個のサーチ点が固定、例えば、3×3格子パターンで並列処理される場合、入力データをさらに分析して、共有を高め、メモリ帯域幅使用度を減らすようにできる。
この概念の例は、図25に示されている。図内のサーチ点のそれぞれは、費用関数が実行される位置を指定する。この場合、費用関数は、16×16のサイズのブロックに基づくと仮定できる。サーチ点1、2、3は、それぞれの行内の24ピクセル入力のうちから16個のピクセルを共有する。この方法で、第1の行は、基準バッファから読み込まれると、3つすべてのサーチ点1、2、3により共有される。行5から始めると、データは、サーチ点1、2、3、4、5、6により共有される。第9の行から開始すると、9つすべてのサーチ点により共有される。9つのサーチ点は固定された3×3格子で配列されるため、基準バッファに対するアクセス・パターンは固定され、バッファから読み出されるときにデータを再利用するように容易に設計できる。
並列螺旋型サーチパターンに基づくこのアレイ処理アーキテクチャでは、サーチパターン・オペレーション・サイズ、x、y次元によるアレイ・サイズは、すべて、任意の値に設定できるパラメータであることに注意されたい。
MEサーチ用のN次元メモリを備えるPSPアレイ・プロセッサ
代替えとして、n次元メモリが並列螺旋型アレイ・プロセッサとともに使用される場合、PSPアレイ・プロセッサは、さらに、データの列、またはデータのブロック(例えば、4×4)に入ることができる。この組合せの実施形態は、図26に示されている。
代替えとして、n次元メモリが並列螺旋型アレイ・プロセッサとともに使用される場合、PSPアレイ・プロセッサは、さらに、データの列、またはデータのブロック(例えば、4×4)に入ることができる。この組合せの実施形態は、図26に示されている。
並列螺旋型アレイ・プロセッサをn次元記憶装置とともに使用すると、パフォーマンスが向上する。n次元記憶装置がない場合、アレイ・プロセッサにより、データの行または列のみが読み込まれ、共有される。基準バッファは、一度に16ピクセルの入力データを与える16ピクセルのデータ幅を持つと仮定しよう。図25の場合を考察する。N次元記憶装置が利用できない場合、16ピクセルの行または列のみが一度に読み込まれる。それぞれ24ピクセルからなる全部で24の行にアクセスするには、9つのプロセッサにより、48サイクルが必要であり、共有される。このようにして、1プロセッサ当たりのサイクル数は48/9=5.33となる。
N次元記憶装置が用意され、図26に示されているように1サイクルで4×4ブロックのアクセスが可能である場合、全部で36サイクルが必要である。この場合1プロセッサ当たりのサイクル数は、36/9=4である。PSPとアレイ・プロセッサがなければ、サイクル数は1プロセッサ当たり16サイクルであることに注意されたい。パフォーマンスは、PSPプロセッサ単独では16から5.33に、N次元記憶装置付きのPSPでは4に改善する。まとめると、アレイ・プロセッサ・アーキテクチャは、単独で使用できるか、またはここで説明されているようにN次元メモリとともに使用することができるということである。2レベル・メモリを備えるアレイ・プロセッサでの並列螺旋パターンの使用により、従来の単一螺旋点サーチパターンと比較してMEアルゴリズムのさらに効率的な実装がさらに多くの点のサーチを可能にし、したがって、より高い圧縮パフォーマンスが得られる。
さらに、本明細書のいくつかの実施形態は、物理的回路(例えば、半導体チップ上の)内だけでなく、機械可読媒体内にも実現することができることに注意されたい。例えば、上述の回路と設計は、半導体デバイスを設計するために使用される設計ツールに関連する機械可読媒体に格納する、および/または埋め込むことができる。例えば、VHSIC Hardware Description Language(VHDL)言語、Verilog言語、またはSPICE言語でフォーマットされたネットリストがある。ネットリストの例としては、ビヘイビア・レベル・ネットリスト、レジスタ転送レベル(RTL)ネットリスト、ゲート・レベル・ネットリスト、トランジスタ・レベル・ネットリストがある。機械可読媒体にも、GDS−IIファイルなどのレイアウト情報を含む媒体がある。さらに、ネットリスト・ファイルまたは半導体チップ設計用のその他の機械可読媒体は、上述の教示の方法を実行するためにシミュレーション環境で使用することができる。
そのため、本発明のいくつかの実施形態は、何らかの形態の処理コア(コンピュータのCPUなど)上で実行される、または機械可読媒体上にまたは機械可読媒体内に他の何らかの手段により実装または実現されるソフトウェア・プログラムとして、またはサポートするために、使用することができることも理解されるであろう。機械可読媒体は、機械(例えば、コンピュータ)可読な形態で情報を格納または伝送するためのメカニズムを備える。例えば、機械可読媒体は、読み取り専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュ・メモリ・デバイス、電気、光、音響、またはその他の形態の伝搬される信号(例えば、搬送波、赤外線信号、デジタル信号など)などを含む。
そこで、適応型多次元信号シーケンス符号化方法、復号化方法、システムが説明された。本発明は、特定の例示的な実施形態を参照しつつ説明されているが、本発明のより広い精神および範囲を逸脱することなく、これらの実施形態に様々な修正および変更を加えられることは明白であろう。したがって、明細書と図面は、制限ではなく、例示を目的としているものとみなすべきである。
参照文献
[1] Iaiain E.G. Richardson, video Codec Design, John Willey & Sons, Ltd., 2002, 1983
[2] Douglas F. Elliott and K. Ramamohan Rao, Fast Transforms: Algorithms, Analyses, Applications, Academic Press, 1983
[3] Bernard Widrow and Samuel D. Stearns, Adaptive Signal Processing, Prentice-Hall, Inc., 1985
[4] John von Neumann, "Theory of Self-Reproducing Automata", edited and completed by Arthur W. Burks, University of Illinois Press, Urbana and London, 1966
[5] Tsu-Chang Lee, Structure Level Adaptation for Artificial Neural Networks, Kluwer Academic Publishers, 1991
[6] Nils J. Nilsson, Principles of Artificial Intelligence, Morgan Kaufmann, 1986
[1] Iaiain E.G. Richardson, video Codec Design, John Willey & Sons, Ltd., 2002, 1983
[2] Douglas F. Elliott and K. Ramamohan Rao, Fast Transforms: Algorithms, Analyses, Applications, Academic Press, 1983
[3] Bernard Widrow and Samuel D. Stearns, Adaptive Signal Processing, Prentice-Hall, Inc., 1985
[4] John von Neumann, "Theory of Self-Reproducing Automata", edited and completed by Arthur W. Burks, University of Illinois Press, Urbana and London, 1966
[5] Tsu-Chang Lee, Structure Level Adaptation for Artificial Neural Networks, Kluwer Academic Publishers, 1991
[6] Nils J. Nilsson, Principles of Artificial Intelligence, Morgan Kaufmann, 1986
Claims (78)
- 信号シーケンスを処理するシステムであって、
複数の現在のフレーム・ブロックと複数のn次元基準フレームを含むn次元の現在のフレームを含み、それぞれのフレームは複数の基準フレーム・ブロックを含む前記複数のn次元基準フレームからのフレームである、信号シーケンスを受け取る微分器と、
前記複数のn次元基準フレームを格納するためのフレーム・バッファと、
前記複数の現在のフレーム・ブロック内のそれぞれのブロックに対する前記複数の基準フレーム・ブロックの予測ブロックを識別し、前記複数の現在のフレーム・ブロック内のそれぞれのブロックに対するそれぞれの予測ブロックに対する基準変位インデックスとブロック予測差を決定し、前記基準変位インデックスで前記基準フレーム・ブロック内の1つの点を識別する、ブロック・マッチング予測器と、
前記複数の現在のフレーム・ブロック内のそれぞれのブロックに対するそれぞれのブロック予測差とそれぞれの基準変位インデックスを符号化し、それによって複数の符号化ブロックを作成するブロック符号化器と、
所定のフォーマットにより前記複数の符号化ブロックを包んでまとめるシーケンス符号化器を備えるシステム。 - 前記所定のフォーマットにより前記複数の符号化されたブロックの包み込みを解くシーケンス復号化器と、
それぞれのブロック予測差とそれぞれの基準変位インデックスを使用して前記複数の符号化されたブロックからそれぞれのブロックを復号化するブロック復号化器とを備える請求項1に記載のシステム。 - 前記予測ブロックは、前記複数の基準フレーム・ブロックを使用して現在のフレーム・ブロックを符号化するために必要な情報の量を最小限に抑えるために識別される請求項1に記載のシステム。
- 予測ブロックの識別の計算量を判定する費用を推定コンポーネントを含み、前記費用推定コンポーネントは費用関数を使用する請求項1に記載のシステム。
- 前記費用推定コンポーネントは、前記ブロック予測差の複数の特性値の一次結合と前記ブロック・マッチング予測器の1つまたは複数の状態を含むグループから選択された1つまたは複数のパラメータに基づいて推定を利用する請求項4に記載のシステム。
- 前記費用関数は、前記ブロック予測差の特性値により指定されたテーブル・エントリを含む少なくとも1つのテーブルと前記ブロック・マッチング予測器の1つまたは複数の状態に基づく請求項4に記載のシステム。
- 前記複数の基準フレーム・ブロックを使用して前記現在のフレーム・ブロックを符号化するために必要な情報の量は、それぞれのブロック予測差のビット・レートとそれぞれの基準変位インデックスのビット・レートの和により決定される請求項3に記載のシステム。
- 変換されたn次元係数を符号化する前にn次元係数逆相関変換Tを使用してブロック予測差を変換するための係数逆相関変換コンポーネントを備える請求項1に記載のシステム。
- 前記ブロック・マッチング予測器は、可変形状とサイズのブロックを処理することができる請求項1に記載のシステム。
- 前記係数逆相関変換コンポーネントは、可変形状とサイズのブロックを処理することができる請求項8に記載のシステム。
- 前記係数逆相関変換コンポーネントは、関連する形状とサイズを持つブロックを使用し、前記関連する形状とサイズは前記ブロック・マッチング予測器により選択される請求項8に記載のシステム。
- 前記係数逆相関変換コンポーネントは、1つまたは複数のシステム・パフォーマンス要件に従って変換方法を使用する請求項8に記載のシステム。
- 前記ブロック符号化器は、n次元ジグザグ走査とランレングス符号化を使用して変換されたn次元係数を符号化する請求項8に記載のシステム。
- 変換Tは、n次元離散コサイン変換(DCT)である請求項8に記載のシステム。
- 変換Tは、N次元離散アダマール変換(DHT)である請求項8に記載のシステム。
- 前記費用関数Jは、
J = Rdc (DC) + Rac (AC) + Rri(基準インデックス)
の形式であり、Rdc(DC)は、ブロック予測差のDC係数に対するレートであり、Rac(AC)は、ブロック予測差のAC係数に対するレートであり、Rri(基準インデックス)は、基準インデックスに対するレートである請求項4に記載のシステム。 - 前記Rac(AC)は、AC_NORM(Rac(AC_NORM))の関数として推定することができ、AC_NORMは、前記ブロック予測差の前記AC成分のNORMである請求項16に記載のシステム。
- 前記Rac(NORM)は、AC_NORMの線形関数またはAC_NORMの区分線形関数である請求項17に記載のシステム。
- 前記Rac(NORM)は、
Rac (AC_NORM) = K * (AC_NORM - AC_THRESHOLD) / QP_ac
の形式であり、
前記AC_THRESHOLDは、オプションにより前記推定から削除することができる請求項18に記載のシステム。 - 前記Kは、
ΔK = μ * Error * (AC_NORM - AC_THRESHOLD) / QP_ac
となるように、実際のレートに基づき最小平均2乗(LMS)アルゴリズムにより調整することができ、
前記Errorは、レート推定誤差であり、μは、学習係数であり、Error=Actual_AC_Rate−Rac(NORM)である請求項19に記載のシステム。 - 前記AC_THRESHOLDは、実際のAC_RateとAC_NORMを使用して調整することができる請求項19に記載のシステム。
- 前記AC_NORMは、L1 NORMであり、前記L1 NORMは前記ブロック予測差のそれぞれの成分の絶対値の総和である請求項17に記載のシステム。
- 前記AC_NORMは、L2 NORMであり、前記L2 NORMは前記ブロック予測差のそれぞれの成分の2乗の総和の平方根である請求項17に記載のシステム。
- 前記システムは、2次元ビデオ・シーケンスの符号化の使用に適合される請求項1に記載のシステム。
- 前記ブロック・マッチング予測器は、前記複数の基準フレームのうちの1つまたは複数の基準フレーム内の1つまたは複数の点を評価する請求項1に記載のシステム。
- 前記複数の基準フレームのうちの前記1つまたは複数の基準フレーム内の前記1つまたは複数の点の前記評価は、ネイバー・エクスプロイト・オペレーションを含み、前記ネイバー・エクスプロイト・オペレーションは近隣ブロックの評価に応じて得られる結果を使用して前記目標基準ブロックを評価することを含む請求項25に記載のシステム。
- 前記ブロック・マッチング予測器は、前記目標基準ブロックを評価するために前記近隣ブロックに関連付けられた基準変位インデックスを使用する請求項26に記載のシステム。
- 前記ネイバー・エクスプロイト・オペレーションは、前記目標基準ブロックが前記予測ブロックかどうかを判定するために前記近隣ブロックに関連付けられた前記基準変位インデックスを使用して前記目標基準ブロックに対する目標システムの目標を評価する請求項27に記載のシステム。
- 前記基準変位インデックスにより参照される目標点を識別し、
前記目標点のすぐ近くにある近隣点を評価することを含む請求項28に記載のシステム。 - 前記ブロック・マッチング予測器は詳細サーチオペレーションを実行し、前記詳細サーチオペレーションは目標点の周りの領域を評価する請求項29に記載のシステム。
- 前記詳細サーチオペレーションは、
それぞれの次元についてステップ・サイズ2で目標点の周りの最良点を識別し、
前記目標点のすぐ近くにある1つまたは複数の点を評価することを含む請求項30に記載のシステム。 - 前記ブロック・マッチング予測器は、大域サーチオペレーションを実行し、前記大域サーチオペレーションは複数の点を評価するためしきい値を設定することに応答して実行される請求項25に記載のシステム。
- 前記大域サーチオペレーションは、nレベル階層サーチを含む請求項32に記載のシステム。
- nレベル階層サーチは、レベルK>0で停止できる請求項33に記載のシステム。
- 前記しきい値は、前記ネイバー・エクスプロイト・オペレーションの最良の結果により設定される請求項32に記載のシステム。
- 前記しきい値は、前記詳細サーチオペレーションの最良の結果により設定される請求項32に記載のシステム。
- 前記方法は、2次元ビデオ・シーケンスの符号化の使用に適合される請求項1に記載のシステム。
- 前記ブロック・マッチング予測器は、分数点予測器を含み、
前記基準フレームは、複数の格子点と複数の分数点を含む請求項1に記載のシステム。 - 前記複数の分数点からの1つの分数点上の信号は、1つまたは複数の整数格子点または1つまたは複数の前回補間された格子点から補間される請求項38に記載のシステム。
- 前記分数点は、双線形補間を使用して補間される請求項39に記載のシステム。
- 前記分数点は、マルチタップ補間を使用して補間される請求項39に記載のシステム。
- 前記ブロック・マッチング予測器は、前記最良の点を選択するために第1の補間メカニズムを使用して前記複数の分数点から1つまたは複数の分数点を評価し、第2の補間メカニズムを使用して前記ブロック予測差を計算する請求項39に記載のシステム。
- 前記第1の補間メカニズムは、双線形補間に基づき、前記第2の補間メカニズムは、マルチタブ補間に基づく請求項42に記載のシステム。
- 前記第2の補間メカニズムは、目標システムの目標を最適化するように補間器の集合から適応的に選択できる請求項39に記載のシステム。
- 1つまたは複数の符号化パラメータを動的に調整する符号化フィードバック制御ユニットを備え、前記1つまたは複数の符号化パラメータは、前記ブロック符号化器から得られる1つまたは複数のフィードバック・パラメータと符号化監視パラメータの集合を含むグループから選択された1つまたは複数の基準に従って調整される請求項1に記載のシステム。
- 前記符号化フィードバック制御ユニットは、前記ブロック符号化器から得られる1つまたは複数のフィードバック・パラメータと符号化監視パラメータの集合を含む前記グループから選択された1つまたは複数の基準に従って、1つまたは複数のブロック予測処理パラメータを動的に調整する適応型ブロック・マッチング制御ユニットを備える請求項45に記載のシステム。
- 前記ブロック・マッチング制御ユニットは、前回符号化されたフレームからの1つまたは複数のサーチ特性に基づいて前記現在のフレームのそれぞれの次元のサーチ範囲を調整する請求項46に記載のシステム。
- 前記現在のフレームに対するそれぞれの次元の前記サーチ範囲は、前記前回符号化されたフレームからの動きベクトル分布の関数に基づき調整される請求項47に記載のシステム。
- 前記ブロック・マッチング制御ユニットは、前記ブロック符号化器からのフィードバックに応じて前記費用推定コンポーネントにより使用される費用関数を調整する請求項46に記載のシステム。
- 前記ブロック・マッチング制御ユニットは、前記ブロック符号化器により生成される実際の費用関数値と推定費用値との間の誤差に応じて前記費用関数の前記パラメータを調整し、前記推定された費用値は前記パラメータ化された費用関数を使用して計算される請求項49に記載のシステム。
- 前記費用関数は、最小平均2乗(MLS)アルゴリズムを使用して構造化され調整される請求項49に記載のシステム。
- 前記ブロック・マッチング予測器制御ユニットは、1つまたは複数のプロセス・パラメータを動的に調整し、ブロック予測プロセスの処理サイクルを割り当て、スケジュールする請求項46に記載のシステム。
- 前記ブロック・マッチング予測器は、早期終了条件に従って処理を終了する請求項1に記載のシステム。
- 前記早期終了条件は、スキップ条件を含み、前記スキップ条件はスキップしきい値に応じて前記現在ブロックが前のブロックにより表すことができることを示す請求項53に記載のシステム。
- 前記スキップしきい値は、前記ブロック符号化器からのフィードバックに応じて動的に調整可能である請求項54に記載のシステム。
- 前記早期終了条件は、適切なマッチ条件を含み、前記適切なマッチ条件は費用関数値が所定の適切なマッチしきい値よりも低いことを示す請求項53に記載のシステム。
- 前記適切なマッチしきい値は、すでに評価されているブロックの特性値の移動ウィンドウ平均値の関数に従って動的に調整することができる請求項56に記載のシステム。
- 前記特性値は、前記すでに評価されているブロックの前記最良費用関数値である請求項57に記載のシステム。
- 前記早期終了条件は、ギブアップ条件を含み、前記ギブアップ条件はこれ以上のサーチがこれまでに見つかった前記最良費用値よりも低い費用関数値を生成しないと判断したことに対する応答をトリガとする請求項53に記載のシステム。
- 前記ブロック・マッチング予測器は、A*アルゴリズムに基づいてサーチ点をスキップする請求項1に記載のシステム。
- 前記ブロック・マッチング予測器は、並列螺旋型サーチプロセスを使用して基準フレームを評価する請求項1に記載のシステム。
- 前記ブロック・マッチング予測器は、プロセッサ・アレイを使用して前記基準フレーム内の複数の点に関するシステム目標を評価し、前記プロセッサ・アレイはn次元データ入力を処理するために1つまたは複数の信号処理を含む請求項1に記載のシステム。
- n次元メモリであって、
1クロック・サイクルの間に1つのデータ・アイテムをそれぞれのスライスに格納または取り出せる1つまたは複数のメモリ・スライスと、
前記n次元フレーム内の任意の場所に配置できる所定の立方体内のすべての前記データに複数のサイクルでアクセスできるようにn次元フレーム内に配置されるn次元データを編成し、前記サイクル数は前記メモリ・スライスの個数で割った前記立方体内の点の前記総数として決定される手段と、
N次元アドレス入力に基づいて前記1つまたは複数のメモリ・スライスからデータにアクセスするアドレス変換モジュールと、
前記1つまたは複数のスライスからn次元データを使用する1つまたは複数の外部処理モジュールにデータをブリッジするためのデータ・マルチプレクサ/デマルチプレクサとを備えるn次元メモリを備えるメモリ・システム。 - 前記n次元メモリに結合された、ブロック形式でデータを格納するための少なくとも1レベルのブロック・メモリと、
前記ブロック・メモリと前記n次元メモリ内のデータにアクセスするためのアドレス指定変換モジュールと、
前記n次元メモリから前記ブロック・メモリにデータ・フローをブリッジするためのデータ・マルチプレクサ/デマルチプレクサとを備える請求項63に記載のメモリ・システム。 - 前記ブロック・メモリは、SRDAMである請求項64に記載のメモリ・システム。
- 前記メモリ・システムは、2次元イメージを格納するように適合されている請求項63に記載のメモリ・システム。
- n次元データ入力を処理するための1つまたは複数の信号処理ユニットを含む処理アレイと、
前記信号処理ユニット用にデータを格納するための1つまたは複数のデータ・レジスタと、
前記アレイ内の複数のプロセッサにより1つのデータ要素を使用できるように前記処理アレイを制御する手段とを備えるシステム。 - 前記処理アレイは、n次元メモリからのデータを処理し、前記n次元メモリは、
1クロック・サイクルの間に1つのデータ・アイテムをそれぞれのスライスに格納または取り出せる1つまたは複数のメモリ・スライスを含むn次元メモリと、
前記n次元フレーム内の任意の場所に配置できる所定の立方体内のすべての前記データに複数のサイクルでアクセスできるようにn次元フレーム内に配置されるn次元データを編成し、前記サイクル数は前記メモリ・スライスの個数で割った前記立方体内の点の前記総数として決定される手段と、
N次元アドレス入力に基づいて前記1つまたは複数のメモリ・スライスからデータにアクセスするアドレス変換モジュールと、
前記1つまたは複数のスライスから1つまたは複数の外部処理モジュールにデータをブリッジするためのデータ・マルチプレクサ/デマルチプレクサとを備える請求項67に記載のシステム。 - 前記処理アレイは、マルチレベルn次元メモリからのデータを処理し、前記マルチレベルn次元メモリは、
n次元メモリと、
前記n次元メモリに結合された、ブロック形式でデータを格納するための少なくとも1レベルのブロック・メモリと、
前記ブロック・メモリと前記n次元メモリ内のデータにアクセスするためのアドレス指定変換モジュールと、
前記n次元メモリから前記ブロック・メモリにデータ・フローをブリッジするためのデータ・マルチプレクサ/デマルチプレクサとを備える請求項67に記載のシステム。 - 前記システムは、2次元ビデオ・シーケンスを符号化するように適合される請求項67に記載のシステム。
- 元のn次元フレームを含むn次元フレームのシーケンスを受け取ることと、
前記元のn次元フレーム内の隣接するブロックの関係を保持するような順序で、前記n次元フレーム・シーケンスを1次元ブロック・シーケンス内に走査することとを含む方法。 - 2つのブロックは、空間的ネイバーまたは時間的ネイバーである場合に、ネイバーとみなされる請求項71に記載の方法。
- 前記方法は、2次元ビデオ・シーケンスを符号化するように適合される請求項71に記載の方法。
- n次元フレームの前記シーケンスを1次元シーケンスに走査することは、
n次元フレームの前記シーケンスからブロックのグループ内の点の第1の行を走査することと、
前記ブロックのグループ内の点の第2の行を識別し、前記第1の行が終わる位置にある点の第2の行の開始を識別することとを含む請求項73に記載の方法。 - n次元フレームの前記シーケンスから第1のフレームの走査を完了することに応答し、
n次元フレームの前記シーケンスから第2のフレームを走査し、前記第1のフレームが終わる前記位置から前記第2のフレームの前記開始を識別し、
前記第1のフレームの前記走査と逆の順序で前記第2のフレーム内の点の前記行を走査することとを含む請求項74に記載の方法。 - 信号シーケンスを処理する方法であって、
複数の現在のフレーム・ブロックと複数のn次元基準フレームを含むn次元の現在のフレームを含み、それぞれのフレームは複数の基準フレーム・ブロックを含む前記複数のn次元基準フレームからのフレームである、信号シーケンスを受け取ることと、
前記複数のn次元基準フレームを格納することと、
前記複数の現在のフレーム.・ブロック内のそれぞれのブロックに対する前記複数の基準フレーム・ブロックのうちの予測ブロックを識別することと、
前記複数の現在のフレーム・ブロック内のそれぞれのブロックのそれぞれの予測ブロックに対する基準変位インデックスとブロック予測差を決定し、前記基準変位インデックスは、前記基準フレーム・ブロック内の1点を識別することと、
前記複数の現在のフレーム・ブロック内のそれぞれのブロックに対するそれぞれのブロック予測差とそれぞれの基準変位インデックスを符号化し、それによって複数の符号化ブロックを作成することと、
所定のフォーマットにより前記複数の符号化ブロックを包んでまとめることを含む方法。 - 信号シーケンスを処理するシステムであって、
複数の現在のフレーム・ブロックと複数のn次元基準フレームを含むn次元の現在のフレームを含み、それぞれのフレームは複数の基準フレーム・ブロックを含む前記複数のn次元基準フレームからのフレームである、信号シーケンスを受け取る手段と、
前記複数のn次元基準フレームを格納する手段と、
前記複数の現在のフレーム.・ブロック内のそれぞれのブロックに対する前記複数の基準フレーム・ブロックのうちの予測ブロックを識別する手段と、
前記複数の現在のフレーム・ブロック内のそれぞれのブロックのそれぞれの予測ブロックに対する基準変位インデックスとブロック予測差を決定し、前記基準変位インデックスは前記基準フレーム・ブロック内の1点を識別する、手段と、
前記複数の現在のフレーム・ブロック内のそれぞれのブロックに対するそれぞれのブロック予測差とそれぞれの基準変位インデックスを符号化し、それによって複数の符号化ブロックを作成する、手段と、
所定のフォーマットにより前記複数の符号化ブロックを包んでまとめる手段を備えるシステム。 - 回路の記述を格納する機械可読媒体であって、前記回路は、
複数の現在のフレーム・ブロックと複数のn次元基準フレームを含むn次元の現在のフレームを含み、それぞれのフレームは複数の基準フレーム・ブロックを含む前記複数のn次元基準フレームからのフレームである、信号シーケンスを受け取る微分器と、
前記複数のn次元基準フレームを格納するためのフレーム・バッファと、
前記複数の現在のフレーム・ブロック内のそれぞれのブロックに対する前記複数の基準フレーム・ブロックの予測ブロックを識別し、前記複数の現在のフレーム・ブロック内のそれぞれのブロックに対するそれぞれの予測ブロックに対する基準変位インデックスとブロック予測差を決定し、前記基準変位インデックスで前記基準フレーム・ブロック内の1つの点を識別する、ブロック・マッチング予測器と、
前記複数の現在のフレーム・ブロック内のそれぞれのブロックに対するそれぞれのブロック予測差とそれぞれの基準変位インデックスを符号化し、それによって複数の符号化ブロックを作成するブロック符号化器と、
所定のフォーマットにより前記複数の符号化ブロックを包んでまとめるシーケンス符号化器を備える機械可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US48098503P | 2003-06-23 | 2003-06-23 | |
PCT/US2004/020317 WO2005002235A2 (en) | 2003-06-23 | 2004-06-23 | Method and apparatus for multidimensional signal sequences encoding/decoding using block matching |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007525078A true JP2007525078A (ja) | 2007-08-30 |
Family
ID=33551961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006517628A Pending JP2007525078A (ja) | 2003-06-23 | 2004-06-23 | 適応型多次元信号シーケンス符号化/復号化方法とそのための装置 |
Country Status (5)
Country | Link |
---|---|
US (3) | US7471724B2 (ja) |
EP (1) | EP1644896A2 (ja) |
JP (1) | JP2007525078A (ja) |
CN (1) | CN1809839A (ja) |
WO (2) | WO2005001773A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011508536A (ja) * | 2007-12-19 | 2011-03-10 | ドルビー・ラボラトリーズ・ライセンシング・コーポレーション | 適応性動き推定 |
Families Citing this family (100)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9170812B2 (en) * | 2002-03-21 | 2015-10-27 | Pact Xpp Technologies Ag | Data processing system having integrated pipelined array data processor |
US7180947B2 (en) * | 2003-03-31 | 2007-02-20 | Planning Systems Incorporated | Method and apparatus for a dynamic data correction appliance |
US9330060B1 (en) | 2003-04-15 | 2016-05-03 | Nvidia Corporation | Method and device for encoding and decoding video image data |
US8660182B2 (en) | 2003-06-09 | 2014-02-25 | Nvidia Corporation | MPEG motion estimation based on dual start points |
DE602004017180D1 (de) * | 2003-06-27 | 2008-11-27 | Nxp Bv | Codierungsverfahren für tragbare vorrichtungen |
EP1538844A3 (en) * | 2003-11-26 | 2006-05-31 | Samsung Electronics Co., Ltd. | Color image residue transformation and encoding method |
JP4031455B2 (ja) * | 2004-03-29 | 2008-01-09 | 株式会社東芝 | 画像符号化装置 |
US8665955B2 (en) * | 2004-06-11 | 2014-03-04 | Nxp, B.V. | Method of storing pictures in a memory using compression coding and cost function including power consumption |
JP4175296B2 (ja) * | 2004-06-25 | 2008-11-05 | キャタピラージャパン株式会社 | 建設機械のデータ処理装置及び建設機械のデータ処理方法 |
SE0401812D0 (sv) * | 2004-07-08 | 2004-07-08 | Anoto Ab | Method in creating a symbol pattern, symbol pattern obtained thereby method and system for finding a position in such symbol pattern and computer program product for performing the method |
KR20060043120A (ko) * | 2004-09-23 | 2006-05-15 | 엘지전자 주식회사 | 영상 신호의 인코딩 및 디코딩 방법 |
KR100694059B1 (ko) * | 2004-09-30 | 2007-03-12 | 삼성전자주식회사 | 멀티 타임 스캔 방식에 기초한 인터 모드 인코딩 및디코딩 방법 및 장치 |
KR100647294B1 (ko) * | 2004-11-09 | 2006-11-23 | 삼성전자주식회사 | 화상 데이터 부호화 및 복호화 방법 및 장치 |
EP1689192A3 (en) * | 2005-02-04 | 2011-10-26 | Thomson Licensing | Method and device for scanning in a data frame |
US7536487B1 (en) * | 2005-03-11 | 2009-05-19 | Ambarella, Inc. | Low power memory hierarchy for high performance video processor |
WO2006108654A2 (en) * | 2005-04-13 | 2006-10-19 | Universität Hannover | Method and apparatus for enhanced video coding |
US7822278B1 (en) | 2005-09-20 | 2010-10-26 | Teradici Corporation | Methods and apparatus for encoding a digital video signal |
US10911894B2 (en) | 2005-09-14 | 2021-02-02 | Verizon Media Inc. | Use of dynamic content generation parameters based on previous performance of those parameters |
US8688671B2 (en) * | 2005-09-14 | 2014-04-01 | Millennial Media | Managing sponsored content based on geographic region |
US10592930B2 (en) | 2005-09-14 | 2020-03-17 | Millenial Media, LLC | Syndication of a behavioral profile using a monetization platform |
US7676394B2 (en) | 2005-09-14 | 2010-03-09 | Jumptap, Inc. | Dynamic bidding and expected value |
US10038756B2 (en) | 2005-09-14 | 2018-07-31 | Millenial Media LLC | Managing sponsored content based on device characteristics |
US20110313853A1 (en) | 2005-09-14 | 2011-12-22 | Jorey Ramer | System for targeting advertising content to a plurality of mobile communication facilities |
US10585942B2 (en) * | 2005-09-14 | 2020-03-10 | Millennial Media Llc | Presentation of search results to mobile devices based on viewing history |
US9703892B2 (en) | 2005-09-14 | 2017-07-11 | Millennial Media Llc | Predictive text completion for a mobile communication facility |
US8433297B2 (en) | 2005-11-05 | 2013-04-30 | Jumptag, Inc. | System for targeting advertising content to a plurality of mobile communication facilities |
US7885335B2 (en) * | 2005-09-16 | 2011-02-08 | Sont Corporation | Variable shape motion estimation in video sequence |
SG130962A1 (en) * | 2005-09-16 | 2007-04-26 | St Microelectronics Asia | A method and system for adaptive pre-filtering for digital video signals |
JP5013040B2 (ja) * | 2005-09-29 | 2012-08-29 | 株式会社メガチップス | 動き探索方法 |
CN101283249B (zh) * | 2005-10-05 | 2013-12-04 | Lg电子株式会社 | 信号处理的方法和装置以及编码和解码方法及其装置 |
US8731071B1 (en) | 2005-12-15 | 2014-05-20 | Nvidia Corporation | System for performing finite input response (FIR) filtering in motion estimation |
US7693219B2 (en) * | 2006-01-04 | 2010-04-06 | Freescale Semiconductor, Inc. | System and method for fast motion estimation |
US8724702B1 (en) | 2006-03-29 | 2014-05-13 | Nvidia Corporation | Methods and systems for motion estimation used in video coding |
US8437396B2 (en) * | 2006-08-10 | 2013-05-07 | Vixs Systems, Inc. | Motion search module with field and frame processing and methods for use therewith |
US8660380B2 (en) | 2006-08-25 | 2014-02-25 | Nvidia Corporation | Method and system for performing two-dimensional transform on data value array with reduced power consumption |
JP2008109632A (ja) * | 2006-09-28 | 2008-05-08 | Toshiba Corp | 動きベクトル検出装置及びその方法 |
US8069321B2 (en) | 2006-11-13 | 2011-11-29 | I365 Inc. | Secondary pools |
KR101356735B1 (ko) * | 2007-01-03 | 2014-02-03 | 삼성전자주식회사 | 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법 |
TW200838321A (en) * | 2007-03-02 | 2008-09-16 | X8 Technology Inc | Motion estimation method and system with dual search windows for high resolution video coding |
US9253491B2 (en) * | 2007-04-02 | 2016-02-02 | Vestel Elektronik Sanayi Ve | Method and apparatus for transcoding a video signal |
US7929652B2 (en) * | 2007-04-10 | 2011-04-19 | Qualcomm Incorporated | Adaptive pilot and data symbol estimation |
US8756482B2 (en) | 2007-05-25 | 2014-06-17 | Nvidia Corporation | Efficient encoding/decoding of a sequence of data frames |
US9118927B2 (en) * | 2007-06-13 | 2015-08-25 | Nvidia Corporation | Sub-pixel interpolation and its application in motion compensated encoding of a video signal |
US8873625B2 (en) | 2007-07-18 | 2014-10-28 | Nvidia Corporation | Enhanced compression in representing non-frame-edge blocks of image frames |
US8731048B2 (en) * | 2007-08-17 | 2014-05-20 | Tsai Sheng Group Llc | Efficient temporal search range control for video encoding processes |
US8799342B2 (en) * | 2007-08-28 | 2014-08-05 | Honda Motor Co., Ltd. | Signal processing device |
KR101385956B1 (ko) * | 2007-08-31 | 2014-04-17 | 삼성전자주식회사 | 미디어 신호 인코딩/디코딩 방법 및 장치 |
US8127233B2 (en) * | 2007-09-24 | 2012-02-28 | Microsoft Corporation | Remote user interface updates using difference and motion encoding |
US8619877B2 (en) * | 2007-10-11 | 2013-12-31 | Microsoft Corporation | Optimized key frame caching for remote interface rendering |
KR102037328B1 (ko) * | 2007-10-16 | 2019-10-28 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
WO2009071803A1 (fr) * | 2007-11-28 | 2009-06-11 | France Telecom | Codage de mouvement sans transmission d' information de mouvement, et decodage |
US8432975B2 (en) * | 2008-01-18 | 2013-04-30 | Mediatek Inc. | Apparatus and method for processing a picture frame |
US8855196B2 (en) * | 2008-01-22 | 2014-10-07 | Dolby Laboratories Licensing Corporation | Adaptive motion information cost estimation with dynamic look-up table updating |
KR100939917B1 (ko) * | 2008-03-07 | 2010-02-03 | 에스케이 텔레콤주식회사 | 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법 |
US8831086B2 (en) * | 2008-04-10 | 2014-09-09 | Qualcomm Incorporated | Prediction techniques for interpolation in video coding |
US9967590B2 (en) | 2008-04-10 | 2018-05-08 | Qualcomm Incorporated | Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter |
US8055025B2 (en) * | 2008-06-14 | 2011-11-08 | City University Of Hong Kong | Motion estimation method |
EP2297963B1 (en) * | 2008-06-20 | 2011-11-30 | Dolby Laboratories Licensing Corporation | Video compression under multiple distortion constraints |
EP2334079B1 (en) * | 2008-09-29 | 2014-05-14 | Panasonic Corporation | Method for encoding moving picture and moving picture encoding device |
US8363727B2 (en) * | 2008-09-30 | 2013-01-29 | Microsoft Corporation | Techniques to perform fast motion estimation |
AU2008240343B2 (en) * | 2008-10-31 | 2012-04-19 | Canon Kabushiki Kaisha | Rate-distortion control in DVC with no feedback |
KR101680915B1 (ko) * | 2008-11-25 | 2016-11-29 | 톰슨 라이센싱 | 비디오 인코딩 및 디코딩을 위한 희소성-기반 아티팩트 제거 필터링 방법 및 장치 |
US8666181B2 (en) | 2008-12-10 | 2014-03-04 | Nvidia Corporation | Adaptive multiple engine image motion detection system and method |
CN101924933A (zh) * | 2009-04-10 | 2010-12-22 | 特克特朗尼克国际销售有限责任公司 | 跟踪视频帧序列中感兴趣区域的方法 |
US8290952B2 (en) * | 2009-06-24 | 2012-10-16 | Nokia Corporation | Method and apparatus for retrieving nearby data |
GB2474250B (en) * | 2009-10-07 | 2015-05-06 | Advanced Risc Mach Ltd | Video reference frame retrieval |
CN102316317B (zh) | 2010-07-10 | 2013-04-24 | 华为技术有限公司 | 一种生成图像预测值的方法和装置 |
US8712930B1 (en) | 2010-08-09 | 2014-04-29 | Google Inc. | Encoding digital content based on models for predicting similarity between exemplars |
CN102413326B (zh) * | 2010-09-26 | 2014-04-30 | 华为技术有限公司 | 视频编码、解码方法和装置 |
US9319716B2 (en) | 2011-01-27 | 2016-04-19 | Qualcomm Incorporated | Performing motion vector prediction for video coding |
US20120236940A1 (en) * | 2011-03-16 | 2012-09-20 | Texas Instruments Incorporated | Method for Efficient Parallel Processing for Real-Time Video Coding |
US8515193B1 (en) * | 2011-04-08 | 2013-08-20 | Google Inc. | Image compression using exemplar dictionary based on hierarchical clustering |
US9008179B2 (en) * | 2011-06-30 | 2015-04-14 | Futurewei Technologies, Inc. | Encoding of prediction residuals for lossless video coding |
US9232233B2 (en) * | 2011-07-01 | 2016-01-05 | Apple Inc. | Adaptive configuration of reference frame buffer based on camera and background motion |
US20130031497A1 (en) * | 2011-07-29 | 2013-01-31 | Nokia Corporation | Method and apparatus for enabling multi-parameter discovery and input |
US9179156B2 (en) * | 2011-11-10 | 2015-11-03 | Intel Corporation | Memory controller for video analytics and encoding |
US9490850B1 (en) | 2011-11-28 | 2016-11-08 | Google Inc. | Method and apparatus for decoding packetized data |
WO2013136129A1 (en) * | 2012-03-15 | 2013-09-19 | Nokia Corporation | Encoding and decoding of data |
US9185429B1 (en) * | 2012-04-30 | 2015-11-10 | Google Inc. | Video encoding and decoding using un-equal error protection |
US9344727B2 (en) * | 2012-05-14 | 2016-05-17 | Ati Technologies Ulc | Method of using a reduced number of macroblock coding modes in a first view based on total coding mode complexity values of macroblocks in second view |
US10034023B1 (en) | 2012-07-30 | 2018-07-24 | Google Llc | Extended protection of digital video streams |
US9979960B2 (en) | 2012-10-01 | 2018-05-22 | Microsoft Technology Licensing, Llc | Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions |
US10425641B2 (en) | 2013-05-30 | 2019-09-24 | Intel Corporation | Quantization offset and cost factor modification for video encoding |
WO2015015681A1 (ja) * | 2013-07-31 | 2015-02-05 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 画像符号化方法および画像符号化装置 |
CN104159003B (zh) * | 2014-08-21 | 2017-08-25 | 武汉大学 | 一种基于3d协同滤波与低秩矩阵重建的视频去噪方法及系统 |
US10091511B2 (en) * | 2015-01-05 | 2018-10-02 | Getgo, Inc. | Efficient video block matching |
US10531123B2 (en) * | 2015-03-06 | 2020-01-07 | Korea Advanced Institute Of Science And Technology | Image encoding and decoding method based on low-complexity transformation, and apparatus using same |
CN104767997B (zh) * | 2015-03-25 | 2017-10-27 | 北京大学 | 一种面向视频的视觉特征编码方法及装置 |
CN104767998B (zh) * | 2015-03-25 | 2017-12-08 | 北京大学 | 一种面向视频的视觉特征编码方法及装置 |
CN105338354B (zh) * | 2015-09-29 | 2019-04-05 | 北京奇艺世纪科技有限公司 | 一种运动向量估计方法和装置 |
WO2017075804A1 (en) * | 2015-11-06 | 2017-05-11 | Microsoft Technology Licensing, Llc | Flexible reference picture management for video encoding and decoding |
US10368080B2 (en) | 2016-10-21 | 2019-07-30 | Microsoft Technology Licensing, Llc | Selective upsampling or refresh of chroma sample values |
CN107194961B (zh) * | 2017-05-19 | 2020-09-22 | 西安电子科技大学 | 群体图像编码中多参考图像的确定方法 |
US11070813B2 (en) * | 2018-06-29 | 2021-07-20 | Intel Corporation | Global motion estimation and modeling for accurate global motion compensation for efficient video processing or coding |
US10765944B2 (en) * | 2018-09-07 | 2020-09-08 | Electronic Arts Inc. | Machine learning models for implementing animation actions |
US11443137B2 (en) * | 2019-07-31 | 2022-09-13 | Rohde & Schwarz Gmbh & Co. Kg | Method and apparatus for detecting signal features |
CN110996300A (zh) * | 2019-11-12 | 2020-04-10 | 北京航空航天大学 | 一种基于交通场景安全的车载终端信息安全风险控制方法 |
US11210221B2 (en) * | 2019-12-10 | 2021-12-28 | Pony Ai Inc. | Memory architecture for efficient spatial-temporal data storage and access |
US11531633B2 (en) * | 2021-04-01 | 2022-12-20 | quadric.io, Inc. | Systems and methods for intelligently implementing concurrent transfers of data within a machine perception and dense algorithm integrated circuit |
CN115103196A (zh) * | 2022-06-21 | 2022-09-23 | 安谋科技(中国)有限公司 | 图像编码方法、电子设备以及介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3308990B2 (ja) | 1992-07-03 | 2002-07-29 | 松下電器産業株式会社 | 動画像の予測符号化方法及び予測符号化装置 |
EP0779011B1 (en) * | 1994-09-02 | 2001-11-28 | Sarnoff Corporation | Method and apparatus for global-to-local block motion estimation |
US6317819B1 (en) * | 1996-01-11 | 2001-11-13 | Steven G. Morton | Digital signal processor containing scalar processor and a plurality of vector processors operating from a single instruction |
US5847776A (en) * | 1996-06-24 | 1998-12-08 | Vdonet Corporation Ltd. | Method for entropy constrained motion estimation and coding of motion vectors with increased search range |
GB9712651D0 (en) * | 1997-06-18 | 1997-08-20 | Nds Ltd | Improvements in or relating to encoding digital signals |
GB9721662D0 (en) * | 1997-10-14 | 1997-12-10 | Philips Electronics Nv | Encoded video signal formatting |
US6130911A (en) * | 1997-11-21 | 2000-10-10 | Sharp Laboratories Of America, Inc. | Method and apparatus for compressing reference frames in an interframe video codec |
US6983018B1 (en) * | 1998-11-30 | 2006-01-03 | Microsoft Corporation | Efficient motion vector coding for video compression |
WO2001054418A1 (en) * | 2000-01-21 | 2001-07-26 | Nokia Corporation | A motion estimation method and a system for a video coder |
US20020122491A1 (en) * | 2001-01-03 | 2002-09-05 | Marta Karczewicz | Video decoder architecture and method for using same |
US7630566B2 (en) * | 2001-09-25 | 2009-12-08 | Broadcom Corporation | Method and apparatus for improved estimation and compensation in digital video compression and decompression |
US8824553B2 (en) * | 2003-05-12 | 2014-09-02 | Google Inc. | Video compression method |
-
2004
- 2004-06-14 US US10/867,447 patent/US7471724B2/en not_active Expired - Fee Related
- 2004-06-14 US US10/867,027 patent/US20040258147A1/en not_active Abandoned
- 2004-06-17 EP EP04755512A patent/EP1644896A2/en not_active Withdrawn
- 2004-06-17 WO PCT/US2004/019387 patent/WO2005001773A2/en active Application Filing
- 2004-06-23 WO PCT/US2004/020317 patent/WO2005002235A2/en active Application Filing
- 2004-06-23 JP JP2006517628A patent/JP2007525078A/ja active Pending
- 2004-06-23 CN CNA2004800176253A patent/CN1809839A/zh active Pending
- 2004-06-23 US US10/875,258 patent/US7499491B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011508536A (ja) * | 2007-12-19 | 2011-03-10 | ドルビー・ラボラトリーズ・ライセンシング・コーポレーション | 適応性動き推定 |
Also Published As
Publication number | Publication date |
---|---|
CN1809839A (zh) | 2006-07-26 |
EP1644896A2 (en) | 2006-04-12 |
US20040258147A1 (en) | 2004-12-23 |
WO2005002235A2 (en) | 2005-01-06 |
US20050111548A1 (en) | 2005-05-26 |
US20050013369A1 (en) | 2005-01-20 |
WO2005002235A3 (en) | 2005-05-19 |
WO2005001773A3 (en) | 2005-10-13 |
US7471724B2 (en) | 2008-12-30 |
US7499491B2 (en) | 2009-03-03 |
WO2005001773A2 (en) | 2005-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007525078A (ja) | 適応型多次元信号シーケンス符号化/復号化方法とそのための装置 | |
KR102332490B1 (ko) | 심층 신경망용 압축 방법, 칩, 전자 장치 및 매체 | |
US10733767B2 (en) | Method and device for processing multi-channel feature map images | |
JP5174970B2 (ja) | 適応フィルタ | |
US10599935B2 (en) | Processing artificial neural network weights | |
US20150092834A1 (en) | Context re-mapping in cabac encoder | |
KR100772379B1 (ko) | 외부 메모리 장치, 그 영상 데이터 저장 방법, 이를 이용한영상 처리 장치 | |
US10715818B2 (en) | Techniques for hardware video encoding | |
KR20110107827A (ko) | 차동 움직임 벡터들의 개선된 공간적인 필터링을 갖는 다중-후보 움직임 추정 | |
CN103517071B (zh) | 图像编码设备和图像编码方法 | |
WO2007035465A2 (en) | Adaptive area of influence filter | |
Denolf et al. | Memory centric design of an MPEG-4 video encoder | |
TWI442775B (zh) | 執行移動評估之低功率高效能視頻編碼方法 | |
EP2076051A2 (en) | Configurable motion estimation | |
CN101800893A (zh) | 执行运动估计的低功率高性能视频编码方法 | |
US20240187573A1 (en) | Method and apparatus with neural codec | |
US20130094586A1 (en) | Direct Memory Access With On-The-Fly Generation of Frame Information For Unrestricted Motion Vectors | |
Teja et al. | An efficient field programmable gate array based hardware architecture for efficient motion estimation with parallel implemented genetic algorithm | |
Orlandić et al. | A low-complexity MPEG-2 to H. 264/AVC wavefront intra-frame transcoder architecture | |
Sandhiya et al. | Hardware Implementation of 2D-DWT for Video Compression using Bit Parallel Architecture | |
CN117255205A (zh) | 视频编解码方法及相应的设备 | |
Kim et al. | Array address translation for SDRAM-based video processing applications | |
KR20220088277A (ko) | 영상 처리 장치 및 이에 의한 멀티 프레임의 처리 방법 | |
CN114556430A (zh) | 数据处理方法和装置、图像信号处理器、可移动平台 | |
Spiteri et al. | A toolset for the analysis and optimization of motion estimation algorithms and processors |