JP3059429B2 - 復号装置 - Google Patents

復号装置

Info

Publication number
JP3059429B2
JP3059429B2 JP11017702A JP1770299A JP3059429B2 JP 3059429 B2 JP3059429 B2 JP 3059429B2 JP 11017702 A JP11017702 A JP 11017702A JP 1770299 A JP1770299 A JP 1770299A JP 3059429 B2 JP3059429 B2 JP 3059429B2
Authority
JP
Japan
Prior art keywords
value
bits
integer
shift
output
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 - Lifetime
Application number
JP11017702A
Other languages
English (en)
Other versions
JP2000047850A (ja
Inventor
修二 宮阪
剛史 藤田
雅弘 末吉
崇 片山
一任 阿部
正治 松本
明久 川村
孝祐 西尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP11017702A priority Critical patent/JP3059429B2/ja
Priority to EP99101618A priority patent/EP0935203A3/en
Priority to US09/244,155 priority patent/US6304890B1/en
Priority to CNB991018737A priority patent/CN1322456C/zh
Publication of JP2000047850A publication Critical patent/JP2000047850A/ja
Application granted granted Critical
Publication of JP3059429B2 publication Critical patent/JP3059429B2/ja
Priority to US09/929,156 priority patent/US6363407B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、符号化ビットスト
リームに対して所定の演算処理を行う復号装置に関し、
特に、MPEG2オーディオ符号化方式AACの符号化
ビットストリームに含まれる整数x,yに対し、x∧
(a/b)*2∧(y/c)の演算処理を行う復号装置
に関する。
【0002】
【従来の技術】符号化ビットストリームを復号して目的
のデータを得るためには、所定の演算処理を行う必要が
ある。MPEG2オーディオ符号化方式AACの場合、
符号化ビットストリームには、量子化信号xと、スケー
ルファクタyとが含まれている。量子化信号xと、スケ
ールファクタyとは、共に整数である。MPEG2オー
ディオ符号化方式AACの場合、復号装置は、x,yに
対し、x∧(a/b)*2∧(y/c)の演算処理を行
う。ここで、a,b,cはそれぞれ定数である。本明細
書において、「∧」は巾乗記号であり、「*」は乗算記
号であり、「/」は割り算記号であるものとする。な
お、MPEG2オーディオ符号化方式AACの詳細は、
SO/IEC 13818-7:1997 p57-p59 に開示されている。
【0003】従来、x,yに対し、x∧(a/b)*2
∧(y/c)の演算処理を、固定小数点フォーマットの
DSPを用いて行う場合、以下に述べる方法により行っ
ていた。
【0004】図12は、32ビットの固定小数点フォー
マットの一例を示す。図12において最上位ビットをビ
ット31、最下位ビットをビット0とすると、小数点は
ビット30とビット29との間に固定されている。すな
わち、ビット30は数値の整数部を表し、ビット29〜
0は数値の小数部を表す。ビット31は正の数か負の数
かを表す符号ビットである。このように、小数点の位置
が固定されている数値表現形式を固定小数点フォーマッ
トという。
【0005】図12に示す32ビットの固定小数点フォ
ーマットによって表される数値をfとすると、fの取り
うる値の範囲は−2≦f<2となる。この場合、DSP
等の固定小数点フォーマットの処理手段を用いて演算処
理を行う場合には、予め演算対象となる値を±2.0の
範囲に入るように調整し、その後に演算処理を行うよう
にしている。
【0006】上記のMPEG2オーディオ符号化方式A
ACにおいては、xのとり得る範囲は0≦x<8192
であり、yのとり得る範囲は−100≦y<156であ
る。この範囲のx,yに対して、次の(1)式の値を演
算する。
【0007】 x∧(4/3)*2∧(y/4)・・・(1) 固定小数点フォーマットの処理手段を用いて(1)式の
計算を行う場合、従来技術によれば例えば次のように演
算処理する。まず、(1)式を、次の(2)式のように
変形する。
【0008】 x∧(4/3)*2∧((y%4)/4)*2∧int(y/4) ・・・(2) (2)式において、(y%4)はyを4で割った剰余を
表し、int(y/4)はyを4で割った商を表すもの
とする。(2)式を演算する場合、まず、x∧(4/
3)の計算を行う。x∧(4/3)の計算は、通常RO
Mテーブルを用いて行う。すなわち、xに対するx∧
(4/3)の値を予め計算してテーブル化しておき、x
をアドレスとしてROMテーブルを参照し、x∧(4/
3)の値を獲得する。
【0009】(1)式又は(2)式の演算は、固定小数
点フォーマットの処理手段を前提としている。すなわ
ち、x∧(4/3)として得られる値の最大値を、例え
ば1.0を超えないような値に予め正規化し、正規化し
た値をテーブル化しておく。
【0010】図13は、従来の復号装置で用いられる第
1のテーブルの内容を示す。図13に示すテーブルは、
0≦x<8192の範囲で変化するxに対して、xをア
ドレスとしてx∧(4/3)の値を演算し、その演算値
を2∧18で除算して1.0以下になるように正規化し
た値f(x)を格納するテーブルである。
【0011】(2)式を演算する場合、次に、2∧
((y%4)/4)の計算を行う。2∧((y%4)/
4)の計算も、通常ROMテーブルを用いて行う。すな
わち、整数(y%4)に対する2∧((y%4)/4)
の値を予め計算し、テーブル化しておく。そして、整数
(y%4)をアドレスとして、当該テーブルを参照し、
2∧((y%4)/4)の値を獲得する。
【0012】図14は、従来の復号装置において用いら
れる第2のテーブルの内容を示す。図14に示す第2の
テーブルは、0以上3以下のアドレス(y%4)に対し
て、2∧((y%4)/4)の値を2.0以下になるよ
うに正規化した値g(y)を格納するテーブルである。
【0013】以上のようなテーブルを設けた上で(2)
式の値を計算する。まず、入力された整数xをアドレス
として、図13に示す第1のテーブルを参照し、x∧
(4/3)の正規化値f(x)を獲得する。次に、整数
yに対し(y%4)の値を算出する。次に、算出した
(y%4)をアドレスとして、図14の第2のテーブル
を用いてg(y)=2∧((y%4)/4)の値を獲得
する。次に、乗算器を用いてf(x)*g(y)を演算
し、乗算値f(x)*g(y)=h(x,y)を得る。
ここで獲得したf(x)の値は±1以内の範囲にあり、
g(y)の値は±2以内の範囲にあるので、乗算結果h
(x,y)も必ず±2以内の範囲にある値となる。
【0014】次に、h(x,y)に対して2∧int
(y/4)を乗算することにより乗算値i(x,y)を
(2)式の演算結果として得る。この乗算処理はビット
シフト処理により行うことができる。なお、このビット
シフト処理においては、最終の演算結果が±2を超える
場合は、リミット処理(いわゆるクリッピング処理)が
行われるものとする。このように、従来技術においては
i(x,y)=x∧(4/3)*2∧(y/4)の計算
を、容量の大きなテーブルを用いて行っていた。
【0015】
【発明が解決しようとする課題】しかしながら、上記の
ような演算方法においては、図13の上段に示すように
入力の整数xの値が小さいとき、演算対象となるf
(x)の有効数字の桁数が少なくなるという問題があっ
た。例えば、図13のアドレスx=2に対応する値は、
有効桁数の32ビット中、下位ビットから14ビットし
かない。つまり、このようなテーブルの値を用いて演算
を行うと、最終の演算結果の精度が悪くなるという問題
があった。さらに、従来の演算方法においては、図13
に示すように入力されるxの範囲を0〜8191として
おり、xのレンジが広く、計8191*32ビットのメ
モリ容量を確保する必要がある。そのため、従来の復号
装置は膨大な容量のテーブルを備えなければならないと
いう問題があった。
【0016】本発明は、上記の問題に鑑みてなされたも
のであり、整数xの値がその変域の最大値に比較して十
分小さい場合でも、x∧(4/3)*2∧(y/4)の
計算を、固定小数点フォーマットの処理手段により精度
良く演算できる復号装置を実現することを目的とする。
【0017】さらに、本発明は、整数xの値が小さい場
合のテーブルのみを備え、xの値が大きい場合に、小容
量のテーブルを利用することによって、x∧(4/3)
*2∧(y/4)の計算を行えるような復号装置を実現
することを目的とする。
【0018】さらに、本発明は、xの値が大きい場合で
も、単純なビットシフト処理のみで、小容量のテーブル
を利用できるような演算方法を実現し、いかなるx,y
に対しても、高速にx∧(4/3)*2∧(y/4)の
計算を行えるような復号装置を実現することを目的とす
る。
【0019】
【課題を解決するための手段】本発明の復号装置は、変
数である量子化符号x及びスケールファクタyを含むビ
ットストリームからx,yを抽出し、x∧(a/b)*
2∧(y/c)の演算を行う復号装置であって(a,
b,cは整数の定数)、入力された前記ビットストリー
ムからxとyとを分離する分離手段と、((N*a)/
b)を整数化した値をMとし、((Q*a)/b)を整
数化した値をM′として(N、Qは所定の閾値)、0≦
q<2∧Q−1を満たす整数qがxの変域内でとり得る
全ての値について、qをアドレスとして、0≦q<2∧
Nの場合にq∧(a/b)/2∧M′をMに応じたビッ
ト数分シフトした値をF(q)とし、q>2∧Nの場合
にF(q)=q∧(a/b)/2∧M′としたF(q)
の値を固定小数点フォーマットで格納する、第1の記憶
手段と、0≦p<cを満たす整数pのとり得る全ての値
について、G(p)=2∧(p/c)を固定小数点フォ
ーマットで格納する第2の記憶手段と、y1=int
(y/c)を算出する除算手段と、y2=y%cを算出
する剰余算手段と、xをアドレスとして前記第1の記憶
手段から読み出したF(x)の値と、y2をアドレスと
して前記第2の記憶手段から読み出したG(y2)の値
とをそれぞれ乗じた値を出力する乗算手段と、x≦2∧
Nの場合には、前記乗算手段の出力する値をy1と
(M′−M)に応じたビット数分シフトして出力し、x
>2∧Nの場合には、前記乗算手段の出力する値をy1
に応じたビット数分シフトして出力するシフト手段とを
備えており、これにより上記目的が達成される。
【0020】前記Mに応じたビット数は(M′−M)で
あり、前記y1と(M′−M)に応じたビット数は(y
1−(M′−M))であり、前記y1に応じたビット数
はy1であってもよい。
【0021】本発明の別の復号装置は、変数である量子
化符号x及びスケールファクタyを含むビットストリー
ムからx,yを抽出し、x∧(a/b)*2∧(y/
c)の演算を行う復号装置であって(a,b,cは整数
の定数)、入力された前記ビットストリームからxとy
とを分離する分離手段と、x≦2∧Nの場合に(Nは所
定の閾値)、xをNに応じたビット数分シフトすること
により、固定小数点フォーマットの値x1に変換する第
1のシフト手段と、(N*(a−b)/b)を整数化し
た値をMとし、0≦q≦2∧Nを満たす整数qのとり得
る全ての値について、qをアドレスとして、q∧((a
−b)/b)の値をMに応じたビット数分シフトするこ
とによって固定小数点フォーマットにした値H(q)を
格納する第1の記憶手段と、0≦p<cを満たす整数p
のとり得る全ての値について、G(p)=2∧(p/
c)を固定小数点フォーマットで格納する第2の記憶手
段と、y1=int(y/c)を算出する除算手段と、
y2=y%cを算出する剰余算手段と、xをアドレスと
して前記第1の記憶手段から読み出したH(x)の値
と、y2をアドレスとして前記第2の記憶手段から読み
出したG(y2)の値と、前記第1のシフト手段で変換
されたx1の値とをそれぞれ乗じた値を出力する乗算手
段と、前記乗算手段の出力値を、前記除算手段で得られ
たy1に応じたビット数分シフトする第2のシフト手段
とを備えており、これにより上記目的が達成される。
【0022】前記Nに応じたビット数は(D−N)であ
り(Dは固定小数点演算処理における小数桁の有効桁
数)、前記y1に応じたビット数は(y1+(N+
M))であってもよい。
【0023】前記復号装置は、x≦2∧Nの場合に判定
結果を真として出力し、x>2∧Nの場合に判定結果を
偽として出力する判定手段と、前記判定結果が真の場合
にxの値を変化させず、前記判定結果が偽の場合にxを
(2∧(b*i))で除算して、xの値を出力する第2
の除算手段と、をさらに備え、前記第1のシフト手段
は、前記判定結果が偽の場合にxを(N+b*i)に応
じたビット数分シフトし(iは負でない整数)、前記第
1の記憶手段は、qのとり得る全ての値のうちxの変域
内の値についてH(q)の値を格納し、前記第2のシフ
ト手段は、前記判定結果が真の場合に前記乗算手段の出
力する値をy1に応じたビット数分シフトし、前記判定
結果が偽の場合に前記乗算手段の出力する値をy1とa
*iに応じたビット数分シフトしてもよい。
【0024】前記Nに応じたビット数は(D−N)であ
り、前記(N+b*i)に応じたビット数はD−(N+
b*i)であり、前記Mに応じたビット数は(D−M)
であり、前記y1に応じたビット数は(y1+N+M)
であり、前記y1とa*iに応じたビット数は(y1+
N+M+a*i)であってもよい。
【0025】前記復号装置は、x≦2∧Nの場合に判定
結果を真として出力し、x>2∧Nの場合に判定結果を
偽として出力するとともに、xの値の大きさを特定する
ためのパラメータiを出力する判定手段をさらに備え、
前記第1のシフト手段と、前記第2の除算手段と、前記
第2のシフト手段とは、前記判定手段の判定結果に従っ
て動作してもよい。
【0026】前記第2のシフト手段は、前記判定手段の
判定結果が真の場合に前記乗算手段が出力する値をy1
に応じたビット数分シフトし、前記判定手段の判定結果
が偽の場合に前記乗算手段が出力する値をy1+(a*
i)に応じたビット数分シフトしてもよい。
【0027】iの値は、xの値が2∧(N+b(i−
1))<x≦2∧(N+bi)を満たすように決定され
てもよい。
【0028】Mの値は、(N*(a−b))/bの値の
小数点以下を切り上げた値であってもよい。
【0029】本発明の別の復号装置は、変数である量子
化符号x及びスケールファクタyを含むビットストリー
ムからx,yを抽出し、x∧(a/b)*2∧(y/
c)の演算を行う復号装置であって(a,b,cは整数
の定数)、入力された前記ビットストリームからxとy
とを分離する分離手段と、x≦2∧Nの場合に判定結果
を真として出力し(Nは所定の閾値)、x>2∧Nの場
合に判定結果を偽として出力するとともに、xの値の大
きさを特定するためのパラメータj(jは負でない整
数)を出力する判定手段と、前記判定手段の判定結果が
真の場合にxをNに応じたビット数分シフトし、前記判
定手段の判定結果が偽の場合にxを(N+j)に応じた
ビット数分シフトすることにより、xを固定小数点フォ
ーマットの値x1に変換する第1のシフト手段と、y1
=int(y/c)を算出する第1の除算手段と、前記
判定手段の判定結果が真の場合にx′=xとし、前記判
定手段の判定結果が偽の場合に(x/(2∧j))を整
数化した値をx′として、x′の値を出力する第2の除
算手段と、((N*(a−b))/b)を整数化した値
をMとし、0≦q≦2∧Nを満たす整数qがx′の変域
内でとり得る全ての値について、qをアドレスとして、
q∧((a−b)/b)の値をMに応じたビット数分シ
フトすることによって固定小数点フォーマットにした値
H(q)を格納する第1の記憶手段と、0≦p<cを満
たす整数pのとり得る全ての値、及び、jのとり得る全
ての値について、2∧(p/c)*2∧(j/b)に応
じた固定小数点フォーマットの値I(p,j)を生成す
る、調整係数生成手段と、y2=y%cを算出する剰余
算手段と、x′をアドレスとして前記第1の記憶手段か
ら読み出したH(x′)の値と、前記調整係数生成手段
によって生成された、y2及びjに対応するI(y2,
j)の値と、前記第1のシフト手段で得られたx1の値
とをそれぞれ乗じた値を出力する乗算手段と、x≦2∧
Nの場合に前記乗算手段の出力する値をy1に応じたビ
ット数分シフトし、x>2∧Nの場合に前記乗算手段の
出力する値をy1とjとに応じたビット数分シフトする
第2のシフト手段とを備えており、これにより上記目的
が達成される。
【0030】前記調整係数生成手段は、p及びjをアド
レスとして、I(p,j)の値を格納する第2の記憶手
段を有してもよい。
【0031】x>2∧Nの場合にjの値が2∧(N+
(j−1)<x≦2∧(N+j)を満たすように決定さ
れ、x≦2∧N以下の場合にj=0となってもよい。
【0032】本発明の別の復号装置は、変数である量子
化符号x及びスケールファクタyを含むビットストリー
ムからx,yを抽出し、x∧(a/b)*2∧(y/
c)の演算を行う復号装置であって(a,b,cは整数
の定数)、入力された前記ビットストリームからxとy
とを分離する分離手段と、xの値を2進数で表現した時
の桁数kを判定する判定手段と、所定の閾値Nについ
て、(N−k)の値が正の場合にxを(N−k)ビット
シフトアップし、(N−k)の値が負の場合にxを(k
−N)ビットシフトダウンすることにより、x′の値を
算出する、第2の除算手段と、xをkに応じたビット数
分シフトすることにより、固定小数点フォーマットの値
x1に変換する第1のシフト手段と、y1=int(y
/c)を算出する第1の除算手段と、(N*(a−b)
/b)を整数化した値をMとし、2∧(N−1)≦q<
2∧Nを満たす整数qの少なくとも下位(N−1)ビッ
トをアドレスとして、q∧((a−b)/b)の値をM
に応じたビット数分シフトすることによって固定小数点
フォーマットにした値H(q)を格納する、第1の記憶
手段と、0≦p<cを満たす整数pのとり得る全ての
値、及び、kのとり得る全ての値について、2∧(p/
c)*2∧((k−N)/b)に応じた固定小数点フォ
ーマットの値I(p,k)を生成する、調整係数生成手
段と、y2=y%cを算出する剰余算手段と、x′の少
なくとも下位(N−1)ビットをアドレスとして前記第
1の記憶手段から読み出したH(x′)の値と、y2と
kとに対応して前記調整係数生成手段から読み出したI
(y2,k)の値と、前記第1のシフト手段により変換
されたx1の値とをそれぞれ乗じた値を出力する乗算手
段と、前記乗算手段の出力値をy1とMとkとに応じた
ビット数分シフトする第2のシフト手段と、を備えてお
り、これにより上記目的が達成される。
【0033】前記調整係数生成手段は、p及びkをアド
レスとして、I(p,k)の値を格納する第2の記憶手
段を有してもよい。
【0034】a=4かつb=3かつc=4であってもよ
い。
【0035】
【発明の実施の形態】(実施形態1)以下、本発明の実
施形態1の復号装置について、図面を参照しながら説明
する。従来技術について上述したように、MPEG2オ
ーディオ符号化方式のビットストリームには、量子化信
号xとスケールファクタyとが含まれている。本実施形
態の復号装置は、オーディオビットストリームに含まれ
るx,yに対して、x∧(a/b)*2∧(y/c)の
値をリアルタイムで演算する復号装置である。
【0036】量子化信号xは例えば0〜8191までの
任意の整数であり、スケールファクタyは例えば−10
0〜156までの任意の整数である。前記のx,yのと
り得る値の範囲は、MPEG2オーディオAAC規格に
準拠したものである(ISO/IEC 13818-7:1997)。以下、
x,yのとり得る値の範囲が前記の範囲であるものとし
て説明するが、本発明の範囲はこれに限定されない。
【0037】図1は、本発明の実施形態1の復号装置1
0の構成を示すブロック図である。復号装置10は、分
離手段100と、判定手段101と、第1の記憶手段1
02と、第2の記憶手段103と、割算手段104と、
剰余算手段105と、乗算手段106と、シフト手段1
07とを備えている。
【0038】図1において、分離手段100は、入力ビ
ットストリームから、量子化信号x及びスケールファク
タyを分離する手段である。判定手段101は、整数N
を予め設定された閾値とするとき、分離手段100から
出力された量子化信号xが2∧N以下か否かを判定する
手段である。判定手段101は、xが2∧N以下であれ
ば真とし、xが2∧Nを超えれば偽として判定結果を出
力する。第1の記憶手段102は、Qを整数とすると、
0から(2∧Q−1)までの整数値qに対し、q∧(a
/b)に応じた値が予め固定小数点フォーマットで格納
されている記憶手段である。
【0039】第1の記憶手段102は次のように構成さ
れている。分離手段100で分離されたxのとり得る範
囲の整数をqとするとき(0≦q<2∧Q−1)、第1
の記憶手段102は全てのqに対するq∧(a/b)の
値を固定小数点フォーマットで格納する。すなわち、第
1の記憶手段102は、予め設定された閾値をNとする
場合に、(N*a)/bを整数化した値をM、(Q*
a)のbに対する割り算値を整数化した値をM′とする
とき、2∧Nを超える整数値qに対してはq∧(a/
b)の値を2∧M′で正規化した値をF(q)とし、0
以上2∧N以下の整数値qに対してはq∧(a/b)の
値を2∧M′で正規化し、(M′−M)ビット数分シフ
トした値をF(q)として、qをアドレスとして前記F
(q)を格納する。ここで、整数Mの値は、(N*a)
/bの小数点以下を切り上げた値である。また、整数
M′の値は、(Q*a)/bの小数点以下を切り上げた
値である。
【0040】図2は、復号装置10の第1の記憶手段1
02の内容を示す。図2に示す第1の記憶手段102の
保持する内容は、a=4、b=3、N=5、Q=13、
M=7、M′=18とした場合のF(q)の値である。
図2における各値の固定小数点のフォーマットにおいて
は、最上位ビットが符号ビットであり、最上位ビットか
ら2ビット目と3ビット目の間に小数点がある。そして
最上位ビットから2ビット目と小数点以下のDビットと
が演算対象の有効桁数とする。
【0041】割算手段104は、分離手段100から出
力されたスケールファクタyをcで割り、その商int
(y/c)をy1として求める演算手段である。剰余算
手段105は、分離手段100から出力されたスケール
ファクタyをcで割った剰余(y%c)をy2として求
める演算手段である。
【0042】第2の記憶手段103は、剰余算手段10
5で演算された値y2に対して、y2のとり得る範囲の
整数をpとすると、0以上3以下の整数値pに対し、2
∧(p/c)の値をG(p)として保持し、固定小数点
フォーマットで格納した記憶手段である。
【0043】図3は、復号装置10の第2の記憶手段1
03の内容を示す。図3に示す第2の記憶手段103の
保持する内容は、c=4とした場合のG(p)の値であ
る。図3における各値G(p)の固定小数点のフォーマ
ットは、図12に示すものと同様である。
【0044】乗算手段106は、第1の記憶手段102
から読み出された値F(x)と、第2の記憶手段103
から読み出されたG(y2)とを乗算する演算手段であ
る。
【0045】シフト手段107は、判定手段101の判
定結果が真の場合は、乗算手段106の出力値を(y1
−(M′−M))ビット分シフトして出力し、偽の場合
は、乗算手段106の出力値をy1ビット数分シフトし
て出力するシフト手段である。
【0046】以上のように構成された復号装置10の動
作について、a=4、b=3、c=4、M=7、N=
5、Q=13、D=30として説明する。まず図1の分
離手段100は、入力のビットストリームから、量子化
信号x及びスケールファクタyを分離する。次に判定手
段101は、量子化信号xが2∧5以下か否かを判定す
る。一方、割算手段104は、スケールファクタyを4
で割った商y1を求める。また、剰余算手段105は、
スケールファクタyを4で割った剰余y2を求める。乗
算手段106は、第1の記憶手段102のアドレスxに
対応する値F(x)と、第2の記憶手段103のアドレ
スy2に対応する値G(y2)とを乗算する。
【0047】ここまでの処理によって、(1)式を
(2)式に変形したとき、(x∧(4/3)*2∧
((y%4)/4))に対応する値が乗算手段106か
ら出力されたことになる。次に、シフト手段107は、
判定手段101の判定結果が真である場合には、乗算手
段106の出力値をy1−(18−7)ビット分シフト
して出力し、偽である場合には、乗算手段106の出力
値をy1ビット分シフトして出力する。この処理は、以
下のようなことを意味する。すなわち、まずy1ビット
シフトすることは、(2)式を先頭から第1項、第2
項、第3項の積からなる演算式と考えると、第3項であ
る2∧int(y/4)の演算処理に対応している。こ
のy1は割算手段104から出力された商であるので、
この商y1を割り算結果に対して2の巾乗を用いて乗算
することにより、元の大きさに戻す。
【0048】次に判定手段101の判定結果が真である
場合に、−(18−7)ビット分のシフト処理は以下の
ような理由によって行われる。すなわち、xが2∧5よ
り大きい場合は、x∧(4/3)の値は2∧18によっ
て正規化されている。また、xが2∧5以下の場合は、
xが2∧5より大きい場合に比べてx∧(4/3)の値
を(18−7)ビット分だけシフトアップした形で格納
されていることになる。よって、最終の演算結果の値の
大きさを合わせるために、11ビット分余計にシフトダ
ウンする。
【0049】以上のように、本実施形態によれば、xの
値がその変域の最大値に比較して十分小さい場合でも、
計算結果の出力の最終段階まで、x(4/3)の値をよ
り多くの有効桁数で保持できるので、精度良くx(4/
3)*2∧(y/4)の演算を実行できることとなる。
本実施形態においては、N=5、M=7としたが、他の
値でもよい。例えば、N=9などとしても良く、その場
合は、M=9*4/3=12となる。
【0050】(実施形態2)次に、本発明の実施形態2
の復号装置について、図面を参照しながら説明する。本
実施形態の復号装置も、MPEG2オーディオ符号化方
式のビットストリームを入力し、ビットストリームに含
まれている量子化信号xとスケールファクタyと抽出
し、(1)式を一般化した次の(3)式の値を演算する
ものとする。
【0051】 x∧(a/b)*2∧(y/c)・・・(3) ここで符号化信号xの範囲を例えば0〜4096とし、
スケールファクタyの範囲を−100〜156とする。
本実施形態においては(3)式で表現される演算式を、
次の(4)式に変換する。
【0052】 x*x∧((a−b)/b)*2∧((y%c)/c)*2∧int(y/c )・・・(4) 以下、この(4)式と、よりメモリ容量の少ない記憶手
段とを用いて入力ビットストリームを復号する場合につ
いて述べる。
【0053】図4は、本発明の実施形態2の復号装置2
0の構成を示すブロック図である。復号装置20は、分
離手段200と、判定手段201と、第1のシフト手段
202と、第1の記憶手段203と、第2の記憶手段2
04と、第1の割算手段205と、剰余算手段206
と、第2の割算手段207と、乗算手段208と、第2
のシフト手段209とを備えている。
【0054】図4において、分離手段200は、入力の
ビットストリームから量子化信号xとスケールファクタ
yとを分離する手段である。判定手段201は、Nを第
1の記憶手段203のアドレス数に対応した閾値とする
とき、量子化信号xが2∧N以下か否かを判定し、2∧
N以下であれば真とし、2∧Nを超えれば偽として判定
結果を出力する。さらに、判定手段201は、xが2∧
Nより大きい場合に、iを負でない整数としてxの変域
を2∧N〜2∧(N+b*i)で表現したとき、変域x
の値の大きさを特定するパラメータiの値を出力する。
iの値は、xの値が2∧(N+3(i−1)<x≦2∧
(N+3i)を満たすように決定する。判定手段201
の判定結果及びパラメータiの値は、第2の割算手段2
07、第1のシフト手段202、第2のシフト手段20
9に与えられる。
【0055】後述する乗算手段208の機能が(D+
2)ビット幅の入力値を固定小数点方式で演算するもの
とし、最上位ビットが正負を表し、上位2ビット目と小
数点以下Dビットが入力値の有効桁数を表すものとする
と、第1のシフト手段202は、判定手段201の判定
結果が真の場合は、xをD−Nビット数分シフトし、判
定手段201の判定結果が偽の場合は、出力されたiを
用いてxをD−(N+b*i)ビット数分シフトするこ
とによって、整数xを固定小数点フォーマットの値x1
に変換するシフト手段である。
【0056】第1の割算手段205は、分離手段200
から出力されたyをcで割り、その商y1を出力する演
算手段である。剰余算手段206は、分離手段200か
ら出力されたyをcで割り、その剰余y2を出力する演
算手段である。第2の割算手段207は、分離手段20
0で分離されたxを入力し、判定手段201の判定結果
が真の場合はxをそのままx2として出力し、判定手段
201の判定結果が偽の場合は、分離手段200から出
力されたxに対してx/(2∧(b*i))を整数化し
た値をx3として出力する演算手段である。
【0057】第1の記憶手段203は、N*(a−b)
に対するbの割り算値を整数化した値をMとし、0以上
2∧N以下の整数値qに対するq∧((a−b)/b)
の値を、(D−M)ビット数分シフトすることによって
固定小数点フォーマットにした値をH(q)とすると
き、qのとり得る全ての値に対するH(q)の値を格納
した記憶手段である。
【0058】第2の記憶手段204は、剰余算手段20
6の出力値y2(=p)に対して、2∧(p/c)の値
をG(p)として固定小数点フォーマットで予め格納し
ている記憶手段である。第2の記憶手段204の内容は
図3に示すものと同一であり、0〜3の整数値pに対し
て2∧(p/c)の値が格納されている。
【0059】乗算手段208は、第1の記憶手段203
のアドレスx2又はx3に対応する値と、第2の記憶手
段204のアドレスy2に対応する値と、第1のシフト
手段202の出力値x1とを乗算する演算手段である。
N*(a−b)に対するbの割り算値を整数化した値を
Mとするとき、第2のシフト手段209は、判定手段2
01の判定結果が真の場合は、乗算手段208の出力値
を(y1+N+M)ビット数分シフトし、判定手段20
1の判定結果が偽の場合は、乗算手段208の出力値を
(y1+N+M+a*i)ビット数分シフトするシフト
手段である。
【0060】図5は、復号装置20の第1の記憶手段2
03の内容を示す。図5に示すテーブルの内容は、0か
ら2∧Nまでの整数値qに対し、q∧((a−b)/
b)を2∧Mで正規化し、その値を固定小数点フォーマ
ットの値H(q)で格納したものである。ここでは、a
=4、b=3、N=9、M=3、D=30とした場合の
H(q)を示している。なお、M=3とは、9*(4−
3)/3から演算された値である。このテーブルのフォ
ーマットは、前述したように最上位ビットが符号ビット
であり、最上位ビットから2ビット目と3ビット目との
間に小数点がある。つまり、H(q)のとり得る範囲
は、最大でも2より小さく、最小で−2である。
【0061】図6は、整数値を固定小数点フォーマット
に変換する方法を示す説明図である。本実施形態におい
てはN=9とし、M=3、D=30としたが、もちろ
ん、この値は他の値でも良い。例えば、N=10とし、
Mを10*(4−3)/3の値の小数点以下を切り上げ
た値4としてもよい。
【0062】以上のように構成された復号装置20の動
作について、a=4、b=3、c=4、M=3、N=
9、D=30とし、図3〜6を参照して説明する。ま
ず、図4の分離手段200は、入力ビットストリームか
ら量子化信号x及びスケールファクタyを分離する。次
に、判定手段201は量子化信号xが2∧9(=51
2)以下か否かを判定する。そして2∧9以下であれば
真とし、2∧9を超えれば偽として判定結果を出力す
る。また、判定手段201は量子化信号xの変域に応じ
てiの値を出力する。
【0063】次に、第1のシフト手段202は、判定手
段201の判定結果が真の場合には、xを(30−9)
ビット数分シフトすることによって、整数xを固定小数
点フォーマットの値x1に変換する。第1のシフト手段
202は、判定手段201の判定結果が偽の場合には、
第1のシフト手段202はxを30−(9+3)ビット
数分シフトすることによって、整数xを固定小数点フォ
ーマットの値x1に変換する。
【0064】この動作をさらに具体的に説明する。本実
施形態における固定小数点のフォーマットは、図12に
示したように最上位ビットが符号ビットであり、最上位
ビットから2ビット目と3ビット目との間に小数点があ
るものとしている。よって、xが9ビット以下の数値で
ある場合、つまり2∧9以下の値である場合は、図6に
示すようにxを(30−9)=21ビットシフトアップ
することによって、固定小数点フォーマットとして見た
場合に1.0以下の値に正規化できる。
【0065】同様に、入力の整数xが9ビット以上、
(9+3)=12ビット以下の値である場合は、xを3
0−(9+3)=18ビットシフトアップすることによ
って、固定小数点フォーマットとして見た場合に1.0
以下の値に正規化できる。第1のシフト手段202は、
このような考え方に基づいて、判定手段201の判定結
果が真の場合、すなわちxが512以下の場合は、xを
(30−9)=21ビットシフトすることによって、整
数xを固定小数点フォーマットの値x1に変換する。そ
して、判定手段201の判定結果が偽の場合、すなわち
xが512より大きく、かつ2∧12以下の場合は、第
1のシフト手段202はxを30−(9+3)=18ビ
ットシフトすることによって、整数xを固定小数点フォ
ーマットの値x1に変換する。
【0066】第2の割算手段207は、判定手段201
の判定結果が真の場合は、xをそのままx2として出力
し、判定手段201の判定結果が偽で、xが2∧9より
大きく、2∧12以下の場合は、x/8を整数化した値
をx3として出力する。x3が第1の記憶手段203に
対するアドレスとして用いられる理由は、第1の記憶手
段203は、0から2∧9、すなわち512までの整数
値qに対してq∧(1/3)に応じた値のみを保持して
いるからである。そのため、判定手段201の判定結果
が真の場合、すなわちxが512以下の場合は、xをそ
のままx2として出力して良いが、判定手段201の判
定結果が偽の場合、すなわちxが2∧9より大きく、2
∧12以下の場合は、x/8を整数化することによっ
て、512以下の値x3を生成して出力するようにして
いる。
【0067】一方、第1の割算手段205は、yを4で
割った商y1を求める。また剰余算手段206は、yを
4で割った剰余y2を求める。次に、乗算手段208
は、第1の記憶手段203のアドレスx2に対応する値
H(x2)と、第2の記憶手段204のアドレスy2に
対応する値G(y2)と、第1のシフト手段202の出
力値x1とを乗算する。
【0068】ここまでの処理によって、目的とする
(3)式を(4)式に変形したとき、x*x∧(1/
3)*2∧((y%4)/4)に対応する値(桁数、す
なわちゲインを調整する前の値)が乗算手段208から
得られる。なぜなら、第1のシフト手段202の出力x
1は、xを固定小数点化した値を表しており、第1の記
憶手段203には、x∧(1/3)に応じた値が予め固
定小数点フォーマットで格納されており、第2の記憶手
段204には、0〜3の整数値pに対する2∧(q/
4)に応じた値が予め固定小数点フォーマットで格納さ
れているからである。
【0069】最後に、第2のシフト手段209は、判定
手段201の判定結果が真の場合は、乗算手段208の
出力値を(y1+9+3)の値に応じたビット数分シフ
トし、判定手段201の判定結果が偽であり、i=1、
すなわちxが2∧9より大きく、2∧12以下の場合
は、乗算手段208の出力値を(y1+9+3+4*
1)ビット数分シフトする。この処理は、次のようなこ
とを意味する。まずy1ビットシフトすることは、
(4)式における第4項の演算、すなわち2∧int
(y/4)に対応した演算である。y1は第1の割算手
段205によってyの値を4で割った商を求めた値であ
る。
【0070】さらに、判定手段201の判定結果が真で
ある場合、(y1+9+3)ビットシフト処理を行う理
由は次の通りである。xが2∧9以下の場合は、本来整
数であったxは第1のシフト手段202において2∧9
で正規化され、1.0を超えない値に変換される。ま
た、第1の記憶手段203に格納されている各値も、本
来は2∧(9/3)以下の値であったが、2∧3で正規
化され、1.0を超えない値に変換されている。言い換
えると、乗算手段208の出力値に2∧(y1+9+
3)を乗じること、すなわち乗算手段208の出力値を
(y1+9+3)ビットシフトアップすることによっ
て、本来の整数表現で見た場合の値に変換する。
【0071】一方、xが2∧9より大きく、2∧12以
下の場合は、本来整数であったxは第1のシフト手段2
02において、2∧(9+3)で正規化され、1.0を
超えない値に変換されている。また、先にも述べたよう
に、第1の記憶手段203に格納されている各値も、本
来は2∧(9/3)以下の値であったが、2∧3で正規
化され、1.0を超えない値に変換されている。さら
に、第2の割算手段207において、入力xを8で割っ
た値が求められ、その値をアドレスとして、1/3乗の
テーブルである第1の記憶手段203が参照されるの
で、第1の記憶手段203から出力される値は、x∧
(1/3)の半分の値になる。なぜなら、次の(5)式
が成立するからである。 (x/8)∧(1/3)=x∧(1/3)*(1/8)∧(1/3) =x∧(1/3)*(1/2)・・・(5) 乗算手段208の出力値に2∧(9+3+3+1)を乗
じることは、乗算手段208の出力値を(9+3+3+
1)=16ビットシフトアップすることであり、このシ
フト処理により、本来の整数表現の値に変換される。
【0072】このような理由によって、第2のシフト手
段209は、判定手段201の判定結果が真の場合は、
乗算手段208の出力値を(y1+N+M)ビット数分
シフトする。そして判定手段201の判定結果が偽であ
り、i=1の場合は、第2のシフト手段209は乗算手
段208の出力値を(y1+N+M+a*1)ビット数
分シフトする。もちろん、このような数値表現における
値の大小関係は相対的であるので、第2のシフト手段2
09の果たすべき動作は、判定手段201の判定結果が
偽の場合は、真の場合よりa*i=4*1=4ビット分
大きな値として乗算手段208の出力を調整することに
他ならない。
【0073】以上のように、本実施形態によれば、xの
値が大きい場合でも、単純なビットシフト処理のみで、
図6のような小容量のテーブルを利用して演算を実行で
きる。そのため、いかなる値の量子化信号xに対して
も、高速にx∧(4/3)*2∧(y/4)の演算を行
うことができる。
【0074】本実施形態においては、量子化信号xは0
以上4095以下の値としたが、MPEG2−AAC方
式においては、量子化信号xは0以上8191以下の値
である。そこで、量子化信号xが4096以上の場合の
演算処理方法について、i=2として以下に述べる。こ
の場合、4096は2∧(9+3)であることに注意す
る必要がある。
【0075】入力値xが2∧(9+3)以上の場合は、
まず第1のシフト手段202で、xをD−(N+b*
i)=30−(9+3*2)ビット数分シフトすること
によって、固定小数点フォーマットの値x1に変換す
る。さらに、第2の割算手段207においては、xに対
してx/(2∧(3*2))を整数化した値x2を求め
る。その後、乗算手段208で、第1の記憶手段203
のアドレスx2に対応する値と、第2の記憶手段204
のアドレスy2に対応する値と、x1とを乗ずる。最後
に、第2のシフト手段209で、(y1+N+M+a*
i)=(y1+9+3+4*2)ビット数分、乗算手段
208の出力値をシフトする。
【0076】xが2∧(N+3)以上の場合、第2のシ
フト手段209で(y1+N+M+8)ビット数分、乗
算手段208の出力値をシフトすることの意味は次の通
りである。まずy1ビットシフトする意味は、(4)式
の第4項である2∧int(y/4)の演算に対応して
いる。y1は第1の割算手段205の出力であり、その
値はyの値を4で割った商であるからである。
【0077】また、xが2∧(N+3)より大きい場合
は、本来整数であったxは第1のシフト手段202にお
いて2∧(N+6)で正規化され、1.0を超えない値
に変換されている。また、前述したように第1の記憶手
段203に格納されている各値も、本来は2∧(N/
3)以下の値であったが、2∧Mで正規化され、1.0
を超えない値に変換されている。さらに第2の割算手段
207において、xを64で割った値が求められ、その
商をアドレスとして、第1の記憶手段203が参照され
るので、第1の記憶手段203から出力される値は、x
∧(1/3)の4分の1の値ということになる。なぜな
ら、次の(6)式が成立するからである。 (x/64)∧(1/3)=x∧(1/3)*(1/64)∧(1/3) =x∧(1/3)*(1/4)・・・(6) 乗算手段208の出力値に2∧(N+M+6+2)を乗
じることは、乗算手段208の出力値を(N+M+6+
2)ビットシフトアップすることであり、このシフト処
理により、本来の整数表現で見た場合の値に変換され
る。
【0078】このような理由によって、第2のシフト手
段209は、xが2∧(N+3)より大きい場合、乗算
手段208の出力値を(y1+N+M+8)ビット数分
シフトする。もちろんこのような数値表現における値の
大小関係は相対的であるので、第2のシフト手段209
の果たすべき動作は、xが2∧(N+3)より大きい場
合は、xが2∧Nより小さい場合より、8ビット分大き
な値として乗算手段208の出力を調整することに他な
らない。
【0079】(実施形態3)次に本発明の実施形態3の
復号装置について、図面を参照しながら説明する。本実
施形態の復号装置も、MPEG2オーディオ符号化方式
のビットストリームを入力し、ビットストリームに含ま
れている量子化信号xとスケールファクタyと抽出し、
(1)式を一般化した次の(3)式の値を演算するもの
とする。
【0080】 x∧(a/b)*2∧(y/c)・・・(3) ここで符号化信号xの範囲を例えば0〜8191とし、
スケールファクタyの範囲を−100〜156とする。
本実施形態においては(3)式で表現される演算式を、
次の(4)式に変換する。
【0081】 x*x∧((a−b)/b)*2∧((y%c)/c)*2∧int(y/c )・・・(4) 以下、この(4)式と、よりメモリ容量の少ない記憶手
段とを用いて入力ビットストリームを復号する場合につ
いて述べる。
【0082】図7は、本発明の実施形態3の復号装置3
0の構成を示すブロック図である。復号装置30は、分
離手段300と、判定手段301と、第1のシフト手段
302と、第1の記憶手段303と、調整係数生成手段
304と、第1の割算手段305と、剰余算手段306
と、第2の割算手段307と、乗算手段308と、第2
のシフト手段309とを備えている。
【0083】図7において、分離手段300は、入力の
ビットストリームから量子化信号xとスケールファクタ
yとを分離する手段である。判定手段301は、Nを第
1の記憶手段303のアドレス数に対応した閾値とする
とき、量子化信号xが2∧N以下か否かを判定し、2∧
N以下であれば真とし、2∧Nを超えれば偽として判定
結果を出力する。さらに、判定手段301は、xが2∧
Nより大きい場合に、jを負でない整数としてxの変域
を2∧N〜2∧(N+j)で表現したとき、変域xの値
の大きさを特定するパラメータjの値を出力する。jの
値は、xの値が2∧Nより大きい場合は、xの値が2∧
(N+(j−1)<x≦2∧(N+j)を満たすように
決定され、xの値が2∧N以下の場合は、0に設定され
る。判定手段301の判定結果及びパラメータjの値
は、第2の割算手段307,第1のシフト手段302,
第2のシフト手段309、調整係数生成手段304に与
えられる。
【0084】後述する乗算手段308の機能が(D+
2)ビット幅の入力値を固定小数点方式で演算するもの
とし、最上位ビットが正負を表し、上位2ビット目と小
数点以下Dビットが入力値の有効桁数を表すものとする
と、第1のシフト手段302は、判定手段301の判定
結果が真の場合は、xをD−Nビット数分シフトし、判
定手段301の判定結果が偽の場合は、出力されたjを
用いてxをD−(N+j)ビット数分シフトすることに
よって、整数xを固定小数点フォーマットの値x1に変
換するシフト手段である。
【0085】第1の割算手段305は、分離手段300
から出力されたyをcで割り、その商y1を出力する演
算手段である。剰余算手段306は、分離手段300か
ら出力されたyをcで割り、その剰余y2を出力する演
算手段である。第2の割算手段307は、分離手段30
0で分離されたxを入力し、判定手段301の判定結果
が真の場合はxをそのままx2として出力し、判定手段
301の判定結果が偽の場合は、分離手段300から出
力されたxに対してx/(2∧j)を整数化した値をx
3として出力する演算手段である。
【0086】第1の記憶手段303は、N*(a−b)
に対するbの割り算値を整数化した値をMとし、0以上
2∧N以下の整数値qに対するq∧((a−b)/b)
の値を、(D−M)ビット数分シフトすることによって
固定小数点フォーマットにした値をH(q)とすると
き、qのとり得る全ての値に対するH(q)の値を格納
した記憶手段である。
【0087】調整係数生成手段304は、剰余算手段3
06の出力値y2(=p)及び、上記jに対して、2∧
(p/c)*2∧(j/b)の値をI(p,j)として
固定小数点フォーマットで生成する手段である。調整係
数生成手段304は、予めI(p,j)の値が格納され
ている記憶手段を備えている。
【0088】図8は、復号装置30の調整係数生成手段
304の内容を示す。図8に示す調整係数生成手段30
4の内容は、b=3、c=4の場合のI(p,j)の値
である。ここでは、以下のことに注意しなくてはならな
い。すなわち、2∧(p/4)*2∧(j/3)の値の
最大値は、本実施形態においては、j=13−Nであ
り、N=9とするなら、2∧(3/4)*2∧(4/
3)となり、この値は、2.0以上になってしまう。本
実施形態においても、図12に示すような固定小数点フ
ォーマットを用いるので、上記I(p,j)の値を格納
するテーブルは、2∧(p/4)*2∧(j/3)の値
を2ビットシフトダウンした値を格納しておくものとす
る。もちろん、この2ビットシフトダウン分の調整は、
出力信号に対して考慮されなくてはならない。この点に
ついては、後述する。
【0089】乗算手段308は、第1の記憶手段303
のアドレスx2又はx3に対応する値と、調整係数生成
手段304のアドレスy2,jに対応する値と、第1の
シフト手段302の出力値x1とを乗算する演算手段で
ある。N*(a−b)に対するbの割り算値を整数化し
た値をMとするとき、第2のシフト手段309は、判定
手段301の判定結果が真の場合は、乗算手段308の
出力値を(y1+N+M)ビット数分シフトし、判定手
段301の判定結果が偽の場合は、乗算手段308の出
力値を(y1+N+M+j)ビット数分シフトするシフ
ト手段である。さらに、この処理において、先に述べ
た、図8の構成に起因する2ビット分の調整を行う。す
なわち、上記シフト後の値を、さらに2ビットシフトア
ップする。
【0090】第1の記憶手段303は、実施形態2の復
号装置20の第1の記憶手段203と同様に、図5に示
す内容のテーブルを有する。図5に示すテーブルは、0
から2∧Nまでの整数値qに対し、q∧((a−b)/
b)を2∧Mで正規化し、その値を固定小数点フォーマ
ットの値H(q)で格納したものである。ここでは、a
=4、b=3、N=9、M=3、D=30とした場合の
H(q)を示している。なお、M=3とは、9*(4−
3)/3から演算された値である。このテーブルのフォ
ーマットは、前述したように最上位ビットが符号ビット
であり、最上位ビットから2ビット目と3ビット目との
間に小数点がある。つまり、H(q)のとり得る範囲
は、最大でも2より小さく、最小で−2である。
【0091】上述したように、整数値を固定小数点フォ
ーマットに変換する方法は、図6に示されている。本実
施形態においてはN=9とし、M=3、D=30とした
が、もちろん、この値は他の値でも良く、例えばN=1
0とし、Mを10*(4−3)/3の値の小数点以下を
切り上げた値4としてもよい。
【0092】以上のように構成された復号装置30の動
作について、a=4、b=3、c=4、M=3、N=
9、D=30とし、図5〜8を参照して説明する。ま
ず、図7の分離手段300は、入力ビットストリームか
ら量子化信号x及びスケールファクタyを分離する。次
に、判定手段301は量子化信号xが2∧9(=51
2)以下か否かを判定する。そして2∧9以下であれば
真とし、2∧9を超えれば偽として判定結果を出力す
る。また、判定手段301は量子化信号xの変域に応じ
てjの値を出力する。
【0093】次に、第1のシフト手段302は、判定手
段301の判定結果が真の場合には、xを(30−9)
ビット数分シフトすることによって、整数xを固定小数
点フォーマットの値x1に変換する。第1のシフト手段
302は、判定手段301の判定結果が偽の場合には、
xを30−(9+j)ビット数分シフトすることによっ
て、整数xを固定小数点フォーマットの値x1に変換す
る。
【0094】この動作をさらに具体的に説明する。本実
施形態における固定小数点のフォーマットは、図12に
示したように最上位ビットが符号ビットであり、最上位
ビットから2ビット目と3ビット目との間に小数点があ
るものとしている。よって、xが9ビット以下の数値で
ある場合、つまり2∧9以下の値である場合は、図6に
示すようにxを(30−9)=21ビットシフトアップ
することによって、固定小数点フォーマットとして見た
場合に1.0以下の値に正規化できる。
【0095】同様に、入力の整数xが9ビット以上、例
えば11ビットの場合は、xを30−11=19ビット
シフトアップすることによって、固定小数点フォーマッ
トとして見た場合に1.0以下の値に正規化できる。第
1のシフト手段302は、このような考え方に基づい
て、判定手段301の判定結果が真の場合、すなわちx
が512以下の場合は、xを(30−9)=21ビット
シフトすることによって、整数xを固定小数点フォーマ
ットの値x1に変換する。そして、判定手段301の判
定結果が偽の場合、そのビット数に応じた数だけビット
シフトすることによって、整数xを固定小数点フォーマ
ットの値x1に変換する。
【0096】第2の割算手段307は、判定手段301
の判定結果が真の場合は、xをそのままx2として出力
し、判定手段301の判定結果が偽で、xが2∧9より
大きい場合は、x/(2∧j)を整数化した値をx3と
して出力する。x3が第1の記憶手段303に対するア
ドレスとして用いられる理由は、第1の記憶手段303
は、0から2∧9、すなわち512までの整数値qに対
してq∧(1/3)に応じた値のみを保持しているから
である。そのため、判定手段301の判定結果が真の場
合、すなわちxが512以下の場合は、xをそのままx
2として出力して良いが、判定手段301の判定結果が
偽の場合、x/(2∧j)を整数化することによって、
512以下の値x3を生成して出力するようにしてい
る。
【0097】一方、第1の割算手段305は、yを4で
割った商y1を求める。また剰余算手段306は、yを
4で割った剰余y2を求める。次に、乗算手段308
は、第1の記憶手段303のアドレスx2に対応する値
H(x2)と、調整係数生成手段304のアドレスy
2,jに対応する値I(y2,j)と、第1のシフト手
段302の出力値x1とを乗算する。
【0098】ここまでの処理によって、目的とする
(3)式を(4)式に変形したとき、x*x∧(1/
3)*2∧((y%4)/4)に対応する値(桁数、す
なわちゲインを調整する前の値)が乗算手段308から
得られる。なぜなら、第1のシフト手段302の出力x
1は、xを固定小数点化した値を表しており、第1の記
憶手段303には、x∧(1/3)に応じた値が予め固
定小数点フォーマットで格納されており、調整係数生成
手段304には、0〜3の整数値p及び、上記jに対す
る2∧(q/4)*2∧(j/3)に応じた値が予め固
定小数点フォーマットで格納されているからである。こ
こで、2∧(j/3)を乗じるのは、以下のような理由
による。すなわち、第2の割算手段307において、入
力xの値が、2∧Nより大きい場合は、入力xを2∧j
で割った値が求められ、その値をアドレスとして、1/
3乗のテーブルである第1の記憶手段303が参照され
るので、第1の記憶手段303から出力される値は、x
∧(1/3)を2∧(j/3)で割った値になる。なぜ
なら、次の(6)式が成立するからである。 (x/(2∧j))∧(1/3) =x∧(1/3)*(1/(2∧j))∧(1/3) =x∧(1/3)/2∧(j/3)・・・(6) そのため、x∧(1/3)の値を求めるには、第1の記
憶手段303の出力値に2∧(j/3)を乗じる必要が
あり、その値を予め、調整係数生成手段304に用意し
ている。
【0099】最後に、第2のシフト手段309は、判定
手段301の判定結果が真の場合は、乗算手段308の
出力値を(y1+9+3)の値に応じたビット数分シフ
トし、判定手段301の判定結果が偽であり、例えばj
=2、すなわちxが2∧10より大きく、2∧11以下
の場合は、乗算手段308の出力値を(y1+9+3+
2)ビット数分シフトする。この処理は、次のようなこ
とを意味する。まずy1ビットシフトすることは、
(4)式における第4項の演算、すなわち2∧int
(y/4)に対応した演算である。y1は第1の割算手
段305によってyの値を4で割った商を求めた値であ
る。
【0100】さらに、判定手段301の判定結果が真で
ある場合、(y1+9+3)ビットシフト処理を行う理
由は次の通りである。xが2∧9以下の場合は、本来整
数であったxは第1のシフト手段302において2∧9
で正規化され、1.0を超えない値に変換される。ま
た、第1の記憶手段303に格納されている各値も、本
来は2∧(9/3)以下の値であったが、2∧3で正規
化され、1.0を超えない値に変換されている。言い換
えると、乗算手段308の出力値に2∧(y1+9+
3)を乗じること、すなわち乗算手段308の出力値を
(y1+9+3)ビットシフトアップすることによっ
て、本来の整数表現で見た場合の値に変換する。
【0101】一方、xが2∧9より大きく、2∧10以
上、2∧11以下の場合は、本来整数であったxは第1
のシフト手段302において、2∧(9+2)で正規化
され、1.0を超えない値に変換されている。また、先
にも述べたように、第1の記憶手段303に格納されて
いる各値も、本来は2∧(9/3)以下の値であった
が、2∧3で正規化され、1.0を超えない値に変換さ
れている。
【0102】乗算手段308の出力値に2∧(9+3+
2)を乗じることは、乗算手段308の出力値を(9+
3+2)=14ビットシフトアップすることであり、こ
のシフト処理により、本来の整数表現の値に変換され
る。
【0103】このような理由によって、第2のシフト手
段309は、判定手段301の判定結果が真の場合は、
乗算手段308の出力値を(y1+N+M)ビット数分
シフトする。そして判定手段301の判定結果が偽であ
る場合は、第2のシフト手段309は乗算手段308の
出力値を(y1+N+M+j)ビット数分シフトする。
ここで注意すべきことは、上述したように、本実施形態
においては、図8の構成に起因する2ビット分の調整を
ここで行うということである。すなわち、上記シフト後
の値を、さらに2ビットシフトアップする。
【0104】もちろん、このような数値表現における値
の大小関係は相対的であるので、第2のシフト手段30
9の果たすべき動作は、判定手段301の判定結果が偽
の場合は、真の場合よりjビット分大きな値として乗算
手段308の出力を調整することに他ならない。
【0105】以上のように、本実施形態によれば、xの
値が大きい場合でも、単純なビットシフト処理のみで、
図5のような小容量のテーブルを利用して演算を実行で
きる。そのため、いかなる値の量子化信号xに対して
も、高速にx∧(4/3)*2∧(y/4)の演算を行
うことができる。さらに、本実施形態3においては、先
に述べた実施形態2に比べて、調整係数生成手段304
が保持するべきテーブルのアドレスが大きくなるが、精
度のよい演算結果が得られることとなる。
【0106】(実施形態4)次に、本発明の実施形態4
の復号装置について、図面を参照しながら説明する。本
実施形態の復号装置も、MPEG2オーディオ符号化方
式のビットストリームを入力し、ビットストリームに含
まれている量子化信号xとスケールファクタyと抽出
し、(1)式を一般化した次の(3)式の値を演算する
ものとする。
【0107】 x∧(a/b)*2∧(y/c)・・・(3) ここで符号化信号xの範囲を例えば0〜8191とし、
スケールファクタyの範囲を−100〜156とする。
本実施形態においては(3)式で表現される演算式を、
次の(4)式に変換する。
【0108】 x*x∧((a−b)/b)*2∧((y%c)/c)*2∧int(y/c )・・・(4) 以下、この(4)式と、よりメモリ容量の少ない記憶手
段とを用いて入力ビットストリームを復号する場合につ
いて述べる。
【0109】図9は、本発明の実施形態4の復号装置4
0の構成を示すブロック図である。復号装置40は、分
離手段400と、判定手段401と、第1のシフト手段
402と、第1の記憶手段403と、調整係数生成手段
404と、第1の割算手段405と、剰余算手段406
と、第2の割算手段407と、乗算手段408と、第2
のシフト手段409とを備えている。
【0110】図9において、分離手段400は、入力の
ビットストリームから量子化信号xとスケールファクタ
yとを分離する手段である。判定手段401は、量子化
信号xの値を2進数で表現した時の桁数kを判定し、k
の値を出力する手段である。判定手段401が出力する
kの値は、第2の割算手段407、第1のシフト手段4
02,第2のシフト手段409、調整係数生成手段40
4に与えられる。
【0111】後述する乗算手段408の機能が(D+
2)ビット幅の入力値を固定小数点方式で演算するもの
とし、最上位ビットが正負を表し、上位2ビット目と小
数点以下Dビットが入力値の有効桁数を表すものとする
と、第1のシフト手段402は、xをD−kビット数分
シフトすることによって、整数xを固定小数点フォーマ
ットの値x1に変換するシフト手段である。
【0112】第1の割算手段405は、分離手段400
から出力されたyを4で割り、その商y1を出力する演
算手段である。剰余算手段406は、分離手段400か
ら出力されたyを4で割り、その剰余y2を出力する演
算手段である。第2の割算手段407は、予め設定され
た閾値をNとするとき、分離手段400から出力された
xに対して、x/(2∧(k−N))を整数化した値を
x′として出力する演算手段であり、具体的には、N−
kの値が、正の場合、上記xを(N−k)ビットシフト
アップし、N−kの値が、負の場合、上記xを(k−
N)ビットシフトダウンすることによって、x′を算出
する演算手段である。
【0113】第1の記憶手段403は、N*(a−b)
に対するbの割り算値を整数化した値をMとし、2∧
(N−1)以上2∧N未満の整数値qに対するq∧
((a−b)/b)の値を、(D−M)ビット数分シフ
トすることによって固定小数点フォーマットにした値を
H(q)とするとき、qの下位(N−1)ビットをアド
レスとし、H(q)の値を格納した記憶手段である。
【0114】調整係数生成手段404は、剰余算手段4
06の出力値y2(=p)及び、上記kに対して、2∧
(p/c)*2∧((k−N)/b)の値をI(p,
k)として固定小数点フォーマットで生成するものであ
り、予めその値が格納されている記憶手段を備えてい
る。
【0115】図10は、復号装置40の調整係数生成手
段404の内容を示す。図10に示す調整係数生成手段
404の内容は、b=3、c=4の場合のI(p,k)
の値である。ここでは、以下のことに注意しなくてはな
らない。すなわち、2∧(p/4)*2∧((k−N)
/3)の値の最大値は、本実施形態においては、k=1
3、N=9とするなら、2∧(3/4)*2∧(4/
3)となり、この値は、2.0以上になってしまう。本
実施形態においても、図12に示したような、固定小数
点フォーマットを用いるので、上記I(p,k)の値を
格納するテーブルは、2∧(p/4)*2∧((k−
N)/3)の値を2ビットシフトダウンした値を格納し
ておくこととする。もちろん、この2ビットシフトダウ
ン分の調整は、出力信号に対して考慮されなくてはなら
ない。この点については、後述する。
【0116】乗算手段408は、第1の記憶手段403
のアドレスx′に対応する値と、調整係数生成手段40
4のアドレスy2、kに対応する値と、第1のシフト手
段402の出力値x1とを乗算する演算手段である。N
*(a−b)に対するbの割り算値を整数化した値をM
とするとき、第2のシフト手段409は、判定手段40
1の判定結果kに応じて、乗算手段408の出力値を
(y1+M+k)ビット数分シフトするシフト手段であ
る。さらに、この処理において、先に述べた、図10の
構成に起因する2ビット分の調整を行う。すなわち、上
記シフト後の値を、さらに2ビットシフトアップする。
【0117】図11は、復号装置40の第1の記憶手段
403の内容を示す。図11に示すテーブルは、2∧
(N−1)以上、2∧N未満の整数値qに対し、q∧
((a−b)/b)を2∧Mで正規化し、その値を固定
小数点フォーマットの値H(q)とするとき、qの下位
(N−1)ビットをアドレスとし、H(q)の値を格納
したものである。ここでは、a=4、b=3、N=9、
M=3、D=30とした場合のH(q)を示している。
なお、M=3とは、9*(4−3)/3から演算された
値である。このテーブルのフォーマットは、前述したよ
うに最上位ビットが符号ビットであり、最上位ビットか
ら2ビット目と3ビット目との間に小数点がある。つま
り、H(q)のとり得る範囲は、最大でも2より小さ
く、最小で−2である。
【0118】ここで注意すべきことは、図11におい
て、アドレス0には、q=256(=2∧(N−1))
に対する、H(q)の値が格納されており、また、アド
レス255には、q=511(=2∧N−1)に対す
る、H(q)の値が格納されているということである。
このような形でテーブルを持つことは、以下のような理
由による。すなわち、前記第2の割算手段407におい
ては、入力値xを2進数で表した時の桁数kに対して、
N−kの値が、正の場合、上記xを(N−k)ビットシ
フトアップし、N−kの値が、負の場合、上記xを(k
−N)ビットシフトダウンすることによって、x′を算
出しているので、x′のNビット目は必ず1となる。そ
こで、図11のテーブルを参照する際、x′の下位(N
−1)ビットだけをアドレスとすることができる。これ
により、結果としてテーブルサイズを半分に削減するこ
とができる。
【0119】上述したように、整数値を固定小数点フォ
ーマットに変換する方法は、図6に示されている。本実
施形態においてはN=9とし、M=3、D=30とした
が、もちろん、この値は他の値でも良く、例えばN=1
0とし、Mを10*(4−3)/3の値の小数点以下を
切り上げた値4としてもよい。
【0120】以上のように構成された復号装置40の動
作について、a=4、b=3、c=4、M=3、N=
9、D=30とし、図6及び図9〜11を参照して説明
する。まず、図9の分離手段400は、入力ビットスト
リームから量子化信号x及びスケールファクタyを分離
する。次に、判定手段401は、入力値xを2進数で表
した時の桁数kを判定しその値を出力する。
【0121】次に、第1のシフト手段402は、xを
(30−k)ビット数分シフトすることによって、整数
xを固定小数点フォーマットの値x1に変換する。
【0122】この動作をさらに具体的に説明する。本実
施形態における固定小数点のフォーマットは、図12に
示したように最上位ビットが符号ビットであり、最上位
ビットから2ビット目と3ビット目との間に小数点があ
るものとしている。よって、図6に示すようにxを(3
0−k)ビットシフトアップすることによって、固定小
数点フォーマットとして見た場合に1.0以下の値に正
規化できる。
【0123】第2の割算手段407は、上記kに対し
て、N−kの値が、正の場合、上記xを(N−k)ビッ
トシフトアップし、N−kの値が、負の場合、上記xを
(k−N)ビットシフトダウンすることによって、x′
を求め、出力する。上述したように、x′の下位(N−
1)ビットが、第1の記憶手段403に対するアドレス
として用いられる理由は、x′のNビット目は必ず1と
なるからである。
【0124】一方、第1の割算手段405は、yを4で
割った商y1を求める。また剰余算手段406は、yを
4で割った剰余y2を求める。次に、乗算手段408
は、x′の下位(N−1)ビットをx2としたとき、第
1の記憶手段403の、アドレスx2に対応する値H
(x2)と、調整係数生成手段404のアドレスy2,
kに対応する値I(y2,k)と、第1のシフト手段4
02の出力値x1とを乗算する。
【0125】ここまでの処理によって、目的とする
(3)式を(4)式に変形したとき、x*x∧(1/
3)*2∧((y%4)/4)に対応する値(桁数、す
なわちゲインを調整する前の値)、が乗算手段408か
ら得られる。なぜなら、第1のシフト手段402の出力
x1は、xを固定小数点化した値を表しており、第1の
記憶手段403には、x∧(1/3)に応じた値が予め
固定小数点フォーマットで格納されており、調整係数生
成手段404には、0〜3の整数値p及び、上記kに対
する2∧(p/4)*2∧((k−N)/3)に応じた
値が予め固定小数点フォーマットで格納されているから
である。ここで、2∧((k−N)/3)を乗じるの
は、以下のような理由による。すなわち、第2の割算手
段407において、入力xはその桁数kによって、x′
=x/(2∧(k−N))のように変換されており、
x′の値に対する1/3乗の値が、第1の記憶手段40
3に格納されているので、第1の記憶手段403から出
力される値は、x∧(1/3)を2∧((k−N)/
3)で割った値になる。なぜなら、次の(7)式が成立
するからである。 (x/(2∧(k−N)))∧(1/3) =x∧(1/3)*(1/(2∧(k−N)))∧(1/3) =x∧(1/3)/2∧((k−N)/3)・・・(7) そのため、x∧(1/3)の値を得るためには、第1の
記憶手段403の出力値に2∧((k−N)/3)を乗
じる必要があり、その値を予め、調整係数生成手段40
4に用意している訳である。
【0126】最後に、第2のシフト手段409は、判定
手段401の判定結果kに応じて、乗算手段408の出
力値を(y1+M+k)の値に応じたビット数分シフト
する。この処理は、次のようなことを意味する。まずy
1ビットシフトすることは、(4)式における第4項の
演算、すなわち2∧int(y/4)に対応した演算で
ある。y1は第1の割算手段405によってyの値を4
で割った商を求めた値である。
【0127】さらに、(y1+M+k)ビットシフト処
理を行う理由は次の通りである。本来整数であったxは
第1のシフト手段402において2∧kで正規化され、
1.0を超えない値に変換される。また、第1の記憶手
段403に格納されている各値も、本来は2∧M以下の
値であったが(ここでM=9/3)、2∧Mで正規化さ
れ、1.0を超えない値に変換されている。言い換える
と、乗算手段408の出力値に2∧(y1+M+k)を
乗じること、すなわち乗算手段408の出力値を(y1
+M+k)ビットシフトアップすることによって、本来
の整数表現で見た場合の値に変換する。
【0128】ここで注意すべきことは、上述したよう
に、本実施形態においては、図10の構成に起因する2
ビット分の調整をここで行うということである。すなわ
ち、上記シフト後の値を、さらに2ビットシフトアップ
する。
【0129】もちろん、このような数値表現における値
の大小関係は相対的であり、Mは、予め定められた定数
であるので、第2のシフト手段409の果たすべき動作
は、判定手段401の判定結果kとy1に応じて乗算手
段408の出力の大きさを調整することに他ならない。
【0130】以上のように、本実施形態によれば、xの
値が大きい場合でも、単純なビットシフト処理のみで、
図11のような小容量のテーブルを利用して演算を実行
できる。そのため、いかなる値の量子化信号xに対して
も、高速にx∧(4/3)*2∧(y/4)の演算を行
うことができる。さらに、本実施形態4においては、先
に述べた実施形態3に比べて、調整係数生成手段404
が保持するべきテーブルのアドレスが大きくなるが、第
1の記憶手段が保持するべきテーブルのアドレスが小さ
くなるという効果が得られる。
【0131】
【発明の効果】本発明の復号装置によれば、量子化信号
xの値が、変域の最大値に比較して小さい場合であって
も、演算結果の出力の最終段階まで、x(a/b)の値
をより多くの有効桁数で保持することができる。これに
より、x(a/b)*2∧(y/c)の値を精度良く演
算することが可能となる。
【0132】また、本発明の復号装置によれば、量子化
信号xの値が小さい場合であっても、x∧(a/b)*
2∧(y/c)の演算を、固定小数点フォーマットの処
理手段(DSP)により精度良く実行することができ
る。さらに、量子化信号xの値が第1の記憶手段に保持
されている値より大きい場合であっても、小さな容量の
第1の記憶手段を用いて演算を実行することができる。
そのため、いかなる量子化信号xに対しても、高速にx
∧(a/b)*2∧(y/c)の演算を行うことが可能
となる。
【図面の簡単な説明】
【図1】本発明の実施形態1の復号装置10の構成を示
すブロック図である。
【図2】復号装置10の第1の記憶手段102の内容を
示す図である。
【図3】復号装置10の第2の記憶手段103及び復号
装置20の第2の記憶手段204の内容を示す図であ
る。
【図4】本発明の実施形態2の復号装置20の構成を示
すブロック図である。
【図5】復号装置20の第1の記憶手段203及び復号
装置30の第1の記憶手段303の内容を示す図であ
る。
【図6】整数値を固定小数点フォーマットに変換する方
法を示す図である。
【図7】本発明の実施形態3の復号装置30の構成を示
すブロック図である。
【図8】復号装置30の調整係数生成手段304の内容
を示す図である。
【図9】本発明の実施形態4の復号装置40の構成を示
すブロック図である。
【図10】復号装置40の調整係数生成手段404の内
容を示す図である。
【図11】復号装置40の第1の記憶手段403の内容
を示す図である。
【図12】固定小数点フォーマットの一例を示す図であ
る。
【図13】従来の復号装置において用いられる第1のテ
ーブルの内容を示す図である。
【図14】従来の復号装置において用いられる第2のテ
ーブルの内容を示す図である。
【符号の説明】
10、20、30、40 復号装置 100、200、300、400 分離手段 101、201、301、401 判定手段 102、203、303、403 第1の記憶手段 103、204 第2の記憶手段 104 割算手段 105、206、306、406 剰余算手段 106、208、308、408 乗算手段 107、 シフト手段 202、302、402 第1のシフト手段 205、305、405 第1の割算手段 207、307、407 第2の割算手段 209、309、409 第2のシフト手段 304、404 調整係数生成手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 片山 崇 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 阿部 一任 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 松本 正治 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 川村 明久 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 西尾 孝祐 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 特開 平9−292976(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 7/00 G10L 19/00 G10L 19/02 H03M 7/30

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】 変数である量子化符号x及びスケールフ
    ァクタyを含むビットストリームからx,yを抽出し、
    x∧(a/b)*2∧(y/c)の演算を行う復号装置
    であって(a,b,cは整数の定数)、 入力された前記ビットストリームからxとyとを分離す
    る分離手段と、 ((N*a)/b)を整数化した値をMとし、((Q*
    a)/b)を整数化した値をM′として(N、Qは所定
    の閾値)、0≦q<2∧Q−1を満たす整数qがxの変
    域内でとり得る全ての値について、qをアドレスとし
    て、0≦q<2∧Nの場合にq∧(a/b)/2∧M′
    をMに応じたビット数分シフトした値をF(q)とし、
    q>2∧Nの場合にF(q)=q∧(a/b)/2∧
    M′としたF(q)の値を固定小数点フォーマットで格
    納する、第1の記憶手段と、 0≦p<cを満たす整数pのとり得る全ての値につい
    て、G(p)=2∧(p/c)を固定小数点フォーマッ
    トで格納する第2の記憶手段と、 y1=int(y/c)を算出する除算手段と、 y2=y%cを算出する剰余算手段と、 xをアドレスとして前記第1の記憶手段から読み出した
    F(x)の値と、y2をアドレスとして前記第2の記憶
    手段から読み出したG(y2)の値とをそれぞれ乗じた
    値を出力する乗算手段と、 x≦2∧Nの場合には、前記乗算手段の出力する値をy
    1と(M′−M)に応じたビット数分シフトして出力
    し、x>2∧Nの場合には、前記乗算手段の出力する値
    をy1に応じたビット数分シフトして出力するシフト手
    段と、 を備えた、復号装置。
  2. 【請求項2】 前記Mに応じたビット数は(M′−M)
    であり、前記y1と(M′−M)に応じたビット数は
    (y1−(M′−M))であり、前記y1に応じたビッ
    ト数はy1である、請求項1に記載の復号装置。
  3. 【請求項3】 変数である量子化符号x及びスケールフ
    ァクタyを含むビットストリームからx,yを抽出し、
    x∧(a/b)*2∧(y/c)の演算を行う復号装置
    であって(a,b,cは整数の定数)、 入力された前記ビットストリームからxとyとを分離す
    る分離手段と、 x≦2∧Nの場合に(Nは所定の閾値)、xをNに応じ
    たビット数分シフトすることにより、固定小数点フォー
    マットの値x1に変換する第1のシフト手段と、 (N*(a−b)/b)を整数化した値をMとし、0≦
    q≦2∧Nを満たす整数qのとり得る全ての値につい
    て、qをアドレスとして、q∧((a−b)/b)の値
    をMに応じたビット数分シフトすることによって固定小
    数点フォーマットにした値H(q)を格納する第1の記
    憶手段と、 0≦p<cを満たす整数pのとり得る全ての値につい
    て、G(p)=2∧(p/c)を固定小数点フォーマッ
    トで格納する第2の記憶手段と、 y1=int(y/c)を算出する除算手段と、 y2=y%cを算出する剰余算手段と、 xをアドレスとして前記第1の記憶手段から読み出した
    H(x)の値と、y2をアドレスとして前記第2の記憶
    手段から読み出したG(y2)の値と、前記第1のシフ
    ト手段で変換されたx1の値とをそれぞれ乗じた値を出
    力する乗算手段と、 前記乗算手段の出力値を、前記除算手段で得られたy1
    に応じたビット数分シフトする第2のシフト手段と、 を備えた復号装置。
  4. 【請求項4】 前記Nに応じたビット数は(D−N)で
    あり(Dは固定小数点演算処理における小数桁の有効桁
    数)、前記y1に応じたビット数は(y1+(N+
    M))である、請求項3に記載の復号装置。
  5. 【請求項5】 x≦2∧Nの場合に判定結果を真として
    出力し、x>2∧Nの場合に判定結果を偽として出力す
    る判定手段と、 前記判定結果が真の場合にxの値を変化させず、前記判
    定結果が偽の場合にxを(2∧(b*i))で除算し
    て、xの値を出力する第2の除算手段と、 をさらに備え、 前記第1のシフト手段は、前記判定結果が偽の場合にx
    を(N+b*i)に応じたビット数分シフトし(iは負
    でない整数)、 前記第1の記憶手段は、qのとり得る全ての値のうちx
    の変域内の値についてH(q)の値を格納し、 前記第2のシフト手段は、前記判定結果が真の場合に前
    記乗算手段の出力する値をy1に応じたビット数分シフ
    トし、前記判定結果が偽の場合に前記乗算手段の出力す
    る値をy1とa*iに応じたビット数分シフトする、請
    求項3に記載の復号装置。
  6. 【請求項6】 前記Nに応じたビット数は(D−N)で
    あり、前記(N+b*i)に応じたビット数はD−(N
    +b*i)であり、前記Mに応じたビット数は(D−
    M)であり、前記y1に応じたビット数は(y1+N+
    M)であり、前記y1とa*iに応じたビット数は(y
    1+N+M+a*i)である、請求項5に記載の復号装
    置。
  7. 【請求項7】 x≦2∧Nの場合に判定結果を真として
    出力し、x>2∧Nの場合に判定結果を偽として出力す
    るとともに、xの値の大きさを特定するためのパラメー
    タiを出力する判定手段をさらに備え、 前記第1のシフト手段と、前記第2の除算手段と、前記
    第2のシフト手段とは、前記判定手段の判定結果に従っ
    て動作する、請求項5に記載の復号装置。
  8. 【請求項8】 前記第2のシフト手段は、前記判定手段
    の判定結果が真の場合に前記乗算手段が出力する値をy
    1に応じたビット数分シフトし、前記判定手段の判定結
    果が偽の場合に前記乗算手段が出力する値をy1+(a
    *i)に応じたビット数分シフトする、請求項7に記載
    の復号装置。
  9. 【請求項9】 iの値は、xの値が2∧(N+b(i−
    1))<x≦2∧(N+bi)を満たすように決定され
    る、請求項5乃至7のいずれかに記載の復号装置。
  10. 【請求項10】 Mの値は、(N*(a−b))/bの
    値の小数点以下を切り上げた値である、請求項3乃至9
    のいずれかに記載の復号装置。
  11. 【請求項11】 変数である量子化符号x及びスケール
    ファクタyを含むビットストリームからx,yを抽出
    し、x∧(a/b)*2∧(y/c)の演算を行う復号
    装置であって(a,b,cは整数の定数)、 入力された前記ビットストリームからxとyとを分離す
    る分離手段と、 x≦2∧Nの場合に判定結果を真として出力し(Nは所
    定の閾値)、x>2∧Nの場合に判定結果を偽として出
    力するとともに、xの値の大きさを特定するためのパラ
    メータj(jは負でない整数)を出力する判定手段と、 前記判定手段の判定結果が真の場合にxをNに応じたビ
    ット数分シフトし、前記判定手段の判定結果が偽の場合
    にxを(N+j)に応じたビット数分シフトすることに
    より、xを固定小数点フォーマットの値x1に変換する
    第1のシフト手段と、 y1=int(y/c)を算出する第1の除算手段と、 前記判定手段の判定結果が真の場合にx′=xとし、前
    記判定手段の判定結果が偽の場合に(x/(2∧j))
    を整数化した値をx′として、x′の値を出力する第2
    の除算手段と、 ((N*(a−b))/b)を整数化した値をMとし、
    0≦q≦2∧Nを満たす整数qがx′の変域内でとり得
    る全ての値について、qをアドレスとして、q∧((a
    −b)/b)の値をMに応じたビット数分シフトするこ
    とによって固定小数点フォーマットにした値H(q)を
    格納する第1の記憶手段と、 0≦p<cを満たす整数pのとり得る全ての値、及び、
    jのとり得る全ての値について、2∧(p/c)*2∧
    (j/b)に応じた固定小数点フォーマットの値I
    (p,j)を生成する、調整係数生成手段と、 y2=y%cを算出する剰余算手段と、 x′をアドレスとして前記第1の記憶手段から読み出し
    たH(x′)の値と、前記調整係数生成手段によって生
    成された、y2及びjに対応するI(y2,j)の値
    と、前記第1のシフト手段で得られたx1の値とをそれ
    ぞれ乗じた値を出力する乗算手段と、 x≦2∧Nの場合に前記乗算手段の出力する値をy1に
    応じたビット数分シフトし、x>2∧Nの場合に前記乗
    算手段の出力する値をy1とjとに応じたビット数分シ
    フトする第2のシフト手段と、 を備えた、復号装置。
  12. 【請求項12】 前記調整係数生成手段は、p及びjを
    アドレスとして、I(p,j)の値を格納する第2の記
    憶手段を有する、請求項11に記載の復号装置。
  13. 【請求項13】 x>2∧Nの場合にjの値が2∧(N
    +(j−1)<x≦2∧(N+j)を満たすように決定
    され、x≦2∧N以下の場合にj=0となる、請求項1
    1又は12に記載の復号装置。
  14. 【請求項14】 変数である量子化符号x及びスケール
    ファクタyを含むビットストリームからx,yを抽出
    し、x∧(a/b)*2∧(y/c)の演算を行う復号
    装置であって(a,b,cは整数の定数)、 入力された前記ビットストリームからxとyとを分離す
    る分離手段と、 xの値を2進数で表現した時の桁数kを判定する判定手
    段と、 所定の閾値Nについて、(N−k)の値が正の場合にx
    を(N−k)ビットシフトアップし、(N−k)の値が
    負の場合にxを(k−N)ビットシフトダウンすること
    により、x′の値を算出する、第2の除算手段と、 xをkに応じたビット数分シフトすることにより、固定
    小数点フォーマットの値x1に変換する第1のシフト手
    段と、 y1=int(y/c)を算出する第1の除算手段と、 (N*(a−b)/b)を整数化した値をMとし、2∧
    (N−1)≦q<2∧Nを満たす整数qの少なくとも下
    位(N−1)ビットをアドレスとして、q∧((a−
    b)/b)の値をMに応じたビット数分シフトすること
    によって固定小数点フォーマットにした値H(q)を格
    納する、第1の記憶手段と、 0≦p<cを満たす整数pのとり得る全ての値、及び、
    kのとり得る全ての値について、2∧(p/c)*2∧
    ((k−N)/b)に応じた固定小数点フォーマットの
    値I(p,k)を生成する、調整係数生成手段と、 y2=y%cを算出する剰余算手段と、 x′の少なくとも下位(N−1)ビットをアドレスとし
    て前記第1の記憶手段から読み出したH(x′)の値
    と、y2とkとに対応して前記調整係数生成手段から読
    み出したI(y2,k)の値と、前記第1のシフト手段
    により変換されたx1の値とをそれぞれ乗じた値を出力
    する乗算手段と、 前記乗算手段の出力値をy1とMとkとに応じたビット
    数分シフトする第2のシフト手段と、を備えた、復号装
    置。
  15. 【請求項15】 前記調整係数生成手段は、p及びkを
    アドレスとして、I(p,k)の値を格納する第2の記
    憶手段を有する、請求項14に記載の復号装置。
  16. 【請求項16】 a=4かつb=3かつc=4である、
    請求項3乃至15のいずれかに記載の復号装置。
JP11017702A 1998-02-04 1999-01-26 復号装置 Expired - Lifetime JP3059429B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP11017702A JP3059429B2 (ja) 1998-05-28 1999-01-26 復号装置
EP99101618A EP0935203A3 (en) 1998-02-04 1999-02-03 Exponential calculation device
US09/244,155 US6304890B1 (en) 1998-02-04 1999-02-03 Exponential calculation device and decoding device
CNB991018737A CN1322456C (zh) 1998-02-04 1999-02-04 指数计算装置和解码装置
US09/929,156 US6363407B1 (en) 1998-02-04 2001-08-14 Exponential calculation device and decoding device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP14734898 1998-05-28
JP10-147348 1998-05-28
JP11017702A JP3059429B2 (ja) 1998-05-28 1999-01-26 復号装置

Publications (2)

Publication Number Publication Date
JP2000047850A JP2000047850A (ja) 2000-02-18
JP3059429B2 true JP3059429B2 (ja) 2000-07-04

Family

ID=26354263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11017702A Expired - Lifetime JP3059429B2 (ja) 1998-02-04 1999-01-26 復号装置

Country Status (1)

Country Link
JP (1) JP3059429B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4545272B2 (ja) * 2000-03-31 2010-09-15 旭化成エレクトロニクス株式会社 デジタルアッテネータ、デジタル減衰処理方法
JP2010060989A (ja) 2008-09-05 2010-03-18 Sony Corp 演算装置および方法、量子化装置および方法、オーディオ符号化装置および方法、並びにプログラム
JP4702645B2 (ja) 2008-09-26 2011-06-15 ソニー株式会社 演算装置および方法、量子化装置および方法、並びにプログラム
JP2010078965A (ja) 2008-09-26 2010-04-08 Sony Corp 演算装置および方法、量子化装置および方法、並びにプログラム

Also Published As

Publication number Publication date
JP2000047850A (ja) 2000-02-18

Similar Documents

Publication Publication Date Title
EP1801691A1 (en) Information encoding method, decoding method, common multiplier estimation method, device using these methods, program, and recording medium
US6304890B1 (en) Exponential calculation device and decoding device
US8631061B2 (en) Apparatus, method, and program for arithmetic processing
US4583180A (en) Floating point/logarithmic conversion system
KR20060088542A (ko) 오디오 인코딩에서 mdct 데이터에 기초한 윈도우유형의 결정 방법
JP2002335161A (ja) 信号処理装置及び方法、信号符号化装置及び方法、並びに信号復号装置及び方法
EP1870880B1 (en) Signal processing method, signal processing apparatus and recording medium
JP3059429B2 (ja) 復号装置
US8593321B2 (en) Computation apparatus and method, quantization apparatus and method, and program
US6345285B1 (en) Logarithmic value calculation circuit
KR101102016B1 (ko) 오디오 인코딩에서 짧은 윈도우를 그룹화하는 방법
US6898615B2 (en) Signal processing unit and signal processing method including using an exponent part and a mantissa part for power generation
KR20060084440A (ko) 오디오 인코딩에서 신속한 코드북 선택 방법
US8601039B2 (en) Computation apparatus and method, quantization apparatus and method, and program
JPH07199996A (ja) 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置
US6847314B2 (en) Method for coding integer supporting diverse frame sizes and CODEC implementing the method
JP4063434B2 (ja) 巾乗算出装置
CN106463137B (zh) 编码装置、及其方法、记录介质
US7693921B2 (en) Reducing computational complexity in determining the distance from each of a set of input points to each of a set of fixed points
JP2005099629A (ja) 逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラム
JPH07160267A (ja) 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置
KR100801326B1 (ko) 케이-비트 마이크로 프로세서에서의 로그 베이스 2 연산수행 방법, 로그 베이스 2 연산을 이용한 스케일 팩터디코딩 방법, 이를 구현하기 위한 프로그램이 기록된 기록매체 및 로그 베이스 2 연산 장치
JPS6356020A (ja) 圧縮復号化装置
US7395300B2 (en) System, and method for calculating product of constant and mixed number power of two
JP2002108608A (ja) 信号処理装置、信号処理方法、プログラム記録媒体及びコンピュータプログラム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000410

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080421

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100421

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110421

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120421

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120421

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130421

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130421

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140421

Year of fee payment: 14

EXPY Cancellation because of completion of term