JP3995106B2 - 情報を処理する方法および手段 - Google Patents

情報を処理する方法および手段 Download PDF

Info

Publication number
JP3995106B2
JP3995106B2 JP52991598A JP52991598A JP3995106B2 JP 3995106 B2 JP3995106 B2 JP 3995106B2 JP 52991598 A JP52991598 A JP 52991598A JP 52991598 A JP52991598 A JP 52991598A JP 3995106 B2 JP3995106 B2 JP 3995106B2
Authority
JP
Japan
Prior art keywords
value
digits
encoding method
digit
binary
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 - Lifetime
Application number
JP52991598A
Other languages
English (en)
Other versions
JP2001507542A (ja
Inventor
スメーツ,ベルナルド,ヤン,マリー
アベルグ,ヤン
Original Assignee
テレフオンアクチーボラゲツト エル エム エリクソン(パブル)
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 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲツト エル エム エリクソン(パブル)
Publication of JP2001507542A publication Critical patent/JP2001507542A/ja
Application granted granted Critical
Publication of JP3995106B2 publication Critical patent/JP3995106B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Description

発明の技術分野
本発明は情報を符号化する方法並びに情報を復号する方法に関する。また、本発明は情報を符号化する装置並びに情報を復号する装置に関する。
関連技術の説明
情報の処理において、ある場合に、情報を担っているメッセージを変換してそのメッセージのシンボルを特定の目的に適合させるようにすることが望まれる。メッセージを変換する概念は、往々、符号化あるいは復号と呼ばれている。普通、情報を処理する電子装置は情報を記憶するメモリユニットとこのメモリユニットから取り出した後に前記情報を表示するディスプレイユニットとを共通に備えている。メモリユニットの記憶可能な情報量を最大化する目的のためおよび/またはメモリユニットのサイズを減少する目的のため、情報は圧縮された状態でメモリユニットに記憶されることができる。
米国特許第5,062,152号はある振幅範囲を有するアナログ信号を不均一確率密度で処理する方法に関連する。この方法はこのアナログ信号を複数の信号レベルの1つの中に入るものとして量子化すること、並びに量子化レベルの発生確率に従って2進コード語を量子化レベルに割り当てることを含んでいる。米国特許第5,062,152号に記載されている方法によれば、各コード語は8つの2進値ディジットを含むように予め決定されている。
米国特許第5,488,616号は符号化方法に関連する。米国特許第5,488,616号によれば、それぞれが一つの発生確率を有するシンボルが設けられる。第1の方法ステップは各シンボルの発生確率に従って各シンボルに可変長コード語を割り当てることである。このステップはハフマンコード化を用いる。その後、可変長コード語は第1のコードC32および第2のコードC34を与えるように2つの異なった態様でコード化される。最後のステップにおいて、コードC32、C34の一方または両方が可逆可変長コードを与えるように選択される。
概要
本発明が取り組む1つの問題点は不均一確率密度を有するエンティティからなるメッセージを符号化してそのメッセージを例えば無線リンクで伝送する時に最少の帯域幅と最少の電力で済むようにする方法を提供することである。
この問題点はメッセージを符号化する方法によって対処される。このメッセージはそれぞれが1つの発生確率を有する複数のエンティティを具備する。本発明の一実施例によれば、各エンティティは1つの文字であり、この方法は、
1つのメッセージを受けるステップと、
それぞれが複数の2進値ディジットを有するコード語(H)を受信文字(X)に割り当てることによって受信メッセージをコード化して2進コード化メッセージを発生するステップと、
を具備しており、前記コード語は前記文字の発生確率とコード語(H)内の第1の値(1)を有するビットの数とに実質的に従って文字(X)に割り当てられてより高い発生確率の文字にはより低い発生確率の文字に割り当てられるものよりも第1の値(1)を有するより少ないビットを持ったコード語が割り当てられるようにする。このコード化方法はコード化メッセージ内のビットの数を最小にするように2進コード化メッセージを発生することを付加的に含んでいる。
一実施例によれば、コード化メッセージ内のビットの数は、
履歴最大数の相互に異なった文字に基づいて数を決定することと、
相互に異なった文字の決定された数に応じてコード語にとって好ましい語長を選択することと、
によって最小化される。
符号化されるべきメッセージが不均一確率密度を有するアナログ信号の形態である場合には、このアナログ信号の種々の量子化レベルは各エンティティが1つの発生確率を有するようなエンティティを構成する。本発明の一実施例によれば、この方法は、
複数の信号レベル範囲の1つの中にあるものとして信号を量子化すること、並びに
それぞれが複数の2進値ディジットを有するコード語を量子化レベルに割り当てることによって被量子化信号をコード化して2進コード化メッセージを発生すること、
を含んでおり、前記コード語は量子化レベルの発生確率と前記コード語内の第1の値(「1」)を有するビットの数とに従って量子化レベルに割り当てられてより高い発生確率の量子化レベルにはより低い発生確率の量子化レベルに割り当てられるものよりも第1の値(「1」)を有するより少ないビットを持ったコード語が割り当てられるようにする。このコード化方法はコード化メッセージ内のビットの数を最小とするように2進コード化メッセージを発生することを付加的に含んでいる。
一実施例によれば、コード化メッセージ内のビットの数は、
履歴最大振幅および選択された振幅分解能に基づいて量子化信号レベルの数を決定すること、並びに
量子化信号レベルの決定された数に応じてコード語にとって好ましい語長を選択すること、
によって最小化される。
本発明の他の実施例によれば、コード化メッセージのビット内の数はコード化メッセージを圧縮することによって最小化される。一実施例によれば、これはハフマンコード化に従って2進コード化メッセージを符号化することによって達成される。
好適実施例によれば、2進コード化メッセージは第1のビットストリームYとして解釈され、このビットストリームはある推定プロセスを受け、それによって第2のビットストリームEが発生される。この推定プロセスの結果第2のビットストリームE内の値0を有するビットの割合は第1のビットストリームYの場合よりも大きくなる。更に、第2のビットストリームEでのビットのシーケンスはメモリなしのベルヌーイソースの出力と類似する。値1を有するビットの数が極めて小さくかつ第2のビットストリームEでのビットのシーケンスがメモリなしのベルヌーイソースの出力に類似しているため、ハフマンコード化の成功の条件は第2のビットストリームEにおいて最適にされる。好適実施例によれば、第2のビットストリームEはハフマンコード化に従って符号化される。
この方法はメッセージの情報内容を伝送するために必要なビットの数を最小化し、それによって伝送時間並びに伝送のために必要な電力を最少化した状態で帯域幅要求を減少する長所を有している。
【図面の簡単な説明】
本発明の簡単な理解のため、それは一例として以下の添付図面に関連して説明される。
図1Aは人間の言語メッセージの文字とコードシンボルとの間の対応表を作成する方法を示すフローチャートである。
図1Bは変換表を表すものである。
図2は本発明の一実施例によるデータ圧縮の方法を示すフローチャートである。
図3Aは本発明の一実施例による1組の有限状態マシンを示す。
図3Bおよび3Cは図2によるフローチャート内の1つのステップの詳細を示すフローチャートである。
図3Dは図3Aによる有限状態マシンと共に作用する変換表の例である。
図3Eはビットストリームの例である。
図4は本発明の一実施例によるデータ圧縮装置の第1の実施例の概略ブロック図を示す。
図5は図4によるデータ圧縮装置において使用する推定器の概略ブロック図である。
図6は図2に関連して説明される方法に従って圧縮されて記憶された情報を復元する手段を備えた携帯電子装置の概略ブロック図である。
図7は本発明の一実施例によるデータ復元装置を示す。
図8は本発明の1つの実施例による復号する方法を示すフローチャートである。
図9Aおよび9Bは図8によるフローチャートのステップの1つの詳細を示すフローチャートである。
図10はアナログ信号をコード化しかつ復号するユニットを含んだ通信システムの概略ブロック図である。
実施例の詳細な説明
人間の言語はある数の語(ワード)からなり、これら語のあるものは他のものよりもより頻繁に使用される。各語は文字の特定の組合せによって、時によってはただ1つの文字によって表され得る。これはある文字が任意の特定の言語において他のものよりもより頻繁に使用されることを意味する。移動電話機のような電子装置においては、ある数の所定のメッセージが記憶されており、そのそれぞれをある事象に応じて移動電話機のディスプレイユニットに表示させるようにしている。普通、これらのメッセージは読出し専用メモリに記憶されている。あるメッセージを表示するために、対応するデータがメモリから読み出され、各文字に対して対応するASCIIコードがディスプレイユニットに供給され、これはそれに対応して選択されたメッセージを構成するASCIIの組合せを表示する。
上で述べたように、ある文字は1つの特定の人間言語においてあるいは1つの特定の所定の組のメッセージにおいて他の文字よりもより高い相対頻度を有している。本発明は所定の言語で情報を表すために必要なビットの数を減少しおよび/または任意の言語で所定の組のメッセージを表すために必要なビットの数を減少する方法に関する。
変換表を作成する方法
図1Aは選ばれた組のメッセージ中の文字または選択された言語内の文字が選択された形式のメッセージの全ハミング重みを最小化するようにコードシンボルに変換されることができるようにする変換表を得る方法を示すフローチャートである。
1つのシンボルは1つあるいは複数の要素からなることができる。好適実施例によれば、各コードシンボルは2進ディジットの組合せである。
値1を有するディジットの数が最小化される時にはハミング重みが最小化される。全ての文字を対応するハミングシンボルに変換することによって、2つの目的が達成される。第1の目的はある重みを各文字に割り当てることである。下で説明されるように、より低いハミング重みはまたシンボルのより大きな圧縮性を与えることになり、これによりハミング重みとシンボルを記憶するために必要なメモリ空間との間につながりを与えることになる。第2に、下で説明する態様でのハミングシンボルへの変換はメッセージの2つの連続文字間の重み差を減少させる。換言すれば、第2のシンボルにおいて第1のシンボルに較べて異なっているディジット位置の数は減少される。
図1Aに関して、第1のステップS10は人間言語を選択することである。選択された人間言語は、例えば英語、フランス語、スウェーデン語、あるいはメッセージを構成するための文字を使用する任意の他の人間言語となることができる。変数が選択された言語の名称に割り当てられ、この言語識別変数は作成されるべき表を識別するためにセーブされる。
ステップS20において、完全な組のメッセージが受けられる。完全な組のメッセージ中の文字の数は例えば2500になることができる。本発明の一実施例によれば各文字は8ビットで構成される。
ステップS30において、相互に異なった文字の数がカウントされ、変数がカウント値に割り当てられる。典型的なアルファベットにおいて、相互に異なった文字の数は例えば64であってもよい。
ステップS40において、各文字の相対頻度が計算され、ステップS50において、これら文字は相対頻度が低下する順に分類される。換言すれば、最も共通に使用される文字はリストの最初に置かれ、最も頻度が小さい文字はリストの最後に置かれる。このようなリストの一例が図1Bに示されている。図1Bには複数のメモリ位置20を有するメモリユニット10が示されている。各メモリ位置は例えば8ビットからなってもよい。第1のメモリ位置は言語識別変数を設けており、これは、例えばリスト/表が英語の1組の言語メッセージで使用される文字からなることを識別する英字Eであってもよい。リストの第2のメモリ位置はこの特定のリストに記憶されている文字の数を表す。この例において、異なった文字の数は64である。第3のメモリ位置は最も高い相対頻度p1を有する文字のためのASCIIコードを含んでいる。この例において、最大頻度文字はHである。第4のメモリ位置には2番目に高い相対頻度p2を有する文字(この例ではG)が記憶されている。この態様で、64の異なった文字がリストに置かれ、その際に最も低い相対頻度p64を有する文字がリストの最後の位置に置かれる。
ステップS60において、0のみを有するシンボルが最も高い相対頻度p1を有する文字に割り当てられる。図1Bに示される例において、選択された組のメッセージが64の異なった文字だけを含み、従って第1の文字に割り当てられるべきシンボルは全てが0である6つのディジットからなるシンボルとなる。本発明によれば、増加するハミング重みのシンボル(本明細書では、ハミングシンボルという)のリストが作成される。ハミングシンボルは、最も高い相対頻度p1を有する文字が最も低いハミング重みを有するハミングシンボルを割り当てられるようにリスト内の文字に割り当てられる。最も低い相対頻度p64を有する文字にはどの他のハミングシンボルよりも低くないハミング重みを有するハミングシンボルが割り当てられる。しかしながら、第1のハミングシンボルが全てが0である6つのディジットを持つシンボルであるという知識を持ってすれば、重みが概して1重みステップ高い次のハミングシンボルを計算することは可能である。従って、本発明によれば、ハミングシンボルの完全なリストを実際に記憶する必要はない。そうしなくとも、ハミングシンボルにどの位多くのディジットが存在するかを識別すれば十分である。ハミングシンボル内の必要なデイジットの数は文字の数の知識を持てば計算可能であるため、0だけを含む第1のハミングシンボルから出発する引続くハミングシンボルを計算する所定の態様を持つことのみが必要である。
ステップS70において、対応表が作成され、この表は下で説明するように記憶のためのメモリユニットに供給される。実際にはどのハミングシンボルも記憶される必要はないため、対応表はリストの名称を表す変数、リスト内の文字の数を表す数字および減少する相対頻度順の文字を含むことのみ必要である。この最少量の情報を使用すれば、各文字に割り当てられるべき各ハミングシンボルの値を計算することが可能となり、これは対応表を作成するために必要な唯一の情報である。従って、文字のリストおよび制御語(文字の数を表す数字)を記憶することのみ必要であるため、対応表のためには極めて少量のメモリ空間で済むことになる。
メッセージを変換する方法
図2はビットストリームが最小数のディジットを持つようにメッセージをビットストリームに変換する方法を示すフローチャートである。
この方法の実施例の第1のステップS100によれば、複数の文字XからなるメッセージMLはビットストリームYに変換される。これはメッセージMLを受け(ステップS110)、図1Bおよび1Aに関連して上で説明したような表を用いて各文字Xを対応するシンボルHに変換することによって達成される。ステップS120によれば、メッセージの連続する文字はシンボルHのストリームが与えられるようにシンボルに連続的に変換される。この方法の次のステップS130によれば、発生されたシンボルHはビットストリームとして供給される。
ステップS140によれば、ビットストリームYは受信ビットストリームを第2のビットストリームEに変換する推定器に与えられる。ステップS140の目的はステップS130によって作られたビットストリームに応じて殆ど0からなる第2のビットストリームEを与えることである。ステップS140の他の目的は独立的にかつ恒等的に分散される確率変数に可及的に近接するディジットの第2のビットストリームEを与えることである。ステップ140は図3に関連して下でより詳細に説明される。
ステップS150によれば、ステップS140において作られた第2のビットストリームは圧縮アルゴリズムに従って圧縮される。本発明の一実施例によれば、使用される圧縮アルゴリズムはハフマンコード化である。ハフマンコード化についての詳細な情報のため、D.A.Huffman著「最少冗長コードの構築方法(A method for construction of minimum redundancy codes)」Proc.IRE,40:1098−1101,1952を参照されたい。
圧縮ステップS150は第2のビットストリームよりも少ないディジットを有する第3のビットストリームCを発生する。実際、上で説明したような方法は英語のメッセージMEを元の数のビットの僅か57.8%までに減少する。この数字は、英語の元のメッセージが2323バイトのサイズを必要とした場合に、セルラ電話用の完全な組の状態メッセージに対して達成された。0.578の圧縮率は文字を対応するハミングシンボルに変換するために使用される変換表を含んでいる。これは、変換表がメッセージを取り出すべき受信端末で利用可能であると想定してメッセージの実際の圧縮率が一層良好になることを意味する。
ステップS160によれば、ステップS150によって発生された第3のビットストリームはメモリ装置に記憶される。別態様として、ステップS150で与えられた第3のビットストリームはそれを他の電子装置に伝送するための出力に伝送される。
本発明によれば、有利な圧縮比が前記態様で達成される。従って、上の情報変換方法は、被変換メッセージが元のメッセージよりも実質的に少ないメモリ空間しか必要としないために、メッセージをメモリ装置に記憶する前にメッセージを圧縮ビットストリームに変換するのに適している。下の表において、11の異なった言語のテキストメッセージとメッセージを圧縮した時に達成される対応する圧縮率との例が与えられる。この圧縮比は圧縮メッセージのサイズと変換表のサイズの和を元の組のメッセージのサイズで割ったものとして計算される。
Figure 0003995106
上の例(表1参照)から明らかなように、圧縮比は元のメッセージにおいて使用された言語とはほぼ完全に独立している。
ステップS140は図3A、3Bおよび3Cに関連してより詳細に説明される。図3Bおよび3Cに関連して説明される方法は1組の有限状態マシンを使用するため、このような1組の有限状態マシンの一例が図3Aに示される。本発明の好適実施例に従ったステップS140による方法を実行する目的のため、k・2mの異なった状態を有する1組の有限状態マシンが使用される。
1つの好適実施例によれば、パラメータkおよびmは次のようにして、すなわちk=6およびm=10のように選択される。この好適実施例によりコード化されるべきメッセージにおいて通常使用されるアルファベットでは26を越える文字はないためにパラメータkは6に選ばれる。パラメータmは、「履歴」を与えるために十分に大きくかつ各状態において不完全な統計値に関連した統計値に関連した問題を回避する上で十分に小さく選択される。パラメータmの選択のための他の配慮は図5および3Cに関連して下に説明するようにカウント値Vを生じさせるカウンタ用のメモリの可用性に応じてそれを好ましい値に選択することである。
この方法の根底の原理を示す目的のため、3つの22の状態しか持たない1組の有限状態マシンが図3Aに示されている。このため、図3Aに示されるこの組の有限状態マシンはk=3およびm=2に基づいている。m=2は各状態が図3Aに示されるように2つのディジットによって定められることを意味している。図3Aのこの組の有限状態マシンはkが3に等しいため3つの異なった有限状態マシン110、120および130で構成される。図3Aに示される円のそれぞれは有限状態マシン110、120および130の組の状態を表し、また本発明によりカウント値Vはこの組の有限状態マシンの各状態において与えられる。この態様で、図3Aによる有限状態マシンの組は全体で12の異なったカウント値を有し、それらのそれぞれは下で説明する方法に従って個別に制御される。
以下の例において、図3Dに従って文字XおよびシンボルH間の対応表が定められるように1組のメッセージが図1Aに関連して説明した方法に従って解析されているものと想定する。理想的な場合では、文字Xは例えばASCIIコードで表され、文字のリストにはリストでの文字の数を指示する数が先行するであろうが、この例での簡略化のため対応表はアルファベット文字と3ディジットハミングコードとの間の直接対応表として示される。図3Dのリストは減少する相対頻度順の8つの文字と増大するハミング重み順の対応するハミングシンボルを示す。
図3Bに関して、ステップS200は図3Fに示されるビットストリームのようなシーケン(逐次的)スビットストリームY=y1,y2,y3,・・・ynの形態のメッセージを受ける方法ステップを示す。次のステップS210において、推定器は最初のmのディジットに対して入力ディジットyiに等しい出力ディジットeiを発生する。ステップS220において、値iはmに設定される。
次のステップS230において、有限状態マシンの数kが設定される。換言すれば、kの異なった有限状態マシンからなる1組の有限状態マシンが定められる。各有限状態マシンは2mの状態を有し、各状態にはカウント値Vがある。ステップS230において、有限状態マシンの組の全てのカウント値Vは0に設定される。
有限状態マシンはマシンM1、M2・・・Mj・・・Mkが存在するように順序付けられる。図3BのステップS240に関して、次の処理手順が有限状態マシンMj(ここで、j=(m mod k)+1である)から開始する。選択された有限状態マシンにおいて、最初に状態S=(y1,y2,・・・ym)が選択される。
この選択された状態において、値Vが読み出され(ステップ250)、その後(ステップ260)V>0どうかのチェックがある。V>0であれば、図3BのボックスS270によって指示されるように予測値pi+1が1に設定される。V<0であれば、図3BのボックスS280によって指示されるように予測値pi+1は0に設定される。
図3Bと図3Eを参照して、次の入力ディジットyi+1が読み出され(ステップS290)、出力値ei+1がyi+1とpi+1モジュロ2とを加算することによってステップS300によって計算される。このために、1+1モジュロ2は0に等しく、1+0モジュロ2は1に等しく、0+1モジュロ2は1に等しくなる。
次に、ステップS310において、ディジットyi+1のチェックがある。
i+1=1であれば、選択された有限状態マシンの選択された状態でのカウント値Vは図3Cのボックス320において示されるように1だけ増加され、すなわちV:=V+1となる。yi+1=0であれば、選択された有限状態マシンの選択された状態でのカウント値Vは図3CのボックスS330において示されるように1だけ減少され、すなわちV:=V−1となる。
その後、ステップ340において、次の有限状態マシンMj+1が選択される。
この選択された有限状態マシンにおいて、ディジットyi+1の値と前の状態とによって指示される状態が選択される(ステップS350)。これは1つの有限状態マシン内で1つの状態から他の状態に変えるために普通に使用されている態様で行なわれる。例えば、図3Aを参照して、第1の有限状態マシン110での状態「00」から出発しかつディジットyi+1が1状態である時には、状態「01」が本発明に従って第2の有限状態マシン120において選択される。現在の状態が第2の有限状態マシン120で状態「01」でありかつディジットyi+1が1である時には、第3の有限状態マシン130での状態「11」への推移となる。現在の有限状態マシンが最後の(k番目)有限状態マシンであれば、第1の有限状態マシンでの状態への同一の態様の推移となる。
その後、インデックス値iはボックスS360によって指示されるように1だけ増大される。その後、受信ビットストリームYに他の何かのビットが残っていれば、図3CのステップS370によって指示されるように制御が行なわれ、返答が「yes」であれば、選択された有限状態マシンの選択された状態でのカウント値を読み出してステップS250に再度進められる。他方、これがメッセージの最後のビットであったら、処理手順は終了する。
データ圧縮装置
図4を参照すれば、そこにはデータ圧縮装置200の第1の実施例のブロック図が示されている。このデータ圧縮装置は変換されるべきメッセージの文字を受ける文字入力210を備えている。文字入力210はデータバス230により変換ユニット220に結合されている。データバスは本発明の一実施例に従って8ディジット文字を並列に変換することができる。本発明の他の実施例により、受信文字のディジットは変換ユニット220に直列に供給される。また、文字入力210において受信されるべき文字は他の数のディジットからなってもよい。変換ユニットは図2のステップS110およびS120に関連して上で説明した態様で低いハミング重みを有するシンボルに受信文字を変換するように設定されている。対応する文字よりも少ない数のディジットから構成されてもよいその結果のシンボルは出力234からバス240を介してシンボル対ビットストリーム変換器250の入力242に供給される。シンボル対ビットストリーム変換器250はその出力252でディジットyiを有するビットストリームを推定器ユニット260の入力254に供給する。推定器ユニット260の目的は、メッセージの情報内容を保持している状態で、ビットストリーム内の値1を有するディジットの数を更に減少することである。推定器ユニット260はビットストリームY=y1−ynの受信に応じてビットストリームE=e1−enを作る(ここで、nは推定器ユニット260に与えられるビットストリームのディジットの数である。ビットストリームEは推定器ユニット260の出力262に供給される。ビットストリームEは圧縮モジュール270に供給され、これはメッセージの情報内容を保持した状態でビットストリームのディジットの数を減少するように設定されている。この圧縮モジュールは例えばハフマンコード化のような圧縮アルゴリズムに従って動作する。1つの好適実施例によれば、静的ハフマンコードが使用される。このため、圧縮モジュール270はビットストリームC=c1−cr(ここで、r<n)を発生する。圧縮ビットストリームCはビットストリーム出力280に供給され、これは圧縮ビットストリームがメモリユニットに記憶されるようにそのメモリユニットに結合されてもよい。別態様として、ビットストリーム出力280は圧縮ビットストリームCが他の電子ユニットに伝送されるように送信機ユニットに結合される。メッセージ内のビットの数の減少は伝送チャンネルのための帯域幅の要求を低下させ、それによって伝送効率を向上させる。
図5を参照すれば、推定器ユニット260がより詳細に表されている。推定器ユニット260はビットyiにより構成されるビットストリームYを受ける直列入力300を備えている。受信ビットyiはスイッチユニット310に供給され、これは最初のmのディジットを出力320に直接スイッチするように設定されている。ビットストリーム入力300は、また、モジュロ2加算器350の第1の入力340と遅延ユニット355を介して予測器330とに結合されている。遅延ユニット355は、それがビットyi+1を受けるとビットyiを供給するように1ビットを記憶する。予測器ユニット330は加算器350の第2の入力360に結合された出力を有している。加算器350は推定器ユニット出力320に結合された出力を有している。従って、推定器260は図3Bおよび3Cに関連して上で説明した方法を行なうように設定されている。
上で説明した態様で、予測器ユニット330は次のビットyi+1の値の予測値pi+1を作るように設定されている。換言すれば、予測器ユニット330はh<i+1に対して履歴値yhについての「推測値」pi+1に基づいてビットyi+1がどんな値を有するかを「推測する」ように設定されている。「履歴」は有限状態マシンのカウント値によって与えられる(図3BのS260〜S280参照)。図5から、予測が正しければモジュロ2加算の結果ei+1が0になることが容易に理解される。
値ei+1は予測ビット値pi+1と実際のビット値yi+1との間のハミング距離を表す。従って、予測器が正しい予測値を作れば、2つの連続的なビット間のハミング距離ei+1は0となる。上のことから明かとなるように、表1を参照して、本発明による方法は極めて好都合の圧縮比を達成する。この長所の根拠の1つは上述した予測方法に従って正確な予測値pi+1を生じさせることである。
図9に関連して下に述べるように、復号方法は次のハミング距離ei+1の予測値を表す値pi+1を得るために既に復号したビット値yiを「履歴」として用いて同じ形式の予測を行なうことに基づいている。この予測復号方法は予測符号化が行なうのと同じ形式の予測を用いるため、復号の結果は正しいビットストリームYとなる。
電子データ処理装置
図6を参照すれば、そこにはテキストメッセージのような情報の表示用のディスプレイユニット410を備えたデータ処理装置400が示されている。データ処理装置400は不揮発性メモリ420、マイクロプロセッサ430および読出し/書込みメモリ440を備えている。メモリ420はデータ処理装置400の通常の機能を制御するコンピュータプログラムが記憶されている第1のメモリ部分450を有している。データ処理装置は例えば移動電話機のような携帯電子装置であってもよい。また、メモリ420はメッセージをコード化および/または復号するプログラムが記憶されている第2のメモリ部分460を含んでいる。他の実施例においては、メッセージをコード化および/または復号するプログラムは独立した不揮発性記録媒体462に記憶されている。このプログラムは実行可能な態様であるいは圧縮された状態で記録されてもよい。
以下において、マイクロプロセッサ430がある機能を行なう時には、これはマイクロプロセッサがメモリ450に記憶されているプログラムのある部分あるいは記録媒体462に記録されているプログラムのある部分を行なうことを理解されるべきである。
マイクロプロセッサ430はデータバス470を介してディスプレイ410に結合されている。データ処理装置のユーザにはディスプレイ410に表示されている文字によって情報メッセージが与えられる。例えば、電子装置の電池電圧がある値よりも低いことをマイクロプロセッサが決定した(これはマイクロプロセッサにメッセージ「電池交換」を表示することを促す)場合のようなある事象に応じて特定のメッセージが表示されてもよい。
マイクロプロセッサ430はデータバス480によってメモリ420に結合されており、またデータバス490によって読出し/書込みメモリ440に結合されている。また、マイクロプロセッサ430はデータバス510によってデータポート500と通信を行なう。
図1A、1B、2、3A〜3Dに関連して説明した方法はメモリ部分460に記憶されているプログラムを行なうマイクロプロセッサ430によりそのマイクロプロセッサで行なわれることが可能である。図1Aに関連して説明した方法に従って対応表を作成する命令に応じて、マイクロプロセッサはデータポート500でのメッセージの受信を待機するように設定され、メッセージがデータポート500で受けられると、文字が読出し/書込みメモリ440に一時的に記憶される。受信メッセージあるいはメッセージの受けた組の全ての文字が一時的に記憶された時に、マイクロプロセッサは異なった文字の数をカウントしかつ各文字に対する相対頻度を計算するように設定される。その後に、マイクロプロセッサ430は対応表を作成するように上で説明した態様でコードシンボルを異なった文字に割り当てるように設定される。
別態様として、マイクロプロセッサはデータポート500を介して既製の対応表を受けかつその対応表を読出し/書込みメモリ440に記憶するように設定される。図1Bに関連して説明したように、対応表は文字数で始まりそれに同じ数の文字が続くリストに制限されてもよい。
その後に、マイクロプロセッサは図3Bに関連して上で説明した方法に従って減少したディジットビットストリームEに受信メッセージあるいは受けた組のメッセージを変換する命令に応じてもよい。メッセージあるいはメッセージの組がビットストリームに変換されると、このビットストリームはメモリ440に記憶される。勿論、マイクロプロセッサは使用されるメモリを動作する最も効果的な態様に応じてあるいは他のハードウェアの配慮に応じてビットストリームEをビット対ビットであるいは8ビット語にソートされて記憶されてもよい。
データ復元装置
図7を参照すると、データ復元装置600の第1の実施例のブロック図が示されている。このデータ復元装置は多数のディジットciからなる圧縮ビットストリームCを受ける入力610を備えている。入力610は逆圧縮モジュール620に結合され、これは情報内容を保持する状態でビットストリームCをより長いビットストリームEに伸長するように構成される。逆圧縮モジュール620は静的ハフマンコードに従って復号を行なうように設定されてもよい。
逆圧縮モジュール620は伸長ビットストリームEを変換ユニット630に供給し、この変換ユニット630は上に説明された推定器260の機能の実質的に逆を行なうように設定されている。従って、変換ユニット630は多数のシンボルHからなるビットストリームYを直列に供給する。この目的のため、推定器260は図5のスイッチ310として機能するスイッチ632を含んでいる。遅延ユニット634は図5のユニット355と類似してビットyi+1の受信時にビットyiを供給し、予測器635は「履歴」値yiを受けることに応じて予測値pi+1を発生する。エンコーダ260の予測ユニット330がフィードフォワードの態様で結合されるが、デコーダ630の予測器635は出力Yが入力ビットストリングEを復号するための「履歴」データとして使用されるようにフィードバックの態様で結合される。
変換ユニット630はビットストリームYを出力638に供給するように設定されている。変換器640はビットストリームをシンボルに変換するため出力638に結合される。シンボルHはデータバスを介して変換ユニット650の入力642に供給される。変換ユニット650は元のメッセージを復元するようにシンボルHを文字Xに変換するように動作する。文字Xは変換ユニット650からを出力660に供給される。ポート660に供給される文字は例えば8ビットASCIIコードであってもよい。
メッセージを復元する方法
図8は本発明の一実施例に従ってメッセージMを圧縮ビットストリームCから復元する方法を示すフローチャートである。第1のステップS600によれば、圧縮ビットストリームCが受けられる。ビットストリームCはハフマン復号のような復号/伸長のための既知の方法を用いてビットストリームEに伸長される(ステップS610)。次いで、ビットストリームEは本質的に図3Bおよび3Cに関連して説明した方法の逆を行なってビットストリームYに変換される。
その後、ビットストリームYは元のメッセージMが復元されるように文字Xに変換される(ステップS630)。これはビットストリームYをシンボルHに分割し(ステップS640)、その後各シンボルHを対応する文字Xに変換する(ステップS650)によって達成される。シンボルHの文字Xへの変換は圧縮ビットストリームCに更に含まれた対応表を用いて行なわれる。別態様として、変換表が予め設けられ、圧縮ビットストリームCはメッセージに変換されるべき情報のみを含んでいる。シンボル対文字変換ステップの第3の実施例によれば、圧縮ビットストリームはメッセージ内の異なった文字の数と文字のリストとを備えているに過ぎない。変換表を得る目的のため、マイクロプロセッサ430(図6参照)のようなマイクロプロセッサがメモリ部分460(図6)に記憶されているプログラム内に与えられてもよい所定のアルゴリズムに従って各文字Xに対応するシンボルHを計算するように設定されてもよい。
シンボルHが文字Xに変換されてしまったら、その結果のメッセージが供給される。
図6を参照して、圧縮ビットストリームCは不揮発性メモリ420のメモリ部分700に与えられてもよい。メッセージ提示命令に応じて、マイクロプロセッサ430は、メモリ部分450内に記憶されているプログラムを用いて、メモリ450のプログラム部分710に記憶されていたデータ復元プログラムを逆圧縮する標準伸長アルゴリズムを使用してもよい。従って、メモリ部分710に記憶されているプログラムコードは伸長されてメモリ440のメモリ部分720に配置される。上述したように、メモリ440はランダムアクセスメモリRAMであってもよい。その後、マイクロプロセッサはメモリ部分720からのデータ復元プログラムを実行することによって動作を続ける。データ復元プログラムの実行は不揮発性メモリ420のメモリ部分700から圧縮ビットストリームCを読出し、その後メッセージMを構成する文字Xのストリームに圧縮ビットストリームCを変換するように方法ステップS610、S620、S640およびS650を実行するステップを含んでいる。メッセージMあるいはメッセージの部分はマイクロプロセッサ430によりデータバス470を介して遅延ユニット410に供給される。別態様として、状況に応じて、メッセージMはデータバス510を介してデータポート500に供給されてもよい。
図9Aおよび9Bを参照すると、そこにはビットストリームEのビットストリームYへの変換(ステップS620)がどのようにして行なわれるかについて詳細に示されている。本明細書において、図9Aおよび9Bに関連して説明される方法を予測復号方法と呼ぶことにし、図3Bおよび3Cに関連して上で説明した方法を予測符号化方法と呼ぶこととする。予測復号は、図9によるフローチャートを図3Bおよび3Cによるフローチャートと比較することによって明かとなるように予測符号化と本質的に同じ態様で行なわれる。従って、方法ステップS700からS870は上で説明した方法ステップS200からS370に本質的に対応する。復号と符号化との差は、本質的には、符号化方法においてディジットyi+1は入力から読み出され(S290)ディジットei+1が計算されるが、復号方法ではその逆が行なわれることである。図9Bを参照して、入力ディジットei+1が読み出され、出力ディジットyi+1が計算される。従って、復号方法のステップS810において、値yi+1についての問題は出力ディジットが1または0に等しいかどうかの問題に関連し、他方符号化方法においてはステップS310は入力値yi+1の値の問題に関連する。
図6を参照すると、メモリ部分710内のデータ復元プログラムは符号化および復号方法間の差を定めるプログラムルーチンに限定可能である。従って、一方でメモリに復号プログラムだけを記憶することと他方で復号プログラム並びに符号化プログラムを記憶することとの間でのメモリ空間の使用には極めて僅かな差しかない。更にまた、当業者は、プログラムそれ自体が好都合の少量のメモリ空間しか必要としない有利な程少数で数学的に複雑でないステップが上述のコード化方法および復号方法によって要求されるに過ぎないことを認識するであろう。そのため、本発明によりメッセージを復号しそして/または符号化するコンピュータプログラムはプログラムコードのためのメモリ空間の使用が装置のサイズに直接反映するような携帯電子装置には特に有利である。例えば、移動電話機において、極めて多数のメッセージをメモリに記憶する必要があり、各電話機はなるべくはユーザによって選択される人間の言語のメッセージを作るように設定可能とされるべきである。従って、本発明の目的は極めて多数のこのようなメッセージの組を移動電話機の不揮発性メモリの少量のメモリ空間に与えることである。本発明による復号プログラムはこのような少量のメモリ空間しか必要としないため、全ての異なった言語のメッセージがコード化状態で記憶されることができ、ユーザがメッセージを使いたい言語を選択すると、その選択された組のメッセージが上述した方法に従って復号される。予測符号化および/または予測復号プログラムの実行の間に、多数のカウント値Vがこのプログラムの実行の間に一時的に記憶される必要があるため、最大量のメモリ空間が使用される。各カウント値に対するビットの数をcで表せば、カウント値を記憶するために必要なビットの数はk・2m・cとなる。好適実施例によれば、cの値は2または3に等しく選択されてもよい。
上述の実施例において、メッセージのハミング重みは圧縮のために好ましい符号化メッセージを与えるために減少される。好ましいハフマンコードは圧縮されるべきメッセージのハミング重みを小さくすればそれだけより有効的な圧縮を与える。しかしながら、ある異なったハフマンコードの選択によって圧縮されるべきメッセージのハミング重みが大きくなればそれだけより有効的な圧縮が達成される。従って、本発明によれば、文字のコードシンボルへの変換はコード化メッセージのハミング重みが最大化される態様で行なわれることができる。この場合に、予測符号化方法はそれが入力ビットストリームYのものよりもより大きなハミング重みを有するビットストリームEを発生させるように変更される。
通信ネットワーク
図10は無線リンクを介して通信する2つのユニット740および750を含む通信ネットワーク735を示す。ユニット740はアナログ信号を発生するマイクロフォン760と、そのアナログ信号を多数の量子化範囲に量子化しコード語Hをそれら量子化範囲に割り当てる変換ユニット770とを含んでいる。
このため、アナログ信号を受けると、変換ユニット770はビットストリームYの形態のコード語Hのシーケンスを供給する。1つの好適実施例によれば、ビットストリームYは上で詳細に説明した形式の推定器ユニット260に供給される。推定器ユニットの出力Eは同様上で説明したように動作する圧縮モジュール270に供給される。圧縮モジュール270によって供給された圧縮ビットストリームCはトランシーバ780に供給される。トランシーバ780はユニット750と通信を行なう例えばアンテナのような通信ポート790を含んでいる。
ユニット750は信号を受信して供給するトランシーバ810に結合した例えばアンテナのような通信ポート800を含んでいる。トランシーバ810は圧縮ビットストリームCを逆圧縮ビットストリームEに変換する、上で説明した形式の逆圧縮モジュール620に結合される。逆圧縮ビットストリームEは図7に関連して上で説明した形式のデコーダ630に供給される。デコーダ630の出力Yは変換ユニット820に供給される。変換ユニット820は受信ビットストリームYをアナログ信号に変換し、これは例えばスピーカ850に供給される。
変換ユニット820はコントローラ825とメモリ830とを含み、メモリ830には変換表を含んだ変換情報が記憶されている。メモリ830はコード語Hの語長についての情報を保持している。その情報を用いて、受信ビットストリームYはコントローラ825によりコード語Hに分割される。
コード語Hはその後デジタル対アナログ(D/A)変換器840に供給される。D/A変換器840はメモリ830内の変換表と共に働き、コード語Hによって定められる信号レベルを発生する。コード語Hが元の信号をサンプリングしたのと同一の周波数でD/A変換器840に供給されると、D/A変換器の出力は元のアナログ信号と同じになる。
変換ユニット770の機能は次の通りである。変換ユニット770は不均一確率密度の振幅を有するアナログ信号を受ける。例えば音声の振幅確率は0振幅で最大で、振幅の増大にしたがって減少する。このため、音声信号の量子化後は、最大確率量子化レベル範囲は最も低い振幅に対応するものとなる。A/D変換信号Yのハミング重みを最小化する目的のため、コード語Hは値1を有するビットの数を最小にするように選択されなければならない。最少量の0を有するコード語をアナログ信号に割り当てるコード化方式は米国特許第5,062,152号に記載されており、その内容はこれによって参照として組み入れられる。
有利なことに、変換ユニット770によって供給されるデジタル信号Yはコード語Hの語長を量子化レベルの必要数rに適合させることによって最小化されることができる。例えば、r=64量子化レベルを持つだけで十分であれば、コードシンボルは6つのビットを含むことだけを必要とする。量子化レベルの数が65と128との間にある場合には、7ビットの語長が必要である。dビットを有する語によって定義可能な量子化レベルの数rは次のようになる。
r=2d
従って、コード語H内のビットdの必要数は次式を用いて定めることができる。
l=ln(r)/ln2
結果dlが整数でなければ、ビットdの数は最も近い高位の整数にdlを切り上げることによって定められる。例えば、量子化レベルの必要数がr=190である場合には、結果はdl=ln(170)ln2=7.409となる。dlをその最も近い高位の整数に切り上げればd=8となる。従って、コード語H内のビットの必要数はd=8となる。コード語Hの語長はユニット750に伝送され、メモリ830に記憶される。この変数dは、コード化メッセージを受けるとビットストリームYを正しい長さのコード語に分割するコントローラ825によって使用される。
量子化信号範囲の必要数はアナログ信号および振幅分解能の最大振幅に依存する。アナログ信号の高忠実度再生のため、レベル範囲は高振幅分解能を達成するように小さくなければならず、このため極めて多数の量子化信号レベルを使用する必要がある。
アナログ信号の最大振幅を定める目的のため、この信号がある時間機関の間測定される。振幅分解能は手動的あるいは自動的に設定されることができる。コード語の語長を履歴最大振幅および選択振幅分解能に適合することによって、デジタル信号Y内のビットの数は最小化される。
変換ユニット770は量子化信号範囲およびコード語間の対応リストすなわち変換表を発生する。このリストは変換ユニット770と共に働くメモリ860に記憶される。メモリ860に記憶されたリストは定められた索引に従ってコード語Hを量子化信号範囲に割り当てるために使用される。
更に、索引リストおよび語長dは変換ユニット770からユニット750への伝送のためトランシーバ780に供給される。トランシーバ810が索引リストを受けると、このリストはメモリ830への記憶のため変換ユニット820に供給される。その後、メモリ830に記憶されたリストはコード語Hによって規定される信号レベルを発生するためにD/A変換器によって使用される。
通信ネットワーク735の他の実施例によれば、コード語Hを含むコード化メッセージは図10の点線870によって表されているように変換ユニット770からトランシーバ780に直接的に供給される。その実施例において、受信ユニットは、また、変換ユニット820およびトランシーバ810間の直接接続を与える。
通信ネットワーク735のなお他の実施例によれば、コード語Hを含むコード化メッセージは変換ユニット770から圧縮モジュール270に直接的に供給される。この直接接続は図10で点線882によって表されたデータバスによって得られる。ユニット750は逆圧縮モジュール620および変換ユニット820間の直接接続を与える対応するデータバス884を含んでいる。データバス884による直接接続は変換ユニット770によって供給される符号化メッセージ内のビットの数の減少を可能にする。
更に他の実施例によれば、推定器ユニット260とトランシーバ780との間に直接接続890が設けられ、それによってビットストリームYよりもより少ない0を保持するビットストリームEの転送が可能となる。従って、この実施例は不均一確率密度を有する音声あるいは音楽のような信号を伝送するために必要な電力を更に減少する長所を有している。ユニット750はトランシーバ810およびデコーダ630間の対応する直接接続900を含んでいる。
勿論、ユニット740は同じようにコード化信号を受けてこのような信号を復号するように適合されてもよい。このために、ユニット740は上に説明した部分620、630、820、825、830、840および850と同様の部分を含んでもよい。同様にユニット750は上で説明した態様でアナログ信号を符号化するように適合されてもよい。

Claims (27)

  1. それぞれが1つの発生確率を有する複数の文字を含むメッセージを符号化する方法であって、
    前記複数の文字(X)を含む1つのメッセージを受けるステップと、
    2進コード化メッセージ(H、Y、E、C)を発生するため、それぞれが複数の2進値ディジットを有する複数のコード語(H)を前記文字(X)に割り当てることによって受信メッセージをコード化するステップと、
    を具備しており、
    前記コード語(H)が、前記文字(X)の発生確率と前記コード語(H)内の第1の値(「1」)を有するビットの数とにほぼ従って前記文字(X)に割り当てられ、より高い発生確率の文字(X)には、より低い発生確率の文字(X)に割り当てられるものよりも第1の値(「1」)を有するビットが少ないコード語(H)が割り当てられるようにする符号化方法において、この符号化方法が、
    相互に異なった文字(X)の数をカウントしたカウント値に基づいて量子化信号レベルの数(r)を決定するステップと、
    前記量子化信号レベルの数(r)に基づいて、コード語(H、Y)内のビットの数(d)を最小化あるいは減少するように選択するステップと、を含むことを特徴とする符号化方法。
  2. 請求項1記載の符号化方法において、コード化メッセージ(E、C)内のビットの数を更に減少するように2進コード化メッセージを圧縮すること(S140、S150)、を更に含むことを特徴とする符号化方法。
  3. 請求項1または2記載の符号化方法において、
    受信メッセージ内の文字の発生確率とコード語内の第1の値(「1」)を有するビットの数とに基づいて文字およびコード語間の索引リストを発生し、より高い発生確率の文字にはより低い発生確率の文字に割り当てられるものよりも第1の値(「1」)を有するビットが少ないコード語が割り当てられるようにするステップと、
    前記リストに従って前記コード語(H)を前記文字(X)に割り当てることによって受信メッセージをコード化するステップと、を更に含むことを特徴とする符号化方法。
  4. 請求項3記載の符号化方法において、伝送を指示する信号と共に前記リストを伝送すること、を更に含むことを特徴とする符号化方法。
  5. 請求項3または4記載の符号化方法において、現在の索引リストの基準となった相対発生頻度から、受信メッセージ内の文字の相対発生頻度がほぼ外れたときに、文字およびコード語間の新たな索引リストを定めること、を更に含むことを特徴とする符号化方法。
  6. 請求項1〜5のいずれか1項記載の符号化方法において、
    前記符号化ステップが、
    前記複数の文字に対して、前記少なくとも1つのメッセージ内の文字の相対頻度を指示する値(p)を計算するステップ(S40)と、
    複数の2進ディジットからなる第1の2進コード化コードシンボル(H1)を、最も高い相対頻度(p1)を有する文字に割り当てるステップ(S60)と、
    前記第1の2進コード化コードシンボル(H1)内の全てあるいはほぼ全ての2進ディジットを第2の2進値(「0」)に設定するステップと、
    同じ相対頻度(p1、p2)を有する2つのシンボル(H1、H2)間でまたは近似相対頻度を有する2つのシンボル間内でハミング重みの差が最小となるように特異なシンボル(H2、H3)を各特異な残りの文字に割り当てるステップと、を具備する方法に従って行なわれることを特徴とする符号化方法。
  7. 請求項3〜6のいずれか1項記載の符号化方法において、複数の受信メッセージが索引リストのための基準を形成するようにし、前記複数の受信メッセージ内の文字がコード語の語長の基準となる相互に異なった文字の前記カウント値を構成することを特徴とする符号化方法。
  8. 請求項3〜7のいずれか1項記載の符号化方法において、受信メッセージが現在の索引リストよりもより大きな数の相互に異なった文字を含むときに、前記文字(X)および前記コード語(H)間の新たな索引リストを定めること、を更に含むことを特徴とする符号化方法。
  9. 請求項1〜8のいずれか1項記載の符号化方法において、それぞれが第1の値または第2の値を有する第1の組(Y)の2進ディジットとして前記コード語(H)を逐次的に与えること、を更に含むことを特徴とする符号化方法。
  10. 不均一確率密度を有する振幅を持ったアナログ信号を符号化する方法において、
    複数の信号レベル範囲の1つの中にあるものとして信号を量子化するステップと、
    2進コード化メッセージ(H、Y、E、C)を発生するために、それぞれが複数の2進値ディジットを有するコード語(H)を前記量子化された信号に割り当てることによって前記量子化された信号をコード化するステップと、を含んでおり、
    前記コード語(H)が量子化レベルの発生確率と前記コード語内の第1の値(「1」)を有するビットの数とに従って量子化レベルに割り当てられ、より高い発生確率の量子化レベルにはより低い発生確率の量子化レベルに割り当てられるものよりも第1の値(「1」)を有するビットが少ないコード語が割り当てられるようにする符号化方法において、この符号化方法が、
    履歴最大振幅と選択された振幅分解能とに基づいて量子化信号レベルの数(r)を決定するステップと、
    コード語(H、Y)内のビットの数(d)を最小化もしくは減少するように決定された前記量子化信号レベルの数(r)に応じてコード語にとって好ましい前記ビットの数(d)を選択するステップと、を含むことを特徴とする符号化方法。
  11. 請求項10記載の符号化方法において、コード化メッセージ(E、C)内のビットの数を更に減少するように2進コード化メッセージを圧縮すること(S140、S150)、を更に含むことを特徴とする符号化方法。
  12. 請求項10または11記載の符号化方法において、量子化信号範囲およびコード語間の索引リストを発生することを更に含んでおり、前記リストが受信アナログ信号の量子化信号範囲の発生確率とコード語内の第1の値(「1」)を有するビットの数に基づきより高い発生確率の量子化信号範囲にはより低い発生確率の量子化信号範囲に割り当てられるものよりも第1の値(「1」)を有するビットが少ないコード語が割り当てられるようになっており、前記リストに従って前記コード語(H)を量子化信号範囲に割り当てることによって受信アナログ信号をコード化することを更に含むことを特徴とする符号化方法。
  13. 請求項12記載の符号化方法において、伝送を指示する信号と共に前記リストを伝送すること、を更に含むことを特徴とする符号化方法。
  14. 請求項12または13記載の符号化方法において、現在の索引リストの基準となった相対発生頻度から、受信アナログ信号の量子化信号範囲の相対発生頻度がほぼ外れたときに、量子化信号範囲およびコード語間の新たな索引リストを定めること、を更に含むことを特徴とする符号化方法。
  15. 請求項10〜14のいずれか1項記載の符号化方法において、
    前記符号化ステップが、
    少なくとも1つの所定の時間間隔の間にアナログ信号を受けるステップと、
    複数の量子化振幅レベル範囲を決定するステップと、各振幅レベル範囲に対して、前記アナログ信号の振幅レベル範囲の相対頻度を指示する値(p)を計算するステップと、
    複数の2進ディジットからなる第1の2進コード化コードシンボル(H1)を、最も高い相対頻度(p1)を有する振幅レベル範囲に割り当て(S60)、前記第1の2進コード化コードシンボル(H1)内の全てまたは実質的に全ての2進ディジットを第2の2進レベル(「0」)に設定するステップと、
    同じ相対頻度(p1、p2)を有する2つのシンボル間でまたは近似相対頻度を有する2つのシンボル間内でハミング重みの差が最小となるように特異なシンボル(H2、H3)を各残りの振幅レベル範囲に割り当てるステップと、を具備する方法に従って行なわれることを特徴とする符号化方法。
  16. 請求項10〜15のいずれか1項記載の符号化方法において、量子化信号レベルの数(r)を表す語を供給すること、を更に含むことを特徴とする符号化方法。
  17. 請求項10〜16のいずれか1項記載の符号化方法において、履歴最大振幅を表す語を供給すること、を更に含むことを特徴とする符号化方法。
  18. 請求項12〜17のいずれか1項記載の符号化方法において、現在の索引リストの基準となった最大振幅よりもより大きな最大振幅を受信信号が有する時に量子化信号範囲および前記コード語(H)間の新たな索引リストを定めること、を更に含むことを特徴とする符号化方法。
  19. 請求項10〜18のいずれか1項記載の符号化方法において、それぞれが第1の値または第2の値を有する第1の組(Y)の2進ディジットとして前記コード語(H)を逐次的に与えること、を更に含むことを特徴とする符号化方法。
  20. 請求項9または19記載の符号化方法において、
    第1の組のディジット(Y)を符号化して(S220〜S370、図3B、3C)、第2の組(E)の2進ディジット(ei、ei+1)を発生するステップをさらに含み、
    前記2進ディジットを発生するステップは、第2の組(E)内の第2の2進値を有するディジットの数が第1の組(Y)内の第2の2進値を有するディジットの数よりも大きくなるように第2の組(E)のディジット(ei、ei+1)を選択することを特徴とする符号化方法。
  21. 請求項20記載の符号化方法において、第2の組(E)の2進ディジットのディジット(ei)を発生する前記ステップは、
    第2の組(E)の最初からm(正の整数)までのディジット(ei)の値を、第1の組(Y)の最初からm(正の整数)までのディジット(yi)の値に等しく設定するステップを含むことを特徴とする符号化方法。
  22. 請求項20または21記載の符号化方法において、第2の組(E)の2進ディジットの次のディジット(ei+1)を発生する前記ステップは、
    第1の組のディジット(Y)の多数の前のディジット(yi)に応じて予測値(pi+1)を発生するステップと、
    第1の組のディジット(Y)での実際のディジット(yi+1)の値を読み出すステップと、
    予測値(pi+1)および実際のディジット(yi+1)の値間のハミング距離を計算する(S300)ステップと、
    第2の組のディジット(E)でのディジット(ei+1)の値を計算されたハミング距離値に等しく設定するステップと、を含むことを特徴とする符号化方法。
  23. 請求項20記載の符号化方法において、前期第2の組(E)の2進ディジットのディジット(ei)を発生する前記ステップは、
    第2の組(E)の最初からm(正の整数)までのディジット(ei)の値を第1の組(Y)の最初からm(正の整数)までのディジット(yi)に値に等しく設定するステップと、
    第1の組のディジット(Y)での所定数(mに等しいかまたはmよりも小さい正の整数)の前のディジット(yi)に応じて予測値(pi+1)を発生するステップと、
    第1の組のディジット(Y)の実際のディジット(yi+1)の値を読み出すステップと、
    予測値(pi+1)および実際のディジット(yi+1)の値間のハミング距離を計算する(S300)ステップと、
    第2の組のディジット(E)のディジット(ei+1)の値を計算されたハミング距離値に等しく設定するステップと、を含むことを特徴とする符号化方法。
  24. 請求項22または23記載の符号化方法において、予測値(pi+1)を発生する前記ステップは、
    第1の組のディジット(Y)でのディジットに応じてそれぞれが選択可能である(S2249、S350)複数の予測器カウント値(V)を定めるステップ(S230)と、
    全ての予測器カウント値(V)を0に初期設定するステップと、
    その後に、第1の組のディジットでのディジット(y1〜ym)の組合せを選択するステップと、
    f1)第1の組のディジット(Y)でのディジットの選択された組合せに応じて予測器カウント値(V)を選択するステップと、
    f2)選択された予測カウント値(V)を読み出すステップと、
    f3)選択された予測器カウント値(V)が所定値よりも大きければ予測値(pi+1)を第1の値に設定し(S260、S270)、選択された予測器カウント値(V)が前記所定値よりも小さければ予測値(pi+1)を第2の値に設定する(S260、S280)ステップと、
    f4)第1の組のディジット(Y)での実際のディジット(yi+1)の値が1に等しければ(S310)選択された予測器カウント値(V)を増加し(S320)、第1の組のディジット(Y)での実際のディジット(yi+1)の値が0に等しければ(S310)選択された予測器カウント値(V)を減少する(S330)ステップと、
    f5)第1の組のディジット(Y)のディジットでの新たな組合せを選択するステップと、
    第1の組のディジット(Y)での全てのディジット(yi+1)が読み出されるまでステップf1)からf5)を繰り返すステップと、を含むことを特徴とする符号化方法。
  25. 請求項22から24のいずれか1項記載の符号化方法において、予測値(pi+1)および実際のディジット(yi+1)間のハミング距離を計算する(S300)前記ステップが、予測直(pi+1)と、実際のディジット(yi+1)のモジュロ2の値とを加算するステップ(S300)を含むことを特徴とする符号化方法。
  26. 請求項1から25のいずれか1項記載の方法において、符号化メッセージを圧縮するステップを更に含むことを特徴とする方法。
  27. 請求項1から25のいずれか1項記載の方法において、第2の組のディジット(E)をハフマンコード化に従って符号化するステップを更に含むことを特徴とする方法。
JP52991598A 1996-12-30 1997-12-18 情報を処理する方法および手段 Expired - Lifetime JP3995106B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9604834A SE512613C2 (sv) 1996-12-30 1996-12-30 Metod och organ för informationshantering
SE9604834-3 1996-12-30
PCT/SE1997/002158 WO1998029954A1 (en) 1996-12-30 1997-12-18 Method and means for handling information

Publications (2)

Publication Number Publication Date
JP2001507542A JP2001507542A (ja) 2001-06-05
JP3995106B2 true JP3995106B2 (ja) 2007-10-24

Family

ID=20405183

Family Applications (2)

Application Number Title Priority Date Filing Date
JP52991598A Expired - Lifetime JP3995106B2 (ja) 1996-12-30 1997-12-18 情報を処理する方法および手段
JP52991698A Expired - Fee Related JP3960627B2 (ja) 1996-12-30 1997-12-18 情報を処理する方法および手段

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP52991698A Expired - Fee Related JP3960627B2 (ja) 1996-12-30 1997-12-18 情報を処理する方法および手段

Country Status (15)

Country Link
US (2) US6218968B1 (ja)
EP (2) EP0948846A1 (ja)
JP (2) JP3995106B2 (ja)
KR (2) KR100375278B1 (ja)
CN (2) CN1108015C (ja)
AR (2) AR014862A1 (ja)
AU (2) AU739418B2 (ja)
BR (2) BR9713639A (ja)
CO (2) CO4771137A1 (ja)
EE (2) EE9900324A (ja)
HK (2) HK1027227A1 (ja)
MY (2) MY118092A (ja)
SE (1) SE512613C2 (ja)
TR (2) TR199901505T2 (ja)
WO (2) WO1998029954A1 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100293523B1 (ko) * 1998-02-25 2001-09-17 구본준, 론 위라하디락사 액정표시장치
US7981126B2 (en) * 1999-04-16 2011-07-19 Vital Access Corporation Locking compression plate anastomosis apparatus
KR100359118B1 (ko) * 2001-03-20 2002-11-04 주식회사 아름테크놀로지 균일 엔트로피 데이터에 대한 비손실 압축방법
GB2378361B (en) * 2001-08-01 2004-10-13 Roke Manor Research Method for compression of data
FR2835665B1 (fr) * 2002-02-04 2004-04-02 Canon Kk Codage et decodage de signal numerique
US6941412B2 (en) * 2002-08-29 2005-09-06 Sandisk Corporation Symbol frequency leveling in a storage system
US7212681B1 (en) 2003-01-15 2007-05-01 Cisco Technology, Inc. Extension of two-dimensional variable length coding for image compression
US6961696B2 (en) * 2003-02-07 2005-11-01 Motorola, Inc. Class quantization for distributed speech recognition
US7194137B2 (en) * 2003-05-16 2007-03-20 Cisco Technology, Inc. Variable length coding method and apparatus for video compression
KR20050053996A (ko) 2003-12-03 2005-06-10 삼성전자주식회사 허프만 코드를 효율적으로 복호화하는 방법 및 장치
US7471841B2 (en) 2004-06-15 2008-12-30 Cisco Technology, Inc. Adaptive breakpoint for hybrid variable length coding
US7499595B2 (en) * 2004-08-18 2009-03-03 Cisco Technology, Inc. Joint amplitude and position coding for photographic image and video coding
US7454073B2 (en) 2004-06-15 2008-11-18 Cisco Technology, Inc. Video compression using multiple variable length coding processes for multiple classes of transform coefficient blocks
US7499596B2 (en) 2004-08-18 2009-03-03 Cisco Technology, Inc. Amplitude coding for clustered transform coefficients
US7492956B2 (en) * 2004-08-18 2009-02-17 Cisco Technology, Inc. Video coding using multi-dimensional amplitude coding and 2-D non-zero/zero cluster position coding
US7471840B2 (en) * 2004-08-18 2008-12-30 Cisco Technology, Inc. Two-dimensional variable length coding of runs of zero and non-zero transform coefficients for image compression
US7454076B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Hybrid variable length coding method for low bit rate video coding
US7680349B2 (en) * 2004-08-18 2010-03-16 Cisco Technology, Inc. Variable length coding for clustered transform coefficients in video compression
US7620258B2 (en) * 2004-08-18 2009-11-17 Cisco Technology, Inc. Extended amplitude coding for clustered transform coefficients
DE602005018736D1 (de) * 2004-12-22 2010-02-25 Ericsson Telefon Ab L M Wasserzeichenmarkierung eines Computerprogrammcodes mittels äquivalenter mathematischer Ausdrücke
US7242328B1 (en) 2006-02-03 2007-07-10 Cisco Technology, Inc. Variable length coding for sparse coefficients
CN100468576C (zh) * 2007-05-30 2009-03-11 忆正存储技术(深圳)有限公司 闪存数据读写处理方法
US20100081284A1 (en) * 2008-09-29 2010-04-01 Applied Materials, Inc. Methods and apparatus for improving flow uniformity in a process chamber
KR101582223B1 (ko) * 2009-02-05 2016-01-04 삼성전자주식회사 미스얼라인 측정용 구조물 및 이를 이용한 패턴의 미스얼라인 측정방법
CN102811113B (zh) * 2012-07-12 2014-12-10 中国电子科技集团公司第二十八研究所 一种字符型报文压缩方法
US9135155B2 (en) 2012-11-30 2015-09-15 Sandisk Technologies Inc. Storage and retrieval of shaped data
US9575683B2 (en) 2012-11-30 2017-02-21 Sandisk Technologies Llc Processing shaped data
RU2510941C1 (ru) * 2012-12-05 2014-04-10 Владимир Петрович Панов Система передачи и приема информации
RU2510942C1 (ru) * 2012-12-05 2014-04-10 Владимир Петрович Панов Способ передачи и приема информации
US9165649B2 (en) 2013-12-20 2015-10-20 Sandisk Technologies Inc. Systems and methods of shaping data
US10320420B2 (en) * 2014-01-24 2019-06-11 Hewlett-Packard Enterprise Development LP Bit-flip coding
CN105022674B (zh) * 2014-04-25 2019-02-01 群联电子股份有限公司 解码方法、存储器存储装置、存储器控制电路单元
JP6511752B2 (ja) * 2014-09-19 2019-05-15 カシオ計算機株式会社 符号化装置、符号化方法、復号装置、復号方法、及び、プログラム
US10074427B2 (en) 2014-11-12 2018-09-11 Sandisk Technologies Llc Shaped data associated with an erase operation
US9912352B1 (en) * 2017-06-06 2018-03-06 Western Digital Technologies, Inc. Hamming distance based binary representations of numbers
US10719339B2 (en) * 2017-10-18 2020-07-21 Bank Of America Corporation Computer architecture for emulating a quantizer in a correlithm object processing system
US10727872B2 (en) * 2018-01-10 2020-07-28 Western Digital Technologies, Inc. Encoding and decoding of hamming distance-based binary representations of numbers
CN109979540B (zh) * 2018-11-29 2023-05-05 天津大学 一种dna信息存储编码方法
US10826536B1 (en) * 2019-10-03 2020-11-03 International Business Machines Corporation Inter-chip data transmission system using single-ended transceivers
WO2023236128A1 (en) * 2022-06-09 2023-12-14 Huawei Technologies Co., Ltd. Apparatus and methods for source coding and channel coding of low entropy signals

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3651459A (en) * 1970-05-15 1972-03-21 Philco Ford Corp Character distance coding
US4168513A (en) * 1977-09-12 1979-09-18 Xerox Corporation Regenerative decoding of binary data using minimum redundancy codes
US4396906A (en) * 1980-10-31 1983-08-02 Sri International Method and apparatus for digital Huffman encoding
US4516246A (en) * 1982-02-26 1985-05-07 Prentice Corporation Data compression system
US4546342A (en) * 1983-12-14 1985-10-08 Digital Recording Research Limited Partnership Data compression method and apparatus
US4535320A (en) * 1984-06-22 1985-08-13 Digital Recording Research Limited Partnership Method and apparatus for digital Huffman decoding
US4646061A (en) * 1985-03-13 1987-02-24 Racal Data Communications Inc. Data communication with modified Huffman coding
US4899149A (en) * 1986-02-28 1990-02-06 Gary Kahan Method of and apparatus for decoding Huffman or variable-length coees
GB8717124D0 (en) * 1987-07-20 1987-08-26 British Telecomm P c m signal coding
US4841299A (en) * 1987-08-31 1989-06-20 Digital Recording Research Limited Partnership Method and apparatus for digital encoding and decoding
US4813056A (en) * 1987-12-08 1989-03-14 General Electric Company Modified statistical coding of digital signals
JPH0834432B2 (ja) * 1989-01-31 1996-03-29 三菱電機株式会社 符号化装置及び符号化方法
US5254990A (en) * 1990-02-26 1993-10-19 Fujitsu Limited Method and apparatus for compression and decompression of data
JP2697479B2 (ja) * 1992-04-17 1998-01-14 国際電信電話株式会社 可逆可変長符号化方式
EP0582907A3 (en) * 1992-08-10 1995-05-10 Stac Electronics Inc Device and method for data compression using search by comparison of strings and Huffman coding.
GB9224893D0 (en) * 1992-11-27 1993-01-13 Philips Electronics Nv Encoding and decoding data
KR100186915B1 (ko) * 1994-07-13 1999-05-01 모리시다 요이치 디지털 부호화 장치 및 디지털 부호 복호화 장치
US6373412B1 (en) * 2000-12-15 2002-04-16 International Business Machines Corporation Fast JPEG huffman encoding and decoding

Also Published As

Publication number Publication date
HK1027228A1 (en) 2001-01-05
US6218968B1 (en) 2001-04-17
KR20000069834A (ko) 2000-11-25
CN1108015C (zh) 2003-05-07
KR20000069833A (ko) 2000-11-25
CO4771136A1 (es) 1999-04-30
CO4771137A1 (es) 1999-04-30
BR9713639A (pt) 2000-04-11
TR199901505T2 (xx) 1999-09-21
MY118092A (en) 2004-08-30
CN1100390C (zh) 2003-01-29
CN1249083A (zh) 2000-03-29
SE512613C2 (sv) 2000-04-10
AU739418B2 (en) 2001-10-11
EP0948846A1 (en) 1999-10-13
US6556151B1 (en) 2003-04-29
WO1998029954A1 (en) 1998-07-09
AU5581198A (en) 1998-07-31
AR008949A1 (es) 2000-02-23
KR100375278B1 (ko) 2003-03-10
EE04409B1 (et) 2004-12-15
CN1249084A (zh) 2000-03-29
AU5581098A (en) 1998-07-31
BR9713795A (pt) 2000-02-01
JP2001507542A (ja) 2001-06-05
HK1027227A1 (en) 2001-01-05
MY121639A (en) 2006-02-28
JP2001507543A (ja) 2001-06-05
JP3960627B2 (ja) 2007-08-15
AU730951B2 (en) 2001-03-22
AR014862A1 (es) 2001-04-11
EE9900324A (et) 2000-02-15
EP0948845A1 (en) 1999-10-13
SE9604834L (sv) 1998-07-01
KR100378319B1 (ko) 2003-03-29
TR199901513T2 (xx) 1999-09-21
SE9604834D0 (sv) 1996-12-30
WO1998029955A1 (en) 1998-07-09
EE9900325A (et) 2000-02-15

Similar Documents

Publication Publication Date Title
JP3995106B2 (ja) 情報を処理する方法および手段
US5912636A (en) Apparatus and method for performing m-ary finite state machine entropy coding
US6157326A (en) Method of and device for coding a digital information signal
US5408234A (en) Multi-codebook coding process
EP0066697A1 (en) A method and system for compressing grey scale image data
JPH07240720A (ja) チャネル変調方法、誤り訂正方法、状態マシン生成方法、コーディング方法、チャネル変調装置、誤り訂正装置
US7507897B2 (en) Dictionary-based compression of melody data and compressor/decompressor for the same
US6188793B1 (en) Encoding apparatus, decoding apparatus, encoding method and decoding method
JP3990464B2 (ja) ディジタルビデオ信号プロセッサのためのデータ効率のよい量子化テーブル
Reznik Coding of prediction residual in MPEG-4 standard for lossless audio coding (MPEG-4 ALS)
JP3960629B2 (ja) 可変長符号器を使用する伝送システム
KR20010041802A (ko) 통신 장치 및 그 작동 방법
KR20040075944A (ko) 디지털 정보신호의 데이터 압축 및 압축해제
US6636641B1 (en) Encoding apparatus, decoding apparatus, encoding method and decoding method
JPH08186723A (ja) 画像処理装置用エンコーダ
EP0798908B1 (en) Speech encoder/decoder with speech recording and reproduction functions
JP3130834B2 (ja) 移動電話機
JP2548122B2 (ja) 符号化装置
KR100490638B1 (ko) 디지털오디오신호의무손실부호화를위한부호화및복호화시스템
JPH0828668B2 (ja) 音声信号の符号化方法
JPH0856164A (ja) データ符号化復号化装置及び方法
Seena et al. Implementation of Data Compression using Huffman Coding
Buchanan et al. Data Compression
JPH07107003A (ja) パケット通信方式
JP2000299640A (ja) 適応確率推定方法、適応符号化方法、適応復号方法、適応確率推定装置、適応符号化装置及び適応復号装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060411

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060320

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060711

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070305

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070726

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

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130810

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term