JP2021033346A - 画像処理装置、画像処理方法、及びプログラム - Google Patents

画像処理装置、画像処理方法、及びプログラム Download PDF

Info

Publication number
JP2021033346A
JP2021033346A JP2019148817A JP2019148817A JP2021033346A JP 2021033346 A JP2021033346 A JP 2021033346A JP 2019148817 A JP2019148817 A JP 2019148817A JP 2019148817 A JP2019148817 A JP 2019148817A JP 2021033346 A JP2021033346 A JP 2021033346A
Authority
JP
Japan
Prior art keywords
image processing
image
memory
dividing
image data
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
JP2019148817A
Other languages
English (en)
Other versions
JP7317630B2 (ja
Inventor
和憲 松山
Kazunori Matsuyama
和憲 松山
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 JP2019148817A priority Critical patent/JP7317630B2/ja
Priority to US16/990,514 priority patent/US11210763B2/en
Publication of JP2021033346A publication Critical patent/JP2021033346A/ja
Application granted granted Critical
Publication of JP7317630B2 publication Critical patent/JP7317630B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

【課題】画像処理において、メモリ帯域を好適に制御する。【解決手段】本発明の画像処理装置は、複数の画像処理部と、複数の記憶部と、制御部と、画像データを分割する分割部と、画像データを結合する結合部を備え、制御部は、記憶部の使用状況に応じて、画像データを分割する処理を特定し、特定された処理を施す画像処理部が2つ備えられ、かつ各々、異なる記憶部に接続されることを条件に画像データを分割する分割位置を決定し、分割位置に基づいて分割された画像データのうち、一方の画像データに対して一方の画像処理部により処理を施し、当該処理が施された一方の画像データと他方の画像データを結合させ、結合された画像データを分割位置に基づいて分割した画像データのうち、一方の画像処理部により処理が施されていない一方の画像データに対して他方の画像処理部により処理を施し、当該処理が施された一方の画像データと他方の画像データを結合させる。【選択図】図1

Description

本発明は、メモリ帯域を好適に制御する画像処理装置に関する。
近年、LSI(Large Scale Integrated Circuit)プロセスの進化に伴う集積度の向上により、高解像度、高フレームレートの画像を1チップで処理することが可能となっている。但し、高解像度、高フレームレートの画像処理を行うには多くのメモリアクセスが必要とされ、また、LSIの集積度の向上速度に比して、DRAM(Dynamic Random Access Memory)等のメモリの高速化の成長率は遅い状況にある。そのため、メモリ帯域の制約によっては、画像処理のすべての機能を使用することが難しくなっている。
そこで、メモリ帯域の制約を充足させ、画像処理を行う方法として、複数のチップで画像処理を分割して実行する方法が提案されている。特許文献1には、画像を左右に分割して処理する方法が提案されている。この方法では、画像を左右に分割して処理するため、2つのLSIのメモリ帯域は均等に使用され、1チップあたりのメモリ要求帯域を約半分に抑えることができる。但し、分割画像の処理チップと表示するチップが異なる場合、画像の左右反転処理、回転処理、縮小レイアウト処理等のレイアウト処理において、他のチップの分割画像を必要とするため、処理が煩雑になる。また、画像処理毎に、分割境界において、一部をオーバーラップさせて分割処理するため、そのオーバーラップ領域分のメモリ帯域が増加することになる。
そこで、このような不具合に対応するため、画像処理を前後半で処理を分けて、画像処理のチップを直列に接続して処理する方法が提案されている。この方法では、画像を空間分割せずに処理を実行するため、上述のレイアウト処理が容易であり、かつオーバーラップ領域分のメモリ帯域が増加することもない。
特開2009−171183号公報
但し、画像処理を前後半で分ける場合も、前後半のすべての画像処理のメモリ要求帯域が、各チップの有するメモリ帯域を充足する必要がある。また、画像処理は所定の順序で行う必要があり、さらに各画像処理のメモリ要求帯域は一様ではないことから、画像処理のメモリ要求帯域の総和はシステムのメモリ要求帯域を満たしても、各チップのメモリ要求帯域内に収まらない場合がある。加えて、入出力フォーマットや画像処理モードの設定が変更されることで、各画像処理のメモリ要求帯域は変動するため、各チップのメモリ要求帯域内に収まるように制御するのは容易ではない。
本発明は、上記従来の問題に鑑みてなされたものであって、その目的は、画像処理において、メモリ帯域を好適に制御することである。
本発明の画像処理装置は、複数の画像処理手段であって、当該画像処理手段に応じた画像処理を施す、複数の画像処理手段と、前記画像処理において用いられる複数の記憶手段と、画像処理を制御する制御手段と、前記制御手段の指示に従って、画像データを分割する分割手段と、前記制御手段の指示に従って、画像データを結合する結合手段とを備え、前記制御手段は、前記記憶手段の使用状況に関する情報に応じて、前記分割手段により画像データを分割する画像処理を特定し、前記特定された画像処理を施す画像処理手段が、前記複数の画像処理手段のうち、少なくとも2つ備えられ、かつ各々、異なる記憶手段に接続されることを条件に、前記特定された画像処理において処理対象とされる画像データを分割する分割位置を決定し、前記分割位置に基づいて前記分割手段により少なくとも2つに分割された画像データのうち、一方の画像データに対して前記少なくとも2つの画像処理手段のうちの一方の画像処理手段により画像処理を施し、前記一方の画像処理手段により画像処理が施された一方の画像データと他方の画像データを前記結合手段により結合させるように制御し、前記結合された画像データを前記分割位置に基づいて前記分割手段により少なくとも2つに分割した画像データのうち、前記一方の画像処理手段により画像処理が施されていない一方の画像データに対して前記少なくとも2つの画像処理手段のうちの他方の画像処理手段により画像処理を施し、前記他方の画像処理手段により画像処理が施された一方の画像データと他方の画像データを前記結合手段により結合させるように制御することを特徴とする。
本発明によれば、画像処理において、メモリ帯域を好適に制御することができる。
画像処理装置の構成を示すブロック図である。 画像処理装置の制御部における処理の手順を示すフローチャートである。 メモリ帯域の割当てについて説明するための図である。 入力画像の分割とオーバーラップ領域について説明するための図である。 各画像処理の処理実行位置と処理範囲を示す図である。 メモリ帯域の割当てについて説明するための図である。 画像処理装置の動作について説明するための図である。 処理を分割して実行した場合の処理遅延について説明するための図である。 画像処理装置の構成を示すブロック図である。 メモリ帯域の割当てについて説明するための図である。 画像処理装置の構成を示すブロック図である。 メモリ帯域の割当てについて説明するための図である。 画像処理装置の構成を示すブロック図である。 画像処理装置の動作について説明するための図である。 メモリ帯域の割当てについて説明するための図である。 メモリ帯域の割当てについて説明するための図である。
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。その他、補足として、同一の構成については、同じ符号を付して説明する。
<第1実施形態>
(システム構成及び処理)
図1は、本実施形態に係る画像処理装置の構成を示すブロック図である。図1に示されるように、画像処理装置10は、2つの同一チップ(チップ0 100a、チップ1 100b)を備え、また、チップ0 100aの出力と、チップ1 100bの入力は、直列に接続されている。なお、以下において、各々のブロックに関して、符号末尾に付される「a」は「チップ0」のブロックであることを示し、また、符号末尾に付される「b」は「チップ1」のブロックであることを示すものとする。また、チップ0 100aとチップ1 100bに共通する内容に関しては、符号末尾に「a」又は「b」を付さないで記載(説明)するものとする。
チップ0 100a、チップ1 100bは、各々、画像処理部1 101、画像処理部2 103、画像処理部3 105、画像処理部4 106を備える。各画像処理部は、メモリ109に格納された情報を用いて画像処理を実行する第1の画像処理モードと、入力画像に対して画像処理を実行することなく、入力画像をスルーさせる(通過させる)第2の画像処理モードを有する。画像処理部1乃至4は、制御部107の指示に従って、上述の第1の画像処理モードと、第2の画像処理モードを切り替える。
なお、第1の画像処理モードにおいて使用するメモリ109に格納する情報は、その画像処理部自身がメモリ109に書き込んだ画像情報であってもよいし、他の画像処理部がメモリ109に書き込んだ情報を読み出して用いるようにしてもよい。また、各々の画像処理部は、例えば、IP変換、3次元ノイズリダクション、合成処理、変形処理、オーバードライブ処理、符号化処理、復号処理、ディープラーニングの手法を用いた認識処理等の各種処理を実行することができる。ここで、補足として、上述の「他の画像処理部」には不図示の画像処理部も含まれるものとし、また、上述のIP変換は、Interlace Progressive変換の略である。
本実施形態では、各々の画像処理部は、入力画像にラスタースキャンを実行するものとして説明するが(即ち、入力画像の左上から右下までを水平に走査するものとして説明するが)、処理の仕様(処理の単位)は必ずしもこれに限定されない。したがって、例えば、入力画像を、隣接領域とのオーバーラップ領域を含む矩形分割したブロック画像を処理単位とする構成や、縦又は横方向に短冊分割した画像を処理単位とする構成とすることもできる。
また、第1の画像処理モードにおいては、さらに複数の画像処理設定を備える構成とすることもできる。例えば、メモリ109から参照画像として読み出すフレーム数が異なる複数の画像処理設定を備える構成とすることもできる。その他、第2の画像処理モードを設定する場合、その処理の消費電力を抑えるため、(スルー設定で動作する)不要な演算部の電源を遮断する構成とすることもできる。
分割部102は、入力画像を制御部107の指示に従って分割し、その分割した画像を画像処理部2 103、又は結合部104に出力する。画像処理部2 103において分割した画像に対して画像処理を実行する上で、画像処理部2 103はフィルタ処理等で分割境界の周辺の画像(画素の集合)を参照する。そのため、分割部102は分割境界を視認させないようにオーバーラップ領域を付加して分割する。なお、分割部102は、分割位置、オーバーラップ領域に関する情報を、制御部107から取得する。
ここで、チップ0 100aにおいて、分割部102aで分割し、画像処理部2 103aにより出力された領域を第1領域、分割部102aにより出力された領域を第2領域とする。この場合、チップ1 100bにおいて、分割部102bは、分割部102aとは逆に、処理済の第1領域を結合部104bに出力し、未処理の第2領域を画像処理部2 103bに出力する。これにより、分割した画像の各々に対して、画像処理2を実行することができる。
本実施形態では、画像処理としてラスタースキャンを実行することを前提に、メモリ帯域を分散するため、入力画像を水平方向に分割するものとして説明するが、これに限るものではない。例えば、ブロック画像の入力時において、ブロック画像自体の分割を実行せず、所定の割合に応じて各ブロック画像を第1領域、第2領域として割り当てるよう制御することもできる。ここで、制御部107が、第1領域、第2領域を3:2の割合で設定するものとする。この場合において、各入力ブロック画像を順に領域1、1、2、1、1、2…のように偏ることなく設定することで、第1領域、第2領域の画像処理において、メモリ帯域を時間的に集中させることなく均等に割り振ることができる。
結合部104は、制御部107の指示に従って、画像処理部2 103より出力された画像と分割部102より出力された画像を結合する。なお、本実施形態では、画像処理としてラスタースキャンを実行するため、分割部102の出力結果が1ライン期間の前半、画像処理部2 103の出力結果が1ライン期間の後半に出力されるように制御するものとして説明するが、必ずしもこれに限られない。また、画像処理部2 103の出力結果のうち、以後の処理で使用されないオーバーラップ領域に関しては、画像処理部2 103又は結合部104において削除される。
制御部107は、CPU(Central Processing Unit)等によって構成され、後述の処理フロー(制御フロー)等に従って、チップ内の各ブロックを制御する。また、制御部107aと制御部107bは相互に通信可能なように接続されており、制御部107aは、制御部107bを制御することで、チップ1 100b内の各ブロックも制御することができる。なお、各チップの制御部107は、例えば、PCI(Peripheral Component Interconnect)等の各種規格に準拠して接続される。また、制御部107a、制御部107bの制御関係は逆であってもよく、制御部107bが制御部107bを制御するようにしてもよい。
メモリ109は、チップ内のバス108を介して画像処理部1乃至4と接続され、チップ毎に搭載される。そのため、画像処理部2 103aと画像処理部2 103bは、各々、異なるメモリ109a、109bに接続される。メモリ109は、例えば、DDR4 SDRAM(Double-Data-Rate4 Synchronous Dynamic Random Access Memory)等を用いて構成される。なお、メモリ109a、109bに関して、同一のメモリを用いて構成させることも、異なる動作周波数や容量のメモリを用いて構成させることもできる。また、メモリ109を制御するメモリコントローラ等の付属部品に関しては、公知のものを用いればよく、ここでは、その説明を省略する。
(画像処理の手順)
次に、本実施形態に係る画像処理装置10の制御部107aにおける処理について、図2に示されるフローチャートを用いて説明する。なお、フローチャートの説明における記号「S」は、ステップを表すものとする。
S1において、制御部107aは、画像処理装置10への入力フォーマットが確定すると、S2において、制御部107aは、画像処理装置10において実行する画像処理モードを確定する。画像処理モードは、各画像処理の処理内容を指定するものであり、例えば、ユーザの設定に応じて指定される。
S1、S2において、画像処理装置10内部で実行する画像処理が確定すると、S3において、S1、S2で確定した情報に基づいて、画像処理1乃至4で必要とされるメモリ帯域を算出する。
なお、各々の画像処理において必要とされるメモリ帯域は、例えば、画像処理の書込み、読出しに関するデータ量と、処理が成立する書込み、読出しの制約期間等から算出することができる。例えば、画像データのメモリアクセスにおいて、必要とされるメモリ帯域は、データ量として画像データの画像サイズ、各画素のBit深度、画像処理モード等、また、制約期間としてフレームレート、画像処理のバッファ量に基づく制約期間等から算出される。加えて、例えば、動き情報等の画像と直接的に関連性のない画像データに関するメモリアクセスの場合、必要とされるメモリ帯域は、画像処理の所定期間に書き込むデータ量、読み出すデータ量から算出される。
ここで、図3を用いて、メモリ帯域とその割当てについて説明を補足する。なお、ここでは、説明を簡略化するため、画像処理1乃至4で必要とされるメモリ帯域を、各々、符号A乃至D、また、各チップの画像処理において使用可能なメモリ帯域をMと定義して説明する。
また、画像処理1乃至4は、以下の処理である。なお、本実施形態において、入力画像とは、各ブロック(例えば、画像処理部等)に入力された画像のことである。この点、他の説明においても同様である。
画像処理1は、入力画像を一旦メモリ109に書き込み、その書き込んだ画像をさらに読み出し、所定の処理を実行し、その処理結果を出力する処理である。画像処理2は、メモリ109に書き込まれた画像を1枚、読み出して処理を施し、その処理結果をメモリ109に書き込み、さらに書き込んだ画像を読み出し、所定の処理を実行して出力する処理である。画像処理3は、メモリ109に格納され不図示の処理部の処理結果を読み出し、入力画像に所定の画像処理を実行して出力する処理である。画像処理4は、入力画像からデータを抽出し、その抽出したデータをメモリ109に書き込み、さらに、そのメモリ109に格納されたデータを読み出して、次のフレームに対して所定の画像処理を実行する。これらを踏まえると、画像処理装置10の各画像処理において必要とされるメモリ帯域は、図3(a)のように示される。
図2に戻り、S4において、制御部107aは、画像処理1乃至4を、チップ0 100a、チップ1 100bの何れのチップで実行するかを割り振る。なお、画像処理の順序に関して、画像処理1、2、3、4の順序に従って連続的に実行する必要がある。そのため、制御部107aは、チップ0 100aでは画像処理1から正順に、チップ1 100bでは画像処理4から逆順に割り当てる。このような順序に従って、各チップのメモリ帯域を満たすように画像処理を割り振ると、図3(b)に示されるようになる。即ち、画像処理1で使用するメモリがチップ0 100aのメモリ109aに割り当てられ、画像処理3、4で使用するメモリがチップ1 100bのメモリ109bに割り当てられる。
次に、画像処理2に割り当てられるメモリ帯域について検討する。画像処理部2は、上述のように、メモリ109に格納されたフレーム画像を参照して処理を実行し、その処理結果をメモリ109に書き込み、さらに、その処理結果をメモリ109より読み出し、所定の処理を実行して出力する。そのため、例えば、画像処理部2 103aでの画像の1フレーム分の書込みと2フレーム分の読出しは、メモリ109aで実行する必要がある。また、画像処理部2 103bでの画像の1フレーム分の書込みと2フレーム分の読出しは、メモリ109bで実行する必要がある。即ち、画像処理部2 103は、自身が利用できるメモリ109を用いて、画像の1フレーム分の書込みと2フレーム分の読出しを実行する必要がある。
このような前提を踏まえ、画像処理2で必要とされるメモリ帯域を全体として、何れか一方のメモリに割り当てても、本実施形態のメモリ109のメモリ帯域には制約があるので、図3(b)の破線に示されるように、メモリ帯域の空きが不足することになる。そこで、制御部107aは、後続のS5、S6の処理を実行する。
S5において、制御部107aは、画像処理2で使用するメモリを割り当てるために、空きメモリ帯域を計算する。空きメモリ帯域は、チップ0 100aの空きメモリ帯域(M−A)とチップ1 100bの空きメモリ帯域(M−(C+D))の合計で示される。
S6において、制御部107aは、図3(b)に示されるように画像処理2がメモリ帯域を割り当てる上で境界処理に該当するため、画像処理2を分割処理の対象として特定する。
S7において、制御部107aは、S6で特定した分割境界で分割する処理を分割部102によって実行(分割)可能か否かを判定する。本実施形態では、分割処理の対象である画像処理部の前段及び後段の構成に基づいて、分割境界で分割する処理を分割部102によって実行(分割)可能かを判定する。具体的には、本実施形態では、図1に示されるように、画像処理部2の前段に分割部102、画像処理部2の後段に結合部104が実装されていることから、制御部107aは、画像処理2における処理を分割可能と判定し、処理をS8に移行させる。なお、分割部102、及び結合部104が実装されていない場合、制御部107aは、処理をS10の判定処理に移行(遷移)させる。
S7において、S5で特定した画像処理が分割可能と判定された場合、S8において、制御部107aは、S5で算出した各メモリの空き帯域の総和が、S6で特定した画像処理を分割した際の処理で使用されるメモリ要求帯域以下であるか否かを判定する。なお、画像処理2を分割した際に使用されるメモリ帯域は、オーバーラップ領域分のメモリ帯域が分割前から増加することで、画像処理2を分割しない場合より増加する。
ここで、図4に示されるように、入力画像幅をW、画像処理2で使用されるオーバーラップ領域をWoverと定義すると、画像処理2の消費メモリ帯域は(1+2Wover/W)Bで示される。また、空きメモリ帯域の総和は2M−(A+C+D)で示される。そして、この場合に、画像処理2の消費メモリ帯域((1+2Wover/W)B)が空きメモリ帯域の総和(2M−(A+C+D))以下である場合に、制御部107aは、処理をS9に移行させる。また、画像処理2の消費メモリ帯域((1+2Wover/W)B)が空きメモリ帯域の総和(2M−(A+C+D))より大きい場合に画像処理2を分割して実行できないことから、処理をS2に移行させ、画像処理モードの再設定を実行する。
S9において、制御部107aは、画像処理2の分割位置を決定する。ここで、図4に示されるように、チップ0の画像処理部2 103aの処理領域幅をWa、チップ1の画像処理部2 103bの処理領域幅をWbと定義する。この場合、画像処理部2の処理として、画像処理部2 103aはWa+Wover幅の画像の画像処理を実行し、画像処理部2 103bはWb+Wover幅の画像の画像処理を実行する。なお、幅Wの画像に対して画像処理2を実行する際に必要とされるメモリ帯域はBであることから、上述のように、画像処理2を分割した場合、(1+2Wover/W)Bのメモリ帯域が必要とされる。
また、本実施形態では、分割位置を決定する上で、画像処理3の処理性能を向上させるため、画像処理3を実行するチップ1 100bのメモリ帯域を可能な限り空けるものとする。即ち、チップ0 100aの空きメモリ帯域を使い切るように、分割位置を制御(決定)するものとする。チップ0 100aのメモリ帯域を使い切るため、画像処理部2 103aの処理帯域がチップ0 100aの空きメモリ帯域と一致するように、即ち、(Wa+Wover)B/W=M−AとなるようにWaを定義し、分割位置を特定(決定)する。なお、より好適には、Wa+Wover幅の画像のメモリ転送時のアラインを考慮して、Waを定義するとよい。なお、チップ0 100aの空きメモリ帯域を使い切るように分割位置を制御する例を説明したが、チップ0 100aの空きメモリ帯域をチップ1 100bの空きメモリ帯域より小さくしても画像処理3の処理性能を向上させることができる。
画像処理部2 103bで処理する画像幅Wbは、W−Waにより算出される。画像処理部2 103bの画像処理2で必要とされるメモリ帯域は、(分割時の画像処理2の要求帯域)−(画像処理部2 103aの処理帯域)、即ち、(1+2Wover/W)B−(M−A)となる。S9が実行されると、各チップにおいて使用されるメモリ帯域は、図3(c)のように示される。
S10において、制御部107aは、各チップのメモリ帯域が破綻するか否かを判定する。判定の結果、図3(c)に示されるように、各チップの使用メモリ帯域が、使用可能なメモリ帯域Mを下回ると、図2に示される処理を終了する。
ここで、図2に示す処理の結果として、各画像処理部において処理対象とされる画像領域と、処理順序を図5に示す。図5に示されるように、チップ0 100aにおいては、画像処理1を全面、及び画像処理2を画像幅Waの画像領域に対して実行し、画像幅Wbの画像領域に対する画像処理2、画像処理3、及び画像処理4を実行しないで画像を出力するように制御する。また、チップ1 100bにおいては、画像処理1、及び画像幅Waの画像領域に対する画像処理2を実行せず、画像処理2を画像幅Wbの画像領域、画像処理3を全面、及び画像処理4を全面に対して実行して画像を出力するように制御する。なお、分割部102及び結合部104には、分割位置Waとオーバーラップ領域Woverに関する情報が制御情報として伝達される。
補足として、上述の分割処理では、画像処理2で必要とされるメモリ帯域がチップ0、1の何れのメモリ帯域内にも収まらない例を用いて説明したが、ここで、画像処理2の処理がチップ1のメモリ帯域内に収まる場合の処理について、図6を用いて説明する。より詳細には、画像処理設定や入力フォーマットの変更に伴い、画像処理2で必要とされるメモリ帯域がチップ1のメモリ帯域内に収まり、かつチップ0のメモリ帯域に空きがある状態となる場合の処理について、図6を用いて説明する。また、上述のように、画像処理3の処理性能を向上させるため、可能な限りチップ0 100aのメモリ帯域を使用し、チップ1 100bのメモリ帯域を空けるようにメモリ帯域を制御するため、上述の図2に示される処理を、以下のように実行する。
先ず、上述の図2のS4において、図6(a)に示される各画像処理で必要とされるメモリ帯域を踏まえ、画像処理の割振りを検討した結果、図6(b)に示されるように、画像処理1をチップ0、画像処理3、4をチップ1で処理すると判定する。また、上述のように、画像処理2で必要とされるメモリ帯域を、チップ0 100aのメモリ109aの空きメモリ帯域に収めることはできないが、チップ1 100bのメモリ帯域内に収めることは可能であるものとする。
S5において、制御部107aは、各チップの空きメモリ帯域を計算する。ここで、画像処理2、3、4で必要とされるメモリ帯域をチップ1に設定した場合のチップ1 100bの空きメモリ帯域をM1bとすると、M1b=M−(B+C+D)となる。但し、この場合、チップ1の空きメモリ帯域(M1b)は小さくなる。即ち、画像処理3の描画処理に使用可能なメモリ帯域は小さく、そのため、描画性能が低下する。そこで、この場合、S6以降の処理において、チップ1 100bの空きメモリ帯域を最大化することを検討する。即ち、チップ1 100bの空きメモリ帯域(M1b)が所定の閾値よりも小さい場合、制御部107aは、チップ1 100bの空きメモリ帯域を最大化する。
S6において、制御部107aは、画像処理2を分割処理の対象として特定する。S7において、制御部107aは、画像処理部2の前段に分割部102、画像処理部2の後段に結合部104が実装されていることを条件として、画像処理2における処理を分割可能と判定し、処理をS8に移行させる。
S8において、画像処理2で必要とされるメモリ帯域を除いた各メモリ109の空きメモリ帯域の総和と、画像処理2を分割した際の処理で使用されるメモリ要求帯域を算出する。各メモリ109の空きメモリ帯域の総和は、メモリ109aのM−Aと、メモリ109bのM−(C+D)総和となり、また、画像処理2を分割した際の処理で使用されるメモリ要求帯域は、(1+2Wover/W)Bとなる。ここでは、画像処理2を分割した際の処理で使用されるメモリ要求帯域が、各メモリ109の空きメモリ帯域の総和以下であるものとして、処理をS9に移行させる。
S9において、制御部107aは、画像処理2の分割位置を決定する。分割位置特定後のチップ1 100bの空きメモリ帯域をM0bとすると、M0b>M1bの場合(図6(c))、制御部107aは、S9において分割結果を採用し、各画像処理部に処理結果を通知する。他方、画像処理2で必要とされるオーバーラップ領域が大きい等の理由により、そのオーバーラップ領域分のメモリ帯域の増加に伴い、分割前のチップ1 100bの空きメモリ帯域の方が大きくなる場合がある。即ち、M0b<M1bの場合(図6(d))、画像処理2を分割することなく(図6(e))、チップ1 100bで処理を実行するように、各画像処理部に処理(制御)結果を通知する。
以上、この補足では、画像処理3の処理性能を向上させるため、チップ1 100bのメモリ帯域を空けるように制御する例を示した。ここで、例えば、画像処理設定の変更等により、S4において、画像処理3に使用されるメモリ帯域をチップ0 100aに割り振る場合、チップ0 100aのメモリ帯域を可能な限り空けるように制御することもできる。また、不図示のCPUの処理性能を向上させるために、特定の処理を実行するCPUが何れのチップに搭載されるかに応じて、メモリ帯域を空けるチップを制御することもできる。さらに、各チップの空き帯域を均等化するように、S9の分割位置を制御することもできる。
(画像処理装置における動作)
次に、図7を用いて、画像処理装置における動作について説明する。入出力フォーマット及び画像処理モードが確定し、上述の図4、図5に示される制御部107の制御に基づいて、画像処理装置10は、以下のように動作する。なお、図7において、網掛けで示されている画像処理部3 105a、画像処理部4 106a、及び画像処理1 101bは、上述の制御の結果、第2のモードで動作し、画像処理を実行しない。
画像処理装置10に入力される画像は、不図示の入力部より画像処理部1 101aに入力される。画像処理1 101aは、入力画像をメモリ109aに書き込み、その書き込んだ画像をさらに読み出して所定の処理を実行し、処理結果を分割部102aに出力する。画像処理1では、メモリ109aの使用可能なメモリ帯域Mのうち、メモリ帯域Aを使用する。
分割部102aは、入力された画像に対して、制御部107aの指示に従って、図4に示されるように、幅Wの画像を幅Wa+Woverの第1領域と、幅Wb+Woverの第2領域に分割する。分割部102aは、第1領域の画像を画像処理部2 103aに出力し、第2領域の画像を結合部104aに出力する。
画像処理部2 103aは、1フレーム前の第1領域の画像をメモリ109aより読み出して画像処理を実行し、処理結果をメモリ109aに書き込む。さらに、画像処理部2 103aは、メモリ109aより処理結果を読み出して所定の処理を実行し、その処理結果を結合部104aに出力する。
なお、画像処理2では、処理対象の画素の端部に位置するWover画素についても、フレーム内を参照した処理を実行する。即ち、分割境界においても非分割時と同等の処理を実行するため、分割境界部において、分割部102aで付加した分割境界のオーバーラップ領域Woverを参照画像として用いる。補足として、オーバーラップ領域Woverは画像処理2の参照領域として付加されるため、画像処理2が完了すると、オーバーラップ領域Woverを不要な領域として処理する。
なお、チップ0 100aでは、上述のように、画像処理1と画像処理2に必要とされるメモリ帯域がメモリ109aのメモリ帯域と等しくなるように、画像処理2を分割しているため、画像処理2で使用されるメモリ帯域は、M−Aとなる。また、画像処理2に要する処理時間をTprocと定義すると、画像処理部2 103aは入力からTproc時間経過後に画像処理結果を出力する。
結合部104aは、画像処理部2 103aから出力された第1領域の処理結果と、分割部102aから出力された第2領域の画像を結合する。ここで、第1領域のうち、境界部の幅Woverは上述のように不要であることから、切り捨て処理を実行し、第2領域と結合する。
また、結合処理では、分割部102aの出力を先に、画像処理2 103aの出力を後にして結合する。第1領域の画像は、画像処理2の処理結果、第2領域の同一ラインよりTproc時間、遅延して結合部104aに入力されるため、図8(b)に示されるように垂直座標がずれた状態で結合した画像が出力される。
結合部104aから出力された画像は、第2の画像処理モードに設定されている画像処理部3 105aと画像処理部4 106aに入力されるが、画像処理3、画像処理4のいずれも実行されることなく、不図示の出力部より出力される。そして、その出力された画像は、チップ1 100bの不図示の入力部に入力される。
チップ1 100bに入力された画像は、第2の画像処理モードに設定されている画像処理部1 101bに入力されるが、画像処理1が実行されることなく、分割部102bに出力される。分割部102bは、制御部107bからの指示に基づいて、幅Waの第1領域と、幅Wb+Woverの第2領域に分割し、第1領域を結合部104bに、第2領域を画像処理部2 103bに出力する。
画像処理部2 103bは、第2領域に対して画像処理部2 103aにおける画像処理2と同様の画像処理を実行し、その処理結果を、結合部104bに出力する。なお、第2領域のうち、分割境界部のオーバーラップ領域Woverを不要な領域として処理する。また、画像処理部2 103bにおいても、画像処理部2 103aと同様にTproc時間経過後に処理結果を出力する。
結合部104bは、分割部102bから出力された第1領域の画像と、画像処理部2 103bから出力される第2領域の処理結果(画像)のうち、オーバーラップ領域Woverを除いた画像を結合する。ここで、分割部102bの時点における第1領域と第2領域の垂直方向のずれ(Tproc)は、画像処理2を第2領域に実行することで(画像処理2の処理時間、遅延することで)、解消される。
したがって、図8(c)に示されるように、結合部104bは、第1領域、第2領域の出力結果を内部に備える不図示のラインバッファを用いて結合し、その結合した結果を画像処理部3 105bに出力する。なお、この時点で、入力画像に対して画像処理1、2を分割せずに実行した場合と同等の処理結果が取得される。
画像処理部3 105bは、入力画像に対して、メモリ109bに格納された不図示の処理部の処理結果を読み出し、入力画像に対して所定の画像処理を実行する。ここで、例えば、画像処理部3 105bが、ユーザインターフェイス等のグラフィックを合成する機能を備え、不図示の他の処理部がグラフィックの描画処理をメモリ109bの空き帯域を利用して実行したものとする。この場合、画像処理2を可能な限りメモリ109aのメモリ帯域を使用して処理し、メモリ109bのメモリ帯域を空けることで、描画処理に使用可能なメモリ帯域を増加させることができ、その結果、描画性能を向上させることができる。
画像処理部3 105bは、画像処理部4 106bに処理結果を出力する。画像処理部4 106bは、入力画像からデータを抽出し、その抽出したデータをメモリ109bに書き込み、さらに、メモリ109bに格納されたデータを読み出して、次のフレームに対して所定の画像処理を実行する。画像処理部4 106bは、処理結果を、画像処理装置10の不図示の液晶パネル等の表示部、不図示の出力部、又は不図示の符号化部や記録部等、画像処理装置の形態に応じて出力する。
以上、説明したように、本実施形態によれば、画像処理において、メモリ帯域を好適に制御することができる。この点、上述で説明した内容を踏まえ、以下に補足する。先ず、入力画像を、オーバーラップ領域を有する状態で、左右の画像に均等に分割して、画像処理を実行する場合を検討する。この場合において、画像の分割処理を各々の画像処理で実行するとき、メモリ帯域として、各画像処理における境界処理に必要とされるオーバーラップ領域を合算して付加する必要がある。この場合、例えば、変形処理等の参照領域が大きいと、分割時に付加するオーバーラップ領域も大きくなり、必要とされるメモリ帯域が増加する。そのため、一部の分割区間でのみオーバーラップ領域を付加して分割処理を実行する本実施形態と比して、付加されるオーバーラップ領域が大きくなり、詰まりは、必要なメモリ帯域が大きくなる。
また、本実施形態のように、分割部102、結合部104を備えることなく、チップを直列接続して画像処理装置を構成させた場合、図3に示されるように、画像処理2に必要とされるメモリ帯域を適切に割り当てることができない。そのため、実行する画像処理の縮減、又は、より高速なメモリを用いたメモリ帯域の増強が必要とされる。
但し、前者、即ち、実行する画像処理を縮減する場合には画質が劣化し、また、後者、即ち、より高速なメモリを用いてメモリ帯域を増強する場合、製造コストの上昇を伴うこととなる。他方、本実施形態に係る画像処理装置では、画像処理の一部区間において画像を領域分割し、メモリ帯域の使用状況に応じて分割位置を可変とすることで、メモリ帯域の破綻を回避している。そのため、上述のような画質の劣化、また、コストの上昇を回避することができる。
<第2実施形態>
次に、図9の画像処理装置の構成を示すブロック図を用いて、第2実施形態について説明する。上述の第1実施形態においては、分割部102、及び結合部104を画像処理部2 103の前後においてのみ配置する構成として説明した。そこで、第2実施形態では、より分割位置の制約を緩和するため、各画像処理部の前段に分割部と後段に結合部を具備させた構成とする。
図10に、メモリ帯域とその割当てについて説明を補足する。なお、ここでは、画像処理1はメモリ209へのアクセスを実行しない処理とし、画像処理2、画像処理3、及び画像処理4はメモリ209へのアクセスを実行する処理とする。ここで、図10に示されるように、画像処理4で使用されるメモリ要求帯域Dは、各メモリの使用可能なメモリ帯域Mを超えるため、処理を分割して実行しなければ、メモリ帯域の制約を満たすことはできない。
ここで、第1実施形態のように画像処理2のみを分割する構成においては、メモリ要求帯域を満たせず、画像処理4の処理モードをよりメモリ帯域を使用しないモードに変更する必要があるが、本実施形態では、画像処理4を分割する。即ち、本実施形態においては、上述の図2のS4の割振りの結果、図10(b)に示されるように、画像処理2、3がチップ0のメモリに割り振られ、S6において、画像処理4が分割対象として特定される。
S7において、第1実施形態と異なり、画像処理部4 206の前段に分割部2024、後段に結合部2044を具備させていることから、制御部207は、処理をS8に移行させる。
S8において、画像処理4で必要とされるメモリ帯域を除いた各メモリ209の空きメモリ帯域の総和と、画像処理4を分割した際の処理で使用されるメモリ要求帯域を算出する。図10では、空きメモリ帯域が画像処理4の分割時のメモリ要求帯域より大きいと判定し、S9において、画像処理4における画像の分割位置を決定する。S9における分割位置を決定する処理は、上述の実施形態1と同様であることから、ここでは、その説明を省略する。
S9で分割位置を決定した結果、各チップにおいて画像処理で必要とされるメモリ帯域は、図10(c)に示されるようになり、各チップにおける画像処理のメモリ要求帯域は、各々、各メモリの使用可能なメモリ帯域M以下となる。そのため、制御部207は、図2に示される処理を終了する。
以上、説明したように、メモリアクセスを実行する画像処理部毎に、前段に分割部、及び後段に結合部を備える構成とすることで、より柔軟にメモリ帯域を制御することができる。
なお、分割部及び結合部を具備させることに伴い回路規模が増加するようであれば、システム上、処理の分割境界となり得ない画像処理(画像処理部)においては、分割部及び結合部を具備させないように構成させればよい。例えば、画像処理1の最大メモリ要求帯域が使用可能なメモリ帯域M以下の場合、画像処理1の前後に分割部及び結合部を設けても使用されないため、この場合には、分割部及び結合部を挿入しないことが望ましい。
また、これまで、2つのチップを直列に接続する構成で説明したが、より多くのチップを直列に接続する場合においても同様に、メモリ帯域の空き状況によってチップを跨いで画像処理を実行する場合に、上述の分割処理及び結合処理を実行することができる。
<第3実施形態>
上述の実施形態では、複数の同一チップを直列に接続する形態について説明した。本実施形態では、直列に接続される2つのチップにおいて実行される画像処理は異なるが、一部の画像処理部(画像処理回路)が両チップに実装されている場合に、チップのメモリ帯域を好適に制御できることについて説明する。即ち、2つのチップの構成が異なる場合においても、上述の第1実施形態と同様に、2つのチップにおいて、共通に備える画像処理部における画像処理で分割処理を施すことで、チップのメモリ帯域を好適に制御できることについて説明する。
図11は、画像処理装置30の構成を示すブロック図である。画像処理装置30は、チップ0 300とチップ1 301を直列に接続することにより構成される。チップ0 300及びチップ1 301は、同一の構成である画像処理部(画像処理部2 304)を各々、備え、画像処理部2 304の前段に分割部303と後段に結合部305を備える。
画像処理装置30の構成において、チップ0 300の画像処理部2、及び画像処理部5は、バス306を介して、メモリ307に接続される。チップ1 301においても同様に、画像処理部1乃至4の各々は、バス310を介して、メモリ311に接続される。また、チップ0 300の制御部312は、チップ0 300の各処理部に接続され、かつ、チップ1 301の制御部313との通信インターフェイス(通信経路)を備える。チップ1 301の制御部313も同様に、チップ1 301の各処理部に接続され、かつ、チップ0 300の制御部312とインターフェイスを介して接続される。
なお、図11に示される構成は、例えば、先にチップ1 301が開発され、その後に画像処理1 308を画像処理5 302に更新するために、チップ0 300をFPGA等に実装し、画像処理装置30を構成させる場合等を想定している。補足として、FPGAは、Field−Programmable Gate Arrayの略で、その他、FPGAの代わりに、新規のLSIを実装することもできる。
以下、上述の図2のフローチャートを用いて、本実施形態に係る画像処理装置30の制御部312における処理について説明する。なお、上述の実施形態と同様の処理については、その説明を省略する。
S3において、画像処理2乃至5で必要とされるメモリ帯域を算出する。ここで、図12(図12(a))に、画像処理装置30の各画像処理のメモリ要求帯域を示す。なお、本実施形態では、画像処理部1 308を使用しないことから、画像処理1のメモリ要求帯域は0である。
S4において、制御部312は、画像処理2乃至5を何れのチップで実行するかを割り振る。なお、ここでは、メモリ307の使用可能なメモリ帯域をM0、メモリ311の使用可能なメモリ帯域をM1とし、各々、異なるメモリ帯域を有するものとして説明する。
図12(b)に示されるように、制御部312は、チップ0 300のメモリに画像処理5に使用されるメモリ帯域を、チップ1 301のメモリに画像処理3、4に使用されるメモリ帯域を割り振る。但し、画像処理2に使用されるメモリ帯域に関しては、分割しなければ、何れのチップのメモリにも割り振ることができない。そこで、S5において、画像処理2で必要とされるメモリ帯域を除いた各メモリの空きメモリ帯域を算出した後に、S6において、画像処理2を分割処理の対象として特定する。
S7において、制御部312は、チップ0 300、チップ1 301の双方において、画像処理部2の前段に分割部303、後段に結合部305が具備されていることから、画像処理2を分割可能と判定する。S8において、制御部312は、S5で算出した各メモリの空きメモリ帯域の総和が、S6で特定した画像処理2を分割した際の処理で使用されるメモリ要求帯域以下であるか否かを判定する。ここでは、画像処理2を分割した際の処理で使用されるメモリ要求帯域の方が小さいと判定し、処理をS9に移行させる。
S9において、制御部107aは、メモリ307のメモリ帯域を最大に使用されるように、画像処理2の分割位置を決定する。なお、分割位置の決定に関して、上述の第1実施形態と同様であるが、上述の第1実施形態では各メモリのメモリ帯域は同じであったが、本実施形態では、各メモリのメモリ帯域が異なる点を考慮する。S9の処理を実行した結果として、図12(c)に示されるように、メモリ307の空きメモリ帯域は0、メモリ311の空きメモリ帯域はM1−(A+B+C+D−M0)となる。
S10において、制御部312は、各チップのメモリ帯域が破綻するか否かを判定する。判定の結果、図12(c)に示されるように、各チップの使用メモリ帯域が、使用可能なメモリ帯域を下回ることから、図2に示される処理を終了する。
以上、説明したように、異なる種類のチップが直列に接続される構成においても、同一の画像処理部を備え、その前段に分割部、後段に結合部が具備される構成であれば、メモリ帯域を好適に制御することができる。
<第4実施形態>
次に、図13の画像処理装置の構成を示すブロック図を用いて、第4実施形態について説明する。画像処理装置40は、1つの入力を処理する機能と、2つの入力を1画面に合成する機能の2つの機能を備え、制御部407の指示に従って、処理を切り替える。
画像処理装置40を構成するチップ400は、画像処理部1 401、画像処理部2 403、画像処理部3 405、画像処理部4 406を備え、各々、画像処理時にメモリ409にアクセスする。なお、メモリ409(メモリ409a、メモリ409b)のうち、メモリ409a、メモリ409bの何れのメモリにアクセスするかに関しては、各画像処理のアドレス設定によって切り替えられる。
また、画像処理1 401と画像処理2 403は、2つの同一の画像処理回路を備える(即ち、画像処理1 401に関して画像処理1 401aと画像処理1 401b、画像処理2 403に関して画像処理2 403aと画像処理2 403bを備える。)さらに、画像処理2 403aは、画像処理2 403aの前段に分割部402、画像処理2 403aの後段に結合部404を備える。その他、画像処理装置40は選択部410を備え、画像処理部1 401bと分割部402の出力を画像処理部2 403bに択一的に選択して出力する。
先ず、2画面を合成して表示する処理に関して、図14(a)を用いて説明する。なお、以下の説明において、2つの入力を入力A、入力Bとして説明する。入力Aは、不図示の入力部より、画像処理部1 401aに入力され、画像処理1を実行後、分割部402に出力する。分割部402は、分割処理を実行せず、画像処理部2 403aに画像処理1が施された入力Aを出力する。
画像処理部2 403aは、画像処理1が施された入力Aに対して画像処理2を実行し、その実行結果を結合部404に出力する。結合部404は、画像処理1及び画像処理2が施された入力Aに対して結合処理を行うことなく、画像処理3 405に出力する。
次に、入力Bは、不図示の入力部より、画像処理部1 401bに入力され、画像処理1を実行後、選択部410に出力する。選択部410は、画像処理部1 401bからの出力を選択するよう動作し、画像処理1が施された入力Bを画像処理2 403bに出力する。画像処理2 403bは、画像処理1が施された入力Bに対して画像処理2を実行し、その実行結果を画像処理3 405に出力する。
続いて、画像処理部3 405は、画像処理1及び画像処理2が施された入力A、画像処理1及び画像処理2が施された入力Bを各々、メモリ409に書き込む。その後、各入力画像を所定の位置にレイアウトしながら、メモリ409に格納された入力A、入力B及びグラフィックを読み出して合成し、画像処理4 406に出力する。画像処理部4 406は、その合成処理が施された結果に対して、画像処理4を実行し、その実行結果を出力する。
補足として、図15を用いて、メモリ409と画像処理装置40の各画像処理のメモリ要求帯域について説明する。図15(a)に、画像処理装置40の各画像処理のメモリ要求帯域を示す。また、図15(b)に示されるように、各画像処理におけるメモリアクセスは、画像処理1、画像処理2で使用されるメモリ帯域をメモリ409a、画像処理3、画像処理4で使用されるメモリ帯域をメモリ409bに割り振ると、メモリ帯域は破綻しない。
次に、1つの入力に関する処理に関して、図14(b)を用いて説明する。不図示の入力部より入力された画像(以下、入力画像とも称する)は、画像処理部1 401aで画像処理1を実行し、その実行結果を分割部402に出力する。
分割部402は、後述の制御部407の判定処理に従って、画像処理1が施された入力画像を第1領域と第2領域に分割する。分割後の第1領域は画像処理部2 403aに出力され、分割後の第2領域は選択部410に出力される。選択部410は、画像処理部1 401bからの出力以外の出力、つまりは、分割部402からの出力(即ち、第2領域)を選択し、画像処理部2 403aに出力する。
画像処理部2 403の各々(即ち、画像処理部2 403a、画像処理部2 403a)には、制御部407により同一の動作モードが設定される。画像処理部2は、分割後の第1領域の画像に対して所定の画像処理を実行し、その実行結果を結合部404に出力する。ここでは、画像処理部2 403aはメモリ409aを使用し、画像処理部2 403bはメモリ409bを使用するように制御される。
結合部404は、分割部402で分割された第1領域、第2領域を結合し、その結合した結果を画像処理部3 405に出力する。画像処理部3 405は、メモリ409bよりグラフィックを読み出して、結合部404により結合された画像に合成し、その合成した結果を画像処理部4 406に出力する。なお、合成するグラフィックデータは不図示の描画部によって生成され、描画処理はメモリ409bの空きメモリ帯域を使用して実行される。画像処理部4 406は、メモリ409bを使用した所定の画像処理を実行し、その実行結果を出力する。
以下、上述の図2のフローチャートを用いて、本実施形態に係る画像処理装置40の制御部407における処理について説明する。上述の第1実施形態ではメモリが異なるチップに搭載されていたが、本実施形態では、同一のチップに2つのメモリが搭載され、その2つのメモリにおいてメモリ帯域の割り当てを実施する点で、第1実施形態とは異なる。
S3において、制御部407は、入力フォーマット、及び画像処理モードが確定すると(S1、S2)、画像処理1乃至4のメモリ要求帯域が確定する。ここで、図16(図16(a))に、画像処理装置40の各画像処理のメモリ要求帯域を示す。なお、図16(b)、(c)に関しては、上述の第1実施形態の図3と同様であることから、ここでは、その説明を省略する。
S4において、制御部407は、画像処理1乃至4を、メモリ409a、メモリ409bの何れのチップで実行するかを割り振る。本実施形態では、各画像処理が同一のチップ内で実行されるため、第1実施形態と異なり画像処理の順序を考慮した割当ては不要であるが、画像処理3の処理能力を最大化するように、可能な限り、画像処理3が割り当てられる空きメモリ帯域を最大化する。この場合、例えば、図16(b)に示されるようにメモリ409aに画像処理1を割り当てる場合や、図16(d)に示されるようにメモリ409aに画像処理1、4を割り当てる場合等が想定される。
S5において、メモリ409の空きメモリ帯域を算出し、S6において、画像処理2を分割処理の対象として特定する。ここで、図16(d)の割振りを選択した場合、画像処理2をメモリ409bに割り振ることで、メモリ帯域の制約を満たした状態で処理が実行することができるが、可能な限り、メモリ409bの帯域を空けるため、画像処理2の分割処理を検討する。
S7において、画像処理部2 403の前段に分割部402、後段に結合部404が実装されていることから、画像処理2における処理を分割可能と判定する。次に、S8、S9において、上述の処理の手順に従って、画像処理部2 403において処理対象とする画像の分割位置を特定し、図16(c)、(e)に示されるように、分割位置Wa、オーバーラップ領域Woverを確定する。その結果、S10において、各メモリ帯域は破綻しないと判定され、判定処理を終了する。
以上、説明したように、複数のチップを直列に接続する構成のみならず、チップ内で同一の画像処理部を複数、備える構成においても、メモリの使用状況に応じて画像処理に使用されるメモリ帯域を割り当てることで、メモリ帯域を好適に制御することができる。
<その他の実施形態>
なお、上述の実施形態において、画像処理部1−4は、メモリアクセスに関して異なる処理を実行するものとして説明したが、同様の処理を行うようにしてもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
10 画像処理装置
100a チップ0
100b チップ1
101 画像処理部1
102 分割部
103 画像処理部2
104 結合部
105 画像処理部3
106 画像処理部4
107 制御部
108 バス
109 メモリ

Claims (13)

  1. 複数の画像処理手段であって、当該画像処理手段に応じた画像処理を施す、複数の画像処理手段と、
    前記画像処理において用いられる複数の記憶手段と、
    画像処理を制御する制御手段と、
    前記制御手段の指示に従って、画像データを分割する分割手段と、
    前記制御手段の指示に従って、画像データを結合する結合手段と
    を備え、
    前記制御手段は、
    前記記憶手段の使用状況に関する情報に応じて、前記分割手段により画像データを分割する画像処理を特定し、
    前記特定された画像処理を施す画像処理手段が、前記複数の画像処理手段のうち、少なくとも2つ備えられ、かつ各々、異なる記憶手段に接続されることを条件に、前記特定された画像処理において処理対象とされる画像データを分割する分割位置を決定し、
    前記分割位置に基づいて前記分割手段により少なくとも2つに分割された画像データのうち、一方の画像データに対して前記少なくとも2つの画像処理手段のうちの一方の画像処理手段により画像処理を施し、前記一方の画像処理手段により画像処理が施された一方の画像データと他方の画像データを前記結合手段により結合させるように制御し、
    前記結合された画像データを前記分割位置に基づいて前記分割手段により少なくとも2つに分割した画像データのうち、前記一方の画像処理手段により画像処理が施されていない一方の画像データに対して前記少なくとも2つの画像処理手段のうちの他方の画像処理手段により画像処理を施し、前記他方の画像処理手段により画像処理が施された一方の画像データと他方の画像データを前記結合手段により結合させるように制御することを特徴とする画像処理装置。
  2. 前記制御手段は、
    第1の画像処理モードと第2の画像処理モードで前記画像処理装置を制御し、
    前記第1の画像処理モードでは、画像処理手段により、前記分割位置に基づいて前記分割手段により少なくとも2つに分割された画像データのうち、一方の画像データに画像処理を施し、前記結合手段により当該画像処理が施された画像データと他方の画像データを結合するように制御し、
    前記第2の画像処理モードでは、前記画像処理手段に画像処理を実行させないように制御することを特徴とする請求項1に記載の画像処理装置。
  3. 前記制御手段は、前記特定された画像処理を施す画像処理手段の前段に前記分割手段、かつ後段に前記結合手段が備えられていることを条件に、前記分割手段により前記特定された画像処理において処理対象とされる画像データを分割する分割位置を決定することを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記記憶手段の使用状況に関する情報は、前記画像処理手段におけるフレームレートに関する情報、並びに前記画像処理手段の設定に応じた前記記憶手段への書込み及び前記記憶手段からの読出しに関するデータ量に関する情報を含むことを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
  5. 前記分割手段は、前記画像データの分割時に、前記画像処理手段の処理対象とする画素の周辺に位置する画素の集合を参照領域として、分割境界部に付加して分割することを特徴とする請求項1から4のいずれか1項に記載の画像処理装置。
  6. 前記画像処理手段に応じた画像処理は、所定の順序に従って連続的に実行されることを特徴とする請求項1から5のいずれか1項に記載の画像処理装置。
  7. 前記制御手段は、
    少なくとも前記記憶手段の空き容量及び前記画像処理手段に応じた画像処理の処理内容に従って、
    前記画像処理毎に、当該画像処理で使用される容量を前記複数の記憶手段のいずれかの記憶手段に割り振ることで、前記分割手段により画像データを分割する画像処理を特定し、
    前記特定された画像処理において処理対象とされる画像データを分割する割合を制御することで前記分割位置を決定することを特徴とする請求項6に記載の画像処理装置。
  8. 前記画像処理装置は、複数のチップで構成され、
    前記複数のチップは、前段のチップの出力が後段のチップの入力に接続されるように、直列に接続されることを特徴とする請求項1から7のいずれか1項に記載の画像処理装置。
  9. 前記複数のチップは、各々、前記制御手段を有し、
    前記制御手段は、所定の通信経路により相互に接続され、
    前記制御手段のうち、1の制御手段は、前記複数の画像処理手段の各々における画像処理モード及び前記分割位置を決定し、
    前記1の制御手段は、前記所定の通信経路を介して、他の制御手段に前記決定した前記画像処理モード及び前記分割位置を通知し、
    前記他の制御手段は、前記通知された前記画像処理モード及び前記分割位置に基づいて、前記他の制御手段に対応する前記チップを制御することを特徴とする請求項8に記載の画像処理装置。
  10. 前記画像処理装置は、
    1のチップで構成され、
    前記分割手段の出力と当該分割手段の出力以外の出力を択一的に選択する選択手段をさらに備え、
    前記分割手段が、分割処理を実行する場合には前記分割手段からの入力を選択し、分割処理を実行しない場合には他方の入力を選択して出力することを特徴とする請求項1から9のいずれか1項に記載の画像処理装置。
  11. 前記他方の画像処理手段は、複数、備えられることを特徴とする請求項1から10のいずれか1項に記載の画像処理装置。
  12. 複数の画像処理手段であって、当該画像処理手段に応じた画像処理を施す、複数の画像処理手段と、画像データ及び画像処理で用いられるデータを記憶する、複数の記憶手段と、画像処理を制御する制御手段と、前記制御手段の指示に従って、画像データを分割する分割手段と、画像データを結合する結合手段とを備えた画像処理装置における画像処理方法であって、
    前記制御手段により、
    前記記憶手段の使用状況に関する情報に応じて、前記分割手段により画像データを分割する画像処理を特定する特定ステップと、
    前記特定された画像処理を施す画像処理手段が、前記複数の画像処理手段のうち、少なくとも2つ、備えられ、かつ各々、異なる記憶手段に接続されることを条件に、前記分割手段により前記特定された画像処理において処理対象とされる画像データを分割する分割位置を決定する決定ステップと、
    前記分割位置に基づいて前記分割手段により少なくとも2つに分割された画像データのうち、一方の画像データに対して前記少なくとも2つの画像処理手段のうちの一方の画像処理手段により画像処理を施し、前記一方の画像処理手段により画像処理が施された一方の画像データと他方の画像データを前記結合手段により結合させるように制御する第1の制御ステップと、
    前記結合された画像データを前記分割位置に基づいて前記分割手段により少なくとも2つに分割した画像データのうち、前記一方の画像処理手段により画像処理が施されていない一方の画像データに対して前記少なくとも2つの画像処理手段のうちの他方の画像処理手段により画像処理を施し、前記他方の画像処理手段により画像処理が施された一方の画像データと他方の画像データを前記結合手段により結合させるように制御する第2の制御ステップと
    を含むことを特徴とする画像処理方法。
  13. 請求項12に記載の画像処理方法をコンピュータに実行させるためのプログラム。
JP2019148817A 2019-08-14 2019-08-14 画像処理装置、画像処理方法、及びプログラム Active JP7317630B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019148817A JP7317630B2 (ja) 2019-08-14 2019-08-14 画像処理装置、画像処理方法、及びプログラム
US16/990,514 US11210763B2 (en) 2019-08-14 2020-08-11 Image processing apparatus, image processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019148817A JP7317630B2 (ja) 2019-08-14 2019-08-14 画像処理装置、画像処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2021033346A true JP2021033346A (ja) 2021-03-01
JP7317630B2 JP7317630B2 (ja) 2023-07-31

Family

ID=74567944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019148817A Active JP7317630B2 (ja) 2019-08-14 2019-08-14 画像処理装置、画像処理方法、及びプログラム

Country Status (2)

Country Link
US (1) US11210763B2 (ja)
JP (1) JP7317630B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10164584A (ja) * 1996-11-26 1998-06-19 Sharp Corp 画像処理装置
JP2015210375A (ja) * 2014-04-25 2015-11-24 キヤノン株式会社 画像処理装置、その制御方法及びプログラム
JP2017054263A (ja) * 2015-09-08 2017-03-16 キヤノン株式会社 画像処理装置および画像処理装置の制御方法と撮像システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7075541B2 (en) * 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
US7961194B2 (en) * 2003-11-19 2011-06-14 Lucid Information Technology, Ltd. Method of controlling in real time the switching of modes of parallel operation of a multi-mode parallel graphics processing subsystem embodied within a host computing system
US7602993B2 (en) * 2004-06-17 2009-10-13 Olympus Corporation Image processing and display using a plurality of user movable viewer areas
US7633505B1 (en) * 2004-11-17 2009-12-15 Nvidia Corporation Apparatus, system, and method for joint processing in graphics processing units
JP2009171183A (ja) 2008-01-16 2009-07-30 Panasonic Corp 映像表示装置
WO2015170475A1 (ja) * 2014-05-08 2015-11-12 日本電気株式会社 通信装置、通信システム、通信方法および通信用プログラムが記憶された記憶媒体
US10726514B2 (en) * 2017-04-28 2020-07-28 Intel Corporation Compute optimizations for low precision machine learning operations
KR20200094500A (ko) * 2019-01-30 2020-08-07 삼성전자주식회사 이미지 프레임 데이터에 포함된 라인 데이터를 복수의 구간들로 처리하는 전자 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10164584A (ja) * 1996-11-26 1998-06-19 Sharp Corp 画像処理装置
JP2015210375A (ja) * 2014-04-25 2015-11-24 キヤノン株式会社 画像処理装置、その制御方法及びプログラム
JP2017054263A (ja) * 2015-09-08 2017-03-16 キヤノン株式会社 画像処理装置および画像処理装置の制御方法と撮像システム

Also Published As

Publication number Publication date
US20210049732A1 (en) 2021-02-18
US11210763B2 (en) 2021-12-28
JP7317630B2 (ja) 2023-07-31

Similar Documents

Publication Publication Date Title
US8106913B1 (en) Graphical representation of load balancing and overlap
KR100959468B1 (ko) 그래픽 프로세스 최적화 방법 및 시스템
KR100440522B1 (ko) 화상메모리특유의하드웨어스펙에기인하는각종지연요인을저장방식및판독방식의개선에의해극복한화상복호장치및화상메모리
US8947432B2 (en) Accelerated rendering with temporally interleaved details
US9454794B2 (en) Image processing apparatus, image processing method, and program
JP4683384B2 (ja) メモリ制御方法、グラフィックプロセッサおよび情報処理装置
JP4011082B2 (ja) 情報処理装置、グラフィックプロセッサ、制御用プロセッサおよび情報処理方法
JP7317630B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US6940519B2 (en) Graphics processor, graphics card and graphics processing system
CN118214817A (zh) 一种图层处理的方法、装置、设备、系统和存储介质
KR101169994B1 (ko) 알파 평면을 이용한 영상 데이터 처리 장치 및 방법
EP1353510A2 (en) Image processing apparatus and image processing method
JP2010048976A (ja) 信号処理装置および信号処理方法
JP2002032749A (ja) 画像処理装置
US7327371B2 (en) Graphic controller, microcomputer and navigation system
JP4046716B2 (ja) 情報処理装置およびデータ伝送方法
JP5342747B2 (ja) 平面表示装置及びその信号駆動方法
JP2000259143A (ja) マルチウィンドウ制御装置
JP6476500B2 (ja) 画像処理システム、遊技機
JP3011344B2 (ja) 画像処理装置
KR20220080314A (ko) 디스플레이 패널의 영상 출력을 위한 프레임 버퍼를 포함하는 영상 표시 장치 및 이의 제어 방법
KR100862882B1 (ko) 선택된 영상 변환 모드에 따라 변경되는 어드레스 신호를발생하는 영상 변환 장치 및 그 영상 변환 방법
JP5213394B2 (ja) 画像転送装置
JP2000181440A (ja) 表示装置
JPH09325745A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220803

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230530

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230719

R151 Written notification of patent or utility model registration

Ref document number: 7317630

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151