(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023181936
(43)【公開日】2023-12-25
(54)【発明の名称】情報生成装置、情報生成方法、およびプログラム
(51)【国際特許分類】
G06F 16/583 20190101AFI20231218BHJP
G06V 20/70 20220101ALI20231218BHJP
【FI】
G06F16/583
G06V20/70
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022095348
(22)【出願日】2022-06-13
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】中前 慧子
(72)【発明者】
【氏名】大川 浩司
【テーマコード(参考)】
5B175
5L096
【Fターム(参考)】
5B175DA02
5B175FB02
5L096AA06
5L096BA08
5L096DA02
5L096FA69
5L096HA05
5L096HA09
(57)【要約】 (修正有)
【課題】画像から検出されたオブジェクトの情報に係るメタデータの情報量が増大してしまうことの抑制を行う情報生成装置、情報生成方法及びプログラムを提供する。
【解決手段】情報生成装置及びクライアント装置が、ネットワークを介して相互に接続されているシステムにおいて、情報生成装置100は、撮像された画像を取得する取得部201と、画像から検出されたオブジェクトに関するメタデータを生成し、画像を分割して得られる複数の分割領域の各々について、該分割領域のオブジェクトインデックスと、該分割領域におけるオブジェクトの検出結果を統合した統合情報に対応するラベルインデックスとをメタデータにおいて関連付けるメタデータ生成部と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
撮像された画像を取得する取得手段と、
前記画像から検出されたオブジェクトに関するメタデータを生成する生成手段と、を有し、
前記生成手段は、前記画像を分割して得られる複数の分割領域の各々について、該分割領域のオブジェクトインデックスと、該分割領域におけるオブジェクトの検出結果を統合した統合情報に対応するラベルインデックスとを前記メタデータにおいて関連付けることを特徴とする情報生成装置。
【請求項2】
前記生成手段により生成されるメタデータは、ARSEIに準拠したメタデータであることを特徴とする請求項1に記載の情報生成装置。
【請求項3】
前記画像からオブジェクトを検出する検出手段を更に有することを特徴とする請求項1に記載の情報生成装置。
【請求項4】
前記生成手段は、前記複数の分割領域の各々に対しオブジェクトインデックスを割り当て、前記複数の分割領域の各々のオブジェクトインデックスを前記メタデータに格納することを特徴とする請求項1に記載の情報生成装置。
【請求項5】
前記分割領域に対する前記統合情報は、当該分割領域において検出されたオブジェクトの数であることを特徴とする請求項1に記載の情報生成装置。
【請求項6】
前記メタデータ生成手段は、
前記複数の分割領域に含まれる第1分割領域で検出されたオブジェクトの数が第1範囲に属する場合、該第1範囲に対応する第1ラベルインデックスと該第1分割領域のオブジェクトインデックスとを前記メタデータにおいて関連付け、
前記複数の分割領域に含まれる分割領域であって前記第1分割領域と異なる分割領域である第2分割領域で検出されたオブジェクトの数が前記第1範囲と異なる第2範囲に属する場合、該第2範囲に対応するラベルインデックスと該第2分割領域のオブジェクトインデックスとを前記メタデータにおいて関連付けることを特徴とする請求項1に記載の情報生成装置。
【請求項7】
前記取得手段は、更に設定されたビットレートの情報を取得し、
前記生成手段は、前記ビットレートが所定の閾値未満である場合に、前記画像を分割して得られる前記複数の分割領域の各々について、該分割領域のオブジェクトインデックスと、該分割領域におけるオブジェクトの検出結果を統合した統合情報に対応するラベルインデックスとを前記メタデータにおいて関連付けることを特徴とする請求項1に記載の情報生成装置。
【請求項8】
撮像された画像を取得する取得工程と、
前記画像から検出されたオブジェクトに関するメタデータを生成する生成工程と、を有し、
前記生成工程において、前記画像を分割して得られる複数の分割領域の各々について、該分割領域のオブジェクトインデックスと、該分割領域におけるオブジェクトの検出結果を統合した統合情報に対応するラベルインデックスとを前記メタデータにおいて関連付けることを特徴とする情報生成方法。
【請求項9】
コンピュータを、請求項1乃至7のいずれか1項に記載の情報生成装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報生成技術に関する。
【背景技術】
【0002】
VCA(Video Content Analysis)を用いて画像中のオブジェクトを検出し、該オブジェクトの情報に関するメタデータを生成してクライアント装置に配信するシステムが広く普及している。
【0003】
特許文献1では、画像から検出されたオブジェクトの位置情報をメタデータとしてクライアント装置に送信する旨の技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【非特許文献1】ITU-T H.265(11/2019)High efficiency video coding
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1では、画像から検出されたオブジェクトの各々について一律で位置情報等の情報をメタデータに格納し、クライアント装置に送信しているため、メタデータの情報量が増大してしまうことがある。
【0007】
そこで本発明は、画像から検出されたオブジェクトの情報に係るメタデータの情報量が増大してしまうことの抑制を目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明の情報生成装置は、例えば以下の構成を備える。すなわち、撮像された画像を取得する取得手段と、前記画像から検出されたオブジェクトに関するメタデータを生成する生成手段と、を有し、前記生成手段は、前記画像を分割して得られる複数の分割領域の各々について、該分割領域のオブジェクトインデックスと、該分割領域におけるオブジェクトの検出結果を統合した統合情報に対応するラベルインデックスとを前記メタデータにおいて関連付ける。
【発明の効果】
【0009】
本発明によれば、画像から検出されたオブジェクトの情報に係るメタデータの情報量の増大を抑制することができる。
【図面の簡単な説明】
【0010】
【
図2】情報生成装置の機能ブロックを示す図である。
【
図4】メタデータの生成処理の流れを示すフローチャートである。
【
図7】メタデータの生成処理の流れを示すフローチャートである。
【
図8】情報生成装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照しながら、本発明に係る実施形態について説明する。なお、以下の実施形態において示す構成は一例に過ぎず、図示された構成に限定されるものではない。
【0012】
(実施形態1)
図1は、本実施形態におけるシステム構成を示す図である。本実施形態におけるシステムは、情報生成装置100、クライアント装置101、ディスプレイ103、およびネットワーク102を有している。
【0013】
情報生成装置100およびクライアント装置101は、ネットワーク102を介して相互に接続されている。ネットワーク102は、例えばETHERNET(登録商標)等の通信規格に準拠する複数のルータ、スイッチ、ケーブル等から実現される。
【0014】
なお、ネットワーク102は、インターネットや有線LAN(Local Area Network)、無線LAN(Wireless Lan)、WAN(Wide Area Network)等により実現されてもよい。
【0015】
情報生成装置100は、画像から検出されたオブジェクトの情報を含むメタデータを生成する装置である。情報生成装置100は、撮像した画像を符号化して得られた符号化データと、該画像について生成されたメタデータとを統合した配信データを、ネットワーク102を介し、クライアント装置101等の外部装置へ送信する。なお、情報生成装置100は、撮像装置としての機能を有していてもよく、情報生成装置100が撮像した画像を符号化し且つ該画像からメタデータを生成し、それらを統合して配信データを生成するようにしてもよい。また、情報生成装置100は、画像を撮像する撮像装置(不図示)や画像を記録する記録装置(不図示)から画像を取得してもよい。このとき、情報生成装置100は、取得した該画像を符号化して符号化データを生成し、かつ該画像からメタデータを生成し、それらを統合して配信データを生成するようにしてもよい。クライアント装置101は、例えば、CPUなどのプロセッサを有するパーソナルコンピュータ等の情報処理装置である。
【0016】
ディスプレイ103は、LCD(Liquid Crystal Display)等により構成されており、撮像装置から送信された配信データに含まれる符号化データをクライアント装置102が復号することで得られた復号画像などを表示する。ディスプレイ103は、HDMI(登録商標)(High Definition Multimedia Interface)等の通信規格に準拠したディスプレイケーブルを介してクライアント装置101と接続されている。なお、ディスプレイ103およびクライアント装置101は、単一の筐体に設けられてもよい。
【0017】
ここで
図2に示す機能ブロックを参照して、本実施形態における情報生成装置100の処理について説明する。
図2は、本実施形態のメタデータの生成を実行する情報生成装置100の機能ブロックを示す図である。なお
図2に示す各機能は、例えば、次のようにして実現される。すなわち、
図8を参照して後述する情報生成装置100のROM(Read Only Memory)820に格納されたコンピュータプログラムを情報生成装置100のCPU(Central Processing Unit)800が実行することで実現される。
【0018】
図2において、取得部201は、撮像された画像を取得する。情報生成装置100が撮像装置としての機能を有していている場合には、取得部201は、情報生成装置100が撮像した画像を取得するようにしてもよい。また取得部201は、ネットワーク102を介して、撮像装置や記録装置から画像を取得するようにしてもよい。なお取得部201は、動画像を構成する一連のフレームの画像(複数の画像)の各々を、1つずつ順次取得していく。
【0019】
画像処理部202は、取得部201が取得した画像に含まれるオブジェクトの検出を行う。画像からオブジェクトを検出する方法としては、パターンマッチングや機械学習により学習された学習モデルなどを用いる公知の技術を利用するものとする。なお本実施形態において検出対象とするオブジェクトは人物とするが、動物、車、動体など他のオブジェクトを検出対象としてもよい。
【0020】
メタデータ生成部203は、画像に対する画像処理部202によるオブジェクトの検出結果に基づき、該画像についてメタデータを生成する。メタデータ生成部203は、記憶部204に対し生成した該メタデータを格納する。
【0021】
符号化部205は、取得部201により取得された画像を符号化して、符号データを生成し出力する。なお本実施形態における符号化部205は、H.265を用いて画像を符号化し符号データを生成するものとするが、H.264やH.266など他の動画符号化規格を用いて画像を符号化してもよい。統合符号化部206は、メタデータ生成部203から出力されたメタデータと、符号化部205から出力された符号データとを統合し、配信データを生成する。出力部207は、ネットワーク102を介して、統合符号化部206で生成された配信データをクライアント装置101などの外部装置に出力する。
【0022】
ここで
図3を参照して、メタデータ生成部203で生成されるメタデータについてより具体的に説明する。以下メタデータのフォーマットとして、H.265におけるAnnotated Region SEIメッセージ(以下、ARSEI)ARSEIが用いられるものとする。
図3に示すメタデータ300は、本実施形態におけるメタデータでありARSEIに準拠したデータ構造を有している。メタデータ生成部203は、該データ構造内の各種シンタックスに数値を格納することで、メタデータを生成することができる。
【0023】
ここで
図3に示すメタデータ300に含まれるデータ領域301は、メタデータ300の一部であり、ar_object_label_present_flagを“1”とすることで記述される情報である。
【0024】
データ領域301において、メタデータ生成部203は、クライアント装置101に対して通知したいラベル(ar_label)の個数をar_num_label_updatesに挿入する。なおここでのラベル(ar_label)とは、255byte以下の所定の情報(文字などの情報)を記述できるシンタックスである。以下の説明においては、”personA”というラベルと、“personB”というラベルと、を定義してクライアント装置101に通知したい場合を想定する。このとき、ar_num_label_updatesは2となる。次に、メタデータ生成部203は、ar_num_label_updatesの数値だけ、ラベルを識別するインデックスをar_label_idx[i]に挿入する。例えば、メタデータ生成部203は、ar_label_idx[0]=0、ar_label_idx[1]=1とする。そして、メタデータ生成部203は、ラベルのインデックス(ar_label_idx)の各々に関連付けるラベルをar_label[ar_label_idx[i]]に挿入する。例えば、メタデータ生成部104は、ar_label[ar_label_idx[0]]=“personA”、ar_label[ar_label_idx[1]]=“personB”とする。このようなデータ領域301を含むメタデータ300を生成することで、ラベルインデックス(ar_label_idx)”0”とラベル(第1ラベル)“pesonA”との関連付け、および、ラベルインデックス(ar_label_idx)”1”とラベル(第2ラベル)“pesonB”との関連付け、をそれぞれ定義付けることができる。データ領域301を含むメタデータ300を取得したクライアント装置101は、ラベルインデックス(ar_label_idx)”0”とラベル“pesonA”との関連付け、および、ラベルインデックス(ar_label_idx)”1”とラベル“pesonB”との関連付け、をそれぞれ情報として得ることができる。
【0025】
続いて、
図3のメタデータ300に含まれるデータ領域302は、メタデータ300の一部であり、ar_num_object_updatesに1以上255以下の値をセットすることで記述される情報である。データ領域302では、画像内に存在する各オブジェクトに対応するラベルインデックスと、当該オブジェクトが存在する領域の位置情報を記述することができる。
【0026】
具体的には、メタデータ生成部203は、或る画像についてクライアント装置101に対して情報の更新が行われるオブジェクトの数をar_num_object_updatesに挿入する。ここで以下、一例として、画像から検出された第1オブジェクトと第2オブジェクトについて位置やラベルに関する情報の更新を行う場合について考える。このとき、メタデータ生成部203は、ar_num_object_updatesとして“2”の数値をセットする。続いて、メタデータ生成部104は、ar_num_object_updatesの数だけ、オブジェクトのインデックスをar_object_idx[i]に挿入する。ここで第1オブジェクトのオブジェクトインデックスとして”0”、第2オブジェクトのオブジェクトインデックスとして”1”が割り当てられるものとする。このときメタデータ生成部203は、データ領域302に含まれるar_object_idx[0]=0、ar_object_idx[1]=1と設定する。
【0027】
次に、メタデータ生成部203は、ar_num_object_updatesが示す数だけ(言い換えればデータ領域302のi=0およびi=1の各々について)、ar_object_label_update_flagを‘1’にする。なお、ar_object_label_update_flagを1にすることで、該ar_object_idx[i]に紐づけるラベルインデックスを更新することが可能である。ar_object_label_update_flagを‘1’にしたうえで、メタデータ生成部203は、ar_object_label_idx[ar_object_idx[i]]に、前述のラベルインデックスから画像内に存在する各オブジェクトに紐づけたいラベルインデックスを選択して挿入する。例えばオブジェクトインデックス“0”の第1オブジェクトにラベルインデックス0の“personA”というラベル(ar_label)を紐づけたい場合を想定する。このとき、メタデータ生成部203は、ar_object_label_idx[ar_object_idx[0]]に、“personA”のラベル(ar_label)に対応するラベルインデックス(ar_label_idx)“0”をセットする。すなわち、メタデータ生成部104は、ar_object_label_idx[ar_object_idx[0]]=0とする。このようにすることで、第1オブジェクトのオブジェクトインデックス“0”と、“personA”のラベル名のラベルインデックス“0”とを対応付けることができる。
【0028】
また、メタデータ生成部203は、オブジェクトの領域の位置情報として、ar_bounding_box_top[ar_object_idx[i]]、ar_bounding_box_left[ar_object_idx[i]]、ar_bounding_box_width[ar_object_idx[i]]、ar_bounding_box_height[ar_object_idx[i]]をメタデータに格納する。なお、ar_bounding_box_top[ar_object_idx[i]]、および、ar_bounding_box_left[ar_object_idx[i]]はオブジェクトの領域の左上の座標を示す。また、ar_bounding_box_width[ar_object_idx[i]]は該オブジェクトの領域の幅を示し、ar_bounding_box_height[ar_object_idx[i]]は該オブジェクトの領域の高さを示す。
【0029】
以上のように、上述のメタデータ300を用いたオブジェクトに関する情報の更新では、画像内に存在しうるオブジェクトのラベルや、画像内に存在するオブジェクトの領域の位置情報を追加可能である。一方で、これらの情報は、所定のフラグを用いて削除することも可能である。例えば、データ領域301の或るiについて、ar_label_cancel_flagを1にすることで、対応するar_label_idx[i]の情報を削除することができる。また、データ領域302の或るiについて、ar_object_cancel_flagを1にすることで、ar_object_label_idx[ar_object_idx[i]]を用いたオブジェクトインデックスとラベルインデックスとの対応付けを削除(キャンセル)することが可能である。また、データ領域302の或るiについて、ar_bounding_box_cancel_flagを‘1’とすることで、対応するオブジェクトの領域の位置情報(ar_bounding_box_top[ar_object_idx[i]]、ar_bounding_box_left[ar_object_idx[i]]、ar_bounding_box_width[ar_object_idx[i]]、ar_bounding_box_height[ar_object_idx[i]])を削除(キャンセル)することが可能である。
【0030】
また、メタデータ生成部203は、ar_num_object_updatesを“0”にすることで、データ領域302の情報をメタデータ300にシグナリングせず、ar_object_label_present_flagを“1”にして、データ領域301の情報をメタデータ300にシグナリングするようにしてもよい。例えば、メタデータ生成部203は、画像の配信データをクライアント装置に配信する前に、予め、データ領域301の情報をメタデータ300にシグナリングして、クライアント装置に配信してもよい。
【0031】
なおARSEIにおいて扱うオブジェクトの最大数は仕様で256個と定められている。ARSEIでは、オブジェクトのバウンディングボックスの左上頂点の座標が4バイトの二次元座標で表現され、当該バウンディングボックスの幅および高さがそれぞれ2バイトで表現されることから、オブジェクトの位置情報は合計8バイトで表現される。ここで、仮に画像中の256個のオブジェクトの各々について、位置情報の更新を30FPSで行うと、8バイト×256個×30≒500kbpsの情報量が位置情報の更新のみで必要となってしまう。このように動画像を構成する各画像について、全てのオブジェクトの位置情報(ar_bounding_box_top、ar_bounding_box_left)およびサイズ情報(ar_bounding_box_width、ar_bounding_box_height)の更新を行うと、送信する情報量が増大してしまいネットワーク帯域の圧迫が起こりえる。また、検出されたオブジェクト数により情報量の変動が発生するため、事前にデータ量を見積もりにくい。
【0032】
そこで本実施形態におけるメタデータ生成部204は、撮像部201で撮像された画像を領域分割し、分割した領域1つ1つをARSEIにおける1つのオブジェクトとして扱う。そして、分割された領域自体の位置、幅、高さをARSEIのバウンディングボックスの情報として送信する。さらに、検出部203が検出した各領域内の検出結果をまとめた統合情報に対応するar_label_idxをメタデータに格納する。検出結果の統合情報は、例えば各領域内のオブジェクトの検出数などである。これにより、受信側は各領域に紐づいた検出結果の統合情報を得られる。また、分割した領域は位置情報の更新が発生しないため、ARSEIで送信する情報量を抑えられる。さらにオブジェクト数は領域の分割数で固定であるため、検出部203が検出するオブジェクトの数によらず、情報量の変動も抑えられる。
【0033】
ここで
図4~6を参照して、本実施形態における情報生成装置100によるメタデータを生成する処理について説明する。
図4に示す処理を実行することで、各分割領域におけるオブジェクト検出結果の統合情報をクライアント装置101に送信することが可能となる。なお
図4に示すフローの処理は、例えば、情報生成装置100のROM820に格納されたコンピュータプログラムを情報生成装置100のCPU800が実行して実現される
図2に示す機能ブロックにより実行されるものとする。
【0034】
まずS401にて、取得部201は、画像における複数の分割領域に関する分割情報を取得する。なお、分割情報は、画像における複数の分割領域の各々の位置情報や分割領域の個数の情報などを含み、例えば、予めユーザにより設定されるものである。なお、各分割領域は、ARSEIのバウンディングボックスの性質上、四角形の領域が望ましい。また本実施形態では、
図5に示すように、画像の全領域500を4分割して複数の分割領域501~504に分割されるものとし、画像処理部202は、分割領域501~504の各々の位置情報を含む分割情報を取得するものとする。なお、分割領域の個数はこの例に限らず2以上の数であればよい。
【0035】
次に、S402にて、画像処理部202は、領域分割実施フラグを1とする。なお、領域分割実施フラグの初期値は0であったものとする。次にS403にて、取得部201は、動画像を構成する複数の画像に含まれる1つの画像を、処理対象の画像として取得する。次に、S404にて、画像処理部202は、S401で取得した分割情報に従って、現在処理対象の画像を複数の分割領域に分割する領域分割処理を実行する。本実施形態の例では、画像処理部202は、分割情報に従って、
図5に示すように、画像に対して分割領域501~504が得られるような領域分割処理を実行する。次に、S404にて、画像処理部202は、現在の処理対象の画像に対してオブジェクトの検出処理を実行する。本実施形態における画像処理部202は、検出対象のオブジェクトとして人物を検出するものとするが、これに限らず、動体、車、動物など他のオブジェクトを検出するようにしてもよい。
【0036】
S406にて、メタデータ生成部203は、領域分割実施フラグが1であるかを判定し、1であると判定された場合(S406にてYes)、S407へ遷移し、0であると判定された場合(S406にてNo)、S409へ遷移する。
【0037】
S407にて、メタデータ生成部203は、データ領域301において、分割領域の位置情報をメタデータに記述する。具体的には、メタデータ生成部203は、メタデータ300のデータ領域302に、各分割領域の位置情報と、各分割領域のオブジェクトインデックスとを紐づけて記述する。ここで例えば、
図5に示すケースにおいて、メタデータ生成部203は、分割領域501にオブジェクトインデックス“0”、分割領域502にオブジェクトインデックス“1”、分割領域503にオブジェクトインデックス“2”、分割領域504にオブジェクトインデックス“3”を割り当てる。そして、メタデータ生成部203は、データ領域302において、更新するオブジェク数が4であるため、ar_num_object_updates=4とし、更に各分割領域について(i=0~3の各々について)ar_bounding_box_update_flag=1とする。なおメタデータ生成部203は、データ領域302において、分割領域501に対応するオブジェクトインデックスとしてar_object_idx[0]=0とし、分割領域501の位置情報(分割領域501の左上頂点の座標および横幅と縦幅)を、ar_bounding_box_top[ar_object_idx[0]]、ar_bounding_box_left[ar_object_idx[0]]、ar_bounding_box_width[ar_object_idx[0]]、ar_bounding_box_height[ar_object_idx[0]]に格納する。また同様に、メタデータ生成部203は、データ領域302において、分割領域502に対応するオブジェクトインデックスとしてar_object_idx[1]=1とし、分割領域502の位置情報(分割領域502の左上頂点の座標および横幅と縦幅)を、ar_bounding_box_top[ar_object_idx[1]]、ar_bounding_box_left[ar_object_idx[1]]、ar_bounding_box_width[ar_object_idx[1]]、ar_bounding_box_height[ar_object_idx[1]]に格納する。また同様に、メタデータ生成部203は、データ領域302において、分割領域503に対応するオブジェクトインデックスとしてar_object_idx[2]=2とし、分割領域503の位置情報(分割領域503の左上頂点の座標および横幅と縦幅)を、ar_bounding_box_top[ar_object_idx[2]]、ar_bounding_box_left[ar_object_idx[2]]、ar_bounding_box_width[ar_object_idx[2]]、ar_bounding_box_height[ar_object_idx[2]]に格納する。また同様に、メタデータ生成部203は、データ領域302において、分割領域504に対応するオブジェクトインデックスとしてar_object_idx[3]=3とし、分割領域504の位置情報(分割領域504の左上頂点の座標および横幅と縦幅)を、ar_bounding_box_top[ar_object_idx[3]]、ar_bounding_box_left[ar_object_idx[3]]、ar_bounding_box_width[ar_object_idx[3]]、ar_bounding_box_height[ar_object_idx[3]]に格納する。以上のようにして、メタデータ生成部203は、各分割領域について、分割領域のオブジェクトインデックス(ar_object_idx)と該分割領域の位置情報とを関連付けて記述したメタデータ300を生成する。以上説明したようなS407の処理ののち、S408へ遷移し、S408にて、メタデータ生成部203は、領域分割実施フラグを1から0に変更する。これより以降のステップの処理において、S406からS409へ遷移するようになる。
【0038】
ここでS406の処理の説明に戻り、S406にて領域分割実施フラグが1でないと判定された場合、言い換えれば領域分割実施フラグが0である場合(S406にてNo)、S409へ遷移する。S409にて、メタデータ生成部203は、分割領域の情報の更新をメタデータにおいて行わない。言い換えれば、メタデータ生成部203は、データ領域301において、ar_num_object_updatesを0とし、メタデータにおける分割領域の情報の記述をスキップする。
【0039】
次に、S410にて、メタデータ生成部203は、現在の処理対象の画像に対するオブジェクトの検出の結果に基づき、該画像における分割領域ごとの検出結果を統合した統合情報を生成する。なお本実施形態において或る分割領域の統合情報は、該或る分割領域において検出されたオブジェクトの数に関する情報であるものとする。例えば、或る分割領域の統合情報として、該或る分割領域から検出されたオブジェクトの数を示す数値が用いられる。ここで例えば、
図5に示すように、分割領域501にて9人、分割領域502にて12人、分割領域503にて6人、分割領域504にて14人が検出された場合を想定する。このとき、分割領域501の統合情報は“9”、分割領域501の統合情報は“12”、分割領域501の統合情報は“6”、分割領域501の統合情報は“14”となる。
【0040】
次に、S411にて、メタデータ生成部203は、現在の処理対象とする画像に対するメタデータの生成を実行する。S411にて、メタデータ生成部203は、まず、統合情報を含むラベルと、ラベルインデックスとの定義付けを実施する。
【0041】
図5の例において、メタデータ生成部203は、ラベルインデックス(ar_label_idx)“0”に紐づく統合情報のラベル(ar_label)を“9”とする。そして、メタデータ生成部203は、メタデータ300のデータ領域301においてar_label_idx[0]=0、ar_label[ar_label_idx[0]]=9とする。
【0042】
同様に、メタデータ生成部203は、ラベルインデックス(ar_label_idx)“1”に紐づく統合情報のラベル(ar_label)を“12”とする。そして、メタデータ生成部203は、メタデータ300のデータ領域301において、ar_label_idx[1]=1、ar_label[ar_label_idx[1]]=12とする。
【0043】
同様に、メタデータ生成部203は、ラベルインデックス(ar_label_idx)“2”に紐づく統合情報のラベル(ar_label)を“6”とする。そして、メタデータ生成部203は、メタデータ300のデータ領域301において、ar_label_idx[2]=2、ar_label[ar_label_idx[2]]=6とする。
【0044】
同様に、メタデータ生成部203は、ラベルインデックス(ar_label_idx)“3”に紐づく統合情報のラベル(ar_label)を“14”とする。そして、メタデータ生成部203は、メタデータ300のデータ領域301において、ar_label_idx[3]=3、ar_label[ar_label_idx[3]]=14とする。
【0045】
ここでS411では、更に、メタデータ生成部203は、メタデータ300のデータ領域302において、ラベルインデックスとオブジェクトインデックスの関連付けを行う。具体的には、メタデータ生成部203は、分割領域501のオブジェクトインデックス(ar_object_idx[0])“0”と、分割領域501におけるオブジェクト数“9”に対応するラベルインデックス(ar_label_idx)“0”とを関連付けるため、データ領域302にてar_object_label_idx[ar_object_idx[0]]=0とする。これより、ar_object_idx[0](オブジェクトインデックス=0)の情報と、ar_label_idx”0”の情報とが、関連付けられることとなる。この情報をクライアント装置101が受け取った場合、クライアント装置101は、オブジェクトインデックス“0”の分割領域501から検出された人数が、オブジェクトインデックス“0”に関連付けられたラベルインデックス“0”に対応するラベル“9”であると特定することができる。
【0046】
また同様に、メタデータ生成部203は、分割領域502のオブジェクトインデックス(ar_object_idx[1])“1”と、分割領域502におけるオブジェクト数“12”に対応するラベルインデックス(ar_label_idx)“1”とを関連付けるため、データ領域302にてar_object_label_idx[ar_object_idx[1]]=1とする。
【0047】
また同様に、メタデータ生成部203は、分割領域503のオブジェクトインデックス(ar_object_idx[2])“2”と、分割領域503におけるオブジェクト数“6”に対応するラベルインデックス(ar_label_idx)“2”とを関連付けるため、データ領域302にてar_object_label_idx[ar_object_idx[2]]=2とする。
【0048】
また同様に、メタデータ生成部203は、分割領域503のオブジェクトインデックス(ar_object_idx[3])“3”と、分割領域504におけるオブジェクト数“14”に対応するラベルインデックス(ar_label_idx)“3”とを関連付けるため、データ領域302にてar_object_label_idx[ar_object_idx[3]]=3とする。
【0049】
以上のようにして、メタデータ生成部203は、メタデータ300のデータ領域302において、ラベルインデックスとオブジェクトインデックスの関連付けを行うことでメタデータの生成を行う。
【0050】
次に、S412にて、統合符号化部205は、取得部401で取得した画像の符号化データと、S403で生成したメタデータとを含む配信データを生成する。次に、S413にて、出力部207は、S404で生成された配信データをクライアント装置101に出力する。
【0051】
次に、S414にて、メタデータ生成部203は、
図4に示すフローの処理を終了するかを判定し、終了すると判定した場合(S414にてYes)、
図4に示すフローの処理を終了する。一方で、終了しないと判定した場合(S414にてNo)、S403へ遷移し、S403にて取得部201は、次に処理対象とする画像を取得する。なおこれ以降の処理において、先行して定義付けを行ったラベルインデックスを流用してもよい。具体的に、例えば、新たに処理対象として取得した画像における分割領域504で検出されたオブジェクト数が9である場合を想定する。このとき、ラベルインデックス(ar_label_idx)“0”とラベル(ar_label)“9”との関連付けを上述のように既に定義しているため、メタデータ生成部203は、分割領域504のオブジェクトインデックス(ar_object_idx[3])“3”と、分割領域504におけるオブジェクト数“9”に対応するラベルインデックス(ar_label_idx)“0”とを関連付けるため、データ領域302にてar_object_label_idx[ar_object_idx[3]]=0とする。このように、先行して定義付けを行ったラベルインデックスを流用してもよい。
【0052】
また上述の
図4の説明において、或る分割領域の統合情報として、該或る分割領域において検出されたオブジェクト数を用いたがこれに限らない。例えば、或る分割領域において検出されたオブジェクト数が属するオブジェクト数の範囲の情報を統合情報として用いてもよい。
【0053】
以下この場合の例について説明する。
図6に示すように、メタデータ生成部203は、ar_label_idx601と、オブジェクトの数の範囲を示すar_label62との関連付けをデータ領域301において行う。具体的には、メタデータ生成部203は、ar_label_idx[0]=0とし、ar_label[ar_label_idx[0]]=0_9とする。このようにすることで、ラベルインデックス(ar_label_idx)“0”と、0から9というオブジェクトの数の範囲を示すラベル(ar_label)“0_9”との関連付けを定義しクライアント装置101に通知することができる。
【0054】
同様に、メタデータ生成部203は、ar_label_idx[1]=1とし、ar_label[ar_label_idx[1]]=10_19とする。このようにすることで、ラベルインデックス(ar_label_idx)“1”と、10から19というオブジェクトの数の範囲を示すラベル(ar_label)“10_19”との関連付けを定義しクライアント装置101に通知することができる。
【0055】
同様に、メタデータ生成部203は、ar_label_idx[2]=2とし、ar_label[ar_label_idx[2]]=20_29とする。このようにすることで、ラベルインデックス(ar_label_idx)“2”と、20~29というオブジェクトの数の範囲を示すラベル(ar_label)“20_29”との関連付けを定義しクライアント装置101に通知することができる。
【0056】
同様に、メタデータ生成部203は、ar_label_idx[3]=3とし、ar_label[ar_label_idx[3]]=30_39とする。このようにすることで、ラベルインデックス(ar_label_idx)“3”と、30から39というオブジェクトの数の範囲を示すラベル(ar_label)“30_39”との関連付けを定義しクライアント装置101に通知することができる。
【0057】
以上のようにして
図6に示すようなラベルインデックス(ar_label_idx)と、オブジェクトの数の範囲の情報を示すラベル(ar_label)とを関連付けた情報をクライアント装置101に通知することができる。
【0058】
そして、メタデータ生成部203は、或る分割領域において検出されたオブジェクトの数が属するオブジェクト数の範囲を記述したar_label602を特定する。そしてメタデータ生成部203は、該特定したar_label602に紐づくar_label_idx601と、該或る分割領域のオブジェクトインデックスの関連付けをデータ領域302において行う。
【0059】
ここで例えば、ここで、
図5に示すように、分割領域501にて9人、分割領域502にて12人、分割領域503にて6人、分割領域504にて14人がオブジェクトとして検出された場合を想定する。このときメタデータ生成部203は、分割領域501にて9人のオブジェクトが検出されたことから分割領域501のオブジェクトの数は0~9の範囲に属するため、ar_label602”0_9”を特定するとともに、対応するar_label_idx”0”を特定する。そして、メタデータ生成部203は、分割領域501のオブジェクトインデックス(ar_object_idx[0])0と、オブジェクト数は0~9に対応するラベルインデックス(ar_label_idx)“0”とを関連付けるため、ar_object_label_idx[ar_object_idx[0]]=0とする。
【0060】
同様に、メタデータ生成部203は、分割領域502のオブジェクト数が12であることから、分割領域502のオブジェクトインデックス(ar_object_idx[1])“1”と、オブジェクト数の範囲10~19に対応するラベルインデックス(ar_label_idx)1”とを関連付けるため、ar_object_label_idx[ar_object_idx[1]]=1とする。
【0061】
同様に、メタデータ生成部203は、分割領域503のオブジェクト数が6であることから、分割領域503のオブジェクトインデックス(ar_object_idx[2])“2”と、オブジェクト数の範囲0~9に対応するラベルインデックス(ar_label_idx)“0”とを関連付けるため、ar_object_label_idx[ar_object_idx[2]]=0とする。
【0062】
同様に、メタデータ生成部203は、分割領域504のオブジェクト数が14であることから、分割領域504のオブジェクトインデックス(ar_object_idx[3])“3”と、オブジェクト数の範囲10~19に対応するラベルインデックス(ar_label_idx)“1”とを関連付けるため、ar_object_label_idx[ar_object_idx[3]]=1とする。
【0063】
以上説明したように、メタデータ生成部203は、第1分割領域で検出されたオブジェクト数が第1範囲に属する場合、該第1範囲に対応する第1ラベルインデックスと該第1分割領域のオブジェクトインデックスとをメタデータにおいて関連付ける。同様に、メタデータ生成部203は、第1分割領域と異なる第2分割領域で検出されたオブジェクト数が第1範囲と異なる第2範囲に属する場合、該第2範囲に対応するラベルインデックスと該第2分割領域のオブジェクトインデックスとをメタデータにおいて関連付ける。
【0064】
以上説明したように、本実施形態の情報生成装置100は、画像から検出されたオブジェクトの各々について位置情報をメタデータとして送信するのではなく、次のような処理を実行する。すなわち、情報生成装置100は、画像を分割した分割領域の各々について、該分割領域における検出結果をまとめた統合情報に対応するラベルインデックスと、該分割領域のオブジェクトインデックスとを関連付けたメタデータとして送信する。このようにすることで、画像から検出されたオブジェクト各々の位置情報をメタデータとして送信する場合に比べて、メタデータの情報量の増大を抑制することが可能となる。
【0065】
(実施形態2)
実施形態2における情報生成装置100は、予め設定された配信設定に基づいて、領域分割を実施して分割領域毎の統合情報を送信するか否かを決定する。これにより、帯域が広くメタデータの情報量が増えたとしても帯域の圧迫が起こらない場合においてはARSEIによって個々の物体の情報を送信でき、帯域を圧迫しそうな低ビットレート環境では統合情報を送ることで情報量を抑えられる。以下、
図7を参照して、本実施形態における情報生成装置100の処理について説明する。なお、実施形態1と異なる部分を主に説明し、実施形態1と同一または同等の構成要素、および処理の重複する説明は省略する。
【0066】
まずS701では、取得部201は、処理対象とする画像を取得する。次に、S702にて、画像処理部202は、予め設定された配信設定を参照し、配信設定として設定されたビットレートが閾値未満であるかを判定する。ここで、例えば、ビットレートが1Mbps未満であると判定された場合(S702にてYes)、帯域がメタデータによって圧迫される可能性があるとして、S703へ遷移する。一方で、ビットレートが1Mbps以上であると判定された場合(S702にてNo)、十分な帯域があると判断して、S717へ遷移する。
【0067】
S703にて、画像処理部202は、分割情報の更新があるかを判定し、更新があると判定された場合(S703にてYes)、S704へ遷移し、更新がないと判定された場合(S703にてNo)、S706へ遷移する。なお、例えば、画像を分割する際の分割数や分割領域の位置情報を変更するユーザ操作がなされた場合、S703にて分割情報の更新があると判定される。なお
図7の処理が開始されて初めてS703の処理が行われる場合、分割情報の更新があるとしてS703からS704に遷移するものとする。
【0068】
S704にて、取得部201は、現在設定されている最新の分割情報を取得する。次に、S705にて、画像処理部202は、領域分割実施フラグを1とする。なお、領域分割実施フラグの初期値は0であったものとする。次に、S706にて、画像処理部202は、S704で取得した分割情報に従って、現在処理対象の画像を複数の分割領域に分割する領域分割処理を実行する。画像処理部202は、分割情報に従って、例えば、
図5に示すように、画像に対して分割領域501~504が得られるような領域分割処理を実行する。
【0069】
なおS707~S716の処理は、S405~S414と同様であるため説明を省略する。S702の処理の説明に戻り、S702にて、ビットレートが1Mbps以上であると判定された場合(S702にてNo)、S717に遷移し、S717では、画像処理部202は、現在処理対象とする画像に対しオブジェクトの検出処理を実行する。次に、S718では、メタデータ生成部203は、S717で画像から検出されたオブジェクトの各々の位置情報をメタデータ300に格納し、S714へ遷移する。この場合のS714では、統合符号化部206は、S718で生成されたメタデータと画像を符号化した符号化データとを統合した配信データを生成する。
【0070】
以上説明したように本実施形態における情報生成装置100では、配信設定に基づいて分割領域毎の統合情報を送信するか否かを決定する。これより、帯域に余裕がある場合は個別のオブジェクトの詳細情報を送ることができ、帯域に余裕がない場合は統合情報を送ることで情報量の増大を抑制することができる。
【0071】
(その他の実施形態)
次に
図8を参照して、各実施形態の各機能を実現するための情報生成装置100のハードウェア構成を説明する。なお、以降の説明において情報生成装置100のハードウェア構成について説明するが、情報生成装置100も同様のハードウェア構成によって実現されるものとする。
【0072】
本実施形態における情報生成装置100は、CPU800、RAM810、ROM820、HDD830、および、I/F840を有している。
【0073】
CPU800は情報生成装置100を統括制御する中央処理装置である。RAM810は、CPU800が実行するコンピュータプログラムを一時的に記憶する。また、RAM810は、CPU800が処理を実行する際に用いるワークエリアを提供する。また、RAM810は、例えば、フレームメモリとして機能したり、バッファメモリとして機能したりする。
【0074】
ROM820は、CPU800が情報生成装置100を制御するためのプログラムなどを記憶する。HDD830は、画像データ等を記録する記憶装置である。
【0075】
I/F840は、ネットワーク102を介して、TCP/IPやHTTPなどに従って、外部装置との通信を行う。
【0076】
なお、上述した各実施形態の説明では、CPU800が処理を実行する例について説明するが、CPU800の処理のうち少なくとも一部を専用のハードウェアによって行うようにしてもよい。例えば、ROM820からプログラムコードを読み出してRAM810に展開する処理は、転送装置として機能するDMA(DIRECT MEMORY ACCESS)によって実行してもよい。
【0077】
なお、本発明は、上述の実施形態の1以上の機能を実現するプログラムを1つ以上のプロセッサが読出して実行する処理でも実現可能である。プログラムは、ネットワーク又は記憶媒体を介して、プロセッサを有するシステム又は装置に供給するようにしてもよい。また、本発明は、上述の実施形態の1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。また、情報生成装置100の各部は、
図8に示すハードウェアにより実現してもよいし、ソフトウェアにより実現することもできる。
【0078】
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲は限定的に解釈されるものではない。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱しない範囲において、様々な形で実施することができる。例えば、各実施形態を組み合わせたものも本明細書の開示内容に含まれる。
【符号の説明】
【0079】
100 情報生成装置
201 取得部
202 画像処理部
203 メタデータ生成部
204 符号化部
205 統合符号化部
206 出力部