(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した、画像を符号化する画像符号化方法、または、画像を復号する画像復号方法に関して、課題を見出した。以下、具体的に説明する。
近年、デジタル映像機器の技術進歩が著しく、ビデオカメラまたはテレビチューナなどから入力された映像信号(時系列の順に並んだ複数のピクチャ)を圧縮符号化し、DVDまたはハードディスク等の記録メディアに記録する機会が増えている。画像符号化規格としてH.264/AVC(MPEG−4 AVC)と呼ばれる規格が存在するが、次世代の標準規格としてHEVC(High Efficiency Video Coding)と呼ばれる規格(非特許文献1)が検討されている。
一方、背景画像を長期的に保存し、保存された背景画像を面間予測における参照画像として使うことにより符号化効率を高める技術が特許文献1に開示されている。
HEVC規格(非特許文献1)には、特許文献1に記載の技術が適用可能な長期参照画像という仕組みがある。長期参照画像として指定された復号画像は、長期的にフレームメモリに保存される。したがって、その後の復号において、長期参照画像として指定された復号画像への長期的な参照が可能になる。
しかしながら、適切な参照画像が映像において存在しない場合がある。このような場合、面間予測で適切な参照画像を参照することは困難である。したがって、このような場合、符号化効率が低下する可能性がある。
また、例えば、パン、チルトおよびズームが可能なカメラで撮影した画像が符号化される場合、非特許文献1および特許文献1の技術を用いても符号化効率が向上しない可能性がある。具体的には、パン、チルトまたはズームによって背景が大きく変化する。そのため、1つの背景画像が長期参照画像として保存されても、パン、チルトまたはズームが行われた符号化対象画像と背景画像とが一致しない可能性がある。したがって、予測の確度が向上せず、符号化効率が向上しない場合がある。
そこで、本発明は、面間予測において適切な参照画像を参照することができる画像符号化装置等を提供する。
例えば、本発明の一態様に係る画像符号化装置は、面間予測を用いて、映像を構成する複数の表示対象画像を符号化する画像符号化装置であって、前記複数の表示対象画像とも前記複数の表示対象画像の複数の再構成画像とも異なる画像であり前記面間予測において参照専用として用いられる画像である参照専用画像を取得する取得部と、前記参照専用画像を前記面間予測における参照画像として参照して、前記複数の表示対象画像のうち1以上の表示対象画像を符号化する符号化部とを備える。
これにより、画像符号化装置は、面間予測において、表示対象画像等とは異なる参照専用画像を参照することができる。したがって、画像符号化装置は、面間予測において適切な参照画像を参照することができる。
また、例えば、前記取得部は、前記複数の表示対象画像のそれぞれよりも大きい前記参照専用画像を取得してもよい。
これにより、画像符号化装置は、例えば、パン、チルトまたはズーム等に応じた背景を含む参照専用画像を参照して、画像を符号化することができる。
また、例えば、前記取得部は、撮影によって得られた複数の画像である複数の撮影画像が統合された前記参照専用画像を取得してもよい。
これにより、画像符号化装置は、例えば、パン、チルトおよびズーム等によって得られた複数の画像、または、複数のカメラによって得られた複数の画像が統合された参照専用画像を参照することができる。したがって、画像符号化装置は、より適切な参照画像を参照することができる。
また、例えば、前記取得部は、前記複数の表示対象画像のうち符号化順で最初の表示対象画像が符号化される前に、前記参照専用画像を取得してもよい。
これにより、画像符号化装置は、映像の符号化のための準備を予め行うことができ、円滑に映像を符号化することができる。
また、例えば、前記取得部は、前記参照専用画像を画像管理装置から部分的または全体的に受信することにより、前記参照専用画像を部分的または全体的に取得し、前記符号化部は、部分的または全体的に取得された前記参照専用画像を参照して、前記1以上の表示対象画像を符号化してもよい。
これにより、画像符号化装置は、画像管理装置から面間予測のための適切な参照専用画像を取得することができる。
また、例えば、前記取得部は、第1撮影状況に対応する第1参照専用画像と、第2撮影状況に対応する第2参照専用画像とを含む複数の参照専用画像のそれぞれを前記参照専用画像として取得し、前記符号化部は、前記映像の撮影状況が前記第1撮影状況である場合、前記第1参照専用画像を前記参照専用画像として参照して、前記1以上の表示対象画像を符号化し、前記映像の撮影状況が前記第2撮影状況である場合、前記第2参照専用画像を前記参照専用画像として参照して、前記1以上の表示対象画像を符号化してもよい。
これにより、画像符号化装置は、映像の撮影状況に応じて、複数の参照専用画像を切り替えることができる。
また、例えば、前記取得部は、さらに、前記複数の表示対象画像の前記複数の再構成画像のうち1以上の再構成画像を用いて、前記参照専用画像を更新し、前記符号化部は、更新された前記参照専用画像を参照して、前記1以上の表示対象画像を符号化してもよい。
これにより、画像符号化装置は、映像に応じて、参照専用画像を適切に更新することができる。
また、例えば、前記符号化部は、前記1以上の表示対象画像のうち符号化対象画像を符号化する際、前記参照専用画像が前記符号化対象画像に対応するように、前記参照専用画像を変換し、変換された前記参照専用画像を前記参照画像として参照してもよい。
これにより、画像符号化装置は、符号化対象画像に従って変換された参照専用画像を参照することができる。したがって、画像符号化装置は、面間予測において、より適切な参照画像を参照することができる。
また、例えば、前記符号化部は、前記参照専用画像における被写体の大きさが前記符号化対象画像における被写体の大きさに対応するように、前記参照専用画像をスケーリングし、スケーリングされた前記参照専用画像を前記参照画像として参照してもよい。
これにより、画像符号化装置は、符号化対象画像に従ってスケーリングされた参照専用画像を参照することができる。したがって、画像符号化装置は、面間予測において、より適切な参照画像を参照することができる。
また、例えば、前記符号化部は、前記参照専用画像および前記符号化対象画像のそれぞれの撮影情報、または、前記参照専用画像および前記符号化対象画像のそれぞれにおける特徴点の位置を用いて、前記参照専用画像をスケーリングしてもよい。
これにより、画像符号化装置は、撮影情報等に基づいて、参照専用画像を適切にスケーリングすることができる。
また、例えば、前記符号化部は、前記面間予測で用いられる動きベクトルの精度に従って、前記参照専用画像をスケーリングしてもよい。
これにより、画像符号化装置は、例えば、動きベクトルで指し示される小数画素の情報が維持されるように、参照専用画像をスケーリングすることができる。
また、例えば、前記符号化部は、さらに、前記参照専用画像の変換に用いられたパラメータである変換パラメータを符号化してもよい。
これにより、画像復号装置が、画像符号化装置と同様に、参照専用画像を変換することができる。
また、例えば、前記符号化部は、さらに、前記参照専用画像において前記1以上の表示対象画像のうちの符号化対象画像が対応する領域の位置を指し示す全体ベクトルを符号化してもよい。
これにより、画像符号化装置は、参照専用画像において面間予測に用いられる領域を示す情報を符号化することができる。したがって、画像復号装置も、同じ領域を面間予測に用いることができる。
また、例えば、前記符号化部は、前記参照専用画像および前記符号化対象画像のそれぞれの撮影情報、または、前記参照専用画像および前記符号化対象画像のそれぞれにおける特徴点の位置を用いて、前記全体ベクトルを算出し、算出された前記全体ベクトルを符号化してもよい。
これにより、画像符号化装置は、参照専用画像において面間予測に用いられる領域を算出することができる。
また、例えば、前記符号化部は、前記1以上の表示対象画像を符号化して、前記参照専用画像を含む符号列とは別に、前記1以上の表示対象画像を含む符号列を生成してもよい。
これにより、画像符号化装置は、映像とは別に参照専用画像を適切なタイミングで取得することができる。
また、例えば、前記符号化部は、さらに、前記参照専用画像を非表示画像として符号化してもよい。
これにより、画像符号化装置は、表示対象画像から区別して、参照専用画像を符号化することができる。
また、例えば、本発明の一態様に係る画像復号装置は、面間予測を用いて、映像を構成する複数の表示対象画像を復号する画像復号装置であって、前記複数の表示対象画像とも前記複数の表示対象画像の複数の再構成画像とも異なる画像であり前記面間予測において参照専用として用いられる画像である参照専用画像を取得する取得部と、前記参照専用画像を前記面間予測における参照画像として参照して、前記複数の表示対象画像のうち1以上の表示対象画像を復号する復号部とを備える画像復号装置でもよい。
これにより、画像復号装置は、面間予測において、表示対象画像等とは異なる参照専用画像を参照することができる。したがって、画像復号装置は、面間予測において適切な参照画像を参照することができる。
また、例えば、本発明の一態様に係る画像処理システムは、面間予測を用いて、映像を構成する複数の表示対象画像の符号化および復号を行う画像処理システムであって、前記複数の表示対象画像とも前記複数の表示対象画像の複数の再構成画像とも異なる画像であり前記面間予測において参照専用として用いられる画像である参照専用画像を取得する画像管理装置と、前記面間予測を用いて、前記複数の表示対象画像を符号化する画像符号化装置と、前記面間予測を用いて、前記複数の表示対象画像を復号する画像復号装置とを備え、前記画像符号化装置は、前記画像管理装置で取得された前記参照専用画像を前記画像管理装置から取得する第1取得部と、前記第1取得部で取得された前記参照専用画像を前記面間予測における参照画像として参照して、前記複数の表示対象画像のうち1以上の表示対象画像を符号化する符号化部とを備え、前記画像復号装置は、前記画像管理装置で取得された前記参照専用画像を前記画像管理装置から取得する第2取得部と、前記第2取得部で取得された前記参照専用画像を前記面間予測における参照画像として参照して、前記複数の表示対象画像のうち1以上の表示対象画像を復号する復号部とを備える画像処理システムでもよい。
これにより、画像処理システムにおける画像符号化装置および画像復号装置は、面間予測において、表示対象画像等とは異なる参照専用画像を参照することができる。したがって、画像処理システムにおける画像符号化装置および画像復号装置は、面間予測において適切な参照画像を参照することができる。
なお、これらの包括的または具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム、または、コンピュータ読み取り可能なCD−ROMなどの非一時的な記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム、または、記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
また、以下において、復号画像および復号ブロックは、それぞれ、再構成画像および再構成ブロックを意味する場合がある。また、画像xの復号画像は、復号された画像xを意味する。同様に、画像xの再構成画像は、再構成された画像xを意味する。
(実施の形態1)
<全体構成>
図1は、本実施の形態における画像処理システムの構成を示す図である。図1に示された画像処理システム10は、サーバ20、エンコーダ30a、30b、30c、および、カメラ35a、35b、35c等を備える。図1には、3台のエンコーダ30a、30b、30cが示されているが、エンコーダは、1台でもよいし、2台でもよいし、4台以上でもよい。同様に、カメラも、1台でもよいし、2台でもよいし、4台以上でもよい。
サーバ20は、背景画像データベース21、制御部22、処理部23、および、通信部24を備える。背景画像データベース21は、背景画像を蓄積するためのデータベースである。制御部22は、サーバ20における各構成要素の動作を制御する。処理部23は、情報処理を行う。サーバ20の動作は、基本的に、処理部23によって行われる。通信部24は、エンコーダ30a、30b、30c等と通信する。通信部24は、インターネットを介して、外部の装置と通信してもよい。
なお、サーバ20は、さらに、記憶部を備えてもよい。背景画像データベース21は、サーバ20における記憶部に含まれてもよい。
エンコーダ30aは、記憶部31a、制御部32a、処理部33a、および、通信部34aを備える。記憶部31aには、カメラ35aからの画像、および、符号化された画像などが記憶される。制御部32aは、エンコーダ30aにおける各構成要素の動作を制御する。処理部33aは、情報処理を行う。エンコーダ30aの動作は、基本的に、処理部33aによって行われる。特に、処理部33aは、カメラ35aからの入力画像を符号化する。通信部34aは、サーバ20と通信する。
エンコーダ30bは、記憶部31b、制御部32b、処理部33b、および、通信部34bを備える。エンコーダ30cは、記憶部31c、制御部32c、処理部33c、および、通信部34cを備える。これらは、それぞれ、エンコーダ30aの構成要素と同様の構成要素である。エンコーダ30aは、カメラ35aから得られる画像を符号化し、エンコーダ30bは、カメラ35bから得られる画像を符号化し、エンコーダ30cは、カメラ35cから得られる画像を符号化する。
例えば、エンコーダ30aは、カメラ35aからの入力画像を符号化し、符号化された入力画像をサーバ20に蓄積する。具体的には、カメラ35aの撮影画像は、エンコーダ30aに入力画像として入力される。エンコーダ30aは、処理部33aで入力画像を符号化し、符号化された入力画像をサーバ20に送信する。
また、サーバ20は、背景画像データベース21における背景画像をエンコーダ30aに送信する。エンコーダ30aは、サーバ20から送信された背景画像を利用して、入力画像を符号化する。また、サーバ20は、インターネットから各種情報を取得する。
なお、ここでは、エンコーダ30aの構成、エンコーダ30aの動作、および、サーバ20とエンコーダ30aとの間で行われる動作が、主に示されている。
エンコーダ30bの構成、エンコーダ30bの動作、および、サーバ20とエンコーダ30bとの間で行われる動作も、エンコーダ30aの構成、エンコーダ30aの動作、および、サーバ20とエンコーダ30aとの間で行われる動作と同様である。エンコーダ30cの構成、エンコーダ30cの動作、および、サーバ20とエンコーダ30cとの間で行われる動作も、エンコーダ30aの構成、エンコーダ30aの動作、および、サーバ20とエンコーダ30aとの間で行われる動作と同様である。
<動作(全体)>
次に、図2を参照しつつ、符号化全体フローについて説明する。図2は、図1に示された画像処理システム10の処理フローを示す図である。
まず、サーバ20およびエンコーダ30aは、データの送受信を行って、背景画像を生成する(S201およびS210)。そして、サーバ20およびエンコーダ30aは、符号化に使用される複数の背景画像を選択する(S202およびS211)。詳細は後述する。
次に、サーバ20は、エンコーダ30aへ符号化の開始要求を送信する(S203)。エンコーダ30aは、開始要求を受信する(S212)。
次に、エンコーダ30aは、符号化に使用対象の背景画像を決定する(S213)。ここでは、エンコーダ30aは、選択処理(S211)で選択された複数の背景画像のうちの1つを使用対象の背景画像として決定する。具体的には、エンコーダ30aは、撮影が行われた時点を示す時刻情報を背景画像の決定に用いる。撮影が行われた時点として、符号化が行われる現時点が用いられてもよい。例えば、エンコーダ30aは、時刻tにおいて、第1背景画像を使用し、時刻t+1において、第2背景画像を使用する。
次に、エンコーダ30aは、決定処理(S213)で決定された背景画像が以前の背景画像から切り替わった場合、背景画像を符号化し、背景画像の符号列をサーバ20へ送信する(S214およびS215)。
次に、エンコーダ30aは、背景画像を参照してカメラ画像を符号化する。そして、エンコーダ30aは、カメラ画像の符号列をサーバ20へ送信する(S216)。詳細は後述する。
サーバ20は、エンコーダ30aから、背景画像の符号列、および、カメラ画像の符号列を受信する(S204)。サーバ20は、例えば、図3のように、これらの符号列を連結し、サーバ20内のメモリ(記憶部)に保存する。
図3において、I(x)は、画面内符号化(面内予測)が行われる画像を示し、P(x)は、片方向参照符号化(片方向の面間予測)が行われる画像を示し、B(x)は、双方向参照符号化(双方向の面間予測)が行われる画像を示す。xは、符号化の順番(符号化順)を示す。図3における画像間の矢印は、参照関係を示す。例えば、P(1)は、I(0)を参照画像として用いて符号化され、B(3)はI(0)、P(1)およびB(2)を参照画像として用いて符号化される。
また、I(0)、P(7)およびI(t)は、背景画像であり、これらは長期的に参照されるため、長期参照画像として符号化される。
次に、エンコーダ30aは、使用された背景画像を更新する(S217)。その際、エンコーダ30aは、符号化処理(S216)で生成された符号列に含まれるカメラ画像を復号することで得られるカメラ画像を用いて、背景画像を更新する。例えば、背景画像に含まれる動物体で背景の一部が隠れてしまい、背景画像に背景の全てが含まれていない場合がある。そこで、エンコーダ30aは、カメラ画像を用いて背景画像を更新する。
具体的には、例えば、動物体は1つの場所に留まらずに様々な場所に移動する。そのため、複数のカメラ画像における画素の平均値によって、背景の画素値を特定することが可能である。そこで、エンコーダ30aは、使用された背景画像と、復号されたカメラ画像との間で画素毎に画素値の平均を算出する。そして、エンコーダ30aは、画素毎に算出された平均で背景画像を更新することにより背景画像から動物体を疑似的に削除することができる。
また、背景は、時間経過と共に変化する。このような変化に追従するように、背景画像が更新されてもよい。例えば、夜に近づくに従って暗くなる背景に応じて、背景画像が更新されてもよい。ここでも、復号されたカメラ画像を用いて、背景画像が更新されてもよい。具体的には、上記のように、画素毎に算出される平均が背景画像の画素値に適用されてもよい。
次に、サーバ20は、背景画像を更新する(S205)。ここでは、サーバ20は、エンコーダ30aでの更新処理(S217)とは異なり、背景画像データベース21内の背景画像をカメラ画像で更新する。そして、エンコーダ30aへの背景画像の前回の送信から一定時間が経過している場合、サーバ20は、エンコーダ30aに現時点の背景画像を送信する(S207)。サーバ20から背景画像が送信された場合(S218でYes)エンコーダ30aは、サーバ20から送信された背景画像を受信する(S219)。
サーバ20は、ユーザから符号化の停止要求を受けるまで、上記の処理(S204〜S207)を繰り返す(S208でNo)。サーバ20は、停止要求を受けた場合(S208でYes)、エンコーダ30aに符号化の停止要求を送信し、処理を終える(S209)。エンコーダ30aは、サーバ20から符号化の停止要求を受けるまで、上記の処理(S213〜S219)を繰り返す(S220でNo)。エンコーダ30aは、停止要求を受けた場合(S220でYes)、処理を終える。
<動作(背景画像作成)>
次に、図4を参照しつつ、背景画像の生成処理(S201およびS210)のフローについて説明する。図4は、図2に示された生成処理(S201およびS210)のフローを示す図である。
まず、サーバ20は、インターネットから、日付、時刻および天気(天候)を取得する(S301)。また、サーバ20は、エンコーダ30a、および、他のエンコーダ30b、30cから、カメラ画像およびカメラ情報を取得する(S302およびS308)。ここで、カメラ情報は、例えば、カメラ設置位置、パンチルト角度(パンおよびチルトのうち少なくとも一方に対応する角度)、および、ズーム倍率等の制御データを示す。カメラ情報は、撮影情報とも表現される。
次に、サーバ20は、日付、時刻、カメラ設置位置の天気、カメラ画像、および、カメラ情報を用いて、作成対象の背景画像を選択する(S303)。より具体的には、サーバ20は、上記の複数の項目を検索キーとして用いて、背景画像データベース21から1枚の背景画像を作成対象の背景画像として選択する。あるいは、サーバ20は、画像マッチングに従って、カメラ画像に最も適合する背景画像を作成対象の背景画像として選択してもよい。
次に、サーバ20は、複数のカメラ画像に対応するカメラ情報、および、複数のカメラ画像のそれぞれの画像特徴点を用いて、背景画像を作成する(S304)。ここでは、サーバ20は、パノラマ画像のように、各カメラ画像よりも大きなサイズを有する背景画像を作成する。
そして、サーバ20は、ユーザから背景画像作成の停止要求を受けるまで、一定時間間隔で上記の処理(S301〜S304)を繰り返す。サーバ20は、停止要求を受けた場合、エンコーダ30aへ背景画像作成の停止要求を送信し、処理を終える(S305、S306およびS307)。また、エンコーダ30aは、サーバ20から背景画像作成の停止要求を受けるまで、一定時間間隔で送信処理(S308)を繰り返す。そして、エンコーダ30aは、停止要求を受けた場合、処理を終える(S309およびS310)。
上記の動作で、カメラ35aのパン、チルトおよびズーム等によって得られる複数の画像から大きなサイズの背景画像が生成される。図5および図6に例を示す。例えば、図5のように、3月15日10時の晴れの日に、パン、チルトおよびズーム等によって複数のカメラ画像が取得される。そして、これらのカメラ画像から大きな背景画像が生成される。
より具体的には、パンおよびチルトによって得られる複数の画像からパノラマ画像のような背景画像が生成される。また、ズームによって得られる画像から、解像度がより高い鮮明な背景画像が生成される。
背景画像の解像度は、最も大きくズームインが行われた画像に調整されてもよい。そして、最も大きくズームインが行われていないその他の画像に対して拡大処理を施すことにより、解像度が調整されてもよい。サーバ20は、パンチルト角度またはズーム倍率を用いて、背景画像に対する複数のカメラ画像のそれぞれの位置を大まかに推定し、画像特徴点を用いて高精度に複数の画像を結合することにより、背景画像を作成してもよい。
また、サーバ20は、図6のように、別の日時および別の天気での撮影によって得られるカメラ画像から別の背景画像を生成する。すなわち、サーバ20は、複数の状況に応じて、複数の背景画像を作成する。
<動作(背景画像選択)>
次に、図7を参照しつつ、背景画像の選択処理(S202およびS211)のフローについて説明する。図7は、図2に示された選択処理(S202およびS211)のフローを示す図である。
まず、サーバ20は、インターネットから日付、時刻および天気を取得する(S401)。また、サーバ20は、エンコーダ30aから、カメラ画像およびカメラ情報を取得する(S402およびS407)。
そして、サーバ20は、日付、時刻、カメラ設置位置の天気、カメラ画像、カメラ情報(パンチルト角度およびズーム倍率)を用いて最も適合する背景画像を選択する(S403)。サーバ20は、カメラ画像を用いて画像マッチングで背景画像を選択してもよい。そして、サーバ20は、選択された背景画像をエンコーダ30aへ送信する(S404)。エンコーダ30aは、サーバ20から送信された背景画像を受信する(S408)。
そして、サーバ20は、背景画像の選択処理(S403)に用いられる時刻を一定時間進める(S405)。そして、指定枚数の背景画像の送受信が完了するまで、背景画像の選択処理(S403)、送信処理(S404)、受信処理(S408)、および、時刻の変更処理(S405)が繰り返される(S406およびS409)。
これにより、エンコーダ30aは、カメラ設置位置の天気、カメラ画像およびカメラ情報に適合する複数の背景画像のうち、時刻t、時刻t+α、時刻t+α×2、・・・、時刻t+α×mに対応する複数の背景画像を受信する。
<動作(背景画像更新)>
次に、図8を参照しつつ、サーバ20における背景画像の更新処理(S205)のフローについて説明する。図8は、図2に示された更新処理(S205)のフローを示す図である。
まず、サーバ20は、符号列における符号化されたカメラ画像を復号することにより、復号されたカメラ画像を取得する(S501)。
次に、サーバ20は、インターネットから日付、時刻および天気を取得する(S502)。サーバ20は、インターネットから取得された情報、復号されたカメラ画像、および、カメラ情報を用いて、背景画像を選択する(S503)。
サーバ20は、カメラ情報、および、カメラ画像の画像特徴点を用いて、背景画像の作成処理(S304)と同様に、背景画像を更新する(S504)。サーバ20は、更新処理において、具体的には、既存の背景画像の画素値と新しいカメラ画像の画素値との平均で背景画像の画素値を更新してもよいし、重み付け平均で背景画像の画素値を更新してもよい。
また、サーバ20は、カメラ画像における被写体(オブジェクト)を認識し、被写体の領域を除く背景領域のみを更新してもよい。その際、サーバ20は、動いている被写体を認識して、動いている被写体の領域を除く背景領域のみを更新してもよい。
<符号化構成>
図9は、図1に示されたエンコーダ30aの処理部33aの構成を主に示す図である。処理部33aは、分割部41、減算部42、変換部43、可変長符号化部44、逆変換部45、加算部46、フレームメモリ47および予測部48を備える。フレームメモリ47は、記憶部31aに含まれてもよい。
分割部41は、カメラ画像または背景画像を複数のブロックに分割する。減算部42は、分割で得られたブロックから予測ブロックを減算することにより、差分ブロックを出力する。変換部43は、差分ブロックに対して周波数変換を行って係数を出力する。可変長符号化部44は、係数に対して可変長符号化を行う。逆変換部45は、係数に対して逆周波数変換を行って差分ブロックを出力する。
加算部46は、予測ブロックと差分ブロックとを加算することにより復号ブロック(再構成ブロック)を生成する。フレームメモリ47には、復号ブロックで構成される画像が記憶される。フレームメモリ47には、背景画像が分割部41等を経由せずに直接記憶されてもよい。予測部48は、分割で得られたブロックと、フレームメモリ47に記憶された画像とを用いて、予測ブロックを生成する。
<動作(符号化)>
次に、図10を参照しつつ、エンコーダ30aでのカメラ画像の符号化処理(S216)のフローについて説明する。図10は、図2に示された符号化処理(S216)のフローを示す図である。
まず、エンコーダ30aは、背景画像をスケーリングし、スケーリング処理に用いられたスケーリングパラメータを符号化する(S701)。ここで、エンコーダ30aは、背景画像の解像度と現時点のカメラ画像(符号化対象画像)の解像度とが適合するように、背景画像をスケーリングする。
スケーリング処理の例を図11に示す。図11は、図10に示されたスケーリング処理(S701)を示す図である。
例えば、背景画像の解像度は、最も大きくズームインが行われた画像の解像度に対応する。そのため、基本的に、背景画像の解像度は符号化対象画像の解像度よりも高い。そこで、エンコーダ30aは、背景画像を符号化対象画像の参照画像として使用できるように背景画像をスケーリングすることにより、背景画像の解像度を符号化対象画像の解像度に適合させる。
例えば、エンコーダ30aは、スケーリングにおいて、画像認識等で使われているSIFTまたはSURFを用いて、画像特徴点のマッチングを行い、背景画像の被写体のサイズが符号化対象画像の被写体のサイズと等しくなるように、背景画像をリサイズする。
次に、エンコーダ30aは、背景画像を変換(画像処理)し、その変換処理に用いられた変換パラメータを符号化する(S702)。これにより、エンコーダ30aは、背景画像を現時点のカメラ画像に適合させる。
変換処理の例を図12に示す。図12は、図10に示された変換処理(S702)を示す図である。
複数のカメラ35a、35b、35cから得られた複数のカメラ画像が統合された1つの背景画像のアングルと、カメラ35aから得られた符号化対象画像のアングルとが一致するとは限らない。また、天気または照明に応じて、背景画像の全体的な輝度と符号化対象画像の全体的な輝度とが互いに異なる場合がある。そこで、エンコーダ30aは、背景画像の被写体と、符号化対象画像の被写体とが一致するよう、背景画像に対して射影変換および輝度変換などを行う。
エンコーダ30aは、スケーリング処理(S701)と同様に、SIFTまたはSURFを用いて、画像特徴点のマッチングを行い、変換パラメータを算出する。
次に、エンコーダ30aは、全体ベクトルを算出し、算出された全体ベクトルを符号化する(S703)。全体ベクトルは、背景画像と符号化対象画像とのズレを表わす。言い換えれば、背景画像に対する符号化対象画像の相対的な位置を指し示す。
全体ベクトルの例を図13に示す。図13は、図10の算出処理(S703)で算出される全体ベクトルを示す図である。
背景画像は、パンチルトによって得られる複数のカメラ画像から生成される。そのため、基本的には、背景画像の画像サイズは、符号化対象画像の画像サイズよりも大きい。そこで、エンコーダ30aは、背景画像と符号化対象画像とのズレを全体ベクトルとして算出する。そして、エンコーダ30aは、全体ベクトルをベースとして用いて各ブロックの動きベクトルを符号化することにより動きベクトルの符号量を抑制することができる。
例えば、符号化対象画像の各ブロックで同じ動きベクトルが符号化される可能性がある。全体ベクトルが用いられることにより、この場合の符号量が抑制される。
エンコーダ30aは、スケーリング処理(S701)と同様に、SIFTまたはSURFを用いて、画像特徴点のマッチングを行い、全体ベクトルを算出する。
次に、エンコーダ30aにおいて、分割部41は、符号化対象画像を複数のブロックに分割する(S704)。予測部48は、処理対象ブロックの予測ブロックを生成する(S705)。減算部42は、予測ブロックと符号ブロックとの差分ブロックを生成する(S706)。そして、変換部43は、差分ブロックに対して周波数変換を行い、変換係数を生成する(S707)。
次に、エンコーダ30aにおいて、可変長符号化部44は、変換係数に対して可変長符号化を行う(S708)。逆変換部45は、変換係数に対して逆周波数変換を行う(S709)。加算部46は、逆周波数変換によって得られたブロックと予測ブロックとを加算し、復号ブロックを生成する(S710)。
なお、予測部48は、予測ブロックを生成する際、背景画像、復号済み画像(参照画像)、または、同一画像内の復号済みブロックを参照する。また、エンコーダ30aは、算出処理(S703)で算出された全体ベクトルをベースとし用いて、予測ブロックの生成に用いられるベクトルと全体ベクトルとの差分を動きベクトルとして符号化する。図13の例のように、符号化される動きベクトルに全体ベクトルを加算することで得られるベクトルが、予測ブロックの生成のためのベクトルとして用いられる。
エンコーダ30aは、全てのブロックの符号化が完了するまで、ブロックの符号化処理(S705〜S710)を繰り返す(S711)。
<効果>
以上、本実施の形態では、広範囲かつ高解像度の背景画像が使用される。これにより、特に、カメラ35aがパン、チルトまたはズームを行う場合において、符号化効率の向上が可能である。
より具体的には、画像処理システム10は、カメラ35a等がパン、チルトまたはズームを行って撮影を行うことで得られた複数の画像から、事前に背景画像を生成する。そして、画像処理システム10は、生成された背景画像を参照画像としてカメラ画像の符号化に利用する。
これにより、符号化対象のカメラ画像の背景領域は、パン、チルトまたはズームが行われた場合でも、背景画像に含まれている可能性が高い。そのため、画像処理システム10は、符号化対象のカメラ画像における動物体に大きい符号量を割り当てることができる。
また、事前の撮影によって、動物体を含まない背景画像の準備が可能である。したがって、より質の高い背景画像の利用が可能である。
また、画像処理システム10は、既に符号化された画像の復号画像(再構成画像)を用いて背景画像を更新することにより、背景画像が現在のカメラ画像に適合するように背景画像を更新することができる。すなわち、画像処理システム10は、背景画像を符号化対象画像に近づけることができ、予測の確度を向上させることができる。
例えば、背景画像に動物体が含まれている場合、背景の一部が隠れている。したがって、1枚の背景画像に全ての背景が含まれていない可能性がある。画像処理システム10は、複数のカメラ画像を用いて背景画像を更新することにより、背景の一部が含まれていない背景画像を背景の一部が含まれているカメラ画像で補うことができる。また、背景が時間経過と共に変化する場合がある。例えば、夜に近づくに従って背景が暗くなる場合、背景画像が更新されてもよい。
また、画像処理システム10は、背景画像を更新することにより、例えば、椅子の配置が変わる場合等における背景の変化に迅速に追従できる。また、画像処理システム10は、復号画像を用いて背景画像を更新することにより、サーバ20とエンコーダ30aとの間で背景画像の送受信回数を削減することができる。
また、画像処理システム10は、エンコーダ30aとデコーダとの間で背景画像の更新処理を共通化してもよい。これにより、更新後の背景画像は、符号列に含まれなくてもよい。したがって、全体の符号量が削減される。
また、エンコーダ30aが背景画像を更新することにより、サーバ20は、多数の様々な背景画像を保持しなくてもよい。したがって、サーバ20におけるメモリ(記憶部)の容量の削減が可能である。
また、画像処理システム10は、複数のカメラから得られた複数の画像で背景画像を生成する。これにより、動物体によって背景の一部が隠れている場合でも、背景の全体を示す背景画像の作成が可能である。具体的には、カメラ35aで得られた画像に人の後ろの背景が写っていない場合において、カメラ35bで得られた画像に人の後ろの背景が写っている可能性がある。そのような場合、画像処理システム10は、カメラ35bで得られた画像を用いて人の後ろの背景を含む背景画像を生成してもよい。
また、画像処理システム10は、複数の撮影状況(複数の季節、複数の時刻、および、複数の天気)に対応する複数の背景画像を作成してもよい。例えば、画像処理システム10は、背景画像を撮影状況に応じて適応的に切り替える。これにより、符号化効率が向上する。
具体的には、画像処理システム10は、図5および図6のように時刻または天気に従って、作成対象の背景画像を切り替える。また、画像処理システム10は、図7のフローで示したように、符号化時点の撮影状況およびカメラ画像から、最も適切な背景画像を選択する。これにより、画像処理システム10は、符号化対象画像に背景画像を近づけることができる。そして、これにより、画像処理システム10は、予測誤差を低減することができる。
また、季節、時刻または天気に応じて背景画像が変化する可能性は高い。例えば、冬の17時頃の背景は暗いが、夏の17時頃の背景はそれほど暗くない。また、晴れ、くもり、雨および雪などの天気によっても背景は変わる。そのため、画像処理システム10は、符号化時点(撮影時点)の撮影状況で複数の背景画像を切り替えることにより、符号化効率を向上させることができる。
また、画像処理システム10は、図12のように背景画像を変換し、変換された背景画像を参照画像として使用する。これにより、背景画像が符号化対象画像に近づき、予測誤差が低減される。また、これにより、背景画像を保存するためのフレームメモリ47の容量の削減が可能である。
予測誤差は、多数の背景画像を用意することで、各背景画像を変換することなく、低減されてもよい。しかし、この場合、大きな容量を有するフレームメモリ47が利用される。また、この場合、背景画像を選択するための処理量も大きい。また、背景画像の切り替えに応じて、サーバ20とエンコーダ30a等との間で背景画像の送受信が発生する。そのため、この場合、通信量も大きい。また、背景画像の切り替えに応じて、背景画像の符号化が行われる。そのため、この場合、符号化の処理量も大きく、符号列の符号量も大きい。
そこで、背景画像の変換により、フレームメモリ47の容量の削減、処理量の削減、通信量の削減、および、符号量の削減が可能である。
また、サーバ20に背景画像が保存されることにより、エンコーダ30aに大きな容量を有するフレームメモリ47が利用されなくてもよい。つまり、エンコーダ30a、30b、30cは、サーバ20における背景画像を共有することができる。また、各カメラ画像がサーバ20に集められることで、動物体の影響が抑制され、広範囲かつ高解像度の背景画像の生成が可能である。
また、サーバ20は、複数の背景画像をエンコーダ30aに事前に送信する。そして、エンコーダ30aは、サーバ20から事前に送信された複数の背景画像のうち、時刻に応じて、使用対象の背景画像を切り替える。これにより、符号化中においてサーバ20とエンコーダ30aとの間の通信量が軽減され、通信負荷が分散される。
なお、本実施の形態では、符号化の前に事前に背景画像が作成される。背景画像が作成されるタイミングは、これに限られない。背景画像は事前に作成されなくてもよい。その場合、エンコーダ30aは、カメラ画像を符号化しつつ、背景画像を作成(更新)する(S217)。サーバ20は、エンコーダ30aでの背景画像の作成(更新)に応じて、背景画像データベース21における背景画像を作成(更新)する(S205)。
これにより、画像処理システム10は、背景画像を事前に作成することなく、すぐにカメラ画像の符号化を実行することができる。したがって、符号化の遅延が抑制される。
また、背景画像の作成、選択および更新の際に、カメラ情報とカメラ画像との両方が用いられてもよいし、いずれか一方のみが用いられてもよい。
例えば、サーバ20またはエンコーダ30aは、カメラ情報(パンチルト角度およびズーム倍率)のみに基づいて、背景画像においてカメラ画像が対応する位置を特定してもよい。すなわち、カメラ情報のみに基づいて、高精度の背景画像の作成、選択および更新の処理が可能な場合がある。また、背景画像の作成、選択および更新の処理を画像特徴点で行うことが困難なカメラ画像に対して、これらの処理がカメラ情報で行われてもよい。
逆に、カメラ画像の画像特徴点のみを用いてこれらの処理が行われてもよい。その場合、パンチルト角度およびズーム倍率等のカメラ情報が、カメラ35aから取得されなくてもよい。したがって、構成が簡素化され、通信量も削減される。また、サーバ20またはエンコーダ30aは、パンチルト角度およびズーム倍率等のカメラ情報に含まれる誤差の大きさにかかわらず、カメラ画像の画像特徴点のみを用いて、背景画像の作成、選択および更新の処理を行ってもよい。
また、サーバ20は、背景画像をエンコーダ30aへ送信する。ここで、サーバ20は、背景画像の全体を送信しなくてもよい。サーバ20は、背景画像の全体のうち、エンコーダ30aで使用される可能性を有する部分のみを送信してもよい。例えば、サーバ20は、カメラ35aのパンおよびチルトの可動域(可能な撮影範囲)、および、カメラ35aの可能なズーム倍率に基づいて、背景画像の一部分のみをエンコーダ30aに送信してもよい。
これにより、サーバ20とエンコーダ30aとの間の通信量が減り、エンコーダ30aのフレームメモリ47の容量の削減が可能である。
また、エンコーダ30aは、図11のように背景画像の被写体のサイズと符号化対象画像の被写体のサイズとが一致するように、背景画像をスケーリングする。さらに、エンコーダ30aは、動きベクトルに対して許容されている精度に適合するように、スケーリングの比率を変えてもよい。図14および図15を例に説明する。
図14は、図11に示されたスケーリング処理の変形例を示す図である。具体的には、図14は、HEVC(非特許文献1)の規定のように、動きベクトルが1/4画素精度まで許容されている場合におけるスケーリング処理の例を示す。この場合、エンコーダ30aは、背景画像の被写体が、縦方向および横方向に、符号化対象画像の被写体の4倍になるように、背景画像をスケーリングする。
つまり、図14の符号化対象画像において右から2番目の木の横幅が384画素である場合、背景画像において同じ被写体である右から2番目の木の横幅が1536画素(384画素×4)に一致するように、スケーリングが行われる。そして、エンコーダ30aは、予測ブロックの生成処理において、4画素の間隔で背景画像の各画素を参照する。
図15は、本実施の形態における整数画素精度および小数画素精度を示す図である。図15に、スケーリング後の背景画像の各画素が示されている。また、図15に、整数画素精度の動きベクトルで参照される画素と、小数画素精度の動きベクトルで参照される画素とが示されている。
HEVC(非特許文献1)では、小数画素精度の動きベクトルが用いられる場合、整数画素精度の画素値に対してフィルタ処理を行うことにより小数画素精度の画素値が推定される。この方法では、推定された画素値と本来の画素値との間に誤差が生じる。
しかし、図14の例では、エンコーダ30aは、ズームインで得られたカメラ画像から生成された高解像度の背景画像を用いて小数画素精度の画素値を生成する。そのため、生成された画素値と本来の画素値との間に誤差が生じにくい。したがって、エンコーダ30aは、予測誤差を低減することができる。
なお、エンコーダ30aは、図11のスケーリング処理と、図14のスケーリング処理とを切り替えてもよい。例えば、エンコーダ30aは、フレームメモリ47の容量の削減のため、図11のスケーリング処理を用いることにより、図14のスケーリング処理で用いられる画像サイズよりも小さい画像サイズを用いてもよい。また、エンコーダ30aは、予測誤差を小さくするため(符号化効率を向上するため)、小数画素精度の予測確度が高くなるように、図14のスケーリング処理を用いてもよい。
また、エンコーダ30aは、画像特徴点を用いて、背景画像のスケーリング、背景画像の変換、および、全体ベクトルの算出などの処理を行ってもよいし、パンチルト角度およびズーム倍率等のカメラ情報を用いて、これらの処理を行ってもよい。例えば、エンコーダ30aは、画像特徴点を用いてこれらの処理を行うことが困難な画像に対して、カメラ情報を用いてこれらの処理を行ってもよい。また、カメラ35aの構成の簡素化のため、エンコーダ30aは、画像特徴点のみを用いてこれらの処理を行ってもよい。
また、画像間のマッチングには、画像特徴点の代わりに、画素の差分絶対値和が用いられてもよい。画素の差分絶対値和が最も小さい2つの画像が互いに最も適合していると想定される。これにより、マッチングの処理が簡素化され、SIMD演算装置において並列処理を行うことが可能である。
また、図5および図6の例では、複数のカメラ画像から背景画像が作成される。サーバ20は、1つの背景画像の生成に、同じカメラ35aから得られた画像だけでなく、別のカメラ35b、35cから得られた複数の画像も用いてもよい。例えば、サーバ20は、別のカメラ35bで別の角度から撮影によって得られた画像に対して射影変換を行い、射影変換が行われた画像をカメラ35aに対する背景画像の生成に用いてもよい。これにより、サーバ20は、動物体によって隠れていた背景部分を取得することでき、動物体の影響が抑制された背景画像を取得することができる。
また、図3に各画像を含む符号列の構成例が示されている。図3において、第1背景画像、第2背景画像、および、第3背景画像は、同じ画像でもよい。例えば、映像が途中から再生され、符号列の途中から復号が開始される場合でも、エンコーダ30aは、正しく復号画像が表示されるように、定期的に長期参照画像である背景画像を符号列に挿入してもよい。
これにより、例えば、デコーダは、I(t)以降の画像を表示する際、I(t)から復号を開始することができる。したがって、復号処理が削減され、表示の遅延も抑制される。
また、図3では、1つの符号列がカメラ画像と背景画像とを含む。しかし、エンコーダ30aは、図16のようにカメラ画像を含む符号列と背景画像を含む符号列とを別々に生成してもよい。これにより、1つの符号列内での画像サイズが統一される。したがって、符号化処理および復号処理が簡素化される。また、エンコーダ30aは、背景画像の符号列をデコーダにおけるカメラ画像の復号よりも前に、別途、デコーダに提供することができる。これにより、符号列の配信における通信負荷が分散される。
また、上記において、エンコーダ30aは、背景画像を符号化して、符号化された背景画像を符号列に含める。しかし、エンコーダ30aは、符号化された背景画像を符号列に含めなくてもよい。符号化されたカメラ画像のみで符号列が構成されてもよい。その場合、別途、デコーダに背景画像が送信される。背景画像の送信において、高効率に符号化された背景画像が送信されてもよいし、背景画像の画素値そのものが送信されてもよい。
また、サーバ20からエンコーダ30aへの背景画像の送信において、背景画像の画素値そのものが送信されてもよいし、HEVC(非特許文献1)またはJPEGを用いて背景画像を符号化することで得られる符号列が送信されてもよい。また、エンコーダ30aは、符号化処理(S215)で背景画像を符号化する。エンコーダ30aは、サーバ20から受信した符号列そのものを符号化された背景画像として用いることにより、背景画像の符号化および送信の処理(S215)をスキップしてもよい。
また、サーバ20が、図3のような符号列を生成してもよいし、図16のような符号列を生成してもよい。また、エンコーダ30aが、図3のような符号列を生成してもよいし、図16のような符号列を生成してもよい。また、図3のような1つの符号列が、図16のような複数の符号列に分離されてもよい。また、サーバ20またはエンコーダ30aは、符号列をデコーダに送信してもよいし、符号列を記録媒体に格納してもよい。また、図16のような複数の符号列は、通信媒体または記録媒体などに別々に出力されてもよい。
また、ここでは、「背景」は、一定時間動いていない被写体を意味する。例えば、しばらく動いていない人物、または、停車している車が「背景」に含まれてもよい。
さらに、本実施の形態における処理は、ソフトウェアによって実行されてもよい。そして、このソフトウェアは、ダウンロード等によって配布されてもよい。また、このソフトウェアは、CD−ROMなどの記録媒体に記録され、流布されてもよい。なお、これらに関して、本明細書における他の実施の形態も同様である。
(実施の形態2)
<全体構成>
図17は、本実施の形態における画像処理システムの構成を示す図である。図17に示された画像処理システム11は、サーバ20、および、デコーダ50a、50b等を備える。図17には、2台のデコーダ50a、50bが示されているが、デコーダは、1台でもよいし、3台以上でもよい。
サーバ20は、背景画像データベース21、制御部22、処理部23、および、通信部24を備える。これらの構成要素は、実施の形態1と同様である。本実施の形態において、通信部24は、デコーダ50a、50b等と通信する。
デコーダ50aは、記憶部51a、制御部52a、処理部53a、通信部54a、および、表示部55aを備える。記憶部51aには、符号化された画像、および、復号された画像などが記憶される。制御部52aは、デコーダ50aにおける各構成要素の動作を制御する。処理部53aは、情報処理を行う。デコーダ50aの動作は、基本的に、処理部53aによって行われる。特に、処理部53aは、サーバ20からの画像を復号する。通信部54aは、サーバ20と通信する。
表示部55aは、復号された画像を表示する。デコーダ50aの外部の表示装置でもよい。例えば、制御部52aが、復号された画像を外部の表示装置に表示してもよい。
デコーダ50bは、記憶部51b、制御部52b、処理部53b、通信部54b、および、表示部55bを備える。これらは、それぞれ、デコーダ50aの構成要素と同様の構成要素である。
例えば、サーバ20は、背景画像データベース21における背景画像を用いて符号化された画像をデコーダ50aに送信する。デコーダ50aは、符号化された画像を復号し、復号された画像を表示部55aに表示する。
なお、ここでは、デコーダ50aの構成、デコーダ50aの動作、および、サーバ20とデコーダ50aとの間で行われる動作が、主に示されている。デコーダ50bの構成、デコーダ50bの動作、および、サーバ20とデコーダ50bとの間で行われる動作も、デコーダ50aの構成、デコーダ50aの動作、および、サーバ20とデコーダ50aとの間で行われる動作と同様である。
<動作(全体)>
次に、図18を参照しつつ、復号全体フローについて説明する。図18は、図17に示された画像処理システム11の処理フローを示す図である。
まず、デコーダ50aは、サーバ20へ復号の開始要求を送信する(S804)。サーバ20は、復号の開始要求を受信する(S801)。
次に、サーバ20は、デコーダ50aへ、背景画像の符号列またはカメラ画像の符号列を送信する(S802)。デコーダ50aは、符号列を受信する(S805)。
次に、デコーダ50aは、サーバ20から受信した符号列が背景画像の符号列であるか否かを判定する(S806)。サーバ20から受信した符号列が背景画像の符号列である場合(S806でYes)、デコーダ50aは、符号列に含まれる符号化された背景画像を復号する(S807)。なお、背景画像は、他の画像からの参照のみに用いられる画像であり、表示されない。
サーバ20から受信した符号列が背景画像の符号列でない場合(S806でNo)、サーバ20から受信した符号列はカメラ画像の符号列である。この場合、デコーダ50aは、カメラ画像の復号に用いられる背景画像を決定する(S808)。具体的には、デコーダ50aは、復号対象のカメラ画像の時刻情報を用いて、背景画像を決定する。例えば、デコーダ50aは、時刻tにおけるカメラ画像には第1背景画像を使用対象の背景画像と決定し、時刻t+1におけるカメラ画像には第2背景画像を使用対象の背景画像と決定する。
そして、デコーダ50aは、符号列に含まれる符号化されたカメラ画像を復号する(S809)。そして、デコーダ50aは、復号されたカメラ画像を表示する(S810)。
次に、デコーダ50aは、使用された背景画像を更新する(S811)。ここでは、復号処理(S809)で復号されたカメラ画像を用いて背景画像を更新する。例えば、背景画像に含まれる動物体で背景の一部が隠れてしまい、背景画像に背景の全てが含まれていない場合がある。そこで、デコーダ50aは、カメラ画像を用いて背景画像を更新する。
具体的には、例えば、動物体は1つの場所に留まらずに様々な場所に移動する。そのため、複数のカメラ画像における画素の平均値で、背景の画素値を特定することが可能である。そこで、デコーダ50aは、使用された背景画像と、復号されたカメラ画像との間で画素毎に画素値の平均を算出する。そして、デコーダ50aは、画素毎に算出された平均で背景画像を更新することにより背景画像から動物体を疑似的に削除することができる。
また、背景は、時間経過と共に変化する。このような変化に追従するように、背景画像が更新されてもよい。例えば、夜に近づくに従って暗くなる背景に応じて、背景画像が更新されてもよい。ここでも、復号されたカメラ画像を用いて、背景画像が更新されてもよい。具体的には、上記のように、画素毎に算出される平均が背景画像の画素値に適用されてもよい。
なお、背景画像の更新処理は、エンコーダ30a等と同様に行われる。これにより、符号化側で得られる更新後の背景画像と復号側で得られる更新後の背景画像とが互いに一致し、符号化側と復号側とにおける参照画像のミスマッチが抑制される。
デコーダ50aは、ユーザから復号の停止要求を受けるまで、上記の処理(S805〜S811)を繰り返す(S812でNo)。デコーダ50aは、停止要求を受けた場合(S812でYes)、サーバ20に復号の停止要求を送信し、処理を終える(S813)。サーバ20は、デコーダ50aから復号の停止要求を受けるまで、背景画像の符号列またはカメラ画像の符号列の送信処理(S802)を繰り返す(S803でNo)。サーバ20は、停止要求を受けた場合(S803でYes)、処理を終える。
<復号構成>
図19は、図17に示されたデコーダ50aの処理部53aの構成を主に示す図である。処理部53aは、可変長復号部61、逆変換部65、加算部66、フレームメモリ67および結合部68を備える。フレームメモリ67は、記憶部51aに含まれてもよい。
可変長復号部61は、符号列に対して可変長復号を行って係数を出力する。逆変換部65は、係数に対して逆周波数変換を行って、処理対象ブロックと予測ブロックとの差分を示す差分ブロックを出力する。加算部66は、差分ブロックと予測ブロックとを加算することにより、処理対象ブロックを再構成し、復号ブロックを生成する。結合部68は、複数の復号ブロックを結合し、結合によって得られるカメラ画像を出力する。フレームメモリ67には、結合部68から出力されたカメラ画像が記憶される。
<動作(復号)>
次に、図20を参照しつつ、デコーダ50aでのカメラ画像の復号処理(S809)のフローについて説明する。図20は、図18に示された復号処理(S809)のフローを示す図である。
まず、デコーダ50aは、スケーリングパラメータを復号し、復号されたスケーリングパラメータに従って背景画像をスケーリングする(S901)。例えば、デコーダ50aは、図11のように、背景画像をスケーリングすることにより、スケーリングされた背景画像を取得する。
次に、デコーダ50aは、変換パラメータを復号し、復号された変換パラメータに従って背景画像を変換する(S902)。例えば、デコーダ50aは、図12のように、背景画像を変換することにより、変換された背景画像を取得する。
次に、デコーダ50aは、全体ベクトルを復号し、図13のような全体ベクトルを取得する(S903)。
次に、デコーダ50aにおいて、可変長復号部61は、符号列に対して可変長復号を行う(S904)。逆変換部65は、可変長復号で得られた係数に対して逆周波数変換を行う(S905)。加算部66は、逆周波数変換によって得られたブロックと予測ブロックとを加算することにより、復号ブロックを生成する(S906)。
デコーダ50aは、上記の処理(S904〜S906)を全てのブロックの復号が完了するまで繰り返す(S907でNo)。全てのブロックの復号が完了した後(S907でYes)、結合部68は、全てのブロックを結合し、復号画像を取得する(S908)。
なお、予測ブロックが生成される際、背景画像、復号済み画像(参照画像)、または、同一画像内の復号済みブロックが参照される。また、デコーダ50aは、実施の形態1と同様に全体ベクトルをベースとして用いる。そして、デコーダ50aは、復号された動きベクトルに全体ベクトルを加算することで得られるベクトルを予測ブロックの生成のためのベクトルとして用いる(図13参照)。
<効果>
以上、本実施の形態では、画像処理システム11は、広範囲かつ高解像度の背景画像を使用する。これにより、画像処理システム11は、高い符号化効率で符号化された画像を復号することができる。特に、画像処理システム11は、パン、チルトまたはズームを行って得られた画像を適切に復号することができる。
また、画像処理システム11は、復号されたカメラ画像を用いて背景画像を更新することにより、背景画像を現在のカメラ画像に応じて更新することができる。そのため、画像処理システム11は、背景画像を復号対象画像に近づけることができ、予測の確度を向上させることができる。
例えば、背景画像に動物体が含まれている場合、背景の一部が隠れている。したがって、1枚の背景画像に全ての背景が含まれていない可能性がある。画像処理システム11は、複数のカメラ画像を用いて背景画像を更新することにより、背景の一部が含まれていない背景画像を背景の一部が含まれているカメラ画像で補うことができる。また、背景が時間経過と共に変化する場合がある。例えば、夜に近づくに従って背景が暗くなる場合、背景画像が更新されてもよい。
また、画像処理システム11は、背景画像を更新することにより、椅子の配置が変わる場合等における背景の変化に迅速に追従できる。また、画像処理システム11は、復号画像を用いて背景画像を更新することにより、サーバ20とデコーダ50aとの間で背景画像の送受信回数を削減することができる。
また、画像処理システム11は、エンコーダ(例えば、実施の形態1のエンコーダ30a)とデコーダ50aとの間で背景画像の更新処理を共通化してもよい。これにより、更新後の背景画像は、符号列に含まれなくてもよい。したがって、全体の符号量が削減される。
また、デコーダ50aが背景画像を更新することにより、サーバ20は、多数の様々な背景画像を保持しなくてもよい。したがって、サーバ20におけるメモリ(記憶部)の容量の削減が可能である。
また、画像処理システム11は、図12のように背景画像を変換し、変換された背景画像を参照画像として使用する。これにより、背景画像が復号対象画像に近づき、予測誤差が低減される。また、これにより、背景画像を保存するためのフレームメモリ67の容量の削減が可能である。
予測誤差は、多数の背景画像を用意することで、各背景画像を変換することなく、低減されてもよい。しかし、この場合、大きな容量を有するフレームメモリ67が利用される。また、背景画像を選択するための処理量も大きい。また、背景画像は、切り替えに応じて、符号列に挿入される。そのため、この場合、符号量も大きく、通信量も大きい。
そこで、背景画像の変換により、フレームメモリ67の容量の削減、処理量の削減、通信量の削減、および、符号量の削減が可能である。
また、サーバ20に背景画像が保存されることにより、デコーダ50aに大きな容量を有するフレームメモリ67が利用されなくてもよい。つまり、デコーダ50a、50bは、サーバ20における背景画像を共有することができる。
また、サーバ20は、複数の背景画像をデコーダ50aに事前に送信する。そして、デコーダ50aは、サーバ20から事前に送信された複数の背景画像のうち、時刻に応じて、使用対象の背景画像を切り替える。これにより、復号中においてサーバ20とデコーダ50aとの間の通信量が軽減され、通信負荷が分散される。
なお、デコーダ50aは、判定処理(S806)において、サーバ20から受信した符号列が背景画像の符号列であるかカメラ画像の符号列であるかを判定する。デコーダ50aは、判定処理において、復号画像を表示するか否かを示す非表示フラグを利用してもよい。非表示フラグは、動画編集等で参照画像が削除され、画像が正しく復号されない場合等に用いられる。
本実施の形態の背景画像のように参照のみに使われる画像は非表示フラグによって表示されない画像と指定されてもよい。デコーダ50aは、表示されない画像として指定された画像が背景画像であると判定してもよい。画像処理システム11は、新たな追加のフラグを用いずに、既存の非表示フラグを用いることで、符号量の増加を抑制することができる。もちろん、画像処理システム11は、背景画像であるか否かを示す新たなフラグを用いてもよい。
また、デコーダ50aは、図11のように背景画像の被写体のサイズと符号化対象画像(復号対象画像)の被写体のサイズとが一致するように、背景画像をスケーリングする。デコーダ50aは、動きベクトルに対して許容されている精度に適合するように、スケーリングの比率を変えてもよい。図14および図15を例に説明する。
図14は、図11に示されたスケーリング処理の変形例を示す図である。具体的には、図14は、HEVC(非特許文献1)の規定のように、動きベクトルが1/4画素精度まで許容されている場合におけるスケーリング処理の例を示す。この場合、デコーダ50aは、背景画像の被写体が、縦方向および横方向に、符号化対象画像(復号対象画像)の被写体の4倍になるように、背景画像をスケーリングする。
つまり、図14の符号化対象画像(復号対象画像)において右から2番目の木の横幅が384画素である場合、スケーリングにより背景画像において同じ被写体である右から2番目の木の横幅が1536画素(384画素×4)になるように、スケーリングが行われる。そして、デコーダ50aは、予測ブロックの生成処理において、4画素の間隔で背景画像の各画素を参照する。
図15は、本実施の形態における整数画素精度および小数画素精度を示す図である。図15に、スケーリング後の背景画像の各画素が示されている。また、図15に、整数画素精度の動きベクトルで参照される画素と、小数画素精度の動きベクトルで参照される画素とが示されている。
HEVC(非特許文献1)では、小数画素精度の動きベクトルが用いられる場合、整数画素精度の画素値に対してフィルタ処理を行うことにより小数画素精度の画素値が推定される。この方法では、推定された画素値と本来の画素値との間に誤差が生じる。
しかし、図14の例では、デコーダ50aは、ズームインで得られたカメラ画像から生成された高解像度の背景画像を用いて小数画素精度の画素値を生成する。そのため、生成された画素値と本来の画素値との間に誤差が生じにくい。したがって、デコーダ50aは、予測誤差を低減することができる。
なお、デコーダ50aは、図11のスケーリング処理と図14のスケーリング処理とを切り替えてもよい。例えば、デコーダ50aは、フレームメモリ67の容量の削減のため、図11のスケーリング処理を用いることにより、図14のスケーリング処理で用いられる画像サイズよりも小さい画像サイズを用いてもよい。また、デコーダ50aは、予測誤差を小さくするため(符号化効率を向上するため)、小数画素精度の予測確度を高くなるように、図14のスケーリング処理を用いてもよい。
また、図3に各画像を含む符号列の構成例が示されている。図3において、第1背景画像、第2背景画像、および、第3背景画像は、同じ画像でもよい。例えば、映像が途中から再生され、符号列の途中から復号が開始される場合でも、正しく復号画像が表示されるように、定期的に長期参照画像である背景画像が符号列に挿入されてもよい。これにより、例えば、デコーダ50aは、I(t)以降の画像を表示する際、I(t)から復号を開始することができる。したがって、復号処理が削減され、表示の遅延も抑制される。
また、図3では、1つの符号列がカメラ画像と背景画像とを含む。しかし、図16のようにカメラ画像を含む符号列と背景画像を含む符号列とは、別々に生成されてもよい。これにより、1つの符号列内での画像サイズが統一される。したがって、符号化処理および復号処理が簡素化される。また、デコーダ50aは、カメラ画像の符号列の復号よりも前に、別途、背景画像の符号列を取得することができる。これにより、符号列の配信における通信負荷が分散される。
また、上記において、符号化された背景画像が符号列に含められている。しかし、背景画像は、符号列に含められなくてもよい。すなわち、符号化されたカメラ画像のみで符号列が構成されてもよい。その場合、別途、デコーダ50aに背景画像が送信される。背景画像の送信において、高効率に符号化された背景画像が送信されてもよいし、背景画像の画素値そのものが送信されてもよい。
また、デコーダ50aは、サーバ20から、図3のような符号列を取得してもよいし、図16のような符号列を取得してもよい。また、デコーダ50aは、エンコーダ(エンコーダ30a等)から、図3のような符号列を取得してもよいし、図16のような符号列を取得してもよい。また、デコーダ50aは、記録媒体から、図3のような符号列を取得してもよいし、図16のような符号列を取得してもよい。デコーダ50aは、図16のような複数の符号列を別々に通信媒体または記録媒体などから取得してもよい。
また、ここでは、「背景」は、一定時間動いていない被写体を意味する。例えば、しばらく動いていない人物、または、停車している車が「背景」に含まれてもよい。
(実施の形態3)
本実施の形態は、実施の形態1および実施の形態2に示された画像処理システムの特徴的な構成および特徴的な動作を示す。本実施の形態で示される構成および動作は、基本的に、実施の形態1および実施の形態2に示された構成および動作に対応する。
図21は、本実施の形態における画像処理システムの構成を示す図である。図21に示された画像処理システム12は、画像符号化装置70、画像復号装置80、および、画像管理装置90を備える。画像符号化装置70は、取得部71および符号化部72を備える。画像復号装置80は、取得部81および復号部82を備える。
画像符号化装置70は、面間予測を用いて、映像を構成する複数の表示対象画像を符号化する。取得部71は、参照専用画像を取得する。符号化部72は、参照専用画像を面間予測における参照画像として参照して、映像を構成する複数の表示対象画像のうち1以上の表示対象画像を符号化する。
ここで、参照専用画像は、複数の表示対象画像とも複数の表示対象画像の複数の再構成画像とも異なる画像であり面間予測において参照専用として用いられる画像である。参照専用画像は、例えば、実施の形態1および実施の形態2で示された背景画像である。表示対象画像は、例えば、実施の形態1および実施の形態2で示されたカメラ画像である。
画像復号装置80は、面間予測を用いて、映像を構成する複数の表示対象画像を復号する。取得部81は、参照専用画像を取得する。復号部82は、参照専用画像を面間予測における参照画像として参照して、映像を構成する複数の表示対象画像のうち1以上の表示対象画像を復号する。
画像管理装置90は、画像処理システム12において、任意の構成要素である。画像管理装置90は、参照専用画像を取得する。画像符号化装置70の取得部71は、画像管理装置90で取得された参照専用画像を画像管理装置90から取得してもよい。同様に、画像復号装置80の取得部81は、画像管理装置90で取得された参照専用画像を画像管理装置90から取得してもよい。
画像符号化装置70は、実施の形態1に示されたエンコーダ30a等に対応する。画像符号化装置70の取得部71および符号化部72は、実施の形態1に示された処理部33a等に対応する。画像復号装置80は、実施の形態2に示されたデコーダ50a等に対応する。画像復号装置80の取得部81および復号部82は、実施の形態2に示された処理部53a等に対応する。画像管理装置90は、実施の形態1および実施の形態2に示されたサーバ20に対応する。
図22は、図21に示された画像処理システム12の動作の処理フローを示す図である。
画像符号化装置70において、まず、取得部71が参照専用画像を取得する(S111)。取得部71は、参照専用画像を画像管理装置90から取得してもよい。この場合、画像管理装置90が、まず、参照専用画像を取得する(S101)。次に、取得部71が、画像管理装置90で取得された参照専用画像を画像管理装置90から取得する。
次に、画像符号化装置70において、符号化部72が、参照専用画像を面間予測における参照画像として参照して、映像を構成する複数の表示対象画像のうち1以上の表示対象画像を符号化する(S112)。
画像復号装置80において、まず、取得部81が参照専用画像を取得する(S121)。取得部81は、参照専用画像を画像管理装置90から取得してもよい。この場合、画像管理装置90が、まず、参照専用画像を取得する(S101)。次に、取得部81が、画像管理装置90で取得された参照専用画像を画像管理装置90から取得する。
次に、画像復号装置80において、復号部82が、参照専用画像を面間予測における参照画像として参照して、映像を構成する複数の表示対象画像のうち1以上の表示対象画像を復号する(S122)。
これにより、画像符号化装置70および画像復号装置80は、面間予測において、表示対象画像等とは異なる参照専用画像を参照することができる。したがって、画像符号化装置70および画像復号装置80は、面間予測において適切な参照画像を参照することができる。
参照専用画像は、複数の表示対象画像のそれぞれよりも大きくてもよい。すなわち、参照専用画像の画素数は、複数の表示対象画像のそれぞれの画素数よりも大きくてもよい。
参照専用画像は、複数の撮影画像が統合された画像でもよい。ここで、撮影画像は、撮影によって得られた画像である。複数の撮影画像は、パン、チルトおよびズームによって得られてもよいし、複数のカメラから得られてもよい。参照専用画像は、各撮影画像の撮影情報または特徴点を用いて複数の撮影画像を統合することにより得られる画像でもよい。
取得部71は、映像を構成する複数の表示対象画像のうち符号化順で最初の表示対象画像が符号化される前に、参照専用画像を取得してもよい。同様に、取得部81は、映像を構成する複数の表示対象画像のうち復号順で最初の表示対象画像が復号される前に、参照専用画像を取得してもよい。
取得部71、81は、参照専用画像を画像管理装置90から部分的または全体的に受信することにより、参照専用画像を部分的または全体的に取得してもよい。符号化部72は、部分的または全体的に取得された参照専用画像を参照して、1以上の表示対象画像を符号化してもよい。また、復号部82は、部分的または全体的に取得された参照専用画像を参照して、1以上の表示対象画像を復号してもよい。
取得部71、81は、第1撮影状況に対応する第1参照専用画像と、第2撮影状況に対応する第2参照専用画像とを含む複数の参照専用画像のそれぞれを参照専用画像として取得してもよい。取得部71、81は、映像の撮影状況に基づいて、複数の参照専用画像を選択的に取得してもよい。各撮影状況は、例えば、撮影の際の時刻、天気または季節などを含む。
例えば、映像の撮影状況が第1撮影状況である場合、取得部71、81は、第1参照専用画像を取得してもよい。また、この場合、符号化部72は、第1参照専用画像を参照専用画像として参照して、1以上の表示対象画像を符号化してもよい。また、この場合、復号部82は、第1参照専用画像を参照専用画像として参照して、1以上の表示対象画像を復号してもよい。
また、例えば、映像の撮影状況が第2撮影状況である場合、取得部71、81は、第2参照専用画像を取得してもよい。また、この場合、符号化部72は、第2参照専用画像を参照専用画像として参照して、1以上の表示対象画像を符号化してもよい。また、この場合、復号部82は、第2参照専用画像を参照専用画像として参照して、1以上の表示対象画像を復号してもよい。
取得部71、81は、複数の表示対象画像の複数の再構成画像のうち1以上の再構成画像を用いて、参照専用画像を更新してもよい。符号化部72は、更新された参照専用画像を参照して、1以上の表示対象画像を符号化してもよい。復号部82は、更新された参照専用画像を参照して、1以上の表示対象画像を復号してもよい。
符号化部72は、1以上の表示対象画像のうち符号化対象画像を符号化する際、参照専用画像が符号化対象画像に対応するように、参照専用画像を変換し、変換された参照専用画像を参照画像として参照してもよい。復号部82は、1以上の表示対象画像のうち復号対象画像を復号する際、参照専用画像が復号対象画像に対応するように、参照専用画像を変換し、変換された参照専用画像を参照画像として参照してもよい。変換は、射影変換でもよいし、輝度変換でもよいし、スケーリングでもよい。
符号化部72は、参照専用画像における被写体の大きさが符号化対象画像における被写体の大きさに対応するように、参照専用画像をスケーリングし、スケーリングされた参照専用画像を参照画像として参照してもよい。復号部82は、参照専用画像における被写体の大きさが復号対象画像における被写体の大きさに対応するように、参照専用画像をスケーリングし、スケーリングされた参照専用画像を参照画像として参照してもよい。
符号化部72は、参照専用画像および符号化対象画像のそれぞれの撮影情報、または、参照専用画像および符号化対象画像のそれぞれにおける特徴点の位置を用いて、参照専用画像をスケーリングしてもよい。復号部82は、参照専用画像および復号対象画像のそれぞれの撮影情報、または、参照専用画像および復号対象画像のそれぞれにおける特徴点の位置を用いて、参照専用画像をスケーリングしてもよい。復号部82は、復号済みの画像から復号対象画像の特徴点の位置を推定してもよい。
符号化部72および復号部82は、面間予測で用いられる動きベクトルの精度に従って、参照専用画像をスケーリングしてもよい。
符号化部72は、変換パラメータを符号化してもよい。復号部82は、変換パラメータを復号してもよい。変換パラメータは、参照専用画像の変換に用いられたパラメータである。変換パラメータには、スケーリングの比率が含まれてもよい。
符号化部72は、全体ベクトルを符号化してもよい。復号部82は、全体ベクトルを復号してもよい。全体ベクトルは、参照専用画像において1以上の表示対象画像のうちの符号化対象画像が対応する領域の位置を指し示すベクトルである。
符号化部72は、参照専用画像および符号化対象画像のそれぞれの撮影情報、または、参照専用画像および符号化対象画像のそれぞれにおける特徴点の位置を用いて、全体ベクトルを算出し、算出された全体ベクトルを符号化してもよい。復号部82は、撮影情報または特徴点の位置を用いて算出され符号化された全体ベクトルを復号してもよい。
符号化部72は、1以上の表示対象画像を符号化して、参照専用画像を含む符号列とは別に、1以上の表示対象画像を含む符号列を生成してもよい。復号部82は、参照専用画像を含む符号列とは別の符号列に含まれる1以上の表示対象画像を復号してもよい。
符号化部72は、参照専用画像を非表示画像として符号化してもよい。復号部82は、非表示画像として符号化された参照専用画像を復号してもよい。言い換えれば、復号部82は、非表示画像を参照専用画像として復号してもよい。
画像符号化装置70、画像復号装置80、および、画像管理装置90は、通信ネットワークを介して、互いに接続されていてもよい。
なお、上記に示された画像処理システム12および画像管理装置90は、それぞれ、画像配信システムおよび画像配信装置と表現されてもよい。また、画像管理装置90は、画像符号化装置70に含まれてもよいし、画像復号装置80に含まれてもよい。また、上記に示された画像処理システム12等は、特に、背景の変化が小さい映像を処理するシステムに有用であり、例えば、防犯カメラシステム、または、定点観測カメラシステムに有用である。
以上の各実施の形態において、各構成要素は、例えば、MPUおよびメモリ等を含む回路によって実現される。また、各構成要素が実行する処理は、ソフトウェア(プログラム)によって実行されてもよい。当該ソフトウェアは、例えば、ROM等の記録媒体に記録されている。そして、このようなソフトウェアは、ダウンロード等により配布されてもよいし、CD−ROMなどの記録媒体に記録して配布されてもよい。なお、各構成要素をハードウェア(専用回路)によって実現することも、当然、可能である。
つまり、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
言い換えると、画像符号化装置および画像復号装置などは、処理回路(Processing Circuitry)と、当該処理回路に電気的に接続された(当該処理回路からアクセス可能な)記憶装置(Storage)とを備える。処理回路は、専用のハードウェアおよびプログラム実行部の少なくとも一方を含み、記憶装置を用いて処理を実行する。また、記憶装置は、処理回路がプロラグム実行部を含む場合には、当該プログラム実行部により実行されるソフトウェアプログラムを記憶する。
ここで、上記各実施の形態の画像符号化装置および画像復号装置などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、面間予測を用いて、映像を構成する複数の表示対象画像を符号化する画像符号化方法であって、前記複数の表示対象画像とも前記複数の表示対象画像の複数の再構成画像とも異なる画像であり前記面間予測において参照専用として用いられる画像である参照専用画像を取得する取得ステップと、前記参照専用画像を前記面間予測における参照画像として参照して、前記複数の表示対象画像のうち1以上の表示対象画像を符号化する符号化ステップとを含む画像符号化方法を実行させる。
また、このプログラムは、コンピュータに、面間予測を用いて、映像を構成する複数の表示対象画像を復号する画像復号方法であって、前記複数の表示対象画像とも前記複数の表示対象画像の複数の再構成画像とも異なる画像であり前記面間予測において参照専用として用いられる画像である参照専用画像を取得する取得ステップと、前記参照専用画像を前記面間予測における参照画像として参照して、前記複数の表示対象画像のうち1以上の表示対象画像を復号する復号ステップとを備える画像復号方法を実行させてもよい。
また、各構成要素は、上述の通り、回路であってもよい。これらの回路は、全体として1つの回路を構成してもよいし、それぞれ別々の回路であってもよい。また、各構成要素は、汎用的なプロセッサで実現されてもよいし、専用のプロセッサで実現されてもよい。
また、特定の構成要素が実行する処理を別の構成要素が実行してもよい。また、処理を実行する順番が変更されてもよいし、複数の処理が並行して実行されてもよい。また、画像符号化復号装置が、画像符号化装置および画像復号装置を備えていてもよい。
また、各実施の形態において説明された処理は、単一の装置(システム)を用いて実行される集中処理として実行されてもよいし、あるいは、複数の装置を用いて実行される分散処理として実行されてもよい。また、上記のプログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。すなわち、プログラムの実行において、集中処理が行われてもよいし、分散処理が行われてもよい。
以上、一つまたは複数の態様に係る画像符号化装置および画像復号装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
(実施の形態4)
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
図23は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図23のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(登録商標)(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い(即ち、本発明の一態様に係る画像符号化装置として機能する)、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
なお、コンテンツ供給システムex100の例に限らず、図24に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
図25は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305(本発明の一態様に係る画像符号化装置または画像復号装置として機能する)を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
まず、テレビex300がアンテナex204等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した多重化データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号化し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から多重化データを読み出してもよい。次に、テレビex300が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318、ex319、ex320、ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図26に示す。情報再生/記録部ex400は、以下に説明する要素ex401、ex402、ex403、ex404、ex405、ex406、ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図27に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図25に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
図28Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
さらに、携帯電話ex114の構成例について、図28Bを用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex357から出力する。
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し(即ち、本発明の一態様に係る画像符号化装置として機能する)、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し(即ち、本発明の一態様に係る画像復号装置として機能する)、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態5)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
図29は、多重化データの構成を示す図である。図29に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラフィックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC−3、Dolby Digital Plus、MLP、DTS、DTS−HD、または、リニアPCMのなどの方式で符号化されている。
多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
図30は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
図31は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図31における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図31の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
図32は、多重化データに最終的に書き込まれるTSパケットの形式を示している。TSパケットは、ストリームを識別するPIDなどの情報を持つ4ByteのTSヘッダとデータを格納する184ByteのTSペイロードから構成される188Byte固定長のパケットであり、上記PESパケットは分割されTSペイロードに格納される。BD−ROMの場合、TSパケットには、4ByteのTP_Extra_Headerが付与され、192Byteのソースパケットを構成し、多重化データに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのデコーダのPIDフィルタへの転送開始時刻を示す。多重化データには図32下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
また、多重化データに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
図33はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
多重化データ情報ファイルは、図34に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
多重化データ情報は図34に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
ストリーム属性情報は図35に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
また、本実施の形態における動画像復号化方法のステップを図36に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
(実施の形態6)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図37に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
また、上記では、制御部ex501が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex501の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。このようなプログラマブル・ロジック・デバイスは、典型的には、ソフトウェア又はファームウェアを構成するプログラムを、ロードする又はメモリ等から読み込むことで、上記各実施の形態で示した動画像符号化方法、又は動画像復号化方法を実行することができる。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(実施の形態7)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図38は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
より具体的には、駆動周波数切替え部ex803は、図37のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図37の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態5で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態5で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図40のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
図39は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4−AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を高く設定し、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、CPUex502の駆動を停止させることなく、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、CPUex502の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、CPUex502の駆動を一時停止させることも考えられる。この場合は、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
(実施の形態8)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図41Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、面間予測に特徴を有していることから、例えば、面間予測については専用の復号処理部ex901を用い、それ以外のエントロピー復号、デブロッキング・フィルタ、逆量子化のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
また、処理を一部共有化する他の例を図41Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。