JPH1063642A - 離散余弦変換回路およびその係数生成方法および記憶媒体 - Google Patents
離散余弦変換回路およびその係数生成方法および記憶媒体Info
- Publication number
- JPH1063642A JPH1063642A JP21380096A JP21380096A JPH1063642A JP H1063642 A JPH1063642 A JP H1063642A JP 21380096 A JP21380096 A JP 21380096A JP 21380096 A JP21380096 A JP 21380096A JP H1063642 A JPH1063642 A JP H1063642A
- Authority
- JP
- Japan
- Prior art keywords
- function
- variable
- value
- counting
- cosine transform
- 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.)
- Withdrawn
Links
Landscapes
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
(57)【要約】
【課題】 離散余弦変換回路およびその係数生成方法お
よび記憶媒体に関し、回路規模低減と伝搬遅延時間の向
上を図ること。 【解決手段】 変数iとkの関数に応じた離散的な値を
とる余弦関数を入力データと乗じることで入力データの
係数を得るときに、計数回路7は変数iをカウントして
所定値(i+16)を出力する。メモリ8は変数kをカ
ウントして一時記憶する。加算器9は、変数i,kがカ
ウントされるのに伴って、現在の所定値に基づいた値2
(i+16)と一時記憶してから読み出した変数kの過
去の値の関数f(i,k−1)とを加算する。
よび記憶媒体に関し、回路規模低減と伝搬遅延時間の向
上を図ること。 【解決手段】 変数iとkの関数に応じた離散的な値を
とる余弦関数を入力データと乗じることで入力データの
係数を得るときに、計数回路7は変数iをカウントして
所定値(i+16)を出力する。メモリ8は変数kをカ
ウントして一時記憶する。加算器9は、変数i,kがカ
ウントされるのに伴って、現在の所定値に基づいた値2
(i+16)と一時記憶してから読み出した変数kの過
去の値の関数f(i,k−1)とを加算する。
Description
【0001】
【発明の属する技術分野】本発明は離散余弦変換回路お
よびその係数生成方法および記憶媒体に関し、特に、画
像・音声の圧縮符号化、復号化等に用いられる離散余弦
変換回路およびその係数生成方法および記憶媒体に関す
るのである。
よびその係数生成方法および記憶媒体に関し、特に、画
像・音声の圧縮符号化、復号化等に用いられる離散余弦
変換回路およびその係数生成方法および記憶媒体に関す
るのである。
【0002】
【従来の技術】従来、画像・音声の圧縮符号化、復号化
等には、離散余弦変換がよく用いられている。離散余弦
変換が用いられる画像・音声の圧縮符号化の国際規格と
しては、ISO/IEC11172(MPEG1)がよ
く用いられている。この一例として、ISO/IEC1
1172−3(MPEG1/audio)の復号器で用
いられている圧縮音声データの離散余弦変換について説
明する。
等には、離散余弦変換がよく用いられている。離散余弦
変換が用いられる画像・音声の圧縮符号化の国際規格と
しては、ISO/IEC11172(MPEG1)がよ
く用いられている。この一例として、ISO/IEC1
1172−3(MPEG1/audio)の復号器で用
いられている圧縮音声データの離散余弦変換について説
明する。
【0003】図4に示す規定のフォーマットの圧縮音声
データAinは、フレームアンパッキング部によりサン
プルデータSaと倍率データSfとに分離され、規格に
従ってサンプルデータSaを再量子化したデータとスケ
ールファクタ(倍率データ)Sfとを乗じて逆規格化し
たものに行列演算を行うことで離散余弦変換が行なわれ
る。すなわち、DCT係数を生成する。そして、離散余
弦変換して得られたデータに所定の窓関数を乗ずること
で復号データを得る。
データAinは、フレームアンパッキング部によりサン
プルデータSaと倍率データSfとに分離され、規格に
従ってサンプルデータSaを再量子化したデータとスケ
ールファクタ(倍率データ)Sfとを乗じて逆規格化し
たものに行列演算を行うことで離散余弦変換が行なわれ
る。すなわち、DCT係数を生成する。そして、離散余
弦変換して得られたデータに所定の窓関数を乗ずること
で復号データを得る。
【0004】ここで、逆規格化したものをSk,行列演
算出力をViとすると、
算出力をViとすると、
【0005】
【数1】
【0006】と規定されている。
【0007】ここで、係数Nikは変数iとk(i,k
はi≧0,k≧0なる整数)の関数であり、この関数f
(i,k)=(16+i)(2k+1)の値は、(2)
式で与えられる変数iとkの値に応じて、最小16(i
=k=0)から最大4977(i=63,k=31)ま
での値を取り得る。
はi≧0,k≧0なる整数)の関数であり、この関数f
(i,k)=(16+i)(2k+1)の値は、(2)
式で与えられる変数iとkの値に応じて、最小16(i
=k=0)から最大4977(i=63,k=31)ま
での値を取り得る。
【0008】ところで、余弦関数は時間領域において周
期2πの周期関数であり、また現在時刻に対して対称な
時間関数である。(2)式で表される離散余弦関数の係
数Nikはこの周期性と対称性により、符号を無視すれ
ば0≦[f(i,k)π/64]≦π/2についての3
3種類を求めればよい。そこで、実際には、図5のフロ
ーチャートの処理を行って0から32π/64までの3
3種類に折り畳み、33の値に対して次表1を用いて余
弦関数の値を求める方法がよく用いられている。
期2πの周期関数であり、また現在時刻に対して対称な
時間関数である。(2)式で表される離散余弦関数の係
数Nikはこの周期性と対称性により、符号を無視すれ
ば0≦[f(i,k)π/64]≦π/2についての3
3種類を求めればよい。そこで、実際には、図5のフロ
ーチャートの処理を行って0から32π/64までの3
3種類に折り畳み、33の値に対して次表1を用いて余
弦関数の値を求める方法がよく用いられている。
【0009】
【表1】
【0010】図5中、まずステップS51において、関
数f(i,k)=(16+i)(2k+1)を計算す
る。この処理については、図6のフローチャートに基づ
いて説明する。ステップS52では、ステップS51に
おける計算結果から128の余りを取る。続くステップ
S53では、余りを取った結果が64より大きいかを調
べる。64より大きくなければ、複素平面で虚数部がマ
イナス側に存在しないのでそのままステップS55に進
む。一方、余りを取った結果が64より大きければ、複
素平面で虚数部がマイナス側に存在するので、ステップ
S52の結果から64を引くことでこれを虚数部のプラ
ス側に折り畳む。
数f(i,k)=(16+i)(2k+1)を計算す
る。この処理については、図6のフローチャートに基づ
いて説明する。ステップS52では、ステップS51に
おける計算結果から128の余りを取る。続くステップ
S53では、余りを取った結果が64より大きいかを調
べる。64より大きくなければ、複素平面で虚数部がマ
イナス側に存在しないのでそのままステップS55に進
む。一方、余りを取った結果が64より大きければ、複
素平面で虚数部がマイナス側に存在するので、ステップ
S52の結果から64を引くことでこれを虚数部のプラ
ス側に折り畳む。
【0011】ステップS55では、ステップS52にお
いて余りを取った結果、またはステップS54において
64を引いた結果が32かを調べる。これが32であれ
ば、0から32π/64まで丁度33種類のf(i,
k)を求めたことになるので処理を終了する。一方、こ
れが32でなければステップS56に進み、ステップS
52において余りを取った結果、またはステップS54
において64を引いた結果が32より大きいかを調べ
る。
いて余りを取った結果、またはステップS54において
64を引いた結果が32かを調べる。これが32であれ
ば、0から32π/64まで丁度33種類のf(i,
k)を求めたことになるので処理を終了する。一方、こ
れが32でなければステップS56に進み、ステップS
52において余りを取った結果、またはステップS54
において64を引いた結果が32より大きいかを調べ
る。
【0012】32より大きくなければ、複素平面で実数
部がマイナス側に存在しないのでそのまま処理を終了す
る。一方、これらの結果が32より大きければ、複素平
面で実数部がマイナス側に存在するので、ステップS5
2において余りを取った結果、またはステップS54に
おいて64を引いた結果をステップS57の処理で64
から引くことでこれを実数部のプラス側に折り畳んで、
この処理を終了する。これにより、表1に示すインデッ
クス番号(0〜32)を引くことで、33種類の余弦関
数の値が求められる。
部がマイナス側に存在しないのでそのまま処理を終了す
る。一方、これらの結果が32より大きければ、複素平
面で実数部がマイナス側に存在するので、ステップS5
2において余りを取った結果、またはステップS54に
おいて64を引いた結果をステップS57の処理で64
から引くことでこれを実数部のプラス側に折り畳んで、
この処理を終了する。これにより、表1に示すインデッ
クス番号(0〜32)を引くことで、33種類の余弦関
数の値が求められる。
【0013】図6は関数f(i,k)=(16+i)
(2k+1)の計算手順を示すフローチャートである。
(2k+1)の計算手順を示すフローチャートである。
【0014】まず、ステップS61と続くステップS6
2において、変数iとkを0に初期化する。そして、ス
テップS63において、関数f(i,k)=(16+
i)(2k+1)の値を計算した後、ステップS64に
おいて変数kを1カウントアップする。関数f(i,
k)を求め変数てkを1カウントアップする毎に、ステ
ップS65において変数kの値を調べ、k<32ならば
ステップS63,S64を繰り返す。
2において、変数iとkを0に初期化する。そして、ス
テップS63において、関数f(i,k)=(16+
i)(2k+1)の値を計算した後、ステップS64に
おいて変数kを1カウントアップする。関数f(i,
k)を求め変数てkを1カウントアップする毎に、ステ
ップS65において変数kの値を調べ、k<32ならば
ステップS63,S64を繰り返す。
【0015】一方、k<32でなければステップS66
に進み、変数iを1カウントアップした後、ステップS
67において変数iの値を調べ、i<64ならばステッ
プS62〜S66を繰り返す。一方、i<64でなけれ
ば、関数f(i,k)=(16+i)(2k+1)の値
を最小16(i=k=0)から最大4977(i=6
3,k=31)まで計算したので処理を終了する。
に進み、変数iを1カウントアップした後、ステップS
67において変数iの値を調べ、i<64ならばステッ
プS62〜S66を繰り返す。一方、i<64でなけれ
ば、関数f(i,k)=(16+i)(2k+1)の値
を最小16(i=k=0)から最大4977(i=6
3,k=31)まで計算したので処理を終了する。
【0016】図7は、ステップS64における関数f
(i,k)=(16+i)(2k+1)の計算のための
従来の係数発生回路の一例の回路図である。
(i,k)=(16+i)(2k+1)の計算のための
従来の係数発生回路の一例の回路図である。
【0017】1および2は計数回路,3は演算回路、4
は乗算器である。計数回路1は、変数iをカウントアッ
プして(16+i)を出力する。計数回路2は、変数k
をカウントアップしてそのまま出力する。演算回路3
は、計数回路2からの変数kの値を2倍し、これに1を
加算する演算を行い、(2k+1)を出力する。そして
乗算器4により、(2k+1)(16+i)を求める。
は乗算器である。計数回路1は、変数iをカウントアッ
プして(16+i)を出力する。計数回路2は、変数k
をカウントアップしてそのまま出力する。演算回路3
は、計数回路2からの変数kの値を2倍し、これに1を
加算する演算を行い、(2k+1)を出力する。そして
乗算器4により、(2k+1)(16+i)を求める。
【0018】
【発明が解決しようとする課題】しかしながら、上記の
ような従来の離散余弦関数の係数生成方法では、乗算器
を用いて関数f(i,k)=(16+i)(2k+1)
を計算していた。このように乗算器を使用すると、回路
規模が大きく複雑なものとなるため、伝搬遅延時間が大
きくなると共に小型化、低コスト化が困難であるという
課題があった。
ような従来の離散余弦関数の係数生成方法では、乗算器
を用いて関数f(i,k)=(16+i)(2k+1)
を計算していた。このように乗算器を使用すると、回路
規模が大きく複雑なものとなるため、伝搬遅延時間が大
きくなると共に小型化、低コスト化が困難であるという
課題があった。
【0019】そこで本発明は、回路規模、および伝搬遅
延時間を小さくすることのできる離散余弦変換回路およ
びその係数生成方法および記憶媒体を提供することを目
的とする。
延時間を小さくすることのできる離散余弦変換回路およ
びその係数生成方法および記憶媒体を提供することを目
的とする。
【0020】
【課題を解決するための手段】上記目的を達成するため
に、請求項1に記載の本発明の装置では、変数iとk
(i,kはi≧0,k≧0なる整数)の関数に応じた離
散的な値をとる余弦関数を入力データと乗じることで、
前記入力データの係数を得て離散余弦変換する離散余弦
変換回路において、変数iをカウントして所定値を出力
する計数手段と、変数kをカウントして一時記憶する記
憶手段と、変数i,kがカウントされるのに伴って、前
記計数手段により得た現在の前記所定値に基づいた値と
前記記憶手段から読み出した変数kの過去の値の前記関
数とを加算する加算手段とを具備した構成とした。
に、請求項1に記載の本発明の装置では、変数iとk
(i,kはi≧0,k≧0なる整数)の関数に応じた離
散的な値をとる余弦関数を入力データと乗じることで、
前記入力データの係数を得て離散余弦変換する離散余弦
変換回路において、変数iをカウントして所定値を出力
する計数手段と、変数kをカウントして一時記憶する記
憶手段と、変数i,kがカウントされるのに伴って、前
記計数手段により得た現在の前記所定値に基づいた値と
前記記憶手段から読み出した変数kの過去の値の前記関
数とを加算する加算手段とを具備した構成とした。
【0021】また、請求項2に記載の本発明の装置で
は、前記加算手段は2進データの加算器であり、前記所
定値をLSB側から一桁上位に入力することで前記所定
値の2倍の値と前記変数kの過去の値の前記関数とを加
算する構成とした。
は、前記加算手段は2進データの加算器であり、前記所
定値をLSB側から一桁上位に入力することで前記所定
値の2倍の値と前記変数kの過去の値の前記関数とを加
算する構成とした。
【0022】また、請求項3に記載の本発明の装置で
は、前記関数はf(i,k)=(16+i)(2k+
1)で表され、前記余弦関数はcos[f(i,k)π
/64]で表される構成とした。
は、前記関数はf(i,k)=(16+i)(2k+
1)で表され、前記余弦関数はcos[f(i,k)π
/64]で表される構成とした。
【0023】また上記目的を達成するために、請求項4
に記載の本発明の方法では、変数iとk(i,kはi≧
0,k≧0なる整数)の関数に応じた離散的な値をとる
余弦関数を入力データと乗じることで、前記入力データ
の係数を得る離散余弦変換の係数生成方法において、変
数iをカウントして所定値を出力する計数ステップと、
変数kをカウントして一時記憶する記憶ステップと、変
数i,kがカウントされるのに伴って、前記計数ステッ
プにおいて得た現在の前記所定値に基づいた値と前記記
憶手段から読み出した変数kの過去の値の前記関数とを
加算する加算ステップとを含む構成とした。
に記載の本発明の方法では、変数iとk(i,kはi≧
0,k≧0なる整数)の関数に応じた離散的な値をとる
余弦関数を入力データと乗じることで、前記入力データ
の係数を得る離散余弦変換の係数生成方法において、変
数iをカウントして所定値を出力する計数ステップと、
変数kをカウントして一時記憶する記憶ステップと、変
数i,kがカウントされるのに伴って、前記計数ステッ
プにおいて得た現在の前記所定値に基づいた値と前記記
憶手段から読み出した変数kの過去の値の前記関数とを
加算する加算ステップとを含む構成とした。
【0024】また、請求項5に記載の本発明の方法で
は、前記加算ステップにおいて、前記所定値を2進の加
算器のLSB側から一桁上位に入力することで前記所定
値の2倍の値と前記変数kの過去の値の前記関数とを加
算する構成とした。
は、前記加算ステップにおいて、前記所定値を2進の加
算器のLSB側から一桁上位に入力することで前記所定
値の2倍の値と前記変数kの過去の値の前記関数とを加
算する構成とした。
【0025】また、請求項6に記載の本発明の方法で
は、前記関数はf(i,k)=(16+i)(2k+
1)で表され、前記余弦関数はcos[f(i,k)π
/64]で表される構成とした。
は、前記関数はf(i,k)=(16+i)(2k+
1)で表され、前記余弦関数はcos[f(i,k)π
/64]で表される構成とした。
【0026】また上記目的を達成するために、請求項7
に記載の本発明の記憶媒体では、変数iとk(i,kは
i≧0,k≧0なる整数)の関数に応じた離散的な値を
とる余弦関数を入力データと乗じることで、前記入力デ
ータの係数を得る離散余弦変換の係数生成方法のプログ
ラムを記憶した記憶媒体において、変数iをカウントし
て所定値を出力する計数ステップと、変数kをカウント
して一時記憶する記憶ステップと、変数i,kがカウン
トされるのに伴って、前記計数ステップにおいて得た現
在の前記所定値に基づいた値と前記記憶手段から読み出
した変数kの過去の値の前記関数とを加算する加算ステ
ップとを含む離散余弦変換の係数生成方法のプログラム
を記憶した構成とした。
に記載の本発明の記憶媒体では、変数iとk(i,kは
i≧0,k≧0なる整数)の関数に応じた離散的な値を
とる余弦関数を入力データと乗じることで、前記入力デ
ータの係数を得る離散余弦変換の係数生成方法のプログ
ラムを記憶した記憶媒体において、変数iをカウントし
て所定値を出力する計数ステップと、変数kをカウント
して一時記憶する記憶ステップと、変数i,kがカウン
トされるのに伴って、前記計数ステップにおいて得た現
在の前記所定値に基づいた値と前記記憶手段から読み出
した変数kの過去の値の前記関数とを加算する加算ステ
ップとを含む離散余弦変換の係数生成方法のプログラム
を記憶した構成とした。
【0027】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施の形態を詳細に説明する。
の実施の形態を詳細に説明する。
【0028】(第1の実施の形態)図1は本発明の離散
余弦変換回路の第1の実施の形態を適用した音声復号器
の構成を示すブロック図である。この音声復号器は、I
SO/IEC 11172−3(MPEG1/audi
o)に準拠した構成であり、LSI化されているものと
する。
余弦変換回路の第1の実施の形態を適用した音声復号器
の構成を示すブロック図である。この音声復号器は、I
SO/IEC 11172−3(MPEG1/audi
o)に準拠した構成であり、LSI化されているものと
する。
【0029】図1において、10はフレームアンパッキ
ング部、15は再量子化部、16は乗算器、18は行列
演算(Matrixing)部、20,22,26はバ
ッファ、24は窓処理(Windowing)部であ
る。フレームアンパッキング部10は、時系列のビット
列からなる圧縮音声データAinから、ビット割り当て
情報11を利用してサンプルデータSaと倍率データS
fとを分離して取り出す。12で示すデコードされたサ
ンプルデータSaは、再量子化部15によりビット割り
当て情報11を利用して再量子化され、再量子化データ
Srとされる。
ング部、15は再量子化部、16は乗算器、18は行列
演算(Matrixing)部、20,22,26はバ
ッファ、24は窓処理(Windowing)部であ
る。フレームアンパッキング部10は、時系列のビット
列からなる圧縮音声データAinから、ビット割り当て
情報11を利用してサンプルデータSaと倍率データS
fとを分離して取り出す。12で示すデコードされたサ
ンプルデータSaは、再量子化部15によりビット割り
当て情報11を利用して再量子化され、再量子化データ
Srとされる。
【0030】乗算器16は、14で示すデコードされた
スケールファクタ(倍率データ)Sfとこの再量子化デ
ータSrとを規格に従って乗じて逆規格化した音声デー
タSkを出力する。行列演算部18は音声データSkを
基に所定の演算を行い、行列演算出力Viを出力する。
行列演算部18による演算の途中経過は、バッファ20
に一時格納される。行列演算部18は、本発明の離散余
弦変換回路と係数発生回路とシーケンサとROMを含ん
でおり、シーケンサの制御により離散余弦変換(Dis
crete Cosine Transform)の係
数を発生し、音声データSkに離散余弦変換を行う。
スケールファクタ(倍率データ)Sfとこの再量子化デ
ータSrとを規格に従って乗じて逆規格化した音声デー
タSkを出力する。行列演算部18は音声データSkを
基に所定の演算を行い、行列演算出力Viを出力する。
行列演算部18による演算の途中経過は、バッファ20
に一時格納される。行列演算部18は、本発明の離散余
弦変換回路と係数発生回路とシーケンサとROMを含ん
でおり、シーケンサの制御により離散余弦変換(Dis
crete Cosine Transform)の係
数を発生し、音声データSkに離散余弦変換を行う。
【0031】バッファ22は、行列演算部18による演
算結果を一時格納する。この演算結果は、窓処理部24
により重み付けされる。重み付けされた演算結果は、バ
ッファ26を介して出力される。
算結果を一時格納する。この演算結果は、窓処理部24
により重み付けされる。重み付けされた演算結果は、バ
ッファ26を介して出力される。
【0032】ここで、図2は行列演算部18の機能の概
略を説明するためのブロック図である。
略を説明するためのブロック図である。
【0033】図2において、30はSkバッファ、46
はViバッファである。i発生部32とk発生部34
は、シーケンサのシーケンスに従って前記した従来技術
の順番で変数i,kを発生する。係数生成回路36は、
発生された変数i,kに基づき、本願発明の特徴である
DCT係数の生成を行う。係数折り畳み部38は、シー
ケンサのシーケンスに従って+/−選択信号を生成して
加減算器44に供給し、図5に基づき説明した処理を行
う。
はViバッファである。i発生部32とk発生部34
は、シーケンサのシーケンスに従って前記した従来技術
の順番で変数i,kを発生する。係数生成回路36は、
発生された変数i,kに基づき、本願発明の特徴である
DCT係数の生成を行う。係数折り畳み部38は、シー
ケンサのシーケンスに従って+/−選択信号を生成して
加減算器44に供給し、図5に基づき説明した処理を行
う。
【0034】ROM40は33種類のインデックス番号
についての表1を格納しており、(2)式に示したNi
kを出力する。乗算器42と加減算器44により、
(1)式に示した演算を行う。図5および図6に示した
フローチャートによる処理は従来とほぼ同様であるが、
図6のステップS63における処理が従来のものと異な
る点が本願発明の特徴である。
についての表1を格納しており、(2)式に示したNi
kを出力する。乗算器42と加減算器44により、
(1)式に示した演算を行う。図5および図6に示した
フローチャートによる処理は従来とほぼ同様であるが、
図6のステップS63における処理が従来のものと異な
る点が本願発明の特徴である。
【0035】本願発明のステップS63について説明す
ると、このステップでの処理は、(16+i)(2k+
1)を計算するときの図6における変数i,kの順序に
着目したものである。すなわち、MPEG1/audi
o(ISO/IEC11172−3)の復号処理で規定
される離散余弦変換では、i,kは以下のような順序で
変化する。つまり、離散余弦変換の係数は(i,k)=
(0,0),(0,1),(0,2)…,(0,3
1),(1,0),(1,1),(1,2)…,(1,
30),(1,31)…,(62,0),(62,1)
…,(62,30),(62,31)…,(63,
0),(63,1)…,(63,30),(63,3
1)の順に計算される。
ると、このステップでの処理は、(16+i)(2k+
1)を計算するときの図6における変数i,kの順序に
着目したものである。すなわち、MPEG1/audi
o(ISO/IEC11172−3)の復号処理で規定
される離散余弦変換では、i,kは以下のような順序で
変化する。つまり、離散余弦変換の係数は(i,k)=
(0,0),(0,1),(0,2)…,(0,3
1),(1,0),(1,1),(1,2)…,(1,
30),(1,31)…,(62,0),(62,1)
…,(62,30),(62,31)…,(63,
0),(63,1)…,(63,30),(63,3
1)の順に計算される。
【0036】また、f(i,k)=(i+16)(2k
+1)を展開して変形すると、
+1)を展開して変形すると、
【0037】
【数2】 f(i,k)=(i+16)(2k+1) =(i+16){2(k−1)+1+2} =(i+16)(2(k−1)+1}+2(i+16) =f(i,k−1)+2(i+16) (3) という関係、すなわち係数生成の規則性が得られる。
【0038】そこで、kが1つずつ増加していく場合に
は(3)式で示される規則性を利用することにより、乗
算器を用いることなく、少なくとも加算回路とメモリを
用いて離散余弦変換の係数を発生させることができる。
は(3)式で示される規則性を利用することにより、乗
算器を用いることなく、少なくとも加算回路とメモリを
用いて離散余弦変換の係数を発生させることができる。
【0039】図3は、ステップS63における関数f
(i,k)=(16+i)(2k+1)の計算のための
乗算器を用いない係数発生回路の回路図である。
(i,k)=(16+i)(2k+1)の計算のための
乗算器を用いない係数発生回路の回路図である。
【0040】図3において、計数回路7にはiの初期値
がセットされ、変数iをカウントアップして現在の所定
値(16+i)を出力する。加算器9は2進数を加算す
るディジタル加算器であり、iの初期値をそのまま出力
し、これがk=0のときの状態に相当する。メモリ8は
変数kと加算器9の加算結果を記憶するのに充分な小容
量のもので、0で初期化されて、カウントアップされる
変数kを一時的に記憶すると共に、加算器9の過去の加
算結果を一時的に記憶する。
がセットされ、変数iをカウントアップして現在の所定
値(16+i)を出力する。加算器9は2進数を加算す
るディジタル加算器であり、iの初期値をそのまま出力
し、これがk=0のときの状態に相当する。メモリ8は
変数kと加算器9の加算結果を記憶するのに充分な小容
量のもので、0で初期化されて、カウントアップされる
変数kを一時的に記憶すると共に、加算器9の過去の加
算結果を一時的に記憶する。
【0041】次に加算器9は、変数i,kがカウントア
ップされるのに伴って、計数回路7からの出力値(16
+i)を2倍したものと、メモリ8から読み出した変数
kの過去の値(k−1)の関数f(i,k−1)とを加
算して新たな値(f(i,k−1)+2(16+i))
を出力する。
ップされるのに伴って、計数回路7からの出力値(16
+i)を2倍したものと、メモリ8から読み出した変数
kの過去の値(k−1)の関数f(i,k−1)とを加
算して新たな値(f(i,k−1)+2(16+i))
を出力する。
【0042】このようにして、変数が1つずつ増加して
いく毎に新たな値が加算出力され、(3)式に示す結果
が得られる。なお、(16+i)を2倍するには、加算
器9のLSBに0を入力し、所定値(16+i)の2進
値をLSB側から一桁上位に入力すれば2(16+i)
が出力されるので、回路規模の大きな乗算器を必要とし
ない。
いく毎に新たな値が加算出力され、(3)式に示す結果
が得られる。なお、(16+i)を2倍するには、加算
器9のLSBに0を入力し、所定値(16+i)の2進
値をLSB側から一桁上位に入力すれば2(16+i)
が出力されるので、回路規模の大きな乗算器を必要とし
ない。
【0043】このように本実施の形態によれば、大規模
で複雑な回路構成を必要とする乗算器を用いることなく
離散余弦変換の係数を生成することが可能となる。この
ため、伝搬遅延時間が大きくなることなく、回路の小型
化が容易である。図3に示した回路は、LSI製造プロ
セスにも依存するが、従来の図7の回路と比べて回路規
模(面積)を30パーセント低減することができる。ま
た、伝播遅延時間は1.4倍高速とすることができる。
で複雑な回路構成を必要とする乗算器を用いることなく
離散余弦変換の係数を生成することが可能となる。この
ため、伝搬遅延時間が大きくなることなく、回路の小型
化が容易である。図3に示した回路は、LSI製造プロ
セスにも依存するが、従来の図7の回路と比べて回路規
模(面積)を30パーセント低減することができる。ま
た、伝播遅延時間は1.4倍高速とすることができる。
【0044】(他の実施の形態)上記の第1の実施の形
態では行列演算部18をハード的に構成し、シーケンサ
の制御により本発明を実現した例について説明したが、
代わりに、CPUなどの制御・演算部とRAM、ROM
等の記憶媒体を含む構成としてもよい。この場合、たと
えばROMに(3)式のアルゴリズムを実現するプログ
ラムを記憶しておき、このプログラムに基づいた制御・
演算を行うことで第1の実施の形態と同様の機能を遂行
させ、第1の実施の形態と同様の効果を得ることが可能
となる。
態では行列演算部18をハード的に構成し、シーケンサ
の制御により本発明を実現した例について説明したが、
代わりに、CPUなどの制御・演算部とRAM、ROM
等の記憶媒体を含む構成としてもよい。この場合、たと
えばROMに(3)式のアルゴリズムを実現するプログ
ラムを記憶しておき、このプログラムに基づいた制御・
演算を行うことで第1の実施の形態と同様の機能を遂行
させ、第1の実施の形態と同様の効果を得ることが可能
となる。
【0045】
【発明の効果】以上説明してきたように、本発明の回路
および方法及び記憶媒体によれば、変数iとkの関数に
応じた離散的な値をとる余弦関数を入力データと乗じる
ことで入力データの係数を得るときに、変数iをカウン
トして所定値を出力し、変数kをカウントして一時記憶
し、変数i,kがカウントされるのに伴って、現在の所
定値に基づいた値と一時記憶してから読み出した変数k
の過去の値の関数とを加算するようにしたので、乗算器
を使用するとなく回路規模、および伝搬遅延時間を小さ
くすることができるという効果が得られる。
および方法及び記憶媒体によれば、変数iとkの関数に
応じた離散的な値をとる余弦関数を入力データと乗じる
ことで入力データの係数を得るときに、変数iをカウン
トして所定値を出力し、変数kをカウントして一時記憶
し、変数i,kがカウントされるのに伴って、現在の所
定値に基づいた値と一時記憶してから読み出した変数k
の過去の値の関数とを加算するようにしたので、乗算器
を使用するとなく回路規模、および伝搬遅延時間を小さ
くすることができるという効果が得られる。
【図1】本発明の離散余弦変換回路の第1の実施の形態
を適用した音声復号器の構成を示すブロック図である。
を適用した音声復号器の構成を示すブロック図である。
【図2】行列演算部18の機能の概略を説明するための
ブロック図である。
ブロック図である。
【図3】本願発明による関数f(i,k)=(16+
i)(2k+1)の計算のための乗算器を用いない係数
発生回路の回路図である。
i)(2k+1)の計算のための乗算器を用いない係数
発生回路の回路図である。
【図4】MPEG1/audio(ISO/IEC11
172−3)の復号器に規定される圧縮音声データAi
nのフォーマットを示す説明図である。
172−3)の復号器に規定される圧縮音声データAi
nのフォーマットを示す説明図である。
【図5】折り畳みの処理手順を示すフローチャートであ
る。
る。
【図6】関数f(i,k)=(16+i)(2k+1)
の計算手順を示すフローチャートである。
の計算手順を示すフローチャートである。
【図7】関数f(i,k)=(16+i)(2k+1)
の計算のための従来の係数発生回路の一例の回路図であ
る。
の計算のための従来の係数発生回路の一例の回路図であ
る。
1,2 計数回路 3 演算回路 4,16,42 乗算器 7 計数回路 8 メモリ 9 加算器 10 フレームアンパッキング部 15 再量子化部 18 行列演算(Matrixing)部 20,22,26,30,46 バッファ 24 窓処理(Windowing)部 32 i発生部 34 k発生部 36 係数生成回路 38 係数折り畳み部 40 ROM 44 加減算器
Claims (7)
- 【請求項1】 変数iとk(i,kはi≧0,k≧0な
る整数)の関数に応じた離散的な値をとる余弦関数を入
力データと乗じることで、前記入力データの係数を得て
離散余弦変換する離散余弦変換回路において、 変数iをカウントして所定値を出力する計数手段と、 変数kをカウントして一時記憶する記憶手段と、 変数i,kがカウントされるのに伴って、前記計数手段
により得た現在の前記所定値に基づいた値と前記記憶手
段から読み出した変数kの過去の値の前記関数とを加算
する加算手段とを具備したことを特徴とする離散余弦変
換回路。 - 【請求項2】 前記加算手段は2進データの加算器であ
り、前記所定値をLSB側から一桁上位に入力すること
で前記所定値の2倍の値と前記変数kの過去の値の前記
関数とを加算することを特徴とする請求項1に記載の離
散余弦変換回路。 - 【請求項3】 前記関数はf(i,k)=(16+i)
(2k+1)で表され、前記余弦関数はcos[f
(i,k)π/64]で表されることを特徴とする請求
項1または2に記載の離散余弦変換回路。 - 【請求項4】 変数iとk(i,kはi≧0,k≧0な
る整数)の関数に応じた離散的な値をとる余弦関数を入
力データと乗じることで、前記入力データの係数を得る
離散余弦変換の係数生成方法において、 変数iをカウントして所定値を出力する計数ステップ
と、 変数kをカウントして一時記憶する記憶ステップと、 変数i,kがカウントされるのに伴って、前記計数ステ
ップにおいて得た現在の前記所定値に基づいた値と前記
記憶手段から読み出した変数kの過去の値の前記関数と
を加算する加算ステップとを含むことを特徴とする離散
余弦変換の係数生成方法。 - 【請求項5】 前記加算ステップにおいて、前記所定値
を2進の加算器のLSB側から一桁上位に入力すること
で前記所定値の2倍の値と前記変数kの過去の値の前記
関数とを加算することを特徴とする請求項4に記載の離
散余弦変換の係数生成方法。 - 【請求項6】 前記関数はf(i,k)=(16+i)
(2k+1)で表され、前記余弦関数はcos[f
(i,k)π/64]で表されることを特徴とする請求
項4または5に記載の離散余弦変換の係数生成方法。 - 【請求項7】 変数iとk(i,kはi≧0,k≧0な
る整数)の関数に応じた離散的な値をとる余弦関数を入
力データと乗じることで、前記入力データの係数を得る
離散余弦変換の係数生成方法のプログラムを記憶した記
憶媒体において、 変数iをカウントして所定値を出力する計数ステップ
と、 変数kをカウントして一時記憶する記憶ステップと、 変数i,kがカウントされるのに伴って、前記計数ステ
ップにおいて得た現在の前記所定値に基づいた値と前記
記憶手段から読み出した変数kの過去の値の前記関数と
を加算する加算ステップとを含む離散余弦変換の係数生
成方法のプログラムを記憶したことを特徴とする記憶媒
体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21380096A JPH1063642A (ja) | 1996-08-13 | 1996-08-13 | 離散余弦変換回路およびその係数生成方法および記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21380096A JPH1063642A (ja) | 1996-08-13 | 1996-08-13 | 離散余弦変換回路およびその係数生成方法および記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1063642A true JPH1063642A (ja) | 1998-03-06 |
Family
ID=16645262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21380096A Withdrawn JPH1063642A (ja) | 1996-08-13 | 1996-08-13 | 離散余弦変換回路およびその係数生成方法および記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1063642A (ja) |
-
1996
- 1996-08-13 JP JP21380096A patent/JPH1063642A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5400371A (en) | System and method for filtering random noise using data compression | |
JP3636094B2 (ja) | 信号符号化装置及び方法、並びに信号復号装置及び方法 | |
JP2000323993A (ja) | Mpeg1オーディオレイヤiii復号処理装置およびコンピュータをmpeg1オーディオレイヤiii復号処理装置として機能させるためのプログラムを記録したコンピュータ読取可能な記録媒体 | |
JP4800645B2 (ja) | 音声符号化装置、及び音声符号化方法 | |
US20070293960A1 (en) | Signal processing method, signal processing apparatus and recording medium | |
JP3208001B2 (ja) | 副バンドコーディングシステムの信号処理装置 | |
US7426462B2 (en) | Fast codebook selection method in audio encoding | |
US20030108108A1 (en) | Decoder, decoding method, and program distribution medium therefor | |
JPH1063642A (ja) | 離散余弦変換回路およびその係数生成方法および記憶媒体 | |
WO1997006641A1 (en) | Image encoder, image decoder, image decoding method, and image transmitting system | |
JP2000165252A (ja) | データ圧縮方法および装置 | |
JP3979026B2 (ja) | 信号復号方法および信号復号装置ならびに信号復号処理プログラムを記録した記録媒体 | |
JPH1169147A (ja) | 直交変換符号化画像の画像サイズ変換方法 | |
US6907413B2 (en) | Digital signal processing method, learning method, apparatuses for them, and program storage medium | |
JP3371420B2 (ja) | トリプレット情報処理装置及びその方法 | |
JP3186020B2 (ja) | 音響信号変換復号化方法 | |
KR20030045028A (ko) | 변환계수의 정수근사의 실행방법 및 코더와 디코더 | |
JP4438655B2 (ja) | 符号化装置、復号装置、符号化方法及び復号方法 | |
JP2732691B2 (ja) | 画像圧縮装置および画像復元装置 | |
KR0164830B1 (ko) | 역양자화회로 | |
JP3154293B2 (ja) | 音声信号帯域合成復号化装置 | |
JP2561030B2 (ja) | 離散コサイン変換装置 | |
JP2006162774A (ja) | 信号処理装置 | |
JP2002208860A (ja) | データ圧縮装置とそのデータ圧縮方法及びデータ圧縮用プログラムを記録したコンピュータ読み取り可能な記録媒体、並びにデータ伸長装置とそのデータ伸長方法 | |
JP3417437B2 (ja) | Mpegオーディオデコーダ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20031104 |