JP2016512004A5 - - Google Patents

Download PDF

Info

Publication number
JP2016512004A5
JP2016512004A5 JP2015559444A JP2015559444A JP2016512004A5 JP 2016512004 A5 JP2016512004 A5 JP 2016512004A5 JP 2015559444 A JP2015559444 A JP 2015559444A JP 2015559444 A JP2015559444 A JP 2015559444A JP 2016512004 A5 JP2016512004 A5 JP 2016512004A5
Authority
JP
Japan
Prior art keywords
data
coding
encoded
encoder
encoding
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.)
Granted
Application number
JP2015559444A
Other languages
English (en)
Other versions
JP2016512004A (ja
JP6431487B2 (ja
Filing date
Publication date
Priority claimed from GB1303660.3A external-priority patent/GB2507603B/en
Application filed filed Critical
Publication of JP2016512004A publication Critical patent/JP2016512004A/ja
Publication of JP2016512004A5 publication Critical patent/JP2016512004A5/ja
Application granted granted Critical
Publication of JP6431487B2 publication Critical patent/JP6431487B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

データエンコーダ、データデコーダ及び方法
本発明は、データエンコーダ、及び対応するデータ符号化の方法に関する。また、本発明は、データデコーダ、及び対応する符号化データを復号する方法に関する。更に、本発明は、機械可読データ記憶媒体に記録されたソフトウェア製品であって、該ソフトウェア製品は、上記方法を実施するためにコンピュータハードウェアで実行可能である、ソフトウェア製品に関する。上記データエンコーダは、上記データデコーダと同様に、例えば、データ通信システム及びデータ供給システムの構成部品として、また消費者向け電子製品において使用可能である。加えて、本発明は、上記データエンコーダを少なくとも1つ、及び上記データデコーダを少なくとも1つ備えるコーデック装置に関する。
発明の背景
現代社会においてデータが益々利用されるにつれ、簡便であるが有効な、無損失データ圧縮を提供する方法、並びに、それに対応して可逆データ展開を提供する簡便な方法が必要とされている。データを圧縮する従来既知のランレングス符号化法は、連続データを圧縮する目的にしか真に有効ではなく、そのような連続データは、通常、パケット化データ交換を頻繁に実行するデータ通信システム内においてはそれ程一般的なものではない。データ通信システム内、例えばインターネットにおけるパケット化データ交換では、多数の小データパケットの伝送が生じる。しかしながら、データ圧縮の技術分野における当業者にとっては、ランレングス符号化(run-length encoding;RLE)によって、その他既知のデータ圧縮手法と比較して、より良いデータ圧縮率が得られることは周知である。
あらゆるバリエーションのランレングス符号化法は、当該方法によって符号化されるバイトのカウンター及び文字を利用する。それら方法を実施する際、カウンターが、そのような文字の各ランに対して設定される。さらに、それら方法においては、その文字に対するカウンターの表し方に関し幾つかのバリエーションがあるが、これらは、常に、バイトの文字を用いて同じ出力データに符号化される。その結果、一般的に既知のRLE法では、比較的低いデータ圧縮率しか得られないことが分かっている。
表1には、既知の現存技術を示す文献が示されている。
[表1]既知の技術
Figure 2016512004
「ランレングス符号化(Run-length encoding)」-ウィキペディア(2012年11月28日にアクセス)URL: http://en.wikipedia.org/wiki/Run-length_encoding 「ハフマン符号化(Huffman coding)」-ウィキペディア(2012年11月28日にアクセス)URL: http://en.wikipedia.org/wiki/Huffman_coding 「(ランレングス符号化)(Run Length Encoding (RLE))-議論及び実装」(2012年12月18日にアクセス)URL: http://michael.dipperstein.com/rle/index.html アルトゥーロ・カンポス(Arturo Campos)による「ランレングス符号化(Run Length Encoding)」(2012年12月18日にアクセス) URL: http://www.arturocampos.com/ac_rle.html 「通信の数学的理論(A Mathematical Theory of Communication)」クロード・E・シャノン(Claude E. Shannon) (1948)(2012年11月28日にアクセス)URL: http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf シャノンの情報源符号化定理(Shannon's source coding theorem)-ウィキペディア(2012年11月28日にアクセス) URL: http://en.wikipedia.org/wiki/Source_coding_theorem 「エントロピー(Entropy)」-ウィキペディア(2012年11月28日にアクセス) URL: http://en.wikipedia.org/wiki/Entropy 「可変長符号(Variable-length code)」-ウィキペディア(2012年11月28日にアクセス)URL: http://en.wikipedia.org/wiki/Arithmetic_coding 「算術符号化(Arithmetic coding)」-ウィキペディア(2012年11月28日にアクセス)URL: http://en.wikipedia.org/wiki/Arithmetic_coding 「差分符号化(Delta encoding)」-ウィキペディア(2012年11月28日にアクセス)URL: http://en.wikipedia.org/wiki/Delta_coding
本発明は、入力データを圧縮することにより対応する圧縮出力データを生成する改良法を提供することを目的とする。
本発明は、入力データを符号化することにより対応する符号化出力データを生成する改良法を提供することを目的とする。
本発明は、圧縮入力データを受信し、対応する展開出力データを生成するデータ展開の改良法を提供することを目的とする。
本発明は、入力データを復号することにより対応する復号出力データを生成する改良法を提供することを目的とする。
本発明は、上記方法を利用するように動作可能であるエンコーダ、デコーダ及びコーデック装置を提供することを目的とする。
本発明の第1の態様によれば、添付の請求項1に記載のエンコーダが提供される。即ち、入力データ(D1)を符号化することにより対応符号化出力データ(D2)を生成するエンコーダであって、
入力データ(D1)のランレングス符号化(RLE)表現を生成するデータ処理装置を備え
上記ランレングス符号化(RLE)表現を複数のパート(A、B)に分割するように動作可能であり、少なくとも1つのパートが、第1データストリームにおいて、オリジナルのシンボルに関連し、第2データストリームにおける少なくとも別のパートが、上記第1データストリームにおけるシンボルの少なくとも幾つかの出現を示すカウンターに関連し、エンコーダは、上記複数のパート(A、B)を別々に符号化することにより符号化出力データ(D2)を生成するように動作可能であることを特徴とするエンコーダが提供される。
本発明は、上記エンコーダが、上記複数のパート(A、B)をそれぞれ個別に取り扱うことによって、既知の種類のエンコーダと比較して、より高度に実質的に可逆圧縮を提供することが可能であると言う利点を有する。
「出現を表す」と言う語句は、広義に解釈されるべきであり、データストリームに存在する相互に類似の連続文字の数を単に直接カウントするカウンターに限定されるものではない。
オプションで、上記エンコーダが作動する際には、上記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも1つを含む。
オプションで、上記エンコーダは、符号化出力データ(D2)を、入力データ(D1)に対して圧縮形態で生成するように動作可能である。
オプションで、上記エンコーダは、可変長符号化(VLC)、ハフマン符号化、ゴロム符号化、算術符号化、レンジ符号化、差分符号化、ODelta符号化、レンペル・ジブ符号化、BWT符号化のうちの少なくとも1つを利用することによって、上記複数のパート(A、B)を符号化することにより符号化出力データ(D2)を生成するように動作可能である。さらにオプションで、上記エンコーダは、エントロピー符号化法を用いることにより上記複数のパート(A、B)の少なくとも1つを符号化するように動作可能であり、上記エントロピー符号化法は、符号化出力データ(D2)においてパート(A及び/又はB)をエントロピー符号化する際に、1つ又は複数のエスケープ符号又は1つ又は複数の連続値シンボルを用いてパート(A及び/又はB)の値を符号化することができる。
オプションで、上記エンコーダは、符号化出力データ(D2)に1つ又は複数のマーカーを含めるように動作可能であり、該1つ又は複数のマーカーは、上記複数のパート(A、B)のそれぞれに対応する符号化データの出現を示すものである。
オプションで、上記エンコーダは、上記ランレングス符号化(RLE)表現が実質的に可逆方式で実施されるように構成されている。
本発明の第2の態様によれば、エンコーダにおいて入力データ(D1)を符号化することにより対応する符号化出力データ(D2)を生成する方法であって、当該方法は、入力データ(D1)のランレングス符号化(RLE)表現を生成するデータ処理装置を用いることを含み、当該方法は、
(a)上記ランレングス符号化(RLE)表現を複数のパート(A、B)に分割するエンコーダを用いること、但し、少なくとも1つのパートは、第1データストリームにおいて、オリジナルのシンボルに関連するものであり、第2データストリームにおける少なくとも別のパートは、第1データストリームにおけるオリジナルのシンボルの少なくとも幾つかの出現を示すカウンターに関連するものとする、並びに
(b)上記複数のパート(A、B)を別々に符号化することにより符号化出力データ(D2)を生成するエンコーダを用いること、
を更に含むことを特徴とする、方法が提供される。
「出現を表す」と言う語句は、広義に解釈されるべきであり、データストリームに存在する相互に類似の連続文字の数を単に直接カウントするカウンターに限定されるものではない。
オプションで、上記方法において、上記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも1つを含む。
オプションで、上記方法は、符号化出力データ(D2)を、力データ(D1)に対して圧縮形態で生成するエンコーダを用いることを含む。
オプションで、上記方法は、可変長符号化(VLC)、ハフマン符号化、ゴロム符号化、算術符号化、レンジ符号化、差分符号化、ODelta符号化、レンペル・ジブ符号化、BWT符号化のうちの少なくとも1つを利用することによって、上記複数のパート(A、B)を符号化することにより符号化出力データ(D2)を生成するように動作可能であるエンコーダを用いることを含む。さらにオプションで、上記方法は、エントロピー符号化法を用いることにより上記複数のパート(A、B)の少なくとも1つを符号化するエンコーダを用いることを含み、上記エントロピー符号化法は、符号化出力データ(D2)においてパート(A及び/又はB)をエントロピー符号化する際に、1つ又は複数のエスケープ符号又は1つ又は複数の連続値シンボルを用いてパート(A及び/又はB)の値を符号化することができる。
オプションで、上記方法は、符号化出力データ(D2)に1つ又は複数のマーカーを含めるエンコーダを用いることを含み、該1つ又は複数のマーカーは、上記複数のパート(A、B)のそれぞれに対応する符号化データの出現を示すものである。
オプションで、上記方法は、上記ランレングス符号化(RLE)表現を実質的に可逆方式で実施することを含む。
本発明の第3の態様によれば、符号化入力データ(D2)を復号することにより対応復号出力データ(D3)を生成するデコーダであって、該デコーダは、符号化入力データ(D2)を複数の別々のパート(A、B)に復号し、但し、少なくとも1つのパートは、第1データストリームにおいて、オリジナルのシンボルに関連するものであり、第2データストリームにおける少なくとも別のパートは、第1データストリームにおけるオリジナルのシンボルの少なくとも幾つかの出現を示すカウンターに関連するものとする、かつ上記複数のパート(A、B)を共に結合することにより結合データを生成し、ランレングス復号処理を介して該結合データを復号することにより復号出力データ(D3)を生成する、データ処理装置を備えることを特徴とするデコーダが提供される。
「出現を表す」と言う語句は、広義に解釈されるべきであり、データストリームに存在する相互に類似の連続文字の数を単に直接カウントするカウンターに限定されるものではない。
オプションで、上記デコーダが作動する際には、上記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも1つを含む。
オプションで、上記デコーダは、復号出力データ(D3)を、符号化入力データ(D2)に対して展開形態で生成するように動作可能である。
オプションで、上記デコーダは、逆可変長符号化(VLC)、逆ハフマン符号化、逆ゴロム符号化、逆算術符号化、逆レンジ符号化、逆差分符号化、逆ODelta符号化、逆レンペル・ジブ符号化、逆BWT符号化のうちの少なくとも1つを利用することによって、符号化入力データ(D2)を復号することにより上記複数のパート(A、B)を生成するように動作可能である。さらにオプションで、上記デコーダは、エントロピー復号法を用いることにより上記複数のパート(A、B)の少なくとも1つを復号するように動作可能であり、上記エントロピー復号法は、上記デコーダが、パート(A及び/又はB)を生成する処理にある場合に、符号化入力データ(D2)から1つ又は複数のエスケープ符号又は1つ又は複数の連続値シンボルを復号することができる。
オプションで、上記デコーダは、符号化入力データ(D2)において1つ又は複数のマーカーを特定するように動作可能であり、該1つ又は複数のマーカーは、上記複数のパート(A、B)のそれぞれに対応する符号化データの出現を決定するものである。
オプションで、上記デコーダは、上記ランレングス復号処理が実質的に可逆方式で実施されるように構成されている。
本発明の第4の態様によれば、デコーダにおいて符号化入力データ(D2)を復号することにより対応復号出力データ(D3)を生成する方法であって、当該方法は、データ処理装置を用いることを含み、当該方法は、
(a)符号化入力データ(D2)を複数の別々のパート(A、B)に復号するデコーダを用いること、但し、少なくとも1つのパートは、第1データストリームにおいて、るオリジナルのシンボルに関連するものであり、第2データストリームにおける少なくとも別のパートは、第1データストリームにおけるオリジナルのシンボルの少なくとも幾つかの出現を示すカウンターに関連するものとする、
(b)上記複数のパート(A、B)を結合することにより対応結合データを生成するデコーダを用いること、並びに
(c)上記結合データにランレングス復号処理を適用することにより復号出力データ(D3)を生成するランレングス復号処理を用いること、
を含むことを特徴とする、方法が提供される。
「出現を表す」と言う語句は、広義に解釈されるべきであり、データストリームに存在する相互に類似の連続文字の数を単に直接カウントするカウンターに限定されるものではない。
オプションで、上記方法において、上記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも1つを含む。
オプションで、上記方法は、復号出力データ(D3)を、符号化入力データ(D2)に対して展開形態で生成するデコーダを用いることを含む。
オプションで、上記方法は、逆可変長符号化(VLC)、逆ハフマン符号化、逆ゴロム符号化、逆算術符号化、逆レンジ符号化、逆差分符号化、逆ODelta符号化、逆レンペル・ジブ符号化、逆BWT符号化のうちの少なくとも1つを利用することによって、上記複数のパート(A、B)を復号することにより復号出力データ(D3)を生成するデコーダを用いることを含む。さらにオプションで、上記方法は、エントロピー復号法を用いることにより上記複数のパート(A、B)の少なくとも1つを復号するデコーダを用いることを含み、上記エントロピー復号法は、上記デコーダが、パート(A及び/又はB)を生成する処理にある場合に、符号化入力データ(D2)から1つ又は複数のエスケープ符号又は1つ又は複数の連続値シンボルを復号することができる。
オプションで、上記方法は、符号化入力データ(D2)において1つ又は複数のマーカーを特定するデコーダを用いることを含み、該1つ又は複数のマーカーは、上記複数のパート(A、B)のそれぞれに対応する符号化データの出現を決定するものである。
オプションで、上記方法は、実質的に可逆方式で上記ランレングス復号処理を実施することを含む。
本発明の第5の態様によれば、入力データ(D1)を符号化することにより対応符号化データ(D2)を生成する、本発明の第1の態様によるエンコーダと、符号化出力データ(D2)を復号することにより対応出力復号データ(D3)を生成する、本発明の第3の態様によるデコーダとを備えるコーデック装置が提供される。
本発明による第6の態様によれば、機械可読データ記憶媒体に記録されたソフトウェア製品であって、該ソフトウェア製品は、本発明の第2の態様による方法を実行するのにコンピュータハードウェアで実行可能であることを特徴とする、ソフトウェア製品が提供される。
本発明の第7の態様によれば、機械可読データ記憶媒体に記録されたソフトウェア製品であって、該ソフトウェア製品は、本発明の第4の態様による方法を実行するのにコンピュータハードウェアで実行可能であることを特徴とする、ソフトウェア製品が提供される。
本発明の特徴は、添付の特許請求の範囲によって規定される発明の要旨から逸脱することなく、各種組合せにおいて組合せられ得ることが理解される。
以下、本発明の実施形態について以下の図面を参照し、例示のみの目的で説明する。
本発明によるエンコーダの図である。 本発明によるコーデック装置の図である。
実施形態の説明
添付の図面において、下線を付した番号は、その下線を付した番号が位置する要素、又はその下線を付した番号が隣接する要素を表すのに用いられる。下線が付されていない番号は、要素にその下線が付されていない番号を結合させる線によって特定されるその要素に関する。番号に下線が付されておらず、関連する矢印が付随する場合、下線が付されていないその番号が、その矢印が指し示す全体要素を特定するのに用いられる。
概して、本発明は、ランレングス符号化(RLE)法に基づくものであるが、ランレングス符号化法よりも顕著に向上させるものである。
RLE法は、現代においては、可逆方式等で、例えばマルチメディアデータフォーマット等の各種画像情報を符号化するために利用されている。しかしながら、このようなRLE法は、例えば写真等の連続階調画像や非形式化データに対して十分に機能しない。それにもかかわらず、従来のRLEが、大抵ハフマン符号化と組み合わされ、かつBMP、GIF、PCX、TIFF等の標準的な現存フォーマットを利用して、ファクシミリ機等の装置において利用されている。
本発明の実施形態は、現存する既知のRLE法と比較してデータ圧縮率を向上をさせ、データ圧縮及び符号化の向上を達成する簡便な解決手段に関連する。また、本発明の実施形態は、RLEと同様にカウンターを利用するが、関係する文字独自のデータ出力パートに書き込まれるという違いを有する。即ち、カウンターと文字が、パートA及びパートBにそれぞれ別々に書き込まれるという違いを有する相互に異なるパートのこのような分離は、文字の定義とランレングス情報が共に混在する現存のRLEアプローチとは対照的である。
このように、本発明の実施形態は、新規分割ランレングス法、即ち連続データ、例えばグラフィック、画像、ビデオ、音声、テキスト、及びバイナリデータを含む、あらゆる種類の1Dデータ、2Dデータ及び3Dデータの前処理及び後処理に有効である「SRLE」に関連する。該分割ランレングス法は、デバイス、マイクロプロセッサ等における実施を目的として、ネットワーク用途のために更新可能である。また、分割ランレングス法は、機械可読データ記憶媒体に記憶された1つ又は複数のソフトウェア製品を用いて容易に実施可能であり、該ソフトウェア製品は、コンピュータハードウェアで実行可能である。
図1を参照すると、例えばデジタルハードウェア、及び/又は、機械可読データ記憶媒体に記憶され、かつコンピュータハードウェアで実行可能な1つ又は複数のソフトウェア製品により実施されるエンコーダ10が示されており、該エンコーダ10は、入力データD1を受信し、対応する符号化出力データD2を生成するように動作可能である。このようなエンコーダ10に関しては、入力データD1のエントロピーE1、並びに出力データD2のエントロピーE2を計算することが可能である。エントロピーE1、E2は、所与のデータセットを提供するのに必要な多数のビットにおいて明らかにされる。
エンコーダ10の演算方式を説明するために、例となるランレングス(RL)が、通常、1つ又は複数のバイト値で表現される。しかしながら、本発明の実施形態を説明するために、ここでは、英数字の文字について説明する。入力データD1が以下の文字列で表される。
[式1]
WWW WWW WWW WWW BWW WWW WWW WWW WBB BWW WWW WWW WWW WWW WWW WWW WWW WBW WWW WWW WWW WWW W
このような文字列に関連するエントロピーE1は、62個の「W」文字と、5個の「B」文字であり、式2及び式3から計算可能であるとおり25.66ビットで表すことができる。
[式2]
Figure 2016512004
シャノン(Shannon)の理論により、所与のメッセージを所与のアルファベットで符号化する最短の可能な表現の平均長Lは、それらのエントロピーEをアルファベットに存在するシンボルNの数の対数で割った値であることが特定されている。
[式3]
Figure 2016512004
上記一連の文字は、既知である2つの代替RLE法を用いて符号化することにより、26.55ビットに対応する関連算出エントロピーE2を用いて以下の一連のRLEとして出力データD2を生成することが可能である。
[式4]
12W 1B 12W 3B 24W 1B 14W
或は、35.49ビットに対応する関連算出エントロピーE2を用いて以下の一連のRLEとして出力データD2を生成することも可能である。
[式5]
WW12BWW12BB3WW24BWW14
式4は、数字(N)が先行する所与の文字の単純な表現であり、数字(N)は、該所与の文字の頻度を示し、即ち、12個の「W」の後に1個の「B」が続き、その後に12個の「W」が続くこと等を示す表現である。逆に、式5において文字は、式1の配列における文字に対応する文字を表し、その文字の後にその文字の頻度の表示が続いている。
式4は、最小のラン値が1であり得ることを示し、式5は、最小のラン値が2であり得ることを示す。これにより、この情報を利用し、ゼロ(0)から始まるストリーム値を自動的に生成する実装の構築が可能になる。例えば、式4は数字'=数字−1(N'=N−1)を用いて、以下のとおり式4'として書き換えることができる。
[式4']
11W 0B 11W 2B 23W 0B 13W
そして、式5は、(N'=N−2)を用いて、以下のとおり式5'として書き換えることができる。
[式5']
WW10BWW10BB1WW22BWW12
こうして、データのエントロピーは変わらないが、テーブル伝送に必要となるビット量及び場合によっては必要なエスケープ符号又は連続値シンボルの量を低減することによって、エントロピー符号化により好適なラン値を作成する。修正された式4'及び/又は5'が用いられる場合、デコーダもそれに対応して修正されなければならない。この事は、式4'においてその補正は(N=N'+1)であり、式5'においてその補正は(N=N'+2)であることを意味する。
上述のエスケープ符号は、希な値を検出し、かつ特定することが望まれる場合に好適に用いられ、その希な値を、別にその元の形で書き込む。幾つかのシンボルから値を構築することが望まれる場合には、連続値が好適に用いられるが、そのような幾つかのシンボルは、互いに合算され、又は互いに減算がされ、さらに該シンボルは同じストリームに書き込まれ、元の値又は修正された値であってもよい他の要素と共にエントロピー符号化され得るものである。最も一般的には、好ましい実施形態においては、エスケープ符号は、希な値をあるシンボルに置換するが、元の値も、その元ビットカウントと共にそのままストリームに加えられる。1つ又は複数の連続値が、後に実行されるエントロピー圧縮を目的として、修正した希な値に加えて、同じストリームにおいて出現し得る。
このような既知のRLE法(式4及び式5)並びに修正RLE法(式4'及び式5')によれば、入力データD1に存在したエントロピーよりも符号化出力データD2におけるエントロピーが大きくなると言う結果を生じ、つまりE2>E1となるが、出力データD2に存在するシンボルの総数は減少する。RLEデータは、例えばハフマン符号化(Huffman coding)、可変長符号化(variable length coding;VLC)等の更なる符号化を適用することによって圧縮可能であることが知られているが、このような更なる符号化では、準最適なデータ圧縮結果しか得られない。このような準最適な動作は、フォーマットの不一致が原因で生じる。
式4及び式5は、パートAによって示される文字、並びに同文字に関連するカウンター、つまりパートBが混じった物であり、式1、式4及び式5'に関し、該パートが表2において指定されている。
[表2]本発明に従うパートA及びパートB
Figure 2016512004
エンコーダ10が、本発明に従って機能する場合、出力データD2は、式4及び式5'にあるような混合型ではないが、パートA及びパートBは、別々に表現され、つま分割されており、それらの相互の対応性は、符号化データD2の構造によって定義され、例えば1つ又は複数のマーカーによって定義される。
本発明の例示実施形態によれば、式1において入力データD1は、25.66ビットのエントロピーE1と関係している。式1の文字配列は、以下の2つの入力パートにランレングス符号化される。
パートA: 12 1 12 3 24 1 14
パートB: W B W B W B W,
ここで、パートAは15.65ビットの関連算出エントロピーEを有し、パートBは、6.90ビットの関連算出エントロピーEを有する。これらパートは、上述の式4から導かれる。エントロピーEA、の合計は、22.55ビットであり、入力データD1に関連するエントロピーと較べて3.11ビット小さく、つまり12%小さく、既知である従来のRLEによって生成される符号のエントロピー、つまり36.55ビットよりも14.00ビット小さく、つまり38%小さい。したがって、有利なデータ圧縮が、本発明に従って、RLEによって生成されるカウンター及び文字情報を分割し、次いで、例えばVLC符号化、ハフマン符号化、ゴロム符号化(Golomb coding)、算術符号化、レンジ符号化、差分符号化、ODelta符号化、レンペル・ジブ符号化(Lempel−Ziv coding)、BWT符号化等の圧縮法を適用することで達成することができる。オプションで、この符号化は、エンコーダ10の前に適用され、オプションで、対応する復号も、デコーダ50に含まれる。
オプションで、エンコーダ10において、パートB及び/又はパートAは、データD1において最大の許容可能なランレングス及び1つ又は複数の関連スケープ符号又は1つ又は複数の関連連続値シンボルを有することにより、データD2により大きい値のランレングスシンボルが存在することを示すように、例えば可変長符号化(VLC)又はレンジ符号化を用いて符号化される。同様に、デコーダ50は、当該エンコーダで受信されるデータD2に存在する1つ又は複数の上記エスケープ符号又は連続値シンボルを特定するように実施され、該1つ又は複数のエスケープ符号又は1つ又は複数の連続値シンボルは、データD1を復号する際、即ちパートA及び/又はパートBを再生成する時にデコーダ50において解釈される。
本発明の別の例示実施形態によれば、式1において、入力データD1は、25.66ビットのエントロピーE1と関連している。式1の文字列は、以下の2つの入力パートにランレングス符号化(RLE)される。
パートA:10 10 1 22 12
パートB:W W B W W B B W W B W W,
ここで、パートAは、9.61ビットの関連算出エントロピーEを有し、パートBは、11.02ビットの関連算出エントロピーEを有する。これらパートは、上述の式5'から導かれる。エントロピーEA、の合計は、20.63ビットであり、入力データD1に関連するエントロピーと較べて5.03ビット小さく、つまり20%小さく、既知である従来のRLEによって生成される符号のエントロピー、つまり36.55ビットよりも14.86ビット小さく、つまり42%小さい。したがって、有利なデータ圧縮が、本発明に従って、RLEによって生成されるカウンター及び文字情報を分割し、次いで、例えばVLC符号化、ハフマン符号化等の圧縮法を適用することで達成することができる。有利には、本発明の実施形態には、エンコーダから対応するデコーダに1つ又は複数の符号化テーブルが送信されることにより、該エンコーダから送信され、該デコーダで受信された符号化データの復号を支援することが含まれる。符号化テーブルを伝送する極めて有利な方法の幾つかが、例えば本出願人によって提出された特許出願GB GB1403039.9に開示されている。エントロピー符号化と符号テーブルの伝送を組み合わせた更なる方法が、本出願人により提出された特許出願GB GB1403038.1に開示されている。上述の開示された方法の両方が、本発明の実施形態と組み合わせて用いるのに好適に適合するものであり、エントロピー符号化に必要とされる更なる符号化データを最小化するのに役立つ。
上述の符号テーブルの伝送方法は、SRLEによって生成されるデータがその後エントロピー符号化される全ての場合において適用可能であることに留意されたい。
上述の例示実施形態は、入力データD1においてRLE法を適用することにより対応するRLEデータを生成すること、次いでそのRLEデータを文字パート、つまり上記パートB、並びに対応するランレングスカウントパート、つまり上記パートAに分割すること(つまり、パートAに関連するデータはパートBに関連するデータから分離される)、並びに次いで該パートに対して別々に符号化を適用することにより符号化出力データD2を生成することから得られる利点を明確に示している。オプションで、追加の符号、例えば1つ又は複数のマーカーが、符号化出力データD2の何れの部分がパートA及びパートBに対応するかを示すために含まれるが、このような追加の符号を含むことは、つまり対応する後続の復号作業を補助するためのものである。このようなデータ符号化処理は、図2に記述されるような方式で機能的に実施される図1のエンコーダ10において有利に実施される。
図2には、20によって包括的に示されるコーデック装置が示されている。コーデック装置20は、本発明に従って入力データD1を符号化することにより対応符号化出力データD2を生成する方法を実施するように構成されたエンコーダ10を備える。エンコーダ10は、デジタルハードウェアにおいて、例えば機械可読データ記憶媒体に記録された1つ又は複数のソフトウェア製品を実行するように動作可能であるコンピュータハードウェアとして有利に実施される。エンコーダ10は、以下の3つの機能を実行するように動作可能である。
(a)エンコーダ10の第1ステージ30Aは、入力データD1の文字を決定し又はその文字表現を生成するように入力データD1を処理し、かつ対応ランレングスカウントを生成するように動作可能であること、
(b)エンコーダ10の第2ステージ30Bは、第1ステージ30Aにおいて生成された上記文字及びそれらの対応ランレングスカウントを2つのパート、即ちパートB及びAそれぞれに、構造化された方式で分割するように動作可能であること、並びに
(c)エンコーダ10の第3ステージ30Cは、例えばハフマン符号化又は可変長符号化(VLC)を介してパートA及びBのデータを符号化することにより、出力符号化データD2を生成するように動作可能であること。
出力データD2は、オプションで、データキャリア40、例えば光学データ記憶ディスクメモリに記憶される。或は、出力データD2は、データ通信ネットワーク45、例えばインターネットを介してコーデック装置20のデコーダ50に伝達される。デコーダ50は、有利には、デジタルハードウェアにおいて、例えば機械可読データ記憶媒体に記録された1つ又は複数のソフトウェア製品を実行するように動作可能であるコンピュータハードウェアとして実施される。さらに、デコーダ50は、作動する際には、エンコーダ10によって実行される処理演算の逆を実行するように動作可能であり、即ち、デコーダ50は、以下の3つの機能を実行するように動作可能である。
(i)デコーダ50の第1ステージ60Aは、符号化データD2を受信し、かつ例えば逆ハフマン符号化又は逆可変長符号化(VLC)を介してパートA及びBのデータを復号することによりパートA及びBを再生成するように動作可能であること、
(ii)デコーダ50の第2ステージ60Bは、第1ステージ60Aからの再生成パートA及びBを結合することにより文字及びそれらに対応のランレングスカウントを混合データとして生成すること、並びに
(iii)デコーダ50の第3ステージ60Cは、上記混合データに逆ランレングス符号化を適用することにより同混合データから復号出力データD3を再生成すること。
オプションで、エンコーダ10及びデコーダ50の少なくとも1つが、消費者向け電子製品、例えばテレビ、スマートフォン、ファクシミリ機、タブレットコンピュータ、パーソナルコンピュータ(PC)、ビデオレコーダー、ビデオプレイヤー、デジタルカメラ、テレビ会議システム、監視装置、携帯パーソナルマルチメディアプレーヤー等において実施されるが、これらは実際の用途のほんの一部の例に過ぎない。
本発明に関し、符号化データを2つのパート、即ちパートA及びBに分割することについて上記に説明したが、2つを超えるパートに符号化データを分割することも、多次元データに対して任意に可能であることが理解される。さらに、本発明に関し、2つのパート、即ちパートA及びBに対応する復号データを結合することについて上記に説明したが、2つを超えるパートを結合することが、多次元データに対して任意に可能であることが理解される。
上記に記載した発明の実施形態に対する変更は、添付の特許請求の範囲によって定義される発明の要旨から逸脱することのない限り可能である。本発明を説明し、また特許請求する際に用いられる「含む」又は「備える」("including"、"comprising")、「組み込む」("incorporating")、「から成る」("consisting of")、「有する」("have")、「である」("is")等の表現は、非排他的な方式で理解されるべきことが意図されており、即ち明示されていない事項、成分又は要素が存在し得る。単数での表記は、複数にも関連するものと理解される。添付の特許請求の範囲における括弧内の数値は、請求項の理解を補助するためのものであり、それら請求項によって記載される主題を限定するものとして解釈してはならない。
以下に、出願当初の特許請求の範囲に記載されていた、好適な実施形態を載せておく。
[1]入力データ(D1)を符号化することにより対応符号化出力データ(D2)を生成するエンコーダ(10)であって、
前記入力データ(D1)のランレングス符号化(RLE)表現を生成するデータ処理装置を備え、
前記ランレングス符号化(RLE)表現を複数のパート(A、B)に分割するように動作可能であり、少なくとも1つのパートが、第1データストリームにおいて、オリジナルのシンボルに関連し、第2データストリームにおける少なくとも別のパートが、前記第1データストリームにおけるシンボルの少なくとも幾つかの出現を示すカウンターに関連し、
前記複数のパート(A、B)を別々に符号化することにより符号化出力データ(D2)を生成するように動作可能である、
エンコーダ(10)。
[2]前記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも1つを含む、[1]に記載のエンコーダ(10)。
[3]符号化出力データ(D2)を、入力データ(D1)に対して圧縮形態で生成するように動作可能である、[2]に記載のエンコーダ(10)。
[4]可変長符号化(VLC)、ハフマン符号化、ゴロム符号化、算術符号化、レンジ符号化、差分符号化、レンペル・ジブ符号化、BWT符号化のうちの少なくとも1つを利用することによって、前記複数のパート(A、B)を符号化することにより前記符号化出力データ(D2)を生成するように動作可能である、[1]から[3]の何れかに記載のエンコーダ(10)。
[5]エントロピー符号化法を用いることにより前記複数のパート(A、B)の少なくとも1つを符号化するように動作可能であり、前記エントロピー符号化法は、前記符号化出力データ(D2)においてパート(A及び/又はB)をエントロピー符号化する際に、1つ又は複数のエスケープ符号又は1つ又は複数の連続値シンボルを用いることによってパート(A及び/又はB)の値を符号化することができる、[4]に記載のエンコーダ(10)。
[6]前記符号化出力データ(D2)に1つ又は複数のマーカーを含めるように動作可能であり、該1つ又は複数のマーカーは、前記複数のパート(A、B)のそれぞれに対応する符号化データの出現を示すものである、[1]から[5]の何れかに記載のエンコーダ(10)。
[7]前記ランレングス符号化(RLE)表現は、実質的に可逆方式で実施される、[1]から[6]の何れかに記載のエンコーダ(10)。
[8]エンコーダ(10)において入力データ(D1)を符号化することにより対応する符号化出力データ(D2)を生成する方法であって、前記方法は、入力データ(D1)のランレングス符号化(RLE)表現を生成するデータ処理装置を用いることを含み、さらに前記方法は、
(a)前記ランレングス符号化(RLE)表現を複数のパート(A、B)に分割するエンコーダ(10)を用いること、但し、少なくとも1つのパートは、第1データストリームにおいて、オリジナルのシンボルに関連するものであり、第2データストリームにおける少なくとも別のパートは、第1データストリームにおけるシンボルの少なくとも幾つかの出現を示すカウンターに関連するものとすることと;
(b)前記複数のパート(A、B)を別々に符号化することにより符号化出力データ(D2)を生成するエンコーダ(10)を用いることと;
を更に含む、方法。
[9]前記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも1つを含む、[8]に記載の入力データ(D1)を符号化する方法。
[10]前記エンコーダ(10)を用いて、前記符号化出力データ(D2)を、入力データ(D1)に対して圧縮形態で生成することを含む、[8]に記載の方法。
[11]前記エンコーダ(10)を用いて、
変長符号化(VLC)、ハフマン符号化、ゴロム符号化、算術符号化、レンジ符号化、差分符号化、レンペル・ジブ符号化、BWT符号化のうちの少なくとも1つを利用することによって、前記複数のパート(A、B)を符号化することにより前記符号化出力データ(D2)を生成することを含む、[8]から[10]の何れかに記載の方法。
[12]前記エンコーダ(10)を用いて、エントロピー符号化法を用いることにより前記複数のパート(A、B)の少なくとも1つを符号化することを含み、前記エントロピー符号化法は、符号化出力データ(D2)においてパート(A及び/又はB)をエントロピー符号化する際に、1つ又は複数のエスケープ符号又は1つ又は複数の連続値シンボルを用いることによってパート(A及び/又はB)の値を符号化することができる、[11]に記載の方法。
[13]前記エンコーダ(10)を用いて、前記符号化出力データ(D2)に1つ又は複数のマーカーを含めることを含み、該1つ又は複数のマーカーは、前記複数のパート(A、B)のそれぞれに対応する符号化データの出現を示すものである、[8]から[12]の何れかに記載の方法。
[14]実質的に可逆方式で前記ランレングス符号化(RLE)表現を実装することを含む、[8]から[13]の何れかに記載の方法。
[15]符号化入力データ(D2)を復号することにより対応復号出力データ(D3)を生成するデコーダ(50)であって、前記デコーダ(50)はデータ処理装置を備え、
前記データ処理装置は、前記符号化入力データ(D2)を複数の別々のパート(A、B)に復号するように構成され、但し、少なくとも1つのパートは、第1データストリームにおいて、オリジナルのシンボルに関連するものであり、第2データストリームにおける少なくとも別のパートは、第1データストリームにおけるシンボルの少なくとも幾つかの出現を示すカウンターに関連し、
前記データ処理装置はさらに、前記複数のパート(A、B)を共に結合することにより結合データを生成し、ランレングス復号処理を介して該結合データを復号することにより前記復号出力データ(D3)を生成するように構成される、
る、
デコーダ(50)。
[16]前記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも1つを含む、[15]に記載のデコーダ(50)。
[17]復号出力データ(D3)を、符号化入力データ(D2)に対して展開形態で生成するように動作可能である、[15]に記載のデコーダ(50)。
[18]逆可変長符号化(VLC)、逆ハフマン符号化、逆ゴロム符号化、逆算術符号化、逆レンジ符号化、逆差分符号化、逆レンペル・ジブ符号化、逆BWT符号化のうちの少なくとも1つを利用することによって、前記符号化入力データ(D2)を復号することにより前記複数のパート(A、B)を生成するように動作可能である、[15]から[17]の何れかに記載のデコーダ(50)。
[19]エントロピー復号法を用いることにより前記複数のパート(A、B)の少なくとも1つを復号するように動作可能であり、前記エントロピー復号法は、前記符号化入力データ(D2)から1つ又は複数のエスケープ符号又は1つ又は複数の連続値シンボルを復号することができる、[18]に記載のデコーダ(50)。
[20]前記符号化入力データ(D2)において1つ又は複数のマーカーを特定するように動作可能であり、該1つ又は複数のマーカーは、前記複数のパート(A、B)のそれぞれに対応する符号化データの出現を決定するものである、[15から[19]の何れかに記載のデコーダ(50)。
[21]前記ランレングス復号処理は、実質的に可逆方式で実施される、[15]から[20]の何れかに記載のデコーダ(50)。
[22]デコーダ(50)において符号化入力データ(D2)を復号することにより対応復号出力データ(D3)を生成する方法であって、前記方法は、データ処理装置を用いることを含み、前記方法はさらに、
(a)符号化入力データ(D2)を複数の別々のパート(A、B)に復号するデコーダ(50)を用いること、但し、少なくとも1つのパートは、第1データストリームにおいて、オリジナルのシンボルに関連するものであり、第2データストリームにおける少なくとも別のパートは、第1データストリームにおけるシンボルの少なくとも1つの出現を示すカウンターに関連することと;
(b)前記複数のパート(A、B)を結合することにより対応結合データを生成するデコーダ(50)を用いることと;
(c)前記結合データにランレングス復号処理を適用することにより前記復号出力データ(D3)を生成するランレングス復号処理を用いることと;
を含む、方法。
[23]前記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも1つを含む、[22]に記載の方法。
[24]前記デコーダ(50)を用いて、前記復号出力データ(D3)を、符号化入力データ(D2)に対して展開形態で生成することを含む、[22]または[23]に記載の方法。
[25]前記デコーダ(50)を用いて、
逆可変長符号化(VLC)、逆ハフマン符号化、逆ゴロム符号化、逆算術符号化、逆レンジ符号化、逆差分符号化、逆レンペル・ジブ符号化、逆BWT符号化のうちの少なくとも1つを利用することによって、前記複数のパート(A、B)を復号することにより復号出力データ(D3)を生成することを含む、[22]から[24]の何れかに記載の方法。
[26]エントロピー復号法を用いることにより前記複数のパート(A、B)の少なくとも1つを復号するデコーダ(50)を用いることを含み、前記エントロピー復号法は、前記符号化入力データ(D2)から1つ又は複数のエスケープ符号又は1つ又は複数の連続値シンボルを復号することができる、[25]に記載の方法。
[27]前記デコーダ(50)を用いて、前記符号化入力データ(D2)において1つ又は複数のマーカーを特定することを含み、該1つ又は複数のマーカーは、前記複数のパート(A、B)のそれぞれに対応する符号化データの出現を決定するものである、[22]から[26]の何れかに記載の方法。
[28]実質的に可逆方式で前記ランレングス復号処理を実施することを含む、[22]から[27]の何れかに記載の方法。
[29]入力データ(D1)を符号化することにより対応符号化データ(D2)を生成する[1]から[7]の何れかに記載のエンコーダ(10)と、符号化出力データ(D2)を復号することにより対応出力復号データ(D3)を生成する[15]から[21]の何れかに記載のデコーダ(50)とを備えるコーデック装置(20)。
[30]装置の処理手段に実行されると、前記装置に、[8]から[14]及び[22]から[28]の何れかに記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
JP2015559444A 2013-03-01 2014-03-01 データエンコーダ、データデコーダ及び方法 Active JP6431487B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1303660.3 2013-03-01
GB1303660.3A GB2507603B (en) 2013-03-01 2013-03-01 Data encoder, data decoder and method
PCT/EP2014/000530 WO2014131527A1 (en) 2013-03-01 2014-03-01 Data encoder, data decoder and method

Publications (3)

Publication Number Publication Date
JP2016512004A JP2016512004A (ja) 2016-04-21
JP2016512004A5 true JP2016512004A5 (ja) 2016-06-09
JP6431487B2 JP6431487B2 (ja) 2018-11-28

Family

ID=48142237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015559444A Active JP6431487B2 (ja) 2013-03-01 2014-03-01 データエンコーダ、データデコーダ及び方法

Country Status (7)

Country Link
US (1) US8823560B1 (ja)
EP (1) EP2962399A1 (ja)
JP (1) JP6431487B2 (ja)
KR (1) KR101610609B1 (ja)
CN (1) CN105191145B (ja)
GB (1) GB2507603B (ja)
WO (1) WO2014131527A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2527588B (en) 2014-06-27 2016-05-18 Gurulogic Microsystems Oy Encoder and decoder
GB2539239B (en) 2015-06-10 2017-10-04 Gurulogic Microsystems Oy Encoders, decoders and methods utilizing mode symbols
KR102379182B1 (ko) * 2015-11-20 2022-03-24 삼성전자주식회사 연속 데이터 압축 장치 및 방법
CN106559084B (zh) * 2016-11-15 2019-07-30 浙江工业大学 一种基于算术编码的无损数据压缩编码方法
CN106790550B (zh) * 2016-12-23 2019-11-08 华中科技大学 一种适用于配电网监测数据压缩的系统
US10593257B2 (en) * 2018-03-15 2020-03-17 Samsung Display Co., Ltd. Stress profile compression
CN110417811B (zh) * 2019-08-22 2021-08-10 上海兆芯集成电路有限公司 比特流编码压缩的方法及装置
US11115049B1 (en) * 2020-08-24 2021-09-07 Innogrit Technologies Co., Ltd. Hardware friendly data decompression
CN116738471B (zh) * 2023-08-10 2023-10-20 陕西昕晟链云信息科技有限公司 基于区块链的去中心化数据分析方法
CN117411947B (zh) * 2023-12-15 2024-02-23 安徽中科大国祯信息科技有限责任公司 基于云边协同的水务数据快速传输方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0722342B2 (ja) * 1982-08-12 1995-03-08 三菱電機株式会社 色彩画像符号化方法
JPS61136379A (ja) * 1984-12-07 1986-06-24 Canon Inc 符号化方式
JPS61136378A (ja) * 1984-12-07 1986-06-24 Canon Inc 符号化方式
US5233348A (en) * 1992-03-26 1993-08-03 General Instrument Corporation Variable length code word decoder for use in digital communication systems
JP2000156643A (ja) * 1998-11-19 2000-06-06 Matsushita Electric Ind Co Ltd 可変長符号の復号化方法および可変長符号の復号化プログラムを記録した記録媒体
US6781528B1 (en) * 2002-10-24 2004-08-24 Apple Computer, Inc. Vector handling capable processor and run length encoding
JP3870171B2 (ja) * 2003-03-11 2007-01-17 キヤノン株式会社 符号化方法及び符号化装置、コンピュータプログラム並びにコンピュータ可読記憶媒体
JP2007311024A (ja) * 2007-07-30 2007-11-29 Toshiba Corp 情報記憶媒体、情報記録方法及び情報再生方法
CN101202548A (zh) * 2007-12-28 2008-06-18 北京邮电大学 一种双游程数据编码方法
CN101299611B (zh) * 2008-06-30 2011-10-05 中国电子科技集团公司第二十八研究所 一种基于集合游程的数据压缩方法
US8108361B2 (en) * 2008-07-31 2012-01-31 Microsoft Corporation Efficient column based data encoding for large-scale data storage
GB2481870B (en) * 2010-12-14 2012-06-13 Realvnc Ltd Method and system for remote computing
CN102724505B (zh) * 2012-06-06 2015-01-28 西安电子科技大学 Jpeg_ls游程编码fpga实现方法

Similar Documents

Publication Publication Date Title
JP6431487B2 (ja) データエンコーダ、データデコーダ及び方法
JP2016512004A5 (ja)
KR101737294B1 (ko) 심볼 압축을 수반하는 데이터의 소스 코딩 및 디코딩을 위한 방법들 및 디바이스들
RU2630750C1 (ru) Устройство и способ для кодирования и декодирования исходных данных
JP6045123B2 (ja) エンコーダ、デコーダ及び方法
US8682091B2 (en) Real-time image compression
JP6073506B2 (ja) エントロピー変更器及び方法
KR102393743B1 (ko) 모드 심볼들을 사용하는 인코더, 디코더 및 방법
US9503760B2 (en) Method and system for symbol binarization and de-binarization
KR20140137505A (ko) 무손실 이미지 압축 및 복원 방법과 이를 수행하는 장치
JP5453399B2 (ja) 特有数値でデータを符号化および復号するための方法および装置
KR20120012790A (ko) 입력 비트 시퀀스를 인코딩하는 방법과 디바이스 및 대응하는 디코딩 방법 및 디바이스
KR101760070B1 (ko) 데이터 부호화 및 복호화 방법과 장치
Das et al. Design an Algorithm for Data Compression using Pentaoctagesimal SNS
KR20210012580A (ko) 이진데이터의 압축 방법 및 장치
Usibe et al. Noise Reduction in Data Communication Using Compression Technique
KR20210012842A (ko) 이진데이터의 압축방법 및 그 장치
JP2015119414A (ja) データ量削減装置
JP2013211643A (ja) 圧縮方法、復元方法、情報処理装置及びプログラム
JP2010118871A (ja) 画像処理装置、画像処理方法、プログラム及び記憶媒体