(57)【要約】【課題】より高速に画像の欠落部分を補間する。【解決手段】ランレングスデータ化部２１は、元画像の欠落部分の各行および列について、行または列の開始位置および長さ、並びに、行の左右または列の上下に隣接する画素の画素値を含むランレングスデータを生成する。補間部２３は、欠落部分の各画素について、欠落部分の左右に隣接する画素の画素値を用いた水平方向の補間、および、欠落部分の上下に隣接する画素の画素値を用いた垂直方向の補間により２つの補間値を算出する。補間画像合成部２４は、算出された２つの補間値を合成することにより、欠落部分の各画素に補間する画素値を算出する。本発明は、例えば、三次元高さデータの欠落部分の補間を行う画像処理装置に適用できる。【選択図】図１
2009175829.tif 000002
【特許請求の範囲】
【請求項１】
画像の欠落部分の補間を行う画像処理装置の画像処理方法において、
前記欠落部分の水平方向の各行について、前記行の開始位置および長さ、並びに、前記行の左右に隣接する画素の画素値である左右隣接画素値を含む行データを生成し、前記欠落部分の垂直方向の各列について、前記列の開始位置および長さ、並びに、前記列の上下に隣接する画素の画素値である上下隣接画素値を含む列データを生成するデータ生成ステップと、
前記欠落部分の各画素について、その画素が属する行の前記行データに含まれる前記左右隣接画素値を用いた水平方向の補間により第１の補間値を算出し、その画素が属する列の前記列データに含まれる前記上下隣接画素値を用いた垂直方向の補間により第２の補間値を算出する補間ステップと、
前記第１の補間値および前記第２の補間値を合成することにより、前記欠落部分の各画素に補間する画素値を算出する合成ステップと
を含むことを特徴とする画像処理方法。
【請求項２】
前記データ生成ステップにおいて、前記画像の各画素が欠落部分に含まれるか否かの情報に基づいて、前記行データおよび前記列データを生成する
ことを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記補間ステップにおいて、前記左右隣接画素値を用いた水平方向の線形補間により前記第１の補間値を算出し、前記上下隣接画素値を用いた垂直方向の線形補間により前記第２の補間値を算出する
ことを特徴とする請求項１に記載の画像処理方法。
【請求項４】
前記合成ステップにおいて、前記第１の補間値と前記第２の補間値との平均値を前記欠落部分の各画素に補間する画素値として算出する
ことを特徴とする請求項１に記載の画像処理方法。
【請求項５】
前記画像は、各画素の高さを示す画素値からなる３次元高さデータである
ことを特徴とする請求項１に記載の画像処理方法。
【請求項６】
画像の欠落部分の補間を行う処理を、コンピュータに実行させるプログラムにおいて、
前記欠落部分の水平方向の各行について、前記行の開始位置および長さ、並びに、前記行の左右に隣接する画素の画素値である左右隣接画素値を含む行データを生成し、前記欠落部分の垂直方向の各列について、前記列の開始位置および長さ、並びに、前記列の上下に隣接する画素の画素値である上下隣接画素値を含む列データを生成するデータ生成ステップと、
前記欠落部分の各画素について、その画素が属する行の前記行データに含まれる前記左右隣接画素値を用いた水平方向の補間により第１の補間値を算出し、その画素が属する列の前記列データに含まれる前記上下隣接画素値を用いた垂直方向の補間により第２の補間値を算出する補間ステップと、
前記第１の補間値および前記第２の補間値を合成することにより、前記欠落部分の各画素に補間する画素値を算出する合成ステップと
を含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法およびプログラムに関し、特に、画像の欠落部分の補間を行う場合に用いて好適な画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、画像の欠落部分を補間するために、画像を所定の大きさのブロックに分割し、画素の欠落しているブロックを、最も近くにある画素の欠落していないブロックで置き換えた後、平滑化処理を施すことが提案されている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開平７−１９１６６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、引用文献１に記載の方法に限らず、補間後の画質の面では、補間を行う単位であるブロックの大きさが小さいほど有利であり、画素単位で補間を行う場合が最も有利である。しかしながら、画素単位で補間を行う場合、欠落していない近隣の画素を画素ごとに検索し、検索した画素を用いて補間を行う必要があり、処理時間が長くなってしまう。
【０００５】
本発明は、このような状況を鑑みてなされたものであり、より高速に画像の欠落部分を補間できるようにするものである。
【課題を解決するための手段】
【０００６】
本発明の一側面の画像処理方法は、画像の欠落部分の補間を行う画像処理装置の画像処理方法において、前記欠落部分の水平方向の各行について、前記行の開始位置および長さ、並びに、前記行の左右に隣接する画素の画素値である左右隣接画素値を含む行データを生成し、前記欠落部分の垂直方向の各列について、前記列の開始位置および長さ、並びに、前記列の上下に隣接する画素の画素値である上下隣接画素値を含む列データを生成するデータ生成ステップと、前記欠落部分の各画素について、その画素が属する行の前記行データに含まれる前記左右隣接画素値を用いた水平方向の補間により第１の補間値を算出し、その画素が属する列の前記列データに含まれる前記上下隣接画素値を用いた垂直方向の補間により第２の補間値を算出する補間ステップと、前記第１の補間値および前記第２の補間値を合成することにより、前記欠落部分の各画素に補間する画素値を算出する合成ステップとを含む。
【０００７】
本発明の一側面のプログラムは、画像の欠落部分の補間を行う処理を、コンピュータに実行させるプログラムにおいて、画像の欠落部分の補間を行う処理を、コンピュータに実行させるプログラムにおいて、前記欠落部分の水平方向の各行について、前記行の開始位置および長さ、並びに、前記行の左右に隣接する画素の画素値である左右隣接画素値を含む行データを生成し、前記欠落部分の垂直方向の各列について、前記列の開始位置および長さ、並びに、前記列の上下に隣接する画素の画素値である上下隣接画素値を含む列データを生成するデータ生成ステップと、前記欠落部分の各画素について、その画素が属する行の前記行データに含まれる前記左右隣接画素値を用いた水平方向の補間により第１の補間値を算出し、その画素が属する列の前記列データに含まれる前記上下隣接画素値を用いた垂直方向の補間により第２の補間値を算出する補間ステップと、前記第１の補間値および前記第２の補間値を合成することにより、前記欠落部分の各画素に補間する画素値を算出する合成ステップとを含む処理をコンピュータに実行させる。
【０００８】
本発明の一側面においては、欠落部分の水平方向の各行について、前記行の開始位置および長さ、並びに、前記行の左右に隣接する画素の画素値である左右隣接画素値を含む行データが生成され、前記欠落部分の垂直方向の各列について、前記列の開始位置および長さ、並びに、前記列の上下に隣接する画素の画素値である上下隣接画素値を含む列データが生成され、前記欠落部分の各画素について、その画素が属する行の前記行データに含まれる前記左右隣接画素値を用いた水平方向の補間により第１の補間値が算出され、その画素が属する列の前記列データに含まれる前記上下隣接画素値を用いた垂直方向の補間により第２の補間値が算出され、前記第１の補間値および前記第２の補間値が合成されることにより、前記欠落部分の各画素に補間する画素値が算出される。
【発明の効果】
【０００９】
本発明によれば、より高速に画像の欠落部分を補間することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明を適用した実施の形態について説明する。
【００１１】
図１は、本発明を適用した画像処理装置の一実施の形態を示すブロック図である。
【００１２】
画像処理装置１１は、外部から入力される画像（以下、元画像と称する）の欠落部分の画素を補間することにより画像の修復を行い、修復した画像を後段に出力する装置である。
【００１３】
ランレングスデータ化部２１は、図４を参照して後述するように、元画像の欠落部分をランレングスデータ化し、生成したランレングスデータを補間部２３に供給する。
【００１４】
画像回転部２２は、ランレングスデータ化部２１から供給された元画像を９０度右または左回りに回転させた縦横回転画像を生成し、ランレングスデータ化部２１に供給する。
【００１５】
補間部２３は、図２などを参照して後述するように、元画像および縦横回転画像の欠落部分の各画素に補間される画素値（以下、補間値とも称する）を算出し、算出した補間値からなる画像（以下、補間画像とも称する）を生成し、補間画像合成部２４に供給する。
【００１６】
補間画像合成部２４は、図２などを参照して後述するように、元画像に対する補間画像と縦横回転画像に対する補間画像を合成し、合成の結果得られた画像（以下、合成補間画像とも称する）を画像合成部２５に供給する。
【００１７】
画像合成部２５は、図２などを参照して後述するように、元画像と合成補間画像を合成し、合成の結果得られた画像を後段に出力する。
【００１８】
なお、画像処理装置１１の処理対象となる元画像は、各画素の輝度や色などを表す画素値からなる通常の画像に限定されるものではなく、例えば、各画素の高さを示す画素値からなる三次元高さデータなどが含まれる。また、元画像の欠落部分は、例えば、画像処理装置１１の前段において、ノイズなどの原因により不要と判断され、オリジナルの原画像から除去された部分からなる。
【００１９】
さらに、元画像の各画素が欠落部分に含まれるか否かを示す情報は、例えば、画素値が所定の値（例えば、０または負の値）に設定されたり、欠落部分に含まれる画素であることを示す属性値が設定されることにより表される。また、例えば、元画像とは別に、欠落部分に含まれる画素であるか否かを示す、元画像と同じサイズのマトリックス状のデータなどを用いて、各画素が欠落部分に含まれるか否かを示すようにしてもよい。
【００２０】
次に、図２のフローチャートを参照して、画像処理装置１１により実行される欠落部分修復処理について説明する。なお、この処理は、例えば、欠落部分を有する元画像が画像処理装置１１に入力され、ランレングスデータ化部２１および画像合成部２５に供給されたとき開始される。なお、以下、図３に示される欠落部分Ｍ１およびＭ２を有する元画像Ｇｓ１に対して欠落部分修復処理を行う場合を適宜例に挙げながら説明する。
【００２１】
ステップＳ１において、ランレングスデータ化部２１は、元画像の欠落部分をランレングスデータ化する。すなわち、ランレングスデータ化部２１は、元画像の欠落部分の水平方向の各行について、行ごとにランレングスデータを生成し、補間部２３に供給する。
【００２２】
各行のランレングスデータは、行の開始位置および長さ、並びに、行の左右に隣接する画素の画素値（以下、隣接画素値とも称する）を含む。例えば、図４に示されるように、欠落部分のある行が画素Ｐ２乃至Ｐ６から構成される場合、この行のランレングスデータは、行（欠落部分）の左端の画素Ｐ２の位置を示す座標、行の長さ（５画素）、並びに、行（欠落部分）の左右に隣接する画素Ｐ１および画素Ｐ７の画素値を含む。
【００２３】
ステップＳ２において、補間部２３は、ランレングスデータを用いて、元画像の欠落部分の補間値を算出する。すなわち、補間部２３は、欠落部分の各画素について、ランレングスデータに含まれる隣接画素値を用いた水平方向の補間により補間値を算出する。
【００２４】
例えば、図４に示される例の場合、画素Ｐ２乃至Ｐ６の補間値は、以下の式（１）乃至（５）により求められる。
【００２５】
Ｐ２＝Ｐ１×５／６＋Ｐ７×１／６  ・・・（１）
Ｐ３＝Ｐ１×４／６＋Ｐ７×２／６  ・・・（２）
Ｐ４＝Ｐ１×３／６＋Ｐ７×３／６  ・・・（３）
Ｐ５＝Ｐ１×２／６＋Ｐ７×４／６  ・・・（４）
Ｐ６＝Ｐ１×１／６＋Ｐ７×５／６  ・・・（５）
【００２６】
なお、式（１）乃至（５）において、Ｐ１乃至Ｐ７は、画素Ｐ１乃至Ｐ７の画素値を示している。すなわち、画素Ｐ２乃至Ｐ６の補間値は、欠落部分の左右に隣接する画素Ｐ１および画素Ｐ７の画素値を用いた線形補間により補間される画素値となる。
【００２７】
このように、欠落部部分をランレングスデータ化しておくことにより、欠落部分の各画素の補間値を求めるときに、画素ごとに補間に用いる画素を検索することなく、同じ行内の画素の補間値を一度に計算することができ、処理時間を短縮することができる。
【００２８】
補間部２３は、算出した各欠落部分の各画素の補間値からなる補間画像を生成し、補間画像合成部２４に供給する。例えば、補間部２３は、図３の元画像Ｇｓ１の欠落部分Ｍ１およびＭ２に対して、欠落部分の左右に隣接する画素の画素値を用いて水平方向の線形補間を行った補間部分ＩＮ１およびＩＮ２からなる補間画像Ｇｉ１を生成し、補間画像合成部２４に供給する。なお、補間画像Ｇｉ１の補間部分ＩＮ１およびＩＮ２以外の部分の画素値は、例えば、０に設定される。
【００２９】
ステップＳ３において、画像回転部２２は、元画像の縦横回転画像を生成する。具体的には、ランレングスデータ化部２１は、元画像を画像回転部２２に供給する。画像回転部２２は、元画像の縦横を逆転させた画像、すなわち、９０度右または左回りに回転させた縦横回転画像を生成する。例えば、画像回転部２２は、図２の元画像Ｇｓ１を右回りに回転させた縦横回転画像Ｇｓ１ｒ（図５）を生成する。画像回転部２２は、生成した縦横回転画像をランレングスデータ化部２１に供給する。
【００３０】
ステップ４において、ランレングスデータ化部２１は、ステップＳ１の処理と同様に、縦横回転画像の欠落部分をランレングスデータ化する。すなわち、ランレングスデータ化部２１は、縦横回転画像の欠落部分の水平方向の各行について、行ごとにランレングスデータを生成し、補間部２３に供給する。この結果、元画像の欠落部分の垂直方向の列ごとに、列の開始位置および長さ、並びに、列の上下に隣接する画素の画素値を含むランレングスデータが生成される。
【００３１】
ステップＳ５において、補間部２３は、ステップＳ２と同様の処理により、ランレングスデータを用いて、縦横回転画像の欠落部分の補間値を算出する。例えば、補間部２３は、図５の縦横回転画像Ｇｓ１ｒの欠落部分Ｍ１ｒおよびＭ２ｒに対して、欠落部分の左右に隣接する水平方向の線形補間を行った補間部分ＩＮ１１およびＩＮ１２からなる補間画像Ｇｉ１１を生成し、補間画像合成部２４に供給する。なお、補間画像Ｇｉ１１は、図３の元画像Ｇｓ１の欠落部分Ｍ１およびＭ２に対して、欠落部分の上下に隣接する画素の画素値を用いて垂直方向の線形補間を行った補間部分からなる画像と等価である。
【００３２】
ステップＳ６において、補間画像合成部２４は、欠落部分の補間値を合成する。すなわち、補間画像合成部２４は、元画像に対する補間画像と縦横回転画像に対する補間画像の２枚の補間画像を合成し、その結果得られた合成補間画像を画像合成部２５に供給する。
【００３３】
例えば、補間画像合成部２４は、図６に示されるように、補間画像Ｇｉ１と補間画像Ｇｉ１１を合成することにより、すなわち、補間部分ＩＮ１の各画素の補間値と補間部分ＩＮ１１の各画素の補間値、および、補間部分ＩＮ２の各画素の補間値と補間部分ＩＮ１２の各画素の補間値を合成することにより、合成補間画像Ｇｉ２１を生成する。なお、補間部分ＩＮ２１の各画素の画素値は、補間部分ＩＮ１と補間部分ＩＮ１１の対応する画素の補間値の平均値とされ、補間部分ＩＮ２２の各画素の画素値は、補間部分ＩＮ２と補間部分ＩＮ１２の対応する画素の補間値の平均値とされる。
【００３４】
ステップＳ７において、画像合成部２５は、元画像と合成補間画像を合成する。画像合成部２５は、元画像と合成補間画像を合成することにより得られた画像を後段に出力する。その後、欠落部分修復処理は終了する。
【００３５】
例えば、画像合成部２５は、図７に示されるように、元画像Ｇｓ１と補間画像Ｇｉ２１を合成することにより、元画像Ｇｓ１の欠落部分Ｍ１およびＭ２を、補間画像Ｇｉ２１の補間部分ＩＮ２１およびＩＮ２２にそれぞれ置き換えた画像Ｇ３１を生成する。
【００３６】
このようにして、元画像の欠落部分の補間をより高速に行うことができる。
【００３７】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【００３８】
図８は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【００３９】
コンピュータにおいて、CPU（Central Processing Unit）２０１，ROM（Read Only Memory）２０２，RAM（Random Access Memory）２０３は、バス２０４により相互に接続されている。
【００４０】
バス２０４には、さらに、入出力インタフェース２０５が接続されている。入出力インタフェース２０５には、キーボード、マウス、マイクロホンなどよりなる入力部２０６、ディスプレイ、スピーカなどよりなる出力部２０７、ハードディスクや不揮発性のメモリなどよりなる記憶部２０８、ネットワークインタフェースなどよりなる通信部２０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア２１１を駆動するドライブ２１０が接続されている。
【００４１】
以上のように構成されるコンピュータでは、CPU２０１が、例えば、記憶部２０８に記憶されているプログラムを、入出力インタフェース２０５及びバス２０４を介して、RAM２０３にロードして実行することにより、上述した一連の処理が行われる。
【００４２】
コンピュータ（CPU２０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア２１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【００４３】
そして、プログラムは、リムーバブルメディア２１１をドライブ２１０に装着することにより、入出力インタフェース２０５を介して、記憶部２０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部２０９で受信し、記憶部２０８にインストールすることができる。その他、プログラムは、ROM２０２や記憶部２０８に、あらかじめインストールしておくことができる。
【００４４】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【００４５】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【００４６】
【図１】本発明を適用した画像処理装置の一実施の形態を示すブロック図である。
【図２】画像処理装置により実行される欠落部分修復処理を説明するためのフローチャートである。
【図３】元画像と補間画像の例を示す図である。
【図４】ランレングスデータを説明するための図である。
【図５】縦横回転画像と補間画像の例を示す図である。
【図６】補間画像の合成を説明するための図である。
【図７】元画像と合成補間画像の合成を説明するための図である。
【図８】パーソナルコンピュータの構成例を示す図である。
【符号の説明】
【００４７】
１１  画像処理装置，  ２１  ランレングスデータ化部，  ２２  画像回転部，  ２３  補間部，  ２４  補間画像合成部，  ２５  画像合成部
【図１】
2009175829.tif 000003
【図２】
2009175829.tif 000004
【図３】
2009175829.tif 000005
【図４】
2009175829.tif 000006
【図５】
2009175829.tif 000007
【図６】
2009175829.tif 000008
【図７】
2009175829.tif 000009
【図８】
2009175829.tif 000010