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

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

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

<>
  • 特許6245888-エンコーダおよび符号化方法 図000008
  • 特許6245888-エンコーダおよび符号化方法 図000009
  • 特許6245888-エンコーダおよび符号化方法 図000010
  • 特許6245888-エンコーダおよび符号化方法 図000011
  • 特許6245888-エンコーダおよび符号化方法 図000012
  • 特許6245888-エンコーダおよび符号化方法 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6245888
(24)【登録日】2017年11月24日
(45)【発行日】2017年12月13日
(54)【発明の名称】エンコーダおよび符号化方法
(51)【国際特許分類】
   H04N 19/119 20140101AFI20171204BHJP
   H03M 7/30 20060101ALI20171204BHJP
   H04N 19/50 20140101ALI20171204BHJP
   H04N 19/61 20140101ALI20171204BHJP
   H04N 19/91 20140101ALI20171204BHJP
【FI】
   H04N19/119
   H03M7/30 Z
   H04N19/50
   H04N19/61
   H04N19/91
【請求項の数】3
【外国語出願】
【全頁数】22
(21)【出願番号】特願2013-165758(P2013-165758)
(22)【出願日】2013年8月9日
(65)【公開番号】特開2014-39256(P2014-39256A)
(43)【公開日】2014年2月27日
【審査請求日】2013年8月22日
【審判番号】不服2016-10594(P2016-10594/J1)
【審判請求日】2016年7月13日
(31)【優先権主張番号】1214414.3
(32)【優先日】2012年8月13日
(33)【優先権主張国】GB
(31)【優先権主張番号】13002521
(32)【優先日】2013年5月14日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】513156386
【氏名又は名称】グルロジック マイクロシステムズ オーワイ
【氏名又は名称原語表記】Gurulogic Microsystems Oy
(74)【代理人】
【識別番号】100127188
【弁理士】
【氏名又は名称】川守田 光紀
(72)【発明者】
【氏名】カレヴォ オッシ
(72)【発明者】
【氏名】カルッカイネン トゥオマス
【合議体】
【審判長】 鳥居 稔
【審判官】 清水 正一
【審判官】 小池 正彦
(56)【参考文献】
【文献】 特開2007−243427(JP,A)
【文献】 特開2003−204550(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
H04N 1/41 - 1/419
H03M 3/00 - 11/00
(57)【特許請求の範囲】
【請求項1】
装置の処理手段がコンピュータプログラムを実行することにより、前記装置が遂行する方法において、入力データ(20)を符号化して対応する符号化出力データ(30)を生成する方法であって、以下のステップ:
(a)前記入力データ(20)を複数のブロックまたはパケットに分割することであって、前記ブロックまたはパケットはそれらのコンテンツに応じた、一つ以上のサイズを有する、分割することと;
(b)対応する変換データを生成するために、前記ブロックまたはパケットのコンテンツに対して複数の異なる変換を適用することと;
(c)前記変換データの表現の品質を、変換を適用する前のブロックまたはパケットのコンテンツの品質と比較し、それによって前記変換データの表現の品質が一つ以上の品質基準を満たすかどうかを決定することと;
(d)前記複数のブロックまたはパケットのいずれかに対応する変換データの表現の品質が、前記一つ以上の品質基準を満たさない場合、該ブロックまたはパケットを、さらに分割するか、他のブロックまたはパケットと結合するかして、ステップ(b)を繰り返すことと;
(e)前記ブロックまたはパケットのいずれかに対応する変換データの表現の品質が前記一つ以上の品質基準を満たす場合、符号化される前記入力データ(20)を表わす符号化出力データ(30)を提供するために、前記変換データを出力することと;
を含み、ここで、
(i)前記符号化出力データ(30)には、前記ブロックまたはパケットが分割又は結合されたか否かを示す情報が含まれ、
(ii)ステップ(b)において適用される前記変換につき、
(b1)データベース参照,DC値,スライド,スケール,ライン,マルチレベル,不変,補間,外挿,DCT,パルス符号変調(PCM),差分パルス符号変調(DPCM),連長圧縮(RLE),SRLE,EM,LZO,VLC,ハフマン符号,算術符号化,レンジ符号化,変換符号化,差分符号化,ODelta符号化,bzip2特化型RLEのいずれかから選択されたものであり、
(b2)前記複数のブロック又はパケットの少なくとも一つに適用されるものは、該複数のブロック又はパケットのその他のものに適用されるものとは異なる、
ことを特徴とする、方法。
【請求項2】
装置の処理手段に実行されると、前記装置に請求項1に記載の方法を実行させるプログラム命令を備える、コンピュータプログラム。
【請求項3】
入力データ(20)を符号化して対応する符号化出力データ(30)を生成するエンコーダ(10)であって、以下の処理:
(a)前記入力データを複数のブロックまたはパケットに分割することであって、前記ブロックまたはパケットはそれらのコンテンツに応じた、一つ以上のサイズを有する、分割することと;
(b)対応する変換データを生成するために、前記ブロックまたはパケットのコンテンツに対して複数の異なる変換を適用することと;
(c)前記変換データの表現の品質を、変換を適用する前のブロックまたはパケットのコンテンツの品質と比較し、それによって前記変換データの表現の品質が一つ以上の品質基準を満たすかどうかを決定することと;
(d)前記複数のブロックまたはパケットのいずれかに対応する変換データの表現の品質が、前記一つ以上の品質基準を満たさない場合、前記一つ以上のブロックまたはパケットを、さらに分割するか、他のブロックまたはパケットと結合するかして、ステップ(b)を繰り返すことと;
(e)前記ブロックまたはパケットのいずれかに対応する変換データの表現の品質が前記一つ以上の品質基準を満たす場合、符号化される前記入力データ(20)を表わす符号化出力データ(30)を提供するために、前記変換データを出力することと;
を実行するデータ処理ハードウェアを備え、ここで、
(i)前記符号化出力データ(30)には、前記ブロックまたはパケットが分割又は結合されたか否かを示す情報が含まれ、
(ii)ステップ(b)において適用される前記変換につき、
(b1)データベース参照,DC値,スライド,スケール,ライン,マルチレベル,不変,補間,外挿,DCT,パルス符号変調(PCM),差分パルス符号変調(DPCM),連長圧縮(RLE),SRLE,EM,LZO,VLC,ハフマン符号,算術符号化,レンジ符号化,変換符号化,差分符号化,ODelta符号化,bzip2特化型RLEのいずれかから選択されたものであり、
(b2)前記複数のブロック又はパケットの少なくとも一つに適用されるものは、該複数のブロック又はパケットのその他のものに適用されるものとは異なる、
エンコーダ(10)。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、入力データを受信し、入力データを符号化して対応する符号化出力データを生成するエンコーダに関する。また本出願は、入力データを符号化して対応する符号化出力データを生成する方法にも関する。さらに、本出願は、非一時的コンピュータ可読データ格納メディアに記録され、前述の方法を実装するためにコンピュータハードウェアで実行されるソフトウェアにも関連する。
【背景】
【0002】
データコンテンツは、現在の人口増加に伴って広く格納され通信されていて、例えば、インターネット、無線通信を通じたマルチメディアコンテンツとして拡大している。こうしたマルチメディアコンテンツは、画像,動画,音声等を含むことが多いが、これらに限定されない。データコンテンツは装置やソフトウェアアプリケーション、メディアシステム、データサービス間で格納され通信される。こうした格納と通信の際、画像や動画をキャプチャしたり、スキャン,伝送,共有,視聴,印刷をしたりする状況が生じる。しかし、こうした画像や動画は、データメモリ容量や通信システムの利用帯域の点で要求が多い。通信システムの帯域が制限される場合、そうした画像や動画は通信するのに多大な時間を要する。こうした格納に関する要求に対応するために、従来の方法では、ある程度のデータ圧縮も行う動画像符号化方法を採用している。現行の動画像符号化標準の例を表1に示す。
[表1]現行の符号化標準
【0003】
画質は、高精細度(HD)規格やハイダイナミックレンジ(HDR)の採用等により段階的に向上しているため、画像と音声ファイルは大きくなっている。一方、三次元(3D)動画像や音声は徐々に人気が高まっている。このため、エンコーダとデコーダのいわゆる「コーデック」に対し、通信・格納されるデータ量の増大に対処するための高効率の符号化・復号方法が要求されている。また一方で、ある程度のデータ圧縮を提供する符号化方法は、圧縮データを生成する際、情報コンテンツに関して実質的に可逆であるべきことが強く望まれる。
【0004】
従来のコーデックは、表2で示すように、先行する特許出願や特許査定された特許に記載されている。
[表2]コーデックを記載する先行文献
【0005】
一般に、多くの既知のビデオコーデックは、実質的に固定のパラメータで画像の広範囲を効率的に符号化することが出来ない。一方、画像の狭い空間領域を高効率で符号化することは可能である。離散コサイン変換(DCT)やウェーブレット変換等の変換に基づく予測および予測誤差符号化方法による形式において、動き補償を用いるのが従来手法である。こうした変換は、静止画像や動画シーケンスの一部を形成する画像等の所定の画像の部分を、符号化処理されるブロックに分割する処理を利用する。ブロックは、8×8画像要素や4×4画像要素、または類似の画像要素である。大きいサイズのブロックでは非効率な符号化処理につながるため、こうした比較的小さいブロックが使用される。ただし、場合により16×16の画像要素ブロックが使用されることもある。従来の既知の画像符号化手法に従って、複数の異なるサイズのブロックが符号化で使用される場合、従来手法ではブロックサイズの僅かな変化を利用している。またブロックサイズは、関連するブロック領域において動きがどれ程充分に補償されうるか、対象の品質パラメータ等の符号化品質パラメータに基づいて選択される。概して、より高い符号化画質には、データ圧縮が少なくなる、より小さいブロックが必要になる。従来の符号化方法の中には、パリティコードや誤り訂正コードが含まれる場合、データサイズが増加する場合もある。
【0006】
こうした状況から、画像や動画のデータ圧縮を提供しつつ、画質を保持することは、既知のエンコーダやデコーダで十分に解決されていない現在の課題であることが理解されるであろう。ここ数十年に様々な種類のコーデックが開発されてきたにも関わらず、この課題は解決されていない。
【摘要】
【0007】
本発明は、少なくとも一つのデータコンテンツアイテムを表わす入力データを符号化し、該少なくとも一つのデータコンテンツアイテムを表わす、対応する符号化出力データを生成するエンコーダを提供することを目的とする。符号化出力データは、復号中に発生する品質劣化が実質的に無く、入力データに関して圧縮される。データはあらゆる種類のものでよく、例えば、画像データ、動画データ、音声データ、経済データ、マスクデータ、地震計データ、アナログ・デジタル変換(ADC)データ、生体信号データ、テクスチャ(textural)データ、カレンダーデータ、数学データ、バイナリデータ等の少なくとも一つでもよい。ただし、これらに限定されない。
【0008】
本発明は、少なくとも一つのデータコンテンツアイテムを表わす入力データを符号化し、該少なくとも一つのデータコンテンツアイテムを表わす、対応する符号化出力データを生成する方法を提供することも目的とする。符号化出力データは、復号中に発生する品質劣化が実質的に無く、入力データに関して圧縮される。
【0009】
第1の側面によれば、添付の請求項1で記載される通り、入力データを符号化して、対応する符号化出力データを生成する、次の方法が提供される:入力データを符号化して対応する符号化出力データを生成する方法であって、以下のステップ:
(a)入力データを複数のブロックまたはパケットに分割することであって、ブロックまたはパケットはそれらのコンテンツに応じた、一つ以上のサイズを有する、分割することと;
(b)対応する変換データを生成するために、ブロックまたはパケットのコンテンツに対して複数の変換を適用することと;
(c)変換データの表現の品質が一つ以上の品質基準を満たすかどうかを決定するために、変換データの表現の品質を、変換を適用する前のブロックまたはパケットのコンテンツと比較して調べることと;
(d)一つ以上のブロックまたはパケットに対応する変換データの表現の品質が一つ以上の品質基準を満たさない場合、一つ以上のブロックまたはパケットをさらに分割および/または結合し、ステップ(b)を繰り返すことと;
(e)一つ以上のブロックまたはパケットに対応する変換データの表現の品質が一つ以上の品質基準を満たす場合、符号化される前記入力データを表わす符号化出力データを提供するために、変換データを出力することと;
を含むことを特徴とする、方法。
【0010】
本発明は、入力データを効率的に符号化して対応する符号化出力データを提供しつつ、符号化される入力データに関する符号化出力データのデータ圧縮を実質的に可逆で提供することが可能な方法を提供する有利な点がある。
【0011】
符号化出力データが符号化される入力データよりも小さいサイズとなるように、ブロックまたはパケットに関連するコンテンツを圧縮する変換を使用することを含む方法が提供されてもよい。
【0012】
一つ以上の品質基準が確実に満たされるように、異なる変換方式から選択することを含む方法が提供されてもよい。
【0013】
ブロックまたはパケットを符号化する際、一つ以上の品質基準が、ブロックまたはパケットに含まれるコンテンツの性質に応じて動的に可変であるようにすることを含む方法が提供されてもよい。
【0014】
ブロックまたはパケットのコンテンツを記述する記述パラメータの少なくとも一つが、分割および/または結合されるブロックまたはパケット内で一定であるように、ブロックまたはパケットが分割および/または結合される方法が提供されてもよい。少なくとも一つの記述パラメータは、色や振幅,強度,数値,コード等である。
【0015】
一連のデータに対応するブロックまたはパケットが複数の対応するブロックを形成するために、データの時系列内の所定の情報に先行する一つ以上のデータに存在するコンテンツに応じて、所定の情報に対応する入力データの分割が実行される方法が提供されてもよい。
【0016】
符号化出力データを生成するために、ステップ(e)の変換データに対してヘッダ情報を追加することであって、ヘッダ情報はステップ(b)で使用された変換を標示する情報を含む方法が提供されてもよい。
【0017】
ステップ(b)が、変換を実行する際に使用する補足情報をデータベース構成から取り出すことであって、補足情報は少なくとも、アルゴリズム,規則,一つ以上の変換パラメータの少なくとも一つを含む方法が提供されてもよい。また、後続する符号化出力データの復号において、符号化出力データを復号する際に補足情報にアクセスできるように、データベース構成を標示するヘッダ情報を符号化出力データに追加することをさらに含む方法が提供されてもよい。
【0018】
種々の変換を使用することを含む、方法が提供されてもよい。変換は次の一つ以上を含む:データベース参照,DC値,スライド,スケール,ライン,マルチレベル,補間,外挿,DCT,パルス符号変調(PCM),差分パルス符号変調(DPCM),連長圧縮(RLE),SRLE,EM,LZO,VLC,ハフマン符号,算術符号化,レンジ符号化,変換符号化,差分符号化,Odelta符号化,bzip2特化型RLE。この符号化方法で使用するのに適する他の変換方式であってもよい。なお、上記のSRLEは、Split Run Length Encodingの略であり、英国特許出願第1303660.3号(出願日2013年3月1日)に開示されている新しい符号化方式である。また、上記のEMは、Entropy Modifierの略であり、英国特許出願第1303658.7号(出願日2013年3月1日)に開示されている新しい符号化方式である。さらに、上記のOdelta符号化(ODleta Coding)も、英国特許出願第1303660.3号(出願日2013年3月1日)に開示されている新しい符号化方式である。必要に応じて各出願の明細書を参照されたい。
【0019】
入力データに存在する、次の少なくとも一つを符号化することを含む方法であってもよい:動画,画像,音声,グラフィクス,テキスト,心電図,地震波,ASCII,ユニコード,バイナリデータ。
【0020】
この符号化方法は、符号化出力データの複数のチャネルおよび/またはレイヤを符号化することを含み、次のうちの少なくとも一つを提供してもよい:双方向の動画や商業広告,スポーツイベントのレポートにおける複数のビューポイント、双方向透かし,双方向パターン認識,2D/3Dアニメーションのユーザインターフェースボタン。
【0021】
この符号化方法は、符号化データを次の少なくとも一つに伝送することを含んでもよい:データ記憶装置,通信ネットワーク,メモリカード,データ記憶ディスク,ローカルエリアネットワーク(LAN)。または直接デコーダに伝送してもよい。
【0022】
この符号化方法のステップ(a)は、最初に入力データ(20)を次の少なくとも一つに基づいて一つ以上のブロックに分割することを含んでもよい:
(a)画像解像度:
(b)データ量;
(c)ブロックまたはパケットの最大サイズ。
【0023】
第2の側面によれば、非一時的コンピュータ可読データ格納メディアに記録され、本発明の第1の側面に従う方法を実行するために、コンピュータハードウェアで実行される、ソフトウェアが提供される。
【0024】
第3の側面によれば、携帯無線装置用で、本発明の第2の側面に従うソフトウェアを含む、ソフトウェアアプリケーションが提供される。
【0025】
第4の側面によれば、次のエンコーダが提供される:入力データを符号化して対応する符号化出力データを生成するエンコーダであって、以下の処理:
(a)入力データを複数のブロックまたはパケットに分割することであって、ブロックまたはパケットはそれらのコンテンツに応じた、一つ以上のサイズを有する、分割することと;
(b)対応する変換データを生成するために、ブロックまたはパケットのコンテンツに対して複数の変換を適用することと;
(c)変換データの表現の品質が一つ以上の品質基準を満たすかどうかを決定するために、変換データの表現の品質を、変換を適用する前のブロックまたはパケットのコンテンツと比較して調べることと;
(d)一つ以上のブロックまたはパケットに対応する変換データの表現の品質が一つ以上の品質基準を満たさない場合、一つ以上のブロックまたはパケットをさらに分割および/または結合し、ステップ(b)を繰り返すことと;
(e)一つ以上のブロックまたはパケットに対応する変換データの表現の品質が一つ以上の品質基準を満たす場合、符号化される入力データを表わす符号化出力データを提供するために、変換データを出力することと;を実行するデータ処理ハードウェアを備える、エンコーダ。
【0026】
エンコーダは、データ処理ハードウェアがソフトウェアを実行できるコンピュータハードウェアを用いて実装されるように、実装されてもよい。また、データ処理ハードウェアは、並列データ処理可能な複数のプロセッサ備え、エンコーダが、符号化出力データに含められるデータの符号化を実行する複数のプロセッサに、ブロックまたはパケットデータを渡せてもよい。
【0027】
エンコーダは、一つ以上の品質基準が確実に満たされるように、異なる変換方式から選択できてもよい。
【0028】
エンコーダは、符号化出力データが符号化される入力データよりも小さいサイズとなるように、ブロックまたはパケットに関連するコンテンツを圧縮する変換を使用してもよい。
【0029】
エンコーダは、ブロックまたはパケットを符号化する際、一つ以上の品質基準が、ブロックまたはパケットに含まれるコンテンツの性質に応じて動的に可変であるように構成してもよい。
【0030】
エンコーダは、ブロックまたはパケットのコンテンツを記述する記述パラメータの少なくとも一つが、分割されるブロックまたはパケット内で一定であるように、ブロックまたはパケットを分割できてもよい。エンコーダはまた、少なくとも一つの記述パラメータが色や振幅,強度,数値,コード等であるように実装されてもよい。
【0031】
一連のデータに対応するブロックまたはパケットが複数の対応するブロックを形成するために、データの時系列内の所定の情報に先行する一つ以上のデータに存在するコンテンツに応じて、所定の情報に対応する入力データの分割が実行されるように、エンコーダが実装されてもよい。
【0032】
エンコーダは、符号化出力データを生成するために、変換データに対してヘッダ情報を追加できてもよく、ヘッダ情報はエンコーダで使用された変換を標示する情報を含んでもよい。
【0033】
エンコーダは、変換を実行する際に使用する補足情報をデータベース構成から取り出すことができてもよく、補足情報は少なくとも、アルゴリズム,規則,一つ以上の変換パラメータの少なくとも一つを含んでもよい。エンコーダはまた、後続する符号化出力データの復号において、符号化出力データを復号する際に補足情報にアクセスできるように、データベース構成を標示するようなヘッダ情報を符号化出力データに追加できてもよい。
【0034】
エンコーダは、種々の変換を使用できてもよい。変換は次の一つ以上を含む:データベース参照,DC値,スライド,スケール,ライン,マルチレベル,不変,補間,外挿,DCT,パルス符号変調(PCM),差分パルス符号変調(DPCM),連長圧縮(RLE),SRLE,EM,LZO,VLC,ハフマン符号,算術符号化,レンジ符号化,変換符号化,ODelta符号化。エンコーダが使用するのに適する他の変換方式であってもよい。
【0035】
エンコーダは、符号化すべき入力データに存在する次の少なくとも一つを符号化できてもよい:動画,画像,音声,グラフィクス,テキスト,心電図,地震波,ASCII,ユニコード,バイナリデータ。
【0036】
エンコーダは、符号化データを次の少なくとも一つに伝送するように実装されてもよい:データ記憶装置,通信ネットワーク,メモリカード,データ記憶ディスク,ローカルエリアネットワーク(LAN)。または直接デコーダに伝送してもよい。
【0037】
第5の側面によれば、入力データを伝送および/または格納でき、入力データを符号化する第4の側面に従うエンコーダを備える、電子コンシューマプロダクトが提供される。
【0038】
電子コンシューマプロダクトは次の少なくとも一つである:携帯電話,タブレットコンピュータ,ファブレット(phablet)コンピュータ,パーソナルコンピュータ,テレビ,ポータブルメディアプレーヤー,カメラ,エディタ,トランスコーダ,スキャナ,ファックス,複写機,マイクロフォン,オーディオカード,レコードプレーヤー,DVDプレーヤー等。
【0039】
本発明の構成は、添付の特許請求の範囲に定義される本発明の範囲を逸脱しない限りにおいて、様々に組み合わせ可能であることを理解されたい。
【図面の簡単な説明】
【0040】
以下、本発明の実施形態を、例として、添付の図面を参照しつつ説明する。
図1】エンコーダの実施形態の概略図である。
図2】少なくとも一つのデータコンテンツアイテムを表わす入力データを符号化し、対応する符号化出力データを生成する方法のステップのフローチャートである。符号化出力データは、復号中に発生する品質劣化が実質的に無く、入力データに関して圧縮される。データコンテンツアイテムは少なくとも次の一つを有利に含んでよい:画像データ,動画データ,音声データ,経済データ,マスクデータ,地震計データ,アナログ・デジタル変換(ADC)データ,生体信号データ,テクスチャ(textural)データ,カレンダーデータ,数学データ,バイナリデータ等。ただし、これらに限定されない。
図3図2に示すステップを含む方法を使用して、符号化のために画像をブロックに対応する領域に分割する実施例である。
図4】実施形態に従う、画像例と分割前の初期画像例である。
図5図4の画像例のブロック例である。
図6】符号化方法が実装された携帯装置のブロック図を示す。 添付図面において下線の引かれた番号は、その番号が位置するアイテムやその番号が隣接するアイテムを表わすために使用される。下線が引かれていない番号は、その番号と線で結ばれて特定されるアイテムに関連している。番号に下線が引かれず矢印と共に記されている場合、その番号は矢印が指すアイテム全般を特定するために使用される。
【実施形態の説明】
【0041】
本発明は、概して、入力データを符号化して対応する符号化出力データを生成するエンコーダや方法に関する。この方法は、一つ以上の画像および/または一つ以上の音声信号を表わす入力データを受信し、以下のうち少なくとも一つに対応する手順によって入力信号を処理することに関連する:
(a)各画像を種々のサイズであり得るブロックに分割すること;
(b)一つ以上の音声信号を種々のサイズであり得るブロックに分割すること;
(c)符号化により適した種々のサイズであり得る、より大きいサイズのブロックを形成するために、画像のブロックを結合すること;
(d)符号化により適した結合パケットを形成するために、一つ以上の音声信号のパケットを結合すること。
【0042】
また、この方法は、一つ以上の画像および/または一つ以上の音声信号を表わす圧縮符号化出力データを生成するために、ブロックおよび/またはパケットを処理することを含む。
【0043】
この方法は、データのブロックを記述するデータを符号化および圧縮する際に、多重符号化やエントロピー修正法等の変換を有利に使用してもよい。例えば、異なる変換が異なるブロックに使用され、異なるブロックの情報コンテンツに応じて、好適な符号化と圧縮が行われる。データのブロックを処理する際の品質基準として、RD最適化を有利に使用してもよい。ブロックの符号化で使用される複数の変換を記述する情報は、符号化出力データで通信される。この情報は、符号化出力データにもともと含まれているか、符号化出力データが、利用される変換を記述する情報を取得できる一つ以上のデータベースへの参照を含む。RD最適化は以降で詳述される。有利に使用される符号化方法は以下の一つ以上を含む:マルチレベル,ライン,スケール,スライド,補間,外挿,不変,動き予測,SRLE,EM,差分レンジ符号化。これらは以降で詳しく説明される。初期化ブロックの分割も、有利となるように使用されてもよい。
【0044】
ブロックの選択および/またはブロックの結合は、ブロックに対応する領域の符号化され易さによって決定される。例えば、実質的に固定の関連パラメータ値を有する一つ以上の画像の領域に対しては、より大きいブロックが使用され、領域の関連パラメータ値における相対的に急な空間変動のために、符号化が困難な一つ以上の画像の領域に対しては、より小さいブロックが使用される。パラメータは、色や照度、スライド変動パラメータ値、反復パターンの一つ以上に関連してもよいが、それらに限らない。簡易符号化は、例えば、所定の領域内で実質的に一定である、同領域に関するパラメータの少なくとも一つに対応する。また、この方法は、動画像シーケンスにおける固定領域や、同様の動きをする動画像シーケンスにおける領域群、すなわち、固定物に対応するブロックに対し、より大きなブロックを使用してもよい。場合によっては、ブロックは一つ以上の画像の領域、例えば、64×64要素や32×16要素、4×20要素、10×4要素、1×4要素、3×1要素、8×8要素、1×1要素等を表わす領域に関連して直線的であってもよい。要素は、一つ以上の画像上の画素に対応するが、符号化の際、対応する複数の画素を各要素に対応させるスケーリング操作が画素に行われてもよい。一方、他の形状、例えば、楕円形や円形等のブロックが使用されてもよい。また類推により、この方法は一つ以上の音声信号を符号化するのに適用されてもよい。一つ以上の音声信号は対応する音声信号の性質に応じて、種々の時間の長さのパケットに分割される、および/またはそうしたパケットに結合される。圧縮符号化出力データを生成するために、パケットは符号化される。パケットは前述のブロックと同義であるが、画像情報よりも音声情報に関連する。本発明に従うエンコーダは、音声情報と画像情報の両方を同時に符号化することが可能である。
【0045】
一つ以上の画像の領域を対応するブロックに処理する際、この方法は、対応する品質指標を計算するために、一つ以上の画像の対応する細部に関連するブロックが提供する情報の表現に関する品質を調べることを含む。計算された品質指標は、参照品質閾値と比較される際、ブロックから提供されるデータの表現の品質が十分でないようなブロックサイズが選択されたことを示す場合がある。そのような場合、この方法は、圧縮効率を向上させつつ、実質的にデータの再構成を劣化させない限りにおいて、表現の品質が参照品質閾値によって定義されるように適合していることを品質指標が示すまで、段階的により小さいブロックを反復して使用し、および/または種々のブロックを一緒に結合する。こうした手段により、情報の表現の品質に対する閾値の選択に応じて、実質的に無劣化の符号化におけるデータ圧縮の達成が、本発明に従って実現可能となる。場合によっては、参照品質閾値は、一つ以上の画像に存在するコンテンツに応じて、動的に可変であってもよい。例えば、一つ以上の画像が、高速のカオス的動きのある動画シーケンスの一部である場合、データ圧縮度を改善させるために、カオス的動きがある間、参照する品質閾値を緩和してもよい。カオス的動きとは、例えば、水の乱流、炎、降雪、うねる煙、波浪等のランダムな特性でありうる。こうした特性では、符号化データが後続のデコーダで復号される際、情報損失が容易に認識できない。
【0046】
前述のエンコーダにおいてブロックを決定することは、表3に記載される一つ以上の基準に基づいていてもよい。
[表3]画像符号化の際のブロックの分割および/または結合の選択
【0047】
表3の予測値は一つ以上の画像を符号化する際に使用される既知の規則に基づいてもよい。代替として、表3の予測値は、選択したデータベースの参照、予測方向、一つ以上の画像内のブロック座標の動き等から提供される構成情報に基づいてもよい。分散または標準偏差の利用は、所定の対応するブロック内に含まれる要素の相互関係を記述することで情報圧縮を提供する、本発明に従う手段である。多くの状況において、関連する符号化を伴うブロックデータの予測はそれ自体、本発明に従う符号化を実行する際に重要である。しかし、予測精度を向上させるために、予測に符号化予測誤差データが含まれることを所望してもよい。本発明の簡易実施形態では、簡易データ予測方法を用い、例えば平均値、すなわち、所定のブロック内の画素や要素の「DC」値が符号化出力データで伝達される。
【0048】
前述の方法を実装するエンコーダへの入力データとして提供される一つ以上の画像の領域の分割、または代替として、領域の結合は、符号化の際、圧縮と実質的な画質の保持の両方を提供する手法で、すなわち実質的には可逆符号化で実装されてもよい。この方法は、こうした領域の分割および/または結合に対する種々の方法を適用する。例えば、所与のブロックが相当量の情報を含む場合、そのブロックを複数の対応する、より小さい、比較的「平坦」なブロックに分割してもよい。代替として、より大きい、比較的「平坦」なブロックに結合してもよい。ここで比較的「平坦」とは、すなわち、各ブロックが比較的少ない情報を有するようなブロックのコンテンツに関して一定であることを意味する。本発明に従う符号化方法が少なくとも一つ以上の画像および/または一つ以上の音声信号に適用される場合、入力画像と音声入力信号をそれぞれブロックとパケットに分割する方法を制御するために、符号化出力データに符号化品質と符号化ノイズが用いられてもよい。しかし、データコンテンツアイテムの他の種類が同様の方法で処理されてもよいことが理解されよう。こうした種類として、例えば、画像データ、動画データ、音声データ、経済データ、マスクデータ、地震計データ、アナログ・デジタル変換(ADC)データ、生体信号データ、テクスチャ(textural)データ、カレンダーデータ、数学データ、バイナリデータ等の少なくとも一つでもよいが、これらに限定されない。
【0049】
符号化出力データのノイズは次の少なくとも一つに基づいてもよい:
(i)現在のブロックまたはパケットに存在するノイズ;
(ii)この方法で生成された直前のブロックまたはパケットの一つ以上に存在するノイズ;
(iii)直前の画像。
【0050】
所定の入力画像が領域と対応するブロックに分割される場合、この方法は生成されるブロックを解析し、符号化出力データにおいてより多くのデータを圧縮するために、ブロックの何れかが前述のように、前記の品質基準に従って結合されるかを決定する。前述の通り、符号化出力データは、符号化される入力データの元画像における、対応する領域の位置を規定するブロックに関連する情報を含む。
【0051】
この方法を用いて符号化される入力データに存在する、一つ以上の画像を符号化する場合、入力画像に関連するデータは、例えば、2×1:1や 2×2:1,1×2:1,4×1:1、または類似の比率で、前述の符号化方法を実行する前に、有利にダウンサンプリングされる。 そうしたダウンサンプリングは、本発明に従う方法を適用して生成される圧縮符号化出力データに所望される符号化品質に応じて実行されてもよい。また、この方法で処理される、より大きいブロックは、より小さいブロックと比べて量子化されていなくてもよい。換言すれば、採用される量子化の程度は、ブロックサイズの増加によって減少してもよい。また、符号化の際に採用されるダウンサンプリングの倍率は、例えば、符号化される動画等の画像シーケンスのコンテンツの性質に応じて、動的に可変であってもよい。
【0052】
この方法に従う、ブロックの符号化の際、各ブロックはそのコンテンツを記述する種々のパラメータを有する。これらのパラメータは、符号化の際、種々のチャネルを通じて送信される。例えば、画像のブロックを記述する色彩チャネルは、白黒(B/W)や輝度(Y),色差(U,V),赤(R),緑(G),青(B),シアン(C),マゼンタ(M),黄(Y),黒(K)の一つ以上を含みうる。また、符号化される入力画像とブロックは、種々の可能な色彩または画素フォーマットを使用してこの方法を実行する際に処理されてもよい。フォーマットは例えば、YやYUV420,YUV422,YUV444,RGB444,G,CMYK等の現行標準やフォーマットでもよい。 また、フォーマットは平面やインターリーブ平面等でもよい。また、本発明の方法は、符号化処理を実行する際、画像および/またはブロックのフォーマットを有利に変更できてもよい。例えば、元画像がインターリーブRGBフォーマットであり、本発明に従う方法を使用して、YUV420で符号化出力データを生成するように符号化されてもよい。あるいは、その逆であってもよい。
【0053】
ビット深度、すなわち、符号化方法を実装する際の画素のダイナミックレンジは、1ビットから64ビット階調の範囲で有利に決められてもよい。異なる画素色や音声チャネルは、互いに異なる階調で、符号化方法の品質基準と圧縮性能が満たされるように符号化してもよい。
【0054】
本発明に従う符号化方法はまた、符号化処理を実行する際にアクセスされるデータベースに格納された、符号化パラメータや符号化規則および/または表を使用して実装されてもよい。この方法がエンコーダに実装される際、符号化処理中にデータベースが作成され、使用されるように提供されてもよい。例えば、符号化時の動き補償が、提供される情報データベースを使用して、エンコーダに有利に実装されてもよい。エンコーダはまた、入力データに存在する元の画素情報および/または予測誤差情報を有利に符号化できてもよい。入力データを符号化して対応する符号化出力データを生成する際にデータベース情報を使用することで、エンコーダは、符号化に用いるパラメータや対応表等の符号化標準の修正を適用できる。本発明に従う符号化方法を実装する際に採用しうる符号化方法は、次の一つ以上を含む:データベース参照,DC値,スライド,スケール,ライン,マルチレベル,不変,補間,外挿,DCT,パルス符号変調(PCM),差分パルス符号変調(DPCM),連長圧縮(RLE),SRLE,EM,LZO,VLC,ハフマン符号,算術符号化,レンジ符号化,変換符号化,差分符号化,ODelta符号化,bzip2特化型RLE。前述の符号化の例のあらゆる組み合わせを含む符号化方法、すなわち、複数の符号化変換が、複数のパラメータと同様に、ブロックおよび/またはパケットに対しそれらの情報コンテンツに応じて有利に用いられてもよい。ハフマン符号等の符号化方法が用いられる場合、符号化パラメータの固定表や提供される符号化パラメータ表を有利に使用してもよい。エンコーダはまた、データ記憶構成を備えるコンピュータハードウェアを用いて有利に実装されてもよい。符号化処理の実行時に使用されるために、最適化された符号化パラメータ表がデータ記憶構成に格納されていてもよい。エンコーダからの符号化出力データを復号するための適切なパラメータを取得するために、デコーダがデータベースにアクセスできる参照アドレスが、符号化出力データに有利に含まれていてもよい。データベースは、インターネット等の通信ネットワークを通じてアクセス可能であってもよい。データベースは、クラウドコンピューティング構成を通じて提供されてもよい。エンコーダに実装される方法が数学的に生成されるデータベースを利用する場合、データベースは、DC値や一次元/二次元線形変換,一次元/二次元曲線変換,一次元/二次元変換関数、または既知の画像ブロックや音声パケット構造であってもよい。
【0055】
本発明に従う符号化方法は、エンコーダで実行される際、入力データを符号化して符号化出力データを生成し、符号化出力データはビットストリームとして出力されるか、代替として、データファイルとして等でデータ記憶メディアに格納されうる。また本発明の方法は、可能なアプリケーションの範囲内で使用されてもよい。動画像ヘッダや画像ブロック,音声,音声パケットは有利であるように補足情報を含んでもよい。補足情報は次のような情報を含む:バージョン番号,動画像やパケットのデータサイズ,符号化で使用される品質要因の閾値,ブロック・パケットの最大サイズ,適用する符号化方法・使用する変換方式,符号化パラメータ表,後続の復号処理をサポートするその他の情報。ブロック間で変化しない情報は、符号化出力データのデータ圧縮度を高めるために、符号化出力データに含めないようにするか、ヘッダやサブヘッダ等のより高いレベルで含めるようにしてもよい。表4は、エンコーダで生成される符号化出力データで有利に用いられる階層のレベルを示す。
[表4]符号化出力データの階層(降順)
【0056】
本発明に従う符号化方法はまた、その方法の応用分野に応じて、符号化出力データの一つ以上のレベルに関する情報を選択および配信するように実行されてもよい。応用分野としては、カスタマービデオ製品や測量専門用の画像圧縮装置,X線画像装置,核磁気共鳴画像装置(MRA)等がある。本発明に従う方法が音声データを符号化するために用いられる場合でも、同様の内容が符号化出力データにおける階層レベルに関連して考慮される。音声データのヘッダやパケット群,パケット,サブパケット,波形セグメント群,波形セグメント等が使用されうる。
【0057】
図1を参照すると、本発明に従うエンコーダの概略図が示されている。番号10で示すエンコーダは、データ20を受信し、本発明に従う符号化方法を用いて入力データ20を符号化し、対応する圧縮符号化出力データ30を生成できる。出力データ30は、前述の方法で、実質的に可逆であるように有利に符号化されてもよい。エンコーダ10は、通信ネットワーク40を通じてデータベース構成50に接続されてもよい。データベース構成50には、入力データ20を符号化するための一つ以上のパラメータや表および/または規則が格納される。
【0058】
エンコーダ10は動作すると、入力データ20を受信し、場合により、通信ネットワーク40を通じてデータベース構成50から符号化情報を読み出し、入力データ20を符号化して圧縮符号化出力データ30を生成する。入力データ20は次の少なくとも一つを含んでもよいが、これらに限定されない:音声,一つ以上の画像,動画,グラフィクス,テキスト,心電図,地震波,ASCII,ユニコード,バイナリデータ。符号化出力データ30は、符号化データと同様にヘッダや符号化情報を含んでもよい。出力データ30は、エンコーダ10から、通信ネットワークを通じた通信で一つ以上のデータ記憶装置やでコーダに伝送されてもよく、サーバのハードディスクドライブ・ストレージやソリッドステートメモリ等のコンピュータ可読データ記憶メディアに直接格納されてもよい。
【0059】
エンコーダ10は、一つ以上のプログラマブルゲートロジックアレイ(PGLA)等を介するハードウェアや、コンピュータハードウェア上で実行可能な一つ以上のソフトウェアアプリケーション、またはハードウェアとソフトウェアを合わせた並列処理エンジン等として、有利に実装される。エンコーダ10は、マルチメディア製品やコンピュータ,移動電話(「携帯電話」),インターネットサービス,ビデオレコーダ,ビデオプレーヤー,通信装置等に使用されうる。エンコーダ10は、画像キャプチャシステムと併用されてもよい。画像キャプチャシステムは例えば、監視カメラ,医療用X線システム,医療用MRIスキャナ,医療用超音波スキャナ,空中査察システム等がある。また同様の装置であって、画像内の詳細情報を保持できるように可逆圧縮が求められる一方、データ保存においては管理可能な画像データ量を提供できるような、大量の画像を生成する装置も含まれる。
【0060】
エンコーダ10は、既知の画像処理装置と有利に併用されてもよい。例えば、米国公開公報第2007/280355号には画像/動画プロセッサと併用することが開示されており、参照により本出願に組み込まれる。米国公開公報第2010/0322301号には画像生成装置と併用することが開示されており、参照により本出願に組み込まれる。米国公開公報第2011/007971号にはパターン識別装置と併用することが開示されており、参照により本出願に組み込まれる。
【0061】
図1のエンコーダ10を用いた入力データの符号化方法は、図2を参照して説明する。図2は、入力データ20の符号化方法のステップを番号100から200で示す。符号化方法は第1ステップ100で、ブロックや画像,動画,音声等であるが、これらに限定されない入力データを受信することを含む。例えば、前述の入力データ20を受信する場合、画像/ブロックの種類や形式の情報が第1ステップで生成され、符号化出力データ30に含められる。第1ステップ100は、画像サイズ情報等のヘッダ情報を圧縮符号化データに書き込んでもよい。
【0062】
符号化方法は、第1ステップ100後に実行される第2ステップ110で、必要に応じて初期ブロックやパケットを生成することを含む。符号化方法は、第2ステップ110後に実行される第3ステップ120で、第2ステップ110で生成されたブロックおよび/またはパケット情報の解析を実行することを含む。符号化方法は、第3ステップ120後に実行される第4ステップ130で、例えば、規定の符号化および/または復号品質での圧縮比、すなわち、実質的な可逆符号化を行うために、第3ステップ120で特定された一つ以上のブロックおよび/またはパケットが分割および/または結合されるべきかを決定することを含む。第4ステップ130で、一つ以上のブロックおよび/またはパケットが分割および/または結合されるべきと決定される場合、符号化方法は第5ステップ140に進み、一つ以上の特定されたブロックまたはパケットは、より小さいブロックまたはパケットに分割される、および/または、より大きいブロックまたはパケットに結合され、新規ブロックや新規パケットを追加生成する。第4ステップ130で、一つ以上のブロックおよび/またはパケットが分割および/または結合される必要がないと決定される場合、符号化方法は第6ステップ150に進む。第5ステップ140の完了後、適切であれば、符号化方法は第6ステップ150に進む。
第6ステップ150では、ステップ120で行われた解析に基づく変換により再構成されたブロックのデータがデータストリームに出力される。その後、方法は、第7ステップ160へと進む。
【0063】
符号化方法は第7ステップ160で、最終ブロックまたはパケットが符号化されようとしているかどうかを決定することを含む。符号化されるべきブロックまたはパケットが残されている場合、符号化方法は、ブロックまたはパケット情報の解析を実行する第3ステップ120に戻ることを含む。全てのブロックまたはパケットが符号化された場合、符号化方法は第8ステップ170に進む。符号化方法の第8ステップ170は、画素値やパラメータ、分割情報等のデータを、RLEやハフマン,DCT、または同種の変換で圧縮符号化し、前述したヘッダ情報を書き込むことを含む。例えば、ブロックのDC値が伝送される場合、それらは最初に差分符号化されてもよく、その後、対応する差分符号化値がRLEで符号化され、さらにその結果がハフマン符号で符号化されてもよい。第8ステップ170における圧縮符号化の完了後、符号化方法は第9ステップ180に進み、最終の初期ブロック・パケット・フレームに到達したかを調べる。最終の初期ブロック・パケット・フレームにまだ到達していない場合、符号化方法は第3ステップ120に戻ることを含む。最終の初期ブロック・パケット・フレームに到達した場合、符号化方法は第10ステップ190に進むことを含む。符号化方法は第10ステップ190で、画像/ブロックが直前の画像/ブロックに類似しているかどうか、色が黒であるかどうか等の、一つ以上の解析を実行することを含む。こうした解析はまた、一つ以上の先行するステップから取得できる情報を必要としてもよい。このステップでは、符号化出力データの画像/ブロックをさらに圧縮できる。一つ以上の先行するステップから取得できる情報を必要としない、同様の解析が第3ステップ120で既に実行されていてもよく、プロセッサで実行され不要な処理を排除してもよい。第10ステップ190の完了後、符号化方法は第11ステップ200に進むことを含む。符号化方法はそのステップで、圧縮符号化出力データ30をまとめるために、ブロックやパケット,画像,動画の終端符号化を適用することを含む。符号化方法はまた、適用可能な場合、第7ステップ160から直接第11ステップ200に進んでもよい。例えば、画像の一ブロックだけを符号化する場合や、色が黒の場合、直前の画像における直前のブロックと類似する場合等が適用可能な場合である。ファイルに書き込まれるか、ストリーム出力される全ての符号化データは、符号化方法を実装する際、余分なバッファを設けないよう、出来るだけ早い段階で有利に生成されてもよい。
【0064】
次に図3を参照する。同図から、本発明に従う符号化方法は、適切な場合に種々の大きさのブロックやパケットを使用していることが理解されよう。これは、符号化出力データ30のデータ圧縮と、実質的な可逆圧縮、すなわち、認識可能なデータ損失が実質的にない圧縮との間の最適な解決方法を提供するために使用される。図3では、大きい符号化ブロック300が所定画像の左上隅で用いられ、画像の右側と下側に沿った領域では、より高精度で符号化するために小さいブロック310,320,330が利用されている。符号化出力データ30は、ブロック300,310,320,330の画像コンテンツを記述するパラメータと画像内でのブロックの位置を含む。ブロック300,310,320,330を符号化するために用いられる符号化方法はまた、異なるブロック300,310,320,330に異なる方法を割り当てる等が符号化出力データ30で規定されていてもよい。ブロック300,310,320,330の配分は、符号化される画像のコンテンツの空間配分に応じて変わる。図3は、第2ステップ110で生成される画像内ブロックの初期の分割の実施例を示す。このブロックの初期分割は、画像野サイズ等に基づいてもよいため、エンコーダとデコーダ間で伝送される如何なる情報も必要としない。ある実施形態では、第5ステップ140でブロックの実際の分割が実行されると、そうした情報がエンコーダからデコーダへ伝送されてもよい。画像を符号化する実施例は後述する。
【0065】
前述のように、表5で示す略語が使用されている。こうした種々の符号化フォーマットは何れも、エンコーダ10に要求される性能に応じて、エンコーダ10に実装して使用するのに適している。再び図2を参照すれば、符号化方法が、画像や動画,音声の少なくとも一つの符号化を完了し、符号化出力データ30を出力してもよいことが理解されよう。代替として、 図2のステップ200の後、ステップ100か120に戻る矢印を通って、符号化出力データ30が例えば、ストリーム出力されると同時に、符号化方法が画像や動画,音声の符号化ステップを少なくとも実行できてもよい。そうした動作は、元データをサーバ側でリアルタイムに符号化する本発明に従う方法を用いる場合に有利であり、例えば、インターネット経由のマルチメディアサービス等の顧客へのストリーミング配信で用いられる。この方法はまた、少ないデータ記憶容量しか利用できないときでも機能しうる可能性もある。例えば、ユーザの変更によって符号化データの配信が中断されるとしても、ユーザ要求しない符号化処理を動画ファイル全体に行うことを回避し、コンピュータ処理リソースを浪費せずに済む。こうした配慮は、インターネット等を介して提供される現在のマルチメディアストリーミングサービスにとって非常に重要である。
【0066】
例えば、前述のように符号化/ストリーミング出力の状況と同時に符号化出力データ30を送信する場合、最上位レベルのヘッダが最初に送信され、それに続いて階層の最上位レベルに関連するデータを符号化し、その後から、階層の下位レベルに関連する符号化データが送信される、という利点がある。例えば、符号化出力データ30では、画像サイズデータと画像/動画関連データが最初に符号化出力データ30で送信され、続いてブロック分割に関連する情報が、その後ブロックの符号化に使用するアルゴリズムと符号化ブロックデータが送信される。
【0067】
エンコーダ10は、並列プロセッサアーキテクチャを備えるコンピュータハードウェアを用いて有利に実装されてもよい。並列プロセッサアーキテクチャは、データを並列処理するように構成される複数のプロセッサを備えてもよい。例えば、初期ブロックが分割ブロック300,310,320,330に分割されるため、分割ブロック300,310,320,330は、複数のプロセッサに分散され、第1プロセッサがブロック300,310,320を符号化し、第2プロセッサがブロック330を符号化することができる。
【0068】
符号化の際、エンコーダ10が画像,動画および/または音声を符号化するのに使用するチャネル数は、符号化出力データ30のデータ圧縮度をより高めるために、動的に可変であってもよい。例えば、同時に存在しうる複数のレイヤを画像が含む場合であっても、4チャネルまで使用するという利点がある。レイヤはまた、サブタイトル,ロゴ,マルチビューイメージ,深度に関連してもよい。レイヤはまた、相互に異なる分量のデータを含んでもよい。全ての関連するレイヤのデータは、別々のチャネルとして符号化出力データ30で符号化される。チャネルがどのように結合されて使用されるかに関する関連記述もまた、符号化出力データ30に含まれる一つ以上のヘッダに含まれる。
[表5]本発明の実施形態を実装する際に使用可能な符号化変換の略語
【0069】
図3で示したブロック分割がほんの一例であることは理解されよう。 動画シーケンス等の画像の時系列では、画像内で明確な境界と共に描かれる物体は、画像の所定の視野内で動いていることが分かる。結果として、物体の動きを追随するブロックを分割することができる。静止画像では、ブロック分割は通常、空間画像内の境界を追随する結果を生成する。静止画像にブロック分割が示されていれば、物体はそこから検出することができる。
【0070】
図2等で示される、本発明に従う符号化方法は、レイヤ・チャネル符号化を通じてエンコーダ10で実行されうる。また、新しい種類のコンテンツ配信サービスを提供するために、双方向の動画配信を提供できる。こうしたサービスは例えば、双方向商業広告、F1のようなスポーツのライブ映像をストリーミング配信する際の異なるビューポイント、映画等がある。例えば、エンコーダ10によって、映画にローカルな字幕や双方向の透かし,双方向パターン認識,2D/3Dアニメーションのユーザインターフェース(UI)ボタン等を備えさせることができる。
【0071】
符号化のある実施形態における簡易例を図4に示す。符号化される画像400は青均一の領域414を有し、図4では明確となるよう白の領域で示されている。同じく、緑領域412は、図4では明確となるようドットで、赤の下三角領域410は、図4では明確となるよう下三角のドット網掛けで、それぞれ示されている。画像400のサイズは任意でよく、12×8要素または画素や24×16要素または画素,120×80要素または画素等でもよい。 画像400の初期ブロックサイズ402は、4×4要素または画素や8×8要素または画素,40×40要素または画素等で、それぞれ異なる画像サイズに対して選択されてもよい。この実施形態では、6要素または画素のブロックA,B,C,D,EおよびFが示されている。この実施形態によれば、第1ブロックAが解析される。ブロックAは解析から、一定で青単色で構成され、色番号が10であると決定される。ブロックAは一つの領域と見做される。次に、ブロックBが解析される。ブロックBも青単色で構成され、その結果、一つの領域と見做される。次に、ブロックCが解析される。ブロックCは一定ではなく、その結果、四つのサブブロックC1,C2,C3,C4分割される。続いて、第1サブブロックC1が解析される。サブブロックC1は、赤の下三角領域で、左下隅の色番号が15、左上と右下隅の色番号が20、そして右上隅の色番号が25の領域で構成されている。サブブロックC1は一つの領域と見做される。サブブロックC2,C3,C4もそれぞれ解析される。サブブロックC2,C3,C4は青均一で構成され、各サブブロックが青均一領域として示される。次に、ブロックDが解析される。ブロックDは単色、つまり青均一であり、一つの領域と見做される。次に、ブロックEが解析される。ブロックEは一定ではなく、その結果、四つのサブブロックE1,E2,E3,E4分割される。サブブロックE1,E2は共に青均一で一定である。ブロックEは一定ではなく、さらに四つのサブブロックE31,E32,E33,E34分割される。各サブブロックE31,E32,E33,E34が解析される。サブブロックE31は青均一で構成されると解析され、青均一領域としてマークされる。サブブロックE32,E33,E34は例えば、色番号5の緑であると解析され、緑と指定される。サブブロックE4は解析され、一定であると決定され、緑と指定される。ブロックFが解析され、一定でないと決定される。ブロックFは四つのサブブロックF1,F2,F3,F4分割される。サブブロックF1が解析され、一定でないと決定される。サブブロックF1はさらに四つのサブブロックF11,F12,F13,F14分割される。各サブブロックF11,F12,F13,F14が解析される。サブブロックF11は青で一定であると決定される。サブブロックF12,F13,F14は緑で一定であると決定される。色番号はブロックとサブブロックにそれぞれ関連付けられる。サブブロックF2,F3,F4はさらに解析され、緑で一定であると決定される。色番号はブロックとサブブロックにそれぞれ関連付けられる。
【0072】
前述の符号化処理のための符号化を実装する実施例は、分割されないブロックを「0」、分割されるブロックを「1」を付与する。こうしたロジックを用いて、前述の実施例は次の分割ビットとして有利に符号化される:
0 0 1 0000 0 1 0010 0000 1 1000 0000
【0073】
ここで、最初の二つのロジック値「0」は二つの初期ブロックA,Bが分割されないことを示す。第3ブロックCは分割されるので前述の通りロジック値「1」で示されるが、そのサブブロックは分割されない。第4ブロックDは分割されない。第5ブロックEは分割され、最初の二つのサブブロックE1,E2は分割されないが、サブブロックE3は分割される。以下、同様に示されている。ビット列はさらに、連長符号化されてもよい。
【0074】
さらに各ブロックの「塗色(fill)」方法が符号化されてもよい。例えば、ブロックの均一塗色にロジック値「0」、スライド塗色にロジック値「1」を割り当てる。塗色ビットは次の通りとなる:
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
【0075】
この符号では、最初の2ブロックA,Bは均一色、次のブロックC1はスライド塗色、残りは全て均一色である。塗色ビットはさらに、連長符号化されてもよい。
【0076】
各ブロックの色の番号は「色番号」として参照され、次の通りである:
10 10 20 25 15 20 10 10 10 10 10 10 5 10 5 5 5 5 5 5 10 5 5 5
【0077】
ここで、「20,25,15,20」のセットはブロックC1の四隅の色番号を記述する。色番号の列は、データサイズを減らすハフマン符号等で符号化されてもよい。また、サブブロックE31,E32,E33,E34のグループとサブブロックF11,F12,F13,F14のグループは同一の色番号の組み合わせ、すなわち、(10,5,5,5)を有しているため、一つの要素としてそれ自身の色番号を示してもよい。この値は「色番号の組」として参照される。色番号の組は、エンコーダや対応するデコーダ等のデータベースに格納され、必要に応じて、参照標示子番号として参照されてもよい。方法値が異なる場合には別のデータストリームを用いることが、しばしば有益である。例えば上述の実施例では、DC値及びスライド値は、それぞれ別のデータストリームに設定されてもよい。方法によっては、その方法で複数のデータストリームを生成して各データストリームにより少ないエントロピーを与え、エントロピー符号化法でより高い圧縮効率を得るようにしてもよい。例えば、符号化方法を実装する際に高低のレベルがあるマルチレベル法を用いて、別々のデータストリームを処理するように設定してもよい。高い値同士は、また低い値同士も同様に、互いに近い値となることが多く、差分符号化された高・低値を用いるレンジ符号化も効率よく機能するため、こうした複数のデータストリームを生成することは有益である。
【0078】
実施形態によっては、分割ビットと塗色ビット,値,値の組は、例えば、後続の復号処理用の別のハードウェアに提供できるように、エンコーダハードウェアに格納されてもよい。
【0079】
ある実施形態では、 エンコーダは、スマートフォンやデジタルカメラ,ビデオカメラ等の、図6の携帯装置600に実装されうる。携帯装置600は以下のものを備えてもよい:一つ以上の画像をキャプチャするカメラ(KAM)604;一つ以上の画像を表示するディスプレイ(DISP);携帯無線ネットワークやローカルエリアネットワークを介して通信可能とする送受信機(RX/TX)606;ユニバーサルシリアルバス(USB)やイーサネット等の他の入出力(I/O)612;符号化関連アルゴリズムと命令を実行する中央処理装置(CPU)608;カメラ604からの一つ以上の画像と符号化ソフトウェア,符号化画像コンテンツを格納するメモリ(MEM)610。携帯装置600は、内蔵するメモリ610に一つ以上の符号化画像を格納するよう有利に構成されてもよく、および/または、符号化画像を送受信機(RX/TX)606や入出力(I/O)612を介して外部システムに送信してもよい。送信は、規則的か、リクエストに応じて、ユーザ操作に応じて、リアルタイムで、または実質的にリアルタイムで行われてもよい。
【0080】
前述の通り、RD最適化は、次式で導出されるRD値を最小にするために使用される:
【数1】
ここで、
E=誤差;
λ=誤差Eの関数であるビットカウントのコストを規定する係数;
BC=ビットカウント。
【0081】
誤差Eは、MAEやMSE,MAX、またはMAE+MAX等、これらのパラメータに重みを加味して組み合わせたものであってもよい。パラメータλは、ビットカウントBCのコストが誤差Eに対して同程度であるような前述で定義される係数を参照する。パラメータλは、符号化に使用されるビットが少ない程大きくなる。その場合、より大きい誤差が許容される、すなわち、より低い品質基準値に対応して高いデータ圧縮が可能である状況に対応する。反対に、パラメータλは、符号化に使用されるビットが多い程小さくなる。その場合、より少ない誤差しか許容されない、すなわち、より高い品質基準値に対応して低いデータ圧縮子しか可能でない状況に対応する。
【0082】
符号化品質基準に関しては、分散の測定のような均一性に関連してもよい。RD値の推定は、符号化品質を決定する際に要求される処理量を減らすために、有利であるように行われることがある。RD値の計算で用いられるビットカウント値は推定されることが多い。値が他のデータ値と選択されたエントロピー符号化法に依存するため、実際の値が計算値と非常に異なることが多いからである。ビットは、値の伝達に必要なビット数に、データ列に対する所定の推定圧縮ファクタを乗じた値に基づいて推定されうる。あるいは、直前の圧縮送信されたデータに基づいて適応するように修正されてもよい。
【0083】
前述の実施形態を実装する際、使用されるデータ圧縮は二つの異なるフェーズを含む。データ圧縮方法では、選択情報を生成する方法が有利に選択されてもよい。選択情報は、その方法で生成された量子化データの方式や種類を規定する。選択情報は例えば、出力データ30に含めるために、有利にエントロピー符号化されてもよい。出力データ30は、生成される際、画像全体や初期ブロック等に対して複数のデータ列を有利に使用してもよい。こうした複数列を使用することは、圧縮出力データ30のエントロピーを減らすのに有益である。
【0084】
前述した本発明の実施形態への修正は、添付の特許請求の範囲に定義される発明の範囲を逸脱しない限りにおいて可能である。本発明の記述と特許請求の範囲で用いられる「含む」,「備える」,「包含する」,「構成される」,「有する」,「存在する」等の表現は、包括的構成であると解釈されることを意図しており、明示的に記載されていないアイテムや部品,構成要素も含まれうることを意図している。単数による表記は、複数の場合も関連すると解釈される。添付の特許請求の範囲における括弧内の数字は、請求項の理解を助けることを意図したものであり、これらの請求項によって定義される発明の範囲を限定するように解釈されるべきではない。
図1
図2
図3
図4
図5
図6