JPWO2014024255A1 - 端末および動画再生プログラム - Google Patents

端末および動画再生プログラム Download PDF

Info

Publication number
JPWO2014024255A1
JPWO2014024255A1 JP2014529180A JP2014529180A JPWO2014024255A1 JP WO2014024255 A1 JPWO2014024255 A1 JP WO2014024255A1 JP 2014529180 A JP2014529180 A JP 2014529180A JP 2014529180 A JP2014529180 A JP 2014529180A JP WO2014024255 A1 JPWO2014024255 A1 JP WO2014024255A1
Authority
JP
Japan
Prior art keywords
flash
data
html
specifying
moving image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014529180A
Other languages
English (en)
Inventor
雄一 京保
雄一 京保
ボリス ダニエッツ
ボリス ダニエッツ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Real Samurai
Original Assignee
Real Samurai
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Real Samurai filed Critical Real Samurai
Publication of JPWO2014024255A1 publication Critical patent/JPWO2014024255A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

ダウンロードされるSWFデータの動画を表示するまでにかかる時間を短縮させる。HTMLデータに対応したWebブラウザを有する動画再生可能な端末100が提供される。端末は、Flash構造体の複数の種類それぞれに関するFlash構造体からHTML構造体への複数の変換ルールを記憶するメモリ120と、ディスプレイ131と、複数の動画フレームデータを含む動画用のSWFデータをダウンロードするための通信インターフェイス140と、前記SWFデータのダウンロード中に、受信が完了した動画フレームデータのFlash構造体をHTML構造体に変換し、前記Webブラウザを利用することによって当該HTML構造体に基づいて前記ディスプレイに動画を表示させるためのプロセッサ110とを備える。

Description

本発明は、SWFデータをダウンロードして動画を表示するための技術に関する。
従来から、インターネットなどを介してSWFデータをダウンロードし、当該SWFデータに基づいてディスプレイに動画を表示する端末が知られている。たとえば、特開2006−344134号公報(特許文献1)には、通信端末用画像作成方法及び装置並びにサービスが開示されている。具体的には、特許文献1には、情報記録手段と、情報演算手段、情報入出力手段、情報表示手段、情報通信手段とを有し、SWFデータを再生表示可能なユーザ用の通信端末と、ネットワークを介してそのユーザ用通信端末と接続され情報の授受を行なうネットワーク上の端末と、それら各端末の間での通信を可能にするネットワークとを少なくとも備えたシステムにおいて、ユーザ用通信端末で、その情報表示手段に表示する画像を作成するに当たり、その画像の構成要素となる単数或いは複数のSWFデータをプログラムコードに変換し、それを背景となる画像ファイルに結合し、次いで、それを1つのSWFデータとして生成することが記載されている。
特開2006−344134号公報
しかしながら、SWFデータをダウンロードするために長い時間がかかるため、ユーザは動画が表示されるまでに長い時間待たなければならない。また、端末の中には、SWFデータを直接的に実行および表示するためのソフトウェアが搭載されていないことがある。本発明は、かかる問題を解決するためになされたものであり、その目的は、ダウンロードされるSWFデータの動画を表示するまでにかかる時間を短縮させることにある。
この発明のある局面に従うと、HTMLデータに対応したWebブラウザを有する動画再生可能な端末が提供される。端末は、Flash構造体の複数の種類それぞれに関するFlash構造体からHTML構造体への複数の変換ルールを記憶するメモリと、ディスプレイと、複数の動画フレームデータを含む動画用のSWFデータをダウンロードするための通信インターフェイスと、SWFデータのダウンロード中に、受信が完了した動画フレームデータのFlash構造体をHTML構造体に変換し、Webブラウザを利用することによって当該HTML構造体に基づいてディスプレイに動画を表示させるためのプロセッサとを備える。
好ましくは、プロセッサは、受信が完了した動画フレームデータをメモリ上に展開し、動画フレームデータに含まれるタグ構造を解析することによってFlash構造体を特定し、複数の変換ルールに従ってFlash構造体をHTML構造体に変換し、変換されたHTML構造体を解釈および実行するためのWebブラウザ用のエンジンプログラムを生成し、Webブラウザ上でエンジンプログラムを実行することによってHTML構造体に基づいてディスプレイに動画を表示させる。
好ましくは、複数の変換ルールは、オブジェクトの形状を特定するためのFlash構造体から当該オブジェクトの形状を特定するためのHTML構造体へ変換するためのシェイプ変換ルールを含む。プロセッサは、複数のFlash構造体のうちのオブジェクトの形状を特定するためのFlash構造体を、シェイプ変換ルールに従ってHTML構造体に変換する。
好ましくは、複数の変換ルールは、フォントおよびテキストを特定するためのFlash構造体から当該フォントおよび当該テキストを特定するためのHTML構造体へ変換するためのフォントテキスト変換ルールを含む。プロセッサは、複数のFlash構造体のうちのフォントおよびテキストを特定するためのFlash構造体を、フォントテキスト変換ルールに従ってHTML構造体に変換する。
好ましくは、複数の変換ルールは、カラーを特定するためのFlash用のアルファチャンネルを有した色変換構造体から当該カラーを特定するためのHTML構造体へ変換するためのカラー変換ルールを含む。プロセッサは、複数のFlash構造体のうちの、カラーを特定するためのFlash用の色変換構造体を、カラー変換ルールに従ってHTML構造体に変換する。
この発明の別の局面に従うと、HTMLデータに対応したWebブラウザを有し、Flash構造体の複数の種類それぞれに関するFlash構造体からHTML構造体への複数の変換ルールを記憶した端末のプロセッサに、通信インターフェイスを介して、複数の動画フレームデータを含む動画用のSWFデータをダウンロードするステップと、SWFデータのダウンロード中に、受信が完了した動画フレームデータのFlash構造体をHTML構造体に変換するステップと、SWFデータのダウンロード中に、Webブラウザを利用することによって当該HTML構造体に基づいてディスプレイに動画を表示させるステップと、を実行させる動画再生プログラムが提供される。
好ましくは、Flash構造体をHTML構造体に変換するステップは、受信が完了した動画フレームデータをメモリ上に展開するステップと、動画フレームデータに含まれるタグ構造を解析することによってFlash構造体を特定し、複数の変換ルールに従ってFlash構造体をHTML構造体に変換するステップと、変換されたHTML構造体を解釈および実行するためのWebブラウザ用のエンジンプログラムを生成するステップとを含む。ディスプレイに動画を表示させるステップは、Webブラウザ上でエンジンプログラムを実行することによってHTML構造体に基づいてディスプレイに動画を表示させるステップを含む。
好ましくは、複数の変換ルールは、オブジェクトの形状を特定するためのFlash構造体から当該オブジェクトの形状を特定するためのHTML構造体へ変換するためのシェイプ変換ルールを含む。Flash構造体をHTML構造体に変換するステップは、複数のFlash構造体のうちのオブジェクトの形状を特定するためのFlash構造体を、シェイプ変換ルールに従ってHTML構造体に変換するステップを含む。
好ましくは、複数の変換ルールは、フォントおよびテキストを特定するためのFlash構造体から当該フォントおよび当該テキストを特定するためのHTML構造体へ変換するためのフォントテキスト変換ルールを含む。Flash構造体をHTML構造体に変換するステップは、複数のFlash構造体のうちのフォントおよびテキストを特定するためのFlash構造体を、フォントテキスト変換ルールに従ってHTML構造体に変換するステップを含む。
好ましくは、複数の変換ルールは、カラーを特定するためのFlash用のアルファチャンネルを有した色変換構造体から当該カラーを特定するためのHTML構造体へ変換するためのカラー変換ルールを含む。Flash構造体をHTML構造体に変換するステップは、複数のFlash構造体のうちの、カラーを特定するためのFlash用の色変換構造体を、カラー変換ルールに従ってHTML構造体に変換する。
以上のように、本発明によって、ダウンロードされるSWFデータの動画を表示するまでにかかる時間を短縮させることが可能になる。
本実施の形態にかかる動画配信システム1を示すイメージ図である。 本実施の形態に係るスマートフォン100のハードウェア構成を表わすブロック図である。 本実施の形態にかかるSWFデータ310のデータ構成を示すイメージ図である。 本実施の形態にかかるSWFデータ310のダウンロードおよび動画の表示に関する動作概要を示すシーケンス図である。 本実施の形態にかかるスマートフォン100のCPU110の詳細な動作を示すイメージ図である。 本実施の形態にかかるSWFデータからHTMLデータへの変換処理を示すイメージ図である。 本実施の形態にかかる作成されたエンジンプログラムの動作を示すイメージ図である。
100 スマートフォン
110 CPU
120 メモリ
121 動画再生プログラム
122 変換ルール
130 タッチパネル
131 ディスプレイ
132 ポインティングデバイス
140 通信インターフェイス
150 ボタン
160 スピーカ
170 マイク
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
以下では、スマートフォン100を「端末」の代表例として説明を行う。ただし、「端末」は、その他の携帯電話、電子手帳、電子ブック、パーソナルコンピュータなどのような、通信インターフェイスとディスプレイとを有する他の情報端末によっても実現可能である。
<動画配信システム>
まず、本実施の形態にかかる動画配信システム1について説明する。図1は、本実施の形態にかかる動画配信システム1を示すイメージ図である。
図1を参照して、動画配信システム1は、スマートフォン100とサーバ300とを含む。動画配信システム1は、パーソナルコンピュータ200などの他の端末を含んでもよい。スマートフォン100およびパーソナルコンピュータ200は、インターネットなどのネットワークを介してサーバ300からSWF形式の動画データ(以下、SWFデータ)を受信する。
本実施の形態にかかるスマートフォン100およびパーソナルコンピュータ200は、SWFデータをダウンロードしている最中に(SWFデータのダウンロードが完了する前に)、ダウンロードが完了したシーンまたはフレームのSWFデータから順にHTMLデータへと変換する。そして、スマートフォン100およびパーソナルコンピュータ200は、SWFデータをダウンロードしている最中に(SWFデータのダウンロードが完了する前に)、変換後のHTMLデータに基づいて動画を表示する。
これによって、スマートフォン100は、SWFデータをダウンロードしている最中に(SWFデータのダウンロードが完了する前に)、動画を表示し始めることが可能になる。すなわち、ユーザは、SWFデータのダウンロードの完了を待たずに、動画を閲覧することが可能になるため、動画の表示が開始されるまでに待つ時間を短縮することができる。
<スマートフォン100のハードウェア構成>
次に、スマートフォン100のハードウェア構成について説明する。なお、パーソナルコンピュータ200のハードウェア構成も、スマートフォン100のそれと同様であるため、ここでは説明を繰り返さない。図2は、本実施の形態に係るスマートフォン100のハードウェア構成を表わすブロック図である。
図2を参照して、スマートフォン100は、主たる構成要素として、CPU(Central Processing Unit)110と、メモリ120と、タッチパネル130と、通信インターフェイス140と、ボタン150と、スピーカ160と、マイク170とを含む。
メモリ120は、各種のRAM(Random Access Memory)や、ROM(Read-Only Memory)や、ハードディスクなどによって実現される。メモリ120は、CPU110によって実行される制御プログラム(動画再生プログラム121)やWEBブラウザプログラムを記憶する。メモリ120は、動画像または静止画像を表示するためのSWFデータ(変換前のデータ)、HTMLデータ(変換後のデータ)、SWFデータに含まれるFlash構造体をHTML構造体(CANVASデータ)へと変換するための変換ルール122などを記憶する。なお、動画再生プログラム121が変換ルール122を含んでもよい。たとえば、変換ルール11は、ベクターシェイプフォーマットとJavaScript(登録商標)コードとの対応関係を示す情報を含んでいる。
タッチパネル130は、ディスプレイ131とポインティングデバイス132とを含む。タッチパネル130は、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式などのいずれのタイプであってもよい。タッチパネル130は、光センサ液晶を含んでもよい。
タッチパネル130は、CPU110からの命令(信号)に基づいて、文字や画像を表示する。CPU110は、各種のデータに基づいて、タッチパネル130に文字や画像を表示させる。たとえば、CPU110は、制御プログラムに基づいてタッチパネル130に各種のソフトウェアボタンを表示させたり、Webプラウザプログラム、HTMLデータ、JavaScript(登録商標)コードなどに基づいて、動画像または静止画像を表示させたりする。
タッチパネル130は、所定時間毎に外部の物体によるタッチパネル130へのタッチ操作を検知して、タッチ座標(接触座標)をCPU110に入力する。換言すれば、CPU110は、タッチパネル130から順次タッチ座標を取得する。CPU110は、タッチ座標に基づいて、ユーザからの命令の入力を受け付ける。
通信インターフェイス140は、アンテナやコネクタによって実現される。通信インターフェイス140は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。換言すれば、CPU110は、通信インターフェイス140を介して、他の装置からプログラムやSWFデータやなどを受信したり、他の装置に画像データやテキストデータを送信したりする。
ボタン150は、スマートフォン100の表面に配置される。スマートフォン100には、電源キー、ホームキー、文字キー、テンキー、十字キー、決定キーなどの複数のボタンが配置されても良い。ボタン150は、ユーザから命令を受け付ける。ボタン150は、ユーザからの命令をCPU110に入力する。
スピーカ160は、CPU110からの信号に基づいて、音声を出力する。すなわち、CPU110は、受信した音声データまたは変換された音声データに基づいて、スピーカ160に音声を出力させる。
マイク170は、音声を受け付けて、音声信号をCPU110に入力する。CPU110は、マイク170から音声信号に基づいて、通信インターフェイス140などを介して、他の電話などに音声信号を送信する。
CPU110は、メモリ120に記憶されている制御プログラムを実行することによって、スマートフォン100の各部を制御する。たとえば、CPU110は、メモリ120に記憶されている動画再生プログラム121を実行することによって、以下に記載の各種の処理を実行する。スマートフォン100は、SWF動画ファイルを表示することができないものであっても、本実施の形態にかかる動画再生プログラムをインストールしておけば、後述するように、HTMLデータを解釈することができるWebブラウザを利用することによってダウンロードしたSWFデータ310に基づいて動画を再生することができる。
<SWFデータの構成>
ここで、スマートフォン100がサーバ300からダウンロードするSWFデータ310のデータ構成について説明する。図3は、本実施の形態にかかるSWFデータのデータ構成を示すイメージ図である。
図3を参照して、サーバ300は、スマートフォン100にSWFデータ310を送信する。SWFデータ310は、チャンクデータ311,312,・・・を含む。なお、チャンクデータの各々は、1つのフレームに対応するSWF形式のデータを含んでもよいし、複数のフレームまたはシーンに対応するSWF形式のデータを含んでもよい。本実施の形態においては、SWFデータ310は、最初のフレームを表示するためのチャンクデータ311と、2番目のフレームを表示するためのチャンクデータ312などを含む。
また、各チャンクデータは、直前のチャンクとの差異を示すデータのみを含んでもよい。すなわち、表示されているキャラクターの口のみが動く場合には、チャンクデータは口の周辺の画像を表示するためのSWFデータのみを含む。
ただし、チャンクデータは、直前のチャンクとの差異を示すデータだけでなく、対象となるチャンクを示す全てのデータを含んでもよい。すなわち、表示されているキャラクターの口のみが動く場合であっても、チャンクデータはキャラクターの全体を表示するためのデータを含んでもよい。
そして、本実施の形態にかかるSWFデータ310は、後続するチャンクデータ311,312,・・・の切れ目をスマートフォン100のCPU110が認識できるようにするための情報を含む。たとえば、SWFデータ310のヘッダ部に、後続するチャンクデータ311,312,・・・の切れ目の位置を示す情報が含まれている。あるいは、各チャンクデータの最後尾に、チャンクの切れ目を示すフラグが埋め込まれている。
<SWFデータ310のダウンロードおよび動画の表示>
次に、SWFデータ310のダウンロードおよび動画の表示に関する動作概要について説明する。図4は、本実施の形態にかかるSWFデータ310のダウンロードおよび動画の表示に関する動作概要を示すシーケンス図である。
図4を参照して、スマートフォン100は、最初のチャンクデータから順に、サーバ300からSWFデータ310をダウンロードする。スマートフォン100は、最初のチャンクデータ311がダウンロードし終わると(SWFデータ310のダウンロード中に)、最初のチャンクデータ311に含まれる複数のFlash構造体をHTML構造体へと変換する。そして、スマートフォン100は、Webブラウザを利用することによって、変換されたHTML構造体に基づいて画像を表示させる。
以下、スマートフォン100のCPU110の動作についてより詳細に説明する。図5は、本実施の形態にかかるスマートフォン100のCPU110の詳細な動作を示すイメージ図である。
図5を参照して、だとえば、CPU110は、通信インターフェイス140を介して、最初のチャンクデータ311から順に、サーバ300からSWFデータ310をダウンロードする。
CPU110は、最初のチャンクデータ311がダウンロードし終わると(SWFデータ310のダウンロード中に)、通信インターフェイス140を介して2番目のチャンクデータ312をダウンロードしながら、メモリ120の変換ルール121を参照して、最初のチャンクデータ311に含まれるFlash構造体をHTML構造体へと変換する。
CPU110は、通信インターフェイス140を介して2番目または3番目のチャンクデータ311,312をダウンロードしながら、Webブラウザを利用することによって変換後のHTML構造体に基づいてディスプレイ131に画像を表示する。
同様に、CPU110は、2番目のチャンクデー312タがダウンロードし終わると(SWFデータ310のダウンロード中に)、通信インターフェイス140を介して3番目または4番目のチャンクデータ313,314をダウンロードしながら、メモリ120の変換ルール121を参照して、2番目のチャンクデータ312に含まれるFlash構造体をHTML構造体へと変換する。
CPU110は、通信インターフェイス140を介して3番目または4番目のチャンクデータ313,314をダウンロードしながら、Webブラウザを利用することによって変換後のHTML構造体に基づいてディスプレイ131に画像を表示する。
なお、CPU110は、通信インターフェイス140を介して、イベントを表示するためにダウンロードされたデータと、各種の処理を実行するための(他のサブシステムのための)データとを、順次ダウンロードする。
このようにして、本実施の形態にかかるCPU110は、SWFデータ310をダウンロードしている間に、すでにダウンロードしたチャンクデータに含まれるFlash構造体をHTML構造体に変換し、変換後のHTML構造体に基づいて通常のWebブラウザを利用することによって動画を表示させる。
換言すれば、本実施の形態にかかるダイナミックデータローディングによって、スマートフォン100はいくつかの利点を有する。第一に、動画の表示をより速く開始することが可能になる。これによって、ユーザの利便性が向上する。また、CPU110は、オブジェクト間の依存性を認識することが容易になるため、オブジェクトの生成をより最適なものとすることができる。CPU110は、フレームまたはオブジェクトを圧縮したデータ形式でメモリ120に格納することが可能であるため、他のフレームにおいて当該データを利用することができる。また、当該ダウンロードおよび動画の表示のために必要なメモリ120の容量も低減することが可能になる。すなわち、スマートフォン100は、すぐに表示されない(後でダウンロードされる予定の)チャンクデータに含まれるフレームデータまたはオブジェクトデータなどのためのメモリ120の容量を低減することができる。
<SWFデータからHTMLデータへの変換処理>
次に、本実施の形態にかかるSWFデータからHTMLデータへの変換処理について説明する。図6は、本実施の形態にかかるSWFデータからHTMLデータへの変換処理を示すイメージ図である。
図6を参照して、CPU110は、1つのチャンクデータをダウンロードすると(ステップS302)、ダウンロードされたチャンクデータを解析する(ステップS304)。CPU110は、メモリ120にチャンクデータを展開する(ステップS306)。
CPU110は、チャンクデータに含まれる複数のFlash構造体のタグ構造を解析し、各々のFlash構造体をHTML5構造体へと変換する。具体的には、CPU110は、SWFデータに埋め込まれたグラフィック要素をデコードし、変換ルール122に基づいてHTMLデータに変換する。CPU110は、デコード可能な他の要素(音声など)もデコードする。CPU110は、メインタイムライン情報とムービークリップタイムライン情報とをデコードし、それらの情報を含む様々なJavaScript(登録商標)配列構造体を生成する。CPU110は、同一の基本的な最適化/圧縮として、オリジナルのActionScriptコードを利用し、オブジェクト毎にActionScriptデータを作成する。可能な場合、CPU110は、ActionScriptを、それに等価なJavaScript(登録商標)のコードへと直接的に変換する。
なお、本実施の形態においては、CPU110は、オブジェクトの描画には、HTML5のcanvas要素を使用する。すなわち、CPU110は、画像を示すFlash構造体をHTML5のcanvasデータへと変換する。各オブジェクトには、SWFデータからデコードしたデータからその場で生成されたJavaScript(登録商標)関数が内蔵される。
CPU110は、変換後のHTMLデータに基づいて画像を表示するために利用するエンジンプログラムを作成する(ステップS310)。
<具体的な変換例>
以下では、基本的なFlash構造体をそれと等価なHTML5構造体へと変換するための変換ルール122について説明する。たとえば、MATRIX構造体は、canvas.setColor()メソッドへと変換される。FILLSTYLE構造体は、canvas.transform()メソッドへと変換される。FILLSTYLE構造体(単色塗り)は、rgb色構造体のパラメータに変換される。FILLSTYLE構造体(円形グラデーション)は、createRadialGradient()メソッドのパラメータへと変換される。FILLSTYLR構造体(線形グラデーション)は、createLinearGradient()メソッドのパラメータへと変換される。FILLSTYLE構造体(繰り返しビットマップ塗り/クリッピングビットマップ塗り)に関しては、画像は応用マトリックス変換を介して描画される。LINESTYLE構造体は、canvas.StrokeStyleプロパティに変換される。エッジレコード−STRAITEDGERECORD構造体は、canvas.moveTo()メソッドおよびcanvas.lineTO()メソッドに変換される。CURVEDEDGERECORD構造体は、canvas.quadraticCurveTo()メソッドに変換される。JPEG画像およびロスレス画像は、base64でエンコードした画像へと変換される。
<HTMLデータの表示処理>
次に、本実施の形態にかかるHTMLデータの表示処理について説明する。図7は、本実施の形態にかかる作成されたエンジンプログラムの動作を示すイメージ図である。
図6および図7を参照して、CPU110は、Webブラウザ上でエンジンプログラムを利用することによって、ディスプレイ131に画像を表示する。具体的には、エンジンプログラムを実行するCPU110は、デコードされたSWFデータと、生成されたオブジェクトおよびScriptと、コンフィグレーションとを取得する。CPU110は、タッチパネル130、ボタン150、図示しないマウス、図示しないキーボード、その他の入力インターフェイスを介して、ユーザからの命令を受け付ける。
CPU110は、Webブラウザとエンジンプログラムとに基づいて、表示されるオブジェクトの位置を更新したり(ステップS312)、ActrionScriptを実行したり(ステップS314)、ユーザからの命令を受け付けたり(ステップS316)、ディスプレイ131にオブジェクトを表示したり(ステップS318)する。
換言すれば、CPU110は、エンジンプログラムを実行することによって、データ構造体を入力として受け取り処理する。データ構造体は、メモリ120内またはサーバ300からダウンロードしたファイル内にあっても構わない。また、コンフィギュレーションファイルを使用して、エンジンプログラムの実行形態を変更することが可能である。フラッシュファイル内のグラフィック構造体のほとんどはベクターオブジェクトであるため、品質損失なくサイズ変更が可能である。そのため、CPU110は、さらに詳細/高質な表示を要求に対応することが可能である。
CPU110は、エンジンプログラムに基づいて、フラッシュファイルを直接的に実行しているかのように、イベントの実行をエミュレートする。すなわち、CPU110は、エンジンプログラムに基づいて、Webブラウザを介したマウスイベントおよびキーボードイベントを処理し、当該イベントに関連付けられたアクションを実行する。フラッシュファイルのファイルヘッダ部には固定フレームレートが定義されている。
CPU110は、エンジンプログラムに基づいて、各フレームに対して、下記の手順を実行する必要がある。
1.CPU110は、各オブジェクト/ムービークリップの位置を更新する。
2.CPU110は、メインタイムラインにおける現在のフレーム及び各ムービークリップに対してActionScriptを実行する。
3.CPU110は、ユーザーインプットおよびインタラクションイベントを処理し、可能であればインタラクションActionScriptを実行する。CPU110は、オブジェクトをディスプレイ131に描画する。
<まとめ>
ダイナミックローディングのアイデアとは、あるタスクに必要なデータを論理的かつ適時に分割されたパーツの状態で用意することにある。タスクがゲームプレイや動画再生のようなもので、データファイル全体のサイズが大きい場合、データの「ストリーミング」を実行し、データが利用可能なときにタスクをアップデートすることができる。従って、サーバ300は、チャンク(大きな塊)単位にカットして分割できるように、データを構築する必要がある。
例えば、ゲームのデータの場合は、以下のような処理が行われる。CPU110は、ユーザの操作に基づいてゲームを開始するときに、サーバ300からゲーム用のデータファイル(SWFデータ310)のダウンロードを開始します。最初の論理チャンク用のデータ(最初のチャンクデータ311)の受信が完了すると、ゲームを開始する。CPU110は、バックグラウンドでデータのダウンロードタスクを継続する。
ダウンロードタスクは専用タスクであり、スマートフォン100は、ダウンロードされたデータをバッファに入れておく。従ってチャンク全体がある所定の方法で特定されるまでは、システムの他のタスクが当該チャンクを利用することはできない。データチャンクが特定されてダウンロードされると、システムの他のタスクに渡される。これによって、必要であれば他のタスクは当該データチャンクを利用することが可能になる。次のチャンクがダウンロードされない場合、CPU110は当該状態をブロックするか検出して、ディスプレイ131にプログレスバーでローディング状況を示すなどして、動作を修正することができる。
ここで、重要なのは、ファイルコンテクストを作成すること、あるいは論理チャンクに分割できるような方法でファイルエレメントを再整理することである。CPU110は、エレメント間の依存性グラフ(dependency graph)を作成することが可能であるため、1つのチャンクをそのチャンクの外にあるエレメントが無くても作成することができる。そして、CPU110は、チャンクエレメントの正しさを検証するための検証ステージを実行することも可能である。すべてのチャンクには、同じチャンクで宣言されている他のエレメントに依存するエレメントや、それ以前に既に処理されたチャンクの中で宣言されているエレメントだけが含まれていることが好ましい。
最初のステージでは、コンテンツの作成が行われる。コンテンツは、ローディングプロセスを考慮して作成される必要がある。ローディングプロセスでは、スマートフォン100が、必要なオブジェクトとデータのすべてをチャンク単位で獲得することが期待される。人間によって作成されたコンテンツは、データをチャンクに分割する過程を人間に委ねることができるが、データをチャンクに分割する過程をサーバ300における自動化プロセスに委ねることが好ましい。なお、依存性グラフは、すべての論理パーツに対して作成することができる。
サーバ300は、複数の論理パーツを集めることによって、1つのチャンクを作成する。なお、前のチャンクに収められたデータは、新しいチャンクの中には含まれていないことが好ましい。また、すべてのデータチャンクは、1つのファイルにまとめられていることが好ましい。
上記の方法で、現時点のゲーム論理パーツを実行するために必要なすべてのデータがSWFデータ310に保持される。サーバ300は、スマートフォン100からの明示的な要求によって、チャンクデータをダウンロードする。あるいは、ダウンロードは、ロードされていないチャンクに対する最初の要求で実行することもできる。こうしたケースに対応するために、ローディングプロセスを示唆するデータとイベントとを持つ、空のローダーオブジェクトを作成することが好ましい。従って、scriptは、こうしたプロパティとイベントの知識を使って動作する必要がある。
そして、スマートフォン100は、チャンクをバックグラウンドでダウンロードしつつ、処理中であることをユーザが認識可能にすることが好ましい。たとえば、CPU110は、ロード中であることを示す動画を、プログレスバーとともにディスプレイ131に表示する。なお、CPU110は、プログレスバーの進み具合を、チャンクの総バイト数とロード済みバイト数とに基づいて計算する。具体的には、こうした情報および/またはチャンクの総フレーム数とロード済みフレーム数についての情報は、ローダによってCPU110に提供される。データのチャンク全体がロードされる前に、フレームの再生を可能にすることが好ましい。また、データチャンク間のデータ依存性を、個々のフレームに適用することが好ましい。
図3を参照して、サーバ300は、点で表されているオブジェクトを分析し、すべてのオブジェクトデータをチャンクデータに含める。すべてのオブジェクトデータは、図において依存関係ツリー(dependency tree)として表現されている。メインオブジェクトに、他のすべてのオブジェクトデータが属している。このように、オブジェクトが作成されるときに必要なすべてのデータがチャンク内に含められることによって、他のチャンクデータのダウンロード中であっても、中断すること無く動画の表示を継続できるようになる。
ここで、新たなデータの利用可能性の検出は、主に以下の2つの方法でサポートされている。スマートフォン100から新たなチャンクデータが要求された場合、サーバ300は、新しいローダーオブジェクトを作成し、新たなデータローディング・タスクに対処する。スマートフォン100は、新たなチャンクデータのダウンロードを、バックグラウンドのスレッドにおいて実行する。すべての利用可能なチャンクに対して、あるいはチャンクのデータをメインコードが必要とするときに、スマートフォン100はサーバ300に、チャンクデータのローディングを要求することができる。このように、スマートフォン100は、ユーザ操作に基づいて、ファイルのいくつかのフレームまたはシーンの再生をスキップすることができる。すなわち、チャンクのロードまたは表示処理のどちらか、あるいは両方をスキップすることが可能となる。
以下、チャンクデータを利用するためにサポートされている2つの方法を説明する。
第1の方法は、“静的”な方法である。この方法は、新たなコードの実行を、利用可能なコードの実行と同期させる必要がある場合に用いられる。基本的に、スマートフォン100からダウンロードロード要求が送られ、サーバ300にて新たなローダーオブジェクトが作成される。スマートフォン100において、データのダウンロードおよび/または処理は、バックグラウンドのスレッドで実行される。一方、(新たなデータチャンクを要求した)メインコードの実行は継続され、中断されない。メインコードは、新たに作成されたオブジェクトへの参照(リファレンス)を持っており、ローディングの進捗情報について、ローダーオブジェクトにクエリすることが可能である。この進捗情報は、その後のメインコードの実行フローを操るために用いられる。例えば、CPU110は、ローディングが進行中にローディング中であることを表す動画をディスプレイ131に表示し、その後動画がロードされて処理されるときにCPU110は新たなコードの実行にジャンプすることができる。
第2の方法は、JavaScript(登録商標)コードの特性により大きく依存しているような、また、関連イベントのいくつかが発生した場合に実行されるような、コールバック関数の提供が可能な場合に用いられる。例えば、関連イベントに関しては、ダウンロードの進捗が表示される。そして、ダウンロードされて処理されたチャンクのパーセント値についての情報を利用することによって、CPU110は、提供された関数をコールすることができる。メインコードは、エラーや完了のような他の標準イベントに対応することができる。その他の処理は、第1の方法と同様である。すなわち、ダウンロードは、メインコードの実行を妨げないように、バックグラウンドのスレッドにて実行される。そして、ダウンロードが完了すると、実行フローが変更される。
<その他の応用例>
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した外部の記憶媒体(メモリ120)を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が外部の記憶媒体(メモリ120)に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
この場合、外部の記憶媒体(メモリ120)から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した外部の記憶媒体(メモリ120)は本発明を構成することになる。また、端末からの要求に応じて、当該プログラムコードを当該端末へとダウンロード(送信)するサーバ自体も、本発明を構成することになる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、外部の記憶媒体(メモリ120)から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わる他の記憶媒体に書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。

Claims (10)

  1. HTMLデータに対応したWebブラウザを有する動画再生可能な端末であって、
    Flash構造体の複数の種類それぞれに関するFlash構造体からHTML構造体への複数の変換ルールを記憶するメモリと、
    ディスプレイと、
    複数の動画フレームデータを含む動画用のSWFデータをダウンロードするための通信インターフェイスと、
    前記SWFデータのダウンロード中に、受信が完了した動画フレームデータのFlash構造体をHTML構造体に変換し、前記Webブラウザを利用することによって当該HTML構造体に基づいて前記ディスプレイに動画を表示させるためのプロセッサとを備える、端末。
  2. 前記プロセッサは、受信が完了した前記動画フレームデータを前記メモリ上に展開し、前記動画フレームデータに含まれるタグ構造を解析することによってFlash構造体を特定し、前記複数の変換ルールに従って前記Flash構造体をHTML構造体に変換し、変換された前記HTML構造体を解釈および実行するための前記Webブラウザ用のエンジンプログラムを生成し、前記Webブラウザ上で前記エンジンプログラムを実行することによって前記HTML構造体に基づいて前記ディスプレイに動画を表示させる、請求項1に記載の端末。
  3. 前記複数の変換ルールは、オブジェクトの形状を特定するためのFlash構造体から当該オブジェクトの形状を特定するためのHTML構造体へ変換するためのシェイプ変換ルールを含み、
    前記プロセッサは、前記複数のFlash構造体のうちの前記オブジェクトの形状を特定するためのFlash構造体を、前記シェイプ変換ルールに従ってHTML構造体に変換する、請求項1または2に記載の端末。
  4. 前記複数の変換ルールは、フォントおよびテキストを特定するためのFlash構造体から当該フォントおよび当該テキストを特定するためのHTML構造体へ変換するためのフォントテキスト変換ルールを含み、
    前記プロセッサは、前記複数のFlash構造体のうちの前記フォントおよび前記テキストを特定するためのFlash構造体を、前記フォントテキスト変換ルールに従ってHTML構造体に変換する、請求項1から3のいずれか1項に記載の端末。
  5. 前記複数の変換ルールは、カラーを特定するためのFlash用のアルファチャンネルを有した色変換構造体から当該カラーを特定するためのHTML構造体へ変換するためのカラー変換ルールを含み、
    前記プロセッサは、前記複数のFlash構造体のうちの、前記カラーを特定するためのFlash用の色変換構造体を、前記カラー変換ルールに従ってHTML構造体に変換する、請求項1から4のいずれか1項に記載の端末。
  6. HTMLデータに対応したWebブラウザを有し、Flash構造体の複数の種類それぞれに関するFlash構造体からHTML構造体への複数の変換ルールを記憶した端末のプロセッサに、
    通信インターフェイスを介して、複数の動画フレームデータを含む動画用のSWFデータをダウンロードするステップと、
    前記SWFデータのダウンロード中に、受信が完了した動画フレームデータのFlash構造体をHTML構造体に変換するステップと、
    前記SWFデータのダウンロード中に、前記Webブラウザを利用することによって当該HTML構造体に基づいてディスプレイに動画を表示させるステップと、を実行させる動画再生プログラム。
  7. 前記Flash構造体をHTML構造体に変換するステップは、
    受信が完了した前記動画フレームデータを前記メモリ上に展開するステップと、
    前記動画フレームデータに含まれるタグ構造を解析することによってFlash構造体を特定し、前記複数の変換ルールに従って前記Flash構造体をHTML構造体に変換するステップと、
    変換された前記HTML構造体を解釈および実行するための前記Webブラウザ用のエンジンプログラムを生成するステップとを含み、
    前記ディスプレイに動画を表示させるステップは、
    前記Webブラウザ上で前記エンジンプログラムを実行することによって前記HTML構造体に基づいて前記ディスプレイに動画を表示させるステップを含む、請求項6に記載の動画再生プログラム。
  8. 前記複数の変換ルールは、オブジェクトの形状を特定するためのFlash構造体から当該オブジェクトの形状を特定するためのHTML構造体へ変換するためのシェイプ変換ルールを含み、
    前記Flash構造体をHTML構造体に変換するステップは、前記複数のFlash構造体のうちの前記オブジェクトの形状を特定するためのFlash構造体を、前記シェイプ変換ルールに従ってHTML構造体に変換するステップを含む、請求項6または7に記載の動画再生プログラム。
  9. 前記複数の変換ルールは、フォントおよびテキストを特定するためのFlash構造体から当該フォントおよび当該テキストを特定するためのHTML構造体へ変換するためのフォントテキスト変換ルールを含み、
    前記Flash構造体をHTML構造体に変換するステップは、前記複数のFlash構造体のうちの前記フォントおよび前記テキストを特定するためのFlash構造体を、前記フォントテキスト変換ルールに従ってHTML構造体に変換するステップを含む、請求項6から8のいずれか1項に記載の動画再生プログラム。
  10. 前記複数の変換ルールは、カラーを特定するためのFlash用のアルファチャンネルを有した色変換構造体から当該カラーを特定するためのHTML構造体へ変換するためのカラー変換ルールを含み、
    前記Flash構造体をHTML構造体に変換するステップは、前記複数のFlash構造体のうちの、前記カラーを特定するためのFlash用の色変換構造体を、前記カラー変換ルールに従ってHTML構造体に変換する、請求項6から9のいずれか1項に記載の動画再生プログラム。
JP2014529180A 2012-08-07 2012-08-07 端末および動画再生プログラム Pending JPWO2014024255A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/070078 WO2014024255A1 (ja) 2012-08-07 2012-08-07 端末および動画再生プログラム

Publications (1)

Publication Number Publication Date
JPWO2014024255A1 true JPWO2014024255A1 (ja) 2016-07-21

Family

ID=50067541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014529180A Pending JPWO2014024255A1 (ja) 2012-08-07 2012-08-07 端末および動画再生プログラム

Country Status (2)

Country Link
JP (1) JPWO2014024255A1 (ja)
WO (1) WO2014024255A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6386803B2 (ja) * 2014-06-13 2018-09-05 キヤノン株式会社 装置、方法、及びプログラム
US11004170B2 (en) * 2015-11-17 2021-05-11 Google Llc Converting flash content to HTML content by generating an instruction list
WO2017203659A1 (ja) * 2016-05-26 2017-11-30 三菱電機株式会社 描画タイミング制御装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4921564B2 (ja) * 2007-02-09 2012-04-25 ノキア コーポレイション モバイルデバイス上へ表示するための対話型アニメ情報コンテンツの変換方法とシステム

Also Published As

Publication number Publication date
WO2014024255A1 (ja) 2014-02-13

Similar Documents

Publication Publication Date Title
US10143924B2 (en) Enhancing user experience by presenting past application usage
CN111669623B (zh) 视频特效的处理方法、装置以及电子设备
CN110750664B (zh) 图片的显示方法及装置
CN108810132B (zh) 动画显示方法、装置、终端、服务器及存储介质
CN109672902A (zh) 一种视频抽帧方法、装置、电子设备和存储介质
US20220148624A1 (en) Image display method and apparatus
CN110599396A (zh) 信息处理方法及装置
WO2020220773A1 (zh) 图片预览信息的显示方法、装置、电子设备及计算机可读存储介质
CN112256990B (zh) 一种图像处理方法及装置、计算机可读存储介质
CN109325145A (zh) 视频缩略图的获取方法、终端及计算机可读存储介质
CN102981818A (zh) 基于情境的动画库
JP5010605B2 (ja) イベント処理装置
CN112689197B (zh) 一种文件格式转换方法、装置、以及计算机存储介质
WO2014024255A1 (ja) 端末および動画再生プログラム
CN101483694B (zh) 矢量动画播放控制方法及装置
CN105760420A (zh) 实现与多媒体文件内容互动的方法及装置
CN114222185B (zh) 视频播放方法、终端设备及存储介质
US20140289656A1 (en) Systems and Methods for Creating and Using Electronic Content with Displayed Objects Having Enhanced Features
US8972877B2 (en) Information processing device for displaying control panel image and information image on a display
CN117065357A (zh) 媒体数据处理方法、装置、计算机设备和存储介质
CN115040866A (zh) 云游戏图像处理方法、装置、设备及计算机可读存储介质
CN111045674A (zh) 一种播放器的交互方法和装置
CN112612531A (zh) 应用程序启动方法、装置、电子设备及存储介质
JP6586717B1 (ja) コンテンツ提供システム及びプログラム
JP6644232B1 (ja) コンテンツ提供システム及びプログラム