図面 (/)

技術 データ圧縮符号化方法、データ圧縮符号化装置及びデータ記録媒体

出願人 ソニー株式会社
発明者 下吉修園原美冬筒井京弥
出願日 1994年4月1日 (26年7ヶ月経過) 出願番号 1994-064856
公開日 1995年10月20日 (25年1ヶ月経過) 公開番号 1995-273665
状態 特許登録済
技術分野 デジタル記録再生の信号処理 音声の分析・合成 圧縮、伸長・符号変換及びデコーダ 信号帯域幅の減少、エンファシス
主要キーワード フローティング回路 ディジタル信号データ 帯域エネルギー 準定常的 ループ制御変数 変換フレーム ショートモード 非定常的
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(1995年10月20日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (11)

目的

可変長符号化方式適応的なビット割当のための符号化に要する総ビット数算出を演算量を低減し、処理の高速化を図る。

構成

データを圧縮処理して可変長符号化して出力するデータ圧縮符号化装置において、直交変換符号化されて得られたスペクトルデータが、ブロックフローティング回路403に送られて正規化され、量子化回路404でビット配分算出回路406からの割当ビット数情報に応じて再量子化され、符号化回路407で可変長符号化されて、端子408より出力される。ビット配分算出回路406では、符号化後符号長が変化する再量子化データの境界値区分された符号化ビット数計算用のテーブル409を参照することによって、少ない演算量で符号化に要する総ビット数を算出し、割当ビット数の調整に使用する。

概要

背景

予め定められたビットレート単位時間当りビット数)でデータを圧縮して記録もしくは伝送する場合、実際に符号化を行なう前に符号化に要するビット数が幾つであるかを算出しておく必要がある。ビット数の算出は各ワードに要するビット数の総和を算出することで得ることができる。

一般的なオーディオ信号圧縮手法では、入力信号の各信号成分を何ビットあるいは何ステップ量子化するかを決定し、決定されたビット数である量子化ビット数、あるいはステップ数である量子化ステップ数量子化処理を行ない、量子化されたワードを符号化する。

固定長符号化の場合は、量子化ビット数あるいは量子化ステップ数だけで、実際に符号化に要するビット数が決められるので、量子化処理を行なわなくとも、符号化に要するビット数を算出することが可能である。

これに対して可変長符号化の場合は、同じ量子化ビット数あるいは量子化ステップ数で量子化されたワードであっても、量子化後の各ワードの値によって符号化に要するビット数が変化するので、実際に量子化処理を行なってみないと、符号化に要するビット数が幾つであるかを知ることができない。

ここで図10は、可変長符号化における使用ビット数の総和を算出する過程を示すフローチャートである。

この図10では、 Ndata個からなる Data[i]の入力データ列を符号化するのに要するビット数Allbits を算出している。ただし、量子化ビット数あるいは量子化ステップ数は予め決められているものとする。

まずステップS10では、この一連の処理に用いるループ制御変数i及び総ビット数を示す変数Allbits の初期化を行なっており、いずれも0にしている。

次のステップS11では、i番目のデータData[i] を正規化係数を用いて正規化し、正規化された値Dを算出している。関数Normalize() は、予め設定された正規化係数に従って正規化処理を行なう。

次のステップS12では、正規化された値Dを実際に量子化する。ここで用いる関数Quantize()は、予め定められた量子化ビット数あるいは量子化ステップ数に従って量子化処理を行ない、量子化後の値(整数値)を返す。

次のステップS13では、量子化された値Qを符号化するのに必要なビット数Length[i] を求めている。関数LenOfVal()は、量子化後の値に対して、符号化に要するビット数を返す。

次のステップS14では、量子化値Qの符号化ビット数Length[i]を、上記総ビット数を示す変数Allbitsに累積的に加えることにより、符号化に要するビット数の総和を算出している。

次のステップS15では、次のデータを参照するためにiをインクリメントしている。

そして次のステップS16で、全てのData[i] に対して処理を行なったかを判定し、全てのData[i] の処理が終了した場合は終了し、そうでない場合は上記ステップS11に戻って次のデータに対して処理を行なう。

このように、可変長符号化の場合は符号化に要するビットの総数を算出するために各入力データ毎に量子化処理を施さなければならないため、演算量が膨大となる。

本発明は、このような実情に鑑みてなされたものであり、符号化に要するビットの総数を少ない演算量で算出でき、高速化や、処理の簡略化による部品低価格化に貢献し得るようなデータ圧縮符号化方法及び装置、並びにデータ記録媒体の提供を目的とする。

概要

可変長符号化方式適応的なビット割当のための符号化に要する総ビット数算出を演算量を低減し、処理の高速化を図る。

データを圧縮処理して可変長符号化して出力するデータ圧縮符号化装置において、直交変換符号化されて得られたスペクトルデータが、ブロックフローティング回路403に送られて正規化され、量子化回路404でビット配分算出回路406からの割当ビット数情報に応じて再量子化され、符号化回路407で可変長符号化されて、端子408より出力される。ビット配分算出回路406では、符号化後符号長が変化する再量子化データの境界値区分された符号化ビット数計算用のテーブル409を参照することによって、少ない演算量で符号化に要する総ビット数を算出し、割当ビット数の調整に使用する。

目的

効果

実績

技術文献被引用数
2件
牽制数
5件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

入力データに対して圧縮処理を施したデータを可変長符号化して出力するデータ圧縮符号化方法において、上記可変長符号化後の符号長が変化するデータ列上の境界値と、境界値間の領域の符号長とを用いて、符号化に要する総ビット数を算出することを特徴とするデータ圧縮符号化方法。

請求項2

上記算出された符号化に要する総ビット数を用いて、上記可変長符号化されたデータの総ビット数が一定のビット数以内となるように上記圧縮処理を制御することを特徴とする請求項1記載のデータ圧縮符号化方法。

請求項3

上記符号化後の符号長が変化するデータ列上の境界値を少なくすることを特徴とする請求項1記載のデータ圧縮符号化方法。

請求項4

上記圧縮処理の終段にて正負対称量子化手段により量子化し、この量子化された値について正負対称の符号長で可変長符号化すると共に、上記符号化に要する総ビット数を算出する際に、量子化データ正負の値をまとめて符号化に要する総ビット数を算出することを特徴とする請求項1、2又は3記載のデータ圧縮符号化方法。

請求項5

上記圧縮処理として、適応変換符号化と、適応ビット割当とを行い、この適応ビット割当の割当ビット数を、上記算出された符号化に要する総ビット数に応じて可変制御することを特徴とする請求項1、2又は3記載のデータ圧縮符号化方法。

請求項6

上記圧縮処理として、上記入力データをブロック化してスペクトルデータに変換し、このスペクトルデータを複数個ユニットに分割して正規化して再量子化する技術を用い、この再量子化の際の割当ビット数を、上記算出された符号化に要する総ビット数に応じて可変制御することを特徴とする請求項1、2又は3記載のデータ圧縮符号化方法。

請求項7

入力データに対して圧縮処理を施したデータを可変長符号化して出力するデータ圧縮符号化装置において、上記可変長符号化後の符号長が変化するデータ列上の境界値と、境界値間の領域の符号長とを用いて、符号化に要する総ビット数を算出することを特徴とするデータ圧縮符号化装置。

請求項8

上記符号化後の符号長が変化するデータ列上の境界値を少なくすることを特徴とする請求項7記載のデータ圧縮符号化装置。

請求項9

上記圧縮処理の終段の再量子化に正負対称の量子化手段を用い、この量子化された値の可変長符号化に正負対称の符号長で符号化する可変長符号化手段を用い、量子化データの正負の値をまとめて符号化に要する総ビット数を算出することを特徴とする請求項7記載のデータ圧縮符号化装置。

請求項10

入力データに対して圧縮処理を施したデータを可変長符号化して出力するデータ圧縮符号化方法において、上記圧縮処理の終段にて正負対称の量子化手段により量子化し、この量子化された値について正負対称の符号長で可変長符号化すると共に、量子化データの正負の値をまとめて符号化に要する総ビット数を算出することを特徴とするデータ圧縮符号化方法。

請求項11

入力データに対して圧縮処理を施したデータを可変長符号化して出力するデータ圧縮符号化装置において、上記圧縮処理の終段の再量子化に正負対称の量子化手段を用い、この量子化された値の可変長符号化に正負対称の符号長で符号化する可変長符号化手段を用い、量子化データの正負の値をまとめて符号化に要する総ビット数を算出することを特徴とするデータ圧縮符号化装置。

請求項12

入力データに対して圧縮処理を施したデータが可変長符号化されて記録されたデータ記録媒体において、上記圧縮処理の終段で再量子化された再量子化データに対して、上記符号化後の符号長が変化する再量子化データ列上の境界値が少なくなる可変長符号化が施されたデータが記録されて成ることを特徴とするデータ記録媒体。

技術分野

0001

本発明は、音声オーディオ信号や、画像信号等をディジタル変換して得られるディジタル信号データ圧縮符号化するデータ圧縮符号化方法、データ圧縮符号化装置、及び圧縮符号化されたデータが記録されたデータ記録媒体に関する。

背景技術

0002

予め定められたビットレート単位時間当りビット数)でデータを圧縮して記録もしくは伝送する場合、実際に符号化を行なう前に符号化に要するビット数が幾つであるかを算出しておく必要がある。ビット数の算出は各ワードに要するビット数の総和を算出することで得ることができる。

0003

一般的なオーディオ信号圧縮手法では、入力信号の各信号成分を何ビットあるいは何ステップ量子化するかを決定し、決定されたビット数である量子化ビット数、あるいはステップ数である量子化ステップ数量子化処理を行ない、量子化されたワードを符号化する。

0004

固定長符号化の場合は、量子化ビット数あるいは量子化ステップ数だけで、実際に符号化に要するビット数が決められるので、量子化処理を行なわなくとも、符号化に要するビット数を算出することが可能である。

0005

これに対して可変長符号化の場合は、同じ量子化ビット数あるいは量子化ステップ数で量子化されたワードであっても、量子化後の各ワードの値によって符号化に要するビット数が変化するので、実際に量子化処理を行なってみないと、符号化に要するビット数が幾つであるかを知ることができない。

0006

ここで図10は、可変長符号化における使用ビット数の総和を算出する過程を示すフローチャートである。

0007

この図10では、 Ndata個からなる Data[i]の入力データ列を符号化するのに要するビット数Allbits を算出している。ただし、量子化ビット数あるいは量子化ステップ数は予め決められているものとする。

0008

まずステップS10では、この一連の処理に用いるループ制御変数i及び総ビット数を示す変数Allbits の初期化を行なっており、いずれも0にしている。

0009

次のステップS11では、i番目のデータData[i] を正規化係数を用いて正規化し、正規化された値Dを算出している。関数Normalize() は、予め設定された正規化係数に従って正規化処理を行なう。

0010

次のステップS12では、正規化された値Dを実際に量子化する。ここで用いる関数Quantize()は、予め定められた量子化ビット数あるいは量子化ステップ数に従って量子化処理を行ない、量子化後の値(整数値)を返す。

0011

次のステップS13では、量子化された値Qを符号化するのに必要なビット数Length[i] を求めている。関数LenOfVal()は、量子化後の値に対して、符号化に要するビット数を返す。

0012

次のステップS14では、量子化値Qの符号化ビット数Length[i]を、上記総ビット数を示す変数Allbitsに累積的に加えることにより、符号化に要するビット数の総和を算出している。

0013

次のステップS15では、次のデータを参照するためにiをインクリメントしている。

0014

そして次のステップS16で、全てのData[i] に対して処理を行なったかを判定し、全てのData[i] の処理が終了した場合は終了し、そうでない場合は上記ステップS11に戻って次のデータに対して処理を行なう。

0015

このように、可変長符号化の場合は符号化に要するビットの総数を算出するために各入力データ毎に量子化処理を施さなければならないため、演算量が膨大となる。

0016

本発明は、このような実情に鑑みてなされたものであり、符号化に要するビットの総数を少ない演算量で算出でき、高速化や、処理の簡略化による部品低価格化に貢献し得るようなデータ圧縮符号化方法及び装置、並びにデータ記録媒体の提供を目的とする。

課題を解決するための手段

0017

本発明に係るデータ圧縮符号化方法は、上述した課題を解決するために、入力データに対して圧縮処理を施したデータを可変長符号化して出力するデータ圧縮符号化方法において、上記可変長符号化後の符号長が変化するデータ系列上の境界値と、境界値間の領域の符号長とを用いて、符号化に要する総ビット数を算出している。

0018

これは、データ圧縮符号化装置の場合も同様である。

0019

ここで、上記算出された符号化に要する総ビット数を用いて、上記可変長符号化されたデータの総ビット数が一定のビット数以内となるように上記圧縮処理を制御することが挙げられる。

0020

また、上記符号化後の符号長が変化するデータ列上の境界を少なくすることが好ましい。これは具体的には、正負対称の符号長で可変長符号化して正負の値をまとめて符号化に要する総ビット数を算出したり、可変長符号化の符号長の種類を少なくしたりすることが挙げられる。

0021

さらに、上記圧縮処理の終段にて正負対称の量子化手段により量子化し、この量子化された値について正負対称の符号長で可変長符号化すると共に、上記符号化に要する総ビット数を算出する際に、量子化データの正負の値をまとめて符号化に要する総ビット数を算出することが挙げられる。

0022

また、上記圧縮処理として、適応変換符号化と、適応ビット割当とを行い、この適応ビット割当の割当ビット数を、上記算出された符号化に要する総ビット数に応じて可変制御することが好ましい。また、記圧縮処理として、上記入力データをブロック化してスペクトルデータに変換し、このスペクトルデータを複数個ユニットに分割して正規化して再量子化する技術を用い、この再量子化の際の割当ビット数を、上記算出された符号化に要する総ビット数に応じて可変制御することが挙げられる。

0023

さらに、本発明に係るデータ記録媒体は、入力データに対して圧縮処理を施したデータが可変長符号化されて記録されたデータ記録媒体において、上記圧縮処理の終段で再量子化された再量子化データに対して、上記符号化後の符号長が変化する再量子化データ列上の境界値が少なくなる可変長符号化が施されたデータが記録されて成るものである。

0024

このような構成によれば、可変長符号化における使用ビット数の算出過程において、各ワード毎の量子化処理を行なわずにビットの総数を算出することが可能であり、符号化後の符号長が変化する量子化データ列上の境界値を用いて符号化に要する総ビット数を算出することにより、演算量を低減することができる。これは特に、適応ビット割当の際の割当ビット調整に用いて好適である。

0025

また、符号化後の符号長が変化する量子化データ列上の境界を少なくすることにより、符号化に要する総ビット数算出の演算量を少なくすることができる。

0026

また、量子化データの正負の値をまとめて符号化に要する総ビット数を算出することによっても演算量を低減でき、この演算に符号化後の符号長が変化する量子化データ列上の境界値による領域区分を用いることにより、演算量をさらに低減できる。

0027

以下、本発明の一実施例について、図面を参照しながら詳細に説明する。具体的には、オーディオPCM信号等の入力デジタル信号を、帯域分割符号化(SBC)、適応変換符号化(ATC)及び適応ビット割当ての各技術を用いて高能率圧縮符号化する技術について、図1以降を参照しながら説明する。

0028

図1に示す具体的な高能率圧縮符号化装置では、まず、入力デジタル信号を複数の周波数帯域に分割すると共に、最低域の隣接した二帯域帯域幅は同じで、より高い周波数帯域では高い周波数帯域ほど帯域幅を広く選定し、各周波数帯域毎直交変換を行って、得られた周波数軸のスペクトルデータを、低域では、後述する人間の聴覚特性を考慮したいわゆる臨界帯域幅(Critical Band )毎に、中高域ではブロックフローティング効率を考慮して臨界帯域幅を細分化した帯域毎に、適応的にビット割当して符号化している。通常この細分化した帯域が量子化雑音発生ユニットとなる。さらに、本発明実施例においては、直交変換の前に入力信号に応じて適応的に直交変換ブロックサイズブロック長)を変化させている。

0029

すなわち図1において、例えばサンプリング周波数が44.1kHzのとき、入力端子100には0〜22kHzのオーディオPCM信号が供給されている。この入力信号は、例えばいわゆるQMFフイルタ等の帯域分割フイルタ101により0〜11kHz帯域と11k〜22kHz帯域(高域)とに分割され、0〜11kHz帯域の信号は、同じくいわゆるQMFフイルタ等の帯域分割フイルタ102により0〜5.5kHz帯域(低域)と5.5k〜11kHz帯域(中域)とに分割される。上述した入力デジタル信号を複数の周波数帯域に分割するQMFフィルタについては、例えば、文献「ディジタルコーディングオブスピーチイン・サブバンズ」(Digital coding of speech in subbands, R.E.Crochiere, BellSyst.Tech. J., Vol.55, No.8 1976)に述べられている。また、例えば、文献「ポリフェイズ・クァドラチュア・フィルターズ −新しい帯域分割符号化技術」(Polyphase Quadrature filters-A new subband coding technique, Joseph H.Rothweiler,ICASSP 83 BOSTON)には、等帯域幅のフィルタ分割手法が述べられている。

0030

帯域分割フイルタ101、102からの各帯域の信号は、それぞれ各直交変換回路103、104、105に供給される。また帯域分割フィルタ101及び102からの各帯域の出力は、直交変換ブロックサイズ決定回路106に送られ、各帯域毎ブロックサイズが決定される。この直交変換ブロックサイズ決定回路106において決定された直交変換ブロックサイズ情報は、各直交変換回路103、104、105に供給され、このブロックサイズに応じて上記各帯域のフィルタ出力がブロック化され、直交変換処理される。

0031

ここで直交変換ブロックサイズ決定回路106において、ブロックサイズの長さは例えば11.6msの長さを基本とし、これが最大ブロックサイズとなる。この最大ブロックサイズを変換フレーム又は単にフレームと呼ぶことにする。信号が時間的に準定常的である場合には直交変換ブロックサイズを11.6msと最大に選択することにより周波数分解能を高め、信号が時間的に非定常的である場合には、11kHz以下の帯域では直交変換ブロックサイズを4分割とし、11kHz以上の帯域では直交変換ブロックサイズを8分割とすることにより、時間分解能を高める。

0032

図2一変換フレームの直交変換ブロックサイズを示したものであり、低域及び中域では11.6ms(ロングモード)か2.9ms(ショートモード)のどちらかを選択し、高域では11.6ms(ロングモード)か1.45ms(ショートモード)のどちらかを選択する。図2中の斜線部は、いずれもショートモードのブロックサイズを示している。

0033

再び図1に戻って、各直交変換回路103、104、105にて、上記帯域分割フィルタ出力は、変換フレーム毎に直交変換ブロックサイズ決定回路106からのブロックサイズに応じてブロック化されて直交変換処理され、適応ビット割当符号化回路108に送られる。また、上記直交変換ブロックサイズ情報も適応ビット割当符号化回路108に供給される。この適応ビット割当符号化回路108にて符号化されたデータは、出力端子110を介して取り出される。

0034

ここで、上記各直交変換回路103、104、105での直交変換としては、例えば、入力オーディオ信号所定単位時間でブロック化し、当該ブロック毎に高速フーリエ変換FFT)、離散コサイン変換(DCT)、変更離散コサイン変換(MDCT)等を行うことで時間軸を周波数軸に変換するような直交変換を用いることができる。例えば、MDCTについては、文献「時間領域エリアシングキャンセル基礎とするフィルタ・バンク設計を用いたサブバンド変換符号化」(Subband/Transform Coding Using Filter Bank Designs Based on TimeDomain Aliasing Cancellation, J.P.Princen, A.B.Bradley, Univ.of Surrey,Royal Melbourne Inst.of Tech.ICASSP 1987)に述べられている。

0035

次に図3は、図1中の適応ビット割当符号化回路108の一具体例の概略構成を示すブロック回路図である。

0036

この図3において、端子401には上記各直交変換回路103、104、105からの周波数軸上のスペクトルデータ、あるいは上記MDCT係数データが供給されており、端子402には上記直交変換ブロックサイズ決定回路106からのブロックサイズ情報が供給されている。

0037

端子401からの例えばスペクトルデータは、ブロックフローティング回路403、スケールファクタ設定回路405及びビット配分算出回路406にそれぞれ送られる。

0038

まず、スケールファクタ設定回路405において、上記臨界帯域及びブロックフローティングを考慮して分割されたスペクトルデータに基づき、ブロックフローティングのためのフローティング情報が設定される。通常、フローティング情報としては、臨界帯域及びブロックフローティングを考慮した各分割帯域毎に該分割帯域内にあるスペクトルデータのピーク値に近い値が用いられる。ここで設定されたフローティング情報が臨界帯域及びブロックフローティングを考慮した各分割帯域毎のスケールファクタとして用いられる。

0039

ビット配分算出回路406では、上記臨界帯域及びブロックフローティングを考慮して分割されたスペクトルデータに基づき、いわゆるマスキング効果等を考慮して臨界帯域及びブロックフローティングを考慮した各分割帯域毎のマスキング量が求められ、このマスキング量と臨界帯域及びブロックフローティングを考慮した各分割帯域毎のエネルギあるいはピーク値等に基づいて、各帯域毎に割当ビット数が求められる。

0040

割当ビット数を求める時、使用可能なビット数には限りがあるため、符号化に要するビット数が使用可能なビット数を越えないために、符号化に要するビット数の総数を算出しながら、割当ビット数を調整する必要がある。符号化に要するビット数の算出のために、テーブルメモリ409が参照される。このビット配分回路406での処理については、後述する。

0041

ブロックフローティング回路403では、スペクトルデータは、スケールファクタ設定回路403で設定されたスケールファクタ(フローティング情報)に基づいて、臨界帯域及びブロックフローティングを考慮した分割帯域毎にフローティング処理が施される。

0042

量子化回路404では、上記スケールファクタ設定回路405で設定されたスケールファクタ及び上記ビット配分算出回路406で各帯域毎に割り当てられたビット数に応じて、各スペクトルデータが再量子化される。

0043

量子化回路404の出力である量子化されたスペクトルデータ、スケールファクタ設定回路405の出力であるスケールファクタ、ビット配分算出回路406の出力である割当ビット数情報及び端子402から供給される直交変換ブロックサイズ情報は共に符号化回路407に送られて可変長符号化方式により符号化され、端子408を介して取り出される。

0044

次に、上記ビット配分回路406における処理について説明する。

0045

図4はビット配分回路406での処理過程を示すフローチャートである。

0046

この図4において、まずステップS1では、各バンドに割り当てられるビット数が算出され、次のステップS2にて、割り当てられたビット数に従って量子化し、符号化する場合に必要となるビット数が算出される。

0047

次のステップS3では、得られた符号化総ビット数と予め定められている使用可能なビット数とが比較され、符号化総ビットの方が小さい場合は処理が終了するが、符号化総ビットの方が大きい場合は符号が溢れてしまうので、ステップS4で割当ビット数を減少させてから、上記ステップS2に戻って、再度符号化総ビット数を算出し、総ビット数が使用可能ビット数以下になるまで上記処理が繰り返される。

0048

ここで図5は、図4のステップS2での処理内容の具体例として、可変長符号化方式でデータを符号化する場合に要する総ビット数を算出するフローチャートを示している。

0049

この図5では、Ndata 個からなる入力データ列Data[i] を符号化するのに要するビット数(Allbits )を算出している。ここでは、スペクトルデータあるいは上記MDCT係数データが入力データ列Data[i] となる。

0050

先ず、ステップS20、S21において、演算のための変数の初期化が行なわれている。すなわち、ステップS20では、ループ制御変数i及び総ビット数を示す変数Allbits をいずれも0とし、ステップS21では、変数jを0としている。

0051

次のステップS22では、予め定められている正規化係数に従って正規化処理がData[i] に対して行なわれ、正規化されたデータであるDが算出される。ここでは正規化係数としてスケールファクタを用いる。

0052

次のステップS23では、上記Dと後述するB[j]との比較が行われ、Dの方が小さい場合はステップS26に進んで、 Length[i] = L[j] 、すなわち後述するL[j]を上記Data[i] を符号化するのに要するビット数Length[i] として用いる。これらのB[j]、L[j]については、後で説明する。

0053

上記ステップS23でNO、すなわち上記B[j]よりも上記Dの方が大きい又は等しいと判別された場合は、ステップS24に進んでjをインクリメントし、次のステップS25でjがNboundより小さいかを判別し、Nboundに達するまで上記ステップS23の判定を行い、D<B[j]を満たすまで続ける。

0054

次のステップS27では、Length[i] をAllbits に加えることにより、符号化に要するビット数の総和を算出している。

0055

次のステップS28ではiをインクリメントし、ステップS29でiがNdataよりも小さいかを判別し、YESのとき上記ステップS21に戻ることにより、上述した処理をデータの個数分(Ndata )だけ繰り返す。

0056

次に、上記B[j]とL[j]とについて説明する。B[j]は、可変長符号で符号が変化するD上の境界値を表しており、DがB[j-1]からB[j]の範囲にあるときは、符号長が変化しないことを示している。すなわちその範囲では同じ符号長を持つことを示している。この時の符号長をL[j]で表しており、Dが B[j-1]〜B[j] の範囲内にあるときは長さL[j]の符号で符号化されることになる。

0057

ここで、上記B[j]の決定法の一例を説明するために、上記図2の符号化回路407における実際の可変長符号化に用いる符号化テーブルの具体例を次の表1に示し、またビット配分算出回路406における符号化に要するビット数計算に用いるテーブルメモリ409の内容の具体例を次の表2にそれぞれ示す。

0058

0059

0060

表1では、入力データを量子化する際の量子化ステップ数Nstep が11の場合の可変長符号化の一例を挙げている。

0061

この表1において、QBound[k] は量子化の境界値を表しており、正規化された入力データ値が QBound[k-1]〜QBound[k] の範囲内にあるときは Qunat[k] に量子化されることを示しており、量子化器に依存する値である。Code[k] は、量子化値Quant[k] を可変長符号化して得られる符号であり、CodeLen[k]はCode[k]の符号長を表している。実際にはCode[k] が CodeLen[k] の長さだけ記録若しくは伝送される。

0062

この表1に基づいて、CodeLen[k]が変化するところ、すなわち、CodeLen[k]の値と次のCodeLen[k+1]の値とが違うところを探し出し、表2に示す境界値B[j]と符号長L[j]とを決定する。この具体例の場合には、5つの領域に区分でき、この領域数が上記Nboundである。

0063

この表2が、例えば図3のテーブルメモリ409に書き込まれており、ビット配分算出回路406での符号化ビット数の算出に用いられるわけである。従って、表1に基づく各データ毎の量子化、符号化処理を実際に行わなくとも、表2を用いて、図5のステップS23〜S26の処理を行うことにより、簡単に符号化に必要とされるビット数を算出することができる。

0064

ここで比較のために、表1を用いる場合の従来の符号化ビット数の算出処理について、図6を参照しながら説明する。

0065

この図6は、前述した従来例における図10のステップS12、S13の具体例となる処理を示しており、図10のステップS11の次に図6のステップS12aに進み、図6のステップS13aの次に図10のステップS14に進むものである。

0066

すなわち、図6のステップS12aで変数kを0に初期化し、次のステップS12で、入力データDが上記量子化の境界値QBound[k] よりも小さいか否かの判別を行う。YESのときはkが量子化値に対応する値となり、ステップS13aに進んで、 Length[i] = CodeLen[k] とする。すなわち、表1のCodeLen[k]を、上記Data[i] を符号化するのに要するビット数Length[i] として用いる。

0067

ステップS12bでNOのときは、ステップS12cに進んで変数kをインクリメントし、次のステップS12dでkが上記量子化ステップ数Nstep より小さいか否かを判別し、Nstep に達するまで上記ステップS12bの判定を繰り返すことで、D<QBound[k] を満足するまで続ける。

0068

このような従来の方法によれば、1個の入力データに対して、符号化ビット数を求めるために最大Nstep 回の繰り返しが生ずることになり、この量子化ステップ数Nstep が例えば63あるいはそれ以上の値をとる場合には、繰り返し回数最大値が非常に大きくなる。しかも、データの個数Ndata は、例えば512等のような値であり、さらに、上記図4に示すように、総ビット数が使用可能ビット数より大きい場合には、割当ビット数を減少して再度符号化に要するビット数の算出を行わなければならず、これが何回繰り返されるかわからない点を考慮すると、演算量が膨大なものとなる。

0069

これに対して、本実施例によれば、上記表2に示すように、符号化長が変化する境界値で領域を区分し、これらの領域単位で符号化ビット数を算出しているため、繰り返し回数が最大でもこの領域数である上記Nboundに低減され、演算量が低減される。これは、図3のビット配分算出回路406での処理が高速化される利点のみならず、例えば安価な定速の演算IC等を用いてもリアルタイム処理が可能になるという利点にもつながるものである。

0070

次に、上記図1乃至図3と共に説明した高能率符号化装置により符号化されたデータを復号化するための復号化装置の一例について、図7及び図8を参照しながら説明する。

0071

図7は、復号化装置の概略構成を示しており、この図7において、入力端子210には、図1の出力端子110から得られる可変長符号化方式で符号化された符号化データが供給されている。この符号化データは、まず適応ビット割当復号化回路208に送られて復号化処理され、周波数軸上のスペクトルデータに復元される。また復号化処理によって直交変換ブロックサイズ情報が取り出され、周波数軸上のスペクトルデータと共に各帯域毎の逆直交変換回路203、204、205に送られる。

0072

図8は、図7の適応ビット割当復号化回路208の一具体例の概略構成を示すブロック図である。この図8の端子601には、上記符号化データが供給されており、この符号化データは、復号化回路602において可変長復号化方式による復号化処理がなされ、周波数軸上のスペクトルデータ情報、スケールファクタ情報、割当ビット数情報及び直交変換ブロックサイズ情報に復元され、直交変換ブロックサイズ情報は端子607を介して取り出される。スペクトルデータ情報及び割当ビット数情報は逆量子化回路603に送られ、スペクトルデータ情報は割当ビット数情報に基づいて逆量子化処理される。逆フローティング回路604には、逆量子化回路603からの逆量子化されたスペクトルデータ情報と、復号化回路602からの上記スケールファクタ情報が供給されており、スペクトルデータ情報はスケールファクタに基づいて逆フローティング処理され、スペクトルデータに復元されて、端子606を介して取り出される。

0073

再び図7において、適応ビット割当復号化回路208から得られるスペクトルデータの内、0〜5.5kHz帯域のデータは逆直交変換回路203に、5.5〜11kHz帯域のデータは逆直交変換回路204に、11〜22kHz帯域のデータは逆直交変換回路205にそれぞれ送られ、上記直交変換ブロックサイズ情報に応じて、各帯域毎に逆直交変換処理される。

0074

さらに、上記逆直交変換回路204、205の出力は帯域合成フィルタ202で合成され、上記逆直交変換回路203と帯域合成フィルタ202の出力は帯域合成フィルタ201で合成されて再生信号となり、出力端子200より取り出される。

0075

ところで、上記実施例においては、最も一般的な量子化器を用いているが、入力データ列に対して、正負対称の量子化器を用いる場合においては、それぞれの量子化された値に対する符号長も正負対称(量子化された値の絶対値が等しいときは同じ符号長)とすることで、演算量を上記従来例よりも低減することができる。このような正負対称の量子化値に対して正負対称の可変長符号化を行う際のコードテーブルの具体例を表3に示す。

0076

0077

この表3に示すように、上記QBound[k] 及びQuant[k]を絶対値で表現したもの、すなわち|QBound[k]| 及び|Quant[k]|を用いて、正負の値をまとめて考えることにより、量子化ステップ数Nstep を、上記表1の11から表3の6にまで減らすことができ、その分演算量を減らすことができる。

0078

さらに、この表3においても、符号長codeLen[k]が変化する境界、すなわち表3中の破線で示す位置で区分することにより、次の表4に示すような符号化ビット数計算用のテーブルを得ることができる。

0079

0080

この表4においては、上記表3の符号長が変化する境界値であるB[j]は3つとなり、3つの領域に区分されることになって、領域数Nboundは3となる。このように、正負対称の符号長、すなわち量子化された値の絶対値が等しいときは同じ符号長となるように可変長符号化することにより、表4に示すように、符号長が変化する境界の数を減らすことができ、境界の数が少なくなるほど総ビット数の演算が楽になり、予め保持しておかなければならない値(B[j]、L[j])の数も少なくなる。

0081

この表4のテーブルを用いて符号化に必要な総ビット数を算出する場合の処理手順の一例を、図9のフローチャートに示す。

0082

この図9において、上記図5のフローチャートの各ステップと同様な処理を行うステップには同じ指示符号を付して説明を省略する。

0083

この図9の例では、ステップS23aにおいて、正規化処理されたデータDの絶対値|D|を、表4の境界値B[j]と比較している点が、上記図5のステップS23と異なっており、他は図5と同様な処理が行われる。ただし、図9のステップS25での領域数Nboundは、3となっており、図5の場合のNbound=5と比べて、演算量をさらに低減できる点に留意すべきである。

0084

次に、可変長符号化の際の符号長の種類をさらに少なくすることで、符号長が変化する境界の数をより少なくした可変長符号化の例を表5に示す。

0085

0086

この表5においては、可変長符号化された符号の長さCodeLen[k]が、2と4との2種類のみであり、中心の0の符号長2以外は全て同一の符号長4となっている。この表5を用いても、上記表3を用いる場合と同程度の演算量削減が期待できる。

0087

また、この表5に対しても、符号長が変化する境界値で領域区分して、符号化ビット数算出用のテーブルを作成することができ、これを次の表6に示す。

0088

0089

この表6は、最も境界の数を少なくした可変長符号化のビット数算出用テーブルの例であり、中心の0近傍の領域と、それ以外の領域との2つ領域、すなわち領域数Nbound=2となっている。従って、符号化に必要とされる総ビット数の算出の際の演算量を、さらに低減することができる。

0090

なお、本発明は上記実施例のみに限定されるものではなく、例えば、オーディオPCM信号のみならず、デジタル音声(スピーチ)信号やデジタルビデオ信号等の信号処理装置にも適用可能である。また、ビット配分手法は多種多様であり、最も簡単には固定のビット配分もしくは信号の各帯域エネルギーによる簡単なビット配分もしくは固定分と可変分を組み合わせたビット配分などを使うことができる。さらに、上記直交変換ブロックサイズは図示の例に限定されず、例えば、時間軸方向に23.2msとしたり、周波数軸方向での帯域分割数を4としたり、周波数軸方向に22.05kHz、あるいは20kHzとする等、任意に設定できるものである。

発明の効果

0091

本発明に係るデータ圧縮符号化方法又は装置によれば、入力データに対して圧縮処理を施したデータを可変長符号化して出力するデータ圧縮符号化方法において、上記可変長符号化後の符号長が変化するデータの境界値と、境界値間の領域の符号長とを用いて、符号化に要する総ビット数を算出しているため、各ワード毎の量子化処理を行なわずにビットの総数を算出することが可能であり、符号長が変化する境界値を用いて符号化ビット数を算出することにより、演算量を低減することができる。これは特に、上記可変長符号化されたデータの総ビット数が一定のビット数以内となるように上記圧縮処理を制御するような適応ビット割当の際の割当ビット調整に用いて好適である。

0092

また、符号化後の符号長が変化する量子化データ列上の境界を少なくすることにより、符号化に要する総ビット数算出の演算量を少なくすることができる。

0093

また、圧縮処理の終段にて正負対称の量子化手段により量子化し、この量子化された値について正負対称の符号長で可変長符号化すると共に、量子化データの正負の値をまとめて符号化に要する総ビット数を算出することによっても演算量を低減でき、この演算に符号化後の符号長が変化する量子化データ列上の境界値による領域区分を用いることにより、演算量をさらに低減できる。

0094

このように、符号化に要する総ビット数を算出する際の演算量が低減されることは、演算処理時間が短縮されて高速処理が図れるという利点のみならず、例えば安価な定速の演算IC等を用いてもリアルタイム処理が可能になるため低価格化に貢献できるという利点もある。

図面の簡単な説明

0095

図1本発明の一実施例となるオーディオ高能率圧縮符号化装置の一具体例を示すブロック回路図である。
図2上記実施例の直交変換ブロックサイズを説明するための図である。
図3上記実施例に用いられる適応ビット割当符号化回路の一具体例を示すブロック回路図である。
図4本実施例の図3中のビット配分回路での処理を説明するためのフローチャートである。
図5図4のステップS2の符号化に要する総ビット数の算出処理の具体例を示すフローチャートである。
図6従来方式による可変長符号の符号化総ビット数を算出する過程の一部を説明するためのフローチャートである。
図7上記実施例の圧縮符号化装置により符号化されたデータを復号化する復号化装置の一具体例を示すブロック回路図である。
図8図7中の復号化装置の適応ビット割当復号化回路の一具体例を示すブロック回路図である。
図9本発明の他の実施例による可変長符号の符号化総ビット数を算出する過程を説明するためのフローチャートである。
図10従来方式による可変長符号の符号化総ビット数を算出する過程を説明するためのフローチャートである。

--

0096

101、102帯域分割フィルタ
103、104、105直交変換回路
106直交変換ブロックサイズ決定回路
108適応ビット割当符号化回路
201、202帯域合成フィルタ
203、204、205逆直交変換回路
208 適応ビット割当復号化回路
403ブロックフローティング回路
404量子化回路
405スケールファクタ設定回路
406ビット配分算出回路
407可変長符号化回路
409テーブルメモリ
602 復号化回路
603逆量子化回路
604 逆フローティング回路

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ