JP2946612B2 - Idct処理装置 - Google Patents
Idct処理装置Info
- Publication number
- JP2946612B2 JP2946612B2 JP2055311A JP5531190A JP2946612B2 JP 2946612 B2 JP2946612 B2 JP 2946612B2 JP 2055311 A JP2055311 A JP 2055311A JP 5531190 A JP5531190 A JP 5531190A JP 2946612 B2 JP2946612 B2 JP 2946612B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- data
- processing
- rom
- signal
- 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.)
- Expired - Fee Related
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、テレビ会議システム、テレビ電話の動画像
帯域圧縮でCCITTにより標準化作業がなされている64kビ
ット/秒の画像コーデック符号化処理等で用いられるID
CT(Inverse Discrete Cosine Transform、逆離散コサ
イン変換)処理装置に関する。
帯域圧縮でCCITTにより標準化作業がなされている64kビ
ット/秒の画像コーデック符号化処理等で用いられるID
CT(Inverse Discrete Cosine Transform、逆離散コサ
イン変換)処理装置に関する。
従来の技術 Mビット長のデータに対して、N×N画素ブロックに
対してIDCTを行なう場合、フィルター処理等の場合と異
なり、N画素のデータアクセス期間中に、一次元方向の
処理が完結していれば良いという利点がある。この利点
を活用して、ビットシリアルに演算処理をおこなう方法
が、分散型演算手段として、(アイ・イー・イー・イー
・トランザクション・アコースティック、スピーチ、シ
グナル、プロセッシング)IEEE Trans.Acoustic.,Speec
h,Signal Prtocessing vol.ASSP=22,pp.456−462,Dec.
1974,“A new hardware realization of digital filte
rs,"に発表されている。この処理手法は、Mビット長の
データに関する演算を、iビット目の演算というサブセ
ットに着目して算出し、その結果に対して2(l−1)
の桁補正を施して加算することにより最終結果を求める
というものである。IDCTについて、この手法を適用する
と、以下のようになる。今、Mビット長で負の数を2の
補数を表わすN個の整数データ列 に対する一次元のIDCTは、式(1−1)〜(1−3)と
表現することが出来る。
対してIDCTを行なう場合、フィルター処理等の場合と異
なり、N画素のデータアクセス期間中に、一次元方向の
処理が完結していれば良いという利点がある。この利点
を活用して、ビットシリアルに演算処理をおこなう方法
が、分散型演算手段として、(アイ・イー・イー・イー
・トランザクション・アコースティック、スピーチ、シ
グナル、プロセッシング)IEEE Trans.Acoustic.,Speec
h,Signal Prtocessing vol.ASSP=22,pp.456−462,Dec.
1974,“A new hardware realization of digital filte
rs,"に発表されている。この処理手法は、Mビット長の
データに関する演算を、iビット目の演算というサブセ
ットに着目して算出し、その結果に対して2(l−1)
の桁補正を施して加算することにより最終結果を求める
というものである。IDCTについて、この手法を適用する
と、以下のようになる。今、Mビット長で負の数を2の
補数を表わすN個の整数データ列 に対する一次元のIDCTは、式(1−1)〜(1−3)と
表現することが出来る。
上式(1−1)に、ν(k)の指数表現を代入する
と、式(1−4)のように書ける。
と、式(1−4)のように書ける。
式(1−4)で、iに関する加算でまとめると、次式
のようになる。
のようになる。
式(1−5)で、大括弧{ }の中のデータで、b
1(k)は0か1あるいは0か−1の1ビットのデータ
であり はデータν(k)の値そのものには依存しないので、N
の値が決まれば事前に準備することが可能である。従っ
て、大括弧{ }の中の演算は、 の値をROM(Read Only Memory)等で準備しておけば、
乗算を用いることなく加減算のみで実行することが出来
る。
1(k)は0か1あるいは0か−1の1ビットのデータ
であり はデータν(k)の値そのものには依存しないので、N
の値が決まれば事前に準備することが可能である。従っ
て、大括弧{ }の中の演算は、 の値をROM(Read Only Memory)等で準備しておけば、
乗算を用いることなく加減算のみで実行することが出来
る。
発明が解決しようとする課題 しかしながら、IDCTの場合、DCTのように変換核の がkについてπで対称性を有していないので、そのまま
では、準備しておくべきROMの容量は、1つのnに対し
て2Nワードが必要であり、N×1の一次元IDCTの場合、
全体として2N×NワードのROM容量が必要となる。例え
ば、M=16ビットでN=8画素の場合、256ワード×16
ビットのROMが8個必要で、M=16ビットでN=16画素
の場合、65536ワード×16ビットのROMが16個必要とな
る。このため従来技術では、必要とされるROM容量が大
きくなることと、ROM容量が大きくなると読み出しのア
クセス時間が長くなり、処理速度が遅くなってしまうこ
との2つの欠点があった。さらに1画素のサンプリング
時間が1基本クロック期間であるとして、この1クロッ
ク期間に、1回の加算処理や1回のROMアクセスが可能
な同期系を想定すると、データのビット長Mが、IDCTの
所為単位Nよりも大きい場合、そのままでは処理が完結
しない。これは、N=16以上の場合には問題とならない
が、CCITTにより標準化作業がなされているN=8のIDC
Tの場合には、M≦8ビットで制限されることになるた
め、中間処理部で十分な精度が得られないという欠点が
あった。本発明は上記の欠点を排除し、必要とされるメ
モリ容量を1つのνに対して(2(N/2)×2)ワード
に削減し、N×1の一次元IDCTの場合、全体として2
(N/2)×2NワードのROM容量で処理を実現し、さらに、
M>Nビットの精度でNサンプリングクロックの期間で
N×1の一次元のDCT処理を完結できるN×NのIDCT処
理装置を安価に提供することを目的とする。
では、準備しておくべきROMの容量は、1つのnに対し
て2Nワードが必要であり、N×1の一次元IDCTの場合、
全体として2N×NワードのROM容量が必要となる。例え
ば、M=16ビットでN=8画素の場合、256ワード×16
ビットのROMが8個必要で、M=16ビットでN=16画素
の場合、65536ワード×16ビットのROMが16個必要とな
る。このため従来技術では、必要とされるROM容量が大
きくなることと、ROM容量が大きくなると読み出しのア
クセス時間が長くなり、処理速度が遅くなってしまうこ
との2つの欠点があった。さらに1画素のサンプリング
時間が1基本クロック期間であるとして、この1クロッ
ク期間に、1回の加算処理や1回のROMアクセスが可能
な同期系を想定すると、データのビット長Mが、IDCTの
所為単位Nよりも大きい場合、そのままでは処理が完結
しない。これは、N=16以上の場合には問題とならない
が、CCITTにより標準化作業がなされているN=8のIDC
Tの場合には、M≦8ビットで制限されることになるた
め、中間処理部で十分な精度が得られないという欠点が
あった。本発明は上記の欠点を排除し、必要とされるメ
モリ容量を1つのνに対して(2(N/2)×2)ワード
に削減し、N×1の一次元IDCTの場合、全体として2
(N/2)×2NワードのROM容量で処理を実現し、さらに、
M>Nビットの精度でNサンプリングクロックの期間で
N×1の一次元のDCT処理を完結できるN×NのIDCT処
理装置を安価に提供することを目的とする。
課題を解決するための手段 本発明は上記目的を達成するため、N=2N′としたと
きに、0≦n≦N′−1の範囲でu(n)とu(2N′−
1−n)との間で生成する要素の共通項に着目しROM容
量を削減するとともに、M≧Nの場合に、Mビット長の
データをL<Nを満足するLビット長に分割し、Lビッ
ト長で部分積の演算を並列的に実行し、最後にそれらの
中間結果の加算を実行するものである。
きに、0≦n≦N′−1の範囲でu(n)とu(2N′−
1−n)との間で生成する要素の共通項に着目しROM容
量を削減するとともに、M≧Nの場合に、Mビット長の
データをL<Nを満足するLビット長に分割し、Lビッ
ト長で部分積の演算を並列的に実行し、最後にそれらの
中間結果の加算を実行するものである。
作用 本発明は前記の構成により、Lビット長単位で部分積
の演算が並列に実行され、最後にそれらの総和を求める
こととなり、データビット長Mが、IDCTの処理単位Nよ
りも大きい場合においても、Nサンプリングクロックの
期間で処理が完結する。
の演算が並列に実行され、最後にそれらの総和を求める
こととなり、データビット長Mが、IDCTの処理単位Nよ
りも大きい場合においても、Nサンプリングクロックの
期間で処理が完結する。
実施例 以下、本発明のIDCT処理装置の一実施例を図面と共に
説明する。第1図は本発明の一実施例における8×1の
一次元IDCT処理装置のブロック図である。図に於て、16
ビットのDCT処理をすでに受けた信号ν(1)2に対す
る8×1の一次元のIDCT処理装置、3〜10は16ビットレ
ジスタ、11〜18は16ビットの信号{ν(k=mod(1)
8),k=0〜7}、19〜22はビットシリアル処理部であ
り、ここではシフトレジスタを用いて、各桁に対応する
各1ビットの信号を生成する。23〜38はビットシリアル
処理部19〜22で生成された各1ビットの信号、39〜42は
各1ビットの信号23〜38を各4ビット毎にまとめたデー
タ線、43〜46は各4ビットのデータ39〜42をアドレス情
報として、ROMにより係数と入力されたデータとの乗算
の部分積を生成し、その値に右方シフトを施し累積加算
を行なう加算器とROMによる係数乗算部である。47〜54
は8×1のIDCT処理結果の34ビットの出力信号{u
(n),n=0〜7}、55〜62は34ビットトライステート
ドライバーであり、出力信号の並列/直列変換を行な
う。63は、34ビットトライステートドライバー55〜62の
動作により時系列化された34ビット信号出力である。第
2図は第1図の19〜22で用いられるビットシリアル処理
部の回路構成図である。65は16ビットの信号入力{ν
(2k′),k∈[0,1,2,3]}、66は16ビットの信号入力
{ν(2k′+1),k∈[0,1,2,3]}、67,68は上位8ビ
ットと下位8ビットが独立な16ビットのデータロード機
能付き右方シフターであり、ビットシリアル演算に必要
なビット単位での処理を行なう。69〜72は1ビットのデ
ータラッチ、73〜76は各1ビットの信号であり、係数と
入力信号との乗算の部分積をROMから読みだす時のアド
レス情報として用いられる。第3図は第1図の43〜46で
用いられる加算器とROMによる係数乗算部の回路構成図
である。78〜81は係数と入力信号との乗算の部分積をRO
Mから読みだす時のアドレス情報である各4ビットのデ
ータデータ線、82〜85は16ワード×18ビット容量で、係
数と入力信号との乗算の部分積を生成するROM、86,88は
19ビット全加算器、87,89は19ビット全減算器90〜93は2
7ビットの全加算器、94〜97は27ビットのデータロッド
機能付き右方シフター、98〜99は34ビット全加算器、10
0〜101は34ビットレジスタ、102は34ビット出力信号
{u(n)、n∈[0,1,2,3]}、103は34ビット出力信
号{u(7−n)、n∈[0,1,2,3]}である。第1図
と第2図と第3図を用いて、8×1の一次元のIDCT処理
の動作について説明する。本発明において、、N=2N′
として{u(n)、0≦n≦N−1}を前半のN′個と
後半のN′個について共通項が見やすくなるように、式
(1−5)を変形すると、次式(1−6)、(1−7)
のようになる。
説明する。第1図は本発明の一実施例における8×1の
一次元IDCT処理装置のブロック図である。図に於て、16
ビットのDCT処理をすでに受けた信号ν(1)2に対す
る8×1の一次元のIDCT処理装置、3〜10は16ビットレ
ジスタ、11〜18は16ビットの信号{ν(k=mod(1)
8),k=0〜7}、19〜22はビットシリアル処理部であ
り、ここではシフトレジスタを用いて、各桁に対応する
各1ビットの信号を生成する。23〜38はビットシリアル
処理部19〜22で生成された各1ビットの信号、39〜42は
各1ビットの信号23〜38を各4ビット毎にまとめたデー
タ線、43〜46は各4ビットのデータ39〜42をアドレス情
報として、ROMにより係数と入力されたデータとの乗算
の部分積を生成し、その値に右方シフトを施し累積加算
を行なう加算器とROMによる係数乗算部である。47〜54
は8×1のIDCT処理結果の34ビットの出力信号{u
(n),n=0〜7}、55〜62は34ビットトライステート
ドライバーであり、出力信号の並列/直列変換を行な
う。63は、34ビットトライステートドライバー55〜62の
動作により時系列化された34ビット信号出力である。第
2図は第1図の19〜22で用いられるビットシリアル処理
部の回路構成図である。65は16ビットの信号入力{ν
(2k′),k∈[0,1,2,3]}、66は16ビットの信号入力
{ν(2k′+1),k∈[0,1,2,3]}、67,68は上位8ビ
ットと下位8ビットが独立な16ビットのデータロード機
能付き右方シフターであり、ビットシリアル演算に必要
なビット単位での処理を行なう。69〜72は1ビットのデ
ータラッチ、73〜76は各1ビットの信号であり、係数と
入力信号との乗算の部分積をROMから読みだす時のアド
レス情報として用いられる。第3図は第1図の43〜46で
用いられる加算器とROMによる係数乗算部の回路構成図
である。78〜81は係数と入力信号との乗算の部分積をRO
Mから読みだす時のアドレス情報である各4ビットのデ
ータデータ線、82〜85は16ワード×18ビット容量で、係
数と入力信号との乗算の部分積を生成するROM、86,88は
19ビット全加算器、87,89は19ビット全減算器90〜93は2
7ビットの全加算器、94〜97は27ビットのデータロッド
機能付き右方シフター、98〜99は34ビット全加算器、10
0〜101は34ビットレジスタ、102は34ビット出力信号
{u(n)、n∈[0,1,2,3]}、103は34ビット出力信
号{u(7−n)、n∈[0,1,2,3]}である。第1図
と第2図と第3図を用いて、8×1の一次元のIDCT処理
の動作について説明する。本発明において、、N=2N′
として{u(n)、0≦n≦N−1}を前半のN′個と
後半のN′個について共通項が見やすくなるように、式
(1−5)を変形すると、次式(1−6)、(1−7)
のようになる。
上式の第二項のcos(・)の項を変形すると、 となり、K=2k′,0≦k′≦N′−1の時 同様に、k=2k′+1,0≦k′≦N′−1の時 となる。式(1−9)、(1−10)を用いて、kに関し
て偶数項と奇数項でまとめると、式(1−6)、(1−
7)を変形すると、次式のようになる。
て偶数項と奇数項でまとめると、式(1−6)、(1−
7)を変形すると、次式のようになる。
上式(1−11)と(1−12)において、k′に関する
和の第一項 は共通であり、第二項 は加算するか減算するかの違いはあるが、数値としては
共通であるので、第一項の和 を{bi(0),bi(2),・・・,bi(2N′−2)}を引
き数とするROMとして準備しておき、同様に第二項の和 を引き数とするROMとして準備しておき、そのROM出力を
式(1−11)については加算し、式(1−12)について
は減算することにより、ある2iに関する部分和を得るこ
とができる。この結果に2iの桁補正を施し加算すること
により、最終結果としてu(n)とu(2N′−1−n)
を得る。尚、M≧Nの場合に、N回のサンプリング期間
に、この処理を完結させるには、Mビット長のデータを
L<Nを満足するLビット長に分割し、Lビット長で部
分積の演算を並列的に実行し、最後にそれらの中間結果
の加算を実行することにより達成される。たとえば、M
ビット長のデータをJ個のLビット長のデータに分割す
ると、式(1−11)と式(1−12)は次式のように表現
出来る。
和の第一項 は共通であり、第二項 は加算するか減算するかの違いはあるが、数値としては
共通であるので、第一項の和 を{bi(0),bi(2),・・・,bi(2N′−2)}を引
き数とするROMとして準備しておき、同様に第二項の和 を引き数とするROMとして準備しておき、そのROM出力を
式(1−11)については加算し、式(1−12)について
は減算することにより、ある2iに関する部分和を得るこ
とができる。この結果に2iの桁補正を施し加算すること
により、最終結果としてu(n)とu(2N′−1−n)
を得る。尚、M≧Nの場合に、N回のサンプリング期間
に、この処理を完結させるには、Mビット長のデータを
L<Nを満足するLビット長に分割し、Lビット長で部
分積の演算を並列的に実行し、最後にそれらの中間結果
の加算を実行することにより達成される。たとえば、M
ビット長のデータをJ個のLビット長のデータに分割す
ると、式(1−11)と式(1−12)は次式のように表現
出来る。
上式はJ個の部分積の和によって成り立ち、各部分項
はL回の加算により実行されることを意味している。一
実施例として、N=8、J=2の場合を考えると、N≧
round(M/J+0.5)より、M≦16のデータ長まで処理が
可能である。この条件を式(1−13)、(1−14)に適
用すると次式のようになる。
はL回の加算により実行されることを意味している。一
実施例として、N=8、J=2の場合を考えると、N≧
round(M/J+0.5)より、M≦16のデータ長まで処理が
可能である。この条件を式(1−13)、(1−14)に適
用すると次式のようになる。
この式(1−16)、(1−17)より、M=16ビットの
精度で8個のサンプリングクロック期間と若干のパイプ
ライン処理により、8×1の一次元のIDCT処理を実現す
ることができる。第1図において、8×1の一次元IDCT
処理の動作を説明する。16ビットの信号入力ν(1)2
は8個のサブセットに対してIDCT処理を施されるため、
16ビットレジスタ3〜10に、それぞれ{ν(k=mod
(1)8),k=0〜7}と分割され保持される。16ビッ
トレジスタ3〜10では、この8個のサブセットデータ列
{ν(k),k=0〜7}が完全に更新されるまで、1回
のデータサンプリングに対して1回のシフト動作を行な
い、データを順次送っていく。つまり、8回のデータサ
ンプリング毎に、新しいサブセットデータが、16ビット
レジスタ3〜10にν(7),・・・・、ν(0)として
セットされる。次に、このデータは16ビットの信号線11
〜18を介して、それぞれ対応するビットシリアル処理部
19〜22に供給される。このビットシリアル処理部19〜22
における処理を、第2図を用いて説明する。16ビットの
信号入力65〜66は、第1図の16ビットレジスタ3〜10の
いずれかからのデータで、 と、 である。これらのデータが上位8ビットと下位8ビット
が独立した16ビットのデータロード機能付き右方シフタ
ー67〜68に入力され、それぞれ、 として上位8ビットと下位8ビットが分離した形で処理
され、1クロック期間毎に1回の右方シフトが実行され
る。データロード機能付き右方シフター67〜68より出力
される信号は、ν(2k)およびν(2k+1)の上位8ビ
ットと下位8ビットに関して2i桁の各1ビットの値で、
bi+8(2k)とbi(2k)とbi+8(2k+1)とbi(2k+1)
である。これらの信号が、1ビットのラッチ69〜72に取
り込まれ、1サンプリング期間その値が保持され、さら
に1ビット信号線73〜76を介して出力される。ここで、
第1図に戻って説明を続ける。ビットシリアル処理部19
〜22で処理された各1ビットデータは、4ビット単位に
まとめられる。この結果、各ビットシリアル処理部19〜
22より出力される4ビットデータ線39〜42は、4ビット
データ線39が{bi+8(2k),k=0,1,2,3}を示し、4ビ
ットデータ線40が{bi+8(2k+1),k=0,1,2,3}を示
し、4ビットデータ線41が{bi(2k),k=0,1,2,3}を
示し、4ビットデータ線42が{bi(2k+1),k=0,1,2,
3}をそれぞれ示している。これらの4ビットの信号の
意味を、もう少し詳しく説明するために、式(1−16)
(1−17)に戻って説明する。式(1−16)および(1
−17)のk′に関する和の部分を展開すると、次式のよ
うに表現することが出来る。
精度で8個のサンプリングクロック期間と若干のパイプ
ライン処理により、8×1の一次元のIDCT処理を実現す
ることができる。第1図において、8×1の一次元IDCT
処理の動作を説明する。16ビットの信号入力ν(1)2
は8個のサブセットに対してIDCT処理を施されるため、
16ビットレジスタ3〜10に、それぞれ{ν(k=mod
(1)8),k=0〜7}と分割され保持される。16ビッ
トレジスタ3〜10では、この8個のサブセットデータ列
{ν(k),k=0〜7}が完全に更新されるまで、1回
のデータサンプリングに対して1回のシフト動作を行な
い、データを順次送っていく。つまり、8回のデータサ
ンプリング毎に、新しいサブセットデータが、16ビット
レジスタ3〜10にν(7),・・・・、ν(0)として
セットされる。次に、このデータは16ビットの信号線11
〜18を介して、それぞれ対応するビットシリアル処理部
19〜22に供給される。このビットシリアル処理部19〜22
における処理を、第2図を用いて説明する。16ビットの
信号入力65〜66は、第1図の16ビットレジスタ3〜10の
いずれかからのデータで、 と、 である。これらのデータが上位8ビットと下位8ビット
が独立した16ビットのデータロード機能付き右方シフタ
ー67〜68に入力され、それぞれ、 として上位8ビットと下位8ビットが分離した形で処理
され、1クロック期間毎に1回の右方シフトが実行され
る。データロード機能付き右方シフター67〜68より出力
される信号は、ν(2k)およびν(2k+1)の上位8ビ
ットと下位8ビットに関して2i桁の各1ビットの値で、
bi+8(2k)とbi(2k)とbi+8(2k+1)とbi(2k+1)
である。これらの信号が、1ビットのラッチ69〜72に取
り込まれ、1サンプリング期間その値が保持され、さら
に1ビット信号線73〜76を介して出力される。ここで、
第1図に戻って説明を続ける。ビットシリアル処理部19
〜22で処理された各1ビットデータは、4ビット単位に
まとめられる。この結果、各ビットシリアル処理部19〜
22より出力される4ビットデータ線39〜42は、4ビット
データ線39が{bi+8(2k),k=0,1,2,3}を示し、4ビ
ットデータ線40が{bi+8(2k+1),k=0,1,2,3}を示
し、4ビットデータ線41が{bi(2k),k=0,1,2,3}を
示し、4ビットデータ線42が{bi(2k+1),k=0,1,2,
3}をそれぞれ示している。これらの4ビットの信号の
意味を、もう少し詳しく説明するために、式(1−16)
(1−17)に戻って説明する。式(1−16)および(1
−17)のk′に関する和の部分を展開すると、次式のよ
うに表現することが出来る。
このように、上式(1−18)における各2i桁に関する
演算は、nを固定すれば、{bi(2k),k=0,1,2,3}の
4ビットのデータと{bi(2k+1),k=0,1,2,3}の4
ビットのデータと{bi+8(2k′),k′=0,1,2,3}の4
ビットのデータと{bi+8(2k′+1),k′=0,1,2,3}
の4ビットのデータによって一意的に決定することが出
来る。同様に、式(1−19)についても同様のことが成
立する。従って、これらの4ビット信号をアドレス情報
とし、そのアドレス情報に従い を出力するようにROM化することは容易である。このよ
うに、4ビットデータ線39の4ビットデータは、式(1
−16)(1−17)における2i+8桁での を求めるアドレス情報として用いられ、加算器とROMに
よる係数乗算部43〜46に入力される。同様に、4ビット
データ線40の4ビットデータは、式(1−16)(1−1
7)における2i+8桁での を求めるアドレス情報として用いられ、加算器とROMに
よる係数乗算部43〜46に入力される。同様に、4ビット
データ線41の4ビットデータは、式(1−16)(1−1
7)における2i桁での を求めるアドレス情報として用いられ、加算器とROMに
よる係数乗算部43〜46に入力される。同様に、4ビット
データ線42の4ビットデータは、式(1−16)(1−1
7)における2i桁での を求めるアドレス情報として用いられ、加算器とROMに
よる係数乗算部43〜46に入力される。次に、ROMと加算
器による係数乗算部43〜46の中での処理について、第3
図を用いて説明する。第3図において、4ビット信号78
は、式(1−16)(1−17)における2i+8桁での を求めるアドレス情報で、4ビットデータ線39を介して
入力される。同様に、4ビット信号79は、式(1−16)
(1−17)における2i桁での を求めるアドレス情報で、4ビットデータ線40を介して
入力される。4ビット信号80は、式(1−16)(1−1
7)における2i桁での を求めるアドレス情報で、4ビットデータ線41を介して
入力される。同様に、4ビット信号81は、式(1−16)
(1−17)における2i桁での を求めるアドレス情報で、4ビットデータ線42を介して
入力される。次に、16ワード×18ビット容量のROM82で
は、4ビット信号78をアドレス情情報として受け の値を18ビットのデータとして出力する。次に、16ワー
ド×18ビット容量のROM83では、4ビット信号79をアド
レス情報として受け の値を18ビットのデータとして出力する。次に、16ワー
ド×18ビット容量のROM84では、4ビット信号80をアド
レス情報として受け の値を18ビットのデータとして出力する。次に、16ワー
ド×18ビット容量のROM85では、4ビット信号81をアド
レス情報として受け の値を18ビットのデータとして出力する。次に19ビット
全加算器86はROM82からの18ビットの出力データとROM83
からの18ビットの出力データを加算し、19ビット全減算
器87はROM82から18ビットの出力データからROM83からの
18ビットの出力データを減算する。同様に、19ビット全
加算器88はROM84からの18ビットの出力データとROM85か
らの18ビットの出力データを加算し、19ビット全減算器
89はROM84からの18ビットの出力データからRYOM85から1
8ビットの出力データを減算する。次に27ビット全加算
器90〜93と27ビットのデータロード機能付き右方シフタ
ー94〜97は、4組の27ビット累積加算器として働き、前
記19ビット全加算器86、88と前記19ビット全減算器87、
89の演算結果が、27ビット全加算器90〜93の一方の入力
のMSB側19ビットに入力される。27ビット全加算器90〜9
3での加算結果は、それぞれ27ビットのデータロード機
能付き右方シフター94〜97でLSB側に(右方に)1ビッ
トシフトされ、次のクロック期間で、前記19ビット全加
算器86、88と前記19ビット全減算器87、89の演算結果と
加算される。但し、この動作で、i=0の時には、27ビ
ットのデータロード機能付き右方シフター94〜97から27
ビット全加算器90〜93に入力されるデータは“0"に初期
化される。この操作により、8回のクロック期間で、式
(1−16)、(1−17)のそれぞれ4つの項が算出され
る。34ビット全加算器98、99では、27ビットシフター94
〜97の出力を加算する。ここで、27ビットシフター94、
95の出力は加算時に28で桁補正が施され、式(1−1
6)、(1−17)のu(n),u(7−n)の値を算出す
る。そして、34ビットレジスター100、101に、その演算
結果をセットする。34ビットレジスター100、101は次の
8クロックの期間、新しいサブセットに対してu
(n),u(7−n)の値が算出されるまで、現在の値を
保持る。ここで第1図に戻って、説明を続ける。第3図
における34ビットレジスター100、101からのデータ102,
103は、第1図の47〜54に対応し、他の3つのブロック
信号の出力信号と合わせて、IDCT処理された信号列{u
(n),0≦n≦7}となる。この34ビット出力信号列
{u(n),0≦n≦7}がそれぞれトライステートドラ
イバー55〜62により、時分割されて出力端子63より出力
される。第4図は第1図の8×1のICT処理回路ブロッ
ク1を利用したアダプティブIDCT処理装置の一例であ
る。データストローブ信号入力端子104より入力される
ストローブ信号は16ビット信号入力端子105より入力さ
れる一組64個の既にDCT処理を受けた信号の先頭の位置
を示し、この信号をトリガーとして、タイミング信号生
成回路106aが動作する。同時に、16ビット信号入力105
より入力されたデータは、8×1の一次元のIDCT処理回
路1aに入力され、8×1のIDCT処理が施される。ここで
の処理タイミングは、タイミング信号生成回路106によ
り制御される。次に、クリッピング・丸め込み処理回路
108aでは8×1の一次元のIDCT処理回路1aからの出力に
対しクリッピング・丸め込み処理を行ない、その結果を
128ワード×16ビットのデュアルポートメモリ109に入力
する。128ワード×16ビットのデュアルポートメモリ109
の書き込み、読み出しは、書き込み制御回路110、読み
出し制御回路111により制御される。次に、8×1の一
次元のIDCT処理回路1bでは、128ワード×16ビットのデ
ュアルポートメモリ109からの入力信号に対して、IDCT
処理を行なう。ここでの処理タイミングは、タイミング
信号生成回路106bにより制御される。8×1の一次元の
IDCT処理回路1bからの出力データは、クリッピング・丸
め込み処理回路108bにより、16ビットの信号に加工され
る。制御信号115によりアダプティブ処理を行なう場
合、加算器117に於て、クリッピング・丸め込み処理回
路108bからの出力データと16ビットの参照画像信号入力
端子116からの参照画像信号と加算され、16ビットの画
像出力端子118に出力される。アダプティブ処理を行な
わない場合、クリッピング・丸め込み処理回路108bから
の出力データがそのまま画像出力端子118に出力され
る。
演算は、nを固定すれば、{bi(2k),k=0,1,2,3}の
4ビットのデータと{bi(2k+1),k=0,1,2,3}の4
ビットのデータと{bi+8(2k′),k′=0,1,2,3}の4
ビットのデータと{bi+8(2k′+1),k′=0,1,2,3}
の4ビットのデータによって一意的に決定することが出
来る。同様に、式(1−19)についても同様のことが成
立する。従って、これらの4ビット信号をアドレス情報
とし、そのアドレス情報に従い を出力するようにROM化することは容易である。このよ
うに、4ビットデータ線39の4ビットデータは、式(1
−16)(1−17)における2i+8桁での を求めるアドレス情報として用いられ、加算器とROMに
よる係数乗算部43〜46に入力される。同様に、4ビット
データ線40の4ビットデータは、式(1−16)(1−1
7)における2i+8桁での を求めるアドレス情報として用いられ、加算器とROMに
よる係数乗算部43〜46に入力される。同様に、4ビット
データ線41の4ビットデータは、式(1−16)(1−1
7)における2i桁での を求めるアドレス情報として用いられ、加算器とROMに
よる係数乗算部43〜46に入力される。同様に、4ビット
データ線42の4ビットデータは、式(1−16)(1−1
7)における2i桁での を求めるアドレス情報として用いられ、加算器とROMに
よる係数乗算部43〜46に入力される。次に、ROMと加算
器による係数乗算部43〜46の中での処理について、第3
図を用いて説明する。第3図において、4ビット信号78
は、式(1−16)(1−17)における2i+8桁での を求めるアドレス情報で、4ビットデータ線39を介して
入力される。同様に、4ビット信号79は、式(1−16)
(1−17)における2i桁での を求めるアドレス情報で、4ビットデータ線40を介して
入力される。4ビット信号80は、式(1−16)(1−1
7)における2i桁での を求めるアドレス情報で、4ビットデータ線41を介して
入力される。同様に、4ビット信号81は、式(1−16)
(1−17)における2i桁での を求めるアドレス情報で、4ビットデータ線42を介して
入力される。次に、16ワード×18ビット容量のROM82で
は、4ビット信号78をアドレス情情報として受け の値を18ビットのデータとして出力する。次に、16ワー
ド×18ビット容量のROM83では、4ビット信号79をアド
レス情報として受け の値を18ビットのデータとして出力する。次に、16ワー
ド×18ビット容量のROM84では、4ビット信号80をアド
レス情報として受け の値を18ビットのデータとして出力する。次に、16ワー
ド×18ビット容量のROM85では、4ビット信号81をアド
レス情報として受け の値を18ビットのデータとして出力する。次に19ビット
全加算器86はROM82からの18ビットの出力データとROM83
からの18ビットの出力データを加算し、19ビット全減算
器87はROM82から18ビットの出力データからROM83からの
18ビットの出力データを減算する。同様に、19ビット全
加算器88はROM84からの18ビットの出力データとROM85か
らの18ビットの出力データを加算し、19ビット全減算器
89はROM84からの18ビットの出力データからRYOM85から1
8ビットの出力データを減算する。次に27ビット全加算
器90〜93と27ビットのデータロード機能付き右方シフタ
ー94〜97は、4組の27ビット累積加算器として働き、前
記19ビット全加算器86、88と前記19ビット全減算器87、
89の演算結果が、27ビット全加算器90〜93の一方の入力
のMSB側19ビットに入力される。27ビット全加算器90〜9
3での加算結果は、それぞれ27ビットのデータロード機
能付き右方シフター94〜97でLSB側に(右方に)1ビッ
トシフトされ、次のクロック期間で、前記19ビット全加
算器86、88と前記19ビット全減算器87、89の演算結果と
加算される。但し、この動作で、i=0の時には、27ビ
ットのデータロード機能付き右方シフター94〜97から27
ビット全加算器90〜93に入力されるデータは“0"に初期
化される。この操作により、8回のクロック期間で、式
(1−16)、(1−17)のそれぞれ4つの項が算出され
る。34ビット全加算器98、99では、27ビットシフター94
〜97の出力を加算する。ここで、27ビットシフター94、
95の出力は加算時に28で桁補正が施され、式(1−1
6)、(1−17)のu(n),u(7−n)の値を算出す
る。そして、34ビットレジスター100、101に、その演算
結果をセットする。34ビットレジスター100、101は次の
8クロックの期間、新しいサブセットに対してu
(n),u(7−n)の値が算出されるまで、現在の値を
保持る。ここで第1図に戻って、説明を続ける。第3図
における34ビットレジスター100、101からのデータ102,
103は、第1図の47〜54に対応し、他の3つのブロック
信号の出力信号と合わせて、IDCT処理された信号列{u
(n),0≦n≦7}となる。この34ビット出力信号列
{u(n),0≦n≦7}がそれぞれトライステートドラ
イバー55〜62により、時分割されて出力端子63より出力
される。第4図は第1図の8×1のICT処理回路ブロッ
ク1を利用したアダプティブIDCT処理装置の一例であ
る。データストローブ信号入力端子104より入力される
ストローブ信号は16ビット信号入力端子105より入力さ
れる一組64個の既にDCT処理を受けた信号の先頭の位置
を示し、この信号をトリガーとして、タイミング信号生
成回路106aが動作する。同時に、16ビット信号入力105
より入力されたデータは、8×1の一次元のIDCT処理回
路1aに入力され、8×1のIDCT処理が施される。ここで
の処理タイミングは、タイミング信号生成回路106によ
り制御される。次に、クリッピング・丸め込み処理回路
108aでは8×1の一次元のIDCT処理回路1aからの出力に
対しクリッピング・丸め込み処理を行ない、その結果を
128ワード×16ビットのデュアルポートメモリ109に入力
する。128ワード×16ビットのデュアルポートメモリ109
の書き込み、読み出しは、書き込み制御回路110、読み
出し制御回路111により制御される。次に、8×1の一
次元のIDCT処理回路1bでは、128ワード×16ビットのデ
ュアルポートメモリ109からの入力信号に対して、IDCT
処理を行なう。ここでの処理タイミングは、タイミング
信号生成回路106bにより制御される。8×1の一次元の
IDCT処理回路1bからの出力データは、クリッピング・丸
め込み処理回路108bにより、16ビットの信号に加工され
る。制御信号115によりアダプティブ処理を行なう場
合、加算器117に於て、クリッピング・丸め込み処理回
路108bからの出力データと16ビットの参照画像信号入力
端子116からの参照画像信号と加算され、16ビットの画
像出力端子118に出力される。アダプティブ処理を行な
わない場合、クリッピング・丸め込み処理回路108bから
の出力データがそのまま画像出力端子118に出力され
る。
発明の効果 以上、説明したごとく本発明によれば、必要とされる
メモリ容量を1つのnに対して(2(N/2)×2)ワー
ドに削減し、N×1の一次元IDCTの場合、全体として2
(N/2)×2NワードのROM容量で処理が実現することがで
き、さらに、Mビット長をL<Nを満足するLビット長
に分割し、Lビット長で部分積の演算を並列的に実行
し、最後にそれらの中間結果の加算を実行する方式によ
り、M>Nビットの精度でNサンプリングクロックの期
間でN×1の一次元のDCT処理を実現することができ、
かつ内部演算精度をM=16ビットの精度まで乗算器を用
いずに確保することができ、その実用的効果は大きい。
メモリ容量を1つのnに対して(2(N/2)×2)ワー
ドに削減し、N×1の一次元IDCTの場合、全体として2
(N/2)×2NワードのROM容量で処理が実現することがで
き、さらに、Mビット長をL<Nを満足するLビット長
に分割し、Lビット長で部分積の演算を並列的に実行
し、最後にそれらの中間結果の加算を実行する方式によ
り、M>Nビットの精度でNサンプリングクロックの期
間でN×1の一次元のDCT処理を実現することができ、
かつ内部演算精度をM=16ビットの精度まで乗算器を用
いずに確保することができ、その実用的効果は大きい。
第1図は本発明の一実施例における16ビットのDCT処理
をすでに受けた信号ν(1)に対する8×1の一次元ID
CT処理装置のブロック図、第2図はビットシリアル処理
部の回路構成図、第3図は加算器とROMによる係数乗算
部の回路構成図、第4図は本発明の一実施例によるアダ
プティブIDCT処理装置の概略構成図である。 1,1a,1b……8×1の一次元IDCT処理装置、2……16ビ
ットのすでにDCT処理を受けた信号入力ν(1)、3〜1
0……16ビットレジスタ、19〜22……ビットシリアル処
理部、43〜46……加算器とROMによる係数乗算部、55〜6
2……34ビットトライステートドライバー、82〜85……1
6ワード×18ビットの容量のROM、86,88……19ビット全
加算器、87,89……19ビット全減算器、90〜93……27ビ
ット全加算器、94〜97……27ビットデータロード機能付
き右方シフター、98〜99……34ビット全加算器、100〜1
01……34ビットレジスター、109……128ワード×16ビッ
トのデュアルポートメモリ。
をすでに受けた信号ν(1)に対する8×1の一次元ID
CT処理装置のブロック図、第2図はビットシリアル処理
部の回路構成図、第3図は加算器とROMによる係数乗算
部の回路構成図、第4図は本発明の一実施例によるアダ
プティブIDCT処理装置の概略構成図である。 1,1a,1b……8×1の一次元IDCT処理装置、2……16ビ
ットのすでにDCT処理を受けた信号入力ν(1)、3〜1
0……16ビットレジスタ、19〜22……ビットシリアル処
理部、43〜46……加算器とROMによる係数乗算部、55〜6
2……34ビットトライステートドライバー、82〜85……1
6ワード×18ビットの容量のROM、86,88……19ビット全
加算器、87,89……19ビット全減算器、90〜93……27ビ
ット全加算器、94〜97……27ビットデータロード機能付
き右方シフター、98〜99……34ビット全加算器、100〜1
01……34ビットレジスター、109……128ワード×16ビッ
トのデュアルポートメモリ。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) H04N 7/24 - 7/68 H04N 1/41 - 1/419 G06F 17/00 - 17/17
Claims (3)
- 【請求項1】画像信号の帯域圧縮・伸張で用いられるID
CT処理において、Mビット長の信号をN×N画素の処理
単位でDCT処理を行なう場合に、M>Nの関係が成立す
る時、Mビット長L<Nを満足するLビット長の信号に
分割しビットシリアルなデータ列によるビットシリアル
処理部と、前記ビットシリアル処理部のデータをアドレ
ス情報として、各Lビット長のデータと係数の部分積を
ROMベースに算出し、その結果を累積加算し、最後にそ
れらの演算結果を加算する係数乗算部とを備えたN×1
の一次元IDCT処理装置。 - 【請求項2】請求項1記載のMビット長のN×1の一次
元IDCT処理装置において、係数演算部での部分積の共通
性により、必要とされるメモリ容量を削減し、全体とし
て2(N/2)×(2N)ワードのROM容量で処理を行なうこ
とを特徴とするIDCT処理装置。 - 【請求項3】請求項1記載のMビット長のN×1の一次
元IDCT処理装置2個と、データ列のスキャン方向を変換
するデュアルポートメモリとを備えたMビット長のN×
Nの二次元IDCT処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2055311A JP2946612B2 (ja) | 1990-03-07 | 1990-03-07 | Idct処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2055311A JP2946612B2 (ja) | 1990-03-07 | 1990-03-07 | Idct処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03256455A JPH03256455A (ja) | 1991-11-15 |
JP2946612B2 true JP2946612B2 (ja) | 1999-09-06 |
Family
ID=12995018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2055311A Expired - Fee Related JP2946612B2 (ja) | 1990-03-07 | 1990-03-07 | Idct処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2946612B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120183045A1 (en) * | 2011-01-18 | 2012-07-19 | Louis Joseph Kerofsky | Video decoder with reduced dynamic range transform including clipping |
US20120183048A1 (en) * | 2011-01-18 | 2012-07-19 | Louis Joseph Kerofsky | Video decoder with reduced dynamic range transform with multiple clipping |
US20120183047A1 (en) | 2011-01-18 | 2012-07-19 | Louis Joseph Kerofsky | Video decoder with reduced dynamic range transform with inverse transform clipping |
US9807395B2 (en) * | 2011-01-18 | 2017-10-31 | Dolby International Ab | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
US20120183044A1 (en) * | 2011-01-18 | 2012-07-19 | Louis Joseph Kerofsky | Video decoder with reduced dynamic range transform with memory storing |
CA2840939C (en) * | 2011-06-30 | 2018-08-07 | Samsung Electronics Co., Ltd. | Video encoding method with bit depth adjustment for fixed-point conversion and apparatus therefor, and video decoding method and aparatus therefor |
-
1990
- 1990-03-07 JP JP2055311A patent/JP2946612B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH03256455A (ja) | 1991-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0286183B1 (en) | Television transmission system using transform coding | |
EP0353223B1 (en) | Two-dimensional discrete cosine transform processor | |
JP2531955B2 (ja) | 一次元コサイン変換値計算装置並びに該計算装置を含む画像符号化装置及び復号装置 | |
US5649077A (en) | Modularized architecture for rendering scaled discrete cosine transform coefficients and inverse thereof for rapid implementation | |
JP2821489B2 (ja) | 静止画像圧縮処理装置及び方法 | |
JPH03180965A (ja) | 単一のマルチプライヤ/アキュムレータと単一のランダムアクセスメモリを用いてdct/idct演算を繰り返す集積回路装置 | |
JP2946612B2 (ja) | Idct処理装置 | |
JP2001331474A (ja) | 単一命令複数データ指示を備えた逆離散コサイン変換の実行方法、圧縮データの伸張方法、圧縮データ信号の伸張装置、並びに、コンピュータ・プログラム製品 | |
EP1018082A1 (en) | Variable block size 2-dimensional inverse discrete cosine transform engine | |
JP2975691B2 (ja) | 離散コサイン変換を用いる画像のサンプルレート変換のシステムおよび方法 | |
US5652625A (en) | Multi-stage pipeline architecture for motion estimation block matching | |
JP3577325B2 (ja) | 離散余弦変換(dct)によるデータ処理方法、dct方法、およびdctデータ処理回路 | |
EP0826194B1 (en) | Image skewing and rotation using discrete cosine transforms | |
JPH06149861A (ja) | Dct及び逆dct演算装置並びにその演算方法 | |
KR100227271B1 (ko) | 역이산 여현변환방법 | |
JP2910124B2 (ja) | Dct処理装置 | |
JPH06266747A (ja) | Dct/逆dct演算装置 | |
US5671169A (en) | Apparatus for two-dimensional inverse discrete cosine transform | |
JP3155383B2 (ja) | 2モード処理装置、2次元変換装置及び静止画像データの圧縮システム | |
JP3547567B2 (ja) | 離散コサイン変換器 | |
JP2973220B2 (ja) | ディジタルデータの直交変換方法及びその装置 | |
JP2790911B2 (ja) | 直交変換演算装置 | |
JP3977003B2 (ja) | 離散コサイン変換・逆離散コサイン変換手法及びその装置 | |
JPH1125067A (ja) | フィルタ演算装置および方法 | |
KR0154919B1 (ko) | 2차원 역이산 코사인 변환 회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070702 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080702 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090702 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |