(57)【要約】【課題】映像データのサムネイルデータを効率的に生成する。【解決手段】サムネイル出力装置１は、第１のタスクに、映像データ１５の先頭から最小の粒度レベルで表示するためのサムネイルデータを生成させる表示前処理手段２３と、表示前処理手段２３において第１のタスクを生成した後、第２のタスクに、映像データ１５の先頭から最小の粒度レベルの次の粒度レベルで表示するためのサムネイルデータを生成させる順次生成手段２４と、第１のタスクで生成されたサムネイルデータが出力された後、サムネイルの新たな生成位置および新たな粒度レベルが入力されると、新たなタスクに、新たな生成位置および新たな粒度レベルで表示するためのサムネイルデータを生成させる投機生成手段２５を備える。【選択図】      図５
2013005287.tif 000002
【特許請求の範囲】
【請求項１】
映像データのサムネイルデータを出力するサムネイル出力方法であって、
映像データについて、最大の粒度レベルでサムネイルを生成する元となるフレーム番号を算出して、サムネイル情報データとして記憶するとともに、第１のタスクに、前記映像データの先頭から最小の粒度レベルで表示するためのサムネイルデータを生成させるとともに、当該第１のタスクで生成するフレーム番号と、当該第１のタスクの識別子を対応づけて前記サムネイル情報データに記憶するステップと、
前記第１のタスクを生成した後、第２のタスクに、前記映像データの先頭から最小の粒度レベルの次の粒度レベルで表示するためのサムネイルデータを生成させるとともに、当該第２のタスクで新たに生成するフレーム番号と、当該第２のタスクの識別子を対応づけて前記サムネイル情報データに記憶するステップと、
前記第１のタスクで生成されたサムネイルデータが出力された後、サムネイルの新たな生成位置および新たな粒度レベルが入力されると、新たなタスクに、新たな生成位置および新たな粒度レベルで表示するためのサムネイルデータを生成させるステップ
を備えることを特徴とするサムネイル出力方法。
【請求項２】
前記第１のタスクを生成した後、サムネイルを生成可能なリソースの範囲内で、前記映像データの全ての生成位置および最大の粒度レベルに対応するサムネイルデータを生成する複数のタスクを生成するステップ
をさらに備えること特徴とする請求項１に記載のサムネイル出力方法。
【請求項３】
サムネイルの新たな生成位置および新たな粒度レベルが入力された際、前記新たなタスクに割り当てるリソースがない場合、現在処理されているタスクのうち、前記新たなタスクの生成位置に最も遠い生成位置のタスクを停止して、新たなタスクにリソースを割り当てる
ことを特徴とする請求項２に記載のサムネイル出力方法。
【請求項４】
映像データのサムネイルデータを出力するサムネイル出力装置であって、
映像データについて、最大の粒度レベルでサムネイルを生成する元となるフレーム番号を算出して、サムネイル情報データとして記憶するとともに、第１のタスクに、前記映像データの先頭から最小の粒度レベルで表示するためのサムネイルデータを生成させるとともに、当該第１のタスクで生成するフレーム番号と、当該第１のタスクの識別子を対応づけて前記サムネイル情報データに記憶する表示前処理手段と、
前記表示前処理手段において第１のタスクを生成した後、第２のタスクに、前記映像データの先頭から最小の粒度レベルの次の粒度レベルで表示するためのサムネイルデータを生成させるとともに、当該第２のタスクで新たに生成するフレーム番号と、当該第２のタスクの識別子を対応づけて前記サムネイル情報データに記憶する順次生成手段と、
前記第１のタスクで生成されたサムネイルデータが出力された後、サムネイルの新たな生成位置および新たな粒度レベルが入力されると、新たなタスクに、新たな生成位置および新たな粒度レベルで表示するためのサムネイルデータを生成させる投機生成手段
を備えることを特徴とするサムネイル出力装置。
【請求項５】
前記順次生成手段は、サムネイルを生成可能なリソースの範囲内で、前記映像データの全ての生成位置および最大の粒度レベルに対応するサムネイルデータを生成する複数のタスクを生成する
ことを特徴とする請求項４に記載のサムネイル出力装置。
【請求項６】
前記投機生成手段は、前記新たなタスクに割り当てるリソースがない場合、現在処理されているタスクのうち、前記新たなタスクの生成位置に最も遠い生成位置のタスクを停止して、新たなタスクにリソースを割り当てる
ことを特徴とする請求項５に記載のサムネイル出力装置。
【請求項７】
コンピュータに、請求項１ないし請求項３のいずれか１項に記載のステップを実行させるためのサムネイル出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像データのサムネイルデータを出力するサムネイル出力方法、サムネイル出力装置およびサムネイル出力プログラムに関する。
【背景技術】
【０００２】
一般的に、映像データなどの時連続メディアは、映像プレーヤーを用いてテレビはコンピュータに映像再生しても、一目で内容を一覧して把握することが難しい。そこで、映像データの内容確認のために、サムネイルを時系列順に配置し表示して、参照させる方法がある。サムネイルは、映像データの任意のフレームを縮小して生成された画像データである。サムネイルが時系列順に配置し表示されることによって、映像データの内容を把握させることができる。
【０００３】
ここで、表示画面などのサイズは有限であるため、表示可能なサムネイルの数は限りがある。従って、ユーザが映像データ全体を俯瞰して見たいのか、部分的に詳細に映像を見たいのか、など、ユーザの要望によって、表示するサムネイルの生成位置や生成間隔を変更できる仕組みが必要になる。
【０００４】
ここで、同じ映像データについて、複数の処理をするため、処理時間を短縮し、処理効率を向上させる技術がある（特許文献１参照。）、この特許文献１に記載の技術では、映像データの編集において、映像データのオープン回数を減らして、映像データから所望の区間データを取得する時間を短縮することができる。
【０００５】
ここで、映像データの視聴や編集において、クライアントサーバ形式が採用される機会が増えている。サーバは、クライアントからのリクエストに応じて高負荷な処理を担い、クライアントは、サーバにリクエストを送信し、その結果を受信する。これにより、クライアントは、低スペックなコンピュータで良い。またクライアントは、所定の処理のための特別なプログラムを要しない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４５８５００７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、映像データについて、あらゆる生成位置および生成間隔で表示するサムネイルを全て作成し、表示するには、時間を要してしまう場合がある。
【０００８】
特にクライアントサーバ形式においては、データの通信時間が問題となる。クライアントから映像データを受信してサムネイルを作成する場合、クライアントは、サーバに映像データをアップロードし、サーバから処理結果をダウンロードする。近年の情報機器の発達に伴い、映像データやサムネイルのデータサイズが大きく傾向があり、アップロードやダウンロードに要する時間コストが大きくなる問題がある。
【０００９】
また、サムネイルの生成においては、映像データにおいて任意のタイムスタンプへアクセスして、任意のフレームを縮小する。従って、高画質で長時間な映像では、所望のタイムスタンプへアクセスするためのシーク時間が大きくなる。特に、タイムスタンプが映像データの公報の場合、シーク時間の問題は顕著になる。
【００１０】
従って本発明の目的は、映像データのサムネイルデータを効率的に生成するサムネイル出力方法、サムネイル出力装置およびサムネイル出力プログラムを提供することである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の第１の特徴は、映像データのサムネイルデータを出力するサムネイル出力方法に関する。すなわち本発明の第１の特徴に係るサムネイル出力方法は、映像データについて、最大の粒度レベルでサムネイルを生成する元となるフレーム番号を算出して、サムネイル情報データとして記憶するとともに、第１のタスクに、映像データの先頭から最小の粒度レベルで表示するためのサムネイルデータを生成させるとともに、当該第１のタスクで生成するフレーム番号と、当該第１のタスクの識別子を対応づけてサムネイル情報データに記憶するステップと、第１のタスクを生成した後、第２のタスクに、映像データの先頭から最小の粒度レベルの次の粒度レベルで表示するためのサムネイルデータを生成させるとともに、当該第２のタスクで新たに生成するフレーム番号と、当該第２のタスクの識別子を対応づけてサムネイル情報データに記憶するステップと、第１のタスクで生成されたサムネイルデータが出力された後、サムネイルの新たな生成位置および新たな粒度レベルが入力されると、新たなタスクに、新たな生成位置および新たな粒度レベルで表示するためのサムネイルデータを生成させるステップを備える。
【００１２】
ここで、第１のタスクを生成した後、サムネイルを生成可能なリソースの範囲内で、映像データの全ての生成位置および最大の粒度レベルに対応するサムネイルデータを生成する複数のタスクを生成するステップをさらに備えても良い。
【００１３】
また、サムネイルの新たな生成位置および新たな粒度レベルが入力された際、新たなタスクに割り当てるリソースがない場合、現在処理されているタスクのうち、新たなタスクの生成位置に最も遠い生成位置のタスクを停止して、新たなタスクにリソースを割り当てても良い。
【００１４】
本発明の第２の特徴は、映像データのサムネイルデータを出力するサムネイル出力装置に関する。すなわち本発明の第２の特徴に係るサムネイル出力装置は、映像データについて、最大の粒度レベルでサムネイルを生成する元となるフレーム番号を算出して、サムネイル情報データとして記憶するとともに、第１のタスクに、映像データの先頭から最小の粒度レベルで表示するためのサムネイルデータを生成させるとともに、当該第１のタスクで生成するフレーム番号と、当該第１のタスクの識別子を対応づけてサムネイル情報データに記憶する表示前処理手段と、表示前処理手段において第１のタスクを生成した後、第２のタスクに、映像データの先頭から最小の粒度レベルの次の粒度レベルで表示するためのサムネイルデータを生成させるとともに、当該第２のタスクで新たに生成するフレーム番号と、当該第２のタスクの識別子を対応づけてサムネイル情報データに記憶する順次生成手段と、第１のタスクで生成されたサムネイルデータが出力された後、サムネイルの新たな生成位置および新たな粒度レベルが入力されると、新たなタスクに、新たな生成位置および新たな粒度レベルで表示するためのサムネイルデータを生成させる投機生成手段を備える。
【００１５】
ここで順次生成手段は、サムネイルを生成可能なリソースの範囲内で、映像データの全ての生成位置および最大の粒度レベルに対応するサムネイルデータを生成する複数のタスクを生成しても良い。
【００１６】
また、投機生成手段は、新たなタスクに割り当てるリソースがない場合、現在処理されているタスクのうち、新たなタスクの生成位置に最も遠い生成位置のタスクを停止して、新たなタスクにリソースを割り当てても良い。
【００１７】
本発明の第３の特徴は、コンピュータに本発明の第１の特徴に記載のステップを実行させるためのコンテンツ収集プログラムに関する。
【発明の効果】
【００１８】
本発明によれば、映像データのサムネイルデータを効率的に生成するサムネイル出力方法、サムネイル出力装置およびサムネイル出力プログラムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態に係るサムネイル出力方法を説明するシーケンス図である。
【図２】本発明の実施の形態に係るサムネイル出力方法において、サムネイルの生成区間および粒度レベルを説明する図である。
【図３】本発明の実施の形態に係るサムネイル出力方法において、サムネイルの粒度レベルを説明する図である。
【図４】本発明の実施の形態に係るサムネイル出力方法において、サムネイルの生成区間を説明する図である。
【図５】本発明の実施の形態に係るサムネイル出力装置の機能ブロック図である。
【図６】本発明の実施の形態に係るサムネイル表示端末におけるサムネイル表示画面の一例を説明する図である。
【図７】本発明の実施の形態に係るサムネイル出力装置において、サムネイルの生成区間と、表示されるサムネイルの生成間隔を説明する図である。
【図８】本発明の実施の形態に係るサムネイル出力装置の現状態データのデータ構造とデータの一例を説明する図である。
【図９】本発明の実施の形態に係るサムネイル出力装置のサムネイル情報データのデータ構造とデータの一例を説明する図である。
【図１０】本発明の実施の形態に係るサムネイル出力装置のタスク状態データのデータ構造とデータの一例を説明する図である。
【図１１】本発明の実施の形態に係るサムネイル出力装置において、タスクとタスクが生成するサムネイルを説明する図である。
【図１２】本発明の実施の形態に係るサムネイル出力装置の表示前処理手段による表示前処理を説明するフローチャートである。
【図１３】本発明の実施の形態に係るサムネイル出力装置の順次生成手段による順次生成処理を説明するフローチャートである。
【図１４】本発明の実施の形態に係るサムネイル出力装置の投機生成手段による投機生成処理を説明するフローチャートである。
【図１５】本発明の実施の形態に係るサムネイル出力装置の投機生成手段において、タスクが生成するサムネイルを説明する図である。
【図１６】本発明の実施の形態に係るサムネイル出力装置の投機生成手段において、図１５に対応するタスク状態データを説明する図である。
【図１７】本発明の実施の形態に係るサムネイル出力装置の投機生成手段において、次の表示リクエストを予測してタスクが生成するサムネイルを説明する図である。
【図１８】本発明の実施の形態に係るサムネイル出力装置の投機生成手段において、図１７に対応するタスク状態データを説明する図である。
【図１９】本発明の実施の形態に係るサムネイル出力装置のサムネイル生成手段によるサムネイル生成処理を説明するフローチャートである。
【発明を実施するための形態】
【００２０】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００２１】
（サムネイル出力方法）
本発明の実施の形態に係るサムネイル出力方法は、映像データのサムネイルデータを効率的に出力する。本発明の実施の形態においては、ユーザの指定したサムネイルでの生成位置および生成間隔に基づいて、一連のサムネイル群を生成して表示する。サムネイル出力装置１は、サムネイル表示端末２からの指定に基づいて、指定された生成位置から指定された粒度レベルでサムネイルを出力する。この際、サムネイル出力装置１は、ユーザに指定された条件でサムネイルを生成すると、次にユーザによって指定されそうな条件で予めサムネイルを生成することにより、サムネイル生成におけるユーザの待機時間を削減することができる。
【００２２】
ここで、サムネイルの生成位置とは、サムネイル群の先頭サムネイルの映像データにおける位置である。サムネイルの生成間隔とは、サムネイル群において、隣り合うサムネイルの時間長である。サムネイルの生成間隔は、サムネイルの粒度レベルに依存する。サムネイルの粒度レベルが高い場合、サムネイルの生成間隔が小さく、サムネイルの粒度レベルが低い場合、サムネイルの生成間隔が大きい。
【００２３】
図１を参照して、本発明の実施の形態に係るサムネイル出力方法を説明する。図１に示す例においては、クライアントであるサムネイル表示端末２が映像データ１５のサムネイルの表示をリクエストし、サムネイル出力装置１が、サムネイル表示端末２から指定された条件でサムネイルを生成し、サムネイル表示端末２に送信する。
【００２４】
まずステップＳ１においてサムネイル表示端末２は、サムネイル出力装置１に、サムネイル表示リクエストを送信する。このサムネイル表示リクエストには、生成対象の映像データ１５が含まれる。また、映像データ１５が予めサムネイル出力装置１に記録されている場合、その映像データ１５の識別子がサムネイル表示リクエストに含まれる。
【００２５】
サムネイル表示リクエストを受信すると、サムネイル出力装置１は、指定された映像データ１５全体を確認できる一連のサムネイル群を生成するため、ステップＳ２およびステップＳ３において生成するサムネイルを特定してサムネイルを生成をする。具体的にはステップＳ２においてサムネイル出力装置１は、生成対象の映像データ１５について、最小の粒度レベルでサムネイルを生成する元となるフレーム番号を算出する。さらにステップＳ３においてサムネイル出力装置１は、第１のタスクに、映像データ１５の先頭から最小の粒度レベルで表示するためのサムネイルデータを生成させる。ステップＳ３においてサムネイルデータが生成されると、ステップＳ４において生成されたサムネイルデータが、サムネイル表示端末２に送信される。サムネイル表示端末２は、送信されたサムネイルデータを表示する。
【００２６】
一方、サムネイル出力装置１は、ステップＳ３のサムネイル生成処理が終了すると、ステップＳ５およびステップＳ６において、ステップＳ３で生成したサムネイル以外のサムネイルを生成する。ステップＳ５においてサムネイル出力装置１は、サムネイル表示端末２からさらにサムネイル表示リクエストが来たときに備えるため、映像データ１５の先頭から最小の粒度レベルの次の粒度レベルで表示するサムネイルデータの元となる、フレーム番号を算出する。さらにステップＳ６においてサムネイル出力装置１は、第２のタスクに、ステップＳ５で定めた条件に従って、サムネイルデータを生成させる。
【００２７】
ステップＳ５およびステップＳ６の処理において、サムネイル出力装置１のリソースの状況に応じて、第２のタスクのみならず、第３のタスク、第４のタスク…と、複数のタスクを生成して並列にサムネイルデータを生成させても良い。また、サムネイルの生成位置と粒度レベルを変更して、ステップＳ３における表示前処理におけるサムネイルデータの生成と、ステップＳ６における順次生成におけるサムネイルデータの生成とを、サムネイル出力装置１のリソースの状況に応じて、並列に処理させても良い。ステップＳ５およびステップＳ６の処理は、ユーザから新たなリクエストがあるまで、順次生成処理によるサムネイルデータの生成処理が繰り返される。
【００２８】
ステップＳ７において、サムネイル表示端末２から新たなサムネイル表示リクエストが送信されると、サムネイル表示端末２は、新たなサムネイル表示リクエストに対応するサムネイルを作成する。この表示リクエストは、サムネイルの新たな生成位置および新たな粒度レベルを含む。このサムネイルの新たな生成位置は例えば、ステップＳ４で表示したサムネイルのいずれかをユーザがクリックして選択したサムネイルについて、表示されたサムネイルにおける選択したサムネイルの順番である。
【００２９】
サムネイル表示リクエストを受信すると、サムネイル出力装置１は、新たなサムネイル群を生成するため、ステップＳ８およびステップＳ９において生成する新たなサムネイルを特定してサムネイルを生成する。具体的にはステップＳ８においてサムネイル出力装置１は、新たな生成位置および新たな粒度レベルで表示するためのフレーム番号を算出する。さらにステップＳ６においてサムネイル出力装置１は、新たなタスクに、ステップＳ８で定めた条件に従って、サムネイルデータを生成させる。ここで、新たなタスクを割り当てるリソースがない場合、サムネイル表示端末２は、現在処理されているタスクのうち、新たなタスクに割り当てるべき生成位置に最も遠い生成位置のタスクを停止して、新たなタスクにリソースを割り当てる。ステップＳ９においてサムネイルデータが生成されると、ステップＳ１０において生成されたサムネイルデータが、サムネイル表示端末２に送信される。サムネイル表示端末２は、送信されたサムネイルデータを表示する。
【００３０】
ステップＳ８およびステップＳ９における投機生成処理によるサムネイルデータの生成処理が終了すると、ステップＳ１１において、サムネイル出力装置１が表示可能な全てのサムネイルが生成されたか否かを判定する。生成されていない場合、ステップＳ５に戻り、サムネイルの生成処理を繰り返す。ここで、サムネイル出力装置１が表示可能な全てのサムネイルとは、対象の映像データの先頭から最後までの区間において、粒度レベルを最高にした際に表示するサムネイルである。サムネイル出力装置１が表示可能な全てのサムネイルが生成されるまで、サムネイル出力装置は、サムネイルを生成するとともに、サムネイル表示端末２からのリクエストに基づいて、リクエストに適合するサムネイルデータを取得して、サムネイル表示端末２に送信する。
【００３１】
全てのサムネイルが生成されると、サムネイル出力装置１は、この対象の映像データ１５についてサムネイルを生成する処理は終了する。ステップＳ１２において、サムネイル表示リクエストを受信すると、サムネイル出力装置１は、表示リクエストに対応したサムネイルデータを読み出し、ステップＳ１３においてサムネイル表示端末２に表示する。ステップＳ１２およびステップＳ１３の処理は、例えばユーザが、対象の映像データ１５のサムネイルの表示を終了するまで、繰り返される。ステップＳ１２およびＳ１３の処理の間、サムネイル出力装置１は、サムネイルを生成する処理をすることなく、サムネイル表示端末２からのリクエストに基づいて、既に生成したサムネイルデータから、リクエストに適合するサムネイルデータを取得して、サムネイル表示端末２に送信する。
【００３２】
ここで図２を参照して、本発明の実施の形態においてサムネイルの生成位置および粒度レベルを説明する。サムネイル表示端末２において表示可能なサムネイルの数は有限である。図２の例では、サムネイル表示端末２において１６枚のサムネイルを表示することができるとする。ここでユーザが、映像データ１５を俯瞰して見たい場合、サムネイル出力装置１は、映像データ１５の広い区間について、粒度レベルの低いサムネイルを生成する。このようなサムネイルが表示されると、ユーザは映像データ１５の広い区間について、荒いコマ送りの画像データで映像データ１５の内容を一覧で見ることができる。
【００３３】
一方、表示された映像データ１５のサムネイルについて、ユーザが、所定区間の詳細なサムネイルデータを確認したい場合を考える。例えばユーザは、表示されたサムネイルのいずれかを選択しするとともに、粒度レベルを上げる指示を入力する。この指示を受信するとサムネイル出力装置１は、選択されたサムネイルを先頭にし、粒度レベルが上がったサムネイルを生成する。また、生成される最後のサムネイルに対応するフレーム位置は、サムネイル表示端末２において表示可能なサムネイルの数と、粒度レベルによって決定される。このようなサムネイルが表示されると、ユーザは映像データの狭い区間について、細かいコマ送りの画像データを一覧で見ることができる。
【００３４】
このようにユーザは、サムネイルを生成する区間と粒度レベルを指定することにより、映像データ１５の全体を俯瞰的に見たり、特定区間を詳細に見たりすることができる。
【００３５】
図３を参照して、映像データ１５の粒度レベルと、生成区間の関係を説明する。図３においては、映像データ１５の粒度レベルｉを３段階で表現している。粒度レベルｉが最小の場合、サムネイルの生成範囲Ｌｉは、最大になる。この場合、映像データ１５から、Ｔ１１、Ｔ１２、Ｔ１３およびＴ１４のサムネイルが生成される。粒度レベルｉ＋１の場合、具体的には、粒度レベルが一つ上がった場合、サムネイルの生成範囲Ｌｉ＋１は、生成範囲Ｌｉの場合より狭くなる。この場合、映像データ１５から、Ｔ２１、Ｔ２２、Ｔ２３およびＴ２４のサムネイルが生成される。粒度レベルｉ＋２の場合、具体的には、粒度レベルが最大の場合、サムネイルの生成範囲Ｌｉ＋１は、最小になる。この場合、映像データ１５から、Ｔ３１、Ｔ３２、Ｔ３３およびＴ３４のサムネイルが生成される。
【００３６】
映像データ１５の映像長をＬ、粒度レベルをｉ、サムネイル表示端末２に表示可能なサムネイルの最大数をＮとすると、このサムネイル生成間隔Ｄｉは、式（１）によって表現される。
【００３７】
Ｄｉ＝Ｌ／Ｎｉ  （ｉ＝１、２、３、・・・・）    ・・・・式（１）
ここで、Ｎｉは、粒度レベルｉのときの表示候補となるサムネイルの最大数である。この式（１）に示す通り、粒度レベルｉが大きくなるほど、サムネイル生成間隔Ｄは短くなり、単位時間あたりのサムネイル数は多くなる。これは、粒度レベルを上げることにより、表示されるサムネイルが示す情報が、より詳細になることを示している。
【００３８】
図４を参照して、映像データ１５におけるサムネイルの表示区間と、サムネイルの関係を説明する。図４の上段に示すように、所定の粒度レベルでサムネイルを生成する際、映像データ１５から、サムネイルＴ１１ないしＴ２４が生成されるとする。このサムネイルＴ１１ないしＴ２４は、所定の粒度レベルでサムネイル出力装置１が表示可能なサムネイルの、映像データ１５における位置を示している。
【００３９】
ここで、サムネイル表示端末２におけるサムネイルの表示数が４で、先頭のサムネイルがＴ１１の場合、サムネイル表示端末２には、Ｔ１１からＴ１４のサムネイルが表示される。サムネイル表示端末２においてサムネイルＴ１６を先頭にする指示が入力されると、サムネイル表示端末２には、Ｔ１６からＴ１９のサムネイルが表示される。サムネイルＴ２１を先頭にする指示が入力されると、サムネイル表示端末２には、Ｔ２１からＴ２４のサムネイルが表示される。
【００４０】
このように、粒度レベルが同じでも、表示する先頭のサムネイルによって、サムネイルの生成位置が異なる。本発明の実施の形態に係るサムネイル出力装置１は、映像データ１５における所定の位置から、所定の粒度レベルで、サムネイルを生成し、サムネイル表示端末２に送信してサムネイルを表示することができる。
【００４１】
図５を参照して、本発明の実施の形態に係るサムネイル出力装置１を説明する。本発明の実施の形態に係るサムネイル出力装置１は、サムネイル表示端末２と通信ネットワークなどによって相互に通信可能に接続されている。
【００４２】
本発明の実施の形態においては、サムネイル出力装置１とサムネイル表示端末２とが、通信ネットワークで接続されている場合を説明するが、スタンドアロン形式であっても、同様の方法を適用することができる。
【００４３】
サムネイル表示端末２は、ブラウザなどのソフトウェアを実行可能な一般的なコンピュータである。サムネイル表示端末２は、ブラウザなどを介して、映像データをサムネイル出力装置１にアップロードしたり、所望のサムネイルの条件を入力することができる。また、サムネイル出力装置１から送信されたサムネイルは、サムネイル表示端末２のブラウザなどに表示される。
【００４４】
サムネイル出力装置１は、図５に示すように、記憶装置１０、中央処理制御装置２０、通信制御装置３０などを備える一般的なコンピュータである。サムネイル出力装置１は、一般的なコンピュータに所定の処理を実行するサムネイル出力プログラムがインストールされ、実行されることによって実装される。
【００４５】
記憶装置１０には、サムネイル出力プログラムが記憶されるとともに、現状態データ１１、表示サムネイル群情報データ１２、サムネイル情報データ１３、タスク状態データ１４、映像データ１５およびサムネイル群データ１６が記憶される。
【００４６】
現状態データ１１、表示サムネイル群情報データ１２、サムネイル情報データ１３、タスク状態データ１４およびサムネイル群データ１６は、後述する中央処理制御装置２０の各処理手段によって出力され参照されるデータである。
【００４７】
映像データ１５は、本発明の実施の形態に係るサムネイル出力装置１が、サムネイルを出力する対象の映像データ１５である。映像データ１５は、後述するサムネイル生成手段２６などによって参照される。映像データ１５は、サムネイル表示端末２によってアップロードされても良いし、予め記憶装置１０に記憶されても良い。
【００４８】
中央処理制御装置２０は、表示サムネイル決定手段２１、タスク管理手段２２、サムネイル生成手段２６およびサムネイル出力手段２７を備える。
【００４９】
表示サムネイル決定手段２１は、サムネイル表示端末２からのサムネイル表示リクエストに基づいて、サムネイル出力装置１が出力するサムネイルについて、生成位置（ｔｓ）と粒度レベル（ｉ）を特定して、表示サムネイル群情報データ１２に記憶する。このとき、表示サムネイル決定手段２１は、現状態データ１１を参照する場合もある。
【００５０】
表示サムネイル群情報データ１２は、サムネイル出力装置１が出力するサムネイル群を特定する情報である。表示サムネイル群情報データ１２は、サムネイル出力装置１が出力するサムネイル群の、先頭サムネイルの生成位置の情報と、粒度レベルの情報を含む。ここで、サムネイルの生成位置は、サムネイル群の先頭のサムネイルに対応する、映像データ１５のフレームの情報である。生成位置は、フレーム番号で特定されても良いし、映像データ１５の先頭からの再生時間によって特定されても良い。
【００５１】
現状態データ１１は、サムネイル表示端末２に表示されているサムネイル群の、先頭のサムネイル生成位置の情報と、粒度レベルの情報を含む。
【００５２】
新たな映像データ１５についてサムネイルを表示する際、表示サムネイル決定手段２１は、生成位置を映像データ１５の先頭にするとともに、粒度レベルを最小に設定する。表示サムネイル決定手段２１は、設定した生成位置および粒度レベルの情報を、表示サムネイル群情報データ１２に記憶するとともに、現状態データ１１に記憶する。
【００５３】
サムネイル表示リクエストが、既に表示されたサムネイルに対して生成位置または粒度レベルを変更するリクエストである場合、表示サムネイル決定手段２１は、現状態データ１１を参照する。表示サムネイル決定手段２１は、現状態データ１１を参照して、現在表示されている生成位置および粒度レベルに基づいて、新たに生成するサムネイルの生成位置および粒度レベルを設定する。表示サムネイル決定手段２１は、設定した生成位置および粒度レベルの情報を、表示サムネイル群情報データ１２に記憶するとともに、現状態データ１１に記憶する。
【００５４】
例えば、サムネイル表示端末２から現状態から粒度を上げる指示が入力された場合、表示サムネイル決定手段２１は、現状態データ１１の粒度レベルを上げて、表示サムネイル群情報データ１２と現状態データ１１を更新する。先頭のサムネイルを変更する場合、表示サムネイル決定手段２１は、先頭のサムネイルの新たな生成位置を算出して、表示サムネイル群情報データ１２と現状態データ１１を更新する。
【００５５】
ここで、先頭のサムネイルを変更する場合の表示サムネイル決定手段２１の処理を説明する。サムネイル表示端末２には、図６に示すように、１からｎまでのサムネイルを含むサムネイル表示画面Ｐ１０１が表示されているとする。ここで、表示されたサムネイル中、サムネイル表示端末２において、ｊ番目のサムネイルが選択され、このｊ番目のサムネイルを先頭にしてサムネイル群を表示する場合を想定する。
【００５６】
具体的には、図７に示すように、第１のサムネイル表示画面Ｐ１１１では、先頭の生成位置をｔｓとする９のサムネイルが表示される。この場合、図８（ａ）に示すように、現状態データ１１ａにおいて、サムネイル生成位置としてｔｓが、粒度レベルとしてｉが設定されている。ここで、ｊ＝７番目のサムネイルが選択されると、サムネイル出力装置１は、この７番目のサムネイルを先頭にした第２のサムネイル表示画面Ｐ１１２を生成する。
【００５７】
表示サムネイル決定手段２１は、まず、図８（ａ）に示す現状態データ１１ａから現在表示中の先頭のサムネイルの生成位置ｔｓと、粒度レベルｉを読み出し、サムネイル生成間隔Ｄｉを算出する。サムネイルの生成間隔Ｄｉは、式（１）によって算出される。
【００５８】
次に、サムネイル表示端末２で選択されたｊ番目のサムネイルの生成位置ｔｓ’を、下記の式（２）により算出する。
【００５９】
ｔｓ’＝ｔｓ＋（ｊ−１）×Ｄｉ  （ｊ＝１，２，３，・・・ｎ）  ・・・・式（２）
上記式（２）によってｔｓ’を算出すると、表示サムネイル決定手段２１は、算出したｔｓ’を、図８（ｂ）の現状態データ１１ｂに更新する。図８（ｂ）において、粒度レベルは変更しないので、ｉのままである。なお、粒度レベルが変更される場合、表示サムネイル決定手段２１は、式（１）を参照して、新たな粒度レベルｉ’に基づいて、新たな生成間隔Ｄｉ'を算出する。
【００６０】
タスク管理手段２２は、表示サムネイル決定手段２１によって決定された表示サムネイル群の情報に基づいて、サムネイルの生成対象の区間についてタスクを割り当て、サムネイル情報データ１３において生成したサムネイルを管理する。また、タスク管理手段２２は、タスク状態データ１４を用いて、各タスクの実行状態を保持する。タスク管理手段２２は、サムネイル表示端末２におけるサムネイル表示の待ち時間が少なくなるように、サムネイル生成の各タスクについて、リソースをスケジューリングする。ここでタスクは、後述するサムネイル生成手段２６において、一連のサムネイルを生成するための処理単位である。
【００６１】
サムネイル情報データ１３は、図９に示すように、フレーム番号をキーとして、タスク番号およびサムネイル名を対応づけたデータである。フレーム番号は、本発明の実施の形態に係るサムネイル出力装置１が出力可能なサムネイルを識別する識別子である。
【００６２】
サムネイル情報データ１３のフレーム番号は、映像データ１５について、サムネイル出力装置１が出力可能な最大粒度レベルに対応するサムネイル生成間隔Ｄｍａｘごとに区切ったフレーム番号に対応する。本発明の実施の形態に係るサムネイル出力装置１が、粒度レベルが最大のときに、映像データ１５の各フレームをサムネイルとして表示する場合、このサムネイル生成間隔Ｄｍａｘは、映像データ１５におけるフレーム間隔となる。
【００６３】
タスク番号は、このフレームに対応するサムネイルを作成するタスクの識別子である。タスク番号は、タスク管理手段２２によって、リソースに割り当てるサムネイル作成のためのタスクの識別子である。サムネイル名は、タスクによって生成されたサムネイルのファイル名である。
【００６４】
タスク状態データ１４は、図１０に示すように、タスク番号をキーとして、タスクの状態を対応づけたデータである。このタスク番号は、後述するサムネイル生成手段２６で実行されるタスクの数に対応し、サムネイル情報データ１３におけるタスク番号に対応する。タスクが追加されると、タスク状態データ１４のレコードも追加される。
【００６５】
タスク状態としては、「実行中」、「停止中」および「完了」がある。「実行中」は、そのタスクにおいてサムネイル生成が実行されている状態を表す。「停止中」は、割り当てられているサムネイル生成が全て完了していない状態で、一時的に停止されている状態を表す。「完了」は、割り当てられたサムネイル生成が全て完了している状態を表す。
【００６６】
タスク管理手段２２は、表示前処理手段２３、順次生成手段２４および投機生成手段２５を備える。表示前処理手段２３は、サムネイル表示端末２に、必要最低限のサムネイルのみを生成する処理を制御するとともに、サムネイル情報データ１３を生成する。順次生成手段２４は、表示前処理手段２３が実行された後、残りのサムネイルを順次生成する処理を制御する。投機生成手段２５は、順次生成手段２４が実行されている際に、サムネイル表示端末２から新たにサムネイルを表示するリクエストを受信した際、そのリクエストを処理するためにサムネイルをい生成する処理を制御する。
【００６７】
本発明の実施の形態に係るタスク管理手段２２は、サムネイル生成手段２６にサムネイル出力装置１が出力可能なサムネイルデータを生成させるために、状況に応じて、表示前処理手段２３、順次生成手段２４および投機生成手段２５のそれぞれがタスクを管理する。
【００６８】
図１１に示すように、本発明の実施の形態において、サムネイル生成のためのタスクは、階層的に分割される。図１１に示す例において、映像データ１５に付されたフレーム番号は、最大粒度で表示する際のサムネイルのフレーム番号である。図１１に示す例では、サムネイル表示端末２の表示画面に、４つのサムネイルデータが表示される場合を説明している。
【００６９】
まず、第１のタスクは、タスク生成区間を映像データ１５の全長とし、粒度レベルを最小とする際に表示するサムネイルデータを生成する。第１のタスクは、粒度レベル＝１の場合のタスクである。
【００７０】
第２のタスクおよび第３のタスクは、粒度レベルを最小から１上げた際に表示するサムネイルデータを生成する。第２のタスクおよび第３のタスクは、粒度レベル＝２の場合のタスクである。第２のタスク、第３のタスクは、図１１に示すように、タスク生成区間が異なる。
【００７１】
第４のタスク、第５のタスク…は、粒度レベルをさらに１上げた際に表示するサムネイルデータを生成する。第４のタスク、第５のタスク…は、粒度レベル＝３の場合のタスクである。第４のタスク、第５のタスク…は、タスク生成区間が異なる。
【００７２】
表示前処理手段２３では、まず最初にサムネイル表示端末２に全体を俯瞰するためのサムネイルを表示するため、第１のタスクを生成し管理する。順次生成手段２４および投機生成手段２５のいずれかが、第２のタスク、第３のタスク、・・・・を分担して、生成し管理する。順次生成手段２４は、第２のタスク、第３のタスク、・・・・と順次にタスクを生成して管理する。投機生成手段２５は、サムネイル表示端末２からのリクエストに基づいて、そのリクエストで指定された条件に合致するタスクと、その次にリクエストが予想されるタスクを生成し管理する。
【００７３】
表示前処理手段２３、順次生成手段２４および投機生成手段２５について詳述する。
【００７４】
表示前処理手段２３は、映像データ１５について、最大の粒度レベルでサムネイルを生成する元となるフレーム番号を算出して、サムネイル情報データ１３として記憶する。さらに表示前処理手段２３は、第１のタスクに、映像データ１５の先頭から最小の粒度レベルで表示するためのサムネイルデータを生成させる。表示前処理手段２３は、第１のタスクで生成するフレーム番号と、当該第１のタスクの識別子を対応づけてサムネイル情報データ１３に記憶する。
【００７５】
図１２を参照して、本発明の実施の形態に係る表示前処理手段２３による表示前処理を説明する。まずステップＳ１０１において表示前処理手段２３は、サムネイル情報データ１３に、最大粒度の生成間隔Ｄｍａｘで特定されるフレーム番号を記録する。表示前処理手段２３は、映像データ１５を、粒度レベルが最大の際のサムネイル生成間隔Ｄｍａｘで割って、フレーム番号を特定する。ここでは、図１１に示すフレーム１、２、…が特定されるとする。この隣り合うフレームのフレーム間隔は、Ｄｍａｘである。表示前処理手段２３は、粒度レベルが最大の場合のフレーム番号をキーに、図９に示すサムネイル情報データ１３を生成する。なおこの時点では、タスク番号およびサムネイル名には、何も設定されていない。
【００７６】
次にステップＳ１０２において、サムネイル情報データ１３に、生成間隔Ｄ１での第１のタスクを割り当てる。この第１のタスクは、全体を俯瞰するためのサムネイルを生成するためのタスクである。具体的には表示前処理手段２３は、サムネイル情報データ１３のタスク番号の欄に、第１のタスクに対応するフレーム番号に対応づけて第１のタスクの識別子を設定する。ここでは、図１１に示すように、フレーム番号１、１７…に対応するサムネイルデータの生成処理が第１のタスクに割り当てられるので、これらのフレーム番号のタスク番号に、第１のタスク番号の識別子を設定する。
【００７７】
ステップＳ１０３において表示前処理手段２３は、タスク状態データ１４を更新する。表示前処理手段２３は、タスク状態データ１４の第１のタスクに対応するタスク状態を、「実行中」に更新する。なおこの時点では、第２のタスクなどの他のタスクは割り当てられていないので、タスク状態データ１４において第１のタスクに関するレコード以外のレコードは含まれていない。
【００７８】
ステップＳ１０４において、サムネイル生成手段２６に、生成間隔Ｄ１でサムネイルデータを生成させる。ここで表示前処理手段２３は、サムネイル生成手段２６に、タスク番号を入力する。サムネイルを生成するタスク番号が入力されると、サムネイル生成手段２６は、サムネイル状態データ１４を参照して、入力されたタスク番号に対応するフレーム番号を取得する。サムネイル生成手段２６は、映像データ１５から取得したフレーム番号に対応する画像データからサムネイルデータ１６ａ、１６ｂ、…を生成する。サムネイル生成手段２６は、生成したサムネイルデータ１６ａ、１６ｂ、…を、サムネイル群データ１６に記憶するとともに、生成の元となるフレーム番号とそのフレームから生成したサムネイル名を対応づけて、表示前処理手段２３に入力する。表示前処理手段２３は、サムネイル生成手段２６から入力されたフレーム番号とサムネイル名を対応づけて、サムネイル情報データ１３に記憶する。
【００７９】
ステップＳ１０１ないしステップＳ１０４において、表示前処理手段２３の処理が終了すると、順次生成手段２４による処理が開始される。まず最小の粒度レベルに対応するサムネイルを生成し表示することで、サムネイル出力装置１は、サムネイル表示端末２のユーザの待機時間を短縮することができる。
【００８０】
順次生成手段２４は、表示前処理手段２３において第１のタスクを生成した後、第２のタスクに、映像データ１５の先頭から最小の粒度レベルの次の粒度レベルで表示するためのサムネイルデータを生成させる。順次生成手段２４は、当該第２のタスクで新たに生成するフレーム番号と、当該第２のタスクの識別子を対応づけてサムネイル情報データに記憶する。ここで順次生成手段２４は、サムネイルを生成可能なリソースの範囲内で、映像データ１５の全ての生成位置および最大の粒度レベルに対応するサムネイルデータを生成する複数のタスクを生成しても良い。
【００８１】
図１３を参照して、本発明の実施の形態に係る順次生成手段２４による順次生成処理を説明する。まずステップＳ２０１において、生成するべき粒度レベルｉをインクリメントする。表示前処理手段２３によって粒度レベルｉ＝１のサムネイルを生成した直後、順次生成手段２４は、最小の粒度レベルの次の粒度レベルｉ＝２のタスクを処理する。
【００８２】
次にステップＳ２０２およびステップＳ２０３において、順次生成手段２４は、サムネイル情報データ１３に、生成間隔Ｄｉ（Ｄ２）での第２のタスクを割り当てる。この第２のタスクは、全体を俯瞰するためのサムネイル以外のサムネイルを生成するためのタスクである。図１１に示す例においては、順次生成手段２４は、ｉ＝２のタスクである第２のタスクおよび第３のタスクについて、サムネイル情報データ１３上でタスクを割り当て、タスク状態データ１４のタスク番号に、第２のタスクおよび第3のタスクのタスク識別子を設定する。
【００８３】
第２のタスクについて処理する際、ステップＳ２０２において順次生成手段２４は、サムネイル情報データ１３のタスク番号の欄に、第２のタスクに対応するフレーム番号に対応づけて第２のタスクの識別子を設定する。ここでは、図１１に示すように、フレーム番号５、９および１３に対応するサムネイルデータの生成処理が第２のタスクに割り当てられる。従って順次生成手段２４は、これらのフレーム番号のタスク番号に、第２のタスク番号の識別子を設定する。なお、フレーム番号１に対応するサムネイル名がサムネイル情報データ１３に設定されていることにより第１のタスクで生成されている。従って、第２のタスクでは生成されることはない。  
さらにステップＳ２０３において順次生成手段２４は、タスク状態データ１４に、タスク番号に第２のタスクの識別子を設定したレコードを挿入する。この時点では、第２のタスクに対応するタスク状態には何も設定されていない。
【００８４】
第３のタスクについても上記のように処理した後、ステップＳ２０４に進む。
【００８５】
ステップＳ２０４において順次生成手段２４は、サムネイル生成手段２６において、まず第２のタスクを割り当てるリソースが存在するか否かを判定する。第２のタスクに割り当てるリソースがある場合、ステップＳ２０５に進み、順次生成手段２４は、タスク状態データ１４の第２のタスク番号に対応するタスク状態を「実行中」に変更する。
【００８６】
ステップＳ２０６において、サムネイル生成手段２６に、生成間隔Ｄｉでのサムネイルデータを生成される。ここで順次生成手段２４は、サムネイル生成手段２６に、映像データ１５におけるフレーム番号など、サムネイルを生成するフレーム番号を入力する。サムネイル生成手段２６によってサムネイルデータが生成されると、生成の元となるフレーム番号とそのフレームから生成したサムネイル名を対応づけて、順次生成手段２４に入力する。順次生成手段２４は、サムネイル生成手段２６から入力されたフレーム番号とサムネイル名を対応づけて、サムネイル情報データ１３に記憶する。
【００８７】
ステップＳ２０６において、サムネイル生成手段２６によるサムネイル生成処理を開始させた後、ステップＳ２０７において順次生成手段２４は、サムネイルの生成を開始していないタスクが存在するか否かを判定する。具体的には、サムネイル生成手段２６は、タスク状態データ１４を参照して、タスク番号にタスク識別子が設定されているものの、タスク状態に何も設定されていないレコードを特定し、そのタスク識別子を特定する。第２のタスクについてのみサムネイルの生成処理が開始されているものの、第３のタスクについてはサムネイルの生成処理が開始されていない。従って、第３のタスクにリソースを割り当てるために、ステップＳ２０４に戻り、リソースが空き次第、各タスクにサムネイルの生成処理を開始させる。
【００８８】
このように、粒度レベルｉ＝２の全てのタスクについてサムネイルの生成を開始させると、ステップＳ２０８において、生成が完了した粒度レベルが、最大粒度レベルであるか否かを判定する。具体的には、ステップＳ２０６で生成したサムネイルの生成間隔Ｄｉが、Ｄｍａｘであるか否かを判定する。ステップＳ２０６で生成したサムネイルの生成間隔Ｄｉが、Ｄｍａｘでない場合、ステップＳ２０１に戻り、粒度レベルｉをインクリメントして、第４のタスク、第５のタスク・・についてサムネイルデータを生成する処理を繰り返す。一方、ステップＳ２０６で生成したサムネイルの生成間隔Ｄｉが、Ｄｍａｘである場合、全てのタスクにおいてサムネイルデータが生成されているので、順次生成手段２４は処理を終了する。
【００８９】
このように、順次生成手段２４では、タスクにサムネイルの生成を開始させると、リソースの範囲内で、新たなタスクにサムネイルの生成を開始させる。このように、並列してサムネイルを生成させることにより、サムネイルの生成に要する時間を短縮することができる。なお、後述するように投機生成手段２５による処理が開始されると、投機生成手段２５に優先的にリソースが割り当てられる。順次生成手段２４が割り当てたタスクは「停止中」に遷移して、その停止中に遷移したタスクに割り当てられていたリソースは、投機生成手段２５が割り当てたタスクに割り当てられる。
【００９０】
投機生成手段２５は、第１のタスクで生成されたサムネイルデータが出力された後、サムネイルの新たな生成位置および新たな粒度レベルが入力されると、新たなタスクに、新たな生成位置および新たな粒度レベルで表示するためのサムネイルデータを生成させる。投機生成手段２５は、サムネイル表示端末２から新たなサムネイルの表示リクエストを受信すると、受信した表示リクエストに基づいてまだ生成されていないサムネイルデータを生成するタスクを制御する。
【００９１】
この新たなタスクに割り当てるリソースがない場合、投機生成手段２５は、現在処理されているタスクのうち、新たなタスクの生成位置に最も遠い生成位置のタスクを停止して、新たなタスクにリソースを割り当てる。この最も遠い生成位置は、タスクにおいて生成する先頭サムネイルの位置を基準に判断される。例えば、図１１に示す例において、第２のタスクと第３のタスクが実行中で、新たに割り当てられるリソースがない場合を考える。サムネイル表示端末２からのリクエストによって新たに第４のタスクを実行する必要があると、投機生成手段２５は、第３のタスクを停止して、その第３のタスクが利用していたリソースを、第４のタスクに割り当てる。ここで、第２のタスクは、フレーム番号１、５、９および１３のサムネイル群を表示するための処理なので、第２のタスクの先頭の生成位置は、フレーム番号１の位置である。一方、第３のタスクは、フレーム番号１７、２１、２５および２９のサムネイル群を表示するための処理なので、第３のタスクの先頭の生成位置は、フレーム番号１７の位置である。ここで、第４のタスクは、フレーム番号１、２、３および４のサムネイルを表示するための処理なので、第４のタスクの先頭の生成位置は、フレーム番号１の位置である。従って、第４のタスクの先頭の生成位置に最も遠い生成位置のタスクは、第２のタスクになる。そこで投機生成手段２５は、第３のタスクを中止して、この第３のタスクが利用していたリソースを使って、第４のタスクを実行させる。
【００９２】
図１４を参照して、本発明の実施の形態に係る投機生成手段２５による投機生成処理を説明する。図１１に示す例において、第２のタスクによって生成された粒度レベル＝２のサムネイルが表示された後、サムネイル表示端末２においてフレーム番号９のサムネイルが選択され、粒度レベルｉ＝２が選択されたとする。この場合、サムネイル出力装置１は、サムネイル表示端末２に、新たに表示するサムネイル群として、フレーム番号９、１３、１７および２１のサムネイルを表示する必要がある。ここで、フレーム番号９および１３は、第２のタスクによって生成される。フレーム番号１７は、第１のタスクによって生成される。フレーム番号２１は、第３のタスクによって生成される。
【００９３】
ステップＳ３０１において投機生成手段２５は、サムネイル表示端末２において選択されたサムネイルデータを生成したタスク番号を検出する。ここで、サムネイル表示端末２において選択されたサムネイルデータは、サムネイル出力装置１が表示するサムネイルデータの先頭のサムネイルデータとなる。ここで、サムネイル表示端末２は、フレーム番号９のサムネイルを選択しているので、投機生成手段２５は、サムネイル情報データ１３からフレーム番号９に対応するタスク番号「第２のタスク」を検出する。
【００９４】
ステップＳ３０２において投機生成手段２５は、サムネイル生成手段２６において、ステップＳ３０１で特定した第２のタスクを割り当てるリソースが存在するか否かを判定する。第２のタスクに割り当てるリソースがない場合、ステップＳ３０３において、現在処理されている所定のタスクを停止して、リソースを解放する。ここで停止するタスクは、現在処理されているタスクのうち、ステップＳ３０１で特定された第２のタスクの生成位置に最も遠い生成位置のタスクである。タスクを停止すると、投機生成手段２５は、タスク状態データ１４の停止したタスクに対応するタスク状態を、「停止中」に更新する。
【００９５】
さらに投機生成手段２５は、ステップＳ３０４において、ステップＳ３０１で検出された第２のタスクに対応するタスク状態を「実行中」に変更し、ステップＳ３０５において、ステップＳ３０１で特定された第２のタスクを実行する。
【００９６】
さらにステップＳ３０６において投機生成手段２５は、サムネイル情報データ１３から、選択されたサムネイルを生成したタスク以外の新たな表示サムネイル群のタスク番号を特定する。上述したように、サムネイル表示端末２においてフレーム番号９のサムネイルが選択され、粒度レベルｉ＝２が選択されたことにより、サムネイル出力装置１は、フレーム番号９、１３、１７および２１のサムネイルを出力し、サムネイル表示端末２に表示する。そこで、投機生成手段２５は、これらのフレーム番号のうち、サムネイル表示端末２で選択されたサムネイルを生成したタスク以外のタスク番号として、第１のタスクおよび第３のタスクを特定する。この第１のタスクおよび第３のタスクについて、ステップＳ３０７ないしステップＳ３１０の処理を繰り返す。
【００９７】
ステップＳ３０７ないしステップＳ３１０においては、ステップＳ３０２ないしステップＳ３０５と同様に、タスクを実行する。ここで、割り当てるべきリソースがなければ、一番遠い生成位置のタスクを停止し、そのタスクに割り当てられたリソースを、ステップＳ３０６で特定したタスクに割り当てる。
【００９８】
投機生成手段２５は、ステップＳ３１１においてサムネイル表示端末２によって送信される表示リクエストに基づいて表示するサムネイルが全て生成されたかを判定する。全て生成された場合、ステップＳ３１２において、周辺のサムネイルを生成するためのタスクを実行する。ここで生成する周辺サムネイルのタスクは、ステップＳ３０１およびステップＳ３０６で特定したタスクに対して、粒度レベルｉを上げて表示するサムネイルを生成するタスク、生成位置をずらして表示されるサムネイルを生成するタスクなどが考えられる。投機生成手段２５は、ステップＳ３１２において実行するタスクを、サムネイル出力装置１の設定情報や、所定のアルゴリズムによって特定しても良い。また、サムネイル表示端末２の過去の操作ログを参照して、実行するタスクが決定されても良い。例えば、粒度レベルｉを上げてサムネイルを表示する場合が多い場合、ステップＳ３１２において、粒度レベルｉを上げて表示するサムネイルを生成するタスクが実行され、生成位置をずらしてサムネイルを表示する場合が多い場合、生成位置をずらして表示されるサムネイルを生成するタスクが実行されても良い。
【００９９】
ステップＳ３１３において投機生成手段２５は、新たに表示するサムネイルの生成が完了したことを確認すると、ステップＳ３０３およびステップＳ３０８で停止したタスクを実行中に変更し、サムネイル生成手段２６にサムネイルの生成を継続させる。
【０１００】
図１５および図１６を参照して、投機生成手段２５が、新たな表示リクエストに基づいてタスクを割り当てる処理を説明する。図１５および図１６に示す例では、サムネイル表示端末２に、６つのサムネイルが表示される。また、リソースの制限として、２つのタスクまでが並列処理される。ここで、タスクＷ１は、粒度レベルｉ＝１で、タスクＷ２、Ｗ３、Ｗ４およびＷ５は、粒度レベルｉ＝２であるとする。タスクＷ１では、黒色を付したサムネイルを作成し、タスクＷ２ないしＷ５では、それ以外のサムネイルを作成する。
【０１０１】
図１５（ａ）に示す例は、タスクＷ１およびＷ２の処理が完了し、タスクＷ３およびＷｔを処理している場合のサムネイルの生成状況を説明する図である。この場合、図１６（ａ）に示すように、タスク状態データ１４ａには、タスクＷ１およびＷ２のタスク状態は「完了」で、タスクＷ３およびＷｔのタスク状態は「実行中」で、タスクＷ４およびタスクＷ５のタスク状態は「停止中」と設定される。なおタスクＷｔは、図１５に図示しないタスクである。
【０１０２】
ここで、タスクＷ２で生成されたサムネイルＴ１０１が選択されると、新たな表示サムネイル群として、サムネイルＴ１０１から６つのサムネイルを、サムネイル表示端末２に表示する。そこで、投機生成手段２５は、選択されたサムネイルＴ１０１のサムネイルを生成したタスクＷ２は、既に処理が完了しているので、投機生成手段２５は、特にタスクを割り当てない。一方、新たな表示サムネイル群を生成するタスクのうち、タスクＷ２以外のタスクとして、タスクＷ１とタスクＷ３がある。タスクＷ１は既に実行が完了しており、タスクＷ３は、既に実行されているので、投機生成手段２５は、特にタスクを割り当てる処理はしない。
【０１０３】
サムネイル表示端末２において、図１５（ｂ）に基づいて表示された５つ目のサムネイルＴ１０２が選択されると、投機生成手段２５は、新たな表示サムネイル群として、サムネイルＴ１０２から６つのサムネイルを、サムネイル表示端末２に表示する。そこで、投機生成手段２５は、選択されたサムネイルＴ１０２のサムネイルを生成したタスクＷ３は、既に実行されているので、投機生成手段２５は、特にタスクを割り当てない。一方、新たな表示サムネイル群を生成するタスクのうち、タスクＷ３以外のタスクとして、タスクＷ１とタスクＷ４がある。タスクＷ１は既に実行が完了しているので、投機生成手段２５は、特にタスクを割り当てる処理はしない。一方タスクＷ４は、新たに実行されなければならない。そこで投機生成手段２５は、図１６（ｂ）に示すように、タスクＷ４は「停止中」であるところ、「実行中」に設定する。このとき、投機生成手段２５は、図示しないタスクＷｔは、「停止中」に設定して、タスクＷｔに割り当てていたリソースを、タスクＷ４に割り当てる。
【０１０４】
図１７および図１８について、投機生成手段２５が、新たな表示リクエストに基づいてタスクを割り当てた後、その後の表示リクエストを推測してタスクを割り当てる処理を説明する。図１７（ａ）に示すように、タスクＷ４で生成されるサムネイルＴ１０３が選択されると、サムネイルＴ１０３から６つのサムネイルが生成され表示される。この際、図１８（ａ）に示すように、タスクＷ１ないしタスクＷ５のタスク状態は「完了」に設定され、図１７に図示しないタスクＷｔのタスク状態は「停止中」に設定されているとする。
【０１０５】
サムネイルＴ１０３から６つのサムネイルが表示された後、サムネイル表示端末２から入力される可能性のあるサムネイル表示リクエストは、図１７（ａ）に示すように２つのタスクが考えられる。一つは、サムネイルＴ１０３を先頭にして、粒度レベルを上げたサムネイル群を表示するタスクである。もう一つは、粒度レベルを変更することなく先頭サムネイルをずらしたサムネイル群を表示するタスクである。ここで所定の設定により、粒度レベルを変更することなく先頭サムネイルをずらしたサムネイル群を表示するタスクＷｓを実行する場合を考える。投機生成手段２５は、図１８（ｂ）に示すように、タスクＷｓのタスク状態を「実行中」に変更して、タスクＷｓを処理する。さらにタスクＷｓが完了すると、停止中であったタスクＷｔのタスク状態を「実行中」に変更して、タスクＷｔを処理する。
【０１０６】
図５に示すサムネイル生成手段２６は、タスクごとに並列してサムネイルデータを生成する。生成したサムネイルデータは、サムネイル群データ１６に記憶される。サムネイル生成手段２６は、割り当てられたリソースの限度において、並列してタスクを処理する。サムネイル生成手段２６は、第１のタスク処理手段２６ａ、第２のタスク処理手段２６ｂ、…第ｎのタスク処理手段２６ｃを備え、ｎ個の処理が並列して実行される。
【０１０７】
図１９を参照して、サムネイル生成手段２６が、一つのタスクにおいてサムネイルを生成する処理の一例を説明する。このサムネイル生成手段２６は、タスク管理手段２２の各処理手段によって呼び出される。
【０１０８】
まずステップＳ４０１において、サムネイル生成手段２６は、サムネイル情報データ１３を参照して、このタスクが処理するタスク番号が割り当てられたフレーム番号を読み出し、ステップＳ４０２において、ステップＳ４０１で取得した開始および終了のフレーム番号から生成区間を特定する。ステップＳ４０３において、このタスクで生成するべきサムネイルデータが全て生成されているか否かを判定する。サムネイル情報データ１３において、このタスクで生成するべきサムネイルデータのサムネイル名が、フレーム番号に対応づけて記憶されている場合、全て生成されていると判定する。この場合、このまま処理を終了する。
【０１０９】
一方全て生成されていない場合、ステップＳ４０２で特定した生成区間について、サムネイル生成手段２６は、映像データをデコードしてデコーダインスタンスを生成し、ステップＳ４０５において、ステップＳ４０４で生成したデコーダインスタンスの先頭までシークする。
【０１１０】
さらにステップＳ４０６において、ステップＳ４０１で読み出されたフレーム番号までシークし、このフレーム番号についてサムネイルを作成する。ステップＳ４０７においてデコーダインスタンスの末尾までサムネイルが生成されていない場合、さらにデコーダインスタンスを次のフレーム番号までシークし、このフレーム番号についてサムネイルを作成する。
【０１１１】
ステップＳ４０７においてデコーダインスタンスの末尾までサムネイルが生成されると、ステップＳ４０８において、タスク状態データ１４のタスク状態を「完了」に設定される。さらにステップＳ４０９において、ステップＳ４０６で生成されたフレーム番号とサムネイル名とを、タスク管理手段２２に戻す。
【０１１２】
図１９に示すように、デコーダインスタンスを生成することにより、任意のフレームに高速にアクセスすることが可能になる。本発明の実施の形態においては、図１９に示したサムネイル生成処理が、並列して実行される。
【０１１３】
サムネイル出力手段２６は、表示サムネイル群情報データ１２を参照して、サムネイル群データ１６から出力するサムネイルデータを抽出して、サムネイル表示端末２に送信する。サムネイル出力手段２６は、表示サムネイル群情報データ１２から、サムネイル出力装置１が出力するサムネイル群の、先頭サムネイルの生成位置の情報と、粒度レベルの情報を取得する。サムネイル出力手段２６は、取得した先頭サムネイルの生成位置と粒度レベルから、出力するべきフレーム番号を特定する。さらにサムネイル出力手段２６は、サムネイル情報データ１３から、特定したフレーム番号に対応するサムネイル名を取得する。サムネイル出力手段２６は、出力するべきサムネイル名を取得すると、サムネイル群データ１６から、取得したサムネイル名のサムネイルを抽出し、サムネイル表示装置２に出力する。
【０１１４】
上述した本発明の実施の形態に係るサムネイル出力装置１は、映像データの内容把握を支援する。具体的には、映像データの内容を把握する際、全体から荒く生成した必要最低限のみのサムネイルを生成して初期表示する一方、その表示中に、他のサムネイルを順次生成する。その際、新たにサムネイルの表示リクエストが入力されると、サムネイル出力装置１は、表示リクエストに対応するサムネイルを優先的に生成する。さらにサムネイル出力装置１は、次に入力される可能性のある表示リクエストに対応するサムネイルも生成する。
【０１１５】
これにより、映像データのサムネイルを予め全て生成する場合に比べて、初期表示に要する待ち時間を短縮することができる。また、入力される可能性のある表示リクエストに対応するサムネイルを生成することにより、表示リクエスト入力後に要する待ち時間を短縮することができる。
【０１１６】
これは、クライアントからサーバに画像データをアップロードし、サーバで生成されたサムネイルをクライアントがダウンロードして表示するシステムにおいても好適である。また、映像データが長い場合や、サムネイルの数が多い場合にも好適である。一般的に、データのアップロードやダウンロードに要する時間は大きく、ユーザに待ち時間が発生してしまう。そこで、本発明の実施の形態に係るサムネイル出力装置１のように、段階的にサムネイルを生成して表示することにより、ユーザの待ち時間を短縮することができる。
【０１１７】
またサムネイルの生成において、デコーダインスタンスを生成することにより、任意のフレームに高速にアクセスすることができる。
【０１１８】
さらに、表示するサムネイルの粒度レベルと生成位置に基づいて、適宜リソースを割り当てることにより、サムネイル表示端末２において必要なサムネイルを優先的に生成するようスケジューリングすることができる。
【０１１９】
このように本発明の実施の形態に係るサムネイル出力装置１は、映像データのサムネイルデータを効率的に生成することができる。
【０１２０】
（その他の実施の形態）
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【０１２１】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【０１２２】
１  サムネイル出力装置
２  サムネイル表示端末
１０  記憶装置
１１  現状態データ
１２  表示サムネイル群情報データ
１３  サムネイル情報データ
１４  タスク状態データ
１５  映像データ
１６  サムネイル群データ
２０  中央処理制御装置
２１  表示サムネイル決定手段
２２  タスク管理手段
２３  表示前処理手段
２４  順次生成手段
２５  投機生成手段
２６  サムネイル生成手段
３０  通信制御装置
【図１】
2013005287.tif 000003
【図２】
2013005287.tif 000004
【図３】
2013005287.tif 000005
【図４】
2013005287.tif 000006
【図５】
2013005287.tif 000007
【図６】
2013005287.tif 000008
【図７】
2013005287.tif 000009
【図８】
2013005287.tif 000010
【図９】
2013005287.tif 000011
【図１０】
2013005287.tif 000012
【図１１】
2013005287.tif 000013
【図１２】
2013005287.tif 000014
【図１３】
2013005287.tif 000015
【図１４】
2013005287.tif 000016
【図１５】
2013005287.tif 000017
【図１６】
2013005287.tif 000018
【図１７】
2013005287.tif 000019
【図１８】
2013005287.tif 000020
【図１９】
2013005287.tif 000021