JP2007053593A - Image processing system, method and program, and recording medium - Google Patents

Image processing system, method and program, and recording medium Download PDF

Info

Publication number
JP2007053593A
JP2007053593A JP2005237352A JP2005237352A JP2007053593A JP 2007053593 A JP2007053593 A JP 2007053593A JP 2005237352 A JP2005237352 A JP 2005237352A JP 2005237352 A JP2005237352 A JP 2005237352A JP 2007053593 A JP2007053593 A JP 2007053593A
Authority
JP
Japan
Prior art keywords
data
code
code data
image processing
hierarchical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005237352A
Other languages
Japanese (ja)
Other versions
JP4773770B2 (en
Inventor
Takanori Yano
隆則 矢野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2005237352A priority Critical patent/JP4773770B2/en
Publication of JP2007053593A publication Critical patent/JP2007053593A/en
Application granted granted Critical
Publication of JP4773770B2 publication Critical patent/JP4773770B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing system with which transposition of data is managed during overflow and transposition unit is set adaptively, based on the utilization conditions of code data, in order to enhance the hit rate of code data of cache data in partial code data access. <P>SOLUTION: In the image processing system, partial code data of hierarchic code data stored in the storage of a server are received by a client, based on a transfer request of partial code data of hierarchic code data from the client, and the received code data are stored partially or entirely in a cache memory and are reused, where when the storage capacity of code data stored in the cache memory causes overflow; and the code data stored in the cache memory is transposed partially or entirely in units of structuring element, transposition unit is set at the code sequence (packet) unit contained at a specified level of a specified hierarchy of the hierarchic code data. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、画像処理システム、画像処理方法、プログラムおよび記録媒体に関し、特に、キャッシュモデルを用いて部分画像符号化データをアクセス機能を具備する符号化処理装置に関し、JPIP(JPEG2000 image coding system−Part9:Interactivity tools, APIs and protocols)実装技術に係る。   The present invention relates to an image processing system, an image processing method, a program, and a recording medium. In particular, the present invention relates to an encoding processing apparatus having a function of accessing partial image encoded data using a cache model, and JPIP (JPEG2000 image coding system-Part9). : Interactivity tools, APIs and protocols).

サーバにあるJPEG2000仕様に基づいて符号化された符号データをアクセスする方式として、JPIP(JPEG2000 image coding system−Part9:Interactivity tools, APIs and protocols)がある。その仕様には、既にクライアント側に受信された符号データは新たに転送することなく使用することで高速にアクセスできるような仕組みとして、クライアント上に符号データの一部を保存するキャッシュの機能を備えている。   JPIP (JPEG2000 image coding system-Part9: Interactivity tools, APIs and protocols) is a method for accessing code data encoded based on the JPEG2000 specification in the server. The specification includes a cache function that saves a part of the code data on the client as a mechanism that allows the code data already received by the client side to be accessed at high speed by using it without being transferred. ing.

ところで、クライアント側のキャッシュとして記憶可能な記憶容量は制限があるので、記憶しきれない場合は一部削除して新しい優先順位の高いデータを保存する。
JPIP仕様に見られるような、キャッシュなど記憶装置に保存された階層符号データの部分符号データを切り出して参照する機能を有する符号処理システムにおいては、プログレッション順Aで階層符号データが構成されている場合には、プログレッション順Aの最上位階層レベルで符号データを切り出して使いわける場合が多い。最上位階層レベル以下の階層の符号列をまとめて削除することが容易に実現できるからである。
By the way, since the storage capacity that can be stored as a cache on the client side is limited, if it cannot be stored, a part of it is deleted and new high priority data is saved.
In a code processing system having a function of extracting and referring to partial code data of hierarchical code data stored in a storage device such as a cache as seen in the JPIP specification, hierarchical code data is configured in progression order A In many cases, code data is cut out and used at the highest hierarchical level in the progression order A. This is because it is possible to easily delete the code strings in the hierarchy below the highest hierarchy level.

例えば、部分領域に対応する画像データに対応する部分符号データ単位でアクセス(参照)する場合は、対応する階層符号データのプログレッション順の最上位階層レベルは領域レベルになっていると、簡単に特定の部分領域の部分符号データを参照または抽出することができるのである。   For example, when accessing (referring to) the partial code data unit corresponding to the image data corresponding to the partial area, it is easily specified that the highest hierarchical level in the progression order of the corresponding hierarchical code data is the area level. It is possible to refer to or extract the partial code data of the partial area.

(1)キャッシュデータの入れ替え戦略に係る先願:
キャッシュのオーバーフロー時のキャッシュデータの削除の最適化に関しては以下の先願がある。
特許文献1は、画像の再生表示はキャッシュデータに基づいて行い再生表示を高速化する。
また、特許文献2は、注目領域から削除する単位領域までの距離に基づいて削除する。
また、特許文献3は、注目領域と移動方向に基づいて削除する。
また、特許文献4は、注目領域とメタデータが付与されている画像領域とに基づいて削除する。
また、特許文献5は、画像データにおける削除対象領域の決定に基づいて削除する。
また、特許文献6は、低解像度データは消去しない。
(1) Prior application related to cache data replacement strategy:
Regarding the optimization of deletion of cache data at the time of cache overflow, there are the following prior applications.
According to Japanese Patent Laid-Open No. 2004-260688, image reproduction display is performed based on cache data, and the reproduction display is speeded up.
Further, in Patent Document 2, deletion is performed based on the distance from the attention area to the unit area to be deleted.
Further, Patent Document 3 deletes based on a region of interest and a moving direction.
Further, Patent Document 4 deletes based on a region of interest and an image region to which metadata is assigned.
Further, in Patent Document 5, deletion is performed based on determination of a deletion target area in image data.
Patent Document 6 does not erase the low resolution data.

(2)JPIPに係る先願:
特許文献7は、キャッシュがタイル単位に符号データを管理する。共通の(定型)フォーマットを持つ画像データなど構造化文書画像データの場合では、タイル単位ではなく構造単位で画像データを参照することが多い。
また、特許文献8は、JPP−ストリームからJPEG2000符号ストリームへ変換する。
特開2004−152172号公報 特開2004−153562号公報 特開2004−145760号公報 特開2004−145759号公報 特開2003−298847号公報 特開2003−224704号公報 特開2005−12686号公報 特開2004−274758号公報
(2) JPIP prior application:
In Patent Document 7, a cache manages code data in tile units. In the case of structured document image data such as image data having a common (standard) format, image data is often referred to in units of structure rather than in units of tiles.
Patent Document 8 converts a JPP-stream into a JPEG2000 code stream.
JP 2004-152172 A JP 2004-153562 A JP 2004-145760 A JP 2004-145759 A JP 2003-298847 A JP 2003-224704 A JP 2005-12686 A JP 2004-274758 A

本発明では、係る傾向に基づいて、階層符号データのプログレッション順の使用傾向に基づいて部分符号データがアクセスされるものとして制御し、キャッシュなど高速メモリ上に一時的に保存された符号データを再利用する場合において、キャッシュがオーバーフローを起こしたような場合におけるキャッシュ上に保存する符号データの入れ替え処理に係り、符号データのアクセスにおけるキャッシュデータの符号データのヒット率を高くすることを課題としている。   In the present invention, based on such a tendency, partial code data is controlled to be accessed based on the usage tendency of the hierarchical code data in the order of progression, and the code data temporarily stored in a high-speed memory such as a cache is reproduced. In use, the problem is to increase the hit rate of the code data of the cache data when accessing the code data, in connection with the process of replacing the code data stored in the cache when the cache overflows.

従来、注目領域あるいはその周辺領域の画像符号データをキャッシュ上に残し、それ以外を入れ替えるという方式が提案されている(特許文献2、3など)。典型的には、矩形領域(ブロック)単位の符号データで判断することが考えられるが、使用の方法によっては、データの入れ替え単位としては、予め固定された矩形領域(ブロック)単位としている。   Conventionally, a method has been proposed in which image code data of a region of interest or its peripheral region is left on the cache and the other is replaced (Patent Documents 2, 3, etc.). Typically, it is conceivable to make determination based on code data in units of rectangular areas (blocks). However, depending on the method of use, the unit for replacing data is a unit of rectangular areas (blocks) fixed in advance.

しかしながら、削減される符号データを考えたとき、使用する符号データの構成は常に固定ではなく、たとえば、特定の周波数成分の符号データのみ重要でないので除去するような場合も考えられ、入れ替え対象とする注目領域に対応する符号データの単位(範囲)を使用状況に適応して柔軟に変更することが問題となる。特に、符号データが階層構造を持ち一部削除することが可能であるJPEG2000規格の符号のような場合には、入れ替えする部分符号データの範囲の決め方が問題となる。   However, when considering the code data to be reduced, the configuration of the code data to be used is not always fixed. For example, since only the code data of a specific frequency component is not important, there may be a case where it is removed. A problem arises in that the unit (range) of the code data corresponding to the region of interest is flexibly changed in accordance with the use situation. In particular, in the case of a JPEG2000 standard code in which code data has a hierarchical structure and can be partially deleted, how to determine the range of partial code data to be replaced becomes a problem.

また、殊にキャッシュ上に保存された符号データを入れ替える場合の、適切な入れ替え単位(範囲)の決め方、及びその効率的な処理が課題である。
即ち、アクセスする部分符号データは、符号データの階層構造を生かして、領域単位でアクセスされたり、解像度を上げるためにアクセスしたり複数の目的でアクセスする場合がある。このように符号データが階層構造をもつ場合には、アクセス単位も符号データの階層構造に依存するので、符号データの階層構造を考慮したキャッシュデータの入れ替え処理が必要となる。
Another problem is how to determine an appropriate replacement unit (range) and its efficient processing, particularly when the code data stored on the cache is replaced.
In other words, the partial code data to be accessed may be accessed in units of areas by utilizing the hierarchical structure of the code data, or may be accessed for a plurality of purposes, in order to increase the resolution. When the code data has a hierarchical structure as described above, the access unit also depends on the hierarchical structure of the code data, so that a cache data replacement process taking into account the hierarchical structure of the code data is necessary.

また、一般的に、画像データの部分符号データのアクセス単位(範囲)は、符号データの最小符号列(パケット)の集合により構成される。そのため、部分符号データのアクセスにおけるキャッシュデータとして必要とするパケットが全て揃っていないとアップロードしなければならない(ヒットできない)。
したがって、使用する単位の全てのパケットが揃っていないものは、優先的に入れ替え対象とするような考慮も必要である。
In general, an access unit (range) of partial code data of image data is configured by a set of minimum code strings (packets) of code data. For this reason, uploading must be performed (it cannot be hit) unless all the packets required as cache data for accessing partial code data are available.
Therefore, it is necessary to consider that a packet that does not have all the packets to be used is preferentially replaced.

本発明では、部分符号データアクセスにおけるキャッシュデータの符号データのヒット率を高くすることを主要目的とし、このような目的を達成すべく、オーバーフロー時のデータ入れ替えの管理を、符号データの使用状況(使用傾向の推定)に基づいて入れ替え単位を適応的に設定することを課題とした。   The main object of the present invention is to increase the hit rate of the code data of the cache data in the partial code data access, and in order to achieve such an object, the management of the data exchange at the time of overflow is managed by the use status of the code data ( The task was to adaptively set the replacement unit based on the estimation of usage tendency.

上述の課題を解決するために、請求項1に記載の画像処理システムの発明は、画像処理装置(クライアント)の階層符号データの部分符号データの転送要求に基づいて、画像処理装置(サーバ)の記憶装置に保存された階層符号データの部分符号データを受信する機能を有する画像処理装置(クライアント)であって、受信した前記符号データの一部または全部を記憶装置乃至記憶装置(キャッシュメモリ)に保存し再利用する機能を有し、前記記憶装置(キャッシュメモリ)に保存された符号データの保存容量がオーバーフローを起こした場合において、構造化要素単位で前記記憶装置乃至記憶装置(キャッシュメモリ)に保存される符号データの一部または全部を入れ替える場合にあって、入れ替え単位が階層符号データの指定した階層の指定したレベルに含まれる符号列(パケット)単位であることを特徴とする。   In order to solve the above-described problem, the invention of the image processing system according to claim 1 is based on the transfer request of the partial code data of the hierarchical code data of the image processing apparatus (client). An image processing apparatus (client) having a function of receiving partial code data of hierarchical code data stored in a storage device, wherein a part or all of the received code data is stored in a storage device or a storage device (cache memory). When the storage capacity of the code data stored in the storage device (cache memory) has an overflow, the storage device or the storage device (cache memory) is stored in units of structuring elements. When replacing part or all of the stored code data, the replacement unit is the hierarchy specified by the hierarchical code data It characterized in that it is a code string (packet) units contained in the specified level.

請求項2に記載の発明は、請求項1に記載の画像処理システムにおいて、前記入れ替え単位が、階層符号データが使用される場合の符号データの階層毎の使用頻度に基づいて指定されることを特徴とする。
請求項3に記載の発明は、請求項2に記載の画像処理システムにおいて、前記符号データの階層毎の使用頻度が、該階層符号データが使用される場合の符号データのプログレッション順の使用頻度に基づいて推定されることを特徴とする。
According to a second aspect of the present invention, in the image processing system according to the first aspect, the replacement unit is specified based on a use frequency for each layer of code data when the layer code data is used. Features.
According to a third aspect of the present invention, in the image processing system according to the second aspect, the frequency of use of the code data for each layer is the frequency of use of the code data in the order of progression when the layered code data is used. It is estimated based on this.

請求項4に記載の発明は、請求項1に記載の画像処理システムにおいて、前記入れ替え単位である部分符号データの階層が、該階層符号データの構成が使用される場合の符号データのプログレッション順の使用頻度に基づいて変換されることを特徴とする。
請求項5に記載の発明は、請求項2または3に記載の画像処理システムにおいて、前記入れ替えにおいて、保存されていない符号列を含む階層レベルの符号列を優先して入れ替えることを特徴とする。
According to a fourth aspect of the present invention, in the image processing system according to the first aspect, the hierarchy of the partial code data that is the replacement unit is the progression order of the code data when the configuration of the hierarchical code data is used. It is converted based on the frequency of use.
According to a fifth aspect of the present invention, in the image processing system according to the second or third aspect, in the replacement, a hierarchical level code string including a code string not stored is preferentially replaced.

請求項6に記載の発明は、請求項1乃至5のいずれかに記載の画像処理システムにおいて、データ符号量を階層レベル毎に算出するデータ符号量算出手段を有し、前記算出されたデータ符号量に基づいて、請求項1記載の階層符号データの階層レベル単位で符号データを入れ替える手段を有することを特徴とする。
請求項7に記載の発明は、請求項1乃至6のいずれかに記載の画像処理システムにおいて、前記階層符号データがJPEG2000(ISO/IEC 15444−1)規格に基づき符号化されたデータであることを特徴とする。
A sixth aspect of the present invention is the image processing system according to any one of the first to fifth aspects, further comprising data code amount calculation means for calculating a data code amount for each hierarchical level, wherein the calculated data code Based on the quantity, it comprises means for exchanging code data in units of hierarchical levels of the hierarchical code data according to claim 1.
According to a seventh aspect of the present invention, in the image processing system according to any one of the first to sixth aspects, the hierarchical code data is data encoded based on JPEG2000 (ISO / IEC 15444-1) standard. It is characterized by.

請求項8に記載の発明は、請求項1乃至7のいずれかに記載の画像処理システムにおいて、前記階層符号データがJPIP(JPEG2000 image coding system−Part9:Interactivity tools, APIs and protocols)規格に基づき、サーバの記憶装置に保存された符号化画像データの一部である部分符号データをクライアントが受信する部分符号データアクセス機能を有することを特徴とする。   The invention according to claim 8 is the image processing system according to any one of claims 1 to 7, wherein the hierarchical code data is based on a JPIP (JPEG2000 image coding system-Part 9: Interactivity tools, APIs and protocols) standard, It has a partial code data access function in which a client receives partial code data that is a part of encoded image data stored in a storage device of a server.

請求項9に記載の画像処理方法の発明は、画像処理装置(クライアント)の階層符号データの部分符号データの転送要求に基づいて、画像処理装置(サーバ)の記憶装置に保存された階層符号データの部分符号データを受信する画像処理装置(クライアント)の画像処理方法であって、受信した前記符号データの一部または全部を記憶装置乃至記憶装置(キャッシュメモリ)に保存し再利用するときに、前記記憶装置(キャッシュメモリ)に保存された符号データの保存容量がオーバーフローを起こした際に、構造化要素単位で前記記憶装置乃至記憶装置(キャッシュメモリ)に保存される符号データの一部または全部を入れ替える場合にあって、入れ替え単位が階層符号データの指定した階層の指定したレベルに含まれる符号列(パケット)単位であることを特徴とする。   The invention of the image processing method according to claim 9 is the hierarchical code data stored in the storage device of the image processing apparatus (server) based on the transfer request of the partial code data of the hierarchical code data of the image processing apparatus (client). Image processing apparatus (client) image processing method for receiving the partial code data of the above, when a part or all of the received code data is stored in a storage device or storage device (cache memory) and reused, When the storage capacity of the code data stored in the storage device (cache memory) overflows, part or all of the code data stored in the storage device or storage device (cache memory) in units of structured elements Code sequence (packet) included in the specified level of the specified hierarchy of the hierarchical code data. Characterized in that it is a unit.

請求項10に記載の発明は、コンピュータに、請求項1乃至8のいずれかに記載の画像処理システムの機能を実現させるためのプログラムである。
請求項11に記載の発明は、コンピュータが読み取り可能な記録媒体であって、請求項10に記載のプログラムを記録したことを特徴とする記録媒体である。
A tenth aspect of the present invention is a program for causing a computer to realize the functions of the image processing system according to any one of the first to eighth aspects.
The invention described in claim 11 is a computer-readable recording medium in which the program according to claim 10 is recorded.

本発明によれば、クライアント側のキャッシュ上の符号データ(符号列)とサーバ側の元符号データとの間の照合を効率的に施すことができ、部分符号データであっても階層構造を踏まえて容易に照合することができる。
また、キャッシュ上の非連続的に保存された断片的な符号列であっても、符号データとの間で効率的かつ確実に照合することができ、判定するデータ(符号列)の範囲を限定し効率的に照合することができる。
According to the present invention, the code data (code string) on the client side cache and the server side original code data can be efficiently collated, and even the partial code data is based on the hierarchical structure. Can be easily verified.
In addition, even fragmented code strings stored in the cache in a non-continuous manner can be efficiently and reliably checked against code data, and the range of data (code strings) to be determined is limited. And can be collated efficiently.

以下、図面を参照して本発明に係る好適な実施形態について詳細に説明する。
まず、JPEG2000およびJPIPについて説明する。
DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the drawings.
First, JPEG2000 and JPIP will be described.

(1)JPEG2000による符号化:
JPEG2000(ISO/IEC 15444−1)規格の符号化は、おおよそ以下の手順でなされる。
インターレース画像のフレームデータを、Y,Cr,Cbの色成分毎のデータに変換し、各色成分の色データに対して、2次元離散ウェーブレット変換を施し、得られるウェーブレット係数に、JPEG2000に規定のスカラ量子化処理を施し、スカラ量子化されたデータに対しJPEG2000に規定のエントロピー符号化処理(いわゆる係数モデリングによる算術符号化処理)を施した後、JPEG2000で規定する符号列を生成する。
復号化処理はこの逆の手順である。
(1) Encoding with JPEG2000:
Encoding according to the JPEG2000 (ISO / IEC 15444-1) standard is performed in the following procedure.
The frame data of the interlaced image is converted into data for each color component of Y, Cr, and Cb, the color data of each color component is subjected to two-dimensional discrete wavelet transform, and the obtained wavelet coefficient is a scalar defined in JPEG2000. A quantization process is performed, and entropy coding processing (arithmetic coding processing by so-called coefficient modeling) defined in JPEG2000 is performed on scalar quantized data, and then a code string defined in JPEG2000 is generated.
The decoding process is the reverse procedure.

勿論、これらの処理は、ハードウェア回路により実現しても良い。処理の高速化が図られる。なお、JPEG2000に準拠する符号化処理を全てハードウェア回路で実現する画像処理装置は、既に存在する。   Of course, these processes may be realized by a hardware circuit. The processing speed can be increased. Note that there is already an image processing apparatus that implements all the encoding processing compliant with JPEG2000 with a hardware circuit.

図1は、JPEG2000の基本となる階層符号化アルゴリズムを説明するための図である。色空間変換・逆変換部、2次元ウェーブレット変換・逆変換部、量子化・逆量子化部、エントロピー符号化・復号化部、タグ処理部で構成されている。
JPEGアルゴリズムと比較して、最も大きく異なる点の一つは変換方法である。JPEGでは離散コサイン変換(DCT:Discrete Cosine Transform)を、階層符号化圧縮伸長アルゴリズムでは離散ウェーブレット変換(DWT:Discrete Wavelet Transform)を、各々用いている。
DWTは、DCTに比べて、高圧縮領域における画質が良いという長所が、JPEGの後継アルゴリズムであるJPEG2000で採用された大きな理由の一つとなっている。
FIG. 1 is a diagram for explaining a hierarchical encoding algorithm that is the basis of JPEG2000. It comprises a color space conversion / inverse conversion unit, a two-dimensional wavelet transform / inverse conversion unit, a quantization / inverse quantization unit, an entropy encoding / decoding unit, and a tag processing unit.
One of the biggest differences compared to the JPEG algorithm is the conversion method. Discrete cosine transform (DCT) is used in JPEG, and discrete wavelet transform (DWT) is used in the hierarchical encoding compression / decompression algorithm.
The advantage that DWT has better image quality in the high compression region than DCT is one of the major reasons adopted by JPEG2000, which is a successor algorithm of JPEG.

また、他の大きな相違点は、後者では、最終段に符号形成を行うために、タグ処理部と呼ばれる機能ブロックが追加されていることである。この部分で、圧縮動作時には圧縮データがコードストリームとして生成され、伸長動作時には伸長に必要なコードストリームの解釈が行われる。そして、コードストリームによって、JPEG2000は様々な便利な機能を実現できるようになった。
例えば、図2に示した様に、ブロック・ベースでのDWTにおけるオクターブ分割に対応した任意の階層(デコンポジション・レベル)で、静止画像の圧縮伸長動作を自由に停止させることができるようになる。
Another major difference is that, in the latter case, a function block called a tag processing unit is added in order to perform code formation at the final stage. In this part, compressed data is generated as a code stream during the compression operation, and a code stream necessary for decompression is interpreted during the decompression operation. And with the codestream, JPEG2000 can realize various convenient functions.
For example, as shown in FIG. 2, the compression / decompression operation of a still image can be freely stopped at an arbitrary hierarchy (decomposition level) corresponding to octave division in block-based DWT. .

なお、原画像の入出力部分には、色空間変換部が接続されることが多い。例えば、原色系のR(赤)/G(緑)/B(青)の各コンポーネントからなるRGB表色系や、補色系のY(黄)/M(マゼンタ)/C(シアン)の各コンポーネントからなるYMC表色系から、YUVあるいはYCbCr表色系への変換又は逆の変換を行う部分がこれに相当する。   A color space conversion unit is often connected to the input / output portion of the original image. For example, the RGB color system composed of R (red) / G (green) / B (blue) components of the primary color system and the Y (yellow) / M (magenta) / C (cyan) components of the complementary color system This corresponds to the part that performs conversion from the YMC color system consisting of the above to the YUV or YCbCr color system or the reverse conversion.

以下、JPEG2000アルゴリズムについて、少し詳しく説明する。
カラー画像は、一般に、図3に示すように、原画像の各コンポーネント(ここではRGB原色系)が、矩形をした領域(タイル)によって分割される。そして、個々のタイル、例えば、R00,R01,…,R15/G00,G01,…,G15/B00,B01,…,B15が、圧縮伸長プロセスを実行する際の基本単位となる。従って、圧縮伸長動作は、コンポーネント毎、そしてタイル毎に、独立に行われる。
Hereinafter, the JPEG2000 algorithm will be described in detail.
As shown in FIG. 3, in a color image, each component (here, RGB primary color system) of an original image is generally divided by a rectangular area (tile). Each tile, for example, R00, R01, ..., R15 / G00, G01, ..., G15 / B00, B01, ..., B15, is a basic unit for executing the compression / decompression process. Therefore, the compression / decompression operation is performed independently for each component and for each tile.

符号化時には、各コンポーネントの各タイルのデータが、図1の色空間変換部に入力され、色空間変換を施されたのち、2次元ウェーブレット変換部で2次元ウェーブレット変換(順変換)が適用されて周波数帯に空間分割される。   At the time of encoding, the data of each tile of each component is input to the color space conversion unit of FIG. 1 and subjected to color space conversion, and then the two-dimensional wavelet conversion unit applies the two-dimensional wavelet conversion (forward conversion). Space is divided into frequency bands.

図2には、デコンポジション・レベル数が3の場合の、各デコンポジション・レベルにおけるサブバンドを示している。即ち、原画像のタイル分割によって得られたタイル原画像(0LL)(デコンポジション・レベル0)に対して、2次元ウェーブレット変換を施し、デコンポジション・レベル1に示すサブバンド(1LL,1HL,1LH,1HH)を分離する。そして引き続き、この階層における低周波成分1LLに対して、2次元ウェーブレット変換を施し、デコンポジション・レベル2に示すサブバンド(2LL,2HL,2LH,2HH)を分離する。   FIG. 2 shows subbands at each decomposition level when the number of decomposition levels is three. That is, the tile original image (0LL) (decomposition level 0) obtained by the tile division of the original image is subjected to two-dimensional wavelet transform, and the subbands (1LL, 1HL, 1LH shown in the decomposition level 1) , 1HH). Subsequently, the low-frequency component 1LL in this hierarchy is subjected to two-dimensional wavelet transformation to separate the subbands (2LL, 2HL, 2LH, 2HH) indicated by the decomposition level 2.

順次同様に、低周波成分2LLに対しても、2次元ウェーブレット変換を施し、デコンポジション・レベル3に示すサブバンド(3LL,3HL,3LH,3HH)を分離する。更に図2では、各デコンポジション・レベルにおいて符号化の対象となるサブバンドを、グレーで表してある。例えば、デコンポジション・レベル数を3とした時、グレーで示したサブバンド(3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HH)が符号化対象となり、3LLサブバンドは符号化されない。   Similarly, the low-frequency component 2LL is also subjected to two-dimensional wavelet transform to separate subbands (3LL, 3HL, 3LH, 3HH) shown in the decomposition level 3. Further, in FIG. 2, the subbands to be encoded at each decomposition level are represented in gray. For example, when the number of decomposition levels is 3, the subbands shown in gray (3HL, 3LH, 3HH, 2HL, 2LH, 2HH, 1HL, 1LH, 1HH) are to be encoded, and the 3LL subband is encoded. Not.

次いで、指定した符号化の順番で符号化の対象となるビットが定められ、図1の量子化部で対象ビット周辺のビットからコンテキストが生成される。
量子化の処理が終わったウェーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。図4に示した様に、一つのプレシンクトは、空間的に一致した3つの矩形領域からなっている。更に、個々のプレシンクトは、重複しない矩形の「コードブロック」に分けられる。これは、エントロピー・コーディングを行う際の基本単位となる。
Next, the bits to be encoded are determined in the specified encoding order, and the context is generated from the bits around the target bits in the quantization unit in FIG.
The wavelet coefficients that have undergone the quantization process are divided into non-overlapping rectangles called “precincts” for each subband. This was introduced to use memory efficiently in implementation. As shown in FIG. 4, one precinct consists of three rectangular regions that are spatially coincident. Furthermore, each precinct is divided into rectangular “code blocks” that do not overlap. This is the basic unit for entropy coding.

エントロピー符号化部(図1参照)では、コンテキストと対象ビットから確率推定によって、各コンポーネントのタイルに対する符号化を行う。こうして、原画像の全てのコンポーネントについて、タイル単位で符号化処理が行われる。   The entropy encoding unit (see FIG. 1) encodes the tile of each component by probability estimation from the context and the target bit. In this way, encoding processing is performed in tile units for all components of the original image.

エントロピー符号化部で形成される符号データの最小単位は、パケットと呼ばれる。パケットは、プログレッシブ順にシーケンス化され、これが画像ヘッダセグメントのなかの1つで示される。パケットは、あるプログレッシブ順データで、それぞれ、領域、解像度、レイヤ、および色成分によって配列される。即ち、JPEG2000規格では、画質(レイヤ(L))、解像度(R)、コンポーネント(C)、位置(プレシンクト(P))という4つの画像の要素の優先順位を変更することによって、以下に示す5通りのプログレッションが定義されている。   The minimum unit of code data formed by the entropy encoding unit is called a packet. The packets are sequenced in progressive order, which is indicated by one of the image header segments. A packet is a piece of progressive data, and is arranged by region, resolution, layer, and color component, respectively. That is, in the JPEG2000 standard, by changing the priority order of the four image elements of image quality (layer (L)), resolution (R), component (C), and position (precinct (P)), the following 5 Street progression is defined.

・LRCPプログレッション:プレシンクト、コンポーネント、解像度レベル、レイヤの順序に復号されるため、レイヤのインデックスが進む毎に画像全面の画質が改善されることになり、画質のプログレッションが実現できる。レイヤプログレッションとも呼ばれる。 LRCP progression: Since decoding is performed in the order of precinct, component, resolution level, and layer, the image quality of the entire image is improved each time the layer index is advanced, and the progression of the image quality can be realized. Also called layer progression.

・RLCPプログレッション:プレシンクト、コンポーネント、レイヤ、解像度レベルの順序に復号されるため、解像度のプログレッションが実現できる。 RLCP progression: Since it is decoded in the order of precinct, component, layer, and resolution level, resolution progression can be realized.

・RPCLプログレッション:レイヤ、コンポーネント、プレシンクト、解像度レベルの順序に復号されるため、RLCP同様、解像度のプログレッションであるが、特定位置の優先度を高くすることができる。 RPCL progression: Since decoding is performed in the order of layer, component, precinct, and resolution level, it is a progression of resolution as in RLCP, but the priority of a specific position can be increased.

・PCRLプログレッション:レイヤ、解像度レベル、コンポーネント、プレシンクトの順序に復号されるため、特定部分の復号が優先されるようになり空間位置のプログレッションが実現できる。 PCRL progression: Since decoding is performed in the order of layer, resolution level, component, and precinct, decoding of a specific part is prioritized, and progression of spatial position can be realized.

・CPRLプログレッション:レイヤ、解像度レベル、プレシンクト、コンポーネントの順序に復号されるため、例えばカラー画像のプログレッシブ復号の際に最初にグレーの画像を再現するようなコンポーネントのプログレッションが実現できる。 CPRL Progression: Since decoding is performed in the order of layer, resolution level, precinct, and component, for example, when a color image is progressively decoded, a component progression that first reproduces a gray image can be realized.

このようにJPEG2000規格では、画像は領域(タイルまたはプレシンクトといった画像構成要素)、解像度、階層(レイヤ)、色成分に分割され、それぞれが独立してパケットとして符号化される。これらのパケットはデコードすることなしに、コードストリームから識別され抽出され得るところに特徴がある。   As described above, in the JPEG2000 standard, an image is divided into regions (image constituent elements such as tiles or precincts), resolutions, hierarchies (layers), and color components, and each is independently encoded as a packet. These packets are characterized in that they can be identified and extracted from the codestream without decoding.

最後に、タグ処理部(符号列形成部)は、エントロピー符号化部からの全符号化データを1本のコードストリームに結合するとともに、それにタグを付加する処理を行う。図5には、コードストリームの構造を簡単に示した。コードストリームの先頭と各タイルを構成する部分タイルの先頭にはヘッダと呼ばれるタグ情報が付加され、その後に、各タイルの符号化データが続く。そして、コードストリームの終端には、再びタグが置かれる。   Finally, the tag processing unit (code string forming unit) combines all the encoded data from the entropy encoding unit into one code stream and performs processing for adding a tag thereto. FIG. 5 simply shows the structure of the code stream. Tag information called a header is added to the head of the code stream and the head of the partial tiles constituting each tile, and the encoded data of each tile follows. A tag is placed again at the end of the code stream.

一方、復号化時には、符号化時とは逆に、各コンポーネントの各タイルのコードストリームから画像データを生成する。図1を用いて簡単に説明する。この場合、タグ処理部は、外部より入力したコードストリームに付加されたタグ情報を解釈し、コードストリームを各コンポーネントの各タイルのコードストリームに分解し、その各コンポーネントの各タイルのコードストリーム毎に復号化処理が行われる。コードストリーム内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、逆量子化部で、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。   On the other hand, at the time of decoding, contrary to the time of encoding, image data is generated from the code stream of each tile of each component. This will be briefly described with reference to FIG. In this case, the tag processing unit interprets tag information added to the code stream input from the outside, decomposes the code stream into code streams of each tile of each component, and for each code stream of each tile of each component. Decryption processing is performed. The position of the bit to be decoded is determined in the order based on the tag information in the code stream, and the context is determined by the inverse quantization unit from the sequence of the peripheral bits (that has already been decoded) of the target bit position. Is generated.

エントロピー復号化部で、このコンテキストとコードストリームから確率推定によって復号化を行い、対象ビットを生成し、それを対象ビットの位置に書き込む。このようにして復号化されたデータは各周波数帯域毎に空間分割されているため、これを2次元ウェーブレット逆変換部で2次元ウェーブレット逆変換を行うことにより、画像データの各コンポーネントの各タイルが復元される。復元されたデータは色空間逆変換部によって元の表色系のデータに変換される。   The entropy decoding unit performs decoding from this context and code stream by probability estimation, generates a target bit, and writes it in the position of the target bit. Since the data decoded in this way is spatially divided for each frequency band, by performing two-dimensional wavelet inverse transformation on the two-dimensional wavelet inverse transformation unit, each tile of each component of the image data becomes Restored. The restored data is converted into original color system data by the color space inverse conversion unit.

(2)JPIPにおける符号データのやり取り:
サーバにあるJPEG2000符号から、必要な符号だけを受信するためのプロトコルとして国際規格JPIP(JPEG2000 image coding system − Part 9:Interactivity tools,APIs and protocols)([“Infornation technology−JPEG2000 image coding system−Part9:Interactivity tools,APIs and protocols”ISO/IEC FDIS 15444−9:2004”])がある。
(2) Code data exchange in JPIP:
The international standard JPIP (JPEG2000 image coding system-Part 9: Interactivity tools, APIs and protocols-JPEG2000 coding-JPEG2000 coding-JPEG2000 coding-JPEG2000 coding-P9 Interactivity tools, APIs and protocols "ISO / IEC FDIS 15444-9: 2004"]).

このような、階層的な画像を部分的にアクセスするためのプロトコルは、古くは、画像の多重解像度表現であるFlashPixと、それにアクセスするためのプロトコルであるIIP(Internet Imaging Protocol)に見ることができる。JPIPに係る特許文献としては特許文献1がある。   Such a protocol for partially accessing a hierarchical image can be seen in FlashPix, which is a multi-resolution representation of an image, and IIP (Internet Imaging Protocol), which is a protocol for accessing the protocol. it can. There is Patent Document 1 as a patent document related to JPIP.

JPIPにおいては、クライアントからの要求(リクエスト)に応じて、サーバは完全な画像ファイル、タイルパートストリーム(JPT−ストリーム)またはプレシンクトストリーム(JPP−ストリーム)の形式をもつ符号データを戻す(応答する)。
JPT−ストリームは、JPEG2000パート1規格で規定されるタイルパートの組としてサブ画像の符号データを戻す方法である。
一方、JPP−ストリームは、JPEG2000パート1規格で規定されるプレシンクトの組としてサブ画像の符号データを戻す方法である。
In JPIP, in response to a request (request) from a client, the server returns code data having a complete image file, tile part stream (JPT-stream) or precinct stream (JPP-stream) format (response). To do).
The JPT-stream is a method for returning code data of a sub-image as a set of tile parts defined by the JPEG2000 part 1 standard.
On the other hand, the JPP-stream is a method for returning the code data of the sub-image as a precinct set defined by the JPEG2000 part 1 standard.

JPT−ストリームにより順次アクセスした符号データを再生する場合は、タイル分割されたタイル領域毎に順次完全に再生するのに対して、JPP−ストリームにより順次アクセスした符号データを再生する場合は、タイル領域に跨った広い領域で、小さい領域(プレシンクト)単位に徐々に再生することができる。すなわち、JPT−ストリームのアクセスによる再生では、一時に再生する範囲が画像全体の中であるタイル領域に限定されているのに対し、JPP−ストリームのアクセスによる再生では、一時に再生する範囲はタイル領域に限定されず画像全体での再生が可能なのである。   When the code data sequentially accessed by the JPT-stream is reproduced, the tile area is completely reproduced for each tile area, whereas the code area sequentially accessed by the JPP-stream is reproduced by the tile area. It is possible to reproduce gradually in small areas (precinct) in a wide area extending over the area. That is, in the reproduction by accessing the JPT-stream, the range to be reproduced at one time is limited to the tile area in the entire image, whereas in the reproduction by accessing the JPP-stream, the range to be reproduced at one time is the tile. It is possible to reproduce the entire image without being limited to the area.

このように、JPIPのクライアントは、受信された符号データの部分を識別でき、それらの部分を復号し且つ画像を生成することができるように、タイルパートストリーム又は、プレシンクトストリームの形式で、JPEG2000コードストリームのサブセットを戻す機能を提供する。   In this way, a JPIP client can identify portions of the received code data, decode those portions and generate an image, in the form of a tile part stream or precinct stream, Provides the ability to return a subset of the JPEG2000 codestream.

即ち、JPP−ストリームは、JPEG2000コードストリームへ変換され、JPEG2000デコーダで復号することができる。この変換は、復号されるデータと共に、メインヘッダの全てとタイルヘッダの全てを受信すれば十分である。   That is, the JPP-stream is converted into a JPEG2000 code stream and can be decoded by a JPEG2000 decoder. It is sufficient for this conversion to receive all of the main header and all of the tile headers along with the data to be decoded.

JPP−ストリームは、メッセージのシーケンスより構成される(図6参照)。各メッセージは、含まれるデータ−ビン情報の形式を示す(メインヘッダ、メタデータ、プレシンクト、又は、タイルヘッダ)。各メッセージは、データ−ビン内の開始位置とメッセージの長さも示す。各メッセージは、その形式、その形式内のインデックス、その形式とインデックスを有する「データ−ビン」へのメッセージのオフセット、及び、メッセージ長を識別するヘッダを有する。   A JPP-stream is composed of a sequence of messages (see FIG. 6). Each message indicates the format of the included data-bin information (main header, metadata, precinct, or tile header). Each message also indicates the starting position in the data-bin and the length of the message. Each message has a header that identifies its type, an index within that type, an offset of the message to a “data-bin” with that type and index, and a message length.

メッセージは、典型的には、データ−ビン全てを含まず、データ−ビンの一部を含む。メッセージには、データ−ビンがどのタイル、コンポーネント、位置及び、解像度データビンに対してであるかを示す識別子を含む。本発明では、タイル、コンポーネント、位置及び、解像度を階層としており、データ−ビンに含まれる符号列(パケット)は、各階層のどのレベル(階層レベル)のデータであるかという情報が対応している。例えば、データ−ビンに含まれるある符号列がタイルAでコンポーネントがCbで位置4で解像度1レベルであることが示されている。   A message typically does not include all of the data-bins, but includes a portion of the data-bins. The message includes an identifier that indicates which tile, component, position, and resolution data bin the data-bin is for. In the present invention, the tile, component, position, and resolution are hierarchies, and the code sequence (packet) included in the data-bin corresponds to the information of which level (hierarchy level) of each hierarchy corresponds. Yes. For example, it is indicated that a certain code string included in the data-bin is tile A, the component is Cb, and the resolution is 1 level at position 4.

プレシンクトデータ−ビンは、一連のパケットヘッダ(PH)とパケットデータ(PD)より構成される(図7参照)。パケットヘッダは、どのコードブロックがパケットのパケットデータ部分内のデータを有するかに関する情報、各符号ブロックに格納されたバイト数に関する情報、及び、各符号ブロックについての符号化パスの数を含む。JPIPの標準仕様では、パケットヘッダには、どのコンポーネント、位置、解像度、タイル、あるいは、それが属するレイヤを識別する情報(階層レベル情報)は持っていない。   The precinct data-bin is composed of a series of packet headers (PH) and packet data (PD) (see FIG. 7). The packet header includes information regarding which code block has data in the packet data portion of the packet, information regarding the number of bytes stored in each code block, and the number of coding passes for each code block. In the standard specification of JPIP, the packet header does not have information (hierarchy level information) for identifying which component, position, resolution, tile, or layer to which the packet header belongs.

本発明の一実施例として、先に示したメッセージデータを解析して、パケット単位の階層レベル情報をパケットヘッダに記録してもかまわない。クライアント側でJPP−ストリーム受信後、これらの情報を記録することもできる。   As an embodiment of the present invention, the message data shown above may be analyzed and the layer level information in units of packets may be recorded in the packet header. After receiving the JPP-stream on the client side, these pieces of information can also be recorded.

同様に、JPIPの標準仕様では、パケットヘッダの長さに関する明確な情報は持たない。パケットデータの長さは、パケット内の全てのコードブロックにデータの長さを加算することにより決定できる。
本発明の一実施例として、パケットヘッダにこれらのデータ長を計算した結果を保存する構成にすることができる。JPP−ストリームに規定された構成によりパケットを抽出することができる。
Similarly, the standard specification of JPIP does not have clear information regarding the length of the packet header. The length of the packet data can be determined by adding the data length to all code blocks in the packet.
As an embodiment of the present invention, the packet header can be configured to store the result of calculating these data lengths. Packets can be extracted by the configuration defined in the JPP-stream.

JPIPのプロトコルは、二つの異なるタイプの要求をもっている。サーバがキャッシュモデルを維持する必要がないという意味におけるステートレスリクエストとそれ以外のリクエストがある。
サーバのキャッシュモデルには、それまでにサーバに送信したことについての情報の記録がなされている。
また、クライアントのキャッシュには、サーバから受信した符号データが保存され、サーバは、キャッシュモデルを用いることによって、既に転送した符号データをクライアントに転送することなく、再利用できる。典型的には、クライアントは、断片的に受信したJPEG2000の符号データを、受信した順番にデータをアペンドしキャッシュに保存する。続いて、前述したようにキャッシュしたデータからJPEG2000のシンタックスに準拠したビットストリームを作成し、そのビットストリームをデコードする。
The JPIP protocol has two different types of requirements. There are stateless requests and other requests in the sense that the server does not need to maintain a cache model.
The server cache model records information about what has been sent to the server so far.
Also, the code data received from the server is stored in the client cache, and the server can reuse the code data already transferred without transferring it to the client by using the cache model. Typically, the client appends the JPEG2000 code data received in pieces in the order of reception and stores the data in the cache. Subsequently, a bitstream compliant with the JPEG2000 syntax is created from the cached data as described above, and the bitstream is decoded.

(3)JPIPにおけるクライアント、サーバ、及びネットワーク:
図8は、JPIPにおけるキャッシュを持ったクライアントサーバモデル構成例であり、図9は、JPIPにおけるクライアントサーバネットワークモデル構成例である。
(3) Client, server, and network in JPIP:
FIG. 8 is a configuration example of a client server model having a cache in JPIP, and FIG. 9 is a configuration example of a client server network model in JPIP.

図8は、クライアント及びサーバ間で符号データを通信するネットワーク環境の一実施例を示す。図8に示すように、サーバ102は、ある種のネットワークを介してクライアント101のような少なくとも1つのクライアントに接続されている。クライアント101は、しばしば、人間のユーザにより制御される「プログラム」であるが、しかし、完全に自動化されたシステムでも良い。クライアント101は、ある画像のサブセットに対する要求(リクエスト)110を発行し、要求110に示された方法で対応する符号データを含む応答113を受信する。ネットワークの帯域幅又はサーバ102の資源又は、ファイル要求の構造のために、クライアント101は要求された画像の部分符号データ以外のおおよその符号データを受信し得る。クライアント101は、典型的には、キャッシュを用いて、画像の異なる部分の出力に対する要求を発行し、前に受信された符号データに対する追加分の符号データを受信する。   FIG. 8 shows an embodiment of a network environment in which code data is communicated between a client and a server. As shown in FIG. 8, the server 102 is connected to at least one client such as the client 101 via a certain type of network. The client 101 is often a “program” controlled by a human user, but may be a fully automated system. The client 101 issues a request 110 for a certain image subset, and receives a response 113 including corresponding code data in the manner indicated in the request 110. Due to the bandwidth of the network or the resources of the server 102 or the structure of the file request, the client 101 may receive approximate code data other than the partial code data of the requested image. The client 101 typically uses a cache to issue requests for the output of different parts of the image and receives additional code data relative to previously received code data.

JPIPの基本的特徴の一つは、クライアントが既に受信した符号データを繰返すことを避ける能力である。この符号データの再送信を避ける2つの方法がある。
一つ目の方法(図9)としては、クライアント211が、サーバ203へ送信されクライアントで既に受信された符号データについての情報をもつことで、クライアント211は冗長なデータの配信をサーバ203に要求しないで済ませ、それにより、サーバ203は冗長な符号データを送信しないで済ます方法である。サーバ203が、「ステートレス」で動作する場合にあっては、それまでの相互動作を記憶することなく動作する。サーバが、それまでの相互動作を記憶する特別なキャッシュモデルを維持する必要がないことから、一般的には、ステートレスで動作しているということが多い。
One of the basic features of JPIP is the ability to avoid repeating the code data that the client has already received. There are two methods for avoiding retransmission of this code data.
In the first method (FIG. 9), the client 211 has information on the code data transmitted to the server 203 and already received by the client, so that the client 211 requests the server 203 to distribute redundant data. This is a method in which the server 203 does not have to send redundant code data. When the server 203 operates “stateless”, the server 203 operates without storing the previous interaction. In general, servers often operate stateless because they do not need to maintain a special cache model that stores previous interactions.

二つ目の方法(図8)としては、クライアント101とサーバ102は、「セッション」を確立し、サーバ102は、クライアント101へ送られた符号データを記憶しておくキャッシュモデルをもっている。即ち、サーバのキャッシュモデルには、それまでにサーバ102に送信したことについての情報の記録がなされている。クライアント101のキャッシュには、サーバ102から受信した符号データが保存され、サーバ102は、キャッシュモデルを用いることによって、既に転送した符号データをクライアント101に転送することなく、再利用できる。典型的には、クライアント101は、断片的に受信したJPEG2000の符号データを、受信した順番にデータをアペンドしキャッシュに保存する。続いて、前述したようにキャッシュしたデータからJPEG2000のシンタックスに準拠したビットストリームを作成し、そのビットストリームをデコードする。   As a second method (FIG. 8), the client 101 and the server 102 establish a “session”, and the server 102 has a cache model for storing the code data sent to the client 101. In other words, information about the transmission to the server 102 is recorded in the server cache model. The code data received from the server 102 is stored in the cache of the client 101, and the server 102 can reuse the code data already transferred without transferring it to the client 101 by using the cache model. Typically, the client 101 appends the JPEG2000 code data received in a fragmented manner in the order of reception and stores the data in a cache. Subsequently, a bitstream compliant with the JPEG2000 syntax is created from the cached data as described above, and the bitstream is decoded.

本発明は、主に、ステートレスな要求を処理する図8に係り、キャッシュ管理部108を有することで、キャッシュ103のキャッシュデータを管理する。   The present invention mainly relates to FIG. 8 for processing a stateless request, and manages the cache data of the cache 103 by including the cache management unit 108.

クライアント101は、それまでに要求した符号データの全てを受信する前にさえも、興味のある画像の部分に対応する符号データを変更し得る。あるサーバは、これらの変更を扱うために、前の要求に対する応答を割り込みすることができる。   The client 101 can change the code data corresponding to the portion of the image of interest even before receiving all of the code data requested so far. Some servers can interrupt the response to previous requests to handle these changes.

図9は、典型的なネットワークを示す。図9を参照すると、ネットワークは、複数のクライアント(例えば、クライアント240,311,312)と複数のサーバを含む。単一のサーバは、数100万の異なるクライアントへ同じ画像の異なる部分を扱い得る。単一のクライアントは、画像と他のデータ(例えば、HTMLページ)を、幾つかのサーバから受信する。プロキシサーバは、オリジナルサーバと通信すること無しに幾つかの要求への素早い応答を可能とするために、ネットワーク内に存在し得る。有効な帯域幅と帯域幅のコストは、異なるクライアントと同じサーバの間で又は、異なるサーバの間で広く変わる。   FIG. 9 shows a typical network. Referring to FIG. 9, the network includes a plurality of clients (eg, clients 240, 311 and 312) and a plurality of servers. A single server can handle different parts of the same image to millions of different clients. A single client receives images and other data (eg, HTML pages) from several servers. A proxy server may exist in the network to allow a quick response to some requests without communicating with the original server. Effective bandwidth and bandwidth costs vary widely between different clients and the same server or between different servers.

最も一般的に使用されるネットワークは、インターネット又はワールドワイドウェブである。しかし、JPIPは、ローカルエリアネットワーク(LAN)又は、どのような一般的な相互接続システムにも適用できる。JPIPは、ハイパーテキスト転送プロトコル(HTTP)の上で最も一般的に転送されるが、しかし、TCP/IP及びUDPを含む他の転送プロトコルと共に使用されると予想される。   The most commonly used network is the Internet or the World Wide Web. However, JPIP can be applied to a local area network (LAN) or any common interconnection system. JPIP is most commonly transferred over Hypertext Transfer Protocol (HTTP), but is expected to be used with other transfer protocols including TCP / IP and UDP.

以上のことから、JPIPストリームの符号フォーマット(メッセージ)を分析することで、コンポーネント数、レイヤ数、プレシンクトサイズ、デコンポジション分割数などの階層符号データを構成する各階層のレベル数が分かる。また、プログレッション順序についても知ることができる。   From the above, by analyzing the code format (message) of the JPIP stream, the number of levels of each layer constituting the hierarchical code data such as the number of components, the number of layers, the precinct size, and the number of decomposition divisions can be found. You can also know the progression order.

図10は、JPIPを使用した場合の出力表示画面例を示す。図10(A)では、2つのタイルからなるデータが表示されており、例えば、それぞれのタイルをクリックすることによって画像データが表示され、図10(B)のような画質の劣ったタイル4枚からなる画像となる。さらに、右下をクリックすることによって、そのタイルの部分画像(図10(C))の解像度が変倍され、部分画質レベルが向上する。このように、部分画像データを参照する場合に使用される。部分画像データを参照する都度、表示クライアント側からサーバ側へ符号データを転送要求し再生する。   FIG. 10 shows an example of an output display screen when JPIP is used. In FIG. 10A, data composed of two tiles is displayed. For example, image data is displayed by clicking each tile, and four tiles with poor image quality as shown in FIG. 10B are displayed. An image consisting of Further, by clicking on the lower right, the resolution of the partial image (FIG. 10C) of the tile is changed, and the partial image quality level is improved. Thus, it is used when referring to partial image data. Each time the partial image data is referred to, the code data is requested to be transferred from the display client side to the server side and reproduced.

このようにJPIPにおいては、クライアント(出力側)では、全ての(階層)符号データではなく、部分符号データを必要としていることを前提としている。そのため、部分符号データからオリジナルの符号データの階層構造を知ることができないという問題があった。   Thus, in JPIP, it is assumed that the client (output side) requires partial code data instead of all (hierarchical) code data. Therefore, there is a problem that the hierarchical structure of the original code data cannot be known from the partial code data.

(4)JPEG2000のコードストリームのフォーマット:
JPEG2000のコードストリームは、画像についての全てのエントロピー符号化されたデータと、その符号化されたデータを復号するために使用されるべき方法を記述するデータを含む。
コードストリームは、使用されるウェーブレット変換に関する情報、タイルのサイズ、プレシンクトのサイズ、解像度に関する情報、ファイル内のパケットの順序等を含む。コードストリームは、エントロピー符号化されたデータを画像サンプルに復号するのに必要な全てのパラメータを含まなければならない。コードストリームは、例えば、パケットの長さのような、符号化されたデータの部分への高速アクセスを提供する情報も含み得る。
(4) JPEG2000 codestream format:
A JPEG 2000 codestream includes all entropy encoded data for an image and data describing the method to be used to decode the encoded data.
The code stream includes information on the wavelet transform used, tile size, precinct size, information on resolution, order of packets in the file, and the like. The code stream must contain all the parameters necessary to decode entropy encoded data into image samples. The code stream may also include information that provides fast access to the encoded portion of data, such as the length of the packet.

JPEG2000のコードストリームのフォーマットの概略構成を図11(A)に示す。JPEG2000の「コードストリーム」には、いくつかのマーカセグメントをもっている。マーカセグメントとは、一つの2バイト長よりなるマーカとそれに付随するパラメータ群から構成されている。各マーカセグメントには機能、用途、データ長が表されている。コードストリームのフォーマットは符号データの始まりを示すSOC(Start of Codestream)マーカで始まる。SOCマーカの後には、符号化のパラメータや量子化のパラメータ等を記述したメインヘッダが続き、その後に実際の符号データが続く。   A schematic configuration of a JPEG2000 code stream format is shown in FIG. The “code stream” of JPEG2000 has several marker segments. The marker segment is composed of a marker having a length of 2 bytes and a parameter group associated therewith. Each marker segment represents a function, usage, and data length. The format of the code stream starts with an SOC (Start of Codestream) marker indicating the start of the code data. The SOC marker is followed by a main header describing coding parameters, quantization parameters, etc., followed by actual code data.

メインヘッダの構成を図11(B)に示す。メインヘッダはCOD,QCDの必須マーカセグメントと、COC,QCC,RGN,POC,PPM,TLM,PLM,CRG,COMのオプションマーカセグメントで構成される。ここで、SIZマーカセグメントには、コンポーネント数とかタイルサイズなどの非圧縮時の画像の情報が記述され画像コンポーネントの幅と高さについての情報を含む。CODとCOCマーカセグメントは、圧縮されたデータはどの様に復号されるべきかを示すパラメータを含む。CODマーカにはプログレッション順序、レイヤ数、プレシンクトサイズ、デコンポジション分割数が記述されている。QCDマーカは量子化に係る情報が記載されている。また、COMマーカはコメント等の情報を付加したいときに利用するマーカで、メインヘッダ、タイルヘッダの双方で使用することが可能である。   The structure of the main header is shown in FIG. The main header is composed of COD and QCD essential marker segments and COC, QCC, RGN, POC, PPM, TLM, PLM, CRG, and COM optional marker segments. Here, the SIZ marker segment describes image information at the time of non-compression such as the number of components and tile size, and includes information about the width and height of the image component. The COD and COC marker segments contain parameters that indicate how the compressed data should be decoded. The COD marker describes the progression order, the number of layers, the precinct size, and the number of decomposition divisions. The QCD marker describes information relating to quantization. The COM marker is a marker used when adding information such as a comment, and can be used in both the main header and the tile header.

メインヘッダの後に、一連の「タイルパート」がある。各タイルパートは、特定のタイルと部分を識別する「SOT(Start of Tile−part)」マーカセグメントで始まる。各タイルパートについて符号化されたデータには、「SOT」マーカセグメントが先行する。「SOT」マーカセグメントには、タイルパート数に係る情報を含んでいる。   After the main header is a series of “tile parts”. Each tile part begins with a “SOT (Start of Tile-part)” marker segment that identifies the particular tile and part. The encoded data for each tile part is preceded by an “SOT” marker segment. The “SOT” marker segment includes information on the number of tile parts.

実際の符号データ(図12)は、SOTマーカで始まり、タイルヘッダ、SOD(Start of data)マーカ、タイルデータ(符号)で構成される。これら画像全体に相当する符号データの後に、符号の終了を示すEOC(End of Codestream)マーカが付加される。メインヘッダはCOD,QCDの必須マーカセグメントとCOC,QCC,RGN,POC,PPM,TLM,PLM,CRG,COMのオプションマーカセグメントで構成される。   The actual code data (FIG. 12) starts with an SOT marker, and includes a tile header, an SOD (Start of Data) marker, and tile data (code). After the code data corresponding to the whole image, an EOC (End of Codestream) marker indicating the end of the code is added. The main header is composed of COD and QCD essential marker segments and COC, QCC, RGN, POC, PPM, TLM, PLM, CRG, and COM optional marker segments.

タイルヘッダ構成を図11(C)(D)に示す。同図は、タイルデータの先頭に付加されるマーカセグメント列であり、COD,COC,QCD,QCC,RGN,POC,PPT,PLT,COMのマーカセグメントが使用可能である。一方、図11(D)は、タイル内が複数に分割されている場合における分割されたタイルパートの先頭に付加されるマーカセグメント列であり、POC,PPT,PLT,COMのマーカセグメントが使用可能である。タイルヘッダでは必須マーカセグメントはなく、すべてオプションである。
タイルデータ(符号)は、連続したパケットで構成される。コードストリーム中のパケットの順番をプログレッション順序と呼んでいる。
The tile header configuration is shown in FIGS. This figure is a marker segment string added to the head of tile data, and marker segments of COD, COC, QCD, QCC, RGN, POC, PPT, PLT, and COM can be used. On the other hand, FIG. 11D shows a marker segment sequence added to the head of the divided tile part when the tile is divided into a plurality of segments, and marker segments of POC, PPT, PLT, and COM can be used. It is. There is no mandatory marker segment in the tile header, all are optional.
Tile data (code) is composed of continuous packets. The order of packets in the code stream is called the progression order.

以上のことから、JPEG2000コードフォーマットを分析することで、コンポーネント数、レイヤ数、プレシンクトサイズ、デコンポジション分割数などの階層符号データを構成する各階層のレベル数がわかる。また、プログレッション順序についても知ることができる。   From the above, by analyzing the JPEG2000 code format, the number of levels of each layer constituting the hierarchical code data such as the number of components, the number of layers, the precinct size, the number of decomposition divisions, and the like can be known. You can also know the progression order.

以上の事実を踏まえて、以下に示した問題解決の考え方に沿って、本発明の実施形態を詳細に説明する。   Based on the above facts, an embodiment of the present invention will be described in detail in accordance with the problem solving concept shown below.

(A)階層符号データのプログレッション順の使用頻度に基づいて、高頻度で部分符号データをアクセスする単位を推定する。推定された高頻度にアクセスしている階層レベル単位でキャッシュデータのオーバーフロー時の符号データの入れ替えを施す。このようにしてキャッシュのヒット率を改善する。 (A) A unit for accessing partial code data with high frequency is estimated based on the usage frequency of the hierarchical code data in the order of progression. The code data is replaced when the cache data overflows in units of hierarchical levels that are accessed with high frequency estimated. In this way, the cache hit rate is improved.

(B)キャッシュ上の符号データを、その階層構造が柔軟に変更できるような階層構造を反映したデータ構造にしておき、使用状況に適応的に階層構造を変換できる構造にしておくことで、効率的かつ効果的なキャッシュ制御ができる。 (B) The code data on the cache has a data structure that reflects the hierarchical structure so that the hierarchical structure can be changed flexibly, and has a structure in which the hierarchical structure can be converted adaptively according to the usage situation. And effective cache control.

(C)さらに、キャッシュデータのオーバーフロー時のデータ入れ替えの管理が、キャッシュデータのデータ構造に対応して階層単位で符号データが全て揃っているかいなかを判別し、階層単位でパケットが全て揃っていないという事態をなるべく起こさないようにして、キャッシュのヒット率を改善する。アクセス単位となっているパケットが全て揃っているようにキャッシュデータの入れ替え処理をする。 (C) Further, the management of data replacement when the cache data overflows determines whether or not all code data is prepared in units of layers corresponding to the data structure of the cache data, and not all packets are prepared in units of layers. To improve the cache hit rate. The cache data is exchanged so that all the packets that are access units are available.

(5)キャッシュデータオーバーフロー時のデータ入れ替えが階層符号データの構造化要素単位:
本発明の構成では、キャッシュのオーバーフロー時のデータ(符号列)の入れ替え処理単位がアクセス単位である。
(5) Data replacement when cache data overflows is a structural element unit of hierarchical code data:
In the configuration of the present invention, the data (code string) replacement processing unit at the time of cache overflow is the access unit.

図13は、本発明のキャッシュのオーバーフロー時のデータ(符号列)の入れ替え処理の概念を説明するための図である。図13では、メモリはキャッシュを含め2個備えているが、一般的な画像処理装置には、高速なアクセスが可能であるキャッシュと通常のアクセス時間のかかる記憶装置と、アクセス時間が遅い外部記憶装置など処理速度の異なるメモリを複数個有しているが、本発明では、主に高速なアクセスが可能なキャッシュのオーバーフロー時の処理について考える。   FIG. 13 is a diagram for explaining the concept of data (code string) replacement processing when the cache overflows according to the present invention. In FIG. 13, two memories including a cache are provided. However, a general image processing apparatus includes a cache that can be accessed at high speed, a storage device that requires a normal access time, and an external storage that has a slow access time. A plurality of memories having different processing speeds such as devices are provided. In the present invention, processing at the time of overflow of a cache that can be accessed at high speed will be mainly considered.

キャッシュ上の符号データは、構造テーブルで管理しており、符号データの保存先を示している。
新しい符号データをキャッシュに保存する場合に、キャッシュ上の符号データの保存領域が一杯になったときは、次の処理を行うが、本発明では、係る符号データの削除あるいは入れ替えの場合の符号データの単位を調整する方法に着目した。
The code data on the cache is managed by the structure table, and indicates the storage location of the code data.
When new code data is stored in the cache, when the code data storage area on the cache becomes full, the following processing is performed. In the present invention, code data in the case of deletion or replacement of the code data is performed. We focused on the method of adjusting the unit.

(B)符号データの一部を削除し、あるいは、別の記憶装置に該符号データを移し替え、その構造テーブルには、NULLが記入される。
(C)新たな符号データをキャッシュに書き込む。
(D)構造テーブルに新しい項目を追加し、該符号データへのアドレス(ポインタ)を書き込む。
(B) A part of the code data is deleted, or the code data is transferred to another storage device, and NULL is written in the structure table.
(C) Write new code data to the cache.
(D) A new item is added to the structure table, and an address (pointer) to the code data is written.

図14は、キャッシュデータオーバーフロー時のデータ入れ替え処理を示すフローチャートである。
保存データ入替え処理は、階層符号データの一部または全部の保存要求待ち(S1)、終了の指定があれば(S2/YES)、処理を終了する。一方、保存の要求があれば(S2/NO)、保存する符号データの符号量を算出して残符号量と比較する(S3)。
FIG. 14 is a flowchart showing data exchange processing when cache data overflows.
In the stored data replacement process, part or all of the hierarchical code data is awaited for a storage request (S1), and if the end is specified (S2 / YES), the process ends. On the other hand, if there is a storage request (S2 / NO), the code amount of the code data to be stored is calculated and compared with the remaining code amount (S3).

次に、使用状況(プログレッション順の使用頻度)に基づいてデータ入れ替え単位の階層決定する(S4,S5,S6)。
このために、プログレッション順の使用頻度を算出し(S4)、使用頻度が最大であるプログレッション順を選択し(S5)、プログレッション順に合わせた階層構造のキャッシュデータ構造生成処理を実行する(S6)。
Next, the hierarchy of the data replacement unit is determined based on the usage status (frequency of use in progression order) (S4, S5, S6).
For this purpose, the usage frequency in the progression order is calculated (S4), the progression order in which the usage frequency is the maximum is selected (S5), and the cache data structure generation process of the hierarchical structure matching the progression order is executed (S6).

次に、階層レベル毎に保存データ入れ替え処理を行う(S7〜S10)。
先に計算した残符号量が不足ならば(S7/YES)、入れ替えする階層レベルを決定し(S8)、階層レベル単位で階層符号データを一部または全部削除して(S9)、ステップS1へ戻る。
一方、残符号量が充分あれば(S7/NO)、記憶装置にデータを保存して(S10)、ステップS1へ戻る。
Next, stored data replacement processing is performed for each hierarchical level (S7 to S10).
If the previously calculated remaining code amount is insufficient (S7 / YES), the hierarchical level to be replaced is determined (S8), part or all of the hierarchical code data is deleted in units of hierarchical levels (S9), and the process proceeds to step S1. Return.
On the other hand, if the remaining code amount is sufficient (S7 / NO), the data is stored in the storage device (S10), and the process returns to step S1.

図15は、キャッシュデータ(符号列構造)管理のためのデータ構造の基本構成図である。管理テーブルと構造テーブルと符号列保存部よりなる。本実施形態では、構造テーブルは、表形成であるが、後述する別の実施形態(図16)では、ツリー構造を持っている。
管理テーブルは、符号データ名(ファイル名)、階層数、各階層毎の階層レベル数(階層レベルの最大値)、構造データへのアドレス(ポインタ)により構成されている。階層数により階層レベル数の項目の数が変更される。
この構造テーブルは、階層レベル数の各階層分の組み合わせの全ての項目を含む。符号列の属する各階層の階層レベルに該当する符号データへのポインタの部分に該符号列が保存されている。
FIG. 15 is a basic configuration diagram of a data structure for managing cache data (code string structure). It consists of a management table, a structure table, and a code string storage unit. In this embodiment, the structure table is a table formation, but in another embodiment (FIG. 16) described later, it has a tree structure.
The management table includes a code data name (file name), the number of hierarchies, the number of hierarchy levels for each hierarchy (maximum value of hierarchy levels), and an address (pointer) to the structure data. The number of items of the hierarchy level number is changed depending on the hierarchy number.
This structure table includes all items of combinations of each hierarchy level number. The code string is stored in a pointer portion to code data corresponding to the hierarchical level of each hierarchy to which the code string belongs.

図16あるいは図17は、キャッシュ管理テーブル、構造テーブルの例である。構造データを表す形式が、ツリー構造であるところが特徴であり、このツリー構造は、前述した図15のテーブル構造とは互換性がある。即ち、テーブル構造は、ツリー構造へ変換することも、逆も任意に変更することができる。ツリー構造をもつ構造テーブルは、階層ノードにより構成されている。各階層ノードは、階層レベルNoと下位階層レベルへの全てのポインタと情報項目より構成されている。最下位の階層では、各階層ノードは階層レベルNoと符号列へのポインタ格納領域をもっている。下位階層レベルへの全てのポインタは持っていない。また、符号列がない場合は、該ポインタ格納領域はNULLになっている。   FIG. 16 or FIG. 17 is an example of a cache management table and a structure table. The structure data is represented by a tree structure, and this tree structure is compatible with the table structure shown in FIG. In other words, the table structure can be converted into a tree structure and vice versa. A structure table having a tree structure is composed of hierarchical nodes. Each hierarchical node includes a hierarchical level No, all pointers to lower hierarchical levels, and information items. In the lowest hierarchy, each hierarchy node has a hierarchy level number and a pointer storage area for a code string. I don't have all pointers to lower levels. When there is no code string, the pointer storage area is NULL.

ところで、図15乃至図17で示した構造データを使用することによって、ある階層レベルに属する符号列を参照することは容易である。符号列に対応してそれの属する階層レベルを知ることが容易であり、かつ、階層毎に階層レベルによって体系化された形式で保存されているからである。   By the way, it is easy to refer to a code string belonging to a certain hierarchical level by using the structure data shown in FIGS. This is because it is easy to know the hierarchical level to which the code string belongs and is stored in a format organized by hierarchical level for each hierarchy.

例えば、最上位階層の階層レベルが1である符号データは、符号データに対応した同階層の階層レベルが1である符号列を探せばよいが、図15のテーブルタイプの構造データにおいては、連続的に並んでいるため参照は高速にできる。一方、図16の構造データにおいては、階層ノードの該当する階層の階層レベル番号が1である階層ノードから下位階層ノードへのポインタを辿っていくことで該符号列を参照できる。   For example, code data having a hierarchy level of 1 in the highest hierarchy may be searched for a code string having a hierarchy level of 1 corresponding to the code data. However, in the table type structure data of FIG. Since they are lined up, the reference can be made at high speed. On the other hand, in the structure data of FIG. 16, the code string can be referred to by following a pointer from a hierarchical node having a hierarchical level number of 1 corresponding to the hierarchical node to a lower hierarchical node.

ツリー構造の構造データにおいては、各階層ノードは、情報項目を持つが、図17では、下位階層の符号列の符号列の符号量の合計値を記録している。符号列を保存するときに、その符号列の属する階層レベルにあたる階層ノードの同項目の値(符号量の値)をカウントアップすることによって生成する。   In the structure data of the tree structure, each hierarchical node has an information item, but in FIG. 17, the total value of the code amount of the code string of the code string of the lower hierarchy is recorded. When the code string is stored, the code string is generated by counting up the value of the same item (code amount value) of the hierarchical node corresponding to the hierarchical level to which the code string belongs.

図18は、図17のキャッシュ構造の生成処理を示すフローチャートである。
キャッシュデータ構造生成処理は、まず、部分符号データの受信を待って、部分符号データを受信する(S11)。
FIG. 18 is a flowchart showing the cache structure generation process of FIG.
In the cache data structure generation process, first, after receiving the partial code data, the partial code data is received (S11).

次に、部分符号データに含まれる符号列の階層レベルを抽出し(S12)、キャッシュデータ管理テーブルへ符号列の最高階層レベル番号を書き込む(断片的な符号列(パケット)群より構造を把握)(S13)。   Next, the hierarchy level of the code string included in the partial code data is extracted (S12), and the highest hierarchy level number of the code string is written into the cache data management table (the structure is grasped from the fragmented code string (packet) group). (S13).

次に、キャッシュの更新処理を行う(S14〜S22)。
まず、キャッシュデータ管理テーブル上の各階層のレベル数を読み込み(S14)、前記レベル数をもつ階層ノードデータを作成する(S15)。ここで、階層ノードデータは、次の項目からなっている。
Next, cache update processing is performed (S14 to S22).
First, the number of levels of each hierarchy on the cache data management table is read (S14), and hierarchical node data having the number of levels is created (S15). Here, the hierarchical node data includes the following items.

(i)階層レベルNo、
(ii)下位階層の階層ノードデータへのポインタ、
(iii)下位階層データ有無フラグ、
(iv)下位階層の符号列の総符号量。
(I) Hierarchy level No.
(Ii) a pointer to hierarchical node data of a lower hierarchy,
(Iii) Lower layer data presence / absence flag,
(Iv) The total code amount of the lower-level code string.

そして、各階層ノードデータの(i)階層レベルNoを記載し(S16)、各階層ノードデータの(ii)下位階層の階層ノードデータへのポインタを記載して、この時最下位階層ノードデータの(ii)下位階層の階層ノードデータへのポインタの初期値はNULLとし、また、(iii)下位階層データ有無フラグは0とし、また、(iv)下位階層の符号列の総符号量は0とする(S17)。   Then, (i) the hierarchical level number of each hierarchical node data is described (S16), and (ii) a pointer to hierarchical node data of the lower hierarchical level of each hierarchical node data is described. (Ii) The initial value of the pointer to the hierarchy node data of the lower hierarchy is NULL, (iii) the lower hierarchy data presence / absence flag is 0, and (iv) the total code amount of the code string of the lower hierarchy is 0. (S17).

次に、保存対象とする符号列毎に順次S18〜S22の処理をする。
保存対象とする符号列を取得し(S18)、対象の符号列がなければ(S19/NO)、ステップS11へ戻る。
一方、(S18)、対象の符号列があれば(S19/YES)、符号列を保存し(S20)、階層ノードデータを上位階層から下位階層へと辿りながら、その符号列の各階層レベルで(i)階層レベルNoと一致する最下位の階層ノードデータを探し、該最下位の階層ノードデータの(ii)下位階層の階層ノードデータへのポインタ先を、符号列が保存されているアドレスとする(S21)。この時、上位階層の階層ノードデータから(ii)下位階層の階層ノードデータへのポインタ先を辿っていった時の階層レベルNoが、その符号の階層レベルであるようになっている。
Next, S18 to S22 are sequentially performed for each code string to be stored.
A code string to be stored is acquired (S18), and if there is no target code string (S19 / NO), the process returns to step S11.
On the other hand (S18), if there is a target code string (S19 / YES), the code string is saved (S20), and the hierarchical node data is traced from the upper hierarchy to the lower hierarchy, and at each hierarchical level of the code string. (I) Search for the lowest hierarchy node data that matches the hierarchy level No, and (ii) specify the pointer destination to the hierarchy node data of the lower hierarchy of the lowest hierarchy node data as the address where the code string is stored (S21). At this time, the hierarchical level No when the pointer destination from the hierarchical node data of the upper hierarchy to (ii) the hierarchical node data of the lower hierarchy is the hierarchical level of the code.

階層ノードデータを上位階層から下位階層へと辿りながら、該最下位の階層ノードデータの(ii)下位階層の階層ノードデータへのポインタを書き込む時に、辿られた階層ノードデータの(iii)下位階層データ有無フラグに1を加算し、(iv)下位階層の符号列の総符号量に該符号列の符号量を加え(S22)、ステップS18へ戻る。   (Iii) The lower hierarchy of the traced hierarchy node data when the pointer to the hierarchy node data of (ii) lower hierarchy of the lowest hierarchy node data is written while tracing the hierarchy node data from the upper hierarchy to the lower hierarchy. 1 is added to the data presence / absence flag, and (iv) the code amount of the code string is added to the total code amount of the lower-level code string (S22), and the process returns to step S18.

また、図19は、キャッシュ管理処理のフローチャートであり、図20は、キャッシュ更新要求処理のフローチャートである。
図19のクライアントのキャッシュ管理処理は、キャッシュ管理要求を解析し(S31)、この要求に応じて処理する(S32)。
FIG. 19 is a flowchart of cache management processing, and FIG. 20 is a flowchart of cache update request processing.
The client cache management process of FIG. 19 analyzes a cache management request (S31) and processes it in response to this request (S32).

キャッシュ更新処理要求の場合には、キャッシュ更新要求処理を行って(S33)、処理を終了する。   In the case of a cache update process request, a cache update request process is performed (S33), and the process ends.

キャッシュ構造変更処理要求の場合には、キャッシュ構造変更処理を行って(S34)、符号データの最上位階層レベルの使用頻度に基づき、最も使用頻度の多い階層レベルを算出し(S35)、必要に応じてキャッシュメモリあるいは外部記憶装置の構造データを変更する(符号データの最上位階層レベルの変更)(S36)。また、必要に応じて復号処理の許容プログレッションに対応するように構造データを変更して(S37)、処理を終了する。   In the case of the cache structure change process request, the cache structure change process is performed (S34), and the most frequently used hierarchy level is calculated based on the use frequency of the highest hierarchy level of the code data (S35). Accordingly, the structure data of the cache memory or the external storage device is changed (change of the highest hierarchical level of the code data) (S36). Further, the structure data is changed so as to correspond to the allowable progression of the decoding process as required (S37), and the process is terminated.

新規生成要求の場合には、キャッシュの新規生成処理を行って(S38)、管理データを新たに構築し(S39)、符号データを保存して(S40)、処理を終了する。
追加保存要求の場合には、追加保存要求処理を行って(S42)、構造データに基づいて追加符号データの保存位置を特定し(S43)、符号データを保存して(S44)、処理を終了する。
In the case of a new generation request, new cache generation processing is performed (S38), management data is newly constructed (S39), code data is stored (S40), and the processing is terminated.
In the case of an additional storage request, an additional storage request process is performed (S42), the storage position of the additional code data is specified based on the structure data (S43), the code data is stored (S44), and the process ends. To do.

参照要求の場合には、参照要求処理を行って(S45)、構造データに基づいて符号データの範囲にある符号データを参照して(S46)、処理を終了する。   In the case of a reference request, reference request processing is performed (S45), reference is made to code data within the range of code data based on the structure data (S46), and the process is terminated.

図20のキャッシュ更新要求処理は、部分符号データの受信を待って、部分符号データを受信する。(S51)。
部分符号データに含まれる符号列の階層レベルを抽出し(S52)、キャッシュデータ管理テーブルへの符号列の最高階層レベルを書き込み(断片的な符号列(パケット)群より構造を把握)(S53)、構造データテーブルの更新および符号データを書き込んで(S54)、ステップS51へ戻る。
In the cache update request process of FIG. 20, the partial code data is received after receiving the partial code data. (S51).
The hierarchy level of the code string included in the partial code data is extracted (S52), and the highest hierarchy level of the code string is written to the cache data management table (the structure is grasped from the fragment code string (packet) group) (S53). Then, update the structure data table and write the code data (S54), and return to step S51.

図21は、入れ替え単位選択システム構成図であり、階層符号データ記録管理に使用するスタンドアローンタイプである。
記録管理装置201には、符号データ解析部1010、管理テーブル構造テーブル生成処理部1011、管理テーブル構造テーブル変更処理部1012、管理テーブル構造テーブル参照処理部1013、符号データ保存処理部1014、及び、データ入れ替え必要性判別部1015、入れ替え単位設定部1016、入れ替え制御部1017を備えている。
FIG. 21 is a block diagram of a replacement unit selection system, which is a stand-alone type used for hierarchical code data recording management.
The recording management apparatus 201 includes a code data analysis unit 1010, a management table structure table generation processing unit 1011, a management table structure table change processing unit 1012, a management table structure table reference processing unit 1013, a code data storage processing unit 1014, and data A replacement necessity determination unit 1015, a replacement unit setting unit 1016, and a replacement control unit 1017 are provided.

符号データ解析部1010では、符号データを解析し、構造を推定するために必要な各符号列の情報(階層数と各階層ごとのその符号列の属するレベル)を抽出する。
管理テーブル構造テーブル生成処理部1011では、各符号列の情報(部分符号データに含まれる符号列の階層レベル)を使用して管理テーブルと構造テーブルを生成する。このとき、符号列は、符号データ保存処理部1014で保存処理する。管理テーブルと構造テーブルを変更したり(管理テーブル構造テーブル変更処理部1012)、あるいは、参照したり(管理テーブル構造テーブル参照処理部1013)する機能も具備している。
The code data analysis unit 1010 analyzes the code data and extracts information on each code string (the number of layers and the level to which the code string belongs for each layer) necessary for estimating the structure.
The management table structure table generation processing unit 1011 generates a management table and a structure table using information of each code string (hierarchy level of code string included in partial code data). At this time, the code string is stored in the code data storage processing unit 1014. It also has a function of changing the management table and the structure table (management table structure table change processing unit 1012) or referencing (management table structure table reference processing unit 1013).

キャッシュデータオーバーフロー時のデータ入れ替え処理(図14)で説明したように、本発明のデータの入れ替え処理は、データ入れ替え必要性判別、データ入れ替え単位の決定および階層レベル毎に保存データ入れ替え処理よりなっている。
データ入れ替え必要性判別部1015では、「データ入れ替え必要性判別」を、入れ替え単位設定部1016では「データ入れ替え単位の決定」を、入れ替え制御部1017では「階層レベル毎に保存データ入れ替え処理」を実行する。
As described in the data exchange process at the time of cache data overflow (FIG. 14), the data exchange process of the present invention comprises the data exchange necessity determination, the determination of the data exchange unit, and the stored data exchange process for each hierarchical level. Yes.
The data replacement necessity determination unit 1015 executes “data replacement necessity determination”, the replacement unit setting unit 1016 executes “determination of data replacement unit”, and the replacement control unit 1017 executes “stored data replacement processing for each hierarchical level”. To do.

図22は、入れ替え単位選択システムの他の構成図であり、クライアントサーバ・キャッシュシステムである。
キャッシュ管理部108には、図21と同様に、符号データ解析部1010、管理テーブル構造テーブル生成処理部1011、管理テーブル構造テーブル変更処理部1012、管理テーブル構造テーブル参照処理部1013、符号データ保存処理部1014、及び、データ入れ替え必要性判別部1015、入れ替え単位設定部1016、入れ替え制御部1017を備えている。
FIG. 22 is another configuration diagram of the replacement unit selection system, which is a client server cache system.
As in FIG. 21, the cache management unit 108 includes a code data analysis unit 1010, a management table structure table generation processing unit 1011, a management table structure table change processing unit 1012, a management table structure table reference processing unit 1013, and a code data storage process. A unit 1014, a data replacement necessity determination unit 1015, a replacement unit setting unit 1016, and a replacement control unit 1017.

(6)入れ替え単位学習機能:
先に示した構造テーブルは、入れ替え単位の柔軟な調整機能をもつ。
図23は、キャッシュ上の符号データのプログレッションオーダの変更方法を説明するための概念図である。構造テーブルとしては、図15で説明したテーブルタイプのものを示すが、図16で示したツリータイプのものであっても同様である。互いに相互変換可能であるからである。構造テーブルの入れ替えとしては、階層レベルNoの記載された行の値によって列単位の順番を入れ替えることで実現する。即ち、最上位の階層の階層レベル順に列単位のデータを並び替え、続いて、次の階層の階層レベル順を上位階層のレベル順が損なわないように並び替え、続いて、同様な並び替えを下階層の階層レベルまで繰り返して処理する。
(6) Replacement unit learning function:
The structure table shown above has a flexible adjustment function for each replacement unit.
FIG. 23 is a conceptual diagram for explaining a method of changing the progression order of code data on the cache. As the structure table, the table type described in FIG. 15 is shown, but the structure table is the same as that of the tree type shown in FIG. This is because mutual conversion is possible. The replacement of the structure table is realized by changing the order of the column unit according to the value of the row in which the hierarchy level No is described. That is, the data in column units is rearranged in the order of the hierarchy level of the highest hierarchy, the hierarchy level order of the next hierarchy is rearranged so that the level order of the upper hierarchy is not impaired, and the similar rearrangement is performed. Iterates to the lower hierarchy level.

したがって、これらの構造データを使用することにより入れ替え単位を符号データの階層に基づいて選択制御することができる。
このように、キャッシュデータの入れ替え単位が階層レベル単位であることで、使用状況に合わせたデータの入れ替えができる。階層とは、階層符号データの分割単位である、解像度とか領域とか画質である。また、階層のレベルとは、階層符号データの各階層ごとの分割単位であり、例えば、解像度1、解像度2、・・である。
Therefore, by using these structural data, the replacement unit can be selected and controlled based on the hierarchy of the code data.
Thus, the replacement unit of cache data is a hierarchical level unit, so that the data can be replaced in accordance with the usage status. A hierarchy is a resolution, a region, or an image quality, which is a division unit of hierarchical code data. Further, the level of the hierarchy is a division unit for each hierarchy of the hierarchical code data, and is, for example, resolution 1, resolution 2,.

図24は、プログレッションとアクセス単位の関係を説明するための図である。符号データの構成を示し、斜線ブロックが削除対象を示す。例1では、L3の構造レベルの符号データを削除する。再生画像は画質レベルの調整が加えられ、画質レベルが最上位階層である可能性が大である。
一方、例2では、符号データは領域単位で削除され、領域レベルが最上位階層である可能性が大であると推定する。係る観点により、階層符号データのプログレッション順(階層単位での並び順)は、該符号データで該階層の階層レベル単位で削除される可能性の高さを示すものと推定することができる。
FIG. 24 is a diagram for explaining the relationship between progression and access units. The structure of the code data is shown, and the hatched block indicates the deletion target. In Example 1, the code data at the structure level of L3 is deleted. There is a high possibility that the image quality level of the reproduced image is adjusted and the image quality level is the highest hierarchy.
On the other hand, in Example 2, the code data is deleted in units of regions, and it is estimated that there is a high possibility that the region level is the highest hierarchy. From this point of view, it can be estimated that the progression order of hierarchical code data (arrangement order in units of hierarchies) indicates a high possibility that the code data is deleted in units of hierarchical levels of the hierarchies.

本発明では、このような思想に基づいて、図25に示すようなプログレッションを学習するためのテーブルを用いて使用状況の集計をする。図22の構成例では、サーバ側の、データ構造別使用頻度算出部109で集計し、クライアント側へ結果を知らせる。   In the present invention, based on such a concept, the usage status is tabulated using a table for learning the progression as shown in FIG. In the configuration example of FIG. 22, the server-side usage frequency calculation unit 109 compiles data and notifies the client side of the results.

図26は、典型的な使用状況を記録する処理のフローチャートである。
保存データ入替え処理は、サーバにて、ロスレス符号データの構造を記録し(S61)、生成符号データのプログレッション順を算出し(S62)、使用状況(プログレッション順の使用頻度)を記録し(S63)、使用状況記録をクライアントへ転送する(S64)。
クライアントでは、サーバから転送された保存データの入替え処理を行う(S65)。
FIG. 26 is a flowchart of a process for recording a typical use situation.
In the stored data replacement processing, the server records the structure of the lossless code data (S61), calculates the progression order of the generated code data (S62), and records the usage status (frequency of use in the progression order) (S63). Then, the usage record is transferred to the client (S64).
The client performs a process for replacing the stored data transferred from the server (S65).

ところで、図25で示す階層毎の階層レベルの組み合わせパターンは、図18の符号データの構造把握の処理にあるように、符号列から階層レベル数を推定することができる。   By the way, the combination pattern of the hierarchy level for each hierarchy shown in FIG. 25 can estimate the number of hierarchy levels from the code string as in the process of grasping the structure of the code data in FIG.

図27に同様な、符号データのプログレッション順(階層単位での並び順)に基づいて入替え単位を決定する実現概念図を示す。この例では、階層は、解像度レベル、領域レベル、画質レベルで区分されており、プログレッション順の使用頻度によって最上位階層が解像度であった回数が2回、領域であったのが8回、画質であったのが3回であることから、大きい順番に符号データ入れ替え要求が多いものとして、構造データテーブルを構成し、最上位階層の単位で符号データを入れ替える。まとまって使用される可能性の高い単位でキャッシュ上のデータを入れ替えることでキャッシュのヒット率を改善することができる。   FIG. 27 is a conceptual diagram of realization in which the replacement unit is determined based on the progression order of the code data (arrangement order in hierarchical units) similar to FIG. In this example, the hierarchy is divided into a resolution level, an area level, and an image quality level. Depending on the frequency of use in the order of progression, the number of times that the highest hierarchy is resolution is 2 times, and the area is 8 times. Since this is three times, it is assumed that there are many code data replacement requests in descending order, and the structure data table is configured to replace the code data in units of the highest hierarchy. The cache hit rate can be improved by replacing the data on the cache in units that are likely to be used together.

(7)データ符号量に基づいて入れ替え制御:
図17は、先に説明したように、図18を使用して生成したデータ符号量の制御に係るデータ構造例である。図17の構造テーブルを使用することにより、符号量に基づくキャッシュ上の符号列を入れ替え制御することができる。
(7) Replacement control based on the data code amount:
FIG. 17 is an example of a data structure related to control of the data code amount generated using FIG. 18 as described above. By using the structure table of FIG. 17, it is possible to control the replacement of code strings on the cache based on the code amount.

図28は、データ符号量に基づく入れ替え制御処理のフローチャートである。データ符号量に基づいて階層を選択し符号データ(符号列)を入れ替え制御する。   FIG. 28 is a flowchart of the exchange control process based on the data code amount. A hierarchy is selected based on the data code amount, and code data (code string) is exchanged and controlled.

クライアントのデータ符号量に基づく入替え処理は、データ入れ替え必要性を判別し(S71)、データ入れ替え単位を決定する(S72)。
次に、階層レベル毎に保存データ入れ替え処理を行う(S73〜S84)。
まず、残符号量が充分(残符号量≧必要符号量)ならば(S73/NO)終了する。
一方、不足(残符号量<必要符号量)ならば(S73/YES)、削除階層を(S72)で決定した階層として、入れ替えする階層レベルを決定する(S74〜S83)。
In the replacement process based on the data code amount of the client, the necessity of data replacement is determined (S71), and the data replacement unit is determined (S72).
Next, stored data replacement processing is performed for each hierarchical level (S73 to S84).
First, if the remaining code amount is sufficient (remaining code amount ≧ required code amount) (S73 / NO), the process ends.
On the other hand, if it is insufficient (remaining code amount <required code amount) (S73 / YES), the deletion layer is determined as the layer determined in (S72), and the layer level to be replaced is determined (S74 to S83).

まず、積算符号量=0とし(S74)、削除階層の階層レベルにある、最上位階層の階層レベル毎の符号量Aを抽出し(S75)、「積算符号量=積算符号量+符号量A」を計算する(S76)。   First, the accumulated code amount is set to 0 (S74), and the code amount A for each layer level of the highest layer in the hierarchy level of the deleted layer is extracted (S75), and “integrated code amount = integrated code amount + code amount A” is extracted. Is calculated (S76).

ここで、必要符号量>積算符号量であれば(S77/YES)、該階層レベルを削除対象とし(S78)、階層レベル全て完了しており(S79/YES)、全階層終了であれば(S80/終了)、該符号データの符号列を全て削除対象に設定し(S82)、階層レベル単位で階層符号データの一部または全部削除して(S84)、終了する。   Here, if the necessary code amount> the accumulated code amount (S77 / YES), the hierarchical level is set as a deletion target (S78), all the hierarchical levels are completed (S79 / YES), and if all the hierarchical levels are finished ( (S80 / End), all code strings of the code data are set as deletion targets (S82), part or all of the hierarchical code data is deleted in units of hierarchical levels (S84), and the process ends.

一方、全階層未了であれば(S80/未了)、削除階層を上位階層として(S81)、ステップS74へ戻る。
また、階層レベル未了であれば(S79/NO)、次の階層レベルを設定し(S83)、ステップS75へ戻る。
On the other hand, if all hierarchies have not been completed (S80 / incomplete), the deletion hierarchy is set as the upper hierarchy (S81), and the process returns to step S74.
If the hierarchy level is not completed (S79 / NO), the next hierarchy level is set (S83), and the process returns to step S75.

また、必要符号量≦積算符号量であれば(S77/NO)、階層レベル単位で階層符号データの一部または全部削除して(S84)、終了する。   If necessary code amount ≦ integrated code amount (S77 / NO), part or all of the hierarchical code data is deleted in units of hierarchical levels (S84), and the process is terminated.

これにより、データ符号量に基づいて、階層符号データの階層レベル単位で符号データを入れ替える手段を提供する。   This provides means for replacing the code data in units of hierarchical levels of the hierarchical code data based on the data code amount.

(8)欠落符号列を考慮したキャッシュ入替え:
また、欠けている符号列を含むグループを優先的に入れ替えることもできる。
クライアントの欠落符号列の判別処理は、次のような手順で処理する。
キャッシュデータ管理テーブル上の各階層のレベル数を読み込み、指定の階層レベルSの階層ノードデータを上位階層から下位階層へと辿りながら、M番目の階層の階層ノードデータの(iii)下位階層データ有無フラグの値Pについて次の判断処理を行う。
(8) Cache replacement considering missing code string:
It is also possible to preferentially replace a group including a missing code string.
The client missing code string discrimination process is performed in the following procedure.
Read the number of levels of each hierarchy on the cache data management table and trace the hierarchy node data of the specified hierarchy level S from the upper hierarchy to the lower hierarchy, and (iii) presence of lower hierarchy data of the hierarchy node data of the Mth hierarchy The following determination process is performed for the flag value P.

P<D(1)×D(2)…×D(M−1)である場合、指定の階層レベルSを構成する符号列には欠落符号列を含んでおり、欠落符号列の数はD(1)×D(2)…×D(M−1)−1とする。ここで、Nをキャッシュデータ管理テーブル上の階層数、m=1〜Nとし、下からm番目の階層でD(m)個のレベル数とする。
また、P>D(1)×D(2)…×D(M−1)である場合、指定の階層レベルSを構成する符号列には欠落符号列を含んでいない。欠落符号列の数は0とする。
In the case of P <D (1) × D (2)... × D (M−1), the code string constituting the specified hierarchical level S includes a missing code string, and the number of missing code strings is D (1) × D (2)... × D (M−1) −1. Here, N is the number of hierarchies on the cache data management table, m = 1 to N, and D (m) levels in the mth hierarchy from the bottom.
Further, in the case of P> D (1) × D (2)... × D (M−1), the code string constituting the designated hierarchical level S does not include a missing code string. The number of missing code strings is 0.

図29は、上記欠落符号列の判別結果を用いて、欠落符号列を考慮したキャッシュ入れ替え制御する処理のフローチャートである。
クライアントのデータ符号量に基づく入れ替え処理は、データ入れ替え必要性を判別し(S91)、データ入れ替え単位を決定する(S92)。
次に、階層レベル毎に保存データ入れ替え処理を行う(S93〜S105)。
まず、残符号量が充分(残符号量≧必要符号量)ならば(S93/NO)終了する。
一方、不足(残符号量<必要符号量)ならば(S93/YES)、削除階層を(S92)で決定した階層として、入れ替えする階層レベルを決定する(S94〜S104)。
以下、該削除候補の階層について欠落符号列の数を算出し、欠落符号列の数の多い順に階層レベルを選択する(S94)。
積算符号量=0とし(S95)、削除階層の階層レベルにある、最上位階層の階層レベル毎の符号量Aを抽出し(S96)、「積算符号量=積算符号量+符号量A」を計算する(S97)。
FIG. 29 is a flowchart of a process for performing cache replacement control in consideration of a missing code string using the determination result of the missing code string.
In the replacement process based on the data code amount of the client, the necessity for data replacement is determined (S91), and the data replacement unit is determined (S92).
Next, stored data replacement processing is performed for each hierarchical level (S93 to S105).
First, if the remaining code amount is sufficient (remaining code amount ≧ required code amount) (S93 / NO), the process ends.
On the other hand, if it is insufficient (remaining code amount <required code amount) (S93 / YES), the deletion hierarchy is determined as the hierarchy determined in (S92), and the hierarchy level to be replaced is determined (S94 to S104).
Thereafter, the number of missing code strings is calculated for the deletion candidate hierarchy, and the hierarchy level is selected in descending order of the number of missing code strings (S94).
The accumulated code amount is set to 0 (S95), and the code amount A for each hierarchical level of the highest layer in the hierarchy level of the deleted layer is extracted (S96), and “integrated code amount = integrated code amount + code amount A” is set. Calculate (S97).

ここで、必要符号量>積算符号量であれば(S98/YES)、該階層レベルを削除対象とし(S99)、階層レベル全て完了しており(S100/YES)、全階層終了であれば(S101/終了)、該符号データの符号列を全て削除対象に設定し(S103)、階層レベル単位で階層符号データの一部または全部削除して(S105)、終了する。   Here, if the necessary code amount is greater than the accumulated code amount (S98 / YES), the hierarchical level is targeted for deletion (S99), all the hierarchical levels have been completed (S100 / YES), and if all the hierarchical levels have been completed ( (S101 / End), all code strings of the code data are set as deletion targets (S103), a part or all of the hierarchical code data is deleted in units of hierarchical levels (S105), and the process ends.

一方、全階層未了であれば(S101/未了)、削除階層を上位階層として(S102)、ステップS95へ戻る。
また、階層レベル未了であれば(S100/NO)、次の階層レベルを設定し(S104)、ステップS96へ戻る。
また、必要符号量≦積算符号量であれば(S98/NO)、階層レベル単位で階層符号データの一部または全部削除して(S105)、終了する。
On the other hand, if all hierarchies have not been completed (S101 / incomplete), the deletion hierarchy is set as the upper hierarchy (S102), and the process returns to step S95.
If the hierarchy level is not completed (S100 / NO), the next hierarchy level is set (S104), and the process returns to step S96.
If necessary code amount ≦ integrated code amount (S98 / NO), part or all of the hierarchical code data is deleted in units of hierarchical levels (S105), and the process ends.

このように、使用される単位の符号データの符号列が全て揃っていない場合には、使用価値が低いので、優先的に入れ替える手段を提供できる。   As described above, when all the code strings of the code data of the units to be used are not prepared, the use value is low, so that means for preferential replacement can be provided.

階層符号化圧縮伸長アルゴリズムの基本の説明図である。It is basic explanatory drawing of a hierarchical coding compression / decompression algorithm. デコンポジション・レベルとサブバンドの説明図である。It is explanatory drawing of a decomposition level and a subband. タイル分割の基本の説明図である。It is a basic explanatory view of tile division. プレシンクトとコードブロックの説明図である。It is explanatory drawing of a precinct and a code block. コードストリームの構造の説明図である。It is explanatory drawing of the structure of a code stream. プレシンクト・データビンとメッセージとの関係を示す説明図である。It is explanatory drawing which shows the relationship between a precinct data bin and a message. プレシンクト・データビンの例である。It is an example of a precinct data bin. キャッシュを持ったクライアントサーバモデルの構成図である。It is a block diagram of a client-server model with a cache. クライアントサーバネットワークモデルの構成図である。It is a block diagram of a client server network model. 出力表示例である。It is an example of an output display. JPEG2000のコードストリームのフォーマットである。This is a JPEG2000 code stream format. JPEG2000のコードストリームの例である。It is an example of a code stream of JPEG2000. 本発明のキャッシュのオーバーフロー時のデータ(符号列)の入れ替え処理の概念図である。It is a conceptual diagram of the replacement | exchange process of the data (code sequence) at the time of the overflow of the cache of this invention. キャッシュデータオーバーフロー時のデータ入れ替え処理を示すフローチャートである。It is a flowchart which shows the data replacement process at the time of cache data overflow. キャッシュデータ(符号列構造)管理のためのデータ構造の基本構成図である。It is a basic composition figure of the data structure for cache data (code sequence structure) management. 保存データの構造化に係る概念図である。It is a conceptual diagram concerning structuring of stored data. データ符号量の制御に係るデータ構造例である。It is an example of a data structure which concerns on control of the amount of data codes. 図17のキャッシュ構造の生成処理を示すフローチャートである。It is a flowchart which shows the production | generation process of the cache structure of FIG. キャッシュ管理処理のフローチャートである。It is a flowchart of a cache management process. キャッシュ更新要求処理のフローチャートである。It is a flowchart of a cache update request process. 入れ替え単位選択システムの構成図である。It is a block diagram of a replacement unit selection system. 入れ替え単位選択システムの他の構成図である。It is another block diagram of the replacement unit selection system. キャッシュ上の符号データのプログレッションオーダの変更方法を説明するための概念図である。It is a conceptual diagram for demonstrating the change method of the progression order of the code data on a cache. プログレッションとアクセス単位の関係の説明図である。It is explanatory drawing of the relationship between a progression and an access unit. 保存符号データのプログレッション設定例である。It is an example of a progressive setting of preservation code data. 典型的な使用状況を記録する処理のフローチャートである。It is a flowchart of the process which records a typical use condition. 入れ替え単位の決定の説明図である(まとまって使用される単位でデータ照合)。It is explanatory drawing of the determination of a replacement unit (data collation by the unit used collectively). データ符号量に基づく入れ替え制御処理のフローチャートである。It is a flowchart of the exchange control processing based on the data code amount. 欠落符号列の判別結果を用いて、欠落符号列を考慮したキャッシュ入替え制御する処理のフローチャートである。It is a flowchart of the process which performs the cache replacement | exchange control which considered the missing code sequence using the discrimination | determination result of a missing code sequence.

符号の説明Explanation of symbols

101,211,212,240,311,312…クライアント、102,203…サーバ、103,203…キャッシュ、104…J2K復号器、105…出力画像、106…キャッシュモデル、107…J2Kファイル、108…キャッシュ管理部、109,10160…データ構造別使用頻度算出部、110…要求、113…応答、112,202…記憶装置、210,310…LAN、250…大規模ネットワーク、1010…符号データ解析部、1011…管理テーブル構造テーブル生成処理部、1012…管理テーブル構造テーブル変更処理部、1013…管理テーブル構造テーブル参照処理部、1014…符号データ保存処理部、1015…データ入れ替え必要性判別部、1016…入れ替え単位設定部、1017…入れ替え制御部、201…記録管理装置。 101, 211, 212, 240, 311, 312 ... client, 102, 203 ... server, 103, 203 ... cache, 104 ... J2K decoder, 105 ... output image, 106 ... cache model, 107 ... J2K file, 108 ... cache Management unit 109, 10160 ... Data structure usage frequency calculation unit, 110 ... Request, 113 ... Response, 112, 202 ... Storage device, 210, 310 ... LAN, 250 ... Large-scale network, 1010 ... Code data analysis unit, 1011 ... management table structure table generation processing unit, 1012 ... management table structure table change processing unit, 1013 ... management table structure table reference processing unit, 1014 ... code data storage processing unit, 1015 ... data exchange necessity determination unit, 1016 ... replacement unit Setting part, 1017 ... replacement Control unit, 201 ... recording management apparatus.

Claims (11)

画像処理装置(クライアント)の階層符号データの部分符号データの転送要求に基づいて、画像処理装置(サーバ)の記憶装置に保存された階層符号データの部分符号データを受信する機能を有する画像処理装置(クライアント)であって、受信した前記符号データの一部または全部を記憶装置乃至記憶装置(キャッシュメモリ)に保存し再利用する機能を有し、前記記憶装置(キャッシュメモリ)に保存された符号データの保存容量がオーバーフローを起こした場合において、構造化要素単位で前記記憶装置乃至記憶装置(キャッシュメモリ)に保存される符号データの一部または全部を入れ替える場合にあって、入れ替え単位が階層符号データの指定した階層の指定したレベルに含まれる符号列(パケット)単位であることを特徴とする画像処理システム。   Image processing apparatus having function of receiving partial code data of hierarchical code data stored in storage device of image processing apparatus (server) based on transfer request of partial code data of hierarchical code data of image processing apparatus (client) A code stored in the storage device (cache memory) and having a function of storing and reusing part or all of the received code data in a storage device or storage device (cache memory) When the data storage capacity overflows, when replacing part or all of the code data stored in the storage device or storage device (cache memory) in the structured element unit, the replacement unit is a hierarchical code. It is a code string (packet) unit included in a specified level of a specified hierarchy of data Image processing system. 請求項1に記載の画像処理システムにおいて、前記入れ替え単位が、階層符号データが使用される場合の符号データの階層毎の使用頻度に基づいて指定されることを特徴とする画像処理システム。   The image processing system according to claim 1, wherein the replacement unit is specified based on a use frequency for each layer of code data when layer code data is used. 請求項2に記載の画像処理システムにおいて、前記符号データの階層毎の使用頻度が、該階層符号データが使用される場合の符号データのプログレッション順の使用頻度に基づいて推定されることを特徴とする画像処理システム。   3. The image processing system according to claim 2, wherein the frequency of use of the code data for each layer is estimated based on the frequency of use of the code data in the order of progression when the layer code data is used. Image processing system. 請求項1に記載の画像処理システムにおいて、前記入れ替え単位である部分符号データの階層が、該階層符号データの構成が使用される場合の符号データのプログレッション順の使用頻度に基づいて変換されることを特徴とする画像処理システム。   2. The image processing system according to claim 1, wherein a layer of the partial code data that is the replacement unit is converted based on a use frequency of a code data in a progression order when the structure of the hierarchical code data is used. An image processing system. 請求項2または3に記載の画像処理システムにおいて、前記入れ替えにおいて、保存されていない符号列を含む階層レベルの符号列を優先して入れ替えることを特徴とする画像処理システム。   4. The image processing system according to claim 2, wherein in the replacement, a hierarchical level code string including a code string that is not stored is preferentially replaced. 5. 請求項1乃至5のいずれかに記載の画像処理システムにおいて、データ符号量を階層レベル毎に算出するデータ符号量算出手段を有し、前記算出されたデータ符号量に基づいて、請求項1に記載の階層符号データの階層レベル単位で符号データを入れ替える手段を有することを特徴とする画像処理システム。   6. The image processing system according to claim 1, further comprising: a data code amount calculating unit that calculates a data code amount for each hierarchical level, and based on the calculated data code amount. An image processing system comprising means for replacing code data in units of hierarchical levels of the described hierarchical code data. 請求項1乃至6のいずれかに記載の画像処理システムにおいて、前記階層符号データがJPEG2000(ISO/IEC 15444−1)規格に基づき符号化されたデータであることを特徴とする画像処理システム。   7. The image processing system according to claim 1, wherein the hierarchical code data is data encoded based on JPEG2000 (ISO / IEC 15444-1) standard. 請求項1乃至7のいずれかに記載の画像処理システムにおいて、前記階層符号データがJPIP(JPEG2000 image coding system−Part9:Interactivity tools, APIs and protocols)規格に基づき、サーバの記憶装置に保存された符号化画像データの一部である部分符号データをクライアントが受信する部分符号データアクセス機能を有することを特徴とする画像処理システム。   8. The image processing system according to claim 1, wherein the hierarchical code data is a code stored in a storage device of a server based on a JPIP (JPEG2000 image coding system-Part9: Interactivity tools, APIs and protocols) standard. An image processing system having a partial code data access function for a client to receive partial code data that is part of the converted image data. 画像処理装置(クライアント)の階層符号データの部分符号データの転送要求に基づいて、画像処理装置(サーバ)の記憶装置に保存された階層符号データの部分符号データを受信する画像処理装置(クライアント)の画像処理方法であって、受信した前記符号データの一部または全部を記憶装置乃至記憶装置(キャッシュメモリ)に保存し再利用するときに、前記記憶装置(キャッシュメモリ)に保存された符号データの保存容量がオーバーフローを起こした際に、構造化要素単位で前記記憶装置乃至記憶装置(キャッシュメモリ)に保存される符号データの一部または全部を入れ替える場合にあって、入れ替え単位が階層符号データの指定した階層の指定したレベルに含まれる符号列(パケット)単位であることを特徴とする画像処理方法。   Image processing apparatus (client) that receives partial code data of hierarchical code data stored in a storage device of an image processing apparatus (server) based on a transfer request of partial code data of hierarchical code data of the image processing apparatus (client) The code data stored in the storage device (cache memory) when part or all of the received code data is stored in a storage device or storage device (cache memory) and reused. When a part of or all of the code data stored in the storage device or the storage device (cache memory) is replaced in a structured element unit when the storage capacity of the storage unit overflows, the replacement unit is hierarchical code data An image processing method characterized in that it is a code string (packet) unit included in a specified level of a specified hierarchy of . コンピュータに、請求項1乃至8のいずれかに記載の画像処理システムの機能を実現させるためのプログラム。   A program for causing a computer to realize the functions of the image processing system according to any one of claims 1 to 8. コンピュータが読み取り可能な記録媒体であって、請求項10に記載のプログラムを記録したことを特徴とする記録媒体。   A computer-readable recording medium on which the program according to claim 10 is recorded.
JP2005237352A 2005-08-18 2005-08-18 Image processing system, image processing method, program, and recording medium Expired - Fee Related JP4773770B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005237352A JP4773770B2 (en) 2005-08-18 2005-08-18 Image processing system, image processing method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005237352A JP4773770B2 (en) 2005-08-18 2005-08-18 Image processing system, image processing method, program, and recording medium

Publications (2)

Publication Number Publication Date
JP2007053593A true JP2007053593A (en) 2007-03-01
JP4773770B2 JP4773770B2 (en) 2011-09-14

Family

ID=37917734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005237352A Expired - Fee Related JP4773770B2 (en) 2005-08-18 2005-08-18 Image processing system, image processing method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP4773770B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211411A (en) * 2008-03-04 2009-09-17 Ricoh Co Ltd Cache device
WO2011010688A1 (en) * 2009-07-22 2011-01-27 日本電気株式会社 Content delivery system, content delivery method and content delivery programme
KR20160107802A (en) * 2015-03-05 2016-09-19 삼성전자주식회사 Mobile Device and Method for Data Managing of Mobile Device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000209258A (en) * 1999-01-13 2000-07-28 Mitsubishi Electric Corp Time series data storage distribution system
JP2003298847A (en) * 2002-01-31 2003-10-17 Canon Inc Image processing method
JP2005012685A (en) * 2003-06-20 2005-01-13 Canon Inc Image processing method and image processing apparatus
JP2005094054A (en) * 2003-09-11 2005-04-07 Hiroshima Univ Image coding apparatus, method and program thereof, stream synthesizer, and method and program thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000209258A (en) * 1999-01-13 2000-07-28 Mitsubishi Electric Corp Time series data storage distribution system
JP2003298847A (en) * 2002-01-31 2003-10-17 Canon Inc Image processing method
JP2005012685A (en) * 2003-06-20 2005-01-13 Canon Inc Image processing method and image processing apparatus
JP2005094054A (en) * 2003-09-11 2005-04-07 Hiroshima Univ Image coding apparatus, method and program thereof, stream synthesizer, and method and program thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211411A (en) * 2008-03-04 2009-09-17 Ricoh Co Ltd Cache device
WO2011010688A1 (en) * 2009-07-22 2011-01-27 日本電気株式会社 Content delivery system, content delivery method and content delivery programme
JP5408257B2 (en) * 2009-07-22 2014-02-05 日本電気株式会社 Content distribution system, content distribution method, and content distribution program
US9402058B2 (en) 2009-07-22 2016-07-26 Nec Corporation Content delivery system, content delivery method and content delivery program
KR20160107802A (en) * 2015-03-05 2016-09-19 삼성전자주식회사 Mobile Device and Method for Data Managing of Mobile Device
KR102314138B1 (en) 2015-03-05 2021-10-18 삼성전자 주식회사 Mobile Device and Method for Data Managing of Mobile Device

Also Published As

Publication number Publication date
JP4773770B2 (en) 2011-09-14

Similar Documents

Publication Publication Date Title
JP4716949B2 (en) Image processing apparatus and image processing method
JP4377103B2 (en) Image processing for JPEG2000 in a server client environment
JP4709493B2 (en) Method and product for communicating compressed digital images
US7571382B2 (en) Partial retrieval of images in the compressed domain
JP4898513B2 (en) Client / server system
JP2004274758A (en) Method and apparatus for converting jpp-stream into jpeg-2000 code stream
JP2004274759A (en) Communication method and device for compressed digital image with limited access and server/client transfer
JP4349816B2 (en) Image processing apparatus, image compression apparatus, image processing method, image compression method, program, and recording medium
JP5515758B2 (en) Image processing apparatus and method
JP4151963B2 (en) Image server device, client device, moving image distribution method, program, and information recording medium
JP4773770B2 (en) Image processing system, image processing method, program, and recording medium
JP2007318711A (en) Code conversion apparatus, code conversion method, program, and recording medium
US20060218295A1 (en) Image processing system, image processing method and computer readable information recording medium
JP4789192B2 (en) Code processing apparatus, program, and information recording medium
JP2005123856A (en) System and method for processing picture, program and information recording medium
JP4609918B2 (en) Image processing system, image processing method, program, and information recording medium
JP5053528B2 (en) Image processing apparatus, image processing system, image processing method, program, and recording medium
JP4073333B2 (en) Image compression apparatus and image compression method
JP3914197B2 (en) Information processing apparatus, information processing method, program, and computer-readable recording medium
JP4812071B2 (en) Image processing apparatus, image processing method, program, and information recording medium
JP4059399B2 (en) Image processing apparatus, image processing system, image output control method, program, and recording medium
JP2008147893A (en) Client/server system and remote operation system
JP4743613B2 (en) Code generation device, file generation device, code processing device, program, information recording medium
JP4629424B2 (en) Image distribution system, server device, client device, cache control method, program, and information recording medium
JP2004254035A (en) Device and method for recording photographic list information, device and method for inputting image, program and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080707

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090210

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110602

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110621

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110624

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees