JP3960627B2 - 情報を処理する方法および手段 - Google Patents
情報を処理する方法および手段 Download PDFInfo
- Publication number
- JP3960627B2 JP3960627B2 JP52991698A JP52991698A JP3960627B2 JP 3960627 B2 JP3960627 B2 JP 3960627B2 JP 52991698 A JP52991698 A JP 52991698A JP 52991698 A JP52991698 A JP 52991698A JP 3960627 B2 JP3960627 B2 JP 3960627B2
- Authority
- JP
- Japan
- Prior art keywords
- digits
- value
- binary
- message
- digit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Automatic Analysis And Handling Materials Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Analogue/Digital Conversion (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
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つのメッセージ内の文字の相対頻度を指示する値を各文字に対して計算するステップと、複数の2進ディジットからなる第1の2進コード化コードシンボルを最も高い相対頻度を有する文字に割り当てるステップがハフマンコード化に先行する。例えば、受信文字が8ビット語としてコード化されておりかつ受信メッセージに64以上の異なった文字が存在しなければ、シンボルに6ビットの語長を使用すれば十分である。
第1の2進コード化コードシンボル内の全てあるいは実質的に全ての2進ディジットが第1の2進値に選択され、例えば全てのビットは0に設定されてもよい。第1の符号化メッセージを発生するように特異なシンボルが各特異な残りの文字に割り当てられる。各シンボル内の2進ディジットは、第1の2進値を有するディジットの数が第1の符号化メッセージで最大化されるように選択される。
第1の符号化メッセージは第2の組の2進ディジットが発生されるように一層処理され、この一層の処理は第2の組のディジット内のディジットを選択してこの第2の組内の第1のビット値を有するディジットの数が第1の組内の第1のビット値を有するディジットの数よりも大きくなるようにするステップを含んでいる。
1つの好適実施例によれば、この一層の処理は、第2の組のディジットでのビットのシーケンスがメモリなしベルヌーイソースの出力に似るように第2の組のディジットを逐次的に発生するようになっている。ある別の実施例によれば、この一層の処理は、第2の組のディジットでのビットのシーケンスのエントロピーがメモリなしベルヌーイソースのエントロピーに近くかつ第2の組のディジットでのビットのシーケンスの分布が第1の符号化メッセージ内のビットの分布と実質的に無関係となるように第2の組のディジットを発生するようになっている。
本発明が向けられる問題点は変換されたメッセージが友好的な圧縮に適しているような態様でメッセージを変化する方法を提供することである。この問題点には請求項5による方法、請求項35による装置および請求項48によるコンピュータプログラム産出物(product)が対処している。
また、本発明は例えば無線リンクを介してメッセージを伝送する時に最少の帯域幅あるいは最少の電力で済むようにメッセージを符号化する問題にも向けられている。この問題には請求項1、17および39が対処している。
本発明の一実施例は符号化メッセージからASCIIコード化テキストのような情報を取り出す問題にも向けられている。この問題には請求項24、31、43および51による方法および手段が対処している。
本発明の一実施例はアナログ信号を例えば無線リンクを介して伝送するため最少の帯域幅あるいは最少の電力で済むようなアナログ信号を符号化する問題に向けられている。この問題には請求項15による方法が対処している。
本発明の一実施例はメモリ空間要求を最小限に保持したままでテキストメッセージを複数の言語で表示することができる装置を提供する問題に向けられている。この問題には請求項43による装置が対処している。
また、本発明は変換済情報が効果的な圧縮に適しているような情報を変換する装置を提供する問題にも向けられている。この問題には請求項34による装置が取り組んでいる。
更に、本発明はそれ自体最少量のメモリ空間で済む情報取出しプログラムを提供する問題にも取り組んでいる。この情報取出しプログラムの目的は圧縮メッセージからASCIIコード化テキストのような情報を取り出すことである。この問題には請求項51によるコンピュータプログラム産出物が対処している。
本発明の1つの好適実施例は情報内容が最小数の2進ディジット(ビット)によって表されるように情報をコード化することに関連する。好適なコード化は3つの主たるステップによって達成される。
最初のステップで受信メッセージの各文字はハミングシンボルに変換される。このステップの結果メッセージ内で値1を有するビットは減少する。更に、情報を表すために必要なビットの数が減少する。
第2のステップでハミングシンボルは第1のビットストリームYとして解釈され、このビットストリームは推定プロセスを受け、それにより第2のビットストリームEが発生される。この推定プロセスの結果第2のビットストリームEでの値0を有するビットの割合は第1のビットストリームYでよりも大きくなる。更に、第2のビットストリームEでのビットのシーケンスはメモリなしベルヌーイソースの出力と似るようになる。値1を有するビットの数が極めて小さくかつ第2のビットストリームEでのビットのシーケンスがメモリなしベルヌーイソースの出力と類似するために、第2のビットストリームでハフマンコード化が成功する条件が最適化される。
第3のステップで第2のビットストリームEは圧縮した組Cのビットを発生するようにハフマンコード化によって圧縮される。このステップの結果、第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は第1の組のビットYを第2の組のビットEに変換するためのコンピュータプログラム疑似コードを示す。
付属書2はビットストリームEを組Yのビットに変換するためのコンピュータプログラム疑似コードを示す。
実施例の詳細な説明
人間の言語はある数の語(ワード)からなり、これら語のあるものは他のものよりもより頻繁に使用される。各語は文字の特定の組合せによって、時によってはただ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の異なった言語のテキストメッセージとメッセージを圧縮した時に達成される対応する圧縮率との例が与えられる。この圧縮比は圧縮メッセージのサイズと変換表のサイズの和を元の組のメッセージのサイズで割ったものとして計算される。
上の例(表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のチェックがある。
yi+1=1であれば、選択された有限状態マシンの選択された状態でのカウント値Vは図3Cのボックス320において示されるように1だけ増加され、すなわちV:=V+1となる。yi+1=0であれば、選択された有限状態マシンの選択された状態でのカウント値Vは図3CのボックスS330において示されるように1だけ減少され、すなわちV:=V−1となる。
その後、ステップ340において、次の有限状態マシンMj+1が選択される。
この選択された有限状態マシンにおいて、ディジットyi1+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ビット語にソートされて記憶されてもよい。
付属書1はメッセージの組YをビットストリームEに変換するためのコンピュータプログラム疑似コードを示す。この疑似コードは図2のステップS140および図3Bおよび3Cで説明された方法に対応する。
データ復元装置
図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の値の問題に関連する。
付属書2はビットストリームEを組Yのビットに変換するためのコンピュータプログラム疑似コードを示す。この疑似コードは図8でのステップS620、すなわち図9Aおよび0Bに関連して説明された方法に対応する。
図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の必要数は次式を用いて定めることができる。
dl=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 (50)
- メッセージ内のビットの数を減少する方法であって、
当該方法は、
ビットの数を減少させた圧縮メッセージ(C)を発生するように予め定められたハフマンコード化方法に従ってメッセージを符号化するステップを具備し、このハフマンコード化が、
複数の文字を含む少なくとも1つのメッセージを受けるステップと、
各文字に対して、前記少なくとも1つのメッセージでの文字の相対頻度を表す値(p)を計算するステップと、
複数の2進ディジットからなる第1の2進コード化コードシンボル(H1)を、最も高い相対頻度(p1)を有する文字に割り当てるステップと、
第1の2進コード化コードシンボル(H1)での全てあるいは実質的に全ての2進ディジットを第1の2進値(「0」)に選択するステップと、
第1の組のディジット(Y)からなる第1の符号化メッセージを発生するように特異なシンボル(H2、H3)を各特異な残りの文字に割り当て、第1の組のディジット(Y)で第1の2進値(「0」)を有するディジットの数を最大化するように各シンボル(H2、H3)での2進ディジットが選択されるようにするステップと、
第2の組(E)の2進ディジット(ei、ei+1)を発生するように第1の組のディジット(Y)を符号化するステップと、
第2の組(E)での第1の2進値(「0」)を有するディジットの数が第1の組(Y)での第1の2進値(「0」)を有するディジットの数よりも大きくなるように第2の組のディジット(E)でのディジット(ei、ei+1)を選択するステップと、
の後に行なわれ、
第1の組のディジット(Y)を符号化する前記ステップにおける、第2の組(E)のディジット(e i )を発生する前記プロセスが、第2の組(E)のm(正の整数)の最初のディジット(e i )の値を第1の組(Y)でのm(正の整数)の最初のディジット(y i )の値に等しく設定することを含む、
ことを特徴とする方法。 - 請求項1記載の方法において、
第2の組のディジット(E)でのビット値(ei、ei+1)は、第1の組のディジット(Y)の逐次的処理を用いて逐次的に発生されるようにしたことを特徴とする方法。 - 請求項1または2記載の方法において、
第1の組のディジット(Y)の符号化は、第2の組のディジット(E)でのビットのシーケンスがメモリなしのベルヌーイソースの出力と類似するように第2の組のディジット(E)を発生するようにしたことを特徴とする方法。 - 請求項1、2または3記載の方法において、
第1の組のディジット(Y)の符号化は、第2の組のディジット(E)でのビットのシーケンスのエントロピーが第2の組(E)でのビット値の相対頻度に対応するパラメータを有するメモリなしのベルヌーイソースのエントロピーに近付くように第2の組のディジット(E)を発生するようにされ、
第2の組のディジット(E)でのビットのシーケンスの分布が第1のコード化コードメッセージ(Y)でのビットの分布とは実質的に無関係とされるようにしたことを特徴とする方法。 - 請求項1〜4のいずれか1項記載の方法において、
第2の組(E)の最初のディジット(e i )の次のディジット(e i+1 )を発生する前記プロセスが、
第1の組のディジット(Y)での多数の前のディジット(y i )に応じて予測値(p i+1 )を発生するステップと、
第1の組のディジット(Y)での実際のディジット(y i+1 )の値を読み出すステップと、
予測値(p i+1 )および実際のディジット(y i+1 )の値間のハミング距離を計算するステップと、
第2の組のディジット(E)でのディジット(e i+1 )の値を計算されたハミング距離値に等しく設定するステップと、
を含むことを特徴とする方法。 - 請求項1〜4のいずれか1項記載の方法において、
第2の組(E)の2進ディジットのディジット(e i )を発生する前記プロセスが、
第1の組のディジット(Y)での所定数(mに等しいかあるいはそれより小さい正の整数)の前のディジット(y i )に応じて予測値(p i+1 )を発生するステップと、
第1の組のディジット(Y)での実際のディジット(y i+1 )の値を読み出すステップと、
予測値(p i+1 )および実際のディジット(y i+1 )の値間のハミング距離を計算するステップと、
第2の組のディジット(E)でのディジット(e i+1 )の値を計算したハミング距離値に等しく設定するステップと、
を含むことを特徴とする方法。 - 請求項5または6記載の方法において、
予測値(p i+1 )を発生する前記プロセスが、
第1の組のディジット(Y)でのディジットに応じてそれぞれが選択可能である複数の予測器カウント値(V)を定めるステップと、
全ての予測器カウント値(V)を0に初期設定するステップと、
その後に、第1の組のディジット(Y)でのディジット(y l 〜y m )の組合せを選択するステップと、
f1)第1の組のディジット(Y)でのディジットの選択された組合せに応じて予測器カウント値(V)を選択するステップと、
f2)選択された予測器カウント値(V)を読み出すステップと、
f3)選択された予測器カウント値(V)が所定値よりも大きければ予測値(p i+1 )を第1の値に設定し、選択された予測器カウント値(V)が前記所定値よりも小さければ予測値(p i+1 )を第2の値に設定するステップと、
f4)第1の組のディジット(Y)での実際のディジット(y i+1 )の値が1に等しければ選択された予測器カウント値(V)を増加し、第1の組のディジット(Y)での実際のディジット(y i+1 )の値が0に等しければ選択された予測器カウント値(V)を減少するステップと、
f5)第1の組のディジット(Y)でのディジットの新たな組合せを選択するステップと、
第1の組のディジット(Y)での全てのディジット(y i+1 )が読み出されるまでステップf1)からf5)を繰り返すステップと、
を含むことを特徴とする方法。 - 請求項5から7のいずれか1項記載の方法において、
予測値(p i+1 )および実際のディジット(y i+1 )の値間のハミング距離を計算する前記プロセスが、
予測値(p i+1 )と実際のディジット(y i+1 )モジュロ2の値とを加算するステップを含むことを特徴とする方法。 - 情報処理装置において、第1の組(Y)の2進ディジットを含み、各前記2進ディジットが第1の値(「0」)あるいは第2の値(「1」)を有するようなメッセージを符号化する方法であって、
第1の組のビット(Y)を受けるステップと、
第1の組のビット(Y)に応じて第2の組(E)のビット(ei、ei+1)を発生するステップと、
第2の組(E)での第1の2進値を有するビットの数が第1の組(Y)での第1の2進値を有するビットの数よりも大きくなるように第2の組(E)のビット(ei、ei+1)の値を選択するステップと、
を具備し、
第2の組(E)のディジット(e i )を発生する前記プロセスが、第2の組(E)のm(正の整数)の最初のディジット(e i )の値を第1の組(Y)でのm(正の整数)の最初のディジット(y i )の値に等しく設定することを含む、ことを特徴とする符号化方法。 - 請求項9記載の符号化方法において、
前記符号化は、第2の組のビット(E)が第1の組のビット(Y)と同じ数のビットを含むようにすることを特徴とする符号化方法。 - 請求項9または10記載の符号化方法において、
第2の組のビット(E)でのビットのシーケンスの分布が第1の組のディジット(Y)でのビットの分布とほぼ無関係となるようにビット値を選択するようにしたことを特徴とする符号化方法。 - 請求項9、10または11記載の符号化方法において、
第2の組のディジット(E)でのビットのシーケンスのエントロピーがメモリなしのベルヌーイソースのエントロピーに近くなるようにビット値を選択するようにしたことを特徴とする符号化方法。 - 請求項9〜12のいずれか1項記載の符号化方法において、
前記符号化は、第2の組のディジットでのビットのシーケンスがメモリなしのベルヌーイソースの出力と類似することを特徴とする符号化方法。 - 請求項9〜13のいずれか1項記載の符号化方法において、
第2の組のディジット(E)で最初のディジット(e i )の次のディジット(ei+1)を発生する前記プロセスが、
第1の組のディジット(Y)での多数の前のディジット(yi)に応じて予測値(pi+1)を発生するステップと、
第1の組のディジット(Y)での実際のディジット(yi+1)の値を読み出すステップと、
予測値(pi+1)および実際のディジット(yi+1)の値間のハミング距離を計算するステップと、
第2の組のディジット(E)でのディジット(ei+1)の値を計算されたハミング距離値に等しく設定するステップと、
を含むことを特徴とする符号化方法。 - 請求項9〜13のいずれか1項記載の符号化方法において、
第2の組(E)の2進ディジットのディジット(ei)を発生する前記プロセスが、
第1の組のディジット(Y)での所定数(mに等しいかあるいはそれより小さい正の整数)の前のディジット(yi)に応じて予測値(pi+1)を発生するステップと、
第1の組のディジット(Y)での実際のディジット(yi+1)の値を読み出すステップと、
予測値(pi+1)および実際のディジット(yi+1)の値間のハミング距離を計算するステップと、
第2の組のディジット(E)でのディジット(ei+1)の値を計算したハミング距離値に等しく設定するステップと、
を含むことを特徴とする符号化方法。 - 請求項14または15記載の符号化方法において、
予測値(pi+1)を発生する前記プロセスが、
第1の組のディジット(Y)でのディジットに応じてそれぞれが選択可能である複数の予測器カウント値(V)を定めるステップと、
全ての予測器カウント値(V)を0に初期設定するステップと、
その後に、第1の組のディジットでのディジット(yl〜ym)の組合せを選択するステップと、
f1)第1の組のディジット(Y)でのディジットの選択された組合せに応じて予測器カウント値(V)を選択するステップと、
f2)選択された予測器カウント値(V)を読み出すステップと、
f3)選択された予測器カウント値(V)が所定値よりも大きければ予測値(pi+1)を第1の値に設定し、選択された予測器カウント値(V)が前記所定値よりも小さければ予測値(pi+1)を第2の値に設定するステップと、
f4)第1の組のディジット(Y)での実際のディジット(yi+1)の値が1に等しければ選択された予測器カウント値(V)を増加し、第1の組のディジット(Y)での実際のディジット(yi+1)の値が0に等しければ選択された予測器カウント値(V)を減少するステップと、
f5)第1の組のディジット(Y)でのディジットの新たな組合せを選択するステップと、
第1の組のディジット(Y)での全てのディジット(yi+1)が読み出されるまでステップf1)からf5)を繰り返すステップと、
を含むことを特徴とする符号化方法。 - 請求項14から16のいずれか1項記載の符号化方法において、
予測値(pi+1)および実際のディジット(yi+1)の値間のハミング距離を計算する前記プロセスが、
予測値(pi+1)と実際のディジット(yi+1)モジュロ2の値とを加算するステップを含むことを特徴とする符号化方法。 - 不均一確率密度を有する振幅を持ったアナログ信号を符号化する方法において、
複数の信号レベル範囲の1つの中にあるものとしてこの信号を量子化することと、
それぞれが第1の値(0)と第2の値(1)を有する複数の2進値ディジットを有するコード語(H)を量子化範囲に割り当てることによって量子化済信号をコード化し、その際に前記コード語が量子化レベルの発生確率と前記コード語内の第2の値(1)を有するビットの数に従って割り当てられてより高い発生確率の量子化範囲にはより低い発生確率の量子化範囲に割り当てられたものよりも第2の値(1)を有するより少ないビットを持ったコード語が割り当てられるようにすることと、
コード語のシーケンスを第1の組の2進ディジット(Y)として供給することと、
請求項9〜17のいずれか1項で定められた態様で第1の組の2進ディジット(Y)を符号化することと、
を含むことを特徴とする符号化方法。 - 請求項18記載の符号化方法において、
前記コード化ステップが、信号レベル範囲およびコード語間の索引を定めるリストを使用して行なわれるようにしたことを特徴とする符号化方法。 - 情報処理装置において、複数の文字からなるメッセージを符号化する方法であって、
1つのメッセージを受けるステップと、
それぞれが複数の2進ディジットからなり各前記2進ディジットが第1の値および第2の値を有する2進コード化シンボルを前記メッセージの各文字に割り当てて受信メッセージが第1のコード化メッセージに変換されるようにするステップと、
前記第1のコード化メッセージを第1の組のディジット(Y)として解釈するステップと、
請求項9〜17のいずれか1項で定められた態様で第1の組のディジット(Y)を符合化するステップと、
を具備することを特徴とする符号化方法。 - 請求項20記載の符号化方法において、
実質的に相対頻度が上がる順序または下がる順序で取出し可能な文字を含むリストを使用することによって変換ステップが行なわれるようにしたことを特徴とする符号化方法。 - 請求項20記載の符号化方法において、
前記変換ステップが、
複数の文字からなる少なくとも1つのメッセージを受けるステップと、
各文字に対して、前記少なくとも1つのメッセージ内の文字の相対頻度を指示する値(p)を計算するステップと、
複数の2進ディジットからなる第1の2進コード化コードシンボル(H1)を、最も高い相対頻度(p1)を有する文字に割り当て、前記第1の2進コード化コードシンボル(H1)内の全てあるいは実質的に全ての2進ディジットを第2の2進値(0)にするステップと、
を具備する方法に従って行なわれるようにしたことを特徴とする符号化方法。 - 請求項22記載の符号化において、
符号化メッセージ内の全てのシンボルに対するハミング重みの和を最小化あるいは具大化するように各シンボル(H)が発生されるようにしたことを特徴とする符号化方法。 - 請求項22記載の符号化方法において、
文字のリストを作成するステップと、
実質的に発生確率(p1、p2、p3)を減少するかあるいは増大する順序で文字が取出し可能になるように前記リストを記憶するステップと、
を含むことを特徴とする符号化方法。 - 請求項9から24のいずれか1項記載の方法において、
符号化メッセージを圧縮するステップを更に含むことを特徴とする方法。 - 請求項9から24のいずれか1項記載の方法において、
ハフマンコード化に従って第2の組のディジット(E)を符号化するステップを更に含むことを特徴とする方法。 - 第1の組のビットを含み、この第1の組が第1の数のビットを有する圧縮メッセージからメッセージを取り出す方法であって、
当該方法は、
第2の組(E)の2進ディジットを含み、この第2の組(E)が第2の数のビットを有し、この第2の数が第1の数よりも大きい第1の復号メッセージ(E)を得るように圧縮メッセージ(C)を予め定められたハフマン復号方法に従って復号するステップを具備し、
前記ハフマン復号が、
第1の復号メッセージ(E)に応じて第3の組(Y)の2進ディジットを含む第2の復号メッセージを取り出すステップの前に行なわれ、
前記第2の復号メッセージ(Y)を取り出すプロセスが、
それぞれの2進ディジット(yi、yi+1)が第1の値(「0」)あるいは第2の値(「1」)を有する第3の組(Y)の2進ディジット(yi、yi+1)を発生するように第2のコード化メッセージ(E)を復号し、その際に第3の組(Y)内の第1の2進語(「0」)を有するディジットの数が第2の組(E)内の第1の2進語を有するディジットの数よりも小さくなるように第3の組(Y)内の2進ディジット(yi、yi+1)を選択するステップと、
第3の組のディジット(Y)を1組のシンボル(H)として解釈するステップと、
シンボルおよび文字間の対応を表すリストを用いて第3の復号メッセージを取り出すように各コードシンボル(H)を対応する2進コード化文字(X)に変換するステップと、を含み、
第3の組(Y)内のディジットの2進値を選択する前記ステップが、
第3の組のディジット(Y)内の第1のディジット(y i )の値を2進ディジットの第2のメッセージ(E)内の第1のディジット(e i )に等しく設定するステップを含む
ことを特徴とする方法。 - 2進ディジットの第2のメッセージ(E)に応じて2進ディジットの第1のメッセージ(Y;H1、H2、H3)を発生するデータ復号方法において、
それぞれの2進ディジットは第1の値あるいは第2の値を有し、
第1のメッセージ(Y;H1、H2、H3)を発生するプロセスが、
第2のメッセージ(E)を受信するかまたは読み出すステップと、
第1の組の2進ディジットを取り出すように第2のメッセージ(E)に応じて第1のメッセージ(Y)を発生し、その際に第1の組(Y)内の第1の2進値を有するディジットの数が第2の組(E)内の第1の2進値を有するディジットの数より少なくなるように第1の組のディジット(Y)内の2進ディジット(yi、yi+1)を選択するようにするステップと、を含み
第1の組(Y)内のディジットの2進値を選択する前記ステップが、
第1の組のディジット(Y)内の第1のディジット(y i )の値を2進ディジットの第2のメッセージ(E)内の第1のディジット(e i )に等しく設定するステップを含む
ことを特徴とするデータ復号方法。 - 請求項28記載の復号方法において、
第2の組内のディジット(yi+1)を逐次的に発生するようにしたことを特徴とする復号方法。 - 請求項28または29記載の復号方法において、
第1の組のディジット(Y)内の継続するディジット(yi+1)を発生するプロセスが、
第1の組のディジット(Y)での多数の前のディジット(yi)に応じて予測値(pi+1)を発生するステップと、
第2の組のディジット(E)内の実際のディジット(ei+1)の値を読み出すステップと、
予測値(pi+1)および実際のディジット(ei+1)の値間のハミング距離を計算するステップと、
第1の組のディジット(Y)内の継続するディジット(yi+1)の値を計算されたハフマン距離値に等しく設定するステップと、
を含むことを特徴とする復号方法。 - 請求項30記載の復号方法において、
予測値(pi+1)を発生する前記プロセスが、
第1の組のディジット(Y)でのディジットに応じてそれぞれが選択可能である複数の予測器カウント値(V)を定めるステップと、
全ての予測器カウント値(V)を0に初期設定するステップと、その後に、
f1)予測器カウント値(V)を選択するステップと、
f2)選択された予測器カウント値(V)を読み出すステップと、
f3)選択された予測器カウント値(V)が所定値よりも大きければ予測値(pi+1)を第1の値に設定し、選択された予測器カウント値(V)が前記所定値よりも小さければ予測値(pi+1)を第2の値に設定するステップと、
f4)第1の組のディジット(Y)での実際のディジット(yi+1)の値が1に等しければ選択された予測器カウント値(V)を増加し、第1の組のディジット(Y)での実際のディジット(yi+1)の値が0に等しければ選択された予測器カウント値(V)を減少するステップと、
第1の組のディジット(Y)での全てのディジット(yifl)が読み出されるまでステップf1)からf4)を繰り返すステップと、
を含むことを特徴とする復号方法。 - 請求項31記載の復号方法において、
予測器カウント値(V)を選択する前記ステップが、
最初に、第1の組のディジット(Y)でのディジットの組合せに応じて第1の予測器カウント値(V)を選択するステップと、
その後に、現在選択されている予測器カウント値(V)と第1の組のディジットでの最も新しく発生されたディジット(yi+1)に応じて継続する予測器カウント値を選択するステップと、
を含むことを特徴とする復号方法。 - 請求項28から32のいずれか1項記載の復号方法において、
第1の組の2進ディジット(Y)を複数のコードシンボルに分割するステップを更に含むことを特徴とする復号方法。 - 請求項33記載の復号方法において、
前記複数のコードシンボルに応じてアナログ信号を発生するステップを更に含むことを特徴とする復号方法。 - 請求項33記載の復号方法において、
復号メッセージを取り出すように各コードシンボルを対応する2進コード化文字に変換するステップを更に含むことを特徴とする復号方法。 - 請求項35記載の復号方法において、
所定の順序で取出し可能な文字を含むリストを用いて、どの文字(X)が各コードシンボル(H)に割り当てられているかを定めるステップを更に含むことを特徴とする復号方法。 - メッセージを符号化する装置において、
第1の組または第2の値を各ビットが有する第1の組(Y)のディジットを受ける第1の入力(254)を具備し、
第1の出力(262)を具備し、
前記第1の入力(254)と前記第1の出力(262)とに結合された信号符号化手段(260)を具備し、
前記信号符号化手段(260)は第1の組のビット(Y)に応じて第2の組(E)のビットを発生するように設定されており、
前記信号符号化手段(260)は第2の組(E)内の第1の2進値を有するビットの数が第1の組(Y)内の第1の2進値を有するビットの数よりも大きくなるように第2の組(E)内のビット(ei、ei+1)の値を選択するように設定されており、
前記符号化手段(260)が、
第1の組のディジット(Y)での多数の前のディジット(y i )に応じて予測値(p i+1 )を発生する手段と、
第1の組のディジット(Y)での実際のディジット(y i+1 )の値を読み出す手段と、
予測値(p i+1 )および実際のディジット(y i+1 )の値間のハミング距離を計算する手段と、
第2の組のディジット(Y)での継続するディジット(e i+1 )の値を計算されたハミング距離値に等しく設定する手段と、を具備する
ことを特徴とする符号化装置。 - 請求項37記載の符号化装置において、
前記符号化手段(260)は、第2の組(E)が第1の組のビット(Y)と同数のビットを含むように動作するようにされたことを特徴とする符号化装置。 - 請求項37記載の符号化装置において、
前記符号化手段(260)が、第2の組(E)での第1のビット(ei)の値を第1の組(Y)での第1のビット(yi)の値に等しく設定する手段を具備することを特徴とする符号化装置。 - 請求項37から39のいずれか1項記載の符号化装置において、
複数の文字からなるメッセージを受ける第2の入力(210)を具備し、
第1のコード化メッセージを供給する第2の出力(252)を具備し、
前記第2の入力(210)と前記第2の出力(252)とに結合された信号処理手段(220、250)を具備し、
前記信号処理手段(220、250)は、受信メッセージを2進コードシンボル(H)からなる第1のコード化メッセージ(Y)に変換するような文字変換構成を有しており、
前記信号処理手段(220、250)は、受信文字(X)を、各コード化シンボルが複数の2進ディジットからなり各前記2進ディジットが第1の値または第2の値を有するような対応する2進コード化シンボルに変換する手段(220)を備えており、
前記第2の出力(252)が請求項37による前記第1の入力(254)に結合されている、
ことを特徴とする符号化装置。 - メッセージを復号する装置において、
各2進ディジットが第1の値または第2の値を有するような第1の組(Y)の2進ディジットを供給する第1の出力(638)を具備し、
第2の組(E)の2進ディジット(ei、ei+1)を受ける第1の入力(622)を具備し、
前記第1の入力(622)および前記第1の出力(638)に結合された復号手段(630)を具備し、
前記復号手段(630)は、前記第2の組(Y)の2進ディジットに応じて第1の組(Y)の2進ディジットを発生するように設定されており、
前記復号手段(630)は、第1の2進値を有するビットの数が符号化メッセージ(E)でのものよりも少ないように第1の組(Y)でのビット(yi、yi+1)を選択するように設定されており、
前記復号手段(630)は、第1の組(Y)でのビット(yi、yi+1)を選択する際に、第1の組のディジット(Y)内の第1のディジット(y i )の値を2進ディジットの第2のメッセージ(E)内の第1のディジット(e i )に等しく設定する
ことを特徴とする復号装置。 - 請求項41記載の復号装置において、
第1の組のビット(Y)が第2の組(E)と同数のビットを含むように前記復号手段(630)が動作するようにしたことを特徴とする復号装置。 - 請求項41記載の復号装置において、
前記第2の組(E)を受ける前記第1の入力(622)が圧縮データの組(C)からデータの組(e)を取り出す装置の出力に結合されるようにしたことを特徴とする復号装置。 - 請求項41または43記載の復号装置において、
前記第1の組(Y)の2進ディジットを受ける第2の入力を具備し、
前記第1の組(Y)の2進ディジットから複数のシンボル(H)を抽出する手段を具備し、
複数のメッセージ文字からなる復号メッセージを供給する出力を具備し、
前記第2の入力および前記出力に結合された復号手段(650)を具備し
個々の文字およびシンボル間の索引を指示するデータを含んでいるメモリ(420)を具備し、
前記復号手段(630)は、受信シンボルに応じて、前記メモリ(420)内のデータによって指示される索引に従ってメッセージ文字を選択するように構成された、
ことを特徴とする復号装置。 - 請求項44記載の復号装置において、
前記メモリデータが、前記メモリに記憶されており、シンボルおよび文字間の索引を与える文字のリストを含んでいることを特徴とする復号装置。 - 情報処理システムにおいて、
請求項37による符号化装置と、
請求項41による復号装置と、
を具備することを特徴とする情報処理システム。 - 電子装置において、
請求項37〜45のいずれか1項による装置を具備することを特徴とする電子装置。 - 請求項47記載の装置を具備することを特徴とする移動電話機。
- コンピュータに請求項1〜26のいずれか1項記載の方法を実行させるコンピュータプログラム。
- コンピュータに請求項27〜36のいずれか1項記載の方法を実行させるコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9604834-3 | 1996-12-30 | ||
SE9604834A SE512613C2 (sv) | 1996-12-30 | 1996-12-30 | Metod och organ för informationshantering |
PCT/SE1997/002159 WO1998029955A1 (en) | 1996-12-30 | 1997-12-18 | Method and means for handling information |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001507543A JP2001507543A (ja) | 2001-06-05 |
JP3960627B2 true JP3960627B2 (ja) | 2007-08-15 |
Family
ID=20405183
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52991698A Expired - Fee Related JP3960627B2 (ja) | 1996-12-30 | 1997-12-18 | 情報を処理する方法および手段 |
JP52991598A Expired - Lifetime JP3995106B2 (ja) | 1996-12-30 | 1997-12-18 | 情報を処理する方法および手段 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52991598A Expired - Lifetime JP3995106B2 (ja) | 1996-12-30 | 1997-12-18 | 情報を処理する方法および手段 |
Country Status (15)
Country | Link |
---|---|
US (2) | US6218968B1 (ja) |
EP (2) | EP0948845A1 (ja) |
JP (2) | JP3960627B2 (ja) |
KR (2) | KR100375278B1 (ja) |
CN (2) | CN1108015C (ja) |
AR (2) | AR008949A1 (ja) |
AU (2) | AU739418B2 (ja) |
BR (2) | BR9713795A (ja) |
CO (2) | CO4771137A1 (ja) |
EE (2) | EE9900324A (ja) |
HK (2) | HK1027227A1 (ja) |
MY (2) | MY118092A (ja) |
SE (1) | SE512613C2 (ja) |
TR (2) | TR199901513T2 (ja) |
WO (2) | WO1998029954A1 (ja) |
Families Citing this family (41)
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 | 삼성전자주식회사 | 허프만 코드를 효율적으로 복호화하는 방법 및 장치 |
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 |
US7499595B2 (en) * | 2004-08-18 | 2009-03-03 | Cisco Technology, Inc. | Joint amplitude and position coding for photographic image and video 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 |
US7471841B2 (en) | 2004-06-15 | 2008-12-30 | Cisco Technology, Inc. | Adaptive breakpoint for hybrid variable length coding |
US7499596B2 (en) | 2004-08-18 | 2009-03-03 | Cisco Technology, Inc. | Amplitude coding for clustered transform coefficients |
US7454076B2 (en) * | 2004-06-15 | 2008-11-18 | Cisco Technology, Inc. | Hybrid variable length coding method for low bit rate video coding |
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 |
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 |
EP1675031B1 (en) * | 2004-12-22 | 2010-01-06 | Telefonaktiebolaget L M Ericsson (Publ) | Watermarking computer program code by equivalent mathematical expressions |
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 |
RU2510942C1 (ru) * | 2012-12-05 | 2014-04-10 | Владимир Петрович Панов | Способ передачи и приема информации |
RU2510941C1 (ru) * | 2012-12-05 | 2014-04-10 | Владимир Петрович Панов | Система передачи и приема информации |
US9165649B2 (en) | 2013-12-20 | 2015-10-20 | Sandisk Technologies Inc. | Systems and methods of shaping data |
WO2015112167A1 (en) * | 2014-01-24 | 2015-07-30 | Hewlett-Packard Development Company, L.P. | 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 |
GB2593691B (en) * | 2020-03-30 | 2022-08-24 | Imagination Tech Ltd | Efficient encoding methods |
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)
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 |
-
1996
- 1996-12-30 SE SE9604834A patent/SE512613C2/sv not_active IP Right Cessation
-
1997
- 1997-12-18 WO PCT/SE1997/002158 patent/WO1998029954A1/en active IP Right Grant
- 1997-12-18 BR BR9713795-2A patent/BR9713795A/pt not_active Application Discontinuation
- 1997-12-18 KR KR10-1999-7006002A patent/KR100375278B1/ko not_active IP Right Cessation
- 1997-12-18 WO PCT/SE1997/002159 patent/WO1998029955A1/en active IP Right Grant
- 1997-12-18 EE EEP199900324A patent/EE9900324A/xx unknown
- 1997-12-18 JP JP52991698A patent/JP3960627B2/ja not_active Expired - Fee Related
- 1997-12-18 AU AU55810/98A patent/AU739418B2/en not_active Ceased
- 1997-12-18 BR BR9713639-5A patent/BR9713639A/pt not_active Application Discontinuation
- 1997-12-18 CN CN97181989A patent/CN1108015C/zh not_active Expired - Fee Related
- 1997-12-18 CN CN97181993A patent/CN1100390C/zh not_active Expired - Fee Related
- 1997-12-18 EE EEP199900325A patent/EE04409B1/xx not_active IP Right Cessation
- 1997-12-18 EP EP97952147A patent/EP0948845A1/en not_active Withdrawn
- 1997-12-18 EP EP97952148A patent/EP0948846A1/en not_active Withdrawn
- 1997-12-18 KR KR10-1999-7006001A patent/KR100378319B1/ko not_active IP Right Cessation
- 1997-12-18 JP JP52991598A patent/JP3995106B2/ja not_active Expired - Lifetime
- 1997-12-18 AU AU55811/98A patent/AU730951B2/en not_active Ceased
- 1997-12-18 TR TR1999/01513T patent/TR199901513T2/xx unknown
- 1997-12-18 TR TR1999/01505T patent/TR199901505T2/xx unknown
- 1997-12-24 US US08/998,403 patent/US6218968B1/en not_active Expired - Lifetime
- 1997-12-24 US US08/997,771 patent/US6556151B1/en not_active Expired - Lifetime
- 1997-12-27 MY MYPI97006357A patent/MY118092A/en unknown
- 1997-12-29 CO CO97075264A patent/CO4771137A1/es unknown
- 1997-12-29 CO CO97075263A patent/CO4771136A1/es unknown
- 1997-12-30 MY MYPI97006410A patent/MY121639A/en unknown
- 1997-12-30 AR ARP970106262A patent/AR008949A1/es unknown
- 1997-12-30 AR ARP970106261A patent/AR014862A1/es unknown
-
2000
- 2000-09-27 HK HK00106150A patent/HK1027227A1/xx not_active IP Right Cessation
- 2000-09-28 HK HK00106183A patent/HK1027228A1/xx not_active IP Right Cessation
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3960627B2 (ja) | 情報を処理する方法および手段 | |
JP3459030B2 (ja) | 符号化システム | |
US5408234A (en) | Multi-codebook coding process | |
US6320522B1 (en) | Encoding and decoding apparatus with matching length detection means for symbol strings | |
JP4801776B2 (ja) | データ圧縮 | |
US5673042A (en) | Method of and an apparatus for compressing/decompressing data | |
JPH07240720A (ja) | チャネル変調方法、誤り訂正方法、状態マシン生成方法、コーディング方法、チャネル変調装置、誤り訂正装置 | |
US5877711A (en) | Method and apparatus for performing adaptive data compression | |
US7507897B2 (en) | Dictionary-based compression of melody data and compressor/decompressor for the same | |
CA2762782A1 (en) | Method for variable length coding and apparatus | |
JP3990464B2 (ja) | ディジタルビデオ信号プロセッサのためのデータ効率のよい量子化テーブル | |
JP3960629B2 (ja) | 可変長符号器を使用する伝送システム | |
KR20010041802A (ko) | 통신 장치 및 그 작동 방법 | |
KR100453142B1 (ko) | 이동통신 단말기에서의 사운드 압축 방법 | |
KR20040075944A (ko) | 디지털 정보신호의 데이터 압축 및 압축해제 | |
JPH08186723A (ja) | 画像処理装置用エンコーダ | |
EP2113845A1 (en) | Character conversion method and apparatus | |
JP2005521324A (ja) | 損失のないデータの圧縮および圧縮解除方法および装置 | |
KR20030096504A (ko) | 이진 산술 부호화를 이용한 다중 부호 데이터 압축 방법및 장치 | |
JP2838964B2 (ja) | 可変長符号化回路 | |
JPH0856164A (ja) | データ符号化復号化装置及び方法 | |
CN117465471A (zh) | 一种针对文本文件的无损压缩系统及其压缩方法 | |
Seena et al. | Implementation of Data Compression using Huffman Coding | |
JP2002297194A (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: 20060410 |
|
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 |
|
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: 20070417 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20070406 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070515 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |