(57)【特許請求の範囲】
【請求項１】
動画に含まれる画像内の対象物に対するアンカーの設定を受け付け、
前記動画に含まれる所定画像内の前記アンカーが設定された対象物と、前記動画に含まれる他の画像内の該対象物との移動量が所定値以上であるか否かを判定し、
前記所定値以上であると判定された場合に、判定対象の画像の識別子と、前記アンカーの位置情報とを記憶部に記憶する処理をコンピュータに実行させ、
前記他の画像は、前記記憶部に対する記憶対象の中で最新の画像である場合、
前記記憶する処理は、
前記所定画像の識別子と、前記所定画像内のアンカーの位置情報とを前記記憶部に記憶するプログラム。
【請求項２】
動画に含まれる画像内の対象物に対するアンカーの設定を受け付け、
前記動画に含まれる所定画像内の前記アンカーが設定された対象物と、前記動画に含まれる他の画像内の該対象物との移動量が所定値以上であるか否かを判定し、
前記所定値以上であると判定された場合に、判定対象の画像の識別子と、前記アンカーの位置情報とを記憶部に記憶する処理をコンピュータに実行させ、
前記判定する処理は、
前記所定画像と、前記記憶部に対する記憶対象の中で最新の画像との間隔が閾値以上であるか否かをさらに判定し、
前記記憶する処理は、
前記間隔が閾値以上であると判定された場合、前記所定画像の識別子と、前記所定画像の位置情報とを前記記憶部に記憶するプログラム。
【請求項３】
前記他の画像は、前記所定画像の直前の画像である場合、
前記記憶する処理は、
前記所定画像の識別子と、前記所定画像内のアンカーの位置情報と、前記直前の画像の識別子と、次の画像内のアンカーの位置情報とを前記記憶部に記憶する請求項１又は２記載のプログラム。
【請求項４】
前記動画を再生する場合、
前記記憶部に記憶された識別子が示す画像を表示するとき、前記位置情報が示す位置に前記アンカーを重畳して表示し、
前記記憶部に記憶された識別子が示す画像以外の画像を表示するとき、前記記憶部に記憶された識別子が示す画像のうち、表示対象の画像の前後に位置する２つの画像に対応するそれぞれの前記アンカーの位置情報に基づいて補間演算した位置に、前記アンカーを重畳して表示する処理をさらにコンピュータに実行させるための請求項１乃至３いずれか一項に記載のプログラム。
【請求項５】
動画に含まれる画像内の対象物に対するアンカーを設定する設定部と、
前記動画に含まれる所定画像内の前記アンカーが設定された対象物と、前記動画に含まれる他の画像内の該対象物との移動量が所定値以上であるか否かを判定する判定部と、
前記所定値以上であると判定された場合に、判定対象の画像の識別子と、前記アンカーの位置情報とを記憶する記憶部と、
を備え、
前記他の画像は、前記記憶部に対する記憶対象の中で最新の画像である場合、
前記記憶部は、
前記所定画像の識別子と、前記所定画像内のアンカーの位置情報とを記憶する情報処理装置。
【請求項６】
動画に含まれる画像内の対象物に対するアンカーの設定を受け付け、
前記動画に含まれる所定画像内の前記アンカーが設定された対象物と、前記動画に含まれる他の画像内の該対象物との移動量が所定値以上であるか否かを判定し、
前記所定値以上であると判定された場合に、判定対象の画像の識別子と、前記アンカーの位置情報とを記憶部に記憶する処理をコンピュータが実行し、
前記他の画像は、前記記憶部に対する記憶対象の中で最新の画像である場合、
前記記憶する処理は、
前記所定画像の識別子と、前記所定画像内のアンカーの位置情報とを前記記憶部に記憶する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画の対象物に対してアンカーを設定するプログラム、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来、動画を利用したハイパーメディア環境において、動画の対象物にアンカーを表示し、そのアンカーにリンクを結びつけ、動画上でアンカーを指定することで、リンク操作を行うことが知られている。以下では、対象物をオブジェクトともいう。
【０００３】
例えば、動画上の移動する任意の領域にアンカーを設定し、アンカー情報及びリンク情報を記憶し、動画及びアンカーの表示属性に基づいて動的にアンカーを表示する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−１２３８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、動画中のオブジェクトに対してアンカーを設定する場合には、例えば、動画内の各フレームの中でエッジ抽出をすることでオブジェクトの形を抽出し、さらに、フレーム間誤差抽出を行ってオブジェクトの移動を抽出する方法が考えられる。アンカーとは、例えばハイパーリンクに設定される要素のことをいう。
【０００６】
動画中で、アンカーを設定する対象となるオブジェクトが移動する場合、従来技術では、各フレームにおけるオブジェクトの位置座標を特定し、フレーム番号及びオブジェクトの位置座標によって、アンカーの位置を定義することになる。
【０００７】
一方で、オブジェクトに対して一度設定したアンカーを、編集する必要が生じる場合がある。例えば、エッジ抽出によりオブジェクトを抽出し、このオブジェクトの位置にアンカーを設定したとする。エッジ抽出の精度によっては、人の目から見た画像上のオブジェクトの位置または形状と、エッジ抽出によってコンピュータが認識したオブジェクトの位置または形状とがずれる場合がある。このような場合、人の目から見て、オブジェクト上にアンカーが重畳されるように、フレーム上のアンカーの位置を変更する作業が発生する。以下では、この作業を編集作業ともいう。
【０００８】
しかしながら、各フレームにおけるオブジェクトの位置座標を特定し、フレーム番号と位置座標とによってアンカーの位置が定義されているとすると、例えば、フレームの枚数分、アンカー位置の定義が存在し、アンカー位置に関するデータ量が多くなってしまう。
【０００９】
そして、各フレームに存在するアンカー位置の定義に対して、アンカー位置の編集作業を行うとすれば、フレーム枚数分の定義データのそれぞれに対して変更を行うことになり、編集者にとって非常に煩雑な処理となっていた。
【００１０】
そこで、開示の技術は、上記問題点に鑑みてなされたものであって、アンカーの編集を容易にしつつ、アンカー情報のデータ量を削減することができるプログラム、情報処理装置及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
開示の一態様におけるプログラムは、動画に含まれる画像内の対象物に対するアンカーの設定を受け付け、前記動画に含まれる所定画像内の前記アンカーが設定された対象物と、前記動画に含まれる他の画像内の該対象物との移動量が所定値以上であるか否かを判定し、前記所定値以上であると判定された場合に、判定対象の画像の識別子と、前記アンカーの位置情報とを記憶部に記憶する処理をコンピュータに実行させ、前記他の画像は、前記記憶部に対する記憶対象の中で最新の画像である場合、前記記憶する処理は、前記所定画像の識別子と、前記所定画像内のアンカーの位置情報とを前記記憶部に記憶する。
【発明の効果】
【００１２】
開示の技術は、アンカーの編集を容易にしつつ、アンカー情報のデータ量を削減することができる。
【図面の簡単な説明】
【００１３】
【図１】実施例における情報処理装置の機能的構成の一例を示すブロック図。
【図２】アンカー情報のデータ構造の一例を示す図。
【図３】アンカー情報の一例を示す図。
【図４】アンカー位置の自動生成を説明するための図。
【図５】アンカー位置の自動生成、編集例を説明するための図。
【図６】アンカーの描画例を説明するための図。
【図７】アンカーの表示例を説明するための図。
【図８】リンク先表示を説明するための図。
【図９】アンカー設定処理の一例を示すフローチャート。
【図１０】アンカー情報の生成処理の一例を示すフローチャート。
【図１１】動画再生処理の一例を示すフローチャート。
【図１２】情報処理装置のハードウェアの一例を示すブロック図。
【発明を実施するための形態】
【００１４】
以下、実施例について、添付図面を参照しながら説明する。
【００１５】
［実施例］
＜構成＞
図１は、実施例における情報処理装置１の機能的構成の一例を示すブロック図である。情報処理装置１は、リンク先が設定されたアンカーを動画の対象物（オブジェクト）に設定する機能を有する。アンカーは、例えばリンク先を呼び出すアイコンである。以下では、このアイコンをリンクアイコンとも呼ぶ。
【００１６】
情報処理装置１は、設定されたアンカーを編集する機能を有してもよい。情報処理装置１は、動画再生中にアンカーが押下又は指示された場合、アンカーに関連付けられてリンク先を表示又は再生する機能を有してもよい。
【００１７】
図１に示す情報処理装置１は、アンカー情報生成部１０、操作部１１、リンク定義記憶部１２、動画データ記憶部１３、アンカー情報編集部１４、再生制御部１５、及び表示部１６を有する。
【００１８】
アンカー情報生成部１０は、はじめに、動画データ記憶部１３から動画を読み出して取得し、アンカーを設定するフレームとアンカー位置の設定を受け付ける。アンカー情報生成部１０は、その後のフレームにおいて、アンカーが設定されたオブジェクトを自動抽出し、アンカーをオブジェクトに追随させるための機能を有する。
【００１９】
アンカー情報生成部１０は、オブジェクトを自動抽出した時、オブジェクト又はアンカーの移動量に応じて、アンカーの位置を記憶するか否かを判定する。これにより、アンカー情報を毎フレーム記憶しなくてもよくなるため、アンカー情報のデータ量を削減することができる。
【００２０】
アンカー情報生成部１０は、上記機能を実現するため、設定部１１１、抽出部１１２、及び判定部１１３を有する。設定部１１１は、動画に含まれる各フレームに対して、操作部１１からアンカーを設定するフレームと、そのフレーム内のアンカーの位置とを受け付ける。
【００２１】
アンカーの位置は、フレーム内の座標で表され、アンカー位置情報とも呼ぶ。設定部１１１は、受け付けたフレームを示す識別子と、アンカー位置情報とを抽出部１１２に出力する。フレームを示す識別子は、フレーム識別子とも呼び、例えば、フレーム番号や動画の先頭からの再生時間を示すタイムコードやタイムスタンプなどでもよい。
【００２２】
抽出部１１２は、アンカーが設定されたフレームに対して、アンカーが設定された位置周辺で、画像認識技術を用いて、オブジェクトの領域を自動抽出する。例えば、抽出部１１２は、エッジ抽出を行って認識したオブジェクト領域の座標を自動抽出する。オブジェクトの座標は、例えばオブジェクト領域の中心座標である。
【００２３】
抽出部１１２は、後続の各フレームで、抽出されたオブジェクトの追跡を行い、認識されたオブジェクト座標を判定部１１３に出力する。
【００２４】
判定部１１３は、認識されたオブジェクトが、他のフレーム内のこのオブジェクトから所定値以上移動しているか否かを判定する。例えば、判定部１１３は、現フレームのオブジェクトと直前のフレームのオブジェクトとの移動量が所定値以上であるか否かを判定する。これにより、判定部１１３は、短時間でのオブジェクトの移動量が大きい場合を判定することができる。
【００２５】
移動量は、例えばフレーム間のオブジェクト座標の差分や、フレーム間誤差抽出処理を行ったオブジェクト領域の動きである。また、移動量は、アンカーの中心座標の移動量であってもよい。
【００２６】
所定値は、例えば、抽出部１１２で抽出されたオブジェクト一個分のサイズである。また、所定値は、アンカーのサイズであってもよく、実験などにより適切な値に設定されていればよい。
【００２７】
また、判定部１１３は、現フレームのオブジェクトと、後述するリンク定義記憶部１２に記憶されている、又は記憶対象の最新のフレームのオブジェクトとの移動量が、所定値以上であるか否かを判定する。これにより、判定部１１３は、オブジェクトが少しずつ移動した結果、判定基準の位置から所定値以上移動した場合を判定することができる。
【００２８】
リンク定義記憶部１２に記憶されている、又は記憶対象の最新のフレームとは、現フレームより前のフレームで、現フレームと一番近いフレームをいう。
【００２９】
また、判定部１１３は、オブジェクトの移動量が所定値未満であることを示す否定の判定結果が所定時間以上続いたか否かを判定してもよい。また、判定部１１３は、最終フレーム又はユーザによりアンカーが設定された最初のフレームであるか否かを判定してもよい。最終フレームとは、アンカーが設定された対象物が表示されている最後のフレーム又は動画の最終フレームのいずれかを表す。
【００３０】
判定部１１３は、生成部１１４を有する。生成部１１４は、判定部１１３で所定値以上であると判定された場合に、判定対象のフレーム識別子と、アンカー位置情報とを生成し、リンク定義記憶部１２に記憶する。アンカー位置情報は、例えば、抽出されたオブジェクトの中心座標とする。
【００３１】
生成部１１４は、現フレームと直前のフレームとが判定対象である場合、現フレームのフレーム識別子と現フレームのアンカー位置情報とを対応付けて、直前フレームのフレーム識別子と直前フレームのアンカー位置情報とを対応付けてリンク定義記憶部１２に記憶する。
【００３２】
生成部１１４は、現フレームとリンク定義記憶部１２に記憶されている最新のフレームとが判定対象である場合、現フレームのフレーム識別子と現フレームのアンカー位置情報とを対応付けてリンク定義記憶部１２に記憶する。以下では、現フレームのフレーム識別子とアンカー位置情報とを含む情報をアンカー情報とも呼ぶ。生成部１１４は、判定部１１３内に含まれる構成で説明したが、判定部１１３とは別の構成であってもよい。
【００３３】
生成部１１４は、移動量が所定値未満の場合が所定時間以上である場合、又は現フレームが最終フレーム、又はアンカーが設定された最初のフレームである場合、現フレームのフレーム識別子とアンカー位置情報とを対応付けてリンク定義記憶部１２に記憶する。
【００３４】
これにより、アンカー情報生成部１０は、アンカーを設定する場合に、フレーム毎にアンカー情報を定義しなくてもよい。また、アンカー情報生成部１０は、アンカーが設定されたオブジェクトの移動量が大きいフレームに対して、アンカー情報を記憶すればよいので、アンカー情報のデータ量を削減することができる。
【００３５】
操作部１１は、ＧＵＩ（Graphical User Interface）操作機能を有し、アンカー位置の設定や、アンカーに関連付けるリンク先の設定や、アンカー位置の編集や、動画再生の指示、アンカーの選択などを行う。操作部１１は、ユーザからの上記操作があった場合、その操作内容を各部に通知する。
【００３６】
リンク定義記憶部１２は、アンカー情報生成部１０で生成されたアンカー情報を記憶する。アンカー情報は、はじめにユーザにより設定されたアンカー位置情報と、そのフレーム識別子も含む。また、アンカー情報は、アンカーに関連付けられたリンク先の情報なども含む。アンカー情報については、図２を用いて後述する。
【００３７】
動画データ記憶部１３は、動画データを記憶する。動画データは、例えば、リンク先が関連付けられたアンカーを設定するためのコンテンツである。動画データとして、例えば、携帯端末の操作マニュアルや、自家用車の点検マニュアルなどがある。
【００３８】
リンク定義記憶部１２と動画データ記憶部１３とは、別の記憶部として説明したが、同じ記憶装置であってもよい。なお、リンク定義記憶部１２、動画データ記憶部１３は、例えば、ＶＲＡＭ（Video  Random  Access  Memory）を始めとするＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory）やフラッシュメモリ（flash  memory）などの半導体メモリ素子が挙げられる。なお、リンク定義記憶部１２、動画データ記憶部１３は、ハードディスク、光ディスクなどの記憶装置を適用してもかまわない。
【００３９】
アンカー情報編集部１４は、動画に設定されたアンカーの位置情報などを編集する。アンカー情報生成部１０では、アンカー位置情報を自動で生成するため、実際の動画上のオブジェクトとは位置がずれる場合がある。よって、このような場合に、編集者は、アンカー位置を編集する作業が発生する。アンカー情報編集部１４は、アンカー情報の編集作業を容易にする機能を有する。
【００４０】
アンカー情報編集部１４は、編集部１４１、及び変更部１４２を有する。編集部１４１は、動画データ記憶部１３に記憶された動画と、リンク定義記憶部１２に記憶されたアンカー情報とを用いて、アンカーが表示される動画を再生する。
【００４１】
このとき、編集部１４１は、アンカー位置やリンク先を編集可能な編集画面を表示部１６に表示制御する。編集部１４１は、表示部１６に表示された編集画面を用いてアンカーが編集された場合、操作部１１からアンカーに関する編集操作を受け付ける。
【００４２】
例えば、編集部１４１は、操作部１１からアンカー位置の変更や、アンカーに関連付けられたリンク先の変更などを受け付ける。編集部１４１は、操作部１１から受け付けたユーザ操作の内容、例えば、編集されたフレームのフレーム識別子や、変更されたアンカー位置情報を変更部１４２に通知する。
【００４３】
変更部１４２は、編集部１４１から取得した操作内容に基づいて、リンク定義記憶部１２に記憶されているアンカー情報を変更する。例えば、操作内容として、フレーム識別子、編集されたアンカー位置情報を含むとする。
【００４４】
この場合、変更部１４２は、リンク定義記憶部１２に記憶されているアンカー情報から、取得した操作内容に含まれるフレーム識別子と一致するフレーム識別子を検索する。変更部１４２は、一致したフレーム識別子に関連付けられたアンカー位置情報を、編集されたアンカー位置情報に変更する。
【００４５】
これにより、編集作業は、リンク定義記憶部１２に記憶されているフレームのみで済むため、編集が容易になる。
【００４６】
再生制御部１５は、動画データ記憶部１３から動画データを読み出して取得し、また、リンク定義記憶部１２からアンカー情報を読み出して取得し、アンカーを重畳表示した動画を表示部１６に再生する制御する。
【００４７】
再生制御部１５は、描画部１５１及びリンクコンテンツ再生部１５２を有する。描画部１５１は、アンカー情報に記憶されたフレーム識別子が示すフレームを表示部１６に表示するときに、アンカー位置情報が示す位置にアンカーを描画し、動画上に重畳する。
【００４８】
描画部１５１は、リンク定義記憶部１２に記憶されたフレーム識別子が示すフレーム以外のフレームが表示されるとき、補間演算を行ってアンカーを連続表示する。補間演算は、リンク定義記憶部１２に記憶されたフレームのうち、表示対象のフレームの前後に位置する２つのフレームに対応するそれぞれのアンカー位置情報を線形補間する。描画部１５１は、線形補間されたアンカーを例えばアニメーション描画する。
【００４９】
これにより、描画部１５１は、表示されるフレーム毎にアンカー全画素を再描画しなくてすみ、補間演算されたアンカーを表示するので、必要最小限の画素の再描画ですむ。必要最小限の画素とは、変更部分の画素をいう。よって、アンカー全画素で再描画する場合に比べてアンカー画像のちらつきを防止することができる。
【００５０】
リンクコンテンツ再生部１５２は、アンカーの押下によりアンカーが選択されたことを操作部１１から通知されると、アンカーに関連付けられたリンク先に移動し、例えば動画ハイパーリンクコンテンツを表示部１６に再生するよう制御する。
【００５１】
なお、アンカー情報生成部１０、アンカー情報編集部１４、及び再生制御部１５には、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）が挙げられる。また、電子回路としては、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などが挙げられる。
【００５２】
＜アンカー情報＞
次に、リンク定義記憶部１２に記憶されるアンカー情報のデータ構造について説明する。図２は、アンカー情報のデータ構造の一例を示す図である。図２に示すように、アンカー情報は、アンカー識別名（ｎａｍｅ）、アンカー種別（ｔｙｐｅ）、アンカー領域（ｓｉｚｅ）、リンク先情報（ｌｉｎｋ）、アンカーに関するデータ（ｄａｔａ）を示す動画データとの同期用に用いるフレーム位置又は経過時間（ｔｉｍｅ）、アンカーの画面上の座標を示すアンカー位置情報（ｐｘ，ｐｙ）を有する。
【００５３】
アンカー種別は、アイコンやリンク種類などを示す。アンカー領域は、クリック範囲のサイズを示す。画面上の座標は、動画オリジナルサイズを基準にする。
【００５４】
データ（ｄａｔａ）は、階層構造になっており、複数の「ｔｉｍｅ」、「（ｐｘ，ｐｙ）」を有することができる。なお、フレーム位置又は経過時間は、フレーム番号などの動画内のフレームを識別できる値であればいずれでもよい。
【００５５】
次に、アンカー情報の具体例について説明する。図３は、アンカー情報の一例を示す図である。図３に示す例は、アンカー情報をＸＭＬ（Extensible Markup Language）で実装した例である。
【００５６】
例えば、アンカー識別名は「ｓａｍｐｌｅＡ」であり、アンカー種別は「ＬＩＮＫ」であり、アンカー領域は「６０」であり、リンク先情報は「ｎｅｘｔｓｅｔ」である。また、図３に示す例では、フレーム識別子とアンカー位置情報とが４つ保持されている。これらのフレーム識別子とアンカー位置情報とは、アンカー情報生成部１０により生成された情報である。
【００５７】
＜アンカー位置情報生成、編集＞
次に、アンカー位置の自動生成について具体的に説明する。図４は、アンカー位置の自動生成を説明するための図である。図４に示す例では、フレームｔ１１〜ｔ１４が順番に表示されるとする。また、ｔ１１のフレームにおいて、ユーザによりアンカーを設定するオブジェクト（対象物）を指定されたとする。
【００５８】
このとき、アンカー情報生成部１０は、指定されたオブジェクト周辺をエッジ抽出し、オブジェクト領域を抽出する。アンカー情報生成部１０は、抽出されたオブジェクト領域の中心座標をアンカー位置情報とし、このアンカー位置情報に対応付けてフレームｔ１１の識別子（例えばタイムコード）をリンク定義記憶部１２に記憶する。
【００５９】
次に、アンカー情報生成部１０（抽出部１１２）は、ｔ１２のフレームにおけるオブジェクトを追跡し、ｔ１１のフレームからの移動量をフレーム間誤差抽出処理などで求める。アンカー情報生成部１０（判定部１１３）は、移動量が所定値以上であるか否か判定し、ここでは所定値未満であると判定する。所定値は、ここではオブジェクトサイズとする。
【００６０】
次に、アンカー情報生成部１０（抽出部１１２）は、ｔ１３のフレームにおけるオブジェクトを追跡し、ｔ１２のフレームからの移動量を求める。アンカー情報生成部１０（判定部１１３）は、移動量が所定値以上であるか否かを判定し、ここでは所定値以上であると判定する。
【００６１】
アンカー情報生成部１０（生成部１１４）は、ｔ１２及びｔ１３のフレーム識別子と、ｔ１２及びｔ１３のフレームのアンカー位置情報とをリンク定義記憶部１２に記憶する。ここでのフレーム識別子は、例えばタイムコードとし、アンカー位置情報は、例えばオブジェクトの中心座標とする。
【００６２】
次に、アンカー情報生成部１０（抽出部１１２）は、ｔ１４のフレームにおけるオブジェクトを追跡し、ｔ１３のフレームからの移動量を求める。アンカー情報生成部１０（判定部１１３）は、移動量が所定値以上であるか否かを判定し、ここでは所定値以上であると判定する。アンカー情報生成部１０（生成部１１４）は、ｔ１３のフレーム識別子とアンカー位置情報とはリンク定義記憶部１２に既に記憶されているため、ｔ１４のフレーム識別子と、ｔ１４のフレームのアンカー位置情報とをリンク定義記憶部１２に記憶する。
【００６３】
これにより、アンカーを設定したフレームの後の全てのフレームでアンカーを定義しなくてもよいため、アンカー情報のデータ量を削減することができる。
【００６４】
次に、携帯端末の電池パックをオブジェクトとした具体例について説明する。図５は、アンカー位置の自動生成、編集例を説明するための図である。図５に示す例は、携帯端末の電池パックをオブジェクトに設定した場合の例である。
【００６５】
アンカー情報生成部１０（設定部１１１）は、動画データ記憶部１３から対象動画を読み込んで取得する。このとき、表示される動画の開始フレームが画面ｄ１１内部の画像とする。
【００６６】
次に、画面ｄ１２において、ユーザが、アンカーａｎ１２を電池パックの位置に設定したとする。これは、例えば、リンクボタンを押下することでアンカーａｎ１２が画面ｄ１２に表示され、このアンカーａｎ１２の位置を移動することで設定可能である。
【００６７】
はじめにアンカーが設定されると、アンカー情報生成部１０は、このアンカーが設定されたオブジェクトを追跡することで、オブジェクトの移動量が大きいアンカー位置を自動生成することができる。
【００６８】
画面ｄ１３は、自動生成されたアンカー位置情報をプレビュー再生して確認する画面である。
【００６９】
画面ｄ１４は、自動生成されたアンカー位置を編集する画面である。ユーザは、位置調整を行うフレームをコマ送りなどで特定し、そのフレームに表示されているアンカーａｎ１４をドラッグ操作などで所望の位置に移動する。
【００７０】
これにより、編集者は、リンク定義記憶部１２に記憶されたフレーム識別子が示すフレームのアンカー位置情報を確認すればよく、全てのフレームでアンカーの位置確認などをしなくてすむ。よって、編集作業が容易になる。
【００７１】
＜アンカー描画、動画再生＞
次に、動画とアンカーの描画構造について説明する。図６は、アンカーの描画例を説明するための図である。図６に示す例では、動画再生用のレイヤーにアンカー描画用のレイヤーを重畳する。この構造により、アンカーを再生中の動画内のオブジェクトに重畳することができるようになる。
【００７２】
図７は、アンカーの表示例を説明するための図である。図７に示す例では、フレームｔ２１、ｔ２３、ｔ２４、ｔ２８でアンカー情報がリンク定義記憶部１２に記憶されている。描画部１５１は、リンク定義記憶部１２に記憶されているフレーム識別子が示すフレームに対しては、アンカー位置情報が示す位置にアンカーを描画する。
【００７３】
描画部１５１は、リンク定義記憶部１２に記憶されているフレーム識別子が示すフレーム以外のフレームに対しては、描画されるアンカーの位置に基づいて補間演算することで、アンカーを例えばアニメーション描画する。
【００７４】
例えば、フレームｔ２２のアンカーは、フレームｔ２１のアンカー位置と、フレームｔ２３のアンカー位置との中間に表示される。また、フレームｔ２５〜ｔ２７のアンカーは、フレームｔ２４のアンカー位置と、フレームｔ２８のアンカー位置との補間演算により求められた位置に表示される。
【００７５】
なお、図７に示すフレームｔ２１、ｔ２３、ｔ２４、ｔ２８に表示されるアンカーが編集対象となる。なお、一般的な技術では、フレームｔ２１〜ｔ２８のアンカー位置情報が記憶され、フレームｔ２１〜ｔ２８のアンカーが編集対象となる。
【００７６】
これにより、アンカー描画は、フレーム毎にアンカーの全画素を書き直す再描画ではなく、座標移動のアニメーションによる描画方法を適用できるため、アンカーについてちらつきの無いスムーズな表示が可能となる。
【００７７】
次に、携帯端末のｍｉｃｒｏＳＤカードをオブジェクトとした具体例について説明する。図８は、リンク先表示を説明するための図である。図８に示す例は、携帯端末のｍｉｃｒｏＳＤカードを取り付ける操作を説明する動画の例である。また、図８に示す例では、ｍｉｃｒｏＳＤカードにアンカーが設定されている。
【００７８】
画面ｄ２１は、ｍｉｃｒｏＳＤカードを取り付ける携帯端末を表示する画面である。再生制御部１５は、対象動画を動画データ記憶部１３から読み込み、アンカー情報をリンク定義記憶部１２から読み込んで、画面ｄ２１の画像を再生する。このとき、画面ｄ２１には、アンカーが設定されていない。
【００７９】
画面ｄ２２は、ｍｉｃｒｏＳＤカードを持っている手が表示され、このｍｉｃｒｏＳＤカードにアンカーが重畳して表示されている画面である。描画部１５１は、アンカー情報に含まれるフレーム識別子が示すフレームが再生される場合、そのフレームにアンカーを描画する。アンカーが描画された画面が、画面ｄ２２である。
【００８０】
画面ｄ２３は、ｍｉｃｒｏＳＤカードが携帯端末に取り付けられている画面である。このとき、画面ｄ２３の画像内にあるアンカーａｎ２３が選択されたとする。なお、アンカーａｎ２３は、動画再生中はｍｉｃｒｏＳＤに追随して描画される。
【００８１】
このとき、アンカー情報が記憶されていないフレームに対しては、補間演算（例えば座標の直線補間）により、アンカーが連続表示される。アンカーの選択は、マウスによるクリックや、タッチパネルでの押下などで検知できる。
【００８２】
画面ｄ２４は、アンカーに関連付けられたリンク先の映像の一フレームが表示された画面である。リンクコンテンツ再生部１５２は、アンカーａｎ２３が選択されたことを通知されると、アンカー情報に含まれるリンク先情報にリンクし、リンク先の映像を再生する。画面ｄ２４では、ｍｉｃｒｏＳＤの取り付け位置が拡大表示されている。
【００８３】
これにより、アンカー情報が記憶されていないフレームに対しても、アンカーを連続表示することができ、アンカーが選択された場合には、リンク先に移動してリンクされた映像を再生することができる。
【００８４】
＜動作＞
次に、情報処理装置１の動作について説明する。図９は、アンカー設定処理の一例を示すフローチャートである。図９に示すステップＳ１０１で、アンカー情報生成部１０は、動画データ記憶部１３から対象動画を読み込んで取得する。ここで、アンカー情報生成部１０は、対象動画を再生又はコマ送りして、アンカーを設定するオブジェクトの指定を待つ。
【００８５】
ステップＳ１０２で、設定部１１１は、ユーザがアンカーを設定したいオブジェクトの指定を、操作部１１から受け付ける。このとき、設定部１１１は、オブジェクトの位置座標やアンカーを設定した開始フレームを特定する。オブジェクトの位置座標は、例えば、図５に示す画面ｄ１２のような指定の場合は、アンカーの中心座標とする。
【００８６】
ステップＳ１０３で、抽出部１１２は、動画内の開始フレーム以降のフレーム毎に、画像認識を行ってオブジェクト座標を抽出する。例えば、抽出部１１２は、オブジェクト領域をエッジ抽出などにより抽出し、そのオブジェクト領域の中心座標を、オブジェクト座標とする。
【００８７】
ステップＳ１０４で、判定部１１３は、現フレームと、現フレームとは異なる過去の他のフレームとのオブジェクト座標の移動量に基づいて、アンカー情報を保存しておくフレームを特定する。ステップＳ１０４の処理は、図１０を用いて後述する。
【００８８】
ステップＳ１０５で、アンカー情報生成部１０は、アンカー情報の属性を追加設定する。アンカー情報の属性は、例えば、リンク先や表示属性や名称などである。
【００８９】
ステップＳ１０６で、生成部１１４は、保存対象として特定されたフレームのフレーム識別子とアンカー位置情報とを、アンカー情報としてリンク定義記憶部１２に記憶する。
【００９０】
ステップＳ１０７で、アンカー情報編集部１４は、設定されたアンカーをプレビューして、操作部１１から位置変更要求を通知されたか否かを判定する。位置変更要求がある場合（ステップＳ１０７−ＹＥＳ）ステップＳ１０８に進み、位置変更要求がない場合（ステップＳ１０７−ＮＯ）処理を終了する。
【００９１】
ステップＳ１０８で、変更部１４２は、アンカー位置情報の編集を行う。変更部１４２は、例えば、編集対象のフレームのフレーム識別子及び編集後のアンカー位置情報を取得し、リンク定義記憶部１２に記憶される編集対象のフレームのアンカー位置情報を、編集後のアンカーの位置情報に変更する。
【００９２】
次に、ステップＳ１０４の処理について詳しく説明する。図１０は、アンカー情報の生成処理の一例を示すフローチャートである。図１０に示すステップＳ２０１で、生成部１１４は、開始フレームを現フレーム及び特定データとして設定する。現フレームとは、判定対象の基準となるフレームである。特定データとは、リンク定義記憶部１２に記憶される対象となるデータである。
【００９３】
ステップＳ２０２で、判定部１１３は、現フレームをインクリメントする。インクリメントすることで、現フレームは表示時間順で次のフレームになる。
【００９４】
ステップＳ２０３で、判定部１１３は、現フレームと前フレームのオブジェクト座標を比較対象に設定する。前フレームは、例えば現フレームの直前のフレームである。
【００９５】
ステップＳ２０４で、判定部１１３は、オブジェクト座標の差分を示す移動量の絶対値が所定値（オブジェクトサイズ）以上であるか否かを判定する。以下では、オブジェクト座標の差分を示す移動量をオブジェクト移動量とも呼ぶ。オブジェクト移動量の絶対値がオブジェクトサイズ以上であれば（ステップＳ２０４−ＹＥＳ）ステップＳ２０６に進み、オブジェクト移動量の絶対値がオブジェクトサイズ未満であれば（ステップＳ２０４−ＮＯ）ステップＳ２０５に進む。なお、オブジェクト移動量の絶対値がオブジェクトサイズ以上であるとは、フレーム間でオブジェクト領域が重複しないようにオブジェクトが移動した場合をいう。
【００９６】
ステップＳ２０５で、判定部１１３は、オブジェクト移動量の絶対値が所定値（アンカーサイズ）以上であるか否かを判定する。オブジェクト移動量の絶対値がアンカーサイズ以上であれば（ステップＳ２０５−ＹＥＳ）ステップＳ２０６に進み、オブジェクト移動量の絶対値がアンカーサイズ未満であれば（ステップＳ２０５−ＮＯ）ステップＳ２０７に進む。なお、オブジェクト移動量の絶対値がアンカーサイズ以上であるとは、フレーム間でアンカーの縦、横、又は対角線以上にオブジェクトが移動した場合をいう。
【００９７】
ステップＳ２０５の判定を行う理由は、オブジェクトのサイズが大きい場合、ステップＳ２０４の判定で肯定される場合が少なくなるので、アンカーサイズ以上移動した場合には、現フレームを特定データとするためである。
【００９８】
ステップＳ２０６で、生成部１１４は、現フレーム及び前フレームを特定データに設定する。なお、生成部１１４は、前フレームが既に特定データにされている場合は、現フレームのみを特定データに設定する。
【００９９】
なお、ステップＳ２０４、Ｓ２０５の処理は、前後のフレーム間で移動量が大きい場合を見分ける処理である。これにより、瞬間的にオブジェクトが大きく移動した場合を特定し、現フレームを特定データとすることができる。
【０１００】
ステップＳ２０７で、判定部１１３は、直前の特定データと、現フレームのオブジェクト座標を比較対象に設定する。直前の特定データとは、特定データの中で、表示順が一番後（最新）のフレームをいう。
【０１０１】
ステップＳ２０８で、判定部１１３は、オブジェクト移動量の絶対値が所定値（オブジェクトサイズ）以上であるか否かを判定する。オブジェクト移動量の絶対値がオブジェクトサイズ以上であれば（ステップＳ２０８−ＹＥＳ）ステップＳ２１１に進み、オブジェクト移動量の絶対値がオブジェクトサイズ未満であれば（ステップＳ２０８−ＮＯ）ステップＳ２０９に進む。
【０１０２】
ステップＳ２０９で、判定部１１３は、オブジェクト移動量の絶対値が所定値（アンカーサイズ）以上であるか否かを判定する。オブジェクト移動量の絶対値がアンカーサイズ以上であれば（ステップＳ２０９−ＹＥＳ）ステップＳ２１１に進み、オブジェクト移動量の絶対値がアンカーサイズ未満であれば（ステップＳ２０９−ＮＯ）ステップＳ２１０に進む。
【０１０３】
なお、ステップＳ２０８、Ｓ２０９の処理は、特定データのフレームから、ゆっくりと移動し、特定データのオブジェクトからの移動量が大きい場合を見分ける処理である。これにより、ゆっくりとオブジェクトが移動し、特定データのオブジェクトの位置から所定以上移動した場合を特定し、現フレームを特定データとすることができる。
【０１０４】
ステップＳ２１０で、判定部１１３は、直前の特定データと現フレームとのフレーム間隔が、設定された基準値（閾値）以上であるか否かを判定する。閾値は、例えば３又は５秒とするが、実験などにより適切な値が設定されればよい。フレーム間隔が閾値以上であれば（ステップＳ２１０−ＹＥＳ）ステップＳ２１１に進み、フレーム間隔が閾値未満であれば（ステップＳ２１０−ＮＯ）ステップＳ２１２に進む。
【０１０５】
ステップＳ２１０の判定を行う理由は、オブジェクトの微妙な動きにアンカーを追随させるため、所定間隔で現フレームを特定データとするためである。
【０１０６】
ステップＳ２１１で、生成部１１４は、現フレームを特定データに設定する。
【０１０７】
ステップＳ２１２で、判定部１１３は、現フレームが最終フレームであるか否かを判定する。現フレームが最終フレームであれば（ステップＳ２１２−ＹＥＳ）ステップＳ２１３に進み、現フレームが最終フレームでなければ（ステップＳ２１２−ＮＯ）ステップＳ２０２に戻る。
【０１０８】
ステップＳ２１３で、生成部１１４は、最終フレームを特定データに設定する。最終フレームを特定データにする理由は、補間演算に最終フレームのアンカーの位置を用いるためである。
【０１０９】
以上の処理により、アンカー情報を全てのフレームで記憶しなくてもよくなるため、アンカー情報のデータ量を削減することができる。
【０１１０】
次に、アンカーが設定された動画を再生する処理について説明する。図１１は、動画再生処理の一例を示すフローチャートである。図１１に示すステップＳ３０１で、再生制御部１５は、動画データ記憶部１３から対象動画を読み込み、リンク定義記憶部１２からアンカー情報を読み込む。
【０１１１】
ステップＳ３０２で、再生制御部１５は、読み込んだ動画データを再生する。ステップＳ３０３で、描画部１５１は、アンカーを描画するか否かを判定する。例えば、描画部１５１は、アンカー情報に含まれる最初のフレーム識別子が示すフレームと最後のフレーム識別子が示すフレームとの間のフレームが再生されるかを判定する。描画する場合（ステップＳ３０３−ＹＥＳ）ステップＳ３０４に進み、描画しない場合（ステップＳ３０３−ＮＯ）ステップＳ３０２に戻る。
【０１１２】
ステップＳ３０４で、描画部１５１は、再生対象のフレームに関連付けられたアンカー位置情報があるか否かを判定する。アンカー位置情報があれば（ステップＳ３０４−ＹＥＳ）ステップＳ３０５に進み、アンカー位置情報がなければ（ステップＳ３０４−ＮＯ）ステップＳ３０６に進む。
【０１１３】
ステップＳ３０５で、描画部１５１は、アンカー情報に含まれるフレーム識別子が示すフレームが再生されるとき、動画データのフレーム又は再生時間と同期して、アンカー位置情報が示す位置にアンカーを描画する。アンカーは、例えばリンクアイコンとする。
【０１１４】
ステップＳ３０６で、描画部１５１は、表示対象のフレームの前後に存在するアンカー位置情報から補間演算を行ってアンカーの表示位置を求める。描画部１５１は、求めた位置にアンカーを移動して描画する。
【０１１５】
ステップＳ３０７で、リンクコンテンツ再生部１５２は、アンカーが選択されたか否かを判定する。アンカーが選択されていれば（ステップＳ３０７−ＹＥＳ）ステップＳ３０８に進み、アンカーが選択されていなければ（ステップＳ３０７−ＮＯ）ステップＳ３１０に進む。
【０１１６】
ステップＳ３０８で、リンクコンテンツ再生部１５２は、アンカーに関連付けられたリンク先の映像を再生する。なお、リンク先は必ずしも動画である必要はなく、静止画やテキストであってもよい。
【０１１７】
ステップＳ３０９で、リンクコンテンツ再生部１５２は、リンク先から動画に戻るボタンが押下されたか否かを判定する。動画に戻る場合（ステップＳ３０９−ＹＥＳ）ステップＳ３０２に戻り、動画に戻らない場合（ステップＳ３０９−ＮＯ）ステップＳ３０８に戻る。
【０１１８】
ステップＳ３１０で、再生制御部１５は、対象動画が終了したか否かを判定する。動画が終了すれば（ステップＳ３１０−ＹＥＳ）再生処理を終了し、動画が終了していなければ（ステップＳ３１０−ＮＯ）ステップＳ３０２に戻る。
【０１１９】
以上の処理により、アンカーが設定された動画を再生することができる。また、ステップＳ３０６の処理では例えばアニメーション描画処理を行うことで、アンカーのちらつきを防止することができる。
【０１２０】
以上、実施例によれば、アンカーの編集を容易にしつつ、アンカー情報のデータ量を削減することができる。
【０１２１】
［変形例］
図１２は、情報処理装置のハードウェアの一例を示すブロック図である。図１２に示すように、情報処理装置２は、制御部２０１、主記憶部２０２、補助記憶部２０３、ドライブ装置２０４、ネットワークＩ／Ｆ部２０６、入力部２０７、表示部２０８を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
【０１２２】
制御部２０１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵである。また、制御部２０１は、主記憶部２０２や補助記憶部２０３に記憶されたプログラムを実行する演算装置である。このプログラムは、上記実施例で図９〜１１で説明した情報処理を実行するプログラムである。
【０１２３】
制御部２０１は、このプログラムを実行することで、実施例で説明した情報処理を実現できる。
【０１２４】
主記憶部２０２は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などであり、制御部２０１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【０１２５】
補助記憶部２０３は、ＨＤＤ（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【０１２６】
ドライブ装置２０４は、記録媒体２０５、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
【０１２７】
また、記録媒体２０５に、所定のプログラムを格納し、この記録媒体２０５に格納されたプログラムはドライブ装置２０４を介して情報処理装置２にインストールされる。インストールされた所定のプログラムは、情報処理装置２により実行可能となる。
【０１２８】
ネットワークＩ／Ｆ部２０６は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器と情報処理装置２とのインターフェースである。
【０１２９】
入力部２０７は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部２０８の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部２０７は、ユーザが制御部２０１に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。
【０１３０】
表示部２０８は、ＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等により構成され、制御部２０１から入力される表示データに応じた表示が行われる。
【０１３１】
このように、上述した実施例で説明した情報処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、上述した情報処理を実現することができる。
【０１３２】
また、このプログラムを記録媒体２０５に記録し、このプログラムが記録された記録媒体２０５をコンピュータや携帯端末に読み取らせて、上述した情報処理を実現させることも可能である。なお、記録媒体２０５は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。記録媒体には、搬送波は含まれない。また、上述した実施例で説明した情報処理は、１つ又は複数の集積回路に実装してもよい。
【０１３３】
上記実施例や変形例は、例えば動画を活用した説明解説ドキュメント、操作マニュアル、教育コンテンツを作成する装置に適用することができる。
【０１３４】
以上、実施例について詳述したが、上記実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記変形例以外にも種々の変形及び変更が可能である。
【０１３５】
なお、以上の各実施例に関し、さらに以下の付記を開示する。
（付記１）
動画に含まれる画像内の対象物に対するアンカーの設定を受け付け、
前記動画に含まれる所定画像内の前記アンカーが設定された対象物と、前記動画に含まれる他の画像内の該対象物との移動量が所定値以上であるか否かを判定し、
前記所定値以上であると判定された場合に、判定対象の画像の識別子と、前記アンカーの位置情報とを記憶部に記憶する処理をコンピュータに実行させるためのプログラム。
（付記２）
前記他の画像は、前記所定画像の直前の画像である場合、
前記記憶する処理は、
前記所定画像の識別子と、前記所定画像内のアンカーの位置情報と、前記直前の画像の識別子と、前記次の画像内のアンカーの位置情報とを前記記憶部に記憶する付記１記載のプログラム。
（付記３）
前記他の画像は、前記記憶部に対する記憶対象の中で最新の画像である場合、
前記記憶する処理は、
前記所定画像の識別子と、前記所定画像内のアンカーの位置情報とを前記記憶部に記憶する付記１又は２記載のプログラム。
（付記４）
前記判定する処理は、
前記所定画像と、前記最新の画像との間隔が閾値以上であるか否かをさらに判定し、
前記記憶する処理は、
前記間隔が閾値以上であると判定された場合、前記所定画像の識別子と、前記所定画像の位置情報とを前記記憶部に記憶する付記１乃至３いずれか一項に記載のプログラム。
（付記５）
前記動画を再生する場合、
前記記憶部に記憶された識別子が示す画像を表示するとき、前記位置情報が示す位置に前記アンカーを重畳して表示し、
前記記憶部に記憶された識別子が示す画像以外の画像を表示するとき、前記記憶部に記憶された識別子が示す画像のうち、表示対象の画像の前後に位置する２つの画像に対応するそれぞれの前記アンカーの位置情報に基づいて補間演算した位置に、前記アンカーを重畳して表示する処理をさらにコンピュータに実行させるための付記１乃至４いずれか一項に記載のプログラム。
（付記６）
動画に含まれる画像内の対象物に対するアンカーを設定する設定部と、
前記動画に含まれる所定画像内の前記アンカーが設定された対象物と、前記動画に含まれる他の画像内の該対象物との移動量が所定値以上であるか否かを判定する判定部と、
前記所定値以上であると判定された場合に、判定対象の画像の識別子と、前記アンカーの位置情報とを記憶する記憶部と、
を備える情報処理装置。
（付記７）
動画に含まれる画像内の対象物に対するアンカーの設定を受け付け、
前記動画に含まれる所定画像内の前記アンカーが設定された対象物と、前記動画に含まれる他の画像内の該対象物との移動量が所定値以上であるか否かを判定し、
前記所定値以上であると判定された場合に、判定対象の画像の識別子と、前記アンカーの位置情報とを記憶部に記憶する処理をコンピュータが実行する情報処理方法。
（付記８）
動画に含まれる画像内の対象物に対するアンカーの設定を受け付け、
前記動画に含まれる所定画像内の前記アンカーが設定された対象物と、前記動画に含まれる他の画像内の該対象物との移動量が所定値以上であるか否かを判定し、
前記所定値以上であると判定された場合に、判定対象の画像の識別子と、前記アンカーの位置情報とを記憶部に記憶する処理をコンピュータに実行させるためのプログラムを記録した、コンピュータ読取可能な記録媒体。
【符号の説明】
【０１３６】
１  情報処理装置
１０  アンカー情報生成部
１１  操作部
１２  リンク定義記憶部
１３  動画データ記憶部
１４  アンカー情報編集部
１５  再生制御部
１６  表示部
１１１  設定部
１１２  抽出部
１１３  判定部
１１４  生成部
１４１  編集部
１４２  変更部
１５１  描画部
１５２  リンクコンテンツ再生部
２０１  制御部
【図１】
0005838791.tif 000002
【図２】
0005838791.tif 000003
【図３】
0005838791.tif 000004
【図４】
0005838791.tif 000005
【図５】
0005838791.tif 000006
【図６】
0005838791.tif 000007
【図７】
0005838791.tif 000008
【図８】
0005838791.tif 000009
【図９】
0005838791.tif 000010
【図１０】
0005838791.tif 000011
【図１１】
0005838791.tif 000012
【図１２】
0005838791.tif 000013