JP2005184829A - ビデオ圧縮用低パワー高性能変換コプロセッサ - Google Patents

ビデオ圧縮用低パワー高性能変換コプロセッサ Download PDF

Info

Publication number
JP2005184829A
JP2005184829A JP2004365275A JP2004365275A JP2005184829A JP 2005184829 A JP2005184829 A JP 2005184829A JP 2004365275 A JP2004365275 A JP 2004365275A JP 2004365275 A JP2004365275 A JP 2004365275A JP 2005184829 A JP2005184829 A JP 2005184829A
Authority
JP
Japan
Prior art keywords
matrix
data
transformation
input
multiplier
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
Application number
JP2004365275A
Other languages
English (en)
Inventor
Philip Dang
ダン フィリップ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ST MICROELECTRONICS Inc
STMicroelectronics lnc USA
Original Assignee
ST MICROELECTRONICS Inc
STMicroelectronics lnc USA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ST MICROELECTRONICS Inc, STMicroelectronics lnc USA filed Critical ST MICROELECTRONICS Inc
Publication of JP2005184829A publication Critical patent/JP2005184829A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】 計算上の複雑性を減少させた整数変換処理技術を提供する。
【解決手段】 第一及び第二整数変換行列を離散コサイン変換を近似するために使用することが可能である。データの入力行列を整数の第一変換行列で乗算してデータの中間行列を生成する。該中間行列を整数の第二変換行列で乗算してデータの変換結果行列を生成する。第一及び第二変換行列による乗算は処理能力を増加させるためにパイプライン化することが可能である。複数個の変換データパスを処理能力を増加させるために並列的に設けることも可能である。
【選択図】 図4

Description

本発明は、大略、データ処理に関するものであって、更に詳細には、ビデオ圧縮処理技術に関するものである。
H.264/AVCは最新のビデオ圧縮スタンダードである。それはジョイントビデオチーム(JVT)により開発されたものであり、該チームは、国際電気通信ユニオン(ITU−T)のビデオコーディングエキスパーツグループ(VCEG)からのエキスパート及び国際標準化機構(ISO)及び国際電気標準会議(IEC)からのムービングピクチャエキスパーツグループ(MPEG)を包含している。ITU−Tの文書において、新たなビデオ圧縮スタンダードの正式名称はITU−TリコメンデーションH.264である。ISO/IECは、それをISO/IEC14496−10アドバンストビデオコーディング(Advanced Video Coding)と呼んでいる。説明の便宜上、この新たなビデオ圧縮技術は共通してH.264/AVCと呼ぶこととする。
H.264/AVCは多くのアプリケーションを有しており、ケーブル、衛星及びDSLを介してのビデオブロードキャスティング、ビデオオンデマンド又はマルチメディアストリーミングサービス、ISDN、イーサーネット、LAN、ワイヤレス及びモーバイルネットワークを介しての会話サービス、及びDVD等の光学装置上の対話的又はシリアル格納等を包含している。
H.264/AVCはより高いコーディング効率のために設計されている。よりよい圧縮を得るために、H.264/AVCスタンダードは多くの進化したビデオコーディング技術を採用している。イントラコーディングについては、H.264/AVCはビデオフレーム内のピクセル間においてより多くの冗長性を見付けるために指向性空間予測スキームを使用しており、インターコーディングについては、H.264/AVCは、マルチフレーム参照、重み付け予測、デブロッキングフィルタ、可変ブロック寸法及びクオータサンプルアキュレート(quarter sample accurate)動き補償を実行する。変換については、H.264/AVCは小さなブロックを基礎とした整数及び階層的変換を使用する。エントロピコーディングについては、H.264/AVCは2つの異なるコーディング技術を採用する。コンテクスト適応性ベースアリスメティックコーディング(CABAC)がメインプロファイルに対して選択され、一方コンテクスト適応性可変長コーディング(CAVLC)がベースラインプロファイル、メインプロファイル、拡張プロファイルに対して使用される。H.264/AVCの3つのプロファイルは15のレベルをサポートする。これらのレベルは広範囲のビデオアプリケーションに対してアルゴリズム及びパラメータのセットを特定する。
注意すべきことであるが、H.264/AVCの整数変換は以前のビデオ圧縮スタンダードにおける離散コサイン変換(DCT)よりもより低い複雑性を有している。然しながら、H.264/AVCの15個のレベルはSQCIF(128×96)乃至16:9(4096×2304)の広範囲のビデオフォーマットをカバーする。実時間ビデオ処理に対して、毎秒当たり処理せねばならないマクロブロックの数は非常に高く且つソフトウエアで実現するために効率的なものではない。例えば、実時間でCIF(352×288)ビデオフォーマットの30個のフレームを処理するために、埋込み型プロセッサは11,880個のマクロブロックを処理せねばならず、そのことは36,495,360個のシフト及び加算命令を必要とする。ロード、ストア及びトランスポジション(transposition)演算なしで、この複雑性は、既に、毎秒3600万個の命令(MIPS)を超えるものである。この計算上の複雑性はほとんどの埋込み型アプリケーションに対して高いものである。16:9フォーマットはCIFよりも更により大きな計算上の複雑性を有している。
離散コサイン変換(DCT)は、画像及びビデオ処理における最も重要な変換のうちの1つである。それは多くの圧縮スタンダードにおいて使用されており、JPEG、H.261、H.263、MPEG−1、MPEG−2、MPEG−4を包含している。DCTは、最初に、1974年においてAhmed、Natarajan、Raoによって提案されている(以下の特許文献(3)参照)。彼らのランドマーク的な文献は、2N−ポイントFFT及び幾らかの付加的な後処理で計算することが可能なN−ポイントDCTを提示している。一次元DCTは長さNのベクトルxを線形変換z=Hxによる変換係数の新たなベクトルzへマップさせることが可能であり、尚Hは図1に示したようなN×N行列であり、尚、
Figure 2005184829
である。xを4×4入力行列とし、Yを4×4出力行列とし、且つHtをHの転置行列とする。従って、二次元(2−D)4×4フォアワード(forward)DCTはY=HXHtとして定義される。
4×4DCTの基本的な欠点は、Hにおけるエントリ(図1)が無理数であるということである。従って、フォアワード4×4DCT及び逆4×4DCTが浮動小数点実行ユニットを必要とする。浮動小数点の実行はコーディングシステムのハードウエアの複雑性を増加させる。
この問題を解決するために、Malvar(以下の文献(4)参照)は、4×4DCT行列のエントリをスケールして整数演算を得るための方法を提案している。その出力結果は4×4DCTの近似を得るために再スケールされる。Malvarはスケーリングファクタα=2.5を使用している(以下の文献(4)及び(5)参照)。その結果得られるスケールされた行列Kを図2において21に示してある。図3はベクトルxに関して4−ポイント一次元整数変換を実施するために整数変換行列21の使用を例示している。
二次元4×4DCTの近似は、
Figure 2005184829
であり、尚Zは4×4行列であり、且つSは4×4再スケール行列である。行列Sは、典型的に、量子化段階に組込まれ、それは、通常、ルックアップテーブルにより実現される。従って、二次元4×4DCTの近似は、整数演算によって完全に実現することが可能である。行列Sを量子化段階に組込むと、二次元4×4整数変換はW=KXKtである。
T. Weigand、G. S. Sullivan、G. Bjontegaard、A. Luthra「H.264/AVCビデオコーディングスタンダードの概観(Overview of the H.264/AVC Video Coding Standard)」、IEEEトランズアクション・オン・サーキッツ・アンド・システムズ・フォ・ビデオ・テクノロジ、Vol.13、No.7、pp.560−576、2003年7月 ジョイントビデオ仕様のドラフトITU−U推奨及び最終ドラフト国際スタンダード(Draft ITU−U Recommendation and Final Draft International Standard of Joint Video Specification)(ITU−T Rec. H.264 | ISO/IEC 14496−10 AVC)、ジュネーブ、スイス、2003年5月 N. Ahmed、T. Natarajan、K. B. Rao「離散コサイン変換(Discrete Cosine Transform)」、IEEE・トランズアクション・オン・コンピュータズ、Vol.C−23、pp.90−93、1974年1月 H. S. Malvar「16ビット演算での低複雑性レンス4変換及び量子化(Low Complexity Length−4 Transform and Quantization with 16−bit Arithmetic)」、ITU−T SC 16、2001年9月、DOCS. Vceg−N43 H. S. Malvar、A. Hallapuro、M. Karczewicz、I. Kerofsky「H.264/AVCにおける低複雑性変換及び量子化(Low Complexity Transform and Quantization in H.264/AVC)」、IEEE・トランズアクション・オン・サーキッツ・アンド・システムズ・フォ・ビデオ・テクノロジ、Vol.13、No.7、pp.598−603、2003年7月 H. Malvar「離散コサイン変換及び離散ハートリ変換の高速計算(Fast Computation of the Discrete Cosine Transform and the Discrete Hartley Transform)」、IEEE・トランズアクション・オン・アクースティックス・スピーチ・アンド・シグナル・プロセシング、Vol.ASSP−35、No.10、pp.1484−1485、1987年10月 Y. Arai、T. Aguy、 Nakajama「画像用高速DCT−SQスキーム(A Fast DCT−SQ Scheme for Images)」、トランズアクション・オブ・ザ・IEICEE、Vol.E71、No.9、pp.1095−1097、1988年11月 W. B. Pennebaker、J. L. Mitchel、JPEG静止画圧縮スタンダード(JPEG Still Image Compression Standard)、ファンノストランドレインホールド、ニューヨーク(1992) T. D. Tran「BinDCT:DCTの高速無乗算器近似(The BinDCT:Fast Multiplierless Approximition of the DCT)」、IEEE・シグナル・プロセシング・レター、Vol.7、pp.141−145、2000年6月 J. Liang、T. D. Tran「リフティングスキームを有するDCTの高速無乗算器近似(Fast Multiplierless Approximations Of The DCT With The Lifting Scheme)」、IEEE・トランズアクション・オン・シグナル・プロセシング、Vol.49、pp.3032−3044、2001年12月 Steve Furber「ARMシステム・オン・チップアーキテクチャ(ARM System−on−chip Architecture)」、アジソンウエズリ、2000年 ARMリミテッド、ARM946−E−S技術参照マニュアル(Technical Reference Manual)、2001年
H.264/AVCによりサポートされる種々のビデオフォーマットの整数変換処理であってもそれに関連する計算上の複雑性に鑑み、計算上の複雑性を減少させた整数変換処理を提供することが望ましい。
本発明の例示的実施例は、離散コサイン変換を近似するために第一及び第二整数変換行列を使用する。データの入力行列を整数の第一変換行列と乗算させてデータの中間行列を生成する。該中間行列を整数の第二変換行列と乗算させてデータの変換結果行列を生成する。該第一及び第二変換行列による乗算は処理能力を増加させるためにパイプライン化することが可能である。複数個の変換データ経路を、処理能力を増加させるために、並列的に設けることも可能である。
上記は以下に記載する本発明の詳細な説明を当業者がよりよく理解することが可能であるように本発明の特徴及び技術的利点をむしろ広義に概括している。本発明の付加的な特徴及び利点については以下において説明し、それは本発明の特許請求の範囲の要旨を形成する。当業者は、本発明の同一の目的を達成するためにその他の構成を設計するか又は修正するための基礎として本明細書に開示した概念及び特定の実施例を容易に利用することが可能であることを理解する。当業者は、又、このような均等な構成は本発明の最も広い技術的範囲及び精神から逸脱するものではないことを理解する。
次に本発明を詳細に説明する前に、本明細書に亘って使用するある単語又は用語の定義について説明しておくことが有益的である。「包含する」及び「有する」という用語は、それらの派生的な用語と共に、制限なしで包含することを意味しており、「又は」という用語は包含的であって及び/又はを意味し、「と関連する」及び「それと関連する」という用語及びそれの派生的な用語は包含する、その中に包含される、それと相互接続する、含む、その中に含まれる、それへ接続又はそれと接続、それへ結合又はそれと結合、それと通信可能、それと共同する、インターリーブする、並置する、それに近似する、それへ又はそれと結び付けられている、有している、その特性を有している等を意味する場合があり、且つ「制御器」という用語は任意の装置、システム又は少なくとも1つの動作を制御するその一部を意味しており、このような装置はハードウエア、ファームウエア、ソフトウエア又はこれらのうちの少なくとも2つの何らかの組合わせで実現される。注意すべきことであるが、どの特定の制御器に関連する機能性も集中化させるか又は局所的又は遠隔的に離散化させることが可能である。ある単語及び用語に対する定義は本明細書に亘り与えられ、且つ当業者は、このような定義がこのように定義した単語及び用語の以前の使用及び将来の使用に対するほとんどではないにしても多くの場合において適用するものであることを理解する。
以下に説明する図1乃至13及び本明細書において本発明の原理を説明するために使用する種々の実施例は単に例示的なものであって本発明の範囲を制限するような態様で理解されるべきではない。当業者が理解するように、本発明の原理は任意の適宜のデータ処理適用例に関して実現することが可能である。
図4は本発明の例示的実施例に基づいて図2及び3の整数変換行列21の因数分解を例示している。図4において、整数変換行列21は構成要素としての変換行列41及び42へ因数分解され、それらは、一体的に乗算されると、行列21を生成する。図3に例示した4ポイント一次元整数変換を再度考慮すると、その変換は12個の加算演算及び4個の乗算(典型的にデータシフト)演算を必要とする。このことは、図3の行列21を使用する4×4一次元整数変換は48個の加算演算及び16個のシフト演算を必要とし、且つ図3の行列21を使用する4×4二次元整数変換は96個の加算演算及び32個のシフト演算を必要とすることを意味する。
然しながら、図4の構成要素としての因数変換行列41及び42を使用して整数変換演算を実施する場合には、図3に例示したタイプの4ポイント一次元整数変換演算を単に8個の加算演算及び2個の乗算(シフト)演算で実施することが可能である。このことは、4×4一次元整数変換演算を32個の加算演算と8個のシフト演算で実施することが可能であり、且つ4×4二次元整数変換演算を64個の加算演算と16個のシフト演算で実施することが可能であることを意味する。
図5は本発明に基づく図4の構成要素変換行列41及び42の例示的実現例を例示している。図5において、変換行列41及び42は、4×4変換結果行列52を生成するために、入力データの行列51に関して4×4一次元整数変換を実施するために使用される。入力行列51のデータコンポーネントは図5においてxrjにより示されており、尚r及びjは行列51の夫々の行及び列のインデックスであり、且つr及びjは各々0,1,2,3の値をとることが可能である。変換結果行列52のデータコンポーネントは図5においてbrjとして示してあり、尚r及びjは行列51に関して上述したのと夫々同一の行及び列のインデックスである。
図6は図5の実現例と関連する第一ステージ(ステージ1)整数変換演算を例示している。図6の例において、変換行列41は第一ステージ変換行列として使用され且つ入力データ行列51により乗算されて中間データ行列61を生成し、そのコンポーネントはarjとして示されており、尚r及びjは行列51及び52に関して上述したのと夫々同一の行及び列のインデックスである。
図6は図5の実現例と関連する第一ステージ(ステージ1)整数変換演算を例示している。図6の例において、変換行列41は第一ステージ変換行列として使用され且つ入力データ行列51により乗算されて中間データ行列61を生成し、そのコンポーネントはarjとして示されており、尚r及びjは行列51及び52に関して上述したのと夫々同一の行及び列のインデックスである。
図7は図5の実現例と関連する第二ステージ(ステージ2)整数変換演算を例示している。図7において、行列42は第二ステージ変換行列として使用され且つ中間行列61と乗算されて変換結果行列52を生成する(図5も参照)。
図8は図6及び7に関して上述した第一及び第二段演算を実施することが可能なデータ処理装置の例示的実施例を模式的に例示している。図8の装置は、図6に例示した第一段行列乗算演算を実施する行列乗算器81を具備しており且つ図7に例示した第二段行列乗算演算を実施する行列乗算器82を具備している行列乗算装置を包含している。図8に示したように、第一段行列乗算器81は入力データ行列51からデータを受取り且つ中間データ行列61を生成するのに必要な算術演算を実施する(図6も参照)。特に、行列乗算器81は適宜接続した4個の加算器を包含しており、且つ必要な反転を伴って、図6の行列乗算式を実行するのに必要な4個の加算演算を実施する。行列乗算器82は中間行列61からデータを受取り且つ変換結果行列52を生成するのに必要な算術演算を実施する(図7も参照)。行列乗算器82は適宜接続された4個の加算器を包含しており、且つ必要な反転及びシフタと共に、図7の行列乗算式を実行するのに必要な4個の加算演算及び2個のシフト演算を実施する。データシフタ83及び84は、各々、図7の式により必要とされる2個の乗算演算を実行するために単一のレフトシフト(2による乗算)演算を実施する。
図9は図8のデータ処理装置により実施することが可能な例示的な演算のタイミングを表の形態で例示している。特に、且つ図6及び7をも参照して、図9は、図8のデータ処理装置が単一クロックサイクルで図6の行列61の各列を生成することが可能であり、且つ単一クロックサイクルで図7の行列52の各列を生成することも可能であることを示している。即ち、行列乗算器81の加算器は、単一クロックサイクルで入力行列51の任意の与えられた列により変換行列41の4個の行全ての乗算を実行することが可能であり、且つ行列乗算器82の加算器は、シフタ83及び84と共に、単一クロックサイクルで行列61の任意の与えられた列により行列42の4個の行全ての乗算を実行することが可能である。従って、クロックサイクル2期間中、第一ステージ行列乗算器81が既にクロックサイクル1期間中に中間行列61の第一列を生成した後に、第二ステージ行列乗算器82は中間行列61の第一列を使用して変換結果行列52の第一列を生成することが可能である。従って、図9のクロックサイクル1期間中に、行列乗算器81は中間行列61の第一列(列0)を生成する。その後に、図9のクロックサイクル2期間中に、行列乗算器81が中間行列61の第二列(列1)を生成している間に、第二ステージ行列乗算器82は同時的に中間行列61の既に発生された第一列を使用して変換結果行列52の第一列を生成する。
従って、行列乗算器81及び82の演算は、5個のクロックサイクルで図7の完全なる変換結果行列52を生成するために図9に示したようにパイプライン型とすることが可能である。従って、図8のデータ処理装置は4×4一次元整数変換を5個のクロックサイクルで実施することが可能である。図9に示したように、クロックサイクル5期間中に、第二ステージ行列乗算器82が図7の変換結果行列52の第四列(列3)を生成している間に、第一ステージ行列乗算器81は、同時的に、その後の入力データ行列51に関して演算を行いその後の中間データ行列61の第一列を生成することが可能である(図6も参照)。
図10は本発明に基づいて4×4二次元整数変換を実施することが可能なデータ処理装置の例示的実施例を模式的に例示している。図10の例において、図8のアーキテクチャを使用して水平変換HTを実施し且つ更に垂直変換VTを実施する。図10に例示した行列乗算装置においては、水平変換部分HTは変換結果行列52を生成するために図8に例示した演算を実施する。この変換結果行列52は制御信号107の制御下でセレクタ103により選択されて2個のバッファ105及び106のうちの1つの中に格納される。制御信号108の制御下にある別のセレクタ104はバッファ105及び106のうちの1つのコンテントを垂直変換部分VTへ供給する。幾つかの実施例においては、バッファ105及び106は、バッファ型変換結果行列52からのデータが行毎に垂直変換部分VTへ供給されるように読取ることが可能であり、従って垂直変換部分VTはバッファ型変換結果行列52の転置に関して演算を行う。このバッファ型変換結果行列52の実効的な転置動作は参照符号52tの使用により図10に例示してある。水平変換部分HTにより生成された結果行列の転置は、垂直変換部分VTが第二次元における変換を実施することを可能とさせる。
図11は、図10のデータ処理装置により実施することが可能な例示的な演算のタイミングを表形式で例示している。クロックサイクル5において、水平変換部分HTは最初の4×4入力データ行列51(B1としても示してある)に関するその演算を完了し、且つHT部分のステージ1は、既に、2番目の4×4入力データ行列51(B2としても示してある)に関する演算を開始している。該水平変換部分はクロックサイクル5期間中に最初の変換結果行列52を生成することを終了するので、このことは、垂直変換部分VTは、クロックサイクル6期間中に最初の変換結果行列52の転置52tに関する演算を開始することが可能であることを意味する。転置された変換結果行列52tの入力データ行列51に対する対応を、符号Bに関する対応する添え字番号を維持することにより図11に例示してある。
図10において、セレクタ103及び104は、垂直変換部分VTが、水平変換部分HTが書込みをしているバッファへ決してアクセスすることがないように、論理的に相補的な制御信号107及び108により制御される。図11に示したように、垂直変換部分VTが第一入力行列51/B1と関連する転置された変換結果行列52t/B1を処理している間に、水平変換部分HTは、同時的に、入力データ行列のシーケンスにおいて第二入力データ行列51/B2からのデータを処理する。水平変換部分HTは25個のクロックサイクルで6個の4×4入力行列からなるシーケンスに関するその演算を完了することが可能であり、且つ図1に例示したパイプライン形態により、6個の4×4入力データ行列からなるシーケンスの完全な二次元変換を30個のクロックサイクルで完了する。
図10における垂直変換部分VTの出力は、従来の再スケーリング及び量子化のために従来の量子化ステージへ供給することが可能である。
図12は本発明に基づいて複数個の4×4二次元整数変換を並列的に実施することが可能なデータ処理装置の例示的な実施例を模式的に例示している。図12の例は、概略、並列的に配列させた図10のアーキテクチャの4個のインスタンスを使用する。従って、図12の装置は、30個のクロックサイクルで24個の4×4入力行列に関する二次元変換処理を実施することが可能である(図11も参照)。図12の例に例示した24個の4×4入力データブロックは従来のH.264/AVCマクロブロックのよく知られた構成要素ブロックである。4個の32ビット入力レジスタの各々は4個の8ビット入力ピクセルを保持することが可能である。
図13は本発明に基づくデータ処理システムの例示的な実施例を模式的に例示している。図13のシステムは、例えば、ハイビジョンテレビシステム又はデジタルシネマシステムであって、それはメインプロセッサ131、メモリ部分132、ユーザインターフェース(I/O)133、アクセリレータコプロセッサ134を包含している。これらのコンポーネントはバスシステム135により相互接続されている。種々の実施例において、アクセリレータコプロセッサ134は、図8−12に関して上述した種々の例示的な整数変換アーキテクチャを実現することが可能である。幾つかの例示的な実施例において、メインプロセッサ131及びコプロセッサ134は夫々パイプラインを実現する。コプロセッサ134はメインプロセッサ131から命令を受取り、且つパイプラインフォロワを使用してそれがどの命令を実行せねばならないかを決定する。クリチカルパスにおける渋滞を回避するために、幾つかの実施例においては、コプロセッサパイプラインがメインプロセッサパイプラインから1クロックサイクル後に動作する。与えられた命令を受取った後に、該コプロセッサは該メモリからのデータをロードし且つ必要な変換演算を実施する。
幾つかの例示的実施例においては、メインプロセッサ131はARM946E−Sプロセッサであり、システムメモリ部分132は512キロバイトのSRAMと4メガバイトのSDRAMとを包含しており、且つバスシステム135はメインプロセッサ131と、コプロセッサ134とシステムメモリ132との間で増加されたデータの処理能力を与えるために従来の高速AMBAバスシステムである。
再度図12の例示的なアーキテクチャを参照すると、例示したアーキテクチャのハードウエアコストは低い。それは4個の32ビットレジスタと、4個の64ビットレジスタと、16個のマルチプレクサと、32個の加算器と、256バイトのバッファメモリを必要とする。小型のバッファメモリは幾つかの実施例においてはDフリップフロップで実現される。0.18μmCMOS技術を使用する1つの例においては、図12アーキテクチャのフットプリント即ち占有面積は0.0838mm2に過ぎない。この小さなフットプリントの場合であっても、そのアーキテクチャは未だに実時間ビデオ処理に対し充分なコンピューティング能力を提供する。10MHzのクロックレートにおいて、例えば、該アーキテクチャは毎秒30個のフレームで2K×1K(2048×1024)フォーマットに対する整数変換を計算することが可能である。毎秒60個のフレームで稼動する16:9フォーマット(4096×2034)を使用する高品質ビデオ適用例の場合には、該アーキテクチャは66,355,200個のクロックサイクルを必要とし、それは67MHzと等価である。アーキテクチャの設計は、この実時間拘束を満足するためにスケールすることが可能である。
注意すべきことであるが、スイッチング電流に起因するCMOSゲートの平均電力消費はP=αCLdd 2fにより与えられ、尚fはシステムクロック周波数であり、Vddは供給電圧であり、CLは負荷容量であり、且つαはスイッチングアクティブティである。図12のアーキテクチャの1つの例において、クロックレートは10MHzであり、グローバル電圧は1.55Vであり、且つ負荷容量は1pfである。この例に対するハードウエアシミュレーションにより報告されたスイッチングパワーは529μWである。
コンパクトな面積及び低電力消費の他に、本発明の例示的実施例は小さなデータ範囲を必要とするに過ぎない。図5−7から、各ステージの出力におけるデータ範囲は容易に決定することが可能である。最悪の場合において、且つ8ビットピクセル入力を仮定すると、第一次元変換(例えば、図10及び12におけるHT)の出力は11ビットであり且つ第二次元変換(例えば、図10及び12におけるVT)の出力は14ビットである。従って、4×4二次元整数変換は14ビット幅のデータパスで実現することが可能である。
上に示したように、本発明の例示的実施例は、H.264ビデオ圧縮スタンダードにおける整数変換の計算上の複雑性を減少させ且つ処理能力を増加させるための方法及び装置を導入する。本方法は整数変換行列をより計算が少ない2個の整数行列へ因数分解する。更に、このアプローチは、又、整数変換を2段階で計算することを可能とし、それはパイプラインアーキテクチャにとって良好に適している。
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。
従来技術に基づく4×4離散コサイン変換を実施するための行列を例示した概略図。 従来技術に基づいて図1の離散コサイン変換に対する整数近似を実施するための図1の行列のスケールし且つ丸めたバージョンを例示した概略図。 従来技術に基づいて図2の行列の使用を例示した概略図。 本発明の例示的実施例に基づいて図2及び3の行列の因数分解を例示した概略図。 本発明に基づく図4の因数分解の例示的実現例を例示した概略図。 本発明の例示的実施例に基づく図5の実現例の第一ステージ行列乗算演算を例示した概略図。 本発明の例示的実施例に基づく図5の実現例の第二ステージ行列乗算演算を例示した概略図。 本発明に基づく図6及び7の第一及び第二ステージ行列乗算演算を実施することが可能なデータ処理装置の例示的実施例を模式的に例示した概略図。 図8のデータ処理装置により実施することが可能な例示的な演算のタイミングを表形式で示した概略図。 本発明に基づく二次元変換演算を実施することが可能なデータ処理装置の例示的実施例を模式的に例示した概略図。 図10のデータ処理装置により実施することが可能な例示的な演算のタイミングを表形式で例示した概略図。 本発明に基づいて複数個の二次元変換を並列的に実施することが可能なデータ処理装置の例示的実施例を模式的に例示した概略図。 本発明の例示的実施例に基づくデータ処理システムを模式的に例示した概略図。
符号の説明
21:整数変換行列
41,42:構成要素変換行列
51:入力行列
52:変換結果行列
61:中間データ行列
81:行列乗算器
82:行列乗算器
83,84:データシフタ

Claims (23)

  1. データの入力行列の整数変換を計算する装置において、
    データの入力行列を受取る入力、
    前記入力へ結合している行列乗算装置、
    を有しており、前記行列乗算装置が、データの第一中間行列を生成するためにデータの第一入力行列を整数の第一変換行列で乗算するための第一行列乗算器を包含しており、且つ
    前記行列乗算装置が、前記第一行列乗算器へ結合されており、データの第一変換結果行列を生成するために前記第一中間行列を整数の第二変換行列で乗算するための第二行列乗算器を包含している、
    ことを特徴とする装置。
  2. 請求項1において、前記第一行列乗算器が、更に、データの第二中間行列を生成するためにデータの第二入力行列を前記第一変換行列で乗算するためであり、一方前記第二行列乗算器は同時的に前記第一中間行列を前記第二変換行列で乗算することを特徴とする装置。
  3. 請求項2において、更に、前記行列乗算装置が前記最初に述べた行列乗算装置との並列動作のために前記入力へ結合していることを特徴とする装置。
  4. 請求項1において、更に、前記行列乗算装置が、前記最初に述べた行列乗算装置との並列動作のために前記入力へ結合していることを特徴とする装置。
  5. 請求項1において、前記行列乗算装置が、前記第二行列乗算器へ結合されており、データの第二中間行列を生成するために前記第一変換結果行列の転置を前記第一変換行列で乗算するための第三行列乗算器を包含しており、且つ前記行列乗算装置は、前記第三行列乗算器へ結合しており、二次元結果行列を生成するために前記第二中間行列を前記第二変換行列で乗算するための第四行列乗算器を包含していることを特徴とする装置。
  6. 請求項5において、前記第二行列乗算器がデータの第二の前記変換結果行列を生成するためであり、前記第三行列乗算器は、更に、前記第四行列乗算器が同時的に前記第二中間行列を前記第二変換行列で乗算している間にデータの第三中間行列を生成するために前記第二変換結果行列の転置を前記第一変換行列で乗算するためであり、前記第一行列乗算器は、前記第二行列乗算器が同時的に前記第一中間行列を前記第二変換行列で乗算している間にデータの第四中間行列を生成するためにデータの第二入力行列を前記第一変換行列で乗算するためであることを特徴とする装置。
  7. 請求項6において、前記最初に述べた行列乗算装置と並列に動作するために前記入力へ結合している更なる前記行列乗算装置を包含していることを特徴とする装置。
  8. 請求項5において、前記最初に述べた行列乗算装置と並列に動作するために前記入力へ結合している更なる前記行列乗算装置を包含していることを特徴とする装置。
  9. 請求項1において、前記データがH.264ビデオデータであることを特徴とする装置。
  10. ビデオデータ処理システムにおいて、
    ビデオデータプロセッサがデータの入力行列を受取るための入力とデータの前記入力行列の整数変換を計算するために前記入力へ結合している変換装置を包含しており、前記変換装置はデータの第一中間行列を生成するためにデータの第一入力行列を整数の第一変換行列で乗算するための第一行列乗算器を包含しており、且つ前記変換装置は、前記第一行列乗算器へ結合しており、データの第一変換結果行列を生成するために前記第一中間行列を整数の第二変換行列で乗算するための第二行列乗算器を包含しており、
    ユーザが前記ビデオデータプロセッサと通信することを可能とさせるためにインターフェースが前記ビデオデータプロセッサへ結合されている、
    ことを特徴とするシステム。
  11. 請求項10において、前記ビデオデータプロセッサの動作を制御するために前記ビデオデータプロセッサへ結合している更なるデータプロセッサを包含していることを特徴とするシステム。
  12. 請求項10において、高品質テレビジョンシステム及びデジタルシネマシステムのうちの1つとして提供されることを特徴とするシステム。
  13. データの入力行列の整数変換を計算する方法において、
    データの第一中間行列を生成するためにデータの第一入力行列を整数の第一変換行列で乗算し、
    データの第一変換結果行列を生成するために前記第一中間行列を整数の第二変換行列で乗算する、
    ことを特徴とする方法。
  14. 請求項13において、同時的に前記第一中間行列を前記第二変換行列で乗算している間に、データの第二中間行列を生成するためにデータの第二入力行列を前記第一変換行列で乗算することを包含していることを特徴とする方法。
  15. 請求項14において、前記第二入力行列がデータの入力行列の最初に受取ったシーケンスにおいて前記第一入力行列に続くことを特徴とする方法。
  16. 請求項15において、同時的に前記第一入力行列を前記第一変換行列で乗算している間にデータの第三中間行列を生成するためにデータの第三入力行列を前記第一変換行列で乗算し、同時的に前記第一中間行列を前記第二変換行列で乗算している間にデータの第二変換結果行列を生成するために前記第三中間行列を前記第二変換行列で乗算し、且つ同時的に前記第三中間行列を前記第二変換行列で乗算している間及び同時的に前記第二入力行列を前記第一変換行列で乗算している間及び同時的に前記第一中間行列を前記第二変換行列で乗算している間にデータの第四中間行列を生成するためにビデオデータの第四入力行列を前記第一変換行列で乗算する、ことを包含していることを特徴とする方法。
  17. 請求項16において、データの入力行列の第一シーケンスと並列して与えられるデータの入力行列の第二の受取ったシーケンスにおいて前記第四入力行列が前記第三入力行列に続くことを特徴とする方法。
  18. 請求項13において、同時的に前記第一入力行列を前記第一変換行列で乗算している間にデータの第二中間行列を生成するためにデータの第三入力行列を前記第一変換行列で乗算し、且つ同時的に前記第一中間行列を前記第二変換行列で乗算している間にデータの第二変換結果行列を生成するために前記第二中間行列を前記第二変換行列で乗算することを包含していることを特徴とする方法。
  19. 請求項13において、データの第二中間行列を生成するために前記第一変換結果行列の転置を前記第一変換行列で乗算し、且つ二次元変換結果行列を生成するために前記第二中間行列を前記第二変換行列で乗算することを包含していることを特徴とする方法。
  20. 請求項19において、データの第二変換結果行列を生成するためにデータの第二入力行列に関して前記行列乗算ステップを実施し、同時的に前記第二中間行列を前記第二変換行列で乗算する間にデータの第三中間行列を生成するために前記第二変換結果行列の転置を前記第一変換行列で乗算することを包含しており、且つ前記実施するステップが、同時的に前記第一中間行列を前記第二変換行列で乗算している間にデータの第四中間行列を生成するために前記第二入力行列を前記第一変換行列で乗算することを包含していることを特徴とする方法。
  21. 請求項13において、前記行列乗算ステップの各々が、(a)8個の夫々対応する和を生成するために8対の加数を加算すること、及び(b)2つの夫々に対応する積を生成するために2対の係数を乗算することからなる複数の算術演算を包含していることを特徴とする方法。
  22. 請求項21において、前記2対の係数を乗算するステップが、前記2対の係数の各々の係数のうちの1つのデジタル表現に関してシフト演算を実施することを包含している方法。
  23. 請求項13において、前記行列の全てが4×4行列であることを特徴とする方法。
JP2004365275A 2003-12-19 2004-12-17 ビデオ圧縮用低パワー高性能変換コプロセッサ Pending JP2005184829A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US53148903P 2003-12-19 2003-12-19
US10/975,638 US7756351B2 (en) 2003-12-19 2004-10-28 Low power, high performance transform coprocessor for video compression

Publications (1)

Publication Number Publication Date
JP2005184829A true JP2005184829A (ja) 2005-07-07

Family

ID=34527154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004365275A Pending JP2005184829A (ja) 2003-12-19 2004-12-17 ビデオ圧縮用低パワー高性能変換コプロセッサ

Country Status (3)

Country Link
US (1) US7756351B2 (ja)
EP (1) EP1544797A3 (ja)
JP (1) JP2005184829A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011509538A (ja) * 2007-09-26 2011-03-24 クゥアルコム・インコーポレイテッド ビデオコーディングのための効率的な変換技術

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100711088B1 (ko) * 2005-04-13 2007-04-24 광주과학기술원 동화상 인코더를 위한 정수 변환 장치
CN103125116A (zh) 2010-09-28 2013-05-29 三星电子株式会社 视频编码方法和装置以及解码方法和装置
US20120163457A1 (en) * 2010-12-28 2012-06-28 Viktor Wahadaniah Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus
US9241163B2 (en) * 2013-03-15 2016-01-19 Intersil Americas LLC VC-2 decoding using parallel decoding paths
US9098449B2 (en) * 2013-03-15 2015-08-04 Analog Devices, Inc. FFT accelerator
US9426434B1 (en) 2014-04-21 2016-08-23 Ambarella, Inc. Two-dimensional transformation with minimum buffering

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791598A (en) * 1987-03-24 1988-12-13 Bell Communications Research, Inc. Two-dimensional discrete cosine transform processor
US5523847A (en) * 1992-10-09 1996-06-04 International Business Machines Corporation Digital image processor for color image compression
WO1996038794A1 (fr) * 1995-06-01 1996-12-05 Hitachi, Ltd. Circuit de transformation en cosinus discrets
EP1108325A2 (en) * 1998-08-13 2001-06-20 Equator Technologies, Inc. Circuit and method for performing a two-dimensional transform during the processing of an image
WO2002045005A1 (en) * 2000-12-01 2002-06-06 Lizardtech, Inc. Method for lossless encoding of image data by approximating linear transforms and preserving selected properties
US7123655B2 (en) * 2001-08-09 2006-10-17 Sharp Laboratories Of America, Inc. Method for reduced bit-depth quantization
US7082450B2 (en) 2001-08-30 2006-07-25 Nokia Corporation Implementation of a transform and of a subsequent quantization

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011509538A (ja) * 2007-09-26 2011-03-24 クゥアルコム・インコーポレイテッド ビデオコーディングのための効率的な変換技術
US8654833B2 (en) 2007-09-26 2014-02-18 Qualcomm Incorporated Efficient transformation techniques for video coding

Also Published As

Publication number Publication date
US7756351B2 (en) 2010-07-13
EP1544797A2 (en) 2005-06-22
US20050141776A1 (en) 2005-06-30
EP1544797A3 (en) 2009-04-01

Similar Documents

Publication Publication Date Title
Budagavi et al. Core transform design in the high efficiency video coding (HEVC) standard
US8537895B2 (en) Method and apparatus for parallel processing of in-loop deblocking filter for H.264 video compression standard
JP5496667B2 (ja) 動き補償動画像復号化処理のための効率的フェッチング
US9665540B2 (en) Video decoder with a programmable inverse transform unit
Amish et al. Fully pipelined real time hardware solution for high efficiency video coding (HEVC) intra prediction
Masaki et al. VLSI implementation of inverse discrete cosine transformer and motion compensator for MPEG2 HDTV video decoding
JPH1175186A (ja) スケーリングされた順方向および逆方向の離散コサイン変換と、これを使用するビデオ圧縮伸長システム
KR100842557B1 (ko) 동영상 처리 장치에서 메모리 액세스 방법
JP4704333B2 (ja) 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路
Saponara Real-time and low-power processing of 3D direct/inverse discrete cosine transform for low-complexity video codec
US20020021842A1 (en) Circuit and method for performing a two-dimensional transform during the processing of an image
Dias et al. Unified transform architecture for AVC, AVS, VC-1 and HEVC high-performance codecs
Dias et al. High performance multi-standard architecture for DCT computation in H. 264/AVC high profile and HEVC codecs
US7756351B2 (en) Low power, high performance transform coprocessor for video compression
Sun et al. VLSI implementation of a configurable IP Core for quantized discrete cosine and integer transforms
Chang et al. A fast algorithm-based cost-effective and hardware-efficient unified architecture design of 4× 4, 8× 8, 16× 16, and 32× 32 inverse core transforms for HEVC
Martuza et al. Implementation of a cost-shared transform architecture for multiple video codecs
Martuza et al. Low cost design of a hybrid architecture of integer inverse DCT for H. 264, VC-1, AVS, and HEVC
Martuza et al. A fast hybrid dct architecture supporting h. 264, vc-1, mpeg-2, avs and jpeg codecs
Kammoun et al. An optimized hardware architecture of 4× 4, 8× 8, 16× 16 and 32× 32 inverse transform for HEVC
JPH08275159A (ja) デジタル・ビデオ符号器プロセッサ
Campos et al. Integer-pixel motion estimation H. 264/AVC accelerator architecture with optimal memory management
Orlandić et al. A low-complexity MPEG-2 to H. 264/AVC wavefront intra-frame transcoder architecture
Shengfa et al. Instruction-level optimization of H. 264 encoder using SIMD instructions
Li et al. FPGA-based MSB-first bit-serial variable block size motion estimation processor