図面 (/)

技術 画像処理方法及び装置、並びに画像撮像装置

出願人 株式会社リコー
発明者 丸山剛
出願日 2010年1月18日 (11年4ヶ月経過) 出願番号 2010-008185
公開日 2011年7月28日 (9年10ヶ月経過) 公開番号 2011-147072
状態 特許登録済
技術分野 画像処理 スタジオ装置 FAX原画の編集
主要キーワード 切替アドレス Y座標 切り出し拡大 頂点位置情報 X座標 補完演算 頂点画素 ブロック番
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2011年7月28日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (15)

課題

出力画像を複数のブロックに区切り、各ブロックの頂点に対応する入力画像上の座標値を記憶したルックアップテーブルを利用して、入力画像に対して画像変形された出力画像を取得する画像処理方法において、出力画像に不連続点が存在する場合にも、容易に所望の出力画像を取得できるようにする。

解決手段

ルックアップテーブルに、少なくとも一部のブロックの少なくとも一部の頂点については、入力画像上の複数の座標値を記憶しておき、それから所望の座標値を選択して補間演算に利用するようにする。具体的には、ルックアップテーブルの各アドレスは、入力画像上の座標値、別途座標値への参照アドレス、該参照アドレスへの有効・無効を示すフラグを含み、該フラグが無効を示す場合には、当該アドレスの座標値を選択し、有効を示す場合には、参照アドレスで示されるアドレスの座標値を選択するようにする。

概要

背景

従来から、車載カメラなどのカメラシステムにおいて、撮影された画像について、歪補正回転補正や見下ろし補正やその他、必要な画像変形処理を行う場合、処理の高速化のために、あらかじめ入出力画素座標値の対応を記憶したルックアップテーブルを用いることが行われている。しかしながら、最近の撮像素子は、画素数が非常に多くなっており、それに対応してルックアップテーブルの必要記憶容量も増加の傾向にある。しかも、ルックアップテーブルは、各画像変形処理毎に用意する必要があるが、最近は多種多様の画像変形処理が要求されており、ルックアップテーブルの規模増大、コスト高は免れなかった。

一方、例えば特許文献1には、出力画像を複数のブロックに区切り、各ブロックの頂点画素ごとに、該頂点画素に対応する入力画像上の座標値を記憶したルックアップテーブルを用い、出力画像の注目する画素に対応する入力画像の座標値がルックアップテーブルに存在しない場合には線形補間処理により該座標値を算出することで、ルックアップテーブルの必要記憶容量を軽減し、種々の画像変形処理を、簡単な構成で安価に、高速に行えるようにした画像処理方法が記載されている。

例えば、撮像画像(入力画像)のある部分を拡大(デジタルズーム)して表示する場合、図13に示すように、出力画像をX方向に画素数a毎、Y方向に画素数b毎の複数のブロック(図13では、6×4ブロック)に区切り、各ブロックの頂点画素(図13では、7×5画素)ごとに、該頂点画素に対する撮像画像上の座標値を記憶するルックアップテーブルを用意する。図13中、1〜35は各ブロックの頂点画素に割り当てた番号(頂点画素番号)を示している。ルックアップテーブルは、各頂点画素番号ごとに、その頂点画素に対応する撮像画像上の座標値を記憶している。

出力画像の注目する画素が頂点画素と一致する場合、ルックアップテーブルの当該頂点番号アドレスから対応する撮像画像上の座標値(座標変換の座標値)を取得する。一方、出力画像の注目する画素が頂点画素と一致しない場合には、ルックアップテーブルから当該画素が含まれるブロックの4つの頂点画素(参照画素)に対応する撮像画像上の4つの座標値を取得し、該4つの座標値を基に線形補間処理により、出力画像の注目する画素に対応する撮像画像上の座標値を算出する。そして、出力画像の注目する画素の画素値として、撮像画像の上記座標値に対応する画素の画素値を出力する。ここで、撮像画像の上記座標値に対応する画素が存在しない場合には、撮像画像の該座標値の周囲の4つの画素(参照画素)の画素値を基に線形補間処理(第2の線形補間処理)により、該画素の画素値を算出する。

特許文献1に記載の画像処理方法によれば、図14に示すようなデジタルズームに代表される、複雑な画像変形処理を小規模なルックアップテーブルを用いて実現できる。しかしながら、撮像画像の両側などを切り出して表示するPicture by Picture(P by P)を出力画像としたい場合には、画像の中央部に出力画像が不連続になる部分が存在するため、特許文献1に記載の画像処理方法では簡単には実現できない。また、画素面の中に子画面を表示する。Picture in Picture(P in P)を実現する場合にも、子画面と元画面境界が不連続となり、同様に特許文献1に記載の画像処理方法では簡単には実現できない。

図14はPicture by Pictureを模式的に表現したものである。(a)は撮像素子により得られる撮像画像を示している。(b)は該撮像画像を使ってPicture by Pictureを実現した出力画像で、撮像画像の左側のA領域の画像と右側のB領域の画像とを切り出し拡大(デジタルズーム)して表示することを示している。出力画像のブロック分割数は図13と同じとする。図13と図14を比較した場合、図14では不連続点において参照する頂点データの数が増加するので、図13よりも図14の方がルックアップテーブルに記憶しておくべき頂点数が多い。すなわち、図13の出力画像を得るためのルックアップテーブルに保持すべき頂点数は、7×5=35であるに対し、図14の出力画像を得るためのルックアップテーブルに保持すべき頂点数は4×5+4×5=40となる。このようなルックアップテーブルを用いて、線形補間により出力画素に対応する撮像画像の座標値を算出する場合、不連続点において煩雑な処理が必要であり、簡単には実現できない。

概要

出力画像を複数のブロックに区切り、各ブロックの頂点に対応する入力画像上の座標値を記憶したルックアップテーブルを利用して、入力画像に対して画像変形された出力画像を取得する画像処理方法において、出力画像に不連続点が存在する場合にも、容易に所望の出力画像を取得できるようにする。ルックアップテーブルに、少なくとも一部のブロックの少なくとも一部の頂点については、入力画像上の複数の座標値を記憶しておき、それから所望の座標値を選択して補間演算に利用するようにする。具体的には、ルックアップテーブルの各アドレスは、入力画像上の座標値、別途座標値への参照アドレス、該参照アドレスへの有効・無効を示すフラグを含み、該フラグが無効を示す場合には、当該アドレスの座標値を選択し、有効を示す場合には、参照アドレスで示されるアドレスの座標値を選択するようにする。

目的

本発明は、出力画像を複数のブロックに区切り、各ブロックの頂点画素ごとに、入力画像上の座標値を記憶したルックアップテーブルを予め用意し、線形補完などにより任意の出力画素に対応する入力画像の座標値を算出することで、入力画像に対して所望の画像変形された出力画像を得るようにした画像処理方法及び装置において、出力画像に不連続点が存在する場合にも、容易に所望の出力画像を取得できるようにすることを主要な目的とする

効果

実績

技術文献被引用数
0件
牽制数
1件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

出力画像を複数のブロックに区切り、各ブロックの頂点ごとに、該頂点に対応する入力画像上の座標値を記憶した頂点データメモリを予め用意し、該頂点データメモリを参照して、任意の出力画素に対応する入力画像上の座標値を補間演算することで、入力画像に対して所望の画像変形された出力画像を取得する画像処理方法であって、前記頂点データメモリは、少なくとも一部のブロックの少なくとも一部の頂点について、入力画像上の複数の座標値を記憶し、該複数の座標値から一つの座標値を選択して補間演算に利用することを特徴とする画像処理方法。

請求項2

前記複数の座標値は、前記頂点データメモリ内のそれぞれ別のアドレスに記憶されていることを特徴とする請求項1に記載の画像処理方法。

請求項3

前記頂点データメモリの各アドレスは、入力画像上の一つの座標値、別の座標値への参照アドレス、該参照アドレスの無効・有効を示すフラグを含むデータを記憶していることを特徴とする請求項2に記載の画像処理方法。

請求項4

前記頂点データメモリの当該頂点に対応するアドレスのデータを読出し、そのフラグが参照アドレスの無効を示している場合には、当該アドレスの座標値を選択し、有効を示している場合には、その参照アドレスで示されるアドレスのデータを読出して、その座標値を選択することを特徴とする請求項3に記載の画像処理方法。

請求項5

前記参照アドレスで示されるアドレスのデータを読み出して、そのフラグが参照アドレスの有効を示している場合には、さらに、該読み出したデータの参照アドレスで示されるアドレスのデータを読出し、以降、そのフラグが参照アドレスの無効を示しているまで繰り返すことを特徴とする請求項4に記載の画像処理方法。

請求項6

前記フラグは、ブロックの左上頂点、右上頂点、左下頂点、右下頂点に対応した4つのフラグからなることを特徴とする請求項3乃至5のいずれか1項に記載の画像処理方法。

請求項7

取得する出力画像によっては、読み出したデータのフラグを無視し、当該データの座標値を選択することを特徴とする請求項4乃至6のいずれか1項に記載の画像処理方法。

請求項8

少なくとも1ブロックの4頂点に対応する入力画像上の4つの座標値を一時的に記憶するための補間演算用頂点データメモリを予め用意し、前記頂点データメモリを参照して、順次、処理対象ブロックの4頂点に対応する入力画像上の4つの座標値を選択して前記補間演算用頂点データメモリに記憶し、該補間演算用頂点データメモリに記憶された4つの座標値を用いて、順次、当該ブロック内の各出力画像に対応する入力画像上の座標値を補間演算することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理方法。

請求項9

前記頂点データメモリを参照して、処理対象ブロックの4頂点に対応する入力画像上の4つの座標値を選択して前記補間演算用頂点データメモリに記憶する処理と、該補間演算用頂点データメモリに記憶された4つの座標値を用いて、当該ブロック内の各出力画像に対応する入力画像上の座標値を補間演算する処理は、並列的に実行されることを特徴とする請求項8に記載の画像処理方法。

請求項10

請求項1乃至9のいずれか1項に記載の画像処理方法を実施する画像処理装置

請求項11

光学系と、該光学系を通して撮像された光学像電気信号に変換する撮像素子と、該撮像素子で変換された電気信号の入力画像を処理する請求項10に記載の画像処理装置とを有することを特徴とする画像撮像装置

技術分野

0001

本発明は、撮影された画像について、利用状況に応じて多種多様画像変形処理を行うのに好適な画像処理方法及び装置、並びにそれを適用した画像撮像装置に関する。

背景技術

0002

従来から、車載カメラなどのカメラシステムにおいて、撮影された画像について、歪補正回転補正や見下ろし補正やその他、必要な画像変形処理を行う場合、処理の高速化のために、あらかじめ入出力画素座標値の対応を記憶したルックアップテーブルを用いることが行われている。しかしながら、最近の撮像素子は、画素数が非常に多くなっており、それに対応してルックアップテーブルの必要記憶容量も増加の傾向にある。しかも、ルックアップテーブルは、各画像変形処理毎に用意する必要があるが、最近は多種多様の画像変形処理が要求されており、ルックアップテーブルの規模増大、コスト高は免れなかった。

0003

一方、例えば特許文献1には、出力画像を複数のブロックに区切り、各ブロックの頂点画素ごとに、該頂点画素に対応する入力画像上の座標値を記憶したルックアップテーブルを用い、出力画像の注目する画素に対応する入力画像の座標値がルックアップテーブルに存在しない場合には線形補間処理により該座標値を算出することで、ルックアップテーブルの必要記憶容量を軽減し、種々の画像変形処理を、簡単な構成で安価に、高速に行えるようにした画像処理方法が記載されている。

0004

例えば、撮像画像(入力画像)のある部分を拡大(デジタルズーム)して表示する場合、図13に示すように、出力画像をX方向に画素数a毎、Y方向に画素数b毎の複数のブロック(図13では、6×4ブロック)に区切り、各ブロックの頂点画素(図13では、7×5画素)ごとに、該頂点画素に対する撮像画像上の座標値を記憶するルックアップテーブルを用意する。図13中、1〜35は各ブロックの頂点画素に割り当てた番号(頂点画素番号)を示している。ルックアップテーブルは、各頂点画素番号ごとに、その頂点画素に対応する撮像画像上の座標値を記憶している。

0005

出力画像の注目する画素が頂点画素と一致する場合、ルックアップテーブルの当該頂点番号アドレスから対応する撮像画像上の座標値(座標変換の座標値)を取得する。一方、出力画像の注目する画素が頂点画素と一致しない場合には、ルックアップテーブルから当該画素が含まれるブロックの4つの頂点画素(参照画素)に対応する撮像画像上の4つの座標値を取得し、該4つの座標値を基に線形補間処理により、出力画像の注目する画素に対応する撮像画像上の座標値を算出する。そして、出力画像の注目する画素の画素値として、撮像画像の上記座標値に対応する画素の画素値を出力する。ここで、撮像画像の上記座標値に対応する画素が存在しない場合には、撮像画像の該座標値の周囲の4つの画素(参照画素)の画素値を基に線形補間処理(第2の線形補間処理)により、該画素の画素値を算出する。

0006

特許文献1に記載の画像処理方法によれば、図14に示すようなデジタルズームに代表される、複雑な画像変形処理を小規模なルックアップテーブルを用いて実現できる。しかしながら、撮像画像の両側などを切り出して表示するPicture by Picture(P by P)を出力画像としたい場合には、画像の中央部に出力画像が不連続になる部分が存在するため、特許文献1に記載の画像処理方法では簡単には実現できない。また、画素面の中に子画面を表示する。Picture in Picture(P in P)を実現する場合にも、子画面と元画面境界が不連続となり、同様に特許文献1に記載の画像処理方法では簡単には実現できない。

0007

図14はPicture by Pictureを模式的に表現したものである。(a)は撮像素子により得られる撮像画像を示している。(b)は該撮像画像を使ってPicture by Pictureを実現した出力画像で、撮像画像の左側のA領域の画像と右側のB領域の画像とを切り出し拡大(デジタルズーム)して表示することを示している。出力画像のブロック分割数図13と同じとする。図13図14を比較した場合、図14では不連続点において参照する頂点データの数が増加するので、図13よりも図14の方がルックアップテーブルに記憶しておくべき頂点数が多い。すなわち、図13の出力画像を得るためのルックアップテーブルに保持すべき頂点数は、7×5=35であるに対し、図14の出力画像を得るためのルックアップテーブルに保持すべき頂点数は4×5+4×5=40となる。このようなルックアップテーブルを用いて、線形補間により出力画素に対応する撮像画像の座標値を算出する場合、不連続点において煩雑な処理が必要であり、簡単には実現できない。

発明が解決しようとする課題

0008

本発明は、出力画像を複数のブロックに区切り、各ブロックの頂点画素ごとに、入力画像上の座標値を記憶したルックアップテーブルを予め用意し、線形補完などにより任意の出力画素に対応する入力画像の座標値を算出することで、入力画像に対して所望の画像変形された出力画像を得るようにした画像処理方法及び装置において、出力画像に不連続点が存在する場合にも、容易に所望の出力画像を取得できるようにすることを主要な目的とする。

0009

また、本発明は、このような画像処理装置を内蔵して、PbyPやPinPの出力画像を簡単に出力できる画像撮像装置を提供することを目的とする。

課題を解決するための手段

0010

請求項1の発明は、出力画像を複数のブロックに区切り、各ブロックの頂点ごとに、該頂点に対応する入力画像上の座標値を記憶した頂点データメモリを予め用意し、該頂点データメモリを参照して、任意の出力画素に対応する入力画像上の座標値を補間演算することで、入力画像に対して所望の画像変形された出力画像を取得する画像処理方法であって、前記頂点データメモリは、少なくとも一部のブロックの少なくとも一部の頂点について、入力画像上の複数の座標値を記憶し、該複数の座標値から一つの座標値を選択して補間演算に利用することを特徴とする。

0011

請求項2の発明は、請求項1に記載の画像処理方法において、前記複数の座標値は、前記頂点データメモリ内のそれぞれ別のアドレスに記憶されていることを特徴とする。

0012

請求項3の発明は、請求項2に記載の画像処理方法において、前記頂点データメモリの各アドレスは、入力画像上の一つの座標値、別の座標値への参照アドレス、該参照アドレスの無効・有効を示すフラグを含むデータを記憶していることを特徴とする。

0013

請求項4の発明は、請求項3に記載の画像処理方法において、前記頂点データメモリの当該頂点に対応するアドレスのデータを読出し、そのフラグが参照アドレスの無効を示している場合には、当該アドレスの座標値を選択し、有効を示している場合には、その参照アドレスで示されるアドレスのデータを読出して、その座標値を選択することを特徴とする。

0014

請求項5の発明は、請求項4に記載の画像処理方法において、前記参照アドレスで示されるアドレスのデータを読み出して、そのフラグが参照アドレスの有効を示している場合には、さらに、該読み出したデータの参照アドレスで示されるアドレスのデータを読出し、以降、そのフラグが参照アドレスの無効を示しているまで繰り返すことを特徴とする。

0015

請求項6の発明は、請求項3乃至5のいずれか1項に記載の画像処理方法において、前記フラグは、ブロックの左上頂点、右上頂点、左下頂点、右下頂点に対応した4つのフラグからなることを特徴とする。

0016

請求項7の発明は、請求項4乃至6のいずれか1項に記載の画像処理方法において、取得する出力画像によっては、読み出したデータのフラグを無視し、当該データの座標値を選択することを特徴とする。

0017

請求項8の発明は、請求項1乃至7のいずれか1項に記載の画像処理方法において、少なくとも1ブロックの4頂点に対応する入力画像上の4つの座標値を一時的に記憶するための補間演算用頂点データメモリを予め用意し、前記頂点データメモリを参照して、順次、処理対象ブロックの4頂点に対応する入力画像上の4つの座標値を選択して前記補間演算用頂点データメモリに記憶し、該補間演算用頂点データメモリに記憶された4つの座標値を用いて、順次当該ブロック内の各出力画像に対応する入力画像上の座標値を補間演算することを特徴とする。

0018

請求項9の発明は、請求項8に記載の画像処理方法において、前記頂点データメモリを参照して、処理対象ブロックの4頂点に対応する入力画像上の4つの座標値を選択して前記補間演算用頂点データメモリに記憶する処理と、該補間演算用頂点データメモリに記憶された4つの座標値を用いて、当該ブロック内の各出力画像に対応する入力画像上の座標値を補間演算する処理は、並列的に実行されることを特徴とする。

0019

請求項10の発明は、請求項1乃至9のいずれか1項に記載の画像処理方法を実施する画像処理装置を特徴とする。

0020

請求項11の発明は、光学系と、該光学系を通して撮像された光学像電気信号に変換する撮像素子と、該撮像素子で変換された電気信号の入力画像を処理する請求項10に記載の画像処理装置とを有する画像撮像装置を特徴とする。

発明の効果

0021

本発明によれば、ルックアップテーブルとしての頂点データメモリに、少なくとも一部のブロックの少なくとも一部の頂点については、入力画像上の複数の座標値を記憶して、該複数の座標値から一つの座標値を選択し、補完演算に利用するようにすることで、PbyPやPinP等、出力画像に不連続点が存在する場合にも、容易に所望の出力画像を得ることができる。

図面の簡単な説明

0022

本発明の画像処理装置を適用した画像撮像装置の一実施形態の機能ブロック図である。
図1の画像変形部の詳細構成図である。
垂直同期信号水平同期信号ブロックスタート信号などのタイミング図である。
出力画像のブロック分割の一例を示す図である。
入力画像とPbyP出力画像の一例を示す図である。
図5の出力画像を得るようにした図2の頂点データメモリ内のテーブル例を示す図である。
ブロックの4頂点データ生成とブロックの各座標の補間演算の処理タイミングを示す図である。
ブロックの4頂点データ生成とブロックの各座標の補間演算の別の処理タイミングを示す図である。
図2の頂点データアドレス決定部の処理フロー例を示す図である。
図2の頂点データ読出し部の処理フロー例を示す図である。
入力画像とPinPの出力画像の例を示す図である。
図11の出力画像得るようにした図2の頂点データメモリ内のテーブル例を示す図である。
入力画像と拡大表示の出力画像との対応関係を示す図である。
従来のPbyPの出力画像を表示する場合の不具合を説明する図である。

実施例

0023

以下、本発明の一実施の形態について図面を参照して詳しく説明する。

0024

図1は、本発明の画像処理方法を実施する画像処理装置を適用した画像撮像装置の一実施形態の機能ブロック図
示す。画像撮像装置は、他に操作部、画像表示部、各部の動作を制御する制御部などを備えているが、図1では省略してある。

0025

図1において、同期信号生成部10は、装置各部を動作させる基となる水平同期信号及び垂直同期信号の同期信号、クロック信号を生成する。これら同期信号、クロック信号は撮像素子20及び画像変形部70に送出される。

0026

撮像素子20は、光学系(不図)を通して撮像された光学像を電気信号(画像信号)に変換するもので、例えばCCDやCMOSセンサ等で構成される。該撮像素子20にはベイヤー配列色フィルタが設けられており、ベイヤー配列のRGB画像信号が、同期信号生成部10から与えられる水平/垂直同期信号、クロック信号に基づいて順次出力される。

0027

A/D変換部30は、撮像素子20から出力されたアナログ信号としてのベイヤー配列のRGB画像信号をデジタル信号としての画像データに変換してベイヤー補間部40に送出する。1画素の画像データ(画素データ)は、例えばRGBそれぞれ8ビットで構成される。一般にA/D変換部30の前段には、撮像素子20から出力された画像信号を所定の値に増幅するAGC回路が設けられるが、ここでは省略する。

0028

ベイヤー補間部40は、デジタル信号に変換されたベイヤー配列のRGB画像データを入力して、RGB各色独立に、全座標位置の画像データを線形補間によって生成し、画像バッファ部50に送出する。

0029

画像バッファ部50は、ベイヤー補間部40から送られてきた画像データを一時的に保持する。該画像バッファ部50は、DRAMなどのフレームバッファメモリからなり、1画面(フレーム)あるいはそれ以上の画像データ(オリジナルの撮像画像)が格納される。

0030

画像読出し部60は、水平/垂直同期信号、クロック信号に同期して画像バッファ部(フレームバッファメモリ)50をラスタースキャンし、該画像バッファ部50から画像データ(画素データ)を順次読み出す。詳しくは、該画像読出し部60は、後述の画像変形部80から、水平/垂直同期信号、クロック信号と同期して、座標変換元X座標値およびY座標値を順次受け取り、該X座標値およびY座標値に基づいて画像バッファ部50のアドレス(座標変換元アドレス)を順次算出し、水平/垂直同期信号、クロック信号のカウント値で示されるアドレス(座標変換先アドレス)として、画像バッファ50内の上記算出されたアドレスの画像データ(画素データ)を読み出す。この結果、画像読出し部60からは、画像バッファ50に格納されたオリジナルの撮像画像について、所定の画像変形の施された画像が出力される。

0031

D/A変換部70は、画像読出し部60から出力されるデジタル信号としての画像データを、使用する表示装置表示形式に適したアナログ信号の映像信号に変換する。例えば、NTSC方式の映像信号に変換する。D/A変換部70は外部の表示装置(不図)とケーブルなどで接続されており、D/A変換部70からの映像信号が表示装置に表示される。

0032

画像変形部80は、同期信号生成部10から送出される水平/垂直同期信号、クロック信号を入力し、画像読出し部60が画像バッファ50から画像変形された画像データを読み出す際のアドレス(座標変換元アドレス)の基となる座標変換元のX座標値及びY座標値を算出して、水平/垂直同期信号およびクロック信号と同期させて順次出力する。本発明は、該画像変形部80に係る。なお、該画像変形部80については後で詳しく説明する。

0033

ここで、画像バッファ部50が少なくとも2画面分の画像データを格納することができる場合、該画像バッファ部50の書込読出し動作ダブルバッファ方式とすることが可能である。ダブルバッファ方式とは、一方のメモリ領域に現フレームの画像データを書込み、これと並行してもう一方のメモリ領域から前フレームの画像データを読み出し、これをフレーム単位で交互に繰り返す方式である。ダブルバッファ方式を採用することにより、処理の高速化が可能となる。

0034

以下では、本発明の主要構成である画像変形部80について詳しく説明する。

0035

図2は画像変形部80の詳細構成例を示すブロック図である。ここで、画像変形部80は頂点データアドレス決定部801、頂点データ読出し部802、補間演算用頂点データメモリとしての双線形補間用頂点データ記憶部803、双線形補間演算部804及びルックアップテーブルとしての頂点データメモリ805からなる。

0036

画像変形部80は、VSYNC_IN,HSYNC_IN,クロックを入力し、VSYNC_OUT,HSYNC_OUT,クロック,X_OUT,Y_OUTを出力する。ここで、VSYNC_INは、本撮像装置で用いる垂直方向のタイミングを計るための信号(垂直同期信号)、HSYNC_INは、同水平方向のタイミングを計るための信号(水平同期信号)であり、クロックと一緒図1の同期信号生成部10から与えられる。VSYNC_OUT及びHSYNC_OUTは、VSYNC_IN及びHSYNC_INを所定量遅延した信号である。X_OUT及びY_OUTは、図1の画像読出し部60が画像バッファ部50から画像変形された画像データを読み出す際のアドレスを算出するためのX座標値及びY座標値で、X_OUTが座標変換元X座標、Y_OUTが座標変換元Y座標を表わす。X_OUTおよびY_OUTはVSYNC_OUT及びHSYNC_OUTに同期して出力される。

0037

図3(a)にVSYNC_IN、YSYNC_INのタイミングチャートを示す。図3インターレース方式の例であるが、プログレッシブ方式でも同様である。YSYNC_INの信号のエッジアップエッジダウンと、HSYNC_INの立上がり及びクロック数カウントすることにより、出力画像上の座標を一意に特定することができる。そのため、VSYNC_IN,YSYNC_INと、VSYNC_OUT、YSYNC_OUT及びX_OUT,Y_OUTとの遅延量を予め計算しておくことにより、X_OUT及びY_OUTから、出力画像上の座標に対応する画像バッファ上の入力画像(撮像画像)上の座標(変換元座標)を特定することができる。

0038

ここでは、画像バッファ部50に蓄えられる入力画像のサイズを640×480とし、出力画像は、水平走査方向(X方向)にa=160、垂直走査方向(Y方向)にb=120サイズの複数ブロックに分割するとする。図4に出力画像のブロックと頂点番号の関係を示す。図4全体が640×480の出力画像を示し、ここでは16個のブロックに分割される。各ブロックの頂点には、頂点番号1〜25が割り振られている。

0039

図2において、頂点データメモリ805には、出力画像の各ブロックの各頂点に対応する入力画像のX座標値,Y座標値が、Picture by PictureやPicture in Pictureなどの場合の不連続点についても別アドレスに全て記憶されている。

0040

ここでは、一実施例として、図5(a)の入力画像について、図5(b)のような4画面からなるPicture by Pictureの出力画像を得るとした場合の、頂点データメモリ805に格納されているデータの例を図6に示す。図6において、アドレス1〜25は、図4の頂点番号1〜25に対応する。アドレス26〜36は、重複する頂点について不連続点のデータを格納するのに割り当てられたアドレスを示す。X座標、Y座標は当該頂点に対応する入力画像のX座標値、Y座標値で、Xi,Yjは図5(a)の入力画像の対応する頂点に記した番号iに対応している。ここでは、画像サイズは640×480としているので、1≦X座標値≦640、1≦Y座標値≦480である。なお、頂点データメモリの容量に余裕がある場合は、X座標値、Y座標値は整数でなくてもよい。左上フラグ、右上フラグ、左下フラグ、右下フラグ、次アドレスについては後述する。本発明の一つの特徴は頂点データメモリ805のデータ構成にある。

0041

頂点データアドレス決定部801は、同期信号生成部10から送られるVSYNC_INとHSYNC_IN、クロック、頂点データ読み取り部802から送られる切替アドレスを入力として、出力画像の現在着目しているブロックの4頂点の各データを呼び出すための頂点データメモリ805のアドレスを決定し、該アドレスを頂点位置情報と共に頂点データ読み出し部802に送る。例えば、現在着目しているブロックがブロック1の場合、頂点番号1,2,6,7に対応してアドレス1,2,6,7を決定する。頂点位置情報はブロックの左上、右上、左下、右下の順に1,2,3,4とする。

0042

頂点データ読出し部802は、頂点データアドレス決定部801から送られたアドレスに基づいて、頂点データ記憶部805の当該アドレスのデータを読み出す。そして、読み出したデータのうち、X座標値とY座標値(頂点データ)を頂点位置情報と共に双線形補間用頂点データ記憶部803に送る。また、読み出したデータのうち、左上フラグ、右上フラグ、左下フラグ、右下フラグについて、頂点位置情報の番号に対応するフラグが0か1か調べ、当該フラグが0の場合には切替アドレスを0とし、1の場合には、切替アドレスを次アドレス(参照アドレス)のアドレス値として、頂点データアドレス決定部801に送る。

0043

頂点データアドレス決定部801では、切替アドレスが0の場合には、当該頂点について前回と同じアドレスを、また、切替アドレスが次アドレスのアドレス値の場合には該アドレス値を、頂点データ読み出し部802に送る。頂点データ読み出し部802では、頂点アドレス決定部801から送られたアドレスに基づいて、再び頂点データ記憶部805の当該アドレスのデータを読み出して、そのX座標値とY座標値を双線形補間用頂点データ記憶部803に送り、また、当該頂点に対応するフラグが0か1か調べる。

0044

頂点データアドレス決定部801と頂点データ読出し部802の間での上記処理は、現在着目しているブロックの4頂点について、それぞれ4回繰り返される。この結果、図5(b)の例で、例えば、現在着目しているブロックがブロック3の場合、その頂点番号3,8については、図6より最初は頂点データメモリ805のアドレス3,8のデータが読み出されて、そのX座標値とY座標値が双線形補間用頂点データ記憶部803に送られるが、次には、頂点データメモリ803のアドレス26,27のデータが読み出されて、そのX座標値とY座標値が双線形補間用頂点データ記憶部803に送られ、最終的に該X座標値とY座標値が頂点番号3,8の頂点データとして確定する。これにより、不連続点が解消される。

0045

なお、現在着目しているブロックの4頂点について、それぞれ4回、頂点データアドレス決定部801と頂点データ読出し部802の間で処理を繰り返す理由は、図5(b)の例において、現在着目しているブロックがブロック11で、頂点番号13のケースを考慮したためである。すなわち、このケースでは、図6より、4回目で初めて頂点番号13の頂点データが確定する。図6のテーブルの具体的処理例については後で詳述する。

0046

双線形補間用頂点データ記憶部803は、出力画像の現在着目しているブロックの4頂点の入力画像のX座標値とY座標値を一時的に記憶する。具体的には、双線形補間用頂点データ記憶部803は、一つのブロックの4頂点に対応した4つのレジスタからなり、頂点データ読出し部802から送られてくるX座標値とY座標値を、同じく頂点データ読出し部802から送られてくる頂点位置情報に従って、当該頂点に対応するレジスタに上書きする。該双線形補間用頂点データ記憶部803の4つのレジスタの内容は、着目するブロックが次のブロックに移行すると、それに対応して入れ替わる。

0047

双線形補間演算部804は、VSYNC_IN、HSYNC_IN、クロックを入力として、双線形補間用頂点データ記憶部803の4つの頂点データを用いて双線形補間演算により、出力画像の現在着目しているブロック内の現走査ラインの各座標に対する入力画像上のX座標値とY座標値を順次求めて、VSYNC_OUT、YSNC_OUTに同期してX_OUT,Y_OUTとして出力する。なお、VSYNC_IN、HSYNC_IN、クロックは、一定時間遅らせて双線形補間演算部804に入力するようにする。

0048

図3(a)に示したように、VSYNC_INのエッジアップ/エッジダウンと、HSYNC_INの立上がり及びクロック数をカウントすることにより、出力画像上の座標が一意に特定される。すなわち、出力画像の現在着目しているブロック内の現走査ラインの各座標が得られる。一方、双線形補間用頂点データ記憶部803は、出力画像の現在着目しているブロックの4頂点の入力画像上のX座標値とY座標値(頂点データ)を記憶している。双線形補間演算部804では、出力画像の現在着目しているブロック内の現走査ラインの各座標について、双線形補間用頂点データ記憶部803内の4つの頂点データを用いて双線形補間演算により、入力画像上の対応するX座標値とY座標値を順次求めていく。双線形補間演算のやり方は、特許文献1などに記載のやり方と基本的に同じであるので、詳しい説明は省略する。

0049

図7に、頂点データアドレス決定部801と頂点データ読出し部802での4頂点データ生成処理と、双線形補間演算部804での双線形補間処理時間関係を示す。図7において、αは1ブロックのラスタースキャン期間、αは4頂点データ生成処理期間、bは双線形補間処理期間を表わしている。なお、図7では、現走査ラインはブロック1〜4上にあるとしている。

0050

まず、頂点データアドリス決定部801と頂点データ読出し部802は、各ブロック1,2,3,4の初めにおいて、a1,a2,a3,a4の期間で、当該ブロックの4頂点データを生成し、双線形補間用頂点データ記憶部803の4つのレジスタに設定する。次に、双線形補間演算部804は、b1,b2,b3,b4の期間で、双線形補間用頂点データ記憶部803に設定された4頂点データを用いて、当該ブロック内の現走査ラインの各座標(160座標点)について、入力画像上の対応するX座標値とY座標値を補間演算していく。ブロック1〜4上の各走査ライン毎、これらの処理が繰り返されることになる。ブロック5〜8,9〜12,13〜16についても同様である。

0051

ここで、頂点データアドレス決定部801と頂点データ読出し部802をFPGAなどで構成して、4頂点データ生成処理を高速に実施することで、bの期間に対して、aの期間を実質的に無視する(ゼロに近づける)ことが可能である。

0052

なお、頂点データ読出し部802内に、双線形補間用頂点データ記憶部803のレジスタと同様のワークレジスタを設けて、頂点データメモリ805から読み出されたX/Y座標値を該ワークレジスタに一時的に設定し、必要に応じて上書きし、最終的に確定したX/Y座標値を双線形補間用頂点データ記憶部803に設定するようにしてもよい。これにより、4頂点データ生成処理と双線形補間処理とを並列に実施することが可能になり、頂点データアドレス決定部801と頂点データ読出し部802の負担(高速処理)を軽減することができる。

0053

図8に、この場合の頂点データアドレス決定部801と頂点データ読出し部802での4頂点データ生成処理と、双線形補間演算部804での双線形補間処理の時間関係を示す。図8(a)は頂点データアドレス決定部801と頂点データ読出し部802の処理期間、図8(b)は双線形補間演算部804の処理期間を示す。ここでも、現走査ラインはブロック1〜4上にあるとし、αは1ブロックのラスタースキャン期間を表わしている。頂点データアドレス決定部801と頂点データ読出し部802では、α1,α2,・・・,α4の期間で、順次、ブロック1,ブロック2,…,ブロック4の4頂点の頂点データを生成し、最終的に双線形補間用頂点データ記憶部803の4つのレジスタに設定する。一方、双線形補間演算部804の処理は、頂点データアドレス決定部801と頂点データ読出し部802の処理からα期間遅れて開始し、同様に、α1,α2,α3,α4の期間で、並列的に順次、その時の双線形補間用頂点データ記憶部803の4頂点データを用いて、ブロック1,ブロック2,…,ブロック4内の現走査ラインの各座標(160座標点)について、入力画像上の対応するX座標値とY座標値を補間演算していく。各走査ライン毎、これらの処理が繰り返されることになる。

0054

次に、図4図5及び図6を参照して、頂点データアドレス決定部801と頂点データ読出し部802の動作を更に詳しく説明する。

0055

頂点データアドレス決定部801では、VSYNC_IN、HSYNC_INから、BLCK_START信号を生成する(図3(b)参照)。BLOCK_START信号では、双線形補間用頂点データ記憶部803に設定される頂点データを書き換えるタイミングを決定する。このBLOCK_START信号は、HSYNC_INの立ち上がりと同時に立ち上がり、1クロックハイレベル、159クロックローレベル(X方向 a=160から1引いたもの)を繰り返す信号である。

0056

図9に、頂点データアドレス決定部801の処理フローチャートを示す。

0057

頂点データアドレス決定部801では、まず、BLOCK_START信号の立ち上がりを検出して、ブロック番号を算出する(ステップ1001)。ブロック番号の算出は、HSYNC_INの立ち上がりをカウントすることで得られるY座標と、Y座標ごとに初期化されるBLOCK_START信号の立ち上がりのカウント値を利用することで可能である。図4より、例えば、HSYNC_INの立ち上がりからY座標=1ならば、得られるブロック番号は1となる。また、HCYNC_INから得られるY座標=200のとき、BLOCK_START信号のカウント値が1ならば、ブロック番号は5となる。

0058

次に、ブロック番号に対応する4頂点の頂点番号(V1,V2,V3,V4)を取得する(ステップ1002)。図4より、ブロック番号が得られれば、対応する4頂点の頂点番号は一義的に求まる。例えば、ブロック番号が1のときは、ブロックの左上、右上、左下、右下の頂点の順に、頂点番号はV1=1,V2=2,V3=6,V4=7となる。

0059

次に、m=1,n=1と初期設定する(ステップ1003)。ここで、mは1つの頂点番号に対する頂点データ読出し部802へのアドレス、頂点位置情報の送信回数を表わし、nは頂点番号の添え字(すなわち、頂点位置情報)を表わす。

0060

次に、アドレスA=Vnとし(ステップ1004)、頂点データ読出し部802からの切替アドレスを待ち(ステップ1005)、該切替アドレスが0であるか判定する(ステップ1006)。そして、切替アドレスが0の場合には、アドレスAとしてVn、頂点位置情報としてnを頂点データ読出し部802に送信する(ステップ1008)。一方、切替アドレスが0でない場合は、頂点データ読出し部802から送られたアドレス値をアドレスAとして(ステップ1007)、該アドレスA、頂点位置情報nを頂点データ読出し部802に送信する(ステップ1008)。なお、n=1の場合(最初の送信の場合)には、ステップ1005,1006をスキップし、すなわち、頂点データ読出し部802からの切替アドレスを待たずに、A=Vn,nを頂点データ読出し部802に送信するものとする。

0061

次に、m+1→mとして(ステップ1009)、m>4であるか判定する(ステップ1010)。そして、m≦4の場合には、ステップ1005に戻り、ステップ1005〜ステップ1008の処理を繰り返す。

0062

一方、m>4の場合には、すわなち、1つの頂点に対して、アドレスA、頂点位置情報nの送信が4回繰り返された場合、m=1,n+1←nとする(ステップ1011)。そして、n>4であるか判定し(ステップ1012)、n≦4ならば、ステップ1004に戻る。すなわち、次の頂点について、上記と同様の処理を繰り返す。また、n>4のは場合、処理を終了とする。すなわち、データアドレス決定部801での1つのブロックの4頂点に対する処理が終了となる。

0063

図10に、頂点データ読出し部802の処理フローチャートを示す。なお、これは図7の場合に対応する。

0064

頂点データ読出し部802では、頂点データアドレス決定部801からアドレスA、頂点位置情報nを受信すると(ステップ2001)、頂点データ記憶部805から当該アドレスAのデータ(XY座標値、4つのフラグ、次アドレス)を読み出す(ステップ2002)。そして、読み出したデータの中のX座標値とY座標値、及び、受信した頂点位置情報nを双線形補間用頂点データ記憶部803に送信する(ステップ2003)。

0065

次に、読み出したデータ中の左上フラグ、右上フラグ、左下フラグ、右下フラグについて、頂点位置情報nに対応するフラグが0か1か調べる(ステップ2004)。例えば、n=1の場合、左上フラグを調べる。そして、当該フラグが0の場合には切替アドレスを0とし(ステップ2005)、1の場合には、読み出したデータ中の次アドレスのアドレス値を切替アドレスとする(ステップ2006)。そして、該切替アドレスを頂点アドレス決定部801に送信する(ステップ2007)。

0066

以下、頂点データ読出し部802では、頂点データアドレス決定部801からアドレスA、頂点位置情報nを受信する都度(ステップ2001)、ステップ2002〜ステップ2007の処理を繰り返す。その結果、双線形補間用頂点データ記憶部803には、最終的に、出力画像の現在着目しているブロックの4頂点の入力画像のX座標値とY座標値(頂点データ)が記憶されることになる。

0067

なお、同じ頂点位置情報nについて、頂点データアドレス決定部801から4回目のアドレス値を受信した場合には、ステップ2004〜2007の処理を行わず、頂点データアドレス決定部801からの次の受信を待つことになる。

0068

図10図7の場合を想定したものであるが、図8の場合には、ステップ2003の双曲線補間頂点データ記憶部は頂点データ読出し部802に内蔵のワークレジスタとし、かわりにステップ2007以降に、該ワークレジスタに最終的に確定された4頂点のX座標値,Y座標値を双曲線補間用頂点データ記憶部803に転送するステップが追加されることとなる。

0069

以下に、図4図5及び図6を参照して、二、三の具体的処理例について説明する。ここでも、頂点データ読出し部802は図10の処理を実施するものとするが、上述のように、処理途中の4頂点データをワークレジスタに一時記憶し、最終的に、確定した4頂点データを双線形補間用頂点データ記憶部803に転送するようにすることも、容易に類推できる。

0070

<処理例1>
ここでは、図5(b)の出力画像において現在着目しているブロックがブロック1の場合について説明する。図4より、ブロック1の頂点番号は、V1=1,V2=2,V3=6,V4=7である。
(1) 頂点番号1の処理
頂点データアドレス決定部801は、アドレスA=V1=1、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805(図6)からアドレス1のデータを読出し、そのX1及びY1を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=1に対応する左上フラグを調べ、該左上フラグ=0のため、切替アドレス=0を頂点データアドレス決定部801に送る。

0071

これを受けて頂点データアドレス決定部801は、再度、アドレスA=V1=1、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、再度、頂点データメモリ805のアドレス1のデータを読み出す。

0072

以後の処理は省略するが、結局、頂点データアドレス決定部801と頂点データ読出し部802では、同じ処理を4回繰り返し、ブロック1の頂点番号1に対応する頂点データは,X,Y1に確定する。

0073

(2)頂点番号2の処理
頂点データアドレス決定部801は、アドレスA=V2=2、頂点位置情報n=2を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス2のデータを読出し、そのX2及びY2を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=2に対応する右上フラグを調べ、該右上フラグ=0のため、切替アドレス=0を頂点データアドレス決定部801に送る。

0074

これを受けて頂点データアドレス決定部801は、再度、アドレスA=V2=2、頂点位置情報n=2を頂点データ読出し部802に送る。頂点データ読出し部802は、再度、頂点データメモリ805のアドレス2のデータを読み出す。

0075

ここでも、以後の処理は省略するが、結局、頂点データアドレス決定部801と頂点データ読出し部802では、同じ処理を4回繰り返し、ブロック1の頂点番号2に対応する頂点データはX2,Y2に確定する。

0076

(3)頂点番号6の処理
頂点データアドレス決定部801は、アドレスA=V3=6、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス6のデータを読出す。この場合も、頂点位置情報n=3に対応する左下フラグが0のため、結局、頂点データアドレス決定部801と頂点データ読出し部802では、同じ処理を4回繰り返し、ブロック1の頂点番号6に対応する頂点データはX4,Y4に確定する。

0077

(4)頂点番号7の処理
頂点データアドレス決定部801は、アドレスA=V3=7、頂点位置情報n=4を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス7のデータを読出す。この場合も、頂点位置情報n=4に対応する右下フラグが0のため、結局、頂点データアドレス決定部801と頂点データ読出し部802では、同じ処理を4回繰り返し、ブロック1の頂点番号7に対応する頂点データはX5,Y5に確定する。

0078

<処理例2>
こごては、図5(b)の出力画像において現在着目しているブロックがブロック3の場合について説明する。図4より、ブロック3の頂点番号は、V1=3,V2=4,V3=8,V4=9である。
(1) 頂点番号3の処理
頂点データアドレス決定部801は、アドレスA=V1=3、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス3のデータを読出し、そのX3及びY3を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=1に対応する左上フラグを調べる。ここで、左上フラグ=1であるため、頂点データ読出し部802は、次アドレスのアドレス値=26を切替アドレスとして頂点データアドレス決定部801に送る。

0079

これを受けて、頂点データアドレス決定部801は、2回目は、アドレスA=26、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス26のデータを読出し、そのX10及びY10を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=1に対応する左上フラグを調べ、ここでは左上フラグ=0のため、切替アドレス=0を頂点データアドレス決定部801に送る。

0080

これを受けて、頂点データアドレス決定部801は、3回目は、前回と同じアドレスA=26、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、再度、頂点データメモリ805のアドレス26のデータを読出し、2回目と同じ処理を実行する。

0081

頂点データアドレス決定部801は、最後の4回目も、前回と同じアドレスA=26、頂点位置情報n=1を頂点データ読出し802に送る。頂点データ読出し部802は、再度、頂点データメモリ805のアドレス26のデータを読出し、3回目と同じ処理を実行する。

0082

結局、頂点データアドレス決定部801と頂点データ読出し部802で4回処理を繰り返す過程で、ブロック3の頂点番号3に対応する頂点データは、最初のX3,Y3からX10,Y10に変わり、最終的にX10,Y10に確定する。これにより、図5の不連続点が解消される。

0083

(2)頂点番号4の処理
頂点データアドレス決定部801は、アドレスA=V2=4、頂点位置情報n=2を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス4のデータを読出す。以後の処理は省略するが、頂点位置情報n=2に対応する右上フラグは0のため、結局、頂点データアドレス決定部801と頂点データ読出し部802では、4回同じ処理を繰り返し、ブロック3の頂点番号4に対応する頂点データはX11,Y11に確定する。

0084

(3)頂点番号8の処理
頂点データアドレス決定部801は、アドレスA=V3=8、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は頂点データメモリ805からアドレス8のデータを読出し、そのX6及びY6を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=3に対応する左下フラグを調べる。ここで、左下フラグ=1であるため、頂点データ読出し部802は、次アドレスのアドレス値=27を切替アドレスとして頂点データアドレス決定部801に送る。

0085

これを受けて、頂点データアドレス決定部801は、2回目は、アドレスA=27、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス27のデータを読出し、そのX13及びY13を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=3に対応する左下フラグを調べ、ここでは左下フラグ=0のため、切替アドレス=0を頂点データアドレス決定部801に送る。

0086

これを受けて、頂点データアドレス決定部801は、3回目は、前回と同じアドレスA=27、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、再度、頂点データメモリ805のアドレス27のデータを読出し、2回目と同じ処理を実行する。

0087

頂点データアドレス決定部801は、最後の4回目も、前回と同じアドレスA=27、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、再度、頂点データメモリ805のアドレス27のデータを読出し、3回目と同じ処理を実行する。

0088

結局、頂点データアドレス決定部801と頂点データ読出し部802で4回処理を繰り返す過程で、ブロック3の頂点番号8に対応する頂点データは、最初のX6,Y6からX13,Y13に変わり、最終的にX13,Y13に確定する。この場合も、図5の不連続点が解消される。

0089

(4)頂点番号9の処理
頂点データアドレス決定部801は、アドレスA=V4=9、頂点位置情報n=4を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス9のデータを読出す。以後の処理は省略するが、頂点位置情報n=4に対応する右下フラグは0のため、結局、頂点データアドレス決定部801と頂点データ読出し部802では、4回同じ処理を繰り返し、ブロック3の頂点番号9に対応する頂点データはX14,Y14に確定する。

0090

<処理例3>
ここでは、図5(b)の出力画像において現在着目しているブロックがブロック11の場合について説明する。図4より、ブロック11の頂点番号は、V1=13,V2=14,V3=18,V4=19である。
(1) 頂点番号13の処理
頂点データアドレス決定部801は、アドレスA=V1=13、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス13のデータを読出し、そのX9及びY9を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=1に対応する左上フラグを調べる。ここで、左上フラグ=1であるため、頂点データ読出し部802は、次アドレスのアドレス値=28を切替アドレスとして頂点データアドレス決定部801に送る。

0091

これを受けて、頂点データアドレス決定部801は、2回目は、アドレスA=28、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス28のデータを読出し、そのX16及びY16を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=1に対応する左上フラグを調べ、ここでも、左上フラグ=1のため、次アドレスのアドレス値=31を切替アドレスとして頂点データアドレス決定部801に送る。

0092

これを受けて、頂点データアドレス決定部801は、3回目は、アドレスA=31、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス31のデータを読出し、そのX21及びY21を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=1に対応する左上フラグを調べ、ここでも左上フラグ=1であるため、次アドレスのアドレス値=32を切替アドレスとして頂点データアドレス決定部801に送る。

0093

これを受けて、頂点データアドレス決定部801は、4回目は、アドレスA=32、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス32のデータを読出し、そのX28及びY28を双線形補間用頂点データ記憶部803に送る。ここで、n=1の処理は終了となる。

0094

結局、頂点データアドレス決定部801と頂点データ読出し部802で4回処理を繰り返す過程で、ブロック11の頂点番号13に対応する頂点データは、X9及びY9→X16及びY16→X21及びY21→X28とY28と遷移し、最終的にX28及びY28に確定する。これにより、図5の不連続点が解消される。

0095

(2)頂点番号14の処理
頂点データアドレス決定部801は、アドレスA=V2=14、頂点位置情報n=2を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス14のデータを読出し、そのX17及びY17を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=2に対応する右上フラグを調べ、ここでは右上フラグ=1であるため、次アドレスのアドレス値=33を切替アドレスとして頂点データアドレス決定部801に送る。

0096

これを受けて、頂点データアドレス決定部801は、2回目は、アドレスA=33、頂点位置情報n=2を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス33のデータを読出し、そのX29及びY29を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=2に対応する右上フラグを調べ、ここでは右上フラグ=0のため、切替アドレス=0を頂点データアドレス決定部801に送る。

0097

これを受けて、頂点データアドレス決定部801は、3回目は、前回と同じアドレスA=33、頂点位置情報n=2を頂点データ読出し部802に送る。頂点データ読出し部802は、再度、頂点データメモリ805のアドレス33のデータを読出し、2回目と同じ処理を実行する。

0098

頂点データアドレス決定部801は、4回目も、前回と同じアドレスA=33、頂点位置情報n=2を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス33のデータを読出し、3回目と同じ処理を実行する。

0099

結局、頂点データアドレス決定部801と頂点データ読出し部802で4回繰り返す過程で、ブロック11の頂点番号14に対応する頂点データは、最初のX17,Y17からX29,Y29に変わり、最終的にX29,Y29に確定する。これにより、図5の不連続点が解消される。

0100

(3)頂点番号18の処理
頂点データアドレス決定部801は、アドレスA=V3=18、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス18のデータを読出し、そのX24及びY24を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=3に対応する左下フラグを調べ、ここでは左下フラグ=1であるため、次アドレスのアドレス値=35を切替アドレスとして頂点データアドレス決定部801に送る。

0101

これを受けて、頂点データアドレス決定部801は、2回目は、アドレスA=35、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス35のデータを読出し、そのX31及びY31を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=3に対応する左下フラグを調べ、ここでは左下フラグ=0のため、切替アドレス=0を頂点データアドレス決定部801に送る。

0102

これを受けて、頂点データアドレス決定部801は、3回目は、前回と同じアドレスA=35、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス35のデータを読出し、2回目と同じ処理を実行する。

0103

頂点データアドレス決定部801は、4回目も、前回と同じアドレスA=35、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス35のデータを読出し、3回目と同じ処理を実行する。

0104

結局、頂点データアドレス決定部801と頂点データ読出し部802で4回処理を繰り返す過程で、ブロック11の頂点番号18に対応する頂点データは、最初のX24,Y24からX31,Y31に変わり、最終的にX31,Y31に確定する。これにより、図5の不連続点が解消される。

0105

(4)頂点番号19の処理
頂点データアドレス決定部801は、アドレスA=V4=19、頂点位置情報n=4を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス19のデータを読出す。以後の処理は省略するが、頂点位置情報n=4に対応する右下フラグは0のため、結局、頂点データアドレス決定部801と頂点データ読出し部802では4回同じ処理を繰り返し、ブロック11の頂点番号19に対応する頂点データはX32,Y32に確定する。

0106

以上、図5(a)の入力画像に対する図5(b)の出力画像(PbyP画像)において、一例としてブロック1、ブロック3及びブロック13の頂点データ確定処理について説明したが、他のブロックの頂点データの確定処理も容易に類推可能である。

0107

なお、頂点データメモリ805は、図6のようなデータ構成に限らないことは云うまでもない。

0108

ここでは、別の実施例として、図11(a)の入力画像について、図11(b)のようなPicture in Pictureの出力画像を得るとした場合の、頂点データメモリ805に格納されるデータの例を図12に示す。図12において、アドレス1〜25は、図6と同様に図4の頂点番号に対応する。また、アドレス26〜29は、重複する頂点について不連続点のデータを格納するのに割り当てられたアドレスを示す。Xi,Yjは、図11(a)の入力画像の対応する頂点に記した番号iに対応している。ここでも、画像サイズは640×480としているので、1≦X座標値≦640、1≦Y座標値≦480である。左上フラグ、右上フラグ、左下フラグ、右下フラグ、次アドレスは、図6の場合と同じ意味を表わす。

0109

頂点データアドレス決定部801及び頂点データ読出し部802の処理は、上記と同様であるが、図11(b)の例では、1つの頂点について、最大2回、処理を繰り返すだけでよい。

0110

ここで、図12において、左上フラグ、右上フラグ、左下フラグ、右下フラグを全て無視すれば(すなわち、0と見立てる)、図11(c)の出力画像を得ることができる。すなわち、図12の一つのテーブルで2役をこなすことができ、テーブルの節約になる。

0111

通常、頂点データメモリ805には、種々の画像変形に対応した種々のテーブル(ルックアップテーブル)が格納されており、外部からの指示により必要なテーブルが選択されることになる。

0112

なお、図2において、頂点データアドレス決定部801は、着目しているブロックの各頂点について、最初に決定されたアドレスを頂点位置情報と共に1度だけ頂点データ読出し部802に送信し、以後は、頂点データ読出し部802が、フラグと次アドレスを基に必要な回数だけ頂点データメモリ805からのデータ読出しを繰り返して、当該ブロックの各頂点の頂点データを決定することでもよい。これにより、頂点データアドレス決定部801と頂点データ読出し部802との間で必要な情報の送受信は1回ですむ。

0113

10同期信号生成部
20撮像素子
30 A/D変換部
40ベイヤー補間部
50画像バッファ部
60画像読出し部
70 D/A変換部
80画像変形部
801頂点データアドレス決定部
802 頂点データ読出し部
803 双線形補間用頂点データ記憶部
804 双線形補間演算部
805 頂点データ記憶部

先行技術

0114

特開2009−010730号公報

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ