(57)【特許請求の範囲】
【請求項１】
入力データ（Ｄ１）を符号化することにより対応符号化出力データ（Ｄ２）を生成するエンコーダ（１０）であって、
前記入力データ（Ｄ１）のランレングス符号化（ＲＬＥ）表現を生成するデータ処理装置を備え、
前記ランレングス符号化（ＲＬＥ）表現を複数のパート（Ａ、Ｂ）に分割するように動作可能であり、前記複数のパートのうちの少なくとも１つのパートが、オリジナルのシンボルに関連し、前記複数のパートのうちの少なくとも別のパートの１つが、前記オリジナルのシンボルの少なくとも１つについての出現を示すカウンターに関連し、前記少なくとも１つのパートは第１ストリームに含まれ、前記少なくとも別のパートの１つは前記第１ストリームとは異なる第２ストリームに含まれ、ただし前記少なくとも別のパートの１つに含まれる値の個数は、前記少なくとも１つのパートに含まれる値の個数よりも少なく、
前記複数のパート（Ａ、Ｂ）を別々に符号化することにより符号化出力データ（Ｄ２）を生成するように動作可能であり、
符号化された前記少なくとも１つのパート及び符号化された前記少なくとも別のパートの１つは前記符号化出力データ（Ｄ２）に含まれる、
エンコーダ（１０）において、
前記符号化出力データ（Ｄ２）に１つ又は複数のマーカーを含めるように動作可能であり、該１つ又は複数のマーカーは、前記複数のパート（Ａ、Ｂ）のそれぞれに対応する符号化データの出現を示すものである、エンコーダ（１０）。
【請求項２】
符号化出力データ（Ｄ２）を、入力データ（Ｄ１）に対して圧縮形態で生成するように動作可能である、請求項１に記載のエンコーダ（１０）。
【請求項３】
エントロピー符号化を用いることにより前記複数のパート（Ａ、Ｂ）の少なくとも１つを符号化するように動作可能である、請求項１に記載のエンコーダ（１０）。
【請求項４】
前記ランレングス符号化（ＲＬＥ）表現は、可逆方式で実施される、請求項１から３の何れか１項に記載のエンコーダ（１０）。
【請求項５】
エンコーダ（１０）において入力データ（Ｄ１）を符号化することにより対応する符号化出力データ（Ｄ２）を生成する方法であって、前記方法は、入力データ（Ｄ１）のランレングス符号化（ＲＬＥ）表現を生成するデータ処理装置を用いることを含み、さらに前記方法は、
（ａ）前記ランレングス符号化（ＲＬＥ）表現を複数のパート（Ａ、Ｂ）に分割するエンコーダ（１０）を用いること、但し、前記複数のパートのうちの少なくとも１つのパートは、オリジナルのシンボルに関連するものであり、前記複数のパートのうちの少なくとも別のパートの１つは、前記オリジナルのシンボルの少なくとも１つについての出現を示すカウンターに関連し、前記少なくとも１つのパートは第１ストリームに含まれ、前記少なくとも別のパートの１つは前記第１ストリームとは異なる第２ストリームに含まれ、前記少なくとも別のパートの１つに含まれる値の個数は、前記少なくとも１つのパートに含まれる値の個数よりも少ない、前記用いることと；
（ｂ）前記複数のパート（Ａ、Ｂ）を別々に符号化することにより符号化出力データ（Ｄ２）を生成するように前記エンコーダ（１０）を用いることと；
を更に含み、符号化された前記少なくとも１つのパート及び符号化された前記少なくとも別のパートの１つは前記符号化出力データ（Ｄ２）に含まれ、
さらに前記方法は、前記符号化出力データ（Ｄ２）に１つ又は複数のマーカーを含めることを含み、該１つ又は複数のマーカーは、前記複数のパート（Ａ、Ｂ）のそれぞれに対応する符号化データの出現を示すものである、方法。
【請求項６】
符号化入力データ（Ｄ２）を復号することにより対応復号出力データ（Ｄ３）を生成するデコーダ（５０）であって、前記デコーダ（５０）はデータ処理装置を備え、
前記データ処理装置は、前記符号化入力データ（Ｄ２）に含まれる複数の別々のパート（Ａ、Ｂ）を前記符号化入力データ（Ｄ２）から復号するように構成され、但し、前記複数のパートのうちの少なくとも１つのパートは、オリジナルのシンボルに関連するものであり、前記複数のパートのうちの少なくとも別のパートの１つは、前記オリジナルのシンボルの少なくとも１つについての出現を示すカウンターに関連し、前記少なくとも１つのパートは第１ストリームに含まれ、前記少なくとも別のパートの１つは前記第１ストリームとは異なる第２ストリームに含まれ、ただし前記少なくとも別のパートの１つに含まれる値の個数は、前記少なくとも１つのパートに含まれる値の個数よりも少なく、
前記データ処理装置はさらに、前記複数のパート（Ａ、Ｂ）を共に結合することにより結合データを生成し、ランレングス復号処理を介して該結合データを復号することにより前記復号出力データ（Ｄ３）を生成するように構成される、
デコーダ（５０）において、
前記符号化入力データ（Ｄ２）において１つ又は複数のマーカーを特定するように動作可能であり、ただし該１つ又は複数のマーカーは、前記複数のパート（Ａ、Ｂ）のそれぞれに対応する符号化データの出現を決定するものである、デコーダ（５０）。
【請求項７】
復号出力データ（Ｄ３）を、符号化入力データ（Ｄ２）に対して展開形態で生成するように動作可能である、請求項６に記載のデコーダ（５０）。
【請求項８】
エントロピー復号を用いることにより前記複数のパート（Ａ、Ｂ）の少なくとも１つを復号するように動作可能である、請求項６に記載のデコーダ（５０）。
【請求項９】
前記ランレングス復号処理は、可逆方式で実施される、請求項６から８の何れか１項に記載のデコーダ（５０）。
【請求項１０】
デコーダ（５０）において符号化入力データ（Ｄ２）を復号することにより対応復号出力データ（Ｄ３）を生成する方法であって、前記方法は、データ処理装置を用いることを含み、前記方法はさらに、
（ａ）前記符号化入力データ（Ｄ２）に含まれる複数の別々のパート（Ａ、Ｂ）を前記符号化入力データ（Ｄ２）から復号するデコーダ（５０）を用いること、但し、前記複数のパートのうちの少なくとも１つのパートは、オリジナルのシンボルに関連するものであり、前記複数のパートのうちの少なくとも別のパートの１つは、前記オリジナルのシンボルの少なくとも１つについての出現を示すカウンターに関連し、前記少なくとも１つのパートは第１ストリームに含まれ、前記少なくとも別のパートの１つは前記第１ストリームとは異なる第２ストリームに含まれ、前記少なくとも別のパートの１つに含まれる値の個数は、前記少なくとも１つのパートに含まれる値の個数よりも少ない、前記用いることと；
（ｂ）前記複数のパート（Ａ、Ｂ）を結合することにより対応結合データを生成するデコーダ（５０）を用いることと；
（ｃ）前記結合データにランレングス復号処理を適用することにより前記復号出力データ（Ｄ３）を生成するランレングス復号処理を用いることと；
を含み、
さらに前記方法は、前記符号化入力データ（Ｄ２）において１つ又は複数のマーカーを特定するように動作可能であり、ただし該１つ又は複数のマーカーは、前記複数のパート（Ａ、Ｂ）のそれぞれに対応する符号化データの出現を決定するものである、方法。
【請求項１１】
入力データ（Ｄ１）を符号化することにより対応符号化データ（Ｄ２）を生成する請求項１から４の何れか１項に記載のエンコーダ（１０）と、符号化出力データ（Ｄ２）を復号することにより対応出力復号データ（Ｄ３）を生成する請求項６から９の何れか１項に記載のデコーダ（５０）とを備えるコーデック装置（２０）。
【請求項１２】
装置の処理手段に実行されると、前記装置に、請求項５または１０に記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データエンコーダ、及び対応するデータ符号化の方法に関する。また、本発明は、データデコーダ、及び対応する符号化データを復号する方法に関する。更に、本発明は、機械可読データ記憶媒体に記録されたソフトウェア製品であって、該ソフトウェア製品は、上記方法を実施するためにコンピュータハードウェアで実行可能である、ソフトウェア製品に関する。上記データエンコーダは、上記データデコーダと同様に、例えば、データ通信システム及びデータ供給システムの構成部品として、また消費者向け電子製品において使用可能である。加えて、本発明は、上記データエンコーダを少なくとも１つ、及び上記データデコーダを少なくとも１つ備えるコーデック装置に関する。
【発明の背景】
【０００２】
現代社会においてデータが益々利用されるにつれ、簡便であるが有効な、無損失データ圧縮を提供する方法、並びに、それに対応して可逆データ展開を提供する簡便な方法が必要とされている。データを圧縮する従来既知のランレングス符号化法は、連続データを圧縮する目的にしか真に有効ではなく、そのような連続データは、通常、パケット化データ交換を頻繁に実行するデータ通信システム内においてはそれ程一般的なものではない。データ通信システム内、例えばインターネットにおけるパケット化データ交換では、多数の小データパケットの伝送が生じる。しかしながら、データ圧縮の技術分野における当業者にとっては、ランレングス符号化（run-length encoding;ＲＬＥ）によって、その他既知のデータ圧縮手法と比較して、より良いデータ圧縮率が得られることは周知である。
【０００３】
あらゆるバリエーションのランレングス符号化法は、当該方法によって符号化されるバイトのカウンター及び文字を利用する。それら方法を実施する際、カウンターが、そのような文字の各ランに対して設定される。さらに、それら方法においては、その文字に対するカウンターの表し方に関し幾つかのバリエーションがあるが、これらは、常に、バイトの文字を用いて同じ出力データに符号化される。その結果、一般的に既知のＲＬＥ法では、比較的低いデータ圧縮率しか得られないことが分かっている。
【０００４】
表１には、既知の現存技術を示す文献が示されている。
【０００５】
［表１］既知の技術
0006431487.tif 000002
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】「ランレングス符号化（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）」クロード・Ｅ・シャノン（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
【発明の概要】
【０００７】
本発明は、入力データを圧縮することにより対応する圧縮出力データを生成する改良法を提供することを目的とする。
【０００８】
本発明は、入力データを符号化することにより対応する符号化出力データを生成する改良法を提供することを目的とする。
【０００９】
本発明は、圧縮入力データを受信し、対応する展開出力データを生成するデータ展開の改良法を提供することを目的とする。
【００１０】
本発明は、入力データを復号することにより対応する復号出力データを生成する改良法を提供することを目的とする。
【００１１】
本発明は、上記方法を利用するように動作可能であるエンコーダ、デコーダ及びコーデック装置を提供することを目的とする。
【００１２】
本発明の第１の態様によれば、添付の請求項１に記載のエンコーダが提供される。即ち、入力データ（Ｄ１）を符号化することにより対応符号化出力データ（Ｄ２）を生成するエンコーダであって、
入力データ（Ｄ１）のランレングス符号化（ＲＬＥ）表現を生成するデータ処理装置を備え、
上記ランレングス符号化（ＲＬＥ）表現を複数のパート（Ａ、Ｂ）に分割するように動作可能であり、少なくとも１つのパートが、第１データストリームにおいて、オリジナルのシンボルに関連し、第２データストリームにおける少なくとも別のパートが、上記第１データストリームにおけるシンボルの少なくとも幾つかの出現を示すカウンターに関連し、エンコーダは、上記複数のパート（Ａ、Ｂ）を別々に符号化することにより符号化出力データ（Ｄ２）を生成するように動作可能であることを特徴とするエンコーダが提供される。
【００１３】
本発明は、上記エンコーダが、上記複数のパート（Ａ、Ｂ）をそれぞれ個別に取り扱うことによって、既知の種類のエンコーダと比較して、より高度に実質的に可逆圧縮を提供することが可能であると言う利点を有する。
【００１４】
「出現を表す」と言う語句は、広義に解釈されるべきであり、データストリームに存在する相互に類似の連続文字の数を単に直接カウントするカウンターに限定されるものではない。
【００１５】
オプションで、上記エンコーダが作動する際には、上記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも１つを含む。
【００１６】
オプションで、上記エンコーダは、符号化出力データ（Ｄ２）を、入力データ（Ｄ１）に対して圧縮形態で生成するように動作可能である。
【００１７】
オプションで、上記エンコーダは、可変長符号化（ＶＬＣ）、ハフマン符号化、ゴロム符号化、算術符号化、レンジ符号化、差分符号化、ＯＤｅｌｔａ符号化、レンペル・ジブ符号化、ＢＷＴ符号化のうちの少なくとも１つを利用することによって、上記複数のパート（Ａ、Ｂ）を符号化することにより符号化出力データ（Ｄ２）を生成するように動作可能である。さらにオプションで、上記エンコーダは、エントロピー符号化法を用いることにより上記複数のパート（Ａ、Ｂ）の少なくとも１つを符号化するように動作可能であり、上記エントロピー符号化法は、符号化出力データ（Ｄ２）においてパート（Ａ及び／又はＢ）をエントロピー符号化する際に、１つ又は複数のエスケープ符号又は１つ又は複数の連続値シンボルを用いてパート（Ａ及び／又はＢ）の値を符号化することができる。
【００１８】
オプションで、上記エンコーダは、符号化出力データ（Ｄ２）に１つ又は複数のマーカーを含めるように動作可能であり、該１つ又は複数のマーカーは、上記複数のパート（Ａ、Ｂ）のそれぞれに対応する符号化データの出現を示すものである。
【００１９】
オプションで、上記エンコーダは、上記ランレングス符号化（ＲＬＥ）表現が実質的に可逆方式で実施されるように構成されている。
【００２０】
本発明の第２の態様によれば、エンコーダにおいて入力データ（Ｄ１）を符号化することにより対応する符号化出力データ（Ｄ２）を生成する方法であって、当該方法は、入力データ（Ｄ１）のランレングス符号化（ＲＬＥ）表現を生成するデータ処理装置を用いることを含み、当該方法は、
（ａ）上記ランレングス符号化（ＲＬＥ）表現を複数のパート（Ａ、Ｂ）に分割するエンコーダを用いること、但し、少なくとも１つのパートは、第１データストリームにおいて、オリジナルのシンボルに関連するものであり、第２データストリームにおける少なくとも別のパートは、第１データストリームにおけるオリジナルのシンボルの少なくとも幾つかの出現を示すカウンターに関連するものとする、並びに
（ｂ）上記複数のパート（Ａ、Ｂ）を別々に符号化することにより符号化出力データ（Ｄ２）を生成するエンコーダを用いること、
を更に含むことを特徴とする、方法が提供される。
【００２１】
「出現を表す」と言う語句は、広義に解釈されるべきであり、データストリームに存在する相互に類似の連続文字の数を単に直接カウントするカウンターに限定されるものではない。
【００２２】
オプションで、上記方法において、上記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも１つを含む。
【００２３】
オプションで、上記方法は、符号化出力データ（Ｄ２）を、力データ（Ｄ１）に対して圧縮形態で生成するエンコーダを用いることを含む。
【００２４】
オプションで、上記方法は、可変長符号化（ＶＬＣ）、ハフマン符号化、ゴロム符号化、算術符号化、レンジ符号化、差分符号化、ＯＤｅｌｔａ符号化、レンペル・ジブ符号化、ＢＷＴ符号化のうちの少なくとも１つを利用することによって、上記複数のパート（Ａ、Ｂ）を符号化することにより符号化出力データ（Ｄ２）を生成するように動作可能であるエンコーダを用いることを含む。さらにオプションで、上記方法は、エントロピー符号化法を用いることにより上記複数のパート（Ａ、Ｂ）の少なくとも１つを符号化するエンコーダを用いることを含み、上記エントロピー符号化法は、符号化出力データ（Ｄ２）においてパート（Ａ及び／又はＢ）をエントロピー符号化する際に、１つ又は複数のエスケープ符号又は１つ又は複数の連続値シンボルを用いてパート（Ａ及び／又はＢ）の値を符号化することができる。
【００２５】
オプションで、上記方法は、符号化出力データ（Ｄ２）に１つ又は複数のマーカーを含めるエンコーダを用いることを含み、該１つ又は複数のマーカーは、上記複数のパート（Ａ、Ｂ）のそれぞれに対応する符号化データの出現を示すものである。
【００２６】
オプションで、上記方法は、上記ランレングス符号化（ＲＬＥ）表現を実質的に可逆方式で実施することを含む。
【００２７】
本発明の第３の態様によれば、符号化入力データ（Ｄ２）を復号することにより対応復号出力データ（Ｄ３）を生成するデコーダであって、該デコーダは、符号化入力データ（Ｄ２）を複数の別々のパート（Ａ、Ｂ）に復号し、但し、少なくとも１つのパートは、第１データストリームにおいて、オリジナルのシンボルに関連するものであり、第２データストリームにおける少なくとも別のパートは、第１データストリームにおけるオリジナルのシンボルの少なくとも幾つかの出現を示すカウンターに関連するものとする、かつ上記複数のパート（Ａ、Ｂ）を共に結合することにより結合データを生成し、ランレングス復号処理を介して該結合データを復号することにより復号出力データ（Ｄ３）を生成する、データ処理装置を備えることを特徴とするデコーダが提供される。
【００２８】
「出現を表す」と言う語句は、広義に解釈されるべきであり、データストリームに存在する相互に類似の連続文字の数を単に直接カウントするカウンターに限定されるものではない。
【００２９】
オプションで、上記デコーダが作動する際には、上記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも１つを含む。
【００３０】
オプションで、上記デコーダは、復号出力データ（Ｄ３）を、符号化入力データ（Ｄ２）に対して展開形態で生成するように動作可能である。
【００３１】
オプションで、上記デコーダは、逆可変長符号化（ＶＬＣ）、逆ハフマン符号化、逆ゴロム符号化、逆算術符号化、逆レンジ符号化、逆差分符号化、逆ＯＤｅｌｔａ符号化、逆レンペル・ジブ符号化、逆ＢＷＴ符号化のうちの少なくとも１つを利用することによって、符号化入力データ（Ｄ２）を復号することにより上記複数のパート（Ａ、Ｂ）を生成するように動作可能である。さらにオプションで、上記デコーダは、エントロピー復号法を用いることにより上記複数のパート（Ａ、Ｂ）の少なくとも１つを復号するように動作可能であり、上記エントロピー復号法は、上記デコーダが、パート（Ａ及び／又はＢ）を生成する処理にある場合に、符号化入力データ（Ｄ２）から１つ又は複数のエスケープ符号又は１つ又は複数の連続値シンボルを復号することができる。
【００３２】
オプションで、上記デコーダは、符号化入力データ（Ｄ２）において１つ又は複数のマーカーを特定するように動作可能であり、該１つ又は複数のマーカーは、上記複数のパート（Ａ、Ｂ）のそれぞれに対応する符号化データの出現を決定するものである。
【００３３】
オプションで、上記デコーダは、上記ランレングス復号処理が実質的に可逆方式で実施されるように構成されている。
【００３４】
本発明の第４の態様によれば、デコーダにおいて符号化入力データ（Ｄ２）を復号することにより対応復号出力データ（Ｄ３）を生成する方法であって、当該方法は、データ処理装置を用いることを含み、当該方法は、
（ａ）符号化入力データ（Ｄ２）を複数の別々のパート（Ａ、Ｂ）に復号するデコーダを用いること、但し、少なくとも１つのパートは、第１データストリームにおいて、るオリジナルのシンボルに関連するものであり、第２データストリームにおける少なくとも別のパートは、第１データストリームにおけるオリジナルのシンボルの少なくとも幾つかの出現を示すカウンターに関連するものとする、
（ｂ）上記複数のパート（Ａ、Ｂ）を結合することにより対応結合データを生成するデコーダを用いること、並びに
（ｃ）上記結合データにランレングス復号処理を適用することにより復号出力データ（Ｄ３）を生成するランレングス復号処理を用いること、
を含むことを特徴とする、方法が提供される。
【００３５】
「出現を表す」と言う語句は、広義に解釈されるべきであり、データストリームに存在する相互に類似の連続文字の数を単に直接カウントするカウンターに限定されるものではない。
【００３６】
オプションで、上記方法において、上記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも１つを含む。
【００３７】
オプションで、上記方法は、復号出力データ（Ｄ３）を、符号化入力データ（Ｄ２）に対して展開形態で生成するデコーダを用いることを含む。
【００３８】
オプションで、上記方法は、逆可変長符号化（ＶＬＣ）、逆ハフマン符号化、逆ゴロム符号化、逆算術符号化、逆レンジ符号化、逆差分符号化、逆ＯＤｅｌｔａ符号化、逆レンペル・ジブ符号化、逆ＢＷＴ符号化のうちの少なくとも１つを利用することによって、上記複数のパート（Ａ、Ｂ）を復号することにより復号出力データ（Ｄ３）を生成するデコーダを用いることを含む。さらにオプションで、上記方法は、エントロピー復号法を用いることにより上記複数のパート（Ａ、Ｂ）の少なくとも１つを復号するデコーダを用いることを含み、上記エントロピー復号法は、上記デコーダが、パート（Ａ及び／又はＢ）を生成する処理にある場合に、符号化入力データ（Ｄ２）から１つ又は複数のエスケープ符号又は１つ又は複数の連続値シンボルを復号することができる。
【００３９】
オプションで、上記方法は、符号化入力データ（Ｄ２）において１つ又は複数のマーカーを特定するデコーダを用いることを含み、該１つ又は複数のマーカーは、上記複数のパート（Ａ、Ｂ）のそれぞれに対応する符号化データの出現を決定するものである。
【００４０】
オプションで、上記方法は、実質的に可逆方式で上記ランレングス復号処理を実施することを含む。
【００４１】
本発明の第５の態様によれば、入力データ（Ｄ１）を符号化することにより対応符号化データ（Ｄ２）を生成する、本発明の第１の態様によるエンコーダと、符号化出力データ（Ｄ２）を復号することにより対応出力復号データ（Ｄ３）を生成する、本発明の第３の態様によるデコーダとを備えるコーデック装置が提供される。
【００４２】
本発明による第６の態様によれば、機械可読データ記憶媒体に記録されたソフトウェア製品であって、該ソフトウェア製品は、本発明の第２の態様による方法を実行するのにコンピュータハードウェアで実行可能であることを特徴とする、ソフトウェア製品が提供される。
【００４３】
本発明の第７の態様によれば、機械可読データ記憶媒体に記録されたソフトウェア製品であって、該ソフトウェア製品は、本発明の第４の態様による方法を実行するのにコンピュータハードウェアで実行可能であることを特徴とする、ソフトウェア製品が提供される。
【００４４】
本発明の特徴は、添付の特許請求の範囲によって規定される発明の要旨から逸脱することなく、各種組合せにおいて組合せられ得ることが理解される。
【００４５】
以下、本発明の実施形態について以下の図面を参照し、例示のみの目的で説明する。
【図面の簡単な説明】
【００４６】
【図１】本発明によるエンコーダの図である。
【図２】本発明によるコーデック装置の図である。
【実施形態の説明】
【００４７】
添付の図面において、下線を付した番号は、その下線を付した番号が位置する要素、又はその下線を付した番号が隣接する要素を表すのに用いられる。下線が付されていない番号は、要素にその下線が付されていない番号を結合させる線によって特定されるその要素に関する。番号に下線が付されておらず、関連する矢印が付随する場合、下線が付されていないその番号が、その矢印が指し示す全体要素を特定するのに用いられる。
【００４８】
概して、本発明は、ランレングス符号化（ＲＬＥ）法に基づくものであるが、ランレングス符号化法よりも顕著に向上させるものである。
【００４９】
ＲＬＥ法は、現代においては、可逆方式等で、例えばマルチメディアデータフォーマット等の各種画像情報を符号化するために利用されている。しかしながら、このようなＲＬＥ法は、例えば写真等の連続階調画像や非形式化データに対して十分に機能しない。それにもかかわらず、従来のＲＬＥが、大抵ハフマン符号化と組み合わされ、かつＢＭＰ、ＧＩＦ、ＰＣＸ、ＴＩＦＦ等の標準的な現存フォーマットを利用して、ファクシミリ機等の装置において利用されている。
【００５０】
本発明の実施形態は、現存する既知のＲＬＥ法と比較してデータ圧縮率を向上をさせ、データ圧縮及び符号化の向上を達成する簡便な解決手段に関連する。また、本発明の実施形態は、ＲＬＥと同様にカウンターを利用するが、関係する文字が独自のデータ出力パートに書き込まれるという違いを有する。即ち、カウンターと文字が、パートＡ及びパートＢにそれぞれ別々に書き込まれるという違いを有する。相互に異なるパートのこのような分離は、文字の定義とランレングス情報が共に混在する現存のＲＬＥアプローチとは対照的である。
【００５１】
このように、本発明の実施形態は、新規分割ランレングス法、即ち連続データ、例えばグラフィック、画像、ビデオ、音声、テキスト、及びバイナリデータを含む、あらゆる種類の１Ｄデータ、２Ｄデータ及び３Ｄデータの前処理及び後処理に有効である「ＳＲＬＥ」に関連する。該分割ランレングス法は、デバイス、マイクロプロセッサ等における実施を目的として、ネットワーク用途のために更新可能である。また、分割ランレングス法は、機械可読データ記憶媒体に記憶された１つ又は複数のソフトウェア製品を用いて容易に実施可能であり、該ソフトウェア製品は、コンピュータハードウェアで実行可能である。
【００５２】
図１を参照すると、例えばデジタルハードウェア、及び／又は、機械可読データ記憶媒体に記憶され、かつコンピュータハードウェアで実行可能な１つ又は複数のソフトウェア製品により実施されるエンコーダ１０が示されており、該エンコーダ１０は、入力データＤ１を受信し、対応する符号化出力データＤ２を生成するように動作可能である。このようなエンコーダ１０に関しては、入力データＤ１のエントロピーＥ１、並びに出力データＤ２のエントロピーＥ２を計算することが可能である。エントロピーＥ１、Ｅ２は、所与のデータセットを提供するのに必要な多数のビットにおいて明らかにされる。
【００５３】
エンコーダ１０の演算方式を説明するために、例となるランレングス（ＲＬ）が、通常、１つ又は複数のバイト値で表現される。しかしながら、本発明の実施形態を説明するために、ここでは、英数字の文字について説明する。入力データＤ１が以下の文字列で表される。
【００５４】
［式１］
WWW WWW WWW WWW BWW WWW WWW WWW WBB BWW WWW WWW WWW WWW WWW WWW WWW WBW WWW WWW WWW WWW W
【００５５】
このような文字列に関連するエントロピーＥ１は、６２個の「Ｗ」文字と、５個の「Ｂ」文字であり、式２及び式３から計算可能であるとおり２５．６６ビットで表すことができる。
【００５６】
［式２］
0006431487.tif 000003
【００５７】
シャノン（Shannon）の理論により、所与のメッセージを所与のアルファベットで符号化する最短の可能な表現の平均長Ｌは、それらのエントロピーＥをアルファベットに存在するシンボルＮの数の対数で割った値であることが特定されている。
【００５８】
［式３］
0006431487.tif 000004
【００５９】
上記一連の文字は、既知である２つの代替ＲＬＥ法を用いて符号化することにより、２６．５５ビットに対応する関連算出エントロピーＥ２を用いて以下の一連のＲＬＥとして出力データＤ２を生成することが可能である。
【００６０】
［式４］
12W 1B 12W 3B 24W 1B 14W    
【００６１】
或は、３５．４９ビットに対応する関連算出エントロピーＥ２を用いて以下の一連のＲＬＥとして出力データＤ２を生成することも可能である。
【００６２】
［式５］
WW12BWW12BB3WW24BWW14    
【００６３】
式４は、数字（Ｎ）が先行する所与の文字の単純な表現であり、数字（Ｎ）は、該所与の文字の頻度を示し、即ち、１２個の「Ｗ」の後に１個の「Ｂ」が続き、その後に１２個の「Ｗ」が続くこと等を示す表現である。逆に、式５において文字は、式１の配列における文字に対応する文字を表し、その文字の後にその文字の頻度の表示が続いている。
【００６４】
式４は、最小のラン値が１であり得ることを示し、式５は、最小のラン値が２であり得ることを示す。これにより、この情報を利用し、ゼロ（０）から始まるストリーム値を自動的に生成する実装の構築が可能になる。例えば、式４は数字'＝数字−１（Ｎ'＝Ｎ−１）を用いて、以下のとおり式４'として書き換えることができる。
【００６５】
［式４'］
11W 0B 11W 2B 23W 0B 13W
【００６６】
そして、式５は、（Ｎ'＝Ｎ−２）を用いて、以下のとおり式５'として書き換えることができる。
【００６７】
［式５'］
WW10BWW10BB1WW22BWW12
【００６８】
こうして、データのエントロピーは変わらないが、テーブル伝送に必要となるビット量及び場合によっては必要なエスケープ符号又は連続値シンボルの量を低減することによって、エントロピー符号化により好適なラン値を作成する。修正された式４'及び／又は５'が用いられる場合、デコーダもそれに対応して修正されなければならない。この事は、式４'においてその補正は（Ｎ＝Ｎ'＋１）であり、式５'においてその補正は（Ｎ＝Ｎ'＋２）であることを意味する。
【００６９】
上述のエスケープ符号は、希な値を検出し、かつ特定することが望まれる場合に好適に用いられ、その希な値を、別にその元の形で書き込む。幾つかのシンボルから値を構築することが望まれる場合には、連続値が好適に用いられるが、そのような幾つかのシンボルは、互いに合算され、又は互いに減算がされ、さらに該シンボルは同じストリームに書き込まれ、元の値又は修正された値であってもよい他の要素と共にエントロピー符号化され得るものである。最も一般的には、好ましい実施形態においては、エスケープ符号は、希な値をあるシンボルに置換するが、元の値も、その元ビットカウントと共にそのままストリームに加えられる。１つ又は複数の連続値が、後に実行されるエントロピー圧縮を目的として、修正した希な値に加えて、同じストリームにおいて出現し得る。
【００７０】
このような既知のＲＬＥ法（式４及び式５）並びに修正ＲＬＥ法（式４'及び式５'）によれば、入力データＤ１に存在したエントロピーよりも符号化出力データＤ２におけるエントロピーが大きくなると言う結果を生じ、つまりＥ２＞Ｅ１となるが、出力データＤ２に存在するシンボルの総数は減少する。ＲＬＥデータは、例えばハフマン符号化（Huffman coding）、可変長符号化（variable length coding；ＶＬＣ）等の更なる符号化を適用することによって圧縮可能であることが知られているが、このような更なる符号化では、準最適なデータ圧縮結果しか得られない。このような準最適な動作は、フォーマットの不一致が原因で生じる。
【００７１】
式４及び式５は、パートＡによって示される文字、並びに同文字に関連するカウンター、つまりパートＢが混じった物であり、式１、式４及び式５'に関し、該パートが表２において指定されている。
【００７２】
［表２］本発明に従うパートＡ及びパートＢ
0006431487.tif 000005
【００７３】
エンコーダ１０が、本発明に従って機能する場合、出力データＤ２は、式４及び式５'にあるような混合型ではないが、パートＡ及びパートＢは、別々に表現され、つま分割されており、それらの相互の対応性は、符号化データＤ２の構造によって定義され、例えば１つ又は複数のマーカーによって定義される。
【００７４】
本発明の例示実施形態によれば、式１において入力データＤ１は、２５．６６ビットのエントロピーＥ１と関係している。式１の文字配列は、以下の２つの入力パートにランレングス符号化される。
【００７５】
パートＡ： 12 1 12 3 24 1 14
パートＢ： W B W B W B W,
【００７６】
ここで、パートＡは１５．６５ビットの関連算出エントロピーＥＡを有し、パートＢは、６．９０ビットの関連算出エントロピーＥＢを有する。これらパートは、上述の式４から導かれる。エントロピーＥＡ、ＥＢの合計は、２２．５５ビットであり、入力データＤ１に関連するエントロピーと較べて３．１１ビット小さく、つまり１２％小さく、既知である従来のＲＬＥによって生成される符号のエントロピー、つまり３６．５５ビットよりも１４．００ビット小さく、つまり３８％小さい。したがって、有利なデータ圧縮が、本発明に従って、ＲＬＥによって生成されるカウンター及び文字情報を分割し、次いで、例えばＶＬＣ符号化、ハフマン符号化、ゴロム符号化（Ｇｏｌｏｍｂ ｃｏｄｉｎｇ）、算術符号化、レンジ符号化、差分符号化、ＯＤｅｌｔａ符号化、レンペル・ジブ符号化（Ｌｅｍｐｅｌ−Ｚｉｖ ｃｏｄｉｎｇ）、ＢＷＴ符号化等の圧縮法を適用することで達成することができる。オプションで、この符号化は、エンコーダ１０の前に適用され、オプションで、対応する復号も、デコーダ５０に含まれる。
【００７７】
オプションで、エンコーダ１０において、パートＢ及び／又はパートＡは、データＤ１において最大の許容可能なランレングス及び１つ又は複数の関連エスケープ符号又は１つ又は複数の関連連続値シンボルを有することにより、データＤ２により大きい値のランレングスシンボルが存在することを示すように、例えば可変長符号化（ＶＬＣ）又はレンジ符号化を用いて符号化される。同様に、デコーダ５０は、当該エンコーダで受信されるデータＤ２に存在する１つ又は複数の上記エスケープ符号又は連続値シンボルを特定するように実施され、該１つ又は複数のエスケープ符号又は１つ又は複数の連続値シンボルは、データＤ１を復号する際、即ちパートＡ及び／又はパートＢを再生成する時にデコーダ５０において解釈される。
【００７８】
本発明の別の例示実施形態によれば、式１において、入力データＤ１は、２５．６６ビットのエントロピーＥ１と関連している。式１の文字列は、以下の２つの入力パートにランレングス符号化（ＲＬＥ）される。
【００７９】
パートＡ：10 10 1 22 12
パートＢ：W W B W W B B W W B W W,
【００８０】
ここで、パートＡは、９．６１ビットの関連算出エントロピーＥＡを有し、パートＢは、１１．０２ビットの関連算出エントロピーＥＢを有する。これらパートは、上述の式５'から導かれる。エントロピーＥＡ、ＥＢの合計は、２０．６３ビットであり、入力データＤ１に関連するエントロピーと較べて５．０３ビット小さく、つまり２０％小さく、既知である従来のＲＬＥによって生成される符号のエントロピー、つまり３６．５５ビットよりも１４．８６ビット小さく、つまり４２％小さい。したがって、有利なデータ圧縮が、本発明に従って、ＲＬＥによって生成されるカウンター及び文字情報を分割し、次いで、例えばＶＬＣ符号化、ハフマン符号化等の圧縮法を適用することで達成することができる。有利には、本発明の実施形態には、エンコーダから対応するデコーダに１つ又は複数の符号化テーブルが送信されることにより、該エンコーダから送信され、該デコーダで受信された符号化データの復号を支援することが含まれる。符号化テーブルを伝送する極めて有利な方法の幾つかが、例えば本出願人によって提出された特許出願ＧＢ ＧＢ１４０３０３９．９に開示されている。エントロピー符号化と符号テーブルの伝送を組み合わせた更なる方法が、本出願人により提出された特許出願ＧＢ ＧＢ１４０３０３８．１に開示されている。上述の開示された方法の両方が、本発明の実施形態と組み合わせて用いるのに好適に適合するものであり、エントロピー符号化に必要とされる更なる符号化データを最小化するのに役立つ。
【００８１】
上述の符号テーブルの伝送方法は、ＳＲＬＥによって生成されるデータがその後エントロピー符号化される全ての場合において適用可能であることに留意されたい。
【００８２】
上述の例示実施形態は、入力データＤ１においてＲＬＥ法を適用することにより対応するＲＬＥデータを生成すること、次いでそのＲＬＥデータを文字パート、つまり上記パートＢ、並びに対応するランレングスカウントパート、つまり上記パートＡに分割すること（つまり、パートＡに関連するデータはパートＢに関連するデータから分離される）、並びに次いで該パートに対して別々に符号化を適用することにより符号化出力データＤ２を生成することから得られる利点を明確に示している。オプションで、追加の符号、例えば１つ又は複数のマーカーが、符号化出力データＤ２の何れの部分がパートＡ及びパートＢに対応するかを示すために含まれるが、このような追加の符号を含むことは、つまり対応する後続の復号作業を補助するためのものである。このようなデータ符号化処理は、図２に記述されるような方式で機能的に実施される図１のエンコーダ１０において有利に実施される。
【００８３】
図２には、２０によって包括的に示されるコーデック装置が示されている。コーデック装置２０は、本発明に従って入力データＤ１を符号化することにより対応符号化出力データＤ２を生成する方法を実施するように構成されたエンコーダ１０を備える。エンコーダ１０は、デジタルハードウェアにおいて、例えば機械可読データ記憶媒体に記録された１つ又は複数のソフトウェア製品を実行するように動作可能であるコンピュータハードウェアとして有利に実施される。エンコーダ１０は、以下の３つの機能を実行するように動作可能である。
（ａ）エンコーダ１０の第１ステージ３０Ａは、入力データＤ１の文字を決定し又はその文字表現を生成するように入力データＤ１を処理し、かつ対応ランレングスカウントを生成するように動作可能であること、
（ｂ）エンコーダ１０の第２ステージ３０Ｂは、第１ステージ３０Ａにおいて生成された上記文字及びそれらの対応ランレングスカウントを２つのパート、即ちパートＢ及びＡそれぞれに、構造化された方式で分割するように動作可能であること、並びに
（ｃ）エンコーダ１０の第３ステージ３０Ｃは、例えばハフマン符号化又は可変長符号化（ＶＬＣ）を介してパートＡ及びＢのデータを符号化することにより、出力符号化データＤ２を生成するように動作可能であること。
【００８４】
出力データＤ２は、オプションで、データキャリア４０、例えば光学データ記憶ディスクメモリに記憶される。或は、出力データＤ２は、データ通信ネットワーク４５、例えばインターネットを介してコーデック装置２０のデコーダ５０に伝達される。デコーダ５０は、有利には、デジタルハードウェアにおいて、例えば機械可読データ記憶媒体に記録された１つ又は複数のソフトウェア製品を実行するように動作可能であるコンピュータハードウェアとして実施される。さらに、デコーダ５０は、作動する際には、エンコーダ１０によって実行される処理演算の逆を実行するように動作可能であり、即ち、デコーダ５０は、以下の３つの機能を実行するように動作可能である。
【００８５】
（ｉ）デコーダ５０の第１ステージ６０Ａは、符号化データＤ２を受信し、かつ例えば逆ハフマン符号化又は逆可変長符号化（ＶＬＣ）を介してパートＡ及びＢのデータを復号することによりパートＡ及びＢを再生成するように動作可能であること、
（ｉｉ）デコーダ５０の第２ステージ６０Ｂは、第１ステージ６０Ａからの再生成パートＡ及びＢを結合することにより文字及びそれらに対応のランレングスカウントを混合データとして生成すること、並びに
（ｉｉｉ）デコーダ５０の第３ステージ６０Ｃは、上記混合データに逆ランレングス符号化を適用することにより同混合データから復号出力データＤ３を再生成すること。
【００８６】
オプションで、エンコーダ１０及びデコーダ５０の少なくとも１つが、消費者向け電子製品、例えばテレビ、スマートフォン、ファクシミリ機、タブレットコンピュータ、パーソナルコンピュータ（ＰＣ）、ビデオレコーダー、ビデオプレイヤー、デジタルカメラ、テレビ会議システム、監視装置、携帯パーソナルマルチメディアプレーヤー等において実施されるが、これらは実際の用途のほんの一部の例に過ぎない。
【００８７】
本発明に関し、符号化データを２つのパート、即ちパートＡ及びＢに分割することについて上記に説明したが、２つを超えるパートに符号化データを分割することも、多次元データに対して任意に可能であることが理解される。さらに、本発明に関し、２つのパート、即ちパートＡ及びＢに対応する復号データを結合することについて上記に説明したが、２つを超えるパートを結合することが、多次元データに対して任意に可能であることが理解される。
【００８８】
上記に記載した発明の実施形態に対する変更は、添付の特許請求の範囲によって定義される発明の要旨から逸脱することのない限り可能である。本発明を説明し、また特許請求する際に用いられる「含む」又は「備える」（"ｉｎｃｌｕｄｉｎｇ"、"ｃｏｍｐｒｉｓｉｎｇ"）、「組み込む」（"ｉｎｃｏｒｐｏｒａｔｉｎｇ"）、「から成る」（"ｃｏｎｓｉｓｔｉｎｇ  ｏｆ"）、「有する」（"ｈａｖｅ"）、「である」（"ｉｓ"）等の表現は、非排他的な方式で理解されるべきことが意図されており、即ち明示されていない事項、成分又は要素が存在し得る。単数での表記は、複数にも関連するものと理解される。添付の特許請求の範囲における括弧内の数値は、請求項の理解を補助するためのものであり、それら請求項によって記載される主題を限定するものとして解釈してはならない。
以下に、出願当初の特許請求の範囲に記載されていた、好適な実施形態を載せておく。
［１］入力データ（Ｄ１）を符号化することにより対応符号化出力データ（Ｄ２）を生成するエンコーダ（１０）であって、
前記入力データ（Ｄ１）のランレングス符号化（ＲＬＥ）表現を生成するデータ処理装置を備え、
前記ランレングス符号化（ＲＬＥ）表現を複数のパート（Ａ、Ｂ）に分割するように動作可能であり、少なくとも１つのパートが、第１データストリームにおいて、オリジナルのシンボルに関連し、第２データストリームにおける少なくとも別のパートが、前記第１データストリームにおけるシンボルの少なくとも幾つかの出現を示すカウンターに関連し、
前記複数のパート（Ａ、Ｂ）を別々に符号化することにより符号化出力データ（Ｄ２）を生成するように動作可能である、
エンコーダ（１０）。
［２］前記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも１つを含む、［１］に記載のエンコーダ（１０）。
［３］符号化出力データ（Ｄ２）を、入力データ（Ｄ１）に対して圧縮形態で生成するように動作可能である、［２］に記載のエンコーダ（１０）。
［４］可変長符号化（ＶＬＣ）、ハフマン符号化、ゴロム符号化、算術符号化、レンジ符号化、差分符号化、レンペル・ジブ符号化、ＢＷＴ符号化のうちの少なくとも１つを利用することによって、前記複数のパート（Ａ、Ｂ）を符号化することにより前記符号化出力データ（Ｄ２）を生成するように動作可能である、［１］から［３］の何れかに記載のエンコーダ（１０）。
［５］エントロピー符号化法を用いることにより前記複数のパート（Ａ、Ｂ）の少なくとも１つを符号化するように動作可能であり、前記エントロピー符号化法は、前記符号化出力データ（Ｄ２）においてパート（Ａ及び／又はＢ）をエントロピー符号化する際に、１つ又は複数のエスケープ符号又は１つ又は複数の連続値シンボルを用いることによってパート（Ａ及び／又はＢ）の値を符号化することができる、［４］に記載のエンコーダ（１０）。
［６］前記符号化出力データ（Ｄ２）に１つ又は複数のマーカーを含めるように動作可能であり、該１つ又は複数のマーカーは、前記複数のパート（Ａ、Ｂ）のそれぞれに対応する符号化データの出現を示すものである、［１］から［５］の何れかに記載のエンコーダ（１０）。
［７］前記ランレングス符号化（ＲＬＥ）表現は、実質的に可逆方式で実施される、［１］から［６］の何れかに記載のエンコーダ（１０）。
［８］エンコーダ（１０）において入力データ（Ｄ１）を符号化することにより対応する符号化出力データ（Ｄ２）を生成する方法であって、前記方法は、入力データ（Ｄ１）のランレングス符号化（ＲＬＥ）表現を生成するデータ処理装置を用いることを含み、さらに前記方法は、
（ａ）前記ランレングス符号化（ＲＬＥ）表現を複数のパート（Ａ、Ｂ）に分割するエンコーダ（１０）を用いること、但し、少なくとも１つのパートは、第１データストリームにおいて、オリジナルのシンボルに関連するものであり、第２データストリームにおける少なくとも別のパートは、第１データストリームにおけるシンボルの少なくとも幾つかの出現を示すカウンターに関連するものとすることと；
（ｂ）前記複数のパート（Ａ、Ｂ）を別々に符号化することにより符号化出力データ（Ｄ２）を生成するエンコーダ（１０）を用いることと；
を更に含む、方法。
［９］前記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも１つを含む、［８］に記載の入力データ（Ｄ１）を符号化する方法。
［１０］前記エンコーダ（１０）を用いて、前記符号化出力データ（Ｄ２）を、入力データ（Ｄ１）に対して圧縮形態で生成することを含む、［８］に記載の方法。
［１１］前記エンコーダ（１０）を用いて、
変長符号化（ＶＬＣ）、ハフマン符号化、ゴロム符号化、算術符号化、レンジ符号化、差分符号化、レンペル・ジブ符号化、ＢＷＴ符号化のうちの少なくとも１つを利用することによって、前記複数のパート（Ａ、Ｂ）を符号化することにより前記符号化出力データ（Ｄ２）を生成することを含む、［８］から［１０］の何れかに記載の方法。
［１２］前記エンコーダ（１０）を用いて、エントロピー符号化法を用いることにより前記複数のパート（Ａ、Ｂ）の少なくとも１つを符号化することを含み、前記エントロピー符号化法は、符号化出力データ（Ｄ２）においてパート（Ａ及び／又はＢ）をエントロピー符号化する際に、１つ又は複数のエスケープ符号又は１つ又は複数の連続値シンボルを用いることによってパート（Ａ及び／又はＢ）の値を符号化することができる、［１１］に記載の方法。
［１３］前記エンコーダ（１０）を用いて、前記符号化出力データ（Ｄ２）に１つ又は複数のマーカーを含めることを含み、該１つ又は複数のマーカーは、前記複数のパート（Ａ、Ｂ）のそれぞれに対応する符号化データの出現を示すものである、［８］から［１２］の何れかに記載の方法。
［１４］実質的に可逆方式で前記ランレングス符号化（ＲＬＥ）表現を実装することを含む、［８］から［１３］の何れかに記載の方法。
［１５］符号化入力データ（Ｄ２）を復号することにより対応復号出力データ（Ｄ３）を生成するデコーダ（５０）であって、前記デコーダ（５０）はデータ処理装置を備え、
前記データ処理装置は、前記符号化入力データ（Ｄ２）を複数の別々のパート（Ａ、Ｂ）に復号するように構成され、但し、少なくとも１つのパートは、第１データストリームにおいて、オリジナルのシンボルに関連するものであり、第２データストリームにおける少なくとも別のパートは、第１データストリームにおけるシンボルの少なくとも幾つかの出現を示すカウンターに関連し、
前記データ処理装置はさらに、前記複数のパート（Ａ、Ｂ）を共に結合することにより結合データを生成し、ランレングス復号処理を介して該結合データを復号することにより前記復号出力データ（Ｄ３）を生成するように構成される、
る、
デコーダ（５０）。
［１６］前記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも１つを含む、［１５］に記載のデコーダ（５０）。
［１７］復号出力データ（Ｄ３）を、符号化入力データ（Ｄ２）に対して展開形態で生成するように動作可能である、［１５］に記載のデコーダ（５０）。
［１８］逆可変長符号化（ＶＬＣ）、逆ハフマン符号化、逆ゴロム符号化、逆算術符号化、逆レンジ符号化、逆差分符号化、逆レンペル・ジブ符号化、逆ＢＷＴ符号化のうちの少なくとも１つを利用することによって、前記符号化入力データ（Ｄ２）を復号することにより前記複数のパート（Ａ、Ｂ）を生成するように動作可能である、［１５］から［１７］の何れかに記載のデコーダ（５０）。
［１９］エントロピー復号法を用いることにより前記複数のパート（Ａ、Ｂ）の少なくとも１つを復号するように動作可能であり、前記エントロピー復号法は、前記符号化入力データ（Ｄ２）から１つ又は複数のエスケープ符号又は１つ又は複数の連続値シンボルを復号することができる、［１８］に記載のデコーダ（５０）。
［２０］前記符号化入力データ（Ｄ２）において１つ又は複数のマーカーを特定するように動作可能であり、該１つ又は複数のマーカーは、前記複数のパート（Ａ、Ｂ）のそれぞれに対応する符号化データの出現を決定するものである、［１５から［１９］の何れかに記載のデコーダ（５０）。
［２１］前記ランレングス復号処理は、実質的に可逆方式で実施される、［１５］から［２０］の何れかに記載のデコーダ（５０）。
［２２］デコーダ（５０）において符号化入力データ（Ｄ２）を復号することにより対応復号出力データ（Ｄ３）を生成する方法であって、前記方法は、データ処理装置を用いることを含み、前記方法はさらに、
（ａ）符号化入力データ（Ｄ２）を複数の別々のパート（Ａ、Ｂ）に復号するデコーダ（５０）を用いること、但し、少なくとも１つのパートは、第１データストリームにおいて、オリジナルのシンボルに関連するものであり、第２データストリームにおける少なくとも別のパートは、第１データストリームにおけるシンボルの少なくとも１つの出現を示すカウンターに関連することと；
（ｂ）前記複数のパート（Ａ、Ｂ）を結合することにより対応結合データを生成するデコーダ（５０）を用いることと；
（ｃ）前記結合データにランレングス復号処理を適用することにより前記復号出力データ（Ｄ３）を生成するランレングス復号処理を用いることと；
を含む、方法。
［２３］前記オリジナルのシンボルは、文字、アルファベット要素、数字、ビット、バイト、ワードのうちの少なくとも１つを含む、［２２］に記載の方法。
［２４］前記デコーダ（５０）を用いて、前記復号出力データ（Ｄ３）を、符号化入力データ（Ｄ２）に対して展開形態で生成することを含む、［２２］または［２３］に記載の方法。
［２５］前記デコーダ（５０）を用いて、
逆可変長符号化（ＶＬＣ）、逆ハフマン符号化、逆ゴロム符号化、逆算術符号化、逆レンジ符号化、逆差分符号化、逆レンペル・ジブ符号化、逆ＢＷＴ符号化のうちの少なくとも１つを利用することによって、前記複数のパート（Ａ、Ｂ）を復号することにより復号出力データ（Ｄ３）を生成することを含む、［２２］から［２４］の何れかに記載の方法。
［２６］エントロピー復号法を用いることにより前記複数のパート（Ａ、Ｂ）の少なくとも１つを復号するデコーダ（５０）を用いることを含み、前記エントロピー復号法は、前記符号化入力データ（Ｄ２）から１つ又は複数のエスケープ符号又は１つ又は複数の連続値シンボルを復号することができる、［２５］に記載の方法。
［２７］前記デコーダ（５０）を用いて、前記符号化入力データ（Ｄ２）において１つ又は複数のマーカーを特定することを含み、該１つ又は複数のマーカーは、前記複数のパート（Ａ、Ｂ）のそれぞれに対応する符号化データの出現を決定するものである、［２２］から［２６］の何れかに記載の方法。
［２８］実質的に可逆方式で前記ランレングス復号処理を実施することを含む、［２２］から［２７］の何れかに記載の方法。
［２９］入力データ（Ｄ１）を符号化することにより対応符号化データ（Ｄ２）を生成する［１］から［７］の何れかに記載のエンコーダ（１０）と、符号化出力データ（Ｄ２）を復号することにより対応出力復号データ（Ｄ３）を生成する［１５］から［２１］の何れかに記載のデコーダ（５０）とを備えるコーデック装置（２０）。
［３０］装置の処理手段に実行されると、前記装置に、［８］から［１４］及び［２２］から［２８］の何れかに記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
【図１】
0006431487.tif 000006
【図２】
0006431487.tif 000007