(57)【特許請求の範囲】
【請求項１】
動画データを再生する動画再生処理部と、
前記動画データを一意に識別する動画ＩＤが格納される動画ＩＤフィールドと、前記動画データの時間軸上の再生位置情報である再生時間が格納される再生時間フィールドと、前記動画データに基づく動画上に描画される線分の始点座標と終点座標を有する線分情報が格納される線分情報フィールドと、前記線分に紐付けられるコメント本文が格納されるコメント本文フィールドとを有するコメントテーブルと、
前記動画再生処理部が前記動画データを再生する際に、前記コメントテーブルから、前記動画データの再生時間に等しい前記再生時間フィールドのレコードの、前記線分情報フィールドに格納されている前記線分の始点座標と終点座標に基づいて線分を描画すると共に、前記線分に係る前記コメントについて、前記コメント本文フィールドの前記コメント本文を出力する線分描画処理部と、
動画表示領域に前記動画再生処理部が再生する前記動画を表示し、前記動画表示領域に前記線分描画処理部が描画する前記線分を表示し、前記動画表示領域の他に設けられるコメント表示欄に前記線分描画処理部が出力する前記コメント本文を表示する表示部と、
前記表示部に表示される前記コメント及び／または前記線分を選択する操作部と、
前記操作部から操作情報を得て、前記操作情報の種類に応じて前記動画再生処理部及び／または前記線分描画処理部に前記操作情報を引き渡すＧＵＩ制御部と
を具備し、
前記ＧＵＩ制御部は、前記操作部の操作情報が所定の線分を選択する指示である場合に、前記表示部に表示される複数の前記線分のうち、選択された前記線分をハイライト表示し、選択された前記線分に属するコメントのみを前記表示部に表示させるべく前記線分描画処理部に指示する、
動画配信システム。
【請求項２】
更に、
操作情報を出力する操作部と、
前記操作部から入力されたコメント本文を、前記動画再生処理部が再生する前記動画の再生時間と、前記コメント本文に紐付けられる線分情報と共に前記コメントテーブルに登録するためのコメント送信部と
を具備する、請求項１に記載の動画配信システム。
【請求項３】
始点座標と終点座標が類似する複数の前記線分情報は、前記動画表示領域の分割数に基づいて統合される、請求項２に記載の動画配信システム。
【請求項４】
前記ＧＵＩ制御部は更に、前記操作部の操作情報が一つのコメントを選択する指示である場合に、前記動画データの再生位置を選択された前記コメントに属する動画再生時間に移動させるべく前記動画再生処理部に指示する、請求項３に記載の動画配信システム。
【請求項５】
動画データを再生する動画再生処理部と、
前記動画再生処理部が前記動画データを再生する際に、前記動画データの時間軸上の再生位置情報である再生時間が格納される再生時間フィールドと、前記動画データに基づく動画上に描画される線分の始点座標と終点座標を有する線分情報が格納される線分情報フィールドと、前記線分に紐付けられるコメント本文が格納されるコメント本文フィールドとを有するコメントテーブルから、前記動画データの再生時間に等しい前記再生時間フィールドのレコードの、前記線分情報フィールドに格納されている前記線分の始点座標と終点座標に基づいて線分を描画すると共に、前記線分に係る前記コメントについて、前記コメント本文フィールドの前記コメント本文を出力する線分描画処理部と、
動画表示領域に前記動画再生処理部が再生する前記動画を表示し、前記動画表示領域に前記線分描画処理部が描画する前記線分を表示し、前記動画表示領域の他に設けられるコメント表示欄に前記線分描画処理部が出力する前記コメント本文を表示する表示部と、
前記表示部に表示される前記コメント及び／または前記線分を選択する操作部と、
前記操作部から操作情報を得て、前記操作情報の種類に応じて前記動画再生処理部及び／または前記線分描画処理部に前記操作情報を引き渡すＧＵＩ制御部と
を具備し、
前記ＧＵＩ制御部は、前記操作部の操作情報が所定の線分を選択する指示である場合に、前記表示部に表示される複数の前記線分のうち、選択された前記線分をハイライト表示し、選択された前記線分に属するコメントのみを前記表示部に表示させるべく前記線分描画処理部に指示する、
動画再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多数のユーザが動画を閲覧できる動画配信システム及び動画再生装置に関する。
【背景技術】
【０００２】
主にソーシャル・ネットワーキング・サービスを主眼に置いて、動画ストリームにコメントを付す動画配信システムが普及している（例えば、特許文献１参照）。特許文献１に係る動画配信システムは、動画編集環境を必要とせず、動画上の任意の時間軸上にコメントを付すことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2012-186834号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示される動画配信システムは、視聴者の反響を動画上のコメントの数として目視で容易に確認できるものの、動画そのものが見辛くなってしまうという、互いに相反する問題がある。また、動画に表示されている複数の特定の対象を結びつけたいという要求に必ずしも応えていないことも問題であった。
【０００５】
本発明はかかる問題を解決し、画面内の多様な関係性を的確に表すことができる動画配信システム及び動画再生装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の動画配信システムは、動画データを再生する動画再生処理部と、動画データを一意に識別する動画ＩＤが格納される動画ＩＤフィールドと、動画データの時間軸上の再生位置情報である再生時間が格納される再生時間フィールドと、動画データに基づく動画上に描画される線分の始点座標と終点座標を有する線分情報が格納される線分情報フィールドと、線分に紐付けられるコメント本文が格納されるコメント本文フィールドとを有するコメントテーブルと、動画再生処理部が動画データを再生する際に、コメントテーブルから、動画データの再生時間に等しい再生時間フィールドのレコードの、線分情報フィールドに格納されている線分の始点座標と終点座標に基づいて線分を描画すると共に、線分に係るコメントについて、コメント本文フィールドのコメント本文を出力する線分描画処理部とを具備する。
更に、動画表示領域に動画再生処理部が再生する動画を表示し、動画表示領域に線分描画処理部が描画する線分を表示し、動画表示領域の他に設けられるコメント表示欄に線分描画処理部が出力するコメント本文を表示する表示部と、表示部に表示されるコメント及び／または線分を選択する操作部と、操作部から操作情報を得て、操作情報の種類に応じて動画再生処理部及び／または線分描画処理部に操作情報を引き渡すＧＵＩ制御部とを具備する。
ＧＵＩ制御部は、操作部の操作情報が所定の線分を選択する指示である場合に、表示部に表示される複数の線分のうち、選択された線分をハイライト表示し、選択された線分に属するコメントのみを表示部に表示させるべく線分描画処理部に指示する。
【発明の効果】
【０００７】
本発明により、画面内の多様な関係性を的確に表すことができる動画配信システム及び動画再生装置を提供することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る動画配信システムの概略図である。
【図２】クライアント及びサーバのハードウェア構成を示すブロック図である。
【図３】メインサーバと、データベースサーバと、コメントサーバと、動画サーバと、アプリサーバのソフトウェア機能を示すブロック図である。
【図４】各種テーブルのフィールド構成を示す図である。
【図５】クライアントのソフトウェア機能を示すブロック図である。
【図６】本実施形態に係る動画配信システムのタイムチャートである。
【図７】クライアントの動画再生における動作の流れを示すフローチャートである。
【図８】クライアント上で動画の再生中にコメントを付す動作の流れを示す図である。
【図９】クライアント上で動画の再生中にコメントを付す動作の流れを示す図である。
【図１０】グリッドの概念を示す概略図である。
【図１１】動画表示領域における、グリッドによる線分始点及び終点の正規化を説明する概要図と、グリッドによる線分始点及び終点の正規化を説明する一部拡大図である。
【図１２】コメントを特定して動画の再生位置をシークする動作を説明する概略図である。
【図１３】コメントを特定して動画の再生位置をシークする動作を説明する概略図である。
【発明を実施するための形態】
【０００９】
例えば、サッカーの試合の動画で、シュートのシーンがあった時に、シュートの軌跡を表したいという要求がある。この場合、動画を表示する画面領域内にシュートの軌跡をなぞる斜めの線分を表示できるようにすることが望ましい。そして、動画を表示する画面領域内に、表示された線分に対し、コメントを付すことが求められる。
本実施形態に係る動画配信システムは、クライアントにおいて、動画再生中に、動画表示領域内に点あるいは任意の線分を描画する。そして、その描画された点あるいは線分に、コメントを付して、点あるいは線分とコメントとを関連付ける。
【００１０】
［全体構成］
図１は、本実施形態に係る動画配信システム１０１の概略図である。
ユーザ１０２は、デスクトップパソコン１０３ａ、ノートパソコン１０３ｂ、あるいはスマートフォン１０３ｃ等のクライアント１０３を用いて、インターネット１０４を通じてメインサーバ１０５に接続し、動画を閲覧する。実際の動画ストリームは動画サーバ１０６から受信することができる。
ユーザ１０２が、クライアント１０３上のｗｅｂブラウザや動画再生専用アプリケーションプログラム（以下「動画アプリ」と略す）を用いて所定のＵＲＬを指定すると、ｗｅｂブラウザまたは動画アプリはメインサーバ１０５にアクセスする。
メインサーバ１０５は、ＵＲＬに含まれる動画ＩＤに基づき、データベースサーバ１０７及びコメントサーバ１０８にアクセスする。
データベースサーバ１０７は、指定された動画ＩＤに紐付いている動画情報をメインサーバ１０５に返信する。
コメントサーバ１０８は、指定された動画ＩＤに紐付いているコメント情報をメインサーバ１０５に返信する。
メインサーバ１０５は、データベースサーバ１０７から返信された動画情報と、コメントサーバ１０８から返信されたコメント情報に基づき、ＨＴＭＬ文書を動的に作成して、クライアント１０３に返信する。
クライアント１０３のｗｅｂブラウザまたは動画アプリは、ＨＴＭＬ文書を読み込み、表示部の画面上に動画再生画面を描画する。
【００１１】
例えば、クライアント１０３がパソコンの場合、ＨＴＭＬ文書を読み込んだ後、ＨＴＭＬ文書に含まれているアプリサーバ１０９のＵＲＬに基づき、アプリサーバ１０９にアクセスして、ＪａｖａＳｃｒｉｐｔ（登録商標）やＦｌａｓｈ（登録商標）、ＡｃｔｉｏｎＳｃｒｉｐｔ等で記述されている動画再生用スクリプトを受信し、これを実行する。クライアント１０３がスマートフォンの場合は、スマートフォンにインストールされる動画アプリが動画再生機能を備えているので、アプリサーバ１０９にはアクセスしない。なお、スマートフォンのｗｅｂブラウザに対応した動画再生用スクリプトを作成してもよいし、逆にパソコン用の動画再生アプリケーションプログラムを提供してもよい。
クライアント１０３の動画再生用スクリプトまたは動画アプリは、ＨＴＭＬ文書に含まれている動画サーバ１０６のＵＲＬに基づき、動画サーバ１０６にアクセスして、動画ストリームデータを受信し、動画を再生する。また、ＨＴＭＬ文書に含まれているコメント情報に基づき、指定された再生時間に線分を動画再生画面に、コメントをコメント表示欄に表示する。
【００１２】
［ハードウェア構成］
図２Ａは、クライアント１０３のハードウェア構成を示すブロック図である。
クライアント１０３は、バス２０１に接続された、周知のＣＰＵ２０２、ＲＯＭ２０３、ＲＡＭ２０４、ハードディスク装置やフラッシュメモリ等の不揮発性ストレージ２０５、表示部２０６及び操作部２０７を備える。
バス２０１には更に、インターネット１０４に接続するためのＮＩＣ（Network Information Card）２０８と、動画を再生する際に付随して再生される音を発するスピーカ２０９に音声信号を供給するＤ／Ａ変換器２１０が接続されている。
なお、図２Ａのブロック図に示すクライアント１０３は、図１に示されるデスクトップパソコン１０３ａ、ノートパソコン１０３ｂ、そしてスマートフォン１０３ｃを包含する上位概念で記載されている。
例えばスマートフォン１０３ｃの場合、表示部２０６は液晶ディスプレイであり、操作部２０７は液晶ディスプレイに被さる静電式位置検出装置を含む。そして、表示部２０６と操作部２０７はタッチパネルディスプレイを構成する。また、スマートフォン１０３ｃの場合、ＮＩＣ２０８はＬＴＥ（Long Term Evolution）等の無線通信機能や無線ＬＡＮインターフェースが該当する。更に、シリアルポートを用いたＰＰＰ（Point to Point Protocol）接続も、本明細書におけるＮＩＣ２０８が指し示す概念として含まれる。つまり、図２ＡにおけるＮＩＣ２０８は、インターネット１０４に接続するための、物理的及び／又は論理的な広義のインターフェースを指す。
【００１３】
図２Ｂは、サーバ２１１のハードウェア構成を示すブロック図である。ここで言うサーバ２１１は、図１に示すメインサーバ１０５、データベースサーバ１０７、コメントサーバ１０８、アプリサーバ１０９、動画サーバ１０６の全てに共通する。
サーバ２１１は、バス２１２に接続された、周知のＣＰＵ２１３、ＲＯＭ２１４、ＲＡＭ２１５、ハードディスク装置やフラッシュメモリ等の不揮発性ストレージ２１６及びＮＩＣ２１７を備える。なお、図２Ａのクライアント１０３の構成に含まれている表示部２１８及び操作部２１９は、図２Ｂに示すサーバ２１１の構成としては省略されている。
【００１４】
［サーバ２１１のソフトウェア機能］
図３Ａは、メインサーバ１０５のソフトウェア機能を示すブロック図である。
ｗｅｂサーバプログラム３０１は、クライアント１０３から送信される要求を受信して、その要求に応じてＨＴＭＬ（Hyper Text Markup Language）文書や任意のファイル等をクライアント１０３に返信する。また、要求内容に該当するｃｇｉ（Common Gateway Interface）あるいはアプレット等のプログラムを起動して、その実行結果をクライアント１０３に送信する。なお、ｗｅｂサーバプログラム３０１の機能はこれ以降に説明する図３Ｂのデータベースサーバ１０７、図３Ｃのコメントサーバ１０８、図３Ｄの動画サーバ１０６及び図３Ｅのアプリサーバ１０９において共通である。
【００１５】
認証処理部３０２は、ユーザマスタ３０３を参照して、ユーザ１０２の認証処理を行う。認証処理部３０２はクライアント１０３から送信されるユーザ１０２の認証情報を受信すると、ユーザマスタ３０３を参照して、ユーザ１０２が動画配信システム１０１における正規のユーザ１０２であるか否かを確認する。そして、正規ユーザであればこれを認証した結果として、クライアント１０３へ周知のＣｏｏｋｉｅを返送する。
ＨＴＭＬ生成処理部３０４は、クライアント１０３から送信される動画ＩＤに基づいて、データベースサーバ１０７及びコメントサーバ１０８に問い合わせを行う。すなわち、ＨＴＭＬ生成処理部３０４はデータベースサーバ１０７及びコメントサーバ１０８に対するクライアントとしての機能を備える。ＨＴＭＬ生成処理部３０４はデータベースサーバ１０７から、指定された動画ＩＤに紐付いている動画情報を受信し、コメントサーバ１０８から、指定された動画ＩＤに紐付いているコメント情報を受信する。そして、データベースサーバ１０７から返信された動画情報と、コメントサーバ１０８から返信されたコメント情報に基づき、ＨＴＭＬ文書を動的に作成して、クライアント１０３に返信する。
【００１６】
図３Ｂは、データベースサーバ１０７のソフトウェア機能を示すブロック図である。
動画情報登録部３０５は、クライアント１０３からメインサーバ１０５を通じて受信した新規な動画に関する情報を、動画テーブル３０６に追記録する。
動画情報出力部３０７は、クライアント１０３からメインサーバ１０５を通じて受信した、動画ＩＤに紐付く情報を動画テーブル３０６から読み出し、メインサーバ１０５へ返信する。
【００１７】
図３Ｃは、コメントサーバ１０８のソフトウェア機能を示すブロック図である。
コメント登録部３０８は、クライアント１０３からメインサーバ１０５を通じて受信した動画ＩＤと新規なコメントを、コメントテーブル３０９に追記録する。
コメント出力部３１０は、クライアント１０３からメインサーバ１０５を通じて受信した動画ＩＤに紐付くコメントをコメントテーブル３０９から読み出し、メインサーバ１０５へ返信する。
【００１８】
図３Ｄは、動画サーバ１０６のソフトウェア機能を示すブロック図である。
動画登録部３１１は、クライアント１０３から受信した新規な動画データを、動画ファイルとして動画ファイルディレクトリ３１２に格納する。
動画出力部３１３は、クライアント１０３から受信した動画ＩＤに紐付く動画ファイルを動画ファイルディレクトリ３１２から読み出し、クライアント１０３へ動画ストリームとして送信する。
【００１９】
図３Ｅは、アプリサーバ１０９のソフトウェア機能を示すブロック図である。
動画アプリファイルディレクトリ３１４には、クライアント１０３がパソコンである場合に用いられる動画再生用スクリプトが格納されている。ｗｅｂサーバプログラム３０１は、クライアント１０３から送信される動画再生用スクリプトの送信要求を受信すると、動画アプリファイルディレクトリ３１４から動画再生用スクリプトを読み出し、クライアント１０３へ返信する。
【００２０】
［データ構造］
図４は、各種テーブルのフィールド構成を示す図である。
ユーザマスタ３０３は、ユーザＩＤフィールドと、パスワードハッシュ値フィールドと、ユーザ名フィールドを有する。
ユーザＩＤフィールドには、ユーザ１０２を一意に識別するユーザＩＤが格納されている。
パスワードハッシュ値フィールドには、ユーザＩＤに対応するパスワードのハッシュ値が格納されている。
ユーザ名フィールドには、ユーザ１０２の氏名が格納されている。
また、ユーザマスタ３０３にはこの他に、メールアドレス等、ユーザ１０２に関する個人情報等が格納されるが、発明に直接的には関係しないので詳細は割愛する。
【００２１】
動画テーブル３０６は、動画ＩＤフィールドと、動画フレームサイズフィールドと、表示倍率フィールドと、グリッド分割数フィールドと、動画サーバＵＲＬフィールドと、動画ファイルパスフィールドと、投稿者ＩＤフィールドを有する。
動画ＩＤフィールドには、投稿される動画を一意に識別する動画ＩＤが格納される。
動画フレームサイズフィールドには、投稿された動画のフレームサイズが格納される。
表示倍率フィールドには、投稿された動画をクライアント１０３にて再生する際に、動画に適用する表示倍率が格納される。
動画フレームサイズと表示倍率は、投稿される動画のフレームサイズは千差万別であるため、クライアント１０３の表示部２０６に表示する際に適切な表示倍率を設定するために必要な情報である。
グリッド分割数フィールドには、動画の画面を分割する分割数が格納される。このグリッドはコメントの線分を定める際に重要な情報である。グリッドの詳細については図１０及び図１１にて後述する。
動画サーバＵＲＬフィールドには、動画サーバ１０６のＵＲＬが格納される。動画サーバ１０６は単一であるとは限らない、つまり複数設けられる場合もあるので、このフィールドが必要になる。
動画ファイルパスフィールドには、動画サーバ１０６において動画ＩＤにて特定される動画のパス名が格納される。動画サーバＵＲＬと動画ファイルパスを繋ぎ合わせて、動画のＵＲＬが形成される。
投稿者ＩＤフィールドには、動画投稿者のユーザＩＤが格納される。
また、動画テーブル３０６にはこの他に、動画投稿者が記述する動画のタイトル、動画登録時のコメント、ユーザタグ等が格納されるが、発明に直接的には関係しないので詳細は割愛する。
【００２２】
コメントテーブル３０９は、動画ＩＤフィールド、コメント投稿者ＩＤフィールド、再生時間フィールド、線分情報フィールド及びコメント本文フィールドを有する。
動画ＩＤフィールドは、動画テーブル３０６の同名フィールドと同じである。
コメント投稿者ＩＤフィールドには、コメントを投稿したユーザ１０２のユーザＩＤが格納される。
再生時間フィールドには、コメントが投稿された時点の、動画上の再生時間（時間軸上の再生位置）が格納される。
線分情報フィールドには、動画上に描画される線分の情報が格納される。
コメント本文フィールドには、ユーザ１０２によって投稿されたコメントの本文が格納される。
線分情報フィールドは更に、線分種類サブフィールド、始点座標サブフィールド及び終点座標サブフィールドを有する。
線分種類サブフィールドには、画面に描画される線分の種類を示す属性情報が格納される。本願出願時点では、通常の線分か、矢印かを識別する情報が格納される。
始点座標サブフィールドには、線分の始点座標が格納される。
終点座標サブフィールドには、線分の終点座標が格納される。但し、線分の代わりに点が指定された場合、終点座標サブフィールドは、値が格納されず、空欄となる（ＮＵＬＬ）。
なお、コメントテーブル３０９はコメント本文を修飾する情報として、言語設定、フォント種類、フォントサイズ、文字修飾情報等を含めることも可能であるが、詳細は割愛する。
【００２３】
［クライアント１０３のソフトウェア機能］
図５は、クライアント１０３のソフトウェア機能を示すブロック図である。
図５に示されるソフトウェア機能は、スマートフォン１０３ｃの場合は動画アプリにより、パソコンの場合はｗｅｂブラウザと動画再生用スクリプトにより実現される。
メインサーバ１０５から受信したＨＴＭＬ文書に含まれている動画ＩＤ、動画フレームサイズ、表示倍率、グリッド分割数、動画サーバＵＲＬ及び動画ファイルパス等の情報は、制御情報メモリ５０１に記憶される。
メインサーバ１０５から受信したＨＴＭＬ文書に含まれている再生時間やコメント本文等の情報は、コメントメモリ５０２に記憶される。コメントメモリ５０２には、コメントテーブル３０９を動画ＩＤで絞り込んだレコードが格納される。
動画再生処理部５０３は、制御情報メモリ５０１に格納されている動画サーバＵＲＬ及び動画ファイルパスに基づいて、動画サーバ１０６にアクセスし、動画ストリームデータを受信する。動画サーバ１０６から送信される動画ストリームデータは、動画再生処理部５０３によって圧縮動画データのデコード等の動画再生処理が行われる。動画再生処理部５０３は再生中の動画の再生時間を現在再生時間メモリに書き込み、更新し続ける。また、動画再生処理部５０３は、ＧＵＩ制御部５０４から指示されるシーク制御情報を受け、シーク制御情報を動画サーバ１０６に送ると共に、現在再生時間メモリ５０５の内容を更新する。
【００２４】
線分描画処理部５０６は、現在再生時間メモリ５０５を参照して、コメントメモリ５０２に格納されているコメントから表示部２０６に表示すべきコメント及び線分を特定して、表示制御部５０７にコメント及び線分の表示情報を送出する。また、ＧＵＩ制御部５０４から指示されるコメント選択制御情報を受け、選択されたコメントに付されている再生時間をＧＵＩ制御部５０４に返す。
表示制御部５０７は、動画再生処理部５０３が生成する動画情報、線分描画処理部５０６が生成する線分表示情報、ＧＵＩ制御部５０４が生成するＧＵＩ画面情報を合成して、表示部２０６に表示画面を表示する。
【００２５】
ＧＵＩ制御部５０４は、表示部２０６と操作部２０７と併せてＧＵＩ（Graphical User Interface）を構成する。ＧＵＩ制御部５０４は、操作部２０７から、動画の再生、一時停止、シーク制御、コメントの選択及びコメントの新規入力等の操作情報を受け取り、操作情報の種類に応じて、動画再生処理部５０３、線分描画処理部５０６等に引き渡す。なお、コメント新規入力の際は、現在再生時間メモリ５０５から現在の動画再生時間を取得して、現在の動画再生時間をコメント情報と共にコメントメモリ５０２及びコメント送信部５０８に引き渡す。
コメント送信部５０８は、ユーザ１０２によって新規に追加されたコメント情報を、動画ＩＤと現在の動画再生時間とユーザＩＤと共にコメントサーバ１０８に送信する。
【００２６】
［動作の流れ］
図６は、本実施形態に係る動画配信システム１０１のタイムチャートである。
ユーザ１０２が、クライアント１０３上のｗｅｂブラウザや動画アプリを用いて所定のＵＲＬを指定すると、ｗｅｂブラウザまたは動画アプリはメインサーバ１０５にアクセスして、ＨＴＭＬ文書を要求する（Ｓ６０１）。
メインサーバ１０５は、クライアント１０３から受け取った要求に含まれる動画ＩＤに基づき、データベースサーバ１０７にアクセスする（Ｓ６０２）。
データベースサーバ１０７は、指定された動画ＩＤに紐付いている動画情報をメインサーバ１０５に返信し（Ｓ６０３）、メインサーバ１０５はこれを受信する（Ｓ６０４）。すなわち、データベースサーバ１０７は、動画テーブル３０６をメインサーバ１０５から指定された動画ＩＤでレコードを特定し、そのレコードの内容をメインサーバ１０５に返信する。
メインサーバ１０５は、クライアント１０３から受け取った要求に含まれる動画ＩＤに基づき、コメントサーバ１０８にアクセスする（Ｓ６０５）。
コメントサーバ１０８は、指定された動画ＩＤに紐付いているコメント情報をメインサーバ１０５に返信し（Ｓ６０６）、メインサーバ１０５はこれを受信する（Ｓ６０７）。すなわち、コメントサーバ１０８は、コメントテーブル３０９をメインサーバ１０５から指定された動画ＩＤでレコードを特定し、そのレコードの内容をメインサーバ１０５に返信する。
なお、ステップＳ６０２とＳ６０５は、この順序で実行する必要はない。どちらが先でもよいし、マルチスレッドあるいはマルチタスクとして略同時に実行してもよい。
【００２７】
メインサーバ１０５は、データベースサーバ１０７から返信された動画情報と、コメントサーバ１０８から返信されたコメント情報に基づき、ＨＴＭＬ文書を動的に作成して、クライアント１０３に返信する（Ｓ６０８）。そして、クライアント１０３はメインサーバ１０５から送られたＨＴＭＬ文書を受信する（Ｓ６０９）。すなわち、メインサーバ１０５は、作成するＨＴＭＬ文書の中に、データベースサーバ１０７から受け取った動画テーブル３０６のレコードと、コメントサーバ３０９から受け取ったコメントテーブル３０９のレコードを埋め込む。
クライアント１０３のｗｅｂブラウザまたは動画アプリは、ＨＴＭＬ文書を読み込み、表示部２０６の画面上に動画再生画面を描画する。
クライアント１０３がパソコンの場合、ＨＴＭＬ文書を読み込んだ後、ＨＴＭＬ文書に含まれているアプリサーバ１０９のＵＲＬに基づき、アプリサーバ１０９に動画再生用スクリプトを要求する（Ｓ６１０）。アプリサーバ１０９は、クライアント１０３から受け取った要求に基づき、クライアント１０３へ動画再生用スクリプトを送信し（Ｓ６１１）、クライアント１０３はこれを受信して実行する（Ｓ６１２）。
なお、クライアント１０３がスマートフォン１０３ｃの場合は、動画アプリが動画再生機能を備えているので、アプリサーバ１０９にはアクセスしない。すなわち、ステップＳ６１０、Ｓ６１１及びＳ６１２を実行しない。
【００２８】
クライアント１０３の動画再生用スクリプトまたは動画アプリは、ＨＴＭＬ文書に含まれている動画サーバ１０６のＵＲＬに基づき、動画サーバ１０６に動画ストリームデータを要求する（Ｓ６１３）。
動画サーバ１０６は、クライアント１０３から受け取った要求に基づき、指定された動画ストリームデータをクライアント１０３へ送信する（Ｓ６１４）。クライアント１０３はこの動画ストリームデータを受信し、動画を再生する（Ｓ６１５）。また、ＨＴＭＬ文書に含まれているコメント情報に基づき、指定された再生時間に線分を動画再生画面に、コメントをコメント表示欄に表示する。
【００２９】
図７は、クライアント１０３の動画再生における動作の流れを示すフローチャートである。
処理を開始すると（Ｓ７０１）、クライアント１０３のＧＵＩ制御部５０４は、現在のクライアント１０３の動作状態が動画再生中であるか否かを確認する（Ｓ７０２）。ステップＳ７０２で動画再生中でないと判定されると（Ｓ７０２のＮＯ）、次にＧＵＩ制御部５０４は、現在のクライアント１０３の動作状態が一時停止中であるか否かを確認する（Ｓ７０３）。
ステップＳ７０２において、現在のクライアント１０３の動作状態が動画再生中である場合（Ｓ７０２のＹＥＳ）、またはステップＳ７０３において現在のクライアント１０３の動作状態が一時停止中である場合（Ｓ７０３のＹＥＳ）、ＧＵＩ制御部５０４は線分描画処理部５０６を稼働する。
【００３０】
線分描画処理部５０６は、現在再生時間メモリ５０５を参照して現在の動画再生時間を確認し、コメントメモリ５０２を参照して、現在の動画再生時間において表示すべきコメントがあるか否かを確認する（Ｓ７０４）。もし、ステップＳ７０４で、表示すべきコメントが存在するとされた場合は（Ｓ７０４のＹＥＳ）、線分描画処理部５０６は当該コメントの線分情報とコメント本文に基づき、線分を動画再生画面に表示するとともに、コメントをコメント表示欄に表示する処理（コメント表示処理）を行う（Ｓ７０５）。
【００３１】
ステップＳ７０４で表示すべきコメントが存在しない場合（Ｓ７０４のＮＯ）、またはステップＳ７０５を実行した後には、ＧＵＩ制御部５０４は操作部２０７からコメントの入力があるか否かを確認する（Ｓ７０６）。もし、ステップＳ７０６で、操作部２０７からコメントの入力があるとされた場合（Ｓ７０６のＹＥＳ）、ＧＵＩ制御部５０４は当該コメントの線分情報とコメント本文をコメントメモリ５０２とコメント送信部５０８に引き渡す。コメント送信部５０８は、ＧＵＩ制御部５０４から受け取ったコメント情報を、コメントサーバ１０８に送信する処理（コメント送信処理）を行う（Ｓ７０９）。
【００３２】
ステップＳ７０６で操作部２０７からコメントの入力がない場合（Ｓ７０６のＮＯ）、またはステップＳ７０７を実行した後には、ＧＵＩ制御部５０４は、操作部２０７からコメントの選択操作があるか否かを確認する（Ｓ７０８）。もし、ステップＳ７０８で、操作部２０７からコメントの選択操作があるとされた場合（Ｓ７０８のＹＥＳ）、ＧＵＩ制御部５０４は当該コメントの選択情報を線分描画処理部５０６に引き渡す。線分描画処理部５０６はコメントメモリ５０２を参照して、ＧＵＩ制御部５０４にコメントに対応する動画の再生時間情報を返す。ＧＵＩ制御部５０４は動画再生処理部５０３を制御して、線分描画処理部５０６から受け取った動画の再生時間情報にシークさせるシーク制御（コメント選択処理）を行う（Ｓ７０９）。
ステップＳ７０３で、クライアント１０３の動作状態が一時停止中でない場合（Ｓ７０３のＮＯ）、ＧＵＩ制御部５０４は一連の処理を終了する（Ｓ７１０）。
なお、ステップＳ７０４、Ｓ７０６及びＳ７０８は、動作の順序を問わない。更に、ステップＳ７０４、Ｓ７０６及びＳ７０８では、マルチスレッドまたはマルチタスク等の並列動作で実行することが好ましい。
【００３３】
［動画の再生とコメントの投稿］
図８Ａ、図８Ｂ、図９Ｃ及び図９Ｄは、クライアント１０３上で動画の再生中にコメントを付す動作の流れを示す図である。
図８Ａに示すように、クライアント１０３の表示部２０６には、動画表示領域８０１、コメント表示欄８０２、シークバー８０３及びコメント入力欄８０４が表示されている。
動画表示領域８０１は、動画とコメント線分が表示される領域である。
コメント表示欄８０２は、動画の再生に伴うコメントが表示される領域であり、動画表示領域８０１の右隣に設けられている。
シークバー８０３は、カーソル８０５の位置によって現在の動画の時間軸上の再生位置を示すと共に、カーソル８０５をドラッグすることで動画の再生位置を変更するための、表示及び操作領域である。シークバー８０３は、動画表示領域８０１の下に配置され、シークバー８０３の左隣には、再生・一時停止ボタン８０６が設けられている。なお、再生・一時停止ボタン８０６をマウスでクリックする代わりに、動画表示領域８０１を直接マウスでクリックすることで、一時停止／再生の指示をすることもできる。
コメント入力欄８０４は、動画の再生に伴うコメントを登録するための入力欄であり、シークバー８０３の下に配置されている。また、コメント入力欄８０４の右端には登録ボタン８０７が設けられている。
【００３４】
今、図８Ａにおいて、動画表示領域８０１には夜空の海辺に満月が映っている動画が表示されている例について説明する。
ユーザ１０２は図８Ａに示すように、コメントを書き込みたい動画の再生時間のタイミングで、再生・一時停止ボタン８０６をマウス等のポインティングデバイスでクリックして、動画の再生を一時停止する。
次に、ユーザ１０２は図８Ｂに示すように、動画表示領域８０１内の、線分を描きたい箇所の始点にマウスカーソル８０８を移動して、線分を描きたい箇所の終点までドラッグする。すると、動画表示領域８０１には、マウスカーソル８０８がドラッグされた位置に、線分Ｐ８０９が表示される。なお、動画再生中に再生・一時停止ボタン８０６をクリックせずに、動画再生領域８０１の、線分を描きたい箇所の始点でマウスをクリックすれば、動画の再生が一時停止され、そのままドラッグすることで線分を描画することもできる。すなわち、再生・一時停止ボタン８０６のクリック動作は必須ではない。
そして、ユーザ１０２は図９Ｃに示すように、コメント入力欄８０４に、コメントを記入して登録ボタン８０７をクリックする。なお、登録ボタン８０７のクリックの代わりに操作部２０７の改行キーを押してもよい。すると、図９Ｄに示すように、コメント入力欄８０４に記入したコメントがコメント表示欄８０２に動画再生時間と共に表示される。
【００３５】
また、図８Ｂにおいて、ユーザ１０２が新規に線分を作成する代わりに、既に他のユーザ１０２によって作成され、動画表示領域８０１内に表示されている線分に対してコメントを記入することも可能である。ユーザ１０２は、既に動画表示領域８０１内に表示されている線分をマウスでクリックし、それ以降は図９Ｃと同様に、コメントを登録する。
【００３６】
図８Ａ、図８Ｂ、図９Ｃ及び図９Ｄの説明で判るように、動画の再生中は、動画表示領域８０１には動画の他にユーザ１０２が投稿した線分が表示される。ユーザ１０２が投稿したコメント本文は、コメント表示欄８０２に表示されるが、基本的に動画表示領域８０１には表示されない。したがって、動画表示領域８０１がコメントで埋め尽くされる、という不具合は原理的に生じない。
勿論、必要やユーザ１０２の趣向等に応じて、選択された線分に属するコメントを動画表示領域８０１に表示させてもよい。
【００３７】
［グリッド］
ユーザ１０２が投稿する線分の始点座標及び終点座標は千差万別である。しかし、ユーザ１０２が試聴する動画に対して興味を示す対象は限られる。したがって、線分の投稿タイミングや、線分の場所及び形態には類似する傾向が生じると考えられる。そこで、類似する線分をまとめることを考える。線分の投稿時点では線分の始点座標及び終点座標がそのままコメントサーバ１０８内のコメントテーブル３０９に格納されるが、クライアント１０３の表示部２０６に表示される動画表示領域８０１では、始点座標と終点座標が近い数の線分が一つの線分と見做されて表示される。この始点座標と終点座標の類似を判断するための基準としては、動画表示領域８０１をグリッド単位で仮想的に分割したものが用いられる。
【００３８】
図１０は、グリッドの概念を示す概略図である。
図１０において、動画表示領域８０１におけるグリッド分割数は「２」である。このグリッド分割数は、動画表示領域８０１を縦に２、横に２に分割することを意味する。つまり、図１０に示すように、動画表示領域８０１にはＡ１００１、Ａ１００２、Ａ１００３、Ａ１００４の合計４個のブロックが設けられる。すなわち、動画表示領域８０１に整数倍で相似する４個のブロックが設けられることになる。そして、各ブロックの頂点が線分の始点または終点になる。図１０において、ブロックの頂点の数はＰ１００５、Ｐ１００６、Ｐ１００７、Ｐ１００８、Ｐ１００９、Ｐ１０１０、Ｐ１０１１、Ｐ１０１２、Ｐ１０１３の９個である。すなわち、ブロック頂点数は以下の式で表すことができる。
ブロック頂点数＝（グリッド分割数＋１）２
そして、これら頂点同士を結ぶ線分が、動画に登録可能な線分になる。
【００３９】
図１１Ａは、動画表示領域８０１における、グリッドによる線分始点及び終点の正規化を説明する概要図である。
図１１Ｂは、グリッドによる線分の始点及び終点の正規化を説明する一部拡大図である。
図１１ＡのブロックＡ１１０１を注目すると、このブロックＡ１１０１の左下に線分の始点または終点である点Ｐ１１０２が設けられている。
ブロックＡ１１０１内の点Ｐ１１０２は、図１１Ｂに示すようにブロックＡ１１０１を領域Ｄ１１０３、Ｄ１１０４、Ｄ１１０５、Ｄ１１０６に四分割する。そして、四分割した領域内の点Ｐ１１０２を、その領域に含まれるブロックＡ１１０１の頂点に、正規化する。図１１Ｂでは、点Ｐ１１０２は領域Ｄ１１０５の中に含まれているので、点Ｐ１１０２は頂点Ｐ１１０７に正規化される。
【００４０】
このように、線分の始点と終点を正規化することで、複数のユーザが投稿した、始点と終点が類似する線分を一つの線分と見做すことができる。結果として、本来なら別々の線分に属しているコメント同士を、一つの線分に紐付けられるようになる。線分は動画中のユーザ１０２の興味を指し示すので、線分から動画中の話題になるシーンを特定することが可能になる。線分に紐付けられるコメントの数に応じて、周知のヒートマップに準じた色分けを行うと、更にユーザ１０２の興味を視覚的に表現できる。
【００４１】
［コメントの選択］
図４、図８及び図９の説明でわかるように、動画に対して投稿される全てのコメントは、動画の再生時間と線分情報に紐付けられている。このことは、コメントから動画の再生時間を特定することができることを意味する。また、一つの線分には複数のコメントが紐付けられることから、線分を特定することでコメントを絞り込むことができる。更に、コメントを特定すれば、動画の再生時間を特定することができる。
【００４２】
図１２Ａ、図１２Ｂ、図１３Ｃ及び図１３Ｄは、コメントを特定して動画の再生位置をシークする動作を説明する概略図である。なお、図面の都合上、図１２Ａ、図１２Ｂ、図１３Ｃ及び図１３Ｄにおいて、コメントの選択動作に直接関係がないコメント入力欄８０４の表示を省略している。
図１２Ａにおいて、動画の再生中または一時停止中に、シークバー８０３上に範囲始点Ｐ１２０１及び範囲終点Ｐ１２０２を、マウスでクリックすることで指定する。すると、図１２Ｂに示すように、シークバー８０３上のカーソル８０５が範囲終点Ｐ１２０２に移動し、動画表示領域８０１には範囲始点Ｐ１２０１から範囲終点Ｐ１２０２迄に登録された線分が表示される。そして、コメント表示欄８０２には動画表示領域８０１に表示されている線分に属するコメントが全て表示される。コメント表示欄８０２に表示しきれないコメントはコメント表示欄８０２をスクロールすることで見ることができる。
図１２Ｂでは、線分Ｌ１２０３、Ｌ１２０４、Ｌ１２０５、Ｌ１２０６の四本の線分が表示されている。すなわち、動画の再生時間範囲を限定することで、動画表示領域８０１に表示される線分を絞り込む。
なお、範囲始点Ｐ１２０１と範囲終点Ｐ１２０２をマウスでドラッグすることで、動画の再生時間範囲を変更し、動画表示領域８０１に表示される線分を更に絞り込むことも可能である。
【００４３】
次に、図１２Ｂに示すように、動画表示領域８０１に表示されている線分のうち、一つの線分をマウスでクリックする。すると、図１３Ｃに示すように、クリックされた線分はハイライト表示され、クリックされなかった線分は輝度が低下する。そして、コメント表示欄８０２には動画表示領域８０１にてクリックされた線分に属するコメントのみが表示される。
図１３Ｃでは、線分Ｌ１２０４がハイライト表示されている。そして、他の線分Ｌ１２０３、Ｌ１２０５及びＬ１２０６は低輝度にて表示されている。すなわち、線分を特定することで、コメント表示欄８０２に表示されるコメントを絞り込むことが可能である。
次に、図１３Ｃに示すように、コメント表示欄８０２に表示されているコメントのうち、所望の一つのコメントをマウスでクリックする。すると、図１３Ｄに示すように、クリックされたコメントは強調表示される。そして、シークバー８０３上のカーソル８０５は、クリックされたコメントの再生時間の位置へ移動する。
図１３Ｃではマウスオーバーされたコメントに下線が表示されている。このコメントをクリックすると、図１３Ｄに示すように、当該コメントのみがコメント表示欄８０２に表示され、シークバー８０３上のカーソル８０５がコメントの再生時間の位置へ移動する。
【００４４】
上記の実施形態には、以下に示す応用例が可能である。
（１）上述の実施形態では、グリッド分割数を固定値にしていたが、動画の再生時間に応じて動的にグリッド分割数を変化させることも可能である。コメントサーバ１０８内のコメントテーブル３０９には、ユーザ１０２が投稿した時点の座標情報を保持してあるので、グリッド分割数が変動しても、線分の始点及び終点の座標はクライアント１０３上で再計算することで対応が可能である。動画中のシーンに応じてグリッド分割数を変化させることで、線分とコメント都の関連性を適切に設定することが可能になるだけではなく、コメントの統計情報を算出する際にグリッド分割数を適切な値に調節することも考えられる。
【００４５】
（２）選択した線分に必要に応じてコメントを表示させることも可能である。またその際、線分の角度が４５°を超える場合は、コメントを表示するフォントを縦書用のフォントにて表示させることが好ましい。また、フォントサイズの変更、色分け、強調、下線、上付き、下付き等、コメントの文字に装飾を加える機能を備えてもよい。このように動画配信システム１０１を構築することで、動画を用意するだけでプレゼンテーション資料を容易に作成することが可能になる。
【００４６】
（３）本実施形態に係る動画配信システム１０１は、図１に示すように、クライアント１０３と、メインサーバ１０５、データベースサーバ１０７、コメントサーバ１０８、動画サーバ１０６、そしてアプリサーバ１０９という、それぞれ独立したサーバで構成される。しかし、サーバの構成はこれに限られず、例えばメインサーバ１０５、データベースサーバ１０７、コメントサーバ１０８は単一のサーバとして一体化することも可能である。すなわち、サーバの構成は負荷と処理能力に応じて、１又は複数の機器に、機能を集約させてもよく、逆に分散させてもよい。更に、クライアント１０３も含めて、これらを一体化して単一の装置で構成することも不可能ではない。その際、一体化された装置には最低限、
動画データを再生する動画再生処理部５０３と、
動画ＩＤフィールドと、再生時間フィールドと、線分情報フィールドと、コメント本文フィールドとを有するコメントテーブル３０９と、
動画再生処理部５０３が動画データを再生する際に、コメントテーブル３０９から、動画データの再生時間に等しい再生時間フィールドのレコードの、線分情報フィールドにおける線分の始点座標と終点座標に基づいて線分を描画すると共に、コメント本文フィールドのコメント本文を出力する線分描画処理部５０６と、
動画表示領域に動画再生処理部３０９が再生する動画を表示し、動画表示領域に線分描画処理部５０６が描画する線分を表示し、動画表示領域の他に設けられるコメント表示欄に線分描画処理部３０９が出力するコメント本文を表示する表示部２０６と
が必要である。
クライアント１０３のコメントメモリ５０２は、コメントサーバ１０８が備えるコメントテーブル３０９のキャッシュメモリであると考えることができる。
【００４７】
（４）クライアント１０３におけるコメント投稿作業を明確化させるために、「投稿モード」と「閲覧モード」の２つの状態を設けることが考えられる。この場合、閲覧モード中には座標の選択やコメントの投稿といったコメント入力処理を行わず、投稿モード中には線分の描画や選択等の処理を行わない。このように動作モードを分けることで、マウスクリックやタップ等の動作指示内容を単純化させ、クライアント１０３のソフトウェアの負荷を軽くすることができる。
【００４８】
本実施形態においては、動画配信システム１０１を開示した。
以上の説明によって判るように、本実施形態に係る動画配信システム１０１は、投稿されるコメントに座標情報を持たせた。そして、動画表示領域８０１の中に直接コメントを表示する代わりに、座標情報に基づく任意の点あるいは線分を表示し、その点あるいは線分に紐付くコメントを、動画表示領域８０１の隣に設けたコメント表示欄８０２に表示する。このように、動画の中に点あるいは線分を表示させることで、画面に表示されている事象の関係性を明確に表示させることができる。更に、コメントが多数投稿されても、動画の表示に大きな影響を及ぼさない。
本実施形態に係る動画配信システム１０１は、周知のソーシャル・ネットワーキング・サービスに利用するだけでなく、教育、各種製造現場や医療現場等の職務訓練、プレゼンテーション、情報解析等、様々な用途に幅広く利用可能である。
【００４９】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含む。
例えば、上記した実施形態は本発明をわかりやすく説明するために装置及びシステムの構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることは可能であり、更にはある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることも可能である。
また、上記の各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行するためのソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の揮発性あるいは不揮発性のストレージ、または、ＩＣカード、光ディスク等の記録媒体に保持することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００５０】
１０１…動画配信システム、１０２…ユーザ、１０３…クライアント、１０４…インターネット、１０５…メインサーバ、１０６…動画サーバ、１０７…データベースサーバ、１０８…コメントサーバ、１０９…アプリサーバ、２０１…バス、２０２…ＣＰＵ、２０３…ＲＯＭ、２０４…ＲＡＭ、２０５…不揮発性ストレージ、２０６…表示部、２０７…操作部、２０８…ＮＩＣ、２０９…スピーカ、２１０…Ｄ／Ａ変換器、２１１…サーバ、２１２…バス、２１３…ＣＰＵ、２１４…ＲＯＭ、２１５…ＲＡＭ、２１６…不揮発性ストレージ、２１７…ＮＩＣ、２１８…表示部、２１９…操作部、３０１…ｗｅｂサーバプログラム、３０２…認証処理部、３０３…ユーザマスタ、３０４…ＨＴＭＬ生成処理部、３０５…動画情報登録部、３０６…動画テーブル、３０７…動画情報出力部、３０８…コメント登録部、３０９…コメントテーブル、３１０…コメント出力部、３１１…動画登録部、３１２…動画ファイルディレクトリ、３１３…動画出力部、３１４…動画アプリファイルディレクトリ、５０１…制御情報メモリ、５０２…コメントメモリ、５０３…動画再生処理部、５０４…ＧＵＩ制御部、５０５…現在再生時間メモリ、５０６…線分描画処理部、５０７…表示制御部、５０８…コメント送信部、８０１…動画表示領域、８０２…コメント表示欄、８０３…シークバー、８０４…コメント入力欄、８０５…カーソル、８０６…再生・一時停止ボタン、８０７…登録ボタン、８０８…マウスカーソル
【図１】
0006482295.tif 000002
【図２】
0006482295.tif 000003
【図３】
0006482295.tif 000004
【図４】
0006482295.tif 000005
【図５】
0006482295.tif 000006
【図６】
0006482295.tif 000007
【図７】
0006482295.tif 000008
【図８】
0006482295.tif 000009
【図９】
0006482295.tif 000010
【図１０】
0006482295.tif 000011
【図１１】
0006482295.tif 000012
【図１２】
0006482295.tif 000013
【図１３】
0006482295.tif 000014