以下、適宜図面を参照しながら、実施の形態を詳細に説明する。ただし、必要以上に詳細な説明は省略する場合がある。例えば、すでによく知られた事項の詳細説明、および実質的に同一の構成に対する重複説明等を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、同じ構成要素については同じ符号を付している。
(実施の形態1)
[1−1.コンテンツ認識システム]
まず、本実施の形態におけるコンテンツ認識システムについて、図1を用いて説明する。
図1は、実施の形態1におけるコンテンツ認識システム1の一構成例を示すブロック図である。
図1に示すように、コンテンツ認識システム1は、放送局2と、STB(Set Top Box)3と、受信装置10と、コンテンツ認識装置20と、広告サーバ装置30と、を備える。
放送局2は、映像コンテンツを映像信号に変換してテレビジョン放送信号(以下、単に「放送信号」とも記す)として放送するように構成された送信装置である。映像コンテンツは、例えば、無線または有線の放送または通信によって放送される放送コンテンツであり、テレビ番組等の番組コンテンツと、コマーシャルメッセージ(CM)等の広告用の映像コンテンツ(以下、「広告コンテンツ」と記す)と、が含まれる。番組コンテンツと広告コンテンツとは、時間の経過に伴って互いに切り替わる。
放送局2は、映像コンテンツをSTB3およびコンテンツ認識装置20に送信する。例えば、放送局2は、放送によって映像コンテンツをSTB3に送信し、かつ、通信によって映像コンテンツをコンテンツ認識装置20に送信する。
STB3は、放送局2から放送される放送信号を受信し、受信した放送信号に基づく映像信号等を出力するように構成されたチューナ・デコーダである。STB3は、放送局2から放送された放送信号の中から、ユーザの指示に基づいて選局された放送チャンネルを受信する。そして、受信した放送チャンネルの映像コンテンツをデコードし、デコードした映像コンテンツを、通信路を介して受信装置10に出力する。なお、通信路は、例えば、HDMI(登録商標)(High−Definition Multimedia Interface)、等である。
受信装置10は、例えばテレビ等の映像受信装置である。受信装置10は、通信ネットワーク105を介してコンテンツ認識装置20および広告サーバ装置30と接続されている。受信装置10は、受信した映像コンテンツのフレームシーケンスから複数の画像フレームを抽出し、抽出した画像フレームに基づいて認識データを生成する。受信装置10は、生成した認識データをコンテンツ認識装置20に送信し、コンテンツ認識装置20から映像コンテンツの認識結果を受信する。受信装置10は、映像コンテンツの認識結果に基づいて広告サーバ装置30から付加情報を取得し、取得した付加情報を、映像コンテンツと共に実質的にリアルタイムで表示画面に表示する。
なお、認識データは、例えば、映像コンテンツを表すデータであって、映像コンテンツの認識(例えば、ACR)に用いられるデータである。具体的には、認識データは、画像フレーム間の画像の変化に基づいて生成されるフィンガープリント(ハッシュ値)を含んでいる。
また、画像フレームは、映像コンテンツを構成するピクチャである。画像フレームには、プログレッシブ方式におけるフレームや、インターレース方式におけるフィールド、等が含まれる。
コンテンツ認識装置20は、例えば、サーバ装置である。コンテンツ認識装置20は、入力される複数の映像コンテンツからそれぞれの認識データを生成し、これらの認識データの中から選別された認識データと受信装置10から送られる認識データとを照合することで、映像コンテンツの認識処理を実行する。以下、映像コンテンツの認識処理を、「画像認識処理」または「画像認識」とも記す。コンテンツ認識装置20は、その照合に成功すれば、それら複数の映像コンテンツの中から1つの映像コンテンツを画像認識の結果として選択する。すなわち、それら複数の映像コンテンツのそれぞれは、受信装置10から送られる認識データに対応する映像コンテンツとして選択される可能性がある映像コンテンツの候補である。したがって、ここでは、以下、コンテンツ認識装置20が受信した映像コンテンツを、「映像コンテンツ候補」とも記す。コンテンツ認識装置20は、画像認識装置の一例であり、映像コンテンツの認識(例えば、ACR)を行うように構成された装置である。
例えば、コンテンツ認識装置20は、複数の放送局2から放送中の複数の映像コンテンツ候補を受信し、認識データの生成を行う。そして、コンテンツ認識装置20は、受信装置10から送信される認識データを受信し、受信した認識データと映像コンテンツ候補の認識データとを用いて実質的にリアルタイムで映像コンテンツの認識(画像認識処理)を行う。
広告サーバ装置30は、例えば、コンテンツ認識装置20による映像コンテンツの認識結果に関連する付加情報を配信するサーバ装置である。例えば、広告サーバ装置30は、様々な商品の広告を保持して配信する広告配信サーバである。
なお、本実施の形態では、コンテンツ認識装置20と広告サーバ装置30とは、それぞれが互いに独立したサーバ装置であるが、1台のWebサーバにコンテンツ認識装置20と広告サーバ装置30とが含まれていてもよい。
以下、受信装置10、コンテンツ認識装置20および広告サーバ装置30の各構成について、説明する。
[1−1−1.受信装置]
まず、本実施の形態における受信装置10について、図1および図2を用いて説明する。
図2は、実施の形態1における受信装置10の一構成例を示すブロック図である。なお、図2は、受信装置10の主要なハードウェア構成を示している。
図1に示すように、受信装置10は、映像受信部11と、映像抽出部12と、付加情報取得部13と、映像出力部14と、認識部100と、を備える。より詳細には、図2に示すように、受信装置10は、さらに、制御部15と、操作信号受信部16と、HTTP(Hyper Text Transfer Protocol)送受信部17と、を備える。また、図2に示すように、付加情報取得部13は、付加情報格納部18と、付加情報表示制御部19と、を備える。
制御部15は、受信装置10が備える各構成要素を制御するように構成された処理部である。制御部15は、不揮発性メモリ、CPU(Central Processing Unit)、揮発性メモリ、を備えている。不揮発性メモリは、例えばROM(Read Only Memory)等であり、プログラム(アプリケーションプログラム、等)を格納している。CPUは、そのプログラムを実行するように構成されている。揮発性メモリは、例えばRAM(Random Access Memory)等であり、CPUが動作しているときの一時的な作業領域として使用される。
操作信号受信部16は、操作部(図示せず)から出力される操作信号を受信するように構成された回路である。操作信号は、受信装置10を操作するためにユーザが操作部(例えば、リモートコントローラ。以下、「リモコン」と記す)を操作することで、その操作部から出力される信号である。なお、操作部が、ジャイロセンサを有するリモコンである場合、操作信号受信部16は、そのリモコンから出力されるリモコン自身の物理的な動きに関する情報(ユーザがリモコンを、振る、傾ける、向きを変える、等したときの動きを示す信号)を受信するように構成されていてもよい。
HTTP送受信部17は、通信ネットワーク105を介してコンテンツ認識装置20および広告サーバ装置30と通信するように構成されたインターフェイスである。HTTP送受信部17は、例えば、IEEE802.3の規格に適合する有線LAN(Local Area Network)用の通信アダプタである。
HTTP送受信部17は、例えば、コンテンツ認識装置20に通信ネットワーク105を介して認識データを送信する。また、HTTP送受信部17は、コンテンツ認識装置20から送信される映像コンテンツの認識結果を通信ネットワーク105を介して受信する。
また、HTTP送受信部17は、例えば、広告サーバ装置30から通信ネットワーク105を介して送信される付加情報を取得する。取得した付加情報は、制御部15を介して付加情報格納部18に格納される。
映像受信部11は、映像コンテンツを受信するように構成された受信回路およびデコーダ(図示せず)、を有する。映像受信部11は、例えば、操作信号受信部16で受信された操作信号に基づき、受信する放送チャンネルの選局や外部から入力される信号の選択、等を行う。
図2に示すように、映像受信部11は、映像入力部11aと、第1外部入力部11bと、第2外部入力部11cと、を備える。
映像入力部11aは、例えばアンテナ(図示せず)で受信される放送信号(図2には、「TV放送信号」と記す)等の、外部から送信されてくる映像信号を入力するように構成された回路である。
第1外部入力部11bおよび第2外部入力部11cは、STB3および映像信号記録再生装置(図示せず)等の外部機器から送信されてくる映像信号(図2には、「外部入力信号」と記す)を入力するように構成されたインターフェイスである。第1外部入力部11bは、例えば、HDMI(登録商標)端子であり、HDMI(登録商標)に適合したケーブルによってSTB3に接続されている。
映像抽出部12は、映像受信部11によって受信された映像コンテンツを構成するフレームシーケンスから、所定のフレームレートで複数の画像フレームを抽出する。例えば、映像コンテンツのフレームレートが60fps(Frames Per Second)である場合に、映像抽出部12は、30fps、または20fps、または15fps、といったフレームレートで複数の画像フレームを抽出する。なお、後段の認識部100が60fpsの映像を処理可能な処理能力を持っていれば、映像抽出部12は、映像コンテンツのフレームシーケンスを構成する全ての画像フレームを抽出してもよい。
付加情報取得部13は、情報を取得する回路および通信インターフェイスとして動作する。付加情報取得部13は、認識部100が取得した映像コンテンツの認識結果に基づいて、広告サーバ装置30から付加情報を取得する。
映像出力部14は、映像受信部11によって受信された映像コンテンツを表示画面に出力するように構成された表示制御回路である。表示画面は、例えば、液晶表示装置や有機EL(Electro Luminescence)等のディスプレイである。
付加情報格納部18は、付加情報を格納するように構成された記憶装置である。付加情報格納部18は、例えば、フラッシュメモリ等の不揮発性記憶素子である。例えば、付加情報格納部18は、広告サーバ装置30から取得した付加情報に加え、EPG(Electronic Program Guide)等の番組メタ情報を保持してもよい。
付加情報表示制御部19は、広告サーバ装置30から取得した付加情報を、映像受信部11で受信した映像コンテンツ(例えば、番組コンテンツ)に重畳するように構成されている。付加情報表示制御部19は、例えば、番組コンテンツに含まれる各画像フレームに付加情報を重畳して重畳画像を生成し、生成した重畳画像を映像出力部14に出力する。映像出力部14が重畳画像を表示画面に出力することで、表示画面には、付加情報が重畳された番組コンテンツが表示される。
認識部100は、認識データを生成するように構成された処理部である。認識部100は、生成した認識データをコンテンツ認識装置20に送信し、コンテンツ認識装置20から認識結果を受信する。
図1に示すように、認識部100は、フィンガープリント生成部110と、フィンガープリント送信部120と、認識結果受信部130と、を備える。
フィンガープリント生成部110は、認識データ生成回路の一例である。フィンガープリント生成部110は、映像抽出部12によって抽出された複数の画像フレームを用いて、認識データを生成する。具体的には、フィンガープリント生成部110は、フレーム間における画像の変化に基づいて、フレーム間毎にフィンガープリントを生成する。例えば、フィンガープリント生成部110は、映像抽出部12によって抽出された画像フレームを取得する度に、直前に取得した画像フレームとの間で変化量を算出し、算出した変化量に基づいてフィンガープリントを生成する。生成したフィンガープリントは、フィンガープリント送信部120に出力される。
なお、フィンガープリント生成部110の詳細な動作、および、生成されるフィンガープリントの具体例については、後述する。
フィンガープリント送信部120は、フィンガープリント生成部110によって生成された認識データをコンテンツ認識装置20に送信する。具体的には、フィンガープリント送信部120は、図2に示すHTTP送受信部17および通信ネットワーク105を介してコンテンツ認識装置20に認識データを送信する。
図3は、実施の形態1における受信装置10が送信する認識データ40の一例を模式的に示す図である。
図3に示すように、認識データ40には、複数のフィンガープリント43と、各フィンガープリント43に対応付けられているタイミング情報41および種別情報42と、が含まれる。
タイミング情報41は、フィンガープリント43が生成された時刻を示す情報である。種別情報42は、フィンガープリント43の種類を示す情報である。種別情報42には、フレーム間の画像の変化が相対的に小さい静的フィンガープリント(以下、「Aタイプ」とも記載する)を示す情報と、フレーム間の画像の変化が相対的に大きい動的フィンガープリント(以下、「Bタイプ」とも記載する)を示す情報との2種類がある。
フィンガープリント43は、映像コンテンツを構成するフレームシーケンスに含まれる複数の画像フレームのフレーム間の画像の変化に基づいて生成される情報(例えば、ハッシュ値)である。フィンガープリント43は、図3に示すように、「018」、「184」などの複数の特徴量を含んでいる。フィンガープリント43の詳細は後述する。
フィンガープリント送信部120は、認識データ40をコンテンツ認識装置20に送信する。このとき、フィンガープリント送信部120は、フィンガープリント生成部110によって認識データ40が生成される度に、生成された認識データ40を順次送信する。
また、受信装置10は、付属情報をコンテンツ認識装置20に送信する。付属情報については後述する。受信装置10は、付属情報を、認識データ40に含めて送信してもよく、認識データ40とは独立に送信してもよい。あるいは、認識データ40に含めて送信する付属情報と、認識データ40とは独立に送信する付属情報との両方があってもよい。
認識結果受信部130は、コンテンツ認識装置20から映像コンテンツの認識結果を受信する。具体的には、認識結果受信部130は、図2に示す通信ネットワーク105およびHTTP送受信部17を介してコンテンツ認識装置20から認識データを受信する。
映像コンテンツの認識結果には、映像コンテンツを特定するための情報が含まれる。この情報は、例えば、映像コンテンツを放送する放送局を示す情報や、映像コンテンツの名称を示す情報、等である。認識結果受信部130は、映像コンテンツの認識結果を付加情報取得部13に出力する。
[1−1−2.コンテンツ認識装置]
次に、本実施の形態におけるコンテンツ認識装置20について、図1を用いて説明する。
図1に示すように、コンテンツ認識装置20は、コンテンツ受信部21と、フィンガープリントデータベース(以下、「フィンガープリントDB」と記す)22と、フィンガープリントフィルタリング部23と、フィンガープリント照合部24と、フィンガープリント履歴情報DB25と、フィンガープリント生成部2110と、を備える。なお、図2のコンテンツ認識装置20には、フィンガープリントDB22のみを示し、他のブロックは省略している。
コンテンツ受信部21は、受信回路およびデコーダを備え、放送局2から送信される映像コンテンツを受信するように構成されている。複数の放送局2がある場合には、コンテンツ受信部21は、複数の放送局2のそれぞれが生成し、送信する全ての映像コンテンツを受信する。上述したように、これら受信された映像コンテンツが、映像コンテンツ候補である。コンテンツ受信部21は、受信した映像コンテンツ候補を、フィンガープリント生成部2110に出力する。
フィンガープリント生成部2110は、映像コンテンツ候補毎に認識データ50を生成する。具体的には、フィンガープリント生成部2110は、受信した映像コンテンツ候補を構成するフレームシーケンスの画像フレーム間の変化に基づいて、画像フレーム間毎にフィンガープリント53を生成する。したがって、フィンガープリント生成部2110は、受信した映像コンテンツ候補のフレームレートで、フィンガープリント53を生成する。例えば、映像コンテンツ候補のフレームレートが60fpsであれば、フィンガープリント生成部2110は、1秒間に60のフィンガープリント53を生成する。
なお、コンテンツ認識装置20が備えるフィンガープリント生成部2110は、例えば、受信装置10の認識部100が備えるフィンガープリント生成部110と実質的に同じ構成および動作であってもよい。フィンガープリント生成部2110の詳細は、図7を用いて後述する。
フィンガープリントDB22は、複数の映像コンテンツ候補の認識データ50を保存するデータベースである。フィンガープリントDB22には、例えば、複数の映像コンテンツを互いに識別するための識別情報(例えば、コンテンツID(IDentifier))と、認識データ50と、が互いに対応付けられて保存されている。コンテンツ認識装置20は、新たな映像コンテンツがコンテンツ受信部21で受信される毎に、フィンガープリント生成部2110で新たなフィンガープリント53を生成して、フィンガープリントDB22を更新する。
フィンガープリントDB22は、コンテンツ認識装置20が備える記憶装置(例えば、HDD(Hard Disk Drive)等)に記憶されている。なお、フィンガープリントDB22は、コンテンツ認識装置20の外部に設置された記憶装置に記憶されていてもよい。
ここで、フィンガープリントDB22に保存される認識データ50について、図4を用いて説明する。
図4は、実施の形態1におけるフィンガープリントDB22に保存される認識データ50の一例を模式的に示す図である。
図4に示す例では、フィンガープリントDB22に、認識データ50a、認識データ50b、認識データ50c、が認識データ50として保存されている。認識データ50a、認識データ50b、認識データ50cは、認識データ50の一例である。図4に示す例では、認識データ50aは映像コンテンツα1に対応する認識データ50であり、認識データ50bは映像コンテンツβ1に対応する認識データ50であり、認識データ50cは映像コンテンツγ1に対応する認識データ50である。なお、映像コンテンツα1は放送局αから、映像コンテンツβ1は放送局βから、映像コンテンツγ1は放送局γから、それぞれほぼ同時刻に放送された映像コンテンツ候補である。
図4に示すように、認識データ50aは複数のフィンガープリント53aを含み、認識データ50bは複数のフィンガープリント53bを含み、認識データ50cは複数のフィンガープリント53cを含む。フィンガープリント53a、フィンガープリント53b、フィンガープリント53cは、フィンガープリント53の一例である。フィンガープリント53aにはタイミング情報51aと種別情報52aとが対応付けられ、フィンガープリント53bにはタイミング情報51bと種別情報52bとが対応付けられ、フィンガープリント53cにはタイミング情報51cと種別情報52cとが対応付けられている。タイミング情報51a、タイミング情報51b、タイミング情報51cはタイミング情報51の一例であり、種別情報52a、種別情報52b、種別情報52cは種別情報52の一例である。なお、タイミング情報51は図3に示すタイミング情報41と同様のデータ(すなわち、フィンガープリント53が生成された時刻を示す情報)であり、種別情報52は図3に示す種別情報42と同様のデータ(すなわち、フィンガープリント53の種類を示す情報)であり、フィンガープリント53は図3に示すフィンガープリント43と同様のデータである。
コンテンツ認識装置20のフィンガープリントフィルタリング部23は、選別部の一例であり、外部から入力される認識データ40に含まれる付属情報を用いて映像コンテンツ候補を選別(以下、「フィルタリング」と記す)する。具体的には、フィンガープリントフィルタリング部23は、放送局2から受信した映像コンテンツ候補に関する付属情報と、受信装置10から取得した付属情報とを用いて、フィンガープリントDB22から、画像認識処理において照合に用いるために(すなわち、照合の対象とするために)読み出す認識データ50を、フィルタリングして絞り込む。このように、フィンガープリントフィルタリング部23は、画像認識処理において照合対象とする、映像コンテンツ候補を、このフィルタリング処理により選別する。
付属情報には、上述した種別情報42、52が含まれる。
フィンガープリントフィルタリング部23は、種別情報42、52を用いて、プロパティフィルタリングおよびプロパティシーケンスフィルタリングを行う。プロパティフィルタリングおよびプロパティシーケンスフィルタリングの詳細は、図20〜図23を用いて後述する。
付属情報には、受信装置10で受信される映像コンテンツを送信する放送局2の位置を示す情報(以下、「地理情報」と記す)、または受信装置10の位置を示す地理情報、が含まれてもよい。地理情報は、例えば、受信装置10のIP(Internet Protocol)アドレスに基づいて特定される地域を示す情報であってもよい。
付属情報に地理情報が含まれる場合、フィンガープリントフィルタリング部23は、その地理情報を用いて、リージョンフィルタリング処理を行う。リージョンフィルタリング処理とは、地理情報が示す地域では視聴できない放送局2から放送される映像コンテンツ候補を、画像認識処理における照合対象から除外する処理である。
また、付属情報には、受信装置10に対応付けられたユーザに関する情報(以下、「ユーザ情報」と記す)が含まれてもよい。ユーザ情報には、例えば、ユーザの趣味、嗜好、年齢、性別、または職業、等を示す情報が含まれる。ユーザが受信装置10で受信した映像コンテンツの履歴を示す情報が、ユーザ情報に含まれてもよい。
付属情報にユーザ情報が含まれる場合、フィンガープリントフィルタリング部23は、そのユーザ情報を用いて、プロファイルフィルタリング処理を行う。プロファイルフィルタリング処理とは、ユーザ情報が示すユーザの特徴や嗜好等に合致しない映像コンテンツ候補を、画像認識処理における照合対象から除外する処理である。
なお、フィンガープリントフィルタリング部23でプロファイルフィルタリング処理を行う場合、フィンガープリントDB22には、映像コンテンツの特徴を示す情報(以下、「コンテンツ情報」と記す)が、フィンガープリント53に対応付けられて保存されることが望ましい。コンテンツ情報には、例えば、その映像コンテンツを視聴することが期待されるユーザの特徴を示す情報、が含まれる。コンテンツ情報には、その映像コンテンツのジャンル、その映像コンテンツの視聴が期待されるユーザの年齢層や性別、等が含まれてもよい。
コンテンツ認識装置20のフィンガープリント照合部24は、照合部の一例である。フィンガープリント照合部24は、フィンガープリントフィルタリング部23によって選別された認識データ50に含まれるフィンガープリント53と、受信装置10からコンテンツ認識装置20に送信された認識データ40に含まれるフィンガープリント43と、を照合し、認識データ40に含まれるフィンガープリント43に対応する映像コンテンツを、複数の映像コンテンツ候補の中から特定する。このように、フィンガープリント43に基づき映像コンテンツを特定することが、「映像コンテンツの認識」である。
フィンガープリント照合部24は、受信装置10から送信されコンテンツ認識装置20で受信されたフィンガープリント43の特徴量のそれぞれを、フィンガープリントフィルタリング部23で選別されてフィンガープリントDB22から読み出された認識データ50に含まれるフィンガープリント53の全ての特徴量と、照合する。これにより、フィンガープリント照合部24は、受信装置10からコンテンツ認識装置20に送信された認識データ40に対応する映像コンテンツを認識する。
図3、図4に示す例では、フィンガープリント照合部24は、フィンガープリント43を、フィンガープリント53a、53b、53cと照合する。フィンガープリント43とフィンガープリント53aとは、ともに、「018」、「184」等の互いに共通する複数の特徴量を含んでいる。したがって、フィンガープリント照合部24は、画像認識の結果として、フィンガープリント53aに対応する映像コンテンツα1を示す情報を受信装置10に返信する。
フィンガープリント照合部24の詳細な動作は、図24〜図28を用いて後述する。
フィンガープリント履歴情報DB25は、コンテンツ認識装置20が受信装置10から受信した認識データ40が時系列(例えば、受信順)で保持されたデータベースである。フィンガープリント履歴情報DB25は、コンテンツ認識装置20が備えるメモリ等の記憶装置(図示せず)に記憶されている。コンテンツ認識装置20が受信装置10から認識データ40を受信すると、フィンガープリント履歴情報DB25は、その認識データ40が追加されて更新される。
なお、フィンガープリント履歴情報DB25には、あらかじめ定められた期間にコンテンツ認識装置20が受信した認識データ40が、受信順に保持されていてもよい。あらかじめ定められた期間は、例えば、コンテンツ認識装置20が、受信装置10から認識データ40を受信してから、その認識データ40に基づく画像認識処理が終了するまでの期間、であってもよい。
なお、コンテンツ認識装置20は、画像認識処理の結果、受信装置10から送信された認識データ40に対応する映像コンテンツを特定できなかった場合、画像認識ができなかったことを示す情報を受信装置10に送信してもよく、あるいは、何も送信しなくてもよい。
なお、コンテンツ認識装置20は、通信部(図示せず)を備え、その通信部および通信ネットワーク105を介して、受信装置10と通信する。例えば、コンテンツ認識装置20は、受信装置10から送信される認識データ40を、その通信部を介して受信し、受信した認識データ40に基づく画像認識の結果を、その通信部を介して受信装置10に送信する。
[1−1−3.広告サーバ装置]
次に、広告サーバ装置30について説明する。
広告サーバ装置30は、放送局2から送信される映像コンテンツに関する付加情報を配信するように構成されたWebサーバである。図1に示すように、広告サーバ装置30は、付加情報DB31を備える。
付加情報DB31は、映像コンテンツ毎に、映像コンテンツを表す情報と付加情報とを互いに対応付けたデータベースである。付加情報DB31では、例えば、コンテンツIDと付加情報とが互いに対応付けられている。
付加情報DB31は、広告サーバ装置30が備える記憶装置(例えば、HDD、等)に記憶されている。なお、付加情報DB31は、広告サーバ装置30の外部に設置された記憶装置に記憶されていてもよい。
付加情報は、例えば、映像コンテンツ内に表示される物(例えば、広告対象の商品、等)の属性を示す情報である。付加情報は、例えば、商品の仕様、販売店(例えば、販売店の住所、URL(Uniform Resource Locator)、電話番号、等)、製造者、使用方法、効能、等の商品に関する情報である。
[1−2.フィンガープリント生成部]
次に、本実施の形態におけるフィンガープリント生成部110について説明する。
フィンガープリント生成部110は、映像コンテンツを構成するフレームシーケンスにおける静的領域および動的領域の少なくとも一方に基づいて、フィンガープリントを生成するように構成されている。フィンガープリント生成部110は、例えば集積回路等で実現することができる。
以下、まず静的領域および動的領域について、図5および図6を用いて説明する。
図2の映像抽出部12は、映像コンテンツを構成するフレームシーケンスから、所定のフレームレートで複数の画像フレームを抽出するように構成されている。このフレームレートは、認識部100における処理能力等に基づいて設定される。本実施の形態では、放送局2から放送される映像コンテンツのフレームレートが60fpsであり、映像抽出部12が、30fps、20fps、15fpsの3つのフレームレートで画像フレームを抽出するときの動作例を説明する。なお、映像抽出部12は、複数のフレームレートで画像フレームを抽出するわけではない。図5、図6は、抽出するフレームレートが異なるときの動作例を示しているに過ぎない。図5、図6に示す例では、映像抽出部12は、30fps、または20fps、または15fps、のいずれかのフレームレートで画像フレームを抽出する。
[1−2−1.静的領域]
静的領域とは、2つの画像フレーム間で画像の変化量が、あらかじめ定められた閾値(以下、「第1閾値」と記す)よりも少ない領域のことである。静的領域は、例えば、画像中の背景または動きや変化の少ない被写体が占める領域、等である。静的領域は、画像フレーム間で画像の変化量を算出することにより決定される。
図5は、実施の形態1における映像抽出部12で抽出される各フレームレートの画像フレームと静的領域との関係の一例を模式的に示す図である。
図5に一例として示す放送映像の映像コンテンツは、映像に大きな変化がない同一のシーンが9フレームで構成されている。映像内では、2人の被写体が動いているが、背景は動いていない。
図5に示すように、映像抽出部12が30fps、20fps、15fpsのいずれのフレームレートで画像フレームを抽出したとしても、各フレームレートにおいて決定される静的領域は、互いに類似し、かつ、放送される60fpsの映像コンテンツにおいて決定される静的領域に類似する。
このことから、画像フレームを抽出する際のフレームレートが30fps、20fps、15fpsのいずれであっても、映像抽出部12で抽出される画像フレームにおいて決定される静的領域と、放送される映像コンテンツにおいて決定される静的領域と、を互いに照合することで、映像コンテンツの認識が可能であることが分かる。静的領域は、画像フレームにおいて背景および動きや変化の小さい被写体等が占める領域であり、所定の期間(例えば、数秒間)は画像フレーム内に存在する可能性が高い領域である。したがって、静的領域を用いることで、高精度な認識が可能になる。
コンテンツ認識装置20では、放送局2から放送される映像コンテンツを受信し、その映像コンテンツにおける静的領域に基づき静的フィンガープリントを生成してフィンガープリントDB22に保存する。したがって、コンテンツ認識装置20は、受信装置10において受信中の映像コンテンツに基づき生成された静的フィンガープリントを受信装置10から受信したときに、受信装置10で受信中の映像コンテンツを認識することができる。
[1−2−2.動的領域]
動的領域とは、2つの画像フレーム間で画像の変化量が、あらかじめ定められた閾値(以下、「第2閾値」と記す)より大きい領域のことである。動的領域は、例えば、シーンの切り替わり時に大きな画像の変化が発生する領域、等である。
図6は、実施の形態1における映像抽出部12で抽出される各フレームレートの画像フレームと動的領域との関係の一例を模式的に示す図である。
図6に一例として示す映像コンテンツは、シーンの切り替えを含んでいる。図6に示す映像コンテンツは、時間の経過とともに切り替わる第1〜第3の3つのシーンを含んでいる。第1のシーンは画像フレームA001〜A003を含み、第2のシーンは画像フレームA004〜A006を含み、第3のシーンは画像フレームA007〜A009を含む。
動的領域は、画像フレーム間で画像の変化量を算出することにより決定される。
図6に示す例では、30fps、20fps、15fpsのいずれの場合においても、映像抽出部12で抽出される複数の画像フレームには、3つのシーンのそれぞれの画像フレームが含まれている。このため、時間的に隣り合う2つの画像フレーム間で画像の変化量を算出すると、シーンの切り替わりの前後の画像フレームで大きな変化量が算出される。なお、図6には、一例として、第1のシーンから第2のシーンへの切り替わりにおける動的領域を示す。
例えば、図6の30fpsにおいて、第1のシーンと第2のシーンとの切り替わりは、画像フレームA003と画像フレームA005である。したがって、図6の30fpsでは、動的領域は、画像フレームA003と画像フレームA005との間で発生する。同様に、図6の20fpsでは、動的領域は、画像フレームA001と画像フレームA004との間で発生し、図6の15fpsでは、動的領域は、画像フレームA001と画像フレームA005との間で発生する。
一方、放送される60fpsの映像コンテンツにおいて、第1のシーンと第2のシーンの切り替わりは、画像フレームA003と画像フレームA004である。したがって、放送される映像コンテンツでは、動的領域は、画像フレームA003と画像フレームA004との間で発生する。
すなわち、放送される60fpsの映像コンテンツにおける動的領域と、映像抽出部12によって抽出される30fps、20fps、15fpsのそれぞれにおける動的領域とは、図6に示すように、互いに類似している。
このように、映像抽出部12が30fps、20fps、15fpsのいずれのフレームレートで画像フレームを抽出したとしても、各フレームレートのそれぞれで決定される動的領域は、互いに類似し、かつ、放送される60fpsの映像コンテンツにおいて決定される動的領域に類似する。
このことから、画像フレームを抽出する際のフレームレートが30fps、20fps、15fpsのいずれであっても、映像抽出部12で抽出される画像フレームに基づき決定される動的領域と、放送される映像コンテンツにおいて決定される動的領域と、を互いに照合することで、映像コンテンツの認識が可能であることが分かる。動的領域は、シーンの切り替わり等により大きな画像の変化が発生した領域であり、特徴的な画像の変化が起きた領域である。したがって、動的領域を用いることで、高精度な認識が可能になる。また、特徴的な画像の変化に基づいて認識が行われるので、認識に必要なフレーム数を従来に比べて削減することができ、認識にかかる処理を高速にすることができる。
コンテンツ認識装置20では、放送局2から放送される映像コンテンツを受信し、その映像コンテンツにおける動的領域に基づき動的フィンガープリントを生成してフィンガープリントDB22に保存する。したがって、コンテンツ認識装置20は、受信装置10において受信中の映像コンテンツに基づき生成された動的フィンガープリントを受信装置10から受信したときに、受信装置10で受信中の映像コンテンツを認識することができる。
[1−2−3.構成]
次に、本実施の形態におけるフィンガープリント生成部110について、図7を用いて説明する。
図7は、実施の形態1におけるフィンガープリント生成部110の一構成例を示すブロック図である。
なお、コンテンツ認識装置20が備えるフィンガープリント生成部2110は、受信装置10が備えるフィンガープリント生成部110と実質的に同じ構成・動作であるので、重複説明は省略する。
図7に示すように、フィンガープリント生成部110は、画像取得部111と、データ生成部112と、を備える。
画像取得部111は、映像抽出部12によって抽出された複数の画像フレームを取得する。
データ生成部112は、画像取得部111によって取得された複数の画像フレームのフレーム間における画像の変化に基づいて、認識データとしてフィンガープリントを生成する。
フィンガープリントには、静的フィンガープリントと動的フィンガープリントとの2種類がある。静的フィンガープリントは、フレーム間の画像の変化量が、あらかじめ設定された閾値(以下、「第1閾値」とする)より小さい領域(以下、「静的領域」とする)に基づいて生成されるフィンガープリントである。動的フィンガープリントは、フレーム間の画像の変化量が、あらかじめ設定された閾値(以下、「第2閾値」とする)より大きい領域(以下、「動的領域」とする)に基づいて生成されるフィンガープリントである。
認識データは、静的フィンガープリントと動的フィンガープリントとの少なくとも一方を含む。なお、第1閾値の値および第2閾値の値によっては、静的フィンガープリントおよび動的フィンガープリントがともに生成されない場合がある。この場合、認識データは、静的フィンガープリントおよび動的フィンガープリントのいずれも含まない。
図7に示すように、データ生成部112は、スケール変換部210と、差分算出部220と、決定部230と、生成部240と、を備える。
スケール変換部210は、画像取得部111によって取得された複数の画像フレームのそれぞれに対してスケール変換を実行する。具体的には、スケール変換部210は、グレースケール変換およびダウンスケール変換を各画像フレームに対して実行する。
グレースケール変換とは、カラー画像をグレースケール画像に変換することである。スケール変換部210は、画像フレームの各画素が有する色情報を輝度値に変換することで、カラー画像をグレースケール画像に変換する。本開示は、この変換手法を限定しない。例えば、スケール変換部210は、各画素からRGBの1つの要素を抽出し、それを、対応する画素の輝度値に変換してもよい。なお、輝度値は、画素の明るさを示す数値であり、画素値の一例である。あるいは、スケール変換部210は、NTSC系加重平均法または単純平均法、等を利用して輝度値を算出してもよい。
ダウンスケール変換とは、1つの画像フレームを構成する画素の数を、元の画素数から、より少ない画素数に変換することである。スケール変換部210は、ダウンスケール変換を実行して、画像フレームの画像を、より少ない画素数で構成される画像に変換する。本開示は、この変換手法を限定しない。例えば、スケール変換部210は、各画像を、それぞれが複数の画素を含む複数のブロックに分割し、ブロック毎に1つの数値を算出することで、ダウンスケール変換を行ってもよい。このとき、スケール変換部210は、ブロック毎に、輝度値の平均値や中間値等を算出して、そのブロックの明るさを表す数値としてもよい。
なお、本実施の形態では、スケール変換部210は、グレースケール変換およびダウンスケール変換の両方を行うものとするが、本開示は何らこの構成に限定されない。スケール変換部210は、これらのいずれか一方のみを行ってもよく、あるいは、いずれも行わなくてもよい。すなわち、データ生成部112は、スケール変換部210を備えなくてもよい。
差分算出部220は、画像取得部111によって取得された複数の画像フレームのそれぞれから、画像変化フレームを生成する。画像変化フレームは、時間的に隣り合う2つの画像フレーム(例えば、時間的に連続する2つの画像フレーム)間の輝度値の差分を算出することで、生成される。したがって、画像変化フレームは、時間的に隣り合う2つの画像フレーム間の輝度値の変化量(以下、「輝度変化値」と記す)を示している。なお、輝度変化値は、画素変化値の一例であり、画素値の一例である輝度値の変化量を示す値である。差分算出部220は、スケール変換部210によってグレースケール変換およびダウンスケール変換が行われた画像フレームを用いて、画像変化フレームを生成する。
決定部230は、静的領域決定部231と、動的領域決定部232と、を備える。
決定部230は、差分算出部220で生成された画像変化フレームの各輝度変化値の絶対値を、第1閾値および第2閾値と比較する。そして、輝度変化値の絶対値が第1閾値より小さい静的領域、および、輝度変化値の絶対値が第2閾値より大きい動的領域、の少なくとも一方を決定する。具体的には、決定部230は、画像変化フレームの各輝度変化値の絶対値をそれぞれ算出し、その絶対値が第1閾値より小さいか否かの判定と、その絶対値が第2閾値より大きいか否かの判定と、をそれぞれ実行することで、静的領域および動的領域を決定する。
なお、輝度変化値の絶対値の算出は、差分算出部220で行われてもよい。
第1閾値および第2閾値は、予め定められた数値が設定され、輝度変化値の取りうる範囲に基づいて決定される。例えば、第1閾値および第2閾値は、輝度変化値の絶対値の最大値の0%〜20%の範囲で定められる。具体的な一例を挙げると、輝度変化値の絶対値の最大値が255である場合、第1閾値は「1」であり、第2閾値は「20」である。なお、これらの数値は単なる一例に過ぎない。各閾値は適切に設定されることが望ましい。第1閾値と第2閾値とは、互いに同じ数値でもよく、互いに異なる数値でもよい。また、第2閾値は、第1閾値より大きい数値であることが望ましいが、第2閾値が第1閾値より小さい数値であってもよい。
決定部230が備える静的領域決定部231は、画像変化フレームの輝度変化値の絶対値のそれぞれを第1閾値と比較し、その絶対値が第1閾値より小さいか否かを判定することで、静的領域を決定する。例えば、第1閾値が「1」である場合、静的領域決定部231は、輝度変化値が「0」の領域を静的領域とする。輝度変化値が「0」の領域は、時間的に隣り合う2つの画像フレーム間で輝度値が実質的に変化していない領域、である。
決定部230が備える動的領域決定部232は、画像変化フレームの輝度変化値の絶対値のそれぞれを第2閾値と比較し、その絶対値が第2閾値より大きいか否かを判定することで、動的領域を決定する。例えば、第2閾値が「20」である場合、動的領域決定部232は、輝度変化値の絶対値が「21」以上の領域を動的領域とする。輝度変化値の絶対値が「21」以上の領域は、時間的に隣り合う2つの画像フレーム間で輝度値が21以上変化した領域、である。
なお、静的領域決定部231および動的領域決定部232は、スケール変換部210でグレースケール変換およびダウンスケール変換が行われた画像フレームに基づく画像変化フレームの輝度変化値の絶対値を、判定に用いる。
生成部240は、静的フィンガープリント生成部241と、動的フィンガープリント生成部242と、を備える。
静的フィンガープリント生成部241は、静的領域決定部231から出力される静的領域が、画像変化フレーム内のあらかじめ定められた割合(以下、「第1割合」とする)以上を占めるか否かを判定する。そして、静的フィンガープリント生成部241は、静的領域が第1割合以上の場合に、静的領域に基づき以下のようにして静的フィンガープリントを生成する。そうでなければ、静的フィンガープリントを生成しない。静的フィンガープリント生成部241は、画像変化フレーム内に占める静的領域の範囲が大きい場合、言い換えると、時間的に隣り合う2つの画像フレーム間で画像の変化が少ない場合に、静的フィンガープリントを生成する。
静的フィンガープリント生成部241は、画像変化フレームの生成に用いた2つの画像フレームの一方を静的領域でフィルタリングして静的フレームを生成する。このフィルタリングについては後述する。そして、静的フィンガープリント生成部241は、生成した静的フレームを、静的フィンガープリントとする。静的フレームは、画像変化フレームの生成に用いた2つの画像フレームの一方の静的領域の輝度値を含み、かつ、静的領域以外の領域の輝度値が一定値(例えば、「0」)であるフレームである。静的フレームの詳細は後述する。
動的フィンガープリント生成部242は、動的領域決定部232から出力される動的領域が、画像変化フレーム内のあらかじめ定められた割合(以下、「第2割合」とする)以上を占めるか否かを判定する。そして、動的フィンガープリント生成部242は、動的領域が第2割合以上の場合に、動的領域に基づき以下のようにして動的フィンガープリントを生成する。そうでなければ、動的フィンガープリントを生成しない。動的フィンガープリント生成部242は、画像変化フレーム内に占める動的領域の範囲が大きい場合、言い換えると、時間的に隣り合う2つの画像フレーム間で画像の変化が多い場合に、動的フィンガープリントを生成する。
動的フィンガープリント生成部242は、画像変化フレームを動的領域でフィルタリングして動的フレームを生成する。このフィルタリングについては後述する。そして、動的フィンガープリント生成部242は、生成した動的フレームを、動的フィンガープリントとする。動的フレームは、画像変化フレームの動的領域の輝度値を含み、かつ、動的領域以外の領域の輝度値が一定値(例えば、「0」)であるフレームである。動的フレームの詳細は後述する。
なお、第1割合および第2割合には、予め定められた数値が設定される。例えば、第1割合および第2割合は、20%〜40%の範囲で定められる。具体的な一例を挙げると、第1割合および第2割合は、それぞれ30%である。なお、これらの数値は単なる一例に過ぎない。第1割合および第2割合は、適切に設定されることが望ましい。第1割合と第2割合とは、互いに同じ数値でもよく、互いに異なる数値でもよい。
以上の構成により、フィンガープリント生成部110は、画像フレーム毎に、静的フィンガープリントおよび動的フィンガープリントのいずれか一方を生成する。もしくは、いずれも生成しない。すなわち、フィンガープリント生成部110は、映像コンテンツからN個の画像フレームを取得した場合、静的フィンガープリントおよび動的フィンガープリントを合わせて最大でN−1個含むフィンガープリントを生成する。
なお、連続する同一のシーンで生成される各静的フィンガープリントは、互いに類似する可能性が高い。したがって、静的フィンガープリント生成部241は、連続する複数の画像フレームが同一のシーンを映したものである場合、同一のシーンから生成される複数の静的フィンガープリントから、1つの静的フィンガープリントを選択して出力してもよい。
従来技術では、画像フレームの照合には、輪郭検知等の比較的負荷の重い処理が必要である。しかし、本実施の形態では、画像フレーム間の画像の変化に基づいてフィンガープリントを生成する。画像フレーム間の画像の変化の検出は、差分の算出等の比較的負荷の軽い処理で実行可能である。すなわち、本実施の形態におけるフィンガープリント生成部110では、比較的負荷の軽い処理でフィンガープリントを生成することができる。これらのことは、フィンガープリント生成部2110でも同様である。
[1−3.動作]
次に、本実施の形態におけるコンテンツ認識システム1の動作を、図8〜図28を用いて説明する。
[1−3−1.全体の動作]
まず、本実施の形態におけるコンテンツ認識システム1の全体の動作について、図8を用いて説明する。
図8は、実施の形態1におけるコンテンツ認識システム1が備えるコンテンツ認識装置20の一動作例を示すフローチャートである。
まず、コンテンツ受信部21は、放送局2から映像コンテンツを受信する(ステップS1)。
コンテンツ受信部21は、複数の放送局2から、放送中の複数の映像コンテンツを、受信装置10が受信するより先に受信する。コンテンツ受信部21は、放送される前の映像コンテンツを予め受信してもよい。上述したように、コンテンツ受信部21は、複数の映像コンテンツのそれぞれを、映像コンテンツ候補として受信する。
次に、フィンガープリント生成部2110は、認識データを生成する(ステップS2)。
具体的には、フィンガープリント生成部2110は、コンテンツ受信部21が受信した複数の映像コンテンツ候補のそれぞれに対応するフィンガープリントを生成する。フィンガープリント生成の詳細は、図9を用いて後述する。
次に、フィンガープリント生成部2110は、ステップS2で生成した認識データを、フィンガープリントDB22に保存する(ステップS3)。
具体的には、図4に一例を示したように、フィンガープリント生成部2110は、ステップS2で生成したフィンガープリント53を、タイミング情報51および種別情報52に対応付けし、対応付けしたそれらのデータを認識データ50としてフィンガープリントDB22に保存する。このとき、フィンガープリント生成部2110は、フィンガープリント53を、例えば、放送局2毎に保存してもよい。また、プロファイルフィルタリングに用いるコンテンツ情報を、フィンガープリント53に対応付けて保存してもよい。
コンテンツ認識装置20は、受信装置10から認識データ40を受信したか否かを判断する(ステップS4)。
コンテンツ認識装置20は、受信装置10から認識データ40を受信していない、と判断した場合(ステップS4のNo)、ステップS1に戻り、ステップS1以降の処理を実行する。コンテンツ認識装置20は、受信装置10から認識データ40を受信するまで、ステップS1〜ステップS3の処理を繰り返す。
コンテンツ認識装置20が、受信装置10から認識データ40を受信した、と判断した場合(ステップS4のYes)、フィンガープリントフィルタリング部23は、フィンガープリントDB22に保存されている認識データ50をフィルタリングする(ステップS5)。そのフィルタリングの詳細は、図19を用いて後述する。
次に、フィンガープリント照合部24は、ステップS5でフィルタリングされた認識データ50に対して、ステップS4で受信装置10から受信した認識データ40を照合する(ステップS6)。照合の詳細は、図24を用いて後述する。
フィンガープリント照合部24は、ステップS6での照合ができたか否かを判断する(ステップS7)。
フィンガープリント照合部24がステップS6の照合をできなかった場合(ステップS7のNo)、コンテンツ認識装置20は、ステップS1に戻り、ステップS1以降の処理を実行する。
フィンガープリント照合部24がステップS6の照合をできた場合(ステップS7のYes)、コンテンツ認識装置20は、ステップS6の照合結果(すなわち、画像認識の結果)を受信装置10に送信する(ステップS8)。
受信装置10は、コンテンツ認識装置20から画像認識の結果を受信することで、受信した画像認識の結果に基づいて、付加情報の重畳表示等の処理を実行することができる。
ステップS8の後は、映像コンテンツの認識処理を終了するか否かがコンテンツ認識装置20で判定される(ステップS9)。本開示は、ステップS9における判定方法を限定しない。例えば、受信装置10から、あらかじめ定められた期間、認識データ40が送信されないとき、コンテンツ認識装置20は、ステップS9でYesの判定をするように設定されていてもよい。あるいは、受信装置10から処理の終了を示す情報を受信したとき、コンテンツ認識装置20は、ステップS9でYesの判定をするように設定されていてもよい。
コンテンツ認識装置20は、新たな認識データ40が受信装置10からコンテンツ認識装置20に送信されたとき、映像コンテンツの認識処理を終了せず(ステップS9のNo)、ステップS1に戻り、ステップS1以降の一連の処理を繰り返す。映像コンテンツの認識処理を終了する場合(ステップS9のYes)、コンテンツ認識装置20は、画像認識に関する処理を終了する。
[1−3−2.認識データの生成]
次に、本実施の形態で認識データが生成されるときの処理(図8のステップS2の処理)の詳細を、図9〜図18を用いて説明する。
まず、認識データを生成するときの処理の概要を、図9を用いて説明する。
図9は、実施の形態1における認識データを生成するときの処理の一例を示すフローチャートである。図9のフローチャートは、図8のステップS2で実行される処理の概要を示している。
まず、フィンガープリント生成部2110は、ステップS1でコンテンツ受信部21が受信した複数の映像コンテンツ候補の各画像フレームに関して、画像フレーム間の画像の変化量を算出する(ステップS20)。画像の変化量の算出の詳細は、図11〜図13を用いて後述する。
なお、受信装置10が備えるフィンガープリント生成部110では、映像抽出部12で抽出された複数の画像フレームから、画像フレーム間の画像の変化量を算出する(ステップS20)。この点がフィンガープリント生成部110とフィンガープリント生成部2110との違いである。しかし、この点を除き、フィンガープリント生成部110とフィンガープリント生成部2110とは、実質的に同じ動作をする。
次に、フィンガープリント生成部2110は、静的フィンガープリントを生成する(ステップS21)。
フィンガープリント生成部2110は、画像変化フレームに基づいて静的領域を決定し、決定した静的領域に基づいて静的フィンガープリントを生成する。静的フィンガープリントの生成の詳細は、図14、図15を用いて後述する。
次に、フィンガープリント生成部2110は、動的フィンガープリントを生成する(ステップS22)。
フィンガープリント生成部2110は、画像変化フレームに基づいて動的領域を決定し、決定した動的領域に基づいて動的フィンガープリントを生成する。動的フィンガープリントの生成の詳細は、図16〜図18を用いて後述する。
なお、ステップS21における静的フィンガープリントの生成処理と、ステップS22における動的フィンガープリントの生成処理とは、どちらが先に実行されてもよく、あるいは、互いに並列に実行されてもよい。
ここで、認識データの生成処理過程における画像フレームの変化について、図10に一例を挙げて説明する。
図10は、実施の形態1における認識データの生成処理過程における画像フレームの変化の一例を模式的に示す図である。
なお、図10には、コンテンツ受信部21がステップS1で取得した映像コンテンツ候補に含まれる複数の画像フレーム(a)と、後述するステップS200でグレースケール変換された画像フレーム(b)と、後述するステップS201でダウンスケール変換された画像フレーム(c)と、後述するステップS202で算出された変化量(d)と、ステップS21およびステップS22で生成されたフィンガープリント(e)と、を模式的に示す。
まず、図10の画像フレーム(a)に、図8に示したステップS1で、9つの画像フレームA001〜A009が映像コンテンツ候補から取得されたときの例を示す。図10に示す例では、画像フレームA001〜A009のそれぞれは、第1のシーン〜第3のシーンの3つのシーンのいずれかに含まれる。画像フレームA001〜A003は第1のシーンに含まれ、画像フレームA004〜A006は第2のシーンに含まれ、画像フレームA007〜A009は第3のシーンに含まれる。画像フレームA001〜A009は、いわゆるカラー画像であり、色情報を含んでいる。
次に、図10の画像フレーム(b)に、図8のステップS1で抽出された9つの画像フレームA001〜A009のそれぞれに対して、後述する図11のステップS200でグレースケール変換が行われたときの例を示す。これにより、画像フレームA001〜A009に含まれる色情報は、画素毎に輝度値に変換される。
次に、図10の画像フレーム(c)に、後述する図11のステップS200でグレースケール変換された9つの画像フレームA001〜A009のそれぞれに対して、後述する図11のステップS201でダウンスケール変換が行われたときの例を示す。これにより、画像フレームを構成する画素数が削減される。なお、図10の画像フレーム(c)には、1つの画像フレームが5ブロック×5ブロックの25個のブロックに分割されたときの例を示す。これは、1つの画像フレームを構成する画素の数を25個にダウンスケールした、と言い換えることができる。図10の画像フレーム(c)に示す各ブロックの輝度値は、各ブロックを構成する複数の画素の輝度値から算出される。各ブロックの輝度値は、ブロック毎に、ブロックを構成する複数の画素の輝度値の平均値や中間値等を算出することで、算出できる。
なお、図10の画像フレーム(c)において、各ブロックの濃淡は、輝度値の大小に対応している。輝度値が大きいほどそのブロックをより濃く、輝度値が小さいほどそのブロックをより薄く、示している。
次に、図10の変化量(d)に、後述する図11のステップS201でダウンスケール変換された9つの画像フレームA001〜A009から、後述する図11のステップS202で8つの画像変化フレームB001〜B008が生成されたときの例を示す。ステップS202では、時間的に隣り合う2つの画像フレーム間で輝度値の変化量(すなわち、輝度変化値)を算出することで、1つの画像変化フレームが生成される。ステップS202では、例えば、ダウンスケール変換された画像フレームA001と画像フレームA002とから画像変化フレームB001が生成される。
なお、図10の変化量(d)において、画像変化フレームを構成する各ブロックの濃淡は、画像変化フレームの輝度変化値、すなわち、ダウンスケール変換された2つの画像フレーム間の輝度値の変化量、に対応している。輝度値の変化量が大きいほどそのブロックをより濃く、輝度値の変化量が小さいほどそのブロックをより薄く、示している。
次に、図10のフィンガープリント(e)に、後述する図11のステップS202で生成された8つの画像変化フレームB001〜B008から、合計で5つの静的フィンガープリントおよび動的フィンガープリントが生成されたときの例を示す。
図10に示す例では、画像変化フレームB001と画像変化フレームB002とは、共に、同一のシーンに含まれる画像フレームA001〜A003から生成される。このため、画像変化フレームB001と画像変化フレームB002とは互いに類似する。したがって、ステップS21では、画像変化フレームB001と画像変化フレームB002から、1つの静的フィンガープリントC002を生成することができる。画像変化フレームB004と画像変化フレームB005、および、画像変化フレームB007と画像変化フレームB008、についても同様である。
一方、図10に示す例では、画像変化フレームB003は、シーンの切り替わりとなる2つの画像フレームA003、A004から生成される。したがって、ステップS22では、画像変化フレームB003から、1つの動的フィンガープリントD003を生成することができる。画像変化フレームB006も同様である。
図10に示す例では、このようにして画像フレームA001〜A009から生成された映像コンテンツのフィンガープリントは、3つの静的フィンガープリントC002、C005、C008と、2つの動的フィンガープリントD003、D006と、を有する。
このように、生成された映像コンテンツのフィンガープリントは、1以上の静的フィンガープリントおよび1以上の動的フィンガープリントのうちの、少なくとも2つを含む。映像コンテンツのフィンガープリントは、2以上の静的フィンガープリントだけで構成されてもよく、2以上の動的フィンガープリントだけで構成されてもよく、あるいは、1以上の静的フィンガープリントおよび1以上の動的フィンガープリントで構成されてもよい。
なお、図10のフィンガープリント(e)において、静的フィンガープリントまたは動的フィンガープリントを構成する各ブロックの濃淡は、そのブロックの輝度値の大小に対応する。
[1−3−3.スケール変換および変化量の算出]
次に、本実施の形態で画像フレーム間の変化量を算出するときの処理の詳細を、図11〜図13を用いて説明する。
図11は、実施の形態1における画像フレーム間の変化量の算出処理の一例を示すフローチャートである。図11のフローチャートは、図9のステップS20で実行される処理の概要を示している。
図12は、実施の形態1における画像フレームのダウンスケール変換処理の一例を模式的に示す図である。
図13は、実施の形態1における画像フレーム間の変化量の算出処理の一例を模式的に示す図である。
図11のフローチャートを説明する。まず、図7に示したスケール変換部210は、抽出された複数の画像フレームのグレースケール変換を行う(ステップS200)。
スケール変換部210は、抽出された複数の画像フレームの1つと、その画像フレームに時間的に隣り合う画像フレームとをそれぞれグレースケールに変換する。なお、本実施の形態では、抽出された1つの画像フレームを「フレーム91」とし、フレーム91に時間的に隣り合う画像フレームを「フレーム92」とする。スケール変換部210は、例えば、NTSC系加重平均法に基づいて、フレーム91、92の色情報を輝度値に変換する。
なお、本実施の形態では、フレーム91の直後の画像フレームをフレーム92とする。しかし、本開示は何らこの構成に限定されない。フレーム92は、フレーム91の直前の画像フレームでもよい。あるいは、フレーム92は、フレーム91の2フレーム以上前の画像フレームでもよく、または、フレーム91の2フレーム以上後の画像フレームでもよい。
次に、スケール変換部210は、グレースケール変換された2つの画像フレームのダウンスケール変換を行う(ステップS201)。
図12は、画像フレームA003、A004をダウンスケール変換する例を示している。図12に示す例では、画像フレームA003がフレーム91に相当し、画像フレームA004がフレーム92に相当する。
例えば、図12に示すように、スケール変換部210は、画像フレームA003を、5ブロック×5ブロックの25個のブロックに分割する。図12に示す例では、各ブロックは、9画素×9画素の81個の画素を含んでいるものとする。例えば、画像フレームA003の左上のブロックは、図12に示すように、「77」、「95」などの輝度値を有する81個の画素から構成されている。なお、これらの数値は単なる一例に過ぎず、本開示は何らこれらの数値に限定されるものではない。
スケール変換部210は、例えば、ブロック毎に、各ブロックに含まれる複数の画素の輝度値の平均値を算出することで、そのブロックを表す輝度値を算出する。図12に示す例では、画像フレームA003の左上のブロックを構成する81個の画素の輝度値の平均値を算出することで、「103」という値が算出される。このようにして算出された値(平均値)が、左上のブロックを表す輝度値である。スケール変換部210は、このようにして、画像フレームA003を構成する全てのブロックのそれぞれに関して、各ブロックを表す輝度値を算出する。
これにより、画像フレームを構成する画素数を、ブロックの数に変換(すなわち、ダウンスケール)することができる。図12に示す例では、45画素×45画素の画素数を有する画像フレームを、5ブロック×5ブロックの25ブロックで構成された画像フレームにダウンスケール変換している。これは、45画素×45画素の画素数を有する画像フレームを、5画素×5画素の画素数を有する画像フレームにダウンスケール変換した、と言い換えることができる。
図12に示す例では、ダウンスケール変換後の画像フレームA003は、「103」、「100」などの平均値を含む25個のブロックで構成されている。これは、ダウンスケール変換後の画像フレームA003は、「103」、「100」等の輝度値を有する25個の画素で構成される、と言い換えてもよい。画像フレームA004も同様にダウンスケール変換される。なお、本実施の形態では、ダウンスケール変換後の画像フレームを構成する各ブロックを「画素」と表現し、ブロック毎に算出される輝度の平均値を「ダウンスケール変換後の画像フレームの画素の輝度値」と表現する場合がある。
次に、図7に示した差分算出部220は、ダウンスケール変換後のフレーム91とフレーム92との間で輝度値の差分を算出して、輝度値の差分(すなわち、輝度変化値)で構成された画像変化フレームを生成する(ステップS202)。
例えば、図13に示す例では、差分算出部220は、ダウンスケール変換後のフレーム91を構成する各画素の輝度値と、ダウンスケール変換後のフレーム92を構成する各画素の輝度値と、の差分をそれぞれ算出する。このとき、差分算出部220は、同じ位置の画素同士で輝度値の差分を算出する。例えば、差分算出部220は、画像フレームA003の左上の輝度値「103」から、画像フレームA004の左上の輝度値「89」を減算して、画像変化フレームB003の左上の輝度変化値「14」を算出する。
このようにして、差分算出部220は、ダウンスケール変換後の2つの画像フレーム間で、全画素(すなわち、全ブロック)について輝度値の差分を算出し、画像変化フレームを生成する。図12に示す例では、ダウンスケール変換後の画像フレームA003、A004から画像変化フレームB003が生成される。
[1−3−4.静的フィンガープリントの生成]
次に、本実施の形態で静的フィンガープリントを生成するときの処理の詳細を、図14、図15を用いて説明する。
図14は、実施の形態1における静的フィンガープリントの生成処理の一例を示すフローチャートである。図14のフローチャートは、図9のステップS21で実行される処理の概要を示している。
図15は、実施の形態1における画像フレーム間の変化量に基づいて生成される静的フィンガープリントの一例を模式的に示す図である。
まず、図7に示した静的領域決定部231が静的領域を決定する(ステップS210)。
静的領域決定部231は、画像変化フレームの輝度変化値の絶対値を算出し、その絶対値を第1閾値と比較する。そして、輝度変化値の絶対値が第1閾値より小さいか否かを判定し、輝度変化値の絶対値が第1閾値より小さい領域を静的領域とする。こうして、静的領域が決定される。輝度変化値の絶対値は、時間的に隣り合う2つの画像フレーム間における輝度値の変化量である。
例えば、第1閾値が「1」に設定されていれば、静的領域決定部231は、画像変化フレームの輝度変化値が「0」である領域、すなわち、時間的に隣り合う2つの画像フレーム間で輝度値が実質的に変化していない領域、を静的領域とする。この設定の場合、図15に示す例では、画像変化フレームB002で輝度変化値として「0」が記入された13個のブロックが静的領域になる。
次に、図7に示した静的フィンガープリント生成部241は、ステップS210で決定された静的領域でフレーム91をフィルタリングして、静的フレームを生成する(ステップS211)。
このフィルタリングとは、フレーム91を構成する各ブロックの輝度値に対して、次の処理を施すことである。ステップS210で決定された静的領域に関してはその静的領域に該当するフレーム91のブロックの輝度値をそのまま使用し、静的領域以外のブロックに関しては輝度値を一定値(例えば、「0」)にする。
フレーム91をフィルタリングすることで生成される静的フレームは、図15に示す例では、静的フレームC002である。静的フレームC002では、画像変化フレームB002で輝度変化値が「0」となったブロック(静的領域)に関してはフレーム91の輝度値がそのまま用いられ、静的領域以外のブロックに関しては輝度値が「0」になる。
次に、図7に示した静的フィンガープリント生成部241は、ステップS210で決定された静的領域の割合を算出して第1割合と比較し、静的領域の割合が第1割合以上であるか否かを判定する(ステップS212)。
静的フィンガープリント生成部241は、画像変化フレームを構成するブロックの総数に対する、ステップS210で静的領域とされたブロックの数、に基づき静的領域の割合を算出する。図15に示す画像変化フレームB002の例では、画像変化フレームを構成するブロックの総数は25であり、静的領域のブロックの数は13であるので、静的領域の割合は52%となる。したがって、第1割合が例えば30%であれば、図15に示す例では、ステップS212でYesと判定される。
ステップS212において静的領域の割合は第1割合以上であると判定された場合(ステップS212のYes)、静的フィンガープリント生成部241は、ステップS211で生成された静的フレームを静的フィンガープリントとして保存する(ステップS213)。
図15に示す例では、ステップS212でYesと判定された場合、静的フレームC002が、静的フィンガープリントC002として、コンテンツ認識装置20が有するフィンガープリントDB22に保存される。一方、受信装置10においては、静的フィンガープリントは、受信装置10が有する記憶装置(例えば、認識部100の内部メモリ等、図示せず)に保存される。
ステップS212において静的領域の割合は第1割合未満であると判定された場合(ステップS212のNo)、静的フィンガープリント生成部241は、ステップS211で生成された静的フレームを保存せずに破棄する(ステップS214)。したがって、ステップS212でNoと判定された場合、静的フィンガープリントは生成されない。
なお、図4に一例を示したように、静的フィンガープリントC002の各ブロックの値(例えば、「103」、「100」等)が、フィンガープリントの特徴量となる。
このように、フィンガープリント生成部2110では、画像フレーム内において静的領域が第1割合より大きいか否かに基づき、静的フィンガープリントを生成する。すなわち、フィンガープリント生成部2110は、画像フレームから背景や動き・変化の少ない領域等を適切に抽出して静的フィンガープリントを生成することができる。
なお、図14のフローチャートでは、ステップS211においてフィルタリングを行って静的フレームを生成した後に、ステップS212において静的フレームを保存するか否かの判定を行う動作例を説明したが、本開示は何らこの処理順序に限定されない。例えば、ステップS210において静的領域を決定した後に、ステップS212を実行し、ステップS212でYesと判定されたときに、ステップS211を実行して静的フレームを生成し、続くステップS213でその静的フレームを静的フィンガープリントとして保存する、ように各処理の順番が設定されてもよい。
[1−3−5.動的フィンガープリントの生成]
次に、本実施の形態で動的フィンガープリントを生成するときの処理の詳細を、図16〜図18を用いて説明する。
図16は、実施の形態1における動的フィンガープリントの生成処理の一例を示すフローチャートである。図16のフローチャートは、図9のステップS22で実行される処理の概要を示している。
図17は、実施の形態1における動的フィンガープリントが生成されない画像フレームの一例を模式的に示す図である。
図18は、実施の形態1における画像フレーム間の変化量に基づいて生成される動的フィンガープリントの一例を模式的に示す図である。
まず、図7に示した動的領域決定部232が動的領域を決定する(ステップS220)。
動的領域決定部232は、画像変化フレームの輝度変化値の絶対値を算出し、その絶対値を第2閾値と比較する。そして、輝度変化値の絶対値が第2閾値より大きいか否かを判定し、輝度変化値の絶対値が第2閾値より大きい領域を動的領域とする。こうして、動的領域が決定される。
例えば、第2閾値が「20」に設定されていれば、画像変化フレームにおいて輝度変化値の絶対値が「21」以上のブロックが動的領域となる。この設定の場合、図17に示す例では、画像変化フレームB002において輝度変化値として「21」以上または「−21」以下の数値が記入された2個のブロックが動的領域になり、図18に示す例では、画像変化フレームB003において輝度変化値として「21」以上または「−21」以下の数値が記入された11個のブロックが動的領域になる。
次に、図7に示した動的フィンガープリント生成部242は、ステップS220で決定された動的領域で画像変化フレームをフィルタリングして、動的フレームを生成する(ステップS221)。
このフィルタリングとは、画像変化フレームを構成する各ブロックの輝度変化値に対して、次の処理を施すことである。ステップS220で決定された動的領域に関してはその動的領域に該当するブロックの輝度変化値をそのまま使用し、動的領域以外のブロックに関しては輝度変化値を一定値(例えば、「0」)にする。
画像変化フレームをフィルタリングすることで生成される動的フレームは、図17に示す例では動的フレームD002であり、図18に示す例では動的フレームD003である。動的フレームD002、D003では、画像変化フレームB002、B003で輝度変化値が「21」以上または「−21」以下となったブロック(動的領域)に関しては画像変化フレームB002、B003の輝度変化値がそのまま用いられ、動的領域以外のブロックに関しては輝度変化値が「0」になる。
なお、画像変化フレームに対するステップS220、ステップS221の処理は、例えば、輝度変化値の絶対値が第2閾値以下であるブロックに関して、その輝度変化値を「0」に置き換える、という一括した処理で実行することができる。
次に、動的フィンガープリント生成部242は、ステップS220で決定された動的領域の割合を算出して第2割合と比較し、動的領域の割合が第2割合以上であるか否かを判定する(ステップS222)。
動的フィンガープリント生成部242は、画像変化フレームを構成するブロックの総数に対する、ステップS220で動的領域とされたブロックの数、に基づき動的領域の割合を算出する。図17に示す画像変化フレームB002の例では、画像変化フレームを構成するブロックの総数は25であり、動的領域のブロックの数は2であるので、動的領域の割合は8%となる。図18に示す画像変化フレームB003の例では、画像変化フレームを構成するブロックの総数は25であり、動的領域のブロックの数は11であるので、動的領域の割合は44%となる。したがって、第2割合が例えば30%であれば、図17に示す例では、ステップS222でNoと判定され、図18に示す例では、ステップS222でYesと判定される。
ステップS222において動的領域の割合は第2割合以上であると判定された場合(ステップS222のYes)、動的フィンガープリント生成部242は、ステップS221で生成された動的フレームを動的フィンガープリントとして保存する(ステップS223)。
一方、動的領域の割合は第2割合未満であると判定された場合(ステップS222のNo)、動的フィンガープリント生成部242は、ステップS221で生成された動的フレームを保存せずに破棄する(ステップS224)。したがって、ステップS222でNoと判定された場合、動的フィンガープリントは生成されない。
図18に示す例では、ステップS222でYesと判定された動的フレームD003が、動的フィンガープリントD003として、コンテンツ認識装置20が有するフィンガープリントDB22に保存される。一方、受信装置10においては、動的フィンガープリントは、受信装置10が有する記憶装置(例えば、認識部100の内部メモリ等、図示せず)に保存される。
図17に示す例では、ステップS222でNoと判定された動的フレームD002は、保存されずに破棄される。
なお、図4に一例を示したように、動的フィンガープリントD003の各ブロックの値(例えば、「0」、「24」等)が、フィンガープリントの特徴量となる。
このように、フィンガープリント生成部2110では、画像フレーム内において動的領域が第2割合より大きいか否かに基づき、動的フィンガープリントを生成する。すなわち、フィンガープリント生成部2110は、シーンの切り替わり等によって大きな画像の変化が起きた領域を画像フレームから適切して動的フィンガープリントを生成することができる。
なお、図16のフローチャートでは、ステップS221においてフィルタリングを行って動的フレームを生成した後に、ステップS222において動的フレームを保存するか否かの判定を行う動作例を説明したが、本開示は何らこの処理順序に限定されない。例えば、ステップS220において動的領域を決定した後に、ステップS222を実行し、ステップS222でYesと判定されたときに、ステップS221を実行して動的フレームを生成し、続くステップS223でその動的フレームを動的フィンガープリントとして保存する、ように各処理の順番が設定されてもよい。
[1−3−6.フィルタリング]
次に、コンテンツ認識装置20のフィンガープリントフィルタリング部23で実行されるフィルタリング処理について、図19〜図23を用いて説明する。まず、図19を用いて、フィルタリング処理の概要を説明する。
図19は、実施の形態1におけるフィンガープリントフィルタリング部23が実行するフィルタリング処理の一例を示すフローチャートである。図19のフローチャートは、図8のステップS5で実行される処理の概要を示している。
コンテンツ認識装置20のフィンガープリントフィルタリング部23は、図19に示すように、リージョンフィルタリング、プロファイルフィルタリング、プロパティフィルタリング、プロパティシーケンスフィルタリング、の各フィルタリング処理を順番に実行して、画像認識処理における照合対象を絞り込む。
まず、フィンガープリントフィルタリング部23は、付属情報に含まれる地理情報を用いて、フィンガープリントDB22に保存されている映像コンテンツ候補に対してリージョンフィルタリング処理を実行する(ステップS50)。
リージョンフィルタリング処理とは、地理情報が示す地域では視聴できない放送局2から放送される映像コンテンツ候補を、画像認識処理における照合対象から除外する処理のことである。
フィンガープリントフィルタリング部23は、受信装置10から送信される付属情報に地理情報が含まれていれば、その地理情報に基づき、リージョンフィルタリング処理を実行する。これにより、コンテンツ認識装置20は、画像認識処理における照合対象としてフィンガープリントDB22から読み出すフィンガープリント53を絞り込むことができるので、画像認識にかかる処理を低減できる。
例えば、フィンガープリントフィルタリング部23は、受信装置10から送信される付属情報に「東京」を示す地理情報が含まれていれば、画像認識処理における照合対象としてフィンガープリントDB22から読み出すフィンガープリント53を、東京で受信可能な放送局2から送信される映像コンテンツ候補のフィンガープリント53に絞り込む。
次に、フィンガープリントフィルタリング部23は、付属情報に含まれるユーザ情報を用いて、プロファイルフィルタリング処理を実行する(ステップS51)。
プロファイルフィルタリング処理とは、ユーザ情報が示すユーザの特徴に合致しない映像コンテンツ候補を、画像認識処理における照合対象から除外する処理のことである。
フィンガープリントフィルタリング部23は、受信装置10から送信される付属情報にユーザ情報が含まれていれば、そのユーザ情報に基づき、プロファイルフィルタリング処理を実行する。これにより、コンテンツ認識装置20は、画像認識処理において照合対象とするフィンガープリント53を絞り込むことができるので、画像認識にかかる処理を低減できる。
例えば、フィンガープリントフィルタリング部23は、付属情報に、20歳以上の年齢層を示すユーザ情報が含まれていれば、その年齢層を視聴対象としない映像コンテンツ候補(例えば、幼児を視聴対象とする幼児番組、等)を、画像認識における照合対象から除外する。
次に、フィンガープリントフィルタリング部23は、プロパティフィルタリング処理を実行する(ステップS52)。
プロパティフィルタリング処理とは、映像コンテンツ候補の認識データ50に含まれるフィンガープリント53の種別情報52と、受信装置10から送信された認識データ40に含まれる種別情報42とを比較する処理のことである。
フィンガープリントフィルタリング部23は、プロパティフィルタリング処理を実行することで、受信装置10から送信された認識データ40に含まれる種別情報42と同じ種類の種別情報52のフィンガープリント53を含まない認識データ50を、画像認識処理における照合対象から除外し、種別情報42と同じ種類の種別情報52のフィンガープリント53を含む認識データ50を、画像認識処理における照合対象の候補として選択する。これにより、コンテンツ認識装置20は、画像認識処理において照合対象とするフィンガープリント53を絞り込むことができるので、画像認識にかかる処理を低減できる。
例えば、図3、図4に示す例では、受信装置10から送信された認識データ40が有する種別情報42には、「Aタイプ」と「Bタイプ」とが含まれる。したがって、フィンガープリントフィルタリング部23は、「Aタイプ」だけの種別情報52bを有する認識データ50bを、画像認識処理における照合対象から除外する。
プロパティフィルタリングの詳細は、図20、図21を用いて後述する。
次に、フィンガープリントフィルタリング部23は、プロパティシーケンスフィルタリング処理を実行する(ステップS53)。
プロパティシーケンスフィルタリング処理とは、映像コンテンツ候補の認識データ50に含まれる種別情報52の配列順序と、受信装置10から送信された認識データ40に含まれる種別情報42の配列順序とを比較する処理のことである。なお、種別情報42、52の配列順序は、タイミング情報41、51が示す時刻に基づき設定されてもよい。この場合、その配列順序は、フィンガープリント43、53の生成順序に基づき決定される。
フィンガープリントフィルタリング部23は、プロパティシーケンスフィルタリング処理を実行することで、受信装置10から送信された認識データ40に含まれる種別情報42の配列順序と同じ順序で配列された種別情報52を含まない認識データ50を、画像認識処理における照合対象から除外し、種別情報42と同じ順序で配列された種別情報52を含む認識データ50を、画像認識処理における照合対象として選択する。これにより、コンテンツ認識装置20は、画像認識処理において照合対象とするフィンガープリント53を絞り込むことができるので、画像認識にかかる処理を低減できる。
例えば、図3、図4に示す例では、受信装置10から送信された認識データ40に含まれる種別情報42の配列順序は、「Aタイプ、Bタイプ、Aタイプ」である。したがって、フィンガープリントフィルタリング部23は、「Aタイプ、Aタイプ、Bタイプ」と配列された種別情報52cを含む認識データ50cを、画像認識処理における照合対象から除外し、「Aタイプ、Bタイプ、Aタイプ」と配列された種別情報52aを含む認識データ50aを、画像認識処理における照合対象とする。
プロパティシーケンスフィルタリングの詳細は、図22、図23を用いて後述する。
最後に、フィンガープリントフィルタリング部23は、ステップS50〜ステップS53の各フィルタリング処理によって選別された映像コンテンツ候補の認識データ50を、フィンガープリント照合部24に出力する(ステップS54)。
そして、コンテンツ認識装置20のフィンガープリント照合部24は、フィンガープリントフィルタリング部23によって選別された認識データ50に、受信装置10から送信された認識データ40を照合して、画像認識処理を実行する。そして、コンテンツ認識装置20は、その画像認識処理の結果(すなわち、認識データ40に対応する認識データ50を含む映像コンテンツ候補を表す情報)を、受信装置10に送信する。
以上のように、コンテンツ認識装置20では、フィンガープリントフィルタリング部23が実行するフィルタリングによって、画像認識処理の際に照合対象とする認識データ50を絞り込むことができる。これにより、映像コンテンツの認識(画像認識)にかかる処理を低減することができる。
なお、図19には、フィンガープリントフィルタリング部23が、ステップS50のリージョンフィルタリング処理によって選別された認識データ50に対してステップS51のプロファイルフィルタリング処理を実行し、その処理によって選別された認識データ50に対してステップS52のプロパティフィルタリング処理を実行し、その処理によって選別された認識データ50に対してステップS53のプロパティシーケンスフィルタリング処理を実行する動作例を示したが、本開示は、何らこの処理順序に限定されない。各フィルタリング処理は順序が入れ替わってもよい。あるいは、各フィルタリング処理が独立して実行されてもよい。
[1−3−6−1.プロパティフィルタリング]
次に、コンテンツ認識装置20のフィンガープリントフィルタリング部23で実行されるプロパティフィルタリング処理について、図20、図21を用いて説明する。
図20は、実施の形態1におけるフィンガープリントフィルタリング部23で実行されるプロパティフィルタリング処理の一例を示すフローチャートである。
図21は、実施の形態1におけるフィンガープリントフィルタリング部23で実行されるプロパティフィルタリング処理の一具体例を模式的に示す図である。
まず、フィンガープリントフィルタリング部23は、受信装置10から送信された認識データ40から、種別情報42およびタイミング情報41を取得する(ステップS520)。
図3に一例を示したように、受信装置10から送信される認識データ40には、タイミング情報41、種別情報42およびフィンガープリント43が含まれる。そして、図21に示す例では、受信装置10から送信される認識データ40に、種別情報42として「Aタイプ」、タイミング情報41として「07/07/2014 03:32:36.125」、が含まれており、フィンガープリントフィルタリング部23は、ステップS520でこれらの情報を取得する。
次に、フィンガープリントフィルタリング部23は、フィンガープリントDB22から複数の認識データ50を読み出して取得する(ステップS521)。
図19に示した動作例では、フィンガープリントフィルタリング部23は、ステップS50のリージョンフィルタリング処理およびステップS51のプロファイルフィルタリング処理によって選別された認識データ50を取得する。図4に一例を示したように、認識データ50には、タイミング情報51、種別情報52およびフィンガープリント53が含まれる。図21には、フィンガープリントフィルタリング部23が、各放送局α、β、γ、δ、ε、から送信されフィンガープリントDB22に蓄積された映像コンテンツα1、β1、γ1、δ1、ε1、のそれぞれに対応する認識データ50を、フィンガープリントDB22から取得する動作例を示す。図21において、映像コンテンツα1、β1、γ1、δ1、ε1は、それぞれが映像コンテンツ候補である。
このとき、フィンガープリントフィルタリング部23は、受信装置10から受信したタイミング情報41が示す時刻に近い時刻のタイミング情報51を有する認識データ50(すなわち、フィンガープリント43の生成時刻に近い時刻に生成されたフィンガープリント53を有する認識データ50)を、フィンガープリントDB22から取得する。
なお、フィンガープリントフィルタリング部23が、受信装置10から受信したタイミング情報41に対して、どの程度の時間範囲内にある認識データ50をフィンガープリントDB22から取得するかは、コンテンツ認識装置20の仕様等に応じて適切に設定されることが望ましい。
例えば、フィンガープリントフィルタリング部23は、タイミング情報51が示す時刻が、受信装置10から受信したタイミング情報41が示す時刻と、その時刻から所定の時間(例えば、3秒、等)だけ前の時刻との間に含まれる認識データ50を、フィンガープリントDB22から取得してもよい。
その所定の時間が2.5秒に設定された動作例を、図21に示す。図21に示す動作例では、タイミング情報41が示す時刻は「07/07/2014 03:32:36.125」である。したがって、フィンガープリントフィルタリング部23は、36.125秒から2.5秒を減算して33.625秒を算出する。そして、タイミング情報51が示す時刻が、「07/07/2014 03:32:33.625」から「07/07/2014 03:32:36.125」の範囲に含まれる認識データ50を、フィンガープリントDB22から取得する。
次に、フィンガープリントフィルタリング部23は、受信装置10から取得した種別情報42と、認識データ50に含まれる種別情報52とを用いて、画像認識処理において照合対象とする認識データ50の候補を選択する(ステップS522)。
具体的には、フィンガープリントフィルタリング部23は、受信装置10から取得した種別情報42と同じ種類の種別情報52を含まない認識データ50を、画像認識処理における照合対象から除外し、その種別情報42と同じ種類の種別情報52を含む認識データ50を、画像認識処理における照合対象の候補とする。
図21に示す例では、フィンガープリントフィルタリング部23は、受信装置10から「Aタイプ」の種別情報42を取得する。したがって、フィンガープリントフィルタリング部23は、「Aタイプ」の種別情報52を含む認識データ50を画像認識処理における照合対象の候補として選択し、「Aタイプ」の種別情報52を含まず「Bタイプ」の種別情報52だけを含む認識データ50をその照合対象から除外する。図21に示す例では、画像認識処理における照合対象の候補として選択されるのは、映像コンテンツα1、映像コンテンツβ1および映像コンテンツγ1の認識データ50であり、映像コンテンツδ1および映像コンテンツε1の認識データ50は、その照合対象から除外される。
[1−3−6−2.プロパティシーケンスフィルタリング]
次に、コンテンツ認識装置20のフィンガープリントフィルタリング部23で実行されるプロパティシーケンスフィルタリング処理について、図22、図23を用いて説明する。
図22は、実施の形態1におけるフィンガープリントフィルタリング部23で実行されるプロパティシーケンスフィルタリング処理の一例を示すフローチャートである。
図23は、実施の形態1におけるフィンガープリントフィルタリング部23で実行されるプロパティシーケンスフィルタリング処理の一具体例を模式的に示す図である。
まず、フィンガープリントフィルタリング部23は、コンテンツ認識装置20が受信装置10から受信した過去の認識データ40を、フィンガープリント履歴情報DB25から取得する(ステップS530)。
具体的には、フィンガープリントフィルタリング部23は、受信装置10から新たな認識データ40(「認識データ40n」と記す)を受信すると、認識データ40nの直前に受信した認識データ40を含む過去の認識データ40を、フィンガープリント履歴情報DB25から読み出して取得する。その認識データ40には、フィンガープリント43と、そのフィンガープリント43に対応する種別情報42およびタイミング情報41が含まれる。
図23には、フィンガープリントフィルタリング部23が、受信装置10から新たな認識データ40nを受信した後、フィンガープリント履歴情報DB25に蓄積された最新の3つの認識データ40(図23には、「認識データ40a」、「認識データ40b」、「認識データ40c」、と記す)をフィンガープリント履歴情報DB25から取得する例を示す。なお、フィンガープリント履歴情報DB25から読み出す認識データ40の数は、コンテンツ認識装置20の仕様等に応じて適切に設定することが望ましい。
次に、フィンガープリントフィルタリング部23は、受信装置10から受信した認識データ40nと、フィンガープリント履歴情報DB25から取得した認識データ40との、それぞれのタイミング情報41に基づいて、種別情報42のシーケンス60を生成する(ステップS531)。
シーケンス60とは、種別情報42をタイミング情報41が示す時刻の順に並べて生成した情報である。図23には、フィンガープリントフィルタリング部23が、認識データ40nと、フィンガープリント履歴情報DB25から取得した認識データ40a、40b、40cとに基づき、それぞれのタイミング情報41が示す時刻の順(時刻が新しい順)に各種別情報42を並べてシーケンス60を生成する例を示す。図23に示す例では、タイミング情報41が示す時刻の順に認識データ40n、40a、40b、40cとなり、それらの種別情報42は全てが「Aタイプ」なので、シーケンス60は、「Aタイプ、Aタイプ、Aタイプ、Aタイプ」となる。
次に、フィンガープリントフィルタリング部23は、フィンガープリントDB22から複数の認識データ50を読み出して取得する(ステップS532)。
具体的には、フィンガープリントフィルタリング部23は、ステップS52のプロパティフィルタリング処理で、画像認識処理における照合対象の候補として選択された認識データ50を、フィンガープリントDB22から取得する。
図23には、放送局αから送信された映像コンテンツα1、放送局βから送信された映像コンテンツβ1、放送局γから送信された映像コンテンツγ1、が取得される動作例を示す。なお、図23に示す例では、映像コンテンツδ1、ε1は、すでにプロパティフィルタリング処理で除外されている。なお、図23に示す例では、映像コンテンツα1、β1、γ1のそれぞれが映像コンテンツ候補である。
次に、フィンガープリントフィルタリング部23は、ステップS532でフィンガープリントDB22から取得した認識データ50のそれぞれについてシーケンス候補61を生成する(ステップS533)。
シーケンス候補61は、ステップS531で生成されたシーケンス60と実質的に同じ方法で生成される情報であり、認識データ50の種別情報52を、認識データ50のタイミング情報51が示す時刻の順(時刻が新しい順)に並べて生成した情報である。シーケンス候補61を生成するために、フィンガープリントフィルタリング部23は、ステップS532で取得された複数の認識データ50から、シーケンス60に含まれる各認識データ40のタイミング情報41が示す時刻に最も近い時刻のタイミング情報51を有する認識データ50を選択する。そして、選択した認識データ50に基づき、シーケンス候補61を生成する。
図23に示す例では、受信装置10から送信された認識データ40nのタイミング情報41が示す時刻は、「07/07/2014 03:32:36.125」である。したがって、フィンガープリントフィルタリング部23は、映像コンテンツα1、β1、γ1のそれぞれについて、各認識データ50の中から、その時刻に最も近い時刻を示すタイミング情報51を有する認識データ50を選択する。図23に示す例では、映像コンテンツα1、β1、γ1のそれぞれの各認識データ50の中から、時刻が「07/07/2014 03:32:36.000」を示すタイミング情報51を有する認識データ50が選択される。
フィンガープリントフィルタリング部23は、認識データ40a、40b、40cのそれぞれのついても、認識データ40nと同様に、映像コンテンツα1、β1、γ1のそれぞれの各認識データ50の中から、タイミング情報41が示す時刻に最も近い時刻を示すタイミング情報51を有する認識データ50を選択する。
そして、フィンガープリントフィルタリング部23は、映像コンテンツα1、β1、γ1のそれぞれについて、その選択された認識データ50に含まれる種別情報52を、その認識データ50に含まれるタイミング情報51が示す時刻の順(時刻が新しい順)に並べてシーケンス候補61を生成する。図23に示す例では、映像コンテンツα1のシーケンス候補61は、「Aタイプ、Aタイプ、Aタイプ、Aタイプ」となり、映像コンテンツβ1のシーケンス候補61は、「Bタイプ、Bタイプ、Aタイプ、Bタイプ」となり、映像コンテンツγ1のシーケンス候補61は、「Bタイプ、Aタイプ、Bタイプ、Aタイプ」となる。このように、ステップS533では、映像コンテンツ候補毎にシーケンス候補61が生成される。
次に、フィンガープリントフィルタリング部23は、ステップS531で認識データ40に基づき生成されたシーケンス60を用いて、画像認識の照合対象となる認識データ50を決定する(ステップS534)。
ステップS534では、フィンガープリントフィルタリング部23は、ステップS531で生成されたシーケンス60と、ステップS533で生成されたシーケンス候補61とを比較する。そして、フィンガープリントフィルタリング部23は、シーケンス60における種別情報42と同じ順序で並んだ種別情報52を有するシーケンス候補61を選択する。こうして選択されたシーケンス候補61の認識データ50が、画像認識の照合対象となる。
図23に示す例では、シーケンス60において種別情報42は、「Aタイプ、Aタイプ、Aタイプ、Aタイプ」の順番で並んでいる。したがって、フィンガープリントフィルタリング部23は、種別情報52が「Aタイプ、Aタイプ、Aタイプ、Aタイプ」の順番で並んだ映像コンテンツα1のシーケンス候補61を選択し、その順番で並んだ種別情報52を有さない映像コンテンツβ1と映像コンテンツγ1の各シーケンス候補61を除外する。
こうして、図23に示す例では、フィンガープリントフィルタリング部23は、プロパティシーケンスフィルタリング処理の結果、映像コンテンツα1を最終的な映像コンテンツ候補とし、映像コンテンツα1の認識データ50を、画像認識の照合対象とする。
[3−7.認識データの照合]
次に、本実施の形態において認識データの照合を実行するときの処理の詳細を、図24〜図28を用いて説明する。
図24は、実施の形態1における認識データの照合処理の一例を示すフローチャートである。図24のフローチャートは、図8のステップS6で実行される処理の概要を示している。
図25は、実施の形態1における静的フィンガープリントの照合処理の一例を模式的に示す図である。
図26は、実施の形態1における動的フィンガープリントの照合処理の一例を模式的に示す図である。
図27は、実施の形態1における映像コンテンツの認識条件の一例を示す図である。図27には、一例として、5つの認識条件(a)〜(e)を示す。
図28は、実施の形態1における映像コンテンツの照合処理の一例を模式的に示す図である。
[1−3−7−1.静的フィンガープリントの類似度]
図24のフローチャートを説明する。図1に示したフィンガープリント照合部24は、静的フィンガープリントの類似度を算出する(ステップS60)。
フィンガープリント照合部24は、受信装置10から送信された認識データ40に含まれる静的フィンガープリントを、フィンガープリントフィルタリング部23でフィルタリングされた認識データ50(すなわち、ステップS534で画像認識の照合対象として選択された認識データ50)に含まれる静的フィンガープリントと照合する。そして、フィンガープリント照合部24は、受信装置10から送信された認識データ40に含まれる静的フィンガープリントと、フィンガープリントフィルタリング部23でフィルタリングされた認識データ50に含まれる静的フィンガープリントと、の類似度を算出する。
フィンガープリント照合部24は、静的領域の一致度合いを、類似度として算出する。具体的には、フィンガープリント照合部24は、受信装置10から送信された認識データ40に含まれる静的フィンガープリントの静的領域の位置と、フィンガープリントフィルタリング部23でフィルタリングされた認識データ50に含まれる静的フィンガープリントの静的領域の位置と、を互いに比較する。そして、フィンガープリント照合部24は、両者が互いに一致する領域(ブロック)の数を計数し、両者が一致する領域が静的フィンガープリント内に占める割合を、類似度として算出する。
なお、本実施の形態では、両者が互いに一致するか否かを、静的領域か否かだけで判断し、各ブロックの輝度値は考慮しないものとする。フィンガープリント照合部24は、互いに同じ位置にあるブロックがともに静的領域であれば、それぞれのブロックの輝度値が互いに異なっていても、両者は一致する、と判定する。
フィンガープリント照合部24で行われる類似度の算出処理の一例を、図25に具体例を示して、説明する。
図25に示す静的フィンガープリントC002は、受信装置10から送信された認識データ40に含まれる静的フィンガープリントである。図25に示す静的フィンガープリントC00Xは、フィンガープリントフィルタリング部23でフィルタリングされた認識データ50に含まれる静的フィンガープリントである。
図25に示す例では、静的フィンガープリントC002が有する静的領域のブロックの数と、静的フィンガープリントC00Xが有する静的領域のブロックの数は、ともに13であり同数である。しかし、位置に若干の違いがある。静的フィンガープリントC002と静的フィンガープリントC00Xとの間で、静的領域のブロックの位置が互いに一致するのは、静的フィンガープリント内の25個のブロックのうち、上から1段目の5つと、上から2段目の1つ(輝度値が「128」のブロック)と、上から5段目の5つの、合計で11のブロックである。ここでは静的フィンガープリントを構成するブロックの総数は25であるので、フィンガープリント照合部24は、11/25=44%を算出し、算出した44%を、静的フィンガープリントC002と静的フィンガープリントC00Xとの類似度とする。
そして、フィンガープリント照合部24は、算出した類似度を予め定められた静的閾値と比較し、その比較の結果に基づき類似判定を行う。フィンガープリント照合部24は、算出した類似度が静的閾値以上であれば「類似する」と判定し、算出した類似度が静的閾値未満であれば「類似しない」と判定する。上述の例では、静的閾値が例えば40%に設定されていれば、フィンガープリント照合部24は、静的フィンガープリントC002と静的フィンガープリントC00Xとは類似する、と判定する。なお、この静的閾値の数値は、単なる一例に過ぎず、適切に設定されることが望ましい。
なお、本実施の形態では、静的フィンガープリントの類似度を算出する際に、静的フィンガープリントを構成する各ブロックが有する輝度値は考慮しない、と説明したが、本開示は何らこの構成に限定されない。フィンガープリント照合部24は、静的フィンガープリントの類似度を算出する際に、静的フィンガープリントを構成する各ブロックが有する輝度値を用いてもよい。例えば、フィンガープリント照合部24は、2つの静的フィンガープリントを照合する際に、位置だけでなく輝度値も互いに一致するブロックの数を計数して静的フィンガープリントの類似度を算出してもよい。あるいは、フィンガープリント照合部24は、正規化相互相関マッチング(Normalized Cross Correlation)を利用して、静的フィンガープリントの類似度を算出してもよい。
[1−3−7−2.動的フィンガープリントの類似度]
次に、フィンガープリント照合部24は、動的フィンガープリントの類似度を算出する(ステップS61)。
フィンガープリント照合部24は、受信装置10から送信された認識データ40に含まれる動的フィンガープリントを、フィンガープリントフィルタリング部23でフィルタリングされた認識データ50に含まれる動的フィンガープリントと照合する。そして、フィンガープリント照合部24は、受信装置10から送信された認識データ40に含まれる動的フィンガープリントと、フィンガープリントフィルタリング部23でフィルタリングされた認識データ50に含まれる動的フィンガープリントと、の類似度を算出する。
フィンガープリント照合部24は、動的領域の一致度合いを、類似度として算出する。具体的には、フィンガープリント照合部24は、受信装置10から送信された認識データ40に含まれる動的フィンガープリントの動的領域の位置および輝度変化値の符号と、フィンガープリントフィルタリング部23でフィルタリングされた認識データ50に含まれる動的フィンガープリントの動的領域の位置および輝度変化値の符号と、を互いに比較する。そして、フィンガープリント照合部24は、両者が互いに一致する領域(ブロック)の数を計数し、両者が一致する領域が動的フィンガープリント内に占める割合を、類似度として算出する。
なお、本実施の形態では、両者が互いに一致するか否かを、動的領域か否か、および輝度変化値の符号、で判断し、各ブロックの輝度変化値の数値は考慮しないものとする。フィンガープリント照合部24は、互いに同じ位置にあるブロックがともに動的領域であり、かつ輝度変化値の符号が互いに同じであれば、それぞれのブロックの輝度変化値の数値が互いに異なっていても、両者は一致する、と判定する。
フィンガープリント照合部24で行われる類似度の算出処理の一例を、図26に具体例を示して、説明する。
図26に示す動的フィンガープリントD003は、受信装置10から送信された認識データ40に含まれる動的フィンガープリントである。図26に示す動的フィンガープリントD00Xは、フィンガープリントフィルタリング部23でフィルタリングされた認識データ50に含まれる動的フィンガープリントである。
図26に示す例では、動的フィンガープリントD003が有する動的領域のブロックの数は11であり、動的フィンガープリントD00Xが有する動的領域のブロックの数は8である。そして、動的フィンガープリントD003と動的フィンガープリントD00Xとの間で、動的領域のブロックの位置および輝度変化値の符号が互いに一致するのは、動的フィンガープリント内の25個のブロックのうち、上から1段目の2つと、上から2段目の2つと、上から5段目の1つの、合計で5つのブロックである。ここでは動的フィンガープリントを構成するブロックの総数は25であるので、フィンガープリント照合部24は、5/25=20%を算出し、算出した20%を、動的フィンガープリントD003と動的フィンガープリントD00Xとの類似度とする。
そして、フィンガープリント照合部24は、算出した類似度を予め定められた動的閾値と比較し、その比較の結果に基づき類似判定を行う。フィンガープリント照合部24は、算出した類似度が動的閾値以上であれば「類似する」と判定し、算出した類似度が動的閾値未満であれば「類似しない」と判定する。上述の例では、動的閾値が例えば30%に設定されていれば、フィンガープリント照合部24は、動的フィンガープリントD003と動的フィンガープリントD00Xとは類似しない、と判定する。
なお、この動的閾値の数値は、単なる一例に過ぎず、適切に設定されることが望ましい。また、上述した静的閾値と、この動的閾値とは、互いに同じ数値に設定されてもよく、あるいは、互いに異なる数値に設定されてもよい。
このように、フィンガープリント照合部24は、ステップS60で算出した類似度に基づく静的フィンガープリントに関する類似判定と、ステップS61で算出した類似度に基づく動的フィンガープリントに関する類似判定とを、それぞれ実行する。
なお、本実施の形態では、動的フィンガープリントの類似度を算出する際に、動的フィンガープリントを構成する各ブロックが有する輝度変化値の大きさは考慮しない、と説明したが、本開示は何らこの構成に限定されない。フィンガープリント照合部24は、動的フィンガープリントの類似度を算出する際に、動的フィンガープリントを構成する各ブロックが有する輝度変化値の絶対値を用いてもよい。例えば、フィンガープリント照合部24は、2つの動的フィンガープリントを照合する際に、位置および符号に加え輝度変化値の絶対値も互いに一致するブロックの数を計数して動的フィンガープリントの類似度を算出してもよい。あるいは、フィンガープリント照合部24は、静的フィンガープリントの類似度を算出するときと同様に、動的領域のブロックの位置のみを用いて動的フィンガープリントの類似度を算出してもよい。あるいは、フィンガープリント照合部24は、正規化相互相関マッチングを利用して、動的フィンガープリントの類似度を算出してもよい。
なお、ステップS60における静的フィンガープリントの類似度の算出処理と、ステップS61における動的フィンガープリントの類似度の算出処理とは、どちらが先に実行されてもよく、あるいは、双方が並列に実行されてもよい。
[1−3−7−3.映像コンテンツの認識]
次に、フィンガープリント照合部24は、フィンガープリントの類似判定の結果に基づき、映像コンテンツの認識(画像認識)を行う(ステップS62)。
フィンガープリント照合部24は、静的フィンガープリントの類似判定の結果と、動的フィンガープリントの類似判定の結果と、所定の認識条件と、に基づいて、映像コンテンツの認識を行う。フィンガープリント照合部24は、上述したように、受信装置10から送信された認識データ40に含まれる静的フィンガープリントおよび動的フィンガープリントのそれぞれと、フィンガープリントフィルタリング部23でフィルタリングされた認識データ50に含まれる複数のフィンガープリント53とを照合する。そして、フィンガープリント照合部24は、その照合の結果と所定の認識条件とに基づき、フィンガープリントフィルタリング部23でフィルタリングされた認識データ50から1つの認識データ50を選定し、選定した認識データ50に対応する映像コンテンツを示す情報を画像認識の結果として出力する。
なお、映像コンテンツを示す情報とは、例えば、その映像コンテンツのファイル名、その映像コンテンツを放送する放送局のチャンネル名、EPGのID、等である。
認識条件は、静的フィンガープリントおよび動的フィンガープリントの少なくとも一方に基づいて定められた条件である。認識条件の一例を、図27に示す。なお、図27に示す認識条件は、所定の期間において用いられる条件である。この所定の期間とは、予め定められたフレーム数の期間である。所定の期間は、例えば、10フレーム以下の期間である。
すなわち、フィンガープリント照合部24は、所定の期間に受信装置10から送信された認識データ40に含まれる静的フィンガープリントおよび動的フィンガープリントを、フィンガープリントフィルタリング部23でフィルタリングされた認識データ50に含まれるフィンガープリント53と照合する。
なお、ここでのフレーム数は、画像変化フレームのフレーム数のことである。したがって、実際の期間は、所定の期間として定められたフレーム数に、映像抽出部12に設定された抽出フレームレートとコンテンツのフレームレートとに基づく係数(例えば、図5、6に示す例では、30fpsであれば「2」、20fpsであれば「3」、15fpsであれば「4」、等)を乗じたものに相当する。なお、このフレーム数を、画像変化フレームのフレーム数としてもよく、あるいはフィンガープリントの数としてもよい。
なお、以下の説明において、「類似する」とは、上述した類似判定において「類似する」と判定されたことを示す。
図28に一例として示す認識条件(a)〜(e)は、以下の通りである。
(a)静的フィンガープリントおよび動的フィンガープリントの少なくとも1つが類似する。
(b)静的フィンガープリントおよび動的フィンガープリントの少なくとも2つが類似する。
(c)静的フィンガープリントの少なくとも1つが類似し、動的フィンガープリントの少なくとも1つが類似する。
(d)静的フィンガープリントまたは動的フィンガープリントが2回連続して類似する。
(e)静的フィンガープリントまたは動的フィンガープリントが3回連続して類似する。
フィンガープリント照合部24は、例えば認識条件(a)に基づいて照合処理を行う場合は、以下のように判断する。フィンガープリント照合部24は、上述した類似判定において、静的フィンガープリントおよび動的フィンガープリントの少なくとも1つに対して「類似する」との判定がなされた場合に、映像コンテンツを認識できた、と判断する(ステップS63のYes)。そうでなければ、フィンガープリント照合部24は、映像コンテンツを認識できなかった、と判断する(ステップS63のNo)。
フィンガープリント照合部24は、例えば所定の期間が3フレームに設定されていれば、画像変化フレームの3フレームの期間に、以下の処理を実行する。フィンガープリント照合部24は、受信装置10から送信された認識データ40に含まれる静的フィンガープリントおよび動的フィンガープリントに対して上述の類似判定を行う。そして、それらのうちの少なくとも1つに「類似する」との判定がなされたフィンガープリント53があれば、フィンガープリント照合部24は、映像コンテンツを認識できた、と判断する。そして、フィンガープリント照合部24は、そのフィンガープリント53を有する認識データ50に対応する映像コンテンツを示す情報を、画像認識の結果として出力する。
また、フィンガープリント照合部24は、例えば認識条件(b)に基づいて照合処理を行う場合は、以下のように判断する。フィンガープリント照合部24は、上述した類似判定において、静的フィンガープリントおよび動的フィンガープリントの少なくとも2つに対して「類似する」との判定がなされた場合に、映像コンテンツを認識できた、と判断する(ステップS63のYes)。そうでなければ、フィンガープリント照合部24は、映像コンテンツを認識できなかった、と判断する(ステップS63のNo)。
なお、この認識条件(b)には、静的フィンガープリントが2つ以上「類似する」と判定される場合と、動的フィンガープリントが2つ以上「類似する」と判定される場合と、静的フィンガープリントが1つ以上「類似する」と判定されかつ動的フィンガープリントが1つ以上「類似する」と判定される場合と、が含まれる。
フィンガープリント照合部24は、例えば所定の期間が5フレームに設定されていれば、画像変化フレームの5フレームの期間に、以下の処理を実行する。フィンガープリント照合部24は、受信装置10から送信された認識データ40に含まれる静的フィンガープリントおよび動的フィンガープリントに対して上述の類似判定を行う。そして、それらのうちの少なくとも2つに「類似する」との判定がなされたフィンガープリント53があれば、フィンガープリント照合部24は、映像コンテンツを認識できた、と判断する。そして、フィンガープリント照合部24は、そのフィンガープリント53を有する認識データ50に対応する映像コンテンツを示す情報を、画像認識の結果として出力する。
また、フィンガープリント照合部24は、例えば認識条件(c)に基づいて照合処理を行う場合は、以下のように判断する。フィンガープリント照合部24は、上述した類似判定において、静的フィンガープリントの少なくとも1つおよび動的フィンガープリントの少なくとも1つに対して「類似する」との判定がなされた場合に、映像コンテンツを認識できた、と判断する(ステップS63のYes)。そうでなければ、フィンガープリント照合部24は、映像コンテンツを認識できなかった、と判断する(ステップS63のNo)。
フィンガープリント照合部24は、例えば所定の期間が5フレームに設定されていれば、画像変化フレームの5フレームの期間に、以下の処理を実行する。フィンガープリント照合部24は、受信装置10から送信された認識データ40に含まれる静的フィンガープリントおよび動的フィンガープリントに対して上述の類似判定を行う。そして、静的フィンガープリントの少なくとも1つと動的フィンガープリントの少なくとも1つとに「類似する」との判定がなされたフィンガープリント53があれば、フィンガープリント照合部24は、映像コンテンツを認識できた、と判断する。そして、フィンガープリント照合部24は、そのフィンガープリント53を有する認識データ50に対応する映像コンテンツを示す情報を、画像認識の結果として出力する。
なお、この認識条件には、類似すると判定されるフィンガープリントの数に関する条件に加え、静的フィンガープリントおよび動的フィンガープリントの順序に関する条件が加えられてもよい。
また、フィンガープリント照合部24は、例えば認識条件(d)に基づいて照合処理を行う場合は、以下のように判断する。フィンガープリント照合部24は、上述した類似判定において、静的フィンガープリントまたは動的フィンガープリントが2回連続して「類似する」と判定された場合に、映像コンテンツを認識できた、と判断する(ステップS63のYes)。そうでなければ、フィンガープリント照合部24は、映像コンテンツを認識できなかった、と判断する(ステップS63のNo)。
なお、この認識条件(d)は、以下の意味である。受信装置10から送信された認識データ40に含まれる時間的に連続したフィンガープリント43が、2回以上連続して「類似する」と判定される。これには、2回以上連続して生成された静的フィンガープリントが2回以上連続して「類似する」と判定される場合と、2回以上連続して生成された動的フィンガープリントが2回以上連続して「類似する」と判定される場合と、互いに切り替わりながら連続して生成された静的フィンガープリントおよび動的フィンガープリントが2回以上連続して「類似する」と判定される場合と、が含まれる。
フィンガープリント照合部24は、例えば所定の期間が5フレームに設定されていれば、画像変化フレームの5フレームの期間に、以下の処理を実行する。フィンガープリント照合部24は、受信装置10から送信された認識データ40に含まれる静的フィンガープリントおよび動的フィンガープリントに対して上述の類似判定を行う。そして、静的フィンガープリントまたは動的フィンガープリントが2回連続して「類似する」と判定されたフィンガープリント53があれば、フィンガープリント照合部24は、映像コンテンツを認識できた、と判断する。そして、フィンガープリント照合部24は、そのフィンガープリント53を有する認識データ50に対応する映像コンテンツを示す情報を、画像認識の結果として出力する。
また、フィンガープリント照合部24は、例えば認識条件(e)に基づいて照合処理を行う場合は、以下のように判断する。フィンガープリント照合部24は、上述した類似判定において、静的フィンガープリントまたは動的フィンガープリントが3回連続して「類似する」と判定された場合に、映像コンテンツを認識できた、と判断する(ステップS63のYes)。そうでなければ、フィンガープリント照合部24は、映像コンテンツを認識できなかった、と判断する(ステップS63のNo)。
なお、この認識条件(e)は、以下の意味である。受信装置10から送信された認識データ40に含まれる時間的に連続したフィンガープリント43が、3回以上連続して「類似する」と判定される。これには、3回以上連続して生成された静的フィンガープリントが3回以上連続して「類似する」と判定される場合と、3回以上連続して生成された動的フィンガープリントが3回以上連続して「類似する」と判定される場合と、互いに切り替わりながら連続して生成された静的フィンガープリントおよび動的フィンガープリントが3回以上連続して「類似する」と判定される場合と、が含まれる。
フィンガープリント照合部24は、例えば所定の期間が8フレームに設定されていれば、画像変化フレームの8フレームの期間に、以下の処理を実行する。フィンガープリント照合部24は、受信装置10から送信された認識データ40に含まれる静的フィンガープリントおよび動的フィンガープリントに対して上述の類似判定を行う。そして、静的フィンガープリントまたは動的フィンガープリントが3回連続して「類似する」と判定されたフィンガープリント53があれば、フィンガープリント照合部24は、映像コンテンツを認識できた、と判断する。そして、フィンガープリントフィルタリング部23は、そのフィンガープリント53を有する認識データ50に対応する映像コンテンツを示す情報を、画像認識の結果として出力する。
なお、上述した認識条件においては、「類似する」と判定されるフィンガープリントの数、または、連続して「類似する」と判定されるフィンガープリントの数、を多くすることで、照合(画像認識処理)の精度を高めることができる。
フィンガープリント照合部24が認識条件(e)に基づいて照合処理を行う場合の動作の一例を、図28に模式的に示す。この場合、フィンガープリント照合部24は、静的フィンガープリントまたは動的フィンガープリントが3回連続で類似することを認識条件とする。
例えば、フィンガープリントフィルタリング部23でフィルタリングされたコンテンツ00Xのフィンガープリント53が、静的フィンガープリントA、動的フィンガープリントB、静的フィンガープリントC、動的フィンガープリントD、静的フィンガープリントE、の順番で並んでいたとする。なお、図28には、それぞれを、「静的A」、「動的B」、「静的C」、「動的D」、「静的E」、と記す。
このとき、受信装置10から送信されたフィンガープリント43が、静的フィンガープリントA、動的フィンガープリントB、静的フィンガープリントC、の順番で並んでいたとする。なお、図28には、それぞれを、「静的A」、「動的B」、「静的C」、と記す。
この例では、フィンガープリント照合部24は、上述した類似判定において、静的フィンガープリントA、動的フィンガープリントB、静的フィンガープリントC、のそれぞれに対して、「類似する」の判定結果を出す。すなわち、フィンガープリント照合部24は、3回連続で「類似する」と判定する。
これにより、フィンガープリント照合部24は、受信装置10から送信された認識データ40に含まれるフィンガープリント43は、コンテンツ00Xの認識データ50に含まれるフィンガープリント53に類似する、と判定する。すなわち、フィンガープリント照合部24は、受信装置10で受信された映像コンテンツはコンテンツ00Xである、と認識する。そして、フィンガープリント照合部24は、コンテンツ00Xを示す情報を照合結果として出力する。
フィンガープリント照合部24で映像コンテンツを認識(画像認識)できたとき(ステップS63のYes)、フィンガープリント照合部24は、その画像認識の結果を通信部(図示せず)に出力する(ステップS64)。
コンテンツ認識装置20の通信部(図示せず)は、フィンガープリント照合部24から受け取った画像認識の結果を表す情報を、受信装置10に送信する(図8のステップS8)。コンテンツ認識装置20から受信装置10に送信される情報は、フィンガープリント照合部24が、受信装置10から送信された認識データ40に基づき画像認識を実行して選択した映像コンテンツを表す情報であり、受信装置10で受信中の映像コンテンツを表す情報である。その情報は、例えばコンテンツIDであるが、映像コンテンツを特定できる情報であれば、どのような情報であってもよい。受信装置10は、コンテンツ認識装置20からその情報を取得することで、受信中の映像コンテンツに関する付加情報を、例えば広告サーバ装置30から取得することが可能になる。
フィンガープリント照合部24で映像コンテンツを認識できなかったとき(ステップS64のNo)は、コンテンツ認識装置20の処理は、図8のステップS1に戻り、ステップS1以降の一連の処理が繰り返される。
なお、コンテンツ認識装置20は、画像認識処理の結果、受信装置10から送信された認識データ40に対応する映像コンテンツを特定できなかった場合、画像認識ができなかったことを示す情報を受信装置10に送信してもよい。あるいは、何も送信しなくてもよい。
[1−4.効果等]
以上のように、本実施の形態において、コンテンツ認識装置は、フィンガープリント生成部と、選別部と、照合部と、を備える。フィンガープリント生成部は、取得した複数の映像コンテンツ候補のそれぞれについてフィンガープリントを生成する。選別部は、外部から入力される認識データに含まれる付属情報を用いて映像コンテンツ候補を選別する。照合部は、選別部によって選別された映像コンテンツ候補のフィンガープリントと、認識データに含まれるフィンガープリントと、を照合して、認識データに含まれるフィンガープリントに対応する映像コンテンツを映像コンテンツ候補の中から特定する。
なお、コンテンツ認識装置20はコンテンツ認識装置の一例である。フィンガープリント生成部2110はフィンガープリント生成部の一例である。フィンガープリントフィルタリング部23は選別部の一例である。フィンガープリント照合部24は照合部の一例である。映像コンテンツα1、β1、γ1、δ1、ε1は、それぞれが映像コンテンツ候補の一例である。フィンガープリント53はフィンガープリントの一例である。認識データ40は外部から入力される認識データの一例である。種別情報42は付属情報の一例である。フィンガープリント43は、認識データに含まれるフィンガープリントの一例である。
ここで、コンテンツ認識装置20がフィンガープリントを用いて映像コンテンツを認識する場合に生じる問題点について、図29を用いて説明する。図29は、映像コンテンツの認識に関して問題となる点を説明するための図である。
図29に一例を示すように、実質的にリアルタイムで映像コンテンツの認識を行うコンテンツ認識装置20は、複数の放送局2から放送される複数の映像コンテンツを受信し、受信した映像コンテンツに基づいてフィンガープリント53を生成し、生成したフィンガープリント53をフィンガープリントDB22に保存する。
このように、フィンガープリントDB22には、受信した映像コンテンツの数に応じたフィンガープリント53が、時間の経過と共に蓄積されていく。このため、フィンガープリントDB22に蓄積されるフィンガープリント53は、膨大な数になる。
もしコンテンツ認識装置20がフィンガープリントフィルタリング部23を備えていなければ、コンテンツ認識装置20は、受信装置10から受信した認識データ40に含まれるフィンガープリント43を、フィンガープリントDB22に蓄積された膨大な数のフィンガープリント53と逐一照合しなければならず、映像コンテンツの認識結果を得るまでに長い時間を要することになる。
しかし、本実施の形態に示すコンテンツ認識装置20は、フィンガープリントフィルタリング部23が付属情報を用いて選別した認識データ50を、認識データ40の照合対象とする。したがって、本開示によれば、映像コンテンツの認識に使用するデータの数を低減できるので、映像コンテンツの認識精度を上げつつ映像コンテンツの認識にかかる処理を低減することができる。
なお、外部から入力される認識データには、フィンガープリントの種類を示す種別情報が付属情報として含まれてもよい。また、コンテンツ認識装置において、選別部は、認識データに含まれる種別情報と、映像コンテンツ候補のフィンガープリントの種類と、を比較して映像コンテンツ候補の選別を行ってもよい。
なお、静的フィンガープリント、動的フィンガープリントは、フィンガープリントの種類の一例であり、種別情報42は種別情報の一例である。
この構成では、例えば種別情報が2種類であれば、1ビットの情報量で種別情報を表すことができるので、フィンガープリントフィルタリング部23において選別に要する処理を削減することができる。
また、コンテンツ認識装置において、選別部は、外部から入力される認識データに含まれる種別情報の配列順序と、映像コンテンツ候補のフィンガープリントの種類に関する配列順序と、を比較して映像コンテンツ候補の選別を行ってもよい。
なお、シーケンス60は、外部から入力される認識データに含まれる種別情報の配列順序の一例であり、シーケンス候補61は、映像コンテンツ候補のフィンガープリントの種類に関する配列順序の一例である。
この構成では、フィンガープリントフィルタリング部23は、フィンガープリント照合部24において照合に用いる認識データ50の数をより絞り込むことができる。したがって、フィンガープリント照合部24において照合にかかる処理をより低減することができる。
また、外部から入力される認識データには、認識データに含まれるフィンガープリントの生成時刻を示す情報が含まれてもよい。また、コンテンツ認識装置において、選別部は、その生成時刻を示す情報と、映像コンテンツ候補のフィンガープリントの生成時刻とに基づき、映像コンテンツ候補のフィンガープリントの選択を行ってもよい。
なお、タイミング情報41は、外部から入力される認識データに含まれるフィンガープリントの生成時刻を示す情報の一例である。タイミング情報41は、映像コンテンツ候補のフィンガープリントの生成時刻を示す情報の一例である。
この構成では、フィンガープリントフィルタリング部23で行う選別の精度を高めることができる。
また、コンテンツ認識装置において、選別部は、外部から入力される認識データに含まれる生成時刻を示す情報に最も近い時刻に生成されたフィンガープリントを、映像コンテンツ候補のフィンガープリントの中から選択し、選択したフィンガープリントの種類と、その認識データに含まれる種別情報との比較に基づき、映像コンテンツ候補の選別を行ってもよい。
この構成では、フィンガープリントフィルタリング部23で行う選別の精度をより高めることができる。
また、コンテンツ認識装置において、フィンガープリント生成部は、映像コンテンツ候補を構成する複数の画像フレームのフレーム間の画像の変化量が第1閾値より小さい静的領域に基づいて静的フィンガープリントを生成し、そのフレーム間の画像の変化量が第2閾値より大きい動的領域に基づいて動的フィンガープリントを生成してもよい。
静的領域は、画像フレームにおいて背景および動きや変化の小さい被写体が占める領域である。すなわち、連続した画像フレームにおいて、静的領域の被写体は、動きや変化が相対的に少ない。したがって、静的領域を特定して画像認識を行うことで、画像認識の精度を高めることが可能になる。動的領域は、シーンの切り替わり等に生じる比較的大きな画像の変化が発生した領域である。すなわち、動的領域は、特徴的な画像の変化が起きる領域であるので、動的領域を特定して画像認識を行うことで、画像認識の精度を高めることが可能になる。また、動的領域が発生するフレームは相対的に少ないので、画像認識に必要なフレーム数を削減することができる。
また、付属情報には、外部から入力される認識データの生成元となる映像コンテンツを送信する装置の位置、またはその認識データを送信する装置の位置、を示す地理情報が含まれてもよい。
なお、放送局2は、映像コンテンツを送信する装置の一例である。受信装置10は、認識データを送信する装置の一例である。
この構成では、例えば、受信装置10で受信できない放送局2から放送される映像コンテンツをフィンガープリントフィルタリング部23で排除できるので、フィンガープリント照合部24において照合にかかる処理を低減することができる。
また、付属情報には、外部から入力される認識データを送信する装置に保存されたユーザ情報が含まれてもよい。
この構成では、例えば、ユーザ情報に当てはまらない映像コンテンツをフィンガープリントフィルタリング部23で排除できるので、フィンガープリント照合部24において照合にかかる処理を低減することができる。
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROM等の記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
(他の実施の形態)
以上のように、本出願において開示する技術の例示として、実施の形態1を説明した。しかしながら、本開示における技術は、これに限定されず、変更、置き換え、付加、省略等を行った実施の形態にも適用できる。また、上記実施の形態1で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。
そこで、以下、他の実施の形態を例示する。
実施の形態1では、コンテンツ認識装置20が実質的にリアルタイムで映像コンテンツの認識を行う動作例を示したが、本開示は何らこの動作例に限定されない。例えば、受信装置10が記録媒体に保存された映像コンテンツ(例えば、録画された番組コンテンツ)を読み出して表示する場合にも、コンテンツ認識装置20は、上述した実施の形態1と同様に動作して、映像コンテンツを認識することができる。
実施の形態1では、コンテンツ認識装置20が受信装置10から認識データ40を受信し、映像コンテンツの認識のためのフィルタリング処理および照合処理を行い、その結果を受信装置10に送信する動作例を説明した。この動作は、「オンラインマッチング」と呼称される。一方、映像コンテンツの認識のための照合処理を受信装置10で行うことは「ローカルマッチング」と呼称される。
受信装置10は、コンテンツ認識装置20からフィンガープリントDB22に保存される認識データ50を取得することで、ローカルマッチングを行うことができる。なお、このとき、受信装置10は、フィンガープリントDB22に保存される全ての認識データ50を取得しなくてもよい。例えば、受信装置10は、フィンガープリントフィルタリング部23で各フィルタリング(例えば、リージョンフィルタリングおよびプロファイルフィルタリング)を実行した後の認識データ50を取得してもよい。
実施の形態1では、フィンガープリントフィルタリング部23の一動作例として、リージョンフィルタリング、プロファイルフィルタリング、プロパティフィルタリング、プロパティシーケンスフィルタリング、の順番でフィルタリングを行う動作例を示したが、本開示は何らこの動作例に限定されない。フィンガープリントフィルタリング部23は、実施の形態1とは異なる順番で各フィルタリングを行ってもよく、あるいは、これらのフィルタリングから1つ以上3つ以下を選択してフィルタリングを行ってもよい。
実施の形態1では、フィンガープリントフィルタリング部23は、各フィルタリング処理を行う毎に、フィンガープリントDB22から認識データ50を読み出して取得する動作例を示したが、本開示は何らこの動作例に限定されない。例えば、フィンガープリントフィルタリング部23は、最初のフィルタリング処理の直前にフィンガープリントDB22から読み出した複数の認識データ50を一旦メモリ等の記憶装置に記憶し、各フィルタリング処理で認識データ50が除外される毎に、その認識データ50をその記憶装置から削除するように動作してもよい。
実施の形態1では、映像コンテンツの認識に、静的フィンガープリントと動的フィンガープリントとの両方を用いる構成例を示したが、本開示は何らこの構成に限定されない。静的フィンガープリントと動的フィンガープリントとのいずれか一方のみを用いて映像コンテンツの認識が行われてもよい。例えば、図9のフローチャートにおいて、ステップS21およびステップS22のいずれか一方のみが行われてもよい。また、フィンガープリント生成部2110、110は、例えば、静的領域決定部231および動的領域決定部232のいずれか一方のみを備える構成であってもよい。また、フィンガープリント生成部2110、110は、例えば、静的フィンガープリント生成部241および動的フィンガープリント生成部242のいずれか一方のみを備える構成であってもよい。また、フィンガープリントは3種類以上であってもよい。
実施の形態1に示すコンテンツ認識装置20は、例えば、広告コンテンツの認識に利用することができる。あるいは、ドラマやバラエティ等の番組コンテンツの認識に利用することもできる。このとき、受信装置10は、広告サーバ装置30から、画像認識の結果に基づく付加情報として、例えば、出演者自身のプロフィール、出演者が身につけている衣服、出演者が訪れた場所、等に関する情報を取得し、取得したそれらの情報を表示中の映像に重畳して表示させてもよい。
コンテンツ認識装置20は、広告コンテンツだけでなく、番組コンテンツ等の映像コンテンツを受信し、その映像コンテンツに対応するフィンガープリントを生成してもよい。そして、フィンガープリントDB22は、広告コンテンツだけでなく、番組コンテンツに対応するフィンガープリントを、コンテンツIDに対応付けて保持してもよい。
実施の形態1において、各構成要素は、専用のハードウェアで構成されてもよく、あるいは、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリ等の記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、実施の形態1のコンテンツ認識装置20を実現するソフトウェアは、次のようなプログラムである。
すなわち、当該プログラムは、コンテンツ認識方法をコンピュータに実行させるためのプログラムであって、取得した複数の映像コンテンツ候補のそれぞれについてフィンガープリントを生成するステップと、外部から入力される認識データに含まれる付属情報を用いて映像コンテンツ候補を選別するステップと、選別された映像コンテンツ候補のフィンガープリントと、認識データに含まれるフィンガープリントと、を照合して、認識データに含まれるフィンガープリントに対応する映像コンテンツを映像コンテンツ候補の中から特定するステップと、を含む。
また、上記のプログラムを、記録媒体に記録して頒布または流通させてもよい。例えば、頒布されたプログラムを装置類にインストールして、装置類のプロセッサに実行させることで、装置類に各種処理を行わせることが可能となる。
また、上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。ROMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、ROMからRAMにコンピュータプログラムをロードし、ロードしたコンピュータプログラムにしたがって演算等の動作をすることにより、システムLSIは、その機能を達成する。
また、上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。ICカードまたはモジュールには、上記の超多機能LSIが含まれてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有してもよい。
また、本開示は、コンピュータプログラムまたはデジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−Ray Disc(登録商標))、半導体メモリ等に記録したもので実現してもよい。さらに、これらの記録媒体に記録されているデジタル信号で実現してもよい。
また、本開示におけるコンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネット等のネットワーク、データ放送、等を経由して伝送してもよい。
また、本開示は、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施してもよい。
また、実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。