アニメーション再生システム、サーバ装置、端末装置、再生方法、情報処理方法及びプログラム
【課題】OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションファイルを再生することを目的とする。
【解決手段】サーバ装置1は、端末装置2よりアニメーションファイルを指定された要求を受信すると、アニメーションファイルを文字列に変換し、文字列に変換された変換後のファイルを端末装置2に送信する。端末装置2は、アニメーションファイルを再生する場合、前記アニメーションファイルを指定した要求をサーバ装置1に送信し、サーバ装置1より変換後のファイルを受信すると、ファイルを解釈し、解釈した結果に基づき画像ファイルを生成し、画像ファイルを再生する。
【解決手段】サーバ装置1は、端末装置2よりアニメーションファイルを指定された要求を受信すると、アニメーションファイルを文字列に変換し、文字列に変換された変換後のファイルを端末装置2に送信する。端末装置2は、アニメーションファイルを再生する場合、前記アニメーションファイルを指定した要求をサーバ装置1に送信し、サーバ装置1より変換後のファイルを受信すると、ファイルを解釈し、解釈した結果に基づき画像ファイルを生成し、画像ファイルを再生する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アニメーション再生システム、サーバ装置、端末装置、再生方法、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
近年、OSとしてAndroidが用いられているAndroid端末装置が急速に普及し始めている。色々な種類のAndroid端末装置が発売されており、販売台数も増えている。
しかしながら、様々なAndroid端末装置があるということは、技術的仕様の違いやOSのバージョンの違うAndroid端末装置があるということである。
【0003】
例えば、Android2.1以前のAndroid端末装置では内蔵されているブラウザでアニメーションGIFファイルが再生できない。アニメーションGIFファイルが再生できない技術的な理由は、非特許文献1に挙げられている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】"android Android−An Open Handset Alliance Project"、[online]、平成21年12月11日、[平成23年3月25日検索]、インターネット<URL:http://code.google.com/p/android/issues/detail?id=3422#c42>
【発明の概要】
【発明が解決しようとする課題】
【0005】
サービスの様々なところでアニメーションファイルを使っている場合、サービスを利用するAndroid端末装置では上述したようにOSのバージョン等によっては、アニメーションが再生できない問題がある。また、Android2.2以降のAndroid端末装置であってもアニメーションファイルを開いたとき空きメモリが少ない場合、最初のフレームしか表示されず、アニメーションが再生できない問題があった。
【0006】
本発明はこのような問題点に鑑みなされたもので、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションファイルを再生することを目的とする。
【課題を解決するための手段】
【0007】
そこで、上述した課題を解決するために、本発明の第1の特徴は、サーバ装置と、端末装置と、がネットワークを介して通信可能に接続されたアニメーション再生システムであって、前記サーバ装置は、前記端末装置よりアニメーションファイルを指定する情報を含む要求を受信すると、前記アニメーションファイルを、文字列により構成される文字列ファイルに変換し、前記文字列ファイルを前記端末装置に送信し、前記端末装置は、アニメーションファイルを再生する場合、前記要求を前記サーバ装置に送信し、前記サーバ装置より前記文字列ファイルを受信すると、前記文字列ファイルを解釈し、解釈した結果に基づき複数の画像ファイルを生成し、前記複数の画像ファイルを再生することを要旨とする。
【発明の効果】
【0008】
本発明によれば、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でも、端末装置においてアニメーションファイルを再生することができる。
【図面の簡単な説明】
【0009】
【図1】実施形態1のアニメーション再生システムのシステム構成の一例を示す図である。
【図2】サーバ装置1のハードウェア構成の一例を示す図である。
【図3】端末装置2のハードウェア構成の一例を示す図である。
【図4】実施形態1のアニメーション再生システムにおけるアニメーションGIFファイルの再生処理の概要を説明するためのシーケンス図である。
【図5】実施形態1のサーバ装置1における再生プログラムの送信処理の一例を示すフローチャートである。
【図6】サーバ装置1における文字列ファイルへの変換及び送信処理の一例を示すフローチャートである。
【図7】アニメーションGIFファイルの概念図である。
【図8】文字列ファイルの概念図である。
【図9】実施形態1の端末装置2におけるアニメーションGIFファイルの再生処理の一例を示すフローチャートである。
【図10】文字列ファイルからイメージセクション31を抽出し、配列に格納する処理を説明するための概念図である。
【図11】配列からイメージセクション31を取得し、静止画GIFファイルを生成する処理を説明するための概念図である。
【図12】図9のステップS33の本実施形態における処理の一例を示すフローチャートである。
【図13】実施形態3の端末装置2におけるアニメーションGIFファイルの再生処理の一例を示すフローチャートである。
【図14】実施形態4のアニメーション再生システムにおけるアニメーションGIFファイルの再生処理の概要を説明するためのシーケンス図である。
【図15】実施形態4のサーバ装置1における再生プログラムの送信処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面に基づいて説明する。
【0011】
<実施形態1>
図1は、実施形態1のアニメーション再生システムのシステム構成の一例を示す図である。図1に示されるように、アニメーション再生システムは、システム構成として、サーバ装置1と少なくとも1台以上の端末装置2とがネットワーク3を介して通信可能に接続されている。
サーバ装置1は、通信を行っている端末装置2にアニメーションGIFファイルを再生するための再生プログラムを送信する。端末装置2は、メモリ等の記憶装置に再生プログラムを記憶し、CPU等の制御装置が再生プログラム等を実行することによって以下に示す実施形態の処理を実行する。サーバ装置1としては、例えばWebサーバ等を用いることができる。
端末装置2は、アニメーションGIFファイルを再生しようとした場合、アニメーションGIFファイルを指定する情報を含む要求(以下、ファイル送信要求という)をサーバ装置1に送信する。サーバ装置1は、端末装置2よりファイル送信要求を受信すると、アニメーションGIFファイルをJavaScript(登録商標)が扱うことができる文字列により構成されるファイルに変換し、変換後の文字列のファイル(以下、文字列ファイルという)を端末装置2に送信する。端末装置2は、サーバ装置1より文字列ファイルを受信すると、文字列ファイルを解釈し、解釈した結果に基づき複数の静止画GIFファイル(アニメーションしないGIFファイル)を生成し、GIFファイルをフレームごとに描画することによってアニメーションGIFファイルを再生する。このように静止画GIFファイル(静止画ファイル)をフレームごとに描画することによって、空きメモリが少ない場合でも、アニメーションを再生することができる。ここで、JavaScriptが扱うことができる文字列とは、例えば、JSON形式の文字列である。また、文字列とは、複数の文字データ(テキストデータ)の並びである。
なお、図1では本実施形態の説明に必要な構成のみ示している。他の図においても同様である。
【0012】
図2は、サーバ装置1のハードウェア構成の一例を示す図である。図2に示されるように、サーバ装置1は、ハードウェア構成として、制御装置11と、記憶装置12と、通信装置13と、を含む。サーバ装置1は、コンピュータの一例である。
制御装置11は、例えば、CPU等であって、サーバ装置1の全体を制御する。記憶装置12は、例えば、ROMやRAM、HDD等であって、サーバ装置1のプログラムや端末装置2に送信する再生プログラム、制御装置11が制御を行う際に利用するデータ等を記憶する。通信装置13は、サーバ装置1をネットワーク等に接続する。
制御装置11が記憶装置12等に記憶されているプログラムに基づき処理を実行することによって、後述するサーバ装置1の各種機能が実現される。
【0013】
図3は、端末装置2のハードウェア構成の一例を示す図である。図3に示されるように、端末装置2は、ハードウェア構成として、制御装置21と、記憶装置22と、通信装置23と、入力・表示装置24と、を含む。端末装置2は、コンピュータの一例である。
制御装置21は、例えば、CPU等であって、端末装置2の全体を制御する。記憶装置22は、例えば、ROMやRAM等であって、プログラムや制御装置21が制御を行う際に利用するデータ(例えば、後述する配列等)を記憶する。通信装置23は、端末装置2をネットワーク等に接続する。入力・表示装置24は、端末装置2のユーザの入力を受け付けると共に、画像等を表示する。なお、本実施形態では端末装置2は、ハードウェア構成として、入力を受け付けると共に表示を行う入力・表示装置24を有するものとして説明を行うが、入力を受け付ける入力装置と、表示を行う表示装置と、を別々に有するようにしてもよい。
制御装置21が記憶装置22等に記憶されているプログラムに基づき処理を実行することによって、後述する端末装置2の各種処理が実現される。
より具体的に説明すると、本実施形態の記憶装置22には、OSのプログラムやWebブラウザのプログラム等が記憶されている。そして、上述したように、サーバ装置1から送信された再生プログラムも記憶装置22に記憶されて、インストールされる。なお、再生プログラムは、より具体的にはJavaScriptのプログラムである。制御装置21が、OSのプログラムや、Webブラウザのプログラム、再生プログラムを実行することによって、後述する端末装置2の機能が実現される。
【0014】
図4は、実施形態1のアニメーション再生システムにおけるアニメーションGIFファイルの再生処理の概要を説明するためのシーケンス図である。
シーケンスSQ1において、サーバ装置1は、通信を行っている端末装置2でアニメーションGIFファイルを再生するための再生プログラムを端末装置2に送信する。ここで、再生プログラムは、端末装置2の制御装置21で実行され、サーバ装置1より受信した文字列ファイルを解釈し、解釈した結果に基づき静止画GIFファイルを生成し、生成したGIFファイルをフレームごとに描画することによってアニメーションGIFファイルを再生する機能を提供するプログラムである。
上述したように、再生プログラムを受信した端末装置2は、記憶装置22に再生プログラムを記憶し、制御装置21が記憶装置22に記憶された再生プログラムを読み込み、実行する。
【0015】
アニメーションGIFファイルを再生しようとした場合、シーケンスSQ2において、端末装置2は、ファイル送信要求をサーバ装置1に送信する。
シーケンスSQ3において、サーバ装置1は、端末装置2よりファイル送信要求を受信すると、アニメーションGIFファイルを後述する図8に示されるような文字列ファイルに変換する。なお、後述する図7、図10等で説明するように、アニメーションGIFファイルを変換した文字列ファイルには、アニメーションGIFファイルを構成する、GIFヘッダや、アニメーション定義セクション及び複数のイメージセクション(画像データ)が含まれる。
シーケンスSQ4において、サーバ装置1は、文字列ファイルを端末装置2に送信する。
サーバ装置1より文字列ファイルを受信すると、シーケンスSQ5において、端末装置2は、文字列ファイルの文字列を解釈する。
シーケンスSQ6において、端末装置2は、解釈した結果に基づき静止画GIFファイルを生成し、静止画GIFファイルをフレームごとに描画することによってアニメーションGIFファイルを再生する。
端末装置2が、文字列ファイルより画像データを取り出し、取り出した画像データから静止画GIFファイルを生成し、フレームごとに描画することによって、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションGIFファイルを再生することができる。
【0016】
以下、フローチャート等を用いながら各装置の処理をより詳細に説明する。
図5は、実施形態1の、サーバ装置1における再生プログラムの送信処理の一例を示すフローチャートである。なお、図5及び後述する図6の処理は、サーバ装置1における情報処理の一例である。
ステップS10において、サーバ装置1は、アニメーションGIFファイルを再生するための再生プログラムを通信先の端末装置2に送信する。
【0017】
図6は、サーバ装置1における文字列ファイルへの変換及び送信処理の一例を示すフローチャートである。
ステップS20において、サーバ装置1は、端末装置2よりファイル送信要求を受信したか否かを判定する。サーバ装置1は、端末装置2よりファイル送信要求を受信した場合は、処理をステップS21に進め、端末装置2よりファイル送信要求を受信していない場合は、ステップS20の処理を繰り返す。
ステップS21において、サーバ装置1は、要求で指定されているアニメーションGIFファイルを文字列ファイルに変換する。
図7は、アニメーションGIFファイルの概念図である。図7に示されるように、アニメーションGIFファイルは、画像の高さ、画像の幅、カラーパレット等の情報を含むGIFヘッダと、ループ数等の情報を含むアニメーション定義セクションと、複数のイメージセクション311、312・・・とを含む。一方、図8は、文字列ファイルの概念図である。サーバ装置1は、図7で示されるようなアニメーションGIFファイルを図8に示されるような文字列ファイルに変換する。
ステップS22において、サーバ装置1は、文字列ファイルを端末装置2に送信する。
【0018】
図9は、実施形態1の端末装置2におけるアニメーションGIFファイルの再生処理の一例を示すフローチャートである。上述したように、以下の処理は、サーバ装置1から送信された再生プログラムがインストールされた端末装置2における処理である。
アニメーションGIFファイルを再生しようとした場合、ステップS30において、端末装置2は、ファイル送信要求をサーバ装置1に送信する。
ステップS31において、端末装置2は、文字列ファイルをサーバ装置1より受信したか否かを判定する。端末装置2は、文字列ファイルをサーバ装置1より受信した場合、ステップS32に処理を進め、文字列ファイルをサーバ装置1より受信していない場合、ステップS31の処理を繰り返す。
ステップS32において、端末装置2は、受信した文字列ファイルを解釈し、文字列ファイルより画像(図7のイメージセクション31)を取り出し、順次、配列に格納する。ここで、配列とは、データの集合である。
図10は、文字列ファイルからイメージセクション31を抽出し、配列に格納する処理を説明するための概念図である。
端末装置2は、文字列ファイルの文字列をバイト単位で読み込み、アニメーションGIFファイルのイメージセクション31(画像データ)を指し示す情報(以下、位置情報という)を見つけると、位置情報に基づき文字列ファイルからイメージセクション31を抽出し、配列に格納する。位置情報とは、例えば、「これより後ろ何バイト〜何バイトがイメージセクション31である」というような、イメージセクション311が配置された位置を指し示す情報である。端末装置2は、位置情報に基づきイメージセクション31を抽出すると、また次の位置情報があるためその位置情報に基づき次のイメージセクション312を抽出する。このように、端末装置2は、文字列ファイルから順次、イメージセクション31を抽出し、配列等に格納する。
【0019】
ステップS33において、端末装置2は、配列に格納したイメージセクション31を取得し、イメージセクション31にGIFファイルのヘッダを付加することで静止画GIFファイルを生成する。
図11は、配列からイメージセクション31を取得し、静止画GIFファイルを生成する処理を説明するための概念図である。
端末装置2は、順次、生成した静止画GIFファイルをHTMLとして入力・表示装置24に描画する。GIFファイルは、画像ファイルの一例である。
より具体的に説明すると、端末装置2は、生成した静止画GIFファイルを、Base64エンコードを用いてデータURIの形式にして、データURIをHTMLのImageタグ(イメージタグ)のsourceパラメータとして設定することで画像をHTMLとして入力・表示装置24に表示する。
以上、本実施形態によれば、端末装置2は、バイナリデータで構成されているアニメーションGIFファイルを再生しようとした場合、ファイル送信要求をサーバ装置1に送信する。サーバ装置1は、端末装置2よりファイル送信要求を受信すると、アニメーションGIFファイルを文字列ファイルに変換し、文字列ファイルに変換した変換後の文字列ファイルを端末装置2に送信する。端末装置2は、サーバ装置1より文字列ファイルを受信すると、文字列ファイルの文字列ファイルを解釈し、解釈した結果に基づき静止画GIFファイルを生成し、GIFファイルをフレームごとに描画することによってアニメーションGIFファイルを再生する。
このように端末装置2が、文字列ファイルよりイメージセクション31等の画像を取り出し、取り出した画像から静止画GIFファイルを生成し、フレームごとに描画することによって、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションGIFファイルを再生することができる。
つまり、例えば、端末装置2のOSがAndroid(登録商標)2.1以前のOSで、OSの機能としてアニメーションGIFファイルを再生する機能を有していなくても、本実施形態の端末装置2によれば、変換された文字列ファイルより画像を取り出し、取り出した画像から静止画GIFファイルを生成し、フレームごとに描画することによって、アニメーションGIFファイルを再生することができる。また、データ量の大きいバイナリデータで構成されているアニメーションGIFファイルを扱うのではなく、文字列ファイルを扱うので、端末装置2の空きメモリが少ない場合でも、アニメーションGIFファイルを再生することができる。
【0020】
<実施形態2>
以下、実施形態2を説明する。
アニメーションGIFファイルの中には、全領域を更新するアニメーションGIFファイルと、変更に係る一部領域のみ更新するアニメーションGIFファイルと、がある。本実施形態では、アニメーションGIFファイルが全領域を更新するアニメーションGIFファイルか否かで処理を変更する一例を説明する。
なお、本実施形態では上述した実施形態と異なる点のみを説明し、同一の箇所の説明は省略する。
図12は、図9のステップS33の本実施形態における処理の一例を示すフローチャートである。
ステップS40において、端末装置2は、アニメーションGIFファイルが全領域を更新するアニメーションGIFファイルか、変更に係る一部領域のみ更新するアニメーションGIFファイルか、を判定する。文字列ファイルのアニメーションGIFファイルのヘッダに該当する箇所にはアニメーションGIFファイルが全領域を更新するアニメーションGIFファイルか、変更に係る一部領域のみ更新するアニメーションGIFファイルか、を示す種類情報がある。端末装置2は、この種類情報に基づいて、アニメーションGIFファイルが全領域を更新するアニメーションGIFファイルか、変更に係る一部領域のみ更新するアニメーションGIFファイルか、を判定する。端末装置2は、全領域を更新するアニメーションGIFファイルであると判定した場合、処理をステップS41に進め、更に係る一部領域のみ更新するアニメーションGIFファイルであると判定した場合、処理をステップS42に進める。
【0021】
ステップS41において、端末装置2は、上述した実施形態1と同様、配列からイメージセクション31を取得し、静止画GIFファイルを生成し、生成した静止画GIFファイルを、Base64エンコードを用いてデータURIの形式にして、データURIをHTMLのImageタグのsourceパラメータとして設定することで画像をHTMLとして入力・表示装置24に表示する。
一方、ステップS42において、端末装置2は、JavaScriptのCanvasの機能を利用して画像をHTMLとして入力・表示装置24に表示する。
より具体的に説明すると、端末装置2は、文字列ファイルを解釈した際に、文字列ファイルに含まれるGIFヘッダより画像の高さや幅の情報を取得し、この情報と配列より取得したイメージセクション31とを、Canvasに設定することによって、画像をHTMLとして入力・表示装置24に表示する。
以上、本実施形態によれば、端末装置2が、種類情報に基づいて、アニメーションGIFファイルが全領域を更新するアニメーションGIFファイルか、変更に係る一部領域のみ更新するアニメーションGIFファイルかを判定する。そして、端末装置2が、それぞれのアニメーションGIFファイルに応じた表示処理を行う。したがって、アニメーションGIFファイルが全領域を更新するアニメーションGIFファイルであっても、変更に係る一部領域のみ更新するアニメーションGIFファイルであっても、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションGIFファイルを再生することができる。
【0022】
<実施形態3>
以下、実施形態3を説明する。
端末装置2は、アニメーションGIFファイルを再生する場合、指定された記憶領域に置かれている文字列ファイルを読み取り、文字列ファイルを解釈し、解釈した結果に基づき複数の静止画GIFファイルを生成し、生成したGIFファイルを順次、再生するようにしてもよい。例えば、指定された記憶領域は、ネットワークを介して端末装置2が通信可能なサーバ装置等のHDD等の記憶領域である。例えば、サーバ装置1は、予めアニメーションGIFファイルを文字列ファイルに変換し、アニメーションGIFファイルと、アニメーションGIFファイルから生成された文字列ファイルと、を対応付けて記憶領域に記憶する。
なお、本実施形態では上述した実施形態と異なる点のみを説明し、同一の箇所の説明は省略する。
図13は、実施形態3の端末装置2におけるアニメーションGIFファイルの再生処理の一例を示すフローチャートである。上述したように、以下の処理は、再生プログラムがインストールされた端末装置2における処理である。
アニメーションGIFファイルを再生しようとした場合、ステップS50において、端末装置2は、アニメーションGIFファイルを指定して、記憶領域より当該アニメーションGIFファイルに対応する文字列ファイルを取得する。
ステップS51において、端末装置2は、取得した文字列ファイルを解釈し、文字列ファイルよりイメージセクション31を取り出し、配列に格納する。
ステップS52において、端末装置2は、配列に格納したイメージセクション31を取得し、イメージセクション31にGIFヘッダを付加することで複数の静止画GIFファイルを生成する。そして、端末装置2は、例えば、生成した静止画GIFファイルを、Base64エンコードを用いてデータURIの形式にして、データURIをHTMLのImageタグ(イメージタグ)のsourceパラメータとして設定することで画像をHTMLとして入力・表示装置24に表示する。
本実施形態の処理によれば、端末装置2は、文字列ファイルを記憶領域より取得し、取得した文字列ファイルを解釈し、解釈した結果に基づき複数の静止画GIFファイルを生成し、複数の静止画GIFファイルをフレームごとに描画することによってアニメーションGIFファイルを再生する。
このように端末装置2が、記憶領域に記憶されているアニメーションGIFファイルに対応する文字列ファイルを取得し、取得した文字列ファイルよりイメージセクション31を取り出し、取り出したイメージセクション31から静止画GIFファイルを生成し、フレームごとに描画することによって、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションGIFファイルを再生することができる。
【0023】
<実施形態4>
実施形態1では、サーバ装置1が、再生プログラムを全ての通信先の端末装置2に送信する例を説明した。しかしながら、サーバ装置1は、例えば、通信先の端末装置2のOSのバージョン情報等を取得し、アニメーションGIFファイルを再生可能か否か判定し、アニメーションGIFファイルを再生可能でないと判定した場合に、再生プログラムを端末装置2に送信するようにしてもよい。
以下、実施形態4を説明する。なお、本実施形態では実施形態1と異なる点のみを説明し、同一の箇所の説明は省略する。
図14は、実施形態4のアニメーション再生システムにおけるアニメーションGIFファイルの再生処理の概要を説明するためのシーケンス図である。
シーケンスSQ11において、サーバ装置1は、通信を行っている端末装置2のOSの情報を取得し、OSが所定のバージョンより古いか否かによって、端末装置2でアニメーションGIFファイルを再生できるか否かを判定する。 サーバ装置1は、通信を行っている端末装置2のOSが所定のバージョン以前のバージョン(例えば、Android2.1以前のバージョン)であればアニメーションGIFファイルを再生できないと判定し、所定のバージョン以降のバージョン(例えば、Android2.2以降のバージョン)であればアニメーションGIFファイルを再生できると判定する。
アニメーションGIFファイルを再生できないと判定した場合、シーケンスSQ12において、サーバ装置1は、通信を行っている端末装置2でアニメーションGIFファイルを再生するための再生プログラムを端末装置2に送信する。
以降、シーケンスSQ13〜シーケンスSQ17の処理は、実施形態1の図4のシーケンスSQ2〜シーケンスSQ6の処理と同様であるので説明を省略する。
図15は、実施形態4のサーバ装置1における再生プログラムの送信処理の一例を示すフローチャートである。
ステップS60において、サーバ装置1は、通信を行っている端末装置2のOSの情報を取得し、OSが所定のバージョンより古いか否かによって、端末装置2でアニメーションGIFファイルを再生できるか否かを判定する。サーバ装置1は、通信を行っている端末装置2のOSが所定のバージョン以前のバージョン(例えば、Android2.1以前のバージョン)であればアニメーションGIFファイルを再生できないと判定し、所定のバージョン以降のバージョン(例えば、Android2.2以降のバージョン)であればアニメーションGIFファイルを再生できると判定する。
サーバ装置1は、端末装置2でアニメーションGIFファイルを再生できると判定した場合は、図15に示す処理を終了し、端末装置2でアニメーションGIFファイルを再生できないと判定した場合は、処理をステップS61に進める。
ステップS61において、サーバ装置1は、アニメーションGIFファイルを再生するための再生プログラムを通信先の端末装置2に送信する。
以上、本実施形態によれば、サーバ装置1は、アニメーションGIFファイルを再生できないと判定し端末装置2に対して再生プログラムを送信する。そして、再生プログラムを送信された端末装置2は、端末装置2の制御装置21において再生プログラム等に基づき処理実行することによって、文字列ファイルよりイメージセクション31を取り出し、取り出したイメージセクション31から静止画GIFファイルを生成し、フレームごとに描画する。このような処理によって、端末装置2は、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションGIFファイルを再生することができる。
【0024】
以上、上述した各実施形態によれば、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションGIFファイルを端末装置2において再生することができる。
また、上述した実施形態では、アニメーションファイルの一例としてGIFのアニメーションファイルを例に説明を行ったが、同様の方法により、Motion JPEGやAPNG(Animated Portable Network Graphics)等のアニメーションファイルであってもアニメーションファイルを再生することができる。
【0025】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
例えば、上述した実施形態では、サーバ装置1が、端末装置2に再生プログラムを送信していた。しかしながら、ユーザ操作等に基づいて端末装置2が、サーバ装置1等より再生プログラムをダウンロードし、インストールするようにしてもよい。また、上述した実施形態では、サーバ装置1が、アニメーションファイルから文字列ファイルを生成したが、端末装置2が、サーバ装置1から文字列ファイルではなくアニメーションファイルを受信し、受信したアニメーションファイルから文字列ファイルを生成してもよい。
なお、上述した各実施形態を任意に組み合わせて実施してもよい。
【符号の説明】
【0026】
1 サーバ装置
2 端末装置
【技術分野】
【0001】
本発明は、アニメーション再生システム、サーバ装置、端末装置、再生方法、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
近年、OSとしてAndroidが用いられているAndroid端末装置が急速に普及し始めている。色々な種類のAndroid端末装置が発売されており、販売台数も増えている。
しかしながら、様々なAndroid端末装置があるということは、技術的仕様の違いやOSのバージョンの違うAndroid端末装置があるということである。
【0003】
例えば、Android2.1以前のAndroid端末装置では内蔵されているブラウザでアニメーションGIFファイルが再生できない。アニメーションGIFファイルが再生できない技術的な理由は、非特許文献1に挙げられている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】"android Android−An Open Handset Alliance Project"、[online]、平成21年12月11日、[平成23年3月25日検索]、インターネット<URL:http://code.google.com/p/android/issues/detail?id=3422#c42>
【発明の概要】
【発明が解決しようとする課題】
【0005】
サービスの様々なところでアニメーションファイルを使っている場合、サービスを利用するAndroid端末装置では上述したようにOSのバージョン等によっては、アニメーションが再生できない問題がある。また、Android2.2以降のAndroid端末装置であってもアニメーションファイルを開いたとき空きメモリが少ない場合、最初のフレームしか表示されず、アニメーションが再生できない問題があった。
【0006】
本発明はこのような問題点に鑑みなされたもので、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションファイルを再生することを目的とする。
【課題を解決するための手段】
【0007】
そこで、上述した課題を解決するために、本発明の第1の特徴は、サーバ装置と、端末装置と、がネットワークを介して通信可能に接続されたアニメーション再生システムであって、前記サーバ装置は、前記端末装置よりアニメーションファイルを指定する情報を含む要求を受信すると、前記アニメーションファイルを、文字列により構成される文字列ファイルに変換し、前記文字列ファイルを前記端末装置に送信し、前記端末装置は、アニメーションファイルを再生する場合、前記要求を前記サーバ装置に送信し、前記サーバ装置より前記文字列ファイルを受信すると、前記文字列ファイルを解釈し、解釈した結果に基づき複数の画像ファイルを生成し、前記複数の画像ファイルを再生することを要旨とする。
【発明の効果】
【0008】
本発明によれば、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でも、端末装置においてアニメーションファイルを再生することができる。
【図面の簡単な説明】
【0009】
【図1】実施形態1のアニメーション再生システムのシステム構成の一例を示す図である。
【図2】サーバ装置1のハードウェア構成の一例を示す図である。
【図3】端末装置2のハードウェア構成の一例を示す図である。
【図4】実施形態1のアニメーション再生システムにおけるアニメーションGIFファイルの再生処理の概要を説明するためのシーケンス図である。
【図5】実施形態1のサーバ装置1における再生プログラムの送信処理の一例を示すフローチャートである。
【図6】サーバ装置1における文字列ファイルへの変換及び送信処理の一例を示すフローチャートである。
【図7】アニメーションGIFファイルの概念図である。
【図8】文字列ファイルの概念図である。
【図9】実施形態1の端末装置2におけるアニメーションGIFファイルの再生処理の一例を示すフローチャートである。
【図10】文字列ファイルからイメージセクション31を抽出し、配列に格納する処理を説明するための概念図である。
【図11】配列からイメージセクション31を取得し、静止画GIFファイルを生成する処理を説明するための概念図である。
【図12】図9のステップS33の本実施形態における処理の一例を示すフローチャートである。
【図13】実施形態3の端末装置2におけるアニメーションGIFファイルの再生処理の一例を示すフローチャートである。
【図14】実施形態4のアニメーション再生システムにおけるアニメーションGIFファイルの再生処理の概要を説明するためのシーケンス図である。
【図15】実施形態4のサーバ装置1における再生プログラムの送信処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面に基づいて説明する。
【0011】
<実施形態1>
図1は、実施形態1のアニメーション再生システムのシステム構成の一例を示す図である。図1に示されるように、アニメーション再生システムは、システム構成として、サーバ装置1と少なくとも1台以上の端末装置2とがネットワーク3を介して通信可能に接続されている。
サーバ装置1は、通信を行っている端末装置2にアニメーションGIFファイルを再生するための再生プログラムを送信する。端末装置2は、メモリ等の記憶装置に再生プログラムを記憶し、CPU等の制御装置が再生プログラム等を実行することによって以下に示す実施形態の処理を実行する。サーバ装置1としては、例えばWebサーバ等を用いることができる。
端末装置2は、アニメーションGIFファイルを再生しようとした場合、アニメーションGIFファイルを指定する情報を含む要求(以下、ファイル送信要求という)をサーバ装置1に送信する。サーバ装置1は、端末装置2よりファイル送信要求を受信すると、アニメーションGIFファイルをJavaScript(登録商標)が扱うことができる文字列により構成されるファイルに変換し、変換後の文字列のファイル(以下、文字列ファイルという)を端末装置2に送信する。端末装置2は、サーバ装置1より文字列ファイルを受信すると、文字列ファイルを解釈し、解釈した結果に基づき複数の静止画GIFファイル(アニメーションしないGIFファイル)を生成し、GIFファイルをフレームごとに描画することによってアニメーションGIFファイルを再生する。このように静止画GIFファイル(静止画ファイル)をフレームごとに描画することによって、空きメモリが少ない場合でも、アニメーションを再生することができる。ここで、JavaScriptが扱うことができる文字列とは、例えば、JSON形式の文字列である。また、文字列とは、複数の文字データ(テキストデータ)の並びである。
なお、図1では本実施形態の説明に必要な構成のみ示している。他の図においても同様である。
【0012】
図2は、サーバ装置1のハードウェア構成の一例を示す図である。図2に示されるように、サーバ装置1は、ハードウェア構成として、制御装置11と、記憶装置12と、通信装置13と、を含む。サーバ装置1は、コンピュータの一例である。
制御装置11は、例えば、CPU等であって、サーバ装置1の全体を制御する。記憶装置12は、例えば、ROMやRAM、HDD等であって、サーバ装置1のプログラムや端末装置2に送信する再生プログラム、制御装置11が制御を行う際に利用するデータ等を記憶する。通信装置13は、サーバ装置1をネットワーク等に接続する。
制御装置11が記憶装置12等に記憶されているプログラムに基づき処理を実行することによって、後述するサーバ装置1の各種機能が実現される。
【0013】
図3は、端末装置2のハードウェア構成の一例を示す図である。図3に示されるように、端末装置2は、ハードウェア構成として、制御装置21と、記憶装置22と、通信装置23と、入力・表示装置24と、を含む。端末装置2は、コンピュータの一例である。
制御装置21は、例えば、CPU等であって、端末装置2の全体を制御する。記憶装置22は、例えば、ROMやRAM等であって、プログラムや制御装置21が制御を行う際に利用するデータ(例えば、後述する配列等)を記憶する。通信装置23は、端末装置2をネットワーク等に接続する。入力・表示装置24は、端末装置2のユーザの入力を受け付けると共に、画像等を表示する。なお、本実施形態では端末装置2は、ハードウェア構成として、入力を受け付けると共に表示を行う入力・表示装置24を有するものとして説明を行うが、入力を受け付ける入力装置と、表示を行う表示装置と、を別々に有するようにしてもよい。
制御装置21が記憶装置22等に記憶されているプログラムに基づき処理を実行することによって、後述する端末装置2の各種処理が実現される。
より具体的に説明すると、本実施形態の記憶装置22には、OSのプログラムやWebブラウザのプログラム等が記憶されている。そして、上述したように、サーバ装置1から送信された再生プログラムも記憶装置22に記憶されて、インストールされる。なお、再生プログラムは、より具体的にはJavaScriptのプログラムである。制御装置21が、OSのプログラムや、Webブラウザのプログラム、再生プログラムを実行することによって、後述する端末装置2の機能が実現される。
【0014】
図4は、実施形態1のアニメーション再生システムにおけるアニメーションGIFファイルの再生処理の概要を説明するためのシーケンス図である。
シーケンスSQ1において、サーバ装置1は、通信を行っている端末装置2でアニメーションGIFファイルを再生するための再生プログラムを端末装置2に送信する。ここで、再生プログラムは、端末装置2の制御装置21で実行され、サーバ装置1より受信した文字列ファイルを解釈し、解釈した結果に基づき静止画GIFファイルを生成し、生成したGIFファイルをフレームごとに描画することによってアニメーションGIFファイルを再生する機能を提供するプログラムである。
上述したように、再生プログラムを受信した端末装置2は、記憶装置22に再生プログラムを記憶し、制御装置21が記憶装置22に記憶された再生プログラムを読み込み、実行する。
【0015】
アニメーションGIFファイルを再生しようとした場合、シーケンスSQ2において、端末装置2は、ファイル送信要求をサーバ装置1に送信する。
シーケンスSQ3において、サーバ装置1は、端末装置2よりファイル送信要求を受信すると、アニメーションGIFファイルを後述する図8に示されるような文字列ファイルに変換する。なお、後述する図7、図10等で説明するように、アニメーションGIFファイルを変換した文字列ファイルには、アニメーションGIFファイルを構成する、GIFヘッダや、アニメーション定義セクション及び複数のイメージセクション(画像データ)が含まれる。
シーケンスSQ4において、サーバ装置1は、文字列ファイルを端末装置2に送信する。
サーバ装置1より文字列ファイルを受信すると、シーケンスSQ5において、端末装置2は、文字列ファイルの文字列を解釈する。
シーケンスSQ6において、端末装置2は、解釈した結果に基づき静止画GIFファイルを生成し、静止画GIFファイルをフレームごとに描画することによってアニメーションGIFファイルを再生する。
端末装置2が、文字列ファイルより画像データを取り出し、取り出した画像データから静止画GIFファイルを生成し、フレームごとに描画することによって、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションGIFファイルを再生することができる。
【0016】
以下、フローチャート等を用いながら各装置の処理をより詳細に説明する。
図5は、実施形態1の、サーバ装置1における再生プログラムの送信処理の一例を示すフローチャートである。なお、図5及び後述する図6の処理は、サーバ装置1における情報処理の一例である。
ステップS10において、サーバ装置1は、アニメーションGIFファイルを再生するための再生プログラムを通信先の端末装置2に送信する。
【0017】
図6は、サーバ装置1における文字列ファイルへの変換及び送信処理の一例を示すフローチャートである。
ステップS20において、サーバ装置1は、端末装置2よりファイル送信要求を受信したか否かを判定する。サーバ装置1は、端末装置2よりファイル送信要求を受信した場合は、処理をステップS21に進め、端末装置2よりファイル送信要求を受信していない場合は、ステップS20の処理を繰り返す。
ステップS21において、サーバ装置1は、要求で指定されているアニメーションGIFファイルを文字列ファイルに変換する。
図7は、アニメーションGIFファイルの概念図である。図7に示されるように、アニメーションGIFファイルは、画像の高さ、画像の幅、カラーパレット等の情報を含むGIFヘッダと、ループ数等の情報を含むアニメーション定義セクションと、複数のイメージセクション311、312・・・とを含む。一方、図8は、文字列ファイルの概念図である。サーバ装置1は、図7で示されるようなアニメーションGIFファイルを図8に示されるような文字列ファイルに変換する。
ステップS22において、サーバ装置1は、文字列ファイルを端末装置2に送信する。
【0018】
図9は、実施形態1の端末装置2におけるアニメーションGIFファイルの再生処理の一例を示すフローチャートである。上述したように、以下の処理は、サーバ装置1から送信された再生プログラムがインストールされた端末装置2における処理である。
アニメーションGIFファイルを再生しようとした場合、ステップS30において、端末装置2は、ファイル送信要求をサーバ装置1に送信する。
ステップS31において、端末装置2は、文字列ファイルをサーバ装置1より受信したか否かを判定する。端末装置2は、文字列ファイルをサーバ装置1より受信した場合、ステップS32に処理を進め、文字列ファイルをサーバ装置1より受信していない場合、ステップS31の処理を繰り返す。
ステップS32において、端末装置2は、受信した文字列ファイルを解釈し、文字列ファイルより画像(図7のイメージセクション31)を取り出し、順次、配列に格納する。ここで、配列とは、データの集合である。
図10は、文字列ファイルからイメージセクション31を抽出し、配列に格納する処理を説明するための概念図である。
端末装置2は、文字列ファイルの文字列をバイト単位で読み込み、アニメーションGIFファイルのイメージセクション31(画像データ)を指し示す情報(以下、位置情報という)を見つけると、位置情報に基づき文字列ファイルからイメージセクション31を抽出し、配列に格納する。位置情報とは、例えば、「これより後ろ何バイト〜何バイトがイメージセクション31である」というような、イメージセクション311が配置された位置を指し示す情報である。端末装置2は、位置情報に基づきイメージセクション31を抽出すると、また次の位置情報があるためその位置情報に基づき次のイメージセクション312を抽出する。このように、端末装置2は、文字列ファイルから順次、イメージセクション31を抽出し、配列等に格納する。
【0019】
ステップS33において、端末装置2は、配列に格納したイメージセクション31を取得し、イメージセクション31にGIFファイルのヘッダを付加することで静止画GIFファイルを生成する。
図11は、配列からイメージセクション31を取得し、静止画GIFファイルを生成する処理を説明するための概念図である。
端末装置2は、順次、生成した静止画GIFファイルをHTMLとして入力・表示装置24に描画する。GIFファイルは、画像ファイルの一例である。
より具体的に説明すると、端末装置2は、生成した静止画GIFファイルを、Base64エンコードを用いてデータURIの形式にして、データURIをHTMLのImageタグ(イメージタグ)のsourceパラメータとして設定することで画像をHTMLとして入力・表示装置24に表示する。
以上、本実施形態によれば、端末装置2は、バイナリデータで構成されているアニメーションGIFファイルを再生しようとした場合、ファイル送信要求をサーバ装置1に送信する。サーバ装置1は、端末装置2よりファイル送信要求を受信すると、アニメーションGIFファイルを文字列ファイルに変換し、文字列ファイルに変換した変換後の文字列ファイルを端末装置2に送信する。端末装置2は、サーバ装置1より文字列ファイルを受信すると、文字列ファイルの文字列ファイルを解釈し、解釈した結果に基づき静止画GIFファイルを生成し、GIFファイルをフレームごとに描画することによってアニメーションGIFファイルを再生する。
このように端末装置2が、文字列ファイルよりイメージセクション31等の画像を取り出し、取り出した画像から静止画GIFファイルを生成し、フレームごとに描画することによって、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションGIFファイルを再生することができる。
つまり、例えば、端末装置2のOSがAndroid(登録商標)2.1以前のOSで、OSの機能としてアニメーションGIFファイルを再生する機能を有していなくても、本実施形態の端末装置2によれば、変換された文字列ファイルより画像を取り出し、取り出した画像から静止画GIFファイルを生成し、フレームごとに描画することによって、アニメーションGIFファイルを再生することができる。また、データ量の大きいバイナリデータで構成されているアニメーションGIFファイルを扱うのではなく、文字列ファイルを扱うので、端末装置2の空きメモリが少ない場合でも、アニメーションGIFファイルを再生することができる。
【0020】
<実施形態2>
以下、実施形態2を説明する。
アニメーションGIFファイルの中には、全領域を更新するアニメーションGIFファイルと、変更に係る一部領域のみ更新するアニメーションGIFファイルと、がある。本実施形態では、アニメーションGIFファイルが全領域を更新するアニメーションGIFファイルか否かで処理を変更する一例を説明する。
なお、本実施形態では上述した実施形態と異なる点のみを説明し、同一の箇所の説明は省略する。
図12は、図9のステップS33の本実施形態における処理の一例を示すフローチャートである。
ステップS40において、端末装置2は、アニメーションGIFファイルが全領域を更新するアニメーションGIFファイルか、変更に係る一部領域のみ更新するアニメーションGIFファイルか、を判定する。文字列ファイルのアニメーションGIFファイルのヘッダに該当する箇所にはアニメーションGIFファイルが全領域を更新するアニメーションGIFファイルか、変更に係る一部領域のみ更新するアニメーションGIFファイルか、を示す種類情報がある。端末装置2は、この種類情報に基づいて、アニメーションGIFファイルが全領域を更新するアニメーションGIFファイルか、変更に係る一部領域のみ更新するアニメーションGIFファイルか、を判定する。端末装置2は、全領域を更新するアニメーションGIFファイルであると判定した場合、処理をステップS41に進め、更に係る一部領域のみ更新するアニメーションGIFファイルであると判定した場合、処理をステップS42に進める。
【0021】
ステップS41において、端末装置2は、上述した実施形態1と同様、配列からイメージセクション31を取得し、静止画GIFファイルを生成し、生成した静止画GIFファイルを、Base64エンコードを用いてデータURIの形式にして、データURIをHTMLのImageタグのsourceパラメータとして設定することで画像をHTMLとして入力・表示装置24に表示する。
一方、ステップS42において、端末装置2は、JavaScriptのCanvasの機能を利用して画像をHTMLとして入力・表示装置24に表示する。
より具体的に説明すると、端末装置2は、文字列ファイルを解釈した際に、文字列ファイルに含まれるGIFヘッダより画像の高さや幅の情報を取得し、この情報と配列より取得したイメージセクション31とを、Canvasに設定することによって、画像をHTMLとして入力・表示装置24に表示する。
以上、本実施形態によれば、端末装置2が、種類情報に基づいて、アニメーションGIFファイルが全領域を更新するアニメーションGIFファイルか、変更に係る一部領域のみ更新するアニメーションGIFファイルかを判定する。そして、端末装置2が、それぞれのアニメーションGIFファイルに応じた表示処理を行う。したがって、アニメーションGIFファイルが全領域を更新するアニメーションGIFファイルであっても、変更に係る一部領域のみ更新するアニメーションGIFファイルであっても、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションGIFファイルを再生することができる。
【0022】
<実施形態3>
以下、実施形態3を説明する。
端末装置2は、アニメーションGIFファイルを再生する場合、指定された記憶領域に置かれている文字列ファイルを読み取り、文字列ファイルを解釈し、解釈した結果に基づき複数の静止画GIFファイルを生成し、生成したGIFファイルを順次、再生するようにしてもよい。例えば、指定された記憶領域は、ネットワークを介して端末装置2が通信可能なサーバ装置等のHDD等の記憶領域である。例えば、サーバ装置1は、予めアニメーションGIFファイルを文字列ファイルに変換し、アニメーションGIFファイルと、アニメーションGIFファイルから生成された文字列ファイルと、を対応付けて記憶領域に記憶する。
なお、本実施形態では上述した実施形態と異なる点のみを説明し、同一の箇所の説明は省略する。
図13は、実施形態3の端末装置2におけるアニメーションGIFファイルの再生処理の一例を示すフローチャートである。上述したように、以下の処理は、再生プログラムがインストールされた端末装置2における処理である。
アニメーションGIFファイルを再生しようとした場合、ステップS50において、端末装置2は、アニメーションGIFファイルを指定して、記憶領域より当該アニメーションGIFファイルに対応する文字列ファイルを取得する。
ステップS51において、端末装置2は、取得した文字列ファイルを解釈し、文字列ファイルよりイメージセクション31を取り出し、配列に格納する。
ステップS52において、端末装置2は、配列に格納したイメージセクション31を取得し、イメージセクション31にGIFヘッダを付加することで複数の静止画GIFファイルを生成する。そして、端末装置2は、例えば、生成した静止画GIFファイルを、Base64エンコードを用いてデータURIの形式にして、データURIをHTMLのImageタグ(イメージタグ)のsourceパラメータとして設定することで画像をHTMLとして入力・表示装置24に表示する。
本実施形態の処理によれば、端末装置2は、文字列ファイルを記憶領域より取得し、取得した文字列ファイルを解釈し、解釈した結果に基づき複数の静止画GIFファイルを生成し、複数の静止画GIFファイルをフレームごとに描画することによってアニメーションGIFファイルを再生する。
このように端末装置2が、記憶領域に記憶されているアニメーションGIFファイルに対応する文字列ファイルを取得し、取得した文字列ファイルよりイメージセクション31を取り出し、取り出したイメージセクション31から静止画GIFファイルを生成し、フレームごとに描画することによって、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションGIFファイルを再生することができる。
【0023】
<実施形態4>
実施形態1では、サーバ装置1が、再生プログラムを全ての通信先の端末装置2に送信する例を説明した。しかしながら、サーバ装置1は、例えば、通信先の端末装置2のOSのバージョン情報等を取得し、アニメーションGIFファイルを再生可能か否か判定し、アニメーションGIFファイルを再生可能でないと判定した場合に、再生プログラムを端末装置2に送信するようにしてもよい。
以下、実施形態4を説明する。なお、本実施形態では実施形態1と異なる点のみを説明し、同一の箇所の説明は省略する。
図14は、実施形態4のアニメーション再生システムにおけるアニメーションGIFファイルの再生処理の概要を説明するためのシーケンス図である。
シーケンスSQ11において、サーバ装置1は、通信を行っている端末装置2のOSの情報を取得し、OSが所定のバージョンより古いか否かによって、端末装置2でアニメーションGIFファイルを再生できるか否かを判定する。 サーバ装置1は、通信を行っている端末装置2のOSが所定のバージョン以前のバージョン(例えば、Android2.1以前のバージョン)であればアニメーションGIFファイルを再生できないと判定し、所定のバージョン以降のバージョン(例えば、Android2.2以降のバージョン)であればアニメーションGIFファイルを再生できると判定する。
アニメーションGIFファイルを再生できないと判定した場合、シーケンスSQ12において、サーバ装置1は、通信を行っている端末装置2でアニメーションGIFファイルを再生するための再生プログラムを端末装置2に送信する。
以降、シーケンスSQ13〜シーケンスSQ17の処理は、実施形態1の図4のシーケンスSQ2〜シーケンスSQ6の処理と同様であるので説明を省略する。
図15は、実施形態4のサーバ装置1における再生プログラムの送信処理の一例を示すフローチャートである。
ステップS60において、サーバ装置1は、通信を行っている端末装置2のOSの情報を取得し、OSが所定のバージョンより古いか否かによって、端末装置2でアニメーションGIFファイルを再生できるか否かを判定する。サーバ装置1は、通信を行っている端末装置2のOSが所定のバージョン以前のバージョン(例えば、Android2.1以前のバージョン)であればアニメーションGIFファイルを再生できないと判定し、所定のバージョン以降のバージョン(例えば、Android2.2以降のバージョン)であればアニメーションGIFファイルを再生できると判定する。
サーバ装置1は、端末装置2でアニメーションGIFファイルを再生できると判定した場合は、図15に示す処理を終了し、端末装置2でアニメーションGIFファイルを再生できないと判定した場合は、処理をステップS61に進める。
ステップS61において、サーバ装置1は、アニメーションGIFファイルを再生するための再生プログラムを通信先の端末装置2に送信する。
以上、本実施形態によれば、サーバ装置1は、アニメーションGIFファイルを再生できないと判定し端末装置2に対して再生プログラムを送信する。そして、再生プログラムを送信された端末装置2は、端末装置2の制御装置21において再生プログラム等に基づき処理実行することによって、文字列ファイルよりイメージセクション31を取り出し、取り出したイメージセクション31から静止画GIFファイルを生成し、フレームごとに描画する。このような処理によって、端末装置2は、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションGIFファイルを再生することができる。
【0024】
以上、上述した各実施形態によれば、OSの種類やバージョンによらず、また、空きメモリが少ない場合等でもアニメーションGIFファイルを端末装置2において再生することができる。
また、上述した実施形態では、アニメーションファイルの一例としてGIFのアニメーションファイルを例に説明を行ったが、同様の方法により、Motion JPEGやAPNG(Animated Portable Network Graphics)等のアニメーションファイルであってもアニメーションファイルを再生することができる。
【0025】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
例えば、上述した実施形態では、サーバ装置1が、端末装置2に再生プログラムを送信していた。しかしながら、ユーザ操作等に基づいて端末装置2が、サーバ装置1等より再生プログラムをダウンロードし、インストールするようにしてもよい。また、上述した実施形態では、サーバ装置1が、アニメーションファイルから文字列ファイルを生成したが、端末装置2が、サーバ装置1から文字列ファイルではなくアニメーションファイルを受信し、受信したアニメーションファイルから文字列ファイルを生成してもよい。
なお、上述した各実施形態を任意に組み合わせて実施してもよい。
【符号の説明】
【0026】
1 サーバ装置
2 端末装置
【特許請求の範囲】
【請求項1】
サーバ装置と、端末装置と、がネットワークを介して通信可能に接続されたアニメーション再生システムであって、
前記サーバ装置は、
前記端末装置よりアニメーションファイルを指定する情報を含む要求を受信すると、前記アニメーションファイルを、文字列により構成される文字列ファイルに変換し、前記文字列ファイルを前記端末装置に送信し、
前記端末装置は、
アニメーションファイルを再生する場合、前記要求を前記サーバ装置に送信し、前記サーバ装置より前記文字列ファイルを受信すると、前記文字列ファイルを解釈し、解釈した結果に基づき複数の画像ファイルを生成し、前記複数の画像ファイルを再生するアニメーション再生システム。
【請求項2】
前記端末装置は、前記文字列ファイルを解釈し、前記文字列ファイルより複数の画像データを取得し、配列に格納し、前記文字列ファイルに含まれる全ての前記画像データを前記配列に格納すると、前記配列に格納した画像データを取得し、複数の前記画像データのそれぞれにヘッダを付加することで複数の静止画ファイルを前記複数の画像ファイルとして生成し、生成した前記複数の静止画ファイルを順次、描画することでアニメーションファイルを再生する請求項1記載のアニメーション再生システム。
【請求項3】
前記端末装置は、前記アニメーションファイルが全領域を更新するアニメーションファイルであった場合、生成した画像ファイルをURIに組み込み、HTMLのイメージタグのパラメータとして使用することで画像を表示し、前記アニメーションファイルが変更に係る一部領域のみ更新するアニメーションファイルであった場合、JavaScriptのCanvasの機能を利用して画像を表示する請求項2記載のアニメーション再生システム。
【請求項4】
端末装置とネットワークを介して通信可能なサーバ装置であって、
前記端末装置よりアニメーションファイルを指定する情報を含む要求を受信すると、前記アニメーションファイルを、文字列により構成される文字列ファイルに変換し、前記文字列ファイルを前記端末装置に送信するサーバ装置。
【請求項5】
サーバ装置とネットワークを介して通信可能な端末装置であって、
アニメーションファイルを再生する場合、前記アニメーションファイルから変換され、文字列により構成される文字列ファイルを取得すると、前記文字列ファイルを構成する文字列を解釈し、解釈した結果に基づき複数の画像ファイルを生成し、前記複数の画像ファイルを再生する端末装置。
【請求項6】
サーバ装置と、端末装置と、がネットワークを介して通信可能に接続されたアニメーション再生システムにおける再生方法であって、
前記端末装置が、アニメーションファイルを再生する場合、前記アニメーションファイルを指定する情報を含む要求を前記サーバ装置に送信するステップと、
前記サーバ装置が、前記要求を前記端末装置より受信するステップと、
前記要求で指定されているアニメーションファイルを文字列により構成される文字列ファイルに変換するステップと、
前記端末装置が、前記文字列ファイルを解釈するステップと、
前記端末装置が、解釈した結果に基づき複数の画像ファイルを生成し、生成した前記複数の画像ファイルを再生するステップと、
を含む再生方法。
【請求項7】
端末装置とネットワークを介して通信可能なサーバ装置が実行する情報処理方法であって、
前記端末装置よりアニメーションファイルを指定する情報を含む要求を受信するステップと、
前記アニメーションファイルを文字列により構成される文字列ファイルに変換するステップと、
前記文字列ファイルを前記端末装置に送信するステップと、
を含む情報処理方法。
【請求項8】
サーバ装置とネットワークを介して通信可能な端末装置が実行する再生方法であって、
アニメーションファイルを再生する場合、前記アニメーションファイルを指定する情報を含む要求を前記サーバ装置に送信するステップと、
前記アニメーションファイルから変換され、文字列によって構成される文字列ファイルを取得するステップと、
前記文字列ファイルを解釈するステップと、
前記解釈した結果に基づき複数の画像ファイルを生成し、生成した前記複数の画像ファイルを再生するステップと、
を含む再生方法。
【請求項9】
端末装置とネットワークを介して通信可能なコンピュータに、
前記端末装置よりアニメーションファイルを指定する情報を含む要求を受信するステップと、
前記アニメーションファイルを、文字列により構成される文字列ファイルに変換するステップと、
前記文字列ファイルを前記端末装置に送信するステップと、
を実行させるためのプログラム。
【請求項10】
サーバ装置とネットワークを介して通信可能なコンピュータに、
アニメーションファイルを再生する場合、前記アニメーションファイルを指定する情報を含む要求を前記サーバ装置に送信するステップと、
前記アニメーションファイルから変換され、文字列によって構成される文字列ファイルを取得するステップと、
前記文字列ファイルを解釈するステップと、
前記解釈した結果に基づき複数の画像ファイルを生成し、生成した前記複数の画像ファイルを再生するステップと、
を実行させるためのプログラム。
【請求項1】
サーバ装置と、端末装置と、がネットワークを介して通信可能に接続されたアニメーション再生システムであって、
前記サーバ装置は、
前記端末装置よりアニメーションファイルを指定する情報を含む要求を受信すると、前記アニメーションファイルを、文字列により構成される文字列ファイルに変換し、前記文字列ファイルを前記端末装置に送信し、
前記端末装置は、
アニメーションファイルを再生する場合、前記要求を前記サーバ装置に送信し、前記サーバ装置より前記文字列ファイルを受信すると、前記文字列ファイルを解釈し、解釈した結果に基づき複数の画像ファイルを生成し、前記複数の画像ファイルを再生するアニメーション再生システム。
【請求項2】
前記端末装置は、前記文字列ファイルを解釈し、前記文字列ファイルより複数の画像データを取得し、配列に格納し、前記文字列ファイルに含まれる全ての前記画像データを前記配列に格納すると、前記配列に格納した画像データを取得し、複数の前記画像データのそれぞれにヘッダを付加することで複数の静止画ファイルを前記複数の画像ファイルとして生成し、生成した前記複数の静止画ファイルを順次、描画することでアニメーションファイルを再生する請求項1記載のアニメーション再生システム。
【請求項3】
前記端末装置は、前記アニメーションファイルが全領域を更新するアニメーションファイルであった場合、生成した画像ファイルをURIに組み込み、HTMLのイメージタグのパラメータとして使用することで画像を表示し、前記アニメーションファイルが変更に係る一部領域のみ更新するアニメーションファイルであった場合、JavaScriptのCanvasの機能を利用して画像を表示する請求項2記載のアニメーション再生システム。
【請求項4】
端末装置とネットワークを介して通信可能なサーバ装置であって、
前記端末装置よりアニメーションファイルを指定する情報を含む要求を受信すると、前記アニメーションファイルを、文字列により構成される文字列ファイルに変換し、前記文字列ファイルを前記端末装置に送信するサーバ装置。
【請求項5】
サーバ装置とネットワークを介して通信可能な端末装置であって、
アニメーションファイルを再生する場合、前記アニメーションファイルから変換され、文字列により構成される文字列ファイルを取得すると、前記文字列ファイルを構成する文字列を解釈し、解釈した結果に基づき複数の画像ファイルを生成し、前記複数の画像ファイルを再生する端末装置。
【請求項6】
サーバ装置と、端末装置と、がネットワークを介して通信可能に接続されたアニメーション再生システムにおける再生方法であって、
前記端末装置が、アニメーションファイルを再生する場合、前記アニメーションファイルを指定する情報を含む要求を前記サーバ装置に送信するステップと、
前記サーバ装置が、前記要求を前記端末装置より受信するステップと、
前記要求で指定されているアニメーションファイルを文字列により構成される文字列ファイルに変換するステップと、
前記端末装置が、前記文字列ファイルを解釈するステップと、
前記端末装置が、解釈した結果に基づき複数の画像ファイルを生成し、生成した前記複数の画像ファイルを再生するステップと、
を含む再生方法。
【請求項7】
端末装置とネットワークを介して通信可能なサーバ装置が実行する情報処理方法であって、
前記端末装置よりアニメーションファイルを指定する情報を含む要求を受信するステップと、
前記アニメーションファイルを文字列により構成される文字列ファイルに変換するステップと、
前記文字列ファイルを前記端末装置に送信するステップと、
を含む情報処理方法。
【請求項8】
サーバ装置とネットワークを介して通信可能な端末装置が実行する再生方法であって、
アニメーションファイルを再生する場合、前記アニメーションファイルを指定する情報を含む要求を前記サーバ装置に送信するステップと、
前記アニメーションファイルから変換され、文字列によって構成される文字列ファイルを取得するステップと、
前記文字列ファイルを解釈するステップと、
前記解釈した結果に基づき複数の画像ファイルを生成し、生成した前記複数の画像ファイルを再生するステップと、
を含む再生方法。
【請求項9】
端末装置とネットワークを介して通信可能なコンピュータに、
前記端末装置よりアニメーションファイルを指定する情報を含む要求を受信するステップと、
前記アニメーションファイルを、文字列により構成される文字列ファイルに変換するステップと、
前記文字列ファイルを前記端末装置に送信するステップと、
を実行させるためのプログラム。
【請求項10】
サーバ装置とネットワークを介して通信可能なコンピュータに、
アニメーションファイルを再生する場合、前記アニメーションファイルを指定する情報を含む要求を前記サーバ装置に送信するステップと、
前記アニメーションファイルから変換され、文字列によって構成される文字列ファイルを取得するステップと、
前記文字列ファイルを解釈するステップと、
前記解釈した結果に基づき複数の画像ファイルを生成し、生成した前記複数の画像ファイルを再生するステップと、
を実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2013−37447(P2013−37447A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−171302(P2011−171302)
【出願日】平成23年8月4日(2011.8.4)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2011年2月7日 ホームページアドレス「http://labs.gree.jp/blog/2011/02/2800/」を通じて発表
【出願人】(504437801)グリー株式会社 (5)
【Fターム(参考)】
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願日】平成23年8月4日(2011.8.4)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2011年2月7日 ホームページアドレス「http://labs.gree.jp/blog/2011/02/2800/」を通じて発表
【出願人】(504437801)グリー株式会社 (5)
【Fターム(参考)】
[ Back to top ]