特許第6431487号(P6431487)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グルロジック マイクロシステムズ オーワイの特許一覧

特許6431487データエンコーダ、データデコーダ及び方法
<>
  • 特許6431487-データエンコーダ、データデコーダ及び方法 図000006
  • 特許6431487-データエンコーダ、データデコーダ及び方法 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6431487
(24)【登録日】2018年11月9日
(45)【発行日】2018年11月28日
(54)【発明の名称】データエンコーダ、データデコーダ及び方法
(51)【国際特許分類】
   H03M 7/46 20060101AFI20181119BHJP
【FI】
   H03M7/46
【請求項の数】12
【全頁数】20
(21)【出願番号】特願2015-559444(P2015-559444)
(86)(22)【出願日】2014年3月1日
(65)【公表番号】特表2016-512004(P2016-512004A)
(43)【公表日】2016年4月21日
(86)【国際出願番号】EP2014000530
(87)【国際公開番号】WO2014131527
(87)【国際公開日】20140904
【審査請求日】2015年9月3日
【審判番号】不服2016-14921(P2016-14921/J1)
【審判請求日】2016年10月5日
(31)【優先権主張番号】1303660.3
(32)【優先日】2013年3月1日
(33)【優先権主張国】GB
【早期審査対象出願】
(73)【特許権者】
【識別番号】513156386
【氏名又は名称】グルロジック マイクロシステムズ オーワイ
【氏名又は名称原語表記】Gurulogic Microsystems Oy
(74)【代理人】
【識別番号】100127188
【弁理士】
【氏名又は名称】川守田 光紀
(72)【発明者】
【氏名】カレヴォ オッシ
(72)【発明者】
【氏名】カルッカイネン トゥオマス
【合議体】
【審判長】 吉田 隆之
【審判官】 金田 孝之
【審判官】 中野 浩昌
(56)【参考文献】
【文献】 特開昭61−136379(JP,A)
【文献】 特開平3−205963(JP,A)
【文献】 特開平9−102746(JP,A)
【文献】 特開昭59−30367(JP,A)
【文献】 特開2000−156643(JP,A)
【文献】 特開平6−104768(JP,A)
【文献】 昌達 慶仁、“詳解 圧縮処理プログラミング”、日本、2010.11.01発行、初版、pp.4−7
【文献】 “連長圧縮 − Wikipedia”、[online]、2006.10.24、[平成29年11月29日検索]、インターネット<URL: https://ja.wikipedia.org/w/index.php?title=連長圧縮&oldid=8435045>
(58)【調査した分野】(Int.Cl.,DB名)
H03M3/00 - 3/04
H03M5/00 - 5/22
H03M7/00 - 7/50
H03M9/00
H03M11/00 -11/26
CSDB
(57)【特許請求の範囲】
【請求項1】
入力データ(D1)を符号化することにより対応符号化出力データ(D2)を生成するエンコーダ(10)であって、
前記入力データ(D1)のランレングス符号化(RLE)表現を生成するデータ処理装置を備え、
前記ランレングス符号化(RLE)表現を複数のパート(A、B)に分割するように動作可能であり、前記複数のパートのうちの少なくとも1つのパートが、オリジナルのシンボルに関連し、前記複数のパートのうちの少なくとも別のパートの1つが、前記オリジナルのシンボルの少なくとも1つについての出現を示すカウンターに関連し、前記少なくとも1つのパートは第1ストリームに含まれ、前記少なくとも別のパートの1つは前記第1ストリームとは異なる第2ストリームに含まれ、ただし前記少なくとも別のパートの1つに含まれる値の個数は、前記少なくとも1つのパートに含まれる値の個数よりも少なく、
前記複数のパート(A、B)を別々に符号化することにより符号化出力データ(D2)を生成するように動作可能であり、
符号化された前記少なくとも1つのパート及び符号化された前記少なくとも別のパートの1つは前記符号化出力データ(D2)に含まれる、
エンコーダ(10)において、
前記符号化出力データ(D2)に1つ又は複数のマーカーを含めるように動作可能であり、該1つ又は複数のマーカーは、前記複数のパート(A、B)のそれぞれに対応する符号化データの出現を示すものである、エンコーダ(10)
【請求項2】
符号化出力データ(D2)を、入力データ(D1)に対して圧縮形態で生成するように動作可能である、請求項1に記載のエンコーダ(10)。
【請求項3】
エントロピー符号化を用いることにより前記複数のパート(A、B)の少なくとも1つを符号化するように動作可能である、請求項1に記載のエンコーダ(10)。
【請求項4】
前記ランレングス符号化(RLE)表現は、可逆方式で実施される、請求項1からの何れか1項に記載のエンコーダ(10)。
【請求項5】
エンコーダ(10)において入力データ(D1)を符号化することにより対応する符号化出力データ(D2)を生成する方法であって、前記方法は、入力データ(D1)のランレングス符号化(RLE)表現を生成するデータ処理装置を用いることを含み、さらに前記方法は、
(a)前記ランレングス符号化(RLE)表現を複数のパート(A、B)に分割するエンコーダ(10)を用いること、但し、前記複数のパートのうちの少なくとも1つのパートは、オリジナルのシンボルに関連するものであり、前記複数のパートのうちの少なくとも別のパートの1つは、前記オリジナルのシンボルの少なくとも1つについての出現を示すカウンターに関連し、前記少なくとも1つのパートは第1ストリームに含まれ、前記少なくとも別のパートの1つは前記第1ストリームとは異なる第2ストリームに含まれ、前記少なくとも別のパートの1つに含まれる値の個数は、前記少なくとも1つのパートに含まれる値の個数よりも少ない、前記用いることと;
(b)前記複数のパート(A、B)を別々に符号化することにより符号化出力データ(D2)を生成するように前記エンコーダ(10)を用いることと;
を更に含み、符号化された前記少なくとも1つのパート及び符号化された前記少なくとも別のパートの1つは前記符号化出力データ(D2)に含まれ
さらに前記方法は、前記符号化出力データ(D2)に1つ又は複数のマーカーを含めることを含み、該1つ又は複数のマーカーは、前記複数のパート(A、B)のそれぞれに対応する符号化データの出現を示すものである、方法。
【請求項6】
符号化入力データ(D2)を復号することにより対応復号出力データ(D3)を生成するデコーダ(50)であって、前記デコーダ(50)はデータ処理装置を備え、
前記データ処理装置は、前記符号化入力データ(D2)に含まれる複数の別々のパート(A、B)を前記符号化入力データ(D2)から復号するように構成され、但し、前記複数のパートのうちの少なくとも1つのパートは、オリジナルのシンボルに関連するものであり、前記複数のパートのうちの少なくとも別のパートの1つは、前記オリジナルのシンボルの少なくとも1つについての出現を示すカウンターに関連し、前記少なくとも1つのパートは第1ストリームに含まれ、前記少なくとも別のパートの1つは前記第1ストリームとは異なる第2ストリームに含まれ、ただし前記少なくとも別のパートの1つに含まれる値の個数は、前記少なくとも1つのパートに含まれる値の個数よりも少なく、
前記データ処理装置はさらに、前記複数のパート(A、B)を共に結合することにより結合データを生成し、ランレングス復号処理を介して該結合データを復号することにより前記復号出力データ(D3)を生成するように構成される、
デコーダ(50)において、
前記符号化入力データ(D2)において1つ又は複数のマーカーを特定するように動作可能であり、ただし該1つ又は複数のマーカーは、前記複数のパート(A、B)のそれぞれに対応する符号化データの出現を決定するものである、デコーダ(50)
【請求項7】
復号出力データ(D3)を、符号化入力データ(D2)に対して展開形態で生成するように動作可能である、請求項に記載のデコーダ(50)。
【請求項8】
エントロピー復号を用いることにより前記複数のパート(A、B)の少なくとも1つを復号するように動作可能である、請求項に記載のデコーダ(50)。
【請求項9】
前記ランレングス復号処理は、可逆方式で実施される、請求項からの何れか1項に記載のデコーダ(50)。
【請求項10】
デコーダ(50)において符号化入力データ(D2)を復号することにより対応復号出力データ(D3)を生成する方法であって、前記方法は、データ処理装置を用いることを含み、前記方法はさらに、
(a)前記符号化入力データ(D2)に含まれる複数の別々のパート(A、B)を前記符号化入力データ(D2)から復号するデコーダ(50)を用いること、但し、前記複数のパートのうちの少なくとも1つのパートは、オリジナルのシンボルに関連するものであり、前記複数のパートのうちの少なくとも別のパートの1つは、前記オリジナルのシンボルの少なくとも1つについての出現を示すカウンターに関連し、前記少なくとも1つのパートは第1ストリームに含まれ、前記少なくとも別のパートの1つは前記第1ストリームとは異なる第2ストリームに含まれ、前記少なくとも別のパートの1つに含まれる値の個数は、前記少なくとも1つのパートに含まれる値の個数よりも少ない、前記用いることと;
(b)前記複数のパート(A、B)を結合することにより対応結合データを生成するデコーダ(50)を用いることと;
(c)前記結合データにランレングス復号処理を適用することにより前記復号出力データ(D3)を生成するランレングス復号処理を用いることと;
を含み、
さらに前記方法は、前記符号化入力データ(D2)において1つ又は複数のマーカーを特定するように動作可能であり、ただし該1つ又は複数のマーカーは、前記複数のパート(A、B)のそれぞれに対応する符号化データの出現を決定するものである、方法。
【請求項11】
入力データ(D1)を符号化することにより対応符号化データ(D2)を生成する請求項1からの何れか1項に記載のエンコーダ(10)と、符号化出力データ(D2)を復号することにより対応出力復号データ(D3)を生成する請求項からの何れか1項に記載のデコーダ(50)とを備えるコーデック装置(20)。
【請求項12】
装置の処理手段に実行されると、前記装置に、請求項または10に記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データエンコーダ、及び対応するデータ符号化の方法に関する。また、本発明は、データデコーダ、及び対応する符号化データを復号する方法に関する。更に、本発明は、機械可読データ記憶媒体に記録されたソフトウェア製品であって、該ソフトウェア製品は、上記方法を実施するためにコンピュータハードウェアで実行可能である、ソフトウェア製品に関する。上記データエンコーダは、上記データデコーダと同様に、例えば、データ通信システム及びデータ供給システムの構成部品として、また消費者向け電子製品において使用可能である。加えて、本発明は、上記データエンコーダを少なくとも1つ、及び上記データデコーダを少なくとも1つ備えるコーデック装置に関する。
【発明の背景】
【0002】
現代社会においてデータが益々利用されるにつれ、簡便であるが有効な、無損失データ圧縮を提供する方法、並びに、それに対応して可逆データ展開を提供する簡便な方法が必要とされている。データを圧縮する従来既知のランレングス符号化法は、連続データを圧縮する目的にしか真に有効ではなく、そのような連続データは、通常、パケット化データ交換を頻繁に実行するデータ通信システム内においてはそれ程一般的なものではない。データ通信システム内、例えばインターネットにおけるパケット化データ交換では、多数の小データパケットの伝送が生じる。しかしながら、データ圧縮の技術分野における当業者にとっては、ランレングス符号化(run-length encoding;RLE)によって、その他既知のデータ圧縮手法と比較して、より良いデータ圧縮率が得られることは周知である。
【0003】
あらゆるバリエーションのランレングス符号化法は、当該方法によって符号化されるバイトのカウンター及び文字を利用する。それら方法を実施する際、カウンターが、そのような文字の各ランに対して設定される。さらに、それら方法においては、その文字に対するカウンターの表し方に関し幾つかのバリエーションがあるが、これらは、常に、バイトの文字を用いて同じ出力データに符号化される。その結果、一般的に既知のRLE法では、比較的低いデータ圧縮率しか得られないことが分かっている。
【0004】
表1には、既知の現存技術を示す文献が示されている。
【0005】
[表1]既知の技術
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】「ランレングス符号化(Run-length encoding)」-ウィキペディア(2012年11月28日にアクセス)URL: http://en.wikipedia.org/wiki/Run-length_encoding
【非特許文献2】「ハフマン符号化(Huffman coding)」-ウィキペディア(2012年11月28日にアクセス)URL: http://en.wikipedia.org/wiki/Huffman_coding
【非特許文献3】「(ランレングス符号化)(Run Length Encoding (RLE))-議論及び実装」(2012年12月18日にアクセス)URL: http://michael.dipperstein.com/rle/index.html
【非特許文献4】アルトゥーロ・カンポス(Arturo Campos)による「ランレングス符号化(Run Length Encoding)」(2012年12月18日にアクセス) URL: http://www.arturocampos.com/ac_rle.html
【非特許文献5】「通信の数学的理論(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
【非特許文献6】シャノンの情報源符号化定理(Shannon's source coding theorem)-ウィキペディア(2012年11月28日にアクセス) URL: http://en.wikipedia.org/wiki/Source_coding_theorem
【非特許文献7】「エントロピー(Entropy)」-ウィキペディア(2012年11月28日にアクセス) URL: http://en.wikipedia.org/wiki/Entropy
【非特許文献8】「可変長符号(Variable-length code)」-ウィキペディア(2012年11月28日にアクセス)URL: http://en.wikipedia.org/wiki/Arithmetic_coding
【非特許文献9】「算術符号化(Arithmetic coding)」-ウィキペディア(2012年11月28日にアクセス)URL: http://en.wikipedia.org/wiki/Arithmetic_coding
【非特許文献10】「差分符号化(Delta encoding)」-ウィキペディア(2012年11月28日にアクセス)URL: http://en.wikipedia.org/wiki/Delta_coding
【発明の概要】
【0007】
本発明は、入力データを圧縮することにより対応する圧縮出力データを生成する改良法を提供することを目的とする。
【0008】
本発明は、入力データを符号化することにより対応する符号化出力データを生成する改良法を提供することを目的とする。
【0009】
本発明は、圧縮入力データを受信し、対応する展開出力データを生成するデータ展開の改良法を提供することを目的とする。
【0010】
本発明は、入力データを復号することにより対応する復号出力データを生成する改良法を提供することを目的とする。
【0011】
本発明は、上記方法を利用するように動作可能であるエンコーダ、デコーダ及びコーデック装置を提供することを目的とする。
【0012】
本発明の第1の態様によれば、添付の請求項1に記載のエンコーダが提供される。即ち、入力データ(D1)を符号化することにより対応符号化出力データ(D2)を生成するエンコーダであって、
入力データ(D1)のランレングス符号化(RLE)表現を生成するデータ処理装置を備え
上記ランレングス符号化(RLE)表現を複数のパート(A、B)に分割するように動作可能であり、少なくとも1つのパートが、第1データストリームにおいて、オリジナルのシンボルに関連し、第2データストリームにおける少なくとも別のパートが、上記第1データストリームにおけるシンボルの少なくとも幾つかの出現を示すカウンターに関連し、エンコーダは、上記複数のパート(A、B)を別々に符号化することにより符号化出力データ(D2)を生成するように動作可能であることを特徴とするエンコーダが提供される。
【0013】
本発明は、上記エンコーダが、上記複数のパート(A、B)をそれぞれ個別に取り扱うことによって、既知の種類のエンコーダと比較して、より高度に実質的に可逆圧縮を提供することが可能であると言う利点を有する。
【0014】
「出現を表す」と言う語句は、広義に解釈されるべきであり、データストリームに存在する相互に類似の連続文字の数を単に直接カウントするカウンターに限定されるものではない。
【0015】
オプションで、上記エンコーダが作動する際には、上記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも1つを含む。
【0016】
オプションで、上記エンコーダは、符号化出力データ(D2)を、入力データ(D1)に対して圧縮形態で生成するように動作可能である。
【0017】
オプションで、上記エンコーダは、可変長符号化(VLC)、ハフマン符号化、ゴロム符号化、算術符号化、レンジ符号化、差分符号化、ODelta符号化、レンペル・ジブ符号化、BWT符号化のうちの少なくとも1つを利用することによって、上記複数のパート(A、B)を符号化することにより符号化出力データ(D2)を生成するように動作可能である。さらにオプションで、上記エンコーダは、エントロピー符号化法を用いることにより上記複数のパート(A、B)の少なくとも1つを符号化するように動作可能であり、上記エントロピー符号化法は、符号化出力データ(D2)においてパート(A及び/又はB)をエントロピー符号化する際に、1つ又は複数のエスケープ符号又は1つ又は複数の連続値シンボルを用いてパート(A及び/又はB)の値を符号化することができる。
【0018】
オプションで、上記エンコーダは、符号化出力データ(D2)に1つ又は複数のマーカーを含めるように動作可能であり、該1つ又は複数のマーカーは、上記複数のパート(A、B)のそれぞれに対応する符号化データの出現を示すものである。
【0019】
オプションで、上記エンコーダは、上記ランレングス符号化(RLE)表現が実質的に可逆方式で実施されるように構成されている。
【0020】
本発明の第2の態様によれば、エンコーダにおいて入力データ(D1)を符号化することにより対応する符号化出力データ(D2)を生成する方法であって、当該方法は、入力データ(D1)のランレングス符号化(RLE)表現を生成するデータ処理装置を用いることを含み、当該方法は、
(a)上記ランレングス符号化(RLE)表現を複数のパート(A、B)に分割するエンコーダを用いること、但し、少なくとも1つのパートは、第1データストリームにおいて、オリジナルのシンボルに関連するものであり、第2データストリームにおける少なくとも別のパートは、第1データストリームにおけるオリジナルのシンボルの少なくとも幾つかの出現を示すカウンターに関連するものとする、並びに
(b)上記複数のパート(A、B)を別々に符号化することにより符号化出力データ(D2)を生成するエンコーダを用いること、
を更に含むことを特徴とする、方法が提供される。
【0021】
「出現を表す」と言う語句は、広義に解釈されるべきであり、データストリームに存在する相互に類似の連続文字の数を単に直接カウントするカウンターに限定されるものではない。
【0022】
オプションで、上記方法において、上記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも1つを含む。
【0023】
オプションで、上記方法は、符号化出力データ(D2)を、力データ(D1)に対して圧縮形態で生成するエンコーダを用いることを含む。
【0024】
オプションで、上記方法は、可変長符号化(VLC)、ハフマン符号化、ゴロム符号化、算術符号化、レンジ符号化、差分符号化、ODelta符号化、レンペル・ジブ符号化、BWT符号化のうちの少なくとも1つを利用することによって、上記複数のパート(A、B)を符号化することにより符号化出力データ(D2)を生成するように動作可能であるエンコーダを用いることを含む。さらにオプションで、上記方法は、エントロピー符号化法を用いることにより上記複数のパート(A、B)の少なくとも1つを符号化するエンコーダを用いることを含み、上記エントロピー符号化法は、符号化出力データ(D2)においてパート(A及び/又はB)をエントロピー符号化する際に、1つ又は複数のエスケープ符号又は1つ又は複数の連続値シンボルを用いてパート(A及び/又はB)の値を符号化することができる。
【0025】
オプションで、上記方法は、符号化出力データ(D2)に1つ又は複数のマーカーを含めるエンコーダを用いることを含み、該1つ又は複数のマーカーは、上記複数のパート(A、B)のそれぞれに対応する符号化データの出現を示すものである。
【0026】
オプションで、上記方法は、上記ランレングス符号化(RLE)表現を実質的に可逆方式で実施することを含む。
【0027】
本発明の第3の態様によれば、符号化入力データ(D2)を復号することにより対応復号出力データ(D3)を生成するデコーダであって、該デコーダは、符号化入力データ(D2)を複数の別々のパート(A、B)に復号し、但し、少なくとも1つのパートは、第1データストリームにおいて、オリジナルのシンボルに関連するものであり、第2データストリームにおける少なくとも別のパートは、第1データストリームにおけるオリジナルのシンボルの少なくとも幾つかの出現を示すカウンターに関連するものとする、かつ上記複数のパート(A、B)を共に結合することにより結合データを生成し、ランレングス復号処理を介して該結合データを復号することにより復号出力データ(D3)を生成する、データ処理装置を備えることを特徴とするデコーダが提供される。
【0028】
「出現を表す」と言う語句は、広義に解釈されるべきであり、データストリームに存在する相互に類似の連続文字の数を単に直接カウントするカウンターに限定されるものではない。
【0029】
オプションで、上記デコーダが作動する際には、上記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも1つを含む。
【0030】
オプションで、上記デコーダは、復号出力データ(D3)を、符号化入力データ(D2)に対して展開形態で生成するように動作可能である。
【0031】
オプションで、上記デコーダは、逆可変長符号化(VLC)、逆ハフマン符号化、逆ゴロム符号化、逆算術符号化、逆レンジ符号化、逆差分符号化、逆ODelta符号化、逆レンペル・ジブ符号化、逆BWT符号化のうちの少なくとも1つを利用することによって、符号化入力データ(D2)を復号することにより上記複数のパート(A、B)を生成するように動作可能である。さらにオプションで、上記デコーダは、エントロピー復号法を用いることにより上記複数のパート(A、B)の少なくとも1つを復号するように動作可能であり、上記エントロピー復号法は、上記デコーダが、パート(A及び/又はB)を生成する処理にある場合に、符号化入力データ(D2)から1つ又は複数のエスケープ符号又は1つ又は複数の連続値シンボルを復号することができる。
【0032】
オプションで、上記デコーダは、符号化入力データ(D2)において1つ又は複数のマーカーを特定するように動作可能であり、該1つ又は複数のマーカーは、上記複数のパート(A、B)のそれぞれに対応する符号化データの出現を決定するものである。
【0033】
オプションで、上記デコーダは、上記ランレングス復号処理が実質的に可逆方式で実施されるように構成されている。
【0034】
本発明の第4の態様によれば、デコーダにおいて符号化入力データ(D2)を復号することにより対応復号出力データ(D3)を生成する方法であって、当該方法は、データ処理装置を用いることを含み、当該方法は、
(a)符号化入力データ(D2)を複数の別々のパート(A、B)に復号するデコーダを用いること、但し、少なくとも1つのパートは、第1データストリームにおいて、るオリジナルのシンボルに関連するものであり、第2データストリームにおける少なくとも別のパートは、第1データストリームにおけるオリジナルのシンボルの少なくとも幾つかの出現を示すカウンターに関連するものとする、
(b)上記複数のパート(A、B)を結合することにより対応結合データを生成するデコーダを用いること、並びに
(c)上記結合データにランレングス復号処理を適用することにより復号出力データ(D3)を生成するランレングス復号処理を用いること、
を含むことを特徴とする、方法が提供される。
【0035】
「出現を表す」と言う語句は、広義に解釈されるべきであり、データストリームに存在する相互に類似の連続文字の数を単に直接カウントするカウンターに限定されるものではない。
【0036】
オプションで、上記方法において、上記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも1つを含む。
【0037】
オプションで、上記方法は、復号出力データ(D3)を、符号化入力データ(D2)に対して展開形態で生成するデコーダを用いることを含む。
【0038】
オプションで、上記方法は、逆可変長符号化(VLC)、逆ハフマン符号化、逆ゴロム符号化、逆算術符号化、逆レンジ符号化、逆差分符号化、逆ODelta符号化、逆レンペル・ジブ符号化、逆BWT符号化のうちの少なくとも1つを利用することによって、上記複数のパート(A、B)を復号することにより復号出力データ(D3)を生成するデコーダを用いることを含む。さらにオプションで、上記方法は、エントロピー復号法を用いることにより上記複数のパート(A、B)の少なくとも1つを復号するデコーダを用いることを含み、上記エントロピー復号法は、上記デコーダが、パート(A及び/又はB)を生成する処理にある場合に、符号化入力データ(D2)から1つ又は複数のエスケープ符号又は1つ又は複数の連続値シンボルを復号することができる。
【0039】
オプションで、上記方法は、符号化入力データ(D2)において1つ又は複数のマーカーを特定するデコーダを用いることを含み、該1つ又は複数のマーカーは、上記複数のパート(A、B)のそれぞれに対応する符号化データの出現を決定するものである。
【0040】
オプションで、上記方法は、実質的に可逆方式で上記ランレングス復号処理を実施することを含む。
【0041】
本発明の第5の態様によれば、入力データ(D1)を符号化することにより対応符号化データ(D2)を生成する、本発明の第1の態様によるエンコーダと、符号化出力データ(D2)を復号することにより対応出力復号データ(D3)を生成する、本発明の第3の態様によるデコーダとを備えるコーデック装置が提供される。
【0042】
本発明による第6の態様によれば、機械可読データ記憶媒体に記録されたソフトウェア製品であって、該ソフトウェア製品は、本発明の第2の態様による方法を実行するのにコンピュータハードウェアで実行可能であることを特徴とする、ソフトウェア製品が提供される。
【0043】
本発明の第7の態様によれば、機械可読データ記憶媒体に記録されたソフトウェア製品であって、該ソフトウェア製品は、本発明の第4の態様による方法を実行するのにコンピュータハードウェアで実行可能であることを特徴とする、ソフトウェア製品が提供される。
【0044】
本発明の特徴は、添付の特許請求の範囲によって規定される発明の要旨から逸脱することなく、各種組合せにおいて組合せられ得ることが理解される。
【0045】
以下、本発明の実施形態について以下の図面を参照し、例示のみの目的で説明する。
【図面の簡単な説明】
【0046】
図1】本発明によるエンコーダの図である。
図2】本発明によるコーデック装置の図である。
【実施形態の説明】
【0047】
添付の図面において、下線を付した番号は、その下線を付した番号が位置する要素、又はその下線を付した番号が隣接する要素を表すのに用いられる。下線が付されていない番号は、要素にその下線が付されていない番号を結合させる線によって特定されるその要素に関する。番号に下線が付されておらず、関連する矢印が付随する場合、下線が付されていないその番号が、その矢印が指し示す全体要素を特定するのに用いられる。
【0048】
概して、本発明は、ランレングス符号化(RLE)法に基づくものであるが、ランレングス符号化法よりも顕著に向上させるものである。
【0049】
RLE法は、現代においては、可逆方式等で、例えばマルチメディアデータフォーマット等の各種画像情報を符号化するために利用されている。しかしながら、このようなRLE法は、例えば写真等の連続階調画像や非形式化データに対して十分に機能しない。それにもかかわらず、従来のRLEが、大抵ハフマン符号化と組み合わされ、かつBMP、GIF、PCX、TIFF等の標準的な現存フォーマットを利用して、ファクシミリ機等の装置において利用されている。
【0050】
本発明の実施形態は、現存する既知のRLE法と比較してデータ圧縮率を向上をさせ、データ圧縮及び符号化の向上を達成する簡便な解決手段に関連する。また、本発明の実施形態は、RLEと同様にカウンターを利用するが、関係する文字独自のデータ出力パートに書き込まれるという違いを有する。即ち、カウンターと文字が、パートA及びパートBにそれぞれ別々に書き込まれるという違いを有する相互に異なるパートのこのような分離は、文字の定義とランレングス情報が共に混在する現存のRLEアプローチとは対照的である。
【0051】
このように、本発明の実施形態は、新規分割ランレングス法、即ち連続データ、例えばグラフィック、画像、ビデオ、音声、テキスト、及びバイナリデータを含む、あらゆる種類の1Dデータ、2Dデータ及び3Dデータの前処理及び後処理に有効である「SRLE」に関連する。該分割ランレングス法は、デバイス、マイクロプロセッサ等における実施を目的として、ネットワーク用途のために更新可能である。また、分割ランレングス法は、機械可読データ記憶媒体に記憶された1つ又は複数のソフトウェア製品を用いて容易に実施可能であり、該ソフトウェア製品は、コンピュータハードウェアで実行可能である。
【0052】
図1を参照すると、例えばデジタルハードウェア、及び/又は、機械可読データ記憶媒体に記憶され、かつコンピュータハードウェアで実行可能な1つ又は複数のソフトウェア製品により実施されるエンコーダ10が示されており、該エンコーダ10は、入力データD1を受信し、対応する符号化出力データD2を生成するように動作可能である。このようなエンコーダ10に関しては、入力データD1のエントロピーE1、並びに出力データD2のエントロピーE2を計算することが可能である。エントロピーE1、E2は、所与のデータセットを提供するのに必要な多数のビットにおいて明らかにされる。
【0053】
エンコーダ10の演算方式を説明するために、例となるランレングス(RL)が、通常、1つ又は複数のバイト値で表現される。しかしながら、本発明の実施形態を説明するために、ここでは、英数字の文字について説明する。入力データD1が以下の文字列で表される。
【0054】
[式1]
WWW WWW WWW WWW BWW WWW WWW WWW WBB BWW WWW WWW WWW WWW WWW WWW WWW WBW WWW WWW WWW WWW W
【0055】
このような文字列に関連するエントロピーE1は、62個の「W」文字と、5個の「B」文字であり、式2及び式3から計算可能であるとおり25.66ビットで表すことができる。
【0056】
[式2]
【0057】
シャノン(Shannon)の理論により、所与のメッセージを所与のアルファベットで符号化する最短の可能な表現の平均長Lは、それらのエントロピーEをアルファベットに存在するシンボルNの数の対数で割った値であることが特定されている。
【0058】
[式3]
【0059】
上記一連の文字は、既知である2つの代替RLE法を用いて符号化することにより、26.55ビットに対応する関連算出エントロピーE2を用いて以下の一連のRLEとして出力データD2を生成することが可能である。
【0060】
[式4]
12W 1B 12W 3B 24W 1B 14W
【0061】
或は、35.49ビットに対応する関連算出エントロピーE2を用いて以下の一連のRLEとして出力データD2を生成することも可能である。
【0062】
[式5]
WW12BWW12BB3WW24BWW14
【0063】
式4は、数字(N)が先行する所与の文字の単純な表現であり、数字(N)は、該所与の文字の頻度を示し、即ち、12個の「W」の後に1個の「B」が続き、その後に12個の「W」が続くこと等を示す表現である。逆に、式5において文字は、式1の配列における文字に対応する文字を表し、その文字の後にその文字の頻度の表示が続いている。
【0064】
式4は、最小のラン値が1であり得ることを示し、式5は、最小のラン値が2であり得ることを示す。これにより、この情報を利用し、ゼロ(0)から始まるストリーム値を自動的に生成する実装の構築が可能になる。例えば、式4は数字'=数字−1(N'=N−1)を用いて、以下のとおり式4'として書き換えることができる。
【0065】
[式4']
11W 0B 11W 2B 23W 0B 13W
【0066】
そして、式5は、(N'=N−2)を用いて、以下のとおり式5'として書き換えることができる。
【0067】
[式5']
WW10BWW10BB1WW22BWW12
【0068】
こうして、データのエントロピーは変わらないが、テーブル伝送に必要となるビット量及び場合によっては必要なエスケープ符号又は連続値シンボルの量を低減することによって、エントロピー符号化により好適なラン値を作成する。修正された式4'及び/又は5'が用いられる場合、デコーダもそれに対応して修正されなければならない。この事は、式4'においてその補正は(N=N'+1)であり、式5'においてその補正は(N=N'+2)であることを意味する。
【0069】
上述のエスケープ符号は、希な値を検出し、かつ特定することが望まれる場合に好適に用いられ、その希な値を、別にその元の形で書き込む。幾つかのシンボルから値を構築することが望まれる場合には、連続値が好適に用いられるが、そのような幾つかのシンボルは、互いに合算され、又は互いに減算がされ、さらに該シンボルは同じストリームに書き込まれ、元の値又は修正された値であってもよい他の要素と共にエントロピー符号化され得るものである。最も一般的には、好ましい実施形態においては、エスケープ符号は、希な値をあるシンボルに置換するが、元の値も、その元ビットカウントと共にそのままストリームに加えられる。1つ又は複数の連続値が、後に実行されるエントロピー圧縮を目的として、修正した希な値に加えて、同じストリームにおいて出現し得る。
【0070】
このような既知のRLE法(式4及び式5)並びに修正RLE法(式4'及び式5')によれば、入力データD1に存在したエントロピーよりも符号化出力データD2におけるエントロピーが大きくなると言う結果を生じ、つまりE2>E1となるが、出力データD2に存在するシンボルの総数は減少する。RLEデータは、例えばハフマン符号化(Huffman coding)、可変長符号化(variable length coding;VLC)等の更なる符号化を適用することによって圧縮可能であることが知られているが、このような更なる符号化では、準最適なデータ圧縮結果しか得られない。このような準最適な動作は、フォーマットの不一致が原因で生じる。
【0071】
式4及び式5は、パートAによって示される文字、並びに同文字に関連するカウンター、つまりパートBが混じった物であり、式1、式4及び式5'に関し、該パートが表2において指定されている。
【0072】
[表2]本発明に従うパートA及びパートB
【0073】
エンコーダ10が、本発明に従って機能する場合、出力データD2は、式4及び式5'にあるような混合型ではないが、パートA及びパートBは、別々に表現され、つま分割されており、それらの相互の対応性は、符号化データD2の構造によって定義され、例えば1つ又は複数のマーカーによって定義される。
【0074】
本発明の例示実施形態によれば、式1において入力データD1は、25.66ビットのエントロピーE1と関係している。式1の文字配列は、以下の2つの入力パートにランレングス符号化される。
【0075】
パートA: 12 1 12 3 24 1 14
パートB: W B W B W B W,
【0076】
ここで、パート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に含まれる。
【0077】
オプションで、エンコーダ10において、パートB及び/又はパートAは、データD1において最大の許容可能なランレングス及び1つ又は複数の関連エスケープ符号又は1つ又は複数の関連連続値シンボルを有することにより、データD2により大きい値のランレングスシンボルが存在することを示すように、例えば可変長符号化(VLC)又はレンジ符号化を用いて符号化される。同様に、デコーダ50は、当該エンコーダで受信されるデータD2に存在する1つ又は複数の上記エスケープ符号又は連続値シンボルを特定するように実施され、該1つ又は複数のエスケープ符号又は1つ又は複数の連続値シンボルは、データD1を復号する際、即ちパートA及び/又はパートBを再生成する時にデコーダ50において解釈される。
【0078】
本発明の別の例示実施形態によれば、式1において、入力データD1は、25.66ビットのエントロピーE1と関連している。式1の文字列は、以下の2つの入力パートにランレングス符号化(RLE)される。
【0079】
パートA:10 10 1 22 12
パートB:W W B W W B B W W B W W,
【0080】
ここで、パート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に開示されている。上述の開示された方法の両方が、本発明の実施形態と組み合わせて用いるのに好適に適合するものであり、エントロピー符号化に必要とされる更なる符号化データを最小化するのに役立つ。
【0081】
上述の符号テーブルの伝送方法は、SRLEによって生成されるデータがその後エントロピー符号化される全ての場合において適用可能であることに留意されたい。
【0082】
上述の例示実施形態は、入力データD1においてRLE法を適用することにより対応するRLEデータを生成すること、次いでそのRLEデータを文字パート、つまり上記パートB、並びに対応するランレングスカウントパート、つまり上記パートAに分割すること(つまり、パートAに関連するデータはパートBに関連するデータから分離される)、並びに次いで該パートに対して別々に符号化を適用することにより符号化出力データD2を生成することから得られる利点を明確に示している。オプションで、追加の符号、例えば1つ又は複数のマーカーが、符号化出力データD2の何れの部分がパートA及びパートBに対応するかを示すために含まれるが、このような追加の符号を含むことは、つまり対応する後続の復号作業を補助するためのものである。このようなデータ符号化処理は、図2に記述されるような方式で機能的に実施される図1のエンコーダ10において有利に実施される。
【0083】
図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を生成するように動作可能であること。
【0084】
出力データD2は、オプションで、データキャリア40、例えば光学データ記憶ディスクメモリに記憶される。或は、出力データD2は、データ通信ネットワーク45、例えばインターネットを介してコーデック装置20のデコーダ50に伝達される。デコーダ50は、有利には、デジタルハードウェアにおいて、例えば機械可読データ記憶媒体に記録された1つ又は複数のソフトウェア製品を実行するように動作可能であるコンピュータハードウェアとして実施される。さらに、デコーダ50は、作動する際には、エンコーダ10によって実行される処理演算の逆を実行するように動作可能であり、即ち、デコーダ50は、以下の3つの機能を実行するように動作可能である。
【0085】
(i)デコーダ50の第1ステージ60Aは、符号化データD2を受信し、かつ例えば逆ハフマン符号化又は逆可変長符号化(VLC)を介してパートA及びBのデータを復号することによりパートA及びBを再生成するように動作可能であること、
(ii)デコーダ50の第2ステージ60Bは、第1ステージ60Aからの再生成パートA及びBを結合することにより文字及びそれらに対応のランレングスカウントを混合データとして生成すること、並びに
(iii)デコーダ50の第3ステージ60Cは、上記混合データに逆ランレングス符号化を適用することにより同混合データから復号出力データD3を再生成すること。
【0086】
オプションで、エンコーダ10及びデコーダ50の少なくとも1つが、消費者向け電子製品、例えばテレビ、スマートフォン、ファクシミリ機、タブレットコンピュータ、パーソナルコンピュータ(PC)、ビデオレコーダー、ビデオプレイヤー、デジタルカメラ、テレビ会議システム、監視装置、携帯パーソナルマルチメディアプレーヤー等において実施されるが、これらは実際の用途のほんの一部の例に過ぎない。
【0087】
本発明に関し、符号化データを2つのパート、即ちパートA及びBに分割することについて上記に説明したが、2つを超えるパートに符号化データを分割することも、多次元データに対して任意に可能であることが理解される。さらに、本発明に関し、2つのパート、即ちパートA及びBに対応する復号データを結合することについて上記に説明したが、2つを超えるパートを結合することが、多次元データに対して任意に可能であることが理解される。
【0088】
上記に記載した発明の実施形態に対する変更は、添付の特許請求の範囲によって定義される発明の要旨から逸脱することのない限り可能である。本発明を説明し、また特許請求する際に用いられる「含む」又は「備える」("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]の何れかに記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
図1
図2