JP2009105701A - 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体 - Google Patents

画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JP2009105701A
JP2009105701A JP2007276074A JP2007276074A JP2009105701A JP 2009105701 A JP2009105701 A JP 2009105701A JP 2007276074 A JP2007276074 A JP 2007276074A JP 2007276074 A JP2007276074 A JP 2007276074A JP 2009105701 A JP2009105701 A JP 2009105701A
Authority
JP
Japan
Prior art keywords
image
decoding
image processing
encoding
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007276074A
Other languages
English (en)
Other versions
JP4907488B2 (ja
Inventor
Taku Kodama
児玉  卓
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 JP2007276074A priority Critical patent/JP4907488B2/ja
Publication of JP2009105701A publication Critical patent/JP2009105701A/ja
Application granted granted Critical
Publication of JP4907488B2 publication Critical patent/JP4907488B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】 本発明は、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行可能とする。
【解決手段】 本発明の画像処理装置は、符号データにおける画像情報を解読するヘッダ処理手段と、独立に復号可能な符号に分割する符号分割手段と、受け取った符号データを復号処理する復号処理手段と、分割した符号データを、復号処理手段に提供する起動手段と、復号処理手段の復号結果を受け取る画像データ獲得手段と、同時に実施可能なスレッド数を獲得するスレッド数獲得手段と、復号処理手段の実行スレッド数を獲得する実行スレッド数獲得手段とを有している。そして、本発明の画像処理装置は、実行可能なスレッド数と復号処理手段の実行スレッド数を元に符号データを分割し、復号処理手段を同時に複数実行して画像データを生成する。
【選択図】 図10

Description

本発明は画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体に関し、詳細には画像データの圧縮伸張方法に関し、特に複数のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いて画像処理を実行する技術に関する。
近年、コンピュータ技術の進展に伴い、高速なプロセッサや大容量のメモリ等の様々なハードウェア資源が開発されている。その中の一つに、1つのプロセッサが論理的に複数のプロセッサとして働くことができるようなプロセッサがある。このプロセッサは、複数のスレッドのそれぞれに含まれる命令を並列に実行することが可能である。このようなプロセッサにより、画像処理を行うことにより、画像処理の高速化が期待されている。このような画像処理方法について従来よりいくつか提案がなされている。
その一つとして特許文献1には、画像処理を実行するための複数のスレッドをそのスレッドの実行に用いる処理方法の違いによって、グループに分け、実行する画像処理方法および画像処理プログラムが提案されている。また、特許文献2には、ハーフトーニングに割り当てるプロセッサ数を変化させ、また割り当てるプロセッサを解像度で変化させる画像処理方法、印刷装置、画像処理システムおよび記録媒体が提案されている。
特開2005−259042号公報 特許第3,797,013号明細書
しかしながら、上記特許文献1、2の画像処理方法は、JPEG2000のように、並列実行可能な符号と、並列実行が不可能な部分が混在し、かつ処理対象となる符号によって変化するものである場合、適した分割ができず、高速化ができない。つまり、JPEG2000画像処理方法などに代表される領域ごとに独立に復号可能な符号からなる符号の復号処理は、並列処理可能な部分と、並列処理不可能な部分とが混在しており、処理が複雑であり、高速化は困難であった。
本発明はこれらの問題点を解決するためのものであり、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行可能とする画像処理装置、画像処理方法及び該方法を実行させるプログラムを格納したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
前記問題点を解決するために、画像データを領域に分割し、分割した領域ごとに独立に復号可能な圧縮処理を施した符号データを復号する、本発明の画像処理装置は、符号データにおける画像情報を解読するヘッダ処理手段と、独立に復号可能な符号に分割する符号分割手段と、受け取った符号データを復号処理する復号処理手段と、分割した符号データを、復号処理手段に提供する起動手段と、復号処理手段の復号結果を受け取る画像データ獲得手段と、同時に実施可能なスレッド数を獲得するスレッド数獲得手段と、復号処理手段の実行スレッド数を獲得する実行スレッド数獲得手段とを有している。そして、本発明の画像処理装置は、実行可能なスレッド数と復号処理手段の実行スレッド数を元に符号データを分割し、復号処理手段を同時に複数実行して画像データを生成することに特徴がある。よって、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
また、起動可能な復号処理手段を複数備え、領域ごとに起動する復号処理手段を選択することにより、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
更に、起動手段は、CPUにて実行する命令列のスループットを測定した測定結果に基づいて、復号処理手段の起動を制御することにより、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
また、起動手段は、コンピュータに搭載されたCPUの種類を取得した結果に基づいて、復号処理手段の起動を制御することにより、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
更に、起動手段は、コンピュータに搭載されたCPUの数を取得した結果に基づいて、復号処理手段の起動を制御することにより、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
また、起動手段は、コンピュータに搭載されたCPUのコアの数を取得した結果に基づいて、復号処理手段の起動を制御することにより、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
更に、起動手段は、コンピュータに搭載されたメモリサイズを取得した結果に基づいて、復号処理手段の起動を制御することにより、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
また、起動手段は、復号処理の途中で起動する復号処理手段の数を変更することにより、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
更に、起動手段は、圧縮符号の領域のサイズを取得する取得手段を有し、該取得手段によって取得した領域のサイズに基づいて、起動する符号化処理手段の数を変更する。よって、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
また、画像データを領域に分割し、分割した領域ごとに独立に復号可能な圧縮符号を生成する、本発明の画像処理装置は、画像の符号化条件の設定及びヘッダ情報の生成を行うヘッダ生成手段と、独立に復号可能な符号化データごとに対象となる画像データを元画像より抽出する画像分割手段と、受け取った画像データを符号化処理する符号化処理手段と、分割した画像データを、符号化処理手段に提供する起動手段と、符号化処理手段の符号化結果を受け取る符号データ獲得手段と、同時に実施可能なスレッド数を獲得するスレッド数獲得手段と、符号化処理手段の実行スレッド数を獲得する実行スレッド数獲得手段と、獲得した複数の符号化データを結合し、符号データを構成する符号生成手段とを有している。そして、本発明の画像処理装置は、実行可能なスレッド数と符号化処理手段の実行スレッド数を元に画像データを分割し、符号化処理手段を同時に複数実行して符号を生成することに特徴がある。よって、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
更に、起動可能な符号化処理手段を複数備え、領域ごとに起動する符号化処理手段を選択することにより、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
また、起動手段は、CPUにて実行する命令列のスループットを測定した測定結果に基づいて、符号化処理手段の起動を制御することにより、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
更に、起動手段は、コンピュータに搭載されたCPUの種類を取得した結果に基づいて、符号化処理手段の起動を制御することにより、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
また、起動手段は、コンピュータに搭載されたCPUの数を取得した結果に基づいて、符号化処理手段の起動を制御することにより、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
更に、起動手段は、コンピュータに搭載されたCPUのコアの数を取得した結果に基づいて、符号化処理手段の起動を制御することにより、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
また、起動手段は、コンピュータに搭載されたメモリサイズを取得した結果に基づいて、符号化処理手段の起動を制御することにより、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
更に、起動手段は、符号処理の途中で起動する符号化処理手段の数を変更することにより、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
また、起動手段は、圧縮符号の領域のサイズを取得する取得手段を有し、該取得手段によって取得した領域のサイズに基づいて、起動する復号処理手段の数を変更する。よって、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
更に、圧縮符号がJPEG2000であることが好ましい。また、領域のサイズがタイルであることが好ましい。更に、領域のサイズがプレシンクトであることが好ましい。
また、別の発明としての画像処理方法によれば、画像データを領域に分割し、分割した領域ごとに独立に復号可能な圧縮処理を施した符号データを復号する。そして、本発明の画像処理方法は、符号データにおける画像情報を解読するヘッダ処理工程と、独立に復号可能な符号に分割する符号分割工程と、受け取った符号データを復号処理する復号処理工程と、分割した符号データを復号処理工程に対して提供する起動工程と、復号処理工程による復号結果を受け取る画像データ獲得工程と、同時に実施可能なスレッド数を獲得するスレッド数獲得工程と、復号処理工程における実行スレッド数を獲得する実行スレッド数獲得工程とを有している。更には、本発明の画像処理方法は、実行可能なスレッド数と復号処理工程における実行スレッド数を元に符号データを分割し、復号処理工程を同時に複数実行して画像データを生成することに特徴がある。よって、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
更に、別の発明としての画像処理方法によれば、画像データを領域に分割し、分割した領域ごとに独立に復号可能な圧縮符号を生成する。そして、本発明の画像処理方法は、画像の符号化条件の設定及びヘッダ情報の生成を行うヘッダ生成工程と、独立に復号可能な符号化データごとに対象となる画像データを元画像より抽出する画像分割工程と、受け取った画像データを符号化処理する符号化処理工程と、分割した画像データを符号化処理工程に対して提供する起動工程と、符号化処理工程による符号化結果を受け取る符号データ獲得工程と、同時に実施可能なスレッド数を獲得するスレッド数獲得工程と、符号化処理工程における実行スレッド数を獲得する実行スレッド数獲得工程と、獲得した複数の符号化データを結合し、符号データを構成する符号生成工程とを有している。更には、本発明の画像処理方法は、実行可能なスレッド数と符号化処理工程における実行スレッド数を元に画像データを分割し、符号化処理工程を同時に複数実行して符号を生成することに特徴がある。よって、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
また、別の発明として、コンピュータにより、上記画像処理方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体に特徴がある。よって、既存のシステムを変えることなく、画像処理システムを汎用的に構築することができる。
本発明の画像処理装置は、実行可能なスレッド数と復号処理手段の実行スレッド数を元に符号データを分割し、復号処理手段を同時に複数実行して画像データを生成する。また、実行可能なスレッド数と符号化処理工程における実行スレッド数を元に画像データを分割し、符号化処理工程を同時に複数実行して符号を生成する。よって、複数のスレッドにそれぞれに含まれる命令を並列に実行可能な画像処理を高速に実行できる。
図1はJPEG2000エンコーダの構成を示すブロック図である。同図において、入力画像はまずウェーブレット変換(以下DWTと略す)101によりサブバンド分解され、その後量子化部102により量子化される。分解レベルが2のとき(解像度レベル数3)のサブバンド分解の例を示す図2のように、level0からlevel2までの解像度レベルが存在する。このとき、小さい解像度レベルに属する係数ほど低い周波数の情報を含むことになる。量子化されたウェーブレット係数は、EBCOTアルゴリズムにより符号化される。そして、コードプロック分割部103において、各サブバンドはコードプロックと呼ばれる正方形のブロック(例えば64×64など)に分割される。これらのコードブロックは、それぞれ独立に符号化される。次に、係数モデリング部104では、各コードブロックのウェーブレット係数列に対し、ピットプレーンに基づく係数モデリングを行う。これにより、係数ビットが重要度順に並んだエンペデッド符号列を生成する。MSBからLSBまでのすべてのビットプレーンは、それぞれ文脈に応じて三つのサブビットプレーン(パス)分解される。各サブビットブレーンの境界は打切り点(Truncation point)と呼ばれ、後でデータを切り捨てる際の最小の分割単位となる。そして、算術符号化部105とレート制御部106では、係数モデリングにより生成されたエンベデッド符号列に対して、適応算術符号化を施す。その後、サブビットブレーンの境界である打切り点を単位として、算術符号列を適宜打ち切ることにより、目的のビットレートを得る。次に、レイヤ形成部107では、複数の画質で順次表示する必要がある場合、すなわちSNRスケーラブルが必要であるとき、次に符号のレイヤ形成を行う。各レイヤはそれぞれ、各コードブロックのエンベデノド符号の一部を含む。高いレイヤほど画像の再生にあたって重要な成分を含むことになる。そして、パケット生成部108は、各レイヤを複数のボディと呼ばれる単位に分解し、それぞれにヘッダ情報を付加してパケットを生成する。ここで各ボディは、それぞれ対応する解像度レベルの情報をもつ。したがって、生成されるパケットの総数は、レイヤ数と解像度レベル数の積となる。ヘッダ情報には、各コードブロックの算術符号列の長さ、サブビットブレーンの個数などの情報が含まれる。図3のように、全てのパケットをまとめ、グローバルヘッダ情報を付加したものが、最終的なJPEG2000の符号列となる。ただし、以上のような各種ヘッダ情報やデータ分割の最小単位であるサブビットプレーンは、1バイトの整数倍のサイズとすることをJPEG2000では規定している。
図4は本発明の一実施の形態に係る画像処理装置の構成を示すブロック図である。同図において、データバス201を介して、HDD202、RAM(PC内)203、CPU(PC内)204が接続されており、以下の流れで符号データが復号される。HDD202上に記録された符号データがCPU204からの命令によってRAM203上に読み込まれる。CPU204はRAM203上の符号を読み込み、復号処理を行う。CPU204は、復号後のデータをRAM203上の別の領域に書き込む。CPU204からの命令によって、復号後のデータがHDD202上に記録される。なお、CPU204は複数のスレッドを並列実行可能なCPUである。
ここで、図5〜図8にCPU内での実行命令とスレッドの関係を示す。なお、実行する命令を命令0〜命令9とし、CPUにて並列実行可能なスレッドをTHREAD0〜THREAD4とする。
図5はCPUが同時に1つのTHREADしか実行できない場合の例であるこのようなCPUをシングルスレッドCPUと称す。図6〜図8は並列に4つのTHREADを実行可能なCPUの例である。このようなCPUをマルチスレッドCPUと称す。図6の場合、CPUは並列に4つのTHREADを実行可能であるが、例えば命令1は命令0の結果を利用するなどの理由により、並列にスレッドを実行できず、復号処理はシングルスレッドCPUと同じになってしまう。図7にTHREADが部分的に、並列実行可能な場合(THREAD5〜8)を示す。マルチスレッド処理を一部実行でき、この場合、30%の処理時間の短縮が実現できている。図8に全てのTHREADが並列実行可能であった場合の処理の模式図を示す。3命令で全ての処理を終えており、70%の処理時間の短縮が実現できている。
図9は本発明の第1の実施の形態における画像処理動作の流れを示すフローチャートである。ここでは画像を圧縮した符号データを復号し、画像データを生成するものを示す。同図において、復号処理を実施するPCの並列実行可能なスレッド数Nを取得する(ステップS101)。そして、取得したスレッド数N>1であるかを判断する(ステップS102)。N>1のときはマルチスレッド処理を実行する(ステップS102;YES、ステップS103)。一方、N≦1のときはシングルスレッド処理を実行する(ステップS102;NO、ステップS104)。終了処理を行う(ステップS105)。なお、この終了処理は、プログラムの終了処理、生成された画像データの出力などである。必ずしも実行されるものではない。また、シングルスレッド処理は、一般的なアプリケーションプログラムと同様の動作であり、CPUに動作させる命令列を1ずつ生成し、CPUに実行させるものである。
次に、マルチスレッド処理の復号動作について当該動作フローを示す図10に従って説明する。
先ず、マルチスレッド処理の初期化を行う(ステップS201)。なお、初期設定として、実行中のスレッド数N1=0とする。また、復号処理を実行する符号データの、独立に復号可能なデータ単位(例えば、JPEG2000のタイル)の数NTを算出する。すでに処理した独立な処理単位数ND=0とする。次に、NT及びNDから、未処理の独立データ数NNを算出する(ステップS202)。
NN=NT−ND
スレッド分割を以下のように実施する。実行中のスレッド数NDと、実行可能スレッド数Nから、未使用のスレッドNTを算出する。
NT=N−ND
NT>0のとき、符号データのうち、独立して復号可能な符号データの一部を、復号処理装置に提供し、復号化処理を実行する(ステップS203)。提供する符号データの一部は、元になる符号データからのオフセットなど、符号データの位置を示してもよい。実際に元になる符号データから抽出してもよい。抽出する際には、完全な符号となるように、ヘッダ情報も結合し提供してもよい。
ここで、全体画像の一部分であるという点を考慮せず、独立した画像データが複数あるとして、処理した場合、画像中のオフセット情報が欠如するため、正常に動作しないことがあるため、正しく復号可能な符号を生成する際は注意が必要である。例えば、JPEG2000符号においては、ウェーブレット変換のLow又はHighフィルタをかける際、元画像での位置により適用するフィルタが変化するため、オフセット情報を正確に反映し、符号を生成しなくてはならない。同様にコードブロックの分割、プレシンクトの分割なども、注意が必要である。
全てのタイルの処理が終了したら、処理を終了する(ステップS204)。(N1=1かつNN=0)
なお、本実施の形態は一例を示しただけであり、部分符号化処理の一例を示しただけである。CPUで実行する復号用のデータを生成する際に、通常の符号を提供する方法に加え、独立したデータごとに異なる部分符号に分割する方法と、独立した複数のデータを部分符号にする分割する方法などもある。また、それらの符号の生成の際には、CPUの種類、数、コアの数、PCのメモリのサイズ、圧縮符号の領域のサイズ、などの条件に応じて、効率よく、実行される部分符号を生成することにより、高速化を実現するものである。また、本実施の形態では、必ず部分符号を生成する方法で説明したが、処理速度を考慮した場合に、複数のスレッドが実行可能な復号処理装置においても、部分符号を生成しないで復号化処理を行った方が高速であると判断した場合には、通常のスレッド生成手段を利用する。また、異なる性能を有す復号処理装置を備えている構成をとることも可能である。その場合、各復号処理装置に実施させる部分符号の生成は非常に困難であるため、以前の処理結果などを利用し、適した部分符号の生成が有効である。
次に、本実施の形態における画像処理動作の符号化処理について説明する。ここでは、画像を圧縮し、符号データを生成するものである。図9において、符号化処理を実施するPCの並列実行可能なスレッド数Nを取得する(ステップS101)。そして、取得したスレッド数N>1であるかを判断する(ステップS102)。N>1のときはマルチスレッド処理を実行する(ステップS102;YES、ステップS103)。一方、N≦1のときはシングルスレッド処理を実行する(ステップS102;NO、ステップS104)。終了処理を行う(ステップS105)。なお、この終了処理は、複数回実行した符号化装置の符号化結果を結合し、符号データを生成する処理である。しかしながら、各符号化装置に予めデータの記録位置を指示し、符号化処理を実行させている場合は、結合処理が必要ではない場合もある。また、シングルスレッド処理は、一般的なアプリケーションプログラムと同様の動作であり、CPUに動作させる命令列を1ずつ生成し、CPUに実行させるものである。
次に、マルチスレッド処理の符号動作について図10に従って説明する。
先ず、マルチスレッド処理の初期化を行う(ステップS201)。なお、初期設定として、実行中のスレッド数N1=0とする。また、符号化処理を実行する画像データの、独立に復号可能なデータ単位(例えば、JPEG2000のタイル)の数NTを算出する。すでに処理した独立な処理単位数ND=0とする。次に、NT及びNDから、未処理の独立データ数NNを算出する(ステップS202)。
NN=NT−ND
NT>0のとき、独立して復号可能な符号データを生成する符号化装置に、画像データの一部を提供し、符号化処理を実行する(ステップS203)。提供する画像データの一部は、元になる画像データからのオフセットなど、位置で示してもよい。実際に元になる画像データから抽出したものを生成してもよい。
ここで、全体画像の一部分であるという点を考慮せず、独立した画像データが複数あるとして、処理した場合、画像中のオフセット情報が欠如するため、正常に動作しないことがあるため、正しく復号可能な符号を生成する際は注意が必要である。例えば、JPEG2000符号においては、ウェーブレット変換のLow又はHighフィルタをかける際、元画像での位置により適用するフィルタが変化するため、オフセット情報を正確に反映し、符号を生成しなくてはならない。同様にコードブロックの分割、プレシンクトの分割なども、注意が必要である。
全てのタイルの処理が終了したら、処理を終了する(ステップS204)。(N1=1かつNN=0)
なお、本実施の形態は一例を示しただけであり、部分符号化処理の一例を示しただけである。CPUで実行する符号化用のデータを生成する際に、通常の符号を提供する方法に加え、独立したデータごとに異なる画像に提供する方法と、複数領域をまとめて符号化処理に提供する方法などもある。また、それらの画像の生成の際には、CPUの種類、数、コアの数、PCのメモリのサイズ、圧縮符号の領域のサイズ、などの条件に応じて、効率よく、実行される部分画像を生成することにより、高速化を実現するものである。また、本実施の形態では、必ず部分画像を生成する方法で説明したが、処理速度を考慮した場合に、複数のスレッドが実行可能な符号化処理装置においても、部分画像を生成しないで符号化処理を行った方が高速であると判断した場合には、通常のスレッド生成手段を利用する。また、異なる性能を有す符号化処理装置を備えている構成をとることも可能である。その場合、最適な符号化処理の分割方法の判断は非常に困難であるため、以前の処理結果などを利用し、適した符号化が有効である。
図11は本発明の第2の実施の形態における画像処理動作のマルチスレッド処理の流れを示すフローチャートである。
先ず、マルチスレッド処理の初期化を行う(ステップS301)。なお、初期設定として、実行中のスレッド数N1=0とする。また、復号処理を実行する符号データの、独立に復号可能なデータ単位(例えば、JPEG2000のタイル)の数NTを算出する。すでに処理した独立な処理単位数ND=0とする。起動装置は、記憶装置に記憶されている起動制御方法を取得する(ステップS302)。記憶装置には、U/Iを通じた設定、過去の実績からの設定、デフォルト値の設定、CPU種類に対する制御方法、CPU数に対する制御方法、CPUコア数に対する制御方法、タイルサイズごとの制御方法、プレシンクトサイズごとの制御方法、などに多々考えられる。次に、起動方法に従い実施する(ステップS303)。全てのタイルの処理が終了したら、処理を終了する(ステップS304)。
次に、図12は本発明の画像処理方法の各実施例を実行させるプログラムを起動するための具体的な装置の構成を示すブロック図である。つまり、同図は上記実施の形態における画像処理方法によるソフトウェアを実行させるマイクロプロセッサ等から構築されるハードウェアを示すものである。同図において、画像処理システムはインターフェース(以下I/Fと略す)301、CPU302、ROM303、RAM304、表示装置305、ハードディスク306、キーボード307及びCD−ROMドライブ308を含んで構成されている。また、汎用の処理装置を用意し、CD−ROMなどの読取可能な記録媒体309には、本発明の画像処理方法を実行させるプログラムが記憶されている。更に、I/F301を介して外部装置から制御信号が入力され、キーボード307によって操作者による指令又は自動的に本発明のプログラムが起動される。そして、CPU302は当該プログラムに従って上述の画像処理方法に伴う画像処理を施し、その処理結果をRAM304やハードディスク306等の記憶装置に格納し、必要により表示装置305などに出力する。以上のように、本発明の画像処理方法を実行させるプログラムが記録した記録媒体を用いることにより、既存のシステムを変えることなく、画像処理システムを汎用的に構築することができる。
なお、本発明は上記実施の形態に限定されるものではなく、特許請求の範囲内の記載であれば多種の変形や置換可能であることは言うまでもない。
JPEG2000エンコーダの構成を示すブロック図である。 JPEG2000におけるDWTによるサブバンド分解の様子を示す図である。 JPEG2000の符号列を示す図である。 本発明の一実施の形態に係る画像処理装置の構成を示すブロック図である。 スレッドと命令の関係を示す図である。 スレッドと命令の関係を示す図である。 スレッドと命令の関係を示す図である。 スレッドと命令の関係を示す図である。 本発明の第1の実施の形態における画像処理動作の流れを示すフローチャートである。 マルチスレッド処理の復号動作を示すフローチャートである。 本発明の第2の実施の形態における画像処理動作のマルチスレッド処理の流れを示すフローチャートである。 本発明の画像処理方法の各実施例を実行させるプログラムを起動するための具体的な装置の構成を示すブロック図である。
符号の説明
201;バス、202;HDD、203;RAM、204;CPU。

Claims (24)

  1. 画像データを領域に分割し、分割した領域ごとに独立に復号可能な圧縮処理を施した符号データを復号する画像処理装置であって、
    符号データにおける画像情報を解読するヘッダ処理手段と、
    独立に復号可能な符号に分割する符号分割手段と、
    受け取った符号データを復号処理する復号処理手段と、
    分割した符号データを、前記復号処理手段に提供する起動手段と、
    前記復号処理手段の復号結果を受け取る画像データ獲得手段と、
    同時に実施可能なスレッド数を獲得するスレッド数獲得手段と、
    前記復号処理手段の実行スレッド数を獲得する実行スレッド数獲得手段と
    を有し、
    実行可能なスレッド数と前記復号処理手段の実行スレッド数を元に符号データを分割し、前記復号処理手段を同時に複数実行して画像データを生成することを特徴とする画像処理装置。
  2. 起動可能な前記復号処理手段を複数備え、領域ごとに起動する前記復号処理手段を選択することを特徴とする請求項1記載の画像処理装置。
  3. 前記起動手段は、CPUにて実行する命令列のスループットを測定した測定結果に基づいて、前記復号処理手段の起動を制御することを特徴とする請求項1記載の画像処理装置。
  4. 前記起動手段は、コンピュータに搭載されたCPUの種類を取得した結果に基づいて、前記復号処理手段の起動を制御することを特徴とする請求項1記載の画像処理装置。
  5. 前記起動手段は、コンピュータに搭載されたCPUの数を取得した結果に基づいて、前記復号処理手段の起動を制御することを特徴とする請求項1記載の画像処理装置。
  6. 前記起動手段は、コンピュータに搭載されたCPUのコアの数を取得した結果に基づいて、前記復号処理手段の起動を制御することを特徴とする請求項1記載の画像処理装置。
  7. 前記起動手段は、コンピュータに搭載されたメモリサイズを取得した結果に基づいて、前記復号処理手段の起動を制御することを特徴とする請求項1記載の画像処理装置。
  8. 前記起動手段は、復号処理の途中で起動する前記復号処理手段の数を変更することを特徴とする請求項1〜7のいずれか1項に記載の画像処理装置。
  9. 前記起動手段は、圧縮符号の領域のサイズを取得する取得手段を有し、該取得手段によって取得した領域のサイズに基づいて、起動する前記符号化処理手段の数を変更することを特徴とする請求項1〜8のいずれか1項に記載の画像処理装置。
  10. 画像データを領域に分割し、分割した領域ごとに独立に復号可能な圧縮符号を生成する画像処理装置であって、
    画像の符号化条件の設定及びヘッダ情報の生成を行うヘッダ生成手段と、
    独立に復号可能な符号化データごとに対象となる画像データを元画像より抽出する画像分割手段と、
    受け取った画像データを符号化処理する符号化処理手段と、
    分割した画像データを、前記符号化処理手段に提供する起動手段と、
    前記符号化処理手段の符号化結果を受け取る符号データ獲得手段と、
    同時に実施可能なスレッド数を獲得するスレッド数獲得手段と、
    前記符号化処理手段の実行スレッド数を獲得する実行スレッド数獲得手段と、
    獲得した複数の符号化データを結合し、符号データを構成する符号生成手段と
    を有し、
    実行可能なスレッド数と前記符号化処理手段の実行スレッド数を元に画像データを分割し、前記符号化処理手段を同時に複数実行して符号を生成することを特徴とする画像処理装置。
  11. 起動可能な前記符号化処理手段を複数備え、領域ごとに起動する前記符号化処理手段を選択することを特徴とする請求項10記載の画像処理装置。
  12. 前記起動手段は、CPUにて実行する命令列のスループットを測定した測定結果に基づいて、前記符号化処理手段の起動を制御することを特徴とする請求項10記載の画像処理装置。
  13. 前記起動手段は、コンピュータに搭載されたCPUの種類を取得した結果に基づいて、前記符号化処理手段の起動を制御することを特徴とする請求項10記載の画像処理装置。
  14. 前記起動手段は、コンピュータに搭載されたCPUの数を取得した結果に基づいて、前記符号化処理手段の起動を制御することを特徴とする請求項10記載の画像処理装置。
  15. 前記起動手段は、コンピュータに搭載されたCPUのコアの数を取得した結果に基づいて、前記符号化処理手段の起動を制御することを特徴とする請求項10記載の画像処理装置。
  16. 前記起動手段は、コンピュータに搭載されたメモリサイズを取得した結果に基づいて、前記符号化処理手段の起動を制御することを特徴とする請求項10記載の画像処理装置。
  17. 前記起動手段は、符号処理の途中で起動する前記符号化処理手段の数を変更することを特徴とする請求項10〜16のいずれか1項に記載の画像処理装置。
  18. 前記起動手段は、圧縮符号の領域のサイズを取得する取得手段を有し、該取得手段によって取得した領域のサイズに基づいて、起動する前記復号処理手段の数を変更することを特徴とする請求項10〜17のいずれか1項に記載の画像処理装置。
  19. 圧縮符号がJPEG2000であることを特徴とする請求項1〜18のいずれか1項に記載の画像処理装置。
  20. 前記領域のサイズがタイルであることを特徴とする請求項9又は18記載の画像処理装置。
  21. 前記領域のサイズがプレシンクトであることを特徴とする請求項9又は18記載の画像処理装置。
  22. 画像データを領域に分割し、分割した領域ごとに独立に復号可能な圧縮処理を施した符号データを復号する画像処理方法であって、
    符号データにおける画像情報を解読するヘッダ処理工程と、
    独立に復号可能な符号に分割する符号分割工程と、
    受け取った符号データを復号処理する復号処理工程と、
    分割した符号データを前記復号処理工程に対して提供する起動工程と、
    前記復号処理工程による復号結果を受け取る画像データ獲得工程と、
    同時に実施可能なスレッド数を獲得するスレッド数獲得工程と、
    前記復号処理工程における実行スレッド数を獲得する実行スレッド数獲得工程と
    を有し、
    実行可能なスレッド数と前記復号処理工程における実行スレッド数を元に符号データを分割し、前記復号処理工程を同時に複数実行して画像データを生成することを特徴とする画像処理方法。
  23. 画像データを領域に分割し、分割した領域ごとに独立に復号可能な圧縮符号を生成する画像処理方法であって、
    画像の符号化条件の設定及びヘッダ情報の生成を行うヘッダ生成工程と、
    独立に復号可能な符号化データごとに対象となる画像データを元画像より抽出する画像分割工程と、
    受け取った画像データを符号化処理する符号化処理工程と、
    分割した画像データを前記符号化処理工程に対して提供する起動工程と、
    前記符号化処理工程による符号化結果を受け取る符号データ獲得工程と、
    同時に実施可能なスレッド数を獲得するスレッド数獲得工程と、
    前記符号化処理工程における実行スレッド数を獲得する実行スレッド数獲得工程と、
    獲得した複数の符号化データを結合し、符号データを構成する符号生成工程と
    を有し、
    実行可能なスレッド数と前記符号化処理工程における実行スレッド数を元に画像データを分割し、前記符号化処理工程を同時に複数実行して符号を生成することを特徴とする画像処理方法。
  24. コンピュータにより、請求項22又は23に記載の画像処理方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
JP2007276074A 2007-10-24 2007-10-24 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体 Expired - Fee Related JP4907488B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007276074A JP4907488B2 (ja) 2007-10-24 2007-10-24 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007276074A JP4907488B2 (ja) 2007-10-24 2007-10-24 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2009105701A true JP2009105701A (ja) 2009-05-14
JP4907488B2 JP4907488B2 (ja) 2012-03-28

Family

ID=40706967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007276074A Expired - Fee Related JP4907488B2 (ja) 2007-10-24 2007-10-24 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP4907488B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017072749A (ja) * 2015-10-08 2017-04-13 シャープ株式会社 画像形成装置
CN111984417A (zh) * 2020-08-26 2020-11-24 展讯通信(天津)有限公司 用于移动终端的图像处理方法及装置、存储介质、终端
CN112488906A (zh) * 2020-11-30 2021-03-12 中科院计算所西部高等技术研究院 基于多线程的图像处理方法、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004242273A (ja) * 2002-12-09 2004-08-26 Canon Inc 符号データ作成方法及び装置
JP2006155480A (ja) * 2004-12-01 2006-06-15 Sony Computer Entertainment Inc スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム
JP2007014002A (ja) * 2006-08-03 2007-01-18 Ricoh Co Ltd 画像処理装置、画像処理用プログラム及び記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004242273A (ja) * 2002-12-09 2004-08-26 Canon Inc 符号データ作成方法及び装置
JP2006155480A (ja) * 2004-12-01 2006-06-15 Sony Computer Entertainment Inc スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム
JP2007014002A (ja) * 2006-08-03 2007-01-18 Ricoh Co Ltd 画像処理装置、画像処理用プログラム及び記録媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017072749A (ja) * 2015-10-08 2017-04-13 シャープ株式会社 画像形成装置
CN111984417A (zh) * 2020-08-26 2020-11-24 展讯通信(天津)有限公司 用于移动终端的图像处理方法及装置、存储介质、终端
CN111984417B (zh) * 2020-08-26 2023-01-24 展讯通信(天津)有限公司 用于移动终端的图像处理方法及装置、存储介质、终端
CN112488906A (zh) * 2020-11-30 2021-03-12 中科院计算所西部高等技术研究院 基于多线程的图像处理方法、计算机设备和存储介质
CN112488906B (zh) * 2020-11-30 2023-10-31 中科院计算所西部高等技术研究院 基于多线程的图像处理方法、计算机设备和存储介质

Also Published As

Publication number Publication date
JP4907488B2 (ja) 2012-03-28

Similar Documents

Publication Publication Date Title
JP4907487B2 (ja) 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体
JP5151919B2 (ja) 画像復号化装置と画像復号化方法およびコンピュータ・プログラム
JP4768728B2 (ja) 値のブロックをエンコードする方法および装置
JP2007531460A (ja) 縮小サイズまたはフルサイズでの再生を動的に選択的に行うための複数の独立した符号化チェーンを備えるビデオ符号化システム
JP4443165B2 (ja) 画像圧縮装置及び画像圧縮方法
JP4907488B2 (ja) 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体
JP7233875B2 (ja) 作成方法、コンピュータ及びプログラム
JP6186429B2 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
JP5396559B1 (ja) 画像符号化装置、画像符号化方法、画像符号化プログラムおよび記録媒体
JP5181816B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記録媒体
JP5105191B2 (ja) 画像処理装置
JP3938054B2 (ja) 画像データ構造を有するデータが記録されたコンピュータ読み取り可能な記憶媒体、画像記録方法、装置及びプログラム
JP2010074386A (ja) 画像処理装置、画像処理方法、コンピュータプログラム及び情報記録媒体
JP4111761B2 (ja) 画像処理装置
JP2010103748A (ja) 符号化装置、復号装置、画像形成装置、及びプログラム。
JP4850806B2 (ja) エントロピー符号化装置、エントロピー符号化方法およびコンピュータプログラム
JP2004007251A (ja) 画像処理装置
JP2007049485A (ja) 離散ウェーブレット変換装置及び方法、並びにプログラム及び記録媒体
JP2006196969A (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP6377222B2 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
JP2005223538A (ja) 画像処理回路
JP2005235029A (ja) 画像縮小方法および装置ならびにプログラム
JP2007013706A (ja) 画像データ生成装置、画像データ生成方法及び画像データ生成プログラム
JP2002176561A (ja) 画像処理装置及びその方法、コンピュータ可読メモリ
JP4095454B2 (ja) データ復号装置及びデータ復号方法

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20091207

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110830

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120111

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

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4907488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees