JP2006319482A - Image processor and its control method, computer program, and computer-readable storage medium - Google Patents

Image processor and its control method, computer program, and computer-readable storage medium Download PDF

Info

Publication number
JP2006319482A
JP2006319482A JP2005137892A JP2005137892A JP2006319482A JP 2006319482 A JP2006319482 A JP 2006319482A JP 2005137892 A JP2005137892 A JP 2005137892A JP 2005137892 A JP2005137892 A JP 2005137892A JP 2006319482 A JP2006319482 A JP 2006319482A
Authority
JP
Japan
Prior art keywords
data
file
image
encoded
processing
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.)
Pending
Application number
JP2005137892A
Other languages
Japanese (ja)
Other versions
JP2006319482A5 (en
Inventor
Miyuki Enokida
幸 榎田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005137892A priority Critical patent/JP2006319482A/en
Publication of JP2006319482A publication Critical patent/JP2006319482A/en
Publication of JP2006319482A5 publication Critical patent/JP2006319482A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To obtain a high response, when the processing handles a large number of data by making a coded image data file, in which the coded data regarding the resolution or/and image quality has a layered structure, into a data structure that is specialized in the processing where the coded data up to a prescribed layer position is made as a decoding target. <P>SOLUTION: The image processor sets in the decoding processing when displaying a list of thumbnail images of the image data file of the JPEG 2000, so that a user decodes the coded data up to a layer 3 and will not decode the coded data above a layer 4. After executing the setting, when the coded data file of the JPEG 2000 is inputted which is coded with the condition of the Number of Decompression levels=5, the Number of layers=4, Lossless mode, and Progression order=RLCP; code string 600 in which the coded data of only a layer 1 or 3 are arranged, and the coded data regarding the layer 4 are respectively stored in a different BOX, the decoding order including the layer 4 is described in a Fragment table, and then they are stored as a single file. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、階層構造を持った符号化画像データを処理する技術に関するものである。   The present invention relates to a technique for processing encoded image data having a hierarchical structure.

近年、パーソナルコンピュータ(以下、PC)に代表されるコンピュータの表示装置として用いられているディスプレイも技術の進化と共に、その解像度が向上している。例えば従来であれば、VGA(640×480画素)、SVGA(800×600画素)程度であった解像度が、現在ではノートPCでさえ、XGA(1024×768画素)以上になり、ディスクトップPCにいたっては、SXGA(1280×1024画素), UXGA(1600×1200画素)が普及しており、更に今後はQXGA,QUXGAなどの高解像度をサポートすることは、容易に推察できる。このため、画像表示するディスプレイ装置の種類が多くなり、それぞれの装置に合った画像表示が必要になってきた。特に解像度に関してはディスプレイの解像度に合わせ、サムネイル画像データのサイズを調整することも必要になってきている。   In recent years, a display used as a display device of a computer typified by a personal computer (hereinafter referred to as a PC) has improved in resolution as the technology has evolved. For example, in the past, the resolution of VGA (640 x 480 pixels) and SVGA (800 x 600 pixels) is now XGA (1024 x 768 pixels) or higher, even on notebook PCs. In general, SXGA (1280 × 1024 pixels) and UXGA (1600 × 1200 pixels) are widespread, and it can be easily guessed that high resolution such as QXGA and QUXGA will be supported in the future. For this reason, the types of display devices that display images have increased, and image display suitable for each device has become necessary. In particular, regarding the resolution, it is also necessary to adjust the size of the thumbnail image data in accordance with the resolution of the display.

一方、デジタルカメラについても、その撮影できる画像の解像度(画素数)も高くなり、ディスプレイの解像度がいくら高くなっても、撮像画像全体を最大解像度で表示できなくなってきている。そこでデジタルカメラなどで撮影した多数の画像データのサムネイル画像を同時に表示し、その中から選択することで、1枚表示に切り替え、その画像に対してズームやスクロールなどの表示技術により、より詳細な画像データを表示するようなアプリケーションが必要になってきた。この場合、同時に多数の画像データの一覧を一度に表示する場合には、高速性が重要視されるため、主画像データとは異なる予め作成されているサムネイル画像データを用いることが多い。一方そのサムネイル表示から選択された画像データの1枚表示は、主画像データを用いて、アプリケーションのウィンドウサイズあるいは、ディスプレイ装置に表示できるまでは、画像全体を表示し、それ以上の拡大表示になると、画像の一部分を表示することになる。   On the other hand, the resolution (number of pixels) of an image that can be taken for a digital camera is also high, and the entire captured image cannot be displayed at the maximum resolution no matter how high the resolution of the display is. Therefore, thumbnail images of a large number of image data taken with a digital camera or the like are displayed at the same time, and by selecting from among them, the display is switched to a single image, and the display technology such as zooming and scrolling is performed on the image in more detail. Applications that display image data have become necessary. In this case, when displaying a list of a large number of image data at the same time, high speed is important, and therefore thumbnail image data created in advance different from the main image data is often used. On the other hand, the single-image display of the image data selected from the thumbnail display displays the entire image until it can be displayed on the window size of the application or the display device using the main image data, and the enlarged display is larger than that. A part of the image is displayed.

また、プリンタ技術の進歩により、プリンタで出力できる画像データの解像度も前記デジタルカメラと同様に年々高くなっている。このプリンタで出力できる画像データの解像度は、ディスプレイの解像度よりはるかに高い解像度まで出力できる。このため一般的に、画面上に表示する画像データと印刷するときの画像データは、異なる解像度の画像データを使用する。   Also, with the advance of printer technology, the resolution of image data that can be output by a printer has been increasing year by year, as with the digital camera. The resolution of image data that can be output by this printer can be output to a resolution much higher than the resolution of the display. Therefore, generally, image data to be displayed on the screen and image data for printing use image data having different resolutions.

このような、1枚の画像データを表示する際に、元々の画像データの画像サイズより小さい画像サイズを使用するようなアプリケーションの場合(画像一覧表示する場合等)、必要に応じてデコード処理を行い、一旦元々の画像データの画像サイズを再生し、その後目的の画像サイズになるように、画像データを縮小することを行っていた。この場合、画像データは、非圧縮か、あるいはJPEG Baselineのようなシーケンシャルの符号化方式で圧縮されているのがほとんどである。また、画像データを階層符号化して圧縮しておき、表示に必要な画像サイズまでをデコードし、表示するように実装することも行われていた。階層符号化としては、JPEG2000が代表的である。   In the case of an application that uses an image size smaller than the image size of the original image data when displaying one piece of image data (such as displaying an image list), a decoding process is performed as necessary. The image size of the original image data is once reproduced, and then the image data is reduced so that the target image size is obtained. In this case, the image data is almost uncompressed or compressed by a sequential encoding method such as JPEG Baseline. In addition, the image data is hierarchically encoded and compressed, and the image size necessary for display is decoded and mounted. A representative example of hierarchical encoding is JPEG2000.

このJPEG2000は、1枚の画像データを1つ以上のタイルに分割し、その分割されたタイル毎に、1つ以上の解像度等を持つ階層符号化するものであり、2001年にISO/ITCで標準化された画像符号化技術でもある。   This JPEG2000 divides one piece of image data into one or more tiles, and performs hierarchical encoding with one or more resolutions for each of the divided tiles. In 2001, ISO / ITC It is also a standardized image coding technique.

このJPEG2000には、解像度の階層の他に、画質方向の階層もあり、例えば符号データでの最後までデコードするとLossless(可逆)でデコードでき、途中の階層では、Lossy(非可逆)でデコードすることも可能である。このような符号データを表示する時は、画面などに表示する場合は、途中階層まで、すなわちLossyで表示を行い、印刷などのように最終的な出力や、画面上でも拡大表示などでの最高画質での編集というようにある特定の場合のみ、Losslessのデコードを行うという使い方が、デコードの時間などの関係から一般的である。このような階層符号データの格納法として、特許文献1が挙げられる。   In addition to the resolution hierarchy, JPEG2000 also has a hierarchy in the image quality direction. For example, when decoding to the end of the code data, it can be decoded lossless (lossless), and in the middle hierarchy, it can be decoded lossy (irreversible). Is also possible. When displaying such code data, when displaying it on the screen, etc., it is displayed up to the middle level, that is, with Lossy, and it is the best in final output such as printing or on the screen in enlarged display etc. It is common to use lossless decoding only in certain cases, such as editing with image quality, because of decoding time and other factors. Patent Document 1 is an example of a method for storing such hierarchical code data.

この特許文献1は、階層符号データをグループに分け、符号データを記憶媒体に格納するときに、容量等の問題により、書き込めない場合に対応するための技術である。このグループ毎に書き込み位置を変え、特に破棄される優先順位が高いデータを破棄しやすい領域に書き込むものである。
特開平6−78157号公報
This patent document 1 is a technique for dealing with a case in which hierarchical code data is divided into groups and code data cannot be written due to problems such as capacity when the code data is stored in a storage medium. The writing position is changed for each group, and data with a high priority to be discarded is written in an area that is easily discarded.
JP-A-6-78157

今、2048×2048画素サイズの画像データをNumber of decomposition levels = 5、Number of layers=3でLossless符号化した解像度スケーラビリティのJPEG2000符号データファイル“A.j2k”があるとする。この場合、ファイル“A.j2k”からは、64×64, 128×128, 256×256, 512×512, 1024×1024, 2048×2048の6種類の異なる解像度の画像データを再現できる。またレイヤ数が3であることから、各解像度の画像データは、3種類の画質の画像データを再現できる。この様なJPEG2000の画像ファイルをデコード/表示するアプリケーション“APP_1.exe”について考察する。このアプリケーションは、画像一覧を表示する際に、256×256画素相当の画像サイズを表示するものとする。   Assume that there is a JPEG2000 code data file “A.j2k” with resolution scalability obtained by Lossless encoding image data of 2048 × 2048 pixel size with Number of decomposition levels = 5 and Number of layers = 3. In this case, image data of six different resolutions of 64 × 64, 128 × 128, 256 × 256, 512 × 512, 1024 × 1024, and 2048 × 2048 can be reproduced from the file “A.j2k”. Since the number of layers is 3, image data of each resolution can reproduce three types of image data. Consider an application "APP_1.exe" that decodes / displays such a JPEG2000 image file. This application displays an image size equivalent to 256 × 256 pixels when displaying an image list.

上記条件では、アプリケーションプログラム“APP_1.exe”が画像データを表示する時の処理は、64×64, 128×128, 256×256の3つの解像度の符号データを順にデコードして、デコードされた画像を表示することになる。すなわち、このアプリケーション“APP_1.exe”では、256×256画素以下の解像度の画像データは扱わないので、256×256画素以下の解像度の符号データがある場合は、必ず256×256画素以上の画像データをデコードするまで、デコーダをループさせなければならない。このデコード処理の時に、画面上に一覧表示する場合には、さほど高い画質が望まれないであろうから、Losslessの画質は必要なく、せいぜいLayerは2までで良いと考える。   Under the above conditions, when the application program “APP_1.exe” displays image data, the code data of three resolutions of 64 × 64, 128 × 128, and 256 × 256 are sequentially decoded, and the decoded image is displayed. Will be displayed. In other words, since this application “APP_1.exe” does not handle image data with a resolution of 256 × 256 pixels or less, if there is code data with a resolution of 256 × 256 pixels or less, the image data must be 256 × 256 pixels or more. The decoder must loop until it is decoded. When displaying a list on the screen at the time of this decoding process, since a high image quality would not be desired, the lossless image quality is not necessary, and it is considered that the layer may be 2 at most.

256×256画素のLayer=2の符号データをデコードすることを考察すると、それまでの解像度(すなわち64×64画素と128×128画素の符号データ)を含め、デコードする際にはLayerは2まででよく、Layer=3の符号データをスキップしてデコードする必要があり、無駄な読込み処理が介在することになり、デコードに時間がかかるという問題がある。   Considering decoding of code data of Layer = 2 of 256 × 256 pixels, including resolution up to that (ie, code data of 64 × 64 pixels and 128 × 128 pixels), when decoding, up to Layer 2 In other words, it is necessary to skip and decode the code data of Layer = 3, and there is a problem that a wasteful reading process is involved and decoding takes time.

あるいは、128×128画素まではLosslessで、最後の256×256画素の符号データだけLayer=2までというデコード方法もあるが、この場合は、符号データのスキップはないが、余計なLayer=3の部分のデコード処理を行う必要があり、余計に時間がかかるという問題がある。   Alternatively, there is a decoding method that is lossless up to 128 × 128 pixels and only the last 256 × 256 pixel code data is up to Layer = 2, but in this case, there is no skipping of code data, but extra Layer = 3 There is a problem that it is necessary to perform the decoding process of the part, and it takes extra time.

また先の特許文献1では、符号データを破棄するための技術であり、破棄する場合に格納位置の変更を少なくするためのものである。そのため、メディアの中でどのよう格納するかというための技術であり、1つの階層符号データ内で利用頻度の高い通常の符号データのデコード処理を高速に行うことはできない。   Further, the above-mentioned Patent Document 1 is a technique for discarding the code data, and is for reducing the change of the storage position when discarding. For this reason, this is a technique for storing in a medium, and normal code data frequently used in one hierarchical code data cannot be decoded at high speed.

本発明はかかる問題点に鑑みなされたものであり、一覧表示等、複数の画像を一度に処理し、且つ、符号化データファイル中の全符号を復号しないでも構わない処理に好適なデータ構造に変換することで、高いレスポンが期待でき、且つ、全符号を復号する処理も可能にする技術を提供しようとするものである。   The present invention has been made in view of such problems, and has a data structure suitable for processing that processes a plurality of images at once, such as list display, and does not have to decode all codes in an encoded data file. It is intended to provide a technique that can be expected to have a high response by conversion, and that can also decode all codes.

この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
解像度或いは/および画質についての符号化データが階層構造の符号化画像データファイルを処理する画像処理装置であって、
所定の階層位置までの符号化データを復号対象として処理する処理手段と、
前記符号化画像データファイルを入力し、当該符号化画像データファイルを、前記処理手段での復号処理用のデータ構造に変換するファイル変換手段とを備え、
当該ファイル変換手段は、
前記符号化画像データファイルから、前記処理手段での復号対象となる符号化データのみで構成され、且つ、前記処理手段で復号する順に並べた第1のデータ構造部分と、前記処理手段で非復号対象の符号化データで構成される第2のデータ構造部分と、前記第1データ構造部分に前記第2のデータ構造部分を含めた復号順序を記述した全符号復号順序データ部分で構成されるファイルに変換することを特徴とする。
In order to solve this problem, for example, an image processing apparatus of the present invention has the following configuration. That is,
An image processing apparatus that processes encoded image data files having a hierarchical structure in which encoded data on resolution or / and image quality is hierarchical.
Processing means for processing encoded data up to a predetermined hierarchical position as a decoding target;
File encoding means for inputting the encoded image data file and converting the encoded image data file into a data structure for decoding processing by the processing means;
The file conversion means
A first data structure portion composed only of encoded data to be decoded by the processing means from the encoded image data file and arranged in the order of decoding by the processing means, and non-decoding by the processing means A file composed of a second data structure part composed of target encoded data, and a full code decoding order data part describing a decoding order including the second data structure part in the first data structure part It is characterized by converting into.

本発明の構成によれば、解像度或いは/および画質についての符号化データが階層構造の符号化画像データファイルについて、所定の階層位置までの符号化データを復号対象とする処理に特化したデータ構造にすることにより、その処理が多数のデータを扱う場合に高いレスポンスを得ることができる。   According to the configuration of the present invention, for an encoded image data file in which encoded data for resolution or / and image quality has a hierarchical structure, a data structure specialized for processing for decoding encoded data up to a predetermined hierarchical position. By doing so, a high response can be obtained when the processing handles a large number of data.

以下、添付図面に従って本発明に係る実施形態を詳細に説明する。   Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

図1は、インターネットに代表されるネットワーク上に複数のコンピュータが接続されている様子を示した図である。同図において、100はインターネットに代表されるネットワーク、101はサーバ・コンピュータ(単にサーバ101という)であり、例えば画像データを送信するためのJPG2000用の通信プロトコルであるJPIPサーバをはじめ、WWWサーバ機能に必要なソフトウエアが実行される。また104は大容量の画像データを格納するストレージ装置(実施形態ではHD)であり、JPEG2000符号化方式で符号化された圧縮画像データが多数保存されている。   FIG. 1 is a diagram showing a state in which a plurality of computers are connected on a network represented by the Internet. In the figure, 100 is a network represented by the Internet, 101 is a server computer (simply referred to as server 101), for example, a JPIP server, which is a communication protocol for JPG2000 for transmitting image data, and a WWW server function. The necessary software is executed. Reference numeral 104 denotes a storage device (HD in the embodiment) that stores large-capacity image data, and stores a large number of compressed image data encoded by the JPEG2000 encoding method.

102及び103はクライアント・コンピュータ(以下、クライアントPC)であり、WebブラウザをはじめWebの各ページを表示するために必要なクライアント・ソフトウエアと、実施形態におけるJPEG2000符号化データをデコード/表示するためのクライアント・ソフトウエアならびに、JPIPのクライアント機能を実装したソフトウエアなどが実行される。   Reference numerals 102 and 103 denote client computers (hereinafter referred to as client PCs) for decoding / displaying the client software necessary for displaying each page of the Web including the Web browser and the JPEG2000 encoded data in the embodiment. Client software, software having a JPIP client function, and the like are executed.

図2は、図1においてクライアントPCのブロック構成図である。図中、201はシステム全体の制御などを行っているCPUである。202はキーボードで、201aはマウス(登録商標)等のポインティングデバイスであり、共にシステムに情報などを入力するために使用される。203は表示部で、CRTや液晶ディスプレイなどで構成されている。204はBIOSやブートプログラムを記憶しているROM、205はRAMで、システムの記憶装置を構成し、システムが実行するプログラムやシステムが利用するデータを記憶する。206はハードディスク装置であり、OS、各クライアント・ソフトウエアを格納しており、各種データファイルを記憶するものである。207はフロッピー(登録商標)・ディスク装置で、システムのファイルシステムに使用される外部記憶装置を構成している。208はプリンタインタフェースである。209はネットワークインタフェースであり、ここからインターネットなどのネットワーク上に接続されているサーバ・コンピュータなどのネットワーク上の資源にアクセスする。また、図1におけるサーバ・コンピュータ101も基本的には図2で示した構成を持つものであるが、ハードディスクに格納されているOS、アプリケーションはサーバとして機能するものとなる点で異なる。   FIG. 2 is a block diagram of the client PC in FIG. In the figure, 201 is a CPU that controls the entire system. A keyboard 202 and a pointing device 201a such as a mouse (registered trademark) are both used to input information and the like to the system. A display unit 203 includes a CRT, a liquid crystal display, and the like. Reference numeral 204 denotes a ROM storing a BIOS and a boot program, and 205 denotes a RAM, which constitutes a storage device of the system and stores programs executed by the system and data used by the system. A hard disk device 206 stores the OS and each client software, and stores various data files. A floppy (registered trademark) disk device 207 constitutes an external storage device used for the file system of the system. Reference numeral 208 denotes a printer interface. Reference numeral 209 denotes a network interface from which resources on a network such as a server computer connected to a network such as the Internet are accessed. Also, the server computer 101 in FIG. 1 basically has the configuration shown in FIG. 2, but differs in that the OS and application stored in the hard disk function as a server.

次に図3を用いて一般的なJPEG2000符号化データの構造を説明する。同図では、Resolution level-Layer-Component-Position progression(以下Resolution Progressionと記す)の符号化オプションで符号化されたJPEG2000符号データの例である。Resolution Progressionに準じた場合、resolution/layer/component/position(RLCP)の順に符号データが記録される。その他にもSNR Progressionなどの符号順が選択可能であるが、これら符号データの並び順をprogression orderと呼ぶ。本実施形態では、説明を簡単にするため、Resolution Progressionで説明する。   Next, the structure of general JPEG2000 encoded data will be described with reference to FIG. The figure shows an example of JPEG2000 code data encoded with the encoding option of Resolution level-Layer-Component-Position progression (hereinafter referred to as Resolution Progression). When conforming to Resolution Progression, code data is recorded in the order of resolution / layer / component / position (RLCP). In addition, although the code order such as SNR Progression can be selected, the arrangement order of these code data is called a progression order. In this embodiment, in order to simplify the description, a description will be given with Resolution Progression.

次に図4を用いてウェーブレット変換による解像度とサブバンドの関係を説明する。同図では、decomposition level = 4の場合を説明している。まずはLL(NL=0)のみでresolution level = 0の解像度の画像となる。そしてHL(NL=1), LH(NL=1), HH(NL=1)の3つのサブバンドをLL(NL=0)に続けてデコードすることでlevel = 1の解像度の画像が生成可能になる。そして、NL=1の解像度の画像とNL=2のサブバンドでlevel = 2の解像度の画像が生成可能となり、NL=2の解像度の画像とNL=3のサブバンドでlevel = 3の解像度の画像、NL=3の解像度の画像とNL= 4のサブバンドでlevel = 4の解像度の画像、というように計5種類の解像度の画像データを再現できる。このようにresolution level番号が1つずつ増加する毎に再現される画像データの画像サイズは、幅、高さ共に2倍になっていく。   Next, the relationship between resolution and subbands obtained by wavelet transform will be described with reference to FIG. In the figure, the case where decomposition level = 4 is described. First, only LL (NL = 0) results in an image with resolution level = 0. Then, by decoding the three subbands HL (NL = 1), LH (NL = 1), and HH (NL = 1) following LL (NL = 0), an image with level = 1 resolution can be generated. become. Then, an image with a resolution of NL = 1 and an image with a resolution of level = 2 can be generated with a subband of NL = 2, and an image with a resolution of NL = 2 and a subband of NL = 3 can be generated with a resolution of level = 3. A total of five types of resolution image data can be reproduced, such as an image, an image with a resolution of NL = 3 and an image with a resolution of level = 4 in a subband of NL = 4. Thus, every time the resolution level number increases by one, the image size of the image data reproduced is doubled in both width and height.

図3で示したResolution Progressionの場合は、1つのresolution levelの符号データは、layer番号が小さい順で、component番号が小さい順に、position番号が小さい順になるように並べられている。ここでのlayer番号は復元する画像の原画に対するS/N比に対応し、layer番号が小さいほどS/N比が悪い画像データを再現することになる。   In the case of Resolution Progression shown in FIG. 3, code data of one resolution level are arranged in order of increasing layer number, increasing component number, and decreasing position number. The layer number here corresponds to the S / N ratio of the restored image to the original image, and the smaller the layer number, the more the image data with a worse S / N ratio is reproduced.

さらにJPEG2000符号データファイル内でのresolution番号数、layer番号数、component番号数の各値は、エンコード時のエンコード・パラメタによって予め設定され、そのパラメタにしたがってエンコード処理されており、その各パラメタが符号化データの中にヘッダ情報として格納されている。また符号データにおける論理的な最小単位であるパケットは、各パケットに格納されている全code-blockの情報を管理しているpacket header部と、そのpacketを構成する全code-blockの符号データであるpacket dataから構成されている。   Furthermore, the values of the resolution number, layer number, and component number in the JPEG2000 code data file are preset according to the encoding parameters at the time of encoding, and are encoded according to the parameters. Stored as header information in the data. A packet that is a logical minimum unit in code data is a packet header part that manages information of all code-blocks stored in each packet, and code data of all code-blocks constituting the packet. It consists of some packet data.

図5にNumber of Decompression levels = 5, Number of layers = 4, Losslessモード, Progression order = RLCPの条件で符号化したJPEG2000の符号データの例を示す。図中、各Layerの符号データの中には、Component, Positionの各パケットのデータが入っているものとする。本実施形態では、その説明を簡単にするため、Layerより小さな単位での説明は行わない。またこの符号データの最大解像度の画像サイズが2048×2048画素である。   FIG. 5 shows an example of JPEG2000 code data encoded under the conditions of Number of Decompression levels = 5, Number of layers = 4, Lossless mode, Progression order = RLCP. In the figure, it is assumed that the data of each component and position packet is included in the code data of each layer. In this embodiment, in order to simplify the description, description in units smaller than Layer is not performed. The maximum resolution image size of the code data is 2048 × 2048 pixels.

各条件の階層符号データからデコードされる各階層の画像サイズは、以下のようになる。
階層番号5: 2048×2048画素(最大解像度)
階層番号4: 1027×1024画素
階層番号3: 512×512画素
階層番号2: 256×256画素
階層番号1: 128×128画素
階層番号0: 64×64画素(最小解像度)
The image size of each layer decoded from the hierarchical code data of each condition is as follows.
Layer number 5: 2048 × 2048 pixels (maximum resolution)
Layer number 4: 1027 × 1024 pixel layer number 3: 512 × 512 pixel layer number 2: 256 × 256 pixel layer number 1: 128 × 128 pixel layer number 0: 64 × 64 pixel (minimum resolution)

さらには、各解像度の画像データは、4つのLayerから構成されているため、最低画質のLayer=0から、最高画質(Lossless)のLayer=4までの画像データを再現することができる。   Furthermore, since the image data of each resolution is composed of four layers, it is possible to reproduce image data from the lowest image quality Layer = 0 to the highest image quality (Lossless) Layer = 4.

具体的には、ヘッダ500で示されるJPEG2000のヘッダ情報中、COD(Coding style default)マーカ・コード内にあるSGcod parameter501の“Progression order”フィールド501−1がRLCP(Resolution level-layer-component-position progression)であることを示す値0x01, “Number of layers”フィールド501−2には“4”が入っており、SPcoc parameter502の“Number of decomposition levels”フィールド502−1には“5”、“Transformation”フィールド502−2には“5-3 reversible filter”を示す値0x01が各々格納されている。これらの値で上記のエンコード条件を示すことになる。その他のパラメタは本実施形態では特に関係がないため説明を割愛する。   Specifically, in the JPEG2000 header information indicated by the header 500, the “Progression order” field 501-1 of the SGcod parameter 501 in the COD (Coding style default) marker code is an RLCP (Resolution level-layer-component-position). 0x01 indicating “progression”, “Number of layers” field 501-2 contains “4”, “Number of decomposition levels” field 502-1 of SPcoc parameter 502 is “5”, “Transformation” A value 0x01 indicating “5-3 reversible filter” is stored in each “field 502-2”. These values indicate the above encoding conditions. The other parameters are not particularly relevant in the present embodiment, and will not be described here.

さて、図1に示すシステムにおいて、サーバ101からJPEG2000形式の符号化画像データファイルを、クライアントPC102でダウンロードし、ハードディスク206に適当なフォルダ(ディレクトリ)内に保存する。なお、JPEG2000形式の符号化画像データの入力元は図1に示すようにサーバ101に限らず、CD−ROM等の記憶媒体であっても構わない(但し、その記憶媒体をアクセスするドライブを必要とする)。   In the system shown in FIG. 1, the encoded image data file in JPEG2000 format is downloaded from the server 101 by the client PC 102 and stored in an appropriate folder (directory) on the hard disk 206. The input source of the encoded image data in the JPEG 2000 format is not limited to the server 101 as shown in FIG. 1, but may be a storage medium such as a CD-ROM (however, a drive for accessing the storage medium is required). And).

本実施形態では、このクライアントPC102に実装するアプリケーションプログラム(ハードディスク206にインストールされている)にその特徴を有する。本実施形態におけるアプリケーションは、処理対象となるJPEG2000形式の圧縮符号化された画像ファイル(実施形態ではデジタルカメラで撮像されたものとする)を電子アルバム化(アルバム化アプリケーション)するものであり、外部から入力したJPEG2000の画像ファイルを電子アルバムとして登録し、必要に応じて、登録された画像を編集、印刷するものである。   In the present embodiment, the application program (installed in the hard disk 206) installed in the client PC 102 has the feature. The application in the present embodiment is an electronic album (albumization application) that is a JPEG2000 format compression-encoded image file (captured by a digital camera in the embodiment) to be processed. Is registered as an electronic album, and the registered image is edited and printed as necessary.

先に説明したように、一般に、デジタルカメラ等で撮像された画像のサイズ(画素数)は、表示装置の解像度(画素数)と比べて十分に大きい。そこで、登録画像の一覧表示する場合について考察した場合、各画像の内容が確認できれば良く、解像度は適当な段階(階層番号)で良く、また、画質(レイヤ)も適当なものでよい。むしろ、多数の画像が登録され得るので、一覧表示する際の高いレスポンスが求められる。   As described above, in general, the size (number of pixels) of an image captured by a digital camera or the like is sufficiently larger than the resolution (number of pixels) of the display device. Therefore, when considering the case of displaying a list of registered images, it is sufficient that the contents of each image can be confirmed, the resolution may be at an appropriate stage (hierarchical number), and the image quality (layer) may be appropriate. Rather, since a large number of images can be registered, a high response when displaying a list is required.

そこで、実施形態では、図13に示すように、JPEG2000のRLCP形式の画像ファイル(図示ではファイル名“10000.j2k”)を、電子アルバムアプリケーションが管理するフォルダ(図示では、“C:\E-Album”)に登録(インポート)する際には、実施形態のアプリケーションで一覧表示する際のデコード処理を高速なものとするため、そのファイル構造を変換し保存する。   Therefore, in the embodiment, as shown in FIG. 13, a JPEG2000 RLCP format image file (file name “10000.j2k” in the figure) is managed by a folder (in the figure, “C: \ E- When registering (importing) into “Album”), the file structure is converted and saved in order to speed up the decoding process when displaying the list in the application of the embodiment.

例えば、一覧表示する際の画質としてユーザがlayer3までを利用し、それ以上のレイヤを不要にする旨を設定した場合、図5に示すJPEG2000形式のデータ構造を、図6に示す形式のデータに変換する。図6のデータ構造と図5のそれとの違いは、図6では各解像度におけるlayer1〜3が連続して格納されており、layer4の符号がFragment table602を介して独立して管理されている点である。画像の編集とか印刷を行なう場合には、図示の矢印611で示されるように、読み出すアドレスを頻繁に変更する必要があるが、1つの画像データファイルについてのみ行なえば良いので、人間には知覚できないか、できたとしても許容範囲内のものである。   For example, when the user uses up to layer 3 as the image quality when displaying a list and sets that no more layers are required, the data structure in the JPEG 2000 format shown in FIG. 5 is changed to data in the format shown in FIG. Convert. The difference between the data structure of FIG. 6 and that of FIG. 5 is that in FIG. 6, layers 1 to 3 at each resolution are stored in succession, and the codes of layer 4 are managed independently via the Fragment table 602. is there. When editing or printing an image, it is necessary to frequently change the address to be read as indicated by the arrow 611 in the figure. However, since only one image data file needs to be performed, it cannot be perceived by humans. Even if it is possible, it is within the allowable range.

しかし、一覧表示の場合、表示すべき画像数に依存した回数だけデコードする必要がある。すなわち、表示画像数がN個存在する場合、全画像のデコードに要する時間はN倍になり、数秒とか数十秒といった無視できない時間がかかることが予想される。実施形態の場合、図6の矢印610に示すように、一覧表示する際には利用しないレイヤ4を除いたレイヤ1乃至3を一覧表示に最適化された順序で格納する。この結果、一覧表示の際にスキップ処理等の処理が不要になり、連続した符号をその順序でデコードすれば良いので、そのデコードに要する時間を短縮させることが可能になる。従って、多数の画像データの一覧表示する場合であっても、これまでよりは十分に短時間で、一覧表示させることができ、高いレスポンスを維持することができるようになる。   However, in the case of list display, it is necessary to decode the number of times depending on the number of images to be displayed. That is, when there are N display images, the time required to decode all the images is N times, and it is expected that non-negligible time such as several seconds or several tens of seconds is required. In the case of the embodiment, as indicated by an arrow 610 in FIG. 6, the layers 1 to 3 except the layer 4 that is not used when displaying a list are stored in an order optimized for the list display. As a result, processing such as skip processing is not required when displaying the list, and continuous codes need only be decoded in that order, so that the time required for decoding can be shortened. Therefore, even when displaying a list of a large number of image data, the list can be displayed in a sufficiently short time than before, and a high response can be maintained.

なお、図5のファイル構造から図6のファイル構造に変換した場合のファイル名の拡張子は「JPX」とするが、ファイルの構造は、JPEG2000に準拠した構造でもあるので、他のJPEG2000に対応したデコードアプリケーションでデコード可能である。   Note that the file name extension when converting from the file structure of FIG. 5 to the file structure of FIG. 6 is “JPX”, but the file structure is also a structure compliant with JPEG2000, so it corresponds to other JPEG2000. Decoding is possible with the selected decoding application.

図14は実施形態における電子アルバムアプリケーションの全体の処理手順を示すフローチャートである。   FIG. 14 is a flowchart showing an overall processing procedure of the electronic album application in the embodiment.

先ず、本アプリケーションが起動すると、ステップS1401で各種初期化を行い、ステップS1402でアプリケーションウインドウ(不図示)を表示する。このウインドウが表示されると、ステップS1403に進み、ユーザによるポインティングデバイス202aを用いた処理すべき項目の入力待ちになり、ステップS1404で指示された処理を判別する。   First, when this application is activated, various initializations are performed in step S1401, and an application window (not shown) is displayed in step S1402. When this window is displayed, the process advances to step S1403 to wait for input of an item to be processed by the user using the pointing device 202a, and the process instructed in step S1404 is determined.

環境設定が指示された場合には、ステップS1405に進み、各種環境を設定する。この設定項目の中には、登録画像の一覧表示する際のサイズ、画質の設定が含まれる。   If environment setting is instructed, the process advances to step S1405 to set various environments. These setting items include settings for size and image quality when displaying a list of registered images.

例えば画像サイズとして256×256にし、レイヤ3とする等でも構わないが、これだと専門的な知識が要求されるので、サイズ、画質ともスライダーバーのようなUIを用いて設定する。設定された内容は、実施形態のアプリケーションプログラムが管理する管理用データとして保存する。因に、OSが米国マイクロソフト社が提供するWindows(登録商標)である場合にはレジストリに保存すればよい。なお、これらの値は、ユーザが所有するクライアントPCの表示部の解像度に従って、ユーザが任意に設定可能である。   For example, the image size may be set to 256 × 256 and layer 3 may be used. However, since specialized knowledge is required, the size and the image quality are set using a UI such as a slider bar. The set contents are stored as management data managed by the application program of the embodiment. Incidentally, if the OS is Windows (registered trademark) provided by Microsoft Corporation in the United States, it may be stored in the registry. These values can be arbitrarily set by the user according to the resolution of the display unit of the client PC owned by the user.

また、電子アルバムへの登録が指示された場合には、ステップS1406に進んで、登録対象とする画像を選択するためのウインドウを表示し、その中から指示された画像ファイルを、実施形態のアプリケーションが管理するフォルダ(図13ではc:\E-Album)に、そのファイルを格納する。このとき、登録対象のファイルがJPEG2000符号化されRLCP形式の画像データファイルである場合、環境設定された画質に従ってファイル構造を変換する(詳細後述)。   If registration to the electronic album is instructed, the process advances to step S1406 to display a window for selecting an image to be registered, and the instructed image file is stored in the application of the embodiment. The file is stored in the folder managed by (c: \ E-Album in FIG. 13). At this time, if the file to be registered is a JPEG2000-encoded RLCP format image data file, the file structure is converted in accordance with the set image quality (details will be described later).

また、一覧表示の指示がなされたと判断した場合には、ステップS1407に進んで、管理フォルダ内の画像の一覧を表示し、その中の所望とするファイルが選択されたか否かを判断し(ステップS1408)、選択された場合には該当するファイルを全デコードして画像編集や印刷等の処理を行なう(ステップS1409)。この画像編集や印刷に関しては、本発明とは直接は関係がないのでその説明は省略する。また、上記以外の操作がなされたと判断した場合には、ステップS1410に進んで、対応する処理を行なう。   If it is determined that a list display instruction has been issued, the process advances to step S1407 to display a list of images in the management folder, and determine whether or not a desired file has been selected (step S1407). In step S1408, if the selected file is selected, all the corresponding files are decoded and image editing and printing are performed (step S1409). Since the image editing and printing are not directly related to the present invention, the description thereof is omitted. If it is determined that an operation other than the above has been performed, the process proceeds to step S1410 to perform a corresponding process.

次に、ステップS1406における登録処理内の変換処理を図7のフローチャートに従って説明する。   Next, the conversion process in the registration process in step S1406 will be described with reference to the flowchart of FIG.

先ず、ステップS701では、指定された画像ファイル(JPEG2000のRLCP形式の階層符号データを持った画像ファイル)のProgression Orderを取得する。具体的には、図5のフィールド501−1の値を取得する。   First, in step S701, a Progression Order of a designated image file (image file having hierarchical code data in JPEG2000 RLCP format) is acquired. Specifically, the value of the field 501-1 in FIG. 5 is acquired.

次に、ステップS702に進み、先に説明した環境設定での画質に関する情報に従って、設定された画質で高速にデコードすることを可能にする新たな形式のファイル構造に変換し、ステップS703にて、管理フォルダに保存(登録)する。   In step S702, the file structure is converted into a new format that enables high-speed decoding with the set image quality in accordance with the information related to the image quality in the environment setting described above. In step S703, Save (register) in the management folder.

上記のステップS702における新階層符号データ作成の詳細を図8のフローチャートに従って説明する。   Details of the creation of new hierarchical code data in step S702 will be described with reference to the flowchart of FIG.

ステップS800では指定された符号データがタイル分割されているか否か、あるいはタイル分割されている場合は、いくつに分割されているかを計算する。タイル分割されていない場合は、タイル数は1であり、分割されている場合にはその分割数を最大解像度の画像サイズと最大解像度におけるタイルサイズがから計算する。   In step S800, it is calculated whether or not the designated code data is divided into tiles, or if it is divided into tiles, how many are divided. If the tile is not divided, the number of tiles is 1. If the tile is divided, the number of divisions is calculated from the image size of the maximum resolution and the tile size at the maximum resolution.

次いで、ステップS801に進み、各種階層情報を取得する。具体的には、“Number of decomposition levels”、 “Number of layers”、色数など符号データ内に格納されている全パケット数を計算するために必要な情報や、その他以降の処理で必要な情報を取得する。そして、ステップS802にて、設定した画質以上の画像データを得るためのパケットを特定する。   Next, the process proceeds to step S801, and various hierarchical information is acquired. Specifically, “Number of decomposition levels”, “Number of layers”, information necessary to calculate the total number of packets stored in the code data, such as the number of colors, and other information necessary for subsequent processing To get. In step S802, a packet for obtaining image data having a quality higher than the set image quality is specified.

具体的には、ユーザが設定した画質に基づく一覧表示時のlayerが“3”である場合には、layerが4以上のパケット全てとなる。このパケットを特定するためには、例えばステップS801で全パケット数を計算し、このパケット数分の配列を確保し、ここにこのステップで特定されたパケット(layer4以上のパケット)に対応する部分のみ「1」で、その他のパケットには「0」をセットするなど、さまざまな特定方法がある。   Specifically, when the layer at the time of the list display based on the image quality set by the user is “3”, all the packets whose layer is 4 or more are included. In order to specify this packet, for example, the total number of packets is calculated in step S801, an array for the number of packets is secured, and only the portion corresponding to the packet (packet of layer 4 or higher) specified in this step is reserved here. There are various specific methods such as “1” and setting “0” to other packets.

ステップS803では、これから作成する符号データ用のヘッダ情報を作成する。具体的には、本実施形態の場合はLayer 4以上のパケットを別の領域に移すため、Layer数を3に下げる。すなわち、”Number of layers”フィールド501−2の“4”を“3”にする。その他のヘッダ情報は変更する必要はない。その後にステップS804で新符号用パケット抜き出し処理を行い、ステップS805でファイルを作成し、本処理を終了する。   In step S803, header information for code data to be created is created. Specifically, in the case of this embodiment, the number of layers is reduced to 3 in order to move packets of layer 4 or higher to another area. That is, “4” in the “Number of layers” field 501-2 is set to “3”. Other header information need not be changed. Thereafter, a new code packet extraction process is performed in step S804, a file is created in step S805, and the process ends.

次に上記ステップS804の新符号用パケット抜き出しの詳細な処理を図9のフローチャートに従って説明する。   Next, detailed processing for extracting the new code packet in step S804 will be described with reference to the flowchart of FIG.

先ず、ステップS900では、ステップS803で作成した新ヘッダ601を”Contiguous Codestream box”に出力する。   First, in step S900, the new header 601 created in step S803 is output to “Contiguous Codestream box”.

ステップS901では元々符号データに付いていたヘッダ504を“Media Data box”に出力する。ステップS907−1では、ステップS901で出力した旧ヘッダのバイト数を“fragment table”に各込む。その後ステップS902及びステップS903で処理済みタイルの個数用変数“TileNum”、処理済みパケットの個数用変数“PacketNum”をそれぞれ「0」で初期化する。   In step S901, the header 504 originally attached to the code data is output to “Media Data box”. In step S907-1, the number of bytes of the old header output in step S901 is included in “fragment table”. Thereafter, in step S902 and step S903, the processed variable for the number of tiles “TileNum” and the processed variable for the number of packets “PacketNum” are each initialized with “0”.

ステップS904では、これから処理しようとしているパケットがステップS802で特定した抜き出し用のパケットであるか否かを判断する。この判断で抜き出し用のパケットであると判断した場合はステップS905−2へ、一方抜き出し用のパケットではない場合はステップS905−1へ各々移る。ステップS905−1では、着目パケットをステップS900で出力したヘッダと同じBOX、すなわち“Contiguous Codestream box”に出力する。その後ステップS906−1において、出力したパケットのバイト数を計算する。   In step S904, it is determined whether the packet to be processed is the extraction packet specified in step S802. If it is determined that the packet is an extraction packet, the process proceeds to step S905-2. If the packet is not an extraction packet, the process proceeds to step S905-1. In step S905-1, the packet of interest is output to the same BOX as the header output in step S900, that is, “Contiguous Codestream box”. Thereafter, in step S906-1, the number of bytes of the output packet is calculated.

一方ステップS905−2に処理が進んだ場合には、着目パケットをステップS901で出力したBOX、すなわち“Media Data box”に出力する。その後、ステップS906−2にて、ステップS906−1と同様にパケットのバイト数を、ステップS906−1とは独立して計算する。具体的には、全ての解像度内の“Layer=4”(かそれ以上)のパケットが抜き出し用パケットとして判断される。   On the other hand, when the process proceeds to step S905-2, the packet of interest is output to the BOX output in step S901, that is, “Media Data box”. After that, in step S906-2, the number of bytes of the packet is calculated independently of step S906-1 in the same manner as in step S906-1. Specifically, packets of “Layer = 4” (or higher) within all resolutions are determined as extraction packets.

ステップS907−2では、各BOXに出力したパケットのバイト数を“fragment table”の形式でそれぞれ格納する。その後ステップS908では、このタイルにおける全パケットを処理したか否かを判断する。具体的には、変数“PacketNum”に「1」をインクリメントし、この値がステップS801で取得したパケット総数と比較することで判断する。カウントしたパケット数がパケット総数未満である場合はステップS904に戻る。また、カウントしたパケット数が、パケット総数になると、注目タイルにおける全パケットについての処理が終了したことになるので、ステップS909に移る。ステップS909では、この符号データ内の全タイルを処理したか否かを判断する。具体的には、変数“TileNum”を「1」インクリメントし、この値がステップS800で計算したタイルの総数と比較する。カウントしたタイル数がタイル総数未満の場合はステップS903に戻る。一方パケット総数以上の場合は全タイルに対して処理が終了したことになり、本処理を終了する。   In step S907-2, the number of bytes of the packet output to each BOX is stored in the “fragment table” format. In step S908, it is determined whether all packets in this tile have been processed. Specifically, the variable “PacketNum” is incremented by “1”, and this value is compared with the total number of packets acquired in step S801. If the counted number of packets is less than the total number of packets, the process returns to step S904. When the counted number of packets reaches the total number of packets, the processing for all the packets in the target tile has been completed, and the process proceeds to step S909. In step S909, it is determined whether all tiles in the code data have been processed. Specifically, the variable “TileNum” is incremented by “1”, and this value is compared with the total number of tiles calculated in step S800. If the counted number of tiles is less than the total number of tiles, the process returns to step S903. On the other hand, if the total number of packets is greater than or equal to the total number of packets, the process has been completed for all tiles, and the process ends.

次にステップS907−1及びステップS907−2で示したfragment tableへの書き込みの詳細な処理フローを図11を用いて説明する。   Next, a detailed processing flow of writing to the fragment table shown in steps S907-1 and S907-2 will be described with reference to FIG.

この処理の中で使用する変数、BoxFlag, TableInxは、あらかじめ特定の値が設定されているものとする。すなわちBoxFlagは、“Contiguous Codestream box”を示す値を「0」、“Media Data box”を示す値を「1」とすると、本処理ではまず“Media Data box”への出力があるので、BoxFlagにはContiguous Codestream boxであることを示す値「0」が入っている。またTableInxは、fragment table内の何番目のテーブルを参照するかの変数であり、これも値「0」が入っている。   It is assumed that specific values are set in advance for variables, BoxFlag, and TableInx used in this processing. In other words, if the value indicating “Contiguous Codestream box” is “0” and the value indicating “Media Data box” is “1”, BoxFlag first outputs to “Media Data box”. Contains a value “0” indicating that it is a Contiguous Codestream box. TableInx is a variable indicating what number table in the fragment table is to be referred to, and also contains a value “0”.

ステップS1100では、着目パケットの符号データが出力されたBOXを判断する。すなわちステップS904で抜き出すパケットと判断した場合は「1」、抜き出さないと判断された場合は「0」となるが、これと変数BoxFlagを比較する。この判断で値が一致するとBOXの変更がないと判断しステップS1104へ、一方値が不一致の場合はステップS1101に分岐する。   In step S1100, the BOX from which the code data of the packet of interest is output is determined. That is, if it is determined in step S904 that the packet is to be extracted, “1” is set. If it is determined that the packet is not to be extracted, “0” is set. This is compared with the variable BoxFlag. If the values match in this determination, it is determined that there is no BOX change, and the process branches to step S1104. If the values do not match, the process branches to step S1101.

ステップS1101では、現状のTableInxが指すFragment table内のOffsetとバイト数の各フィールドに現状の値をセットする。その後ステップS1102でBoxFlagの値をひっくり返す。すなわち「1」の場合は「0」に、「0」の場合は「1」にする。そしてステップS1103でTableInxを「1」インクリメントする。   In step S1101, the current value is set in each field of Offset and the number of bytes in the Fragment table indicated by the current TableInx. In step S1102, the value of BoxFlag is turned over. That is, “0” is set for “1”, and “1” is set for “0”. In step S1103, TableInx is incremented by “1”.

一方ステップS1104では現状のTableInxが指すバイト数フィールドの値に、今回のパケットのバイト数を加算する。具体的には、旧ヘッダ504を出力する場合は、BoxFlagは「0」であり、ステップS901で“Media Data box”へ出力するため、ステップS1100ではステップS1101へ移る。その後、旧ヘッダのOffset=0バイト数をセットし、BoxFlagを「1」にして、TableInxを「1」にする。その後Reso.0のLayer1からLayer3までを出力するが、このLayer 1を出力する時にステップS1100でBOXの変更を判断する。その後Layer 3まではBOXの変更はない。そのため、TableInxのバイト数はLayer1からLayer3までの総バイト数がセットされる。その後、Layer4のパケットを出力する時に、BOXの切替が起こる。この処理により、Fragment table 602は、符号603で示すように符号データをリードするためのテーブルの値が格納されることになる。   On the other hand, in step S1104, the number of bytes of the current packet is added to the value of the number of bytes field pointed to by the current TableInx. Specifically, when outputting the old header 504, BoxFlag is “0”, and since it is output to “Media Data box” in step S901, the process proceeds to step S1101 in step S1100. After that, Offset = 0 of the old header is set, BoxFlag is set to “1”, and TableInx is set to “1”. Thereafter, Layer 1 to Layer 3 of Reso.0 are output. When this Layer 1 is output, the change of the BOX is determined in step S1100. After that, there is no BOX change until Layer 3. Therefore, the total number of bytes from Layer 1 to Layer 3 is set as the number of bytes of TableInx. After that, when Layer 4 packets are output, BOX switching occurs. With this processing, the Fragment table 602 stores a table value for reading code data as indicated by reference numeral 603.

次に、図14におけるステップS1404の一覧表示処理を図10Aのフローチャートに従って説明する。   Next, the list display processing in step S1404 in FIG. 14 will be described with reference to the flowchart in FIG. 10A.

先ず、ステップS1000で、本アプリケーションが管理しているフォルダ内に存在するファイル数を取得する。次いで、ステップS1001で、1つのファイルについて、そのヘッダを調べ、そのヘッダに従って符号化データを順に読み出す。図6では、矢印610に沿って符号化データを読み出すことになる。このとき、読み出される符号化データは、この矢印の順位格納されているので、高速に読み出しが行なえる。ステップS1002では、読出した順にデコード処理を行い、ユーザが設定したサイズ(解像度)以上になった時点でデコードを終了する。次いで、ステップS1003で、デコードした結果の画像を、本アプリケーションのウインドウ内に表示する。ステップS1004では、デコードしたファイル数が、先のステップS1000で取得したファイル数になったか否かを判断し、否の場合にはステップS1001以降の処理を繰り返す。   First, in step S1000, the number of files existing in a folder managed by this application is acquired. Next, in step S1001, the header of one file is checked, and the encoded data is sequentially read according to the header. In FIG. 6, the encoded data is read out along the arrow 610. At this time, since the encoded data to be read is stored in the order of the arrows, it can be read at high speed. In step S1002, the decoding process is performed in the order of reading, and the decoding is finished when the size (resolution) set by the user or more is reached. In step S1003, the decoded image is displayed in the window of the application. In step S1004, it is determined whether or not the number of decoded files has reached the number of files acquired in the previous step S1000. If not, the processes in and after step S1001 are repeated.

以上の結果、本アプリケーションが管理する符号化画像データファイル(拡張子がJXPのファイル)については、高速にその一覧を表示することが可能になる。   As a result, a list of encoded image data files (files with an extension of JXP) managed by this application can be displayed at high speed.

さて、一覧表示された画像の1つをユーザがポインティングデバイス202aで指示した場合、その指示された画像を編集や印刷するため、全符号を用いて復号処理を行なう。この場合には、図10Bの処理を行なう。   When one of the images displayed in a list is designated by the user using the pointing device 202a, a decoding process is performed using all codes in order to edit or print the designated image. In this case, the process of FIG. 10B is performed.

先ず、ステップS1010において、指示された画像ファイルのFragment tableを読込み、符号の読込み順を決定し、その順序に従って符号を読み出す。図6の場合には、矢印611に示す順序に読み出すことになる。次いで、ステップS1011にて、読出した符号を順に復号する。この後、ステップS1012にて、印刷処理を含む編集処理に、デコードした結果を渡し、本処理を終了する。   First, in step S1010, the Fragment table of the instructed image file is read, the code reading order is determined, and the codes are read according to the order. In the case of FIG. 6, the reading is performed in the order indicated by the arrow 611. Next, in step S1011, the read codes are sequentially decoded. Thereafter, in step S1012, the decoded result is passed to an editing process including a printing process, and this process is terminated.

なお、編集処理については、公知のものであるとし、本実施形態ではその説明は省略する。   Note that the editing process is a known process and will not be described in the present embodiment.

図12にJPEG2000における各BOX単位でのファイル構造を示す。図中、1200は、fragment tableを格納するBOXである。1201が通常良く使用する部分の階層符号データを格納するためのContiguous Codestreamを格納するBOXである。1202は抜き出したパケット(実施形態ではlayer4以上のパケット)の符号データなどを格納するためのBOXである。   FIG. 12 shows the file structure of each BOX unit in JPEG2000. In the figure, reference numeral 1200 denotes a BOX that stores a fragment table. 1201 is a BOX that stores a Contiguous Codestream for storing a portion of hierarchical code data that is normally used. Reference numeral 1202 denotes a BOX for storing code data of extracted packets (packets of layer 4 or higher in the embodiment).

このように、元々の階層符号データのうち、一覧表示等、利用頻度の少ない階層の符号データを取り除き通常良く使う部分のみを連続的に格納した通常階層符号データと、前記通常階層符号データと前記取り除いた階層の符号データを連続的に読み出せる仕組みを利用した特別な階層符号データの両方の符号データ読み出しができる階層符号データの管理をおこなうことにより、通常の表示には通常階層符号データを利用することで、デコード時の余計な符号データのシークや、余計なデコードによる時間の無駄を省くことができるため、高速なデコード処理を行うことができる。   As described above, from the original hierarchical code data, the normal hierarchical code data in which only the portions that are normally used are removed continuously, such as a list display, and the normal hierarchical code data and the normal hierarchical code data, The normal hierarchy code data is used for normal display by managing the hierarchy code data that can read both the code data of the special hierarchy code data using the mechanism that can continuously read the code data of the removed hierarchy By doing so, it is possible to save unnecessary code data seek at the time of decoding and waste of time due to unnecessary decoding, so that high-speed decoding processing can be performed.

また、通常ではあまり利用しない部分のデータをデコードする場合は、Fragment tableを利用しながら、通常階層符号データをそのまま利用するため、余計な符号データを追加することなく、最大画質(Lossless)の符号データを管理することができる。さらには、fragment tableをしながらのデコード処理は、通常階層符号データのデコード処理よりは処理時間がかかるが、あまり利用しない符号データのデコード時間が多少長くなっても、その為のファイル数は一覧表示の場合と比較して1つとか、せいぜい数個程度であろうから、ユーザにとってのデメリットは少ない。   In addition, when decoding data that is normally not used much, the normal hierarchical code data is used as it is while using the Fragment table. Therefore, the maximum image quality (Lossless) code is not added without adding extra code data. Data can be managed. Furthermore, the decoding process using the fragment table takes more processing time than the decoding process of the normal hierarchical code data, but even if the decoding time of the code data that is not used much becomes a little longer, the number of files for that is listed. There are few disadvantages for the user because there will be only one or a few compared to the display case.

さらに元々の符号データは、Losslessでエンコードされている場合を説明したが、これに限るものではなく、Lossyでエンコード去れている場合でも、通常の画面に表示する時の画質が符号データ内の途中までの画質でよい場合は、同様に本発明が利用可能となる。   Furthermore, the case where the original code data was encoded with lossless was explained, but this is not a limitation, and even when lossy encoding is left, the image quality when displayed on a normal screen is halfway within the code data. In the case where the image quality up to is sufficient, the present invention can be used similarly.

上記実施形態では、1つのfragment tableであったが、複数個のfragment tableを用意し夫々の用途に合わせた読み方ができるようにしてもよいことは容易に推察できる。また、この場合でも各fragment tableから読み出せる複数種類の階層符号データを構成するパケットのデータには重複はなく、必要最低限のファイルサイズで構成することが可能となる。   In the above embodiment, one fragment table is used. However, it can be easily inferred that a plurality of fragment tables may be prepared and read in accordance with each application. Even in this case, there is no duplication in the data of the packets constituting a plurality of types of hierarchical code data that can be read from each fragment table, and it is possible to configure with the minimum required file size.

また、上記実施形態では、変換元の画像ファイルはRLCP形式で各符号データが格納されているものとして説明したが、LRCP形式の符号化データに適用しても構わない。   In the above-described embodiment, the conversion source image file is described as having each code data stored in the RLCP format, but may be applied to encoded data in the LRCP format.

例えば、図15に示すNumber of Decompression levels = 5, Number of layers = 4, LosslessモードのLRCP形式のJPEG2000によるファイル1500があって、ユーザが一覧表示する際の最低解像度として256×256を指定したとする。この解像度に合致する符号化データがReso.0〜2である場合には、符号1501に示す形式のデータに変換する。一覧表示する際には、図示の符号1502で示す順にデコードし、ユーザが設定したlayerまでデコードするようにする。また、画像の編集等の場合には、図示の符号1503で示す順にデコードすれば良い。   For example, if there is a file 1500 in JPEG2000 in the LRCP format of Number of Decompression levels = 5, Number of layers = 4, Lossless mode shown in FIG. 15 and the user specifies 256 × 256 as the minimum resolution when displaying a list. To do. If the encoded data matching the resolution is Reso.0 to 2, it is converted to data in the format indicated by reference numeral 1501. When the list is displayed, decoding is performed in the order indicated by reference numeral 1502 in the figure, and decoding is performed up to the layer set by the user. In the case of image editing, etc., decoding may be performed in the order indicated by reference numeral 1503 in the figure.

また、上記実施形態では、1つのファイルで全ての情報を格納するものとしたが、複数のファイルでそれそれのFragment tableを管理し、基本となる符号データを参照することも可能である。この場合、どのfragment tableがどういう符号データをデコードできる符号データを指し示しているかを記述するために、Association BOXを利用して、各fragment tableの意味づけを行うことも可能であり、この場合ファイル中には図12で示す1202の位置に格納すればよい。   In the above embodiment, all information is stored in one file. However, it is also possible to manage fragment tables in a plurality of files and refer to basic code data. In this case, it is also possible to make each fragment table meaningful by using the Association BOX to describe which fragment data indicates which code data can be decoded. May be stored at the position 1202 shown in FIG.

また他のProgression Orderで格納されている場合や、上記のProgression Orderの場合でも、最も外側のループをなす階層のエレメント以外のエレメントに関して、同様のことが可能である。   Further, even in the case of being stored in another Progression Order or in the case of the above-mentioned Progression Order, the same is possible with respect to elements other than the elements of the hierarchy forming the outermost loop.

以上説明したように本実施形態によれば、JPEG2000等の解像度、画質について階層符号化されたデータ構造を有する画像データファイルに対して、一覧表示等、利用頻度が高く一度に複数の画像を処理する場合に備えて、そのデータ構造を変換することで、高いレスポンスの処理が可能になる。   As described above, according to the present embodiment, for image data files having a data structure hierarchically encoded with respect to resolution and image quality such as JPEG2000, a plurality of images are processed at a high frequency such as list display at a time. In preparation for this, high response processing is possible by converting the data structure.

なお、実施形態では、電子アルバムアプリケーションを例にしたが、処理対象となる画像を選択するための一覧表示する処理と、1つの画像を処理する場合の処理とを切り替えるアプリケーションであれば、如何なるアプリケーション(例えば、画像編集アプリケーション等)に適用しても良い。   In the embodiment, the electronic album application is taken as an example. However, any application may be used as long as the application switches between a list display process for selecting an image to be processed and a process for processing one image. (For example, an image editing application or the like) may be applied.

また、PCの処理速度は、その中のCPU、メモリ、ハードディスク等の要因によって変わってくる。また、表示するまでの時間に対する時間が遅い/早いの感覚は、ユーザ毎の主観であり、ユーザによって異なる。従って、RLCP構造等のJPEG2000のファイルをjpxファイルに変換する際には、どのレイヤ以上をfragment tableを利用してデコードするかを例えばスライダーバー等でユーザの好みに併せて設定登録するようにしても構わない。   Further, the processing speed of the PC varies depending on factors such as the CPU, memory, and hard disk. Also, the feeling that the time to display is slow / fast is subjective for each user and varies from user to user. Therefore, when converting a JPEG2000 file with an RLCP structure or the like into a jpx file, the layer or more to be decoded using the fragment table is set and registered according to the user's preference using, for example, a slider bar. It doesn't matter.

なお、上記実施形態での説明から明らかなように、本実施形態における特徴は、PC等で実行するアプリケーションプログラムにある。通常、アプリケーションプログラムは、CD−ROM等のコンピュータ可読記憶媒体に格納されていて、それを読み出す装置にセットし、システムにコピーもしくはインストールすることで実行可能になるから、当然そのようなコンピュータ可読記憶媒体も本発明の範疇に入る。   As is clear from the description of the above embodiment, the feature of this embodiment is an application program executed on a PC or the like. Normally, an application program is stored in a computer-readable storage medium such as a CD-ROM, and can be executed by being set in a device for reading it and copying or installing it in a system. Media are also within the scope of the present invention.

サーバ、クライアントのシステム構成図である。It is a system block diagram of a server and a client. 図1におけるクライアントPCのブロック構成図である。It is a block block diagram of client PC in FIG. JPEG2000の符号化データの階層符号化の構造を示す図である。It is a figure which shows the structure of the hierarchical encoding of the encoding data of JPEG2000. ウェーブレット変換とサブバンドとの関係を示す図である。It is a figure which shows the relationship between a wavelet transform and a subband. RLCPデータ構造を示す図である。It is a figure which shows the RLCP data structure. 実施形態における2つのデコード順に対処するための符号データのファイルの格納状態を示す図である。It is a figure which shows the storage state of the file of the code data for dealing with two decoding order in embodiment. 実施形態における画像データファイルの登録処理時における処理手順を示すフローチャートである。It is a flowchart which shows the process sequence at the time of the registration process of the image data file in embodiment. 図7における新階層符号化データの作成処理手順を示すフローチャートである。It is a flowchart which shows the preparation process procedure of the new hierarchy coding data in FIG. 図8におけるパケット抜き出し処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the packet extraction process in FIG. 実施形態における一覧表示時のデコード処理手順を示すフローチャートである。It is a flowchart which shows the decoding processing procedure at the time of the list display in embodiment. 実施形態における編集対象画像のデコード処理手順を示すフローチャートである。It is a flowchart which shows the decoding process sequence of the edit object image in embodiment. 実施形態におけるfragment tableの作成処理手順を示すフローチャートである。It is a flowchart which shows the creation process procedure of the fragment table in embodiment. 実施形態における変換後のデータ構造を示す図である。It is a figure which shows the data structure after conversion in embodiment. 実施形態における電子アルバムアプリケーションにおけるインポート処理を概念的に示す図である。It is a figure which shows notionally the import process in the electronic album application in embodiment. 実施形態における電子アルバムアプリケーションの全体の処理手順を示すフローチャートである。It is a flowchart which shows the whole process sequence of the electronic album application in embodiment. LRCP構造のデータファイルと、その変換結果の関係を示す図である。It is a figure which shows the relationship between the data file of LRCP structure, and its conversion result.

Claims (7)

解像度或いは/および画質についての符号化データが階層構造の符号化画像データファイルを処理する画像処理装置であって、
所定の階層位置までの符号化データを復号対象として処理する処理手段と、
前記符号化画像データファイルを入力し、当該符号化画像データファイルを、前記処理手段での復号処理用のデータ構造に変換するファイル変換手段とを備え、
当該ファイル変換手段は、
前記符号化画像データファイルから、前記処理手段での復号対象となる符号化データのみで構成され、且つ、前記処理手段で復号する順に並べた第1のデータ構造部分と、
前記処理手段で非復号対象の符号化データで構成される第2のデータ構造部分と、
前記第1データ構造部分に前記第2のデータ構造部分を含めた復号順序を記述した第3のデータ構造部分と
で構成されるファイルに変換することを特徴とする画像処理装置。
An image processing apparatus that processes encoded image data files having a hierarchical structure in which encoded data on resolution or / and image quality is hierarchical.
Processing means for processing encoded data up to a predetermined hierarchical position as a decoding target;
File encoding means for inputting the encoded image data file and converting the encoded image data file into a data structure for decoding processing by the processing means;
The file conversion means
From the encoded image data file, a first data structure portion configured only by encoded data to be decoded by the processing means and arranged in the order of decoding by the processing means,
A second data structure portion composed of encoded data to be decoded by the processing means;
An image processing apparatus, wherein the first data structure part is converted into a file composed of a third data structure part describing a decoding order including the second data structure part.
更に、前記処理手段で復号する対象となる階層位置を設定する設定手段を備えることを特徴とする請求項1に記載の画像処理装置。   The image processing apparatus according to claim 1, further comprising a setting unit that sets a hierarchical position to be decoded by the processing unit. 前記処理手段は、画像ファイルの一覧を表示するための復号処理であることを特徴とする請求項1又は2に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the processing unit is a decoding process for displaying a list of image files. 変換元の符号化画像データファイルは、JPEG2000による符号化データファイルであることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。   4. The image processing apparatus according to claim 1, wherein the conversion source encoded image data file is a JPEG2000 encoded data file. 解像度或いは/および画質についての符号化データが階層構造の符号化画像データファイルを処理する画像処理装置の制御方法であって、
所定の階層位置までの符号化データを復号対象として処理する処理工程と、
前記符号化画像データファイルを入力し、当該符号化画像データファイルを、前記処理工程での復号処理用のデータ構造に変換するファイル変換工程とを備え、
当該ファイル変換工程は、
前記符号化画像データファイルから、前記処理工程での復号対象となる符号化データのみで構成され、且つ、前記処理工程で復号する順に並べた第1のデータ構造部分と、
前記処理工程で非復号対象の符号化データで構成される第2のデータ構造部分と、
前記第1データ構造部分に前記第2のデータ構造部分を含めた復号順序を記述した第3のデータ構造部分と
で構成されるファイルに変換することを特徴とする画像処理装置の制御方法。
A method of controlling an image processing apparatus that processes encoded image data files having a hierarchical structure in which encoded data on resolution or / and image quality is hierarchical.
Processing steps for processing encoded data up to a predetermined hierarchical position as a decoding target;
A file conversion step of inputting the encoded image data file and converting the encoded image data file into a data structure for decoding processing in the processing step;
The file conversion process
From the encoded image data file, a first data structure portion configured only by encoded data to be decoded in the processing step and arranged in the order of decoding in the processing step;
A second data structure portion composed of encoded data to be undecoded in the processing step;
A method for controlling an image processing apparatus, comprising: converting to a file composed of a third data structure part describing a decoding order including the second data structure part in the first data structure part.
コンピュータが読込み実行することで、解像度或いは/および画質についての符号化データが階層構造の符号化画像データファイルを処理する画像処理装置として機能するコンピュータプログラムであって、
所定の階層位置までの符号化データを復号対象として処理する処理手段と、
前記符号化画像データファイルを入力し、当該符号化画像データファイルを、前記処理手段での復号処理用のデータ構造に変換するファイル変換手段として機能し、
前記ファイル変換手段は、
前記符号化画像データファイルから、前記処理手段での復号対象となる符号化データのみで構成され、且つ、前記処理手段で復号する順に並べた第1のデータ構造部分と、
前記処理手段で非復号対象の符号化データで構成される第2のデータ構造部分と、
前記第1データ構造部分に前記第2のデータ構造部分を含めた復号順序を記述した第3のデータ構造部分と
で構成されるファイルに変換することを特徴とするコンピュータプログラム。
A computer program that functions as an image processing apparatus that processes encoded image data files having a hierarchical structure in which encoded data on resolution or / and image quality is read and executed by a computer,
Processing means for processing encoded data up to a predetermined hierarchical position as a decoding target;
The encoded image data file is input, and the encoded image data file functions as a file conversion unit that converts the encoded image data file into a data structure for decoding processing by the processing unit,
The file conversion means includes
From the encoded image data file, a first data structure portion configured only by encoded data to be decoded by the processing means and arranged in the order of decoding by the processing means,
A second data structure portion composed of encoded data to be decoded by the processing means;
A computer program for converting to a file composed of a third data structure part describing a decoding order including the second data structure part in the first data structure part.
請求項6に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。   A computer-readable storage medium storing the computer program according to claim 6.
JP2005137892A 2005-05-10 2005-05-10 Image processor and its control method, computer program, and computer-readable storage medium Pending JP2006319482A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005137892A JP2006319482A (en) 2005-05-10 2005-05-10 Image processor and its control method, computer program, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005137892A JP2006319482A (en) 2005-05-10 2005-05-10 Image processor and its control method, computer program, and computer-readable storage medium

Publications (2)

Publication Number Publication Date
JP2006319482A true JP2006319482A (en) 2006-11-24
JP2006319482A5 JP2006319482A5 (en) 2008-06-19

Family

ID=37539780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005137892A Pending JP2006319482A (en) 2005-05-10 2005-05-10 Image processor and its control method, computer program, and computer-readable storage medium

Country Status (1)

Country Link
JP (1) JP2006319482A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024062914A1 (en) * 2022-09-20 2024-03-28 富士フイルム株式会社 Display control device, method for operating display control device, and program for operating display control device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003153187A (en) * 2001-11-15 2003-05-23 Canon Inc Information recorder and controlling method thereof
JP2005012685A (en) * 2003-06-20 2005-01-13 Canon Inc Image processing method and image processing apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003153187A (en) * 2001-11-15 2003-05-23 Canon Inc Information recorder and controlling method thereof
JP2005012685A (en) * 2003-06-20 2005-01-13 Canon Inc Image processing method and image processing apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024062914A1 (en) * 2022-09-20 2024-03-28 富士フイルム株式会社 Display control device, method for operating display control device, and program for operating display control device

Similar Documents

Publication Publication Date Title
JP4709493B2 (en) Method and product for communicating compressed digital images
Alakuijala et al. JPEG XL next-generation image compression architecture and coding tools
JP4603947B2 (en) Image communication system, server apparatus and control method therefor, and computer program
JP4538430B2 (en) System and method in server client environment
AU2006211475B2 (en) Digital intermediate (DI) processing and distribution with scalable compression in the post-production of motion pictures
US6041143A (en) Multiresolution compressed image management system and method
JP4183205B2 (en) Thumbnail manipulation with fast aspect ratio zooming and compression and sealing
JP4934462B2 (en) Method, server and computer program for accessing partial document images
JP2008140361A (en) Image processing apparatus or image processing method
US20040032968A1 (en) Embedding a multi-resolution compressed thumbnail image in a compressed image file
JP2004274758A (en) Method and apparatus for converting jpp-stream into jpeg-2000 code stream
WO2001037209A1 (en) Picture and video storage management system and method
JP2004274759A (en) Communication method and device for compressed digital image with limited access and server/client transfer
US7558430B2 (en) Apparatus method and computer-readable medium for processing hierarchical encoded image data
JP2006287625A (en) Image processing apparatus, image processing method, program, and information recording medium
US20050169542A1 (en) Image processing apparatus, image processing method, program, and information recording medium
JP2006319482A (en) Image processor and its control method, computer program, and computer-readable storage medium
JP2003189109A (en) Image processor and image processing method, and computer program
JP4732251B2 (en) Code conversion apparatus and program
JP2004242273A (en) Code data creation method and apparatus
JP2006086579A (en) Image processing apparatus, program and storage medium
JP3958198B2 (en) Image processing method
JP4743613B2 (en) Code generation device, file generation device, code processing device, program, information recording medium
Janosky et al. Using JPEG2000 for Enhanced Preservation and Web Access of Digital Archives–A Case Study
JP2002176561A (en) Image processor, image processing method, and computer readable memory

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080507

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100618

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101018