JP2005080151A - 符号化装置および符号化方法、撮像装置および画像処理方法、並びに、プログラム - Google Patents

符号化装置および符号化方法、撮像装置および画像処理方法、並びに、プログラム Download PDF

Info

Publication number
JP2005080151A
JP2005080151A JP2003310973A JP2003310973A JP2005080151A JP 2005080151 A JP2005080151 A JP 2005080151A JP 2003310973 A JP2003310973 A JP 2003310973A JP 2003310973 A JP2003310973 A JP 2003310973A JP 2005080151 A JP2005080151 A JP 2005080151A
Authority
JP
Japan
Prior art keywords
quantization
block
image data
macroblock
determined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003310973A
Other languages
English (en)
Other versions
JP4427713B2 (ja
Inventor
Manabu Ukai
学 鵜飼
Takayuki Sato
孝幸 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003310973A priority Critical patent/JP4427713B2/ja
Publication of JP2005080151A publication Critical patent/JP2005080151A/ja
Application granted granted Critical
Publication of JP4427713B2 publication Critical patent/JP4427713B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】 符号化におけるビット配分を最適化する。
【解決手段】 ステップS21で、マクロブロックごとに肌色画素が検出され、ステップS22で、肌色マクロブロックの検出結果を基に、肌色マクロブロック数は、所定の閾値以上であるか否かが判断される。肌色マクロブロック数が所定の閾値以下であると判断された場合、ステップS23で、肌色マクロブロックに多くのビットが割り当てられるような量子化スケールが求められて、この量子化スケールを基に量子化処理が行われて符号化が行われる。肌色マクロブロック数が所定の閾値以上であると判断された場合、ステップS24で、肌色マクロブロックであるか否かに関わらず、アクティビティのみによってビット割当てが決まるような量子化スケールが求められて、この量子化スケールを基に量子化処理が行われて符号化が行われる。本発明は、撮像装置、または、符号化部に適用できる。
【選択図】図9

Description

本発明は、符号化装置および符号化方法、撮像装置および画像処理方法、並びに、プログラムに関し、特に、符号化において、所定の色を含むマクロブロックに割り当てられるビット数を制御することができるようにした、符号化装置および符号化方法、撮像装置および画像処理方法、並びに、プログラムに関する。
従来、符号化を行う画像データの視覚パラメータ(アクティビティとも称される)を検出し、その検出結果を基に、符号化において、視覚特性上重要な部分に、多くのビットを割り当てるようにすることにより、符号化による画像の劣化を防止することができるようになされている(例えば、非特許文献1)。
テレビジョン学会誌、Vol.49,No.4(1995),pp455-457
図1を用いて、従来の符号化方式について説明する。
入力端子11から入力された映像信号は、画面並べ替え部12において、表示順から符号化順に画面の順序が並べ替えられる。画面並べ替え部12において、符号化の順番に並べ替えられたフレームは、視覚パラメータ検出部31、フレームメモリ13、フレームメモリ25、および、動き検出部26に供給される。
フレームメモリ13は、供給されたフレームを、視覚パラメータ検出部31が1フレーム分のパラメータを集計する間遅延させた後、出力する。動きベクトル検出部26は、各マクロブロックの動きベクトルを、供給されたマクロブロックデータ、および、フレームメモリ25に記憶されている参照画像データを基に算出し、動きベクトルデータとして、フレームメモリ24に出力し、1フレーム遅延させた後、動き補償部22に送出する。
フレーム内符号化を行うマクロブロックがフレームメモリ13から出力された場合、スイッチ15は、端子bが端子cと接続されるようにスイッチングされる。すなわち、フレーム内符号化を行うマクロブロックは、演算部14に供給されることなく、DCT(Discrete Cosine Transform :離散コサイン変換)部16に直接供給される。DCT部16は、入力された演算データに対しDCT変換処理を行うことによりDCT係数化し、これをDCT係数データとして、量子化部17に送出する。
量子化部17は、制御部30から供給される量子化値Qに基づいて、入力されたDCT係数データに対して量子化処理を行い、量子化DCT係数データとしてVLC(Variable Length Code;可変長符号化)部27に出力する。ここで、量子化部17は、制御部30から供給される量子化値Qに応じて、量子化処理における量子化ステップサイズを調整することにより、発生する符号量を制御するようになされている。
また、量子化部17から出力される量子化DCT係数データは、逆量子化部18にも送出される。逆量子化部18に送出された量子化DCT係数データは、量子化部17と同じ量子化ステップサイズによる逆量子化処理を受け、DCT係数データとして、逆DCT部19に送出される。逆DCT部19は、供給されたDCT係数データに逆DCT処理を施し、生成された演算データは、演算部20に送出される。フレーム内符号化を行うマクロブロックを処理している場合、スイッチ23は、端子bが端子cと接続されるようにスイッチングされるので、演算部20に供給された演算データが、そのまま参照画像データとしてフレームメモリ21に記憶される。
一方、順方向予測モード、または、双方向予測モードによりフレーム間予測符号化されるマクロブロックがフレームメモリ13から出力された場合、スイッチ15は、端子aが端子cと接続されるようにスイッチングされる。すなわち、フレーム間予測符号化されるマクロブロックは、演算部14に供給される。
順方向予測モードにおいて、動き補償部22は、フレームメモリ21の読み出しアドレスを、動きベクトルデータに応じてずらすことによって、参照画像データを読み出し、これを順方向予測画像データとして出力する。順方向予測モードにおいては、スイッチ23は、端子aが端子cと接続されるようにスイッチングされるので、順方向予測画像データは、演算部14および演算部20に供給される。演算部14は、フレームメモリ13から供給されたマクロブロックデータから、順方向予測画像データを減算して、予測残差としての差分データを得て、差分データをDCT部16に送出する。
したがって、DCT部16は、入力された差分データに対しDCT変換処理を行うことによりDCT係数化し、これをDCT係数データとして、量子化部17に送出する。量子化部17は、制御部30から供給される量子化値Qに基づいて、入力された差分データに対応するDCT係数データに対して量子化処理を行い、量子化DCT係数データとしてVLC部27および逆量子化部18に出力する。
逆量子化部18に送出された量子化DCT係数データは、量子化部17と同じ量子化ステップサイズによる逆量子化処理を受け、DCT係数データとして、逆DCT部19に送出される。逆DCT部19は、供給されたDCT係数データに逆DCT処理を施し、生成された差分データは、演算部20に送出される。
演算部20には、動き補償部22より順方向予測画像データが供給されており、演算部20は、逆DCT部19から供給された演算データに、順方向予測画像データを加算することにより、参照画像データを局部再生し、フレームメモリ21に出力して記憶させる。
また、双方向予測モードにおいて、動き補償部22は、フレームメモリ21の読み出しアドレスを、動きベクトルデータに応じてずらすことによって、参照画像データを読み出し、これを双方向予測画像データとして出力する。双方向予測モードにおいては、スイッチ23は、端子aが端子cと接続されるようにスイッチングされるので、双方向予測画像データは、演算部14および演算部20に供給される。演算部14は、供給されたマクロブロックデータから、双方向予測画像データを減算して、予測残差としての差分データを得て、差分データをDCT部16に送出する。
したがって、DCT部16は、入力された差分データに対しDCT変換処理を行うことによりDCT係数化し、これをDCT係数データとして、量子化部17に送出する。量子化部17は、制御部30から供給される量子化値Qに基づいて、入力された差分データに対応するDCT係数データに対して量子化処理を行い、量子化DCT係数データとしてVLC部27および逆量子化部18に出力する。
逆量子化部18に送出された量子化DCT係数データは、量子化部17と同じ量子化ステップサイズによる逆量子化処理を受け、DCT係数データとして、逆DCT部19に送出される。逆DCT部19は、供給されたDCT係数データに逆DCT処理を施し、生成された差分データは、演算部20に送出される。
演算部20には、動き補償部22より双方向予測画像データが供給されており、演算部20は、逆DCT部19から供給された演算データに、双方向予測画像データを加算することにより、参照画像データを局部再生し、フレームメモリ21に出力して記憶させる。
かくして、入力された画像データは、動き補償予測処理、DCT処理および量子化処理を受け、量子化DCT係数データとして、VLC部37に供給される。VLC部37は、量子化DCT係数データに対し、所定の変換テーブルに基づく可変長符号化処理を行い、その結果得られる可変長符号化データをバッファ28に送出する。バッファ28は、供給された可変長符号化データをバッファリングして、転送レートを平滑化した後、出力端子29に出力する。
視覚パラメータ検出部31は、フレームDCT時の4個のブロックと、フィールドDCT時の4個のブロックの計8個のブロックの画素値を用いて、次の式(1)乃至式(3)を用いて、アクティビティactを算出して、フレームメモリ32に出力する。
Figure 2005080151
・・・(1)
Figure 2005080151
・・・(2)
act=1+min(var sblk) ・・・(3)
ここでPkは、輝度信号の画素値である。また、min(var sblk)は、8つのサブブロックのvar sblkの最小値を示す。式(3)において最小値をとるのは、マクロブロック内の一部だけでも平坦部のある場合には量子化を細かくする必要があるためである。これらの式により、アクティビティとは、マクロブロック中の輝度信号の平坦度を表していることがわかる。
制御部30は、バッファ28のバッファ使用量、および、視覚パラメータ検出部31から出力され、フレームメモリ32で遅延された後供給された視覚パラメータ(アクティビティ)に応じて、次の式(4)乃至式(6)を用いて、量子化スケールを算出する。すなわち、式(4)に示される定数rを、式(5)に代入して、量子化インデックスを算出し、画面内マクロブロック間のアクティビティ値の相対関係をみて、視覚的に劣化の目立ちやすい平坦部で、より細かく量子化され、劣化の目立ちにくい絵柄の複雑な部分で粗く量子化されるように、相対的にアクティビティが高いマクロブロックから低いマクロブロックに、ビットの割当てを移動させて、画面内のビットを、相対的に平坦なマクロブロックに集めることにより、平坦なマクロブロックの画質を向上させるようになされている。
r=2(bit_rate/picture_rate) ・・・(4)
Qj=(31/r)×dj ・・・(5)
qscale=Qj×(2・act+avg_act/act+2・avg_act) ・・・(6)
ここで、bit_rateは、ビットレート、picture_rateは、ピクチャレート、Qjは、量子化インデックス、djは、バッファ占有量、actは、マクロブロックのアクティビティ、avg_actは、1画面分のマクロブロックの平均アクティビティである。
以上説明したように、例えば、MPEGのTM5などのように、アクティビティを使って視覚特性上重要な部分にビットを多く割り当てるアルゴリズムは存在するが、このような従来のアルゴリズムでは、アクティビティが高いなど、視覚特性から重要性が低いと判断されたマクロブロックにおいて、MPEGノイズが発生しやすい。すなわち、人間の顔も地面もアクティビティが同じであった場合、ビット割当てが同じになり、視覚特性的に本来重要な顔部分の画質が向上しないがある。
本発明はこのような状況に鑑みてなされたものであり、符号化において、例えば、人間の顔のように、視覚特性を考慮した場合に重要な部分の画質の劣化を防ぐことができるようにするものである。
本発明の符号化装置は、画像データをブロックごとに量子化する量子化手段と、ブロックに、所定の色の画素が含まれているか否かを判断する判断手段と、1フレームに含まれる複数のブロックのうち、判断手段により所定の色の画素が含まれていると判断されたブロックの数が、第1の閾値以下であると判断された場合、判断手段により所定の色の画素が含まれていると判断されたブロックに割り当てられる符号化ビット数が増加するように、量子化手段による量子化を制御する制御手段とを備えることを特徴とする。
ブロックのアクティビティを検出するアクティビティ検出手段を更に備えさせるようにすることができ、制御手段には、アクティビティ検出手段により検出されたブロックのアクティビティを更に用いて、量子化手段による量子化を制御させるようにすることができる。
制御手段には、処理中の画像データと時間的に一つ前の画像データとの動きを示す値を求め、その値を更に用いて、量子化手段による量子化を制御させるようにすることができる。
画像データをフィルタリングするフィルタリング手段と、フィルタリング手段によるフィルタリングを制御するフィルタリング制御手段とを更に備えさせるようにすることができ、フィルタリング制御手段には、量子化手段による量子化の量子化スケールを基に、フィルタリングのカットオフ周波数を制御させるようにすることができる。
マクロブロックの残差を演算する残差演算手段を更に備えさせるようにすることができ、フィルタリング制御手段には、残差演算手段により演算された残差が第2の閾値よりも大きい第1のマクロブロックに対して、量子化手段による量子化の量子化スケールを基に、フィルタリングのカットオフ周波数を制御させるようにすることができ、残差が第2の閾値よりも小さく、かつ、第1のマクロブロックに対して上下左右のいずれかの辺において接する第2のマクロブロックに対して、第2のマクロブロックの量子化スケールの1/2の量子化スケールにより定められるカットオフ周波数となるようにフィルタリングのカットオフ周波数を制御させるようにすることができ、残差が第2の閾値よりも小さく、かつ、第1のマクロブロックに対して上下左右のいずれの辺においても接することがない第3のマクロブロックに対して、フィルタリングが実行されないようにフィルタを制御させるようにすることができる。
画像データがフレーム内予測符号化データである場合、フレーム内予測を実行するフレーム内予測実行手段を更に備えさせるようにすることができる。
画像データが順方向予測符号化データ、または、双方向予測符号化データである場合の参照画像をフィルタリングするフィルタリング手段を更に備えさせるようにすることができる。
本発明の符号化方法は、所定の色の画素が含まれているブロックを検出する検出ステップと、1フレームに含まれる複数のブロックのうち、検出ステップの処理により検出された所定の色の画素が含まれているブロックの数が、所定の閾値以下であるか否かを判断する判断ステップと、判断ステップの処理により、所定の色の画素が含まれているブロックの数が、所定の閾値以下であると判断された場合、判断ステップの処理により所定の色の画素が含まれていると判断されたブロックに割り当てられる符号化ビット数が増加するように、画像データの量子化を制御する制御ステップとを含むことを特徴とする。
本発明の第1のプログラムは、所定の色の画素が含まれているブロックを検出する検出ステップと、1フレームに含まれる複数のブロックのうち、検出ステップの処理により検出された所定の色の画素が含まれているブロックの数が、所定の閾値以下であるか否かを判断する判断ステップと、判断ステップの処理により、所定の色の画素が含まれているブロックの数が、所定の閾値以下であると判断された場合、判断ステップの処理により所定の色の画素が含まれていると判断されたブロックに割り当てられる符号化ビット数が増加するように、画像データの量子化を制御する制御ステップとを含むことを特徴とする処理をコンピュータに実行させる。
本発明の符号化装置および符号化方法、並びに、第1のプログラムにおいては、所定の色の画素が含まれているブロックが検出され、1フレームに含まれる複数のブロックのうち、所定の色の画素が含まれているブロックの数が、所定の閾値以下であるか否かが判断され、所定の色の画素が含まれているブロックの数が、所定の閾値以下であると判断された場合、所定の色の画素が含まれていると判断されたブロックに割り当てられる符号化ビット数が増加するように、画像データの量子化が制御される。
本発明の撮像装置は、撮像された、または、他の情報処理装置から取得された画像データ処理する画像処理手段を備え、画像処理手段は、画像データをブロックごとに量子化する量子化手段と、ブロックに、所定の色の画素が含まれているか否かを判断する判断手段と、1フレームに含まれる複数のブロックのうち、判断手段により所定の色の画素が含まれていると判断されたブロックの数が、所定の閾値以下であると判断された場合、判断手段により所定の色の画素が含まれていると判断されたブロックに割り当てられる符号化ビット数が増加するように、量子化手段による量子化を制御する制御手段とを備えることを特徴とする。
本発明の画像処理方法は、所定の色の画素が含まれているブロックを検出する検出ステップと、1フレームに含まれる複数のブロックのうち、検出ステップの処理により検出された所定の色の画素が含まれているブロックの数が、所定の閾値以下であるか否かを判断する判断ステップと、判断ステップの処理により、所定の色の画素が含まれているブロックの数が、所定の閾値以下であると判断された場合、判断ステップの処理により所定の色の画素が含まれていると判断されたブロックに割り当てられる符号化ビット数が増加するように、画像データの量子化を制御する制御ステップとを含むことを特徴とする。
本発明の第2のプログラムは、所定の色の画素が含まれているブロックを検出する検出ステップと、1フレームに含まれる複数のブロックのうち、検出ステップの処理により検出された所定の色の画素が含まれているブロックの数が、所定の閾値以下であるか否かを判断する判断ステップと、判断ステップの処理により、所定の色の画素が含まれているブロックの数が、所定の閾値以下であると判断された場合、判断ステップの処理により所定の色の画素が含まれていると判断されたブロックに割り当てられる符号化ビット数が増加するように、画像データの量子化を制御する制御ステップとを含むことを特徴とする処理をコンピュータに実行させる。
本発明の撮像装置および画像処理方法、並びに、第2のプログラムにおいては、所定の色の画素が含まれているブロックが検出され、1フレームに含まれる複数のブロックのうち、所定の色の画素が含まれているブロックの数が、所定の閾値以下であるか否かが判断され、所定の色の画素が含まれているブロックの数が、所定の閾値以下であると判断された場合、所定の色の画素が含まれていると判断されたブロックに割り当てられる符号化ビット数が増加するように、画像データの量子化が制御される。
第1の本発明によれば、画像データを符号化することができ、特に、特定の色が含まれていると判断されたブロックの数に基づいて、量子化が制御されるので、符号化による画像の劣化を防ぐようにすることができる。
第2の本発明によれば、撮像された、または、取得された画像データを符号化することができ、特に、特定の色が含まれていると判断されたブロックの数に基づいて、量子化が制御されるので、符号化による画像の劣化を防ぐようにすることができる。
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が、本明細書に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
更に、この記載は、本明細書に記載されている発明の全てを意味するものでもない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
請求項1に記載の符号化装置(例えば、図3の符号化部121、または、図11の符号化部151)は、画像データをブロックごとに量子化する量子化手段(例えば、図3または図11の量子化部17)と、ブロックに、所定の色(例えば、肌色)の画素が含まれているか否かを判断する判断手段(例えば、図3または図11の肌色検出部133)と、1フレームに含まれる複数のブロックのうち、判断手段により所定の色の画素が含まれていると判断されたブロックの数が、第1の閾値以下であると判断された場合、判断手段により所定の色の画素が含まれていると判断されたブロックに割り当てられる符号化ビット数が増加するように、量子化手段による量子化を制御する制御手段(例えば、図3または図11の制御部132)とを備えることを特徴とする。
請求項2に記載の符号化装置は、ブロックのアクティビティを検出するアクティビティ検出手段(例えば、図3または図11の視覚パラメータ検出部31)を更に備え、制御手段は、アクティビティ検出手段により検出されたブロックのアクティビティを更に用いて、量子化手段による量子化を制御することを特徴とする。
請求項3に記載の符号化装置は、制御手段が、処理中の画像データと時間的に一つ前の画像データとの動きを示す値(例えば、残差分散の関数)を求め、その値を更に用いて、量子化手段による量子化を制御することを特徴とする。
請求項4に記載の符号化装置は、画像データをフィルタリングするフィルタリング手段(例えば、図3または図11のフィルタ131)と、フィルタリング手段によるフィルタリングを制御するフィルタリング制御手段(例えば、図3または図11のフィルタ決定部137)とを更に備え、フィルタリング制御手段は、量子化手段による量子化の量子化スケールを基に、フィルタリングのカットオフ周波数を制御することを特徴とする。
請求項5に記載の符号化装置は、マクロブロックの残差を演算する残差演算手段(例えば、図3または図11の残差演算部135)を更に備え、フィルタリング制御手段は、残差演算手段により演算された残差が第2の閾値よりも大きい第1のマクロブロック(例えば、図8の中心マクロブロック)に対して、量子化手段による量子化の量子化スケールを基に、フィルタリングのカットオフ周波数を制御し、残差が第2の閾値よりも小さく、かつ、第1のマクロブロックに対して上下左右のいずれかの辺において接する第2のマクロブロック(例えば、図8の拡張マクロブロック)に対して、第2のマクロブロックの量子化スケールの1/2の量子化スケールにより定められるカットオフ周波数となるようにフィルタリングのカットオフ周波数を制御し、残差が第2の閾値よりも小さく、かつ、第1のマクロブロックに対して上下左右のいずれの辺においても接することがない第3のマクロブロック(例えば、図8のその他マクロブロック)に対して、フィルタリングが実行されないようにフィルタを制御することを特徴とする。
請求項6に記載の符号化装置は、画像データがフレーム内予測符号化データ(Iピクチャ)である場合、フレームない予測を実行するフレーム内予測実行手段(例えば、図11のフレーム内予測部161)を更に備えることを特徴とする。
請求項7に記載の符号化装置は、画像データが順方向予測符号化データ(Pピクチャ)、または、双方向予測符号化データ(Bピクチャ)である場合の参照画像をフィルタリングするフィルタリング手段(例えば、図11のループフィルタ)を更に備えることを特徴とする。
請求項8に記載の符号化方法は、所定の色(例えば、肌色)の画素が含まれているブロックを検出する検出ステップ(例えば、図9のステップS21または図10のステップS41の処理)と、1フレームに含まれる複数のブロックのうち、検出ステップの処理により検出された所定の色の画素が含まれているブロックの数が、所定の閾値以下であるか否かを判断する判断ステップ(例えば、図9のステップS22または図10のステップS42の処理)と、判断ステップの処理により、所定の色の画素が含まれているブロックの数が、所定の閾値以下であると判断された場合、判断ステップの処理により所定の色の画素が含まれていると判断されたブロックに割り当てられる符号化ビット数が増加するように、画像データの量子化を制御する制御ステップ(例えば、図9のステップS23または図10のステップS44の処理)とを含むことを特徴とする。
また、請求項9に記載のプログラムにおいても、各ステップが対応する実施の形態(但し一例)は、請求項8に記載の情報処理方法と同様である。
請求項10に記載の撮像装置は、撮像された、または、他の情報処理装置から取得された画像データ処理する画像処理手段(例えば、図2のカメラDSP62)を備え、画像処理手段は、画像データをブロックごとに量子化する量子化手段(例えば、図3または図11の量子化部17)と、ブロックに、所定の色(例えば、肌色)の画素が含まれているか否かを判断する判断手段(例えば、図3または図11の肌色検出部133)と、1フレームに含まれる複数のブロックのうち、判断手段により所定の色の画素が含まれていると判断されたブロックの数が、所定の閾値以下であると判断された場合、判断手段により所定の色の画素が含まれていると判断されたブロックに割り当てられる符号化ビット数が増加するように、量子化手段による量子化を制御する制御手段(例えば、図3または図11の制御部132)とを備えることを特徴とする。
請求項11に記載の画像処理方法は、所定の色(例えば、肌色)の画素が含まれているブロックを検出する検出ステップ(例えば、図9のステップS21または図10のステップS41の処理)と、1フレームに含まれる複数のブロックのうち、検出ステップの処理により検出された所定の色の画素が含まれているブロックの数が、所定の閾値以下であるか否かを判断する判断ステップ(例えば、図9のステップS22または図10のステップS42の処理)と、判断ステップの処理により、所定の色の画素が含まれているブロックの数が、所定の閾値以下であると判断された場合、判断ステップの処理により所定の色の画素が含まれていると判断されたブロックに割り当てられる符号化ビット数が増加するように、画像データの量子化を制御する制御ステップ(例えば、図9のステップS23または図10のステップS44の処理)とを含むことを特徴とする。
また、請求項12に記載のプログラムにおいても、各ステップが対応する実施の形態(但し一例)は、請求項11に記載の情報処理方法と同様である。
以下、図を参照して、本発明の実施の形態について説明する。
図2は、本発明を適用した撮像装置51の構成を示すブロック図である。撮像装置51は、図2に示すように、カメラ部61、カメラDSP(Digital Signal Processor)62、SDRAM(Synchronous Dynamic Random Access Memory)23、媒体インタフェース(以下、媒体I/Fと称する)24、制御部65、操作部66、LCD(Liquid Crystal Display)コントローラ67、LCD68、および、外部インタフェース(以下、外部I/Fと称する)69を備え、媒体I/F64には、記録媒体70が着脱可能とされている。
記録媒体70には、半導体メモリが用いられている、いわゆるメモリカード、情報を記録再生可能なDVD(Digital Versatile Disk)やCD(Compact Disc)等の光記録媒体、または、磁気ディスクなど、種々のものを用いることができる。
カメラ部61は、光学ブロック71、CCD(Charge Coupled Device)72、前処理部73、光学ブロック用のドライバ74、CCD用のドライバ75、および、タイミング生成回路76を備えたものである。ここで、光学ブロック71は、レンズ、フォーカス機構、シャッター機構、絞り(アイリス)機構などを備え、CCD72に入射する光を制御するものである。
光学ブロック用のドライバ74は、画像の撮影時において、制御部65からの制御に基づいて、光学ブロック71を動作させるための駆動信号を形成し、これを光学ブロック71に供給する。光学ブロック71は、ドライバ74からの駆動信号に基づいて、フォーカス機構、シャッター機構、絞り機構を駆動し、被写体の画像を取り込んで、これをCCD72に対して提供する。
タイミング生成回路76は、制御部65からの制御に応じて、所定のタイミングを提供するタイミング信号を形成して、CCD72およびCCDを駆動させるドライバ75に供給する。また、ドライバ75は、タイミング生成回路76からのタイミング信号に基づいて、CCD72に供給する駆動信号を形成して、CCD72に出力する。
CCD72は、光学ブロック71から供給される光(すなわち、画像)を光電変換して出力するものであり、CCD用のドライバ75からの駆動信号に応じて動作し、光学ブロック71からの被写体の画像を取り込むとともに、制御部65によって制御されるタイミング生成回路76からのタイミング信号に基づいて、取り込んだ被写体の画像(画像情報)を電気信号として前処理部73に供給する。
前処理部73は、供給された電気信号の画像情報に対して、CDS(Correlated Double Sampling)処理を行って、S/N(Signal/Noise)比を良好に保つようにするとともに、AGC(Automatic Gain Control)処理を行って、利得を制御し、そして、A/D(Analog/Digital)変換を行って、デジタル信号とされた画像データを形成し、カメラDSP62に供給する。
また、制御部65は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、フラッシュROM(Read Only Memory)103、および、タイマ104が、システムバス105を介して接続されて構成されたマイクロコンピュータであり、撮像装置51の各部を制御する。
ここで、RAM102は、処理の途中結果を一時記憶するなど、主に作業領域として用いられるものである。また、フラッシュROM103は、CPU101において実行する種々のプログラムや、処理に必要なデータなどが記憶されたものである。また、タイマ104は、現在年月日、現在曜日、現在時刻を提供することができるとともに、撮影日時などを提供するなどができるものである。
カメラDSP62は、前処理部73から供給された画像データに対して、AF/AE/AWB処理部91により、AF(Auto Focus)、AE(Auto Exposure)、および、AWB(Auto White Balance)などのカメラ信号処理を施す。圧縮/解凍部92は、供給された信号処理済の信号に対して、後述する符号化部121(図3)により、所定の圧縮方式でデータ圧縮を施し、システムバス105を介して、媒体I/F64に装着された記録媒体70に供給されて記録される。
また、タッチパネルやコントロールキーなどからなる操作部66を介して受け付けられたユーザからの操作入力に応じて、記録媒体70に記録された画像データのうち、ユーザが所望する画像データが読み出されて、媒体I/F64およびシステムバス105を介して、カメラDSP62に供給される。
カメラDSP62は、記録媒体70から読み出され、媒体I/F64を介して供給されたデータ圧縮されている画像データについて、圧縮/解凍部92により、その圧縮されたデータの解凍処理(伸張処理)を行い、解凍後の画像データを、システムバス105を介して、LCDコントローラ67に供給する。LCDコントローラ67は、供給された画像データからLCD68に供給する画像信号を形成し、LCD68に供給して表示させる。これにより、記録媒体70に記録されている画像データに応じた画像が、LCD68の表示画面に表示される。
なお、画像の表示の形態は、例えば、フラッシュROM103に記録された表示処理プログラムに基づいて実行される。
また、撮像装置51には、外部I/F69が設けられている。撮像装置51は、外部I/F69を介して、例えば、外部の図示しないパーソナルコンピュータと接続されて、パーソナルコンピュータから画像データの供給を受けて、媒体I/F64に装着された記録媒体70に記録したり、また、媒体I/F64に装着された記録媒体70に記録されている画像データを、外部のパーソナルコンピュータ等に供給することができる。
また、撮像装置51は、外部I/F69に通信モジュールを接続することにより、例えば、インターネットなどのネットワークに接続して、ネットワークを介して種々の画像データやその他の情報を取得し、媒体I/F64に装着された記録媒体70に記録したり、また、媒体I/F64に装着された記録媒体70に記録されている画像データを、ネットワークを介して目的とする相手先に送信することができる。
また、外部のパーソナルコンピュータやネットワークを介して取得され、媒体I/F64に装着された記録媒体70に記録された画像データなどの情報についても、上述した場合と同様にして、LCD68に表示してユーザが参照可能なようにすることができることは言うまでもない。
なお、外部I/F69は、IEEE(Institute of Electrical and Electronics Engineers)1394、USB(Universal Serial Bus)などの有線用インタフェースとして設けることも可能であるし、光や電波による無線インタフェースとして設けることも可能である。すなわち、外部I/F69は、有線、無線のいずれのインタフェースであってもよい。
このように、撮像装置51は、被写体の画像を撮影して、媒体I/F64に装着された記録媒体70に記録することができるとともに、記録媒体70に記録された画像データを読み出して、これを再生し、利用することができるものである。また、撮像装置51は、外部のパーソナルコンピュータやネットワークを介して、画像データの提供を受けて、記録媒体70に記録したり、また、記録媒体70に記録された画像データを読み出して再生することができるものである。
図3は、図2の圧縮/解凍部93に含まれ、圧縮処理(符号化処理)を実行する符号化部121の構成を示すブロック図である。
なお、従来の場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。すなわち、図3の符号化部121は、制御部30に代わって、制御部132が設けられ、新たに、フィルタ131、肌色検出部133、フレームメモリ134、残差演算部135、フレームメモリ136、および、フィルタ決定部137が設けられている以外は、図1を用いて説明した従来の符号化部と基本的に同様の構成を有するものである。
フィルタ131は、画面並べ替え部12から出力され、フレームメモリ13において、1フレーム分遅延された画面データの入力を受け、フィルタ決定部137の制御に基づいて、マクロブロック単位でカットオフ周波数と減衰量を調節できる低域通過フィルタ(ローパスフィルタ)によって、画像データをフィルタリングする。
符号化前の画面データに、低域通過フィルタによるフィルタリングを施しておくことにより、量子化の影響を受けやすい高域成分を予め減衰させることができ、不必要に高域成分を符号化することをさけることができるため、低域成分の符号化に余裕が生じ、MPEGの符号化ノイズを減少させることが可能となる。
ここで、フィルタ131によって、どのマクロブロックに対しても同一の低域通過フィルタをかけてしまうと、高域成分が全体的に削除されてしまうため、画像全体がぼやけてしまう。したがって、フィルタ131を、カットオフ周波数のさまざまなフィルタを複数保持するフィルタバンクとして構成することにより、フィルタ決定部137の制御に基づいて、フィルタスルー(全ての帯域を通過させる)から最もカットオフ周波数の低い状態までのうちで、最適なフィルタが選択されて、画像データに応じたフィルタリング処理が施されるようになされている。
肌色検出部133は、マクロブロックごとに肌色画素の検出を行う。すなわち、肌色検出部133は、入力画素のCb,Cr値が図4の斜線で示すような特定領域に存在するかどうかを検出し、入力画素のCb,Cr値が特定領域に存在する場合、その画素を肌色画素と判定し、マクロブロック中に肌色画素が1つでもあれば、そのマクロブロックを肌色マクロブロックとみなし、肌色マクロブロックの検出結果をフレームメモリ134に供給する。
フレームメモリ134は、肌色マクロブロックの検出結果を、1フレームの処理時間だけ遅延させた後、制御部132に供給する。
制御部132は、バッファ28のバッファ使用量、および、視覚パラメータ検出部31から出力され、フレームメモリ32で遅延された後供給された視覚パラメータ(アクティビティ)を用いて量子化スケールを算出するのみならず、フレームメモリ134から供給される信号を基に、画質上重要となる肌色マクロブロックに対して、ビットが多く配分され、肌色マクロブロックにおいて、その他のマクロブロックより量子化スケールが小さくなるように量子化部16を制御するような量子化スケールを算出する。
すなわち、制御部132は、上述した式(4)および式(5)を用いて説明した量子化インデックスQjを算出するとともに、次の式(7)および式(8)を用いて、量子化スケールqscaleを算出する。
qscale=Qj・(2・mact+avg_mact)/mact+2・avg_mact ・・・(7)
mact=act/m ・・・(8)
ここで、mは、肌色マクロブロックではないマクロブロックにおいては1とされ、肌色マクロブロックにおいては、1以上の正の数であって実験的または経験的に求められる定数であり、mactは、j番目のマクロブロックの変調アクティビティであり、avg_mactは、1画面分のマクロブロックにおける平均の変調アクティビティである。以下、avg_mactを平均変調アクティビティと称するものとする。
すなわち、肌色マクロブロックではないマクロブロックにおいては、式(7)は、上述した式(6)と等しいものとなる。一方、肌色マクロブロックと判断したマクロブロックにおいては、mactはactより小さくなり、量子化スケールqscaleは、Qjよりも小さくなるので、通常より小さい量子化スケールで符号化が実行されることとなるため、肌色部分の画質が向上する。
更に、制御部132は、フィルタ決定部137がフィルタ131を制御するために必要な量子化スケールの情報を、フィルタ決定部137に供給する。
残差演算部136は、動き検出部26において動き検出された結果を基に、予測残差(輝度の差分値)を演算し、フレームメモリ136に供給する。フレームメモリ136は、供給された予測残差を、1フレームの処理時間分だけ遅延させた後、フィルタ決定部137に供給する。
フィルタ決定部137は、フレームメモリ136から供給された予測残差、および、制御部132から供給される量子化スケールの情報に基づいて、フィルタリングの必要性を判断して、フィルタリングするマクロブロックを選択する。具体的には、フィルタ決定部137は、残差の大きいマクロブロックは符号化に多量のビットを消費すること、また仮に少ないビットで符号化するとMPEGノイズが発生してしまうことを考慮し、残差の大きいマクロブロック、および、残差の大きなマクロブロックと接するマクロブロックに対して、フィルタリングを施すこととする。そして、フィルタ決定部137は、制御部132から供給される量子化スケールの情報を基に、カットオフ周波数を決定して、フィルタ131を制御する。
次に、図5のフローチャートを参照して、フィルタ選択処理について説明する。
ステップS1において、残差演算部135は、動き検出部26において動き検出された結果を基に、予測残差を演算し、フレームメモリ136に供給する。
ステップS2において、フィルタ決定部137は、フレームメモリ136から、予測残差情報を取得して、残差は、所定の閾値よりも大きいか否かを判断する。ここで、所定の閾値とは、そのままで符号化することにより、他のマクロブロックの画質に影響を及ぼすほど多量のビットを消費してしまうため、フィルタリングを必要とする場合の残差として、実験的または経験的に設定される値である。また、本発明を適用した処理においては、残差が閾値より大きいマクロブロックを、フィルタリングの中心という意味で、中心マクロブロックと称するものとする。
ステップS2において、残差は、所定の閾値よりも大きいと判断された場合、ステップS3において、フィルタ決定部137は、制御部132により供給された情報を基に、量子化スケールにより求められるカットオフ周波数でフィルタリングを行わせるために、フィルタ131を制御する。フィルタ131は、フィルタ決定部137の制御に基づいて、量子化スケールを基に求められるカットオフ周波数のフィルタを選択してフィルタリングを実行し、処理が終了される。
図6を用いて、カットオフ周波数と量子化スケールとの関係について説明する。
フィルタ決定部137は、量子化スケールが大きくなるほどカットオフ周波数が低くなり、量子化スケールが小さくなるほどカットオフ周波数が高くなるように、フィルタ131によるフィルタの選択を制御する。
これは、圧縮率が高い量子化スケールの大きなマクロブロックでは、カットオフ周波数を下げることは、MPEGノイズの発生を防止するのに好適であり、一方、丁寧にエンコードする必要がある量子化スケールの小さなマクロブロックにおいては、周波数特性をできるだけ変更せずに画質を維持する必要があるためである。
ここで、カットオフ周波数と量子化スケールとの関係は、線形でも良いのであるが、図6に示されるように、非線形であるほうが好適である。すなわち、量子化スケールの小さなマクロブロックは、視覚特性上重要である可能性が高いため、できるだけ周波数特性を変化させないように符号化するのが良いと考えられる。そのため、量子化スケールの小さなうちは、量子化スケールの値が上昇しても、カットオフ周波数が減少しすぎることがないようにするほうが良い。一方、量子化スケールがある程度大きいマクロブロックにおいては、量子化スケールが大きいほど、量子化によるDCT係数の切捨てが激しくなるため、MPEGノイズの発生量が増加すると考えられる。そのため、カットオフ周波数と量子化スケールとの関係は、量子化スケールが大きくなるにともなって、量子化スケールの増加にともなうカットオフ周波数の減少の割合が大きくなるように、すなわち、カットオフ周波数と量子化スケールとの関係が非線形となるようになされている。
ステップS2において、残差は、所定の閾値よりも小さいと判断された場合、ステップS4において、フィルタ決定部137は、判定対象マクロブロックに対して、上下左右の位置にあるいずれかのマクロブロックが中心マクロブロックであるか否かを判断する。
すなわち、フィルタ決定部137は、図7に示されるように、判定対象マクロブロックに対して、上(図中Aと記されたマクロブロック)、右(図中、Bと記されたマクロブロック)、下(図中Cと記されたマクロブロック)、または、左(図中Dと記されたマクロブロック)のいずれかに中心マクロブロックがあるか否かを判断する。
ステップS4において、判定対象マクロブロックに対して、上下左右の位置にあるいずれかのマクロブロックが中心マクロブロックであると判断された場合、ステップS5において、フィルタ決定部137は、対象マクロブロックの量子化スケールをQとしたとき、1/2Qに相当するカットオフ周波数を図6より求めてフィルタリングを行わせるために、フィルタ131を制御する。フィルタ131は、フィルタ決定部137の制御に基づいて、対象マクロブロックの量子化スケールの1/2の量子化スケールを基に求められるカットオフ周波数のフィルタを選択してフィルタリングを実行し、処理が終了される。
ここで、自分自身に対して上下左右の位置にあるいずれかのマクロブロックが中心マクロブロックであるようなマクロブロックを、中心マクロブロックではないが、拡張してフィルタリングされるマクロブロックという意味で、以下、拡張マクロブロックと称するものとする。
図8に示されるように、中心マクロブロックと辺を接するマクロブロックは、中心マクロブロック、または、拡張マクロブロックである。また、拡張マクロブロックと辺を接するマクロブロックは、中心マクロブロック、または、中心マクロブロックでも拡張マクロブロックでもない、その他マクロブロックとなる。また、その他マクロブロックは中心マクロブロックとは辺を接することがない。中心マクロブロックとその他マクロブロックでは、周波数特性が大幅に変更される可能性があり、中心マクロブロックとその他マクロブロックを隣に配置して、その中央の1辺(接する1辺)を共通とすると、その特性差から両マクロブロック間に境目が発生してしまう恐れがある。これを防止するため、中心マクロブロックとその他マクロブロックとの間に、弱くフィルタリングされる拡張マクロブロックを配置するようになされている。
ステップS4において、判定対象マクロブロックに対して、上下左右の位置にあるいずれかマクロブロックも中心マクロブロックではない、すなわち、上下左右の位置にあるいずれのマクロブロックもフィルタリングが施されないマクロブロックであるその他マクロブロックであると判断された場合、ステップS6において、フィルタ決定部137は、対象マクロブロックに対して、フィルタリングを行わせないようにフィルタ131を制御する。フィルタ131は、フィルタ決定部137の制御に基づいて、フィルタリングを実行せずに対象マクロブロックを出力し、処理が終了される。
このような処理により、残差が所定の閾値より大きいマクロブロックにおいては、MPEGノイズの発生を防止するために、量子化スケールにより定められるカットオフ周波数でフィルタリングが実行され、残差が所定の閾値より小さい場合は、中心マクロブロックとその他マクロブロックとの間に境目が発生してしまうのを防ぐために、中心マクロブロックに接する拡張マクロブロックにおいて、対象マクロブロックの量子化スケールをQとしたとき、1/2Qに対応するカットオフ周波数でフィルタリングが実行される。
次に、図9のフローチャートを参照して、符号化装置121において実行される量子化スケール算出処理1について説明する。
ステップS21において、肌色検出部133は、マクロブロックごとに肌色画素の検出を行う。すなわち、肌色検出部133は、入力画素のCb,Cr値が図4の斜線で示すような特定領域に存在するかどうかを検出し、入力画素のCb,Cr値が特定領域に存在する場合、その画素を肌色画素と判定し、マクロブロック中に肌色画素が1つでもあれば、そのマクロブロックを肌色マクロブロックとみなし、肌色マクロブロックの検出結果をフレームメモリ134に供給する。フレームメモリ134は、肌色マクロブロックの検出結果を、1フレーム分の時間だけ遅延させた後、制御部132に供給する。
ステップS22において、制御部132は、フレームメモリ134から供給された肌色マクロブロックの検出結果を基に、肌色マクロブロック数は、所定の閾値以上であるか否かを判断する。
ステップS22において、肌色マクロブロック数は、所定の閾値以下であると判断された場合、ステップS23において、制御部132は、qscale=Qj×(2・mact+avg_mact)/(mact+2・avg_mact)により、肌色マクロブロックに多くのビットが割り当てられるような量子化スケールを求める。そして、この量子化スケールを基に量子化部17により量子化処理が行われて、VLC部27により符号化が行われ、処理が終了される。
ステップS22において、肌色マクロブロック数は、所定の閾値以上であると判断された場合、ステップS24において、制御部132は、qscale=Qj×(2・act+avg_act)/(act+2・avg_act)により、肌色マクロブロックであるか否かに関わらず、アクティビティのみによってビット割当てが決まるような量子化スケールを求める。そして、この量子化スケールを基に量子化部17により量子化処理が行われて、VLC部27により符号化が行われ、処理が終了される。
その画面のマクロブロックのうちの肌色マクロブロックの割合に関わらず、他のマクロブロックより肌色マクロブロックに多くのビットを配分した場合、その画面のマクロブロックのほとんどが肌色マクロブロックであるときに、肌色マクロブロックでないマクロブロックの画質が極端に悪化してしまう恐れがある。したがって、ここでは、肌色マクロブロックではないマクロブロックの画質が極端に悪化してしまうことを防止するため、1フレーム中の肌色マクロブロックの数が所定の閾値より多い場合、量子化スケールは、上述した式(6)を用いて算出するようになされ、1フレーム中の肌色マクロブロックの数が所定の閾値より少ない場合、量子化スケールは、上述した式(7)を用いて算出するようになされている。なお、ここで用いられる閾値は、その画面のマクロブロックののうちの肌色マクロブロックの割合が、閾値以上である場合、肌色マクロブロックでないマクロブロックの画質が極端に悪化してしまう恐れが発生する値であって、実験的または経験的に定められる値である。
このような処理により、1フレーム中の肌色マクロブロックが占める割合が所定の閾値以上であるか否かを基に、量子化スケールの算出式が選択されるので、その画面のマクロブロックのほとんどが肌色マクロブロックであっても、肌色マクロブロックでないマクロブロックの画質が極端に悪化してしまうことを防止することが可能となる。
また、残差演算部135により算出される残差の分散を用いて、順方向、または、双方向予測符号化が実行されるフレームにおいて、画面全体に動きがあるか、画面の一部のみに動きがある(例えば、画面上を人や物が横切るような映像である)かを検出し、それを基に、画面内の量子化スケールの変動幅を変更して、ビットの配分を制御することができるようにしても良い。
このとき、次の式(9)および式(10)の係数xの値を、画面中の動きのある部分の割合に基づいて変更することができるようにすることにより、量子化スケールを、フレームごとに最適な値に制御して、ビットを有効に使うことが可能となる。
qscale=Qj×(x・act+2・avg_act)/(2・act+x・avg_act) ・・・(9)
qscale=Qj×(x・mact+2・avg_mact)/(2・mact+x・avg_mact)
・・・(10)
ここで、式(9)は、肌色マクロブロックの数が所定の閾値よりも大きい場合に用いられる。すなわち、式(9)が用いられた場合、肌色マクロブロックにビット配分が集中されない。一方、式(10)は、肌色マクロブロックの数が所定の閾値よりも小さい場合に用いられる。すなわち、式(10)が用いられた場合、肌色マクロブロックに多くのビットが配分される。
式(9)および式(10)においては、係数xの値が大きいほど、変調アクティビティmactおよび平均の変調アクティビティavg_mactが変化したときの量子化インデックスQjの変化が大きくなるため、ビットの配分を局所的に変更させることができる。具体的には、画面の一部だけに動きがあった場合、画面の一部のみ、符号量を多く割り当てる必要があり、一方、画面全体に動きがあった場合、全体的に符号量の差が大きくならないように、符号を割り当てるようにする必要がある。そのため、画面の一部だけに動きがあった場合には、式(9)および式(10)の係数xの値を大きくして画面内の量子化スケールの変動幅を大きくし、符号を必要としているマクロブロックにビットが集まるようにし、画面の全体に動きがある場合には、式(9)および式(10)の係数xの値を小さくして、できるだけ画面全体にビットが均等に配分されるようにする。
次に、図10のフローチャートを参照して、制御部132において実行される量子化スケール算出処理2について説明する。
ステップS41において、肌色検出部133は、マクロブロックごとに肌色画素の検出を行う。すなわち、肌色検出部133は、入力画素のCb,Cr値が図4の斜線で示すような特定領域に存在するかどうかを検出し、入力画素のCb,Cr値が特定領域に存在する場合、その画素を肌色画素と判定し、マクロブロック中に肌色画素が1つでもあれば、そのマクロブロックを肌色マクロブロックとみなし、肌色マクロブロックの検出結果をフレームメモリ134に供給する。フレームメモリ134は、肌色マクロブロックの検出結果を、1フレーム分の時間だけ遅延させた後、制御部132に供給する。
ステップS42において、制御部132は、フレームメモリ134から供給された肌色マクロブロックの検出結果を基に、肌色マクロブロック数は、所定の閾値以上であるか否かを判断する。
ステップS42において、肌色マクロブロック数は、所定の閾値以下であると判断された場合、ステップS43において、制御部132は、残差演算部135から供給された残差を基に、1画面の残差の分散の関数から、係数xを求める。ここで、係数xは、2よりも大きな値であり、フレームの画面の動きが一部だけであるとき、係数xは大きな値に、フレームの画面全体に動きがあるとき、係数xは小さな値となるように定められる。
なお、係数xが4である場合、式(9)および式(10)は、それぞれ、式(6)および式(7)と等しくなる。
ステップS44において、制御部132は、qscale=Qj×(x・mact+2・avg_mact)/(2・mact+x・avg_mact)により、量子化スケールを求めて、この量子化スケールを基に量子化部17により量子化処理が行われて符号化が行われ、処理が終了される。
ステップS42において、肌色マクロブロック数は、所定の閾値以上であると判断された場合においても、ステップS45において、ステップS43と同様にして、制御部132は、残差演算部135から供給された残差を基に、1画面の残差の分散の関数から、係数xを求める。係数xは、2よりも小さな値であり、フレームの画面の動きが一部だけであるとき、係数xは大きな値に、フレームの画面全体に動きがあるとき、係数xは小さな値となるように定められる。
ステップS46において、制御部132は、qscale=Qj×(x・act+2・avg_act)/(2・act+x・avg_act)により、量子化スケールを求めて、この量子化スケールを基に量子化部17により量子化処理が行われて符号化が行われ、処理が終了される。
このような処理により、画面の一部だけに動きがあった場合には、式(9)および式(10)の係数xの値を大きくして画面内の量子化スケールの変動幅を大きくし、符号量を必要としているマクロブロックにビットが多く配分されるようにし、画面の全体に動きがある場合には、式(9)式(10)の係数xの値を小さくして、できるだけ画面全体にビットが均等に配分されるようにすることができる。
なお、ここでは、画面の一部が動いたか、画面の全体が動いたかを検出するために、残差の分散を用いたが、画面の一部が動いたか、画面の全体が動いたかを、他の条件を用いて検出するようにしてもよいことは言うまでもない。
また、式(7)および式(10)においては、肌色マクロブロックにおいて、アクティビティを所定の定数mで除算してスケーリングするようにしたので、肌色マクロブロック間のアクティビティの相対的な大きさは保持されることになる。このため、同じ肌色マクロブロックと判断されたマクロブロック間でも、アクティビティの小さなマクロブロックは、アクティビティの大きなマクロブロックより量子化スケールが小さくなり、相対的に画質がよくなる。これは、人間の顔で言えば、頬のような平坦な部分の方が、鼻のような高域成分の多い部分より符号量が多く割り当てられるようになされているということであり、このようにすることにより、視覚特性上好ましい画像を得ることができる。
このように、本発明を適用した撮像装置における符号化部においては、残差を基に、適切にマクロブロックを選び、このマクロブロックにあわせて特性をコントロールした低域フィルタを用いて符号化前にフィルタリングを行うことで、MPEGノイズを目立たなくして全体の画質改善を行うことができ、更に、肌色マクロブロックの全体の画像に対する割合と、肌色マクロブロックであるか否かの検出結果を用いて、量子化スケールの演算を制御するようにしたので、MPEG2エンコードの際に、視覚上重要な人間の顔部分の画質を改善することができる。
更に、画面の一部が動いたか、画面の全体が動いたかを検出することにより、量子化スケールの1画面内での変動幅を制御することができるようにしたので、全体に動きがある画面であっても、画面の一部のみが動くような画面であっても、マクロブロックごとのビット配分を最適化することができる。
更に、本発明は、ITU-TのVCEG(Video Coding Experts Group )とISO/IECのMPEG
(Moving Picture Experts Group)という2つの団体が共同で進める動画像符号化の標準化組織であるJVT(Joint Video Team)で標準化される、H.264(H.264/MPEG4 AVCや、MPEG4 Part10とも称される)を用いた符号化処理においても適用可能である。
H.264では、Iピクチャについてフレーム内予測を実行し、差分値を整数変換(Integer Transform)する。整数変換はDCTの浮動小数点計算を整数化した手法であり、ブロックサイズを4×4としたことにより、デコード画像のブロックノイズを目立たなくすることができる。また、H.264では、輝度成分において、4×4画素ブロックで、9種類の予測モードと、16×16ブロックで4種類の予測モードを有する。各マクロブロックを、DCTしていた従来の手法と比較して、H.264の方式においては、差分値により値自体が小さくなり、多くの場合差分値データには原画像に比べて高周波成分が少なくなることから、量子化後の生成符号量を削減することができる。
そして、H.264のフレーム間予測においては、予測に用いるブロックサイズは、従来の16×16や8×8のみならず、7種類のブロック形状を用いて予測が行われる。例えば、16×16ブロック内に複雑な部分と平坦な部分がある場合、柔軟にブロックサイズを変えて予測に用いることができるため、量子化後の生成符号量を削減することができる。
また、H.264では、最大5フレームを参照画像として用いることができる。このことは、演算量とメモリ量の増大につながるが、より類似したブロックを選択して参照することが可能となるので、差分データ値が小さくなり、生成符号量を削減することができる。
そして、H.264では、ベースラインプロファイルおよびXプロファイルにおいては、MPEG2における場合と同様にして、VLCベースの符号が用いられるが、具体的には、ハフマン符号より処理が簡単である指数ゴロム符号(Exponential Golomb Coding)と、それを応用したCAVLC(Context-based AdaptiveVariable Length Coding)が用いられる。また、メインプロファイルでは、VLCベースの符号に加えて、CABAC(Context-based AdaptiveBinary Arithmetic Coding)という算術符号を用いることにより、生成符号量を削減することができる。
また、H.264では、エンコーダおよびデコーダ内において、再構成画像作成時(参照画像の作成時)に、ループフィルタ(デブロックフィルタ)が用いられる。ループフィルタが用いられることにより、従来のMPEGによる符号化の手法よりも演算量は増加するが、デコード画像のブロックノイズを低減し、符号化による画質の低下を防ぐようにすることができる。
図11は、本発明を適用した、H.264を用いて符号化処理を実行する符号化部151の構成を示すブロック図である。なお、図3における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。すなわち、図11の符号化部151は、DCT部16に代わって、変換処理部162が設けられ、IDCT部19に代わって、逆変換処理部163が設けられ、VLC部27に代わって、エントロピー符号化部165が設けられ、新たに、フレーム内予測部161、および、ループフィルタ164が設けられている以外は、図3を用いて説明した符号化部121と基本的に同様の構成を有するものである。
フレーム内予測部161は、Iピクチャについてフレーム内予測を実行し、予測結果をスイッチ15の端子bに出力する。
変換処理部162は、Iピクチャのフレーム内予測結果、並びに、PピクチャおよびBピクチャのフレーム間予測結果の入力を受け、整数変換を行う。
逆変換処理部163は、逆量子化部18から供給された信号に、変換処理部162が施した整数変換とは逆の変換である、逆整数変換を施す。
ループフィルタ164は、デコード画像のブロックノイズを低減させるために、フレームメモリ21に保存される参照画像にフィルタリングを施す。
エントロピー符号化部165は、プロファイルに対応した方法で符号化処理を実行する。
なお、図11を用いて説明した符号化部151においても、図3の符号化部121と同様に、図5を用いて説明した方法で、フィルタ決定部137の制御に基づいて、フィルタ131により用いられるフィルタが選択され、図9または図10を用いて説明した処理により、制御部132が量子化部17による量子化を制御するので、それらの詳細な説明については省略する。
ここでは、撮像装置51に含まれる符号化部121または符号化部151について説明したが、本発明は、撮像装置以外においても、符号化部121または符号化部151と同様の構成を有する符号化部を有する画像処理装置、または、符号化装置などにおいても適用可能である。
なお、本発明は、例えば、リオーダリングディレイの原因となるBピクチャ、および、発生符号量の多いIピクチャを使用せずに、Pピクチャのみを使用し、このPピクチャを、数スライスからなるイントラスライスと、残り全てのスライスからなるインタースライスとに区切ることにより、リオーダリングなしに符号化することができるようになされているローディレイエンコードを行う場合においても適用可能である。
また、本発明は、ローディレイコーディングとして各フレーム画像を全てPピクチャとし、例えば、横45マクロブロック、縦24マクロブロックの画枠サイズの中でフレーム画像の上段から縦2マクロブロックおよび横45マクロブロック分の領域を1つのイントラスライス部分、他を全てインタースライス部分として設定するようにした場合においても、イントラスライス部分を縦1マクロブロック、横45マクロブロック分の領域とするなど、他の種々の大きさの領域で形成するようにした場合においても適用可能である。
更に、上述の実施の形態においては、本発明をMPEG方式によって圧縮符号化する符号化部121、または、符号化部151に適用するようにした場合について述べたが、本発明はこれに限らず、他の種々の画像圧縮方式による符号化装置に適用するようにしても良い。
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。この場合、例えば、符号化部121や、符号化部151は、図12に示されるようなパーソナルコンピュータ201により構成される。
図12において、CPU(Central Processing Unit)211は、ROM(Read Only Memory)212に記憶されているプログラム、または記憶部218からRAM(Random Access Memory)213にロードされたプログラムに従って、各種の処理を実行する。RAM213にはまた、CPU211が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU211、ROM212、およびRAM213は、バス214を介して相互に接続されている。このバス214にはまた、入出力インタフェース215も接続されている。
入出力インタフェース215には、キーボード、マウスなどよりなる入力部216、ディスプレイやスピーカなどよりなる出力部217、ハードディスクなどより構成される記憶部218、モデム、ターミナルアダプタなどより構成される通信部219が接続されている。通信部219は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース215にはまた、必要に応じてドライブ220が接続され、磁気ディスク221、光ディスク222、光磁気ディスク223、もしくは、半導体メモリ224などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部218にインストールされる。
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
この記録媒体は、図12に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク221(フロッピディスクを含む)、光ディスク222(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク223(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリ224などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているROM212や、記憶部218に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記憶されるプログラムを記述するステップは、含む順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的もしくは個別に実行される処理をも含むものである。
従来の符号化装置の構成を示すブロック図である。 本発明を適用した撮像装置の構成を示すブロック図である。 図2の圧縮/解凍部に含まれる符号化部の構成を示すブロック図である。 肌色の検出について説明するための図である。 フィルタ選択処理について説明するためのフローチャートである。 量子化スケールとカットオフ周波数の関係について説明するための図である。 判定対象マクロブロックと中心マクロブロックとの位置関係について説明するための図である。 中心マクロブロック、拡張マクロブロック、および、その他のマクロブロックとの関係について説明するための図である。 量子化スケール算出処理1について説明するためのフローチャートである。 量子化スケール算出処理2について説明するためのフローチャートである。 本発明を適用した符号化部の他の構成例を示すブロック図である。 パーソナルコンピュータの構成を示すブロック図である。
符号の説明
17 量子化部, 31 視覚パラメータ検出部, 51 撮像装置, 62 カメラDSP, 93 圧縮/解凍部, 131 フィルタ, 132 制御部, 133 肌色検出部, 135 残差演算部, 161 フレーム内予測部, 162 変換処理部, 163 逆変換処理部, 164 ループフィルタ, 165 エントロピー符号化部

Claims (12)

  1. 画像データを所定の画素数で分割したブロックごとに符号化する符号化装置において、
    前記画像データを前記ブロックごとに量子化する量子化手段と、
    前記ブロックに、所定の色の画素が含まれているか否かを判断する判断手段と、
    1フレームに含まれる複数の前記ブロックのうち、前記判断手段により所定の色の画素が含まれていると判断された前記ブロックの数が、第1の閾値以下であると判断された場合、前記判断手段により所定の色の画素が含まれていると判断された前記ブロックに割り当てられる符号化ビット数が増加するように、前記量子化手段による量子化を制御する制御手段と
    を備えることを特徴とする符号化装置。
  2. 前記ブロックのアクティビティを検出するアクティビティ検出手段を更に備え、
    前記制御手段は、前記アクティビティ検出手段により検出された前記ブロックの前記アクティビティを更に用いて、前記量子化手段による量子化を制御する
    ことを特徴とする請求項1に記載の符号化装置。
  3. 前記制御手段は、処理中の前記画像データと時間的に一つ前の前記画像データとの動きを示す値を求め、その値を更に用いて、前記量子化手段による量子化を制御する
    ことを特徴とする請求項1に記載の符号化装置。
  4. 前記画像データをフィルタリングするフィルタリング手段と、
    前記フィルタリング手段によるフィルタリングを制御するフィルタリング制御手段と
    を更に備え、
    前記フィルタリング制御手段は、前記量子化手段による量子化の量子化スケールを基に、フィルタリングのカットオフ周波数を制御する
    ことを特徴とする請求項1に記載の符号化装置。
  5. 前記マクロブロックの残差を演算する残差演算手段を更に備え、
    前記フィルタリング制御手段は、前記残差演算手段により演算された前記残差が第2の閾値よりも大きい第1のマクロブロックに対して、前記量子化手段による量子化の量子化スケールを基に、フィルタリングのカットオフ周波数を制御し、
    前記残差が第2の閾値よりも小さく、かつ、前記第1のマクロブロックに対して上下左右のいずれかの辺において接する第2のマクロブロックに対して、前記第2のマクロブロックの前記量子化スケールの1/2の量子化スケールにより定められるカットオフ周波数となるようにフィルタリングのカットオフ周波数を制御し、
    前記残差が第2の閾値よりも小さく、かつ、前記第1のマクロブロックに対して上下左右のいずれの辺においても接することがない第3のマクロブロックに対して、フィルタリングが実行されないように前記フィルタを制御する
    ことを特徴とする請求項4に記載の符号化装置。
  6. 前記画像データがフレーム内予測符号化データである場合、フレーム内予測を実行するフレーム内予測実行手段
    を更に備えることを特徴とする請求項1に記載の符号化装置。
  7. 前記画像データが順方向予測符号化データ、または、双方向予測符号化データである場合の参照画像をフィルタリングするフィルタリング手段
    を更に備えることを特徴とする請求項1に記載の符号化装置。
  8. 画像データを所定の画素数で分割したブロックごとに符号化する符号化装置の符号化方法において、
    所定の色の画素が含まれている前記ブロックを検出する検出ステップと、
    1フレームに含まれる複数の前記ブロックのうち、前記検出ステップの処理により検出された前記所定の色の画素が含まれている前記ブロックの数が、所定の閾値以下であるか否かを判断する判断ステップと、
    前記判断ステップの処理により、前記所定の色の画素が含まれている前記ブロックの数が、所定の閾値以下であると判断された場合、前記判断ステップの処理により所定の色の画素が含まれていると判断された前記ブロックに割り当てられる符号化ビット数が増加するように、前記画像データの量子化を制御する制御ステップと
    を含むことを特徴とする符号化方法。
  9. 画像データを所定の画素数で分割したブロックごとに符号化する処理を制御するコンピュータが実行可能なプログラムであって、
    所定の色の画素が含まれている前記ブロックを検出する検出ステップと、
    1フレームに含まれる複数の前記ブロックのうち、前記検出ステップの処理により検出された前記所定の色の画素が含まれている前記ブロックの数が、所定の閾値以下であるか否かを判断する判断ステップと、
    前記判断ステップの処理により、前記所定の色の画素が含まれている前記ブロックの数が、所定の閾値以下であると判断された場合、前記判断ステップの処理により所定の色の画素が含まれていると判断された前記ブロックに割り当てられる符号化ビット数が増加するように、前記画像データの量子化を制御する制御ステップと
    を含むことを特徴とする処理をコンピュータに実行させるプログラム。
  10. 撮像された、または、他の情報処理装置から取得された画像データを、所定の画素数で分割したブロックごとに符号化する撮像装置において、
    撮像された、または、他の情報処理装置から取得された前記画像データ処理する画像処理手段を備え、
    前記画像処理手段は、
    前記画像データを前記ブロックごとに量子化する量子化手段と、
    前記ブロックに、所定の色の画素が含まれているか否かを判断する判断手段と、
    1フレームに含まれる複数の前記ブロックのうち、前記判断手段により所定の色の画
    素が含まれていると判断された前記ブロックの数が、所定の閾値以下であると判断され
    た場合、前記判断手段により所定の色の画素が含まれていると判断された前記ブロック
    に割り当てられる符号化ビット数が増加するように、前記量子化手段による量子化を制
    御する制御手段と
    を備えることを特徴とする撮像装置。
  11. 撮像された、または、他の情報処理装置から取得された画像データを、所定の画素数で分割したブロックごとに符号化する撮像装置の画像処理方法において、
    所定の色の画素が含まれている前記ブロックを検出する検出ステップと、
    1フレームに含まれる複数の前記ブロックのうち、前記検出ステップの処理により検出された前記所定の色の画素が含まれている前記ブロックの数が、所定の閾値以下であるか否かを判断する判断ステップと、
    前記判断ステップの処理により、前記所定の色の画素が含まれている前記ブロックの数が、所定の閾値以下であると判断された場合、前記判断ステップの処理により所定の色の画素が含まれていると判断された前記ブロックに割り当てられる符号化ビット数が増加するように、前記画像データの量子化を制御する制御ステップと
    を含むことを特徴とする画像処理方法。
  12. 撮像された、または、他の情報処理装置から取得された画像データを、所定の画素数で分割したブロックごとに符号化する処理を制御するコンピュータが実行可能なプログラムであって、
    所定の色の画素が含まれている前記ブロックを検出する検出ステップと、
    1フレームに含まれる複数の前記ブロックのうち、前記検出ステップの処理により検出された前記所定の色の画素が含まれている前記ブロックの数が、所定の閾値以下であるか否かを判断する判断ステップと、
    前記判断ステップの処理により、前記所定の色の画素が含まれている前記ブロックの数が、所定の閾値以下であると判断された場合、前記判断ステップの処理により所定の色の画素が含まれていると判断された前記ブロックに割り当てられる符号化ビット数が増加するように、前記画像データの量子化を制御する制御ステップと
    を含むことを特徴とする処理をコンピュータに実行させるプログラム。
JP2003310973A 2003-09-03 2003-09-03 符号化装置および符号化方法、撮像装置および画像処理方法、並びに、プログラム Expired - Fee Related JP4427713B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003310973A JP4427713B2 (ja) 2003-09-03 2003-09-03 符号化装置および符号化方法、撮像装置および画像処理方法、並びに、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003310973A JP4427713B2 (ja) 2003-09-03 2003-09-03 符号化装置および符号化方法、撮像装置および画像処理方法、並びに、プログラム

Publications (2)

Publication Number Publication Date
JP2005080151A true JP2005080151A (ja) 2005-03-24
JP4427713B2 JP4427713B2 (ja) 2010-03-10

Family

ID=34412658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003310973A Expired - Fee Related JP4427713B2 (ja) 2003-09-03 2003-09-03 符号化装置および符号化方法、撮像装置および画像処理方法、並びに、プログラム

Country Status (1)

Country Link
JP (1) JP4427713B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007074050A (ja) * 2005-09-05 2007-03-22 Sony Corp 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
JP2008079148A (ja) * 2006-09-22 2008-04-03 Ntt Electornics Corp 符号化装置
JP2009130723A (ja) * 2007-11-26 2009-06-11 Sony Corp 符号化装置、符号化方法、プログラム、及び、撮像装置
JP2009200871A (ja) * 2008-02-22 2009-09-03 Canon Inc 符号化装置
US8363719B2 (en) 2007-10-29 2013-01-29 Canon Kabushiki Kaisha Encoding apparatus, method of controlling thereof, and computer program
US8606028B2 (en) 2006-03-30 2013-12-10 Kabushiki Kaisha Toshiba Pixel bit depth conversion in image encoding and decoding
JP2015115735A (ja) * 2013-12-11 2015-06-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
JP2018050256A (ja) * 2016-09-23 2018-03-29 日本電信電話株式会社 映像符号化方法、映像符号化装置及び映像符号化プログラム

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007074050A (ja) * 2005-09-05 2007-03-22 Sony Corp 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
US8107529B2 (en) 2005-09-05 2012-01-31 Sony Corporation Coding device, coding method, program of coding method, and recording medium recorded with program of coding method
JP4650173B2 (ja) * 2005-09-05 2011-03-16 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
US8606028B2 (en) 2006-03-30 2013-12-10 Kabushiki Kaisha Toshiba Pixel bit depth conversion in image encoding and decoding
JP4668878B2 (ja) * 2006-09-22 2011-04-13 Nttエレクトロニクス株式会社 符号化装置
JP2008079148A (ja) * 2006-09-22 2008-04-03 Ntt Electornics Corp 符号化装置
US8363719B2 (en) 2007-10-29 2013-01-29 Canon Kabushiki Kaisha Encoding apparatus, method of controlling thereof, and computer program
JP4626644B2 (ja) * 2007-11-26 2011-02-09 ソニー株式会社 符号化装置、符号化方法、プログラム、及び、撮像装置
US8340174B2 (en) 2007-11-26 2012-12-25 Sony Corporation Image processing device and image processing method
JP2009130723A (ja) * 2007-11-26 2009-06-11 Sony Corp 符号化装置、符号化方法、プログラム、及び、撮像装置
JP2009200871A (ja) * 2008-02-22 2009-09-03 Canon Inc 符号化装置
JP2015115735A (ja) * 2013-12-11 2015-06-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
JP2018050256A (ja) * 2016-09-23 2018-03-29 日本電信電話株式会社 映像符号化方法、映像符号化装置及び映像符号化プログラム

Also Published As

Publication number Publication date
JP4427713B2 (ja) 2010-03-10

Similar Documents

Publication Publication Date Title
US10033935B2 (en) Image pickup element, imaging device, and imaging method
JP5216070B2 (ja) 符号化装置及び符号化方法
KR101901087B1 (ko) 화상 처리 장치 및 방법
JP4794987B2 (ja) 映像信号処理装置
KR101394209B1 (ko) 영상의 인트라 예측 부호화 방법
JP2009004920A (ja) 画像符号化装置および画像符号化方法
JP4804107B2 (ja) 画像符号化装置、画像符号化方法及びそのプログラム
KR20130070597A (ko) 화상 처리 장치와 화상 처리 방법
JP2011223302A (ja) 画像処理装置と画像処理方法
JPWO2011080925A1 (ja) 画像符号化装置および方法
JP2006114979A (ja) 画像符号化装置及びその方法
JP2007049680A (ja) イメージ圧縮デバイス及びその方法
JP4427713B2 (ja) 符号化装置および符号化方法、撮像装置および画像処理方法、並びに、プログラム
JP5625543B2 (ja) 符号化装置、電子機器、撮像装置、および撮像システム
JP4911625B2 (ja) 画像処理装置、およびそれを搭載した撮像装置
JP2004235683A (ja) 画像処理装置および符号化装置とそれらの方法
JP4515870B2 (ja) 信号処理装置及び映像システム
JP4700992B2 (ja) 画像処理装置
JP2008245201A (ja) 符号化装置
JP4626644B2 (ja) 符号化装置、符号化方法、プログラム、及び、撮像装置
JP2008153802A (ja) 動画像符号化装置及び動画像符号化プログラム
KR100816461B1 (ko) 실시간 디블록킹 필터 및 이를 이용한 디블록킹 방법
JP2006157084A (ja) 画像符号化装置、画像符号化方法、及びコンピュータプログラム
JP2014075708A (ja) 動画像符号化装置及び動画像符号化方法
JP2009017450A (ja) 画像処理装置、画像処理方法および画像処理プログラム、ならびに、再生装置、再生方法および再生プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060531

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090709

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090917

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091028

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091119

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091202

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees