説明

フレームレート変換方法、フレームレート変換装置、フレームレート変換プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体

【課題】本発明は、高フレームレート映像信号のフレームをダウンサンプリングにより選択することで得られた所望のフレームレートの映像信号を符号化する場合に、符号量を低く抑えることができるようにする新たなフレームレート変換技術の提供を目的とする。
【解決手段】ダウンサンプリング後の先頭フレームを選択して処理に入ると、ダウンサンプリング後のフレームを選択する度に、等長間隔のダウンサンプリングにより規定される次のフレーム位置を特定して、その近傍に位置するフレームを処理対象として、各処理対象フレームについて、処理対象フレームでダウンサンプリングする場合に生成される低フレームレート映像信号の符号化効率を示す値を算出し、それに基づいて、処理対象フレームの中から最適な符号化効率を示すフレームを選択することを繰り返すことで、高フレームレート映像信号から低フレームレート映像信号へのフレームレート変換を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、高フレームレート映像信号のフレームをダウンサンプリングにより選択することで低フレームレート映像信号に変換するフレームレート変換方法およびその装置と、そのフレームレート変換方法の実現に用いられるフレームレート変換プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体とに関する。
【背景技術】
【0002】
近年、臨場感あふれる大画面のスポーツ映像やデジタルシネマに代表される超高画質映像への期待が高まっている。これを受けて、映像の高画質化に関する研究が精力的に行われている。
【0003】
超高画質映像の実現には次の四要素が必要である。すなわち、空間解像度、画素値深度、色再現性、時間解像度である。これを受けて、前者の三要素については、デジタルシネマ等の応用およびナチュラルビジョンプロジェクトにおいて検討が進められている。また、被写体の自然な動きを表現するために不可欠な時間解像度の向上、すなわち、映像の高フレームレート化についても検討がなされている。
【0004】
1000[frame/sec] を超える高フレームレート映像を撮像可能な高速度カメラがすでに市場に流通している。ただし、こうした高速度カメラで撮像された映像はスロー再生用途で用いられる。映像の入力・出力システムのフレームレートの上限は非対称である。現行のディスプレイの上限は120[fps] 程度であるため、高速度カメラで撮影された映像ソースは、実時間再生を目的とした表示形態ではフレームレートを間引く必要がある。
【0005】
通常、図15に示すように、ダウンサンプリング後のフレーム時間間隔が等間隔になるようにダウンサンプリングが実施される(例えば、特許文献1参照)。これは、非等間隔な時間サンプリングでは、ジャーキネス(画質劣化)を発生させるという仮定に基づくものである。
【0006】
ダウンサンプリングの対象が低フレームレート映像の場合、この仮定は正しい。しかし、ダウンサンプリングの対象が高フレームレート映像の場合は、その限りではない。ダウンサンプリングの対象が高フレームレート映像の場合、フレームを厳密に等間隔に配置してなくても、等間隔からの乖離が一定閾値以内であれば、視覚的には大きなジャーキネス(画質劣化)を発生しない。
【0007】
したがって、ダウンサンプリングの対象が高フレームレート映像の場合には、ダウンサンプリング後のフレーム間隔に対する等長という制約条件を緩和することができる。この制約条件の緩和により、ダウンサンプリング後のフレーム選択に関する自由度が高くなる。つまり、符号化効率の観点から最適なフレームレートのダウンサンプリング法を検討する余地があることになる。
【特許文献1】特開2004−201165号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
前述したように、ダウンサンプリングの対象が高フレームレート映像の場合には、ダウンサンプリング後のフレーム間隔に対する等長という制約条件を緩和することができ、これにより、ダウンサンプリング後のフレーム選択に関する自由度を高くできる。
【0009】
しかしながら、従来技術では、この点について一切検討を行っておらず、これから、高フレームレート映像に対してのダウンサンプリングにより得られた低フレームレート映像を符号化する場合に、フレーム間予測誤差の低減に改善の余地が残されていた。
【0010】
本発明はかかる事情に鑑みてなされたものであって、高フレームレート映像信号に対してのダウンサンプリングにより得られた低フレームレート映像信号を入力とする映像符号化処理において、ダウンサンプリング後の低フレームレート映像信号の符号化効率を考慮した形で、低フレームレート映像信号を決定する効率的なフレームレートのダウンサンプリング技術を確立することを目的とする。
【課題を解決するための手段】
【0011】
フレームレートの変換の対象となる高フレームレート映像信号について、フレーム間隔をδt として、時刻t=jδt (j=0, 1, ..... )のフレームにおける位置xの画素値をf(x,t)(x=0, 1, .... ,X−1)と表す。
【0012】
この画素信号f(x,t)を、ダウンサンプリングによりフレーム数を1/Mに変換する場合を考える。ダウンサンプリング前後のフレームレートの比Mをダウンサンプリング比と呼ぶ。つまり、この変換は、フレームレートを、“1/δt ”から“1/Mδt ”へ変換することを想定している。
【0013】
なお、以下では、簡単のために一次元信号を例にとり説明するが、同様の議論は、容易に二次元信号にも拡張可能である。
【0014】
フレーム間引きにより、前記の変換を行う場合、従来では、
f(x,iMδt ) i=0, 1, .....
というように、フレーム間隔をM倍するという方法がとられてきた。
【0015】
これは、ダウンサンプリング後のフレーム間隔が非等長である場合、動きの滑らかさを失うという経験則に基づくものである。この経験則は、δt =1/30[秒]といった従来のフレームレートの映像信号の場合には、妥当と言える。
【0016】
しかし、δt =1/1000[秒]といった高フレームレートの映像信号の場合は、その限りではない。例えば、フレーム間隔がδt =1/1000[秒]の高フレームレートの映像信号を、M=16として、フレーム間隔1/62.5[秒]の低フレームレートの映像信号に変換する場合、変換後のフレーム間隔が1/1000[秒]程度伸縮したとしても、視覚的に検知できない。
【0017】
このため、フレーム間隔を非等長にすることによる画質劣化は問題とならない。したがって、ダウンサンプリング後のフレーム間隔に対する等長という制約条件を緩和することができる。この制約条件の緩和により、ダウンサンプリング後のフレーム選択に関する自由度が高くなる。
【0018】
そこで、本発明では、フレーム選択の候補を、
f(x,(iM+Li )δt ) i=0, 1, .....
i =−Δ, .... ,Δ−1
というように、2Δフレームにまで拡大する。
【0019】
ここで、Li は、−Δ, .... ,Δ−1の範囲の整数値をとるパラメータ(以下、Li を伸縮パラメータと呼ぶ)であり、ダウンサンプリング後のフレームを指定するために用いるもので、2Δ≦Mを満たすものとする。また、Δはダウンサンプリングの対象となるフレーム候補の存在区間を表し、例えば、外部から与えられるパラメータである。
【0020】
伸縮パラメータLi をΔに限定したのは、このLi の値が大きすぎると、フレーム間隔が等長から大きく外れることで、画質劣化が問題となることになるからである。
【0021】
このように、本発明では、フレーム選択の候補を2Δフレームにまで拡大することになるが、いずれのフレームを選択するのかについては、例えば、以下の基準に従うものとする。
【0022】
〔イ〕選択基準1
選択基準1では、動き補償予測誤差を最小化するように、ダウンサンプリング後のフレーム選択を行う。
【0023】
信号f(x,(iM+Li )δt )に対して、サイズSの区間B〔k〕(k=0,1, .... ,K−1)に分割し、各区間B〔k〕(k=0,1, .... ,K−1)を単位として動き補償(推定変移量d〔k〕)を行った場合、その区間内の動き補償後の予測誤差は次の式(1)のように表現できる。ここで、式(1)では、1つ前のフレームとの間で動き補償後の予測誤差を求めるようにしている。
【0024】
【数1】

【0025】
この式(1)に従って、まず、各Li に対して、σi 2 〔Li 〕を最小化するように推定変移量d〔k〕(k=0,1, .... ,K−1)を設定する。このとき、推定変移量d〔k〕の精度は外部から与えられるものとする(例:整数画素精度、1/2画素精度、1/4画素精度など)。さらに、σi 2 〔−Δ〕, .... ,σi 2 〔Δ−1〕の中から最小となるσi 2 〔Li 〕を選択し、対応するLi を伸縮パラメータとして設定して、その設定した伸縮パラメータの指すフレームを選択する。
【0026】
〔ロ〕選択基準2
選択基準2では、推定変移量の精度を整数画素精度とした場合に動き補償予測誤差を最小化するように、ダウンサンプリング後のフレーム選択を行う。
【0027】
信号f(x,(iM+Li )δt )に対して、サイズSの区間B〔k〕(k=0,1, .... ,K−1)に分割し、各区間B〔k〕(k=0,1, .... ,K−1)を単位として動き補償(推定変移量d〔k〕)を行った場合、その区間内の動き補償後の予測誤差は前述の式(1)の次のように表現できる。
【0028】
この式(1)に従って、まず、各Li に対して、σi 2 〔Li 〕を最小化するように推定変移量d〔k〕(k=0,1, .... ,K−1)を設定する。さらに、σi 2 〔−Δ〕, .... ,σi 2 〔Δ−1〕の中から最小となるσi 2 〔Li 〕を選択し、対応するLi を伸縮パラメータとして設定して、その設定した伸縮パラメータの指すフレームを選択する。
【0029】
〔ハ〕選択基準3
選択基準3では、特定の符号化器(例えば、H.264準拠の符号化器)により符号化を行い、その符号化歪みDと符号量Rの加重和のラグランジェコスト(符号化コスト:J=D+λR)を最小化するように、ダウンサンプリング後のフレーム選択を行う。
【0030】
ここで、λは符号化歪みDと符号量Rの重みを調整するパラメータであり、外部から与えられる。
【0031】
〔ニ〕選択基準4
選択基準4では、推定変移量の精度を整数画素精度として、特定の符号化器(例えば、H.264準拠の符号化器)により符号化を行い、その符号化歪みDと符号量Rの加重和のラグランジェコスト(符号化コスト:J=D+λR)を最小化するように、ダウンサンプリング後のフレーム選択を行う。
【0032】
ここで、λは符号化歪みDと符号量Rの重みを調整するパラメータであり、外部から与えられる。
【0033】
次に、本発明の構成について説明する。
【0034】
〔1〕第1の構成
第1の構成の本発明のフレームレート変換装置は、高フレームレート映像信号のフレームをダウンサンプリングにより選択することで低フレームレート映像信号に変換することを実現するために、(1)ダウンサンプリング比を入力する入力手段と、(2)高フレームレート映像信号のフレームの中から、ダウンサンプリング後の先頭フレームとなるフレームを選択する先頭フレーム選択手段と、(3)先頭フレーム選択手段や後述するフレーム選択手段によりダウンサンプリング後のフレームを選択した場合に、入力手段の入力したダウンサンプリング比と高フレームレート映像信号のフレーム間隔とに基づく等長間隔のダウンサンプリングにより規定される次のフレーム位置を特定する特定手段と、(4)特定手段の特定したフレーム位置を含む所定の範囲内にあるフレームを処理対象として、各処理対象フレームについて、その処理対象フレームでダウンサンプリングする場合に生成される低フレームレート映像信号の符号化効率を示す値である符号化効率表示値を算出する算出手段と、(5)算出手段の算出した符号化効率表示値に基づいて、処理対象フレームの中から最適な符号化効率表示値を示すフレームを選択して、それをダウンサンプリング後のフレームとして選択するフレーム選択手段とを備えるように構成する。
【0035】
この構成を採るときに、さらに、前記の所定の範囲の大きさを初期値から増大させてフレーム選択手段によるフレーム選択を行って、そのフレーム選択に用いた最適な符号化効率表示値の個々の値、あるいはそれらの値の総和が所望の符号化効率を示す最初の増大値を求めて、その求めた増大値の大きさを持つ所定の範囲を用いてフレーム選択手段によるフレーム選択を行ったときに選択したフレームをダウンサンプリング後のフレームとして最終的に決定する決定手段を備えることがある。
【0036】
以上の各処理手段が動作することで実現される本発明のフレームレート変換方法はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてCPUなどの制御手段上で動作することにより本発明を実現することになる。
【0037】
このように構成される第1の構成の本発明のフレームレート変換装置では、前記の所定の範囲の大きさが予め設定されている場合には、例えば、高フレームレート映像信号の先頭フレームをダウンサンプリング後の先頭フレームとして選択することで処理に入って、図1に示すように、ダウンサンプリング後のフレームを選択する度に、等長間隔のダウンサンプリングにより規定される次のフレーム位置を特定して、その特定したフレーム位置の近傍に位置する所定の枚数のフレームを処理対象として、各処理対象フレームについて、処理対象フレームと選択済みのフレーム(例えば、前回選択したフレーム)とに基づいて、処理対象フレームでダウンサンプリングする場合に生成される低フレームレート映像信号の符号化効率を示す符号化効率表示値(例えば、動き補償予測誤差電力)を算出し、その算出した符号化効率表示値に基づいて、処理対象フレームの中から最適な符号化効率を示すフレームを選択して、それをダウンサンプリング後のフレームとして選択することを繰り返していくことで、高フレームレート映像信号から低フレームレート映像信号へのフレームレート変換処理を実行する。
【0038】
このようにして、本発明のフレームレート変換装置は、高フレームレート映像信号から低フレームレート映像信号へフレームレート変換を実行するときに、ダウンサンプリング後の低フレームレート映像信号の符号化効率を考慮した形で、そのフレームレート変換処理を実行するように処理するのである。
【0039】
〔2〕第2の構成
第2の構成の本発明のフレームレート変換装置は、高フレームレート映像信号のフレームをダウンサンプリングにより選択することで低フレームレート映像信号に変換することを実現するために、(1)ダウンサンプリング比を入力する入力手段と、(2)高フレームレート映像信号のフレームの中から、ダウンサンプリング後の先頭フレームの候補となる連続する複数のフレームを開始フレームとして選択する開始フレーム選択手段と、(3)後述するフレーム最終選択手段により開始フレーム選択手段の選択した開始フレームの中から起点となるダウンサンプリング後のフレームを選択したり、後述するフレーム選択手段によりダウンサンプリング後のフレームを選択した場合に、入力手段の入力したダウンサンプリング比と高フレームレート映像信号のフレーム間隔とに基づく等長間隔のダウンサンプリングにより規定される次のフレーム位置を特定する特定手段と、(4)特定手段の特定したフレーム位置を含む所定の範囲内にあるフレームを処理対象として、各処理対象フレームについて、その処理対象フレームでダウンサンプリングする場合に生成される低フレームレート映像信号の符号化効率を示す値である符号化効率表示値を算出する算出手段と、(5)算出手段の算出した符号化効率表示値に基づいて、処理対象フレームの中から最適な符号化効率表示値を示すフレームを選択して、それをダウンサンプリング後のフレームとして選択するフレーム選択手段と、(6)開始フレーム選択手段の選択した開始フレームのそれぞれを起点としてフレーム選択手段によるフレーム選択を行って、そのフレーム選択に用いた最適な符号化効率表示値の総和に基づいて、開始フレームの中から最適な符号化効率を示す開始フレームを選択して、その選択した開始フレームを起点としてフレーム選択手段によるフレーム選択を行ったときに選択したフレームをダウンサンプリング後のフレームとして最終選択するフレーム最終選択手段とを備えるように構成する。
【0040】
この構成を採るときに、さらに、前記の所定の範囲の大きさを初期値から増大させてフレーム最終選択手段によるフレームの最終選択を行って、そのフレームの最終選択に用いた最適な符号化効率表示値の総和、あるいはその総和を構成する個々の値が所望の符号化効率を示す最初の増大値を求めて、その求めた増大値の大きさを持つ所定の範囲を用いてフレーム最終選択手段によるフレームの最終選択を行ったときに最終選択したフレームをダウンサンプリング後のフレームとして最終的に決定する決定手段を備えることがある。
【0041】
以上の各処理手段が動作することで実現される本発明のフレームレート変換方法はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてCPUなどの制御手段上で動作することにより本発明を実現することになる。
【0042】
このように構成される第2の構成の本発明のフレームレート変換装置では、前記の所定の範囲の大きさが予め設定されている場合には、例えば、高フレームレート映像信号の先頭フレームとそれに続く複数のフレームとを開始フレームとして選択することで処理に入って、図2に示すように、開始フレームのそれぞれを起点として、第1の構成の本発明のフレームレート変換装置と同様のフレーム選択処理を実行することでフレーム選択を行って、そのフレーム選択に用いた最適な符号化効率表示値の総和を算出し、その算出した符号化効率表示値の総和に基づいて、開始フレームの中から最適な符号化効率を示す開始フレームを選択して、その選択した開始フレームを起点としてフレーム選択を行ったときに選択したフレームをダウンサンプリング後のフレームとして最終選択することで、高フレームレート映像信号から低フレームレート映像信号へのフレームレート変換処理を実行する。
【0043】
このようにして、本発明のフレームレート変換装置は、高フレームレート映像信号から低フレームレート映像信号へフレームレート変換を実行するときに、ダウンサンプリング後の低フレームレート映像信号の符号化効率を考慮した形で、そのフレームレート変換処理を実行するように処理するのである。
【発明の効果】
【0044】
本発明では、高フレームレート映像信号から低フレームレート映像信号へフレームレート変換を実行するときに、ダウンサンプリング後の低フレームレート映像信号の符号化効率を考慮した形で、そのフレームレート変換処理を実行する。
【0045】
これから、本発明によれば、高フレームレート映像信号に対してのダウンサンプリングにより得られた所望のフレームレートの映像信号を符号化する場合に、均等フレーム間隔の間引きにより得られた映像信号よりも符号量を低く抑えることができるようになる。
【発明を実施するための最良の形態】
【0046】
以下、実施の形態に従って本発明を詳細に説明する。
【0047】
図3に、本発明のフレームレート変換装置1の装置構成の一例を図示する。
【0048】
この図に示すように、本発明のフレームレート変換装置1は、フレームレート変換処理の対象となる高フレームレート映像信号を格納する高フレームレート映像ファイル10と、フレームレート変換処理された低フレームレート映像信号を格納する低フレームレート映像ファイル11と、高フレームレート映像信号から低フレームレート映像信号へのフレームレート変換処理を実行するフレームレートダウンサンプリング部12とを備える。
【0049】
このフレームレートダウンサンプリング部12は、動き推定部1200を備えて、動き補償予測誤差を算出する動き補償予測誤差算出部120と、動き補償予測誤差算出部120の算出する動き補償予測誤差を使って、高フレームレート映像信号のフレームの中からフレームを選択することでフレームレートダウンサンプリング処理を実行するダウンサンプリング実行部121と、ダウンサンプリング実行部121の作業用データ(配列などのデータ)を記憶する作業用メモリ122とを備える。
【0050】
〔1〕動き推定部1200の処理
ダウンサンプリング実行部121の実行するフレーム選択処理の説明に入る前に、動き補償予測誤差算出部120の備える動き推定部1200の処理について説明する。
【0051】
動き推定部1200は、予測対象フレーム(選択対象のフレームが予測対象フレームとなる)と、参照フレーム(例えば、1つ前に選択したフレームが参照フレームとなる)とを入力として、下記に示す処理を実行することで、予測対象フレーム内のブロック毎の動きベクトルd〔k〕、すなわち、式(1)におけるd〔k〕(k=0,1, .... ,K−1)を推定する処理を行う。ここで、kはブロックを同定するインデックスである。
【0052】
処理:・式(1)のΣ{x∈B〔k〕}の項(第kブロックの予測誤差和)を最小化す る動きベクトルd〔k〕を求める
・動きベクトルは、予め与えられた探索範囲−D≦d〔k〕≦D−1内の値から 選択される
・選択の方法は、探索範囲内の全ての候補ベクトルに対して、その候補ベクトル を用いた場合の予測誤差和を算出し、その予測誤差和を最小化するベクトルを d〔k〕とすることで行う
動き補償予測誤差算出部120は、動き推定部1200の推定したベクトルd〔k〕を使い、式(1)に基づいて、予測対象フレームと参照フレームとの間の動き補償予測誤差を算出する。
【0053】
〔2〕ダウンサンプリング実行部121の処理
次に、ダウンサンプリング実行部121の処理により実行されるフレームレートダウンサンプリング処理について説明する。
【0054】
以下に説明するダウンサンプリング実行部121の処理では、ダウンサンプリングフレームの選択基準として、前述した選択基準1にあたる動き補償予測誤差を用いる場合を示すが、前述した選択基準2,3,4を用いる場合も処理は同様である。
【0055】
まず最初に、図1に示すような形態でフレームレートダウンサンプリング処理を実行する“フレームレートダウンサンプリング処理の流れ(その1)”について説明する。
【0056】
ここで、この“フレームレートダウンサンプリング処理の流れ(その1)”を実行する場合には、ダウンサンプリング実行部121は、図4に示すように、
(1)フレーム数J、フレーム間隔δt 、ダウンサンプリング比M、伸縮パラメータ最大値Δを読み込む入力部1210と、
(2)高フレームレート映像信号のフレームの中から、ダウンサンプリング後の先頭フレームとなるフレームを選択する先頭フレーム選択部1211と、
(3)先頭フレーム選択部1211や後述するフレーム選択部1215がダウンサンプリング後のフレームを選択した場合に、入力部1210の入力したダウンサンプリング比Mと高フレームレート映像信号のフレーム間隔δt とに基づく等長間隔のダウンサンプリングにより規定される次のフレーム位置を特定する次フレーム位置特定部1212と、
(4)次フレーム位置特定部1212の特定したフレーム位置の近傍に位置する2Δ枚のフレームを処理対象フレームとして抽出する処理対象フレーム抽出部1213と、
(5)処理対象フレーム抽出部1213の抽出した各処理対象フレームについて、その処理対象フレームでダウンサンプリングする場合に生成される低フレームレート映像信号の符号化効率を示す値である動き補償予測誤差を算出する処理対象フレーム予測誤差算出部1214と、
(6)処理対象フレーム予測誤差算出部1214の算出した動き補償予測誤差に基づいて、処理対象フレームの中から最小の動き補償予測誤差を示すフレームを選択して、それをダウンサンプリング後のフレームとして選択するフレーム選択部1215と、
(7)フレーム選択部1215がフレームを選択したときに、ダウンサンプリングの対象となる全てのフレーム位置に対しての処理を終了したのか否かを判定して、処理が終了していないことを判定するときには、次のフレーム位置に対しての処理を実行すべく次フレーム位置特定部1212を起動する全フレーム位置終了判定部1216
とを備える構成を採る。
【0057】
〔2−1〕フレームレートダウンサンプリング処理の流れ(その1)
0.撮影された映像信号(フレームレート変換処理の対象となる高フレームレート映像 信号)、そのフレーム数J、そのフレームレート(フレーム間隔δt を算出するた めに用いる)を読み込む
1.ダウンサンプリング比Mを読み込む
2.ダウンサンプリング後の先頭フレームを規定するL0 の値として、予め与えられた 値を読み込む。例えば、0やΔ/2を読み込む
3.for i=1, .... ,J/M−1
4. for Li =−Δ, .... ,Δ−1
5. ダウンサンプリング後のフレームをf(x,(iM+Li )δt )とする場合 の動き補償予測誤差(式(1))を最小化する動きベクトルを求めて、その動き ベクトルを^d〔Li 〕〔k〕(k=0,1, .... ,K−1)に格納し、最小 化された動き補償予測誤差をσi 2 〔Li 〕に格納する。ここで、「^X」( Xは文字)における記号^は、「X」の上に付く記号を示している
6. σi 2 〔Li 〕(Li =−Δ, .... ,Δ−1)の中での最小値を探索し、対応す るLi * を同定する 7. ダウンサンプリング後の第iフレームとして、f(x,(iM+Li * )δt ) (x=0, .... ,X−1)を格納する。
【0058】
このようにして、ダウンサンプリング実行部121は、“フレームレートダウンサンプリング処理の流れ(その1)”を実行する場合には、例えば、高フレームレート映像信号の先頭フレームをダウンサンプリング後の先頭フレームとして選択することで処理に入って、図1に示すように、ダウンサンプリング後のフレームを選択する度に、等長間隔のダウンサンプリングにより規定される次のフレーム位置を特定して、その特定したフレーム位置の近傍に位置する所定枚数のフレーム(2Δ枚のフレーム)を処理対象として、処理対象フレームと前回選択したフレームとに基づいて、処理対象フレームでダウンサンプリングする場合の動き補償予測誤差を算出して、その算出した動き補償予測誤差に基づいて、処理対象フレームの中から最小の動き補償予測誤差を示すフレームを選択し、それをダウンサンプリング後のフレームとして選択することを繰り返していくことで、高フレームレート映像信号から低フレームレート映像信号へのフレームレート変換処理を実行するのである。
【0059】
次に、図2に示すような形態でフレームレートダウンサンプリング処理を実行する“フレームレートダウンサンプリング処理の流れ(その2)”について説明する。
【0060】
ここで、この“フレームレートダウンサンプリング処理の流れ(その2)”を実行する場合には、ダウンサンプリング実行部121は、図5に示すように、
(1)フレーム数J、フレーム間隔δt 、ダウンサンプリング比M、伸縮パラメータ最大値Δを読み込む入力部1210と、
(2)高フレームレート映像信号のフレームの中から、ダウンサンプリング後の先頭フレームの候補となる連続する複数のフレームを開始フレームとして選択する開始フレーム選択部1211αと、
(3)後述するフレーム最終選択部1217が開始フレーム選択部1211αの選択した開始フレームの中から起点となるダウンサンプリング後のフレームを選択したり、後述するフレーム選択部1215がダウンサンプリング後のフレームを選択した場合に、入力部1210の入力したダウンサンプリング比Mと高フレームレート映像信号のフレーム間隔δt とに基づく等長間隔のダウンサンプリングにより規定される次のフレーム位置を特定する次フレーム位置特定部1212と、
(4)次フレーム位置特定部1212の特定したフレーム位置の近傍に位置する2Δ枚のフレームを処理対象フレームとして抽出する処理対象フレーム抽出部1213と、
(5)処理対象フレーム抽出部1213の抽出した各処理対象フレームについて、その処理対象フレームでダウンサンプリングする場合に生成される低フレームレート映像信号の符号化効率を示す値である動き補償予測誤差を算出する処理対象フレーム予測誤差算出部1214と、
(6)処理対象フレーム予測誤差算出部1214の算出した動き補償予測誤差に基づいて、処理対象フレームの中から最小の動き補償予測誤差を示すフレームを選択して、それをダウンサンプリング後のフレームとして選択するフレーム選択部1215と、
(7)フレーム選択部1215がフレームを選択したときに、ダウンサンプリングの対象となる全てのフレーム位置に対しての処理を終了したのか否かを判定して、処理が終了していないことを判定するときには、次のフレーム位置に対しての処理を実行すべく次フレーム位置特定部1212を起動する全フレーム位置終了判定部1216と、
(8)開始フレーム選択部1211αの選択した開始フレームのそれぞれを起点としてフレーム選択部1215によるフレーム選択を行って、そのフレーム選択に用いた最小の動き補償予測誤差の総和に基づいて、開始フレームの中から最適な符号化効率を示す開始フレームを選択して、その選択した開始フレームを起点としてフレーム選択部1215によるフレーム選択を行ったときに選択したフレームをダウンサンプリング後のフレームとして最終選択するフレーム最終選択部1217
とを備える構成を採る。
【0061】
〔2−2〕フレームレートダウンサンプリング処理の流れ(その2)
0.撮影された映像信号(フレームレート変換処理の対象となる高フレームレート映像 信号)、そのフレーム数J、そのフレームレート(フレーム間隔δt を算出するた めに用いる)を読み込む
1.ダウンサンプリング比Mを読み込む
2.for L0 =0, .... ,Δ−1
3. for i=1, .... ,J/M−1
4. E〔L0 〕=0
5. for Li =−Δ, .... ,Δ−1
6. ダウンサンプリング後のフレームをf(x,(iM+Li )δt )とする場 合の動き補償予測誤差(式(1))を最小化する動きベクトルを求めて、その 動きベクトルを^d〔Li 〕〔k〕(k=0,1, .... ,K−1)に格納し 、最小化された動き補償予測誤差をσi 2 〔Li 〕に格納する
7. σi 2 〔Li 〕(Li =−Δ, .... ,Δ−1)の中での最小値を探索し、対応 するLi * を同定する。このとき、σi 2 〔Li * 〕を^σi 2 〔Li * 〕〔 L0 〕に格納し、Li * を^Li * 〔L0 〕に格納する
8. E〔L0 〕=E〔L0 〕+^σi 2 〔Li * 〕〔L0
9. E〔L0 〕(L0 =0, .... ,Δ−1)の中での最小値を探索し、対応するL0 * を同定する
10. ダウンサンプリング後の第iフレームとして、f(x,(iM+^Li * 〔L0 * )δt )(x=0, .... ,X−1)を格納する。
【0062】
このようにして、ダウンサンプリング実行部121は、“フレームレートダウンサンプリング処理の流れ(その2)”を実行する場合には、例えば、高フレームレート映像信号の先頭フレームとそれに続く複数のフレームとを開始フレームとして選択することで処理に入って、図2に示すように、開始フレームのそれぞれを起点として、“フレームレートダウンサンプリング処理の流れ(その1)”と同様のフレーム選択処理を実行することでフレーム選択を行って、そのフレーム選択に用いた最適な動き補償予測誤差の総和を算出し、その算出した動き補償予測誤差の総和に基づいて、開始フレームの中から最小の動き補償予測誤差総和を示す開始フレームを選択して、その選択した開始フレームを起点としてフレーム選択を行ったときに選択したフレームをダウンサンプリング後のフレームとして最終選択することで、高フレームレート映像信号から低フレームレート映像信号へのフレームレート変換処理を実行するのである。
【0063】
〔2−3〕Δの値の自動設定処理
フレームレートダウンサンプリング処理の流れ(その1)やフレームレートダウンサンプリング処理の流れ(その2)で用いたΔの単位はフレームであり、ダウンサンプリングの対象となるフレーム候補の存在区間を表す。言い換えると、Δは伸縮パラメータLi の最大値を表す。
【0064】
このように、伸縮パラメータLi の値をΔに限定したのは、この値が大きすぎると、ダウンサンプリング後のフレーム間の非均一性の度合いが大きくなりすぎて、動きのかくついた動画像になるためである。
【0065】
このΔはダウンサンプリング前後のフレームレートおよび画像に依存する値であり、前述したフレームレートダウンサンプリング処理の流れ(その1)やフレームレートダウンサンプリング処理の流れ(その2)では、その値が予め外部から与えられることで説明した。
【0066】
次に、このΔの値を自動設定する方法について説明する。
【0067】
ダウンサンプリング実行部121は、Δを自動設定する場合、誤差εと、Δの初期値Δ_{0}と、最大の繰り返し回数Nと、Δのステップ幅βとを入力として、下記に示す処理を実行することで、Δの値と、そのΔに対応する伸縮パラメータL_i(i=1, .... ,J/M−1)を算出する処理を実行する。
【0068】
処理:(S1)
Δ_{n}に対して、フレームレートダウンサンプリング処理の流れ(その1 )、あるいは、フレームレートダウンサンプリング処理の流れ(その2)を実 行し、伸縮パラメータL_i(i=1, .... ,J/M−1)を算出する。そし て、このときの動き補償予測誤差をE_{n}として格納する
(S2)
繰り返し回数nが与えられた閾値Nよりも小さければ、次の処理に進み、そう でなければ、処理を終了する
(S3)
E_{n}が与えられた誤差εよりも小さくなれば、処理を終了する。そうで なければ、Δ_{n+1}=Δ_{n}+βとして、(S1)に戻る
(S4)
Δ_{n}をΔとして出力する。そして、L_i(i=1, .... ,J/M−1 )をΔに対応する伸縮パラメータとして出力する。
【0069】
このようにして、ダウンサンプリング実行部121は、フレームレートダウンサンプリング処理の流れ(その1)を使ってΔの値を自動設定する場合には、Δの値を初期値から増大させながら、フレームレートダウンサンプリング処理の流れ(その1)を実行して各ダウンサンプリング点における動き補償予測誤差を求め、その総和を算出して、その総和が誤差εよりも小さくなるときのΔの値を求めることで、Δの値を自動設定することを実現するのである。
【0070】
このとき、Δの値を制限なく大きくしてしまうと、ダウンサンプリング後のフレーム間の非均一性の度合いが大きくなりすぎてしまうので、繰り返し回数nに上限値を設けることで、Δの値に上限値を設けるようにしている。
【0071】
そして、ダウンサンプリング実行部121は、フレームレートダウンサンプリング処理の流れ(その2)を使ってΔの値を自動設定する場合には、Δの値を初期値から増大させながら、フレームレートダウンサンプリング処理の流れ(その2)を実行して各開始フレームを起点とする場合の動き補償予測誤差の総和を求め、それに基づいて開始フレームを決定するときに、その決定する開始フレームについての総和が誤差εよりも小さくなるときのΔの値を求めることで、Δの値を自動設定することを実現するのである。
【0072】
このとき、Δの値を制限なく大きくしてしまうと、ダウンサンプリング後のフレーム間の非均一性の度合いが大きくなりすぎてしまうので、繰り返し回数nに上限値を設けることで、Δの値に上限値を設けるようにしている。
【実施例】
【0073】
次に、実施例に従って本発明を詳細に説明する。
【0074】
〔1〕第1の実施例
〔1−1〕Δが予め設定される場合の構成
図6に、フレームレートダウンサンプリング処理の流れ(その1)に従ってフレームレートのダウンサンプリング処理を実行する場合に、ダウンサンプリング実行部121が実行するフローチャートを図示する。ここで、このフローチャートでは、Δが予め設定される場合を想定している。
【0075】
次に、このフローチャートに従って、ダウンサンプリング実行部121が実行するフレームレートのダウンサンプリング処理について詳細に説明する。
【0076】
ダウンサンプリング実行部121は、フレームレートダウンサンプリング処理の流れ(その1)に従って、図1に示すような形態でフレームレートのダウンサンプリング処理を実行する場合には、図6のフローチャートに示すように、まず最初に、ステップS101で、フレームレート変換処理の対象となる高フレームレート映像信号と、そのフレーム数Jと、そのフレーム間隔δt と、ダウンサンプリング比Mと、伸縮パラメータLi の最大値Δとを読み込む。
【0077】
続いて、ステップS102で、読み込んだ高フレームレート映像信号の先頭フレームをダウンサンプリング後のフレーム(先頭フレーム)として選択する。
【0078】
続いて、ステップS103で、ダウンサンプリング比Mとフレーム間隔δt とに基づく等長間隔のダウンサンプリングにより規定されるフレーム位置を指定する変数iに1をセットする。すなわち、先頭フレームの次のダウンサンプリング位置を指定する値である1をセットするのである。
【0079】
続いて、ステップS104で、伸縮パラメータLi に最小値である−Δをセットし、続くステップS105で、動き補償予測誤差の値を格納する配列σi 2 〔Li 〕(Li =−Δ, .... ,Δ−1)の全ての格納場所に0をセットする。
【0080】
続いて、ステップS106で、式(1)に従って、変数iおよび伸縮パラメータLi の値により規定されるフレームと、1つ前に選択したフレームとの間の動き補償予測誤差の最小値を算出することで動き補償予測誤差を算出し、続くステップS107で、その算出した動き補償予測誤差を配列σi 2 〔Li 〕の対応する格納場所(Li の指す格納場所)に格納する。
【0081】
続いて、ステップS108で、伸縮パラメータLi の値を1つインクリメントし、続くステップS109で、伸縮パラメータLi の値が最大値であるΔ−1を超えたのか否かを判断する。
【0082】
このステップS109の判断処理により、伸縮パラメータLi の値がΔ−1を超えていないことを判断するときには、伸縮パラメータLi の指す次のフレームについてステップS106〜ステップS108の処理を実行すべく、ステップS106の処理に戻る。
【0083】
一方、ステップS109の判断処理により、伸縮パラメータLi の値がΔ−1を超えたことを判断するときには、変数iの指すダウンサンプリング位置についての処理(2Δフレームについての動き補償予測誤差の算出処理)を終了したことを判断して、ステップS110に進んで、配列σi 2 〔Li 〕の中での最小値を探索し、それに対応付けられる伸縮パラメータLi * を特定する。
【0084】
続いて、ステップS111で、変数iおよび伸縮パラメータLi * の値により規定されるフレームをダウンサンプリング後のフレームとして選択する。
【0085】
続いて、ステップS112で、変数iの値を1つインクリメントし、続くステップS113で、変数iの値が最大値であるJ/M−1を超えたのか否かを判断して、J/M−1を超えていないことを判断するときには、変数iの指す次のダウンサンプリング位置についてステップS104〜ステップS112の処理を実行すべく、ステップS104の処理に戻る。
【0086】
一方、ステップS113の判断処理により、変数iの値がJ/M−1を超えたことを判断するときには、全てのダウンサンプリング位置についての処理を終了したことを判断して、処理を終了する。
【0087】
このようにして、ダウンサンプリング実行部121は、図6のフローチャートを実行することで、フレームレートダウンサンプリング処理の流れ(その1)に従って、図1に示すような形態で、高フレームレート映像信号から低フレームレート映像信号へのフレームレート変換処理を実行するのである。
【0088】
〔1−2〕Δを自動設定する構成(その1)
図7に、伸縮パラメータLi の最大値Δを自動設定しつつ、フレームレートダウンサンプリング処理の流れ(その1)に従ってフレームレートのダウンサンプリング処理を実行する場合に、ダウンサンプリング実行部121が実行するフローチャートを図示する。
【0089】
次に、このフローチャートに従って、ダウンサンプリング実行部121が実行するフレームレートのダウンサンプリング処理について詳細に説明する。
【0090】
ダウンサンプリング実行部121は、図7のフローチャートに従ってフレームレートのダウンサンプリング処理を実行する場合には、まず最初に、ステップS201で、フレームレート変換処理の対象となる高フレームレート映像信号と、そのフレーム数Jと、そのフレーム間隔δt と、ダウンサンプリング比Mとを読み込む。
【0091】
続いて、ステップS202で、繰り返し回数をカウントする変数nに0をセットし、続くステップS203で、伸縮パラメータLi の最大値を指定する変数Δに小さな値である初期値をセットする。
【0092】
続いて、ステップS204で、図6のフローチャートのステップS102〜ステップS113の処理を実行して、設定されているΔを用いるときの選択フレーム(各ダウンサンプリング位置における選択フレーム)を決定するとともに、そのときの動き補償予測誤差の総和(各選択フレームについて求めた動き補償予測誤差の総和)を算出する。
【0093】
続いて、ステップS205で、ステップS204で算出した動き補償予測誤差の総和が予め設定される誤差εよりも小さいのか否かを判断する。
【0094】
このステップS205の判断処理により、ステップS204で算出した動き補償予測誤差の総和が誤差εよりも小さくないことを判断するときには、ステップS207に進んで、変数nの値を1つインクリメントし、続くステップS208で、変数nの値が予め設定される最大値Nを超えたのか否かを判断して、最大値Nを超えていないことを判断するときには、ステップS209に進んで、Δの値をβだけ大きくしてから、ステップS204の処理に戻る。
【0095】
そして、ステップS205の判断処理に従って、ステップS204で算出した動き補償予測誤差の総和が誤差εよりも小さいことを判断するときと、ステップS208の判断処理に従って、変数nの値が最大値Nを超えたことを判断するときには、ステップS206に進んで、設定されているΔを用いるときの選択フレームをダウンサンプリング後のフレームとして選択して、処理を終了する。
【0096】
このようにして、ダウンサンプリング実行部121は、図7のフローチャートを実行することで、伸縮パラメータLi の最大値Δを自動設定しつつ、フレームレートダウンサンプリング処理の流れ(その1)に従ってフレームレートのダウンサンプリング処理を実行するのである。
【0097】
〔1−3〕Δを自動設定する構成(その2)
図8に、伸縮パラメータLi の最大値Δを自動設定しつつ、フレームレートダウンサンプリング処理の流れ(その1)に従ってフレームレートのダウンサンプリング処理を実行する場合に、ダウンサンプリング実行部121が実行する他のフローチャートを図示する。
【0098】
ダウンサンプリング実行部121は、図7のフローチャートを実行する場合には、変数i(i=1, .... ,J/M−1)の各ダウンサンプリング位置で得た動き補償予測誤差の総和を算出して、その総和が予め設定される誤差εに入るようにするという制約条件を設けることで、伸縮パラメータLi の最大値Δを自動設定することを実現したが、図8のフローチャートを実行する場合には、図9に示すように、変数i(i=1, .... ,J/M−1)の各ダウンサンプリング位置でそれぞれ独立にΔを増加させるようにして、その各ダウンサンプリング位置で得た動き補償予測誤差のそれぞれが予め設定される誤差ε’に入るようにするという制約条件を設けることで、伸縮パラメータLi の最大値Δを自動設定することを実現する。
【0099】
すなわち、ダウンサンプリング実行部121は、図8のフローチャートに従ってフレームレートのダウンサンプリング処理を実行する場合には、まず最初に、ステップS301で、フレームレート変換処理の対象となる高フレームレート映像信号と、そのフレーム数Jと、そのフレーム間隔δt と、ダウンサンプリング比Mとを読み込む。
【0100】
続いて、ステップS302で、読み込んだ高フレームレート映像信号の先頭フレームをダウンサンプリング後のフレーム(先頭フレーム)として選択する。
【0101】
続いて、ステップS303で、ダウンサンプリング比Mとフレーム間隔δt とに基づく等長間隔のダウンサンプリングにより規定されるフレーム位置を指定する変数iに1をセットし、続くステップS304で、繰り返し回数をカウントする変数nに0をセットし、続くステップS305で、伸縮パラメータLi の最大値を指定する変数Δに初期値をセットする。
【0102】
続いて、ステップS306で、設定されているΔを用いて図6のフローチャートのステップS104〜ステップS110の処理を実行して、変数iの指すダウンサンプリング位置における最適な伸縮パラメータLi * と、それに対応付けられる動き補償予測誤差を算出する。
【0103】
続いて、ステップS307で、ステップS306で算出した動き補償予測誤差が予め設定される誤差ε’よりも小さいのか否かを判断する。
【0104】
このステップS307の判断処理により、ステップS306で算出した動き補償予測誤差が誤差ε’よりも小さいことを判断するときには、ステップS308に進んで、変数iおよび伸縮パラメータLi * の値により規定されるフレームをダウンサンプリング後のフレームとして選択する。
【0105】
続いて、ステップS309で、変数iの値を1つインクリメントし、続くステップS310で、変数iの値が最大値であるJ/M−1を超えたのか否かを判断して、J/M−1を超えていないことを判断するときには、変数iの指す次のダウンサンプリング位置についてステップS305〜ステップS309の処理を実行すべく、ステップS305の処理に戻る。そして、ステップS310の判断処理により、変数iの値がJ/M−1を超えたことを判断するときには、処理を終了する。
【0106】
一方、ステップS307の判断処理により、ステップS306で算出した動き補償予測誤差が誤差ε’よりも小さくないことを判断するときには、ステップS311に進んで、変数nの値を1つインクリメントし、続くステップS312で、変数nの値が予め設定される最大値Nを超えたのか否かを判断して、最大値Nを超えていないことを判断するときには、ステップS313に進んで、Δの値をβだけ大きくしてから、ステップS306の処理に戻る。
【0107】
そして、ステップS312の判断処理により、変数nの値が最大値Nを超えたことを判断するときには、ステップS308に進んで、前述した処理と同様の処理を実行することで、ダウンサンプリング後のフレームを選択する。
【0108】
このようにして、ダウンサンプリング実行部121は、図8のフローチャートを実行することで、図9に示す形態に従って伸縮パラメータLi の最大値Δを自動設定しつつ、フレームレートダウンサンプリング処理の流れ(その1)に従ってフレームレートのダウンサンプリング処理を実行するのである。
【0109】
〔2〕第2の実施例
〔2−1〕Δが予め設定される場合の構成
図10に、フレームレートダウンサンプリング処理の流れ(その2)に従ってフレームレートのダウンサンプリング処理を実行する場合に、ダウンサンプリング実行部121が実行するフローチャートを図示する。ここで、このフローチャートでは、Δが予め設定される場合を想定している。
【0110】
次に、このフローチャートに従って、ダウンサンプリング実行部121が実行するフレームレートのダウンサンプリング処理について詳細に説明する。
【0111】
ダウンサンプリング実行部121は、フレームレートダウンサンプリング処理の流れ(その2)に従って、図2に示すような形態でフレームレートのダウンサンプリング処理を実行する場合には、図10のフローチャートに示すように、まず最初に、ステップS401で、フレームレート変換処理の対象となる高フレームレート映像信号と、そのフレーム数Jと、そのフレーム間隔δt と、ダウンサンプリング比Mと、伸縮パラメータLi の最大値Δとを読み込む。
【0112】
続いて、ステップS402で、読み込んだ高フレームレート映像信号の先頭フレームからのフレーム数を指定する変数L0 に0をセットする。
【0113】
続いて、ステップS403で、伸縮パラメータを格納する配列^Li * 〔L0 〕の全ての格納場所に0をセットし、動き補償予測誤差を格納する配列^σi 2 〔Li * 〕〔L0 〕の全ての格納場所に0をセットし、動き補償予測誤差の総和を格納する配列E〔L0 〕の全ての格納場所に0をセットする。
【0114】
続いて、ステップS404で、読み込んだ高フレームレート映像信号の先頭フレームからL0 の値だけ後にあるフレームをダウンサンプリング後のフレーム(先頭フレーム)として設定する。
【0115】
続いて、ステップS405で、ダウンサンプリング比Mとフレーム間隔δt とに基づく等長間隔のダウンサンプリングにより規定されるフレーム位置を指定する変数iに1をセットする。すなわち、先頭フレームの次のダウンサンプリング位置を指定する値である1をセットするのである。
【0116】
続いて、ステップS406で、図6のフローチャートのステップS104〜ステップS110の処理を実行して、変数iの指すダウンサンプリング位置における最適な伸縮パラメータLi * と、それに対応付けられる動き補償予測誤差を算出する。
【0117】
続いて、ステップS407で、ステップS406で算出した伸縮パラメータを配列^Li * 〔L0 〕に格納し、ステップS406で算出した動き補償予測誤差を配列^σi 2 〔Li * 〕〔L0 〕に格納する。
【0118】
続いて、ステップS408で、設定されているL0 について、配列E〔L0 〕の対応する値と配列^σi 2 〔Li * 〕〔L0 〕の対応する値とを加算して、それに基づいて配列E〔L0 〕の値を更新する。すなわち、設定されているL0 に基づいて選択した先頭フレームを起点として第1の実施例のフレーム選択処理を行うことで動き補償予測誤差を得て、そのようにして得た動き補償予測誤差を累積加算するのである。
【0119】
続いて、ステップS409で、変数iの値を1つインクリメントし、続くステップS410で、変数iの値が最大値であるJ/M−1を超えたのか否かを判断して、J/M−1を超えていないことを判断するときには、変数iの指す次のダウンサンプリング位置についてステップS406〜ステップS409の処理を実行すべく、ステップS406の処理に戻る。
【0120】
一方、ステップS410の判断処理に従って、変数iの値がJ/M−1を超えたことを判断するときは、ステップS411に進んで、変数L0 の値を1つインクリメントし、続くステップS412で、変数L0 の値が最大値であるΔ−1を超えたのか否かを判断して、Δ−1を超えていないことを判断するときには、変数L0 の指す次の先頭フレームを起点としてステップS404〜ステップS411の処理を実行すべく、ステップS404の処理に戻る。
【0121】
そして、ステップS412の判断処理に従って、変数L0 の値がΔ−1を超えたことを判断するときには、ステップS413に進んで、配列E〔L0 〕の中での最小値を探索し、それに対応付けられる伸縮パラメータ〔^Li * 〕〔L0 * を特定する。すなわち、動き補償予測誤差の総和が最小となるL0 の値を特定するとともに、そのL0 に基づいて選択した先頭フレームを起点とするフレーム選択処理により求められた各ダウンサンプリング位置における伸縮パラメータの集合を特定するのである。
【0122】
続いて、ステップS414で、変数iおよび伸縮パラメータ〔^Li * 〕〔L0 * の値により規定されるフレームをダウンサンプリング後のフレームとして選択して、処理を終了する。
【0123】
このようにして、ダウンサンプリング実行部121は、図10のフローチャートを実行することで、フレームレートダウンサンプリング処理の流れ(その2)に従って、図2に示すような形態で、高フレームレート映像信号から低フレームレート映像信号へのフレームレート変換処理を実行するのである。
【0124】
〔2−2〕Δを自動設定する構成(その1)
図11に、伸縮パラメータLi の最大値Δを自動設定しつつ、フレームレートダウンサンプリング処理の流れ(その2)に従ってフレームレートのダウンサンプリング処理を実行する場合に、ダウンサンプリング実行部121が実行するフローチャートを図示する。
【0125】
次に、このフローチャートに従って、ダウンサンプリング実行部121が実行するフレームレートのダウンサンプリング処理について詳細に説明する。
【0126】
ダウンサンプリング実行部121は、図11のフローチャートに従ってフレームレートのダウンサンプリング処理を実行する場合には、まず最初に、ステップS501で、フレームレート変換処理の対象となる高フレームレート映像信号と、そのフレーム数Jと、そのフレーム間隔δt と、ダウンサンプリング比Mとを読み込む。
【0127】
続いて、ステップS502で、繰り返し回数をカウントする変数nに0をセットし、続くステップS503で、伸縮パラメータLi の最大値を指定する変数Δに小さな値である初期値をセットする。
【0128】
続いて、ステップS504で、図10のフローチャートのステップS402〜ステップS414の処理を実行して、設定されているΔを用いるときの選択フレーム(図2に示すような形態で求めた各ダウンサンプリング位置における選択フレーム)を決定するとともに、そのときの動き補償予測誤差の総和を算出する。
【0129】
続いて、ステップS505で、ステップS504で算出した動き補償予測誤差の総和が予め設定される誤差εよりも小さいのか否かを判断する。
【0130】
このステップS505の判断処理により、ステップS504で算出した動き補償予測誤差の総和が誤差εよりも小さくないことを判断するときには、ステップS507に進んで、変数nの値を1つインクリメントし、続くステップS508で、変数nの値が予め設定される最大値Nを超えたのか否かを判断して、最大値Nを超えていないことを判断するときには、ステップS509に進んで、Δの値をβだけ大きくしてから、ステップS504の処理に戻る。
【0131】
そして、ステップS505の判断処理に従って、ステップS504で算出した動き補償予測誤差の総和が誤差εよりも小さいことを判断するときと、ステップS508の判断処理に従って、変数nの値が最大値Nを超えたことを判断するときには、ステップS506に進んで、設定されているΔを用いるときの選択フレームをダウンサンプリング後のフレームとして選択して、処理を終了する。
【0132】
このようにして、ダウンサンプリング実行部121は、図11のフローチャートを実行することで、伸縮パラメータLi の最大値Δを自動設定しつつ、フレームレートダウンサンプリング処理の流れ(その2)に従ってフレームレートのダウンサンプリング処理を実行するのである。
【0133】
〔2−3〕Δを自動設定する構成(その2)
図12および図13に、伸縮パラメータLi の最大値Δを自動設定しつつ、フレームレートダウンサンプリング処理の流れ(その2)に従ってフレームレートのダウンサンプリング処理を実行する場合に、ダウンサンプリング実行部121が実行する他のフローチャートを図示する。
【0134】
ダウンサンプリング実行部121は、図11のフローチャートを実行する場合には、最終的なフレーム選択に用いた動き補償予測誤差の総和(図8のフローチャートのステップS413の処理に従って配列E〔L0 〕の中から探索した動き補償予測誤差の総和)が予め設定される誤差εに入るようにするという制約条件を設けることで、伸縮パラメータLi の最大値Δを自動設定することを実現したが、図12および図13のフローチャートを実行する場合には、図14に示すように、フレームレートダウンサンプリング処理の流れ(その2)に従ってフレームレートのダウンサンプリング処理を実行するときに、変数i(i=1, .... ,J/M−1)の各ダウンサンプリング位置でそれぞれ独立にΔを増加させるようにして、その各ダウンサンプリング位置で得た動き補償予測誤差のそれぞれが予め設定される誤差ε’に入るようにするという制約条件を設けることで、伸縮パラメータLi の最大値Δを自動設定することを実現する。
【0135】
すなわち、ダウンサンプリング実行部121は、図12および図13のフローチャートに従ってフレームレートのダウンサンプリング処理を実行する場合には、まず最初に、ステップS601で、フレームレート変換処理の対象となる高フレームレート映像信号と、そのフレーム数Jと、そのフレーム間隔δt と、ダウンサンプリング比Mとを読み込む。
【0136】
続いて、ステップS602で、読み込んだ高フレームレート映像信号の先頭フレームからのフレーム数を指定する変数L0 に0をセットする。
【0137】
続いて、ステップS603で、伸縮パラメータを格納する配列^Li * 〔L0 〕の全ての格納場所に0をセットし、動き補償予測誤差を格納する配列^σi 2 〔Li * 〕〔L0 〕の全ての格納場所に0をセットし、動き補償予測誤差の総和を格納する配列E〔L0 〕の全ての格納場所に0をセットする。続いて、ステップS604で、繰り返し回数をカウントする変数nに0をセットする。
【0138】
続いて、ステップS605で、読み込んだ高フレームレート映像信号の先頭フレームからL0 の値だけ後にあるフレームをダウンサンプリング後のフレーム(先頭フレーム)として設定する。
【0139】
続いて、ステップS606で、ダウンサンプリング比Mとフレーム間隔δt とに基づく等長間隔のダウンサンプリングにより規定されるフレーム位置を指定する変数iに1をセットし、続くステップS607で、伸縮パラメータLi の最大値を指定する変数Δに初期値をセットする。
【0140】
続いて、ステップS608で、設定されているΔを用いて図6のフローチャートのステップS104〜ステップS110の処理を実行して、変数iの指すダウンサンプリング位置における最適な伸縮パラメータLi * と、それに対応付けられる動き補償予測誤差を算出する。
【0141】
続いて、ステップS609で、ステップS608で算出した動き補償予測誤差が予め設定される誤差ε’よりも小さいのか否かを判断する。
【0142】
このステップS609の判断処理により、ステップS608で算出した動き補償予測誤差が誤差ε’よりも小さいことを判断するときには、ステップS610に進んで、ステップS608で算出した伸縮パラメータを配列^Li * 〔L0 〕に格納し、ステップS608で算出した動き補償予測誤差を配列^σi 2 〔Li * 〕〔L0 〕に格納する。
【0143】
続いて、ステップS611で、設定されているL0 について、配列E〔L0 〕の対応する値と配列^σi 2 〔Li * 〕〔L0 〕の対応する値とを加算して、それに基づいて配列E〔L0 〕の値を更新する。すなわち、設定されているL0 に基づいて選択した先頭フレームを起点として第1の実施例のフレーム選択処理を行うことで動き補償予測誤差を得て、そのようにして得た動き補償予測誤差を累積加算するのである。
【0144】
続いて、ステップS612で、変数iの値を1つインクリメントし、続くステップS613で、変数iの値が最大値であるJ/M−1を超えたのか否かを判断して、J/M−1を超えていないことを判断するときには、変数iの指す次のダウンサンプリング位置についてステップS607〜ステップS612の処理を実行すべく、ステップS607の処理に戻る。
【0145】
一方、ステップS613の判断処理に従って、変数iの値がJ/M−1を超えたことを判断するときは、ステップS614に進んで、変数L0 の値を1つインクリメントし、続くステップS615で、変数L0 の値が最大値であるΔ−1を超えたのか否かを判断して、Δ−1を超えていないことを判断するときには、変数L0 の指す次の先頭フレームを起点としてステップS605〜ステップS614の処理を実行すべく、ステップS605の処理に戻る。
【0146】
そして、ステップS615の判断処理に従って、変数L0 の値がΔ−1を超えたことを判断するときには、ステップS616(図13のフローチャート)に進んで、配列E〔L0 〕の中での最小値を探索し、それに対応付けられる伸縮パラメータ〔^Li * 〕〔L0 * を特定する。すなわち、動き補償予測誤差の総和が最小となるL0 の値を特定するとともに、そのL0 に基づいて選択した先頭フレームを起点とするフレーム選択処理により求められた各ダウンサンプリング位置における伸縮パラメータの集合を特定するのである。
【0147】
続いて、ステップS617で、変数iおよび伸縮パラメータ〔^Li * 〕〔L0 * により規定されるフレームをダウンサンプリング後のフレームとして選択して、処理を終了する。
【0148】
一方、ステップS609の判断処理に従って、ステップS608で算出した動き補償予測誤差が誤差ε’よりも小さくないことを判断するときには、ステップS618(図13のフローチャート)に進んで、変数nの値を1つインクリメントし、続くステップS619で、変数nの値が予め設定される最大値Nを超えたのか否かを判断して、最大値Nを超えていないことを判断するときには、ステップS620に進んで、Δの値をβだけ大きくしてから、ステップS608の処理に戻る。
【0149】
そして、ステップS619の判断処理により、変数nの値が最大値Nを超えたことを判断するときには、ステップS610に進んで、前述した処理と同様の処理を実行することで、ダウンサンプリング後のフレームを選択する。
【0150】
このようにして、ダウンサンプリング実行部121は、図12および図13のフローチャートを実行することで、図14に示す形態に従って伸縮パラメータLi の最大値Δを自動設定しつつ、フレームレートダウンサンプリング処理の流れ(その2)に従ってフレームレートのダウンサンプリング処理を実行するのである。
【0151】
図示実施例に従って本発明を説明したが、本発明はこれに限定されるものではない。例えば、実施例では、式(1)に従って、1つ前に選択したフレームとの間で動き補償予測誤差を算出するようにしているが、選択済みの複数のフレームとの間で動き補償予測誤差を算出するようにしてもよい。
【産業上の利用可能性】
【0152】
本発明は高フレームレート映像信号から低フレームレート映像信号へフレームレート変換を実行するときに適用できるものであり、本発明を適用することで、高フレームレート映像信号に対してのダウンサンプリングにより得られた所望のフレームレートの映像信号を符号化する場合に、均等フレーム間隔の間引きにより得られた映像信号よりも符号量を低く抑えることができるようになる。
【図面の簡単な説明】
【0153】
【図1】本発明によるフレームレートダウンサンプリング処理の説明図である。
【図2】本発明によるフレームレートダウンサンプリング処理の説明図である。
【図3】本発明のフレームレート変換装置の装置構成図である。
【図4】本発明のフレームレート変換装置の装置構成図である。
【図5】本発明のフレームレート変換装置の装置構成図である。
【図6】ダウンサンプリング実行部の実行するフローチャートである。
【図7】ダウンサンプリング実行部の実行するフローチャートである。
【図8】ダウンサンプリング実行部の実行するフローチャートである。
【図9】本発明によるフレームレートダウンサンプリング処理の説明図である。
【図10】ダウンサンプリング実行部の実行するフローチャートである。
【図11】ダウンサンプリング実行部の実行するフローチャートである。
【図12】ダウンサンプリング実行部の実行するフローチャートである。
【図13】ダウンサンプリング実行部の実行するフローチャートである。
【図14】本発明によるフレームレートダウンサンプリング処理の説明図である。
【図15】従来技術によるフレームレートダウンサンプリング処理の説明図である。
【符号の説明】
【0154】
1 フレームレート変換装置
10 高フレームレート映像ファイル
11 低フレームレート映像ファイル
12 フレームレートダウンサンプリング部
120 動き補償予測誤差算出部
121 ダウンサンプリング実行部
122 作業用メモリ
1210 入力部
1211 先頭フレーム選択部
1211α 開始フレーム選択部
1212 次フレーム位置特定部
1213 処理対象フレーム抽出部
1214 処理対象フレーム予測誤差算出部
1215 フレーム選択部
1216 全フレーム位置終了判定部
1217 フレーム最終選択部
1200 動き推定部

【特許請求の範囲】
【請求項1】
高フレームレート映像信号のフレームをダウンサンプリングにより選択することで低フレームレート映像信号に変換するフレームレート変換方法であって、
ダウンサンプリング比を入力する過程と、
ダウンサンプリング後のフレームを選択した場合に、前記ダウンサンプリング比と高フレームレート映像信号のフレーム間隔とに基づく等長間隔のダウンサンプリングにより規定される次のフレーム位置を特定する過程と、
前記フレーム位置を含む所定の範囲内にある複数のフレームを処理対象として、各処理対象フレームについて、その処理対象フレームでダウンサンプリングする場合に生成される低フレームレート映像信号の符号化効率を示す値である符号化効率表示値を算出する過程と、
前記処理対象フレームの中から最適な符号化効率表示値を示すフレームを選択して、それをダウンサンプリング後のフレームとして選択する過程とを備えることを、
特徴とするフレームレート変換方法。
【請求項2】
請求項1に記載のフレームレート変換方法において、
高フレームレート映像信号のフレームの中から、ダウンサンプリング後の先頭フレームとなるフレームを選択する過程を備えることを、
特徴とするフレームレート変換方法。
【請求項3】
請求項2に記載のフレームレート変換方法において、
前記所定の範囲の大きさを初期値から増大させて前記フレーム選択を行って、そのフレーム選択に用いた前記最適な符号化効率表示値の個々の値、あるいはそれらの値の総和が所望の符号化効率を示す最初の増大値を求めて、その求めた増大値の大きさを持つ前記所定の範囲を用いて前記フレーム選択を行ったときに選択したフレームをダウンサンプリング後のフレームとして最終的に決定する過程を備えることを、
特徴とするフレームレート変換方法。
【請求項4】
請求項1に記載のフレームレート変換方法において、
高フレームレート映像信号のフレームの中から、ダウンサンプリング後の先頭フレームの候補となる連続する複数のフレームを開始フレームとして選択する過程と、
前記開始フレームのそれぞれを起点として前記フレーム選択を行って、そのフレーム選択に用いた前記最適な符号化効率表示値の総和に基づいて、前記開始フレームの中から最適な符号化効率を示す開始フレームを選択して、その選択した開始フレームを起点として前記フレーム選択を行ったときに選択したフレームをダウンサンプリング後のフレームとして最終選択する過程とを備えることを、
特徴とするフレームレート変換方法。
【請求項5】
請求項4に記載のフレームレート変換方法において、
前記所定の範囲の大きさを初期値から増大させて前記フレームの最終選択を行って、そのフレームの最終選択に用いた前記最適な符号化効率表示値の総和、あるいはその総和を構成する個々の値が所望の符号化効率を示す最初の増大値を求めて、その求めた増大値の大きさを持つ前記所定の範囲を用いて前記フレームの最終選択を行ったときに最終選択したフレームをダウンサンプリング後のフレームとして最終的に決定する過程を備えることを、
特徴とするフレームレート変換方法。
【請求項6】
請求項1ないし5のいずれか1項に記載のフレームレート変換方法において、
前記算出する過程では、前記符号化効率表示値として、前記処理対象フレームと選択済みのフレームとに基づいて算出される動き補償予測誤差電力を算出することを、
特徴とするフレームレート変換方法。
【請求項7】
請求項1ないし5のいずれか1項に記載のフレームレート変換方法において、
前記算出する過程では、前記符号化効率表示値として、前記処理対象フレームと選択済みのフレームとに基づいて算出される符号化コストを算出することを、
特徴とするフレームレート変換方法。
【請求項8】
高フレームレート映像信号のフレームをダウンサンプリングにより選択することで低フレームレート映像信号に変換するフレームレート変換装置であって、
ダウンサンプリング比を入力する手段と、
ダウンサンプリング後のフレームを選択した場合に、前記ダウンサンプリング比と高フレームレート映像信号のフレーム間隔とに基づく等長間隔のダウンサンプリングにより規定される次のフレーム位置を特定する手段と、
前記フレーム位置を含む所定の範囲内にある複数のフレームを処理対象として、各処理対象フレームについて、その処理対象フレームでダウンサンプリングする場合に生成される低フレームレート映像信号の符号化効率を示す値である符号化効率表示値を算出する手段と、
前記処理対象フレームの中から最適な符号化効率表示値を示すフレームを選択して、それをダウンサンプリング後のフレームとして選択する手段とを備えることを、
特徴とするフレームレート変換装置。
【請求項9】
請求項1ないし7のいずれか1項に記載のフレームレート変換方法をコンピュータに実行させるためのフレームレート変換プログラム。
【請求項10】
請求項1ないし7のいずれか1項に記載のフレームレート変換方法をコンピュータに実行させるためのフレームレート変換プログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate