特許第5940487号(P5940487)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グリー株式会社の特許一覧

特許5940487動画出力装置、動画出力方法、及び動画出力プログラム
<>
  • 特許5940487-動画出力装置、動画出力方法、及び動画出力プログラム 図000002
  • 特許5940487-動画出力装置、動画出力方法、及び動画出力プログラム 図000003
  • 特許5940487-動画出力装置、動画出力方法、及び動画出力プログラム 図000004
  • 特許5940487-動画出力装置、動画出力方法、及び動画出力プログラム 図000005
  • 特許5940487-動画出力装置、動画出力方法、及び動画出力プログラム 図000006
  • 特許5940487-動画出力装置、動画出力方法、及び動画出力プログラム 図000007
  • 特許5940487-動画出力装置、動画出力方法、及び動画出力プログラム 図000008
  • 特許5940487-動画出力装置、動画出力方法、及び動画出力プログラム 図000009
  • 特許5940487-動画出力装置、動画出力方法、及び動画出力プログラム 図000010
  • 特許5940487-動画出力装置、動画出力方法、及び動画出力プログラム 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5940487
(24)【登録日】2016年5月27日
(45)【発行日】2016年6月29日
(54)【発明の名称】動画出力装置、動画出力方法、及び動画出力プログラム
(51)【国際特許分類】
   G06T 13/80 20110101AFI20160616BHJP
   G06T 11/20 20060101ALI20160616BHJP
   G09G 5/36 20060101ALI20160616BHJP
   G09G 5/377 20060101ALI20160616BHJP
【FI】
   G06T13/80 A
   G06T11/20 300
   G09G5/36 510M
   G09G5/36 520L
   G09G5/36 530C
【請求項の数】18
【全頁数】14
(21)【出願番号】特願2013-98291(P2013-98291)
(22)【出願日】2013年5月8日
(65)【公開番号】特開2014-219828(P2014-219828A)
(43)【公開日】2014年11月20日
【審査請求日】2014年6月26日
【審判番号】不服2015-11158(P2015-11158/J1)
【審判請求日】2015年6月12日
【早期審査対象出願】
(73)【特許権者】
【識別番号】504437801
【氏名又は名称】グリー株式会社
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】100164471
【弁理士】
【氏名又は名称】岡野 大和
(72)【発明者】
【氏名】ジェイソン パロット
【合議体】
【審判長】 藤井 浩
【審判官】 渡邊 聡
【審判官】 戸次 一夫
(56)【参考文献】
【文献】 特開2011−186573(JP,A)
【文献】 特開2011−55483(JP,A)
【文献】 特開2000−155836(JP,A)
【文献】 特開2002−230573(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T11/20
G06T13/80
G09G5/36
G09G5/377
(57)【特許請求の範囲】
【請求項1】
各動画フレームのうち少なくとも2つの動画フレームにおいて共通する描画部分を予め生成した画像データを記憶する記憶部と、
前記各動画フレームのうち前記画像データ以外の部分の描画データを生成し、前記画像データと前記描画データとを合成して前記各動画フレームを生成する制御部と、
前記各動画フレームに基づき動画を出力する出力部と、
を有し、クライアント端末からの動画送信要求に基づき前記動画を出力する動画出力装置。
【請求項2】
前記制御部は、前記描画データを、描画指示データに基づき生成することを特徴とする、請求項1に記載の動画出力装置。
【請求項3】
前記描画指示データは、Canvasの仕様に基づくデータであることを特徴とする、請求項2に記載の動画出力装置。
【請求項4】
前記記憶部は、前記描画指示データの1以上のパラメータをフレーム毎に記憶する、請求項2又は3に記載の動画出力装置。
【請求項5】
前記動画出力装置は、クライアント端末からの動画送信要求を受信した場合、前記動画を出力し、
前記制御部は、前記動画送信要求を受信する以前に、予め前記画像データを生成して前記記憶部に記憶することを特徴とする、請求項1乃至4の何れか一項に記載の動画出力装置。
【請求項6】
前記動画出力装置は、該動画出力装置上のJavaScriptライブラリを介して、Canvasの仕様に基づく前記データを処理することを特徴とする、請求項3に記載の動画出力装置。
【請求項7】
各動画フレームのうち少なくとも2つの動画フレームにおいて共通する描画部分を予め生成した画像データを記憶するステップと、
前記各動画フレームのうち前記画像データ以外の部分の描画データを生成し、前記画像データと前記描画データとを合成して前記各動画フレームを生成するステップと、
前記各動画フレームに基づき動画を出力するステップと、
を含む動画出力方法であって、
クライアント端末からの動画送信要求に基づき前記動画を出力することを特徴とする動画出力方法。
【請求項8】
前記動画出力方法は、前記描画データを、描画指示データに基づき生成することを特徴とする、請求項7に記載の動画出力方法。
【請求項9】
前記描画指示データは、Canvasの仕様に基づくデータであることを特徴とする、請求項8に記載の動画出力方法。
【請求項10】
前記記憶するステップにおいて、前記描画指示データの1以上のパラメータをフレーム毎に記憶する、請求項8又は9に記載の動画出力方法。
【請求項11】
前記動画を出力するステップにおいて、クライアント端末からの動画送信要求を受信した場合、前記動画を出力し、
前記記憶するステップにおいて、前記動画送信要求を受信する以前に、予め前記画像データを生成して記憶部に記憶することを特徴とする、請求項7乃至10の何れか一項に記載の動画出力方法。
【請求項12】
前記動画出力方法は、動画出力装置上のJavaScriptライブラリを介して、Canvasの仕様に基づく前記データを処理することを特徴とする、請求項9に記載の動画出力方法。
【請求項13】
動画を出力する動画出力装置として機能するコンピュータに、
各動画フレームのうち少なくとも2つの動画フレームにおいて共通する描画部分を予め生成した画像データを記憶するステップと、
前記各動画フレームのうち前記画像データ以外の部分の描画データを生成し、前記画像データと前記描画データとを合成して前記各動画フレームに係る描画データを生成するステップと、
前記各動画フレームに基づき動画を出力するステップと、
を実行させる動画出力プログラムであって、
前記動画出力装置に、クライアント端末からの動画送信要求に基づき前記動画を出力させることを特徴とする動画出力プログラム。
【請求項14】
前記動画出力プログラムは、前記描画データを、描画指示データに基づき生成することを特徴とする、請求項13に記載の動画出力プログラム。
【請求項15】
前記描画指示データは、Canvasの仕様に基づくデータであることを特徴とする、請求項14に記載の動画出力プログラム。
【請求項16】
前記記憶するステップにおいて、前記描画指示データの1以上のパラメータをフレーム毎に記憶する、請求項14又は15に記載の動画出力プログラム。
【請求項17】
前記出力するステップにおいて、クライアント端末からの動画送信要求を受信した場合、前記動画を出力し、
前記記憶するステップにおいて、前記動画送信要求を受信する以前に、予め前記画像データを生成して記憶部に記憶することを特徴とする、請求項13乃至16の何れか一項に記載の動画出力プログラム。
【請求項18】
前記動画出力プログラムは、動画出力装置上のJavaScriptライブラリを介して、Canvasの仕様に基づく前記データを処理することを特徴とする、請求項15に記載の動画出力プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画出力装置、動画出力方法、及び動画出力プログラムに関する。
【背景技術】
【0002】
近年、サーバ―クライアント間において動画をクライアント端末で表示させる方法として、JavaScript(登録商標)のCanvasの機能を利用する方法がある(例えば特許文献1等)。Canvasでは、線分、孤、円、曲線等に関して所定の描画命令により指定し、クライアント端末上で描画データを所定のフレームレートで表示することにより動画を表示する。
【0003】
図7及び図8に、従来の方法により描画した“怒った顔”の描画データ(図7)が“笑った顔”の描画データ(図8)に変化する動画の各動画フレームを示す。従来は、図7に示す描画データを、図9に示すCanvasの機能を利用したコードにより描画する。すなわち図9の第2行の“ctx.moveTo(20,20)”により、図7の点P1を指定する。続いて図9の第2行の“ctx.quadraticCurveTo(120,20,70,−20)”により、図7の点P1を始点とし、点P2を終点とする曲線を指定する。また第2行の“ctx.quadraticCurveTo(120,120,160,70)”により、図7の点P2を始点とし点P3を終点とする曲線を指定する。また第2行の“ctx.quadraticCurveTo(20,120,70,160)”により、点P3を始点とし点P4を終点とする曲線を指定する。さらに第2行の“ctx.quadraticCurveTo(20,20,−20,70)”により、図7の点P4を始点とし点P1を終点とする曲線を指定する。このように図9の第2行から第2行により図7の顔の輪郭を指定する。
【0004】
また、図9の第3行の“ctx.arc(30,110,5,0,Math.PI*2,false)”により、中心を図7の点P5とする半径5の円を指定する。また第3行の“ctx.arc(110,110,5,0,Math.PI*2,false)”により、中心を図7の点P6とする半径5の円を指定する。続いて第3行の“ctx.moveTo(30,30)”により、図7の点P7を指定する。続いて第3行の“ctx.quadraticCurveTo(30,110,70,70)”により、図7の点P7を始点とし、点P8を終点とする曲線を指定する。このように第3行から第3行により目と怒った口を指定する。以上の処理を行い、図7に示す描画データが生成される。
【0005】
図8の描画データについては、図10のコードに基づき生成する。すなわち図10の第2行の“ctx.moveTo(20,20)”により、図8の点P1を指定する。続いて第2行の“ctx.quadraticCurveTo(120,20,70,−20)”により、図8の点P1を始点とし、点P2を終点とする曲線を指定する。また第2行の“ctx.quadraticCurveTo(120,120,160,70)”により、図8の点P2を始点とし点P3を終点とする曲線を指定する。また第2行の“ctx.quadraticCurveTo(20,120,70,160)”により、図8の点P3を始点とし点P4を終点とする曲線を指定する。さらに第2行の“ctx.quadraticCurveTo(20,20,−20,70)”により、図8の点P4を始点とし点P1を終点とする曲線を指定する。このように図10の第2行から第2行により図8の顔の輪郭を指定する。
【0006】
また、図10の第3行の“ctx.arc(30,110,5,0,Math.PI*2,false)”により、中心を図8の点P5とする半径5の円を指定する。また第3行の“ctx.arc(110,110,5,0,Math.PI*2,false)”により、中心を図8の点P6とする半径5の円を指定する。続いて第3行の“ctx.moveTo(30,30)”により、図8の点P7を指定する。続いて第3行の“ctx.quadraticCurveTo(30,110,70,−10)”により、図8の点P7を始点とし、点P8を終点とする曲線を指定する。このように第3行から第3行により図8の目と笑った口を指定して描画する。以上の処理を行い、図8に示す描画データが生成される。そして図7及び図8を所定の時間間隔(フレームレート)で表示することにより動画を表示していた。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2013−37447号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
従来の動画出力方法は、各動画フレームに対応する描画指示データを逐一計算して各動画フレームに対応する描画データを作成して動画を出力しているが、動画出力を高速化することが望まれている。
【0009】
従って、上記のような問題点に鑑みてなされた本発明の目的は、動画出力の高速化を図ることができる動画出力装置、動画出力方法、及び動画出力プログラムを提供することにある。
【課題を解決するための手段】
【0010】
上記課題を解決するために本発明に係る動画出力装置は、
各動画フレームのうち少なくとも2つの動画フレームにおいて共通する描画部分を予め生成した画像データを記憶する記憶部と、
前記各動画フレームのうち前記画像データ以外の部分の描画データを生成し、前記画像データと前記描画データとを合成して前記各動画フレームを生成する制御部と、
前記各動画フレームに基づき動画を出力する出力部と、
を有し、クライアント端末からの動画送信要求に基づき前記動画を出力することを特徴とする。
【0011】
また、本発明に係る動画出力装置は、
前記制御部は、前記画データを、画指示データに基づき生成することを特徴とする。
【0012】
また、本発明に係る動画出力装置は、
前記描画指示データは、Canvasの仕様に基づくデータであることを特徴とする。
また、本発明に係る動画出力装置は、
前記記憶部が、前記描画指示データの1以上のパラメータをフレーム毎に記憶する。
また、本発明に係る動画出力装置は、クライアント端末からの動画送信要求を受信した場合、前記動画を出力し、
前記制御部は、前記動画送信要求を受信する以前に、予め前記画像データを生成して前記記憶部に記憶することを特徴とする。
また、本発明に係る動画出力装置は、該動画出力装置上のJavaScriptライブラリを介して、Canvasの仕様に基づく前記データを処理することを特徴とする。
【0013】
また、本発明に係る動画出力方法は、
各動画フレームのうち少なくとも2つの動画フレームにおいて共通する描画部分を予め生成した画像データを記憶するステップと、
前記各動画フレームのうち前記画像データ以外の部分の描画データを生成し、前記画像データと前記描画データとを合成して前記各動画フレームを生成するステップと、
前記各動画フレームに基づき動画を出力するステップと、
を含む動画出力方法であって、
クライアント端末からの動画送信要求に基づき前記動画を出力することを特徴とする。
【0014】
また、本発明に係る動画出力方法は、
前記動画出力方法は、前記画データを、画指示データに基づき生成することを特徴とする。
【0015】
また、本発明に係る動画出力方法は、
前記描画指示データは、Canvasの仕様に基づくデータであることを特徴とする。
また、本発明に係る動画出力方法は、
前記記憶するステップにおいて、前記描画指示データの1以上のパラメータをフレーム毎に記憶する。
また、本発明に係る動画出力方法は、
前記動画を出力するステップにおいて、クライアント端末からの動画送信要求を受信した場合、前記動画を出力し、
前記記憶するステップにおいて、前記動画送信要求を受信する以前に、予め前記画像データを生成して記憶部に記憶することを特徴とする。
また、本発明に係る動画出力方法は、動画出力装置上のJavaScriptライブラリを介して、Canvasの仕様に基づく前記データを処理することを特徴とする。
【0016】
また、本発明に係る動画出力プログラムは、
動画を出力する動画出力装置として機能するコンピュータに、
各動画フレームのうち少なくとも2つの動画フレームにおいて共通する描画部分を予め生成した画像データを記憶するステップと、
前記各動画フレームのうち前記画像データ以外の部分の描画データを生成し、前記画像データと前記描画データとを合成して前記各動画フレームに係る描画データを生成するステップと、
前記各動画フレームに基づき動画を出力するステップと、
を実行させる動画出力プログラムであって、
前記動画出力装置に、クライアント端末からの動画送信要求に基づき前記動画を出力させることを特徴とする。
【0017】
また、本発明に係る動画出力プログラムは、
前記動画出力プログラムは、前記描画データを、画指示データに基づき生成することを特徴とする。
【0018】
また、本発明に係る動画出力プログラムは、
前記描画指示データが、Canvasの仕様に基づくデータであることを特徴とする。
また、本発明に係る動画出力プログラムは、
前記記憶するステップにおいて、前記描画指示データの1以上のパラメータをフレーム毎に記憶することを特徴とする。
また、本発明に係る動画出力プログラムは、
前記出力するステップにおいて、クライアント端末からの動画送信要求を受信した場合、前記動画を出力し、
前記記憶するステップにおいて、前記動画送信要求を受信する以前に、予め前記画像データを生成して記憶部に記憶することを特徴とする。
また、本発明に係る動画出力プログラムは、動画出力装置上のJavaScriptライブラリを介して、Canvasの仕様に基づく前記データを処理することを特徴とする。
【発明の効果】
【0019】
本発明における動画出力装置、動画出力方法、及び動画出力プログラムによれば、動画出力の高速化を図ることができる。
【図面の簡単な説明】
【0020】
図1】本発明の一実施形態に係る動画出力システムのブロック図である。
図2】本発明の一実施形態に係る動画出力装置における各動画フレームの描画データの概要を示す図である。
図3】第一描画指示データの一例を示す図である。
図4】第二描画指示データの一例を示す図である。
図5】UniformFunctionテーブルの一例を示す図である。
図6】本発明の一実施形態に係る動画出力装置の動作を示すフローチャートである。
図7】従来技術における、ある動画フレームの描画データを示す図である。
図8】従来技術における、図7とは別の動画フレームの描画データを示す図である。
図9】従来技術において図7の描画データを生成するコードである。
図10】従来技術において図8の描画データを生成するコードである。
【発明を実施するための形態】
【0021】
以下、本発明の実施の形態について説明する。
【0022】
(実施の形態)
図1は本発明の一実施形態に係る動画出力装置1を含む動画出力システムのブロック図である。図1に示す動画出力システムは、動画出力装置(サーバ)1と、クライアント端末2とを備える。動画出力装置1は、通信部11と、記憶部12と、制御部13と、出力部14とを備える。クライアント端末2は携帯電話、スマートフォン、PC等の通信端末である。図1では3つ例示しているがこれに限られず2つ以下でもよく、4つ以上であってもよい。
【0023】
動画出力装置1の通信部11は、クライアント端末2と、ネットワークを介して無線又は有線の少なくとも一方により通信する。具体的には通信部11は、クライアント端末2から動画送信要求を受信する。また通信部11は、出力部14が出力した動画データをクライアント端末2に送信する。
【0024】
記憶部12は、本動画出力システムにおいて必要な各種情報を記憶する。また制御部13は、動画出力装置1に係る各種制御を行う。
【0025】
制御部13は概略として、各動画フレームのうち少なくとも2つの動画フレームにおいて共通する描画部分に係る画像データ(以下、第一描画データという。)を予め生成しておき、記憶部12に記憶する。そして制御部13は、各動画フレームのうち他の動画フレームと共通しない描画部分、すなわち相違する描画部分に係るデータ(以下、第二描画データという。)を生成し、第一描画データ及び第二描画データを合成して各動画フレームに係る描画データを生成する。
【0026】
図2に、本発明の一実施形態に係る動画出力装置1における各動画フレームの生成に係る概要図を示す。図2では“怒った顔”の描画データ(図2(d))と、“笑った顔”の描画データ(図2(e))に係る動画フレームを生成する手順を示している。図2(a)は、第一描画データを示す。“笑った顔”と“怒った顔”とで共通する、顔の輪郭及び目の部分が第一描画データとなる。図2(b)(c)は、第二描画データを示す。図2(b)(c)に示すように、“怒った顔”と“笑った顔”とで相違する、口の部分が第二描画データとなる。
【0027】
そして図2(a)の第一描画データ及び図2(b)の第二描画データを合成して“怒った顔”の描画データ(図2(d))が生成され、また図2(a)の第一描画データ及び図2(c)の第二描画データを合成して“笑った顔”の描画データ(図2(e))が生成される。
【0028】
以下、記憶部12に記憶される情報、及び制御部13による制御について詳細に説明する。
【0029】
記憶部12は、第一描画指示データ121と、第二描画指示データ(描画指示データ)122と、UniformFunctionテーブル123とを記憶する。
【0030】
第一描画指示データ121は、第一描画データを描画するためのデータであり、具体的には線分、孤、又は曲線等を描画するための各種パラメータ等から構成されるデータである。好適には第一描画データはCanvasの仕様に基づくデータである。以下本実施の形態では、第一描画データはCanvasの仕様に基づくデータであり、動画出力装置1は、Canvasの機能を利用できる環境、例えばWebサーバ(Apache等)、Javascript(登録商標)ライブラリ(Jquery)等を備えるものとして説明する。図3に第一描画指示データ121の一例を示す。第一描画指示データ121は、描画命令毎に、識別子、時間、タイプ、X、Y、CPX、CPY、rが対応付けられて格納されている。ここで識別子とは、各描画命令を一意に特定するための識別番号である。時間とは、当該描画命令が格納された時間を示す。タイプとは、描画命令の種類を示し、具体的には、Moveto(線分又は曲線の始点)、Lineto(線分の終点)、arc(孤)、quadraticCurveTo(曲線)等である。X、Y、CPX、CPY、rは、各描画命令におけるパラメータである。X、Yは、Moveto、Lineto、及びquadracitcCurveToにおける始点、終点の座標、又はarcにおける中心点等の座標を示す。CPX、CPYは、quadraticCurveToにおける制御点の座標を示す。rは、arcにおける半径を示す。
【0031】
例えば第一描画指示データ121は、識別子“1”、時間“2013:04:10 11:00”、タイプ “Moveto”、X“20”、Y“20”、CPX“−”、CPY“−”、r“−”を含み、これにより図2(a)の点P1を指定する。また第一描画指示データ121は、識別子“2”、時間“2013:04:10 11:01”、タイプ “quadraticCurveto”、X“120”、Y“20”、CPX“70”、CPY“−20”、r“−”を含み、これにより図2(a)の点P1を始点、点P2を終点とする曲線を指定する。同様にして識別子3から7のデータにより、それぞれ点P2を始点及び点P3を終点とする曲線、点P3を始点及び点P4を終点とする曲線、点P4を始点及び点P1を終点とする曲線、点P5を中心とする半径5の円、点P6を中心とする半径5の円を指定する。以上のように、図3に示す第一描画指示データ121により、図2(a)に示す第一描画データが生成される。
【0032】
具体的には制御部13は、通信部11を介してクライアント端末2から動画送信要求を受信すると、まず記憶部12の第一描画指示データ121を読み込み、第一描画データを生成する。そして制御部13は、第一描画データを記憶部12に記憶する。好適には制御部13は、ビットマップ形式、JPEG形式、PNG形式、TiFF形式等の汎用的な画像フォーマットにより第一描画データを記憶部12に記憶する。
【0033】
第二描画指示データ122は、第二描画データを描画するためのデータであり、具体的には線分、孤、円、曲線等を描画するための各パラメータ等から構成されるデータである。好適には第二描画データはCanvasの仕様に基づくデータである。以下、本実施の形態では、第一描画データはCanvasの仕様に基づくデータであるものとして説明する。図4に第二描画指示データ122の一例を示す。第一描画指示データ121は、描画命令毎に、識別子、時間、タイプ、X、Y、CPX、CPY、rが対応付けられて格納されている。
【0034】
例えば第二描画指示データ122は、識別子“8”、時間“2013:04:10 11:06”、タイプ “Moveto”、X“30”、Y“30”、CPX“−”、CPY“−”、r“−”を含み、これにより図2(b)及び図2(c)の点P7を指定する。また第二描画指示データ122は、識別子“9”、時間“2013:04:10 11:07”、タイプ “quadraticCurveTo”、X“30”、Y“110”、CPX“70”、CPY“$uniform”、r“−”を含み、これにより図2(b)及び図2(c)の点P7を始点、点P8を終点とする曲線を指定する。
【0035】
ここで第二描画指示データ122における“$uniform”は、動画フレーム毎に相違する値を格納する変数である。そしてUniformFunctionテーブル123は、各動画フレームに対応する“$uniform”の値を記憶する。
【0036】
図5に、UniformFunctionテーブル123の一例を示す。UniformFunctionテーブル123は、動画フレーム番号と、各動画フレーム番号に対応する$uniformの値とを含む。動画フレーム番号は、本システムにおいて動画フレームを一意に特定するための番号であり、例えば動画フレーム番号が小さい順に動画フレームを合成することにより動画を生成される。したがって本システムでは、図4に示す第二描画指示データ122及び図5に示すUniformFunctionテーブル123により、図2(b)(c)に示す第二描画データが生成される。
【0037】
具体的には制御部13は、記憶部12の第二描画指示データ122を読み込む。続いて制御部13は、記憶部12のUniformFunctionテーブル123を読み込む。続いて制御部13は、第二描画指示データ122における“$uniform”の値を、各動画フレームのフレーム番号毎に、UniformFunctionテーブル123に基づき決定する。例えば制御部13は、動画フレーム番号が“1”については、UniformFunctionテーブル123に基づき“$uniform”の値は“70”と決定する。そしてこの場合、制御部13は、第二描画指示データ122に基づき、図2(b)に示す第二描画データを生成する。また例えば制御部13は、動画フレーム番号が“2”については、UniformFunctionテーブル123に基づき“$uniform”の値は“−10”と決定する。そしてこの場合、制御部13は、第二描画指示データ122に基づき、図2(c)に示す第二描画データを生成する。
【0038】
また制御部13は、記憶部12に記憶した第一描画データと、生成した第二描画データを合成して、各動画フレームに係る描画データを生成する。具体的には制御部13は、第一描画データ(図2(a))と、図2(b)に示す第二描画データを合成して、図2(d)の描画データを生成する。また制御部13は、第一描画データ(図2(a))と、図2(c)に示す第二描画データを合成して、図2(e)の描画データを生成する。
【0039】
そして出力部14は、各動画フレームに係る描画データに基づき動画を出力する。具体的には出力部14は、各動画フレームに係る描画データに基づき、所定のフレームレートの動画データを生成し、通信部11を介して当該動画データをクライアント端末2に送信する。
【0040】
次に、本発明の一実施形態に係る動画出力装置1について、図6に示すフローチャートによりその動作を説明する。
【0041】
はじめに動画出力装置1の通信部11は、クライアント端末2から動画送信要求を受信する(ステップS1)。
【0042】
続いて動画出力装置1の制御部13は、記憶部12の第一描画指示データ121を読み込み、第一描画データを生成する(ステップS2)。そして制御部13は、第一描画データを記憶部12に記憶する(ステップS3)。
【0043】
続いて制御部13は、記憶部12の第二描画指示データ122を読み込む(ステップS4)。続いて制御部13は、第二描画指示データ122における“$uniform”の値を、各動画フレームのフレーム番号毎に、UniformFunctionテーブル123に基づき決定する(ステップS5)。そして制御部13は、第二描画データを生成する(ステップS6)。
【0044】
続いて制御部13は、記憶部12に記憶した第一描画データと、生成した第二描画データを合成して、各動画フレームに係る描画データを生成する(ステップS7)。
【0045】
続いて出力部14は、各動画フレームに係る描画データに基づき動画を出力する。具体的には出力部14は、各動画フレームに係る描画データに基づき、所定のフレームレートの動画データを生成し、通信部11を介して当該動画データをクライアント端末2に送信する(ステップS8)。そして処理が終了する。
【0046】
このように本発明によれば、制御部13が、各動画フレームのうち少なくとも2つの動画フレームにおいて共通する描画部分に係る第一描画データを予め生成して記憶部12に格納しており、各動画フレームにおいて相違する描画部分のみを生成して合成するため、各動画フレームの描画処理のスピードを上げることにより、動画出力の高速化を図ることができる。
【0047】
なお、本実施の形態では、動画フレームが2つである例を示したがこれに限られず、動画フレームは3以上備えていてもよい。この場合、少なくとも2つの動画フレームで共通する描画部分を、第一描画データとする。
【0048】
ここで、動画出力装置1として機能させるために、コンピュータを好適に用いることができ、そのようなコンピュータは、動画出力装置1の各機能を実現する処理内容を記述したプログラムを、当該コンピュータの記憶部に格納しておき、当該コンピュータの中央演算処理装置(CPU)によってこのプログラムを読み出して実行させることで実現することができる。
【0049】
また、本実施の形態では、ステップS1においてクライアント端末2から動画送信要求を受信することで、ステップS2及びステップ3に遷移していたが、クライアント端末2から動画送信要求を受信しなくても、ステップS2及びステップ3に遷移してもよい。
【0050】
たとえば、クライアント端末2から動画送信要求を受信する以前に、ステップS2及びステップ3を予め処理しておき、クライアント端末2から動画送信要求をすることで、ステップS4に遷移してもよい。すなわち、本実施の形態では、動画出力装置1において第一描画データを予め生成するので、第一描画データを処理する時間が省かれるので、より高速に描画処理を行うことができる。
【0051】
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。
【符号の説明】
【0052】
1 動画出力装置(サーバ)
2 クライアント端末
11 通信部
12 記憶部
13 制御部
14 出力部
121 第一描画指示データ
122 第二描画指示データ
123 UniformFunctionテーブル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10