(57)【要約】【課題】ラスタースキャン順序で画素が伝送される原画像の一部を書き換える場合において、処理遅延とハードウエアの使用量の増大を解消すること。【解決手段】本発明は、ラスタースキャン順序で画素が伝送される原画像の一部を書換画像で書き換える画像書換装置に適用される。本発明の画像書換装置は、ラスタースキャン順序で原画像の各画素を入力し、その入力画素が、原画像の最初の画素から数えて何番目の画素であるかをカウントし、そのカウント値が書換画像の画素に対応している場合には、入力画素の画素値を書換画像の画素の画素値に置き換えて出力する画素書換部１２を有する【選択図】図１
2014204269.tif 000002
【特許請求の範囲】
【請求項１】
ラスタースキャン順序で画素が伝送される原画像の一部を書換画像で書き換える画像書換装置であって、
ラスタースキャン順序で前記原画像の各画素を入力し、その入力画素が、前記原画像の最初の画素から数えて何番目の画素であるかをカウントし、そのカウント値が前記書換画像の画素に対応している場合には、前記入力画素の画素値を前記書換画像の画素の画素値に置き換えて出力する画素書換部を有する画像書換装置。
【請求項２】
前記画素書換部は、
前記原画像の最初の画素から順番に、前記原画像の画素値ｘの画素を入力すると、カウント値ｃを１増加させるカウンタと、
前記カウント値ｃが前記書換画像の画素に対応しているか否かを判断する対象判断部と、
前記カウント値ｃが前記書換画像の画素に対応している場合には、前記画素値ｘを前記書換画像の画素の画素値に置き換えて出力する書換実施部と、を有し、
前記対象判断部は、
前記原画像の中の、前記書換画像で書き換える書換対象領域の左上の画素の行方向の座標ｊおよび列方向の座標ｋと、前記原画像の行方向の画素数Ｎと、前記カウント値ｃと、を用いて、次式により変数ｈ，ａ，ｂを求め、
ｈ＝ｃ−（Ｎｋ＋ｊ）
ａ＝ｈ  ｍｏｄ  Ｎ
ｂ＝ｉｎｔ（ｈ／Ｎ）
前記書換画像の行方向の画素数ｍおよび列方向の画素数ｎを用いて、前記変数ａ，ｂが次式の条件に合致するか否かを判断し、
０≦ａ＜ｍ
かつ
０≦ｂ＜ｎ
前記変数ａ，ｂが前記条件に合致すれば、前記カウント値ｃが前記書換画像の画素に対応していると判断する、請求項１に記載の画像書換装置。
【請求項３】
前記書換実施部は、
前記変数ａ，ｂと、前記書換画像の行方向の画素数ｍと、を用いて、次式によりアドレスｇを求める変換部と、
ｇ＝ｍｂ＋ａ
前記書換画像の列方向の座標が前記変数ａで行方向の座標が前記変数ｂである画素の画素値が、アドレスｍｂ＋ａにｒ［ｍｂ＋ａ］として予め書き込まれたメモリと、
出力画素の画素値として前記画素値ｘまたは前記画素値ｒ［ｇ］のいずれかを選択して出力する選択器と、を含み
前記対象判断部は、
前記カウント値ｃが前記書換画像の画素に対応している場合、前記画素値ｒ［ｇ］を選択するよう前記選択器に指示し、
前記カウント値ｃが前記書換画像の画素に対応していない場合、前記画素値ｘを選択するよう前記選択器に指示する、請求項２に記載の画像書換装置。
【請求項４】
前記書換実施部は、
前記変数ａ，ｂと、前記書換画像の行方向の画素数ｍと、を用いて、次式によりアドレスｇを求める変換部と、
ｇ＝ｍｂ＋ａ
前記書換画像の列方向の座標が前記変数ａで行方向の座標が前記変数ｂである画素の画素値が、アドレスｍｂ＋ａにｒ［ｍｂ＋ａ］として予め書き込まれたメモリと、
前記画素値ｘと前記画素値ｒ［ｇ］とを線形結合する加算器と、
出力画素の画素値として、前記画素値ｘ、または、前記画素値ｘと前記画素値ｒ［ｇ］とを線形結合した画素値のいずれかを選択して出力する選択器と、を含み
前記対象判断部は、
前記カウント値ｃが前記書換画像の画素に対応している場合、前記画素値ｘと前記画素値ｒ［ｇ］とを線形結合した画素値を選択するよう前記選択器に指示し、
前記カウント値ｃが前記書換画像の画素に対応していない場合、前記画素値ｘを選択するよう前記選択器に指示する、請求項２に記載の画像書換装置。
【請求項５】
ラスタースキャン順序で画素が伝送される原画像の一部を書換画像で書き換える画像書換装置による画像書換方法であって、
ラスタースキャン順序で前記原画像の各画素を入力し、
その入力画素が、前記原画像の最初の画素から数えて何番目の画素であるかをカウントし、
そのカウント値が前記書換画像の画素に対応している場合には、前記入力画素の画素値を前記書換画像の画素の画素値に置き換えて出力する、画像書換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラスタースキャン順序で画素が伝送される原画像の一部を上書きまたは重ね書きして書き換える技術に関する。
【背景技術】
【０００２】
ラスタースキャン順序で原画像の画素（ピクセル）が伝送される場合に、原画像の一部の領域を指定して、所定のパタンの画像を上書きして書き換えたり、半透明な画像を重ね書きして書き換えたりする加工処理を行うことがある。
【０００３】
原画像の一部を書き換える場合、一般に、いったん原画像を、ランダムアクセス可能なメモリによって構成されたフレームバッファに、画素ごとに書き換え可能なように格納し、このフレームバッファに対して、画素単位の書き換えを行う。
【０００４】
その際、画素を書き換えるアドレスは、上書きまたは重ね書きする位置に基づいて計算をして得る。また、このアドレスに書き込む画素の画素値は、上書きまたは重ね書きする画像に応じて、いくつかの方法によって得る。例えば、上書きする画像が、ＣＧ（Computer Graphics）などの場合には、ＧＰＵ（Graphics Processing Unit）などを用いたシェーダ演算などにより画素値を得る。また、上書きする画像が、別カメラなどで撮影した撮影画像の場合には、ＣＰＵ（Central Processing Unit）あるいはＧＰＵなどを用いたアルファブレンディング演算などにより、画素値を得る。
【０００５】
これらの技術は、原画像をいったんフレームバッファに格納する点が共通である。しかし、原画像の中のどの領域を上書きまたは重ね書きするかは、一般に設計時には決定していないため、フレームバッファに原画像を１フレーム時間待機させておく必要があり、そのための処理遅延が発生してしまうという問題があった。
【０００６】
また、上書きまたは重ね書きする箇所が多数あり、かつ、事前に該当箇所を１つの処理装置やメモリに集めることが難しい場合、この工程を所定回数繰り返すことになるため、毎回、１フレーム時間以上の遅延が発生し、処理遅延がますます大きくなっていた。
【０００７】
また、この１工程のためにかならず１フレーム以上のフレームバッファを構成するためのメモリが必要となり、ハードウエアの使用量が多くなってしまうことも問題であった。
【０００８】
なお、上書きする画像がＣＧなどの場合に、ＧＰＵなどを用いたシェーダ演算などにより画素値を得る先行技術は、非特許文献１に示されている。非特許文献１には、フレーム単位に処理を行うことが示されている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】“ＧＰＵはいつ描画するのか？”、［平成２５年３月１１日検索］、インターネット＜URL:http://blogs.msdn.com/b/ito/archive/2009/03/25/how-gpus-works-01.aspx＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述したように、従来技術においては、原画像への上書きまたは重ね書きの加工処理のために、原画像をフレームバッファに格納して１フレーム時間待機させておくことによる処理遅延とハードウエアの使用量の増大が課題となっている。
【００１１】
以下、上記の課題について具体的に説明する。
【００１２】
図８に従来の画像書換装置の構成を示し、図９に従来の画像書換装置の処理手順を示す。
【００１３】
図８に示すように、従来の画像書換装置は、３個のフレームバッファ１１０（ｆ０，ｆ１，ｆ２）と、入力書込部１２０と、書換部１３０と、出力読出部１４０と、スイッチ１５０と、を有している。
【００１４】
入力書込部１２０は、入力された原画像をフレームバッファ１１０に書き込む。
【００１５】
書換部１３０は、フレームバッファ１１０に格納された原画像の一部を、画素単位で書き換える。
【００１６】
出力読出部１４０は、書換部１３０が書き換えた画像をフレームバッファ１１０から読み出して出力する。
【００１７】
スイッチ１５０は、入力書込部１２０、書換部１３０、および出力読出部１４０を、フレームバッファ１１０（ｆ０，ｆ１，ｆ２）に接続する。
【００１８】
３個のフレームバッファ１１０（ｆ０，ｆ１，ｆ２）には、それぞれ、入力書込部１２０による原画像の書き込み、書換部１３０による画像の書き換え、および出力読出部１４０による画像の出力、の３つの処理が順次割り当てられる。この割り当てを図９に処理手順として示す。
【００１９】
図９に示すように、フレームバッファ１１０（ｆ０）には、まず、入力書込部１２０による原画像の書き込みが割り当てられ、その１フレーム時間後には、書換部１３０による画像の書き換えが割り当てられ、さらにその１フレーム時間後には、出力読出部１４０による画像の出力が割り当てられる。この割り当ては以降も繰り返される。他の２個のフレームバッファ１１０（ｆ１，ｆ２）には、それぞれ、フレームバッファ１１０（ｆ０）から１フレーム時間分づつずらして、同様の割り当てが行われる。
【００２０】
すなわち、従来の画像書換装置では、画像が入力されてから出力するまで、少なくとも１度はフレームバッファ１１０に画素を蓄えていたため、１フレーム時間以上、図９では、２フレーム時間の処理遅延が生じていた。
【００２１】
また、従来の画像書換装置では、１フレーム以上、図９では、３フレームのフレームバッファ１１０をそれぞれ構成するためのメモリが必要となり、ハードウエアの使用量が多くなっていた。
【００２２】
そこで、本発明の目的は、ラスタースキャン順序で画素が伝送される原画像の一部を書き換える場合において、処理遅延とハードウエアの使用量の増大を解消することができる技術を提供することにある。
【課題を解決するための手段】
【００２３】
本発明の画像書換装置は、
ラスタースキャン順序で画素が伝送される原画像の一部を書換画像で書き換える画像書換装置であって、
ラスタースキャン順序で前記原画像の各画素を入力し、その入力画素が、前記原画像の最初の画素から数えて何番目の画素であるかをカウントし、そのカウント値が前記書換画像の画素に対応している場合には、前記入力画素の画素値を前記書換画像の画素の画素値に置き換えて出力する画素書換部を有する。
【００２４】
本発明の画像書換方法は、
ラスタースキャン順序で画素が伝送される原画像の一部を書換画像で書き換える画像書換装置による画像書換方法であって、
ラスタースキャン順序で前記原画像の各画素を入力し、
その入力画素が、前記原画像の最初の画素から数えて何番目の画素であるかをカウントし、
そのカウント値が前記書換画像の画素に対応している場合には、前記入力画素の画素値を前記書換画像の画素の画素値に置き換えて出力する。
【発明の効果】
【００２５】
本発明によれば、ラスタースキャン順序で原画像の各画素を入力し、その入力画素が、原画像の最初の画素から数えて何番目の画素であるかをカウントし、そのカウント値が書換画像の画素に対応している場合には、入力画素の画素値を書換画像の画素の画素値に置き換えて出力する。
【００２６】
したがって、従来技術のように原画像をフレームバッファに格納して１フレーム時間待機させておくことがなくなるため、そのための処理遅延とハードウエアの使用量の増大を解消することができるという効果が得られる。
【００２７】
なお、上記の効果は、原画像を書き換える加工処理を繰り返し施す回数が多いほど、また、原画像の列方向の画素数が大きいほど顕著である。
【図面の簡単な説明】
【００２８】
【図１】本発明の第１の実施形態の画像書換装置の構成を示す図である。
【図２】原画像と書換対象領域との位置関係を示す図である。
【図３】原画像の画素の入力順序を示す図である。
【図４】書換画像の配列とメモリ内の配置とを示す図である。
【図５】本発明の第１の実施形態の画像書換装置の動作を示すフロー図である。
【図６】本発明の第１の実施形態の画像書換装置の効果を示す図である。
【図７】本発明の第２の実施形態の画像書換装置の構成を示す図である。
【図８】従来の画像書換装置の構成を示す図である。
【図９】従来の画像書換装置の処理手順を示す図である。
【発明を実施するための形態】
【００２９】
以下に、本発明を実施するための形態について図面を参照して説明する。
（１）第１の実施形態
本実施形態は、原画像の一部に対し、所定のパタンの書換画像を上書きして書き換える加工処理を行うものである。
【００３０】
図１に本実施形態の画像書換装置の構成を示す。
【００３１】
図１に示すように、本実施形態の画素書換装置は、画素入力部１１と、画素書換部１２と、画素出力部１３と、を有している。
【００３２】
画素入力部１１は入力ポートを備え、画素出力部１３は出力ポートを備えている。
【００３３】
画素書換部１２は、ラスタースキャン順序で原画像の各画素を画素入力部１１の入力ポートを介して入力し、その入力画素が、原画像の最初の画素から数えて何番目の画素であるかをカウントし、そのカウント値が書換画像の画素に対応している場合には、入力画素の画素値を書換画像の画素の画素値に置き換え、画素出力部１３の出力ポートを介して出力する。
【００３４】
画素書換部１２は、カウンタ１２１と、同期検出部１２２と、対象判断部１２３と、変換部１２４と、メモリ１２５と、選択器１２６と、を有している。
【００３５】
なお、図１においては、変換部１２４、メモリ１２５、および選択器１２６で、本発明の書換実施部を構成している。
【００３６】
また、画素書換部１２内の各構成要素が行う動作については後述する。
【００３７】
図２に原画像と書換対象領域との位置関係を示し、図３に原画像の画素の入力順序を示す。
【００３８】
図２および図３に示すように、原画像の画素は、左上から右へ、行単位のラスタースキャン順序で時系列を構成して入力される。
【００３９】
図２において、『Ａ』、『Ｂ』等の枠は画素を示し、また、その枠内の文字は画素の画素値を示している。
【００４０】
原画像の左から右への行方向（横方向）の画素数はＮである。なお、上から下への列方向（縦方向）の画素数については、本発明では特定不要である。
【００４１】
原画像の各画素には、左上の画素（原画像の最初の画素）を原点（０，０）とし、２次元で、左から右への行方向、および、上から下への列方向に昇順に座標が（＜行方向＞，＜列方向＞）という形式によって、与えられている。
【００４２】
原画像の中の書換対象領域は、左上の画素の座標が（ｊ，ｋ）である矩形領域である。この書換対象領域の画素の画素値を、書換画像の画素の画素値によって置き換える。
【００４３】
図４に、書換画像の配列表記と書換画像のメモリ１２５内の配置とを示す。
【００４４】
図４に示すように、書換画像の行方向の画素数はｍ、列方向の画素数はｎである。
【００４５】
書換画像の各画素には、左上の画素を原点（０，０）とし、２次元で、左から右への行方向、および、上から下への列方向に昇順に座標が（ａ，ｂ）という形式によって、与えられている。ここで、ａは行方向の座標、ｂは列方向の座標、を表す。
【００４６】
書換画像の座標（ａ，ｂ）の画素の画素値は、メモリ１２５のアドレスｍｂ＋ａにｒ［ｍｂ＋ａ］として予め書込んでおく。
【００４７】
以下、図１に示した本実施形態の画像書換装置の動作について説明する。
【００４８】
図５に、本実施形態の画像書換装置の動作を説明するフロー図を示す。
【００４９】
図５に示すように、図３の時系列を形成している原画像の各画素は、画素入力部１１の入力ポートに到着する。
【００５０】
画素書換部１２では、画素入力部１１の入力ポートから画素値ｘの画素を入力し、その画素のフレーム内順序（原画像の最初の画素から数えて何番目の画素であるか）を、カウンタ１２１によって計数する。すなわち、カウンタ１２１は、画素入力部１１の入力ポートから画素値ｘの画素が入力されると、カウント値ｃを１増加させる（ステップＳ１）。
【００５１】
次に、同期検出部１２２は、画素値ｘがフレーム同期信号であるか否かを判定する。フレーム同期信号である場合には、同期検出部１２２は、カウンタ１２１のカウント値ｃをリセットして０とする（ステップＳ２）。フレーム同期信号は、原画像の最初の画素の直前に入力されるため、カウント値ｃは、入力画素が原画像の最初の画素から数えて何番目の画素であるかを示す値となる。
【００５２】
次に、対象判断部１２３は、カウント値ｃが書換画像の画素に対応しているか否かを判断する。この判断は、具体的には次のように行う（ステップＳ３）。
【００５３】
まず、対象判断部１２３は、原画像の中の書換対象領域の左上の画素の行方向の座標ｊおよび列方向の座標ｋと、原画像の行方向の画素数Ｎと、カウント値ｃと、を用いて、次式により変数ｈ，ａ，ｂを求める。
【００５４】
ｈ＝ｃ−（Ｎｋ＋ｊ）
ａ＝ｈ  ｍｏｄ  Ｎ
ｂ＝ｉｎｔ（ｈ／Ｎ）
次に、対象判断部１２３は、書換画像の行方向の画素数ｍおよび列方向の画素数ｎを用いて、変数ａ，ｂが次式に合致するか判断する。
【００５５】
０≦ａ＜ｍ
かつ
０≦ｂ＜ｎ
対象判断部１２３は、変数ａ，ｂが上記の条件に合致すれば、カウント値ｃが書換画像の画素に対応していると判断する。
【００５６】
その一方、変換部１２４も、対象判断部１２３と同様に変数ａ，ｂを求め、求めた変数ａ，ｂと、書換画像の行方向の画素数ｍと、を用いて、次式によりアドレスｇを求める。
【００５７】
ｇ＝ｍｂ＋ａ
メモリ１２５は、変換部１２４からアドレスｇ（＝ｍｂ＋ａ）が与えられると、アドレスｇに書き込まれている画素値ｒ［ｇ］を出力する。
【００５８】
対象判断部１２３は、カウント値ｃが書換画像の画素に対応している場合、出力画素の画素値ｙとして画素値ｒ［ｇ］を選択するよう選択器１２６に指示する（ステップＳ４）。
【００５９】
一方、対象判断部１２３は、カウント値ｃが書換画像の画素に対応していない場合、出力画素の画素値ｙとして画素値ｘを選択するよう選択器１２６に指示する（ステップＳ５）。
【００６０】
その後、選択器１２６は、出力画素の画素値ｙを画素出力部１３の出力ポートに書き込む（ステップＳ６）。
【００６１】
以上の図５の手順は、画素入力部１１の入力ポートから画素を入力するかぎり、画素の入力ごとに１回繰り返す。
【００６２】
図６に、本実施形態の効果を示す。
【００６３】
従来技術では、原画像をフレームバッファに格納して待機させておく必要があったため、１フレーム時間以上の処理遅延が生じていた。
【００６４】
これに対して、本実施形態では、図６に示すように、画素書換部１２における、画素入力、画素書換、および画素出力は、たかだか数画素程度の遅延で終了するため、入力画像フレームと出力画像フレームの遅延時間もまた、たかだか数画素程度の時間となる。この遅延は、従来技術で１フレーム時間以上の処理遅延が生じていたことと比較して、圧倒的に小さい。
【００６５】
また、従来技術では、１フレーム以上のフレームバッファを構成するためのメモリが必要となり、ハードウエアの使用量が多くなっていた。
【００６６】
これに対して、本実施形態では、入力される原画像の画素も、出力される書き換えた画像の画素も、メモリに格納されることはないため、従来技術と比較して、ハードウエアの使用量を大幅に低減することができる。
【００６７】
なお、従来技術では、原画像の大きさに応じたフレームバッファを必要としたため、列方向の画素数が大きい場合には、所用資源も比例して増大していた。
【００６８】
これに対して、本実施形態では、列方向の画素数をＭとすれば、変数ｂを格納するレジスタのビット数をｌｏｇ２（Ｍ）だけ切り上げたものにするだけであるので、Ｍの増加の影響は非常に緩やかにしか受けない。
【００６９】
特に、原画像の一部を上書きする加工処理を繰り返し行う場合には、処理遅延の削減時間の差、および、ハードウエア使用量の削減量の差は、その繰り返し数に応じて広がることになり、上記の効果がさらに顕著になる。
（２）第２の実施形態
本実施形態は、原画像の一部に対し、半透明な書換画像を重ね書きして書き換える加工処理を行うものである。
【００７０】
図７に本実施形態の画像書換装置の構成を示す。
【００７１】
図７に示すように、本実施形態の画素書換装置は、第１の実施形態と比較して、画素書換部１２内に加算器１２７を追加している点が異なる。
【００７２】
なお、図７においては、変換部１２４、メモリ１２５、選択器１２６、および加算器１２７で、本発明の書換実施部を構成している。
【００７３】
第１の実施形態では、選択器１２６が選択する画素値は、ｘまたはｒ［ｇ］であった。
【００７４】
これに対して、本実施形態では、メモリ１２５と選択器１２６との間に加算器１２７を設け、加算器１２７が画素値ｘと画素値ｒ［ｇ］とを線形結合し、線形結合した画素値を選択器１２６に出力している。そのため、選択器１２６が選択する画素値は、ｘ、または、“ｘとｒ［ｇ］とを線形結合した画素値”となる。
【００７５】
なお、上記以外の処理手順は第１の実施形態と同様である。
【００７６】
これにより、原画像の一部に対し、半透明な書換画像を重ね書きして書き換える加工処理を行うことができる。また、第１の実施形態と同様、従来技術のように原画像をフレームバッファに格納して１フレーム時間待機させておくことがなくなるため、そのための処理遅延とハードウエアの使用量の増大を解消することができる。
【符号の説明】
【００７７】
１１    画素入力部
１２    画素書換部
１２１    カウンタ
１２２    同期検出部
１２３    対象判断部
１２４    変換部
１２５    メモリ
１２６    選択器
１２７    加算器
１３    画素出力部
【図１】
2014204269.tif 000003
【図２】
2014204269.tif 000004
【図３】
2014204269.tif 000005
【図４】
2014204269.tif 000006
【図５】
2014204269.tif 000007
【図６】
2014204269.tif 000008
【図７】
2014204269.tif 000009
【図８】
2014204269.tif 000010
【図９】
2014204269.tif 000011