<本技術を適用したディジタルカメラの一実施の形態>
図1は、本技術を適用したディジタルカメラの一実施の形態の構成例を示すブロック図である。
ディジタルカメラ10は、光学系11、イメージセンサ12、信号処理部13、メディア14、I/F(Interface)15及び16、ボタン/キー17、タッチパネル18、液晶パネル19、ビューファインダ20、並びに、I/F21等を有する。
光学系11は、被写体からの光を、イメージセンサ12に集光する。
イメージセンサ12は、光学系11からの光を受光し、光電変換する撮像を行うことで、電気信号としての画像のデータを生成し、信号処理部13に供給する。
信号処理部13は、光学系/イメージセンサ制御部41、符号化制御部42、ファイル制御部43、メディア制御部44、操作制御部45、表示制御部46、及び、UI制御部47を有する。
光学系/イメージセンサ制御部41は、光学系11及びイメージセンサ12を制御し、その制御に従って行われる撮像により得られる画像(のデータ)を、符号化制御部42に供給する。
符号化制御部42は、光学系/イメージセンサ制御部41からの画像を表示制御部46に供給するとともに、必要に応じて符号化し、ファイル制御部43に供給する。また、符号化制御部42は、ファイル制御部43から供給される画像を必要に応じて復号し、表示制御部46に供給する。
ファイル制御部43は、符号化制御部42から供給される画像を格納したファイルを生成し、メディア制御部44に供給する。また、ファイル制御部43は、メディア制御部44から供給されるファイルの再生、すなわち、ファイルに格納された画像等のデータの読み出し等を行う。例えば、ファイルから読み出された画像は、ファイル制御部43から符号化制御部42に供給される。
メディア制御部44は、メディア14、並びに、I/F15及び16との間でのファイルのやりとりを制御する。例えば、メディア制御部44は、ファイル制御部43からのファイルを、メディア14に記録させ、又は、I/F15及び16から送信させる。また、メディア制御部44は、メディア14からファイルを読み出し、又は、I/F15及び16にファイルを受信させ、ファイル制御部43に供給する。
操作制御部45は、ユーザによるボタン/キー17やタッチパネル18の操作に応じて、その操作に対応する操作信号を、必要なブロックに供給する。
表示制御部46は、符号化制御部42から供給される画像等を、液晶パネル19や、ビューファインダ20、I/F21に供給して表示させる表示制御等を行う。
UI制御部47は、UI(User Interface)制御をつかさどる。
メディア14は、例えば、SDカード等の記憶媒体である。I/F15は、例えば、WiFi(登録商標)やイーサネット(登録商標)等のLAN(Local Area Network)のI/Fである。I/F16は、例えば、USB(Universal Serial Bus)のI/Fである。ボタン/キー17及びタッチパネル18は、ディジタルカメラ10に指令その他の情報を入力するときに、ユーザによって操作される。タッチパネル18は、液晶パネル19と一体的に構成することができる。液晶パネル19及びビューファインダ20は、表示制御部46から供給される画像等を表示する。I/F21は、HDMI(High-Definition Multimedia Interface)(登録商標)やDP(Display Port)等の少なくとも画像を伝送するI/Fである。
以上のように構成されるディジタルカメラ10では、光学系/イメージセンサ制御部41は、イメージセンサ12の撮像により得られるRAWデータの画像(以下、RAW画像ともいう)から、例えば、そのRAW画像と同一の解像度(画素数)(サイズ)のYUVの画像を生成し、RAW画像とともに、符号化制御部42に供給する。符号化制御部42は、光学系/イメージセンサ制御部41からのYUVの画像から、HEIFファイルの主画像(master image)等を生成する。例えば、光学系/イメージセンサ制御部41からのYUVの画像を、そのままHEIFファイルの主画像とすることができる。
符号化制御部42は、YUVの主画像から、液晶パネル19や外部のディスプレイでの表示の用途用に、主画像に基づく第1の他の画像としての、例えば、主画像よりも解像度が低いYUVの画像(以下、スクリーンネイル画像ともいう)を生成するとともに、インデクス表示(一覧表示)の用途用に、主画像に基づく第2の他の画像としての、例えば、スクリーンネイル画像よりも解像度が低いYUVの画像(以下、サムネイル画像ともいう)を生成する。符号化制御部42は、例えば、スクリーンネイル画像を、表示制御部46を介して、液晶パネル19に供給し、いわゆるスルー画として表示させる。サムネイル画像としては、例えば、長辺が320ピクセル以下のサイズの画像を採用することができる。主画像と、主画像に基づく第1の他の画像としてのスクリーンネイル画像、又は、主画像に基づく第2の他の画像としてのサムネイル画像とのサイズ(ピクセル数)の比率は、例えば、200倍以下にすることができる。主画像に基づく第1の他の画像としてのスクリーンネイル画像と、主画像に基づく第2の他の画像としてのサムネイル画像とのサイズの比率も、同様に、200倍以下とすることができる。スクリーンネイル画像としては、例えば、解像度が4K以上の画像を採用することができる。また、スクリーンネイル画像としては、例えば、ユーザの選択に応じて、4K(QFHD)又はFHDの画像を採用することができる。さらに、主画像とスクリーンネイル画像としては、同一の解像度の画像を採用することができる。主画像とスクリーンネイル画像として、同一の解像度の画像を採用する場合、HEIFファイルには、主画像とスクリーンネイル画像との両方を格納することもできるし、スクリーンネイル画像を格納せずに、主画像を格納することができる。HEIFファイルに、スクリーンネイル画像を格納せずに、主画像を格納する場合には、主画像をリサイズして、スクリーンネイル画像として用いることができる。
また、符号化制御部42は、RAW画像に対応する主画像、スクリーンネイル画像、及び、サムネイル画像(同一のRAW画像から生成された主画像、スクリーンネイル画像、及び、サムネイル画像)を、必要に応じて符号化し、RAW画像とともに、ファイル制御部43に供給する。
ファイル制御部43は、必要に応じて、RAW画像が格納されたRAWファイルや、対応する主画像、スクリーンネイル画像、及び、サムネイル画像(同一のRAW画像から生成された主画像、スクリーンネイル画像、及び、サムネイル画像)が格納されたHEIFファイル、及び/又は、JPEGファイル等を生成し、メディア制御部44に供給する。HEIFファイルとは、HEIF(High Efficiency Image File Format)に準拠したファイルであり、JPEGファイルとは、JPEG(Joint Photographic Experts Group)に準拠したファイルである。
メディア制御部44は、ファイル制御部43からのRAWファイルや、HEIFファイル、JPEGファイルを、メディア14に記録し、あるいは、I/F15又は16から送信させる。
ファイル制御部43において生成するファイルの種類(例えば、RAWファイルや、HEIFファイル、JPEGファイル等)は、例えば、ユーザの操作(指定)に応じて選択することができる。また、HEIFファイルには、後述するように、イメージアイテム形式とイメージシーケンス形式とがあるが、イメージアイテム形式とイメージシーケンス形式とのいずれを採用するかは、例えば、ユーザの操作に応じて選択することができる。さらに、ファイル制御部43では、ユーザの操作に応じて、HEIFファイルとJPEGファイルとの間の相互変換を行うことができる。
また、ファイル制御部43では、コーデックや、画像のサイズ(解像度)、カラーフォーマット、ビット深度が異なる、同一の画像内容の複数のファイルを生成することができる。
ファイル制御部43において、同一の画像内容の複数のファイルを生成する場合、符号化制御部42では、光学系/イメージセンサ制御部41からのYUVの画像から、複数のファイルそれぞれに格納される画像のストリーム(ファイルストリーム)が生成される。
符号化制御部42では、コーデックや、画像のサイズ(解像度)、カラーフォーマット、ビット深度が異なる画像のストリームを生成することができる。
例えば、符号化制御部42では、光学系/イメージセンサ制御部41から供給されるYUVの画像から、所定のサイズ、所定のカラーフォーマット、及び、所定のビット深度の画像を生成し、その画像を、所定のコーデック(符号化方式)で符号化した第1のストリームを生成することができる。さらに、符号化制御部42では、光学系/イメージセンサ制御部41から供給される同一のYUVの画像から、他のサイズ、他のカラーフォーマット、及び、他のビット深度の画像を生成し、その画像を、他のコーデックで符号化した第2のストリームを生成することができる。
そして、ファイル制御部43では、第1のストリームを格納したファイルと、第2のストリームを格納したファイルとを生成することができる。
<JPEGファイル>
図2は、JPEG(Joint Photographic Experts Group)に準拠したJPEGファイルのフォーマットの例を示す図である。
JPEGファイルは、例えば、Exifのメタデータ、サムネイル画像、XMP(Extensible Metadata Platform)(登録商標)のメタデータ、主画像及び簡易表示用画像の格納場所(位置)等を表すMPF、主画像、並びに、簡易表示用画像が格納されて構成される。簡易表示用画像としては、例えば、スクリーンネイル画像を採用することができる。
<ISOベースメディアファイルフォーマット>
図3は、ISOベースメディアファイルフォーマットの例を示す図である。
HEIF(ISO/IEC 23008-12)は、ISOベースメディアファイルフォーマット(ISO/IEC 14496-12)に準拠したファイルフォーマットであり、したがって、HEIFファイルは、ISOベースメディアファイルフォーマットに準拠する。
ISOベースメディアファイルフォーマットは、データを格納するコンテナとしてのボックス(box)と呼ばれる単位で構成され、ボックス構造と呼ばれる構造を有する。
ボックスは、タイプ(box type)、及び、実データ(data)等を有する。タイプは、ボックス内の実データの種類を表す。実データとしては、画像(静止画、動画)や、オーディオ、字幕(サブタイトル)等の再生可能なメディアデータ、属性名(フィールド名)とその属性名(で表される変数)の属性値(フィールド値)、その他の各種のデータを採用することができる。
さらに、実データとしては、ボックスを採用することができる。すなわち、ボックスは、実データとして、ボックスを持つことができ、これにより、階層構造にすることができる。
ISOベースメディアファイルフォーマットに準拠したベースメディアファイルは、ftypボックス、moovボックス(MovieBox)、metaボックス(MetaBox)、及び、mdatボックス(MediaDataBox)等を有することができる。ftypボックスには、ファイルフォーマットを識別する識別情報が格納される。moovボックスは、trakボックス等を格納することができる。metaボックスは、iinfボックス、iprpボックス、irefボックス、ilocボックス等を格納することができる。mdatボックスは、メディアデータ(AVデータ)、その他任意のデータを格納することができる。
HEIFは、以上のようなISOベースメディアファイルフォーマットに準拠する。
<HEIFファイル>
図4は、HEIFに準拠したHEIFファイルのフォーマットの例を示す図である。
HEIFファイルには、大きく分けて、イメージアイテム形式と、イメージシーケンス形式とがある。さらに、イメージアイテム形式には、後述するアイテムを1つだけ有するシングルイメージ形式と、アイテムを複数有するイメージコレクション形式とがある。
イメージアイテム形式のHEIFファイルは、ftypボックス、metaボックス、及び、mdatボックスを有する。
イメージシーケンス形式のHEIFファイルは、ftypボックス、moovボックス、及び、mdatボックスを有する。
なお、HEIFファイルは、metaボックス及びmoovボックスのうちの一方だけでなく、両方を有することもできる。
ftypボックスには、ファイルフォーマットを識別する識別情報、例えば、ファイルがイメージアイテム形式又はイメージシーケンス形式のHEIFファイルであること等が格納される。
metaボックス及びmoovボックスには、mdatボックスに格納されるメディアデータの再生や管理等に必要な、例えば、メディアデータの格納場所等のメタデータが格納される。
mdatボックスには、メディアデータ(AVデータ)等が格納される。
ディジタルカメラ10において、イメージアイテム形式とイメージシーケンス形式とのHEIFファイルのうちのいずれのHEIFファイルを生成するかは、例えば、ユーザの操作に応じて選択することができる。また、HEIFファイルのmdatボックスに、画像を符号化して格納する場合には、イメージアイテム形式については、イントラ符号化のみが許され、イメージシーケンス形式については、イントラ符号化及びインター符号化が許される。したがって、例えば、HEIFファイルに格納されたデータへの高速アクセスを優先する場合には、イメージアイテム形式のHEIFファイルの生成を選択し、HEIFファイルのサイズ(データ量)を小さくすることを優先する場合には、イメージシーケンス形式のHEIFファイルの生成を選択することができる。
図5は、イメージアイテム形式のHEIFファイルのフォーマットの例を示す図である。
イメージアイテム形式のHEIFファイルでは、ftypボックスに、イメージアイテム形式のHEIFファイルであることを表す情報、例えば、mif1等が(属性値として)格納される。
metaボックスには、iinfボックス、irefボックス、iprpボックス、及び、ilocボックスが格納される。
iinfボックスには、mdatボックスに格納されたメディアデータ(AVデータ)であるアイテムの数(を表す属性名と属性値)等が格納される。アイテムとは、イメージアイテム形式のHEIFファイルのmdatボックスに格納される1つのデータであり、例えば、1枚(画面)の画像が、アイテムである。本明細書では、静止画及び動画にかかわらず、画像の1枚を、フレームともいう。1フレームは、1アイテムである。
irefボックスには、アイテムどうしの関連を表す情報が格納される。例えば、mdatボックスには、対応する主画像、スクリーンネイル画像、及び、サムネイル画像のそれぞれをアイテムとして格納することができる。mdatボックスに、主画像としてのアイテムI1、スクリーンネイル画像としてのアイテムI2、及び、サムネイル画像としてのアイテムI3が格納される場合、irefボックスには、アイテムI2がアイテムI1としての主画像のスクリーンネイル画像であることを表す情報や、アイテムI3がアイテムI1としての主画像のサムネイル画像であることを表す情報が格納される。
iprpボックスには、アイテムのプロパティに関する情報が格納される。
ilocボックスには、mdatボックスに格納されたアイテムの格納場所に関する情報が格納される。
イメージアイテム形式の(HEIFファイルの)mdatボックスには、アイテムとしての、例えば、画像のフレームが格納される。mdatボックスには、1個以上のアイテムを格納することができる。また、mdatボックスには、アイテムとしてのフレームを符号化して格納することができる。但し、イメージアイテム形式のmdatボックスに格納するアイテムとしてのフレームの符号化は、イントラ符号化に制限される。アイテムとしてのフレームを符号化する符号化方式(コーデック)としては、例えば、HEVC等を採用することができる。
図6は、図5のiprpボックスの例を示す図である。
iprpボックスには、アイテムのプロパティに関するipcoボックス及びipmaボックスが格納される。ipcoボックスには、mdatボックスに格納されたアイテムのプロパティ、例えば、アイテムとしての画像のコーデックに関するコーデック情報やサイズに関する画サイズ情報が格納される。ipmaボックスには、mdatボックスに格納されたアイテムの、ipcoボックスに格納されたプロパティへのインデクス(ポインタ)が格納される。
図7は、イメージシーケンス形式のHEIFファイルのフォーマットの例を示す図である。
イメージシーケンス形式のHEIFファイルでは、ftypボックスに、イメージシーケンス形式のHEIFファイルであることを表す情報、例えば、msf1等が格納される。
moovボックスには、trakボックスが格納される。trakボックスには、mdatボックスに格納されるトラックに関する情報が格納される。
トラックは、画像や音声等の1つの独立した、タイムラインに従って再生されるメディアデータで構成される。例えば、トラックは、エレメンタリストリームとなる1フレーム以上の画像で構成される。mdatボックスに格納されるトラックについては、複数のトラック、例えば、同時に記録された画像及び音声それぞれのトラックを、同時に再生することができる。
トラックのメディアデータは、サンプルと呼ばれる単位で構成される。サンプルとは、HEIFファイル内のメディアデータにアクセスする場合の、最小の単位(アクセス単位)である。したがって、サンプルより細かい単位で、HEIFファイル内のメディアデータにアクセスすることはできない。
画像のメディアデータについては、例えば、1フレーム等が、1サンプルとなる。また、音声のメディアデータについては、例えば、その音声のメディアデータの規格で定められた1オーディオフレーム等が、1サンプルとなる。
イメージシーケンス形式の(HEIFファイルの)mdatボックスにおいて、トラックのメディアデータは、チャンク(chunk)と呼ばれる単位で配置される。チャンクは、論理的に連続したアドレスに配置される1以上のサンプルの集合である。
mdatボックスに、メディアデータとしての複数のトラックが格納される場合、その複数のトラックは、チャンク単位で、インターリーブして配置される。
以上のように、イメージシーケンス形式のmdatボックスには、画像や音声等のメディアデータで構成される1以上のトラックが格納される。
mdatボックスには、トラックを構成する画像のフレームを符号化して格納することができる。イメージシーケンス形式のmdatボックスに格納するトラックを構成するフレームの符号化には、GOP(Group of Picture)として、long GOPを採用するとともに、イントラ符号化及びインター符号化のいずれをも採用することができる。トラックを構成するフレームを符号化するコーデックとしては、例えば、HEVC等を採用することができる。
図8は、trakボックスの例を示す図である。
trakボックスには、tkhdボックス及びmdiaボックスを格納することができる。tkhdボックスには、trakボックスが管理するトラックの作成日時等の、トラックのヘッダ情報が格納される。mdiaボックスには、minfボックス等が格納される。minfボックスには、stblボックスが格納される。stblボックスには、トラックのサンプル、ひいては、チャンクにアクセスするための情報が格納されるstsdボックス、stscボックス、stszボックス、及び、stcoボックスが格納される。stsdボックスには、トラックのコーデックに関するコーデック情報が格納される。stscボックスには、チャンクサイズ(1チャンクのサンプル数)が格納される。stszボックスには、サンプルサイズが格納される。stcoボックスには、チャンクオフセット、すなわち、mdatボックスに格納されたトラックの各チャンクの配置位置のオフセットが格納される。
ここで、イメージアイテム形式のHEIFファイルを、コレクションファイルともいい、イメージシーケンス形式のHEIFファイルを、シーケンスファイルともいう。
ディジタルカメラ10では、主画像、さらには、必要なスクリーンネイル画像、及び、サムネイル画像のうちの一方又は両方が格納されたHEIFファイルを生成することができる。
<コレクションファイル>
図9は、主画像及びサムネイル画像が格納されたコレクションファイルの例を示す図である。
いま、コレクションファイルのmdatボックスには、フレーム(アイテム)がHEVCで符号化されて格納されることとする。
ftypボックスには、ファイルフォーマットを識別する識別情報として、イメージアイテム形式であることと、コーデックがHEVCであることとを表すheicが格納される。
iinfボックスには、mdatボックスに格納されたアイテムの数(アイテム数)が格納される。図9では、アイテムID#1で特定される主画像(以下、主画像Item#1のようにも記載する)、主画像Item#2、アイテムID#101で特定されるサムネイル画像(以下、サムネイル画像Item#101のようにも記載する)、サムネイル画像Item#102の合計で4個のアイテム(フレーム)が、mdatボックスに格納されている。したがって、アイテム数は4である。なお、サムネイル画像Item#101は、主画像Item#1のサムネイル画像であり、サムネイル画像Item#102は、主画像Item#2のサムネイル画像である。
iinfボックスには、さらに、例えば、mdatボックスに格納されたアイテムごとに、infeボックスが格納される。infeボックスには、アイテムを特定するアイテムIDと、アイテムタイプとが登録される。図9では、主画像Item#1及びItem#2、並びに、サムネイル画像Item#101及びItem#102それぞれのinfeボックスが存在する。
irefボックスには、mdatボックスに格納されたアイテムどうしを関連付ける情報として、例えば、thmbボックスが格納される。thmbボックスは、主画像とその主画像のサムネイル画像とを関連付ける情報としての参照元と参照先とが対応付けられて格納される。thmbボックスにおいて、参照元は、主画像のアイテムIDを表し、参照先は、参照元のアイテムIDで特定される主画像のサムネイル画像のアイテムIDを表す。したがって、参照元に対応付けられている参照先によれば、参照元が表すアイテムIDで特定される主画像のサムネイル画像のアイテムIDを認識することができる。また、参照先に対応付けられている参照元によれば、参照先が表すアイテムIDで特定されるサムネイル画像の主画像のアイテムIDを認識することができる。
iprpボックスには、図6で説明したように、ipcoボックス及びipmaボックスが格納される。ipcoボックスには、図6で説明したように、mdatボックスに格納されたアイテムとしてのフレームのプロパティ、例えば、コーデックに関するコーデック情報やサイズに関する画サイズ情報が格納される。ipmaボックスには、図6で説明したように、mdatボックスに格納されたアイテムの、ipcoボックスに格納されたプロパティへのインデクスが格納される。
ilocボックスには、図6で説明したようにmdatボックスにおけるアイテムの格納場所に関する情報が格納される。図9では、ilocボックスには、アイテム数が4であることが格納されている。さらに、ilocボックスには、mdatボックスに格納された主画像Item#1及びItem#2、並びに、サムネイル画像Item#101及びItem#102それぞれの格納場所へのオフセット及びサイズがアイテムIDと対応付けられて格納されている。
<シーケンスファイル>
図10は、主画像のトラック及びその主画像のサムネイル画像のトラックが格納されたシーケンスファイルの例を示す図である。
いま、シーケンスファイルのmdatボックスには、フレームがHEVCで符号化されて格納されることとする。
ftypボックスには、ファイルフォーマットを識別する識別情報として、イメージシーケンス形式であることと、コーデックがHEVCであることとを表すhevcが格納される。
moovボックスには、図7で説明したように、mdatボックスに格納されるトラックそれぞれを管理するtrakボックスが格納される。図10では、トラックID#1で特定される主画像のトラック(以下、トラック#1のようにも記載する)、及び、トラック#1の主画像のサムネイル画像のトラック#2が、mdatボックスに格納されている。したがって、moovボックスには、トラック#1を管理するtrakボックスと、トラック#2を管理するtrakボックスとが格納される。トラック#2の(先頭から)n番目のサムネイル画像(のフレーム)は、トラック#1のn番目の主画像のサムネイル画像である。
シーケンスファイルは、例えば、ディジタルカメラ10で連写が行われた場合に、その連写で得られる複数フレームの主画像及びサムネイル画像を、それぞれ、1トラックとして記録する場合等に有用である。
主画像のトラック#1を管理するtrakボックスのtkhdボックスには、トラック#1を特定するトラックID#1、トラック#1を構成する主画像の画サイズ、主画像が撮像されたときのディジタルカメラ10の向きを表す回転情報、及び、トラック#1の作成日時が格納される。サムネイル画像のトラック#2を管理するtrakボックスのtkhdボックスには、トラック#2を特定するトラックID#2、及び、トラック#2の作成日時が格納される。
trakボックスには、図7で説明したtkhdボックス及びmdiaボックスの他に、trefボックスを格納することができる。trefボックスには、そのtrefボックスが格納されたtrakボックスが管理するトラックと関連する他のトラックを特定するトラックID、及び、トラックの内容を表す情報等が格納される。図10では、トラック#2を管理するtrakボックスの中に、trefボックスが設けられている。そして、そのtrefボックスには、トラック#2と関連する他のトラックがトラック#1であること(track_ID=1)、及び、トラック#2を構成するデータがサムネイル画像であること(トラック#2がサムネイル画像のトラックであること)(type=thmb)を表す情報が格納されている。
trakボックスのmdiaボックスには、図8で説明したminfボックスの他、hdlrボックスを格納することができる。hdlrボックスには、そのhdlrボックスが格納されたtrakボックスが管理するトラックを構成するデータの種別を表す情報が格納される。主画像のトラック#1を管理するtrakボックスに(格納されるmdiaボックスに)格納されるhdlrボックスには、トラック#1を構成するデータがピクチャ(フレーム)であることを表す情報(pict)が格納され、サムネイル画像のトラック#2を管理するtrakボックスに格納されるhdlrボックスには、トラック#2を構成するデータがピクチャであることを表す情報が格納される。
minfボックスについては、図8で説明した通りである。
<タイル画像が格納されたHEIFファイル>
図11は、タイル画像が格納されたHEIFファイルの例を示す図である。
ここで、前述したように、HEIFのアイテムタイプの1つとして、gridがある。アイテムタイプがgridの画像(アイテム)であるグリッド画像は、1以上のタイル画像をタイリングすることにより形成される。
タイル画像としては、例えば、ディジタルカメラ10等で撮像された画像を分割して得られる分割画像を採用することができる。
また、タイル画像としては、ディジタルカメラ10等で撮像された画像そのものを採用し、そのようなタイル画像の1以上から、グリッド画像を形成することができる。例えば、複数のカメラで撮像された複数の画像をタイル画像として、そのような複数のタイル画像からグリッド画像を形成することができる。
以下では、説明を分かりやすくするため、特に断らない限り、ディジタルカメラ10等で撮像された画像を分割して得られる分割画像を、タイル画像として採用することとする。
アイテムタイプがgridのグリッド画像については、そのグリッド画像を形成する(1以上の)タイル画像それぞれがアイテムとして、HEIFファイルに格納される。
なお、グリッド画像については、グリッド画像そのものがHEIFファイルに格納されるのではなく、グリッド画像を形成するタイル画像がHEIFファイルに格納される。但し、本明細書では、便宜上、タイル画像が格納されたHEIFファイルを、そのタイル画像から形成されるグリッド画像が格納されたHEIFファイルともいう。
図11は、グリッド画像(を形成するタイル画像)が格納されたHEIFファイルの例を示している。
図11のHEIFファイルでは、例えば、ディジタルカメラ10で撮像された画像(以下、撮像画像ともいう)を3×3(横×縦)個に分割することにより得られる9個の画像をタイル画像Item#1ないしItem#9として、そのタイル画像Item#1ないしItem#9が、アイテムとして、mdatボックスに格納されている。
図11において、mdatボックスに格納されたアイテムは、タイル画像Item#1ないしItem#9の9個のアイテムであるが、iinfボックス及びilocボックス内のアイテム数は10になっている。これは、タイル画像Item#1ないしItem#9の9個のアイテムの他に、そのタイル画像Item#1ないしItem#9から形成されるグリッド画像(再構成画像)をアイテムとしてカウントするためである。図11では、グリッド画像のアイテムIDは10になっており、説明の便宜上、かかるグリッド画像を、グリッド画像Item#10とも記載する。
グリッド画像Item#10については、メディアデータがmdatボックスに格納されず、代わりに、metaボックスに、idatボックスが格納される。idatボックスには、タイル数横、タイル数縦、output_width、及び、output_height等のグリッド画像のメタデータが格納される。
タイル数横及びタイル数縦は、グリッド画像Item#10を構成するタイル画像#1ないし#9の横方向及び縦方向の数をそれぞれ表す。
output_width、及び、output_heightは、グリッド画像を形成するタイル画像がタイリング(配置)される画像領域であるキャンバスの横及び縦のサイズ(画素数)を表す。タイル画像の横及び縦の画素数を、tile_width及びtile_heightとそれぞれ表すこととすると、tile_width×タイル数横は、output_width以上であり、tile_height×タイル数縦は、output_height以上である必要がある。
さらに、グリッド画像Item#10については、ilocボックスに、そのグリッド画像Item#10の格納場所に関する情報(オフセット及びサイズ)が格納されるが、この情報は、グリッド画像Item#10のidatボックスの格納場所を表す。
図11のHEIFファイルは、タイル画像Item#1ないしItem#9と、そのタイル画像Item#1ないしItem#9から形成されるタイル画像Item#10との10個のアイテムが格納されていることに応じて、10個のinfeボックスを有する。図9で説明したように、infeボックスには、アイテムを特定するアイテムIDと、アイテムタイプとが格納(登録)されるが、グリッド画像Item#10のinfeボックスには、グリッド画像Item#10のアイテムタイプとして、グリッドアイテムを表すgridが格納される。アイテムタイプがgridのアイテム、ここでは、グリッド画像Item#10は、グリッドアイテムと呼ばれる。
グリッドアイテムが格納されるHEIFファイルでは、irefボックスに、dimgボックスが格納される。dimgボックスには、グリッドアイテムと、そのグリッドアイテムを構成するタイル画像とを関連付ける情報が格納される。例えば、dimgボックスには、タイル画像のアイテムIDが参照先として格納されるとともに、そのタイル画像から形成されるグリッド画像のアイテムIDが参照元として格納される。図11では、タイル画像Item#1ないしItem#9のアイテムID#1ないし#9が参照先として格納され、グリッド画像Item#10のアイテムID#10が参照元として格納されている。その他、dimgボックスには、グリッド画像を形成するタイル画像の数を表す参照カウンタが格納される。
以上のようなHEIFファイルについては、ファイル制御部43は、グリッド画像Item#10のinfeボックスに格納されたアイテムタイプgridから、グリッド画像Item#10が1以上のタイル画像から形成されるグリッドアイテム(再構成画像)であることを認識することができる。さらに、ファイル制御部43は、dimgボックスに格納された参照元と参照先とから、タイル画像から形成されるグリッド画像Item#10のアイテムID#10と、そのグリッド画像Item#10の形成に用いられるタイル画像Item#1ないしItem#9のアイテムID#1ないし#9とを特定することができる。また、ファイル制御部43は、idatボックスに格納されたタイル数横及びタイル数縦、並びに、output_width及びoutput_heightから、グリッド画像#10を形成するタイル画像#1ないし#9の横方向及び縦方向の数、並びに、グリッド画像#10を形成する際にタイル画像#1ないし#9を配置するキャンバスの横方向及び縦方向のサイズを特定することができる。
ファイル制御部43は、dimgボックスから特定されたアイテムID#1ないし#9のタイル画像Item#1ないしItem#9から、idatボックスから特定された横方向及び縦方向の数のタイル画像を、idatボックスから特定されたサイズのキャンバスに配置することで、dimgボックスから特定されたアイテムID#10のグリッド画像Item#10を形成することができる。
以下、HEIFファイルに格納されるタイル画像の画サイズやビットレート(データ量)が制限されるユースケースについて説明する。
図12は、タイル画像の画サイズ又はビットレートが制限されるユースケースの例を示す図である。
タイル画像の画サイズ又はビットレートが制限される第1のユースケースとしては、例えば、HEIFファイルに格納されたタイル画像を、そのHEIFファイルを生成した機器以外の他の機器で再生する場合がある。この場合、他の機器の性能(再生能力)の範囲内で、ソフトウエア(SW)的又はハードウエア(HW)的に、タイル画像のデコード等の再生を行うことができるように、タイル画像の画サイズ又はビットレートが制限される。例えば、インテル社のCPUは、世代によりハードウエアデコードが可能な画サイズの範囲等の性能が異なる。かかるCPUでタイル画像を再生する場合、CPUの性能により、タイル画像の画サイズ等が制限される。
タイル画像の画サイズ又はビットレートが制限される第2のユースケースとしては、例えば、タイル画像が格納されたHEIFファイルを、そのHEIFファイルを生成した機器から他の機器に転送する場合がある。この場合、HEIFファイルを生成した機器と他の機器とを接続する接続方法としての、例えば、通信規格(接続規格)に従うように、タイル画像の画サイズ又はビットレートが制限される。
タイル画像の画サイズ又はビットレートが制限される第3のユースケースとしては、例えば、複数のHEIFファイルそれぞれに格納されたタイル画像がまとめて格納された、それらのタイル画像からグリッド画像を形成することができる1個のHEIFファイルを生成する場合がある。この場合、タイル画像の画サイズが複数のHEIFファイルそれぞれのタイル画像すべてで同一のサイズになるように、タイル画像の画サイズ又はビットレートが制限される。
タイル画像の画サイズ又はビットレートが制限される第4のユースケースとしては、例えば、タイル画像を処理する処理ブロックとしての複数のノードにおいて、ノードごとに、1個のタイル画像を並列に符号化し、複数のノードそれぞれで符号化されたタイル画像が格納されたHEIFファイルを生成することを、あらかじめ決められた所定の時間内に行う場合がある。この場合、ノードでのタイル画像の符号化を含めたHEIFファイルの生成が、所定の時間内に完了することができるように、タイル画像の画サイズ又はビットレートが制限される。例えば、サイズが大きいイメージャでの連写で撮像された画像をグリッド画像として、そのグリッド画像を形成する複数のタイル画像を、複数のノードとしての(半導体)チップで処理する場合が該当する。
タイル画像の画サイズ又はビットレートが制限される第5のユースケースとしては、例えば、タイル画像を処理する処理ブロックとしての複数のノードにおいて、ノードごとに、1個のタイル画像を並列に復号し、複数のノードで復号された複数のタイル画像から形成されるグリッド画像を対象として、スライドショー再生やタイムラプス再生等を行う場合である。この場合、1枚(フレーム)の再生時間が制約されるので、その再生時間の制約を保証することができるように(再生時間内にグリッド画像を形成することができるように)、タイル画像の画サイズ又はビットレートが制限される。
タイル画像の画サイズ又はビットレートが制限される第6のユースケースとしては、例えば、タイル画像を処理する処理ブロックとしての複数のノードの個々のノードに、1個ずつのタイル画像を並列に符号化させて、転送帯域が限られた条件で転送させ、転送先でHEIFファイルを生成することを、あらかじめ決められた所定の時間内に行う場合である。この場合、限られた条件の転送帯域でタイル画像を転送して、所定の時間内にHEIFファイルの生成が完了することができるように、タイル画像の画サイズ又はビットレートが制限される。例えば、いわゆる学習リモートコマンダ(スマートリモートコマンダ)(WiFiリモートコマンダ)の操作に応じて、カメラからストレージに、HEIFファイルに格納されるタイル画像を転送する場合が該当する。
HEIFファイルに格納されるタイル画像の画サイズ又はビットレートは、その他、例えば、タイル画像を扱う機器が対応するコーデックのプロファイル、レベル、又は、ティアにより制限される。例えば、タイル画像の画サイズは、タイル画像を扱う機器が対応するコーデックのレベルに規定される画サイズに制限される。また、例えば、タイル画像のビットレートは、タイル画像を扱う機器が対応するコーデックのプロファイル、レベル、又は、ティアに規定されるビットレートに制限される。
なお、タイル画像を扱う機器が対応するクロマサンプリング(クロマフォーマット)やエンコーダツールに制限がある場合には、タイル画像のビットレートは、タイル画像を扱う機器が対応するクロマサンプリングやエンコーダツールを規定するプロファイルで規定されるビットレートに制限される。
ディジタルカメラ10において、タイル画像の画サイズを任意に設定すると、上述のようなタイル画像の画サイズ又はビットレートが制限されるユースケースにおいて不具合が生じることがある。
そこで、本技術では、タイル画像の画サイズを適切に設定し、そのように適切に設定された画サイズ(以下、設定画サイズともいう)のタイル画像を生成することができるようにする。
本技術では、設定画サイズを適切に設定することで、
・ディジタルカメラ10で撮像されたコンテンツとしてのグリッド画像を形成するタイル画像を他の機器で再生する際の再生互換性を保証すること
・ディジタルカメラ10から他の機器にグリッド画像を形成するタイル画像を転送する際に要求される、ディジタルカメラ10と他の機器との間で通信を行うための通信規格(接続規格)に従うこと
・複数のHEIFファイルに格納された、グリッド画像を形成するタイル画像を集めて、新たなグリッド画像を形成するタイル画像が格納されたHEIFファイルを生成する編集を、トランスコードなしで行うこと
・グリッド画像を形成する複数のタイル画像の符号化や復号を、複数のノードで並列に行う場合に、符号化後のタイル画像を格納したHEIFファイルを生成する生成時間や、復号後のタイル画像から形成されるグリッド画像を再生する再生時間を所定の時間内とすることを、ノードの性能、例えば、ノードがタイル画像を符号化するスループットや、タイル画像を復号(再生)するスループットに応じて保証すること
・ノードからタイル画像を転送する転送時間を所定の時間内とすることを、転送帯域(転送スループット)に応じて保証すること
等を実現する。
タイル画像の画サイズ(設定画サイズ)の設定は、ディジタルカメラ10の外部からの情報、例えば、ディジタルカメラ10のメニュー画面等に対するユーザの操作や、ディジタルカメラ10と通信を行う他の機器としての外部機器との間のネゴシエーションにより取得される外部機器の性能、ディジタルカメラ10と外部機器とが通信を行う際に従う接続方法としての通信規格等に応じて行うことができる。
図13は、第1のユースケースにおいてタイル画像の画サイズを設定する例を説明する図である。
図13では、ディジタルカメラ10で生成された、タイル画像が格納されたHEIFファイルが、外部機器としてのスマートフォンやPC(Personal Computer)等に転送され、その外部機器で、HEIFファイルに格納されたタイル画像が再生されるケースが示されている。
ディジタルカメラ10の製造メーカは、例えば、世界の再生環境を考慮して、ディジタルカメラ10のファームウエアを、外部からの情報としての新たなファームウエアに書き換えることで、タイル画像の画サイズを設定することができる。
例えば、スマートフォンやPC等の外部機器がいわゆる4K画像に対応していることが世界的な標準となったと認められる場合、ディジタルカメラ10の製造メーカは、タイル画像の画サイズを4K画像の画サイズに設定するように、ディジタルカメラ10のファームウエアを書き換えることができる。ディジタルカメラ10のファームウエアの書き換えは、I/F15を介した通信等により行うことができる。その後、例えば、外部機器がいわゆる8K画像に対応していることが世界的な標準となったと認められる場合、ディジタルカメラ10の製造メーカは、タイル画像の画サイズを8K画像の画サイズに設定するように、ディジタルカメラ10のファームウエアを書き換えることができる。
ディジタルカメラ10において、タイル画像の画サイズの設定は、外部からの情報としての、ディジタルカメラ10のメニュー画面に対するユーザの操作に応じて行うことができる。
例えば、HEIFファイルを、4K画像までの再生に対応しているスマートフォンに転送する場合には、ユーザは、メニュー画面を操作して、HEIFファイルに格納されるタイル画像の画サイズを、4K画像の画サイズ以下の画サイズに設定することができる。また、例えば、HEIFファイルを、8K画像までの再生に対応しているPCに転送する場合には、ユーザは、メニュー画面を操作して、HEIFファイルに格納されるタイル画像の画サイズを、8K画像の画サイズ以下の画サイズに設定することができる。
ディジタルカメラ10において、タイル画像の画サイズの設定は、ディジタルカメラ10に接続される外部機器としてのスマートフォンやPCの性能(再生能力)に応じて行うことができる。
例えば、ディジタルカメラ10を、4K画像までの再生に対応しているスマートフォンに接続し、HEIFファイルを転送する場合、ディジタルカメラ10は、スマートフォンとネゴシエーションを行い、そのネゴシエーションにより取得される、スマートフォンが4K画像までの再生に対応していることに応じて、HEIFファイルに格納されるタイル画像の画サイズを、4K画像の画サイズ以下の画サイズ(例えば、4K)に設定することができる。また、例えば、ディジタルカメラ10を、8K画像までの再生に対応しているPCに接続し、HEIFファイルを転送する場合、ディジタルカメラ10は、PCとネゴシエーションを行い、そのネゴシエーションにより取得される、PCが8K画像までの再生に対応していることに応じて、HEIFファイルに格納されるタイル画像の画サイズを、8K画像の画サイズ以下の画サイズ(例えば、8K)に設定することができる。
図14は、第2のユースケースにおいてタイル画像の画サイズを設定する例を説明する図である。
図14では、ディジタルカメラ10で生成された、タイル画像が格納されたHEIFファイルが、外部機器としてのPC(Personal Computer)-AやPC-B等に転送され、その外部機器で、HEIFファイルに格納されたタイル画像が再生されるケースが示されている。
ディジタルカメラ10において、タイル画像の画サイズの設定は、外部からの情報としての、外部機器が対応する通信規格に応じて行うことができる。
例えば、HEIFファイルを、コーデックのレベルが5.2までをサポートする通信規格Aに対応するPC-Aに転送する場合には、ディジタルカメラ10は、PC-Aが対応する通信規格Aに応じて、HEIFファイルに格納されるタイル画像の画サイズを、レベル5.2が対応する画サイズ以下の画サイズに設定することができる。また、例えば、HEIFファイルを、コーデックのレベルが6.2までをサポートする通信規格Bに対応するPC-Bに転送する場合には、ディジタルカメラ10は、PC-Bが対応する通信規格Bに応じて、HEIFファイルに格納されるタイル画像の画サイズを、レベル6.2が対応する画サイズ以下の画サイズに設定することができる。ディジタルカメラ10において、PC-A及びPC-Bが対応する通信規格は、例えば、ディジタルカメラ10とPC-A及びPC-Bそれぞれとのネゴシエーションにより取得することができる。
また、外部機器が複数の通信規格に対応している場合には、ディジタルカメラ10は、外部機器とのネゴシエーションにより、HEIFファイルを外部機器に転送するときの通信規格を決定し、その通信規格に応じて、HEIFファイルに格納されるタイル画像の画サイズを設定することができる。
図15は、第3のユースケースにおいてタイル画像の画サイズを設定する例を説明する図である。
図15では、複数としての4個のカメラで生成された4個のHEIFファイルそれぞれに格納されたタイル画像をまとめた新たなグリッド画像を形成することができるように、編集ソフトウエアにおいて、4個のHEIFファイルが1個のHEIFファイルに結合される(4個のHEIFファイルを結合した新たな1個のHEIFファイルが生成される)ケースが示されている。
編集ソフトウエアに入力される素材となる、編集前のHEIFファイルを生成する4個のカメラは、例えば、ディジタルカメラ10と同様に構成される。
編集ソフトウエアで生成される新たなHEIFファイルに格納される、新たなグリッド画像を形成するタイル画像は、HEIFの規格上、すべて、同一の画サイズである必要がある。そのため、編集前のHEIFファイルを生成する4個のカメラは、グリッド画像を形成するタイル画像の画サイズやクロマサンプリング等のパラメータセットとして、同一のパラメータセットを用いて、編集前のHEIFファイルを生成する。
図15では、4個のカメラそれぞれにおいて、同一の画サイズの画像(グリッド画像となる画像)が撮像され、その画像を2×2個(横×縦)に分割して得られるタイル画像が格納されたHEIFファイルが生成されている。そして、編集ソフトウエアでは、4個のカメラで生成されたHEIFファイルに格納されたタイル画像をまとめた新たなグリッド画像を形成することができるように、4個のカメラで生成されたHEIFファイルに格納されたタイル画像が格納された新たなHEIFファイルが生成されている。
4個のカメラは、同一のパラメータセットを用いて、編集前のHEIFファイルを生成するため、例えば、4個のカメラのうちの1個のカメラがマスタカメラに設定され、残りの3個のカメラがスレーブカメラに設定される。例えば、ユーザは、4個のカメラのうちの1個のカメラを操作して、マスタカメラに設定する。マスタカメラは、残りの3個のカメラと通信を行い、その3個のカメラをスレーブカメラに設定する。
マスタカメラは、タイル画像の画サイズを設定し、3個のスレーブカメラとの通信により、タイル画像の画サイズを指示する。他のカメラは、外部機器からの情報としてのマスタカメラからの指示に応じて、タイル画像の画サイズを、マスタカメラと同一の画サイズに設定する。
例えば、マスタカメラは、ユーザの操作に応じて、タイル画像の画サイズを設定することができる。また、例えば、マスタカメラは、3個のスレーブカメラとの通信により、外部機器からの情報としての3個のスレーブカメラのコーデックの性能、例えば、コーデックのプロファイル、レベル、及び、ティアの1以上を収集し、タイル画像の画サイズを、一番低い性能が対応する画サイズに設定することができる。
4個のカメラについては、そのうちの1個のカメラをマスタカメラに設定するとともに、残りの3個のカメラをスレーブカメラに設定する他、4台のカメラが、クラウド等の外部機器と通信を行うことができる場合には、クラウドからの指示に応じて、タイル画像の画サイズを設定することができる。クラウドは、4台のカメラに指示する画サイズを、例えば、マスタカメラと同様にして設定することができる。
また、4台のカメラが、編集ソフトウエア(が実装されるPC等のハードウエア)と通信を行うことができる場合には、4台のカメラは、編集ソフトウエアの機能や性能に応じて、タイル画像の画サイズを設定することができる。
図16は、第3のユースケースにおいて4個のカメラで生成される4個の編集前のHEIFファイルと、編集ソフトウエアにおいて、4個の編集前のHEIFファイルから生成される新たなHEIFファイルとの第1の例を示す図である。
図16では、4個のカメラにおいて、同一の画サイズの画像G1,G2,G3,G4が撮像され、その画像G1,G2,G3,G4を2×2個に分割して得られるタイル画像が格納されたHEIFファイル#1,#2,#3,#4が、編集前のHEIFファイルとして生成されている。
そして、図16では、編集前のHEIFファイル#1ないし#4に格納された2×2個のタイル画像が、左上、右上、左下、右下にそれぞれ配置された新たなグリッド画像が形成されるように、HEIFファイル#1ないし#4に格納されたタイル画像が格納されたHEIFファイル#0が、新たなHEIFファイルとして生成されている。
図17は、第3のユースケースにおいて4個のカメラで生成される4個の編集前のHEIFファイルと、編集ソフトウエアにおいて、4個の編集前のHEIFファイルから生成される新たなHEIFファイルとの第2の例を示す図である。
図17では、図16と同様に、4個のカメラにおいて、同一の画サイズの画像G1ないしG4が撮像され、その画像G1ないしG4を2×2個に分割して得られるタイル画像が格納された編集前のHEIFファイル#1ないし#4が生成されている。
ここで、HEIFファイル#iに格納された2×2個のタイル画像のうちの左上、右上、左下、右下のタイル画像を、タイル画像Ti1,Ti2,Ti3,Ti4とそれぞれ表すこととする。
図17では、タイル画像T11,T21,T31,T41が左上に、タイル画像T12,T22,T32,T42が右上に、タイル画像T13,T23,T33,T43が左下に、タイル画像T14,T24,T34,T44が右下に、それぞれ配置された新たなグリッド画像が形成されるように、新たなHEIFファイル#0が生成されている。
図18は、第3のユースケースにおいて4個のカメラで生成される4個の編集前のHEIFファイルと、編集ソフトウエアにおいて、4個の編集前のHEIFファイルから生成される新たなHEIFファイルとの第3の例を示す図である。
図18では、4個のカメラのうちの3個のカメラにおいて、図16と同様に、同一の画サイズの画像G1,G3,G4が撮像され、その画像G1,G3,G4を2×2個に分割して得られるタイル画像T11ないしT14,T31ないしT34,T41ないしT44が格納されたHEIFファイル#1,#3,#4が、編集前のHEIFファイルとして生成されている。
さらに、図18では、残りの1個のカメラにおいて、横及び縦がいずれも画像G1,G3,G4の3/2倍の画サイズの画像G2が撮像され、その画像G2を3×3個に分割して得られるタイル画像T21ないしT29が格納されたHEIFファイル#2が、編集前のHEIFファイルとして生成されている。
HEIFファイル#1ないし#4に格納されたタイル画像は、画サイズ等のパラメータセットが同一の画像になっている。
図18では、HEIFファイル#1に格納された2×2個のタイル画像T11ないしT14、HEIFファイル#2に格納された3×3個のタイル画像T21ないしT29から選択された2×2個のタイル画像T21ないしT24(図中、太枠で囲む部分)、HEIFファイル#3に格納された2×2個のタイル画像T31ないしT34、HEIFファイル#4に格納された2×2個のタイル画像T41ないしT44が、左上、右上、左下、右下にそれぞれ配置された新たなグリッド画像が形成されるように、HEIFファイル#1ないし#4に格納されたタイル画像T11ないしT14,T21ないしT24,T31ないしT34,T41ないしT44が格納された新たなHEIFファイル#0が生成されている。
HEIFファイル#2に格納された3×3個のタイル画像T21ないしT29のうちの、新たなHEIFファイル#0に格納される2×2個のタイル画像の選択は、例えば、編集ソフトウエアにおいて、ユーザの操作等に応じて行うことができる。
図19は、第3のユースケースにおいて4個のカメラで生成される4個の編集前のHEIFファイルと、編集ソフトウエアにおいて、4個の編集前のHEIFファイルから生成される新たなHEIFファイルとの第4の例を示す図である。
図19では、図18と同様に、編集前のHEIFファイル#1ないし#4が生成されている。
図19では、HEIFファイル#1に格納された2×2個のタイル画像T11ないしT14の右隣、下、右斜め下に、HEIFファイル#2に格納された3×3個のタイル画像T21ないしT29から図18と同様に選択された2×2個のタイル画像T21ないしT24、HEIFファイル#3に格納された2×2個のタイル画像T31ないしT34、HEIFファイル#4に格納された2×2個のタイル画像T41ないしT44がそれぞれ配置され、かつ、右端に、HEIFファイル#2に格納された3×3個のタイル画像T21ないしT29の残りのタイル画像T25ないしT29のうちの4個のタイル画像T25ないしT28が配置された新たなグリッド画像が形成されるように、HEIFファイル#1ないし#4に格納されたタイル画像T11ないしT14,T21ないしT28,T31ないしT34,T41ないしT44が格納された新たなHEIFファイル#0が生成されている。
新たなグリッド画像は、図18に示したように、HEIFファイル#1ないし#4それぞれに格納されたタイル画像から、同一の数のタイル画像(図18では、4個ずつのタイル画像)を配置して形成する他、図19に示したように、HEIFファイル#1ないし#4それぞれに格納されたタイル画像から、同一でない数のタイル画像(図19では、4個のタイル画像と8個のタイル画像)を配置して形成することができる。
図20は、第4のユースケースにおいてタイル画像の画サイズを設定する例を説明する図である。
図20では、タイル画像を処理する処理ブロックとしての複数のノードにおいて、1個ずつのタイル画像を並列で符号化し、1個のファイルHEIFファイルを生成することを、所定の時間内に行うケースが示されている。
すなわち、図20では、例えば、ディジタルカメラ10で撮像された画像を分割して得られる4個の各タイル画像を、各ノードで符号化し、符号化後のタイル画像を格納した1個のHEIFファイルを生成することが、所定の時間内に行われる。
ノードでのタイル画像の符号化、及び、符号化後のタイル画像を格納した1個のHEIFファイルの生成は、ディジタルカメラ10で行ってもよいし、ディジタルカメラ10の外部で行ってもよい。
図20において、各ノードでのタイル画像の符号化、及び、HEIFファイルの生成に要するトータルの処理時間は、ノードの性能(符号化のスループット)に影響され、そのトータルの処理時間を、所定の時間内に収めるためには、ノードの性能に応じて、ノードで処理されるタイル画像の画サイズやビットレート(データ量)を制限する必要がある。
そこで、タイル画像の画サイズ又はビットレートについては、ノードの性能に応じて、トータルの処理時間が所定の時間内に収まるように、目標(制限)となる目標画サイズ又は目標ビットレートを設定することができる。そして、目標画サイズ又は目標ビットレートに応じて、例えば、タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレート以下となるように、タイル画像の画サイズを設定することができる。
目標画サイズ又は目標ビットレートは、外部からの情報に応じて設定することができる。
例えば、ディジタルカメラ10では、ユーザの操作により入力されるノードの性能や所定の時間に応じて(ユーザの操作に応じて)、トータルの処理時間が所定の時間内に収まるように、目標画サイズ又は目標ビットレートを設定することができる。ノードが、ディジタルカメラ10の外部の外部機器である場合には、その外部機器としてのノードから得られる情報としてのノードの性能に応じて、トータルの処理時間が所定の時間内に収まるように、目標画サイズ又は目標ビットレートを設定することができる。
なお、ディジタルカメラ10では、その他、例えば、外部機器としてのノードが対応するコーデックのプロファイル、レベル、及び、ティアのうちの1以上に応じて、そのプロファイル、レベル、及び、ティアに違反しないように、目標画サイズ又は目標ビットレートを設定することができる。
また、ディジタルカメラ10では、外部機器としてのノードと接続される接続方法、例えば、ディジタルカメラ10とノードとが通信を行う際に従う通信規格に応じて、その通信規格がサポートするコーデックのプロファイル、レベル、及び、ティアに違反しないように、目標画サイズ又は目標ビットレートを設定することができる。
タイル画像の画サイズの設定は、タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレート以下となるように行う他、タイル画像の画サイズ及びビットレートがそれぞれ目標画サイズ及び目標ビットレートを基準とする所定の範囲内に収まるように行うことができる。
なお、図20では、ノードの性能等の外部からの情報に応じて、目標画サイズ又は目標ビットレートを設定することとしたが、ノードの性能等の外部からの情報に応じて、トータルの処理時間が所定の時間内に収まるように、タイル画像の画サイズを設定することができる。
また、図20では、ディジタルカメラ10で撮像された画像を分割することで、タイル画像を得ることとしたが、その他、例えば、複数のカメラで撮像された複数の画像を、タイル画像として用いることとして、ノードに入力することができる。
図21は、第5のユースケースにおいてタイル画像の画サイズを設定する例を説明する図である。
図21では、タイル画像を処理する処理ブロックとしての複数のノードにおいて、HEIFファイルに格納された複数のタイル画像を並列で復号し、複数のノードで復号された複数のタイル画像から形成されるグリッド画像を対象として、スライドショー再生、TimeLapse再生等の1枚あたりの再生時間に制約がある再生を行うケースが示されている。
すなわち、図21では、例えば、ディジタルカメラ10で撮像された画像を分割して得られる4個の各タイル画像を、各ノードで復号し、その4個のタイル画像からグリッド画像を形成することが、再生時間の制約を満たすための所定の時間内に行われる。
ノードでのタイル画像の復号、及び、タイル画像を配置したグリッド画像の形成は、ディジタルカメラ10で行ってもよいし、ディジタルカメラ10の外部で行ってもよい。
図21において、各ノードでのタイル画像の復号、及び、グリッド画像の形成に要するトータルの処理時間は、ノードの性能(復号のスループット)に影響され、そのトータルの処理時間を、所定の時間内に収めるためには、ノードの性能に応じて、ノードで処理されるタイル画像の画サイズやビットレートを制限する必要がある。
そこで、タイル画像の画サイズ又はビットレートについては、ノードの性能に応じて、トータルの処理時間が所定の時間内に収まるように、目標となる目標画サイズ又は目標ビットレートを設定することができる。そして、タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレート以下となるように、タイル画像の画サイズを設定することができる。
目標画サイズ又は目標ビットレートは、図20の場合と同様に、外部からの情報に応じて設定することができる。
なお、図21では、ノードの性能等の外部からの情報に応じて、目標画サイズ又は目標ビットレートを設定することとしたが、ノードの性能等の外部からの情報に応じて、トータルの処理時間が所定の時間内に収まるように、タイル画像の画サイズを設定することができる。
また、図21では、ディジタルカメラ10で撮像された画像を分割することで、タイル画像を得ることとしたが、その他、例えば、図20の場合と同様に、複数のカメラで撮像された複数の画像を、タイル画像として用いることとして、ノードに入力することができる。
図22は、第6のユースケースにおいてタイル画像の画サイズを設定する例を説明する図である。
図22では、タイル画像を処理する処理ブロックとしての複数のノードにおいて、1個ずつのタイル画像を並列で符号化して転送し、転送先で、タイル画像を格納したHEIFファイルを生成することを、所定の時間内に行う(完了する)ケースが示されている。
すなわち、図22では、例えば、ディジタルカメラ10で撮像された画像を分割して得られる4個の各タイル画像を、各ノードで符号化して転送し、転送先で、符号化後のタイル画像を格納した1個のHEIFファイルを生成することが、所定の時間内に行われる。
ノードでのタイル画像の符号化は、ディジタルカメラ10で行ってもよいし、ディジタルカメラ10の外部で行ってもよい。
図22において、各ノードでのタイル画像の符号化、タイル画像の転送、及び、HEIFファイルの生成に要するトータルの処理時間は、タイル画像の転送に用いられるネットワークにおいて、タイル画像の転送にもちいることができる転送帯域に影響される。したがって、トータルの処理時間を、所定の時間内に収めるためには、ネットワークの転送帯域に応じて、ノードで処理されるタイル画像の画サイズやビットレートを制限する必要がある。
そこで、タイル画像の画サイズ又はビットレートについては、ネットワークの転送帯域に応じて、トータルの処理時間が所定の時間内に収まるように、目標となる目標画サイズ又は目標ビットレートを設定することができる。そして、タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレート以下となるように、タイル画像の画サイズを設定することができる。
目標画サイズ又は目標ビットレートは、外部からの情報に応じて設定することができる。
例えば、ディジタルカメラ10では、ユーザの操作により入力される所定の時間やネットワークの転送帯域に応じて(ユーザの操作に応じて)、トータルの処理時間が所定の時間内に収まるように、目標画サイズ又は目標ビットレートを設定することができる。また、ディジタルカメラ10では、外部のネットワークから転送帯域を得ることができる場合には、そのネットワークから得られる転送帯域に応じて、トータルの処理時間が所定の時間内に収まるように、目標画サイズ又は目標ビットレートを設定することができる。
なお、図22では、ネットワークの帯域等の外部からの情報に応じて、目標画サイズ又は目標ビットレートを設定することとしたが、ネットワークの帯域等の外部からの情報に応じて、トータルの処理時間が所定の時間内に収まるように、タイル画像の画サイズを設定することができる。
また、図22では、ディジタルカメラ10で撮像された画像を分割することで、タイル画像を得ることとしたが、その他、例えば、複数のカメラで撮像された複数の画像を、タイル画像として用いることとして、ノードに入力することができる。
以上のように、タイル画像の画サイズは、図13で説明したように、世界の再生環境に応じて、ディジタルカメラ10のファームウエアを、外部からの情報としての新たなファームウエアに書き換えることで、いわば静的に設定することができる。
また、タイル画像の画サイズは、図14、図15、図20ないし図22で説明したように、いわば動的に設定することができる。
例えば、タイル画像の画サイズは、外部からの情報、例えば、ユーザの操作や、クラウド等の外部機器からの情報に応じて動的に設定することができる。
また、タイル画像の画サイズは、ディジタルカメラ10と接続される外部機器としてのノード等の性能(符号化や復号のスループット、対応するコーデックのプロファイル、レベル、及び、ティア等)や、ディジタルカメラ10と外部機器との接続方法としての通信規格(接続規格)、タイル画像を転送する際に用いるネットワークの転送帯域(通信状況)等に応じて動的に設定することができる。
さらに、タイル画像の画サイズは、タイル画像を符号化するシステム(エンコードシステム)や復号するシステム(デコードシステム)等のタイル画像を処理するシステムの構成に応じて動的に設定することができる。
タイル画像を処理するシステムの構成として、例えば、図20に示したように、1個のディジタルカメラ10で撮像された画像を分割して得られる複数のタイル画像を、複数のノードで符号化する構成を採用する場合には、タイル画像の画サイズは、ノードの性能に応じて動的に設定することができる。
タイル画像を処理するシステムの構成として、例えば、図15に示したように、複数のカメラそれぞれで生成された、タイル画像が格納されたHEIFファイルを処理する構成を採用する場合には、タイル画像の画サイズは、タイル画像が格納されたHEIFファイルを生成する複数のカメラの性能、例えば、複数のカメラが対応するコーデックのプロファイル等に応じて動的に設定することができる。
タイル画像を処理するシステムの構成として、例えば、図21に示したように、タイル画像を、ノードで復号する構成を採用する場合には、タイル画像の画サイズは、ノードを構成するハードウエア及びソフトウエアの性能(制約)、例えば、ノードが対応するコーデックのプロファイル等に応じて動的に設定することができる。
<符号化制御部42の構成例>
図23は、符号化制御部42の構成例を示すブロック図である。
なお、図23では、符号化制御部42のうちの、タイル画像を生成する部分である画像処理部110だけを図示してある。
画像処理部110は、設定部111及び生成部112を有する。
設定部111は、タイル画像の目標画サイズ又は目標ビットレートに応じて、例えば、タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレート以下となるように、あるいは、タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレートに対して所定の範囲内に収まるように、タイル画像の画サイズを設定し、生成部112に供給する。又は、設定部111は、タイル画像の画サイズを、外部からの情報に応じて設定し、生成部112に供給する。
生成部112は、光学系/イメージセンサ制御部41から符号化制御部42に供給される画像を分割することにより、設定部111からの画サイズ(設定画サイズ)のタイル画像を生成する。
図24は、画像処理部110を処理の例を説明するフローチャートである。
ステップS101において、設定部111は、タイル画像の目標画サイズ及び目標ビットレートの一方又は両方に応じて、タイル画像の画サイズを設定する。又は、設定部111は、タイル画像の画サイズを、外部からの情報に応じて設定する。そして、設定部111は、タイル画像の画サイズ(設定画サイズ)を、生成部112に供給し、処理は、ステップS101からステップS102に進む。
ステップS102では、生成部112は、光学系/イメージセンサ制御部41から符号化制御部42に供給される画像を分割することにより、設定部111からの画サイズのタイル画像を生成し、処理は、終了する。
その後、生成部112で生成されたタイル画像は、符号化制御部42において符号化され、その符号化後のタイル画像が格納されたHEIFファイルが、ファイル制御部43において生成される。
以上のように、タイル画像の画サイズが、タイル画像の目標画サイズ及び目標ビットレートの一方若しくは両方に応じて、又は、外部からの情報に応じて設定されるので、適切な画サイズのタイル画像を得ることができる。
図25は、タイル画像の画サイズが目標画サイズ以下となるように、タイル画像の画サイズを設定する画サイズ設定方法の例を示す図である。
図25において、全体画サイズ横input_widthは、ディジタルカメラ10で撮像される、タイル画像に分割される前の撮像画像の横の画素数を表し、全体画サイズ縦input_heightは、撮像画像の縦の画素数を表す。
アラインサイズ横align_width及びアラインサイズ縦align_heightは、タイル画像の符号化/復号を行うコーデックにおいて、処理の対象の画像の画サイズが所定の画素数の倍数であることが要求される場合の所定の画素数(以下、アライン画素数ともいう)を表す。アラインサイズ横align_widthは、横方向の画素数についてのアライン画素数を表し、アラインサイズ縦align_heightは、縦方向の画素数についてのアライン画素数を表す。
目標画サイズ横target_width及び目標画サイズ縦target_heightは、タイル画像の目標とする横及び縦の画素数(目標画サイズ)をそれぞれ表す。
タイル画像の画サイズ横tile_width及び画サイズ縦tile_heightは、タイル画像の横及び縦の画素数をそれぞれ表す。
設定部111には、全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、アラインサイズ横align_width及びアラインサイズ縦align_heightが、入力として供給される。
ディジタルカメラ10において、全体画サイズ横input_width及び全体画サイズ縦input_heightについては、例えば、ユーザの操作等に応じて設定することができる。例えば、全体画サイズ横input_width及び全体画サイズ縦input_heightの組として、複数の組を用意しておき、その複数の組の中から、ユーザの操作に応じた組を選択し、全体画サイズ横input_width及び全体画サイズ縦input_heightとして設定することができる。その他、全体画サイズ横input_width及び全体画サイズ縦input_heightについては、例えば、クラウド等の外部からの指示(情報)に応じて設定することができる。ディジタルカメラ10では、全体画サイズ横input_width及び全体画サイズ縦input_heightが表す画サイズの撮像画像が撮像される。
アラインサイズ横align_width及びアラインサイズ縦align_heightについては、符号化制御部42がタイル画像の符号化及び復号に採用するコーデックに応じて設定することができる。その他、アラインサイズ横align_width及びアラインサイズ縦align_heightについては、例えば、全体画サイズ横input_width及び全体画サイズ縦input_heightと同様に設定することができる。
全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、アラインサイズ横align_width及びアラインサイズ縦align_heightが、ユーザの操作に応じて設定される場合、全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、アラインサイズ横align_width及びアラインサイズ縦align_heightは、ディジタルカメラ10においてユーザの操作に応じて設定されるパラメータであるということができる。
目標画サイズ横target_width及び目標画サイズ縦target_height(目標画サイズ)については、ユーザの操作や外部機器からの情報等の外部からの情報等に応じて設定することができる。
設定部111は、全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、目標画サイズ横target_width及び目標画サイズ縦target_heightに応じて、タイル画像の横方向の画素数及び縦方向の画素数が、目標画サイズ横target_width及び目標画サイズ縦target_height以下とそれぞれなるように、タイル画像の画サイズ横tile_width及び画サイズ縦tile_height(画サイズ)を設定する。
すなわち、設定部111は、式(1)を満たす、アラインサイズ横align_width及びアラインサイズ縦align_heightの整数倍の最大のtile_width及びtile_heightをそれぞれ求め、タイル画像の画サイズ横tile_width及び画サイズ縦tile_heightにそれぞれ設定する。
tile_width = nx * align_width
tile_height = ny * align_height
tile_width <= target_width
tile_height <= target_height
tile_width <= input_width
tile_height <= input_height
・・・(1)
nx及びnyは、正の整数を表す。
図26は、タイル画像の画サイズが目標画サイズ以下となるように、タイル画像の画サイズを設定する処理の例を説明するフローチャートである。
なお、図26では、タイル画像の画サイズ横tile_width及び画サイズ縦tile_heightのうちの、画サイズ横tile_widthの設定に注目して、タイル画像の画サイズを設定する処理を説明するが、画サイズ縦tile_heightの設定も、画サイズ横tile_widthの設定と同様に行われる。
ステップS111において、設定部111は、撮像画像をタイル画像に分割する際の横方向のタイル画像の数を表す変数tile_num_tmpを、CEIL( input_width / target_width, 1 )に設定し、処理は、ステップS112に進む。関数CEIL(A,B)は、Bの整数倍のうちの、A以上の整数の最小値を表す。
ステップS112において、設定部111は、タイル画像の画サイズ横tile_widthの候補となる値を表す変数tile_width_tempを、CEIL( input_width / tile_num_tmp, align_width )に設定し、処理は、ステップS113に進む。これにより、変数tile_width_tempには、タイル画像の画サイズ横tile_widthの候補として、アラインサイズ横align_widthの整数倍の値が設定される。
ステップS113において、設定部111は、変数tile_width_tempが、目標画サイズ横target_width以下であるかどうかを判定する。
ステップS113において、変数tile_width_tempが、目標画サイズ横target_width以下でないと判定された場合、処理は、ステップS114に進む。
ステップS114では、設定部111は、変数tile_num_tmpを1だけインクリメントすることにより、撮像画像をタイル画像に分割する際の横方向のタイル画像の数を1個だけ増加して、処理は、ステップS112に戻り、同様の処理が繰り返される。
また、ステップS113において、変数tile_width_tempが、目標画サイズ横target_width以下であると判定された場合、処理は、ステップS115に進む。
ステップS115では、設定部111は、画サイズ横tile_widthを、変数tile_width_tempに設定し、処理を終了する。
なお、以上の図26の説明は、「横」を「縦」に読み替えることにより、画サイズ縦tile_heightの設定の説明となる。
図27は、タイル画像のビットレートが目標ビットレート以下となるように、タイル画像の画サイズを設定する画サイズ設定方法の例を示す図である。
図27では、タイル画像の画サイズの設定に、図25の場合と同様に、全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、アラインサイズ横align_width及びアラインサイズ縦align_heightが用いられる。
さらに、図27では、タイル画像の画サイズの設定に、全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、アラインサイズ横align_width及びアラインサイズ縦align_heightに加えて、画質bit_per_pixelが用いられる。画質bit_per_pixelは、タイル画像の1画素あたりに割り当てるデータ量(符号量)としてのビット数を表し、タイル画像の画質に相当(影響)する。
また、図27では、タイル画像の画サイズの設定に、図25で説明した目標画サイズ横target_width及び目標画サイズ縦target_heightに代えて、目標ビットレートとしての目標ビット量target_bit_per_tileが用いられる。目標ビットレートとしての目標ビット量target_bit_per_tileは、タイル画像の目標とするデータ量(符号量)を表す。
画質bit_per_pixelは、設定部111に対して、入力として供給される。
画質bit_per_pixelについては、例えば、図25の全体画サイズ横input_width及び全体画サイズ縦input_heightと同様に、ユーザの操作等に応じて設定することができる。画質bit_per_pixelが、ユーザの操作に応じて設定される場合、画質bit_per_pixelは、ディジタルカメラ10においてユーザの操作に応じて設定されるパラメータであるということができる。
目標ビット量target_bit_per_tile(目標ビットレート)については、ユーザの操作や外部機器からの情報等の外部からの情報等、例えば、図22で説明したように、タイル画像をネットワークを介して転送する際のネットワークの転送帯域に応じて設定することができる。
設定部111は、全体画サイズ横input_width及び全体画サイズ縦input_height、画質bit_per_pixel、並びに、目標ビット量target_bit_per_tileに応じて、タイル画像のビットレート(データ量)tile_width * tile_height * bit_per_pixelが、目標ビットレートとしての目標ビット量target_bit_per_tile以下となるように、タイル画像の画サイズ横tile_width及び画サイズ縦tile_height(画サイズ)を設定する。
すなわち、設定部111は、式(2)を満たす、アラインサイズ横align_width及びアラインサイズ縦align_heightの整数倍の最大のtile_width及びtile_heightをそれぞれ求め、タイル画像の画サイズ横tile_width及び画サイズ縦tile_heightにそれぞれ設定する。
tile_width = align_width * nx
tile_height = align_height * ny
tile_width * tile_height * bit_per_pixel <= target_bit_per_tile
tile_width <= input_width
tile_height <= input_height
・・・(2)
図28は、タイル画像の画サイズ及びビットレートが目標画サイズ及び目標ビットレート以下とそれぞれなるように、タイル画像の画サイズを設定する画サイズ設定方法の例を示す図である。
図28では、タイル画像の画サイズの設定に、図25の場合と同様に、全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、アラインサイズ横align_width及びアラインサイズ縦align_heightが用いられる。
さらに、図28では、タイル画像の画サイズの設定に、全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、アラインサイズ横align_width及びアラインサイズ縦align_heightに加えて、図27で説明した画質bit_per_pixelが用いられる。
また、図28では、タイル画像の画サイズの設定に、図25で説明した目標画サイズ横target_width及び目標画サイズ縦target_heightと、図27で説明した目標ビットレートとしての目標ビット量target_bit_per_tileとが用いられる。
設定部111は、全体画サイズ横input_width及び全体画サイズ縦input_height、目標画サイズ横target_width及び目標画サイズ縦target_height、画質bit_per_pixel、並びに、目標ビット量target_bit_per_tileに応じて、タイル画像の横方向の画素数及び縦方向の画素数が、目標画サイズ横target_width及び目標画サイズ縦target_height以下とそれぞれなるように、かつ、タイル画像のビットレート(データ量)tile_width * tile_height * bit_per_pixelが、目標ビットレートとしての目標ビット量target_bit_per_tile以下となるように、タイル画像の画サイズ横tile_width及び画サイズ縦tile_height(画サイズ)を設定する。
すなわち、設定部111は、式(3)を満たす、アラインサイズ横align_width及びアラインサイズ縦align_heightの整数倍の最大のtile_width及びtile_heightをそれぞれ求め、タイル画像の画サイズ横tile_width及び画サイズ縦tile_heightにそれぞれ設定する。
tile_width = nx * align_width
tile_height = ny * align_height
tile_width * tile_height * bit_per_pixel <= target_bit_per_tile
tile_width <= target_width
tile_height <= target_height
tile_width <= input_width
tile_height <= input_height
・・・(3)
なお、ノード等が対応するコーデックのプロファイルや、レベル、ティアによって、目標画サイズ横target_width及び目標画サイズ縦target_height、並びに、目標ビットレートとしての目標ビット量target_bit_per_tileが制限されることがある。コーデックのプロファイル等によって、目標画サイズ横target_width及び目標画サイズ縦target_height、並びに、目標ビットレートとしての目標ビット量target_bit_per_tileが所定値に制限される場合、その所定値に制限された目標画サイズ横target_width及び目標画サイズ縦target_height、並びに、目標ビットレートとしての目標ビット量target_bit_per_tileに応じ、式(3)に従って、タイル画像の画サイズ横tile_width及び画サイズ縦tile_heightが設定される。
<本技術を適用したコンピュータの説明>
次に、上述した一連の処理は、ハードウエアにより行うこともできるし、ソフトウエアにより行うこともできる。一連の処理をソフトウエアによって行う場合には、そのソフトウエアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
図29は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク905やROM903に予め記録しておくことができる。
あるいはまた、プログラムは、ドライブ909によって駆動されるリムーバブル記録媒体911に格納(記録)しておくことができる。このようなリムーバブル記録媒体911は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体911としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
なお、プログラムは、上述したようなリムーバブル記録媒体911からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク905にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
コンピュータは、CPU(Central Processing Unit)902を内蔵しており、CPU902には、バス901を介して、入出力インタフェース910が接続されている。
CPU902は、入出力インタフェース910を介して、ユーザによって、入力部907が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)903に格納されているプログラムを実行する。あるいは、CPU902は、ハードディスク905に格納されたプログラムを、RAM(Random Access Memory)904にロードして実行する。
これにより、CPU902は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU902は、その処理結果を、必要に応じて、例えば、入出力インタフェース910を介して、出力部906から出力、あるいは、通信部908から送信、さらには、ハードディスク905に記録等させる。
なお、入力部907は、キーボードや、マウス、マイク等で構成される。また、出力部906は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
なお、本技術は、以下の構成をとることができる。
<1>
HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の目標画サイズ又は目標ビットレートに応じて、前記タイル画像の画サイズを設定し、その画サイズの前記タイル画像を生成する画像処理部を備える
画像処理装置。
<2>
前記画像処理部は、前記タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレート以下となるように、前記タイル画像の画サイズを設定する
<1>に記載の画像処理装置。
<3>
前記画像処理部は、ユーザの操作に応じて設定されるパラメータに応じて、前記タイル画像の画サイズを設定する
<1>又は<2>に記載の画像処理装置。
<4>
前記画像処理部は、ユーザの操作に応じて設定される前記グリッド画像の画サイズに応じて、前記タイル画像の画サイズを設定する
<1>又は<2>に記載の画像処理装置。
<5>
前記画像処理部は、ユーザの操作に応じて設定される前記タイル画像の画質に応じて、前記タイル画像の画サイズを設定する
<3>に記載の画像処理装置。
<6>
前記画像処理部は、外部からの情報に応じて、前記目標画サイズ又は目標ビットレートを設定する
<1>ないし<5>のいずれかに記載の画像処理装置。
<7>
前記画像処理部は、ユーザの操作に応じて、前記目標画サイズ又は目標ビットレートを設定する
<6>に記載の画像処理装置。
<8>
前記画像処理部は、外部機器からの情報に応じて、前記目標画サイズ又は目標ビットレートを設定する
<6>に記載の画像処理装置。
<9>
前記画像処理部は、前記外部機器が対応するコーデックのプロファイル、レベル、及び、ティアのうちの1以上に応じて、前記目標画サイズ又は目標ビットレートを設定する
<8>に記載の画像処理装置。
<10>
前記画像処理部は、前記外部機器との接続方法に応じて、前記目標画サイズ又は目標ビットレートを設定する
<8>に記載の画像処理装置。
<11>
前記画像処理部は、前記外部機器の性能に応じて、前記目標画サイズ又は目標ビットレートを設定する
<8>に記載の画像処理装置。
<12>
前記画像処理部は、前記目標画サイズ及び前記目標ビットレートに応じて、前記タイル画像の画サイズを設定する
<1>ないし<11>に記載の画像処理装置。
<13>
HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の目標画サイズ又は目標ビットレートに応じて、前記タイル画像の画サイズを設定し、その画サイズの前記タイル画像を生成することを含む
画像処理方法。
<14>
HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の画サイズを、外部からの情報に応じて設定し、その画サイズの前記タイル画像を生成する画像処理部を備える
画像処理装置。
<15>
前記画像処理部は、ユーザの操作に応じて、前記タイル画像の画サイズを設定する
<14>に記載の画像処理装置。
<16>
前記画像処理部は、外部機器からの情報に応じて、前記タイル画像の画サイズを設定する
<14>に記載の画像処理装置。
<17>
前記画像処理部は、前記外部機器が対応するコーデックのプロファイル、レベル、及び、ティアのうちの1以上に応じて、前記タイル画像の画サイズを設定する
<16>に記載の画像処理装置。
<18>
前記画像処理部は、前記外部機器との接続方法に応じて、前記タイル画像の画サイズを設定する
<16>に記載の画像処理装置。
<19>
前記画像処理部は、前記外部機器の性能に応じて、前記タイル画像の画サイズを設定する
<16>に記載の画像処理装置。
<20>
HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の画サイズを、外部からの情報に応じて設定し、その画サイズの前記タイル画像を生成することを含む
画像処理方法。