符号化装置
【課題】 本発明は、非常に小さい符号量で入力のデジタル信号を圧縮符号化する符号化装置に関する。特に、ハフマン符号などの可変長符号化手段を内蔵したオーディオコーデックを用いた機器において、符号化効率と符号量の制御を適切に行える符号化装置を提供する。
【解決手段】 各処理単位毎の平均の符号量がM(Mは自然数。)以下となるような符号化装置において、1処理単位あたりの符号量が入力信号に応じて可変となる可変長符号化手段と、1処理単位あたりの符号量が入力信号に拠らず固定である固定長符号化手段と、を備え、固定長符号化手段における1処理単位あたりの符号量はMより小さくする。
【解決手段】 各処理単位毎の平均の符号量がM(Mは自然数。)以下となるような符号化装置において、1処理単位あたりの符号量が入力信号に応じて可変となる可変長符号化手段と、1処理単位あたりの符号量が入力信号に拠らず固定である固定長符号化手段と、を備え、固定長符号化手段における1処理単位あたりの符号量はMより小さくする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、非常に小さい符号量で入力のデジタル信号を圧縮符号化する符号化装置に関する。特に、ハフマン符号などの可変長符号化手段を内蔵した符号化装置に関する。
【背景技術】
【0002】
近年、Spatial Codec(空間的符号化)といわれる技術開発が行われている。これは、非常に少ない符号量でマルチチャネルの臨場感を圧縮・符号化することを目的としており、例えば、既にデジタルテレビの音声方式として広く用いられているマルチチャネルコーデックが、5.1ch当り512kbpsや、384kbpsという符号量を要するのに対し、Spatial Codecでは、128kbpsや、64kbps、さらに48kbpsといった非常に少ない符号量でマルチチャネル信号を圧縮・符号化することを目指している。例えば、目下MPEGオーディオ規格化活動で議論が進められているSpatial Codecの技術では、5.1chの信号を2chあるいは、1chにダウンミックスした信号を所定の符号量で符号化し、残りの例えば32kbps程度の符号量で、ダウンミックスされた2chの信号を元の5.1chの信号に戻すための情報が圧縮符号化される。このような低い符号量で情報を圧縮符号化するためには、従来ハフマン符号などの可変長符号化技術が用いられる。従来、この技術を巧みに利用したオーディオ圧縮技術として、MPEG規格AAC方式がある(例えば、非特許文献1参照。)。
【非特許文献1】ISO/IEC 13818−7:2003 ”Information technology −− Generic coding of moving pictures and associated audio information −− Part 7: Advanced Audio Coding (AAC)”
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、AAC方式で用いられている圧縮符号化方式には、下記のような課題がある。
AAC方式では、色々な圧縮レートに対応する為に、複数のハフマンコードブックが用意されている。例えば、ISO/IEC 13818−7のTableA.12 Spectrum Huffman Codebook 11は、289値で量子化された値をハフマン符号化するためのハフマンコードブックである。また、TableA.8 Spectrum Huffman Codebook 7は、64値で量子化された値をハフマン符号化するためのハフマンコードブックである。すなわち、量子化精度を細かくしたい、言い換えると符号量が多くてよい場合は、前記Spectrum Huffman Codebook 11を用い、逆に符号量を少なくしたい場合は、前記Spectrum Huffman Codebook 7を用いる、というようなことでできるように、AAC方式では工夫されている。このことを、図7を用いで、さらに説明する。
【0004】
図7は、入力信号に対して、各処理単位ごとに、どのように符号量が変動するかを示した図である。横軸は時間であり、縦軸は1処理単位ごとの符号量である。
図7には、2本の波線が描かれているが、上側の波線は、AAC方式で、入力信号を圧縮符号化した際の、各処理単位ごとの符号量の変動の一例を示している。また、その波線と概ね重なり合っている太い破線は、この符号化モードが対象としているターゲットの符号量を示している。
【0005】
さて、原理的にハフマン符号は、入力信号に応じて圧縮符号化の符号量が変動するが、通常は、図7の区間Aのように、各処理単位ごとの符号量は、ターゲットの符号量の近傍で変動する。しかしながらここで、不可避の課題として、ハフマン符号における符号長の長い符号ばかりを用いるような、好ましくない(期待しない)入力信号が長く続いた場合、区間Bのように、ターゲット符号量よりも大きい符号量の状態が続いてしまう。
【0006】
このような場合、量子化精度を粗く符号化するようなハフマンコードブックを用いるように制御することによって、区間Cのように、ターゲット符号量よりも低い符号量の区間が続くように制御することができる。つまり、前記のハフマンコードブックの例でいえば、区間A,区間Bは、Spectrum Huffman Codebook 11を使っているような区間であり、区間CはSpectrum Huffman Codebook 7を使っているような区間である、ということになる。このようにして平均的な符号量をターゲット符号量にあわせることができる。
【0007】
ところが、Spatial Codecが対象とするような非常に少ない符号量をターゲットの符号量とするような場合、下記のような課題がある。図7に2本描かれている波線の中の下側の波線が、この課題を説明する波線である。この波線における区間Dと区間Eは、非常に少ない符号量を対象とするハフマンコードブックを用いて入力信号を圧縮符号化した際の各処理単位ごとの符号量の変動を示している。各処理単位の符号量は、通常は、区間Dに示すように、ターゲットの符号量の近傍で変動し、従って平均符号量としてターゲットの符号量を実現することができる。ところが、前述と同様の理由で、ハフマン符号における符号長の長い符号ばかりを用いるような、好ましくない(期待しない)入力信号が長く続いた場合、区間Eのように、ターゲット符号量よりも大きい符号量の状態が続いてしまう。このような場合、符号量をさらに低くするための別のハフマンコードブックを用いることが従来の解決手段であったが、この場合以下の理由で、それは困難である。
【0008】
図7における区間F、区間Gは、区間D、区間Eで用いていたハフマンコードブックよりも更に低い符号量の為のフマンコードブックを用いている区間である。ここで区間Fは、この更に低い符号量の為のフマンコードブックを用いることによって、平均的に符号量が下がっている区間であるが、このハフマンコードブックを用いていても、区間Gのように、好ましくない(期待しない)入力信号が長く続いた場合、各処理単位ごとの符号量は高いところで推移する。しかもこの場合、元々のターゲット符号量がそもそも非常に低いので、上記、発生し得る好ましくない状態が続く場合、ターゲット符号量を超えてしまうことになる。
【0009】
具体的にハフマンコードブックの例を示しながら、このことを更に説明する。図8は、32値で量子化された信号をそれぞれの値の発生頻度に応じて可変長に符号化するためのハフマンコードブックの一例である。例えば、入力の信号が、−1から+1までの変域をとる値としたとき、これを32個レベルに分割した量子化閾値で量子化する、すなわち32値で量子化し、それぞれの値が採り得る頻度の偏りに応じ、可変長の符号を割り当てる。すなわち、発生頻度の高い値には短い符号を与え、発生頻度の低い値には短い符号を与えている。図8はそのようにして構成されたハフマンコードブックの一例である。
【0010】
同様に図9は、22値での量子化用、同様に図10は、16値での量子化用、同様に図11は、11値での量子化用、である。
さて、図7の区間Dは、図8に示したハフマンコードブックを用いて、入力の信号を32値で量子化し、ハフマン符号化によって、圧縮符号化している区間であるとする。可変長符号の性質上、符号量は各処理単位毎に変動するが、通常は、概ねターゲットの符号量の近傍で推移する。
【0011】
ところが、入力の信号が、図8に示すハフマンコードブックの両端に近い値を取りつづけると、その近傍のハフマン符号は符号長が長いので、ターゲットの符号量を大きく超える区間が発生する。図7の区間Eがそういう場合を示している。
【0012】
さて、そのような場合、入力の信号を32値で量子化するのではなく、符号量削減のために、22値で量子化するようにする。つまり、図9に示したハフマンコードブックで圧縮符号化する。そのようにすることで、平均的には符号量が下がるが(区間F)、図9から明らかなように、やはり依然として、ハフマンコードブックの両端に近い値を取りつづけると、その近傍のハフマン符号は符号長が長いので、ターゲットの符号量を超える区間が発生する。これが区間Gである。
【0013】
そのような場合、さらに符号量削減のために、入力の信号を22値で量子化するのではなく、16値で量子化するようにしても、つまり、図10に示したハフマンコードブックで圧縮符号化するようにしても、図10から明らかなように、やはり依然として、ハフマンコードブックの両端に近い値を取りつづけると、その近傍のハフマン符号は符号長が長いので、ターゲットの符号量を超える。11値の量子化にしても、図11に示すように同様である。
【0014】
このように、ターゲットの符号量が非常に低い場合は、ハフマン符号を用いている限りにおいて、好ましくない(期待しない)入力が続いた場合、平均符号量をターゲット符号量に制御することができない。
【0015】
本発明は、このような従来の問題点に鑑みてなされたものであって、通常の状態では、ハフマン符号を用いた高能率な圧縮を行い、ハフマン符号が、目的の符号量を達成しない場合、圧縮方法を切り替えて、必ず目的の符号量を達成できるようにすることができる符号化装置を提供することを目的とする。
【課題を解決するための手段】
【0016】
前記課題を解決するために、本願請求項1記載の符号化装置は、各処理単位毎の平均の符号量がM(Mは自然数。)以下となるような符号化装置であって、1処理単位あたりの符号量が入力信号に応じて可変となる可変長符号化手段と、1処理単位あたりの符号量が入力信号に拠らず固定である固定長符号化手段とを備え、前記固定長符号化手段における1処理単位あたりの符号量は前記Mより小さいことを特徴とするものである。
【0017】
本願請求項2記載の符号化装置は、請求項1記載の符号化装置において、各処理単位毎の平均の符号量がM以下となるように、前記可変長符号化手段と前記固定長符号化手段とを切り替える制御手段を有し、前記制御手段は、過去のN(Nは自然数。)処理単位あたりの符号量が、所定の符号量を超えた場合、前記固定長符号化手段で入力信号を符号化するように制御することを特徴とするものである。
【0018】
本願請求項3記載の符号化装置は、各処理単位毎の平均の符号量がM(Mは自然数。)以下となるような符号化装置であって、1処理単位あたりの符号量が入力信号に応じて可変となる可変長符号化手段と、1処理単位あたりの符号量が入力信号に拠らず固定である第1の固定長符号化手段と、1処理単位あたりの符号量が前記第1の固定長符号化手段より大きい第2の固定長符号化手段とを有し、前記可変長符号化手段は、A(Aは自然数。)値で量子化された値を、各値の発生頻度に応じて定められたハフマン符号によって符号化する符号化手段であり、前記第1の固定長符号化手段における1処理単位あたりの符号量は前記Mより小さく、前記第2の固定長符号化手段における1処理単位あたりの符号量は、A値で量子化された値を固定長符号で符号化する手段を含んでいることを特徴とするものである。
【0019】
本願請求項4記載の符号化装置は、請求項3記載の符号化装置において、各処理単位毎の平均符号量がM以下となるように、前記可変長符号化手段と前記第1の固定長符号化手段と前記第2の固定長符号化手段とを切り替える制御手段をさらに有し、前記制御手段は、過去のN処理単位あたりの符号量が、所定の符号量を超えた場合、前記第1の固定長符号化手段で入力信号を符号化するように制御し、かつ、各処理単位毎に、前記可変長符号化手段で符号化した際の符号量が前記第2の固定長符号化手段で入力信号を符号化した際の符号量より大きい時は、当該処理単位は、前記第2の固定長符号化手段で入力信号を符号化するように制御することを特徴とするものである。
【発明の効果】
【0020】
請求項1の発明によれば、可変長符号化手段では、符号量をターゲットの符号量以下に制御することが困難な場合でも、符号量がターゲットの符号量より小さい固定長符号化手段を有しているので、符号量をターゲットの符号量以下に必ず制御することができる。
【0021】
請求項2の発明によれば、可変長符号化手段における符号量が、一定量以上ターゲットの符号量より大きくなった場合に限り、固定長符号化手段(量子化精度は可変長符号化手段より劣る)を用いるようにするので、固定長符号化による量子化精度の劣化を少なく留めることができる。
【0022】
請求項3の発明によれば、可変長符号化手段では、符号量をターゲットの符号量以下に制御することが困難な場合でも、符号量がターゲットの符号量より小さい第1の固定長符号化手段を有しているので、符号量をターゲットの符号量以下に必ず制御することができる。また、量子化精度が可変長符号化手段と同じである第2の固定長符号化手段を有しているので、可変長符号化手段による符号化効率が悪い場合は、量子化精度を落とさずに符号化効率をあげることができる。
【0023】
請求項4の発明によれば、可変長符号化手段では、符号量をターゲットの符号量以下に制御することが困難な場合でも、符号量がターゲットの符号量より小さい第1の固定長符号化手段を有しているので、符号量をターゲットの符号量以下に必ず制御することができる。また、量子化精度が可変長符号化手段と同じである第2の固定長符号化手段を有しているので、可変長符号化手段による符号化効率が悪い場合は、量子化精度を落とさずに符号化効率をあげることができる。しかも、符号量が、一定量以上ターゲットの符号量より大きくなった場合に限り、第1の固定長符号化手段(量子化精度は可変長符号化手段より劣る)を用いるようにするので、固定長符号化による量子化精度の劣化を少なく留めることができる。
【発明を実施するための最良の形態】
【0024】
(実施の形態1)
以下本発明の実施の形態1における符号化装置について図面を参照しながら説明する。本実施の形態1における符号化装置は各処理単位毎の平均の符号量がM(Mは自然数。)以下となるような符号化装置である。具体的な値の一例として、変域が−1から+1までの信号20個を1処理単位の入力信号とし、1処理単位ごとの入力に対し、平均で64ビット(信号1つあたり3.2ビット)で符号化する符号化装置でとする。勿論この値は、説明を分かりやすくするための単なる例にすぎず、他の値であっても本願の趣旨を損ねないことは言うまでもない。
【0025】
図1は本実施の形態1における符号化装置の構成を示す図である。図1において、可変長符号化手段100は、1処理単位あたりの符号量が入力信号に応じて可変となる。
固定長符号化手段101は、1処理単位あたりの符号量が入力信号に拠らず固定である。
【0026】
制御手段102は、複数の処理単位を符号化したときの1処理単位あたりの平均の符号量が64ビット以下となるように、可変長符号化手段100と固定長符号化手段101とを切り替える。
【0027】
多重化手段103は、制御手段102によって選択された方の符号化手段で符号化された符号化信号と、どちらの符号化手段で符号化されたかを示す識別子とを多重化する。
符号量伝達経路104は、可変長符号化手段100で1処理単位あたりの入力信号を符号化した際の符号量を制御手段102に伝達する経路である。
【0028】
可変長符号伝送経路105は、可変長符号化手段100で符号化された符号化信号を多重化手段103に伝送する経路である。
固定長符号伝送経路106は、固定長符号化手段101で符号化された符号化信号を多重化手段103に伝送する経路である。
【0029】
選択識別子伝達経路107は、制御手段102が、可変長符号化手段100と固定長符号化手段101のどちらを選択したかを示す経路である。
以上のように構成された符号化装置の動作について以下説明する。
【0030】
まず、先にも述べたように、本実施の形態1では、1処理単位の入力信号は、変域が−1から+1までの信号を20個まとめたものであるとする。このような1処理単位の入力信号は、制御手段102による選択にしたがって、可変長符号化手段100か固定長符号化手段101かによって符号化されるが、最初の時点では、制御手段102は、可変長符号化手段100を選択しているのもとする。そこで、可変長符号化手段100において1処理単位の入力信号が符号化される。ここで該1処理単位の入力信号のそれぞれ1つ1つの信号は、図3に示したハフマンコードブックによって、量子化され符号化される。すなわち、−1から+1までの変域をとるそれぞれの信号は、図3の左の列に示された量子化閾値を比較され、いずれの閾値内に入るかが検出され、その閾値ごとに割り当てられた量子化値(中央の列)に対応するハフマン符号(右の列)によって符号化される。例えば、入力値が、+0.12であれば、量子化値「8」のところであるので、ハフマン符号00として符号化される。この場合符号量は2ビットということになる。このようにして、20個の入力の値が、ハフマン符号化され、符号量が算出される。このようにして符号化された信号は、可変長符号伝送経路105によって多重化手段103に送られ、さらに、現時点で選択されている符号化手段を識別する識別子は、制御手段102から選択識別子伝達経路107によって多重化手段103に送られる。多重化手段103では、そのようにして送られてきた符号化信号と、選択識別子とを多重化し出力の符号化信号を生成する。
【0031】
一方、可変長符号化手段100で算出された符号量は、符号量伝達経路104によって、制御装置102に伝達される。
このような処理を1処理単位ごとの入力信号に対して行うが、制御手段102がどのようにしていずれの符号化手段を選択するかを以下説明する。
【0032】
図2は、1処理単位ごとの入力信号に対する符号量の遷移を示したものである。図2の横軸は時間方向であり、縦軸は各入力の処理単位ごとの符号量を示している。図の中に曲線が示されているが、それが1処理単位ごとの符号量の遷移を示しており、その遷移に概ね沿うように示されている点線が、ターゲットの符号量を示しているものとする。
【0033】
さて、処理の開始時刻近辺(区間1)では、平均的に、符号量が、ターゲットの符号量に沿っているので、制御手段102は、可変長符号化手段100によって符号化するように制御する。ここで制御手段102は、符号量がターゲットの符号量に沿っているかどうかを判断するが、それは、逐次、制御手段102が、各処理単位ごとの符号量を取得しているので、容易に判断できる。例えば、過去のN(Nは自然数。)処理単位間の符号量の総和をもとめ、それをターゲットとする符号量の総和と比較し、その差が、予め定められている所定の閾値より大きいか、小さいかによって、概ね平均の符号量がターゲットの符号量に沿っているか否かが判断できる。
【0034】
もし、ここで、区間2のような状況に陥った場合、すなわち、各処理単位内の含まれている信号の値が、−1や+1の近傍であるケースが多くなったような場合、ハフマン符号長の長い信号が多く発生するので、ターゲットの符号量をこえることになり、しかもそういう期間が長く続くと、区間2のように、平均の符号量がターゲットの符号量からかけ離れていく。このような事態を制御手段102が検出したら、制御手段102は、固定長符号化手段101を選択するように制御する。
【0035】
固定長符号化手段101は、図4に示すように、入力の−1から+1までの変域をとる信号を、8値の量子化値に量子化し、その量子化値を3ビットの固定長で符号化する。この場合、1つ1つの量子化値が必ず3ビットで量子化されるので、1処理単位ごとには、3ビットX20個で、60ビットで符号化されることになる。本実施の形態では、ターゲットの符号量を64ビットとしているので、このように固定長符号化手段101を暫くの間使っていれば、必ず平均ビットレートをターゲットビットレートのところまで戻すことができる。
【0036】
このようにして固定長符号化手段101で符号化された符号化信号は、固定長符号伝達経路106を経由して、多重化手段103に送られる。さらに、選択されている符号化手段を識別する識別子も、制御手段102から選択識別子伝達経路107によって多重化手段103に送られる。多重化手段103では、そのようにして送られてきた符号化信号と、選択識別子とを多重化し出力の符号化信号を生成する。
ここで、固定長符号化手段101が用いられているときは、1処理単位当りの符号量が固定であるので、可変長符号化手段100から発信される符号量にあたる信号を、固定長符号化手段101からは発信する必要はない。
【0037】
このような区間3を経過した後、平均の符号量がターゲットの符号量に戻った場合、制御手段102は、再び可変長符号化手段100を用いるように制御する。
上記のように処理することによって、通常想定される入力信号の場合は(言い換えると、短いハフマン符号が用いられる頻度が多い場合は)、可変長符号化手段を用いて、16値で精度よく量子化でき、しかも符号化効率もよくできる。さらに、通常想定されないような入力信号が長く続いた場合は(言い換えると、長いハフマン符号が用いられる頻度が多い場合は)、量子化の精度は悪くなるが(本実施の形態では8値になるが、)必ず、符号量が多くなりすぎた状態をもとの状態、すなわち、ターゲットの符号量の状態に戻すことができることなる。
【0038】
勿論、本実施の形態で用いた値は、説明の簡単化のために用いた値であって,実質的には、それぞれのアプリケーションに応じて適切な値を設定することになることはいうまでもない。
【0039】
また、本実施の形態では、可変長符号化手段は、1つのハフマンコードブックによって可変長符号化していたが、複数のハフマンコードブックを適応的に切り替えるようなものであってもよい。つまり、本発明では、可変長符号化手段の実施の仕方については何も限定するものではなく、当該可変長符号化手段において、大きな符号量が発生し、ターゲットの符号量を上回った場合、ターゲットの符号量より符号量が少ないことが予め確定している固定長符号化手段を用いて、平均の符号量をターゲットの符号量にもどすことが、本願発明の趣旨である。
【0040】
さて、上記の実施の形態において、更に第2の固定長符号化手段を設けることによって、符号化の効率を高めることができる。以下この発明について説明する。
図5は、第2の固定長符号化手段を設けた実施の形態を示す図である。図5の構成要素において、500から507までのものは、図1における100から107までのものと同じである。図1の構成と異なるのは、第2の固定長符号化手段508を設けた点と、第2の固定長符号化手段508で符号化した符号化信号を多重化手段503に伝送する第2の固定長符号伝送経路509を設けた点である。
【0041】
さて、第2の固定長符号化手段508は、図6に示すテーブルに沿って、1処理単位ごとの入力信号を量子化し符号化する。すなわち、入力の−1から+1までの変域をとる信号を、16値の量子化値に量子化し、その量子化値を4ビットの固定長で符号化する。この場合、1つ1つの量子化値が必ず4ビットで量子化されるので、1処理単位ごとには、4ビットX20個で、80ビットで符号化されることになる。以下、どのような場合この第2の固定長符号化手段508を用いるかを説明する。
【0042】
本実施の形態では、可変長符号化手段は、図3に示したテーブルに沿って、入力の信号をハフマン符号化した。このテーブルは、本実施の形態における入力の信号が、±0近傍である頻度が高いという性質を活かして、±0近傍の信号に対し短い符号を割り当て、そうでない信号に対して長い符号を割り当てているので、入力の信号が、±0近傍である場合、符号長は短くなるが、そうでない場合はむしろ、ハフマン符号を用いない場合の方が符号量が小さくなる。ハフマン符号を用いる方が有利か用いない方が有利かの境目は、図3に示したテーブルに沿ったハフマン符号化によって、1処理単位あたりの符号量が(20個の信号値に対するハフマン符号長の総和が)、80ビットを超えるか超えないか、というところにある。なぜならば、図3に示したテーブルは、入力の信号を16値に量子化しそのそれぞれの量子化値に対してハフマン符号を割り当てている。一方16値の信号は、図6に示すように4ビットで符号化できるので、20個の信号値は80ビットで必ず符号化できることになる。したがって、1処理単位ごとのハフマン符号による符号量が、80ビットを超えた場合、ハフマン符号を用いるメリットはないので、第2の固定長符号化手段を用いる。
【0043】
整理すると、以下のようである。
(1)各処理単位ごとに、可変長符号化手段500での符号量をもとめ、その符号量が80ビットを超えていたら、第2の固定長符号化手段508を用いる。
【0044】
(2)過去のいくつかの処理単位における平均的な符号量が、ターゲットの符号量に対して一定以上超えていたら、固定長符号化手段501を用いる。
【0045】
(3) 過去のいくつかの処理単位における平均的な符号量が、ターゲットの符号量に対して一定以上超えていなかったら、基本的に可変長符号化手段500を用いるが、(1)のケースでは、第2の固定長符号化手段508を用いる。
【0046】
このとき、どの符号化手段が用いられたかを示す識別子も、生成される符号化信号に多重化されることは言うまでもない。この情報がないと復号化処理で、どのような復号処理をするか判定できない為である。
【0047】
さて、ここで、図6に示した第2の固定長符号化手段では、量子化のレベルが16値であったので、各1つ1つの信号に対して4ビットで符号化したが、量子化のレベルが11値や、22値、あるいは、5値や3値であった場合、必ずしも1つ1つの信号に対して符号化する必要はなく、L個まとめて符号化することによって符号化効率を高めてもよい。例えば、11値の信号は、2個まとめると121値の信号になるので、これを7ビットで符号化すれば、1個当り3.5ビットということになる。或いは、22値の信号は、2個まとめると484値の信号になるので、これを9ビットで符号化すれば、1個当り4.5ビットということになる。或いは、5値の信号は、3個まとめると125値の信号になるので、これを7ビットで符号化すれば、1個当り2.333ビットということになる。或いは、3値の信号は、3個まとめると27値の信号になるので、これを5ビットで符号化すれば、1個当り1.666ビットということになる。
【0048】
要するに本願の趣旨は、可変長符号化手段がA(Aは自然数。)値の量子化レベルを扱うものであるとき、当該A値の信号を固定長符号化する第2の固定長符号化手段を備えるというのであって、固定長符号化の方法はどのようなものであってもよい。
【0049】
以上のような構成によって、通常想定される入力信号の場合は(言い換えると、短いハフマン符号が用いられる頻度が多い場合は)、可変長符号化を用いて、16値で精度よく量子化でき、しかも符号化効率もよくできる。さらに、通常想定されないような入力信号が長く続いた場合は(言い換えると、長いハフマン符号が用いられる頻度が多い場合は)、量子化の精度は悪くなるが(本実施の形態では8値になるが、)必ず、符号量が多くなりすぎた状態をもとの状態、すなわち、ターゲットの符号量の状態に戻すことができる。さらに、1処理単位ごとに見たとき、ハフマン符号がむしろ効率的でないとき、当該ハフマン符号が提供する量子化精度(本実施の形態では16値)と同じ量子化精度の第2の固定長符号化手段で符号化効率を高めることができることとなる。
【産業上の利用可能性】
【0050】
本発明にかかる符号化装置は、非常に小さい符号量で入力のデジタル信号を圧縮符号化する符号化装置に関する。特に、ハフマン符号などの可変長符号化手段を内蔵したオーディオコーデックを用いた機器において、符号化効率と符号量の制御を適切に行えるので、音楽放送サービスや音楽配信サービス、及びその受信機器、音楽の蓄積機器などに応用できる。
【図面の簡単な説明】
【0051】
【図1】本実施の形態1における符号化装置の構成を示す図である。
【図2】符号量の遷移を示す図である。
【図3】可変長符号化手段におけるハフマンコードブックを示す図である。
【図4】固定長符号化手段における符号化テーブルを示す図である。
【図5】本実施の形態1における更に改良した符号化装置の構成を示す図である。
【図6】第2の固定長符号化手段における符号化テーブルを示す図である。
【図7】従来の技術で課題が生じるケースの符号量の遷移を示す図である。
【図8】32値の量子化精度を備えたハフマンコードブックを示す図である。
【図9】22値の量子化精度を備えたハフマンコードブックを示す図である。
【図10】16値の量子化精度を備えたハフマンコードブックを示す図である。
【図11】11値の量子化精度を備えたハフマンコードブックを示す図である。
【符号の説明】
【0052】
100、500 可変長符号化手段
101、501 固定長符号化手段
102、502 制御手段
103、503 多重化手段
104、504 符号量伝達経路
105、505 可変長符号伝送経路
106、506 固定長符号伝送経路
107、507 選択識別子伝達経路
508 第2の固定長符号化手段
509 第2の固定長符号伝送経路
【技術分野】
【0001】
本発明は、非常に小さい符号量で入力のデジタル信号を圧縮符号化する符号化装置に関する。特に、ハフマン符号などの可変長符号化手段を内蔵した符号化装置に関する。
【背景技術】
【0002】
近年、Spatial Codec(空間的符号化)といわれる技術開発が行われている。これは、非常に少ない符号量でマルチチャネルの臨場感を圧縮・符号化することを目的としており、例えば、既にデジタルテレビの音声方式として広く用いられているマルチチャネルコーデックが、5.1ch当り512kbpsや、384kbpsという符号量を要するのに対し、Spatial Codecでは、128kbpsや、64kbps、さらに48kbpsといった非常に少ない符号量でマルチチャネル信号を圧縮・符号化することを目指している。例えば、目下MPEGオーディオ規格化活動で議論が進められているSpatial Codecの技術では、5.1chの信号を2chあるいは、1chにダウンミックスした信号を所定の符号量で符号化し、残りの例えば32kbps程度の符号量で、ダウンミックスされた2chの信号を元の5.1chの信号に戻すための情報が圧縮符号化される。このような低い符号量で情報を圧縮符号化するためには、従来ハフマン符号などの可変長符号化技術が用いられる。従来、この技術を巧みに利用したオーディオ圧縮技術として、MPEG規格AAC方式がある(例えば、非特許文献1参照。)。
【非特許文献1】ISO/IEC 13818−7:2003 ”Information technology −− Generic coding of moving pictures and associated audio information −− Part 7: Advanced Audio Coding (AAC)”
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、AAC方式で用いられている圧縮符号化方式には、下記のような課題がある。
AAC方式では、色々な圧縮レートに対応する為に、複数のハフマンコードブックが用意されている。例えば、ISO/IEC 13818−7のTableA.12 Spectrum Huffman Codebook 11は、289値で量子化された値をハフマン符号化するためのハフマンコードブックである。また、TableA.8 Spectrum Huffman Codebook 7は、64値で量子化された値をハフマン符号化するためのハフマンコードブックである。すなわち、量子化精度を細かくしたい、言い換えると符号量が多くてよい場合は、前記Spectrum Huffman Codebook 11を用い、逆に符号量を少なくしたい場合は、前記Spectrum Huffman Codebook 7を用いる、というようなことでできるように、AAC方式では工夫されている。このことを、図7を用いで、さらに説明する。
【0004】
図7は、入力信号に対して、各処理単位ごとに、どのように符号量が変動するかを示した図である。横軸は時間であり、縦軸は1処理単位ごとの符号量である。
図7には、2本の波線が描かれているが、上側の波線は、AAC方式で、入力信号を圧縮符号化した際の、各処理単位ごとの符号量の変動の一例を示している。また、その波線と概ね重なり合っている太い破線は、この符号化モードが対象としているターゲットの符号量を示している。
【0005】
さて、原理的にハフマン符号は、入力信号に応じて圧縮符号化の符号量が変動するが、通常は、図7の区間Aのように、各処理単位ごとの符号量は、ターゲットの符号量の近傍で変動する。しかしながらここで、不可避の課題として、ハフマン符号における符号長の長い符号ばかりを用いるような、好ましくない(期待しない)入力信号が長く続いた場合、区間Bのように、ターゲット符号量よりも大きい符号量の状態が続いてしまう。
【0006】
このような場合、量子化精度を粗く符号化するようなハフマンコードブックを用いるように制御することによって、区間Cのように、ターゲット符号量よりも低い符号量の区間が続くように制御することができる。つまり、前記のハフマンコードブックの例でいえば、区間A,区間Bは、Spectrum Huffman Codebook 11を使っているような区間であり、区間CはSpectrum Huffman Codebook 7を使っているような区間である、ということになる。このようにして平均的な符号量をターゲット符号量にあわせることができる。
【0007】
ところが、Spatial Codecが対象とするような非常に少ない符号量をターゲットの符号量とするような場合、下記のような課題がある。図7に2本描かれている波線の中の下側の波線が、この課題を説明する波線である。この波線における区間Dと区間Eは、非常に少ない符号量を対象とするハフマンコードブックを用いて入力信号を圧縮符号化した際の各処理単位ごとの符号量の変動を示している。各処理単位の符号量は、通常は、区間Dに示すように、ターゲットの符号量の近傍で変動し、従って平均符号量としてターゲットの符号量を実現することができる。ところが、前述と同様の理由で、ハフマン符号における符号長の長い符号ばかりを用いるような、好ましくない(期待しない)入力信号が長く続いた場合、区間Eのように、ターゲット符号量よりも大きい符号量の状態が続いてしまう。このような場合、符号量をさらに低くするための別のハフマンコードブックを用いることが従来の解決手段であったが、この場合以下の理由で、それは困難である。
【0008】
図7における区間F、区間Gは、区間D、区間Eで用いていたハフマンコードブックよりも更に低い符号量の為のフマンコードブックを用いている区間である。ここで区間Fは、この更に低い符号量の為のフマンコードブックを用いることによって、平均的に符号量が下がっている区間であるが、このハフマンコードブックを用いていても、区間Gのように、好ましくない(期待しない)入力信号が長く続いた場合、各処理単位ごとの符号量は高いところで推移する。しかもこの場合、元々のターゲット符号量がそもそも非常に低いので、上記、発生し得る好ましくない状態が続く場合、ターゲット符号量を超えてしまうことになる。
【0009】
具体的にハフマンコードブックの例を示しながら、このことを更に説明する。図8は、32値で量子化された信号をそれぞれの値の発生頻度に応じて可変長に符号化するためのハフマンコードブックの一例である。例えば、入力の信号が、−1から+1までの変域をとる値としたとき、これを32個レベルに分割した量子化閾値で量子化する、すなわち32値で量子化し、それぞれの値が採り得る頻度の偏りに応じ、可変長の符号を割り当てる。すなわち、発生頻度の高い値には短い符号を与え、発生頻度の低い値には短い符号を与えている。図8はそのようにして構成されたハフマンコードブックの一例である。
【0010】
同様に図9は、22値での量子化用、同様に図10は、16値での量子化用、同様に図11は、11値での量子化用、である。
さて、図7の区間Dは、図8に示したハフマンコードブックを用いて、入力の信号を32値で量子化し、ハフマン符号化によって、圧縮符号化している区間であるとする。可変長符号の性質上、符号量は各処理単位毎に変動するが、通常は、概ねターゲットの符号量の近傍で推移する。
【0011】
ところが、入力の信号が、図8に示すハフマンコードブックの両端に近い値を取りつづけると、その近傍のハフマン符号は符号長が長いので、ターゲットの符号量を大きく超える区間が発生する。図7の区間Eがそういう場合を示している。
【0012】
さて、そのような場合、入力の信号を32値で量子化するのではなく、符号量削減のために、22値で量子化するようにする。つまり、図9に示したハフマンコードブックで圧縮符号化する。そのようにすることで、平均的には符号量が下がるが(区間F)、図9から明らかなように、やはり依然として、ハフマンコードブックの両端に近い値を取りつづけると、その近傍のハフマン符号は符号長が長いので、ターゲットの符号量を超える区間が発生する。これが区間Gである。
【0013】
そのような場合、さらに符号量削減のために、入力の信号を22値で量子化するのではなく、16値で量子化するようにしても、つまり、図10に示したハフマンコードブックで圧縮符号化するようにしても、図10から明らかなように、やはり依然として、ハフマンコードブックの両端に近い値を取りつづけると、その近傍のハフマン符号は符号長が長いので、ターゲットの符号量を超える。11値の量子化にしても、図11に示すように同様である。
【0014】
このように、ターゲットの符号量が非常に低い場合は、ハフマン符号を用いている限りにおいて、好ましくない(期待しない)入力が続いた場合、平均符号量をターゲット符号量に制御することができない。
【0015】
本発明は、このような従来の問題点に鑑みてなされたものであって、通常の状態では、ハフマン符号を用いた高能率な圧縮を行い、ハフマン符号が、目的の符号量を達成しない場合、圧縮方法を切り替えて、必ず目的の符号量を達成できるようにすることができる符号化装置を提供することを目的とする。
【課題を解決するための手段】
【0016】
前記課題を解決するために、本願請求項1記載の符号化装置は、各処理単位毎の平均の符号量がM(Mは自然数。)以下となるような符号化装置であって、1処理単位あたりの符号量が入力信号に応じて可変となる可変長符号化手段と、1処理単位あたりの符号量が入力信号に拠らず固定である固定長符号化手段とを備え、前記固定長符号化手段における1処理単位あたりの符号量は前記Mより小さいことを特徴とするものである。
【0017】
本願請求項2記載の符号化装置は、請求項1記載の符号化装置において、各処理単位毎の平均の符号量がM以下となるように、前記可変長符号化手段と前記固定長符号化手段とを切り替える制御手段を有し、前記制御手段は、過去のN(Nは自然数。)処理単位あたりの符号量が、所定の符号量を超えた場合、前記固定長符号化手段で入力信号を符号化するように制御することを特徴とするものである。
【0018】
本願請求項3記載の符号化装置は、各処理単位毎の平均の符号量がM(Mは自然数。)以下となるような符号化装置であって、1処理単位あたりの符号量が入力信号に応じて可変となる可変長符号化手段と、1処理単位あたりの符号量が入力信号に拠らず固定である第1の固定長符号化手段と、1処理単位あたりの符号量が前記第1の固定長符号化手段より大きい第2の固定長符号化手段とを有し、前記可変長符号化手段は、A(Aは自然数。)値で量子化された値を、各値の発生頻度に応じて定められたハフマン符号によって符号化する符号化手段であり、前記第1の固定長符号化手段における1処理単位あたりの符号量は前記Mより小さく、前記第2の固定長符号化手段における1処理単位あたりの符号量は、A値で量子化された値を固定長符号で符号化する手段を含んでいることを特徴とするものである。
【0019】
本願請求項4記載の符号化装置は、請求項3記載の符号化装置において、各処理単位毎の平均符号量がM以下となるように、前記可変長符号化手段と前記第1の固定長符号化手段と前記第2の固定長符号化手段とを切り替える制御手段をさらに有し、前記制御手段は、過去のN処理単位あたりの符号量が、所定の符号量を超えた場合、前記第1の固定長符号化手段で入力信号を符号化するように制御し、かつ、各処理単位毎に、前記可変長符号化手段で符号化した際の符号量が前記第2の固定長符号化手段で入力信号を符号化した際の符号量より大きい時は、当該処理単位は、前記第2の固定長符号化手段で入力信号を符号化するように制御することを特徴とするものである。
【発明の効果】
【0020】
請求項1の発明によれば、可変長符号化手段では、符号量をターゲットの符号量以下に制御することが困難な場合でも、符号量がターゲットの符号量より小さい固定長符号化手段を有しているので、符号量をターゲットの符号量以下に必ず制御することができる。
【0021】
請求項2の発明によれば、可変長符号化手段における符号量が、一定量以上ターゲットの符号量より大きくなった場合に限り、固定長符号化手段(量子化精度は可変長符号化手段より劣る)を用いるようにするので、固定長符号化による量子化精度の劣化を少なく留めることができる。
【0022】
請求項3の発明によれば、可変長符号化手段では、符号量をターゲットの符号量以下に制御することが困難な場合でも、符号量がターゲットの符号量より小さい第1の固定長符号化手段を有しているので、符号量をターゲットの符号量以下に必ず制御することができる。また、量子化精度が可変長符号化手段と同じである第2の固定長符号化手段を有しているので、可変長符号化手段による符号化効率が悪い場合は、量子化精度を落とさずに符号化効率をあげることができる。
【0023】
請求項4の発明によれば、可変長符号化手段では、符号量をターゲットの符号量以下に制御することが困難な場合でも、符号量がターゲットの符号量より小さい第1の固定長符号化手段を有しているので、符号量をターゲットの符号量以下に必ず制御することができる。また、量子化精度が可変長符号化手段と同じである第2の固定長符号化手段を有しているので、可変長符号化手段による符号化効率が悪い場合は、量子化精度を落とさずに符号化効率をあげることができる。しかも、符号量が、一定量以上ターゲットの符号量より大きくなった場合に限り、第1の固定長符号化手段(量子化精度は可変長符号化手段より劣る)を用いるようにするので、固定長符号化による量子化精度の劣化を少なく留めることができる。
【発明を実施するための最良の形態】
【0024】
(実施の形態1)
以下本発明の実施の形態1における符号化装置について図面を参照しながら説明する。本実施の形態1における符号化装置は各処理単位毎の平均の符号量がM(Mは自然数。)以下となるような符号化装置である。具体的な値の一例として、変域が−1から+1までの信号20個を1処理単位の入力信号とし、1処理単位ごとの入力に対し、平均で64ビット(信号1つあたり3.2ビット)で符号化する符号化装置でとする。勿論この値は、説明を分かりやすくするための単なる例にすぎず、他の値であっても本願の趣旨を損ねないことは言うまでもない。
【0025】
図1は本実施の形態1における符号化装置の構成を示す図である。図1において、可変長符号化手段100は、1処理単位あたりの符号量が入力信号に応じて可変となる。
固定長符号化手段101は、1処理単位あたりの符号量が入力信号に拠らず固定である。
【0026】
制御手段102は、複数の処理単位を符号化したときの1処理単位あたりの平均の符号量が64ビット以下となるように、可変長符号化手段100と固定長符号化手段101とを切り替える。
【0027】
多重化手段103は、制御手段102によって選択された方の符号化手段で符号化された符号化信号と、どちらの符号化手段で符号化されたかを示す識別子とを多重化する。
符号量伝達経路104は、可変長符号化手段100で1処理単位あたりの入力信号を符号化した際の符号量を制御手段102に伝達する経路である。
【0028】
可変長符号伝送経路105は、可変長符号化手段100で符号化された符号化信号を多重化手段103に伝送する経路である。
固定長符号伝送経路106は、固定長符号化手段101で符号化された符号化信号を多重化手段103に伝送する経路である。
【0029】
選択識別子伝達経路107は、制御手段102が、可変長符号化手段100と固定長符号化手段101のどちらを選択したかを示す経路である。
以上のように構成された符号化装置の動作について以下説明する。
【0030】
まず、先にも述べたように、本実施の形態1では、1処理単位の入力信号は、変域が−1から+1までの信号を20個まとめたものであるとする。このような1処理単位の入力信号は、制御手段102による選択にしたがって、可変長符号化手段100か固定長符号化手段101かによって符号化されるが、最初の時点では、制御手段102は、可変長符号化手段100を選択しているのもとする。そこで、可変長符号化手段100において1処理単位の入力信号が符号化される。ここで該1処理単位の入力信号のそれぞれ1つ1つの信号は、図3に示したハフマンコードブックによって、量子化され符号化される。すなわち、−1から+1までの変域をとるそれぞれの信号は、図3の左の列に示された量子化閾値を比較され、いずれの閾値内に入るかが検出され、その閾値ごとに割り当てられた量子化値(中央の列)に対応するハフマン符号(右の列)によって符号化される。例えば、入力値が、+0.12であれば、量子化値「8」のところであるので、ハフマン符号00として符号化される。この場合符号量は2ビットということになる。このようにして、20個の入力の値が、ハフマン符号化され、符号量が算出される。このようにして符号化された信号は、可変長符号伝送経路105によって多重化手段103に送られ、さらに、現時点で選択されている符号化手段を識別する識別子は、制御手段102から選択識別子伝達経路107によって多重化手段103に送られる。多重化手段103では、そのようにして送られてきた符号化信号と、選択識別子とを多重化し出力の符号化信号を生成する。
【0031】
一方、可変長符号化手段100で算出された符号量は、符号量伝達経路104によって、制御装置102に伝達される。
このような処理を1処理単位ごとの入力信号に対して行うが、制御手段102がどのようにしていずれの符号化手段を選択するかを以下説明する。
【0032】
図2は、1処理単位ごとの入力信号に対する符号量の遷移を示したものである。図2の横軸は時間方向であり、縦軸は各入力の処理単位ごとの符号量を示している。図の中に曲線が示されているが、それが1処理単位ごとの符号量の遷移を示しており、その遷移に概ね沿うように示されている点線が、ターゲットの符号量を示しているものとする。
【0033】
さて、処理の開始時刻近辺(区間1)では、平均的に、符号量が、ターゲットの符号量に沿っているので、制御手段102は、可変長符号化手段100によって符号化するように制御する。ここで制御手段102は、符号量がターゲットの符号量に沿っているかどうかを判断するが、それは、逐次、制御手段102が、各処理単位ごとの符号量を取得しているので、容易に判断できる。例えば、過去のN(Nは自然数。)処理単位間の符号量の総和をもとめ、それをターゲットとする符号量の総和と比較し、その差が、予め定められている所定の閾値より大きいか、小さいかによって、概ね平均の符号量がターゲットの符号量に沿っているか否かが判断できる。
【0034】
もし、ここで、区間2のような状況に陥った場合、すなわち、各処理単位内の含まれている信号の値が、−1や+1の近傍であるケースが多くなったような場合、ハフマン符号長の長い信号が多く発生するので、ターゲットの符号量をこえることになり、しかもそういう期間が長く続くと、区間2のように、平均の符号量がターゲットの符号量からかけ離れていく。このような事態を制御手段102が検出したら、制御手段102は、固定長符号化手段101を選択するように制御する。
【0035】
固定長符号化手段101は、図4に示すように、入力の−1から+1までの変域をとる信号を、8値の量子化値に量子化し、その量子化値を3ビットの固定長で符号化する。この場合、1つ1つの量子化値が必ず3ビットで量子化されるので、1処理単位ごとには、3ビットX20個で、60ビットで符号化されることになる。本実施の形態では、ターゲットの符号量を64ビットとしているので、このように固定長符号化手段101を暫くの間使っていれば、必ず平均ビットレートをターゲットビットレートのところまで戻すことができる。
【0036】
このようにして固定長符号化手段101で符号化された符号化信号は、固定長符号伝達経路106を経由して、多重化手段103に送られる。さらに、選択されている符号化手段を識別する識別子も、制御手段102から選択識別子伝達経路107によって多重化手段103に送られる。多重化手段103では、そのようにして送られてきた符号化信号と、選択識別子とを多重化し出力の符号化信号を生成する。
ここで、固定長符号化手段101が用いられているときは、1処理単位当りの符号量が固定であるので、可変長符号化手段100から発信される符号量にあたる信号を、固定長符号化手段101からは発信する必要はない。
【0037】
このような区間3を経過した後、平均の符号量がターゲットの符号量に戻った場合、制御手段102は、再び可変長符号化手段100を用いるように制御する。
上記のように処理することによって、通常想定される入力信号の場合は(言い換えると、短いハフマン符号が用いられる頻度が多い場合は)、可変長符号化手段を用いて、16値で精度よく量子化でき、しかも符号化効率もよくできる。さらに、通常想定されないような入力信号が長く続いた場合は(言い換えると、長いハフマン符号が用いられる頻度が多い場合は)、量子化の精度は悪くなるが(本実施の形態では8値になるが、)必ず、符号量が多くなりすぎた状態をもとの状態、すなわち、ターゲットの符号量の状態に戻すことができることなる。
【0038】
勿論、本実施の形態で用いた値は、説明の簡単化のために用いた値であって,実質的には、それぞれのアプリケーションに応じて適切な値を設定することになることはいうまでもない。
【0039】
また、本実施の形態では、可変長符号化手段は、1つのハフマンコードブックによって可変長符号化していたが、複数のハフマンコードブックを適応的に切り替えるようなものであってもよい。つまり、本発明では、可変長符号化手段の実施の仕方については何も限定するものではなく、当該可変長符号化手段において、大きな符号量が発生し、ターゲットの符号量を上回った場合、ターゲットの符号量より符号量が少ないことが予め確定している固定長符号化手段を用いて、平均の符号量をターゲットの符号量にもどすことが、本願発明の趣旨である。
【0040】
さて、上記の実施の形態において、更に第2の固定長符号化手段を設けることによって、符号化の効率を高めることができる。以下この発明について説明する。
図5は、第2の固定長符号化手段を設けた実施の形態を示す図である。図5の構成要素において、500から507までのものは、図1における100から107までのものと同じである。図1の構成と異なるのは、第2の固定長符号化手段508を設けた点と、第2の固定長符号化手段508で符号化した符号化信号を多重化手段503に伝送する第2の固定長符号伝送経路509を設けた点である。
【0041】
さて、第2の固定長符号化手段508は、図6に示すテーブルに沿って、1処理単位ごとの入力信号を量子化し符号化する。すなわち、入力の−1から+1までの変域をとる信号を、16値の量子化値に量子化し、その量子化値を4ビットの固定長で符号化する。この場合、1つ1つの量子化値が必ず4ビットで量子化されるので、1処理単位ごとには、4ビットX20個で、80ビットで符号化されることになる。以下、どのような場合この第2の固定長符号化手段508を用いるかを説明する。
【0042】
本実施の形態では、可変長符号化手段は、図3に示したテーブルに沿って、入力の信号をハフマン符号化した。このテーブルは、本実施の形態における入力の信号が、±0近傍である頻度が高いという性質を活かして、±0近傍の信号に対し短い符号を割り当て、そうでない信号に対して長い符号を割り当てているので、入力の信号が、±0近傍である場合、符号長は短くなるが、そうでない場合はむしろ、ハフマン符号を用いない場合の方が符号量が小さくなる。ハフマン符号を用いる方が有利か用いない方が有利かの境目は、図3に示したテーブルに沿ったハフマン符号化によって、1処理単位あたりの符号量が(20個の信号値に対するハフマン符号長の総和が)、80ビットを超えるか超えないか、というところにある。なぜならば、図3に示したテーブルは、入力の信号を16値に量子化しそのそれぞれの量子化値に対してハフマン符号を割り当てている。一方16値の信号は、図6に示すように4ビットで符号化できるので、20個の信号値は80ビットで必ず符号化できることになる。したがって、1処理単位ごとのハフマン符号による符号量が、80ビットを超えた場合、ハフマン符号を用いるメリットはないので、第2の固定長符号化手段を用いる。
【0043】
整理すると、以下のようである。
(1)各処理単位ごとに、可変長符号化手段500での符号量をもとめ、その符号量が80ビットを超えていたら、第2の固定長符号化手段508を用いる。
【0044】
(2)過去のいくつかの処理単位における平均的な符号量が、ターゲットの符号量に対して一定以上超えていたら、固定長符号化手段501を用いる。
【0045】
(3) 過去のいくつかの処理単位における平均的な符号量が、ターゲットの符号量に対して一定以上超えていなかったら、基本的に可変長符号化手段500を用いるが、(1)のケースでは、第2の固定長符号化手段508を用いる。
【0046】
このとき、どの符号化手段が用いられたかを示す識別子も、生成される符号化信号に多重化されることは言うまでもない。この情報がないと復号化処理で、どのような復号処理をするか判定できない為である。
【0047】
さて、ここで、図6に示した第2の固定長符号化手段では、量子化のレベルが16値であったので、各1つ1つの信号に対して4ビットで符号化したが、量子化のレベルが11値や、22値、あるいは、5値や3値であった場合、必ずしも1つ1つの信号に対して符号化する必要はなく、L個まとめて符号化することによって符号化効率を高めてもよい。例えば、11値の信号は、2個まとめると121値の信号になるので、これを7ビットで符号化すれば、1個当り3.5ビットということになる。或いは、22値の信号は、2個まとめると484値の信号になるので、これを9ビットで符号化すれば、1個当り4.5ビットということになる。或いは、5値の信号は、3個まとめると125値の信号になるので、これを7ビットで符号化すれば、1個当り2.333ビットということになる。或いは、3値の信号は、3個まとめると27値の信号になるので、これを5ビットで符号化すれば、1個当り1.666ビットということになる。
【0048】
要するに本願の趣旨は、可変長符号化手段がA(Aは自然数。)値の量子化レベルを扱うものであるとき、当該A値の信号を固定長符号化する第2の固定長符号化手段を備えるというのであって、固定長符号化の方法はどのようなものであってもよい。
【0049】
以上のような構成によって、通常想定される入力信号の場合は(言い換えると、短いハフマン符号が用いられる頻度が多い場合は)、可変長符号化を用いて、16値で精度よく量子化でき、しかも符号化効率もよくできる。さらに、通常想定されないような入力信号が長く続いた場合は(言い換えると、長いハフマン符号が用いられる頻度が多い場合は)、量子化の精度は悪くなるが(本実施の形態では8値になるが、)必ず、符号量が多くなりすぎた状態をもとの状態、すなわち、ターゲットの符号量の状態に戻すことができる。さらに、1処理単位ごとに見たとき、ハフマン符号がむしろ効率的でないとき、当該ハフマン符号が提供する量子化精度(本実施の形態では16値)と同じ量子化精度の第2の固定長符号化手段で符号化効率を高めることができることとなる。
【産業上の利用可能性】
【0050】
本発明にかかる符号化装置は、非常に小さい符号量で入力のデジタル信号を圧縮符号化する符号化装置に関する。特に、ハフマン符号などの可変長符号化手段を内蔵したオーディオコーデックを用いた機器において、符号化効率と符号量の制御を適切に行えるので、音楽放送サービスや音楽配信サービス、及びその受信機器、音楽の蓄積機器などに応用できる。
【図面の簡単な説明】
【0051】
【図1】本実施の形態1における符号化装置の構成を示す図である。
【図2】符号量の遷移を示す図である。
【図3】可変長符号化手段におけるハフマンコードブックを示す図である。
【図4】固定長符号化手段における符号化テーブルを示す図である。
【図5】本実施の形態1における更に改良した符号化装置の構成を示す図である。
【図6】第2の固定長符号化手段における符号化テーブルを示す図である。
【図7】従来の技術で課題が生じるケースの符号量の遷移を示す図である。
【図8】32値の量子化精度を備えたハフマンコードブックを示す図である。
【図9】22値の量子化精度を備えたハフマンコードブックを示す図である。
【図10】16値の量子化精度を備えたハフマンコードブックを示す図である。
【図11】11値の量子化精度を備えたハフマンコードブックを示す図である。
【符号の説明】
【0052】
100、500 可変長符号化手段
101、501 固定長符号化手段
102、502 制御手段
103、503 多重化手段
104、504 符号量伝達経路
105、505 可変長符号伝送経路
106、506 固定長符号伝送経路
107、507 選択識別子伝達経路
508 第2の固定長符号化手段
509 第2の固定長符号伝送経路
【特許請求の範囲】
【請求項1】
各処理単位毎の平均の符号量がM(Mは自然数。)以下となるような符号化装置であって、
1処理単位あたりの符号量が入力信号に応じて可変となる可変長符号化手段と、
1処理単位あたりの符号量が入力信号に拠らず固定である固定長符号化手段と、
を備え、
前記固定長符号化手段における1処理単位あたりの符号量は前記Mより小さいことを特徴とする符号化装置。
【請求項2】
各処理単位毎の平均の符号量がM以下となるように、前記可変長符号化手段と前記固定長符号化手段とを切り替える制御手段を有し、
前記制御手段は、過去のN(Nは自然数。)処理単位あたりの符号量が、所定の符号量を超えた場合、前記固定長符号化手段で入力信号を符号化するように制御することを特徴とする請求項1記載の符号化装置。
【請求項3】
各処理単位毎の平均の符号量がM(Mは自然数。)以下となるような符号化装置であって、
1処理単位あたりの符号量が入力信号に応じて可変となる可変長符号化手段と、
1処理単位あたりの符号量が入力信号に拠らず固定である第1の固定長符号化手段と、
1処理単位あたりの符号量が前記第1の固定長符号化手段より大きい第2の固定長符号化手段と、を有し、
前記可変長符号化手段は、A(Aは自然数。)値で量子化された値を、各値の発生頻度に応じて定められたハフマン符号によって符号化する符号化手段であり、
前記第1の固定長符号化手段における1処理単位あたりの符号量は前記Mより小さく、
前記第2の固定長符号化手段における1処理単位あたりの符号量は、A値で量子化された値を固定長符号で符号化する手段を含んでいることを特徴とする符号化装置。
【請求項4】
各処理単位毎の平均符号量がM以下となるように、前記可変長符号化手段と前記第1の固定長符号化手段と前記第2の固定長符号化手段とを切り替える制御手段をさらに有し、
前記制御手段は、過去のN(Nは自然数。)処理単位あたりの符号量が、所定の符号量を超えた場合、前記第1の固定長符号化手段で入力信号を符号化するように制御し、かつ、各処理単位毎に、前記可変長符号化手段で符号化した際の符号量が前記第2の固定長符号化手段で入力信号を符号化した際の符号量より大きい時は、当該処理単位は、前記第2の固定長符号化手段で入力信号を符号化するように制御することを特徴とする請求項3記載の符号化装置。
【請求項1】
各処理単位毎の平均の符号量がM(Mは自然数。)以下となるような符号化装置であって、
1処理単位あたりの符号量が入力信号に応じて可変となる可変長符号化手段と、
1処理単位あたりの符号量が入力信号に拠らず固定である固定長符号化手段と、
を備え、
前記固定長符号化手段における1処理単位あたりの符号量は前記Mより小さいことを特徴とする符号化装置。
【請求項2】
各処理単位毎の平均の符号量がM以下となるように、前記可変長符号化手段と前記固定長符号化手段とを切り替える制御手段を有し、
前記制御手段は、過去のN(Nは自然数。)処理単位あたりの符号量が、所定の符号量を超えた場合、前記固定長符号化手段で入力信号を符号化するように制御することを特徴とする請求項1記載の符号化装置。
【請求項3】
各処理単位毎の平均の符号量がM(Mは自然数。)以下となるような符号化装置であって、
1処理単位あたりの符号量が入力信号に応じて可変となる可変長符号化手段と、
1処理単位あたりの符号量が入力信号に拠らず固定である第1の固定長符号化手段と、
1処理単位あたりの符号量が前記第1の固定長符号化手段より大きい第2の固定長符号化手段と、を有し、
前記可変長符号化手段は、A(Aは自然数。)値で量子化された値を、各値の発生頻度に応じて定められたハフマン符号によって符号化する符号化手段であり、
前記第1の固定長符号化手段における1処理単位あたりの符号量は前記Mより小さく、
前記第2の固定長符号化手段における1処理単位あたりの符号量は、A値で量子化された値を固定長符号で符号化する手段を含んでいることを特徴とする符号化装置。
【請求項4】
各処理単位毎の平均符号量がM以下となるように、前記可変長符号化手段と前記第1の固定長符号化手段と前記第2の固定長符号化手段とを切り替える制御手段をさらに有し、
前記制御手段は、過去のN(Nは自然数。)処理単位あたりの符号量が、所定の符号量を超えた場合、前記第1の固定長符号化手段で入力信号を符号化するように制御し、かつ、各処理単位毎に、前記可変長符号化手段で符号化した際の符号量が前記第2の固定長符号化手段で入力信号を符号化した際の符号量より大きい時は、当該処理単位は、前記第2の固定長符号化手段で入力信号を符号化するように制御することを特徴とする請求項3記載の符号化装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2006−65104(P2006−65104A)
【公開日】平成18年3月9日(2006.3.9)
【国際特許分類】
【出願番号】特願2004−248991(P2004−248991)
【出願日】平成16年8月27日(2004.8.27)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】
【公開日】平成18年3月9日(2006.3.9)
【国際特許分類】
【出願日】平成16年8月27日(2004.8.27)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】
[ Back to top ]