(57)【要約】【課題】量子化及び逆量子化の演算を精度良く行うには大きな記憶容量が必要である。【解決手段】桁数算出部５２は、２進数表現された最大桁数Ｋの量子化符号ｘの桁数Ｌを算出する。分離部５４は、量子化符号ｘの値を２＾（Ｋ−Ｌ）倍したときの（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す。テーブル参照部５６は、変換用テーブル５８を参照して、上位桁値Ｄ１に対する変換値を下限値Ｖ１として読み出し、更に、上位桁値Ｄ１に１を加えた値（Ｄ１＋１）に対する変換値を上限値Ｖ２として読み出す。補間部６０は、下限値Ｖ１と上限値Ｖ２の間で下位桁値Ｄ２に基づく補間処理を行い、補間値Ｖ３を生成する。調整部６２は、補間値Ｖ３を用いて逆量子化値ｙを生成する。【選択図】        図５
2004226742.tif 000002
【特許請求の範囲】
【請求項１】
２進数表現した場合の最大桁数がＫである量子化符号ｘを入力として、定数ｇをゼロでない実数とした場合の変換式ｘ＾ｇに従う逆量子化を行う装置であって、
前記量子化符号ｘを２進数表現した場合の桁数Ｌを取得する桁数取得部と、
前記量子化符号ｘの値の２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、
０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾ｇの値を格納する記憶部と、
前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、
前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、
前記補間値Ｖ３と第２式２＾（Ｌ＊ｇ）に応じた値とを乗じた値を前記変換式ｘ＾ｇに従う逆量子化値として生成する調整部とを備えることを特徴とする逆量子化装置。
【請求項２】
前記変換式ｘ＾ｇの指数ｇが２より小さい値であることを特徴とする請求項１に記載の逆量子化装置。
【請求項３】
２進数表現した場合の最大桁数がＫである量子化符号ｘを入力として、定数ｐ及びｑをゼロでない整数とした場合の変換式ｘ＾（ｐ／ｑ）に従う逆量子化を行う装置であって、
前記量子化符号ｘを２進数表現した場合の桁数Ｌを取得する桁数取得部と、
前記量子化符号ｘの値の２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、
０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）の値を格納する記憶部と、
前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、
前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、
前記補間値Ｖ３と第２式２＾（Ｌ＊ｐ／ｑ）に応じた値とを乗じた値を前記変換式ｘ＾（ｐ／ｑ）に従う逆量子化値として生成する調整部とを備えることを特徴とする逆量子化装置。
【請求項４】
２進数表現した場合の最大桁数がＫである量子化符号ｘを入力として、定数ｐ及びｑをゼロでない整数とした場合の変換式ｘ＾（ｐ／ｑ）に従う逆量子化を行う装置であって、
前記量子化符号ｘを２進数表現した場合の桁数Ｌを取得する桁数取得部と、
前記量子化符号ｘの値の２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、
定数ｒ及びｓを、ｐ＝ｒ＊ｑ＋ｓかつ（ｓ／ｑ）＜２かつｒ＞０を満たす整数とした場合に、０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｓ／ｑ）の値を格納する記憶部と、
前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、
前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、
前記補間値Ｖ３と第２式２＾（Ｌ＊ｓ／ｑ）に応じた値と（ｘ＾ｒ）の値とを乗じた値を前記変換式ｘ＾（ｐ／ｑ）に従う逆量子化値として生成する調整部とを備えることを特徴とする逆量子化装置。
【請求項５】
スケールファクタ変数ｕと２進数表現した場合の最大桁数がＫである量子化符号ｘを入力として、定数ｐ、ｑ及びｔをゼロでない整数とした場合の変換式ｘ＾（ｐ／ｑ）＊２＾（ｕ／ｔ）に従う逆量子化を行う装置であって、
前記量子化符号ｘを２進数表現した場合の桁数Ｌを取得する桁数取得部と、
前記量子化符号ｘの値の２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、
０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）の値を格納する記憶部と、
前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、
前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、
前記補間値Ｖ３と第２式２＾（Ｌ＊ｐ／ｑ＋ｕ／ｔ）に応じた値とを乗じた値を前記変換式ｘ＾（ｐ／ｑ）＊２＾（ｕ／ｔ）に従う逆量子化値として生成する調整部とを備えることを特徴とする逆量子化装置。
【請求項６】
スケールファクタ変数ｕと２進数表現した場合の最大桁数がＫである量子化符号ｘを入力として、定数ｐ、ｑ及びｔをゼロでない整数とした場合の変換式ｘ＾（ｐ／ｑ）＊２＾（ｕ／ｔ）に従う逆量子化を行う装置であって、
前記量子化符号ｘを２進数表現した場合の桁数Ｌを取得する桁数取得部と、
前記量子化符号ｘの値の２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、
定数ｒ及びｓを、ｐ＝ｒ＊ｑ＋ｓかつ（ｓ／ｑ）＜２かつｒ＞０を満たす整数とした場合に、０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｓ／ｑ）の値を格納する記憶部と、
前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、
前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、
前記補間値Ｖ３と第２式２＾（Ｌ＊ｓ／ｑ＋ｕ／ｔ）に応じた値と（ｘ＾ｒ）の値とを乗じた値を前記変換式ｘ＾（ｐ／ｑ）＊２＾（ｕ／ｔ）に従う逆量子化値として生成する調整部とを備えることを特徴とする逆量子化装置。
【請求項７】
前記変換式ｘ＾（ｐ／ｑ）の指数（ｐ／ｑ）が２より小さい値であることを特徴とする請求項３または５に記載の逆量子化装置。
【請求項８】
前記補間部は、前記下位桁値Ｄ２に基づく比率により、前記下限値Ｖ１と前記上限値Ｖ２の間で内分して前記補間値Ｖ３を求めることを特徴とする請求項１から７のいずれかに記載の逆量子化装置。
【請求項９】
前記補間部は、補間式Ｖ３＝（Ｖ１＊（２＾Ｎ−Ｄ２）＋Ｖ２＊Ｄ２）／（２＾Ｎ）に従って前記補間値Ｖ３を算出することを特徴とする請求項８に記載の逆量子化装置。
【請求項１０】
前記補間部は、前記下位桁値Ｄ２に１を加えた値を２進数表現した場合の（Ｎ＋１）桁目から２桁目までの値Ｄ３を用いて、補間式Ｖ３＝（Ｖ１＊（２＾（Ｎ−１）−Ｄ３）＋Ｖ２＊Ｄ３）／（２＾（Ｎ−１））に従って前記補間値Ｖ３を算出することを特徴とする請求項８に記載の逆量子化装置。
【請求項１１】
符号化されたオーディオストリームの復号時に、２進数表現した場合の最大桁数がＫである前記オーディオストリームに係る量子化符号ｘを入力として、定数ｐ及びｑをゼロでない整数とした場合の変換式ｘ＾（ｐ／ｑ）に従う逆量子化を行う装置であって、
前記量子化符号ｘを２進数表現した場合の桁数Ｌを取得する桁数取得部と、
前記量子化符号ｘの値の２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、
０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）の値を格納する記憶部と、
前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、
前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、
前記補間値Ｖ３と第２式２＾（Ｌ＊ｐ／ｑ）に応じた値とを乗じた値を前記変換式ｘ＾（ｐ／ｑ）に従う逆量子化値として生成する調整部と、
前記逆量子化値をもとにオーディオ信号を再生するオーディオ再生部とを備えることを特徴とするオーディオ復号装置。
【請求項１２】
原画像を符号化して生成された符号化画像データの復号時に、２進数表現した場合の最大桁数がＫである前記画像データに係る量子化符号ｘを入力として、定数ｐ及びｑをゼロでない整数とした場合の変換式ｘ＾（ｐ／ｑ）に従う逆量子化を行う装置であって、
前記量子化符号ｘを２進数表現した場合の桁数Ｌを取得する桁数取得部と、
前記量子化符号ｘの値の２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、
０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）の値を格納する記憶部と、
前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、
前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、
前記補間値Ｖ３と第２式２＾（Ｌ＊ｐ／ｑ）に応じた値とを乗じた値を前記変換式ｘ＾（ｐ／ｑ）に従う逆量子化値として生成する調整部と、
前記逆量子化値をもとに原画像を再生する画像再生部とを備えることを特徴とする画像復号装置。
【請求項１３】
最大値がＧであるディジタル信号ｗを入力として、定数ｇをゼロでない実数とした場合の変換式ｒｎｄ（ｗ＾ｇ）に従う量子化を行う装置であって、
前記信号ｗのＳ倍を整数化して正規化値ｖを求める正規化部と、
前記正規化値ｖを２進数表現した場合の桁数Ｌを取得する桁数取得部と、
Ｋを前記正規化値ｖの最大桁数とした場合に、前記正規化値ｖの２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、
０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾ｇの値を格納する記憶部と、
前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、
前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、
前記補間値Ｖ３と第２式２＾（Ｌ＊ｇ）に応じた値と定数（１／Ｓ）＾ｇとを乗じて調整値Ｖ４を生成する調整部と、
前記調整値Ｖ４を整数化した値を前記変換式ｒｎｄ（ｗ＾ｇ）に従う量子化値として生成する整数化部とを備えることを特徴とする量子化装置。
【請求項１４】
前記変換式ｘ＾ｇの指数ｇが２より小さい値であることを特徴とする請求項１３に記載の量子化装置。
【請求項１５】
最大値がＧであるディジタル信号ｗを入力として、定数ｐ及びｑをゼロでない整数とした場合の変換式ｒｎｄ（ｗ＾（ｐ／ｑ））に従う量子化を行う装置であって、
前記信号ｗのＳ倍を整数化して正規化値ｖを求める正規化部と、
前記正規化値ｖを２進数表現した場合の桁数Ｌを取得する桁数取得部と、
Ｋを前記正規化値ｖの最大桁数とした場合に、前記正規化値ｖの２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、
０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）の値を格納する記憶部と、
前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、
前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、
前記補間値Ｖ３と第２式２＾（Ｌ＊ｐ／ｑ）に応じた値と定数（１／Ｓ）＾（ｐ／ｑ）とを乗じて調整値Ｖ４を生成する調整部と、
前記調整値Ｖ４を整数化した値を前記変換式ｒｎｄ（ｗ＾（ｐ／ｑ））に従う量子化値として生成する整数化部とを備えることを特徴とする量子化装置。
【請求項１６】
最大値がＧであるディジタル信号ｗを入力として、定数ｐ及びｑをゼロでない整数とした場合の変換式ｒｎｄ（ｗ＾（ｐ／ｑ））に従う量子化を行う装置であって、
前記信号ｗのＳ倍を整数化して正規化値ｖを求める正規化部と、
前記正規化値ｖを２進数表現した場合の桁数Ｌを取得する桁数取得部と、
Ｋを前記正規化値ｖの最大桁数とした場合に、前記正規化値ｖの２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、
定数ｒ及びｓを、ｐ＝ｒ＊ｑ＋ｓかつ（ｓ／ｑ）＜２かつｒ＞０を満たす整数とした場合に、０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｓ／ｑ）の値を格納する記憶部と、
前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、
前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、
前記補間値Ｖ３と第２式２＾（Ｌ＊ｓ／ｑ）に応じた値と定数（１／Ｓ）＾（ｓ／ｑ）と（ｗ＾ｒ）の値とを乗じて調整値Ｖ４を生成する調整部と、
前記調整値Ｖ４を整数化した値を前記変換式ｒｎｄ（ｗ＾（ｐ／ｑ））に従う量子化値として生成する整数化部とを備えることを特徴とする量子化装置。
【請求項１７】
最大値がＧであるディジタル信号ｗを入力として、定数ｐ及びｑをゼロでない整数とした場合の変換式ｒｎｄ（ｗ＾（ｐ／ｑ））に従う量子化を行う装置であって、
前記信号ｗのＳ倍を整数化して正規化値ｖを求める正規化部と、
前記正規化値ｖを２進数表現した場合の桁数Ｌを取得する桁数取得部と、
Ｋを前記正規化値ｖの最大桁数とした場合に、前記正規化値ｖの２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、
定数ｒ及びｓを、ｐ＝ｒ＊ｑ＋ｓかつ（ｓ／ｑ）＜２かつｒ＞０を満たす整数とした場合に、０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｓ／ｑ）の値を格納する記憶部と、
前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、
前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、
前記補間値Ｖ３と第２式２＾（Ｌ＊ｓ／ｑ）に応じた値と定数（１／Ｓ）＾（ｐ／ｑ）と（ｖ＾ｒ）の値とを乗じて調整値Ｖ４を生成する調整部と、
前記調整値Ｖ４を整数化した値を前記変換式ｒｎｄ（ｗ＾（ｐ／ｑ））に従う量子化値として生成する整数化部とを備えることを特徴とする量子化装置。
【請求項１８】
前記変換式ｘ＾（ｐ／ｑ）の指数（ｐ／ｑ）が２より小さい値であることを特徴とする請求項１５に記載の量子化装置。
【請求項１９】
前記補間部は、前記下位桁値Ｄ２に基づく比率により、前記下限値Ｖ１と前記上限値Ｖ２の間で内分して前記補間値Ｖ３を求めることを特徴とする請求項１５から１８のいずれかに記載の量子化装置。
【請求項２０】
前記補間部は、補間式Ｖ３＝（Ｖ１＊（２＾Ｎ−Ｄ２）＋Ｖ２＊Ｄ２）／（２＾Ｎ）に従って前記補間値Ｖ３を算出することを特徴とする請求項１９に記載の量子化装置。
【請求項２１】
前記補間部は、前記下位桁値Ｄ２に１を加えた値を２進数表現した場合の（Ｎ＋１）桁目から２桁目までの値Ｄ３を用いて、補間式Ｖ３＝（Ｖ１＊（２＾（Ｎ−１）−Ｄ３）＋Ｖ２＊Ｄ３）／（２＾（Ｎ−１））に従って前記補間値Ｖ３を算出することを特徴とする請求項１９に記載の量子化装置。
【請求項２２】
オーディオサンプルの符号化時に、最大値がＧであるオーディオサンプルｗを入力として、定数ｐ及びｑをゼロでない整数とした場合の変換式ｒｎｄ（ｗ＾（ｐ／ｑ））に従う量子化を行う装置であって、
前記サンプルｗのＳ倍を整数化して正規化値ｖを求める正規化部と、
前記正規化値ｖを２進数表現した場合の桁数Ｌを取得する桁数取得部と、
Ｋを前記正規化値ｖの最大桁数とした場合に、前記正規化値ｖの２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、
０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）の値を格納する記憶部と、
前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、
前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、
前記補間値Ｖ３と第２式２＾（Ｌ＊ｐ／ｑ）に応じた値と定数（１／Ｓ）＾（ｐ／ｑ）とを乗じて調整値Ｖ４を生成する調整部と、
前記調整値Ｖ４を整数化した値を前記変換式ｒｎｄ（ｗ＾（ｐ／ｑ））に従う量子化値として生成する整数化部と、
前記量子化値を符号化して符号化オーディオストリームを生成するオーディオ符号化部とを備えることを特徴とするオーディオ符号化装置。
【請求項２３】
原画像の符号化時に、最大値がＧである画像サンプルｗを入力として、定数ｐ及びｑをゼロでない整数とした場合の変換式ｒｎｄ（ｗ＾（ｐ／ｑ））に従う量子化を行う装置であって、
前記サンプルｗのＳ倍を整数化して正規化値ｖを求める正規化部と、
前記正規化値ｖを２進数表現した場合の桁数Ｌを取得する桁数取得部と、
Ｋを前記正規化値ｖの最大桁数とした場合に、前記正規化値ｖの２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、
０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）の値を格納する記憶部と、
前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、
前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、
前記補間値Ｖ３と第２式２＾（Ｌ＊ｐ／ｑ）に応じた値と定数（１／Ｓ）＾（ｐ／ｑ）とを乗じて調整値Ｖ４を生成する調整部と、
前記調整値Ｖ４を整数化した値を前記変換式ｒｎｄ（ｗ＾（ｐ／ｑ））に従う量子化値として生成する整数化部と、
前記量子化値を符号化して符号化画像データを生成する画像符号化部とを備えることを特徴とする画像符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、量子化及び逆量子化の技術に関する。特に、本発明は、非線形の変換式を用いる量子化、逆量子化装置と、非線形の量子化及び逆量子化処理を含むオーディオ符号化方式に従うオーディオの符号化及び復号装置、並びに非線形の量子化及び逆量子化処理を含む画像符号化方式に従う画像の符号化及び復号装置に関する。
【０００２】
【従来の技術】
アナログ信号をディジタル信号処理で扱うためには、信号の定義域を離散化する標本化に加え、信号の値域を離散化する量子化の処理が必要である。また、既に値域の離散化が行われたディジタル信号を、より少ないデータ量で扱う場合などに、更に粗く離散化することがあり、この過程も量子化と呼ぶ。この量子化において、離散化後の値を量子化植と呼び、その量子化値を割り当てられた符号を量子化符号と呼ぶ。また、隣り合う量子化植の間隔を量子化ステップ幅、値域全体に含まれる量子化値の個数を量子化ステップ数と呼ぶ。
【０００３】
逆に、ディジタル信号処理を行った後、アナログ信号として出力する場合などには、量子化符号から、元の連続的な値や元の小さな量子化ステップ幅で離散化された値を復元する過程が必要である。この過程を逆量子化と呼ぶ。逆量子化の過程では、量子化符号に対応する量子化値を逆量子化変換により変換して元の値に復元する。このとき、量子化値は、量子化の過程において、連続的な値を近似したものであるため、逆量子化による復元値には量子化による誤差が発生する。従って、逆量子化の過程では、量子化が行われる前の値を完全には復元することはできず、復元される値は量子化誤差を含んだ近似的な値になる。
【０００４】
一般に、量子化ステップ幅が大きい場合、量子化誤差は大きくなるが、量子化ステップ数は少なくなるので、量子化符号を表現するのに必要なデータ量は少なくなる。逆に、量子化ステップ幅が小さい場合、量子化誤差は小さくなるが、量子化ステップ数は多くなるので、量子化符号を表現するのに必要なデータ量は多くなる。
【０００５】
量子化の内、量子化ステップ幅が一定である線形量子化に対し、量子化ステップ幅が一定ではないものを非線形量子化と呼ぶ。非線形量子化は、線形量子化と比較して以下の特徴を有している。
【０００６】
信号の出現確率に偏りがある場合、出現する確率が大きい値の付近では量子化ステップ幅を狭くし、出現する確率が小さい値の付近では量子化ステップ幅を広くした非線形量子化を用いることで、線形量子化に比べて、量子化誤差を平均的に小さくすることができる。また、同様の手法により、量子化ステップ数を信号の出現確率に応じて調整することにより、線形量子化に比べて、平均量子化誤差を悪化させることなく、データ量を削減することもできる。
【０００７】
また、オーディオ信号や画像信号の場合、聴覚や視覚の特性に従い、人間が感覚的に敏感な値の付近では量子化ステップ幅を狭くし、人間が感覚的に敏感でない値の付近では量子化ステップ幅を広くすることで、線形量子化に比べて、量子化誤差を人間に知覚させにくくすることができる。また、同様の手法により、量子化ステップ数を人間の知覚の特性に合わせて調整することにより、線形量子化に比べて、人間が知覚する誤差を悪化させないで、データ量を削減することもできる。
【０００８】
従って、非線形量子化は、信号の値の出現確率に偏りがある信号や、オーディオ信号や画像信号など、人間の感覚的な特性に関連した信号を扱う多くの分野で利用されている。ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）による音声符号化に関して、ＭＰＥＧ２オーディオ符号化方式における非線形の逆量子化の演算処理を行う復号装置が提案されている（たとえば、特許文献１参照）。
【０００９】
【特許文献１】
特開２０００−４７８５０号公報  （全文、第１−１４図）
【００１０】
【発明が解決しようとする課題】
このような非線形の量子化及び逆量子化の演算処理を行う場合、あらかじめ変換式の値を保持するテーブルを用意し、入力値に対してそのテーブルを参照して変換値を取得することが行われている。この時、量子化処理及び逆量子化処理の入力値として取り得る全ての値に対する変換値を用意しておけば、演算誤差は小さくなるが、テーブルのサイズが大きくなり、大きな記憶容量を必要とするため、コスト高になる。一方、入力値の範囲をいくつかの区間に分割し、同じ区間内の入力値に対しては、同じ変換値を参照することで、あらかじめ用意する変換値の数を間引いて、テーブルサイズを小さくすることができるが、正確な値を参照することができないため、一般に、演算精度が悪化するという問題が生じる。
【００１１】
本発明はこうした状況に鑑みてなされたもので、その目的は、量子化及び逆量子化に際し、小容量の変換用テーブルを用いて、精度良く量子化を実現することのできる量子化及び逆量子化装置の提供にある。また別の目的は、そのような量子化及び逆量子化装置を利用したオーディオ符号化及び復号装置、並びに画像符号化及び復号装置の提供にある。
【００１２】
【課題を解決するための手段】
本明細書において、「∧」は巾乗記号、「＊」は乗算記号、「／」は除算記号を表し、ｒｎｄ（Ａ）は、小数Ａに対し、小数部分の丸め処理を行い、整数に近似する演算、ｉｎｔ（Ａ）は、小数Ａに対し、小数部分の切り捨てを行い、整数化する演算を表す。
【００１３】
本発明の第１の態様は、２進数表現した場合の最大桁数がＫである量子化符号ｘを入力として、定数ｇをゼロでない実数とした場合の変換式ｘ＾ｇに従う逆量子化を行う装置に関する。この装置は、前記量子化符号ｘを２進数表現した場合の桁数Ｌを取得する桁数取得部と、前記量子化符号ｘの値の２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾ｇの値を格納する記憶部と、前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、前記補間値Ｖ３と第２式２＾（Ｌ＊ｇ）に応じた値とを乗じた値を前記変換式ｘ＾ｇに従う逆量子化値として生成する調整部とを備える。
【００１４】
ここで、Ｋは正の整数、Ｍ、ＮはＭ＋Ｎ＜Ｋを満たす正の整数である。分離部は、上位桁値Ｄ１として、前記量子化符号ｘの値の２＾（Ｋ−Ｌ）倍を２進数表現した場合の（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までのＭ桁を読み出し、下位桁値Ｄ２として、上位桁値Ｄ１の最終桁の次の桁である（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までのＮ桁を読み出すが、分離部がこれらの桁以外の桁を合わせて読み出した場合でも、上位桁値Ｄ１を基にしたアドレスを用いて記憶部に格納された第１式を参照して、上位桁値Ｄ１に対応する第１式の値を読み出し、実質的に等価の補間処理が行える。本発明のいずれの態様も、このような等価な場合を含むものである。
【００１５】
たとえば、分離部が、最上位桁すなわちＫ桁目を含めて上位桁値Ｄ１を読み出した場合でも、最上位桁は１であることがわかっているため、参照部は、記憶部に格納された第１式を参照する際に、１である最上位桁の分だけ参照アドレスをオフセットすることにより、上位桁値Ｄ１に対応する第１式の値を参照することができ、実質的に同一の処理となる。したがって、参照部は、第１式（０．５＋ａ／（２＾（Ｍ＋１）））を参照する際、必ずしもａ＝Ｄ１として、第１式の値を参照するとは限らず、上位桁値Ｄ１をオフセットした値を参照アドレスａとして、第１式の値を参照する場合もある。
【００１６】
また、「第２式２＾（Ｌ＊ｇ）に応じた値」とあるのは、調整部が逆量子化値を求める際、第２式２＾（Ｌ＊ｇ）の値に定数αを乗ずるゲイン調整などを行う場合も含める趣旨である。量子化値を求める場合も同様であり、演算のオーバーフローなどを防ぐためにこのような処理が行われる。本発明のいずれの態様も、このような場合を当然に含む。
【００１７】
本発明の第２の態様は、２進数表現した場合の最大桁数がＫである量子化符号ｘを入力として、定数ｐ及びｑをゼロでない整数とした場合の変換式ｘ＾（ｐ／ｑ）に従う逆量子化を行う装置に関する。この装置は、前記量子化符号ｘを２進数表現した場合の桁数Ｌを取得する桁数取得部と、前記量子化符号ｘの値の２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）の値を格納する記憶部と、前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、前記補間値Ｖ３と第２式２＾（Ｌ＊ｐ／ｑ）に応じた値とを乗じた値を前記変換式ｘ＾（ｐ／ｑ）に従う逆量子化値として生成する調整部とを備える。
【００１８】
この態様の逆量子化装置では、特に変換式の指数について（ｐ／ｑ）＜２である場合に、変換式の値域ｙが定義域ｘの大きいところで直線に近づくという曲率に関する特性があり、量子化ステップ幅が変換式の曲率に応じて調整され、補間による量子化誤差を効果的に抑制することができる。
【００１９】
本発明の第３の態様は、２進数表現した場合の最大桁数がＫである量子化符号ｘを入力として、定数ｐ及びｑをゼロでない整数とした場合の変換式ｘ＾（ｐ／ｑ）に従う逆量子化を行う装置に関する。この装置は、第２の態様の逆量子化装置と同じ桁数取得部、分離部、参照部、及び補間部を備えるが、記憶部と調整部の構成が異なり、記憶部は、定数ｒ及びｓを、ｐ＝ｒ＊ｑ＋ｓかつ（ｓ／ｑ）＜２かつｒ＞０を満たす整数とした場合に、０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｓ／ｑ）の値を格納し、調整部は、補間値Ｖ３と第２式２＾（Ｌ＊ｓ／ｑ）に応じた値と（ｘ＾ｒ）の値とを乗じた値を前記変換式ｘ＾（ｐ／ｑ）に従う逆量子化値として生成する。
【００２０】
この態様の逆量子化装置では、変換式の指数について（ｐ／ｑ）＞２であっても、ｐ／ｑ＝ｒ＋ｓ／ｑと変形して、（ｓ／ｑ）＜２とすることができ、量子化ステップ幅を変換式の曲率に応じて調整して、補間による量子化誤差を効果的に抑制することができる。また、（ｐ／ｑ）＜２であっても、指数（ｐ／ｑ）の値が大きく、ｘの値が大きいところで変換式が直線に近づく速さが遅い場合は、ｐ／ｑ＝ｒ＋ｓ／ｑと変形することにより、変換式に係る指数（ｓ／ｑ）の値を小さくして、曲率特性を改善した上で、補間することができるため、量子化誤差を効果的に抑えることができる。
【００２１】
本発明の第４の態様は、スケールファクタ変数ｕと２進数表現した場合の最大桁数がＫである量子化符号ｘを入力として、定数ｐ、ｑ及びｔをゼロでない整数とした場合の変換式ｘ＾（ｐ／ｑ）＊２＾（ｕ／ｔ）に従う逆量子化を行う装置に関する。この装置は、第２の態様の逆量子化装置と同じ桁数取得部、分離部、記憶部、参照部、及び補間部を備えるが、調整部の構成が異なり、調整部は、補間値Ｖ３と第２式２＾（Ｌ＊ｐ／ｑ＋ｕ／ｔ）に応じた値とを乗じた値を前記変換式ｘ＾（ｐ／ｑ）＊２＾（ｕ／ｔ）に従う逆量子化値として生成する。
【００２２】
この態様の逆量子化装置では、逆量子化の際にスケーリング処理を行う場合でも、逆量子化の演算とスケーリング処理を同時に行うことができる。
【００２３】
本発明の第５の態様は、スケールファクタ変数ｕと２進数表現した場合の最大桁数がＫである量子化符号ｘを入力として、定数ｐ、ｑ及びｔをゼロでない整数とした場合の変換式ｘ＾（ｐ／ｑ）＊２＾（ｕ／ｔ）に従う逆量子化を行う装置に関する。この装置は、第４の態様と同じ桁数取得部、分離部、参照部、及び補間部を備えるが、記憶部と調整部の構成が異なり、記憶部は、定数ｒ及びｓを、ｐ＝ｒ＊ｑ＋ｓかつ（ｓ／ｑ）＜２かつｒ＞０を満たす整数とした場合に、０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｓ／ｑ）の値を格納し、調整部は、補間値Ｖ３と第２式２＾（Ｌ＊ｓ／ｑ＋ｕ／ｔ）に応じた値と（ｘ＾ｒ）の値とを乗じた値を前記変換式ｘ＾（ｐ／ｑ）＊２＾（ｕ／ｔ）に従う逆量子化値として生成する。
【００２４】
この態様の逆量子化装置では、逆量子化の際にスケーリング処理を行う場合でも、逆量子化の演算とスケーリング処理を同時に行うことができ、また変換式の指数（ｐ／ｑ）が２より大きい場合でも量子化誤差を抑えることができる。
【００２５】
本発明の第６の態様は、オーディオ復号装置に関する。この装置は、符号化されたオーディオストリームの復号時に、オーディオストリームに係る量子化符号ｘの逆量子化処理を行うものであって、前述の第１から第５のいずれかの態様の逆量子化装置の各構成と、その逆量子化装置の出力する逆量子化値をもとにオーディオ信号を再生するオーディオ再生部とを備える。
【００２６】
本発明の第７の態様は、画像復号装置に関する。この装置は、原画像を符号化して生成された符号化画像データの復号時に、画像データに係る量子化符号ｘの逆量子化処理を行うものであって、前述の第１から第５のいずれかの態様の逆量子化装置の各構成と、その逆量子化装置の出力する逆量子化値をもとに原画像を再生する画像再生部とを備える。
【００２７】
本発明の第８の態様は、最大値がＧであるディジタル信号ｗを入力として、定数ｇをゼロでない実数とした場合の変換式ｒｎｄ（ｗ＾ｇ）に従う量子化を行う装置に関する。この装置は、前記信号ｗのＳ倍を整数化して正規化値ｖを求める正規化部と、前記正規化値ｖを２進数表現した場合の桁数Ｌを取得する桁数取得部と、Ｋを前記正規化値ｖの最大桁数とした場合に、前記正規化値ｖの２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾ｇの値を格納する記憶部と、前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、前記補間値Ｖ３と第２式２＾（Ｌ＊ｇ）に応じた値と定数（１／Ｓ）＾ｇとを乗じて調整値Ｖ４を生成する調整部と、前記調整値Ｖ４を整数化した値を前記変換式ｒｎｄ（ｗ＾ｇ）に従う量子化値として生成する整数化部とを備える。
【００２８】
本発明の第９の態様は、最大値がＧであるディジタル信号ｗを入力として、定数ｐ及びｑをゼロでない整数とした場合の変換式ｒｎｄ（ｗ＾（ｐ／ｑ））に従う量子化を行う装置に関する。この装置は、前記信号ｗのＳ倍を整数化して正規化値ｖを求める正規化部と、前記正規化値ｖを２進数表現した場合の桁数Ｌを取得する桁数取得部と、Ｋを前記正規化値ｖの最大桁数とした場合に、前記正規化値ｖの２＾（Ｋ−Ｌ）倍を２進数表現した場合における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出す分離部と、０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）の値を格納する記憶部と、前記上位桁値Ｄ１を基にしたアドレスを用いて前記記憶部に格納された前記第１式を参照することにより、前記上位桁値Ｄ１に対応する前記第１式の値を下限値Ｖ１として、前記上位桁値Ｄ１に１を加えた値に対応する前記第１式の値を上限値Ｖ２として取得する参照部と、前記下位桁値Ｄ２に基づいて、前記下限値Ｖ１と前記上限値Ｖ２の間で補間値Ｖ３を定める補間部と、前記補間値Ｖ３と第２式２＾（Ｌ＊ｐ／ｑ）に応じた値と定数（１／Ｓ）＾（ｐ／ｑ）とを乗じて調整値Ｖ４を生成する調整部と、前記調整値Ｖ４を整数化した値を前記変換式ｒｎｄ（ｗ＾（ｐ／ｑ））に従う量子化値として生成する整数化部とを備える。
【００２９】
本発明の第１０の態様は、最大値がＧであるディジタル信号ｗを入力として、定数ｐ及びｑをゼロでない整数とした場合の変換式ｒｎｄ（ｗ＾（ｐ／ｑ））に従う量子化を行う装置に関する。この装置は、第９の態様の量子化装置と同じ正規化部、桁数取得部、分離部、参照部、補間部、及び整数化部を備えるが、記憶部と調整部の構成が異なり、記憶部は、定数ｒ及びｓを、ｐ＝ｒ＊ｑ＋ｓかつ（ｓ／ｑ）＜２かつｒ＞０を満たす整数とした場合に、０≦ａ≦２＾Ｍの範囲の整数ａに対する第１式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｓ／ｑ）の値を格納し、調整部は、補間値Ｖ３と第２式２＾（Ｌ＊ｓ／ｑ）に応じた値と定数（１／Ｓ）＾（ｓ／ｑ）と（ｗ＾ｒ）の値とを乗じて調整値Ｖ４を生成する。
【００３０】
本発明の第１１の態様は、最大値がＧであるディジタル信号ｗを入力として、定数ｐ及びｑをゼロでない整数とした場合の変換式ｒｎｄ（ｗ＾（ｐ／ｑ））に従う量子化を行う装置に関する。この装置は、第１０の態様の量子化装置と同じ正規化部、桁数取得部、分離部、記憶部、参照部、補間部、及び整数化部を備えるが、調整部の構成が異なり、調整部は、補間値Ｖ３と第２式２＾（Ｌ＊ｓ／ｑ）に応じた値と定数（１／Ｓ）＾（ｐ／ｑ）と（ｖ＾ｒ）の値とを乗じて調整値Ｖ４を生成する。
【００３１】
本発明の第１２の態様は、オーディオ符号化装置に関する。この装置は、オーディオサンプルの符号化時に、オーディオサンプルｗの量子化処理を行うものであって、前述の第８から第１１のいずれかの態様の量子化装置の各構成と、その量子化装置の出力する量子化値を符号化して符号化オーディオストリームを生成するオーディオ符号化部とを備える。
【００３２】
本発明の第１３の態様は、画像符号化装置に関する。この装置は、原画像の符号化時に、画像サンプルｗの量子化処理を行うものであって、前述の第８から第１１のいずれかの態様の量子化装置の各構成と、その量子化装置の出力する量子化値を符号化して符号化画像データを生成する画像符号化部とを備える。
【００３３】
尚、以上の構成要素の任意の組み合わせ、本発明の構成を方法、システム、記録媒体、コンピュータプログラムとして表現したものもまた、本発明の態様として有効である。
【００３４】
【発明の実施の形態】
１．前提技術
本発明の実施の形態に係る前提技術を説明する。ここでは、標準的なオーディオ符号化の１つであるＩＳ０／ＩＥＣ１１１７２−３に記載されたＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式で採用されている非線形量子化を例にして、具体的な非線形量子化、逆量子化、及びそれらを行う装置について説明する。
【００３５】
ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式では、高い音質を保ちながら、オーディオ信号のデータ量を圧縮することを目的としたオーディオ符号化方式であり、音質をほとんど劣化させることなく、オーディオ信号のデータ量を約１０分の１に圧縮することが可能である。データの保存や伝送を行う場合には、時系列のオーディオ信号をＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩフォーマットのデータに変換する符号化処理によりデータの圧緒が行われる。また、データの再生を行う場合は、復号処理によりデータ圧縮されたＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩフォーマットのデータが時系列のオーディオ信号に変換される。
【００３６】
この符号化処理では、オーディオ信号の振幅を符号化する際に、後述の非線形量子化処理が行われる。また、復号処理では、符号化データからオーディオ信号の振幅を復元する際に、後述の非線形逆量子化処理が行われる。符号化処理を行う符号化装置、及び復号処理を行う復号装置の詳細は、ＩＳ０／ＩＥＣｌｌ１７２−３に記載されている。
【００３７】
次に、ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式で採用されている非線形量子化について詳しく説明する。
【００３８】
式（１．１）は、ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式の符号化時における非線形量子化の変換式である。入力となる値ｗは、オーディオ信号の振幅に対応した値であり、式（１．１）に従って量子化符号ｘに変換される。
式（１．１）  ｘ＝ｉｎｔ（ｗ＾（３／４）＋０．５−０．０９４６）
ここでｗは量子化前の値で、０≦ｗ＜８１９１．５９４６＾（４／３）の範囲の小数である。ｘは量子化符号であり、０≦ｘ≦８１９１の範囲の整数である。
【００３９】
式（１．１）によれば、例えば、入力値ｗが１．５９４６＾（４／３）≦ｗ＜２．５９４６＾（４／３）の範囲にある場合は、量子化符号ｘ＝２となり、入力値ｗが２．５９４６＾（４／３）≦ｗ＜３．５９４６＾（４／３）の範囲にある場合は、量子化符号ｘ＝３となる。
【００４０】
尚、入力値ｗが、０≦ｗ＜８１９１．５９４６＾（４／３）の範囲に限定されているのは、生成される量子化符号ｘが、０≦ｘ≦８１９１の範囲を越えないようにするためである。このような限定は、例えば、量子化処理の入力値であるｗを生成する段階で、上記の範囲を越える値に対して、予め最大値及び最小値に置き替えるクリッピング処理を行うことで実現される。
【００４１】
式（１．２）は、ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式の復号時における非線形逆量子化の変換式である。入力となる量子化符号ｘは、式（１．２）に従って、逆量子化値ｙに変換される。逆量子化値ｙは、オーディオ信号の振幅に対応した値である。
式（１．２）  ｙ＝ｘ＾（４／３）
ここでｙは逆量子化値、ｘは量子化符号で０≦ｘ≦８１９１の範囲の整数である。
【００４２】
式（１．２）によれば、例えば、量子化符号ｘ＝２の場合は、逆量子化値ｙ＝２＾（４／３）となり、量子化符号ｘ＝３の場合は、逆量子化値ｙ＝３＾（４／３）となる。
【００４３】
以上述べたＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式で使用されている量子化及び逆量子化は以下のような性質を有する。
【００４４】
量子化誤差は、量子化前の値ｗと逆量子化値ｙの差（ｙ−ｗ）として現れる。量子化において、ｗの値が大きくなる程、ある量子化符号に変換されるｗの値の範囲が広くなることから、差（ｙ−ｗ）の絶対値も平均的に大きくなる。従って、ｗの値が大きい範囲では、量子化誤差は平均的に大きくなり、ｗの値が小さい範囲では、量子化誤差が平均的に小さくなる性質を有する。
【００４５】
また、入力値ｗや逆量子化値ｙは、本来連続した小数値であるが、実際のディジタル回路上では、例えば、上位１８ビットが整数部で下位６ビットが小数部を表す２４ビットの固定小数点形式で近似的に表現される。これに対し、量子化符号ｘは、０≦ｘ≦８１９１の整数値であるため、１３ビットの符号で表現することができる。従って、量子化を行うことにより、データ量の削減が行われている。
【００４６】
次に前提技術に係る量子化装置及び、逆量子化装置の例として、ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式で採用されている非線形量子化に対する量子化装置及び逆量子化装置について説明する。
【００４７】
一般に、式（１．１）及び式（１．２）で示されたような変換式を直接計算するアルゴリズムは複雑である。従って、ディジタル回路で実現する場合に、回路規模が大きくなったり、汎用のＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）上などでソフトウエア処理する場合に、処理ステップ数が多くなったりすることが多く、実装を行う上で問題になりやすい。
【００４８】
また、変換用テーブルを用意し、入力値をアドレスとして、テーブル参照を行い、変換値を求める手法も考えられる。この手法では、簡易な処理で、式（１．１）及び式（１．２）で示されたような変換を実現することが可能であるが、変換用テーブルを格納するために大容量の固体メモリなどの記憶手段が必要であり、実装を行う上で間題となりやすい。そこで、前提技術では以下に説明するような手法を用いる。
【００４９】
図１は、ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式の復号装置で用いられる前提技術に係る逆量子化装置１０を説明する概略ブロック図である。逆量子化装置への入力となる量子化符号ｘは、０≦ｘ≦８１９１の範囲の整数値である。つまり、２進数表現した場合の最大桁数Ｋは１３桁である。
【００５０】
桁数算出部１２は、入力となる量子化符号ｘを２進数表現したときの桁数Ｌを算出する。分離部１４は、量子化符号ｘと桁数Ｌを入力とし、量子化符号ｘの値の２＾（１３−Ｌ）倍を２進数表現した場合の１２桁目から４桁目までの上位桁値Ｄ１を読み出す。
【００５１】
図２は、量子化符号ｘ、桁数Ｌ、及び上位桁値Ｄ１の関係を説明する図である。一例として、最大桁数Ｋが１３桁のレジスタ１００には、量子化符号ｘ＝１３５７が格納されており、桁数Ｌは１１桁である。このレジスタ１００に格納されたビット値を（Ｋ−Ｌ）ビットすなわち２ビットだけ左にシフトすると、シフト後のレジスタ１０２は同図に示す状態になる。このシフト後のレジスタ１０２から１２桁目から４桁目までの上位桁値Ｄ１を分離して読み出すと、その値は１６６となる。
【００５２】
図１に戻り、変換用テーブル１８は、固体メモリなどの記憶部１７に予め用意されたテーブルであり、０から５１１までの整数値であるアドレスａに対応づけて、各アドレスａに対する次式（１．３）に従う変換値が、上位１ビットが整数値で下位２３ビットが小数部を表す２４ビット固定小数点形式で格納されている。
式（１．３）  （０．５＋ａ／１０２４）＾（４／３）
【００５３】
テーブル参照部１６は、上位桁値Ｄ１を入力として受け取り、上位桁値Ｄ１をアドレスとして変換用テーブル１８を参照して、上位桁値Ｄ１に対する式（１．３）の値である変換値Ｖ１を読み出す。
【００５４】
調整部２２は、式（１．４）に従って処理を行い、逆量子化値ｙを生成する。
式（１．４）  ｙ＝Ｖ１＊２＾（Ｌ＊４／３）
【００５５】
この調整部２２による処理は、例えば、以下の方法によって容易に実現することができる。調整用テーブル１９として、０から２までの整数値であるアドレスａに対応づけて、各アドレスａに対する２＾（ａ／３）に従う変換値が、上位２ビットが整数部で下位２２ビットが小数部を表す２４ビット固定小数点形式で格納されたテーブルＴ［ａ］を記憶部１７に予め用意しておく。調整部２２は、Ｌ＊４を３で割った商Ｅ１と、余りＥ２を求め、調整用テーブル１９を参照して、式（１．５）に従って、逆量子化値ｙを生成する。
式（１．５）  ｙ＝Ｖ１＊２＾Ｅ１＊Ｔ［Ｅ２］
【００５６】
この方法により、式（１．４）の演算は、（２４＊３）ビットの小容量の記憶手段と、単純な乗算手段、テーブル参照手段、ビットシフト手段にて実現が可能である。
【００５７】
但し、以上の処理において、量子化符号ｘ＝０の場合は、例外的に、逆量子化値ｙ＝０とするか、桁数Ｌとして充分小さな負の数、例えば、Ｌ＝−１００として処理を行う。
【００５８】
以上により、ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式の復号装置で用いられる逆量予化装置が実現できる。
【００５９】
図３はＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式の符号化装置で用いられる前提技術に係る量子化装置３０を説明する概略ブロック図である。量子化装置３０への入力値ｗは、上位１８ビットが整数部で下位６ビットが小数部を表す２４ビットの固定小数点形式で表現された０≦ｗ＜８１９１．５９４６＾（４／３）の範囲の小数値である。
【００６０】
正規化部３２は、式（１．６）に従って、入力値ｗを４倍した値を整数化し、正規化値ｖとして出力する。
式（１．６）  ｖ＝ｉｎｔ（４＊ｗ＋０．５）
【００６１】
入力値ｗは、０≦ｗ＜８１９１．５９４６＾（４／３）の範囲の小数値であるので、正規化値ｖは、０≦ｖ≦６６０５１７の範囲の整数値となる。つまり、２進数表現した最大桁数Ｋは２０桁である。
【００６２】
桁数算出部３４は、正規化値ｖを２進数表現したときの桁数Ｌを算出する。分離部３６は、正規化値ｖと桁数Ｌを入力とし、正規化値ｖの２＾（２０−Ｌ）倍を２進数表現した場合の１９桁目から７桁目の上位桁値Ｄ１を読み出す。
【００６３】
図４は、正規化値ｖ、桁数Ｌ、及び上位桁値Ｄ１の関係を説明する図である。一例として、最大桁数Ｋが２０桁のレジスタ１３０には、正規化値ｖ＝９８７６５が格納されており、桁数Ｌは１７桁である。このレジスタ１３０に格納されたビット値を（Ｋ−Ｌ）ビットすなわち３ビットだけ左にシフトすると、シフト後のレジスタ１３２は同図に示す状態になる。このシフト後のレジスタ１３２から１９桁目から７桁目までの上位桁値Ｄ１を分離して読み出すと、その値は４１５３となる。
【００６４】
図３に戻り、変換用テーブル４０は、固体メモリなどの記憶部３９に予め用意されたテーブルであり、０から８１９１までの整数値であるアドレスａに対応づけて、各アドレスａに対する式（１．７）に従う変換値が、上位１ビットが整数部で下位２３ビットが小数部を表す２４ビット固定小数点形式で格納されている。
式（１．７）  （０．５＋ａ／１６３８４）＾（３／４）
【００６５】
テーブル参照部３８は、上位桁値Ｄ１を入力として受け取り、上位桁値Ｄ１をアドレスとして変換用テーブル４０を参照して、上位桁値Ｄ１の式（１．７）による変換値Ｖ１を読み出す。
【００６６】
調整部４４は、式（１．８）に従って処理を行い、調整値Ｖ４を生成する。
式（１．８）  Ｖ４＝Ｖ１＊２＾（Ｌ＊３／４）＊２＾（−２＊３／４）
【００６７】
この調整部４４による処理は、例えば、以下の方法によって容易に実現することができる。調整用テーブル４１として、０から３までの整数値であるアドレスａに対応づけて、各アドレスａに対する２＾（ａ／４）による変換値が、上位２ビットが整数部で下位２２ビットが小数部を表す２４ビット固定小数点形式で格納されたテーブルＴ［ａ］を記憶部３９に予め用意しておく。調整部４４は、Ｌ＊３を４で割った商Ｅ１と余りＥ２を求め、調整用テーブル４１を参照して、式（１．９）に従って、調整値Ｖ４を生成する。
式（１．９）  Ｖ４＝Ｖ１＊２＾Ｅ１＊Ｔ［Ｅ２］＊２＾（−２＊３／４）
【００６８】
この方法により、式（１．８）の演算は、（２４＊４）ビットの小容量の記憶手段と、単純な乗算手段、テーブル参照手段、ビットシフト手段にて実現が可能である。
【００６９】
整数化部４６では、式（１．１０）に従って、Ｖ４の小数部を丸めて整数化し、量子化符号ｘを生成する。
式（１．１０）  ｘ＝ｉｎｔ（Ｖ４＋０．５−０．０９４６）
【００７０】
但し、以上の処理において、入力値ｗが小さく、正規化値ｖ＝０となる場合は、例外的に、量子化符号ｘ＝０とするか、桁数Ｌとして充分小さな負の数、例えば、Ｌ＝−１００として処理を行う。
【００７１】
以上により、ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式の符号化装置で用いられる量子化装置が実現できる。
【００７２】
尚、以上のような量子化及び逆量子化処理は、ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式に限らず、多くの分野で利用されている。例えば、他のオーディオの標準的な符号化規格であるＩＳＯ／ＩＥＣ１３８１８−３に記載されたＭＰＥＧ２−Ａｕｄｉｏ方式、ＩＳＯ／ＩＥＣ１３８１８−７に記載されたＭＰＥＧ２−Ａｕｄｉｏ  ＡＡＣ方式でも採用されている。また、画像符号化に関しても、『画像のディジタル信号処理（吹抜敬彦著）日刊工業』の第６章などで非線形量子化の適用が提案されている。
【００７３】
また、上記の前提技術の説明は、ＩＳ０／ＩＥＣ１１１７２−３に記載されたＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式に挙げられた変換式に限らず、非線形の量子化及び逆量子化のうち、特に、式（１．１１）に従って変換を行うものに一般性を失うことなく適用できるものである。
式（１．１１）  ｙ＝ｘ＾（ｐ／ｑ）
（但し、ｐ、ｑは、ｑ≠０かつｐ≠０を満たす予め定められた整数）
【００７４】
式（１．１１）に従う非線形の量子化及び逆量子化を行う場合、前提技術に述べた方法では、変換用テーブル１８、４０に変換値を格納するため、一定容量の固体メモリなどの記憶手段が必要となる。例えば、前提技術に示した逆量子化装置では、（２４＊５１２）ビットの容量を持った記憶手段が必要となる。
【００７５】
また、入力される値の上位桁のみを使用して、変換用テーブル１８、４０を参照するので、入力される値が大きい場合、変換の誤差が生じやすい。例えば、前提技術に示した逆量子化装置では、量子化符号ｘ＝８１９１の場合、逆量子化値は、約１６４９２５．３８になるが、本来の逆量子化値は、約１６５１１３．４９であり、約１８８．１１の変換誤差が発生する。
【００７６】
変換用テーブル１８、４０のサイズを大きくすることで、この変換誤差を小さくすることができるが、大容量の記憶手段が必要になり、コスト高になる。逆に、変換用テーブル１８、４０のサイズを小さくすれば、記憶手段の容量を小さくすることができるが、変換誤差が大きくなり、量子化及び逆量子化の精度が悪化する。
【００７７】
こういった前提技術に係る課題に対処するため、前提技術のさらなる改良として、本発明に係る実施の形態を以下に説明する。
【００７８】
２．実施の形態１
本発明の実施の形態１について、図面を参照しながら、ＩＳ０／ＩＥＣ１１１７２−３に記載されたＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式の復号装置で用いられる逆量子化装置５０を例にして説明する。尚、ここでは、一例として、後述のように、量子化符号ｘの最大桁数Ｋ、上位桁値Ｄ１の桁数Ｍ、下位桁値Ｄ２の桁数Ｎについて、Ｋ＝１３、Ｍ＝９、Ｎ＝３の場合、また、変換式ｙ＝ｘ＾（ｐ／ｑ）において、ｐ＝４、ｑ＝３の場合を説明する。
【００７９】
図５は、実施の形態１に係る逆量子化装置５０を説明する概略ブロック図である。これらの構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされた逆量子化処理機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００８０】
逆量子化装置５０への入力となる量子化符号ｘは、０≦ｘ≦８１９１の範囲の整数値であり、２進数表現した最大桁数Ｋは１３桁である。桁数算出部５２は、入力された量子化符号ｘを２進数表現したときの桁数Ｌを算出する。分離部５４は、量子化符号ｘと桁数Ｌを入力とし、量子化符号ｘの値の２＾（１３−Ｌ）倍を２進数表現した場合の１２桁目から４桁目までの上位桁値Ｄ１と、量子化符号ｘの値の２＾（１３−Ｌ）倍を２進数表現した場合の３桁目から１桁目までの下位桁値Ｄ２とを分離して読み出す。上位桁値Ｄ１の桁数Ｍは９桁、下位桁値Ｄ２の桁数Ｎは３桁である。
【００８１】
図６は、量子化符号ｘ、桁数Ｌ、上位桁値Ｄ１、及び下位桁値Ｄ２の関係を説明する図である。一例として、最大桁数Ｋが１３桁のレジスタ１５０には、量子化符号ｘ＝１３５７が格納されており、桁数Ｌは１１桁である。このレジスタ１５０に格納されたビット値を（Ｋ−Ｌ）ビットすなわち２ビットだけ左にシフトすると、シフト後のレジスタ１５２は同図に示す状態になる。このシフト後のレジスタ１５２から１２桁目から４桁目までの上位桁値Ｄ１を分離して読み出すと、その値は１６６となり、３桁目から１桁目までの下位桁値Ｄ２を分離して読み出すと、その値は４となる。
【００８２】
図７は、別の量子化符号ｘの例を説明する図であり、レジスタ１５０には、量子化符号ｘ＝２５８３が格納されており、桁数Ｌは１２桁である。このレジスタ１５０に格納されたビット値を（Ｋ−Ｌ）ビットすなわち１ビットだけ左にシフトすると、シフト後のレジスタ１５２は同図に示す状態になる。このシフト後のレジスタ１５２から１２桁目から４桁目までの上位桁値Ｄ１を分離して読み出すと、その値は１３３となり、３桁目から１桁目までの下位桁値Ｄ２を分離して読み出すと、その値は６となる。
【００８３】
図５に戻り、変換用テーブル５８は、固体メモリなどの記憶部５７に予め用意されたテーブルであり、０から５１２までの整数値であるアドレスａに対応づけて、各アドレスａに対する式（２．１）に従う変換値が、上位１ビットが整数部で下位２３ビットが小数部を表す２４ビット固定小数点形式で格納されている。
式（２．１）  （０．５＋ａ／１０２４）＾（４／３）
【００８４】
テーブル参照部５６は、上位桁値Ｄ１を入力として受け取り、上位桁値Ｄ１をアドレスとして変換用テーブル５８を参照して、上位桁値Ｄ１に対する式（２．１）による変換値Ｖ１（下限値Ｖ１と呼ぶ）を読み出し、更に、上位桁値Ｄ１に１を加えた値（Ｄ１＋１）をアドレスとして変換用テーブル５８を参照して、その値（Ｄ１＋１）に対する式（２．１）による変換値Ｖ２（上限値Ｖ２と呼ぶ）を読み出す。
【００８５】
補間部６０は、式（２．２）に従って、下限値Ｖ１と上限値Ｖ２の間で下位桁値Ｄ２に基づく補間処理を行い、補間値Ｖ３を生成する。
式（２．２）  Ｖ３＝（Ｖ１＊（８−Ｄ２）＋Ｖ２＊Ｄ２）／８
【００８６】
調整部６２は、式（２．３）に従って処理を行い、逆量子化値ｙを生成する。
式（２．３）  ｙ＝Ｖ３＊２＾（Ｌ＊４／３）
【００８７】
この調整部６２による処理は、例えば、以下の方法によって容易に実現することができる。調整用テーブル５９として、０から２までの整数値であるアドレスａに対応づけて、各アドレスａに対する２＾（ａ／３）による変換値が、上位２ビットが整数部で下位２２ビットが小数部を表す２４ビット固定小数点形式で格納されたテーブルＴ［ａ］を記憶部５７に予め用意しておく。調整部６２は、Ｌ＊４を３で割った商Ｅ１と余りＥ２を求め、調整用テーブル５９を参照して、式（２．４）に従って、逆量子化値ｙを生成する。
式（２．４）  ｙ＝Ｖ３＊２＾Ｅ１＊Ｔ［Ｅ２］
【００８８】
この方法により、式（２．３）の演算は、（２４＊３）ビットの小容量の記憶手段と、単純な乗算手段、テーブル参照手段、ビットシフト手段にて実現が可能である。
【００８９】
但し、以上の処理において、量子化符号ｘ＝０の場合は、例外的に、逆量子化値ｙ＝０とするか、桁数Ｌとして充分小さな負の数、例えば、Ｌ＝−１００として処理を行う。
【００９０】
以上により、ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式の復号装置で用いられる逆量子化装置が実現できる。
【００９１】
次に、実施の形態１に係る逆量子化方法による作用と効果を説明する。式（２．５）は、ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式の復号装置における逆量子化で用いられる変換式であり、式（２．６）は、式（２．５）をｘについて２階微分した式である。
式（２．５）  ｙ＝ｘ＾（４／３）
式（２．６）  ｙ’’＝（４／３）＊（１／３）＊ｘ＾（−２／３）
【００９２】
式（２．６）における２階微分ｙ’’の値は、量子化符号ｘの増加に伴い、０に漸近する。２階微分値は、関数の傾きの変化率を表すので、式（２．５）の関数は、量子化符号ｘの値が大きくなる程、傾きが一定になり、直線に近づく性質を有している。
【００９３】
一方、量子化符号をｘとし、この量子化符号ｘに対して、上記の方法によって得られる逆量子化値をｙとする。また、下位桁値Ｄ２＝０となる量子化符号のうち、量子化符号ｘを挟んで隣り合うものをｘ１、ｘ２（但しｘ１≦ｘ＜ｘ２）とし、これらの隣り合う値ｘ１、ｘ２に対し、式（２．５）に従って得られる逆量子化値をそれぞれ下限値ｙ１、上限値ｙ２とする。
【００９４】
このとき、量子化符号ｘ、それを挟む両隣の値ｘ１、ｘ２は、それぞれ式（２．７）、（２．８）、（２．９）で表され、量子化符号ｘは、両隣の値ｘ１とｘ２を下位桁値Ｄ２に基づく比Ｄ２：（８−Ｄ２）で内分した値であることがわかる。
式（２．７）  ｘ＝２＾（Ｌ−１）＋Ｄ１＊２＾（Ｌ−１０）＋Ｄ２＊２＾（Ｌ−１３）
式（２．８）  ｘ１＝２＾（Ｌ−１）＋Ｄ１＊２＾（Ｌ−１０）＋０＊２＾（Ｌ−１３）＝２＾（Ｌ−１）＋Ｄ１＊２＾（Ｌ−１０）
式（２．９）  ｘ２＝２＾（Ｌ−１）＋Ｄ１＊２＾（Ｌ−１０）＋８＊２＾（Ｌ−１３）＝２＾（Ｌ−１）＋（Ｄ１＋１）＊２＾（Ｌ−１０）
【００９５】
また、逆量子化値ｙは、式（２．１０）で表され、下限値ｙ１と上限値ｙ２を下位桁値Ｄ２に基づく比Ｄ２：（８−Ｄ２）に内分する値として求められる。
式（２．１０）  ｙ＝（（０．５＋Ｄ１／１０２４）＾（４／３）＊（８−Ｄ２）＋（０．５＋（Ｄ１＋１）／１０２４＾（４／３）＊Ｄ２）／８＊２＾（Ｌ＊４／３）
＝（０．５＋Ｄ１／１０２４）＾（４／３）＊２＾（Ｌ＊４／３）＊（８−Ｄ２）／８＋（０．５＋（Ｄ１＋１）／１０２４）＾（４／３）＊２＾（Ｌ＊４／３）＊Ｄ２／８
＝（（２＾（Ｌ−１）＋Ｄ１＊２（Ｌ−１０））＾（４／３）＊（８−Ｄ２）／８＋（（２＾（Ｌ−１）＋（Ｄ１＋１）＊２（Ｌ−１０））＾（４／３）＊Ｄ２／８
＝（ｘ１＾（４／３））＊（８−Ｄ２）／８＋（ｘ２＾（４／３））＊Ｄ２／８
＝ｙ１＊（８−Ｄ２）／８＋ｙ２＊Ｄ２／８
【００９６】
従って、実施の形態１に係る逆量子化方法では、図８に示すように、変換式ｙ＝ｘ＾（４／３）をｘ１≦ｘ＜ｘ２の区間において、２点（ｘ１，ｙ１）、（ｘ２，ｙ２）を結ぶ直線で補間して、ｘ１≦ｘ＜ｘ２の範囲の量子化符号ｘに対する逆量子化値ｙを求めていることになる。
【００９７】
図６の例では、下位桁値Ｄ２は４であるから、補間値Ｖ３は（Ｖ１＋Ｖ２）／２となり、図７の例では、下位桁値Ｄ２は６であるから、補間値Ｖ３は（Ｖ１＋Ｖ２＊３）／４となり、下限値Ｖ１と上限値Ｖ２との間で下位桁値Ｄ２に応じた補間値Ｖ３が定められる。
【００９８】
ここで、下位桁値Ｄ２＝０となる量子化符号で、隣り合う２つのものの間隔は２＾（Ｌ−１０）で与えられる。これら２つの量子化符号の間隔は、量子化符号ｘの値が大きく、２進数表現したときの桁数Ｌが大きい程、広くなり、量子化符号ｘの値が小さく、２進数表現したときの桁数Ｌが小さい程、狭くなる。つまり、量子化符号ｘの値が大きくなる程、上記の直線捕間を行う間隔は粗くなり、量子化符号ｘの値が小さくなる程、上記の直線補間を行う間隔は密になる性質を有している。
【００９９】
この量子化符号間隔の性質と、式（２．５）で示した変換式が量子化符号ｘの値が大きくなる程、直線に近づくという変換式の曲率に関する性質とが相俟って、実施の形態１に係る逆量子化方法は、次の効果をもたらす。すなわち、量子化符号ｘの値が大きく、直線的に補間した場合に誤差があまり発生しない範囲では、補間を行う間隔が広くなり、量子化符号ｘの値が小さく、直線的に補間した場合に誤差が大きく発生する範囲では、補間を行う間隔が狭くなる。
【０１００】
したがって、実施の形態１に係る逆量子化方法では、変換式の曲率に応じて補間間隔が調整され、効率的な補間処理が実現しており、変換用テーブル５８のサイズを大きくすることなく、精度の良い逆量子化が可能である。
【０１０１】
また、実施の形態１に係る逆量子化方法では、量子化符号ｘの値に応じて、補間区間の間隔の異なる直線補間を用いるが、量子化符号ｘの上位から一定位置の桁に存在する下位桁値Ｄ２を用いることで、補間の間隔に依存して処理を変えることなく、同一の処理で補間を実現することが可能となっている。
【０１０２】
また、実施の形態１に係る逆量子化方法では、補間を行う上限値と下限値として、同じ変換用テーブル５８内に連続して格納された値を用いることで、変換用テーブル５８内に格納された値を重複して使用することができる。例えば、上位桁値Ｄ１＝３のときの上限値Ｖ２は、上位桁値Ｄ１＝４のときの下限値Ｖ１と同じであることから、同一の変換用デーブルから上限値Ｖ２と下限値Ｖ１を参照することができる。従って、変換用テーブル５８に格納される変換値の数を増加させることなく補間処理が可能である。
【０１０３】
尚、実施の形態１では、ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式の復号装置における逆量子化で用いられる変換式を例にして説明したが、変換式の２階微分が０に漸近する場合には、同様の効果が得られるため、式（２．１１）で示す変換に従う逆量子化に対し、一般的に適用することが可能である。
式（２．１１）  ｙ＝ｘ＾（ｐ／ｑ）
（但し、ｐ、ｑは、（ｐ／ｑ）＜２かつｑ≠０かつｐ≠０を満たす予め定められた整数）
【０１０４】
３．実施の形態２
本発明の実施の形態２について、図面を参照しながら、ＩＳ０／ＩＥＣ１１１７２−３に記載されたＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式の符号化装置で用いられる量子化装置７０を例にして説明する。尚、ここでは、一例として、後述のように、入力信号ｗの最大値Ｇ、入力信号ｗの整数化の際の乗算係数Ｓ、正規化値ｖの最大桁数Ｋ、上位桁値Ｄ１の桁数Ｍ、下位桁値Ｄ２の桁数Ｎについて、Ｇ＝８１９２．５９４６＾（４／３）、Ｓ＝４、Ｋ＝２０、Ｍ＝１３、Ｎ＝６の場合、また、変換式ｙ＝ｘ＾（ｐ／ｑ）において、ｐ＝３、ｑ＝４の場合を説明する。
【０１０５】
図９は、実施の形態２に係る量子化装置７０を説明する概略ブロック図である。量子化装置７０への入力値ｗは、上位１８ビットが整数部で下位６ビットが小数部を表す２４ビットの固定小数点形式で表現された０≦ｗ＜（８１９１．５９４６）＾（４／３）の範囲の小数値である。
【０１０６】
正規化部７２は、式（３．１）に従って、入力値ｗを４倍した値を整数化し、正規化値ｖとして出力する。
式（３．１）  ｖ＝ｉｎｔ（４＊ｗ＋０．５）
【０１０７】
入力値ｗは、０≦ｗ＜８１９１．５９４６＾（４／３）の範囲の小数値であるので、正規化値ｖは、０≦ｖ≦６６０５１７の範囲の整数値となる。つまり、正規化値ｖを２進数表現した場合の最大桁数Ｋは２０桁である。
【０１０８】
桁数算出部７４は、正規化値ｖを２進数表現したときの桁数Ｌを算出する。分離部７６は、正規化値ｖと桁数Ｌを入力とし、正規化値ｖの２＾（２０−Ｌ）倍を２進数表現した場合の１９桁目から７桁目までの上位桁値Ｄ１と、正規化値ｖの２＾（２０−Ｌ）倍を２進数表現した場合の６桁目から１桁目までの下位桁値Ｄ２とを分離して読み出す。上位桁値Ｄ１の桁数Ｍは１３桁、下位桁値Ｄ２の桁数Ｎは６桁である。
【０１０９】
図１０は、正規化値ｖ、桁数Ｌ、上位桁値Ｄ１、及び下位桁値Ｄ２の関係を説明する図である。一例として、最大桁数Ｋが２０桁のレジスタ１７０には、正規化値ｖ＝９８７６５が格納されており、桁数Ｌは１７桁である。このレジスタ１７０に格納されたビット値を（Ｋ−Ｌ）ビットすなわち３ビットだけ左にシフトすると、シフト後のレジスタ１７２は同図に示す状態になる。このシフト後のレジスタ１７２から１９桁目から７桁目までの上位桁値Ｄ１を分離して読み出すと、その値は４１５３となり、６桁目から１桁目までの下位桁値Ｄ２を分離して読み出すと、その値は４０となる。
【０１１０】
図９に戻り、変換用テーブル８０は、固体メモリなどの記憶部７９に予め用意されたテーブルであり、０から８１９１までの整数値であるアドレスａに対応づけて、各アドレスａに対する式（３．２）に従う変換値が、上位１ビットが整数部で下位２３ビットが小数部を表す２４ビット固定小数点形式で格納されている。
式（３．２）  （０．５＋ａ／１６３８４）＾（３／４）
【０１１１】
テーブル参照部７８は、上位桁値Ｄ１を入力として受け取り、上位桁値Ｄ１をアドレスとして変換用テーブル８０を参照して、上位桁値Ｄ１に対する式（３．２）による変換値Ｖ１（下限値Ｖ１と呼ぶ）を読み出し、更に、上位桁値Ｄ１に１を加えた値（Ｄ１＋１）をアドレスとして変換用テーブル８０を参照して、その値（Ｄ１＋１）に対する式（３．２）による変換値Ｖ２（上限値Ｖ２と呼ぶ）を読み出す。
【０１１２】
補間部８２では、式（３．３）に従って、下限値Ｖ１と上限値Ｖ２の間で下位桁値Ｄ２に基づく補間処理を行い、補間値Ｖ３を生成する。
式（３．３）  Ｖ３＝（Ｖ１＊（６４−Ｄ２）＋Ｖ２＊Ｄ２）／６４
【０１１３】
調整部８４は、式（３．４）に従って処理を行い、調整値Ｖ４を生成する。
式（３．４）  Ｖ４＝Ｖ３＊２＾（Ｌ＊３／４）＊２＾（−２＊３／４）
【０１１４】
この調整部８４による処理は、例えば、以下の方法によって容易に実現することができる。調整用テーブル８１として、０から３までの整数値であるアドレスａに対応づけて、各アドレスａに対する２＾（ａ／４）による変換値が、上位２ビットが整数部で下位２２ビットが小数部を表す２４ビット固定小数点形式で格納されたテーブルＴ［ａ］を記憶部７９に予め用意しておく。調整部８４は、Ｌ＊３を４で割った商Ｅ１と、余りＥ２を求め、調整用テーブル８１を参照して、式（３．５）に従って、調整値Ｖ４を生成する。
式（３．５）  Ｖ４＝Ｖ１＊２＾Ｅ１＊Ｔ［Ｅ２］＊２＾（−２＊３／４）
【０１１５】
この方法により、式（３．４）の演算は、（２４＊４）ビットの小容量の記憶手段と、単純な乗算手段、テーブル参照手段、ビットシフト手段にて実現が可能である。
【０１１６】
整数化部８６は、式（３．６）に従って、Ｖ４の小数部を丸めて整数化し、量子化符号ｘを生成する。
式（３．６）  ｘ＝ｉｎｔ（Ｖ４＋０．５−０．０９４６）
【０１１７】
但し、以上の処理において、入力値ｗが小さく、正規化値ｖ＝０となる場合は、例外的に、量子化符号ｘ＝０とするか、桁数Ｌとして充分小さな負の数、例えば、Ｌ＝−１００として処理を行う。
【０１１８】
以上により、ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式の符号化装置で用いられる量子化装置が実現できる。
【０１１９】
次に、実施の形態２に係る量子化方法による作用と効果を説明する。式（３．７）は、ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式の符号化装置における量子化で用いられる変換式であり、式（３．８）は、式（３．７）をｖについて２階微分した式である。
式（３．７）  Ｖ４＝ｖ＾（３／４）
式（３．８）  Ｖ４’’＝（３／４）＊（−１／４）＊ｖ＾（−５／４）
【０１２０】
式（３．８）における２階微分Ｖ４’’の値は、正規化値ｖの増加に伴い、０に漸近する。すなわち、式（３．７）の関数は正規化値ｖが大きくなる程、傾きが一定になり、直線に近づく性質を有している。
【０１２１】
一方で、正規化値をｖとし、この正規化値ｖに対して、上記の方法によって得られる値をＶ４とする。また、下位桁値Ｄ２＝０となる正規化値のうち、入力値ｖを挟んで隣り合うものをｖ１、ｖ２（但しｖ１≦ｖ≦ｖ２）とし、これらの隣り合う値ｖ１、ｖ２に対し、式（３．７）に従って得られる調整値をそれぞれ下限値Ｖ４＿１、上限値Ｖ４＿２とする。
【０１２２】
このとき、正規化値ｖ、それを挟む両隣の値ｖ１、ｖ２は、それぞれ式（３．９）、（３．１０）、（３．１１）で表され、正規化値ｖは、両隣の値ｖ１とｖ２を下位桁値Ｄ２に基づく比Ｄ２：（６４−Ｄ２）で内分した値であることがわかる。
式（３．９）  ｖ＝２＾（Ｌ−１）＋Ｄ１＊２＾（Ｌ−１４）＋Ｄ２＊２＾（Ｌ−２０）
式（３．１０）  ｖ１＝２＾（Ｌ−１）＋Ｄ１＊２＾（Ｌ−１４）＋０＊２＾（Ｌ−２０）＝２＾（Ｌ−１）＋Ｄ１＊２＾（Ｌ−１４）
式（３．１１）  ｖ２＝２＾（Ｌ−１）＋Ｄ１＊２＾（Ｌ−１４）＋６４＊２＾（Ｌ−２０）＝２＾（Ｌ−１）＋（Ｄ１＋１）＊２＾（Ｌ−１４）
【０１２３】
また、調整値Ｖ４は、式（３．１２）で表され、下限値Ｖ４＿１と上限値Ｖ４＿２を下位桁値Ｄ２に基づく比Ｄ２：（６４−Ｄ２）に内分する値として求められる。
式（３．１２）  Ｖ４＝（（０．５＋Ｄ１／１６３８４）＾（３／４）＊（６４−Ｄ２）＋（０．５＋（Ｄ１＋１）／１６３８４）＾（３／４）＊Ｄ２）／６４＊２＾（Ｌ＊３／４）
＝（０．５＋Ｄ１／１６３８４）＾（３／４）＊２＾（Ｌ＊３／４）＊（６４−Ｄ２）／６４＋（０．５＋（Ｄ１＋１）／１６３８４）＾（３／４）＊２＾（Ｌ＊３／４）＊Ｄ２／６４
＝（（２＾（Ｌ−１）＋Ｄ１＊２＾（Ｌ−１４））＾（３／４）＊（６４−Ｄ２）／６４＋（（２＾（Ｌ−１）＋（Ｄ１＋１）＊２＾（Ｌ−１４））＾（３／４）＊Ｄ２／６４
＝（ｖ１＾（３／４））＊（６４−Ｄ２）／６４＋（ｖ２＾（３／４））＊Ｄ２／６４
＝Ｖ４＿１＊（６４−Ｄ２）／６４＋Ｖ４＿２＊Ｄ２／６４
【０１２４】
従って、実施の形態２に係る量子化方法では、図１１に示すように、変換式Ｖ４＝ｖ＾（３／４）をｖ１≦ｖ＜ｖ２の区間において、２点（ｖ１，Ｖ４＿１）、（ｖ２，Ｖ４＿２）を結ぶ直線で補間して、ｖ１≦ｖ＜ｖ２の範囲の正規化値ｖに対する調整値Ｖ４を求めていることになる。
【０１２５】
図１０の例では、下位桁値Ｄ２は４０であるから、補間値Ｖ３は（Ｖ１＊３＋Ｖ２＊５）／８となり、下限値Ｖ１と上限値Ｖ２との間で下位桁値Ｄ２に応じた補間値Ｖ３が定められる。
【０１２６】
ここで、下位桁値Ｄ２＝０となる正規化値で、隣り合う２つのものの間隔は２＾（Ｌ−１４）で与えられる。これら２つの正規化値の間隔は、正規化値ｖが大きく、２進数表現したときの桁数Ｌが大きい程、広くなり、正規化値ｖが小さく、２進数表現したときの桁数Ｌが小さい程、狭くなる。つまり、正規化値ｖの値が大きくなる程、上記の直線補間を行う間隔は粗くなり、正規化値ｖの値が小さくなる程、上記の直線補間を行う間隔は密になる性質を有している。
【０１２７】
この正規化値間隔の性質と、式（３．７）で示した変換式が正規化値ｖが大きくなる程、直線に近づくという変換式の曲率に関する性質とが相俟って、実施の形態２に係る量子化方法は、実施の形態１に係る逆量子化方法と同様の効果をもたらす。すなわち、正規化値ｖが大きく、直線的に補間した場合に誤差があまり発生しない範囲では、補間を行う間隔が広くなり、正規化値ｖの値が小さく、直線的に補間した場合に誤差が大きく発生する範囲では、補間を行う間隔が狭くなる。
【０１２８】
したがって、実施の形態２に係る量子化方法では、変換式の曲率に応じて補間間隔が調整され、効率的な補間処理が実現しており、変換用テーブル８０のサイズを大きくすることなく、精度の良い量子化が可能である。
【０１２９】
また、実施の形態１と同様、直線補間の間隔は正規化値ｖの値に応じて調整されるが、正規化値ｖの下位桁値Ｄ２を用いることで、補間の間隔に依存しない同一の処理で補間を実現できている。
【０１３０】
また、実施の形態１と同様、補間を行う上限値と下限値として、同じ変換用テーブル８０内にして連続して格納された値を用いることができるので、補間のために変換用テーブル８０に格納する変換値の数を増やす必要がない。
【０１３１】
尚、実施の形態２では、ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式の符号化装置における量子化で用いられる変換式を例にして説明したが、変換式の２階微分が０に漸近する場合には、同様の効果が得られるため、式（３．１３）で示した変換に従う量子化に対し、一般的に適用することが可能である。
式（３．１３）  Ｖ４＝ｖ＾（ｐ／ｑ）
（但し、ｐ、ｑは、（ｐ／ｑ）＜２かつｑ≠０かつｐ≠０を満たす予め定められた整数）
【０１３２】
４．実施の形態３
本実施の形態に係る量子化装置及び逆量子化装置では、実施の形態１及び２の場合とは違って、量子化及び逆量子化の変換式が定義域の大きいところで直線近似することができない場合を扱う。実施の形態１及び２と共通する部分については説明を省略し、相違点を中心に説明する。
【０１３３】
逆量子化を行う変換式をｙ＝ｘ＾（ｐ／ｑ）とすると、（ｐ／ｑ）≧２の場合、２階微分によって、ｙ’’＝（ｐ／ｑ）＊（ｐ／ｑ−１）＊ｘ＾（ｐ／ｑ−２）となるが、この２階微分ｙ’’の値は、ｘが増加しても０に収束しない。したがって、ｘの値が大きい範囲で、変換式ｙ＝ｘ＾（ｐ／ｑ）を直線で近似することができず、実施の形態１で示した効果が得られない。
【０１３４】
また、（ｐ／ｑ）＜２の場合であっても、２階微分ｙ’’＝（ｐ／ｑ）＊（ｐ／ｑ−１）＊ｘ＾（ｐ／ｑ−２）が、ｘの増加に伴って０に収束する速度が遅い場合、ｘの値が大きい範囲でも変換式ｙ＝ｘ＾（ｐ／ｑ）を充分な精度で直線近似することができず、実施の形態１で示した劾果が得られないことがある。
【０１３５】
これらの場合には、変換式ｙ＝ｘ＾（ｐ／ｑ）を以下のように変形して扱う。
ｙ＝ｘ＾（ｐ／ｑ）＝ｘ＾（ｒ＋ｓ／ｑ）＝（ｘ＾ｒ）＊（ｘ＾（ｓ／ｑ））（但し、ｒ、ｓは、ｐ＝ｒ＊ｑ＋ｓかつｒ＞０を満たすように定められた整数）ここで、ｙ１＝ｘ＾ｒ、ｙ２＝ｘ＾（ｓ／ｑ）とする。
【０１３６】
このとき、（ｓ／ｑ）の値を充分小さくとれば、ｙ２の２階微分は、ｘの増加に伴って充分な速さで０に収束するので、ｘの値が大きい範囲で、充分な精度でｙ２を直線近似することができる。従ってｙ２の算出は、実施の形態１に説明した手法を適用して行うことができる。またｙ１の算出とｙ１＊ｙ２の演算は、単純な乗算で行うことができる。
【０１３７】
従って、実施の形態３に係る逆量子化方法により、変換式ｙ＝ｘ＾（ｐ／ｑ）の指数（ｐ／ｑ）の値を限定しなくても、精度の良い逆量子化を実現することが可能である。
【０１３８】
量子化の場合も同様である。量子化を行う変換式を次のように表す。
ｘ＝ｒｎｄ（ｗ＾（ｐ／ｑ））＝ｒｎｄ（（ｖ／Ｓ）＾（ｐ／ｑ））＝ｒｎｄ（ｖ＾（ｐ／ｑ）＊（１／Ｓ）＾（ｐ／ｑ））＝ｒｎｄ（ｙ）
但し、ｘは量子化値、ｗは入力値で、ｗ＊Ｓ＝ｖ、ｙ＝ｗ＾（ｐ／ｑ）の関係がある。
【０１３９】
ここで、ｙとｖの関係を調べる。（ｐ／ｑ）≧２の場合、２階微分によって、ｙ’’＝（ｐ／ｑ）＊（ｐ／ｑ−１）＊ｖ＾（ｐ／ｑ−２）＊（１／Ｓ）＾（ｐ／ｑ）となるが、この２階微分ｙ’’の値は、ｖが増加しても０に収束しない。したがって、ｖの値が大きい範囲で、ｙ＝ｖ＾（ｐ／ｑ）＊（１／Ｓ）＾（ｐ／ｑ）を直線で近似することができず、実施の形態２で示した効果が得られない。
【０１４０】
また、（ｐ／ｑ）＜２の場合であっても、２階微分ｙ’’の値がｖの増加に伴って０に収束する速度が遅い場合、ｖの値が大きい範囲でもｙ＝ｖ＾（ｐ／ｑ）＊（１／Ｓ）＾（ｐ／ｑ）を充分な精度で直線近似することができず、実施の形態２で示した劾果が得られないことがある。
【０１４１】
これらの場合には、ｙ＝ｖ＾（ｐ／ｑ）＊（１／Ｓ）＾（ｐ／ｑ）を以下のように変形して扱う。
ｙ＝ｖ＾（ｐ／ｑ）＊（１／Ｓ）＾（ｐ／ｑ）＝ｖ＾（ｒ＋ｓ／ｑ）＊（１／Ｓ）＾（ｐ／ｑ）＝（ｖ＾ｒ）＊（ｖ＾（ｓ／ｑ））＊（１／Ｓ）＾（ｐ／ｑ）
（但し、ｒ、ｓは、ｐ＝ｒ＊ｑ＋ｓかつｒ＞０を満たすように定められた整数）
ここで、ｙ１＝ｖ＾ｒ、ｙ２＝ｖ＾（ｓ／ｑ）、ｙ３＝（１／Ｓ）＾（ｐ／ｑ）とする。
【０１４２】
このとき、（ｓ／ｑ）の値を充分小さくとれば、ｙ２の２階微分は、ｖの増加に伴って充分な速さで０に収束するので、ｖの値が大きい範囲で、充分な精度でｙ２を直線近似することができる。従ってｙ２の算出は、実施の形態２に説明した手法を適用して行うことができる。またｙ３は定数であり、ｙ１の算出とｙ１＊ｙ２＊ｙ３の演算は、単純な乗算で行うことができる。
【０１４３】
ｗからｖへの変換は、乗算及び単純な丸め処理で行うことができ、ｖからｙへの変換は、上記の方法で精度良く行うことができる。また、ｙからｘへの変換は、単純な丸め処理である。
【０１４４】
従って、実施の形態３に係る量子化方法により、変換式ｘ＝ｒｎｄ（ｗ＾（ｐ／ｑ））の指数（ｐ／ｑ）の値を限定しなくても、精度の良い量子化を実現することが可能である。
【０１４５】
尚、ｖ＝ｗ＊Ｓ及びｐ＝ｒ＊ｑ＋ｓの関係を用いれば、
ｙ１＊ｙ３＝（ｖ＾ｒ）＊（１／Ｓ）＾（ｐ／ｑ）
＝（ｗ＊Ｓ）＾ｒ＊（１／Ｓ）＾（（ｒ＊ｑ＋ｓ）／ｑ）
＝（ｗ＾ｒ）＊（Ｓ＾ｒ）＊（１／Ｓ）＾ｒ＊（（１／Ｓ）＾（ｓ／ｑ））
＝（ｗ＾ｒ）＊（（１／Ｓ）＾（ｓ／ｑ））
となるので、ｙ１＝ｗ＾ｒ、ｙ３＝（１／Ｓ）＾（ｓ／ｑ）として、上記の処理を行っても、全く等価の結果を得ることができる。
【０１４６】
５．実施の形態４
本実施の形態に係る逆量子化装置では、逆量子化の際のスケーリング処理に対処する点が実施の形態１とは異なる。以下、相違点のみ説明する。
【０１４７】
ＭＰＥＧ１−Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ方式などの逆量子化の過程では、変換式ｙ＝ｘ＾（ｐ／ｑ）に従う変換に加え、２＾（ｕ／ｔ）を乗じるスケーリング処理が行われることが多い。ここでｕは変換の際に入力される整数値で、スケールファクタと呼ばれる。また、ｔは予め与えられた整数である。このとき、スケーリング処理を含めた逆量子化の変換式は以下のようになる。
ｙ＝ｘ＾（ｐ／ｑ）＊２＾（ｕ／ｔ）
【０１４８】
この場合、実施の形態１の式（２．３）の演算は、以下の方法で、スケーリング処理と統合して行うことができる。
式（２．３）（再掲）  ｙ＝Ｖ３＊２＾（Ｌ＊４／３）
スケーリング処理を含む場合の式（２．３）に対応する式は、以下のようになる。
ｙ＝Ｖ３＊２＾（Ｌ＊ｐ／ｑ）＊２＾（ｕ／ｔ）
＝Ｖ３＊２＾（Ｌ＊ｐ／ｑ＋ｕ／ｔ）
＝Ｖ３＊２＾（（Ａ＊Ｌ＊ｐ＋Ｂ＊ｕ）／Ｃ）
（但し、Ｃはｑ、ｔの最小公倍数とし、Ａ＝Ｃ／ｑ、Ｂ＝Ｃ／ｔとする）
【０１４９】
ここで、調整用テーブル５９として、０から（Ｃ−１）までの整数値であるアドレスａに対応づけて、各アドレスａに対する変換式２＾（ａ／Ｃ）による変換値が、上位２ビットが整数部で下位２２ビットが小数部を表す２４ビット固定小数点形式で格納されたテーブルＴ［ａ］を記憶部５７に予め用意しておく。調整部６２は、（Ａ＊Ｌ＊ｐ＋Ｂ＊ｕ）をＣで割った商Ｅ１と、余りＥ２を求め、調整用テーブル５９を参照して、以下の式に従って、逆量子化値ｙを生成する。
ｙ＝Ｖ３＊２＾Ｅ１＊Ｔ［Ｅ２］
【０１５０】
従って、実施の形態４に係る逆量子化方法により、式（２．３）に対応する演算をスケーリングと同時に処理することができる。
【０１５１】
６．実施の形態５
実施の形態１及び２において、上位桁値Ｄ１の桁数Ｍ、下位桁値Ｄ２の桁数Ｎ、入力値の桁数Ｌについて、（１＋Ｍ＋Ｎ）＜Ｌとなる場合、下位桁値Ｄ２の更に下位に位置する桁が切り捨てられ、下位桁値Ｄ２が補間処理において内分比として用いられる際、誤差を含むことになる。そこで、本実施の形態では、以下の式のように、下位桁値Ｄ２の最下位桁を四捨五入して補間を行う。
Ｄ３＝ｉｎｔ（（Ｄ２＋１）／２）
Ｖ３＝（Ｖ１＊（２＾（Ｎ−１）−Ｄ３）＋Ｖ２＊Ｄ３）／（２＾（Ｎ−１））
【０１５２】
これにより、（１＋Ｍ＋Ｎ）＜Ｌの場合でも、より精度の良い量子化及び逆量子化を実現することが可能である。
【０１５３】
７．実施の形態６
これまでに述べた実施の形態の量子化及び逆量子化装置はいずれも、オーディオ信号の符号化及び復号装置の構成として利用できる。
【０１５４】
図１２は、実施の形態６に係るオーディオ符号化装置２００の構成図である。直交変換部２０２は、入力されたオーディオサンプルを離散コサイン変換などにより直交変換し、オーディオブロックを生成する。量子化部２０４は、オーディオブロックのデータの量子化を行う。この量子化部２０４に、実施の形態２、３、４、及び５のいずれかの量子化装置を用いる。可変長符号化部２０６は、量子化部２０４から出力される量子化値に可変長符号化を施し、符号化オーディオブロックを出力する。ストリーム生成部２０８は、符号化オーディオブロックのデータをブロック情報などの符号化パラメータと共に多重化し、オーディオストリームとして出力する。
【０１５５】
図１３は、実施の形態６に係るオーディオ復号装置２２０の構成図である。ストリーム解析部２２２は、入力されたオーディオストリームを解析してオーディオブロックを抽出する。復号部２２４は、可変長符号化されたオーディオブロックを復号する。逆量子化部２２６は、オーディオブロックのデータの逆量子化を行う。この逆量子化部２２６に、実施の形態１、３、４、及び５のいずれかの逆量子化装置を用いる。逆直交変換部２２８は、逆量子化されたオーディオブロックのデータを離散コサイン逆変換などにより変換し、オーディオサンプルを再生する。
【０１５６】
８．実施の形態７
これまでに述べた実施の形態の量子化及び逆量子化装置はいずれも、画像の符号化及び復号装置の構成として利用できる。
【０１５７】
図１４は、実施の形態７に係る画像符号化装置２４０の構成図である。直交変換部２４２は、入力された原画像を離散コサイン変換やウェーブレット変換などにより直交変換し、画像ブロックを生成する。量子化部２４４は、画像ブロックのデータの量子化を行う。この量子化部２４４に、実施の形態２、３、４、及び５のいずれかの量子化装置を用いる。可変長符号化部２４６は、量子化部２４４から出力される量子化値に可変長符号化を施し、符号化画像ブロックを出力する。ストリーム生成部２４８は、符号化画像ブロックのデータをブロック情報などの符号化パラメータと共に多重化し、画像ストリームとして出力する。
【０１５８】
図１５は、実施の形態７に係る画像復号装置２６０の構成図である。ストリーム解析部２６２は、入力された画像ストリームを解析して画像ブロックを抽出する。復号部２６４は、可変長符号化された画像ブロックを復号する。逆量子化部２６６は、画像ブロックのデータの逆量子化を行う。この逆量子化部２６６に、実施の形態１、３、４、及び５のいずれかの逆量子化装置を用いる。逆直交変換部２６８は、逆量子化された画像ブロックのデータを離散コサイン逆変換やウェーブレット逆変換などにより変換し、原画像を再生する。
【０１５９】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１６０】
そのような変形例として、上記の実施の形態では、量子化及び逆量子化の変換式がｙ＝ｘ＾（ｐ／ｑ）（ｐ、ｑはゼロでない整数）の場合を説明したが、より一般に変換式はｙ＝ｘ＾ｇ（ｇはゼロでない実数）の形であってもよい。この場合、０≦ａ≦２＾Ｍの範囲の整数ａに対する（０．５＋ａ／（２＾（Ｍ＋１）））＾ｇの値を変換用テーブルに格納し、その変換用テーブルを参照して、ｘの上位桁値に対する値を下限値として、上位桁値に１を加えた値に対する値を上限値として取得し、ｘの下位桁値に基づいて、下限値と上限値の間で補間値を定め、その補間値と２＾（Ｌ＊ｇ）の値とを乗じた値を変換式ｘ＾ｇによる変換値ｙとして生成する。
【０１６１】
このとき、２＾（Ｌ＊ｇ）を計算するために、２＾ｇの値を格納した調整用テーブルを用意し、調整用テーブルを参照して２＾ｇの値を取得し、それをＬ回乗じてもよい。また、調整用テーブルに２＾（Ｌ＊ｇ）の値を格納してもよいが、この場合、桁数Ｌの取りうる範囲が大きくなると、調整用テーブルのサイズが大きくなる。
【０１６２】
この変換式ｘ＾ｇによる変換の場合も、変換式のｘに関する２階微分がｘの大きいところでゼロに近づくという曲率に関する特性があれば、曲率に応じて量子化ステップ幅が調整され、効率的な補間処理が行われる。したがって、変換式の指数ｇが２より小さい値であれば、更に計算精度が良くなる。
【０１６３】
上記の実施の形態では、量子化符号ｘの値の２＾（Ｋ−Ｌ）倍の２進数表現における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までの上位桁値Ｄ１と、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までの下位桁値Ｄ２とを分離して読み出し、上位桁値Ｄ１をインデックスとして利用して、０≦ａ≦２＾Ｍの範囲の整数ａに対する変換式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）の値を第ａ番目に格納した変換用テーブルＴ［ａ］を参照し、下限値Ｖ１＝Ｔ［Ｄ１］及び上限値Ｖ２＝Ｔ［Ｄ１＋１］を取得している。この変形例として、量子化符号ｘの値の２＾（Ｋ−Ｌ）倍の２進数表現におけるＫ桁目から（Ｋ−ｍ＋１）桁目までのｍ桁を上位桁値ｄ１として読み出し、（Ｋ−ｍ）桁目から（Ｋ−ｍ−Ｎ＋１）桁目までを下位桁値ｄ２として読み出す場合でも、０≦ａ≦２＾（ｍ−１）の範囲の整数ａに対する変換式（０．５＋ａ／（２＾ｍ））＾（ｐ／ｑ）の値を第ａ番目に格納した変換用テーブルＴ［ａ］を用意し、上位桁値ｄ１から２＾（ｍ−１）だけ引いた値をインデックスとして利用して、下限値Ｖ１＝Ｔ［ｄ１−２＾（ｍ−１）］及び上限値Ｖ２＝Ｔ［（ｄ１＋１）−２＾（ｍ−１）］を取得することにより、同様の処理が可能である。
【０１６４】
この変形例の場合、上位桁値ｄ１に量子化符号ｘの値の２＾（Ｋ−Ｌ）倍の２進数表現の最上位桁が含まれる点が、上記の実施の形態と相違するように見えるが、Ｍ＝ｍ−１とすれば、変換用テーブルとして、０≦ａ≦２＾Ｍの範囲の整数ａに対して、第ａ番目の値Ｔ［ａ］＝（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）を保持していることに他ならない。また、変形例の上位桁値ｄ１の最上位桁は必ず１であり、それ以降の桁は上記の実施の形態の上位桁値Ｄ１と同じ値であることから、下限値Ｖ１と上限値Ｖ２を参照するためのインデックス（ｄ１−２＾（ｍ−１））、（（ｄ１＋１）−２＾（ｍ−１））は、それぞれ上記の実施の形態において用いられるインデックスＤ１、Ｄ１＋１に等しい。従って、この変形例では、上記の実施の形態のインデックスＤ１、Ｄ１＋１に応じて、テーブル参照を行っていることに他ならない。すなわち、変形例では、形式的には上位桁値ｄ１の最上位桁も用いてテーブル参照を行っているが、実質的には、上記の実施の形態のテーブル参照と等価な処理を行っているのである。
【０１６５】
同様に、量子化符号ｘの値の２＾（Ｋ−Ｌ）倍の２進数表現における（Ｋ−１）桁目から（Ｋ−Ｍ）桁目までを上位桁値Ｄ１として読み出し、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目までを下位桁値Ｄ２として読み出す場合において、０≦ｂ≦２＾Ｍの範囲の整数ｂに対する変換式（０．５＋（２＾Ｍ−ｂ）／（２＾（Ｍ＋１）））＾（ｐ／ｑ）の値を第ｂ番目に格納した変換用テーブルＴ［ｂ］を用意した場合であっても、２＾Ｍから上位桁値Ｄ１を引いた値をインデックスとして利用して、下限値Ｖ１＝Ｔ［２＾Ｍ−Ｄ１］及び上限値Ｖ２＝Ｔ［２＾Ｍ−（Ｄ１＋１）］を取得することにより、同様の処理が可能である。
【０１６６】
この場合でも、ｂ＝２＾Ｍ−ａとすれば、変換用テーブルとして、０≦ａ≦２＾Ｍの範囲の整数ａに対して、Ｔ［２＾Ｍ−ａ］＝（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）が用意されており、整数ａに対応づけて、変換式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）の値を保持していることに他ならない。また、ａ＝２＾Ｍ−ｂ＝Ｄ１となるように、整数ａと上位桁値Ｄ１が関連づけられ、整数ａに対して、上記のように変換式が関連づけられるため、Ｄ１、Ｄ１＋１をテーブル参照のインデックスとして直接用いてはいないが、Ｄ１、Ｄ１＋１に対応する変換式の値を参照していることに他ならず、実質的な違いはない。
【０１６７】
更に、量子化符号ｘの値の２＾（Ｋ−Ｌ）倍の２進数表現におけるＫ桁目から（Ｋ−ｍ＋１）桁目までのｍ桁を上位桁値ｄ１として読み出し、（Ｋ−ｍ）桁目から（Ｋ−ｍ−Ｎ＋１）桁目までを下位桁値ｄ２として読み出す場合において、０≦ｂ≦２＾（ｍ−１）の範囲の整数ｂに対する変換式（０．５＋（２＾（ｍ−１）−ｂ）／（２＾ｍ））＾（ｐ／ｑ）の値を第ｂ番目に格納した変換用テーブルＴ［ｂ］を用意した場合であっても、２＾ｍから上位桁値ｄ１を引いた値をインデックスとして利用して、下限値Ｖ１＝Ｔ［２＾ｍ−ｄ１］及び上限値Ｖ２＝Ｔ［２＾ｍ−（ｄ１＋１）］を取得することにより、同様の処理が可能である。
【０１６８】
この場合も、Ｍ＝ｍ−１とすれば、変換用テーブルとして、０≦ｂ≦２＾Ｍの範囲の整数ｂに対して、第ｂ番目の値Ｔ［ｂ］＝（０．５＋（２＾Ｍ−ｂ）／（２＾（Ｍ＋１）））＾（ｐ／ｑ）を保持していることになり、更に、ｂ＝２＾Ｍ−ａとすれば、変換用テーブルとして、０≦ａ≦２＾Ｍの範囲の整数ａに対して、Ｔ［２＾Ｍ−ａ］＝（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）が用意されており、整数ａに対応づけて、変換式（０．５＋ａ／（２＾（Ｍ＋１）））＾（ｐ／ｑ）の値を保持していることに他ならない。また、この変形例においても上位桁値ｄ１の最上位桁は必ず１であり、それ以降の桁は上記の実施の形態の上位桁値Ｄ１と同じ値であることから、下限値Ｖ１と上限値Ｖ２を参照するためのインデックス（２＾ｍ−ｄ１）、（２＾ｍ−（ｄ１＋１））は、それぞれ２＾ｍ−ｄ１＝２＾（ｍ−１）＋２＾（ｍ−１）−ｄ１＝２＾Ｍ−Ｄ１、２＾ｍ−（ｄ１＋１）＝２＾（ｍ−１）＋２＾（ｍ−１）−（ｄ１＋１）＝２＾Ｍ−（Ｄ１＋１）となる。このとき、ａ＝２＾Ｍ−ｂ＝Ｄ１となるように、整数ａと上位桁値Ｄ１が関連づけられ、整数ａに対して、上記のように変換式が関連づけられるため、実質的には、インデックスＤ１、Ｄ１＋１を用いたテーブル参照と等価な処理を行っていることになる。
【０１６９】
以上のような変形例は、量子化の場合も同様に有効であり、本発明の範囲に含まれる。また、上記の例以外にも、（Ｋ−１）桁目から（Ｋ−Ｍ）桁目まで以外の桁も上位桁値Ｄ１と同時に取得する場合、（Ｋ−Ｍ−１）桁目から（Ｋ−Ｍ−Ｎ）桁目まで以外の桁も下位桁値Ｄ２と同時に取得する場合、変換用テーブルが０≦ａ≦２＾Ｍの範囲外の整数ａの値に対する変換値を保持する場合、変換用テーブル内の変換値の配置順序または変換値の参照インデックスが形式的に異なる場合、あるいは、それらが組み合わされた場合であっても、上述のような式変形や設計変更により、実質的に本発明と同様の量子化及び逆量子化を行っていることが理解される限り、当然に本発明の範囲に含まれる。
【０１７０】
【発明の効果】
本発明によれば、非線形の量子化及び逆量子化を小容量の変換テーブルを用いて精度良く行うことができる。
【図面の簡単な説明】
【図１】前提技術に係る逆量子化装置を説明する概略ブロック図である。
【図２】図１の量子化符号、桁数、及び上位桁値の関係を説明する図である。
【図３】前提技術に係る量子化装置を説明する概略ブロック図である。
【図４】図３の正規化値、桁数、及び上位桁値の関係を説明する図である。
【図５】実施の形態に係る逆量子化装置を説明する概略ブロック図である。
【図６】図５の量子化符号、桁数、上位桁値、及び下位桁値の関係を説明する図である。
【図７】図５の量子化符号、桁数、上位桁値、及び下位桁値の関係を別の例で説明する図である。
【図８】実施の形態に係る逆量子化方法における補間処理を説明する図である。
【図９】実施の形態に係る量子化装置を説明する概略ブロック図である。
【図１０】図９の正規化値、桁数、上位桁値、及び下位桁値の関係を説明する図である。
【図１１】実施の形態に係る量子化方法における補間処理を説明する図である。
【図１２】実施の形態に係るオーディオ符号化装置の構成図である。
【図１３】実施の形態に係るオーディオ復号装置の構成図である。
【図１４】実施の形態に係る画像符号化装置の構成図である。
【図１５】実施の形態に係る画像復号装置の構成図である。
【符号の説明】
５０  逆量子化装置、  ５２  桁数算出部、  ５４  分離部、  ５６  テーブル参照部、  ５７  記憶部、  ５８  変換用テーブル、  ５９  調整用テーブル、  ６０  補間部、  ６２  調整部、  ７０  量子化装置、  ７２  正規化部、７４  桁数算出部、  ７６  分離部、  ７８  テーブル参照部、  ７９  記憶部、  ８０  変換用テーブル、  ８１  調整用テーブル、  ８２  補間部、  ８４  調整部、  ８６  整数化部。
【図１】
2004226742.tif 000003
【図２】
2004226742.tif 000004
【図３】
2004226742.tif 000005
【図４】
2004226742.tif 000006
【図５】
2004226742.tif 000007
【図６】
2004226742.tif 000008
【図７】
2004226742.tif 000009
【図８】
2004226742.tif 000010
【図９】
2004226742.tif 000011
【図１０】
2004226742.tif 000012
【図１１】
2004226742.tif 000013
【図１２】
2004226742.tif 000014
【図１３】
2004226742.tif 000015
【図１４】
2004226742.tif 000016
【図１５】
2004226742.tif 000017