動き画像領域判定装置またはその方法
【課題】 簡易な構成で矩形動き画像領域を判定する。
【解決手段】 動き単位ブロック判断手段5は、各単位ブロックについて、比較対象のフレームの同じ位置の単位ブロックの代表値が閾値を超える場合には、動き単位ブロックとする。動き列ブロック決定手段7は、ある単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに動き単位ブロックが存在する場合には動き列ブロックとして決定する。動き行ブロック決定手段9は、各行ブロックに動き単位ブロックが存在する場合には動き行ブロックとして決定する。第1矩形動き画像領域決定手段11は、動き行ブロックおよび動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する。
【解決手段】 動き単位ブロック判断手段5は、各単位ブロックについて、比較対象のフレームの同じ位置の単位ブロックの代表値が閾値を超える場合には、動き単位ブロックとする。動き列ブロック決定手段7は、ある単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに動き単位ブロックが存在する場合には動き列ブロックとして決定する。動き行ブロック決定手段9は、各行ブロックに動き単位ブロックが存在する場合には動き行ブロックとして決定する。第1矩形動き画像領域決定手段11は、動き行ブロックおよび動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、動き画像領域の判定方法に関し、特に、矩形の動き画像領域判定に関する。
【背景技術】
【0002】
今日、入力された動画や静止画の信号を高解像度化して出力する技術が注目されている。例えば、表示領域のうち動画領域にのみ、解像度を上げる処理ができれば、粗い入力動画であっても、みやすく表示することができる。
【0003】
かかる動画領域が固定であれば手動で特定することもできるが、その場合でも、特定処理が煩雑である。まして、前記動画領域が移動する場合、前記手動特定では限界がある。
【0004】
動画領域の特定については種々の方法が提案されている。例えば、特許文献1には、ブロック単位での動き検出が開示されている。具体的には、前後フレームにおける同一画素の階調値を比較し、階調値が異なる場合には動画素と判断し、ブロック単位で、動画素の画素数割合を求め、これが閾値よりも大きい場合には、そのブロックは動画像のブロックと判断するというものである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11-007266号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上記特許文献1に開示された判定方法では、1画素毎の比較をした後、ブロックごとに画素数をカウントするので、1フレームの全画素についての比較が必要であり、実現コストや設計難易度が高くなる。
【0007】
この発明は、上記問題を解決し、簡易な構成で矩形動き画像領域を判定する判定方法またはその装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
(1)本発明にかかる矩形動き画像領域決定方法は、行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する矩形動き画像領域決定方法であって、前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが、動きが存在する動き単位ブロックであるか否か判断する動き単位ブロック判断ステップ、 前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定ステップ、前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定ステップ、前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定ステップ、前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とする第2矩形動き画像領域決定ステップを備えている。
【0009】
このように、前記単位ブロック毎に動き単位ブロックか否か判断し、前記動き行ブロックおよび動き列ブロックを決定し、その双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定することにより、動き画像領域を決定することができる。また、その領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とすることにより、より精密な動き画像領域を決定することができる。
【0010】
(2)本発明にかかる矩形動き画像領域決定方法は、前記第2矩形動き画像領域決定ステップでは、前記外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の行方向については、各行の代表画素値が異なる行を、列方向については各列の代表画素値が異なる列を、前記矩形動き画像領域の境界として決定する。したがって、行毎の代表画素値に基づいて境界を決定することができる。
【0011】
(3)本発明にかかる矩形動き画像領域決定方法は、前記第2矩形動き画像領域決定ステップでは、前記外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、異なるフレーム間で動きが存在する動き画素か否かを判断して、前記矩形動き画像領域の境界を決定する。したがって、各画素の動きベクトルに基づいて境界を決定することができる。
【0012】
(4)本発明にかかる矩形動き画像領域決定方法は、前記第2矩形動き画像領域決定ステップでは、前記外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、行方向エッジおよび列方向エッジを構成する画素を抽出し、各行についての行方向エッジを構成する画素の総数、各列について列方向エッジを構成する画素の総数に基づき前記矩形動き画像領域の境界を決定する。したがって行方向エッジおよび列方向エッジに基づいて境界を決定することができる。
【0013】
(5)本発明にかかる矩形動き画像領域決定方法は、前記第2矩形動き画像領域決定ステップの前に、決定した矩形動き画像領域がスクロールによってフレーム間で画像が異なるか否かを判定するスクロール該当判定をする。したがって、スクロールに該当するのかそうでないかを区別することができる。また、スクロールであると判断した場合には、前記第2矩形動き画像領域決定ステップを行わない。したがって、スクロールに該当する場合に迅速な判断が可能となる。
【0014】
(6)本発明にかかる矩形動き画像領域決定方法においては、前記スクロール該当判定は、決定した矩形動き画像領域の各画素について、周辺画素との画素値の差に基づいて、エッジであるか否かを判断し、前記エッジではない画素が行方向または列方向に所定数以上存在する行または列について、文字隙間存在領域として認識し、前記決定した矩形動き画像領域に対する前記文字隙間存在領域の割合に基づいてスクロール該当判定をする。したがって、文字を含む画像をスクロールしている場合を、確実に判断することができる。
【0015】
(7)本発明にかかる矩形動き画像領域決定方法においては、第1矩形動き画像領域決定ステップにて決定した矩形動き画像領域について、第2矩形動き画像領域決定ステップの前に、前記動き列ブロック決定ステップ、前記動き行ブロック決定ステップ、および前記第1矩形動き画像領域決定ステップを繰り返し実行する。したがって、検出する動き画像領域が複数ある場合でも、正確に検出が可能となる。
【0016】
(8)本発明にかかる矩形動き画像領域決定装置は、行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する矩形動き画像領域決定装置であって、1)前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが、動きが存在する動き単位ブロックと判断する動き単位ブロック判断手段、2)前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定手段、3)前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定手段、4)前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定手段、5)前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とする第2矩形動き画像領域決定手段を備えている。
【0017】
このように、前記単位ブロック毎に動き単位ブロックか否か判断し、前記動き行ブロックおよび動き列ブロックを決定し、その双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定することにより、動き画像領域を決定することができる。また、その領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とすることにより、より精密な動き画像領域を決定することができる。
【0018】
(9)本発明にかかる矩形動き画像領域決定装置においては、前記第2矩形動き画像領域決定手段は、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の行方向については、各行の代表画素値が異なる行を、列方向については各列の代表画素値が異なる列を、前記矩形動き画像領域の境界として決定する。したがって、行毎の代表画素値に基づいて境界を決定することができる。
【0019】
(10)本発明にかかる矩形動き画像領域決定装置においては、前記第2矩形動き画像領域決定手段は、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、異なるフレーム間で動きが存在する動き画素か否かを判断して、前記矩形動き画像領域の境界を決定する。したがって、各画素の動きベクトルに基づいて境界を決定することができる。
【0020】
(11)本発明にかかる矩形動き画像領域決定装置においては、前記第2矩形動き画像領域決定手段は、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、行方向および列方向エッジを構成する画素を抽出し、各行についての行方向の総数、各列について列方向エッジを構成する画素の総数に基づき前記矩形動き画像領域の境界を決定する。したがって行方向エッジおよび列方向エッジに基づいて境界を決定することができる。
【0021】
(12)本発明にかかる矩形動き画像領域決定装置は、前記第1矩形動き画像領域決定手段が決定した矩形動き画像領域について、前記動き列ブロック決定手段、前記動き行ブロック決定手段、および前記矩形動き画像領域決定手段による処理を繰り返し実行させる繰り返し手段、を備えている。したがって、検出する動き画像領域が複数ある場合でも、正確に検出が可能となる。
【0022】
(17)本発明にかかる矩形動き画像領域決定方法は、行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する矩形動き画像領域決定方法であって、前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが動きが存在する動き単位ブロックと判断する動き単位ブロック判断ステップ、前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定ステップ、前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定ステップ、前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定ステップ、を備えている。
【0023】
このように、前記単位ブロック毎に動き単位ブロックか否か判断し、前記動き行ブロックおよび動き列ブロックを決定し、その双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定することにより、動き画像領域を決定することができる。
【0024】
(18)本発明にかかる矩形動き画像領域決定方法は、前記第1矩形動き画像領域決定ステップでは、決定した矩形領域について、さらに、前記動き列ブロック決定ステップ、および前記動き行ブロック決定ステップ、繰り返し実行する。したがって、検出する動き画像領域が複数ある場合でも、正確に検出が可能となる。
【0025】
(19)本発明にかかるスクロール領域判定装置は、画面内の判定対象領域がスクロール領域か否かを判定するスクロール領域判定装置であって、前記判定対象領域の各画素について、周辺画素との画素値の差に基づいて、エッジであるか否かを判断するエッジ画素判断手段、同一行または同一列に、前記エッジではない画素が所定数以上存在する行または列を文字隙間存在領域として判断する文字隙間存在領域判断手段、前記判定対象領域に対する前記文字隙間存在領域の割合に基づいてスクロール領域か否かを判断するスクロール領域判断手段、を備えている。
【0026】
したがって、文字を含む画像をスクロールしている場合を、確実に判断することができる。
【0027】
(20)本発明にかかる境界決定装置は、1画面に存在する矩形領域の境界を決定する境界決定装置であって、判定対象画素における各画素の画素値に基づいて、エッジを構成する画素を判断するエッジ画素判断手段、行方向エッジを構成する画素を行方向エッジ画素として抽出し、前記行方向エッジの総数を各行について演算し、各行の前記行方向エッジの総数に基づいて、行方向の境界を決定する行方向境界決定手段、列方向エッジを構成する画素を列方向エッジ画素として抽出し、前記列方向エッジの総数を各列について演算し、各列の前記列方向エッジの総数に基づいて、列方向の境界を決定する列方向境界決定手段、前記決定した行方向境界および前記列方向境界を、前記矩形領域の境界として決定する矩形領域決定手段、を備えている。
【0028】
したがって行方向エッジおよび列方向エッジに基づいて境界を決定することができる
(21)本発明にかかる境界決定装置は、前記エッジ画素判断手段が判定対象とする画素を決定する手段であって、以下の手段を有する荒領域決定手段を備えている。
【0029】
1)行方向および列方向に画素が行列配置された表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが動きが存在する動き単位ブロックと判断する動き単位ブロック判断手段、
2)前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定手段、
3)前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定手段、
4)前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定手段、
5)前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックに属する画素を判定対象として決定する対象画素決定手段。
【0030】
したがって、より迅速に境界判断が可能である。
【0031】
なお、本明細書において「画素値」とは輝度値はもちろん、RGB値など画像情報を特定する為の数値は全て含む。また、「矩形動き画像領域」とは、複数のフレーム間で画素値が異なり、動き画像領域を構成する矩形領域をいう。
【0032】
「列ブロック」とは、単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合をいう。本実施形態においては、最上段に位置する1の単位ブロックを特定して、列ブロックを決定したが、結果的に当該最上段に位置する1の単位ブロックを含むのであれば、最上段以外の行から特定するようにしてもよい。「行ブロック」とは、前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合をいう。結果的に当該左端段に位置する1の単位ブロックを含むのであれば、特定の仕方は問わない。
【0033】
「第1矩形動き画像領域決定ステップ」、「第2矩形動き画像領域決定ステップ」は、実施形態では、動き画像領域決定処理(図3ステップS7)、境界決定処理(図3ステップS9)がそれぞれ該当する。
【0034】
また「列方向」とは各行が配置されている方向をいい、実施形態では、α方向をいう。「行方向エッジ」とは行方向に平行な方向にエッジをいい、「列方向エッジ」とは列方向に平行な方向にエッジをいう。
【図面の簡単な説明】
【0035】
【図1】矩形動き画像領域決定装置1の機能ブロック図である。
【図2】矩形動き画像領域決定装置1を、CPUを用いて構成した場合のハード構成の一例である。
【図3】全体のフローチャートである。
【図4】動き画像領域110〜112が存在する表示領域100を示す。
【図5】動きブロック決定処理のフローチャートである。
【図6】動きブロックを検出した結果を示す図である。
【図7】動き画像領域決定処理のフローチャートである。
【図8】動き列ブロックを示す図である。
【図9】動き画像領域決定処理のフローチャート(続き)である。
【図10】動き行ブロックを示す図である。
【図11】動き画像領域140を示す図である。
【図12】境界決定処理のフローチャートである。
【図13】1単位ブロック内の32*32画素を示す図である。
【図14】多数の動き画像領域が存在する表示領域200を示す。
【図15】検出された動き画像領域301〜304を示す。
【図16】動き画像領域301から検出される動き画像領域311、312を示す。
【図17】境界決定処理のフローチャートである。
【図18】エッジ画素判断に用いるフィルタと演算式である。
【図19】時間軸方向の履歴による境界判断の説明の為の動画例である。
【図20】スクロール判定処理のフローチャートである。
【発明を実施するための形態】
【0036】
以下、本発明における実施形態について、図面を参照して説明する。
【0037】
(1.1 機能ブロック)
図1に、本発明の1実施形態にかかる矩形動き画像領域決定装置1の機能ブロック図を示す。矩形動き画像領域決定装置1は、行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する装置であって、動き単位ブロック判断手段5、動き列ブロック決定手段7、動き行ブロック決定手段9、第1矩形動き画像領域決定手段11、繰り返し手段13、第2矩形動き画像領域決定手段14を備えている。
【0038】
動き単位ブロック判断手段5は、前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが動きが存在する動き単位ブロックと判断する。動き列ブロック決定手段7は、前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する。動き行ブロック決定手段9は、前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する。第1矩形動き画像領域決定手段11は、前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する。繰り返し手段13は、第1矩形動き画像領域決定手段11が決定した矩形動き画像領域について、動き列ブロック決定手段7、動き行ブロック決定手段9、および矩形動き画像領域決定手段11による処理を繰り返し実行させる。第2矩形動き画像領域決定手段14は、前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とする。
【0039】
(1.2 ハードウェア構成)
図2に矩形動き画像領域決定装置1のハードウェア構成を示す。矩形動き画像領域決定装置1は、CPU23、RAM25、フラッシュメモリ26を備えている。フラッシュメモリ26には、プログラム26pが記憶されている。プログラム26pには、後述するように、矩形動き画像領域決定処理を行う。RAM25は演算結果等を記憶する。フレームメモリ27は1画面の画像データを保持する。
【0040】
CPU23は、プログラム26Pに従い、メモリ27に記憶された表示領域を構成する画素値に基づき、動きの存在する画素で構成された動き画像領域か否かの判断を行い、結果をRAM25に記憶する。
【0041】
(1.3 フローチャートの説明)
図2に示すプログラム26Pによる処理について図3を用いて説明する。以下では、図4に示すように、モニタの1フレームである画像領域100に、3つの矩形動き画像領域100〜112が存在する場合を例として説明する。
【0042】
画像領域100は、行方向αと列方向βにマトリックス状に画素が配置されている。
【0043】
CPU23は、ブロック分割を行う(図3ステップS1)。本実施形態においては、32*32画素を1ブロックとして、図4に示す表示領域100を複数のブロックにマトリックス状に分割した。以下では、α方向にはn+1個、β方向にはm+1個のブロックに分割されたものとする。
【0044】
CPU23は全ブロックについて代表値を決定する(図3ステップS3)。代表値としては、1ブロック内の画素値の平均値、先頭の画素値、さらには当該値をそのまま用いるのではなく、CRCなどのハッシュ値を代表値としてもよい。また、平均値は、32*32*8bit画像では、18ビット長で表現可能であるが、上下の10ビットを切り捨てて、真ん中の8ビットのみ使用するというようにしてもよい。これにより、(n+1)*(m+1)個のブロック代表値がRAM25に記憶される。
【0045】
CPU23は、(n+1)*(m+1)個のブロックのうち、動きブロックを決定する(ステップS5)。動きブロック決定処理について図5を用いて説明する。
【0046】
CPU23は処理ブロック番号i,jを初期化する(図5ステップS11、S13)。ブロック(0,0)について前フレームの代表値と比較する(ステップS15)。本実施形態においては、時刻tと時刻t-1の代表値を比較した。CPU23は代表値の差分が閾値thbを超えるか否か判断し(ステップS17)、代表値の差分が閾値thbを越える場合は動きブロックと判断する(ステップS19)。一方、代表値の差分が閾値thbを越えない場合は非動きブロックと判断する(ステップS21)。
【0047】
CPU23は処理ブロック番号jが最終か否か判断する(ステップS23)。この場合、j=0で、最終でないので、処理ブロック番号jをインクリメントし(ステップS25)、ステップS15以下を繰り返す。ステップS23にて、処理ブロック番号jが最終であれば、ステップS27に進み、CPU23は、処理ブロック番号iが最終か否か判断する。この場合、最終でないので、処理ブロック番号iをインクリメントし(ステップS29)、ステップS13以下を繰り返す。ステップS27にて、処理ブロック番号iが最終であれば、処理を終了する。
【0048】
これにより、図6に示すように(n+1)*(m+1)個のブロックについて、動きブロックが決定される。この例では、ブロック(4,2)、(4,3)、(4,4)・・・が動きブロックとして決定されている。
【0049】
CPU23は、動き画像領域決定処理を行う(図3ステップS7)。動き画像領域決定処理の詳細について、図7,図9を用いて説明する。
【0050】
CPU23は、処理ブロック番号jを初期化する(図7ステップS31)。CPU23は、ブロック(0,0)が属する列のブロックに動きブロックが少なくとも1つ存在するか否か判断する(ステップS33)。この場合、図6に示すように、ブロック(0,0)およびその縦方向のブロック(1,0)〜(m,0)には、動きブロックが存在しないので、かかる列は、非動き列と判断する(図7ステップS37)。CPU23は、加算記憶された仮動き列があるかどうか判断する(ステップS39)。この場合、存在しないので、ステップS46に進み、処理ブロック番号jが最終か否か判断する。この場合、j=0で最終ではないので、処理ブロック番号jをインクリメントし(ステップS47)、ステップS33以下を繰り返す。
【0051】
処理ブロック番号j=2では、ブロック(0,2)の縦方向のブロックには、動きブロックが存在する。したがって、CPU23は、この列は仮動き列として加算記憶する(ステップS35)。
【0052】
CPU23は、処理ブロック番号jが最終か否か判断する(ステップS46)。この場合、j=2で最終ではないので、処理ブロック番号jをインクリメントし(ステップS47)、ステップS33以下を繰り返す。
【0053】
処理ブロック番号j=8まで、ステップS35の処理が繰り返される。処理ブロック番号j=9では、ブロック(0,9)の列には、動きブロックが存在しない。したがって、CPU23は、当該列を非動き列であると判断する(ステップS37)。CPU23は、加算記憶された仮動き列が存在するか否か判断し(ステップS39)、存在する場合には、隣接するそれらの集合が、閾値thwを超える幅を有するか否か判断する(ステップS41)。本実施形態においては、閾値thwを2ブロック以上とした。この場合、加算記憶された仮動き列がブロック(0,2)〜(0,8)まで存在するので、前記閾値thwを超えているので、仮動き列を動き列とする(ステップS45)。
【0054】
CPU23は、処理ブロック番号jが最終か否か判断する(ステップS46)。
【0055】
処理ブロック番号j=10では、ブロック(0,10)の列には、動きブロックが存在しない。したがって、CPU23は、当該列を非動き列であると判断する(ステップS37)。CPU23は、検出済みの仮動き列が存在するか否か判断し(ステップS39)、この場合、存在しないので、CPU23は、処理ブロック番号jが最終か否か判断する(ステップS46)。
【0056】
以下、j=n-7まで、非動き列と判断がなされる。処理ブロック番号j=n-6には、動きブロック(m-3,n-6)が存在する。したがって、CPU23は、仮動き列として加算記憶する(ステップS35)。
【0057】
処理ブロック番号j=n-5では、ブロック(0,n-5)の列には、動きブロックが存在しない。したがって、CPU23は、当該列を非動き列であると判断する(ステップS37)。CPU23は、検出済みの仮動き列が存在するか否か判断し(ステップS39)、存在する場合には、隣接するそれらの集合が、閾値thwを超える幅を有するか否か判断する(ステップS41)。本実施形態においては、閾値thwを2ブロック以上としたので、仮動き列の幅が前記閾値thwを超えていないので、仮動き列を非動き列とする(ステップS43)。これにより、マウスなどの画像領域を誤って動き画像領域として認定することを防止することができる。
【0058】
以下同様にして、行方向αについて、順次動きブロックが存在する列か否かを1列ずつ判断している。
【0059】
なお、最終列であるブロック(0,n)の列が仮動き列である場合もある。この場合、ステップS49にて、加算記憶された仮動き列が存在するか否か判断し、存在する場合には、ステップS41以下の処理を実行する。
【0060】
図8に、検出後の動き列を示す。この場合、領域121が動き列として決定される。これに対して、動きブロック(6,n-3),(m-3,n-6)が属する領域122,123は矢印α方向に、閾値thw以上の幅を有していないので、動き列としては決定されない。
【0061】
つぎに、CPU23は、処理ブロック番号iを初期化する(図9ステップS51)。CPU23は、ブロック(0,0)の行に動きブロックが少なくとも1つ存在するか否か判断する(ステップS53)。この場合、図6に示すように、ブロック(0,0)およびその横方向のブロック(0,1)〜(0,n)には、動きブロックが存在しないので、かかる行は、非動き行と判断する(ステップS57)。CPU23は、加算記憶された動き行があるかどうか判断する(ステップS59)。この場合、検出済みの動き行が存在しないので、ステップS66に進み、処理ブロック番号iが最終か否か判断する。この場合、i=0で、最終ではないので、処理ブロック番号iをインクリメントし(ステップS68)、ステップS53以下を繰り返す。
【0062】
処理ブロック番号i=4では、ブロック(4,0)の行には、動きブロックが存在する。したがって、CPU23は、この行を仮動き行として加算記憶する(ステップS55)。
【0063】
以下同様にして、i=8まで、ブロック(i,0)の行には動きブロックが存在する動き行であるとの判断がなされる。i=9にて、ブロック(i,0)の行には動きブロックが存在しないので、当該行は非動き行であると判断される(ステップS57)。CPU23は、加算記憶された動き行があるか否か判断する(ステップS59)。この場合、加算記憶された動き行があるので、それらの集合が、閾値thwを超える幅を有するか否か判断する(ステップS61)。本実施形態においては、閾値thwを2ブロック以上とした。この場合、検出済みの動き行がブロック(4,0)〜(8,0)まで存在するので、前記閾値thwを超えているので、仮動き行を動き行とする(ステップS65)。
【0064】
以下同様にして、列方向βについて、順次動きブロックが存在する列か否かを1行ずつ判断する。ステップS69の意義については、ステップS49と同じであるので説明は省略する。
【0065】
図10に検出後の動き行を示す。この場合、領域131が動き行として決定される。動きブロック(6,n-3)は、領域131に属している。これに対して、動きブロック(m-3,n-6)が属する領域132は、矢印β方向に閾値thw以上の幅を有していないので、動き行としては決定されない。
【0066】
CPU23は、動き列と動き行の双方に属するブロックを動き画像領域として決定する(図9ステップS70)。この場合、図11に示す領域121と領域131の重複する領域140に属するブロックが動き画像領域として決定される。図6の動きブロックと比較すると、動きブロック(6,n-3),(m-3,n-6)が排除される一方、ブロック(4,5)などが動き画像領域として決定されている。このようにして取りこぼしを周辺ブロックとの関係で防ぐことができる。
【0067】
CPU23は、境界決定処理を行う(図3ステップS9)。図11に示す領域140については、32*32画素で構成されたブロックにおける動き画像領域の境界が得られている。ステップS9の処理により、図13に示すように、1画素単位での動き画像領域の境界150を得ることができる。ステップS9の詳細について図12を用いて説明する。
【0068】
CPU23は、上側ブロックを抽出する(図12ステップS80)。この場合、図13に示すブロック(4,2)〜(4,8)の計7つのブロックが抽出される。CPU23は、処理行番号Pを初期化し(ステップS81)、抽出したブロックのP行目の画素を全て抽出するとともに、その代表値を演算する(ステップS83)。この場合、ブロック(4,2)の0行目の32画素、ブロック(4,3)の0行目の32画素・・・と7*32画素が抽出され、その代表値が演算される。本実施形態においては、代表値は抽出した画素の平均値とした。
【0069】
つぎにCPU23は、抽出したブロックの処理行番号P+1行目の画素を全て抽出するとともに、その代表値を演算する(ステップS85)。この場合、ブロック(4,2)の1行目の32画素、ブロック(4,3)の1行目の32画素・・・と7*32画素が抽出され、その代表値が演算される。
【0070】
CPU23は、ステップS83で求めた代表値とステップS85で求めた代表値が異なるか否か判断する(ステップS87)。ステップS87にて両者が異なる場合には、画素(P,0)の行が境界であると判断する(ステップS93)。ステップS87にて両者が異ならない場合には、処理行番号Pをインクリメントし(ステップS89)、抽出ブロックの最終画素(この場合、32画素)となるまでステップS83以下を繰り返す(ステップS91)。最終画素でもステップS87にて両者が異ならない場合は、抽出したブロックの端部が境界であると判断する(ステップS95)。
【0071】
図12においては、上部のブロックにおける1画素単位の境界を抽出する場合について説明したが、下部のブロックについても同様である。
【0072】
このように、外周のブロックについて、上部、下部であれば横方向に1行分画素を抽出して、その代表値を隣接する行と比較することにより、ブロック内における1画素単位の境界を取得することができる。
【0073】
なお、左右の境界については、縦方向に1列分画素を抽出して、その代表値を隣接する列と比較すればよい。
【0074】
本装置においては、動き画像領域を自動的に検出することができる。また、その判断も数フレームで検出可能である。したがって、モニタ上で動画領域自体が動的に変動する場合であっても、ほぼリアルタイムで動画領域を検出できる。
【0075】
(2.第2の実施形態)
上記実施形態では、検出対象が1つの場合を例として説明した。第2実施形態では、決定した動き画像領域についてさらに、図3ステップS7の処理を繰り返すことにより、図14に示すような動き画像領域201〜207が複数存在する場合でも、動き画像領域を検出することができる。
【0076】
図3ステップS7の処理を一度行うと、図15に示すような、動き画像領域301〜304が決定される。領域207については閾値thw以上の幅を有しないとして動き画像領域としては検出されない。
【0077】
この状態では、動き領域301には、本来、動き画像領域でない領域も含まれている。かかる場合があるので、CPU23は、領域301〜304をそれぞれ全体の画像領域とみなして、再度、動き画像領域の検出を行う。これにより、例えば、領域301の場合、ブロック座標(y1,x1)(y3,x11)で定義される領域311と、ブロック座標(y1,x12)(y3,x13)で定義される領域312が検出される。他の領域302〜304についても同様である。
【0078】
領域311については、同様にして領域311を全体の画像領域とみなして再度、動き画像領域の検出を行う。これにより、ブロック座標(y1,x1)(y11,x11)で定義される領域が検出される。領域312についても同様である。
【0079】
かかる繰り返し検出は、それ以上分割できなくなるまで行ってもよいし、予め繰り返し検出の上限回数を決めておいてもよい。
【0080】
(3.第3の実施形態)
第1,第2の実施形態においては、ブロック単位で検出した後、外周の四辺を構成する単位ブロックについて、行方向であれば各行について代表値を求めて、隣接する行と異なる場合に、境界であると判断している。列方向についても同様である。かかる検出については、以下のように境界判断をすることもできる。図17を用いて説明する。
【0081】
CPU23は、上側ブロックのうち端部を除いたブロックを抽出する(図17ステップS100)。この場合、図13に示すブロック(4,3)〜(4,7)の計5つのブロックが抽出される。このように端部を除くのは、両端部のブロックには一部エッジがない可能性があるからである。ただし、かかる端部ブロックについても採用するようにしてもよい。
【0082】
CPU23は、処理行番号r、処理画素番号gを初期化し(図17ステップS101、S102)、行番号”0”の抽出したブロックのg番目の画素が横エッジ画素(行方向エッジ)であるか否か判断する(ステップS103)。横エッジ画素か否かについては隣接する画素との輝度差に基づいて決定すればよい。本実施形態においては、図18Aに示すようなフィルタおよび演算式を採用した。
【0083】
CPU23は、P番目の画素が横エッジ画素であると判断すると、総数Etをインクリメントする(図17ステップS105)。CPU23は1ライン全て終了したか否か判断し(ステップS107)、終了していなければ、処理画素番号gをインクリメントし(ステップS109)、ステップS103?ステップS107を繰り返す。
【0084】
CPU23は、1ラインの全画素について、横エッジか否か判断すると、そのラインにおける横エッジの総数Etがあらかじめ設定した閾値thsより大きいか否か判断する(ステップS111)。これは、動画領域内にも、輪郭として横エッジの画素は存在するので、それを排除するためである。CPU23は横エッジの総数Etが閾値thsより大きい場合には、それを境界とする(ステップS113)。これにより、横エッジの集合が閾値thsを超える境界を得ることができる。
【0085】
なお、閾値thsは固定閾値でもよいし、また、あらかじめ比率を設定しておき、検出した領域の大きさ(ブロック数)に応じて、計算するようにしてもよい。
【0086】
CPU23は、ステップS111にて、”NO"の場合は、全行終了したか否か判断する(ステップS113)。全行終了していなければ、CPU23は処理行番号rをインクリメントと、ステップS102〜ステップS111を繰り返す。
【0087】
このようにして、1画素単位で、境界を判断することができる。下部のブロックにおける1画素単位の境界についても同様である。
【0088】
左右の境界については、最右段および最左段に位置する単位ブロックについて、同様に、図18Bに示すフィルタおよび演算式を用いて、縦エッジ(列方向エッジ)を検出すればよい。
【0089】
本実施形態においては、縦エッジおよび横エッジの総数で境界判断を行っている。したがって、乱雑な背景上の動画領域であっても検出が可能である。また、検出精度向上、動画領域の揺れが低減する。
【0090】
本実施形態においては、境界を求める場合に、図11で求めたブロックのうち、端部を除いた全ブロックの画素を採用したが、さらにその一部で判断するようにしてもよい。
【0091】
本実施形態においては、閾値thsとの比較は1ラインの総計としたが、エッジ画素が所定数以上連続する場合に、境界であると判断するようにしてもよい。さらに、自然画においてもエッジ画像が存在する場合もある。したがって、一定数以上連続していないエッジについては、総数の計算から除去するようにしてもよい。
【0092】
本実施形態においては、前記矩形領域を決定し、その外周にあたるブロックについての1画素単位の境界を求める場合について適用したが、動き推定一般、さらに他の分野にも適用可能である。また、1画素単位でなく複数画素単位(例えば2*2画素単位)の境界を求めるようにしてもよい。
【0093】
本実施形態においては、エッジ画素を抽出して境界を決定するようにしたが、対象のブロック内の各画素について、異なるフレーム間で動きベクトルがある画素か否か判断し、動きベクトルが検出できる画素と、検出できない画素の境目が境界であると判断するようにしてもよい。
【0094】
なお、特定のフレームでは、動画領域と背景との間に輝度差がほとんどない場合もある。たとえば、図19Aに示すフレームtでは、背景と動画領域との境界部分に輝度差がほとんどない。このようなフレームで1のフレームだけでは境界検出ができないおそれがある。そこで、各フレームの境界を順次記憶しておき、あるフレームでは境界を検出できない場合、蓄積してる境界を採用するようにしてもよい。本実施形態においては、蓄積するフレーム数としては、十数フレーム分とした。
【0095】
本実施形態においては、あらかじめ、複数画素で構成されたブロック単位での検出(以下、荒処理という)を行う場合について説明したが、かかる処理なしに矩形の境界を判定することもできる。
【0096】
さらに、複数のフレームではなく、静止画における矩形の境界決定装置として適用可能である。
【0097】
(4.第4の実施形態)
上記で説明したフレーム間の画素情報に基づいて動画領域か否か判断すると、特定の矩形領域でテキストデータをスクロールする場合にも、誤って動画領域と判断するおそれがある。以下に示すように、スクロール判定を行い、スクロール処理である場合には、境界判断をしないようにしてもよい。
【0098】
テキストデータについては、横書きの場合、文字と文字の間に行間が存在する。すなわち、1ラインごとに見ていくと、文字が記載される領域にはエッジ画素が多数存在し、行間になると全くエッジ画素が存在しないという特質を有する。したがって、かかる特質が存在するかで、動画領域か否かを区別することができる。
【0099】
CPU23は、対象行番号Qおよび合致行数kを初期化し(図20ステップS121)、抽出したブロックのQ行目の総エッジ画素数Enqを計測する(ステップS123)。エッジ画素か否かについては周りの画素との輝度差に基づいて決定すればよい。
【0100】
CPU23は、総エッジ画素数Enqが閾値thmよりも大きいとともに、直前の総エッジ画素数En(q-1)が、閾値thnよりも小さいか否か判断する(ステップS125)。CPU23はステップS125での判断が”yes”である場合には、合致行数kをインクリメントする(ステップS127)。
【0101】
CPU23は、すべての行について判断済みか否かを判断する(ステップS131)。すべての行について判断済みでない場合には、CPU23は処理行番号Qをインクリメントし(ステップS133)、ステップS123?ステップS127を繰り返す。
【0102】
CPU23は、ステップS131にてすべての行について判断済みと判断すると、前記合致行数kが閾値thgよりも大きいか判断する(ステップS135)。合致行数kが閾値thgよりも大きい場合には、スクロールによる動きであると判断する(ステップS137)。
【0103】
かかるスクロール判定は、図3ステップS7とステップS9の間で行い、スクロール判定であると判断した場合には、ステップS9の処理を行わないようにすればよい。
【0104】
これにより、ブラウザ内の文字をスクロールして動かす場合に、その領域が動画と判定されることを防ぐことができる。
【0105】
なお、前記スクロール判定は、当該領域における全行でなく、一部の行で判断してもよい。
【0106】
本実施形態においては、テキストデータが横書きの場合について説明したが、縦書きであっても同様に判定可能である。なお、スクロール判定はこのやり方に限定されず、周知のスクロール判定であってもよい。
【0107】
また、動画領域判断におけるスクロール判定に適用した場合について説明したが、スクロール判定一般に適用可能である。
【0108】
また、スクロールでなくとも、特定領域がテキスト領域であるか否かが判定できる。この特定領域は動画領域検出による動画領域に限らず静止画・動画を問わず画像内の特定の領域であってもよい。
【0109】
(5.他の実施形態)
本実施形態においては、画素値として輝度値を採用したが、RGBの値などであってもよい。
【0110】
本実施形態においては、図5ステップS15において、第tフレームと第t+1フレームで動き画像領域を構成するブロックか否かを判断するようにしたが、時間的なズレがある複数のフレームであればこれに限定されず、例えば、第tフレームと第t+2フレーム間で動きがあるかを判断するようにしてもよい。また、2つのフレームで比較するのでなく、さらに前後フレームを加えて、例えば、16フレームを採用してもよい。
【0111】
本実施形態においては、図3ステップS9の境界線決定処理は任意であり、画素単位の境界線が不要な場合には行わなくてもよい。また,境界線決定処理においては、外周に位置する全ブロックについて1行全てまたは1列全ての画素値を全て用いたが、一部間引き処理、または代表値を採用することもできる。また、全てのブロックではなく、一部のブロックで判断するようにしてもよい。
【0112】
また、図5ステップS15のように、過去の同位置の代表値を保持しておき比較するようにしてもよい。
【0113】
本実施形態においては、1ブロックを32*32画素で構成したが、これに限定されない。
【0114】
画素の平均値やハッシュ値でなく、いずれかの画素の値それ自体(例えば当該ブロックの左上隅の画素値)を用いる場合、図3ステップS9の処理としては、その外周に1ブロック分、配置して、境界を求めるようにしてもよい。例えば、ステップS7の処理にて、7*5個のブロックを動き画像領域として検出した場合、その周りに1ブロック追加した9*7個のブロックで、ステップS9の処理を行う。
【0115】
本実施形態にかかる矩形動き画像領域決定装置を含むモニタまたはセットトップボックスとして構成することもできる。またこのセットトップボックスは、入力データの出力先モニタを切り替えるための切り替えハブとして構成してもよい。
【0116】
上記各実施形態においては、1画素精度の矩形動き画像領域の検出ができる。さらに、複数の矩形動き画像領域の判別も可能である。また、幅の小さな小領域動きの除去ができる。たとえばマウスポインタなど擬似動きの対策が可能である。また、画像内の動き領域、静止領域に対して、これらを区別できるので、最適な制御が可能である。
【0117】
上記実施形態においては、動き単位ブロックか否かの判断について、前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックに属する前記所定数の画素の画素値に基づいて、各単位ブロックの代表画素値を演算し、前記各単位ブロックについて、比較対象のフレームの同じ位置の単位ブロックの代表値と比較し、前記代表値が閾値を超える場合には、動きが存在する動き単位ブロックと判断するようにした。しかし、これに限定されず、各単位ブロックが動きが存在する動き単位ブロックか否かを判断できる手法を採用してもよい。たとえば、既に説明したように、所定数のフレームの同一ブロックの代表値を加算したもの同士の比較など、周知の動き単位ブロック判断ステップの採用が可能である。
【0118】
上記実施形態においては、図1に示す機能を実現するために、CPU23を用い、ソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路などのハードウェアによって実現してもよい。なお、プログラムの一部の処理を、オペレーティングシステム(OS)にさせるようにしてもよい。
【符号の説明】
【0119】
23 CPU
25 RAM
26 フラッシュメモリ
【技術分野】
【0001】
この発明は、動き画像領域の判定方法に関し、特に、矩形の動き画像領域判定に関する。
【背景技術】
【0002】
今日、入力された動画や静止画の信号を高解像度化して出力する技術が注目されている。例えば、表示領域のうち動画領域にのみ、解像度を上げる処理ができれば、粗い入力動画であっても、みやすく表示することができる。
【0003】
かかる動画領域が固定であれば手動で特定することもできるが、その場合でも、特定処理が煩雑である。まして、前記動画領域が移動する場合、前記手動特定では限界がある。
【0004】
動画領域の特定については種々の方法が提案されている。例えば、特許文献1には、ブロック単位での動き検出が開示されている。具体的には、前後フレームにおける同一画素の階調値を比較し、階調値が異なる場合には動画素と判断し、ブロック単位で、動画素の画素数割合を求め、これが閾値よりも大きい場合には、そのブロックは動画像のブロックと判断するというものである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11-007266号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上記特許文献1に開示された判定方法では、1画素毎の比較をした後、ブロックごとに画素数をカウントするので、1フレームの全画素についての比較が必要であり、実現コストや設計難易度が高くなる。
【0007】
この発明は、上記問題を解決し、簡易な構成で矩形動き画像領域を判定する判定方法またはその装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
(1)本発明にかかる矩形動き画像領域決定方法は、行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する矩形動き画像領域決定方法であって、前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが、動きが存在する動き単位ブロックであるか否か判断する動き単位ブロック判断ステップ、 前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定ステップ、前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定ステップ、前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定ステップ、前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とする第2矩形動き画像領域決定ステップを備えている。
【0009】
このように、前記単位ブロック毎に動き単位ブロックか否か判断し、前記動き行ブロックおよび動き列ブロックを決定し、その双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定することにより、動き画像領域を決定することができる。また、その領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とすることにより、より精密な動き画像領域を決定することができる。
【0010】
(2)本発明にかかる矩形動き画像領域決定方法は、前記第2矩形動き画像領域決定ステップでは、前記外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の行方向については、各行の代表画素値が異なる行を、列方向については各列の代表画素値が異なる列を、前記矩形動き画像領域の境界として決定する。したがって、行毎の代表画素値に基づいて境界を決定することができる。
【0011】
(3)本発明にかかる矩形動き画像領域決定方法は、前記第2矩形動き画像領域決定ステップでは、前記外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、異なるフレーム間で動きが存在する動き画素か否かを判断して、前記矩形動き画像領域の境界を決定する。したがって、各画素の動きベクトルに基づいて境界を決定することができる。
【0012】
(4)本発明にかかる矩形動き画像領域決定方法は、前記第2矩形動き画像領域決定ステップでは、前記外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、行方向エッジおよび列方向エッジを構成する画素を抽出し、各行についての行方向エッジを構成する画素の総数、各列について列方向エッジを構成する画素の総数に基づき前記矩形動き画像領域の境界を決定する。したがって行方向エッジおよび列方向エッジに基づいて境界を決定することができる。
【0013】
(5)本発明にかかる矩形動き画像領域決定方法は、前記第2矩形動き画像領域決定ステップの前に、決定した矩形動き画像領域がスクロールによってフレーム間で画像が異なるか否かを判定するスクロール該当判定をする。したがって、スクロールに該当するのかそうでないかを区別することができる。また、スクロールであると判断した場合には、前記第2矩形動き画像領域決定ステップを行わない。したがって、スクロールに該当する場合に迅速な判断が可能となる。
【0014】
(6)本発明にかかる矩形動き画像領域決定方法においては、前記スクロール該当判定は、決定した矩形動き画像領域の各画素について、周辺画素との画素値の差に基づいて、エッジであるか否かを判断し、前記エッジではない画素が行方向または列方向に所定数以上存在する行または列について、文字隙間存在領域として認識し、前記決定した矩形動き画像領域に対する前記文字隙間存在領域の割合に基づいてスクロール該当判定をする。したがって、文字を含む画像をスクロールしている場合を、確実に判断することができる。
【0015】
(7)本発明にかかる矩形動き画像領域決定方法においては、第1矩形動き画像領域決定ステップにて決定した矩形動き画像領域について、第2矩形動き画像領域決定ステップの前に、前記動き列ブロック決定ステップ、前記動き行ブロック決定ステップ、および前記第1矩形動き画像領域決定ステップを繰り返し実行する。したがって、検出する動き画像領域が複数ある場合でも、正確に検出が可能となる。
【0016】
(8)本発明にかかる矩形動き画像領域決定装置は、行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する矩形動き画像領域決定装置であって、1)前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが、動きが存在する動き単位ブロックと判断する動き単位ブロック判断手段、2)前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定手段、3)前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定手段、4)前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定手段、5)前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とする第2矩形動き画像領域決定手段を備えている。
【0017】
このように、前記単位ブロック毎に動き単位ブロックか否か判断し、前記動き行ブロックおよび動き列ブロックを決定し、その双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定することにより、動き画像領域を決定することができる。また、その領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とすることにより、より精密な動き画像領域を決定することができる。
【0018】
(9)本発明にかかる矩形動き画像領域決定装置においては、前記第2矩形動き画像領域決定手段は、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の行方向については、各行の代表画素値が異なる行を、列方向については各列の代表画素値が異なる列を、前記矩形動き画像領域の境界として決定する。したがって、行毎の代表画素値に基づいて境界を決定することができる。
【0019】
(10)本発明にかかる矩形動き画像領域決定装置においては、前記第2矩形動き画像領域決定手段は、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、異なるフレーム間で動きが存在する動き画素か否かを判断して、前記矩形動き画像領域の境界を決定する。したがって、各画素の動きベクトルに基づいて境界を決定することができる。
【0020】
(11)本発明にかかる矩形動き画像領域決定装置においては、前記第2矩形動き画像領域決定手段は、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、行方向および列方向エッジを構成する画素を抽出し、各行についての行方向の総数、各列について列方向エッジを構成する画素の総数に基づき前記矩形動き画像領域の境界を決定する。したがって行方向エッジおよび列方向エッジに基づいて境界を決定することができる。
【0021】
(12)本発明にかかる矩形動き画像領域決定装置は、前記第1矩形動き画像領域決定手段が決定した矩形動き画像領域について、前記動き列ブロック決定手段、前記動き行ブロック決定手段、および前記矩形動き画像領域決定手段による処理を繰り返し実行させる繰り返し手段、を備えている。したがって、検出する動き画像領域が複数ある場合でも、正確に検出が可能となる。
【0022】
(17)本発明にかかる矩形動き画像領域決定方法は、行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する矩形動き画像領域決定方法であって、前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが動きが存在する動き単位ブロックと判断する動き単位ブロック判断ステップ、前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定ステップ、前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定ステップ、前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定ステップ、を備えている。
【0023】
このように、前記単位ブロック毎に動き単位ブロックか否か判断し、前記動き行ブロックおよび動き列ブロックを決定し、その双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定することにより、動き画像領域を決定することができる。
【0024】
(18)本発明にかかる矩形動き画像領域決定方法は、前記第1矩形動き画像領域決定ステップでは、決定した矩形領域について、さらに、前記動き列ブロック決定ステップ、および前記動き行ブロック決定ステップ、繰り返し実行する。したがって、検出する動き画像領域が複数ある場合でも、正確に検出が可能となる。
【0025】
(19)本発明にかかるスクロール領域判定装置は、画面内の判定対象領域がスクロール領域か否かを判定するスクロール領域判定装置であって、前記判定対象領域の各画素について、周辺画素との画素値の差に基づいて、エッジであるか否かを判断するエッジ画素判断手段、同一行または同一列に、前記エッジではない画素が所定数以上存在する行または列を文字隙間存在領域として判断する文字隙間存在領域判断手段、前記判定対象領域に対する前記文字隙間存在領域の割合に基づいてスクロール領域か否かを判断するスクロール領域判断手段、を備えている。
【0026】
したがって、文字を含む画像をスクロールしている場合を、確実に判断することができる。
【0027】
(20)本発明にかかる境界決定装置は、1画面に存在する矩形領域の境界を決定する境界決定装置であって、判定対象画素における各画素の画素値に基づいて、エッジを構成する画素を判断するエッジ画素判断手段、行方向エッジを構成する画素を行方向エッジ画素として抽出し、前記行方向エッジの総数を各行について演算し、各行の前記行方向エッジの総数に基づいて、行方向の境界を決定する行方向境界決定手段、列方向エッジを構成する画素を列方向エッジ画素として抽出し、前記列方向エッジの総数を各列について演算し、各列の前記列方向エッジの総数に基づいて、列方向の境界を決定する列方向境界決定手段、前記決定した行方向境界および前記列方向境界を、前記矩形領域の境界として決定する矩形領域決定手段、を備えている。
【0028】
したがって行方向エッジおよび列方向エッジに基づいて境界を決定することができる
(21)本発明にかかる境界決定装置は、前記エッジ画素判断手段が判定対象とする画素を決定する手段であって、以下の手段を有する荒領域決定手段を備えている。
【0029】
1)行方向および列方向に画素が行列配置された表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが動きが存在する動き単位ブロックと判断する動き単位ブロック判断手段、
2)前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定手段、
3)前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定手段、
4)前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定手段、
5)前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックに属する画素を判定対象として決定する対象画素決定手段。
【0030】
したがって、より迅速に境界判断が可能である。
【0031】
なお、本明細書において「画素値」とは輝度値はもちろん、RGB値など画像情報を特定する為の数値は全て含む。また、「矩形動き画像領域」とは、複数のフレーム間で画素値が異なり、動き画像領域を構成する矩形領域をいう。
【0032】
「列ブロック」とは、単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合をいう。本実施形態においては、最上段に位置する1の単位ブロックを特定して、列ブロックを決定したが、結果的に当該最上段に位置する1の単位ブロックを含むのであれば、最上段以外の行から特定するようにしてもよい。「行ブロック」とは、前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合をいう。結果的に当該左端段に位置する1の単位ブロックを含むのであれば、特定の仕方は問わない。
【0033】
「第1矩形動き画像領域決定ステップ」、「第2矩形動き画像領域決定ステップ」は、実施形態では、動き画像領域決定処理(図3ステップS7)、境界決定処理(図3ステップS9)がそれぞれ該当する。
【0034】
また「列方向」とは各行が配置されている方向をいい、実施形態では、α方向をいう。「行方向エッジ」とは行方向に平行な方向にエッジをいい、「列方向エッジ」とは列方向に平行な方向にエッジをいう。
【図面の簡単な説明】
【0035】
【図1】矩形動き画像領域決定装置1の機能ブロック図である。
【図2】矩形動き画像領域決定装置1を、CPUを用いて構成した場合のハード構成の一例である。
【図3】全体のフローチャートである。
【図4】動き画像領域110〜112が存在する表示領域100を示す。
【図5】動きブロック決定処理のフローチャートである。
【図6】動きブロックを検出した結果を示す図である。
【図7】動き画像領域決定処理のフローチャートである。
【図8】動き列ブロックを示す図である。
【図9】動き画像領域決定処理のフローチャート(続き)である。
【図10】動き行ブロックを示す図である。
【図11】動き画像領域140を示す図である。
【図12】境界決定処理のフローチャートである。
【図13】1単位ブロック内の32*32画素を示す図である。
【図14】多数の動き画像領域が存在する表示領域200を示す。
【図15】検出された動き画像領域301〜304を示す。
【図16】動き画像領域301から検出される動き画像領域311、312を示す。
【図17】境界決定処理のフローチャートである。
【図18】エッジ画素判断に用いるフィルタと演算式である。
【図19】時間軸方向の履歴による境界判断の説明の為の動画例である。
【図20】スクロール判定処理のフローチャートである。
【発明を実施するための形態】
【0036】
以下、本発明における実施形態について、図面を参照して説明する。
【0037】
(1.1 機能ブロック)
図1に、本発明の1実施形態にかかる矩形動き画像領域決定装置1の機能ブロック図を示す。矩形動き画像領域決定装置1は、行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する装置であって、動き単位ブロック判断手段5、動き列ブロック決定手段7、動き行ブロック決定手段9、第1矩形動き画像領域決定手段11、繰り返し手段13、第2矩形動き画像領域決定手段14を備えている。
【0038】
動き単位ブロック判断手段5は、前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが動きが存在する動き単位ブロックと判断する。動き列ブロック決定手段7は、前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する。動き行ブロック決定手段9は、前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する。第1矩形動き画像領域決定手段11は、前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する。繰り返し手段13は、第1矩形動き画像領域決定手段11が決定した矩形動き画像領域について、動き列ブロック決定手段7、動き行ブロック決定手段9、および矩形動き画像領域決定手段11による処理を繰り返し実行させる。第2矩形動き画像領域決定手段14は、前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とする。
【0039】
(1.2 ハードウェア構成)
図2に矩形動き画像領域決定装置1のハードウェア構成を示す。矩形動き画像領域決定装置1は、CPU23、RAM25、フラッシュメモリ26を備えている。フラッシュメモリ26には、プログラム26pが記憶されている。プログラム26pには、後述するように、矩形動き画像領域決定処理を行う。RAM25は演算結果等を記憶する。フレームメモリ27は1画面の画像データを保持する。
【0040】
CPU23は、プログラム26Pに従い、メモリ27に記憶された表示領域を構成する画素値に基づき、動きの存在する画素で構成された動き画像領域か否かの判断を行い、結果をRAM25に記憶する。
【0041】
(1.3 フローチャートの説明)
図2に示すプログラム26Pによる処理について図3を用いて説明する。以下では、図4に示すように、モニタの1フレームである画像領域100に、3つの矩形動き画像領域100〜112が存在する場合を例として説明する。
【0042】
画像領域100は、行方向αと列方向βにマトリックス状に画素が配置されている。
【0043】
CPU23は、ブロック分割を行う(図3ステップS1)。本実施形態においては、32*32画素を1ブロックとして、図4に示す表示領域100を複数のブロックにマトリックス状に分割した。以下では、α方向にはn+1個、β方向にはm+1個のブロックに分割されたものとする。
【0044】
CPU23は全ブロックについて代表値を決定する(図3ステップS3)。代表値としては、1ブロック内の画素値の平均値、先頭の画素値、さらには当該値をそのまま用いるのではなく、CRCなどのハッシュ値を代表値としてもよい。また、平均値は、32*32*8bit画像では、18ビット長で表現可能であるが、上下の10ビットを切り捨てて、真ん中の8ビットのみ使用するというようにしてもよい。これにより、(n+1)*(m+1)個のブロック代表値がRAM25に記憶される。
【0045】
CPU23は、(n+1)*(m+1)個のブロックのうち、動きブロックを決定する(ステップS5)。動きブロック決定処理について図5を用いて説明する。
【0046】
CPU23は処理ブロック番号i,jを初期化する(図5ステップS11、S13)。ブロック(0,0)について前フレームの代表値と比較する(ステップS15)。本実施形態においては、時刻tと時刻t-1の代表値を比較した。CPU23は代表値の差分が閾値thbを超えるか否か判断し(ステップS17)、代表値の差分が閾値thbを越える場合は動きブロックと判断する(ステップS19)。一方、代表値の差分が閾値thbを越えない場合は非動きブロックと判断する(ステップS21)。
【0047】
CPU23は処理ブロック番号jが最終か否か判断する(ステップS23)。この場合、j=0で、最終でないので、処理ブロック番号jをインクリメントし(ステップS25)、ステップS15以下を繰り返す。ステップS23にて、処理ブロック番号jが最終であれば、ステップS27に進み、CPU23は、処理ブロック番号iが最終か否か判断する。この場合、最終でないので、処理ブロック番号iをインクリメントし(ステップS29)、ステップS13以下を繰り返す。ステップS27にて、処理ブロック番号iが最終であれば、処理を終了する。
【0048】
これにより、図6に示すように(n+1)*(m+1)個のブロックについて、動きブロックが決定される。この例では、ブロック(4,2)、(4,3)、(4,4)・・・が動きブロックとして決定されている。
【0049】
CPU23は、動き画像領域決定処理を行う(図3ステップS7)。動き画像領域決定処理の詳細について、図7,図9を用いて説明する。
【0050】
CPU23は、処理ブロック番号jを初期化する(図7ステップS31)。CPU23は、ブロック(0,0)が属する列のブロックに動きブロックが少なくとも1つ存在するか否か判断する(ステップS33)。この場合、図6に示すように、ブロック(0,0)およびその縦方向のブロック(1,0)〜(m,0)には、動きブロックが存在しないので、かかる列は、非動き列と判断する(図7ステップS37)。CPU23は、加算記憶された仮動き列があるかどうか判断する(ステップS39)。この場合、存在しないので、ステップS46に進み、処理ブロック番号jが最終か否か判断する。この場合、j=0で最終ではないので、処理ブロック番号jをインクリメントし(ステップS47)、ステップS33以下を繰り返す。
【0051】
処理ブロック番号j=2では、ブロック(0,2)の縦方向のブロックには、動きブロックが存在する。したがって、CPU23は、この列は仮動き列として加算記憶する(ステップS35)。
【0052】
CPU23は、処理ブロック番号jが最終か否か判断する(ステップS46)。この場合、j=2で最終ではないので、処理ブロック番号jをインクリメントし(ステップS47)、ステップS33以下を繰り返す。
【0053】
処理ブロック番号j=8まで、ステップS35の処理が繰り返される。処理ブロック番号j=9では、ブロック(0,9)の列には、動きブロックが存在しない。したがって、CPU23は、当該列を非動き列であると判断する(ステップS37)。CPU23は、加算記憶された仮動き列が存在するか否か判断し(ステップS39)、存在する場合には、隣接するそれらの集合が、閾値thwを超える幅を有するか否か判断する(ステップS41)。本実施形態においては、閾値thwを2ブロック以上とした。この場合、加算記憶された仮動き列がブロック(0,2)〜(0,8)まで存在するので、前記閾値thwを超えているので、仮動き列を動き列とする(ステップS45)。
【0054】
CPU23は、処理ブロック番号jが最終か否か判断する(ステップS46)。
【0055】
処理ブロック番号j=10では、ブロック(0,10)の列には、動きブロックが存在しない。したがって、CPU23は、当該列を非動き列であると判断する(ステップS37)。CPU23は、検出済みの仮動き列が存在するか否か判断し(ステップS39)、この場合、存在しないので、CPU23は、処理ブロック番号jが最終か否か判断する(ステップS46)。
【0056】
以下、j=n-7まで、非動き列と判断がなされる。処理ブロック番号j=n-6には、動きブロック(m-3,n-6)が存在する。したがって、CPU23は、仮動き列として加算記憶する(ステップS35)。
【0057】
処理ブロック番号j=n-5では、ブロック(0,n-5)の列には、動きブロックが存在しない。したがって、CPU23は、当該列を非動き列であると判断する(ステップS37)。CPU23は、検出済みの仮動き列が存在するか否か判断し(ステップS39)、存在する場合には、隣接するそれらの集合が、閾値thwを超える幅を有するか否か判断する(ステップS41)。本実施形態においては、閾値thwを2ブロック以上としたので、仮動き列の幅が前記閾値thwを超えていないので、仮動き列を非動き列とする(ステップS43)。これにより、マウスなどの画像領域を誤って動き画像領域として認定することを防止することができる。
【0058】
以下同様にして、行方向αについて、順次動きブロックが存在する列か否かを1列ずつ判断している。
【0059】
なお、最終列であるブロック(0,n)の列が仮動き列である場合もある。この場合、ステップS49にて、加算記憶された仮動き列が存在するか否か判断し、存在する場合には、ステップS41以下の処理を実行する。
【0060】
図8に、検出後の動き列を示す。この場合、領域121が動き列として決定される。これに対して、動きブロック(6,n-3),(m-3,n-6)が属する領域122,123は矢印α方向に、閾値thw以上の幅を有していないので、動き列としては決定されない。
【0061】
つぎに、CPU23は、処理ブロック番号iを初期化する(図9ステップS51)。CPU23は、ブロック(0,0)の行に動きブロックが少なくとも1つ存在するか否か判断する(ステップS53)。この場合、図6に示すように、ブロック(0,0)およびその横方向のブロック(0,1)〜(0,n)には、動きブロックが存在しないので、かかる行は、非動き行と判断する(ステップS57)。CPU23は、加算記憶された動き行があるかどうか判断する(ステップS59)。この場合、検出済みの動き行が存在しないので、ステップS66に進み、処理ブロック番号iが最終か否か判断する。この場合、i=0で、最終ではないので、処理ブロック番号iをインクリメントし(ステップS68)、ステップS53以下を繰り返す。
【0062】
処理ブロック番号i=4では、ブロック(4,0)の行には、動きブロックが存在する。したがって、CPU23は、この行を仮動き行として加算記憶する(ステップS55)。
【0063】
以下同様にして、i=8まで、ブロック(i,0)の行には動きブロックが存在する動き行であるとの判断がなされる。i=9にて、ブロック(i,0)の行には動きブロックが存在しないので、当該行は非動き行であると判断される(ステップS57)。CPU23は、加算記憶された動き行があるか否か判断する(ステップS59)。この場合、加算記憶された動き行があるので、それらの集合が、閾値thwを超える幅を有するか否か判断する(ステップS61)。本実施形態においては、閾値thwを2ブロック以上とした。この場合、検出済みの動き行がブロック(4,0)〜(8,0)まで存在するので、前記閾値thwを超えているので、仮動き行を動き行とする(ステップS65)。
【0064】
以下同様にして、列方向βについて、順次動きブロックが存在する列か否かを1行ずつ判断する。ステップS69の意義については、ステップS49と同じであるので説明は省略する。
【0065】
図10に検出後の動き行を示す。この場合、領域131が動き行として決定される。動きブロック(6,n-3)は、領域131に属している。これに対して、動きブロック(m-3,n-6)が属する領域132は、矢印β方向に閾値thw以上の幅を有していないので、動き行としては決定されない。
【0066】
CPU23は、動き列と動き行の双方に属するブロックを動き画像領域として決定する(図9ステップS70)。この場合、図11に示す領域121と領域131の重複する領域140に属するブロックが動き画像領域として決定される。図6の動きブロックと比較すると、動きブロック(6,n-3),(m-3,n-6)が排除される一方、ブロック(4,5)などが動き画像領域として決定されている。このようにして取りこぼしを周辺ブロックとの関係で防ぐことができる。
【0067】
CPU23は、境界決定処理を行う(図3ステップS9)。図11に示す領域140については、32*32画素で構成されたブロックにおける動き画像領域の境界が得られている。ステップS9の処理により、図13に示すように、1画素単位での動き画像領域の境界150を得ることができる。ステップS9の詳細について図12を用いて説明する。
【0068】
CPU23は、上側ブロックを抽出する(図12ステップS80)。この場合、図13に示すブロック(4,2)〜(4,8)の計7つのブロックが抽出される。CPU23は、処理行番号Pを初期化し(ステップS81)、抽出したブロックのP行目の画素を全て抽出するとともに、その代表値を演算する(ステップS83)。この場合、ブロック(4,2)の0行目の32画素、ブロック(4,3)の0行目の32画素・・・と7*32画素が抽出され、その代表値が演算される。本実施形態においては、代表値は抽出した画素の平均値とした。
【0069】
つぎにCPU23は、抽出したブロックの処理行番号P+1行目の画素を全て抽出するとともに、その代表値を演算する(ステップS85)。この場合、ブロック(4,2)の1行目の32画素、ブロック(4,3)の1行目の32画素・・・と7*32画素が抽出され、その代表値が演算される。
【0070】
CPU23は、ステップS83で求めた代表値とステップS85で求めた代表値が異なるか否か判断する(ステップS87)。ステップS87にて両者が異なる場合には、画素(P,0)の行が境界であると判断する(ステップS93)。ステップS87にて両者が異ならない場合には、処理行番号Pをインクリメントし(ステップS89)、抽出ブロックの最終画素(この場合、32画素)となるまでステップS83以下を繰り返す(ステップS91)。最終画素でもステップS87にて両者が異ならない場合は、抽出したブロックの端部が境界であると判断する(ステップS95)。
【0071】
図12においては、上部のブロックにおける1画素単位の境界を抽出する場合について説明したが、下部のブロックについても同様である。
【0072】
このように、外周のブロックについて、上部、下部であれば横方向に1行分画素を抽出して、その代表値を隣接する行と比較することにより、ブロック内における1画素単位の境界を取得することができる。
【0073】
なお、左右の境界については、縦方向に1列分画素を抽出して、その代表値を隣接する列と比較すればよい。
【0074】
本装置においては、動き画像領域を自動的に検出することができる。また、その判断も数フレームで検出可能である。したがって、モニタ上で動画領域自体が動的に変動する場合であっても、ほぼリアルタイムで動画領域を検出できる。
【0075】
(2.第2の実施形態)
上記実施形態では、検出対象が1つの場合を例として説明した。第2実施形態では、決定した動き画像領域についてさらに、図3ステップS7の処理を繰り返すことにより、図14に示すような動き画像領域201〜207が複数存在する場合でも、動き画像領域を検出することができる。
【0076】
図3ステップS7の処理を一度行うと、図15に示すような、動き画像領域301〜304が決定される。領域207については閾値thw以上の幅を有しないとして動き画像領域としては検出されない。
【0077】
この状態では、動き領域301には、本来、動き画像領域でない領域も含まれている。かかる場合があるので、CPU23は、領域301〜304をそれぞれ全体の画像領域とみなして、再度、動き画像領域の検出を行う。これにより、例えば、領域301の場合、ブロック座標(y1,x1)(y3,x11)で定義される領域311と、ブロック座標(y1,x12)(y3,x13)で定義される領域312が検出される。他の領域302〜304についても同様である。
【0078】
領域311については、同様にして領域311を全体の画像領域とみなして再度、動き画像領域の検出を行う。これにより、ブロック座標(y1,x1)(y11,x11)で定義される領域が検出される。領域312についても同様である。
【0079】
かかる繰り返し検出は、それ以上分割できなくなるまで行ってもよいし、予め繰り返し検出の上限回数を決めておいてもよい。
【0080】
(3.第3の実施形態)
第1,第2の実施形態においては、ブロック単位で検出した後、外周の四辺を構成する単位ブロックについて、行方向であれば各行について代表値を求めて、隣接する行と異なる場合に、境界であると判断している。列方向についても同様である。かかる検出については、以下のように境界判断をすることもできる。図17を用いて説明する。
【0081】
CPU23は、上側ブロックのうち端部を除いたブロックを抽出する(図17ステップS100)。この場合、図13に示すブロック(4,3)〜(4,7)の計5つのブロックが抽出される。このように端部を除くのは、両端部のブロックには一部エッジがない可能性があるからである。ただし、かかる端部ブロックについても採用するようにしてもよい。
【0082】
CPU23は、処理行番号r、処理画素番号gを初期化し(図17ステップS101、S102)、行番号”0”の抽出したブロックのg番目の画素が横エッジ画素(行方向エッジ)であるか否か判断する(ステップS103)。横エッジ画素か否かについては隣接する画素との輝度差に基づいて決定すればよい。本実施形態においては、図18Aに示すようなフィルタおよび演算式を採用した。
【0083】
CPU23は、P番目の画素が横エッジ画素であると判断すると、総数Etをインクリメントする(図17ステップS105)。CPU23は1ライン全て終了したか否か判断し(ステップS107)、終了していなければ、処理画素番号gをインクリメントし(ステップS109)、ステップS103?ステップS107を繰り返す。
【0084】
CPU23は、1ラインの全画素について、横エッジか否か判断すると、そのラインにおける横エッジの総数Etがあらかじめ設定した閾値thsより大きいか否か判断する(ステップS111)。これは、動画領域内にも、輪郭として横エッジの画素は存在するので、それを排除するためである。CPU23は横エッジの総数Etが閾値thsより大きい場合には、それを境界とする(ステップS113)。これにより、横エッジの集合が閾値thsを超える境界を得ることができる。
【0085】
なお、閾値thsは固定閾値でもよいし、また、あらかじめ比率を設定しておき、検出した領域の大きさ(ブロック数)に応じて、計算するようにしてもよい。
【0086】
CPU23は、ステップS111にて、”NO"の場合は、全行終了したか否か判断する(ステップS113)。全行終了していなければ、CPU23は処理行番号rをインクリメントと、ステップS102〜ステップS111を繰り返す。
【0087】
このようにして、1画素単位で、境界を判断することができる。下部のブロックにおける1画素単位の境界についても同様である。
【0088】
左右の境界については、最右段および最左段に位置する単位ブロックについて、同様に、図18Bに示すフィルタおよび演算式を用いて、縦エッジ(列方向エッジ)を検出すればよい。
【0089】
本実施形態においては、縦エッジおよび横エッジの総数で境界判断を行っている。したがって、乱雑な背景上の動画領域であっても検出が可能である。また、検出精度向上、動画領域の揺れが低減する。
【0090】
本実施形態においては、境界を求める場合に、図11で求めたブロックのうち、端部を除いた全ブロックの画素を採用したが、さらにその一部で判断するようにしてもよい。
【0091】
本実施形態においては、閾値thsとの比較は1ラインの総計としたが、エッジ画素が所定数以上連続する場合に、境界であると判断するようにしてもよい。さらに、自然画においてもエッジ画像が存在する場合もある。したがって、一定数以上連続していないエッジについては、総数の計算から除去するようにしてもよい。
【0092】
本実施形態においては、前記矩形領域を決定し、その外周にあたるブロックについての1画素単位の境界を求める場合について適用したが、動き推定一般、さらに他の分野にも適用可能である。また、1画素単位でなく複数画素単位(例えば2*2画素単位)の境界を求めるようにしてもよい。
【0093】
本実施形態においては、エッジ画素を抽出して境界を決定するようにしたが、対象のブロック内の各画素について、異なるフレーム間で動きベクトルがある画素か否か判断し、動きベクトルが検出できる画素と、検出できない画素の境目が境界であると判断するようにしてもよい。
【0094】
なお、特定のフレームでは、動画領域と背景との間に輝度差がほとんどない場合もある。たとえば、図19Aに示すフレームtでは、背景と動画領域との境界部分に輝度差がほとんどない。このようなフレームで1のフレームだけでは境界検出ができないおそれがある。そこで、各フレームの境界を順次記憶しておき、あるフレームでは境界を検出できない場合、蓄積してる境界を採用するようにしてもよい。本実施形態においては、蓄積するフレーム数としては、十数フレーム分とした。
【0095】
本実施形態においては、あらかじめ、複数画素で構成されたブロック単位での検出(以下、荒処理という)を行う場合について説明したが、かかる処理なしに矩形の境界を判定することもできる。
【0096】
さらに、複数のフレームではなく、静止画における矩形の境界決定装置として適用可能である。
【0097】
(4.第4の実施形態)
上記で説明したフレーム間の画素情報に基づいて動画領域か否か判断すると、特定の矩形領域でテキストデータをスクロールする場合にも、誤って動画領域と判断するおそれがある。以下に示すように、スクロール判定を行い、スクロール処理である場合には、境界判断をしないようにしてもよい。
【0098】
テキストデータについては、横書きの場合、文字と文字の間に行間が存在する。すなわち、1ラインごとに見ていくと、文字が記載される領域にはエッジ画素が多数存在し、行間になると全くエッジ画素が存在しないという特質を有する。したがって、かかる特質が存在するかで、動画領域か否かを区別することができる。
【0099】
CPU23は、対象行番号Qおよび合致行数kを初期化し(図20ステップS121)、抽出したブロックのQ行目の総エッジ画素数Enqを計測する(ステップS123)。エッジ画素か否かについては周りの画素との輝度差に基づいて決定すればよい。
【0100】
CPU23は、総エッジ画素数Enqが閾値thmよりも大きいとともに、直前の総エッジ画素数En(q-1)が、閾値thnよりも小さいか否か判断する(ステップS125)。CPU23はステップS125での判断が”yes”である場合には、合致行数kをインクリメントする(ステップS127)。
【0101】
CPU23は、すべての行について判断済みか否かを判断する(ステップS131)。すべての行について判断済みでない場合には、CPU23は処理行番号Qをインクリメントし(ステップS133)、ステップS123?ステップS127を繰り返す。
【0102】
CPU23は、ステップS131にてすべての行について判断済みと判断すると、前記合致行数kが閾値thgよりも大きいか判断する(ステップS135)。合致行数kが閾値thgよりも大きい場合には、スクロールによる動きであると判断する(ステップS137)。
【0103】
かかるスクロール判定は、図3ステップS7とステップS9の間で行い、スクロール判定であると判断した場合には、ステップS9の処理を行わないようにすればよい。
【0104】
これにより、ブラウザ内の文字をスクロールして動かす場合に、その領域が動画と判定されることを防ぐことができる。
【0105】
なお、前記スクロール判定は、当該領域における全行でなく、一部の行で判断してもよい。
【0106】
本実施形態においては、テキストデータが横書きの場合について説明したが、縦書きであっても同様に判定可能である。なお、スクロール判定はこのやり方に限定されず、周知のスクロール判定であってもよい。
【0107】
また、動画領域判断におけるスクロール判定に適用した場合について説明したが、スクロール判定一般に適用可能である。
【0108】
また、スクロールでなくとも、特定領域がテキスト領域であるか否かが判定できる。この特定領域は動画領域検出による動画領域に限らず静止画・動画を問わず画像内の特定の領域であってもよい。
【0109】
(5.他の実施形態)
本実施形態においては、画素値として輝度値を採用したが、RGBの値などであってもよい。
【0110】
本実施形態においては、図5ステップS15において、第tフレームと第t+1フレームで動き画像領域を構成するブロックか否かを判断するようにしたが、時間的なズレがある複数のフレームであればこれに限定されず、例えば、第tフレームと第t+2フレーム間で動きがあるかを判断するようにしてもよい。また、2つのフレームで比較するのでなく、さらに前後フレームを加えて、例えば、16フレームを採用してもよい。
【0111】
本実施形態においては、図3ステップS9の境界線決定処理は任意であり、画素単位の境界線が不要な場合には行わなくてもよい。また,境界線決定処理においては、外周に位置する全ブロックについて1行全てまたは1列全ての画素値を全て用いたが、一部間引き処理、または代表値を採用することもできる。また、全てのブロックではなく、一部のブロックで判断するようにしてもよい。
【0112】
また、図5ステップS15のように、過去の同位置の代表値を保持しておき比較するようにしてもよい。
【0113】
本実施形態においては、1ブロックを32*32画素で構成したが、これに限定されない。
【0114】
画素の平均値やハッシュ値でなく、いずれかの画素の値それ自体(例えば当該ブロックの左上隅の画素値)を用いる場合、図3ステップS9の処理としては、その外周に1ブロック分、配置して、境界を求めるようにしてもよい。例えば、ステップS7の処理にて、7*5個のブロックを動き画像領域として検出した場合、その周りに1ブロック追加した9*7個のブロックで、ステップS9の処理を行う。
【0115】
本実施形態にかかる矩形動き画像領域決定装置を含むモニタまたはセットトップボックスとして構成することもできる。またこのセットトップボックスは、入力データの出力先モニタを切り替えるための切り替えハブとして構成してもよい。
【0116】
上記各実施形態においては、1画素精度の矩形動き画像領域の検出ができる。さらに、複数の矩形動き画像領域の判別も可能である。また、幅の小さな小領域動きの除去ができる。たとえばマウスポインタなど擬似動きの対策が可能である。また、画像内の動き領域、静止領域に対して、これらを区別できるので、最適な制御が可能である。
【0117】
上記実施形態においては、動き単位ブロックか否かの判断について、前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックに属する前記所定数の画素の画素値に基づいて、各単位ブロックの代表画素値を演算し、前記各単位ブロックについて、比較対象のフレームの同じ位置の単位ブロックの代表値と比較し、前記代表値が閾値を超える場合には、動きが存在する動き単位ブロックと判断するようにした。しかし、これに限定されず、各単位ブロックが動きが存在する動き単位ブロックか否かを判断できる手法を採用してもよい。たとえば、既に説明したように、所定数のフレームの同一ブロックの代表値を加算したもの同士の比較など、周知の動き単位ブロック判断ステップの採用が可能である。
【0118】
上記実施形態においては、図1に示す機能を実現するために、CPU23を用い、ソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路などのハードウェアによって実現してもよい。なお、プログラムの一部の処理を、オペレーティングシステム(OS)にさせるようにしてもよい。
【符号の説明】
【0119】
23 CPU
25 RAM
26 フラッシュメモリ
【特許請求の範囲】
【請求項1】
行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する矩形動き画像領域決定方法であって、
前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが、動きが存在する動き単位ブロックであるか否か判断する動き単位ブロック判断ステップ、
前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定ステップ、
前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定ステップ、
前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定ステップ、
前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とする第2矩形動き画像領域決定ステップ、
を備えた矩形動き画像領域決定方法。
【請求項2】
請求項1の矩形動き画像領域決定方法において、
前記第2矩形動き画像領域決定ステップでは、前記外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の行方向については、各行の代表画素値が異なる行を、列方向については各列の代表画素値が異なる列を、前記矩形動き画像領域の境界として決定すること、
を特徴とする矩形動き画像領域決定方法。
【請求項3】
請求項1の矩形動き画像領域決定方法において、
前記第2矩形動き画像領域決定ステップでは、前記外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、異なるフレーム間で動きが存在する動き画素か否かを判断して、前記矩形動き画像領域の境界を決定すること、
を特徴とする矩形動き画像領域決定方法。
【請求項4】
請求項1の矩形動き画像領域決定方法において、
前記第2矩形動き画像領域決定ステップでは、
前記外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、行方向エッジおよび列方向エッジを構成する画素を抽出し、各行についての行方向エッジを構成する画素の総数、各列について列方向エッジを構成する画素の総数に基づき前記矩形動き画像領域の境界を決定すること、
を特徴とする矩形動き画像領域決定方法。
【請求項5】
請求項1〜4のいずれかの矩形動き画像領域決定方法において、
前記第2矩形動き画像領域決定ステップの前に、決定した矩形動き画像領域がスクロールによってフレーム間で画像が異なるか否かを判定するスクロール該当判定をし、スクロールであると判断した場合には、前記第2矩形動き画像領域決定ステップを行わないこと、
を特徴とする矩形動き画像領域決定方法。
【請求項6】
請求項5の矩形動き画像領域決定方法において、
前記スクロール該当判定は、
決定した矩形動き画像領域の各画素について、周辺画素との画素値の差に基づいて、エッジであるか否かを判断し、
前記エッジではない画素が行方向または列方向に所定数以上存在する行または列について、文字隙間存在領域として認識し、
前記決定した矩形動き画像領域に対する前記文字隙間存在領域の割合に基づいてスクロール該当判定をすること、
を特徴とする矩形動き画像領域決定方法。
【請求項7】
請求項1〜6のいずれかの矩形動き画像領域決定方法において、
前記第1矩形動き画像領域決定ステップにて決定した矩形動き画像領域について、第2矩形動き画像領域決定ステップの前に、
前記動き列ブロック決定ステップ、前記動き行ブロック決定ステップ、および前記第1矩形動き画像領域決定ステップを繰り返し実行すること、
を特徴とする矩形動き画像領域決定方法。
【請求項8】
行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する矩形動き画像領域決定装置であって、
前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが、動きが存在する動き単位ブロックであるか否か判断する動き単位ブロック判断手段、
前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定手段、
前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定手段、
前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定手段、
前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とする第2矩形動き画像領域決定手段、
を備えた矩形動き画像領域決定装置。
【請求項9】
請求項8の矩形動き画像領域決定装置において、
前記第2矩形動き画像領域決定手段は、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の行方向については、各行の代表画素値が異なる行を、列方向については各列の代表画素値が異なる列を、前記矩形動き画像領域の境界として決定すること、
を特徴とする矩形動き画像領域決定装置。
【請求項10】
請求項8の矩形動き画像領域決定装置において、
前記第2矩形動き画像領域決定手段は、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、異なるフレーム間で動きが存在する動き画素か否かを判断して、前記矩形動き画像領域の境界を決定すること、
を特徴とする矩形動き画像領域決定装置。
【請求項11】
請求項8の矩形動き画像領域決定装置において、
前記第2矩形動き画像領域決定手段は、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、行方向および列方向エッジを構成する画素を抽出し、各行についての行方向の総数、各列について列方向エッジを構成する画素の総数に基づき前記矩形動き画像領域の境界を決定すること、
を特徴とする矩形動き画像領域決定装置。
【請求項12】
請求項8〜11のいずれかの矩形動き画像領域決定装置において、
前記第1矩形動き画像領域決定手段が決定した矩形動き画像領域について、前記動き列ブロック決定手段、前記動き行ブロック決定手段、および前記矩形動き画像領域決定手段による処理を繰り返し実行させる繰り返し手段、
を備えたことを特徴とする矩形動き画像領域決定装置。
【請求項13】
請求項8〜12のいずれかの矩形動き画像領域決定装置を含むモニタ。
【請求項14】
請求項8〜12のいずれかの矩形動き画像領域決定装置を含むセットトップボックス。
【請求項15】
請求項14のセットトップボックスは、入力データの出力先モニタを切り替えるための切り替えハブであること、
を特徴とするもの。
【請求項16】
行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する矩形動き画像領域決定処理をコンピュータに実行させるためのプログラムであって、
前記コンピュータは下記手段として構成させる矩形動き画像領域決定プログラム。
前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが、動きが存在する動き単位ブロックであるか否か判断する動き単位ブロック判断ステップ、
前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定手段、
前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定手段、
前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定手段、
前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とする第2矩形動き画像領域決定手段。
【請求項17】
行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する矩形動き画像領域決定方法であって、
前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが、動きが存在する動き単位ブロックであるか否か判断する動き単位ブロック判断ステップ、
前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定ステップ、
前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定ステップ、
前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定ステップ、
を備えた矩形動き画像領域決定方法。
【請求項18】
請求項17の矩形動き画像領域決定方法において、
前記第1矩形動き画像領域決定ステップでは、決定した矩形領域について、さらに、
前記動き列ブロック決定ステップ、および前記動き行ブロック決定ステップ、繰り返し実行すること、
を特徴とする矩形動き画像領域決定方法。
【請求項19】
画面内の判定対象領域がスクロール領域か否かを判定するスクロール領域判定装置であって、
前記判定対象領域の各画素について、周辺画素との画素値の差に基づいて、エッジであるか否かを判断するエッジ画素判断手段、
同一行または同一列に、前記エッジではない画素が所定数以上存在する行または列を文字隙間存在領域として判断する文字隙間存在領域判断手段、
前記判定対象領域に対する前記文字隙間存在領域の割合に基づいてスクロール領域か否かを判断するスクロール領域判断手段、
を備えたことを特徴とするスクロール領域判定装置。
【請求項20】
1画面に存在する矩形領域の境界を決定する境界決定装置であって、
判定対象画素における各画素の画素値に基づいて、エッジを構成する画素を判断するエッジ画素判断手段、
行方向エッジを構成する画素を行方向エッジ画素として抽出し、前記行方向エッジの総数を各行について演算し、各行の前記行方向エッジの総数に基づいて、行方向の境界を決定する行方向境界決定手段、
列方向エッジを構成する画素を列方向エッジ画素として抽出し、前記列方向エッジの総数を各列について演算し、各列の前記列方向エッジの総数に基づいて、列方向の境界を決定する列方向境界決定手段、
前記決定した行方向境界および前記列方向境界を、前記矩形領域の境界として決定する矩形領域決定手段、
を備えたことを特徴とする境界決定装置。
【請求項21】
請求項20の境界決定装置であって、
前記エッジ画素判断手段が判定対象とする画素を決定する手段であって、以下の手段を有する荒領域決定手段を備えていること、
1)行方向および列方向に画素が行列配置された表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが動きが存在する動き単位ブロックと判断する動き単位ブロック判断手段、
2)前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定手段、
3)前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定手段、
4)前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定手段、
5)前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックに属する画素を判定対象として決定する対象画素決定手段、
を特徴とする境界決定装置。
【請求項1】
行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する矩形動き画像領域決定方法であって、
前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが、動きが存在する動き単位ブロックであるか否か判断する動き単位ブロック判断ステップ、
前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定ステップ、
前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定ステップ、
前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定ステップ、
前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とする第2矩形動き画像領域決定ステップ、
を備えた矩形動き画像領域決定方法。
【請求項2】
請求項1の矩形動き画像領域決定方法において、
前記第2矩形動き画像領域決定ステップでは、前記外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の行方向については、各行の代表画素値が異なる行を、列方向については各列の代表画素値が異なる列を、前記矩形動き画像領域の境界として決定すること、
を特徴とする矩形動き画像領域決定方法。
【請求項3】
請求項1の矩形動き画像領域決定方法において、
前記第2矩形動き画像領域決定ステップでは、前記外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、異なるフレーム間で動きが存在する動き画素か否かを判断して、前記矩形動き画像領域の境界を決定すること、
を特徴とする矩形動き画像領域決定方法。
【請求項4】
請求項1の矩形動き画像領域決定方法において、
前記第2矩形動き画像領域決定ステップでは、
前記外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、行方向エッジおよび列方向エッジを構成する画素を抽出し、各行についての行方向エッジを構成する画素の総数、各列について列方向エッジを構成する画素の総数に基づき前記矩形動き画像領域の境界を決定すること、
を特徴とする矩形動き画像領域決定方法。
【請求項5】
請求項1〜4のいずれかの矩形動き画像領域決定方法において、
前記第2矩形動き画像領域決定ステップの前に、決定した矩形動き画像領域がスクロールによってフレーム間で画像が異なるか否かを判定するスクロール該当判定をし、スクロールであると判断した場合には、前記第2矩形動き画像領域決定ステップを行わないこと、
を特徴とする矩形動き画像領域決定方法。
【請求項6】
請求項5の矩形動き画像領域決定方法において、
前記スクロール該当判定は、
決定した矩形動き画像領域の各画素について、周辺画素との画素値の差に基づいて、エッジであるか否かを判断し、
前記エッジではない画素が行方向または列方向に所定数以上存在する行または列について、文字隙間存在領域として認識し、
前記決定した矩形動き画像領域に対する前記文字隙間存在領域の割合に基づいてスクロール該当判定をすること、
を特徴とする矩形動き画像領域決定方法。
【請求項7】
請求項1〜6のいずれかの矩形動き画像領域決定方法において、
前記第1矩形動き画像領域決定ステップにて決定した矩形動き画像領域について、第2矩形動き画像領域決定ステップの前に、
前記動き列ブロック決定ステップ、前記動き行ブロック決定ステップ、および前記第1矩形動き画像領域決定ステップを繰り返し実行すること、
を特徴とする矩形動き画像領域決定方法。
【請求項8】
行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する矩形動き画像領域決定装置であって、
前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが、動きが存在する動き単位ブロックであるか否か判断する動き単位ブロック判断手段、
前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定手段、
前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定手段、
前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定手段、
前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とする第2矩形動き画像領域決定手段、
を備えた矩形動き画像領域決定装置。
【請求項9】
請求項8の矩形動き画像領域決定装置において、
前記第2矩形動き画像領域決定手段は、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の行方向については、各行の代表画素値が異なる行を、列方向については各列の代表画素値が異なる列を、前記矩形動き画像領域の境界として決定すること、
を特徴とする矩形動き画像領域決定装置。
【請求項10】
請求項8の矩形動き画像領域決定装置において、
前記第2矩形動き画像領域決定手段は、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、異なるフレーム間で動きが存在する動き画素か否かを判断して、前記矩形動き画像領域の境界を決定すること、
を特徴とする矩形動き画像領域決定装置。
【請求項11】
請求項8の矩形動き画像領域決定装置において、
前記第2矩形動き画像領域決定手段は、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素について、行方向および列方向エッジを構成する画素を抽出し、各行についての行方向の総数、各列について列方向エッジを構成する画素の総数に基づき前記矩形動き画像領域の境界を決定すること、
を特徴とする矩形動き画像領域決定装置。
【請求項12】
請求項8〜11のいずれかの矩形動き画像領域決定装置において、
前記第1矩形動き画像領域決定手段が決定した矩形動き画像領域について、前記動き列ブロック決定手段、前記動き行ブロック決定手段、および前記矩形動き画像領域決定手段による処理を繰り返し実行させる繰り返し手段、
を備えたことを特徴とする矩形動き画像領域決定装置。
【請求項13】
請求項8〜12のいずれかの矩形動き画像領域決定装置を含むモニタ。
【請求項14】
請求項8〜12のいずれかの矩形動き画像領域決定装置を含むセットトップボックス。
【請求項15】
請求項14のセットトップボックスは、入力データの出力先モニタを切り替えるための切り替えハブであること、
を特徴とするもの。
【請求項16】
行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する矩形動き画像領域決定処理をコンピュータに実行させるためのプログラムであって、
前記コンピュータは下記手段として構成させる矩形動き画像領域決定プログラム。
前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが、動きが存在する動き単位ブロックであるか否か判断する動き単位ブロック判断ステップ、
前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定手段、
前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定手段、
前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定手段、
前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックについて、これらの単位ブロック内の各画素に基づき、前記矩形動き画像領域内のエッジで定義される領域を前記矩形動き画像領域とする第2矩形動き画像領域決定手段。
【請求項17】
行方向および列方向に画素が行列配置された表示領域のうち、その一部に表示される矩形動き画像領域を決定する矩形動き画像領域決定方法であって、
前記表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが、動きが存在する動き単位ブロックであるか否か判断する動き単位ブロック判断ステップ、
前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定ステップ、
前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定ステップ、
前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定ステップ、
を備えた矩形動き画像領域決定方法。
【請求項18】
請求項17の矩形動き画像領域決定方法において、
前記第1矩形動き画像領域決定ステップでは、決定した矩形領域について、さらに、
前記動き列ブロック決定ステップ、および前記動き行ブロック決定ステップ、繰り返し実行すること、
を特徴とする矩形動き画像領域決定方法。
【請求項19】
画面内の判定対象領域がスクロール領域か否かを判定するスクロール領域判定装置であって、
前記判定対象領域の各画素について、周辺画素との画素値の差に基づいて、エッジであるか否かを判断するエッジ画素判断手段、
同一行または同一列に、前記エッジではない画素が所定数以上存在する行または列を文字隙間存在領域として判断する文字隙間存在領域判断手段、
前記判定対象領域に対する前記文字隙間存在領域の割合に基づいてスクロール領域か否かを判断するスクロール領域判断手段、
を備えたことを特徴とするスクロール領域判定装置。
【請求項20】
1画面に存在する矩形領域の境界を決定する境界決定装置であって、
判定対象画素における各画素の画素値に基づいて、エッジを構成する画素を判断するエッジ画素判断手段、
行方向エッジを構成する画素を行方向エッジ画素として抽出し、前記行方向エッジの総数を各行について演算し、各行の前記行方向エッジの総数に基づいて、行方向の境界を決定する行方向境界決定手段、
列方向エッジを構成する画素を列方向エッジ画素として抽出し、前記列方向エッジの総数を各列について演算し、各列の前記列方向エッジの総数に基づいて、列方向の境界を決定する列方向境界決定手段、
前記決定した行方向境界および前記列方向境界を、前記矩形領域の境界として決定する矩形領域決定手段、
を備えたことを特徴とする境界決定装置。
【請求項21】
請求項20の境界決定装置であって、
前記エッジ画素判断手段が判定対象とする画素を決定する手段であって、以下の手段を有する荒領域決定手段を備えていること、
1)行方向および列方向に画素が行列配置された表示領域を、所定数の画素で構成される単位ブロックに分割するとともに、各単位ブロックが動きが存在する動き単位ブロックと判断する動き単位ブロック判断手段、
2)前記単位ブロックのうち、最上段に位置する各単位ブロックと同じ列に属する単位ブロックの集合を列ブロックとして定義し、各列ブロックに少なくとも1以上の動き単位ブロックが存在する場合には当該列ブロックを動き列ブロックとして決定する動き列ブロック決定手段、
3)前記単位ブロックのうち、最左端段に位置する各単位ブロックと同じ行に属する単位ブロックの集合を行ブロックとして定義し、各行ブロックに少なくとも1以上の動き単位ブロックが存在する場合には、当該行ブロックを動き行ブロックとして決定する動き行ブロック決定手段、
4)前記動き行ブロックおよび前記動き列ブロックの双方に属する単位ブロックで特定される矩形領域を矩形動き画像領域として決定する第1矩形動き画像領域決定手段、
5)前記矩形動き画像領域を構成する単位ブロックの内、外周の四辺を構成する単位ブロックに属する画素を判定対象として決定する対象画素決定手段、
を特徴とする境界決定装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2013−20605(P2013−20605A)
【公開日】平成25年1月31日(2013.1.31)
【国際特許分類】
【出願番号】特願2012−16343(P2012−16343)
【出願日】平成24年1月30日(2012.1.30)
【分割の表示】特願2011−232571(P2011−232571)の分割
【原出願日】平成23年10月24日(2011.10.24)
【特許番号】特許第5006479号(P5006479)
【特許公報発行日】平成24年8月22日(2012.8.22)
【出願人】(391010116)株式会社ナナオ (160)
【Fターム(参考)】
【公開日】平成25年1月31日(2013.1.31)
【国際特許分類】
【出願日】平成24年1月30日(2012.1.30)
【分割の表示】特願2011−232571(P2011−232571)の分割
【原出願日】平成23年10月24日(2011.10.24)
【特許番号】特許第5006479号(P5006479)
【特許公報発行日】平成24年8月22日(2012.8.22)
【出願人】(391010116)株式会社ナナオ (160)
【Fターム(参考)】
[ Back to top ]