以下、本発明の実施の形態について、図面を参照しながら説明する。
実施形態のステレオ画像符号化装置100は、互いに異なる2つの撮影位置PX、PYで撮像された2つの映像信号101iX、101iYを取得する取得部と、取得された2つの前記映像信号の間の視差に関する視差情報(図4の動きベクトルVF、VN)を算出する動きベクトル検出部102と、算出された前記視差情報に基づいて、取得された2つの前記映像信号による立体映像における部分(図9の領域9Aなど)の、現在(図7のピクチャB2、S3の時刻)または過去(ピクチャI0、S1の時刻)の(うちの予め定められた一方における)前記視差が大きいほど、その部分(領域9A)の符号量が大きくなるように、符号化条件(図1の量子化パラメータ104P)を決定する量子化パラメータ決定部103と、取得された2つの前記映像信号による前記立体映像の、決定された前記符号化条件で符号化された立体映像信号(符号化ストリーム100o)を生成する画像符号化部104とを備えるステレオ画像符号化装置100である。
具体的には、このステレオ画像符号化装置100は、例えば、互いに異なる位置(図4の撮影位置PX、撮影位置PY)で撮影された2つの映像の映像信号である、第1の映像信号(第1の映像信号101iX)と、第2の映像信号(第2の映像信号101iX)とを符号化し、前記第1の映像信号と前記第2の映像信号とが符号化された、ステレオ映像信号用の符号化ストリーム(符号化ストリーム100o)を生成するステレオ画像符号化装置であって、前記第1の映像信号に含まれる第1のフレーム(映像9X、ピクチャB2)と、前記第2の映像信号に含まれるフレームのうちで、前記第1のフレームと同時刻に撮影された第2のフレーム(映像9Y、ピクチャS3)との間の視差(図4の説明参照。例えば、視方向の角度差の水平成分)を特定する視差情報(動きベクトル、その水平成分)を算出する視差情報算出部(動きベクトル検出部102)と、前記視差情報算出部において算出された前記視差情報が、第1の距離の視差を特定する視差情報(動きベクトルVN)である場合(S302:Yes)、符号化で用いる量子化パラメータとして、第1の量子化パラメータ(量子化パラメータ104pS)を決定し、前記第1の距離より遠い第2の距離の視差を特定する視差情報(動きベクトルVF)である場合(S302:No)、前記第1の量子化パラメータより大きい第2の量子化パラメータ(量子化パラメータ104pL)を決定する量子化パラメータ決定部(量子化パラメータ決定部103)と、前記量子化パラメータ決定部において決定された前記量子化パラメータを用いて、前記第1の映像信号または前記第2の映像信号の符号化(第2の映像信号101iY(映像9Y)の領域(第2領域)の量子化)を行う画像符号化部104とを備えるステレオ画像符号化装置などでもよい。
なお、ここで、更に具体的には、前記視差情報は、前記第2のフレーム(映像9Y、ピクチャS3)に含まれる第2領域と、前記第2領域に撮影された対象物(図4の対象物OF又は対象物ON)と同じ前記対象物が撮影された、前記第1のフレーム(映像9X、ピクチャB2)に含まれる第1領域との間の視差(例えば、視方向の角度差)を特定し、前記画像符号化部は、前記量子化パラメータ決定部により前記第1の量子化パラメータが決定された場合、前記第1領域および前記第2領域のうちの少なくとも一方の領域(第2領域)を第1の量子化幅により量子化し(S302:Yes)、前記第2の量子化パラメータが決定された場合、前記第1の量子化幅よりも大きい第2の量子化幅により前記一方の領域を量子化する(S302:No)。
以下、詳しい説明が行われる。
図1は、実施の形態に係るステレオ画像符号化装置100の構成を示すブロック図である。
実施の形態に係るステレオ画像符号化装置100においては、第1の映像信号101iXと、第2の映像信号101iYとが入力され、H.264圧縮方式でそれらが符号化されたデータが、ストリーム(符号化ストリーム100o)として出力される。なお、H.264圧縮方式による符号化においては、1つのピクチャを、1つまたは複数のスライスに分割し、そのスライスを処理単位としている。本発明の実施の形態における、H.264圧縮方式による符号化では、一例として、1つのピクチャが1つのスライスであるとする。
図1において、ステレオ画像符号化装置100は、入力画像メモリ101と、動きベクトル検出部102と、量子化パラメータ決定部103と、画像符号化部104と、参照画像メモリ105とを備える。
入力画像メモリ101は、ステレオ画像符号化装置100に入力された第1の映像信号101iXと、第2の映像信号101iYとを、ステレオ画像符号化装置100への入力画像データとして格納している。なお、入力画像メモリ101が保持している情報は、動きベクトル検出部102、画像符号化部104により参照される。
動きベクトル検出部102は、参照画像メモリ105に格納されているローカルデコード画像を探索対象とし、符号化対象となる入力画像データに最も近い画像領域を検出して、その画像領域の位置を示す動きベクトルを決定し、それらの情報を量子化パラメータ決定部103、及び画像符号化部104に送信する。
量子化パラメータ決定部103は、動きベクトル検出部102から出力された動きベクトルから、符号化で用いる量子化パラメータを決定し、それらの情報を、画像符号化部104に送信する。なお、量子化パラメータ決定部103における具体的な動作に関する詳細については後述する。
画像符号化部104は、動きベクトル検出部102が出力した動きベクトルと、量子化パラメータ決定部103が出力した量子化パラメータとに従って、入力画像メモリに格納されている、符号化対象となる入力画像データを、H.264圧縮方式による符号化により圧縮符号化する。
参照画像メモリ105は、画像符号化部104が出力したローカルデコード画像を格納する。なお、参照画像メモリ105が保持している情報は、動きベクトル検出部102、及び画像符号化部104により参照される。
次に、図2を用いて、画像符号化部104の詳細な構成について説明する。
図2は、実施の形態に係るステレオ画像符号化装置100における画像符号化部104の詳細な構成を示すブロック図である。
図2において、画像符号化部104は、面内予測部201、動き補償部202、予測モード判定部203、差分演算部204、直交変換部205、量子化部206、逆量子化部207、逆直交変換部208、加算部209、およびエントロピー符号化部210を備えている。
面内予測部201は、参照画像メモリ105に格納されているローカルデコード画像に基づいて、同一画面内の、符号化後の画素を用いて、面内予測を行い、面内予測の予測画像を生成する。そして、面内予測部201は、生成した予測画像を、予測モード判定部203に出力する。
動き補償部202は、動きベクトル検出部102から受信した情報に含まれる動きベクトルを用いて、参照画像メモリ105に格納されているローカルデコード画像から、予測画像に最適な画像領域を取り出し、面間予測の予測画像を生成し、生成した予測画像を、予測モード判定部203に出力する。
予測モード判定部203は、予測モードを判定して、その判定の判定結果に基づき、面内予測部201からの、面内予測で生成された予測画像と、動き補償部202からの、面間予測で生成された予測画像とを切り替えて出力する。つまり、予測モード判定部203は、それら2つの予測画像から1つを選択し、選択された予測画像を出力する。予測モード判定部203において予測モードを判定する方法は、例えば、面間予測と面内予測について、それぞれ符号化対象となる入力画像データと予測画像との各画素の間の差分絶対値和を求め、この値が小さい方を予測モードと判定する方法でもよい。
差分演算部204は、入力画像メモリ101から、符号化対象となる入力画像データを取得する。そして、差分演算部204は、取得した入力画像と、予測モード判定部203から出力された予測画像との間の画素差分値を計算し、計算した画素差分値を直交変換部205に出力する。
直交変換部205は、差分演算部204から入力された画素差分値を周波数係数に変換し、変換した周波数係数を量子化部206に出力する。
量子化部206は、直交変換部205から入力された周波数係数を量子化する。そして、量子化部206は、周波数係数が量子化されたデータを、量子化データとして、エントロピー符号化部210および逆量子化部207に出力する。
逆量子化部207は、量子化部206から入力された量子化データを逆量子化して、量子化データを、量子化データが逆量子化された周波数係数に復元し、復元した周波数係数を逆直交変換部208に出力する。
逆直交変換部208は、逆量子化部207から入力された周波数係数を画素差分値に逆周波数変換し、逆周波数変換した画素差分値を加算部209に出力する。
加算部209は、逆直交変換部208から入力される画素差分値と、予測モード判定部203から出力された予測画像を加算して、加算により得られた画像を、ローカルデコード画像として、参照画像メモリ105に出力する。
なお、ここで、参照画像メモリ105に記憶されるローカルデコード画像は、入力画像メモリ101に記憶される入力画像データと基本的には同じ画像である。ただし、このローカルデコード画像は、直交変換部205および量子化部206などで、一旦直交変換および量子化処理をされた後、逆量子化部207および逆直交変換部208などで逆量子化および逆直交変換処理をされた画像である。このため、参照画像メモリ105に記憶されるローカルデコード画像は、量子化歪みなどの歪み成分を有している。これにより、参照画像メモリ105を用いる処理で、歪み成分を反映した適切な処理がされる。
エントロピー符号化部210は、量子化部206から入力された量子化データおよび、動きベクトル検出部102から入力された動きベクトル等をエントロピー符号化し、その符号化したデータを符号化ストリーム100oとして出力する。
すなわち、画像符号化部104においては、符号化がされる画像を表す、量子化前のデータ(周波数係数)を、量子化後のデータ(量子化データ)へと量子化する量子化部206を備える。そして、この量子化部206は、比較的小さな量子化幅で量子化をする場合、比較的大きなデータ量の、量子化後のデータへと量子化を行い、比較的大きな量子化幅で量子化をする場合、比較的小さなデータ量の、量子化後のデータへと量子化を行う。
次に、以上のように構成されたステレオ画像符号化装置100が実行する処理について説明する。
まず、第1の映像信号101iXと、第2の映像信号101iYが入力画像メモリ101に格納される。例えば、第1の映像信号101iXが左目用の映像信号を、第2の映像信号101iYが右目用の映像信号を表している。そして、それぞれの映像信号は、画素数が、例えば、1920画素×1080画素で、構成されている。なお、第1の映像信号101iXは、右目用の映像信号であってもよい、また、第2の映像信号101iYは、左目用の映像信号であってもよい。なお、この明細書では、第1の映像信号101iXおよび第2の映像信号101iYの説明で、適宜、それぞれ、図7の第1の映像信号および第2の映像信号が参照される。
動きベクトル検出部102は、参照画像メモリ105に格納されているローカルデコード画像を探索対象とし、符号化対象となる入力画像データに最も近い画像領域を検出する。つまり、動きベクトル検出部102は、入力画像データの内容に最も近い内容を有すると判定される画像領域を検出して、その画像領域の位置を示す動きベクトルを決定する。
なお、動きベクトルはブロック単位で検出される。具体的には、この検出の処理では、符号化対象となる入力画像データ側(図7のピクチャS3)のブロック(符号化対象ブロック)を固定しておく。そして、参照ピクチャ側(ピクチャB2)のブロック(参照ブロック)を探索範囲内で移動させる。そして、符号化対象ブロックと最も似通った参照ブロックの位置を見つけることにより、動きベクトルが検出される。なお、この動きベクトルを探索する処理を、動きベクトル検出と呼ぶ。似通っているかどうかの判断の方法としては、符号化対象ブロックと参照ブロックの比較誤差を使用する方法が一般的であり、特に差分絶対値和(SAD:Sum of Absolute Difference)に基づいた方法がよく用いられる。なお、参照ピクチャ全体の中で参照ブロックを探索すると、演算量が膨大となるため、参照ピクチャの中で、探索する範囲を制限することが一般的であり、制限した範囲を探索範囲と呼ぶ。
次に、図3を用いて、量子化パラメータ決定部103が実行する処理の一例を説明する。
図3は、実施の形態に係るステレオ画像符号化装置100における量子化パラメータ決定部103が実行する処理の一例を示すフローチャートである。
図3において、量子化パラメータ決定部103は、動きベクトル検出部102から出力された動きベクトルが、同時刻の片方のフレームを参照しているかを判断する(S301)。ここで、同時刻の片方のフレームとは、動きベクトルの始端が含まれるフレーム(図7のピクチャS3)の時刻と同時刻における、そのフレームの映像信号(第2の映像信号)とは異なる方の映像信号(第1の映像信号)のフレーム(ピクチャB2)をいう。なお、具体的には、例えば、複数の参照ピクチャSxのうちに、ピクチャB2が含まれるか否かが判定されてもよい。
ステップS301において、動きベクトルが、同時刻の片方のフレームを参照していないと判断された場合(ステップS301においてNoの場合)、量子化パラメータ決定部103は、予め設定された値を、量子化パラメータとして、画像符号化部104へ出力する。
他方、ステップS301において、動きベクトルが、同時刻の片方のフレームを参照していると判断された場合(ステップS301においてYesの場合)、量子化パラメータ決定部103は、視差特徴量が、予め定められた閾値(後述される図5の閾値103t)以上であるかを判断する(S302)。なお、視差特徴量とは、動きベクトルの水平成分から求められる、人間から見て近い位置にある領域であるかどうかを示す量である。なお、視差特徴量については、後で詳しく説明される。
なお、ステップS301では、このように、視差特徴量が閾値以上か否かが判定される。そして、この判定がされることにより、その視差特徴量が求められた動きベクトルが、閾値以上の視差特徴量が求められる動きベクトルか否か(図4の動きベクトルVNおよび動きベクトルVFの何れであるか)が量子化パラメータ決定部103により判定されると捉えられてもよい。なお、図4および図5の説明は、後で詳しく行われる。
ステップS302において、視差特徴量が、予め定められた閾値以上でないと判断された場合(ステップS302においてNoの場合)、量子化パラメータ決定部103は、予め設定された値(図4及び図5の、大きな量子化パラメータ104pL)を、量子化パラメータとして、画像符号化部104へ出力する。
他方、ステップS302において、視差特徴量が予め定められた閾値以上であると判断された場合(ステップS302においてYesの場合)、量子化パラメータ決定部103は、予め設定された値から、所定値を差し引いた値(図4及び図5の、小さな量子化パラメータ104pS)を、量子化パラメータとして、画像符号化部104へ出力する。
ここで、視差特徴量とは、例えば、動きベクトルの水平成分から求められる、人間から見て近い位置にある領域(図9の領域9A(領域A:注視領域))であるかどうかを示すパラメータである。人間から見て近い位置にある領域では、その領域の視差特徴量は正の値となり、人間から見て遠い位置にある領域(領域9B(領域B:非注視領域))では、その領域の視差特徴量は負の値となる。なお、第1の映像信号101iXおよび第2の映像信号101iYの説明では、適宜、図9(図10)が参照される。
実施の形態の場合、第1の映像信号101iX(映像9X)が左目用の映像信号を、第2の映像信号101iY(映像9Y)が右目用の映像信号を表している。そして、第1の映像信号101iXのピクチャが、第2の映像信号101iYのピクチャの参照ピクチャ(図7のピクチャB2参照)となる。このため、人間から見て近い位置にある領域(図9の領域9A:注視領域)の動きベクトルの水平成分は、正の値となり、遠い位置にある領域(領域9B:非注視領域)の動きベクトルの水平成分は、負の値となる(後述の図5の説明を参照)。このため、動きベクトルの水平成分そのままを、視差特徴量として用いる。
なお、第1の映像信号101iX(映像9X)が右目用の映像信号を、第2の映像信号101iY(映像9Y)が左目用の映像信号を表しており、第1の映像信号101iXが第2の映像信号101iYの参照ピクチャとなる場合、上記の場合とは逆である。つまり、人間から見て近い位置にある領域の動きベクトルの水平成分は、負の値となる。そして、人間から見て遠い位置にある領域の動きベクトルの水平成分は、正の値となる。このため、動きベクトルの水平成分の符号を反転させた値を視差特徴量として用いる。
画像符号化部104は、動きベクトル検出部102が出力した動きベクトル、及び、量子化パラメータ決定部103が出力した量子化パラメータに従って、面内予測、動き補償、直交変換、量子化およびエントロピー符号化等の一連の符号化処理を実行する。本発明の実施の形態において、画像符号化部104は、H.264符号化方式に従って入力画像データを符号化するものとする。
なお、ここで、一方の映像信号(第1の映像信号101iX)の第1のフレームを参照した符号化が行われる、他方の映像信号(第2の映像信号101iY)に含まれる第2のフレームは、先頭のフレーム(ピクチャS1)でもよい。つまり、第2のフレームは、先頭のフレーム(ピクチャS1)と、後続の各フレーム(ピクチャS3…)とのうちで、先頭のフレーム(ピクチャS1)であってもよい。先頭のフレーム(ピクチャS1)は、多くの場合に、後続の各フレーム(ピクチャS3…)よりも先に符号化される。このため、先頭のフレームの符号化では、先頭のフレームが含まれる映像信号(第2の映像信号101iY)のフレーム(ピクチャS3…)が参照されない。つまり、他方の映像信号(第1の映像信号101iX)のフレーム(ピクチャI0)を参照した符号化が多くの場合に行われる。このため、多くの場合に、上述の動きベクトルが、視差情報として利用できる。このため、動きベクトルではない別の視差情報を得るための複雑な構成が必要となるのが回避できる。
以上のように、実施の形態に係るステレオ画像符号化装置100は、量子化パラメータ決定部103において、動きベクトル検出部102から出力された動きベクトルが、同時刻の片方のフレームを参照している場合(S301:Yes)、動きベクトルの値に応じて量子化パラメータを決定する。そして、画像符号化部104は、決定された量子化パラメータに基づいて入力画像データを圧縮符号化する。つまり、このように構成することにより、人間から見て近い位置にある領域、つまり人間の視覚上の重要度が高い領域(領域9A)に、優先して多くの符号量を割り当てて符号化する。このため、符号化効率を高めることができる。したがって、画質および符号化効率を向上させることが可能となる。
つまり、重要な領域の量子化では、近い距離の視差の視差情報が算出されて、小さい第1の量子化パラメータにより特定される小さい量子化幅での量子化がされ(S301:Yes)、高い画質が得られる。他方、重要でない領域の量子化では、遠い距離の視差の視差情報が算出されて、大きい量子化幅での量子化がされ(S301:No)、高い符号化効率が得られる。これにより、高い画質と、高い符号化効率とが両立できる。
続けて、図4、図5を用いて、ステレオ画像符号化装置100の詳細な点の一例が説明される。ただし、次の説明は単なる一例であり、ステレオ画像符号化装置100の一部又は全部は、次の説明とは異なってもよい。
図4は、撮影が行われる空間SPCと、ステレオ画像符号化装置100とを示す図である。
撮影位置PXは、第1の映像信号101iXにより表される左目用の映像(映像9X)が撮影される撮影位置である。
撮影位置PYは、第2の映像信号101iYにより表される右目用の映像(映像9Y)が撮影される撮影位置である。なお、この右目用の映像9Y、及び、左目用の映像9Xのうち、左目用映像9Yが右目により見られると共に、映像9Xが左目により見られる。これにより、3Dの(立体的な)映像を、ユーザが知覚する(見る)。なお、撮影位置PYは、撮影位置PXに対して水平な位置である。また、撮影位置PYは、図4の上向きの方向である、撮影の方向に向かって、撮影位置PXよりも右側である。
ここで、映像9Xは、映像9Yが撮影された時刻と同じ時刻(先述)に撮影された映像である。
スクリーンScrXは、撮影位置PXで撮影される映像9Xを理解するための、映像9Xが示される仮想的なスクリーンである。スクリーンScrXは、先述のよう、左側の撮影位置PXのスクリーンである。このため、スクリーンScrXでは、撮影位置PXおよび撮影位置PYに対して、比較的近い対象物ON(領域9Bの対象物(被写体))が、右側の箇所NXに撮影される。そして、比較的遠い対象物OF(領域9Aの対象物(被写体))が、左側の箇所FXに撮影される。
スクリーンScrYは、撮影位置PYに対応する仮想的なスクリーンである。スクリーンScrYでは、他方のスクリーンScrXとは逆に、近い対象物ONが、左側の箇所NYに撮影される。そして、遠い対象物OFが、右側の箇所FYに撮影される。
このように、近い対象物ONは、スクリーンScrXでは右側の箇所NXに撮影され、スクリーンScrYでは左側の箇所NYに撮影される。このため、箇所NYから箇所NXへの動きベクトルVNの水平成分は、左側から右側への動きでの水平成分であり、つまり、比較的大きな値を有する。
他方、遠い対象物OFは、スクリーンScrXでは左側の箇所FXに撮影され、スクリーンScrYでは右側の箇所FYに撮影される。このため、箇所FYから箇所FXへの動きベクトルVFの水平成分は、右側から左側への動きでの水平成分であり、つまり、比較的小さな値を有する。
ここで、クロスポイントCPは、撮影位置PXの撮影方向と、撮影位置PYの撮影方向とが交わる位置であり、スクリーンScrXの水平方向の中央の位置、および、スクリーンScrYの水平方向の中央の位置のそれぞれと同じ位置である。
そして、近い対象物ONは、例えば、クロスポイントCPよりも近い距離の対象物である。このため、近い対象物ONは、スクリーンScrXの中央の位置よりも右側の箇所NXと、スクリーンScrXの中央の位置よりも左側の箇所NYとにそれぞれ撮影される。このため、箇所NYから箇所NXへの上述の動きベクトルVNの水平成分は、正の値である。
他方、遠い対象物OFは、例えば、クロスポイントCPよりも遠い距離の対象物である。このため、遠い対象物OFについての、上述の動きベクトルVFの水平成分は負である。
なお、近い対象物ONは、例えば、映像9Yおよび映像9Xにより見せられる3Dの映像において、3Dの映像が映されるスクリーンの位置から、対象物ONの動きベクトルVNの水平成分の(正の)値の絶対値の量だけの飛び出し量を有してもよい。同様に、遠い対象物OFは、例えば、3Dの映像において、その3Dの映像のスクリーンの位置から、動きベクトルVFの水平成分の(負の)値の絶対値の量だけの引き込み量を有してもよい。
そして、ステレオ画像符号化装置100は、上述のような、動きベクトルVNおよびVFが算出される映像9Xおよび映像9Yを、当該ステレオ画像符号化装置100に入力する。
なお、例えば、ステレオ画像符号化装置100は、撮影位置PXおよび撮影位置PYなどが含まれる空間SPCの光を取得する光学系100Lを備えてもよい(図6参照)。そして、ステレオ画像符号化装置100は、例えば、この光学系100Lにより光を取得することにより、映像9Xおよび映像9Yを入力する。
画像符号化部104は、映像9Xおよび映像9Yのうちの、参照側である映像9Yにおける領域(先述の第2領域:箇所NYまたは箇所FY)に対して、次のような符号化を行う。つまり、その符号化とは、被参照側である映像9Xにおける、第2領域に写された対象物(対象物ONまたは対象物OF)と同じ対象物が写された領域(先述の第1領域:箇所NXまたは箇所FX)を参照した符号化である。
なお、先述のように、画像符号化部104は、右目側の第2領域を参照した符号化を、第1領域に行ってもよい。
そして、画像符号化部104は、第1領域および第2領域のうちで、量子化幅を制御する対象である対象領域(第2領域)の、量子化前のデータを、量子化後のデータへと量子化する。そして、画像符号化部104は、量子化された量子化後のデータが含まれるストリームを、符号化ストリーム100oとして生成する。
動きベクトル検出部102は、映像9Xにおける複数の領域のうちから、上述の第1領域を探索し、探索された第1領域への第2領域からの動きベクトル(動きベクトルVF、VN)を算出する。
ここで、算出された動きベクトルは、上記第1領域を見る視方向と、上記第2領域を見る視方向との間の角度差などの、第1領域および第2領域の間の視差を特定し、特定される視差が特定する距離として、対象物の距離を特定する。
つまり、算出された動きベクトル(の水平成分)は、正の値などの大きな値であれば(動きベクトルVN)、対象物が近いことを示す(近い対象物ON、領域9A)。一方で、負の値などの小さな値であれば(動きベクトルVF)、対象物が遠いことを示す(遠い対象物OF、領域9B)。
すなわち、算出された動きベクトル(の水平成分)は、対象物の距離が近いか遠いかを示す視差情報(距離情報、視差特徴量)である。
量子化パラメータ決定部103は、動きベクトル検出部102により検出された視差情報が、比較的近い距離の視差情報(動きベクトルVN)である場合(S302:Yes)、比較的小さな量子化パラメータ104pL(図3における「QP−所定値」、所定値を差し引いた値)を特定する。また、量子化パラメータ決定部103は、検出された視差情報が、比較的遠い距離の視差情報(動きベクトルVF)である場合(S302:No)、比較的大きな量子化パラメータ104pS(所定値を差し引いていない値)を特定する。
つまり、量子化パラメータ決定部103は、視差情報が、近い距離の視差情報である場合、小さな量子化パラメータ104pを特定することにより、小さな量子化パラメータ104pにより特定される小さな量子化幅を特定する。そして、遠い距離の視差情報である場合、大きな量子化パラメータ104pLによる大きな量子化幅を特定する。
こうして、量子化幅を特定する量子化幅データが特定される。量子化幅データは、量子化パラメータ(例えば、H.264/AVCにおけるQP)でもよい他、後で詳しく説明されるよう、例えば、H.264/AVCにおける量子化マトリックスであってもよい。
そして、量子化パラメータ決定部103は、特定された量子化幅により、先述された、量子化において量子化幅が制御される対象領域(第2領域)の量子化を画像符号化部104に行わせる。これにより、量子化パラメータ決定部103は、視差情報(が特定する距離)に対応するデータ量の符号化ストリーム100oを画像符号化部104に生成させる。
なお、より詳細には、符号化ストリーム100oに含まれる、量子化後のデータは、量子化がされた後に、さらに、エントロピー符号化部210等による処理がされた後のデータである。
図5は、視差情報と、量子化パラメータ決定部103が量子化を行わせる量子化幅との関係を示す図である。
例えば、視差情報と量子化幅との関係は、実線のデータの関係である。
図5のグラフで、横軸は、動きベクトル検出部102により検出される、動きベクトルの水平成分(視差情報)を示す。また、縦軸は、量子化パラメータ決定部103が量子化をさせる量子化幅を示す。
視差情報が、閾値103tより大きく、閾値103tでの距離よりも近い距離での視差情報である場合(S302:Yes、動きベクトルVN)、その視差情報には、小さな量子化パラメータ104pSによる小さな量子化幅が対応する。他方、視差情報が、閾値103t以下で、閾値103tでの距離以上の遠い距離での視差情報である場合(S302:No、動きベクトルVF)、その視差情報には、大きな量子化パラメータ104pLによる大きな量子化幅が対応する。
なお、視差情報と量子化幅との関係は、例えば、破線のデータの関係であってもよい。
上限103Uから下限103Lまでの範囲においては、破線のデータの視差情報に対応する量子化幅は、視差情報が、より近い(右側の)情報に変化するにつれて、単調に減少する。つまり、この範囲の視差情報の量子化幅は、何れの量子化幅についても、その量子化幅の視差情報の距離より遠い距離の(左側の)視差情報に対応する量子化幅よりも小さく、かつ、より近い距離の(右側の)視差情報に対応する量子化幅より大きい。これにより、中間の大きさの量子化幅が利用されて、より精度のよい適切な量子化幅が利用できる。
しかも、破線のデータにおいては、上限103Uより右側の(近い距離の)範囲では、視差情報に対応する量子化幅は、視差情報がより右側に変化しても、変化せず、減少しない。同様に、下限103Lより左側の(遠い距離の)範囲では、視差情報に対応する量子化幅は、視差情報がより左側に変化しても、増加しない。これにより、大き過ぎる量子化幅や、小さ過ぎる量子化幅による弊害が回避できる。例えば、遠い対象物OFよりも更に遠い対象物などの、非常に遠い対象物の画質が、小さ過ぎる量子化幅による量子化により、劣化してしまうことが回避できる。
なお、一例としては、上限103Uの視差情報での量子化幅は、上記の小さな量子化パラメータ104pSでの量子化幅であってもよい。また、下限103Lの視差情報での量子化幅は、上記の大きな量子化パラメータ104pLでの量子化幅であってもよい。
こうして、画像符号化部104と、視差情報算出部(動きベクトル検出部102)と、量子化幅制御部(量子化パラメータ決定部103)とを備えるステレオ画像符号化装置100が構築される。
前記画像符号化部は、第1の映像(映像9X)および第2の映像(映像9Y)のうちの前記第1の映像に含まれる第1領域と、前記第1領域に写された対象物(近い対象物ON、又は、遠い対象物OF)と同じ対象物が写された、前記第2の映像における第2領域とのうちの少なくとも一方の領域(映像9Yにおける前記第2領域)の、量子化前のデータを、量子化後のデータへと量子化する。なお、ここで、第1の映像および第2の映像は、先述のように、一方の目により第1の映像が見られ、他方の目により第2の映像が見られることにより、3Dの映像(立体映像)が見せられる2つの映像である。
前記視差情報算出部は、視差情報(動きベクトル、動きベクトルの水平成分)を算出する。ここで、算出される視差情報は、前記第1領域と前記第2領域との間の視差(視方向の角度差の水平成分等)を特定することにより、当該視差に対応する距離を、前記対象物の距離と特定する。
前記量子化幅制御部は、前記視差情報算出部により算出された前記視差情報が、近い第1の距離を特定する場合(S302:YES)、小さな量子化幅で前記画像符号化部に量子化を行わせる。つまり、これにより、大きいデータ量の前記量子化後のデータへと量子化をさせる。他方、遠い第2の距離を特定する場合(S302:No)、大きな量子化幅で量子化をさせる。つまり、これにより、小さいデータ量の前記量子化後のデータへと量子化させる。
これにより、近くて、重要である領域(注視領域)の量子化では、大きいデータ量への量子化がされて(S302:Yes)、画質が高くできる。しかも、遠くて、重要ではない領域(非注視領域)の量子化では、小さいデータ量への量子化がされ、符号化効率が向上できる。これにより、高い画質と、高い符号化効率とが両立できる。
以上、実施の形態について説明したが、本発明はこれに限定されるものではない。
例えば、実施の形態においては、動き補償に用いる動きベクトルに応じて、量子化パラメータを変更する方法を例に挙げた。しかし、本発明は、これに限るものではなく、例えば、入力画像メモリに入力される前に第1の映像信号と第2の映像信号との間の視差(視差情報)を検出する前処理部(後述される、動きベクトルとは異なる別の視差情報を検出する視差情報検出部(第2の視差情報算出部)を参照)を設けてもよい。そして、その検出の結果に応じて量子化パラメータを変更させてもよい。なお、この場合の方法の一例としては、例えば第1の映像信号と第2の映像信号を、例えば1/16などに縮小した画像に対して、動きベクトル検出を行い、算出された動きベクトルから視差を判断するという方法が挙げられる。なお、他の方法を用いて、視差を示す動きベクトルを算出してもよい。
なお、上述された前処理部について、後でより詳しく述べられる。
また、実施の形態においては、視差特徴量が、予め定められた閾値以上であると判断された場合に、量子化パラメータを小さくする方法を例に挙げたが、これに限るものではない。つまり、例えば、視差特徴量が予め定められた閾値以下であると判断された場合に、量子化パラメータを小さくしてもかまわない。このとき、視差特徴量は、より小さな値であるほど、その視差特徴量が得られた領域(領域9A、領域9Bなど)が、より近い距離の領域であることを示す。
また、実施の形態においては、視差特徴量が予め定められた閾値以上であると判断された場合のみ、量子化パラメータを変更する方法を例に挙げたが、これに限るものではない。つまり、例えば、視差特徴量の値に比例させて量子化パラメータを変更させてもかまわない(図5の破線のデータ参照)。また、その場合の量子化パラメータの変更量に上限・下限を設けてもかまわない。
また、実施の形態においては、圧縮符号化方式としてH.264を用いた場合を例に挙げたが、これに限るものではない。つまり、例えば、他の圧縮符号化方式に対して本発明を適用してもよい。
以上のように、ステレオ画像符号化装置100は、第1の映像信号に含まれる第1のフレームと、第2の映像信号に含まれるフレームのうち、第1のフレーム(映像9Y)と、第1のフレームが撮影された時刻と同時刻に撮影された第2のフレーム(映像9X)との間の動きベクトルに応じて、符号化で用いる量子化パラメータを決定する。このため、適切な量子化パラメータが決定されて、符号化した画像の画質および符号化効率を向上させることが可能となる。
なお、本発明によれば、実施の形態における各構成を備えるステレオ画像符号化装置100を提供することができるばかりでない。つまり、例えば、ステレオ画像符号化装置が具備する各構成の処理を、含まれる各ステップとするステレオ画像符号化方法や、ステレオ画像符号化装置が具備する各構成を備えるステレオ画像符号化集積回路、およびステレオ画像符号化方法を実現することができるステレオ画像符号化プログラムなどを提供することも可能である。
そして、このステレオ画像符号化プログラムは、CD−ROM(Compact Disc−Read Only Memory)等の記録媒体やインターネット等の通信ネットワークを介して流通させることができる。
また、ステレオ画像符号化集積回路は、典型的な集積回路であるLSIとして実現することができる。この場合、LSIは、1チップで構成しても良いし、複数チップで構成しても良い。例えば、メモリ以外の機能ブロックを1チップLSIで構成しても良い。なお、ここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSIまたはウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよいし、LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらに、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応等がその可能性として有り得ると考えられる。
また、集積回路化に際し、各機能ブロックのうち、データを格納するユニットだけを1チップ化構成に取り込まず、別構成としても良い。
図6は、ビデオカメラ100Aを示す図である。
また、ステレオ画像符号化装置100は、具体的には、図6のビデオカメラ100Aであってもよい。なお、ステレオ画像符号化装置100は、ビデオカメラ100Aの全体ではなく、例えば画像処理装置100Bなどの、ビデオカメラ100Aの一部であってもよい。
ステレオ画像符号化装置100は、光学系100L(図4)と、画像処理装置100Bとを備える。
画像処理装置100Bは、演算回路、記憶装置などを備え、情報処理を行う情報処理装置である。
なお、画像処理装置100Bは、CPU、ROM、RAMなどを有したコンピュータを含み、画像処理装置100Bにより行われる情報処理の一部又は全部は、このコンピュータにより実行されてもよい。
画像処理装置100Bは、入力画像メモリ101、画像符号化部104、動きベクトル検出部102、量子化パラメータ決定部103などを備え、つまり、これら入力画像メモリ101等の機能を有する。
光学系100Lは、映像9Xと映像9Yとを得るための光を取得する光学系である。光学系100Lは、具体的には、例えば、1つのレンズに入った光を、左目用の映像9Xを得るための光と、右目用の映像9Yを得るための光とに分離する。これにより、映像9Xおよび映像9Yの2つの映像を1つの光学系により結像する。つまり、光学系100Lは、例えば、単眼の光学系であってもよい。ビデオカメラ100A(ステレオ画像符号化装置100)は、例えば、このような単眼の光学系100Lを備える、単眼の3Dビデオカメラであてもよい。
また、このステレオ画像符号化装置(ステレオ画像符号化装置100)において、前記第1の映像信号(第1の映像信号101iX)は、左目用の映像信号ではなく、右目用の映像信号であってもよい。そして、第2の映像信号(第2の映像信号101iY)は、右目用の映像信号ではなく、左目用の映像信号であってもよい。
また、このステレオ画像符号化装置100において、いわゆるレート制御が行われてもよい。そして、大きな第2の量子化パラメータ(量子化パラメータ104pL)は、目標量のデータ量を達成するために、レート制御で選択された量子化パラメータと同じ量子化パラメータであってもよい。そして、小さな第1の量子化パラメータ(量子化パラメータ104pS)は、レート制御において選択された量子化パラメータから、所定値(図3のS303参照)が減じられた量子化パラメータであってもよい。
また、レート制御では、量子化パラメータ決定部により量子化パラメータが決定された後に、レート制御における制御値を決定してもよい。このとき、決定される制御値は、例えば、決定された量子化パラメータの下で、目標値が達成される値であってもよい。
また、このステレオ画像符号化装置において、量子化パラメータ決定部は、マクロブロックに含まれる何れの領域の量子化でも用いられる、共通の量子化パラメータを決定してもよい。そして、画像符号化部は、マクロブロックの何れの領域の量子化においても、決定された共通の量子化パラメータにより特定される量子化幅で、量子化をしてもよい。
このとき、例えば、量子化パラメータ決定部は、S302で、第1領域と第2領域との間の視差情報が、近い距離の視差情報(動きベクトルVN)であっても、次の場合にのみ、小さい第1の量子化パラメータ(量子化パラメータ104pS)を決定してもよい。つまり、マクロブロックに含まれる、その第2領域以外の何れの他の領域についての視差情報も、近い距離の視差情報(動きベクトルVN)である場合にのみ、小さい第1の量子化パラメータ(量子化パラメータ104pS)を、共通の量子化幅として決定してもよい(S302:Yes)。そして、何れかの他の領域の視差情報が、遠い距離の視差情報(動きベクトルVF)である場合には、大きい第2の量子化パラメータ(量子化パラメータ104pL)が共通の量子化幅として決定されてもよい(S302:No)。
なお、第2領域は、例えば、いわゆるサブブロック又は探索ブロックであってもよい。
また、このステレオ画像符号化装置において、量子化パラメータ決定部は、先述のように、量子化幅を特定する量子化パラメータを決定することにより、量子化幅を特定する。つまり、量子化パラメータ決定部は、量子化幅を特定する量子化幅特定部の一例でもよい。
そして、このステレオ画像符号化装置は、H.264規格とは一部又は全部が異なってもよい。
つまり、量子化幅特定部は、例えば、映像(映像9Y等)に含まれる領域、または、領域が含まれるマクロブロックごとに、その領域(又はマクロブロック)の量子化マトリックスを選択してもよい。これにより、その量子化マトリックスにより特定される量子化幅が量子化幅特定部により特定される。
具体的には、量子化幅特定部は、視差情報に対応する適切な量子化幅が特定される量子化マトリックスを特定してもよい。つまり、これにより、特定された量子化マトリックスに対応する適切な量子化幅を選択してもよい。
なお、量子化幅特定部は、より具体的には、複数の量子化マトリックスのうちから、適切な量子化マトリックスを特定してもよい。
このように、量子化幅決定部は、量子化幅を特定する量子化幅特定データ(量子化パラメータおよび量子化マトリックスのうちの少なくとも一方)を特定することにより、特定された量子化幅特定データにより特定される量子化幅で、第2領域の量子化をさせる。
また、このステレオ画像符号化装置において、例えば、前記視差情報算出部は、前記第1のフレーム(ピクチャB2)の複数の領域のうちから、前記第2のフレーム(ピクチャS3)の第2領域に撮影された対象物(対象物OF又は対象物ON)と同じ前記対象物が撮影された第1領域を検索してもよい。そして、検索された前記第1領域への、前記第2領域からの動きベクトルを算出してもよい。そして、前記画像符号化部は、前記視差情報算出部により前記動きベクトルが算出された前記第1領域(ピクチャB2)を参照した符号化を前記第2領域(ピクチャS3)に行ってもよい。そして、前記視差情報は、前記視差情報算出部により算出された前記動きベクトルの水平成分でもよい。そして、前記量子化パラメータ決定部は、前記動きベクトルの前記水平成分に基づいて、前記量子化パラメータを決定してもよい。そして、前記画像符号化部は、前記第2のフレーム(ピクチャS3)の前記2領域を符号化する際に、前記量子化パラメータ決定部により決定された前記量子化パラメータに基づいて、当該第2領域の量子化を行ってもよい。
これにより、動きベクトル(の水平成分)が視差情報として利用されて、動きベクトルではない別のデータを視差情報として別途用意する必要がなく、簡単な処理で、高い画質と、高い符号化効率とが両立できる。
一方、視差情報は、上記の動きベクトルではない別のデータであってもよい。
そして、量子化がされる際の量子化幅が制御される領域は、前記第2領域(映像9Y(ピクチャS3)の領域)ではなく、前記第1領域(映像9X(ピクチャB2)の領域)であってもよい。
つまり、例えば、このステレオ画像符号化装置において、前記画像符号化部では、前記第2のフレーム(ピクチャS3)を符号化するよりも先に、前記第1のフレーム(ピクチャB2)を符号化してもよい。そして、前記視差情報算出部(第2の視差情報算出部)では、前記画像符号化部で、前記第1のフレーム(ピクチャB2)が符号化されるよりも先に、前記視差情報を算出してもよい。そして、前記量子化パラメータ決定部では、前記視差情報算出部で算出された前記視差情報に基づいて、前記第1のフレーム(ピクチャB2)が符号化されるよりも先に、前記量子化パラメータを決定してもよい。そして、前記画像符号化部では、前記第1のフレーム(ピクチャB2)に含まれる第1領域を、決定された前記量子化パラメータに基づいて量子化してもよい。
そして、より具体的には、前記画像符号化部で、前記第1のフレーム(ピクチャB2)が符号化されるよりも先に、前記第1のフレーム(ピクチャB2)と前記第2のフレーム(ピクチャS3)とを入力バッファ(例えば、入力画像メモリ101)に記憶する記憶ステップがあってもよい。そして、前記視差情報算出部では、前記入力バッファに記憶された前記第1のフレームと前記第2のフレームとを用いて、前記第1のフレーム(ピクチャB2)が符号化されるよりも先に前記視差情報を算出してもよい。
これにより、第1のフレーム(映像9X、ピクチャB2)の量子化で、適切な量子化パラメータが利用でき、十分に高い画質が得られ、また、十分に高い符号化効率が得られる。
なお、このようにして、視差情報(図1の動きベクトル102g)が、近い距離での視差、つまり、大きな視差での視差情報(図4の動きベクトルVN)である場合には(図9の領域9Aを参照)、第1の符号化条件(量子化パラメータ104pS(図4)、小さな量子化幅、小さなQP値)が決定されてもよい。
そして、遠い距離での視差、つまり、小さな視差での視差情報(動きベクトルVF)である場合には(図9の領域9Bを参照)、第2の符号化条件(量子化パラメータ104pL、大きな量子化幅、大きなQP値)が決定されてもよい。
ここで、例えば、第1の符号化条件は、その符号化条件での符号化がされれば、符号化がされた符号量が比較的大きい符号化条件(比較的小さな量子化幅、QP値など)である。
そして、例えば、第2の符号化条件は、その符号化条件での符号化がされれば、符号化がされた符号量が比較的小さい符号化条件(比較的大きな量子化幅、QP値など)である。
つまり、こうして、視差情報の視差が、大きな視差であるほど、符号量が大きくなる符号化条件が決定され、符号量がより大きくなる制御がされてもよい。
なお、第1の符号化条件での符号化は、第1の方式での符号化である一方で、第2の符号化条件での符号化は、第2の方式での符号化でもよい。
つまり、それぞれの部分(図9の領域9A、9Bなどを参照)が、その部分における視差の視差情報に対応した、適切な符号化条件で符号化されてもよい。
また、例えば、第1の符号化条件での符号化では、第1の量子化マトリックスでの符号化がされることにより、符号化された符号量が大きくてもよい。
そして、第2の符号化条件での符号化では、第1の量子化マトリックスとは異なる第2の量子化マトリックスによる符号化がされることにより、符号量が小さくされてもよい。
なお、本技術における動作は、例えば、その動作が、解析ツールによって解析されることにより特定される符号量が、上述されたような符号量である動作などである。
なお、本技術における符号化は、例えば、MVC(Multi−view Video Coding:多視点映像符号化)における符号化などでもよい。
また、例えば、本技術においては、サイドバイサイド方式が用いられてもよい。
つまり、第1の映像信号101iX(図1)の第1のピクチャ(図9の映像9Xを参照)は、1つの映像における、左側半分の画像などの、その映像のうちの第1の部分の画像でのピクチャでもよい。
そして、第2の映像信号101iYの第2のピクチャ(図9の映像9Yを参照)は、その1つの映像における、右側半分の画像などの、第2の部分の画像などでもよい。
すなわち、例えば、第1のピクチャは、その第1の部分の画像が、水平方向に2倍に拡大された画像のピクチャなどでもよい。
そして、第2のピクチャは、第2の部分の画像が、水平方向に2倍に拡大された画像のピクチャなどでもよい。
なお、同様に、トップ・アンド・ボトム方式が用いられてもよいし、その他の方式が用いられてもよい。
また、例えば、ステレオ画像符号化装置100は、ブルーレイレコーダ、DVD(Digital Video Disc)レコーダなどの、記録媒体に記録された第1の映像信号および第2の映像信号(図1の第1の映像信号101iX、101iYを参照)を再生する再生装置などでもよい。
そして、例えば、ステレオ画像符号化装置100において、再生される第1の映像信号および第2の映像信号の間の視差が補正されてもよい。
そして、この補正のために、補正がされる視差の視差情報を算出する算出部が設けられてもよい。
そして、このような算出部により算出された視差情報に対応する符号化条件での符号化が、そのDVDレコーダ等(ステレオ画像符号化装置100)において、行われてもよい。
なお、このように、例えば次の動作が行われてもよい。なお、次の動作は、例えば、ある局面でのみ行われてもよい。
つまり、互いに異なる2つの撮影位置PX、PY(図4)で撮像された2つの映像信号である第1の映像信号101iXおよび第2の映像信号101iY(図1)が取得されてもよい(例えば、図1の取得部101g)。
そして、取得された2つの映像信号101iX、101iYの間の視差に関する視差情報(図1の視差情報102gを参照)が算出されてもよい(動きベクトル検出部102)。
そして、算出された視差情報に基づいて、取得された2つの映像信号101iX、101iYによる立体映像における部分(図9の領域9Aを参照)の、現在(例えば、図7のピクチャB2、S3の時刻)または過去(例えば、ピクチャI0、S1の時刻)の(うちの予め定められた一方における)視差が大きいほど、その部分(領域9A)の符号量が大きくなるように、符号化条件(図1の量子化パラメータ104p)が決定されてもよい(量子化パラメータ決定部103)。
つまり、例えば、視差情報により示される、当該一方の視差に基づいて、この決定がされてもよい。
そして、取得された2つの映像信号101iX、101iYによる立体映像の、決定された符号化条件で符号化された立体映像信号(符号化ストリーム100o)が生成されてもよい(画像符号化部104)。
これにより、視差が大きく、注視され易い部分(領域9Aを参照)の符号量は大きくされ、画質が高くできる。しかも、視差が小さく、注視され難い部分(領域9Bを参照)の符号量は小さくされ、符号量が小さくできる。これにより、高い画質と小さい符号量とが両立できる。
なお、具体的には、算出される視差情報の視差が大きい第1の部分(領域9Aを参照)は、撮影がされる際における、フォーカスポイントの部分ではない、その他の部分でもよい。
そして、大きい視差の第1の部分は、その他の部分ではあるものの、画像の(大きな)ボケがなくてもよい。
そして、算出される視差情報の視差が小さい第2の部分(領域9Bを参照)は、撮影がされる際における、フォーカスポイントの部分もよい。
そして、小さい視差の第2の部分は、フォーカスポイントの部分で、第1の部分と同様、画像の(大きな)ボケがなくてもよい。
つまり、例えば、撮影がされる際の被写界深度が、このように、第1の部分も、第2の部分も、ボケがない部分である程度に、比較的深い被写界深度でもよい。
なお、例えば、撮影をする撮影装置が、一眼レフのカメラではないカメラ、または、民生用のムービーカメラなどであるために、このように、被写界深度が深くてもよい。
そして、第1の部分は、画像のボケがなく、かつ、視差が大きくて、近い距離の部分であるために、比較的注視され易くてもよい。
一方で、第2の部分は、画像のボケがないものの、視差が小さくて、遠い距離の部分であり、比較的注視され難くてもよい。
これにより、近い距離の第1の部分が、単に、フォーカスポイントの部分ではない、その他の部分であるというだけで、注視され易いにも関わらず、小さい符号量の部分にされてしまうのが回避される。つまり、小さい符号量の部分にされて、画質が低くなってしまうのが回避されて、確実に、画質がより高くできる。
また、第2の部分が、単に、フォーカスポイントの部分であるというだけで、注視され難いにも関わらず、大きい符号量の部分にされるのが回避される。つまり、大きい符号量の部分にされてしまうのが回避され、確実に、符号量が小さくできる。
つまり、第1の部分は、当該第1の部分が、フォーカスポイントの部分である場合にも、その他の部分である場合にも、何れの場合にも、大きな符号量の第1の符号化条件で符号化されてもよい。
そして、第2の部分は、当該第2の部分が、フォーカスポイントの部分である場合にも、その他の部分である場合にも、何れの場合にも、小さな符号量の第2の符号化条件で符号化されてもよい。
より具体的には、例えば、算出された視差情報の視差が大きく、大きな符号量の第1の符号化条件で符号化される、注視され易い第1の部分は、撮影位置PX、PY(図4)からの距離が比較的近い(短い)距離である部分である。
そして、このような近い距離の部分は、例えば、撮影された風景のうちの、建物、人物などの前景の部分などでもよい。
そして、例えば、視差が小さく、小さな符号量の第2の符号化条件で符号化される、注視され難い第2の部分は、上述された、前景における距離よりも遠い距離における、背景の部分などでもよい。
なお、このような、背景の距離は、例えば、撮影における無限遠の距離でもよい。
なお、具体的には、例えば、算出される視差情報は、その視差情報の視差を特定する情報、その視差を示す情報などである。
そして、例えば、算出される視差情報は、その符号化条件に基づいて決定された符号化条件で符号化される部分の視差を特定してもよい。
そして、第1の映像信号101iXにおける第1のピクチャB2(図7)における第1の領域と、第2の映像信号101iYにおける、第1のピクチャB2の時刻と同時刻の第2のピクチャS3における第2の領域とがある。つまり、決定された符号化条件で符号化される部分は、それら第1、第2の領域のうちの、第1の領域のみを含んでもよいし、第2の領域のみを含んでもよい。
また、決定された符号化条件で符号化される部分は、上述された第1の領域の少なくとも一部と、第2の領域の少なくとも一部との両方を含んでなる領域などでもよい。
さらに具体的には、例えば、第2の映像信号101iYの第2のピクチャS3における第2の領域に対して、第1の映像信号101iXの、第2のピクチャS3の時刻と同時刻の第1のピクチャB2における第1の領域を参照した符号化が行われてもよい(画像符号化部104)。
そして、上述された第1の領域の位置は、上述された第2の領域の位置から、動きベクトルにより示される動きをした位置でもよい。
そして、視差情報として、上述の動きベクトルが算出されてもよい(動きベクトル検出部102)。
これにより、算出される視差情報が、その動きベクトルに基づいて、上述したような、参照を伴う符号化がされる動きベクトルである。これにより、この動きベクトルが、視差情報に流用されて、新しい処理の追加が不要などで、処理が簡単にできる。
さらに具体的には、例えば、現在の時刻(図7のピクチャB2、S3の時刻)における、決定された符号化条件での符号化がされる部分の視差(ピクチャB2およびS3の間の視差)は、過去の時刻(例えば、ピクチャI0、S1の時刻)における、当該部分(と同じ部分)での視差(ピクチャI0、S1の間での視差)と同じであるか、当該過去の視差の予め定められた近傍内の視差でもよい。
そして、上述された、過去の視差(ピクチャI0、S1の間での視差)の視差情報が算出されてもよい(動きベクトル検出部102)。
なお、このような、過去の視差の視差情報の算出は、例えば、それら、過去におけるピクチャI0、S1が符号化される際に行われてもよい。
そして、算出された、過去の視差情報に基づいて、現在の符号化(ピクチャB2、S3の符号化)での符号化条件(量子化パラメータ104pなど)が決定されてもよい(量子化パラメータ決定部103)。
つまり、例えば、上述された、第1のピクチャB2は、いわゆるベースビューのピクチャなどである。そして、第2のピクチャS3は、いわゆるディペンデントビューのピクチャなどである。
そして、このように、ディペンデントビューの第2のピクチャS3だけでなく、ベースビューの第1のピクチャB2もあるにも関わらず、適切な動作がされる。
つまり、上述のようにして、過去の視差の視差情報が用いられることにより、ディペンデントビューの第2のピクチャS3だけでなく、ベースビューにおける第1のピクチャB2でも、視差に基づいた適切な符号化条件での、適切な符号化ができる。これにより、より確実に、適切な符号化ができる。
また、例えば、算出された、現在の時刻(ピクチャB2、S3の時刻)における視差の視差情報に基づいて、現在の時刻のピクチャ(ピクチャB2、B3)の符号化における符号化条件が決定されてもよい(量子化パラメータ決定部103)。
これにより、比較的精度良い、現在の視差情報に応じた動作がされて、より確実に、適切な動作ができる。
しかも、過去に算出された視差情報が、現在利用されて、複雑な処理がされてしまうことが回避され、処理が簡単にできる。
図11は、前処理部99などを示す図である。
上述のように、第1の前記映像信号101iXの第1のピクチャB2の符号化と、第2の映像信号101iYの、当該第1のピクチャB2の時刻と同時刻の第2のピクチャS3の符号化とが行われてもよい。
なお、少なくともこれらの符号化を行う符号化部104c(図11)が設けられてもよい。
つまり、この符号化部104cは、例えば、図1の画像符号化部104を含んでもよいし、画像符号化部104の一部または全体などでもよい。
そして、これらの2つのピクチャB2、S3の符号化のうちの何れの符号化がされるよりも前に、これら2つのピクチャB2、S3の処理をする前処理部99(図11)が設けられてもよい。
そして、マッチング処理部99Pが、この前処理部99に含まれてもよい。
そして、このマッチング処理部99Pにより、上述された、第1のピクチャB2および第2のピクチャS3の間の視差の視差情報が算出されてもよい。そして、その算出が、第1のピクチャB2および第2のピクチャS3の何れの符号化がされるよりも前に行われてもよい。
これにより、ベースビューの第1のピクチャB2と、ディペンデントビューの第2のピクチャS3との何れでも、視差情報に基づいた適切な符号化が可能で、より確実に、適切な符号化ができる。
しかも、前処理部99において、視差情報の算出がされ、前処理部99における、視差情報の算出の処理以外の他の処理で生成されたデータが流用されるなどで、視差情報の算出の処理が、より簡単にできる。
なお、例えば、マッチング処理部99Pにより算出された視差情報102gが、量子化パラメータ決定部103により取得されてもよい。そして、取得された視差情報102gから量子化パラメータ決定部103により決定された符号化条件(量子化パラメータ104pなど)による処理が、符号化部104cにより行われてもよい。
なお、量子化パラメータ決定部103は、符号化部104cの一部などでもよいし、符号化部104cと前処理部99との間などの、符号化部104cの外部に設けられてもよい。
また、例えば、前処理部99においては、第1のピクチャB2と、第2のピクチャS3との縮小画像99a、99b(図11)が生成されてもよい。
そして、生成された、それら2つの縮小画像99a、99bから、マッチング処理部99Pにより、それら2つの縮小画像99a、99bが算出された第1、第2のピクチャB2、S3の間の視差情報102gが算出されてもよい。
なお、さらに具体的には、例えば、第1の映像信号101iXの映像を撮像して、第1の映像信号101iXを生成する撮像部101mX(図11)があってもよい。
そして、撮像部101mXにより、当該撮像部101mXの方向および位置などが変更された後において、変更された後の方向等での映像の第1の映像信号101iXが生成されてもよい。
そして、前処理部99により、生成された2つの縮小画像99a、99bから、撮像部101mXの、適切な方向等が特定されてもよい。そして、前処理部99により、撮像部101mXの方向等を、特定された適切な方向にさせる制御が行われてもよい。
つまり、例えば、その制御の制御信号が、撮像部101mXへと出力されることにより、その制御が行われてもよい(図11を参照)。
なお、この制御は、例えば、いわゆるフィードバック制御などである。
そして、例えば、この制御が、生成された2つの縮小画像99a、99bから算出された情報に基づいた制御でもよい。
つまり、マッチング処理部99Pにより算出される視差情報102g(図11)は、例えば、上述された、その情報に基づいて、撮像部101mXの方向等の制御が行われる情報などでもよい。
これにより、適切な視差情報が算出されるにも関わらず、単に、制御に用いられる情報が流用されるだけで足りて、行われる処理が、より簡単にできる。
なお、縮小画像99a、99bのそれぞれは、例えば、大きさが、1/4に縮小された画像などでもよい。
また、第2の映像信号101iYを生成する撮像部101mY(図11)に対しても、上述された制御と同様の、算出された情報に基づいた制御などが行われてもよい。
また、例えば、決定された符号化条件(図1の量子化パラメータ104p)で、一方の映像信号(例えば第1の映像信号101iX)における一方の領域(例えば、ベースビューの第1のピクチャB2における第1の領域)と、他方の映像信号(第2の映像信号101iY)における他方の領域(ディペンデントビューの第2のピクチャS3における第2の領域)とのうちの他方の領域(第2の領域)のみが符号化されてもよい。
つまり、例えば、決定された符号化条件で、一方の領域(ベースビューの第1のピクチャB2における第1の領域)は、符号化されなくてもよい。
そして、決定された符号化条件での符号化がされる他方の領域(ディペンデントビューの第2の領域)が、決定された符号化条件で符号化された符号量は、一方の領域(ベースビューの第1の領域)が符号化された符号量との間の差が、(第3の閾値よりも)小さい符号量であってもよい。
これにより、一方の領域での符号量と、他方の領域での符号量との間の差が大きくて、ベースビューおよびディペンデントビューの間での、符号量のバランスが悪く、画質が低くなってしまうのが回避される。つまり、符号量の差が小さくされ、符号量のバランスが良くされて、画質が高くできる。
そして、より具体的には、一方の映像信号(ベースビューの第1の映像信号101iX)の符号化では、その符号化条件での符号化がされると、符号化された符号量が比較的大きい第1の符号化条件で符号化がされてもよい。
そして、他方の映像信号(ディペンデントビューの第2の映像信号101iY)の符号化では、算出された視差情報の視差が、近い距離における、大きな視差である場合には(領域9Aを参照)、一方の映像信号での符号化での第1の符号化条件と同じ、大きな符号量の第1の符号化条件での符号化がされてもよい。
そして、視差が、遠い距離における、小さな視差である場合には(領域9Bを参照)、第1の符号化条件での符号量よりも小さい符号量の第2の符号化条件での符号化がされてもよい。
これにより、ディペンデントビューの符号化で、視差が大きい場合には、小さい符号量の第2の符号化条件での符号化がされて、生成される立体映像信号の符号量(データ量)が小さくできる。
なお、このような小さなデータ量は、例えば、ユーザなどにより、生成される立体映像信号のレートとして指定された、比較的小さいレートを実現するデータ量などである。
しかも、ディペンデントビューの符号化では、視差が、大きな視差である場合には、大きな符号量の第1の符号化条件で符号化され、十分に画質が高くできる。
しかも、ディペンデントビューの、他方の映像信号の符号化で、視差が、大きな視差である場合には、ベースビューの、一方の映像信号の符号化での第1の符号化条件と同じ第1の符号化条件での符号化がされ、上述された、符号量の差(先述)が小さくされて、画質がより大幅に、高い画質にできる。
図12は、レート制御部104wなどを示す図である。
なお、図示の便宜上、図12では、レート制御部104wは、画像符号化部104の内部に描かれた。レート制御部104wは、画像符号化部104の外部にあってもよいし、内部にあってもよい。
そして、例えば、レート制御部104wにより、生成される立体映像信号(符号化ストリーム100o)のレートを、ターゲットレートにさせる制御が行われてもよい。
なお、この制御の処理(の少なくとも一部)は、例えば、公知の、レート制御の技術を用いた処理などでもよい。
そして、大きい符号量の第1の符号化条件での符号化は、ターゲットレートとして、比較的高いレートが設定されて行われて、符号化された符号量が比較的大きい符号化で、もよい。
そして、小さい符号量の第2の符号化条件での符号化は、比較的低いレートが設定されて行われて、符号量が比較的小さい符号化でもよい。
つまり、例えば、算出された視差情報102g(図12)の視差が、近い距離での視差である場合には、ターゲットレートに、高いレートが設定されて、符号量が大きくされてもよい。
そして、視差が、遠い距離での視差である場合には、低いレートが設定されて、符号量が小さくされてもよい(符号量制御部98)。
つまり、例えば、先述された符号化条件は、このようなターゲットレートなどでもよい。
なお、単なる細部においては、公知の技術による動作が行われてもよいし、更なる改良発明が適用された動作が行われてもよいし、その他の動作が行われてもよい。何れの動作が行われるケースも、本技術の範囲に属する。
なお、先述された、2つの映像信号101iX、101iYをそれぞれ取得する取得部101g(図1)の少なくとも一部は、例えば、図1の入力画像メモリ101などでもよい。
なお、このような、ステレオ画像符号化の技術分野においては、現在規格化が進められている。このため、この規格化に伴って、現在には比較的一般的ではない用語が、将来には、比較的一般的な用語になることが考えられる。この明細書の用語から、現在は比較的一般的ではないが、将来比較的一般的になった用語が自明である場合には、適宜、それらの用語が置き換えられた理解がされてもよい。例えば、元の用語が、その元の用語から自明な用語へと将来補正されることも考えられる。
なお、上記の説明をまとめると、次の通りである。つまり、こうして、先述された「取得部」の一例として、図1の「取得部101g」などが開示される。また、「算出部」の一例として、「動きベクトル検出部102」などが開示される。また、「決定部」の一例として、「量子化パラメータ決定部103」などが開示される。また、「生成部」の一例として、「画像符号化部104」などが開示される。
以上、本発明について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。この明細書に記載された実施の形態は、単なる一例であり、この明細書に記載された実施の形態とは異なる他の形態で実施されてもよい。なお、本発明は、集積回路として実現したり、上記の装置を構成する処理手段をステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なCD−ROMなどの記録媒体として実現したり、そのプログラムを示す情報、データ又は信号として実現したりすることもできる。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信してもよい。