JP4256364B2 - 信号符号化装置、信号符号化方法、信号符号化プログラム、および記録媒体 - Google Patents

信号符号化装置、信号符号化方法、信号符号化プログラム、および記録媒体 Download PDF

Info

Publication number
JP4256364B2
JP4256364B2 JP2005186510A JP2005186510A JP4256364B2 JP 4256364 B2 JP4256364 B2 JP 4256364B2 JP 2005186510 A JP2005186510 A JP 2005186510A JP 2005186510 A JP2005186510 A JP 2005186510A JP 4256364 B2 JP4256364 B2 JP 4256364B2
Authority
JP
Japan
Prior art keywords
shift amount
frame
signal
integer
encoding
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.)
Active
Application number
JP2005186510A
Other languages
English (en)
Other versions
JP2007006337A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2005186510A priority Critical patent/JP4256364B2/ja
Publication of JP2007006337A publication Critical patent/JP2007006337A/ja
Application granted granted Critical
Publication of JP4256364B2 publication Critical patent/JP4256364B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、複数のサンプル値を情報符号化する情報符号化装置、方法、プログラム、および記録媒体に関する。
近年、音響信号データや画像情報データを通信路により伝送する場合や情報記録媒体に記録する場合に、情報圧縮符号化技術が用いられている。また編集加工が容易な浮動小数点形式のデータの可逆圧縮も重要で、例えば非特許文献1または特許文献1の符号化方法がある。これらの符号化方法では、浮動小数点形式のデータサンプル列を、複数サンプルをまとめてフレームを構成させる。そして、フレームごとに、フレーム内の最大の振幅の値が整数の最大値となるようにビットシフト量を決定する。決定したビットシフト量を用いて各サンプルを整数信号と誤差信号に分離し、それぞれをフレームごとに符号化する。
従来技術での符号化処理部の機能構成を図1に示す。符号化処理部800は、フレームバッファ810、シフト量算出部820、整数信号・誤差信号分離部830、整数信号符号化部840、誤差信号符号化部850、統合部(Multiplexer)860から構成される。
この符号化処理のイメージを図2に示す。フレームは、複数のサンプル値から構成されていて、各サンプル値は有限のビット列から構成されている。図2は整数部を23ビットで表現した浮動小数点表現の場合を示している。図2では網掛けされたビットには0または1が入るが、他のビットはすべて0である。フレーム単位で符号化する際には、フレーム内のサンプル値を整数部と誤差部(入力信号から整数部を引いた残りの全部または一部)とに分離する。図2の点線で囲んだ部分が整数部である。整数部は、フレーム内で最大の振幅の値が整数の最大値となるようにマッピングを行うことで決められる。分離された整数部と誤差部は、それぞれ別々に符号化された後、統合されて符号化データとなる。
なお、図2に示すイメージは、浮動小数点表現の場合だけでなく、整数表現の場合などにも適用できる。どのような表現であれ、当該振幅を表現する最大のビット(MSB:Most Significant Bit)から有限個離れた最小のビット(LSB:Least Significant Bit)までのビット列のみが0または1が存在しうるビットであり、他のビットはすべて0ならば、同じ方法が適用できる。たとえば、32ビットや64ビットの整数表現の場合に、サンプルごとに特定の24ビットだけに0か1のビットがあり、他のビットは0という場合でもよい。
代表的な浮動小数点表示としては、IEEE754 32bit浮動小数点がある。この浮動小数点は、
Figure 0004256364
と表現される。ここで、Sは符号部、Mは仮数部、Eは指数部である。また、IEEE754では、E=2−1=127と決められている。上記式中のE−Eは−127≦E−E≦128の範囲の値である。仮数部Mは、2進表現で値が1となるビットがMSBに来るように、かつ、MSBビットと次のビットの間に小数点の位置がくるように正規化され、1となるMSBビットを除いた小数点以下のビットである23ビットで構成されている。以下の説明では、整数部の信号(以下、「整数信号」という。また、誤差部の信号を「誤差信号」という。)の量子化ビット数Qを24とする。
図3は、図1に示した符号化処理部800の処理フローである。フレームバッファ810は、デジタルの入力信号x(i)を一時的に蓄積し、N個のサンプル値x(i)(i=1〜N)でフレームを構成する(S810)。シフト量算出部820は、図2を用いて説明した方法によって、フレーム単位にシフト量Sを決定する(S820)。整数信号・誤差信号分離部830は、シフト量Sを用いて、当該フレーム入力信号のN個のサンプルそれぞれを整数部と誤差部に分離する(S830)。整数信号符号化部840は、整数信号・誤差信号分離部830で分離された整数信号を符号化する(S840)。誤差信号符号化部850は、整数信号・誤差信号分離部830で分離された誤差信号を符号化する(S850)。統合部(Multiplexer)860は、符号化された整数信号と誤差信号とシフト量を統合し、符号化データを出力する(S860)。
図4にはシフト量算出部820の処理(ステップS820)の詳細な処理フロー例を示す。ただし、この処理例は、IEEE754 32bit浮動小数点で表現されたサンプル値の場合の処理例である。シフト量算出部820では、まず、フレーム入力信号中の全サンプル(N個)を読み込む(S8201)。次に変数iに1を設定し、ΔEmaxに−127(E)を設定する(S8202)。現フレームのi番目のサンプルの指数部E−EすなわちE−127を計算して変数ΔEに代入する(S8203)。ΔE>ΔEmaxであるかどうかを判定し(S8204)、真であればΔEをΔEmax設定する(S8205)。i<Nかを確認する(S8206)。i<Nならば、iにi+1を代入し(S8207)、ステップS8203に戻る。i<Nでないならば、ΔEmax>−127であるかどうかをチェックする(S8208)。ΔEmax>−127の場合には、シフト量SにΔEmaxを代入して(S8209)、処理を終了する。ΔEmax≦−127の場合には、当該フレーム中のサンプルは全て0であったということなのでシフト量Sを0に設定する(S8210)。この処理は、サンプルの中で最大振幅が、整数部で表現可能な最大値、最小値の範囲を超えない範囲で、最大の振幅に割り当てられるようにシフト値を決定することに相当する。
また、図5にシフト量算出部820の処理フローの変形例(ステップS820’)を示す。IEEE754 32bit浮動小数点表現されたサンプルでは、E−Eが128や、−127の場合には、NaNや非正規化数などの特殊な値となっている。最大振幅を判定する際に、フレーム内のサンプルのうち、−127<E−E<128の範囲内の数値のみを用いてシフト量を算出する点が図4と異なる。また、i番目のサンプルを分析する際に、これまでに得られたΔEmaxを用いてi番目のサンプルの小数点の位置を移動させ、桁調整後の値が想定する量子化ビット数で表現可能な値の範囲内にあるかどうかを判定する。このとき、桁調整の結果、所定の量子化ビット数で表現可能な値の範囲を超えてしまう場合には、ΔEmaxを1増加させ、範囲を超えないようにする点が図4の処理と異なる。
具体的な処理フローの違いは以下のとおりである。ステップS8202とステップS8203との間にステップS8221を追加し、−127<E−127<128かを確認する(S8221)。S8221が真の場合にはステップS8203に進み、真でない場合にはステップS8206へ進む。また、ステップS8205とステップS8206との間にステップS8220を追加する。ステップS8220では、まずX’に、Xと2の(−ΔE+(Q−1))乗との積を代入する(S8222)。X’>2Q−1−1またはX’<−2Q−1を確認する(S8223)。ステップS8223が真の場合には、ΔEmaxに1を加える(S8224)。ステップ8223が真でない場合には、ステップ8206へ進む。
図6に、ステップS830のシフト量Sを用いて入力信号Xを整数信号Yと誤差信号Zに分離する手順を詳細に示す。N個の各サンプルXに対して逐次以下の処理を行う。内部のメモリに、フレームバッファからN個のサンプルを取り込む(S8301)。サンプルの番号を示すiに1を代入する(S8302)。入力サンプルXの指数部(E−127)が、−127より大きく、かつ128未満の範囲に含まれているか否かを判定する(S8303)。ステップS8303で指数部が前記の範囲外であると判定された場合には、i番目のサンプルは値が0であるか、非正規化数もしくはNaNなどの特殊な数である。したがって、桁合わせ後のサンプルYは0とし、X’を誤差部Zとする(S8309)。ステップS8303で指数部が前記の範囲内であった場合には、Xに2の(−S+(Q−1))乗を掛け合わせてX’を得る(S8304)。もしくは、サンプルXの指数値EからE’=E−S+(Q−1)によって、X’の指数値(E’−127)のE’を求める。ここで、Qは整数部の量子化ビット数24である。この処理は、フレーム内の全てのサンプルに共通の2の(−S+(Q−1))乗を掛け合わせて、フレーム内の振幅最大のサンプルが、整数部の量子化ビット数で表現可能な最大振幅を超えないように、シフト量Sを用いて小数点の位置を桁合わせすることに相当する。得られたX’の指数値(E’−127)が、−127より大きく、かつ128未満の範囲に含まれているか否かをチェックする(S8305)。指数部が前記の範囲外の場合には、サシプルYは0とする(S8309)。指数部が前記の範囲内の場合には、X’が正かを確認する(S8306)。X’が正の場合には、X’の小数点以下を切り捨てたものを整数部Yとする(S8307)。X’が負の場合には、X’の小数点以下を切り上げたものを整数部Yとする(S8308)。Yが0でない場合には、X’の小数点以下の部分を誤差部Zとする(S8307,S8308)。iがNより小さいかを確認する(S8310)。iがNより小さい場合は、iにi+1を代入する(S8311)。iがN以上の場合は、終了する。整数信号と誤差信号の分離は、上記の手順に限る必要はなく、特許文献1にはいくつかの分離方法が示されている。
図7に復号化処理部の機能構成を示す。復号化処理部900は、符号化データを分割する分割部(Demultiplexer)910、整数信号を復号化する整数信号復号化部920、誤差信号を復号化する誤差信号復号化部930、整数・誤差信号を結合する整数・誤差信号結合処理部940から構成される。
Dai Yang, and Takehiro Moriya, "Lossless Compression for Audio Data in the IEEE Floating-Point Format, AES Convention Paper 5987, AES 115th Convention, New York, NY, USA, 2003 0CTOBER 10-13. 国際公開第2004/114527号パンフレット
図2を用いて従来の方法の問題点を説明する。非特許文献1の方法では、フレーム内で最大の振幅の値が整数の最大値となるようにマッピングを行い、整数部と誤差部に分離してそれぞれを符号化する。しかし、連続するフレームで最大振幅が異なる場合には、整数部に割り当てられた信号がフレーム間で不連続になることがある。そのような場合には、整数部にフレーム間予測を用いた圧縮符号化を適用する際の圧縮率の低下や、誤差部の統計的な性質がフレームごとに変化することに起因した誤差部の圧縮効率の低下の恐れがある。したがって、最大振幅を基準として整数部と誤差部とに分離することが最適な圧縮効率を得ることにならないという問題があった。
本発明では、シフト量決定部で、少なくとも1つの過去のフレームのシフト量をフレームシフト量保持バッファに記録しておき、現フレーム内の振幅値が最大のサンプル値を、整数部の最大値、最小値の範囲内でシフト量の変更のみによって表現可能な最大の振幅となるようにシフト量候補を算出し、前記シフト量候補と前記フレームシフト量保持バッファに記録されたシフト量を用いて、あらかじめ定めた基準にしたがって、現フレームのシフト量を決定し、整数部として符号化する信号の振幅の範囲を決める。また、分割部で、前記シフト量決定部で定めたシフト量にしたがって、前記デジタル信号を整数信号と誤差信号に分割し、整数信号符号化で整数信号を符号化し、誤差信号符号化で誤差信号を符号化する。そして、統合部(Multiplexer)で前記整数信号符号化部の出力と前記誤差信号符号化部の出力と前記シフト量とを統合する。
本発明の整数部として符号化する信号の振幅の範囲を決める符号化処理のイメージを、図8に示す。フレーム1とフレーム2の各サンプル値は、図2の場合と同じである。フレーム1では、最大振幅である3番目のサンプルにあわせてフレーム1のシフト量が決められている。このシフト量にしたがって、フレーム1の整数部も決まる。フレーム2のシフト量を決める際には、図2の場合は、フレーム2の中で振幅が最大のサンプル値にあわせたシフト量としている。しかし、このようにシフト量を変化させると、フレーム間予測を用いた圧縮符号化では圧縮率が悪くなる場合がある。そこで、図8に示すフレーム2では、フレーム1と同じシフト量としている。フレーム2のシフト量を、どのような場合にフレーム1と同じにするのか、フレーム2のシフト量を変化させるとしても、どの程度変化させるのかなどの決め方は様々である。たとえば、以下のような方法が考えられるが、これらに限る必要はない。1つ目は、閾値をあらかじめ決めておき、フレーム1のシフト量とフレーム2のシフト量候補(振幅が最大のサンプル値にあわせたシフト量)との差が閾値以内であればフレーム2のシフト量をフレーム1と同じにする方法である。2つ目は、フレーム1のシフト量からフレーム2のシフト量候補までの各シフト量での符号化後のデータ量を計算して、最もデータ量が少ないシフト量をフレーム2のシフト量とする方法である。3つ目は、過去のN個(Nは2以上の整数)のフレームのシフト量を記録しておき、シフト量候補が、過去のN個のフレームのシフト量の中で、n番目(nは、1以上N未満の整数)に小さいシフト量よりも大きく、かつ直前のフレーム(フレーム1)のシフト量よりも小さい場合には、直前のフレーム(フレーム1)のシフト量を現フレーム(フレーム2)のシフト量とし、シフト量候補が、過去のN個のフレームのシフト量の中で、n番目(nは、1以上N未満の整数)に小さいシフト量以下、または直前のフレーム(フレーム1)のシフト量以上の場合には、シフト量候補を現フレーム(フレーム2)のシフト量とする方法である。4つ目は、シフト量候補が、フレーム1のシフト量以下の場合には、フレーム1のシフト量をフレーム2のシフト量とし、シフト量候補が、フレーム1のシフト量よりも大きい場合には、シフト量候補をフレーム2のシフト量とする方法である。
本発明によれば、過去のフレームのシフト量も考慮した上で現フレームのシフト量を決定するので、符号量をさらに少なくすることができる。また1つ目の手段の場合、フレームのシフト量Sを決定することで、頻繁なシフト量の変化がなくなり、フレーム間予測を用いて圧縮符号化する場合の圧縮率を向上することができる。2つ目の手段の場合、処理の時間はかかるが、確実に符号量の少ないシフト量を選定することができる。3つ目の手段の場合、閾値をあらかじめ決めておくのではなく、過去のシフト値から求めているので、入力信号の特徴を考慮して閾値を変更することができる。4つ目の手段の場合、処理の内容を最も簡単にできる。
以下では、説明の重複を避けるため同じ機能を有する構成部や同じ処理を行う処理ステップには同一の番号を付与し、説明を省略する。
[第1実施形態]
図9に本発明の符号化処理部の機能構成例を示す。符号化処理部100は、フレームバッファ810、シフト量候補算出部120とシフト量選定部130とフレームシフト量保存バッファ140から構成されるシフト量決定部110、整数信号・誤差信号分離部830、整数信号符号化部840、誤差信号符号化部850、統合部(Multiplexer)860から構成される。図1の従来の符号化処理部800との違いは、シフト量決定部110である。
符号化処理部100の処理フローは、図3のステップS820を、図10のステップS110に置き換えたものとなる。ステップS110では、まず、シフト量候補算出部120で、フレーム内のサンプル値の最大振幅を整数部の量子化ビット数で表現可能な最大振幅にマッピングしてシフト量候補ΔEを求める(S120)。このステップS120の処理はステップS820と実質的に同じである。違いは、求めたΔEmaxをシフト量S(S8209、S8210)とするのではなく、シフト量候補ΔEとすることだけである。また、図5で示したステップS820’を用いても良い。シフト量選定部130は、現フレームが先頭フレームかランダムアクセスフレーム(RAフレーム:過去のフレームからの予測を用いないフレーム)かを判断する(S140)。先頭フレームかランダムアクセスフレームの場合には、シフト量選定部130は、シフト量候補ΔEを現フレームのシフト量とする(S150)。先頭フレームでもランダムアクセスフレームでもない場合には、シフト量選定部130は、フレームシフト量保持バッファから1つまたは複数の過去のフレームのシフト量Sj−k(kは1以上の整数)を読み出し、過去のフレームのシフト量とシフト量候補ΔEを用いて現フレームのシフト量Sを決定する(S130)。
図11に、シフト量選定部130の処理(ステップS130)の詳細な処理フロー例を示す。シフト量選定部130は、フレームシフト量保持バッファ140から直前のフレームのシフト量Sj−1を、シフト量候補算出部120からシフト量候補ΔEを読み込む(S1301)。Sj−1>ΔEを確認する(S1302)。真の場合にはSj−1<ΔE+αを確認する(S1303)。ここで、αはあらかじめ定めておく閾値である。ステップS1302とS1303とがともに真の場合には、直前のフレームのシフト量Sj−1を現フレームのシフト量Sとする(S1304)。また、ステップS1302とS1303のどちらかが真でない場合には、シフト量候補ΔEを現フレームのシフト量Sとする(S1305)。
αはシフト量の揺らぎが一定以上になった場合にのみシフト量を変化させるようにするための閾値で、たとえばあらかじめ5に設定しておく。α=5の場合には、当該フレームの最大振幅を分析して得られたシフト量侯補ΔEが、前のフレームのシフト量Sj−1よりも大きくなるか、もしくはSj−1−5よりも小さい値となった場合にのみシフト量を変化させることに相当する。最適な閾値αは、入力信号により変化するので明確に定めることはできない。しかし、αを小さくしすぎると頻繁にシフト量が変わりフレーム間予測による信号圧縮率が悪くなりやすい。一方、閾値αを大きくしすぎると、シフト量が変化しないことにより、フレーム単位での効率の良い符号化ができなくなる。
このようにフレームのシフト量Sを決定することで、頻繁なシフト量の変化がなくなり、フレーム間予測を用いて圧縮符号化する場合の圧縮率を向上することができる。
[第2実施形態]
第1実施形態では、シフト量決定部110のシフト量選定部130は、図11に示したように、閾値をあらかじめ決めておき、直前のフレームのシフト量と現フレームのシフト量候補との差が閾値以内であれば現フレームのシフト量を直前のフレームと同じにした。本実施形態では、シフト量決定部110のシフト量選定部130は、直前のフレームのシフト量から現フレームのシフト量候補までの各シフト量での符号化後のデータ量を計算して、最もデータ量が少ないシフト量を現フレームのシフト量とする。
図12にステップS130の代わりとなるシフト量選定部130の処理フロー(ステップS130’)を示す。シフト量選定部130は、フレームシフト量保持バッファ140から直前のフレームのシフト量Sj−1を、シフト量候補算出部120からシフト量候補ΔEを読み込む(S1301)。Sj−1>ΔEを確認する(S1302)。ステップS1302が真の場合には、Dminを無限大、iを直前のフレームのシフト量Sj−1とする(S1311)。ただし、無限大とは、整数信号の符号量と誤差信号の符号量のそれぞれが取りうる最大の値の和を超えた値とすればよい。シフト量をiとした場合の整数信号の符号量と誤差信号の符号量とを求め、統合した場合の符号化データの符号量Dを求める(S1312)。DminがDよりも大きいかを確認する(S1313)。DminがDよりも大きい場合は、DをDmin、iをiminとする(S1314)。DminがD以下の場合にはステップS1315に進む。i>ΔEであることを確認する(S1315)。ステップS1315が真の場合は、iにi−1を代入する(S1316)。ステップS1315が真でない場合は、シフト量SをDminを与えるiの値とする(S1317)。
ステップS1302が真でない場合には、シフト量Sをシフト量候補ΔEとする(S1305)。
このように処理すると、処理の時間はかかるが、確実に符号量の少ないシフト量を選定することができる。
[第3実施形態]
本実施形態では、シフト量決定部110のシフト量選定部130は、過去のN個(Nは2以上の整数)のフレームのシフト量を記録しておく。シフト量候補が、過去のN個のフレームのシフト量の中で、n番目(nは、1以上N未満の整数)に小さいシフト量よりも大きく、かつ直前のフレームのシフト量よりも小さい場合には、直前のフレームのシフト量を現フレームのシフト量とする。シフト量候補が、過去のN個のフレームのシフト量の中で、n番目(nは、1以上N未満の整数)に小さいシフト量以下、または直前のフレームのシフト量以上の場合には、シフト量候補を現フレームのシフト量とする。
図13にステップS130の代わりとなるシフト量選定部130の処理フロー(ステップS130”)を示す。シフト量選定部130は、フレームシフト量保持バッファ140から過去のフレームのシフト量Sj−k(k=1〜N)を、シフト量候補算出部120からシフト量候補ΔEを読み込む(S1301)。ただし、Nは2以上の整数である。閾値αをN個の過去のシフト量の中で、n番目に小さいシフト量とする(S1322)。ステップS1302以降の処理は、第1実施形態と同じである。
本実施形態では、閾値をあらかじめ決めておくのではなく、過去のシフト値から求めている。したがって、入力信号の特徴を考慮して閾値を変更することができる。
[第4実施形態]
本実施形態では、シフト量決定部110のシフト量選定部130は、シフト量候補が、直前のフレームのシフト量以下の場合には、直前のフレームのシフト量を現フレームのシフト量とする。シフト量候補が、直前のフレームのシフト量よりも大きい場合には、シフト量候補を現フレームのシフト量とする。
図14にステップS130の代わりとなるシフト量選定部130の処理フロー(ステップS130''’)を示す。図11のフローとの違いは、ステップS1303が削除された点である。したがって、本実施形態の場合、シフト量は増加することはあるが、減少することはない。ただし、処理の内容は最も簡単である。
なお、上記の実施形態はコンピュータに、上記方法の各ステップを実行させるプログラムを読み込ませ、実施することもできる。また、コンピュータに読み込ませる方法としては、プログラムをコンピュータ読み取り可能な記録媒体に記録しておき、記録媒体からコンピュータに読み込ませる方法、サーバ等に記録されたプログラムを電気通信回線等を通じてコンピュータに読み込ませる方法などがある。
従来技術での符号化処理部の機能構成を示す図。 従来技術での符号化処理のイメージを示す図。 従来の符号化処理部の処理フローを示す図。 シフト量算出部の処理の詳細な処理フローを示す図。 シフト量算出部の処理フローの変形例を示す図。 シフト量Sを用いて入力信号Xを整数信号Yと誤差信号Zに分離する手順を示す図。 復号化処理部の機能構成を示す図。 本発明のシフト量を決める符号化処理のイメージを示す図。 本発明の符号化処理部の機能構成例を示す図。 シフト量決定部110の処理フローを示す図。 シフト量選定部130の処理(ステップS130)の詳細な処理フロー例を示す図。 第2実施形態のシフト量選定部130の処理フローを示す図。 第3実施形態のシフト量選定部130の処理フローを示す図。 第4実施形態のシフト量選定部130の処理フローを示す図。

Claims (14)

  1. デジタル信号を複数のサンプル値(以下、「フレーム」という。)ごとに分割するフレームバッファと、
    整数部として符号化する信号の振幅の範囲を決めるシフト量決定部と、
    前記シフト量決定部で定めたシフト量にしたがって、前記デジタル信号を整数信号と誤差信号(前記デジタル信号から前記整数信号を引いた残りの全部または一部をいう。以下同じ。)に分割する分割部と、
    整数信号を符号化する整数信号符号化部と、
    誤差信号を符号化する誤差信号符号化部と、
    前記整数信号符号化部の出力と前記誤差信号符号化部の出力とを統合する統合部と、
    を備える信号符号化装置であって、
    現フレーム内の振幅値が最大のサンプル値を、整数部の最大値、最小値の範囲内でシフト量の変更のみによって表現可能な最大の振幅となるようにシフト量候補を算出するシフト量候補算出部と、
    少なくとも1つの過去のフレームのシフト量を記録するフレームシフト量保持バッファを有し、
    前記シフト量決定部は、
    前記シフト量候補と前記フレームシフト量保持バッファに記録された1つのシフト量との関係が、あらかじめ定められた範囲内の場合には、前記フレームシフト量保持バッファに記録された1つのシフト量を現フレームのシフト量とし、
    前記シフト量候補と前記フレームシフト量保持バッファに記録された1つのシフト量との関係が、前記あらかじめ定められた範囲外の場合には、前記シフト量候補を現フレームのシフト量とする
    ことを特徴とする信号符号化装置。
  2. デジタル信号を複数のサンプル値(以下、「フレーム」という。)ごとに分割するフレームバッファと、
    整数部として符号化する信号の振幅の範囲を決めるシフト量決定部と、
    前記シフト量決定部で定めたシフト量にしたがって、前記デジタル信号を整数信号と誤差信号(前記デジタル信号から前記整数信号を引いた残りの全部または一部をいう。以下同じ。)に分割する分割部と、
    整数信号を符号化する整数信号符号化部と、
    誤差信号を符号化する誤差信号符号化部と、
    前記整数信号符号化部の出力と前記誤差信号符号化部の出力とを統合する統合部と、
    を備える信号符号化装置であって、
    現フレーム内の振幅値が最大のサンプル値を、整数部の最大値、最小値の範囲内でシフト量の変更のみによって表現可能な最大の振幅となるようにシフト量候補を算出するシフト量候補算出部と、
    少なくとも1つの過去のフレームのシフト量を記録するフレームシフト量保持バッファを有し、
    前記シフト量決定部は、
    前記シフト量候補により整数部で表現できる最大の振幅が、前記フレームシフト量保持バッファに記録された直前フレームのシフト量により整数部で表現できる最大の振幅より小さく、かつ前記シフト量候補と前記直前フレームのシフト量との差があらかじめ定められた閾値より小さい場合には、前記直前フレームのシフト量を現フレームのシフト量とし、
    前記シフト量候補により整数部で表現できる最大の振幅が、前記直前フレームのシフト量により整数部で表現できる最大の振幅以上の場合、または前記シフト量候補と前記直前フレームのシフト量との差が前記あらかじめ定められた閾値以上の場合には、前記シフト量候補を現フレームのシフト量とする
    ことを特徴とする信号符号化装置。
  3. デジタル信号を複数のサンプル値(以下、「フレーム」という。)ごとに分割するフレームバッファと、
    整数部として符号化する信号の振幅の範囲を決めるシフト量決定部と、
    前記シフト量決定部で定めたシフト量にしたがって、前記デジタル信号を整数信号と誤差信号(前記デジタル信号から前記整数信号を引いた残りの全部または一部をいう。以下同じ。)に分割する分割部と、
    整数信号を符号化する整数信号符号化部と、
    誤差信号を符号化する誤差信号符号化部と、
    前記整数信号符号化部の出力と前記誤差信号符号化部の出力とを統合する統合部と、
    を備える信号符号化装置であって、
    現フレーム内の振幅値が最大のサンプル値を、整数部の最大値、最小値の範囲内でシフト量の変更のみによって表現可能な最大の振幅となるようにシフト量候補を算出するシフト量候補算出部と、
    少なくとも1つの過去のフレームのシフト量を記録するフレームシフト量保持バッファを有し、
    前記シフト量決定部は、
    前記フレームシフト量保持バッファに直前のフレームのシフト量を記録しておき、
    前記シフト量候補が直前のフレームのシフト量よりも小さい場合には、直前のフレームのシフト量から前記シフト量候補までの各シフト量での符号化後のデータ量を計算して、最もデータ量が少ないシフト量を現フレームのシフト量とし、
    前記シフト量候補が直前のフレームのシフト量以上の場合には、前記シフト量候補を現フレームのシフト量とする
    ことを特徴とする信号符号化装置。
  4. デジタル信号を複数のサンプル値(以下、「フレーム」という。)ごとに分割するフレームバッファと、
    整数部として符号化する信号の振幅の範囲を決めるシフト量決定部と、
    前記シフト量決定部で定めたシフト量にしたがって、前記デジタル信号を整数信号と誤差信号(前記デジタル信号から前記整数信号を引いた残りの全部または一部をいう。以下同じ。)に分割する分割部と、
    整数信号を符号化する整数信号符号化部と、
    誤差信号を符号化する誤差信号符号化部と、
    前記整数信号符号化部の出力と前記誤差信号符号化部の出力とを統合する統合部と、
    を備える信号符号化装置であって、
    現フレーム内の振幅値が最大のサンプル値を、整数部の最大値、最小値の範囲内でシフト量の変更のみによって表現可能な最大の振幅となるようにシフト量候補を算出するシフト量候補算出部と、
    少なくとも1つの過去のフレームのシフト量を記録するフレームシフト量保持バッファを有し、
    前記フレームシフト量保持バッファに過去のN個(Nは2以上の整数)のフレームのシフト量を記録しておき、
    前記シフト量決定部は、
    前記シフト量候補が、過去のN個のフレームのシフト量の中で、n番目(nは、1以上N未満の整数)に小さいシフト量よりも大きく、かつ直前のフレームのシフト量よりも小さい場合には、直前のフレームのシフト量を現フレームのシフト量とし、
    前記シフト量候補が、過去のN個のフレームのシフト量の中で、n番目(nは、1以上N未満の整数)に小さいシフト量以下、または直前のフレームのシフト量以上の場合には、前記シフト量候補を現フレームのシフト量とする
    ことを特徴とする信号符号化装置。
  5. デジタル信号を複数のサンプル値(以下、「フレーム」という。)ごとに分割するフレームバッファと、
    整数部として符号化する信号の振幅の範囲を決めるシフト量決定部と、
    前記シフト量決定部で定めたシフト量にしたがって、前記デジタル信号を整数信号と誤差信号(前記デジタル信号から前記整数信号を引いた残りの全部または一部をいう。以下同じ。)に分割する分割部と、
    整数信号を符号化する整数信号符号化部と、
    誤差信号を符号化する誤差信号符号化部と、
    前記整数信号符号化部の出力と前記誤差信号符号化部の出力とを統合する統合部と、
    を備える信号符号化装置であって、
    現フレーム内の振幅値が最大のサンプル値を、整数部の最大値、最小値の範囲内でシフト量の変更のみによって表現可能な最大の振幅となるようにシフト量候補を算出するシフト量候補算出部と、
    少なくとも1つの過去のフレームのシフト量を記録するフレームシフト量保持バッファを有し、
    前記シフト量決定部は、
    前記シフト量候補が、前記フレームシフト量保持バッファに記録された直前のフレームのシフト量以下の場合には、直前のフレームのシフト量を現フレームのシフト量とし、
    前記シフト量候補が、前記フレームシフト量保持バッファに記録された直前のフレームのシフト量よりも大きい場合には、前記シフト量候補を現フレームのシフト量とする
    ことを特徴とする信号符号化装置。
  6. 請求項1から5のいずれかに記載の信号符号化装置であって、
    前記シフト量決定部は、
    現フレームが過去のフレームからの予測を用いないフレームの場合には、必ず前記シフト量候補を現フレームのシフト量とする
    ことを特徴とする信号符号化装置。
  7. フレームバッファでデジタル信号を複数のサンプル値(以下、「フレーム」という。)ごとに分割するフレームバッファステップと、
    シフト量決定部で整数部として符号化する信号の振幅の範囲を決めるシフト量決定ステップと、
    分割部で前記シフト量決定部で定めたシフト量にしたがって、前記デジタル信号を整数信号と誤差信号に分割する分割ステップと、
    整数信号符号化で整数信号を符号化する整数信号符号化ステップと、
    誤差信号符号化で誤差信号を符号化する誤差信号符号化ステップと、
    統合部で前記整数信号符号化部の出力と前記誤差信号符号化部の出力とを統合する統合ステップと、
    を有する信号符号化方法であって、
    前記シフト量決定ステップが、
    少なくとも1つの過去のフレームのシフト量をフレームシフト量保持バッファに記録しておき、
    前記シフト量決定ステップが、
    前記シフト量候補と前記フレームシフト量保持バッファに記録された1つのシフト量との関係が、あらかじめ定められた範囲内の場合には、前記フレームシフト量保持バッファに記録された1つのシフト量を現フレームのシフト量とし、
    前記シフト量候補と前記フレームシフト量保持バッファに記録された1つのシフト量との関係が、前記あらかじめ定められた範囲外の場合には、前記シフト量候補を現フレームのシフト量とすること
    を特徴とする信号符号化方法。
  8. フレームバッファでデジタル信号を複数のサンプル値(以下、「フレーム」という。)ごとに分割するフレームバッファステップと、
    シフト量決定部で整数部として符号化する信号の振幅の範囲を決めるシフト量決定ステップと、
    分割部で前記シフト量決定部で定めたシフト量にしたがって、前記デジタル信号を整数信号と誤差信号に分割する分割ステップと、
    整数信号符号化で整数信号を符号化する整数信号符号化ステップと、
    誤差信号符号化で誤差信号を符号化する誤差信号符号化ステップと、
    統合部で前記整数信号符号化部の出力と前記誤差信号符号化部の出力とを統合する統合ステップと、
    を有する信号符号化方法であって、
    前記シフト量決定ステップが、
    少なくとも1つの過去のフレームのシフト量をフレームシフト量保持バッファに記録しておき、
    前記シフト量決定ステップが、
    前記シフト量候補により整数部で表現できる最大の振幅が、前記フレームシフト量保持バッファに記録された直前フレームのシフト量により整数部で表現できる最大の振幅より小さく、かつ前記シフト量候補と前記直前フレームのシフト量との差があらかじめ定められた閾値より小さい場合には、前記直前フレームのシフト量を現フレームのシフト量とし、
    前記シフト量候補により整数部で表現できる最大の振幅が、前記直前フレームのシフト量により整数部で表現できる最大の振幅以上の場合、または前記シフト量候補と前記直前フレームのシフト量との差が前記あらかじめ定められた閾値以上の場合には、前記シフト量候補を現フレームのシフト量とすること
    を特徴とする信号符号化方法。
  9. フレームバッファでデジタル信号を複数のサンプル値(以下、「フレーム」という。)ごとに分割するフレームバッファステップと、
    シフト量決定部で整数部として符号化する信号の振幅の範囲を決めるシフト量決定ステップと、
    分割部で前記シフト量決定部で定めたシフト量にしたがって、前記デジタル信号を整数信号と誤差信号に分割する分割ステップと、
    整数信号符号化で整数信号を符号化する整数信号符号化ステップと、
    誤差信号符号化で誤差信号を符号化する誤差信号符号化ステップと、
    統合部で前記整数信号符号化部の出力と前記誤差信号符号化部の出力とを統合する統合ステップと、
    を有する信号符号化方法であって、
    前記シフト量決定ステップが、
    少なくとも1つの過去のフレームのシフト量をフレームシフト量保持バッファに記録しておき、
    前記シフト量決定ステップが、
    前記フレームシフト量保持バッファに直前のフレームのシフト量を記録しておき、
    前記シフト量候補が直前のフレームのシフト量よりも小さい場合には、直前のフレームのシフト量から前記シフト量候補までの各シフト量での符号化後のデータ量を計算して、最もデータ量が少ないシフト量を現フレームのシフト量とし、
    前記シフト量候補が直前のフレームのシフト量以上の場合には、前記シフト量候補を現フレームのシフト量とすること
    を特徴とする信号符号化方法。
  10. フレームバッファでデジタル信号を複数のサンプル値(以下、「フレーム」という。)ごとに分割するフレームバッファステップと、
    シフト量決定部で整数部として符号化する信号の振幅の範囲を決めるシフト量決定ステップと、
    分割部で前記シフト量決定部で定めたシフト量にしたがって、前記デジタル信号を整数信号と誤差信号に分割する分割ステップと、
    整数信号符号化で整数信号を符号化する整数信号符号化ステップと、
    誤差信号符号化で誤差信号を符号化する誤差信号符号化ステップと、
    統合部で前記整数信号符号化部の出力と前記誤差信号符号化部の出力とを統合する統合ステップと、
    を有する信号符号化方法であって、
    前記シフト量決定ステップが、
    少なくとも1つの過去のフレームのシフト量をフレームシフト量保持バッファに記録しておき、
    前記シフト量決定ステップが、
    前記フレームシフト量保持バッファに過去のN個(Nは2以上の整数)のフレームのシフト量を記録しておき、
    前記シフト量候補が、過去のN個のフレームのシフト量の中で、n番目(nは、1以上N未満の整数)に小さいシフト量よりも大きく、かつ直前のフレームのシフト量よりも小さい場合には、直前のフレームのシフト量を現フレームのシフト量とし、
    前記シフト量候補が、過去のN個のフレームのシフト量の中で、n番目(nは、1以上N未満の整数)に小さいシフト量以下、または直前のフレームのシフト量以上の場合には、前記シフト量候補を現フレームのシフト量とすること
    を特徴とする信号符号化方法。
  11. フレームバッファでデジタル信号を複数のサンプル値(以下、「フレーム」という。)ごとに分割するフレームバッファステップと、
    シフト量決定部で整数部として符号化する信号の振幅の範囲を決めるシフト量決定ステップと、
    分割部で前記シフト量決定部で定めたシフト量にしたがって、前記デジタル信号を整数信号と誤差信号に分割する分割ステップと、
    整数信号符号化で整数信号を符号化する整数信号符号化ステップと、
    誤差信号符号化で誤差信号を符号化する誤差信号符号化ステップと、
    統合部で前記整数信号符号化部の出力と前記誤差信号符号化部の出力とを統合する統合ステップと、
    を有する信号符号化方法であって、
    前記シフト量決定ステップが、
    少なくとも1つの過去のフレームのシフト量をフレームシフト量保持バッファに記録しておき、
    前記シフト量決定ステップが、
    前記シフト量候補が、前記フレームシフト量保持バッファに記録された直前のフレームのシフト量以下の場合には、直前のフレームのシフト量を現フレームのシフト量とし、
    前記シフト量候補が、前記フレームシフト量保持バッファに記録された直前のフレームのシフト量よりも大きい場合には、前記シフト量候補を現フレームのシフト量とすること
    を特徴とする信号符号化方法。
  12. 請求項7から11のいずれかに記載の信号符号化方法であって、
    前記シフト量決定ステップは、
    現フレームが過去のフレームからの予測を用いないフレームの場合には、必ず前記シフト量候補を現フレームのシフト量とする
    ことを特徴とする信号符号化方法。
  13. 請求項1から6のいずれかに記載の信号符号化装置をコンピュータにより実現する信号符号化プログラム。
  14. 請求項13記載の信号符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2005186510A 2005-06-27 2005-06-27 信号符号化装置、信号符号化方法、信号符号化プログラム、および記録媒体 Active JP4256364B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005186510A JP4256364B2 (ja) 2005-06-27 2005-06-27 信号符号化装置、信号符号化方法、信号符号化プログラム、および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005186510A JP4256364B2 (ja) 2005-06-27 2005-06-27 信号符号化装置、信号符号化方法、信号符号化プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JP2007006337A JP2007006337A (ja) 2007-01-11
JP4256364B2 true JP4256364B2 (ja) 2009-04-22

Family

ID=37691476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005186510A Active JP4256364B2 (ja) 2005-06-27 2005-06-27 信号符号化装置、信号符号化方法、信号符号化プログラム、および記録媒体

Country Status (1)

Country Link
JP (1) JP4256364B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007013642A (ja) * 2005-06-30 2007-01-18 Nippon Telegr & Teleph Corp <Ntt> 信号の符号化装置、方法、プログラム、記録媒体、および信号のコーデック方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007013642A (ja) * 2005-06-30 2007-01-18 Nippon Telegr & Teleph Corp <Ntt> 信号の符号化装置、方法、プログラム、記録媒体、および信号のコーデック方法
JP4523885B2 (ja) * 2005-06-30 2010-08-11 日本電信電話株式会社 信号の符号化装置、方法、プログラムおよび記録媒体

Also Published As

Publication number Publication date
JP2007006337A (ja) 2007-01-11

Similar Documents

Publication Publication Date Title
JP4359312B2 (ja) 信号の符号化装置、復号化装置、方法、プログラム、記録媒体、及び信号のコーデック方法
JP4918841B2 (ja) 符号化システム
KR100561869B1 (ko) 무손실 오디오 부호화/복호화 방법 및 장치
US9269366B2 (en) Hybrid instantaneous/differential pitch period coding
TWI618365B (zh) 使用在先譜係數以算術解碼和編碼現時譜係數之方法及裝置
US7835906B1 (en) Encoding method, apparatus and device and decoding method
US20070078646A1 (en) Method and apparatus to encode/decode audio signal
US8665945B2 (en) Encoding method, decoding method, encoding device, decoding device, program, and recording medium
EP2395503A2 (en) Audio signal encoding and decoding method, and apparatus for same
US20070143118A1 (en) Apparatus and method for lossless audio signal compression/decompression through entropy coding
WO2003081196A1 (en) Hierarchical lossless encoding/decoding method, hierarchical lossless encoding method, hierarchical lossless decoding method, its apparatus, and program
JP3467469B2 (ja) 音声復号装置および音声復号プログラムを記録した記録媒体
JP2004184975A (ja) 少ない計算量で高周波数成分を復元するオーディオデコーディング方法及び装置
JP4256364B2 (ja) 信号符号化装置、信号符号化方法、信号符号化プログラム、および記録媒体
JP4523885B2 (ja) 信号の符号化装置、方法、プログラムおよび記録媒体
KR20160003264A (ko) 신호 인코딩 및 디코딩 방법 및 장치
JP4705685B2 (ja) 信号の符号化装置、復号化装置、方法、プログラム、および記録媒体
JP2924416B2 (ja) 高能率符号化方法
JPWO2010067799A1 (ja) 符号化方法、その装置、プログラム及び記録媒体
JP4348324B2 (ja) 信号の符号化装置、方法、プログラム、および記録媒体
CN113129913A (zh) 音频信号的编解码方法和编解码装置
JP2010160439A (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
US20130173261A1 (en) Audio quantization coding and decoding device and method thereof
JP4373230B2 (ja) データファイルの符号化方法
JP5466618B2 (ja) 符号化装置、復号装置、符号化方法、復号方法及びそのプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081218

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: 20090120

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: 20090129

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

Free format text: PAYMENT UNTIL: 20120206

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4256364

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350