(57)【要約】簡潔に言えば、1つの態様に従って、データ符号化方法を説明する。2009542094.tif 000007
2009542094.tif 000002
【特許請求の範囲】
【請求項１】
期待された生起確率によって順位づけられたN個の記号の記号体系を符号化する方法であって、以下の工程を含む、方法：
閾値確率Tを割り当てる工程；
閾値確率Tよりも高い生起確率を有する記号を可変長符号で符号化する工程；および
閾値確率と実質的に同じかまたはそれよりも低い生起確率を有する記号を固定長符号で符号化する工程。
【請求項２】
可変長符号がハフマン符号を含む、請求項1記載の方法。
【請求項３】
固定長符号が、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、閾値確率Tから、および閾値確率Tよりも低い生起確率を有する任意の他の記号から、所与の記号を一意に識別する第2の符号を含む、請求項1記載の方法。
【請求項４】
符号化が2進符号化を含む、請求項1記載の方法。
【請求項５】
固定長符号が、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、値域1からN-Tまでの数字の2進表現を表示する第2の符号を含む、請求項4記載の方法。
【請求項６】
第1の符号が、0および/または1の列を含む、請求項5記載の方法。
【請求項７】
N-T+1が2の累乗になるように選択される、請求項6記載の方法。
【請求項８】
2進データのストリームを符号化するために、記号が一連のビットによって表現される、請求項1記載の方法。
【請求項９】
記号がランの長さを使用して表現される、請求項1記載の方法。
【請求項１０】
命令を記憶させた記憶媒体を含む物品であって、
該命令が実行されると、以下のように、期待された生起確率によって順位づけられたN個の記号の記号体系を符号化する方法が結果として遂行される、物品：
閾値確率Tを割り当てる工程；
閾値確率Tよりも高い生起確率を有する記号を可変長符号で符号化する工程；および
閾値確率と実質的に同じかまたはそれよりも低い生起確率を有する記号を固定長符号で符号化する工程。
【請求項１１】
命令が実行されると、ハフマン符号を含む可変長符号を更にもたらす、請求項10記載の物品。
【請求項１２】
命令が実行されると、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、閾値確率Tから、および閾値確率Tよりも低い生起確率を有する任意の他の記号から、所与の記号を一意に識別する第2の符号を含む固定長符号を更にもたらす、請求項10記載の物品。
【請求項１３】
命令が実行されると、2進符号化を含む符号化を更にもたらす、請求項10記載の物品。
【請求項１４】
命令が実行されると、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、値域1からN-Tまでの数字の2進表現を表示する第2の符号を含む固定長符号を更にもたらす、請求項13記載の物品。
【請求項１５】
命令が実行されると、0および/または1の列を含む第1の符号を更にもたらす、請求項14記載の物品。
【請求項１６】
命令が実行されると、N-T+1が2の累乗になるように選択されることを更にもたらす、請求項15記載の物品。
【請求項１７】
命令が実行されると、2進データのストリームを符号化するために、記号が一連のビットによって表現されることを更にもたらす、請求項10記載の物品。
【請求項１８】
命令が実行されると、記号がランの長さを使用して表現されることを更にもたらす、請求項10記載の物品。
【請求項１９】
期待された生起確率によって順位づけられたN個の記号の記号体系について、閾値確率Tを割り当てる手段と、
閾値確率Tよりも高い生起確率を有する記号を可変長符号で符号化する手段と、
閾値確率と実質的に同じかまたはそれよりも低い生起確率を有する記号を固定長符号で符号化する手段と
を含む装置。
【請求項２０】
記号を可変長符号で符号化する手段が、記号をハフマン符号で符号化する手段を含む、請求項19記載の装置。
【請求項２１】
符号化されるべき固定長符号が、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、閾値確率Tから、および閾値確率Tよりも低い生起確率を有する任意の他の記号から、所与の記号を一意に識別する第2の符号を含む、請求項19記載の装置。
【請求項２２】
符号化が2進符号化を含む、請求項19記載の装置。
【請求項２３】
符号化されるべき固定長符号が、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、値域1からN-Tまでの数字の2進表現を表示する第2の符号を含む、請求項22記載の装置。
【請求項２４】
符号化されるべき第1の符号が、0および/または1の列を含む、請求項23記載の装置。
【請求項２５】
N-T+1が2の累乗になるように選択される、請求項24記載の装置。
【請求項２６】
2進データのストリームを符号化するために、記号が一連のビットによって表現される、請求項19記載の装置。
【請求項２７】
記号がランの長さを使用して表現される、請求項19記載の装置。
【請求項２８】
コンピュータ・プラットフォームを含む装置であって、期待された生起確率によって順位づけられたN個の記号の記号体系について、該プラットフォームが、閾値確率Tを割り当て、閾値確率Tよりも高い生起確率を有する記号を可変長符号で符号化し、かつ閾値確率と実質的に同じかまたはそれよりも低い生起確率を有する記号を固定長符号で符号化するように適応された、装置。
【請求項２９】
コンピューティング・プラットフォームが、可変長符号がハフマン符号を含むように更に適応される、請求項28記載の装置。
【請求項３０】
コンピューティング・プラットフォームが、固定長符号が、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、閾値確率Tから、および閾値確率Tよりも低い生起確率を有する任意の他の記号から、所与の記号を一意に識別する第2の符号を含むように更に適応される、請求項28記載の装置。
【請求項３１】
コンピューティング・プラットフォームが、符号化が2進符号化を含むように更に適応される、請求項28記載の装置。
【請求項３２】
コンピューティング・プラットフォームが、固定長符号が、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、値域1からN-Tまでの数字の2進表現を表示する第2の符号を含むように更に適応される、請求項31記載の装置。
【請求項３３】
コンピューティング・プラットフォームが、第1の符号が0および/または1の列を含むように更に適応される、請求項32記載の装置。
【請求項３４】
コンピューティング・プラットフォームが、N-T+1が2の累乗になるよう選択されるように更に適応される、請求項33記載の装置。
【請求項３５】
コンピューティング・プラットフォームが、2進データのストリームを符号化するために、記号が一連のビットによって表現されるように更に適応される、請求項28記載の装置。
【請求項３６】
コンピューティング・プラットフォームが、記号がランの長さを使用して表現されるように更に適応される、請求項28記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
分野
本特許出願は、データ符号化に関する。
【背景技術】
【０００２】
背景
周知のように、記憶または送信のための効率的なデータ符号化は、新しいアプローチが探求される領域であり続けている。例えば、データが、例えば圧縮によってより効率的に符号化されるならば、符号化されるべきデータを記憶するメモリの量は低減される場合がある。同様に、通信システムにおいて、データが、例えば所与の帯域幅の通信チャネルについて効率的に符号化されるならば、潜在的に、より多くの情報が、所与の時間単位内に送信される場合がある。これらの目標および多くの他の目標は、データの効率的な符号化方法の目的であってもよい。
【０００３】
主題は、本明細書の終結部分で特に指摘されると共に明確に主張される。しかしながら、主張される主題は、機構および動作方法の双方、ならびに前記主題の目的、特質、および利点に関して、下記の詳細な説明を参照することによって、添付の図面と一緒に読まれるならば、最良に理解され得る。
【発明の概要】
【０００４】
本発明は、期待された生起確率によって順位づけられたN個の記号の記号体系を符号化する方法、物品、および装置である。
【図面の簡単な説明】
【０００５】
【図１】ハフマン符号の1つの態様を図解する線図および表である。
【図２】例えば、主張される主題に従ったデータ符号化の態様を図解する線図および表である。
【発明を実施するための形態】
【０００６】
詳細な説明
以下の詳細な説明において、多くの具体的細部を記述し、主張される主題の徹底的理解を提供する。しかしながら、主張される主題は、これらの具体的細部なしに実施されてもよいことが、当業者によって理解されると考えられる。他の場合には、周知の方法、手続き、コンポーネント、および/または回路は、主張される主題を不明瞭にすることが無いように、詳細に説明されていない。
【０００７】
以下の詳細な説明の幾つかの部分は、コンピューティング・システムの中、例えば、コンピュータおよび/またはコンピューティング・システム・メモリの中に記憶されたデータ・ビットおよび/または2進ディジタル信号への動作のアルゴリズムおよび/または記号表現の見地から提示される。これらのアルゴリズムの説明および/または表現は、データ処理技術分野の当業者によって使用される手法であり、当業者の成果の実体を他の当業者へ伝達する。アルゴリズムは、本明細書において、および一般的に、所望の結果へつながる動作および/または同類の処理の首尾一貫した列であると考えられる。動作および/または処理は、物理量の物理的操作を伴ってもよい。典型的には、必ずというわけではないが、これらの量は、記憶、転送、結合、比較および/または操作され得る電気および/または磁気信号の形態を取ってもよい。時には、主として共通使用を理由として、これらの信号をビット、データ、値、要素、記号、文字、項、数、数字および/またはその他として参照することが便利であることが証明されている。しかしながら、これらおよび同類の用語の全ては、適当な物理量に関連づけられるべきであり、単に便宜的なラベルであることを理解すべきである。そうでないことが具体的に陳述されない限り、以下の論議から明らかであるように、本明細書の全体を通して、「処理」、「コンピューティング」、「計算」、「決定」、および/またはその他の用語を利用する論議は、コンピューティング・プラットフォームのプロセッサ、メモリ、レジスタ、および/または他の情報記憶デバイス、送信デバイス、および/もしくは表示デバイス内で、物理的な電子量および/または磁気量および/または他の物理量として表現されたデータを操作および/または変換するコンピューティング・プラットフォーム、例えば、コンピュータまたは同類の電子コンピューティング・デバイスの行動および/またはプロセスを指すことが理解される。
【０００８】
送信のためにデータを符号化する1つの普通の方途であって、実行時間に特定の応用を見いだせる方途は、可変長符号器（VLC）を手段とする。可変長符号は、記号のストリームを記憶または送る「コスト」を低減する方法として広く使用されている。それは、多くの典型的な応用で遭遇されるように、通常、メッセージについて可能な記号の生起確率が等しくない状況へ適用される。可変長符号（VLC）は記号と置換され、短い符号は頻繁に生起する記号に使用され、より長い符号は頻繁でない符号に使用される。このようにして、符号の平均長が低減されてもよい。最良に公知の汎用VLCはハフマン符号と呼ばれるが、ファノ/シャノン符号を含む多くの他の符号が存在する。ハフマン符号の詳細は、Huffman, D:‘A method for the constructions of minimum redundancy codes', Pro. Inst. Radio Eng., 1952, 9, (40), pp 1098-1101に見いだされる。当然、主張される主題はハフマン符号へ範囲を限定されない。
【０００９】
モールス符号も、Eのような頻繁に生起する英字を短い符号（1つのドット）で置換し、他の英字、例えば、Qを、より長い符号（ダッシュ・ドット・ドット・ダッシュ）で置換する点でVLCである。別な例証は、単純な英語のテキストを符号化することである。一般的に、記号体系の英字は、異なる頻度で生起する。Eは最も普通の記号であり、T A O I N S H R D L Uの順序でこれに続く。これらは同程度に確からしいわけではないので、例えば、効率的な2進符号は、他の記号よりもEへ、より少ないビットを割り当てる。
【００１０】
主張される主題は、この点に関して範囲を限定されないが、可能な態様の1つの例は、期待された生起確率によって順位づけられたN個の記号の記号体系を符号化する方法を含む。ここでNは正の整数数字である。そのような方法の態様は、例えば、Tが正の整数数字である閾値順位Tを定義する工程、Tよりも高い順位を有する記号を可変長符号で符号化する工程、およびTまたはそれよりも低い順位の記号を固定長符号で符号化する工程を含んでもよい。繰り返すが、これは単なる例であり、主張される主題はこの特定の例へ範囲を限定されない。当然、主張される主題は、慣例によって、より高い順位またはより低い順位である記号を採用することに範囲を限定されない。主張される主題は、より高い順位またはより低い順位に関する慣例に関して、全てのそのような態様を含むことが意図される。したがって、幾つかの態様において、より高い順位は、特定の記号のより高い生起確率を指してもよく、他の態様において、より高い順位は、特定の記号のより低い生起確率を指してもよい。
【００１１】
この例示的な態様を続けて、例えば、Tよりも高い順位のより普通の記号を、可変長符号器（VLC）、例えば1つの例としてハフマン符号器を使用して符号化してもよい。Tかまたはそれより低い順位のこれらの記号を、固定長符号も使用して符号化してもよい。
【００１２】
したがって、この特定の態様について、記号の集合のための符号は2つの構成要素を含んでもよい。即ち、符号が相互に区別されてもよいように十分に一意に符号化される、可変長の符号の第1の集合、および或る数のビットを有し、より高い生起確率の記号の集合とより低い生起確率の記号の集合とを少なくとも十分に区別し、より低い生起確率の記号の集合の中で符号を区別する固定長の符号部分の第2の集合である。
【００１３】
主張される主題は、特定の態様に限定されないことが、当然注意される。したがって、データの符号化方法を包含することに加えて、主張される主題は、例えば、そのような方法を組み込んだソフトウェアおよび符号器（ハードウェアまたはソフトウェアで実現されるに拘わらず）を包含することも意図される。主張される主題は、そのような方法を体現するビデオまたはオーディオ・コーデック、および/またはデータが説明もしくは主張されるような方法に従ってエンコードされるビデオまたはオーディオ圧縮システムを含むことも意図される。例えば、態様は、遠隔端の復号器によって再構築されるように通信チャネルを横切ってデータを送信することを含んでもよい。同様に、あるいは、主張される主題に従った他の態様において、符号化されたデータは、送信されるのではなく記憶されてもよい。このようにして、主張される主題は、この後で一層詳細に説明されるように、これらの態様ならびに他の態様を包含することが意図される。
【００１４】
ここで図1を参照すると、ハフマン符号は符号化木を定義することによって決定または構築されてもよい。符号化木において、記号の生起確率は木の上の葉として指定される。主張される主題は、この例またはハフマン符号またはハフマン木を採用して、符号、例えばハフマン符号を構築することへ範囲を限定されないが、そのような木の例または態様を、図1で図解する。それにも拘わらず、図解目的のこの単純な例を続けると、木、例えば図1の木100を形成するため、符号化されるべきデータの中で生起する記号は、それら記号の確率の順序で順位づけられる。2つの最も低い確率は、この例では合計されて新しい確率を形成し、2進符号の0および1を与えられ、第1のノードから分離する2つの分岐としてそれら確率を区別する。それらの確率は加えられ、このノードへ割り当てられる。確率を組み合わせることおよび特徴的な2進ビットの接頭辞を付けることを、最後の2つの確率に到達するまで、木の分岐に沿って継続する（これは、周知のように1へ合算されるべきである）。
【００１５】
構築されていない木を使用して、例えば、符号語は、特定の所望の記号を収容する葉を突き止め、葉から根へ分岐を上方へ移動し、路に沿った特徴的な2進ディジットを集団化することによって形成されてもよい。それによって、2進ディジットの集団化は、使用されるべき符号語を形成する。このプロセスを観察する他の方途は、根ノードまで路沿いに横断した特定ノードでの木の2つの分岐に対応して、2進ディジット0および1が、符号が構築されるにつれて符号へ接頭辞として付けられることである。
【００１６】
図1で示される例を見ると、例えば、8つの記号が、この簡単な2進木を使用して「ハフマン符号化」されている。この木は2進木と呼ばれる。なぜなら、ノードは2つの分岐を有するからである。記号は木の上のノードによって表現され、ノードからの左向きの分岐は0ビットを表示し、右向きの分岐は1ビットを表示する。
【００１７】
再び、上記で暗に示されたように、特定の記号について符号語を生成するためには、所望の記号を収容する葉を見いだし、根に至るまで横断された分岐について追加ビットを取り上げながら（例えば、接頭辞を付ける）、木を根の方へ横断する。復号するためには反対のパスが用いられ、根からスタートして、葉が到達されるまで符号内の連続ビットによって指定されたパスを木の下方へたどる。到達された葉に、復号された記号が見いだされる。
【００１８】
この単純な例において、記号1から8は、通信チャネルを横切って送られるか記憶されるデータ・ストリーム内の、実際の記号を表現する。この例におけるように、データ・ストリーム内で生起する記号は、それら記号の生起確率の順序で順位づけられてもよく、例えば、最も頻繁に生起する記号は符号語1を割り当てられ、2番目に最も頻繁に生起する記号は符号語01を割り当てられるなどされる。もっとも、これは単に符号語の1つの可能な割り当てであり、主張される主題は、この割り当てまたは符号語の任意の他の特定の割り当てに範囲を限定されない。
【００１９】
記号の生起頻度が知られていれば、順位づけは、それに基づいて行われてもよい。そのような頻度が知られていなければ、順位づけは、少なくとも部分的に、期待または予想される確率に基づいてもよい。同様に、少なくとも部分的に構造の対称性に起因して、木の構築および符号の形成における任意のノードでの記号0および1の役割転置は同値である。
【００２０】
同様に、木は、符号化が継続するにつれて、変化する確率に応答して「再構築」されてもよい。例えば、記号生起の順位づけ順序が変化するならば、例えば、木を再構築することによって、より良好な符号が構築されるかもしれない。ハフマン符号化は、しばしば上記のように符号化木の見地から説明されるが、典型的には、2進木を介する実現は、符号を作るための確率表、およびこれを実現するためのルックアップ・テーブルを使用することよりも効率が悪い場合がある。更に、ノード分離における分岐へのビット割り当ては、例えば、逆にされてもよいので、取得された特定の符号は必ずしも一意でない場合がある。その上、2つより多い確率が等しい場合があり、集団化するための記号の恣意的な選択を与える。このようにして、確率の特定のリストについて、数個の異なる木が同値の場合があり、これらの異なる木は、幾つかの場合、相互に、より長いかより短くてもよい。しかしながら、これらの木の変動があり得るにも拘わらず、同じ確率の上に作られたハフマン木のエントロピーは同じであり、一般的に、VLCで可能な最小のエントロピーである。
【００２１】
情報理論において周知であるように、記号当たりで送信されるビットの見地から見た送信の期待「コスト」は、任意の符号器について計算されてもよい。N個の記号の記号体系において、正の整数数字であるN、記号kの生起確率p(k)、記号kを符号化する理論コストlog2p(k)ビットから、次のように記号確率によって記号コストを加重することによって、記号源のエントロピーと呼ばれる記号符号化の平均コストBが得られる。
2009542094.tif 000003
【００２２】
例えば、単純な符号器は、k個のビットを割り当てて記号kを通信してもよい。これは可変長符号（VLC）の1つの例である。このVLCはハフマン符号を含んでも含まなくてもよい。この例において、この特定の符号によってメッセージを送る理論コストは、次の通りである。
2009542094.tif 000004
更に、記号kの確率が正に1/2kであれば、log2p(k) = -kであり、この特定のケースでのこの符号は、正確に理論コストを達成する。同様に、記号kが確率1/2kを有するならば、産出される符号は、図1で図解されるように、上記の例で説明されたハフマン符号であることが判明する。
【００２３】
ハフマン符号のエントロピーは、一般的に、採用され得る任意のVLCの最低エントロピーである。もっとも、ハフマン符号は必ずしも理論コストを達成するとは限らない。理論コストは、上記で引用されたケースのように、記号kの確率が1/2kである場合に起こる。その上、ハフマン符号は全ての符号の中で必ずしも最も効率的な符号ではない。例えば、同じように全く単純であるがVLCではないGolomb符号が、下記の例で示されるように、時にはより効率的な場合がある。本明細書では算術符号と呼ばれる符号化方法の他のファミリーは、理論コストに近づく能力を有し、したがってハフマン符号よりも効率的な場合がある。もっとも、そのような符号は複雑であり、この目標に調和させるのが困難な場合がある。
【００２４】
ハフマン符号に関連づけられた1つの欠点は、大きな記号体系内の頻度の低い記号の符号が長い場合があることである。短いメッセージにおけるそのような記号の生起は、時には破壊的であり得る。例えば、比較的高い圧縮率での画像圧縮において、画像ブロックを符号化するために使用される幾つかの記号のハフマン符号は、ブロックについての「予算」よりも大きいかもしれず、ブロックが符号化され得ない状況、または画像の他の構成要素からのビットが特定のブロックへ割り振られる状況を生み出し、そのため、そのようなビットが割り振られる画像の構成要素の画像品質に影響を与える。同様に、実際上（特に、もし適応すれば）、木の構築は確率から構築されてもよく、前記確率はデータが記号源から発生する時のデータから推定される。したがって言い換えると、確率は推定され、そのため短い符号を構築する機会は、少なくとも部分的に、推定値の潜在的誤差に起因して見過ごされる場合がある。
【００２５】
主張される主題に従った態様は、少なくとも部分的に、前に説明された技術問題の幾つかに対処してもよく、その上符号が適応型および/または効率的であることを可能にする。1つの特定の態様において、例えば少なくとも部分的に特定の確率に基づいて、より少ない頻度で生起する若干の記号は、VLCによって符号化されなくてもよく、その代わりに、同じ数のビットを採用してもよい。要求されるわけではないが、時には、この数は2の累乗であることが望ましい場合がある。
【００２６】
例えば、確率の降順に配列され、値域1からNの中の閾値Tを有するN個の記号の場合、記号1からT-1はVLCによって符号化されると想定する。これらの記号の残りのN-T+1は、この例ではTからNまでの番号を付けられ、固定長符号によって符号化されてもよい。固定長符号の長さは、残りの記号を符号化するのに十分であるが、固定されているために、使用されたかもしれない最も長いVLCほどは長くない。この固定長符号は、例えば符号などの特定の記号が値域1からT-1の中に無いことを表示するビット列と組み合わせられる。このようにして、このアプローチは、ハフマン符号に関して上記で言及された潜在的な破壊を低減する。
【００２７】
下記で、最適であることが公知のハフマン符号器を伴う例が提供される。最適とは、この文脈では、実際の符号が平均して理論的エントロピーを達成することを意味する。この例において、8つの記号の確率は1/2、1/4、...のように割り当てられ、したがって記号ストリームの理論的エントロピーは、記号当たり1.9844ビットである。そのような状況でのハフマン符号器は、平均してこれを正確に達成する。
【００２８】
しかしながら、T=5の閾値が使用された例示的な態様が、図2で示される。このようにして、この態様について上記で解明されたように、この特定の例では、最後の4つの記号は、2つのビットを特殊な初期符号（ここでは0000）へ接尾辞として付けることによって符号化される。初期符号は、これらの記号がVLC符号化されなかったことを復号器へ合図する。使用されたかもしれない可能なVLC符号から固定長符号を区別することに関して、復号器が曖昧さを生み出されなければ、特殊な接頭辞符号が合図の目的に便利な何かを含んでもよいことが当然理解される。
【００２９】
図2の上方部分は、この特定の符号化スキームを表現する木構造を示す。もっとも、これは単なる図解の例であり、主張される主題はこの特定の例へ範囲を限定されない。それにも拘わらず、この例において、記号1から4は前と同じようにVLCによって符号化されるが、記号5から8は示されるように全て共通ノードから発散する。そのノードへのリンクまたは分岐は、固定長の2ビット符号を表現すると考えてもよく、この2ビット符号は、再び示されるように、最終の記号、即ち、00、01、10および11を識別する。前と同じように、特定の記号について符号語を生成するためには、根からこの記号を表現する葉ノードまで木を横断する。
【００３０】
示された例において、符号0000は木の構造から発生する。それで、符号の初期構成要素0000は、根から木を横断し、4レベル下方へ0リンクまで進む命令として読まれてもよい。次いで、適切な残りのリンクまたは分岐、即ち、00、01、10、または11をたどることによって、所望の葉に到達してもよい。
【００３１】
より一般的には、Tまたはこれより低く順位づけられる記号の符号語の初期構成要素は、ここでは低い生起確率を表示し、最終ノードに到達するために横断される木のリンクを表現する。最終ノードから、比較的低い頻度の記号に関連づけられた葉が分岐する。他の態様（示さず）において、低い頻度の記号は、例えば、図2のラベル4のノードから分岐してもよい。このケースでは、固定長符号語の初期構成要素は、0000ではなく0001を含んでもよい。
【００３２】
当然、そのような符号の正確な形態は変動してもよい。しかしながら、復号器は或る特殊符号を認識する能力を有することが望ましい。該特殊符号は、例えば、固定長符号が追随することを表示する。更に、実現において、ルックアップ・テーブルが木横断アプローチに対して、利便性および他の潜在的利点を提供する場合がある。もっとも、この方が望ましいが、多様な異なる因子に依存してもよい。因子の中には、少なくとも部分的に、特定の応用または状況が含まれる。
【００３３】
この例において、記号確率が1/2、1/4、等々であることを想起すると、この例示的な態様で1記号当たりに使用される平均ビット数を、図1のハフマン符号について1記号当たりに使用される平均ビット数と比較するため、次の表が構築されてもよい。
2009542094.tif 000005
ここで、例示的な態様は、記号5について効率が低いが、記号7および8について効率が高いことに注意されたい。これらの最後の2つは頻繁には生起しない。全体では、結果として、この例示的な態様は、ここで採用されてもよいハフマン符号器よりも効率が低いが、わずかに低いだけである。
【００３４】
この混成可変/固定長符号（V/FLC）によって使用される平均ビット数は2.0である。この数は、ここでは1.9844であるハフマン符号よりも、1％に満たない悪さである。しかしながら、この値はハフマンの最適ケースである。ここでは記号5である閾値記号Tは、ハフマン符号器よりも悪いことが分かる。しかしながら、記号がまれになれば、符号は短くなる。このようにして、まれな記号は、より効率的に符号化され、この例ではより短い符号を有する。
【００３５】
1からT-1までの記号kについてVLCがkビットの長さであれば、そのようなV/FLCの1記号当たりのビットの理論コストは、次のように表現されてもよい。
2009542094.tif 000006
【００３６】
1つの代替の態様において、最初のT-1個の記号についてVLCを構築するためハフマン手続きが適用されてもよく、またはそのVLCプロセスが現在公知であるか将来後で開発されるかに関わりなく、任意の他のVLCプロセスを適用してもよい。ハフマン手続きを使用するに当たっては、例えば、固定長ビット数によって区別されるべきN-T+1個の記号TからNまで（およびそれらの確率）を集団化してもよい。N-T+1が2の累乗であれば、周知のようにそれらの記号は通常、必ずというわけではないが、2進数を取得するため、それら記号を数えることによって、log2(N-T+1)個のビットの全ての可能な組み合わせで列挙され得る。言い換えれば、符号は効率的である。なぜなら、2進数でないものは使用されないからである。
【００３７】
主張される主題に従った態様は、多様な応用で使用されてもよく、符号化される記号の情報内容によって制限されない。記号は、例えば、テキスト文字、静止画像または動画像内の画素値、オーディオ・システム内の振幅、および/または他の可能な値または属性を表現してもよい。他の態様において、主張される主題に従った方法は、ランレングス符号器の基礎を提供してもよい。態様は、記号が、例えば、一連のビットによって表現される場合のように、2進データのストリーム、および他の潜在的な変種をエンコードするために使用されてもよい。
【００３８】
主張される主題に従った態様は、全ての型のデータの符号化に適用されてもよい。そのようなデータの中には、例えば記号データなどの符号化の適用前に任意の便利なマッピングによって数字形態へ変換される非数字データが含まれる。注意されるように、態様はランレングス符号化で良好な性能を発揮する。もっとも、主張される主題はこの応用に限定されないことが当然理解される。主張される主題の態様は、多数の異なる型のデータ符号化の任意の1つへ適用されることが意図される。したがって、主張される主題は、この主題が適用されるデータの型の見地から限定されることを意図されない。
【００３９】
特定の態様が今正に説明されたが、主張される主題は、特定の態様または実現へ範囲を限定されないことが当然理解される。例えば、1つの態様はハードウェアであってもよく、例えば、デバイスまたはデバイスの組み合わせで動作するように実現され、他の態様はソフトウェアであってもよい。同様に、態様はファームウェアで実現されるか、または例えば、ハードウェア、ソフトウェア、および/またはファームウェアの任意の組み合わせとして実現されてもよい。同様に、主張される主題は、この点に関して範囲を限定されないが、1つの態様は一つまたは複数の物品、例えば、一つまたは複数の記憶媒体を含んでもよい。一つもしくは複数のCD-ROMおよび/またはディスクなどのこの記憶媒体は、これらの上に命令を記憶されていてもよく、該命令は、システム、例えば、コンピュータ・システム、コンピューティング・プラットフォーム、または他のシステムによって実行された時、主張される主題に従った方法の態様、例えば、前に説明された態様の1つが実行される結果となってもよい。1つの潜在的な例として、コンピューティング・プラットフォームは、一つもしくは複数の処理ユニットまたはプロセッサ、一つまたは複数の入力/出力デバイス、例えば、ディスプレイ、キーボードおよび/またはマウス、および/または一つもしくは複数のメモリ、例えば、スタティックランダムアクセスメモリ、ダイナミックランダムアクセスメモリ、フラッシュ・メモリ、および/またはハードドライブを含んでもよい。
【００４０】
先立つ説明では、主張される主題の様々な局面を説明した。解明を目的として、具体的な数、システムおよび/または構成を記述し、主張される主題の徹底的理解を提供した。しかしながら、主張される主題は具体的細部なしに実施されてもよいことは、この開示の恩典を有する当業者に明らかである。他の場合には、周知の特質を省略および/または単純化し、主張される主題を不明瞭にしないようにした。若干の特質が本明細書で図解および/または説明されたが、多くの修正、置換、変更および/または同等物が、今では当業者の念頭に生起する。したがって、添付された特許請求の範囲は、主張される主題の真の精神に入る全てのそのような修正および/または変更を包含するように意図されることが理解されるべきである。
【図１】
2009542094.tif 000008
【図２】
2009542094.tif 000009
【手続補正書】
【提出日】平成21年3月24日(2009.3.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
閾値順位よりも高い順位を有するデータ記号を、可変長の符号の集合で符号化する工程、および
閾値順位と等しいかまたはそれよりも低い順位を有するデータ記号を、固定長符号で符号化する工程
を含む方法。
【請求項２】
符号化の少なくとも1つが2進符号化を含む、請求項1記載の方法。
【請求項３】
可変長の符号の集合がハフマン符号を含む、請求項1記載の方法。
【請求項４】
データ記号が複数のN個のデータ記号の要素であり、かつ
固定長符号が、
データ記号が閾値順位Tよりも高い順位を有する場合に用いられる可変長符号よりも異なる第1の符号、および
データ記号を一意に識別し、かつ値域1から(N-T)の中の数字の2進表現を表示する第2の符号
を含む、請求項1記載の方法。
【請求項５】
第1の符号が、0および1の少なくとも1つの列を含む、請求項4記載の方法。
【請求項６】
データ記号が複数のN個のデータ記号の要素であり、かつN-T+1が2の累乗と等しい、請求項4記載の方法。
【請求項７】
データ記号が一連のビットを含む、請求項1記載の方法。
【請求項８】
データ記号が、テキスト文字、画素値、およびオーディオ振幅のうちの少なくとも1つを含む、請求項1記載の方法。
【請求項９】
データ記号が非数字データを表現する、請求項1記載の方法。
【請求項１０】
第2のデータ記号に対するデータ記号が、期待される生起確率に従って順位づけされる工程をさらに含む、請求項1記載の方法。
【請求項１１】
第2のデータ記号に対するデータ記号が、生起の頻度に従って順位づけされる工程をさらに含む、請求項1記載の方法。
【請求項１２】
データ記号が可変長の符号の集合で符号化される場合、第2のデータ記号を固定長符号で符号化する工程、および
データ記号が固定長符号で符号化される場合、第2のデータ記号を可変長の符号の集合で符号化する工程
をさらに含む、請求項1記載の方法。
【請求項１３】
データ記号が単一の符号のように符号化され、かつ数が、データ記号の1つの連続する同一の生起からなる列に割り当てられる、請求項1記載の方法。
【請求項１４】
閾値順位よりも高い順位を有するデータ記号を、可変長符号で符号化するよう構成される第1のデバイスと、
閾値順位と等しいかまたはそれよりも低い順位を有するデータ記号を、固定長符号で符号化するよう構成される第2のデバイスと
を含むシステム。
【請求項１５】
第1のデバイスおよび第2のデバイスのうちの少なくとも1つが、電子計算デバイスである、請求項14記載のシステム。
【請求項１６】
第1のデバイスおよび第2のデバイスのうちの少なくとも1つが、コーデックである、請求項14記載のシステム。
【請求項１７】
記録させたコンピュータプログラム符号を有する、コンピュータ読み込み可能な記憶媒体であって、
該コンピュータプログラム符号がプロセッサにより実行された場合、
閾値順位よりも高い順位を有するデータ記号を、可変長符号で符号化する工程、および
閾値順位と等しいかまたはそれよりも低い順位を有するデータ記号を、固定長符号で符号化する工程
を含む方法によって、記憶または送信のためのデータ記号を符号化するプロセッサをもたらす、コンピュータ読み込み可能な記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
本発明は、期待された生起確率によって順位づけられたN個の記号の記号体系を符号化する方法、物品、および装置である。
［請求項１０１］
期待された生起確率によって順位づけられたN個の記号の記号体系を符号化する方法であって、以下の工程を含む、方法：
閾値確率Tを割り当てる工程；
閾値確率Tよりも高い生起確率を有する記号を可変長符号で符号化する工程；および
閾値確率と実質的に同じかまたはそれよりも低い生起確率を有する記号を固定長符号で符号化する工程。
［請求項１０２］
可変長符号がハフマン符号を含む、請求項101記載の方法。
［請求項１０３］
固定長符号が、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、閾値確率Tから、および閾値確率Tよりも低い生起確率を有する任意の他の記号から、所与の記号を一意に識別する第2の符号を含む、請求項101記載の方法。
［請求項１０４］
符号化が2進符号化を含む、請求項101記載の方法。
［請求項１０５］
固定長符号が、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、値域1からN-Tまでの数字の2進表現を表示する第2の符号を含む、請求項104記載の方法。
［請求項１０６］
第1の符号が、0および/または1の列を含む、請求項105記載の方法。
［請求項１０７］
N-T+1が2の累乗になるように選択される、請求項106記載の方法。
［請求項１０８］
2進データのストリームを符号化するために、記号が一連のビットによって表現される、請求項101記載の方法。
［請求項１０９］
記号がランの長さを使用して表現される、請求項101記載の方法。
［請求項１１０］
命令を記憶させた記憶媒体を含む物品であって、
該命令が実行されると、以下のように、期待された生起確率によって順位づけられたN個の記号の記号体系を符号化する方法が結果として遂行される、物品：
閾値確率Tを割り当てる工程；
閾値確率Tよりも高い生起確率を有する記号を可変長符号で符号化する工程；および
閾値確率と実質的に同じかまたはそれよりも低い生起確率を有する記号を固定長符号で符号化する工程。
［請求項１１１］
命令が実行されると、ハフマン符号を含む可変長符号を更にもたらす、請求項110記載の物品。
［請求項１１２］
命令が実行されると、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、閾値確率Tから、および閾値確率Tよりも低い生起確率を有する任意の他の記号から、所与の記号を一意に識別する第2の符号を含む固定長符号を更にもたらす、請求項110記載の物品。
［請求項１１３］
命令が実行されると、2進符号化を含む符号化を更にもたらす、請求項110記載の物品。
［請求項１１４］
命令が実行されると、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、値域1からN-Tまでの数字の2進表現を表示する第2の符号を含む固定長符号を更にもたらす、請求項113記載の物品。
［請求項１１５］
命令が実行されると、0および/または1の列を含む第1の符号を更にもたらす、請求項114記載の物品。
［請求項１１６］
命令が実行されると、N-T+1が2の累乗になるように選択されることを更にもたらす、請求項115記載の物品。
［請求項１１７］
命令が実行されると、2進データのストリームを符号化するために、記号が一連のビットによって表現されることを更にもたらす、請求項110記載の物品。
［請求項１１８］
命令が実行されると、記号がランの長さを使用して表現されることを更にもたらす、請求項110記載の物品。
［請求項１１９］
期待された生起確率によって順位づけられたN個の記号の記号体系について、閾値確率Tを割り当てる手段と、
閾値確率Tよりも高い生起確率を有する記号を可変長符号で符号化する手段と、
閾値確率と実質的に同じかまたはそれよりも低い生起確率を有する記号を固定長符号で符号化する手段と
を含む装置。
［請求項１２０］
記号を可変長符号で符号化する手段が、記号をハフマン符号で符号化する手段を含む、請求項119記載の装置。
［請求項１２１］
符号化されるべき固定長符号が、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、閾値確率Tから、および閾値確率Tよりも低い生起確率を有する任意の他の記号から、所与の記号を一意に識別する第2の符号を含む、請求項119記載の装置。
［請求項１２２］
符号化が2進符号化を含む、請求項119記載の装置。
［請求項１２３］
符号化されるべき固定長符号が、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、値域1からN-Tまでの数字の2進表現を表示する第2の符号を含む、請求項122記載の装置。
［請求項１２４］
符号化されるべき第1の符号が、0および/または1の列を含む、請求項123記載の装置。
［請求項１２５］
N-T+1が2の累乗になるように選択される、請求項124記載の装置。
［請求項１２６］
2進データのストリームを符号化するために、記号が一連のビットによって表現される、請求項119記載の装置。
［請求項１２７］
記号がランの長さを使用して表現される、請求項119記載の装置。
［請求項１２８］
コンピュータ・プラットフォームを含む装置であって、期待された生起確率によって順位づけられたN個の記号の記号体系について、該プラットフォームが、閾値確率Tを割り当て、閾値確率Tよりも高い生起確率を有する記号を可変長符号で符号化し、かつ閾値確率と実質的に同じかまたはそれよりも低い生起確率を有する記号を固定長符号で符号化するように適応された、装置。
［請求項１２９］
コンピューティング・プラットフォームが、可変長符号がハフマン符号を含むように更に適応される、請求項128記載の装置。
［請求項１３０］
コンピューティング・プラットフォームが、固定長符号が、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、閾値確率Tから、および閾値確率Tよりも低い生起確率を有する任意の他の記号から、所与の記号を一意に識別する第2の符号を含むように更に適応される、請求項128記載の装置。
［請求項１３１］
コンピューティング・プラットフォームが、符号化が2進符号化を含むように更に適応される、請求項128記載の装置。
［請求項１３２］
コンピューティング・プラットフォームが、固定長符号が、閾値確率Tよりも高い生起確率を有する記号について任意の可能な符号とは異なる第1の符号、これに続いて、値域1からN-Tまでの数字の2進表現を表示する第2の符号を含むように更に適応される、請求項131記載の装置。
［請求項１３３］
コンピューティング・プラットフォームが、第1の符号が0および/または1の列を含むように更に適応される、請求項132記載の装置。
［請求項１３４］
コンピューティング・プラットフォームが、N-T+1が2の累乗になるよう選択されるように更に適応される、請求項133記載の装置。
［請求項１３５］
コンピューティング・プラットフォームが、2進データのストリームを符号化するために、記号が一連のビットによって表現されるように更に適応される、請求項128記載の装置。
［請求項１３６］
コンピューティング・プラットフォームが、記号がランの長さを使用して表現されるように更に適応される、請求項128記載の装置。
【国際調査報告】
2009542094.tif 000010