JP6025923B2 - 整数値データのストリームを圧縮するシステム及び方法 - Google Patents

整数値データのストリームを圧縮するシステム及び方法 Download PDF

Info

Publication number
JP6025923B2
JP6025923B2 JP2015125886A JP2015125886A JP6025923B2 JP 6025923 B2 JP6025923 B2 JP 6025923B2 JP 2015125886 A JP2015125886 A JP 2015125886A JP 2015125886 A JP2015125886 A JP 2015125886A JP 6025923 B2 JP6025923 B2 JP 6025923B2
Authority
JP
Japan
Prior art keywords
data value
code
run
value
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015125886A
Other languages
English (en)
Other versions
JP2016006961A (ja
Inventor
ミッチェル オスリック,
ミッチェル オスリック,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of JP2016006961A publication Critical patent/JP2016006961A/ja
Application granted granted Critical
Publication of JP6025923B2 publication Critical patent/JP6025923B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、整数値データのストリームを圧縮するシステム及び方法に関する。
例えばビデオ、画像等を表している整数値ビットストリームを符号化する種々の符号化方式が既知である。既知の符号化方式は、一般に、ランレングス符号化、可変長符号化、差分符号化及びそれらの種々の組合せを含む。
ランレングス符号化は、顕著な均一性を示すデータを圧縮するのに有用であるが、一般に、データ値が次々に異なる可能性の高い場合には非効率的である。後者の場合、ランレングス符号化と他のいくつかの種類の符号化との間で適応可能に切り替えることは、既知の圧縮方式の中では一般的である。切り替えは、一般に、ビットストリームと関連付けられた副情報又は計算により復号器において処理される。これにより、それぞれ、圧縮効率が低下するか又は計算の負荷が増加する。
ランレングス符号化の前に差分符号化を実行するためにランレングス符号化及び差分符号化を使用することは、既知の圧縮方式の中では一般的である。順序付けは、ビットストリームにおいて全てのデータ値に対して符号器が差分を計算し、復号器が和を計算する(すなわち、データ値を再構成する)ことを要求する。
従って、これらの既知の制限を除去するか、あるいはどんなに少なくとも緩和する符号化方式を使用するのが望ましい。
図1は、本発明の一実施形態に従って整数値データのストリームを符号化する方法を示す図である。 図2は、本発明の一実施形態に従ってラン/データ値対のリストを符号化する方法を示す図である。 図3は、例示的な整数値データのストリーム及びそれと関連付けられたランを示す図である。 図4は、本発明の一実施形態に係る符号器−復号器システムを示す図である。
本発明の実施形態は、新しい圧縮方式を使用することにより、符号化されたデータと関連付けられたビットストリームのサイズ及び複雑さを低減する。エントロピー符号器は、ラン/データ値の対のリストを受信し、且つラン及びデータ値を別個にエントロピー符号化して長さ及び大きさのそれぞれに従ってそれらのコードワードを選択し、符号化されたビットストリームにおいて結果として得られるコードワード対、最初にデータ値コードワードを連結する。符号化方式により、画像、ビデオ等を表す符号化されたビットストリームのサイズ及び複雑さを低減する。従って、ビットストリームはより少ない帯域幅で送信されてもよく、符号器及び復号器の双方への計算の負荷が減ってもよい。
図1は、本発明の一実施形態に従ってビットストリームを符号化する方法を示す。実施形態によると、方法は、所定の走査方向に従ってデータ値のアレイを走査する(ボックス100)。方法は、アレイからのデータ値を一連のラン/データ値の対(つい)に変換する(ボックス110)。ボックス120において、ランの値に基づいてコードワードを選択する。同様に、ボックス130において、データ値の値に基づいてコードワードを選択する。ステップ120又はステップ130、あるいは双方のいずれかを実行してもよい。符号化されたラン/データ値データを符号化されたデータ対に連結する(ボックス140)。その後、データは、送信のために更に処理される。
具体的には、ブロック100において、走査方向に従って、例えば画像、ビデオ等を表すソースデータのアレイを走査してもよい。種々のサイズ及び構成のデータアレイに適応してもよい。走査方向に従って考慮される場合に整数の多次元アレイがリニアアレイとして考えられてもよいため、本発明の説明はリニアアレイの例を扱うことが理解されるだろう。
ブロック110において、データ値の1次元アレイは、ランレングス符号化を使用してラン/データ値の対のリストに変換されてもよい。ここで、対の一方の整数(一般に、第1の整数)はランの長さであり、他方の整数(一般に、第2の整数)は対応するランを含むデータの値である。例えば、図3において示されるように、1次元アレイが10個の要素、すなわち{0、0、0、3、3、2、2、2、2、2}から構成される場合、これらの10個の要素は、以下の対、すなわち{(3、0)、(2、3)、(5、2)}に変換されるだろう。結果として得られる対は、0である3個の値、3である2個の値、及び、2である5個の値からそのような順序で構成されたことを示す。
一実施形態において、結果として得られるラン/データ値の対のリストは、ブロック110において、ラン/データ値の差分の対のリストに差分符号化されてもよい。上記において10個の要素アレイが使用された例に戻ると、結果として得られるラン/データ値の差分の対のリストは、{(3、+1)、(2、+3)、(5、−1)}から構成される。ここで、[0−(−1)=+1]、[3−0=+3]及び[2−3=−1]である。通常の状況下では、データ値差分はゼロにならないため、最初のランの先行ラン値を−1として処理することにより(上記の例において示されたように)先行ランに継続することを示し、非ゼロデータ値差分は保証されるだろう(本明細書において詳細に説明されるように、ランがサブランに分割されない限り)。
差分符号化の前にランレングス符号化を実行することにより、差分(符号器)又は和(復号器)は、全てのデータ値毎に1回ではなくラン毎に1回だけ計算される必要がある。このような順序付けの区別は、復号器において特に有用となる。この場合、このような順序付けの区別により、必要な計算量を減少するだけでなく、関連付けられたあらゆる十二音技法(serialism)を除去し、ランの同一のデータ値のうちのいくつかが同時に出力されるようにする。
上述したように、本発明の原理により、差分データ値及び非差分データ値の双方を使用してアプリケーションを発見する。従って、以下において指定されない限り、以下の説明は、包括的な意味で「データ値」を示し、差分データ値及び非差分データ値を同等に示す。
ブロック120、130において、結果として得られるラン/データ値の対のリストはエントロピー符号化される。ランはデータ値から別個に符号化されてもよく、そのような符号化は直列に(例えば、データ値の前のラン等)又は並列に実行されてもよい。本発明の実施形態により、本明細書において提案されたコードブックに基づくエントロピー符号化が要望に応じて他の符号化方式と共に使用される。例えば、本発明の説明は、図2に関して以下に概略的に示される処理に従ってラン値及びデータ値の双方を符号化することを提案するが、提案された方式に従って一方のデータの種類(例えば、ラン)のみを符号化し且つ別の機構に従って他方のデータの種類(例えば、データ値)を符号化できる。従って、本発明の原理は、要望に応じて他の符号化機構と統合されてもよい。
ラン値及びデータ値がエントロピー符号化された後、ブロック140において示されるように、ランコードワード/データ値のリストは連結されてもよく(すなわち、対毎に、結果として得られるデータ値コードワードは、結果として得られるランコードワードと連結される)、これらの連結されたコードワードは、最後の符号化されたビットストリームを共に形成する。対応するランコードワードの前にデータ値コードワードを入れることにより、データ値は、復号化中に、すなわちそのデータ値のランの長さを判定する前に再構成される。それにより、特定のラン値の専用のランレングス復号化が可能になる。例えば、ランコードワード復号化中にランが1であると判定される場合、データ値が既に復元されているために単一のデータ値が出力されることにより、ループを実行する必要はないか、さもなければ一般的な状況に適応しようとする必要がある。これは、計算オーバヘッドが処理から多少除去されることを意味する。
図2は、本発明の一実施形態に従ってエントロピー符号化の方法を示す。ブロック200においてラン/データ値の対が受信され、ブロック205において各対内のランが所定の最大ランレングス内にあるかを確認する。ランは、整数であり、1からソースアレイのサイズの範囲である。エントロピー符号化するために、ランレングスは、例えば2Mの上限を有してもよい。ここで、Mは、ランコードワードのサイズが有限であることを保証するために使用された一般的なパラメータである。例えば、画像に対して、Mは、ランがサブランに分解されなくてもよいように画像のサイズに比例してもよい。
ランは、2Mより長い場合、各サブランが2M以下であるようにサブランに分裂されてもよい。ランがサブランに分裂される場合、第1のサブランは、ランがサブランに分割されなかったかのように同一のデータ値を取得し、後続のサブランの各々はゼロのデータ値を取得する。例えば、ラン/データ値の対(21、+2)について考察する。ここで、M=3とする。この場合、ランが8より長くない(すなわち、2M=23=8)ため、結果として得られるサブラン/データ値の対は、{(8、+2)、(8、0)、(5、0)}(すなわち、8+8+5=21)となる。
それらの長さに依存して、ラン又はサブランは、ブロック210〜225において示されるように、3つの方法のうちの1つで符号化されてもよい。ブロック210において、ランは、「短い」又は「長い」のいずれか一方として分類される。1のランは、ブロック215により示されるように、単一の「1」ビットとして符号化されてもよい。1のランに対して単一のビットを使用することにより、隣接するデータ値が同一でない場合に圧縮効率への影響を最小限にし、復号器が1の符号化されたランと1より大きい符号化されたランとを区別するために符号テストを使用できるという計算上の利点を有する。
「短い」ランは、1より大きいが、所定の閾値2n以下であるランを含んでもよい。ここで、nは、任意に選択されるか又は圧縮されるデータに対して最適な圧縮を達成しようとする方式等を含む多数の所定の方式のうちのいずれかに従って選択されてもよい。短いランは、ブロック220により示されるように、単一の「0」ビットのプリアンブル及びそれに後続するラン値より1小さいnビットの固定長バイナリコードから構成されるn+1ビットで符号化されてもよい。
「長い」ランは、2nより大きいこれらのランを含んでもよい。長いランは、ブロック225により示されるように、n+1個の「0」ビットのプリアンブル及びそれに後続するラン値より1小さいMビットの固定長バイナリコードから構成されるn+1+Mビットで符号化されてもよい。
尚、「短い」ラン及び「長い」ランの双方に対するコードワードは、ラン値より1小さい適切な長さの固定長バイナリコードである。説明された方式に係るランコードブックの一例として、テーブル1を考える。テーブル1は、ランの最大レングスが2048(すなわち、211=2048)であり、且つ「短い」ランが2と16間(すなわち、24=16)のランであるように、M=11及びn=4のランコードブックを示す。
Figure 0006025923
データ値は、大きさに依存して2つの方法のうちの1つで符号化されてもよい。ブロック230において示されるように、データ値は、絶対値に従って「小さい」又は「大きい」のいずれかとして分類される。これにより、単一のプレフィックスビットは2つの場合を区別できる。その結果、データ値コードワードを復号化する際、コードワードの第1のビットがコンピュータのワードの最も重要なビットに現れる場合、データ値が小さいか又は大きいかを判定するために簡単な符号テスト(ゼロと比較して)が実行されてもよい。
「小さい」データ値は、0より大きいが2k以下である大きさ(すなわち、絶対値)のこれらのデータ値を含んでもよい。ここで、kは、任意に選択されるか又は圧縮されるデータに対して最適な圧縮を達成しようとする方式等を含む多数の所定の方式のうちのいずれかに従って選択されてもよい。小さいデータ値は、ブロック235により示されるように、単一の「0」ビットのプリアンブル、データ値の大きさより1小さいkビットの固定長バイナリコード及び差分符号を示す単一のビットから構成されるk+2ビットで符号化される。
「大きい」データ値は、0であるか又は2kより大きいかのいずれかである大きさのこれらのデータ値を含んでもよい。大きいデータ値は、ブロック240により示されるように、データ値モジュロ2Nが後続する単一の「1」ビットのプリアンブルから構成されるN+1ビットで符号化されてもよい。
説明された方式に係るデータ値コードブックの一例として、テーブル2を考える。テーブル2は、k=3及びN=8であるデータ値コードブックを示す。ここで、1の符号ビットは、コードブックが512個のエントリ(すなわち、2*28=512)を含むように、負のデータ値を示すために使用される。
Figure 0006025923
変数n(ランのエントロピー符号化と関連付けられた)及びk(データ値のエントロピー符号化と関連付けられた)は、おそらく符号器により符号化されてもよい種類のもの(例えば、写真、ビデオ等)を表す例示的なデータから収集された統計情報に基づいてもよい。
図4は、本発明の一実施形態に係る符号器400及び復号器500を示す。符号器400は、本明細書において詳細に説明されるように、ハードウェア又はソフトウェアで実現されてもよく、ソースデータ410、整数値データの1次元アレイを受信する。ソースデータ410は、一般に本発明にとって重要でないソース処理動作(例えば、ビデオ符号化処理、オーディオ符号化処理等)を含む種々の他の符号化処理の結果であってもよい。
ラン/データ値符号器420は、ソースデータ410をラン/データ値の対のリストにランレングス符号化してもよい。エントロピー符号器440は、ラン/データ値符号器420からラン/データ値の対のリストを受信してもよく、本明細書において詳細に説明された処理に従ってラン値及びデータ値を符号化してもよい。エントロピー符号器440は、符号化されたビットストリームを形成するように、リストにおいて各対を含む結果として得られるコードワード、符号化されたデータ値を最初に連結してもよい。一実施形態において、架空で示されるように、ラン/データ値差分符号器430は、ラン/データ値符号器420からラン/データ値対のリストを受信してもよく、その対をラン/データ値の差分対のリストに差分符号化してもよい。これは、エントロピー符号器440により処理されてもよい。
送信バッファ450は、符号化されたビットストリームをチャネルに転送する前にそれを格納してもよい。チャネルは、符号化されたビットストリームを復号器に搬送する送信媒体を示してもよい。チャネルは、一般に、例えば通信ネットワーク又はコンピュータネットワークにより提供された光メモリ、磁気メモリ又は電気メモリ等の記憶装置及び通信チャネルを含む。
上述の符号化処理は、受信バッファ510、エントロピー復号器520、ラン/データ値差分復号器530、ラン/データ値復号器540及び復元されたデータストア550を含んでもよい復号器500において逆方向に実行される。各ユニットは、符号器400において対応するユニットの逆のことを実行するもので、ソースデータ410を複製する。復号器500は、符号器400において適用されたソース符号化処理を一致させるようにソース復号化を実行する他のブロック(不図示)を含んでもよい。
先行の明細書は種々の実施形態の詳細な説明を示すが、本発明の法的な範囲は以下に示す請求の範囲の用語により規定されることが理解されるべきである。詳細な説明は、単なる例として解釈されるべきであり、考えられる全ての実施形態を説明することは不可能ではないが非現実的であるため、本発明の考えられる全ての実施形態を説明しない。現在の技術又は依然として本発明を規定する請求の範囲の範囲内のこの特許の出願日の後に開発された技術のいずれかを使用して、多くの他の実施形態が実現されてもよい。
当業者には容易に明らかとなるように、本発明の他の変形及び変更の実現例、並びに種々の態様が存在し、且つ本発明は本明細書において説明された特定の実施形態により制限されないことが理解されるべきである。従って、本明細書において開示され且つ請求された基礎となる基本原理の範囲内の変更、変形又は等価物のいずれか及び全てを範囲に含むことが考えられる。

Claims (21)

  1. 整数値データのストリームに対応するラン/データ値の対データをエントロピー符号化する方法であって、
    小判定するためにデータ値の絶対値と所定値と比較することで、データ値をその大きさに基づいて分類するステップと、ここで、小さいデータ値はその大きさがゼロより大きく、かつ、前記所定値以下のデータ値である;
    前記データ値が小さいと分類された場合、第1の所定長の第1のコードを選択するステップと、ここで、前記第1の所定長の第1のコードそれぞれは、大きいデータ値と区別するプリアンブルを有し、且つ、そのデータ値に基づいた値を有する;
    前記データ値が大きいと分類された場合、第2の所定長の第1のコードを選択するステップと、ここで、前記第2の所定長の第1のコードそれぞれは、小さいデータ値と区別するプリアンブルを有し、且つ、そのデータに基づいた値を有する;
    前記データ値がゼロである場合、大きいと分類されたデータ値と一致するプリアンブルを有する前記第2の所定長の第1のコードを選択するステップと、
    前記選択された第1のコードをチャネルに出力するステップと
    とを有することを特徴とする方法。
  2. 前記データ値は、前記ストリームにおいて2つの隣接するデータ値から取得された差分データであることを特徴とする請求項1に記載の方法。
  3. 前記選択された第1のコードを前記チャネルに出力した後に、前記チャネルに前記ラン/データ値の対において前記データ値に対応する前記ランの符号化された表現を出力するステップを更に含むことを特徴とする請求項1に記載の方法。
  4. 各ランをその長さに基づいて分類するステップと、
    前記ランが1として分類される場合、1の長さの第2のコードを選択するステップ、
    前記ランが、1より長く所定閾値以下を表す、短いとして分類される場合、第3の所定長の第2のコードを選択するステップと、ここで、前記第3の所定長の第2のコードの各々は、他のランの分類区別するために、短いとして分類されたランであることを示すプリアンブルを有し且つ前記ランの長さに基づいた値を有する;
    前記ランが、前記所定閾値より長いことを表す、長いとして分類される場合、第4の所定長の第2のコードを選択するステップと、ここで、前記第4の所定長の第2のコードの各々は、他のランの分類と区別するために、長いとして分類されたランであることを示すプリアンブルを有し且つ前記ランの長さに基づいた値を有する;
    前記選択された第2のコードをチャネルに出力するステップ
    とを有することを特徴とする請求項1に記載の方法。
  5. 前記ストリームはビデオを表すことを特徴とする請求項1に記載の方法。
  6. 前記ストリームは画像を表すことを特徴とする請求項1に記載の方法。
  7. 前記データ値が小さいとして分類される場合の前記第1のコードは第1のコードブックからk+2ビットを有し、ここで、前記選択された第1のコードは、最初のビットについては所定のプリアンブルを有し、残りのk+1ビットは前記データ値に基づき、
    前記データ値が大きいとして分類される場合の第1のコードは第2のコードブックからN+1ビットを有し、ここで前記選択された第1のコードは、最初のビットについては所定のプリアンブルを有し、残りのNビットは前記データ値基づく
    ことを特徴とする請求項1に記載の方法。
  8. ランが短いと分類された場合の前記第2のコードは第3のコードブックからn+1ビットを有し、前記選択された第2のコードは、最初のビットについては所定のプリアンブルを有し、残りのnビットはランの長さに基づき、
    ランが長いと分類された場合の前記第2のコードは第4のコードブックからn+1+Mビットを有し、前記選択された第1のコードは最初のn+1ビットについては所定のプリアンブルを有し、残りのMビットはランの長さに基づく
    ことを特徴とする請求項4に記載の方法。
  9. 小さいデータ値は、その絶対値がゼロより大きく、2k以下のデータであることを特徴とする請求項1に記載の方法。
  10. データ値が小さいと分類された場合、
    前記所定のプリアンブルは“0”のビットであり、
    前記残りのk+1ビットにおけるkビットは、そのデータ値の絶対値より1つ小さい2進コードであって、前記残りのk+1ビットにおける1ビットはデータ値の正負を表わすために用いられる
    ことを特徴とする請求項7に記載の方法。
  11. 前記データ値が大きいと分類された場合、
    前記所定のプリアンブルは“1”のビットであり。
    残りのNビットの値は、そのデータ値についてのモジュロ2Nの2進コードである
    ことを特徴とする請求項7に記載の方法。
  12. 前記Nは前記データ値のワードサイズに等しいことを特徴とする請求項7に記載の方法。
  13. 整数値データのストリームに対応するラン/データ値の対データのリストをエントロピー符号化するシステムであって、
    前記リストを受信するための入力を有するエントロピー符号器を備え、当該エントロピー符号器は、
    小判定するためにデータ値の絶対値と所定値と比較することで、データ値をその大きさに基づいて分類し、ここで、小さいデータ値はその大きさがゼロより大きく、かつ、前記所定値以下のデータ値である;
    前記データ値が小さいと分類された場合、第1の所定長の第1のコードを選択し、ここで、前記第1の所定長の第1のコードそれぞれは、大きいデータ値と区別するプリアンブルを有し、且つ、そのデータ値に基づいた値を有する;
    前記データ値が大きいと分類された場合、第2の所定長の第1のコードを選択し、ここで、前記第2の所定長の第1のコードそれぞれは、小さいデータ値と区別するプリアンブルを有し、且つ、そのデータに基づいた値を有する;
    前記データ値がゼロである場合、大きいと分類されたデータ値と一致するプリアンブルを有する前記第2の所定長の第1のコードを選択し、
    前記選択された第1のコードをチャネルに出力する
    ことを特徴とするシステム。
  14. 前記データ値は、前記ストリームにおいて2つの隣接するデータ値から取得された差分データであることを特徴とする請求項13に記載のシステム。
  15. 符号化されたビットストリームは、チャネルに出力されることを特徴とする請求項13に記載のシステム。
  16. 各ランコードワードは、そのラン長に基づくことを特徴とする請求項13に記載のシステム。
  17. 前記エントロピー符号器は、
    各ランをその長さに基づいて分類し、
    前記ランが1として分類される場合、1の長さの第2のコードを選択し、
    前記ランが、1より長く前記所定値以下を表す、短いとして分類される場合、第3の所定長の第2のコードを選択し、ここで、前記第3の所定長の第2のコードの各々は他のランの分類区別するために、短いとして分類されたランであることを示すプリアンブルを有し且つ前記ランの長さに基づいた値を有する;
    前記ランが、前記所定値より長いことを表す、長いとして分類される場合、第4の所定長の第2のコードを選択し、ここで、前記第4の所定長の第2のコードの各々は、他のランの分類区別するために、長いとして分類されたランであることを示すプリアンブルを有し且つ前記ランの長さに基づいた値を有する;
    前記選択された前記第2のコードをチャネルに出力する
    ことを特徴とする請求項13に記載のシステム。
  18. 前記データ値の絶対値が小さい場合、前記データ値コードワードはk+2ビットを有し、ここで最初のビットは所定のプリアンブルであり、残りのk+1ビットは前記データ値に基づく、
    前記データ値の大きさが大きい場合、前記データ値コードワードはN+1ビットを有し、ここで最初のビットは所定のプリアンブルであり、残りのNビットは前記データ値基づく、
    前記データ値が0の場合、前記データ値コードワードはN+1ビットを有し、ここで、最初のビットは所定のプリアンブルであり、残りのNビットは前記データ値基づく
    ことを特徴とする請求項13に記載のシステム。
  19. ランが短いと分類された場合の前記第2のコードは、第3のコードブックからn+1ビットを有し、前記選択された第2のコードは、その最初のビットが所定のプリアンブルであり、残りのnビットはランの長さに基づく、
    ランが長いと分類された場合の第2のコードは、第4のコードブックからn+1+Mビットを有し、選択された第1のコードは、その最初のn+1ビットが所定のプリアンブルであり、残りのMビットはランの長さに基づく
    ことを特徴とする請求項17に記載のシステム。
  20. コンピュータによって実行させた場合、前記コンピュータに、整数値データのストリームに対応するラン/データ値の対データをエントロピー符号化する方法を行させるためのンピュータプログラムであって、
    小判定するためにデータ値の絶対値と所定値と比較することで、各データ値をその大きさに基づいて分類するステップと、ここで、小さいデータ値はその大きさがゼロより大きく、かつ、前記所定値以下のデータ値である;
    前記データ値が小さいと分類された場合、第1の所定長の第1のコードを選択するステップと、ここで、前記第1の所定長の第1のコードそれぞれは、大きいデータ値と区別するプリアンブルを有し、且つ、そのデータ値に基づいた値を有する;
    前記データ値が大きいと分類された場合、第2の所定長の第1のコードを選択するステップと、ここで、前記第2の所定長の第1のコードそれぞれは、小さいデータ値と区別するプリアンブルを有し、且つ、そのデータに基づいた値を有する;
    前記データ値がゼロである場合、大きいと分類されたデータ値と一致するプリアンブルを有する前記第2の所定長の第1のコードを選択するステップと、
    前記選択された第1のコードをチャネルに出力するステップ
    を実行させるためのンピュータプログラム
  21. 前記データ値が小さいとして分類される場合、第1のコードブックからk+2ビットを有する第1のコードを選択し、ここで、前記選択された第1のコードは、最初のビットについては所定のプリアンブルを有し、残りのk+1ビットは前記データ値に基づき、
    前記データ値が大きいとして分類される場合、第2のコードブックからN+1ビットを有する第1のコードを選択し、ここで前記選択された第1のコードは、最初のビットについては所定のプリアンブルを有し、残りのNビットは前記データ値基づく、
    そして、選択された前記第1のコードをチャネルに出力する
    ことを特徴とする請求項20に記載のコンピュータプログラム
JP2015125886A 2008-11-10 2015-06-23 整数値データのストリームを圧縮するシステム及び方法 Active JP6025923B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/268,171 US7804428B2 (en) 2008-11-10 2008-11-10 System and method for compressing a stream of integer-valued data
US12/268,171 2008-11-10

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012275041A Division JP2013138422A (ja) 2008-11-10 2012-12-17 整数値データのストリームを圧縮するシステム及び方法

Publications (2)

Publication Number Publication Date
JP2016006961A JP2016006961A (ja) 2016-01-14
JP6025923B2 true JP6025923B2 (ja) 2016-11-16

Family

ID=41565901

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2011535681A Active JP5162708B2 (ja) 2008-11-10 2009-11-06 整数値データのストリームを圧縮するシステム及び方法
JP2012275041A Pending JP2013138422A (ja) 2008-11-10 2012-12-17 整数値データのストリームを圧縮するシステム及び方法
JP2015125886A Active JP6025923B2 (ja) 2008-11-10 2015-06-23 整数値データのストリームを圧縮するシステム及び方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2011535681A Active JP5162708B2 (ja) 2008-11-10 2009-11-06 整数値データのストリームを圧縮するシステム及び方法
JP2012275041A Pending JP2013138422A (ja) 2008-11-10 2012-12-17 整数値データのストリームを圧縮するシステム及び方法

Country Status (8)

Country Link
US (1) US7804428B2 (ja)
EP (3) EP2913932B1 (ja)
JP (3) JP5162708B2 (ja)
KR (1) KR101171697B1 (ja)
CN (1) CN102210105B (ja)
AU (1) AU2009313449B2 (ja)
ES (1) ES2546542T3 (ja)
WO (1) WO2010054178A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK3101901T3 (en) * 2010-07-09 2017-09-18 Samsung Electronics Co Ltd Method of entropy decoding transformation coefficients
US10091529B2 (en) 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
US9058223B2 (en) * 2011-04-22 2015-06-16 Microsoft Technology Licensing Llc Parallel entropy encoding on GPU
DE102011107974A1 (de) 2011-07-16 2013-01-17 Valeo Schalter Und Sensoren Gmbh Verfahren zum Rangieren eines Fahrzeugs in einem Umfeld sowie Rangierassistenzsystem für ein Fahrzeug
WO2013033895A1 (zh) * 2011-09-07 2013-03-14 速压公司 数据压缩和解压缩方法、程序、存储介质及电子产品
CN104285377A (zh) 2012-03-15 2015-01-14 诺基亚公司 数据的编码和解码
GB2501527B (en) * 2012-04-27 2014-03-12 Broadcom Corp Method apparatus and computer program for encoding a bit string
GB2511493B (en) * 2013-03-01 2017-04-05 Gurulogic Microsystems Oy Entropy modifier and method
KR102430173B1 (ko) 2015-11-24 2022-08-05 삼성전자주식회사 디스플레이 장치
EP3400747A4 (en) * 2016-01-08 2019-01-16 ZTE Corporation METHODS OF TRANSMITTING SMALL CRITICAL DATA FOR THE MISSION USING A RANDOM ACCESS CHANNEL
US10602192B2 (en) * 2016-02-04 2020-03-24 Mediatek Inc. Methods and apparatuses for performing entropy encoding and entropy decoding with size determination of at least one bitstream portion
CN106656200B (zh) * 2016-12-13 2019-11-08 合肥工业大学 一种程序计数器压缩方法及其硬件电路
WO2018139947A1 (en) * 2017-01-24 2018-08-02 Huawei Technologies Co., Ltd. Apparatus and method for data compression
CN110019184B (zh) * 2017-09-04 2021-04-27 北京字节跳动网络技术有限公司 一种压缩和解压缩有序整数数组的方法
US11176109B2 (en) * 2019-07-15 2021-11-16 Microsoft Technology Licensing, Llc Time-series data condensation and graphical signature analysis

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4973916A (ja) * 1972-11-15 1974-07-17
JPS5567274A (en) * 1978-11-14 1980-05-21 Nippon Telegr & Teleph Corp <Ntt> Picture signal coding system
JPS57106272A (en) * 1980-12-22 1982-07-02 Ricoh Co Ltd Method for compression of multilevel picture data
JPH01256287A (ja) * 1988-04-06 1989-10-12 Canon Inc 画像圧縮装置
CA1326898C (en) * 1988-04-27 1994-02-08 John Music Method and system for decompressing color video encoded data
JP3061278B2 (ja) * 1988-04-29 2000-07-10 ゼロックスコーポレーション 可変ビット長コード語のビット長通信方法
JP3010631B2 (ja) * 1989-02-14 2000-02-21 ソニー株式会社 ランレングス符号化方式
JPH0697839A (ja) * 1992-09-16 1994-04-08 Sharp Corp データ圧縮方法
JP3259989B2 (ja) * 1992-10-23 2002-02-25 株式会社日立製作所 2値と多値の混在符号化画像データ復元方法および装置
US5926576A (en) * 1994-03-30 1999-07-20 Newton; Dale C. Imaging method and system concatenating image data values to form an integer, partition the integer, and arithmetically encode bit position counts of the integer
US5710561A (en) * 1996-01-02 1998-01-20 Peerless Systems Corporation Method and apparatus for double run-length encoding of binary data
US5831559A (en) * 1996-01-24 1998-11-03 Intel Corporation Encoding/decoding video signals using multiple run-val mapping tables
IN192447B (ja) * 1996-06-14 2004-04-24 Daewoo Electronics Corp
US6028963A (en) * 1996-06-17 2000-02-22 Canon Kabushiki Kaisha Image encoding based on judgement on prediction error
US6011499A (en) * 1996-06-27 2000-01-04 Intel Corporation Encoding/decoding video signals using multiple run-val mapping tables
JPH10200413A (ja) * 1996-12-26 1998-07-31 Texas Instr Inc <Ti> 可変長コード生成装置及び生成方法
US5798718A (en) * 1997-05-12 1998-08-25 Lexmark International, Inc. Sliding window data compression method and apparatus
JP3410629B2 (ja) * 1997-05-21 2003-05-26 シャープ株式会社 可変長符号化回路及び可変長符号化方法
JPH11251923A (ja) * 1998-02-27 1999-09-17 Toyo Electric Mfg Co Ltd モニタ装置
US6118392A (en) * 1998-03-12 2000-09-12 Liquid Audio Inc. Lossless data compression with low complexity
KR100281321B1 (ko) * 1998-03-26 2001-02-01 전주범 적응적인 산술 부호화 및 그 복호화 방법
US6166664A (en) * 1998-08-26 2000-12-26 Intel Corporation Efficient data structure for entropy encoding used in a DWT-based high performance image compression
JP2000115782A (ja) * 1998-10-06 2000-04-21 Canon Inc 符号化装置及び方法及び記憶媒体
US6317222B1 (en) 1998-11-17 2001-11-13 Xerox Corporation Set of run-length codewords containing pointers to data sources
US6223162B1 (en) * 1998-12-14 2001-04-24 Microsoft Corporation Multi-level run length coding for frequency-domain audio coding
JP3323175B2 (ja) * 1999-04-20 2002-09-09 松下電器産業株式会社 符号化装置
US6505320B1 (en) * 2000-03-09 2003-01-07 Cirrus Logic, Incorporated Multiple-rate channel ENDEC in a commuted read/write channel for disk storage systems
US6778483B2 (en) * 2000-11-08 2004-08-17 Matsushita Electric Industrial Co., Ltd. Multilevel record modulator and demodulator
JP3375080B2 (ja) * 2001-08-10 2003-02-10 日本ビクター株式会社 画像圧縮方法
JP4100552B2 (ja) * 2001-11-22 2008-06-11 松下電器産業株式会社 復号化方法
JP3778087B2 (ja) * 2002-01-18 2006-05-24 富士ゼロックス株式会社 データ符号化装置及びデータ復号装置
JP3709381B2 (ja) * 2002-04-02 2005-10-26 Necビューテクノロジー株式会社 カラー画像圧縮方法
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7113115B2 (en) * 2004-06-30 2006-09-26 Intel Corporation Variable length code table look ups
CN101032081B (zh) * 2004-07-14 2010-05-26 喷流数据有限公司 用于数据压缩优化的方法和系统
US7068192B1 (en) * 2004-08-13 2006-06-27 Google Inc. System and method for encoding and decoding variable-length data
US6987468B1 (en) * 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
US7015837B1 (en) * 2004-10-29 2006-03-21 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
US7985246B2 (en) * 2006-03-31 2011-07-26 Warsaw Orthopedic, Inc. Methods and instruments for delivering interspinous process spacers
US8116378B2 (en) * 2006-12-15 2012-02-14 Arcsoft, Inc. Variable length decoding method
JP2008182448A (ja) * 2007-01-24 2008-08-07 Canon Inc パックビッツ符号化手段
CN101202548A (zh) * 2007-12-28 2008-06-18 北京邮电大学 一种双游程数据编码方法
US7683809B2 (en) * 2008-04-11 2010-03-23 Aceurity, Inc. Advanced lossless bit coding

Also Published As

Publication number Publication date
JP2016006961A (ja) 2016-01-14
EP2364530A1 (en) 2011-09-14
EP2364530B1 (en) 2015-06-03
AU2009313449A1 (en) 2010-05-14
JP2012508522A (ja) 2012-04-05
JP5162708B2 (ja) 2013-03-13
WO2010054178A1 (en) 2010-05-14
CN102210105A (zh) 2011-10-05
EP2908438B1 (en) 2020-05-27
EP2913932A1 (en) 2015-09-02
US20100117875A1 (en) 2010-05-13
CN102210105B (zh) 2014-04-23
ES2546542T3 (es) 2015-09-24
KR20110094046A (ko) 2011-08-19
US7804428B2 (en) 2010-09-28
AU2009313449B2 (en) 2014-06-05
JP2013138422A (ja) 2013-07-11
EP2913932B1 (en) 2019-10-16
KR101171697B1 (ko) 2012-08-06
EP2908438A1 (en) 2015-08-19

Similar Documents

Publication Publication Date Title
JP6025923B2 (ja) 整数値データのストリームを圧縮するシステム及び方法
Vijayvargiya et al. A survey: various techniques of image compression
KR101737294B1 (ko) 심볼 압축을 수반하는 데이터의 소스 코딩 및 디코딩을 위한 방법들 및 디바이스들
RU2417518C2 (ru) Эффективное кодирование и декодирование блоков преобразования
EP2561680B1 (en) Methods and devices for reordered parallel entropy coding
JP5733935B2 (ja) デジタルコンテンツ符号器、復号器、検索装置、符号化方法、検索方法および記憶装置
JPH0746142A (ja) データ圧縮方式
AU2019315758B2 (en) Entropy coding for signal enhancement coding
EP1062732A1 (en) Efficient coding of side information in a lossless encoder
KR102068383B1 (ko) 엔트로피 변형기 및 방법
WO2004051863A1 (en) Automated method for lossless data compression and decompression of a binary string
JP2006093958A (ja) プログレッシブjpeg復号化システム
US20140015698A1 (en) System and method for fixed rate entropy coded scalar quantization
Hussin et al. A comparative study on improvement of image compression method using hybrid DCT-DWT techniques with huffman encoding for wireless sensor network application
US8854233B2 (en) Method and system for de-binarization
JP6280266B2 (ja) 復号装置、及び復号方法
WO2004080080A1 (en) Apparatus and method for compression and decompression of digital data
KR20160117883A (ko) 모자이크 클러스터의 길이 분산 표준값을 이용한 이진데이터의 압축전송방법
KR20160055986A (ko) 바이너리 클러스터 분할 및 유니버설 코드 매핑을 이용한 데이터 압축 및 그 해제방법
KR20160055985A (ko) 바이너리 클러스터 분할 및 유니버설 코드 매핑을 이용한 데이터 압축 및 그 해제방법
JP2003087573A (ja) 画像圧縮装置及び画像伸張装置
JP2004064529A (ja) 画像処理装置、画像処理方法、情報記録媒体及びプログラム
JP2003102012A (ja) 画像符号化装置および画像復号装置並びに画像符号化方法および画像復号方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160823

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161011

R150 Certificate of patent or registration of utility model

Ref document number: 6025923

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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