説明

符号化装置

【課題】 ユーザの指定する符号化方式や符号化パラメータによっては、制限すべき符号化設定が発生してしまう恐れがあった。
【解決手段】 符号化装置は、撮像手段による撮像データを第1の符号化方式で符号化する第1の符号化手段と、前記撮像手段による撮像データを第2の符号化方式で符号化する第2の符号化手段と、前記第1及び第2の符号化方式のうちいずれかで符号化された撮像データをネットワークを介してクライアントへ送信する送信手段と、前記撮像データの符号化方式及び符号化パラメータのうち少なくともいずれかを指定するための指定情報を前記クライアントから受信する受信手段とを有すると共に、前記受信手段による指定情報の受信に応じた符号化方式及びパラメータのうち少なくともいずれかの変更を制限する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の符号化方式で撮像データを符号化可能な符号化装置に関する。
【背景技術】
【0002】
従来、監視カメラやセキュリティカメラにおいて、ネットワーク帯域の制限があるため、高画質化、高精細化に伴う解像度サイズの増大に対して、符号化を行い映像を圧縮して送信する技術が発展してきている。また、複数の符号化方式からクライアントのユーザが指定する符号化方式や符号化パラメータで符号化する符号化装置が存在する。
複数の符号化方式を持っている場合には、ハードウェア制限やシステム構成の限界により、同時に生成できる符号化方式に対して一定の負荷がかかった場合や設定組み合わせにより、実現できる生成方式に合わせて出力制約を設けていることがある。
例えば、特許文献1には、符号化のビットレート変換において、ネットワーク帯域に応じてクライアント端末毎にビットレート変換を行うシステムが提案されている。また、特許分権1には、少ないリソースで複数のビットレート変換を実現するため、符号化方式変換単位で切り替えて出力するような制限を設けることが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−40879号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、ユーザの指定する符号化方式や符号化パラメータによっては、制限すべき符号化設定が発生してしまう恐れがあった。
すなわち、ビットレート変換に対してすべての変換方式を同時に動作させ、ネットワーク帯域毎に送信するレートを切り替える場合、システム上は不要なビットレート変換や構成としてすべてのビットレート変換が同時に行える必要がある。複数の能力が高いビットレート変換装置があれば有効であるが、監視カメラやセキュリティカメラのような小型装置においては、装置システム上の制約やコストのために符号化変換や映像出力に制限があるため実現が困難である。また、接続性向上における標準化されたプロトコルにおいては、システムの大小や装置の性能に問わず、同一のインターフェースで符号化方式や配信パラメータを設定することを目的としているため、システムに依存した設定値については考慮されていない。
本発明は上記の問題点に鑑みてなされたものであり、その目的は、複数の符号化方式で撮像データを符号化可能な符号化装置において、制限すべき符号化設定の発生を、簡易なシステムで低減することである。
【課題を解決するための手段】
【0005】
上記の問題点を解決するために、本発明の符号化装置は、例えば、以下の構成を有する。すなわち、撮像手段による撮像データを第1の符号化方式で符号化する第1の符号化手段と、前記撮像手段による撮像データを第2の符号化方式で符号化する第2の符号化手段と、前記第1及び第2の符号化方式のうちいずれかで符号化された撮像データをネットワークを介してクライアントへ送信する送信手段と、前記撮像データの符号化方式及び符号化パラメータのうち少なくともいずれかを指定するための指定情報を前記クライアントから受信する受信手段と、前記受信手段による指定情報の受信に応じた符号化方式及びパラメータのうち少なくともいずれかの変更を制限する制限手段とを有する。
【発明の効果】
【0006】
本発明によれば、複数の符号化方式で撮像データを符号化可能な符号化装置において、制限すべき符号化設定の発生を、簡易なシステムで低減できるようになる。
【図面の簡単な説明】
【0007】
【図1】コマンド受信処理フローチャート図
【図2】監視カメラ内のブロック図
【図3】符号化部の処理フローチャート図
【図4】複数の符号化方式による同時映像出力の概念図
【図5】符号化設定値のリストの一例
【図6】監視カメラと表示装置の接続図
【図7】プロトコルを用いた詳細コマンド処理のフローチャート図
【発明を実施するための形態】
【0008】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。図6は、本発明の実施形態にかかわる監視カメラと表示装置の接続図である。監視カメラ6001はネットワーク6002によって複数の表示装置A6003、表示装置B6004と接続されている。ネットワーク6002はローカルエリアネットワークやインターネットであり、有線、無線を問わずIP接続ができるものである。表示装置A6003と表示装置B6004は同時に監視カメラ6001に対して制御を行うことができ、監視カメラ6001からの符号化映像を復号化して表示する。監視カメラに対する映像出力設定や接続設定、配信を行うための制御コマンドなどは、表示装置A6003および表示装置B6004から監視カメラ6001に対して送信される。なお、表示機能と監視カメラ制御機能は別の装置として存在してもよい。
【0009】
<第1の実施形態>
以下、図を参照して、第1の実施例による監視カメラである符号化装置について説明する。なお、本形態では、監視カメラに符号化装置が含まれる構成について説明するが、これらが別の装置であっても良い。
【0010】
図2は監視カメラ内のブロック図である。監視カメラ6001は、レンズ2001を通して入力された映像が、CCD2002によって撮像され、信号処理部2004によってデジタル映像データとして処理される。信号処理部2004で処理された映像(撮像データ)は、符号化部A2005、符号化部B2006、符号化部C2007に同時に渡され、各符号化方式によって変換された後、配信制御部2008によってクライアントへ通信部2009を介して送信される。内部バス2003を介して接続された各ブロックは、CPU2010からの制御によって一連のデータ処理を行い、映像データや設定値などの符号化および配信にかかわるデータはRAM2011を用いて共有される。各ブロックでの制御コードや、システム再起動や初期時の値などはROM2012に保存されており、起動時にロードされCPU2010の指示に従って各ブロックの制御を行う。
【0011】
また、CPU2010はレンズ制御部2013を介してズームやフォーカスなどのレンズ制御を行う。なお、CPU2010は、RAM2011およびROM2012にある各ブロックに対する設定値、配信制御部2008から受け取る映像の配信制御に関する情報、各符号化部の処理状況などの各種情報を通信部2009を介してクライアントと送受信する。つまり、CPU2010は、クライアントからの制御および設定に応じて各ブロックの動作を制御する。クライアントと送受信される制御および設定は、プロトコルごとに定義された規則に従ってコマンド単位で行われる。複数の表示装置と通信を行う場合でも標準のプロトコルを用いることで、一義的な意味を持つ処理として実行することができる。
【0012】
次に、監視カメラ6001の符号化部の処理について図3のフローチャートを用いて説明する。図3の処理は、各符号化部A、B、Cで共通の処理である。各符号化部A、B、Cは、並行して、符号化処理を含む図3の処理を行う。
【0013】
信号処理部2004により映像データ(撮像データ)が生成されたことは、割り込み信号によってCPU2010に通知される。CPU2010は割り込み信号を受けて信号処理部2004の持つデータ転送機能を利用し、符号化部A2005、符号化部B2006、符号化部C2007の持つ映像入力バッファへデジタル映像データの転送処理を開始させる。符号化部A〜Cは、映像入力バッファへの映像データ(撮像データ)の蓄積が完了すると、CPU2010に割り込み信号により通知する(S3001)。CPU2010は、蓄積完了の割り込み信号を受けて、各符号化部A〜Cに対してRAM2011もしくはROM2012に保存されている符号化設定値を設定する(S3002)。CPU2010は、符号化設定値の設定後に各符号化部A〜Cに処理開始の信号を送り、各符号化部A〜Cは映像入力バッファに蓄積されたデジタル映像データを、S3002で設定された符号化設定値に従って符号化処理する(S3003)。
【0014】
符号化処理の処理時間は、符号化方式と、符号化設定値に応じた変換出力データ数によって異なる。常に一定の速度で処理ができる状態であれば、一定間隔で入力データと出力データが処理されていくことになる。しかしながら、設定された変換出力データ数が多い場合は、入力された映像データ(撮像データ)の解像度で符号化処理を行った後、任意の解像度へリサイズするためにデータ圧縮処理やデータ間引き処理が発生するため、符号化処理を数回繰り返すことになる。また、入力される映像は常に同じ情報量ではなく、撮影している被写体やレンズ制御部2013のレンズ制御による絞り、シャッタースピード、ゲインなどの設定に応じて変化がある。符号化処理は入力データに依存して処理量が変化するため、最終的な処理時間は想定される時間内に終了するかどうかの判定が必要になってくる。
【0015】
通常、1秒間に30枚のデータ処理を行うことで動画像として滑らかな映像を提供することが知られているため、時間内に処理が終了するかの判定基準として1/30秒を用いる。信号処理部2004では1/30秒ごとに入力映像を提供するように構成されているため、映像入力バッファに蓄積された映像があるかどうかを判定に用いる。映像入力バッファに信号処理部2004からのデジタル映像データが蓄積されているかどうかを確認する(S3004)。映像入力バッファにデータが蓄積されていなければ、時間内に正常に処理が終了したと判断できるため、映像出力バッファへ符号化変換データを蓄積する(S3005)。
【0016】
ここで映像出力バッファは、RAM2011に設けられた配信制御部2008と共有するメモリ領域である。S3005において、すでに映像入力バッファに映像データ(撮像データ)が蓄積されている場合は、蓄積されたデータを処理している間に、次のデータが入力されてくる可能性があるため、1映像分の符号化処理を飛ばして次の映像データの入力に備える。映像入力バッファ内の映像データは削除する(S3006)。映像出力バッファの符号化変換データが更新されないため、配信制御部2008でクライアントに配信するデータとしてはフレームレートを調整することになる。
【0017】
撮像データを複数の符号化方式で同時に符号化する場合の概念図を図4に示す。各符号化部A〜Cの符号化方式は、符号化部A2005がJPEGであり、符号化部B2006がMPEG−4であり、符号化部CがH.264である。符号化部A2005は映像入力(撮像データ)に対して、解像度の異なる3つの画像に変換して出力する。
【0018】
符号化部B2006と符号化部C2007は、映像入力(撮像データ)に対して各々1つの解像度の画像として変換する。各符号化部A〜Cは同時に並列で処理できる能力に基づいて映像入力(撮像データ)からの映像を符号化するため、ある1つの符号化部の設定を変更しても、別の符号化部のパフォーマンスが向上するわけではない。例えば、符号化部B2006の解像度を小さくし符号化部B2006の処理量を減らすように設定を変更したとしても、符号化部C2007の処理速度が上がり、同時に2つの解像度の変換画像を出力できるわけではない。
【0019】
各符号化部A〜Cの能力に基づいて処理が行われ、互いの符号化部の処理量とは依存関係がない構成となっている。なお、本実施例では、各符号化部における符号化方式をJPEG、MPEG−4、H.264と指定したが、符号化方式にどのような符号化を用いてもよい。さらに解像度の出力数はシステムにおける制約となるため、図4に示した数やサイズに限らず、どのようなサイズや方式でもシステムが成立する構成であればよい。
【0020】
次に、符号化設定値について図5を用いて説明する。図5は符号化設定値のリストの一例である。ここでは符号化部C2007のH.264に対する設定値を示している。5001は符号化方式を表す設定値でありH.264を示す設定値が入力される。5002は映像品質を表す値が入力され、設定範囲および入力規則は整数値である。5003は解像度の幅、5004は解像度の高さであり、幅と高さが対の設定値でVGAサイズを示している。5005は配信制御部2008に関係するフレームレート設定値が小数点1ケタの精度で設定され、5006はH.264のIフレームが生成画像内で出現する頻度を表している。
【0021】
5007は配信時におけるH.264フレームのフラグメント数を表しており、1つのフラグメント単位に含まれるフレーム数を表している。5008はH.264フォーマットで規定されているプロファイルを示すものであり、5009はH.264の符号化をビットレート制御で行う場合の目標とする生成ビットレートとなる。それぞれの設定値は、符号化部共通の符号化設定値であるが、設定に対して相互に関係するパラメータや、符号化方式に依存した設定値を含んでいる。設定値が存在していても符号化方式に依存した機能がない場合には設定値が無視される。なお、設定値の範囲やフォーマットは設定項目によって異なるため、システムによって異なった値となっても本実施例での目的は達成される。なお、図5の5002〜5009は、本実施形態における符号化パラメータに相当する。ただし、符号化パラメータの例は、図5の例に限らない。
【0022】
符号化設定値は、プロトコルによって異なるフォーマットや設定で定義されているが、符号化部の設定として扱われる場合には上記リストに対応した値として設定される。なおプロトコルによっては第三者が読み取れるように文字で定義されたコマンドと設定パラメータの組み合わせや、処理効率を向上するためビット配列にして定義されたものがあるが、符号化設定値としては同義のものを用いる。
【0023】
次に、符号化設定値を用いたクライアントとの通信で、どのようなコマンド処理が行われるか図1のフローチャートで説明する。通信部2009からCPU2010へ対して符号化設定値に関するコマンド受信が行われたことを通知する(S1001)。本形態の符号化設定値に関するコマンドは、符号化方式と、符号化パラメータの少なくとも一方を指定するコマンドである。当該コマンドは、監視カメラ6001が、クライアント(表示装置A、B)から受信する。
【0024】
CPU2010は、クライアントから受信したコマンドを解析し、プロトコルに従ってフォーマットチェックを行う(S1002)。フォーマットチェックでは、プロトコルで定義したフォーマットに従っていなければ、プロトコル定義に対して違反するとみなすためエラー処理となる。フォーマットが正しければ、プロトコルで定義された各設定値の範囲内であるかをチェックする(S1003)。範囲外であれば設定不可能であるためエラー処理を行う。範囲内であればパラメータの内容について妥当性チェックを行う(S1004)。妥当性のチェックとしては、他の設定項目との依存関係や現在の符号化部における許容値であるかを見極め、例えば一定処理時間内で終了していない状態である場合などに、設定を受け付けることを拒否するようなものが該当する。
【0025】
さらに、プロトコルでは符号化部共通であるため、符号化設定値の符号化方式を変更しているかをチェックする(S1005)。符号化部A2005の符号化設定値に対して符号化方式を符号化部C2007の設定値に変更しようとすると、すでに符号化部C2007の符号化設定値との矛盾が発生することになる。
【0026】
符号化部C2007は、同時並列で変換できる解像度が1種類である。従って、複数の解像度を持つような設定値を指定されると、処理に矛盾が起こる。すなわち、符号化部C2007内部においてどちらかの設定値を優先することになるため、クライアントの意図した設定値が実現できなくなる。このため、符号化設定値の変更により符号化部の処理能力を超えた複数の符号化方式が存在しないように設定の段階でエラーとして処理する。
【0027】
符号化設定値が正しいものであれば、CPU2010はRAM2011やROM2012へ設定値を保存し、対応する符号化部へ設定値を反映させ符号化処理を実施させる(S1007)。符号化処理が正しく実施されればコマンド応答をクライアントへ返答送信する(S1008)。フローチャートの各チェックにおいてエラー処理と判断された場合には、各チェックに該当するプロトコルで定義されたエラーメッセージを作成し(S1009)、エラー応答としてクライアントへエラーメッセージとエラーコードを添えて送信する(S1010)。クライアントはエラー応答の内容を確認することで、設定値のどの項目でエラーとなったか判断することができ、必要であれば設定値を変更して再設定を行うことができる。
【0028】
本形態の監視カメラ6001の信号処理部2004は、撮像データを複数の符号化部A〜Cのそれぞれに入力する。符号化部Aは、JPEG(第1の符号化方式)で撮像データを符号化する。符号化部Bは、MPEG−4で撮像データを符号化する。符号化部Cは、H.264(第2の符号化方式)で撮像データを符号化する。
【0029】
また、本形態の符号化部Aは、撮像データからフレーム時間(本形態では1/30秒)内に3種類のサイズの符号化データを出力可能である。一方、符号化部Cは、撮像データからフレーム時間内に1種類のサイズの符号化データを出力可能である。
【0030】
本形態の監視カメラ6001は、クライアント(表示装置A、B)からのリクエストに応じて、上記の符号化部A〜Cのいずれかで符号化された撮像データ(符号化データ)を送信する。
また、本形態の監視カメラ6001のCPU2010は、ネットワーク6002を介したクライアント(表示装置A、B)から、符号化方式及び符号化パラメータの少なくともいずれかを指定するための指定情報を受信することができる。この指定情報は、図5に示した符号化方式や符号化パラメータを設定・変更するためのコマンドに含まれる。
【0031】
本形態の監視カメラ6001は、例えば、JPEG以外の符号化方式で符号化しているときに、当該JPEG以外の符号化方式から、JPEG符号化方式に変更するための指定情報を受信すると、符号化方式をJPEGに変更する。一方、H.264以外の符号化方式で符号化しているときに、当該H.264以外の符号化方式からH.264符号化方式に変更するための指定情報を受信しても、符号化方式を変更しない。
【0032】
このように、本形態の監視カメラ6001は、フレーム時間内に複数の種類の符号化処理をできない符号化方式に変更するための指定情報を受信しても、当該指定情報に基づく符号化方式の変更を行わない。このように、指定情報の受信に応じた符号化方式の変更を制限することで、簡易なシステムで、制限すべき符号化設定の発生を低減できる。
【0033】
<第2の実施形態>
以下、図を参照して、本発明の第2の実施例による、映像符号化設定方法について説明する。
【0034】
図6と同じ構成で、表示装置A6003が制御コマンドとしてONVIF(Open Network Video Interface Forum)(商標登録)で定義されたプロトコルに従い、監視カメラ6001を制御する。監視カメラ6001は、通信部2009からCPU2010へ伝達されたコマンドを、ONVIFプロトコルで定義されたコマンド体系であるかを判断し、各内部ブロックの制御を行う。内部ブロックは実施例1で図2を用いて示したものと同じであるため説明は割愛する。
【0035】
クライアントからのコマンド処理の詳細を図7のフローチャートで具体的なONVIFプロトコルを用いて説明する。ONVIFでは、配信用のプロファイルが準備されており、映像源を表すビデオソース、符号化に関する映像設定全般を表すビデオエンコーダなどが含まれている。クライアントからのGetProfilesコマンドによる配信プロファイル一覧の要求に対して既存の配信プロファイル一覧を提供する(S7001)。次に既存の符号化コンフィギュレーション一覧のGetVideoEncoderConfigurationsコマンド要求に対して提供する(S7002)。符号化コンフィギュレーションには、図5で示した符号化設定値のリストに該当するパラメータ設定が定義されている。取得した配信プロファイル情報と符号化コンフィギュレーションから、クライアントが復号化できる最適な符号化コンフィギュレーションが設定されているかを確認する(S7003)。そして、既存の配信プロファイル内に存在せず符号化コンフィギュレーションに存在する場合は、配信プロファイル内の符号化コンフィギュレーションをAddVideoEncoderConfigurationコマンドにより置き換えられる(S7004)。
【0036】
さらに、所望の符号化コンフィギュレーションに対して設定可能な範囲を示す設定一覧をGetVideoEncoderConfigurationOptionsコマンドで提供する(S7005)。クライアントは範囲情報が取得できるため、監視カメラ6001が設定可能な最大値および最小値を入手し、所望の符号化方式に対する詳細設定値を範囲内に設定変更することができる。クライアントが所望する符号化方式に対する詳細設定値をSetVideoEncoderConfigurationコマンドによって設定される(S7006)。各符号化部に対して詳細設定に従い符号化設定値を与えるが、符号化部によって設定できない値が指定された場合はエラーを返す(S7007)。
【0037】
クライアントは、複数の符号化コンフィギュレーション一覧から、JPEG符号化設定からH.264符号化設定に変更することがある。つまり、クライアントは、符号化部で1つの解像度しか許可していないH.264符号化設定に対して、別の符号化方式であるJPEGの符号化設定と同じ解像度、フレームレートを利用しようとして、符号化方式のみ変更することがある。ここで、符号化方式H.264の符号化設定はすでに所定の解像度VGAサイズで定義されていると、JPEGの符号化設定値が異なるQVGAサイズでの設定から変更され、符号化方式H.264が変換能力として提供しない2つの解像度変換を指定される。変換できないため符号化方式の設定変更ができないエラーを返す(S7008)。
【0038】
符号化方式だけでなく、マルチキャスト設定やプロファイル指定エラーなどがあれば、対応したエラーを返し再度ステップS7006での符号化コンフィギュレーション設定を要求する。符号化方式設定のエラーであれば、同じ符号化方式による共存可能な設定一覧をGetCompatibleVideoEncoderConfigurationsコマンドの要求に対して提供する。共存可能な設定一覧を参照し、再度ステップS7006での符号化コンフィギュレーション設定に戻る。
【0039】
設定チェックが正しく行われ符号化部への設定も完了すると、映像出力が開始されRAM2011に変換された映像が蓄積するため、配信制御部2008は配信準備を行う(S7010)。通信部2009を介してクライアントからの配信開始要求に基づき、ネットワークへ映像配信を開始する(S7011)。
【0040】
以上の処理によって、具体的なプロトコルに従った場合に、符号化方式変更に制限を加えることで、符号化設定値の設定時に矛盾が生じないよう配慮することができ、配信開始時に映像が送信できないという状況を回避することができる。したがって、配信処理における実装を簡易にすることができ、複数のプロトコルを持った場合でも設定や状態に応じた分岐処理がいらず処理速度を向上することが可能となる。
【0041】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【0042】
2001 レンズ
2002 CCD
2003 内部バス
2004 信号処理部
2005 符号化部A
2006 符号化部B
2007 符号化部C
2008 配信制御部
2009 通信部
2010 CPU
2011 RAM
2012 ROM
2013 レンズ制御部
6001 監視カメラ
6002 ネットワーク
6003 表示装置A
6004 表示装置B

【特許請求の範囲】
【請求項1】
撮像手段による撮像データを第1の符号化方式で符号化する第1の符号化手段と、
前記撮像手段による撮像データを第2の符号化方式で符号化する第2の符号化手段と、
前記第1及び第2の符号化方式のうちいずれかで符号化された撮像データをネットワークを介してクライアントへ送信する送信手段と、
前記撮像データの符号化方式及び符号化パラメータのうち少なくともいずれかを指定するための指定情報を前記クライアントから受信する受信手段と、
前記受信手段による指定情報の受信に応じた前記符号化方式及び符号化パラメータの変更を制限する制限手段とを有することを特徴とする符号化装置。
【請求項2】
前記制限手段は、前記撮像データを前記第1の符号化手段が前記第1の符号化方式で符号化してクライアントへ送信している間、前記指定情報を受信しても前記撮像データの符号化方式を前記第1の符号化方式から前記第2の符号化方式へ変更できないようにすることを特徴とする請求項1に記載の符号化装置。
【請求項3】
前記制限手段は、前記撮像データを前記第2の符号化手段が前記第2の符号化方式で符号化して前記クライアントへ送信している間における前記指定情報の受信に応じて、前記撮像データの符号化方式を前記第2の符号化方式から前記第1の符号化方式に変更することを特徴とする請求項1又は2に記載の符号化装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate