説明

動画像圧縮符号化装置

【課題】高画質を保ったまま圧縮率を向上可能な動画像圧縮符号化装置を提供する。
【解決手段】圧縮符号化装置は、肌色検出部10と、QP値選択部1と、差分データ直交変換部20と、量子化部4と、圧縮符号化部30と、レート制御部8とを備えている。MBが肌色であるか否かに応じてQP値を切替え、肌色である場合は圧縮率を低く、肌色でない場合は圧縮率を高くする。そのため、本実施形態の圧縮符号化装置は、画像の劣化が認識されやすい肌色のMBを高画質を保って圧縮符号化できるとともに、画像の劣化がそれほど認識されにくい肌色以外のMBの圧縮符号化後のデータ量を小さくすることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画像を圧縮符号化する動画像圧縮符号化装置に関する。
【背景技術】
【0002】
動画像の高画質化や高解像化に伴い、動画像を効率よく圧縮符号化する技術が不可欠になってきている。動画像を圧縮符号化する規格として、H.264規格が提案されている(非特許文献1)。
【0003】
圧縮後のビット量に制限がある場合に、画面(フレーム)内の視覚的に感度が高い部分(例えば肌色など)とそれ以外の部分を同じ圧縮率で画像を圧縮符号化すると、画像の劣化が目立ってしまうという問題がある。このため、視覚的に感度が高い部分とそれ以外の部分で圧縮率を変え、ビット量の制限を満たしながら出来るだけ画質劣化が目立たないようにする圧縮符号化技術が必要となっている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】大久保榮編集、「H.264/AVC教科書」、株式会社インプレス、2004年7月30日、p.105−138
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、高画質を保ったまま圧縮率を向上可能な動画像圧縮符号化装置を提供するものである。
【課題を解決するための手段】
【0006】
本発明の一態様によれば、入力画像に含まれる複数の画素からなるマクロブロック内の各画素が所定の色であるか否かを判定する画素判定部と、前記マクロブロック内に存在する前記所定の色である画素数をカウントする画素数カウント部と、前記カウント結果に応じて前記マクロブロックを前記所定の色とみなすか否かを判定するマクロブロック判定部と、前記マクロブロックを前記所定の色とみなすと判定された場合は第1の量子化パラメータを選択し、前記所定の色とみなさないと判定された場合は前記第1の量子化パラメータとは量子化ステップが異なる第2の量子化パラメータを選択する量子化パラメータ選択部と、前記入力画像の予測画像と前記入力画像との差分データを直交変換して直交変換データを生成する差分データ直交変換部と、前記量子化パラメータ選択部で選択された前記第1または第2の量子化パラメータに応じて定まる量子化ステップで前記直交変換データを除した結果を整数値に丸め、量子化データを生成する量子化部と、前記量子化データを圧縮符号化し、圧縮符号化データを生成する圧縮符号化部と、を備えることを特徴とする動画像圧縮符号化装置が提供される。
【発明の効果】
【0007】
本発明によれば、高画質を保ったまま圧縮率を向上できる。
【図面の簡単な説明】
【0008】
【図1】本発明の第1の実施形態に係る動画像圧縮符号化装置の概略構成を示す図。
【図2】圧縮符号化装置の処理動作の一例を示すフローチャート。
【図3】肌色検出部10の処理動作の一例を示すフローチャート。
【図4】色相H、彩度S、明度Vで表される色空間を示す図。
【図5】本発明の第2の実施形態に係る圧縮符号化装置の概略構成を示す図。
【図6】肌色検出部10aの処理動作の一例を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、本発明に係る動画像圧縮符号化装置の実施形態について、図面を参照しながら具体的に説明する。
【0010】
(第1の実施形態)
図1は、本発明の第1の実施形態に係る動画像圧縮符号化装置(以下、圧縮符号化装置)の概略構成を示す図である。本実施形態では、H.264規格により動画像の圧縮符号化を行う例を示す。図1の圧縮符号化装置は、肌色検出部10と、QP値(Quantization Parameter:量子化パラメータ)選択部1と、差分データ直交変換部20と、量子化部4と、圧縮符号化部30と、レート制御部8とを備えている。肌色検出部10は、画素判定部11と、画素数カウント部12と、マクロブロック(以下MB)判定部13とを有する。差分データ直交変換部20は、モード判定部2と、DCTデータ生成部3とを有する。圧縮符号化部30は、2値化部5と、符号化部6と、ストリーム生成部7とを有する。
【0011】
図1の圧縮符号化装置は、1チップに内蔵されていてもよいし、2つ以上のチップに分散して内蔵されていてもよい。本実施形態に係る圧縮符号化装置は、例えば、ディジタルビデオカメラで撮影した動画像を圧縮符号化したり、放送波を圧縮符号化してDVDレコーダに録画したりする際に用いられる。
【0012】
本実施形態では、8ビットのディジタル値である輝度信号Yおよび色差信号U,Vが同じ割合で構成される4:4:4の画像データが入力される例を示す。また、フレーム内の複数画素から構成され、圧縮符号化を行う単位であるMBのサイズは、水平方向・垂直方向とも16画素とする例を示す。
【0013】
肌色検出部10内の画素判定部11は、MB内の各画素が肌色(所定の色)であるか否かを判定する。画素数カウント部12は、MB内に存在する肌色の画素数をカウントする。MB判定部13は、カウント結果に応じて、MBを肌色とみなすか否かを判定する。
【0014】
QP値選択部1は、MB判定部13の判定結果に基づいて、肌色用QP値(第1の量子化パラメータ)または非肌色用QP値(第2の量子化パラメータ)を選択する。ここで、QP値とは圧縮率に対応するパラメータであり、QP値が大きいほど圧縮率が高くなる。
【0015】
差分データ直交変換部20は、入力画像の予測画像を生成し、入力画像と予測画像との差分データを直交変換する。より具体的には、モード判定部2は、画面間符号化および画面内符号化の予測モードを選択する。次に、DCTデータ生成部3は、選択された予測モードに基づいて、元画像と予測画像の差分データを計算する。さらに、DCTデータ生成部3は、差分データをDCT変換(Discrete Cosine Transform:離散コサイン変換)して、DCTデータ(直交変換データ)を生成する。
【0016】
量子化部4は、QP値選択部1が選択したQP値に基づいてDCTデータを量子化し、量子化データを生成する。
【0017】
圧縮符号化部30は、量子化データを圧縮符号化し、H.264データを生成する。より具体的には、2値化部5は、量子化データを2値化して2値化データを生成する。符号化部6は、2値化データを可変長符号化あるいは算術符号化し、符号化データを生成する。ストリーム生成部7は、符号化データにH.264規格で規定された文法情報を付加し、圧縮符号化されたH.264ストリームデータを出力する。また、ストリーム生成部7は、生成されたH.264ストリームデータの生成ビット量をレート制御部8に通知する。レート制御部8は、肌色用および非肌色用QP値を生成し、QP値選択部1へ供給する。
【0018】
本実施形態の特徴の1つは、図1の圧縮符号化装置内に、肌色検出部10と、レート制御部8と、QP値選択部1とを設けたことである。QP値選択部1は、MBが肌色であるか否かに応じて、MB毎にQP値を切替える。これにより、図1の圧縮符号化装置は、画面内で圧縮率を切替え、肌色の部分は高画質を保って圧縮符号化し、その他の部分はデータ量が小さくなるよう圧縮符号化できる。
【0019】
図2は、図1の圧縮符号化装置の処理動作の一例を示すフローチャートである。図2を用いて図1の圧縮符号化装置の処理動作を説明する。
【0020】
まず、圧縮符号化処理を始める前に、レート制御部8は肌色用および非肌色用の2つのQP値を生成し、QP値選択部1へ供給する(ステップS1)。具体的には以下の通りである。
【0021】
ビットレートを一定(CBR:Constant Bit Rate)として画像を圧縮する場合、レート制御部8は予め定められたQP値をQP値選択部1へ供給する。
【0022】
一方、ビットレートをMB毎に可変(VBR:Variable Bit Rate)にして画像を圧縮する場合、レート制御部8は、既に生成されたH.264ストリームデータの生成ビット量(以下、生成済ビット量)に応じて、QP値を算出し、QP値選択部1へ供給する。以下に具体例を示す。
【0023】
レート制御部8には、圧縮符号化後のデータであるH.264ストリームデータの目標ビットレートが予め設定されている。最初のフレームについては、レート制御部8は、予め定められたQP値をQP値選択部1へ供給する。その後のフレームについては、生成済ビット量が目標ビットレートより大きい場合、レート制御部8はQP値が大きく(すなわち、圧縮率が高く)なるようQP値を更新する。一方、生成済ビット量が目標ビットレートより小さい場合、レート制御部8はQP値が小さく(すなわち、圧縮率が低く)なるようQP値を更新する。その後、レート制御部8は更新したQP値をQP値選択部1へ供給する。
【0024】
なお、VBRの場合のビットレートの更新頻度は、1フレーム毎でもよいし、数フレーム毎でもよいが、1フレーム内でビットレートは更新されず、レート制御部8が出力するQP値は変化しない。また、生成済ビット量は、直前フレームのH.264ストリームデータのビット量でもよいし、圧縮符号化済の数フレームの平均ビットレート等でもよい。
【0025】
QP値が大きいほど圧縮率は高くなるので、VBRの場合もCBRの場合も、肌色用QP値より非肌色用QP値は大きく設定される。
【0026】
次に、肌色検出部10は、圧縮符号化処理を行うMBが肌色であるか否かを、MB毎に判定する(ステップS2)。図3は、肌色検出部10の処理動作の一例を示すフローチャートである。図3を用いて、肌色検出の手法を詳細に説明する。
【0027】
まず、画素判定部11は、入力された輝度信号Yおよび色差信号U,Vを、色信号R(赤),G(緑),B(青)に変換する(ステップS21)。変換には、例えば下記の(1)〜(3)式を用いる。
【0028】
R=Y+1.140V ・・・(1)
G=Y−0.394U−0.581V ・・・(2)
B=Y+2.032U ・・・(3)
【0029】
次に、画素判定部11は、色信号R,G,Bを色相H、彩度S、明度Vに変換する(ステップS22)。変換には、例えば下記の(4)〜(6)式を用いる。ここで、MAXおよびMINは、それぞれ色信号R,G,Bのうちの最大値および最小値とする。
【0030】
H=60*(B−G)/(MAX−MIN),(Rが最大の場合)
60*(R−B)/(MAX−MIN)+120,(Gが最大の場合)
60*(G−R)/(MAX−MIN)+240,(Bが最大の場合) ・・・(4)
S=(MAX−MIN)/MAX ・・・(5)
V=MAX ・・・(6)
但し、MAX=0のとき、彩度Sは定義されない。また、MAX=MINのとき、色相Hは定義されない。(4)式において、色相Hが負になる場合、360を加えた値を色相Hとする。
【0031】
図4は、色相H、彩度S、明度Vで表される色空間を示す図である。色相Hは色味を表す。色相Hは0度〜360度の角度であり、色相Hが0度のとき赤、120度のとき緑、240度のとき青となる。なお、図4では便宜上時計回りに角度を定義している。彩度Sは色の濃さを表す。彩度Sは0〜1の値であり、大きいほど色が濃い。明度Vは明るさを表す。明度Vは0〜255の値であり、大きいほど明るい。色相H、彩度S、明度Vで表されるHSV色空間の形状は、図4に示すような円錐である。HSV色空間は、輝度信号Yおよび色差信号U,Vや、色信号R,G,Bで表される色空間に比べ、人間の視覚に近く、人間が認識する特定の色を定義しやすい色空間である。
【0032】
画素判定部11は、ステップS21,S22の処理をMB内の16*16=256個の各画素について行う。
【0033】
その後、画素判定部11は水平画素番号i、垂直画素番号jおよび肌色画素数cntを0にリセットする(ステップS23)。以下では、水平画素番号i、垂直画素番号jの色相H、彩度S、明度Vをそれぞれ、H[i][j],S[i][j],V[i][j]とする。
【0034】
次に、画素判定部11は、H[i][j],S[i][j],V[i][j]に基づいて水平画素番号i、垂直画素番号jの画素が肌色であるか否か判定する。より具体的には、下記(7)〜(9)式をいずれも満たす場合(ステップS24)、その画素は肌色であるとして、画素数カウント部12は肌色画素数cntを1増加させる(ステップS25)。
【0035】
H0<H[i][j]<H1 ・・・(7)
S0<S[i][j]<S1 ・・・(8)
V0<V[i][j]<V1 ・・・(9)
【0036】
ここで、H0,H1,S0,S1,V0,V1は肌色を定義するための値であり、肌色と非肌色との境界となる閾値である。この境界によって囲まれた領域(図4の領域21)内の色が肌色と定義される。(7)〜(9)式では、例えば、色相H0,H1は黄色に近い値であり、彩度S0,S1および明度V0,V1は最小値と最大値との中間程度の値に設定される。
【0037】
仮に、輝度信号Yおよび色差信号U,Vや、色信号R,G,Bで肌色を定義しようとすると、肌色の定義が非常に複雑になってしまう。その結果、画素が肌色であるか否かの判定を行う処理に長い時間を要してしまう。
【0038】
これに対し、本実施形態では、画素判定部11は輝度信号Yおよび色差信号U,Vを色相H、彩度S、明度Vに変換する。HSV色空間は人間の視覚に近い色空間であるため、肌色を(7)〜(9)式および図4の領域21のように簡易に定義できる。よって、画素判定部11は肌色か否かの判定を短時間で行うことができる。
【0039】
画素判定部11および画素数カウント部12は、以上の処理をMB内の全ての画素(i=0〜15,j=0〜15)について行い、MB内に存在する肌色の画素数をカウントする(ステップS26〜S29)。
【0040】
MB内の肌色画素数cntが所定の閾値Nを超えている場合(ステップS30)、MBは全体として肌色であると判定され、MB判定部13は信号Flagをハイに設定する(ステップS31)。一方、MB内の肌色画素数cntが閾値Nを超えていない場合、MBは全体として肌色でないと判定され、MB判定部13は信号Flagをロウに設定する(ステップS32)。
【0041】
閾値Nは、例えば、MB内の画素数の半分である128に設定される。閾値Nの値が小さい場合、肌色であると判定されるMBが多くなるため、入力画像を高画質で圧縮符号化できる。閾値Nの値が大きい場合、肌色であると判定されるMBが少なくなるため、圧縮符号化後のデータ量を少なくできる。
【0042】
以上のようにして、MBが肌色であるか否かの判定処理(図2のステップS3)が行われた後、QP値選択部1は判定結果に基づいてQP値を選択する(ステップS4,S5)。すなわち、判定結果を示す信号Flagがハイであれば、肌色用QP値を選択し(ステップS4)、信号Flagがロウであれば、非肌色用QP値を選択する(ステップS5)。
【0043】
続いて、モード判定部2は画面間符号化および画面内符号化の予測モードを選択する(ステップS6)。以下に、予測モードを選択する処理動作の具体例を示す。
【0044】
画面内符号化の予測モードは、例えば、圧縮符号化を行うMBの上に位置する16画素の値を用いてMB内の垂直方向の画素を予測する「垂直予測モード」、左に位置する16画素の値を用いてMB内の水平方向の画素を予測する「水平予測モード」、上および左に位置する合計32画素の平均値でMBのすべての画素を予測する「平均値予測モード」、上に位置する16画素と左に位置する16画素とを斜め方向に内挿して画素を予測する「平面予測モード」のいずれかを選択するものとする。なお、MBの右や下に位置する画素は、未だ圧縮符号化装置に入力されていないので、これらの画素を用いて予測することはできない。
【0045】
また、画面間符号化では、動き補償のブロックサイズ、動きベクトル、ダイレクトモード、重み付き予測などの予測モードのいずれかを選択する。
【0046】
そして、画面内および画面間符号化の各予測モードの候補から以下のようにして最適な予測モードを選択する。
【0047】
高画質モード、すなわち、リアルタイムでの圧縮符号化処理を行う必要がなく、マルチパスエンコードが可能な場合、一旦すべての予測モードに対して、以下に説明するDCTデータ生成(ステップS7)〜符号化(ステップS10)を行う。次に、復号画像生成部(不図示)は符号化された画像を逆変換して復号画像を生成する。モード判定部2は、下記(10)式に示すコスト関数Cが最小となる予測モードを選択する。
【0048】
C=SSD+λMODE*GenBit ・・・(10)
ここで、SSDは、圧縮符号化前の画像と復号画像との画素毎の誤差の2乗の総和である(Sum of Square Difference)。GenBitは、圧縮符号化後の発生ビットである。λMODEはラグランジュ乗数で、例えば下記(11)式を用いる。
【0049】
λMODE=a*2QP/3 ・・・(11)
QPはQP値選択部1で選択されたQP値、aはピクチャの種類に応じた定数であり、IピクチャおよびPピクチャの場合はa=0.85、Bピクチャの場合はa=3.4である。QP値が大きいほどλMODEは大きくなるが、圧縮率が高くなるのでGenBitは小さくなる。この条件において、コスト関数Cが最小となる予測モードをモード判定部2は選択する。
【0050】
一方、高速モード、すなわち、リアルタイムでの圧縮符号化が要求され、1パスエンコードを行う場合は、圧縮符号化前の画像と予測画像との画素毎の差分絶対値の総和が最小となる予測モードをモード判定部2は選択する。なお、高速モードの場合、モード判定部2はQP値を参照しない。
【0051】
その後、DCTデータ生成部3は、決定された予測モードに基づいて予測画像を生成し、圧縮符号化前の画像と予測画像との差分データを計算する。続いて、DCTデータ生成部3は差分データをDCT変換して、DCTデータを生成する(ステップS7)。これにより、MB内の冗長な成分を取り除くことができる。なお、DCT変換以外の直交変換を行ってもよい。
【0052】
次に、量子化部4は、量子化ステップでDCTデータを除した結果を整数値に丸め、量子化データを生成する(ステップS8)。量子化ステップとは、QP値に応じて定まる値であり、QP値が大きいほど量子化ステップは大きくなる。すなわち、QP値が大きいほど、量子化データのビット数は少なくなる。
【0053】
肌色用QP値は非肌色用QP値より小さいので、MBが肌色であれば、量子化ステップも小さくなる。よって、MBが肌色である場合は、量子化データのビット数が多くなる。その結果、画像の劣化が認識されやすい肌色のMBは、高画質を保って圧縮符号化される。一方、MBが肌色でない場合は、量子化データのビット数が少なくなる。その結果、画像の劣化がそれほど認識されない肌色以外のMBは、圧縮符号化後のデータ量を小さくすることができる。
【0054】
その後、2値化部5は量子化データを2値化して2値化データを生成する(ステップS9)。例えば、量子化データがXである場合、X個の‘1’とそれに続く1個の‘0’を2値化データとする(ユーナリー・バイナライゼーション方式)。トランケーテッド・ユーナリー・バイナライゼーション方式等、他の方式で2値化してもよい。
【0055】
さらに、符号化部6は、2値化データを可変長符号化あるいは算術符号化し、符号化データを生成する(ステップS10)。可変長符号化とは、出現頻度の高い数値ほど短いビットの符号を割り振る手法であり、圧縮符号化後の生成データ量を小さくできる。また、算術符号化とは、出現頻度を固定とせず、時間とともに変化する出現確率に適応的に符号を定め、さらにデータ量を小さくする手法である。
【0056】
ストリーム生成部7は、符号化データにH.264規格で規定された文法情報を付加し、圧縮符号化されたH.264ストリームデータを出力する(ステップS11)。
【0057】
以上のステップS2〜S11の処理により、1つのMBの圧縮符号化が完了する。同様の処理を、フレーム内の全てのMBに対して行う。
【0058】
1フレーム内の圧縮符号化が完了すると、ストリーム生成部7は、生成された1フレーム分のH.264ストリームデータの生成ビット量をレート制御部8に通知する(ステップS12)。上述のように、この生成ビット量はレート制御部8によってQP値の算出に用いられる。なお、ストリーム生成部7は、数フレームの生成ビット量に応じた生成ビット量を、数フレームに一度の頻度でレート制御部8へ通知してもよい。また、CBRの場合、ステップS12の処理を省略してもよい。
【0059】
以上で1フレームの圧縮符号化処理が完了し、続いて次のフレームの圧縮符号化処理を行う。
【0060】
このように、第1の実施形態では、MBが肌色であるか否かに応じてQP値を切替え、肌色である場合は圧縮率を低く、肌色でない場合は圧縮率を高くする。そのため、本実施形態の圧縮符号化装置は、画像の劣化が認識されやすい肌色のMBを高画質を保って圧縮符号化できるとともに、画像の劣化がそれほど認識されにくい肌色以外のMBの圧縮符号化後のデータ量を小さくすることができる。その結果、画像全体の高画質を保ったまま圧縮率を向上できる。
【0061】
(第2の実施形態)
第1の実施形態では、MB内の画素のみに基づいてMBが肌色か否かの判定を行う。これに対し、以下に説明する第2の実施形態では、隣接する圧縮符号化済のMBが肌色であるか否かも考慮して、肌色判定を行うものである。
【0062】
図5は、本発明の第2の実施形態に係る圧縮符号化装置の概略構成を示す図である。図5では、図1と共通する構成部分には同一の符号を付しており、以下では相違点を中心に説明する。図5の圧縮符号化装置は、肌色検出部10aの内部構成のみ図1と異なっており、その他は図1と同様である。
【0063】
肌色検出部10aは、図1の肌色検出部10に加えて、さらにメモリ14(記憶部)を有する。メモリ14は、MBが肌色であるか否かの判定結果を記憶する。メモリ14は、直前に圧縮符号化を行った(水平方向のMB数+1)個分の判定結果を記憶できる。例えば、水平方向の画素数が1920画素である場合、メモリ14は1920/16+1=121個分の判定結果を記憶できる。
【0064】
図6は、肌色検出部10aの処理動作の一例を示すフローチャートである。ステップS21〜S29は図3と同様である。異なる点は、MB判定部13は肌色であるか否かの判定結果をメモリ14に記憶し(ステップS62)、MB判定部13は圧縮符号化を行うMBの左、上および左上に位置するMBの判定結果も考慮して、MBが肌色であるか否かを判定する点(ステップS51〜S61)である。以下では、上からp番目、左からq番目のMBをMB(p,q)とし、水平方向にH個、垂直方向にV個のMBが存在する場合を例に取って具体的に説明する。
【0065】
フレーム内で初めに圧縮符号化が行われるMB(0,0)については、図3と同様に肌色か否かの判定が行われる(ステップS21〜S29,S51,S52a,S59〜S61)。そして、MB判定部13は、判定結果をメモリ14へ記憶する(ステップS62)。
【0066】
MB(0,0)の次に圧縮符号化が行われる右隣のMB(0,1)については、まずステップS21〜S29の処理が行われる。MB(0,1)の位置は上端であるが(ステップS51)、左端ではない(ステップS52a)。そこで、画素数カウント部12はMB(0,1)の左に位置するMB(0,0)の判定結果を参照し、肌色と判定されていれば(ステップS53a)、肌色画素数cntに定数Nl(第1の定数)を加算する(ステップS54a)。そして、MB判定部13は判定を行い(ステップS59〜S61)、判定結果をメモリ14に記憶する(ステップS62)。
【0067】
定数Nlおよび以下に説明する定数Nu(第2の定数),Nlu(第3の定数)は、予め設定される値である。画素数カウント部12が肌色画素数cntにこれらの値を加算することで、MBが肌色であると判定されやすくなる。
【0068】
同様にして、画面上端に位置するMB(0,2)〜MB(0,H−1)の圧縮符号化が行われる。MB(0,H−1)まで圧縮符号化された時点でH個、すなわち、MB(0,0)〜MB(0,H−1)についての判定結果がメモリ14に記憶されている。
【0069】
MB(0,H−1)の次に圧縮符号化が行われるMB(1,0)は、上端ではないが(ステップS51)、左端である(ステップS52b)。そこで、画素数カウント部12はMB(1,0)の上に位置するMB(0,0)の判定結果を参照し、肌色と判定されていれば(ステップS55a)、肌色画素数cntに定数Nuを加算する(ステップS56a)。そして、MB判定部13は判定を行い(ステップS59〜S61)、判定結果をメモリ14に記憶する(ステップS62)。この時点で、(H+1)個の判定結果がメモリ14に記憶されている。
【0070】
MB(1,0)の次に圧縮符号化が行われるMB(1,1)は、上端でもなく(ステップS51)、左端でもない(ステップS52b)。そこで、画素数カウント部12はMB(1,1)の左、上および左上にそれぞれ位置するMB(1,0),MB(0,1)およびMB(0,0)の判定結果を参照し、肌色と判定されていれば肌色画素数cntにそれぞれ定数Nl,Nu,Nluを加算する(ステップS53b〜S58)。そして、MB判定部13は判定を行い(ステップS59〜S61)、判定結果をメモリ14に記憶する(ステップS62)。このとき、最も早くメモリ14に記憶されていたMB(0,0)の判定結果は消去される。
【0071】
以下、同様にして残りのMBの圧縮符号化が行われる。上述のように、MB(1,1)以降の圧縮符号化が行われる際、メモリ14には(H+1)個の判定結果が記憶されている。画面の上端であるが左端でないMB(0,q)(q=1〜H−1)では、左に位置するMB(0,q−1)の判定結果に応じて画素数カウント部12は肌色画素数cntに定数Nlを加算する。画面の左端であるが上端でないMB(p,0)(p=1〜V−1)では、上に位置するMB(p−1,0)の判定結果に応じて画素数カウント部12は肌色画素数cntに定数Nuを加算する。画面の左端でも上端でもないMB(p,q)(p=1〜V−1,q=1〜H−1)については、左、上および左上にそれぞれ位置するMB(p,q−1),MB(p−1,q),MB(p−1,q−1)の判定結果に応じて、画素数カウント部12は肌色画素数cntに定数Nl,Nu,Nluを加算する。
【0072】
このように、隣接するMBの判定結果を参照して圧縮符号化することで、以下のような効果が得られる。
【0073】
隣接するMBが肌色である場合、圧縮符号化を行うMBも肌色である可能性が高い。しかし、肌色と判定されるべきMBであっても、(7)〜(9)式を満たさない画素がいくつかあって、MB内に存在する肌色画素数cntが閾値Nをわずかに超えないことがある。
【0074】
本実施形態では、隣接するMBが肌色であれば、画素数カウント部12は肌色画素数cntに定数Nl等を加算する。よって、加算された肌色画素数cntが閾値Nを超えていれば、MBは肌色と判定される。このようにして、MB内に存在する肌色画素数cntだけでは閾値Nを超えないMBでも、隣接するMBが肌色であれば肌色と判定されやすくなり、肌色に近い色合いのMBまでも高画質を保って圧縮符号化される。
【0075】
また、顔と背景との境界にあたるMB等、肌色と他の色がMB内に混在することがある。この場合、隣接するMBであって、肌色の部分にあたるMBは、高画質を保って圧縮符号化される。一方、境界にあたるMBは、MB内に肌色と他の色が混在している。そのため、隣接するMBを参照しない場合、MB全体として肌色でないと判定され、圧縮率を高くして圧縮符号化される可能性がある。このように、第1の実施形態の場合、境界にあたるMBは圧縮率が高くなり、しかも隣接するMBとの圧縮率の差が大きくなるため、肌色部分の劣化が目立つ可能性がある。
【0076】
本実施形態では、隣接するMBが肌色であれば、MB内に肌色と他の色が混在していても肌色と判定されやすくなり、肌色と他の色との境界のMBも高画質を保って圧縮符号化することができる。
【0077】
また、本実施形態では、画素数カウント部12は隣接するMBのうち、左、上および左上のMBのみを参照し、右、下および右下のMBを参照しない。その理由は、画像データは、画面の左から右、および、上から下の順に入力されるため、左、上および左上のMBのみ肌色判定の処理が終了しているからである。右、下および右下のMBを参照するには、一旦全てのMBについて肌色判定を行い、判定結果をメモリ14に記憶しておき、その結果を参照してもう一度MBの肌色判定を行う等の処理が必要になる。すると、全MBの判定結果を記憶するための膨大なメモリ14が必要となる。しかも、画像データをリアルタイムで圧縮符号化できなくなる。
【0078】
本実施形態では、肌色判定が終了している左、上および左上のMBの判定結果のみを参照するため、メモリ14は小規模でよく、ハードウェアを用いてリアルタイムで動画像を圧縮符号化できる。
【0079】
なお、メモリ14は少なくとも1つのMBの肌色判定結果を記憶すればよい。例えば、メモリ14は左のMBのみの判定結果を記憶し、画素数カウント部12は左のMBのみを参照してもよい。これにより、メモリ14の規模を削減可能である。
【0080】
このように、第2の実施形態では、隣接するMBの判定結果を参照して肌色判定が行われる。そのため、第1の実施形態より精度良く肌色のMBを検出でき、より確実に肌色の部分を高画質に保って圧縮符号化できる。
【0081】
以上に説明した各実施形態では、画像データが4:4:4である例を示したが、水平方向の色差信号U,Vのデータ量が輝度信号Yの1/2である4:2:2や、水平および垂直方向の色差信号U,Vのデータ量が輝度信号Yの1/2である4:2:0の画像データであってもよい。この場合、色差補間部を設け、色差信号U,Vの補間処理を行えばよい。
【0082】
肌色検出部10(または10a)に換えて特定色検出部を設け、特定色検出部は画像の劣化を認識しやすい肌色以外の色(例えば緑)を所定の色として検出してもよい。また、特定色検出部は画像の劣化を認識しにくい色を検出し、MBがその色であると判定された場合は圧縮率を高くしてもよい。さらに、特定色検出部を複数設け、複数の色を検出してQP値を制御してもよい。
【0083】
また、上述した各実施形態では、画素判定部11は、入力画像に対応する輝度信号Yおよび色差信号U,Vを、色相値、彩度値および明度値に変換し、色相値、彩度値および明度値がそれぞれ所定の範囲内にある場合に、画素が肌色であると判定する。画素判定部11は、輝度信号Yおよび色差信号U,Vあるいは色信号R,G,Bに基づいて、画素が肌色であるか否かの判定を行ってもよい。
【0084】
上述した各実施形態では、H.264規格により動画像の圧縮符号化を行う例を示したが、MPEG等他の方式により動画像を圧縮符号化して圧縮符号化データを生成する場合にも適用可能である。
【0085】
上述した実施形態で説明した圧縮符号化装置の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、圧縮符号化装置の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【0086】
また、圧縮符号化装置の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【0087】
上記の記載に基づいて、当業者であれば、本発明の追加の効果や種々の変形を想到できるかもしれないが、本発明の態様は、上述した個々の実施形態には限定されるものではない。特許請求の範囲に規定された内容およびその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
【符号の説明】
【0088】
1 QP値選択部
4 量子化部
11 画素数判定部
12 画素数カウント部
13 MB判定部
14 メモリ
20 差分データ直交変換部
30 圧縮符号化部

【特許請求の範囲】
【請求項1】
入力画像に含まれる複数の画素からなるマクロブロック内の各画素が所定の色であるか否かを判定する画素判定部と、
前記マクロブロック内に存在する前記所定の色である画素数をカウントする画素数カウント部と、
前記カウント結果に応じて前記マクロブロックを前記所定の色とみなすか否かを判定するマクロブロック判定部と、
前記マクロブロックを前記所定の色とみなすと判定された場合は第1の量子化パラメータを選択し、前記所定の色とみなさないと判定された場合は前記第1の量子化パラメータとは量子化ステップが異なる第2の量子化パラメータを選択する量子化パラメータ選択部と、
前記入力画像の予測画像と前記入力画像との差分データを直交変換して直交変換データを生成する差分データ直交変換部と、
前記量子化パラメータ選択部で選択された前記第1または第2の量子化パラメータに応じて定まる量子化ステップで前記直交変換データを除した結果を整数値に丸め、量子化データを生成する量子化部と、
前記量子化データを圧縮符号化し、圧縮符号化データを生成する圧縮符号化部と、を備えることを特徴とする動画像圧縮符号化装置。
【請求項2】
前記マクロブロック判定部は、判定対象の前記マクロブロックの周辺に位置し、圧縮符号化済のマクロブロックが前記所定の色とみなされたか否かも考慮に入れて、前記カウント結果に応じて前記マクロブロックを前記所定の色とみなすか否かを判定することを特徴とする請求項1に記載の動画像圧縮符号化装置。
【請求項3】
個々の前記マクロブロックについて、前記所定の色とみなしたか否かの判定結果を記憶する記憶部を備え、
前記画素数カウント部は、前記判定対象のマクロブロック内に存在する前記所定の色である画素数のカウント結果を前記記憶部に記憶された判定結果に応じて調整することを特徴とする請求項2に記載の動画像圧縮符号化装置。
【請求項4】
前記画素数カウント部は、
前記判定対象のマクロブロックが前記入力画像のフレームの上端かつ左端でない位置にある場合は、前記判定対象のマクロブロックの左に位置するマクロブロックを前記所定の色とみなしたか否かの判定結果に応じて前記カウント結果に第1の定数を加算し、
前記判定対象のマクロブロックが前記入力画像のフレームの左端かつ上端でない位置にある場合は、前記判定対象のマクロブロックの上に位置するマクロブロックを前記所定の色とみなしたか否かの判定結果に応じて前記カウント結果に第2の定数を加算し、
前記判定対象のマクロブロックが前記入力画像のフレームの左端でなく、かつ上端でもない位置にある場合は、前記判定対象のマクロブロックの左に位置するマクロブロックを前記所定の色とみなしたか否かの判定結果に応じて前記カウント結果に前記第1の定数を加算し、かつ前記判定対象のマクロブロックの上に位置するマクロブロックを前記所定の色とみなしたか否かの判定結果に応じて前記カウント結果に前記第2の定数を加算し、かつ前記判定対象のマクロブロックの左上に位置するマクロブロックを前記所定の色とみなしたか否かの判定結果に応じて前記カウント結果に第3の定数を加算することを特徴とする請求項3に記載の動画像圧縮符号化装置。
【請求項5】
前記画素判定部は、前記入力画像に対応する信号を、色相値、彩度値および明度値に変換し、前記色相値、彩度値および明度値がそれぞれ所定の範囲内にある場合に、前記画素は前記所定の色であると判定することを特徴とする請求項1乃至4のいずれかに記載の動画像圧縮符号化装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−206751(P2010−206751A)
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願番号】特願2009−53100(P2009−53100)
【出願日】平成21年3月6日(2009.3.6)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】