JPH1070721A - 逆量子化・逆dct回路 - Google Patents
逆量子化・逆dct回路Info
- Publication number
- JPH1070721A JPH1070721A JP22810596A JP22810596A JPH1070721A JP H1070721 A JPH1070721 A JP H1070721A JP 22810596 A JP22810596 A JP 22810596A JP 22810596 A JP22810596 A JP 22810596A JP H1070721 A JPH1070721 A JP H1070721A
- Authority
- JP
- Japan
- Prior art keywords
- output
- selector
- memory
- input
- dct
- 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.)
- Granted
Links
Landscapes
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】
【課題】 逆量子化または量子化で用いる乗算器の個数
が多く、またその乗算回数が多い。 【解決手段】 逆量子化レベル値に重み係数と量子化ス
ケール値を乗算し、2次元逆DCTを施す逆量子化・逆
DCT回路において、第1段階の処理で、量子化スケー
ル値と重み係数用メモリ102の重み係数を乗算器10
4において乗算し、乗算結果をバッファメモリ105に
格納しておき、第2段階の処理で、量子化スケール値×
重み係数の乗算結果と入力の逆量子化レベル値を乗算器
104において乗算し、その乗算結果を1次元逆DCT
部107により行方向の1次元逆DCTを行い、第3段
階の処理で、1次元逆DCT部107により列方向の1
次元逆DCTを行った結果を出力する構成とする。
が多く、またその乗算回数が多い。 【解決手段】 逆量子化レベル値に重み係数と量子化ス
ケール値を乗算し、2次元逆DCTを施す逆量子化・逆
DCT回路において、第1段階の処理で、量子化スケー
ル値と重み係数用メモリ102の重み係数を乗算器10
4において乗算し、乗算結果をバッファメモリ105に
格納しておき、第2段階の処理で、量子化スケール値×
重み係数の乗算結果と入力の逆量子化レベル値を乗算器
104において乗算し、その乗算結果を1次元逆DCT
部107により行方向の1次元逆DCTを行い、第3段
階の処理で、1次元逆DCT部107により列方向の1
次元逆DCTを行った結果を出力する構成とする。
Description
【0001】
【発明の属する技術分野】本発明は画像データの符号化
または復号化で用いられるDCT(Discrete Cosine Tr
ansform)、量子化、逆量子化、逆DCTを行うための
画像処理装置に関するものである。
または復号化で用いられるDCT(Discrete Cosine Tr
ansform)、量子化、逆量子化、逆DCTを行うための
画像処理装置に関するものである。
【0002】
【従来の技術】近年、ディジタル画像を光ディスクなど
の記録媒体にそのデータを記録したり、光ファイバなど
のケーブルや通信衛星などを介してそのデータを伝送し
たりする際に、記録媒体の節約や、伝送レートの低減の
ために画像データの圧縮及び伸長が用いられる。画像デ
ータの圧縮手段でよく用いられるものにDCTと量子化
を組み合わせる方式があり、代表的なものに画像圧縮符
号化の国際標準であるMPEG1やMPEG2などがあ
る。この方式の復号化器の概略構成を図2に示し、以下
に簡単に動作を説明する。図2において圧縮画像符号化
データを可変長復号部201に入力して逆量子化レベル
値や動きベクトルを抽出する。次に逆量子化レベル値
は、逆量子化部202に入力され、動きベクトルは動き
補償部204に入力される。逆量子化部202で逆量子
化された係数を逆DCT部203により差分データを生
成し、動き補償部204では動きベクトルに対応する参
照データをフレームメモリ205から読み出す。最後に
加算器206により差分データと参照データを加算して
復号データとして出力する。また、復号データは参照デ
ータとなるため、フレームデータ205に書き込まれ
る。パラメータの変更や動き補償は、輝度成分16×1
6画素と2個の色差成分8×8画素からなるマクロブロ
ック単位で処理され、逆量子化や逆DCTは、8×8画
素からなるブロック単位で処理される。
の記録媒体にそのデータを記録したり、光ファイバなど
のケーブルや通信衛星などを介してそのデータを伝送し
たりする際に、記録媒体の節約や、伝送レートの低減の
ために画像データの圧縮及び伸長が用いられる。画像デ
ータの圧縮手段でよく用いられるものにDCTと量子化
を組み合わせる方式があり、代表的なものに画像圧縮符
号化の国際標準であるMPEG1やMPEG2などがあ
る。この方式の復号化器の概略構成を図2に示し、以下
に簡単に動作を説明する。図2において圧縮画像符号化
データを可変長復号部201に入力して逆量子化レベル
値や動きベクトルを抽出する。次に逆量子化レベル値
は、逆量子化部202に入力され、動きベクトルは動き
補償部204に入力される。逆量子化部202で逆量子
化された係数を逆DCT部203により差分データを生
成し、動き補償部204では動きベクトルに対応する参
照データをフレームメモリ205から読み出す。最後に
加算器206により差分データと参照データを加算して
復号データとして出力する。また、復号データは参照デ
ータとなるため、フレームデータ205に書き込まれ
る。パラメータの変更や動き補償は、輝度成分16×1
6画素と2個の色差成分8×8画素からなるマクロブロ
ック単位で処理され、逆量子化や逆DCTは、8×8画
素からなるブロック単位で処理される。
【0003】以下に逆量子化・逆DCTの演算について
説明する。まず、MPEG2で用いられる逆量子化の演
算の一つの例について説明する。逆量子化の演算は、補
正演算を除いて(数1)で表すことができる。
説明する。まず、MPEG2で用いられる逆量子化の演
算の一つの例について説明する。逆量子化の演算は、補
正演算を除いて(数1)で表すことができる。
【0004】
【数1】
【0005】ここで、fijkはDCT係数、Qijkは逆量
子化レベル値、Wijlは重み係数、qsは量子化スケー
ル値である。また、i,jは各ブロック内の8×8デー
タの位置(i=0〜7,j=0〜7)、kはブロック番
号(k=0〜5)、lは係数群番号(l=0〜1)であ
る。
子化レベル値、Wijlは重み係数、qsは量子化スケー
ル値である。また、i,jは各ブロック内の8×8デー
タの位置(i=0〜7,j=0〜7)、kはブロック番
号(k=0〜5)、lは係数群番号(l=0〜1)であ
る。
【0006】図3に一つのマクロブロックに対応する逆
量子化の演算の説明図を示す。逆量子化レベル値Qijk
は、符号化処理においてDCT係数を量子化した結果で
あり、マクロブロック中の6個のブロック毎に64個ず
つ入力される。重み係数Wij lは周波数成分依存の量子
化テーブルであり、マクロブロックのタイプによって2
種類の重み係数群が用意されている。量子化スケールq
sは、マクロブロック毎に与えられる一定値であり、符
号量の制御に用いられる。復号化処理では、マクロブロ
ック毎に可変長復号化されて逆量子化レベル値Q
ijkと、量子化スケールqsと、抽出されたマクロブロ
ックタイプによって重み係数Wiklが決定され、(数
1)の計算を行う。
量子化の演算の説明図を示す。逆量子化レベル値Qijk
は、符号化処理においてDCT係数を量子化した結果で
あり、マクロブロック中の6個のブロック毎に64個ず
つ入力される。重み係数Wij lは周波数成分依存の量子
化テーブルであり、マクロブロックのタイプによって2
種類の重み係数群が用意されている。量子化スケールq
sは、マクロブロック毎に与えられる一定値であり、符
号量の制御に用いられる。復号化処理では、マクロブロ
ック毎に可変長復号化されて逆量子化レベル値Q
ijkと、量子化スケールqsと、抽出されたマクロブロ
ックタイプによって重み係数Wiklが決定され、(数
1)の計算を行う。
【0007】また(数1)の結果得られたDCT係数f
ijkを2次元逆DCTして逆量子化・逆DCTの結果を
得る。k番目のブロックのDCT係数を8×8の行列F
kで表し、1次元逆DCTの8×8の行列Dで表わすと
2次元逆DCTは、DFkDTである。Dの要素をdijで
表し、Fkの要素fijkは、(数1)で用いられている値
である。8点逆DCTの要素dijは(数2)である。
ijkを2次元逆DCTして逆量子化・逆DCTの結果を
得る。k番目のブロックのDCT係数を8×8の行列F
kで表し、1次元逆DCTの8×8の行列Dで表わすと
2次元逆DCTは、DFkDTである。Dの要素をdijで
表し、Fkの要素fijkは、(数1)で用いられている値
である。8点逆DCTの要素dijは(数2)である。
【0008】
【数2】
【0009】またDFkDT=D(FkDT)と表される。
FkDTはFkを行方向に取り出して8行分の1次元逆D
CTを行うことに相当し、D(FkDT)は(FkDT)を
列方向に取り出して8列分の1次元逆DCTを行うこと
に相当するので2次元逆DCTは、1次元逆DCTと転
置により実現できる。
FkDTはFkを行方向に取り出して8行分の1次元逆D
CTを行うことに相当し、D(FkDT)は(FkDT)を
列方向に取り出して8列分の1次元逆DCTを行うこと
に相当するので2次元逆DCTは、1次元逆DCTと転
置により実現できる。
【0010】次にDCT・量子化の演算について説明す
る。k番目のブロックの入力データを8×8の行列Gk
で表し、1次元DCTの8×8の行列Cで表わすと2次
元DCTは、Fk=CGkCTである。DCTは直交変換
であるのでC=D-1=DTであり、Gkの要素gijkに対
してi,jは各ブロック内の8×8データの位置(i=
0〜7,j=0〜7)、kはブロック番号(k=0〜
5)である。量子化は、W’ijl=1/Wijl,qs’=
1/qsと表せば、(数1)と同様に(数3)と表され
る。
る。k番目のブロックの入力データを8×8の行列Gk
で表し、1次元DCTの8×8の行列Cで表わすと2次
元DCTは、Fk=CGkCTである。DCTは直交変換
であるのでC=D-1=DTであり、Gkの要素gijkに対
してi,jは各ブロック内の8×8データの位置(i=
0〜7,j=0〜7)、kはブロック番号(k=0〜
5)である。量子化は、W’ijl=1/Wijl,qs’=
1/qsと表せば、(数1)と同様に(数3)と表され
る。
【0011】
【数3】
【0012】ここで、fijkはDCT係数、Qijkは逆量
子化レベル値、W’ijlは重み係数、qs’は量子化ス
ケール値である。また、i,jは各ブロック内の8×8
データの位置(i=0〜7,j=0〜7)、kはブロッ
ク番号(k=0〜5)、lは係数群番号(l=0〜1)
である。
子化レベル値、W’ijlは重み係数、qs’は量子化ス
ケール値である。また、i,jは各ブロック内の8×8
データの位置(i=0〜7,j=0〜7)、kはブロッ
ク番号(k=0〜5)、lは係数群番号(l=0〜1)
である。
【0013】従来の逆量子化・逆DCT回路を図8に示
す。図8は、逆量子化・逆DCTを手順に従って実現し
たものであり、図8において801は重み係数メモリ、
802は第1の乗算器、803は第2の乗算器、804
は係数バッファメモリ、805はセレクタ、806は1
次元逆DCT部、807はデータ転置用メモリである。
す。図8は、逆量子化・逆DCTを手順に従って実現し
たものであり、図8において801は重み係数メモリ、
802は第1の乗算器、803は第2の乗算器、804
は係数バッファメモリ、805はセレクタ、806は1
次元逆DCT部、807はデータ転置用メモリである。
【0014】以下に図8に基づいて従来の逆量子化・逆
DCT回路の動作を説明する。第1段階の処理では1マ
クロブロックの量子化レベルQijkの逆量子化を行い、
その結果を係数バッファメモリ804に書き込む。重み
係数メモリ801からマクロブロックタイプに従ってl
が決定された重み係数Wijlを行方向に読み出し、第1
の乗算器802により重み係数Wijlと入力される量子
化レベルQijkとの乗算をi=0〜7,j=0〜7,k
=0〜5について行いQijk×Wijlを得、第2の乗算器
803により第1の乗算器802の結果Qijk×Wijlと
量子化スケールqsの乗算をi=0〜7,j=0〜7,
k=0〜5について行いDCT係数fijk=Qijk×W
ijl×qsを得、DCT係数fijkをi=0〜7,j=0
〜7,k=0〜5について係数バッファメモリ804に
書き込む。
DCT回路の動作を説明する。第1段階の処理では1マ
クロブロックの量子化レベルQijkの逆量子化を行い、
その結果を係数バッファメモリ804に書き込む。重み
係数メモリ801からマクロブロックタイプに従ってl
が決定された重み係数Wijlを行方向に読み出し、第1
の乗算器802により重み係数Wijlと入力される量子
化レベルQijkとの乗算をi=0〜7,j=0〜7,k
=0〜5について行いQijk×Wijlを得、第2の乗算器
803により第1の乗算器802の結果Qijk×Wijlと
量子化スケールqsの乗算をi=0〜7,j=0〜7,
k=0〜5について行いDCT係数fijk=Qijk×W
ijl×qsを得、DCT係数fijkをi=0〜7,j=0
〜7,k=0〜5について係数バッファメモリ804に
書き込む。
【0015】第2段階の処理では係数バッファメモリ8
04に格納されたDCT係数fijkを読み出し、逆DC
Tを実現する。係数バッファメモリ804からDCT係
数f ijkを行方向に読み出し、セレクタ805により係
数バッファメモリ804の出力を選択して、1次元逆D
CT部806によりDCT係数fijkの8点1次元逆D
CTを行方向に対して1ブロック中の行数8と1マクロ
ブロック中のブロック数6に対応した8×6回行い、1
次元逆DCT部806の出力をデータ転置用メモリ80
7に行方向に書き込む。次にデータ転置用メモリ807
から列方向に読み出し、セレクタ805によりデータ転
置用メモリ807の出力を選択して1次元逆DCT部8
06に入力し、1次元逆DCT部806により8点1次
元逆DCTを列方向に対して1ブロック中の列数8と1
マクロブロック中のブロック数6に対応した8×6回行
い、1次元逆DCT部806の出力結果を逆量子化・逆
DCT回路の出力とする。
04に格納されたDCT係数fijkを読み出し、逆DC
Tを実現する。係数バッファメモリ804からDCT係
数f ijkを行方向に読み出し、セレクタ805により係
数バッファメモリ804の出力を選択して、1次元逆D
CT部806によりDCT係数fijkの8点1次元逆D
CTを行方向に対して1ブロック中の行数8と1マクロ
ブロック中のブロック数6に対応した8×6回行い、1
次元逆DCT部806の出力をデータ転置用メモリ80
7に行方向に書き込む。次にデータ転置用メモリ807
から列方向に読み出し、セレクタ805によりデータ転
置用メモリ807の出力を選択して1次元逆DCT部8
06に入力し、1次元逆DCT部806により8点1次
元逆DCTを列方向に対して1ブロック中の列数8と1
マクロブロック中のブロック数6に対応した8×6回行
い、1次元逆DCT部806の出力結果を逆量子化・逆
DCT回路の出力とする。
【0016】この構成で逆量子化部の1マクロブロック
当たりの乗算回数は、第1の乗算器は入力される量子化
レベルQijkと重み係数Wijlの乗算を8×8×6=38
4回行い、第2の乗算器は第1の乗算器の結果と量子化
スケール値の乗算を8×8×6=384回行うので合計
768回の乗算を行う。
当たりの乗算回数は、第1の乗算器は入力される量子化
レベルQijkと重み係数Wijlの乗算を8×8×6=38
4回行い、第2の乗算器は第1の乗算器の結果と量子化
スケール値の乗算を8×8×6=384回行うので合計
768回の乗算を行う。
【0017】
【発明が解決しようとする課題】従来の逆量子化・逆D
CT回路では、逆量子化部に2個の乗算器と、384ワ
ードの係数バッファメモリと384ワードの転置用メモ
リを必要とするので、LSI化する場合にチップ上の大
きな面積を占めてしまう。また、乗算器による乗算回数
は、1マクロブロックあたり768回の乗算を行うので
消費電力が大きくなってしまう。
CT回路では、逆量子化部に2個の乗算器と、384ワ
ードの係数バッファメモリと384ワードの転置用メモ
リを必要とするので、LSI化する場合にチップ上の大
きな面積を占めてしまう。また、乗算器による乗算回数
は、1マクロブロックあたり768回の乗算を行うので
消費電力が大きくなってしまう。
【0018】本発明はかかる点に鑑みて、演算器の構成
数が少なく、乗算回数が少ない逆量子化・逆DCT回路
またはDCT・量子化回路を提供することを目的とす
る。
数が少なく、乗算回数が少ない逆量子化・逆DCT回路
またはDCT・量子化回路を提供することを目的とす
る。
【0019】
【課題を解決するための手段】第1に、逆量子化または
量子化の乗算回数を減らし乗算器の個数を減らす手段と
しては、重み係数と量子化スケールを乗算してバッファ
メモリに書き込み、この乗算結果と入力データとを乗算
して逆量子化または量子化を実行する構成とした。
量子化の乗算回数を減らし乗算器の個数を減らす手段と
しては、重み係数と量子化スケールを乗算してバッファ
メモリに書き込み、この乗算結果と入力データとを乗算
して逆量子化または量子化を実行する構成とした。
【0020】第2に、逆量子化・逆DCT回路の係数バ
ッファメモリを削減する手段としては、逆量子化の演算
と1回目の1次元逆DCTを各データ毎に連続で行い、
その結果を転置用メモリに書き込み、1回目の1次元逆
DCTの結果を転置用メモリから読み出し、2回目の1
次元逆DCTを実行する構成とし、DCT・量子化回路
の係数バッファメモリを削減する手段としては、1回目
の1次元DCTを行い、その結果を転置用メモリに書き
込み、1回目の1次元DCTの結果を転置用メモリから
読み出し、2回目の1次元DCTと量子化の演算を各デ
ータ毎に連続で実行する構成とした。
ッファメモリを削減する手段としては、逆量子化の演算
と1回目の1次元逆DCTを各データ毎に連続で行い、
その結果を転置用メモリに書き込み、1回目の1次元逆
DCTの結果を転置用メモリから読み出し、2回目の1
次元逆DCTを実行する構成とし、DCT・量子化回路
の係数バッファメモリを削減する手段としては、1回目
の1次元DCTを行い、その結果を転置用メモリに書き
込み、1回目の1次元DCTの結果を転置用メモリから
読み出し、2回目の1次元DCTと量子化の演算を各デ
ータ毎に連続で実行する構成とした。
【0021】第3に、逆量子化・逆DCT回路またはD
CT・量子化回路のデータ転置用メモリを削減する手段
としては、転置用メモリに書き込むデータの単位をブロ
ックデータの整数倍とする構成とした。
CT・量子化回路のデータ転置用メモリを削減する手段
としては、転置用メモリに書き込むデータの単位をブロ
ックデータの整数倍とする構成とした。
【0022】第4に、逆量子化または量子化の乗算回数
を平均的に減らす手段としては、重み係数を選択するた
めの信号であるマクロブロックタイプと、量子化スケー
ル値が1マクロブロック前から変化したかどうかを判断
し、両方の値が変化していなければ、重み係数と量子化
スケール値の乗算を行わず、1マクロブロック前の、量
子化スケール値×重み係数の乗算結果を用いる構成とし
た。
を平均的に減らす手段としては、重み係数を選択するた
めの信号であるマクロブロックタイプと、量子化スケー
ル値が1マクロブロック前から変化したかどうかを判断
し、両方の値が変化していなければ、重み係数と量子化
スケール値の乗算を行わず、1マクロブロック前の、量
子化スケール値×重み係数の乗算結果を用いる構成とし
た。
【0023】
【発明の実施の形態】以下に本発明の実施の形態を詳細
に説明する。
に説明する。
【0024】(実施の形態1)図1は本発明の実施の形
態の逆量子化・逆DCT回路のブロック構成図である。
図1において101は第1のセレクタ、102は重み係
数用メモリ、103は第2のセレクタ、104は乗算
器、105はバッファメモリ、106は第3のセレク
タ、107は1次元逆DCT部、108はデータ転置用
メモリである。
態の逆量子化・逆DCT回路のブロック構成図である。
図1において101は第1のセレクタ、102は重み係
数用メモリ、103は第2のセレクタ、104は乗算
器、105はバッファメモリ、106は第3のセレク
タ、107は1次元逆DCT部、108はデータ転置用
メモリである。
【0025】第1段階の処理では量子化スケール値qs
と重み係数Wijlの乗算を行い、乗算結果qs×Wijlを
バッファメモリ105に書き込む。第1段階の処理にお
いて、第1のセレクタ101により量子化スケール値q
sを選択し、重み係数用メモリ102からマクロブロッ
クタイプによってlが決定された重み係数Wijlをi=
0〜7,j=0〜7について順次読み出し、第2のセレ
クタ103により重み係数用メモリ102の出力である
重み係数Wijlを選択し、次に乗算器104により量子
化スケール値qsと重み係数Wijlの乗算を順次行い、
乗算器104の出力をバッファメモリ105に書き込
む。
と重み係数Wijlの乗算を行い、乗算結果qs×Wijlを
バッファメモリ105に書き込む。第1段階の処理にお
いて、第1のセレクタ101により量子化スケール値q
sを選択し、重み係数用メモリ102からマクロブロッ
クタイプによってlが決定された重み係数Wijlをi=
0〜7,j=0〜7について順次読み出し、第2のセレ
クタ103により重み係数用メモリ102の出力である
重み係数Wijlを選択し、次に乗算器104により量子
化スケール値qsと重み係数Wijlの乗算を順次行い、
乗算器104の出力をバッファメモリ105に書き込
む。
【0026】第2段階の処理ではバッファメモリ105
に格納されたqs×Wijlと逆量子化レベル値Qijkとの
乗算と行方向の1次元逆DCTを行い、その結果をデー
タ転置用メモリ108に書き込む。第2段階の処理にお
いて、逆量子化レベル値Q ijkをi=0〜7,j=0〜
7,k=0〜5について行方向に順次入力し、第2のセ
レクタ103により逆量子化レベル値Qijkを選択し、
バッファメモリ105から第1段階の処理で求めたqs
×Wijlを行方向に順次読み出し、第1のセレクタ10
1によりバッファメモリ105の出力であるqs×W
ijlを選択し、乗算器104により逆量子化レベル値Q
ijkと量子化スケール値×重み係数の乗算結果qs×W
ijlとのi,jが対応する乗算をi=0〜7,j=0〜
7,k=0〜5について行い、セレクタ106により乗
算器104の出力を選択して乗算結果Qijk×(qs×
Wijl)であるDCT係数を1次元逆DCT部107に
入力し、1次元逆DCT部107により8点1次元逆D
CTを行方向に対して1ブロック中の行数8と1マクロ
ブロック中のブロック数6に対応した8×6回行い、1
次元逆DCT部107の出力をデータ転置用メモリ10
8に行方向に書き込む。
に格納されたqs×Wijlと逆量子化レベル値Qijkとの
乗算と行方向の1次元逆DCTを行い、その結果をデー
タ転置用メモリ108に書き込む。第2段階の処理にお
いて、逆量子化レベル値Q ijkをi=0〜7,j=0〜
7,k=0〜5について行方向に順次入力し、第2のセ
レクタ103により逆量子化レベル値Qijkを選択し、
バッファメモリ105から第1段階の処理で求めたqs
×Wijlを行方向に順次読み出し、第1のセレクタ10
1によりバッファメモリ105の出力であるqs×W
ijlを選択し、乗算器104により逆量子化レベル値Q
ijkと量子化スケール値×重み係数の乗算結果qs×W
ijlとのi,jが対応する乗算をi=0〜7,j=0〜
7,k=0〜5について行い、セレクタ106により乗
算器104の出力を選択して乗算結果Qijk×(qs×
Wijl)であるDCT係数を1次元逆DCT部107に
入力し、1次元逆DCT部107により8点1次元逆D
CTを行方向に対して1ブロック中の行数8と1マクロ
ブロック中のブロック数6に対応した8×6回行い、1
次元逆DCT部107の出力をデータ転置用メモリ10
8に行方向に書き込む。
【0027】第3段階の処理ではデータ転置用メモリ1
08で行と列が転置されたデータを入力とした列方向の
1次元逆DCTを行う。第3段階の処理では、データ転
置用メモリ108から列方向に読み出し、セレクタ10
6によりデータ転置用メモリ108の出力を選択して1
次元逆DCT部107に入力し、1次元逆DCT部10
7により8点1次元逆DCTを列方向に対して1ブロッ
ク中の列数8と1マクロブロック中のブロック数6に対
応した8×6回行い、1次元逆DCT部107の出力結
果を逆量子化・逆DCT回路の出力とする。
08で行と列が転置されたデータを入力とした列方向の
1次元逆DCTを行う。第3段階の処理では、データ転
置用メモリ108から列方向に読み出し、セレクタ10
6によりデータ転置用メモリ108の出力を選択して1
次元逆DCT部107に入力し、1次元逆DCT部10
7により8点1次元逆DCTを列方向に対して1ブロッ
ク中の列数8と1マクロブロック中のブロック数6に対
応した8×6回行い、1次元逆DCT部107の出力結
果を逆量子化・逆DCT回路の出力とする。
【0028】第1の実施の形態では、逆量子化・逆DC
Tの処理を第1段階、第2段階、第3段階の順に処理を
進めて実現する。
Tの処理を第1段階、第2段階、第3段階の順に処理を
進めて実現する。
【0029】上記の構成で、乗算器の個数は1個で済
む。また、一旦、ブロック内のデータの個数に対応する
qs×Wijlを計算しているので、Qijkの属するブロッ
クが変わる度にqs×Wijlを計算せずに済み、乗算の
回数が削減できる。具体的には第1段階のqs×Wijl
の生成に8×8=64回の乗算、第2段階のQijk×
(qs×Wijl)の生成に8×8×6=384回の乗算
の合計448回の乗算で済むことになる。さらに逆量子
化と逆DCTを連続に実行することにより、間の係数バ
ッファメモリを削減することができる。
む。また、一旦、ブロック内のデータの個数に対応する
qs×Wijlを計算しているので、Qijkの属するブロッ
クが変わる度にqs×Wijlを計算せずに済み、乗算の
回数が削減できる。具体的には第1段階のqs×Wijl
の生成に8×8=64回の乗算、第2段階のQijk×
(qs×Wijl)の生成に8×8×6=384回の乗算
の合計448回の乗算で済むことになる。さらに逆量子
化と逆DCTを連続に実行することにより、間の係数バ
ッファメモリを削減することができる。
【0030】尚、データ転置用メモリ108を2ポート
メモリとし、行方向の1次元逆DCT結果の書き込みと
列方向の1次元逆DCTへのデータ読みだしを同時に行
えるようにすると、第2段階と第3段階の処理を時間的
にオーバーラップすることが可能となり、処理サイクル
数を削減できる。
メモリとし、行方向の1次元逆DCT結果の書き込みと
列方向の1次元逆DCTへのデータ読みだしを同時に行
えるようにすると、第2段階と第3段階の処理を時間的
にオーバーラップすることが可能となり、処理サイクル
数を削減できる。
【0031】また、第1のセレクタ101の入力である
量子化スケール値と第2のセレクタ103の入力である
重み係数とを入れ換えてもよい。
量子化スケール値と第2のセレクタ103の入力である
重み係数とを入れ換えてもよい。
【0032】(実施の形態2)実施の形態1の第2段
階、第3段階のデータ処理単位を変えることによってデ
ータ転置用メモリサイズを削減することが可能である。
実施の形態2では6ブロックから構成されるマクロブロ
ックを2ブロックをデータ処理単位とする場合を説明す
る。実施の形態1と同様に図1を用いて動作を説明す
る。
階、第3段階のデータ処理単位を変えることによってデ
ータ転置用メモリサイズを削減することが可能である。
実施の形態2では6ブロックから構成されるマクロブロ
ックを2ブロックをデータ処理単位とする場合を説明す
る。実施の形態1と同様に図1を用いて動作を説明す
る。
【0033】第1段階の処理では量子化スケール値qs
と重み係数Wijlの乗算を行い、乗算結果qs×Wijlを
バッファメモリ105に書き込む。第1段階の処理にお
いて、第1のセレクタ101により量子化スケール値q
sを選択し、重み係数用メモリ102からマクロブロッ
クタイプによってlが決定された重み係数Wijlをi=
0〜7,j=0〜7について順次読み出し、第2のセレ
クタ103により重み係数用メモリ102の出力である
重み係数Wijlを選択し、次に乗算器104により量子
化スケール値qsと重み係数Wijlの乗算を順次行い、
乗算器104の出力をバッファメモリ105に書き込
む。
と重み係数Wijlの乗算を行い、乗算結果qs×Wijlを
バッファメモリ105に書き込む。第1段階の処理にお
いて、第1のセレクタ101により量子化スケール値q
sを選択し、重み係数用メモリ102からマクロブロッ
クタイプによってlが決定された重み係数Wijlをi=
0〜7,j=0〜7について順次読み出し、第2のセレ
クタ103により重み係数用メモリ102の出力である
重み係数Wijlを選択し、次に乗算器104により量子
化スケール値qsと重み係数Wijlの乗算を順次行い、
乗算器104の出力をバッファメモリ105に書き込
む。
【0034】第2段階の処理ではバッファメモリ105
に格納されたqs×Wijlと逆量子化レベル値Qijkとの
乗算と行方向の1次元逆DCTを行い、その結果をデー
タ転置用メモリ108に書き込む。第2段階の処理にお
いて、逆量子化レベル値Q ijkをi=0〜7,j=0〜
7,k=0〜1について行方向に順次入力し、第2のセ
レクタ103により逆量子化レベル値Qijkを選択し、
バッファメモリ105から第1段階の処理で求めたqs
×Wijlを行方向に順次読み出し、第1のセレクタ10
1によりバッファメモリ105の出力であるqs×W
ijlを選択し、乗算器104により逆量子化レベル値Q
ijkと量子化スケール値×重み係数の乗算結果qs×W
ijlとのi,jが対応する乗算をi=0〜7,j=0〜
7,k=0〜1について行い、セレクタ106により乗
算器104の出力を選択して乗算結果Qijk×(qs×
Wijl)であるDCT係数を1次元逆DCT部107に
入力し、1次元逆DCT部107により8点1次元逆D
CTを行方向に対して1ブロック中の行数8と1マクロ
ブロック中のブロック数2に対応した8×2回行い、1
次元逆DCT部107の出力をデータ転置用メモリ10
8に行方向に書き込む。
に格納されたqs×Wijlと逆量子化レベル値Qijkとの
乗算と行方向の1次元逆DCTを行い、その結果をデー
タ転置用メモリ108に書き込む。第2段階の処理にお
いて、逆量子化レベル値Q ijkをi=0〜7,j=0〜
7,k=0〜1について行方向に順次入力し、第2のセ
レクタ103により逆量子化レベル値Qijkを選択し、
バッファメモリ105から第1段階の処理で求めたqs
×Wijlを行方向に順次読み出し、第1のセレクタ10
1によりバッファメモリ105の出力であるqs×W
ijlを選択し、乗算器104により逆量子化レベル値Q
ijkと量子化スケール値×重み係数の乗算結果qs×W
ijlとのi,jが対応する乗算をi=0〜7,j=0〜
7,k=0〜1について行い、セレクタ106により乗
算器104の出力を選択して乗算結果Qijk×(qs×
Wijl)であるDCT係数を1次元逆DCT部107に
入力し、1次元逆DCT部107により8点1次元逆D
CTを行方向に対して1ブロック中の行数8と1マクロ
ブロック中のブロック数2に対応した8×2回行い、1
次元逆DCT部107の出力をデータ転置用メモリ10
8に行方向に書き込む。
【0035】第3段階の処理ではデータ転置用メモリ1
08で行と列が転置されたデータを入力とした列方向の
1次元逆DCTを行う。第3段階の処理では、データ転
置用メモリ108から列方向に読み出し、セレクタ10
6によりデータ転置用メモリ108の出力を選択して1
次元逆DCT部107に入力し、1次元逆DCT部10
7により8点1次元逆DCTを列方向に対して1ブロッ
ク中の列数8と1マクロブロック中のブロック数2に対
応した8×2回行い、1次元逆DCT部107の出力結
果を逆量子化・逆DCT回路の出力とする。
08で行と列が転置されたデータを入力とした列方向の
1次元逆DCTを行う。第3段階の処理では、データ転
置用メモリ108から列方向に読み出し、セレクタ10
6によりデータ転置用メモリ108の出力を選択して1
次元逆DCT部107に入力し、1次元逆DCT部10
7により8点1次元逆DCTを列方向に対して1ブロッ
ク中の列数8と1マクロブロック中のブロック数2に対
応した8×2回行い、1次元逆DCT部107の出力結
果を逆量子化・逆DCT回路の出力とする。
【0036】第2段階の処理と第3段階の処理をk=2
〜3に対して行い、第2段階の処理と第3段階の処理を
k=4〜5に対して行い、1マクロブロック分の処理を
終了する。
〜3に対して行い、第2段階の処理と第3段階の処理を
k=4〜5に対して行い、1マクロブロック分の処理を
終了する。
【0037】図4(a)にm=6で、データ処理単位を6
ブロック=1マクロブロックとした場合と、図4(b)に
データ処理単位を2ブロックとした場合の処理フローを
示す。第2段階、第3段階のデータ処理単位を1マクロ
ブロック(mブロック)とした場合、実施の形態1のよ
うに第1段階、第2段階、第3段階の処理はそれぞれ1
回ずつで済むが、データ転置用メモリのサイズが1マク
ロブロック分(384ワード)必要となる。一方、第2
段階、第3段階のデータ処理単位を2ブロックとした場
合は、上述したように第1段階の処理は1回、第2段階
と第3段階の処理はm/2回必要となる。従って第2段
階、第3段階のレイテンシによるオーバヘッドが前者の
方法に比べてm/2倍となり処理サイクル数が増加する
が、データ転置用メモリの容量を2ブロック分(128
ワード)にすることができる。
ブロック=1マクロブロックとした場合と、図4(b)に
データ処理単位を2ブロックとした場合の処理フローを
示す。第2段階、第3段階のデータ処理単位を1マクロ
ブロック(mブロック)とした場合、実施の形態1のよ
うに第1段階、第2段階、第3段階の処理はそれぞれ1
回ずつで済むが、データ転置用メモリのサイズが1マク
ロブロック分(384ワード)必要となる。一方、第2
段階、第3段階のデータ処理単位を2ブロックとした場
合は、上述したように第1段階の処理は1回、第2段階
と第3段階の処理はm/2回必要となる。従って第2段
階、第3段階のレイテンシによるオーバヘッドが前者の
方法に比べてm/2倍となり処理サイクル数が増加する
が、データ転置用メモリの容量を2ブロック分(128
ワード)にすることができる。
【0038】1マクロブロック中のブロック数mの約数
に対応してデータ処理単位を変えることができ、所望の
処理サイクル数内でデータ転置用メモリサイズを最適化
することができる。
に対応してデータ処理単位を変えることができ、所望の
処理サイクル数内でデータ転置用メモリサイズを最適化
することができる。
【0039】(実施の形態3)図5は本発明の実施の形
態の逆量子化・逆DCT回路のブロック構成図である。
図5において501は量子化スケール値生成部、502
は第1のセレクタ、503はマクロブロックタイプと量
子化スケールコードとピクチャ切り換え信号を入力とす
る判定制御部、504は重み係数用メモリ、505は第
2のセレクタ、506は乗算器、507はバッファメモ
リ、508は第3のセレクタ、509は1次元逆DCT
部、510はデータ転置用メモリである。
態の逆量子化・逆DCT回路のブロック構成図である。
図5において501は量子化スケール値生成部、502
は第1のセレクタ、503はマクロブロックタイプと量
子化スケールコードとピクチャ切り換え信号を入力とす
る判定制御部、504は重み係数用メモリ、505は第
2のセレクタ、506は乗算器、507はバッファメモ
リ、508は第3のセレクタ、509は1次元逆DCT
部、510はデータ転置用メモリである。
【0040】判定制御の処理では同じピクチャ内におい
て、前のマクロブロックで用いた量子化スケール値qs
と重み係数Wijlの乗算結果が現マクロブロックでも用
いることができるかどうかの判定を行い、以下に述べる
第1段階の処理をするかどうかの制御を行う。判定制御
部503により量子化スケール値を決定する因子である
量子化スケールコードと2種類の重み係数群の選択に用
いるマクロブロックタイプについて現在の値と1マクロ
ブロック前の値を比較し、どちらか一方でも1マクロブ
ロック前と違っていた場合は、以下に述べる第1段階、
第2段階、第3段階の処理を順に行う制御をする。上記
2つの値とも1マクロブロック前から変化していない場
合は、バッファメモリ507に格納してある1マクロブ
ロック前の量子化スケール値×重み係数の結果が利用で
きるので、第1段階の処理を行わず、以下に述べる第2
段階、第3段階の処理を順に行う制御をする。
て、前のマクロブロックで用いた量子化スケール値qs
と重み係数Wijlの乗算結果が現マクロブロックでも用
いることができるかどうかの判定を行い、以下に述べる
第1段階の処理をするかどうかの制御を行う。判定制御
部503により量子化スケール値を決定する因子である
量子化スケールコードと2種類の重み係数群の選択に用
いるマクロブロックタイプについて現在の値と1マクロ
ブロック前の値を比較し、どちらか一方でも1マクロブ
ロック前と違っていた場合は、以下に述べる第1段階、
第2段階、第3段階の処理を順に行う制御をする。上記
2つの値とも1マクロブロック前から変化していない場
合は、バッファメモリ507に格納してある1マクロブ
ロック前の量子化スケール値×重み係数の結果が利用で
きるので、第1段階の処理を行わず、以下に述べる第2
段階、第3段階の処理を順に行う制御をする。
【0041】第1段階の処理では量子化スケール値qs
と重み係数Wijlの乗算を行い、乗算結果qs×Wijlを
バッファメモリ507に書き込む。第1段階の処理にお
いて、量子化スケール値生成部501により量子化スケ
ールタイプと量子化スケールコードから量子化スケール
値qsを生成し、第1のセレクタ502により量子化ス
ケール値qsを選択し、重み係数用メモリ504からマ
クロブロックタイプによってlが決定された重み係数W
ijlをi=0〜7,j=0〜7について順次読み出し、
第2のセレクタ505により重み係数用メモリ504の
出力である重み係数Wijlを選択し、次に乗算器506
により量子化スケール値qsと重み係数Wijlの乗算を
順次行い、乗算器506の出力をバッファメモリ507
に書き込む。
と重み係数Wijlの乗算を行い、乗算結果qs×Wijlを
バッファメモリ507に書き込む。第1段階の処理にお
いて、量子化スケール値生成部501により量子化スケ
ールタイプと量子化スケールコードから量子化スケール
値qsを生成し、第1のセレクタ502により量子化ス
ケール値qsを選択し、重み係数用メモリ504からマ
クロブロックタイプによってlが決定された重み係数W
ijlをi=0〜7,j=0〜7について順次読み出し、
第2のセレクタ505により重み係数用メモリ504の
出力である重み係数Wijlを選択し、次に乗算器506
により量子化スケール値qsと重み係数Wijlの乗算を
順次行い、乗算器506の出力をバッファメモリ507
に書き込む。
【0042】第2段階の処理ではバッファメモリ507
に格納されたqsXWijlと逆量子化レベル値Qijkとの
乗算と行方向の1次元逆DCTを行い、その結果をデー
タ転置用メモリ510に書き込む。第2段階の処理にお
いて、逆量子化レベル値Q ijkをi=0〜7,j=0〜
7,k=0〜5について順次入力し、第2のセレクタ5
02により逆量子化レベル値Qijkを選択し、バッファ
メモリ507から第1段階の処理で求めたqs×Wijl
を順次読み出し、第1のセレクタ502によりバッファ
メモリ507の出力であるqs×Wijlを選択し、乗算
器506により逆量子化レベル値Qijkと量子化スケー
ル値×重み係数の乗算結果qs×Wijlとのi,jが対
応する乗算をi=0〜7,j=0〜7,k=0〜5につ
いて行い、セレクタ508により乗算器506の出力を
選択して乗算結果Qijk×(qs×Wijl)であるDCT
係数を1次元逆DCT部509に入力し、1次元逆DC
T部509により8点1次元逆DCTを行方向に対して
1ブロック中の行数8と1マクロブロック中のブロック
数6に対応した8X6回行い、1次元逆DCT部509
の出力をデータ転置用メモリ510に行方向に書き込
む。
に格納されたqsXWijlと逆量子化レベル値Qijkとの
乗算と行方向の1次元逆DCTを行い、その結果をデー
タ転置用メモリ510に書き込む。第2段階の処理にお
いて、逆量子化レベル値Q ijkをi=0〜7,j=0〜
7,k=0〜5について順次入力し、第2のセレクタ5
02により逆量子化レベル値Qijkを選択し、バッファ
メモリ507から第1段階の処理で求めたqs×Wijl
を順次読み出し、第1のセレクタ502によりバッファ
メモリ507の出力であるqs×Wijlを選択し、乗算
器506により逆量子化レベル値Qijkと量子化スケー
ル値×重み係数の乗算結果qs×Wijlとのi,jが対
応する乗算をi=0〜7,j=0〜7,k=0〜5につ
いて行い、セレクタ508により乗算器506の出力を
選択して乗算結果Qijk×(qs×Wijl)であるDCT
係数を1次元逆DCT部509に入力し、1次元逆DC
T部509により8点1次元逆DCTを行方向に対して
1ブロック中の行数8と1マクロブロック中のブロック
数6に対応した8X6回行い、1次元逆DCT部509
の出力をデータ転置用メモリ510に行方向に書き込
む。
【0043】第3段階の処理ではデータ転置用メモリ5
10で行と列が転置されたデータを入力とした列方向の
1次元逆DCTを行う。第3段階の処理において、デー
タ転置用メモリ510から列方向に読み出し、セレクタ
508によりデータ転置用メモリ510の出力を選択し
て1次元逆DCT部509に入力し、1次元逆DCT部
509により8点1次元逆DCTを列方向に対して1ブ
ロック中の列数8と1マクロブロック中のブロック数6
に対応した8×6回行い、1次元逆DCT部509の出
力結果を逆量子化・逆DCT回路の出力とする。
10で行と列が転置されたデータを入力とした列方向の
1次元逆DCTを行う。第3段階の処理において、デー
タ転置用メモリ510から列方向に読み出し、セレクタ
508によりデータ転置用メモリ510の出力を選択し
て1次元逆DCT部509に入力し、1次元逆DCT部
509により8点1次元逆DCTを列方向に対して1ブ
ロック中の列数8と1マクロブロック中のブロック数6
に対応した8×6回行い、1次元逆DCT部509の出
力結果を逆量子化・逆DCT回路の出力とする。
【0044】第3の実施の形態では、逆量子化・逆DC
Tの処理を判定制御、第1段階(判定制御によりやらな
い場合がある)、第2段階、第3段階の処理を順に行
う。
Tの処理を判定制御、第1段階(判定制御によりやらな
い場合がある)、第2段階、第3段階の処理を順に行
う。
【0045】上記の構成によると、判定制御の処理に従
って第1段階におけるqs×Wijlの生成のための8×
8=64回の乗算が省略することができる。
って第1段階におけるqs×Wijlの生成のための8×
8=64回の乗算が省略することができる。
【0046】(実施の形態4)図6は本発明の実施の形
態のDCT・量子化回路のブロック構成図である。図6
において601は第1のセレクタ、602は重み係数用
メモリ、603は第2のセレクタ、604は1次元DC
T部、605はデータ転置用メモリ、606は第3のセ
レクタ、607は乗算器、608はバッファメモリであ
る。
態のDCT・量子化回路のブロック構成図である。図6
において601は第1のセレクタ、602は重み係数用
メモリ、603は第2のセレクタ、604は1次元DC
T部、605はデータ転置用メモリ、606は第3のセ
レクタ、607は乗算器、608はバッファメモリであ
る。
【0047】第1段階の処理では量子化スケール値q
s’と重み係数W’ijlの乗算を行い、乗算結果qs’
×W’ijlをバッファメモリ608に書き込み、行方向
のDCTを行う。第1段階の処理において、第1のセレ
クタ601により量子化スケール値qs’を選択し、重
み係数用メモリ602からマクロブロックタイプによっ
てlが決定された重み係数W’ijlをi=0〜7,j=
0〜7について順次読み出し、第3のセレクタ606に
より重み係数用メモリ602の出力である重み係数W’
ijlを選択し、次に乗算器607により量子化スケール
値qs’と重み係数W’ijlの乗算を順次行い、乗算器
607の出力をバッファメモリ608に書き込む。
s’と重み係数W’ijlの乗算を行い、乗算結果qs’
×W’ijlをバッファメモリ608に書き込み、行方向
のDCTを行う。第1段階の処理において、第1のセレ
クタ601により量子化スケール値qs’を選択し、重
み係数用メモリ602からマクロブロックタイプによっ
てlが決定された重み係数W’ijlをi=0〜7,j=
0〜7について順次読み出し、第3のセレクタ606に
より重み係数用メモリ602の出力である重み係数W’
ijlを選択し、次に乗算器607により量子化スケール
値qs’と重み係数W’ijlの乗算を順次行い、乗算器
607の出力をバッファメモリ608に書き込む。
【0048】第2段階の処理では入力データに対して行
方向の1次元DCTを行い、データ転置用メモリ605
に書き込む。第2段階の処理において、入力データg
ijkをi=0〜7,j=0〜7,k=0〜5について行
方向に順次入力し、第2のセレクタ603により入力デ
ータを選択して1次元DCT部604に入力し、1次元
DCT部604により8点1次元DCTを行方向に対し
て1ブロック中の行数8と1マクロブロック中のブロッ
ク数6に対応した8×6回行い、1次元DCT部604
の出力をデータ転置用メモリ605に行方向に書き込
む。
方向の1次元DCTを行い、データ転置用メモリ605
に書き込む。第2段階の処理において、入力データg
ijkをi=0〜7,j=0〜7,k=0〜5について行
方向に順次入力し、第2のセレクタ603により入力デ
ータを選択して1次元DCT部604に入力し、1次元
DCT部604により8点1次元DCTを行方向に対し
て1ブロック中の行数8と1マクロブロック中のブロッ
ク数6に対応した8×6回行い、1次元DCT部604
の出力をデータ転置用メモリ605に行方向に書き込
む。
【0049】第3段階の処理ではデータ転置用メモリ6
05で行と列が転置されたデータを入力とした列方向の
1次元DCTを行ってDCT係数fijkを得、バッファ
メモリ608に格納されたqs’×W’ijlとDCT係
数fijkとの乗算を行い、その結果をDCT・量子化回
路の出力とする。第3段階の処理において、データ転置
用メモリ605から列方向に読み出し、第2のセレクタ
603によりデータ転置用メモリ605の出力を選択し
て1次元DCT部604に入力し、1次元DCT部60
4により8点1次元DCTを列方向に対して1ブロック
中の列数8と1マクロブロック中のブロック数6に対応
した8×6回行いDCT係数fijkをi=0〜7,j=
0〜7,k=0〜5について行方向に順次得、第3のセ
レクタ606により1次元DCT部604の出力を選択
してDCT係数fijkを得、バッファメモリ608から
第1段階の処理で求めたqs’×W’ijlを列方向に順
次読み出し、第1のセレクタ601によりバッファメモ
リ608の出力であるqs’×W’ijlを選択し、乗算
器607によりDCT係数fijkと量子化スケール値×
重み係数の乗算結果qs’×W’ijlとのi,jが対応
する乗算をi=0〜7,j=0〜7,k=0〜5につい
て行い、乗算結果fijk×(qs’×W’ijl)をDCT
・量子化回路の出力とする。
05で行と列が転置されたデータを入力とした列方向の
1次元DCTを行ってDCT係数fijkを得、バッファ
メモリ608に格納されたqs’×W’ijlとDCT係
数fijkとの乗算を行い、その結果をDCT・量子化回
路の出力とする。第3段階の処理において、データ転置
用メモリ605から列方向に読み出し、第2のセレクタ
603によりデータ転置用メモリ605の出力を選択し
て1次元DCT部604に入力し、1次元DCT部60
4により8点1次元DCTを列方向に対して1ブロック
中の列数8と1マクロブロック中のブロック数6に対応
した8×6回行いDCT係数fijkをi=0〜7,j=
0〜7,k=0〜5について行方向に順次得、第3のセ
レクタ606により1次元DCT部604の出力を選択
してDCT係数fijkを得、バッファメモリ608から
第1段階の処理で求めたqs’×W’ijlを列方向に順
次読み出し、第1のセレクタ601によりバッファメモ
リ608の出力であるqs’×W’ijlを選択し、乗算
器607によりDCT係数fijkと量子化スケール値×
重み係数の乗算結果qs’×W’ijlとのi,jが対応
する乗算をi=0〜7,j=0〜7,k=0〜5につい
て行い、乗算結果fijk×(qs’×W’ijl)をDCT
・量子化回路の出力とする。
【0050】第4の実施の形態では、DCT・量子化の
処理を第1段階、第2段階、第3段階の順に処理を進め
て実現する。
処理を第1段階、第2段階、第3段階の順に処理を進め
て実現する。
【0051】尚、第1段階と第2段階の処理は互いに演
算器が共用されていないので同時に実行することもで
き、さらに実施の形態2と同様に第2段階と第3段階の
処理のデータ処理単位を変更することができる。また、
実施の形態1で述べたような構成の一部変更も可能であ
る。
算器が共用されていないので同時に実行することもで
き、さらに実施の形態2と同様に第2段階と第3段階の
処理のデータ処理単位を変更することができる。また、
実施の形態1で述べたような構成の一部変更も可能であ
る。
【0052】(実施の形態5)図7は本発明の実施の形
態の逆量子化・逆DCT/DCT・量子化回路のブロッ
ク構成図である。図7において701は第1の2入力セ
レクタ、702は重み係数用メモリ、703は第1の3
入力セレクタ、704は乗算器、705はバッファメモ
リ、706は第2の3入力セレクタ、707は1次元逆
DCT/DCT部、708はデータ転置用メモリ、70
9は第2の2入力セレクタである。重み係数メモリ70
2には逆量子化用の重み係数Wijlと量子化用の重み係
数W’ijlが格納され、切り換え信号によりどちらかが
選択される。1次元逆DCT/DCT部707は切り換
え信号により1次元逆DCTか1次元DCTの機能が選
定され、例えば1次元逆DCT部と1次元DCT部のそ
れぞれの入力と出力をセレクタで選択することで実現で
きる。
態の逆量子化・逆DCT/DCT・量子化回路のブロッ
ク構成図である。図7において701は第1の2入力セ
レクタ、702は重み係数用メモリ、703は第1の3
入力セレクタ、704は乗算器、705はバッファメモ
リ、706は第2の3入力セレクタ、707は1次元逆
DCT/DCT部、708はデータ転置用メモリ、70
9は第2の2入力セレクタである。重み係数メモリ70
2には逆量子化用の重み係数Wijlと量子化用の重み係
数W’ijlが格納され、切り換え信号によりどちらかが
選択される。1次元逆DCT/DCT部707は切り換
え信号により1次元逆DCTか1次元DCTの機能が選
定され、例えば1次元逆DCT部と1次元DCT部のそ
れぞれの入力と出力をセレクタで選択することで実現で
きる。
【0053】まず、逆量子化・逆DCTを行う場合の動
作を説明する。第1段階の処理では量子化スケール値q
sと重み係数Wijlの乗算を行い、乗算結果qs×Wijl
をバッファメモリ705に書き込む。第1段階の処理に
おいて、第1の2入力セレクタ701により量子化スケ
ール値qsを選択し、重み係数用メモリ702からマク
ロブロックタイプによってlが決定された重み係数W
ijlをi=0〜7,j=0〜7について順次読み出し、
第1の3入力セレクタ703により重み係数用メモリ7
02の出力である重み係数Wijlを選択し、次に乗算器
704により量子化スケール値qsと重み係数Wijlの
乗算を順次行い、乗算器704の出力をバッファメモリ
705に書き込む。
作を説明する。第1段階の処理では量子化スケール値q
sと重み係数Wijlの乗算を行い、乗算結果qs×Wijl
をバッファメモリ705に書き込む。第1段階の処理に
おいて、第1の2入力セレクタ701により量子化スケ
ール値qsを選択し、重み係数用メモリ702からマク
ロブロックタイプによってlが決定された重み係数W
ijlをi=0〜7,j=0〜7について順次読み出し、
第1の3入力セレクタ703により重み係数用メモリ7
02の出力である重み係数Wijlを選択し、次に乗算器
704により量子化スケール値qsと重み係数Wijlの
乗算を順次行い、乗算器704の出力をバッファメモリ
705に書き込む。
【0054】第2段階の処理ではバッファメモリ705
に格納されたqs×Wijlと逆量子化レベル値Qijkとの
乗算と行方向の1次元逆DCTを行い、その結果をデー
タ転置用メモリ708に書き込む。第2段階の処理にお
いて、逆量子化レベル値Q ijkをi=0〜7,j=0〜
7,k=0〜5について行方向に順次入力し、第1の3
入力セレクタ703により逆量子化レベル値Qijkを選
択し、バッファメモリ705から第1段階の処理で求め
たqs×Wijlを行方向に順次読み出し、第1の2入力
セレクタ701によりバッファメモリ705の出力であ
るqs×Wij lを選択し、乗算器704により逆量子化
レベル値Qijkと量子化スケール値×重み係数の乗算結
果qs×Wijlとのi,jが対応する乗算をi=0〜
7,j=0〜7,k=0〜5について行い、第2の3入
力セレクタ706により乗算器704の出力を選択して
乗算結果Qijk×(qs×Wijl)であるDCT係数を1
次元逆DCT/DCT部707に入力し、1次元逆DC
T/DCT切り換え信号により1次元逆DCTの機能に
選定された1次元逆DCT/DCT部707により8点
1次元逆DCTを行方向に対して1ブロック中の行数8
と1マクロブロック中のブロック数6に対応した8×6
回行い、1次元逆DCT/DCT部707の出力をデー
タ転置用メモリ708に行方向に書き込む。
に格納されたqs×Wijlと逆量子化レベル値Qijkとの
乗算と行方向の1次元逆DCTを行い、その結果をデー
タ転置用メモリ708に書き込む。第2段階の処理にお
いて、逆量子化レベル値Q ijkをi=0〜7,j=0〜
7,k=0〜5について行方向に順次入力し、第1の3
入力セレクタ703により逆量子化レベル値Qijkを選
択し、バッファメモリ705から第1段階の処理で求め
たqs×Wijlを行方向に順次読み出し、第1の2入力
セレクタ701によりバッファメモリ705の出力であ
るqs×Wij lを選択し、乗算器704により逆量子化
レベル値Qijkと量子化スケール値×重み係数の乗算結
果qs×Wijlとのi,jが対応する乗算をi=0〜
7,j=0〜7,k=0〜5について行い、第2の3入
力セレクタ706により乗算器704の出力を選択して
乗算結果Qijk×(qs×Wijl)であるDCT係数を1
次元逆DCT/DCT部707に入力し、1次元逆DC
T/DCT切り換え信号により1次元逆DCTの機能に
選定された1次元逆DCT/DCT部707により8点
1次元逆DCTを行方向に対して1ブロック中の行数8
と1マクロブロック中のブロック数6に対応した8×6
回行い、1次元逆DCT/DCT部707の出力をデー
タ転置用メモリ708に行方向に書き込む。
【0055】第3段階の処理ではデータ転置用メモリ7
08で行と列が転置されたデータを入力とした列方向の
1次元逆DCTを行う。第3段階の処理では、データ転
置用メモリ708から列方向に読み出し、第2の3入力
セレクタ706によりデータ転置用メモリ708の出力
を選択して1次元逆DCT/DCT部707に入力し、
1次元逆DCT/DCT切り換え信号により1次元逆D
CTの機能に選定された1次元逆DCT/DCT部70
7により8点1次元逆DCTを列方向に対して1ブロッ
ク中の列数8と1マクロブロック中のブロック数6に対
応した8×6回行い、第2の2入力セレクタにより1次
元逆DCT/DCT部707の出力結果を選択して逆量
子化・逆DCT/DCT・量子化回路の出力とする。
08で行と列が転置されたデータを入力とした列方向の
1次元逆DCTを行う。第3段階の処理では、データ転
置用メモリ708から列方向に読み出し、第2の3入力
セレクタ706によりデータ転置用メモリ708の出力
を選択して1次元逆DCT/DCT部707に入力し、
1次元逆DCT/DCT切り換え信号により1次元逆D
CTの機能に選定された1次元逆DCT/DCT部70
7により8点1次元逆DCTを列方向に対して1ブロッ
ク中の列数8と1マクロブロック中のブロック数6に対
応した8×6回行い、第2の2入力セレクタにより1次
元逆DCT/DCT部707の出力結果を選択して逆量
子化・逆DCT/DCT・量子化回路の出力とする。
【0056】逆量子化・逆DCTの処理を第1段階、第
2段階、第3段階の順に処理を進めて実現する。
2段階、第3段階の順に処理を進めて実現する。
【0057】次に、DCT・量子化を行う場合の動作を
説明する。第1段階の処理では量子化スケール値qs’
と重み係数W’ijlの乗算を行い、乗算結果qs’×
W’ijlをバッファメモリ705に書き込み、行方向の
DCTを行う。第1段階の処理において、第1の2入力
セレクタ701により量子化スケール値qs’を選択
し、重み係数用メモリ702からマクロブロックタイプ
によってlが決定された重み係数W’ijlをi=0〜
7,j=0〜7について順次読み出し、第1の3入力セ
レクタ703により重み係数用メモリ702の出力であ
る重み係数W’ijlを選択し、次に乗算器704により
量子化スケール値qs’と重み係数W’ijlの乗算を順
次行い、乗算器704の出力をバッファメモリ705に
書き込む。
説明する。第1段階の処理では量子化スケール値qs’
と重み係数W’ijlの乗算を行い、乗算結果qs’×
W’ijlをバッファメモリ705に書き込み、行方向の
DCTを行う。第1段階の処理において、第1の2入力
セレクタ701により量子化スケール値qs’を選択
し、重み係数用メモリ702からマクロブロックタイプ
によってlが決定された重み係数W’ijlをi=0〜
7,j=0〜7について順次読み出し、第1の3入力セ
レクタ703により重み係数用メモリ702の出力であ
る重み係数W’ijlを選択し、次に乗算器704により
量子化スケール値qs’と重み係数W’ijlの乗算を順
次行い、乗算器704の出力をバッファメモリ705に
書き込む。
【0058】第2段階の処理では入力データに対して行
方向の1次元DCTを行い、データ転置用メモリ708
に書き込む。第2段階の処理において、入力データg
ijkをi=0〜7,j=0〜7,k=0〜5について行
方向に順次入力し、第2の3入力セレクタ706により
入力データを選択して1次元逆DCT/DCT部707
に入力し、1次元逆DCT/DCT切り換え信号により
1次元DCTの機能に選定された1次元逆DCT/DC
T部707により8点1次元DCTを行方向に対して1
ブロック中の行数8と1マクロブロック中のブロック数
6に対応した8×6回行い、1次元逆DCT/DCT部
707の出力をデータ転置用メモリ708に行方向に書
き込む。
方向の1次元DCTを行い、データ転置用メモリ708
に書き込む。第2段階の処理において、入力データg
ijkをi=0〜7,j=0〜7,k=0〜5について行
方向に順次入力し、第2の3入力セレクタ706により
入力データを選択して1次元逆DCT/DCT部707
に入力し、1次元逆DCT/DCT切り換え信号により
1次元DCTの機能に選定された1次元逆DCT/DC
T部707により8点1次元DCTを行方向に対して1
ブロック中の行数8と1マクロブロック中のブロック数
6に対応した8×6回行い、1次元逆DCT/DCT部
707の出力をデータ転置用メモリ708に行方向に書
き込む。
【0059】第3段階の処理ではデータ転置用メモリ7
08で行と列が転置されたデータを入力とした列方向の
1次元DCTを行ってDCT係数fijkを得、バッファ
メモリ705に格納されたqs’×W’ijlとDCT係
数fijkとの乗算を行い、その結果をDCT・量子化回
路の出力とする。第3段階の処理において、データ転置
用メモリ708から列方向に読み出し、第2の3入力セ
レクタ706によりデータ転置用メモリ708の出力を
選択して1次元逆DCT/DCT部707に入力し、1
次元逆DCT/DCT切り換え信号により1次元DCT
の機能に選定された1次元逆DCT/DCT部707に
より8点1次元DCTを列方向に対して1ブロック中の
列数8と1マクロブロック中のブロック数6に対応した
8×6回行いDCT係数fijkをi=0〜7,j=0〜
7,k=0〜5について行方向に順次得、第1の3入力
セレクタ703により1次元逆DCT/DCT部707
の出力を選択してDCT係数fijkを得、バッファメモ
リ705から第1段階の処理で求めたqs’×W’ijl
を列方向に順次読み出し、第1の2入力セレクタ701
によりバッファメモリ705の出力であるqs’×W’
ijlを選択し、乗算器704によりDCT係数fijkと量
子化スケール値×重み係数の乗算結果qs’×W’ijl
とのi,jが対応する乗算をi=0〜7,j=0〜7,
k=0〜5について行い、第2の2入力セレクタ709
により乗算器704の出力を選択して乗算結果fijk×
(qs’×W’ijl)を逆量子化・逆DCT/DCT・
量子化回路の出力とする。
08で行と列が転置されたデータを入力とした列方向の
1次元DCTを行ってDCT係数fijkを得、バッファ
メモリ705に格納されたqs’×W’ijlとDCT係
数fijkとの乗算を行い、その結果をDCT・量子化回
路の出力とする。第3段階の処理において、データ転置
用メモリ708から列方向に読み出し、第2の3入力セ
レクタ706によりデータ転置用メモリ708の出力を
選択して1次元逆DCT/DCT部707に入力し、1
次元逆DCT/DCT切り換え信号により1次元DCT
の機能に選定された1次元逆DCT/DCT部707に
より8点1次元DCTを列方向に対して1ブロック中の
列数8と1マクロブロック中のブロック数6に対応した
8×6回行いDCT係数fijkをi=0〜7,j=0〜
7,k=0〜5について行方向に順次得、第1の3入力
セレクタ703により1次元逆DCT/DCT部707
の出力を選択してDCT係数fijkを得、バッファメモ
リ705から第1段階の処理で求めたqs’×W’ijl
を列方向に順次読み出し、第1の2入力セレクタ701
によりバッファメモリ705の出力であるqs’×W’
ijlを選択し、乗算器704によりDCT係数fijkと量
子化スケール値×重み係数の乗算結果qs’×W’ijl
とのi,jが対応する乗算をi=0〜7,j=0〜7,
k=0〜5について行い、第2の2入力セレクタ709
により乗算器704の出力を選択して乗算結果fijk×
(qs’×W’ijl)を逆量子化・逆DCT/DCT・
量子化回路の出力とする。
【0060】DCT・量子化の処理を第1段階、第2段
階、第3段階の順に処理を進めて実現する。
階、第3段階の順に処理を進めて実現する。
【0061】尚、DCT・量子化の処理で第1段階と第
2段階の処理は互いに演算器が共用されていないので同
時に実行することもできる。さらに逆量子化・逆DCT
の処理とDCT・量子化の処理について実施の形態2と
同様に第2段階と第3段階の処理のデータ処理単位を変
更することができ、実施の形態1で述べたような構成の
一部変更も可能である。
2段階の処理は互いに演算器が共用されていないので同
時に実行することもできる。さらに逆量子化・逆DCT
の処理とDCT・量子化の処理について実施の形態2と
同様に第2段階と第3段階の処理のデータ処理単位を変
更することができ、実施の形態1で述べたような構成の
一部変更も可能である。
【0062】
【発明の効果】以上述べたように、本発明によれば、逆
量子化または量子化の乗算回数を減らし乗算器の個数を
減らすことができる。また逆量子化・逆DCT回路また
はDCT・量子化回路の係数バッファメモリを削減し、
データ転置用メモリを削減できる。さらに、逆量子化ま
たは量子化の乗算回数を平均的に減らすことができる。
従って、LSI化する場合に占有面積を削減し、また消
費電流を減らすことができるのでこの実用的効果は大き
い。
量子化または量子化の乗算回数を減らし乗算器の個数を
減らすことができる。また逆量子化・逆DCT回路また
はDCT・量子化回路の係数バッファメモリを削減し、
データ転置用メモリを削減できる。さらに、逆量子化ま
たは量子化の乗算回数を平均的に減らすことができる。
従って、LSI化する場合に占有面積を削減し、また消
費電流を減らすことができるのでこの実用的効果は大き
い。
【図1】本発明の第1の実施の形態である逆量子化・逆
DCT回路のブロック構成図
DCT回路のブロック構成図
【図2】圧縮画像符号化データの復号化器のブロック構
成図
成図
【図3】逆量子化演算の説明図
【図4】本発明の第1の実施の形態及び第2の実施の形
態における演算処理フローの説明図
態における演算処理フローの説明図
【図5】本発明の第3の実施の形態である逆量子化・逆
DCT回路のブロック構成図
DCT回路のブロック構成図
【図6】本発明の第4の実施の形態であるDCT・量子
化回路のブロック構成図
化回路のブロック構成図
【図7】本発明の第5の実施の形態である逆量子化・逆
DCT回路/DCT・量子化回路のブロック構成図
DCT回路/DCT・量子化回路のブロック構成図
【図8】従来の逆量子化・逆DCT回路のブロック構成
図
図
101 第1のセレクタ 102 重み係数用メモリ 103 第2のセレクタ 104 乗算器 105 バッファメモリ 106 第3のセレクタ 107 1次元逆DCT部 108 データ転置用メモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中島 弘雅 大阪府門真市大字門真1006番地 松下電器 産業株式会社内
Claims (7)
- 【請求項1】 入力データに重み係数と量子化スケール
値を乗算する量子化または逆量子化回路であって、 重み係数を保持し、マクロブロックタイプにより2種類
の係数群から1つの係数群を選択し順次データを出力す
る第1のメモリと、第1及び第2のセレクタと、乗算器
と、乗算結果を保持するための第2のメモリを具備し、 第1のメモリの出力と入力データを第1のセレクタの入
力とし、前記量子化スケール値と第2のメモリの出力を
第2のセレクタの入力とし、第1のセレクタの出力と第
2のセレクタの出力を前記乗算器の入力とし、前記乗算
器の出力を第2のメモリの入力とし、 第1段階の処理において、第1のセレクタにより第1の
メモリから順次読み出される出力を選択し、第2のセレ
クタにより前記量子化スケール値を選択して前記乗算器
に入力して得られた乗算結果を第2のメモリに格納し、 第2段階の処理において、第1のセレクタにより入力デ
ータを選択し、第2のセレクタにより第2のメモリから
順次読み出される出力を選択して前記乗算器に入力して
得られた乗算結果を出力とすることを特徴とする量子化
または逆量子化回路。 - 【請求項2】 入力データに重み係数と量子化スケール
値を乗算する量子化または逆量子化回路であって、 重み係数を保持し、マクロブロックタイプにより2種類
の係数群から1つの係数群を選択し順次データを出力す
る第1のメモリと、量子化スケールコードと量子化スケ
ールタイプから量子化スケール値を求める量子化スケー
ル値生成部と、第1及び第2のセレクタと、乗算器と、
乗算結果を保持するための第2のメモリと、マクロブロ
ックタイプと量子化スケールコードとピクチャ切り換え
信号を入力とする比較器を具備し、 第1のメモリの出力と入力データを第1のセレクタの入
力とし、前記量子化スケール値生成部の出力と第2のメ
モリの出力を第2のセレクタの入力とし、第1のセレク
タの出力と第2のセレクタの出力を前記乗算器の入力と
し、前記乗算器の出力を第2のメモリの入力とし、 第1段階の処理において、前記比較器により同じピクチ
ャ内において、マクロブロックタイプと量子化スケール
コードの両方とも現在の値と1マクロブロック前の値を
比較した結果、どちらかが異なる場合にのみ、第1のセ
レクタにより第1のメモリから順次読み出される出力を
選択し、第2のセレクタにより前記量子化スケール値を
選択して前記乗算器に入力して得られた乗算結果を第2
のメモリに格納し、 第2段階の処理において、第1のセレクタにより入力デ
ータを選択し、第2のセレクタにより第2のメモリから
順次読み出される出力を選択して前記乗算器に入力して
得られた乗算結果を出力とすることを特徴とする量子化
または逆量子化回路。 - 【請求項3】 入力データに重み係数と量子化スケール
値を乗算し、2次元逆DCTを施す逆量子化・逆DCT
回路であって、 重み係数を保持し、マクロブロックタイプにより2種類
の係数群から1つの係数群を選択し順次データを出力す
る第1のメモリと、第1及び第2、第3のセレクタと、
乗算器と、乗算結果を保持するための第2のメモリと、
n点1次元逆DCTを行う1次元逆DCT部と、データ
転置用の第3のメモリを具備し、 第1のメモリの出力と入力データを第1のセレクタの入
力とし、前記量子化スケール値と第2のメモリの出力を
第2のセレクタの入力とし、第1のセレクタの出力と第
2のセレクタの出力を前記乗算器の入力とし、前記乗算
器の出力と第3のメモリの出力を第3のセレクタの入力
とし、前記乗算器の出力を第2のメモリの入力とし、第
3のセレクタの出力を前記1次元逆DCT部の入力と
し、前記1次元逆DCT部の出力を第3のメモリの入力
とし、 第1段階の処理において、第1のセレクタにより第1の
メモリから順次読み出される出力を選択し、第2のセレ
クタにより前記量子化スケール値を選択して前記乗算器
に入力し、前記乗算器の出力結果を第2のメモリに格納
し、 第2段階の処理において、第1のセレクタにより入力デ
ータを選択し、第2のセレクタにより第2のメモリから
順次読み出される出力を選択して前記乗算器に入力し、
第3のセレクタにより前記乗算器の出力を選択してその
結果を前記1次元逆DCT部に入力して得られた結果を
第3のメモリに格納し、 第3段階の処理において、第3のセレクタにより行方向
と列方向を入れ替えて読み出された第3のメモリの出力
を選択して前記1次元逆DCT部に入力して得られた結
果を出力とすることを特徴とする逆量子化・逆DCT回
路。 - 【請求項4】 入力データに重み係数と量子化スケール
値を乗算し、2次元逆DCTを施す逆量子化・逆DCT
回路であって、 重み係数を保持し、マクロブロックタイプにより2種類
の係数群から1つの係数群を選択し順次データを出力す
る第1のメモリと、第1及び第2、第3のセレクタと、
乗算器と、乗算結果を保持するための第2のメモリと、
n点1次元逆DCTを行う1次元逆DCT部と、データ
転置用の第3のメモリを具備し、 第1のメモリの出力と入力データを第1のセレクタの入
力とし、前記量子化スケール値と第2のメモリの出力を
第2のセレクタの入力とし、第1のセレクタの出力と第
2のセレクタの出力を前記乗算器の入力とし、前記乗算
器の出力と第3のメモリの出力を第3のセレクタの入力
とし、前記乗算器の出力を第2のメモリの入力とし、第
3のセレクタの出力を前記1次元逆DCT部の入力と
し、前記1次元逆DCT部の出力を第3のメモリの入力
とし、 第1段階の処理において、第1のセレクタにより第1の
メモリから順次読み出される出力を選択し、第2のセレ
クタにより前記量子化スケール値を選択して前記乗算器
に入力し、前記乗算器の出力結果を第2のメモリに格納
し、 第2段階の処理において、第1のセレクタによりNブロ
ック分(Nは1マクロブロック中に含まれるブロックの
個数以下の自然数)の入力データを選択し、第2のセレ
クタにより第2のメモリから順次読み出される出力を選
択して前記乗算器に入力し、第3のセレクタにより前記
乗算器の出力を選択してその結果を前記1次元逆DCT
部に入力して得られた結果を第3のメモリに格納し、 第3段階の処理において、第3のセレクタにより行方向
と列方向を入れ替えて読み出されたNブロック分第3の
メモリの出力を選択して前記1次元逆DCT部に入力し
て得られた結果を出力とし、第2、第3段階の処理をN
ブロック分毎に行なうことすることを特徴とする逆量子
化・逆DCT回路。 - 【請求項5】 入力データに2次元DCTを施し、重み
係数と量子化スケール値を乗算するDCT・量子化回路
であって、 重み係数を保持し、マクロブロックタイプにより2種類
の係数群から1つの係数群を選択し順次データを出力す
る第1のメモリと、第1及び第2、第3のセレクタと、
乗算器と、乗算結果を保持するための第2のメモリと、
n点1次元DCTを行う1次元DCT部と、データ転置
用の第3のメモリを具備し、 第1のメモリの出力と前記1次元DCT部の出力を第1
のセレクタの入力とし、前記量子化スケール値と第2の
メモリの出力を第2のセレクタの入力とし、第1のセレ
クタの出力と第2のセレクタの出力を前記乗算器の入力
とし、入力データと第3のメモリの出力を第3のセレク
タの入力とし、第3のセレクタの出力を前記1次元DC
T部の入力とし、前記1次元DCT部の出力を第3のメ
モリの入力とし、前記乗算器の出力を第2のメモリの入
力とし、 第1段階の処理において、第1のセレクタにより第1の
メモリから順次読み出される出力を選択し、第2のセレ
クタにより前記量子化スケール値を選択して前記乗算器
に入力してその結果を第2のメモリに格納し、第3のセ
レクタにより入力データを選択してその結果を前記1次
元DCT部に入力して得られた結果を第3のメモリに格
納し、 第2段階の処理において、第3のセレクタにより行方向
と列方向を入れ替えて読み出された第3のメモリの出力
を選択して前記1次元DCT部に入力し、第1のセレク
タにより前記1次元DCT部の出力を選択し、第2のセ
レクタにより第2のメモリの出力を選択し、前記乗算器
によって得られた結果を出力とすることを特徴とするD
CT・量子化回路。 - 【請求項6】 入力データに2次元DCTを施し、重み
係数と量子化スケール値を乗算するDCT・量子化回路
であって、 重み係数を保持し、マクロブロックタイプにより2種類
の係数群から1つの係数群を選択し順次データを出力す
る第1のメモリと、第1及び第2、第3のセレクタと、
乗算器と、乗算結果を保持するための第2のメモリと、
n点1次元DCTを行う1次元DCT部と、データ転置
用の第3のメモリを具備し、 第1のメモリの出力と前記1次元DCT部の出力を第1
のセレクタの入力とし、前記量子化スケール値と第2の
メモリの出力を第2のセレクタの入力とし、第1のセレ
クタの出力と第2のセレクタの出力を前記乗算器の入力
とし、入力データと第3のメモリの出力を第3のセレク
タの入力とし、第3のセレクタの出力を前記1次元DC
T部の入力とし、前記1次元DCT部の出力を第3のメ
モリの入力とし、前記乗算器の出力を第2のメモリの入
力とし、 第1段階の処理において、第1のセレクタにより第1の
メモリから順次読み出される出力を選択し、第2のセレ
クタにより前記量子化スケール値を選択して前記乗算器
に入力してその結果を第2のメモリに格納し、 第2段階の処理において、第3のセレクタによりNブロ
ック分(Nは1マクロブロック中に含まれるブロックの
個数以下の自然数)の入力データを選択してその結果を
前記1次元DCT部に入力して得られた結果を第3のメ
モリに格納し、 第3段階の処理において、第3のセレクタにより行方向
と列方向を入れ替えて読み出されたNブロック分の第3
のメモリの出力を選択して前記1次元DCT部に入力
し、第1のセレクタにより前記1次元DCT部の出力を
選択し、第2のセレクタにより第2のメモリの出力を選
択し、前記乗算器によって得られた結果を出力とし、第
2、第3段階の処理をNブロック分毎に行なうことを特
徴とするDCT・量子化回路。 - 【請求項7】 入力データに重み係数と量子化スケール
値を乗算し、2次元逆DCTを施す逆量子化・逆DCT
処理を行い、入力データに2次元DCTを施し、重み係
数と量子化スケール値を乗算するDCT・量子化処理を
行う逆量子化・逆DCT/DCT・量子化回路であっ
て、 重み係数を保持し、マクロブロックタイプと切り換え信
号により4種類の係数群から1つの係数群を選択し順次
データを出力する第1のメモリと、第1及び第2の2入
力セレクタと第1及び第2の3入力セレクタと、乗算器
と、乗算結果を保持するための第2のメモリと、切り換
え信号によりn点1次元逆DCTとn点1次元DCT処
理を選択できる1次元逆DCT/DCT部と、データ転
置用の第3のメモリを具備し、 第1のメモリの出力と入力データと1次元逆DCT/D
CT部の出力を第1の3入力セレクタの入力とし、前記
量子化スケール値と第2のメモリの出力を第1の2入力
セレクタの入力とし、第1の3入力セレクタの出力と第
1の2入力セレクタの出力を前記乗算器の入力とし、前
記乗算器の出力と第3のメモリの出力と入力データを第
2の3入力セレクタの入力とし、前記乗算器の出力を第
2のメモリの入力とし、第2の3入力セレクタの出力を
前記1次元逆DCT/DCT部の入力とし、前記1次元
逆DCT/DCT部の出力を第3のメモリの入力とし、
前記乗算器の出力と前記1次元逆DCT/DCT部の出
力を第2の2入力セレクタの入力とし、 逆量子化・逆DCT処理の場合に、 第1段階の処理において、第1のメモリからマクロブロ
ックタイプと切り換え信号により決定された逆量子化用
の重み係数を順次読み出し、第1の3入力セレクタによ
り第1のメモリの出力を選択し、第1の2入力セレクタ
により前記量子化スケール値を選択して前記乗算器に入
力し、前記乗算器の出力結果を第2のメモリに格納し、 第2段階の処理において、第1の3入力セレクタにより
入力データを選択し、第1の2入力セレクタにより第2
のメモリから順次読み出される出力を選択して前記乗算
器に入力し、第2の3入力セレクタにより前記乗算器の
出力を選択してその結果を切り換え信号により1次元逆
DCTの機能を選定された前記1次元逆DCT/DCT
部に入力して得られた結果を第3のメモリに格納し、 第3段階の処理において、第2の3入力セレクタにより
行方向と列方向を入れ替えて読み出された第3のメモリ
の出力を選択して切り換え信号により1次元逆DCTの
機能を選定された前記1次元逆DCT/DCT部に入力
して第2の2入力セレクタにより前記1次元逆DCT/
DCT部の出力を選択して得られた結果を出力とし、 DCT・量子化処理の場合に、 第1段階の処理において、第1のメモリからマクロブロ
ックタイプと切り換え信号により決定された量子化用の
重み係数を順次読み出し、第1の3入力セレクタにより
第1のメモリの出力を選択し、第1の2入力セレクタに
より前記量子化スケール値を選択して前記乗算器に入力
してその結果を第2のメモリに格納し、第2の3入力セ
レクタにより入力データを選択してその結果を切り換え
信号により1次元DCTの機能を選定された前記1次元
逆DCT/DCT部に入力して得られた結果を第3のメ
モリに格納し、 第2段階の処理において、第2の3入力セレクタにより
行方向と列方向を入れ替えて読み出された第3のメモリ
の出力を選択して切り換え信号により1次元DCTの機
能を選定された前記1次元逆DCT/DCT部に入力
し、第1の3入力セレクタにより前記1次元逆DCT/
DCT部の出力を選択し、第1の2入力セレクタにより
第2のメモリの出力を選択し、第2の2入力セレクタに
より前記乗算器の出力を選択して得られた結果を出力と
することを特徴とする逆量子化・逆DCT/DCT・量
子化回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22810596A JP3385866B2 (ja) | 1996-08-29 | 1996-08-29 | 逆量子化・逆dct回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22810596A JP3385866B2 (ja) | 1996-08-29 | 1996-08-29 | 逆量子化・逆dct回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1070721A true JPH1070721A (ja) | 1998-03-10 |
JP3385866B2 JP3385866B2 (ja) | 2003-03-10 |
Family
ID=16871286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22810596A Expired - Fee Related JP3385866B2 (ja) | 1996-08-29 | 1996-08-29 | 逆量子化・逆dct回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3385866B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002514868A (ja) * | 1998-05-04 | 2002-05-21 | ジェネラル・インスツルメント・コーポレイション | Mpeg−4ビデオの逆量子化のための方法及び装置 |
KR100703799B1 (ko) | 2005-07-19 | 2007-04-06 | 삼성전자주식회사 | 역 양자화 방법 및 장치, 상기 방법을 이용한 비디오디코딩 방법 및 장치 |
-
1996
- 1996-08-29 JP JP22810596A patent/JP3385866B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002514868A (ja) * | 1998-05-04 | 2002-05-21 | ジェネラル・インスツルメント・コーポレイション | Mpeg−4ビデオの逆量子化のための方法及び装置 |
KR100703799B1 (ko) | 2005-07-19 | 2007-04-06 | 삼성전자주식회사 | 역 양자화 방법 및 장치, 상기 방법을 이용한 비디오디코딩 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
JP3385866B2 (ja) | 2003-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4425561B2 (ja) | イメージおよびビデオ符号化のための2−d変換 | |
US5299025A (en) | Method of coding two-dimensional data by fast cosine transform and method of decoding compressed data by inverse fast cosine transform | |
JP4871402B2 (ja) | 映像符号化のための低複雑性単一化変換 | |
US5371611A (en) | Method for and system of decoding compressed continuous-tone digital image data | |
JPH11225334A (ja) | Mpeg−2画像復号器の分散値算定アクセラレータ | |
KR100944928B1 (ko) | 버터플라이 프로세서를 이용하여 이산 코사인 변환을인코딩하고 계산하는 장치 및 방법 | |
KR100270799B1 (ko) | 이산코사인변환/역이산코사인변환 프로세서 | |
US6181831B1 (en) | Spatial frequency-domain video signal processing | |
JPH09212484A (ja) | 離散コサイン変換方法 | |
US5555321A (en) | Image data binary coding method and apparatus | |
US5748514A (en) | Forward and inverse discrete cosine transform circuits | |
JP3385866B2 (ja) | 逆量子化・逆dct回路 | |
US6279062B1 (en) | System for reducing data transmission between coprocessors in a video compression/decompression environment by determining logical data elements of non-zero value and retrieving subset of the logical data elements | |
JPH08307868A (ja) | 動画像復号装置 | |
JP2802158B2 (ja) | 逆直交変換方法および逆直交変換回路 | |
JPH10116267A (ja) | 演算装置及び情報処理装置 | |
JP2845098B2 (ja) | 多値画像圧縮符号の復号方法および装置 | |
JP2887843B2 (ja) | 画像データ復元方法および装置 | |
JPH08289290A (ja) | 画像再生装置 | |
JP3371481B2 (ja) | ディジタル演算装置 | |
JP3457426B2 (ja) | 画像処理装置及び画像処理方法 | |
JPH1032817A (ja) | 画像復号化装置及び画像復号化方法 | |
JPH0670305A (ja) | 画像圧縮伸張装置 | |
JP2507654B2 (ja) | 画像デ―タ直交変換処理装置のマトリクス演算回路 | |
JP2007104155A (ja) | 画像復号装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |