本発明は、映像内で物体が移動しているような場合でも、映像を受信する側でユーザが映像内の領域を指定し、システムが、指定された領域に対応する画像部分の画質を変更することによって、システムから映像を送信するための情報量を低減できる技術を提供するものである。
以下、添付図面を参照して実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではない。また、各図において共通の構成については同一の参照番号が付される。
図1は、本発明の第1の実施形態の画像符号化システムを示すブロック図である。
実施形態の画像符号化システムは、画像符号化装置1001、撮像装置1002、及び、画像表示装置1003を含む。
撮像装置1002は、例えば、ビデオカメラなどであり、被写体を撮像して映像データを生成する装置である。
画像符号化装置1001は、撮像装置1002によって生成された映像データを取得し、取得された映像データを符号化する。これによって生成された符号化ストリームを、画像表示装置1003に送信する。
画像表示装置1003は、画像符号化装置1001から受信した符号化ストリームを復号し、これによって映像データを生成する。そして、生成された映像データをユーザに表示する。
撮像装置1002は、画像符号化装置1001に、有線又は無線によってデータを送信することができる。また、画像符号化装置1001及び画像表示装置1003は、LAN、WAN、又は、インターネットなどのネットワークを介して接続される。
画像符号化装置1001は、制御部1004、及び、蓄積装置101を備える。また、制御部1004は、重要領域判定部1005、前処理部1006、符号化処理部1007、受信部1008、及び、送信部1009を、有する。
制御部1004、重要領域判定部1005、前処理部1006、符号化処理部1007、受信部1008、及び、送信部1009は、各々プロセッサ及びメモリを備えてもよい。
制御部1004は、制御部1004は、画像符号化装置1001において実装される処理全体を制御するための機能を有する。制御部1004は、蓄積装置101に格納されたデータを各処理部に入力し、各処理部から出力されたデータを蓄積装置101に格納する。
蓄積装置101は、撮像装置1002から送信された映像データ、及び、画像符号化装置1001における処理によって生成された符号化ストリーム等のデータを格納するための記憶装置である。図1に示す蓄積装置101は、画像符号化装置1001に備わるが、画像符号化装置1001の各処理部が蓄積装置101からデータを取得できれば、いかなる場所に配置されてもよい。
受信部1008は、撮像装置1002から送信された映像データを受信するための機能を有する。受信部1008は、撮像装置1002及び画像表示装置1003と通信するためのネットワークインタフェースを有する。
重要領域判定部1005は、受信した映像データのフレーム画像毎に領域を抽出し、抽出された領域に重要度を割り当てる機能を有する。前処理部1006は、重要ではないと判定された領域に、後述する前処理を行う機能を有する。
なお、本実施形態において、フレーム画像とは、映像データに含まれる画像である。映像データには、所定の時間の間に撮像された複数のフレーム画像が含まれる。
符号化処理部1007は、前処理部1006から出力された前処理後のフレーム画像を符号化することによって、符号化ストリームを生成する機能を有する。
送信部1009は、生成された符号化ストリームを画像表示装置1003に送信する機能を有する。送信部1009は、画像表示装置1003と通信するためのネットワークインタフェースを備える。
画像符号化装置1001が有する各処理部は、プロセッサ及びメモリを各々備える物理的な装置として実装されてもよい。また、画像符号化装置1001が有するプロセッサが、各処理部に相当するプログラムを実行することによって、各処理部が有する機能が画像符号化装置1001に実装されてもよい。
また、画像符号化装置1001が有する各処理部は、全ての処理部を一つの装置として実装されてもよく、各処理部が行う処理毎に分割されてもよい。各処理部の機能がプログラムによって実装された場合も、一つのプログラムによって全ての処理部の機能が実装されてもよく、また、複数のプログラムによって一つの処理部の機能が実装されてもよい。
画像表示装置1003は、プロセッサ、メモリ、表示部102、及び、入力部103を備える。画像表示装置1003は、プロセッサ及びメモリによって、送信された映像データを表示する。
表示部102は、例えば、コンピュータに備わるディスプレイであり、ユーザに映像データを表示するための出力装置である。入力部103は、ユーザからの指示を受けるための、ユーザインタフェースである。入力部103は、例えば、マウス又はタッチパネル等である。
図2は、本発明の実施形態の画像符号化装置1001におけるフレーム毎の画像処理を示すフローチャートである。
図2に示す処理は、画像符号化装置1001がフレーム画像を受信する毎に、実行される。図2に示すS2001〜S2007の処理は、フレーム画像毎に行われる。
受信部1008から映像データを受信した場合、重要領域判定部1005は、フレーム画像から領域を抽出する(S2001)。重要領域判定部1005は、S2001において、重要であるとあらかじめ指定されている被写体が撮像された領域を抽出してもよい。また、一つの被写体が撮像されていると認識される領域を抽出してもよい。
領域の抽出方法として、撮像された被写体又は背景の特性、カメラの動き、若しくは、撮像条件の変動等によって様々な方法が、従来提案されている。S2001において、重要領域判定部1005は、これらの既知の技術を用いる。
例えば、被写体が人物又は顔であることを画像符号化装置1001にあらかじめ指定されている場合、重要領域判定部1005は、既知の人物検出アルゴリズム、又は、既知の顔検出アルゴリズムを用いて、フレーム画像から、人物又は顔が表示される領域を検出する。そして、重要領域判定部1005は、検出された人物又は顔が表示される領域を抽出する。
このように被写体の種類が画像符号化装置1001にあらかじめ指定されている場合、重要領域判定部1005は、被写体に関する特徴又は形状などのあらかじめ蓄積された知識と、既知のアルゴリズムとを用いて、被写体を含む領域を抽出する。
一方、被写体の種類が画像符号化装置1001に入力されてない場合、重要領域判定部1005は、画像中に含まれる被写体に関する蓄積された知識を持たない。このため、重要領域判定部1005は、エッジ又は色などの物理的な情報のみを用いて画像中に含まれる被写体の領域を、抽出すべきか否かを判定する。ここで、重要領域判定部1005は、人間によってより重要であると推定される被写体を含む領域を抽出すると判定する。
このような、被写体を限定せずに、人間にとって何が重要であるか否かを推定する既知のアルゴリズムとして、例えば、非特許文献1(L.Itti,C.Koch,E.Niebur:“A Model of Saliency−Based Visual Attention for Rapid Scene Analysis,”IEEE Trans.Pattern Anal.& Mach.Intell.,vol.20,pp.1254−1259,1998.)のような技術が提案されている。
非特許文献1は、人間の視覚的注意に基づいて顕著性の情報を取得し、顕著性が高い領域が重要であると推定する技術である。
以下に、S2001における重要領域判定部1005の処理の例を示す。以下の例において、重要領域判定部1005には、船の形状を示す被写体を含む領域を抽出するものとして、あらかじめ入力されてもよい。
図3Aは、本発明の実施形態のフレーム画像を示す説明図である。
図3Aに示すフレーム画像は、二隻の船の形状を示す被写体A及び被写体Bを含む。重要領域判定部1005は、図3Aに示すフレーム画像から領域を抽出する。
図3Bは、本発明の実施形態の重要領域判定部1005によって抽出される領域を示す説明図である。
重要領域判定部1005は、S2001において、図3Aに示すフレーム画像から被写体を含む領域を抽出するため、既知のセグメンテーション技術を用いる。具体的には、重要領域判定部1005は、図3Aに示すフレーム画像に含まれる被写体のエッジを抽出することによって、船の形状を特定し、被写体Aを含む領域Aと被写体Bを含む領域Bとを抽出する。
なお、重要領域判定部1005は、S2001において、フレーム画像に含まれ、かつ、領域を抽出できる全ての被写体に関して、領域を抽出してもよい。これは、後述する処理によってユーザが新たに領域を指定した場合、指定された領域に関する過去の情報を取得できるようにするためである。
S2001の後、重要領域判定部1005は、S2001において抽出された領域と、過去に撮像されたフレーム画像から抽出された領域とを対応付ける(S2002)。重要領域判定部1005は、S2002において、図2に示す処理を実行しているフレーム画像(符号化対象フレーム)より、一つ前に撮像されたフレーム画像を蓄積装置101から取得する。
なお、蓄積装置101には、フレーム画像が撮像された順番を示す情報と、過去に実行された図2に示す処理によって抽出された領域を示す情報と、各領域に付与された重要度を示す情報とが、格納される。
図4A及び図4Bに、S2002におけるフレーム画像の対応付けを示す。
図4Aは、本発明の実施形態の過去のフレーム画像を示す説明図である。
図4Aに示すフレーム画像は、(N−1)番目に撮像されたフレーム画像である。以下において、図4Aに示すフレーム画像をフレーム画像(N−1)と記載する。
図4Bは、本発明の実施形態の符号化対象フレームを示す説明図である。
図4Bに示す符号化対象フレームは、N番目に撮像されたフレーム画像である。以下において、図4Bに示すフレーム画像をフレーム画像Nと記載する。
フレーム画像(N−1)は、過去に実行されたS2001において抽出された領域A’及び領域B’を含む。フレーム画像Nは、S2001において抽出された領域A及び領域Bを含む。
S2002において、重要領域判定部1005は、フレーム画像(N−1)に含まれる領域と、フレーム画像Nに含まれる領域とが同じ被写体を含む領域であるか否かを判定する。この判定の結果、領域Aと領域A’とが同じ被写体を含む領域であると判定された場合、重要領域判定部1005は、領域Aと領域A’とを同一とみなし、領域Aと領域A’とに同一の識別子を付与する。
一方、前述の判定によって、領域A’と領域Aとが異なる被写体を含む領域であると判定された場合、領域A’と領域Aとに異なる識別子を付与する。このような対応付けを、フレーム画像Nに含まれる全ての領域に行う。
S2002において、重要領域判定部1005は、重要領域判定部1005が領域Aと領域A’とが同一の被写体を含むか否かを判定する方法として、既知の様々な物体追跡技術を用いてよい。
例えば特許文献2(特開2010−102586号公報)のように、重要領域判定部1005が、個々の領域の特徴量を保持し、フレーム画像Nに含まれる領域の特徴量と、フレーム画像(N−1)に含まれる領域の特徴量とを、マッチングしてもよい。そしてマッチングの結果、フレーム画像Nに含まれる領域の特徴量と、フレーム画像(N−1)に含まれる領域の特徴量との差が、所定の範囲内である場合、重要領域判定部1005は、フレーム画像Nに含まれる領域の特徴量と、フレーム画像(N−1)に含まれる領域の特徴量とが同一であると判定してもよい。
なお、前述の例において、符号化対象フレームであるフレーム画像Nと、フレーム画像(N−1)とを対応付けたが、重要領域判定部1005は、S2002において、被写体のオクルージョンを考慮し、複数のフレーム画像を用いてもよい。
すなわち、重要領域判定部1005は、フレーム画像(N−1)から抽出された領域に、フレーム画像Nの領域と対応付けられる領域がない場合、フレーム画像(N−1)よりもさらに過去に撮像されたフレーム画像の領域とフレーム画像Nの領域とを対応付けてもよい。例えば、フレーム画像(N−3)から抽出された領域に、フレーム画像Nの領域と対応付けられる領域がある場合、フレーム画像(N−3)の領域の識別子を、フレーム画像Nの領域に付与してもよい。
S2002において、符号化対象フレームの領域に付与された識別子は、重要領域判定部1005が有するメモリに格納されてもよいし、蓄積装置101に格納されてもよい。重要領域判定部1005が、符号化対象フレームの領域に付与された識別子を取得できれば、識別子はいずれに格納されてもよい。
S2002によって領域を対応付けることによって、フレーム画像が含まれる映像データにおいて被写体が移動する場合も、重要領域判定部1005は、符号化対象フレームより過去に撮像されたフレーム画像において指定された被写体を、符号化対象フレームにおいて特定することができる。
S2002の後、重要領域判定部1005は、ユーザから領域を新たに指定されたか否かを判定する(S2003)。重要領域判定部1005は、後述する指定領域情報を受信部1008が受信したか否かを判定することによって、ユーザから領域を新たに指定されたか否かを判定する。
S2003において、符号化対象フレームより一つ前に撮像されたフレーム画像に、図2に示す処理を実行した後、ユーザから領域を新たに指定されたと判定された場合、重要領域判定部1005は、符号化対象フレームより過去に撮像されたフレーム画像における各領域の重要度を再度判定し直す(S2004)。S2004における処理は、後述する。
なお、S2003の処理は、図2に示す処理の開始後、S2005の前に実行されれば、いずれのタイミングにおいて実行されてもよい。これは、S2003の処理が、符号化対象フレームよりも過去に撮像されたフレーム画像の重要度を変更する処理であり、これによって、S2003の処理が、S2003の後の処理において、符号化対象フレームの重要度にユーザの指示による重要度を付与させるための処理であるからである。
S2003において、ユーザから領域を新たに指定されていないと判定された場合、又は、S2004の後、重要領域判定部1005は、各領域に関して重要度を判定する(S2005)。そして、重要領域判定部1005は、S2001において抽出された各領域に重要度を付与する。
S2005において重要領域判定部1005は、S2002において対応付けられた過去のフレーム画像における領域に付与された重要度と同じ重要度を、符号化対象フレームの領域に付与する。S2005において重要領域判定部1005は、S2002において保持した領域の識別子に基づいて、蓄積装置101に格納された過去のフレーム画像の重要度を取得する。
また、S2002において過去のフレーム画像に、符号化対象フレームの領域と対応付けられた領域がないと判定された場合、ユーザによって指定された任意の値を、重要度として符号化対象フレームの領域に付与してもよい。
例えば、ユーザが、2値(重要であれば1、非重要であれば0)の重要度を画像符号化装置1001に指定し、過去のフレーム画像に符号化対象フレームの領域と対応付けられた領域がない場合、重要領域判定部1005は、図5に示すように、各領域に”1”又は”0”を付与してもよい。本実施形態において、重要度として”1”が付与された領域は、重要領域である。また、重要度として”0”が付与された領域は、非重要領域である。
また、重要領域判定部1005はS2005において、2値以上の重要度を各領域に付与してもよい。
図5は、本発明の実施形態の領域に付与された重要度を示す説明図である。
S2005において、例えば、重要領域判定部1005は、領域Aに重要度として”1”を付与し、領域Bに重要度として0を付与する。
重要領域判定部1005は、過去のフレーム画像に符号化対象フレームの領域と対応付けられた領域がない場合、例えば、あらかじめ指定された領域の大きさ、又は、エッジ強度などに従って、重要度を付与してもよい。すなわち、領域の大きさが所定の閾値よりも大きい場合、重要度として最も高い値(例えば、3)を付与し、領域の大きさが所定の閾値よりも小さい場合、重要度として最も低い値(例えば、0)を付与してもよい。
また、過去のフレーム画像に符号化対象フレームの領域と対応付けられた領域がなく、S2001における処理の際に、被写体の種類が識別できる場合、重要領域判定部1005は、識別された被写体の種類に従って重要度を付与してもよい。例えば、被写体が人又は顔である場合、重要領域判定部1005は、被写体が含まれる領域に最高の重要度を付与し、それ以外の領域には低い重要度を付与してもよい。
また、重要領域判定部1005は、フレーム画像から抽出された領域以外の領域(背景領域)に、最低の重要度を付与してもよい。すなわち、S2002において対応する過去のフレーム画像の領域が検出されない場合、重要領域判定部1005は、いかなる方法によって重要度を領域に付与してもよい。
なお、以下において、各領域のフレーム画像における位置情報と各領域に付与された重要度と各領域に付与された識別子とを含む情報を、重要領域マップと記載する。重要領域マップは、各フレーム画像に対応して蓄積装置101に格納される。重要領域マップは、フレーム画像が撮像された順番を示す値を含んでもよい。
S2005において、符号化対象フレームの領域に、対応付けられた過去のフレームの領域の重要度と同じ重要度を付与することによって、重要領域判定部1005は、同じ被写体が撮像される領域を、映像データにおいて同じ画質によってユーザに提供することができる。
S2005の後、前処理部1006は、符号化対象フレームに前処理を行う(S2006)。S2006における前処理は、重要領域マップに基づいて、S2005において重要度が高いと判定された領域(重要領域)以外の領域(非重要領域)に行われる。
ここで、前処理部1006は、所定の閾値よりも高い重要度を付与された領域を、重要領域と判定してよく、所定の閾値以下の重要度を付与された領域を、非重要領域と判定してよい。
符号化対象フレームの重要領域マップが図5に示す情報を保持する場合、非重要領域は、重要度が0であると判定された領域Bと、背景領域(すなわち、領域A及び領域B以外の領域)とを含む。重要度が多値によって判定されている場合、本実施形態の非重要領域には、所定の値以下の重要度であると判定された領域が含まれてもよい。
前処理部1006は、S2006において、非重要領域の情報量を削減する。すなわち、非重要領域の画質を低下させる。前処理部1006による処理によって、非重要領域における符号化後の情報量が大幅に削減される。
前処理部1006は、S2006において、例えば、ローパスフィルタ、モザイク処理、ダイナミックレンジ縮小、又は、輝度若しくは色情報の固定値への置換などの画像処理を行う。これらの処理によって、非重要領域の画質は、受信した際の映像データに比べて大きく劣化するが、非重要領域の情報量は削減される。
S2006の後、符号化処理部1007は、前処理後のフレーム画像に符号化処理を行う(S2007)。符号化処理部1007は、S2007における符号化処理において、ITU−T H.264等の既知の動画像符号化技術を用いてもよい。
図6は、本発明の実施形態のマクロブロックによって分割されたフレーム画像を示す説明図である。
H.264に代表される既知の動画像符号化技術を用いた場合、符号化処理部1007は、符号化対象フレーム全体を16画素×16画素のマクロブロックと呼ばれる単位に分割して、単位毎に符号化する。H.264を用いた場合、符号化処理部1007は、符号化処理の対象のマクロブロックに対して、周辺の画素又は前後に撮像されたフレーム画像を用いて対象マクロブロック内の画素値の予測値を決定する。符号化対象のマクロブロックの画素と、決定された予測値との予測誤差を量子化することによって、符号化対象のマクロブロックをエントロピー符号化する。
ここで、符号化処理部1007は、マクロブロック内の予測誤差を量子化する際に、量子化パラメータ(QP)をマクロブロック毎に制御することによって、マクロブロック内の予測誤差の量子化ステップ幅を制御し、マクロブロック内の画質と情報量とを調整することができる。
図6は、図5に示す重要領域マップに基づいた、重要領域を含むマクロブロックと、非重要領域を含むマクロブロックとを示す。符号化処理部1007は、重要領域内のマクロブロックの量子化ステップ幅を小さくすることによって、重要度が高いと判定された重要領域の画質を高めることができる。
また、符号化処理部1007は、領域内のマクロブロックの量子化ステップ幅を大きくすることによって、重要度が低いと判定された非重要領域の符号量を削減することができる。
なお、符号化処理部1007は、重要度が高いと判定された重要領域の量子化ステップ幅の下げ幅と、非重要領域の量子化ステップ幅の上げ幅とを、符号化ストリームが目標ビットレートに収まるように、重要領域と非重要領域との画像中における割合と、重要領域及び非重要領域に付与された各々の重要度に従って制御してもよい。ここで目標ビットレートとは、画像符号化装置1001と画像表示装置1003との間のネットワークにおいて定められたビットレートである。
前述の処理によると、重要領域判定部1005が符号化対象フレームを重要領域と非重要領域とに分割し、前処理部1006が非重要領域に前処理を行うことによって非重要領域における情報量を削減し、符号化処理部1007がさらに非重要領域の量子化ステップ幅を大きく、かつ、重要領域の量子化ステップ幅を小さくする。これによって、画像符号化装置1001は、画像表示装置1003に送信する映像データの情報量を削減しながら、重要領域の画質を自動的に高める、又は、維持することができる。
しかし、画像符号化装置1001がフレーム画像の中から人間にとってどの部分が重要であるかを完全に判定することは、一般的に容易ではない。被写体が人物、顔、又は車両など限定される場合、重要領域判定部1005は、比較的良好に領域を抽出できる。しかし、被写体が限定されない場合、重要領域判定部1005が領域を正確に抽出することは困難である。
例えば同じ映像であっても、ユーザによってどの領域を重要であると判断するかは異なり得る。また同じユーザであっても、その時々の目的又は状況によって、どの領域を重要と判断するかは異なり得る。
そこで、前述の図2に示す処理に、ユーザが重要領域を指定できる機能を加える。
図7は、本発明の実施形態のユーザが重要領域であると判断する領域が指定される処理を示す説明図である。
図7に示す画像は、画像表示装置1003の表示部102によって表示される映像のうち、ユーザが領域を指定した際に表示されていたフレーム画像である。ユーザは、マウス又はタッチパネルなどのポインティング機能を備える入力部103を用いて、表示部102に表示されたフレーム画像から、ユーザが重要であると判断する被写体を含む領域701を指定する。
入力部103は、表示したフレーム画像において、領域701をユーザによって指定された場合、フレーム画像における指定された領域701の位置を示す位置情報を取得する。入力部103は、ユーザが領域701を指定する方法に従って、位置情報を取得する方法をあらかじめ有する。
例えば、入力部103は、重要であると判断する被写体をユーザが点によって指定した場合、指定された点を含む被写体を抽出し、抽出された被写体の領域を含む矩形を、領域701として取得してもよい。そして、フレーム画像における取得された領域701の位置情報を取得してもよい。
また、入力部103は、ユーザが重要であると判断する被写体を円形の範囲によって指定した場合、円形の範囲を領域701として取得してもよい。
ユーザによって指定された領域701の位置情報を含む指定領域情報800は、画像表示装置1003から、画像符号化装置1001に送信される。
なお、ユーザは、領域701を指定する際、領域701に含まれる被写体がどの程度重要であるかを示す重要度を指定してもよい。入力部103は、ユーザが指定した重要度を取得し、領域701と対応させて指定領域情報800に取得された重要度を格納してもよい。
図8は、本発明の実施形態の画像符号化装置1001に送信される指定領域情報800を示す説明図である。
図8に示す指定領域情報800は、画像表示装置1003から画像符号化装置1001に送信されるパケットに含まれる。指定領域情報800は、指定時刻8001、領域数8002、及び、位置情報8003(8003−1〜8003−n)を含む。
指定時刻8001は、ユーザが領域701の指定を完了した時点における、画像表示装置1003に表示されるフレーム画像の時刻である。
通常、画像符号化装置1001から画像表示装置1003に送信される符号化ストリームには、撮像された順番に各フレーム画像が再生されるように、フレーム画像毎に再生すべき順番を示すフレーム時刻が画像符号化装置1001によって付与される。すなわち、フレーム時刻は、フレーム画像が撮像された順番を示す。
画像表示装置1003は、ユーザが領域701を指定した際に表示されていたフレーム画像のフレーム時刻を、指定時刻8001に格納する。
領域数8002は、ユーザが指定した領域701の個数を示す。領域数8002に格納される値は、位置情報8003の数に対応する。
位置情報8003は、ユーザによって指定された領域701のフレーム画像における位置情報を示す。位置情報8003は、指定領域情報800にいくつ含まれてもよい。
図8に示す位置情報8003は、領域701が矩形として指定された場合の、領域701の位置を示す情報である。具体的には、図8に示す位置情報8003は、”左上の位置座標”、”指定範囲の幅”、及び、”指定範囲の高さ”によって領域701を示す。
ただし、領域701の位置を特定できる情報が位置情報8003に格納されていれば、いかなる情報が位置情報8003に格納されてもよい。すなわち、位置情報8003は、領域701が円形又は多角形などによって指定されている場合、円形又は多角形を示す情報を格納してもよい。
また、ユーザが領域701の重要度を指定した場合、各位置情報8003には、各領域701の重要度が格納される。
次に、画像符号化装置1001が指定領域情報800を受信した場合の処理、すなわち、図2に示すS2004の処理を説明する。
図9は、本発明の実施形態の重要度再判定処理を示すフローチャートである。
重要領域判定部1005は、図2に示すS2003において、指定領域情報800を受信部1008が受信し、ユーザから領域を新たに指定されたと判定した場合、図9に示す処理を開始する。図9に示す処理は、S2004の処理に対応する。
図9に示す処理において、重要領域判定部1005は、符号化対象フレームの各領域と対応付けられる過去のフレーム画像の領域を特定し、特定された領域に付与された重要度を再判定する。
重要領域判定部1005は、まず、ユーザが重要であると判断した領域701に対応する指定領域を特定する(S9001)。重要領域判定部1005は、受信した指定領域情報800の指定時刻8001が示すフレーム時刻に対応する過去のフレーム画像を、蓄積装置101から特定し、特定された過去のフレーム画像から指定領域を特定する。
ここで特定される過去のフレーム画像は、領域701が指定された際に画像表示装置1003に表示されていたフレーム画像の、前処理部1006及び符号化処理部1007による処理前のフレーム画像である。
重要領域判定部1005は、S9001において、指定時刻8001が示すフレーム時刻に対応する過去のフレーム画像を、蓄積装置101から特定し、さらに、特定された過去のフレーム画像の重要領域マップを特定する。
以下において、指定時刻8001が示す時刻が付与された過去のフレーム画像をフレーム画像pと記載する。
S9001における指定領域の特定処理の詳細を、図10及び図11に示す。
図10は、本発明の実施形態の指定領域を特定する処理を示すフローチャートである。
図10に示す処理は、S9001に示す処理に相当する。
重要領域判定部1005は、指定領域情報800の位置情報8003と、フレーム画像pの重要領域マップとに基づいて、フレーム画像pの重要領域マップにおける領域701を特定する。そして、特定された領域701に、過去に行われたS2001において抽出された領域が既に含まれるか否かを判定する(S10001)。S10001における判定の具体例を、図11A〜図11Cを用いて説明する。
図11Aは、本発明の実施形態のユーザによって指定された領域701に、重要度が高い領域が含まれる場合の重要領域マップを示す説明図である。
図11Aに示す重要領域マップは、ユーザによって指定された領域701内に、S2001において抽出された領域A”が含まれることを示す。
図11Bは、本発明の実施形態のユーザによって指定された領域701に、重要度が低い領域が含まれる場合の重要領域マップを示す説明図である。
図11Bに示す重要領域マップは、ユーザによって指定された領域701内に、S2001において抽出された領域B”が含まれることを示す。
図11Cは、本発明の実施形態のユーザによって指定された領域701に、抽出された領域が含まれない場合の重要領域マップを示す説明図である。
図11Cに示す重要領域マップは、ユーザによって指定された領域701内に、過去に行われたS2001において抽出された領域が含まれないことを示す。
重要領域判定部1005は、S10001において、特定された重要領域マップにおける領域701と、S2001において既に抽出された領域との位置が、図11Aに示すような位置であるか、図11Bに示すような位置であるか、又は、図11Cに示すような位置であるかを判定する。
そして、S10001において、特定された重要領域マップにおける領域701と、S2001において既に抽出された領域との位置が、図11Aが示すような位置又は図11Bが示すような位置である場合、重要領域判定部1005は、特定された重要領域マップにおける領域701に、既に抽出された領域が含まれると判定する。
そして、重要領域判定部1005は、重要領域マップにおける領域701に含まれる領域を指定領域として特定し、指定領域があることを示す値を、後続する処理(すなわち、S9002)に出力する(S10003)。
一方、S10001において、特定された重要領域マップにおける領域701と、S2001において既に抽出された領域との位置が、図11Cが示すような位置である場合、重要領域判定部1005は、領域701内に抽出された領域が存在しないため、領域701の近くに、抽出された領域が存在するか否かを判定する(S10002)。
重要領域判定部1005は、S10002において、既に抽出された領域のエッジのフレーム画像pにおける位置と、重要領域マップにおける領域701のエッジとの距離を算出し、算出された距離が所定の値より小さい場合、領域701の近くに、既に抽出された領域が存在すると判定する。
S10002において、領域701の近くに、既に抽出された領域が存在すると判定された場合、重要領域判定部1005は、領域701の近くに存在する、既に抽出された領域を指定領域として特定し、指定領域があることを示す値を、後続する処理(すなわち、S9002)に出力する(S10003)。
S10002において、領域701の近くに抽出された領域が存在しないと判定された場合、重要領域判定部1005は、指定領域はないことを示す値を、後続する処理(すなわち、S9002)に出力する(S10004)。
S10003又はS10004の後、重要領域判定部1005は、図10に示すS9001の処理を終了する。
図10に示す処理によって、重要領域判定部1005は、ユーザが重要であると判定した被写体が撮像された領域の、フレーム画像における位置を特定できる。また、S10002及びS10003において、ユーザによって指定された領域の近くの領域を指定領域として特定することよって、重要領域判定部1005は、ユーザが誤って指定すべき箇所の近傍の領域を指定した場合も、正確に指定領域を特定できる。
S9001の後、重要領域判定部1005は、S9001の処理によって出力された値が、指定領域があることを示すか否かを判定する(S9002)。
S9002において、S9001の処理によって出力された値が、指定領域がないことを示す場合、重要領域判定部1005は、ユーザが誤って領域を指定したと判定し、図9に示すS2004の処理を終了する。この場合、重要領域判定部1005は、図2に示すS2005を実行する。
S9002において、S9001の処理によって出力された値が、指定領域があることを示す場合、重要領域判定部1005は、S9001において特定されたフレーム画像pにおける指定領域の重要度を変更する(S9003)。
ここで、ユーザが画像表示装置1003において、重要であると判断する領域701のみを指定でき、かつ、重要度が”0”又は”1”のみである場合、重要領域判定部1005は、フレーム画像pにおける指定領域の重要度を”1”に変更する。
例えば、S9003において重要領域判定部1005は、S9001において図11Aのように領域701が領域A”を含むと判定された場合、領域A”には最高の重要度である”1”が付されているため、領域A”の重要度を変更しない。
しかし、S9001において図11Bのように領域701が領域B”を含むと判定された場合、S9003において重要領域判定部1005は、領域B”の重要度を”0”から”1”に変更する。また、図11Cのように領域701が領域B”に近いと判定された場合、S9003において重要領域判定部1005は、領域B”の重要度を高い重要度に変更する。
なお、ユーザが画像表示装置1003において、重要ではないと判断する領域701のみを指定でき、かつ、重要度が”0”又は”1”のみである場合、重要領域判定部1005は、フレーム画像pにおける指定領域の重要度を”0”に変更する。
また、図11A〜図11Cに示す重要領域マップは、重要度が”0”又は”1”の2値である場合の重要度を示すが、重要度が多値である場合、重要領域判定部1005は、指定領域の重要度が上がるように(又は、下がるように)値を変更してもよい。変更によって上がる重要度(又は、下がる重要度の値)の値は、ユーザによって重要領域判定部1005にあらかじめ格納されてもよい。
また、指定領域情報800の位置情報8003が、ユーザによって指定された重要度を含む場合、重要領域判定部1005は、位置情報8003に従って、フレーム画像pにおける指定領域の重要度を変更してもよい。
S9003の後、重要領域判定部1005は、フレーム画像pより一つ後に撮像された過去のフレーム画像から、符号化対象フレームより一つ前に撮像された過去のフレーム画像の重要度を変更する(S9004〜S9008)。
図12は、本発明の実施形態の符号化対象フレームより過去に撮像された複数のフレーム画像を示す説明図である。
画像表示装置1003と画像符号化装置1001とは、本実施形態において異なる筐体に配置されており、画像表示装置1003と画像符号化装置1001との間には、データを送信するための遅延時間が発生する。
このため、ユーザが画像表示装置1003において領域701を指定した際に画像表示装置1003に表示されるフレーム画像は、符号化対象フレームよりも過去に撮像されたフレーム画像pに対応する。
なお、本実施形態においてフレーム画像pは、フレーム時刻がpであり、すなわち、p番目に撮像されたフレーム画像である。また、符号化対象フレームは、フレーム時刻がNであり、N番目に撮像されたフレーム画像である。
すなわち、図12に示すフレーム画像pと、符号化対象フレームとの間には、複数のフレーム画像(p+1)〜フレーム画像(N−1)が撮像されている。
このため、符号化対象フレームに含まれる領域に、ユーザの指定に従って重要度を付加する場合、重要領域判定部1005は、領域701を指定した際のフレーム画像pから、符号化対象フレームまでの過去のフレーム画像(p+1)〜フレーム画像(N−1)に含まれる領域の重要度を変更する必要がある。
しかし、フレーム画像pから、符号化対象フレームまでの過去のフレーム画像において、指定領域と同じ識別子を付与された領域の位置が、フレーム画像において移動している場合がある。また、指定領域と同じ識別子を付与された領域が、フレーム画像から消えている場合がある。
このため、本実施形態の重要領域判定部1005は、以下の処理によって、フレーム画像pから、符号化対象フレームまでの過去のフレーム画像に、指定領域に対応する領域があるか否かを判定する。
S9003の後、重要領域判定部1005は、過去のフレーム画像を取得するためのパラメータtに、初期値として”p+1”を代入する(S9004)。
また、S9004の後、重要領域判定部1005は、フレーム画像tが、符号化対象フレームであるか否かを判定する。
フレーム画像tが符号化対象フレームであると、S9005において判定された場合、重要領域判定部1005は、図9に示すS2004の処理を終了する。これは、重要領域判定部1005は、S2005において符号化対象フレームに含まれる領域の重要度を判定するために用いられる、過去のフレーム画像の領域の重要度を、全て変更し終わったためである。
なお、フレーム画像pと符号化対象フレームとの間に撮像されたフレーム画像がない場合、S9005においてフレーム画像t(フレーム画像(p+1))が符号化対象フレームであると判定される。
フレーム画像tが符号化対象フレームではないと、S9005において判定された場合、重要領域判定部1005は、S9003において重要度を変更された指定領域と対応付けられた領域が、フレーム画像pの次に撮像されたフレーム画像(p+1)、すなわち、フレーム画像tに存在するか否かを判定する(S9006)。
具体的には、重要領域判定部1005は、フレーム画像pに対応する重要領域マップと、フレーム画像tに対応する重要領域マップとを参照し、指定領域と同じ識別子を付加された領域があるか否かを判定する。これによって、重要領域判定部1005は、S9006において、指定領域がフレーム画像tに存在するか否かを判定する。
この判定処理を、図13A〜図13Eを参照して説明する。
図13Aは、本発明の実施形態の指定領域を含む重要領域マップを示す説明図である。
図13Aは、フレーム画像pに対応する重要領域マップを示す。図13Aに示す領域Bが、S9003において重要度を変更された。
図13B〜図13Eに示す重要領域マップは、フレーム画像pの次に撮像されたフレーム画像(p+1)に対応する重要領域マップの複数の例である。
図13Bは、本発明の実施形態のフレーム画像(p+1)に対応する重要領域マップの一つ目の例を示す説明図である。
図13Cは、本発明の実施形態のフレーム画像(p+1)に対応する重要領域マップの二つ目の例を示す説明図である。
図13Dは、本発明の実施形態のフレーム画像(p+1)に対応する重要領域マップの三つ目の例を示す説明図である。
図13Eは、本発明の実施形態のフレーム画像(p+1)に対応する重要領域マップの四つ目の例を示す説明図である。
図13Bから図13Eに示す重要領域マップの各領域は、図2に示すS2002の処理によって、各々の過去のフレーム画像、すなわちフレーム画像pの各領域と既に対応付けられている。
図13Bに示す領域B’は、図13Aに示す領域B”と対応付けられている。また、図13Bに示す領域B’には、S9006を行う前において、例えば、重要度として1(重要)が付与されている。
また、図13Cに示す領域B’は、図13Aに示す領域B”と対応付けられている。図13Cに示す領域B’には、S9006を行う前において、例えば、重要度として0(非重要)が付与されている。
また、図13Dに示す重要領域マップには、図13Aに示す領域B”と対応付けられる領域がない。図13Dに示す重要領域マップは、重要度として1を付与された領域D’を含む。
また、図13Eに示す重要領域マップには、図13Aに示す領域B”と対応付けられる領域がない。図13Eに示す重要領域マップは、重要度として1を付与された領域A’のみを含む。
S9006において重要領域判定部1005は、S9003において重要度を変更された指定領域が、フレーム画像tにおける領域と、図13B又は図13Cのように対応付けられている場合、指定領域と対応付けられた領域がフレーム画像tに存在すると判定する。
また、S9006において、重要領域判定部1005は、S9003において重要度を変更された指定領域が、フレーム画像tにおける領域と、図13D又は図13Eのように対応付けられていない場合、指定領域と対応付けられた領域がフレーム画像tに存在しないと判定する。
指定領域が対応付けられた領域がフレーム画像tに存在しないと、S9006において判定された場合、重要領域判定部1005は、S9008の処理を実行する。
重要領域判定部1005は、S9005及びS9008の処理によって、フレーム画像pから符号化対象フレームまでの過去のフレーム画像のすべてに、S9006の処理を実行する。このため、一つのフレーム画像において、指定領域に対応付けられる領域がないと判定された場合も、他のフレーム画像において、指定領域に対応付けられる領域があるか否かを判定することができる。
すなわち、重要領域判定部1005は、図13D又は図13Eのように、指定領域である領域B”に対応付けられる領域がない場合も、他のフレーム画像において、領域B”に対応付けられる領域が再び撮像されていることを検出することができる。
S9006において、指定領域が対応付けられた領域がフレーム画像tに存在すると判定された場合、重要領域判定部1005は、重要度を変更された指定領域と対応付けられたフレーム画像tにおける領域の重要度を、指定領域の重要度と一致させるように、変更する(S9007)。
例えば、図13Bに示す領域B’が図13Aに示す領域B”と対応付けられている場合、領域B’の重要度と領域B”の重要度とは同じである。この場合、重要領域判定部1005は、S9007において、領域B’の重要度の値を変更しない。
また、例えば、図13Cに示す領域B’が図13Aに示す領域B”と対応付けられている場合、領域B’の重要度と領域Bの重要度とは異なる。このため、重要領域判定部1005は、S9007において、領域B’の重要度の値を、領域B”の重要度の値と一致させる。
指定領域が対応付けられた領域がフレーム画像tに存在しないとS9006において判定された場合、又は、S9007の後、重要領域判定部1005は、パラメータtに1を加算し(S9008)、S9005に戻る。
S9005からS9008の処理を繰り返すことによって、重要領域判定部1005は、フレーム画像pから符号化対象フレームまでの過去のフレーム画像における、指定領域に対応付けられる領域の重要度をすべて変更できる。
そしてこれによって、重要領域判定部1005は、S2005において、符号化対象フレームの領域に、ユーザの指定に従った重要度を付与することができる。
なお、フレーム画像pから符号化対象フレームまでに撮像されたフレーム画像がない場合、重要領域判定部1005は、S9001〜S9003のみの処理を行えばよい。
なお、前述の処理は、ユーザによって重要であると指定された領域の重要度を上げるための処理である。しかし、同様の方法によって、ユーザが重要ではない領域を指定した場合、画像符号化装置1001が、S9003において、指定領域の重要度を下げるように変更してもよい。これによって、ユーザは、重要領域と非重要領域とを、より柔軟に設定することができる。
この場合、指定領域情報800の位置情報8003には、重要度を上げるべき領域を示すフラグ、又は、重要度を下げるべき領域を示すフラグが含まれてもよい。
また、重要領域判定部1005は、図9に示すS9001において、フレーム画像pにおいてユーザが指定した指定領域を特定した際、特定された指定領域の特徴量を履歴として、蓄積装置101に保持してもよい。そして、重要領域判定部1005は、以降に実行される図2に示すS2001及びS2005において、保持された指定領域の特徴量を用いてもよい。
具体的には、重要領域判定部1005は、指定領域の色分布、又は、エッジ方向の分布等の特徴量を保持してもよい。そして、重要領域判定部1005は、S2001において、指定領域の特徴量を用いてフレーム画像から領域を抽出してもよい。また、重要領域判定部1005は、S2005において、指定領域の特徴量を用いて領域の重要度を判定してもよい。
すなわち、重要領域判定部1005は、ユーザが指定した指定領域に関する特徴量を履歴として保持しておくことによって、将来画像符号化装置1001が受信するフレーム画像において指定領域の特徴量と近い特徴量を有する領域が存在した場合、指定領域の特徴量と近い特徴量を有する領域を抽出し、抽出された領域にユーザの指定に従った重要度を付与することができる。
なお、重要領域判定部1005は、前述の指定領域に関する特徴量の履歴を、ユーザが指示した際など、必要に応じて削除してもよい。
さらに、重要領域判定部1005は、指定領域に対応付けられる領域を、指定領域に付与された識別子に基づいて、符号化対象フレームから抽出し、抽出された領域の位置情報を撮像装置1002に送信してもよい。そして、領域の位置情報を送信された場合、撮像装置1002は、送信された位置情報に従って、撮像している範囲を制御してもよい。
例えば、撮像装置1002は、送信された位置情報が示す領域のみにズームする、又は、送信された位置情報が示す領域を画面の中心に表示されるように撮像装置1002が向く方向を変更する、などを行ってもよい。これによって、画像符号化装置1001は、符号化処理におけるビットレートを変えることなく、重要領域の情報量を増やすことができる。
なお、本実施形態の画像符号化装置1001が有する各処理部の機能をプログラムによって実装する場合、プログラムのプログラムコードを画像符号化装置1001にインストールするための記憶媒体として、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、又はROMなどが用いられてもよい。
また、画像符号化装置1001が有する各処理部の機能を実装するためのプログラムコードを、ネットワークを介して画像符号化装置1001に配信することによって、画像符号化装置1001が備えるハードディスク若しくはメモリ等の記憶装置、又はCD−RW、CD−R等の記憶媒体に、プログラムコードを格納してもよい。そして、画像符号化装置1001のプロセッサが、前述の記憶装置又は記憶媒体に格納されたプログラムコードを読み出して実行してもよい。
本実施形態によれば、画像符号化装置1001は、ユーザが指定した内容に従って、重要でないと判定された領域の画質を下げることができる。重要でないと判定された領域(非重要領域)の画質を下げることによって、画像符号化装置1001から画像表示装置1003へ送信される符号化ストリームの帯域を、必要に応じて低減することができる。
また、非重要領域の画質を下げることによって下がった符号化ストリームの情報量を、符号化対象フレームにおける重要領域の画質を上げるために用いることができるため、表示装置1003は、重要領域の画質を上げて映像をユーザに提供することができる。
また、ユーザが重要度を変更するよう指定した領域を、符号化対象フレームの領域と対応付けることによって、本実施形態の画像符号化装置1001は、符号化対象フレームにおける非重要領域を、ユーザの指定に従って圧縮できる。さらに、符号化対象フレームにおける重要領域の画質を、ユーザの指定に従って上げることができる。
このため、本実施形態の画像符号化装置1001は、ユーザが真に見たいと欲する被写体の映像を、画質を上げて、又は、画質を維持して、ユーザに提供することができる。
また、重要領域判定部1005は、符号化対象フレームの領域と、過去のフレーム画像の領域とを対応付け、対応付けられた領域の重要度を一致させる。これによって、画像符号化装置1001は、映像内で被写体が移動する場合も、被写体が撮像された領域を、同じ画質によってユーザに提供できる。
また、符号化対象フレームの領域と、過去のフレーム画像の領域とを特徴量等によって対応付けることによって、被写体が映像内で移動する場合も、重要領域判定部1005は、過去のフレーム画像においてユーザによって指定された被写体を、符号化対象フレームにおいても特定することができる。すなわち、被写体が映像内で移動する場合も、ユーザが指定した被写体の領域を、高い画質、又は、低い画質によってユーザに提供し続けることができる。