JP2023057399A - 情報処理装置、情報処理方法 - Google Patents
情報処理装置、情報処理方法 Download PDFInfo
- Publication number
- JP2023057399A JP2023057399A JP2021166915A JP2021166915A JP2023057399A JP 2023057399 A JP2023057399 A JP 2023057399A JP 2021166915 A JP2021166915 A JP 2021166915A JP 2021166915 A JP2021166915 A JP 2021166915A JP 2023057399 A JP2023057399 A JP 2023057399A
- Authority
- JP
- Japan
- Prior art keywords
- information
- posture
- file
- frame
- information processing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
- Studio Devices (AREA)
Abstract
【課題】 映像におけるフレームごとに、姿勢変化において不連続点がない姿勢表現で表現された姿勢情報を、該フレームと共に効率的に取得可能にするファイルを生成するための技術を提供すること。【解決手段】 撮像されたフレームの撮像姿勢を示す情報を、姿勢変化において不連続点がない姿勢表現の姿勢情報に変換し、該フレームの圧縮符号化データと、該姿勢情報と、をファイルに格納する。【選択図】 図2
Description
本発明は、圧縮符号化データのファイルの生成技術に関するものである。
近年、全周囲360度の映像をビデオカメラで撮影し、記録された映像を、HMD(ヘッドマウントディスプレイ)やスマートフォンで視聴したり、視聴者の全周囲にプロジェクションされた全周囲映像として視聴することが行われている。視聴する映像は圧縮符号化され、ISO Base File FormatやMP4ファイルフォーマット等の動画ファイルとして保存することが可能である。MP4ファイルフォーマット等の動画ファイルをネットワークを介して伝送してストリーミング再生する国際標準に、MPEG-DASH(Dynamic Adaptive Streaming over HTTP)がある。
HMDで全周囲映像を視聴する場合、視聴者がHMDを向ける方向と視野角に対応する部分映像が全周囲映像から適切に選択され、HMDで再生される必要がある。HMDは視聴者の閲覧姿勢を傾きセンサを用いて常に監視し、該監視により検出された閲覧姿勢を基に適切な映像の切り出しを行う。一般的に姿勢の表現方法には、オイラー角や四元数(クォータニオン)、方向余弦行列がある。直交座標軸からの3つの角度で構成されるオイラー角は、一時点の姿勢が直観的に認識し易いという利点がある反面、姿勢が制限なしに変化する場合に表示する映像の向きに断続性が発生するという課題がある。そのため、4つの係数から成り、パラメータ数が増える反面、断続性の課題を持たない四元数がHMDの姿勢表現では多く使用されている。
一方、近年は全周囲映像の撮影形態としてビデオカメラが固定されるという制約や撮影中のビデオカメラの動きが精密に制御されるという制約なしに、手持ち撮影やドローン(無人飛行機)にビデオカメラを搭載して撮影するといった撮影形態が求められている。しかし、撮影時のビデオカメラの姿勢に動きがある場合、全周囲映像において閲覧者が閲覧する領域(閲覧領域)の選択を、HMDでの閲覧者の姿勢情報のみから行うと、撮影時のビデオカメラの姿勢が考慮されずに閲覧領域が選択されることになってしまう。このような場合、HMDが撮影時のビデオカメラの姿勢情報を取得し、該姿勢情報を考慮して閲覧領域の選択を行うことで、適切な閲覧領域の選択が可能となる。撮影時の姿勢情報を視聴時に利用する方法は特許文献1に開示されている。
従来技術では、撮影時の姿勢情報を表現する方法にオイラー角などの角度情報を使用する方法は提案されている。しかし、前述の通り、オイラー角では、姿勢が連続的に自由に変化して撮影が行われた場合には、表示する映像の向きに断続性が発生するという課題を内在してしまう。また、HMDの姿勢表現では、四元数や方向余弦行列が使用される例が多いため、撮影時の姿勢情報がオイラー角の場合には該オイラー角を四元数や方向余弦行列に変換する変換処理が必要となる。しかし、HMDにおける映像再生時には映像の復号処理を行うため、これに加えてこのような変換処理をフレームごとに行うことは多分なコストが生じる。
本発明では、映像におけるフレームごとに、姿勢変化において不連続点がない姿勢表現で表現された姿勢情報を、該フレームと共に効率的に取得可能にするファイルを生成するための技術を提供する。
本発明の一様態は、撮像されたフレームの撮像姿勢を示す情報を、姿勢変化において不連続点がない姿勢表現の姿勢情報に変換し、該フレームの圧縮符号化データと、該姿勢情報と、をファイルに格納する格納制御手段を備えることを特徴とする。
本発明の構成によれば、映像におけるフレームごとに、姿勢変化において不連続点がない姿勢表現で表現された姿勢情報を、該フレームと共に効率的に取得可能にするファイルを生成することができる。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1の実施形態]
本実施形態では、撮像されたフレームの撮像姿勢を示す情報を、姿勢変化において不連続点がない姿勢表現の姿勢情報に変換し、該フレームの圧縮符号化データと、該姿勢情報と、をファイルに格納(格納制御)する情報処理装置の一例について説明する。本実施形態では、このような情報処理装置の一例として、全方位(全周囲)の映像(動画像)を撮像可能な撮像装置について説明する。本実施形態に係る撮像装置は、撮像した映像における各フレーム(撮像画像)を符号化してファイルに格納すると共に、該フレームの撮像時における該撮像装置の姿勢を示す情報を、姿勢変化において不連続点がない姿勢表現の姿勢情報に変換し、該姿勢情報を該ファイルに格納する。このような撮像装置の一例を図1に示す。
本実施形態では、撮像されたフレームの撮像姿勢を示す情報を、姿勢変化において不連続点がない姿勢表現の姿勢情報に変換し、該フレームの圧縮符号化データと、該姿勢情報と、をファイルに格納(格納制御)する情報処理装置の一例について説明する。本実施形態では、このような情報処理装置の一例として、全方位(全周囲)の映像(動画像)を撮像可能な撮像装置について説明する。本実施形態に係る撮像装置は、撮像した映像における各フレーム(撮像画像)を符号化してファイルに格納すると共に、該フレームの撮像時における該撮像装置の姿勢を示す情報を、姿勢変化において不連続点がない姿勢表現の姿勢情報に変換し、該姿勢情報を該ファイルに格納する。このような撮像装置の一例を図1に示す。
撮像装置101aはドローン102に取り付けられており、ユーザがコントローラを操作してドローン102の飛行操作を行うことで撮像装置101aは、様々な姿勢における全方位の映像を撮像することができる。図1では、撮像装置101aが取り付けられたドローン102が矢印で示す如く左から右に移動しながら撮像装置101aの姿勢を変化させて撮像を行っている状態を示している。
撮像装置101bはユーザ104による手持ちカメラであり、ユーザが手持ちカメラである撮像装置101bの姿勢を変化させることで該撮像装置101bは様々な姿勢における全方位の映像を撮像することができる。図1では、ユーザ104が矢印で示す如く左から右に移動しながら撮像装置101bの姿勢を変化させて撮像を行っている状態を示している。
このように、撮像装置の姿勢を変化させて全方位の映像を撮像するための方法には様々な方法があり、本実施形態では、様々な姿勢における全方位の映像を撮像するための方法は特定の方法に限定されない。
次に、本実施形態に係る撮像装置101(上記の撮像装置101aや撮像装置101bにも適用可能な撮像装置)の機能構成例について、図2のブロック図を用いて説明する。以下では図2に示した各機能部は何れもハードウェアで実装されているものとして説明する。
撮像部201は、全方位の映像を撮像可能であり、撮像した全方位の映像を全方位映像データとして出力する。符号化部202は、撮像部201から出力された全方位映像データをH.264やH.265といった映像符号化方式で圧縮符号化する。
姿勢センサ204は、自身の姿勢を撮像装置101の姿勢として検出し、該検出した姿勢を示す情報を検出姿勢情報として出力する。ここで、姿勢センサ204は、撮像部201と同期して動作している場合には、撮像部201により撮像された各フレームの撮像時における撮像装置101の姿勢を検出することになる。また姿勢センサ204は、撮像部201と非同期に動作している場合には、撮像部201により撮像された各フレームの撮像時近傍における撮像装置101の姿勢を検出することになる。
演算部205は、姿勢センサ204から出力された検出姿勢情報を、「姿勢変化において不連続点がない姿勢表現の姿勢情報」の一例である「四元数の姿勢情報」に変換する。姿勢センサ204は連続的(定期的若しくは不定期的)に姿勢の検出を行い、演算部205は、姿勢センサ204により連続的に検出されたそれぞれの姿勢の検出姿勢情報を四元数の姿勢情報に変換する。演算部205により得られる四元数の姿勢情報の時系列の一例を図3に示す。
図3には、時間(Time)=0.000、0.033、0.066、0.099、0.132のそれぞれで検出された姿勢について演算部205が求めた姿勢情報(四元数qx、qy、qz、qwの値)が示されている。四元数qx、qy、qz、qwのそれぞれの値は-1<qk≦1(k=x、y、z、w)となる。
生成部203は、符号化部202による圧縮符号化により生成される圧縮符号化データと、演算部205による変換によって生成される四元数の姿勢情報と、を含むMP4ファイルフォーマットのファイルをMP4ファイル207として生成する。その際、生成部203は、圧縮符号化データにおける復号単位であるサンプル(フレーム)ごとに、該サンプルと、該サンプルの撮像時における撮像装置101の四元数の姿勢情報と、をMP4ファイル207に格納する。
出力部206は、生成部203が生成したMP4ファイル207を出力する。出力部206によるMP4ファイル207の出力先は特定の出力先に限らない。例えば、出力部206は、MP4ファイル207を有線もしくは無線のネットワークを介して外部の装置に対して送信しても良いし、MP4ファイル207を撮像装置101が有する若しくは撮像装置101に挿入されているメモリ装置に格納しても良い。
MP4ファイル207の構成例を図4(a)に示す。ISO Base File FormatやMP4ファイルフォーマットでは、ファイルは図4(a)に示す如く構造化されており、映像の圧縮符号化データなどのメディアデータはmdat Box401に格納される。更にメディアデータの再生情報はメディアトラックとしてヘッダ情報のtrak Box402に格納される。trak Box402は、メディアデータにおける復号単位であるサンプルごとの情報をテーブルとして構成するstbl Box403を有し、各サンプルの再生時間やデータ長が格納される。
本実施形態では、stbl Box403にサンプルごとの姿勢情報を格納するためのstra Box404を定義した。stra Box404の構成定義例を図4(b)に示す。
図4(b)ではstra Box404をSampleRecordingAttitudeBoxとして定義し、静的定義されたビット和の値が格納されるflagフィールドにより、姿勢情報の形式が四元数であることが示されるものとする。
flagフィールドには、姿勢情報データの記載方法として、サンプルごとの個別flagの有無、姿勢情報データ長、姿勢情報の絶対値または差分値が記載できることとする。姿勢情報データは、entry_count個のサンプルのそれぞれの配列データとして格納され、サンプルごとに、flag、四元数の姿勢情報(qx、qy、qz、qw)の格納フィールドを定義している。ここでは、flagはサンプルの姿勢情報が存在するか否かを示す1ビットの情報(1:存在する 0:存在しない)であるものとする。
1サンプル(1フレーム)分のメディアデータおよび姿勢情報をMP4ファイル207に格納するために生成部203が行う処理について、図5(a)のフローチャートに従って説明する。撮像装置101は、撮像した各フレームについて図5(a)のフローチャートに従った処理を行うことで、該フレームの圧縮符号化データと、該フレームの撮像時における撮像装置101の四元数の姿勢情報と、をMP4ファイル207に格納する。
なお、図5(a)のフローチャートでは、サンプルごとにflagをMP4ファイル207に格納するのではなく、全サンプルで共通の1つのflagをMP4ファイル207に格納するものとする。つまり、ここでは全てのサンプルについて姿勢情報が得られるものとするので、全てのサンプルについて「1」を示す1つのflagがMP4ファイル207に格納されるものとする。
ステップS501では、生成部203は、符号化部202からサンプルのメディアデータ(サンプルの圧縮符号化データ)を取得する。ステップS502では、生成部203は、ステップS501で取得したサンプルのメディアデータを、MP4ファイル207のmdat Box401に格納する。ステップS503では、生成部203は、演算部205により該サンプルについて得られた四元数の姿勢情報を、MP4ファイル207のstra Box404に格納する。
MP4ファイル207におけるstra Box404の構成例を図6(a)に示す。図6(a)においてフィールド601,602のそれぞれは、1つのサンプルについて四元数の姿勢情報を格納するためのフィールドであり、qx、qy、qz、qwを4バイト長のデータとして格納するためのフィールドである。
このように、本実施形態によれば、撮像した各フレームの圧縮符号化データを格納するファイルに、該フレームの撮像姿勢を四元数の姿勢情報に変換して格納する。これによりHMDは、自身がどれだけ回転しても、切り出す画像領域の決定に必要な「撮像姿勢」として適切な「姿勢変化において不連続点がない姿勢表現の姿勢情報」を、フレーム単位で取得することができる。また、映像の再生時には四元数の姿勢情報への変換が必要ないので、再生時における処理負荷を軽減させることができる。
[第2の実施形態]
本実施形態を含む以下の各実施形態では、第1の実施形態との差分について説明し、以下で特に触れない限りは第1の実施形態と同様であるものとする。第1の実施形態では、姿勢センサ204は撮像部201と同期して動作しているものとしたので、サンプルごとに四元数の姿勢情報が得られ、よって、サンプルごとの四元数の姿勢情報がMP4ファイル207に格納される。
本実施形態を含む以下の各実施形態では、第1の実施形態との差分について説明し、以下で特に触れない限りは第1の実施形態と同様であるものとする。第1の実施形態では、姿勢センサ204は撮像部201と同期して動作しているものとしたので、サンプルごとに四元数の姿勢情報が得られ、よって、サンプルごとの四元数の姿勢情報がMP4ファイル207に格納される。
これに対し、本実施形態では、姿勢センサ204は、撮像部201と非同期に動作しているものとする。このとき、撮像タイミングから規定の範囲内のタイミングで姿勢センサ204が姿勢検出ができてない可能性があり、その場合、フレームに対応する四元数の姿勢情報が得られないことになる。
1サンプル(1フレーム)分のメディアデータおよび姿勢情報をMP4ファイル207に格納するために生成部203が行う処理について、図5(b)のフローチャートに従って説明する。図5(a)と同様、図5(b)のフローチャートに従った処理も、撮像装置101により撮像される各フレームについて行われることになる。図5(b)において図5(a)に示した処理ステップと同様の処理ステップには同様のステップ番号を付しており、該処理ステップに係る説明は省略する。
ステップS504では、生成部203は、演算部205が過去に求めた四元数の姿勢情報から、サンプルの撮像タイミングから一定範囲内のタイミングで姿勢センサ204が検出した検出姿勢情報に対応する四元数の姿勢情報を検索する。
この検索の結果、演算部205が過去に求めた四元数の姿勢情報から、サンプルの撮像タイミングから一定範囲内のタイミングで姿勢センサ204が検出した検出姿勢情報に対応する四元数の姿勢情報が見つかれば、処理はステップS506に進む。
一方、演算部205が過去に求めた四元数の姿勢情報から、サンプルの撮像タイミングから一定範囲内のタイミングで姿勢センサ204が検出した検出姿勢情報に対応する四元数の姿勢情報が見つからなかった場合には、処理はステップS508に進む。
ステップS506では、生成部203は、「上記の検索により四元数の姿勢情報が見つかった」(サンプルの姿勢情報があった)ことを示すflagをMP4ファイル207に格納する。ステップS507では、生成部203は、上記の検索により見つけた四元数の姿勢情報を、MP4ファイル207のstra Box404に格納する。
一方、ステップS508では、生成部203は、「上記の検索により四元数の姿勢情報が見つからなかった」(サンプルの姿勢情報はなかった)ことを示すflagをMP4ファイル207に格納する。
このようにして生成されるMP4ファイル207におけるstra Box404の構成例を図6(b)に示す。フィールド604,606のそれぞれは、「上記の検索により四元数の姿勢情報が見つかった」(サンプルの姿勢情報があった)ことを示すflagと、上記の検索により見つけた四元数の姿勢情報(qx、qy、qz、qw)と、が格納されたフィールドである。フィールド605は、「上記の検索により四元数の姿勢情報が見つからなかった」(サンプルの姿勢情報はなかった)ことを示すflagが格納されたフィールドである。
[第3の実施形態]
MP4ファイル207におけるstra Box404の別の構成例を図7(a)に示す。図7(a)のstra Box404では、四元数の姿勢情報であるqx、qy、qz、qwのそれぞれを2バイト長のデータとして格納している。これは、姿勢の検出精度が低い場合にデータ長を短くすることでstra Box404への効率的なデータ格納を実現させることを目的としている。
MP4ファイル207におけるstra Box404の別の構成例を図7(a)に示す。図7(a)のstra Box404では、四元数の姿勢情報であるqx、qy、qz、qwのそれぞれを2バイト長のデータとして格納している。これは、姿勢の検出精度が低い場合にデータ長を短くすることでstra Box404への効率的なデータ格納を実現させることを目的としている。
フィールド701、702のそれぞれには、上記の実施形態よりも短いデータ長で姿勢情報が格納されている。データ長短縮の有無はflagsフィールド703で判断可能としている。このように、姿勢情報のデータ長は姿勢の検出精度に応じたデータ長としても良い。
MP4ファイル207におけるstra Box404の別の構成例を図7(b)に示す。図7(b)のstra Box404では、四元数の姿勢情報(qx、qy、qz、qw)のデータ長がサンプルごとに可変である。フィールド704には姿勢情報が2バイト長のデータとして格納されており、フィールド705には姿勢情報が4バイト長のデータとして格納されている。フィールド704のflagフィールド706には、フィールド704に格納されている姿勢情報のバイト長が判断可能なビットフラグが設定される。同様に、フィールド705のflagフィールド707には、フィールド705に格納されている姿勢情報のバイト長が判断可能なビットフラグが設定される。
[第4の実施形態]
本実施形態では、「サンプル間(フレーム間)における四元数の姿勢情報の差分」が格納されるstra Box404の構成例としていくつかの構成例を説明する。しかし、以下に説明する構成はあくまでも一例であり、以下に説明する構成に限定することを意図したものではない。
本実施形態では、「サンプル間(フレーム間)における四元数の姿勢情報の差分」が格納されるstra Box404の構成例としていくつかの構成例を説明する。しかし、以下に説明する構成はあくまでも一例であり、以下に説明する構成に限定することを意図したものではない。
stra Box404の構成例を図8に示す。図8の構成では、「サンプル間における四元数の姿勢情報の差分」が4バイト(固定長)のデータとしてstra Box404に格納されている。
フィールド801は、最初のサンプルに対応するフィールドであり、最初のサンプルに対応するqx、qy、qz、qwの絶対値が格納される。フィールド802は、2番目のサンプルに対応するフォールドであり、最初のサンプルに対応するqx、qy、qz、qwと、2番目のサンプルに対応するqx、qy、qz、qwと、のそれぞれの差分が格納される。
フィールド803は、3番目のサンプルに対応するフォールドであり、2番目のサンプルに対応するqx、qy、qz、qwと、3番目のサンプルに対応するqx、qy、qz、qwと、のそれぞれの差分が格納される。
stra Box404の構成例を図9に示す。図9の構成では、「サンプル間における四元数の姿勢情報の差分」が2バイト(固定長)のデータとしてstra Box404に格納されている。
フィールド901は、最初のサンプルに対応するフィールドであり、最初のサンプルに対応するqx、qy、qz、qwの絶対値と、フィールド901が絶対値が格納されるフィールドであることを示すflagと、が格納される。
フィールド902は、2番目のサンプルに対応するフォールドであり、最初のサンプルに対応するqx、qy、qz、qwと、2番目のサンプルに対応するqx、qy、qz、qwと、のそれぞれの差分が格納される。
フィールド903は、3番目のサンプルに対応するフォールドであり、2番目のサンプルに対応するqx、qy、qz、qwと、3番目のサンプルに対応するqx、qy、qz、qwと、のそれぞれの差分が格納される。
絶対値ではなく差分値を使用することでデータ長が小さくて十分な場合に有効な構成となる。2番目以降のサンプルに対応する四元数の姿勢情報が「前のサンプルの四元数の姿勢情報に対する差分」であること、及びデータ長が2バイトであることは、flagsフィールド904に設定されているビットフラグで判別する。
stra Box404の構成例を図10に示す。図10の構成では、「サンプル間における四元数の姿勢情報の差分」が可変長のデータとしてstra Box404に格納されている。
フィールド1000は、最初のサンプルに対応するフィールドであり、最初のサンプルに対応するqx、qy、qz、qwの絶対値と、フィールド1000が絶対値が格納されるフィールドであることを示すflagと、が格納される。
フィールド1001は、2番目のサンプルに対応するフォールドであり、最初のサンプルに対応するqx、qy、qz、qwと、2番目のサンプルに対応するqx、qy、qz、qwと、のそれぞれの差分が2バイトのデータとして格納される。該差分のバイト長はflagフィールド1003にて示されている。
フィールド1002は、3番目のサンプルに対応するフォールドであり、2番目のサンプルに対応するqx、qy、qz、qwと、3番目のサンプルに対応するqx、qy、qz、qwと、のそれぞれの差分が4バイトのデータとして格納される。該差分のバイト長はflagフィールド1004に格納されている。
[第5の実施形態]
本実施形態では、姿勢センサ204のキャリブレーションを行った直後のサンプル(第1サンプル)に対応する四元数の姿勢情報を、該姿勢情報の絶対値を表す4バイトのデータとしてstra Box404に格納する。そして、第N(Nは2以上の整数)サンプルに対応する四元数の姿勢情報を、第(N-1)サンプルに対応する四元数の姿勢情報との差分を表す2バイトのデータとしてstra Box404に格納する。
本実施形態では、姿勢センサ204のキャリブレーションを行った直後のサンプル(第1サンプル)に対応する四元数の姿勢情報を、該姿勢情報の絶対値を表す4バイトのデータとしてstra Box404に格納する。そして、第N(Nは2以上の整数)サンプルに対応する四元数の姿勢情報を、第(N-1)サンプルに対応する四元数の姿勢情報との差分を表す2バイトのデータとしてstra Box404に格納する。
1サンプル(1フレーム)分のメディアデータおよび姿勢情報をMP4ファイル207に格納するために生成部203が行う処理について、図11のフローチャートに従って説明する。図11のフローチャートに従った処理も、撮像装置101により撮像される各フレームについて行われることになる。図11において図5(a)、(b)に示した処理ステップと同様の処理ステップには同様のステップ番号を付しており、該処理ステップに係る説明は省略する。
ステップS1101では、生成部203は、演算部205から得られた四元数の姿勢情報が、姿勢センサ204のキャリブレーションが行われた直後のサンプルの四元数の姿勢情報であるか否かを判断する。この判断の結果、演算部205から得られた四元数の姿勢情報が、姿勢センサ204のキャリブレーションが行われた直後のサンプルの四元数の姿勢情報である場合には、処理はステップS1102に進む。一方、演算部205から得られた四元数の姿勢情報が、姿勢センサ204のキャリブレーションが行われた直後のサンプルの四元数の姿勢情報ではない場合には、処理はステップS1104に進む。
ステップS1102では、生成部203は、演算部205から得られた四元数の姿勢情報の絶対値を4バイトのデータとして、MP4ファイル207のstra Box404に格納する。ステップS1103では、生成部203は、姿勢センサ204のキャリブレーションが行われた直後のサンプルに対応するflagフィールドに同期フラグを設定する。
一方、ステップS1104では、生成部203は、演算部205から得られた四元数の姿勢情報と、前のサンプルに対応する四元数の姿勢情報と、の差分を2バイトのデータとして、MP4ファイル207のstra Box404に格納する。
このようなMP4ファイル207を再生する再生装置では、同期フラグを含むflagフィールドに対応する姿勢情報はそのまま利用する。一方、再生装置は、同期フラグを含まないflagフィールドに対応する着目サンプルについては、該着目サンプルの姿勢情報(差分)と、該着目サンプルの前のサンプルの復元した姿勢情報と、を加算して該着目サンプルの姿勢情報を復元し、該復元した姿勢情報を利用する。
図11のフローチャートに従って生成されるstra Box404の構成例を図12に示す。フィールド1201,1202,1204は、姿勢センサ204のキャリブレーション直後のサンプルではないサンプルに対応する四元数の姿勢情報と、その前のサンプルの姿勢情報と、の差分を表す2バイトのデータとして格納するためのフィールドである。
フィールド1203は、姿勢センサ204のキャリブレーション直後のサンプルに対応する四元数の姿勢情報の絶対値を4バイトのデータとして格納するためのフィールドである。
[第6の実施形態]
上記の実施形態では、「姿勢変化において不連続点がない姿勢表現の姿勢情報」の一例として「四元数の姿勢情報」を用いたが、方向余弦行列等、他の情報を「姿勢変化において不連続点がない姿勢表現の姿勢情報」として用いても良い。
上記の実施形態では、「姿勢変化において不連続点がない姿勢表現の姿勢情報」の一例として「四元数の姿勢情報」を用いたが、方向余弦行列等、他の情報を「姿勢変化において不連続点がない姿勢表現の姿勢情報」として用いても良い。
また、上記の実施形態では、撮像部201は映像のみを収集ものとして説明したが、映像に加えて音声を収集するようにしても良い。そのような場合、MP4ファイル207には各フレームの圧縮符号化データと各フレームに対応する音声の圧縮符号化データとが格納されることになる。
上記の実施形態では、図2の各機能部はハードウェアで実装されているものとして説明したが、符号化部202、演算部205、生成部203、出力部206はソフトウェア(コンピュータプログラム)で実装しても良い。この場合、このようなコンピュータプログラムを実行可能なコンピュータ装置は撮像装置101に適用可能である。
また、上記の情報処理装置は、符号化部202、演算部205、生成部203、出力部206を有する装置であって、撮像部201および姿勢センサ204が外付け装置として接続された該装置にも適用可能である。この場合も、符号化部202、演算部205、生成部203、出力部206はハードウェアで実装しても良いが、ソフトウェアで実装しても良く、後者の場合、このようなコンピュータプログラムを実行可能なコンピュータ装置は情報処理装置に適用可能である。このようなコンピュータ装置のハードウェア構成例について、図13のブロック図を用いて説明する。
CPU1301は、RAM1302やROM1303に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU1301はコンピュータ装置全体の動作制御を行うと共に、情報処理装置が行うものとして説明した各処理を実行もしくは制御する。
RAM1302は、ROM1303や外部記憶装置1306からロードされたコンピュータプログラムやデータを格納するためのエリア、I/F1307を介して外部から受信したデータを格納するためのエリア、を有する。さらにRAM1302は、CPU1301が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM1302は、各種のエリアを適宜提供することができる。
ROM1303には、コンピュータ装置の設定データ、コンピュータ装置の起動に係るコンピュータプログラムやデータ、コンピュータ装置の基本動作に係るコンピュータプログラムやデータ、などが格納されている。
操作部1304は、キーボード、マウス、タッチパネルなどのユーザインターフェースであり、ユーザが操作することで各種の指示をCPU1301に対して入力することができる。
表示部1305は、液晶画面やタッチパネル画面を有し、CPU1301による処理結果を画像や文字などでもって表示することができる。なお、表示部1305は、画像や文字を投影するプロジェクタなどの投影装置であっても良い。
外部記憶装置1306は、ハードディスクドライブ装置などの大容量情報記憶装置である。外部記憶装置1306には、OS、情報処理装置が行うものとして説明した各種の処理をCPU1301に実行もしくは制御させるためのコンピュータプログラムやデータ、などが保存されている。外部記憶装置1306に保存されているコンピュータプログラムやデータは、CPU1301による制御に従って適宜RAM1302にロードされ、CPU1301による処理対象となる。
I/F1307は、外部の装置との間のデータ通信を行うための通信インターフェースである。例えば、I/F1307には、上記の撮像部201および姿勢センサ204を接続することができる。この場合、撮像部201により撮像された映像や姿勢センサ204により検出された検出姿勢情報は、I/F1307を介してRAM1302や外部記憶装置1306に格納される。
CPU1301、RAM1302、ROM1303、操作部1304、表示部1305、外部記憶装置1306、I/F1307は何れもシステムバス1308に接続されている。
なお、上記で説明したコンピュータプログラムは、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
また、このようなコンピュータプログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM,DVD-R)などである。
また、上記のコンピュータプログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから上記のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、上記のコンピュータプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、上記のコンピュータプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、上記のコンピュータプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたコンピュータプログラムを実行し、コンピュータにインストールさせることができる。
また、上記の各実施形態で使用した数値、処理タイミング、処理順、処理の主体、データ(情報)の送信先/送信元/格納場所などは、具体的な説明を行うために一例として挙げたもので、このような一例に限定することを意図したものではない。
また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態や変形例の一部若しくは全部を選択的に使用しても構わない。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
201:撮像部 202:符号化部 203:生成部 204:姿勢センサ 205:演算部 206:出力部
Claims (14)
- 撮像されたフレームの撮像姿勢を示す情報を、姿勢変化において不連続点がない姿勢表現の姿勢情報に変換し、該フレームの圧縮符号化データと、該姿勢情報と、をファイルに格納する格納制御手段を備えることを特徴とする情報処理装置。
- 前記格納制御手段は、フレームに対応する姿勢情報が得られた場合には、その旨を示す情報と、該姿勢情報と、を前記ファイルに格納することを特徴とする請求項1に記載の情報処理装置。
- 前記格納制御手段は、フレームに対応する姿勢情報が得られなかった場合には、その旨を示す情報を前記ファイルに格納することを特徴とする請求項1または2に記載の情報処理装置。
- 前記姿勢情報のデータ長は姿勢の検出精度に応じたデータ長であることを特徴とする請求項1ないし3の何れか1項に記載の情報処理装置。
- 前記姿勢情報のデータ長はフレームごとに可変であることを特徴とする請求項1ないし3の何れか1項に記載の情報処理装置。
- 前記格納制御手段は、姿勢情報の絶対値もしくはフレーム間における姿勢情報の差分をファイルに格納することを特徴とする請求項1に記載の情報処理装置。
- 前記差分は固定長のデータであることを特徴とする請求項6に記載の情報処理装置。
- 前記差分は可変長のデータであることを特徴とする請求項6に記載の情報処理装置。
- 前記格納制御手段は、前記撮像姿勢を検出するセンサのキャリブレーション直後のフレームについては、該フレームに対応する姿勢情報の絶対値を前記ファイルに格納し、該キャリブレーション直後ではないフレームについては、フレーム間における姿勢情報の差分を前記ファイルに格納することを特徴とする請求項1に記載の情報処理装置。
- 前記姿勢情報は、四元数(クォータニオン)、方向余弦行列のいずれかであることを特徴とする請求項1ないし9の何れか1項に記載の情報処理装置。
- 前記ファイルはMP4ファイルフォーマットのファイルであることを特徴とする請求項1ないし10の何れか1項に記載の情報処理装置。
- 更に、
前記撮像姿勢を検出するセンサと、
前記フレームを撮像する撮像部と
を備えることを特徴とする請求項1ないし11の何れか1項に記載の情報処理装置。 - 情報処理装置の格納制御手段が、撮像されたフレームの撮像姿勢を示す情報を、姿勢変化において不連続点がない姿勢表現の姿勢情報に変換し、該フレームの圧縮符号化データと、該姿勢情報と、をファイルに格納することを特徴とする情報処理方法。
- コンピュータを、請求項1ないし12の何れか1項に記載の情報処理装置の格納制御手段として機能させるためのコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021166915A JP2023057399A (ja) | 2021-10-11 | 2021-10-11 | 情報処理装置、情報処理方法 |
US18/045,085 US20230111528A1 (en) | 2021-10-11 | 2022-10-07 | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021166915A JP2023057399A (ja) | 2021-10-11 | 2021-10-11 | 情報処理装置、情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023057399A true JP2023057399A (ja) | 2023-04-21 |
Family
ID=85797597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021166915A Pending JP2023057399A (ja) | 2021-10-11 | 2021-10-11 | 情報処理装置、情報処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230111528A1 (ja) |
JP (1) | JP2023057399A (ja) |
-
2021
- 2021-10-11 JP JP2021166915A patent/JP2023057399A/ja active Pending
-
2022
- 2022-10-07 US US18/045,085 patent/US20230111528A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230111528A1 (en) | 2023-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6559846B1 (en) | System and process for viewing panoramic video | |
EP0808070B1 (en) | Image signal processor and processing method | |
US20200329266A1 (en) | Information processing apparatus, method for processing information, and storage medium | |
CN112235585B (zh) | 一种虚拟场景的直播方法、装置及系统 | |
WO2017169369A1 (ja) | 情報処理装置、情報処理方法、プログラム | |
JP6669403B2 (ja) | 通信装置、通信制御方法および通信システム | |
US9445142B2 (en) | Information processing apparatus and control method thereof | |
JP2006254366A (ja) | 画像処理装置、カメラシステム、ビデオシステム、ネットワークデータシステム、並びに、画像処理方法 | |
US20180343459A1 (en) | Image compression method and image decompression method | |
CN113038010B (zh) | 视频处理方法、视频处理装置、存储介质与电子设备 | |
JP2023520736A (ja) | メディアファイルのカプセル化方法、メディアファイルのカプセル化解除方法及び関連機器 | |
JP4649640B2 (ja) | 画像処理方法、画像処理装置、及びコンテンツ作成システム | |
US10783670B2 (en) | Method for compression of 360 degree content and electronic device thereof | |
JP2023057399A (ja) | 情報処理装置、情報処理方法 | |
JP6261191B2 (ja) | 表示制御装置、表示制御方法、プログラム | |
US20110085047A1 (en) | Photographing control method to set photographing configuration according to image processing scheme useable with image content, and photographing apparatus using the same | |
CN112492230B (zh) | 视频处理方法、装置、可读介质及电子设备 | |
CN111034187A (zh) | 动态图像的生成方法、装置、可移动平台和存储介质 | |
CN115134633B (zh) | 一种远程视频方法及相关装置 | |
US7640508B2 (en) | Method and apparatus for generating images of a document with interaction | |
JP2006304163A (ja) | 静止画生成システム | |
US10192362B2 (en) | Generating virtual reality and augmented reality content for a live event | |
JP4750634B2 (ja) | 画像処理システム、画像処理装置、情報処理装置並びにプログラム | |
CN104135637A (zh) | 低分辨率转换成高分辨率的图像处理方法及装置 | |
JP5927515B2 (ja) | 画像編集方法、画像編集システム、及び画像編集プログラム |