JP2007096738A - 画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラム - Google Patents
画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラム Download PDFInfo
- Publication number
- JP2007096738A JP2007096738A JP2005283269A JP2005283269A JP2007096738A JP 2007096738 A JP2007096738 A JP 2007096738A JP 2005283269 A JP2005283269 A JP 2005283269A JP 2005283269 A JP2005283269 A JP 2005283269A JP 2007096738 A JP2007096738 A JP 2007096738A
- Authority
- JP
- Japan
- Prior art keywords
- image data
- processing
- image
- data
- image 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
Links
Images
Abstract
【課題】 PEが並列動作可能な画像処理装置における処理待ちの時間をなくし、効率的に処理を実行できると共に、処理後の画像を適正に復元することが可能な画像処理装置を提供する。
【解決手段】 複数配列された画像データを、配列の順序における直前の画像データのDCT係数を参照しながら処理する符号化部211及び符号化制御部210を備えた複数の符号化器202a〜202nと、符号化部211及び符号化制御部210による処理において、他の符号化器の符号化部211及び符号化制御部210によって処理された画像データに係る値を参照することを禁止する符号化手順設定部221、処理された画像データに対し、参照が禁止された状態で処理されたデータの箇所を示すマーカを付加する書込制御部222とを設ける。
【選択図】 図2
【解決手段】 複数配列された画像データを、配列の順序における直前の画像データのDCT係数を参照しながら処理する符号化部211及び符号化制御部210を備えた複数の符号化器202a〜202nと、符号化部211及び符号化制御部210による処理において、他の符号化器の符号化部211及び符号化制御部210によって処理された画像データに係る値を参照することを禁止する符号化手順設定部221、処理された画像データに対し、参照が禁止された状態で処理されたデータの箇所を示すマーカを付加する書込制御部222とを設ける。
【選択図】 図2
Description
本発明は、画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラムに係り、特にマルチプロセッサ等の複数のタスクを並行して実行可能な画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラムに関する。
現在、画像を画素のデータ(画像データ)として表現し、画像データに加工等の処理(画像処理)を施す画像処理装置が普及している。画像データの保存、転送等にあっては、画像データのデータ量がより少ないことが望ましく、このために符号化された画像データを圧縮する様々な技術が提案されている。
画像データを圧縮する技術の一つとして、出現頻度の大きい画像データに短い符号を割り当てるものがある。このような圧縮技術には、圧縮の効果を高めるため、画像データの出現頻度に偏りを持たせることがある。偏りは、連続する画像データの直前に処理される画像データとの差分値によって画像データを表すことによって実現できる。この手法は、連続する画像データ間で値が大きく変化することが少ないことに着目してなされたものである。
画像データを圧縮する技術の一つとして、出現頻度の大きい画像データに短い符号を割り当てるものがある。このような圧縮技術には、圧縮の効果を高めるため、画像データの出現頻度に偏りを持たせることがある。偏りは、連続する画像データの直前に処理される画像データとの差分値によって画像データを表すことによって実現できる。この手法は、連続する画像データ間で値が大きく変化することが少ないことに着目してなされたものである。
また、近年、画像処理の単位であるタスクを並列して複数実行できるマルチプロセッサ等を利用した画像処理装置がある。並列処理可能な画像処理装置は、連続する画像データを各々が所定の単位で処理している。
このような画像処理装置の従来技術としては、例えば、特許文献1が挙げられる。特許文献1に記載された発明は、SIMD(Single Instruction/Multiple Data)プロセッサを使ってJPEG(Joint Photogaphic Experts Group)符号化を並列に実行する。JPEG符号化の処理では、複数配列された画像データでブロックを構成し、配列順序にしたがって画像データをブロックごとに処理する。
このような画像処理装置の従来技術としては、例えば、特許文献1が挙げられる。特許文献1に記載された発明は、SIMD(Single Instruction/Multiple Data)プロセッサを使ってJPEG(Joint Photogaphic Experts Group)符号化を並列に実行する。JPEG符号化の処理では、複数配列された画像データでブロックを構成し、配列順序にしたがって画像データをブロックごとに処理する。
また、画像データに偏りを持たせるため、画像データをDCT(Discrete Cosine Transformation)及び量子化した後、前ブロックとの量子化値の差分値を求めた後にハフマン符号化(Huffman encoding)をする。
特開2004−104677号公報
しかしながら、前記した従来技術は、マルチプロセッサを構成する複数のプロセッサエレメント(Processor Element:PE)間で画像データのDCT成分の量子化値を参照する必要があるので、先の画像処理を実行するPEの処理が終了するまで後のPEが処理を待たされる、いわゆる処理待ちの状態が発生する可能性がある。処理待ちの発生は、処理効率を低下させる一因にもなる。このような従来技術の欠点は、プロセッサエレメント間で量子化値の参照を行わないことによって解決することができる。
ところで、符号化されたデータを復号する場合、DCT係数の量子化値に基づいて順次前に配列された画像データを復号する。このため、前述したように、処理後の画像データに参照を行わなかった箇所が含まれる場合、適正に画像データの復号ができなくなるおそれがある。
本発明は、このような点に鑑みてなされたものであって、PEが並列動作可能な画像処理装置における処理待ちの時間をなくし、効率的に処理を実行できると共に、処理後の画像を適正に復元することが可能な画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
本発明は、このような点に鑑みてなされたものであって、PEが並列動作可能な画像処理装置における処理待ちの時間をなくし、効率的に処理を実行できると共に、処理後の画像を適正に復元することが可能な画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
以上の課題を解決するため、本発明の画像処理装置は、画像データを並行に処理する複数の画像処理ユニットを備えた画像処理装置であって、前記画像処理ユニットが、複数配列された画像データを、配列の順序における直前の画像データに係る値を参照しながら処理する参照処理手段と、前記参照処理手段による処理において、他の画像処理ユニットの前記参照処理手段によって処理された画像データに係る値を参照することを禁止する参照禁止手段と、前記参照処理手段によって処理された画像データに対し、前記参照禁止手段によって参照が禁止された状態で処理されたデータの箇所を示す参照禁止情報を付加する参照禁止情報付加手段と、を備えることを特徴とする。
このような発明によれば、複数の画像処理ユニットが、複数配列された画像データを、配列の順序において直前に配列される画像データに係る値を参照しながら並行に処理することができる。また、参照処理手段による処理において、他の画像処理ユニットの参照処理手段によって処理された画像データに係る値を参照することを禁止するので、他の画像処理ユニットの処理を待つことなく自身の処理を開始あるいは実行することができる。また、処理された画像データに対し、参照が禁止された状態で処理されたデータの箇所を示すことができるので、処理後のデータを適正に復元することができる。
したがって、このような本発明は、PEが並列動作可能な画像処理装置における処理待ちの時間をなくし、効率的に処理を実行できると共に、処理後の画像を適正に復元することが可能な画像処理装置を提供することができる。
また、本発明の画像処理装置は、複数の前記画像処理ユニットによって処理された画像データを書き込む際の順序を制御する書込順序制御手段を備えることを特徴とする。
また、本発明の画像処理装置は、複数の前記画像処理ユニットによって処理された画像データを書き込む際の順序を制御する書込順序制御手段を備えることを特徴とする。
このような発明によれば、複数の画像処理ユニットが互いに処理待ちすることなく処理した画像データを適正な書込み順序で書込むことが可能になる。このため、復元データの信頼性を高めることが可能になる。
また、本発明の画像処理装置は、前記参照禁止情報付加手段が、前記参照処理手段によって参照される参照値をリセットするリスタートインターバルを設定すると共に、前記参照処理手段によって処理された画像データに対してリスタートインターバルが設定された箇所を示すマーカを付すことによって参照禁止情報を付加することを特徴とする。
また、本発明の画像処理装置は、前記参照禁止情報付加手段が、前記参照処理手段によって参照される参照値をリセットするリスタートインターバルを設定すると共に、前記参照処理手段によって処理された画像データに対してリスタートインターバルが設定された箇所を示すマーカを付すことによって参照禁止情報を付加することを特徴とする。
このような発明によれば、リスタートインターバルの既存の仕様を使って参照値がリセットされた箇所を示すことができるので、新たな仕様を設定することなく、比較的簡易に参照禁止情報を付加することができる。
また、本発明の画像処理方法をコンピュータに実行させるためのプログラムは、画像データを並行に処理する複数の画像処理ユニットを備えた画像処理装置に適用される画像処理方法をコンピュータに実行させるためのプログラムであって、複数配列された画像データを、配列の順序における直前の画像データに係る値を参照しながら処理する参照処理ステップと、前記参照処理ステップにおける処理において、他の画像処理ユニットによってなされた参照処理ステップによって処理された画像データに係る値を参照することを禁止する参照禁止ステップと、前記参照処理ステップによって処理された画像データに対し、前記参照禁止ステップによって参照が禁止された状態で処理されたデータの箇所を示す参照禁止情報を付加する参照禁止情報付加ステップと、を含むことを特徴とする。
また、本発明の画像処理方法をコンピュータに実行させるためのプログラムは、画像データを並行に処理する複数の画像処理ユニットを備えた画像処理装置に適用される画像処理方法をコンピュータに実行させるためのプログラムであって、複数配列された画像データを、配列の順序における直前の画像データに係る値を参照しながら処理する参照処理ステップと、前記参照処理ステップにおける処理において、他の画像処理ユニットによってなされた参照処理ステップによって処理された画像データに係る値を参照することを禁止する参照禁止ステップと、前記参照処理ステップによって処理された画像データに対し、前記参照禁止ステップによって参照が禁止された状態で処理されたデータの箇所を示す参照禁止情報を付加する参照禁止情報付加ステップと、を含むことを特徴とする。
このような発明によれば、複数の画像処理ユニットが、複数配列された画像データを、配列の順序において直前に配列される画像データに係る値を参照しながら並行に処理することができる。また、参照処理手段による処理において、他の画像処理ユニットの参照処理手段によって処理された画像データに係る値を参照することを禁止するので、他の画像処理ユニットの処理を待つことなく自身の処理を開始あるいは実行することができる。また、処理された画像データに対し、参照が禁止された状態で処理されたデータの箇所を示すことができるので、処理後のデータを適正に復元することができる。
したがって、このような本発明は、PEが並列動作可能な画像処理装置における処理待ちの時間をなくし、効率的に処理を実行できると共に、処理後の画像を適正に復元することが可能な画像処理方法をコンピュータに実行させるためのプログラムを提供することができる。
以下、図を参照して本発明に係る画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラムの一実施の形態を説明する。
図1は、本実施形態の画像処理装置を説明するための図である。図1に示した画像処理装置は、画像を構成する複数の画像データを並行に処理するプロセッサユニットを複数備えた装置であって、本実施形態は、マルチプロセッサを採用している。
図1は、本実施形態の画像処理装置を説明するための図である。図1に示した画像処理装置は、画像を構成する複数の画像データを並行に処理するプロセッサユニットを複数備えた装置であって、本実施形態は、マルチプロセッサを採用している。
マルチプロセッサは、n個のプロセッサユニットPE1〜PEnを備えている。プロセッサユニットPE1〜PEnは、共有メモリ101にアクセスして画像処理に必要な命令や数値を読出し、画像処理を実行する。読み出された命令や数値は、必要に応じてプロセッサユニットPE1〜PEnの各々に対応して備えられるキャッシュメモリC1〜Cnに保存される。
共有メモリ101には、画像データの基となる画像のデータや共有ファイル等が保存され、プロセッサユニットPE1〜PEnによるアクセスの頻度がより高いデータがキャッシュメモリC1〜Cnに保存される。
プロセッサユニットPE1〜PEnは、画像データを、画像データの配列の順序において直前の画像データに係る値を参照して処理する構成である。本実施形態では、この処理をJPEG符号化のための減算処理とする。
プロセッサユニットPE1〜PEnは、画像データを、画像データの配列の順序において直前の画像データに係る値を参照して処理する構成である。本実施形態では、この処理をJPEG符号化のための減算処理とする。
なお、本実施形態では、画像が画素で構成され、画素データとは各画素の色及びその濃度を示すデータであるものとする。画像データは、画像上の画素の位置にしたがって連続して配列される。
図2は、図1に示したプロセッサユニットPE1〜PEnの構成を詳細に示した図である。本実施形態では、プロセッサユニットPE1〜PEnのうちのプロセッサユニットPE1を参照禁止手段、書込順序制御手段及び参照禁止情報付加手段として機能させ、他のプロセッサユニットを、画像データをJPEG符号化によって符号化する符号化器とした。このため、本実施形態では、以降、PE1をPE201、PE2〜PEnを符号化器202a〜202nとして示す。
図2は、図1に示したプロセッサユニットPE1〜PEnの構成を詳細に示した図である。本実施形態では、プロセッサユニットPE1〜PEnのうちのプロセッサユニットPE1を参照禁止手段、書込順序制御手段及び参照禁止情報付加手段として機能させ、他のプロセッサユニットを、画像データをJPEG符号化によって符号化する符号化器とした。このため、本実施形態では、以降、PE1をPE201、PE2〜PEnを符号化器202a〜202nとして示す。
また、本実施形態の画像処理装置は、データキュー208、データキュー209を備えている。データキュー208、データキュー209は、FIFO(First-In First-Out
)として構成されている。データキュー208は、PE201によって出力されたデータをいったん入力し、先に入力されたものから順次出力する。データキュー209は、符号化器202aによって出力されたデータをいったん入力し、先に入力されたものから順次出力する。
)として構成されている。データキュー208は、PE201によって出力されたデータをいったん入力し、先に入力されたものから順次出力する。データキュー209は、符号化器202aによって出力されたデータをいったん入力し、先に入力されたものから順次出力する。
このようなデータキュー208、データキュー209によれば、データキュー208、データキュー209に対してデータを出力する側の構成が、出力されたデータが受け取られるまで待つ必要がなく、効率よく順次データを出力することができる。
PE201は、符号化手順設定部221と、書込制御部222とを備えている。符号化手順設定部221は、JPEGの処理対象となる画像データを入力し、画像データを参照して符号化の手順をデータを参照されるファイルに記録する。また、所定の単位に分割された画像データに各単位の画像データの識別子を付して命令データを作成する。作成された命令データは、データキュー208を介して画像データと共に符号化器202a〜202nに入力する。また、書込制御部222は、符号化器202a〜202nがファイルに記録された手順にしたがって行った処理の結果得られる圧縮データを受け取り、書込みの順番を制御する構成である。
PE201は、符号化手順設定部221と、書込制御部222とを備えている。符号化手順設定部221は、JPEGの処理対象となる画像データを入力し、画像データを参照して符号化の手順をデータを参照されるファイルに記録する。また、所定の単位に分割された画像データに各単位の画像データの識別子を付して命令データを作成する。作成された命令データは、データキュー208を介して画像データと共に符号化器202a〜202nに入力する。また、書込制御部222は、符号化器202a〜202nがファイルに記録された手順にしたがって行った処理の結果得られる圧縮データを受け取り、書込みの順番を制御する構成である。
符号化手順設定部221は、PE201において参照禁止手段として機能する。また、書込制御部222は、PE201において書込順序制御手段として機能する。さらに、符号化手順設定部221及び書込制御部222が共同して参照禁止情報付加手段として機能する。この際、符号化手順設定部221はリスタートインターバルの設定をし、書込制御部222がリスタートインターバルが設定された箇所を示すマーカを符号化データに付している。なお、符号化手順設定部221、書込制御部222の詳細については後に述べる。
符号化器202a〜20nは、いずれもJPEGによって画像データを符号化する構成であって、画像データをMCU(Minimum Coded Unit)と呼ばれる小グループに分割し、複数のMCUの所定の単位ごとに符号化する。本実施形態では、16×16個の画像データを1MCUとし、画像データ全体の一方向に配列されたMCUの全てを所定の単位として符号化器202a〜20nの各々が処理するものとする。
図3は、MCUと符号化器202a〜20nの各々が処理する画像データの単位との関係を説明するための図である。図3(a)は、MCUを単位に分割された処理対象の画像データ全体を示している。各MCUに付された座標は、MCUの画像データにおける座標である。
なお、本実施形態の画像処理装置は、PE1を符号化手順の設定と書込みの制御とに使用しているが、マルチプロセッサのいずれのプロセッサユニットを、またいくつのプロセッサユニットを符号化手順の設定や書込み制御に割り当てるものであってもよい。
なお、本実施形態の画像処理装置は、PE1を符号化手順の設定と書込みの制御とに使用しているが、マルチプロセッサのいずれのプロセッサユニットを、またいくつのプロセッサユニットを符号化手順の設定や書込み制御に割り当てるものであってもよい。
図3(b)は、縦、横方向に配列されたMCUの横一方向に配列された一群(ライン)が本実施形態の所定の単位であることを示している。本実施形態では、この画像データの所定の単位を群と記す。(b)において、MCUの左端に付したIDは、群を識別するためのIDである。IDは、どのような形式のものを使ってもよいが、一般的に群同士のつながりが認識可能な連続した数を含む情報が使用される。
本実施形態では、符号化手順設定部221が画像データを群に分割すると共に、各群にIDを付すものとする。IDは、後で述べるように、符号化器202a〜202nにおいて、画像データの群の区切りを判定するための情報として使用される。後述するように、符号化器202a〜202nは、群の区切りを認識するごとに他の符号化器で処理された画像データに係る値を参照しないよう動作するものである。
ただし、本実施形態の画像処理装置は、群のIDによって群の区切りを認識し、参照値の参照を行わないようにする構成に限定されるものではない。例えば、符号化器202a〜202nがデータキュー208から命令データを受け取るたびに参照値を禁止するものであってもよいし、命令データに画像データに係る値の参照禁止の命令を付加するものであってもよい。
符号化器202a〜20nは、図3に示した画像データを符号化するため、符号化部211と、符号化部211を制御する符号化制御器210とを備えている。符号化器211は、画像データを入力し、各画像データのDCT係数を算出するDCT212、算出されたDCT係数を量子化テーブル213を参照しながら量子化する量子化器214、符号化テーブル216を参照して量子化された画像データをハフマン符号で表すエントロピ符号化器215を備えている。
以上の構成において、エントロピ符号化器215は、各群の画像データの値を、直前に配列された画像データの値との差分値に変換する処理をする。このような変換の処理は、本実施形態における直前に配列された画像データに係る値を参照して行う処理である。
本実施形態でいう画像データに係る値とは、画像データをDCT変換、量子化等した値をいい、以降、この値を参照値と記す。また、本実施形態でいう配列の順序は、図3の各画像データの座標が示す位置が図中左から右に向かう順序である。
本実施形態でいう画像データに係る値とは、画像データをDCT変換、量子化等した値をいい、以降、この値を参照値と記す。また、本実施形態でいう配列の順序は、図3の各画像データの座標が示す位置が図中左から右に向かう順序である。
次に、以上述べた構成の動作を、フローチャートを使って説明する。図4は、PE201によってなされる処理を説明するためのフローチャートである。
図4に示したように、PE201は、先ず、JPEGデータを取り扱うため、符号化手順設定部221によってSOIマーカをファイルに記録する(S401)。JPEGのデータは、全てSOIマーカとEOIマーカとの間に存在する。また、量子化に使用する量子化テーブルをファイルの所定のセグメントに記録する(S402)。さらに、エントロピ符号化に使用される符号化テーブル(ハフマンテーブル)ファイルの所定のセグメントに記録する(S403)。
図4に示したように、PE201は、先ず、JPEGデータを取り扱うため、符号化手順設定部221によってSOIマーカをファイルに記録する(S401)。JPEGのデータは、全てSOIマーカとEOIマーカとの間に存在する。また、量子化に使用する量子化テーブルをファイルの所定のセグメントに記録する(S402)。さらに、エントロピ符号化に使用される符号化テーブル(ハフマンテーブル)ファイルの所定のセグメントに記録する(S403)。
次に、PE201は、群に含まれるMCUの個数と共に、リスタートインターバル定義(DRI)セグメントを設定する(S404)。セグメントの設定によって、リスタートインターバル間に存在するMCUの数が設定される。本実施形態では、リスタートインターバルは、設定されたMCUの数ごとに直前の画像データの参照値をリセットするように定義される。
DRIセグメントを含む情報は、符号化後の画像データに付される。このため、本実施形態の画像処理装置では、符号化後の画像データにおいて参照値がリセットされた箇所を特定することができる。したがって、参照値に基づいて画像データを復号する際、リスタートインターバルが設定された箇所で参照値をリセットし、新たに画像データ復号の処理をすることによって画像データを適正に復元することができる。
また、符号化手順設定部221は、画像のサイズや画像の成分ごとの扱いを指定するフレームヘッダをファイルに記録し(S405)、さらに、スキャンヘッダを指定して使用されるハフマンテーブルをファイルに記録する(S406)。
次に、PE201は、1群のMCUの座標にデータ群のIDを付加して命令データを作成し(S407)、画像データと共にデータキュー208に送信する(S408)。命令データの送信後、PE201は、処理すべき画像データの群の命令データをデータキュー208に送信したか否か判断し(S409)、未だ命令データを送信していない群がある場合には(S409:No)、送信していない群の命令データを作成する。
次に、PE201は、1群のMCUの座標にデータ群のIDを付加して命令データを作成し(S407)、画像データと共にデータキュー208に送信する(S408)。命令データの送信後、PE201は、処理すべき画像データの群の命令データをデータキュー208に送信したか否か判断し(S409)、未だ命令データを送信していない群がある場合には(S409:No)、送信していない群の命令データを作成する。
一方、ステップS409において、全ての群について命令データが送信されたと判断された場合(S409:Yes)、PE201は、命令データにしたがって符号化された画像データ(符号化データ)が受信されるまで待機する。
図5は、受信される符号化データを示した図である。符号化データの先頭には、群を示すIDが付されている。また、符号化データには、共有メモリ101等に書き込む際のビット数と、符号化された画像データ(書込データ)とによって構成される。
図5は、受信される符号化データを示した図である。符号化データの先頭には、群を示すIDが付されている。また、符号化データには、共有メモリ101等に書き込む際のビット数と、符号化された画像データ(書込データ)とによって構成される。
図5に示した符号化データは、符号化された順番でデータキュー209に送られる。そして、送られた順番でPE201の書込制御部222に送信される。書込制御部222は、符号化データを受信すると(S410)、符号化データに付されたIDにしたがって各符号化データのつながりを決定する(S411)。
図6は、書込制御部222によって決定されたつながりにしたがって結合された符号化データを示す図である。書込制御部222は、復号等に必要なヘッダ等501に続けて符号化データ502を付す。図6によれば、符号化データがIDの順番に沿って結合されることが分かる。
図6は、書込制御部222によって決定されたつながりにしたがって結合された符号化データを示す図である。書込制御部222は、復号等に必要なヘッダ等501に続けて符号化データ502を付す。図6によれば、符号化データがIDの順番に沿って結合されることが分かる。
書込制御部222は、図6に示した順番にしたがって符号化データを共有メモリ101等の結合ファイルに書き込んで行く(S412)。この際、書込制御部222は、符号化データ502が有する書込ビット数分だけ書込データを書き込む。書込みは、ビット数単位で行われるため、書き込まれるデータの末尾がバイトの区切りとならない場合がある。このような場合、余ったビットは、より下位のビットに寄せられる(S413)。寄せられたビットは、後に書き込まれる符号化データのバイトの区切りに使用される。
書込データの書込み後、書込制御部222は、リスタートインターバルが設定されたことを示すリスタートインターバルマーカを記録する(S414)。
リスタートインターバルマーカは、図6中に示したように、符号化されたデータの群ごとに記録され、画像データにおいて参照値の参照が禁止された箇所を表す。図7は、リスタートインターバルマーカの具体例を示すものであって、RST1〜RSTm−1の添え字は記録された順番を示している。また、リスタートインターバルマーカは、リスタートインターバルが設定された符号化データ上の位置を0xFFD0といったマーカによって示している。
リスタートインターバルマーカは、図6中に示したように、符号化されたデータの群ごとに記録され、画像データにおいて参照値の参照が禁止された箇所を表す。図7は、リスタートインターバルマーカの具体例を示すものであって、RST1〜RSTm−1の添え字は記録された順番を示している。また、リスタートインターバルマーカは、リスタートインターバルが設定された符号化データ上の位置を0xFFD0といったマーカによって示している。
以上の処理の後、PE201は、全ての群の符号化データの書込みが完了したか否か判断する(S415)。判断の結果、未だ書き込まれていない符号化データがある場合(S415:No)、次に書込みの処理をすべき群の符号化データを決定する。また、全ての群について符号化データの書込みが完了した場合(S415:Yes)、EOIを結合ファイルに記録し(S416)、処理を終了する。
図8は、以上述べたPE201の処理に応じてなされる符号化器202a〜202nによってなされる処理を説明するためのフローチャートである。図8のフローチャートの処理は、符号化器202a〜202nのいずれにおいても同様に実行される処理である。このため、図8では、符号化器202aの処理として説明して他の符号化器によって行われる処理の説明に代えるものとする。
符号化器202aは、符号化の処理が完了すると、データキュー208から命令データを受信する(S601)。この際、符号化器202aは、命令データに付されたIDを認識し、直前の符号化処理の命令データのIDと相違するか否か判断する(S602)。そして、両者が相違しない場合(S602:No)、命令データに順に含まれるMCUを順番で処理対象に選択する(S604)。そして、選択されたMCUのデータを取得し(S605)、各々色成分のブロックを生成する(S606)。
また、符号化器202aは、MCUごとに画像データをDCT(S607)、量子化(S608)、ハフマン符号化する(S609)。そして、ハフマン符号化において次のハフマン符号化時に参照すべきDC成分を保持する(S610)。
なお、本実施形態は、符号化器がDC成分を保持するばかりでなく、符号化器の各々に専用のメモリを設けて符号化に必要な参照値や量子化、ハフマンテーブル等の値を個別に保持することもできる。符号化器に必要なメモリを設けた場合、PEのデータに対するアクセス速度を高めることができる。
なお、本実施形態は、符号化器がDC成分を保持するばかりでなく、符号化器の各々に専用のメモリを設けて符号化に必要な参照値や量子化、ハフマンテーブル等の値を個別に保持することもできる。符号化器に必要なメモリを設けた場合、PEのデータに対するアクセス速度を高めることができる。
そして、符号化器202aは、今回の処理で符号化された書込データのビット数をすでに符号化された書込データのビット数に加算すると共に、新たに符号化された書込データを結合する(S611)。そして、1つのMCUについて全ての色成分の画像データの処理が完了したか否か判断する(S612)。判断の結果、終了していない色成分の画像データがある場合(S612:No)、未処理の色成分の画像データのDCTを実行する。
また、1つのMCUについて全ての色成分の画像データの符号化が完了している場合(S612:Yes)、符号化器202aが受信した群に含まれる全てのMCUの符号化が完了したか否か判断する(S613)。この結果、未だ処理されていないMCUがある場合(S613:No)、次のMCUを処理対象に選択する。
また、符号化器202aは、命令データに含まれる全てのMCUの画像データを符号化したと判断した場合(S613:Yes)、IDと、命令データに含まれるMCUの符号化データを順に連結した符号化データをデータキュー209に送信し(S614)、処理を終了する。
また、符号化器202aは、命令データに含まれる全てのMCUの画像データを符号化したと判断した場合(S613:Yes)、IDと、命令データに含まれるMCUの符号化データを順に連結した符号化データをデータキュー209に送信し(S614)、処理を終了する。
画像データの群がPE202a〜202nの個数よりも多い場合、1つのPEが複数の群を符号化するため繰り返し動作する。このような場合、符号化器202aは、以上の処理の後にデータキュー208から命令データを受信するために動作する。
以上述べた動作において、符号化器202a〜202nは、IDの異なる画像データを受信した場合、リスタートインターバルの設定にしたがってDCT成分の参照値を0にしている。このため、他の符号化器で行われる前の群のハフマン符号化の終了を待つことなく画像データの符号化を開始することができる。また、本実施形態は、等しいIDに含まれる、MCUを処理(担当)している間は通常のハフマン符号化の処理にしたがってハフマン符号化するため、画像データの実質的な圧縮効果を維持することができる。
以上述べた動作において、符号化器202a〜202nは、IDの異なる画像データを受信した場合、リスタートインターバルの設定にしたがってDCT成分の参照値を0にしている。このため、他の符号化器で行われる前の群のハフマン符号化の終了を待つことなく画像データの符号化を開始することができる。また、本実施形態は、等しいIDに含まれる、MCUを処理(担当)している間は通常のハフマン符号化の処理にしたがってハフマン符号化するため、画像データの実質的な圧縮効果を維持することができる。
図9は、このような本実施形態の効果を説明するための図であって、図9(a)は従来の群の処理手順を示している。また、(b)は、本実施形態の画像処理装置の処理手順を示している。すなわち、(a)に示した手順では、先に配列された群を処理するための処理(例えば矢線oで示す)が終了し、この処理で参照値が保存されるまで次ラインの処理(矢線pで示す)が開始できない。
したがって、従来技術では、先に配列された群の処理に後の群の処理よりも時間がかかった場合、後の群を処理する符号化器に処理待ちが発生する。
一方、図9(b)に示した本実施形態の構成は、各符号化器が他の符号化器が保存した参照値を参照することがない。このため、矢線o〜rで示す処理が各々独立に実行でき、群の符号化が完了した符号化器から次の群の命令データを受け取って画像データを符号化することができる。このような本実施形態は、各符号化器が他の符号化器の処理を待つ必要がなく、(a)で説明した処理よりも符号化にかかる時間を短縮することができる。
一方、図9(b)に示した本実施形態の構成は、各符号化器が他の符号化器が保存した参照値を参照することがない。このため、矢線o〜rで示す処理が各々独立に実行でき、群の符号化が完了した符号化器から次の群の命令データを受け取って画像データを符号化することができる。このような本実施形態は、各符号化器が他の符号化器の処理を待つ必要がなく、(a)で説明した処理よりも符号化にかかる時間を短縮することができる。
また、本実施形態の画像処理装置は、以上述べた構成に限定されるものではない。すなわち、リスタートインターバルの設定は、MCUの個数ごとに参照値をリセットするものに限定されるものでなく、例えば、MCUの個数に相当するデータ長ごとに参照値をリセットするものであってもよい。
さらに、本実施形態の画像処理装置は、命令データと共に画像データを符号化器に送信しているが、このような構成に限定されるものでなく、画像データを他の経路から符号化器に入力するものであってもよい。
さらに、本実施形態の画像処理装置は、命令データと共に画像データを符号化器に送信しているが、このような構成に限定されるものでなく、画像データを他の経路から符号化器に入力するものであってもよい。
101 共有メモリ、201 DCT部、202 量子化器、203 量子化テーブル、204 エントロピ符号化器、205 符号化テーブル、206 書込順番制御器、207 画像メモリ、210 符号化制御部 211 符号化部、C1〜Cn キャッシュメモリ、E1〜En 符号化器、PE1〜PEn プロセッサユニット
Claims (4)
- 画像データを並行に処理する複数の画像処理ユニットを備えた画像処理装置であって、
前記画像処理ユニットが、
複数配列された画像データを、配列の順序における直前の画像データに係る値を参照しながら処理する参照処理手段と、
前記参照処理手段による処理において、他の画像処理ユニットの前記参照処理手段によって処理された画像データに係る値を参照することを禁止する参照禁止手段と、
前記参照処理手段によって処理された画像データに対し、前記参照禁止手段によって参照が禁止された状態で処理されたデータの箇所を示す参照禁止情報を付加する参照禁止情報付加手段と、
を備えることを特徴とする画像処理装置。 - 複数の前記画像処理ユニットによって処理された画像データを書き込む際の順序を制御する書込順序制御手段を備えることを特徴とする請求項1に記載の画像処理装置。
- 前記参照禁止情報付加手段は、前記参照処理手段によって参照される参照値をリセットするリスタートインターバルを設定すると共に、前記参照処理手段によって処理された画像データに対してリスタートインターバルが設定された箇所を示すマーカを付すことによって参照禁止情報を付加することを特徴とする請求項1または2に記載の画像処理装置。
- 画像データを並行に処理する複数の画像処理ユニットを備えた画像処理装置に適用される画像処理方法をコンピュータに実行させるためのプログラムであって、
複数配列された画像データを、配列の順序における直前の画像データに係る値を参照しながら処理する参照処理ステップと、
前記参照処理ステップにおける処理において、他の画像処理ユニットによってなされた参照処理ステップによって処理された画像データに係る値を参照することを禁止する参照禁止ステップと、
前記参照処理ステップによって処理された画像データに対し、前記参照禁止ステップによって参照が禁止された状態で処理されたデータの箇所を示す参照禁止情報を付加する参照禁止情報付加ステップと、
を含むことを特徴とする画像処理方法をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005283269A JP2007096738A (ja) | 2005-09-29 | 2005-09-29 | 画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005283269A JP2007096738A (ja) | 2005-09-29 | 2005-09-29 | 画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007096738A true JP2007096738A (ja) | 2007-04-12 |
Family
ID=37981905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005283269A Pending JP2007096738A (ja) | 2005-09-29 | 2005-09-29 | 画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007096738A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009060593A (ja) * | 2007-08-03 | 2009-03-19 | Canon Inc | 画像読取装置及び画像読取方法 |
JP2010073210A (ja) * | 2008-09-17 | 2010-04-02 | Toshiba Corp | 画像処理装置 |
JP2016076279A (ja) * | 2016-02-12 | 2016-05-12 | キヤノン株式会社 | 画像処理装置及びその制御方法、並びに、プログラム |
JP2017228324A (ja) * | 2017-10-10 | 2017-12-28 | キヤノン株式会社 | 画像処理装置及びその制御方法、並びに、プログラム |
-
2005
- 2005-09-29 JP JP2005283269A patent/JP2007096738A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009060593A (ja) * | 2007-08-03 | 2009-03-19 | Canon Inc | 画像読取装置及び画像読取方法 |
JP2010073210A (ja) * | 2008-09-17 | 2010-04-02 | Toshiba Corp | 画像処理装置 |
JP2016076279A (ja) * | 2016-02-12 | 2016-05-12 | キヤノン株式会社 | 画像処理装置及びその制御方法、並びに、プログラム |
JP2017228324A (ja) * | 2017-10-10 | 2017-12-28 | キヤノン株式会社 | 画像処理装置及びその制御方法、並びに、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230353740A1 (en) | Method of Coding and Decoding Images, Coding and Decoding Device and Computer Programs Corresponding Thereto | |
JP2010041354A (ja) | 動画像符号化方法、符号化装置及び符号化プログラム | |
JP2007096738A (ja) | 画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラム | |
JP6087511B2 (ja) | 画像処理装置、画像処理方法 | |
TW201824868A (zh) | 視訊解碼系統、視訊解碼方法和相應地計算機存儲介質 | |
JP2008099134A (ja) | データ復号装置及びプログラム | |
JP2007267123A (ja) | 動画像符号化装置 | |
JP2006203270A (ja) | 画像圧縮方法および画像圧縮装置 | |
JP6946671B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2008035230A (ja) | データ圧縮装置およびデータ圧縮プログラム | |
CN100444615C (zh) | 一种摄像头和数据处理装置 | |
TWI517695B (zh) | 晶片內/晶片外記憶體管理 | |
US8861880B2 (en) | Image processing device and image processing method | |
JP3170312B2 (ja) | 画像処理装置 | |
JP4594163B2 (ja) | 画像符号化方法、及び画像符号化装置 | |
JP2005039738A (ja) | 動画像クラスタ処理システム | |
JP7451131B2 (ja) | 画像符号化装置、画像符号化方法、及びプログラム | |
JP2002077637A (ja) | 画像符号化装置及び画像符号化方法 | |
JP2007214788A (ja) | 画像処理装置、及び制御プログラム | |
JP3170313B2 (ja) | 画像処理装置 | |
JP5501014B2 (ja) | 情報処理装置、情報処理方法、プログラム及び記憶媒体 | |
JP6223012B2 (ja) | 画像符号化装置及び画像符号化方法 | |
JP2007335933A (ja) | 画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体、画像処理装置 | |
JP2006502673A6 (ja) | ディジタルイメージセンサデータのインストリームロスレス圧縮 | |
JP2006502673A (ja) | ディジタルイメージセンサデータのインストリームロスレス圧縮 |