以下、この発明の実施の形態による文字表示領域検出装置について、この文字表示領域検出装置が例えば携帯電話等の携帯端末を構成する画像処理装置に組み込まれ、入力された映像信号に対して文字表示領域を検出し、検出された文字表示領域の文字の視認性が向上する画像処理加工を施した映像信号を出力する場合を例にして説明する。
実施の形態1.
図1は、この発明に係る文字表示領域検出装置の実施の形態1の構成が組み込まれた携帯端末を構成する画像処理装置の構成図である。画像処理装置1には、例えば地上デジタルテレビジョン放送におけるワンセグ放送の映像信号が入力される。画像処理装置1内に組み込まれたこの発明の文字表示領域検出装置の実施の形態1の構成である文字表示領域検出部10は、連続する所定の複数のフレームからなる映像信号から、その複数のフレームの期間だけ静止して画面に表示される文字情報の文字表示領域を検出し、その複数のフレームに対応する映像画面内における文字表示領域の位置情報を出力する。
次に、文字表示領域検出部10から出力された上記の複数のフレームに対応する文字表示領域の位置情報と画像処理装置1に入力された映像信号とが文字表示領域加工部20に入力される。文字表示領域加工部20は、入力された上記の複数のフレームに対応する文字表示領域の位置情報に基づいて、入力された上記の複数のフレームからなる映像信号の次の複数のフレームからなる映像信号に対して、フレーム単位で文字表示領域内の文字の視認性を向上させるための画像処理加工を施す。具体例としては、例えば、文字の色を文字の背景領域の色の略補色となるように変更することで、文字の視認性を著しく向上させることが可能である。また、文字とその背景領域とのコントラストが低い場合は、ラプラシンアンフィルタを利用して文字のエッジ強調を行うことで、文字の視認性の向上を図ることができる。文字表示領域加工部20で画像処理加工された映像信号は、画像処理装置1から文字表示領域加工済映像信号として出力される。
以上のように、画像処理装置1に入力されたワンセグ放送の映像信号に対して、連続する所定の複数のフレームからなる映像信号が文字表示領域検出部10に入力される毎に、次々と文字表示領域検出部10で検出されたその複数のフレームに対応する文字表示領域の位置情報が文字表示領域検出部10から出力され、文字表示領域加工部20に入力される。文字表示領域加工部20では、文字表示領域検出部10からその複数のフレームに対応する文字表示領域の位置情報が出力される毎に、その複数のフレームに対応する映像信号の次の複数のフレームの映像信号に対して、フレーム毎に文字表示領域内の文字の視認性を向上させるための画像処理加工が施され、次々と画像処理加工された映像信号が出力される。
図2は、この発明に係る文字表示領域検出装置の実施の形態1の構成である図1に示す文字表示領域検出部10の詳細構成図である。なお、図1と同一符号は同一又は相当部分を示すので説明を省略する。
図2において、文字表示領域検出部10には、連続する所定の複数のフレームからなる映像信号がフレーム単位で順次入力される。文字表示領域検出部10に入力されたフレーム単位の映像信号は、まず、フレーム信号抽出部101に入力され、映像信号からフレーム単位の輝度信号の画像データが抽出される。次に、抽出されたフレーム単位の輝度信号の画像データは、エッジ画像抽出部102に入力され、輝度信号からエッジ情報であるエッジ画像データが抽出される。エッジ画像データの抽出には、例えばSobelフィルタといった一般的なフィルタを用いて輝度勾配を算出する手法が適用できる。算出されたエッジ情報であるエッジ画像データは、この実施の形態の一例では、例えば8ビットでデジタル化されたデータであり、エッジ強度が大きいものほど値が大きく、画像表示すると白くなるものとする。逆に、エッジ強度の値が0の場合は、画像表示すると黒くなるものとする。
さらに、抽出されたエッジ情報であるフレーム単位のエッジ画像データは、静止エッジ画像取得部103に入力される。なお、Aバッファ108は、静止エッジ画像取得部103から出力された処理画像データを記憶する機能を有している。Aバッファ108に有効データが無ければ、静止エッジ画像取得部103は、エッジ画像抽出部102から入力されたエッジ画像データをそのままAバッファ108に出力する。Aバッファ108は、静止エッジ画像取得部103から出力されたエッジ画像データを記憶する。
ここで、Aバッファ108に記憶された処理画像データが有効データであるか、または、有効データで無いかの意味は、それぞれ、この処理画像データがこれから検出しようとする所定の複数のフレームに対応する文字表示領域の位置情報を得るための処理画像データであるか、それとも、既に文字表示領域の位置情報を出力した一つ前の所定の複数のフレームに対応する処理画像データないしは空データのいずれかであるかということである。
具体的に説明すると、文字表示領域検出部10が入力された映像信号に対して文字表示領域の検出を開始した時点では、Aバッファ108は空データとなっているため、Aバッファ108に記憶された処理画像データは有効データで無い。また、所定の複数のフレームに対応する文字表示領域の位置情報を出力した直後の時点においても、Aバッファ108に記憶された処理画像データは既に文字表示領域の位置情報を出力した一つ前の所定の複数のフレームに対応する処理画像データであるので、有効データで無い。以上の場合以外では、Aバッファ108には、これから検出しようとする所定の複数のフレームに対応する文字表示領域の位置情報を得るための処理画像データが記憶されているので、Aバッファ108に記憶された処理画像データは有効データである。
ところで、Aバッファ108に有効データがあれば、静止エッジ画像取得部103は、エッジ画像抽出部102から入力されたフレーム単位のエッジ画像データの値と既にAバッファ108に記憶されているフレーム単位の処理画像データの値とを画像画面内の互いに対応する各画素同士で大小比較する。その比較の結果、画像画面内の画素毎にエッジ画像データの値と処理画像データの値とのうちで小さい方の値を、それぞれの画素の値として、Aバッファ108の対応する各画素について置き換える。
文字表示領域検出部10には、所定の複数のフレームからなる映像信号が、順次フレーム単位で所定の複数のフレームの数だけ入力されるので、上記の画像画面内の互いに対応する各画素同士での大小比較と、Aバッファ108の対応する各画素についての置き換えは、所定の複数のフレームの数から1を引いた回数だけ繰り返される。
以上のようにして、連続する所定の複数のフレームに対応する、その複数のフレーム数のエッジ画像データのうちで、画素毎に最小となる値がAバッファ108に記憶される。その結果、エッジ画像データの画素毎の最小値をAバッファ108に残すことにより、Aバッファ108に記憶されたエッジ画像画面の各画素においては、動きのある物体のエッジ強度の値は残らず、文字列のようにほとんど動かない表示を構成する画素のエッジ強度の値があまり変わらずに比較的大きな値を維持することから、残ることとなる。そこで、以下では、Aバッファ108に残されたエッジ強度の最小値を有する画素から構成された画像データを静止エッジ画像データと呼ぶものとする。
次に、所定の複数のフレームの数から1を引いた回数だけ、大小比較と置き換えとが繰り替えされた後に、Aバッファ108に記憶された静止エッジ画像データは、2値化部104に入力される。2値化部104では、2値化処理により、所定の閾値α以上のエッジ強度を有する画素だけが”1”となり、所定の閾値α未満のエッジ強度を有する画素は”0”が割り当てられて、2値化エッジ画像データとして、Aバッファ108に出力される。なお、ここでは、所定の閾値αの値は、前もって設定されているものとする。所定の閾値αの設定にあたっては、例えば、文字情報が表示された実際のワンセグ放送の番組の映像信号を所定量サンプリングしておき、この映像信号を用いて所望の静止エッジのみが2値化されるように閾値αの値を最適化して設定すれば良い。また、2値化処理を正論理で割り当てるようにしたので、所定の閾値以上のエッジ強度を有する画素に”1”を割り当てたが、負論理で割り当てるようにしても良いのは言うまでも無い。
次に、文字判定部105では、Aバッファ108に記憶された2値化エッジ画像データが入力され、その2値化エッジ画像データが構成する2値化エッジ画像画面のデータ分布から、”1”が密集する領域を抽出し、文字表示領域と判定する。具体的な方法としては、一般的によく採用される多数決判定法が適用でき、例えば、この2値化エッジ画像画面を水平方向と垂直方向に関して4画素×4画素の画素ブロックに分割し、各画素ブロック内での”1”である画素数が所定の閾値β以上であるか否かにより、画素ブロック単位で判定を行うことができる。各画素ブロック内での”1”である画素数が所定の閾値βよりも大きいか等しい場合は、当該画素ブロックは文字を含むと判定し、当該画素ブロックを構成する全ての画素の値を、あらためて文字表示領域であることを示す”1”に置き換える。このようにして分割された全ての画素ブロックについて判定されて得られた文字表示領域の領域画像画面を構成する領域画像データは、Bバッファ109に出力される。Bバッファ109は、この領域画像画面を構成する領域画像データを記憶する。
なお、以上では、Bバッファ109に、静止エッジ画像画面の全ての画素に対応する領域画像データを保持するようにしたが、静止エッジ画像画面は画素ブロックに分割されているので、文字表示領域である(”1”)かないしは否(”0”)かを示す画素ブロック単位で代表させた画素ブロック単位のデータのみをBバッファ109に記憶させるようにしても良い。その場合は、Bバッファ109の記憶容量を少なくすることができる。
次に、Bバッファ109に記憶された領域画像データは、判定結果補正部106に入力される。判定結果補正部106では、画像画面に表示される有意な文字列は縦長ではなく横長の領域を占めることが多いことから、水平垂直の両方向に文字表示領域と判定された画素ブロックが連続しないような孤立画素ブロックを文字表示領域では無いとみなして除去したり、文字表示領域と判定された画素ブロックの並びに穴明きがあれば、その穴明きに相当する画素ブロックを文字表示領域とみなして穴埋めを行う。
具体的には、画像処理において一般的な膨張処理や収縮処理、さらにはラベリング処理といった手法を用いる。ラベリング処理を実施することにより、文字表示領域と判定された画素ブロックについて、各画素ブロックが連接しているものを1つの島と考え、島の個数及びそれらの占有面積を算出し、所定の面積よりも小さい島については文字表示領域では無いと判定することもできる。
判定結果補正部106で補正された補正後の領域画像データは、その補正結果がBバッファ109に記憶される。
次に、矩形整形部107では、Bバッファ109に記憶された補正後の領域画像データが入力されて、次段の文字表示領域加工部20での画像処理加工が実施しやすいように、補正後の領域画像データに対応する領域画像画面での文字表示領域を外周が最小となる矩形領域となるように例えば膨張処理を施して整形し、その位置情報を算出する。
具体的には、矩形整形部107では、Bバッファ109から入力された補正後の領域画像データの領域画像画面を走査し、判定結果補正部106で行われたラベリング処理の結果を用いて、同じラベルを付されている文字表示領域と判定された画素ブロックの島についてその水平垂直各方向の最大値及び最小値を検出することで、島の外周が最小となる矩形領域の位置情報を算出できる。ここで算出する文字表示領域の位置情報としては、文字表示領域の左上及び右下の画素ブロックアドレス情報、あるいは、画像画面の画素位置として変換済の画素アドレス情報である。
矩形整形部107で算出された文字表示領域の位置情報は、文字表示領域加工部20での画像処理加工に使用されるが、文字表示領域検出部10から所定の複数のフレームに対応する文字表示領域の位置情報が出力される毎に、その複数のフレームに対応する映像信号の次の複数のフレームの映像信号に対して、フレーム毎に文字表示領域内の文字の視認性を向上させるための画像処理加工が施され、次々と画像処理加工された映像信号が出力される。
従って、文字表示領域検出部10で検出された文字表示領域内の文字に対する画像処理加工は、その検出に使用された複数のフレームでは無く、時間的に後続する次の複数のフレームに対して施され反映されることとなる。この反映フレームの遅延時間は、所定の複数のフレームのフレーム数に依存する。例えば、携帯電話等の携帯端末で受信可能なワンセグ放送であれば、動作フレーム周波数が15fpsであるため、所定の複数のフレームのフレーム数が5フレームであるとすれば、反映されるまでの遅延時間は0.4秒程度である。ワンセグ放送のようなテレビジョン放送の番組で表示される文字表示は数秒間程度は継続して静止表示されるのが通常であり、その文字表示を判読する上では0.4秒程度の遅延時間は実用上問題とならない。
以上では、図1に示す画像処理装置1の構成、及び、図2に示す文字表示領域検出部10の構成を中心にして、この発明に係る文字表示領域検出装置の実施の形態1について説明したが、以下では、具体的に、連続する所定の複数のフレームの画像を用いて、この発明に係る文字表示領域検出装置の実施の形態1の構成である文字表示領域検出部10の動作を説明する。なお、ここでは、所定の複数のフレームのフレーム数が4つの場合を例に説明する。
図3は、文字表示領域検出部10のうちのフレーム信号抽出部101から2値化部104までの動作を説明するための画像説明図である。図3において、(a−1)、(a−2)、(a−3)、及び、(a−4)は、それぞれ順に、文字表示領域検出部10に入力された映像信号からフレーム信号抽出部101でフレーム単位で抽出された輝度信号に関する1フレーム目の画像、2フレーム目の画像、3フレーム目の画像、及び、4フレーム目の画像を示している。
図3の(a−1)、(a−2)、(a−3)、及び、(a−4)の4フレームの画像においては、サッカー選手、サッカーボール、三角形状のゴール、画面左上のスコアを示す文字表示、画面右上の「もじ5」なる文字表示が適宜見られる。具体的には、4フレームの画像のそれぞれにおいては、サッカー選手とサッカーボールの位置が移動している。また、画面左上のスコアを示す文字表示は、(a−1)のフレームと(a−2)のフレームとでは表示されているが、(a−3)のフレームと(a−4)のフレームとでは消えている。さらに、三角形状のゴールは、(a−1)のフレームと(a−2)フレームと(a−3)のフレームとでは静止しているが、(a−4)のフレームにおいて、右下から左上の斜め方向に三角形状の一辺に沿って移動している。以上に対して、画面右上の「もじ5」なる文字表示のみは、4フレームのそれぞれにおいて静止して表示されている。
フレーム信号抽出部101には、ワンセグ放送の映像信号がフレーム単位で順次入力されるが、フレーム信号抽出部101からは、まずは、図3の(a−1)の1フレーム目の画像が出力される。(a−1)の1フレーム目の画像は、エッジ画像抽出部102に入力され、図3の(b−1)の1フレーム目のエッジ画像がエッジ画像抽出部102から出力される。
次に、図3の(b−1)の1フレーム目のエッジ画像は、静止エッジ画像取得部103に入力される。その際、文字領域の検出を開始した時点であることからAバッファ108に有効データが無いので、静止エッジ画像取得部103は、(b−1)の1フレーム目のエッジ画像のデータをそのままAバッファ108に出力する。
フレーム信号抽出部101からは、さらに図3の(a−2)の2フレーム目の画像が出力される。(a−2)の2フレーム目の画像は、エッジ画像抽出部102に入力され、図3の(b−2)の2フレーム目のエッジ画像がエッジ画像抽出部102から出力される。
次に、図3の(b−2)の2フレーム目のエッジ画像は、静止エッジ画像取得部103に入力されるが、その際、Aバッファ108には既に(b−1)の1フレーム目のエッジ画像のデータが記憶されており、Aバッファ108には有効データがある。従って、静止エッジ画像取得部103は、エッジ画像抽出部102から入力された(b−2)の2フレーム目のエッジ画像のデータの値と既にAバッファ108に記憶されている(b−1)の1フレーム目のエッジ画像のデータの値とを画像画面内の互いに対応する各画素同士で大小比較する。その比較の結果、画像画面内の画素毎に小さい方の値を、それぞれの画素の値として、Aバッファ108の対応する各画素について置き換えた結果が、図3の(c−1)の比較結果画像である。(b−1)の1フレーム目のエッジ画像と(b−2)の2フレーム目のエッジ画像とではサッカー選手が移動しているので、(c−1)の比較結果画像においては、サッカー選手に対応する部分のみが消えている。
以下同様に、フレーム信号抽出部101からは、さらに図3の(a−3)の3フレーム目の画像が出力される。(a−3)の3フレーム目の画像は、エッジ画像抽出部102に入力され、図3の(b−3)の3フレーム目のエッジ画像がエッジ画像抽出部102から出力される。
次に、図3の(b−3)の3フレーム目のエッジ画像は、静止エッジ画像取得部103に入力されるが、Aバッファ108には既に(c−1)の比較結果画像が記憶されており、Aバッファ108には有効データがある。従って、静止エッジ画像取得部103は、エッジ画像抽出部102から入力された(b−3)の3フレーム目のエッジ画像のデータの値と既にAバッファ108に記憶されている(c−1)の比較結果画像のデータの値とを画像画面内の互いに対応する各画素同士で大小比較する。その比較の結果、画像画面内の画素毎に小さい方の値を、それぞれの画素の値として、Aバッファ108の対応する各画素について置き換えた結果が、図3の(c−2)の比較結果画像である。(b−2)の2フレーム目のエッジ画像と(b−3)の3フレーム目のエッジ画像とではさらにサッカーボールが移動するとともに、画面左上のスコアを示す文字表示が消えているので、(c−2)の比較結果画像においては、サッカーボールに対応する部分と画面左上のスコアを示す文字表示に対応する部分とが消えている。
以下同様に、フレーム信号抽出部101からは、さらに図3の(a−4)の4フレーム目の画像が出力される。(a−4)の4フレーム目の画像は、エッジ画像抽出部102に入力され、図3の(b−4)の4フレーム目のエッジ画像がエッジ画像抽出部102から出力される。
次に、図3の(b−4)の4フレーム目のエッジ画像は、静止エッジ画像取得部103に入力されるが、Aバッファ108には既に(c−2)の比較結果画像が記憶されており、Aバッファ108には有効データがある。従って、静止エッジ画像取得部103は、エッジ画像抽出部102から入力された(b−4)の4フレーム目のエッジ画像のデータの値と既にAバッファ108に記憶されている(c−2)の比較結果画像のデータの値とを画像画面内の互いに対応する各画素同士で大小比較する。その比較の結果、画像画面内の画素毎に小さい方の値を、それぞれの画素の値として、Aバッファ108の対応する各画素について置き換えた結果が、図3の(c−3)の比較結果画像である。(b−3)の3フレーム目のエッジ画像と(b−4)の4フレーム目のエッジ画像とではさらに三角形状のゴールが右下から左上の斜め方向に三角形状の一辺に沿って移動したので、(c−3)の比較結果画像においては、三角形状のゴールの大部分が消えている。なお、右下から左上の斜め方向の三角形状の一辺の一部が消えないで残っているのは、三角形状の辺に沿って移動したことから残った一辺の一部はみかけ上静止しているように判定されたためである。以上のように、4つのフレームに亘って、移動せずに静止していたエッジのみが(c−3)の比較結果画像に残ることとなる。
以上に説明したように、この実施の形態の一例では文字表示領域の検出に使用するフレーム数を4としたので、画像画面内の互いに対応する各画素同士での大小比較と、Aバッファ108の対応する各画素についての置き換えは、4から1を引いた回数である3回繰り返される。すなわち、1回目の(c−1)の比較結果画像の算出、2回目の(c−1)の比較結果画像の算出、及び、3回目の(c−3)の比較結果画像の算出が行われ、都合、3回の大小比較と置き換えが繰り返されている。
次に、図3の(c−3)の比較結果画像は、2値化部104に入力される。2値化部104では、所定の閾値α以上のエッジ強度を有する画素がだけが”1”となり、所定の閾値α未満のエッジ強度を有する画素は”0”となり、2値化部104からは図3の(d)の2値化エッジ画像が出力される。
図4は、文字表示領域検出部10のうちの文字判定部105から矩形整形部107までの動作を説明するための画像説明図である。ここで、図4(a)は、文字判定部105で分割された画素ブロック毎に文字表示領域であるか否かの判定が行われた領域画像である。図4(b)は、判定結果補正部106で文字表示領域の補正が為された補正後の領域画像である。図4(c)は、矩形整形部107で文字表示領域を外周が最小となる矩形領域となるように膨張処理を施して整形した矩形整形後の領域画像である。
図3の(d)の2値化エッジ画像は、Aバッファ108に記憶されているが、文字判定部105は、Aバッファ108から2値化エッジ画像を入力し、例えば、4画素×4画素の画素ブロックにこの2値化エッジ画像を分割する。次に、各画素ブロック内での”1”である画素数が所定の閾値βよりも大きいか等しい場合は、当該画素ブロックは文字を含むと判定し、当該画素ブロックを構成する全ての画素の値が、あらためて文字表示領域であることを示す”1”に置き換えられ、図4(a)に示す領域画像がBバッファ109に出力される。図4(a)の領域画像においては、画面右上の「もじ5」なる文字表示に対応する画素ブロックの複数箇所と、画面中央付近の右下から左上への斜辺に対応する互いに孤立した2つの画素ブロックとが、文字表示領域であると判定された領域を示している。
次に、Bバッファ109に記憶された領域画像のデータは、判定結果補正部106に入力される。判定結果補正部106では、文字表示領域と判定された画素ブロックが連続しないような孤立画素ブロックを文字表示領域では無いとみなすので、図4(a)の領域画像では存在していた画面中央付近の右下から左上への斜辺に対応する互いに孤立した2つの画素ブロックは削除される。図4(b)に示す領域画像は、判定結果補正部106で以上のような補正が為された補正後の領域画像である。図4(b)の領域画像においては、画面中央付近の右下から左上への斜辺に対応する互いに孤立した2つの画素ブロックが文字表示領域ではなくなっている。
判定結果補正部106から出力された補正後の領域画像は、Bバッファ109に記憶される。次に、矩形整形部107は、Bバッファ109に記憶された補正後の領域画像のデータを入力し、文字表示領域を外周が最小となる矩形領域となるように膨張処理を施して整形する。図4(c)は、画面右上の「もじ5」なる文字表示に対応する文字表示領域を矩形領域となるように膨張処理を施して整形された新たな文字表示領域の領域画像を示している。矩形整形部107は、当該領域画像に示された文字表示領域の位置情報として、具体的には、例えば、文字表示領域の左上及び右下の画素ブロックアドレス情報、あるいは、画像画面の画素位置として変換済の画素アドレス情報を出力する。
この発明に係る文字表示領域検出装置の実施の形態1の構成である文字表示領域検出部10は、以上のように構成されているので、文字が小さく文字数が少ない場合であっても、文字表示領域がコンパクトな構成で検出できるという効果がある。
また、以上では、連続する所定の複数のフレームの映像信号から文字表示領域を検出する場合について説明したが、所定の複数のフレームは連続していることは必須では無く、例えば、1フレーム飛ばしの所定の複数のフレームの映像信号から文字表示領域を検出するようにしても同様な効果が得られる。その場合は、検出された文字表示領域を用いて画像処理加工を施すことがフレームに反映されるまでの遅延時間が例えばワンセグ放送の場合には0.8秒程度と連続する場合の2倍となるが、文字表示を判読する上では0.8秒程度の遅延時間は実用上問題とならない範囲である。
また、この実施の形態1では、エッジ情報抽出部102での処理実行後に直接次段の静止エッジ画像取得部103へと入力するものとしたが、いったんメモリ等バッファに蓄積し、バッファから読み出して次段へと入力するような構成としても構わないし、いったんAバッファ108やBバッファ109に記憶する構成としている部分でも、直接次段に出力するような構成としてもかまわない。
またこの実施の形態1では、Aバッファ108とBバッファ109を別々に用意するような構成としているが、必要十分な容量のメモリを用意し、一つのメモリを共用するような構成としても構わない。
実施の形態2.
この発明に係る文字表示領域検出装置の実施の形態1の構成である文字表示領域検出部10では、Aバッファ108に残されたエッジ強度の最小値を有する画素から構成された静止エッジ画像データに対して、2値化部104で2値化処理を施す際に、所定の閾値αの値を前もって設定するようにした。しかし、テレビジョン放送の番組の文字情報の表示状態によっては、文字情報と背景画面とのコントラストが大きく変動する場合もあり、前もって設定した固定の閾値αでは、2値化処理を施す際に、検出すべき文字情報のエッジを欠落させてしまうことが起こり得る。そこで、静止エッジ画像データのヒストグラムを作成し、ヒストグラムの曲線に基づいて2値化処理に用いる閾値を固定とせず変動可能に設定するようにすれば、文字表示領域の検出精度を向上させることができる。さらに、静止エッジ画像データの画像画面を複数の領域に分割した上で、それぞれの領域毎にヒストグラムを作成し、それぞれの領域毎に2値化処理の閾値を決定するようにすれば、さらに文字表示領域の検出精度を向上させることが可能となる。
図5は、この発明に係る文字表示領域検出装置の実施の形態2の構成である文字表示領域検出部20の構成図である。なお、実施の形態2の文字表示領域検出部20は、実施の形態1の文字表示領域検出部10とは静止エッジ画像データの2値化処理が異なるだけである。実施の形態1の文字表示領域検出部10の2値化部104は、前もって設定した固定の閾値αを用いて2値化処理を行うのに対し、この実施の形態2の文字表示領域検出部20の2値化部204は、静止エッジ画像データのヒストグラムの曲線に基づいて変動可能に設定された閾値を用いて2値化処理を行うように構成されている。なお、図2と同一符号は同一又は相当部分を示すので説明を省略する。
図6は、実施の形態2の文字表示領域検出部20の2値化部204の構成を説明するための構成説明図である。2値化部204には、Aバッファ108に記憶された静止エッジ画像データが入力され、2値化処理が施されて、2値化エッジ画像データが出力される。
図6を用いて、2値化部204の構成と動作について以下に説明する。2値化部204に入力された静止エッジ画像データは、まず、領域分割部2041に入力されて、静止エッジ画像画面が複数の領域に分割される。
一般的にテレビジョン放送の番組の画面で表示される文字は、画面中央に配置されることは少なく、画面の4隅に配置されることが多く、例えばスポーツ中継であれば、中継している試合のスコアや他会場での試合結果といった文字表示が配置される。従って、画面の位置によっては、文字表示の有る領域と無い領域が生じる。文字表示の有る領域では、エッジ情報が密集することから、その近辺のエッジ情報の平均値は大きくなるが、文字表示の無い領域ではエッジ情報が少ないためエッジ情報の平均値も小さくなる。エッジ情報の平均値の大きい領域とエッジ情報の平均値の小さい領域とを画面全体に対して1つ設定された閾値で2値化処理を施すと、本来のエッジ情報が欠落したり、エッジで無かったところをエッジ情報と誤認識して、文字表示領域の検出精度が制約される恐れがある。そこで、静止エッジ画像画面を複数の領域に分割し、その領域毎に2値化処理に用いる閾値を設定するようにすれば、文字表示領域の検出精度の向上を図ることができる。
領域分割部2041で複数の領域に分割された静止エッジ画像データは、ヒストグラム作成部2042と平均値算出部2043とに入力される。
ヒストグラム作成部2042は、複数の領域に分割された静止エッジ画像データに基づいて複数の領域毎にヒストグラムを作成する。複数の領域毎のヒストグラムは移動平均算出部2044に入力され、ヒストグラムの曲線の変化がなだらかにされる。
一方、平均値算出部2043は、複数の領域に分割された静止エッジ画像データに基づいて複数の領域毎に平均値を算出する。
移動平均算出部2044でヒストグラムの曲線がなだらかとなった複数の領域毎のヒストグラムデータと平均値算出部2043で算出された複数の領域毎の平均値とが、変化点算出部2045に入力される。変化点算出部2045では、移動平均算出部2044から入力されたヒストグラムの曲線の変化点を算出する。
変化点算出部2045で算出された複数の領域毎の変化点のエッジ強度の値は、閾値Tn決定部2046に入力され、閾値Tn決定部2046では、このそれぞれの変化点のエッジ強度の値が2値化処理に用いる閾値Tn(nは領域符号でa,b,c,d・・・と分割した領域の個数だけある)であるとする。各々の領域において、変化点算出部2045が算出した変化点が複数存在する場合は、下限値に近い値を閾値Tnと設定し、変化点が無い場合は前もって設定しておいた固定値αを閾値Tnとして確定する。
次に、複数の領域に分割された静止エッジ画像データと閾値Tn決定部2046で決定された複数の領域毎の閾値Tnとが2値化処理部2047に入力され、複数の領域毎に、それぞれの分割された静止エッジ画像データに対してそれぞれの閾値Tnを用いて2値化処理が施され、複数の領域に亘って結合されて、画面全体についての2値化エッジ画像データとして出力される。
図7は、2値化部204の動作を詳細に説明するための画像説明図である。図7(a)は、テレビジョン放送の番組がスポーツ中継の場合を例として、文字情報が表示された野球中継の画面の静止エッジ画像の一例を示した画像画面図である。また、図7(b)は、図7(a)の画像画面を4つの領域7a、7b、7c、及び、7dに分割した場合の画像画面図である。なお、図7(a)及び図7(b)には、便宜上文字情報に関わる表示しか記載していないが、実際には映像情報が画面全体にある。
また、図8は、分割された静止エッジ画像の領域において、ヒストグラム作成部2042で作成され、移動平均算出部2044での処理によりなだらかとなったヒストグラムの例である。図8(a)は、図7(b)に示す領域7bのヒストグラムである。また、図8(b)は、図7(b)に示す領域7cのヒストグラムである。なお、図7では図示していないが、領域7a及び領域7dについても、ヒストグラム作成部2042でそれぞれのヒストグラムが作成される。
以下では、図7と図8を用いて、この発明に係る実施の形態2の文字表示領域検出部20のうち、図6に示す2値化部204の動作について詳細に説明する。
図7(a)に示す野球中継の画面の静止エッジ画像の一例では、画像画面の左上には中継されている野球のスコアを示す文字表示が、画像画面の中央下部には他球場での試合結果の文字表示がある。
図7(a)に示す静止エッジ画像のデータが、2値化部204の領域分割部2041に入力される。領域分割部2041では、入力された静止エッジ画像が図7(b)に示すように、領域7a、7b、7c、及び、7dの4つの領域に分割される。この例では、領域7bには文字情報が無く、領域7cと領域7dとにまたがって他球場での試合結果の文字表示がある。領域7aには、野球のスコアを示す文字表示がある。
次に、領域7a、7b、7c、及び、7dの4つの領域に分割された静止エッジ画像データは、ヒストグラム作成部2042と平均値算出部2043とに入力される。ヒストグラム作成部2042では、領域7a、7b、7c、及び、7dの4つの領域毎にヒストグラムが作成され、移動平均算出部2044でなだらかにするための移動平均処理が施される。図8(a)は、領域7bに対応した静止エッジ画像データについて作成され、移動平均処理が施されたヒストグラムの例で、横軸はエッジ強度であり、縦軸は画素数を表している。また、平均値算出部2043では、領域7a、7b、7c、及び、7dの4つの領域毎にそれぞれ静止エッジ画像の画素の値の平均値Va、Vb、Vc、及び、Vdが算出される。
次に、領域7a、7b、7c、及び、7dのそれぞれのヒストグラムデータと平均値Va、Vb、Vc、及び、Vdは、変化点算出部2045に入力される。
変化点算出部2045の変化点を算出する方法について、図8(a)に示す領域7bのヒストグラムと図8(b)に示す領域7cのヒストグラムを用いて説明する。
図8(a)において、エッジ強度が”255”のものからヒストグラムの分布に従って領域7bの画像画面の総画素数のうちの一定割合を占める画素数が含まれる範囲としてPb範囲8r1、Qb範囲8r2、Rb範囲8r3、および、Sb範囲8r4を決める。図8(a)において、エッジ強度は8ビットのデータで表され、0から255の整数となっている。Pb範囲8r1はエッジ強度がPbから255の範囲を意味し、Pbの値はPb範囲8r1の画素数が総画素数の16分の1となるように決められている。また、Qb範囲8r2はエッジ強度がQbから255の範囲を意味し、Qbの値はQb範囲8r2の画素数が総画素数の32分の1となるように決められている。同様に、Rb範囲8r3はエッジ強度がRbから255の範囲を意味し、Rbの値はRb範囲8r3の画素数が総画素数の64分の1となるように決められている。さらに、Sb範囲8r4はエッジ強度がSbから255の範囲のを意味し、Sbの値はSb範囲8r4の画素数が総画素数の128分の1となるように決められている。
図8(b)に示す領域7cの画像画面の総画素数のうちの一定割合を占める画素数が含まれる範囲である、Pc範囲8r5、Qc範囲8r6、Rc範囲8r7、及び、Sc範囲8r8についても、上記と同様にして決められている。
領域7a及び7dについても、領域7bと同様に範囲設定がされ、これらの範囲設定をまとめて表すと、Qnの値はQn範囲の画素数が総画素数の32分の1となるように決められ,Rn範囲はエッジ強度がRnから255の範囲を意味し、Rnの値はRn範囲の画素数が総画素数の64分の1となるように決められ、さらに、Sn範囲はエッジ強度がSnから255の範囲のを意味し、Snの値はSn範囲の画素数が総画素数の128分の1となるように決められている(nは領域符号でa,b,c,dと分割した領域の個数だけある)。
次に、図8(a)において、矢印8aは平均値算出部2043で算出された領域7bの静止エッジ画像データの平均値Vbの位置を示している。領域7bには文字表示が無いため、エッジが少なく、エッジ情報の平均値Vbの値も小さくなっている。また、図8(b)において、矢印8cは平均値算出部2043で算出された領域7cの静止エッジ画像データの平均値Vcの位置を示している。領域7cには他球場での試合結果の文字表示が有るため、エッジ情報が密集することから、エッジ情報の平均値Vcの値も領域7bの場合に比べると大きくなっている。
以上のもとで、図8(a)に示すヒストグラムについて、平均値算出部2043で算出された平均値Vbよりも大きく最も近い範囲はPb範囲8r1であることから、平均値VbからPb範囲8r1の下限値Pbまでの間に存在し、ヒストグラムの曲線の傾きが負からゼロを通って正へと変化する点を求める。この点が矢印8bで示す変化点である。すなわち、ヒストグラムの曲線の傾きが負からゼロを通って正へと変化する上で、ゼロとなる矢印8bの示す変化点はまさしくヒストグラムの曲線の極小をとる点である。
同様に、図8(b)に示すヒストグラムについて、平均値算出部2043で算出された平均値Vcよりも大きく最も近い範囲はPc範囲8r5であることから、平均値VcからPc範囲8r5の下限値Pcまでの間に存在し、ヒストグラムの曲線の極小をとる点を求める。この点が矢印8dで示す変化点である。
次に、閾値Tn決定部では、領域a、b、c、及び、dのそれぞれについて、変化点算出部2045で算出した変化点が複数存在する場合は、その中で一番小さい値を、変化点が無かった場合は前もって設定しておいた閾値αを、2値化処理に用いるそれぞれの領域の閾値Ta、Tb、Tc、及び、Tdとして決定する。
次に、2値化処理部2047では、領域a、b、c、及び、dに分割されたそれぞれの静止エッジ画像データに対して、それぞれの領域の閾値Ta、Tb、Tc、及び、Tdを用いて、それぞれの領域で分割された静止エッジ画像データが閾値Tn以上のものは”1”とし、閾値Tn未満のものは”0”とする、2値化処理を実行する。
以上のように、静止エッジ画像データのヒストグラムを作成し、ヒストグラムの曲線に基づいて2値化処理に用いる閾値を固定とせず変動可能に設定するようにしたので、文字表示領域の検出精度を著しく向上させることができる。
さらに、静止エッジ画像データの画像画面を複数の領域に分割した上で、それぞれの領域毎にヒストグラムを作成し、それぞれの領域毎に2値化処理の閾値を決定するようにしたので、領域のエッジ情報の密集度に応じて2値化処理の閾値を設定することができ、さらに文字表示領域の検出精度を向上させることが可能となる。
なお、領域分割部2041で入力された静止エッジ画像データを領域分割する際に、上記では、等分に4分割する場合について説明したが、テレビジョン放送の番組によっては文字表示の配置は様々であることから、特に等分に限る必要は無く、また、分割する領域数についても4分割に限られるわけでないことは言うまでも無い。
実施の形態3.
実施の形態1の文字判定部105でのブロック分割は、単純に2値化エッジ画像の画像画面のいずれかの画面隅から画素数の計数を開始し、固定サイズの画素ブロックに分割していた。しかしながら、文字が表示される位置によっては、例えば1つの文字が複数の画素ブロックにまたがって配置されことがあり、このような場合にはエッジ情報の密集度がその複数の画素ブロックに分散することになり、結果として文字と判定することが困難となる場合があり得る。そこで、Aバッファ108に記憶された2値化エッジ画像データが水平あるいは垂直あるいはその両方向で初めて"1"となる画素アドレスを画素ブロック分割の開始点とし、さらに、2値化エッジ画像データの垂直方向での連続性を分析して、最初に分析のために走査して取得した"1"が連続する長さ、あるいはいくつかの走査により得られた"1"が連続する長さの平均値を、垂直方向の画素ブロックのサイズとすることで、画素ブロックへの分割によるエッジ情報の密集度の分散を抑制することが可能となる。
図9は、この発明に係る文字表示領域検出装置の実施の形態3の構成である文字表示領域検出部30の構成図である。なお、実施の形態3の文字表示領域検出部30は、実施の形態1の文字表示領域検出部10とは文字表示領域の判定処理が異なるだけである。実施の形態1の文字表示領域検出部10の文字判定部105は、文字表示領域の判定処理において、2値化エッジ画像データを画素ブロックに分割するに際し、単純に2値化エッジ画像の画像画面のいずれかの画面隅から画素数の計数を開始し、固定サイズの画素ブロックに分割していたのに対し、この実施の形態3の文字表示領域検出部30の文字判定部205は、2値化エッジ画像データが水平あるいは垂直あるいはその両方向で初めて"1"となる画素の画素アドレスを画素ブロック分割の開始点とし、さらに、2値化エッジ画像データの垂直方向での連続性を分析して、最初に分析のために走査して取得した"1"が連続する長さ、あるいはいくつかの走査により得られた"1"が連続する長さの平均値を、垂直方向の画素ブロックのサイズとするように構成されている。
なお、図9に示す実施の形態3の文字表示領域検出部30において、実施の形態1の構成である2値化部104に代えて、実施の形態2の2値化部204であっても同様の効果が得られるのは言うまでも無い。
さらに、図9において、図2及び図5と同一符号は同一又は相当部分を示すので説明を省略する。
図10は、実施の形態3の文字表示領域検出部30の文字判定部305の構成を説明するための構成説明図である。文字判定部305には、Aバッファ108に記憶された2値化エッジ画像データが入力され、画素ブロック単位での文字表示領域を判定されて得られた領域画像データが出力される。
図10を用いて、文字判定部305の構成と動作について以下に説明する。文字判定部305に入力された2値化エッジ画像データは、ブロック分割開始位置決定部3051と垂直方向画素ブロックサイズ決定部3052とに、まず、入力される。
ブロック分割開始位置決定部3051では、入力される2値化エッジ画像データの画像画面において、2値化エッジ画像データが水平あるいは垂直あるいはその両方向で初めて"1"となる画素の画素アドレスを画素ブロック分割の開始位置として決定する。
また、垂直方向画素ブロックサイズ決定部3052では、入力される2値化エッジ画像データの画像画面を分割するに際し、2値化エッジ画像データの垂直方向での連続性を分析して、最初に分析のために走査して取得した"1"が連続する長さ、あるいはいくつかの走査により得られた"1"が連続する長さの平均値を、垂直方向の画素ブロックのサイズとして決定する。この時の画素ブロックのサイズは、必ずしも水平及び垂直方向ともに同じとする必要は無い。
次に、ブロック分割開始位置決定部3051で決定された画素ブロック分割の開始位置と垂直方向画素ブロックサイズ決定部3052で決定された画素ブロックのサイズが画素ブロック分割部3053に入力される。画素ブロック分割部3053では、入力された画素ブロック分割の開始位置と画素ブロックのサイズとに基づいて、2値化エッジ画像データの画像画面を画素ブロックに分割する。
多数決処理部3054では、画素ブロック分割部3053で分割された各々の画素ブロックに対して、それぞれの画素ブロック内での”1”である画素数が所定の閾値β以上であるか否かにより、画素ブロック単位で文字表示領域の判定を行う。各画素ブロック内での”1”である画素数が所定の閾値βよりも大きいか等しい場合は、当該画素ブロックは文字を含むと判定し、当該画素ブロックを構成する全ての画素の値を、あらためて文字表示領域であることを示す”1”に置き換える。このようにして分割された全ての画素ブロックについて判定されて得られた文字表示領域の領域画像画面を構成する領域画像データは、Bバッファ109に出力される。
図11は、文字判定部305の動作を詳細に説明するための画像説明図である。図11(a)は、文字表示を含む2値化エッジ画像の一例で、「もじ5」の文字表示が画面の右上にある。また、図11(b)は、実施の形態3の文字表示領域検出部30の文字判定部305において画素ブロック分割した場合の2値化エッジエッジ画像の一例を示す画像画面図である。
図11(a)に示す2値化エッジ画像の一例においては、「文字5」の文字表示は、画素ブロックb11〜b14の4つの画素ブロックと画素ブロックc11〜c14の4つの画素ブロックとの合計8つの画素ブロックにまたがっている。このような場合には、エッジ情報の密集度が8つの画素ブロックに分散することとなるので、結果として、文字領域として判定するのが困難となる場合がある。
そこで、実施の形態3の文字表示領域検出部30の文字判定部305において画素ブロック分割する際に、図11(b)に示す2値化エッジ画像の画素ブロックの分割位置とその画面の右上の「もじ5」の文字表示との配置関係からわかるように、ブロック分割開始位置決定部3051が決定した画素ブロック分割の開始位置と垂直方向画素ブロックサイズ決定部3052が決定した画素ブロックのサイズを用いて分割されるので、エッジ情報の密集度の分散を抑制することができる。
以上により、実施の形態3の文字表示領域検出部30の文字判定部305では、画素ブロック分割をエッジ情報の密集度に従って適応的に変更するので、文字表示が含まれる画素ブロックの文字表示領域の判定において、判定漏れを削減でき、文字表示領域の検出精度の向上を図ることができる。
実施の形態4.
実施の形態1の判定結果補正部106では、文字判定部105で文字表示領域の判定が実施され、Bバッファ109に記憶された領域画像データを入力し、文字表示領域と判定された画素ブロックについてラベリング処理を行い、水平垂直の両方向に文字表示領域と判定された画素ブロックが連続しないような孤立画素ブロックを文字表示領域では無いとみなして除去したり、文字表示領域と判定された画素ブロックの並びに穴明きがあれば、その穴明きに相当する画素ブロックを文字表示領域とみなして穴埋めを行う。さらに、矩形整形部107では、判定結果補正部106から出力され、Bバッファ109に記憶された補正後の領域画像データを入力し、文字表示領域を外周が最小となる矩形領域となるように膨張処理を施して整形するようにしている。その際、矩形整形部107では、Bバッファ109から入力された補正後の領域画像データの領域画像画面を走査し、判定結果補正部106で行われたラベリング処理の結果を用いて、同じラベルを付されている文字表示領域と判定された画素ブロックの島についてその水平垂直各方向の最大値及び最小値を検出することで、島の外周が最小となる矩形領域の位置情報を算出するようにしている。しかし、一般に、ラベリング処理は演算に時間がかかり、また、回路規模が大きくなるといった難点がある。そこで、文字判定部105で文字表示領域の判定が実施され、Bバッファ109に記憶された領域画像データを補正するに際し、ラベリング処理を使用しないようにするとともに、文字表示領域を外周が最小となる矩形領域となるように膨張処理を施して整形する際にラベリング処理の結果を用いないで済めば、文字表示領域検出の処理時間を短縮できるとともに、回路規模が大きくならないという効果がある。
図12は、この発明に係る文字表示領域検出装置の実施の形態4の構成である文字表示領域検出部40の構成図である。なお、実施の形態4の文字表示領域検出部40は、実施の形態1の文字表示領域検出部10とは、文字判定部105で得られた領域画像データの補正処理と補正後の領域画像データに含まれる文字表示領域を島の外周が最小となる矩形領域とする整形処理とが異なる。実施の形態1の文字表示領域検出部10では、判定結果補正部106での補正処理においてラベリング処理を用い、矩形整形部107での整形処理において判定結果補正部106で行われたラベリング処理の結果を用いるようにしているのに対し、この実施の形態4の文字表示領域検出部40では、判定結果補正部406ではラベリング処理を用いず、その結果、矩形整形部407ではラベリング処理の結果が不要となるように構成されている。
この実施の形態4の文字表示領域検出部40の判定結果補正部406では、文字表示領域の判定が実施され、Bバッファ109に記憶された領域画像データに対して、膨張処理や収縮処理を行なうが、ラベリング処理は行わない点が、実施の形態1の文字表示領域検出部10の判定結果補正部106と異なる。従って、補正後の領域画像データにおいては、各画素ブロック毎に文字表示領域か否かの判定が為されているだけであり、文字表示領域と判定された画素ブロックの数はわかるが、文字表示領域と判定された領域がいくつあるのかはわからない。このような状態で実施可能な矩形整形処理が必要となる。
図13は、実施の形態4の文字表示領域検出部40の矩形整形部407の構成を説明するための構成説明図である。矩形整形部407には、判定結果補正部406からBバッファ109に出力され、Bバッファ109に記憶された補正後の領域画像データが入力される。
図13を用いて、矩形整形部407の構成と動作について以下に説明する。矩形整形部407に入力された補正後の領域画像データは、ブロック領域分割部4071に入力される。テレビジョン放送の番組の映像画面に配置される文字表示は、画面内の4隅に多く、かつ、文字表示領域の数は各隅に最大1つ程度である番組が多い。そこで、画面を例えば4つに分割し、各領域に1つの文字表示領域があると想定して、外周が最小となる矩形領域の位置情報を算出する。
次に、ブロック領域分割部4071で分割された補正後の領域画像について、有効データ検出部4072は、補正後の領域画像の画素ブロックの値を走査し、文字表示領域と判定された画素ブロック(以下では有効ブロックと呼ぶものとする。)の位置情報を検出する。
次に、有効ブロックの位置情報は、最大最小位置算出部4073に入力され、分割された領域内の走査がすべて完了した時点で、検出された有効ブロックの位置情報の水平垂直各方向での最大値と最小値とを算出する。ここで算出された位置情報の最大値と最小値とが有効ブロックの矩形領域の左上及び右下の位置情報に相当する。この矩形領域の左上及び右下の位置情報は、画素ブロックが集合して形成された1つの文字表示領域の位置情報と考えることができる。以上のようにして、この矩形整形部407は、ラベリング処理を用いることなく、矩形の文字表示領域の位置情報を算出することができる。
図14は、矩形整形部407の動作を詳細に説明するための画像説明図である。図14(a)は、ブロック領域分割部4071で、補正後の領域画像データの画像画面を例えば4つの領域に分割した画像画面の一例である。また、図14(b)は、図14(a)の分割された補正後の領域画像のデータに対して、有効データ検出部4072での有効ブロックの位置情報を検出する方法と最大最小位置算出部4073での矩形の文字表示領域の位置情報を算出する方法とを説明するための画像画面の一例である。
図14(a)に示すように、矩形整形部407に入力された補正後の領域画像データの画像画面は、ブロック領域分割部4071で領域12a、12b、12c、及び、12dに4分割される。
有効データ検出部4072では、図14(b)に示すように、領域12a、12b、12c、及び、12dのそれぞれに対して、画素ブロックの値を走査し、有効ブロックの位置情報が検出される。例えば、図14(b)の領域12aの矢印が示すように横方向に画素ブロックの値が順次走査される。
次に、領域12a、12b、12c、及び、12dのすべての走査が完了した時点で、検出された有効ブロックの位置情報の水平垂直方向での最大値及び最小値が算出される。例えば、図14(b)の領域12aにおいては、有効ブロックの矩形領域Raの水平垂直方向での最大値及び最小値は、この有効ブロックの矩形領域Raの左上及び右下の位置情報に相当する。すなわち、この矩形領域Raの左上及び右下の位置情報が、領域12a内の文字表示領域の位置情報である。
図14(b)に示す領域12aにおいては、文字表示領域は領域12a内に収まって存在するが、例えば、図14(b)の画像画面の下側にある文字表示領域のように、文字表示領域が例えば2つの領域12cと領域12dに分断される場合がある。その場合には、各々の領域での最大値及び最小値の算出が完了した時点で、算出された図14(b)に示された矩形領域Rc及び矩形領域Rdの位置情報から、矩形領域Rc及び矩形領域Rdが分割境界に接しているか否かを判断する。図14(b)によれば、矩形領域Rcと矩形領域Rdとは、領域12cと領域12dの分割境界で接しているので、矩形領域Rcと矩形領域Rdとを連結した矩形領域の左上及び右下の位置情報が、1つの文字表示領域の位置情報と考えることができる。
実施の形態4の文字表示領域検出部40の判定結果補正部406及び矩形整形部407は、以上のように構成されているので、ラベリング処理が不要となり、文字表示領域検出の処理時間を短縮できるとともに、回路規模が大きくならないという効果がある。