以下に添付図面を参照して、本発明の符号化装置、復号装置、動画像処理システム、符号化方法、復号方法、符号化プログラム、および復号プログラムの実施の形態を詳細に説明する。
図1は、符号化装置の動作例を示す説明図である。図1では、動画像を符号化する符号化装置101の動作について説明している。符号化装置101は、撮影対象物aを含む撮影範囲110を撮影している。また、ユーザは、ディスプレイ102を確認しながら撮影している。ディスプレイ102は、フルHD(High Definition)となる横1920[画素]、縦1080[画素]の表示領域を有している。符号化装置101は、撮影範囲110に映った情報を、横3840[画素]、縦2160[画素]の入力動画像として受け付けて、横3840[画素]、縦1080[画素]の動画像へと符号化する。
以下、フルHDの解像度を「2k1k」と称し、横3840[画素]、縦2160[画素]となる解像度を「4k2k」と称し、横3840[画素]、縦1080[画素]となる解像度を「4k1k」と称する。
このように、2k1kのフルHDの解像度から水平方向に拡張した4k1kの動画像を記録し、再生時にはほとんど中心の2k1kを表示する用途において、符号化装置101は、ディスプレイ102に表示する動画像の復号量を低減化することを目的とする。
初めに、本実施の形態にかかる符号化装置101は、H.264 MVCの規格に従って、入力画像111を複数の視点から撮影された動画像として取り扱う。H.264 MVCでは、1つのベースビューと、1つ以上の非ベースビューとして符号化を行う。ベースビューは、H.264 AVC(Advanced Video Coding)で定義されたハイプロファイルのストリームとして符号化される。非ベースビューは、H.264 MVCで新たに拡張されたプロファイルとシンタックスを用いて、他のビューや自分自身のビューに含まれるフレームを参照して符号化される。
ベースビュー内の画像は、独立して再生可能な形式に符号化され、非ベースビューの画像は、ベースビューの画像を参照して符号化することで、それぞれ単体で符号化される場合よりも、符号化効率を向上することができる。なお、H.264 MVCは、3D動画像コンテンツで用いられることを想定しており、複数の視点から観測される画像どうしが、同一時刻で近い画素となるという特徴を用いて、符号化効率を向上することができる。
入力動画像を受け付けた符号化装置101は、入力動画像のいずれかの入力画像111から、ベースビュー内の画像および非ベースビューである拡張ビューの画像を抽出し、それぞれを符号化する。ベースビューは、4k2kの中央部分の2k1kの領域に設定されており、拡張ビューは、ベースビューの左側の1k1kの領域と、ベースビューの右側の1k1kの領域と、に設定されている。
続けて、符号化装置101は、ベースビュー内の画像と拡張ビュー内の画像を符号化し、ストリーム121に出力する。ストリーム121は、先頭から順々にアクセスされるデータである。なお、ストリーム121は、符号化装置101内の記録装置に記録されている。
具体的に、符号化装置101は、ベースビュー内の画像を符号化し、符号化フレーム122をストリーム121に出力する。また、符号化装置101は、拡張ビュー内の画像を符号化し、符号化フレーム123をストリーム121に出力する。なお、符号化フレーム123は、ベースビュー符号化時のローカルデコード画像を参照して符号化されている。また、符号化フレーム123には、拡張ビュー内の画像が符号化されたことを示す識別情報124が付与されている。なお、符号化装置101は、ベースビュー内の画像が符号化されたことを示す識別情報を符号化フレーム122に付与してもよい。
次に、撮影後の再生時において、符号化装置101は、符号化フレーム122、符号化フレーム123のうち、識別情報124を検出して、識別情報124が付与されていない、ベースビューに対応する符号化フレーム122を選択し、符号化フレーム122を復号する。続けて、符号化装置101は、復号された画像をディスプレイ102に表示する。なお、撮影時の再生を行う場合、符号化装置101は、ベースビュー内の画像を、符号化や復号化を行わず、そのままディスプレイ102に表示する。
このように、符号化装置101は、H.264 MVCを用いて、4k2kの画像から、2k1kを独立したベースビューとし、ベースビューの左右の領域をベースビューを参照する拡張ビューとして、ベースビュー内の画像と拡張ビュー内の画像を抽出する。続けて、符号化装置101は、抽出した画像を符号化した符号化フレーム122、符号化フレーム123のいずれか一方に識別情報124を付与する。識別情報124を付与することにより、識別情報124を検出してベースビューを復号する装置は、識別情報124に基づいて復号対象をベースビューに対する符号化フレームに限定できるため、復号量が低減化でき、復号にかかる時間を短縮できる。次に、図1で適用したH.264 MVCの規格に従った、ベースビューと拡張ビューの参照制約について説明する。
図2は、ベースビューと拡張ビューの参照制約の例を示す説明図である。図2の(A)で示す表201は、ベースビューと拡張ビューの参照制約の一覧を示しており、図2の(B)は、表201にして示した参照制約を適用した場合の具体例を示した図である。
H.264 MVCの規格では、フレーム間予測を用いずに符号化されたI(Intra−coded)ピクチャ、前方向に存在するフレームを参照して符号化されたP(Predictive)ピクチャ、1つまたは2つのフレームを参照して符号化されたB(Bi−predictive)ピクチャ等が存在する。また、H.264 MVCでは、1つのフレームを分割したスライス単位で、どのフレーム間予測を用いるかを選択できる。具体的に、H.264 MVCでは、スライスごとに、フレーム間予測を用いずに符号化されたIスライス、前方向に存在するスライスを参照符号化されたPスライス、1つまたは2つのスライスを参照して符号化されたBスライスの指定が行える。本実施の形態では、説明の簡略化のため、1つのフレームは、1つのスライスであるとする。
図2の(B)は、時刻t0におけるベースビュー内の画像b0と拡張ビュー内の画像d0と、時刻t1におけるベースビュー内の画像b1と拡張ビュー内の画像d1と、時刻t2におけるベースビュー内の画像b2と拡張ビュー内の画像d2を示した図である。
参照元の画像がベースビューに属し、参照先の画像がベースビューに属する場合、H.264 MVCは、参照元の画像を、ベースビュー内の過去のフレームと未来のフレームを参照して符号化することができると規定している。参照元の画像がベースビューに属し、参照先の画像がベースビューに属する場合については、表201では、(1)で示したフィールドである。符号化装置101は、たとえば、画像b1の符号化時に、(1)で示す矢印で示された、画像b0と画像b2を参照することができる。
参照元の画像がベースビューに属し、参照先の画像が拡張ビューに属する場合、H.264 MVCは、拡張ビューに属する画像の参照では、参照元の画像の符号化はできないと規定している。符号化装置101は、たとえば、画像b1の符号化時に、画像d0〜画像d2を参照することができない。
参照元の画像が拡張ビューに属し、参照先の画像がベースビューに属する場合、H.264 MVCは、参照元の画像を、同一時刻となるベースビューに属する画像を参照して符号化することができると規定している。参照元の画像が拡張ビューに属し、参照先の画像がベースビューに属する場合については、表201では、(2)で示したフィールドである。符号化装置101は、たとえば、画像d1の符号化時に、(2)で示す矢印で示された、画像b1を参照することができる。
参照元が拡張ビューに属し、参照先が拡張ビューに属する場合、H.264 MVCは、参照元の画像を、過去のフレームと未来のフレームを参照して符号化することができると規定している。参照元が拡張ビューに属し、参照先が拡張ビューに属する場合については、表201では、(3)で示したフィールドである。符号化装置101は、たとえば、画像d1の符号化時に、(3)で示す矢印で示された、画像d0と画像d2を参照することができる。このように、H.264 MVCは、ベースビューの符号化フレームが拡張ビューの画像を参照しないようにすることで、ベースビュー単体での再生を可能にしている。
続けて、本実施の形態にかかるハードウェアの説明を行う。本実施の形態にて採用するハードウェアは、動画像の記録と再生を行う符号化装置101と、動画像の再生を行う復号装置と、である。図3にて、符号化装置101の説明を行い、図4にて、復号装置の説明を行う。
(符号化装置101のハードウェア構成例)
図3は、符号化装置のハードウェア構成の一例を示すブロック図である。図3において、動画像の記録と再生を行う符号化装置101は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、を含む。また、符号化装置101は、撮像素子304と、撮像素子IF(InterFace)305と、ジャイロセンサ306と、操作パネルコントローラ307と、記録メディア308と、外部IF309と、を含む。また、符号化装置101は、画像処理部310と、MVC符号化復号処理部311と、を含む。
また、符号化装置101は、ディスプレイ102と、ディスプレイ出力IF312と画像出力IF313と、を含む。また、CPU301〜RAM303と、撮像素子IF305、外部IF309〜MVC符号化復号処理部311と、ディスプレイ出力IF312と、画像出力IF313は、バスコントローラ314で相互に接続されている。
CPU301は、符号化装置101の全体の制御を司る演算処理装置である。ROM302は、符号化装置101のブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM303は、CPU301のワークエリアとして使用される揮発性メモリである。
撮像素子304は、対象物から発した光を電気信号に変換する。たとえば、撮像素子304は、CCD(Charge Coupled Device)イメージセンサ、やCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどである。
撮像素子IF305は、記録時に撮像素子304を制御することにより、撮像素子304からの信号を所定の画像フォーマットに変換してRAM303に格納する。所定の画像フォーマットとは、たとえば、YUV420である。撮像素子304からの信号は、たとえば、RGBベイヤフォーマットに従っている。
ジャイロセンサ306は、符号化装置101の角度を検出する。操作パネルコントローラ307は、符号化装置101が有する液晶タッチパネルや操作ボタンである。記録メディア308は、フラッシュROM等といった記憶装置であり、符号化フレームが含まれるストリーム121を記録する。また、記録メディア308は、本実施の形態にかかる符号化プログラムを記録していてもよい。外部IF309は、ジャイロセンサ306、操作パネルコントローラ307、および記録メディア308を制御する。また、外部IF309は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワークを介して、符号化装置101以外の他の装置に接続されてもよい。
画像処理部310は、RAM303に格納された画像に対して画像処理を行う。具体的に、画像処理部310は、記録時には撮像素子304からの入力画像111をRAM303から読み出して、CPU301から指定された縦横情報を元に、入力画像111からベースビューの画像と拡張ビューの画像を抽出して再度RAM303に格納する。
縦横情報は、符号化装置101の角度に関する情報である。符号化装置101の角度とは、水平面に対する符号化装置の角度である。たとえば、符号化装置101が水平面に対して垂直である場合、符号化装置101の角度に関する情報は、縦を向いていた、という情報となる。また、符号化装置101が水平面に対して並行である場合、符号化装置101の角度に関する情報は、横を向いていた、という情報となる。
また、画像処理部310は、再生時に、CPU301から指定された縦横情報とダミーフレーム情報に基づいて、RAM303から対応するベースビューの復号画像と拡張ビューの復号画像を読み出して、ベースビューの復号画像と拡張ビューの復号画像を結合する。次に、画像処理部310は、ユーザに指定された表示領域の画像を切り出した後、再度RAM303に格納する。ダミーフレーム情報は、ベースビューを遅延するために設定された、ダミーフレームの数、位置の情報である。
MVC符号化復号処理部311は、記録時にプロセッサより指定されたベースビューの画像と、拡張ビューの画像をRAM303から取得してH.264 MVCによる符号化処理を行う。符号化フレームを有するストリーム121は、外部IF309を通して記録メディア308に書き込まれる。また、MVC符号化復号処理部311は、再生時には、記録メディア308からのストリーム121内の符号化フレームを復号し、復号画像をRAM303に格納する。また、MVC符号化復号処理部311は、ストリーム121に縦横情報、ダミーフレーム情報をCPU301に記録する。
本実施の形態にかかる画像処理部310とMVC符号化復号処理部311は、高速で処理を行うために、たとえばストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICで実現してもよい。また、符号化装置101はCPU301に対し、画像処理部310およびMVC符号化復号処理部311での処理を実行させてもよい。
ディスプレイ102は、記録時にベースビューの画像を表示する。また、ディスプレイ102は、再生時に画像処理部310が出力した、ユーザに指定された表示領域の画像を表示してもよい。たとえば、ディスプレイ102は、液晶ディスプレイなどを採用することができる。ディスプレイ出力IF312は、ディスプレイ102の制御を行う。
画像出力IF313は、再生時に画像処理部310から出力された、ユーザに指定された表示領域の画像をRAM303から読み出し、符号化装置101に接続されたテレビ受像機等に表示領域の画像を出力する。
(復号装置400のハードウェア構成例)
図4は、復号装置のハードウェア構成の一例を示すブロック図である。図4において、動画像の再生を行う復号装置400は、CPU401と、ROM402と、RAM403と、操作パネルコントローラ404と、記録メディア405と、外部IF406と、を含む。また、復号装置400は、画像処理部407と、MVC復号処理部408と、画像出力IF409と、を含む。また、CPU401〜RAM403と、外部IF406〜画像出力IF409は、バスコントローラ410で相互に接続されている。
CPU401は、復号装置400の全体の制御を司る。ROM402は、復号装置400のブートプログラムなどのプログラムを記憶している。RAM403は、CPU401のワークエリアとして使用される。
操作パネルコントローラ404は、復号装置400が有する液晶タッチパネルや操作ボタンである。記録メディア405は、フラッシュROM等といった記憶装置であり、符号化フレームが含まれるストリーム121を記憶する。また、記録メディア405は、本実施の形態にかかる復号プログラムを記録していてもよい。外部IF406は、操作パネルコントローラ404および記録メディア405を制御する。また、外部IF406は、通信回線を通じてLAN、WAN、インターネットなどのネットワークに接続され、ネットワークを介して復号装置400以外の他の装置に接続されてもよい。
画像処理部407は、CPU401から指定された縦横情報とダミーフレーム情報に基づいて、RAM403から対応するベースビューの復号画像と拡張ビューの復号画像を読み出して、ベースビューの復号画像と拡張ビューの復号画像を結合する。次に、画像処理部407は、ユーザに指定された表示領域の画像を切り出した後、再度RAM303に格納する。
MVC復号処理部408は、記録メディア405から、ストリーム121内の符号化フレームを復号し、復号画像をRAM403に格納する。また、MVC復号処理部408は、ストリーム121中の縦横情報、ダミーフレーム情報をCPU401に通知する。
なお、動画像処理システムの接続例については、図示していないが、たとえば、符号化装置101と復号装置400が、外部IF309と外部IF406を介して接続されている。
(符号化装置101と復号装置400の機能的構成例)
次に、符号化装置101と復号装置400の機能的構成例について説明する。図5は、符号化装置101と復号装置400の機能的構成例を示すブロック図である。符号化装置101は、受付部501と、取得部502と、決定部503と、抽出部504と、第1符号化部505と、第2符号化部506と、生成部507と、設定部508と、出力部509と、を含む。また、復号装置400は、受付部521と、選択部522と、指定部523と、変換部524と、復号部525と、抽出部526と、結合部527と、出力部528と、を含む。
本実施の形態では、符号化装置101の受付部501〜出力部509のうち、抽出部504が画像処理部310の機能であり、第1符号化部505と第2符号化部506がMVC符号化復号処理部311の機能である。抽出部504〜第2符号化部506以外の機能部に関しては、記憶装置に記憶されたプログラムをCPU301が実行することにより、その機能を実現する。記憶装置とは、具体的には、たとえば、図3に示したROM302、RAM303、記録メディア308などである。また、画像処理部310と、MVC符号化復号処理部311が、抽出部504〜第2符号化部506以外の機能部を実行してもよい。
また、復号装置400の受付部521〜出力部528のうち、復号部525がMVC復号処理部408の機能であり、抽出部526と、結合部527が画像処理部407の機能である。復号部525〜結合部527以外の機能部に関しては、記憶装置に記憶されたプログラムをCPU401が実行することにより、その機能を実現する。記憶装置とは、具体的には、たとえば、図4に示したROM402、RAM403、記録メディア405などである。また、画像処理部407と、MVC復号処理部408が、抽出部504〜第2符号化部506以外の機能部を実行してもよい。
受付部501は、一連の画像を受け付ける。たとえば、受付部501は、入力動画像を受け付ける。符号化装置101は、受付部501の動作により、入力動画像の符号化を行う契機を検出することができる。なお、受け付けた入力画像は、RAM303等の記憶領域に記憶される。
取得部502は、受付部501によって、一連の画像を受け付けたときの自装置の角度に関する情報を取得する。ここで、自装置とは、取得部502を実行する装置でもよいし、または取得部502を実行する装置と物理的に接続された装置でもよい。角度に関する情報は、0度、90度といった自装置の角度でもよいし、自装置が横に傾いている、または、縦に傾いているといった情報でもよい。たとえば、取得部502は、ジャイロセンサ306によって符号化装置101の角度を取得する。
ユーザは、撮影対象物aの形状が横長であれば横撮影を行い、縦長であれば縦撮影を行う。したがって、符号化装置101は、取得部502の動作により、撮影対象物aの形状に合わせた符号化処理を行うことができる。なお、取得した自装置の角度に関する情報は、RAM303等の記憶領域に記憶される。
決定部503は、取得部502によって取得された自装置の角度に応じて、第1および第2の領域の位置情報を決定する。第1の領域は、たとえば、ベースビューとなり、第2の領域は、拡張ビューである。図1で示した拡張ビューは、ベースビューの左右に隣接していたが、たとえば、ベースビューの左端に隣接している領域でもよいし、上端、右端、下端に隣接している画像でもよい。
たとえば、自装置の角度に関する情報が横を示していたとする。このとき、決定部503は、第1の領域の位置情報を、左上の座標が(1k、0.5k)となり、縦1k[画素]、横2k[画素]となる矩形領域に決定する。また、決定部503は、第2の領域の位置情報を、左上の座標が(0、0.5k)となり、縦1k[画素]、横1k[画素]となる矩形領域と、左上の座標が(3k、0.5k)となり、縦1k[画素]、横1k[画素]となる矩形領域とに決定する。符号化装置101は、決定部503の動作により、撮影対象物aの形状に応じた撮影領域を決定することができる。なお、決定された位置情報は、RAM303等の記憶領域に記憶される。
抽出部504は、一連の画像のいずれかの画像から、第1の領域内の画像と第1の領域に隣接する第2の領域内の画像とを抽出する。たとえば、図2で示した時刻t0において、抽出部504は、入力画像111から第1の領域内の画像bと、第2の領域内の画像dと、を抽出する。また、抽出部504は、いずれかの画像から、位置情報に従った第1の領域内の画像と位置情報に従った第2の領域内の画像とを抽出してもよい。符号化装置101は、抽出部504の動作により、H.264 MVCの規格に従った複数のビューの画像を準備できる。なお、抽出された画像は、RAM303等の記憶領域に記憶される。
第1符号化部505は、第1の領域内の画像を第1の領域に対する符号化フレームに符号化する。たとえば、第1符号化部505は、画像bを、フレーム間予測を用いて、Iピクチャ、Pピクチャ、Bピクチャ等といった符号化フレームに符号化する。符号化装置101は、第1符号化部505の動作により、第1の領域内の動画像を生成することができる。なお、符号化フレームは、記録メディア308等の記憶領域に記憶される。
第2符号化部506は、第1の領域に対する符号化時のローカルデコード画像と第2の領域内の画像とに基づいて、第2の領域内の画像を第2の領域に対する符号化フレームに符号化する。また、第2符号化部506は、いずれかの画像の第1の領域に対する符号化フレームに先行する先行符号化フレーム群のうち前述の符号化フレームからダミーフレームの生成数分先行する先行符号化フレームのローカルデコード画像に基づいて符号化してもよい。ここで、先行符号化フレーム群とは、いずれかの画像の第1の領域に対する符号化フレームに先行する符号化フレーム群である。また、ローカルデコード画像は、参照されるフレームを符号化する際に用いる画像である。ストリーム121内のエンコード・デコード処理までは経由しない。
たとえば、設定部508が、3つのダミーフレームを第1の領域に対する先頭の符号化フレームの次のフレームに設定したとする。このとき、第2符号化部506は、いずれかの画像の第2の領域内の画像と、いずれかの画像の第1の領域の3つ前の符号化フレームを復号した画像と、に基づいて、いずれかの画像の第2の領域内の画像を符号化フレームに符号化する。
また、第2符号化部506は、ダミーフレームが設定済の場合、生成部507によるダミーフレームの生成を行わずに、いずれかの画像の第2の領域内の画像を符号化フレームに符号化してもよい。
たとえば、いずれかの画像が5番目の画像であり、設定部508が、第1の領域の先頭のフレームの次に、3つのダミーフレームを設定したとする。このとき、5番目の画像の第1の領域の符号化フレームは、ダミーフレームが設定済のために、先頭から8番目の位置にある。第2符号化部506は、5番目の画像の第2の領域内の画像と、5番目の画像の第1の領域の符号化フレームの3つ前の符号化フレームとに基づいて、5番目の画像の第2の領域内の画像を符号化する。なお、第2符号化部506は、第2の領域内の画像と復号した画像との差分を用いて符号化してもよいし、第2の領域内の画像と複合した画像とから動き補償を行って符号化してもよい。
また、第2符号化部506は、いずれかの画像の第1の領域に対する符号化フレームに後続する後続符号化フレーム群のうち前述の符号化フレームからダミーフレームの生成数分後続する後続符号化フレームを復号し、復号した復号画像に基づいて符号化してもよい。ここで、後続符号化フレーム群とは、いずれかの画像の第1の領域に対する符号化フレームに後続する符号化フレーム群である。
たとえば、設定部508が、2つのダミーフレームを第2の領域に対する先頭の符号化フレームに設定したとする。このとき、第2符号化部506は、第2の領域に対する4番目の符号化フレームを、第1の領域の2番目の符号化フレームに後続するフレーム群のうち4番目の符号化フレームのローカルデコード画像と、第2の領域の2番目の画像と、に基づいて符号化する。符号化装置101は、第2符号化部506の動作により、第2の領域内の動画像を生成することができる。なお、符号化フレームは、記録メディア308等の記憶領域に記憶される。
生成部507は、第1符号化部505がいずれかの画像を符号化する場合、いずれかの画像の前の画像の第1の領域に対する符号化フレームのダミーフレームを、自符号化フレームで再生可能な特定の符号化フレームの出現間隔に含まれるフレーム数以下分生成する。また、生成部507は、前の画像のうち第1の領域内の画像に基づいて、ダミーフレームを生成する。
自符号化フレームで再生可能な特定の符号化フレームとは、Iピクチャ、またはIDR(Instantaneous Decoder Refresh)ピクチャである。IDRピクチャは、後続のピクチャにIDRピクチャより先行するピクチャへの参照を禁止する。したがって、IDRピクチャの出現間隔が、最大の参照可能枚数となる。生成部507は、特定の符号化フレームを、1つ生成してもよいし、IDRピクチャの出現間隔に含まれるフレーム数以下分生成してもよい。
いずれかの画像の先行画像群とは、いずれかの画像より、過去方向に存在する画像群である。ダミーフレームは、前の画像の第1の領域に対する符号化フレームを参照するフレームとなる場合がある。たとえば、前の画像の第1の領域に対する符号化フレームがIピクチャであれば、ダミーフレームは、Pピクチャ、またはBピクチャとなり、スキップマクロブロックが指定されたフレームとなる。
たとえば、第1符号化部505が、第1の領域の1番目の画像を符号化しており、2番目の画像を符号化するとする。このとき、生成部507は、いずれかの画像となる2番目の画像を符号化する場合、前の画像となる1番目の画像を第1符号化部505に生成数として3回入力する。これにより、第1符号化部505がダミーフレームを3つ生成することになる。
また、生成部507は、ダミーフレームを、第1符号化部505が符号化する符号化フレーム群のうち複数の参照先を有する符号化フレームが連続して存在する数より1多い数分、生成してもよい。複数の参照先を有する符号化フレームは、Bピクチャである。たとえば、Bピクチャが連続して2枚設定される場合、生成部507は、ダミーフレームを3つ生成する。
また、生成部507は、第2符号化部506がいずれかの画像を符号化する場合、いずれかの画像の前の画像の第2の領域に対するダミーフレームを、自符号化フレームで再生可能な特定の符号化フレームの出現間隔に含まれるフレーム数以下分生成する。たとえば、第2符号化部506が、第2の領域の1番目の画像を符号化しており、2番目の画像を符号化するとする。このとき、生成部507は、いずれかの画像となる1番目の画像を第2符号化部506に生成数として2回入力する。これにより、第2符号化部506がダミーフレームを2つ生成することになる。符号化装置101は、生成部507の動作により、フレーム遅延を起こすことができる。なお、生成されたフレームは、RAM303等の記憶領域に記憶される。
設定部508は、ダミーフレームを、参照先画像の第1の領域に対する符号化フレームの次の符号化フレームに設定する。たとえば、設定部508は、ダミーフレームを、第1の領域に対する先頭の符号化フレームの次に設定する。
また、設定部508は、ダミーフレームを、参照先画像の第2の領域に対する符号化フレームの次の符号化フレームに設定してもよい。たとえば、設定部508は、特定の符号化フレームを、第2の領域に対する先頭の符号化フレームの次に設定する。符号化装置101は、設定部508の動作により、フレーム遅延を発生させる位置を設定することができる。
出力部509は、第1または第2の領域の少なくともいずれか一方を示す識別情報124を対応する符号化フレームに付与して、第1および第2の領域に対する各符号化フレームを出力する。また、出力部509は、出力先として、識別情報124を検出して第1の領域に対する符号化フレームを復号する装置に出力する。識別情報124を検出して第1の領域に対する符号化フレームを復号する装置は、たとえば、復号装置400である。識別情報124は、第1の領域を示してもよいし、第2の領域を示してもよい。具体的に、H.264 MVCでは、後述するNALユニットタイプに、ベースビュー内の画像を符号化したフレームであるのか、または、拡張ビュー内の画像を符号化したフレームであるのかが設定されている。
また、出力部509は、生成部507によって生成された特定の符号化フレームと特定の符号化フレームの生成数および設定位置を示す情報とを出力してもよい。設定位置を示す情報は、たとえば、特定の符号化フレームの先頭位置と数が示されていてもよいし、各符号化フレームの位置が示されていてもよい。また、出力部509は、自装置の角度に関する情報を出力してもよい。符号化装置101は、出力部509の動作により、符号化フレームを外部に出力することができる。なお、出力部509は、出力先として、記録メディア308、RAM303等といった記憶装置に出力結果を出力してもよいし、外部IF309を介して外部の装置に出力してもよい。
受付部521は、一連の画像のうち第1の領域内の一連の部分画像に対する一連の符号化フレームと、一連の画像のうち第1の領域に隣接する第2の領域内の一連の部分画像に対する一連の符号化フレームと、を受け付ける。さらに、受付部521は、第1または第2の領域内の一連の部分画像に対する一連の符号化フレームの少なくともいずれか一方に付与されたいずれか一方に対応する識別情報124を受け付ける。また、受付部521は、第1または第2の領域内の一連の部分画像に対する一連の符号化フレームのうち出力対象でない符号化フレームの数および位置を示す情報を受け付けてもよい。
また、受付部521は、一連の画像を受け付けた装置が一連の画像を受け付けたときの装置の角度に関する情報を受け付けてもよい。たとえば、受付部521は、画像を受け付けた装置が縦であったことを受け付ける。復号装置400は、受付部521の動作により、一連の符号化フレームの復号を行う契機を検出することができる。なお、受け付けた各情報は、RAM403等の記憶領域に記憶される。
選択部522は、第1および第2の領域内の一連の部分画像に対する一連の符号化フレームから、識別情報124に基づいて、第1の領域内の一連の部分画像に対する一連の符号化フレームを選択する。たとえば、識別情報124が第1の領域を示している場合、選択部522は、識別情報124が付与された一連の符号化フレームを選択する。また、識別情報124が第2の領域を示している場合、選択部522は、識別情報124が付与されていない一連の符号化フレームを選択する。復号装置400は、選択部522の動作により、復号対象をベースビューに限定できる。なお、選択された符号化フレームは、RAM403等の記憶領域に記憶される。
指定部523は、第1の領域と第2の領域とを結合した領域から表示領域を指定する。たとえば、指定部523は、ユーザによって、初期の表示領域から、右方向に移動した表示領域を指定する。復号装置400を操作するユーザは、撮影対象物aが映るように表示領域の操作をする。したがって、復号装置400は、指定部523の動作により、撮影対象物aの表示位置に合わせた復号処理を行うことができる。なお、指定された表示領域は、RAM403等の記憶領域に記憶される。
変換部524は、指定された表示領域を角度に関する情報に応じて変換する。たとえば、角度に関する情報が縦を示し、表示領域が右方向に移動するように指定された場合、変換部524は、表示領域を下方向に移動するように変換する。復号装置400は、変換部524の動作により、撮影対象物aが撮影された状態と同じ画面の向きで復号画像を表示することができる。なお、変換された表示領域は、RAM403等の記憶領域に記憶される。
復号部525は、選択部522によって選択された第1の領域に対する一連の符号化フレームを第1の領域内の一連の部分画像に復号する。たとえば、復号部525は、第1の領域に対する各フレームとして、Iピクチャ、Pピクチャ、Bピクチャを復号する。また、復号部525は、指定部523によって表示領域が指定された場合、第2の領域に対する一連の符号化フレームを第2の領域内の一連の部分画像に復号してもよい。復号装置400は、復号部525の動作により、一連の画像の動画像を再生することができる。なお、復号された画像は、RAM403等の記憶領域に記憶される。
抽出部526は、第1の領域内の一連の部分画像から表示領域内の第1の画像列を抽出するとともに、第2の領域内の一連の部分画像から表示領域内の第2の画像列を抽出する。画像列とは、複数の画像を時系列順に並べたデータである。たとえば、第1の画像列は、0番目の時刻における表示領域内の画像、1番目の時刻における表示領域内の画像、2番目の時刻における表示領域内の画像、というように時系列順に並べたデータとなる。
また、抽出部526は、復号部525によって復号された第1の領域内の一連の部分画像のうち、出力対象でない符号化フレームに対応する部分画像以外の他の部分画像から表示領域内の第1の画像列を抽出する。なお、抽出部526は、出力対象でない符号化フレームの数および位置を示す情報に基づいて、抽出を行う。さらに、抽出部526は、第2の領域内の一連の部分画像から表示領域内の第2の画像列を抽出してもよい。
たとえば、出力対象でない符号化フレームの数および位置を示す情報が、出力対象でない符号化フレームの先頭位置と数を示していたとする。このとき、抽出部526は、先頭位置に対応する符号化フレームおよび該当の符号化フレームから後続する符号化フレームの一つ前までの符号化フレームを出力対象でない符号化フレームとして、出力対象でない符号化フレーム以外に対して部分画像の抽出を行う。また、出力対象でない符号化フレームの数および位置を示す情報が、出力対象でない符号化フレームの各位置を示していたとする。このとき、抽出部526は、各位置に対応する符号化フレーム以外となる符号化フレームが復号された部分画像に対して抽出を行う。
たとえば、出力対象でない符号化フレームの数および位置を示す情報が、1〜3番目を示しており、復号部525が、第1の領域内の部分画像として、画像0〜画像4を復号した場合、抽出部526は、画像0と画像4から表示領域内の第1の画像列を抽出する。
また、抽出部526は、第1の領域内の一連の部分画像から変換部524による変換後の表示領域内の第1の画像列を抽出するとともに、第2の領域内の一連の部分画像から変換後の表示領域内の第2の画像列を抽出してもよい。復号装置400は、抽出部526の処理により、表示領域の範囲となる画像列を取得することができる。なお、抽出された画像列は、RAM403等の記憶領域に記憶される。
結合部527は、抽出部526によって抽出された第1の画像列の各画像と、第2の画像列の各画像とを、一連の画像内の同一画像どうしで結合する。たとえば、結合部527は、第1の画像列のうち0番目と、第2の画像列のうち0番目と、を結合する。
また、結合部527は、出力対象でない符号化フレームの数および位置を示す情報に基づいて、第1の画像列の各画像のうち出力対象でない符号化フレームに対応する画像以外の他の画像と第2の画像列の各画像とを一連の画像内の同一画像どうしで結合してもよい。
たとえば、出力対象でない符号化フレームの数および位置を示す情報が、出力対象でない符号化フレームの先頭位置と数を示していたとする。このとき、結合部527は、先頭位置に対応する符号化フレームおよび該当の符号化フレームから後続する符号化フレームの一つ前までの符号化フレームに対応する画像以外の他の画像と、第2の画像列の各画像とを一連の画像内の同一画像同士で結合する。また、出力対象でない符号化フレームの数および位置を示す情報が、出力対象でない符号化フレームの各位置を示していたとする。このとき、結合部527は、各位置に対応する符号化フレーム以外となる符号化フレームに対応する画像以外の他の画像と、第2の画像列の各画像とを一連の画像内の同一画像同士で結合する。
復号装置400は、結合部527の動作により、表示領域に対応する動画像を再生することができる。なお、抽出された画像列は、RAM403等の記憶領域に記憶される。
出力部528は、一連の復号画像のうち、出力対象でない符号化フレームの数および位置を示す情報に基づいて、出力対象でない符号化フレームに対応する復号画像以外の他の復号画像を出力する。たとえば、出力対象でない符号化フレームの数および位置を示す情報が、出力対象でない符号化フレームの先頭位置と数を示していたとする。
このとき、出力部528は、先頭位置に対応する符号化フレームおよび該当の符号化フレームから後続する符号化フレームの一つ前までの符号化フレームを出力対象でない符号化フレームとして、出力対象でない符号化フレーム以外に対する復号画像を出力する。また、出力対象でない符号化フレームの数および位置を示す情報が、出力対象でない符号化フレームの各位置を示していたとする。このとき、出力部528は、各位置に対応する符号化フレーム以外となる符号化フレームが復号された復号画像を出力する。
また、出力部528は、結合部527の結合により得られた表示領域の画像列を出力してもよいし、結合部527の結合により得られた変換後の表示領域の画像列を出力してもよい。符号化装置101は、出力部509の動作により、符号化フレームを外部に出力することができる。なお、出力部528は、出力先として、RAM403等といった記憶装置に出力結果を出力してもよいし、画像出力IF409を介してテレビ受信機等に出力してもよい。
次に、入力画像111の抽出例について説明する。入力画像111の抽出方法として、本実施の形態では、横位置撮影時における抽出方法と、縦位置撮影時における抽出方法が存在する。図6にて、横位置撮影時の画面の抽出方法の一例を説明し、図7にて、縦位置撮影時の画面の抽出方法の一例を説明する。
図6は、横位置撮影時の画面の抽出の一例を示す説明図である。図6中の(A)で示すように、符号化装置101は、入力画像111から、ユーザに指定されなかった場合の初期表示領域となるベースビュー内の画像bと拡張領域に含まれる拡張ビュー内の画像d_Lと画像d_Rを抽出する。なお、画像d_Lは、ベースビューの左側で隣接している画像であり、画像d_Rは、ベースビューの右側で隣接している画像である。
たとえば、符号化装置101は、ベースビュー内の画像bとして、入力画像111から、左上の座標が(1k、0.5k)となり、縦1k[画素]、横2k[画素]となる矩形画像を抽出する。また、符号化装置101は、拡張ビュー内の画像d_Lとして、左上の座標が(0、0.5k)となり、縦1k[画素]、横1k[画素]となる矩形画像を抽出する。さらに、符号化装置101は、拡張ビュー内の画像d_Rとして、左上の座標が(3k、0.5k)となり、縦1k[画素]、横1k[画素]となる矩形画像を抽出する。
符号化装置101は、このような抽出処理を、入力画像111ごとに行う。たとえば、図6中の(B)で示すように、符号化装置101は、時刻t0における入力画像111から、画像b0と、画像d0_Lと画像d0_Rとを結合した画像d0と、を抽出する。同様に、符号化装置101は、時刻t1における入力画像111から、画像b1と、画像d1_Lと画像d1_Rとを結合した画像d1と、を抽出する。また、符号化装置101は、時刻t2における入力画像111から、画像b2と、画像d2_Lと画像d2_Rとを結合した画像d2と、を抽出する。
図7は、縦位置撮影時の画面の抽出方法の一例を示す説明図である。縦位置撮影が行われている場合、符号化装置101は、入力画像111が図7中の(A)で示す抽出イメージのように抽出される。具体的に、入力画像111が、縦2k[画素]、横4k[画素]となっており、ユーザに指定されなかった場合の初期表示領域となるベースビュー内の画像bと拡張領域に含まれる拡張ビュー内の画像d_Lと画像d_Rを抽出する。
図7中の(A)で示されたように抽出するため、符号化装置101は、図7中の(B)で示すように入力画像111を抽出する。具体的には、ベースビュー内の画像bとして、入力画像111から、左上の座標が(1k、0.5k)となり、縦1k[画素]、横2k[画素]となる矩形画像を抽出する。また、符号化装置101は、拡張ビュー内の画像d_Lとして、左上の座標が(1k、0)となり、縦0.5k[画素]、横2k[画素]となる矩形画像を抽出する。さらに、符号化装置101は、拡張ビュー内の画像d_Rとして、左上の座標が(1k、1.5k)となり、縦0.5k[画素]、横2k[画素]となる矩形画像を抽出する。
符号化装置101は、このような抽出処理を、入力画像111ごとに行う。図7中の(C)で示す時刻t0〜時刻t2までの抽出方法は、図6の(B)と同一であるため、説明を省略する。以下、とくに記述がない場合、横位置撮影時における抽出方法を行った例にて説明を行う。
なお、図6で示したように横位置で撮影されたか、または図7で示したように縦位置で撮影されたかについては、縦横情報として記録される。縦横情報については、図11にて後述する。
図8は、動き補償の参照方向の一例を示す説明図である。図8中の(A)では、入力画像111にて物体(1)と物体(2)が移動する様を示しており、図8中の(B)では、動きベクトルの参照方向を示している。
物体(1)は、時刻t0、時刻t1ともに拡張ビュー内の画像d0、画像d1に存在する。画像d1を符号化する場合、符号化装置101は、表201で示したように、画像d0を参照できるため、物体(1)に関して符号化効率が向上する。
物体(2)は、時刻t0にてベースビュー内の画像b0に存在し、時刻t1にて拡張ビュー内の画像d1に存在する。画像d1を符号化する場合、符号化装置101は、表201で示したように、画像b0を参照できないため、物体(2)に関して符号化効率が悪化する。
このように、異なるビュー間の移動が発生する場合に、符号化効率が悪化する。したがって本実施の形態では、ダミーフレームを挿入することで、ベースビューと拡張ビューの画像を同一時刻にして、参照できるようにし、符号化効率の向上を図っている。図9にてダミーフレームを設定した場合について説明する。
図9は、ダミーフレームを設定した場合の参照先の一例を示す説明図である。図9中の(A)では、図8で示した物体(2)のように、ベースビュー内の画像bから拡張ビュー内の画像d_Rに移動する例を示している。
次に、図9中の(B)では、ダミーフレームを設定していない状態の、ベースビュー内の符号化フレーム群と、拡張ビュー内の符号化フレーム群を示している。具体的に、図9中の(B)では、時刻t0のベースビューに対する符号化フレームfb0、拡張ビューに対する符号化フレームfd0、時刻t1のベースビューに対する符号化フレームfb1、拡張ビューに対する符号化フレームfd1がある。さらに、時刻t2のベースビューに対する符号化フレームfb2、拡張ビューに対する符号化フレームfd2、時刻t3のベースビューに対する符号化フレームfb3、拡張ビューに対する符号化フレームfd3がある。
また、符号化フレームfb0はIピクチャであり、符号化フレームfb3、fd0、fd3はPピクチャであり、符号化フレームfb1、fb2、fd1、fd2はBピクチャである。
このとき、符号化フレームfd1〜符号化フレームfd3は、符号化フレームfb0と同一時刻にはならないため、符号化装置101が符号化フレームfd1〜符号化フレームfd3を符号化する場合、参照不可であり、符号化効率が悪化する。
次に、図9中の(C)では、符号化フレームfb0の次に、ダミーフレームとなる符号化フレームfb1_d、fb2_d、fb3_dを設定している。ダミーフレームの実体は、たとえばスキップマクロブロックの集合である。スキップマクロブロックは、参照元の画像が参照先の画像と同一となることを示すマクロブロックである。また、符号化フレームfb0の後続であった符号化フレームfb1〜fb3は、それぞれ、時刻t4における符号化フレームfb4_1、時刻t5における符号化フレームfb5_2、時刻t6における符号化フレームfb6_3となる。
このとき、符号化フレームfd3は、符号化フレームfb3_dと同一時刻である。したがって、符号化装置101は、符号化フレームfd3を符号化する場合、符号化フレームfb3_dを参照でき、符号化効率が向上する。次に、図10にて、ストリーム121内におけるダミーフレームの設定例を説明する。
図10は、ストリーム内におけるダミーフレームの設定例である。図10中(A)、図10中(B)では、実線の矢印が参照先のフレームを示しており、点線で結ばれた画像どうしが同一の入力画像111から抽出されたことを示している。
図10中の(A)にて、符号化装置101は、ベースビューに対する符号化フレームにて、(1)で示す時刻t0のIピクチャを用いたダミーフレームとして(2)で示す時刻t1〜時刻t3のPピクチャ、Bピクチャを設定する。また、符号化装置101は、拡張ビューに対する符号化フレームにて、(3)で示す時刻tnのPピクチャを用いたダミーフレームとして(4)で示す時刻tn+1〜時刻tn+3におけるPピクチャ、Bピクチャを設定する。
このように、図10中の(A)では符号化装置101は、拡張ビューに対する符号化フレームにて、ベースビューに対する符号化フレームに設定したダミーフレームと同数のダミーフレームを設定している。これにより、拡張ビューに対する符号化フレームとベースビューに対する符号化フレームのフレーム数が同数となる。たとえば、復号装置400が拡張ビューに対する符号化フレームとベースビューに対する符号化フレームのフレームが同数となるかチェックしている場合、符号化装置101はフレーム数を同数にして、チェックを通過できるストリーム121を生成できる。
また、図10中の(A)では、拡張ビューに対する符号化フレームが、ベースビューの過去方向に参照可能とするため、ベースビューにダミーフレームを設定している。拡張ビューに対する符号化フレームが、ベースビューの未来方向に参照可能にするには、拡張ビューにダミーフレームを設定してもよい。拡張ビューにダミーフレームを設定した例を図10中の(B)で示す。
図10中の(B)にて、符号化装置101は、拡張ビューに対する符号化フレームにて、(5)で示す時刻t0のPピクチャを用いたダミーフレームとして(6)で示す時刻t1、時刻t2におけるBピクチャを設定する。また、符号化装置101は、ベースビューに対する符号化フレームにて、時刻tmにて(7)で示すPピクチャを用いたダミーフレームとして(8)で示す時刻tm+1、時刻tm+2におけるBピクチャを設定する。なお、ダミーフレームが設定された位置と数は、ダミーフレーム情報として記録される。ダミーフレーム情報は、図11にて後述する。
図11は、縦横情報とダミーフレーム情報の設定例を示す説明図である。図11では、縦横情報とダミーフレーム情報がストリーム121に設定されている例を示している。符号化装置101は、User data unregistered SEI(Supplemental Enhancement Information)メッセージ1101をストリーム121内に設定する。User data unregistered SEIメッセージ1101を、以下、単にSEIメッセージ1101と称す。SEIメッセージ1101は、NAL(Network Abstraction Layer)ユニットの一つであり、ユーザ独自の定義が可能なSEIメッセージである。
SEIメッセージ1101は、NALヘッダフィールド1111とRBSPフィールド(Raw Byte Sequence Payload)1112を含む。NALヘッダフィールド1111は、NALユニットの種別等が格納されている。RBSPフィールド1112は、NALユニットのペイロード部分である。
RBSPフィールド1112は、payload_typeフィールド1121、payload_sizeフィールド1122、uuid_iso_iec_11578フィールド1123、user_data_payload_byteフィールド1124を含む。payload_typeフィールド1121は、RBSPフィールド1112に格納される種別が格納され、たとえば、user_data_unregisteredを示す5が格納されている。payload_sizeフィールド1122は、SEIメッセージ1101のサイズが格納される。uuid_iso_iec_11578フィールド1123は、一意に識別できる識別情報が格納される。
user_data_payload_byteフィールド1124は、ユーザ独自の値を格納する。本実施の形態では、user_data_payload_byteフィールド1124は、縦横情報フィールド1131とダミーフレーム情報フィールド1132とを含む。たとえば、図11では、縦横情報フィールド1131には横を示す識別子が格納されており、ダミーフレーム情報フィールド1132には、フレーム数として3が格納されている。
なお、ダミーフレームが設定された位置として、たとえば、SEIメッセージ1101が、ダミーフレームの前に設定されてもよい。この場合、SEIメッセージ1101の設定位置が、ダミーフレームが設定された位置を示すことになる。たとえば、図10中の(A)で示したストリーム121では、時刻t1におけるベースビューに対する符号化フレームの前と、時刻tn+1における拡張ビューに対する符号化フレームの前に、SEIメッセージ1101が設定される。
また、図11では、ストリーム121内に縦横情報とダミーフレーム情報を設定していたが、符号化装置101は、ストリーム121に対応付けられたファイルに縦横情報とダミーフレーム情報を書き込んでもよい。
図12は、符号化処理の一例を示す説明図である。符号化処理は、符号化装置101が実行する。符号化装置101内の画像処理部310は、4k2kの入力画像111を受け付けて、縦横情報を用いて入力画像抽出処理を実行し、ベースビュー内の画像と拡張ビュー内の画像とを出力する。続けて、MVC符号化復号処理部311は、縦横情報と、ベースビュー内の画像と、拡張ビュー内の画像とから、MVC符号化処理を実行し、ベースビューに対する符号化フレーム122と拡張ビュー内に対する符号化フレーム123をストリーム121に出力する。MVC符号化処理内にて、MVC符号化復号処理部311は、動きベクトル探索範囲決定処理を実行する。図13A、図13B、図14A、図14Bにて、動きベクトル探索範囲の一例を示す。
図13Aと、図13Bは、横位置撮影時の動きベクトル探索範囲の一例を示す説明図である。図13A中の(A)にて、MVC符号化復号処理部311は、各マクロブロックの動きベクトル探索範囲を、カレントマクロブロックを中心とした一定範囲に設定する。以下、マクロブロックをMBと称する。
各MBにおける動きベクトル探索範囲は、画面内のMB位置によって異なるため、以下に示すパラメタを元に探索範囲を決定する。初めに、カレントMBを中心として、動きベクトル探索範囲の左端までの画素数をlx、上端までの画素数をuy、右端までの画素数をrx、下端までの画素数をdyとする。たとえば、lx=uy=rx=dy=16とする。
また、図13A中の(B)で示すように、mbnumxを、ベースビューおよび拡張ビューの水平画素数/16とし、mbnumyを、ベースビューおよび拡張ビューの垂直画素数/16とする。また、mbadrxを、カレントMBのMBアドレスxとする。mbadrxは、画面内におけるMB単位での水平位置を示す。さらに、mbadryを、カレントMBのMBアドレスyとする。mbadryは、画面内におけるMB単位での垂直位置を示す。
たとえば、ベースビュー内の画像と、拡張ビュー内の画像が、それぞれ、1920x1088画素の場合、mbnumxは1920/16 = 120、mbnumyは1088/16 = 68 となる。mbadrxの取りうる範囲は0〜119となり、mbadryの取りうる範囲は0〜67となる。また、拡張ビュー内の画像について、mbadrxが0〜59である場合、カレントMBは画像d_Lにあり、mbadrxが60〜119である場合、カレントMBは画像d_Rにある。
次に、図13Bにて、図13B中の(A)は、各MBの位置に応じたベクトル探索範囲の具体例を示している。MB_a〜MB_iについて、MB_a〜MB_cは、ベースビュー内のMBであり、MB_d〜MB_iについて、拡張ビュー内のMBである。
MB_aの動きベクトル探索範囲は、MB_aが画像bの左端に存在しており、拡張ビュー内の画像d_Lは参照できないため、lxが0となる。MB_bの動きベクトル探索範囲は、MB_bが画像bの内側に存在しているため、lx=uy=rx=dy=16のままとなる。MB_cの動きベクトル探索範囲は、MB_cが画像bの右端に存在しており、拡張ビュー内の画像d_Rを参照できないため、rxが0となる。
MB_dの動きベクトル探索範囲は、MB_dが画像d_L内の上端に存在しており、uyが0となる。MB_eの動きベクトル探索範囲は、MB_eが画像d_Lの内側に存在しているため、lx=uy=rx=dy=16のままとなる。
MB_fの動きベクトル探索範囲は、MB_fが画像d_L内の右端に存在しており、同一時刻のベースビュー内の画像bを参照できるため、rxが0とならず、16のままとなる。また、図13B中の(B)で示す、領域(R)に対応する画像bへのベクトル探索範囲は、画像d_Lのベクトル探索範囲から変換することになる。ベースビュー、および拡張ビューの水平画像画素数をpicsizex、垂直画像サイズをpicsizeyとし、変換前の参照画素の座標をpx、py、変換後の参照画素の座標をox、oyとすると、以下のように求められる。
ox = px − picsizex/2
oy = py
MB_gの動きベクトル探索範囲は、MB_gが画像d_R内の左端に存在しており、同一時刻のベースビュー内の画像bを参照できるため、lxが0とならず、16のままとなる。また、図13B中の(B)で示す、領域(L)に対応する画像bへのベクトル探索範囲は、画像d_Rのベクトル探索範囲から変換することになり、以下のように求められる。
ox = px + picsizex/2
oy = py
MB_hの動きベクトル探索範囲は、MB_hが画像d_Rの内側に存在しているため、lx=uy=rx=dy=16のままとなる。MB_iの動きベクトル探索範囲は、MB_iが画像d_Rの右下に存在しているため、rxとdyが0となる。
図14Aと、図14Bは、縦位置撮影時の動きベクトル探索範囲の一例を示す説明図である。図14A中の(A)で示すMBのベクトル探索範囲は、図13Aの(A)で示した横位置撮影時と同一であるため、説明を省略する。
また、図14A中の(B)で示す、mbnumx、mbnumy、mbadrx、mbadryの定義については、図13A中の(B)で示した定義と同一であるため、説明を省略する。また、拡張ビュー内の画像について、mbadryが0〜33である場合、カレントMBは画像d_Lにあり、mbadryが34〜67である場合、カレントMBは画像d_Rにある。
次に、図14Bにて、各MBの位置に応じたベクトル探索範囲の具体例を示している。MB_a〜MB_iについて、MB_a〜MB_cは、ベースビュー内のMBであり、MB_d〜MB_iについて、拡張ビュー内のMBである。
MB_aの動きベクトル探索範囲は、MB_aが画像bの上端に存在しており、拡張ビュー内の画像d_Lを参照できないため、uyが0となる。MB_bの動きベクトル探索範囲は、MB_bが画像bの内側に存在しているため、lx=uy=rx=dy=16のままとなる。MB_cの動きベクトル探索範囲は、MB_cが画像bの下端に存在しており、拡張ビュー内の画像d_Rを参照できないため、dyが0となる。
MB_dの動きベクトル探索範囲は、MB_dが画像d_Lの上端に存在しており、uyが0となる。MB_eの動きベクトル探索範囲は、MB_eがベースビューの内側に存在しているため、lx=uy=rx=dy=16のままとなる。
MB_fの動きベクトル探索範囲は、MB_fが画像d_L内の下端に存在しており、同一時刻のベースビュー内の画像bを参照できるため、dyが0とならず、16のままとなる。また、図14B中の(B)で示す、領域(D)に対応する画像bへのベクトル探索範囲は、画像d_Lのベクトル探索範囲から変換することになり、以下のように求められる。
ox = px
oy = py − picsizey/2
MB_gの動きベクトル探索範囲は、MB_gが画像d_R内の上端に存在しており、同一時刻のベースビュー内の画像bを参照できるため、uyが0とならず、16のままとなる。また、図14B中の(B)で示す、領域(U)に対応する画像bへのベクトル探索範囲は、画像d_Rのベクトル探索範囲から変換することになり、以下のように求められる。
ox = px
oy = py + picsizey/2
MB_hの動きベクトル探索範囲は、MB_hが画像d_Rの内側に存在しているため、lx=uy=rx=dy=16のままとなる。MB_iの動きベクトル探索範囲は、MB_iが画像d_Rの右下に存在しているため、rxとdyが0となる。
図15は、復号処理の一例を示す説明図である。復号処理は、符号化装置101と、復号装置400が実行可能である。図15の説明においては、復号装置400が復号処理を実行する場合について説明する。
復号装置400内のMVC復号処理部408は、ストリーム121を受け付けて、MVC復号処理を実行して、2k1kのベースビュー内の一連の画像と、2k1kの拡張ビュー内の一連の画像を出力する。続けて、画像処理部407は、縦横情報と、2k1kのベースビュー内の一連の画像と、2k1kの拡張ビュー内の一連の画像と、指定された表示領域と、から、出力画像結合処理を実行し、2k1kの出力画像を出力する。次に、図16A〜図16Cにて、出力画像結合処理の具体例を示す。
図16Aは、出力画像結合処理の具体例を示す説明図(その1)である。図16A中の(A)では、撮影対象物aがベースビュー内から一部移動し、拡張ビューに入った状態を示している。図16Aでは、復号装置400を操作するユーザによって表示領域が数画素右に移動するように指定された場合について説明する。
図16A中の(B)では、初めに、ベースビューに対する一連の符号化フレームを、ベースビュー内の一連の部分画像を復号した状態を示している。具体的に、復号装置400は、ベースビューに対する一連の符号化フレームを、ベースビュー内の一連の部分画像dec_b0〜dec_b4に復号する。また、復号装置400は、拡張ビューに対する一連の符号化フレームを、拡張ビュー内の一連の部分画像dec_d0〜dec_d4に復号する。この状態から、復号装置400は、ベースビュー内の一連の部分画像のうち、出力対象でないフレームに対する部分画像以外の他の部分画像から、表示領域内の画像列を抽出する。
たとえば、ダミーフレーム情報が、2番目から4番目のフレームを示していたとする。このとき、復号装置400は、時刻t1〜時刻t3に対応する2番目から4番目の部分画像dec_b1〜dec_b3以外の、部分画像dec_b0、dec_b4から、表示領域内の画像ext_b0、ext_b4を抽出する。また、復号装置400は、部分画像dec_d0〜dec_d4から、表示領域内の画像ext_d0〜ext_d4を抽出する。
続けて、復号装置400は、画像ext_b0と画像ext_d0とを結合した画像com1と、画像ext_b4と画像ext_d1とを結合した画像com2と、を出力する。
図16Bは、出力画像結合処理の具体例を示す説明図(その2)である。図16Aで示す出力画像結合処理は、出力対象でないフレームを除く処理を、復号後と抽出前に行っていたが、図16Bで示す出力画像結合処理は、出力対象でないフレームを除く処理を、抽出後と結合前に行う。復号処理までについては、図16Aで示したものと同一となるため、ベースビュー内の一連の部分画像dec_b0〜dec_b4と、拡張ビュー内の一連の部分画像dec_d0〜dec_d4と、を復号する処理までの説明を省略する。
復号を行った後、復号装置400は、部分画像dec_b0〜dec_b4から、表示領域内の画像ext_b0、ext_b4を抽出する。また、復号装置400は、部分画像dec_d0〜dec_d4から、表示領域内の画像ext_d0〜ext_d4を抽出する。
続けて、復号装置400は、時刻t1〜時刻t3に対応する2番目から4番目の画像ext_b1〜ext_b3以外の、画像ext_b0、ext_b4を、画像ext_d0、ext_d4を結合し、結合した画像を出力する。具体的には、復号装置400は、画像ext_b0と画像ext_d0とを結合した画像com1と、画像ext_b4と画像ext_d1とを結合した画像com2と、を出力する。
図16Cは、出力画像結合処理の具体例を示す説明図(その3)である。図16Cでは、復号装置400が、縦横情報を受け付け、縦横情報が縦を示していた場合の出力画像結合処理について説明する。
縦横情報が縦を示していた場合、復号装置400は、指定された表示領域を変換する。具体的には、復号装置400を操作するユーザによって表示領域が数画素右へ移動するように指定された場合、復号装置400は、数画素下に移動するように表示領域を変換する。続けて、符号化フレームの復号、抽出、結合の各処理については、図16Aと示した場合と同じであるため、説明を省略する。結合処理後、復号装置400は、結合により得られた変換後の表示領域の画像列となるcom1、com2を出力する。
次に、図16A〜図16Cで示した処理のフローチャートについて説明する。図17にて符号化処理のフローチャートを示す。図18A〜図21Bでは、符号化処理から実行される、MVC符号化処理と、ベースビュー内の動きベクトル探索範囲決定処理と、拡張ビュー内の動きベクトル探索範囲決定処理と、のフローチャートを示している。また、図22A、図22Bでは、復号処理のフローチャートを示している。符号化処理〜拡張ビュー内の動きベクトル探索範囲決定処理については、符号化装置101が実行し、復号処理については、符号化装置101と復号装置400が実行する。本実施の形態では、復号処理について、復号装置400が実行する場合を例にして説明を行う。
図17は、符号化処理手順の一例を示すフローチャートである。図17では、入力動画像を符号化する処理について説明する。符号化装置101は、横位置撮影か否かを判断する(ステップS1701)。なお、横位置撮影か否かの判断方法については、ジャイロセンサ306からの角度を取得し、角度に応じて判断する。横位置撮影である場合(ステップS1701:Yes)、符号化装置101は、縦横情報を横に設定する(ステップS1702)。横位置撮影でない場合(ステップS1701:No)、符号化装置101は、縦横情報を縦に設定する(ステップS1703)。
ステップS1702、またはステップS1703の処理後、符号化装置101は、縦横情報が横を示しているか否かを判断する(ステップS1704)。横を示している場合(ステップS1704:Yes)、符号化装置101は、ベースビューの位置情報を入力画像の中央に、拡張ビューの位置情報をベースビューの左右に決定する(ステップS1705)。縦を示している場合(ステップS1704:No)、符号化装置101は、ベースビューの位置情報を入力画像の中央に、拡張ビューの位置情報をベースビューの上下に決定する(ステップS1706)。
ステップS1702、またはステップS1703の処理後、符号化装置101は、入力画像111から、決定された位置情報に従ったベースビュー内の画像と拡張ビュー内の画像を抽出する(ステップS1707)。次に、符号化装置101は、ベースビュー内の画像と拡張ビュー内の画像をRAM303へ出力し(ステップS1708)、MVC符号化処理を実行する(ステップS1709)。
続けて、符号化装置101は、ストリーム121に縦横情報とダミーフレーム情報を設定する(ステップS1710)。次に、符号化装置101は、撮影終了か否かを判断する(ステップS1711)。撮影終了していない場合(ステップS1711:No)、符号化装置101は、ステップS1704の処理に移行する。撮影終了する場合(ステップS1711:Yes)、符号化装置101は、符号化処理を終了する。このように、図17で示す処理を実行することで、符号化装置101は、入力動画像を符号化することができる。
なお、ステップS1707およびステップS1708の処理は画像処理部310が実行し、ステップS1709の処理は画像処理部310が実行する。たとえば、CPU301は、符号化処理を実行するプロセスとして、2つのスレッドを用意してもよい。1つ目のスレッドは、入力画像111を受け付けたらステップS1707とステップS1708の処理を画像処理部310に実行させるスレッドとなる。2つ目のスレッドは、RAM303を一定周期で確認、または1つ目のスレッドから出力したことを受け付け、ベースビュー内の画像と拡張ビュー内の画像があった場合、MVC符号化復号処理部311にステップS1709の処理を実行させるスレッドとなる。
図18A、図18Bは、MVC符号化処理の一例を示すフローチャートである。図18A、図18Bでは、ベースビュー内の画像と拡張ビュー内の画像を符号化する処理について説明する。初めに、図18Aにて、符号化装置101は、ベースビュー内の動きベクトル探索範囲決定処理を実行する(ステップS1801)。次に、符号化装置101は、ベースビュー内の画像に対するMVC符号化処理を実行する(ステップS1802)。MVC符号化処理については、H.264 MVCの規格に従った符号化処理を行うため、説明を省略する。
MVC符号化処理を実行し、いずれかの画像が符号化された後、符号化装置101は、ベースビューに対する符号化フレームをストリーム121に出力する(ステップS1803)。続いて、符号化装置101は、ダミーフレームが設定済か否かを判断する(ステップS1804)。ダミーフレームが設定されていない場合(ステップS1804:No)、符号化装置101は、ベースビュー内の先頭の画像を、ダミーフレーム情報のフレーム数分符号化する(ステップS1805)。
次に、符号化装置101は、生成したダミーフレームをベースビューに対する先頭の符号化フレームの次のフレームに設定する(ステップS1806)。なお、ステップS1805、ステップS1806の処理では、2番目の画像を符号化するタイミングにてダミーフレームが設定される場合について説明している。たとえば、3番目の画像を符号化するタイミングにてダミーフレームが設定される場合、ステップS1805の処理は、「ベースビュー内の2番目の画像を、ダミーフレーム情報のフレーム数分符号化」となる。また、ステップS1806の処理は、「生成したダミーフレームをベースビューに対する2番目の符号化フレームの次のフレームに設定」となる。
次に、図18Bにて、ステップS1806の処理後、またはダミーフレームが設定済の場合(ステップS1804:Yes)、符号化装置101は、縦横情報が横を示しているか否かを判断する(ステップS1807)。横を示している場合(ステップS1807:Yes)、符号化装置101は、横位置撮影時の拡張ビュー内の動きベクトル探索範囲決定処理を実行する(ステップS1808)。縦を示している場合(ステップS1807:No)、符号化装置101は、縦位置撮影時の拡張ビュー内の動きベクトル探索範囲決定処理を実行する(ステップS1809)。
ステップS1808の処理、またはステップS1809の処理実行後、符号化装置101は、拡張ビューの画像に対するMVC符号化処理を実行する(ステップS1810)。符号化装置101は、拡張ビューに対する符号化フレームに、拡張ビューを示す識別情報124を付与する(ステップS1811)。次に、符号化装置101は、拡張ビューに対する符号化フレームをストリーム121に出力する(ステップS1812)。続いて、符号化装置101は、撮影終了か否かを判断する(ステップS1813)。撮影終了する場合(ステップS1813:Yes)、符号化装置101は、拡張ビュー内の末尾の画像を、ダミーフレーム情報のフレーム数分符号化する(ステップS1814)。
次に、符号化装置101は、生成したダミーフレームを拡張ビューに対する末尾の符号化フレームの次のフレームに設定する(ステップS1815)。ステップS1812の終了後、または、撮影終了していない場合(ステップS1813:No)、符号化装置101は、MVC符号化処理を終了する。このように、図18A、図18Bで示す処理を実行することで、符号化装置101は、ベースビュー内の画像と拡張ビュー内の画像を符号化することができる。
図19は、ベースビュー内の動きベクトル探索範囲決定処理の一例を示すフローチャートである。図19では、カレントMBがベースビュー内に存在する場合の動きベクトル探索範囲を決定する処理について説明する。符号化装置101は、lxとrxを16に設定し、uyとdyを16に設定する(ステップS1901)。次に、符号化装置101は、カレントMBのmbadrxが0か否かを判断する(ステップS1902)。0である場合(ステップS1902:Yes)、符号化装置101は、lxを0に設定する(ステップS1903)。
ステップS1903の実行後、またはmbadrxが0ではない場合(ステップS1902:No)、符号化装置101は、カレントMBのmbadrxがmbnumx−1か否かを判断する(ステップS1904)。mbadrxがmbnumx−1である場合(ステップS1904:Yes)、符号化装置101は、rxを0に設定する(ステップS1905)。
ステップS1905の実行後、またはmbadrxがmbnumx−1ではない場合(ステップS1904:No)、符号化装置101は、カレントMBのmbadryが0か否かを判断する(ステップS1906)。mbadryが0である場合(ステップS1906:Yes)、符号化装置101は、uyを0に設定する(ステップS1907)。
ステップS1907の実行後、またはmbadryが0ではない場合(ステップS1906:No)、符号化装置101は、カレントMBのmbadryがmbnumy−1か否かを判断する(ステップS1908)。mbadryがmbnumy−1である場合(ステップS1908:Yes)、符号化装置101は、dyを0に設定する(ステップS1909)。
ステップS1909の実行後、mbadryがmbnumy−1でない場合(ステップS1908:No)、符号化装置101は、ベースビュー内の探索範囲画像を取得する(ステップS1910)。ベースビュー内の探索範囲画像とは、ベースビュー内に対応する符号化フレームが復号された画像のうち、カレントMBが参照可能な画像のことである。たとえば、カレントMBがPピクチャであれば、過去のPピクチャ、またはIピクチャが復号された画像である。
次に、符号化装置101は、ベースビュー内の動きベクトル探索処理を実行し(ステップS1911)、ベースビュー内の動きベクトル探索範囲決定処理を終了する。このように、図19で示す処理を実行することで、符号化装置101は、カレントMBがベースビュー内に存在する場合の動きベクトルの探索範囲を決定することができる。なお、ベースビュー内の動きベクトル探索処理は、ステップS1910で取得した画像から、カレントMBと画素値が最も近いMBを探索する処理である。動きベクトル探索処理については、H.264 MVCの規格に従った符号化処理を行うため、説明を省略する。
図20A、図20Bは、横位置撮影時の拡張ビュー内の動きベクトル探索範囲決定処理の一例を示すフローチャートである。図20A、図20Bでは、横位置撮影時にカレントMBが拡張ビュー内に存在する場合の動きベクトル探索範囲を決定する処理について説明する。なお、ステップS2002〜ステップS2009は、ステップS1902〜ステップS1909と同一の処理であるため、説明を省略する。初めに、図20Aでは、符号化装置101は、lxとrxを16に設定し、uyとdyを16に設定し、領域(L)と領域(R)を拡張ビュー内に設定する(ステップS2001)。ステップS2001の処理の実行後、符号化装置101は、ステップS2002の処理を実行する。
次に、図20Bにて、ステップS2008、またはステップS2009の実行後、符号化装置101は、カレントMBのmbadrxがmbnumx/2−1か否かを判断する(ステップS2010)。mbadrxがmbnumx/2−1である場合(ステップS2010:Yes)、符号化装置101は、領域(R)をベースビュー内に設定する(ステップS2011)。
ステップS2011の実行後、またはmbadrxがmbnumx/2−1でない場合(ステップS2010:No)、符号化装置101は、カレントMBのmbadrxがmbnumx/2か否かを判断する(ステップS2012)。mbadrxがmbnumx/2である場合(ステップS2012:Yes)、符号化装置101は、領域(L)をベースビュー内に設定する(ステップS2013)。
ステップS2013の実行後、またはmbadrxがmbnumx/2でない場合(ステップS2012:No)、符号化装置101は、拡張ビュー内の探索範囲画像を取得する(ステップS2014)。拡張ビュー内の探索範囲画像とは、拡張ビュー内に対応する符号化フレームが復号された画像のうち、カレントMBが参照可能な画像のことである。
次に、符号化装置101は、領域(L)がベースビュー内か、または領域(R)がベースビュー内か否かを判断する(ステップS2015)。領域(L)または領域(R)のいずれかがベースビュー内である場合(ステップS2015:Yes)、符号化装置101は、ベースビュー内の探索範囲画像を取得する(ステップS2016)。ステップS2016で取得されるベースビュー内の画像は、ベースビュー内に対応する符号化フレームが復号された画像のうち、カレントMBが属している画像と同一時刻となる画像である。
ステップS2016、または、領域(L)および領域(R)がベースビュー内でない場合(ステップS2015:No)、符号化装置101は、拡張ビュー内の動きベクトル探索処理を実行する(ステップS2017)。なお、拡張ビュー内の動きベクトル探索処理は、ステップS2014で取得した画像から、カレントMBと画素値が最も近いMBを探索する。
続けて、符号化装置101は、領域(L)がベースビュー内か、または領域(R)がベースビュー内否かを判断する(ステップS2018)。領域(L)または領域(R)のいずれかがベースビュー内である場合(ステップS2018:Yes)、符号化装置101は、ベースビュー内の動きベクトル探索処理を実行する(ステップS2019)。なお、拡張ビュー内の動きベクトル探索処理は、ステップS2016で取得した画像から、カレントMBと画素値が最も近いMBを探索する。
ステップS2019の処理後、または、領域(L)および領域(R)がベースビュー内でない場合(ステップS2018:No)、符号化装置101は、横位置撮影時の拡張ビュー内の動きベクトル探索範囲決定処理を終了する。このように、図20A、図20Bで示す処理を実行することで、符号化装置101は、横位置撮影時にカレントMBが拡張ビュー内に存在する場合の動きベクトルの探索範囲を決定することができる。
図21A、図21Bは、縦位置撮影時の拡張ビュー内の動きベクトル探索範囲決定処理の一例を示すフローチャートである。図21A、図21Bでは、縦位置撮影時にカレントMBが拡張ビュー内に存在する場合の動きベクトル探索範囲を決定する処理について説明する。なお、ステップS2101〜ステップS2109は、ステップS2001〜ステップS2009と同一の処理であるため、説明を省略する。
図21Aにて、ステップS2108、またはステップS2109の実行後、符号化装置101は、カレントMBのmbadryがmbnumy/2−1か否かを判断する(ステップS2110)。mbadryがmbnumy/2−1である場合(ステップS2110:Yes)、符号化装置101は、領域(D)をベースビュー内に設定する(ステップS2111)。
ステップS2111の実行後、またはmbadryがmbnumy/2−1でない場合(ステップS2110:No)、符号化装置101は、カレントMBのmbadryがmbnumy/2か否かを判断する(ステップS2112)。mbadryがmbnumy/2である場合(ステップS2112:Yes)、符号化装置101は、領域(U)をベースビュー内に設定する(ステップS2113)。
ステップS2113の実行後、またはmbadryがmbnumy/2でない場合(ステップS2112:No)、符号化装置101は、拡張ビュー内の探索範囲画像を取得する(ステップS2114)。拡張ビュー内の探索範囲画像とは、拡張ビュー内に対応する符号化フレームが復号された画像のうち、カレントMBが参照可能な画像のことである。
次に、符号化装置101は、領域(U)がベースビュー内か、または領域(D)がベースビュー内か否かを判断する(ステップS2115)。領域(U)または領域(D)のいずれかがベースビュー内である場合(ステップS2115:Yes)、符号化装置101は、ベースビュー内の探索範囲画像を取得する(ステップS2116)。ステップS2116で取得されるベースビュー内の画像は、ベースビュー内に対応する符号化フレームが復号された画像のうち、カレントMBが属している画像と同一時刻となる画像である。
ステップS2116の実行後、または、領域(U)および領域(D)がベースビュー内でない場合(ステップS2115:No)、符号化装置101は、拡張ビュー内の動きベクトル探索処理を実行する(ステップS2117)。なお、拡張ビュー内の動きベクトル探索処理は、ステップS2114で取得した画像から、カレントMBと画素値が最も近いMBを探索する。
続けて、符号化装置101は、領域(U)がベースビュー内か、または領域(D)がベースビュー内か否かを判断する(ステップS2118)。領域(U)または領域(D)のいずれかがベースビュー内である場合(ステップS2118:Yes)、符号化装置101は、ベースビュー内の動きベクトル探索処理を実行する(ステップS2119)。なお、拡張ビュー内の動きベクトル探索処理は、ステップS2016で取得した画像から、カレントMBと画素値が最も近いMBを探索する。
ステップS2119の処理後、または、領域(U)および領域(D)がベースビュー内でない場合(ステップS2118:No)、符号化装置101は、縦位置撮影時の拡張ビュー内の動きベクトル探索範囲決定処理を終了する。このように、図21A、図21Bで示す処理を実行することで、符号化装置101は、縦位置撮影時にカレントMBが拡張ビュー内に存在する場合の動きベクトルの探索範囲を決定することができる。
図22A、図22Bは、復号処理手順の一例を示すフローチャートである。図22A、図22Bでは、符号化フレームを復号する処理について説明する。ユーザなどからの動画像再生要求を受け付けると、復号装置400は、ストリーム121から縦横情報とダミーフレーム情報を受け付ける(ステップS2201)。次に、復号装置400は、識別情報124に基づいて、ストリーム121からベースビューに対する符号化フレームを選択し(ステップS2202)、ユーザから表示領域が指定されたか否かを判断する(ステップS2203)。
表示領域が指定されていない場合(ステップS2203:No)、復号装置400は、ベースビューに対する符号化フレームに対してMVC復号処理を実行する(ステップS2204)。次に、復号装置400は、ベースビュー内の部分画像をRAM403に出力する(ステップS2205)。続けて、復号装置400は、ベースビュー内の部分画像のうち、出力対象でない符号化フレームに対応する部分画像以外の画像を出力対象に設定する(ステップS2206)。次に、復号装置400は、ベースビュー内の出力対象の画像を出力する(ステップS2207)。
ステップS2207、または図22Bで示すステップS2203:Yesのルートとなる一連の処理終了後、復号装置400は、再生終了か否かを判断する(ステップS2208)。再生終了していない場合(ステップS2208:No)、復号装置400は、ステップS2202の処理に移行する。再生終了する場合(ステップS2208:Yes)、復号装置400は、復号処理を終了する。
次に、図22Bにて、表示領域が指定された場合(ステップS2203:Yes)、復号装置400は、ストリーム121から拡張ビューに対する符号化フレームを選択する(ステップS2209)。ステップS2202とステップS2209の処理によって、復号対象となるベースビューに対する符号フレームと、同一時刻の拡張ビューに対する符号化フレームが選択されたことになる。続けて、復号装置400は、ベースビューに対する符号化フレームと拡張ビューに対する符号化フレームに対してMVC復号処理を実行する(ステップS2210)。MVC復号処理は、H.264 MVCの規格に従った復号処理を行うため、説明を省略する。
次に、復号装置400は、復号されたベースビューと拡張ビューの部分画像をRAM403に出力する(ステップS2211)。続けて、復号装置400は、ベースビュー内の部分画像のうち、出力対象でない符号化フレームに対応する部分画像以外の画像を出力対象に設定する(ステップS2212)。次に、復号装置400は、縦横情報が横を示しているか否かを判断する(ステップS2213)。
縦を示している場合(ステップS2213:No)、復号装置400は、縦横情報に応じて、指定された表示領域を変換する(ステップS2214)。具体的には、表示領域が中央部分から右方向に10画素移動するように指定された場合、変換後の表示領域は、中央部分から下方向に10画素移動された領域となる。ステップS2214を実行後、または横を示している場合(ステップS2213:Yes)、復号装置400は、ベースビュー内の部分画像から表示領域内の画像列を抽出し、拡張ビュー内の部分画像から表示領域内の画像列を抽出する(ステップS2215)。
次に、復号装置400は、ベースビュー内の画像列の各画像と拡張ビュー内の画像列の各画像を、同一画像どうしで結合する(ステップS2216)。次に、復号装置400は、指定された表示領域の画像を出力し(ステップS2217)、ステップS2208の処理に移行する。このように、図22A、図22Bで示す処理を実行することで、復号装置400は、符号化フレームを復号し、動画像を再生することができる。
以上説明したように、符号化装置、動画像処理システム、符号化方法、および符号化プログラムによれば、4k2kの画像から、2k1kを独立したベースビューとし左右の領域をベースビューを参照する拡張ビューとして、ビューの識別情報を付与する。これにより、ベースビューを復号する復号装置は、識別情報から復号対象をベースビューに対する符号化フレームに限定できるため、画面全体を復号してから変換するよりも復号量が低減化できる。
復号量の低減化により、たとえば、復号装置は、ユーザから再生指示を受け付けて動画像の再生を開始するまでの時間を短縮することができる。また、復号装置は、早送り、巻き戻し、頭出し、といったトリックプレイを行う場合にも、トリックプレイを開始するまでの時間を短縮することができる。たとえば、頭出しを行う場合、復号装置は、頭出し処理を高速化することができる。また、動画像再生中の復号装置は、動画像の再生が不自然に途切れたりする現象を減らすことができる。
また、符号化装置は、ダミーフレームを過去へ参照可能な枚数分生成して、ベースビューに設定してもよい。これにより、拡張ビューの符号化時に、過去のベースビューの画像を参照することができ、符号化装置は、符号化効率を向上することができる。なお、ダミーフレームは、スキップマクロブロックとなることが多いため、追加される符号量は小さい。
たとえば、物体がベースビューから拡張ビューに移動した場合、過去のベースビューの画像を参照することができるようになり、符号化効率を向上させることができる。とくに、拡張ビューのPピクチャは、過去方向にしか参照できないため、ベースビューの過去の画像を参照できるようになることで、符号化効率を向上することができる。また、符号化効率が向上することで、符号化装置は、撮影時間を延ばすことができる。
また、符号化装置は、ダミーフレームの生成数を、連続して存在するBピクチャの数+1にしてもよい。これにより、拡張ビューのPピクチャが、ベースビューのIピクチャまたはPピクチャを参照することになる。ベースビューのIピクチャまたはPピクチャが高画質に符号化されている場合、高画質の画像を参照できるため、より高画質な画像をユーザに提供できる。
また、符号化装置は、ダミーフレームが設定済の場合、ダミーフレームを生成せずともよい。既にダミーフレームが設定済の場合であれば、符号化装置は、拡張ビューの符号化時に、過去のベースビューの画像を参照することになるためである。
また、符号化装置は、ダミーフレームを過去へ参照可能な枚数分生成して、拡張ビューに設定してもよい。これにより、拡張ビューの符号化時に、未来のベースビューの画像を参照することができる。たとえば、物体が拡張ビューからベースビューに移動した場合、拡張ビューのPピクチャは、拡張ビュー内の過去の画像と、ベースビュー内の未来の画像を参照することができ、未来の画像の方が現在の画像と近ければ、符号化効率を向上することができる。
また、符号化装置は、自装置の縦横を検出し、ベースビューと拡張ビューの抽出位置を変えてもよい。これにより、符号化装置は、横を検出した場合、横長の物体に適した表示領域で撮影し、縦を検出した場合、縦長の物体に適した表示領域で撮影することができる。
また、符号化装置は、拡張ビュー内の画像の符号化について、ベースビュー内の画像に基づいて符号化してもよい。たとえば、符号化装置が、ダミーフレームを設定しないで、単にベースビュー内の画像と、拡張ビュー内の画像を符号化する仕様であるとする。このとき、ベースビュー内の画像の符号化する時刻と拡張ビュー内の画像の符号化する時刻とはほぼ同時になるため、ベースビュー内の画像がメモリに残っている可能性がある。この場合、符号化装置は、ベースビュー内の画像を符号化した符号化フレームを用いず、そのままベースビュー内の画像を用いて符号化してもよい。
また、復号装置、動画像処理システム、復号方法、および復号プログラムによれば、第1および第2の領域の一連の符号化フレームと、符号化フレームに付与された領域を示す識別情報を受け付け、識別情報から第1の領域の符号化フレームを復号する。このように、復号装置は、識別情報から復号対象をベースビューに対する符号化フレームに限定できるため、復号量が低減化できる。
また、復号装置は、出力対象でない符号化フレームの数および位置を示す情報から、出力対象以外の符号化フレームに対応した復号画像を出力する。これにより、復号装置は、ダミーフレームが含まれていない動画像を出力することができる。
また、復号装置は、表示領域が指定された場合、一連の画像のベースビュー内に対する符号化フレームと、一連の画像の拡張ビュー内に対する符号化フレームと、をそれぞれ復号し、表示領域に抽出し、結合して出力してもよい。これにより、復号装置は、表示領域の変更に応答でき、また、指定があったときだけ、拡張ビュー内に対する符号化フレームを復号することになるため、常に拡張ビュー内の画像を復号することに比べ、処理効率を向上することができる。
また、復号装置は、表示領域が指定され、かつ、出力対象でない符号化フレームの数および位置を受け付けた場合、出力対象以外の符号化フレームに対応したベースビュー内の部分画像と拡張ビュー内の部分画像を、抽出して結合してもよい。これにより、復号装置は、4k1kから指定された表示領域を抽出した方法と同じように再生でき、かつ、符号化効率が向上しているため、消費電力も少なくなり再生時間を長くすることができる。また、出力対象以外の画像を除く処理は、抽出処理の後に行ってもよい。
また、復号装置は、一連の画像を受け付けた装置が一連の画像を受け付けたときの角度に関する情報を受け付けて、指定された表示領域を変換してもよい。これにより、復号装置は、一連の画像が受け付けられたときと同じ画像の向きで再生することができる。
また、符号化装置は、ベースビューの領域と拡張ビューの領域を指定してもよい。たとえば、撮影開始時には、撮影対象物aが撮影範囲の中央に存在し、撮影途中にて、撮影対象物aが撮影範囲内の右側に移動したとする。このような場合、本実施の形態では復号装置のユーザの操作により表示領域が指定されていた例として提示したが、符号化の時点にて、符号化装置を操作するユーザの操作により、ベースビューの領域と拡張ビューの領域を指定してもよい。
具体的に、ユーザの指示により、ベースビューの領域が、左上の座標が(1.2k、0.5k)であり、縦1k[画素]、横2k[画素]の矩形領域となったとする。ユーザの指示を受け付けた符号化装置は、指定されたベースビューの領域にて、ベースビュー内の画像を抽出する。また、符号化装置は、左上の座標が(0k、0.5k)であり、縦1k[画素]、横1.2k[画素]となる領域と、左上の座標が(3.2k、0.5k)であり、縦1k[画素]、横0.8k[画素]となる領域と、を拡張ビューの領域として抽出する。
続けて、符号化装置は、抽出された画像を符号化し、指定された領域を情報として付与してストリーム121に出力する。このとき、拡張ビューのベクトル探索範囲決定処理は、カレントMBの横座標が1.2kに隣接している箇所で、ベースビュー内の探索範囲画像を取得することになる。
次に、復号装置は、復号装置のユーザの操作がなく、表示領域が指定されない場合、ベースビューの画像を復号する。これにより、撮影対象物aが移動した場合でも、復号対象をベースビューに対する符号化フレームに限定できるため、復号量が低減化できる。
また、H.264 MVCは、再符号化、復号することなく、ベースビューの再生を行うことを可能としている。したがって、フルHD H.264 AVCとして、既存の復号装置で再生することが可能である。
なお、本実施の形態で説明した符号化方法、復号方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。符号化プログラム、復号プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また符号化プログラム、復号プログラムは、インターネット等のネットワークを介して配布してもよい。
また、本実施の形態で説明した画像処理部310、MVC符号化復号処理部311は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。画像処理部407、MVC復号処理部408も同様である。一例として、たとえば、上述した抽出部504をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、画像処理部310を製造することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)一連の画像のいずれかの画像から、第1の領域内の画像と前記第1の領域に隣接する第2の領域内の画像とを抽出する抽出部と、
前記第1の領域内の画像を前記第1の領域に対する符号化フレームに符号化する第1の符号化部と、
前記第1の符号化部が前記いずれかの画像を符号化する場合、前記いずれかの画像の前の画像の前記第1の領域に対する符号化フレームのダミーフレームを、前記前の画像のうち前記第1の領域内の画像に基づいて、自符号化フレームで再生可能な特定の符号化フレームの出現間隔に含まれるフレーム数以下分生成する生成部と、
前記生成部によって生成数分生成されたダミーフレームを、前記前の画像の前記第1の領域に対する符号化フレームの次の符号化フレームに設定する設定部と、
前記いずれかの画像の前記第1の領域に対する符号化フレームに先行する先行符号化フレーム群のうち前記いずれかの画像の前記第1の領域に対する符号化フレームから前記ダミーフレームの前記生成数分先行する先行符号化フレームによる画像と、前記いずれかの画像の前記第2の領域内の画像と、に基づいて、前記いずれかの画像の第2の領域内の画像を前記いずれかの画像の前記第2の領域に対する符号化フレームに符号化する第2の符号化部と、
前記生成数分生成された前記ダミーフレームと前記ダミーフレームの生成数および設定位置を示す情報とを出力する出力部と、
を有することを特徴とする符号化装置。
(付記2)前記生成部は、
前記ダミーフレームを、前記第1の符号化部が符号化する符号化フレーム群のうち複数の参照先を有する符号化フレームが連続して存在する数より1多い数分、生成することを特徴とする付記1に記載の符号化装置。
(付記3)前記第2の符号化部は、
前記ダミーフレームが設定済の場合、前記いずれかの画像の前記第1の領域に対する符号化フレームに先行する先行符号化フレーム群のうち当該符号化フレームから前記ダミーフレームの前記生成数分先行する先行符号化フレームによる画像と、前記いずれかの画像の前記第2の領域内の画像と、に基づいて、前記いずれかの画像の第2の領域内の画像を前記いずれかの画像の前記第2の領域に対する符号化フレームに符号化することを特徴とする付記1または2に記載の符号化装置。
(付記4)前記生成部は、
前記第2の符号化部が前記いずれかの画像を符号化する場合、前記いずれかの画像の前の画像の前記第2の領域に対する符号化フレームのダミーフレームを、前記前の画像のうち前記第2の領域内の画像に基づいて、自符号化フレームで再生可能な特定の符号化フレームの出現間隔に含まれるフレーム数以下分生成し、
前記設定部は、
前記生成部によって生成数分生成されたダミーフレームを、前記前の画像の前記第2の領域に対する符号化フレームの次の符号化フレームに設定し、
前記第2の符号化部は、
前記いずれかの画像の前記第1の領域に対する符号化フレームに後続する後続符号化フレーム群のうち前記いずれかの画像の前記第1の領域に対する符号化フレームから前記ダミーフレームの生成数分後続する後続符号化フレームによる画像と、前記いずれかの画像の前記第2の領域内の画像と、に基づいて、前記いずれかの画像の第2の領域内の画像を前記いずれかの画像の前記第2の領域に対する符号化フレームに符号化し、
前記出力部は、
さらに、前記生成数分生成された前記ダミーフレームと前記ダミーフレームの生成数および設定位置を示す情報とを出力することを特徴とする付記1に記載の符号化装置。
(付記5)前記一連の画像を受け付けたときの自装置の角度に関する情報を取得する取得部と、
前記取得部によって取得された前記自装置の角度に関する情報に応じて、前記第1および第2の領域の位置情報を決定する決定部と、を有し、
前記抽出部は、
前記いずれかの画像から、前記位置情報に従った前記第1の領域内の画像と前記位置情報に従った前記第2の領域内の画像とを抽出することを特徴とする付記1〜4のいずれか一つに記載の符号化装置。
(付記6)前記出力部は、
前記自装置の角度に関する情報を出力することを特徴とする付記5に記載の符号化装置。
(付記7)一連の画像のうち第1の領域内の一連の部分画像に対する一連の符号化フレームと、前記一連の画像のうち前記第1の領域に隣接する第2の領域内の一連の部分画像に対する一連の符号化フレームと、前記第1または第2の領域内の一連の部分画像に対する一連の符号化フレームの少なくともいずれか一方に付与された前記いずれか一方に対応する識別情報と、前記第1または第2の領域内の一連の部分画像に対する一連の符号化フレームのうち出力対象でない符号化フレームの数および位置を示す情報と、を受け付ける受付部と、
前記第1および第2の領域内の一連の部分画像に対する一連の符号化フレームから、前記識別情報に基づいて、前記第1の領域内の一連の部分画像に対する一連の符号化フレームを選択する選択部と、
前記選択部によって選択された一連の符号化フレームを一連の部分画像に復号する復号部と、
前記復号部によって復号された前記一連の部分画像のうち、前記出力対象でない符号化フレームの数および位置を示す情報に基づいて、前記出力対象でない符号化フレームに対応する部分画像以外の他の部分画像を出力する出力部と、
を有することを特徴とする復号装置。
(付記8)一連の画像のうち第1の領域内の一連の部分画像に対する一連の符号化フレームと、前記一連の画像のうち前記第1の領域に隣接する第2の領域内の一連の部分画像に対する一連の符号化フレームと、前記第1または第2の領域内の一連の部分画像に対する一連の符号化フレームの少なくともいずれか一方に付与された前記いずれか一方に対応する識別情報と、を受け付ける受付部と、
前記第1の領域と前記第2の領域とを結合した領域から表示領域を指定する指定部と、
前記第1および第2の領域内の一連の部分画像に対する一連の符号化フレームから、前記識別情報に基づいて、前記第1の領域内の一連の部分画像に対する一連の符号化フレームを選択する選択部と、
前記選択部によって選択された前記第1の領域内の一連の部分画像に対する一連の符号化フレームを前記第1の領域内の一連の部分画像に復号するとともに、前記指定部によって前記表示領域が指定された場合、前記第2の領域内の一連の部分画像に対する一連の符号化フレームを前記第2の領域内の一連の部分画像に復号する復号部と、
前記第1の領域内の一連の部分画像から前記表示領域内の第1の画像列を抽出するとともに、前記第2の領域内の一連の部分画像から前記表示領域内の第2の画像列を抽出する抽出部と、
前記抽出部によって抽出された前記第1の画像列の各画像と、前記第2の画像列の各画像とを、前記一連の画像内の同一画像どうしで結合する結合部と、
前記結合部の結合により得られた前記表示領域の画像列を出力する出力部と、
を有することを特徴とする復号装置。
(付記9)前記受付部は、
前記一連の画像を受け付けた装置が前記一連の画像を受け付けたときの前記装置の角度に関する情報を受け付け、
前記表示領域を前記角度に関する情報に応じて変換する変換部を有し、
前記抽出部は、
前記第1の領域内の一連の部分画像から前記変換部による変換後の表示領域内の第1の画像列を抽出するとともに、前記第2の領域内の一連の部分画像から前記変換後の表示領域内の第2の画像列を抽出し、
前記出力部は、
前記結合部の結合により得られた前記変換後の表示領域の画像列を出力することを特徴とする付記8に記載の復号装置。
(付記10)一連の画像を符号化する符号化装置と符号化された前記一連の画像を復号する復号装置とを有する動画像処理システムであって、
前記符号化装置は、
前記一連の画像のいずれかの画像から、第1の領域内の画像と前記第1の領域に隣接する第2の領域内の画像とを抽出する抽出部と、
前記第1の領域内の画像を前記第1の領域に対する符号化フレームに符号化する第1の符号化部と、
前記第1の領域に対する符号化フレームを復号し、当該復号した復号画像と前記第2の領域内の画像とに基づいて、前記第2の領域内の画像を前記第2の領域に対する符号化フレームに符号化する第2の符号化部と、
前記第1または第2の領域の少なくともいずれか一方を示す識別情報を対応する符号化フレームに付与して、前記第1および第2の領域に対する各符号化フレームを、前記復号装置に出力する第1の出力部と、を有し、
前記復号装置は、
前記識別情報が付与された前記第1および第2の領域に対する各符号化フレームを受け付ける受付部と、
前記第1および第2の領域に対する各符号化フレームから、前記識別情報に基づいて、前記第1の領域に対する符号化フレームを選択する選択部と、
前記選択部によって選択された前記第1の領域に対する符号化フレームを復号画像に復号する復号部と、
前記復号部によって復号された復号画像を出力する第2の出力部と、
を有することを特徴とする動画像処理システム。
(付記11)コンピュータが、
一連の画像を記憶する記憶部を参照して、前記一連の画像のうちいずれかの画像から、第1の領域内の画像と前記第1の領域に隣接する第2の領域内の画像とを抽出し、
前記第1の領域内の画像を前記第1の領域に対する符号化フレームに符号化し、
前記いずれかの画像を符号化する場合、前記いずれかの画像の前の画像の前記第1の領域に対する符号化フレームのダミーフレームを、前記前の画像のうち前記第1の領域内の画像に基づいて、自符号化フレームで再生可能な特定の符号化フレームの出現間隔に含まれるフレーム数以下分生成し、
生成数分生成されたダミーフレームを、前記前の画像の前記第1の領域に対する符号化フレームの次の符号化フレームに設定し、
前記いずれかの画像の前記第1の領域に対する符号化フレームに先行する先行符号化フレーム群のうち前記いずれかの画像の前記第1の領域に対する符号化フレームから前記ダミーフレームの前記生成数分先行する先行符号化フレームによる画像と、前記いずれかの画像の前記第2の領域内の画像と、に基づいて、前記いずれかの画像の第2の領域内の画像を前記いずれかの画像の前記第2の領域に対する符号化フレームに符号化し、
前記第1および第2の領域に対する各符号化フレームと前記生成数分生成された前記ダミーフレームと前記ダミーフレームの生成数および設定位置を示す情報とを出力する、
処理を実行することを特徴とする符号化方法。
(付記12)コンピュータが、
一連の画像のうち第1の領域内の一連の部分画像に対する一連の符号化フレームと、前記一連の画像のうち前記第1の領域に隣接する第2の領域内の一連の部分画像に対する一連の符号化フレームと、前記第1または第2の領域内の一連の部分画像に対する一連の符号化フレームの少なくともいずれか一方に付与された前記いずれか一方に対応する識別情報と、前記第1または第2の領域内の一連の部分画像に対する一連の符号化フレームのうち出力対象でない符号化フレームの数および位置を示す情報と、を受け付け、
前記第1および第2の領域内の一連の部分画像に対する一連の符号化フレームから、前記識別情報に基づいて、前記第1の領域内の一連の部分画像に対する一連の符号化フレームを選択し、
選択された一連の符号化フレームを一連の部分画像に復号し、
復号された前記一連の部分画像のうち、前記出力対象でない符号化フレームの数および位置を示す情報に基づいて、前記出力対象でない符号化フレームに対応する部分画像以外の他の部分画像を出力する、
処理を実行することを特徴とする復号方法。
(付記13)コンピュータが、
一連の画像のうち第1の領域内の一連の部分画像に対する一連の符号化フレームと、前記一連の画像のうち前記第1の領域に隣接する第2の領域内の一連の部分画像に対する一連の符号化フレームと、前記第1または第2の領域内の一連の部分画像に対する一連の符号化フレームの少なくともいずれか一方に付与された前記いずれか一方に対応する識別情報と、を受け付け、
前記第1の領域と前記第2の領域とを結合した領域から表示領域を指定し、
前記第1および第2の領域内の一連の部分画像に対する一連の符号化フレームから、前記識別情報に基づいて、前記第1の領域内の一連の部分画像に対する一連の符号化フレームを選択し、
選択された前記第1の領域内の一連の部分画像に対する一連の符号化フレームを前記第1の領域内の一連の部分画像に復号するとともに、前記表示領域が指定された場合、前記第2の領域内の一連の部分画像に対する一連の符号化フレームを前記第2の領域内の一連の部分画像に復号し、
前記第1の領域内の一連の部分画像から前記表示領域内の第1の画像列を抽出するとともに、前記第2の領域内の一連の部分画像から前記表示領域内の第2の画像列を抽出し、
抽出された前記第1の画像列の各画像と、前記第2の画像列の各画像とを、前記一連の画像内の同一画像どうしで結合し、
結合により得られた前記表示領域の画像列を出力する、
処理を実行することを特徴とする復号方法。
(付記14)コンピュータに、
一連の画像を記憶する記憶部を参照して、前記一連の画像のうちいずれかの画像から、第1の領域内の画像と前記第1の領域に隣接する第2の領域内の画像とを抽出し、
前記第1の領域内の画像を前記第1の領域に対する符号化フレームに符号化し、
前記いずれかの画像を符号化する場合、前記いずれかの画像の前の画像の前記第1の領域に対する符号化フレームのダミーフレームを、前記前の画像のうち前記第1の領域内の画像に基づいて、自符号化フレームで再生可能な特定の符号化フレームの出現間隔に含まれるフレーム数以下分生成し、
生成数分生成されたダミーフレームを、前記前の画像の前記第1の領域に対する符号化フレームの次の符号化フレームに設定し、
前記いずれかの画像の前記第1の領域に対する符号化フレームに先行する先行符号化フレーム群のうち前記いずれかの画像の前記第1の領域に対する符号化フレームから前記ダミーフレームの前記生成数分先行する先行符号化フレームによる画像と、前記いずれかの画像の前記第2の領域内の画像と、に基づいて、前記いずれかの画像の第2の領域内の画像を前記いずれかの画像の前記第2の領域に対する符号化フレームに符号化し、
前記第1および第2の領域に対する各符号化フレームと前記生成数分生成された前記ダミーフレームと前記ダミーフレームの生成数および設定位置を示す情報とを出力する、
処理を実行させることを特徴とする符号化プログラム。
(付記15)コンピュータに、
一連の画像のうち第1の領域内の一連の部分画像に対する一連の符号化フレームと、前記一連の画像のうち前記第1の領域に隣接する第2の領域内の一連の部分画像に対する一連の符号化フレームと、前記第1または第2の領域内の一連の部分画像に対する一連の符号化フレームの少なくともいずれか一方に付与された前記いずれか一方に対応する識別情報と、前記第1または第2の領域内の一連の部分画像に対する一連の符号化フレームのうち出力対象でない符号化フレームの数および位置を示す情報と、を受け付け、
前記第1および第2の領域内の一連の部分画像に対する一連の符号化フレームから、前記識別情報に基づいて、前記第1の領域内の一連の部分画像に対する一連の符号化フレームを選択し、
選択された一連の符号化フレームを一連の部分画像に復号し、
復号された前記一連の部分画像のうち、前記出力対象でない符号化フレームの数および位置を示す情報に基づいて、前記出力対象でない符号化フレームに対応する部分画像以外の他の部分画像を出力する、
処理を実行させることを特徴とする復号プログラム。
(付記16)コンピュータに、
一連の画像のうち第1の領域内の一連の部分画像に対する一連の符号化フレームと、前記一連の画像のうち前記第1の領域に隣接する第2の領域内の一連の部分画像に対する一連の符号化フレームと、前記第1または第2の領域内の一連の部分画像に対する一連の符号化フレームの少なくともいずれか一方に付与された前記いずれか一方に対応する識別情報と、を受け付け、
前記第1の領域と前記第2の領域とを結合した領域から表示領域を指定し、
前記第1および第2の領域内の一連の部分画像に対する一連の符号化フレームから、前記識別情報に基づいて、前記第1の領域内の一連の部分画像に対する一連の符号化フレームを選択し、
選択された前記第1の領域内の一連の部分画像に対する一連の符号化フレームを前記第1の領域内の一連の部分画像に復号するとともに、前記表示領域が指定された場合、前記第2の領域内の一連の部分画像に対する一連の符号化フレームを前記第2の領域内の一連の部分画像に復号し、
前記第1の領域内の一連の部分画像から前記表示領域内の第1の画像列を抽出するとともに、前記第2の領域内の一連の部分画像から前記表示領域内の第2の画像列を抽出し、
抽出された前記第1の画像列の各画像と、前記第2の画像列の各画像とを、前記一連の画像内の同一画像どうしで結合し、
結合により得られた前記表示領域の画像列を出力する、
処理を実行させることを特徴とする復号プログラム。