JP5181816B2 - 画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記録媒体 - Google Patents

画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記録媒体 Download PDF

Info

Publication number
JP5181816B2
JP5181816B2 JP2008124778A JP2008124778A JP5181816B2 JP 5181816 B2 JP5181816 B2 JP 5181816B2 JP 2008124778 A JP2008124778 A JP 2008124778A JP 2008124778 A JP2008124778 A JP 2008124778A JP 5181816 B2 JP5181816 B2 JP 5181816B2
Authority
JP
Japan
Prior art keywords
compression
code
data
image processing
thread
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.)
Expired - Fee Related
Application number
JP2008124778A
Other languages
English (en)
Other versions
JP2009278163A (ja
Inventor
児玉  卓
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 JP2008124778A priority Critical patent/JP5181816B2/ja
Priority to US12/453,417 priority patent/US8355584B2/en
Publication of JP2009278163A publication Critical patent/JP2009278163A/ja
Application granted granted Critical
Publication of JP5181816B2 publication Critical patent/JP5181816B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Description

本発明は、画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記録媒体に関する。
従来から、画像データを圧縮処理等する際に、処理を複数のスレッドのそれぞれに対応させて分割することにより、画像処理の高速化を実現する装置等の技術がある。近年、コンピュータ技術の進展に伴い、高速なプロセッサや大容量のメモリ等の様々なハードウェア資源が開発された。その中の一つに、一つのプロセッサが論理的に複数のプロセッサとして働くものがある。このようなプロセッサは、複数のスレッドのそれぞれに含まれる命令を並列に実行させることができ、画像処理を分割して実行することを実現している。
例えば、特開2005−259042号公報(特許文献1)には、画像処理を実行する複数のスレッドを生成し、生成したスレッドを処理毎にグループに分け、処理をスレッドに分配し、全体の画像処理を高速化する画像処理方法等の技術が開示されている。
また例えば、特許第3797013号公報(特許文献2)には、複数のプロセッサを用いて解像度が異なる画像の処理を行う際に、解像度が高くなるにつれて用いられるプロセッサの割合を高くする画像処理方法等の技術が開示されている。
特開2005−259042号公報 特許第3797013号公報 ISO/IEC 15444−1
しかしながら、上記特許文献1及び2に記載の画像処理方法等の技術では、複数のスレッド又はプロセッサ等から出力された処理後のデータを結合する方法については考慮されていない。
例えば、ISO/IEC 15444−1(非特許文献1参照。)では、符号データに含まれるパケットを結合する順や符号データに含まれるヘッダ情報の内容等が定められている。そこで、複数のスレッドから出力される圧縮処理後の符号(以下、「圧縮符号」という。)を結合する際には、規格に定められた内容にするために、異なるスレッドから出力される圧縮符号を所定の順に並べ替え、又は、所定のヘッダ情報を添付する処理が必要になる。
しかし、並べ替え処理は、複数のスレッドにより実現される処理の高速化のメリットを減じることとなる。
本発明は、上記に鑑みてなされたものであり、分割された画像処理を行う複数の手段から出力される圧縮符号の結合を高速に行う画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記録媒体を提供することにある。
上述した課題を解決し、目的を達成するために、本発明の画像処理装置は、一以上のスレッドから出力される複数の圧縮符号を結合して符号データを生成する画像処理装置であって、分割された圧縮処理に対応づけられたスレッドにより画像データの圧縮処理を行う圧縮処理手段と、前記スレッドから出力される圧縮符号に識別情報を添付する識別情報添付手段と、既に生成されている符号データの末尾の圧縮符号と、前記スレッドが出力する圧縮符号と、が所定の関係にあるか否かを判断する判断手段と、前記既に生成されている符号データの末尾の圧縮符号と、前記スレッドが出力する圧縮符号と、が所定の関係にある場合には、前記既に生成されている符号データの末尾に、該圧縮符号を結合した符号化データを生成し、前記既に生成されている符号データの末尾の圧縮符号と、前記スレッドが出力する圧縮符号と、が所定の関係にない場合には、前記既に生成されている符号データの末尾に、前記識別情報添付手段により識別情報が添付された圧縮符号を結合した符号化データを生成する結合手段と、を含む、構成とすることができる。
本発明はまた、上記画像処理装置によって実現される画像処理方法、その画像処理方法をコンピュータに実行させるコンピュータプログラム、又は、そのコンピュータプログラムが記録された情報記録媒体としてもよい。
本発明によれば、分割された画像処理を行う複数の手段から出力される圧縮符号の結合を高速に行うという効果を奏する。
以下に添付図面を参照して、この発明に係る画像処理装置の最良な実施の形態を詳細に説明する。なお、以下の説明では、ISO/IEC 15444に含まれる規格群を「JPEG2000規格」という。以下の実施の形態では、JPEG2000規格による符号データを生成する処理について説明するが、本発明の実施の形態はこの例に限らない。画像データが圧縮処理されて生成する圧縮符号に対し、ヘッダ情報が付加されて結合されることにより符号データが生成される画像処理装置であればよい。
(第1の実施の形態)
本発明に係る画像処理装置の説明に先んじて、JPEG2000規格による符号データを生成する処理の概略について、図1から図5を用いて説明する。
図1は、JPEG2000規格による符号データを生成する画像処理装置である。符号データを生成する装置をエンコーダという。図1の画像処理装置100は、ウェーブレット変換部101、量子化部102、コードブロック分割部103、係数モデリング部104、算術符号化部105、レート制御部106、レイヤ形成部107、及び、パケット生成部108を有する。
ウェーブレット変換部101は、離散ウェーブレット変換(以下、「DWT」という。)により、サブバンド分解を行う。量子化部102は、ウェーブレット変換部101から出力される変換係数の量子化を行う。コードブロック分割部103、係数モデリング部104、及び、算術符号化部105は、エンベデッド算術符号化(以下、「EBCOT」という。)を実現し、レート制御部106、レイヤ形成部107、及び、パケット生成部108は、ポスト量子化と符号データの生成を行う。以下に、EBCOT、ポスト量子化、符号データの生成を行う各部の処理を説明する。
(1)コードブロック分割部103
量子化された各サブバンドを、コードブロックと呼ばれる正方形のブロック(例えば64x64など)に分割する。これらのコードブロックは、それぞれ独立に符号化される。
(2)係数モデリング部104
各コードブロックのウェーブレット係数からなる数列に対し、ビットプレーンに基づく係数モデリングを行う。これにより、係数ビットが重要度順に並んだエンベデッド符号列が生成される。MSBからLSBまでのすべてのビットプレーンは、それぞれ文脈に応じて三つのサブビットプレーンに分解される。ここで分解されたサブビットプレーンを「パス」という。各サブビットブレーンの境界は打切り点(Truncation point)と呼ばれ、後でデータを切り捨てる際の最小の分割単位となる。
(3)算術符号化部105及びレート制御部106
算術符号化部105は、係数モデリングにより生成されたエンベデッド符号列に対して、適応的算術符号化を施す。レート制御部106は、サブビットブレーンの境界である打切り点を単位として、算術符号列を適宜打ち切ることにより、目的のビットレートを得る。
(4)レイヤ形成部107
複数の画質で順次表示する必要がある場合、すなわちSNRスケーラブルが必要である場合に、符号のレイヤ形成を行う。各レイヤはそれぞれ、各コードブロックのエンベデッド符号の一部を含む。高いレイヤほど画像の再生にあたって重要な成分を含むことになる。
(5)パケット生成部108
各レイヤを複数のボディと呼ばれる単位に分解し、それぞれにヘッダ情報を付加してパケットを生成する。ここで各ボディは、それぞれ対応する解像度レベルの情報をもつ。したがって生成されるパケットの総数は、レイヤ数と解像度レベル数の積となる。ヘッダ情報には、各コードブロックの算術符号列の長さ、サブビットブレーンの個数などの情報が含まれる。
(画像データとタイルの関係)
図2は、画像データとタイルとの関係を説明する図である。図2において、符号aを付した矩形が画像データの境界を表す。画像データを、座標に基づいて、複数の矩形に分割したものがタイルである。図2では、T0からT19までのタイルが示されている。図1の画像処理装置100は、図2における一のタイル毎に、DWTを行い、生成された圧縮符号を結合して一の符号データを生成する。
(DWTにより生成されるサブバンド)
図3は、例えば、図2において符号bを付したタsイルT8に対してDWTを行って生成するサブバンドを説明する図である。図3は、DWTの分解レベルが2のとき、すなわち、解像度レベル数が3のサブバンド分解の例であり、level0からlevel2までの解像度レベルが存在する。このとき、小さい解像度レベルに属する係数ほど低い周波数の情報を含むことになる。
(符号データの構成の概略)
図4は、符号データの構成の概略を説明する図である。図4の符号データは、複数のパケットを有する。圧縮処理によって生成される画像データが含まれる全てのパケットをまとめ、グローバルヘッダ情報を付加したものが、最終的なJPEG2000の符号データとなる。なお、JPEG2000規格においては、各種ヘッダ情報やデータ分割の最小単位であるサブビットプレーンは、1バイトの整数倍のサイズと規定されている。
(符号データの構成の詳細)
図5は、符号データの構成の詳細を説明する図である。図5の符号データは、符号データの先頭を表すSOCマーカで始まり、符号データの終端を表すEOCマーカで終わっている。SOCマーカに続くMain Headerには、符号データ全体に係るパラメータ等が格納される。
SOTマーカは、一のタイルに対して最低1以上設けられる。SOTマーカは、タイルの先頭に必ず設けられる他に、タイル内に含まれてもよい。タイルの先頭に設けられたSOTマーカの後には、Tile−Part Headerが続く。Tile−Part Headerには、タイル全体に係るパラメータ等が格納される。Tile−Part Headerに続いてSODマーカが設けられる。圧縮符号はSODマーカに続く。
(本発明の実施の形態に係る画像処理装置の機能構成の例)
図6は、本発明の実施の形態に係る画像処理装置の機能構成の例を説明する図である。図6の画像処理装置1は、入力される画像データの圧縮処理を分割して複数のスレッドに分配し、各スレッドから出力される圧縮符号を結合し、それらの圧縮符号を含む符号データを生成する。
画像処理装置1は、例えば、スレッド数取得部11、圧縮処理分割部12、圧縮処理部13、属性選択部14、記憶部15、識別情報添付部16、及び、符号データ生成部18を有する。
スレッド数取得部11は、圧縮処理部13において実行されるスレッドの数を取得する。圧縮処理分割部12は、入力される画像データの圧縮処理を、スレッド数取得部11によって取得されたスレッド数に分割する。圧縮処理の分割は、例えば、タイル、ページ、オブジェクト、色コンポーネント等の属性に基づいて行われてよい。より詳細には、例えば、一のスレッドに対して割り当てられる画像データが、一のタイルの画像データであるようにしてもよい。また例えば、DWT変換より後の圧縮処理を分割する場合には、プリシンクト毎に複数のスレッドに分配してもよい。
圧縮処理部13は、圧縮処理分割部12によって分割された圧縮処理毎に、スレッドを対応づけて画像データの圧縮処理を行う。圧縮処理部13は、例えば、コンピュータのCPU及びRAM等によって実現され、複数のスレッドを有する。
記憶部15は、圧縮処理部13が有する各スレッドから出力される圧縮符号が格納される。識別情報添付部16は、スレッドから出力される圧縮符号に対して識別情報を添付する。添付される識別情報は、識別情報添付部16によって生成されるとよい。
識別情報添付部16は、例えば、スレッドから出力される圧縮符号毎に識別情報を添付してもよく、また例えば、複数のスレッドから出力される圧縮符号からなるクラスタに対して、一の識別情報を付与してもよい。この場合に、識別情報を付与する対象となるクラスタに含まれる圧縮符号の属性の値は、一のクラスタを通して同一であるとよい。これにより、一のスレッドから全ての圧縮符号が生成される場合と同一の符号データを生成することができる。
なお、圧縮符号の属性は、例えば、タイル、プリシンクト等の位置的な属性の他に、レイヤ、解像度、色コンポーネント等がある。圧縮符号の属性は、またさらに、画像データが複数ページからなる場合には、ページでもよく、画像データが複数のオブジェクトからなる場合には、オブジェクトでもよい。そこで、例えば「解像度」に基づいてクラスタが生成されている場合には、一のクラスタは、同一の解像度に対応する圧縮符号からなる構成とするとよい。
識別情報添付部16が、圧縮符号のクラスタに対して識別情報を添付する場合には、記憶部15に格納されている圧縮符号の中から、属性の値が同一の圧縮符号を選択することにより、クラスタが形成される。また例えば、属性の値が同一の圧縮符号が、全て一のスレッドから出力される場合には、記憶部15に圧縮符号を格納することなく、それらの圧縮符号の先頭に識別情報を添付してもよい。
符号データ生成部18は、既に生成されている符号データの末尾に、圧縮符号を結合することにより、符号データを生成する。結合される圧縮符号は、スレッドから出力された圧縮符号、又は、識別情報添付部16によって識別情報を添付された圧縮符号である。
符号データ生成部18は、既に生成されている符号データの末尾の圧縮符号と、結合する圧縮符号との関係に基づいて、スレッドから出力された圧縮符号と識別情報添付部16によって識別情報を添付された圧縮符号との何れか一の圧縮符号を選択し、符号データの末尾に結合する。
なお、符号データの末尾の圧縮符号とは、例えば、最後尾のパケットでもよく、また例えば、直前に結合された圧縮符号又は圧縮符号からなるクラスタでもよい。末尾の圧縮符号とは、また例えば、一の識別情報が添付された圧縮符号又は圧縮符号のクラスタでもよい。
属性選択部14は、複数のスレッドにより生成される圧縮符号からなるクラスタに対して一の識別情報が添付される際に、クラスタ毎に含まれる圧縮符号において同一の値となる属性を選択する。
(スレッドの例)
図7は、スレッド毎に圧縮処理が対応づけられることを説明する図である。図7において、分割された圧縮処理は、各々「命令」と表記され、命令0から命令9までの10個の処理に分割されている。
図7(A)は、一のスレッドが全ての圧縮処理を行うことを示す図である。図7(B)は、スレッド0からスレッド3の4個のスレッドのうち、スレッド0が全ての圧縮処理を行うことを示す図である。図7(C)は、スレッド0からスレッド3のうち、スレッド0が7個の命令に対応する圧縮処理を行い、スレッド1からスレッド3の各々が、一の命令に対応する圧縮処理を行うことを示す図である。図7(D)は、スレッド0からスレッド3のそれぞれが、2ないし3個の命令に対応する圧縮処理を行うことを示す図である。
(コンピュータによって実現される画像処理装置の例)
図8は、コンピュータによって実現される本発明の画像処理装置を説明する図である。図8のコンピュータ400は、CPU401、RAM402、及び、ハードディスク装置(以下、「HDD」という。)409を有する。CPU401、RAM402、及び、HDD409は、データバスを介して接続されている。コンピュータ400は、また、DVD、CD等のリムーバブルメディア等のドライブ装置が接続されるとよい。
コンピュータ400が画像データの圧縮処理を行って符号データを生成する処理について、以下、説明する。
(1)HDD409上に記録された画像データが、CPU401からの命令によってRAM402上に読み込まれる。
(2)CPU401が、RAM402上の画像を読み込み、複数のスレッドを実行して圧縮処理を行う。
(3)CPU401が、複数のスレッドから非同期に生成される圧縮符号を、RAM402上の、(1)で読み込まれた画像データが格納されている領域とは異なる領域に書き込む。
(4)CPU401が、RAM402上に記録された圧縮符号を並べ替え、及び/又は、ヘッダ情報等の識別情報と添付することにより、符号データを生成し、HDD409に格納する。
(シングルスレッド処理とマルチスレッド処理とを選択する処理の例)
図9は、シングルスレッド処理とマルチスレッド処理との何れの処理を実行するかを決定する際の処理を説明するフロー図である。図9では、並列に実行可能なスレッドの数に基づいて、何れの処理が実行されるかが定められる。
図9のステップS1001では、符号化処理を実施するコンピュータ等において並列実行可能なスレッド数Nが取得される。スレッド数Nを取得するスレッド数取得部11は、例えば、コンピュータのCPU等に備わっている命令を実行することにより実現されてよく、また例えば、その命令を用いたアプリケーション等によって実現されてもよい。ステップS1001では、さらに、最適なスレッド数を決定するプログラムを起動することにより、スレッド数取得部11を実現してもよい。これにより、もっとも処理能力の高いスレッド数を探索することができる。
ステップS1001に続いてステップS1002に進み、圧縮処理分割部12が、スレッド数取得部11によって取得されたスレッド数が、1より大きい値であるか否かを判断する。1より大きい値である場合には、ステップS1003に進み、1である場合には、ステップS1004に進む。
ステップS1002に続くステップS1003では、圧縮処理部13が、複数のスレッドによりマルチスレッド処理を行う。一方ステップS1002に続くステップS1004では、圧縮処理部13が、一のスレッドによりシングルスレッド処理を行う。シングルスレッド処理は、一般的なアプリケーションプログラムと同様の動作であり、CPUに動作させる命令列を1ずつ生成し、CPUに実行させるものである。
ステップS1003又はステップS1004に続くステップS1005では、CPU等により、動作しているプログラムのメモリの開放、生成した符号のアクセス権の開放などの処理が行われるとよい。
(マルチスレッド処理におけるスレッドの起動処理の例)
図10は、マルチスレッド処理におけるスレッドの起動処理の例を示すフロー図である。図10の処理は、図9のステップS1003において実行されるものであり、図9のステップS1001で取得されたスレッド数Nに基づいて実行される。
図10のステップS1101では、マルチスレッド処理の初期化が行われる。より詳細には、実行中のスレッド数N1の値を0とする。さらに、圧縮処理を実行する画像データにおいて、独立して符号化を行うことができる数NTを算出する。NTは、例えば、JPEG2000規格におけるタイルの数である。また、処理済みの圧縮処理の数NDの値を0とする。
ステップS1101に続いてステップS1102に進み、数NT、及び、数NDに基づいて、処理されていない圧縮処理の有無が確認される。処理されていない圧縮処理の数NNは、NN=NT−NDにより求められる。NNが1以上の値を有する場合には、ステップS1103に進み、NNが0の場合には、処理を終了する。
ステップS1102に続いてステップS1103に進み、圧縮処理部13において、現在実行中のスレッドの数N1と、実行可能なスレッドの数Nとに基づいて、新たなスレッドを起動するか否かの判断がなされる。ここでは、N1がNより小さな値の場合には、新たなスレッドを起動すると判断され、ステップS1104に進む。N1がN以上の値の場合には、ステップS1102に戻って処理を繰り返す。
ステップS1103に続くステップS1104では、圧縮処理部13が、N1の値に基づいて、圧縮処理を行うスレッドを起動する。ステップS1104に続いてステップS1105に進み、圧縮処理部13が、N1の値に対し、ステップS1104で起動されたスレッドの数を加える。ステップS1105の後、ステップS1102に戻って処理を繰り返す。
(符号データを結合する処理の例)
図11は、スレッドから出力された圧縮符号を、符号データに結合する処理を説明するフロー図である。図11の処理は、例えば、図10の処理に続いて実行される。図11のステップS1201では、圧縮処理に先立って実行される初期化が行われる。初期化の処理には、例えば、圧縮処理等に用いられるメモリ上の領域やバッファの領域の確保、不要なバッファ領域に格納されたデータのクリア、符号化される画像データの読み込み又は画像データが格納されている領域に対するポインタの設定等が含まれる。
ステップS1201に続いてステップS1202に進み、符号化の対象となる画像データが、全て処理済みか否かの判断が行われる。全て処理済みの場合には、処理を終了し、未処理の画像データがある場合には、ステップS1203に進む。
ステップS1202に続くステップS1203では、図10の処理で起動されたスレッドが、符号化対象となる画像データの圧縮処理を実行する。ステップS1203に続いてステップS1204に進み、符号データ生成部18が、既に生成されメモリ上に格納されている符号データへのアクセス権を獲得する。このアクセス権はスレッド毎に対応して獲得される。他のスレッドによりアクセス権が保持されている場合には、アクセス権が獲得できるまでポーリングにより待機する。
ステップS1204に続いてステップS1205に進み、符号データ生成部18が、既に生成されている符号データに対し、圧縮符号を結合する。なお、ここで結合される圧縮符号は、識別情報添付部16により、先頭にSOTマーカを添付された圧縮符号、又は、スレッドから出力された圧縮符号である。スレッドから出力された圧縮符号が結合された場合には、符号データ生成部18は、既に生成されている符号データに含まれる識別情報を更新する。例えば、識別情報に含まれるSOT中のデータサイズに係る情報を更新する。すなわち、更新された識別情報に含まれるデータサイズに係る情報は、更新前のデータサイズに新たに結合された圧縮符号のデータサイズを加算したものとなる。
ステップS1205に続いてステップS1206に進み、符号データ生成部18が、符号データに対するアクセス権を開放した後、ステップS1202に戻って処理を繰り返す。
なお、図11の処理では、タイル毎に圧縮処理が分割される場合の例について説明したが、他の属性に基づいて圧縮処理が分割される場合には、識別情報添付部16が、属性に対応するマーカ等を添付する。
(同一の属性を有する圧縮符号のクラスタに対して識別情報を添付する処理の例)
図12は、同一の属性を有する圧縮符号のクラスタに対して識別情報を添付して符号データに結合する処理を説明するフロー図である。図12のステップS1301では、圧縮処理を行うスレッドの初期化の処理が行われる。初期化の処理には、例えば、圧縮処理等に用いられるメモリ上の領域やバッファの領域の確保、不要なバッファ領域に格納されたデータのクリア、符号化される画像データの読み込み又は画像データが格納されている領域に対するポインタの設定等が含まれる。
ステップS1301に続いてステップS1302に進み、符号化の対象となる画像データが、全て処理済みか否かの判断が行われる。全て処理済みの場合には、処理を終了し、未処理の画像データがある場合には、ステップS1303に進む。
ステップS1302に続くステップS1303では、図10の処理で起動されたスレッドが、符号化対象となる画像データの圧縮処理を実行する。スレッドによって生成された圧縮符号は、記憶部15に格納される。ステップS1303に続いてステップS1304に進み、識別情報添付部16が、記憶部15に格納されている圧縮符号について、一の属性を有する圧縮符号が全て揃っているか否かの判断を行う。全て揃っている場合には、その圧縮符号を一のクラスタとして、ステップS1305に進み、未だ生成されていない圧縮符号がある場合には、ステップS1303に戻って圧縮処理を繰り返す。
ステップS1304に続いてステップS1305に進み、符号データ生成部18が、既に生成されメモリ上に格納されている符号データへのアクセス権を獲得する。このアクセス権はスレッド毎に対応して獲得される。他のスレッドによりアクセス権が保持されている場合には、アクセス権が獲得できるまでポーリングにより待機する。
ステップS1305に続いてステップS1306に進み、符号データ生成部18が、既に生成されている符号データに対し、圧縮符号のクラスタを結合する。なお、ここで結合される圧縮符号のクラスタは、識別情報添付部16により、先頭にSOTマーカを添付された圧縮符号のクラスタ、又は、スレッドから出力された圧縮符号のクラスタである。
スレッドから出力された圧縮符号のクラスタが結合された場合には、符号データ生成部18は、既に生成されている符号データに含まれる識別情報を更新する。例えば、識別情報に含まれるSOT中のデータサイズに係る情報を更新する。すなわち、更新された識別情報に含まれるデータサイズに係る情報は、更新前のデータサイズに新たに結合された圧縮符号のクラスタのデータサイズを加算したものとなる。
ステップS1306に続いてステップS1307に進み、符号データ生成部18が、符号データに対するアクセス権を開放した後、ステップS1302に戻って処理を繰り返す。
(圧縮符号に識別情報を添付するか否かを判断する処理の例)
図13は、符号データに結合される圧縮符号に対し、識別情報を添付するか否かを判断する処理の例を示すフロー図である。図13のステップS1401では、符号データ生成部18が、既に生成されている符号データの末尾の圧縮符号と、結合しようとする圧縮符号とが、所定の関係にあるか否かの判断を行う。所定の関係にある場合には、ステップS1402に進み、所定の関係にない場合には、ステップS1403に進む。
なお、所定の関係とは、例えば、JPEG2000規格による符号データを生成する場合に、一のプログレッシブ順で定められるデフォルトの出現順を満たす関係である。これにより、デフォルトの出現順となる順に結合される場合には、識別情報が添付されない圧縮符号を結合すればよく、一のスレッドから全ての圧縮符号が出力される場合と同一の符号データを生成することができる。これは、圧縮符号に含まれる識別情報を最小限にするという効果を奏する。なお、「デフォルトの出現順」を「標準の並び順」ともいう。
ステップS1401に続くステップS1402では、識別情報添付部16が、新たにスレッドから出力された圧縮符号に対して識別情報を添付する。この識別情報には、例えば、圧縮符号のデータサイズが含まれる。またここで識別情報を添付される圧縮符号は、一以上のスレッドから出力された複数の圧縮符号からなるクラスタでもよい。このクラスタは、同一の属性を有するとよい。
ステップS1402又はステップS1401に続くステップS1403では、符号データ生成部18が、圧縮符号を符号データの末尾に結合する。ステップS1403の処理は、図11のステップS1205における符号データ生成部18の処理と同一であるので、ここでは説明を省略する。
(コンピュータにより実現される画像処理装置)
本実施の形態に係る画像処理装置は、例えば、CPUなどの制御装置と、ROM(Read Only Memory)やRAMなどの記憶装置と、HDD、CDドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっていてもよい。
本実施の形態に係る画像処理装置で実行されるコンピュータプログラムは、例えば、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、本実施の形態で実行されるコンピュータプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。本実施の形態の画像処理装置で実行されるコンピュータプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。また、本実施の形態のコンピュータプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本実施の形態の画像処理装置で実行されるコンピュータプログラムは、図6に示した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体からコンピュータプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、各部が主記憶装置上に生成されるようになっていてもよい。
JPEG2000規格による符号データを生成する画像処理装置を説明する図である。 画像データとタイルとの関係を説明する図である。 タイルに対してDWTを行って生成するサブバンドを説明する図である。 符号データの構成の概略を説明する図である。 符号データの構成の詳細を説明する図である。 本発明の実施の形態に係る画像処理装置の機能構成の例を説明する図である。 スレッド毎に圧縮処理が対応づけられることを説明する図である。 コンピュータによって実現される本発明の画像処理装置を説明する図である。 シングルスレッド処理とマルチスレッド処理との何れの処理を実行するかを決定する際の処理を説明するフロー図である。 マルチスレッド処理におけるスレッドの起動処理の例を示すフロー図である。 圧縮符号を符号データに結合する処理を説明するフロー図である。 圧縮符号のクラスタに対して識別情報を添付する処理を説明するフロー図である。 圧縮符号に対し識別情報を添付するか否かを判断する処理の例を示すフロー図である。
符号の説明
1 画像処理装置
11 スレッド数取得部
12 圧縮処理分割部
13 圧縮処理部
14 属性選択部
15 記憶部
16 識別情報添付部
18 符号データ生成部
100 画像処理装置
101 ウェーブレット変換部
102 量子化部
103 コードブロック分割部
104 係数モデリング部
105 算術符号化部
106 レート制御部
107 レイヤ形成部
108 パケット生成部
400 コンピュータ

Claims (15)

  1. 一以上のスレッドから出力される複数の圧縮符号を結合して符号データを生成する画像処理装置であって、
    分割された圧縮処理に対応づけられたスレッドにより画像データの圧縮処理を行う圧縮処理手段と、
    前記スレッドから出力される圧縮符号に識別情報を添付する識別情報添付手段と、
    既に生成されている符号データの末尾の圧縮符号と、前記スレッドが出力する圧縮符号と、が所定の関係にあるか否かを判断する判断手段と、
    前記既に生成されている符号データの末尾の圧縮符号と、前記スレッドが出力する圧縮符号と、が所定の関係にある場合には、前記既に生成されている符号データの末尾に、該圧縮符号を結合した符号化データを生成し、前記既に生成されている符号データの末尾の圧縮符号と、前記スレッドが出力する圧縮符号と、が所定の関係にない場合には、前記既に生成されている符号データの末尾に、前記識別情報添付手段により識別情報が添付された圧縮符号を結合した符号化データを生成する結合手段と、
    を含む、
    画像処理装置。
  2. 前記圧縮処理手段は複数のスレッドを有し、
    前記スレッドの各々は、前記分割された圧縮処理のうちの一以上の圧縮処理が対応付けられる、請求項1記載の画像処理装置。
  3. 前記所定の関係は、前記符号データに含まれる符号の並び順の規則に従う関係である請求項1または請求項2に記載の画像処理装置。
  4. 前記結合手段は、前記圧縮符号を結合する場合に、前記既に生成されている符号データに含まれる圧縮符号の識別情報に含まれるデータサイズに係る情報を更新する請求項1〜請求項3の何れか1項に記載の画像処理装置。
  5. 前記識別情報添付手段は、属性の値が同一である複数の圧縮符号からなるクラスタに対し、一の識別情報を添付する請求項1〜請求項4の何れか項に記載の画像処理装置。
  6. 前記スレッドが出力する圧縮符号を格納する記憶手段を有し、
    前記識別情報添付手段は、前記記憶手段に格納された圧縮符号のうち、属性の値が同一である複数の圧縮符号からなるクラスタ毎に、一の識別情報を添付する請求項5に記載の画像処理装置。
  7. 前記スレッドの一が出力する圧縮符号は、属性の値が同一である請求項又は請求項6に記載の画像処理装置。
  8. 前記圧縮符号の各々は、複数の属性のうちの一以上の属性を有し、
    前記属性の一を選択する属性選択手段を有し、
    前記識別情報添付手段は、前記属性選択手段によって選択された属性の値が同一である複数の圧縮符号からなるクラスタに対し、一の識別情報を添付する請求項5〜請求項7の何れか項に記載の画像処理装置。
  9. 前記画像データの圧縮処理を分割する圧縮処理分割手段を有し、
    前記圧縮処理手段は、前記圧縮処理分割手段によって分割された圧縮処理毎に、複数の前記スレッドのうちの一を対応づける請求項1〜請求項8の何れか項に記載の画像処理装置。
  10. 記符号データは、JPEG2000規格による符号データである請求項1〜請求項9の何れか項に記載の画像処理装置。
  11. 前記識別情報は、スタートオブタイルパートヘッダである請求項10に記載の画像処理装置。
  12. 一以上のスレッドから出力される複数の圧縮符号を結合して符号データを生成する画像処理装置における画像処理方法であって、
    分割された圧縮処理に対応づけられたスレッドにより画像データの圧縮処理を行う圧縮処理ステップと、
    前記スレッドから出力される圧縮符号に識別情報を添付する識別情報添付ステップと、
    既に生成されている符号データの末尾の圧縮符号と、前記スレッドが出力する圧縮符号と、が所定の関係にあるか否かを判断する判断ステップと、
    前記既に生成されている符号データの末尾の圧縮符号と、前記スレッドが出力する圧縮符号と、が所定の関係にある場合には、前記既に生成されている符号データの末尾に、該圧縮符号を結合した符号化データを生成し、前記既に生成されている符号データの末尾の圧縮符号と、前記スレッドが出力する圧縮符号と、が所定の関係にない場合には、前記既に生成されている符号データの末尾に、前記識別情報添付ステップにより識別情報が添付された圧縮符号を結合した符号化データを生成する結合ステップと、
    を含む、画像処理方法。
  13. 前記一以上のスレッドの各々は、前記分割された圧縮処理のうちの一以上の圧縮処理が対応付けられる請求項12に記載の画像処理方法。
  14. 請求項1又は請求項13に記載の画像処理方法を、コンピュータに実行させるコンピュータプログラム。
  15. 請求項14に記載のコンピュータプログラムを記憶したコンピュータ読み取り可能な情報記録媒体。
JP2008124778A 2008-05-12 2008-05-12 画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記録媒体 Expired - Fee Related JP5181816B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008124778A JP5181816B2 (ja) 2008-05-12 2008-05-12 画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記録媒体
US12/453,417 US8355584B2 (en) 2008-05-12 2009-05-11 Image processing apparatus, image processing method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008124778A JP5181816B2 (ja) 2008-05-12 2008-05-12 画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記録媒体

Publications (2)

Publication Number Publication Date
JP2009278163A JP2009278163A (ja) 2009-11-26
JP5181816B2 true JP5181816B2 (ja) 2013-04-10

Family

ID=41266942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008124778A Expired - Fee Related JP5181816B2 (ja) 2008-05-12 2008-05-12 画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記録媒体

Country Status (2)

Country Link
US (1) US8355584B2 (ja)
JP (1) JP5181816B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012025790A1 (en) * 2010-08-26 2012-03-01 Freescale Semiconductor, Inc. Video processing system and method for parallel processing of video data
US8497788B1 (en) 2012-04-25 2013-07-30 Pure Storage Inc. Efficient techniques for aligned fixed-length compression
JP7087792B2 (ja) 2018-07-31 2022-06-21 株式会社リコー 画像データ生成装置、画像データ生成方法およびプログラム

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3797013B2 (ja) 1999-04-12 2006-07-12 セイコーエプソン株式会社 画像処理方法、印刷装置、画像処理システムおよび記録媒体
US7369161B2 (en) * 1999-06-08 2008-05-06 Lightsurf Technologies, Inc. Digital camera device providing improved methodology for rapidly taking successive pictures
US7065253B2 (en) * 1999-09-03 2006-06-20 Intel Corporation Wavelet zerotree coding of ordered bits
US6597739B1 (en) * 2000-06-20 2003-07-22 Microsoft Corporation Three-dimensional shape-adaptive wavelet transform for efficient object-based video coding
US7006697B1 (en) * 2001-03-30 2006-02-28 Ricoh Co., Ltd. Parallel block MQ arithmetic image compression of wavelet transform coefficients
JP2002354263A (ja) * 2001-05-25 2002-12-06 Canon Inc 画像処理装置及びその方法並びにプログラムコード、記憶媒体
JP2003032496A (ja) * 2001-07-12 2003-01-31 Sanyo Electric Co Ltd 画像符号化装置および方法
JP4065978B2 (ja) * 2001-11-05 2008-03-26 株式会社ニコン 画像圧縮装置、画像圧縮プログラムおよび画像圧縮方法
EP1349393A1 (en) * 2002-03-15 2003-10-01 Ricoh Company Image compression device, image decompression device, image compression/decompression device, program for executing on a computer to perform functions of such devices, and recording medium storing such a program
JP2004007555A (ja) * 2002-04-09 2004-01-08 Canon Inc エントロピー符号化装置
JP4139633B2 (ja) * 2002-06-28 2008-08-27 株式会社リコー 画像処理装置
JP4141342B2 (ja) * 2002-08-12 2008-08-27 株式会社リコー 画像形成装置
JP4003945B2 (ja) * 2002-08-26 2007-11-07 株式会社リコー 画像処理装置、画像処理方法、プログラム及び記憶媒体
US7245775B2 (en) * 2002-08-26 2007-07-17 Ricoh Company, Ltd. Image processing apparatus for compositing images
JP2004104650A (ja) * 2002-09-12 2004-04-02 Ricoh Co Ltd 画像処理装置、画像読取装置、画像形成装置、画像処理用プログラム及び記憶媒体
US7454069B2 (en) * 2002-11-20 2008-11-18 Ricoh Company, Ltd. Image processing apparatus, image compressing apparatus, image decompressing apparatus, image processing method, image compressing method, image decompressing method, information processing apparatus, information processing method, program and recording medium
JP4179498B2 (ja) * 2002-11-20 2008-11-12 株式会社リコー 画像処理装置及び画像処理方法
US7580577B2 (en) * 2002-12-09 2009-08-25 Canon Kabushiki Kaisha Methods, apparatus and computer products for generating JPEG2000 encoded data in a client
JP4065535B2 (ja) * 2002-12-09 2008-03-26 キヤノン株式会社 符号データ作成方法及び装置
JP2004236299A (ja) * 2003-01-07 2004-08-19 Ricoh Co Ltd 画像処理装置、画像形成装置、画像処理方法、プログラム及び記憶媒体
JP2004242290A (ja) * 2003-01-14 2004-08-26 Ricoh Co Ltd 画像処理装置および画像処理方法、画像編集処理システム、画像処理プログラム及び記憶媒体
JP4148462B2 (ja) * 2003-01-20 2008-09-10 株式会社リコー 画像処理装置、電子カメラ装置及び画像処理方法
JP2004248268A (ja) * 2003-01-22 2004-09-02 Ricoh Co Ltd 画像処理装置、画像形成装置、画像復号装置、画像処理方法、プログラムおよび記憶媒体
JP4111923B2 (ja) * 2003-01-22 2008-07-02 株式会社リコー データ形式可逆変換方法、画像処理装置、データ形式可逆変換用プログラム及び記憶媒体
JP4155929B2 (ja) * 2003-01-22 2008-09-24 株式会社リコー 画像符号化装置、符号復号化装置、画像符号化方法、符号復号化方法、プログラム及び記憶媒体
JP2004248271A (ja) * 2003-01-23 2004-09-02 Ricoh Co Ltd 画像処理装置、画像形成装置、画像処理方法、プログラムおよび記憶媒体
US7333663B1 (en) * 2003-04-07 2008-02-19 Xilinx, Inc. Method and apparatus for efficient entropy coding of images
US7643700B2 (en) * 2003-08-29 2010-01-05 Ricoh Company, Ltd. Processing of coded data according to user preference
US7483583B2 (en) * 2003-12-16 2009-01-27 Infocus Corporation System and method for processing image data
US7450770B2 (en) * 2003-12-19 2008-11-11 National Taiwan University Architecture and method for parallel embedded block coding
JP2005259042A (ja) 2004-03-15 2005-09-22 Seiko Epson Corp 画像処理方法および画像処理プログラム
JP4418762B2 (ja) * 2004-05-07 2010-02-24 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US7583844B2 (en) * 2005-03-11 2009-09-01 Nokia Corporation Method, device, and system for processing of still images in the compressed domain
JP2007005844A (ja) * 2005-05-25 2007-01-11 Ricoh Co Ltd 符号化処理装置、符号化処理方法、プログラム及び情報記録媒体
JP4688165B2 (ja) * 2005-09-30 2011-05-25 株式会社リコー 画像処理装置及び画像処理方法
JP2007142614A (ja) * 2005-11-16 2007-06-07 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラム及び情報記録媒体
US7836116B1 (en) * 2006-06-15 2010-11-16 Nvidia Corporation Fast fourier transforms and related transforms using cooperative thread arrays
US7760948B1 (en) * 2006-10-13 2010-07-20 Xilinx, Inc. Parallel coefficient bit modeling
US8135223B2 (en) * 2007-03-16 2012-03-13 Ricoh Company, Ltd. Image processing apparatus and method of image processing
JP4907487B2 (ja) * 2007-10-24 2012-03-28 株式会社リコー 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
US20090279795A1 (en) 2009-11-12
US8355584B2 (en) 2013-01-15
JP2009278163A (ja) 2009-11-26

Similar Documents

Publication Publication Date Title
EP1072015B1 (en) Multiresolution compressed image management system and method
JP4545980B2 (ja) 符号化装置及び符号化方法並びに記憶媒体
US7840079B2 (en) Seamless multiplexing of embedded bitstreams
JP4618676B2 (ja) 構造化文書符号の転送方法、画像処理システム、サーバ装置、プログラム及び情報記録媒体
JP4907487B2 (ja) 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体
US7970220B2 (en) Image processing apparatus and method for performing decoding process on coded data of motion picture based on a plurality of attributes thereof
JP2002359850A (ja) ウェーブレット処理を実行するためのメモリ使用機構
JP3922919B2 (ja) 静止画像伸長装置及び静止画像伸長方法
JP7439762B2 (ja) 情報処理装置および情報処理方法、並びにプログラム
JP5181816B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記録媒体
JP4609918B2 (ja) 画像処理システム、画像処理方法、プログラム及び情報記録媒体
JP2007005844A (ja) 符号化処理装置、符号化処理方法、プログラム及び情報記録媒体
JP4907488B2 (ja) 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体
US8417041B2 (en) Resolution independent image degradation
JP4584115B2 (ja) 画像符号化装置、画像符号化方法、画像符号化プログラムおよび画像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4850806B2 (ja) エントロピー符号化装置、エントロピー符号化方法およびコンピュータプログラム
JP2006086579A (ja) 画像処理装置、プログラム、及び記憶媒体
JP4688164B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP2007013706A (ja) 画像データ生成装置、画像データ生成方法及び画像データ生成プログラム
JP2010074386A (ja) 画像処理装置、画像処理方法、コンピュータプログラム及び情報記録媒体
JP2007166406A (ja) 画像処理方法及び画像処理装置及びコンピュータプログラム及び記憶媒体
JP2001069508A (ja) 画像蓄積方法、画像蓄積装置及び記録媒体
JP2001045482A (ja) 画像処理装置及び方法
JP2007027892A (ja) 画像データ記録装置、画像データ記録方法及びプログラム
JP2000013610A (ja) 符号化画像ファイル作成方法および装置、復号化方法および装置、並びに符号化画像ファイル作成方法および復号化方法をコンピュータに実行させるプログラムを記録したコンピュータ読取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120405

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: 20121218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121231

R151 Written notification of patent or utility model registration

Ref document number: 5181816

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees