(57)【要約】      （修正有）【課題】符号化データは対応する符号化前のデータに比べて圧縮されている方法を用いるエンコーダを提供する。【解決手段】エンコーダは、符号化されるデータの一つ以上の部分を解析し、適切な一つ以上の符号化ユニットに導く解析ユニットであって、符号化ユニットは一つ以上の部分を符号化して符号化データを生成できる、解析ユニットを備え、一つ以上の符号化ユニットは一つ以上の部分を符号化する際に互いに異なる符号化アルゴリズムを利用しうるように構成され、少なくとも一つの符号化ユニットは、受信した部分の各々に存在するデータ値を計算し、データ値を少なくとも二つのセットに分割し、部分の空間マスクを保持しつつ、所定のセットに存在するデータ値から所定のセットに対する少なくとも一つの要約値を計算しうるように構成され、ここで空間マスクおよび少なくとも二つのデータセットに対して計算された要約値の情報表現は符号化データに含まれる。【選択図】図２Ａ
2014087058.tif 000002
【特許請求の範囲】
【請求項１】
データ（２０，Ｄ１）を符号化して対応する符号化データ（７０，Ｅ２）を生成するエンコーダ（１０）であって、
前記エンコーダ（１０）は、前記符号化されるデータ（２０，Ｄ１）の一つ以上の部分（４０）を解析し、前記一つ以上の部分（４０）を適切な一つ以上の符号化ユニット（１１０）に導く解析ユニット（１００）であって、前記一つ以上の符号化ユニット（１１０）は前記一つ以上の部分（４０）を符号化して前記符号化データ（７０，Ｅ２）を生成できる、前記解析ユニット（１００）を備え；
前記一つ以上の符号化ユニット（１１０）は前記一つ以上の部分（４０）を符号化する際に互いに異なる符号化アルゴリズムを利用しうるように構成され；
前記一つ以上の符号化ユニット（１１０）のうち少なくとも一つの符号化ユニット（１１０（ｉ））は、受信した部分（４０）の各々に存在するデータ値を計算し、前記データ値を少なくとも二つのセットに分割し、前記部分（４０）の空間マスク（３２０）を保持しつつ、所定のセットに存在するデータ値から前記所定のセットに対する少なくとも一つの要約値を計算しうるように構成され、ここで前記空間マスク（３２０）および前記少なくとも二つのデータセットに対して計算された要約値の代表情報は前記符号化データ（７０，Ｅ２）に含まれる；
エンコーダ（１０）。
【請求項２】
前記一つ以上の符号化ユニット（１１０）から符号化出力データを受信し、前記エンコーダ（１０）から全符号化データ（７０，Ｅ２）を生成するために前記符号化出力データを更に符号化する出力符号化ユニット（６０）を備える、請求項１に記載のエンコーダ（１０）。
【請求項３】
前記符号化されるデータ（２０，Ｄ１）が前記一つ以上の部分（４０）にまだ含まれていない場合に前記一つ以上の部分（４０）を生成するために、前記符号化されるデータ（２０，Ｄ１）を分割および／または結合する入力ステージ（３０）を更に備える、請求項１または２に記載のエンコーダ（１０）。
【請求項４】
前記一つ以上の部分に関する一つ以上のマスク（３２０）の代表情報を、前記エンコーダ（１０）が生成した符号化データ（７０，Ｅ２）を復号する際に一つ以上のデコーダがアクセスするリモートデータベースに格納できる、請求項１から３の何れか１項に記載のエンコーダ（１０）。
【請求項５】
前記少なくとも一つの要約値は、算術平均，歪平均（skewed mean），対数平均，加重平均，平均値，最小値，最大値，最頻値または中央値である、請求項１から４の何れか１項に記載のエンコーダ（１０）。
【請求項６】
データ（２０，Ｄ１）を符号化して対応する符号化データ（７０，Ｅ２）を生成する符号化方法であって、前記方法は、
（ａ）前記符号化されるデータ（２０，Ｄ１）の一つ以上の部分（４０）を解析し、前記一つ以上の部分（４０）を適切な一つ以上の符号化ユニット（１１０）に導くために、解析ユニット（１００）を使用することであって、前記一つ以上の符号化ユニット（１１０）は前記一つ以上の部分（４０）を符号化して前記符号化データ（７０，Ｅ２）を生成でき、前記一つ以上の符号化ユニット（１１０）は前記一つ以上の部分（４０）を符号化する際に互いに異なる符号化アルゴリズムを利用できる、前記使用することと；
（ｂ）受信した部分（４０）の各々に存在するデータ値を計算し、前記データ値を少なくとも二つのセットに分割し、前記部分（４０）の空間マスク（３２０）を保持しつつ、所定のセットに存在するデータ値から前記所定のセットに対する少なくとも一つの要約値を計算するために、前記一つ以上の符号化ユニット（１１０）のうち少なくとも一つの符号化ユニット（１１０（ｉ））を使用することであって、前記空間マスク（３２０）および前記少なくとも二つのデータセットに対して計算された要約値の代表情報は前記符号化データ（７０，Ｅ２）に含まれる、前記使用することと；
を含む、方法。
【請求項７】
前記一つ以上の符号化ユニット（１１０）から符号化出力データを受信し、前記エンコーダ（１０）から全符号化データ（７０，Ｅ２）を生成するために前記符号化出力データを更に符号化する出力符号化ユニット（６０）を使用することを含む、請求項６に記載の方法。
【請求項８】
前記一つ以上の部分に関する一つ以上のマスク（３２０）の代表情報を、前記符号化データ（７０，Ｅ２）を復号する際に一つ以上のデコーダがアクセスするリモートデータベースに格納することを含む、請求項６または７に記載の方法。
【請求項９】
前記符号化データ（７０，Ｅ２）は更に符号化および／または圧縮される、請求項６から８の何れか１項に記載の方法。
【請求項１０】
前記更なる符号化および／または圧縮は、DPCM（「差分パルス符号変調」），RLE（「連長圧縮」），SRLE，EM（エントロピー修正法），算術符号化，デルタ符号化，ODelta符号化，VLC（「可変長符号化」），Lempel-Ziv符号化法（ZLIB，LZO，LZSS，LZ77），Burrow-Wheeler変換ベース符号化法（RLE，BZIP2），ハフマン符号化のうちの少なくとも一つを含む、請求項９に記載の方法。
【請求項１１】
符号化データ（７０，Ｅ２）を復号して対応する復号データ（７５，Ｄ３）を生成するデコーダ（２５）であって：
前記デコーダ（２５）は、前記符号化データ（７０，Ｅ２）の一つ以上の部分（４０）を配信し、前記一つ以上の部分（４０）を適切な一つ以上の復号ユニット（１６０）に導く配信ユニット（１５５）であって、前記一つ以上の復号ユニット（１６０）は前記一つ以上の部分（４０）を復号して前記復号データ（７５，Ｄ３）を生成しうるように構成される、前記配信ユニット（１５５）を備え；
前記一つ以上の復号ユニット（１６０）のうち少なくとも一つの復号ユニット（１６０（ｉ））は、前記符号化データ（７０，Ｅ２）に含まれる空間マスク（３２０）と少なくとも二つのデータセットに対する要約値の代表情報を抽出し、データブロック（５００）の要素に対して、前記要素が属するセットに従って値を割り当てうるように構成され、前記要素が属するセットは前記マスク（３２０）によって規定される；
デコーダ（２５）。
【請求項１２】
前記一つ以上の復号ユニット（１６０）から復号出力データを受信し、前記デコーダ（２５）から全復号データ（７５，Ｅ３）を生成するために前記復号出力データを更に集約する出力復号ユニット（１７０）を備える、請求項１１に記載のデコーダ（２５）。
【請求項１３】
前記符号化データ（７０，Ｅ２）から一つ以上の部分（４０）を抽出し、前記符号化データ（７０，Ｅ２）に存在する符号化パラメータが規定する通りに、配信ユニット（１５５）および一つ以上の復号ユニット（１６０）に導く入力ステージ（１３０）を更に備える、請求項１１または１２に記載のデコーダ（２５）。
【請求項１４】
前記一つ以上の部分に関する一つ以上のマスク（３２０）の代表情報を、前記エンコーダ（１０）が生成した符号化データ（７０，Ｅ２）を復号する際にリモートデータベースから読み出せる、請求項１１から１３の何れか１項に記載のデコーダ（２５）。
【請求項１５】
符号化データ（７０，Ｅ２）を復号して対応する復号データ（７５，Ｄ３）を生成する復号方法であって、前記方法は、
（ａ）前記符号化データ（７０，Ｅ２）の一つ以上の部分（４０）を配信し、前記一つ以上の部分（４０）を適切な一つ以上の復号ユニット（１６０）に導くために、配信ユニット（１５５）を使用することであって、前記一つ以上の復号ユニット（１６０）は前記一つ以上の部分（４０）を復号して前記復号データ（７５，Ｄ３）を生成できる、前記使用することと；
（ｂ）前記符号化データ（７０，Ｅ２）に含まれる空間マスク（３２０）と少なくとも二つのデータセットに対する要約値の代表情報を抽出し、データブロック（５００）の要素に対して、前記要素が属するセットに従って値を割り当てるために、前記一つ以上の復号ユニット（１６０）のうち少なくとも一つの復号ユニット（１６０（ｉ））を使用することであって、前記要素が属するセットは前記マスク（３２０）によって規定される、前記使用することと；
を含む、方法。
【請求項１６】
前記一つ以上の符号化ユニット（１６０）から復号出力データを受信し、全復号データ（７５，Ｅ２）を生成するために前記復号出力データを更に集約する出力復号ユニット（１７０）を使用することを含む、請求項１５に記載の方法。
【請求項１７】
前記符号化データ（７０，Ｅ２）から一つ以上の部分（４０）を抽出し、前記符号化データ（７０，Ｅ２）に存在する符号化パラメータが規定する通りに、配信ユニット（１５５）および一つ以上の復号ユニット（１６０）に導く入力ステージ（１３０）を使用することを更に含む、請求項１５または１６に記載の方法。
【請求項１８】
前記一つ以上の復号ユニット（１６０）のうち少なくとも一つの復号ユニット（１６０（ｉ））は、データセットに対応するマスク（３２０）の要素に値を割り当てることができ、前記データセットの数は２から８の範囲、または２以上である、請求項１５から１７の何れか１項に記載の方法。
【請求項１９】
前記一つ以上の部分に関する一つ以上のマスク（３２０）の代表情報を、前記エンコーダ（１０）が生成した符号化データ（７０，Ｅ２）を復号する際にリモートデータベースから読み出すことを含む、請求項１５から１８の何れか１項に記載の方法。
【請求項２０】
データ（２０，Ｄ１）を符号化して対応する符号化データ（７０，Ｅ２）を生成する、請求項１に記載のエンコーダ（１０）を少なくとも一つと；
前記符号化データ（７０，Ｅ２）を復号して対応する復号データ（７５，Ｄ３）を生成する、請求項１１に記載のデコーダ（２５）を少なくとも一つと；
を備える、データ通信システム（５）。
【請求項２１】
請求項６に記載の方法および請求項１５に記載の方法の組合せを利用する、請求項２０に記載のデータ通信システム（５）におけるデータ通信方法。
【請求項２２】
コンピュータシステムの処理手段で実行されると、前記コンピュータシステムに、請求項６〜１０および１５〜１９のいずれか１項に記載の方法を遂行させるプログラム命令を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、静止画像や動画コンテンツ，グラフィックコンテンツ，オーディオコンテンツ，測定データ，その他様々なコンテンツに対応するデータ（D1）を符号化し、対応する符号化データ（E2）を生成するエンコーダに関連する。また本願は、静止画像や動画コンテンツ，グラフィックコンテンツ，オーディオコンテンツ，測定データ，その他様々なコンテンツに対応するデータ（D1）を符号化し、対応する符号化データ（E2）を生成する符号化方法にも関連する。さらに本願は、前述のエンコーダが生成した符号化形式のデータ（E2）を復号するデコーダにも関連する。加えて本願は、前述のエンコーダが生成したデータ（E2）を復号する方法にも関連する。さらに加えて、本願は、非一時的コンピュータ可読データ格納メディアに記録され、前述の方法を実装するためにコンピュータハードウェアで実行されるソフトウェア製品にも関連する。
【背景】
【０００２】
データ（D1）を符号化して符号化データ（E2）を生成し、その符号化データ（E2）を復号して復号データ（D3）を生成する既知の方法は、現在多数存在する。それにも拘わらず、静止画像や動画コンテンツ，オーディオコンテンツ，グラフィックコンテンツ等、符号化されるデータ（D1)が表現するコンテンツの幅広さに適したデータ符号化方法はまだない。こうした符号化方法は、符号化されるデータ（D1）よりもサイズの小さい対応する符号化データ（E2）を生成することを主目的としている。また、そうした符号化データ（E2）を復号する対応デコーダもない。
【０００３】
通常の画像コンテンツを圧縮するのに適したものとして、JPEG（「Joint Photographic Experts Group」。DCTベースの非可逆符号化。DCTは離散コサイン変換の略。）とJPEG2000（「Joint Photographic Experts Group」。ウェーブレットベースの符号化。），WebP（ウェッピー。符号化時に非可逆圧縮と可逆圧縮の両方を利用できる静止画符号化フォーマット）がよく知られている。しかし、僅かな明度で表現された色しかなく、コンテンツに比較的高い空間周波数成分を有するテキストや画像を圧縮するには、こうした方法はあまり適していない。代替的な既知の符号化方法としては、GIF（「Graphics Interchange Format」）と呼ばれる、パレットベースの圧縮アルゴリズムを採用する方法がある。このアルゴリズムは、例えば256の明度のように、画像をレンダリングするのに必要な明度が比較的小さくて表現できる画像の符号化によく適している。しかし、GIFアルゴリズムで符号化される画像が色空間における微妙な段階的変化を有する自然物を含む場合、対応する復号GIF画像で目立つ不要なアーティファクトが生じてしまう。現在知られているPNG符号化（「Portable Networks Graphics」。可逆符号化。）は概ねGIF符号化に類似していて、画像データを符号化するオプションがより多く提供されている。それにも拘わらず、明度の範囲が小さい画像に対して適した方法とはいえない。他の既知の符号化方法は、文字符号化と併せてOCR（「光学文字認識」）によるテキスト符号化を用いている。OCRは場合によっては適切な手段であるが、画像内でのテキストの位置や傾斜，フォント、さらにテキストがあるオブジェクトに影響されやすい。加えて、OCRは実装のための処理能力を相当必要とする可能性もある。
【０００４】
近年、科学分野の出版物において、2値ブロックデータシーケンスフォーマットのデータを符号化するのに適する別の符号化方法が提案されている。こうした科学出版物の詳細を表1に示す。
2014087058.tif 000003
【０００５】
互いに異なる幅広い手法を採用する既知の方法があるにも関わらず、前述の既知のデータ符号化方法とそうした符号化データに対応する既知の復号方法は、データが表現するコンテンツの範囲の幅広さに十分に適したものとなっていない。データ圧縮の向上は、ストリーミング動画コンテンツを処理する通信システムにとって非常に重大な問題であり、そのためのより効率的な符号化アルゴリズムに発展させる研究が長年に亘ってかなり行われてきた。それにも拘わらず、最適な符号化方法は未だ考案されていない。
【０００６】
米国特許第 6,151,409号（「コンピュータシステムにおけるカラー画像の圧縮および再構成方法」，行政院国家科学委員会，台湾，台北市）には、カラー画像圧縮を可視ブロックパターン・トランケーション符号化（VBPIC）を用いて行う方法が開示されている。VBPICでは、従来のBTC（ブロックトランケーション符号化）によって原画像が符号化される。この方法は人間の視覚に従ってエッジブロックを規定する。あるブロックにおける二つのBTC量子化値の差が視覚特性で規定される閾値よりも大きい場合、そのブロックはエッジブロックと特定される。エッジブロックでは、ブロックのグラデーションの向きを計算してブロックパターンを合わせるようにビットマップが構成される。
【０００７】
この方法は、4×4ブロックのみを含み、各ブロックがDC成分または90度や45度といった明確なエッジの何れかを含む画像でしか適さない。また、この方法はノイズを除去したり、対象が正確にマスクされないときの細部を除去したりできる。さらにこの方法は、テキストやテクスチャの符号化には全く適しておらず、直線で表現できないパターンや45度の倍数とは異なる方向を持つパターンの符号化にも適さない。
【０００８】
公開済み米国特許第5,668,932（「Digital Video Data Compressions Technique（デジタル動画データ圧縮技術）」，出願人：マイクロソフト社）には、従来のブロック圧縮技術に関連する改良された圧縮を提供するデジタル動画データ圧縮の代替技術が開示されている。この代替技術では、画像データは複数のセルに分割され、反復して圧縮される。セルは、その内容に最適な圧縮フォーマットで圧縮される。始めに、セルが前のフレームにおける後続のセルと実質的に同一であるか否かが決定される。セルが前フレームのセルと実質的に同一である場合、セルは前のセルの複製として圧縮形式で符号化される。また、単色圧縮手法と8色圧縮手法が統合された圧縮技術が利用されてもよい。
【０００９】
こうして、この方法は、所定の処理される画素がより高い明度を持つ若しくはより明るい画素であるか、または、より低い明度を持つ若しくはより暗い画素であるかを示すビットマスクを使用する。またこの方法は、画像全体を符号化しようとする。
【００１０】
公開済みPCT出願である国際公開公報第00/19374号（「Compressing and Decompression Image Data with 4-level Block Coding（4値ブロック符号化を用いた画像データ圧縮および伸張）」，出願人：シリコングラフィックス社）には、画像データを圧縮・伸張する方法と装置が開示されている。カラーセルを圧縮するこの方法は以下のステップを含んでもよい：
（i）カラーセルの輝度を示す値を少なくとも4通り規定すること；
（ii）カラーセルに対するビットマスクを生成することであって、ビットマスクは複数のエントリを有し、各エントリは画素の一つに対応し、エントリの各々は対応する画素の一つに関連する輝度の一つを特定するデータを格納するためにある、生成すること；
（iii）輝度の第1の値に関連する画素の第1平均色を計算すること；
（iv）輝度の第2の値に関連する画素の第2平均色を計算すること；
（v）第1平均色と第2平均色を関連するビットマスクを格納すること。
【００１１】
カラーセルは4×4画素のマトリクスを含み、ビットマスクは32ビット、明度は各16ビットを含み、1画素当たり4ビットの圧縮率が達成されるように構成されてもよい。この方法は、テクスチャデータがマッピング中により効率的にキャッシュされて移動されるようにテクスチャデータを圧縮するのに適用できる。輝度や明度，アルファテクスチャの圧縮も行える。
【００１２】
そして、前述の既知の符号化方法には、様々な種類のデータに関する幅広いスペクトルには適合しない数々の欠点もある。
【特許文献１】米国特許第 6,151,409号明細書
【特許文献２】米国特許第5,668,932号明細書
【特許文献３】国際公開第00/19374号パンフレット
【摘要】
【００１３】
本願は、データ（D1）を符号化し、対応する符号化データ（E2）を生成する改良方法であって、符号化データ（E2）は例えば、対応する符号化前のデータ（D1）に比べて圧縮されている方法を提供しようとする。
【００１４】
また本願は、データ（D1）を符号化し、対応する符号化データ（E2）を生成する改良方法であって、符号化データ（E2）は例えば、対応する符号化前のデータ（D1）に比べて圧縮されている方法を用いるエンコーダを提供しようとする。
【００１５】
さらに本願は、本発明に従うエンコーダから生成されたデータ（E2）を復号する改良方法を提供しようとする。
【００１６】
加えて本願は、本発明に従うエンコーダから生成されたデータ（E2）を復号する改良デコーダを提供しようとする。
【００１７】
第1の側面よれば、添付する請求項1に記載する、次のエンコーダが提供される：データ（D1）を符号化して対応する符号化データ（E2）を生成するエンコーダであって、
前記エンコーダは、前記符号化されるデータ（D1）の一つ以上の部分を解析し、前記一つ以上の部分を適切な一つ以上の符号化ユニットに導く解析ユニットであって、前記一つ以上の符号化ユニットは前記一つ以上の部分を符号化して前記符号化データ（E2）を生成できる、前記解析ユニットを備え；
前記一つ以上の符号化ユニットは前記一つ以上の部分を符号化する際に互いに異なる符号化アルゴリズムを利用しうるように構成され；
前記少なくとも一つの符号化ユニットのうち少なくとも一つの符号化ユニットは、受信した部分の各々に存在するデータ値を計算し、前記データ値を少なくとも二つのセットに分割し、前記部分の空間マスクを保持しつつ、所定のセットに存在するデータ値から前記所定のセットに対する少なくとも一つの要約値を計算しうるように構成され、ここで前記空間マスクおよび前記少なくとも二つのデータセットに対して計算された要約値の情報表現は前記符号化データ（E2）に含まれる；
エンコーダ。
【００１８】
本発明には、エンコーダが符号化されるデータ（D1）の部分のセットの要約値とその部分のレイアウトを規定するマスクを計算し、エンコーダからの符号化データ（E2）にそれらを含めることができ、これによって、符号化されるデータ（D1）に存在する特定の種類のコンテンツを効率的に符号化できるようにする利点がある。
【００１９】
エンコーダは、一つ以上の符号化ユニットから符号化出力データを受信し、エンコーダから符号化データ（E2）を生成するためにこの符号化出力データを更に符号化する出力符号化ユニットを備えてもよい。
【００２０】
エンコーダは、符号化されるデータ（D1）が一つ以上の部分にまだ含まれていない場合に一つ以上の部分を生成するために、符号化されるデータ（D1）を分割および／または結合する入力ステージを更に備えてもよい。
【００２１】
エンコーダにおいて、少なくとも一つの符号化ユニットのうち少なくとも一つの符号化ユニットは、各部分に存在するデータ値をデータセットに分割でき、データセットの数は２から８の範囲、または２以上でもよい。例えば、8データセットが8ビットバイナリデータとして使用されてもよい。
【００２２】
エンコーダは、一つ以上の部分に関する一つ以上のマスクを代表する情報を、エンコーダが生成した符号化データ（E2）を復号する際に一つ以上のデコーダがアクセスするリモートデータベースに格納できてもよい。
【００２３】
エンコーダにおいて、少なくとも一つの要約値は、算術平均，歪平均（skewed mean），対数平均，加重平均，平均値，最小値，最大値，最頻値または中央値でもよい。他の種類の計算も可能であって、例えば、複雑な数学的関数の計算結果や、結果を集合の形式で提供する多項式の計算結果でもよい。例えば、他の種類の計算の一例は、自身と、最大値と最小値の平均値との間の距離を最小にするように元のデータセット値を選択することを含んでもよい。この種の要約値はデータセットの最大誤差を出来るだけ小さくし、通常、小さい平均二乗誤差を得られる。
【００２４】
第2の側面によれば、次の方法が提供される：データ（D1）を符号化して対応する符号化データ（E2）を生成する符号化方法であって、前記方法は、
（ａ）前記符号化されるデータ（D1）の一つ以上の部分を解析し、前記一つ以上の部分を適切な一つ以上の符号化ユニットに導くために、解析ユニットを使用することであって、前記一つ以上の符号化ユニットは前記一つ以上の部分を符号化して前記符号化データ（E2）を生成でき、前記一つ以上の符号化ユニットは前記一つ以上の部分を符号化する際に互いに異なる符号化アルゴリズムを利用できる、前記使用することと；
（ｂ）受信した部分の各々に存在するデータ値を計算し、前記データ値を少なくとも二つのセットに分割し、前記部分の空間マスクを保持しつつ、所定のセットに存在するデータ値から前記所定のセットに対する少なくとも一つの要約値を計算するために、前記少なくとも一つの符号化ユニットのうち少なくとも一つの符号化ユニットを使用することであって、前記空間マスクおよび前記少なくとも二つのデータセットに対して計算された値の代表情報は前記符号化データ（E2）に含まれる、前記使用することと；
を含む、方法。
【００２５】
符号化方法は、一つ以上の符号化ユニットから符号化出力データを受信し、エンコーダから符号化データ（E2）を生成するためにこの符号化出力データを更に符号化する出力符号化ユニットを使用することを含んでもよい。
【００２６】
符号化方法は、各部分に存在するデータ値をデータセットに分割し、データセットの数は２から８の範囲、または２以上である、少なくとも一つの符号化ユニットのうち少なくとも一つの符号化ユニットを使用することを含んでもよい。
【００２７】
符号化方法は、一つ以上の部分に関する一つ以上のマスクを代表する情報を、エンコーダが生成した符号化データ（E2）を復号する際に一つ以上のデコーダがアクセスするリモートデータベースに格納することを含んでもよい。
【００２８】
符号化方法では、符号化データ（E2）は更に符号化および／または圧縮されてもよい。符号化方法では、更なる符号化および／または圧縮は、次のうちの少なくとも一つを含む：DPCM（「差分パルス符号変調」），RLE（「連長圧縮」），SRLE（「スプリット連長圧縮」，英国特許出願第1303660.3号に開示，出願人：Gurulogic Microsystems Oy，出願日：2013年3月1日），EM（「エントロピー修正法」，英国特許出願第1303658.7号に開示，出願人：Gurulogic Microsystems Oy，出願日：2013年3月1日），算術符号化，デルタ符号化，ODelta符号化（英国特許出願第1303661.1号に開示，出願人：Gurulogic Microsystems Oy，出願日：2013年3月1日），VLC（「可変長符号化」），Lempel-Ziv符号化法（ZLIB，LZO，LZSS，LZ77），Burrow-Wheeler変換ベース符号化法（RLE，BZIP2），ハフマン符号化。
【００２９】
第3の側面によれば、次のデコーダが提供される：符号化データ（E2）を復号して対応する復号データ（D3）を生成するデコーダであって、
前記デコーダは、前記符号化データ（E2）の一つ以上の部分を配信し、前記一つ以上の部分を適切な一つ以上の復号ユニットに導く配信ユニットであって、前記一つ以上の復号ユニットは前記一つ以上の部分を復号して前記復号データ（D3）を生成しうるように構成される、前記配信ユニットを備え、
前記少なくとも一つの復号ユニットのうち少なくとも一つの復号ユニットは、前記符号化データ（E2）に含まれる空間マスクと少なくとも二つのデータセットに対する要約値の代表情報を抽出し、データブロックの要素に対して、前記要素が属するセットに従って値を割り当てうるように構成され、前記要素が属するセットは前記マスクによって規定される、
デコーダ。
【００３０】
デコーダは、一つ以上の復号ユニットから復号出力データを受信し、デコーダから全復号データ（D3）を生成するために復号出力データを更に集約する出力復号ユニットを備えてもよい。
【００３１】
デコーダは、符号化データ（E2）から一つ以上の部分を抽出し、符号化データに存在する符号化パラメータが規定する通りに、一つ以上の復号ユニットに導く入力ステージを更に備えてもよい。
【００３２】
デコーダにおいて、少なくとも一つの復号ユニットのうち少なくとも一つは、データセットに対応するマスクの要素に値を割り当てることができ、データセットの数は２から８の範囲、または２以上であってもよい。例えば、8データセットが8ビットバイナリデータとして使用されてもよい。
【００３３】
デコーダは、一つ以上の部分に関する一つ以上のマスクを代表する情報を、エンコーダが生成した符号化データ（E2）を復号する際にリモートデータベースから読み出せてもよい。
【００３４】
デコーダは、要約値が、算術平均，歪平均（skewed average），対数平均，加重平均，平均値，最小値，最大値，最頻値または中央値の少なくとも一つであるように実装されてもよい。他の種類の計算も可能であって、例えば、複雑な数学的関数の計算結果や、結果を集合の形式で提供する多項式の計算結果でもよい。例えば、他の種類の計算の一例は、自身と、最大値と最小値の平均値との間の距離を最小にするように元のデータセット値を選択することを含んでもよい。この種の要約値はデータセットの最大誤差を出来るだけ小さくし、通常、小さい平均二乗誤差を得られる。
【００３５】
第4の側面によれば、次の復号方法が提供される：符号化データ（E2）を復号して対応する復号データ（D3）を生成する復号方法であって、前記方法は、
（ａ）前記符号化データ（E2）の一つ以上の部分を配信し、前記一つ以上の部分を適切な一つ以上の復号ユニットに導く配信ユニットを使用することであって、前記一つ以上の復号ユニットは前記一つ以上の部分を復号して前記復号データ（D3）を生成できる、前記使用することと；
（ｂ）前記符号化データ（E2）に含まれる空間マスクと少なくとも二つのデータセットに対する要約値の代表情報を抽出し、データブロックの要素に対して、前記要素が属するセットに従って値を割り当てるために、前記少なくとも一つの復号ユニットのうち少なくとも一つの復号ユニットを使用することであって、前記要素が属するセットは前記マスクによって規定される、前記使用することと；
を含む、方法。
【００３６】
復号方法は、一つ以上の復号ユニットから復号出力データを受信し、デコーダから全復号データ（D3）を生成するために復号出力データを更に集約する出力復号ユニットを使用することを含んでもよい。
【００３７】
復号方法は、符号化データ（E2）から一つ以上の部分を抽出し、符号化データに存在する符号化パラメータが規定する通りに、一つ以上の復号ユニットに導く入力ステージを使用することを含んでもよい。
【００３８】
復号方法において、少なくとも一つの復号ユニットのうち少なくとも一つは、データセットに対応するマスクの要素に値を割り当てることができ、データセットの数は２から８の範囲、または２以上であってもよい。16ビットや32ビット，それ以外のバイナリデータが用いられてもよいが、この実施例では、8ビットバイナリデータが有利に用いられる。
【００３９】
復号方法は、一つ以上の部分に関する一つ以上のマスクを代表する情報を、エンコーダが生成した符号化データ（E2）を復号する際にリモートデータベースから読み出すことを含んでもよい。
【００４０】
復号方法を用いる際、少なくとも一つの要約値は、算術平均，歪平均（skewed mean），対数平均，加重平均，平均値，最小値，最大値，最頻値または中央値の少なくとも一つでもよい。他の種類の計算も可能であって、例えば、複雑な数学的関数の計算結果や、結果を集合の形式で提供する多項式の計算結果でもよい。例えば、他の種類の計算の一例は、自身と、最大値と最小値の平均値との間の距離を最小にするように元のデータセット値を選択することを含んでもよい。この種の要約値はデータセットの最大誤差を出来るだけ小さくし、通常、小さい平均二乗誤差を得られる。
【００４１】
第5の側面によれば、次のデータ通信システムが提供される：データ（D1）を符号化して対応する符号化データ（E2）を生成する、第１の側面に従うエンコーダを少なくとも一つと；符号化データ（E2）を復号して対応する復号データ（D3）を生成する、第3の側面に従うデコーダを少なくとも一つと；を備える、データ通信システム。
【００４２】
第6の側面によれば、第2の側面に従う方法および第4の側面に従う方法の組合せを利用する、第5の側面に従うデータ通信システムにおけるデータ通信方法が提供される。
【００４３】
第7の側面によれば、非一時的コンピュータ可読データ格納メディアに記録され、第2の側面に従う方法を実行するために、コンピュータハードウェアで実行される、ソフトウェア製品が提供される。
【００４４】
第8の側面によれば、非一時的コンピュータ可読データ格納メディアに記録され、第4の側面に従う方法を実行するために、コンピュータハードウェアで実行される、ソフトウェア製品が提供される。
【００４５】
本発明の構成は、添付の特許請求の範囲に定義される本発明の範囲を逸脱しない限りにおいて、様々に組合せ可能であることを理解されたい。
【図面の簡単な説明】
【００４６】
本願の実施例を、添付の図面を例として参照しつつ説明する。
【図１】エンコーダおよびデコーダの略図である。
【図２Ａ】データ符号化方法を実装するエンコーダの概略図である。
【図２Ｂ】本願に従って符号化されたデータ（E2）を復号する方法を実装するデコーダの概略図である。
【図３】図2Aのエンコーダの第2符号化ステージの概略図である。
【図４】図2Aのエンコーダの第2符号化ステージで符号化するために、画像データをデータブロックすなわち部分に分割する動作を示す図である。
【図５】図2Aのエンコーダを用いて符号化されるデータブロックの図である。
【図６】図5のデータブロックの表現に用いる数値のセットに対応する要約値を計算した後の、図5のデータブロック対するマスクの図である。
【図７】図2Aのエンコーダで生成された符号化データから取り出し、復号して再生したデータブロックの図である。  添付図面において下線の引かれた番号は、その番号が位置するアイテムやその番号が隣接するアイテムを表わすために使用される。下線が引かれていない番号は、その番号と線で結ばれて特定されるアイテムに関連している。番号に下線が引かれず矢印と共に記されている場合、その番号は矢印が指すアイテム全般を特定するために使用される。
【実施例の説明】
【００４７】
概して、本願は、データ（D1）を符号化し、対応する符号化データ（E2）を生成する改良方法に関連し、符号化効率を改良することができる。この改良方法は、静止画像や動画コンテンツ，グラフィックコンテンツ，オーディオコンテンツ，ECG（「心電図」），地震データ，その他の符号化されるデータ（D1)で表現される幅広いコンテンツを効率よく符号化できる。
【００４８】
図1を参照すると、本願に従う方法でデータ（E2）を符号化するように動作するエンコーダ10の略図が示されている。エンコーダ10は符号化データ70（E2）を生成し、符号化データはその後一つ以上のデコーダ25で復号されるために格納および／またはストリーミングされる。一つ以上のデコーダ25は、1人以上のユーザが利用するための対応する復号データ75（D3）を生成するように動作する。復号データ75（D3）は符号化前のデータ20(D1)と実質的に対応していてもよい。少なくとも一つのエンコーダ10と少なくとも一つの対応するデコーダ25の組合せは、参照番号5で示すデータ通信システム、すなわちコーデック構成を形成する。
【００４９】
図2Aを参照すると、本願に従う方法でデータ20（D1）を符号化するように動作するエンコーダ10の略図が示されている。エンコーダ10は、符号化されるデータ20（D1）が既にデータブロックフォーマット担っていない場合、それをデータブロック40に分割する第1ステージ30を備える。こうした分割の結果、符号化されるデータ20（D1）から得られるデータブロック40は、そこに含まれるデータコンテンツの性質に応じて互いに異なるサイズを持つ非等長データブロック40であってもよい。これは、データ（D1）から対応する同じサイズのデータブロックを得る等長分割を用いる多くの既知の符号化アルゴリズムとは区別される点である。第2ステージ50では、エンコーダ10は解析ユニット100と、様々な種類の符号化アルゴリズムを用いる複数の符号化ユニット110（1）−110（n）を備える。符号化アルゴリズムは互いに異なる。それらの中にはDCT等の既知アルゴリズムがあってもよいが、それらに限定されない。符号化ユニット110（1）−110（n）は各データブロック40を処理するために選択的に用いられる。符号化ユニット110（1）−110（n）で用いられるアルゴリズムの中には、実質的に互いに類似のものがあり、並列処理で同時に実行されてもよいことを理解されたい。符号化ユニット110（1）−110（n）の少なくとも一つは次のように動作する：データブロック40に存在するデータを少なくとも二つのレベルに分類する；そのデータブロック40のどのデータ値が対応するレベルに属するのかを示す（一つまたは複数の）マスクを生成する；各レベルに分類されたデータの要約値、例えば、代表値や平均値，それに類する値を計算する。マスクは空間ビットマップとして有利に実装されてもよい。第3ステージ60は各レベルの要約値と共にビットマップを圧縮し、エンコーダ10から符号化データ70（E2）を生成することを含む。第3ステージ60では異なる圧縮アルゴリズム、例えば、RLE（「連長圧縮」），DPCM（「差分パルス符号変調」），VLC（「可変長符号化」），SRLE，EM（エントロピー修正法），ODelta符号化，レンジ符号化等が用いられてもよい。他のデータ圧縮アルゴリズムが別でまたは追加で用いられて、多段データ圧縮等が用いられてもよい。エンコーダ10は他のエンコーダと組合せてデータ20（D1）のハイブリッド符号化を実現し、符号化データ70（E2）を生成してもよい。例えば、DCTやパレット，DPCM等がある。特に、「レベル」という用語は、色度（chrominance level），輝度，明度（colour value, brightness），振幅，周波数，強度の一つ以上に対応しうる。しかし「レベル」は、符号化されるデータ20（D1）の性質に依存する物理的変数を記述する他のパラメータを含んでもよい。
【００５０】
第1ステージ30では、符号化されるデータ20（D1）の性質に応じてデータブロック40のサイズは変わる。データ20（D1）はオーディオコンテンツやECGデータ（心電図記録），地震データ等の1次元であってもよい。別の例として、データ20（D1）は静止画像や動画コンテンツ，グラフィカルコンテンツ，3D画像／動画／グラフィック等の多次元でもよい。また、2次元入力データが四角や三角，円形，または類似の要素、すなわち平面幾何学的図形の任意の形を含んでもよい。さらに、3次元画像データは、立方体，錐体，柱体，球体，または類似の形態である要素を含んでもよい。符号化されるデータ20（D１）が高い空間周波数成分を含み、データ20（D1）で表現される空間要素を規定するレベルが僅かしかない場合、従来の既知の符号化方法では特に非効率である。しかし、こうした場合でも、エンコーダ10では効率良く処理される。エンコーダ10は、元データまたはDPCMや，動き推定，空間予測等の事前符号化処理を経て形成されたものとして、データ20（D1）を符号化できてもよい。
【００５１】
前述の通り、エンコーダ10の第2ステージ50では、図3に示すように本願に従う圧縮方法が用いられる。第1ステージからのデータブロック40の符号化に用いる最適な符号化アルゴリズムを決定する解析ユニット100で、データブロック40は解析される。単独または一つ以上の符号化ユニット110（1）−110（n）を利用して解析ユニット100が実行した解析に基づいて、データブロックは一つ以上の符号化ユニット110（1）−110（n）に送られる。ここでnは整数であって、第2ステージ50で用いる異なる符号化アルゴリズムの総数を示す。異なる符号化アルゴリズムの総数には、本願に従う2値符号化アルゴリズム等と共に既知の符号化アルゴリズムの組合せが含まれてもよい。2レベルに関連する計算値は例えば、符号化される所定のデータブロック40内のデータ値に適用される平均値や最頻値，中央値，その他の代表値等から決定される。2値符号化アルゴリズムはほんの一例であって、様々な多値アルゴリズムが用いられてもよいことを理解されたい。所定の種類のデータブロック40を符号化するのにどの符号化ユニット110を用いるのが最適であるかを決定するために、解析ユニット100はデータブロック40に存在する異なる色数と空間周波数情報を解析する。符号化ユニット群110は次の一つ以上を用いてもよい：DC（「直流」）符号化，スライド符号化，DCT（「離散コサイン変換」），ウェーブレット符号化，パレット符号化，データベース符号化，VQ（「ベクトル量子」）符号化，スケール符号化，ライン符号化，内挿・外挿法。第2ステージ50からの符号化データには、所定のデータブロック40に対してどの符号化ユニット110が使用されたかを示すデータが含まれている。符号化ユニット群110のうち少なくとも一つの符号化ユニット110（i）は、本願に従う符号化アルゴリズムを用い、以降で詳述される。ここで、iは1からnまでの整数である。データブロック40のサイズは第1ステージ30から提供されるデータストリームで可変である。第2ステージ50に提供される情報は、データブロック40が一つ以上の所定の画像のどの空間位置に含まれるかを示す情報も含む。そうした情報は第2ステージ50から提供される符号化データに含まれる。このようにデータブロックの位置を示すデータを含めることは、次の特許出願に開示されているように有利に実装されてもよい：英国特許出願第1214414.3号（エンコーダ）と関連出願である米国特許出願第13/584005号，欧州特許出願第13002521.6号；英国特許出願第1214400.2号（デコーダ）と関連出願である米国特許出願第13/584,047号，欧州特許出願第13002520.8号。これらの特許出願は参照により本出願に組み込まれる。関連する外国特許出願も同様に、参照により本出願に組み込まれる。別の方法として、こうしたデータを含めることが第3ステージ60で有利に実装されてもよい。データブロックのサイズは、画素数を用いた高さ×幅のような数値で表現される。データブロックの空間位置は、画像の特定の隅からのx，y画素数といった画像に関する座標として有用に定義できる。解析ユニット100と第1ステージ30は、一つ以上の選択された符号化ユニット110（1）−110（n）における最も効率的なデータ圧縮方式によって、符号化されるデータ20（D1）をデータブロック40に繰り返し分割するように動作してもよい。例えば、データ20（D1）内で��データブロック40の空間位置とサイズは、エンコーダ10で利用可能な異なる符号化ユニット110（1）−110（n）を考慮して選択される。符号化ユニット110（1）−110（n）は、少なくとも一部をソフトウェアで実装されてもよい。そして、エンコーダ10が異なる種類のデータ20（D1）にも柔軟に対応できるような、エンコーダ10の符号化能力を段々と向上させる定期的なアップグレードが可能であってもよい。
【００５２】
図2Bを参照すると、 エンコーダ10に対応するデコーダ25が示されている。デコーダ25は、符号化データ70を受信し、エンコーダ10の第3ステージ60で適用した符号化の逆操作を符号化データ70に実行して、参照番号135で示す中間復号データを生成するように動作する第1復号ステージ130を備える。中間復号データは、所定のデータブロック40の符号化に使用した符号化ユニット110の種類やデータブロック40用マスク，適切な要約値等の情報を含む。要約値は平均値や最頻値，中央値等でもよいが、これらに限定されない。デコーダ25は、配信ユニット155と、一つ以上の符号化ユニット110の逆操作に対応する一つ以上の復号ユニット160（1）−160（n）を備える第2ステージ150を更に備える。ここで、中間復号データ135に存在する符号化データブロックは、配信ユニット155によって第2ステージに備わる適切な復号ユニット160（1）−160（n）に送られ、デコーダ25内部にデータブロック40が再生される。デコーダ25は、エンコーダ10の第1ステージ30で実行された動作の逆操作を適用し、データ20（D1）および／または符号化データ（E2）に実質的に対応する復号データ75を生成するように動作する第3ステージ170を更に備える。追加または別の例として、データブロック40の空間情報とサイズ情報が第1復号ステージ130で生成されてもよい。一つ以上の復号ユニット160（1）−160（n）で用いられる方法において、サイズ情報が適切に利用されて動作するのに有用であるように、空間および位置情報が更に第2ステージ150にも送られる。そして、第3ステージ170でデータブロックを適切な空間位置に配置するのに有用であるように、空間および位置情報が更に第3ステージ170にも送られる。
【００５３】
本発明に従う符号化アルゴリズムは、画素のように8から256の要素または値の範囲にあるデータブロック40を符号化するのに有利に利用されるが、こうしたアルゴリズムはあらゆるサイズのデータブロック40の符号化にも容易に利用される。また、符号化アルゴリズムは便宜上、多値符号化方法としても言及される。こうしたアルゴリズムの第1の、そして最も有用な実装は、前述したように限定的でないが色などの2値を用い、符号命令プロンプトやテキスト，2値のみを含む他のコンテンツ等の対象を符号化するために最適化される。しかし、2より多いレベル、すなわち3値，4値またはそれを越えるレベルを用いる「多値」を符号化するアルゴリズムを実装することが実行可能であってもよい。データブロックが符号化されるレベルの数は、符号化前のデータブロック40に存在するレベルの数よりも大幅に少なく、有益である。例えば、有益であるよう少なくとも3分の1であるか、より有益であるよう少なくとも5分の1であるか、更により有益であるよう少なくとも10分の1であってもよい。第2ステージ50での符号化前のデータブロックに存在するレベル数は、元のレベル数として言及される。すなわちそれは、画像，動画，オーディオ，グラフィックの各コンテンツを表現するデータブロック40に存在するダイナミックレベルの基準である。   例として、図4を参照すると、 一つの画像フィールド200が2次元配列に1000×1000画素点を含み、エンコーダ10の第1ステージ30で画像フィールド200は100のデータブロック40に分割される。データブロックは参照番号210で示される。各ブロック210は100×100画素、計10,000画素に対応する。各画素は256レベルのダイナミックレンジを規定するバイナリ8ビットの色および／または輝度で表現される。ダイナミックレンジは制限があり、レベル数は次式を用いて計算もできる：
レベル数＝分布幅値＝最大レベル−最小レベル＋1。
【００５４】
レベル数は、データまたはデータブロックで使われる異なるレベルの数を用いて記述されてもよく、その値は分布幅の値に等しいかそれより小さくてもよい。元のレベル数に対しては、全て異なる式が使われることもありうる。しかし、出力レベル数は通常、データブロックで用いる異なるレベル数を指定する。符号化ユニット110（i）が所定のブロック210を符号化する際、レベル数は例えば、2から8の範囲に減らされ、後述する追加データを伴う。符号化ユニット110（i）が例えば、8より多いレベルを使う場合、第2ステージ50に提供されるデータの前に、予測符号化やデルタ符号化等の画像200の前処理の使用を要求するため、データ圧縮を実行する際、符号化ユニット110（i）はより効率が悪くなる。別の例では、値がある範囲、例えば、レベルの要約値を計算するために使われる最小値（min）および最大値（max）のパラメータで規定される範囲内であるか否かを記述するビットを用いて、要約値のレベルを伝えることも含む。例えば、要約値が10，12，13，15，17である場合、伝えられるレベル値は10（＝最小要約値），6から8（＝後続のビット数），どの要約値が異なるレベルに使われるかを示す値(1)011010(1)を含む。また、この例では6ビットで十分である。最初の値10と最後の値17は1回目に伝達済みの二つの値10と6によって使われるため、既に分かっているからである。デルタ符号化を用いた実質的に類似の実施例では、10と2，1，2，2が例えば二つのデータストリームに分割され、最小値と差分値に対してより効率的なエントロピー符号化を利用できる。
【００５５】
符号化ユニット110（i）で用いる符号化アルゴリズムは、グレースケール画像や単チャネルのみを使う他の情報を符号化するために用いられてもよい。また、符号化ユニット110（i）で用いる符号化アルゴリズムは、カラー画像や他の多チャネルコンテンツに用いられてもよい。3次元カラー画像等の多チャネルコンテンツは、全チャネルが等しく符号化／圧縮されるように符号化されてもよい。または別の方法として、例えば、オーディオチャネルのデータブロックはビデオチャネルのデータブロックとは異なる方式で符号化されるといったように、互いに異なる方式で符号化／圧縮されるように、多チャネルコンテンツが符号化されてもよい。多チャネルは、24ビットRGBトリプレットや三つの（R，G，B）8ビットカラー値等として共に、または別々に符号化されてもよい。チャネルが互いに異なる方式で符号化される場合、符号化ユニット110の異なる符号化アルゴリズムとデータブロック40の異なるサイズが用いられてもよい。データブロック40のサイズ選択は、前述のように、符号化されるデータ20（D1）に存在するコンテンツの種類に基づいて実装されてもよい。チャネルが同様に符号化される場合、またはR，G，Bの各チャネルが別々であって別々に符号化される場合、データブロックサイズや用いられる符号化アルゴリズムもまた、データコンテンツに基づいて可変でもよい。
【００５６】
本願に従う多値方法を用いて生成したデータブロック値は、後で後続のデータブロックが利用できるように、データベースに転送されてもよい。データベースはデータ20（D1）の符号化時にエンコーダ10に独立して作成されもよく、符号化データ70（E2）の復号時にデコーダ25に作成されもよい。別の方法として、エンコーダ10とデコーダ25の何れかが作成した共通データベースを双方が利用してもよい。また、多の装置やソフトウェアアプリケーションが作成した共通データベースをエンコーダ10とデコーダ25の両方が同様に利用してもよい。どちらの場合でも、エンコーダ10とデコーダ25が使用するデータベースは、有益であるように同一であって、伝送されるデータベースのリファレンスは常に全てのステージ、すなわちエンコーダ10での計算やエンコーダ10での再構成、デコーダ25での再構成で同じデータ値を示す。データブロック値やデータブロック値の代わりに多値方法で用いるマスクも、データベースに転送されてもよい。マスクとデータブロック値の両方は、後のデータブロックや本願に従う多値方法を用いて符号化されたデータブロックのコンテンツを符号化するのに使用するために、データベースから読み出される。こうして、格納および／または転送されるデータのデータサイズを減らし、コーデック構成5で達成される圧縮率を更に向上させることができる。
【００５７】
本願に従う多値方法は、データベースやデータベース内の個々のデータベース要素を圧縮するため等に使用されてもよい。この方法は可逆および非可逆の両方の圧縮に非常によく適している。オーディオや画像，動画データ等、符号化されるデータ20（D1）に存在する様々な種類のデータにとって、非可逆圧縮は許容されるだけでなく、符号化データ70（E2）に関する達成可能な圧縮率を有意に向上させる。しかし、データベースや文書，バイナリデータ等の一部他の種類のデータは通常、必ずしも可逆圧縮される必要がないため、多値方法による複数のレベルを用いる必要が生じる。また別の例として、より小さいデータブロックがコーデック構成5に使用されてもよい。
【００５８】
次に、符号化ユニット110（i）で用いる符号化アルゴリズムについて、図5を参照してより詳細に説明する。図5は、例示的な元データブロック40を参照番号300で示す。データブロック300は前述したグレースケールを有する4×4画素を含む。本願に従うアルゴリズムを用いる符号化ユニット110（i）では、符号化時に発生する符号化誤差が小さく、データブロック300が効率的に符号化されやすい利点がある。
【００５９】
アルゴリズムを適用する際、データを二つのデータセットに分割する値は、有利であるように最初に定義されてもよい。例えば、ブロック300内の全画素または要素の平均値が式1に従って、エンコーダ10のコンピュータハードウェアや専用デジタルハードウェアで計算されてもよい。
2014087058.tif 000004
【００６０】
次に、アルゴリズムはLevel_0とLevel_1の二つのレベルセットを定義する。セットLevel_0はMeanAll未満の値を持つ全ての画素を含み、セットLevel_1はMeanAll以上の値を持つ全ての画素を含む。次にデータブロック300の画素は、図6の対応するデータブロック320上にマッピングされる。画素の空間位置は保持されるが、二つのセットLevel_0とLevel_1に対応する2値のみで表現される。二つのレベルセットLevel_0，Level_1の各々に対し、要約値の一例である平均値が式2および式3に従って、前述のコンピュータハードウェアや専用デジタルハードウェアで計算される。
2014087058.tif 000005
【００６１】
空間加重平均レベルが計算される場合、上式の括弧内の和はそれぞれ関連する係数が掛けられる。関連する係数は互いに異なっていてもよい。エンコーダ10とデコーダ25がこれらの係数、また適切であればそれらの逆数を用いる場合、符号化圧縮の際の「透かし」データとして、データの不正コピー防止等が実現できる。例えば、定期購読の支払と引換えに、データベース等から逆係数がデコーダ25に与えられる。これにより例えば、所定のエンドユーザが品質を落とした無償データコンテンツを利用し、その所定エンドユーザが購読支払や類似の支払をして高品質コンテンツを購入することもできる。
【００６２】
その後、式2および3を参照して、アルゴリズムを実行する場合、データブロック300の画素の空間表現が画素マスク320として各レベルセットの要約値であるMeanLevel_0およびMeanLevel_1と併せて格納される。別の例としてデータは、データメモリに格納される代わりに符号化ユニット110（i）からストリーミングされてもよい。前述のアルゴリズムでは算術平均の計算が記載されているが、歪平均（skewed mean）や非対称平均，対数平均，幾何平均，最小値，最大値，最頻値，中央値等の他の種類の計算が可能であることも理解されたい。各レベルセットの値は、あらゆる計算手段を用いて、専用デジタルハードウェアおよび／またはソフトウェア製品を実行するコンピュータ装置で計算されてもよい。要約値を計算する一例は、自身と、最大値と最小値の平均値との間の距離を最小にする元のデータ値を選択することである。この種の要約値はデータセットの最大誤差を出来るだけ小さくし、通常、より小さい平均二乗誤差を得られる。デコーダの観点から、使用される計算方法は重要な問題ではない。最適なレベル数とレベルセットの値を探す計算手段の例として、「総当たり」法やモンテカルロ法等を含んでもよい。例示した最適化は、符号化時に必要なビット数と符号化情報に許容される誤差量を決定するレート歪（Rate-Distortion）最適化でもよい。この方法で二つの要約値を出力する代わりに、要約値の一つが、他の一つ以上の要約値に関する参照値と、その参照値と他の一つ以上の要約値との差分から出力されてもよい。この例では、9.1818と（172.8 - 9.1818）から出力されてもよい。符号化ユニット110（i）からの出力データのデータ圧縮率をより高めるために、前述で計算したような要約値が最近似整数値等に量子化されてもよい。使用される量子化の程度は、データブロック300を表現するのに必要なセット数の動的関数であってもよい。前述の例における最近似整数への量子化は、MeanLevel_0 = 9とMeanLevel_1 = 173の要約値を与える。
【００６３】
符号化ユニット110（i）から符号化データ70（E2）を生成する場合、画素マスク320 に基づいて、様々な方式、例えば、図6に示すように左から右へ、上から下へといった複数の可能なスキャン順序方式やジグザグ方式，迷路方式，その他類似の方式で、画素の空間表現であるマスクが出力される。一例ではマスクは、符号化ユニット110（i）からの出力データが0000 1100 0010 0110と表現されるように、左から右へ、上から下へと出力される。
【００６４】
エンコーダ10が動画コンテンツ（D1）を符号化するために使用される場合、画像シーケンスがエンコーダ10に提供される。ここで各画像はデータブロック40に分割されやすくなっており、データブロックは解析ユニット100が解析した内容に応じた適切な符号化ユニット110を用いて符号化される。前述の通り有益であるように、符号化の第2ステージ50でのデータブロックの性質に応じて、エンコーダ10は複数の異なる符号化ユニット110を動的に切替えられる。前述のように、符号化ユニット110の選択は第2ステージ50から提供される符号化データに記録される。第3ステージ60では、DPCM（「差分パルス符号変調」）やRLE（「連長圧縮」），SRLE，EM（エントロピー修正法），算術符号化，デルタ符号化，ODelta符号化，VLC（「可変長符号化」），Lempel-Ziv符号化法（ZLIB，LZO，LZSS，LZ77等），Burrow-Wheeler変換ベース符号化法（RLE，BZIP2等），ハフマン符号化等の一つ以上を用いて更に符号化および／または圧縮が行われてもよい。第2ステージから出力されたデータセットのスキャン順序であるマスクの供給は、例えば米国特許出願第2010/0322301号（「画像プロセッサ，画像生成器およびコンピュータプログラム」，出願人：Gurulogic Microsystems Oy，発明者：Tuomas Karkkainen）に開示されているように、データベースを介して有利に実装されてもよい。この特許出願は参照により本出願に組み込まれる。マスクが対応するデコーダに通信される経路を提供するこうしたデータベースを利用することで、符号化フォームにある符号化コンテンツの不正配布（すなわち、不正ファイル共有）を防止するといったアクセスキーの形態を提供できる。
【００６５】
図5のデータブロック300の復号再生バージョンは、図7に参照番号500で示されている。この再生データブロック500はデコーダ25から提供された復号出力データ75（D3）の一部に対応する。データブロック500に存在する情報の僅かな消失は、エンコーダ10に入力された元のデータブロック40，300に関連して生じる。
【００６６】
別の実施例では、本願の多値方法を用いて効率的に符号化される測定データの17サンプルがある。元のサンプル値は次の通りである：
122，153，190，198，188，156，153，119，148，122，122，153，196，120，198，152，154。
【００６７】
平均値（＝155.53）はこれらの値を2グループに分割するのに用いられるが、これがデータを符号化するための最良方法ではない。2グループは次のように値を含む：
低＝122，153，153，119，148，122，122，153，120，152，154（平均＝138）；
高＝190，198，188，156，196，198（平均＝187.66）。
【００６８】
要約値として平均値（138と188）を持つこれら二つのレベルには、大きな再構成誤差が生じうる（差の絶対値の合計（SAD）＝230である）。
【００６９】
よって、より好ましい分割点は例えば、次式によって得られる：
（最小値＋最大値）/ 2 = (119 + 198) / 2 = 158.5
【００７０】
これによる2グループは次の値を含む：
低＝122, 153, 156, 153, 119, 148, 122, 122, 153, 120, 152, 154（平均＝139.5）；
高＝190, 198, 188, 196, 198（平均＝194）。
【００７１】
平均値140と194を持つこれら二つのレベルでは誤差は小さくなる可能性がある（SAD＝204）。
【００７２】
二つのレベルグループ（低と高）への同様の分割は、他の複数の方法で計算されてもよい。レベルグループに分割する有益な解決法の一つは、データの変化量が大きいまたは最大である場合にデータを新しいレベルグループに分割する方法である。こうした最大変化量は、最初にデータをその最小値から最大値までの昇順に並べることで容易に見出せる。昇順データ値は次の通りである：
119, 120, 122, 122, 122, 148, 152, 153, 153, 153, 154, 156, 188, 190, 196, 198, 198。
【００７３】
データの最大の変化は188と156の間（差は32）である。
【００７４】
二つのレベルでも再構成誤差はまだかなり大きく、同様の分割規則をデータの変化が最大であるグループに継続して適用できる。この場合、第2分割点は148と122の間（差は26）にあることが分かる。レベルグループは次の通りである：
グループ（0）＝119，120，122，122，122（平均＝121）；
グループ（1）＝148，152，153，153，154（平均＝152.71）；
グループ（2）＝188，190，196，198，198（平均＝194）；
【００７５】
これら3レベルと要約値121，153，194によって、SADは僅か（6＋10＋20＝）36である。
【００７６】
これら3レベルに対する要約値として最頻値（modal value, model value）を用いることも可能であり、その場合の要約値は122，153，198であり、このとき、SADは（5＋10＋20＝）35である。
【００７７】
要約値に中央値を用いると、それらは122，153，196である。このとき、SADは（5＋1018＝）33である。要約値はいつでも自由に選択可能である。選択した誤差基準に依存する最良の再構成を得るために、グループ毎に異なる要約値を用いることもできる。
【００７８】
SAD値33が十分良いとはいえない場合、4から12レベルといった更に多くのレベルを生成することも可能である。また、VLC等の符号化法を使用して、デルタ値等の再構成誤差を符号化することもできる。
【００７９】
SAD値33が十分良い場合、この三つの要約値（122，153，196）は、データ値がどのレベルに属するかを記述するマスクの中で使用される。この実施例では、レベル1が最大値を持ちマスク値は「0」、レベル0の値は「10」、レベル2の値は「11」にそれぞれ設定されている。そのため、マスク値は次のように表現される：
10，0，11，11，11，0，0，10，0，10，10，0，11，10，11，0，0。
【００８０】
異なるレベルのデータを特定するマスクを記述するために、バイナリマスクの2セットを使用することも可能である。例えば、第1バイナリマスクは（156以下の）小さい値を「0」とし、（188以上の）大きい値を「1」として特定する：
0，0，1，1，1，0，0，0，0，0，0，0，1，0，1，0，0。
【００８１】
第2バイナリマスクは（122以下の）小さい値を「0」とし、（148以上の）大きい値を「1」として特定する：
0，1，1，1，0，1，0，0，1，0，1，1。
【００８２】
データを異なるセットに分割する有益な解決法の一つは、分布幅（最大値−最小値＋1）が最も大きいセットを必ず分割することである。複数のセットが同一の分布幅を有する場合、有益であるように、最大データ値を含むセットが分割対象として選択される。このような一連の分割は、最大分布幅が十分に小さくなるまで、すなわち、所定の閾値を越えなくなるまで継続される。次に各セットに対して要約値が定義される。例えば、最頻値や中央値を用いてもよい。
【００８３】
新しいセット分割が実行される度に新たな要約値が算出されるように、この時点で、セットの追加を繰り返すことも可能である。データ値に最も近い要約値を持つセットに全データ値を置くことによって、新たなセットが再作成される。セットの作成と要約値の定義には多数の有益な実装方法があるが、符号化の最終結果は常に一つ以上のマスク320と二つ以上の要約値を使用する。そしてこれらが、符号化ユニット110（i）を用いて実装される方法の出力である。
【００８４】
全ての例示的マスクと要約値は、デルタ符号やRLE，VLC，データベース等の多様な方法で更に圧縮できる。
【００８５】
エンコーダ10および／またはデコーダ25は、カスタムデジタル集積回路やフィールドプログラマブルゲートアレイ（FPGA），その他類似の専用電子ハードウェアを用いて有利に実装される。別の方法または追加の方法として、エンコーダ10および／またはデコーダ25は、非一時的コンピュータ可読データ記憶メディアに格納した一つ以上のソフトウェア製品を、データメモリとデータ通信するコンピュータハードウェアで実行することによって、有利に実装されてもよい。コンピュータハードウェアは高速縮小命令セットコンピュータ（RISC）として実装されてもよい。   符号化データ70（E2）は、ストリーミングや光学的読取り可能ディスク等のデータキャリアに格納したもの，データメモリに格納したもの等の一つ以上でもよい。
【００８６】
前述した実施例への修正は、添付の特許請求の範囲に定義される発明の範囲を逸脱しない限りにおいて可能である。本発明の記述と特許請求の範囲で用いられる「含む」，「備える」，「包含する」，「構成される」，「有する」，「存在する」等の表現は、包括的構成であると解釈されることを意図しており、明示的に記載されていないアイテムや部品，構成要素も含まれうることを意図している。単数による表記は、複数の場合も関連すると解釈される。添付の特許請求の範囲における括弧内の数字は、請求項の理解を助けることを意図したものであり、これらの請求項によって定義される発明の範囲を限定するように解釈されるべきではない。
【図１】
2014087058.tif 000006
【図２Ａ】
2014087058.tif 000007
【図２Ｂ】
2014087058.tif 000008
【図３】
2014087058.tif 000009
【図４】
2014087058.tif 000010
【図５】
2014087058.tif 000011
【図６】
2014087058.tif 000012
【図７】
2014087058.tif 000013
【外国語明細書】
2014087058000001.pdf