JP2001331474A - 単一命令複数データ指示を備えた逆離散コサイン変換の実行方法、圧縮データの伸張方法、圧縮データ信号の伸張装置、並びに、コンピュータ・プログラム製品 - Google Patents

単一命令複数データ指示を備えた逆離散コサイン変換の実行方法、圧縮データの伸張方法、圧縮データ信号の伸張装置、並びに、コンピュータ・プログラム製品

Info

Publication number
JP2001331474A
JP2001331474A JP2001070831A JP2001070831A JP2001331474A JP 2001331474 A JP2001331474 A JP 2001331474A JP 2001070831 A JP2001070831 A JP 2001070831A JP 2001070831 A JP2001070831 A JP 2001070831A JP 2001331474 A JP2001331474 A JP 2001331474A
Authority
JP
Japan
Prior art keywords
idct
way
rounding
shifting
coefficients
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
JP2001070831A
Other languages
English (en)
Inventor
Saha Arindam
アリンダム・サハ
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2001331474A publication Critical patent/JP2001331474A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform

Abstract

(57)【要約】 【課題】 本発明は、圧縮されたデータの伸張に関して
逆離散コサイン変換(IDCT)を実行する装置および
方法を提供する。 【解決手段】 本発明は、複数の第1の一方向性IDC
T係数180をもたらす第1の一方向性IDCT158
を実行し、続けて複数の第2の一方向性IDCT係数1
84をもたらす第2の一方向性IDCT164を実行す
る。第1及び第2の一方向性IDCT158,164の
実行時に、第1の複数の中間バタフライ計算は、複数の
初期積をもたらす複数の中間乗積と、中間積をもたらす
複数の中間加算とを実行する。その複数の中間加算はR
NPの丸めスキームによって16ビット以下で維持され
る。第2の一方向性IDCTに続けて、複数の第2の一
方向性IDCT係数を丸めて桁送りすることは、IEE
Eの1180規格を満たす複数の出力係数をもたらすR
AZの丸めスキームを利用して実行される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的にデータ信号
の圧縮および伸張に関する。特に、本発明は逆離散コサ
イン変換の実行に関する。
【0002】
【従来の技術】離散コサイン変換(DCT)および逆離
散コサイン変換(IDCT)を最初に実行したのは、N.
Ahmed, T. Natarajan, 及び, K. R. Raoによって導入
された(N. Ahmed, T. Natarajan, 及び, K. R. Rao;
離散コサイン変換:コンピュータに関するIEEE会
報;90−93頁、1974年)。Ahmedの参考文献に
よって導入されたアルゴリズムは、正確な結果を達成す
るために非常に多くの計算を必要とする。この最初の実
行は、W. Chen, C. H. Smith, 及び, S. C. Fralickに
よって作成されたDCTおよびIDCTアルゴリズムに
より進歩された(W.Chen, C. H. Smith, 及び, S. C. F
ralick;離散コサイン変換に関する高速計算アルゴリズ
ム;コンピュータに関するIEEE会報、COM−25
(9);1004−1009頁、1977年)。Chenア
ルゴリズムはAhmedアルゴリズムの上を行くが、依然と
して多数の計算を必要とする。
【0003】現在では、ますます多くのマイクロプロセ
ッサが、マルチメディア・アプリケーションの実行を加
速するために命令と関連ハードウェアとを提供してい
る。
【0004】この種のマイクロプロセッサにおいて実行
されるマルチメディア範囲は、計算の単一命令複数デー
タ(SIMD)モードに基づかれている。Hitachi(日
立)は、SH5と呼ばれるこの種のマイクロプロセッサ
を作成した。SH5は、SIMDモードを利用して4つ
の異なるデータ値まで続けて同じ命令を同時に計算する
ことを可能にしている。
【0005】2次元の8×8のIDCTは、種々のビデ
オ伸張アプリケーションにおいて一般的に用いられる機
能である。MPEG−2のような幾つかのマルチメディ
ア規格は、IEEEの1180規格テストで公表された
ように、IDCT精度についての特定レベルを要求して
いる(8×8の逆離散コサイン変換の実行に関するIE
EE規格仕様、IEEE規格1180−1990)。当
該技術分野においてよく知られているように、8×8マ
トリックスに対する強力なITDCTの解は、4096
回の乗算と3584回の加算とを必要とする。
【0006】与えられた二方向性(2D)DCT数列
[X(m,n)、0≦m,n≦N−1]に対して、二方
向性IDCT数列[x(i,j)、0≦i,j≦N―
I]は次のように決定される:
【0007】
【数1】
【0008】一般に、一方向に(例えば行によって)入
力マトリックス上で一方向性(1D)IDCTを実行
し、その後で、反対方向に(列によって)第1の出力で
別の一方向性IDCTを実行することによって二方向性
IDCTを計算している間に、IDCTの分離可能な特
質を利用可能である。与えられたDCT数列[X
(k)、0≦k≦N−1]に対して、一方向性IDCT
数列[x(n)、0≦n≦N―1]は次のように定義さ
れる:
【0009】
【数2】
【0010】ここに、乗算定数は無視され、そしてX
(0)は適当に処理されている。こうして、N=8に対
して、これは8×8マトリックスに8×1ベクトルを乗
じたものとみなされる。
【0011】Chenアルゴリズムでは、Chenは、浮動小数
点(Chenの文献で実数と言及されている)をデータタイ
プと仮定し、更にアルゴリズムの実行についても、そし
て実行に起因したアルゴリズムの制限についても議論し
ていない。
【0012】ChenのDCTアルゴリズムは、浮動小数点
演算だけを含み、2の累乗である任意のNに関して適用
可能である。一般化は、他の全てのノードで認職可能な
ビット反転パターンを保存する形式内にマトリックス要
素を再整理するため、2進法マトリックスを備えて交互
のサイン/コサインのバタフライ・マトリックスから成
る。Chenアルゴリズムでの計算上の複雑さは、Nの入力
に対して (3N/2)×(logN−1)+2 の浮動小数点の加算と、 NlogN−(3N/2)+4 の浮動小数点の乗算とである。
【0013】Chenアルゴリズムは、一方向性の8×1の
IDCT当たり16回の乗算と26回の加算とを必要と
する。この未処理の複雑さは、強力であるより遥かに良
好であるけれども、他の多くのIDCTアルゴリズムと
比較して劣っている。例えばSH5などの並列なプロセ
ッサまたはマイクロプロセッサ上でChenのIDCTアル
ゴリズムを簡単に実行する際に見積もられる複雑さは以
下に示されている。この実行は、入力を16ビットに広
く仮定し、IEEEの1180規格を満たす精度を維持
するために、2つの16ビット入力の全ての中間積を3
2ビットに拡張している。
【0014】
【数3】
【0015】
【発明が解決しようとする課題】8×8のIDCTにお
ける計算上の複雑さを減少させる多くのアルゴリズムが
存在する。しかし、これらのアルゴリズムの大部分のう
ち不規則なメモリ・アクセス・パターンは効率的な実行
の助けにならない。更に、IEEEの1180における
精度制約を満たすIDCTを計算する効率的かつ効果的
な方法は存在しない。インテル社(Intel Corporatio
n)は、アプリケーション・ノート内でMMX命令を用
いたIDCTの実行について発表している(MPEGデ
コーディング用高速IDCTアルゴリズム中でMMX命
令が使用されている;アプリケーションノート、http:/
/developer.intel.com/drg/mmx/appnotes/ap528.ht
m)。しかし、この実行はIEEEの1180規格を満
たしていない。
【0016】
【課題を解決するための手段】本発明は、例えば圧縮さ
れたビデオ又はオーディオ・データのような圧縮データ
を伸張する際に、逆離散コサイン変換(IDCT)を実
行する装置および方法を提供する。本発明のIDCTの
実行は、複数の第1の一方向性IDCT係数をもたらす
第1の一方向性(1D)IDCTを実行し、続けて複数
の第2の一方向性IDCT係数をもたらす第2の一方向
性IDCTを実行することを含んでいる。第1の一方向
性IDCTと第2の一方向性IDCTとの実行に際し、
第1の複数の中間バタフライ計算が実行される。第2の
一方向性IDCTに続けて、複数の第2の一方向性ID
CT係数を丸めて桁送りすることが、複数の出力係数を
もたらすことで実行される。
【0017】第1の複数の中間バタフライ計算を実行す
ることが、複数の初期積をもたらす複数の中間乗算の実
行と、16ビット以下で維持される中間積をもたらす複
数の中間加算の実行とを更に含んでいる。
【0018】第1の一方向性IDCTと第2の一方向性
IDCTとを実行することが、正近傍丸め(RNP)の
丸めスキームを更に含み、他方、複数の第2の一方向性
IDCT係数を丸めて桁送りすることが、ゼロから離れ
た丸め(RAZ)の丸めスキームとを更に含んでいる。
【0019】本発明のIDCTの実行は、複数の係数に
関して1つの単一命令を同時且つ並列に実行するために
並列処理を利用し、そしてIDCTを実行するために必
要なプロセッサ・サイクル数を減少させることを更に含
んでいる。
【0020】本発明は、IEEEの1180規格を今も
なお満たしている間に、397以下のサイクルでIDC
Tを実行する。
【0021】以下に示す図面を参照して詳細な説明と、
添付された特許請求の範囲とを読むことにより、本発明
の付加的な利点及び特徴が容易に明白になるだろう。
【0022】
【発明の実施の形態】一実施の形態において、本発明
は、逆離散コサイン変換(IDCT)の実行を介して、
例えば圧縮されたビデオ信号やオーディオ信号等のよう
な圧縮信号の伸張を提供するように設計されている。本
発明の一実施の形態における方法および装置は、マイク
ロプロセッサ、コンピュータ、又は、専用ハードウェア
を介して実行される。その専用ハードウェアは、命令及
び関連したハードウェアを提供してマルチメディア・ア
プリケーションの実行を加速可能としている。一実施の
形態において、本発明は、プロセッサ又はマイクロプロ
セッサの並列処理能力を利用している。
【0023】図1は、プロセッサ又はマイクロプロセッ
サ130上で実行される本発明の一実施の形態について
のブロック図を示している。本発明を実行するために使
用可能なプロセッサの一例として、Hitachi America Lt
d. (New York)製のSH5マイクロプロセッサが含まれ
る。本発明の一実施の形態において、プロセッサ130
は、プロセッサ130に制御および計算能力を提供する
中央処理装置132を含んでいる。中央処理装置132
は、少なくとも1つのレジスタ134に結合され、レジ
スタ134への情報の入力および出力を制御する。中央
処理装置132は、マルチメディア・エンジン136、
及び、内部メモリ142にも結合され、更にポート14
6を介して外部メモリ144に結合されている。マルチ
メディア・エンジン136は、計算時の単一命令複数デ
ータ(SIMD)モードに基づかれている。そのSIM
Dは、異なる多重データ値に関する同じ命令の同時計算
または並列処理を可能としている。例えば、64ビット
のSH5は、8回の8ビットのデータ演算、4回の16
ビットのデータ演算、及び、2回の32ビットのデータ
演算に関して同じ命令の同時計算に備えている。並列処
理の際に、実行可能なデータ演算の例には、加算、減
算、乗算、桁送り、入れ換え(シャッフル)、停止(パ
ーク)、非停止(アンパーク)が含まれるが、これに限
定されない。SH5は、マルチメディア及び浮動小数点
サポートを備えた汎用マイクロプロセッサであり、40
0MHz以上の高い到達目標のクロック速度のために設
計されている。強力なSIMDマルチメディア・エンジ
ンは4個の整数乗算器から成り、パイプライン化される
と、1サイクル当たり4回の整数乗算を実行できる。
【0024】図2は、本発明の方法における一実施の形
態の全流れ図を示す。ステップ152において、圧縮さ
れた信号またはデータの入力係数がプロセッサ130の
レジスタ134内にロードされる。ステップ154にお
いて予め算定された三角定数およびセットアップ・ポイ
ンタがロードされる。一実施の形態では、三角法定数
は、当該技術分野において周知であるようなIDCT計
算内で用いられて予め算定されたサイン(sine)及びコサ
イン(cosine)の値を含んでいる。セットアップ・ポイン
タは、入力、出力、及び、係数用のメモリ・アドレス・
ロケーションに対するポインタである。ステップ156
において、係数の有効なビットを保存するために、入力
係数はビットの既定数だけ左に桁送りされる。ステップ
158において、第1の一方向性(ID)IDCTが一
方向に実行され、例えば第1の一方向性IDCT係数1
80を有する第1の一方向性IDCTマトリックスを垂
直方向に作成する。ステップ162において、結果に起
因する第1の一方向性IDCT係数180が転置され
る。ステップ164において、第1の一方向性IDCT
の出力を転置することにより、第2の一方向性IDCT
が、第1の一方向性IDCTと同じ方向、即ち垂直方向
に実行される。第2の一方向性IDCTは、第2の一方
向性IDCTマトリックスになり、第2の一方向性ID
CT最終積または係数184を含んでいる。ゼロから離
れた丸め(RAZ)(以下に更に詳細に説明される)と
桁送りとが、IDCT出力係数186の丸められて桁送
りされたマトリックスを生成するステップ168におい
て、結果に起因する第2の一方向性IDCT最終係数1
84上で実行される。次に、IDCT出力係数186の
丸められて桁送りされたマトリックスが、最終のIDC
T出力係数188に終わるステップ172において、転
置される。ステップ174において、第2の一方向性I
DCTの転置されたマトリックスにおける最終のIDC
T出力係数188が切り落とされ(クリップされ)又は
満たされ(飽和され)、その係数が範囲[−256,2
55]内で満たされて記憶されるようになる。
【0025】メモリ・アクセスは時間をくい、マルメデ
ィアの豊富なデータ・タイプを扱うアプリケーションに
おいてしばしば障害となる。従来技術におけるIDCT
アプリケーションにおいて、かなり多数の係数および計
算結果がメモリに記憶され、メモリから呼び戻されなけ
ればならない。本発明の1つの特徴は、IDCTを実行
した時に、メモリア・クセスを最小化することである。
一実施の形態において、入力係数は、64ビットのロー
ディングを実行する単一の並列プロセッサ命令を用い
て、レジスタ134(図1)内に並列に一回で4個ずつ
ロードされる。従って、1つの単一命令および単一サイ
クルにおいて4個の16ビット係数がロードされる(図
2のステップ152)。ステップ158において第1の
一方向性IDCTの完成の後に、従来の実行と異るよう
に、第1の一方向性IDCT係数180の出力マトリッ
クスがメモリ142又はメモリ144内に戻って記憶さ
れない。その代りに、これらの値はレジスタ134内に
保持され、ステップ164において第2の一方向性ID
CTが開始される以前に、ステップ162において出力
マトリックス180全体が転置される。64ビットの並
列ロード記憶オペレーションを実行する信号プロセッサ
命令を用いて、最終IDCT出力係数188がメモリ1
42又はメモリ144に一回で4個ずつ並列に記憶され
る。
【0026】一実施の形態において、本発明のIDCT
の実行がビデオ伸張のために行われる。この場合、入力
係数は、当該技術分野において知られているように画素
差の値を含んだ任意の従来手段から得られるものであ
る。IEEEの1180規格によれば、このIDCT入
力は、範囲(−2048,2047)内に12ビットの
整数ごとに割り当てられている。本発明は、少なくとも
4個の最上位なゼロビットを残すレジスタ134内に、
16ビット・エンティティとして入力係数をロードす
る。後続する中間計算において最上位のビットを保存す
るために、入力係数は、4つの場所だけ左に桁送りされ
る。この余分な4ビット精度はIDCTの終端まで実行
される。そして、いずれかの点で余分な4ビットが、第
2の一方向性IDCT164の後で、右桁送り即ち逆桁
送りによって無効にされ、以下詳述される。
【0027】一実施の形態において、中間乗算内で使用
され、予め算定されて記憶された三角定数の使用によっ
て、本発明のIDCTを完了するのに必要なサイクル数
が更に減少され、以下詳述される。三角定数は、215
で掛け算する(15個の場所だけ左に桁送りする)こと
によって整数定数に変換され、それにより、単一命令
が、正の近傍で桁送りされて丸められる(以下に更に詳
述)と共に、SIMD固定点の乗算を実行して利用可能
になる。この単一命令演算(オペレーション)は並列処
理を可能にする。その並列処理は、IDCTを実行する
更に効率的な方法を提供し、それによってIDCTを完
了するのに必要なサイクル数を更に減少させる。
【0028】図3A及び図3Bは、8×8の入力係数マ
トリックス用に第1および第2の一方向性IDCTのス
テップ158,164(図2参照)を実行する本発明に
おける一実施の形態の流れ図を示す。一方向性IDCT
は4つのステージのプロセス、即ち、ステージ210,
212,214及び216を含んだプロセスである。各
ステージは、加算219および中間バタフライ計算21
8を含んだ算術計算を備えている。中間バタフライ計算
218は、中間乗算220および中間加算222を含
み、中間積224を生成する。図4Aは、32ビットの
初期積223を生成する2つの中間乗算220と、中間
積224を生成する中間加算222とを含んだ1つの中
間バタフライ計算218を示す。各々の中間乗算220
は、予め算定された三角定数228を持つ入力226の
乗算を含んでいる。中間加算222に先立って、初期積
223は16ビット以下に維持される。初期積223を
16ビット以下で維持するために、バタフライ計算21
8は更に右に桁送り230と丸め234とを含んでい
る。32ビットの初期積223は、右に桁送り230さ
れて並列処理の最適化を可能にする16ビットの長さを
維持し、且つ、最上位ビットを維持する。次に、桁送り
された初期積231は、丸められて16ビットの初期積
225を生成する。入力係数における初期の4ビットを
左に桁送りすることが最上位ビットを保存するので、丸
められた初期積225の精度が維持される。次に、中間
加算222は、16ビットの中間積224を生成するた
めに、2つの丸められた16ビットの初期積225を加
える。例えばSH5などのプロセッサ130上で実行さ
れたとき、中間バタフライ計算218が1つの単一命令
を用いて実行される。従って、IDCTを完了するため
に必要なサイクル数は大幅に減少させられる。SH5
は、たった一回で4つの中間バタフライ計算を実行可能
とし、それによってIDCTを実行するために必要なサ
イクル数を減少させる並列処理を実行できる。丸められ
た初期積225は、16ビットのうちの1ビット総数
(カウント)を維持するように桁送りされて丸められる
ので、中間積224も16ビットに維持され、それによ
って精度とIEEEの1180規格への追従とを維持す
るために桁送り及び丸めを必要としない。
【0029】一実施の形態において、右の桁送り230
は、固定点の32ビットの初期積223のうちの15ビ
ットだけ右に桁送りすることで定義される。更に、丸め
ることは、単純に正の近傍での丸め(四捨五入)(RN
P)により実行され、以下詳述される。この15ビット
の桁送り及びRNPが可能にすることは、1つの単一プ
ロセッサ命令240によって乗算220、右の桁送り2
30、および丸め234が実行されることであり、それ
によって更に15ビットの桁送り及びRNPが、IDC
Tを実行するために必要な全サイクル数を減少させ、し
かも依然としてIEEEの1180規格への追従を維持
している。従来技術による実行は、IEEEの1180
規格を満たすために、32ビットで維持されるような初
期積223を必要とした。積を32ビットに維持または
拡張することは、効率を著しく限定し、少なくとも2つ
の要因によって並列処理の利点を低下させ、従って、I
DCTを実行するのに必要なサイクル数を増大させる。
更に、従来技術による実行は、ゼロから離れた丸め(R
AZ)の丸めスキーム、即ち、IEEEの1180規格
を満たすのに十分な程度の精度を維持するため多くの計
算を必要とする一層複雑な丸め方法の使用を必要とし
た。丸められた初期積225と16ビットでの中間積2
24とを維持することによって、本発明は並列処理を最
適化し、それによってプロセッサ130が、IDCTプ
ロセスを介して4回の同時計算を継続可能になる。
【0030】図5は、本発明の一実施の形態において実
行される2つの丸めスキームを示す。左コラムはRNP
の丸めスキームを示し、右コラムはRAZの丸めスキー
ムを示す。RNPスキームにおいて、丸められるべき数
424が正の整数よりも0.5以上だけ大きければ、R
NPは数424を上に丸める(切り上げる)。数426
が正の整数よりも0.5未満だけ小さければ、RNPは
数426を下に丸める(切り捨てる)。数428が負の
整数よりも0.5以上だけ大きければ、RNPは数42
8を上に丸める。数432が負の整数よりも0.5未満
だけ小さければ、RNPは数432を下に丸める。
【0031】続いて図5を参照すると、RAZの丸めス
キームにおいて、丸められるべき数444が正の整数よ
りも0.5以上だけ大きければ、RNPは数444を上
に丸める。数446が正の整数よりも0.5未満だけ小
さければ、RNPは数446を下に丸める。数448が
負の整数よりも0.5以上だけ大きい(この場合には
0.5を含まない)ならば、RNPは数448を上に丸
める。数452が負の整数よりも0.5以下だけ小さけ
れば、RNPは数452を下に丸める。
【0032】RAZまたは対称的な丸めは、本発明を実
行するために使用され得るプロセッサ130によって直
接サポートされないかもしれない。例えば、RAZはS
H5によって直接サポートされない。従って、一実施の
形態において、本発明は、IDCTの終了まで、この更
に複雑な丸めモードを回避している。ステップ164で
第2の一方向性IDCTの第4ステージ216によって
生成された16ビットの第2の一方向性IDCT最終係
数184における最終丸めおよび桁送りの間だけ、RA
Zの使用によって本発明がIEEEの1180規格を満
たすことを可能にしている。
【0033】図4Bを参照すると、一実施の形態におい
て、第2の一方向性IDCT164の第4ステージ21
6に後続して、丸め及び桁送りが、第2の一方向性ID
CT最終係数186上で実行されてIEEEの1180
規格での適合を保証し、そして16ビット以下でその係
数を維持し、それによって並列処理を最適化する。丸め
252は、ゼロから離れた丸め(RAZ)の丸めスキー
ムを介して実行される。本発明の一実施の形態におい
て、RAZの丸め252は、算術補償を介して実行さ
れ、IEEEの1180規格を満たすIDCT出力係数
186を得るために最終桁送り254によって後続され
る。
【0034】図4Cを参照すると、一実施の形態におい
て、RAZ252は、最終桁送り254によって複数の
ビットだけ右に桁送り、且つ補償された最終積280に
なる算術補償を含んでいる。RAZ252は、最初に、
桁送りされた最終係数282になる第2の一方向性ID
CT最終係数184を右に15ビットだけ桁送りする。
次に、桁送りされた最終係数282は、条件付き積28
6を生成する条件付き定数284を備えて桁送りされた
最終係数282を加えることにより、条件付き定数28
4だけ調整される。次に、第2の一方向性IDCT最終
係数184は、補償された最終積280を生成する条件
付き積286と一緒に加えられる。予め算定された条件
付き定数が導出されて正および負の第2の一方向性ID
CT最終係数184に関してそれぞれ32及び31とな
る。最終的な右の桁送り254は、6ビットの右桁送り
となってIDCT出力係数186を得るためIDCTア
ルゴリズムにより指示されたように、2ビットの右桁送
りと共に元の12ビットの入力係数のうちで初期の4ビ
ットの左桁送りを無効にしている。
【0035】図6は、桁送り及びRNPの単一命令46
8で増大されるSIMDの固定点における一実施の形態
を示す。単一命令468は、図4Aに示す中間バタフラ
イ計算218の中間乗算220、桁送り230、及び、
丸め234の一つの手段である。単一命令468は、単
一命令内の中間バタフライ計算218を実行し、それに
よって、本発明のIDCTを実行するために必要なサイ
クル数を減少させる。最初、4個の入力係数470A〜
470Dが、三角定数470E〜470Hに乗算(47
2)される。次に、乗算472の初期積474は右に1
5ビットだけ桁送り(476)され、中間バタフライ計
算218における16ビットの丸められた初期積225
を生成するRNPの丸めスキームを用いて丸め(47
8)られる。単一命令468は並列処理を介して実行さ
れ、それによって4個の中間バタフライ計算218が同
時に実行可能にされ、更に、IDCTを実行するために
必要なサイクル数が減少される。
【0036】図3及び図4に戻って参照すると、中間乗
算220における32ビットの初期積223は、乗算2
20への2つの入力係数226の幅と同じ幅である16
ビットの幅だけ維持される。他の従来の方法と異なっ
て、本発明は、中間加算222を伴った一切の桁送り及
び丸め演算を使用していない。このことは、IEEEの
1180規格を危うくしない。乗算積の16ビット幅
は、最上位ビットも維持する桁送り230を介して維持
される。元の12ビットの入力係数を4ビットだけ最初
に左桁送りすること、及び、右桁送り230を用いるこ
とのために、最上位ビットが維持され、そして単純なR
NPが中間結果の精度に影響しない。そして、IEEE
の1180規格は依然として満たされている。更に、中
間積224を16ビットで維持することは、中間積を3
2ビットまで拡張することを必要とする従来技術の方法
より、少なくとも2つの要因によって並列処理の使用を
最適化し続ける能力を提供する。
【0037】本発明におけるIDCTの実行は、性質
上、間接的である。二方向性(2D)IDCTを直接計
算する代りに、本発明は、ステップ158において第1
の一方向性IDCTを一方向に実行し、後けて、ステッ
プ164において第1の一方向性IDCTの転置された
出力と同じ方向に第2の一方向性IDCTを実行する。
間接的な方法は、計算上、直接的な方法より優れてい
る。しかし、間接的な方法の欠点は、ステップ164に
おいて第2の一方向性IDCTが実行される前に、デー
タマトリックスが効果的に転置され(ステップ162)
なければならないことである。これは、第1の一方向性
IDCT出力係数180をメモリ142又はメモリ14
4内に適切に記憶し、それらの係数を入力として第2の
一方向性 IDCTへロードすることによって実行可能
となる。しかし、これは、多数のメモリ・アクセス(サ
イクル)、例えばSH5で実行された時に、80メモリ
・アクセス(サイクル)を必要とする。その代りに、一
実施の形態において、本発明は、第1の一方向性IDC
T出力マトリックス180をレジスタ134内に記憶
し、ステップ162において8×8のマトリックスを転
置するために入れ換え命令を使用する。その8×8のマ
トリックスは、その時に、ステップ162へ入力として
第2の一方向性IDCTを供給される。当該技術分野に
おいて周知の技術を含んだ任意の従来方法を介して実行
される入れ換え命令を用いたレジスタ内部のマトリック
ス転置に関するこのような技術は、メモリア・クセスよ
りもっと少ない命令を受け取る。例えば、SH5は、入
れ換え命令と一緒に転置を実行するために、32個の命
令(サイクル)を必要とする。
【0038】SH5上で実行される本発明の一回の実行
における複雑性評価を以下に示す。
【0039】
【数4】
【0040】この発明は、例えば、ソフトウェア・ビデ
オ・コーデック(H. 263, MPEG-1,MPEG-2 及びMPEG-4規
格に準拠)と、SIMDマルチメディア拡張付きのプロ
グラム可能なマイクロプロセッサを使用した消費者用電
子技術製品(デジタルTV、DVD、セットトップ・ボ
ックス(ケーブルテレビの操作用装置)、ゲートウェー
装置等)との一部として使用可能である。
【0041】本発明は、幾つかの特別な実施の形態に関
して記載されたが、当該記載は本発明の実例となり、本
発明を限定するものとして説明されていない。添付され
た特許請求の範囲で定義されるように、本発明における
本来の精神及び範囲から逸脱することなく様々な変更が
当業者にとって着想できるであろう。
【図面の簡単な説明】
【図1】逆離散コサイン変換(IDCT)を実行するた
めに利用される本発明の一実施の形態の概略図である。
【図2】IDCTを実行する一般的な方法の流れ図であ
る。
【図3A】本発明に関してIDCTを実行する方法にお
いて一方向性IDCTの4ステージを示す概略図であ
る。
【図3B】本発明において実行された一方向性IDCT
内で利用される一つの中間バタフライ計算を示す概略図
である。
【図4A】図3Bで示された中間バタフライ計算の更に
詳細な概略図である。
【図4B】図2の第2の一方向性IDCTに続けて実行
される丸め及び桁送りスキームの概略図である。
【図4C】ゼロから離れた丸め(RAZ)の丸めスキー
ムを含んだ図4Bの丸め及び桁送りスキームの更に詳細
な概略図である。
【図5】図2のIDCT方法で利用された2つの異なる
丸めスキームのグラフ表示である。
【図6】1つの単一プロセッサ命令で実行される図4A
の中間バタフライ計算の流れ図である。
【符号の説明】
130 プロセッサ又はマイクロプロセッサ 132 中央処理装置 134 レジスタ 136 マルチメディア・エンジン 142 内部メモリ 144 外部メモリ 146 ポート 152 ステップ 154 ステップ 156 ステップ 158 ステップ 162 ステップ 164 ステップ 168 ステップ 172 ステップ 174 ステップ 180 第1の一方向性IDCT係数 184 第2の一方向性IDCT係数 186 IDCT出力係数 188 最終IDCT出力係数 210 ステージ 212 ステージ 214 ステージ 216 ステージ 218 中間バタフライ計算 219 加算 220 中間乗算 222 中間加算 223 初期積 224 中間積 225 初期積 226 入力 228 三角定数 230 桁送り 234 丸め 252 丸め(RAZ) 254 最終桁送り 280 最終積 282 最終積 284 条件付き定数 286 条件付き積 424 数 426 数 428 数 432 数 444 数 446 数 448 数 452 数 470A 入力係数 470B 入力係数 470C 入力係数 470D 入力係数 470E 三角定数 470F 三角定数 470G 三角定数 470H 三角定数 472 乗算 474 初期積 476 桁送り 478 丸め

Claims (39)

    【特許請求の範囲】
  1. 【請求項1】 複数の入力係数に関して逆離散コサイン
    変換(IDCT)を実行する方法であって、 前記IDCTを実行する方法が、複数の第1の一方向性
    (1D)IDCT係数をもたらす第1の一方向性IDC
    Tを実行するステップと、 複数の第2の一方向性IDCT係数をもたらす第2の一
    方向性IDCTを実行するステップと、 第1の複数の中間バタフライ計算を実行することを含ん
    だ前記第1の一方向性IDCTおよび前記第2の一方向
    性IDCTを実行するステップと、 複数の出力係数をもたらす前記複数の第2の一方向性I
    DCT係数を丸めて桁送りするステップとを有すること
    を特徴とする逆離散コサイン変換の実行方法。
  2. 【請求項2】 前記第1の複数の中間バタフライ計算を
    実行する前記ステップが、複数の初期積をもたらす複数
    の中間乗算を実行するステップと、複数の中間加算を実
    行するステップとを有することを特徴とする請求項1記
    載の逆離散コサイン変換の実行方法。
  3. 【請求項3】 複数の中間乗算を実行するステップが、
    初期積を生成する三角定数に入力定数を乗算するステッ
    プと、前記初期積を16ビット以下で維持するステップ
    とを有することを特徴とする請求項2記載の逆離散コサ
    イン変換の実行方法。
  4. 【請求項4】 桁送りされた初期積をもたらす前記初期
    積を、複数のビットだけ右に桁送りすること、及び、正
    近傍丸め(RNP)の丸めスキームを利用する前記桁送
    りされた初期積を丸めることを有することを特徴とする
    請求項3記載の逆離散コサイン変換の実行方法。
  5. 【請求項5】 前記第1の一方向性IDCTと前記第2
    の一方向性IDCTとの前記第1の複数の中間バタフラ
    イ計算を実行する前記ステップが、第2の複数の中間バ
    タフライ計算を同時且つ並列に実行するステップを有す
    ることを特徴とする請求項4記載の逆離散コサイン変換
    の実行方法。
  6. 【請求項6】 前記第1の一方向性IDCTと前記第2
    の一方向性IDCTとの前記中間バタフライ計算を実行
    する前記ステップが、各中間バタフライ計算を1つの単
    一命令で実行するステップを有することを特徴とする請
    求項4記載の逆離散コサイン変換の実行方法。
  7. 【請求項7】 前記初期積を16ビット以下で維持する
    ステップが、正近傍丸め(RNP)の丸めスキームを利
    用した前記初期積を丸めるステップを含んでいることを
    特徴とする請求項3記載の逆離散コサイン変換の実行方
    法。
  8. 【請求項8】 前記第1および第2の一方向性IDCT
    を実行することが、RNPの丸めスキームを利用して丸
    めること、及び、ゼロから離れた丸め(RAZ)の丸め
    スキームを未利用することを含んでいることを特徴とす
    る請求項1記載の逆離散コサイン変換の実行方法。
  9. 【請求項9】 丸めて桁送りする前記ステップが、RA
    Zの丸めスキームを利用して丸めるステップを含んでい
    ることを特徴とする請求項8記載の逆離散コサイン変換
    の実行方法。
  10. 【請求項10】 前記第1の一方向性IDCTと前記第
    2の一方向性IDCTとの中間バタフライ計算を実行す
    る前記ステップが、1つの単一命令で各中間バタフライ
    計算を実行するステップを含んでいることを特徴とする
    請求項1記載の逆離散コサイン変換の実行方法。
  11. 【請求項11】 前記第1の一方向性IDCTと前記第
    2の一方向性IDCTとにおける前記第1の複数の中間
    バタフライ計算を実行する前記ステップが、第2の複数
    の中間バタフライ計算を同時且つ並列に実行するステッ
    プを含んでいることを特徴とする請求項10記載の逆離
    散コサイン変換の実行方法。
  12. 【請求項12】 前記第1の複数の中間バタフライ計算
    を実行する前記ステップが、1つの単一命令で各中間バ
    タフライ計算を実行するステップを含んでいることを特
    徴とする請求項1記載の逆離散コサイン変換の実行方
    法。
  13. 【請求項13】 前記第1の複数の中間バタフライ計算
    を実行する前記ステップが、第2の複数の中間バタフラ
    イ計算を同時且つ並列に実行するステップを含んでいる
    ことを特徴とする請求項12記載の逆離散コサイン変換
    の実行方法。
  14. 【請求項14】 第2の複数の中間バタフライ計算を同
    時且つ並列に実行するステップが、少なくとも4回の中
    間バタフライ計算を同時且つ並列に実行するステップを
    含んでいることを特徴とする請求項13記載の逆離散コ
    サイン変換の実行方法。
  15. 【請求項15】 前記入力係数を複数のビットだけ左に
    桁送りする前記ステップが、前記入力係数を少なくとも
    4ビットだけ左に桁送りするステップを含んでいること
    を特徴とする請求項1記載の逆離散コサイン変換の実行
    方法。
  16. 【請求項16】 複数の前記入力係数を同時且つ並列に
    ロードするステップと、前記第1の一方向性IDCTを
    実行する前記ステップに先立って前記入力係数を複数の
    ビットだけ左に桁送りするステップとを含んでいること
    を特徴とする請求項1記載の逆離散コサイン変換の実行
    方法。
  17. 【請求項17】 複数の係数を同時且つ並列にロードす
    る前記ステップが、少なくとも4つの係数を同時且つ並
    列にロードするステップを含んでいることを特徴とする
    請求項16記載の逆離散コサイン変換の実行方法。
  18. 【請求項18】 前記入力係数を左に桁送りする前記ス
    テップが、複数の前記入力係数を同時且つ並列に左桁送
    りするステップを含んでいることを特徴とする請求項1
    記載の逆離散コサイン変換の実行方法。
  19. 【請求項19】 複数の前記係数を同時に左に桁送りす
    る前記ステップが、少なくとも4つの係数を同時且つ並
    列に桁送りするステップを含んでいることを特徴とする
    請求項18記載の逆離散コサイン変換の実行方法。
  20. 【請求項20】 複数の入力係数に関して逆離散コサイ
    ン変換(IDCT)を実行する方法であって、 前記IDCTを実行する方法が、正近傍丸め(RNP)
    の丸めスキームを利用することを含んだ複数の第1の一
    方向性IDCT係数をもたらす第1の一方向性(ID)
    IDCTを実行するステップと、 正近傍丸め(RNP)の丸めスキームを利用することを
    含んだ複数の第2の一方向性IDCT係数をもたらす第
    2の一方向性IDCTを実行するステップと、 ゼロから離れた丸め(RAZ)の丸めスキームを利用し
    て丸めること含んだ複数の出力係数をもたらす前記複数
    の第2の一方向性IDCT係数を丸めて桁送りするステ
    ップとを有することを特徴とする逆離散コサイン変換の
    実行方法。
  21. 【請求項21】 前記RAZの丸めスキームを利用して
    丸めることを含んだ丸めて桁送りする前記ステップが、 桁送りされた最終係数をもたらす前記第2の一方向性I
    DCT最終係数を複数のビットだけ右に桁送りするステ
    ップと、 条件付き積をもたらす前記桁送りされた最終係数と一緒
    に条件付き定数を加えるステップと、 補償された最終積をもたらす前記条件付き積と一緒に前
    記第2の一方向性IDCT最終係数を加えるステップ
    と、 前記補償された最終積を複数のビットだけ右に桁送りす
    るステップとを有することを特徴とする請求項20記載
    の逆離散コサイン変換の実行方法。
  22. 【請求項22】 前記第2の一方向性IDCT最終係数
    を桁送りする前記ステップが、前記第2の一方向性ID
    CT最終係数を少なくとも15ビットだけ右に桁送りす
    るステップを含んでいることを特徴とする請求項21記
    載の逆離散コサイン変換の実行方法。
  23. 【請求項23】 前記条件付き定数を加える前記ステッ
    プが、 もし前記第2の一方向性IDCT最終係数が正であるな
    らば32を加えるステップと、 もし前記第2の一方向性IDCT最終係数が負であるな
    らば31を加えるステップとを含んでいることを特徴と
    する請求項21記載の逆離散コサイン変換の実行方法。
  24. 【請求項24】 前記補償された最終積を左に桁送りす
    る前記ステップが、 前記補償された最終積を少なくとも6ビットだけ右に桁
    送りするステップを含んでいることを特徴とする請求項
    21記載の逆離散コサイン変換の実行方法。
  25. 【請求項25】 丸めて桁送りする前記ステップが、4
    つの命令で丸めて桁送りする前記ステップを実行するス
    テップを含んでいることを特徴とする請求項21記載の
    逆離散コサイン変換の実行方法。
  26. 【請求項26】 丸めて桁送りする前記ステップの複数
    を同時且つ並列に実行するステップを含んでいることを
    特徴とする請求項25記載の逆離散コサイン変換の実行
    方法。
  27. 【請求項27】 丸めて桁送りする前記ステップが、同
    時且つ並列に丸めて桁送りする前記ステップを少なくと
    も4回実行するステップを含んでいることを特徴とする
    請求項20記載の逆離散コサイン変換の実行方法。
  28. 【請求項28】 前記第2の一方向性IDCTの実行に
    先だって、前記第1の一方向性IDCT係数を転置する
    ステップと、 最終IDCT出力係数をもたらす前記IDCT出力係数
    を転置するステップとを更に有することを特徴とする請
    求項20記載の逆離散コサイン変換の実行方法。
  29. 【請求項29】 前記第1の一方向性IDCT係数と、
    前記IDCT出力係数とを転置する前記ステップが、一
    回の命令当たり一回の入れ換えを実行するステップを更
    に有することを特徴とする請求項28記載の逆離散コサ
    イン変換の実行方法。
  30. 【請求項30】 前記最終IDCT出力係数を切り落と
    すステップを更に有することを特徴とする請求項28記
    載の逆離散コサイン変換の実行方法。
  31. 【請求項31】 複数の入力係数を有する圧縮されたデ
    ータを伸張する方法であって、 前記方法が、正近傍丸め(RNP)の丸めスキームを利
    用すること、及び、ゼロから離れた丸め(RAZ)の丸
    めスキームを未利用することを含んだ出力係数をもたら
    す前記複数の入力係数に関して第1の一方向性(1D)
    IDCT及び第2の一方向性IDCTを実行するステッ
    プと、 前記RAZの丸めスキームを利用することを含んだ前記
    出力係数を丸めて桁送りするステップとを有することを
    特徴とする圧縮データの伸張方法。
  32. 【請求項32】 前記IDCTが397サイクル以下だ
    けで実行されていることを特徴とする請求項31記載の
    圧縮データの伸張方法。
  33. 【請求項33】 米国電気電子技術者協会(IEEE)
    の1180精度規格を満たすステップを有することを特
    徴とする請求項32記載の圧縮データの伸張方法。
  34. 【請求項34】 単一命令複数データ(SIMD)指示
    を利用した前記IDCTを実行することを特徴とする請
    求項33記載の圧縮データの伸張方法。
  35. 【請求項35】 少なくとも4つのSIMD指示を同時
    且つ並列に実行することを特徴とする請求項34記載の
    圧縮データの伸張方法。
  36. 【請求項36】 4つの係数が同時且つ並列に演算され
    るように、前記第1の一方向性IDCTと前記第2の一
    方向性IDCTとを実行するステップを有することを特
    徴とする請求項31記載の圧縮データの伸張方法。
  37. 【請求項37】 圧縮されたデータ信号を伸張する装置
    であって、 前記装置が、複数の入力係数を少なくとも1つのレジス
    タ内にロードする手段と、 前記入力係数を受け取り、且つ、桁送りされた入力係数
    を生成するように構成された前記レジスタに結合した複
    数のビットだけ前記入力係数を桁送りする手段と、 前記桁送りされた前記係数を受け取り、且つ、第1の一
    方向性IDCT出力マトリックスを生成するように構成
    された前記入力係数を桁送りする前記手段に結合した第
    1の一方向性(ID)逆離散コサイン変換(IDCT)
    を実行する手段と、 前記第1の一方向性IDCT出力マトリックスを転置
    し、且つ、第1の転置されたIDCT出力マトリックス
    を生成するように構成された前記第1の一方向性IDC
    Tを実行する前記手段に結合した前記第1の一方向性I
    DCT出力マトリックスを転置する手段と、 前記転置された第1のIDCT出力マトリックスを受け
    取り、且つ、第2のIDCT出力マトリックスを生成す
    るように構成された前記第1のIDCT出力マトリック
    スを転置する前記手段に結合されて前記転置されたID
    CT出力マトリックスに関して第2の一方向性IDCT
    を実行する手段と、 丸められた第2の一方向性IDCT出力マトリックスを
    生成するために前記第2の一方向性IDCT出力マトリ
    ックスの係数を丸めて桁送りするように構成された前記
    第2の一方向性IDCTを実行する前記手段に結合され
    てゼロから離れた丸め(RAZ)及び桁送りの手段と、 伸張された出力を生成するために前記丸められた第2の
    一方向性IDCT出力マトリックスを転置するように構
    成されたRAZ及び桁送り手段に結合されて丸められた
    前記第2の一方向性IDCT出力マトリックスを転置す
    る手段とを有することを特徴とする圧縮データ信号の伸
    張装置。
  38. 【請求項38】 並列処理、マルチメディア・アプリケ
    ーション、少なくとも1つのレジスタ、複数の入力係数
    をロードする前記手段、前記入力係数を桁送りする前記
    手段、第1の一方向性IDCTを実行する前記手段、前
    記第1の一方向性IDCTを転置する前記手段、前記第
    2の一方向性IDCTを実行する手段、RAZおよび桁
    送りの前記手段、及び、前記丸められた第2の一方向性
    IDCT出力マトリックスを転置する前記手段を含んだ
    マイクロプロセッサを備え、 前記マイクロプロセッサが、複数の係数に関して少なく
    とも1つの単一命令複数データ(SIMD)指示を同時
    且つ並列に実行するように構成されたことを特徴とする
    請求項37記載の圧縮データ信号の伸張装置。
  39. 【請求項39】 コンピュータの読取り可能な記憶媒体
    と、その中に埋め込まれたコンピュータ・プログラム・
    メカニズムとを含み、圧縮された信号の伸張を提供する
    コンピュータ・プログラム製品であって、 前記コンピュータ・プログラム・メカニズムが、逆離散
    コサイン変換(IDCT)を実行する方法を備え、 前記方法が、複数の入力係数を少なくとも1つのレジス
    タ内でロードするステップと、 前記入力係数を複数のビットだけ左に桁送りするステッ
    プと、 第1のIDCT出力マトリックスを生成した、正近傍丸
    め(RNP)の丸めスキームを利用するステップを含ん
    だ第1の一方向性(ID)逆離散コサイン変換(IDC
    T)を実行するステップと、 転置されたIDCT出力マトリックスを生成する前記第
    1のIDCT出力マトリックスを転置するステップと、 複数の要素を含む第2のIDCT出力マトリックスを生
    成するRNPの丸めスキームを利用するステップを含ん
    だ、転置されたIDCT出力マトリックスに関して第2
    の一方向性IDCTを実行するステップと、 丸められたIDCT出力マトリックスを生成する前記第
    2のIDCT出力マトリックスの前記要素のそれぞれを
    ゼロから離れた丸め、そして桁送りするステップと、 伸張された出力を生成する前記丸められたIDCT出力
    マトリックスを転置するステップとを有することを特徴
    とするコンピュータ・プログラム製品。
JP2001070831A 2000-03-21 2001-03-13 単一命令複数データ指示を備えた逆離散コサイン変換の実行方法、圧縮データの伸張方法、圧縮データ信号の伸張装置、並びに、コンピュータ・プログラム製品 Pending JP2001331474A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/531607 2000-03-21
US09/531,607 US7020671B1 (en) 2000-03-21 2000-03-21 Implementation of an inverse discrete cosine transform using single instruction multiple data instructions

Publications (1)

Publication Number Publication Date
JP2001331474A true JP2001331474A (ja) 2001-11-30

Family

ID=24118331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001070831A Pending JP2001331474A (ja) 2000-03-21 2001-03-13 単一命令複数データ指示を備えた逆離散コサイン変換の実行方法、圧縮データの伸張方法、圧縮データ信号の伸張装置、並びに、コンピュータ・プログラム製品

Country Status (2)

Country Link
US (1) US7020671B1 (ja)
JP (1) JP2001331474A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009519628A (ja) * 2005-12-08 2009-05-14 香港中文大学 ビデオ信号の符号化係数を変換する装置および方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182693A (ja) * 2000-12-13 2002-06-26 Nec Corp オーディオ符号化、復号装置及びその方法並びにその制御プログラム記録媒体
US7383421B2 (en) 2002-12-05 2008-06-03 Brightscale, Inc. Cellular engine for a data processing system
US7379956B2 (en) * 2002-07-14 2008-05-27 Apple Inc. Encoding and decoding data arrays
US7376280B2 (en) * 2002-07-14 2008-05-20 Apple Inc Video encoding and decoding
US7451293B2 (en) * 2005-10-21 2008-11-11 Brightscale Inc. Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing
US20080059763A1 (en) * 2006-09-01 2008-03-06 Lazar Bivolarski System and method for fine-grain instruction parallelism for increased efficiency of processing compressed multimedia data
US20080244238A1 (en) * 2006-09-01 2008-10-02 Bogdan Mitu Stream processing accelerator
CN101742298B (zh) * 2008-11-19 2011-07-27 中国科学院微电子研究所 用于嵌入式实时解码器的虚拟小数逆离散余弦变换方法
CN101646080B (zh) * 2009-06-18 2013-09-25 杭州高特信息技术有限公司 基于avs并行流水idct快速变换的方法和装置
CN101989254B (zh) * 2009-08-05 2012-03-14 鸿富锦精密工业(深圳)有限公司 离散余弦转换及其逆转换电路
US10104391B2 (en) 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
US20120082228A1 (en) 2010-10-01 2012-04-05 Yeping Su Nested entropy encoding
US9807395B2 (en) 2011-01-18 2017-10-31 Dolby International Ab Video decoder with reduced dynamic range transform with inverse transform shifting memory
RU193927U1 (ru) * 2019-06-26 2019-11-21 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) Устройство для умножения бинарных матриц
US11941397B1 (en) * 2022-05-31 2024-03-26 Amazon Technologies, Inc. Machine instructions for decoding acceleration including fuse input instructions to fuse multiple JPEG data blocks together to take advantage of a full SIMD width of a processor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802213A (en) * 1994-10-18 1998-09-01 Intel Corporation Encoding video signals using local quantization levels
US6026190A (en) * 1994-10-31 2000-02-15 Intel Corporation Image signal encoding with variable low-pass filter
JP3129392B2 (ja) * 1996-02-02 2001-01-29 日本電気株式会社 2次元idct回路
TW376628B (en) * 1997-05-06 1999-12-11 Holtek Semiconductor Inc Method of accelerating JPEG quantization calculation in image compression

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009519628A (ja) * 2005-12-08 2009-05-14 香港中文大学 ビデオ信号の符号化係数を変換する装置および方法

Also Published As

Publication number Publication date
US7020671B1 (en) 2006-03-28

Similar Documents

Publication Publication Date Title
US11698773B2 (en) Accelerated mathematical engine
US7127482B2 (en) Performance optimized approach for efficient downsampling operations
RU2273044C2 (ru) Способ и устройство для параллельного объединения данных со сдвигом вправо
JP4064989B2 (ja) パック・データの乗加算演算を実行する装置
US6546480B1 (en) Instructions for arithmetic operations on vectored data
JP2001331474A (ja) 単一命令複数データ指示を備えた逆離散コサイン変換の実行方法、圧縮データの伸張方法、圧縮データ信号の伸張装置、並びに、コンピュータ・プログラム製品
JPH07236143A (ja) 高速デジタル信号復号化方法
US20070094320A1 (en) Parallel Adder-Based DCT / IDCT Design Using Cyclic Convolution
US6629115B1 (en) Method and apparatus for manipulating vectored data
JP3228927B2 (ja) プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法
EP1576494A1 (en) Method and system for performing calculation operations and a device
US6574651B1 (en) Method and apparatus for arithmetic operation on vectored data
US7065546B2 (en) Method of performing quantization within a multimedia bitstream utilizing division-free instructions
US9378186B2 (en) Data processing apparatus and method for performing a transform between spatial and frequency domains when processing video data
US5742529A (en) Method and an apparatus for providing the absolute difference of unsigned values
Shahbahrami Algorithms and architectures for 2D discrete wavelet transform
KR100227271B1 (ko) 역이산 여현변환방법
Shahbahrami et al. Matrix register file and extended subwords: two techniques for embedded media processors
KR101527103B1 (ko) 이산 코사인 변환 장치 및 방법
JP2002519957A (ja) 符号関数を処理する方法および装置
JP3155383B2 (ja) 2モード処理装置、2次元変換装置及び静止画像データの圧縮システム
JP4243277B2 (ja) データ処理装置
Zhang et al. JPEG compression coding optimization based on NEON instruction
Ismail et al. High speed on-chip multiple cosine transform generator
Sun et al. Fast computation of local correlation coefficients