(57)【特許請求の範囲】
【請求項１】
ビデオ圧縮方法を実行するようにプログラムされたプロセッサであって、前記方法は：
前記プロセッサにおいて、フレームにて、予め設定されたトーン領域内の色を有する第１のピクセルを判定するステップと、
前記プロセッサにおいて、前記フレームにて、少なくとも１つの顔特徴の部分の第２のピクセルを判定するステップと、
前記フレームにおける各ピクセル毎に、
前記第１のピクセルから特定の閾値距離内に位置し、かつ、前記第２のピクセルではないピクセルに対して第１の値を割り当て、
前記第２のピクセルであって、前記第１のピクセルのいずれからも特定の閾値距離の距離内に位置しないピクセルに対して第２の値を割り当て、
前記第１のピクセルから特定の閾値距離内に位置し、かつ、前記第２のピクセルであるピクセルに対して第３の値を割り当て、
前記第１のピクセルに対して特定の閾値距離内に位置せず、かつ、前記第２のピクセルでもないピクセルに対して第４の値を割り当てるステップと、
前記フレーム内のブロックごとに前記割り当てたピクセルの値を平均化することで、それぞれのブロックスコアを生成するステップと、
前記プロセッサにおいて、前記ブロックスコアに基づいて選択された符号化パラメータを用いて、前記ブロックを圧縮するステップと含む
ことを特徴とするプロセッサ。
【請求項２】
前記第１のピクセルを判定するステップは、各ピクセルの色と、ポリゴン形状のトーン領域とを比較するステップを含むことを特徴とする請求項１に記載のプロセッサ。
【請求項３】
前記予め設定されたトーン領域は、人の皮膚トーンを示すＣｂＣｒ値を含むことを特徴とする請求項２に記載のプロセッサ。
【請求項４】
前記予め設定されたトーン領域は、人の皮膚トーンを示すＲＧＢ値を含むことを特徴とする請求項２に記載のプロセッサ。
【請求項５】
前記第２のピクセルを判定するステップは、前記フレーム内の前記ピクセルに関するエッジ検出処理を実行するステップを含むことを特徴とする請求項１に記載のプロセッサ。
【請求項６】
前記第２のピクセルを判定するステップは、ルマ空間における前記ピクセルに関する特徴検出処理を実行するステップを含むことを特徴とする請求項１に記載のプロセッサ。
【請求項７】
前記第１、第２、第３、第４の値はそれぞれ互いに異なることを特徴とする請求項１に記載のプロセッサ。
【請求項８】
前記第２の値は前記第１の値よりも大きいことを特徴とする請求項１に記載のプロセッサ。
【請求項９】
前記第３の値は前記第２の値よりも大きいことを特徴とする請求項８に記載のプロセッサ。
【請求項１０】
前記第１の値は前記第４の値よりも大きいことを特徴とする請求項９に記載のプロセッサ。
【請求項１１】
前記ブロックを圧縮するステップは、
着目ブロックの前記スコアと、１つ以上の隣接ブロックの前記スコアとの比較するステップと、
前記着目ブロックとその隣接ブロックの前記スコアの差に基づき、前記着目ブロックの前記スコアの調整するステップと
を含むことを特徴とする請求項１に記載のプロセッサ。
【請求項１２】
前記ブロックを圧縮するステップは、低いスコアを有するブロックよりも高いスコアを有するブロックを低圧縮率で圧縮するステップを含むことを特徴とする請求項１に記載のプロセッサ。
【請求項１３】
前記ブロックを圧縮するステップは、
前記着目ブロックの前記スコアと、１つ以上の隣接ブロックの前記スコアとの比較するステップと、
不一致に基づき前記着目ブロックの前記スコアの調整するステップと
を含むことを特徴とする請求項１に記載のプロセッサ。
【請求項１４】
前記不一致は、前記着目ブロックが前記１つ以上の隣接ブロックと比較してより小さい、または、より大きなスコアを有することを示すことを特徴とする請求項１３に記載のプロセッサ。
【請求項１５】
前記ブロックのそれぞれがマクロブロックを含むことを特徴とする請求項１に記載のプロセッサ。
【請求項１６】
前記ブロックを圧縮するステップは、
離接ブロックのスコアに対して閾値より大きく異なるスコアを持つブロックのスコアを、前記隣接ブロックのスコアの平均値と等しくなるよう調整するステップ
を含むことを特徴とする請求項１に記載のプロセッサ。
【請求項１７】
前記プロセッサは、着目ピクセルの位置と前記第１のピクセルの位置とを比較することで、前記着目ピクセルが前記第１のピクセルから特定の閾値距離内にあるかどうかを判定することを特徴とする請求項１に記載のプロセッサ。
【請求項１８】
コンピュータが読み取り実行することで請求項１のプロセッサによって実行される方法のプログラムを記憶する記憶媒体。
【請求項１９】
装置であって、
ビデオデータを取得するイメージセンサと、
前記イメージセンサに、動作するように接続するメモリと、
前記メモリおよび前記イメージセンサに動作するように接続され、前記ビデオデータを符号化するようにプログラムされたプロセッサとを含み、
前記プロセッサは、
フレームにて、予め設定されたトーン領域内の色を有する第１のピクセルを判定し、
前記フレームにて、少なくとも１つの顔特徴の部分の第２のピクセルを判定し、
前記フレームにおける各ピクセル毎に、
前記第１のピクセルから特定の閾値距離内に位置し、かつ、前記第２のピクセルではないピクセルに対して第１の値を割り当て、
前記第２のピクセルであって、前記第１のピクセルのいずれからも特定の閾値距離の距離内に位置しないピクセルに対して第２の値を割り当て、
前記第１のピクセルから特定の閾値距離内に位置し、かつ、前記第２のピクセルであるピクセルに対して第３の値を割り当て、
前記第１のピクセルに対して特定の閾値距離内に位置せず、かつ、前記第２のピクセルでもないピクセルに対して第４の値を割り当て、
前記フレーム内のブロックごとに前記割り当てたピクセルの値を平均化することで、それぞれのブロックスコアを生成し、
前記ブロックスコアに基づいて選択された符号化パラメータを用いて、前記ブロックを圧縮する
ことを特徴とする装置。
【請求項２０】
前記装置は、ディジタルカメラ、ディジタルビデオカメラ、移動電話機、パーソナルデータアシスタント、ポータブルミュージックプレイヤおよびコンピュータの少なくとも１つを含むことを特徴とする請求項１９に記載の装置。
【請求項２１】
前記第２の値は前記第１の値よりも大きいことを特徴とする請求項１９に記載の装置。
【請求項２２】
前記第３の値は前記第２の値よりも大きいことを特徴とする請求項２１に記載の装置。
【請求項２３】
前記第１の値は前記第４の値よりも大きいことを特徴とする請求項２２に記載の装置。
【請求項２４】
前記プロセッサは、
着目ブロックのスコアと１以上の隣接ブロックのスコアとを比較し、
そのスコア間の不一致に基づき前記着目ブロックのスコアを調整し、
調整後のスコアに基づき符号化パラメータを調整する
ことを特徴とする請求項２２に記載の装置。
【請求項２５】
前記プロセッサは、スコアの低いブロックより高いスコアのブロックを、高ビットレートで圧縮することを特徴とする請求項２３に記載の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
本願で開示し請求する本発明は、アップルにとっては時期尚早であって、アップルのアイフォーン（iPhone）４のプロトタイプが２０１０年３月２５日にアップルの技術者から盗まれたと思われた時期にアップルの認可なく公にされたものである。本願がベースとする米国優先権出願は盗難にあったと思われる以前に出願したものではない。
【０００２】
［関連出願の相互参照］
本願は２０１０年４月７日出願の米国特許出願番号１２／７５５５５１号に基づく国際出願であり、ここに組み込まれ優先権を主張するものである。
【０００３】
［背景］
多くのビデオ会議アプリケーションでは、帯域幅が重要であり、従って与えられたビデオフレーム、同様に全ビデオストリームも、可能な限り能率的で、インテリジェントに符号化することが重要である。ビデオ圧縮アルゴリズムはデータマクロブロック、即ちビデオフレーム内の正方形隣接ピクセルグループに関して一般に動作する。マクロブロックは１６ピクセル×１６ピクセルのサイズが一般的であるが、ビデオデータの符号化に使用するコーデック、例えばＨ．２６３またはＨ．２６４に応じて、フレームはより小さなマクロブロック、例えば一方に向けて４、８、１２若しくは１６ピクセルのサイズであるマクロブロックにも分解できる。勿論、ビデオフレームもまた任意のサイズのより小さな、またはより大きなマクロブロックに分解できる。
【０００４】
ビデオ会議アプリケーションでは、最低可能ビット率で最良可能ビデオ品質を保証することが最重要事項である。既存ビデオコーデック規格は、今日、インター符号化およびイントラ符号化の技術双方を使用する。イントラ符号化技術は、現ビデオフレーム内にのみ含む情報に関して実施し、ビデオシーケンスの任意の他フレームを関連させない。イントラ符号化は、人の目が明度の変化を感じることができるのと同様には、色調の非常に小さな相違を容易には感じないことを利用する。他方、インター符号化技術は、時間的処理を含む、即ち全後続ビデオフレーム情報の再送よりむしろ、コーデックは１つのビデオフレームから次のビデオフレームへのピクセルの位置およびピクセル値の変化のみを符号化し、送信する。これが効果的技術であるのは、１つのビデオフレームから次へ多数のピクセルが変化しないであろうことが多く、各ビデオフレームに伴う全イメージ情報を再送するのは冗長となるからである。
【０００５】
符号化中、ビデオ圧縮コーデックは、各ビデオフレームへの限られたビット数を「費やす」場所に関する重大な決定を行わなければならない。即ちコーデックは、イメージの詳細量の大部分を必要とするマクロブロックに関する判断をしなければならない。より多量の情報を費やしてビデオフレームの最重要部を符号化し、一方それほど重要でないビデオフレーム部をより高率で圧縮でき、なお満足なビデオ品質を生成できることが望ましい。特にビデオ会議アプリケーションでは、ビデオフレームの最重要部分は、ビデオフレームにおける人の顔または手が所在する部分であり、より詳細には目および口のような通信に含む顔面特徴が所在する部分である。
【０００６】
従って、ビデオ符号化器に、マクロブロック圧縮比を「示唆」できるインテリジェントな皮膚トーン(skin tone)および顔面特徴認識ビデオ会議圧縮装置、コンピュータ可読媒体、プロセッサおよび方法の必要性がある。圧縮率の示唆は最も重要でありそうであり、それ故ビデオフレームのそれほど重要でないマクロブロックの符号化におけるより、その符号化に費やす反比例してより大きなビット数を有するに値する、所与のビデオフレームのマクロブロックに少なくとも一部基づきうる。
【発明の概要】
【０００７】
従来のビデオ会議圧縮方法は、ビデオフレームの各マクロブロックの調査、および、予め設定した皮膚トーン色調領域内に入るマクロブロック内ピクセル数を判定することで、与えられたビデオフレーム内での顔の位置を決めることを開示するものである。もし、マクロブロックが、閾値を上回る数の皮膚トーンピクセルを含めば、そのマクロブロックが重要な情報、例えば人の顔を含みそうでありうるので、そのマクロブロックをより低率で圧縮できる。逆に、与えられたマクロブロックが皮膚トーンの閾値数のピクセルを含まなければ、従来のビデオ会議圧縮方法はそのマクロブロックはそれほど重要でないとして扱い、マクロブロックをより高率で圧縮していた。皮膚トーン検出に単に基づく圧縮方式は望ましくないビデオストリームを結果として生じる場合がある。顔の外部エッジがマクロブロックの小さな部分のみを覆う場合、そのマクロブロックがより低圧縮比に値するに「十分な皮膚トーン」でないとアルゴリズムに思わせ、人の顔の外部エッジがより多く圧縮（従って品質に欠け）されるからである。さらに、従来のビデオ会議圧縮方法は不必要に多量の皮膚トーン領域、例えば額並びに頬の符号化情報を、多くの詳細または特徴を実際には持たないビデオフレーム内で費やすことになりそうである。
【０００８】
本開示は、皮膚トーンおよび特徴検出双方を考慮するよりインテリジェントなビデオ圧縮装置、コンピュータ可読媒体、プロセッサおよび方法に関する。例えば一実施形態においては、マクロブロック内の各ピクセルが、
ａ．）皮膚トーン領域内（例えば、「１」の値）；
ｂ．）「特徴」の一部（例えば、「２」の値）；
ｃ．）皮膚トーン領域の「特徴」の一部でかつ閾値距離内、例えば２ピクセル（例えば、「１６」の値）；
ｄ．）皮膚トーン領域内でも「特徴」の一部でもない（例えば、「０」の値）
に基づく加重値を付与する。ここで、上記の０：１：２：１６の加重方式は単に例示的なものでありが、皮膚トーンのみまたは特徴のみを構成上含むマクロブロックより、皮膚トーン領域で、若しくは皮膚トーン領域近くで生じる特徴をビデオフレーム符号化にとり指数関数的により重要であるようにすることは重要である。与えられたピクセルが「特徴」の一部であるかの判断はビオラジョーンズ（Viola Jones）客体検出フレームワークのような周知の特徴検出アルゴリズムの任意数またはソーベル（Sobel）エッジ検出のような周知のエッジ検出アルゴリズムの任意数に基づきうる。
【０００９】
次で、与えられたマクロブロックの平均加重ピクセル値を計算でき、マクロブロックに、そのマクロブロックの計算平均加重ピクセル値に基づく総合的な「圧縮スコア」を付与しうる。加重平均の使用により種々のサイズのマクロブロックの相対的重要性の比較を可能にする。圧縮スコアは最少圧縮である圧縮スコア１０を有するマクロブロックおよび最多圧縮であるスコア１を有するマクロブロックによる、例えばスケール１乃至１０に基づきうる。従って、本明細書で開示するインテリジェントなビデオ圧縮方式は、ビデオ会議の最大関心エリア、即ち顔、手、および、より詳細には顔面特徴並びに顔の外部エッジに対するビデオフレームへのマクロブロック圧縮率配分を最適化する。本開示はビデオ会議アプリケーションにおけるよりインテリジェントなビデオ圧縮新技術を検討するが、通常の当業者は開示する技術がまた他のコンテキストおよびアプリケーションにも同じく適用できることを認識すべきであろう。
【００１０】
以上の概要は各有力な実施形態または本開示の各態様を概説しようとするものではない
【図面の簡単な説明】
【００１１】
【図１】、
【図２】図１および図２は本開示の一実施形態によるマルチメディアデバイスを図示する。
【図３】図３は本開示の一実施形態による皮膚トーン並びに特徴検出に基づくビデオ圧縮処理を示す。
【図４】図４は一実施形態に従い複数マクロブロックに分割するビデオフレームを示す。
【図５】、
【図６】図５および図６は一実施形態に従う、より詳細な皮膚トーン並びに特徴検出に基づくビデオ圧縮処理を示す。
【図７】、
【図８】図７並びに図８は一実施形態に従う彩度空間の事前判断「皮膚トーン領域」を例示する。
【図９】図９は一実施形態に従い種々のピクセルを有するマクロブロックグループで動作する仮想特徴検出アルゴリズムの結果を示す。
【図１０】図１０は特徴の一部であり、一実施形態に従う皮膚トーン領域閾値距離内にもある仮想イメージ領域を示す。
【図１１】図１１は一実施形態に従う処理フレームの圧縮スコア調整処理を示す。
【図１２】図１２は一実施形態に従うマクロブロック外部層を有するビデオフレームを示す。
【発明を実施するための形態】
【００１２】
図１に概略的に示すマルチメディアデバイス１００は、本開示によるビデオデータのスコアリングおよび符号化命令を実行するようにプログラムされた処理ユニット１２０を有する。この実施形態で、マルチメディアデバイス１００は、ビデオ会議中のオーディオデータを扱うオーディオコーデック１３０、マイクロフォン１３２およびスピーカ１３４を有する。同様に、マルチメディアデバイス１００は、ビデオ会議中のビデオデータを扱うビデオコーデック１４０、イメージセンサ１４２およびディスプレイ１４４を有する。そして、マルチメディアデバイス１００はユーザインタフェース１１２、通信回路１１４、メモリ１１６および当技術で既知のその他を含む他構成要素を含みうる。メモリ１１６はまたコンピュータ可読媒体の一例であり、インテリジェントなビデオ圧縮方法の実行命令を蓄積（即ち、具体的に実施）でき、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは任意の他の適するタイプのメモリ蓄積媒体で構成し得る。
【００１３】
本明細書で開示する技術はディジタルイメージセンサを伴う幾つものコンシューマ電子デバイスに適用可能である。例えば、マルチメディアデバイス１００はディジタルカメラ、ディジタルビデオカメラ、移動電話機、パーソナルデータアシスタント（ＰＤＡ、personal data assistant）、ポータブルミュージックプレイヤ、コンピュータ、ビデオ会議エンドポイントまたはその他のデバイスでありうる。本開示の場合、デバイス１００は移動電話機と称しうる。それ故、開示するビデオ圧縮技術は、前面に向くカメラを有する電話機に有用である。というのは、従って近端話者の顔が遠端関与者の電話機前面ディスプレイおよびその逆に正確に提示できるためである。
【００１４】
イメージセンサ１４２はビデオ（および静止イメージ）撮影用チャージカップルドデバイス（ＣＣＤ、charge-coupled device）を含む従来のカメライメージセンサで良く、マルチメディアデバイス１００に一体とすることができる。処理ユニット１２０は多様で、堅牢な開示技術の実行計算ユニットを提供するＡＲＭ（登録商標）ｖ７‐ＡアーキテクチャのＣｏｒｔｅｘ（登録商標）Ａ８のような埋め込みプロセッサとすることができる（ＣｏｒｔｅｘおよびＡＲＭは英国ＡＲＭ社の登録商標である）。
【００１５】
ビデオコーデック１４０はイメージセンサ１４２からビデオデータ出力を受信し、通信回線１１４を介して通信ネットワーク上に送るためにビデオデータを圧縮する。これを行うため、ビデオコーデック１４０はビデオデータを圧縮し、従ってネットワークの帯域幅制限に従いネットワークを経てビデオデータを送信できる。
【００１６】
マルチメディアデバイス１００（図１）の上記の概要に従い、次にデバイスの付加的詳細に考察する。図２はイメージセンサパッケージ（ＩＳＰ、image sensor package）２００および図１のマルチメディアデバイス１００の処理ユニットの処理構成要素２２０の詳細をさらに例示するブロック図を示す。ビデオデータを獲得するため、ＩＳＰ２００はＣＣＤまたは類似でありうるディジタルイメージセンサ２０２を有する。使用センサタイプに応じて、ビデオデータを当技術において周知のようにディモザイクまたはディベイヤ処理２０４が行われる。また、種々の補正処理２０６も実行できる。例えば、レンズ補正を行い、アーチファクトビネッティング、即ちフレームエッジに向う減光および色調の一様性を含む種々のレンズ歪に対するビデオデータ補正を行いうる。当技術で既知のＲＧＢのコントラストおよび彩度ブーストは、ビデオデータ中央ポイントの色調範囲をシフトでき、ノイズリダクションフィルタは暗光状態または同類に起因する任意の雑音を除去できる。最後に、ＩＳＰ２００はビデオデータをＹＣｂＣｒ色調空間に符号化し、さらなる処理のためインタフェース２１０を経てその符号化ビデオデータを伝達する。
【００１７】
既知の如く、ＹＣｂＣｒ色調空間におけるピクセルは輝度または明度のＹ構成要素、「青色差」色要素のＣｂ（即ち、Ｂ‐Ｙ）、および「赤色差」色要素のＣｒ（即ち、Ｒ‐Ｙ）を有する。ＣｂおよびＣｒ要素は共に「彩度空間」として知られている。マルチメディアデバイスの多くのディジタルカメラおよびディジタルビデオカメラは、サブサンプリングしたＹＣｂＣｒ色調空間イメージデータを提供することで、メモリ帯域幅を節減する。例えば所謂４：２：０サブサンプリングにより、ＣｂおよびＣｒは、垂直および水平解像度でＹの半分でサンプルされ、イメージ領域のルマ（luma）サンプルとして４分の１の彩度サンプル数を得る。このようなＹＣｂＣｒ色調空間を使用して本明細書でビデオデータ処理を考察するが、本開示の教示は任意の適する色調空間およびサンプリングに使用できる。
【００１８】
インタフェース２１０から、符号化ビデオデータがマルチメディアデバイス処理ユニットの付加処理構成要素２２０に渡される。構成要素２２０は、前処理ステージ２３０を含む。この前処理ステージ２３０は、ルマ空間(luma space)２３８の特徴検出２３２、彩度空間(chroma space)２４２の皮膚トーン検出２３４、およびスコアリング２３６を有する。この前処理の後、符号化器２４０は通信ネットワークを経て送信するためビデオデータを符号化する。これら構成要素２２０のそれぞれを後にさらに詳細に記述する。
【００１９】
図１および図２のマルチメディアデバイス１００の理解のため、考察は次に本明細書で開示する限定帯域幅が利用可能である場合のビデオ圧縮技術に向かう。既に注記したように、マルチメディアデバイス１００は移動電話機またはその他の無線ポータブルデバイスでありうる。ビデオ会議に使用する場合、会議ビデオの所望のさらなる詳細のためには通信ネットワークを経へての送信に、より多くのビットを必要とする。この全てはビデオ会議に使用する通信ネットワークの利用可能帯域幅により究極的に左右される。本開示技術は、皮膚の検出、並びに、特徴検出の双方を使用し、ビデオデータのどの部分がより多く若しくはより少なく圧縮を付与するかを判断する。このようにして、移動電話機のようなデバイス１００に利用可能な帯域幅をより良く利用して有用なビデオデータを受信者に送信しうる。
【００２０】
図３を参照して、マルチメディアデバイス１００（図１および図２）によるビデオ会議のビデオデータ圧縮処理３００をフローチャート形式で示す。最初に、マルチメディアデバイス１００の処理ユニット１２０は、イメージセンサ１４２からビデオデータを取得する（ブロック３０２）。処理ユニット１２０はビデオデータに関する皮膚トーン検出（ブロック３０４）を行ない、同様に特徴検出（ブロック３０６）で実行する。ブロック３０４およびブロック３０６に記述する処理ステップは任意の順序または同時にさえ生じうることに留意されたい。
【００２１】
皮膚トーンおよび特徴検出処理により使用するピクセル情報はビデオデータの色調空間に依存する。ある装置では、特徴検出はルマ（Ｙ）空間で行い、一方、皮膚トーン検出は彩度空間（Ｃｂ／Ｃｒ）で行う。別の実施形態では、皮膚トーン検出は単にピクセル色値と皮膚トーン値との直接比較によりＲＧＢ空間で直接行いうる。皮膚(skin)または肌(flesh)のトーンは人物毎に異なり、照明状態に基づき相違しうる。それ故、皮膚トーン検出は、必要に応じて変更若しくは調整可能である。本質的に、処理ユニット１２０は皮膚トーン検出を使用して皮膚または肌トーンの範囲に入るピクセル値を有するビデオデータ領域を判断できる。同時に、それ以前、もしくはその後に、処理ユニット１２０はビデオデータのどの領域に特徴があるかを判断できる。これらの特徴は目、鼻、口、耳、眉、手などを含みうる。
【００２２】
これら２つのタイプの領域の位置を知ることで、処理ユニット１２０は次いでビデオデータを構成する種々のマクロブロックのピクセルに対する皮膚および特徴の結果を加重または「スコリング」できる（ブロック３０８）。例えば、皮膚トーン領域内のピクセルには、そのような領域にない他ピクセルよりより大きな加重若しくは重要性を付与されることになる。同様に、特徴領域内のピクセルには、そのような領域にない他のピクセルよりより大きな加重または重要性を同様に付与するであろう。最後に、特徴内にあり、かつ皮膚トーン領域内若しくはその近くにあるピクセルに最大の加重または重要性を付与できる。
【００２３】
皮膚および特徴の結果の加重動作はビデオコーデック１４０の符号化器において現れ、それらは実際の符号化器に渡される情報（即ち、「圧縮の詳細」）のための前処理ステップとして動作できる。次いで、ビデオコーデック１４０の符号化器は「圧縮の詳細」を種々のビデオフレーム部の符号化および圧縮の詳細を符号化器が各部分を圧縮するであろう実際の率への変換指示または命令として受け取る。このようにして、処理ユニット１２０のビデオコーデック１４０の符号化器はビデオデータを如何に最良に圧縮し、詳細を保持するかを決定できる。
【００２４】
前処理から次に、処理ユニットのビデオコーデック１４０の符号化器は、ピクセルの加重結果に基づき領域圧縮を実行する（ブロック３１０）。皮膚トーンを有する領域は、遠端のビデオ会議デバイスでデコードする場合そのような領域をより良く認識できるため、より多くの情報により符号化（即ち、より少ない圧縮を）する。また、同様に、特徴を有する領域は、より多くの情報により符号化（即ち、より少ない圧縮を）するであろう。特徴を有し、かつ、皮膚トーン領域の閾値距離内の領域は、最多情報により符号化（即ち、最少圧縮）する。皮膚トーンおよび特徴を欠く他の領域は、より少ない情報により符号化（即ち、より多い圧縮）する。一旦、この符号化が完了すると、処理ユニット１２０は適するプロトコル並びに通信回線１１４を使用して通信ネットワークを経て、その符号化ビデオデータを送信する（ブロック３１２）。
【００２５】
関係する処理のさらなる詳細に入る前に、処理構成要素２２０がどのようにビデオデータを扱うのかについて考察する。ビデオデータはフレーム４００のシーケンスを含み、その１つを図４に示す。フレーム４００は、ピクセル４２０のブロック４１０に分割される。これらのブロック４１０はマクロブロックと称し、フレーム４００のビデオ圧縮の扱いに使用する。通常、マクロブロック４１０のピクセル幅および高さは４の倍数に基づくが、マクロブロック４１０の実サイズはデータ符号化に使用するコーデックに依存する。
【００２６】
図４に示す本例では、ビデオフレーム４００は幅については１６のマクロブロック４１０、他ｋさについては１６のマクロブロック４１０であり、各マクロブロック４１０は１６×１６個のピクセル４２０で構成されるものとする。各ピクセル４２０は、使用するサブサンプル方式に応じてＹＣｂＣｒ色調空間のピクセル情報を有する。これは２５６×２５６ピクセルのピクセル解像度を持つビデオフレーム４００に通じる。勿論、本開示技術は任意の他の解像度、マクロブロックサイズまたは他の装置に適用できる。例えば、ＨＶＧＡ若しくは「半サイズのビデオグラフィックスアレイ」は、全体で４８０×３２０ピクセルの解像度の場合に、幅に対して１６×１６ピクセルのマクロブロックが１６個、高さについて１６×１６ピクセルの３０個のマクロブロックとなる。
【００２７】
図示されるように、幾つかのマクロブロック（例えば、４３０）は、主体の顔のピクセル情報を含み、それ故、それは皮膚または顔面トーンを有する。一般に、皮膚若しくは顔面トーンは、本明細書において使用するように、人の皮膚または顔に関連する任意の色調値を指示できる。一般に、人々はビデオ会議の最も重要な主体であるので、開示する技術は皮膚若しくは肌トーンにフォーカスすることになる。
【００２８】
また図示のように、幾つかのマクロブロック（例えば、４１０）は、主体の顔のピクセル情報を含まない。これらは皮膚トーンを有するか、または有さないことがある。例えば、背景のマクロブロック４４０は皮膚トーンを含みうるが、一方その他のマクロブロック４５０は皮膚トーンを含みえない。さらに他のマクロブロック（例えば、４６０）は主体の顔内にあるものの、皮膚トーンを含みえない。例えば、主体の目、鼻の下等の領域を有するマクロブロック４６０は影になったり、キャプチャしたビデオデータにて皮膚トーンを映さないかもしれない。移動／変化する主体を有する一連のフレームにおける複雑なビデオフレームの種々のマクロブロック４１０の圧縮法を決定するため、本明細書で開示するビデオ圧縮処理の一実施形態は、皮膚トーン検出および特徴検出の双方を使用する。
【００２９】
図５および図６に移り、ビデオ圧縮詳細処理５００を図２の構成要素を同時参照して記述する。ＩＳＰ（２００）がビデオデータをキャプチャし、ビデオデータをＹＣｂＣｒ色調空間または同類に変換した後、前処理ステージ（２３０）の皮膚トーン検出処理（２３４）はビデオデータフレームにおいて皮膚トーン検出を実行する（ブロック５１０）。この検出は当技術で既知の幾つかの方法で実行できる。好ましい皮膚トーン検出技術の特定の詳細は共有し、２００９年６月５日出願の共同出願である米国特許出願第１２／４７９、６５１号で開示されるが、その全てにおける参照により本明細書に組み込む。
【００３０】
簡単には、皮膚トーン検出は皮膚トーンを有するビデオフレームエリアを特定する。これを行うため、検出処理はＣｂＣｒ色調空間の予め設定された「皮膚トーンポリゴン」または「皮膚トーン楔形(skin tone wedge)」の範囲内にある色を有するフレーム領域を判断する。図７および図８はディジタルイメージピクセルを表す仮想的なポイントアレイ７０２による彩度空間マップ７００並びに８００を示している。ポイント７０２を青のクロミナンスＣｂと、赤のクロミナンスＣｒに関して対応付ける。皮膚トーンに対応するトーン値は予め設定されており、「皮膚トーン」領域のような境界パラメータをメモリにプログラムできる。彩度マップ７００において、ポリゴン７０４は皮膚トーン領域を規定する。あるいは彩度マップ８００で、マップ中央から発する「楔形」８０２は皮膚トーン領域を規定する。
【００３１】
彩度空間皮膚トーンの領域判断への各アプローチはそれ自体の利点を有する。例えば、ポリゴンアプローチはより正確であるが、計算上、より高価である。領域規定ポリゴン７０４の側面数が多ければ、実装は計算上より高価である。他方、皮膚トーン領域を規定する楔形８０２は余り正確でなく、楔形８０２のピクセル８０４が恐らく皮膚トーンでないであろうとも、皮膚トーンであると考えることができるかもしれない。それでも、楔形８０２はベクトル処理を使用して実行でき、非常に速く実行できる。皮膚トーン領域のその他の境界規定技術も同様に使用できよう。
【００３２】
規定した皮膚トーン領域により、皮膚トーン検出処理（２３４）はピクセルのクロミナンスＣｂＣr値に基づきビデオフレームの各ピクセルの皮膚トーンを決定できる。これを行うため、フレームのサンプルされたピクセルのクロミナンス値をベクトル処理により調査し、サンプル値が予め設定された皮膚トーン領域の内部か、または外部にピクセルを配置するかを判断する。各マクロブロックの各ピクセルを調べ、各マクロブロックの各ピクセルはメモリ、例えばメモリ１１６にピクセルの皮膚トーン判断を表す値（例えば、「皮膚トーン」または「皮膚トーンでない」に関するバイナリー判断）が書込まれる。あるいは、１つ以上のマクロブロックの幾つかのピクセルのみを調べ、処理速度を改善できる。
【００３３】
図５に戻り、特徴検出処理（２３２）はフレームのビデオデータで規定する特徴または特定領域を検出する（ブロック５１５）。この検出は皮膚トーン検出の前、途中若しくは後に実行でき、当技術で既知の幾つかの方法で実行できる。与えられたピクセルが「特徴」の一部であるか否か判断は、ビオラジョーンズ客体検出（Viola Jone object detection)またはソーベルエッジ検出(Solvel edge detection)のような、幾つかの周知の特徴又はエッジ検出アルゴリズムに基づいて行える。各マクロブロックの各ピクセルが検査され、各マクロブロックの各ピクセルの特徴判断を表わす値（例えば、「特徴を持つ」または「特徴でない」に関するバイナリー判断）がメモリ、例えばメモリ１１６に書込まれる。あるいは、１つ以上のマクロブロックの幾つかのピクセルのみを調べ、処理速度を改善できる。
【００３４】
簡単には、特徴検出処理（２３２）は、特徴またはエッジを含むフレーム内のピクセルを特定する。これを行うため、特徴検出処理はルマ（Ｙ）空間のピクセル値を使用できる。例えば、一般のエッジ検出アルゴリズムはイメージの明度（Ｙ）値が、ピクセルからピクセルへ最も劇的に変化する、若しくはイメージが不連続性を有するディジタルイメージのポイントおよび方向の特定を試行する。エッジ検出は任意の閾値パラメータ数を設定し、与えられた特徴、即ちエッジがディジタルイメージ内で始まり、終わる場所を判断できる。図９に示すように、ディジタルイメージ９００に仮想的に所在するエッジをイメージ上の細切れ線９１０により表す。なお、特徴検出処理はまた背景客体の幾つかのエッジまたは特徴９２０の位置を見出すことがありうることに注意されたい。本明細書で記述する方法がビデオ会議圧縮により重要である特徴９１０と、ビデオ会議圧縮に余り重要でない特徴９２０を区別することで、ビデオストリームを含むビットを最も重要な場所に費やすことを可能にする。
【００３５】
図１０に示すように、ビデオ会議のためのディジタルイメージ１０００のより重要な領域、即ち特徴の一部であり、かつまた皮膚トーン領域の閾値距離内にもあるこれらイメージ領域はイメージ上の細切れ線９１０により表されて残る。ディジタルイメージ１０００の余り重要でない領域、即ち特徴を含まないか、または、皮膚トーン領域から閾値距離内に所在しない特徴を含むそれらイメージ領域は、イメージ上のハッシュ線９１０により、もはや表わされない。細切れ線９１０によって表わされるディジタルイメージ１０００内領域には、最高圧縮スコアを付与され、それ故、ビデオ符号化器により最低率で圧縮される。
【００３６】
図５に戻り、一旦、皮膚トーンおよび特徴検出が生じると、スコアリング処理（２３６）は検出皮膚トーン領域、並びに、検出特徴双方を使用して、フレームのビデオデータ圧縮法を規定するスコアまたは重みを判定する。まず、対象フレームのマクロブロックを選択し（ブロック５２０）、その選択マクロブロックのピクセルを調べる（ブロック５３０）。スコアリング処理（２３６）では、各ピクセルの蓄積皮膚トーンおよび特徴判断を使用して、その選択ピクセルが皮膚トーン領域のみであるか、特徴領域のみであるか、若しくは特徴領域にあって、且つ、皮膚トーン領域から閾値距離内にあるかを判断する（決定５３２／５３４／５３６）。分析に応じて、スコアリング処理（２３６）は適合するようにピクセルに重みまたはスコアを付与する（ブロック５４０／５４２／５４６）。
【００３７】
一例としては、ピクセルが：
ａ．）皮膚トーン領域内にあるとき（例えば、「１」の値）；
ｂ．）「特徴」の一部であるとき（例えば、「２」の値）；
ｃ．）「特徴」の一部でかつ皮膚トーン領域の閾値距離（例えば２ピクセル）内にあるとき（例えば、「１６」の値）；
ｄ．）皮膚トーン領域内でも「特徴」の一部でもないとき（例えば、「０」の値）
に基づき、マクロブロックの各ピクセルに加重値を付与する。上記の如く、使用する実際のスコアリングシステムは変更可能でありえ、所望の実装および帯域幅制約に依存できる。
【００３８】
最後に、処理５００はさらに多くのピクセル、マクロブロックおよび次いでフレームがあるかを判断する（決定５５０／５５２／５５４）。処理５００はビデオデータの各フレームを扱いうるか、またはビデオデータの選択フレームのみを扱いえ、従って各フレームを処理し、圧縮変数を判断する必要はない。換言すれば、ビデオ会議の主体は位置を変えないと想定して、ビデオデータの１つのフレームを処理５００により扱いえ、幾つかの後続フレームはこの場合同じ判断を使用できる。これは与えられた環境で有用であるか、若しくは有用でないことがありうる。同様に、処理５００並びに後続して入ってくるフレームに使用する判断を使用して、種々のフレームの異なるマクロブロックを継続ベースで扱いうる。
【００３９】
マクロブロックおよびフレームを如何に扱うかに関わらず、処理５００は図６に示すように継続できる。スコアリング処理（２３６）は、圧縮する対象フレームを取得し（ブロック５６０）、フレームのマクロブロックを取得する（ブロック５６２）。皮膚トーン領域のみ、特徴領域のみ、または特徴領域にあって且つ皮膚トーン領域から閾値距離内ピクセルに関し、以前に判断したスコアを使用して、スコアリング処理（２３６）はマクロブロックの平均ピクセル値スコアを計算する。
【００４０】
フレームのマクロブロックのそれぞれまたは幾つかの平均化（決定５６６）の後、スコアリング処理（２３６）はマクロブロックの圧縮スコアを判断する（ブロック５７０）。これを行うため、スコアリング処理（２３６）は、与えられたマクロブロックの平均ピクセル値を使用して圧縮スコアを計算する。一般に、圧縮スコアは予め設定された判断スケール（例えば、１乃至１０のスケール）に基づきうる。一実施形態で、１０の圧縮スコアを有するマクロブロックはビデオコーデックにより最少圧縮を行うであい、一方、１のスコアを持つマクロブロックはビデオコーデックにより最大圧縮を行う。
【００４１】
圧縮スコアは各マクロブロックの平均ピクセル値の所望のスケール、例えば１乃至１０への線形スケーリングにより判断しても良い。例えば、所与ビデオフレームの最大ピクセル平均値を持つマクロブロックは最高圧縮スコア（例えば、「１０」）により設定し、残りのマクロブロックはある適切な関数に従ってスコアに比例してスケーリングする。あるいは、圧縮スコアを，単純にマクロブロックの平均ピクセル値で設定してもよい。
【００４２】
閾値ピクセル平均値に達するマクロブロックがない場合、追加帯域幅節減のため、マクロブロックの何れにも「１０」の圧縮スコアを付与しなくてもよい。このようにして、丁度情報が現フレームにおいて最良または最高スコアを有するので、情報を低圧縮により符号化しないであろう。現フレームのこの最良スコア情報がビデオ会議参加者のものでなく、従って多くの圧縮が適さないか、若しくは必要でないことがありうる。例えば、カメラは白壁を指していることがありえ、その場合、フレームの全マクロブロックを多く圧縮することが適当であり、好ましいであろう。とはいえ、客体（即ち、紙、展示品など）が実際にはビデオ会議の現フレームの意図する主体となり得え、従ってこの特徴はオプションとして実装する、および／または変更可能でありうる。
【００４３】
さて、一旦、所望のマクロブロックの圧縮スコアが判断されると、符号化器（２４０）は、次いで、圧縮スコアに基づき、そのマクロブロックを圧縮する（ブロック５７２）。そして、後続するフレームに対して処理を継続する（決定５７４）。圧縮スコアは、例えばビデオフレームへの添付形式で符号化器に伝達できる。余り有用でない情報を伴うフレームにおける領域は、より有用な情報（例えば、皮膚トーンおよび特徴）を伴う領域よりより多く圧縮する。従って、本方法はビデオ会議の最大関心エリア‐即ち、顔、手、並びにより詳細には顔面特徴に対するビデオフレームへのマクロブロック圧縮率の配分を最適化する。符号化器２４０は任意の適する標準ビデオ会議ビデオ圧縮フォーマットを使用できる。幾つかの標準は非特許文献１および非特許文献２のビデオコーデック標準を含む。
【００４４】
会議中のビデオにおいては、ビデオイメージへのビデオフレーム部の実際の重要性に基づきビデオフレーム部を「しかるべき」以上に多く、または少なく圧縮してしまう状況が起こり得る。これらの部分、若しくは「異常マクロブロック(outlier macroblock)」が生じるのは、本方法が影の領域が皮膚トーンおよび／または特徴の一部であることを判断できなかったことに起因し、例えば特定マクロブロック（単数または複数）内に入る主体の顔の部分が影に所在したことで、周囲のマクロブロックより多く圧縮するからである。これは結果として与えられたマクロブロック（単数または複数）が誤った否定（False Negative)であることになろう。反対の状況は、誤った肯定(False Positive)と称しうることである。すなわち、或る照明状態、エッジ効果または２つの組み合わせがマクロブロック（単数または複数）をスコアリング処理にマクロブロック（単数若しくは複数）が、ビデオフレームにとって実際より、より重要であるかのように見えてしまい、マクロブロック（単数または複数）をその周囲のマクロブロックより少なく圧縮する状況である。例えば、イメージの背景の樹木や植物は多くのエッジを伴う領域を有することになるし、および／または皮膚トーンに十分近くなり得るので、そのような判断が総体的圧縮方式にとって正確でも有益でもなくとも、樹木または植物は非常に大きな圧縮スコアを得ることになる。
【００４５】
このような状況を扱うため、各マクロブロックに初期の圧縮スコアの付与を済ませた後、処理されたフレームのマクロブロックが通過する第２の処理経路を設ける。図１１に示すように、この継続処理１１００は、既に処理されたフレームを取得し（ブロック１１０２）、マクロブロックを選択する（ブロック１１０４）。処理１１００は次いで選択マクロブロックの圧縮スコアを、選択マクロブロックに隣接するマクロブロックのスコアと比較する（ブロック１１０６）。これを行い、高圧縮マクロブロックにより囲まれる低圧縮マクロブロック（即ち、誤った肯定）、または、全ての低圧縮マクロブロックにより囲まれた高圧縮マクロブロック（即ち、誤った否定）のような異常なマクロブロックを見出す。
【００４６】
例えば、図１２は深い陰にある主体の目の周りから切り出したマクロブロックセット１２０２を持つ主体のビデオフレーム１２００を示す。中央マクロブロック１２１０Ａおよび１２１０Ｂは誤った否定を表す。これらのマクロブロック１２１０Ａ並びに１２１０Ｂはその周辺近隣（即ち、８つの隣接マクロブロック）のスコア（例えば、「５」、「７」および「１０」）に比し、低スコア（例えば、「３」）を有する。低スコアマクロブロック１２１０Ａおよび１２１０Ｂは主体の目、即ちビデオ会議のための重要なビデオフレーム領域を表すピクセルを含むとはいえ、これらのマクロブロック１２１０Ａ並びに１２１０Ｂをその近隣より多く圧縮するであろう。恐らく、スコアの不一致は深い陰、色調の相違、信頼できないエッジ検出などに起因している。理由はともあれ、主体の眉および頬周辺より目を多く圧縮するのは余り理想的ではないであろう。このため、開示する処理の第２の経路を使用し、そのような外部層の検出およびその補正を行う。
【００４７】
誤った肯定は幾つかの理由でフレーム１２００において生じえよう。例えば、フレーム１２００には、その背景に木または樹木を含むことがあり、枝および葉の詳細の故に多くの特徴およびエッジがありえたり、なかったりしうる。加えて、色調は皮膚トーンに十分近く、与えられたマクロブロック１２２０に比較的低圧縮率を結果として生じるスコアを付与しうる。例えば、マクロブロック１２２０に主体の顔の部分を実際に含む別のマクロブロック１２３０に類似のスコアを付与しうる。この圧縮のスコアリングを使用したとすれば、マクロブロック１２２０に必要以上に大きな重要性を付与することになろう。周囲のマクロブロックスコアを見ることにより、所与マクロブロックのスコアをインテリジェントに調整できる。
【００４８】
図１１に戻り、継続処理１１００では、選択マクロブロックの圧縮スコアを、選択マクロブロックに隣接するマクロブロックのスコアと比較する（ブロック１１０６）。選択マクロブロックと比較する隣接マクロブロックおよび隣接マクロブロックの多さの選択は、環境、スコア間不一致に依存でき、変更可能でありうる。隣接スコアの大部分、全て、または幾つかのレベルが選択マクロブロックのスコアより大きければ（決定１１１０）、その場合、処理１１００はこのマクロブロックを異常な誤った否定であると判断し、処理１１００は選択マクロブロックの隣接のスコアを反映するように、選択マクロブロックのスコアを調整する（ブロック１１１４）。あるいは、近隣スコアの大部分、全て若しくは幾つかのレベルが選択マクロブロックのスコアより小さければ、処理１１００はこのマクロブロックを異常な誤った肯定であると判断し（決定１１１２）、処理１１００は選択マクロブロック近隣のスコアを反映するように選択マクロブロックのスコアを調整する（ブロック１１１４）。最終的に、次のまたはある後続ビデオフレームに移行する前に、処理１１００は各マクロブロックを選択（若しくはあるマクロブロックセットを選択）する（ブロック１１０２）。
【００４９】
一実施形態では、異常な誤った肯定／誤った否定のスコア補正処理を所望マクロブロックに亘り実行できる。処理は誤った否定マクロブロックに対し１つの閾値、例えば「５」を規定できる。処理は次いで選択マクロブロックの各隣接マクロブロックの圧縮スコアを調べうる。選択マクロブロックの隣接するマクロブロックの平均圧縮スコアが誤った否定閾値、例えば「５」に等しいか、またはそれより大きく、かつ選択マクロブロックスコアが誤った否定閾値より小さい場合、処理は選択マクロブロックの圧縮スコアを選択マクロブロックに隣接するマクロブロックの平均圧縮スコアであるように設定できる。同様に、補正処理は誤った肯定マクロブロックに別の閾値、例えば「２」を規定できる。処理は選択マクロブロックの各隣接マクロブロックの圧縮スコアを調べうる。選択マクロブロックの隣接マクロブロックの平均圧縮スコアが誤った肯定閾値、例えば「２」に等しいか、若しくはそれより小さく、かつ選択マクロブロックスコアが誤った肯定閾値より大きければ、処理は選択マクロブロックの圧縮スコアを選択マクロブロックの隣接マクロブロックの平均圧縮スコアであるように設定できる。誤った肯定および誤った否定閾値に使用する値は勿論、所望の如く誤った肯定／誤った否定外部層マクロブロックをより果敢に、または余り果敢でなく扱うように調整できよう。例えば「２」の誤った肯定閾値を選択し、イメージの背景雑音が誤った肯定の除去と干渉しないことを保証する。他方、マクロブロックが少なくとも、例えば「５」のより多い圧縮スコアを有せば、マクロブロックは皮膚エリアに存在するに十分な皮膚トーンピクセル量を保持すると想定できる。
【００５０】
上記の如く、選択マクロブロックスコアの調整において（ブロック１１１４）、処理１１００は隣接マクロブロックスコアの平均をとりえ、選択マクロブロックが平均スコアを有するように指定できる。あるいは、処理は所望であれば、ある予め設定された他の設定スコアを使用しても良い。隣接マクロブロックスコアはまた選択マクロブロックへの隣接性に基づき、およびスコア間の不均衡に基づき加重できよう。ある他の判断もまた実行できよう。究極的に、この第２の処理経路における処理１１００は選択マクロブロックが補正選択マクロブロックの圧縮スコアを有すべき異常な誤った否定または誤った肯定であるかを判断する。
【００５１】
本明細書で記述するインテリジェントに皮膚トーンおよび顔面特徴を認識するビデオ会議圧縮方法は、監視カメラのような非ビデオ会議アプリケーションな幾つかのアプリケーションとなり得る。監視システムは長い時間に渡って非常に多くのデータ量を蓄積し、従って壁並びにその他の背景客体より人の顔をより低率で圧縮することが望ましいであろう（例えば、銀行監視カメラ）。
【００５２】
好ましいおよびその他の実施形態に関する以上の説明は出願者の考える発明概念の範囲または適用性を限定若しくは制限する意図はない。本明細書に含む発明概念の開示と引き替えに、出願者は添付する特許請求により与えられる全ての特許権を希望する。それ故、添付する特許請求は全範囲に亘り以下の特許請求の範囲またはそれ同等内に入る全ての修正並びに変更を含むと考える。
【図１】
0005544041.tif 000002
【図２】
0005544041.tif 000003
【図３】
0005544041.tif 000004
【図４】
0005544041.tif 000005
【図５】
0005544041.tif 000006
【図６】
0005544041.tif 000007
【図７】
0005544041.tif 000008
【図８】
0005544041.tif 000009
【図９】
0005544041.tif 000010
【図１０】
0005544041.tif 000011
【図１１】
0005544041.tif 000012
【図１２】
0005544041.tif 000013