(57)【要約】【課題】大容量の記憶領域を必要とせず、画像に応じて画像を符号化する。【解決手段】画像処理部１２は、動画像に画像処理を適用する。画像圧縮部１３は、画像処理された動画像を符号化する。圧縮制御部１６は、動画像の符号化により生成される、所定の単位当たりの符号の量を、画像処理部１２から供給される、動画像の状態を示すか、または動画像に適用された処理を示す画像処理情報に応じた量とさせるように、画像圧縮部１３における動画像の符号化を制御する。本発明はビデオカメラに適用できる。【選択図】図１
2007295370.tif 000002
【特許請求の範囲】
【請求項１】
動画像を生成するか、または動画像を処理する処理手段と、
生成されたかまたは処理された前記動画像を符号化する符号化手段と、
前記動画像の符号化により生成される、所定の単位当たりの符号の量を、前記処理手段から供給される情報であって、前記動画像の状態を示すか、前記動画像の生成の状態を示すか、または前記動画像に適用された処理を示す情報に応じた量とさせるように、前記動画像の符号化を制御する制御手段と
を備える符号化装置。
【請求項２】
前記制御手段は、前記単位当たりの符号の量を、前記動画像を構成するフレームの状態を示すか、前記フレームの生成の状態を示すか、または前記フレームに適用された処理を示す前記情報に応じた量とさせるように、前記動画像の符号化を制御する
請求項１に記載の符号化装置。
【請求項３】
前記制御手段は、前記動画像を構成するフレームにおける、所定の数の画素からなる領域であって、符号化の単位である領域毎の符号の量を、前記情報に応じた量とさせるように、前記動画像の符号化を制御する
請求項１に記載の符号化装置。
【請求項４】
前記制御手段は、前記領域であるマクロブロックの符号化におけるQスケールを指示することによって、前記マクロブロック毎の符号の量を、前記情報に応じた量とさせるように、前記動画像の符号化を制御する
請求項３に記載の符号化装置。
【請求項５】
前記動画像の状態を示すか、前記動画像の生成の状態を示すか、または前記動画像に適用された処理を示す前記情報に応じて、前記動画像の符号化により生成される、GOP（Group of Pictures）当たりの符号の量を指示する指示手段をさらに備え、
前記制御手段は、指示されたGOP当たりの符号の量を基準として、前記情報に応じて前記単位であるマクロブロック当たりの符号の量を変化させるように、前記動画像の符号化を制御する
請求項１に記載の符号化装置。
【請求項６】
前記制御手段は、前記動画像の符号化によりこれから生成される、前記単位当たりの符号の量を、前記符号化手段による符号化によりこれまでに生成された符号の量および前記情報に応じた量とさせるように、前記動画像の符号化を制御する
請求項１に記載の符号化装置。
【請求項７】
前記処理手段は、被写体を撮影することにより、前記画像を生成する
請求項１に記載の符号化装置。
【請求項８】
前記処理手段は、前記動画像に含まれる顔の画像を検出するように前記動画像を処理し、
前記制御手段は、前記単位当たりの符号の量を、検出された顔の画像に応じた量とさせるように、前記動画像の符号化を制御する
請求項１に記載の符号化装置。
【請求項９】
動画像を生成するか、または動画像を処理する処理手段と、生成されたかまたは処理された前記動画像を符号化する符号化手段とを備える符号化装置の符号化方法において、
前記動画像の符号化により生成される、所定の単位当たりの符号の量を、前記処理手段から供給される情報であって、前記動画像の状態を示すか、前記動画像の生成の状態を示すか、または前記動画像に適用された処理を示す情報に応じた量とさせるように、前記動画像の符号化を制御する
ステップを含む符号化方法。
【請求項１０】
動画像を生成するか、または動画像を処理する処理手段と、生成されたかまたは処理された前記動画像を符号化する符号化手段とを備える符号化装置のコンピュータに、
前記動画像の符号化により生成される、所定の単位当たりの符号の量を、前記処理手段から供給される情報であって、前記動画像の状態を示すか、前記動画像の生成の状態を示すか、または前記動画像に適用された処理を示す情報に応じた量とさせるように、前記動画像の符号化を制御する
ステップを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は符号化装置および方法、並びにプログラムに関し、特に、動画像を符号化する符号化装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来より、データ量をより少なくするように画像を符号化する、いわゆる圧縮符号化の技術が広く用いられている。
【０００３】
従来の、カメラで撮影された動画像を圧縮符号化する処理においては、圧縮符号化器自身または圧縮符号化器の内部に設けられた前処理フィルタなどが、動画像の特徴を捉えて、符号化の難易度を割り出して、これに基づいて符号化により生成される符号の量が制御される。
【０００４】
従来、目標情報量制御マイコンが、目標ビットレートによって符号化圧縮装置を制御することにより、符号化圧縮装置の前段に設けられたフィルタ演算器からの動画像データに対して所定の圧縮符号化処理を施し、符号化されたビットストリームを形成し、フィルタ演算器に対してはフィルタ係数を指令して、動画像データを符号化に適した解像度のデータに変換するようにしているものもある（例えば、特許文献１参照）。
【０００５】
【特許文献１】特開２００２−３６９１４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、画像の特徴を圧縮符号化器で捉えるので、画像の特徴が逐次変化し続ける中で、未来の画像のフレームの特徴を事前に知るためには、大容量のメモリを設ける必要があり、画像を何フレームも一旦蓄積しておいて、実際に圧縮符号化するまでの間に、画像の特徴が検出されるようにしていた。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、大容量の記憶領域を必要とせず、画像に応じて画像を符号化することができるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の一側面の符号化装置は、動画像を生成するか、または動画像を処理する処理手段と、生成されたかまたは処理された前記動画像を符号化する符号化手段と、前記動画像の符号化により生成される、所定の単位当たりの符号の量を、前記処理手段から供給される情報であって、前記動画像の状態を示すか、前記動画像の生成の状態を示すか、または前記動画像に適用された処理を示す情報に応じた量とさせるように、前記動画像の符号化を制御する制御手段とを備える。
【０００９】
前記制御手段には、前記単位当たりの符号の量を、前記動画像を構成するフレームの状態を示すか、前記フレームの生成の状態を示すか、または前記フレームに適用された処理を示す前記情報に応じた量とさせるように、前記動画像の符号化を制御させることができる。
【００１０】
前記制御手段には、前記動画像を構成するフレームにおける、所定の数の画素からなる領域であって、符号化の単位である領域毎の符号の量を、前記情報に応じた量とさせるように、前記動画像の符号化を制御させることができる。
【００１１】
前記制御手段には、前記領域であるマクロブロックの符号化におけるQスケールを指示することによって、前記マクロブロック毎の符号の量を、前記情報に応じた量とさせるように、前記動画像の符号化を制御させることができる。
【００１２】
前記動画像の状態を示すか、前記動画像の生成の状態を示すか、または前記動画像に適用された処理を示す前記情報に応じて、前記動画像の符号化により生成される、GOP（Group of Pictures）当たりの符号の量を指示する指示手段をさらに設け、前記制御手段には、指示されたGOP当たりの符号の量を基準として、前記情報に応じて前記単位であるマクロブロック当たりの符号の量を変化させるように、前記動画像の符号化を制御させることができる。
【００１３】
前記制御手段には、前記動画像の符号化によりこれから生成される、前記単位当たりの符号の量を、前記符号化手段による符号化によりこれまでに生成された符号の量および前記情報に応じた量とさせるように、前記動画像の符号化を制御させることができる。
【００１４】
前記処理手段には、被写体を撮影することにより、前記画像を生成させることができる。
【００１５】
前記処理手段には、前記動画像に含まれる顔の画像を検出するように前記動画像を処理させ、前記制御手段には、前記単位当たりの符号の量を、検出された顔の画像に応じた量とさせるように、前記動画像の符号化を制御させることができる。
【００１６】
本発明の一側面の符号化方法は、動画像を生成するか、または動画像を処理する処理手段と、生成されたかまたは処理された前記動画像を符号化する符号化手段とを備える符号化装置の符号化方法であって、前記動画像の符号化により生成される、所定の単位当たりの符号の量を、前記処理手段から供給される情報であって、前記動画像の状態を示すか、前記動画像の生成の状態を示すか、または前記動画像に適用された処理を示す情報に応じた量とさせるように、前記動画像の符号化を制御するステップを含む。
【００１７】
本発明の一側面のプログラムは、動画像を生成するか、または動画像を処理する処理手段と、生成されたかまたは処理された前記動画像を符号化する符号化手段とを備える符号化装置のコンピュータに、前記動画像の符号化により生成される、所定の単位当たりの符号の量を、前記処理手段から供給される情報であって、前記動画像の状態を示すか、前記動画像の生成の状態を示すか、または前記動画像に適用された処理を示す情報に応じた量とさせるように、前記動画像の符号化を制御するステップを実行させる。
【００１８】
本発明の一側面の符号化装置においては、動画像が生成されるか、または動画像が処理され、生成されたかまたは処理された前記動画像が符号化され、前記動画像の符号化により生成される、所定の単位当たりの符号の量を、前記動画像の生成または処理において生成される情報であって、前記動画像の状態を示すか、前記動画像の生成の状態を示すか、または前記動画像に適用された処理を示す情報に応じた量とさせるように、前記動画像の符号化が制御される。
【００１９】
本発明の一側面の符号化方法またはプログラムにおいては、動画像の符号化により生成される、所定の単位当たりの符号の量を、処理手段から供給される情報であって、前記動画像の状態を示すか、前記動画像の生成の状態を示すか、または前記動画像に適用された処理を示す情報に応じた量とさせるように、前記動画像の符号化が制御される。
【発明の効果】
【００２０】
以上のように、本発明の一側面によれば、動画像を符号化することができる。
【００２１】
また、本発明の一側面によれば、大容量の記憶領域を必要とせず、画像に応じて画像を符号化することができる。
【発明を実施するための最良の形態】
【００２２】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２３】
本発明の一側面の符号化装置は、動画像を生成するか、または動画像を処理する処理手段（例えば、図１の画像処理部１２）と、生成されたかまたは処理された前記動画像を符号化する符号化手段（例えば、図１の画像圧縮部１３）と、前記動画像の符号化により生成される、所定の単位当たりの符号の量を、前記処理手段から供給される情報であって、前記動画像の状態を示すか、前記動画像の生成の状態を示すか、または前記動画像に適用された処理を示す情報に応じた量とさせるように、前記動画像の符号化を制御する制御手段（例えば、図１の圧縮制御部１６）とを備える。
【００２４】
前記動画像の状態を示すか、前記動画像の生成の状態を示すか、または前記動画像に適用された処理を示す前記情報に応じて、前記動画像の符号化により生成される、GOP（Group of Pictures）当たりの符号の量を指示する指示手段（例えば、図１のシステム制御部１８）をさらに設け、前記制御手段には、指示されたGOP当たりの符号の量を基準として、前記情報に応じて前記単位であるマクロブロック当たりの符号の量を変化させるように、前記動画像の符号化を制御させることができる。
【００２５】
本発明の一側面の符号化方法またはプログラムにおいては、動画像の符号化により生成される、所定の単位当たりの符号の量を、処理手段から供給される情報であって、前記動画像の状態を示すか、前記動画像の生成の状態を示すか、または前記動画像に適用された処理を示す情報に応じた量とさせるように、前記動画像の符号化が制御される（例えば、図２４のステップＳ１８３）。
【００２６】
図１は、本発明の一実施の形態の符号化装置の構成を示すブロック図である。符号化装置は、例えば、デジタルビデオカメラとして構成される。符号化装置は、撮影部１１、画像処理部１２、画像圧縮部１３、書込部１４、記録媒体１５、圧縮制御部１６、書込制御部１７、システム制御部１８、および操作キー１９から構成される。符号化装置には、必要に応じて、リムーバブルメディア２１が着脱自在に装着されるドライブ２０を接続することができる。
【００２７】
撮影部１１は、被写体を撮影して、撮影した被写体の画像の画像データを画像処理部１２に供給する。また、撮影部１１は、被写体の撮影の状態を示すか、または画像の内容を示す撮影情報をシステム制御部１８に供給する。
【００２８】
画像処理部１２は、撮影部１１から供給された画像データに各種の画像処理を適用する。画像処理部１２は、画像処理を適用した画像データを画像圧縮部１３に供給する。また、画像処理部１２は、画像データに適用した画像処理を示すか、または画像の内容を示す画像処理情報をシステム制御部１８に供給する。
【００２９】
画像圧縮部１３は、圧縮制御部１６から供給される量子化指示情報を基に、画像処理部１２から供給された画像データを、所定の符号化方式で符号化する。例えば、画像圧縮部１３は、MPEG（Moving Pictures Experts Group）２方式で画像データを符号化する。なお、量子化指示情報は、画像データの所定の単位を符号化することで生成される符号の量を指示する情報である。例えば、量子化指示情報は、画像データのマクロブロックに対するQスケールである。
【００３０】
画像圧縮部１３は、符号化により得られた符号からなるストリームを書込部１４に供給する。また、画像圧縮部１３は、画像データの所定の単位を符号化したことで生成された符号の量を示す情報である量子化情報を圧縮制御部１６に供給する。例えば、量子化情報は、画像データのマクロブロックを符号化するときに用いたQスケールと生成された符号の量（以下、符号量と称する）である。
【００３１】
書込部１４は、書込制御部１７の制御の基に、ストリームを記録媒体１５に書き込む。記録媒体１５は、例えば、光ディスクなどからなり、ストリームとして書き込まれた画像データを記録する。なお、記録媒体１５は、画像データを記録できるものであればよく、例えば、ハードディスクまたは不揮発性の半導体メモリなどであってもよい。
【００３２】
圧縮制御部１６は、組込型の汎用のマイクロコンピュータまたは専用のシステムコントローラなどから構成される。圧縮制御部１６は、システム制御部１８から供給されるレート制御情報を基に、量子化指示情報を画像圧縮部１３に供給することにより、画像圧縮部１３の符号化を制御する。圧縮制御部１６は、画像圧縮部１３から量子化情報を取得する。
【００３３】
レート制御情報は、画像圧縮部１３における画像データの符号化を制御するための情報である。例えば、レート制御情報は、撮影情報および画像処理情報と、量子化指示情報において符号の量を指示する符号化の単位より大きい単位を符号化することで生成される符号の量を指示する情報とからなる。より具体的には、例えば、レート制御情報は、撮影情報および画像処理情報と、画像データのGOP（Group of Pictures）のビットレートを指示する情報とからなる。
【００３４】
さらに、圧縮制御部１６は、システム制御部１８に量子化情報を供給する。圧縮制御部１６からシステム制御部１８に供給される量子化情報は、画像圧縮部１３から圧縮制御部１６に供給される量子化情報と同じであってもよいが、さらに、画像データのより大きい単位を符号化したことで生成された符号の量を示す情報を含むようにしてもよい。
【００３５】
書込制御部１７は、システム制御部１８の制御に基づいて、書込部１４の記録媒体１５へのストリームの書き込みを制御する。
【００３６】
システム制御部１８は、組込型の汎用のマイクロコンピュータまたは専用のシステムコントローラなどから構成される。システム制御部１８は、圧縮制御部１６および書込制御部１７を制御して、画像データの圧縮および記録媒体１５への画像データの記録の全体を制御する。システム制御部１８は、使用者の操作に応じた操作キー１９からの信号を基に、撮影部１１から撮影情報を入力し、画像処理部１２から画像処理情報を入力し、圧縮制御部１６から量子化情報を取得して、撮影情報、画像処理情報、および量子化情報を基に、レート制御情報を圧縮制御部１６に供給する。
【００３７】
符号化装置に接続されたドライブ２０は、装着されている光ディスク、HDD（Hard Disk Drive）、または半導体メモリなどのリムーバブルメディア２１から、記録されているプログラムを読み出して、読み出したプログラムを撮影部１１、画像処理部１２、画像圧縮部１３、圧縮制御部１６、またはシステム制御部１８に供給する。
【００３８】
図２および図３は、撮影情報、画像処理情報、レート制御情報、量子化情報、および量子化指示情報の具体例を説明する図である。
【００３９】
撮影部１１は、撮影情報の一例であるカメラ動きベクトルをシステム制御部１８に供給する。カメラ動きベクトルは、撮影部１１の動きを示すベクトルである。
【００４０】
また、撮影部１１は、撮影情報の一例としての顔情報をシステム制御部１８に供給する。
【００４１】
画像処理部１２は、画像処理情報の一例である顔情報、フィルタ情報、エフェクト情報をシステム制御部１８に供給する。
【００４２】
ここで、顔情報は、画像データで示される画像に含まれる顔の画像に関する情報である。例えば、顔情報は、画像データで示される画像における、顔の画像の位置または大きさを示す。以下、顔の画像を、単に顔画像とも称する。
【００４３】
フィルタ情報は、画像処理部１２において画像に適用された画像処理であるフィルタリングの処理に関する情報である。例えば、フィルタ情報は、フィルタリングの処理を具体的に特定する情報であるフィルタIDを含む。
【００４４】
エフェクト情報は、画像処理部１２において画像に適用された画像処理であるエフェクトの処理に関する情報である。例えば、エフェクト情報は、エフェクトの処理を具体的に特定する情報であるエフェクトIDを含む。
【００４５】
圧縮制御部１６からシステム制御部１８に供給される量子化情報は、Qスケールおよびフレームビットレートからなる。フレームビットレートは、画像データのフレームを符号化したことで生成された符号の量を示す。
【００４６】
システム制御部１８は、カメラ動きベクトル、顔情報、フィルタ情報、エフェクト情報、Qスケール、およびフレームビットレートから、画像データのGOPを符号化するとき生成される符号の量を指示するGOPビットレートを算出する。
【００４７】
システム制御部１８から圧縮制御部１６に供給されるレート制御情報は、例えば、カメラ動きベクトル、顔情報、フィルタ情報、エフェクト情報、およびGOPビットレートを含む。
【００４８】
この場合、例えば、圧縮制御部１６から画像圧縮部１３に供給される量子化指示情報は、画像データのマクロブロックであって、これから符号化しようとするマクロブロックに対するQスケールとされる。また、例えば、画像圧縮部１３から圧縮制御部１６に供給される量子化情報は、画像データの既に符号化されたマクロブロックについて、そのマクロブロックを符号化するときに用いたQスケールと生成された符号量とされる。
【００４９】
このように、撮影部１１または画像処理部１２からの情報に応じて、画像圧縮部１３における符号化が制御される。
【００５０】
次に、図４を参照して、撮影部１１の構成の例を説明する。撮影部１１は、光学系３１、イメージャ３２、A/D（Analog to Digital）変換部３３、カメラ信号処理部３４、オートフォーカス検波部３５、自動露出検波部３６、オートホワイトバランス検波部３７、画像情報検出部３８、ズーミング制御部３９、角速度センサ４０、手ぶれ検知部４１、および撮影制御部４２から構成される。
【００５１】
光学系３１は、対物レンズ、ズームレンズ、フォーカスレンズ、および絞りなどからなり、被写体の光学的な像をイメージャ３２の光電変換部に結像させる。イメージャ３２は、CCD（Charge Coupled Devices）イメージセンサまたはCMOS（Complementary Metal Oxide Semiconductor）イメージセンサなどからなる。イメージャ３２は、その光電変換部に結像させられた光学的な像をアナログの電気信号に変換する。イメージャ３２は、画像の電気信号をA/D変換部３３に供給する。
【００５２】
A/D変換部３３は、イメージャ３２から供給されたアナログの電気信号をデジタルの電気信号に変換する。A/D変換部３３は、変換により得られたデジタルの電気信号をカメラ信号処理部３４に供給することで、画像データをカメラ信号処理部３４に供給する。
【００５３】
カメラ信号処理部３４は、撮影制御部４２の制御の基に、ノイズ除去またはホワイトバランスなどの各種の信号処理を画像データに適用する。カメラ信号処理部３４は、各種の信号処理を適用した画像データを出力する。
【００５４】
オートフォーカス検波部３５は、光学系３１からの信号またはイメージャ３２からの信号を基に、光学系３１による被写体への合焦の状態（合焦の程度）を検出して、合焦の状態を示す情報であるAFデータを撮影制御部４２に供給する。
【００５５】
自動露出検波部３６は、光学系３１からの信号またはイメージャ３２からの信号を基に、光学系３１に入射した光の量、絞り、およびイメージャ３２に入射した光の量、すなわち、いわゆる露出の状態を検出して、露出の状態を示す情報であるAEデータを撮影制御部４２に供給する。
【００５６】
オートホワイトバランス検波部３７は、カメラ信号処理部３４からの信号を基に、カメラ信号処理部３４において画像データに適用されたホワイトバランスの処理の内容、すなわち、各色のバランスの補正の程度を検出して、ホワイトバランスの処理の内容を示す情報であるAWBデータを撮影制御部４２に供給する。
【００５７】
画像情報検出部３８は、撮影された画像に関する情報を検出し、検出した情報を撮影制御部４２に供給する。例えば、画像情報検出部３８は、カメラ信号処理部３４から画像データを取得して、その画像データを処理することによって、撮影された画像に含まれる顔の画像の位置および大きさなどを検出する。この場合、画像情報検出部３８は、顔情報を撮影制御部４２に供給する。
【００５８】
ズーミング制御部３９は、撮影制御部４２の制御の基に、光学系３１のズームレンズの位置を制御することにより、光学系３１における、いわゆるズーミングを制御する。ズーミング制御部３９は、ズーミングの速度を示すズーミング速度データを撮影制御部４２に供給する。
【００５９】
角速度センサ４０は、撮影部１１の光軸に対し、被写体の横方向および縦方向に対応する角度について、撮影部１１の角速度を検出し、検出した角速度を示す信号を手ぶれ検知部４１に供給する。例えば、角速度センサ４０は、角加速度を検出することによって、角加速度から角速度を検出する。
【００６０】
手ぶれ検知部４１は、角速度センサ４０から供給された信号から、いわゆる手ぶれを検知して、検知した結果を示す情報であるカメラ動きベクトルを撮影制御部４２に供給する。カメラ動きベクトルは、例えば、撮影している画像の隣接するフレームの動きをｘ座標値およびｙ座標値で示す。
【００６１】
撮影制御部４２は、撮影部１１全体を制御する。また、撮影制御部４２は、撮影の状態を示すか、または撮影した画像の内容を示す撮影情報を出力する。例えば、撮影制御部４２は、AFデータ、AEデータ、AWBデータ、ズーミング速度データ、カメラ動きベクトル、または顔情報を含む撮影情報を出力する。
【００６２】
次に、画像処理部１２について説明する。
【００６３】
図５は、画像処理部１２の構成の例を示すブロック図である。図５に例示される画像処理部１２は、ノイズ除去器６１、フレームメモリ６２、拡大縮小器６３、信号変換器６４、画像情報検出器６５、サムネイル画像生成器６６、画像合成器６７、フレームメモリ６８、および画像処理制御部６９から構成される。
【００６４】
ノイズ除去器６１は、画像処理制御部６９の制御の基に、画像データから雑音成分を除去する。例えば、ノイズ除去器６１は、供給された画像データを、フレームを単位として一時的にフレームメモリ６２に記憶させる。ノイズ除去器６１は、フレーム毎にフレームメモリ６２に記憶されている画像データから雑音成分を除去する。
【００６５】
より具体的には、ノイズ除去器６１は、フレームメモリ６２に記憶している、ノイズ除去の処理の対象であるフレームと、その前のフレームとを比較することにより、処理の対象であるフレームから雑音成分を検出する。ノイズ除去器６１は、処理の対象であるフレームから検出した雑音成分を除去する。ノイズ除去器６１は、雑音成分を除去したフレームをフレームメモリ６２に記憶させる。
【００６６】
さらに、ノイズ除去器６１は、フレームメモリ６２に記憶している雑音成分を除去したフレームと、フレームメモリ６２に記憶している次のフレームである、次のノイズ除去の処理の対象であるフレームとを比較することにより、次のノイズ除去の処理の対象であるフレームから雑音成分を検出する。そして、ノイズ除去器６１は、検出した雑音成分をそのフレームから除去する。ノイズ除去器６１は、雑音成分を除去した、次のノイズ除去の処理の対象であるフレームをフレームメモリ６２に記憶させる。
【００６７】
ノイズ除去器６１は、このような処理をフレーム毎に繰り返すことにより、画像データから雑音成分を除去する。
【００６８】
ノイズ除去器６１は、雑音成分を除去した画像データを拡大縮小器６３に供給する。ノイズ除去器６１は、雑音成分の除去の処理を示す情報を画像処理制御部６９に供給する。なお、ノイズを除去する必要がない場合、ノイズ除去器６１は、そのまま画像データを拡大縮小器６３に供給する。
【００６９】
拡大縮小器６３は、画像処理制御部６９の制御の基に、画像を拡大するかまたは画像を縮小する処理を画像データに適用する。例えば、拡大縮小器６３は、画素を補間することにより画像を拡大するか、または画素を間引きすることにより画像を縮小する。
【００７０】
拡大縮小器６３は、拡大するか縮小するかした画像の画像データを信号変換器６４に供給する。なお、画像を拡大するかまたは縮小する必要がない場合、拡大縮小器６３は、そのまま画像データを信号変換器６４に供給する。
【００７１】
拡大縮小器６３は、画像の拡大または縮小の処理を示す情報を画像処理制御部６９に供給する。
【００７２】
信号変換器６４は、画像処理制御部６９の制御の基に、拡大縮小器６３から供給された画像データに、フィルタリングの処理またはエフェクトの処理など各種の信号変換の処理を適用する。例えば、信号変換器６４は、画像を、セピア画像に変換したり、モノクロ画像に変換したりする処理や、ネガポジを反転させる処理、モザイク処理、またはぼかし処理を画像データに適用する。例えば、信号変換器６４は、ローパスフィルタに相当するフィルタリングの処理を画像データに適用する。
【００７３】
信号変換器６４は、このような信号変換の処理が適用された画像データを画像情報検出器６５に供給する。
【００７４】
なお、信号変換の処理が必要とされない場合、信号変換器６４は、拡大縮小器６３から供給された画像データをそのまま画像情報検出器６５に供給する。
【００７５】
信号変換器６４は、画像データに適用した信号処理を示す情報を画像処理制御部６９に供給する。
【００７６】
画像情報検出器６５は、画像処理制御部６９の制御の基に、信号変換器６４から供給された画像データから、画像についての各種の情報を検出する。例えば、画像情報検出器６５は、画像に含まれる顔の画像を検出し、顔の画像の位置および大きさを検出したり、画像に含まれる文字を検出したりする。
【００７７】
画像情報検出器６５は、検出の結果を示す情報を画像処理制御部６９に供給する。また、画像情報検出器６５は、画像データをサムネイル画像生成器６６に供給する。
【００７８】
サムネイル画像生成器６６は、画像処理制御部６９の制御の基に、画像情報検出器６５から供給された画像データから、縮小した画像であるサムネイル画像を生成する。例えば、サムネイル画像生成器６６は、画像データで示される画像の全体を縮小したサムネイル画像を生成する。また、例えば、サムネイル画像生成器６６は、画像情報検出器６５において検出された顔の画像を縮小したサムネイル画像を生成する。
【００７９】
サムネイル画像生成器６６は、生成したサムネイル画像の画像データを、元の画像データと共に画像合成器６７に供給する。または、サムネイル画像生成器６６は、生成したサムネイル画像の画像データを、画像処理制御部６９に供給する。
【００８０】
画像合成器６７は、画像処理制御部６９の制御の基に、サムネイル画像生成器６６から供給された元の画像データで示される画像と、フレームメモリ６８に予め記憶されている画像データで示されるグラフィック画像とを合成する。例えば、画像合成器６７は、サムネイル画像生成器６６から供給された元の画像データと、フレームメモリ６８に予め記憶されている画像データとに、αブレンディングの処理を適用することにより、サムネイル画像生成器６６から供給された元の画像データで示される画像と、フレームメモリ６８に予め記憶されている画像データで示されるグラフィック画像とを透過合成する。また、例えば、画像合成器６７は、サムネイル画像生成器６６から供給された元の画像データで示される画像に対して、フレームメモリ６８に予め記憶されている画像データで示されるグラフィック画像をフェードインまたはフェードアウトさせるように、画像を合成する。
【００８１】
なお、画像を合成する必要がない場合、画像合成器６７は、サムネイル画像生成器６６から供給された元の画像データをそのまま出力する。
【００８２】
画像処理制御部６９は、ノイズ除去器６１、拡大縮小器６３、信号変換器６４、または画像情報検出器６５から供給された信号から、画像に適用された処理または画像の内容を示す画像処理情報を生成して、生成した画像処理情報を出力する。
【００８３】
例えば、画像処理制御部６９は、雑音成分の除去の処理を示す情報、画像の拡大または縮小の処理を示す情報、フィルタリングの処理またはエフェクトの処理など各種の信号処理を示す情報、または画像についての各種の情報を含む画像処理情報を出力する。より具体的には、例えば、画像処理制御部６９は、画像データに適用したエフェクトを適用するエフェクトIDとそのエフェクトに関する情報、または画像データに適用したフィルタを特定するフィルタIDとそのフィルタに関する情報を含む画像処理情報を出力する。
【００８４】
このように、画像処理部１２は、画像に適用した画像処理を示すか、または画像の内容を示す画像処理情報を出力する。
【００８５】
次に、図６のブロック図を参照して、画像圧縮部１３の構成の例について説明する。
【００８６】
画像圧縮部１３は、例えば、前処理部８１および符号化部８２から構成される。前処理部８１は、符号化部８２における符号化に適するように画像データを変換するとともに、符号化部８２における符号化に必要な画像の情報を画像から抽出する。
【００８７】
符号化部８２は、前処理部８１において変換された画像データを、前処理部８１において抽出された情報を用いて、所定の符号化方式で符号化する。
【００８８】
前処理部８１は、前処理器９１、フレームメモリ９２、および動きベクトル検出器９３から構成される。前処理器９１は、画像データに、解像度変換処理、すなわち周波数特性変換処理を適用するとともに、画素数変換処理、すなわち、標本化数変換処理を適用する。前処理器９１は、解像度変換し、画素数変換した画像データをフレームメモリ９２に供給する。
【００８９】
フレームメモリ９２は、前処理器９１から供給された画像データをフレームを単位として一時的に記憶し、記憶している画像データを符号化部８２に供給する。この場合、フレームメモリ９２は、Iピクチャ、Bピクチャ、またはPピクチャのいずれかのピクチャタイプによって、フレームを並び替えて、並び替えたピクチャの順で画像データを符号化部８２に供給する。
【００９０】
また、フレームメモリ９２は、記憶している画像データを動きベクトル検出器９３が読み出しできるように構成されている。
【００９１】
動きベクトル検出器９３は、フレームメモリ９２に記憶されている画像データから、動きベクトルを検出して、検出した動きベクトルを符号化部８２に供給する。例えば、動きベクトル検出器９３は、ブロックマッチングにより動きベクトルを検出する。
【００９２】
符号化部８２は、減算器９４、DCT（Discrete Cosine Transform）器９５、量子化器９６、可変長符号化器９７、バッファ９８、量子化制御器９９、逆量子化器１００、逆DCT器１０１、加算器１０２、フレームメモリ１０３、動き補償器１０４、およびスイッチ１０５から構成される。
【００９３】
減算器９４は、前処理部８１から供給された画像データのフレームから、スイッチ１０５を介して動き補償器１０４から供給された、動き補償されたフレームを減算して、減算した結果をDCT器９５に供給するか、また、前処理部８１から供給された画像データのフレームをそのままDCT器９５に供給する。
【００９４】
DCT器９５は、減算器９４から供給されたデータに離散コサイン変換の処理を適用する。DCT器９５は、離散コサイン変換の処理の結果得られたDCT符号を量子化器９６に供給する。量子化器９６は、量子化制御器９９によるレート制御の基に、DCT器９５から供給されたDCT符号を量子化する。すなわち、量子化器９６は、量子化制御器９９から指示されたQスケールで、DCT符号を量子化する。
【００９５】
量子化器９６は、量子化されたDCT符号を可変長符号化器９７および逆量子化器１００に供給する。
【００９６】
可変長符号化器９７は、量子化されたDCT符号をさらに、可変長符号化して、その結果得られた符号をバッファ９８に供給する。バッファ９８は、可変長符号化器９７から供給された符号を一時的に記憶して、記憶している符号をストリームとして出力する。
【００９７】
量子化制御器９９は、バッファ９８に記憶されている符号のデータ量および量子化指示情報を基に、量子化されたDCT符号のデータ量が適切になるように、量子化器９６におけるDCT符号の量子化を制御する。すなわち、量子化制御器９９は、バッファ９８に記憶されている符号のデータ量および量子化指示情報を基に、量子化されたDCT符号のデータ量を適切にする、Qスケールを量子化器９６に供給する。
【００９８】
また、量子化制御器９９は、量子化器９６に供給したQスケールと生成された符号量を量子化情報として出力する。
【００９９】
一方、逆量子化器１００は、量子化器９６における量子化の処理の逆の処理である逆量子化の処理を、量子化器９６において量子化されたDCT符号に適用する。そして、逆DCT器１０１は、逆量子化器１００において逆量子化により得られたDCT符号に、DCT器９５における離散コサイン変換の処理の逆の処理である逆離散コサイン変換の処理を適用して、画像データのフレームを復号する。逆DCT器１０１は、復号の結果得られたフレームを加算器１０２に供給する。
【０１００】
加算器１０２は、動き補償器１０４から供給された、動き補償されたフレームと、逆DCT器１０１における復号の結果得られたフレームとを加算して、加算の結果得られたフレームをフレームメモリ１０３に供給する。
【０１０１】
フレームメモリ１０３は、加算器１０２から供給されたフレームを記憶する。動き補償器１０４は、フレームメモリ１０３に記憶されているフレームを、前処理部８１から供給された動きベクトルに応じて動き補償し、動き補償したフレームをスイッチ１０５および加算器１０２に供給する。
【０１０２】
スイッチ１０５は、減算器９４に、動き補償されたフレームを供給するか、供給しないかを切り替える。すなわち、符号化しようとするフレームが、他のフレームを参照しないで符号化する場合、スイッチ１０５は、図中の接点ｂ側と減算器９４の入力端とを接続するように切り替えられる。この場合、減算器９４に、動き補償されたフレームが供給されず、減算器９４は、前処理部８１から供給されたフレームをそのままDCT器９５に供給する。
【０１０３】
一方、符号化しようとするフレームが、他のフレームを参照して符号化する場合、スイッチ１０５は、図中の接点ａ側と減算器９４の入力端とを接続するように切り替えられる。この場合、減算器９４に、動き補償されたフレームが供給される。この場合、前処理部８１から供給されたフレームから動き補償されたフレームを引き算した結果が、DCT器９５に供給される。
【０１０４】
このように、画像圧縮部１３は、量子化指示情報に応じた所定のデータ量のストリームを生成し、出力する。
【０１０５】
図７は、フレームについて撮影情報または画像処理情報が得られる時刻と、そのフレームを符号化する時刻との時間差の例を説明する図である。
【０１０６】
なお、図７の横方向は、時間を示す。
【０１０７】
図７において、上から順に、撮影部１１において撮影されるフレームの順序、画像処理部１２において画像処理されるフレームの順序、画像圧縮部１３の前処理器９１において前処理されるフレームの順序、動きベクトル検出器９３において動きの検出の対象となるフレームの順序、および符号化部８２において符号化の対象となるフレームの順序が示されている。
【０１０８】
図７で示される例において、撮影部１１は、フレームP14、フレームB0、フレームB1、フレームI2、フレームB3、フレームB4、フレームP5、フレームB6、フレームB7、フレームP8、フレームB9、フレームB10、フレームP11、フレームB12、フレームB13、フレームP14、・・・を、順に撮影する。撮影部１１は、撮影した順にフレームを画像処理部１２に供給する。
【０１０９】
なお、１つのGOPは、フレームB0乃至フレームP14の１５のフレームから構成される。
【０１１０】
画像処理部１２は、撮影部１１から供給されるフレームを順に画像処理するので、撮影部１１に対して１つのフレームの期間だけ遅れて、フレームP14、フレームB0、フレームB1、フレームI2、フレームB3、・・・を、順に画像処理する。
【０１１１】
画像圧縮部１３の前処理器９１は、画像処理部１２から供給されるフレームを順に前処理するので、画像処理部１２に対して１つのフレームの期間だけ遅れて、フレームP14、フレームB0、フレームB1、フレームI2、フレームB3、・・・を、順に画像処理する。
【０１１２】
前処理器９１において前処理されて、フレームメモリ９２に記憶されたフレームは、符号化部８２における符号化される順序に並び替えられる。すなわち、フレームB0、フレームB1、フレームI2、フレームB3、フレームB4、フレームP5、フレームB6、フレームB7、フレームP8、フレームB9、フレームB10、フレームP11、フレームB12、フレームB13、およびフレームP14は、フレームI2、フレームB0、フレームB1、フレームP5、フレームB3、フレームB4、フレームP8、フレームB6、フレームB7、フレームP11、フレームB9、フレームB10、フレームP14、フレームB12、フレームB13の順に並び替えられる。
【０１１３】
なお、図７中において、B0(I2)は、フレームB0が自分より後のフレームI2から予測されることを示し、(I2)P5は、フレームP5が自分より前のフレームI2から予測されることを示し、(I2)B3(P5)は、フレームB3が自分より前のフレームI2と自分より後のフレームP5とから予測されることを示す。すなわち、フレームB0は、フレームB0と自分より後のフレームI2との差分から符号化され、フレームP5は、フレームP5と自分より前のフレームI2との差分から符号化され、フレームB3は、フレームB3と、自分より前のフレームI2および自分より後のフレームP5との差分から符号化される。
【０１１４】
動きベクトル検出器９３は、前処理器９１に対して３つのフレームの期間だけ遅れて、並び替えられたフレームから動きベクトルを検出する。
【０１１５】
符号化部８２は、動きベクトル検出器９３に対して１つのフレームの期間だけ遅れて、並び替えられたフレームを符号化する。
【０１１６】
撮影部１１においてフレームI2が撮影される時刻と、符号化部８２においてフレームI2が符号化される時刻とを比較すると、符号化部８２は、撮影部１１における撮影に対して４つのフレームの期間だけ後に、フレームI2を符号化する。
【０１１７】
また、撮影部１１においてフレームP5が撮影される時刻と、符号化部８２においてフレームP5が符号化される時刻とを比較すると、符号化部８２は、撮影部１１における撮影に対して４つのフレームの期間だけ後に、フレームP5を符号化する。
【０１１８】
さらに、撮影部１１においてフレームB0が撮影される時刻と、符号化部８２においてフレームB0が符号化される時刻とを比較すると、符号化部８２は、撮影部１１における撮影に対して７つのフレームの期間だけ後に、フレームB0を符号化する。
【０１１９】
同様に、画像処理部１２においてフレームI2が画像処理される時刻と、符号化部８２においてフレームI2が符号化される時刻とを比較すると、符号化部８２は、画像処理部１２における画像処理に対して３つのフレームの期間だけ後に、フレームI2を符号化する。
【０１２０】
また、画像処理部１２においてフレームP5が画像処理される時刻と、符号化部８２においてフレームP5が符号化される時刻とを比較すると、符号化部８２は、画像処理部１２における画像処理に対して３つのフレームの期間だけ後に、フレームP5を符号化する。
【０１２１】
さらに、画像処理部１２においてフレームB0が画像処理される時刻と、符号化部８２においてフレームB0が符号化される時刻とを比較すると、符号化部８２は、画像処理部１２における画像処理に対して６つのフレームの期間だけ後に、フレームB0を符号化する。
【０１２２】
図７に示す例において、符号化部８２において符号化されるフレームは、少なくとも、４つのフレームの期間だけ前に、撮影部１１において撮影される。
【０１２３】
また、図７に示す例において、符号化部８２において符号化されるフレームは、少なくとも、３つのフレームの期間だけ前に、画像処理部１２において画像処理される。
【０１２４】
このように、画像圧縮部１３において符号化しようとするフレームについての、撮影情報または画像処理情報は、画像圧縮部１３における符号化の処理の前に得られる。
【０１２５】
そこで、撮影情報または画像処理情報を用いて画像圧縮部１３における画像データの符号化を制御することで、画像データをより適切に符号化することができるようになる。
【０１２６】
例えば、AFデータ、AEデータ、AWBデータ、ズーミング速度データ、カメラ動きベクトル、若しくは顔情報を含む撮影情報、または雑音成分の除去の処理を示す情報、画像の拡大または縮小の処理を示す情報、フィルタリングの処理若しくはエフェクトの処理など各種の信号処理を示す情報、若しくは顔情報などの画像についての各種の情報を含む画像処理情報により、画像圧縮部１３における画像データの符号化が制御される。
【０１２７】
以下、撮影情報または画像処理情報を基にした、画像データの符号化の制御の具体例として、撮影情報の一例であるカメラ動きベクトル、画像処理情報の一例であるフィルタIDまたはエフェクトID、および撮影情報または画像処理情報の一例である顔情報を基にした、画像データの符号化の制御についてより詳細に説明する。
【０１２８】
ここで、圧縮制御部１６に配置され、レート制御情報、量子化情報、または量子化指示情報などが格納される各種のテーブルについて説明する。
【０１２９】
図８は、圧縮制御部１６に配置され、量子化情報が格納される量子化情報テーブルの例を示す図である。例えば、量子化情報テーブルは、既に符号化したフレームのそれぞれについて、フレームを符号化したことで生成された符号の量を示すフレームビットレートを配置したテーブルと、既に符号化したマクロブロックのそれぞれについて、マクロブロックを符号化するときに用いたQスケールを配置したテーブルであって、フレーム毎のテーブルとからなる。
【０１３０】
図８の左側には、フレームビットレートを配置したテーブルの例が示されている。このテーブルにおいて、フレームのそれぞれについて、そのフレームを特定するフレーム番号と、そのフレームにおけるフレームビットレートとが対応して配置されている。すなわち、例えば、nnnであるフレーム番号に対応して、ＮＮＮであるフレームビットレートが配置され、mmmであるフレーム番号に対応して、ＭＭＭであるフレームビットレートが配置され、oooであるフレーム番号に対応して、OOOであるフレームビットレートが配置されている。
【０１３１】
図８の右側には、Qスケールを配置したテーブルの例が示されている。上側のQスケールを配置したテーブルには、nnnであるフレーム番号が配置されているので、このテーブルには、nnnであるフレーム番号で特定されるフレームにおけるマクロブロックを符号化するときに用いたQスケールが配置されていることがわかる。
【０１３２】
すなわち、上側のQスケールを配置したテーブルにおいて、xxxであるマクロブロック番号に対応して、ΧΧΧであるQスケールが配置されているので、nnnであるフレーム番号で特定されるフレームにおける、xxxであるマクロブロック番号で特定されるマクロブロックを符号化するときに用いたQスケールは、ΧΧΧであることがわかる。同様に、上側のQスケールを配置したテーブルにおいて、yyyであるマクロブロック番号に対応して、ΨΨΨであるQスケールが配置され、zzzであるマクロブロック番号に対応して、ΩΩΩであるQスケールが配置されているので、nnnであるフレーム番号で特定されるフレームにおける、yyyであるマクロブロック番号で特定されるマクロブロックを符号化するときに用いたQスケールと、zzzであるマクロブロック番号で特定されるマクロブロックを符号化するときに用いたQスケールとは、それぞれΨΨΨとΩΩΩとであることがわかる。
【０１３３】
同様に、上側から２番目のQスケールを配置したテーブルは、mmmであるフレーム番号で特定されるフレームにおける、xxxであるマクロブロック番号で特定されるマクロブロックを符号化するときに用いたQスケールと、yyyであるマクロブロック番号で特定されるマクロブロックを符号化するときに用いたQスケールと、zzzであるマクロブロック番号で特定されるマクロブロックを符号化するときに用いたQスケールとが、それぞれ、ΤΤΤとΥΥΥとΦΦΦとであることを示している。
【０１３４】
さらにまた、上側から３番目のQスケールを配置したテーブルは、oooであるフレーム番号で特定されるフレームにおける、xxxであるマクロブロック番号で特定されるマクロブロックを符号化するときに用いたQスケールと、yyyであるマクロブロック番号で特定されるマクロブロックを符号化するときに用いたQスケールと、zzzであるマクロブロック番号で特定されるマクロブロックを符号化するときに用いたQスケールとが、それぞれ、ΠΠΠとΡΡΡとΣΣΣとであることを示している。
【０１３５】
このように、圧縮制御部１６の量子化情報テーブルには、フレームのそれぞれについて、フレームを符号化したことで生成された符号の量を示すフレームビットレートと、マクロブロックのそれぞれについて、マクロブロックを符号化するときに用いたQスケールとからなる量子化情報が配置される。
【０１３６】
図９は、圧縮制御部１６に配置され、レート制御情報に含まれるGOPビットレートと、これから符号化しようとするフレームの符号の量を示すフレームビットレートと、これから符号化しようとするマクロブロックに対するQスケールである量子化指示情報とが格納されるレートテーブルの例を示す図である。
【０１３７】
例えば、レートテーブルは、これから符号化しようとするGOPのそれぞれについて、GOPビットレートを配置したテーブルと、これから符号化しようとするフレームのそれぞれについて、フレームの符号の量を示すフレームビットレートを配置したテーブルと、これから符号化しようとするマクロブロックのそれぞれについて、マクロブロックを符号化するときに用いるQスケールを配置したテーブルであって、フレーム毎のテーブルとからなる。
【０１３８】
図９の左側には、GOPビットレートを配置したテーブルの例が示されている。このテーブルにおいて、GOPのそれぞれについて、そのGOPを特定するGOP番号と、そのGOPのGOPビットレートとが対応して配置されている。すなわち、例えば、aaaであるGOP番号に対応して、αααであるGOPビットレートが配置され、bbbであるフレーム番号に対応して、βββであるGOPビットレートが配置され、cccであるフレーム番号に対応して、γγγであるGOPビットレートが配置されている。
【０１３９】
図９の左から２番目には、フレームビットレートを配置したテーブルの例が示されている。このテーブルにおいて、これから符号化しようとするフレームのそれぞれについて、そのフレームを特定するフレーム番号と、フレームビットレートが対応して配置されている。すなわち、例えば、nnnであるフレーム番号に対応して、μμμであるフレームビットレートが配置され、mmmであるフレーム番号に対応して、νννであるフレームビットレートが配置され、oooであるフレーム番号に対応して、οοοであるフレームビットレートが配置されている。
【０１４０】
図９の右上側のQスケールを配置したテーブルは、nnnであるフレーム番号で特定されるフレームにおける、xxxであるマクロブロック番号で特定されるマクロブロックを符号化するときに量子化指示情報として用いるQスケールと、yyyであるマクロブロック番号で特定されるマクロブロックを符号化するときに量子化指示情報として用いるQスケールと、zzzであるマクロブロック番号で特定されるマクロブロックを符号化するときに量子化指示情報として用いるQスケールとが、それぞれ、χχχとψψψとωωωとであることを示している。
【０１４１】
図９の右上側から２番目のQスケールを配置したテーブルは、mmmであるフレーム番号で特定されるフレームにおける、xxxであるマクロブロック番号で特定されるマクロブロックを符号化するときに量子化指示情報として用いるQスケールと、yyyであるマクロブロック番号で特定されるマクロブロックを符号化するときに量子化指示情報として用いるQスケールと、zzzであるマクロブロック番号で特定されるマクロブロックを符号化するときに量子化指示情報として用いるQスケールとが、それぞれ、τττとυυυとφφφとであることを示している。
【０１４２】
さらにまた、図９の右上側から３番目のQスケールを配置したテーブルは、oooであるフレーム番号で特定されるフレームにおける、xxxであるマクロブロック番号で特定されるマクロブロックを符号化するときに量子化指示情報として用いるQスケールと、yyyであるマクロブロック番号で特定されるマクロブロックを符号化するときに量子化指示情報として用いるQスケールと、zzzであるマクロブロック番号で特定されるマクロブロックを符号化するときに量子化指示情報として用いるQスケールとが、それぞれ、πππとρρρとσσσとであることを示している。
【０１４３】
このように、圧縮制御部１６のレートテーブルには、GOPのそれぞれについて、GOPを符号化するとき生成される符号の量を指示するGOPビットレートと、フレームのそれぞれについて、フレームを符号化して生成しようとする符号の量を示すフレームビットレートと、マクロブロックのそれぞれについて、マクロブロックを符号化するときに量子化指示情報として用いるQスケールが配置される。
【０１４４】
図１０は、圧縮制御部１６に配置され、撮影情報が格納される撮影情報テーブル、および画像処理情報が格納される画像処理情報テーブルの例を示す図である。
【０１４５】
図１０の左側に示されている動きベクトルテーブルは、撮影情報テーブルの一例である。動きベクトルテーブルは、撮影情報の一例であるカメラ動きベクトルを格納する。例えば、動きベクトルテーブルには、フレームを特定するフレーム番号と、そのフレーム番号で特定されるフレームにおいて検出されたカメラ動きベクトルとが対応して格納されている。例えば、図１０の動きベクトルテーブルの例において、nnnであるフレーム番号と、(11,22)であるカメラ動きベクトルとが対応して格納され、nnnであるフレーム番号と、(33,44)であるカメラ動きベクトルとが対応して格納され、oooであるフレーム番号と、(55,66)であるカメラ動きベクトルとが対応して格納されている。
【０１４６】
なお、ここで、x座標軸方向の成分がx1であり、y座標軸方向の成分がy1であるカメラ動きベクトルは、（x1,y1）と表記されている。
【０１４７】
図１０の中央に示されているエフェクトテーブルは、画像処理情報テーブルの一例である。エフェクトテーブルは、画像処理情報の一例であるエフェクト情報に含まれる、エフェクトの処理を具体的に特定するエフェクトIDを格納する。例えば、エフェクトテーブルには、フレームを特定するフレーム番号と、そのフレーム番号で特定されるフレームに適用されたエフェクトを特定するエフェクトIDとが対応して格納されている。例えば、図１０のエフェクトテーブルの例において、nnnであるフレーム番号と、111であるエフェクトIDとが対応して格納され、nnnであるフレーム番号と、222であるエフェクトIDとが対応して格納され、oooであるフレーム番号と、111であるエフェクトIDとが対応して格納されている。
【０１４８】
例えば、111であるエフェクトIDによって、モノクロ画像に変換するエフェクトが特定され、222であるエフェクトIDによって、ネガポジを反転させるエフェクトが特定される。
【０１４９】
図１０の右側に示されているフィルタテーブルは、画像処理情報テーブルの一例である。フィルタテーブルは、画像処理情報の一例であるフィルタ情報に含まれる、フィルタリングの処理を具体的に特定するフィルタIDを格納する。例えば、フィルタテーブルには、フレームを特定するフレーム番号と、そのフレーム番号で特定されるフレームに適用されたフィルタリングの処理を特定するエフェクトIDとが対応して格納されている。例えば、図１０のフィルタテーブルの例において、nnnであるフレーム番号と、333であるフィルタIDとが対応して格納され、nnnであるフレーム番号と、555であるフィルタIDとが対応して格納され、oooであるフレーム番号と、666であるフィルタIDとが対応して格納されている。
【０１５０】
例えば、333であるフィルタIDによって、ローパスのフィルタリングの処理であって、サンプリング周波数を２に正規化した場合の折点周波数（カットオフ周波数）が０．６であるフィルタリングの処理が特定され、555であるフィルタIDによって、ローパスのフィルタリングの処理であって、サンプリング周波数を２に正規化した場合の折点周波数が０．７２であるフィルタリングの処理が特定され、666であるフィルタIDによって、ノイズ除去（ノイズリダクション）のフィルタリングの処理が特定される。
【０１５１】
図１１は、圧縮制御部１６に配置され、顔の画像を構成するマクロブロックを示す情報が格納される顔マクロブロック識別テーブルの例を示す図である。
【０１５２】
システム制御部１８は、撮影部１１または画像処理部１２から、顔画像の位置および大きさを示す顔情報が供給されると、その顔情報から、顔の画像を構成するマクロブロックを識別する。そして、システム制御部１８は、圧縮制御部１６の顔マクロブロック識別テーブルに、顔の画像を構成するマクロブロックを示す情報を格納する。
【０１５３】
図１１の顔マクロブロック識別テーブルには、顔の画像が検出されたフレームの属するGOPを特定するためのGOP番号、顔の画像が検出されたフレームを特定するためのフレーム番号、顔の画像を構成するスライスを特定するスライス番号、および顔の画像を構成するマクロブロックを特定するマクロブロック番号が格納される。
【０１５４】
図１１の例の顔マクロブロック識別テーブルにおいて、aaaであるGOP番号、nnnであるフレーム番号、2であるスライス番号、5であるマクロブロック番号、6であるマクロブロック番号、7であるマクロブロック番号、および8であるマクロブロック番号が配置されている。すなわち、aaaであるGOP番号で特定されるGOPに属する、nnnであるフレーム番号で特定されるフレームの、2であるスライス番号で特定されるスライス、5乃至8であるマクロブロック番号で特定されるマクロブロックが顔の画像を構成する。
【０１５５】
以上のように、圧縮制御部１６には、カメラ動きベクトル、フィルタ情報、エフェクト情報、顔情報などからなるレート制御情報が格納される。
【０１５６】
図１２は、顔の画像を検出してから、顔マクロブロック識別テーブルに顔の画像を構成するマクロブロックを特定するマクロブロック番号を格納するまでの処理の概要を説明する図である。
【０１５７】
例えば、撮影部１１は、フレーム番号、AFデータ、AEデータ、AWBデータ、ズーミング速度データ、およびカメラ動きベクトルを含む撮影情報をシステム制御部１８に供給する。撮影部１１において、撮影された画像から顔の画像を検出する場合、撮影部１１は、検出した顔の画像についての顔情報であって、フレーム番号、顔ID、位置、高さ、幅、サイズ、およびスコアからなる顔情報を撮影情報として、システム制御部１８に供給する。
【０１５８】
画像処理部１２において、画像から顔の画像を検出する場合、画像処理部１２は、検出した顔の画像についての顔情報であって、フレーム番号、顔ID、位置、高さ、幅、サイズ、およびスコアからなる顔情報を画像処理情報として、システム制御部１８に供給する。
【０１５９】
なお、顔情報のフレーム番号は、顔画像が検出されたフレームを特定する。
【０１６０】
また、顔IDは、顔の画像を特定する情報であり、位置は、例えば、撮影された画像または信号処理の対象となる画像における顔の画像の位置を示す情報である。高さと幅は、それぞれ、顔の画像の高さと幅とを示す情報である。サイズは、顔の画像の面積を示す情報である。スコアは、検出した顔の画像の、顔の画像である確率を示す。
【０１６１】
システム制御部１８は、撮影部１１または画像処理部１２から、顔画像の位置および大きさを示す顔情報が供給されると、その顔情報から、顔の画像を構成するマクロブロックを識別する。システム制御部１８は、図１１を参照して説明した、圧縮制御部１６の顔マクロブロック識別テーブルに、顔の画像が検出されたフレームの属するGOPを特定するためのGOP番号、顔の画像が検出されたフレームを特定するためのフレーム番号、顔の画像を構成するスライスを特定するスライス番号、および顔の画像を構成するマクロブロックを特定するマクロブロック番号を格納する。
【０１６２】
図１３は、撮影情報を検出してから、動きベクトルテーブルにカメラ動きベクトルを格納するまでの処理の概要を説明する図である。
【０１６３】
例えば、撮影部１１は、フレーム番号、AFデータ、AEデータ、AWBデータ、ズーミング速度データ、およびカメラ動きベクトルを含む撮影情報をシステム制御部１８に供給する。
【０１６４】
システム制御部１８は、撮影情報からカメラ動きベクトルを抽出して、圧縮制御部１６の動きベクトルテーブルに、フレームを特定するフレーム番号と、そのフレーム番号で特定されるフレームにおいて検出されたカメラ動きベクトルとを対応させて書き込む。
【０１６５】
図１４は、画像処理情報を検出してから、エフェクトテーブルにエフェクトIDを格納し、フィルタテーブルにフィルタIDを格納するまでの処理の概要を説明する図である。
【０１６６】
例えば、画像処理部１２は、フレーム番号、フィルタID、およびLPF折点周波数からなるフィルタ情報と、フレーム番号、エフェクトID、およびパラメータからなるエフェクト情報とを含む画像処理情報をシステム制御部１８に供給する。
【０１６７】
なお、エフェクト情報に含まれるパラメータは、そのフレームに適用された、エフェクトIDで特定されるエフェクトの効果の強さ、方向などを決める値である。
【０１６８】
システム制御部１８は、画像処理情報のフィルタ情報から、フレーム番号およびフィルタIDを抽出して、圧縮制御部１６のフィルタテーブルに、フィルタリングの処理が適用されたフレームを特定するフレーム番号と、フィルタリングの処理を特定するフィルタIDとを対応させて書き込む。
【０１６９】
また、システム制御部１８は、画像処理情報のエフェクト情報から、フレーム番号およびエフェクトIDを抽出して、圧縮制御部１６のエフェクトテーブルに、エフェクトが適用されたフレームを特定するフレーム番号と、エフェクトを特定するエフェクトIDとを対応させて書き込む。
【０１７０】
次に、フローチャートを参照して、符号化装置による処理を説明する。
【０１７１】
図１５は、システム制御部１８による、入力の処理を説明するフローチャートである。入力の処理が開始されると、まず、ステップＳ１１において、システム制御部１８は、撮影部１１、画像処理部１２、および圧縮制御部１６を初期化する。例えば、システム制御部１８は、所定のコマンドを撮影部１１、画像処理部１２、および圧縮制御部１６に送信することにより、撮影部１１、画像処理部１２、および圧縮制御部１６を初期化する。これにより、撮影部１１、画像処理部１２、および圧縮制御部１６のそれぞれの動作状態は、初期モードとなる。
【０１７２】
ステップＳ１２において、システム制御部１８は、撮影部１１から撮影情報を入力する。すなわち、例えば、撮影部１１が、１つのフレームの撮影を終了すると、撮影したフレームについての撮影情報をシステム制御部１８に送信してくるので、システム制御部１８は、撮影部１１から送信されてきた撮影情報を受信することにより、撮影情報を入力する。また、例えば、システム制御部１８は、撮影部１１の撮影の状態を継続的に監視し、撮影部１１が、１つのフレームの撮影を終了すると、撮影したフレームについての撮影情報を撮影部１１の予め決められた記憶領域に格納するので、システム制御部１８は、１つのフレームの撮影が終了した場合、撮影部１１のその記憶領域から撮影情報を読み出すことにより、撮影情報を入力する。
【０１７３】
ステップＳ１３において、システム制御部１８は、画像処理部１２から画像処理情報を入力する。すなわち、例えば、画像処理部１２が、１つのフレームの画像処理を終了すると、画像処理を適用したフレームについての画像処理情報をシステム制御部１８に送信してくるので、システム制御部１８は、画像処理部１２から送信されてきた画像処理情報を受信することにより、画像処理情報を入力する。また、例えば、システム制御部１８は、画像処理部１２の画像処理の実行の状態を継続的に監視し、画像処理部１２が、１つのフレームについての画像処理を終了すると、画像処理を適用したフレームについての画像処理情報を画像処理部１２の予め決められた記憶領域に格納するので、システム制御部１８は、１つのフレームの画像処理が終了した場合、画像処理部１２のその記憶領域から画像処理情報を読み出すことにより、画像処理情報を入力する。
【０１７４】
ステップＳ１４において、システム制御部１８は、圧縮制御部１６から量子化情報を入力する。すなわち、例えば、画像圧縮部１３において１つのフレームの符号化が終了すると、圧縮制御部１６が、符号化したフレームについての量子化情報をシステム制御部１８に送信してくるので、システム制御部１８は、圧縮制御部１６から送信されてきた量子化情報を受信することにより、量子化情報を入力する。また、例えば、システム制御部１８は、画像圧縮部１３における符号化を制御する圧縮制御部１６の状態を継続的に監視し、画像圧縮部１３による１つのフレームの符号化が終了すると、圧縮制御部１６が、符号化したフレームについての量子化情報を圧縮制御部１６の予め決められた記憶領域に格納するので、システム制御部１８は、１つのフレームの符号化が終了した場合、圧縮制御部１６のその記憶領域から量子化情報を読み出すことにより、量子化情報を入力する。
【０１７５】
ステップＳ１５において、システム制御部１８は、記録中であるか否か、すなわち、記録媒体１５にストリームとしての画像データが継続して書き込まれているか否かを判定し、記録中であると判定された場合、画像データの符号化が継続して実行されているので、ステップＳ１１に戻り、上述した処理を繰り返す。
【０１７６】
ステップＳ１５において、記録中でないと判定された場合、これ以上、撮影情報、画像処理情報、および量子化情報を入力する必要がないので、入力の処理は終了する。
【０１７７】
次に、図１６のフローチャートを参照して、GOP毎にシステム制御部１８により実行される、GOPビットレート設定の処理を説明する。ステップＳ３１において、システム制御部１８は、入力の処理で入力した、撮影情報、画像処理情報、および量子化情報からGOPビットレートを算出する。
【０１７８】
例えば、ステップＳ３１において、システム制御部１８は、ストリームのビットレートを決定する記録モードを基に決められる基準としてのストリームのビットレートから、基準としてのGOPビットレートを求めて、さらにその基準としてのGOPビットレートを、撮影情報、画像処理情報、および量子化情報を参照して補正することによって、最終的なGOPビットレートを算出する。
【０１７９】
なお、ステップＳ３１において、システム制御部１８は、ストリームのビットレートを決定する記録モードを基に決められる基準としてのストリームのビットレートから、基準としてのGOPビットレートを求めて、それを最終的なGOPビットレートとするようにしてもよい。
【０１８０】
ステップＳ３２において、システム制御部１８は、ステップＳ３１で算出したGOPビットレートを圧縮制御部１６のレートテーブルに書き込んで、処理は終了する。例えば、ステップＳ３２において、システム制御部１８は、図９を参照して説明したように、ビットレートテーブルのうち、これから符号化しようとするGOPのそれぞれについて、GOPビットレートを配置したテーブルに、GOPビットレートの算出の対象となったGOPを特定するGOP番号とGOPビットレートとが対応して配置されるように、GOP番号およびGOPビットレートを書き込む。
【０１８１】
このように、GOPビットレート設定の処理により、レートテーブルには、GOP毎にGOPビットレートが配置されることになる。
【０１８２】
次に、図１７のフローチャートを参照して、撮影情報が入力される毎に、システム制御部１８により実行される、撮影情報の転送の処理を説明する。ステップＳ４１において、システム制御部１８は、入力の処理で入力した撮影情報を、圧縮制御部１６の撮影情報テーブルに格納し、処理は終了する。
【０１８３】
例えば、ステップＳ４１において、システム制御部１８は、撮影情報に含まれるカメラ動きベクトルを、図１０を参照して説明した、撮影情報テーブルの一例である動きベクトルテーブルに、そのカメラ動きベクトルが検出されたフレームを特定するフレーム番号に対応させて、フレーム番号と共に書き込む。
【０１８４】
このように、圧縮制御部１６に、カメラ動きベクトルなどの撮影情報が転送されることになる。
【０１８５】
図１８のフローチャートを参照して、画像処理情報が入力される毎に、システム制御部１８により実行される、画像処理情報の転送の処理を説明する。ステップＳ６１において、システム制御部１８は、入力の処理で入力した画像処理情報を、圧縮制御部１６の画像処理情報テーブルに格納し、処理は終了する。
【０１８６】
例えば、ステップＳ６１において、システム制御部１８は、画像処理情報のフィルタ情報に含まれるフィルタIDを、図１０を参照して説明した、画像処理情報テーブルの一例であるフィルタテーブルに、そのフィルタIDで特定されるフィルタリングの処理が適用されたフレームを特定するフレーム番号に対応させて、フレーム番号と共に書き込む。
【０１８７】
また、例えば、ステップＳ６１において、システム制御部１８は、画像処理情報のエフェクト情報に含まれるエフェクトIDを、図１０を参照して説明した、画像処理情報テーブルの一例であるエフェクトテーブルに、そのエフェクトIDで特定されるエフェクトが適用されたフレームを特定するフレーム番号に対応させて、フレーム番号と共に書き込む。
【０１８８】
このように、圧縮制御部１６に、エフェクトIDまたはフィルタIDなどの画像処理情報が転送されることになる。
【０１８９】
図１９は、顔画像のマクロブロックのマクロブロック番号の特定の処理を説明するフローチャートである。ステップＳ８１において、システム制御部１８は、撮影部１１または画像処理部１２に、撮影しているフレームまたは画像処理の対象となっているフレームから顔画像を検出させる。
【０１９０】
ステップＳ８２において、システム制御部１８は、顔画像の位置と顔画像の大きさを含む顔情報を、撮影部１１または画像処理部１２から取得する。ステップＳ８２は、図１５のステップＳ１２およびステップＳ１３に対応する。
【０１９１】
例えば、ステップＳ８２において、システム制御部１８は、顔画像を含む撮影情報または顔画像を含む画像処理情報を入力することにより、顔情報を、撮影部１１または画像処理部１２から取得する。なお、顔画像の大きさは、図１２を参照した説明した顔情報に含まれる高さと幅またはサイズによって示されている。
【０１９２】
ステップＳ８３において、システム制御部１８は、顔画像が検出されたフレームのフレーム番号およびそのフレームが属するGOPのGOP番号を圧縮制御部１６の顔マクロブロック識別テーブルに格納する。例えば、図１２を参照して説明したように、顔情報には、顔画像が検出されたフレームを特定するフレーム番号が含まれているので、システム制御部１８は、顔情報に含まれているフレーム番号およびそのフレーム番号で特定されるフレームが属するGOPのGOP番号を、対応するように圧縮制御部１６の顔マクロブロック識別テーブルに格納する。
【０１９３】
ステップＳ８４において、システム制御部１８は、顔情報に含まれる顔画像の位置と顔画像の大きさから、顔画像を検出したフレームにおける、顔画像を構成するマクロブロックを特定する。例えば、顔情報に含まれる位置は、画素の数を単位として、フレームにおける顔画像の左上端の位置を示し、また、顔情報に含まれる高さと幅は、それぞれ、画素の数を単位として、顔の画像の高さと幅とを示すので、システム制御部１８は、画素の数を単位としたマクロブロックの高さと幅を基に、顔情報に含まれる位置と高さと幅とから、顔画像を検出したフレームにおける、顔画像を構成するマクロブロックを特定する。
【０１９４】
ステップＳ８５において、システム制御部１８は、顔画像を構成するマクロブロックのマクロブロック番号を、圧縮制御部１６の顔マクロブロック識別テーブルに格納し、処理は終了する。すなわち、ステップＳ８５において、システム制御部１８は、顔画像を構成するマクロブロックのマクロブロック番号を、ステップＳ８３の処理でGOP番号およびフレーム番号を格納した顔マクロブロック識別テーブルに格納する。
【０１９５】
このように、圧縮制御部１６の顔マクロブロック識別テーブルには、顔画像を構成するマクロブロックを特定するマクロブロック番号が格納されることになる。
【０１９６】
次に、圧縮制御部１６による、レートテーブルへのQスケールの設定の処理を図２０のフローチャートを参照して説明する。ステップＳ１０１において、圧縮制御部１６は、レートテーブルに設定されているGOPビットレートから、GOPビットレートが設定されたGOPに属するフレームのぞれぞれのフレームビットレートを算出する。例えば、ステップＳ１０１において、圧縮制御部１６は、フレームのピクチャタイプに応じて、GOPビットレートから、各フレームのフレームビットレートを算出する。
【０１９７】
ステップＳ１０２において、圧縮制御部１６は、ステップＳ１０１において算出されたフレームビットレートから、フレームビットレートが算出されたフレームの各マクロブロックのQスケールを算出する。
【０１９８】
ステップＳ１０３において、圧縮制御部１６は、ステップＳ１０１において算出されたフレームビットレートを、そのフレームを特定するフレーム番号に対応させてレートテーブルに格納する。ステップＳ１０４において、圧縮制御部１６は、ステップＳ１０２において算出されたQスケールを、そのマクロブロックを特定するマクロブロック番号と対応させてレートテーブルに格納して、処理は終了する。
【０１９９】
このように、Qスケールの設定の処理により、GOPビットレートから、標準的なフレームビットレートとQスケールとが算出されて、レートテーブルに格納される。
【０２００】
このように算出されたQスケールは、レート制御情報に含まれる撮影情報または画像処理情報を基に、修正される。
【０２０１】
次に、図２１および図２２のフローチャートを参照して、フレーム毎に実行される、レートテーブルに格納されているQスケールの修正の処理を説明する。ステップＳ１２１において、圧縮制御部１６は、撮影情報テーブルの一例である動きベクトルテーブルから、処理の対象となるフレームのカメラ動きベクトルを読み出す。すなわち、圧縮制御部１６は、ベクトルテーブルから、処理の対象となるフレームを特定するフレーム番号に対応して配置されているカメラ動きベクトルを読み出す。ステップＳ１２２において、圧縮制御部１６は、カメラ動きベクトルの大きさが予め定めた閾値TH1Th1以下であるか否かを判定し、カメラ動きベクトルの大きさが予め定めた閾値Th1以下であると判定された場合、被写体を追尾撮影するようにスムーズにズームまたはパンされており、使用者はより高画質の画像の記録を希望していると推定されるので、ステップＳ１２３に進み、レートテーブルに格納されている、各マクロブロックのQスケールを予め定めた値だけ小さくして、ステップＳ１２６に進む。ステップＳ１２３により、処理の対象となるフレームについて、より高画質の画像を再生できるように符号の量が増やされることになる。
【０２０２】
一方、ステップＳ１２２において、カメラ動きベクトルの大きさが閾値Th1以下でないと判定された場合、ステップＳ１２４に進み、圧縮制御部１６は、カメラ動きベクトルの大きさが予め定めた閾値Th2以上であるか否かを判定する。閾値Th2は、閾値Th1より大きい値である。ステップＳ１２４において、カメラ動きベクトルの大きさが予め定めた閾値Th2以上であると判定された場合、撮影部１１の角速度が大きく、高画質の画像が撮影されていないので、ステップＳ１２５に進み、圧縮制御部１６は、レートテーブルに格納されている、各マクロブロックのQスケールを予め定めた値だけ大きくして、ステップＳ１２６に進む。ステップＳ１２５により、処理の対象となるフレームについて、画質が抑えられ符号の量が少なくされることになる。
【０２０３】
ステップＳ１２４において、カメラ動きベクトルの大きさが予め定めた閾値Th2以上でないと判定された場合、画質と符号の量とを修正する必要がなく、すなわちQスケールを修正する必要はないので、Qスケールを変更しないで、手続きは、ステップＳ１２６に進む。
【０２０４】
ステップＳ１２６において、圧縮制御部１６は、画像処理情報テーブルの一例であるエフェクトテーブルから、処理の対象となるフレームに適用されたエフェクトを特定するエフェクトIDを読み出す。すなわち、圧縮制御部１６は、エフェクトテーブルから、処理の対象となるフレームを特定するフレーム番号に対応して配置されているエフェクトIDを読み出す。
【０２０５】
ステップＳ１２７において、圧縮制御部１６は、読み出したエフェクトIDから、解像度を上げるエフェクトが、処理の対象となるフレームに適用されたか否かを判定し、解像度を上げるエフェクトがフレームに適用されたと判定された場合、ステップＳ１２８に進み、レートテーブルに格納されている、各マクロブロックのQスケールを予め定めた値だけ小さくして、ステップＳ１３１に進む。
【０２０６】
一方、ステップＳ１２７において、解像度を上げるエフェクトがフレームに適用されていないと判定された場合、ステップＳ１２９に進み、圧縮制御部１６は、読み出したエフェクトIDから、解像度を下げるエフェクトが、処理の対象となるフレームに適用されたか否かを判定する。ステップＳ１２９において、解像度を下げるエフェクトがフレームに適用されたと判定された場合、ステップＳ１３０に進み、圧縮制御部１６は、レートテーブルに格納されている、各マクロブロックのQスケールを予め定めた値だけ大きくして、ステップＳ１３１に進む。
【０２０７】
ステップＳ１２９において、解像度を下げるエフェクトがフレームに適用されていないと判定された場合、画質と符号の量とを修正する必要はない、すなわちQスケールを修正する必要はないので、Qスケールを変更しないで、手続きは、ステップＳ１３１に進む。
【０２０８】
ステップＳ１３１において、圧縮制御部１６は、画像処理情報テーブルの一例であるフィルタテーブルから、処理の対象となるフレームに適用されたフィルタリングの処理を特定するフィルタIDを読み出す。すなわち、圧縮制御部１６は、フィルタテーブルから、処理の対象となるフレームを特定するフレーム番号に対応して配置されているフィルタIDを読み出す。
【０２０９】
ステップＳ１３２において、圧縮制御部１６は、読み出したフィルタIDから、ローパスフィルタが、処理の対象となるフレームに適用されたか否かを判定し、ローパスフィルタがフレームに適用されたと判定された場合、ステップＳ１３３に進み、レートテーブルに格納されている、各マクロブロックのQスケールを予め定めた値だけ小さくして、ステップＳ１３６に進む。
【０２１０】
例えば、複雑で細かい模様の被写体をパンしている場合、フレームのデータ量を抑制するために、画像処理部１２において、フレームにローパスフィルタがかけられる。このようなフレームにおいては、より高い解像度が要求されていると推定されるので、Qスケールが小さくされる。その結果、処理の対象となるフレームについて、より高画質の画像を再生できるように符号の量が増やされることになる。
【０２１１】
また、例えば、ステップＳ１３２において、読み出したフィルタIDから、シャープフィルタが、処理の対象となるフレームに適用されたか否かが判定され、シャープフィルタがフレームに適用されたと判定された場合、ステップＳ１３３において、レートテーブルに格納されている、各マクロブロックのQスケールを予め定めた値だけ小さくして、処理の対象となるフレームについて、より高画質の画像が再生できるようにしてもよい。
【０２１２】
一方、ステップＳ１３２において、ローパスフィルタがフレームに適用されていないと判定された場合、ステップＳ１３４に進み、圧縮制御部１６は、読み出したフィルタIDから、ノイズリダクションフィルタが、処理の対象となるフレームに適用されたか否かを判定する。ステップＳ１３４において、ノイズリダクションフィルタがフレームに適用されたと判定された場合、ノイズ成分を目立たなくするため、ステップＳ１３５に進み、圧縮制御部１６は、レートテーブルに格納されている、各マクロブロックのQスケールを予め定めた値だけ大きくして、処理の対象となるフレームについて、画質を抑えて符号の量を小さくして、ステップＳ１３６に進む。
【０２１３】
例えば、ステップＳ１３４において、ソフトフォーカスフィルタがフレームに適用されたか否かが判定され、ソフトフォーカスフィルタがフレームに適用されたと判定された場合、ソフトフォーカスフィルタによりフレームの解像度が下がるので、符号の量を小さくしてもその符号により再生されるフレームの画質の変化は認識されにくいので、ステップＳ１３５において、レートテーブルに格納されている、各マクロブロックのQスケールが予め定めた値だけ大きくされるようにしてもよい。
【０２１４】
ステップＳ１３４において、ノイズリダクションフィルタがフレームに適用されていないと判定された場合、Qスケールを修正する必要はないので、Qスケールを変更しないで、手続きは、ステップＳ１３６に進む。
【０２１５】
ステップＳ１３６において、圧縮制御部１６は、処理の対象となるフレームから、最初のマクロブロックを選択する。
【０２１６】
ステップＳ１３７において、圧縮制御部１６は、選択したマクロブロックが、顔画像を構成するマクロブロックであるか否かを判定する。すなわち、例えば、圧縮制御部１６は、顔マクロブロック識別テーブルを、選択したマクロブロックを特定するマクロブロック番号で検索し、顔マクロブロック識別テーブルにそのマクロブロック番号が格納されている場合、選択したマクロブロックが、顔画像を構成するマクロブロックであると判定し、顔マクロブロック識別テーブルにそのマクロブロック番号が格納されていない場合、選択したマクロブロックが、顔画像を構成するマクロブロックでないと判定する。
【０２１７】
ステップＳ１３７において、選択したマクロブロックが、顔画像を構成するマクロブロックであると判定された場合、ステップＳ１３８に進み、圧縮制御部１６は、選択したマクロブロックを特定するマクロブロック番号を記憶する。ステップＳ１３９において、圧縮制御部１６は、レートテーブルに格納されているQスケールのうち、そのマクロブロックのQスケールを予め定めた値だけ小さくして、ステップＳ１４０に進む。
【０２１８】
言い換えれば、ステップＳ１３９において、圧縮制御部１６は、レートテーブルにおいて、選択したマクロブロックを特定するマクロブロック番号に対応して配置されているQスケールを予め定めた値だけ小さくする。
【０２１９】
これにより、顔画像を構成するマクロブロックについて、より高画質の画像を再生できるように符号の量がより増やされることになる。
【０２２０】
ステップＳ１３７において、選択したマクロブロックが、顔画像を構成するマクロブロックでないと判定された場合、ステップＳ１３８およびステップＳ１３９はスキップされて、手続きは、ステップＳ１４０に進む。
【０２２１】
ステップＳ１４０において、圧縮制御部１６は、処理の対象となるフレームに残りのマクロブロックがあるか否か、すなわち、処理の対象となるフレームに、顔画像を構成するか否かが判定されていないマクロブロックがあるか否かを判定する。ステップＳ１４０において、処理の対象となるフレームに残りのマクロブロックがあると判定された場合、ステップＳ１４１に進み、圧縮制御部１６は、残りのマクロブロックから、次のマクロブロックを選択して、ステップＳ１３７に戻り、上述した処理を繰り返す。
【０２２２】
ステップＳ１４０において、処理の対象となるフレームに残りのマクロブロックがないと判定された場合、圧縮制御部１６は、ステップＳ１３８において記憶したマクロブロック番号を基に、顔画像を構成しないマクロブロックのQスケールを大きくして、処理は終了する。すなわち、圧縮制御部１６は、記憶したマクロブロック番号以外のマクロブロック番号に対応してレートテーブルに配置されているQスケールを予め定めた値だけ大きくする。
【０２２３】
このように、撮影部１１から供給された撮影情報、または画像処理部１２から供給された画像処理情報を基に、より高解像度またはより高画質が要求されるフレームまたはマクロブロックの符号の量が大きくなり、解像度または画質が要求されないフレームまたはマクロブロックの符号の量が小さくなるように、レートテーブルに配置されているQスケールが修正される。
【０２２４】
次に、図２３のフローチャートを参照して、圧縮制御部１６による、量子化情報の格納の処理を説明する。ステップＳ１６１において、圧縮制御部１６は、画像圧縮部１３から、マクロブロックの量子化に用いたQスケールと生成された符号量である量子化情報を取得する。ステップＳ１６２において、圧縮制御部１６は、取得したQスケールである量子化情報を、量子化情報テーブルに書き込む。この場合、Qスケールである量子化情報は、量子化情報テーブルのうち、Qスケールを配置したテーブルであって、取得したQスケールによって量子化されたマクロブロックの存在するフレームを特定するフレーム番号が配置されているテーブルに、取得したQスケールによって量子化されたマクロブロックを特定するマクロブロック番号と対応するように書き込まれる。
【０２２５】
ステップＳ１６３において、圧縮制御部１６は、量子化情報テーブルに格納されたQスケールを基に、フレームの全部のマクロブロックについて、量子化に用いたQスケールと生成された符号量である量子化情報を取得したか否かを判定する。ステップＳ１６３において、フレームの全部のマクロブロックについてQスケールと生成された符号量である量子化情報を取得していないと判定された場合、ステップＳ１６１に戻り、フレームの全部のマクロブロックについてQスケールと生成された符号量である量子化情報を取得するまで、上述した処理が繰り返される。
【０２２６】
ステップＳ１６３において、フレームの全部のマクロブロックについてQスケールと生成された符号量である量子化情報を取得したと判定された場合、ステップＳ１６４に進み、圧縮制御部１６は、全マクロブロックの生成符号量から、取得したQスケールによって量子化されたマクロブロックの存在するフレームのビットレートを算出する。
【０２２７】
ステップＳ１６５において、圧縮制御部１６は、量子化情報テーブルのうち、フレームビットレートを配置したテーブルに、取得したQスケールによって量子化されたマクロブロックの存在するフレームを特定するフレーム番号と対応するように、ステップＳ１６４で算出したビットレートを格納して、処理は終了する。
【０２２８】
このように、量子化情報テーブルに、量子化に用いたQスケールと、フレームのビットレートとが配置される。
【０２２９】
図２４は、圧縮制御部１６による、画像圧縮部１３に対するレートの指示の処理を説明するフローチャートである。ステップＳ１８１において、圧縮制御部１６は、画像圧縮部１３による符号化の対象のGOP、フレーム、およびマクロブロックをそれぞれ特定するGOP番号、フレーム番号、およびマクロブロック番号を示すカウンタ値をカウンタから取得する。このカウンタは、例えば、システム制御部１８、圧縮制御部１６、または画像圧縮部１３に設けられる。
【０２３０】
ステップＳ１８２において、圧縮制御部１６は、レートテーブルから、カウンタ値で特定されるGOP番号、フレーム番号、およびマクロブロック番号のQスケールを読み出す。
【０２３１】
ステップＳ１８３において、圧縮制御部１６は、読み出したQスケールを量子化指示情報として画像圧縮部１３に供給し、ステップＳ１８１に戻り、処理を繰り返す。
【０２３２】
このように、所定のマクロブロックを符号化しようとしている画像圧縮部１３に、レートテーブルに配置されている、そのマクロブロックについてのQスケールが量子化指示情報として供給されることになる。
【０２３３】
図２５は、画像圧縮部１３の量子化制御部９９による、レート制御の処理を説明するフローチャートである。ステップＳ２０１において、量子化制御部９９は、バッファ９８に記憶されている符号のデータ量から予め求めた、次のマクロブロックのQスケールと、量子化指示情報として圧縮制御部１６から供給されたQスケールとを比較することにより、量子化指示情報として圧縮制御部１６から供給されたQスケールが、予め求めた次のマクロブロックのQスケールより小さいか否かを判定する。
【０２３４】
ステップＳ２０１において、量子化指示情報として圧縮制御部１６から供給されたQスケールが、予め求めた次のマクロブロックのQスケールより小さいと判定された場合、ステップＳ２０２に進み、量子化制御部９９は、量子化指示情報として圧縮制御部１６から供給されたQスケール以上の範囲内で、次のマクロブロックのQスケールを小さくし、処理は終了する。
【０２３５】
例えば、ステップＳ２０２において、量子化制御部９９は、バッファ９８に記憶されている符号のデータ量を考慮して、仮想バッファの条件を満たすように、量子化指示情報として圧縮制御部１６から供給されたQスケール以上の範囲内で、予め求めた次のマクロブロックのQスケールから予め定めた値を所定の回数引き算することにより、次のマクロブロックのQスケールを小さくする。
【０２３６】
ステップＳ２０１において、量子化指示情報として圧縮制御部１６から供給されたQスケールが、予め求めた次のマクロブロックのQスケールより小さくないと判定された場合、手続きは、ステップＳ２０３に進む。
【０２３７】
ステップＳ２０３において、量子化制御部９９は、バッファ９８に記憶されている符号のデータ量から予め求めた、次のマクロブロックのQスケールと、量子化指示情報として圧縮制御部１６から供給されたQスケールとを比較することにより、量子化指示情報として圧縮制御部１６から供給されたQスケールが、予め求めた次のマクロブロックのQスケールより大きいか否かを判定する。
【０２３８】
ステップＳ２０３において、量子化指示情報として圧縮制御部１６から供給されたQスケールが、予め求めた次のマクロブロックのQスケールより大きいと判定された場合、ステップＳ２０４に進み、量子化制御部９９は、量子化指示情報として圧縮制御部１６から供給されたQスケール以下の範囲内で、次のマクロブロックのQスケールを大きくし、処理は終了する。
【０２３９】
例えば、ステップＳ２０４において、量子化制御部９９は、バッファ９８に記憶されている符号のデータ量を考慮して、仮想バッファの条件を満たすように、量子化指示情報として圧縮制御部１６から供給されたQスケール以下の範囲内で、予め求めたおいた次のマクロブロックのQスケールに予め定めた値を所定の回数足し算することにより、次のマクロブロックのQスケールを大きくする。
【０２４０】
ステップＳ２０３において、量子化指示情報として圧縮制御部１６から供給されたQスケールが、予め求めた次のマクロブロックのQスケールより大きくないと判定された場合、予め求めた次のマクロブロックのQスケールが、量子化指示情報としてのQスケールと同じなので、ステップＳ２０４をスキップして、処理は終了する。
【０２４１】
このように、量子化制御部９９は、量子化指示情報として圧縮制御部１６から供給されたQスケールにより近づくように、次のマクロブロックのQスケールを変更することで、マクロブロックを符号化することにより得られる符号の量を制御する。
【０２４２】
以上のように、画像圧縮部１３の前処理部８１において、符号の量を調整するために画像の特徴を抽出する必要がなくなり、その結果、画像データを記憶するための大容量の記憶領域を設ける必要がなくなる。また、画像に応じて画像を符号化することができるようになる。
【０２４３】
このように、動画像に符号化の処理を適用するようにした場合には、動画像を符号化することができる。また、動画像を生成するか、または動画像を処理し、生成されたかまたは処理された動画像を符号化し、動画像の符号化により生成される、所定の単位当たりの符号の量を、動画像を生成するか、または動画像を処理する処理手段から供給される情報であって、動画像の状態を示すか、動画像の生成の状態を示すか、または動画像に適用された処理を示す情報に応じた量とさせるように、動画像の符号化を制御するようにした場合には、大容量の記憶領域を必要とせず、画像に応じて画像を符号化することができる。
【０２４４】
本発明は、HDDレコーダ、DVD(Digital Versatile Disc)レコーダ、または携帯電話機など、動画像を符号化する機器に適用することができる。
【０２４５】
なお、量子化指示情報として、符号の量を増やすかまたは減らす指示をするための情報を用いるようにしてもよい。
【０２４６】
さらに、圧縮制御部１６は、符号化の単位に応じて予め量子化指示情報を算出して記憶し、記憶している量子化指示情報を供給すると説明したが、供給する時点で、必要な量子化指示情報を計算するようにしてもよい。
【０２４７】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０２４８】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図１に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスクを含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア２１、または、撮影部１１、画像処理部１２、画像圧縮部１３、圧縮制御部１６、若しくはシステム制御部１８に設けられている、プログラムが一時的もしくは永続的に格納されるROMや、内蔵されているハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである図示せぬ通信部を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０２４９】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２５０】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２５１】
【図１】本発明の一実施の形態の符号化装置の構成を示すブロック図である。
【図２】撮影情報、画像処理情報、レート制御情報、量子化情報、および量子化指示情報の具体例を説明する図である。
【図３】撮影情報、画像処理情報、レート制御情報、量子化情報、および量子化指示情報の具体例を説明する図である。
【図４】撮影部の構成の例を説明するブロック図である。
【図５】画像処理部の構成の例を示すブロック図である。
【図６】画像圧縮部の構成の例を説明するブロック図である。
【図７】フレームについて撮影情報または画像処理情報が得られる時刻と、そのフレームを符号化する時刻との時間差の例を説明する図である。
【図８】量子化情報テーブルの例を示す図である。
【図９】レートテーブルの例を示す図である。
【図１０】撮影情報テーブルおよび画像処理情報テーブルの例を示す図である。
【図１１】顔マクロブロック識別テーブルの例を示す図である。
【図１２】顔の画像を検出してから、顔マクロブロック識別テーブルにマクロブロック番号を格納するまでの処理の概要を説明する図である。
【図１３】撮影情報を検出してから、動きベクトルテーブルにカメラ動きベクトルを格納するまでの処理の概要を説明する図である。
【図１４】画像処理情報を検出してから、エフェクトテーブルにエフェクトIDを格納し、フィルタテーブルにフィルタIDを格納するまでの処理の概要を説明する図である。
【図１５】入力の処理を説明するフローチャートである。
【図１６】GOPビットレート設定の処理を説明するフローチャートである。
【図１７】撮影情報の転送の処理を説明するフローチャートである。
【図１８】画像処理情報の転送の処理を説明するフローチャートである。
【図１９】顔画像のマクロブロックのマクロブロック番号の特定の処理を説明するフローチャートである。
【図２０】Qスケールの設定の処理を説明するフローチャートである。
【図２１】Qスケールの修正の処理を説明するフローチャートである。
【図２２】Qスケールの修正の処理を説明するフローチャートである。
【図２３】量子化情報の格納の処理を説明するフローチャートである。
【図２４】レートの指示の処理を説明するフローチャートである。
【図２５】レート制御の処理を説明するフローチャートである。
【符号の説明】
【０２５２】
１１  撮影部，  １２  画像処理部，  １３  画像圧縮部，  １４  書込部，  １５  記録媒体，  １６  圧縮制御部，  １７  書込制御部，  １８  システム制御部，  ２１  リムーバブルメディア，  ３４  カメラ信号処理部，  ３５  オートフォーカス検波部，  ３６  自動露出検波部，  ３７  オートホワイトバランス検波部，  ３８  画像情報検出部，  ４０  角速度センサ，  ４２  撮影制御部，  ６１  ノイズ除去器，  ６４  信号変換器，  ６５  画像情報検出器，  ６７  画像合成器，  ６９  画像処理制御部，  ８１  前処理部，  ８２  符号化部，  ９６  量子化器，  ９８  バッファ，  ９９  量子化制御器
【図１】
2007295370.tif 000003
【図２】
2007295370.tif 000004
【図３】
2007295370.tif 000005
【図４】
2007295370.tif 000006
【図５】
2007295370.tif 000007
【図６】
2007295370.tif 000008
【図７】
2007295370.tif 000009
【図８】
2007295370.tif 000010
【図９】
2007295370.tif 000011
【図１０】
2007295370.tif 000012
【図１１】
2007295370.tif 000013
【図１２】
2007295370.tif 000014
【図１３】
2007295370.tif 000015
【図１４】
2007295370.tif 000016
【図１５】
2007295370.tif 000017
【図１６】
2007295370.tif 000018
【図１７】
2007295370.tif 000019
【図１８】
2007295370.tif 000020
【図１９】
2007295370.tif 000021
【図２０】
2007295370.tif 000022
【図２１】
2007295370.tif 000023
【図２２】
2007295370.tif 000024
【図２３】
2007295370.tif 000025
【図２４】
2007295370.tif 000026
【図２５】
2007295370.tif 000027