説明

符号化処理装置、符号化処理方法、及びコンピュータプログラム

【課題】 構造化データの各データ構造の値に対して、SIMDのような並列処理を適用してデータ処理を高速に行えるようにする。
【解決手段】 予め並列処理を適用するデータ構造(x1、y1、x2、y2属性)と、適用する並列処理の種類(PADDD)とを指定する。構造化データの符号化に際し、並列処理を適用するデータ構造の符号化の開始位置であることを示す識別子と、並列処理の種類を示す識別子と、構造化データの構造情報と、並列処理の種類に合わせて整列した各値のデータとを個別に符号化する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化処理装置、符号化処理方法、及びコンピュータプログラムに関し、特に、データを符号化するために用いて好適なものである。
【背景技術】
【0002】
従来、データの表現形式の一つとしてXML(Extensible Markup Language)という技術が使われている。XMLでは、要素や属性といった構造情報を用いてデータを表現する。アプリケーションは、XMLデータを処理する際には、先ず構造情報を解析して当該構造情報を要素や属性に分解してからデータ処理を行う。この構造情報を解析する処理は一般的に時間がかかり、バイナリXML(非特許文献1を参照)やSIMD(Single Instruction Multiple Data)と呼ばれる並列処理技術が用いられている。SIMDは、複数のデータに対して同時に処理を実行できる技術であり、Intel Corporation製のCPU等でサポートされている。parabixと呼ばれるXMLプロセッサでは、XML中の特定文字の検出に際し、文字列データの各バイトをビット並列にして、8個のSIMDレジスタにセットし、複数の文字の比較を同時に行うことで高速化を実現している(特許文献1を参照)。また、Intel CorporationのXMLプロセッサでは、インデックスとして要素や属性を表す各構造情報を連続メモリに保存し、SIMDの並列比較処理命令を用いてXML文書の検索を高速に行っている(特許文献2を参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第7400271号明細書
【特許文献2】特開2009−140494号公報
【非特許文献】
【0004】
【非特許文献1】Efficient XML Interchange (EXI) Format 1.0(http://www.w3.org/TR/exi)
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、XMLデータでは、SVG(Scalable Vector Graphics)の描画処理のように、要素や属性に記述された複数のデータに対して同じ処理を繰り返す場合が多くある。前述したように、XMLデータを処理する際には、先ず構造情報を解析して当該構造情報を要素や属性に分解する。一方、SIMDを用いてデータの並列処理を実行する際には、先ず同一処理を行う複数のデータをSIMDレジスタにセットする。各データがメモリ上に連続して存在していない場合、この同一処理を行う複数のデータをSIMDレジスタにセットする処理では、複数回の転送処理が必要となるため、オーバヘッドが大きくなる。1回あたりのSIMD処理は高速なので、このオーバヘッドは処理時間に大きな影響を及ぼす。
【0006】
しかしながら、XMLデータでは、要素や属性の値が必ずしも連続メモリ上にはない。このため、XMLデータに対してSIMDを用いてもデータ処理の高速化の効果がなかったり、XMLデータに対してSIMDを用いると逆に性能が劣化したりする等、データ処理の高速化を実現するのが困難であった。
特許文献1に記載のparabixは構造情報の解析には効果的である。しかしながら、構造情報を要素や属性に分解した後のデータは、必ずしも連続メモリにはない。このため、前述したのと同様に、SIMDによるデータ処理の高速化は困難である。また、特許文献2に記載のXMLプロセッサでも、検索インデックスに必要な情報が連続メモリにあるだけなので、要素や属性の値にSIMDを適用するのは困難である。
本発明は、このような問題点に鑑みてなされたものであり、構造化データの各データ構造の値に対して、SIMDのような並列処理を適用してデータ処理を高速に行えるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明の符号化処理装置は、構造化データを符号化する符号化処理装置であって、前記構造化データにおける、並列処理を適用するデータ構造と、当該並列処理の種類と、を設定する設定手段と、前記設定手段により設定されたデータ構造を、前記構造化データから検出する検出手段と、前記検出手段により検出されたデータ構造における、処理の対象となるデータを、前記設定手段により設定された並列処理の種類に応じて整列させて符号化する符号化手段と、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、並列処理を適用するデータ構造における、処理の対象となるデータを、当該並列処理の種類に応じて整列させて符号化するようにした。したがって、並列処理を行うデータの復号結果に対するオーバヘッドを少なくすることができる。よって、構造化データの各データ構造の値に対して、並列処理を適用してデータ処理を高速に行うことができる。
【図面の簡単な説明】
【0009】
【図1】コンピュータ装置の構成を示す図である。
【図2】XMLデータを示す図である。
【図3】符号化処理装置の構成を示す図である。
【図4】符号化処理装置の動作を説明するフローチャートである。
【図5】ステップS405の詳細な動作の一例を説明するフローチャートである。
【図6】EXIの符号化規則を示す図である。
【図7】符号化されたXMLデータを示す図である。
【図8】復号化処理装置の構成を示す図である。
【図9】復号化処理装置の動作を説明するフローチャートである。
【図10】メモリとSIMDレジスタの記憶内容を概念的に示す図である。
【発明を実施するための形態】
【0010】
図1は、本実施形態の情報処理装置を構成するコンピュータ装置の構成の一例を示す図である。情報処理装置は、単一のコンピュータ装置で実現してもよいし、必要に応じて複数のコンピュータ装置で、その機能を分散して実現してもよい。複数のコンピュータ装置で情報処理装置が構成される場合は、当該複数のコンピュータ装置は、相互に通信可能なようにLAN(Local Area Network)等で相互に接続される。
【0011】
図1において、CPU(Central Processing Unit)101は、コンピュータ装置100全体を制御する。ROM(Read Only Memory)102は、変更を必要としないプログラムやパラメータを格納する。RAM(Random Access Memory)103は、外部装置等から供給されるプログラムやデータを一時的に記憶する。外部記憶装置104は、コンピュータ装置100に固定して設置されており、プログラムやデータを記憶する。外部記憶装置104は、例えば、ハードディスク、メモリカード、コンピュータ装置100から着脱可能なフレキシブルディスク(FD)、CD等の光ディスク、磁気カード、光カード、ICカード、メモリカードの少なくとも何れか1つを含む。入力インターフェース105は、ポインティングデバイスやキーボード等の入力デバイスとのインターフェースである。ネットワークインタフェース106は、インターネット等のネットワーク回線に接続し、コンピュータ装置100が外部装置との通信する際のインターフェースとなる。システムバス107は、コンピュータ装置100の各ユニット101〜106を相互に通信可能にするためのものである。
【0012】
図2は、XMLデータの一例を示す図である。本実施形態では、図2に示すXMLデータ200に対し、SIMDによる高速処理を実現する場合を例に挙げて説明する。図2に示すXMLデータ200はSVGのデータである。図2に示すXMLデータ200のtransform属性は、当該transform属性の値の記述に従って、各データに変換処理を行うことを示している。SVGのプロセッサは、この記述に従い各データを変換する処理を行う。図2に示す例では、transform属性は、"translate(10, 20)"と記述されており、x座標に10を、y座標に20をそれぞれ加算することを示している。よって、SVGのプロセッサは、line要素のx1属性とx2属性の値に10を加算すると共にy1属性とy2属性の値に20を加算して描画処理を行う。これらの処理は複数のデータに同一の処理を繰り返す行うものであり、SIMDの適用によってデータ処理の高速化が可能な部分である。
【0013】
図3は、符号化処理装置の構成の一例を示す図である。図3に示す符号化処理装置301は、例えば、CPU101がROM102等に記憶されているプログラムを実行することによって実現することができる。
SIMD適用データ構造指定部302は、アプリケーションからの指定に基づいて、SIMD命令と、SIMD処理を適用するXMLのデータ構造とを設定する。SIMD適用データ構造判定部303は、XMLデータ200(入力データ)が、SIMD処理を適用するデータ構造のデータであるか否かを判定する。入力データ保存部304は、入力データを一時的に保存する。SIMD適用データ構造符号化部305は、SIMD処理が適用される入力データに対し符号化を行う。XML符号化部306は、SIMD処理が適用されない入力データに対し符号化を行う。
【0014】
先ず、アプリケーションは、符号化するXMLデータ200を入力する前に、SIMD命令と、SIMD処理を適用するデータ構造とを含む設定情報をSIMD適用データ構造指定部302に対して指定する。図2に示す例では、line要素のx1、y1、x2、y2属性にPADDDと呼ばれる32ビット単位の加算命令がSIMD適用データ構造指定部302に指定される。よって、2つの128ビット長のSIMDレジスタ上のデータが32ビット単位で加算される。
また、XMLでは、スキーマごとに構造情報が規定される。よって、SIMD適用データ構造指定部302は、SIMD命令と、SIMD処理を適用するデータ構造とをスキーマ単位で設定し、XMLデータを符号化する前に設定情報を読み込むようにしてもよい。
【0015】
次に、アプリケーションは、符号化処理装置301に、図2に示すXMLデータ200を入力する。図4は、XMLデータ200を符号化する際の符号化処理装置301の動作の一例を説明するフローチャートである。
まず、ステップS401において、SIMD適用データ構造判定部303は、入力されたデータ(XMLデータ200)のデータ構造が、SIMD適用データ構造指定部302に対して指定されたデータ構造であるか否かを判定する。この判定の結果、入力されたデータのデータ構造が、SIMD適用データ構造指定部302に対して指定されたデータ構造でない場合には、ステップS402において、XML符号化部306は、入力されたデータを従来の符号化方式で符号化する。テキスト形式のUTF-8やUTF-16では、文字としてしか符号化できないので、本実施形態では、EXI(Efficient XML Interchange)を従来の符号化方式とする。
【0016】
一方、入力されたデータのデータ構造が、SIMD適用データ構造指定部302に対して指定されたデータ構造のデータである場合には、ステップS403に進む。そして、SIMD適用データ構造判定部303は、入力されたデータのデータ構造が、SIMD処理を適用するデータ構造の終端であるか否かを判定する。
この判定は、例えば、XMLの構造単位をコンピュータ装置100に設定しておき、入力された「一回の並列処理で実行されるデータ長」がXMLの構造単位に達した時点で、SIMD処理を適用するデータ構造の終端であると判定することができる。図2に示す例では、line要素の属性に対してSIMD処理を適用するので、line要素の開始要素の入力が終了した時点で、SIMD処理を適用するデータ構造の終端であると判定することができる。
【0017】
また、この判定は、SIMDレジスタのレジスタ長によって実行することもできる。本実施形態では、メモリからSIMDレジスタへデータを転送する際のオーバヘッドを減らしたいので、連続メモリ(連続したアドレスの記憶領域)上に存在する必要があるデータ長はSIMDレジスタ長までである。よって、SIMDレジスタ長をコンピュータ装置100に設定しておき、符号化時にSIMDレジスタ長が分かるようにしておけば、入力されたデータのデータ長がSIMDレジスタ長に達した時点で、SIMD処理を適用するデータ構造の終端であると判定できる。本実施形態の場合、128ビットのSIMDレジスタに32ビット単位のSIMD演算を行うので、line要素のx1、y1、x2、及びy2という4つのデータが入力された時点で、SIMD処理を適用するデータ構造の終端であると判定することができる。
また、コンピュータ装置100がメモリリソースの少ない機器等である場合には、入力されたデータを保存しているバッファの記憶容量が上限になった時点で、SIMD処理を適用するデータ構造の終端としてもよい。
【0018】
次に、ステップS403において、入力されたデータのデータ構造が、SIMD処理が適用されるデータ構造の終端でないと判定された場合には、ステップS404に進む。ステップS404に進むと、入力データ保存部304は、SIMD処理を適用するデータ構造の終端が入力されるまで、入力されたデータを一時的に保存する。一方、入力されたデータのデータ構造が、SIMD処理が適用されるデータ構造の終端であると判定された場合には、ステップS405に進む。ステップS405に進むと、SIMD適用データ構造符号化部305は、SIMD処理を適用するデータ構造のデータに対し、SIMD適用データ構造符号化を行う。符号化処理装置301は、図4のフローチャートを繰り返し行う。
【0019】
図5は、図4のステップS405のSIMD適用データ構造符号化を行う際の符号化処理装置301の詳細な動作の一例を説明するフローチャートである。
まず、ステップS501において、SIMD適用データ構造符号化部305は、SIMD処理を適用するデータ構造の符号化の開始位置であることを示す識別子を符号化する。この識別子によりSIMD処理を適用するデータ構造であることが検出される。本実施形態では、XML符号化部306は、EXIを用いて、入力されたデータの符号化を行っている。そこで、本実施形態では、SIMD処理を適用するデータ構造の符号化の開始位置であることを示す識別子にSCイベントを利用する。SCイベントは、本来SCイベントの前後でEXIの符号化処理をリセットする意味を持ち、EXIデータのランダムアクセスに利用されるものである。しかし、本実施形態では、SIMD適用データ構造符号化の開始位置を示すものとしてSCイベントを使う。図6は、EXIの符号化規則(開始要素内のイベントに対する符号)の一例を示す図である。SCイベントには、図6に示すうなEXIの符号化規則600が規定されており、このEXIの符号化規則に従った符号化がされる。
【0020】
次に、ステップS502において、SIMD適用データ構造符号化部305は、適用するSIMD処理の命令を識別する識別子を符号化する。この識別子は、符号化データのデータ境界を示すことになる。図7は、バイナリ符号化がなされたXMLデータの一例を示す図である。本実施形態では、SIMD処理の命令であるPADDDは、32ビット単位のSIMD演算を行う命令である。よって、図7に示すように、構造情報の後に、32ビット境界のデータが連続して符号化される。
次に、ステップS503において、SIMD適用データ構造符号化部305は、入力データ保存部304に一時的に保存していた「SIMD処理が適用されるデータ構造」の構造情報の符号化を行う。構造情報は、XML符号化部306における符号化と同様に、EXIの規則に従い符号化される。ただし、図7に示すように、値が入るべき箇所には、特殊データ701a〜701dを入れておく。本実施形態では、EXIの規則を利用しているので、EXIの文字列テーブルのエントリの一つを特殊データ用に割り当て、エントリ番号を特殊データ701a〜701dとして符号化する。
【0021】
次に、ステップS504において、SIMD適用データ構造符号化部305は、各データを符号化する。各データは、図7に示すように、入力された順番に(出現順に)、SIMD処理の命令のデータ境界に従って符号化される。入力された順番にデータを符号化しているので、符号化されたデータを処理する際には、先頭から順番にデータを読み出して、当該データに対応する特殊データから、どの構造位置のデータであったかを特定することができる。本実施形態では、PADDD命令を行っており、32ビット単位の境界である必要があるため、各数値"100"、"200"、"110"、"210"は32ビットのデータとして符号化される。入力されたデータ長が16ビットや8ビットであった場合は、0でpaddingすることになる。これによりデータが整列される。データを整列するとは、データ長や、データを保存したメモリのアドレスを或る値に合わせることをいう。
【0022】
以上の処理によって、一つのSIMD処理を適用するデータ構造の符号化を行ったことになる。入力されたデータの最後まで同様に符号化処理を繰り返し行う。
以上のように、処理の内容に応じて構造化されて情報が記述された構造化データを符号化するに際し、並列処理(SIMD処理)を適用するデータ構造が構造化データに存在するか否かを判定する。そして、並列処理を適用するデータ構造が構造化データに存在する場合には、並列処理に適したデータ構造となるように構造化データが変換されて、並列処理の対象となるデータ(値)が整列される。図2、図7に示す例では、データ構造は、line要素の各属性(x1属性、x2属性、y1属性、y2属性)であり、並列処理の対象となるデータは、各数値"100"、"200"、"110"、"210"である。ここで、各データが、並列処理の対象となるデータ(値)であることは構造情報によって特定される。また、メモリからレジスタへのデータの転送回数を少なくするために符号化データを連結することができる。
【0023】
図8は、復号化処理装置の構成の一例を示す図である。図8に示す復号化処理装置801は、例えば、CPU101がROM102等に記憶されているプログラムを実行することによって実現することができる。
符号化開始位置判定部802は、符号化されたXMLデータが、SIMD処理を適用するデータ構造の符号化開始位置のデータであるか否かを判定する。
SIMD適用データ構造復号化部803は、符号化されたXMLデータが、SIMD処理を適用するデータ構造の符号化開始位置のデータである場合に、SIMDを適用するデータ構造の復号処理を行う。
XML復号化部804は、先頭から順に従来のXMLの復号処理を行う。
【0024】
図9は、符号化されたXMLデータを復号化する際の復号化処理装置801の動作の一例を説明するフローチャートである。
まず、ステップS901において、符号化開始位置判定部802は、符号化されたXMLデータが、SIMD処理を適用するデータ構造の符号化開始位置のデータであるか否かを判定する。本実施形態では、従来のXMLの符号化としてEXIを用いており、SIMD処理を適用するデータ構造の符号化の開始位置であることを示す識別子にはSCイベントを利用している。よって、符号化開始位置判定部802は、復号した結果が、SCイベントであった場合には、復号したデータが、SIMD処理を適用するデータ構造の符号化開始位置のデータであると判定する。
【0025】
この判定の結果、復号したデータが、SIMD処理を適用するデータ構造の符号化開始位置のデータでない場合には、ステップS902に進み、XML復号化部804は、次のデータに対して従来のXMLの復号処理を行う。
一方、復号したデータが、SIMD処理を適用するデータ構造の符号化開始位置のデータである場合には、ステップS903に進み、SIMD適用データ構造復号化部803は、SIMD処理を適用するデータ構造の復号処理を行う。まず、SIMD適用データ構造復号化部803は、SIMD処理の命令の識別子を復号化する。次に、SIMD適用データ構造復号化部803は、後続する構造情報に対しEXIの復号処理を行う。ただし、値が記述される位置は、代替の特殊データが記述されていることを考慮する。最後に、SIMD適用データ構造復号化部803は、値であるデータを、データフォーマットを維持した状態でメモリ(連続したアドレスの記憶領域)へ保存する。
このとき、保存先のメモリの先頭アドレスは整列されていることが望ましい。SIMDのデータ転送命令に対する処理は、保存先のメモリの先頭アドレスが整列されている場合の方がそうでない場合よりも高速に行うことができるからである。本実施形態の場合、128ビットのSIMD処理であるので、16の倍数となるアドレスを保存先のメモリの先頭アドレスとして用いるのがよい。復号化処理装置801は、図9のフローチャートを繰り返し行う。
【0026】
復号化処理装置801は、復号結果をアプリケーションへ返す際には、構造情報と、SIMD処理の命令の種類と、値の保存先のアドレスとをアプリケーションへ返す。SIMD処理の命令からデータの境界を判定し、値の保存先のアドレスから当該値に辿ることによって、個々の値にアクセスすることが可能である。
復号結果を受け取ったアプリケーションは、translate処理を行う際に、SIMDのMOVDQA命令を使って、少ないオーバヘッドで、値をSIMDレジスタへ転送する。図10は、復号時におけるRAM103(メモリ)とSIMDレジスタの記憶内容の一例を概念的に示す図である。図10に示すように、translateする"10"、"20"の値を、メモリの一例であるRAM103からCPU101が備えるSIMDレジスタに設定し、これに対しPADDD命令を行うことで、translate処理の並列処理が実行できる。
【0027】
以上のように本実施形態では、予め並列処理を適用するデータ構造(x1、y1、x2、y2属性)と、適用する並列処理の種類(PADDD)とを指定する。構造化データの符号化に際し、並列処理を適用するデータ構造の符号化の開始位置であることを示す識別子と、並列処理の種類を示す識別子と、構造化データの構造情報と、並列処理の種類に合わせて整列した各値のデータとを個別に分離して符号化する。したがって、並列処理を適用するデータを、連続したアドレスの記憶領域(メモリ)上に位置させることができるため、メモリからSIMDレジスタへの転送オーバヘッドが削減され、SIMDによるXML処理の高速化が実現できる。
【0028】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0029】
(その他の実施例)
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)が当該コンピュータプログラムを読み出して実行する。
【符号の説明】
【0030】
100 コンピュータ装置、301 符号化処理装置、801 復号化処理装置

【特許請求の範囲】
【請求項1】
構造化データを符号化する符号化処理装置であって、
前記構造化データにおける、並列処理を適用するデータ構造と、当該並列処理の種類と、を設定する設定手段と、
前記設定手段により設定されたデータ構造を、前記構造化データから検出する検出手段と、
前記検出手段により検出されたデータ構造における、処理の対象となるデータを、前記設定手段により設定された並列処理の種類に応じて整列させて符号化する符号化手段と、を有することを特徴とする符号化処理装置。
【請求項2】
前記符号化手段は、前記構造化データの構造単位で、前記処理の対象となるデータを符号化することを特徴とする請求項1に記載の符号化処理装置。
【請求項3】
一回の並列処理で実行されるデータ長を指定する指定手段を有し、
前記符号化手段は、前記処理の対象となるデータのうち、前記一回の並列処理で実行されるデータ長に基づく範囲のデータを符号化することを特徴とする請求項1に記載の符号化処理装置。
【請求項4】
前記検出手段により検出されたデータ構造における、処理の対象となるデータを一時的にバッファに記憶する記憶手段を有し、
前記符号化手段は、前記記憶手段により記憶されたデータの容量が、予め設定された容量に達すると、前記記憶手段により記憶されたデータを符号化することを特徴とする請求項1に記載の符号化処理装置。
【請求項5】
前記符号化手段は、前記処理の対象となるデータの符号化を開始する位置を識別する識別子と、前記並列処理の種類を示す識別子と、前記構造化データに含まれる構造情報と、前記処理の対象となるデータと、をそれぞれ符号化することを特徴とする請求項1〜4の何れか1項に記載の符号化処理装置。
【請求項6】
前記符号化手段は、前記検出手段により検出されたデータ構造に含まれる、構造情報と処理の対象となるデータとを分離して符号化し、前記構造化データにおける出現順に前記処理の対象となるデータを符号化することを特徴とする請求項5に記載の符号化処理装置。
【請求項7】
請求項1〜6の何れか1項に記載の符号化処理装置で符号化された構造化データを復号化する復号化処理装置であって、
前記復号化された構造化データから、前記並列処理を適用したデータ構造を検出する検出手段と、
前記検出手段により検出されたデータ構造におけるデータを復号化する復号化手段と、
前記復号化されたデータを連続するアドレスの記憶領域に保存する保存手段と、を有することを特徴とする復号化処理装置。
【請求項8】
構造化データを符号化する符号化処理方法であって、
前記構造化データにおける、並列処理を適用するデータ構造と、当該並列処理の種類と、を設定する設定工程と、
前記設定工程により設定されたデータ構造を、前記構造化データから検出する検出工程と、
前記検出工程により検出されたデータ構造における、処理の対象となるデータを、前記設定工程により設定された並列処理の種類に応じて整列させて符号化する符号化工程と、を有することを特徴とする符号化処理方法。
【請求項9】
前記符号化工程は、前記構造化データの構造単位で、前記処理の対象となるデータを符号化することを特徴とする請求項8に記載の符号化処理方法。
【請求項10】
一回の並列処理で実行されるデータ長を指定する指定工程を有し、
前記符号化工程は、前記処理の対象となるデータのうち、前記一回の並列処理で実行されるデータ長に基づく範囲のデータを符号化することを特徴とする請求項8に記載の符号化処理方法。
【請求項11】
前記検出工程により検出されたデータ構造における、処理の対象となるデータを一時的にバッファに記憶する記憶工程を有し、
前記符号化工程は、前記記憶工程により記憶されたデータの容量が、予め設定された容量に達すると、前記記憶工程により記憶されたデータを符号化することを特徴とする請求項8に記載の符号化処理方法。
【請求項12】
前記符号化工程は、前記処理の対象となるデータの符号化を開始する位置を識別する識別子と、前記並列処理の種類を示す識別子と、前記構造化データに含まれる構造情報と、前記処理の対象となるデータと、をそれぞれ符号化することを特徴とする請求項8〜11の何れか1項に記載の符号化処理方法。
【請求項13】
前記符号化工程は、前記検出工程により検出されたデータ構造に含まれる、構造情報と処理の対象となるデータとを分離して符号化し、前記構造化データにおける出現順に前記処理の対象となるデータを符号化することを特徴とする請求項12に記載の符号化処理方法。
【請求項14】
請求項8〜13の何れか1項に記載の符号化処理方法で符号化された構造化データを復号化する復号化処理方法であって、
前記復号化された構造化データから、前記並列処理を適用したデータ構造を検出する検出工程と、
前記検出工程により検出されたデータ構造におけるデータを復号化する復号化工程と、
前記復号化されたデータを連続するアドレスの記憶領域に保存する保存工程と、を有することを特徴とする復号化処理方法。
【請求項15】
請求項8〜13の何れか1項に記載の符号化処理方法の各工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項16】
請求項14に記載の復号化処理方法の各工程をコンピュータに実行させることを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−99054(P2012−99054A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2010−248322(P2010−248322)
【出願日】平成22年11月5日(2010.11.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】