以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
<実施の形態1>
図1は、本発明の実施の形態1に係る画像処理装置1の構成を示す図である。図1に示すように画像処理装置1は、エンコーダ2とデコーダ3とを備えている。エンコーダ2には、カメラ4によって撮影された動画像の画像データが入力される。エンコーダ2は、カメラ4から入力された画像データを符号化することによって符号化画像データを生成し、当該符号化画像データを有線通信又は無線通信によってデコーダ3に送信する。デコーダ3は、エンコーダ2から受信した符号化画像データを復号する。モニタ5には、デコーダ3によって復号された画像データが入力され、これによってモニタ5に画像が表示される。
画像処理装置1は、いわゆる低遅延コーデックとして構成されており、通常の動作においてエンコーダ2は、カメラ4から入力される先頭のピクチャに関してはIピクチャ(Intra-Picture)の符号化画像データを生成し、2番目以降のピクチャに関してはPピクチャ(Predictive-Picture)の符号化画像データを生成する。
図2は、実施の形態1に係るエンコーダ2の構成を示す図である。図2に示すようにエンコーダ2は、DRAM11、符号化部12、データ送信部13、及びCPU15を備えている。CPU15は、所定のプログラムを実行することにより、エラー通知受信部21として機能する。
図3は、実施の形態1に係るデコーダ3の構成を示す図である。図3に示すようにデコーダ3は、表示制御部31、データ受信部32、DRAM33、復号部34、制御部36、及びCPU37を備えている。CPU37は、所定のプログラムを実行することにより、エラー通知送信部41として機能する。
図4は、符号化部12の構成を簡略化して示す図である。図4に示すように符号化部12は、コントローラ51、SRAM52、動き探索部53、Pピクチャ符号化部54、Iピクチャ符号化部55、及び選択部56を備えている。図示は省略するが、Pピクチャ符号化部54及びIピクチャ符号化部55はそれぞれ、DCT変換回路、量子化回路、エントロピ符号化回路、逆量子化回路、逆DCT変換回路、デブロッキングフィルタ、及びNALユニット生成回路等を備えて構成されている。
図5は、復号部34においてエラーが発生した際の処理内容を説明するための図である。(A)は符号化部12が符号化する画像データを示しており、(B)はデータ送信部13からデータ受信部32に送信される画像データを示しており、(C)は復号部34が復号する画像データを示しており、(D)は表示制御部31がモニタ5に表示させる画像データを示している。各垂直同期期間T11〜T17としては、一つの垂直同期期間内に一つのPピクチャを処理するのに必要な所定の時間が設定されている。図5に示した例では、垂直同期期間T12において復号部34が画像データD12を復号している最中にエラーが発生した状況を想定している。
復号部34においてエラーが発生していない通常状態では、Pピクチャ符号化部54は、直前に生成したローカルデコード画像を参照画像として用いた画面間予測符号化によって、Pピクチャの符号化画像データを生成する。また、Iピクチャ符号化部55は、参照画像を使用しない画面内符号化によって、Iピクチャの符号化画像データを生成する。そして、コントローラ51が選択部56にPピクチャ符号化部54を選択させることにより、データ送信部13からデータ受信部32にPピクチャの符号化画像データが送信される。また、Pピクチャ符号化部54は、参照画像として使用するためのローカルデコード画像を符号化画像データとともに生成し、当該ローカルデコード画像は一定期間DRAM11に格納される。
復号部34は、データ受信部32が受信した符号化画像データを復号し、表示制御部31は、復号された画像データをモニタ5に表示させる。図5を参照して、エラー発生前の例えば垂直同期期間T11において、(A)符号化部12はPピクチャ及びIピクチャの符号化画像データD11を生成し、(B)データ送信部13はPピクチャの符号化画像データD11を送信し、(C)復号部34はPピクチャの符号化画像データD11を復号し、(D)表示制御部31は復号された画像データD11をモニタ5に表示させる。なお、復号部34が生成したデコード画像は、参照画像として使用するために一定期間DRAM33に格納される。
デコードすべき符号化画像データがDRAM33内のバッファから枯渇する等のエラーが発生した場合には、復号部34は、エラーが発生した旨、及び、エラーが発生した画像データの識別情報(ピクチャID)を、エラー通知送信部41に入力する。エラー通知送信部41は、これらの情報を含むエラー通知をエンコーダ2に送信し、エラー通知受信部21は当該エラー通知を受信する。上記と同様に、Pピクチャ符号化部54はPピクチャの符号化画像データを生成しており、Iピクチャ符号化部55はIピクチャの符号化画像データを生成している。コントローラ51は、エラー通知受信部21からエラー通知が入力されると、選択部56にIピクチャ符号化部55を選択させる。これにより、データ送信部13からデータ受信部32にIピクチャの符号化画像データが送信される。
図5を参照して、垂直同期期間T12において復号部34が画像データD12を復号している最中にエラーが発生すると、エラー通知送信部41からエラー通知受信部21にエラー通知が送信される。この場合、表示制御部31は、復号された画像データD12に基づいてコンシール画像を作成し、垂直同期期間T12においてモニタ5に当該コンシール画像を表示させる。表示制御部31は、例えば、垂直同期期間T12でエラー発生前に復号が完了している画像領域については画像データD12を使用し、垂直同期期間T12で復号が完了していない残余の画像領域については直前の画像データD11を使用することにより、コンシール画像を作成する。
また、CPU37は、エラーが発生した垂直同期期間T12の次の垂直同期期間T13において、エラー復帰のために復号部34をリセットする。表示制御部31は、復号部34のリセット期間中(垂直同期期間T13)においても、垂直同期期間T12と同様のコンシール画像をモニタ5に表示させる。
図5に示した例によると、エラー通知受信部21がエラー通知を受信した時点では、エンコーダ2において次の垂直同期期間T13の処理が開始されている。垂直同期期間T13において、エラー通知を受信するまでは、データ送信部13はPピクチャの符号化画像データD13を送信している。エラー通知を受信すると、データ送信部13はPピクチャの符号化画像データD13の送信を停止し、その後、コントローラ51が選択部56にIピクチャ符号化部55を選択させることにより、データ送信部13はIピクチャの符号化画像データD13の送信を開始する。Iピクチャの符号化画像データはデータ量が大きく、一つの垂直同期期間内ではデータ送信を完了できない。従って、Iピクチャの符号化画像データD13は、二つの垂直同期期間内T13,T14を使用してデータ送信部13からデータ受信部32に送信される。また、エンコーダ2において垂直同期期間T14は画像データD13の送信に使用されるため、符号化部12による画像データD14の符号化は省略される。
デコーダ3において、リセット完了後の垂直同期期間T14では、復号部34はIピクチャの符号化画像データD13を復号し、表示制御部31は復号された画像データD13をモニタ5に表示させる。
次の垂直同期期間T15ではエンコーダ2及びデコーダ3は通常状態に戻り、(A)符号化部12はPピクチャ及びIピクチャの符号化画像データD15を生成し、(B)データ送信部13はPピクチャの符号化画像データD15を送信し、(C)復号部34はPピクチャの符号化画像データD15を復号し、(D)表示制御部31は復号された画像データD15をモニタ5に表示させる。なお、Pピクチャ符号化部54がPピクチャの符号化画像データD15を生成する際には、直前に生成したローカルデコード画像(この場合は画像データD13)が参照画像として使用される。
このように本実施の形態1に係る画像処理装置1によれば、符号化部12は、並列に動作するPピクチャ符号化部54及びIピクチャ符号化部55を備えており、エラーが発生していない通常状態においても、Pピクチャの符号化画像データとは別にIピクチャの符号化画像データが生成される。そして、エラー通知受信部21がエラー通知送信部41からエラー通知を受信すると、選択部56による選択を切り替えることによって、Iピクチャの符号化画像データがデータ送信部13からデータ受信部32に直ちに送信される。このように、エンコーダ2は、エラー通知を受信してから次のピクチャをIピクチャとして生成するための設定を開始するのではなく、通常状態でPピクチャと並行してIピクチャの符号化画像データを予め生成しておく。従って、Iピクチャの符号化データの生成処理が開始されるまでの待機時間が不要となるため、エラー発生からエラー復帰までの遅延時間を短縮することが可能となる。
<実施の形態2>
図6は、本発明の実施の形態2に係るエンコーダ2の構成を示す図である。図6に示すようにエンコーダ2は、DRAM11、符号化部12、データ送信部13、参照画像決定部14、及びCPU15を備えている。CPU15は、所定のプログラムを実行することにより、エラー通知受信部21として機能する。DRAM11には、直近の所定数(少なくとも三つ)の垂直同期期間において符号化部12が生成した複数のローカルデコード画像が記憶されている。
図7は、実施の形態2に係るデコーダ3の構成を示す図である。図7に示すようにデコーダ3は、表示制御部31、データ受信部32、DRAM33、復号部34、参照画像決定部35、制御部36、及びCPU37を備えている。CPU37は、所定のプログラムを実行することにより、エラー通知送信部41として機能する。DRAM33には、直近の所定数(少なくとも三つ)の垂直同期期間において復号部34が生成した複数のデコード画像が記憶されている。
図8は、復号部34においてエラーが発生した際の処理内容を説明するための図である。(A)は符号化部12が符号化する画像データを示しており、(B)はデータ送信部13からデータ受信部32に送信される画像データを示しており、(C)は復号部34が復号する画像データを示しており、(D)は表示制御部31がモニタ5に表示させる画像データを示している。図8に示した例では、垂直同期期間T12において復号部34が画像データD12を復号している最中にエラーが発生した状況を想定している。
復号部34においてエラーが発生していない通常状態では、エンコーダ2において、参照画像決定部14は、直前の垂直同期期間で生成されたローカルデコード画像を参照画像として決定する。また、符号化部12は、当該参照画像を用いた画面間予測符号化によって、Pピクチャの符号化画像データを生成する。そして、データ送信部13からデータ受信部32にPピクチャの符号化画像データが送信される。なお、図8には示さないが、カメラ4から入力される先頭のピクチャに関してはIピクチャの符号化画像データが生成される。また、符号化部12は、参照画像として使用するためのローカルデコード画像を符号化画像データとともに生成し、当該ローカルデコード画像は一定期間DRAM11に格納される。
同様に、復号部34においてエラーが発生していない通常状態では、デコーダ3において、参照画像決定部35は、直前の垂直同期期間で生成されたデコード画像を参照画像として決定する。また、復号部34は、当該参照画像を用いた復号処理によって、Pピクチャの符号化画像データを復号する。そして、表示制御部31は、復号された画像データをモニタ5に表示させる。なお、復号部34が生成したデコード画像は、参照画像として使用するために一定期間DRAM33に格納される。
図8を参照して、エラー発生前の例えば垂直同期期間T11において、(A)符号化部12はDRAM11から読み出した直前の画像データD10を参照画像として用いてPピクチャの符号化画像データD11を生成し、(B)データ送信部13はPピクチャの符号化画像データD11を送信し、(C)復号部34はDRAM33から読み出した直前の画像データD10を参照画像として用いてPピクチャの符号化画像データD11を復号し、(D)表示制御部31は復号された画像データD11をモニタ5に表示させる。
復号部34においてエラーが発生した場合には、復号部34は、エラーが発生した旨、及び、エラーが発生した画像データの識別情報(ピクチャID)を、エラー通知送信部41に入力する。エラー通知送信部41は、これらの情報を含むエラー通知をエンコーダ2に送信し、エラー通知受信部21は当該エラー通知を受信する。エラー通知受信部21は、受信したエラー通知を参照画像決定部14に入力する。
デコーダ3においては、エラーが発生した垂直同期期間の次の垂直同期期間は、エラー復帰のために復号部34をリセットするリセット期間となる。従って、エンコーダ2においても、リセット期間に対応する垂直同期期間では符号化画像データの送信が停止され、リセット期間の次の垂直同期期間から符号化画像データの送信が再開される。
参照画像決定部14は、符号化画像データの送信再開後の最初の垂直同期期間において、DRAM11に記憶されている複数のローカルデコード画像の中から、エラーが発生した垂直同期期間の直前の垂直同期期間で生成されたローカルデコード画像を参照画像として決定する。そして、符号化部12は、当該参照画像を用いて符号化処理を行う。
また、参照画像決定部35は、復号部34のリセット完了後の最初の垂直同期期間において、DRAM33に記憶されている複数のデコード画像の中から、エラーが発生した垂直同期期間の直前の垂直同期期間で生成されたデコード画像を参照画像として決定する。そして、復号部34は、当該参照画像を用いて復号処理を行う。
図8を参照して、垂直同期期間T12において復号部34が画像データD12を復号している最中にエラーが発生すると、エラー通知送信部41からエラー通知受信部21にエラー通知が送信される。この場合、表示制御部31は、復号された画像データD12に基づいてコンシール画像を作成し、垂直同期期間T12においてモニタ5に当該コンシール画像を表示させる。表示制御部31は、例えば、垂直同期期間T12で復号が完了している画像領域については画像データD12を使用し、垂直同期期間T12で復号が完了していない残余の画像領域については直前の画像データD11を使用することにより、コンシール画像を作成する。
また、CPU37は、エラーが発生した垂直同期期間T12の次の垂直同期期間T13において、エラー復帰のために復号部34をリセットする。表示制御部31は、復号部34のリセット期間中(垂直同期期間T13)においても、垂直同期期間T12と同様のコンシール画像をモニタ5に表示させる。
図8に示した例によると、エラー通知受信部21がエラー通知を受信した時点では、エンコーダ2において次の垂直同期期間T13の処理が開始されている。垂直同期期間T13において、エラー通知を受信するまでは、データ送信部13はPピクチャの符号化画像データD13を送信している。エラー通知を受信すると、データ送信部13はPピクチャの符号化画像データD13の送信を停止する。
符号化画像データの送信再開後の最初の垂直同期期間T14において、参照画像決定部14は、エラーが発生した垂直同期期間T12の直前の垂直同期期間T11で生成された画像データD11を、参照画像として決定する。そして、符号化部12は、DRAM11から読み出した画像データD11を参照画像として用いて、Pピクチャの符号化画像データD14を生成する。また、データ送信部13は、Pピクチャの符号化画像データD14を送信する。
また、復号部34のリセット完了後の最初の垂直同期期間T14において、参照画像決定部35は、エラーが発生した垂直同期期間T12の直前の垂直同期期間T11で生成された画像データD11を、参照画像として決定する。そして、復号部34は、DRAM33から読み出した画像データD11を参照画像として用いて、符号化画像データD14の復号処理を行う。また、表示制御部31は、復号された画像データD14をモニタ5に表示させる。
次の垂直同期期間T15ではエンコーダ2及びデコーダ3は通常状態に戻り、(A)符号化部12はDRAM11から読み出した直前の画像データD14を参照画像として用いてPピクチャの符号化画像データD15を生成し、(B)データ送信部13はPピクチャの符号化画像データD15を送信し、(C)復号部34はDRAM33から読み出した直前の画像データD14を参照画像として用いてPピクチャの符号化画像データD15を復号し、(D)表示制御部31は復号された画像データD15をモニタ5に表示させる。
このように本実施の形態2に係る画像処理装置1によれば、復号部34においてある垂直同期期間T12でエラーが発生した場合には、参照画像決定部14は、符号化画像データの送信再開後の最初の垂直同期期間T14において、DRAM11に記憶されている複数のローカルデコード画像の中から、エラーが発生した垂直同期期間T12の直前の垂直同期期間T11で生成されたローカルデコード画像(画像データD11)を参照画像として決定し、符号化部12は、当該参照画像を用いて符号化処理を行う。また、参照画像決定部35は、復号部34のリセット完了後の最初の垂直同期期間T14において、DRAM33に記憶されている複数のデコード画像の中から、エラーが発生した垂直同期期間T12の直前の垂直同期期間T11で生成されたデコード画像(画像データD11)を参照画像として決定し、復号部34は、当該参照画像を用いて復号処理を行う。従って、エラーが発生した場合であっても、エンコーダ2及びデコーダ3においてPピクチャの参照画像を変更するだけでよく、エンコーダ2からデコーダ3にIピクチャを送信する必要がないため、Iピクチャの送信に伴うデータ送信時間の増大を回避できる。その結果、エラー発生からエラー復帰までの遅延時間を短縮することが可能となる。
また、参照画像決定部14は、符号化画像データの送信再開後の最初の垂直同期期間T14の次の垂直同期期間T15において通常状態に戻り、直前の垂直同期期間T14で生成されたローカルデコード画像(画像データD14)を参照画像として決定する。また、参照画像決定部35は、復号部34のリセット完了後の最初の垂直同期期間T14の次の垂直同期期間T15において通常状態に戻り、直前の垂直同期期間T14で生成されたデコード画像(画像データD14)を参照画像として決定する。従って、参照画像が早期に直前のローカルデコード画像又はデコード画像に戻されるため、画質の劣化を最小限に抑制することが可能となる。
また、表示制御部31は、エラーが発生した垂直同期期間T12、及び、復号部34のリセット処理を実行する垂直同期期間T13において、所定のコンシール画像をモニタ5に表示させる。従って、コンシール画像が表示される期間が最小限に抑制されるため、映像視認者の違和感を軽減することが可能となる。
<実施の形態3>
本発明の実施の形態3に係るエンコーダ2及びデコーダ3の構成は、図6,7に示した構成と同様である。
図9は、復号部34においてエラーが発生した際の処理内容を説明するための図である。(A)は符号化部12が符号化する画像データを示しており、(B)はデータ送信部13からデータ受信部32に送信される画像データを示しており、(C)は復号部34が復号する画像データを示しており、(D)は表示制御部31がモニタ5に表示させる画像データを示している。図9に示した例では、垂直同期期間T12において復号部34が画像データD12を復号している最中にエラーが発生した状況を想定している。
復号部34においてエラーが発生していない通常状態では、エンコーダ2において、参照画像決定部14は、二つ前の垂直同期期間で生成されたローカルデコード画像を参照画像として決定する。また、符号化部12は、当該参照画像を用いた画面間予測符号化によって、Pピクチャの符号化画像データを生成する。そして、データ送信部13からデータ受信部32にPピクチャの符号化画像データが送信される。なお、図9には示さないが、カメラ4から入力される先頭のピクチャに関してはIピクチャの符号化画像データが生成される。また、符号化部12は、参照画像として使用するためのローカルデコード画像を符号化画像データとともに生成し、当該ローカルデコード画像は一定期間DRAM11に格納される。
同様に、復号部34においてエラーが発生していない通常状態では、デコーダ3において、参照画像決定部35は、二つ前の垂直同期期間で生成されたデコード画像を参照画像として決定する。また、復号部34は、当該参照画像を用いた復号処理によって、Pピクチャの符号化画像データを復号する。そして、表示制御部31は、復号された画像データをモニタ5に表示させる。なお、復号部34が生成したデコード画像は、参照画像として使用するために一定期間DRAM33に格納される。
図9を参照して、エラー発生前の例えば垂直同期期間T11において、(A)符号化部12はDRAM11から読み出した二つ前の画像データD09を参照画像として用いてPピクチャの符号化画像データD11を生成し、(B)データ送信部13はPピクチャの符号化画像データD11を送信し、(C)復号部34はDRAM33から読み出した二つ前の画像データD09を参照画像として用いてPピクチャの符号化画像データD11を復号し、(D)表示制御部31は復号された画像データD11をモニタ5に表示させる。
復号部34においてエラーが発生した場合には、復号部34は、エラーが発生した旨、及び、エラーが発生した画像データの識別情報(ピクチャID)を、エラー通知送信部41に入力する。エラー通知送信部41は、これらの情報を含むエラー通知をエンコーダ2に送信し、エラー通知受信部21は当該エラー通知を受信する。エラー通知受信部21は、受信したエラー通知を参照画像決定部14に入力する。
参照画像決定部14は、エラーが発生した垂直同期期間の次の垂直同期期間、及び、エラーが発生した垂直同期期間の二つ後の垂直同期期間において、エラーが発生した垂直同期期間の直前の垂直同期期間で生成されたローカルデコード画像を参照画像として決定する。そして、符号化部12は、当該参照画像を用いて符号化処理を行う。
また、参照画像決定部35は、エラーが発生した垂直同期期間の次の垂直同期期間、及び、エラーが発生した垂直同期期間の二つ後の垂直同期期間において、エラーが発生した垂直同期期間の直前の垂直同期期間で生成されたデコード画像を参照画像として決定する。そして、復号部34は、当該参照画像を用いて復号処理を行う。
図9を参照して、垂直同期期間T12において復号部34が画像データD12を復号している最中にエラーが発生すると、エラー通知送信部41からエラー通知受信部21にエラー通知が送信される。この場合、表示制御部31は、復号された画像データD12に基づいてコンシール画像を作成し、垂直同期期間T12においてモニタ5に当該コンシール画像を表示させる。表示制御部31は、例えば、垂直同期期間T12で復号が完了している画像領域については画像データD12を使用し、垂直同期期間T12で復号が完了していない残余の画像領域については直前の画像データD11を使用することにより、コンシール画像を作成する。
また、コンシール画像の作成が完了した後、制御部36は、エラーが発生した垂直同期期間T12において、エラー復帰のために復号部34をリセットする。CPU37によるソフトウェア処理によってリセットを行う時間的余裕が無いため、リセット用のレジスタを制御部36が自動的に設定するというハードウェア処理によって、早期に復号部34のリセットが行われる。
図9に示した例によると、エラー通知受信部21がエラー通知を受信した時点では、エンコーダ2において垂直同期期間T13の処理が開始されている。エラーが発生した垂直同期期間T12の次の垂直同期期間T13において、参照画像決定部14は、エラーが発生した垂直同期期間T12の直前の垂直同期期間T11で生成された画像データD11を、参照画像として決定する。そして、符号化部12は、DRAM11から読み出した画像データD11を参照画像として用いて、Pピクチャの符号化画像データD13を生成する。また、データ送信部13は、Pピクチャの符号化画像データD13を送信する。
また、垂直同期期間T13において、参照画像決定部35は、エラーが発生した垂直同期期間T12の直前の垂直同期期間T11で生成された画像データD11を、参照画像として決定する。そして、復号部34は、DRAM33から読み出した画像データD11を参照画像として用いて、符号化画像データD13の復号処理を行う。また、表示制御部31は、復号された画像データD13をモニタ5に表示させる。
また、エラーが発生した垂直同期期間T12の二つ後の垂直同期期間T14において、参照画像決定部14は、エラーが発生した垂直同期期間T12の直前の垂直同期期間T11で生成された画像データD11を、参照画像として決定する。そして、符号化部12は、DRAM11から読み出した画像データD11を参照画像として用いて、Pピクチャの符号化画像データD14を生成する。また、データ送信部13は、Pピクチャの符号化画像データD14を送信する。
また、垂直同期期間T14において、参照画像決定部35は、エラーが発生した垂直同期期間T12の直前の垂直同期期間T11で生成された画像データD11を、参照画像として決定する。そして、復号部34は、DRAM33から読み出した画像データD11を参照画像として用いて、符号化画像データD14の復号処理を行う。また、表示制御部31は、復号された画像データD14をモニタ5に表示させる。
次の垂直同期期間T15ではエンコーダ2及びデコーダ3は通常状態に戻り、(A)符号化部12はDRAM11から読み出した二つ前の画像データD13を参照画像として用いてPピクチャの符号化画像データD15を生成し、(B)データ送信部13はPピクチャの符号化画像データD15を送信し、(C)復号部34はDRAM33から読み出した二つ前の画像データD13を参照画像として用いてPピクチャの符号化画像データD15を復号し、(D)表示制御部31は復号された画像データD15をモニタ5に表示させる。
このように本実施の形態3に係る画像処理装置1によれば、復号部34においてある垂直同期期間T12でエラーが発生した場合には、参照画像決定部14は、エラーが発生した垂直同期期間T12の次の垂直同期期間T13、及び、エラーが発生した垂直同期期間T12の二つ後の垂直同期期間T14において、エラーが発生した垂直同期期間T12の直前の垂直同期期間T11で生成されたローカルデコード画像(画像データD11)を参照画像として決定し、符号化部12は、当該参照画像を用いて符号化処理を行う。また、参照画像決定部35は、エラーが発生した垂直同期期間T12の次の垂直同期期間T13、及び、エラーが発生した垂直同期期間T12の二つ後の垂直同期期間T14において、エラーが発生した垂直同期期間T12の直前の垂直同期期間T11で生成されたデコード画像(画像データD11)を参照画像として決定し、復号部34は、当該参照画像を用いて復号処理を行う。従って、エラーが発生した場合であっても、エンコーダ2及びデコーダ3においてPピクチャの参照画像を変更するだけでよく、エンコーダ2からデコーダ3にIピクチャを送信する必要がないため、Iピクチャの送信に伴うデータ送信時間の増大を回避できる。また、エラーが発生した垂直同期期間T12の次の垂直同期期間T13においても、エンコーダ2は参照画像を用いて適切に符号化処理を実行でき、また、デコーダ3は参照画像を用いて適切に復号処理を実行できる。その結果、エラー発生からエラー復帰までの遅延時間を短縮することが可能となる。
また、参照画像決定部14は、エラーが発生した垂直同期期間T12の二つ後の垂直同期期間T14の次の垂直同期期間T15において通常状態に戻り、二つ前の垂直同期期間T13で生成されたローカルデコード画像(画像データD13)を参照画像として決定する。また、参照画像決定部35は、エラーが発生した垂直同期期間T12の二つ後の垂直同期期間T14の次の垂直同期期間T15において通常状態に戻り、二つ前の垂直同期期間T13で生成されたデコード画像(画像データD13)を参照画像として決定する。従って、参照画像が早期に二つ前のローカルデコード画像又はデコード画像に戻されるため、画質の劣化を最小限に抑制することが可能となる。
また、表示制御部31は、エラーが発生した垂直同期期間T12において、所定のコンシール画像をモニタ5に表示させる。従って、コンシール画像が表示される期間が最小限に抑制されるため、映像視認者の違和感を軽減することが可能となる。
<実施の形態4>
本実施の形態4では、上記実施の形態3において、連続する複数の垂直同期期間でエラーが発生した場合の対策について説明する。
図10は、本発明の実施の形態4に係るエンコーダ2の構成を示す図である。図10に示すようにエンコーダ2は、DRAM11、符号化部12、データ送信部13、参照画像決定部14、及びCPU15を備えている。CPU15は、所定のプログラムを実行することにより、エラー通知受信部21及び復帰通知受信部22として機能する。DRAM11には、直近の所定数の垂直同期期間において符号化部12が生成した複数のローカルデコード画像が記憶されている。
図11は、実施の形態4に係るデコーダ3の構成を示す図である。図11に示すようにデコーダ3は、表示制御部31、データ受信部32、DRAM33、復号部34、参照画像決定部35、制御部36、及びCPU37を備えている。CPU37は、所定のプログラムを実行することにより、エラー通知送信部41及び復帰通知送信部42として機能する。DRAM33には、直近の所定数の垂直同期期間において復号部34が生成した複数のデコード画像が記憶されている。
図12は、復号部34においてエラーが発生した際の処理内容を説明するための図である。(A)は符号化部12が符号化する画像データを示しており、(B)はデータ送信部13からデータ受信部32に送信される画像データを示しており、(C)は復号部34が復号する画像データを示しており、(D)は表示制御部31がモニタ5に表示させる画像データを示している。図12に示した例では、連続する複数の垂直同期期間T12,T13においてエラーが発生し、垂直同期期間T12,T13ではエラー復帰に失敗し、垂直同期期間T14でエラー復帰に成功した状況を想定している。
復号部34においてエラーが発生していない通常状態では、上記実施の形態3と同様に、参照画像決定部14は、二つ前の垂直同期期間で生成されたローカルデコード画像を参照画像として決定する。そして、データ送信部13からデータ受信部32にPピクチャの符号化画像データが送信される。また、参照画像決定部35は、二つ前の垂直同期期間で生成されたデコード画像を参照画像として決定する。そして、表示制御部31は、復号された画像データをモニタ5に表示させる。
図12を参照して、エラー発生前の例えば垂直同期期間T11において、(A)符号化部12はDRAM11から読み出した二つ前の画像データD09を参照画像として用いてPピクチャの符号化画像データD11を生成し、(B)データ送信部13はPピクチャの符号化画像データD11を送信し、(C)復号部34はDRAM33から読み出した二つ前の画像データD09を参照画像として用いてPピクチャの符号化画像データD11を復号し、(D)表示制御部31は復号された画像データD11をモニタ5に表示させる。
復号部34においてエラーが発生した場合には、復号部34は、エラーが発生した旨、及び、エラーが発生した画像データの識別情報(ピクチャID)を、エラー通知送信部41に入力する。エラー通知送信部41は、これらの情報を含むエラー通知をエンコーダ2に送信し、エラー通知受信部21は当該エラー通知を受信する。エラー通知受信部21は、受信したエラー通知を参照画像決定部14に入力する。
また、復号部34においてエラー復帰のためのリセットがされ、1ピクチャのデコードがエラーなく完了した場合には、制御部36は、復帰通知を復帰通知送信部42に入力する。復帰通知送信部42は復帰通知をエンコーダ2に送信し、復帰通知受信部22は当該復帰通知を受信する。復帰通知受信部22は、受信した復帰通知を参照画像決定部14に入力する。
参照画像決定部14は、エラーが発生した垂直同期期間の次の垂直同期期間から、復帰通知を受信するまでの、複数の垂直同期期間においては、DRAM11に記憶されている複数のローカルデコード画像の中から、エラーが発生した垂直同期期間の直前の垂直同期期間で生成されたローカルデコード画像を参照画像として決定する。そして、これら複数の垂直同期期間において、符号化部12は、当該参照画像を用いて符号化処理を行う。
また、参照画像決定部35は、エラーが発生した垂直同期期間の次の垂直同期期間から、復帰通知を送信した垂直同期期間の次の垂直同期期間までの、複数の垂直同期期間においては、DRAM33に記憶されている複数のデコード画像の中から、エラーが発生した垂直同期期間の直前の垂直同期期間で生成されたデコード画像を参照画像として決定する。そして、復号部34は、当該参照画像を用いて復号処理を行う。
図12を参照して、復号部34において垂直同期期間T12でエラーが発生すると、エラー通知送信部41からエラー通知受信部21にエラー通知が送信される。この場合、表示制御部31は、垂直同期期間T12において復号された画像データD12に基づいてコンシール画像を作成し、垂直同期期間T12においてモニタ5に当該コンシール画像を表示させる。表示制御部31は、例えば、垂直同期期間T12で復号が完了している画像領域については画像データD12を使用し、垂直同期期間T12で復号が完了していない残余の画像領域については直前の画像データD11を使用することにより、コンシール画像を作成する。
また、コンシール画像の作成が完了した後、制御部36は、垂直同期期間T12において、エラー復帰のために復号部34のリセットを試みる。但し、図12に示した例では、制御部36は垂直同期期間T12でのエラー復帰に失敗し、復帰通知送信部42は復帰通知を送信しない。
図12に示した例によると、エラー通知受信部21がエラー通知を受信した時点では、エンコーダ2において垂直同期期間T13の処理が開始されている。垂直同期期間T13において、参照画像決定部14は、エラーが発生した垂直同期期間T12の直前の垂直同期期間T11で生成された画像データD11を、参照画像として決定する。そして、符号化部12は、当該参照画像を用いて符号化処理を行うことにより、符号化画像データD13を生成する。また、垂直同期期間T13において、データ送信部13は符号化画像データD13を送信する。
垂直同期期間T13において、参照画像決定部35は、エラーが発生した垂直同期期間T12の直前の垂直同期期間T11で生成された画像データD11を、参照画像として決定する。そして、復号部34は、当該参照画像を用いて画像データD13の復号処理を開始する。但し、図12に示した例では、垂直同期期間T13においても復号部34でエラーが発生する。この場合、表示制御部31は、垂直同期期間T13において、垂直同期期間T12で作成したコンシール画像をモニタ5に表示させる。また、制御部36は、垂直同期期間T13においても、エラー復帰のために復号部34のリセットを試みるが、図12に示した例では、制御部36は垂直同期期間T13でのエラー復帰に失敗し、復帰通知送信部42は復帰通知を送信しない。
次の垂直同期期間T14において、参照画像決定部14は、垂直同期期間T13と同様に画像データD11を参照画像として決定する。また、符号化部12は、当該参照画像を用いて符号化処理を行うことにより、符号化画像データD14を生成する。また、垂直同期期間T14において、データ送信部13は符号化画像データD14を送信する。
制御部36は、垂直同期期間T14においても、エラー復帰のために復号部34のリセットを試みる。図12に示した例では、制御部36は垂直同期期間T14においてエラー復帰に成功する。また、垂直同期期間T14において、参照画像決定部35は、垂直同期期間T13と同様に画像データD11を参照画像として決定する。そして、復号部34は、当該参照画像を用いて画像データD14の復号処理を開始する。エラー復帰のためのリセットがされ、1ピクチャ(画像データD14)のデコードがエラーなく完了したことにより、復帰通知送信部42は復帰通知受信部22に復帰通知を送信する。
図12に示した例によると、復帰通知受信部22が復帰通知を受信した時点では、エンコーダ2において垂直同期期間T15の処理が開始されている。垂直同期期間T15において、参照画像決定部14は、垂直同期期間T13と同様に画像データD11を参照画像として決定する。また、符号化部12は、当該参照画像を用いて符号化処理を行うことにより、符号化画像データD15を生成する。そして、データ送信部13はデータ受信部32に符号化画像データD15を送信する。
また、復帰通知を送信した垂直同期期間T14の次の垂直同期期間T15において、参照画像決定部35は、垂直同期期間T13と同様に画像データD11を参照画像として決定する。そして、復号部34は、DRAM33から読み出した画像データD11を参照画像として用いて、符号化画像データD15の復号処理を行う。また、表示制御部31は、復号された画像データD15をモニタ5に表示させる。
次の垂直同期期間T16ではエンコーダ2及びデコーダ3は通常状態に戻り、(A)符号化部12はDRAM11から読み出した二つ前の画像データD14を参照画像として用いてPピクチャの符号化画像データD16を生成し、(B)データ送信部13はPピクチャの符号化画像データD16を送信し、(C)復号部34はDRAM33から読み出した二つ前の画像データD14を参照画像として用いてPピクチャの符号化画像データD16を復号し、(D)表示制御部31は復号された画像データD16をモニタ5に表示させる。
このように本実施の形態4に係る画像処理装置1によれば、参照画像決定部14は、エラーが発生した垂直同期期間T12の次の垂直同期期間T13から、復帰通知を受信した垂直同期期間T15までの、複数の垂直同期期間T13〜T15において、エラーが発生した垂直同期期間T12の直前の垂直同期期間T11で生成されたローカルデコード画像(画像データD11)を参照画像として決定する。また、参照画像決定部35は、エラーが発生した垂直同期期間T12の次の垂直同期期間T13から、復帰通知を送信した垂直同期期間T14の次の垂直同期期間T15までの、複数の垂直同期期間T13〜T15において、エラーが発生した垂直同期期間T12の直前の垂直同期期間T11で生成されたデコード画像(画像データD11)を参照画像として決定する。従って、連続する複数の垂直同期期間T12,T13でエラーが発生した場合であっても、エンコーダ2において適切に符号化処理を実行することが可能となり、また、デコーダ3において適切に復号処理を実行することが可能となる。
また、参照画像決定部14は、復帰通知を受信した垂直同期期間T15の次の垂直同期期間T16において通常状態に戻り、二つ前の垂直同期期間T14で生成されたローカルデコード画像(画像データD14)を参照画像として決定する。また、参照画像決定部35は、復帰通知を送信した垂直同期期間T14の二つ後の垂直同期期間T16において通常状態に戻り、二つ前の垂直同期期間T14で生成されたデコード画像(画像データD14)を参照画像として決定する。従って、参照画像が早期に二つ前のローカルデコード画像又はデコード画像に戻されるため、画質の劣化を最小限に抑制することが可能となる。
また、表示制御部31は、エラーが発生した垂直同期期間T12,T13において、所定のコンシール画像を表示させる。従って、コンシール画像が表示される期間が最小限に抑制されるため、映像視認者の違和感を軽減することが可能となる。
<実施の形態5>
本実施の形態5では、上記実施の形態3,4において、フリッカの発生を回避する対策について説明する。
図13〜16は、連続する複数の画像間の参照関係を示す図である。図13に示すように、上記実施の形態3,4では、エラーが発生していない通常状態において、参照画像決定部14,35は、二つ前の垂直同期期間で生成された画像を参照画像として決定する。例えば、画像データD12を生成する際には二つ前の画像データD10が参照画像として用いられ、画像データD13を生成する際には二つ前の画像データD11が参照画像として用いられる。従って、全ての画像データは、偶数番目の画像系列に属する画像データD10,D12,D14,D16と、奇数番目の画像系列に属する画像データD11,D13,D15,D17とに分類される。
ここで、例えば奇数番目の画像系列に属する一つの画像データD13にノイズが発生した場合を考える。この場合、画像データD15は画像データD13を参照し、画像データD17は画像データD15を参照するため、画像データD13に発生したノイズが画像データD15,D17に伝搬する。一方、画像データD14,D16は画像データD13を参照しないため、画像データD13に発生したノイズは画像データD14,D16には伝搬しない。従って、画像データD13,D15,D17の画質と画像データD14,D16の画質との差が大きい場合には、フリッカが発生する可能性がある。
そこで本実施の形態5では、図14に示すように、エラーが発生していない通常状態において、参照画像決定部14,35は、偶数番目の画像系列に関しては二つ前の垂直同期期間で生成された画像を参照画像として決定し、奇数番目の画像系列に関しては三つ前の垂直同期期間で生成された画像を参照画像として決定する。例えば、画像データD12を生成する際には二つ前の画像データD10が参照画像として用いられ、画像データD13を生成する際には三つ前の画像データD10が参照画像として用いられる。
このように本実施の形態5に係る画像処理装置1によれば、復号部34においてエラーが発生していない通常状態では、偶数番目の画像系列に関しては、参照画像決定部14は、二つ前の垂直同期期間で生成されたローカルデコード画像を参照画像として決定し、参照画像決定部35は、二つ前の垂直同期期間で生成されたデコード画像を参照画像として決定する。また、奇数番目の画像系列に関しては、参照画像決定部14は、三つ前の垂直同期期間で生成されたローカルデコード画像を参照画像として決定し、参照画像決定部35は、三つ前の垂直同期期間で生成されたデコード画像を参照画像として決定する。従って、図15に示すように、偶数番目の画像系列に属する特定の画像データD12にノイズが発生した場合には、それ以降の偶数番目の画像系列及び奇数番目の画像系列の双方にノイズが伝搬する。また、図16に示すように、奇数番目の画像系列に属する特定の画像データD13にノイズが発生した場合には、それ以降の偶数番目の画像系列及び奇数番目の画像系列の双方にノイズは伝搬しない。いずれの場合であっても、偶数番目の画像系列及び奇数番目の画像系列の一方のみにノイズが伝搬することはない。従って、フリッカの発生を回避することが可能となる。
なお、偶数番目の画像系列及び奇数番目の画像系列の双方に関して三つ前の画像を参照画像として用いる場合や、二つ前の画像を参照する期間と三つ前の画像を参照する期間とを定期的に混在させる場合であっても、フリッカの発生を回避できる。また、上記実施の形態1,2では直前の画像データが参照されるため、フリッカは発生しない。
<実施の形態6>
本実施の形態6では、上記実施の形態5において、復号部34でエラーが発生した場合の第1の対策について説明する。
図17は、連続する複数の画像間の参照関係を示す図である。エラーが発生していない通常状態では、図14に示したように、参照画像決定部14,35は、偶数番目の画像系列に関しては二つ前の垂直同期期間で生成された画像を参照画像として決定し、奇数番目の画像系列に関しては三つ前の垂直同期期間で生成された画像を参照画像として決定する。
ここで、偶数番目の画像系列に属する特定の画像(図17の例では画像データD12)でエラーが発生した場合には、エラーが発生した垂直同期期間の二つ後の垂直同期期間以降において、偶数番目の画像系列及び奇数番目の画像系列の参照関係を入れ替える。つまり、図17に示すように、エラーが発生した画像データD12の二つ後の画像データD14以降においては、参照画像決定部14,35は、奇数番目の画像系列(D15,D17)に関しては二つ前の垂直同期期間で生成された画像を参照画像として決定し、偶数番目の画像系列(D14,D16)に関しては三つ前の垂直同期期間で生成された画像を参照画像として決定する。
なお、図14に示したエラー発生前の通常状態において、奇数番目の画像系列に属する画像は参照画像として用いられないため、奇数番目の画像系列に属する画像でエラーが発生した場合には、特にエラー処理を行う必要はなく、デコーダ3からエンコーダ2へのエラー通知の送信さえも省略することができる。また、図17に示したエラー発生後の通常状態において、その後に奇数番目の画像系列に属する画像でエラーが発生した場合には、上記と同様に偶数番目の画像系列及び奇数番目の画像系列の参照関係を入れ替えればよい。
このように本実施の形態6に係る画像処理装置1によれば、偶数番目の画像系列に属するある垂直同期期間でエラーが発生した場合には、エラーが発生した垂直同期期間の二つ後の垂直同期期間以降において、奇数番目の画像系列に関しては、参照画像決定部14は、二つ前の垂直同期期間で生成されたローカルデコード画像を参照画像として決定し、参照画像決定部35は、二つ前の垂直同期期間で生成されたデコード画像を参照画像として決定する。また、偶数番目の画像系列に関しては、参照画像決定部14は、三つ前の垂直同期期間で生成されたローカルデコード画像を参照画像として決定し、参照画像決定部35は、三つ前の垂直同期期間で生成されたデコード画像を参照画像として決定する。従って、エラーが発生した画像がそれ以降に参照画像として使用されることがないため、画質の劣化を回避することが可能となる。しかも、エンコーダ2及びデコーダ3においてPピクチャの参照画像を変更するだけでよく、エンコーダ2からデコーダ3にIピクチャを送信する必要がないため、Iピクチャの送信に伴うデータ送信時間の増大を回避できる。その結果、エラー発生からエラー復帰までの遅延時間を短縮することが可能となる。
<実施の形態7>
本実施の形態7では、上記実施の形態5において、復号部34でエラーが発生した場合の第2の対策について説明する。
図18は、連続する複数の画像間の参照関係を示す図である。エラーが発生していない通常状態では、図14に示したように、参照画像決定部14,35は、偶数番目の画像系列に関しては二つ前の垂直同期期間で生成された画像を参照画像として決定し、奇数番目の画像系列に関しては三つ前の垂直同期期間で生成された画像を参照画像として決定する。
ここで、偶数番目の画像系列に属する特定の画像(図18の例では画像データD12)でエラーが発生した場合には、参照画像決定部14,35は、エラーが発生した画像が参照画像として使用されないように参照関係を変更する。つまり、図14に示したように画像データD12は画像データD14,D15によって参照されるため、図18に示したように画像データD14,D15の参照先を画像データD12から画像データD10に変更する。
なお、図14に示したエラー発生前の通常状態において、奇数番目の画像系列に属する画像は参照画像として用いられないため、奇数番目の画像系列に属する画像でエラーが発生した場合には、特にエラー処理を行う必要はなく、デコーダ3からエンコーダ2へのエラー通知の送信さえも省略することができる。
また、上記実施の形態4で説明した復帰通知を本実施の形態7に適用してもよく、この場合は、エンコーダ2がデコーダ3から復帰通知を受信するまで、画像データD13以降の全ての画像データD13〜D17の参照先は画像データD12となる。そして、復帰通知を受信することによって、通常状態の参照関係に戻ることとなる。
このように本実施の形態7に係る画像処理装置1によれば、偶数番目の画像系列に属するある垂直同期期間でエラーが発生した場合には、参照画像決定部14は、エラーが発生した垂直同期期間の二つ後の垂直同期期間、及び、エラーが発生した垂直同期期間の三つ後の垂直同期期間において、エラーが発生した垂直同期期間の二つ前の垂直同期期間で生成されたローカルデコード画像を参照画像として決定する。また、参照画像決定部35は、エラーが発生した垂直同期期間の二つ後の垂直同期期間、及び、エラーが発生した垂直同期期間の三つ後の垂直同期期間において、エラーが発生した垂直同期期間の二つ前の垂直同期期間で生成されたデコード画像を参照画像として決定する。従って、エラーが発生した画像データD12が参照画像として使用されることがないため、画質の劣化を回避することが可能となる。しかも、エンコーダ2及びデコーダ3においてPピクチャの参照画像を変更するだけでよく、エンコーダ2からデコーダ3にIピクチャを送信する必要がないため、Iピクチャの送信に伴うデータ送信時間の増大を回避できる。その結果、エラー発生からエラー復帰までの遅延時間を短縮することが可能となる。
<変形例>
上記実施の形態1では、Iピクチャ符号化部55を実装する代わりに、エンコーダ2の動作周波数を通常の2倍程度に設定するとともに時分割処理を行うことにより、一つの垂直同期期間の前半でPピクチャを生成し、後半でIピクチャを生成する構成としてもよい。Iピクチャ符号化部55の実装を省略できるため、回路規模を削減することができる。
上記実施の形態3では、エラー発生前の通常状態では直前の画像を参照し、エラー発生時に二つ前の画像を参照する構成としてもよい。この場合、直前の画像を参照画像として用いる符号化回路と、二つ前の画像を参照画像として用いる符号化回路とを別個に実装し、エラー発生の有無に応じて両回路を切り替える構成としてもよい。あるいは、動作周波数を通常の2倍程度に設定するとともに時分割処理を行うことにより、一つの垂直同期期間の前半では、直前の画像を参照画像として用いる符号化処理を行い、後半では、二つ前の画像を参照画像として用いる符号化処理を行う構成としてもよい。