Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4441988B2 - 符号化装置および符号化方法 - Google Patents
[go: Go Back, main page]

JP4441988B2 - 符号化装置および符号化方法 - Google Patents

符号化装置および符号化方法 Download PDF

Info

Publication number
JP4441988B2
JP4441988B2 JP2000159930A JP2000159930A JP4441988B2 JP 4441988 B2 JP4441988 B2 JP 4441988B2 JP 2000159930 A JP2000159930 A JP 2000159930A JP 2000159930 A JP2000159930 A JP 2000159930A JP 4441988 B2 JP4441988 B2 JP 4441988B2
Authority
JP
Japan
Prior art keywords
digital audio
encoding
block
adjacent
data
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 - Fee Related
Application number
JP2000159930A
Other languages
English (en)
Other versions
JP2001337698A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2000159930A priority Critical patent/JP4441988B2/ja
Publication of JP2001337698A publication Critical patent/JP2001337698A/ja
Application granted granted Critical
Publication of JP4441988B2 publication Critical patent/JP4441988B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
この発明は、オーディオデータ等のディジタル信号に係る符号化装置および符号化方法に関する。
【0002】
【従来の技術】
オーディオ信号の高能率符号化に係る従来技術として、例えば、時間領域のオーディオ信号を単位時間毎にブロック化し、ブロック毎の時間軸上の信号を周波数軸上の信号に変換(直交変換)して複数の周波数帯域に分割し、各帯域毎に符号化するブロック化周波数帯域分割方式の一つである変換符号化方法が知られている。また、時間領域のオーディオ信号を単位時間毎にブロック化せずに、複数の周波数帯域に分割して符号化する非ブロック化周波数帯域分割方法の一つである帯域分割符号化(サブ・バンド・コーディング(SBC:Sub Band Coding ))方法が知られている。
【0003】
さらに、上述の帯域分割符号化と変換符号化とを組み合わせてなる高能率符号化方法も知られている。この方法では、例えば、帯域分割符号化方式によって分割した各帯域毎の信号を、変換符号化方式によって周波数領域の信号に直交変換し、直交変換された各帯域毎に符号化が施される。
【0004】
ここで、上述した帯域分割符号化方式に使用される帯域分割用フィルタとしては、例えばQMF(Quadrature Mirror filter)等のフィルタがある。QMFについては、例えば、 R.E.Crochiere Digital coding of speech in subbands Bell Syst.Tech. J. Vol.55, No.8(1976)に述べられている。また、ICASSP 83, BOSTON Polyphase Quadrature filters-A new subband coding technique JosephH. Rothweiler には、ポリフェーズ クワドラチャ フィルタ(Polyphase Quadrature filter) などの等バンド幅のフィルタ分割手法および装置が述べられている。
【0005】
また、直交変換としては、例えば、入力オーディオ信号を所定単位時間(フレーム)でブロック化し、該ブロック毎に高速フーリエ変換(FFT)やコサイン変換(DCT)、モディファイドDCT変換(MDCT)等を行うことで時間軸を周波数軸に変換するような方法が知られている。MDCTについては、例えば、ICASSP 1987 Subband/Transform Coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation J.P.Princen A.B.Bradley Univ. of Surrey Royal Melbourne Inst.of Tech. に述べられている。
【0006】
一方、周波数帯域分割された各周波数成分を量子化する際に、人間の聴覚特性を考慮した周波数分割幅を用いる符号化方法が知られている。すなわち、臨界帯域(クリティカルバンド)と呼ばれる、帯域幅が高域程広くなるような帯域幅が広く用いられている。このような臨界帯域を用いてオーディオ信号を複数バンド(例えば25バンド)の帯域に分割することがある。このような帯域分割方法によれば、各帯域毎のデータを符号化する際に、各帯域毎に所定のビット配分、或いは各帯域毎に適応的なビット配分による符号化が行われる。例えば、MDCT処理によって生成されるMDCT係数データを上述したようなビット配分によって符号化する場合には、各ブロック毎に対応して生成される各帯域毎のMDCT係数データに対して適応的なビット数が配分され、そのようなビット数配分の下で符号化が行われる。
【0007】
このようなビット配分方法およびそれを実現する装置についての公知文献として、例えば以下のようなものが挙げられる。まず、例えばIEEE Transactions of Accoustics,Speech,and Signal Processing,vol.ASSP-25,No.4,August(1977)には、各帯域毎の信号の大きさに基づいてビット配分を行う方法が記載されている。また、例えばICASSP 1980 Thecritical band coder--digital encoding of the perceptual requirements of the auditory system M.A. Kransner MIT には、聴覚マスキングを利用することによって各帯域毎に必要な信号対雑音比を得て固定的なビット配分を行う方法が記載されている。
【0008】
また、各帯域毎の符号化に際しては、各帯域毎に正規化を行って量子化を行うことにより、より効率的な符号化を実現するいわゆるブロックフローティング処理が行われている。例えば、MDCT処理によって生成されるMDCT係数データを符号化する際には、各帯域毎に上述のMDCT係数の絶対値の最大値等に対応した正規化を行った上で量子化を行うことにより、より効率的な符号化が行われる。正規化処理は例えば以下のように行われる。すなわち、予め番号付けされた複数種類の値を用意し、それら複数種類の値の内で各ブロックについての正規化に係るものを所定の演算処理によって決定し、決定した値に付されている番号を正規化情報として使用する。複数種類の値に対応する番号付けは、例えば、番号の1の増減に、オーディオレベルの2dBの増減が対応する等の一定の関係の下で行われる。
【0009】
上述したような方法で生成される高能率符号化データは、次のようにして復号化される。まず、各帯域毎のビット配分情報、正規化情報等を参照して、符号化データに基づいてMDCT係数データを生成する処理がなされる。このMDCT係数データに基づいていわゆる逆直交変換(IMDCT)が行われることにより、時間領域のデータが生成される。高能率符号化の過程で帯域分割用フィルタによる帯域分割が行なわれていた場合は、帯域合成フィルタを用いて時間領域のデータを合成する処理がさらになされる。
【0010】
上述した符号化に用いられている直交変換のMDCT処理、並びに復号化に用いられている、逆直交変換のIMDCT処理では、処理を行うフレーム間の不連続性を防止するために、いわゆるオーバーラップ処理が利用されている。ある楽曲を符号化し、また、復号化する時には、当該楽曲の始点および終点については、このオーバーラップおよび変換サイズを考慮した適合処理が行われる。
【0011】
上述した方法での高能率符号化は、基本的には楽曲単位で行われるが、大量の楽曲を高能率符号化処理するような場合、各楽曲の処理の終了毎に、ユーザが次の楽曲の処理の開始を促すのは非効率的であるため、通常、あらかじめ所望の楽曲を選択して、自動的に選択された楽曲が高能率符号化されるような処理が行われる。より具体的には、電子音楽配信の配信用サーバでは、ハードディスクに大量のPCMファイルを格納し、コンピュータソフトウェア処理によって高速に高能率符号化の処理がなされる。
【0012】
【発明が解決しようとする課題】
配信用サーバのように、大量の楽曲を自動的に高能率符号化処理する場合、楽曲単位で高能率符号化が行われるので、各楽曲に対して、始点および終点における、直交変換におけるオーバーラップおよび変換サイズを考慮した適合処理を行うことになる。楽曲によっては、他の楽曲との相関関係がある場合、例えば当該楽曲の始点が他の楽曲の終点との連続性を保つような場合がある。具体例としては、ライブ版、リミックス、ダンス系等の音楽では、楽曲同士が無音期間を介することなくつながっていることがある。このような場合でも、上述したような始点および終点における適合処理を楽曲毎に独立して行うと、高能率符号化処理後のデータは、楽曲間の連続性を失ってしまう問題がある。復号化においても同様の問題が発生する。楽曲間に連続性があるものを処理する場合には、始点および終点における適合処理を行わずに、楽曲間データを連続的に処理することが望ましい。
【0013】
したがって、この発明の目的は、複数の楽曲を符号化または復号化の処理を行う場合、処理の対象の楽曲の連続性を応じて、始点および終点における適合処理を行い、楽曲毎に独立して処理を行うか、または適合処理を行わずに、楽曲間を連続的に処理を行うかの選択を行うことによって、上述した問題を解決することができる符号化装置および符号化方法を提供することにある。
【0014】
【課題を解決するための手段】
請求項1の発明は、複数のディジタルオーディオファイルに対して所定長毎にブロック化を施し、ブロック処理されたディジタルオーディオファイルに対して圧縮処理を施す符号化装置であって、
複数のディジタルオーディオファイルの中から圧縮処理を施す2以上のディジタルオーディオファイルを、圧縮処理を施す順序で選択する第1の選択手段と、
第1の選択手段にて選択された2以上のディジタルオーディオファイルのうち、圧縮処理を施す順序で隣接するディジタルオーディオファイルの前方に位置するディジタルオーディオファイルの終端部近傍のブロックと、第1の選択手段にて選択された隣接するディジタルオーディオファイルの後方に位置するディジタルオーディオファイルの始端部近傍のブロックと、隣接する2つのディジタルオーディオファイルに跨がっているブロックとに基づいて符号化処理を施す第1の符号化手段と、
第1の選択手段にて選択された2以上のディジタルオーディオファイルのうち、圧縮処理を施す順序で隣接するディジタルオーディオファイルの前方に位置するディジタルオーディオファイルの終端部近傍のブロックまたは隣接するディジタルオーディオファイルの後方に位置するディジタルオーディオファイルの始端部近傍のブロックと、隣接する2つのディジタルオーディオファイルに跨がっているブロックとに基づいて符号化処理を施す第2の符号化手段と、
第1の符号化手段における符号化処理と第2の符号化手段における符号化処理との一方を選択する第2の選択手段とを備えてなる符号化装置である。
【0016】
請求項8の発明は、複数のディジタルオーディオファイルに対して所定長毎にブロック化を施し、ブロック処理されたディジタルオーディオファイルに対して圧縮処理を施す符号化方法であって、
複数のディジタルオーディオファイルの中から圧縮処理を施す2以上のディジタルオーディオファイルを、圧縮処理を施す順序で選択する第1の選択ステップと、
第1の選択ステップにて選択された2以上のディジタルオーディオファイルのうち、圧縮処理を施す順序で隣接するディジタルオーディオファイルの前方に位置するディジタルオーディオファイルの終端部近傍のブロックと、第1の選択ステップにて選択された隣接するディジタルオーディオファイルの後方に位置するディジタルオーディオファイルの始端部近傍のブロックと、隣接する2つのディジタルオーディオファイルに跨がっているブロックとに基づいて符号化処理を施す第1の符号化ステップと、
第1の選択ステップにて選択された2以上のディジタルオーディオファイルのうち、圧縮処理を施す順序で隣接するディジタルオーディオファイルの前方に位置するディジタルオーディオファイルの終端部近傍のブロックまたは隣接するディジタルオーディオファイルの後方に位置するディジタルオーディオファイルの始端部近傍のブロックと、隣接する2つのディジタルオーディオファイルに跨がっているブロックとに基づいて符号化処理を施す第2の符号化ステップと、
第1の符号化ステップにおける符号化処理と第2の符号化ステップにおける符号化処理との一方を選択する第2の選択ステップとを備えてなる符号化方法である。
【0020】
以上のような発明によれば、連続性を考慮した処理と、連続性を考慮しない処理とを選択することが可能となり、元々のデータの特徴に応じた処理が可能となる。
【0021】
【発明の実施の形態】
この発明の一実施形態について、以下、図面を参照して説明する。一実施形態では、オーディオPCM信号等の入力ディジタル信号を、帯域分割符号化(SBC)、適応変換符号化(ATC)および適応ビット割当の技術を用いて高能率符号化する。この高能率符号化技術について、図1を参照して説明する。
【0022】
図1に示す高能率符号化装置では、入力ディジタル信号を複数の周波数帯域に分割すると共に、各周波数帯域毎に直交変換を行って、得られた周波数軸のスペクトルデータを、低域では、後述する人間の視覚特性を考慮したいわゆる臨界帯域幅(クリティカルバンド)毎に、中高域では、ブロックフローティング効率を考慮して臨界帯域幅を細分化した帯域毎に、適応的にビット割当して符号化している。通常このブロックが量子化雑音発生ブロックとなる。さらに、一実施形態においては、直交変換の前に入力信号に応じて適応的にブロックサイズ(ブロック長)を変化させている。
【0023】
例えばサンプリング周波数が44.1kHzの場合、入力端子100を介して0〜22kHzのオーディオPCM信号がQMFフィルタ等の帯域分割フィルタ101に供給される。帯域分割フィルタ101は、供給される信号を0〜11kHz帯域と11kHz〜22kHz帯域とに分割する。11〜22kHz帯域の信号はMDCT(Modified Discrete Cosine Transform)回路103およびブロック決定回路109、110、111に供給される。
【0024】
また、0kHz〜11kHz帯域の信号は帯域分割フィルタ102に供給される。帯域分割フィルタ102は、供給される信号を5. 5kHz〜11kHz帯域と0〜5. 5kHz帯域とに分割する。5.5〜11kHz帯域の信号はMDCT回路104およびブロック決定回路109、110、111に供給される。また、0〜5. 5kHz帯域の信号は、MDCT回路105およびブロック決定回路109、110、111に供給される。帯域分割フィルタ101、102は、例えばQMFフィルタ等を用いて構成することができる。ブロック決定回路109は、供給される信号に基づいてブロックサイズを決定し、決定したブロックサイズを示す情報をMDCT回路103および出力端子113に供給する。
【0025】
ブロック決定回路110は、供給される信号に基づいてブロックサイズを決定し、決定したブロックサイズを示す情報をMDCT回路104および出力端子115に供給する。ブロック決定回路111は、供給される信号に基づいてブロックサイズを決定し、決定したブロックサイズを示す情報をMDCT回路105お。よび出力端子117に供給する。ブロックサイズブロック決定回路110、111、112は、供給される信号の時間特性、周波数分布に応じて適応的にブロックサイズ(ブロック長)を設定する。
【0026】
MDCT回路103、104、105は、供給される信号に基づいてMDCT処理を行い、MDCT係数データまたは周波数軸上のスペクトルデータを生成する。MDCT回路103が生成する高域のMDCT係数データまたは周波数軸上のスペクトルデータは、ブロックフローティングの有効性を考慮して臨界帯域幅を細分化する処理を施された後に適応ビット割当符号化回路106およびビット割当算出回路118に供給される。MDCT回路104が生成する中域のMDCT係数データまたは周波数軸上のスペクトルデータは、ブロックフローティングの有効性を考慮して臨界帯域幅を細分化する処理を施された後に適応ビット割当符号化回路107およびビット割当算出回路118に供給される。
【0027】
MDCT回路105が生成する低域のMDCT係数データまたは周波数軸上のスペクトルデータは、臨界帯域(クリティカルバンド)毎にまとめる処理を施された後に適応ビット割当符号化回路108およびビット割当算出回路118に供給される。ここで、臨界帯域とは、人間の聴覚特性を考慮して分割された周波数帯域であり、ある純音の周波数近傍の同じ強さの狭帯域バンドノイズによって当該純音がマスクされる時に、当該狭帯域バンドノイズの帯域のことである。臨界帯域は、高域ほど帯域幅が広くなるという性質がある。0〜22kHzの全周波数帯域は、例えば25のクリティカルバンドに分割されている。
【0028】
ビット割当算出回路118は、供給されるMDCT係数データまたは周波数軸上のスペクトルデータ、およびブロックサイズ情報に基づいて、後述するようなマスキング効果等を考慮して上述の臨界帯域およびブロックフローティングを考慮した各分割帯域毎のマスキング量、エネルギーおよび或いはピーク値等を計算し、計算結果に基づいて各帯域毎にブロックフロ−ティングの状態を示すスケ−ルファクタ、および割当てビット数を計算する。計算された割当てビット数は、適応ビット割当符号化回路106、107、108に供給される。以下の説明において、ビット割当の単位とされる各分割帯域を単位ブロックと表記する。
【0029】
適応ビット割当符号化回路106は、ブロック決定回路109から供給されるブロックサイズ情報、ビット割当算出回路118から供給される割当ビット数および正規化情報としてのスケールファクタ情報に応じて、MDCT回路103から供給されるスペクトルデータまたはMDCT係数データを再量子化(正規化して量子化)する処理を行う。かかる処理の結果として、高能率符号化データが生成される。この高能率符号化は演算器120に供給される。適応ビット割当符号化回路107は、ブロック決定回路110から供給されるブロックサイズ情報、ビット割当算出回路118から供給される割当ビット数およびスケールファクタ情報に応じて、MDCT回路104から供給されるスペクトルデータまたはMDCT係数データを再量子化する処理を行う。かかる処理の結果として、高能率符号化データが生成される。この高能率符号化データが演算器121に供給される。
【0030】
適応ビット割当符号化回路108は、ブロック決定回路110から供給されるブロックサイズ情報、ビット割り当て算出回路118から供給される割当ビット数およびスケールファクタ情報に応じて、MDCT回路105から供給されるスペクトルデータまたはMDCT係数データを再量子化する。かかる処理の結果として、高能率符号化データが生成される。この高能率符号化データは演算器122に供給される。正規化情報変更回路119、および演算器120、121、122については後述する。
【0031】
図2に、MDCT回路103,104,105に供給される、各帯域毎のデータの例を示す。ブロック決定回路109,110,111の動作により、帯域分割フィルタ101、102から出力される計3個のデータについて、各帯域毎について独立に直交変換ブロックサイズを設定することができると共に、信号の時間特性、周波数分布等により時間分解能を切り換えることが可能とされている。すなわち、信号が時間的に準定常的である場合には、図2Aに示すような、直交変換ブロックサイズを例えば11.6msと大きくするLong Modeが用いられる。
【0032】
一方、信号が非定常的である場合には、直交変換ブロックサイズをLong Mode時に比べて2分割または4分割とするモードが用いられる。より具体的には、全てを4分割して例えば2.9msとするShort Mode(図2B参照)、或いは、一部を2分割して例えば5.8msとし、他の一部を4分割して例えば2.9msとするMiddleMode−a(図2C参照)または、Middle Mode−b(図2D参照)が用いられる。このように時間分解能を様々に設定することにより、実際の複雑な入力信号に適応できるようになされる。
【0033】
回路規模等に係る制約が小さい場合には、直交変換ブロックサイズの分割をさらに複雑なものとすることにより、実際の入力信号をより適切に処理できることは明白である。上述したようなブロックサイズは、ブロック決定回路109,110,111によって決定され、決定されたブロックサイズの情報はMDCT回路103,104,105およびビット割り当て算出回路118に供給されると共に、出力端子113、115、117を介して出力される。
【0034】
次に、図3を参照して、ビット割当て算出回路118について詳細に説明する。入力端子301を介して、MDCT回路103、104、105からの周波数軸上のスペクトルデータまたはMDCT係数、およびブロック決定回路109、110、111からのブロックサイズ情報がエネルギー算出回路302に供給される。エネルギー算出回路302は、例えば当該単位ブロック内での各振幅値の総和を計算する等の方法で単位ブロック毎のエネルギーを計算する。なお、エネルギー算出回路302の代わりに振幅値のピーク値、平均値等を計算する構成を設け、振幅値のピーク値、平均値等の計算値に基づいてビット割当て処理を行うようしても良い。
【0035】
エネルギー算出回路302の出力の一例を図4に示す。図4では、各バンド毎の総和値のスペクトルSBを、先端に丸を付した縦方向の線分によって示す。ここで、横軸が周波数、縦軸が信号強度をそれぞれ示す。なお、図示が煩雑となるのを避けるため、図4では、単位ブロックによる分割数を12ブロック(B1〜B12)とし、B12のスペクトルのみに符号「SB」を付した。
【0036】
また、エネルギー算出回路302は、単位ブロックのブロックフローティングの状態を示す正規化情報であるスケールファクタ値を決定する処理を行う。具体的には、例えばあらかじめスケールファクタ値の候補として幾つかの正の値を用意し、それらの内、単位ブロック内のスペクトルデータ又はMDCT係数の絶対値の最大値以上の値をとるものの中で最小のものを当該単位ブロックのスケールファクタ値として採用する。スケールファクタ値の候補は、実際の値と対応した形で、例えば数ビットを用いて番号付けを行ない、その番号を図示しないROM(Read Only Memory) 等に記憶させておけば良い。この際に、スケールファクタ値の候補は、番号順に例えば2dBの間隔での値を持つように規定しておく。ある単位ブロックについて採用されたスケールファクタ値に付される番号がサブ情報として用いられ、当該単位ブロックについてのスケールファクタ情報とされる。
【0037】
エネルギー算出回路302の出力、すなわち、スペクトルSBの各値は、畳込みフイルタ回路303に送られる。畳込みフイルタ回路303は、例えば、入力データを順次遅延させる複数の遅延素子と、これら遅延素子からの出力にフイルタ係数(重み付け関数)を乗算する複数の乗算器と、各乗算器出力の総和をとる総和加算器とから構成することができる。畳込みフイルタ回路303は、スペクトルSBのマスキングにおける影響を考慮するための、スペクトルSBに所定の重み付け関数を掛けて加算するような畳込み(コンボリユーション)処理を施す。この畳込み処理により、図4中で点線で示す部分の総和が計算される。
【0038】
図3に戻り、畳込みフイルタ回路303の出力は演算器304に供給される。演算器304には、さらに、許容関数(マスキングレベルを表現する関数)が(n−ai)関数発生回路305から供給される。演算器304は、許容関数に従って、畳込みフイルタ回路303によって畳み込まれた領域における、許容可能なノイズレベルに対応するレベルαを計算する。ここで、許容可能なノイズレベル(許容ノイズレベル)に対応するレベルαとは、後述するように、逆コンボリユーション処理を行うことによって、クリテイカルバンドの各バンド毎の許容ノイズレベルとなるようなレベルである。レベルαの算出値は、許容関数を増減させることによって制御される。
【0039】
すなわち、許容ノイズレベルに対応するレベルαは、クリテイカルバンドのバンドの低域から順に与えられる番号をiとすると、次の式(1)で求めることができる。
【0040】
α=S−(n−ai) (1)
【0041】
式(1)において、n,aは定数でa>0、Sは畳込み処理されたスペクトルの強度であり、式(1)中(n−ai)が許容関数となる。一例としてn=38,a=1とすることができる。
【0042】
演算器304によって計算されるレベルαが割算器306に伝送される。割算器306は、レベルαを逆コンボリユーションする処理を行い、その結果としてレベルαからマスキングスペクトルを生成する。このマスキングスペクトルが許容ノイズスペクトルとなる。なお、逆コンボリユーション処理を行う場合、一般的には複雑な演算が行われる必要があるが、この発明の一実施形態では、簡略化した割算器306を用いて逆コンボリユーションを行っている。マスキングスペクトルは、合成回路307に供給される。合成回路307には、さらに、後述するような最小可聴カーブRCを示すデータが最小可聴カーブ発生回路312から供給される。
【0043】
合成回路307は、割算器306の出力であるマスキングスペクトルと最小可聴カーブRCのデータとを合成することにより、マスキングスペクトルを生成する。生成されるマスキングスペクトルが減算器308に供給される。減算器308には、さらに、エネルギー検出回路302の出力、すなわち帯域毎のスペクトルSBが遅延回路309によってタイミングを調整された上で供給される。減算器308は、マスキングスペクトルとスペクトルSBとに基づく減算処理を行う。
【0044】
かかる処理の結果として、ブロック毎のスペクトルSBの、マスキングスペクトルのレベル以下の部分がマスキングされる。図5に、マスキングの一例を示す。スペクトルSBにおける、マスキングスペクトルのレベル(MSと表記する)以下の部分がマスキングされていることがわかる。なお、図示が煩雑となるのを避けるため、図5中ではB12においてのみ、スペクトルに符号「SB」を付すと共にマスキングスペクトルのレベルに符号「MS」を付した。
【0045】
雑音絶対レベルが最小可聴カーブRC以下ならばその雑音は人間には聞こえないことになる。最小可聴カーブは、コーデイングが同じであっても例えば再生時の再生ボリユームの違いによって異なる。但し、実際のデジタルシステムでは、例えば16ビットダイナミックレンジへの音楽データの入り方にはさほど違いがないので、例えば4kHz付近の最も耳に聞こえやすい周波数帯域の量子化雑音が聞こえないとすれば、他の周波数帯域ではこの最小可聴カーブのレベル以下の量子化雑音は聞こえないと考えられる。
【0046】
従って、例えばシステムの持つワードレングスの4kHz付近の雑音が聞こえないような使い方をする場合、最小可聴カーブRCとマスキングスペクトルMSとを合成することによって許容ノイズレベルを得るようにすれば、この場合の許容ノイズレベルは図6中の斜線で示す部分となる。なお、ここでは、最小可聴カーブの4kHzのレベルを例えば20ビット相当の最低レベルに合わせている。図6では、各ブロック内の水平方向の実線としてSB、各ブロック内の水平方向の点線としてMSをそれぞれ示した。但し、図示が煩雑となるのを避けるため、図6ではB12のスペクトルのみについて符号「SB」、「MS」を付した。また、図6では、信号スペクトルSSを一点鎖線で示した。
【0047】
図3に戻り、減算器308の出力は許容雑音補正回路310に供給される。許容雑音補正回路310は、例えば等ラウドネスカーブのデータ等に基づいて、減算器308の出力における許容雑音レベルを補正する。すなわち、許容雑音補正回路310は、上述したマスキング、聴覚特性等の様々なパラメータに基いて、各単位ブロックに対する割当ビットを算出する。許容雑音補正回路310の出力は、出力端子311を介して、ビット割当算出回路118の最終的な出力データとして出力される。ここで、等ラウドネスカーブとは、人間の聴覚特性に関する特性曲線であり、例えば1kHzの純音と同じ大きさに聞こえる各周波数での音の音圧を求めて曲線で結んだもので、ラウドネスの等感度曲線とも呼ばれる。
【0048】
また、この等ラウドネスカーブは、図6に示した最小可聴カーブRCと同じ曲線を描く。この等ラウドネスカーブにおいては、例えば4kHz付近では1kHzのところより音圧が8〜10dB下がっても1kHzと同じ大きさに聞こえ、逆に、50Hz付近では1kHzでの音圧よりも約15dB高くないと同じ大きさに聞こえない。このため、最小可聴カーブRCのレベルを越える雑音(許容ノイズレベル)が等ラウドネスカーブに沿った周波数特性を持つようにすれば、その雑音が人間に聞こえないようにすることができる。
【0049】
等ラウドネスカーブを考慮して許容ノイズレベルを補正することは、人間の聴覚特性に適合していることがわかる。以上のように、ビット割当算出回路118では、メイン情報としての直交変換出力スペクトルをサブ情報によって処理したデータと、サブ情報としてのブロックフローティングの状態を示すスケールファクタおよび語調を示すワードレンクスが得られる。これらの情報に基づいて、図1中の適応ビット符号化回路106、107、108が再量子化を行って、符号化フォーマットに従う高能率符号化データを生成する。
【0050】
図1に戻り、正規化情報変更回路119について説明する。上述したように、エネルギー算出回路302によって決定されるスケールファクタ情報を操作することにより、例えば2dB毎のレベル調整を行うことができる。正規化情報変更回路119は、スケールファクタ情報の変更に係る値を生成し、生成した値をそれぞれ、演算器120、121、122に供給する。演算器120は、121、122は、それぞれ、適応ビット割当符号化回路106、107、108から供給される符号化データ中のスケールファクタ情報に、正規化情報変更回路119から供給される値を加算する。但し、正規化情報変更回路119から出力される値が負の場合は、演算器120、121、122は減算器として作用するものとする。この際の加算結果については、フォーマットで定められたスケールファクタの数値の範囲内に収まるような制限を行う。
【0051】
なお、スケールファクタ情報に加算すべき値として、正規化情報変更回路119が全単位ブロックに対して同一の値を出力する場合にはレベル調整処理が行われるが、正規化情報変更回路119が単位ブロック毎に異なる値を出力するようにすれば、例えばフィルタ処理等を実現できる。フィルタ処理等を行う場合には、正規化情報変更回路119は、スケールファクタ情報に加算すべき値と、その値が加算されるべきスケールファクタ情報をに係る単位ブロックの番号との組を出力する。以上のような正規化情報調整処理は、後述する復号化の場合に実現することも可能である。
【0052】
次に、高能率符号化データの符号化フォーマットについて、図7を参照して説明する。左側に示した数値0,1,2,‥‥,211はバイト数を表しており、この一例では212バイトを1フレームの単位としている。先頭の0バイト目の位置には、図1中のブロック決定回路109、110、111において決定された、各帯域のブロックサイズ情報を記録する。次の1バイト目の位置には、記録する単位ブロックの個数の情報を記録する。例えば高域側になる程、ビット割当算出回路118によってビット割当が0とされて記録が不必要となる場合が多いため、このような状況に対応するように単位ブロックの個数を設定することにより、聴感上の影響が大きい中低域に多くのビットを配分するようになされている。それと共に、かかる1バイト目の位置にはビット割当情報の2重書きを行なっている単位ブロックの個数、及びスケールファクタ情報の2重書きを行なっている単位ブロックの個数が記録される。
【0053】
2重書きとは、エラー訂正用に、あるバイト位置に記録されたデータと同一のデータを他の場所に記録する方法である。2重書きされるデータの量を多くする程、エラーに対する強度が向上するが、2重書きされるデータの量を少なくする程、スペクトラムデータに使用できるデータ容量が多くなる。この符号化フォーマットの一例では、ビット割当情報、スケールファクタ情報のそれぞれについて独立に2重書きを行なう単位ブロックの個数を設定することにより、エラーに対する強度と、スペクトラムデータを記録するために使用されるビット数とを適切なものとするようにしている。なお、それぞれの情報について、規定されたビット内でのコードと単位ブロックとの個数の対応は、あらかじめフォーマットとして定めている。
【0054】
1バイト目の位置の8ビットにおける記録内容の一例を図8に示す。ここでは、最初の3ビットを実際に記録される単位ブロックの個数の情報とし、後続の2ビットをビット割当情報の2重書きを行なっている単位ブロックの個数の情報とし、最後の3ビットをスケールファクタ情報の2重書きを行なっている単位ブロックの個数の情報とする。
【0055】
図8において、2バイト目からの位置には、単位ブロックのビット割当情報が記録される。ビット割当情報の記録のために、単位ブロック1個当たり例えば4ビットが使用される。これにより、0番目の単位ブロックから順番に記録される単位ブロックの個数分のビット割当情報が記録されることになる。ビット割当情報のデータの後に、各単位ブロックのスケールファクタ情報が記録される。スケールファクタ情報の記録のために、単位ブロック1個当たり例えば6ビットが使用される。これにより、0番目の単位ブロックから順番に記録される単位ブロックの個数分のスケールファクタ情報が記録される。
【0056】
スケールファクタ情報の後に、単位ブロック内のスペクトラムデータが記録される。スペクトラムデータは、0番目の単位ブロックより順番に、実際に記録させる単位ブロックの個数分記録される。各単位ブロック毎に何本のスペクトラムデータが存在するかは、あらかじめフォーマットで定められているので、上述したビット割当情報によりデータの対応をとることが可能となる。なお、ビット割当が0の単位ブロックについては記録を行なわない。
【0057】
このスペクトラム情報の後に、上述したスケールファクタ情報の2重書き、およびビット割当情報の2重書きを行なう。この2重書きの記録方法は、個数の対応を図8に示した2重書きの情報に対応させるだけで、その他の点については上述のスケールファクタ情報、およびビット割当情報の記録と同様である。最後のバイトすなわち211バイト目、およびその1バイト前の位置すなわち210バイト目には、それぞれ、0バイト目と1バイト目の情報が2重書きされる。これら2バイト分の2重書きはフォーマットとして定められており、スケールファクタ情報の2重書きやビット割当情報の2重書きのように、2重書き記録量の可変の設定はできない。
【0058】
次に、高能率符号化データを復号化する復号化処理について説明する。復号化処理系の構成の一例を図9に示す。高能率符号化データは、入力端子707を介して演算器710に供給される。また、符号化処理において使用されたブロックサイズ情報、すなわち図1中の出力端子113、115、117の出力信号と等価のデータが入力端子708に供給される。また、正規化情報変更回路709は、各単位ブロックのスケールファクタ情報に加算または減算すべき値を生成する。
【0059】
演算器710は、さらに、正規化情報変更回路709から数値データを供給される。演算器710は、供給される高能率符号化データ中のスケールファクタ情報に対して、正規化情報変更回路709から供給される数値データを加算する。但し、正規化情報変更回路709から供給される数値データが負の数の場合は、演算器710は減算器として作用するものとする。演算器710の出力は、適応ビット割当復号化回路706、および出力端子711に供給される。
【0060】
適応ビット割当復号化回路706は、適応ビット割当情報を参照してビット割当てを解除する処理を、高域、中域、低域の各帯域について行う。高域、中域、低域のそれぞれに対する適応ビット割当て復号化回路706の出力は、逆直交変換回路703、704、705に供給される。逆直交変換回路703、704、705は、供給されるデータを逆直交変換処理する。これにより、周波数軸上の信号が時間軸上の信号に変換される。逆直交変換回路703、704、705の出力である、部分帯域の時間軸上信号は、帯域合成フィルタ701、702によって合成され、全帯域信号に復号化される。帯域合成フィルタ701、702としては、例えばIQMF(Inverse Quadrature Mirror filter)等を使用することができる。
【0061】
演算器710による加算または減算によってスケールファクタ情報を操作することにより、再生データについて例えば2dB毎のレベル調整を行うことができる。例えば、正規化情報変更回路709から全て同じ数値を出力し、その数値を全単位ブロックのスケールファクタ情報に一律に加算または減算する処理により、全単位ブロックに対して2dBを単位とするレベル調整を行うことが可能とされる。
【0062】
また、例えば、正規化情報変更回路709から単位ブロック毎に独立な数値を出力し、それらの数値を各単位ブロックのスケールファクタ情報に加算または減算する処理によって単位ブロック毎のレベル調整を行うことができ、その結果としてフィルタ機能を実現することができる。より具体的には、正規化情報変更回路709が単位ブロックの番号と、当該単位ブロックのスケールファクタ情報に加算または減算すべき値との組を出力させる等の方法で、単位ブロックと当該単位ブロックのスケールファクタ情報に加算または減算すべき値とが対応付けられるようにする。なお、演算器710による加算または減算の結果として生成されるスケールファクタ情報は、対応するスケールファクタ値が高能率符号化データのフォーマットで定められた範囲に収まるように制限される。
【0063】
演算器710によって単位ブロックのレベル調整が行われたスケールファクタ値については、適応ビット割当復号化回路706の復号化の行程に使用されることにより、復号化信号のレベル調整を行うのみに利用することが可能であると共に、例えば符号化情報が記録された記録媒体よりスケールファクタ値を読み込み、調整が行われたスケールファクタ値を出力端子711に出力させ、記録媒体に記録されたスケールファクタ値を調整された値に変更することも可能である。記録媒体の情報の変更については、必要に応じて行えるものとする。これによって、非常に簡単なシステムで、記録媒体のレベル情報を変更することが可能となる。
【0064】
上述の説明では、符号化回路、復号化回路の双方においてスケールファクタ情報の変更処理を行うものとした。これに対して、復号化回路のみにおいてスケールファクタ情報の変更処理を行うようにした場合にも、変更処理の結果として、レベル調整、フィルタ処理等の機能を充分に得ることができる。
【0065】
次に、上述した高能率符号化における処理を行う時間単位について説明する。図1における入力端子100には、オーディオのPCMサンプルが供給されるが、入力後に行われるMDCT回路103,104,105によるMDCT処理においては、いわゆる直交変換処理を行うためのサンプル数が規定され、それが一つの単位となり、繰り返し処理がなされる。
【0066】
ここでは、入力端子100から入力された1024サンプルのPCMサンプルが512本のMDCT係数、またはスペクトラムデータとして、MDCT回路103,104,105より出力される。具体的には、入力端子100から入力された1024個のPCMサンプルが帯域分割フィルタ101によって、512個の高域サンプルと512個の低域サンプルと256個の中域サンプルとなる。その後に、帯域分割フィルタ102からの256個の低域サンプルは、MDCT回路105によって、128個の低域スペクトラムデータとなり、帯域分割フィルタ102からの256個の中域サンプルは、MDCT回路104によって、128個の中域スペクトラムデータとなり、帯域分割フィルタ101からの512個の高域サンプルは、MDCT回路103によって、256個の高域スペクトラムデータとなる。このように、合計512個のスペクトラムデータが1024個のPCMサンプルから作成される。この1024個のPCMサンプルが上述した高能率符号化の1回の処理を行う時間単位となり、図7に示した212バイトの高能率符号化データ、すなわち、1フレームとなる。
【0067】
上述したように、1フレームは、例えば1024個のPCMサンプルからなるが、図1中のMDCT回路103,104,105によるMDCT処理においては、通常、順次処理されていく各フレームにおいてオーバーラップ部分が生じる。PCMサンプルとフレームの関係を図10を用いて説明する。図10に示すように、例えば、n番目からn+1023番目までの1024個のPCMサンプルがN番目のフレームで処理される場合に、N+1番目のフレームでは、n+512番目からn+1535番目までの1024個のPCMサンプルが処理され、N+2番目のフレームでは、n+1024番目からn+2047番目までの1024個のPCMサンプルが処理される。このように、一つのフレームは、隣接するサウンドフレームと、512個のPCMサンプルのオーバーラップを持つ形となる。つまり、このような形で処理を行うと、高能率符号化情報の1フレームは、1024個のPCMサンプルを処理したものであるが、隣接フレームとのオーバーラップを考慮すると、512個のPCMサンプル相当ということになる。
【0068】
図10は、PCMサンプルの途中でのフレームとの対応を示しているが、PCMサンプルの始点については、例えば始点より以前の段階に512個の0データのPCMサンプルを想定して、これらの512個の0データのPCMサンプルを、最初のフレーム以前の仮想的なフレームとオーバーラップして処理するものとする。また、最後のフレームでは、サンプル列終了時点以後に512個の0データのPCMサンプルを想定して、それら512個の0データのPCMサンプルを、最後のフレーム以後の仮想的なフレームとオーバーラップして処理するものとする。
【0069】
次に、上述した符号化または復号化方法について、いわゆるパソコン上のソフトウエアとして処理する方法について説明する。パソコン上での処理としては、主にハードディスク上のPCMのデータファイルを高能率符号化することにより、ハードディスク上に高能率符号化データファイルを作成する、またはハードディスク上の高能率符号化データファイルを復号化処理することによりハードディスク上にPCMのデータファイルを作成することが考えられる。この時、通常一つの楽曲が一つのファイルに対応される。
【0070】
具体例として、いわゆるパソコンにおける、GUI(Graphical User Interface)を利用したソフトウエアでの画面表示、操作方法、処理行程等について、図11を用いて説明する。図11は、符号化および復号化のソフトウエアのパソコン上での画面表示の一例を示すものである。このソフトウエアは、まずPCMデータと高能率符号化データのためのディレクトリを選択する。801は、PCMデータファイルのディレクトリパスの表示部であり、現在この例ではCドライブのPCMDATAという名のディレクトリが選択されていることが示されている。803は、表示部801にて示されたディレクトリ内のファイル構成を表示すると共に、ディレクトリ移動、ドライブ移動、ファイル選択等を行える表示操作部である。この例では、現在の表示部801で示されたディレクトリの下には更にtmpという名称のディレクトリが存在していることが分かる。
【0071】
また、「・・」の表示は、一つ上の階層のディレクトリを示しているものとする。また、tmp以下6つのファイルはPCMデータファイルを示している。また、その下の[−c−][−d−]は、移動可能なドライブを示している。表示されているものが、ディレクトリか、ドライブか、PCMデータかの判断は、表示されている文字列や、文字列の横に付加されている、いわゆるアイコンにより、判断することが可能である。
【0072】
ディレクトリとドライブの表示部は、その文字列位置にマウスポインタを対応させ、ダブルクリックすることで、現行ディレクトリ位置を、ダブルクリックした場所に移動させることが可能である。この例では、例えばtmpの場所でダブルクリックを行うと、表示部801の表示は、C:¥PCMDATA¥tmpとなり、表示操作部803では、tmpの下のファイルの状態、および移動可能ドライブが示されるようになる。このように、ドライブ名やディレクトリ名をダブルクリックを繰り返すことにより、PCMデータファイル用の所望のディレクトリ位置に移動することができる。
【0073】
802は、高能率符号化データ用のディレクトリ位置を表示する表示部であり、図示の例では、CドライブのENCODEDATAという名のディレクトリが選択されていることが示されている。804は、表示部802にて示されたディレクトリ内のファイル構成を表示すると共に、ディレクトリ移動、ドライブ移動、ファイル選択等を行える表示操作部である。この例では、表示部802で示された現在のディレクトリの下には、ファイル、ディレクトリが共に存在していないことが示されている。表示操作部804における操作、および表示部802との対応については、表示操作部803、表示部801におけるものと同様であり、表示操作部804にて高能率符号化データ用のディレクトリを選択することができる。
【0074】
805は、高能率符号化を実行するボタンであり、ここをクリックすることで、表示操作部803にて選択されたPCMデータファイルが順に高能率符号化され、表示部802で示されたディレクトリの下に高能率符号化ファイルが作成される。この実際の処理の流れについて図12を用いて説明する。
【0075】
図12Aに示す状態では、図11における表示操作部803にて、data2.pcm、dataA.pcm、dataB.pcmの3つのPCMファイルが選択され、反転表示されている。ここで図11におけるボタン805をクリックすることにより、これらの3つのファイルがそれぞれ順に高能率符号化される。通常の高能率符号化処理の場合、処理を行うファイルの順序は特に問題とならない。
【0076】
図12Bに示す状態では、高能率符号化処理実行中の表示画面を示すものであり、符号化処理行程の進行状況が、棒グラフのような形で認識できるようになっている。ここでは図示していないが、ボタンの形で処理を途中で中止するような手段を設けても良い。図12Cは、選択された全てのファイルの高能率符号化処理が終了した状態を示すものである。図11における操作表示部804には、処理により作成された3つの高能率符号化データファイル、data2enc.dat、dataAenc.dat、dataBenc.datが表示されている。処理後の、高能率符号化データファイルのファイル名については任意性があるが、ここでは処理を行うPCMファイル名の、いわゆる拡張子部分となる.pcmを取り除いた部分の名称にenc.datが自動的に付加されたファイル名を採用するようにしている。
【0077】
次にボタン807について説明する。このボタン807がクリックされると、複数のファイルの高能率符号化処理を、データ列として連続に扱うようになされる。図12Bを参照して説明したように、ファイルを連続して処理する場合、一づつのファイルについて、図1による行程と、図10で示したデータ関係による処理を行うこととなる。このため、処理を行う全てのファイルについて、上述したように、始点での512個の0データのPCMサンプルの想定、および終点についての0データのPCMサンプルの想定を考慮した処理を行うこととなる。通常、楽曲がファイル毎に独立している場合はこの方法で問題とならないが、楽曲としては別であるがPCMデータとして連続となっているような場合、高能率符号化処理を行うことで、連続性が失われてしまうこととなる。
【0078】
この例を、先に示した図12におけるdataA.pcm、dataB.pcmが連続したPCMデータである場合を想定し、図13A、図13B、および図13Cを用いて説明する。図13Aでは、分割点を境にして、dataA.pcmの終点のPCMデータとdataB.pcmの始点のPCMデータが連続しているものである様子を示している。
【0079】
また、先に図10等を用いて説明した高能率符号化処理を行うフレーム割りの最終部分については、図13AにおけるNとN+1のような状態となったものとする。この時、dataA.pcmの最終部の処理を示したものが図13Bである。すなわち、N+1番目のフレームが最終フレームとなるが、図13Aにおける分割点以降のデータについては別ファイルのデータであるので、分割点以降のデータを使用せず端数分となった部分については0データを詰め込んで処理を行う。
【0080】
これに対して、dataB.pcmの始点のデータについては、図13Cに示した形の処理を行う。すなわち、図13Aにおける分割点以前のデータについては別ファイルのデータであるので、分割点以前のデータを使用せず、先頭フレームの1024個のPCMデータは、512個のゼロデータと512個のdataB.pcmの始点のデータから構成される。
【0081】
この時、図13Bで示したdataA.pcmを処理するフレーム割りと、図13Cで示したdataB.pcmを処理するフレーム割りが異なったものとなる。また、それぞれが端数分としてゼロデータを挿入しているため、連続性も失われた状態となっている。すなわち、dataA.pcmとdataB.pcmを連続再生した場合は、連続した音となるが、dataAenc.datとdataBenc.datを復号化して連続再生した場合は、音切れのような形となってしまう。
【0082】
これに対して、図11におけるボタン807をクリックして、データ列を連続した形で処理する場合の例を図14A、図14Bおよび図14Cを用いて説明する。図14Aに示すように、ファイルの分割点、およびdataA.pcmの処理フレーム割り等は、図13Aと同様の状態となっている。図14Bは、dataA.pcmの最終フレームの様子を示すものであるが、図13Bとは異なり、分割点より外側のデータに0データを埋めるのではなく、dataB.pcmのデータを採用している。
【0083】
また、図14Cは、dataB.pcmの先頭のフレーム割りを示しているが、図13Cのように、ファイルの始点にフレームをあわせて0データを埋めるのではなく、dataA.pcmのフレーム割りと連続性を保つようなフレーム割り処理として、dataB.pcmの始点より外側のデータについては、dataA.pcmのデータを採用するようにしている。つまり図14Aでのフレーム割りで考えた場合の、N+2というのがdataB.pcmの先頭フレームということになる。このように処理することにより、高能率符号化処理データにおいても、二つのファイル間で連続性が保たれることとなり、dataAenc.datとdataBenc.datを復号化して連続再生した場合の音切れが起こらないこととなる。
【0084】
上述した図13A、図13B、図13Cに示したように、符号化処理を行う場合の処理を図15のフローチャートに示し、図14A、図14B、図14Cに示したように、符号化処理を行う場合の処理を図16のフローチャートに示す。
【0085】
図15の最初のステップS1では、1024ポイント分の読み込みバッファを用意する。次に、処理の対象のファイルの番号iを0に設定する(ステップS2)。ステップS3では、処理すべきi番目のファイルがあるかどうかが決定される。ファイルがなければ、処理は、終了する(ステップS4)。
【0086】
i番目のファイルがある場合に、ステップS5において、読み込みバッファの前半512ポイント分データとしてゼロデータを詰める処理を行う。次に、i番目の読み込みファイル(PCMファイル)をオープンし(ステップS6)、そして、i番目の書き込みファイル(符号化ファイル)をオープンする(ステップS7)。読み込んだ符号化からバッファの後半512ポイントにデータを読み込む(ステップS8)。
【0087】
ステップS9では、読み込みデータ量が取得され、読み込み位置が更新される。ステップS10では、読み込みデータ量が512ポイントに満たないかどうかが決定される。読み込みデータ量が512ポイントに満たない場合には、ステップS11において、読み込みバッファの512ポイントと、読み込みデータ量の差分量のデータとしてゼロデータが詰められる。
【0088】
ステップS10で読み込みデータ量が512ポイントある場合、またはステップS11(ゼロデータの詰め込み)に続いて、ステップS12において、1フレーム分の符号化処理がなされる。ステップS13では、符号化データを書き込みファイルに書き込む。
【0089】
ステップS10の決定の結果が肯定の場合(読み込みデータ量が512ポイントに満たない場合)では、ステップS14で、i番目の読み込みファイルをクローズし、ステップS15でi番目の書き込みファイルをクローズし、ステップS16でiのインクリメント処理がなされる。そして、処理がステップS3(i番目のファイルの有無の決定)に戻る。
【0090】
ステップS10の決定の結果が否定の場合(読み込みデータ量が512ポイントある場合)では、ステップS13に続いてステップS17の処理がなされる。ステップS17では、読み込みバッファの後半512ポイント分のデータをその前半512ポイントにシフトする。そして、処理がステップS9(読み込みデータ量の取得、および読み込み位置の更新)に戻る。
【0091】
このようにして、図13に示すように、楽曲がファイル毎に独立している場合に適用される処理がなされる。また、楽曲としては別であるが、PCMデータとして連続となっているような場合に適用される処理(図14)を図16のフローチャートを参照して説明する。
【0092】
最初のステップS21で、1024ポイント分の読み込みバッファが用意される。ステップS22では、iが0に初期化される。ステップS23では、最初のファイル(i==0)であるか否かが決定される。最初のファイルの場合には、ステップS24において、読み込みバッファの前半512ポイント分のデータとしてゼロデータが詰められる。そして、i番目の読み込み(PCM)ファイルをオープンし(ステップS25)、i番目の書き込み(符号化)ファイルをオープンする(ステップS26)。ステップS27では、読み込みファイルからバッファの後半の512ポイントにデータを読み込む。
【0093】
ステップS28では、読み込みデータ量が取得され、読み込み位置が更新される。ステップS29では、読み込みデータ量が512ポイントに満たないかどうかが決定される。読み込みデータ量が512ポイントに満たない場合には、ステップS30において、処理すべきi+1番目のファイルがあるかどうかが決定される。
【0094】
ステップS30において、処理すべきi+1番目のファイルがないと決定されると、ステップS31では、読み込みバッファの512ポイントと、読み込みデータ量の差分量のデータとしてゼロデータが詰められる。
【0095】
ステップS30において、処理すべきi+1番目のファイルがあると決定されると、ステップS32において、i+1番目の読み込みファイルのオープンがなされる。そして、ステップS33では、読み込みバッファの512ポイントと、読み込みデータ量の差分量のデータがi+1番目のファイルから読み込まれ、読み込み位置が更新される。
【0096】
ステップS29で読み込みデータ量が512ポイントある場合、ステップS31(ゼロデータの詰め込み)、またはステップS33(i+1番目のファイルからのデータの読み込みと、読み込み位置の更新)に続いて、ステップS34において、1フレーム分の符号化処理がなされる。ステップS35では、符号化データを書き込みファイルに書き込む。
【0097】
ステップS29の決定の結果が否定の場合(読み込みデータ量が512ポイントある場合)では、ステップS35に続いてステップS36の処理がなされる。ステップS36では、読み込みバッファの後半512ポイント分のデータをその前半512ポイントにシフトする。そして、処理がステップS27(読み込みファイルからバッファの後半512ポイントにデータを読み込む)に戻る。
【0098】
ステップS29の決定の結果が肯定の場合(読み込みデータ量が512ポイントに満たない場合)では、ステップS37で、i番目の読み込みファイルをクローズし、ステップS38でi番目の書き込みファイルをクローズする。そして、ステップS30の決定の結果が否定(すなわち、i+1番目のファイルがない)場合に、処理が終了する(ステップS40)。一方、ステップS30の決定の結果が肯定(すなわち、i+1番目のファイルがある)場合に、ステップS39でiのインクリメント処理がなされ、ステップS36の処理がなされる。そして、処理がステップS23(最初のファイルか否かの決定)に戻る。
【0099】
実際の符号化処理を行う場合、上述したように、図11中のボタン807によって、図13に示した形で処理を行うか、図14に示した形で処理を行うかが選択される。なお、連続させるファイルの数が二つ以上の場合も同様である。連続処理させるファイルの選択については、図17で示した方法で割り出される。
【0100】
図17は、連続させるファイルを実際に設定する方法の一例を示す。図17は、図11にてボタン807をクリックした場合に現れる操作表示画面であり、操作表示画面上で連続処理させるファイルが選択される。901で示す表示部には、連続処理を行うファイルを表示している。ここではdata2.pcmと、data3.pcmを連続処理する例が示されている。表示部901には、直接ファイル名を入力することが可能であるが、ボタン905を使って、いわゆるファイル構造をグラフィカルに検索し、ファイルを選択することも可能である。このとき、ファイルを選択した順序が、連続処理に反映されることとなるが、表示部901内で順序を変更することも可能である。
【0101】
また、902を使用することで、複数のファイルの連続処理に対応することも可能である。表示部903は、表示部901と同様に、その他の組みで連続処理をさせるファイルについて設定するものである。この例ではdataA.pcm、dataB.pcm、dataC.pcmを連続処理させる設定が示されている。ここではdata2.pcmと、data3.pcmの連続処理を一組目、dataA.pcm、dataB.pcm、dataC.pcmを二組目としているが、とくにこの組の数値については、直接処理結果には関わらない。904については、一組目の902に相当するものである。また、ここでは二組を表示しているが、906を使用することで、このような組を、更に設定することも可能である。最後にOKボタン907をクリックすることで設定が完了する。
【0102】
再び図11について説明する。806は、表示操作部804にて選択された高能率符号化データファイルを復号化する時に押されるボタンである。その処理方法、表示内容の対応等については、高能率符号化時のボタン805によるものと同様である。また復号化時においても、上述した高能率符号化の連続処理の場合と同様に、ボタン807を使用することで、連続復号化処理を設定することが可能である。復号化の連続処理の場合は、ある高能率符号化データファイルの最終フレームと、他の高能率符号化データファイルの先頭フレームを連続フレームとして復号化処理する形に設定を行うようにすればよい。808は、プログラムを終了させるためのボタンである。
【0103】
上述した方法で、複数ファイルの符号化、復号化の際に、各ファイル独立に処理を行うか、または、異なるファイル間にまたがった連続性を考慮した処理を行うかを選択して、所望の形で処理ファイルを作成することが可能となる。
【0104】
【発明の効果】
上述したこの発明は、所望の複数ファイルを符号化処理または復号化処理を行う時に、異なるファイル間の始点、終点の連続性を考慮した符号化と、考慮しない符号化を選択することができる。それによって、処理後に元々存在していた連続性が失われることを防止することができる。
【図面の簡単な説明】
【図1】高能率符号化データの生成に係る構成の一例を示すブロック図である。
【図2】各帯域毎の直交変換ブロックサイズについて説明するための略線図である。
【図3】図1中の一部の構成について詳細に示すブロック図である。
【図4】臨界帯域、ブロックフローティング等を考慮して分割された帯域のスペクトルの一例を示す略線図である。
【図5】マスキングスペクトルの一例を示す略線図である。
【図6】最小可聴カーブ、マスキングスペクトルの合成について説明するための略線図である。
【図7】この発明の一実施形態における符号化データフォーマットの一例を示す略線図である。
【図8】図7中の1バイト目のデータの詳細を示した略線図である。
【図9】ディジタル信号復号化処理に係る構成の一例を示すブロック図である。
【図10】符号化データ内の各フレームにおけるオーバーラップについて説明するための略線図である。
【図11】パソコン上で高能率符号化処理、および復号化処理を行うシステムの操作表示画面の一具体例を示す略線図である。
【図12】上記図11のシステムにより複数のファイルについて高能率符号化をおこなう処理を示す略線図である。
【図13】二つのファイルの連続性を考慮せずに高能率符号化を行う場合のフレーム対応を示す略線図である。
【図14】二つのファイルの連続性を考慮して高能率符号化を行う場合のフレーム対応を示す略線図である。
【図15】二つのファイルの連続性を考慮せずに高能率符号化を行う場合の処理工程を示すフローチャートである。
【図16】二つのファイルの連続性を考慮して高能率符号化を行う場合の処理工程を示すフローチャートである。
【図17】連続性を考慮した処理を行うファイルの組合せを選択するための操作表示画面の一具体例を示す略線図である。
【符号の説明】
101、102・・・帯域分割フィルタ、103、104、105・・・直交変換回路(MDCT)、109、110、111・・・ブロック決定回路、118・・・ビット割り当て算出回路、106、107、108・・・適応ビット割当符号化回路、119・・・正規化情報変更回路、120、121、122・・・加算器、302・・・帯域毎エネルギー算出器、303・・・畳込みフィルタ、304・・・加算器、305・・・関数発生器、306・・・割り算器、307・・・合成器、308・・・減算器、309・・・遅延回路、310・・・許容雑音補正器、701、702・・・帯域合成フィルタ(IQMF)、703、704、705・・・逆直交変換回路(IMDCT)、706・・・適応ビット割当復号化回路、709・・・正規化情報変更回路、710・・・加算器、803・・・PCMデータファイルに関する表示操作部、804・・・符号化データファイルに関する表示操作部、807・・・複数のファイルの高能率符号化時の処理を選択するボタン

Claims (8)

  1. 複数のディジタルオーディオファイルに対して所定長毎にブロック化を施し、ブロック処理されたディジタルオーディオファイルに対して圧縮処理を施す符号化装置であって、
    上記複数のディジタルオーディオファイルの中から圧縮処理を施す2以上のディジタルオーディオファイルを、該圧縮処理を施す順序で選択する第1の選択手段と、
    上記第1の選択手段にて選択された上記2以上のディジタルオーディオファイルのうち、上記圧縮処理を施す順序で隣接するディジタルオーディオファイルの前方に位置するディジタルオーディオファイルの終端部近傍のブロックと、上記第1の選択手段にて選択された上記隣接するディジタルオーディオファイルの後方に位置するディジタルオーディオファイルの始端部近傍のブロックと、上記隣接する2つのディジタルオーディオファイルに跨がっているブロックとに基づいて符号化処理を施す第1の符号化手段と、
    上記第1の選択手段にて選択された上記2以上のディジタルオーディオファイルのうち、上記圧縮処理を施す順序で隣接するディジタルオーディオファイルの前方に位置するディジタルオーディオファイルの終端部近傍のブロックまたは上記隣接するディジタルオーディオファイルの後方に位置するディジタルオーディオファイルの始端部近傍のブロックと、上記隣接する2つのディジタルオーディオファイルに跨がっているブロックとに基づいて符号化処理を施す第2の符号化手段と、
    上記第1の符号化手段における符号化処理と上記第2の符号化手段における符号化処理との一方を選択する第2の選択手段とを備えてなる符号化装置。
  2. 記第1の符号化手段は、上記隣接するディジタルオーディオファイルの前方に位置するディジタルオーディオファイルの終端部近傍のブロックと上記隣接する2つのディジタルオーディオファイルに跨がっているブロックと上記第1の選択手段にて選択された上記隣接するディジタルオーディオファイルの後方に位置するディジタルオーディオファイルの始端部近傍のブロックに基づいて、上記隣接するディジタルオーディオファイルの前方に位置するディジタルオーディオファイルの終端部近傍のブロックを符号化処理する請求項1に記載の符号化装置。
  3. 記第1の符号化手段は、上記隣接するディジタルオーディオファイルの前方に位置するディジタルオーディオファイルの終端部近傍のブロックと上記隣接する2つのディジタルオーディオファイルに跨がっているブロックと上記第1の選択手段にて選択された上記隣接するディジタルオーディオファイルの後方に位置するディジタルオーディオファイルの始端部近傍のブロックに基づいて、上記隣接するディジタルオーディオファイルの後方に位置するディジタルオーディオファイルの始端部近傍のブロックを符号化処理する請求項1に記載の符号化装置。
  4. 記第2の符号化手段は、上記隣接するディジタルオーディオファイルの前方に位置するディジタルオーディオファイルの終端部近傍のブロックと、上記隣接する2つのディジタルオーディオファイルに跨がっているブロックとに基づいて、上記隣接するディジタルオーディオファイルの前方に位置するディジタルオーディオファイルの終端部近傍のブロックを符号化処理する請求項1に記載の符号化装置。
  5. 上記第2の符号化手段による符号化処理は、上記隣接するディジタルオーディオファイルの前方に位置するディジタルオーディオファイルの終端部近傍のブロックの、該ディジタルオーディオファイルの終端部以降の端数部分にゼロデータを詰めるものである請求項4に記載の符号化装置。
  6. 記第2の符号化手段は、上記隣接するディジタルオーディオファイルの後方に位置するディジタルオーディオファイルの始端部近傍のブロックと、上記隣接する2つのディジタルオーディオファイルに跨がっているブロックとに基づいて、上記隣接するディジタルオーディオファイルの後方に位置するディジタルオーディオファイルの始端部近傍のブロックを符号化処理する請求項1に記載の符号化装置。
  7. 記第2の符号化手段による符号化処理は、上記隣接するディジタルオーディオファイルの後方に位置するディジタルオーディオファイルの始端部近傍のブロックの、該ディジタルオーディオファイルの始端部以前の端数部分にゼロデータを詰めるものである請求項6に記載の符号化装置。
  8. 複数のディジタルオーディオファイルに対して所定長毎にブロック化を施し、ブロック処理されたディジタルオーディオファイルに対して圧縮処理を施す符号化方法であって、
    上記複数のディジタルオーディオファイルの中から圧縮処理を施す2以上のディジタルオーディオファイルを、該圧縮処理を施す順序で選択する第1の選択ステップと、
    上記第1の選択ステップにて選択された上記2以上のディジタルオーディオファイルのうち、上記圧縮処理を施す順序で隣接するディジタルオーディオファイルの前方に位置するディジタルオーディオファイルの終端部近傍のブロックと、上記第1の選択ステップにて選択された上記隣接するディジタルオーディオファイルの後方に位置するディジタルオーディオファイルの始端部近傍のブロックと、上記隣接する2つのディジタルオーディオファイルに跨がっているブロックとに基づいて符号化処理を施す第1の符号化ステップと、
    上記第1の選択ステップにて選択された上記2以上のディジタルオーディオファイルのうち、上記圧縮処理を施す順序で隣接するディジタルオーディオファイルの前方に位置するディジタルオーディオファイルの終端部近傍のブロックまたは上記隣接するディジタルオーディオファイルの後方に位置するディジタルオーディオファイルの始端部近傍のブロックと、上記隣接する2つのディジタルオーディオファイルに跨がっているブロックとに基づいて符号化処理を施す第2の符号化ステップと、
    上記第1の符号化ステップにおける符号化処理と上記第2の符号化ステップにおける符号化処理との一方を選択する第2の選択ステップとを備えてなる符号化方法。
JP2000159930A 2000-05-30 2000-05-30 符号化装置および符号化方法 Expired - Fee Related JP4441988B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000159930A JP4441988B2 (ja) 2000-05-30 2000-05-30 符号化装置および符号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000159930A JP4441988B2 (ja) 2000-05-30 2000-05-30 符号化装置および符号化方法

Publications (2)

Publication Number Publication Date
JP2001337698A JP2001337698A (ja) 2001-12-07
JP4441988B2 true JP4441988B2 (ja) 2010-03-31

Family

ID=18664195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000159930A Expired - Fee Related JP4441988B2 (ja) 2000-05-30 2000-05-30 符号化装置および符号化方法

Country Status (1)

Country Link
JP (1) JP4441988B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4508599B2 (ja) * 2003-10-20 2010-07-21 富士通テン株式会社 データ圧縮方法
JP2006053485A (ja) * 2004-08-16 2006-02-23 Nec Micro Systems Ltd 音声・音楽データ記録方法、音声・音楽データ再生方法、音声・音楽データ記録装置、および音声・音楽データ再生装置
JP4765460B2 (ja) * 2005-07-25 2011-09-07 パナソニック株式会社 音声符号化装置および音声符号化方法
KR20250014867A (ko) * 2023-07-21 2025-02-03 삼성전자주식회사 오디오를 출력하는 전자 장치 및 그 동작 방법

Also Published As

Publication number Publication date
JP2001337698A (ja) 2001-12-07

Similar Documents

Publication Publication Date Title
JP4639441B2 (ja) ディジタル信号処理装置および処理方法、並びにディジタル信号記録装置および記録方法
EP0702368B1 (en) Method of recording and reproducing digital audio signal and apparatus thereof
US5414795A (en) High efficiency digital data encoding and decoding apparatus
US5864800A (en) Methods and apparatus for processing digital signals by allocation of subband signals and recording medium therefor
KR100310214B1 (ko) 신호인코딩또는디코딩장치와레코딩매체
JPH06244738A (ja) ディジタル信号処理装置又は方法、及び記録媒体
US5754127A (en) Information encoding method and apparatus, and information decoding method and apparatus
JPH06268608A (ja) 圧縮データ記録及び/又は再生若しくは伝送及び/又は受信装置、圧縮データの圧縮データ記録及び/又は再生若しくは伝送及び/又は受信方法、及び記録媒体
KR100556505B1 (ko) 재생 및 기록 장치, 디코딩 장치, 기록 장치, 재생 및 기록 방법, 디코딩 방법, 및 기록 방법
JP2001134295A (ja) 符号化装置および符号化方法、記録装置および記録方法、送信装置および送信方法、復号化装置および符号化方法、再生装置および再生方法、並びに記録媒体
KR100361720B1 (ko) 고능율부호화방법및장치
JP4441988B2 (ja) 符号化装置および符号化方法
JP4441989B2 (ja) 符号化装置および符号化方法
JP3465697B2 (ja) 信号記録媒体
JPH1083623A (ja) 信号記録方法、信号記録装置、記録媒体および信号処理方法
JP3291948B2 (ja) 高能率符号化方法及び装置、並びに伝送媒体
JP3879249B2 (ja) エンコード方法、デコード方法、エンコード装置、デコード装置、ディジタル信号記録方法、ディジタル信号記録装置、記録媒体、ディジタル信号送信方法及びディジタル信号送信装置
JPH11330974A (ja) エンコード方法、デコード方法、エンコード装置、デコード装置、ディジタル信号記録方法、ディジタル信号記録装置、記録媒体、ディジタル信号送信方法及びディジタル信号送信装置
JPH06338861A (ja) ディジタル信号処理装置及び方法、並びに記録媒体
JP3465698B2 (ja) 信号復号化方法及び装置
JP2000078017A (ja) デコード方法及びデコード装置
JP2001069089A (ja) ディジタル信号記録装置および記録方法、並びに記録媒体
JP3552239B2 (ja) 圧縮データ記録装置及び方法、並びに圧縮データ再生方法
JP3141853B2 (ja) オーディオ信号処理方法
JP2002304198A (ja) 信号処理装置および信号処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091222

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100104

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

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees