(57)【要約】ビット単位方式で第１エントロピーを有する入力データビットのストリームを符号化し又は復号し、第２エントロピーを有する対応エントロピー変更出力データを生成するように動作可能であるエントロピー変更器（１０、６０）であって、該エントロピー変更器は、入力データビットのストリームを処理することにより、相互に類似のビットの群及び最初のビットの値、並びに相互に類似のビットの群の１つ又は複数の最大ランレングスを操作するように動作可能である、エントロピー変更器（１０、６０）が提供される。任意に、エントロピー変更器（１０、６０）は、少なくとも１つのエスケープ符号を用いて、相互に類似のビットの群の１つ又は複数の最大ランレングスを制御するように動作可能である。【選択図】図１
2016514404.tif 000002
【特許請求の範囲】
【請求項１】
ビット単位方式で第１エントロピーを有する入力データビット（Ｄ１）のストリームを符号化し、第２エントロピーを有する対応エントロピー変更出力データ（Ｄ２）を生成するように動作可能であるエントロピー変更器（１０）であって、
（ａ）ビット単位方式で出力データ（Ｄ２）を生成するように動作可能であり、但し、前記出力データ（Ｄ２）は、該出力データ（Ｄ２）に含まれる後続データに関する参照値として機能する最初のビットの情報を含み、
（ｂ）前記出力データ（Ｄ２）は、入力データビット（Ｄ１）に存在する相互に類似のビットのランレングスを示すデータを更に含み、該相互に類似のビットのランレングスは、サイズにおいて実質的に制限されていることにより、最大ランレングス値（ＭａｘＲｕｎ）を超えることがなく、
（ｃ）入力データ（Ｄ１）における前記最大ランレングス値（ＭａｘＲｕｎ）を実質的に超えるランレングスの１つ又は複数の出現が、前記出力データ（Ｄ２）に含まれる少なくとも１つのエスケープ符号によって示される、
ことを特徴とするエントロピー変更器（１０）。
【請求項２】
相互に類似のビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）が、複数のエスケープ符号によって制御されることを特徴とする、請求項１に記載のエントロピー変更器（１０）。
【請求項３】
データ値「０」により前記出力データ（Ｄ２）内に少なくとも１つのエスケープ符号を実装するように動作可能であることを特徴とする、請求項１又は２に記載のエントロピー変更器（１０）。
【請求項４】
前記入力データビット（Ｄ１）のストリームの性質に応じて動的に変化する方式で最大ランレングス値（ＭａｘＲｕｎ）を用いて、前記入力データビット（Ｄ１）のストリームを操作するように動作可能であることを特徴とする、請求項１、２又は３に記載のエントロピー変更器（１０）。
【請求項５】
１つ又は複数の符号化装置（２０）における後続の圧縮により圧縮データ（Ｄ３）を生成するために、前記入力データ（Ｄ１）を前記出力データ（Ｄ２）にフォーマットするデータプリプロセッサとして機能するように動作可能であることを特徴とする、請求項１から４の何れか１項に記載のエントロピー変更器（１０）。
【請求項６】
前記１つ又は複数の符号化装置は、ＯＤｅｌｔａコーダ、ＲＬＥコーダ、ＶＬＣコーダ、ハフマンコーダ、差分コーダ、算術コーダ、及びレンジコーダの１つ又は複数を含むことを特徴とする、請求項５に記載のエントロピー変更器（１０）。
【請求項７】
別々に処理される複数の部分において前記入力データビット（Ｄ１）のストリームを操作するように動作可能であることを特徴とする、請求項１から６の何れか１項に記載のエントロピー変更器（１０）。
【請求項８】
時間的に並列な方式で、即ち並列実行によって、前記複数の部分を操作するように動作可能であることを特徴とする、請求項７に記載のエントロピー変更器（１０）。
【請求項９】
前記部分の１つ又は複数について相互に異なる最大ランレングス値（ＭａｘＲｕｎ）を用いることにより前記複数の部分を操作するように動作可能であることを特徴とする、請求項７又は８に記載のエントロピー変更器（１０）。
【請求項１０】
前記入力データ（Ｄ１）を圧縮してエントロピー変更出力データ（Ｄ２又はＤ３）を生成するエンコーダ（１０、２０）として機能するように実装されていることを特徴とする、請求項１から９の何れか１項に記載のエントロピー変更器（１０）。
【請求項１１】
前記入力データ（Ｄ１）に存在するビットストリングをエントロピー変更出力データ（Ｄ２又はＤ３）に存在するシンボルに変換することを補助するように動作可能であることを特徴とする、請求項１から１０の何れか１項に記載のエントロピー変更器（１０）。
【請求項１２】
コンピュータハードウェアを備え、該コンピュータハードウェアは、機械可読データ記憶媒体に記録された１つ又は複数のソフトウェアを実行することにより、前記入力データビット（Ｄ１）のストリームを処理することで前記出力データ（Ｄ２）を生成するように動作可能であることを特徴とする、請求項１から１１の何れか１項に記載のエントロピー変更器（１０）。
【請求項１３】
第１エントロピーを有する入力データビット（Ｄ３又はＤ４）のストリームを復号し、第２エントロピーを有する対応エントロピー変更出力データ（Ｄ５）を生成するように動作可能であるエントロピー変更器（６０）であって、
（ａ）入力データ（Ｄ３又はＤ４）に含まれる後続データに関する参照値として機能する、その最初のビットの情報を使用して、ビット単位方式で前記入力データ（Ｄ３又はＤ４）を処理するように動作可能であり、
（ｂ）元データ（Ｄ１）に存在する相互に類似のビットのランレングスを示し、かつ前記入力データ（Ｄ３又はＤ４）に存在するデータを処理するように動作可能であり、前記相互に類似のビットのランレングスは、サイズにおいて実質的に制限されていることにより、最大ランレングス値（ＭａｘＲｕｎ）を超えることがなく、
（ｃ）前記入力データ（Ｄ３又はＤ４）に含まれる少なくとも１つのエスケープ符号によって示される通り、前記元データ（Ｄ１）における最大ランレングス値を実質的に超えるランレングスの１つ又は複数の出現を検出するように動作可能である、
ことを特徴とするエントロピー変更器（６０）。
【請求項１４】
少なくとも１つのエスケープ符号を用いることにより、相互に類似のビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）を処理するように動作可能であることを特徴とする、請求項１３に記載のエントロピー変更器（６０）。
【請求項１５】
複数のエスケープ符号を用いることにより、相互に類似のビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）を処理することを特徴とする、請求項１４に記載のエントロピー変更器（６０）。
【請求項１６】
前記少なくとも１つのエスケープ符号が、前記入力データ（Ｄ３又はＤ４）内でデータ値「０」として実装されることを特徴とする、請求項１３、１４又は１５に記載のエントロピー変更器（６０）。
【請求項１７】
入力データビット（Ｄ３又はＤ４）のストリームの性質に応じて動的に変化する方式で前記最大ランレングス値（ＭａｘＲｕｎ）を用いて、入力データビット（Ｄ３又はＤ４）のストリームを操作するように動作可能であることを特徴とする、請求項１３から１６の何れか１項に記載のエントロピー変更器（６０）。
【請求項１８】
データビットの配列とは別に、前記入力データビット（Ｄ３又はＤ４）のストリームにおける最初のビットの値の情報を操作するように動作可能であることを特徴とする、請求項１３から１７の何れか１項に記載のエントロピー変更器（６０）。
【請求項１９】
前記入力データ（Ｄ３又はＤ４）に存在するデータ要素を復号し、逆エントロピー変更を適用することにより、復号されたビットストリームとして出力データ（Ｄ５）を生成するように動作可能であることを特徴とする、請求項１３から１８の何れか１項に記載のエントロピー変更器（６０）。
【請求項２０】
類似するビットの連続量を表すデータ値の配列に対して別に符号化される最初のビットの値を操作するように動作可能であることを特徴とする、請求項１３から１９の何れか１項に記載のエントロピー変更器（６０）。
【請求項２１】
前記入力データビット（Ｄ３又はＤ４）のストリームを操作する１つ又は複数の符号化装置と協働して後処理に利用され、前記１つ又は複数の符号化装置は、ＯＤｅｌｔａコーダ、ＲＬＥコーダ、ＶＬＣコーダ、ハフマンコーダ、差分コーダ、算術コーダ及びレンジコーダの１つ又は複数を含むことを特徴とする、請求項１３から２０の何れか１項に記載のエントロピー変更器（６０）。
【請求項２２】
別々に符号化又は復号された複数の部分において前記入力データビット（Ｄ３又はＤ４）のストリームを操作するように動作可能であることを特徴とする、請求項１３から２１の何れか１項に記載のエントロピー変更器（６０）。
【請求項２３】
時間的に並列の方式で、即ち並列実行により前記複数の部分を操作するように動作可能であることを特徴とする、請求項２２に記載のエントロピー変更器（６０）。
【請求項２４】
前記部分の１つ又は複数について相互に異なる最大ランレングス値（ＭａｘＲｕｎ）を用いることにより、前記複数の部分を操作するように動作可能であることを特徴とする、請求項２２又は２３に記載のエントロピー変更器（６０）。
【請求項２５】
前記入力データ（Ｄ３又はＤ４）を展開してエントロピー変更出力データ（Ｄ５）を生成するデコーダ（５０、６０）として機能するように実装されていることを特徴とする、請求項１３から２４の何れか１項に記載のエントロピー変更器（６０）。
【請求項２６】
前記入力データ（Ｄ３又はＤ４）に存在するシンボルを出力データ（Ｄ５）に存在するビットストリングに変換することを補助するように動作可能であることを特徴とする、請求項１３から２５の何れか１項に記載のエントロピー変更器（６０）。
【請求項２７】
コンピュータハードウェアを備え、該コンピュータハードウェアは、機械可読データ記憶媒体に記録された１つ又は複数のソフトウェアを実行することにより、前記入力データビット（Ｄ３又はＤ４）のストリームを処理して出力データ（Ｄ５）を生成するように動作可能であることを特徴とする、請求項１３から２６の何れか１項に記載のエントロピー変更器（６０）。
【請求項２８】
エントロピー変更器（１０）を用いて、ビット単位方式で第１エントロピーを有する入力データビット（Ｄ１）のストリームを符号化し、第２エントロピーを有する対応エントロピー変更出力データ（Ｄ２）を生成する方法であって、
（ａ）前記エントロピー変更器（１０）を動作させて、ビット単位方式で前記出力データ（Ｄ２）を生成すること、但し、前記出力データ（Ｄ２）は、前記出力データ（Ｄ２）に含まれる後続データに関する参照値として機能する最初のビットの情報を含み、
（ｂ）入力データビット（Ｄ１）に存在する相互に類似のビットのランレングスを示す更なるデータを前記出力データ（Ｄ２）に含めること、但し、前記相互に類似のビットのランレングスは、サイズにおいて実質的に制限されていることにより、最大ランレングス値（ＭａｘＲｕｎ）を超えることがなく、
（ｃ）前記出力データ（Ｄ２）に含まれる少なくとも１つのエスケープ符号で、入力データ（Ｄ１）における最大ランレングス値を実質的に超えるランレングスの１つ又は複数の出現を示すこと、
を特徴とする方法。
【請求項２９】
複数のエスケープ符号を用いて相互に類似のビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）を制御することを含むことを特徴とする、請求項２８に記載の方法。
【請求項３０】
データ値「０」により前記出力データ（Ｄ２）内に前記少なくとも１つのエスケープ符号を実装することを含むことを特徴とする、請求項２８又は２９に記載の方法。
【請求項３１】
前記エントロピー変更器（１０）を用いて、
前記入力データビット（Ｄ１）のストリームの性質に応じて動的に変化する方式で前記最大ランレングス値（ＭａｘＲｕｎ）を用いて前記入力データビット（Ｄ１）のストリームを操作することを含むことを特徴とする、請求項２８、２９又は３０に記載の方法。
【請求項３２】
前記エントロピー変更器（１０）を用いて、
１つ又は複数の符号化装置（２０）における後続の圧縮により圧縮データ（Ｄ３）を生成するために、前記入力データ（Ｄ１）を前記出力データ（Ｄ２）にフォーマットするデータプリプロセッサとして機能することを含むことを特徴とする、請求項２８から３１の何れか１項に記載の方法。
【請求項３３】
前記１つ又は複数の符号化装置が、ＯＤｅｌｔａコーダ、ＲＬＥコーダ、ＶＬＣコーダ、ハフマンコーダ、差分コーダ、算術コーダ、及びレンジコーダの１つ又は複数を含むことを特徴とする、請求項３２に記載の方法。
【請求項３４】
前記エントロピー変更器（１０）を用いて、
別々に処理される複数の部分において前記入力データビット（Ｄ１）のストリームを操作することを含むことを特徴とする、請求項２８から３３の何れか１項に記載の方法。
【請求項３５】
前記エントロピー変更器（１０）を用いて、
時間的に並列な方式で、即ち並列実行により、前記複数の部分を操作することを含むことを特徴とする、請求項３４に記載の方法。
【請求項３６】
前記エントロピー変更器（１０）を用いて、
前記部分の１つ又は複数に関し相互に異なる最大ランレングス値（ＭａｘＲｕｎ）を使用して、前記複数の部分を操作すること
を含むことを特徴とする、請求項３４又は３５に記載の方法。
【請求項３７】
前記入力データ（Ｄ１）を圧縮してエントロピー変更出力データ（Ｄ２又はＤ３）を生成するエンコーダ（１０、２０）として機能するエントロピー変更器（１０）を実装することを含むことを特徴とする、請求項２８から３６の何れか１項に記載の方法。
【請求項３８】
前記エントロピー変更器（１０）を用いて、
前記入力データ（Ｄ１）に存在するビットストリングをエントロピー変更出力データ（Ｄ２又はＤ３）に存在するシンボルに変換することを補助することを含むことを特徴とする、請求項２８から３７の何れか１項に記載の方法。
【請求項３９】
コンピュータハードウェアを備えるエントロピー変更器（１０）を実装することを含み、前記コンピュータハードウェアは、機械可読データ記憶媒体に記録された１つ又は複数のソフトウェアを実行することにより、前記入力データビット（Ｄ１）のストリームを処理することで前記出力データ（Ｄ２）を生成するように動作可能であることを特徴とする、請求項２８から３８の何れか１項に記載の方法。
【請求項４０】
エントロピー変更器（６０）を用いて、第１エントロピーを有する入力データビット（Ｄ３又はＤ４）のストリームを復号し、第２エントロピーを有する対応エントロピー変更出力データ（Ｄ５）を生成する方法であって、
（ａ）前記エントロピー変更器（６０）を用いて、前記入力データ（Ｄ３又はＤ４）に含まれる後続データに関する参照値として機能する最初のビットの情報を使用してビット単位方式で前記前記入力データ（Ｄ３又はＤ４）を処理すること、
（ｂ）前記エントロピー変更器（６０）を用いて、元データ（Ｄ１）に存在する相互に類似のビットのランレングスを示し、かつ前記前記入力データ（Ｄ３又はＤ４）に存在するデータを処理すること、但し、前記相互に類似のビットのランレングスは、サイズにおいて実質的に制限されていることにより、最大ランレングス値（ＭａｘＲｕｎ）を超えることがないこと、
（ｃ）前記エントロピー変更器（６０）を用いて、前記前記入力データ（Ｄ３又はＤ４）に含まれる少なくとも１つのエスケープ符号によって示される通り、前記元データ（Ｄ１）における最大ランレングス値を実質的に超えるランレングスの１つ又は複数の出現を検出すること、
を含むことを特徴とする、方法。
【請求項４１】
前記エントロピー変更器（６０）を用いて、
少なくとも１つのエスケープ符号を用いることにより相互に類似するビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）を処理することを含むことを特徴とする、請求項４０に記載の方法。
【請求項４２】
前記エントロピー変更器（６０）を用いて、
複数のエスケープ符号を用いることにより相互に類似するビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）を処理することを含むことを特徴とする、請求項４１に記載の方法。
【請求項４３】
前記入力データ（Ｄ３又はＤ４）内にデータ値「０」として少なくとも１つのエスケープ符号を実装することを含むことを特徴とする、請求項４０、４１又は４２に記載の方法。
【請求項４４】
前記エントロピー変更器（６０）を用いて、
入力データビット（Ｄ３又はＤ４）のストリームの性質に応じて動的に変化する方式で前記最大ランレングス値（ＭａｘＲｕｎ）を用いることにより前記入力データビット（Ｄ３又はＤ４）のストリームを操作することを含むことを特徴とする、請求項４０から４３の何れか１項に記載の方法。
【請求項４５】
前記エントロピー変更器（６０）を用いて、
データビットの配列とは別に、前記入力データビット（Ｄ３又はＤ４）のストリームにおいて最初のビットの値の情報を操作することを含むことを特徴とする、請求項４０から４４の何れか１項に記載の方法。
【請求項４６】
前記エントロピー変更器（６０）を用いて、
前記前記入力データ（Ｄ３又はＤ４）に存在するデータ要素を復号し、かつ逆エントロピー変更を適用して復号されたビットストリームとして出力データ（Ｄ５）を生成することを含むことを特徴とする、請求項４０から４５の何れか１項に記載の方法。
【請求項４７】
前記エントロピー変更器（６０）を用いて、
類似するビットの連続量を表すデータ値の配列に対して別に符号化される最初のビットの値を操作することを含むことを特徴とする、請求項４５又は４６に記載の方法。
【請求項４８】
前記エントロピー変更器（６０）を用いて、
前記入力データビット（Ｄ３又はＤ４）のストリームを操作する１つ又は複数の符号化装置と協働して後処理をすることを含み、前記１つ又は複数の符号化装置が、ＯＤｅｌｔａコーダ、ＲＬＥコーダ、ＶＬＣコーダ、ハフマンコーダ、差分コーダ、算術コーダ、及びレンジコーダの１つ又は複数を含むことを特徴とする、請求項４０から４７の何れか１項に記載の方法。
【請求項４９】
前記エントロピー変更器（６０）を用いて、別々に符号化又は復号される複数の部分において前記入力データビット（Ｄ３又はＤ４）のストリームを操作することを含むことを特徴とする、請求項４０から４８の何れか１項に記載の方法。
【請求項５０】
前記エントロピー変更器（６０）を用いて、時間的に並列な方式で、即ち並列実行により、前記複数の部分を操作することを含むことを特徴とする、請求項４９に記載の方法。
【請求項５１】
前記エントロピー変更器（６０）を用いて、
前記部分の１つ又は複数に関し相互に異なる最大ランレングス値（ＭａｘＲｕｎ）を使用して、前記複数の部分を操作することを含むことを特徴とする、請求項４９又は５０に記載の方法。
【請求項５２】
前記エントロピー変更器（６０）を用いて、前記前記入力データ（Ｄ３又はＤ４）を展開してエントロピー変更出力データ（Ｄ５）を生成するデコーダ（５０、６０）として機能することを含むことを特徴とする、請求項４０から５１の何れか１項に記載の方法。
【請求項５３】
前記エントロピー変更器（６０）を用いて、前記前記入力データ（Ｄ３又はＤ４）に存在するシンボルを出力データ（Ｄ５）に存在するビットストリングに変換することを補助することを含むことを特徴とする、請求項４０から５２の何れか１項に記載の方法。
【請求項５４】
コンピュータハードウェアを備えるエントロピー変更器（６０）を実装することを含み、前記コンピュータハードウェアは、機械可読データ記憶媒体に記録された１つ又は複数のソフトウェアを実行することにより、前記入力データビット（Ｄ３又はＤ４）のストリームを処理して出力データ（Ｄ５）を生成するように動作可能であることを特徴とする、請求項４０から５３の何れか１項に記載の方法。
【請求項５５】
装置の処理手段に実行されることにより、前記装置に、請求項２８から５４のいずれかに記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データを受信し、かつ相応する出力データを生成するように動作可能であるエントロピー変更器であって、上記出力データのエントロピーは、例えばデータ圧縮及び／又はデータ展開を目的として、上記入力データのエントロピーに対して変更されたものであり、上記エントロピー変更器は、電子ハードウェア製品、及び／又は機械可読データ記憶媒体に保存され、かつコンピュータハードウェアで実行可能であるソフトウェア製品を用いて実装可能である、エントロピー変更器に関する。また、本発明は、入力データのエントロピーを変更し、対応出力データであって、入力データのエントロピーに対して変更された程度のエントロピーを有する対応出力データを生成する方法にも関する。さらに、本発明は、機械可読データ記憶媒体に記録されたソフトウェア製品であって、該ソフトウェア製品は、上記方法を実行するためにコンピュータハードウェアで実行可能である、ソフトウェア製品に関する。上記エントロピー変更器は、例えばデータ通信システム並びにメディア供給システム等のデータ供給システムの構成部品として有用である。
【背景】
【０００２】
概して、情報理論においては、「エントロピー」とは、確率変数における不確実性の尺度であり、例えば熱力学における連続体力学系や、例えばデータ通信システム等の情報システムに関連するものである。また、データ通信システムを背景とした場合においては、エントロピーは、より正確には「シャノンエントロピー」（Shannon entropy）を指し、この「シャノンエントロピー」については、クロード・Ｅ・シャノン（Claude E. Shannon）による「通信の数学的理論（"A Mathematical Theory of Communication"）」と云う１９４８年の科学論文が参照され、同科学論文の内容は本明細書に援用される。シャノンエントロピーは、所与のメッセージに含まれる情報の予想値を定量化するのに有用である。さらに、シャノンエントロピーは、ナット（nat）、バン（ban）、並びにビット（bit）を単位として表すことができる。
【０００３】
シャノンエントロピーは、所与の通信が、互いに独立であり、かつ同一の分布に従う確率変数の配列として容易に表すことができると仮定して、任意の通信に対して可能である最良の可逆符号化又は圧縮に関する絶対限界を提供する。さらに、シャノンの理論は、所与のアルファベットにおいて与えられたメッセージを符号化する最も短い可能な表現の平均長Ｌが、それらのエントロピーＥを上記アルファベットに存在するシンボルＮの数の対数で除した値であることを特定したものであり、即ち、式１に定義される通りである。
【０００４】
［式１］
2016514404.tif 000003
【０００５】
このように、エントロピーＥは、予測不可能性又は情報量の尺度である。可逆データ圧縮法においては、当該方法を対応する入力データに適用することによって生成された圧縮出力データは、入力データと同様の情報量を有するが、出力データに含まれるデータビットは、入力データと比較すると少ない。結果として、圧縮出力データは、その中に含まれる情報の冗長性はより低いものであることから、より予測不可能なものである。
【０００６】
シャノンの理論は、既知データ符号化装置の設計において考慮されている。例えば、国際特許出願の公報第ＷＯ２０１０／０５０１５７Ａ１（ＰＣＴ／ＪＰ２００９／００５５４８、「画像符号化装置、画像符号化方法、及び画像符号化プログラム」、出願人：トムソン・ライセンシング（Thomson Licensing））においては、符号化効率を低下させずに全体として画像の画像品質を均一化するよう動作可能であり、かつ高速で動作可能であり、かつスライス構造を変更せずにマクロブロック・シャッフリングを実行することで回路規模を小さくすることが可能である、画像符号化装置、画像符号化方法、及び画像符号化プログラムが記載されている。さらに、また、
（ｉ）画像の各位置に由来する画像データを構成する複数のマクロブロックを収集し、かつシャッフリングするシャッフリング部と、
（ｉｉ）上記シャッフリング部で収集し、かつシャッフリングした複数のマクロブロックに対して空間周波数変換（spatial frequency transformations）及びエントロピー符号化を実行する符号化部と、
（ｉｉｉ）上記符号化部を制御し、符号化が実行された後に上記複数のマクロブロックの割合を調整する割合制御部と、を備える画像符号化装置も提供されている。
【０００７】
データの種類に関わらず、当該データは、データ保存領域を必要とし、また、一つの領域位置から他の領域位置に移動される場合には通信ネットワーク容量における帯域幅も必要とする。そのような帯域幅は、実際には通信インフラの投資とエネルギーの利用に対応するものである。伝送されるデータ量は、今後は増加すると予測されており、より大きいデータ保存スペース及びより大きい通信システム容量が必要とされ、そしてまた、より多くのエネルギーがしばしば必要となる。現代のインターネットでは、膨大な量のデータが、しばしば複数のコピーにおいて保存されている。したがって、データを圧縮できる任意のアプローチによって、特にその圧縮が可逆である場合、潜在的に大きな技術的及び経済的利益が得られる。現在、データセット内のエントロピーを低減し、そのデータセットを圧縮する方法が幾つか知られている。さらに、データセットに存在するエントロピーを変更する方法、例えば、差分符号化（Delta coding）及びランレングス符号化（連長符号化、RLE：Run Length Encoding）が知られているが、データのより効果的な圧縮を提供する新しい方法が依然として必要とされている。 
【０００８】
このように、所与のデータに存在するエントロピーを低減することで該データを圧縮するためには利用可能な各種圧縮方法が多数存在し、例えば上述のＲＬＥ符号化やＶＬＣ符号化の他、ハフマン符号化（Huffman coding）、差分符号化（Delta coding）、算術符号化、及びレンジ符号化等がある。これらの方法は、典型的には、アルファベット、数字、バイト及びワードを圧縮するのに設計されたものである。しかしながら、理想的にはこれらの方法は、特に個々のビットを圧縮するには好適でなく、そのため、ビット単位方式で、例えばデータビットストリームにおいて変化し得るデータを圧縮するのには適していない。
【０００９】
従来のＲＬＥ符号化に関しては、所与の値、つまりビットも、又は該値、つまりビットが二つ、次いで、その後に多数の類似する値、つまり複数のビットも保存される。ＲＬＥは、選択的に適用され得るものであり、例えば、つまりその符号化は、それのみで、類似の値の数に関する既知のビット量を含む符号化ランに対して予定され得るものである。このようなＲＬＥの選択的適用は、同じ値が、それぞれの新規ランと共に、所与のデータストリームに一度又は二度再び入力されることを必要とする。しかしながら、データの種類に関わらず、データ圧縮に関し、データセットにおけるエントロピーを低減するより良好なアプローチが現在必要とされている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】ＷＯ２０１０／０５０１５７Ａ１（ＰＣＴ／ＪＰ２００９／００５５４８
【非特許文献】
【００１１】
【非特許文献１】クロード・Ｅ・シャノン（Claude E. Shannon）による「通信の数学的理論（"A Mathematical Theory of Communication"）」、１９４８年
【摘要】
【００１２】
本発明の第１の目的は、例えばデータ圧縮の向上を提供するために、エントロピー変更の改良を提供することにある。
【００１３】
本発明の第２の目的は、例えばデータ圧縮の向上を提供するために、エントロピー変更の改良法を提供することにある。
【００１４】
本発明の第１の態様によれば、添付の請求項１に記載のエントロピー変更器が提供され、即ち、ビット単位方式で第１エントロピーを有する入力データビット（Ｄ１）のストリームを符号化し、第２エントロピーを有する対応エントロピー変更出力データ（Ｄ２）を生成するように動作可能であるエントロピー変更器であって、
（ａ）該エントロピー変更器は、ビット単位方式で出力データ（Ｄ２）を生成するように動作可能であり、但し、出力データ（Ｄ２）は、出力データ（Ｄ２）に含まれる後続データに関する参照値として機能する最初のビットの情報を含むものとする、
（ｂ）出力データ（Ｄ２）は、入力データビット（Ｄ１）に存在する相互に類似のビットのランレングスを示すデータを更に含み、該相互に類似のビットのランレングスは、サイズにおいて実質的に制限されていることにより、最大ランレングス値（ＭａｘＲｕｎ）を超えることがなく、かつ
（ｃ）入力データ（Ｄ１）における上記最大ランレングス値（ＭａｘＲｕｎ）を実質的に超えるランレングスランレングスの１つ又は複数の出現が、出力データ（Ｄ２）に含まれる少なくとも１つのエスケープ符号によって示される、
エントロピー変更器が提供される。
【００１５】
本発明は、データのランレングス（連長；run length）表現を選択的に使用することにより、例えばデータ圧縮の強化など、エントロピー変更の強化を提供することを可能とする利点をもたらす。
【００１６】
任意に、相互に類似のビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）が複数のエスケープ符号によって制御されるように、上記エントロピー変更器が実装される。
【００１７】
利用される一種類のエスケープ符号解決手段は、最大ランレングス値、及び類似ビットの量が連続しているという表示を用いる。この種類の解決手段においては、全てのシンボルが１つのデータストリームとして符号化され得る。その他種類のエスケープ符号は、符号化されたシンボルから分離される多数の各種解決手段の利用を可能にし、また、最大ランレングス値より大きい類似ビットの連続量を表示する。この種類の解決手段は、２つの別々のストリームとして操作され得るものであるか、或は、該解決手段は、その数を表現する任意の値が最大ランより大きくなることがないように設計され得るものであり、その結果、それらは、同一のストリームのその他シンボルでも符号化され得る。また、その他エスケープ法も任意に利用される。
【００１８】
任意に、上記エントロピー変更器は、データ値「０」により出力データ（Ｄ２）内に少なくとも１つのエスケープ符号を実装するように動作可能である。
【００１９】
任意に、上記エントロピー変更器は、入力データビット（Ｄ１）のストリームの性質に応じて動的に変化する方式で最大ランレングス値（ＭａｘＲｕｎ）を用いて、入力データビット（Ｄ１）のストリームを操作するように動作可能である。
【００２０】
任意に、上記エントロピー変更器は、１つ又は複数の符号化装置における後続の圧縮により圧縮データ（Ｄ３）を生成するために、入力データ（Ｄ１）を出力データ（Ｄ２）にフォーマットするデータプリプロセッサとして機能するように動作可能である。
【００２１】
任意に、上記１つ又は複数の符号化装置は、ＯＤｅｌｔａコーダ、ＲＬＥコーダ、ＶＬＣコーダ、ハフマンコーダ、差分コーダ、算術コーダ、及びレンジコーダの１つ又は複数を含む。
【００２２】
任意に、上記エントロピー変更器は、別々に処理される複数の部分において入力データビット（Ｄ１）のストリームを操作するように動作可能である。さらに任意に、上記エントロピー変更器は、時間的に並列な方式で、即ち並列実行によって、上記複数の部分を操作するように動作可能である。さらに任意に、上記エントロピー変更器は、上記部分の１つ又は複数について相互に異なる最大ランレングス値（ＭａｘＲｕｎ）を用いることにより上記複数の部分を操作するように動作可能である。
【００２３】
最初のビットの情報は、独自のデータストリーム又はランレングス情報と同一のデータストリームの中に符号化してもよいし、或は、最初のビットの情報は、用いた符号化法の情報に含まれてもよいことが理解される。
【００２４】
任意に、上記エントロピー変更器は、入力データ（Ｄ１）のストリームを圧縮してエントロピー変更出力データ（Ｄ２又はＤ３）を生成するエンコーダとして機能するように実装されている。
【００２５】
任意に、上記エントロピー変更器は、入力データ（Ｄ１）に存在するビットストリングをエントロピー変更出力データ（Ｄ２又はＤ３）に存在するシンボルに変換することを補助するように動作可能である。
【００２６】
任意に、上記エントロピー変更器は、コンピュータハードウェアを備え、該コンピュータハードウェアは、機械可読データ記憶媒体に記録された１つ又は複数のソフトウェア製品を実行することにより、入力データビット（Ｄ１）のストリームを処理することで出力データ（Ｄ２）を生成するように動作可能である。
【００２７】
本発明の第２の態様によれば、第１エントロピーを有する入力データビット（Ｄ３又はＤ４）のストリームを復号し、第２エントロピーを有する対応エントロピー変更出力データ（Ｄ５）を生成するように動作可能であるエントロピー変更器であって、
（ａ）上記エントロピー変更器は、入力データ（Ｄ３又はＤ４）に含まれる後続データに関する参照値として機能する、その最初のビットの情報を用いることによって、ビット単位方式で入力データ（Ｄ３又はＤ４）を処理するように動作可能であり、
（ｂ）上記エントロピー変更器は、元データ（Ｄ１）に存在する相互に類似のビットのランレングスを示し、かつ入力データ（Ｄ３又はＤ４）に存在するデータを処理するように動作可能であり、上記相互に類似のビットのランレングスは、サイズにおいて実質的に制限されていることにより、最大ランレングス値（ＭａｘＲｕｎ）を超えることがなく、かつ
（ｃ）上記エントロピー変更器は、入力データ（Ｄ３又はＤ４）に含まれる少なくとも１つのエスケープ符号によって示される通り、元データ（Ｄ１）における最大ランレングス値を実質的に超えるランレングスの１つ又は複数の出現を検出するように動作可能である、エントロピー変更器が提供される。
【００２８】
任意に、上記エントロピー変更器は、少なくとも１つのエスケープ符号を用いることにより、相互に類似のビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）を処理するように動作可能である。さらに任意に、複数のエスケープ符号を用いることにより、相互に類似のビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）が処理されるように、上記エントロピー変更器は実装される。
【００２９】
任意に、上記少なくとも１つのエスケープ符号が、入力データ（Ｄ３又はＤ４）内でデータ値「０」として実装される。
【００３０】
利用される一種類のエスケープ符号解決手段は、最大ランレングス値、及び類似ビットの量が連続しているという表示を用いる。この種の解決手段においては、全てのシンボルを１つのデータストリームとして符号化することができ、同様に１つのデータストリームとして復号することができる。その他種類のエスケープ符号は、符号化されたシンボルから分離された多くの各種解決手段の利用を可能にし、最大ランレングス値より大きい類似ビット値の連続量を表現する。この種の解決手段は、２つの別々のストリームとして操作され得るものであるか、或は、該解決手段は、その数を表現する任意の値が最大ランより大きくなることがないように設計され得るものであり、その結果、それらは、同一のストリームのその他シンボルでも符号化され得る。また、その他エスケープ法も任意に利用される。
【００３１】
任意に、上記エントロピー変更器は、入力データビット（Ｄ３又はＤ４）のストリームの性質に応じて動的に変化する方式で上記最大ランレングス値（ＭａｘＲｕｎ）を用いて、入力データビット（Ｄ３又はＤ４）のストリームを操作するように動作可能である。
【００３２】
任意に、上記エントロピー変更器は、データビットの配列とは別に、入力データビット（Ｄ３又はＤ４）のストリームにおける最初のビットの値の情報を操作するように動作可能である。さらに任意に、上記エントロピー変更器は、類似するビットの連続量を表すデータ値の配列に対して別に符号化される最初のビットの値を操作するように動作可能である。
【００３３】
任意に、上記エントロピー変更器は、入力データ（Ｄ３又はＤ４）に存在するデータ要素を復号し、逆エントロピー変更を適用することにより、復号されたビットストリームとして出力データ（Ｄ５）を生成するように動作可能である。
【００３４】
任意に、上記エントロピー変更器は、入力データビット（Ｄ３又はＤ４）のストリームを操作する１つ又は複数の符号化装置と協働して後処理に利用され、上記１つ又は複数の符号化装置は、ＯＤｅｌｔａコーダ、ＲＬＥコーダ、ＶＬＣコーダ、ハフマンコーダ、差分コーダ、算術コーダ及びレンジコーダの１つ又は複数を含む。
【００３５】
任意に、上記エントロピー変更器は、別々に符号化又は復号された複数の部分において入力データビット（Ｄ３又はＤ４）のストリームを操作するように動作可能である。さらに任意に、上記エントロピー変更器は、時間的に並列の方式で、即ち並列実行により上記複数の部分を操作するように動作可能である。さらに任意に、エントロピー変更器は、上記部分の１つ又は複数について相互に異なる最大ランレングス値（ＭａｘＲｕｎ）を用いることにより、上記複数の部分を操作するように動作可能である。
【００３６】
任意に、上記エントロピー変更器は、入力データ（Ｄ３又はＤ４）を展開してエントロピー変更出力データ（Ｄ５）を生成するデコーダとして機能するように実装されている。
【００３７】
任意に、上記エントロピー変更器は、入力データ（Ｄ３又はＤ４）に存在するシンボルを出力データ（Ｄ５）に存在するビットストリングに変換することを補助するように動作可能である。
【００３８】
任意に、上記エントロピー変更器は、コンピュータハードウェアを備え、該コンピュータハードウェアは、機械可読データ記憶媒体に記録された１つ又は複数のソフトウェア製品を実行することにより、入力データビット（Ｄ３又はＤ４）のストリームを処理して出力データ（Ｄ５）を生成するように動作可能である。
【００３９】
本発明の第３の態様によれば、ビット単位方式で第１エントロピーを有する入力データビット（Ｄ１）のストリームを符号化するエントロピー変更器を用いることにより、第２エントロピーを有する対応エントロピー変更出力データ（Ｄ２）を生成する方法であって、
（ａ）ビット単位方式で出力データ（Ｄ２）を生成するエントロピー変更器を動作させること、但し、出力データ（Ｄ２）は、出力データ（Ｄ２）に含まれる後続データに関する参照値として機能する最初のビットの情報を含むものとする、
（ｂ）入力データビット（Ｄ１）に存在する相互に類似のビットのランレングスを示す更なるデータを出力データ（Ｄ２）に含めること、但し、上記相互に類似のビットのランレングスは、サイズにおいて実質的に制限されていることにより、最大ランレングス値（ＭａｘＲｕｎ）を超えることがない、並びに
（ｃ）出力データ（Ｄ２）に含まれる少なくとも１つのエスケープ符号によって、入力データ（Ｄ１）における最大ランレングス値を実質的に超えるランレングスの１つ又は複数の出現を示すこと、を含む方法が提供される。
【００４０】
任意に、上記方法は、複数のエスケープ符号を用いて相互に類似のビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）を制御することを含む。さらに任意に、上記方法は、入力データビット（Ｄ１）のストリームの性質に応じて動的に変化する方式で上記最大ランレングス値（ＭａｘＲｕｎ）を用いて入力データビット（Ｄ１）のストリームを操作するエントロピー変更器を用いることを含む。
【００４１】
任意に、上記方法は、データ値「０」により上記出力データ（Ｄ２）内に上記少なくとも１つのエスケープ符号を実装することを含む。
【００４２】
任意に、上記方法は、１つ又は複数の符号化装置（２０）における後続の圧縮により圧縮データ（Ｄ３）を生成するために、入力データ（Ｄ１）を出力データ（Ｄ２）にフォーマットするデータプリプロセッサとして機能するエントロピー変更器を用いることを含む。任意に、上記１つ又は複数の符号化装置は、ＯＤｅｌｔａコーダ、ＲＬＥコーダ、ＶＬＣコーダ、ハフマンコーダ、差分コーダ、算術コーダ、及びレンジコーダの１つ又は複数を含む。
【００４３】
任意に、上記方法は、別々に処理される複数の部分において入力データビット（Ｄ１）のストリームを操作するエントロピー変更器を用いることを含む。さらに任意に、上記方法は、時間的に並列な方式で、即ち並列実行により、上記複数の部分を操作するエントロピー変更器を用いることを含む。さらに任意に、上記方法は、上記部分の１つ又は複数に関し相互に異なる最大ランレングス値（ＭａｘＲｕｎ）を用いることによって上記複数の部分を操作するエントロピー変更器を用いることを含む。
【００４４】
任意に、上記方法は、入力データ（Ｄ１）を圧縮してエントロピー変更出力データ（Ｄ２又はＤ３）を生成するエンコーダとして機能するエントロピー変更器を実装することを含む。さらに任意に、上記方法は、入力データ（Ｄ１）に存在するビットストリングをエントロピー変更出力データ（Ｄ２又はＤ３）に存在するシンボルに変換することを補助するエントロピー変更器を用いることを含む。
【００４５】
任意に、上記方法は、コンピュータハードウェアを備えるエントロピー変更器を実装することを含み、上記コンピュータハードウェアは、機械可読データ記憶媒体に記録された１つ又は複数のソフトウェア製品を実行することにより、入力データビット（Ｄ１）のストリームを処理することで出力データ（Ｄ２）を生成するように動作可能である。
【００４６】
本発明の第４の態様によれば、第１エントロピーを有する入力データビット（Ｄ３又はＤ４）のストリームを復号するエントロピー変更器を用いることにより、第２エントロピーを有する対応エントロピー変更出力データ（Ｄ５）を生成する方法であって、
（ａ）入力データ（Ｄ３又はＤ４）に含まれる後続データに関する参照値として機能する最初のビットの情報を用いることによってビット単位方式で入力データ（Ｄ３又はＤ４）を処理するエントロピー変更器を用いること、
（ｂ）元データ（Ｄ１）に存在する相互に類似のビットのランレングスを示す、入力データ（Ｄ３又はＤ４）に存在するデータを処理するエントロピー変更器を用いること、但し、上記相互に類似のビットのランレングスは、サイズにおいて実質的に制限されていることにより、最大ランレングス値（ＭａｘＲｕｎ）を超えることがない、並びに
（ｃ）入力データ（Ｄ３又はＤ４）に含まれる少なくとも１つのエスケープ符号によって示される通り、元データ（Ｄ１）における最大ランレングス値を実質的に超えるランレングスの１つ又は複数の出現を検出するエントロピー変更器（６０）を用いること、
を含む方法が提供される。
【００４７】
任意に、上記方法は、少なくとも１つのエスケープ符号を用いることにより相互に類似するビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）を処理するエントロピー変更器を用いることを含む。さらに任意に、上記方法は、複数のエスケープ符号を用いることにより相互に類似するビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）を処理することを含む。
【００４８】
任意に、上記方法は、入力データ（Ｄ３又はＤ４）内にデータ値「０」として少なくとも１つのエスケープ符号を実装することを含む。
【００４９】
任意に、上記方法は、入力データビット（Ｄ３又はＤ４）のストリームの性質に応じて動的に変化する方式で上記最大ランレングス値（ＭａｘＲｕｎ）を用いることにより入力データビット（Ｄ３又はＤ４）のストリームを操作するエントロピー変更器を用いることを含む。
【００５０】
任意に、上記方法は、データビットの配列とは別に、入力データビット（Ｄ３又はＤ４）のストリームにおいて最初のビットの値の情報を操作するエントロピー変更器を用いることを含む。さらに任意に、上記方法は、類似するビットの連続量を表すデータ値の配列に対して別に符号化される最初のビットの値を操作するエントロピー変更器を用いることを含む。
【００５１】
任意に、上記方法は、入力データ（Ｄ３又はＤ４）に存在するデータ要素を復号し、かつ逆エントロピー変更を適用して復号されたビットストリームとして出力データ（Ｄ５）を生成するエントロピー変更器を用いることを含む。
【００５２】
任意に、上記方法は、入力データビット（Ｄ３又はＤ４）のストリームを操作する１つ又は複数の符号化装置と協働して後処理をするエントロピー変更器（６０）を用いることを含み、上記１つ又は複数の符号化装置が、ＯＤｅｌｔａコーダ、ＲＬＥコーダ、ＶＬＣコーダ、ハフマンコーダ、差分コーダ、算術コーダ、及びレンジコーダの１つ又は複数を含む。
【００５３】
任意に、上記方法は、別々に処理される複数の部分において入力データビット（Ｄ３又はＤ４）のストリームを操作するエントロピー変更器を用いることを含む。さらに任意に、上記方法は、時間的に並列な方式で、即ち並列実行により、上記複数の部分を操作するエントロピー変更器を用いることを含む。さらに任意に、上記方法は、上記部分の１つ又は複数に関し相互に異なる最大ランレングス値（ＭａｘＲｕｎ）を用いることによって、上記複数の部分を操作するエントロピー変更器を用いることを含む。
【００５４】
デコーダは、独自のデータストリーム又はランレングス情報と同一のデータストリームから最初のビットの値の情報を取得するか、或は、当該情報は、用いた符号化装置（単数又は複数）の情報に含まれ得ることが理解される。
【００５５】
任意に、上記方法は、入力データ（Ｄ３又はＤ４）を展開してエントロピー変更出力データ（Ｄ５）を生成するデコーダとして機能するエントロピー変更器を用いることを含む。
【００５６】
任意に、上記方法は、入力データ（Ｄ３又はＤ４）に存在するシンボルを出力データ（Ｄ５）に存在するビットストリングに変換することを補助するエントロピー変更器を用いることを含む。
【００５７】
任意に、上記方法は、コンピュータハードウェアを備えるエントロピー変更器を実装することを含み、上記コンピュータハードウェアは、機械可読データ記憶媒体に記録された１つ又は複数のソフトウェア製品を実行することにより、入力データビット（Ｄ３又はＤ４）のストリームを処理して出力データ（Ｄ５）を生成するように動作可能である。
【００５８】
本発明の第５の態様によれば、機械可読データ記憶媒体に記録されたソフトウェア製品であって、該ソフトウェア製品は、本発明の第３の態様による方法を実施するためにコンピュータハードウェアで実行可能である、ソフトウェア製品が提供される。
【００５９】
本発明の第６の態様によれば、機械可読データ記憶媒体に記録されたソフトウェア製品であって、該ソフトウェア製品は、本発明の第４の態様による方法を実施するためにコンピュータハードウェアで実行可能である、ソフトウェア製品が提供される。
【００６０】
本開示の更なる態様、利点、特徴及び目的は、以下に続く、添付の特許請求の範囲と併せて解釈される例示実施形態の図面及び詳細な説明により明らかになるであろう。
【００６１】
本発明の特徴は、添付の特許請求の範囲によって規定される本発明の要旨から逸脱することなく、各種組合せにおいて組み合わされ得ることが理解される。
【００６２】
本発明の実施形態について、以下の図面を参照することにより単なる例として説明する。
【図面の簡単な説明】
【００６３】
【図１】本発明によるエントロピー変更器を備えるコーデックシステムの図である。
【実施形態の詳細説明】
【００６４】
付随する図において、下線のある数字が、その下線のある数字が付され、又はその下線のある数字が隣接する対象を表すのに利用されている。下線のない数字は、線によって特定される対象に関するものであり、その線はその下線のない数字を該対象に結び付けている。
【００６５】
第１の態様において、本発明の実施形態によれば、ビット単位方式で第１エントロピーを有する入力データビット（Ｄ１）のストリームを符号化し、第２エントロピーを有する対応エントロピー変更出力データ（Ｄ２）を生成するように動作可能であるエントロピー変更器であって、
（ａ）該エントロピー変更器は、ビット単位方式で出力データ（Ｄ２）を生成するように動作可能であり、但し、出力データ（Ｄ２）は、出力データ（Ｄ２）に含まれる後続データに関する参照値として機能する最初のビットの情報を含むものとする、
（ｂ）出力データ（Ｄ２）は、入力データビット（Ｄ１）に存在する相互に類似のビットのランレングスを示すデータを更に含み、該相互に類似のビットのランレングスは、サイズにおいて実質的に制限されていることにより、最大ランレングス値（ＭａｘＲｕｎ）を超えることがなく、かつ
（ｃ）入力データ（Ｄ１）における上記最大ランレングス値（ＭａｘＲｕｎ）を実質的に超えるランレングスの１回以上の出現が、出力データ（Ｄ２）に含まれる少なくとも１つのエスケープ符号によって示される、
エントロピー変更器が提供される。
【００６６】
本発明は、データのランレングス（連長；run length）表現を選択的に使用することにより、例えばデータ圧縮の強化など、エントロピー変更の強化を提供することを可能とする利点をもたらす。
【００６７】
任意に、相互に類似のビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）が複数のエスケープ符号によって制御されるように、上記エントロピー変更器が実装される。
【００６８】
利用される一種類のエスケープ符号解決手段は、最大ランレングス値、及び類似ビットの量が連続しているという表示を用いる。この種類の解決手段においては、全てのシンボルが１つのデータストリームとして符号化され得る。その他種類のエスケープ符号は、符号化されたシンボルから分離される多数の各種解決手段の利用を可能にし、また、最大ランレングス値より大きい類似ビットの連続量を表現する。この種類の解決手段は、２つの別々のストリームとして操作され得るものであるか、或は、該解決手段は、その数を表示する任意の値が最大ランより大きくなることがないように設計され得るものであり、その結果、それらは、同一のストリームのその他シンボルでも符号化され得る。また、その他エスケープ法も任意に利用される。
【００６９】
任意に、上記エントロピー変更器は、データ値「０」により出力データ（Ｄ２）内に少なくとも１つのエスケープ符号を実装するように動作可能である。
【００７０】
任意に、上記エントロピー変更器は、入力データビット（Ｄ１）のストリームの性質に応じて動的に変化する方式で最大ランレングス値（ＭａｘＲｕｎ）を用いて、入力データビット（Ｄ１）のストリームを操作するように動作可能である。
【００７１】
任意に、上記エントロピー変更器は、１つ又は複数の符号化装置における後続の圧縮により圧縮データ（Ｄ３）を生成するために、入力データ（Ｄ１）を出力データ（Ｄ２）にフォーマットするデータプリプロセッサとして機能するように動作可能である。
【００７２】
任意に、上記１つ又は複数の符号化装置は、ＯＤｅｌｔａコーダ、ＲＬＥコーダ、ＶＬＣコーダ、ハフマンコーダ、差分コーダ、算術コーダ、及びレンジコーダの１つ又は複数を含む。
【００７３】
任意に、上記エントロピー変更器は、別々に処理される複数の部分において入力データビット（Ｄ１）のストリームを操作するように動作可能である。さらに任意に、上記エントロピー変更器は、時間的に並列な方式で、即ち並列実行によって、上記複数の部分を操作するように動作可能である。さらに任意に、上記エントロピー変更器は、上記部分の１つ又は複数について相互に異なる最大ランレングス値（ＭａｘＲｕｎ）を用いることにより上記複数の部分を操作するように動作可能である。
【００７４】
最初のビットの情報は、独自のデータストリーム又ランレングス情報と同一のデータストリームの中に符号化してもよいし、或は、最初のビットの情報は、用いた符号化法の情報に含まれてもよいことが理解される。
【００７５】
任意に、上記エントロピー変更器は、入力データ（Ｄ１）のストリームを圧縮してエントロピー変更出力データ（Ｄ２又はＤ３）を生成するエンコーダとして機能するように実装されている。
【００７６】
任意に、上記エントロピー変更器は、入力データ（Ｄ１）に存在するビットストリングをエントロピー変更出力データ（Ｄ２又はＤ３）に存在するシンボルに変換することを補助するように動作可能である。
【００７７】
任意に、上記エントロピー変更器は、コンピュータハードウェアを備え、該コンピュータハードウェアは、機械可読データ記憶媒体に記録された１つ又は複数のソフトウェア製品を実行することにより、入力データビット（Ｄ１）のストリームを処理することで出力データ（Ｄ２）を生成するように動作可能である。
【００７８】
第２の態様において、本発明の実施形態によれば、第１エントロピーを有する入力データビット（Ｄ３又はＤ４）のストリームを復号し、第２のエントロピーを有する対応エントロピー変更出力データ（Ｄ５）を生成するように動作可能であるエントロピー変更器であって、
（ａ）上記エントロピー変更器は、入力データ（Ｄ３又はＤ４）に含まれる後続データに関する参照値として機能する、その最初のビットの情報を用いることによって、ビット単位方式で入力データ（Ｄ３又はＤ４）を処理するように動作可能であり、
（ｂ）上記エントロピー変更器は、元データ（Ｄ１）に存在する相互に類似のビットのランレングスを示し、かつ入力データ（Ｄ３又はＤ４）に存在するデータを処理するように動作可能であり、上記相互に類似のビットのランレングスは、サイズにおいて実質的に制限されていることにより、最大ランレングス値（ＭａｘＲｕｎ）を超えることがなく、かつ
（ｃ）上記エントロピー変更器は、入力データ（Ｄ３又はＤ４）に含まれる少なくとも１つのエスケープ符号によって示される通り、元データ（Ｄ１）における最大ランレングス値を実質的に超えるランレングスの１つ又は複数の出現を検出するように動作可能である、エントロピー変更器が提供される。
【００７９】
任意に、上記エントロピー変更器は、少なくとも１つのエスケープ符号を用いることにより、相互に類似のビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）を処理するように動作可能である。さらに任意に、複数のエスケープ符号を用いることにより、相互に類似のビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）が処理されるように、上記エントロピー変更器は実装される。
【００８０】
任意に、上記少なくとも１つのエスケープ符号が、入力データ（Ｄ３又はＤ４）内でデータ値「０」として実装される。
【００８１】
利用される一種類のエスケープ符号解決手段は、最大ランレングス値、及び類似ビットの量が連続しているという表示を用いる。この種の解決手段においては、全てのシンボルを１つのデータストリームとして符号化することができ、同様に１つのデータストリームとして復号することができる。その他種類のエスケープ符号は、符号化されたシンボルから分離された多くの各種解決手段の利用を可能にし、最大ランレングス値より大きい類似ビットの連続量を表現する。この種の解決手段は、２つの別々のストリームとして操作され得るものであるか、或は、該解決手段は、その数を表示する任意の値が最大ランより大きくなることがないように設計され得るものであり、その結果、それらは、同一のストリームのその他シンボルでも符号化され得る。また、その他エスケープ法も任意に利用される。
【００８２】
任意に、上記エントロピー変更器は、入力データビット（Ｄ３又はＤ４）のストリームの性質に応じて動的に変化する方式で上記最大ランレングス値（ＭａｘＲｕｎ）を用いて、入力データビット（Ｄ３又はＤ４）のストリームを操作するように動作可能である。
【００８３】
任意に、上記エントロピー変更器は、データビットの配列とは別に、入力データビット（Ｄ３又はＤ４）のストリームにおける最初のビットの値の情報を操作するように動作可能である。さらに任意に、上記エントロピー変更器は、類似するビットの連続量を表すデータ値の配列に対して別に符号化される最初のビットの値を操作するように動作可能である。
【００８４】
任意に、上記エントロピー変更器は、入力データ（Ｄ３又はＤ４）に存在するデータ要素を復号し、逆エントロピー変更を適用することにより、復号されたビットストリームとして出力データ（Ｄ５）を生成するように動作可能である。
【００８５】
任意に、上記エントロピー変更器は、入力データビット（Ｄ３又はＤ４）のストリームを操作する１つ又は複数の符号化装置と協働して後処理に利用され、上記１つ又は複数の符号化装置は、ＯＤｅｌｔａコーダ、ＲＬＥコーダ、ＶＬＣコーダ、ハフマンコーダ、差分コーダ、算術コーダ及びレンジコーダの１つ又は複数を含む。
【００８６】
任意に、上記エントロピー変更器は、別々に符号化又は復号された複数の部分において入力データビット（Ｄ３又はＤ４）のストリームを操作するように動作可能である。さらに任意に、上記エントロピー変更器は、時間的に並列の方式で、即ち並列実行により上記複数の部分を操作するように動作可能である。さらに任意に、エントロピー変更器は、上記部分の１つ又は複数について相互に異なる最大ランレングス値（ＭａｘＲｕｎ）を用いることにより、上記複数の部分を操作するように動作可能である。
【００８７】
任意に、上記エントロピー変更器（６０）は、入力データ（Ｄ３又はＤ４）を展開してエントロピー変更出力データ（Ｄ５）を生成するデコーダとして機能するように実装されている。
【００８８】
任意に、上記エントロピー変更器（６０）は、入力データ（Ｄ３又はＤ４）に存在するシンボルを出力データ（Ｄ５）に存在するビットストリングに変換することを補助するように動作可能である。
【００８９】
任意に、上記エントロピー変更器は、コンピュータハードウェアを備え、該コンピュータハードウェアは、機械可読データ記憶媒体に記録された１つ又は複数のソフトウェア製品を実行することにより、入力データビット（Ｄ３又はＤ４）のストリームを処理して出力データ（Ｄ５）を生成するように動作可能である。
【００９０】
第３の態様において、本発明の実施形態によれば、ビット単位方式で第１エントロピーを有する入力データビット（Ｄ１）のストリームを符号化するエントロピー変更器を用いることにより、第２のエントロピーを有する対応エントロピー変更出力データ（Ｄ２）を生成する方法であって、
（ａ）ビット単位方式で出力データ（Ｄ２）を生成するエントロピー変更器を動作させること、但し、出力データ（Ｄ２）は、出力データ（Ｄ２）に含まれる後続データに関する参照値として機能する最初のビットの情報を含むものとする、
（ｂ）入力データビット（Ｄ１）に存在する相互に類似のビットのランレングスを示す更なるデータを出力データ（Ｄ２）に含めること、但し、上記相互に類似のビットのランレングスは、サイズにおいて実質的に制限されていることにより、最大ランレングス値（ＭａｘＲｕｎ）を超えることがない、並びに
（ｃ）出力データ（Ｄ２）に含まれる少なくとも１つのエスケープ符号によって、入力データ（Ｄ１）における最大ランレングス値を実質的に超えるランレングスの１つ又は複数の出現を示すこと、を含む方法が提供される。
【００９１】
任意に、上記方法は、複数のエスケープ符号を用いて相互に類似のビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）を制御することを含む。さらに任意に、上記方法は、入力データビット（Ｄ１）のストリームの性質に応じて動的に変化する方式で上記最大ランレングス値（ＭａｘＲｕｎ）を用いて入力データビット（Ｄ１）のストリームを操作するエントロピー変更器を用いることを含む。
【００９２】
任意に、上記方法は、データ値「０」により上記出力データ（Ｄ２）内に上記少なくとも１つのエスケープ符号を実装することを含む。
【００９３】
任意に、上記方法は、１つ又は複数の符号化装置（２０）における後続の圧縮により圧縮データ（Ｄ３）を生成するために、入力データ（Ｄ１）を出力データ（Ｄ２）にフォーマットするデータプリプロセッサとして機能するエントロピー変更器を用いることを含む。任意に、上記１つ又は複数の符号化装置は、ＯＤｅｌｔａコーダ、ＲＬＥコーダ、ＶＬＣコーダ、ハフマンコーダ、差分コーダ、算術コーダ、及びレンジコーダの１つ又は複数を含む。
【００９４】
任意に、上記方法は、別々に処理される複数の部分において入力データビット（Ｄ１）のストリームを操作するエントロピー変更器を用いることを含む。さらに任意に、上記方法は、時間的に並列な方式で、即ち並列実行により、上記複数の部分を操作するエントロピー変更器を用いることを含む。さらに任意に、上記方法は、上記部分の１つ又は複数に関し相互に異なる最大ランレングス値（ＭａｘＲｕｎ）を使用して上記複数の部分を操作するエントロピー変更器を用いることを含む。
【００９５】
任意に、上記方法は、入力データ（Ｄ１）を圧縮してエントロピー変更出力データ（Ｄ２又はＤ３）を生成するエンコーダとして機能するエントロピー変更器を実装することを含む。さらに任意に、上記方法は、入力データ（Ｄ１）に存在するビットストリングをエントロピー変更出力データ（Ｄ２又はＤ３）に存在するシンボルに変換することを補助するエントロピー変更器を用いることを含む。
【００９６】
任意に、上記方法は、コンピュータハードウェアを備えるエントロピー変更器を実装することを含み、上記コンピュータハードウェアは、機械可読データ記憶媒体に記録された１つ又は複数のソフトウェア製品を実行することにより、入力データビット（Ｄ１）のストリームを処理することで出力データ（Ｄ２）を生成するように動作可能である。
【００９７】
第４の態様において、本発明の実施形態によれば、第１エントロピーを有する入力データビット（Ｄ３又はＤ４）のストリームを復号するエントロピー変更器を用いることにより、第２エントロピーを有する対応エントロピー変更出力データ（Ｄ５）を生成する方法であって、
（ａ）入力データ（Ｄ３又はＤ４）に含まれる後続データに関する参照値として機能する最初のビットの情報を使用してビット単位方式で入力データ（Ｄ３又はＤ４）を処理するエントロピー変更器（６０）を用いること、
（ｂ）元データ（Ｄ１）に存在する相互に類似のビットのランレングスを示し、かつ入力データ（Ｄ３又はＤ４）に存在するデータを処理するエントロピー変更器を用いること、但し、上記相互に類似のビットのランレングスは、サイズにおいて実質的に制限されていることにより、最大ランレングス値（ＭａｘＲｕｎ）を超えることがない、並びに
（ｃ）入力データ（Ｄ３又はＤ４）に含まれる少なくとも１つのエスケープ符号によって示される通り、元データ（Ｄ１）における最大ランレングス値を実質的に超えるランレングスの１つ又は複数の出現を検出するエントロピー変更器を用いること、
を含む方法が提供される。
【００９８】
任意に、上記方法は、少なくとも１つのエスケープ符号を用いることにより相互に類似するビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）を処理するエントロピー変更器を用いることを含む。さらに任意に、上記方法は、複数のエスケープ符号を用いることにより相互に類似するビットの群の１つ又は複数の最大ランレングス（ＭａｘＲｕｎ）を処理することを含む。
【００９９】
任意に、上記方法は、入力データ（Ｄ３又はＤ４）内にデータ値「０」として少なくとも１つのエスケープ符号を実装することを含む。
【０１００】
任意に、上記方法は、入力データビット（Ｄ３又はＤ４）のストリームの性質に応じて動的に変化する方式で上記最大ランレングス値（ＭａｘＲｕｎ）を用いることにより入力データビット（Ｄ３又はＤ４）のストリームを操作するエントロピー変更器を用いることを含む。
【０１０１】
任意に、上記方法は、データビットの配列とは別に、入力データビット（Ｄ３又はＤ４）のストリームにおいて最初のビットの値の情報を操作するエントロピー変更器を用いることを含む。さらに任意に、上記方法は、類似するビットの連続量を表すデータ値の配列に対して別に復号される最初のビットの値を操作するエントロピー変更器を用いることを含む。
【０１０２】
任意に、上記方法は、入力データ（Ｄ３又はＤ４）に存在するデータ要素を復号し、かつ逆エントロピー変更を適用して復号されたビットストリームとして出力データ（Ｄ５）を生成するエントロピー変更器を用いることを含む。
【０１０３】
任意に、上記方法は、入力データビット（Ｄ３又はＤ４）のストリームを操作する１つ又は複数の符号化装置と協働して後処理をするエントロピー変更器を用いることを含み、上記１つ又は複数の符号化装置が、ＯＤｅｌｔａコーダ、ＲＬＥコーダ、ＶＬＣコーダ、ハフマンコーダ、差分コーダ、算術コーダ、及びレンジコーダの１つ又は複数を含む。
【０１０４】
任意に、上記方法は、別々に処理される複数の部分において入力データビット（Ｄ３又はＤ４）のストリームを操作するエントロピー変更器を用いることを含む。さらに任意に、上記方法は、時間的に並列な方式で、即ち並列実行により、上記複数の部分を操作するエントロピー変更器を用いることを含む。さらに任意に、上記方法は、上記部分の１つ又は複数に関し相互に異なる最大ランレングス値（ＭａｘＲｕｎ）を使用して、上記複数の部分を操作するエントロピー変更器を用いることを含む。
【０１０５】
デコーダは、独自のデータストリーム又はランレングス情報と同一のデータストリームから最初のビットの値の情報を取得するか、或は、当該情報は、用いた符号化装置（単数又は複数）の情報に含まれ得ることが理解される。
【０１０６】
任意に、上記方法は、入力データ（Ｄ３又はＤ４）を展開してエントロピー変更出力データ（Ｄ５）を生成するデコーダとして機能するエントロピー変更器を用いることを含む。
【０１０７】
任意に、上記方法は、入力データ（Ｄ３又はＤ４）に存在するシンボルを出力データ（Ｄ５）に存在するビットストリングに変換することを補助するエントロピー変更器を用いることを含む。
【０１０８】
任意に、上記方法は、コンピュータハードウェアを備えるエントロピー変更器を実装することを含み、上記コンピュータハードウェアは、機械可読データ記憶媒体に記録された１つ又は複数のソフトウェア製品を実行することにより、入力データビット（Ｄ３又はＤ４）のストリームを処理して出力データ（Ｄ５）を生成するように動作可能である。
【０１０９】
第５の態様において、本発明の実施形態によれば、機械可読データ記憶媒体に記録されたソフトウェア製品であって、該ソフトウェア製品は、本開示の第３の態様による方法を実施するためにコンピュータハードウェアで実行可能である、ソフトウェア製品が提供される。
【０１１０】
第６の態様において、本発明の実施形態によれば、機械可読データ記憶媒体に記録されたソフトウェア製品であって、該ソフトウェア製品は、本開示の第４の態様による方法を実施するためにコンピュータハードウェアで実行可能であることを特徴とする、ソフトウェア製品が提供される。
【０１１１】
次に、本開示の実施形態について図面を参照して説明する。
【０１１２】
概して、本発明は、エントロピー変更器に関するものである。図１を参照すると、入力データ（Ｄ１）は、該入力データ（Ｄ１）を変換して対応する変換データ（Ｄ２）を生成する第１エントロピー変更器１０に供給され、該変換データ（Ｄ２）は、第１エントロピー変更器１０において利用される変換の性質に応じて、入力データ（Ｄ１）に対してサイズが任意に相互に異なり、かつ入力データ（Ｄ１）に対してエントロピーが低減されている。任意に、変換データ（Ｄ２）は、符号化ステージ２０を介して更に符号化されることにより、最終符号化出力データ（Ｄ３）を生成するが、符号化ステージ２０が利用されない場合は、変換データ（Ｄ２）と出力データ（Ｄ３）とは相互に類似する。符号化出力データ（Ｄ３）は、データメモリ３０に格納されるか、及び／又はデータ通信ネットワーク４０を介して送信される。さらに、出力データ（Ｄ３）は、第２エントロピー変更器６０に直接伝達されるか、或は、データ（Ｄ４）がデータ（Ｄ２）と実質的に類似するように上記符号化ステージ２０が利用される場合には、出力データ（Ｄ３）は、復号ステージ５０を介して第２エントロピー変更器６０に任意に伝達される。第２エントロピー変更器６０は、入力データ（Ｄ１）と実質的に類似する復号出力データ（Ｄ５）を生成する。このように、第１エントロピー変更器１０と第２エントロピー変更器６０は、例えばコーデック構成において、相互に逆のエントロピー変更操作を実行する。
【０１１３】
任意に、第１及び第２のエントロピー変更器１０、６０は、これらを介して、複数の並列データストリームとしてデータを処理することにより、より高速なエントロピー変更、例えばより高速な符号化及び／又は復号を達成するように動作可能である。このような複数の並列データストリームを用いたより高速な処理は、例えばケーブルＴＶサービスを提供するインターネットサーバ等のデータサーバからストリーミング配信される動画コンテンツなど、大容量のデータを操作する場合に有利になる。
【０１１４】
従って、第１エントロピー変更器１０は、入力データ（Ｄ１）に存在するビットストリームを取り込み、それらから、入力データ（Ｄ１）のエントロピーと比較してエントロピーが低減されたデータ要素を生成する。それらの改変データ要素は、任意に、符号化ステージ２０において可変長符号化（Ｖａｒｉａｂｌｅ−Ｌｅｎｇｔｈ−Ｃｏｄｉｎｇ；ＶＬＣ）、ハフマン符号化（Ｈｕｆｆｍａｎ ｃｏｄｉｎｇ）、算術符号化（Ａｒｉｔｈｍｅｔｉｃ ｃｏｄｉｎｇ）、レンジ符号化（Ｒａｎｇｅ ｃｏｄｉｎｇ）、ランレングス符号化（Ｒｕｎ−Ｌｅｎｇｔｈ−Ｅｎｃｏｄｉｎｇ；ＲＬＣ）等の方法を利用することによって更に符号化される。第１エントロピー変更器１０内で実行されるエントロピー変更は、可逆的であり、かつ有利には可逆であり、この事は第２エントロピー変更器６０においても同様に当てはまる。さらに、第１エントロピー変更器１０内で実行されるエントロピー変更は、少なくとも、ビット値の何れの変更の後も類似ビットの連続量を含む新規データ要素を保存するものである。
【０１１５】
上述のエントロピー低減を実行する場合、任意の配列にける最初のビットの表示が提供されなければならない。さらにまた、データ要素が圧縮される場合には、限られた数の符号を利用してデータ要素を表すことを可能にするエスケープ符号、即ち、最大ランレングス値（ＭａｘＲｕｎ）も提供されなければならない。任意に、エスケープ符号は数字「０」によって表され、エスケープ符号は、データ要素が表し得る最高値、即ち、最大ランレングス値（ＭａｘＲｕｎ）を示し、さらにビット値が連続しているという情報を伝える。有利には、本発明の実施形態を実施する場合、ビットの最大ランに対応する１つ又は複数の符号が、データ及びその特性に応じて変化し、換言すれば、その最大ランに対応する１つ又は複数の符号を、圧縮されるデータに応じて適応的に変化させる。任意に、エントロピー変更器１０、６０は、例えば、１ビットのデータに対して演算するＯＤｅｌｔａ演算子（ＯＤｅｌｔａ ｏｐｅｒａｔｏｒ）等の前処理及び後処理の方法を利用する。しかしながら、エントロピー変更器１０、６０については、それらを介して処理されるデータは、あらゆる種類のものであることが可能であり、例えば画像データ、動画データ、音声データ、参照データ、マスク、分割ビット、符号ビット、及び圧縮データ、即ちビットで処理され得る任意の種類のデータが挙げられる。任意に、任意のデータのバイト又はワードが、ビットを含むストリームに挿入されることが可能であり、エントロピー変更器１０、６０を介して処理され得る。以下、「エントロピー変更器」（"entropy modifier"）及び「逆エントロピー変更器」（"inverse entropy modifier"）は、それぞれＥＭ、及びＩＥＭと略され、即ち、これらは、それぞれデータ圧縮及びデータ展開の提供に用いるためのものであって、つまり、それぞれ第１及び第２のエントロピー変更器１０、６０を介して実行されるものである。 
【０１１６】
エントロピー変更器１０、６０は、任意に、機械可読データ記憶媒体９０に記録された１つ又は複数のソフトウェア製品８０を実行し、本発明による方法を実施するように動作可能であるコンピュータハードウェア（ＣＰＵ）７０を用いて実装される。
【０１１７】
以下、本発明の実施形態をより詳細に説明する。エントロピー変更器１０、６０は、例えばデータビットストリームに存在する０又は１の最大ラン数を定義する１つのパラメータを利用する。さらに、エントロピー変更器１０、６０は、ビットストリームにおけるビットランがビットストリームにおける最大ランよりも大きい場合に用いられるエスケープ要素も利用する。有利には、最大ランレングスＬが、以下の列において１つ又は複数に設定される。
【０１１８】
［式２］
2016514404.tif 000004
【０１１９】
式中、ｎは、値ｎ＝２、３、・・・となる整数である。
これは、列Ｌ＝３、７、１５、３１、・・・に対応するが、有利には１より大きい任意の数である。有利には、エスケープ要素は、値「０」となるように選択されるが、これは、本発明を実施する場合、複数の０の類似ビットは不可能だからである。類似ビットの数が、上記のように１カウントだけ減少した場合、エスケープ要素は、有利には最大ランであることが理解される。エントロピー変更器１０は、ビットストリームの圧縮が望まれる場合、ストリームにおける最初のビットが既知であることを必要とし、その結果、対応する圧縮ビットストリームは、後にエントロピー変更器６０において、可逆的に復号、つまり展開することできる。
【０１２０】
本発明の実施形態を更に明確にするために、以下に一例について述べる。以下は、最大ランレングスが３ビットであり、かつエスケープ符号が「０」である場合に本発明によるエントロピーの符号化が機能した方式の第１の例である。
【０１２１】
元のビットストリームは以下の通りである。
【０１２２】
0 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1
【０１２３】
上記ビットストリームは、ストリーム全体で２６ビットを含み、１６個の「１」と１０個の「０」が存在する。
【０１２４】
上記元ビットストリームに関連するエントロピーＥは、以下の通り算出可能である。
【０１２５】
［式３］
2016514404.tif 000005
【０１２６】
式３より、このような関連エントロピーＥを有する元ビットストリームを符号化するのに必要とされるビット最小数ＭＢは、以下の情報源符号化定理に従って算出可能である。
【０１２７】
［式４］
2016514404.tif 000006
【０１２８】
上述の元ビットストリームは、本発明による方法を適用することで符号化可能であり、以下の対応する符号配列を生成する。
【０１２９】
最初のビット値は「０」であり、類似するビットの連続量（＝エントロピー変更されたシンボル）は、以下の通りである。
【０１３０】
1 2 2 7 4 1 3 6
【０１３１】
エスケープシンボル「０」が、０（エスケープ）から３（最大ランレングス）までの４つの異なる値に各種シンボルの数を制限するのに用いられ、かつストリームに最初のビット値を最初のシンボルとして加えた場合、以下が取得される。
【０１３２】
0 1 2 2 0 0 1 0 1 1 3 0 3
【０１３３】
上記は、ストリーム全体で１３個の符号を含み、５個の「０」、４個の「１」、２個の「２」、及び２個の「３」が存在する。
【０１３４】
この符号ストリームに関連するエントロピーＥは、以下の通り算出可能である。
【０１３５】
［式５］
2016514404.tif 000007
【０１３６】
式５より、このようなエントロピーＥを可逆方式で提示するビット最小数ＭＢは、以下の通り算出可能である。
【０１３７】
［式６］
2016514404.tif 000008
【０１３８】
符号の列におけるエントロピーが元のビットストリームより小さく、かつ、符号の列を表現するのに必要なビットが少なくなることが理解される。任意に、エントロピー変更符号列は、表１に概要を示す通り生成される。
【０１３９】
［表１］エントロピー変更符号の逆
2016514404.tif 000009
【０１４０】
表１は、単なる例であり、本発明の実施形態を実施する上では、多数の代替例が生成され得る。例えば、他の最大ランレングス値及び他のエスケープ符号が利用され得る。さらに、最初のビットは、任意に、別に挿入され、その場合、有意な程度では、利用される実際の符号、並びにそれらに関連する圧縮に影響を及ぼすことがない。
【０１４１】
任意に、エントロピー変更器１０、６０は、特定の状況においてはエントロピーを増加させるように動作可能であり、これは、それゆえに、エントロピー変更器１０、６０からの出力データを例えば信号監視装置を用いて監視し、採用した符号化レジームが望ましい程度のデータ圧縮を提供するか否かを判定するのに有利である。伝送される所与の種類のデータに関してエントロピーが増加されるイベントにおいては、信号監視装置は、エントロピー変更器１０、６０を介したエントロピーの望まれる改変が操作において達成されることを確実にするような適応的な方式でエントロピー変更器１０、６０の動作を制御するのに利用され得る。例えば、所与の種類のデータについて、最適なデータ圧縮を獲得するために利用される最大ランの最適値をサーチすることを目的としてデータストリームの符号化を開始する場合、エントロピー変更器１０を、１つ又は複数の試験符号化レジームを適用するのに用いることが望ましく、最大ランは、エントロピーＥに大きな影響を及ぼし得る。さらに、所与のデータストリームにおける最初のビット値に関連するエントロピーＥは、所与のデータストリームの長さが相対的に短い場合には、エントロピーＥに大きな影響を及ぼし、例えば、最初のビット値は、有利には、所与のデータストリームを表現するのに用いられる他の符号のワードとは別に伝達される。
【０１４２】
図１に示す通り、有利には、エントロピー変更器１０、６０は、可変長符号化（Ｖａｒｉａｂｌｅ−Ｌｅｎｇｔｈ−Ｃｏｄｉｎｇ；ＶＬＣ）、ハフマン符号化（Ｈｕｆｆｍａｎ ｃｏｄｉｎｇ）、ランレングス符号化（Ｒｕｎ−Ｌｅｎｇｔｈ−Ｅｎｃｏｄｉｎｇ；ＲＬＥ）、算術符号化（Ａｒｉｔｈｍｅｔｉｃ ｃｏｄｉｎｇ）及びレンジ符号化（Ｒａｎｇｅ ｃｏｄｉｎｇ）等のエントロピー符号化方法と組み合わせて利用される。或は、差分符号化等のその他種類のエントロピー変更器が、それらと組み合わせて利用されることが好ましい。それらエントロピー符号化法は、エントロピー変更器１０の後、かつエントロピー変更器６０の前に利用されることが好ましい。或は、さらに、それらエントロピー符号化法は、エントロピー変更器１０の前、かつエントロピー変更器６０の後に利用されることも好ましく、例えば、符号化される元データが、英数字、数字、バイト又はワードである場合、元データは、表２に提供される更なる符号化を用いて効率的に符号化される。
【０１４３】
［表２］本発明によるエントロピー変更器と共に利用可能な更なる符号化
2016514404.tif 000010
【０１４４】
任意に、エントロピー変更器１０、６０は、再帰的に利用される。
【０１４５】
上述の通り、本発明によるエントロピー変更器は、他の種類のエントロピー変更器と組み合わせて利用することが好ましく、他の種類のエントロピー変更器としては、任意には既知の種類のものである。既知の種類としては、例えば差分符号化が含まれる。典型的には、差分符号化は、バイト又はワードのフォーマットで提供される数値を処理するために利用される。次に、差分符号化と組み合わせて利用される本発明のエントロピー変更器の実施例について説明する。
【０１４６】
本発明を更に明確にするために、２つの例を説明する。１つの例は、本発明によるエントロピー変更器を使用しないものであり、他方の例は本発明によるエントロピー変更器を利用したものである。本例においては、７ビットの最大ランレングスが、関連するエスケープ符号「０」と共に利用される。１ビットＯＤｅｌｔａ型演算子を利用した場合、符号化配列における最初のビットは、符号化される元データストリームに存在する対応する元データビットと同一である。任意に、１ビットＯＤｅｌｔａ分演算が再帰的に実行され得る。
【実施例】
【０１４７】
実施例１：
元データビットストリームには、全体で３７ビット、即ち、１７個の「１」と２０個の「０」が含まれる。
【０１４８】
0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
【０１４９】
上記において、対応する関連エントロピーＥは、以下の通り算出可能である。
【０１５０】
［式７］
2016514404.tif 000011
【０１５１】
算出されるＭＢは３６．８２ビットに対応し、上記に提供される通り実質３７ビットである。式７は、元ビットストリームにおけるビット量に対応する。
【０１５２】
同等のエントロピー変更（ＥＭ）符号は、表１を生成するのに利用されるものと一般に同様の方式で、以下の通りである。
【０１５３】
0 1 1 1 1 1 2 2 1 3 1 1 1 0 4 0 3
【０１５４】
ここで、関連エントロピーＥは、以下の通り算出可能である。
【０１５５】
［式８］
2016514404.tif 000012
【０１５６】
式８は、エントロピー変更後のビット量に対応することが理解される。さらに、このビット量は、式７に関連するものよりも小さいことが理解される。
【０１５７】
しかしながら、上記元ビットストリームをＯＤｅｌｔａ演算に供試すると、以下の通り３７ビットを含み、１３個の「１」と２４個の「０」が存在する、対応する変更ビットストリームが生成される。
【０１５８】
0 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
【０１５９】
ここで、対応するエントロピーＥは、以下の通り算出可能である。
【０１６０】
［式９］
2016514404.tif 000013
【０１６１】
即ち、元ビットストリーム（式７）に関連するエントロピーＥよりも小さい。上記のＯＤｅｌｔａ処理データビットストリームを本発明によるエントロピー変更に供試すると、以下のような符号の対応符号化配列が得られる。
【０１６２】
0 1 5 1 1 1 2 2 4 0 3 1 0 2
【０１６３】
ここで、対応するエントロピーＥは、以下の通り算出可能である。
【０１６４】
［式１０］
2016514404.tif 000014
【０１６５】
上記エントロピーＥは、全体で３７ビットを含む元データビットストリーム（式７）のエントロピーＥよりも小さい。さらに、このビット量は、式８又は式９に関連するエントロピーＥよりも小さいことが理解される。
【０１６６】
本実施例は、元データストリームが、１ビットＯＤｅｌｔａ演算子を用いて最初に圧縮され、次いで、本発明によるエントロピー変更器を用いて圧縮される場合に、元データビットストリームを効率的に圧縮可能であることを示す。
【０１６７】
実施例２
実施例１における上記元ビットストリームは、２つの部分に分割され、本発明によるエントロピー変更の利益が、それら得られる２つのデータストリームの最良の組合せを選択することにより最適化される。エントロピー変更器の最初のビット値は別に伝達され、得られるエントロピー低減符号列には挿入されることはない。得られ得る第１のエントロピー変更結果は実施例１と同様であり、最初のビットもまた、「１」の符号ワードとして設定される。７ビットの同様の最大ランが利用され、表３に提供される通り「０」がエスケープ符号に利用される。
【０１６８】
［表３］実施例２  エントロピー変更
2016514404.tif 000015
【０１６９】
表３より、エントロピー低減が達成されることが理解されるが、これは、データ圧縮を達成しようとする場合において有利となる。第１部分のデータストリームについては、エントロピー変更が為された元データストリームから生成されたデータ関し、当該データに基づいてエントロピー符号化された場合、即ち１３．４９ビットを用いて表現される場合に、かつ第２の部分については、１ビットＯＤｅｌｔａ符号化を介してエントロピー変更が為された場合、即ち５．８０ビットを用いて表現される場合において、最良のデータ圧縮が達成されることになり、その結果、元のデータストリームの３７ビットに対して１９．２９ビットを用いて表現され得ることを要する。これは、かなりのデータ圧縮を意味する。第２データストリームが符号化される場合には、最初のビット値は、第１データストリームから知ることができるので、送信する必要は無い。そのため、表３には「／」で区画された異なる２つの値が示されており、最初のものは連続状態（即ち、最初のビット値は送信されない）に関するものであり、第２のものは、データストリームがこの種のビット組合せで開始する場合に関するものである。本実施例では、ＯＤｅｌｔａ符号化のみで、データのエントロピー、即ち、殆ど第２データ部分に関するエントロピーを低減するものであるが、ＯＤｅｌｔａ符号化は、エントロピー変更器１０、６０との組合せにおいても有利なエントロピー低減を提供することが理解される。ここで、エントロピー変更元データは、ＯＤｅｌｔａ符号化で最初に処理されたエントロピー変更データよりも小さいエントロピーを生じ、つまり、６．００ビット＜９．６１ビットとなっている。実践的な符号化解決手段においては、ＯＤｅｌｔａ符号化データのエントロピーの方が、エントロピー変更元データよりも小さい（つまり５．８０ビット＜６．００ビット）ものの、エントロピー変更元データの方が、任意に、ＯＤｅｌｔａ符号化データよりも効率的に有利に圧縮される。とりわけ算術符号化は、１ビットデータを圧縮するのにまた有利に利用されるが、１ビットデータは、エントロピーエンコーダの実装に関しそれほど実践的ではない。任意に、元ビットストリームは、データ圧縮を達成するためのエントロピー変更プロセスに供試される前に２つを超える部分に分割される。
【０１７０】
任意に、元データビットストリームを１つ又は複数のストリーム、即ち部分に分割することは、以下を含む方法で自動的に実行することができる。
（ａ）元データビットストリームに関連するエントロピーを分析すること、
（ｂ）元データビットストリームの解析したエントロピーの関数に応じて、元データストリームを２以上の部分に分割すること、
（ｃ）１つ又は複数のエントロピー変更操作を上記２以上の部分に適用することにより１つ又は複数の対応するエントロピー変更部分を生成すること、並びに
（ｄ）上記１つ又は複数のエントロピー変更部分を結合することにより圧縮符号化出力データを生成すること。
本発明はまた、上記符号化出力データを復号する方法であって、工程（ａ）から（ｄ）の逆が利用される方法にも関連する。任意に、該方法は、例えば圧縮率の強化を達成するために、及び／又は実質的に可逆圧縮を達成するために、符号化がより効率的に実施されるように元ビットストリームに存在するデータブロックを分割又は結合することを含む。
【０１７１】
任意に、工程（ｂ）は、粗い方式で実施されるものである。この場合、即ち工程（ｂ）は、元データビットストリームにおいて、つまり元データビットストリームの領域の後又はそれら領域間において多数の長いラン区画に遭遇した場合に、元データビットストリームを単に分けるものであり、上記元データビットストリームの領域においては、データビットが急な態様で配列上変化する十分に大きなデータビットストリーム領域が存在する。
【０１７２】
任意に、本発明により符号化ビットストリームを生成するためには、元データビットストリームは、例えばＶＬＣ、算術符号化若しくはレンジ符号化、及び／又はＲＬＥの適用を介して、中間符号化データを提供するよう処理され、中間符号化データは次いで、本発明によるエントロピー変更に供試されることにより、圧縮され、かつエントロピーが低減された出力符号化データを生成する。このようなアプローチは図１に示されおり、それにより、データ圧縮の間にかなりの速度最適化が達成される。これは、本発明が機械可読データ記憶媒体に記録された１つ又は複数のソフトウェア製品により実施される場合に必要となる演算能力が少なくて済むことに対応し、上記１つ又は複数のソフトウェア製品は、エントロピー変更エンコーダを実装するためにコンピュータハードウェアで実行可能であって、この事は、エントロピー変更デコーダにおいても同様である。任意に、エントロピー最適化は、元データビットストリームにおける元のビット、アルファベット、数、バイト、ワードが、その他方法を用いて最初に符号化されるように実装され、その後に、本発明によるエントロピー変更が適用されて符号化出力データが生成される。
【０１７３】
現在知られているランレングス符号化（ＲＬＥ）法においては、任意の値が生成され、次いで、その後、この任意の値の後に別の後続値が続く前までの当該任意の値の出現数を示す対応データが生成される。このようなＲＬＥ法は、符号化される入力データが利用可能である限り継続され、つまり、別の値の後ある値が順次に符号化される。反対に、本発明は、１ビット値のみが利用される場合に、「０」及び「１」のデータ値を符号化するデータストリームに加える必要がないという知見に由来するものであり、その理由は、それらは、交互に順に生じるからである。このように、任意の配列における最初の値のみが符号化データの伝達において表現されることで十分である。したがって、本発明は、ＲＬＥ符号化に類似するものであるが、上述の通り１ビットデータストリームを利用するものである。
【０１７４】
本発明の実施形態を実施する際は、エスケープ符号は、利用される実際の符号化法のより効率的な使用を可能にする付加といったものである。有利には、本発明の実施形態は、エンコーダから対応するデコーダに１つ又は複数の符号化テーブルを送信し、エンコーダから送信され、デコーダで受信される符号化データの復号を補助することを含む。このような符号化テーブルを伝達するとても有利な方法の幾つかが、例えば、２０１４年２月２０日に出願人によって提出された特許出願ＧＢ１４０３０３９．９（本願において援用される）に開示されている。さらに、エントロピー符号化を組み合わせ、符号化テーブルを伝達する方法が、２０１４年２月２０日に出願人によって提出された特許出願ＧＢ１４０３０３８．１（本願において援用される）に開示されている。上記の開示される方法の両方は、本発明の実施形態と組み合わせて用いるのに適するものであり、エントロピー符号化に必要となる更なる符号化データを最小化することを助ける。
【０１７５】
本発明の実施形態を実施するために利用されるエスケープ符号は、幾つかの各種方式で容易に実装され得る。例えば、「０」の値で連続するランレングスシンボル又は数の場合、十分な符号化が達成され得る。しかしながら、これらの量の値が小さい場合が生じることが潜在的にあったり、反対に、極めて大きな数値が生じ得る場合もあり、これらの場合には、エスケープ符号が、依然として用いられていないか、又は符号ワードとして用いるのに割当てられていない次の値に対して有利に設定される。例えば、利用される最大ランレングスが７個のビット又は要素であり、エスケープ符号が「０」である場合には、符号ワード「８」が、符号化データストリームの生成の際に用いられ、この新規エスケープ符号は、単に１つの新規符号ワードを加えるのみであり、この後に、シンボルの実際の数が、任意の方法を用いて、例えば１、２及び／又は３バイトで、又はハーフバイト（即ち、「ニブル」）を用いて表現され得る。任意に、シンボルの実際の数は、圧縮されずに伝達される。任意に、シンボルの実際の数は、最大ランレングス値と結合され、次いで、エントロピー圧縮器、即ちエントロピー変更器におけるその他データ値と共に圧縮される。
【０１７６】
本発明の実施形態に用いるための好適なエスケープ値を選択する際、隣接する要素の総数を同時に表現することが有利であり、したがって、このエスケープ値を呼び出した後に、同一のビットは、エスケープ値の使用とは対照的に、その後に続くことはない。このような新規形態の終結は、上述した連続エスケープ法に加えて使用可能であるエスケープ、即ち、符号ワードを提供するが、或は、そのような新規エスケープ符号は、代替法としてのみ使用可能であって、この場合、その符号ワードは、有利には値「０」に設定可能である。同様に、この終結符号の任意のデータ値は通常小さいが、仮に大きい場合には、データに存在する連続する類似シンボルの数を、交互に起こるバイト又はニブルの数で表すことが有利である。そのようなバイトの１ビット、例えば、最下位ビット（least significant bit;ＬＳＢ）又は最上位ビット（most significant bit；ＭＳＢ)が、上記数の終結、例えばビットストリングを示すのに有利に予約され、従って、有利には、その符号ワードは、値が終了する場合は値「０」又は「１」に設定され、その他の場合には値が連続する。
【０１７７】
上述のことを明確にすることを目的として、次に、エスケープ符号の機能性の例を、両種のエスケープが利用される状況において説明する。本例においては、１５によって示される連続エスケープに関する符号ワードにより、１４要素の最大ランが利用され、ここで、終結エスケープの符号ワードは０である。さらに、連続類似シンボル又はビットの量に関する値は、以下である。
【０１７８】
9, 1024, 16, 9, 12, 2000, 7, 20, 21, 6, 8, 120, 12,・・・  
【０１７９】
さらに、本例は、ハーフバイト（即ち、ニブル）を利用するものであり、この場合、最上位ビット（ＭＳＢ）である値「１」が、当該数、即ちビットストリングの終結を示すのに利用される。有利には、終結エスケープが利用される場合、当該数、即ちビットストリームから、以下を引くことが可能である。
【０１８０】
（ビットストリング）−（ＭＡＸＲＵＮ＋１）
【０１８１】
例えば：
1024底10  =>   
1024底10  - (14底10 + 1) => 1009底10   => 1  111  110  001底10 ニブルについて表される数=>
1 + 8(終結) 7 6 1)。したがって、本例は、以下の通り符号化することができる。
【０１８２】
9 0 1 6 7 9 15 2 9 12 0 1 0 7 11 7 15 6 15 7 6 8 0 1 5 9 12
【０１８３】
本例においては、エントロピー変更器１０、６０は、０〜１５の範囲の値を有する符号ワードを解釈し得るものであることが必要である。本例は、単一のエスケープ符号のみを用いて表現することが可能であり、ここで、符号ワード「０」が終結エスケープをまた示すエスケープ符号に対応する。このような単一種のエスケープ符号の代替例においては、連続エスケープは用いられることはなく、その他パラメータは上記の通りであり、即ち、以下となる。
【０１８４】
9 0 1 6 7 9 0 9 9 12 0 1 0 7 11 7 0 13 0 14 6 8 0 1 5 9 12
【０１８５】
ここで、エントロピー変更器１０、６０は、０〜１４の範囲の符号ワードを認識するのに必要である。この代替例は、任意に、符号ワード「０」によって表現される連続エスケープのみを用い、かつ最大ランレングス１４を利用することによって表現され、以下の形態の符号配列を生じる。
【０１８６】
9 73x0 2 0 2 9 12 142x0 12 7 0 6 7 6 8 8x0 8 12
【０１８７】
最良の符号化解決手段が、全ての３つの解決手段について別々に計算されるエントロピーに基づいて選択され得る。
【０１８８】
次に、エントロピー変更（ＥＭ）及び逆エントロピー変更（ＩＥＭ）を提供する本発明の実施形態を説明する。しかしながら、他の実施形態もまた、本発明の範囲において実施可能であり、例えばバリアブルステートマシン（variable-state-machine）、特定用途向け集積回路（ＡＳＩＣ）等、デジタルハードウェアを利用した相応のエントロピー変更器が挙げられる。以下の例における"GetBit"（「ゲットビット」）、"SetBit"（「セットビット」）、及び"ClearBit"（「クリアビット」）命令は、"HeaderBits"（「ヘッダービッツ」）値を更新するように常に機能する。さらに、次のビットが次のバイトに存在する場合に"HeaderIndex"（「ヘッダーインデックス」）値もまた、更新される。ソフトウェア製品に基づく以下の例では、最初のビットが、１つの符号として格納される。任意に、より良好な実装においては、例えば表３を参照すると、最初のビット値は、上述の符号から分離されている。対応するデコーダは、有利には、復号出力データに寄与する宛先バイトに対して多数のビットを一緒に書き込むことによって最適化される。以下の例示実施形態において提供される"MaxRun"は、（最大ランレングス＋１）に類似し、例えば、７ビットの最大ランレングスが利用される場合、以下の実施形態では値８が機能パラメータ"AMaxRun"（「エーマックスラン」）として与えられる。
【０１８９】
2016514404.tif 000016
【０１９０】
2016514404.tif 000017
【０１９１】
2016514404.tif 000018
【０１９２】
例えばＶＬＣ、ハフマン符号化、算術符号化、レンジ符号化、ＲＬＥ符号化等のエントロピー符号化法は、つまりある種の予測又はその他追加の情報を用いずに、つまり情報を失わずに、データをそのエントロピーが許容するよりも小さいサイズに圧縮することは可能ではないとしても、これは、実際上の最大のデータ圧縮が最小のエントロピーに対応することを何れの場合であっても意味するものではなく、言い換えると、実際上は、エントロピーとデータ圧縮とは、全く同じ概念という訳ではない。符号化データをその対応する元の形態に復号するには、常に何らかの追加の情報を必要とし、その情報の伝達には、場合によっては圧縮される実際のデータに加えて、妥当とはいえない量の余分な情報が必要となる。大量のデータが扱われる場合には、最小のエントロピーが、大抵、最良のデータ圧縮に対応するが、少量のデータが扱われる場合には、データの圧縮は、必ずしも単純なものではなく、例えば、１ビットデータは、大抵、効率的に圧縮することは困難であり、それゆえに、１ビット情報を処理するように動作可能であるエントロピー変更器１０、６０が、潜在的に、そして商業的に、とても価値のある発明となる。さらに、より簡単に圧縮可能であるフォーマットのデータを処理すると、しばしば、フォーマットのプロセスが適用される前の対応元データと比較して、フォーマットされたデータのエントロピーは低減する。
【０１９３】
上述した通り、符号化データを表す符号ワードの配列における最初のビット値が、連続するシンボル又はビットの数を示す値とは別に伝達される場合には、それはしばしば効率的である。しかしながら、そのような別々の伝達は、完全に分離した通信に対応する必要はない。以下の例では、最初のビットを別に操作しているにも関わらず、依然として、最初のビットの量を連続要素の総量に加える必要がある。そうしなければ、以下の例を区別することができないからである。
【０１９４】
0 0  1 及び0 1                   又は
1 1 0 及び1 0,
【０１９５】
最初の要素が上述のエスケープコードの実装に利用される場合、最初の要素量の数を０に設定しないのは望ましくなく、エスケープコードは、つまり連続する類似信号の数が例における最大ランレングスを超えた時に用いるためのものである。
【０１９６】
図１において、データＤ２のサイズは、データＤ１のサイズより必ずしも小さい必要はないが、データＤ１及びＤ２は相互に類似する情報を含んでいるにしても、データＤ２のエントロピーは小さい。データＤ２のサイズは、利用されるランレングスに依存する。例えば、データＤ１において、データ要素のサイズは１ビットであるのに対し、データＤ２のサイズは利用されるランレングスのサイズに依存する。例えば、データＤ１が１０４ビットのサイズを有し、かつエントロピーＥ＝８０の場合、４０個の要素、即ち０から７の範囲の値を有する３ビット要素を有し、かつエントロピーＥ＝５０であるデータＤ２において７個の要素の最大ランレングスを用い、エントロピー変更器１０によってデータＤ１を変換することが可能であり、そうすると、データＤ２は４０×３ビット＝１２０ビットのサイズを有し、このような例では、データＤ２はデータＤ１よりもサイズが大きい。符号化ステージ２０は、有利には、データＤ２を５２ビットに圧縮し、データＤ３を提供することが可能であるＶＬＣ変換を利用する。したがって、エントロピー変更器１０、６０は、データの圧縮及び展開それぞれを常に提供する訳ではないが、他の符号化ステージと共に利用した場合には、データの圧縮及び展開を提供することが可能であることを理解されたい。
【０１９７】
本発明の実施形態は、有利には、例を挙げると通信システム、視聴覚消費財、科学画像処理機器、コンピュータ装置、スマートフォン等の無線対応通信装置、デジタルカメラ、デジタル監視機器、対話型コンピュータゲームの構成部品として含まれる。高いデータ圧縮率によって、データ保存の必要性を減らすことができ、より高速な通信を達成することが可能となる。これらの全ては、例えば産業において利用できる有利な技術的効果と考慮されるであろう。さらに、実施形態は、ソフトウェア製品、ハードウェア、又はそれらの組合せにおいて実装可能である。ソフトウェア製品は、任意に、ソフトウェアアプリケーション、即ち「ソフトウェアアプリ」としてダウンロード可能である。
【０１９８】
添付の特許請求の範囲によって規定される本発明の要旨から逸脱することなく、上記の本発明の実施形態に対して修正が可能である。本発明を記載し、特許請求するのに用いられる、「含む、備える」（"including"）、「含む、備える」（"comprising"）、「からなる」（"consisting of"）、「有する」（"have"）、「である」（"is"）等の表現は、非排他的な態様で解釈されるべきことが意図されており、即ち、明確に記載されていない項目、成分又は要素も存在することを許容するものである。単数形で言及された事項は、複数個の場合も含むと解釈され得る。添付の特許請求の範囲における括弧内に含まれる数値は、特許請求の範囲の理解を助けることを意図するものであり、各請求項によって請求される技術思想を限定するものとして理解されてはならない。
【図１】
2016514404.tif 000019
【国際調査報告】
2016514404.tif 000020
2016514404.tif 000021
2016514404.tif 000022