(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022134845
(43)【公開日】2022-09-15
(54)【発明の名称】コンテンツ動画再生プログラム、コンテンツ動画再生装置、コンテンツ動画再生方法、コンテンツ動画データ生成プログラム、及びコンテンツ動画データ生成装置
(51)【国際特許分類】
G06T 7/207 20170101AFI20220908BHJP
A63F 13/60 20140101ALI20220908BHJP
H04N 19/503 20140101ALI20220908BHJP
【FI】
G06T7/207
A63F13/60
H04N19/503
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021034293
(22)【出願日】2021-03-04
(11)【特許番号】
(45)【特許公報発行日】2022-04-06
(71)【出願人】
【識別番号】511249637
【氏名又は名称】株式会社Cygames
(74)【代理人】
【識別番号】110000925
【氏名又は名称】特許業務法人信友国際特許事務所
(72)【発明者】
【氏名】永谷 真澄
【テーマコード(参考)】
5C159
5L096
【Fターム(参考)】
5C159LB16
5C159MA05
5C159NN01
5C159NN21
5C159UA02
5C159UA05
5L096BA08
5L096DA01
5L096EA33
5L096FA67
5L096GA19
5L096GA51
5L096HA04
(57)【要約】 (修正有)
【課題】少ない計算機資源で、高品位の雲、霧、霞、湯気、ガスなど、大気中のエアロゾルの動画を再生できる、動画再生プログラム、動画再生装置、動画再生方法、動画データ生成プログラム、動画データ生成装置及び圧縮動画データを提供する。
【解決手段】コンテンツ再生装置において、圧縮雲動画データを再生する雲動画再生処理部は、グリッドセル画像データをグリッドベクトルで移動させ、輝度の補間演算処理を行うだけの、簡易な演算処理だけで、高い再現度で雲の動画データを生成する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
現在フレーム画像データと、前記現在フレーム画像データと同じピクセルサイズの次フレーム画像データと、前記現在フレーム画像データを複数個に細分化するグリッド情報と、前記現在フレーム画像データを前記グリッド情報に基づいて細分化した複数個のグリッド画像データに対し、前記グリッド画像データが前記次フレーム画像データの時点で移動するベクトルの集合体であるグリッドベクトル群とを具備する圧縮動画データから動画データを再生する動画再生処理機能を有する動画再生処理部と、
前記動画データを表示する表示部と、を有する動画再生装置であるコンピュータに、
前記現在フレーム画像データから、前記グリッド情報のうち特定の要素であるグリッドに基づいて、前記グリッドに対応する特定の現在グリッド画像データを抽出する現在フレームグリッドセル抽出処理機能と、
前記次フレーム画像データから、前記グリッドと、前記グリッドに対応するグリッドベクトルに基づいて次グリッド画像データを抽出する次フレームセル抽出処理機能と、
前記現在グリッド画像データと前記次グリッド画像データとの補間処理を行うことで、現在フレーム画像データと次フレーム画像データとの間に設けられる1以上の補間フレーム画像に対応する補間グリッド画像データを生成する補間セル画像データ作成機能と、
前記グリッドと前記グリッドベクトルに基づいて、複数の前記補間グリッド画像データを前記補間フレーム画像に配置することで補間フレーム画像データを形成する補間セル配置処理機能と
を有する前記動画再生処理機能を実現させるための動画再生プログラム。
【請求項2】
前記動画再生処理機能は更に、
前記補間セル配置処理機能によって前記補間フレーム画像に配置された複数の前記補間グリッド画像データの境界に対してスムージングを施すセル境界補間処理機能と
を有する、請求項1に記載の動画再生プログラム。
【請求項3】
現在フレーム画像データと、前記現在フレーム画像データと同じピクセルサイズの次フレーム画像データと、前記現在フレーム画像データを複数個に細分化するグリッド情報と、前記現在フレーム画像データを前記グリッド情報に基づいて細分化した複数個のグリッド画像データに対し、前記グリッド画像データが前記次フレーム画像データの時点で移動するベクトルの集合体であるグリッドベクトル群とを具備する圧縮動画データから動画データを再生する動画再生処理機能を有する動画再生処理部と、
前記動画データを表示する表示部と、を有する動画再生装置であり、
前記動画再生処理部は、
前記現在フレーム画像データから、前記グリッド情報のうち特定の要素であるグリッドに基づいて、前記グリッドに対応する特定の現在グリッド画像データを抽出する現在フレームグリッドセル抽出処理部と、
前記次フレーム画像データから、前記グリッドと、前記グリッドに対応するグリッドベクトルに基づいて次グリッド画像データを抽出する次フレームセル抽出処理部と、
前記現在グリッド画像データと前記次グリッド画像データとの補間処理を行うことで、現在フレーム画像データと次フレーム画像データとの間に設けられる1以上の補間フレーム画像に対応する補間グリッド画像データを生成する補間セル画像データ作成部と、
前記グリッドと前記グリッドベクトルに基づいて、複数の前記補間グリッド画像データを前記補間フレーム画像に配置することで補間フレーム画像データを形成する補間セル配置処理部と
を具備する、動画再生装置。
【請求項4】
前記動画再生処理部は更に、
前記補間セル配置処理部によって前記補間フレーム画像に配置された複数の前記補間グリッド画像データの境界に対してスムージングを施すセル境界補間処理部と
を具備する、請求項3に記載の動画再生装置。
【請求項5】
現在フレーム画像データと、前記現在フレーム画像データと同じピクセルサイズの次フレーム画像データと、前記現在フレーム画像データを複数個に細分化するグリッド情報と、前記現在フレーム画像データを前記グリッド情報に基づいて細分化した複数個のグリッド画像データに対し、前記グリッド画像データが前記次フレーム画像データの時点で移動するベクトルの集合体であるグリッドベクトル群とを具備する圧縮動画データから、前記現在フレーム画像データを取得して、前記現在フレーム画像データから、前記グリッド情報のうち特定の要素であるグリッドに基づいて、前記グリッドに対応する特定の現在グリッド画像データを抽出する現在フレームグリッド抽出処理ステップと、
前記圧縮動画データから前記次フレーム画像データ及び前記グリッドベクトル群を取得して、前記次フレーム画像データから、前記グリッドと、前記グリッドに対応するグリッドベクトルに基づいて次グリッド画像データを抽出する次フレームグリッド抽出処理ステップと、
前記現在グリッド画像データと前記次グリッド画像データとの補間処理を行うことで、現在フレーム画像データと次フレーム画像データとの間に設けられる1以上の補間フレーム画像に対応する補間グリッド画像データを生成する補間グリッド画像データ作成ステップと、
前記グリッドと前記グリッドベクトルに基づいて、複数の前記補間グリッド画像データを前記補間フレーム画像に配置することで補間フレーム画像データを形成するグリッド配置処理ステップと
を有する、動画再生方法。
【請求項6】
コンピュータに、
現在フレーム画像データから所定のグリッドサイズのグリッドで抜粋した部分画像データについて、前記現在フレーム画像データと同じピクセルサイズの次フレーム画像データに類似する部分画像データを探索することで、前記部分画像データの移動ベクトルを算出し、全てのグリッドの部分画像データについて同様に移動ベクトルを算出することで、移動ベクトルの集合体であるグリッドサイズベクトル群を生成するオプティカルフロー演算処理機能と、
前記現在フレーム画像データと前記次フレーム画像データと前記グリッドサイズベクトル群を併合して圧縮動画データを生成するデータ再構成処理機能と
を実現させるための動画データ生成プログラム。
【請求項7】
更に、
前記オプティカルフロー演算処理機能に対し、前記グリッドサイズを変化させつつ、演算処理を命じる、グリッドサイズ決定処理機能と、
前記グリッドサイズ決定処理機能によって得られた、複数のグリッドサイズに対応する複数の前記グリッドサイズベクトル群について、大きいグリッドサイズにおけるグリッドサイズベクトル群の要素である、第一のグリッドの第一の移動ベクトルと、小さいグリッドサイズにおけるグリッドサイズベクトル群の要素である、前記第一のグリッドに含まれる第二のグリッドの第二の移動ベクトルとのなす角が所定の閾値以上である場合に、前記第二の移動ベクトルを前記第一の移動ベクトルの角度で修正する処理を経て、前記グリッドサイズベクトル群から所定のグリッドサイズの第三のグリッドにおける移動ベクトルの集合体であるグリッドベクトル群を生成するベクトル最適化処理機能と
を実現させるための、請求項6に記載の動画データ生成プログラム。
【請求項8】
現在フレーム画像データから所定のグリッドサイズのグリッドで抜粋した部分画像データについて、前記現在フレーム画像データと同じピクセルサイズの次フレーム画像データに類似する部分画像データを探索することで、前記部分画像データの移動ベクトルを算出し、全てのグリッドの部分画像データについて同様に移動ベクトルを算出することで、移動ベクトルの集合体であるグリッドサイズベクトル群を生成するオプティカルフロー演算処理部と、
前記現在フレーム画像データと前記次フレーム画像データと前記グリッドサイズベクトル群を併合して圧縮動画データを生成するデータ再構成処理部と
を具備する動画データ生成装置。
【請求項9】
現在フレーム画像データと、
前記現在フレーム画像データと同じピクセルサイズの次フレーム画像データと、
前記現在フレーム画像データと前記次フレーム画像データとの間に配置され、前記現在フレーム画像データを細分化したグリッドに対し、前記グリッドが前記次フレーム画像データの時点で移動するベクトルの集合体であるグリッドベクトル群と、
前記グリッドのサイズの情報を含むヘッダと
を具備する圧縮動画データ構造。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特に雲、霧、霞、湯気、ガスなど、大気中のエアロゾルの動画に好適な、動画再生プログラム、動画再生装置、動画再生方法、動画データ生成プログラム、動画データ生成装置及び圧縮動画データ構造に関する。
【背景技術】
【0002】
出願人は、ゲームプログラム及びゲームサービスを開発し、頒布している。出願人を始めとする多くのゲームサービス業者は、パソコンやスマートフォンがインターネットを通じてゲームコンテンツを提供するゲームサーバに接続し、当該ゲームサーバを通じて様々なゲームコンテンツの提供を受けるオンラインゲームサービスを提供している。
【0003】
このようなゲームサービス業者が提供するゲームは、ゲームキャラクタ(以下、単に「キャラクタ」と略)がユーザの操作に従って動くアクションゲームの要素のみならず、キャラクタが対話することでストーリーが進行するノベルゲーム、アニメーション動画、webブラウザ等の機能要素を統合した、複合的なコンテンツ再生機能を持つコンテンツ再生サービスとしての側面を有している。そして、一部のゲームコンテンツでは、キャラクタの活動空間として、空想上の世界を表現することが行われている。
出願人が提供するゲームサービスの一部には、この空想上の世界を表現する手段の一つとして、流れる雲をアニメーション動画にて表示することが行われている。
【0004】
発明者は、ゲームコンテンツにおける空想上の世界を表現する手段として、リアリティ溢れる、存在感のある雲を高品質に描画することが極めて重要であると考えた。幾ら美麗な描画を施したキャラクタを用意しても、背景がポンチ絵や落書き程度の品質では、ゲームプレイヤにゲームの世界観を訴求できない。美麗なキャラクタは美麗な背景があって、初めてゲームプレイヤに世界観を認めて貰い、そしてゲームプレイヤがゲームの世界に没入することが可能になる。
【0005】
流れる雲を美麗に描画する技術は、長い歴史を有する。
雲のレンダリングは、雲内部における太陽光の散乱を計算する必要がある。この散乱光レンダリングの研究は、1980年代から継続的に行われてきた。例えば、一次散乱近似(非特許文献1)、複数回散乱を考慮したボリュームレンダリング(非特許文献2)、雲の大局照明モデル(非特許文献3)など、基本的なアルゴリズムが整備された。1990年代では、GPU(Graphics Processing Unit)を用いた実時間レンダリングにも応用され、2010年代には、DreamWorks Animationが開発したOpenVDB (https://www.openvdb.org)等により、雲をボリュームデータとして扱い、リアルタイムレンダリングする手法が確立されてきた。しかしながら、ボリュームデータのレンダリングは高負荷であり、出願人が提供するゲームサービスに求められる、広い風景の雲を高効率かつ高品質にレンダリングする手法は、未だ確立されていない(非特許文献4)。
【0006】
特許文献1には、動画像に含まれる時間的に異なる2つの画像から、画像内の各画素に対応した速度ベクトルを計算し、速度ベクトルを座標配列した速度場ベクトルを求める技術が開示されている。
特許文献2には、移動する物体のモデルパラメータを推定する技術が開示されている。モデルパラメータは、画像の輝度の時系列的な変化を表す波生成方程式と、画像処理における動き推定モデルであるオプティカルフローモデルとを統合した、連続及び不連続な動きを含む波現象の特性を表現する波に関する数理モデルの目的関数により推定され、目的関数は、波の分散関係式による拘束条件を含むとされている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2002-074369号公報
【特許文献2】特許第6196597号公報
【非特許文献】
【0008】
【非特許文献1】Blinn, J.: Light Reflection Functions for Simulation of Clouds and Dusty Surfaces, SIGGRAPH 1982, pp.21-29 (1982), インターネット<https://ohiostate.pressbooks.pub/app/uploads/sites/45/201710/blinn-dusty.pdf>
【非特許文献2】Kajiya, J. and Von Herzen, B.: Ray Tracing Volume Densities, SIGGRAPH 1984, pp.165-174 (1984), インターネット<https://www.researchgate.net/profile/Brian_Von_Herzen3/publication/242588930_Ray_tracing_volume_densities_computer_graphics_18/links/00b7d53931e71dfc04000000/Ray-tracing-volume-densities-computer-graphics-18.pdf>
【非特許文献3】Nishita, T., Dobashi, Y. and Nakamae, E.: Display of Clouds Taking into Account Multiple Anisotropic Scattering and Sky Light, SIGGRAPH 1996, pp.379-386 (1996).
【非特許文献4】『グランブルーファンタジー Project Re:LINK』の“雲”表現にかける並々ならぬこだわり[GCC’17]、ファミ通.COM、株式会社KADOKAWA Game Linkage、インターネット<https://www.famitsu.com/news/201703/22129373.html>
【発明の概要】
【発明が解決しようとする課題】
【0009】
特にスマートフォンは、計算機という観点で見ると、CPU及びGPUの演算能力やメモリ及びストレージの記憶容量等のリソース(Resource、計算機資源)が限られている。近年のゲームコンテンツは計算機資源を多く消費する傾向にあり、背景である雲の描画に割ける計算機資源は限られる。発明者は、できるだけ少ない計算機資源で、高品位の雲の動画を再生したいと考えた。
【0010】
本発明は係る課題に鑑みてなされたものであり、少ない計算機資源で、高品位の雲、霧、霞、湯気、ガスなど、大気中のエアロゾルの動画を再生できる、動画再生プログラム、動画再生装置、動画再生方法、動画データ生成プログラム、動画データ生成装置及び圧縮動画データ構造を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明の動画再生プログラムは、現在フレーム画像データと、現在フレーム画像データと同じピクセルサイズの次フレーム画像データと、現在フレーム画像データを複数個に細分化するグリッド情報と、現在フレーム画像データをグリッド情報に基づいて細分化した複数個のグリッド画像データに対し、グリッド画像データが次フレーム画像データの時点で移動するベクトルの集合体であるグリッドベクトル群とを具備する圧縮動画データから動画データを再生する動画再生処理機能を有する動画再生処理部と、動画データを表示する表示部と、を有する動画再生装置であるコンピュータにて動作するプログラムである。
【0012】
本発明の動画再生プログラムは、現在フレーム画像データから、グリッド情報のうち特定の要素であるグリッドに基づいて、グリッドに対応する特定の現在グリッド画像データを抽出する現在フレームグリッドセル抽出処理機能と、次フレーム画像データから、グリッドと、グリッドに対応するグリッドベクトルに基づいて次グリッド画像データを抽出する次フレームセル抽出処理機能と、現在グリッド画像データと次グリッド画像データとの補間処理を行うことで、現在フレーム画像データと次フレーム画像データとの間に設けられる1以上の補間フレーム画像に対応する補間グリッド画像データを生成する補間セル画像データ作成機能と、グリッドとグリッドベクトルに基づいて、複数の補間グリッド画像データを補間フレーム画像に配置することで補間フレーム画像データを形成する補間セル配置処理機能とを有する動画再生処理機能をコンピュータに実現させるものである。
【発明の効果】
【0013】
本発明によれば、少ない計算機資源で、高品位の雲、霧、霞、湯気、ガスなど、大気中のエアロゾルの動画を再生できる、動画再生プログラム、動画再生装置、動画再生方法、動画データ生成プログラム、動画データ生成装置及び圧縮動画データ構造を提供することが可能になる。
上記した以外の課題、構成及び効果は、以下に記す実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0014】
【
図1】本発明の実施形態に係るコンテンツ再生装置と、その表示画面を示す概略図である。
【
図2】コンテンツ再生装置のハードウェア構成を示すブロック図である。
【
図3】コンテンツ再生装置のソフトウェア機能を示すブロック図である。
【
図4】雲動画再生処理部の内部機能を示すブロック図である。
【
図5】現在フレーム画像データに適用されるグリッドとグリッドセルの状態を示す概略図である。
【
図6】圧縮雲動画ファイルのフォーマットの一例を示す概略図である。
【
図7】補間演算処理部の内部機能を示すブロック図である。
【
図8】現在フレーム画像データと次フレーム画像データとの、グリッドの関係を説明する概略図である。
【
図10】圧縮雲動画ファイル生成装置のハードウェア構成を示すブロック図である。
【
図11】圧縮雲動画ファイル生成装置のソフトウェア機能を示すブロック図である。
【
図12】圧縮雲動画ファイル生成装置の動作の流れを示すフローチャートである。
【
図13】上位グリッドベクトルと下位グリッドベクトルの関係を説明する概略図である。
【発明を実施するための形態】
【0015】
[コンテンツ再生装置101]
図1は本発明の実施形態に係るコンテンツ再生装置101a及びコンテンツ再生装置101bを示す概略図である。
図1において、コンテンツ再生装置101aは周知のパソコンであり、コンテンツ再生装置101bは周知のスマートフォンである。
パソコンはゲームプログラムを読み込んで、コンテンツ再生装置101aとして機能する。コンテンツ再生装置101aは、LCDディスプレイ等の表示部102aと、キーボード103aを有する。ユーザはコンテンツ再生装置101aのキーボード103a及びマウス等のポインティングデバイス等を操作して、ゲームに興じる。
スマートフォンはゲームプログラムを読み込んで、コンテンツ再生装置101bとして機能する。ユーザはコンテンツ再生装置101bのタッチパネルディスプレイ102bを操作して、ゲームに興じる。
【0016】
コンテンツ再生装置101aとコンテンツ再生装置101bは、内蔵するCPUの仕様等が異なるが、互いに同一のゲームコンテンツを再現することができる。なお、これ以降、コンテンツ再生装置101aとコンテンツ再生装置101bを区別しない場合には、コンテンツ再生装置101と記載する。また、コンテンツ再生装置101aの表示部102aとコンテンツ再生装置101bのタッチパネルディスプレイ102bを表示機能として区別しない場合には、表示部102と記載する。
【0017】
コンテンツ再生装置101がゲームプログラムを実行することによって再生されるゲームコンテンツは、表示部102に、流れる雲の動画P104が再生される。この雲の動画を再生することによって、ゲームコンテンツにおける空想世界を効果的に表現することができる。例えば、ゲームコンテンツの一例として、出願人がサービスを提供するグランブルーファンタジー(登録商標)が挙げられる。
【0018】
図2は、コンテンツ再生装置101bのハードウェア構成を示すブロック図である。
周知のコンピュータであるコンテンツ再生装置101bは、バス209に接続されているCPU201、ROM202、RAM203、表示部204、操作部205、広域無線通信部206、無線LANインターフェース207、不揮発性ストレージ208を備える。
コンテンツ再生装置101bはスマートフォンなので、操作部205は静電式タッチパネルであり、表示部204と操作部205は、タッチパネルディスプレイ102bを構成する。
不揮発性ストレージ208には、コンピュータをコンテンツ再生装置101として動作させるためのゲームプログラムが格納されている。
【0019】
コンテンツ再生装置101がパソコンよりなるコンテンツ再生装置101aの場合、操作部205はキーボード103aやマウス等である。そして、コンテンツ再生装置101aでは、広域無線通信部206を必要としないが、その代わりに、不図示のNIC(Network Interface Card)がバス209に接続されている。
以上説明したように、コンテンツ再生装置101aとコンテンツ再生装置101bは、細部の差異を除いて、主要な情報処理機能は殆ど変わらない。このため、
図3以降に説明するソフトウェア機能を等しく実行することができる。
【0020】
図3は、コンテンツ再生装置101のソフトウェア機能を示すブロック図である。
主ゲームコンテンツ生成処理部301は、ゲームエンジン本体である。主ゲームコンテンツ生成処理部301は、ゲームデータ群302を読み込み、操作部205の操作を受けて、種々の動画や静止画を生成する。
動画再生処理部である雲動画再生処理部303は、本発明に係る雲動画生成機能を有し、圧縮動画データである圧縮雲動画ファイル304を読み込み、雲動画データ305を生成する。
画像合成処理部306は、主ゲームコンテンツ生成処理部301が生成する動画データと、雲動画再生処理部303が生成する雲動画データ305を合成して、表示部204へ出力する。
【0021】
図4は雲動画再生処理部303の内部機能を示すブロック図である。
圧縮雲動画ファイル304は、データ抽出処理部401に読み込まれる。
データ抽出処理部401は、圧縮雲動画ファイル304から、現在フレーム画像データ402、次フレーム画像データ403、グリッドベクトル群404、及びグリッドリスト405を出力する。なお、データ抽出処理部401は、現在フレーム画像データ402、次フレーム画像データ403、グリッドベクトル群404については、圧縮雲動画ファイル304の本体(ペイロード)から抜粋して出力するが、グリッドリスト405については、圧縮雲動画ファイル304のヘッダから計算して出力する。
【0022】
現在フレーム画像データ402は、基準時点の画像データである。
次フレーム画像データ403は、基準時点から所定時間経過後の時点の画像データである。
グリッドベクトル群404は、グリッドベクトルの集合体(リストまたは配列変数)である。グリッドベクトルは、現在フレーム画像データ402を細分化したグリッドセル画像データについて、当該グリッドセル画像データが次フレーム画像データ403の時点で画面内の座標方向に移動する移動量及び移動方向を示すベクトルである。
【0023】
グリッドリスト405は、グリッドセルの集合体(リストまたは配列変数)である。グリッドリスト405は、後述する圧縮雲動画ファイル304のヘッダ情報に含まれているグリッド情報と、フレーム画像データの大きさから算出される。
【0024】
図4の説明の途中であるが、ここで、グリッドリスト405及びグリッドセルについて、図面を参照して説明する。
図5は、現在フレーム画像データ402に適用されるグリッドG501とグリッドセルC502の状態を示す概略図である。
図5は、ある時点における現在フレーム画像データ402を、所定の表示装置に表示した状態を示している。この静止画像に対して、8行5列のグリッドG501(格子)が形成されている。
図5では、縦と横の破線にてグリッドG501が表現されている。
なお、
図5に示す8行5列のグリッドG501は説明のための一例であり、実際の装置ではより多くの行数及び列数でグリッドG501が構成されている。
【0025】
グリッドセルC502は、グリッドリスト405のうち特定の要素を指す。すなわち、グリッドリスト405に対し、グリッドセル番号を引数として、グリッドセルC502のアドレスが出力される。
図5において、グリッドを構成する一つ一つのマスがグリッドセルC502に相当する。
ここで、グリッドセル番号とは、グリッドリスト405のうちの、特定のグリッドセルC502の要素番号を示している。すなわち、グリッドセル番号は、左上から右下へ、横方向にグリッドセルC502に対して付与される番号である。
【0026】
図5において、グリッドの左上のグリッドセルにはグリッド番号1番が付与されている。グリッド番号1番のグリッドセルの右隣のグリッドセルには2番、その右隣のグリッドセルには3番、その右隣のグリッドセルには4番、…以下同様に、右端のグリッドセルにはグリッド番号8番が付与されている。グリッド番号8番のグリッドセルはグリッドセルの行1行目の右端であるため、次の行の左端のグリッドセルには9番が付与されている。以下同様に、左上のグリッドセルから右下のグリッドセルへグリッド番号を付与し、一番右下のグリッドセルは40番が付与されている。
【0027】
グリッドセルアドレスは、グリッドリスト405のうちの、特定のグリッドセルのアドレス情報を指す。ここで、アドレス情報とは、フレーム画像上におけるピクセルのx軸上の番号とy軸上の番号の組で示される。一つのグリッドセルは、左上端のピクセルのアドレス情報(x1,y1)と、右下端のピクセルのアドレス情報(x2,y2)で特定することができる。
【0028】
したがって、グリッドリスト405に対し、引数としてグリッドセル番号を与えると、当該グリッドセル番号に相当するグリッドセルの、左上端のピクセルのアドレス情報(x1,y1)と右下端のピクセルのアドレス情報(x2,y2)が得られる。
なお、本実施形態では、グリッドリスト405をプログラム上の配列変数として説明しているが、プログラム上の関数としてグリッドリスト405を実装してもよい。
【0029】
図4に戻って、機能ブロックの説明を続ける。
補間演算処理部406は、現在フレーム画像データ402、次フレーム画像データ403、グリッドベクトル群404及びグリッドリスト405に基づき、現在フレーム画像データ402と次フレーム画像データ403との間のフレーム補間演算を行い、雲動画データ305を出力する。
【0030】
ここで、補間演算処理部406の動作を説明する前に、
図6を参照して、圧縮雲動画ファイル304のフォーマット(圧縮動画データ構造)について説明する。
図6は、圧縮雲動画ファイル304のフォーマットの一例を示す概略図である。
圧縮雲動画ファイル304は、ヘッダD601と本体D602(ペイロード)よりなる。
ヘッダD601には、
・本ファイルが圧縮雲動画ファイル304であることを示す識別情報D603
・本体D602に格納されているフレーム画像のデータ形式(jpg、png、tiff等)、及び本体D602に格納されているフレーム画像のピクセルサイズ等の画像諸元情報D604
・グリッドセルのサイズ情報D605(縦と横のピクセルサイズ)
等が格納されている。
【0031】
ここで、
図4に示すグリッドベクトル群404の要素数及びグリッドリスト405の要素数は、フレーム画像データのピクセルサイズをグリッドセルのサイズで除算することで導出することができる。したがって、データ抽出処理部401は、この除算を行うことで、
図6に示すヘッダD601から、ベクトルの要素数及びベクトルの番号を導出している。
【0032】
フレーム画像データD606は、全てのピクセルサイズが同じ画像データである。
1番目フレーム画像データD606aが現在フレーム画像データ402である場合、2番目フレーム画像データD606bが次フレーム画像データ403になる。
2番目フレーム画像データD606bが現在フレーム画像データ402である場合、3番目フレーム画像データD606cが次フレーム画像データ403になる。
【0033】
グリッドベクトル群404は、グリッドベクトルが列挙されたリストである。グリッドベクトルは、グリッドベクトル群404の要素を構成する。
グリッドベクトルは、現在フレーム画像データ402上のあるグリッドセルの画像が、次フレーム画像データ403上の所定の位置へ移動することを示すベクトルの情報であり、ピクセル単位のx軸方向成分とy軸方向成分よりなる。
図6では、グリッドベクトル群404a、404b…と、フレーム画像データD606の後に続いている。
【0034】
本体D602は、
・デリミタD607(delimiter あるいはセパレータ等)
・1番目フレーム画像データD606a
・デリミタD607
・1番目グリッドベクトル群404a
・デリミタD607
・2番目フレーム画像データD606b
・デリミタD607
・2番目グリッドベクトル群404b
…
というように、デリミタD607を挟んで、フレーム画像データD606とグリッドベクトル群404が交互に挿入されている。
【0035】
なお、
図6では圧縮雲動画ファイル304と、動画データをファイル形式で表現しているが、ヘッダD601を所定の時間間隔で適宜挿入することで、ストリーム形式にて動画データを構成し、扱うことも可能である。
また、デリミタD607を使わずに、ヘッダD601に各フレーム画像データへのアドレスとサイズを記述する方法も考えられる。但し、デリミタD607を使わない場合、動画データをストリーム形式で扱うことが困難になる。
【0036】
図4に戻って、データ抽出処理部401の動作について説明する。
データ抽出処理部401は、現在フレーム画像データ402、次フレーム画像データ403、そして現在フレーム画像データ402と次フレーム画像データ403の間にあるグリッドベクトル群404を、補間演算処理部406へ出力する。
なお、グリッドリスト405は、フレームの移動に関わらず一定の値を持つ情報であり、圧縮雲動画ファイル304のヘッダD601から導き出される。
【0037】
図7は、補間演算処理部406の内部機能を示すブロック図である。
グリッド特定処理部701は、グリッドリスト405の先頭から順番にn番目のグリッドセルアドレスを取り出す。
グリッド特定処理部701が指定するグリッドセル番号は、ベクトル特定処理部702に入力される。ベクトル特定処理部702はグリッドベクトル群404から、グリッド特定処理部701が指定するグリッドセル番号n番目のグリッドベクトルを取り出す。
【0038】
一方、グリッド特定処理部701が出力するグリッドセルアドレスは、現在フレームグリッドセル抽出処理部703に入力される。現在フレームグリッドセル抽出処理機能を提供する現在フレームグリッドセル抽出処理部703は、現在フレーム画像データ402から、グリッドセルアドレスによって指定された箇所を切り抜いた、現在グリッドセル画像データ704を生成する。現在グリッドセル画像データ704とは、現在フレーム画像データ402をグリッドG501に基づいて細分化したグリッドセルC502単位の画像データを示す。
【0039】
グリッド特定処理部701が出力するグリッドセルアドレスと、ベクトル特定処理部702が出力するグリッドベクトルは、次フレームセル抽出処理部705に入力される。次フレームセル抽出処理機能を提供する次フレームセル抽出処理部705は、次フレーム画像データ403から、グリッドセルアドレスをグリッドベクトルで移動させた、移動後のグリッドセルアドレスにて指定された箇所を切り抜いた、次セル画像データ706を生成する。
【0040】
なお、現在グリッドセル画像データ704は、グリッドG501に基づいて切り出された画像データであるが、次セル画像データ706は、グリッドアドレスをグリッドベクトルで移動したセルのアドレスに基づいて切り出された画像データである。このため、次セル画像データ706は、大きさ及び形状は現在グリッドセル画像データ704と等しいものの、グリッドG501に基づいて切り出されていないので、グリッドという呼称を用いていない。
【0041】
現在グリッドセル画像データ704と次セル画像データ706は、補間セル画像データ作成部707に入力される。
補間セル画像データ作成部707は、現在グリッドセル画像データ704と次セル画像データ706との間に存在すると設定したフレーム枚数分の、補間セル画像データ群708を作成する。
例えば、雲を撮影したグリッドセル画像データが20秒間隔で撮影されたものであるとすると、フレームレート30fpsの通常の動画再生を行う場合には、30×20-2=598枚の補間フレーム画像データを作成する必要がある。マイナス2枚は、現在グリッドセル画像データ704と次セル画像データ706の分である。
そこで補間セル画像データ作成部707は、この補間フレーム画像データを補間演算処理にて作成する。具体的には、現在グリッドセル画像データ704のあるピクセルと、次セル画像データ706の同じアドレスのピクセルとのスムージングを行う。
【0042】
例えば、現在グリッドセル画像データ704のあるピクセルの赤の輝度が100、次セル画像データ706の同じアドレスのピクセルの赤の輝度が200であるとすると、100から200の変化を600枚で分割する。約6フレーム毎に100から1ずつ輝度を上昇させることとなる。
【0043】
現在グリッドセル画像データ704のあるピクセルのある色成分の輝度をy1、
次セル画像データ706の同じアドレスのピクセルの、同じ色成分の輝度をy2、
補間フレーム枚数をm
とすると、x枚目のフレームのピクセルの輝度yは以下の一次式で導き出せる。
y={(y2-y1)/m}*x+y1
【0044】
以上の補間演算処理によって導き出された補間フレームのピクセルの輝度yは、整数値に丸められて、補間セル画像データ群708として出力される。
なお、補間フレーム枚数を減じることで、早送り再生の効果を得られる。本発明の実施形態に係るコンテンツ再生装置はゲームコンテンツなので、通常の雲の移動速度よりも早い移動速度で動画を再生することで、ゲームコンテンツが提供する空想世界の演出効果を高めることができる。
【0045】
グリッド特定処理部701は、グリッドセル番号毎に、上述した演算処理を実行することで、全てのグリッドセルにおける補間セル画像データ群708を生成する。
補間セル配置処理機能を提供する補間セル配置処理部709は、グリッドリスト405からグリッドセルアドレスを読み込み、グリッドベクトル群404からグリッドベクトルを読み込む。そして、補間セル配置処理部709は、RAM203に形成した一時メモリ710の補間フレーム領域上に、補間セル画像データ群708を配置する。
【0046】
しかし、一時メモリ710に形成した補間フレーム領域上に、ただ単に補間グリッドセル画像データを配置しただけでは、隣接する補間グリッドセル画像データ同士に隙間が生じたり、重なり合う可能性が多々あったりする。そこで、それら補間グリッドセル画像データ同士の境界において、スムージングや平均値補間等の隙間を目立たなくする処理を、セル境界補間処理機能を提供するセル境界補間処理部711にて実行する。
こうして、補間フレーム画像データ群712が出来上がる。
この補間フレーム画像データ群712を、画像データ合併処理部713にて、現在フレーム画像データ402と次フレーム画像データ403との間に挟み込むと、雲動画データ305が完成する。
【0047】
図8A及び
図8Bは、現在フレーム画像データ402と次フレーム画像データ403における、現在グリッドセル画像データ704と次セル画像データ706の関係を説明する概略図である。
図8Aにおいて、現在フレーム画像データ402における現在グリッドセル画像データ704である第一グリッドセルC704a(
図8A中「1」と表記)は、次セル画像データ706である第一セルC706a(
図8A中「1’」と表記)へ、移動する。
以下同様に、第二グリッドセルC704b(
図8A中「2」)は、第二セルC706b(
図8A中「2’」)へ、第三グリッドセルC704c(
図8A中「3」)は、第三セルC706c(
図8A中「3’」)へ、第四グリッドセルC704d(
図8A中「4」)は、第四セルC706d(
図8A中「4’」)へ、それぞれ移動する。
図8Aの現在フレーム画像データ402におけるグリッドセル1,2,3及び4と、次フレーム画像データ403におけるセル1’,2’,3’及び4’を重ね合わせると、
図8Bに示す配置関係になる。
【0048】
セル1’はグリッドセル1と同一の大きさの領域であって、
図10以降にて説明する動画データ作成時に、グリッドセル1を用いて次フレーム画像のグリッドセル1に当たる領域近傍からテンプレートマッチング等の手法により、グリッドセル1の移動先である可能性が最も高い領域として特定された領域である。すなわち、動画データ作成時に、グリッドベクトルは、グリッドセル1とセル1’の差分に基づいて特定されている。
なお、グリッドセル1のグリッドセル画像データとセル1’のセル画像データは、十分に類似していれば完全一致でなくてもよい。
【0049】
図9は、フレーム補間を説明する概略図である。
図9では、現在フレーム画像データ402の第一グリッドセルC704aが、20秒後に次セル画像データ706の第一セルC706aに変化した様子を示している。
補間セル画像データ作成機能を提供する補間セル画像データ作成部707は、現在フレーム画像データ402のあるグリッドセルから、次フレーム画像のあるセルに移動する間に、ピクセル毎に補間演算処理を行う。
【0050】
図9では、現在フレーム画像データ402の第一グリッドセルC704aと、次フレーム画像データ403の第一セルC706aとの間に、補間セル画像データ作成部707によって補間セルC903が形成された状態を示している。このとき、第一グリッドセルC704aに存在する特徴的模様P901と、第一セルC706aに存在する特徴的模様P902とが、補間セル画像データ作成部707による補間演算によって形成された補間セルC903において、互いの特徴的模様が交わった結果、模様P903が形成されている。
【0051】
上述したコンテンツ再生装置101における雲動画再生処理部303、特に補間演算処理部406の処理は、公知のモーフィングの技術思想を応用している。公知のモーフィングは、輪郭が明確な2枚の画像データに対し、部分画像の変形を伴う高度な補間演算処理を行うが、輪郭が不明瞭な雲を対象に既存技術のモーフィングをそのまま実施しても、スムーズな動画データを生成できない。
発明者は、雲の動画を生成するに当たり、部分画像の移動だけで雲の流れを表現できることに気付いた。この技術は、公知のモーフィングを模倣せず、部分画像の変形を行わないため、動画データの生成に係る演算量は極少で済む。
本発明の実施形態に係るコンテンツ再生装置101における雲動画再生処理部303は、グリッドセル画像データをグリッドベクトルで移動させ、輝度の補間演算処理を行うだけの簡易な演算処理だけで、高い再現度で雲、霧、霞、湯気、ガスなど、大気中のエアロゾルの動画データを生成することができる。
【0052】
[圧縮雲動画ファイル生成装置1001]
以上、新規な圧縮雲動画ファイル304のフォーマットと、これを再生するコンテンツ再生装置101を説明した。
これより、
図10~
図13を参照して、雲を所定の時間間隔で撮影した多数の静止画像データをエンコードして、圧縮雲動画ファイル304を生成するための、圧縮雲動画ファイル生成装置1001を説明する。
図10は、圧縮雲動画ファイル生成装置1001のハードウェア構成を示すブロック図である。
【0053】
一般的なパソコン等の、周知のコンピュータである圧縮雲動画ファイル生成装置1001は、バス1010に接続されているCPU1002、ROM1003、RAM1004、表示部1005、操作部1006、NIC1007(ネットワークインターフェースカード)、USB等のシリアルインターフェース1008、不揮発性ストレージ1009を備える。
不揮発性ストレージ1009には、コンピュータを圧縮雲動画ファイル生成装置1001として動作させるためのプログラムが格納されている。
雲の静止画像ファイル等はシリアルインターフェース及び/又はネットワーク経由にて読み込まれる。
【0054】
図11は、圧縮雲動画ファイル生成装置1001のソフトウェア機能を示すブロック図である。
現在フレーム画像データ402と次フレーム画像データ403は、それぞれモザイク処理部1101に読み込まれる。
モザイク処理部1101は周知の平均値演算処理で解像度を低減させた、現在フレームモザイク画像データ1102と次フレームモザイク画像データ1103をそれぞれ生成する。
【0055】
現在フレームモザイク画像データ1102と次フレームモザイク画像データ1103は、オプティカルフロー演算処理部1104に読み込まれる。
オプティカルフロー演算処理部1104は、オプティカルフロー演算処理機能を提供し、グリッドサイズ決定処理部1105は、グリッドサイズ決定処理機能を提供する。
【0056】
オプティカルフロー演算処理部1104は、グリッドサイズ決定処理部1105から指示されたグリッドサイズで抜粋した部分画像データについて、次フレームモザイク画像データ1103から、テンプレートマッチング等の手法により部分画像データの移動先である可能性が最も高い領域を特定する。そして、移動ベクトルであるグリッドサイズベクトルを算出する。
オプティカルフロー演算処理部1104は、この演算処理を全てのグリッドの部分画像データに対して実行して、グリッドサイズベクトル群1106を生成する。
【0057】
モザイクサイズ決定処理部1107は、グリッドサイズ決定処理部1105と協調して、モザイク処理部1101とオプティカルフロー演算処理部1104に対して、グリッドサイズに応じたモザイクサイズを決定して、オプティカルフロー演算処理部1104を制御する。
画像データにモザイク処理を行うと、画像データ同士の類似の判定がモザイクの大きさを単位として実行できる。このため、モザイク処理を行うことで、オプティカルフロー演算処理部1104の演算量を減らすことができる。更に、演算で得られるベクトルの誤差が減るという効果も得られる。モザイク処理によって得られる効果は、このベクトルの誤差の低減の方が大きい。
【0058】
先ず、モザイクサイズ決定処理部1107は、大きなモザイクサイズをモザイク処理部1101に指定する。モザイク処理部1101は、モザイクサイズ決定処理部1107により指定された大きさでモザイク処理を行って、粗いモザイクサイズの現在フレームモザイク画像データ1102と次フレームモザイク画像データ1103を生成する。
【0059】
そして、グリッドサイズ決定処理部1105は、モザイクサイズ決定処理部1107がモザイク処理部1101に指定したモザイクサイズに対応したグリッドサイズのグリッドを、オプティカルフロー演算処理部1104に指定する。オプティカルフロー演算処理部1104は、グリッドサイズ決定処理部1105により指定されたグリッドサイズでオプティカルフロー演算処理を行って、粗いグリッドサイズベクトル群1106を生成する。
【0060】
次に、モザイクサイズ決定処理部1107は、先のモザイクサイズを縦と横で二分割ずつ四等分にする。そして、この細分化したモザイクサイズをモザイク処理部1101に指定する。モザイク処理部1101は、先と同様に、モザイクサイズ決定処理部1107により指定された大きさでモザイク処理を行って、先に作成された画像データよりもモザイクサイズが細かくなった現在フレームモザイク画像データ1102と次フレームモザイク画像データ1103を生成する。
【0061】
そして、グリッドサイズ決定処理部1105は、先のグリッドサイズを縦と横で二分割ずつ四等分にする。更に、この細分化したグリッドサイズのグリッドを、オプティカルフロー演算処理部1104に指定する。オプティカルフロー演算処理部1104は、グリッドサイズ決定処理部1105に指定されたグリッドサイズでオプティカルフロー演算処理を行って、先に作成されたグリッドサイズベクトル群1106よりもグリッドサイズが細かくなったグリッドサイズベクトル群1106を生成する。
【0062】
以下同様に、モザイクサイズ決定処理部1107とグリッドサイズ決定処理部1105は、それぞれモザイクサイズとグリッドサイズを段階的に小さくしながら、モザイク処理部1101とオプティカルフロー演算処理部1104を稼働させ、グリッドサイズに対応したグリッドサイズベクトル群1106を生成する。
グリッドサイズ決定処理部1105は、一連の繰り返し演算処理の回数を管理する。
【0063】
以上説明したモザイク処理部1101とオプティカルフロー演算処理部1104の繰り返し演算処理によって生成されたグリッドサイズベクトル群1106は、ベクトル最適化処理部1108に入力される。
ベクトル最適化処理機能を提供するベクトル最適化処理部1108は、グリッドサイズベクトル群1106に含まれるグリッドサイズベクトルの誤りを検出して、誤ったベクトルを上位のグリッドサイズベクトルに置換する。そして最終的に、ベクトル最適化処理部1108は、複数のグリッドサイズのベクトルに重み付け加算処理を施して、圧縮雲動画ファイル304に用いるグリッドサイズのグリッドベクトル群404を算出する。
なお、本実施形態では単純に上位ベクトルによる置換を例示しているが、ベクトル最適化処理は必ずしも上位ベクトルによる置換に限定されない。より上位のベクトルを併用した、重み付け加算等を用いた補正を採用してもよい。
【0064】
また、データ再構成処理機能を提供するデータ再構成処理部1109は、グリッドベクトル群404と現在フレーム画像データ402と次フレーム画像データ403を読み込み、圧縮雲動画ファイル304を生成する。
具体的には、データ再構成処理部1109は、グリッドベクトル群404を、現在フレーム画像データ402と次フレーム画像データ403で、デリミタD607を介して挟み、ヘッダD601を付加することで、圧縮雲動画ファイル304を生成する。
【0065】
図12は、圧縮雲動画ファイル生成装置1001の動作の流れを示すフローチャートである。
処理を開始すると(S1101)、グリッドサイズ決定処理部1105は、カウンタ変数iを0に初期化する(S1102)。このカウンタ変数iは、グリッドサイズの段階に対応する番号である。
次にグリッドサイズ決定処理部1105はグリッドのピクセル数の初期値を設定する。そして、モザイクサイズ決定処理部1107はモザイク処理におけるモザイクサイズを設定する(S1103)。
【0066】
これ以降はループ処理である。
先ず、モザイク処理部1101は、グリッドサイズ決定処理部1105によって決定されたモザイクサイズに応じて、現在フレーム画像データ402と次フレーム画像データ403に対し、モザイク処理を施して、現在フレームモザイク画像データ1102と次フレームモザイク画像データ1103を出力する(S1104)。
次にオプティカルフロー演算処理部1104は、グリッドサイズ決定処理部1105によって決定されたグリッドサイズに基づき、現在フレームモザイク画像データ1102と次フレームモザイク画像データ1103に対し、オプティカルフロー演算処理を施して、グリッドサイズベクトルを算出する(S1105)。
【0067】
次にグリッドサイズ決定処理部1105は、この時点で上位グリッドサイズベクトルがあるか否かを確認する(S1106)。最初の処理では、上位グリッドサイズベクトルはないので(S1106のNO)、カウンタ変数iを1インクリメントする(S1107)。そしてグリッドサイズ決定処理部1105は、カウンタ変数iが最大数imax以上に至ったか否かを確認する(S1108)。最初の処理では、未だカウンタ変数iは1に増加しただけなので(S1108のNO)、グリッドサイズ決定処理部1105はグリッドサイズを四分割して下位グリッドを作成すると共に、モザイクサイズを直近の処理よりも小さいサイズに決定する(S1109)。そして、ステップS1104から処理を繰り返す。
【0068】
ステップS1106において、上位グリッドサイズベクトルが存在するならば(S1106のYES)、グリッドサイズ決定処理部1105はベクトル最適化処理部1108に処理の実行を指示する。
先ず、ベクトル最適化処理部1108は、カウンタ変数jを0に初期化する(S1110)。このカウンタ変数jは、グリッドの位置に基づいて割り振られた番号である。次にベクトル最適化処理部1108は、j番目のグリッドサイズベクトルの上位に位置するグリッドサイズベクトルとのなす角が閾値以上であるか否かを確認する(S1111)。
【0069】
ステップS1111において、上位に位置するグリッドサイズベクトルとのなす角が閾値以上である場合(S1111のYES)は、ステップS1105で算出したグリッドサイズベクトルが、上位グリッドサイズベクトルと大幅に異なる方向を向いていることを意味する。そこで、当該グリッドサイズベクトルは検出に失敗した無効なベクトルとして、上位グリッドサイズベクトルで上書きする(S1112)。
【0070】
ステップS1111において、上位に位置するグリッドサイズベクトルとのなす角が閾値未満である場合(S1111のNO)は、何もしない。
ステップS1112、またステップS1111のNOの何れの場合でも、ベクトル最適化処理部1108はカウンタ変数jを1インクリメントする(S1113)。
次に、ベクトル最適化処理部1108はj番目のグリッドサイズベクトルが存在しないか否かを確認する(S1114)。
【0071】
ステップS1114において、j番目のグリッドサイズベクトルが存在するなら(S1114のNO)、ベクトル最適化処理部1108は再びステップS1111から処理を繰り返す。
ステップS1114において、j番目のグリッドサイズベクトルが存在しないなら(S1114のYES)、ベクトル最適化処理部1108は一旦処理を終了して、グリッドサイズ決定処理部1105に処理の主導権を引き渡す。グリッドサイズ決定処理部1105はこれを受けて、ステップS1107から処理を繰り返す。
【0072】
また、ステップS1108において、カウンタ変数iが最大数imaxに至ったら(S1108のYES)、グリッドサイズ決定処理部1105はデータ再構成処理部1109に処理の実行を指示する。
データ再構成処理部1109は、グリッドベクトル群404を、現在フレーム画像データ402と次フレーム画像データ403で、デリミタD607を介して挟み、ヘッダD601を付加することで、圧縮雲動画ファイル304を生成する(S1115)。こうして、一連の処理を終了する(S1116)。
【0073】
図13は、上位グリッドベクトルと下位グリッドベクトルの関係を説明する概略図である。
図13Aは、最上位グリッドのうち、2個のグリッドセルを示す。
図13Bは、最上位から2番目のグリッドのうち、
図13Aに示された2個のグリッドセルに属する、8個のグリッドセルを示す。
図13Cは、最上位から3番目のグリッドのうち、
図13Aに示された2個のグリッドセル、及び
図13Bに示された8個のグリッドセルに属する、32個のグリッドセルを示す。
【0074】
図13Aの最上位グリッドセルC1301には、オプティカルフロー演算処理部1104によって、最上位グリッドサイズベクトルV1311が算出され、紐付けられている。
最上位グリッドセルC1301を縦と横に2等分ずつ、合計4等分に分割したものが、
図13Bの上位2番目のグリッドセルC1302、C1303、C1304及びC1305である。これらグリッドセルC1302、C1303、C1304及びC1305は、最上位グリッドセルC1301の下位に属する。
【0075】
グリッドセルC1302を縦と横に2等分ずつ、合計4等分に分割したものが、
図13Cの上位3番目のグリッドセルC1306、C1307、C1308及びC1309である。これらグリッドセルC1306、C1307、C1308及びC1309は、グリッドセルC1302の下位に属する。
【0076】
すなわち、最上位グリッドセルC1301と、グリッドセルC1302、C1303、C1304及びC1305、そしてグリッドセルC1306、C1307、C1308及びC1309における、グリッドセル同士の上下関係を見ると、階層構造の関係性を有していることがわかる。
【0077】
図13Cにおいて、グリッドサイズベクトルV1316、V1317及びV1319は、上位のグリッドサイズベクトルV1312と概ね方向が類似している。しかし、グリッドサイズベクトルV1318だけは、上位のグリッドサイズベクトルV1312と大幅に異なる方向を向いている。このように、グリッドサイズベクトルの方向が上位グリッドサイズベクトルとは全く異なるものについては、上位グリッドサイズベクトルで上書きする。
図13Cの場合、グリッドサイズベクトルV1318は、
図12のステップS1112において、グリッドサイズベクトルV1312によって上書きされる。
【0078】
ベクトルのなす角は、内積から求められる。
例外的に、内積の値が0以下である場合、すなわちベクトルのなす角が90°以上である場合は、内積の値を直接、評価に使用できる。
【0079】
上述した本発明の実施形態は、以下に示す変形例が可能である。
(1)上述した実施形態では、フレーム画像データに適用するグリッドを、正方形又は長方形形状にて定義していたが、グリッドの形態は必ずしも正方形又は長方形形状に限られない。例えば、プラネタリウムの様な、全方位を撮影した仮想半球体状の画像データに対しては、グリッドを正三角形や四角形、六角形等のポリゴンで構成する他、地球儀の経線・緯線の様な放射状の形状を採用してもよい。
このような、均等な長方形形状に当てはまらないグリッドを採用する場合には、グリッドの各交点の座標情報とグリッドセル番号をヘッダD601に収録する必要がある。
【0080】
(2)オプティカルフロー演算処理部1104は、現在フレームモザイク画像データ1102から抜粋した部分画像データについて、次フレームモザイク画像データ1103を参照して、移動ベクトルであるグリッドサイズベクトルを算出する。つまり、時系列的に順方向の移動ベクトルを算出する演算処理を行っている。
この、オプティカルフロー演算処理部1104が算出するグリッドサイズベクトルをより精緻にする手法として、時系列的に逆方向の移動ベクトルも算出し、互いの移動ベクトルの平均値等を演算して最終的なグリッドサイズベクトルとすることが考えられる。
つまり、次フレームモザイク画像データ1103から抜粋した部分画像データについて、現在フレームモザイク画像データ1102を参照して、時系列的に逆方向の移動ベクトルを算出する。そして、順方向の移動ベクトルとの平均値を算出して、これをグリッドサイズベクトルとする。
【0081】
(3)更に、オプティカルフロー演算処理部1104におけるテンプレートマッチングの演算処理を発展させて、現在フレームモザイク画像データ1102から抜粋した部分画像データについて、次フレームモザイク画像データ1103を参照する際、部分画像データの拡大縮小についても検出するように構成することも可能である。
この場合、配列変数であるグリッドベクトル群404は、引数としてグリッドセル番号を代入すると、グリッドベクトルのx成分、グリッドベクトルのy成分に加え、グリッドセル画像の倍率を示すグリッドベクトルのz成分を出力することとなる。そして、ベクトル特定処理部702は、グリッドセル画像倍率を含むグリッドベクトルを出力することとなり、現在フレームグリッドセル抽出処理部703は、グリッドセル画像倍率を含むグリッドベクトルに従って現在グリッドセル画像データ704を出力することとなり、次フレームセル抽出処理部705は、グリッドセル画像倍率を含むグリッドベクトルに従って次セル画像データ706を出力することとなる。
【0082】
本発明の実施形態では、コンテンツ再生装置101と、これを実現する動画再生プログラムと、圧縮雲動画ファイル生成装置1001と、これを実現する圧縮雲動画ファイル304生成プログラムと、圧縮雲動画ファイル304のフォーマットを開示した。
数秒乃至数十秒単位の静止画像データと、その間におけるグリッドセル画像データ群の移動方向と移動距離を示すグリッドベクトル群404で構成された圧縮雲動画ファイル304は、従来の動画データフォーマットの動画データと比べて、圧倒的にデータ量を少なくすることができる。
【0083】
上記圧縮雲動画ファイル304を再生する雲動画再生処理部303は、グリッドセル画像データをグリッドベクトルで移動させ、輝度の補間演算処理を行うだけの、簡易な演算処理だけで、高い再現度で雲、霧、霞、湯気、ガスなど、大気中のエアロゾルの動画データを再生することができる。
上記圧縮雲動画ファイル304を生成する圧縮雲動画ファイル生成装置1001は、グリッドベクトルを生成する際、大きなグリッドセルのグリッドから小さいグリッドセルのグリッドへと変化させながら、オプティカルフロー演算処理を行う。その際、上位のグリッドベクトルとのなす角が大きく異なる下位のグリッドベクトルは、上位のグリッドベクトルにて補正することで、圧縮雲動画ファイル304における破綻を極少にすることができる。
【0084】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含む。
【符号の説明】
【0085】
101…コンテンツ再生装置、102…表示部、201…CPU、202…ROM、203…RAM、204…表示部、205…操作部、206…広域無線通信部、207…無線LANインターフェース、208…不揮発性ストレージ、209…バス、301…主ゲームコンテンツ生成処理部、302…ゲームデータ群、303…雲動画再生処理部、304…圧縮雲動画ファイル、305…雲動画データ、306…画像合成処理部、401…データ抽出処理部、402…現在フレーム画像データ、403…次フレーム画像データ、404…グリッドベクトル群、405…グリッドリスト、406…補間演算処理部、701…グリッド特定処理部、702…ベクトル特定処理部、703…現在フレームグリッドセル抽出処理部、704…現在グリッドセル画像データ、705…次フレームセル抽出処理部、706…次セル画像データ、707…補間セル画像データ作成部、708…補間セル画像データ群、709…補間セル配置処理部、710…一時メモリ、711…セル境界補間処理部、712…補間フレーム画像データ群、713…画像データ合併処理部、1001…圧縮雲動画ファイル生成装置、1002…CPU、1003…ROM、1004…RAM、1005…表示部、1006…操作部、1007…NIC、1008…シリアルインターフェース、1009…不揮発性ストレージ、1010…バス、1101…モザイク処理部、1102…現在フレームモザイク画像データ、1103…次フレームモザイク画像データ、1104…オプティカルフロー演算処理部、1105…グリッドサイズ決定処理部、1106…グリッドサイズベクトル群、1107…モザイクサイズ決定処理部、1108…ベクトル最適化処理部、1109…データ再構成処理部
【手続補正書】
【提出日】2021-12-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
圧縮動画ファイルから圧縮動画を抽出して動画データを出力する動画再生処理部と、ゲームデータ群から各種ゲームデータを読み込み、操作部による操作で種々の動画を生成する主ゲームコンテンツ生成処理部と、前記主ゲームコンテンツ生成処理部で生成される動画データと前記動画再生処理部で生成される動画データを合成して表示部に出力する画像合成処理部から構成されるコンテンツ動画再生装置であるコンピュータに、
前記圧縮動画ファイルから抜粋して、基準時点の画像データである現在フレーム画像データ、前記基準時点から所定時間経過後の次フレーム画像データ、前記現在フレーム画像データを細分化したグリッドセル画像データが前記次フレーム画像データの時点で画面内の座標方向に移動する移動量及び移動方向を示すグリッドベクトルが列挙されたグリッドリストの集合体であるグリッドベクトル群を、データ抽出処理部により抽出するコンテンツデータ抽出処理機能と、
前記現在フレーム画像データ、前記次フレーム画像データ、前記グリッドベクトル群及び前記グリッドリストに基づいて、補間演算処理部により前記現在フレーム画像データと前記次フレーム画像データとの間のフレーム補間演算を行って、動画データを出力する補間演算処理機能と
を実現させるコンテンツ動画再生プログラム。
【請求項2】
更に、前記グリッドリストの先頭から順番にグリッドセルアドレスを、グリッド特定処理部により取り出すグリッド特定処理機能と、
前記グリッドベクトル群から、前記グリッド特定処理部が指定するグリッドセル番号のグリッドベクトルを、ベクトル特定処理部により取り出すベクトル特定処理機能と、
前記現在フレーム画像データから、グリッドセルアドレスによって指定された箇所を切り抜いた現在グリッドセル画像データを、現在フレームグリッドセル抽出処理部により抽出する現在フレームグリッドセル抽出処理機能と、
前記次フレーム画像データから、前記グリッドセルアドレスをグリッドベクトルで移動させ、移動後のグリッドセルアドレスによって指定された箇所を切り抜いた次セル画像データを、次フレームセル抽出処理部により抽出する次フレームセル抽出処理機能と、
前記現在グリッドセル画像データと前記次セル画像データとの間に存在する設定したフレーム枚数分の補間セル画像データ群を補間セル画像データ作成部により作成する補間セル画像データ作成機能と、
前記補間セル画像データ作成部で作成された前記補間セル画像データ群を、補間セル配置処理部により一時メモリ上に配置する補間セル配置処理機能と、
前記補間セル配置処理部によって補間フレーム画像に配置された、前記フレーム枚数分の補間セル画像データ群の補間グリッドセル画像データ同士の境界において、セル境界補間処理部によりスムージングまたは平均値補間による隙間を目立たなくする処理を施すセル境界補間処理機能と、を前記コンピュータに実現させる
請求項1に記載のコンテンツ動画再生プログラム。
【請求項3】
圧縮動画ファイルから圧縮動画を抽出して動画データを出力する動画再生処理部と、ゲームデータ群から各種ゲームデータを読み込み、操作部による操作で種々の動画を生成する主ゲームコンテンツ生成処理部と、前記主ゲームコンテンツ生成処理部で生成される動画データと前記動画再生処理部で生成される動画データを合成して表示部に出力する画像合成処理部から構成されるコンテンツ動画再生装置であって、
前記動画再生処理部は、
前記圧縮動画ファイルから抜粋して、基準時点の画像データである現在フレーム画像データ、前記基準時点から所定時間経過後の次フレーム画像データ、前記現在フレーム画像データを細分化したグリッドセル画像データが前記次フレーム画像データの時点で画面内の座標方向に移動する移動量及び移動方向を示すグリッドベクトルが列挙されたグリッドリストの集合体であるグリッドベクトル群を出力するデータ抽出処理部と、
前記現在フレーム画像データ、前記次フレーム画像データ、前記グリッドベクトル群及び前記グリッドリストに基づいて、前記現在フレーム画像データと前記次フレーム画像データとの間のフレーム補間演算を行って、動画データを出力する補間演算処理部と、を備える
コンテンツ動画再生装置。
【請求項4】
前記補間演算処理部は、
前記グリッドリストの先頭から順番にグリッドセルアドレスを取り出すグリッド特定処理部と、
前記グリッドベクトル群から、前記グリッド特定処理部が指定するグリッドセル番号のグリッドベクトルを取り出すベクトル特定処理部と、
前記現在フレーム画像データから、グリッドセルアドレスによって指定された箇所を切り抜いた現在グリッドセル画像データを抽出する現在フレームグリッドセル抽出処理部と、
前記次フレーム画像データから、前記グリッドセルアドレスをグリッドベクトルで移動させ、移動後のグリッドセルアドレスによって指定された箇所を切り抜いた次セル画像データを抽出する次フレームセル抽出処理部と、
前記現在グリッドセル画像データと前記次セル画像データとの間に存在する設定したフレーム枚数分の補間セル画像データ群を作成する補間セル画像データ作成部と、
前記補間セル画像データ作成部で作成された前記補間セル画像データ群を一時メモリ上に配置する補間セル配置処理部と、
前記補間セル配置処理部によって補間フレーム画像に配置された、前記フレーム枚数分の補間セル画像データ群の補間グリッドセル画像データ同士の境界において、スムージングまたは平均値補間による隙間を目立たなくする処理を施すセル境界補間処理部と、を備える
請求項3に記載のコンテンツ動画再生装置。
【請求項5】
圧縮動画ファイルから圧縮動画を抽出して動画データを出力する動画再生処理部と、ゲームデータ群から各種ゲームデータを読み込み、操作部による操作で種々の動画を生成する主ゲームコンテンツ生成処理部と、前記主ゲームコンテンツ生成処理部で生成される動画データと前記動画再生処理部で生成される動画データを合成して表示部に出力する画像合成処理部から構成されるコンテンツ動画再生装置を用いたコンテンツ動画再生方法であって、
前記圧縮動画ファイルから抜粋して、基準時点の画像データである現在フレーム画像データ、前記基準時点から所定時間経過後の次フレーム画像データ、前記現在フレーム画像データを細分化したグリッドセル画像データが前記次フレーム画像データの時点で画面内の座標方向に移動する移動量及び移動方向を示すグリッドベクトルが列挙されたグリッドリストの集合体であるグリッドベクトル群を、出力するデータ抽出処理ステップと、
前記現在フレーム画像データ、前記次フレーム画像データ、前記グリッドベクトル群及び前記グリッドリストに基づいて、前記現在フレーム画像データと前記次フレーム画像データとの間のフレーム補間演算を行って、動画データを出力する補間演算処理ステップと
を含むコンテンツ動画再生方法。
【請求項6】
さらに、前記グリッドリストの先頭から順番に、グリッド特定処理部によりグリッドセルアドレスを取り出すグリッド特定処理ステップと、
前記グリッドベクトル群から、前記グリッド特定処理部が指定するグリッドセル番号のグリッドベクトルを取り出すベクトル特定処理ステップと、
前記現在フレーム画像データから、グリッドセルアドレスによって指定された箇所を切り抜いた現在グリッドセル画像データを抽出する現在フレームグリッドセル抽出処理ステップと、
前記次フレーム画像データから、前記グリッドセルアドレスをグリッドベクトルで移動させ、移動後のグリッドセルアドレスによって指定された箇所を切り抜いた次セル画像データを抽出する次フレームセル抽出処理ステップと、
前記現在グリッドセル画像データと前記次セル画像データとの間に存在する設定したフレーム枚数分の補間セル画像データ群を、補間セル画像データ作成部により作成する補間セル画像データ作成ステップと、
前記補間セル画像データ作成部で作成された前記補間セル画像データ群を、補間セル配置処理部により一時メモリ上に配置する補間セル配置処理ステップと、
前記補間セル配置処理部によって補間フレーム画像に配置された、前記フレーム枚数分の補間セル画像データ群の補間グリッドセル画像データ同士の境界において、スムージングまたは平均値補間による隙間を目立たなくする処理を施すセル境界補間処理ステップと、を含む、
請求項5に記載のコンテンツ動画再生方法。
【請求項7】
圧縮動画ファイルから抜粋して得られる基準時点の画像データである現在フレーム画像データと、前記基準時点から所定時間経過後の次フレーム画像データから、現在フレームモザイク画像データと次フレームモザイク画像データをモザイク処理部により生成するモザイク処理機能と、
前記フレームモザイク画像データのモザイクサイズを細分化し、モザイクサイズ決定処理部により細分化したモザイクサイズをモザイク処理部に指定するモザイクサイズ決定処理機能と、
前記フレームモザイク画像データのグリッドサイズを細分化し、グリッドクサイズ決定処理部により細分化したグリッドサイズのグリッドを、グリッドサイズ決定処理部によりオプティカルフロー演算処理部に指定するグリッドサイズ決定処理機能と、
前記グリッドサイズ決定処理部に指定されたグリッドサイズで、オプティカルフロー演算処理部によりオプティカルフロー演算処理を行って、先に作成されたグリッドサイズベクトル群よりもグリッドサイズが細かくなったグリッドサイズベクトル群を生成するオプティカルフロー演算処理機能と、
前記グリッドサイズベクトル群に含まれるグリッドサイズベクトルの誤りを検出して、誤ったベクトルを上位のグリッドサイズベクトルに置換し、複数のグリッドサイズのベクトルに重み付け加算処理を施して、ベクトル最適化処理部により、圧縮動画ファイルに用いるグリッドサイズのグリッドベクトル群を算出するベクトル最適化処理機能と、
前記グリッドベクトル群と前記現在フレーム画像データ及び前記次フレーム画像データを読み込み、データ再構成処理部により、圧縮動画ファイルを生成するデータ再構成処理機能と、
をコンピュータに実現するためのコンテンツ動画データ生成プログラム。
【請求項8】
圧縮動画ファイルから抜粋して得られる基準時点の画像データである現在フレーム画像データと、 前記基準時点から所定時間経過後の次フレーム画像データから、現在フレームモザイク画像データと次フレームモザイク画像データを生成するモザイク処理部と、
前記フレームモザイク画像データのモザイクサイズを細分化し、細分化したモザイクサイズを前記モザイク処理部に指定するモザイクサイズ決定処理部と、
前記フレームモザイク画像データのグリッドサイズを細分化し、細分化したグリッドサイズのグリッドを、オプティカルフロー演算処理部に指定するグリッドサイズ決定処理部と、
前記グリッドサイズ決定処理部に指定されたグリッドサイズで、オプティカルフロー演算処理を行って、先に作成されたグリッドサイズベクトル群よりもグリッドサイズが細かくなったグリッドサイズベクトル群を生成するオプティカルフロー演算処理部と、
前記グリッドサイズベクトル群に含まれるグリッドサイズベクトルの誤りを検出して、誤ったベクトルを上位のグリッドサイズベクトルに置換し、複数のグリッドサイズのベクトルに重み付け加算処理を施して、圧縮動画ファイルに用いるグリッドサイズのグリッドベクトル群を算出するベクトル最適化処理部と、
前記グリッドベクトル群と前記現在フレーム画像データ及び前記次フレーム画像データを読み込み、圧縮動画ファイルを生成するデータ再構成処理部と、
を備えるコンテンツ動画データ生成装置。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正の内容】
【0011】
上記課題を解決するために、本発明のコンテンツ動画再生プログラムは、圧縮動画ファイルから圧縮動画を抽出して動画データを出力する動画再生処理部と、ゲームデータ群から各種ゲームデータを読み込み、操作部による操作で種々の動画を生成する主ゲームコンテンツ生成処理部と、主ゲームコンテンツ生成処理部で生成される動画データと動画再生処理部で生成される動画データを合成して表示部に出力する画像合成処理部から構成されるコンテンツ動画再生装置であるコンピュータに、以下の(a)、(b)の機能を実現させるプログラムである。
(a)圧縮動画ファイルから抜粋して、基準時点の画像データである現在フレーム画像データ、基準時点から所定時間経過後の次フレーム画像データ、現在フレーム画像データを細分化したグリッドセル画像データが次フレーム画像データの時点で画面内の座標方向に移動する移動量及び移動方向を示すグリッドベクトルが列挙されたグリッドリストの集合体であるグリッドベクトル群を、データ抽出処理部により抽出するコンテンツデータ抽出処理機能、
(b)現在フレーム画像データ、次フレーム画像データ、グリッドベクトル群及びグリッドリストに基づいて、補間演算処理部により現在フレーム画像データと次フレーム画像データとの間のフレーム補間演算を行って、動画データを出力する補間演算処理機能。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】削除
【補正の内容】