以下、図面を参照して、本発明の実施形態を説明する。
まず、図1および図2を参照して、本発明の一実施形態に係る電子機器の構成を説明する。この電子機器は、例えば、ノートブック型の携帯型パーソナルコンピュータ10から実現されている。
このコンピュータ10は、放送信号によって放送される放送番組データの再生および録画を実行するTV機能を有している。TV機能には、現在放送中の各放送番組データの中から目的の人物が登場するシーンのみを録画するという特定シーン録画処理機能が含まれている。この特定シーン録画処理機能は、目的の人物の顔の特徴を示す特徴データを生成し、放送番組データの中で、生成された特徴データと類似する特徴を有する顔画像が出現するシーンのみを録画することによって実行される。この場合、特徴データの生成には、インターネット1上から取得された画像データ群が使用される。すなわち、コンピュータ10は、ユーザによって入力された人物名(例えばタレント名)を検索キーワードとして含む検索要求をインターネット1上の検索サーバ3に送信することにより、入力された人物名によって指定される人物に関する画像データそれぞれをインターネット1上から取得する。そして、コンピュータ10は、画像データそれぞれから特徴データを自動生成する。
検索サーバ3はいわゆる検索サイトとして機能するサーバであり、イメージ検索機能を有している。このイメージ検索機能は、インターネット1上の多数のWEBサーバ2それぞれによって提供されているホームページ群の中から、検索キーワードに合致する画像データを検索する機能である。このイメージ検索は、例えば、ホームページを構成するHTMLファイル中の文字列(画像データに関する、説明、画像名などの文字列)等を分析することによって実行される。
このように、インターネット1から目的の人物に関する多数の画像データ群を取得し、それら画像データ群から目的の人物の顔の特徴を示す特徴データを生成することにより、ユーザ自身が画像を入手することなく、目的の人物が登場するシーンのみを容易に録画することができる。
本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成されている。コンピュータ本体11の上面にはキーボード13、本コンピュータ10を電源オン/オフするためのパワーボタン14、入力操作パネル15、およびタッチパッド16などが配置されている。また、コンピュータ本体11の正面には、本コンピュータ10のTV機能を遠隔制御する外部のリモコンユニットとの通信を実行するためのリモコンユニットインタフェース部20が設けられている。リモコンユニットインタフェース部20は、例えば、赤外線信号受信部などから構成されている。
次に、図2を参照して、本コンピュータ10のシステム構成について説明する。
本コンピュータ10は、図2に示されているように、CPU111、ノースブリッジ112、メインメモリ113、グラフィクスコントローラ114、サウスブリッジ119、BIOS−ROM120、ハードディスクドライブ(HDD)121、光ディスクドライブ(ODD)122、1以上のTVチューナ123−1〜123−n、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)124、ネットワークコントローラ125A、無線通信デバイス125B、および顔画像処理モジュール128等を備えている。
CPU111は本コンピュータ10の動作を制御するために設けられたプロセッサであり、ハードディスクドライブ(HDD)121からメインメモリ113にロードされる、オペレーティングシステム、およびTVアプリケーションプログラム101のような各種アプリケーションプログラムを実行する。TVアプリケーションプログラム101は放送番組データの再生および録画を制御するプログラムであり、1以上のTVチューナ123−1〜123−nを制御して、放送信号によって放送される放送番組データ(TV放送番組)の再生および録画(予約録画を含む)を制御する。また、TVアプリケーションプログラム101は、上述の特定シーン録画処理機能等も有している。
また、CPU111は、BIOS−ROM120に格納されたBIOS(Basic Input Output System)も実行する。
ノースブリッジ112はCPU111のローカルバスとサウスブリッジ119との間を接続するブリッジデバイスである。ノースブリッジ112には、メインメモリ113をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ112は、AGP(Accelerated Graphics Port)バスなどを介してグラフィクスコントローラ114との通信を実行する機能も有している。
グラフィクスコントローラ114は本コンピュータ10のディスプレイモニタとして使用されるLCD17を制御する表示コントローラであり、ビデオメモリ(VRAM)114Aに書き込まれたデータからLCD17に表示するための表示信号を生成する。サウスブリッジ119は、LPC(Low Pin Count)バス上の各デバイス、およびPCI(Peripheral Component Interconnect)バス上の各デバイスを制御する。また、サウスブリッジ119は、HDD121、ODD122を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。
1以上のTVチューナ123−1〜123−nは、放送信号によって放送される放送番組データをそれぞれ受信するチューナ部である。これら1以上のTVチューナ123−1〜123−nにより、1以上のチャネル(例えば日本で受信可能な地上アナログ/地上デジタル放送の全てのチャネル)それぞれの放送番組データを同時に受信することができる。上述の特定シーン録画処理機能の実行時には、TVチューナ123−1〜123−nは、互いに異なるチャネルの1以上の放送番組データをそれぞれ受信する。TVチューナ123−1〜123−nの各々は、アナログ放送信号によって放送される放送番組データを受信するアナログTVチューナ、地上波デジタル放送信号によって放送される放送番組データを受信するデジタルTVチューナのどちらであってもよい。
EC/KBC124は、電力管理のためのエンベデッドコントローラと、キーボード(KB)13およびタッチパッド16を制御するためのキーボードコントローラとが集積された、1チップマイクロコンピュータである。EC/KBC124は、ユーザによるパワーボタン14の操作に応じて本コンピュータ10をパワーオン/パワーオフする機能を有している。本コンピュータ10の各コンポーネントに供給される動作電源は、本コンピュータ10に内蔵されたバッテリ126、またはACアダプタ127を介して外部から供給される外部電源から生成される。また、EC/KBC124はリモコンユニットインタフェース部20にも接続されている。
TVアプリケーションプログラム101の制御は、ユーザによる、キーボード(KB)13、タッチパッド(マウス)16のような入力部の操作のみならず、外部のリモコンユニットの操作によっても実行することができる。
ネットワークコントローラ125Aは有線ネットワークに接続するためのデバイスであり、インターネット1との通信を実行するための通信部として機能する。また、無線通信デバイス125Bは無線ネットワークに接続するためのデバイスである。この無線通信デバイス125Bも、インターネット1との通信を実行するための通信部として機能することが出来る。
顔画像処理モジュール128は顔検出処理および顔画像分析処理等を実行するためのLSIであり、TVアプリケーションプログラム101の制御の下、静止画や動画像のような画像データから人の顔を検出して取り出し、その顔画像の特徴を分析する処理を実行する。
次に、図3を参照して、TVアプリケーションプログラム101の機能構成の第1の例について説明する。
TVアプリケーションプログラム101は上述の特定シーン録画処理機能を実行するために、キャッシュ付き全チャネル録画処理部201、再生処理部202、キーワード入力部203、ネットワーク検索処理部204、顔特徴分析部205、特徴データ生成部206、および特定シーン録画処理部207等を機能実行モジュールとして備えている。
キャッシュ付き全チャネル録画処理部201は、1以上のTVチューナ123−1〜123−nを制御し、TVチューナ123−1〜123−nによって同時に受信される1以上のチャネルそれぞれの放送番組データをそれぞれ所定時間分だけバッファに格納する処理を実行する。再生処理部202は、特定シーン録画処理機能等によって録画された放送番組データを再生する。キーワード入力部202はキーワード入力画面を表示し、ユーザによる入力部(キーボード、マウス、リモコンユニット等)の操作に応じて当該入力部からキーワード入力画面上に入力される人物名等のキーワードを取得する。入力部から入力されたキーワードはキーワード記憶エリア301に格納される。
ネットワーク検索処理部204は、キーワード記憶エリア301からキーワード(人物名)を読み出し、そのキーワード(人物名)を検索キーワードとして含む検索要求を生成する。そして、ネットワーク検索処理部204は、その検索要求を、ネットワークコントローラ125A、無線通信デバイス125Bといった通信部を介してインターネット1上の検索サーバ3に送信することにより、入力されたキーワード(人物名)によって指定される人物に関する画像データ(例えば静止画)それぞれをインターネット1上から取得する。通常は、タレントなどの著名人を指定する検索キーワードに対しては、数百から数千の画像データがヒットし、それら全ての画像データを取得することができる。
顔特徴分析部205および特徴データ生成部206は画像分析部として機能し、ネットワーク検索処理部204によって取得された画像データそれぞれから人物の顔画像を抽出すると共にその抽出された顔画像それぞれを分析して、ユーザによって入力された人物名によって指定された人物の顔の特徴を示す特徴データを生成する。すなわち、顔特徴分析部205は、顔画像処理モジュール128を使用して、各画像データ内から顔画像を抽出するための顔検出処理、および抽出された顔画像の特徴を分析して特徴データを生成する顔画像分析処理を実行する。顔画像の特徴を示す特徴データとしては、例えば、目、鼻、口などの複数の特徴点間の相対的な距離関係および複数の特徴点間の相対的な大きさの関係等を示す値、等を用いることができる。
特徴データ生成部206は、顔特徴分析部205によって得られた顔画像それぞれの特徴を示す複数の特徴データを統合してそれら特徴データを統計的に処理し、統計的に処理することによって得られる値を照合用の特徴データとして生成する。この場合、特徴データ生成部206は、例えば、複数の特徴データの平均値を算出し、この平均値を、ある人物の顔の特徴を示す特徴推定値つまり照合用の特徴データとして生成する。インターネット1から取得された画像データそれぞれに含まれる顔画像毎に目的の人物の顔の向きも異なるので、複数の顔画像それぞれに対応する複数の特徴データを統計的に処理することによって、例えば複数の顔画像それぞれに対応する複数の特徴データの平均値を算出することによって、様々な顔の向きを考慮した状態で、照合用の特徴データを生成することが可能となる。また、顔画像それぞれの特徴を示す複数の特徴データの中で特異な値(他の特徴データの値に比し大きく異なる異常値)を持つ特徴データを最初に検出し、検出された特徴データを除く他の特徴データを統計的に処理し、統計的に処理することによって得られる値、例えば検出された特徴データを除く他の特徴データ間の平均値を、照合用の特徴データとして算出するようにしてもよい。インターネット1から取得された画像データの中には、目的の人物とは異なる他の人物の顔画像を含む画像データが含まれる場合や、また極端に上向きまたは下向きの顔画像が含まれることもあるので、異常値を除外してから平均値を算出することにより、より精度の高い照合用の特徴データを得ることが可能となる。なお、以下では、複数の特徴データそれぞれを統計的に処理することによって得られる、ある人物の顔の特徴を示す統計的な特徴推定値として、複数の特徴データ間の平均値を用いる場合を例示して説明する。
特定シーン録画処理部207は、互いに異なるチャネルの1以上の放送番組データの各々の中で、照合用特徴データに類似する特徴を有する顔画像が出現するシーンに対応する部分データを検出し、当該検出された部分データをHDD121に保存する。具体的には、特定シーン録画処理部207は、キャッシュ付き全チャネル録画処理部201によってバッファに格納された1以上のチャネルそれぞれに対応する各放送番組データ毎に、その放送番組データに含まれる映像データ内の各フレームから人物の顔画像を抽出し、その抽出された顔画像を分析して特徴データを生成する。そして、特定シーン録画処理部207は、各フレームに対応する特徴データと照合用特徴データとを照合することによって、各放送番組データの中から照合用特徴データに類似する特徴を有する顔画像が出現するシーンに対応する部分データを検出する。この検出された部分データがHDD121に保存される。
このように、ユーザによって入力されたキーワードで指定される人物に関する画像データ群を自動的にインターネット1から取得して当該人物の顔の特徴データを生成し、全チャネルの放送番組データの中から特徴データに合致する顔が出現するシーンを自動録画するという仕組みを用いることにより、電子番組表を検索して録画対象の放送番組を選択するという従来の手法に比し、入力されたキーワードで指定される人物が登場する放送番組を録画し損なう可能性を大幅に低減することが可能となる。また、特徴データに合致する顔が出現するシーンのみが録画されるので、例えば、ユーザによって例えばある歌手Aの名前がキーワード入力された場合には、歌手Aが出演する歌番組全体の中の歌手Aの顔が登場するシーンのみを容易に録画することができる。
図4には、図3で説明した機能実行モジュール間の接続関係が示されている。
ネットワーク検索処理部204によってインターネット1から取得された画像データ群は顔特徴分析部205に送られる。顔特徴分析部205は、顔画像処理モジュール128を制御して、各画像データから顔画像を検出して抜き出す処理を実行すると共に、抜き出した各顔画像を分析して特徴データを生成する処理を実行する。顔画像それぞれに対応する特徴データは特徴データ生成部206に送られ、そこで照合用特徴データが生成される。
キャッシュ付き全チャネル録画処理部201は、TVチューナ123−1〜123−nにそれぞれ異なるチャネルの放送番組データを常時受信させる。TVチューナ123−1〜123−nによって受信された放送番組データそれぞれはキャッシュ付き全チャネル録画処理部201によってバッファ501に保存される。バッファ501には1以上のチャネルそれぞれに対応する複数の記憶エリアが設けられている。各記憶エリアは、放送番組データを数分(例えば1分)分だけ録画可能なサイズを有している。各チャネルの放送番組データは、1分毎にバッファ501内の対応する記憶エリアに上書きされていく。
特定シーン録画処理部207は照合処理部401と録画処理実行部402とを備えている。照合処理部401は、顔画像処理モジュール128を用いて、バッファ501に格納された各放送番組データ毎に顔画像の特徴データを生成し、そして、その特徴データと特徴データ生成部206によって生成された照合用特徴データとを照合することにより、照合用特徴データに類似する特徴を有する顔画像が出現するシーンをチャネル毎に検出する。録画処理実行部402は、照合処理部401によって照合用特徴データに類似する特徴を有する顔画像が出現するチャネルが検出された時、そのチャネルの放送番組データをHDD121に保存する録画処理を開始する。この場合、バッファ501に残っている数秒前の放送番組データも含めてHDD121に保存される。録画処理実行部402による録画処理は、照合用特徴データに類似する特徴を有する顔画像が出現しているシーンの間だけ実行される。
また、TVアプリケーションプログラム101には、編集処理部601および検索処理部602も含まれている。編集処理部601は、録画済みの放送番組データの中で照合用特徴データに類似する特徴を有する顔画像が出現するシーンに対応する部分データを検出し、当該検出された部分データの開始点および終了点を示すインデックス情報を生成する。これにより、録画済みの放送番組データの中の特定のシーンのみを容易に再生することができる。検索処理部602は、録画済みの放送番組データの中から照合用特徴データに類似する特徴を有する顔画像が出現するシーンを検索する処理、および録画済みの放送番組データの中から照合用特徴データに類似する特徴を有する顔画像が出現するシーンを含む放送番組データを検索する処理を実行する。検索されたシーンまたは番組は再生処理部202によって再生することができる。
次に、図5のフローチャートを参照して、TVアプリケーションプログラム101の制御の下にCPU111によって実行される特定シーン録画処理機能の手順を説明する。
ここでは、現在放送中の多数の放送番組(コマーシャルも含む)の中からタレントAが映っているシーンのみを自動検出して録画する場合を想定する。
まず、ユーザによる入力部の操作により、特定シーン録画処理の対象とすべき人物を指定するキーワード(タレントAの名前等)が入力される(ステップS11)。CPU111は、入力されたキーワードをキーワード記憶エリア301に保存する(ステップS12)。そして、CPU111は、入力されたキーワードで指定される人物(タレントA)に関する画像データ群をインターネット1から取得する(ステップS13)。このステップS13では、例えば、図6に示す手順がCPU111によって実行される。すなわち、CPU111は、入力されたキーワード(タレントAの名前等)を検索キーワードとして含む検索要求を検索サーバ3に送信し(ステップS21)、検索キーワードにヒットした画像データ群(検索キーワードで指定されるタレントAに関する画像群)のリストを示す検索結果(HTMLファイル)を検索サーバ3から取得する(ステップS22)。検索結果のHTMLファイルには、例えば、図7に示すように、複数の画像とその画像が掲載されているホームページのアドレス(URL)とが含まれている。CPU111は、検索結果のHTMLファイルを参照して、各画像データを該当するWEBサーバから取得する(ステップS23)。
画像データの取得が終了すると、CPU111は、取得された個々の画像データに対し、顔の部分(顔画像)を抜き出してその顔の特徴を分析する処理を顔画像処理モジュール128と共同して実行する(図5のステップS14)。この分析処理により、複数の顔画像サンプルそれぞれに対応する複数の特徴データ(特徴量)が生成される。そして、CPU111は、複数の特徴データの平均値を算出し、その平均値を照合用特徴データとして生成する(ステップS15)。この場合、異常な値の特徴データについては平均値算出対象から除外される。顔画像サンプルとその特徴量との関係の例を図8に示す。同一の人物の顔画像サンプルそれぞれに対応する特徴量はある範囲内に収束するのに対し、同一の人物であっても極端に上向きまたは下向きの顔画像サンプルから得られる特徴量や、他の人物の顔画像サンプルから得られる特徴量は、他の顔画像サンプルの特徴量と大きく異なった異常な値となる。図8では、顔画像サンプル5に対応する特徴量S5と顔画像サンプル106に対応する特徴量S106が異常値として扱われ、これら異常値を除く他の顔画像サンプルそれぞれに対応する特徴量の平均値が、照合用特徴データとして生成される。
この後、CPU111は、1以上のTVチューナ123−1から123−nにそれぞれ異なるチャンネルの放送番組データの受信を開始させ、そして1以上のチャンネルの放送番組データをそれぞれバッファ501に所定時間分格納するというキャッシュ付き全チャネル録画処理を開始する(ステップS16)。
そして、CPU111は、バッファ501に格納された各チャネルの放送番組データを顔画像処理モジュール128と共同して分析し、各放送番組データの中で照合用特徴データに類似する特徴を持つ顔画像が出現するシーンのみを録画するという特定シーン録画処理を実行する(ステップS17)。ステップS17では、例えば、図9に示す手順がCPU111によって実行される。すなわち、CPU111は、キャッシュ付き全チャネル録画処理を開始した後(ステップS31)、各チャネル毎に放送番組データの各フレームから人の顔を抽出し、その顔画像を分析して特徴データを生成する(ステップS32)。この分析処理は、放送番組データの先頭フレームから順次実行される。
そして、CPU111は、各フレームの顔画像の特徴データと照合用特徴データとを比較する(ステップS33)。たとえば、あるチャネルXの放送番組データの映像データの中で、照合用特徴データに類似する特徴を有するフレームが検出されると(ステップS34のYES)、CPU111は、当該チャネルXの放送番組データの録画を開始する(ステップS25)。このステップS25では、バッファ501内に残っている当該チャネルXの数秒前の放送番組データが最初にHDD121内の記憶領域にコピーされる。そして、コピーされたデータに後続するように、当該チャネルXを受信中のチューナから出力される放送番組データがHDD121内の記憶領域に格納される。
タレントAの登場シーンが終了し、チャネルXの放送番組データの中から照合用特徴データに類似する特徴を有するフレームが検出されなくなると(ステップS34のNO)、チャネルXの放送番組データの録画は中断される(ステップS36)。
以上の処理により、放送中の多数の放送番組データの中から、ユーザによって入力された人物名等のキーワードによって指定される人物が登場するシーンのみを容易に録画することが可能となる。したがって、時間がないユーザにとっては、キーワードを入力するという簡単な操作を行うのみで、キーワードで指定された人物が登場する各番組を自動録画でき、且つ当該人物が映るシーンのみを視聴することが可能となるという点で極めて有効である。
また、通常、特定のタレントが登場するシーンのみを抜き出すためには、一度再生し、巻き戻し、そのシーンをマークし、編集するという操作を行う必要があり、また正確にシーンをマークすることは実際には極めて難しい。本実施形態では、このような操作を行うことなく、特定のタレント等の人物が登場するシーンのみを録画することができる。
また、インターネット1から取得される膨大な数の画像データから顔特徴を分析するので、正確な分析を実行することができる。特に、顔の向きが異なる様々な顔画像から特徴データを生成することで、放送番組データ中に出現する目的の人物の顔とのヒット率の高い照合用特徴データを得ることが出来る。
なお、ここでは、全チャネルの放送番組データを同時に受信できるように全チャネル数に対応する個数のチューナを設ける場合を説明したが、例えば、ユーザによって予め指定された特定の2つまたは3つのチャネルを対象に特定シーン録画処理を実行する場合には、搭載すべきチューナの個数は2つまたは3つでよい。
次に、図10を参照して、TVアプリケーションプログラム101の機能構成の第2の例について説明する。
本例においては、TVアプリケーションプログラム101は、録画済みの放送番組データの中から、ユーザによって入力された人物名等のキーワードによって指定される人物の顔が出現するシーンに対応する部分データを検出し、当該検出された部分データをチャプターとして設定する編集機能を実行する。
図10のTVアプリケーションプログラム101においては、図3のキャッシュ付き全チャネル録画処理部201および特定シーン録画処理部207の代わりに、録画処理部611および編集処理部601が設けられている。他の構成は図3と同じである。
録画処理部611は、TVチューナ123−1〜123−nの1つにユーザによって指定されたチャネルの放送番組データを受信させ、その受信された放送番組データをHDD122に格納する録画処理を実行する。
編集処理部601は、図4で説明したように、録画済みの放送番組データの中で照合用特徴データに類似する特徴を有する顔画像が出現するシーンに対応する部分データを検出し、当該検出された部分データの開始点および終了点を示すインデックス情報を生成する処理する処理、または検出された部分データを切り出して記録する処理等を実行する。
次に、図11のフローチャートを参照して、TVアプリケーションプログラム101の制御の下にCPU111によって実行される編集処理機能の手順を説明する。
ここでは、録画された放送番組(コマーシャルも含む)の中からタレントAが映っているシーンを自動検出し、当該シーンにインデックス付けを行う場合を想定する。
まず、ユーザによる入力部の操作に応じて、CPU111は、HDD121に格納されている録画済みの放送番組データ群の中から編集対象の放送番組データを選択する(ステップS41)。続いて、ユーザによる入力部の操作により、編集処理でチャプター設定の対象とすべき人物を指定するキーワード(タレントAの名前等)が入力される(ステップS42)。CPU111は、入力されたキーワードをキーワード記憶エリア301に保存する(ステップS43)。そして、CPU111は、入力されたキーワードで指定される人物(タレントA)に関する画像データ群をインターネット1から取得する(ステップS44)。このステップS44では、図3のステップS13で説明した手順が実行される。
画像データの取得が終了すると、CPU111は、取得された個々の画像データに対し、顔の部分(顔画像)を抜き出してその顔の特徴を分析する処理を顔画像処理モジュール128と共同して実行する(ステップS45)。この分析処理により、複数の顔画像サンプルそれぞれに対応する複数の特徴データ(特徴量)が生成される。そして、CPU111は、複数の特徴データの平均値を算出し、その平均値を照合用特徴データとして生成する(ステップS46)。この場合、異常な値の特徴データについては平均値算出対象から除外される。
この後、CPU111は、選択された放送番組データを顔画像処理モジュール128と共同して分析し、その放送番組データの中で照合用特徴データに類似する特徴を持つ顔画像が出現するシーンに対応する部分データを検出し、当該検出された部分データの開始点および終了点を示すインデックス情報を生成する(ステップS47)。このステップS47では、CPU111は、放送番組データの各フレームから人の顔を抽出し、その顔画像を分析して特徴データを生成する。この分析処理は、放送番組データの先頭フレームから順次実行される。そして、CPU111は、各フレームの顔画像の特徴データと照合用特徴データとを比較する。照合用特徴データに類似する特徴を有する最初のフレームが検出されると、CPU111は、当該フレームまたは当該フレームよりも数フレーム前のフレームを部分データの開始点として示すインデックス情報を生成する。そして、タレントAの登場シーンが終了し、照合用特徴データに類似する特徴を有するフレームが検出されなくなると、CPU111は、例えば、当該フレームの1フレームまたは数フレーム前のフレームを部分データの終了点として示すインデックス情報を生成する。これにより、図12に示すように、タレントAが登場する各シーンに対応する部分データがチャプター設定される。図12においては、放送番組データ中にタレントAが登場するシーンが2つあり、先頭のシーンに対応する部分データの開始点および終了点はインデックス情報S1,E1によって識別され、2番目のシーンに対応する部分データの開始点および終了点はインデックス情報S2,E2によって識別される。これにより、放送番組データの再生時には、最初に、インデックス情報S1,E1によって指定される部分データ(チャプタ1)を再生し、その再生終了時に、インデックス情報S2,E2によって指定される部分データ(チャプタ2)にスキップして、その再生をすることができる。
なお、このようなチャプター設定のみならず、図14に示すように、インデックス情報S1,E1によって指定される部分データ(チャプタ1)と、インデックス情報S2,E2によって指定される部分データ(チャプタ2)とを切り出し、それらを結合することによって、新たな放送番組データを作成してもよい。
次に、図14を参照して、TVアプリケーションプログラム101の機能構成の第3の例について説明する。
本例においては、TVアプリケーションプログラム101は、録画済みの放送番組データの中からユーザによって入力された人物名等のキーワードによって指定される人物の顔が出現するシーンに対応する部分データを検索する処理、または録画済みの放送番組データ群の中からユーザによって入力された人物名等のキーワードによって指定される人物の顔が出現するシーンを含む放送番組データを検索する処理を実行する。
図14のTVアプリケーションプログラム101においては、図3のキャッシュ付き全チャネル録画処理部201および特定シーン録画処理部207の代わりに、録画処理部611および検索処理部602が設けられている。他の構成は図3と同じである。
録画処理部611は、TVチューナ123−1〜123−nの1つにユーザによって指定されたチャネルの放送番組データを受信させ、その受信された放送番組データをHDD122に格納する録画処理を実行する。
検索処理部602は、図4で説明したように、録画済みの放送番組データの中から照合用特徴データに類似する特徴を有する顔画像が出現するシーンを検索する処理、および録画済みの放送番組データの中から照合用特徴データに類似する特徴を有する顔画像が出現するシーンを含む放送番組データを検索する処理等を実行する。
次に、図15のフローチャートを参照して、TVアプリケーションプログラム101の制御の下にCPU111によって実行される検索処理機能の手順を説明する。
ここでは、録画された放送番組の中からタレントAが映っているシーンを検索する場合を想定する。
まず、ユーザによる入力部の操作により、検索対象とすべき人物を指定するキーワード(タレントAの名前等)が入力される(ステップS51)。CPU111は、入力されたキーワードをキーワード記憶エリア301に保存する(ステップS52)。そして、CPU111は、入力されたキーワードで指定される人物(タレントA)に関する画像データ群をインターネット1から取得する(ステップS53)。このステップS53では、図3のステップS13で説明した手順が実行される。
画像データの取得が終了すると、CPU111は、取得された個々の画像データに対し、顔の部分(顔画像)を抜き出してその顔の特徴を分析する処理を顔画像処理モジュール128と共同して実行する(ステップS54)。この分析処理により、複数の顔画像サンプルそれぞれに対応する複数の特徴データ(特徴量)が生成される。そして、CPU111は、複数の特徴データの平均値を算出し、その平均値を照合用特徴データとして生成する(ステップS55)。この場合、異常な値の特徴データについては平均値算出対象から除外される。
この後、CPU111は、ユーザによって指定された検索対象の放送番組データを顔画像処理モジュール128と共同して分析し、その放送番組データの中から照合用特徴データに類似する特徴を持つ顔画像が出現するシーンを検索する(ステップS56)。このステップS56では、CPU111は、検索対象の放送番組データの各フレームから人の顔を抽出し、その顔画像を分析して特徴データを生成する。この分析処理は、放送番組データの先頭フレームから順次実行される。そして、CPU111は、各フレームの顔画像の特徴データと照合用特徴データとを比較することにより、照合用特徴データに類似する特徴を有するシーンに対応する部分データを検出する。検出された部分データは図4の再生処理部202によって再生される。
次に、図16を参照して、TVアプリケーションプログラム101の機能構成の第4の例について説明する。
本例においては、TVアプリケーションプログラム101は、上述の特定シーン録画処理機能に加え、学習機能を備えている。この学習機能は、インターネット1から取得された画像データ群の中から分析対象から除外すべき画像データをユーザに指定させ、一旦指定された画像データについては、以降の特定シーン録画処理における画像分析処理の対象から自動的に除外する機能である。
図16のTVアプリケーションプログラム101においては、図3の構成に加え、さらに学習処理部701が設けられている。
学習処理部701は、ネットワーク検索処理部204によって取得された画像データ群の中から分析対象から除外すべき画像データをユーザに選択させるための画面を表示する処理、およびユーザによって選択された画像データを識別するための識別情報を学習結果記憶エリア801に保存することによって、除外対象にすべき画像データを学習する処理等を実行する。顔特徴分析処理部405は、学習結果記憶エリア801に保存された識別情報によって指定された各画像データを、ネットワーク検索処理部204によって取得された画像データ群から取り除き、残りの画像データそれぞれから人物の顔画像を抽出する処理を実行する。
次に、図17のフローチャートを参照して、TVアプリケーションプログラム101の制御の下にCPU111によって実行される学習機能付き特定シーン録画処理機能の手順を説明する。
まず、ユーザによる入力部の操作により、特定シーン録画処理の対象とすべき人物を指定するキーワード(タレントAの名前等)が入力される(ステップS61)。CPU111は、入力されたキーワードをキーワード記憶エリア301に保存する(ステップS62)。そして、CPU111は、入力されたキーワードで指定される人物(タレントA)に関する画像データ群をインターネット1から取得する(ステップS63)。
画像データの取得が終了すると、CPU111は、取得された画像データ群の中から、前回までの学習によって除外すべきことが既に指定されている画像データ(学習結果記憶エリア801に識別情報が保存されている画像データ)それぞれを取り除く(ステップS64)。そして、CPU111は、残りの画像データの一覧を示す画面を表示して、除外すべき画像を選択すべきことをユーザに促す(ステップS65)。この後、CPU111は、ユーザによって選択された画像データを除外対象の画像データとして新たに学習するために、当該選択された画像データを識別する識別情報(当該画像データを取得したホームページのURLや当該画像データのファイル名)を学習結果記憶エリア801に保存する(ステップS66)。
この後、CPU111は、ユーザによって選択された画像および前回までの学習によって除外すべきことが既に指定されている画像を除く、残りの個々の画像データに対し、顔の部分(顔画像)を抜き出してその顔の特徴を分析する処理を顔画像処理モジュール128と共同して実行する(ステップS67)。この分析処理により、複数の顔画像サンプルそれぞれに対応する複数の特徴データ(特徴量)が生成される。そして、CPU111は、複数の特徴データの平均値を算出し、その平均値を照合用特徴データとして生成する(ステップS68)。この場合、異常な値の特徴データについては平均値算出対象から除外される。
この後、CPU111は、1以上のTVチューナ123−1から123−nにそれぞれ異なるチャンネルの放送番組データの受信を開始させ、そして1以上のチャンネルの放送番組データをそれぞれバッファ501に所定時間分格納するというキャッシュ付き全チャネル録画処理を開始する(ステップS69)。そして、CPU111は、バッファ501に格納された各チャネルの放送番組データを顔画像処理モジュール128と共同して分析し、各放送番組データの中で照合用特徴データに類似する特徴を持つ顔画像が出現するシーンのみを録画するという特定シーン録画処理を実行する(ステップS70)。
以上の学習機能により、より正確な照合用特徴データを生成することが可能となる。また、以上の学習機能は、上述の検索処理機能や編集処理機能にも適用することが出来る。
次に、図18を参照して、TVアプリケーションプログラム101の機能構成の第5の例について説明する。
本例においては、TVアプリケーションプログラム101は、HDD121内に格納されている静止画群の中から特定の人物の顔を含む静止画を検索する機能を有している。
すなわち、図18のTVアプリケーションプログラム101においては、図3のキーワード入力部203、ネットワーク検索処理部204、顔特徴分析処理部205、および特徴データ生成部206に加え、静止画検索処理部802を備えている。静止画検索処理部802は、静止画保存エリア803(例えばHDD121のような記憶領域)に格納されている静止画データ群の中から、照合用特徴データに類似する特徴を持つ顔画像を含む静止画データを検索する。
次に、図19のフローチャートを参照して、TVアプリケーションプログラム101の制御の下にCPU111によって実行される静止画検索処理機能の手順を説明する。
ここでは、コンピュータ10内に存在する静止画それぞれの中からタレントAが映っている静止画を検索する場合を想定する。
まず、ユーザによる入力部の操作により、検索対象とすべき人物を指定するキーワード(タレントAの名前等)が入力される(ステップS81)。CPU111は、入力されたキーワードをキーワード記憶エリア301に保存する(ステップS82)。そして、CPU111は、入力されたキーワードで指定される人物(タレントA)に関する画像データ群をインターネット1から取得する(ステップS83)。このステップS83では、図3のステップS13で説明した手順が実行される。
画像データの取得が終了すると、CPU111は、取得された個々の画像データに対し、顔の部分(顔画像)を抜き出してその顔の特徴を分析する処理を顔画像処理モジュール128と共同して実行する(ステップS84)。この分析処理により、複数の顔画像サンプルそれぞれに対応する複数の特徴データ(特徴量)が生成される。そして、CPU111は、複数の特徴データの平均値を算出し、その平均値を照合用特徴データとして生成する(ステップS85)。この場合、異常な値の特徴データについては平均値算出対象から除外される。
この後、CPU111は、ユーザによって指定された検索対象の記憶領域内に存在する静止画データそれぞれを顔画像処理モジュール128と共同して分析し、その静止画データ群の中から照合用特徴データに類似する特徴を持つ顔画像が映った静止画データを検索する(ステップS86)。このステップS86では、CPU111は、検索対象の各静止画データから人の顔を抽出し、その顔画像を分析して特徴データを生成する。そして、CPU111は、各静止画データの顔画像の特徴データと照合用特徴データとを比較することにより、照合用特徴データに類似する特徴を有する顔画像が映った静止画データを検索する。検索された静止画データは図4の再生処理部202によって再生される。
以上の静止画検索機能は、静止画を含むことが格納な各種文書ファィル(HTMLファイル、PDFファイル等)を対象に実行することもできる。これにより、ユーザは、人物を指定するキーワードを入力するだけで、その人物の顔を含む静止画を容易に参照することができる。
次に、図20を参照して、TVアプリケーションプログラム101の機能構成の第6の例について説明する。
本例においては、TVアプリケーションプログラム101は、録画済みの放送番組データ、他の動画像データ、および静止画像データといった様々な画像データの中から、ユーザによって入力された商品名、ブランド名、メーカ名、等のキーワードによって指定される物品(場所も含む)の映像(例えば、商品名、ブランド名を示すロゴ等の文字列を含む映像)を含む画像データを検索する処理を実行する。
図20のTVアプリケーションプログラム101においては、図3のキャッシュ付き全チャネル録画処理部201、顔特徴分析処理部205、特徴データ生成部206および特定シーン録画処理部207の代わりに、録画処理部611、特徴分析処理部901、文字列特徴データ生成部902、および検索処理部903が設けられている。他の構成は図3と同じである。
録画処理部611は、TVチューナ123−1〜123−nの1つにユーザによって指定されたチャネルの放送番組データを受信させ、その受信された放送番組データをHDD122に格納する録画処理を実行する。
特徴分析処理部901は、ネットワーク検索処理部204によって得られた画像データ等を対象に、当該画像データから文字列を示す画像(文字列画像)を抽出し、その文字列画像の特徴を分析することによって、文字列画像の特徴を示す特徴データを生成する。特徴データとしては、例えば、文字列内の文字それぞれの形状の特徴を示す値を用いることが出来る。文字列特徴データ生成部902は、例えば、複数の文字列画像それぞれに対応する特徴データの値を文字毎に平均して、照合用特徴データを生成する。検索処理部903は、HDD121に格納されている様々な画像データ群の中から、照合用特徴データと類似する特徴を有する文字列画像を含む画像データを検索する。
次に、図21のフローチャートを参照して、TVアプリケーションプログラム101の制御の下にCPU111によって実行される検索処理機能の手順を説明する。
ここでは、HDD121に格納されている様々な画像データ群の中から、あるロゴAが映っている画像データを検索する場合を想定する。
まず、ユーザによる入力部の操作により、検索対象とすべき物品に関するロゴAを指定するキーワード(ロゴAを示す文字列)が入力される。CPU111は、入力されたキーワードをキーワード記憶エリア301に保存する。そして、CPU111は、入力されたキーワード(文字列)に関する画像データ群をインターネット1から取得する。画像データの取得が終了すると、CPU111は、取得された個々の画像データに対し、文字列画像の部分を抜き出してその文字列画像の特徴を分析する処理を実行する。そして、CPU111は、複数の特徴データの平均値を算出し、その平均値を照合用特徴データとして生成する。
この後、CPU111は、1以上のTVチューナ123−1から123−nにそれぞれ異なるチャンネルの放送番組データの受信を開始させ、そして1以上のチャンネルの放送番組データをそれぞれバッファ501に所定時間分格納するというキャッシュ付き全チャネル録画処理を開始する。そして、CPU111は、バッファ501に格納された各チャネルの放送番組データを分析し、各放送番組データの中で照合用特徴データに類似する特徴を持つ文字列画像が出現するシーンのみを録画するという特定シーン録画処理を実行する。この特定シーン録画処理では、バッファに格納されている各チャネル毎に放送番組データの各フレームから文字列画像を抽出し、その文字列画像を分析して特徴データを生成する。この分析処理は、放送番組データの先頭フレームから順次実行される。そして、CPU111は、各フレームの文字列画像の特徴データと照合用特徴データとを比較する。たとえば、あるチャネルXの放送番組データの映像データの中で、照合用特徴データに類似する特徴を有するフレームが検出されると、CPU111は、当該チャネルXの放送番組データの録画を開始する。類似する文字列画像の登場シーンが終了し、チャネルXの放送番組データの中から照合用特徴データに類似する特徴を有する文字列画像が検出されなくなると、チャネルXの放送番組データの録画は中断される。
以上のように、本実施形態によれば、ユーザによって入力されたキーワードに関する画像データ群をインターネット1から自動的に取得して特徴データを生成することにより、ユーザ自身が画像の登録操作等を行うことなく、放送番組データの中の特定シーンのみを録画する処理等を容易に実行することが可能となる。
また、本実施形態の処理手順は全てプログラムによって実現することができるので、このプログラムをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータに導入するだけで、本実施形態と同様の効果を容易に実現することができる。
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
3…検索サーバ、101…TVアプリケーションプログラム、111…CPU、123−1〜123−n…TVチューナ、201…キャッシュ付き全チャネル録画処理部、202…再生処理部、203…キーワード入力部203、204…ネットワーク検索処理部、205…顔特徴分析部、206…特徴データ生成部、207…特定シーン録画処理部。