(57)【特許請求の範囲】
【請求項１】
画像を複数の領域に区分し、各領域別に第一の閾値以上の高輝度の画素数および第二の閾値以上の輝度値の差があるエッジ数を計数し、前記画素数が第三の閾値以上であり且つ前記エッジ数が第三の閾値以上の領域を字幕有りの領域と判別し、字幕有りの領域数を行方向および列方向に投影し、行方向に投影したときの字幕有りの領域数の最大値または列方向に投影したときの字幕有りの領域数の最大値が第四の閾値以上のときに画像中に字幕が有ると判定することを特徴とする字幕検出方法。
【請求項２】
請求項１に記載の字幕検出方法において、少なくとも過去２フレーム以上連続して同一場所に存在した高輝度の画素数およびエッジ数を計数することを特徴とする字幕検出方法。
【請求項３】
請求項１または請求項２に記載の字幕検出方法において、水平方向の輝度差が第二の閾値以上のエッジと、垂直方向の輝度差が第二の閾値以上のエッジとを計数することを特徴とする字幕検出方法。
【請求項４】
請求項１から請求項３のいずれかに記載の字幕検出方法において、行方向に投影したときの字幕有りの領域数の最大値が、列方向に投影したときの字幕有りの領域数の最大値より大きい場合は、字幕が横書きであると判定し、そうでない場合は字幕が縦書きであると判定することを特徴とする字幕検出方法。
【請求項５】
請求項１から請求項４のいずれかに記載の字幕検出方法において、字幕有りと判定した画像の中から代表画像を選択することを特徴とする字幕検出方法。
【請求項６】
請求項５に記載の字幕検出方法において、字幕有りと判定した画像が時間的に連続するフレームであるとき、そのうちの一つのフレームの画像のみを代表画像として選択することを特徴とする字幕検出方法。
【請求項７】
請求項５または請求項６に記載の字幕検出方法において、抽出した各代表画像を縮小して画面に並べて表示することを特徴とする字幕検出方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、字幕検出方法に関し、さらに詳しくは、画像中に字幕が有るか否かを判定する字幕検出方法に関する。
【０００２】
【従来の技術】
字幕検出方法については、次の従来技術がある。
特開平５−１３７０６６号公報には、ビデオ信号のエッジ成分を抽出してカラオケビデオ中の字幕部分と背景部分とを識別する技術が開示されている。
また、「大相撲対戦からの認識に基づく内容識別法、第４４回情報処理学会全国大会予稿集、２−３０１」には、画面を左部分と右部分とに分割し、左部分に縦書きされている字幕と右部分に縦書きされている字幕とから対戦力士を認識する技術が開示されている。
【０００３】
動画像の代表画像抽出装置については、次の従来技術がある。
特開平５−２４４４７５号公報では、フレーム間差分に基づいて画像の変化点を求め、その変化点を与える画像を代表画像として抽出する技術が提案されている。
【０００４】
その他の関連する従来技術として、特開平３−２７３３６３号公報，特開平３−２９２５７２号公報に開示の技術がある。
【０００５】
【発明が解決しようとする課題】
上記特開平５−１３７０６６号公報に開示の字幕検出方法は、字幕が横書きであることが前提であり、縦書きの字幕には対応できない。すなわち、カラオケビデオには対応できても、一般の画像には対応できない問題点がある。
また、上記「大相撲対戦からの認識に基づく内容識別法、第４４回情報処理学会全国大会予稿集、２−３０１」に開示の従来技術は、画面の左部分と右部分とに字幕がそれぞれ縦書きされていることが前提であり、やはり一般の画像には対応できない問題点がある。
そこで、本発明の第１の目的は、字幕の表示態様が任意である一般の画像に対して字幕が有るか否かを判定することが出来る字幕検出方法を提供することにある。
【０００６】
また、上記特開平５−２４４４７５号公報に開示の動画像の代表画像抽出装置では、画像の変化のみに着目して代表画像を抽出しているため、画像自体の変化は少ない場合には、必要な代表画像を抽出できない問題点がある。例えば、アナウンサーが複数のニュースを次々に読み上げているような画像の場合、画像自体の変化が少なく，字幕のみが変化するため、ニュースごとに代表画像を抽出することが出来ないことがある。
そこで、本発明の第２の目的は、字幕を検出し、その結果に基づいて代表画像を抽出することが出来る字幕検出方法を提供することにある。
【０００７】
【課題を解決するための手段】
【０００８】
第１の観点では、本発明は、画像を複数の領域に区分し、各領域別に第一の閾値以上の高輝度の画素数および第二の閾値以上の輝度値の差があるエッジ数を計数し、前記画素数が第三の閾値以上であり且つ前記エッジ数が第三の閾値以上の領域を字幕有りの領域と判別し、字幕有りの領域数を行方向および列方向に投影し、行方向に投影したときの字幕有りの領域数の最大値または列方向に投影したときの字幕有りの領域数の最大値が第四の閾値以上のときに画像中に字幕が有ると判定することを特徴とする字幕検出方法を提供する。
【０００９】
第２の観点では、本発明は、上記構成の字幕検出方法において、少なくとも過去２フレーム以上連続して同一場所に存在した高輝度の画素数およびエッジ数を計数することを特徴とする字幕検出方法を提供する。
【００１０】
第３の観点では、本発明は、上記構成の字幕検出方法において、水平方向の輝度差が第二の閾値以上のエッジと、垂直方向の輝度差が第二の閾値以上のエッジとを計数することを特徴とする字幕検出方法を提供する。
【００１１】
第４の観点では、本発明は、上記構成の字幕検出方法において、行方向に投影したときの字幕有りの領域数の最大値が、列方向に投影したときの字幕有りの領域数の最大値より大きい場合は、字幕が横書きであると判定し、そうでない場合は字幕が縦書きであると判定することを特徴とする字幕検出方法を提供する。
【００１２】
第５の観点では、本発明は、上記構成の字幕検出方法において、字幕有りと判定した画像の中から代表画像を選択することを特徴とする字幕検出方法を提供する。
【００１４】
第６の観点では、本発明は、上記構成の字幕検出方法において、字幕有りと判定した画像が時間的に連続するフレームであるとき、そのうちの一つのフレームの画像のみを代表画像として選択することを特徴とする字幕検出方法を提供する。
【００１５】
第７の観点では、本発明は、上記構成の字幕検出方法において、抽出した各代表画像を縮小して画面に並べて表示することを特徴とする字幕検出方法を提供する。
【００１６】
【作用】
上記第１の観点による字幕検出方法では、画像を複数の領域に区分し、各領域別に字幕の特徴量を算出し、それらの特徴量により各領域が字幕有りの領域か否かを判別する。そして、字幕有りの領域数を行方向および列方向に投影し、その投影結果に基づいて画像中に字幕が有るか否かを判定する。
これによれば、区分した領域別に字幕の有無を判別しているので、字幕の文字数が画面全体で少ない場合であっても、字幕の検出が可能である。また、字幕有りの領域数を行方向および列方向に投影し、その投影結果に基づいて画像中に字幕が有るか否かを判定しているので、字幕が横書きでも縦書きでも対応でき、字幕の表示位置の制限もない。従って、字幕の表示態様が任意である一般の画像に対して字幕が有るか否かを判定することが出来る。
【００１７】
さらに、上記第１の観点による字幕検出方法では、画像を複数の領域に区分し、各領域別に第一の閾値以上の高輝度の画素数および第二の閾値以上の輝度値の差があるエッジ数を計数し、前記画素数が第三の閾値以上であり且つ前記エッジ数が第三の閾値以上の領域を字幕有りの領域と判別する。そして、字幕有りの領域数を行方向および列方向に投影し、行方向に投影したときの字幕有りの領域数の最大値または列方向に投影したときの字幕有りの領域数の最大値が第四の閾値以上のときに画像中に字幕が有ると判定する。
これによれば、上記の作用に加えて、高輝度の画素数を計数しているので、背景よりも高輝度の画素で構成される文字を好適に判別できる。また、強エッジのエッジ数を計数しているので、背景よりもエッジの出現頻度の高い文字を好適に判別できる。そして、高輝度の画素数と強エッジのエッジ数を両方により領域に字幕が有るか無いかを判別しているので、高精度に判別できる。
【００１８】
上記第２の観点による字幕検出方法では、少なくとも過去２フレーム以上連続して同一場所に存在した高輝度の画素数およびエッジ数を計数する。
動画像では、背景の画素は変化しやすいが、字幕は視聴者が読み終るまで一定時間変化させずに表示される。そこで、過去のフレームと比較することにより、字幕にかかる画素やエッジを高精度に検出できる。
【００１９】
上記第３の観点による字幕検出方法では、水平方向の輝度差が第二の閾値以上のエッジと、垂直方向の輝度差が第二の閾値以上のエッジとを計数する。
例えば、窓のブラインドのような背景では、エッジが高頻度に出現する。しかし、水平方向のエッジまたは垂直方向のエッジの一方しか現われないので、両方を考慮することにより、窓のブラインドのような背景のエッジは計数されなくなり、誤判定を防止できる。
【００２０】
上記第４の観点による字幕検出方法では、行方向に投影したときの字幕有りの領域数の最大値が、列方向に投影したときの字幕有りの領域数の最大値より大きい場合は、字幕が横書きであると判定し、そうでない場合は字幕が縦書きであると判定する。
これにより、字幕の書式を検出できるようになる。
【００２１】
上記第５の観点による字幕検出方法では、字幕有りと判定した画像の中から代表画像を選択する。
このように字幕の有る画像を検出し、その中から代表画像を抽出するので、画像自体の変化が少なく，字幕のみが変化する動画像でも、代表画像を適切に抽出することが出来る。
【００２３】
上記第６の観点による字幕検出方法では、字幕有りと判定した画像が時間的に連続するとき、そのうちの一つのフレームの画像のみを代表画像として選択する。
これにより、例えば字幕の代り目の画像を抽出することが出来る。
【００２４】
上記第７の観点による字幕検出方法では、抽出した各代表画像を縮小して画面に並べて表示する。
これにより、複数の代表画像を一覧できるようになり、ユーザは簡単に所望のシーンを探し出すことが出来る。
【００２５】
【実施例】
以下、図を参照して本発明を詳細に説明する。なお、これにより本発明が限定されるものではない。
【００２６】
図１は、本発明の字幕検出方法を実施する動画像の代表画像抽出装置のシステム構成図である。
この動画像の代表画像抽出装置１０００において、ビデオ再生装置９は、動画像を再生するための光ディスクやビデオデッキ等の装置である。ビデオ再生装置９が扱う動画像の各フレームには、動画像の先頭から順にフレーム番号がつけられており、このフレーム番号がコンピュータ３から制御信号１０によってビデオ再生装置に送られることで、該当フレームの動画像が再生され、映像信号Ｖがビデオ入力装置１１へ出力される。
ビデオ入力装置１１は、前記映像信号Ｖをデジタル画像データ１２に変換し、コンピュータ３に送る。
【００２７】
コンピュータ３は、インターフェース６を介して、前記デジタル画像データ１２を取り込み、メモリ５に格納しているプログラムに従ってＣＰＵ４で処理する。メモリ５には、各種のデータが格納され、必要に応じて参照される。また、処理の必要に応じて、各種情報が外部記憶装置１３に蓄積される。
コンピュータ３に対する命令は、マウス等のポインティングデバイス７やキーボード８を使って行うことが出来る。
ＣＲＴ等のディスプレイ装置１はコンピュータ３の出力画面を表示し、スピーカ２はコンピュータ３の出力音声を発生する。
【００２８】
図２は、ディスプレイ装置１に表示する画面例である。
領域５０には、デジタル画像データ１２に基づく動画像を表示する。
領域６０には、本システムを制御するボタンと本システムの動作状況を表示する。開始ボタン６１は、代表画像抽出処理の実行開始を行なうボタンである。停止ボタン６２は、代表画像抽出処理の実行停止を行なうボタンである。ボタンを押す操作は、ユーザがポインティングデバイス７を操作してカーソル８０をボタン上に位置合わせし、クリックすることで行なう。検出画面数表示６３は、実行開始から現在までに抽出した代表画像の個数である。開始時間表示６４は、代表画像抽出処理の実行開始時刻である。
【００２９】
領域７０には、抽出したｍ個の代表画像を縮小して表示する（図２では、ｍ＝６）。すなわち、動画像のフレームに字幕が存在すると、そのフレームの画像を代表画像として抽出し、適切な大きさに縮小して領域７０に表示する。また、当該代表画像の抽出時間を合わせて表示する。抽出した代表画像が領域７０の表示可能数ｍを越えた場合には、自動スクロールし、最新のｍ個の代表画像だけを表示する。なお、ユーザがスクロールボタン７１，７３を押したり，スクロールバー７２をドラッグすることで、スクロールアウトした代表画像を表示させることが出来る。
【００３０】
図３は、代表画像抽出処理の機能ブロック図である。
動画像入力部１００は、デジタル画像データ１２をメモリ５に取り込み、ディスプレイ装置１の領域５０に動画像を表示する。
特徴抽出部１５０の領域別輝度計数部２００は、動画像の各フレームの画面を複数の領域に区分したときの各領域内の第一の閾値以上の高輝度の画素を検出し、それら画素数を出力する。
特徴抽出部１５０の領域別エッジ計数部３００は、動画像の各フレームの画面を複数の領域に区分したときの各領域内の第二の閾値以上のエッジを検出し、それらエッジ数を出力する。
字幕判定部４００は、前記画素数および前記エッジ数が第三の閾値以上の領域を字幕有りの領域と判別し、字幕有りの領域数を行方向および列方向に投影し、行方向に投影したときの字幕有りの領域数の最大値または列方向に投影したときの字幕有りの領域数の最大値が第四の閾値以上のときに、当該フレームの画像中に字幕が有ると判定する。
代表画像作成部５００は、字幕有りと判定したフレームの画像を縮小して代表画像としてメモリ５に記憶する。
表示部６００は、複数の縮小代表画像と抽出時刻をディスプレイ装置１の領域７０に並べて表示する。
【００３１】
図４は、メモリ５に記憶されるプログラムとデータの構成図である。
プログラム５−１は、代表画像抽出処理のプログラムである。このプログラム５−１は、以下のデータ５−２〜データ５−２７を参照する。
【００３２】
代表画像構造体５−２は、代表画像と付属データ（抽出時刻など）を格納する構造体である（図５に詳細を示す）。この代表画像構造体５−２は、抽出結果として蓄積するデータである。
【００３３】
闘値１（５−３）は、高輝度の画素を検出するための第一の閾値である。
闘値２（５−４）は、強エッジを検出するための第二の閾値である。
闘値３（５−５）は、字幕有りの区分領域を判別するための第三の閾値である。
閾値４（５−６）は、字幕が有るフレームを検出するための第四の閾値である。
上記闘値１（５−３），闘値２（５−４），闘値３（５−５）および閾値４（５−６）は、予め設定しておくデータである。
【００３４】
以下のデータ５−７〜データ５−２７は、１回あたりの処理に利用するワーク用データである。
画像データ５−７は、現在の処理対象のフレームのデジタル画像データであり、［２４０］×［３２０］個（＝画面の画素数：図１８参照）の配列データである。各配列は、赤画像データ５−７−１，緑画像データ５−７−２，青画像データ５−７−３の３種類の色成分データからなっている。
輝度データ５−８は、高輝度の画素の検出結果を示す［２４０］×［３２０］個の配列データである。
横エッジデータ５−９は、画面の横方向の輝度差が大きい画素（強エッジの画素）の検出結果を示す［２４０］×［３２０］個の配列データである。
縦エッジデータ５−１０は、画面の縦方向の輝度差が大きい画素（強エッジの画素）の検出結果を示す［２４０］×［３２０］個の配列データである。
【００３５】
前フレーム輝度データ５−１１は、現在の処理対象のフレームの前フレームの輝度データ（５−８）である。
前フレーム横エッジデータ５−１２は、現在の処理対象のフレームの前フレームの横エッジデータ（５−９）である。
前フレーム縦エッジデータ５−１３は、現在の処理対象のフレームの前フレームの縦エッジデータ（５−１０）である。
【００３６】
輝度照合データ５−１４は、前記輝度データ５−８と前記前フレーム輝度データ５−１１の両方が高輝度の画素を格納した［２４０］×［３２０］個の配列データである。
横エッジ照合データ５−１５は、前記横エッジデータ５−９と前記前フレーム横エッジデータ５−１２の両方が強エッジの画素を格納した［２４０］×［３２０］個の配列データである。
縦エッジ照合データ５−１６は、前記縦エッジデータ５−１０と前記前フレーム縦エッジデータ５−１３の両方が強エッジの画素を格納した［２４０］×［３２０］個の配列データである。
【００３７】
輝度領域データ５−１７は、領域ごとに前記輝度照合データ５−１４の高輝度の画素数を計数した結果を格納した配列データである。これは、［１０］×［１６］個（＝領域数：図１８参照）の配列データである。なお、本実施例では、画面を［１０］×［１６］の領域に区分しているが、１つの領域に字幕の文字が１つ入る程度のサイズに区分するのが好ましい。
横エッジ領域データ５−１８は、領域ごとに前記横エッジ照合データ５−１５の強エッジの画素数（エッジ数）を計数した結果を格納した［１０］×［１６］個の配列データである。
縦エッジ領域データ５−１９は、領域ごとに前記縦エッジ照合データ５−１６の強エッジの画素数（エッジ数）を計数した結果を格納した［１０］×［１６］個の配列データである。
上記輝度データ５−８〜縦エッジ領域データ５−１９は、前記特徴抽出部１５０が作成するデータである。
【００３８】
字幕領域データ５−２０は、領域ごとに字幕の有無の判別結果を格納した［１０］×［１６］個の配列データである。
字幕付属データ５−２１は、字幕が有るときの字幕の位置および方向のデータである。
行カウントデータ５−２２は、行ごとに字幕有りの領域の個数を格納した［１０］個の配列データである。
最大行カウントデータ５−２３は、前記行カウントデータ５−２２の配列データのうちの最大値を格納したデータである。
最大行位置データ５−２４は、前記行カウントデータ５−２２の配列データのうちの最大値に対応する行の行番号を格納したデータである。
列カウントデータ５−２５は、列ごとに字幕有りの領域の個数を格納した［１６］個の配列データである。
最大列カウントデータ５−２６は、前記列カウントデータ５−２５の配列データのうちの最大値を格納したデータである。
最大列位置データ５−２７は、前記列カウントデータ５−２５の配列データのうちの最大値に対応する列の列番号を格納したデータである。
前字幕領域データ５−２８は、現在の処理対象のフレームの前フレームの字幕領域データ（５−２０）である。
領域一致数５−２９は、現在の処理対象のフレームと前フレームとで字幕の有無が一致した領域数である。
上記字幕領域データ５−２０から領域一致数５−２９は、字幕判定部４００が作成するデータである。
【００３９】
図５は、前記代表画像構造体５−２の構成図である。
代表画像識別番号５−２−１は、抽出した代表画像の順番である。
代表画像データ５−２−２は、抽出した画像を縮小した配列データである。これは、［１２０］×［１６０］個（＝画面の画素数の１／２）の配列データである。各配列は、赤画像データ，緑画像データ，青画像データの３種類の色成分データからなっている。
代表画像表示位置Ｘ（５−２−３）および代表画像表示位置Ｙ（５−２−４）は、代表画像を領域７０に表示する際のＸ，Ｙ座標位置である。
字幕開始時間５−２−５は、当該代表画像にかかる字幕が出現した時刻である。
字幕終了時間５−２−６は、当該代表画像にかかる字幕が消失した時刻である。
字幕書式５−２−７は、当該代表画像にかかる字幕の表示方向と位置のデータである。
【００４０】
図６，図７，図８は、領域別輝度計数部２００における処理手順を示すフロー図である。
図６の処理２０１では、画素横位置カウンタＸおよび画素縦位置カウンタＹを“０”に初期化する。
処理２０２では、赤画像データ５−７−１，緑画像データ５−７−２，青画像データ５−７−３の配列［Ｙ］［Ｘ］の輝度値が闘値１（５−３）以上であるか否かを調べ、３色ともに闘値１以上の輝度であれば処理２０３へ移り、闘値１未満ならば処理２０４へ移る。
処理２０３では、輝度データ５−８の配列［Ｙ］［Ｘ］に“１”を書き込む。
処理２０４では、輝度データ５−８の配列［Ｙ］［Ｘ］に“０”を書き込む。
処理２０５〜処理２０９は、上記処理２０２〜処理２０４を全ての画素に対して行うためのアドレス更新処理である。上記処理２０２〜処理２０４を全ての画素に対して行って輝度データ５−８を作成完了すると、図７の処理２１０に移る。
【００４１】
図７の処理２１０では、画素横位置カウンタＸおよび画素縦位置カウンタＹを“０”に初期化する。
処理２１１では、輝度データ５−８の配列［Ｙ］［Ｘ］の値と前フレーム輝度データ５−１１の配列［Ｙ］［Ｘ］の値が両方とも“１”であるかどうかを調べ、両方とも“１”ならば処理２１２へ移り、そうでなければ処理２１３へ移る。
処理２１２では、輝度照合データ５−１４の配列［Ｙ］［Ｘ］に“１”を書き込む。
処理２１３では、輝度照合データ５−１４の配列［Ｙ］［Ｘ］に“０”を書き込む。
処理２１４〜処理２１８は、上記処理２１１〜処理２１３を全ての画素に対して行うためのアドレス更新処理である。上記処理２０２〜処理２０４を全ての画素に対して行って輝度照合データ５−１４を作成完了すると、処理２１９に移る。
【００４２】
処理２１９では、画素横位置カウンタＸおよび画素縦位置カウンタＹを“０”に初期化する。
処理２２０では、輝度データ５−８の配列［Ｙ］［Ｘ］の内容を前フレーム輝度データ５−１１の配列［Ｙ］［Ｘ］に複写する。
処理２２１〜処理２２５は、上記処理２２０を全ての画素に対して行うためのアドレス更新処理である。上記処理２２０を全ての画素に対して行って前フレーム輝度データ５−１１を更新完了すると、図８の処理２２６に移る。
【００４３】
図８の処理２２６では、領域内画素横位置カウンタｉおよび領域内画素縦位置カウンタｊおよび領域横位置カウンタＸｂおよび領域縦位置カウンタＹｂを“０”に初期化する。また、輝度領域データ５−１７を“０”に初期化する。
処理２２７では、輝度照合データ５−１４の配列［Ｙｂ＊２４＋ｊ］［Ｘｂ＊２０＋ｉ］の内容が“１”かどうかを調べ、“１”であれば処理２２８へ移り、そうでなければ処理２２９へ移る。
処理２２８では、輝度領域データ５−１７の配列［Ｙｂ］［Ｘｂ］に“１”を加える。
処理２２９〜処理２３９は、上記処理２２７，処理２２８を全ての画素に対して行うためのアドレス更新処理である。上記処理２２７，処理２２８を全ての画素に対して行って輝度領域データ５−１７を作成完了すると、領域別輝度計数部２００における処理を終了する。
【００４４】
図９，図１０，図１１は、領域別エッジ計数部３００における処理手順を示すフロー図である。
図９の処理３０１では、画素横位置カウンタＸおよび画素縦位置カウンタＹを“１”に初期化する。
処理３０２では、赤画像データ５−７−１，緑画像データ５−７−２，青画像データ５−７−３の配列［Ｙ］［Ｘ＋１］の輝度値と配列［Ｙ］［Ｘ−１］の輝度値の差が闘値２（５−４）以上であるか否かを調べ、３色ともに輝度値の差が闘値２以上であれば処理３０３へ移り、闘値２未満ならば処理３０４へ移る。
処理３０３では、横エッジデータ５−９（図４）の配列［Ｙ］［Ｘ］に“１”を書き込む。
処理３０４では、横エッジデータ５−９（図４）の配列［Ｙ］［Ｘ］に“０”を書き込む。
処理３０５では、赤画像データ５−７−１，緑画像データ５−７−２，青画像データ５−７−３の配列［Ｙ＋１］［Ｘ］の輝度値と配列［Ｙ−１］［Ｘ］の輝度値の差が闘値２（５−４）以上であるか否かを調べ、３色ともに輝度値の差が闘値２以上であれば処理３０６へ移り、闘値２未満ならば処理３０７へ移る。
処理３０６では、縦エッジデータ５−１０（図４）の配列［Ｙ］［Ｘ］に“１”を書き込む。
処理３０７では、縦エッジデータ５−１０（図４）の配列［Ｙ］［Ｘ］に“０”を書き込む。
処理３０８〜処理３１２は、上記処理３０２〜処理３０７を全ての画素に対して行うためのアドレス更新処理である。上記処理２０２〜処理２０４を画面の縁の画素を除く全ての画素に対して行って横エッジデータ５−９および縦エッジデータ５−１０を作成完了すると、図１０の処理３１３に移る。
【００４５】
図１０の処理３１３では、画素横位置カウンタＸおよび画素縦位置カウンタＹを“０”に初期化する。
処理３１４では、横エッジデータ５−９の配列［Ｙ］［Ｘ］の値と前フレーム横エッジデータ５−１２の配列［Ｙ］［Ｘ］の値が共に“１”であるかどうかを調べ、両方とも“１”ならば処理３１５へ移り、そうでなければ処理３１６へ移る。
処理３１５では、横エッジ照合データ５−１５の配列［Ｙ］［Ｘ］に“１”を書き込む。
処理３１６では、横エッジ照合データ５−１５の配列［Ｙ］［Ｘ］に“０”を書き込む。
処理３１７では、縦エッジデータ５−１０の配列［Ｙ］［Ｘ］の値と前フレーム縦エッジデータ５−１３の配列［Ｙ］［Ｘ］の値が共に“１”であるか否かを調べ、両方とも“１”ならば処理３１８へ移り、そうでなければ処理３１９へ移る。
処理３１８では、縦エッジ照合データ５−１６の配列［Ｙ］［Ｘ］に“１”を書き込む。
処理３１９では、縦エッジ照合データ５−１６の配列［Ｙ］［Ｘ］に“０”を書き込む。
処理３２０〜処理３２４は、上記処理３１４〜処理３１９を全ての画素に対して行うためのアドレス更新処理である。上記処理３１４〜処理３１９を全ての画素に対して行って横エッジ照合データ５−１５および縦エッジ照合データ５−１６を作成完了すると、処理３２５に移る。
【００４６】
処理３２５では、横エッジデータ５−９の配列［Ｙ］［Ｘ］の内容を前フレーム横エッジデータ５−１２の配列［Ｙ］［Ｘ］に複写する。また、縦エッジデータ５−１０の配列［Ｙ］［Ｘ］の内容を前フレーム縦エッジデータ５−１３の配列［Ｙ］［Ｘ］に複写する。
処理３２７〜処理３３１は、上記処理３２６を全ての画素に対して行うためのアドレス更新処理である。上記処理３２６を全ての画素に対して行って前フレーム横エッジデータ５−１２および前フレーム縦エッジデータ５−１３を更新完了すると、図１１の処理３３２に移る。
【００４７】
図１１の処理３３２では、領域内画素横位置カウンタｉおよび領域内画素縦位置カウンタｊおよび領域横位置カウンタＸｂおよび領域縦位置カウンタＹｂを“０”に初期化する。また、横エッジ領域データ５−１８および縦エッジ領域データ５−１９を“０”に初期化する。
処理３３３では、横エッジ照合データ５−１５の配列［Ｙｂ＊２４＋ｊ］［Ｘｂ＊２０＋ｉ］の内容が“１”かどうかを調べ、“１”であれば処理３３４へ移り、そうでなければ処理３３５へ移る。
処理３３４では、横エッジ領域データ５−１８の配列［Ｙｂ］［Ｘｂ］に“１”を加える。
処理３３５では、縦エッジ照合データ５−１６の配列［Ｙｂ＊２４＋ｊ］［Ｘｂ＊２０＋ｉ］の内容が“１”かどうかを調べ、“１”であれば処理３３６へ移り、そうでなければ処理３３７へ移る。
処理３３６では、縦エッジ領域データ５−１９の配列［Ｙｂ］［Ｘｂ］に“１”を加える。
処理３３７〜処理３４８は、上記処理３３３〜処理３３６を全ての画素に対して行うためのアドレス更新処理である。上記処理３３３〜処理３３６を全ての画素に対して行って横エッジ領域データ５−１８および縦エッジ領域データ５−１９を作成完了すると、領域別エッジ計数部３００における処理を終了する。
【００４８】
図１２，図１３，図１４は、字幕判定部４００および代表画像作成部５００における処理手順を示すフロー図である。なお、字幕判定部４００の処理を参照番号４ｘｘで示し、代表画像作成部５００の処理を参照番号５ｘｘで示す。
図１２の処理４０１では、領域横位置カウンタＸｂおよび領域縦位置カウンタＹｂを“０”に初期化する。
処理４０２では、輝度領域データ５−１７の配列［Ｙｂ］［Ｘｂ］の値と横エッジ領域データ５−１８の配列［Ｙｂ］［Ｘｂ］の値と縦エッジ領域データ５−１９の配列［Ｙｂ］［Ｘｂ］の値が共に闘値３（５−５）以上であるか否かを調べ、共に闘値３以上ならば処理４０３へ移り、そうでなければ処理４０４へ移る。
処理４０３では、字幕領域データ５−２０の配列［Ｙｂ］［Ｘｂ］に“１”を書き込む。“１”を書き込んだ配列に対応する領域が字幕有りの領域である。
処理４０４では、字幕領域データ５−２０の配列［Ｙｂ］［Ｘｂ］に“０”を書き込む。“０”を書き込んだ配列に対応する領域が字幕無しの領域である。
処理４０５〜処理４０９は、上記処理４０２〜処理４０４を全ての領域に対して行うためのアドレス更新処理である。上記処理４０２〜処理４０４を全ての領域に対して行って字幕領域データ５−２０を作成完了すると、図１３の処理４１０に移る。
【００４９】
図１３の処理４１０では、領域横位置カウンタＸｂおよび領域縦位置カウンタＹｂを“０”に初期化する。また、行カウントデータ５−２２を“０”に初期化する。
処理４１１では、行カウントデータ５−２２の配列［Ｙｂ］に字幕領域データの配列［Ｙｂ］［Ｘｂ］の内容を加算する。
処理４１２〜処理４１６は、上記処理４１１を全ての領域に対して行うためのアドレス更新処理である。上記処理４１１を全ての領域に対して行って行カウントデータ５−２２を作成完了すると、処理４１７に移る。
処理４１７では、領域横位置カウンタＸｂおよび領域縦位置カウンタＹｂを“０”に初期化する。又、列カウントデータ５−２５を“０”に初期化する。
処理４１８では、列カウントデータ５−２５の配列［Ｘｂ］に字幕領域データの配列［Ｙｂ］［Ｘｂ］の内容を加算する。
処理４１９〜処理４２３は、上記処理４１８を全ての領域に対して行うためのアドレス更新処理である。上記処理４１８を全ての領域に対して行って列カウントデータ５−２５を作成完了すると、図１４の処理４２４に移る。
【００５０】
図１４の処理４２４では、領域横位置カウンタＸｂおよび領域縦位置カウンタＹｂを“０”に初期化する。また、最大行カウントデータ５−２３および最大列カウントデータ５−２６を“０”に初期化する。
処理４２５では、行カウントデータ５−２２の配列［Ｙｂ］の値が最大行カウントデータ５−２３より大きいかを調べ、大きければ処理４２６へ移り、大きくなければ処理４２８に移る。
処理４２６では、行カウントデータ５−２２の配列［Ｙｂ］の値を最大行カウントデータ５−２３に複写する。
処理４２７では、最大行位置データ５−２４に“Ｙｂ”の値を記憶する。
処理４２８および処理４２９は、上記処理４２５〜処理４２７を全ての行に対して行うためのアドレス更新処理である。上記処理４２５〜処理４２７を全ての行に対して行って最大行カウントデータ５−２３および最大行位置データ５−２４を作成完了すると、処理４３０に移る。
処理４３０では、列カウントデータ５−２５の配列［Ｘｂ］の値が最大列カウントデータ５−２６より大きいかを調べ、大きければ処理４３１へ移り、大きくなければ処理４３３に移る。
処理４３１では、列カウントデータ５−２５の配列［Ｘｂ］の値を最大列カウントデータ５−２６に複写する。
処理４３２では、最大列位置データ５−２７に“Ｘｂ”の値を記憶する。
処理４３３および処理４３４は、上記処理４３０〜処理４３２を全ての列に対して行うためのアドレス更新処理である。上記処理４３０〜処理４３２を全ての列に対して行って最大列カウントデータ５−２６および最大列位置データ５−２７を作成完了すると、処理４３５に移る。
【００５１】
処理４３５では、最大行カウントデータ５−２３が閾値４（５−６）以上であるか又は最大列カウントデータ５−２６が閾値４以上であるか否かを調べる。最大行カウントデータ５−２３が閾値４以上であるか又は最大列カウントデータ５−２６が閾値４以上であれば、当該フレームの画像中に字幕有りと判定し、処理４３６へ移る。最大行カウントデータ５−２３が閾値４未満であり且つ最大列カウントデータ５−２６が閾値４未満であれば、当該フレームの画像中に字幕無しと判定し、図１７の処理４７１に移る。
処理４３６では、最大行カウントデータ５−２３が最大列カウントデータ５−２６以上であるか否かを調べる。最大行カウントデータ５−２３が最大列カウントデータ５−２６以上であれば、「字幕が横書きである」と判定し、処理４３７に移る。最大行カウントデータ５−２３が最大列カウントデータ５−２６以上でなければ、「字幕は縦書きである」と判定し、処理４４０に移る。
【００５２】
処理４３７では、最大行位置データ５−２４が“５”行目（画面の中段の行）以上であるかを調べ、“５”以上であれば「字幕は画面の上半分に横書き」と判断し、処理４３８へ移り、“５”未満であれば「字幕は下半分に横書き」と判断し、処理４３９へ移る。
処理４３８では、字幕付属データ５−２１に“上横書き”を書き込む。
処理４３９では、字幕付属データ５−２１に“下横書き”を書き込む。そして、図１５の処理４５１に移る。
【００５３】
一方、処理４４０では、最大列位置データ５−２７が“８”列目（画面の中央の列）以上であるかを調べ、“８”以上であれば「字幕は画面の右半分に縦書き」と判断し、処理４４１へ移り、“８”未満であれば「字幕は画面の左半分に縦書き」と判断し、処理４４２へ移る。
処理４４１では、字幕付属データ５−２１に“右縦書き”を書き込む。
処理４４２では、字幕付属データ５−２１に“左縦書き”を書き込む。そして、図１５の処理４５１に移る。
【００５４】
図１５の処理４５１では、領域横位置カウンタＸｂ及び領域縦位置カウンタＹｂを“０”に初期化する。又、領域一致数５−２９を“０”に初期化する。
処理４５２では、字幕領域データ５−２０の配列［Ｙｂ］［Ｘｂ］の値と前字幕領域データ５−２８の配列［Ｙｂ］［Ｘｂ］の値が一致するかどうかを調べ、一致すれば処理４５３へ移り、一致しなければ処理４５４へ移る。
処理４５３では、領域一致数５−２９に“１”を加える。
処理４５４から処理４５８は、上記処理４５２および処理４５３を全ての領域に対して行うためのアドレス更新処理である。上記処理４５２，処理４５３を全ての領域に対して行って領域一致数５−２９を作成完了すると、処理４５９に移る。
【００５５】
処理４５９では、領域一致数５−２９を領域数“１６０”で割って一致度を求め、その一致度が“０．７”未満か否かを調べる。一致度が“０．７”未満なら、字幕が変化したと判断し、処理５０１へ移る。一致度が“０．７”以上なら、字幕が変化していないと判断し、図１６の処理４６１へ移る。なお、本実施例では一致度の閾値を“０．７”としたが、任意に設定可能である。
処理５０１では、新たな代表画像構造体５−２を生成し、その代表画像構造体５−２の代表画像識別番号５−２−１に、前回生成した代表画像構造体５−２の代表画像識別番号５−２−１に“１”を加えた値を設定する。また、字幕開始時間５−２−５に現在時刻を格納し、字幕書式５−２−７に字幕付属データ５−２１を複写する。
処理５０２では、画素横位置カウンタＸおよび画素縦位置カウンタＹを“０”に初期化する。
処理５０３では、代表画像データ５−２−２の配列［Ｙ］［Ｘ］に緑画像データ５−７−２の配列［Ｙ＊２］［Ｘ＊２］の輝度値を複写する。
処理５０４〜処理５０８は、上記処理５０３を代表画像の全ての画素に対して行うためのアドレス更新処理である。上記処理５０３を代表画像の全ての画素に対して行って代表画像データ５−２−２を作成完了すると、図１６の処理４６１に移る。なお、代表画像データ５−２−２は、緑画像データ５−７−２の１／２縮小画像となる。
【００５６】
図１６の処理４６１では、領域横位置カウンタＸｂおよび領域縦位置カウンタＹｂを“０”に初期化する。
処理４６２では、前字幕領域データ５−２８の配列［Ｙｂ］［Ｘｂ］に字幕領域データ５−２０の配列［Ｙｂ］［Ｘｂ］の値を複写する。
処理４６３から処理４６７は、上記処理４６２を全ての領域に対して行うためのアドレス更新処理である。上記処理４６２を全ての領域に対して行って前字幕領域データ５−２８を更新完了すると、処理４６８に移る。
処理４６８では、代表画像構造体５−２の字幕終了時間５−２−６に現在時刻を格納する。そして、字幕判定部４００における処理を終了する。
【００５７】
一方、図１７の処理４７１では、領域横位置カウンタＸｂおよび領域縦位置カウンタＹｂを“０”に初期化する。
処理４７２では、前字幕領域データ５−２８の配列［Ｙｂ］［Ｘｂ］に“０”を格納する。
処理４７３から処理４７７は、上記処理４７２を全ての領域に対して行うためのアドレス更新処理である。上記処理４７２を全ての領域に対して行って前字幕領域データ５−２８を更新完了すると、字幕判定部４００における処理を終了する。
【００５８】
以上の動画像の代表画像抽出装置１０００によれば、特徴抽出部１５０によって、領域別に字幕が現われているかどうかを判定しているので、字幕の文字数が画面全体で少ない場合であっても、字幕を好適に検出可能である。また、特徴抽出部１５０は、字幕の特徴として高輝度の画素と強エッジの画素の両方をチェックしているので、ライト照明のようなエッジが無くかつ高輝度の背景や将棋盤のようにエッジは有るが輝度の低い背景は字幕と区別されるため、誤抽出を防止できる。また、字幕判定部４００によって、字幕有無の情報を行方向および列方向に投影して判断しているので、字幕が縦書きでも横書きでも対応可能であり、また、現われた字幕が縦書きか横書きであるかを区別可能である。さらに、代表画像作成部５００によって縮小した代表画像を作成し、表示部６００によって複数の縮小代表画像を一覧表示するため、代表画像の検索が容易になる。
【００５９】
【発明の効果】
本発明の字幕検出方法によれば、字幕の表示態様が任意である一般の画像に対して字幕が有るか否かを判定することが出来るようになる。
また、画像自体の変化が少なく，字幕のみが変化するような場合でも、必要な代表画像を抽出することが出来る。
【図面の簡単な説明】
【図１】本発明の一実施例の動画像の代表画像抽出装置のシステム構成図である。
【図２】ディスプレイ装置に表示する画面の例示図である。
【図３】代表画像抽出処理の機能ブロック図である。
【図４】メモリに記憶されるプログラムとデータの構成図である。
【図５】代表画像構造体の構成図である。
【図６】領域別輝度計数部における高輝度の画素を抽出する処理のフロー図である。
【図７】領域別輝度計数部における複数のフレームに渡り高輝度が継続している画素を抽出する処理のフロー図である。
【図８】領域別輝度計数部における領域別に高輝度の画素数を計数する処理のフロー図である。
【図９】領域別エッジ計数部における縦エッジおよび横エッジの画素を抽出する処理のフロー図である。
【図１０】領域別エッジ計数部における複数のフレームに渡り強エッジが継続している画素を抽出する処理のフロー図である。
【図１１】領域別エッジ計数部における領域ごとに縦エッジ数および横エッジ数を計数する処理のフロー図である。
【図１２】字幕判定部における領域ごとに字幕有無を判別する処理のフロー図である。
【図１３】字幕判定部における字幕有りの領域を行方向および列方向に投影する処理のフロー図である。
【図１４】字幕判定部における字幕有りの画像を判定する処理のフロー図である。
【図１５】字幕判定部における字幕有りの画像の連続性を判定する処理のフロー図である。
【図１６】字幕判定部における字幕有りの画像の連続性を判定する処理の続きのフロー図である。
【図１７】字幕判定部における字幕無しの画像についての処理のフロー図である。
【図１８】複数の領域に区分した画面の説明図である。
【符号の説明】
１…ディスプレィ装置、２…スピーカ、３…コンピュータ、４…ＣＰＵ、
５…メモリ、６…インタフェース、７…ポインティングデバイス、
８…キーボード、９…ビデオ再生装置、１０…制御信号、
１１…ビデオ入力装置、１２…ディジタル画像データ、
１３…外部情報記憶装置、
１００…動画入力部、１５０…特徴抽出部、２００…領域別輝度計数部、
３００…領域別エッジ計数部、４００…字幕判定部、
５００…代表画像作成部、６００…表示部、
１０００…動画像の代表画像抽出装置。
【図１】
0003590896.tif 000002
【図２】
0003590896.tif 000003
【図３】
0003590896.tif 000004
【図４】
0003590896.tif 000005
【図５】
0003590896.tif 000006
【図６】
0003590896.tif 000007
【図７】
0003590896.tif 000008
【図８】
0003590896.tif 000009
【図９】
0003590896.tif 000010
【図１０】
0003590896.tif 000011
【図１１】
0003590896.tif 000012
【図１２】
0003590896.tif 000013
【図１３】
0003590896.tif 000014
【図１４】
0003590896.tif 000015
【図１５】
0003590896.tif 000016
【図１６】
0003590896.tif 000017
【図１７】
0003590896.tif 000018
【図１８】
0003590896.tif 000019