JP2006293693A - 2次元逆変換装置 - Google Patents

2次元逆変換装置 Download PDF

Info

Publication number
JP2006293693A
JP2006293693A JP2005113574A JP2005113574A JP2006293693A JP 2006293693 A JP2006293693 A JP 2006293693A JP 2005113574 A JP2005113574 A JP 2005113574A JP 2005113574 A JP2005113574 A JP 2005113574A JP 2006293693 A JP2006293693 A JP 2006293693A
Authority
JP
Japan
Prior art keywords
data
dimensional
array
row
dimensional inverse
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
JP2005113574A
Other languages
English (en)
Inventor
Tien Ping Chua
チュア・ティエン・ピン
Wei Lee New
ニュー・ウェイ・リー
Tomohiro Ono
智宏 大野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005113574A priority Critical patent/JP2006293693A/ja
Publication of JP2006293693A publication Critical patent/JP2006293693A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】2回の1次元逆変換演算を経て2次元逆変換演算を実行する際にn×nブロックのデータをバッファリングおよびアクセスするための効率的な格納手段を提供する。
【解決手段】シフトアレイ形式の格納手段を用いて、空間周波数領域における変換対象データと、空間領域における1次元逆変換済みデータおよび2次元逆変換済みデータを、2回の1次元逆演算を実行する際のそれらのビット・サイズの相違および存在時間の相違を利用して格納およびアクセスする。このシフトアレイのシリコン実装時の寸法を、シフトアレイ内の記憶素子を効率的に共用し、かつこれらの記憶素子に効率的にアクセスすることにより小型化する。複数のシフトアレイを用いて、データバッファ容量を拡大することにより、SDTVおよびHDTV解像度等の高性能を必要とするビデオ復号システムのスループットを増やすことができる。
【選択図】図4

Description

本発明は、2次元逆変換を実行する際のビット・サイズの相違および存在時間の相違を利用して、空間周波数領域内の変換対象データ、空間領域内の1次元逆変換済みデータおよび2次元逆変換済みデータを格納するシフトアレイを用いた2次元逆変換装置に関する。2次元逆変換装置は、空間周波数領域内のデータブロックを空間領域内のデータブロックに変換するもので、ビデオ復号システムに応用可能である。このような逆変換の例として、MPEG方式において用いられる逆離散コサイン変換(IDCT)およびSMPTE VC1方式において用いられる逆整数変換がある。
空間領域から空間周波数領域への2次元(2−D)変換は、MPEGビデオ方式等のビデオ圧縮で広く用いられており、空間領域におけるn×nブロックのピクセル情報を空間周波数領域に変換するものである。データを空間周波数領域から空間領域へ逆変換するにはビデオ復号システムにより2次元(2−D)逆変換を実行する必要がある。使用する2次元逆変換は、分離可能な変換であるため、1次元(1−D)逆変換を2回実行することにより得られる。最初に、変換対象データのブロックの行に対して1次元逆変換を実行して1次元逆変換済みデータのブロックを求め、次いで1次元逆変換済みデータのブロックの列に対して1次元逆変換を別途実行する。
1次元逆変換式を直接計算するのに比べてより少ない回数の算術演算、乗算および加算により1次元逆変換を計算可能にすべく、各種の高速アルゴリズムが開発されている。非特許文献1にそのような高速アルゴリズムの一つが記載されている。これらの高速アルゴリズムは通常、対象アプリケーションを十分にリアルタイム処理可能な程度に処理速度を上げるべく、多数回の算術演算を並列に実行できる並列アーキテクチャとして実装されている。
前記MPEGビデオ・ビットストリームを復号化するための従来のビデオ復号システムにおいて、DCT係数は所定の走査順序で可変長復号化を介して直列に復号化され、これらのDCT係数は次いで逆量子化および逆走査されてラスタ走査順にDCT係数のブロックを形成する。DCT係数のこのブロックを格納するために入力バッファが必要である。DCT係数のブロックの各行に対し1次元IDCT処理が実行され、1次元IDCT変換済みデータの各行に対する出力が中間データ記憶バッファに格納される。中間データ記憶バッファは、別の1次元IDCT処理用の中間データの各列を出力する。後続の復号化段階用に2次元IDCT変換対象データを格納するための出力バッファが必要である。非特許文献2に、MPEG−2ビデオ復号用の汎用ビデオデコーダ・アーキテクチャを記載している。特許文献1に、そのデータ処理モジュールにおけるこれらのデータ記憶バッファの要件を記載している。
中間1次元逆変換済みデータのバッファリングおよび転置手段を実装するために多くの異なる方法が用いられてきた。特許文献2に、8×8ブロックのデータ行を格納して、データ列を読み出し可能にするインターリーブされたランダム・アクセス・メモリを記載している。特許文献3に、レジスタとマルチプレクサを相互接続することにより形成した転置メモリを記載している。
2次元逆変換計算用にデータをバッファリングする従来技術の方法は、多くのシリコン領域を要する。従って本発明の目的は、逆変換計算用の入力バッファ、中間データバッファ、および出力バッファのバッファリング手段を共有することによりシリコン領域を減らすことである。
米国特許第6,717,620号明細書 米国特許第5,053,985号明細書 米国特許第4,903,231号明細書 W.チェン(Chen)、C.H.スミス(Smith)、およびS.C.フラリック(Fralick)著「離散コサイン変換用の高速計算アルゴリズム(A fast computational algorithm for the discrete cosine transform)」、IEEE Trans.Commun.、vol.COM−25、p1004〜1009、1977年9月 ジュイホア・リー(Jui−Hua Li)、ナム・リン(Nam Ling)著「MPEG−2ビデオデコーダ用のアーキテクチャおよびバス調停スキーム(Architecture and Bus−Arbitration Schemes for MPEG−2 Video Decoder)」、IEEE Trans.Circuits Syst.VideoTechnol.、vol.9、no.5、1999年8月、p.727〜736
トランジスタのサイズを小型化させたVLSIプロセス技術の進歩により、トランジスタ漏出電流が電力消費全体における重要な課題となる。電池で動作するビデオ復号システムの場合、2次元逆変換用の格納手段の効率的な使用を通じて電力消費量を減らすことが重要である。
VLSIで実装したビデオ復号は、一連の圧縮復元タスクを実行するハードウェア・アクセラレーション・コアのパイプラインにより実行される。圧縮効率に対する要求の増大に起因して、MPEG4、H.264、およびSMPTE VC1等の新しいビデオ方式の多くは、より高度な圧縮技術を使用している。この種の新規なビデオ方式のために、より高度なハードウェア・アクセラレーション・コアを用いる必要があり、またこれらのハードウェア・アクセラレーション・コアによる外部メモリへのアクセスが増加する。データを求めての外部メモリへアクセスする結果、これらのハードウェア・アクセラレーション・コアの処理待ち時間のバラツキが拡大する。その結果、ビデオ復号パイプライン内のハードウェア・アクセラレーション・コアの先行ハードウェア・アクセラレーション・コアからの入力データ待ち時間、および後続ハードウェア・アクセラレーション・コアに受け入れられるまでの出力データ待ち時間のバラツキが益々拡大する。特にSDTVおよびHDTV解像度等の高性能ビデオ復号システムに十分なスループットを実現するために、復号化パイプラインにおける効率的なデータバッファリングによりハードウェア・アクセラレーション・コアの使用率を高い水準に維持することが求められている。
本発明の第1の観点は、変換対象データ、1次元逆変換済みデータ、および2次元逆変換済みデータに効率的にデータアクセスすべくシフトアレイを用いて2回の1次元(1−D)逆変換を実行することにより2次元(2−D)逆変換を実行する2次元逆変換装置であって、
変換対象データ、1次元逆変換済みデータ、および2次元逆変換済みデータを入力、バッファリング、および出力するための1個または複数のn×nシフトアレイを含むデータ格納手段と、
1次元行逆変換および1次元列逆変換を計算するための1次元逆変換計算手段と、
ビデオ復号パイプライン内の先行ハードウェア・アクセラレーション・コアから前記データ格納手段へ変換対象データを入力するための変換対象データ入力手段と、
ビデオ復号パイプライン内の後続ハードウェア・アクセラレーション・コアへ前記データ格納手段から2次元逆変換済みデータを出力するための2次元逆変換済みデータ出力手段と、
1次元行逆変換を計算すべく前記データ格納手段から1次元逆変換計算手段へ変換対象データを出力するためのn行の変換対象データ出力手段と、
1次元行逆変換を計算した後で、1次元逆変換計算手段から前記データ格納手段に1次元逆変換済みデータを入力するためのn行の1次元逆変換済みデータ入力手段と、
1次元列逆変換を計算すべく、前記データ格納手段から1次元逆変換済みデータを1次元逆変換計算手段へ出力するためのn列の1次元逆変換済みデータ出力手段と、
1次元列逆変換を計算した後で、1次元逆変換計算手段から前記データ格納手段へ変換対象データを入力するためのn列の2次元逆変換済みデータ入力手段と、
前記変換対象データ入力手段を介して先行ハードウェア・アクセラレーション・コアから変換対象データを受け入れるための入力アレイとして前記データ格納手段内の1個のシフトアレイを選択するための入力アレイ選択手段と、
前記データ格納手段内の選択された入力アレイに対し、データの受け入れが許可された時点を指示するための入力アレイモード指定手段と、
n行の変換対象データ出力手段、n行の1次元逆変換済みデータ入力手段、n列の1次元逆変換済みデータ出力手段、およびn列の2次元逆変換済みデータ入力手段を介して、前記1次元逆変換計算手段との間でデータを入出力するための計算アレイとして、データ格納手段内のシフトアレイの1個を選択するための計算アレイ選択手段と、
選択された計算アレイが、1次元逆変換計算の準備が完了した時点、および1次元逆変換計算に対応するデータ移送モードを、選択された計算アレイに指示するための計算アレイモード指定手段と、
前記2次元逆変換済みデータ出力手段を介して、ビデオ復号パイプライン内の後続ハードウェア・アクセラレーション・コアに対し、2次元逆変換済みデータを出力するための出力アレイとして、前記データ格納手段内のシフトアレイの1個を選択するための出力アレイ選択手段と、
選択された出力アレイに対し、それがアクセスすべき2次元逆変換済みデータを含むか否かを指示するための出力アレイモード指定手段と、
入力アレイ選択手段、計算アレイ選択手段、および出力アレイ選択手段が、シフトアレイを選択する際に独立して、かつラウンドロビン方式に動作する入力アレイ選択手段とを含む2次元逆変換装置である。
本発明の第2の観点によれば、前記n×nシフトアレイは、
各ビットプレーンが記憶素子のn×nアレイを含む、M個のビットプレーンと、
各ビットプレーンが記憶素子のn×nアレイを含む、N個のビットプレーンとを含み、
前記M個のビットプレーンが、ビデオ復号パイプライン内の先行ハードウェア・アクセラレーション・コアから変換対象データを受信するための変換対象データ入力手段を備え、
前記M個のビットプレーンが行データ移送手段を有し、当該手段により記憶素子のn×nアレイ内のデータ行を一つ上の行へ移送して、最上位行を出力データとして1次元行逆変換計算用の変換対象データのシフトおよび出力を可能にし、
前記N個のビットプレーンが行データ移送手段を有し、1次元行逆変換計算の後で、当該手段により記憶素子のn×nアレイ内のデータ行を一つ上の行へ移送して、最上位行を入力データとして1次元行逆変換済みデータのシフトおよび入力を可能にし、
前記M個のビットプレーンのうちx個のビットプレーンが、1次元行逆変換計算の後で、1次元変換済みデータの入力用の入力データとしてn×n個の記憶素子の最下位行を有し、
前記N個のビットプレーンおよび前記x個のビットプレーンが列データ移送手段を有し、当該手段により記憶素子のn×nアレイ内のデータ列を左隣の列へ移送して、最左端列を出力データとして1次元列逆変換計算用の1次元逆変換済みデータのシフトおよび出力を可能にし、
前記N個のビットプレーンが、1次元列逆変換計算の後で、2次元逆変換済みデータを入力するための入力データとして記憶素子のn×nアレイの最右端列を有し、
前記N個のビットプレーンが、2次元逆変換済みデータを出力するための出力データとして記憶素子のn×nアレイの最上位行または最左端列のいずれかを有する、2次元逆変換装置である。
本発明の第3の観点によれば、前記変換対象データ入力手段は、
前記M個のビットプレーンの変換対象データをn×nアレイ内の各記憶素子へ搬送するMビットデータバスと、
データの格納に用いられたn×nアレイ内の記憶素子を指定するアドレス指定手段とを含む、請求項2に記載の2次元逆変換装置である。
本発明の第4の観点によれば、前記2次元逆変換済みデータ出力手段は、
狭められたバス幅でビデオ復号パイプライン内の後続ハードウェア・アクセラレーション・コアへ出力すべく、請求項2に記載のN個のビットプレーン内の最上位行または最左端列のいずれかを介してシフトアウトされた2次元逆変換済みデータを多重化するためのデータ多重化手段を含む、2次元逆変換装置である。
本発明は、空間周波数領域内の変換対象データ、空間領域内の1次元逆変換済みデータおよび2次元逆変換済みデータを、記憶素子のn×nアレイのM+N個のビットプレーンの形式で格納するための統一されたデータ格納手段を提供する。各ビットプレーンの必要に応じてこれらの記憶素子にアクセスする、異なる手段を提供することにより、シリコン実装時にこれらの要素同士の配線および多重化手段の量が減少される。変換対象データの入力、1次元逆変換計算の実行、および2次元逆変換済みデータの出力時におけるこれらの記憶素子の存在時間の相違を利用して、共有使用することにより、必要な記憶素子の量が減少される。その結果、本発明をシリコン上に実装する際にダイ寸法が小さくでき、低電力消費がもたらされる。
復号化スループットが広範に変動し得るハードウェア・アクセラレーション・コアを有するビデオ復号システムに対して、本発明はまた、パイプライン内で中間復号化データをバッファリングする有効な手段として機能する。2個以上のシフトアレイを用いることにより、ハードウェア・アクセラレーション・コアの複合化スループットにおける許容度を増し、広範な変動性を吸収できる能力を高める。これにより、ビデオ復号パイプライン全体の複合化スループットが増大し、高いスループットを必要とするビデオ・システムに適合させる。
図1に、逆変換を実行するビデオ復号システムの一部のブロック図を示す。変換対象データの1ブロックを格納して、行単位の1次元逆変換計算用に行単位でデータを出力可能な入力バッファ100が必要である。行単位の1次元逆変換計算手段101は、行単位で1次元逆変換対象行を計算して、1次元逆変換済みデータを中間データバッファ102へ出力する。変換対象データブロックの全ての行が計算された後で、列単位の1次元逆計算103が次いで開始される。中間データバッファ102は、そのデータのブロックを転置して、列単位の1次元逆変換処理用に列単位でデータを出力する。後続の復号化段階用に2次元逆変換済みデータを格納するための出力バッファ104が必要である。これら3種の記憶バッファは、RAMまたはシフトレジスタ・アレイとして実装されている。
本装置は、2次元逆変換計算用に使用される効率的なデータ格納手段を提供し、また、より良い復号化スループットを実現するためにビデオ復号パイプライン内におけるデータのバッファリングを行なう効率的な手段として役立つ。
図2に、データ格納手段として1個のn×nシフトアレイを有する2次元逆変換演算のタイミングを示す。ビデオ復号パイプライン内の先行ハードウェア・アクセラレーション・コアは、M個のビットプレーンを占有しているシフトアレイ内へMビット精度のn×n変換対象データのブロック(i)を入力する。変換対象データは次いで、1次元行逆変換計算のために行単位にシフトアウトされ、計算された(N+x)ビット精度の1次元逆変換済みデータが(N+x)ビットプレーンを占有するアレイにシフトバックされる。ここでxビットプレーンはM個のビットプレーンに属している。変換対象データのn行全てを計算した後で、列逆変換計算が開始される。1次元逆変換済みデータは次いで、1次元列逆変換計算のためにシフトアレイから列単位にシフトアウトされ、計算されたNビット精度の2次元逆変換済みデータがN個のビットプレーンを占有するシフトアレイへシフトバックされる。
ビデオ復号パイプライン内の後続ハードウェア・アクセラレーション・コアは次いで、2回の1次元逆変換計算の後で、シフトアレイからデータを読み込む。ブロック(i)の2次元逆変換済みデータの後続ハードウェア・アクセラレーション・コアへの出力は、先行ハードウェア・アクセラレーション・コアからの変換対象データの次のブロック(i+1)の入力とは同じビットプレーンを使用しないため、並列に行なうことができる。
後続ブロックの1次元逆変換演算が開始できるのは、先行ハードウェア・アクセラレーション・コアがn×n変換対象データのブロック(i+1)の入力を完了し、かつ全ての計算された2次元逆変換済みデータが後続ハードウェア・アクセラレーション・コアにより読み出された場合だけである。
図3に、ビデオ復号化スループットを増大させるためにビデオ復号パイプライン内におけるデータの効率的なバッファリングを提供すべくデータ格納手段として2個のn×nシフトアレイを有する2次元逆変換計算のタイミングを示す。シフトアレイは、2回の1次元逆変換計算、および2次元逆変換済みデータの出力について、先行ハードウェア・アクセラレーション・コアから変換対象データを受け入れるためにラウンドロビン方式で選択される。
先行ハードウェア・アクセラレーション・コアは、2個のシフトアレイを用いて、一方のシフトアレイに変換対象データを入力し、先行ハードウェア・アクセラレーション・コアの計算を停止させることなく、もう一方を1次元逆変換計算に用いることができる。2個のシフトアレイを備えている結果、シフトアレイが1個の場合に比べて1次元逆変換計算手段の利用度が増大する。これにより先行ハードウェア・アクセラレーション・コアが変換対象データの次のブロックを自身のシフトアレイに入力できるまでの待ち時間、および後続ハードウェア・アクセラレーション・コアが当該シフトアレイから2次元逆変換済みデータを読み込んで後続の1次元逆変換計算を開始可能になるまでの待ち時間を短縮することができる。2次元逆変換済みデータはまた出力用にバッファリングすることができ、その結果、後続ハードウェア・アクセラレーション・コアがこれらのデータを検索する際の速度の変動に対する許容度が高まる。
ビデオ復号システムにおける逆変換計算のためのデータ格納およびバッファリングの効率的な手段として本発明の好適な実施形態を、添付図面を参照しつつ以下に詳述する。
図4に、ビデオ復号システムの逆変換計算を実行する装置の構成のブロック図を示す。これは1個以上のデータ格納手段のn×nシフトアレイ400で構成されている。変換対象データ401並びにn×nアレイ内の場所を指定するアドレス指定手段402が先行ハードウェア・アクセラレーション・コアから、入力アレイ選択手段403により選択されたn×nシフトアレイへ入力されることを示している。入力アレイモード指定手段404が、当該シフトアレイにおいてデータ受け入れ準備完了を示していれば、変換対象データが格納位置に書き込まれる。
計算アレイ選択手段405は、データ格納手段内のシフトアレイ400が、1次元逆変換計算手段406を介して2次元逆変換の計算のために用いられることを示す。2次元逆変換は、最初に、選択されたn×nシフトアレイに格納されている変換対象データの各行に対して行なわれ、次に、選択されたn×nシフトアレイに格納されている既存1次元逆変換済みデータの各列に対して行なわれる1次元逆変換演算の2回の計算を経て実行される。計算アレイモード指定手段407は、逆変換計算を開始する時点を示す。1次元行逆変換を実行する際に、格納手段のシフトアレイ400はn行のデータ408を1次元逆変換計算手段へ出力する。1次元逆変換計算手段によりこれらのデータが計算された後で、n行の1次元逆変換済みデータ409を出力する。
列逆変換は、変換対象データのn行全てについて1次元行逆変換を完了した後で開始される。シフトアレイは、1次元列逆変換計算用に、1次元逆変換計算手段406に対して、n列の1次元逆変換済みデータ410を出力する。各列が1次元逆変換計算手段406により計算された後で、n列の2次元逆変換済みデータ411を出力する。これらのデータは、計算シフトアレイ選択手段405が示すものと同じシフトアレイにシフトされる。
計算された2次元逆変換済みデータは、シフトアレイからビデオ復号パイプライン内の後続ハードウェア・アクセラレータへシフトアウトされる。出力アレイ選択手段412は、どのシフトアレイからデータがシフトアウトされるかを示し、出力モード指定手段413により、当該シフトアレイがシフトアウトされる2次元逆変換済みデータを含んでいることを示す。2次元逆変換済みデータ414は、図9、図10に記載しているように、多重化を介して減少したバス幅でシフトアレイからシフトアウトさせることができる。
入力シフトアレイ選択手段403、計算シフトアレイ選択手段405、および出力シフトアレイ選択手段412は独立に、変換対象データ入力、1次元逆変換計算、および2次元逆変換済みデータ出力用にシフトアレイを選択する。
図5に示す別の実施形態は、M+N個のビットプレーン500からなる1個のシフトアレイの構造編成を示す。ここで、1個のビットプレーン501はn×n個の記憶素子で構成される。M個のビットプレーン502は、先行ハードウェア・アクセラレーション・コアから入力されたMビット精度のn×n変換対象データをビデオ復号パイプラインに格納するために用いられる。N個のビットプレーン503は、ビデオ復号パイプライン内の後続ハードウェア・アクセラレーション・コアにより読み出されるように、Nビット精度の2次元逆変換済みデータの格納に用いられる。
当該シフトアレイを用いて、全てのn×n変換対象データがM個のビットプレーン502に入力された後で、かつN個のビットプレーン503がまだ読み出されていない2次元逆変換済みデータを一切含まない場合に1次元行逆変換を計算することができる。当該シフトアレイは、1次元行逆変換計算のために、M個のビットプレーン502から行単位でデータをシフトアウトする。各々の1次元行逆変換計算の後で、N+xビット精度の1次元逆変換済みデータは次いで、N+x個のビットプレーン504を占有している同じシフトアレイへ書き戻される。ここでxは、M個のビットプレーンに帰属するビットプレーンの数である。
1次元逆変換済みデータは次いで、1次元列逆変換計算のために、シフトアレイから列単位にシフトアウトされる。各々の1次元列逆変換計算の後で、Nビット精度の2次元逆変換済みデータは次いで、N個のビットプレーン503を占有する同じシフトアレイに書き込まれる。
図6に、先行ハードウェア・アクセラレーション・コアから連続的に入力されたNビット精度の変換対象データ600を、n×nアレイのN個のビットプレーン内の対応する記憶素子601に格納する手段を示す。アドレス指定手段602は、データを格納するためのn×nアレイ内の位置を示し、通知手段603内で復号化して、各々の記憶素子に対し変換対象データを格納するか格納しないかを通知する。
図7に、記憶素子のある行を一つ上の行へデータを移送する手段700を示す。アレイの最上位行701およびアレイの最下位行702は各々シフトアレイの出力および入力としての役割を果たす。M個のビットプレーンは当該手段を有し、1次元行逆変換計算のために変換対象データを行単位にシフトアウトさせる。N個のビットプレーンも同じ手段を有し、M個のビットプレーンからのx個のビットプレーンをと共に用いて、1次元行逆変換計算の後で、1次元逆変換済みデータ行をシフトさせる。
図8に、ある列から左隣の列へデータを移送する手段800を示す。最左端の列801および最右端の列802は各々シフトアレイの出力および入力としての役割を果たす。N+xビットプレーンは当該手段を有し、1次元列逆変換計算のため1次元逆変換済みデータを列単位にシフトアウトさせる。N個のビットプレーン内でも当該手段を用いて、1次元列逆変換計算の後で、2次元逆変換済みデータをN個のビットプレーンにシフトする。
N個のビットプレーン内の2次元逆変換済みデータは、シフトアレイからビデオ復号パイプライン内の後続ハードウェア・アクセラレーション・コアへシフトアウトされる。図9に示す行からの行へのデータ移送手段、あるいは図10に示す列から列へのデータ移送手段を用いて、2次元逆変換済みデータをシフトアレイからシフトアウトさせることができる。シフトアレイからシフトアウトされた2次元逆変換済みデータ900,1000の数nは次いで、データ多重化手段901,1001により多重化されて、数が減らされた2次元逆変換済みデータをビデオ復号パイプライン内の後続ハードウェア・アクセラレーション・コアへ搬送するデータバス902,1002に送られる。
以下、本発明の特徴をまとめると、次の通りである。
2次元逆変換を実行するハードウェア・アクセラレーション・コアは、入力変換対象データ、1次元逆変換済み中間データ、および出力2次元逆変換済みデータを格納する格納手段を必要とする。これら3種のデータの型は精度が異なり、1次元逆変換済みデータは表現のために最大数のビットを必要とし、これに変換対象データ、さらに2次元逆変換済みデータが続く。逆変換演算途中におけるこれらの存在時間もまた異なり、例えば変換対象データ行に対して1次元逆変換が実行された後で変換対象データの当該行を他の有用なデータで上書きすることができる。
本発明は、データ・サイズの相違、およびそれらの存在時間の相違を利用して、n×nデータの格納手段の新しいシフトアレイを構築する。本シフトアレイは(M+N)個のビットプレーンと見なすことができ、各ビットプレーンはn×nアレイのビット格納手段を有する。各データ格納手段のビット数は、入力変換対象データ(M)に出力2次元逆変換済みデータ(N)を加えたものによる表現に必要な合計ビット数である。格納手段の(M+N)個のビットを用いて、1次元逆変換済みデータを格納することもできる。
入力変換対象データ(M)用に使用するビット数、および出力2次元逆変換済みデータ(N)用に使用するビット数は異なるビデオ復号方式ごとに異なる。MPEG2ビデオ方式において、各変換対象データは12ビット値により表現することができ、各2次元逆変換対象データは9ビット値により表現することができる。1次元逆変換済みデータの表現に用いるビット数は、逆変換の計算に用いるアルゴリズムに依存する。開発された高速逆変換アルゴリズムの大部分において、この数は通常(M+N)より小さく、その結果利用されていない少数のビットプレーンが得られる。しかし、これはシフトアレイが提供するより大きな効果に比べて受容可能である。(M+N)ビットに近いかまたは等しい1次元逆変換済みデータを用いる高速アルゴリズムを開発して、算術演算、加算、および乗算の回数を減少させながら格納ビットプレーンを最大限に利用することができる。
M個のビットプレーンは、先行ハードウェア・アクセラレーション・コアから変換対象データ入力を受容する手段を有している必要がある。変換対象データは連続的に入力することができ、アドレス指定手段が格納用にn×nアレイ内の場所を示す。M個のビットプレーンはまた、行データ移送用の手段を有し、n×nアレイ内の記憶素子の行データを一つ上の行へシフトさせて、最上位行を1次元逆変換計算手段への出力とする。
1次元行逆変換計算を実行した後で、1次元逆変換済みデータは次いで(N+x)ビットプレーンへシフトされる。ここで、xはM個のビットプレーン内のビットプレーンの数であり、(N+x)は1次元逆変換済みデータを表わすのに必要なビット精度である。n×nアレイの(N+x)ビットプレーン内の最下行は1次元逆変換済みデータの入力として用いられる。(N+x)ビットプレーンはまた、1次元逆変換済みデータへシフトするための上述の行データ移送手段も有する。
(N+x)ビットプレーンは列データ移送の手段を有し、n×nアレイ内の記憶素子の列内のデータを左隣の列へシフトでき、n×nアレイの最左端の列が1次元逆変換済みデータを1次元逆変換計算手段へ出力する。N個のビットプレーンの列データ移送手段はまた、1次元列逆変換計算を実行した後で2次元逆変換済みデータへシフトするためにも用いられる。
n×nシフトアレイのN個のビットプレーンは、行または列データ移送手段のいずれかを用いて2次元逆変換済みデータをシフトアウトし、次いで復号化パイプライン内の後続ハードウェア・アクセラレーション・コアに転換すべくこれらのデータを狭められたバス幅に多重化する。
このシフトアレイにより、逆変換演算の間における変換対象データ、1次元逆変換済みデータ、および2次元逆変換済みデータのビット精度および存在時間の相違を利用して効率的に共有することにより、記憶素子の個数およびこれらの記憶素子へのアクセス手段を減らすことができる。
本シフトアレイはまた、復号化パイプライン内のデータのバッファリングのための効率的な手段として役立ち、データを求めて外部メモリ装置にアクセスすることで計算スループットがより広範に変動するため、ハードウェア・アクセラレーション・コアの計算リソースのより高度な利用が可能になる。シフトアレイのシリコン領域サイズが小さいことはまた、シリコンに対して1回以上のシフトアレイを実行可能として、SDTVおよびHDTV解像度等の高性能ビデオ復号システム用に十分なスループットを実現できるバッファリング容量を向上させることができる。
本発明は、2次元逆変換装置に利用することができる。
ビデオ復号システムで一般に用いられる従来の逆変換装置のブロック図である。 データ格納手段として1個のn×nシフトアレイを用いる2次元逆変換演算のタイミングを示す図である。 1個のn×nシフトアレイの場合と比較して、データ格納手段として2個のn×nシフトアレイを用いる場合の復号化スループットの増加を示す図である。 本発明のデータ格納手段を用いて2回の1次元逆変換計算を経て2次元逆変換を実行する装置を示す図である。 各々のビットプレーンがn×n記憶素子からなる、M+N個のビットプレーンからなる1個のシフトアレイの構造編成を示す図である。 ビデオ復号パイプライン内の先行ハードウェア・アクセラレーション・コアから連続的に入力された変換対象データを、N個のビットプレーン内のn×nアレイの対応する記憶素子に格納する手段を示す図である。 記憶素子の1行から、n×nアレイのN+M個のビットプレーン内で一つ上の行へデータを移送する手段を示す図である。 記憶素子の1列から、n×nアレイのN+xビットプレーン内で左隣の列へデータを移送する手段を示す図である。 n×nアレイのN個のビットプレーン内の後続ハードウェア・アクセラレーション・コアへ、2次元逆変換済みデータを行単位に出力する手段を示す図である。 n×nアレイのN個のビットプレーン内の後続ハードウェア・アクセラレーション・コアへ、2次元逆変換済みデータを列単位に出力する手段を示す図である。
符号の説明
100 入力バッファ
101 1次元逆変換計算手段
102 中間データバッファ
103 1次元逆計算
104 出力バッファ
400 データ格納手段のn×nシフトアレイ
401 変換対象データ
402 アドレス指定手段
403 入力アレイ選択手段
404 入力アレイモード指定手段
405 計算アレイ選択手段
406 1次元逆変換計算手段
407 計算アレイモード指定手段
408 n行のデータ
409 n行の1次元逆変換済みデータ
410 n列の1次元逆変換済みデータ
411 n列の2次元逆変換済みデータ
412 出力アレイ選択手段
413 出力モード指定手段
414 2次元逆変換済みデータ
500 M+N個のビットプレーン
501 1個のビットプレーン
502 M個のビットプレーン
503 N個のビットプレーン
504 N+x個のビットプレーン
600 変換対象データ
601 記憶素子
602 アドレス指定手段
603 通知手段
700 データ移送手段
701 アレイ最上位行
702 アレイ最下位行
800 データ移送手段
801 最左端列
802 最右端列
900 2次元逆変換済みデータ
901 データ多重化手段
902 データバス
1000 2次元逆変換済みデータ
1001 データ多重化手段
1002 データバス

Claims (4)

  1. 変換対象データ、1次元逆変換済みデータ、および2次元逆変換済みデータに効率的にデータアクセスすべくシフトアレイを用いて2回の1次元(1−D)逆変換を実行することにより2次元(2−D)逆変換を実行する2次元逆変換装置であって、
    変換対象データ、1次元逆変換済みデータ、および2次元逆変換済みデータを入力、バッファリング、および出力するための1個または複数のn×nシフトアレイを含むデータ格納手段と、
    1次元行逆変換および1次元列逆変換を計算するための1次元逆変換計算手段と、
    ビデオ復号パイプライン内の先行ハードウェア・アクセラレーション・コアから前記データ格納手段へ変換対象データを入力するための変換対象データ入力手段と、
    ビデオ復号パイプライン内の後続ハードウェア・アクセラレーション・コアへ前記データ格納手段から2次元逆変換済みデータを出力するための2次元逆変換済みデータ出力手段と、
    1次元行逆変換を計算すべく前記データ格納手段から1次元逆変換計算手段へ変換対象データを出力するためのn行の変換対象データ出力手段と、
    1次元行逆変換を計算した後で、1次元逆変換計算手段から前記データ格納手段に1次元逆変換済みデータを入力するためのn行の1次元逆変換済みデータ入力手段と、
    1次元列逆変換を計算すべく、前記データ格納手段から1次元逆変換済みデータを1次元逆変換計算手段へ出力するためのn列の1次元逆変換済みデータ出力手段と、
    1次元列逆変換を計算した後で、1次元逆変換計算手段から前記データ格納手段へ変換対象データを入力するためのn列の2次元逆変換済みデータ入力手段と、
    前記変換対象データ入力手段を介して先行ハードウェア・アクセラレーション・コアから変換対象データを受け入れるための入力アレイとして前記データ格納手段内の1個のシフトアレイを選択するための入力アレイ選択手段と、
    前記データ格納手段内の選択された入力アレイに対し、データの受け入れが許可された時点を指示するための入力アレイモード指定手段と、
    n行の変換対象データ出力手段、n行の1次元逆変換済みデータ入力手段、n列の1次元逆変換済みデータ出力手段、およびn列の2次元逆変換済みデータ入力手段を介して、前記1次元逆変換計算手段との間でデータを入出力するための計算アレイとして、データ格納手段内のシフトアレイの1個を選択するための計算アレイ選択手段と、
    選択された計算アレイが、1次元逆変換計算の準備が完了した時点、および1次元逆変換計算に対応するデータ移送モードを、選択された計算アレイに指示するための計算アレイモード指定手段と、
    前記2次元逆変換済みデータ出力手段を介して、ビデオ復号パイプライン内の後続ハードウェア・アクセラレーション・コアに対し、2次元逆変換済みデータを出力するための出力アレイとして、前記データ格納手段内のシフトアレイの1個を選択するための出力アレイ選択手段と、
    選択された出力アレイに対し、それがアクセスすべき2次元逆変換済みデータを含むか否かを指示するための出力アレイモード指定手段と、
    入力アレイ選択手段、計算アレイ選択手段、および出力アレイ選択手段が、シフトアレイを選択する際に独立して、かつラウンドロビン方式に動作する入力アレイ選択手段とを含む2次元逆変換装置。
  2. 前記n×nシフトアレイは、
    各ビットプレーンが記憶素子のn×nアレイを含む、M個のビットプレーンと、
    各ビットプレーンが記憶素子のn×nアレイを含む、N個のビットプレーンとを含み、
    前記M個のビットプレーンが、ビデオ復号パイプライン内の先行ハードウェア・アクセラレーション・コアから変換対象データを受信するための変換対象データ入力手段を備え、
    前記M個のビットプレーンが行データ移送手段を有し、当該手段により記憶素子のn×nアレイ内のデータ行を一つ上の行へ移送して、最上位行を出力データとして1次元行逆変換計算用の変換対象データのシフトおよび出力を可能にし、
    前記N個のビットプレーンが行データ移送手段を有し、1次元行逆変換計算の後で、当該手段により記憶素子のn×nアレイ内のデータ行を一つ上の行へ移送して、最上位行を入力データとして1次元行逆変換済みデータのシフトおよび入力を可能にし、
    前記M個のビットプレーンのうちx個のビットプレーンが、1次元行逆変換計算の後で、1次元変換済みデータの入力用の入力データとしてn×n個の記憶素子の最下位行を有し、
    前記N個のビットプレーンおよび前記x個のビットプレーンが列データ移送手段を有し、当該手段により記憶素子のn×nアレイ内のデータ列を左隣の列へ移送して、最左端列を出力データとして1次元列逆変換計算用の1次元逆変換済みデータのシフトおよび出力を可能にし、
    前記N個のビットプレーンが、1次元列逆変換計算の後で、2次元逆変換済みデータを入力するための入力データとして記憶素子のn×nアレイの最右端列を有し、
    前記N個のビットプレーンが、2次元逆変換済みデータを出力するための出力データとして記憶素子のn×nアレイの最上位行または最左端列のいずれかを有する、請求項1に記載の2次元逆変換装置。
  3. 前記変換対象データ入力手段は、
    前記M個のビットプレーンの変換対象データをn×nアレイ内の各記憶素子へ搬送するMビットデータバスと、
    データの格納に用いられたn×nアレイ内の記憶素子を指定するアドレス指定手段とを含む、請求項2に記載の2次元逆変換装置。
  4. 前記2次元逆変換済みデータ出力手段は、
    狭められたバス幅でビデオ復号パイプライン内の後続ハードウェア・アクセラレーション・コアへ出力すべく、請求項2に記載のN個のビットプレーン内の最上位行または最左端列のいずれかを介してシフトアウトされた2次元逆変換済みデータを多重化するためのデータ多重化手段を含む、請求項1に記載の2次元逆変換装置。
JP2005113574A 2005-04-11 2005-04-11 2次元逆変換装置 Pending JP2006293693A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005113574A JP2006293693A (ja) 2005-04-11 2005-04-11 2次元逆変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005113574A JP2006293693A (ja) 2005-04-11 2005-04-11 2次元逆変換装置

Publications (1)

Publication Number Publication Date
JP2006293693A true JP2006293693A (ja) 2006-10-26

Family

ID=37414208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005113574A Pending JP2006293693A (ja) 2005-04-11 2005-04-11 2次元逆変換装置

Country Status (1)

Country Link
JP (1) JP2006293693A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008141276A (ja) * 2006-11-30 2008-06-19 Sanyo Electric Co Ltd Tv信号処理回路
US9608338B2 (en) 2013-02-23 2017-03-28 Furukawa Electronic Co., Ltd. Cylindrical body, crimp terminal, and manufacturing method thereof, as well as manufacturing apparatus of crimp terminal

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008141276A (ja) * 2006-11-30 2008-06-19 Sanyo Electric Co Ltd Tv信号処理回路
US8311123B2 (en) 2006-11-30 2012-11-13 Semiconductor Components Industries, Llc TV signal processing circuit
US9608338B2 (en) 2013-02-23 2017-03-28 Furukawa Electronic Co., Ltd. Cylindrical body, crimp terminal, and manufacturing method thereof, as well as manufacturing apparatus of crimp terminal

Similar Documents

Publication Publication Date Title
US9697176B2 (en) Efficient sparse matrix-vector multiplication on parallel processors
US9613669B2 (en) Matrix transposing circuit
JP4491798B2 (ja) 低消費パワーでデータ値配列に2次元変換を実行する方法及びシステム
CN101248430B (zh) 视频处理的转置缓冲
KR20200128360A (ko) 뎁스 와이즈 컨벌루션 혼합-정밀도 앤피유 타일
KR20190087264A (ko) 특징맵 압축을 이용한 이미지 처리 방법 및 장치
JP5245004B2 (ja) 高性能ビデオプロセッサ用の低電力メモリ階層
Kim et al. A high-throughput hardware design of a one-dimensional SPIHT algorithm
US8436865B2 (en) Memory controller and memory system using the same
JP5359569B2 (ja) メモリのアクセス方法
JP2010119084A (ja) 高速動き探索装置及びその方法
JP2011023995A (ja) 動画像処理装置およびその動作方法
CN111028136A (zh) 一种人工智能处理器处理二维复数矩阵的方法和设备
CN101778280B (zh) 一种基于avs运动补偿亮度插值运算的电路及方法
JP2006293693A (ja) 2次元逆変換装置
KR101061008B1 (ko) 컨벌루션 기반 이산 웨이블릿 변환 장치
CN108184127B (zh) 一种可配置的多尺寸dct变换硬件复用架构
CN104270643B (zh) 基于single‑port SRAM的转置矩阵的地址映射算法
JP5182285B2 (ja) デコード方法及びデコード装置
Fan et al. A parallel-access mapping method for the data exchange buffers around DCT/IDCT in HEVC encoders based on single-port SRAMs
US8473679B2 (en) System, data structure, and method for collapsing multi-dimensional data
CN101562744B (zh) 二维反变换装置
KR100754167B1 (ko) 다양한 크기의 블록에 대한 변환/역변환 방법 및 그 장치
Liang et al. A full-pipelined 2-D IDCT/IDST VLSI architecture with adaptive block-size for HEVC standard
JP2011103025A (ja) データ入出力装置およびそれを用いたデータ処理装置

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20061208