説明

階層方式でグラフィックスパスシーケンスを符号化及び復号化する方法

【課題】部分復号化及び復号化中の漸進的なレンダリングを可能にするように階層形式でパスを符号化する方法を提供する。
【解決手段】パスは、各々が描画の元の部分に対応する元の描画コマンドの元のシーケンスから構成される。符号化方法は、縮小シーケンスを取得するために描画の対応する元の部分の幾何学的近似に従って少なくとも1つの元の描画コマンドを近似描画コマンドに変換するステップE230と、縮小シーケンスを符号化縮小シーケンスに符号化するステップE250と、縮小シーケンスと元のシーケンスとの間の差分を表す復元情報セットを符号化するステップE260とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、部分復号化及び復号化中の漸進的なレンダリングを可能にするように階層形式でグラフィックスパスを符号化する方法に関する。
【背景技術】
【0002】
一般にグラフィックスパスは、SVG(「スケーラブルベクターグラフィックス」を意味する)、DrawML又はMicrosoft Silverlight(登録商標)等のグラフィックス記述言語でグラフィック、図形、又は画像を表す。説明する目的で、以下の説明はSVG規格に注目する。
【0003】
周知の方法では、SVG規格は、ベクトルグラフィックス描画を記述するためにXML名前空間として使用可能なスタイル付け可能なグラフィックスに対するXML文法である。
【0004】
ベクトルを使用する方法により、SVG画像は精度を損なうことなく任意の所定の解像度でレンダリング可能である。
【0005】
SVGは、XML構文を使用して、幾何学的形状、変換、色又はアニメーションを記述する要素及び属性の集合を規定する。例えばXML要素は、描画コマンドを規定してもよく、コマンドと関連するパラメータ属性又は座標を含んでもよい。
【0006】
SVGにより可能な単純な幾何学的形状は、矩形、円、楕円、線及び多角形である。
【0007】
より複雑な形状は、特別なツール、すなわちSVGパス及び対応するXML要素<path d="...">を使用して描画されてもよい。
【0008】
SVGパスは、形状の輪郭を表し、座標(点を規定する)及び半径又は弧フラグ等の描画コマンド及び関連する引数のシーケンスとして書かれる。シーケンスは、線、ベジェ曲線及び/又は弧のような連続した描画部分(各描画部分がコマンドに対応する)から複雑な幾何学的形状を記述する。
【0009】
形状の輪郭を規定するパスは、XML要素の属性「d」で書かれ、絶対座標又は相対座標を使用して書かれる。相対座標は、パスの先行座標に基づいて書かれる。
【0010】
描画コマンドは、文字により規定される。大文字は絶対座標の使用を指定し、小文字は相対座標に対応する。大文字及び小文字の双方を使用することにより、絶対座標及び相対座標は同一パス内で併用される。
【0011】
一例として、以下の2つのパスは同一の複雑な幾何学的形状を表す。第1のパスが絶対座標を含む一方で、第2のパスは相対座標から成る。
【0012】
M 14.0, 70.9 L14.0, 55.0 L 2.0, 71.0 L14.0, 70.9 Z
m 14.0, 70.9 l 0.0, -15.9 l-12, 16.0 l12.0, -0.1 z
「M」又は「m」は、考慮する新しい幾何学的点を規定する「move-to」描画コマンドである。
【0013】
「L」又は「l」は、線の終点を指定する線コマンドである。
【0014】
「Z」は、closepathコマンドであり、パスの最後に処理された点と最初の点との間の直線によりパスの輪郭を閉じる。
【0015】
「C」又は「c」コマンドは、3次曲線を規定する。「c」コマンドは、図1に示すように6つのパラメータ値を必要とする。(x1, y1)は第1の制御点であり、(x2, y2)は第2の制御点であり、(x, y)は曲線の終点である。曲線の始点は先行コマンドの終点(xe, ye)である。
【0016】
SVG曲線コマンドは、「S/s」平滑化3次曲線コマンド、「Q/q」又は「T/t」2次ベジェコマンド又は「A/a」楕円弧コマンドを更に含む。
【0017】
本発明は、SVGタイプのXMLを使用する文書の符号化に関する。
【0018】
XMLが文書の構造を記述するための詳細な構文を有するため、XMLに対する特定の符号化機構は、元のXML文書を容易に再構築する能力を維持しつつ、より効率的な形式でXML文書の内容を符号化するために調査された。
【0019】
Fast Inforset形式及びEfficient XML Interchange(EXI)形式を含むバイナリXML形式が開発された。
【0020】
これらの2つの形式は、指標テーブルを使用して、内容又は構造的要素の全体ではなく反復内容又は構造的要素の新たな発生頻度を関連する指標で符号化する。XML文書を符号化するためのビットは節約される。一般に、その節約の殆どは構造的情報によるものである。
【0021】
バイナリXML形式がSVG文書を符号化するために使用可能である一方で、それらの形式の殆どがそのような符号化に圧縮されて適応されない。
【0022】
これは、SVG文書が内容部分と比較して小さな構造的情報の部分を含むためである。
【0023】
また、これは、大きなSVG内容が繰り返されることが殆どなく、整数又は浮動小数点等の単純なデータタイプに対する周知のバイナリXML符号化の効率が利用されない複雑なタイプのものであるためである。その大きな内容は、例えば単純なグラフィックスコマンドを座標又は値(整数及び浮動小数点の双方)のリストと混合するグラフィックスパスである。
【0024】
従って、SVG文書に対するいくつかの特別なバイナリXML符号化形式が開発された。
【0025】
特に米国特許第6,624,769号公報から、SVGパスシーケンスの描画コマンド及び関連する整数の引数を別個に符号化する方法が周知である。
【0026】
第1に、コマンドはグラフィックスパスにおいて使用されるコマンドのみによるハフマンのような符号により符号化される。従って、使用される符号の数(すなわち、ビット数)は減少される。
【0027】
第2に、その特許のSVGプロファイルが移動電話専用であるため整数のみである引数は、グラフィックスパスに含まれる任意の引数の符号化を可能にする最小のビット数を使用してバイナリ形式で符号化される。引数は、2つのカテゴリ、すなわち絶対大文字コマンドに属する引数及び相対小文字コマンドに属する引数に分割される。
【0028】
引数のカテゴリ毎に、そのカテゴリの全ての引数の符号化を可能にする最小のビット数が計算される。その後、各引数は、そのカテゴリに依存して複数のビットを使用して符号化される。
【0029】
この形式は、あるカテゴリの引数又はコマンドを符号化するのに必要とされる最小数にビット数を調整することにより、SVG文書の効率的な圧縮を提供する。
【0030】
更に米国特許出願公開第2008/063,114号明細書から、SVG文書の符号化を対象とする簡易シーン記述(LASeR)バイナリXML形式が周知である。
【0031】
この出願によると、SVGパスシーケンスの符号化は、引数を符号化するために2つの方法のうちより適切な方を使用する。
【0032】
第1の方法は、第1のビット長を使用して最初の2つの引数を符号化し、2つの他のビット長を使用して残りの全ての引数を相対引数として符号化しようとする。第1のビット長は、最初の2つの引数の符号化を可能にする最短のビット長である。2つの他のビット長は同様に算出される。すなわち、第1の他のビット長は、全ての相対的な横座標の符号化を可能にする最短のビット長であり、第2の他のビット長は、全ての相対的な縦座標の符号化を可能にする最短のビット長である。
【0033】
第2の方法は、第1のビット長を使用して最初の2つの引数を符号化し、指数ゴロム(exponential-Golomb)符号化を使用して全ての更なる引数を相対引数として符号化しようとする。
【0034】
しかし、これらの2つの出願において開示される解決策はいくつかの欠点を有する。
【0035】
特に、符号化SVG描画のレンダリングは、完全な画像を描画及び表示するためにSVGパスの全ての情報の復号化を必要とする。
【0036】
SVG画像をサムネイル又は小さなレンダリングサイズにレンダリングするために、一般にデータパスの精度が高すぎるため、符号化SVGデータの処理は時間を浪費する。
【0037】
従って、適切な圧縮性能を維持しつつ、部分復号化及び/又は漸進的なレンダリング用のSVG文書等のグラフィックス文書を符号化する方法を提供する必要がある。
【0038】
SVG文書用の別の特定のバイナリXML形式は、Expway(www.mitre.org/news/events/xml4bin/pdf/thienot_binary.pdf, slides 53-56)により提示されて開示される。
【0039】
開示される方法は、座標値の線形量子化を実行し、より少ないビット数、例えば7〜9ビットにわたり後者を符号化する。この提示の例示的な図により示されるように、方法は、パスデータ及びレンダリングされた描画の精度を激減する。
【0040】
この方法もいくつかの欠点を有する。
【0041】
Expwayの方法は、元の画像のフル解像度の回復を可能にしない不可逆的圧縮である。
【発明の概要】
【発明が解決しようとする課題】
【0042】
部分復号化又は漸進的なレンダリングを可能にするグラフィックスパス符号化を有するのが望ましい。
【課題を解決するための手段】
【0043】
そのために、本発明の目的は、グラフィックス記述言語で図形を表し且つ各々が描画の元の部分に対応する元の描画コマンドの元のシーケンスを含むパスを符号化する方法であって、
−縮小シーケンスを取得するために描画の対応する元の部分の幾何学的近似に従って少なくとも1つの元の描画コマンドを近似描画コマンドに変換するステップと、
−前記縮小シーケンスを符号化縮小シーケンスに符号化するステップと、
−縮小シーケンスと元のシーケンスとの間の差分(変換の結果として得られる)を表す復元情報セットを符号化するステップとを有する。
【0044】
この方法は、元のシーケンスを幾何学的に近似する別の「縮小」シーケンスによりパスシーケンスを置換する。
【0045】
この縮小シーケンスは、対応する画像の低解像度又は小さいサイズのレンダリングを提供するために復号化する際に使用されてもよい。
【0046】
更に、復号化の時により高い解像度レンダリング又はフル解像度レンダリングが取得されてもよいように、縮小シーケンスから元のシーケンスを復元できるようにする補助「復元」情報セットが符号化される。
【0047】
従って、方法は可逆的復元又はほぼ可逆的復元を可能にしてもよい。
【0048】
本発明に係る方法により、画像レンダリングは低解像度レイヤを取得するために元のパスを部分的に復号化することにより取得されてもよい。
【0049】
更に、漸進的なレンダリングは、より高い解像度レンダリング又はフル解像度レンダリングに向けてレンダリングを向上するために補助情報セット(より高い解像度レイヤ)を更に復号化することにより取得されてもよい。
【0050】
復号化されたデータの品質が良いほど、レンダリングされた画像の解像度は良い。
【0051】
後述するように、幾何学的近似は、より少ないビット数又は引数が符号化されることを要求するより単純な描画コマンドを取得するために選択されてもよい。結果として得られる「縮小」パスシーケンスの長さは縮小される。
【0052】
従って、方法により、低解像度レンダリングを提供するための処理時間が短縮される。基本レイヤのより高速なレンダリングが取得されてもよい。
【0053】
上述したように、本発明は、図形を表すパスを提供する任意のグラフィックス記述言語に適する。これは、SVG規格、並びにDrawML及びMicrosoft Silverlightの勧告に例示的に関連する。
【0054】
本発明の1つの態様によると、描画コマンドは、座標等の描画コマンドタイプ及び引数を含み、前記近似描画コマンドは前記元の描画コマンドより少ない引数を含む。縮小シーケンスのサイズは、低解像度画像のより適切な圧縮及び変換のために激減されてもよい。復号化側において、より高速なレンダリングはより少ないメモリを使用して取得される。
【0055】
特に近似描画コマンドの少なくとも1つの引数は、元の描画コマンドの引数から算出される。これは、特定の制御点を必要とする2次曲線コマンドを近似する例であってもよい。例えば「近似」引数は、3次ベジェ曲線描画コマンドの元の制御点引数の重心であってもよい。重心の使用は、3次/2次近似に対して適応されており、元の3次パラメータのコンパクトで単純で高速な計算を可能にする。
【0056】
本発明の別の態様によると、縮小シーケンス内の元の描画コマンドの変換に対応する近似描画コマンドは、近似点描画コマンド、近似線描画コマンド及び近似2次曲線コマンドのうちの1つである。これらの近似コマンドは、殆ど引数を必要としないため効率的な符号化を提供し、より高速なレンダリングを含むコマンドであるため復号器側で高速な画像レンダリングを提供する。
【0057】
特に幾何学的近似は、SVG3次ベジェ曲線コマンドを前記近似点、線又は2次曲線コマンドのうちの1つに変換する。この変換は、SVG3次ベジェ曲線コマンドが約6個の引数を必要とし且つ提案された近似コマンドが0、2及び4個の引数をそれぞれ必要とするため、最も効率的な変換である。
【0058】
別の特定の特徴によると、変換するステップは、元の描画コマンドに対応する描画と近似描画コマンドに対応する描画との間の距離を算出することと、計算した距離を少なくとも1つの閾値と比較することとを含む。この状況において、変換は、近似変換を適用するために潜在的なレンダリング歪み又は変更を基準として直接考慮する。均一にレンダリングされた画像は、画像内の歪みの小さな変化に伴って取得される。
【0059】
そのような閾値は、復号器において予想されるレンダリング解像度に基づいて計算されてもよい。複数の解像度レイヤを生成するために複数の近似が繰り返し実行されてもよいため、各々が予想された解像度に対応する複数の閾値が使用されてもよい。
【0060】
特に元の3次曲線コマンドが曲線の各端点に制御ベクトルを含む場合、前記距離は、2つの端点により生成される線に対する垂直線上の2つの制御ベクトルの正射影ノルムを含む。
【0061】
正射影は、容易に算出される。効率的な指示は、対応する描画が大きく湾曲するか否かに関して取得される。ノルムが大きい程、描画はより大きく湾曲する。従って、近似は、ノルムが閾値と比較して十分に小さい場合に行なわれる。
【0062】
本発明の1つの特徴によると、前記復元情報セットは:
−種々の近似描画コマンドタイプに変換された元の描画コマンドタイプと、
−近似描画コマンドに保持されていない元の描画コマンドの引数及び/又は元の描画コマンドの引数から計算され且つ近似描画コマンドに保持されていない引数の検索を可能にする引数とを含む。
【0063】
この復元情報セットにより、元のデータの復元(可逆的圧縮)が可能になる。元のデータを復元情報セット及び縮小シーケンスに分割することにより、データは種々の解像度レイヤに符号化されてもよい。
【0064】
本発明の別の特徴によると、符号化方法は、幾何学的近似に従う近似変換を含む元のシーケンスの複数の反復変換を含み、
最後の変換の結果として得られる縮小シーケンスが符号化され、変換の復元情報セットのうちの少なくとも1つが符号化される。
【0065】
「反復変換」は、1つの変換の結果として得られるシーケンスが次の変換の入力であることを意味するものとして理解される。複数の符号化レイヤが取得され、復号化側における種々の解像度レンダリング可能性を可能にする。漸進的なレンダリングが可能である。
【0066】
特に復元情報セットの各々が符号化される。可逆的符号化が取得される。
【0067】
しかし、制限された数の復元情報セットが符号化されてもよく、それにより不可逆的符号化が提供される。制限された数は、利用可能なネットワーク帯域幅等の動的な条件に基づいて判定されてもよい。この提供により、補助復元情報セットの前に最も重要な情報がまず送出される。
【0068】
特定の特徴によると、前記近似変換の前の変換は、元のパスシーケンスを全ての絶対値又は全ての相対値に書き換えることを含む。パスシーケンス中の座標は、より適切な符号化に対してより均一である。
【0069】
あるいは、又は組み合わせて、前記近似変換の前の変換は、より少ない引数を有する同等の描画コマンドにより描画コマンドを置換することにより元のパスシーケンスを書き換えることを含む。このように、シーケンスの長さは縮小される。
【0070】
処理する更に単純なパスシーケンスが取得される。近似変換と同様に、書き換えられたシーケンスから元のパスシーケンスを復元できるようにする差分を含む復元情報セットが生成されても良い(その後、格納及び符号化される)。
【0071】
別の特定の特徴によると、前記近似変換の前の変換は、サブサンプリングシーケンス及びサブサンプリングシーケンスから元のシーケンス又は書き換えられたシーケンスの復元を可能にするスーパーサンプリング情報を含む復元情報セットを取得するために、元のシーケンス又は書き換えられたシーケンスをサブサンプリングするステップを含む。この提供により、近似変換は、制限された数の可能なデータに対して実行され、それらのデータは制限されたビット数にわたり処理される。このように、処理は容易になる。
【0072】
別の特定の特徴によると、各変換ステップは、先入れ後出し(FILO)メモリに復元情報セットを格納することを含む。従って、復元セットが生成された順序と逆の順序で復元セットを符号化することは単純化される。符号化する際のそのような逆の順序により、復号化側における高速且つ効率的な漸進的な画像レンダリングは可能になる。
【0073】
特定の一実施形態によると、複数の復元情報セット及び最終的な縮小シーケンスを取得するために、いくつかの近似変換が縮小シーケンスに対して繰り返され、
複数の復元情報セット及び最終的な縮小シーケンスは、種々の画像解像度の複数の符号化レイヤを生成するために符号化される。
【0074】
本発明の別の態様によると、前記縮小シーケンスは、任意の復元情報セットの前に最初に符号化される。これにより、復号化側において低解像度レンダリングが迅速に取得可能であることが保証される。特に復元情報セットは、生成された順序と逆の順序でセットを符号化するように、上述のFILOメモリから検索されてもよい。
【0075】
本発明の別の態様によると、縮小シーケンスは、前記縮小シーケンス内のコマンドの引数に対応する値のシーケンスを含み、
縮小シーケンスの第1の座標の値は絶対値として線形符号化され、他方の座標の値はシーケンス内の先行座標の値に対して符号化される。
【0076】
一般に相対値が絶対値より小さいため、縮小シーケンスのよりコンパクトな符号化表現が取得されてもよい。
【0077】
特定の特徴によると、復元情報セット内の座標の値はそのセット内及び先行符号化縮小シーケンス又は復元情報セット内の先行座標の値に対して符号化される。ここでも、この提供により、復元セットのよりコンパクトな符号化表現が取得されてもよい。
【0078】
更に本発明は、グラフィックス記述言語で図形を表す符号化データを復号化する方法であって:
−近似描画コマンドのグラフィックスパスシーケンスを取得するために符号化データから第1のシーケンスを受信し且つ復号化するステップと、
−符号化データの新しいレイヤが復号化される必要があるかを判定するステップと、
−肯定的な判定の場合に、
・ 符号化データから新しいレイヤに対応する情報セットを受信及び復号化し、
・ アップグレードされたパスシーケンスを取得するために、復号化情報セットに基づいて復号化グラフィックスパスシーケンスの少なくとも1つの近似描画コマンドをアップグレードされた描画コマンドに変換するステップとから成る方法に関する。
【0079】
符号化方法と関連して、変換は一般により複雑な描画を提供する幾何学的変換である。
【0080】
本発明の1つの態様によると、情報セットを受信及び復号化するステップ及び変換するステップは、符号化データの新しいレイヤが復号化される必要がある限り前記アップグレードされたパスシーケンスに対して繰り返される。元のパスシーケンスを漸進的に復元するための各レイヤの漸進的な復号化が達成される。
【0081】
1つの特徴によると、方法は、アップグレードされたパスシーケンスに対応するレンダリング描画を平滑化するために予測を使用して前記アップグレードされたパスシーケンスを後処理することを更に含む。そのような後処理は、復号化される必要がある更なるレイヤがない場合(すなわち、否定的な判定の場合)に行なわれる。このように、視覚的により快適なレンダリングが達成される。
【0082】
一実施形態によると、方法は、否定的な判定である場合、
−変換シーケンスを取得するために、少なくとも1つの近似描画コマンドを前記グラフィックス記述言語のパス描画コマンドに変換するか又は前記近似描画コマンドを除去することと、
−変換シーケンスに基づいて画像をレンダリングすることとを含む。
【0083】
特に前記近似描画コマンドの除去は、前記近似描画コマンドが点コマンドに対応する場合に実行される。
【0084】
これに対応し、本発明は、グラフィックス記述言語で図形を表し且つ各々が描画の元の部分に対応する元の描画コマンドの元のシーケンスを含むパスを符号化する装置であって:
−縮小シーケンスを取得するために描画の対応する元の部分の幾何学的近似に従って少なくとも1つの元の描画コマンドを近似描画コマンドに変換する変換手段と、
−前記縮小シーケンスを符号化縮小シーケンスに符号化し且つ縮小シーケンスと元のシーケンスとの間の差分を表す復元情報セットを符号化する符号化手段とを具備する装置に関する。
【0085】
オプションとして、装置は上述した符号化方法の特徴に関連する手段を含んでもよい。
【0086】
これに関連して、本発明は、グラフィックス記述言語で図形を表す符号化データを復号化する装置であって:
−近似描画コマンドのグラフィックスパスシーケンスを取得するために、符号化データから第1のシーケンスを受信する受信手段及び前記第1のシーケンスを復号化する復号化手段と、
−符号化データの新しいレイヤが復号化される必要があるかを判定する判定手段と、
−肯定的な判定の場合に、符号化データから新しいレイヤに対応する情報セットを受信及び復号化する手段と、
−アップグレードされたパスシーケンスを取得するために、復号化情報セットに基づいて復号化グラフィックスパスシーケンスの少なくとも1つの近似描画コマンドをアップグレードされた描画コマンドに変換する変換手段とを具備する装置に関する。
【0087】
オプションとして、装置は上述の復号化方法の特徴に関連する手段を含んでもよい。
【0088】
コンピュータシステムにより読み出し可能である情報記憶手段は、コンピュータシステムによりロード及び実行された時に本発明に係る符号化又は復号化方法を実現するように構成されるコンピュータプログラムの命令を含む。
【0089】
マイクロプロセッサにより読み出し可能なコンピュータプログラムは、マイクロプロセッサによりロード及び実行された時に本発明に係る符号化又は復号化方法を実現するように構成されるソフトウェアコードの部分を含む。
【0090】
コンピュータプログラム及び情報記憶手段は、それらが実現する方法と同様の特徴及び利点を有する。
【図面の簡単な説明】
【0091】
本発明の追加の利点及び特徴は、添付の図面を参照し、単なる例として示される以下の説明を読むことにより明らかとなるだろう。
【図1】図1は、SVG規格に従って3次曲線コマンドのパラメータ化を示す図である。
【図2】図2は、SVGパスシーケンスを含むSVG文書の例示的な抜粋を示す図である。
【図3】図3は、本発明に係る符号化方法の一般的なステップを示すフローチャートである。
【図4】図4は、本発明に係る符号化方法の詳細な一実施形態を示すフローチャートである。
【図4a】図4aは、本発明に従う縮小データセット及び復元セットの構築、並びにその符号化を示す図である。
【図5】図5は、図4の処理において実現される座標値の絶対表現に対するサブサンプリングを示すフローチャートである。
【図6】図6は、図1に示すような3次曲線に対する例示的な近似処理を示すフローチャートである。
【図7】図7は、本発明に係る復号化処理を示すフローチャートである。
【図8】図8は、本発明に係る方法の一実現例に対して適応される情報処理装置の特定のハードウェア構成を概略的に示す図である。
【発明を実施するための形態】
【0092】
最初に、図2に示す例示的なSVG文書1に基づいて本発明を説明する。
【0093】
SVG文書1は、「path」タイプのSVG要素を含む。その属性「d」は元のパスシーケンス10を規定する。
【0094】
パスは、「C」描画コマンドにより規定される7つの3次ベジェ曲線からなる閉曲線である。最後の「z」コマンドは、「M」コマンドにおいて第1の点のセットを含む描画を閉じる。
【0095】
本発明によると、このSVGパスの符号化は、
−縮小シーケンスを取得するために描画の対応する元の部分(SVGパスにより表される図形の一部分)の幾何学的近似に従って、少なくとも1つの元の描画コマンドを近似描画コマンドに変換するステップと、
−前記縮小シーケンスを符号化縮小シーケンスに符号化するステップと、
−縮小シーケンスと元のシーケンスとの間の差分を表す復元情報セットを符号化するステップとを含む。
【0096】
符号器は、図2のパスシーケンスを構文解析し、整数、各々がタイプ(又は名前)及び整数値(コマンド毎の整数値の数はSVG規格により規定される)を有するコマンドのリスト、並びに引数の値、ここでは座標のみ(横座標及び縦座標の対)を処理するように10,000の変倍因子を判定する。
【0097】
構文解析された情報は以下の通りである。
【0098】
−パラメータ:変倍因子=10,000
−コマンドタイプシーケンス:MCCCCCCCz
−値シーケンス:1657142, 3809336, 1540972, 3121730, 1671473, 2680800, 1857142, 2295050, 2160130, 1825486, 2516866, 1872163, 2904285, 1923621, 2904285, 1913621, 2914285, 1913621, 2914285, 1903621, 2914285, 1903621, 2924285, 1903621, 2924285, 1903621, 3353836, 2072530, 3773967, 2236000, 3914285, 2609336, 3948959, 3146579, 4274470, 3351436, 3828571, 4437907, 3003143, 5074644, 1724985, 6172611, 1657142, 3809336
符号化する値を減少することを目的とする第1のステップにおいて、符号器は、データセットに対してサブサンプリング変換を適用する。2つのデータセット、すなわちサブサンプリングデータ及びサブサンプリング値からもとの値の復元を可能にするスーパーサンプリングデータが取得される。
【0099】
サブサンプリング変換は、例えば変倍因子に従って規定される。
【0100】
本発明の例において、12ビットのサブサンプリングが使用される。しかし、読みやすくするために、ベース10のサブサンプリングを仮定し、取得される第1のサンプリングデータセットは、Set A (11): 165, 380, 154, 312, 167, 268, 185, 229, 216, 182, 253, 187, 290, 192, 290, 191, 291, 191, 291, 190, 291, 190, 292, 190, 292, 190, 335, 207, 377, 223, 391, 260, 394, 314, 427, 335, 382, 443, 300, 507, 172, 617, 165, 380である。
【0101】
第2のデータセットは、Set B (12): 7142, 9336, 972, 1730, 1473, 800, 7142, 5050, 130, 5486, 6866, 2163, 4285, 3621, 4285, 3621, 4285, 3621, 4285, 3621, 4285, 3621, 4285, 3621, 4285, 3621, 3836, 2530, 3967, 6000, 4285, 9336, 8959, 6579, 4470, 1436, 8571, 7907, 3143, 4644, 4985, 2611, 7142, 9336である。
【0102】
第1のステップは、元のパスシーケンス10の第1の近似(コマンドシーケンス+Set A 11)を提供する。
【0103】
描画コマンドをより単純なコマンドに変換することを目的とする第2のステップにおいて、符号器は、コマンド「C」により規定される3次ベジェ曲線が線として近似されるか又は他の単純なコマンドであるかをテストする。
【0104】
3次ベジェ曲線と近似線(曲線の2つの端点により規定される)との間の数学的距離が算出され、近似決定に対する主な基準としての役割を果たす。以下の表1は、そのような計算の結果を一覧表示し、後で規定されるような2つの距離(図6の説明を参照)は曲線毎に算出されている。
【0105】
【表1】

【0106】
本発明において使用される近似コマンドは、SVG描画コマンド又は拡張描画コマンドであってもよい。更に、特定の「点」コマンド(「aP」)は、開始点に非常に近接する終点に対応する近似コマンドを指定するために使用されてもよい。
【0107】
尚、元のコマンドを置換するのに使用される近似コマンドは、より少ない引数を必要とする。すなわち、点コマンドは座標を必要とせず、線コマンドは1つの座標(すなわち、横座標及び縦座標)を必要とし、2次曲線コマンドは2つの座標を必要とし、その一方で元の3次ベジェ曲線「C」コマンドは3つの座標を必要とする。
【0108】
表に示すように、距離が十分に短い場合、曲線は線として近似される。距離がほぼゼロである場合、曲線の終点は、曲線が点として近似されるように開始点に非常に近接する。距離がほぼゼロでない場合、曲線は2次曲線として近似される。「点」コマンドは引数を有さない。
【0109】
上記テーブルの近似方法のセットに従って、2つのデータ(又は情報)セットはSet A 11から生成される。
【0110】
−近似の後に結果として得られる引数を含む第1のセット、すなわちSet A1(13)。線として近似された曲線の端部の座標を含み、点として近似された曲線に対しては座標を含まず、2次曲線として近似されたコマンドに対して2つの座標を含む(例えば重心である元の曲線コマンドの2つの元の制御点から算出されてもよく且つ以下に下線を引いた太字で示される曲線の端部の座標及び制御点):
【0111】
【数1】

【0112】
−Set A1において選択されなかった全ての座標及び以下に下線を引いた太字で示される2次曲線として近似された各曲線に対する1つの制御点の座標を含む第2のセット、すなわちSet A2(14)(第2の元の制御点を検索する為に、上記の重心と共に用いても良い):
【0113】
【数2】

【0114】
同時に、コマンドタイプの変換に関する情報はメモリに格納されてもよい。例えば第1の「C」コマンドタイプは「aL」線コマンドタイプにより置換されているか、あるいは第3の「C」コマンドタイプは「aP」線コマンドタイプにより置換されている。例えば、近似コマンドタイプシーケンスMaLaLaPaPaLaLaQzは、元のシーケンスMCCCCCCCzに加えて格納されてもよい。
【0115】
この第2のステップに従って、結果として、Set A1、Set A2及びSet Bが近似コマンドタイプシーケンスにより生成された。Set A1は、元のシーケンスと比較して少ないデータを含むが、最も重要なデータを保持する。そのデータは、近似コマンドタイプシーケンスと組み合わせると、近似SVGパスに対応する。
【0116】
Set A1 + A2により、SVGパスの中間サイズの解像度のバージョンの復元が可能になる。例において、全ての近似コマンドタイプが元の「C」コマンドタイプに対応する一方で、必要に応じて、後述するように、元のタイプが近似タイプから検索される方法を指定する情報の追加の項目はSet A2と関連付けられてもよい。
【0117】
Set A1 + A2 + Bにより、SVGパスのフル解像度レンダリングが可能になる。
【0118】
第3のステップにおいて、変倍因子等の符号化パラメータが符号化される。次に、取得された情報セットは、階層符号化方式を使用して符号化される。これは、低解像度の情報セット(ここでは、Set A1)が最初に符号化され、その後このセットに付加される情報(Set A2)がより高い解像度の符号化画像を取得するために符号化され、これは全てのセット(A1、A2及びB)が符号化されるまで継続する。
【0119】
例えば、コマンドタイプが最初に符号化される。ここで、2つの実現例が使用されてもよい。
【0120】
−全てのコマンドタイプがSet A1の前に直接符号化される(「近似された線、曲線」のような拡張タイプを含む。
【0121】
−コマンドタイプの符号化は、2つの部分、すなわちSet A1の符号化の前及び後に分割される。Set A1が制約されるコマンドタイプのセット(点、線、2次曲線、移動、閉じる)を使用するため、これらの制約されるコマンドタイプはSet A1の前に符号化される。例えば、シーケンスMaLaLaPaPaLaLaQzが最初に符号化される。Set A1の符号化後、コマンドタイプの変換に関する情報であり、制約されるセットから元のSVGコマンドセットにする必要がある情報は符号化される(点は何になってもよく、線は曲線になってもよく、2次曲線は3次曲線になってもよい)。例えば、シーケンスMCCCCCCCzが符号化される。
【0122】
しかし、元のコマンドの復元を可能にするこの情報の任意の他の表現が使用されてもよい。
【0123】
引数(ここでは座標)が処理される。最初にSet A1を符号化し、次にSet A2及びBを符号化する。
【0124】
Set A1の各座標は、相対的なSet A1: 165, 380, 20, -151, 105, -37, 101, -30, -9, 183, -24, 119, -71, -182を取得するために、最初に先行する座標に対して算出される。
【0125】
同様に、Set A2の値は、Set A1及びSet A2から最も近接する既に符号化された値に従って算出される。その結果、相対的なSet A2: -11, -68, 13, -44, 31, -47, -37, -5, 37, 4, 1, -1, 0, -1, 0, 0, 1, 0, 0, 0, 43, 17, 42, 18, 3, 54, 31, 21, -7, 64が得られる。
【0126】
この例から分かるように、相対値は絶対値より小さい傾向がある。これにより、潜在的によりコンパクトな符号化表現が可能になる。
【0127】
相対的なSet A1は、残りの値とは非常に異なる大きさを有するために線形符号化される最初の2つの値を除いて、指数ゴロム符号化方式を使用して符号化される。
【0128】
指数ゴロム符号は、パラメータkによりパラメータ化されるユニバーサル符号のタイプであり、任意の大きさの整数の符号化を可能にする。符号は、以下のように実現される。
【0129】
1)整数Iが正である場合、J=2*Iを算出する。そうでない場合、J=1-2*Iを算出する。
【0130】
2)(2^kにより除算されるJ)のバイナリ表現のビットサイズと同数の0ビットを書く。
【0131】
3)「1」ビットを書く。
【0132】
4)Jのバイナリ表現の最後のkビットを書く。
【0133】
指数ゴロム符号のパラメータkは、幾何学的分布パラメータの標準的な推定により推定される。以下の例において、kは7に設定される。
【0134】
Set A1は、近似コマンドタイプシーケンスと共に図2の図中符号13により示される基本レイヤセットを形成する。
【0135】
同様に、相対的なSet A2の全体は、例えば5に等しいパラメータkにより指数ゴロム符号化方式を使用して符号化される。
【0136】
Set A2は、元のコマンドタイプシーケンス(又は近似タイプからの元のコマンドタイプの復元を可能にする任意の他の情報)と共に図2の図中符号14により示される復元高解像度レイヤセットを形成する。
【0137】
Set Bの全ての値がサブサンプリングパラメータの2乗により制限されるため、Set Bは、線形符号化を使用して符号化される。
【0138】
Set Bは、図2の図中符号12により示される復元フル解像度レイヤセットを形成する。
【0139】
本明細書において、SVG文書1のパス要素の符号化を説明した。他の要素の符号化は、従来技術の方法により実行される。
【0140】
同様に、本発明は複数のパスを含むSVG文書にも適用される。そのような場合、幾何学的変換を適用するステップ及び変換された縮小シーケンスを符号化するステップが各パスに適用される。従って、文書に対応する符号化データの第1のレイヤが形成される。次に、パス毎に生成される復元情報セットが符号化され、補助レイヤを作成する。このように、階層復号化が容易にされる。
【0141】
次に、そのような符号化SVG文書の復号化、特に符号化SVGパス要素の復号化について簡単に説明する。
【0142】
そのような復号化方法は、
−近似描画コマンドのSVGパスシーケンスを取得するために符号化SVGデータから第1のシーケンスを受信及び復号化することと、
−符号化データの新しいレイヤが復号化される必要があるかを判定することと、
−判定が肯定的である場合、符号化SVGデータから新しいレイヤに対応する情報セットを受信及び復号化することと、
−アップグレードされたパスシーケンスを取得するために、復号化情報セットに基づいて復号化シーケンスの少なくとも1つの近似描画コマンドをアップグレードされた描画コマンドに変換することとを含む。
【0143】
更に詳細に考慮すると、復号器は、変倍因子及び選択された符号化オプションを指定する任意のフラグ等のパラメータを復号化し、その後、オプション1(最初に全てのコマンドタイプ情報を取得する)に従うか又はオプション2(レイヤ毎にコマンドタイプを段階的に取得する)を使用してコマンドタイプを復号化することにより開始する。
【0144】
基本レイヤ(又は低解像度レイヤ)の復号化は、初期座標を線形復号化することにより開始する。基本レイヤは、指数ゴロム技術を使用して全ての基本レイヤの値を復号化する。このレイヤの復号化の終了時、復号器は相対的なSet A1全体を復号化しており、元のSet A1を復元できる。
【0145】
処理時間又はデータの不足により阻止される場合、あるいは低解像度のみが予想される場合、復号器はこの段階において復号化を停止することを決定できる。この場合、新しいレイヤを復号化する上記判定が否定的である場合、処理は、
−少なくとも1つの近似描画コマンドをSVGパス描画コマンドに変換するか又は変換シーケンスを取得するために前記近似描画コマンドを除去することと、
−変換シーケンスに基づいてSVG画像をレンダリングすることとを含む。
【0146】
この点に関して、復号器は以下のように復号化データを更新する必要がある。
【0147】
−復号化シーケンスMaLaLaPaPaLaLaQzの近似点「aP」は、データから削除されるか、又は長さがゼロの曲線に変換される。
【0148】
−近似線「aL」は、例えばSVG「L」コマンドを使用して標準的なSVG線に変換される。近似された2次曲線「aQ」は、標準的なSVG2次曲線「Q」コマンドに変換される。
【0149】
−値は、個々にスーパーサンプリングされるか又は元の値の大きさを回復するためにグローバル変倍因子を使用してスーパーサンプリングされる。
【0150】
−レンダリングの高度化に関連して後述されるようにレンダリング品質を向上するために、追加の後処理が実行される。
【0151】
復号器が復号化を継続することを決定した場合、復号器は符号化文書における次の符号化レイヤ14(中間解像度レイヤ又は高解像度レイヤ)を復号化する。
【0152】
符号化オプションに依存して、復号器は、例えばシーケンスMCCCCCCCzである追加のコマンドタイプ情報を復号化してもよい。その後復号器は、相対的なSet A2を取得するために指数ゴロム符号化された値を復号化する。
【0153】
値のSet A2は復元され、Set Aのサブサンプリングされた元のSVG座標の算出が可能になる。
【0154】
Set Aの解像度が十分である場合、復号器は復号化を停止する。復号器は、例えばグローバル変倍因子を使用して復号化値のスーパーサンプリングを実行する。コマンドタイプシーケンスMCCCCCCCz及びSet Aの値により、従来の方法による高解像度レンダリングが可能になる。
【0155】
レンダリング品質を向上するために、追加の後処理が実行可能である。
【0156】
SVGパスのフル解像度が望ましい場合、復号器は継続してSet Bの値(上位レイヤ又はフル解像度レイヤ12)を復号化する。
【0157】
後者は、Set Aから元のSVGパス値を直接復元することを可能にする。
【0158】
尚、この段階において、メモリ消費を低減するために最適化技術が使用されてもよい。基本レイヤのみが復号化される場合、メモリの割当てはSet A1の値の正確な数に低減される。これに対して、追加のレイヤが復号化される場合、単一の値バッファが割り当てられ、復号化中に漸進的に満たされる。
【0159】
上記例から、本発明を実現する符号器は、レイヤ12、13、14を結合することによりデータセットの品質が向上されることを可能にする最終的なデータセット及びいくつかの追加のデータセットを与える元のSVGパスに対していくつかの連続変換を適用することが分かる。それらの変換のうちの1つは、一般により少ない引数を有し、従ってパスの低解像度レンダリングを認識するために値の数を減少する近似変換である。
【0160】
レンダリングするのが非常に高速なコマンドのみ、殆どの場合は点コマンド(この場合、SVGコマンドは処理されない)又は線コマンドを使用することによりレンダリング処理を更に容易にしてもよい。
【0161】
更に、圧縮全体が最適な利用可能なSVGコーデックとほぼ同等に適切なままであるように、特定の連続した変換及び特定の符号化が縮小データセット及び全ての補助データ(又は復元情報セット)に対して提供される。
【0162】
復号化側において、復号器は、予想されるレンダリング品質、データの可用性、処理能力又はメモリパワーに基づいて符号化セットの一部を選択的に復号化してもよい。復号器は、低解像度レンダリングを含む部分復号化、並びに復号化処理中にパスレンダリングをリフレッシュする場合は漸進的なレンダリングを提供してもよい。
【0163】
本発明の一実施形態について、図3〜図7を参照して説明する。
【0164】
図3は、本発明に係る符号化方法の一実施形態の一般的なステップを示すフローチャートである。
【0165】
符号化方法は、以下に例示的に詳細を示すような順序付けされた変換のセットを使用する。
【0166】
それらの変換の各々は、入力データから2つのデータセット、すなわち縮小データセット及び復元情報セットを生成する。
【0167】
縮小データセットは、入力データの近似である。これは、より小さい固有のサイズを有し且つ/又は効率的な符号化に適する。一般に、SVGパスシーケンスを考慮すると、縮小データ又は縮小シーケンスセットは、コマンドタイプのリスト(一般に、変換の出力における可能なタイプの数は入力より少ない)及び一般に整数として格納される値のリストを含む。
【0168】
復元情報セットは、縮小データセットから元のデータセットを算出するために逆変換により使用される。復元情報セットは、縮小データセット及び値(整数として格納される)又は追加の情報(特定のコマンドが絶対的であるか又は相対的であるか等)セットのコマンド毎に使用されるべき逆変換を表す情報セットを含んでもよい。全ての値は、周知の最大値を有する整数として格納されてもよい。
【0169】
符号器は、SVGパスに変換のセットを繰り返し適用する。
【0170】
各変換に対して、符号器は復元情報セットを格納し、縮小データセットを次の変換への入力として使用する。
【0171】
最後の変換が完了した後、符号器は最初に最終的な縮小データセットを符号化する。
【0172】
符号器のセットアップ(可逆的圧縮、符号化ファイルの対象サイズ等)に依存して、符号器は変換により生成された復元情報セットの一部を更に符号化してもよい。
【0173】
全ての復元情報セットが符号化される場合、符号化は可逆的である。従って、生成されたレイヤは(n+1)個存在する。nは変換の数である。
【0174】
そのような符号化の場合、図3を参照すると、処理はステップE100において符号化するSVGパスデータセット(又はシーケンス)を検索することにより開始する。
【0175】
ステップE110において、変換がデータセットに適用される必要があるかがチェックされる。
【0176】
変換がデータセットに適用される必要がある場合、ステップE120において変換が適用される。変換は、ステップE110の次の繰り返しに対する新しいデータセットとなる縮小データセットを生成する。変換は、幾何学的近似に従ってデータセットの元の描画コマンドを近似描画コマンドに変換することを含む。対応する復元情報セットは、FILO(先入れ後出し)スタックに格納される。
【0177】
全ての変換が適用された(ステップE110の出口「no」)場合、ステップE130において、縮小データセット又は縮小シーケンスである最終的なデータセットが符号化される。
【0178】
その後、FILOスタックに格納される一部の復元情報セット又は各復元情報セットは、順次符号化され、符号化後にスタックから除去され(ステップE140及びステップE150)、処理は終了する(ステップE160)。
【0179】
結果として得られる符号化文書において、第1のレイヤ(又は基本レイヤ)は縮小データであり、他のレイヤは、変換により生成された各復元情報セットであり、生成された順序と逆の順序で格納される。
【0180】
不可逆的圧縮が許可される場合、符号化処理は、全てのスタック項目が符号化される前(例えば、所定の数のスタック項目の符号化の後又は最小誤り距離のような基準が満たされた時)に停止してもよい。
【0181】
効率的な符号化を提供するために、本発明の1つの変換は、後で更に詳細に説明するようにSVGコマンドを近似コマンドに変換する近似変換である。
【0182】
書き換え変換及び/又は量子化変換等の他の変換は、殆どの場合に有用であるが、種々の例において、例えばデータが既に低解像度データである場合においてオプションであってもよい。
【0183】
図4を参照して、本発明に係る符号化方法の詳細な一実施形態を説明する。本実施形態において、符号器は以下の順番で3つの変換を適用する。
【0184】
−SVGパスを全ての絶対値又は全ての相対値に変換するSVGパスを簡略化するための書き換え変換
−データを低解像度データ及び高解像度データに分割するための量子化又はサブサンプリング変換であり、一般には線形変換
−低解像度データを2つの追加のレイヤ、すなわち更に低い解像度のデータセット及び復元(更に高い解像度に対する)情報セットに分割するための近似変換
図4の第1のステップE200において、符号化するSVGパス20が取得される。
【0185】
ステップE210において、オプションとしてパスデータは書き換えられ、より簡略化され且つ同等にレンダリングされるSVGパスのバージョンを得る。2つの書き換え動作は、組み合わせて実行されてもよく又はいずれか一方が実行されてもよい。
【0186】
第1の書き換え動作は、SVGパスシーケンスの全ての値を相対値のみ又は絶対値のみに書き換えることに関係する。
【0187】
例えば全ての座標の値を相対値として書き換える場合、このステップは、大文字のコマンドタイプ名を小文字のコマンドタイプ名で置換することにより、例えば「C」を「c」にすることにより、最初にコマンドタイプ名を更新することを含む。
【0188】
第2に、全ての絶対座標は、それらの絶対座標及びSVGパスの先行座標から算出される相対座標により置換される。例えばパス「M 100 100 L 200 150 L 100 150 L 100 100」は、相対パス「m 100 100 l 100 50 l -100 0 l 0 -50」により置換される。
【0189】
これは、使用されるコマンド数を減少するという第1の利点を有する。更に一般に、相対座標の値は対応する絶対座標の値より小さい。また、全ての座標がより均一である。
【0190】
尚、SVG仕様書によると、第1のパスコマンドが相対パスコマンドである場合、絶対コマンドとして解釈される。これにより、前処理ステップは、全てのコマンド、最初のコマンドであっても書き換えが行なえる。
【0191】
第2の書き換え動作は、パス中の各コマンドに対して最適なコマンド形式を使用することである。いくつかのコマンドは、特定の例に対してショートカットを有する。例えば「lineto」コマンドは、線が水平(又は垂直)である場合に「horizontal-lineto」(又は「vertical-lineto」)ショートカットを有する。この書き換え方式を適用することにより、コマンド「l 5 0」は、情報がより少ない同等のコマンド「h 5」により置換される。従って、同等のコマンドは同一の図の結果を生成するコマンドとして理解される。
【0192】
各例に対して最も固有のコマンドを使用することにより、元のパス中の引数の数が減少される。
【0193】
このステップE210の書き換え変換は、書き換えられたSVGパス21及び書き換えられた形式から元の形式にすることを可能にする復元情報22を生成する。それらのパス及び情報は、次の処理ステップのためにメモリに格納される。一般にこの追加の情報は、相対的であるか又は絶対的であるかを指定する各コマンドに対するブール値から構成されてもよい。h又はvコマンドの場合、元々hコマンドであるか、vコマンドであるか又はlコマンドであるかを指定できる。
【0194】
算術符号化技術又は同様の技術は、この種のデータを圧縮するために使用されてもよい。効率的な一実現例において、全ての値は絶対値として書き換えられ、パスデータサブサンプリング変換を容易にする。
【0195】
ステップE210に続き、ステップE220において、書き換えられたパス値はサブサンプリングされる。そのために、上述したように、SVGパスは構文解析され、パラメータ、コマンドタイプシーケンス(全てのパスコマンドのセット)及び引数値を別個に一覧表示するように再構成される。
【0196】
図5は、座標値の絶対表現に対するサブサンプリングを示す。より効率的にするために、上述したように、ステップE210において座標の値のみがサブサンプリングされる。半径又は軸等の他の引数は実際には符号化される。しかし、特定の一実施形態において、これらの他の引数もサブサンプリングされてもよい。
【0197】
実質的な視覚的なアーチファクトをもたらす付加的な丸め雑音を含まないようにするために、絶対表現が使用される。
【0198】
サブサンプリングパラメータを仮定すると(ステップE300)、処理する値が存在する限り(ステップE310)、ステップE320において、その絶対値が検索される(又は相対値として利用可能である場合は算出される)。
【0199】
ステップE330において、この絶対値は、サブサンプリング因子に従って量子化され、絶対サブサンプリング値を得る。
【0200】
サブサンプリング値から元の値を得ることを可能にするスーパーサンプリング情報(これは、実際には元の値とサブサンプリング値又は量子化値との間の差分である)は、ステップE340において算出及び格納される。相対サブサンプリング値は、ステップE350において算出及び格納される。
【0201】
処理される必要がある値が更に存在しない場合、処理はステップE360において終了する。
【0202】
ステップE220の結果として、全ての値のセットが2つのセット、すなわちコマンドタイプシーケンスと組み合わされる場合に低解像度データセット23及びスーパーサンプリング情報24に対応するサブサンプリングされた相対座標値又は絶対座標値に分割される。後者、すなわち復元情報セットにより、低解像度から元の値又は元の値に非常に近い値を得ることが可能になる。
【0203】
更なるセットが予想される場合、同一の処理が繰り返される。
【0204】
ステップE220に続き、ステップE230において、パスコマンドはそれらのタイプ及び値に従って近似される。
【0205】
本発明の一実施形態において、図6を参照すると、分類はコマンドを3つの潜在的な「近似」タイプ、すなわち点、線及び2次曲線として近似することから成る。
【0206】
これらの3つの潜在的な「近似」コマンドタイプのうちの1つにおける図1に示す3次曲線の近似について以下に説明する。
【0207】
本発明はこの近似に限定されないことが理解される。説明するために、任意のSVGコマンドは、より少ない引数を使用するSVGコマンド又は点近似コマンドに近似されてもよい。例えば、線コマンドは点コマンドに近似され、2次曲線コマンドは線又は点コマンドに近似され、弧曲線コマンドは2次曲線、線又は点コマンドに近似される。
【0208】
しかし、コマンドタイプ「M/m」及び「Z/z」は近似されず、ステップE230の結果として得られる近似コマンドタイプを一覧表示することを目的とする近似コマンドタイプシーケンスに追加される。
【0209】
点、線又は2次曲線等のより単純なコマンドへの3次ベジェ曲線コマンドの幾何学的近似に戻ると、この近似は以下のことを可能にする。
【0210】
−近似コマンドの値の数を減少する。
【0211】
−近似コマンドのレンダリングを簡略化する。
【0212】
理解されるように、近似された点は、形状の輪郭が同一の点に残っているため、値符号化を必要としない。線は2つの値(1つの座標)の符号化を必要とし、2次曲線は4つの値の符号化を必要とする。
【0213】
尚、点、線及び2次曲線のレンダリングは、復号器側において一般的な3次曲線と比較して高速である。一般に、点はレンダリングされる必要がない。線のレンダリングは2次曲線より高速であり、2次曲線のレンダリングは3次曲線より高速である。この近似処理は、滑らかな3次曲線として3次曲線を近似するように容易に拡張可能であり、これにより座標値の数を6から4に減少する。
【0214】
パスの各コマンドの近似処理は、そのコマンドを検索することによりステップE400において開始する。
【0215】
ステップE410において、コマンドが線として近似されるかが判定される。このテストは、以下のように種々の方法で実現可能である。
【0216】
第1の方法において、最初に元のコマンド曲線の任意の点と近似曲線(線、2次曲線、滑らかな3次曲線)との間の最大距離が算出される。この距離は、所定の閾値と比較され、どの近似が最適な近似であるのかを判定する。
【0217】
3次曲線からその近似線までの距離は、線(x-xe, y-ye)に対する垂直線上のベクトル(x-x2, y-y2)及びベクトル(x1-xe, y1-ye)の正射影ノルムとして推定される。これらのノルムは、ベクトル(x1-xe, y1-ye)((x-x2, y-y2))とベクトル(x-xe, y-ye)との間のベクトル積から算出される。表1は、ベクトル(x1-xe, y1-ye)に対して算出された距離(距離1)及びベクトル(x-x2, y-y2)に対して算出された距離(距離2)の結果を示す。
【0218】
これらの2つの距離が認識されると、例えば上記表に示すように、例えば双方の距離が所定閾値を下回る場合、コマンドは線として近似される。計算を制限するために、一般に閾値には、パスに対して許容される最大偏差が選択される。
【0219】
上記距離に対する別の基準、例えば(x1-xe, y1y-e)、(x2-x1, y2-y1)及び(x-x2, y-y2)の符号化と比較して(x-xe, y-ye)、(x1-xe, y1-ye)及び(x-x2, y-y2)を符号化することにより引き起こされる潜在的な圧縮損失が使用可能である。
【0220】
コマンドが線として近似可能である(ステップE410において出口「yes」)の場合、ステップE420において、コマンドが引数のより適切な圧縮を行なえる点として近似可能であるかがテストされる。
【0221】
このテストE420は、ベクトル(x1, y1)、(x, y)及び/又は(x-x2, y-y2)のノルムのサイズに基づく。
【0222】
これらのノルムが所定の閾値を下回る場合、ステップE430において、コマンドは点として近似される。これは、近似点コマンド「aP」が近似コマンドタイプシーケンスに追加されることを意味する。更に全ての3つの座標(x1, y1)、(x2, y2)及び(x, y)は復元情報セットに入れられ、このコマンドの値は縮小データセットに保持されない。
【0223】
ステップE420において否定的な応答の場合、ステップE440においてコマンドは線として近似される。そのような場合、近似線コマンド「aL」は近似コマンドタイプシーケンスに追加され、(x, y)座標のみが縮小データセットに保持され、(x1, y1)及び(x2, y2)座標は復元情報セットに入れられる。
【0224】
あるいは、ステップE450において、3次曲線コマンド「C」は簡略化されたベジェ曲線として、一般には2次曲線として近似される。
【0225】
そのような場合、2次曲線に対する特定の制御点が算出される。座標(x1, y1)及び(x2, y2)の重心(xm, ym)は、十分に適切なレンダリング近似であり、グローバル圧縮に関しても適切であるため選択される。(xm, ym)及び(x, y)は縮小データセットに追加され、近似2次曲線コマンド「aQ」は近似コマンドタイプシーケンスに追加される。
【0226】
次に、x1又はx2及びy1又はy2は、(x, y)への(xm, ym)の近似に基づいて復元情報セットに追加される。重心が曲線の開始点に近接する場合、x1及びy1が選択される。重心が(x, y)に近接する場合、x2及びy2が選択される。
【0227】
いくつかの曲線が滑らかな3次曲線として近似可能であり、この場合、(x2, y2)値のみが縮小データセットに保持される。
【0228】
ステップE460において、結果として得られる近似コマンドタイプ及び選択された値を格納する。
【0229】
ステップE470において、選択されない値及び近似前の元のコマンドタイプに関する情報は、復元情報セットに共に格納される。
【0230】
これらのステップの結果、2つのデータセットが構築される。
【0231】
−制限されたコマンドタイプセット及び値の小さなセットを有する近似コマンドを含む縮小データセット25。このデータセットは、基本レイヤにおいて符号化されたデータである。
【0232】
−近似データ(縮小データセット25の)から元のデータを得ることを可能にする復元情報セット26。一般に、この復元情報セットは、元のコマンドタイプ及び除去された値を含み、第2のレイヤにおいて符号化される。
【0233】
実際には、3次曲線「C」コマンドは線として近似される場合が多い。これは、6つの引数値から2つの引数値に減少される場合が多いことを意味する。
【0234】
図4aは、種々のデータセット20〜26が逐次的に生成される方法を示す。
【0235】
図3に戻ると、ステップE230の次にステップE240が続き、方法の符号化部分を開始する。
【0236】
ステップE240において、最初に符号化パラメータを書く。
【0237】
これらの符号化パラメータは、変倍因子、使用されるサブサンプリング比、特定の内部符号化パラメータ(ハフマンテーブルID、指数ゴロムパラメータ等)を含んでもよい。
【0238】
ステップE250において、ステップE230からの縮小データセット25は基本符号化レイヤ25’として符号化される。
【0239】
基本レイヤのデータは、コマンドタイプ(線、曲線等)のセット25’a及び値のセット25’b(上記例においてはSet A1)を含む。
【0240】
基本レイヤにおけるコマンドタイプは、SVGコマンドタイプより小さいコマンドタイプのセットである。これらのコマンドは、例えば事前定義済みハフマンテーブルを使用するハフマン符号化である一般的な可逆的圧縮技術を使用して符号化される。
【0241】
一般に、近似線は2次曲線より一般的である。近似点は、サブサンプリングに大きく依存する。
【0242】
従って、いくつかのハフマンテーブルが規定され、最適なテーブルが符号器により選択される。
【0243】
他の技術(算術符号化、予測部分マッチング等)も使用可能である。
【0244】
近似コマンドの符号化に従って、座標値が符号化される。
【0245】
これらの値は、互いに対して符号化される。これらの値は、一連のx値及びy値として考えられる。指数ゴロム符号化を使用して、値xnは値xn-1に関連して符号化され、値ynはyn-1に従って符号化される。この符号化は、パラメータkを入力とする。このパラメータは、値の幾何学的分布に基づいて算出される。値セットが既にサブサンプリングされているため、最適な値kは、一般にゼロに近い値であり、多くの場合ゼロに等しい。
【0246】
x0及びy0は、任意の値をとることができるため線形符号化される。
【0247】
指数ゴロム符号の値kがゼロでない場合、符号化値は2つのストリームに分割されてもよい。第1のストリームは上位情報(すなわち、2kで除算される値)を含み、第2のストリームは下位情報(すなわち、値のバイナリ表現の最後のkビット)を含む。
【0248】
ステップE250に続き、オプションのステップE260において、近似値25からサブサンプリング値23を得ることを可能にする復元情報セット26が符号化される(符号化部分26’が取得される)。これは、相対値による指数ゴロム符号化を使用する上述したようなSet A2の符号化に対応する。
【0249】
サブサンプリングされた復元データ26は、コマンドタイプを復元するのに必要な情報及び近似処理が実行される前の値の双方を含む必要がある。
【0250】
このデータを処理する時に基本レイヤが既に復号化されているため、近似コマンドタイプは認識されている。この近似コマンドタイプは、利用可能なコマンドセットを制限するために使用される。
【0251】
例えば、近似2次曲線は、線ではなく2次曲線又は3次曲線のみをもたらす可能性がある。元のコマンドタイプは、ハフマン符号化を使用して近似コマンドタイプに従って符号化される。コマンドタイプの符号化部分26’aが取得される。他の技術(算術符号化、予測部分マッチング等)も使用可能である。
【0252】
元の座標値は、基本レイヤの座標値に従って符号化される。点の場合、全ての元の値は、基本レイヤの値に対して行なわれたように、一般にゼロであるパラメータkにより指数ゴロム符号化を使用して符号化される。値の符号化部分26’bが取得される。
【0253】
線として近似された曲線に対して、(x1, y1)及び(x2, y2)が符号化される。(x1-xe, y1-ye)は、小さい必要があるため指数ゴロム符号化を使用して直接符号化され、(x-x2, y-y2)は、(x2, y2)が既に認識されている(x, y)に近接する必要があるため、指数ゴロム符号化を使用して符号化される。
【0254】
近似2次曲線の場合、(x1, y1)(x2, y2)の重心(xm, ym)が認識されているため、(x1, y1)又は(x2, y2)のみが符号化され、残りの座標は(xm, ym)から算出される。指数ゴロム符号化を使用して最小である可能性がある値を符号化するために、以下のアルゴリズムが使用される。
【0255】
−(xm, ym)が(x, y)より(0, 0)に近接する場合、指数ゴロムを使用して(x1, y1)を符号化する。
【0256】
−(xm, ym)が(0, 0)より(x, y)に近接する場合、指数ゴロムを使用して(x-x2, y-y2)を符号化する。
【0257】
ステップE260の後、ステップE270において、スーパーサンプリング情報24(上記例においてはSet B)がオプションとして符号化され、元の書き換えられたパスデータ21の復元を可能にする。符号化スーパーサンプリング情報部分24’は、符号化文書30において取得される。
【0258】
スーパーサンプリング情報は、あるコマンドタイプ情報を含んでもよく、その場合、データ復元情報に対して使用されるような符号化技術が使用される。
【0259】
あるいは、スーパーサンプリング情報は、2つの技術、すなわち指数ゴロム及び線形符号化の組合せにより符号化可能である。指数ゴロム符号化は、特にスーパーサンプリング情報が1画素より大きい情報を含む場合、スーパーサンプリング情報の前の値がゼロである時に使用される。
【0260】
あるいは、スーパーサンプリング情報が束縛値(2n、nはサブサンプリング因子である)を有する整数から成るため、線形符号化が使用可能である。
【0261】
スーパーサンプリング情報量が大きい場合、例えば符号化値が256より大きい場合、このスーパーサンプリング情報はいくつかのサブレイヤに分割される。
【0262】
符号化処理は、ステップE280に継続し、オプションとして復元に対する書き換え情報22は、元のパスシーケンスの忠実な復元を可能にするように部分22’に符号化される。
【0263】
符号化処理のこれらのオプションのステップにより、符号化SVG文書のサイズを縮小できる。従って、特に送信ネットワーク帯域幅が小さい場合又は記憶容量が小さい場合、符号化SVG文書の送信はより効率的になる。
【0264】
図4aは、符号化SVGパスに対応する連続する符号化部分25’、26’、24’、22’を含む結果として得られる符号化SVG文書30の部分を示す。図示するように符号化部分を順序付けることにより、基本レイヤが最初に符号化ストリームにあるため、復号器は実行中に画像を復号化してもよい。従って、実行中の漸進的なレンダリングが可能である。
【0265】
SVG文書がいくつかのパスを含む場合、最初にパス毎に符号化された基本レイヤ及びその後パス毎の後続するレイヤを復号化することにより、漸進的な復号化は文書全体に対して達成されてもよい。
【0266】
図7を参照して復号化側を考慮すると、復号器は、復号化する所定の符号化SVGパス30を検索することによりステップE500において開始する。
【0267】
このデータは、全ての符号化レイヤ25’、26’、24’、22’を含んでもよく、あるいは復号化開始時にそれらの一部のみを含んでもよい。
【0268】
復号器は、ステップE510において符号化パラメータ(サブサンプリング、変倍因子等)を抽出する。
【0269】
ステップE520において、復号器は予想されるレンダリング品質又は予想される表示解像度に従って復号化するレイヤを選択する。
【0270】
例えばサムネイルのみが要求される場合、最低限の復号化が実行される。その一方で、SVG文書のフル解像度表現が予想される場合、全てのデータが復号化されるべきである。
【0271】
ステップE530及びE540は、文書30の部分25’に対応する基本レイヤの復号化を実行する。各レイヤの復号化は、各レイヤの符号化に関して対称的である。
【0272】
基本レイヤの復号化は、基本レイヤのコマンドタイプ25’aを復号化することによりステップE530で開始する。
【0273】
復号器は、コマンドに基づいて、適切な指数ゴロムパラメータを仮定してステップE540において基本レイヤの値25’bを復号化する。これは、各近似コマンドタイプが事前定義済みの数の引数を有するためである。
【0274】
SVG復号器が基本レイヤの直後に復号化を停止することを認識している場合、SVG復号器は、制限された値(点に対する値はなく、各線に対しては2つの値があり、各2次曲線に対しては4つの値がある)に対してのみ配列を割り当てることを決定してもよい。あるいは、次のレイヤ(復元レイヤ26’、スーパーサンプリングレイヤ24’及び書き換えレイヤ22’)で復号化される値を格納するための十分なメモリが割り当てられてもよい。
【0275】
第1の例は、潜在的に実質的なメモリ消費の低減を可能にする。
【0276】
更に線及び2次曲線のみがレンダリングされるため、レンダリング処理はより高速である。
【0277】
基本レイヤのデータを直接レンダリングするために、データのスーパーサンプリングはサブサンプリングパラメータに従って実行される。例えばこれは、変倍因子をサブサンプリングパラメータの2乗と乗算することにより行なわれる。
【0278】
復号化処理の時点で、復号器はユーザに対してSVG画像を予備表示するためにSVGパスの低解像度バージョンをレンダリングしてもよい。そのような場合、表示を可能にするための後処理は後述するように実行されてもよい。これにより、データ全体が復号化される前に予備表現をユーザに提供できる。
【0279】
復号器は、パスの全体の品質を向上する必要がある限り復号化を継続する。
【0280】
ステップE550において、復号器は、復号化する追加のレイヤが存在するか及びそれを復号化すべきかをチェックする。
【0281】
追加のレイヤが存在し且つそれを復号化すべきである場合、ステップE560において復号器は追加のレイヤを復号化する。
【0282】
復号化する第1の追加のレイヤは、復元レイヤ26’であってもよい。その復号化は、基本レイヤにおいて符号化されていないコマンド値26’b及びコマンドタイプを更新/詳述するための情報26’aを復号化することから成る。
【0283】
このステップ中、レイヤ26’の復号化データはステップE530及びE540の復号化データと組み合わされ、サブサンプリングデータ23、すなわちアップグレードされたパスデータセットを復元する。
【0284】
他のレイヤ24’及び22’は、逐次的に復号化され、書き換えパスシーケンス21及び元のSVGパスシーケンス20を逐次的に復元してもよい。
【0285】
ここでも、レイヤが復号化される度、表示はアップグレードされたパスデータ23、21及び20により漸進的に更新されてもよい。ユーザは、SVG画像を表示する前に全てのレイヤが復号化されるのを待つのよりはるかに速くフィードバックを提供される。
【0286】
復号器はステップE550に戻る。
【0287】
全ての要求されるレイヤが復号化されると、ステップE570において復号器はデータを後処理する。
【0288】
この後処理は、パスデータの変倍であってもよく又はデータのスーパーサンプリングであってもよい。
【0289】
最後に、復号化SVGパスデータが取得され、ステップE580において例えば表示するために使用される。
【0290】
尚、近似コマンドタイプを含むレイヤのレンダリングに対して、SVGコマンドタイプでないそれらのタイプは、SVG復号器に準拠するように変換される必要がある。例えば「L」SVGコマンドへの「aL」コマンドの変換である。「aP」コマンドは除去され、「aQ」コマンドは「Q」SVGコマンドに変換される。
【0291】
本発明の一実施形態において、基本レイヤのレンダリングは、変換の性質を考慮する特定の技術により実質的に向上されてもよい。これらの技術がある処理時間及び処理能力を消費するにも関わらず、データの読み出しがデータの処理より遅い場合、一般に帯域幅が小さい場合又はボリュームが大きい場合に特に適する。
【0292】
これらの技術は以下により構成されてもよい。
【0293】
−平滑化を線に適用することによる線形/3次予測。視覚的により快適なレンダリングが容易に達成される。
【0294】
−2次制御点の自動射影に加えて平滑化変換が適用される2次/3次予測。
【0295】
上記から、本発明がSVGパスに対して効率的な符号化方法を提供することが示される。
【0296】
−SVGパスの階層符号化及び復号化を可能にし、その結果、部分復号化及び漸進的なレンダリングを可能にする。
【0297】
−圧縮に関して最適な利用可能なコーデックとほぼ同等に適切な可逆的圧縮。
【0298】
図8を参照して、本発明に係る方法の一実現例に適応された情報処理装置の特定のハードウェア構成の例として説明をする。
【0299】
本発明を実現する情報処理装置は、例えば種々の周辺装置に接続されるマイクロコンピュータ40、ワークステーション、パーソナルアシスタント又は移動電話である。本発明の更に別の実施形態によると、情報処理装置は、ネットワークへの接続を可能にする通信インタフェースを備えるカメラの形態をとる。
【0300】
情報処理装置に接続される周辺装置は、例えば入出力グラフィックスカード(不図示)に接続され且つ情報処理装置にマルチメディアデータを供給するデジタルカメラ60又はスキャナ、あるいは画像を取得又は格納する任意の他の手段を含む。
【0301】
装置40は、通信バス41を含み、通信バス41には、
−例えばマイクロプロセッサの形態をとる中央処理装置CPU42と、
−本発明に係る方法の実現を可能にするために実行されるプログラムを含んでもよい読み出し専用メモリ43と、
−装置40の電源投入後に、本発明のプログラムの実行可能コード、並びに本発明の実現に必要な変数及びパラメータを記録するように構成されるレジスタを含むランダムアクセスメモリ44と、
−キーボード46、あるいは例えばマウス47又は光学スタイラスであるポインティングデバイス等の任意の他の手段を使用して本発明に係るプログラムと対話してもよいユーザとのグラフィカルインタフェースの役割を果たし且つ/又はデータを表示する画面45と、
本発明の実現例に基づいて使用又は生成されるデータに加えて本発明のプログラムを含むことができるハードディスク48又はコンパクトフラッシュカード等の記憶メモリと、
−外部ディスク70を受け入れ且つ本発明に従って処理されたか又は処理されるデータに対して読み出し/書き込みを行なうように構成される光ディスクドライブ49又は取り外し可能データ記憶媒体に対する別のリーダと、
−電気通信ネットワーク80に接続され且つデジタルデータを送信及び受信するように構成される通信インタフェース50とが接続される。
【0302】
通信バス41は、装置40に含まれるか又は装置40に接続される種々の要素間の通信及び相互運用を可能にする。バス41の表現は限定されず、特に中央処理装置42は、装置40の任意の要素に命令を直接通信してもよく又は装置40の別の要素を使用して通信してもよい。
【0303】
外部ディスク70は、書き換え可能又は書き換え不可能なコンパクトディスク(CD−ROM)、ZIPディスク又はメモリカード等の任意の情報記憶媒体であってもよい。一般に、マイクロコンピュータ又はマイクロプロセッサにより読み出し可能であり、情報処理装置に組み込まれるか又は組み込まれず且つ取り外し可能であってもよい情報記憶手段は、実行されることにより本発明に係る方法の実現を可能にする1つ以上のプログラムを格納するように構成される。
【0304】
情報処理装置が本発明を実現することを可能にする実行可能コードは、上述したように、読み出し専用メモリ43、ハードディスク48又は外部ディスク70等の取り外し可能デジタル媒体に同等に適切に格納される。一変形例によると、プログラムの実行可能コードは、電気通信ネットワーク80の仲介により、すなわちインタフェース50を介して受信され、実行前に装置40の記憶手段のうちの1つ(ハードディスク48等)に格納される。
【0305】
中央処理装置42は、本発明の1つ又は複数のプログラムのソフトウェアコードの命令又は一部の実行を制御及び指示する。ソフトウェアコードの命令又は一部は上述の記憶手段のうちの1つに格納される。装置40の電源投入時、例えばハードディスク48又は読み出し専用メモリ43である不揮発性メモリに格納される1つ又は複数のプログラムは、本発明の1つ又は複数のプログラムの実行可能コードを含むランダムアクセスメモリ44、並びに本発明の実現に必要とされる変数及びパラメータを格納するためのレジスタに転送される。
【0306】
尚、本発明を実現するか又は本発明を組み込む装置は、プログラムされた装置の形態で実現されてもよい。例えばそのような装置は、特定用途向け集積回路(ASIC)に固定形式でコンピュータプログラムのコードを含んでもよい。
【0307】
本明細書で説明する装置及び特に中央処理装置42は、図3〜図7に関連して説明した処理動作の全て又は一部を実現し、本発明の各方法を実現し且つ本発明の各装置を構成してもよい。
【0308】
先の例は、本発明の単なる実施形態であり、本発明はそれらに限定されない。
【0309】
特に、詳細な説明が固有の近似変換(ステップE230)を示すが、そのような変換のいくつかは結果として得られる縮小データセット25に対して繰り返されてもよい。これにより、更に多くのレイヤを生成してもよく、特定のディスプレイ又はレンダリング装置に対する最適なレンダリングを取得するために復号器に対してより多くの解像度の選択肢が生成されてもよい。
【0310】
そのような場合、いくつかの近似変換は、ステップE230で使用される閾値に関して異なり、特定の近似描画コマンドを考慮してもよい。最初に高解像度レイヤ及び対応する復元情報セットを生成するために小さな値が使用されてもよく、その後、低解像度レイヤを生成するためにより大きな値が使用されてもよい。
【0311】
あるいは、近似コマンドセットは、繰り返しが進むのに伴って変更及び縮小されてもよい。
【0312】
別の態様によると、1つのSVGパスの階層符号化を説明したが、一般にSVG文書の符号化はいくつかのパスの符号化を含む。本発明は、SVG文書全体がレイヤとして符号化されるように容易に拡張可能である。
【0313】
そのような場合、SVG文書が一般に符号化される。SVGパスデータは、基本レイヤの情報のみを含む。文書のSVGパスの連結された第2のレイヤは符号化文書の最後に挿入され、その後、第3のレイヤが第2のレイヤの後に挿入される。
【0314】
この階層技術に基づいて、符号化パラメータを注意深く選択することにより、レイヤは適切なサイズで構築される。第1のレイヤは非常に小さなメモリ量を有し、更なるレイヤは、同等のサイズを有するか、サイズが徐々に増加する。これにより、SVGデータ送信及び漸進的なレンダリングの管理が更に容易になる。

【特許請求の範囲】
【請求項1】
グラフィックス記述言語で図形を表し且つ各々が描画の元の部分に対応する元の描画コマンドの元のシーケンス(20、23)を含むパス(1)を符号化する方法であって、
−縮小シーケンス(25)を取得するために、描画の対応する元の部分の幾何学的近似に従って、少なくとも1つの元の描画コマンドを近似描画コマンドに変換するステップ(E120、E230、E430、E440、E450)と、
−前記縮小シーケンス(25)を符号化縮小シーケンスに符号化するステップ(E130、E250)と、
−前記縮小シーケンス(25)と前記元のシーケンス(20、23)との間の差分を表す復元情報セット(26)を符号化するステップ(E150、E260)と
を備えることを特徴とする方法。
【請求項2】
描画コマンドは、描画コマンドタイプ及び引数を含み、前記近似描画コマンドは前記元の描画コマンドより少ない引数を含むことを特徴とする請求項1記載の方法。
【請求項3】
前記変換するステップ(E120、E230、E430、E440、E450)は、前記元の描画コマンドに対応する前記描画と前記近似描画コマンドに対応する前記描画との間の距離を計算することと、前記計算した距離を少なくとも1つの閾値と比較することとを含むことを特徴とする請求項1又は2記載の方法。
【請求項4】
前記復元情報セット(26、26’)は、
−各々が種々の近似描画コマンドタイプに変換される前記元の描画コマンドタイプ(26’a)と、
−前記近似描画コマンドに保持されていない前記元の描画コマンドの引数(26’)及び/又は前記元の描画コマンドの前記引数から計算され且つ前記近似描画コマンドに保持されていない引数の検索を可能にする引数(26’)と
を備えることを特徴とする請求項1乃至3のいずれか1項に記載の方法。
【請求項5】
幾何学的近似に従う近似変換(E230)を含む前記元のシーケンスの複数の反復変換(E210、E220、E230)を含み、
前記最後の変換(E230)の結果として得られる前記縮小シーケンス(25)が符号化され(E250)、前記変換の前記復元情報セット(22、24、26)のうちの少なくとも1つが符号化される(E260、E270、E280)ことを特徴とする請求項1乃至4のいずれか1項に記載の方法。
【請求項6】
前記復元情報セット(22、24、26)の各々が符号化されることを特徴とする請求項1乃至5のいずれか1項に記載の方法。
【請求項7】
前記近似変換(E230)の前の変換は、描画コマンドをより少ない引数を有する同等の描画コマンドにより置換することにより前記元のパスシーケンス(20)を書き換えること(E210)を含むことを特徴とする請求項5又は6記載の方法。
【請求項8】
前記近似変換(E230)の前の変換は、サブサンプリングシーケンス(23)及び前記サブサンプリングシーケンスから前記元のシーケンス又は前記書き換えられたシーケンスの復元を可能にする前記スーパーサンプリング情報を含む前記復元情報セット(24)を取得するために、前記元のシーケンス(20)又は前記書き換えられたシーケンス(21)をサブサンプリングするステップ(E220)を含むことを特徴とする請求項5乃至7のいずれか1項に記載の方法。
【請求項9】
前記縮小シーケンス(25)は、任意の復元情報セット(22、24、26)の前に最初に符号化されることを特徴とする請求項1乃至8のいずれか1項に記載の方法。
【請求項10】
前記縮小シーケンス(25)は、前記縮小シーケンス内の前記コマンドの引数に対応する値のシーケンスを含み、
前記縮小シーケンスの第1の座標の値は絶対値として線形符号化され、他方の座標の値は前記シーケンス内の先行座標の値に対して符号化されることを特徴とする請求項1乃至9のいずれか1項に記載の方法。
【請求項11】
グラフィックス記述言語で図形を表す符号化データ(30)を復号化する方法であって、
−近似描画コマンドのグラフィックスパスシーケンス(25)を取得するために前記符号化データ(30)から第1のシーケンス(25’)を受信し(E500)且つ復号化する(E530、E540)ステップと、
・ 符号化データの新しいレイヤが復号化される必要があるかを判定するステップ(E550)と、
−肯定的な判定の場合に、
・ 前記符号化データ(30)から新しいレイヤに対応する情報セット(26’、24’、22’)を受信及び復号化し(E560)、
・ アップグレードされたパスシーケンス(23、21、20)を取得するために、前記復号化情報セット(26、24、22)に基づいて前記復号化グラフィックスパスシーケンス(25)の少なくとも1つの近似描画コマンドをアップグレードされた描画コマンドに変換するステップと
を備えることを特徴とする方法。
【請求項12】
情報セット(26’、24’、22’)を受信及び復号化するステップ(E560)及び変換するステップは、符号化データの新しいレイヤが復号化される必要がある限り前記アップグレードされたパスシーケンスに対して繰り返されることを特徴とする請求項11記載の復号化方法。
【請求項13】
否定的な判定(E550)である場合、
−変換シーケンスを取得するために、少なくとも1つの近似描画コマンドを前記グラフィックス記述言語のパス描画コマンドに変換するか又は前記近似描画コマンドを除去することと、
−前記変換シーケンスに基づいて画像をレンダリングすることと
を備えることを特徴とする請求項11又は12記載の復号化方法。
【請求項14】
前記近似描画コマンドの前記除去は、前記近似描画コマンドが点コマンドに対応する場合に実行されることを特徴とする請求項13記載の復号化方法。
【請求項15】
グラフィックス記述言語で図形を表し且つ各々が描画の元の部分に対応する元の描画コマンドの元のシーケンス(20、23)を含むパス(1)を符号化する装置であって、
−縮小シーケンス(25)を取得するために描画の対応する元の部分の幾何学的近似に従って少なくとも1つの元の描画コマンドを近似描画コマンドに変換する変換手段と、
−前記縮小シーケンス(25)を符号化縮小シーケンスに符号化し且つ前記縮小シーケンス(25)と前記元のシーケンス(20、23)との間の差分を表す復元情報セット(26)を符号化する符号化手段と
を備えることを特徴とする装置。
【請求項16】
グラフィックス記述言語で図形を表す符号化データ(30)を復号化する装置であって、
−近似描画コマンドのグラフィックスパスシーケンス(25)を取得するために、前記符号化データ(30)から第1のシーケンス(25’)を受信する受信手段及び前記第1のシーケンス(25’)を復号化する復号化手段と、
−符号化データの新しいレイヤが復号化される必要があるかを判定する判定手段と、
−肯定的な判定の場合に、前記符号化データ(30)から新しいレイヤに対応する情報セット(26’、24’、22’)を受信及び復号化する手段と、
−アップグレードされたパスシーケンス(23、21、20)を取得するために、前記復号化情報セット(26、24、22)に基づいて前記復号化グラフィックスパスシーケンス(25)の少なくとも1つの近似描画コマンドをアップグレードされた描画コマンドに変換する変換手段と
を備えることを特徴とする装置。
【請求項17】
コンピュータシステムにより読み出し可能であり、前記コンピュータシステムによりロード及び実行された時に請求項1乃至14のいずれか1項に記載の方法を実現するように構成されるコンピュータプログラムの命令を含む情報記憶手段。
【請求項18】
マイクロプロセッサにより読み出し可能であり、前記マイクロプロセッサによりロード及び実行された時に請求項1乃至14のいずれか1項に記載の方法を実現するように構成されるソフトウェアコードの部分を含むコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図4a】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−44134(P2011−44134A)
【公開日】平成23年3月3日(2011.3.3)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−138629(P2010−138629)
【出願日】平成22年6月17日(2010.6.17)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.コンパクトフラッシュ
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】