JP5040689B2 - 符号列検査装置、符号列検査方法及びプログラム - Google Patents

符号列検査装置、符号列検査方法及びプログラム Download PDF

Info

Publication number
JP5040689B2
JP5040689B2 JP2008021927A JP2008021927A JP5040689B2 JP 5040689 B2 JP5040689 B2 JP 5040689B2 JP 2008021927 A JP2008021927 A JP 2008021927A JP 2008021927 A JP2008021927 A JP 2008021927A JP 5040689 B2 JP5040689 B2 JP 5040689B2
Authority
JP
Japan
Prior art keywords
data
frame
unit
inspection
inspection 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.)
Active
Application number
JP2008021927A
Other languages
English (en)
Other versions
JP2009181071A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2008021927A priority Critical patent/JP5040689B2/ja
Publication of JP2009181071A publication Critical patent/JP2009181071A/ja
Application granted granted Critical
Publication of JP5040689B2 publication Critical patent/JP5040689B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、符号列検査装置、符号列検査方法及びプログラムに関するものである。
従来、人間の聴覚の特性に基づいて音声符号化を行い、この符号化データを復号化する音声処理装置がある(例えば、特許文献1参照)。
音声処理装置は、録音時にデジタル音声信号を符号化し、再生時に符号化されて生成された符号列を復号化する。尚、符号化時、デジタル音声信号は、フレームに分割され、符号化は、フレーム毎に行われる。
このような音声処理装置は、電子辞書装置の電子辞書のような語学辞書において発音される単語の音声用としても利用される。語学辞書用の音声処理装置では、十分な音質を確保しつつ、16kbps程度のデータレートを確保しなければならない。このため、語学辞書用の音声処理装置では、フレーム毎に生成された符号列に、フレームの検出が可能な長いヘッダを付加することができない。
語学辞書では、1つ1つの単語の音声のデータストリームがあまり長くないため、符号列にヘッダが付加されていなくても、データストリームの先頭から再生すれば、音声は、問題なく再生される。
特開2005−128404号公報(第4−10頁、図1)
しかし、例えば、語学辞書の例文のようにデータストリームが長くなった場合、データストリームの途中から音声を再生しようとしても、符号列にヘッダがなければ、フレームを検出することができず、音声を再生することはできない。従って、ヘッダがなくてもフレームを判別できるようにした方が好ましい。
本発明は、このような従来の問題点に鑑みてなされたもので、符号化処理単位としてのフレームの判別が可能な符号列検査装置、符号列検査方法及びプログラムを提供することを目的とする。
この目的を達成するため、本発明の第1の観点に係る符号列検査装置は、
符号化処理単位としてフレーム毎に符号化された符号化データに基づいて生成された検査データが各フレームに対応する符号化データに付加された符号列が供給され、供給された前記符号列から、フレームを検出する符号列検査装置であって、
前記符号列の任意の位置をフレームの先頭候補と決定し、当該位置から所定ビットの仮検査データを取得する仮検査データ取得部と、
記供給された符号列から、前記仮検査データ取得部が取得した前記仮検査データに連接するデータ列をデータ長を異ならせながら順次取得するデータ列取得部と、
前記データ列取得部が取得した前記データ長の異なるデータ列に基づいて順次検査データを生成する検査データ生成部と、
前記仮検査データ取得部が取得した前記仮検査データと前記検査データ生成部が順次生成した前記検査データとを比較して一致が得られたときの検査データの基となった長さのデータ列をフレームであると判別する符号化データ判別部と、を備えたことを特徴とする。
本発明の第2の観点に係る符号列検査方法は、
符号化処理単位としてフレーム毎に符号化された符号化データに基づいて生成された検査データが各フレームに対応する符号化データに付加された符号列が供給され、供給された前記符号列から、フレームを検出する符号列検査方法であって、
前記符号列の任意の位置をフレームの先頭候補と決定し、当該位置から所定ビットの仮検査データを取得する仮検査データ取得ステップと、
前記供給された符号列から、前記仮検査データ取得ステップで取得した前記仮検査データに連接するデータ列をデータ長を異ならせながら順次取得するデータ列取得ステップと、
前記データ列取得ステップで取得した前記データ長の異なるデータ列に基づいて順次検査データを生成する検査データ生成ステップと、
前記仮検査データ取得ステップで取得した前記仮検査データと前記検査データ生成ステップで順次生成した前記検査データとを比較して一致が得られたときの検査データの基となった長さのデータ列をフレームであると判別する符号化データ判別ステップと、を備えたことを特徴とする。
本発明の第3の観点に係るプログラムは、
号化処理単位としてフレーム毎に符号化された符号化データに基づいて生成された検査データが各フレームに対応する符号化データに付加された符号列が供給され、供給された前記符号列から、フレームを検出する符号列検査装置に用いられるコンピュータを、
前記符号列の任意の位置をフレームの先頭候補と決定し、当該位置から所定ビットの仮検査データを取得する仮検査データ取得手段と
前記供給された符号列から、前記仮検査データ取得手段が取得した前記仮検査データに連接するデータ列をデータ長を異ならせながら順次取得するデータ列取得手段と
前記データ列取得手段が取得した前記データ長の異なるデータ列に基づいて順次検査データを生成する検査データ生成手段と
前記仮検査データ取得手段が取得した前記仮検査データと前記検査データ生成手段が順次生成した前記検査データとを比較して一致が得られたときの検査データの基となった長さのデータ列をフレームであると判別する符号化データ判別手段
として機能させることを特徴とする
本発明によれば、フレームを判別することができる。
以下、本発明の実施形態に係る符号列検査装置を図面を参照して説明する。尚、本実施形態では、符号列検査装置を音声処理装置に適用した場合について説明する。
本実施形態に係る音声処理装置の構成を図1に示す。
本実施形態に係る音声処理装置1は、音声入力装置11と、記憶装置12と、ROM13と、RAM14と、CPU15と、を備える。これらのものは、バスを介して接続される。
この音声処理装置1は、例えば、語学辞書用のものであり、16kbps程度のデータレートを確保するようにしている。また、この音声処理装置1は、各フレームデータの先頭にCRC(Cyclic Redundancy Check;巡回冗長検査)データを格納して符号化し、復号化する際に、このCRCデータを利用してフレームデータの先頭を検出するように構成されている。
音声入力装置11は、入力された音声をデジタル音声信号に変換するものである。音声入力装置11は、例えば、入力音声をサンプリング周波数16kHzでサンプリングし、16ビットで量子化してデジタル音声信号に変換する。
記憶装置12は、音声入力装置11が変換したデジタル音声信号を記憶するとともに、このデジタル音声信号の符号化処理に必要なデータを記憶するものである。
ROM13は、CPU15が音声処理に必要なプログラムのデータ等を記憶するものである。RAM14は、CPU15が処理に必要なデータを記憶するものである。
CPU15は、ROM13に記憶されたプログラムデータに従って、各処理を実行するものであり、符号化部15−1と復号化部15−2とを備える。
符号化部15−1は、音声入力装置11が変換したデジタル音声信号の符号化を行うものであり、図2に示すように、DC削除部21と、フレーム(frame)化部22と、レベル(Level)調整部23と、MDCT(Modified Descrete Cosine Transform, 修正離散コサイン変換)部24と、帯域分割部25と、最大値検索部26と、シフト数算出部27と、シフト処理部28と、帯域別量子化部29と、符号量比較部30と、符号化帯域選択部31と、エントロピー符号化部32と、CRC算出部33と、によって構成される。
DC削除部21は、音声入力装置11が変換したデジタル音声信号から、直流成分を削除するものである。直流成分を削除するのは、直流成分が音質に関係しないためである。DC削除部21は、例えば、次の式(1)によって表される高域通過フィルタによって構成される。
Figure 0005040689
・・・(1)
フレーム化部22は、DC削除部21が直流成分を削除したデジタル音声信号を、MDCT部24が行う圧縮の処理単位であるフレームに分割するものである。フレーム化部22は、MDCTを行う処理単位を1ブロックとして、1フレームにm個(m≧1)のブロックが含まれるように、フレーム長を設定する。尚、1ブロックは、MDCT係数の次数分の長さを有している。
レベル調整部23は、入力されたデジタル音声信号のレベル(振幅)を、フレーム化部22が分割したフレーム毎に調整するものである。レベル調整部23は、フレーム中に含まれる信号の振幅の最大値が、指定されたビット(以下、制圧目標ビット)数に収まるように、レベル調整を行う。
例えば、1フレーム中の信号の最大振幅がnビットのデータで表されるものとして、制圧目標ビット数をNとすると、レベル調整部23は、次の式(2)に従い、フレーム中の信号のビットをLSB(Least Significant Bit)側にシフトすることにより、デジタル音声信号のレベル調整を行う。
Figure 0005040689
・・・(2)
尚、デジタル音声信号の場合、制圧目標ビット数Nは、例えば、10ビット程度とされる。
MDCT部24は、レベル調整部23がレベル調整したデジタル音声信号に対して、ブロック毎に周波数変換を行い、MDCT係数を算出するものである。MDCT部24は、次の式(3)に従い、MDCT係数を算出する。
Figure 0005040689
・・・(3)
尚、MDCT係数のタップ長Mは512タップが理想的である。
帯域分割部25は、MDCT部24が算出したMDCT係数を各周波数帯域に分割する(区分けする)ものである。帯域分割部25は、人間の聴覚の特性に合わせて、MDCT係数を、低域(低周波数帯域)ほど狭く、高域(高周波数帯域)ほど広くなるように分割する。
サンプリング周波数が16kHzの場合、帯域分割部25は、分割するスレッシュ周波数を187.5Hz,437.5Hz,687.5Hz,987.5Hz,1312.5Hz,2312.5Hz,3250Hz,4625Hz,6500Hzとして、MDCT係数を11帯域に分割する。
最大値検索部26は、帯域分割部25が分割した各帯域毎に、MDCT係数の絶対値の最大値を検索するものである。
シフト数算出部27は、最大値検索部26が各分割帯域毎に検索したMDCT係数の絶対値の最大値が、各帯域で予め与えられた量子化ビット数以下の値になるように、シフトするビット数(以下、シフトビット数と記す。)を算出するものである。
この量子化ビット数は、人間の聴覚の特性に基づいて、低域ほど多く、高域ほど少なくなるように、各帯域毎に予め設定され、低域から高域にかけて、例えば、8〜5ビット程度の量子化ビット数が割り当てられる。
MDCT係数の絶対値の最大値が、例えば、110であり、予め与えられた量子化ビット数が6ビットである場合、シフト数算出部27は、シフトビット数を2とする。
シフト処理部28は、シフト数算出部27が算出したシフトビット数に従って、分割した各帯域中の全てのMDCT係数をシフトするものである。
帯域別量子化部29は、図3に示すように、全体の帯域を低域、中域、高域の3つに分け、シフト処理部28がシフトした結果の値を帯域毎に異なる精度で量子化するものである。帯域別量子化部29は、小さい値ほど細かく、大きな値ほど粗くなるように対数的な量子化を行う。
符号量比較部30は、エントロピー符号化部32が生成した符号化データの符号量と目標符号量とを比較するものである。符号量比較部30は、この比較結果を符号化帯域選択部31に供給する。
符号化帯域選択部31は、エントロピー符号化部32が符号化する帯域を選択するものである。符号化帯域選択部31は、帯域毎に重要度を算出し、この重要度に基づいて、優先して符号化する帯域を選択する。
重要度を算出する最も単純な方法として、符号化帯域選択部31は、各帯域毎の合計エネルギーを算出する。帯域をiとして、帯域iの合計エネルギーgiは、次の式(4)によって表される。
Figure 0005040689
・・・(4)
符号化帯域選択部31は、この式(4)に従って合計エネルギーgiを算出し、この合計エネルギーgiが高いほどこの帯域の重要度が高いと判定する。そして、符号化帯域選択部31は、重要度の高い順に周波数帯域を選択する。尚、符号化帯域選択部31は、場合に応じ、合計エネルギーgiに、周波数に依存した重み係数を乗算する。
例えば、符号化帯域選択部31は、500Hz未満の周波数帯の周波数係数には、1.3を乗算し、500以上3500Hz未満の周波数帯の周波数係数には、1.1を乗算し、3500Hz以上の周波数帯の周波数係数には、1.3を乗算する。
符号化帯域選択部31は、符号量比較部30から供給された比較結果に基づいて、符号化データの符号量が目標符号量に達したか否かを判別し、符号化データの符号量が目標符号量に達するまで、符号化する帯域を選択する。
エントロピー符号化部32は、符号化帯域選択部31が選択した周波数帯域のMDCT係数を、RangeCoder、ハフマンコード等のエントロピー符号化に従って符号化し、符号化データを生成するものである。
CRC算出部33は、生成された1フレーム分のビット列のCRCデータを算出するものであり、本実施形態では、前述のようにフレームの先頭の検出に、このCRCデータが利用される。
CRCは、伝送されるデータの誤りをチェックする検査方法であり、送信側でビット列(データフレーム)をある生成多項式で割った余りをCRCデータとしてビット列に付加し、受信側では、このCRCデータに基づいて誤りを検査する方法である。
受信側で受信したビット列を上記生成多項式で割って計算されたCRCデータと、送信側のCRCデータと、が一致すれば、データは誤りなく伝送されたことになり、不一致であれば、伝送されたデータに誤りがあることになる。
CRC算出部33は、例えば、16ビットの計算値が算出されるCRC−CCITT、CRC−16等を用い、フレーム毎に符号化された符号化データに基づいてCRCデータを算出する。
尚、16kbps程度のビットレートを実現する音声圧縮では、1フレームに2バイトのCRCデータは、大きすぎるため、CRC算出部33は、算出したCRCデータの上位バイトと下位バイトとの排他的論理和演算をビット毎に行い、2バイトのCRCデータを1バイトのデータに再計算する。
符号化部15−1は、このようにしてデジタル音声信号をフレーム毎に符号化し、CRC算出部33がCRCデータを、各フレームの先頭に付加して符号列(bit stream;ビットストリーム)を生成する。符号化15−1は、生成した符号列を記憶装置12に記憶する。
図1に示す復号化部15−2は、記憶装置12からこの符号列を読み出してデジタル音声信号を復号化するものであり、図4に示すように、エントロピー復号化部41と、帯域別逆量子化部42と、シフト処理部43と、IMDCT部44と、レベル再現部45と、を備える。
エントロピー復号化部41は、符号列が供給され、デジタル音声信号のエントロピー復号を行うものである。
エントロピー復号化部41は、供給された符号列にヘッダがないため、フレーム毎の符号化データに付加されたCRCデータに基づいてフレームを検出する。
このため、エントロピー復号化部41は、符号列のなかから、フレームの先頭候補を決定し、仮のCRCデータを決定し、この仮のCRCデータを取得する。
エントロピー復号化部41は、CRCチェック部41aを備え、CRCチェック部41aは、このCRCデータの後に連接するデータ列のCRCデータを算出する。
エントロピー復号化部41は、このCRCデータの後に続くデータ列のデータ長を可変して、CRCチェック部41aが算出したCRCデータと仮のCRCデータとが一致するまで、このデータ列のデータ長を変更する。
このようにして、エントロピー復号化部41は、仮のCRCデータに基づいて、データ列のデータ長をチェックする。
そして、仮のCRCデータと算出したCRCデータとが一致したときのデータ長のデータ列を仮のフレームとする。
また、符号化時の目標データレートが16kbpsであるため、この目標データレートから、1フレームに利用できる最大のフレーム長が決まってくる。
このため、エントロピー復号化部41は、CRCデータを算出したデータ列のデータ長をL_frame、最大のフレーム長をLmaxとして、データ長L_frameが最大フレーム長さLmaxを超えた場合、当該先頭候補は、フレームの先頭ではないと判定する。
データ長L_frameが最大フレーム長さLmax以下の場合、エントロピー復号化部41は、この仮のフレームのデータを復号化する。
エントロピー復号化部41は、このデータがそもそもエントロピー復号か可能なビット列であり、1フレーム分のデータ列のエントロピー復号化を行って、復号化に利用した長さがCRCデータに基づいて決定された長さと一致した場合、この仮のフレームを正しいフレームと判別する。
一方、エントロピー復号化部41は、エントロピー復号化が不能と判定した場合、次にCRCデータが一致する長さを算出する。
エントロピー復号化部41は、先頭候補からフレームを検出できなかった場合、先頭候補を変更して、同じような処理を行い、フレームのデータを判別する。
帯域別逆量子化部42は、エントロピー復号化部41が復号化したデータ列を、3つの帯域別に逆量子化するものである。帯域別逆量子化部42は、帯域別のデータがなかった場合、この帯域にデータ0を入力する。
シフト処理部43は、シフトされた値を元に戻す処理を行うものである。
IMDCT部44は、逆MDCTを行ってデータを時間軸に変換するものである。
レベル再現部45は、調整したレベルを再現して音声信号に戻す処理を行うものである。
次に本実施形態に係る音声処理装置1の動作を説明する。
録音時、音声が入力されると、音声入力装置11は、入力された音声をデジタル音声信号に変換する。
CPU15の符号化部15−1は、音声入力装置11が変換したデジタル音声信号を取得し、DC削除部21は、式(1)に従って、このデジタル音声信号から、直流成分を削除する。
フレーム化部22は、直流成分を削除したデジタル音声信号をフレームに分割し、レベル調整部23は、式(2)に従い、このデジタル音声信号のレベルをフレーム毎に調整する。MDCT部24は、式(3)に従い、MDCTブロックごとに周波数変換を行い、MDCT係数を算出する。
帯域分割部25は、MDCT部24が算出したMDCT係数の周波数帯域を、人間の聴覚の特性に合わせて分割し、最大値検索部26は、帯域分割部25が分割した各帯域毎に、帯域中に含まれるMDCT係数の絶対値の最大値を検索する。
シフト処理部28は、全体の帯域を低域、中域、高域の3つに分け、シフト処理部28がシフトした結果の値を帯域毎に異なる精度で量子化する。
符号化帯域選択部31は、符号化帯域を選択し、エントロピー符号化部32は、目標符号量にあわせた符号化データを生成する。
符号量比較部30は、エントロピー符号化部32が生成した符号化データの符号量と目標符号量とを比較し、符号化データの符号量が目標符号量に達すると、符号化帯域選択部31は、符号化帯域の選択を停止し、エントロピー符号化部32の符号化は停止する。
CRC算出部33は、生成された1フレーム分のビット列のCRCデータを算出し、符号化部15−1は、CRC算出部33が算出したCRCデータを、各フレームの先頭に付加する。
符号化部15−1は、このようにして生成した符号化列を記憶装置12に書き込む。
この音声を再生する場合、CPU15は、ROM13が記憶するプログラムデータを読み出し、復号化部15−2のエントロピー復号化部41は、図5に示すフローチャートに従い、復号化処理を実行する。
エントロピー復号化部41は、フレームの先頭候補を決定する(ステップS11)。
エントロピー復号化部41は、仮のCRCデータを決定し、この仮のCRCデータを取得する(ステップS12)。
エントロピー復号化部41は、フレーム判別処理を実行する(ステップS13)。エントロピー復号化部41は、図6に示すフローチャートに従い、フレーム判別処理(1)を実行する。
エントロピー復号化部41は、データ長を設定する(ステップS21)。
CRCチェック部41aは、CRCチェック処理を実行する(ステップS22)。CRCチェック部41aは、図7に示すフローチャートに従い、このCRCチェック処理を実行する。
CRCチェック部41aは、仮決めしたCRCデータに連接するデータ列を取得し、当該データ列のCRCデータを計算する(ステップS31)。
CRCチェック部41aは、仮決めしたCRCデータと、計算したCRCデータと、が一致したか否かを判定する(ステップS32)。
仮決めしたCRCデータと、計算したCRCデータと、が一致していないと判定した場合(ステップS32;No)、CRCチェック部41aは、データ長を変更して(ステップS33)、再度、仮決めしたCRCデータに連接するデータ列を取得し、当該データのCRCデータを計算する(ステップS31)。
仮決めしたCRCデータと、計算したCRCデータと、が一致したと判定した場合(ステップS14;Yes)、CRCチェック部41aは、このCRCチェック処理を終了させる。
CRCチェック部41aが、CRCチェック処理を実行すると、エントロピー復号化部41は、データ列が一致した仮のデータの仮のフレーム長L_frameと最大フレーム長Lmaxとを比較し、仮のフレーム長L_frameが最大フレーム長Lmaxを超えているか否かを判定する(ステップS23)。
仮のフレーム長L_frameが最大フレーム長Lmaxを超えていると判定した場合(ステップS23;Yes)、エントロピー復号化部41は、当該先頭候補はフレームの先頭ではないと判別し(ステップS24)、NGの判別結果とする(ステップS25)。
仮のフレーム長L_frameが最大フレーム長Lmax以下と判定した場合(ステップS23;No)、エントロピー復号化部41は、エントロピー復号化を行う(ステップS26)。
エントロピー復号化部41は、エントロピー復号化が成功したか否かを判定する(ステップS27)。
エントロピー復号化が成功しなかったと判定した場合(ステップS27;No)、エントロピー復号化部41は、仮決めしたCRCデータとCRCチェック部41aが計算したCRCデータとは偶然一致したものと判別し(ステップS28)、NGの判別結果とする(ステップS25)。
一方、エントロピー復号化が成功したと判定した場合(ステップS27;Yes)、エントロピー復号化部41は、決定した先頭候補が正しいフレームの先頭であり、フレームを検出できたと判別し、OKの判定結果とする(ステップS29)。
エントロピー復号化部41は、このようにフレーム判別処理を実行し、判別結果がNGの場合(ステップS14;NG)、先頭候補となるべきデータが他にあるか否かを判定する(ステップS15)。
先頭候補となるべきデータが他にあると判定した場合(ステップS15;Yes)、エントロピー復号化部41は、先頭候補を変更し(ステップS16)、再度、フレーム判別処理を実行する(ステップS13)。
先頭候補となるべきデータが他にはないと判定した場合(ステップS15;No)、エントロピー復号化部41は、この復号化処理を終了させる。
判別結果がOKの場合(ステップS14;OK)、エントロピー復号化部41は、他にフレームがあるか否かを判定する(ステップS17)。
他にフレームがあると判定した場合(ステップS17;Yes)、エントロピー復号化部41は、次のフレームの先頭候補を決定し(ステップS18)、再度、フレーム判別処理を実行する(ステップS13)。
他にフレームがないと判定した場合(ステップS17;No)、エントロピー復号化部41は、この復号化処理を終了させる。
次に、この復号化処理を具体的に説明する。
図8に示すように、エントロピー復号化部41は、符号列のうちから、先頭候補を決定し(ステップS11の処理)、仮のCRCデータを決定し、この仮のCRCデータを取得する(ステップS12の処理)。
エントロピー復号化部41は、符号列から、データ長を設定して(ステップS21の処理)、仮のCRCデータに連接するデータ列d1を取得する。
CRCチェック部41aは、このデータ列d1のCRCデータを算出する(ステップS21,S22,S31の処理)。
仮のCRCデータと算出したCRCデータとが不一致の場合(ステップS32;No)、エントロピー復号化部41は、データ長を変更して(ステップS33の処理)、データ列d2を取得し、CRCチェック部41aは、再度、このデータ列d2のCRCデータを算出する(ステップS33,S31の処理)。
仮のCRCデータと算出したデータ列d2のCRCデータとが一致した場合(ステップS32;Yes)、エントロピー復号化部41は、このデータ列d2を仮のフレームに決定する。
仮のフレームのフレーム長L_frameが最大フレーム長Lmaxを超えている場合(ステップS23;Yes)、エントロピー復号化部41は、この先頭候補は、フレームの先頭ではないと判別する(ステップS24の処理)。
一方、仮のフレームのフレーム長L_frameが最大フレーム長Lmax以下の場合(ステップS23;No)、エントロピー復号化部41は、このデータ列d2を復号化し(ステップS26)、復号化できなかった場合(ステップS27;No)、仮決めしたCRCデータと計算したCRCデータとは偶然一致したと判別する(ステップS25の処理)。
復号化できた場合(ステップS27;Yes)、エントロピー復号化部41は、フレームを検出できたと判別する(ステップS29)。
帯域別逆量子化部42は、エントロピー復号化部41がこのように復号化したデータ列を、3つの帯域別に逆量子化し、帯域別のデータがなかった場合、この帯域にデータ0を入力する。
シフト処理部43は、シフトされた値を元に戻す処理を行い、IMDCT部44は、逆MDCTを行ってデータを時間軸に変換する。レベル再現部45は、調整したレベルを再現してデータをデジタル音声信号に戻す。
以上説明したように、本実施形態によれば、エントロピー復号化部41は、符号化データの先頭候補を決定して、仮のCRCデータとCRCチェック部41aが計算したCRCデータとを比較し、さらに、エントロピー復号化を行ってフレームの先頭を検出するようにした。
従って、各フレームにヘッダがなくても、CRCデータに基づいてフレームの先頭を判別することができ、16kbpsのデータレートで学習用途に耐える音質を確保しつつ、デジタル音声信号を復号化することができる。
尚、本発明を実施するにあたっては、種々の形態が考えられ、上記実施形態に限られるものではない。
例えば、上記実施形態では、仮のCRCデータと、計算によって求められたフレームのCRCデータと、が一致し、エントロピー復号化も成功した場合、エントロピー復号化部41は、フレームを判別したものとした。
しかし、2つのCRCデータが偶然に一致し、エントロピー復号化も偶然成功するおそれもある。この場合、フレームを誤検出するおそれもある。このような誤検出を避けるため、数フレーム分、連続して検査することにより、フレームの検出精度をさらに向上させることができる。
数フレーム分、連続して検査する場合、エントロピー復号化部41は、図9及び図10に示すフローチャートに従い、フレーム判別処理(2)を実行する。
エントロピー復号化部41は、上記実施形態と同様にステップS21〜S27を実行する。
復号化が成功したと判定した場合(ステップS27;Yes)、エントロピー復号化部41は、判別した次のフレームの位置をフレームの先頭候補とする(ステップS41)。
エントロピー復号化部41は、データ長を設定し(ステップS42)、CRCチェック部41aは、CRCチェック処理を実行する(ステップS43)。
CRCチェック部41aが、CRCチェック処理を実行すると、エントロピー復号化部41は、仮のフレーム長L_frameが最大フレーム長Lmaxを超えているか否かを判定する(ステップS44)。
仮のフレーム長L_frameが最大フレーム長Lmaxを超えていると判定した場合(ステップS44;Yes)、エントロピー復号化部41は、判定結果をNGの判別結果とする(ステップS25)。
仮のフレーム長L_frameが最大フレーム長Lmax以下と判定した場合(ステップS44;No)、エントロピー復号化部41は、エントロピー符号化を行う(ステップS45)。
エントロピー復号化部41は、エントロピー復号化が成功したか否かを判定する(ステップS46)。
エントロピー復号化が成功しなかったと判定した場合(ステップS46;No)、エントロピー復号化部41は、判定結果をNGの判別結果とする(ステップS25)。
一方、エントロピー復号化が成功したと判定した場合(ステップS46;Yes)、エントロピー復号化部41は、指定されたフレーム数だけ検査したか否かを判定する(ステップS47;Yes)
指定されたフレーム数のフレーム検査を行っていないと判定した場合(ステップS47;No)、エントロピー復号化部41は、再度、ステップS42〜S46を実行する。
指定されたフレーム数だけ検査したと判定した場合(ステップS47;Yes)、エントロピー復号化部41は、決定した次の先頭候補についても、正しいフレームの先頭であり、次のフレームを検出できたと判別し、OKの判定結果とする(ステップS29)。
上記実施形態では、符号列検査装置を音声処理装置に適用した場合について説明した。しかし、符号列検査装置は、音声処理装置に限られるものではなく、種々の復号化装置等に適用することができる。
また、上記実施形態では、プログラムが、それぞれメモリ等に予め記憶されているものとして説明した。しかし、符号列検査装置を、装置の全部又は一部として動作させ、あるいは、上述の処理を実行させるためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto Optical disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
本発明の実施形態に係る音声処理装置の構成を示すブロック図である。 図1に示す符号化部の構成を示すブロック図である。 量子化を行う際に分けた3つの帯域を示す図である。 図1に示す復号化部の構成を示すブロック図である。 図4に示すエントロピー復号化部が実行する復号化処理を示すフローチャートである。 図4に示すエントロピー復号化部が実行するフレーム判別処理(1)を示すフローチャートである。 図4に示すエントロピー復号化部が実行するCRCチェック処理を示すフローチャートである。 復号化処理の具体例を示す図である。 図4に示すエントロピー復号化部が実行するフレーム判別処理(2)を示すフローチャート(その1)である。 図4に示すエントロピー復号化部が実行するフレーム判別処理(2)を示すフローチャート(その2)である。
符号の説明
1・・・音声処理装置、15・・・CPU、15−1・・・符号化部、15−2・・・復号化部、33・・・CRC算出部、41・・・エントロピー復号化部、41a・・・CRCチェック部

Claims (6)

  1. 符号化処理単位としてフレーム毎に符号化された符号化データに基づいて生成された検査データが各フレームに対応する符号化データに付加された符号列が供給され、供給された前記符号列から、フレームを検出する符号列検査装置であって、
    前記符号列の任意の位置をフレームの先頭候補と決定し、当該位置から所定ビットの仮検査データを取得する仮検査データ取得部と、
    記供給された符号列から、前記仮検査データ取得部が取得した前記仮検査データに連接するデータ列をデータ長を異ならせながら順次取得するデータ列取得部と、
    前記データ列取得部が取得した前記データ長の異なるデータ列に基づいて順次検査データを生成する検査データ生成部と、
    前記仮検査データ取得部が取得した前記仮検査データと前記検査データ生成部が順次生成した前記検査データとを比較して一致が得られたときの検査データの基となった長さのデータ列をフレームであると判別する符号化データ判別部と、を備えた、
    ことを特徴とする符号列検査装置。
  2. 前記符号化データ判別部がフレームであると判別したデータ列の長さが、前記フレームの目標データレートから定まる最大フレーム長を超えたか否かを判定するフレーム長判定部を備え、
    前記仮検査データ取得部は、前記フレーム長判定部が最大フレーム長を超えたと判定した場合は、前記フレームの先頭候補の位置を変更して、供給された前記符号列のうちから、再度、仮検査データを取得し、
    前記データ列取得部、前記検査データ生成部及び前記符号化データ判別部は、前記仮検査データ取得部が取得した前記仮検査データに基づいて、夫々の処理を再度実行する、
    ことを特徴とする請求項に記載の符号列検査装置。
  3. 前記符号化データ判別部がフレームであると判別したデータ列の復号化が可能か否かを判定する復号化可能判定部を備え、
    前記仮検査データ取得部は、前記復号化可能判定部が前記符号化データの復号化が不能と判定した場合は、前記フレームの先頭候補の位置を変更して、供給された前記符号列のうちから、再度、仮検査データを取得し、
    前記データ列取得部、前記検査データ生成部及び前記符号化データ判別部は、前記仮検査データ取得部が取得した前記仮検査データに基づいて、夫々の処理を再度実行する、
    ことを特徴とする請求項1又は2に記載の符号列検査装置。
  4. 前記復号化可能判定部が前記符号化データの復号化が可能であることを所定数の連続するフレームについて判定したときに正しいフレームであると判定する第2の復号化可能判定部を備えたことを特徴とする
    請求項に記載の符号列検査装置。
  5. 符号化処理単位としてフレーム毎に符号化された符号化データに基づいて生成された検査データが各フレームに対応する符号化データに付加された符号列が供給され、供給された前記符号列から、フレームを検出する符号列検査方法であって、
    前記符号列の任意の位置をフレームの先頭候補と決定し、当該位置から所定ビットの仮検査データを取得する仮検査データ取得ステップと、
    前記供給された符号列から、前記仮検査データ取得ステップで取得した前記仮検査データに連接するデータ列をデータ長を異ならせながら順次取得するデータ列取得ステップと、
    前記データ列取得ステップで取得した前記データ長の異なるデータ列に基づいて順次検査データを生成する検査データ生成ステップと、
    前記仮検査データ取得ステップで取得した前記仮検査データと前記検査データ生成ステップで順次生成した前記検査データとを比較して一致が得られたときの検査データの基となった長さのデータ列をフレームであると判別する符号化データ判別ステップと、を備えた、
    ことを特徴とする符号列検査方法。
  6. 号化処理単位としてフレーム毎に符号化された符号化データに基づいて生成された検査データが各フレームに対応する符号化データに付加された符号列が供給され、供給された前記符号列から、フレームを検出する符号列検査装置に用いられるコンピュータを、
    前記符号列の任意の位置をフレームの先頭候補と決定し、当該位置から所定ビットの仮検査データを取得する仮検査データ取得手段と
    前記供給された符号列から、前記仮検査データ取得手段が取得した前記仮検査データに連接するデータ列をデータ長を異ならせながら順次取得するデータ列取得手段と
    前記データ列取得手段が取得した前記データ長の異なるデータ列に基づいて順次検査データを生成する検査データ生成手段と
    前記仮検査データ取得手段が取得した前記仮検査データと前記検査データ生成手段が順次生成した前記検査データとを比較して一致が得られたときの検査データの基となった長さのデータ列をフレームであると判別する符号化データ判別手段
    として機能させるためのプログラム。
JP2008021927A 2008-01-31 2008-01-31 符号列検査装置、符号列検査方法及びプログラム Active JP5040689B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008021927A JP5040689B2 (ja) 2008-01-31 2008-01-31 符号列検査装置、符号列検査方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008021927A JP5040689B2 (ja) 2008-01-31 2008-01-31 符号列検査装置、符号列検査方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2009181071A JP2009181071A (ja) 2009-08-13
JP5040689B2 true JP5040689B2 (ja) 2012-10-03

Family

ID=41035061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008021927A Active JP5040689B2 (ja) 2008-01-31 2008-01-31 符号列検査装置、符号列検査方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5040689B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0865170A (ja) * 1994-08-01 1996-03-08 Texas Instr Inc <Ti> モジュール型オーディオデータ処理方式
JPH1040021A (ja) * 1996-07-25 1998-02-13 Sega Enterp Ltd 外部記憶装置、データ書込方法、フロッピーディスク及びデータ読出方法並びに通信方法
JPH1155237A (ja) * 1997-06-04 1999-02-26 Nec Corp データ処理装置および方法、情報記憶媒体
EP1308931A1 (de) * 2001-10-23 2003-05-07 Deutsche Thomson-Brandt Gmbh Decodierung eines codierten digitalen Audio-Signals welches in Header enthaltende Rahmen angeordnet ist

Also Published As

Publication number Publication date
JP2009181071A (ja) 2009-08-13

Similar Documents

Publication Publication Date Title
JP5343098B2 (ja) スーパーフレーム構造のlpcハーモニックボコーダ
JP4649208B2 (ja) オーディオコーディング
US8548801B2 (en) Adaptive time/frequency-based audio encoding and decoding apparatuses and methods
KR101413968B1 (ko) 오디오 신호의 부호화, 복호화 방법 및 장치
KR100718712B1 (ko) 복호장치와 방법 및 프로그램 제공매체
US7664650B2 (en) Speech speed converting device and speech speed converting method
KR101274802B1 (ko) 오디오 신호를 인코딩하기 위한 장치 및 방법
US20100250262A1 (en) Method and apparatus for coding or decoding wideband speech
JP4548348B2 (ja) 音声符号化装置及び音声符号化方法
KR102171293B1 (ko) 음성 부호화 장치, 음성 부호화 방법, 음성 부호화 프로그램, 음성 복호 장치, 음성 복호 방법 및 음성 복호 프로그램
WO2002065457A2 (en) Speech coding system with a music classifier
KR100526829B1 (ko) 음성부호화방법및장치음성복호화방법및장치
KR20110111442A (ko) 피크 검출에 기초한 선택적 스케일링 마스크 계산
KR20060135699A (ko) 신호 복호화 장치 및 신호 복호화 방법
WO2000077774A1 (fr) Codeur de signaux de bruit et codeur de signaux vocaux
WO2012070340A1 (ja) 隠蔽信号生成装置、隠蔽信号生成方法および隠蔽信号生成プログラム
JP4231987B2 (ja) 音声符号化復号方式間の符号変換方法、その装置、そのプログラム及び記憶媒体
JP5544370B2 (ja) 符号化装置、復号装置およびこれらの方法
JP5040689B2 (ja) 符号列検査装置、符号列検査方法及びプログラム
JP4793539B2 (ja) 符号変換方法及び装置とプログラム並びにその記憶媒体
JP2004069963A (ja) 音声符号変換装置及び音声符号化装置
KR101261524B1 (ko) 노이즈를 포함하는 오디오 신호를 저비트율로부호화/복호화하는 방법 및 이를 위한 장치
JP3576485B2 (ja) 固定音源ベクトル生成装置及び音声符号化/復号化装置
JP5018557B2 (ja) 符号化装置、復号化装置、符号化方法、復号化方法及びプログラム
JP2009193015A (ja) 符号化装置、復号化装置、符号化方法、復号化方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120518

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5040689

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

Year of fee payment: 3