JPH05307467A - 量子化を実行するための方法及び装置 - Google Patents
量子化を実行するための方法及び装置Info
- Publication number
- JPH05307467A JPH05307467A JP4210901A JP21090192A JPH05307467A JP H05307467 A JPH05307467 A JP H05307467A JP 4210901 A JP4210901 A JP 4210901A JP 21090192 A JP21090192 A JP 21090192A JP H05307467 A JPH05307467 A JP H05307467A
- Authority
- JP
- Japan
- Prior art keywords
- integer
- bit
- bus
- reciprocal
- quotient
- 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
Links
Landscapes
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 整数の被除数を受入れる手段と、整数の除数
の逆数を供給する手段と、商を得るために前記整数の被
除数を前記整数の逆数に乗算する手段と所望の精度に商
を調整する手段とを有する量子化装置の提供。 【構成】 ROM601とインクリメントまたは加算器
604、乗算機602とバレルシフタ603を主な構成
とする。ANDゲート614はJPEGまたはCCIT
Tシステムのいずれが所望されるかによって精度関数
“丸め”を使用可能または使用禁止にするために提供。
JPEGが所望された時、バス609上の12ビット整
数xの最下位ビットは0にセット、最終量子化値yはバ
ス613の最上位11個のビットから得られる。加算器
604はシフタ603のバス611上の11ビットの出
力値にシフタ603のこの11ビット出力値の最下位ビ
ットを加える。
の逆数を供給する手段と、商を得るために前記整数の被
除数を前記整数の逆数に乗算する手段と所望の精度に商
を調整する手段とを有する量子化装置の提供。 【構成】 ROM601とインクリメントまたは加算器
604、乗算機602とバレルシフタ603を主な構成
とする。ANDゲート614はJPEGまたはCCIT
Tシステムのいずれが所望されるかによって精度関数
“丸め”を使用可能または使用禁止にするために提供。
JPEGが所望された時、バス609上の12ビット整
数xの最下位ビットは0にセット、最終量子化値yはバ
ス613の最上位11個のビットから得られる。加算器
604はシフタ603のバス611上の11ビットの出
力値にシフタ603のこの11ビット出力値の最下位ビ
ットを加える。
Description
【0001】
【産業上の利用分野】本発明は計算機の装置設計に関す
るものであり、特に算術演算を実行するための計算機の
装置の設計に関する。
るものであり、特に算術演算を実行するための計算機の
装置の設計に関する。
【0002】
【従来の技術】“量子化”と呼ばれる算術手続きの1つ
の例は、整数の被除数が整数の除数によって割算される
除算の商を丸める(rounding)ことまたは打切る(trun
cating)ことによって整数の結果を得る。量子化のその
ような例は、JPEG及びCCITT圧縮システムに於
てディスクリートコサイントランスホーム(discrete c
osine transform)(DCT)計数を処理する中で見つ
けられる。JPEG圧縮システムは、1991年に発表
された“JPEG Digital Compression and Codingof Cont
inuous-tone Still Images,”Draft ISO 1
0918、に定義されており、この記載を必要に応じて
参照されたい。CCITTシステムは、1990年に発
表された“Video Coder for Audio Visual Services at
PX64 Kbite for second,”CCITT Recomm
endation H.261,で定義されており、そ
の記載を必要に応じて参照されたい。そのような量子化
は、量子化の結果が複数のクロック周期後に得られる相
互作用の方法によるか、または1クロック周期内に量子
化された結果を得るように設計された特別なハードウエ
アを用いる“高速量子化”方法によって達成される。
の例は、整数の被除数が整数の除数によって割算される
除算の商を丸める(rounding)ことまたは打切る(trun
cating)ことによって整数の結果を得る。量子化のその
ような例は、JPEG及びCCITT圧縮システムに於
てディスクリートコサイントランスホーム(discrete c
osine transform)(DCT)計数を処理する中で見つ
けられる。JPEG圧縮システムは、1991年に発表
された“JPEG Digital Compression and Codingof Cont
inuous-tone Still Images,”Draft ISO 1
0918、に定義されており、この記載を必要に応じて
参照されたい。CCITTシステムは、1990年に発
表された“Video Coder for Audio Visual Services at
PX64 Kbite for second,”CCITT Recomm
endation H.261,で定義されており、そ
の記載を必要に応じて参照されたい。そのような量子化
は、量子化の結果が複数のクロック周期後に得られる相
互作用の方法によるか、または1クロック周期内に量子
化された結果を得るように設計された特別なハードウエ
アを用いる“高速量子化”方法によって達成される。
【0003】簡単な実施例は、十分な精度での除算の計
算及び結果の十分な精度での丸め及び切取りを含む。量
子化の手続きが予め決められた時間内に実行されなけれ
ばならないリアルタイムアプリケーションのようなある
アプリケーションに対しては、高速量子化方法のみが使
用可能である。ほとんどの除算アルゴリズムが相互作用
的であるので、除算ステップを1クロック周期内で実行
することは困難な仕事である。譬1クロック周期内での
除算が達成されたとしても、そのような除算を実施する
ために必要な特別なハードウエアは非常に高価な物とな
る。
算及び結果の十分な精度での丸め及び切取りを含む。量
子化の手続きが予め決められた時間内に実行されなけれ
ばならないリアルタイムアプリケーションのようなある
アプリケーションに対しては、高速量子化方法のみが使
用可能である。ほとんどの除算アルゴリズムが相互作用
的であるので、除算ステップを1クロック周期内で実行
することは困難な仕事である。譬1クロック周期内での
除算が達成されたとしても、そのような除算を実施する
ために必要な特別なハードウエアは非常に高価な物とな
る。
【0004】
【発明が解決しようとする課題】本発明に基づけば、装
置及び方法が、商の近似を用いることによって1クロッ
ク周期内に量子化の正確な結果を計算するために提供さ
れる。本発明は、一連の切取りまたは丸め過程に於ける
近似の誤差を除去する。
置及び方法が、商の近似を用いることによって1クロッ
ク周期内に量子化の正確な結果を計算するために提供さ
れる。本発明は、一連の切取りまたは丸め過程に於ける
近似の誤差を除去する。
【0005】第1実施例では、商は整数の被除数を整数
の除数の逆数に乗算することによって近似される。整数
の除数の逆数は、リードオンリメモリ(ROM)のよう
な記憶装置に索引を付けた整数の除数を用いることによ
って得られる。近似の結果は続いて丸められ正確に量子
化された結果を得る。
の除数の逆数に乗算することによって近似される。整数
の除数の逆数は、リードオンリメモリ(ROM)のよう
な記憶装置に索引を付けた整数の除数を用いることによ
って得られる。近似の結果は続いて丸められ正確に量子
化された結果を得る。
【0006】第2の実施例に於て、商は第1の実施例で
提供されたものと同じ方法によって近似されるが、近似
された結果は切取られて正確な精度の結果を得る。
提供されたものと同じ方法によって近似されるが、近似
された結果は切取られて正確な精度の結果を得る。
【0007】第3の実施例では、商は第1の実施例で提
供されたものと同じ方法によって近似されるが、正確に
量子化された結果は近似値を打切るかまたは丸めるかの
いずれかによって選択的に提供される。
供されたものと同じ方法によって近似されるが、正確に
量子化された結果は近似値を打切るかまたは丸めるかの
いずれかによって選択的に提供される。
【0008】本発明の他の目的及び利点については添付
図面及び以下の詳細な説明から容易に理解することがで
きる。
図面及び以下の詳細な説明から容易に理解することがで
きる。
【0009】
【課題を解決するための手段】上述の目的は、整数の被
除数を受入れる手段と、前記整数の除数の逆数を供給す
る手段と、商を得るために前記整数の被除数を前記整数
の逆数に乗算する手段と、所望の精度に前記商を調整す
る手段とを有することを特徴とする量子化を実行する装
置を提供することによって達成される。
除数を受入れる手段と、前記整数の除数の逆数を供給す
る手段と、商を得るために前記整数の被除数を前記整数
の逆数に乗算する手段と、所望の精度に前記商を調整す
る手段とを有することを特徴とする量子化を実行する装
置を提供することによって達成される。
【0010】
【実施例】本発明は正確に量子化された結果即ちf(x
/Q)を提供し、ここでx及びQは整数でありfはある
数をより低い精度の他の数へ対応させる関数である。参
照を容易にするために、以下の説明ではその関数を“精
度”関数と呼ぶことにする。後に述べるようにそのよう
な精度関数は丸め及び切取りとして知られている関数を
含む。
/Q)を提供し、ここでx及びQは整数でありfはある
数をより低い精度の他の数へ対応させる関数である。参
照を容易にするために、以下の説明ではその関数を“精
度”関数と呼ぶことにする。後に述べるようにそのよう
な精度関数は丸め及び切取りとして知られている関数を
含む。
【0011】図1は本発明の略原理を実施した回路を形
成するブロック図である。図1に示すように、リードオ
ンリメモリ(ROM)のような記憶装置101は、入力
整数値Qの逆数1/Qを予め決められた精度で検索する
ために用いられる。本発明は記憶装置としてROMを選
択することに限定されることはなく、即ちランダムアク
セスメモリ、プログラマブルロジック及びその他の適切
な装置を表検索を実施するため用いることが可能であ
る。図1では、この逆数1/Qは、ベース2の“浮動小
数点”フォーマット即ち導線106の仮数部M′及び導
線107の指数部Eで提供され、予め決められた精度の
1/Q=M′*2-Eを表わす。この浮動小数点表示方法
では、2進小数点は、仮数部M′の最上位ビットのすぐ
左にあると仮定されている。値1/Qの任意の精度での
ベース2浮動小数点表現の仮数部である値Mが存在す
る。値Mは、記憶装置111からの出力値の仮数部分
M′と次の式によって表わされる関係を持つ。
成するブロック図である。図1に示すように、リードオ
ンリメモリ(ROM)のような記憶装置101は、入力
整数値Qの逆数1/Qを予め決められた精度で検索する
ために用いられる。本発明は記憶装置としてROMを選
択することに限定されることはなく、即ちランダムアク
セスメモリ、プログラマブルロジック及びその他の適切
な装置を表検索を実施するため用いることが可能であ
る。図1では、この逆数1/Qは、ベース2の“浮動小
数点”フォーマット即ち導線106の仮数部M′及び導
線107の指数部Eで提供され、予め決められた精度の
1/Q=M′*2-Eを表わす。この浮動小数点表示方法
では、2進小数点は、仮数部M′の最上位ビットのすぐ
左にあると仮定されている。値1/Qの任意の精度での
ベース2浮動小数点表現の仮数部である値Mが存在す
る。値Mは、記憶装置111からの出力値の仮数部分
M′と次の式によって表わされる関係を持つ。
【0012】M′=M+e,
【0013】ここでeは、記憶装置101の予め決めら
れた精度でMを表示する場合に於ける固有の近似誤差で
ある。
れた精度でMを表示する場合に於ける固有の近似誤差で
ある。
【0014】仮数部M′は、整数乗算器102に於て入
力値xと乗算され、整数Pを形成し、次の式によってx
とMに関係づけられる。
力値xと乗算され、整数Pを形成し、次の式によってx
とMに関係づけられる。
【0015】P=xM+xe
【0016】次に装置103はPへ2-Eを乗算し積を形
成し、その積は(ブロック104で表わされる)特定の
精度関数fを実施する装置によって整数の結果がyに移
される。装置103の出力値即ちP*2-Eは任意の精度
で次のように表現される。
成し、その積は(ブロック104で表わされる)特定の
精度関数fを実施する装置によって整数の結果がyに移
される。装置103の出力値即ちP*2-Eは任意の精度
で次のように表現される。
【0017】 P*2-E=xM*2-E+xe*2-E=x/Q+xe*2-E
【0018】従って上述の手続きで装置103の出力値
に得られた任意の精度の(x/Q)の誤差項は、xe*
2-Eである。次の式
に得られた任意の精度の(x/Q)の誤差項は、xe*
2-Eである。次の式
【0019】f(x/Q)=f(x/Q+xe*2-E)
のように十分に小さい誤差を提供するならば、上述され
た手続きは予め決められた精度の乗算のみを用いること
によって正確な量子化即ち任意の精度の量子化を実行す
る。
のように十分に小さい誤差を提供するならば、上述され
た手続きは予め決められた精度の乗算のみを用いること
によって正確な量子化即ち任意の精度の量子化を実行す
る。
【0020】図2はJPEGベースラインシステムで用
いられる量子化手続きを示す。図2に示すグラフでは、
x軸はすでに定義された変数の入力値を表わし、y軸は
JPEGの量子化手続きに基づく量子化された値を示
す。JPEG量子化手続きでは、量子化関数はy=ro
und(x/Q)であり、ここでroundは精度関数
である。Round(z)は数zが2つの整数の丁度中
間にある時を除きzに最も近い整数であり、zが2つの
整数の丁度中間にある時は2つの整数の内絶対値の大き
いものがRound(z)として選ばれる。例えばro
und(1.5)=2及びround(−1.5)=−
2である。
いられる量子化手続きを示す。図2に示すグラフでは、
x軸はすでに定義された変数の入力値を表わし、y軸は
JPEGの量子化手続きに基づく量子化された値を示
す。JPEG量子化手続きでは、量子化関数はy=ro
und(x/Q)であり、ここでroundは精度関数
である。Round(z)は数zが2つの整数の丁度中
間にある時を除きzに最も近い整数であり、zが2つの
整数の丁度中間にある時は2つの整数の内絶対値の大き
いものがRound(z)として選ばれる。例えばro
und(1.5)=2及びround(−1.5)=−
2である。
【0021】図3には、上述されたJPEGベースライ
ンでの使用に適切な回路300を含む本発明の第1実施
例が示される。図3に示すようにROM301は逆数の
表を含む。ROM301はアドレス形式を用いて8ビッ
トバス308上に提供された入力値Qによってアクセス
される。バス308上の8ビット値Qは、その値は1か
ら255までの整数であり量子化過程の符号をもたない
二進表現法である。ROM301は12ビットバス30
6及び4ビットバス307の上にそれぞれ仮数部M′及
び指数部Eを提供する。指数部Eは−1から7の範囲で
あるので、指数部Eは4ビット値で表現される。M′及
びEで表現されたこの逆数は、任意の精度の(1/Q)
よりも大きいかまたは等しい最小の12ビット仮数部を
有する値である。仮数部M′のこの選択を使用すること
によって、本発明の(上述された)誤差項bは、常に非
負であり2-12よりも小さい。
ンでの使用に適切な回路300を含む本発明の第1実施
例が示される。図3に示すようにROM301は逆数の
表を含む。ROM301はアドレス形式を用いて8ビッ
トバス308上に提供された入力値Qによってアクセス
される。バス308上の8ビット値Qは、その値は1か
ら255までの整数であり量子化過程の符号をもたない
二進表現法である。ROM301は12ビットバス30
6及び4ビットバス307の上にそれぞれ仮数部M′及
び指数部Eを提供する。指数部Eは−1から7の範囲で
あるので、指数部Eは4ビット値で表現される。M′及
びEで表現されたこの逆数は、任意の精度の(1/Q)
よりも大きいかまたは等しい最小の12ビット仮数部を
有する値である。仮数部M′のこの選択を使用すること
によって、本発明の(上述された)誤差項bは、常に非
負であり2-12よりも小さい。
【0022】入力整数xはサインマグニチュード(sign
-magnitude)表現で11ビットバス309上に提供さ
れ、バス309bの最上位ビットは整数xの符号であ
り、10ビットバス309a上の下位10ビットは整数
xの大きさを表わす。乗算器302は、バス309a上
の整数xの10ビットの大きさをバス306上の12ビ
ット値M′に乗算し、バス310へ11ビットの出力値
を供給する。バス310上のこの11ビット値は、乗算
器302の整数の乗算から得られた最も重要な11ビッ
トである。22個のビットではなく11個のビットのみ
を用いてこの出力値をバス310へ提供することが十分
であるということの理由は次に示すとおりである。
(1)(1/Q)の値は高々1であり、(整数xは10
ビット以下の大きさをもつので)入力整数xは210以下
であるために、精度関数を用いた後に量子化手続きの
“最終的な整数値”は11ビット(符号ビットを含む)
で表現される値になる。(2)乗算器302の乗算(即
ち以下に示すような2-Eによる乗算)に続く次の過程
は、付加的な精度を要求しない。(3)丸め過程(以下
に示す)は最終的な値の大きさを表わす部分よりも更に
1ビットだけを必要とする。集積回路でこの回路を実施
する時、この11ビット幅のバスがバスの幅を減少させ
るために多くのシリコン領域が節約される。
-magnitude)表現で11ビットバス309上に提供さ
れ、バス309bの最上位ビットは整数xの符号であ
り、10ビットバス309a上の下位10ビットは整数
xの大きさを表わす。乗算器302は、バス309a上
の整数xの10ビットの大きさをバス306上の12ビ
ット値M′に乗算し、バス310へ11ビットの出力値
を供給する。バス310上のこの11ビット値は、乗算
器302の整数の乗算から得られた最も重要な11ビッ
トである。22個のビットではなく11個のビットのみ
を用いてこの出力値をバス310へ提供することが十分
であるということの理由は次に示すとおりである。
(1)(1/Q)の値は高々1であり、(整数xは10
ビット以下の大きさをもつので)入力整数xは210以下
であるために、精度関数を用いた後に量子化手続きの
“最終的な整数値”は11ビット(符号ビットを含む)
で表現される値になる。(2)乗算器302の乗算(即
ち以下に示すような2-Eによる乗算)に続く次の過程
は、付加的な精度を要求しない。(3)丸め過程(以下
に示す)は最終的な値の大きさを表わす部分よりも更に
1ビットだけを必要とする。集積回路でこの回路を実施
する時、この11ビット幅のバスがバスの幅を減少させ
るために多くのシリコン領域が節約される。
【0023】本発明に基づき、バス310上の11ビッ
ト整数乗算の結果は、逆数の指数部Eによって表わされ
る数値2-Eに乗算される。2進数の算術に於ける2-Eに
よる乗算は、被乗数Eビットをシフトすることによって
実行されるのでこの過程はバレルシフタ303によって
実施される(−1ビットによるシフトは、被乗数を左に
1ビットシフトさせることであり、非負のE値は被乗数
を右にシフトさせる。)。本実施例では、Q=1及びバ
ス310が任意の精度でX/Qの大きさを含む時に起こ
るシフティング動作が最大1個のビットを左にシフトさ
せるので、付加的な精度がバレルシフタ303の11ビ
ットの出力値をバス311上に獲得するために必要では
ない。丸め関数は加算器またはインクリメンタ(increm
enter)304によって提供され、加算器304はバレ
ルシフタ303の出力値の最下位ビット(バス311上
の)をバレルシフタ303の出力値の上位10ビット
(10ビットバス311A)に加算し、バス312上に
10ビットの結果を獲得し、バス309b上の符号ビッ
トと結合し、サインマグニチュード表現の11ビット出
力値をバス313に形成する。この11ビット出力値
は、入力整数xに対する量子化手続きの結果である。
ト整数乗算の結果は、逆数の指数部Eによって表わされ
る数値2-Eに乗算される。2進数の算術に於ける2-Eに
よる乗算は、被乗数Eビットをシフトすることによって
実行されるのでこの過程はバレルシフタ303によって
実施される(−1ビットによるシフトは、被乗数を左に
1ビットシフトさせることであり、非負のE値は被乗数
を右にシフトさせる。)。本実施例では、Q=1及びバ
ス310が任意の精度でX/Qの大きさを含む時に起こ
るシフティング動作が最大1個のビットを左にシフトさ
せるので、付加的な精度がバレルシフタ303の11ビ
ットの出力値をバス311上に獲得するために必要では
ない。丸め関数は加算器またはインクリメンタ(increm
enter)304によって提供され、加算器304はバレ
ルシフタ303の出力値の最下位ビット(バス311上
の)をバレルシフタ303の出力値の上位10ビット
(10ビットバス311A)に加算し、バス312上に
10ビットの結果を獲得し、バス309b上の符号ビッ
トと結合し、サインマグニチュード表現の11ビット出
力値をバス313に形成する。この11ビット出力値
は、入力整数xに対する量子化手続きの結果である。
【0024】量子化手続きのround(x/Q)で誤
差項xe*2-Eが非負で1/2Qよりも小さいならば量
子化された結果には影響を及ぼさない、即ちバス313
上の出力値が正確であるということが証明済みである。
x<210、e<212及び2-E≦(2/Q(2-E=1/
(M′Q)及びM′≧0.5なので)ということを想定
すると、誤差項xe*2-Eは1/(2Q)閾値よりも小
さいので、図3の実施例に於て得られる量子化された結
果は正確である。
差項xe*2-Eが非負で1/2Qよりも小さいならば量
子化された結果には影響を及ぼさない、即ちバス313
上の出力値が正確であるということが証明済みである。
x<210、e<212及び2-E≦(2/Q(2-E=1/
(M′Q)及びM′≧0.5なので)ということを想定
すると、誤差項xe*2-Eは1/(2Q)閾値よりも小
さいので、図3の実施例に於て得られる量子化された結
果は正確である。
【0025】ROM301、乗算器302、バレルシフ
タ303及びインクリメンタまたは加算器304は全て
通常の回路またはその他の適切な設計によって実施可能
である。使用可能なもう1つの精度関数は、切取りであ
る。例えば、切取りはCCITTシステムの量子化手続
きy=trunc(x/Q)で使用される。Trunc
(z)は0以上の整数に対してその整数と等しいかまた
はそれより大きい整数及び0未満の整数に対してそれよ
り小さいかまたは等しい整数として定義された精度関数
である。量子化手続きtrunc(x/Q)は図4に示
されている。図4のx軸上には整数xの種々の値が示さ
れていて、y軸上にはtrunc(x/Q)の対応する
値が示されている。CCITTシステムでは、Qは量子
化の過程を2から62まで2づつ増加して表現する偶数
の整数であり、整数xはサインマグニチュード表現によ
る12ビット整数によって提供される(即ちxの大きさ
は211以下である)。
タ303及びインクリメンタまたは加算器304は全て
通常の回路またはその他の適切な設計によって実施可能
である。使用可能なもう1つの精度関数は、切取りであ
る。例えば、切取りはCCITTシステムの量子化手続
きy=trunc(x/Q)で使用される。Trunc
(z)は0以上の整数に対してその整数と等しいかまた
はそれより大きい整数及び0未満の整数に対してそれよ
り小さいかまたは等しい整数として定義された精度関数
である。量子化手続きtrunc(x/Q)は図4に示
されている。図4のx軸上には整数xの種々の値が示さ
れていて、y軸上にはtrunc(x/Q)の対応する
値が示されている。CCITTシステムでは、Qは量子
化の過程を2から62まで2づつ増加して表現する偶数
の整数であり、整数xはサインマグニチュード表現によ
る12ビット整数によって提供される(即ちxの大きさ
は211以下である)。
【0026】図5はCCITTシステムで量子化を実施
する回路500を含む本発明の第2実施例を示す。量子
化の段階Qが64より小さい偶数の整数であるので、量
子化段階Qの最下位ビットは常に‘0’であり、6個の
ビットだけが全ての可能な量子化の過程Qの逆数の全て
を検索するために必要である。従って図5では量子化の
過程QはアドレスがROM501に入力された時、6ビ
ット入力バス508上で特定される。またQは64より
も小さいので、1/Qの指数部分Eは0から5であり、
従って3個のビットによって表現可能である。従って、
ROM501はQの逆数の指数部分Eを3ビットバス5
07上に供給する。図3のように、Qの逆数の仮数部
M′は12ビットバス506上に提供される(従って仮
数部の誤差eは2-12よりも小さい)。図5の乗算器5
02及びバレルシフタ503は、それぞれの入力値によ
ってビット幅が異なることを除けば図3の乗算器302
及びバレルシフタ303と各々等しい機能を実行する。
重複を避けるために、乗算器502及びバレルシフタ5
03の機能はここでは説明しない。本実施例に於て所望
の精度は11ビットである。所望の11ビットの精度を
越えたビットの切取りは、バス510に11ビットだけ
の出力値を提供する乗算器502によって実行されてい
る。
する回路500を含む本発明の第2実施例を示す。量子
化の段階Qが64より小さい偶数の整数であるので、量
子化段階Qの最下位ビットは常に‘0’であり、6個の
ビットだけが全ての可能な量子化の過程Qの逆数の全て
を検索するために必要である。従って図5では量子化の
過程QはアドレスがROM501に入力された時、6ビ
ット入力バス508上で特定される。またQは64より
も小さいので、1/Qの指数部分Eは0から5であり、
従って3個のビットによって表現可能である。従って、
ROM501はQの逆数の指数部分Eを3ビットバス5
07上に供給する。図3のように、Qの逆数の仮数部
M′は12ビットバス506上に提供される(従って仮
数部の誤差eは2-12よりも小さい)。図5の乗算器5
02及びバレルシフタ503は、それぞれの入力値によ
ってビット幅が異なることを除けば図3の乗算器302
及びバレルシフタ303と各々等しい機能を実行する。
重複を避けるために、乗算器502及びバレルシフタ5
03の機能はここでは説明しない。本実施例に於て所望
の精度は11ビットである。所望の11ビットの精度を
越えたビットの切取りは、バス510に11ビットだけ
の出力値を提供する乗算器502によって実行されてい
る。
【0027】量子化手続きtrunc(x/Q)の誤差
項xe*2-Eが、非負であり1/Qよりも小さいなら
ば、その誤差項は量子化の結果に影響を及ぼさないこと
が証明されている。上述したこと及びx<211、e<2
-12及び2-E≦2/Qであることを考慮すると、誤差項
xe*2-Eは閾値1/Qよりもちいさくなる。従って図
5の実施例で得られる量子化の結果もまた正確である。
項xe*2-Eが、非負であり1/Qよりも小さいなら
ば、その誤差項は量子化の結果に影響を及ぼさないこと
が証明されている。上述したこと及びx<211、e<2
-12及び2-E≦2/Qであることを考慮すると、誤差項
xe*2-Eは閾値1/Qよりもちいさくなる。従って図
5の実施例で得られる量子化の結果もまた正確である。
【0028】図6にはJPEG及びCCITTシステム
の両方に於て量子化手続きを支援することの可能な回路
600を含む第3実施例が示されている。図6のROM
601及びインクリメンタまたは加算器604は、それ
ぞれ図3のROM301及びインクリメンタまたは加算
器304の代わりとして働く。同様に乗算器602及び
バレルシフタ603は、それぞれ図5の乗算器502及
びバレルシフタ503の代わりとして働く。ANDゲー
ト614は、JPEGまたはCCITTシステムのいず
れが所望されるかによって精度関数“丸め”を使用可能
または使用禁止にするために提供される。
の両方に於て量子化手続きを支援することの可能な回路
600を含む第3実施例が示されている。図6のROM
601及びインクリメンタまたは加算器604は、それ
ぞれ図3のROM301及びインクリメンタまたは加算
器304の代わりとして働く。同様に乗算器602及び
バレルシフタ603は、それぞれ図5の乗算器502及
びバレルシフタ503の代わりとして働く。ANDゲー
ト614は、JPEGまたはCCITTシステムのいず
れが所望されるかによって精度関数“丸め”を使用可能
または使用禁止にするために提供される。
【0029】JPEGシステムが所望された時、バス6
09上の12ビット整数xの最下位ビットは0にリセッ
トされ、最終の量子化された出力値yはバス613の最
上位11個のビットから得られる。同時に、インクリメ
ンタまたは加算器604はバレルシフタ603のバス6
11上にある11ビットの出力値に、バレルシフタ60
3のこの11ビットの出力値の最下位ビットを加える。
図6の回路600はJPEGシステムの下で説明された
図3の回路300と機能的に等価であることが当業者に
とっては明らかである。
09上の12ビット整数xの最下位ビットは0にリセッ
トされ、最終の量子化された出力値yはバス613の最
上位11個のビットから得られる。同時に、インクリメ
ンタまたは加算器604はバレルシフタ603のバス6
11上にある11ビットの出力値に、バレルシフタ60
3のこの11ビットの出力値の最下位ビットを加える。
図6の回路600はJPEGシステムの下で説明された
図3の回路300と機能的に等価であることが当業者に
とっては明らかである。
【0030】CCITTシステムが所望された時、丸め
はANDゲート604によって使用禁止にされる。従っ
て、バス611上の値(即ちバレルシフタ603の出力
値)は増加されない。従ってバス611上の値はバス6
13上の値と等しい。CCITTモードでは、奇数アド
レスまたは62より大きいアドレスに記憶されたROM
601の値はアクセスされず、代わってこれらの値はJ
PEGモードでアクセスされるためにROM106内に
提供される。図6の回路600は、CCITTシステム
に於て、先に説明された回路500と機能的に等価であ
ることが当業者にとっては明らかである。以上の詳細な
説明は単なる実施例の例示であって本発明の技術的範囲
を制限するものではない。多くの変形、変更が本発明の
技術的範囲内に於て可能である。例えば、ROMの使用
は1つの例にすぎない。表検索機能を得るためのRAM
またプログラマブル論理装置のような任意の他の装置が
本発明の技術的範囲内で使用可能である。本発明は添付
の請求項によってのみ限定されることを理解されたい。
はANDゲート604によって使用禁止にされる。従っ
て、バス611上の値(即ちバレルシフタ603の出力
値)は増加されない。従ってバス611上の値はバス6
13上の値と等しい。CCITTモードでは、奇数アド
レスまたは62より大きいアドレスに記憶されたROM
601の値はアクセスされず、代わってこれらの値はJ
PEGモードでアクセスされるためにROM106内に
提供される。図6の回路600は、CCITTシステム
に於て、先に説明された回路500と機能的に等価であ
ることが当業者にとっては明らかである。以上の詳細な
説明は単なる実施例の例示であって本発明の技術的範囲
を制限するものではない。多くの変形、変更が本発明の
技術的範囲内に於て可能である。例えば、ROMの使用
は1つの例にすぎない。表検索機能を得るためのRAM
またプログラマブル論理装置のような任意の他の装置が
本発明の技術的範囲内で使用可能である。本発明は添付
の請求項によってのみ限定されることを理解されたい。
【0031】
【発明の効果】上述したように本発明によれば、予め決
められた精度のハードウエアのみを用いた量子化過程が
提供され、結果的に、本発明が集積回路内に実施された
時、回路内に必要な場所を減少する。
められた精度のハードウエアのみを用いた量子化過程が
提供され、結果的に、本発明が集積回路内に実施された
時、回路内に必要な場所を減少する。
【図1】本発明の機能的なブロック図である。
【図2】JPEGベースラインシステムの量子化手続を
表わす図である。
表わす図である。
【図3】本発明の第1実施例のブロック図である。
【図4】CCITTシステムの量子化機能の切取り機能
を表わす図である。
を表わす図である。
【図5】本発明の第2実施例のブロック図である。
【図6】本発明の第3実施例のブロック図である。
101 ROM(記憶装置) 102 乗算器 103 装置 104 精度関数 106 導線 107 導線 300 回路 301 ROM(記憶装置) 302 乗算器 303 バレルシフタ 304 精度関数 306 12ビットバス 307 4ビットバス 308 8ビットバス 309 11ビットバス 309a 10ビットバス 309b 1ビットバス 310 11ビットバス 311 11ビットバス 311a 10ビットバス 311b 1ビットバス 312 10ビットバス 313 1ビットバス 500 回路 501 ROM(記憶装置) 502 乗算器 503 バレルシフタ 506 12ビットバス 507 3ビットバス 508 6ビットバス 509 12ビットバス 509a 11ビットバス 509b 1ビットバス 510 11ビットバス 512 11ビットバス 513 12ビットバス 600 回路 601 ROM(記憶装置) 602 乗算器 603 バレルシフタ 604 加算器 606 12ビットバス 607 4ビットバス 608 8ビットバス 609 12ビットバス 609a 11ビットバス 609b 1ビットバス 610 11ビットバス 611 11ビットバス 611a 11ビットバス 611b 1ビットバス 612 11ビットバス 613 12ビットバス 614 ANDゲート
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ポ・トング アメリカ合衆国カリフォルニア州94555・ フリモント・オニールテラス 34188
Claims (14)
- 【請求項1】 整数の被除数を受入れる手段と、 整数の除数を受入れる手段と、 前記整数の除数の逆数を供給する手段と、 商を得るために前記整数の被除数を前記整数の逆数に乗
算する手段と、 所望の精度に前記商を調整する手段とを有することを特
徴とする量子化を実行するための装置。 - 【請求項2】 前記調整手段が、前記所望の精度に前
記商を丸める手段を有することを特徴とする請求項1に
記載の装置。 - 【請求項3】 前記丸める手段が、インクリメンタを
有することを特徴とする請求項2に記載の装置。 - 【請求項4】 前記調整手段が、前記所望の精度に前
記商を打切る手段を有することを特徴とする請求項1に
記載の装置。 - 【請求項5】 前記逆数を供給する手段が、逆数の表
を記憶する手段を有することを特徴とする請求項1に記
載の装置。 - 【請求項6】 前記逆数を供給する手段が仮数部と指
数部で表現された前記逆数を供給することを特徴とする
請求項1に記載の装置。 - 【請求項7】 前記乗算手段が、 積を得るために前記逆数の仮数部に前記整数の被除数を
乗算する過程と、 前記逆数の指数部に基づいてビット位置の数だけ前記積
をシフトするバレルシフタ手段とを有することを特徴と
する請求項6に記載の装置。 - 【請求項8】 整数の被除数を受入れる過程と、 整数の除数を受入れる過程と、 前記整数の除数の逆数を供給する過程と、 商を得るために前記整数の被除数と前記逆数を乗算する
過程と、 所望の精度に前記商を調整する過程とを有することを特
徴とする量子化を実行するための方法。 - 【請求項9】 前記調整過程が、前記所望の精度に前
記商を丸める過程を有することを特徴とする請求項8に
記載の方法。 - 【請求項10】 前記丸め過程が、インクリメンタを
使用する過程を有することを特徴とする請求項9に記載
の方法。 - 【請求項11】 前記調整過程が、前記所望の精度に
前記商を打切る過程を有することを特徴とする請求項8
に記載の方法。 - 【請求項12】 前記逆数を供給する過程が、逆数の
表を検索する過程を有することを特徴とする請求項8に
記載の方法。 - 【請求項13】 前記逆数を供給する過程が、仮数部
と指数部で表現された前記逆数を供給することを特徴と
する請求項8に記載の方法。 - 【請求項14】 前記乗算過程が、 積を得るために前記整数の被除数を前記逆数の仮数部に
乗算する過程と、 前記逆数の前記指数部に基づいてビット位置の数だけ前
記積をシフトする過程とを有することを特徴とする請求
項13に記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US73073091A | 1991-07-16 | 1991-07-16 | |
| US07/730,730 | 1991-07-16 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05307467A true JPH05307467A (ja) | 1993-11-19 |
Family
ID=24936602
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4210901A Pending JPH05307467A (ja) | 1991-07-16 | 1992-07-14 | 量子化を実行するための方法及び装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05307467A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7123655B2 (en) | 2001-08-09 | 2006-10-17 | Sharp Laboratories Of America, Inc. | Method for reduced bit-depth quantization |
| JP2015106912A (ja) * | 2013-12-03 | 2015-06-08 | 株式会社シキノハイテック | 画像符号化装置及び画像復号化装置 |
-
1992
- 1992-07-14 JP JP4210901A patent/JPH05307467A/ja active Pending
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| USRE44285E1 (en) | 2001-08-09 | 2013-06-11 | Sharp Kabushiki Kaisha | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
| US7400682B2 (en) | 2001-08-09 | 2008-07-15 | Sharp Laboratories Of America, Inc. | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
| USRE42745E1 (en) | 2001-08-09 | 2011-09-27 | Sharp Kabushiki Kaisha | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
| USRE43091E1 (en) | 2001-08-09 | 2012-01-10 | Sharp Kabushiki Kaisha | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
| USRE44138E1 (en) | 2001-08-09 | 2013-04-09 | Sharp Kabushiki Kaisha | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
| USRE44234E1 (en) | 2001-08-09 | 2013-05-21 | Sharp Kabushiki Kaisha | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
| US7123655B2 (en) | 2001-08-09 | 2006-10-17 | Sharp Laboratories Of America, Inc. | Method for reduced bit-depth quantization |
| USRE44319E1 (en) | 2001-08-09 | 2013-06-25 | Sharp Kabushiki Kaisha | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
| USRE44891E1 (en) | 2001-08-09 | 2014-05-13 | Sharp Kabushiki Kaisha | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
| USRE46370E1 (en) | 2001-08-09 | 2017-04-18 | Dolby Laboratories Licensing Corporation | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
| USRE47258E1 (en) | 2001-08-09 | 2019-02-26 | Dolby Laboratories Licensing Corporation | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
| USRE47277E1 (en) | 2001-08-09 | 2019-03-05 | Dolby Laboratories Licensing Corporation | Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices |
| JP2015106912A (ja) * | 2013-12-03 | 2015-06-08 | 株式会社シキノハイテック | 画像符号化装置及び画像復号化装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108021537B (zh) | 一种基于硬件平台的softmax函数计算方法 | |
| EP0353223B1 (en) | Two-dimensional discrete cosine transform processor | |
| US5553012A (en) | Exponentiation circuit utilizing shift means and method of using same | |
| CN112740171A (zh) | 乘法和累加电路 | |
| US5951629A (en) | Method and apparatus for log conversion with scaling | |
| EP1769334A1 (en) | Complex logarithmic alu | |
| JPH01125626A (ja) | 逆数計算方法 | |
| US9798520B2 (en) | Division operation apparatus and method of the same | |
| CN1173930A (zh) | 利用二次项的对数/反对数转换器及其使用方法 | |
| JPH05216627A (ja) | 乗算器および乗算方法 | |
| CN114860193B (zh) | 一种用于计算Power函数的硬件运算电路及数据处理方法 | |
| US20060106905A1 (en) | Method for reducing memory size in logarithmic number system arithmetic units | |
| US5337266A (en) | Method and apparatus for fast logarithmic addition and subtraction | |
| CN107220025B (zh) | 处理乘加运算的装置和处理乘加运算的方法 | |
| US6317063B1 (en) | Inverse quantization using table with reduced size | |
| JPH04205026A (ja) | 除算回路 | |
| JPH11212768A (ja) | 対数値算出回路 | |
| CN111630509A (zh) | 运算电路 | |
| CN117134917B (zh) | 一种用于椭圆曲线加密的快速模运算方法和装置 | |
| JPH0540608A (ja) | テーブルルツクアツプ乗算器及びその乗算方法 | |
| TWI913392B (zh) | 階層和共享指數浮點數資料類型 | |
| JP3131041B2 (ja) | 量子化装置 | |
| KR100433709B1 (ko) | 행렬 변화를 통한 분산산술처리 방식의 이산여현변환 방법 | |
| JP2002244843A (ja) | 逆数を計算するための方法および装置 | |
| JPH0883263A (ja) | ディジタル信号処理装置 |