(57)【特許請求の範囲】
【請求項１】
被写体と撮像装置の位置関係を連続的に変化させながら撮影した複数フレームからなる画像を符号化して符号化画像を作成する画像処理装置であって、
前記複数フレームを、フレーム内符号化を行う第一のフレームと、フレーム間予測符号化を行う第二のフレームに分類する分類手段と、
前記第一のフレームについて、フレーム内符号化を行うフレーム内符号化手段と、
前記第二のフレームについて、前記符号化画像を順方向に再生する際のフレーム並びにおけるフレーム間予測符号化である第一のフレーム間予測符号化を行う第一のフレーム間予測符号化手段と、
前記第二のフレームについて、前記符号化画像を前記順方向とは逆方向に再生する際のフレーム並びにおけるフレーム間予測符号化である第二のフレーム間予測符号化を行う第二のフレーム間予測符号化手段と、
前記フレーム内符号化された第一のフレーム、前記第一のフレーム間予測符号化された第二のフレームおよび前記第二のフレーム間予測符号化された第二のフレームを符号化単位として、前記符号化画像を作成する作成手段とを有し、
前記第一および第二のフレーム間予測符号化手段は、同一のフレームに対する互いの復号結果が同一または無視できる程度に誤差が小さくなるような符号化データを生成することを特徴とする画像処理装置。
【請求項２】
前記第一および第二のフレーム間予測符号化手段はフレーム間の差分を可逆符号化することを特徴とする請求項1に記載された画像処理装置。
【請求項３】
前記第一および第二のフレーム間予測符号化手段のうち一方は、前方向予測されたフレームのみを符号化することを特徴とする請求項2に記載された画像処理装置。
【請求項４】
前記分類手段は、前記第二のフレームをさらに、当該フレームより前に再生される参照フレームとの相関を利用した予測により符号化する前方向予測フレームと、当該フレームの前後に再生される参照フレームとの相関を利用した予測により符号化する両方向予測フレームに分類し、
前記第一のフレーム間予測符号化手段は、前記前方向予測フレームを符号化した符号化データと、前記両方向予測フレームを符号化した符号化データを生成し、
前記第二のフレーム間予測符号化手段は、前記前方向予測フレームを符号化した符号化データのみを生成することを特徴とする請求項1に記載された画像処理装置。
【請求項５】
さらに、前記第一および第二のフレーム間予測符号化手段による同一フレームの符号化データを再生した再生フレーム間における差分情報を生成する生成手段を有し、
前記作成手段は、前記符号化単位に前記差分情報を付加した前記符号化画像を作成することを特徴とする請求項1に記載された画像処理装置。
【請求項６】
前記分類手段は、前記第二のフレームをさらに、当該フレームより前に再生される参照フレームとの相関を利用した予測により符号化する前方向予測フレームと、当該フレームの前後に再生される参照フレームとの相関を利用した予測により符号化する両方向予測フレームに分類し、
前記第一および第二のフレーム間予測符号化手段は、前記前方向予測フレームを符号化した符号化データと、前記両方向予測フレームを符号化した符号化データを生成し、
前記生成手段は、前記前方向予測フレームについて前記差分情報を生成することを特徴とする請求項5に記載された画像処理装置。
【請求項７】
請求項5または請求項6に記載された画像処理装置によって作成された符号化画像を入力する入力手段と、
前記符号化画像の再生方向として、順方向および逆方向の何れかを指定する指定手段と、
前記符号化画像における再生フレームを前記再生方向に応じて決定する決定手段と、
該決定された前記再生フレームを、前記再生方向が順方向である場合は前記画像処理装置の第一のフレーム間予測符号化手段による符号化データを用いて復号し、前記再生方向が逆方向である場合は前記画像処理装置の第二のフレーム間予測符号化手段による符号化データを用いて復号する復号手段と、
前記再生フレームを復号する際に前記復号手段により参照された参照フレームが、前記指定された再生方向とは異なる再生方向において復号されたフレームである場合、前記再生フレームの復号結果に対して前記符号化画像に付加された差分情報の加算または減算を行う演算手段と、
前記復号手段が復号した再生フレーム、あるいは、前記差分情報の加算または減算が行われた再生フレームを表示する表示手段とを有することを特徴とする画像再生装置。
【請求項８】
前記指定手段により、さらに再生停止の指定が可能であり、
前記決定手段は、前記指定された再生方向に応じて前記再生フレームを所定のタイミングで逐次更新し、前記再生停止が指定された場合に該再生フレームの更新を停止することを特徴とする請求項7に記載された画像再生装置。
【請求項９】
被写体と撮像装置の位置関係を連続的に変化させながら撮影した複数フレームからなる画像を符号化して符号化画像を作成する画像処理方法であって、
前記複数フレームを、フレーム内符号化を行う第一のフレームと、フレーム間予測符号化を行う第二のフレームに分類し、
前記第一のフレームについてフレーム内符号化を行い、
前記第二のフレームについて、前記符号化画像を順方向に再生する際のフレーム並びにおけるフレーム間予測符号化である第一のフレーム間予測符号化を行い、
前記第二のフレームについて、前記符号化画像を前記順方向とは逆方向に再生する際のフレーム並びにおけるフレーム間予測符号化である第二のフレーム間予測符号化を行い、
前記フレーム内符号化された第一のフレーム、前記第一のフレーム間予測符号化された第二のフレームおよび前記第二のフレーム間予測符号化された第二のフレームを符号化単位として、前記符号化画像を作成し、
前記第一および第二のフレーム間予測符号化は、同一のフレームに対する互いの復号結果が同一または無視できる程度に誤差が小さくなるような符号化データを生成することを特徴とする画像処理方法。
【請求項１０】
コンピュータ装置を、請求項1から請求項6の何れか一項に記載された画像処理装置の各手段、あるいは、請求項7または請求項8に記載された画像再生装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連続性を有する複数フレームからなる画像の符号化に関する。
【背景技術】
【０００２】
近年、有形の文化財等を静止画像あるいは動画像としてデジタル化して保存・公開するデジタルアーカイブが盛んに行われている。特に写真・絵画・図面等の平面物として表現可能な文化財については、デジタルカメラやデジタルスキャナを使用することで非常に高精度なデジタルデータの作成が可能となっている。
【０００３】
一方、立体物や、薄膜干渉や構造色を含むなど平面であっても観察方向や光源方向によって見え方が変化するような物体についてのデジタルアーカイブを行う場合、より大量のデータを取得する必要がある。そのために、被写体を取り囲むような複数の視点位置から被写体を撮影する多視点撮影を行うことが一般的である。多視点撮影の手法としては複数のカメラを用いる方法、カメラをアームやレール上に設置して移動しながら撮影する方法、被写体をターンテーブル状に設置して回転させながら連続的に撮影する方法等が知られている。また、カメラと被写体の位置関係を固定し、光源の位置や強さ、色を変化させながら連続的に撮影することも行われる。
【０００４】
このようにして連続的に撮影された画像データは、主にコンピュータ上で再生表示される。例えば多視点撮影を行ったデータであれば、ユーザーの指示に従って画面内の被写体を回転させるかのように画像を切り替え、自由な角度で観賞することが行われる。
【０００５】
このような再生表示を行う場合、コンピュータ上に大量の画像データを取り込む必要があるため、画像データは圧縮符号化されていることが望ましい。同一被写体に対して連続的に撮影された画像は前後の画像と強い相関を持つ可能性が高い。そのため、H.264等の動画像の符号化に用いられているフレーム間予測符号化技術を用いることで、高い圧縮率が実現できる。
【０００６】
ここで、一般的なフレーム間予測符号化技術について説明する。フレーム間予測符号化とは、主に動画像において、着目するフレームと異なるフレーム（以下、参照フレーム）に基づいて予測画像を生成し、入力画像と予測画像の差分を符号化する方法である。一般にフレーム間予測符号化技術においては、符号化対象となる各フレームを、その符号化方法によってIフレーム、Pフレーム、Bフレームの3種類に分類する。Iフレームはフレーム間予測を用いずに符号化(以下、フレーム内符号化)されるフレームであり、他のフレームに依存せずに復号することができる。Pフレームは時間的に前のフレームを参照フレームとして使用する。Bフレームは時間的に前にあるフレームか後にあるフレーム、あるいはその双方を参照フレームとして使用する。PフレームおよびBフレームでは、入力画像と予測画像の差分だけを符号化すれば良いため、Iフレームと比較して高い圧縮率を達成することが可能である。ただし、PフレームおよびBフレームを復号する場合、その参照フレームが既に復号されている必要がある。従って、画像の復号はいずれかのIフレームから開始する必要がある。Iフレームから次のIフレームの手前のフレームまでをGOP(Group Of Pictures)と呼び、符号化あるいは復号の際の処理単位となる。
【０００７】
図１７は、フレーム間予測符号化技術によって符号化された動画像の構成例を示した図であり、矩形は動画像内の各フレームを表している。各フレーム内のアルファベットは符号化方法を、数字は再生順序を示している。また矢印はフレームの参照関係を示している。例えば、I0は最初に復号され表示されるIフレームを示している。またI0を参照フレームとしてP2が復号され、I0とP2を参照フレームとしてB1が復号される。I0からB15までのフレームで１つのGOPを構成し、I16と、図示されていない次のIフレームの手前までの各フレームが、次のGOPを構成する。
【０００８】
また、フレーム間予測と関連の深い技術として、動き補償と呼ばれる技術がある。これは、フレーム間予測において予測画像を生成する際、参照フレームをいくつかのブロックに分け、それぞれをある量移動させたフレーム画像を使用する技術である。この各ブロックの移動量を動きベクトルと呼び、符号化の際にはこの動きベクトルも同時に符号化する。
【０００９】
一般的な動画の符号化に用いられるフレーム間予測技術および動き補償技術は、高圧縮率を達成するために、時系列正方向への一定速度での再生に特化している。一方、多視点画像をコンピュータ上で再生表示する場合、ユーザーが被写体の画像を任意の方向に任意の速度で連続表示できることが望ましい。こうした表示は、動画像においては逆再生やスロー再生・高速再生といった特殊再生に相当する。
【００１０】
一般的なフレーム間予測で圧縮符号化された動画像データから逆再生を実現する方法としては、再生するGOP内の全てのフレームを一括して復号してメモリ上に保持し、所望の再生順序に従って再生する方法が知られている。また、ユーザーから高速再生や逆再生の指示があった場合に、原動画データから用途に応じたビットストリームを圧縮符号化により生成する手法が提案されている（例えば、特許文献１参照）。また、逆再生時にはIフレームのみを使用することによって、逆再生時の負荷を低減する手法も提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平10-032787号公報
【特許文献２】特開2004-289629号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記従来の圧縮符号化方式では、高圧縮率かつ高画質、再生機器への負荷の低減を実現しつつ、順方向および逆方向による両方向での連続画像再生を行うことは困難であった。
【００１３】
例えば、再生するGOP内の全てのフレームを一括して復号する手法では、GOP内の全フレームを復号された状態で保持するためのメモリ領域と、適切な再生速度を保ってGOP内の全フレームを一括して復号するに足る演算速度が必要となる。また、上記特許文献１に記載の技術では、ユーザーが逆再生を指示した際に新たに逆再生用のビットストリームの生成を開始するため、再生中に自在に再生方向を反転させることは困難である。また、上記特許文献２に記載の技術では、再生中にユーザーが再生方向を自在に切り替えることが可能であるが、逆方向再生時にはIフレームのみを復号するため、画質が大きく劣化してしまう。
【００１４】
本発明は上述した問題を鑑みてなされたものであり、連続性を有する複数フレームからなる画像について、高圧縮率な符号化、および高画質かつスムーズな両方向再生を可能とする符号化技術を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するための一手段として、本発明の画像処理装置は以下の構成を備える。
【００１６】
本発明は、被写体と撮像装置の位置関係を連続的に変化させながら撮影した複数フレームからなる画像を符号化して符号化画像を作成する際に、前記複数フレームを、フレーム内符号化を行う第一のフレームと、フレーム間予測符号化を行う第二のフレームに分類し、前記第一のフレームについて、フレーム内符号化を行い、前記第二のフレームについて、前記符号化画像を順方向に再生する際のフレーム並びにおけるフレーム間予測符号化である第一のフレーム間予測符号化を行い、前記第二のフレームについて、前記符号化画像を前記順方向とは逆方向に再生する際のフレーム並びにおけるフレーム間予測符号化である第二のフレーム間予測符号化を行い、前記フレーム内符号化された第一のフレーム、前記第一のフレーム間予測符号化された第二のフレームおよび前記第二のフレーム間予測符号化された第二のフレームを符号化単位として、前記符号化画像を作成し、前記第一および第二のフレーム間予測符号化は、同一のフレームに対する互いの復号結果が同一または無視できる程度に誤差が小さくなるような符号化データを生成することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、連続性を有する複数フレームからなる画像について、高圧縮率な符号化、および高画質かつスムーズな両方向再生を可能とする符号化技術を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】第１実施形態における画像処理装置の構成例を示すブロック図、
【図２】第１実施形態における画像符号化アプリケーションの論理構成例を示すブロック図、
【図３】第１実施形態における画像符号化部の論理構成例を示すブロック図、
【図４】第１実施形態における原画像の撮影方法を示す模式図、
【図５】第１実施形態における符号化処理を示すフローチャート、
【図６】第１実施形態における各フレームの分類と参照関係の一例を示す図、
【図７】第１実施形態におけるフレーム間予測符号化処理を示すフローチャート、
【図８】第１実施形態における画像再生アプリケーションの論理構成例を示すブロック図、
【図９】第１実施形態における画像再生用のGUI例を示す図、
【図１０】第１実施形態における画像再生処理を示すフローチャート、
【図１１】第２実施形態における画像符号化アプリケーションの論理構成例を示すブロック図、
【図１２】第２実施形態における方向転換用情報付加部の論理構成例を示すブロック図、
【図１３】第２実施形態における各フレームの分類と参照関係の一例を示す図、
【図１４】第２実施形態における符号化処理を示すフローチャート、
【図１５】第２実施形態における画像再生アプリケーションの論理構成例を示すブロック図、
【図１６】第２実施形態における画像再生処理を示すフローチャート、
【図１７】一般的なフレーム間予測技術を用いた動画の符号化方法を説明するための図、である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態を図面を参照して詳細に説明する。尚、以下の実施の形態は本発明の特許請求の範囲を限定するものではなく、また以下の実施の形態で説明されている特徴の組み合わせの全てが本発明を構成する上で必須のものとは限らない。
【００２０】
＜第１実施形態＞
●画像処理装置
まず本実施形態における、連続した複数フレームからなる画像の符号化および復号を行う画像処理装置の構成について、図１〜図４を用いて説明する。
【００２１】
図１は、本実施形態における画像処理装置のハードウェア構成例を示すブロック図である。同図において、102〜107は画像処理装置101の構成要素である。102はメインバス、103はUI部、104はCPU、105はメインメモリ、106はHDDやSSD等のデータ保存部である。また107は、外部デバイス108やネットワーク等に接続可能なUSBやWi-Fi等の通信部、である。
【００２２】
本実施形態における符号化処理は、上記構成において汎用OS上で動作するアプリケーションとして実現される。尚、本実施形態における汎用OS並びにアプリケーションは、周知の技術によって作成されるソフトウェアプログラムによって実現可能である。よって、アプリケーションが汎用OS上で動作する詳細については、説明を省略する。
【００２３】
以下、本実施形態における画像処理装置の動作について説明する。まず、データ保存部106に格納されているアプリケーションがCPU104からの指令により起動され、メインメモリ105に展開される。続いて、アプリケーション内の処理に従って、データ保存部106に格納されている原画像の各フレームのデータが、バス102経由でメインメモリ105に転送される。その後、アプリケーションによって符号化された各フレームのデータがメインメモリ105に生成され、バス102経由でデータ保存部106に格納される。ユーザーはUI部103を介してアプリケーションからの情報を随時取得し、またアプリケーションに対し指示を行う。
【００２４】
符号化処理の対象となる原画像データは、事前に外部デバイス108等から通信部107を介してデータ保存部106に格納することができる。また、アプリケーションによって生成され、データ保存部106に格納された符号化済みの画像データを、通信部107を介して外部デバイス108に取り出すことも可能である。
【００２５】
図２は、本実施形態における画像処理装置の論理構成を示すブロック図である。同図において201は、本実施形態における画像符号化処理を実施する画像符号化アプリケーションである。画像符号化アプリケーション201は、画像符号化部202からなる。
【００２６】
図３は、画像符号化部202における論理構成の詳細を示すブロック図である。同図において、301はデータ保存部106から符号化されていない原画像データを取得する原画像取得部である。302は取得された原画像データを、符号化単位となる複数のGOPに分割するGOP決定部である。このGOPは従来のフレーム間予測符号化技術と同様に、所定の複数フレームからなる。303はGOP内の各フレームを、それぞれ符号化方法に応じて分類するフレーム分類部であり、各フレームを内部予測フレーム(I)、前方向予測フレーム(P）、両方向予測フレーム(B）のいずれかに分類する。304は後述する305〜308の各部を制御してGOP内の各フレームの符号化を行う符号化部である。305はIフレームをフレーム内で予測符号化するフレーム内符号化部である。306はPフレームおよびBフレームを、ある再生順序に従ってフレーム間予測符号化するフレーム間予測符号化部である。すなわち、Pフレームについては該フレームより前に再生される参照フレームとの相関を利用した前方向予測による符号化を行う。またBフレームについては該フレームの前後に再生される参照フレームとの相関を利用した両方向予測による符号化を行う。308はフレーム間予測符号化で用いる動きベクトルを算出する動きベクトル算出部である。309は符号化部304が符号化したフレームデータを復号するフレーム復号部である。310は全てのフレームが符号化された画像データをデータ保存部106に格納する符号化画像出力部である。
【００２７】
ここで本実施形態における原画像データとしては、静物である被写体を1度ずつ回転させながら回転軸に対し横方向から撮影した、全360フレームの画像を使用するものとする。図４は、本実施形態における原画像データの撮影方法を示した模式図である。同図において、401は被写体、402は被写体を乗せた回転台、403はデジタルカメラである。404は制御装置であり、回転台402とデジタルカメラ403を制御して、被写体401について連続撮影された360フレームの画像を自動的に取得し、保存する。すなわち、被写体と撮像装置の位置関係を連続的に変化させながら撮影を行った複数フレームを取得する。このように連続撮影された原画像データの各フレームには、最初に撮影した角度から右回りに0〜359までの通し番号が振られる。360フレームの撮影で被写体が1回転するため、359番と0番のフレームも連続性を持つ。
【００２８】
制御装置404に保存された原画像データは、制御装置404を外部デバイス108として画像処理装置101に接続することで、データ保存部106に格納することが可能である。あるいは画像処理装置101に回転台402とデジタルカメラ403を接続し、画像処理装置101上で回転台402とデジタルカメラ403を制御するアプリケーションを駆動させても良い。この場合、画像処理装置101が制御装置404を代替し、撮影された画像は直接、データ保存部106に格納される。
【００２９】
●画像符号化処理
以下、画像符号化アプリケーション201によって実施される画像符号化処理について、図５のフローチャートを用いて詳細に説明する。
【００３０】
まずS501で原画像取得部301が、符号化対象となる原画像データの情報として、全フレーム数の他、画像サイズ、保存形式等の必要な情報を取得する。次にS502でGOP決定部302が、原画像データを複数の符号化単位、すなわちGOPに分割する。本実施形態では360フレームの原画像データを24個のGOPに分割するとする。各GOPは16フレームからなり、GOPの両端のフレームは隣接したGOPと共有される。すなわち、0番〜15番のフレームが最初のGOPを構成し、15番〜30番のフレームが次のGOPを構成する。そして最後のGOPは、345番〜359番および0番のフレームによって構成される。
【００３１】
次にS503により、S502で分割した各GOPに対して以下のS504〜S507の処理を施すためのループ制御が行われる。
【００３２】
S504でフレーム分類部303が、GOP内の各フレームをI/P/Bフレームのいずれかに分類することで、フレーム毎の符号化方法が決定される。具体的には、まずGOPの両端のフレームがIフレームに設定される。続いて残りのフレームが、画質やデータの圧縮率等の要素に応じて、Iフレーム、Pフレーム、Bフレームいずれかに設定される。ここで図６に、本実施形態の最初のGOPを構成する各フレームの分類と、符号化時におけるフレーム間の参照関係の一例を示す。同図における矩形は画像内の各フレームを表しており、各フレーム内のアルファベット(I/P/B)フレーム種別すなわち符号化方法を示し、数字はフレームの番号を示している。また矢印はフレームの参照関係を示している。本実施形態では図６に示すように、GOPの両端のフレームをIフレームに設定し、残りのフレームのうち偶数番のフレームをPフレーム、奇数番のフレームをBフレームに設定する。また上段の矢印は、後述するS506で右回り符号化される、PフレームおよびBフレームの参照関係を示している。また図６の下段の矢印は、後述するS507で左回り符号化される、Pフレームの参照関係を示している。
【００３３】
次にS505でフレーム内符号化部305が、既知のフレーム内符号化アルゴリズムを用いて、GOP内の各Iフレームの符号化を行う。本発明を構成する上で、使用するフレーム内符号化アルゴリズムには特に制限はなく、非可逆な圧縮を施すものであってもよいし、可逆な圧縮を施すものであってもよい。あるいは圧縮を行わなくてもよい。その後、S506でフレーム間予測符号化部306が、画像を右回り方向（順方向）に再生するためのPフレームおよびBフレームの符号化処理（第１のフレーム間予測符号化）を行う。またS507でフレーム間予測符号化部306が、画像を左回り方向（逆方向）に再生するためのPフレームの符号化処理（第２のフレーム間予測符号化）を行う。
【００３４】
本実施形態では、あるPフレームに対し、それぞれ異なる参照フレームを用いた複数通りの符号化を行った場合、それらの復号結果が同一となるか、無視できる程度に誤差が小さくなるような符号化アルゴリズムを使用する。例えば、入力画像と予測画像の差分を可逆符号化するようなアルゴリズムであれば、同一のPフレームについてその再生方向によらず復号結果が等しくなる。この場合例えば、I0フレームを参照フレームとして符号化されたP2フレームの復号結果と、P4フレームを参照フレームとして符号化されたP2フレームの復号結果は同一とみなすことができる。したがって、各Bフレームの符号化を行う際の参照フレームとなるIフレームおよびPフレームの復号結果は、その再生方向によらず一定であるため、Bフレームの符号化結果も再生方向によらず一定となる。そこで本実施形態では、S507ではPフレームの符号化のみを行うとし、IフレームおよびBフレームについては、左回り再生時にもS506で生成した右回り用の符号化データを使用するように設定する。なお、S506およびS507におけるフレーム間予測符号化処理の詳細については後述する。
【００３５】
S505におけるフレーム内符号化処理、S506およびS507におけるフレーム間予測符号化処理によってそれぞれ作成された各フレームの符号化データを組とすることで、当該GOPについての符号化データが完成する。すなわち、Pフレームについての右回り再生用の符号化データと左回り再生用の符号化データとをマージして、GOPを構成する必要がある。例えば、Pフレームについての左回り再生用の符号化データを、右回り再生用の符号化データに連続するようにマージすれば良い。
【００３６】
なお、S507で作成された左回り再生用Pフレームの符号化データが、S506で作成された右回り再生用Pフレームと関連付けられていれば、GOPは上記構成に限定されない。例えば、右回り再生用の符号化データのみでGOPを構成し、左回り再生用の符号化データについては、右回り再生用の符号化データと関連付けられた別のデータファイルとして保存されていても良い。
【００３７】
上記S504〜S507による符号化処理が全てのGOPに対して施されると、S503のループ制御が終了する。そしてS508で符号化画像出力部310が、生成された各GOPの符号化データを符号化画像として集積し、データ保存部106に格納する。
【００３８】
●フレーム間予測符号化
以下、上記S506およびS507におけるフレーム間予測符号化処理について、図７のフローチャートを用いて詳細に説明する。図７は、ある再生方向についてのGOP内フレームの予測符号化処理を示している。すなわち上記S506では右回り方向（順方向）について図７のフローチャートに示す処理が実行され、その後S507において左回り方向（逆方向）について同処理が実行される。したがって、あるGOPにおいて、まずその順方向についてI,B,Pフレームからなる符号化データが作成され、次に逆方向についてPフレームのみからなる符号化データが作成される。
【００３９】
まずS701により、GOP内の各フレームに対して以下のS702〜S708の処理を施すためのループ制御が行われる。このとき、フレームの処理順序は特に限定されないが、計算負荷の観点から、S506では右回り順、S507では左回りの順にフレームを処理することが望ましい。あるいはPフレームを先に符号化し、その後にBフレームの符号化を実行しても良い。
【００４０】
S702では、処理対象のフレームが既に符号化されているか否かの判定を行う。処理対象フレームが符号化済みである場合にはS701へ戻って次のフレームの処理を行うが、まだ符号化されていない場合にはS703へ進む。ここで、処理対象フレームが符号化済となる例としては、処理対象フレームがIフレームであり、S505あるいは他のGOPにおいて既に符号化されている場合がある。また、他のフレームの符号化を行う際に、その参照画像として後述するS705において符号化されている場合もある。さらに、このフローチャートがS507における処理である場合には、Bフレームについては符号化済であるものと判定する。これは上述したように、本実施形態では左回り再生時に、S506で生成した右回り用の符号化Bフレームデータを使用するためである。
【００４１】
次にS703では、処理対象のフレームを符号化するために使用される全ての参照フレームに対してS704〜S706の処理を施すためのループ制御が行われる。なお、各フレームに対応する参照フレームの設定（フレーム参照関係）は、フレーム間予測符号化部306に予め保持されているものとする。
【００４２】
S704では、参照フレームが既に符号化されているか否かの判定を行う。参照フレームが符号化されていない場合にはS705に進んで参照フレームの符号化を行う。ここでは参照フレームを処理対象フレームとして、S703〜S708の処理を再帰的に実行する。一方、S704で参照フレームが符号化済みの場合はS706へ進み、フレーム間予測符号化部306がフレーム復号部309を駆動し、参照フレームの符号化データを復号する。この復号処理には、従来のフレーム間予測符号化技術において用いられる復号処理が適用可能であるため、ここでは詳細な説明を省略する。
【００４３】
上記S704〜S706による復号処理が全ての参照フレームに対して施されると、S703のループ制御が終了する。そしてS707でフレーム間予測符号化部306が動きベクトル算出部308を駆動して、動きベクトルの生成を行う。この動きベクトルの生成処理としては周知の動き補償技術が適用可能であるため、ここでは詳細な説明を省略する。
【００４４】
次にS708で、処理対象フレームの符号化データを生成する。詳細には、S706で生成した参照フレームの復号データとS707で生成した動きベクトルから予測フレーム画像データを生成し、処理対象フレームの原画像データと予測フレーム画像データとの差分を符号化する。該符号化された差分データと動きベクトルデータとの組が、処理対象フレーム（B,Pフレーム）の符号化データとなる。
【００４５】
本実施形態では以上説明したように、画像再生方向を考慮したフレーム間予測符号化を行う。なお、以上説明した処理により生成された画像の符号化データもまた、本発明を構成する。
【００４６】
●画像再生装置
以下、上述したフレーム間予測符号化処理によって符号化された画像データの再生処理について説明する。
【００４７】
本実施形態における画像再生処理は、上述した図１に示す画像処理装置の構成において、汎用OS上で動作する画像再生アプリケーションとして実現される。
【００４８】
図８は、本実施形態における画像再生アプリケーション1001の論理構成例を示すブロック図である。1002は、sRGB表示が可能なディスプレイデバイスであり、外部デバイス108としてハードウェアに接続されている
1003〜1005は、画像再生アプリケーション1001の構成要素である。1003はデータ保存部106から符号化済みの画像のフレームデータを取得するフレームデータ取得部である。1004はフレームデータ取得部1003が取得したフレームデータを復号するフレーム復号部であり、実質的に上記図３に示すフレーム復号部309と同様の機能を実現する。1005は画像表示部であり、UI部103の指示に従い、アプリケーションのGUIや復号済フレームを外部モニタ1002に表示する。また、フレーム復号部1004に対し復号処理の指示を行う。
【００４９】
画像再生アプリケーション1001は、メインメモリ105上に、少なくとも3フレーム分の復号済フレームを格納可能なメモリ領域を確保できるとする。なお、符号化データの形式が本実施形態とは異なる場合、必要なメモリ領域は増減する可能性がある。例えば符号化データがIフレームとPフレームだけで構成されている場合には、2フレーム分のメモリ領域を確保すれば動作可能である。またフレーム同士がより複雑な参照関係を持っている場合、例えば4フレーム分以上のメモリ領域が必要となる場合もある。
【００５０】
●画像再生UI
ここで、本実施形態における画像再生アプリケーション1001のUIについて、図９を用いて説明する。同図において1101は、外部モニタ1002上に表示される画像再生アプリケーション1001の描画領域である。1102は、復号されたフレームのうちの1枚が表示される画像表示領域である。1103は画像を右回りに再生する旨を指示する右回り再生ボタン、1104は画像を左回りに再生する旨を指示す左回り再生ボタンであり、再生方向指定手段として機能する。また、1105は表示中のフレームで画像を停止させる旨を指示する再生停止ボタンである。以降、1103〜1105をまとめて再生指示ボタンと称する。1106は画像再生の終了を指示する終了ボタンである。
【００５１】
●画像再生処理
以下、本実施形態の画像再生アプリケーション1001によって実施される画像再生処理について、図１０のフローチャートを用いて説明する。
【００５２】
まずS1201で画像表示部1005が、画像表示領域1102に画像中のいずれかのIフレームを、初期フレームとして表示する。本実施形態では0番のフレームを初期フレームとして表示するとする。詳細には、フレームデータ取得部1003によって0番フレームの符号化データが取得され、該取得された符号化データがフレーム復号部1004によって復号され、メインメモリ105に格納される。画像表示部1005は、メインメモリ105に格納された復号済フレームデータを画像表示領域1102に表示する。
【００５３】
そしてS1202では画像表示部1005が、次に画像表示領域1102に表示するフレーム（再生フレーム）を、最後に押下された再生指示ボタンに応じて決定する。具体的には、最後に押下された再生指示ボタンが再生停止ボタン1105であった場合、現在表示中のフレームを再生フレームとして決定する。また、右回り再生ボタン1103であれば、現在表示中のフレームに右回り方向に隣接するフレームを再生フレームとし、左回り再生ボタン1104であれば、現在表示中のフレームに左回り方向に隣接するフレームを再生フレームとする。
【００５４】
次にS1203でフレーム復号部1004が、S1202で決定された再生フレームが復号済であるか否かの判定を行う。すなわち、再生フレームの復号済フレームデータが既にメインメモリ105に格納されている場合には、復号済みであるとしてS1206へ進むが、そうでない場合はS1204へ進む。
【００５５】
S1204ではフレーム復号部1004が、メインメモリ105に格納されている復号済みフレームデータのうち、再生フレームの復号に不要なものを破棄し、再生フレームおよびその参照フレームの復号済フレームデータの格納に必要な領域を確保する。
【００５６】
例えば、図６に示すフレームの並びにおいて、I0、B1、P2が順番に再生され、3フレーム分の復号済みフレームデータがメインメモリ105に格納されている状況であるとする。このとき、B3を再生フレームとして復号する場合、B3およびその参照フレームであるP2とP4の3フレーム分の復号済フレームデータを格納する領域が必要となる。一方、I0とB1の復号済フレームデータについては不要となる。そこでフレーム復号部1004は、メインメモリ105上からI0およびB1のデータを削除して、B3およびP4の復号済フレームデータを格納する領域を確保する。
【００５７】
なお、メインメモリ105上により多くの復号済フレームデータの格納領域が確保可能である場合には、不要となったフレームの復号済フレームデータを即座に破棄する必要はない。再生後の復号済フレームデータをより多くメインメモリ105上に保持しておくことで、再生方向が変化した場合に復号済フレームデータを再利用することが可能となり、計算負荷が低減する。
【００５８】
次にS1205でフレーム復号部1004が、再生フレームの復号処理を行う。この復号処理には、従来のフレーム間予測符号化技術において用いられる復号処理を適用する。このとき、再生フレームの参照フレームが復号されていない場合には、同様の手段で先に参照フレームの復号を行い、それから再生フレームの復号を行う。なお、各フレームに対応する参照フレームの設定（フレーム参照関係）については、符号化時にフレーム間予測符号化部306において参照されたものと同様の内容が、フレーム復号部1004に予め保持されているものとする。再生フレームおよび参照フレームの復号済フレームデータはメインメモリ105に格納される。
【００５９】
S1206では画像表示部1005が、再生フレームの復号済フレームデータを画像表示領域1102に表示する。そしてS1207で画像表示部1005が、再生処理の終了判定を行う。すなわち、S1202〜S1207の処理の間に終了ボタン1106が押下されていれば一連の処理を終了し、そうではない場合にはS1202に戻って次の再生フレームを決定する。
【００６０】
上述したようにS1202〜S1207の処理を適切な速度で繰り返すことにより、再生方向を任意に切り替えつつ、画像を再生することが可能となる。すなわち、S1202で決定される再生フレームが、再生方向に応じて所定のタイミングで逐次更新され、再生停止ボタン1105が押下された時点で、再生フレームの更新が停止する。
【００６１】
以上説明したように本実施形態によれば、1つのPフレームに対し画像の再生方向に応じた2つの符号化データを生成する。これにより、再生機器（例えば外部モニタ1002）上で被写体の画像を任意の再生方向について連続的に再生することが可能となる。その際に、各フレームの符号化および復号には周知のフレーム間予測符号化技術が適用可能であるため、再生の方向に関わらず、周知の動画像符号化技術と同等の画質を実現することができる。なお、本実施形態の符号化方法によれば、従来の動画像符号化手法と比較してPフレームのデータ量が倍となるものの、IフレームおよびBフレームのデータ量については従来と同等である。従って本実施形態では、従来の動画符号化手法に近いデータの圧縮率を実現することができる。
【００６２】
また、本実施形態における符号化データを再生する場合、あるフレームの再生時に復号処理を行うフレーム数は最大で2枚となるため、復号処理にかかる計算負荷についても、従来の動画像符号化技術と同等程度に抑えることが可能である。また再生機器においては、復号済フレームデータを格納するために少なくとも3フレーム分のメモリ領域を用意すれば良く、したがって再生機器への負荷も抑制される。
【００６３】
なお、本実施形態では図４に示すように被写体401を右回り方向、すなわち水平方向に連続撮影した原画像データを符号化する例について説明したが、被写体401を垂直方向や斜め方向に連続撮影することも可能である。また、連続撮影の軌跡についても必ずしも直線とは限らず、デジタルカメラ403が曲線を描きながら連続撮影することも可能である。したがって、あるフレームについての再生方向として右回り/左回り方向のみならず。さらに複数方向が存在する場合も考えられる。同一の被写体に対して複数方向に連続撮影を行う場合、１回の連続撮影単位で、その順方向および逆方向での両方向再生を可能とするように、符号化画像を作成しておけば良い。その再生時には、例えば図９に示す画像再生UIにおいて再生指示ボタンによって指定可能な方向を増やす必要があるが、指示された再生方向に応じて再生フレームを設定、復号することは本実施形態と同様の方法で実現可能である。
【００６４】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。上述した第１実施形態では、あるPフレームに対してそれぞれが異なる参照フレームを用いた複数通りの符号化を行った場合に、それらの復号結果が同一とみなせるような条件で、画像の符号化処理および復号処理を行う例を示した。しかしながら、より高い圧縮率や、符号化および復号処理の計算負荷の低減を追求した場合、他の符号化アルゴリズムを採用することも考えられる。そこで第２実施形態においては、あるPフレームに対してそれぞれ異なる参照フレームを用いた複数通りの符号化を行った場合、それらの復号結果に有意差が発生するような符号化アルゴリズムを使用する例を示す。
【００６５】
●画像処理装置
以下、第２実施形態における、連続した複数フレームからなる画像の符号化および復号を行う画像処理装置の構成について説明する。第２実施形態における画像処理装置のハードウェア構成は、上述した第１実施形態において図１に示した画像処理装置101の構成と同様であるため、説明を省略する。
【００６６】
図１１は、第２実施形態における画像処理装置の論理構成を示すブロック図である。同図において1301は、第２実施形態における画像符号化処理を実施する画像符号化アプリケーションである。画像符号化アプリケーション1301は、画像符号化部202と、第２実施形態における特徴的な機能を提供する方向転換用情報付加部1302からなる。なお、画像符号化部202の論理構成は上述した第１実施形態で図３に示した構成と同様であるため、説明を省略する。
【００６７】
図１２は、方向転換用情報付加部1302における論理構成の詳細を示すブロック図である。同図において、1401はデータ保存部106から符号化画像データを取得する符号化画像取得部である。1402は右回り再生用の符号化データと左回り再生用の符号化データにおける同一フレームについて、その再生フレーム間における差分情報を、方向転換時に利用する方向転換用情報として生成する方向転換用情報生成部である。なおフレーム復号部309は上述した第１実施形態におけるフレーム復号部309,1004と同様に、符号化されたフレームデータを復号する。
【００６８】
なお、第２実施形態において符号化対象となる原画像データとしては、上述した第１実施形態と同様に、静物である被写体を1度ずつ回転させながら撮影した、全360フレームの画像であるとする。
【００６９】
●画像符号化処理
以下、第２実施形態の画像符号化アプリケーション1301によって実施される画像符号化処理について説明する。
【００７０】
ここで図１３に、第２実施形態の最初のGOPを構成する各フレームの分類と参照関係の一例を示す。同図に示すように第２実施形態においても第１実施形態と同様にI,P,Bフレームを用いたフレーム間予測符号化を行っている。しかしながら、第２実施形態におけるPフレームの復号結果は再生方向によって異なるため、左回り再生用データにおいてもBフレームの符号化を行うことを特徴とする。そこで再生方向による復号結果の差を区別するため、図１３では右回りに再生されるフレームには"-R"を、左回りに再生されるフレームには"-L"を付している。
【００７１】
なお、Bフレームの動きベクトルについては、右回り再生時と左回り再生時で共通のデータを使用しても良い。第２実施形態では再生方向により参照フレームの復号結果に差異はあるものの、それらは同一の原フレームから生成されたものであり、フレーム内の被写体の位置が変化するものではない。従って、Bフレームの動きベクトルについては再生方向によらず一定であると考えることができるため、再生方向によらず共通のデータが使用可能である。
【００７２】
また、図１３中段の点線矢印は、各Pフレームの右回り再生時の復号画像と左回り再生時の復号画像との差分情報（方向転換用情報）による作用関係を示す。第２実施形態では各Pフレームの右回り再生時に、この差分情報を復号画像に加算することで、左回り再生時の復号画像を生成することができる。また、差分情報を左回り再生時の復号画像から減算することで、右回り再生時の復号画像を生成することができる。
【００７３】
以下、第２実施形態における画像符号化処理について、図１４のフローチャートを用いて詳細に説明する。
【００７４】
まずS1601で画像符号化部202が、原画像データを入力して符号化画像の生成を行う。この符号化画像の生成処理の詳細は、左回り再生用データについてもBフレームの符号化処理を行うことを除き、上述した第１実施形態において図５のフローチャートに示した処理と同様である。従って、S1601における符号化画像処理の詳細については説明を省略する。
【００７５】
次にS1602では方向転換用情報付加部1302において、符号化画像の全フレームに対してS1603〜S1606の処理を施すためのループ制御が行われる。
【００７６】
S1603では方向転換用情報生成部1402が、符号化画像取得部1401がデータ保存部106から取得した処理対象となる符号化済みフレームについて、Iフレームであるか否かの判定を行う。Iフレームであれば再生方向による復号結果の差異が生じないため、方向転換用の差分情報を生成する必要がない。従って、処理対象フレームがIフレームであればS1602に戻って次のフレームの処理を開始するが、IフレームでなければS1604へ移る。S1604では、処理対象のフレームが他のフレームの参照フレームとなっているか否かの判定を行う。例えばBフレーム等、他のフレームの参照フレームとなっていない場合は、やはり差分情報の生成は不要であるためS1602に戻る。一方、Pフレーム等、他のフレームの参照フレームとなっている場合にはS1605へ移る。
【００７７】
S1605では、方向転換用情報生成部1402がフレーム復号部309を駆動し、右回り再生、左回り再生の両方向について処理フレームの復号を行う。そしてS1606では方向転換用情報生成部1402が、左回り再生時の復号データから右回り再生時の復号データを減算し、得られた差分を方向転換用情報とする。方向転換用情報は周知の符号化技術を用いて圧縮され、データ保存部106に格納される。なお、方向転換用情報は符号化画像データと関連付けられた別のデータファイルとして保存されても良いし、符号化画像データと方向転換用情報とをマージした新たな形式の画像データファイルとして保存されても良い。
【００７８】
●画像再生処理
以下、上述した第２実施形態の画像符号化方法によって符号化された画像データの再生処理について、説明する。第２実施形態における画像再生処理は、上述した第１実施形態において図１に示した画像処理装置101と同様の構成において、汎用OS上で動作する画像再生アプリケーションとして実現される。
【００７９】
図１５は、第２実施形態における画像再生アプリケーション1701の論理構成例を示すブロック図である。1702は、方向転換用情報を復号し、メインメモリ150上の復号済フレームデータに対して加算あるいは減算を行う方向転換用演算部である。なお、画像再生アプリケーション1701におけるその他の構成については、第１実施形態の図８に示す画像再生アプリケーション1001と同様であるため、説明を省略する。また、第２実施形態における画像再生アプリケーション1701のGUIについても、第１実施形態で図９に示したものと同様であるため、説明を省略する。
【００８０】
以下、第２実施形態における画像再生処理について、図１６のフローチャートを用いて説明する。第２実施形態における画像再生処理は、第１実施形態において図１０のフローチャートに示した処理とほぼ同様であるが、S1205における再生フレームの復号処理の詳細が異なる。S1205における復号処理としては、第１実施形態ではフレーム復号部1004において、従来のフレーム間予測符号化技術に対応する復号処理を行う例を示した。第２実施形態では、再生方向変化時に参照フレームに方向転換用情報を適用する処理を行うため、以下の図１６に示すような復号処理を行う。
【００８１】
図１６は、第２実施形態における再生フレームの復号処理を示すフローチャートである。この処理は、主にフレーム復号部1004において行われる。
【００８２】
まずS1801で、再生フレームがIフレームであるか否かの判定を行う。再生フレームがIフレームであれば処理はS1808へ移るが、Iフレームでない場合にはS1802へ移る。S1802では、フレーム復号部1004に予め保持されている再生フレームのフレーム参照関係を取得し、復号に必要な参照フレームを決定する。
【００８３】
次にS1803では、復号に必要な全ての参照フレームに対してS1804〜S1807の処理を施すためのループ制御が行われる。S1804では、参照フレームが復号済であるか否かの判定を行う。復号済であればS1806へ移るが、復号されていなければS1805へ移って参照フレームの復号を行う。ここでの復号には従来のフレーム間予測符号化技術において用いられる復号処理を適用する。
【００８４】
S1806では、復号済みである参照フレームについて、その復号時における再生方向が現在の再生方向と同じであるか否かの判定を行う。同じであれば処理はS1803に戻って次の参照フレームの処理を開始するが、再生方向が異なる、すなわち復号時と変化している場合、処理はS1807へ移る。S1807では方向転換用演算部1702が、メインメモリ105上に格納されている参照フレームの復号済フレームデータに対し、方向転換用の差分情報を適用する。すなわち、現在の再生方向が左回りである（つまり参照フレーム復号時の再生方向は右回りである）場合、復号済フレームデータに方向転換用情報を加算する。一方、現在の再生方向が右回りである（つまり参照フレーム復号時の再生方向が左回りである）場合、復号済フレームデータから方向転換用情報を減算する。
【００８５】
そしてS1808で再生フレームの復号を行う。ここでの復号には従来のフレーム間予測符号化技術で用いられる復号処理を適用する。
【００８６】
以上説明したように第２実施形態によれば、Pフレームについての復号結果が再生方向によって同一とはならない符号化アルゴリズムを用いる場合であっても、任意の再生方向について被写体の画像を連続的に再生することが可能となる。したがって、再生方向による復号結果が同一であるという条件に縛られることなく、高圧縮率化や再生付加の低減を実現するような符号化アルゴリズムを適用した符号化を行うことが可能となる。
【００８７】
＜他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005873255.tif 000002
【図２】
0005873255.tif 000003
【図３】
0005873255.tif 000004
【図４】
0005873255.tif 000005
【図５】
0005873255.tif 000006
【図６】
0005873255.tif 000007
【図７】
0005873255.tif 000008
【図８】
0005873255.tif 000009
【図９】
0005873255.tif 000010
【図１０】
0005873255.tif 000011
【図１１】
0005873255.tif 000012
【図１２】
0005873255.tif 000013
【図１３】
0005873255.tif 000014
【図１４】
0005873255.tif 000015
【図１５】
0005873255.tif 000016
【図１６】
0005873255.tif 000017
【図１７】
0005873255.tif 000018