(57)【要約】【課題】シーンチェンジを含む動画像を滑らかにスロー再生できる動画再生装置を提供する。【解決手段】連続した複数の入力フレームからなる映像を入力する映像入力手段と、複数の入力フレームの中から互いに隣接する２枚の入力フレームを用いて、２枚の入力フレームの間の時刻に対応する補間フレームを生成する補間画像生成手段と、映像中のシーンチェンジを検出し、その検出結果に基づいて複数の入力フレームまたは補間フレームを時系列に出力して、映像を任意の再生速度で再生する映像再生手段とを備え、映像再生手段は、シーンチェンジを検出した場合に、第１のシーンの末尾の入力フレームおよび第２のシーンの先頭の入力フレームの間の時刻に対応する補間フレームの表示をスキップし、第１のシーンの末尾の入力フレームまたは補間フレームの後に第２のシーンの入力フレームまたは補間フレームを表示する。【選択図】図８
2015056695.tif 000002
【特許請求の範囲】
【請求項１】
連続した複数の入力フレームからなる映像を入力する映像入力手段と、
前記複数の入力フレームの中から互いに隣接する２枚の入力フレームを用いて、前記２枚の入力フレームの間の時刻に対応する補間フレームを生成する補間画像生成手段と、
前記映像中のシーンチェンジを検出するとともに、その検出結果に基づいて前記複数の入力フレームまたは前記補間フレームを時系列に出力することによって、前記映像を任意の再生速度で再生する映像再生手段と
を備え、
前記映像再生手段は、前記シーンチェンジを検出した場合に、第１のシーンの末尾の入力フレームおよび第２のシーンの先頭の入力フレームの間の時刻に対応する前記補間フレームの表示をスキップし、前記第１のシーンの末尾の入力フレームまたは前記補間フレームの後に前記第２のシーンの入力フレームまたは前記補間フレームを表示する動画再生装置。
【請求項２】
前記映像再生手段は、前記映像上のフレーム番号を示す整数部タイムカウンタおよび前記映像のフレーム間隔未満の時間を示す小数部タイムカウンタからなる入力映像タイムカウンタを有し、
前記入力映像タイムカウンタは、第１のフレームレートで入力された前記映像を第２のフレームレートで表示する場合、前記第１のフレームレートを前記第２のフレームレートで除した値に、前記再生速度を乗じた値が出力フレームごとに加算されることによって制御され、
前記映像再生手段は、前記入力映像タイムカウンタが示す時間位置に対応する、前記入力フレームまたは前記補間フレームを選択して再生することを特徴とする請求項１記載の動画再生装置。
【請求項３】
連続した複数の入力フレームからなる映像を入力する映像入力手段と、
前記複数の入力フレームの中から互いに隣接する２枚の入力フレームを用いて、前記２枚の入力フレームの間の時刻に対応する補間フレームを生成する補間画像生成手段と、
前記映像中のシーンチェンジを検出するとともに、その検出結果に基づいて前記複数の入力フレームまたは前記補間フレームを時系列に出力することによって、前記映像を任意の再生速度で再生する映像再生手段と、
を備え、
前記映像再生手段は、前記シーンチェンジを検出した場合に、第１のシーンの末尾の入力フレームに続けて表示するフレームを、
前記第１のシーンの末尾の入力フレームおよびその直前の入力フレームに基づいて前記第１のシーンの末尾の入力フレームよりも時間軸上において未来の位置について生成された前方外挿補間フレームを表示する第１の表示パターンと、
前記第２のシーンの先頭の入力フレームおよびその直後の入力フレームに基づいて前記第２のシーンの先頭の入力フレームより前記時間軸上において過去の位置について生成された後方外挿補間フレームを表示する第２の表示パターンと、
前記前方外挿補間フレームおよび前記後方外挿補間フレームを組み合わせて表示する第３の表示パターンのいずれかで表示することを特徴とする動画再生装置。
【請求項４】
連続した複数の入力フレームからなる映像を入力する映像入力手段と、
前記複数の入力フレームの中から互いに隣接する２枚の入力フレームを用いて、前記２枚のフレームの間の時刻に対応する補間フレームを生成する補間画像生成手段と、
前記複数の入力フレームまたは前記補間フレームのうち、連続する２枚以上のフレームの比重を時間軸上の位置関係に基づいて変化させながら重ね合わせた新たな補間フレームを生成する映像効果処理手段と、
前記映像中のシーンチェンジを検出するとともに、その検出結果に基づいて前記複数の入力フレーム、前記補間フレーム、または前記新たな補間フレームを時系列に出力することによって、前記映像入力手段に入力された映像を任意の再生速度で再生する映像再生手段と、
を備え、
前記映像再生手段は、前記シーンチェンジを検出した場合に、前記映像効果処理手段が前記シーンチェンジの前後の入力フレームの間の時刻に対応して生成した前記新たな補間フレームを前記第１のシーンの末尾の入力フレームまたは前記補間フレームに続けて表示することを特徴とする動画再生装置。
【請求項５】
前記映像再生手段は、通常の再生速度よりも遅い速度で再生することを特徴とする請求項１乃至請求項４のいずれか一項記載の動画再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、動画再生装置に関する。
【背景技術】
【０００２】
スムーズスロー動画補間再生とは、所定のフレームレートを持つ動画像を入力し、所定の速度よりも遅い再生を滑らかに行う再生方法である。この再生方法においては、入力された原画像に対して動き探索を行い、その動きベクトルを用いて補間画像を生成し、原画像の間に挿入しながら表示する。このため、原画像の同一フレームが複数回表示されることを防ぎ、滑らかなスロー再生を実現できる。
【０００３】
スムーズスロー動画補間再生に対する類似処理として、動き補償に基づくフレームレート変換（Frame Rate Conversion; FRC）がある。これは、第１のフレームレートを持つ動画像を第２のフレームレートへと変換する処理である。例えば、60fpsのフレームレートの動画像を、120fpsの表示能力を備えた液晶パネルに表示する際に、フレームレートを2倍の120fpsに変換する処理などが該当する。この際、動き補償に基づく補間フレームを生成し、原画像の間に挿入することで第２のフレームレートの画像を得る。これによって、変換後の動画像がより滑らかに表示される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１６６３８６号公報
【特許文献２】特開２００３−６９９６１号公報
【特許文献３】特許４３９６４９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、動画像にはシーンチェンジを含むことがある。シーンチェンジを挟んだ前後のフレームを用いて補間画像を生成すると、まったく相関のない画像を用いて動き補償を行うこととなり、乱れた画像が生成されてしまう。
【０００６】
そこで、FRC処理においてはシーンチェンジを検出し、通常の補間処理と異なる処理を行う。例えば、シーンチェンジを検出した際、それを挟んで時間的に先行または後続するフレームのいずれかを補間フレームとしてそのまま挿入する。あるいは、前後のフレームの平均を出力する。
【０００７】
しかし、スムーズスロー動画補間再生に対して、これらの補間処理を適用すると、スムーズに動いている動画像がシーンチェンジの前後に限り静止して表示されてしまう。例えば1/100倍速のスロー再生では、原画像２フレームの間に、99フレームの補間画像を生成する。これを60fpsの表示装置で再生する場合には２秒近く静止することになり、不自然さが知覚される。
【０００８】
そこで、本発明は、従来技術の問題に鑑み、シーンチェンジを含む動画像を滑らかにスロー再生できる動画再生装置を提供することを解決しようとする課題とする。
【課題を解決するための手段】
【０００９】
本発明の一実施形態に係る動画再生装置は、連続した複数の入力フレームからなる映像を入力する映像入力手段と、前記複数の入力フレームの中から互いに隣接する２枚の入力フレームを用いて、前記２枚の入力フレームの間の時刻に対応する補間フレームを生成する補間画像生成手段と、前記映像中のシーンチェンジを検出するとともに、その検出結果に基づいて前記複数の入力フレームまたは前記補間フレームを時系列に出力することによって、前記映像を任意の再生速度で再生する映像再生手段とを備える。前記映像再生手段は、前記シーンチェンジを検出した場合に、第１のシーンの末尾の入力フレームおよび第２のシーンの先頭の入力フレームの間の時刻に対応する前記補間フレームの表示をスキップし、前記第１のシーンの末尾の入力フレームまたは前記補間フレームの後に前記第２のシーンの入力フレームまたは前記補間フレームを表示する。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態１に係る動画再生装置のブロック図。
【図２】再生処理部のブロック図。
【図３】動き探索部の処理を説明する図。
【図４】実施形態１に係る動画再生装置が、0.3倍速再生時においてシーンチェンジを検出しない場合に表示させる画像の時系列における位置関係を示す図。
【図５】0.3倍速再生に対応する出力画像の例を示す図。
【図６】0.3倍速再生時のフレームメモリの内容、動き探索部の処理対象フレーム、シーンチェンジ検出部のシーンチェンジ検出結果、動き補償部の処理対象フレーム、および出力画像の時系列での変化を示した図。
【図７】実施形態１に係る動画再生装置が、0.3倍速再生時においてシーンチェンジを検出した場合に出力する画像の時系列における位置関係を示す図。
【図８】図７に対応する出力画像の例を示す図。
【図９】0.3倍速再生時のフレームメモリの内容、動き探索部の処理対象フレーム、シーンチェンジ検出部のシーンチェンジ検出結果、動き補償部の処理対象フレーム、および出力画像の時系列での変化を示した図。
【図１０】実施形態１における再生制御部の処理例を示すフローチャート。
【図１１】実施形態１に係る動画再生装置が、0.25倍速再生時においてシーンチェンジを検出した場合に出力する画像の時系列における位置関係のパターン（１）を示す図。
【図１２】実施形態１に係る動画再生装置が、0.25倍速再生時においてシーンチェンジを検出した場合に出力する画像の時系列における位置関係のパターン（２）を示す図。
【図１３】実施形態１に係る動画再生装置が、0.25倍速再生時においてシーンチェンジを検出した場合に出力する画像の時系列における位置関係のパターン（３）を示す図。
【図１４】実施形態１に係る動画再生装置が、0.25倍速再生時においてシーンチェンジを検出した場合に出力する画像の時系列における位置関係のパターン（４）を示す図。
【図１５】実施形態１に係る動画再生装置が、0.25倍速再生時においてシーンチェンジを検出した場合に出力する画像の時系列における位置関係のパターン（５）を示す図。
【図１６】実施形態１に係る動画再生装置が、0.25倍速再生時においてシーンチェンジを検出した場合に出力する画像の時系列における位置関係のパターン（６）を示す図。
【図１７】実施形態１に係る動画再生装置が、0.25倍速再生時においてシーンチェンジを検出した場合に出力する画像の時系列における位置関係のパターン（７）を示す図。
【図１８】実施形態１に係る動画再生装置が、0.25倍速再生時においてシーンチェンジを検出した場合に出力する画像の時系列における位置関係のパターン（８）を示す図。
【図１９】実施形態１に係る動画再生装置が、0.25倍速再生時においてシーンチェンジを検出した場合に出力する画像の時系列における位置関係のパターン（９）を示す図。
【図２０】図２に示す動き探索部の他の処理方法を説明する図。
【図２１】実施形態２における再生処理部の補間フレーム生成方法を説明する図。
【図２２】実施形態２における再生処理部がシーンチェンジを検出した場合の出力画像の例を示す図。
【図２３】図２２（ｂ）のときのフレームメモリの内容、動き探索部の処理対象フレーム、シーンチェンジ検出部のシーンチェンジ検出結果、動き補償部の処理対象フレームおよび出力画像の時系列での変化を示した図。
【図２４】実施形態２における再生制御部の処理例を示すフローチャート。
【図２５】動き探索処理（Ｓ２０５）の具体例を示すフローチャート。
【図２６】動き補償処理（Ｓ２０６）の具体例を示すフローチャート。
【図２７】実施形態３に係る動画再生装置の再生処理部のブロック図。
【図２８】実施形態３の再生処理部におけるシーンチェンジを検出しない場合の処理を示す図。
【図２９】シーンチェンジを検出した場合におけるフレームメモリの内容、動き探索部の処理対象フレーム、シーンチェンジ検出部のシーンチェンジ検出結果、動き補償部の処理対象フレーム、補間画像メモリの内容、映像効果処理部が生成するフレーム、および出力画像の時系列での変化を示す図。
【図３０】図２９に対応する出力画像の具体例を示す図。
【図３１】図２７に示す再生制御部の処理例を示すフローチャート。
【図３２】動き探索／動き補償処理（Ｓ５０７）の具体例を示すフローチャート。
【図３３】映像効果処理（Ｓ５０８）の具体例を示すフローチャート。
【図３４】実施形態３の変形例に係る動画再生装置が、0.3倍速再生時においてシーンチェンジを検出した場合に出力する画像の時系列における位置関係を示す図。
【図３５】図３２のＳ６０６〜Ｓ６０９の代わりに実行されるフローチャート。
【図３６】実施形態４に係る動画再生装置のブロック図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を用いて詳細に説明する。  
＜実施形態１＞
図１は、本実施形態に係る動画再生装置１００のブロック図である。動画再生装置１００は、全体制御部１０１、RFチューナ部１０４、復調部１０５、MPEGデコーダ部１０６、フレームメモリ１０７、画像補正部１０８、および再生処理部１０９を備えている。また、動画再生装置１００は、赤外線受光部１０２および表示装置２００にそれぞれ接続されている。赤外線受光部１０２は、ユーザの操作によってリモコン（図示しない）から出力された赤外線を受光し、受光信号を全体制御部１０１へ出力する。全体制御部１０１は、ユーザの選択チャンネル情報を含む受光信号に基づいて、選択チャネル番号ｃを変更する制御情報をRFチューナ部１０４に出力し、再生速度ｒを変更する制御情報を再生処理部１０９に出力する。全体制御部１０１は、動画再生装置１００を構成する各部を制御するCPUなどの制御装置である。
【００１２】
RFチューナ部１０４は、選択チャネル番号ｃの制御情報に基づいて受信する放送波の周波数を決定し、中間周波（IF）信号を復調部１０５に出力する。動画再生装置１００の外部に設けられているアンテナ１０３は、RFチューナ部１０４と配線で接続されており、受信した電波をRFチューナ部１０４へ伝送する。
【００１３】
復調部１０５は、各種の変調方式(例えばOFDM、VSBなど）で変調された中間周波信号をMPEGトランスポートストリームに復調し、MPEGデコーダ部１０６に出力する。変調方式は、デジタルテレビ放送規格（例えばISDBやATSC、DVBなど）に基づく。
【００１４】
MPEGデコーダ部１０６は、MPEGトランスポートストリームを、MPEGやMPEG4/AVC(H.264)などの符号化方式に基づいてデコードし、デコード画像をフレームメモリ１０７に出力する。デコード画像のフレームレートfvは、MPEGトランスポートストリーム内に符号化されており、例えば24fps、30fpsなどの値を持つ。また、MPEGデコーダ部１０６は、フレームメモリ１０７から参照画像を読み出す機能を備え、動き補償を用いたデコードも行う。フレームメモリ１０７は、例えば１６枚のデコード画像を格納できる容量を持つDRAMなどの記憶部である。
【００１５】
画像補正部１０８は、フレームメモリ１０７に書かれたデコード画像をフレームレートfvで読み出す。画像補正部１０８は、例えば以下のような画像処理を実行し、その処理結果をフレームメモリ１０７にフレームレートfvで書き戻す。  
（１）ガンマ補正またはより詳細なトーンカーブ補正処理  
（２）明度やコントラストの調整処理  
（３）YUV4:2:0形式のデコード画像の色差を拡大してYUV4:4:4形式に変換する処理  
（４）720x480画素のＳＤ解像度で放送されている映像の画素アスペクト比変換・拡大およびピラーボックス化を行ってＨＤ解像度に変換する処理  
（５）1440x1080画素で放送されている放送波の解像度を水平方向に拡大し、1920x1080画素に変換する処理
再生処理部１０９は、全体制御部１０１から指定された再生速度ｒ、フレームメモリに書き出されるデコード画像のフレームレートfv、およびLCDパネル部１１１の表示フレームレートfpに基づいた読み出し速度で、画像補正部１０８からフレームメモリ１０７内に書き戻された画像を再度読み出し、処理結果をLCDパネル駆動部１１０へ出力する。
【００１６】
また、表示装置２００は、LCDパネル駆動部１１０とLCDパネル部１１１を備えている。LCDパネル駆動部１１０は、水平同期信号や垂直同期信号などのLCDパネル制御信号とともに、表示映像（通常再生動画およびスムーズスロー動画）をLCDパネル部１１１へ出力する。
【００１７】
図２は、再生処理部１０９のブロック図である。映像再生手段である再生制御部１０９ａは、全体制御部１０１から再生速度rの制御情報を受け取るとともに、シーンチェンジ検出部１０９ｅからシーンチェンジ検出結果フラグを受け取る。再生制御部１０９ａは、フレームメモリ１０７の読み出しアドレスを求め、動き探索部１０９ｂおよび動き補償部１０９ｄに現在時刻に対応するタイムスタンプとともに出力する。また、再生制御部１０９ａは、映像上のフレーム番号を示す整数部タイムカウンタおよび映像のフレーム間隔未満の時間を示す小数部タイムカウンタからなる入力映像タイムカウンタを有する。この入力映像タイムカウンタは、第１のフレームレートで入力された映像を第２のフレームレートで表示する場合には、第１のフレームレートを第２のフレームレートで除した値に対して、再生速度を乗じた値が出力フレームごとに加算されることによって制御される。第１のシーンから第２のシーンへのシーンチェンジが検出された場合、再生制御部１０９ａは、入力映像タイムカウンタの値が第１のシーンの末尾のフレームと第１のシーンの直後の第２のシーンの先頭のフレームとの間に位置する場合に、整数部タイムカウンタの値を第２のシーンの先頭のフレームを示す値に、かつ、小数部タイムカウンタの値を０にそれぞれ再設定する。
【００１８】
動き探索部１０９ｂは、フレームメモリ１０７から基準画像と、その直前にある１枚の参照画像とを読み出し、ブロックマッチングにより最適な動きベクトルを求める動き探索を行う。動き探索部１０９ｂは、基準画像の各画素から参照画像を指す動きベクトルを求め、基準画像１フレーム分の結果を動きベクトル記憶部１０９ｃに格納する。再生制御部１０９ａおよび動き探索部１０９ｂにより映像入力手段が構成される。
【００１９】
動きベクトル記憶部１０９ｃは、２フレーム分の動きベクトルを格納できる容量を持ち、フレームごとに領域の用途が切り替わるダブルバッファ構成となっている。すなわち、全体容量のうち、１フレーム分は動き探索部１０９ｂの書き出し先に、１フレーム分は動き補償部１０９ｄの読み出し元となる。
【００２０】
動き補償部１０９ｄは、動きベクトル記憶部１０９ｃから動きベクトルを読み出し、フレームメモリ１０７から動き探索で利用した基準画像および参照画像を読み出し、補間画像を生成する。なお、動き補償部１０９ｄは、補間画像の生成が不要である場合、いずれかの画像をそのまま出力する。動き探索部１０９ｂ、動きベクトル記憶部１０９ｃおよび動き補償部１０９ｄにより補間画像生成手段が構成される。
【００２１】
シーンチェンジ検出部１０９ｅは、動き探索結果と対応するブロックマッチング時の評価コストを受け取る。そして、動き探索部１０９ｂが１フレーム分の基準画像の処理を終えたときに、基準画像と参照画像との間にシーンチェンジを検出した場合には「１」、検出しない場合に「０」の値をとるシーンチェンジ検出フラグを再生制御部１０９ａに出力する。動き探索部１０９ｂおよびシーンチェンジ検出部１０９ｅは、再生制御部１０９ａとともに映像再生手段を構成する。
【００２２】
図３は、図２に示す動き探索部１０９ｂの処理を説明する図である。フレームF1は基準画像、フレームF0は参照画像とする。また、I01(0.3)は、動き探索の結果を用いて生成される補間フレームである。数値「01」はF0とF1の間であることを示す。また、数値「0.3」は、F0→F1間の時間間隔を1としたとき、0.3の時間に位置することを示す。
【００２３】
動き探索処理は、フレームF1のある領域、例えば8x8画素単位で分割したブロック毎に注目して行う。このとき、注目ブロックと同一の位置にあるフレームF0上のブロックを中心とした例えば64x64画素などの所定の範囲内で最も注目ブロックに近い画像となる動きベクトルを求める。評価コスト値としては、例えば画像同士の差分絶対値和や差分二乗和などを用いる。そして、得られた動きベクトルを(1 - 0.3) = 0.7倍した位置の8x8画素について、フレームI01(0.3)上に、F0側に動きベクトルの0.3倍、F1側に動きベクトルの-0.7倍の値を割り当てる。これをフレームF1の全てのブロックに対して行い、I01(0.3)に対応する1フレーム分の動きベクトルを動きベクトル記憶部１０９ｃに格納する。なお、この処理において、フレームF1上の互いに異なるブロックからの動きベクトルがフレームI01(0.3)上で衝突する領域や、フレームI01(0.3)上に何も動きベクトルが割り当たらない領域が発生することがある。衝突した場合は、動きベクトルの評価コスト値の小さい方を残す、何も割り当たらない領域がある場合は、フレームI01(0.3)上の周辺画素からコピーするなどの方法で画素を埋める。
【００２４】
次に、シーンチェンジを検出しないときの動画再生装置１００におけるスロー再生処理について、図４、図５および図６を用いて説明する。図４は、本実施形態に係る動画再生装置１００が、0.3倍速再生時においてシーンチェンジを検出しない場合に表示させる画像の時系列における位置関係を示す図である。フレームF0を起点として0.3倍速再生を行うと、動画再生装置１００は、0.3フレーム分ずつ進んだ時刻の補間画像を生成・出力する（フレームI01(0.3)、I01(0.6)、……）。そして、整数フレーム位置に対応する時刻に至った場合には入力画像をそのまま出力する（フレームF3）。
【００２５】
図５は、0.3倍速再生に対応する出力画像の例を示す図である。また、図６は、0.3倍速再生時のフレームメモリ１０７の内容、動き探索部１０９ｂの処理対象フレーム、シーンチェンジ検出部１０９ｅのシーンチェンジ検出結果、動き補償部１０９ｄの処理対象フレーム、および出力画像の時系列での変化を示した図である。
【００２６】
図６において、フレームメモリ１０７は少なくとも再生処理部１０９が使う分として８フレーム分の領域を備えており、（ ）内に示すフレームＩＤは、画像補正部１０８が処理および出力中であることを示す。また、空白領域は、内容が空または未確定であることを示す。時刻t7において、フレームF7について画像補正部１０８からの出力が完了し、フレームメモリ１０７の空きがなくなる。このとき、全体制御部１０１は画像補正部１０８の出力を停止させるなどの手段をとり、フレームメモリ１０７が上書きされることを防ぐ。なお、MPEGデコーダ部１０６が使う領域は、図示した領域とは別に存在する。
【００２７】
また、動き探索部の行に示されたフレームは、動き探索部１０９ｂの入力である。例えば、「F0, F1」は、フレームF1を基準としてフレームF0を探索することを示す。シーンチェンジ検出部の行に示された値は、シーンチェンジ検出部１０９ｅの出力である。シーンチェンジ検出部１０９ｅは、探索結果を受けて、動き探索部１０９ｂが１フレーム分の探索処理を終えると、その探索に関するシーンチェンジ検出結果を更新して出力する。例えば、時刻t1からt2の間でフレームF0,F1に関して動き探索を行った際のシーンチェンジ検出結果は、時刻t2においてシーンチェンジ検出部１０９ｅから更新して出力される。なお、動き探索部１０９ｂが動作しないときは、シーンチェンジ検出結果を更新せず、以前の出力値を保つ。
【００２８】
動き補償部の行に示されたフレームは、動き補償部１０９ｄの入力である。例えば、「F0, F1」は、動きベクトル記憶部１０９ｃに格納されたフレームF0,F1に関する探索結果を読み出しつつ、これらのフレームを用いた動き補償によって補間画像を生成することを示す。生成された出力画像は、例えばI01(0.3)となる。
【００２９】
次に、本実施形態に係る動画再生装置１００において、スロー再生時にフレームF1とF2との間にシーンチェンジを検出した場合の動作について、図７乃至図１０を用いて説明する。実施形態１では、シーンチェンジ時にフレーム補間をスキップする。  
図７は、実施形態１に係る動画再生装置１００が、0.3倍速再生時においてシーンチェンジを検出した場合に出力する画像の時系列における位置関係を示す図である。図７に示すように、シーンチェンジを検出したフレームF1とF2との間の補間フレームは生成せずにフレームF2に移る。これにより、シーンチェンジ時も滑らかな表示を保つ。
【００３０】
図８は、図７に対応する出力画像の例を示す図である。0.3倍速再生すると、補間フレームI01(0.9)に続いて、フレームF2が表示され、その後補間フレームI23(0.3)、I23(0.6)、I23(0.9)が順に表示される。
【００３１】
図９は、0.3倍速再生時のフレームメモリ１０７の内容、動き探索部１０９ｂの処理対象フレーム、シーンチェンジ検出部１０９ｅのシーンチェンジ検出結果、および動き補償部１０９ｄの処理対象フレーム、および出力画像の時系列での変化を示した図である。時刻t5において、フレームF1,F2の動き探索結果に基づくシーンチェンジ検出結果が１となり、その後時刻t5〜t6間ではフレームF2,F3の動き探索を行い、以降時刻t6〜t9間ではフレームF2,F3間の補間フレームの生成および出力処理に移る。
【００３２】
図１０は、本実施形態における再生制御部１０９ａの処理例を示すフローチャートである。  
再生制御部１０９ａは、動き補償部１０９ｄのためのタイムカウンタを表す変数tv、動き探索部１０９ｂのためのタイムカウンタを表す変数ntv、シーンチェンジ検出フラグである変数scを初期化する（Ｓ１０１）。  
[メモリ初期化]：tv = 0，ntv = (fv/fp) * r，sc = 0  
変数fvは、デコード画像のフレームレート[fps]、変数fpはLCDパネル部１１１の表示フレームレート[fps]を表す。  
次に、再生制御部１０９ａは、シーンチェンジ検出フラグscが１、すなわち、シーンチェンジを検出したか否かを判定する（Ｓ１０３）。  
シーンチェンジを検出しない場合（Ｓ１０３−Ｎｏ）、再生制御部１０９ａは、タイムカウンタntvが整数値か否かを判定する（Ｓ１０４）。タイムカウンタntvが整数値以外である場合（Ｓ１０４−Ｎｏ）、再生制御部１０９ａは、F[floor(ntv)],F[floor(ntv)+1],ntvを入力パラメータとして動き探索部１０９ｂを起動する（Ｓ１０５）。ただしfloor(x)はxの値を整数値へ切り捨てた値を表す。また、[]内はF0, F1のようなフレーム番号を表す。
【００３３】
一方、タイムカウンタntvが整数値である場合（Ｓ１０４−Ｙｅｓ）、Ｓ１０６に進む。再生制御部１０９ａは、タイムカウンタtvが整数値か否かを判定する（Ｓ１０６）。タイムカウンタtvが整数値以外である場合（Ｓ１０６−Ｎｏ）、再生制御部１０９ａは、F[floor(tv)], F[floor(tv)+1], tvを入力パラメータとして動き補償部１０９ｄを起動する（Ｓ１０７）。
【００３４】
そして、再生制御部１０９ａは、動き補償部１０９ｄにおける処理結果I[floor(tv)][floor(tv)+1](tv-floor(tv))を出力画像とし（Ｓ１０８）、Ｓ１１３へ進む。  
一方、タイムカウンタtvが整数値である場合（Ｓ１０６−Ｙｅｓ）、再生制御部１０９ａは、F[tv]を出力画像とし（Ｓ１０９）、Ｓ１１３へ進む。
【００３５】
シーンチェンジを検出した場合（Ｓ１０３−Ｙｅｓ）、再生制御部１０９ａは、F[ceil(tv)]を出力画像とする（Ｓ１１０）。ただし、ceil(x)はxの値を整数値に切り上げた値を表す。  
そして、再生制御部１０９ａは、タイムカウンタtvおよびタイムカウンタntvの値を更新する（Ｓ１１１）。  
[メモリ更新]：tv = ceil(tv)，ntv = tv + (fv/fp) * r
次に、再生制御部１０９ａは、F[floor(ntv)], F[floor(ntv)+1],ntvを入力パラメータとして動き探索部１０９ｂを起動する（Ｓ１１２）。
【００３６】
シーンチェンジの有無を判定し、出力画像が決定すると、再生制御部１０９ａは、タイムカウンタtv、タイムカウンタntvおよびシーンチェンジ検出フラグscの値を更新する（Ｓ１１３）。  
[メモリ更新]：tv = ntv，ntv = ntv + (fv/fp) * r，sc = (シーンチェンジ検出結果)
そして、再生制御部１０９ａは、次のVSYNCまで待機し（Ｓ１１４）、Ｓ１０３へ戻る。再生制御部１０９ａは、スロー再生停止の指示があるまでＳ１０３〜Ｓ１１４の処理を繰り返す。
【００３７】
従来の処理内容との違いはシーンチェンジ検出時の処理にある。シーンチェンジを検出した場合には、変数tvを整数に切り上げる。このため、シーンチェンジの間に位置する補間フレームの生成をスキップするとともに、次のフレームF2の表示に移ることができる。同時に、変数ntvを、整数に切り上げた変数tvに次の表示フレームまでの時刻を加算した値とすることで、次の補間フレームのための動き探索処理を開始することができる。
【００３８】
なお、再生制御部１０９ａがタイムカウンタntvを、デコード画像のフレームレートfv、およびLCDパネル部１１１の表示フレームレートfp、再生速度rであるとき、(fv/fp)*rを出力画像のフレーム毎に逐次加算していくように制御する。この結果、再生処理部１０９において、従来型のFRC処理とともに、r=1を含む任意の再生倍率での再生を行うことができる。
【００３９】
このように本実施形態では、シーンチェンジ検出時には、シーンチェンジ前後のフレームの間の時刻に対応する補間フレームの表示をスキップし、後続のシーンの表示に移る制御を行う。このため、シーンチェンジのタイミングにおいて、乱れた画像を表示したり、同じフレームを何度も出力することで不自然に静止したように見えたりすることがなく、シーンチェンジの前後でもスムーズなスロー再生を保つことができる。
【００４０】
また、このタイムカウンタntvを、シーンチェンジ時に整数値に切り上げて制御する。このため、シーンチェンジ発生時に後続のシーンの表示に即座に移る場合の制御をタイムカウンタntvの値に基づいて実現できる。
【００４１】
実施形態１の変形例  
図７乃至図９においては再生速度r=0.3の例で説明した。これらの図において、シーンチェンジ前後では、先行するシーンの最後のフレームは表示せず、後続シーンの先頭フレームの表示に移った。
【００４２】
一方、図１１乃至図１９は、0.25倍速再生時においてシーンチェンジを検出した場合に出力する画像の時系列における位置関係を示す図である。
【００４３】
図１１では、先行シーンの末尾のフレームF1の直前に隣接するフレームF0、フレームF1とその直前に隣接するフレームF0とを用いて生成された補間フレームI01(0.25),I01(0.5),I01(0.75)、フレームF1、後続シーンの先頭のフレームF2、フレームF2とその直後に隣接するフレームF3とを用いて生成された補間フレームI23(0.25),I23(0.5),I23(0.75)、フレームF2の直後に隣接するフレームF3を時系列に表示している（表示パターン１）。
【００４４】
図１２では、フレームF0、補間フレームI01(0.25),I01(0.5),I01(0.75)、フレームF2、補間フレームI23(0.25),I23(0.5),I23(0.75)、フレームF3を時系列に表示している（表示パターン２）。表示パターン１とは、フレームF1を非表示としている点が異なっている。
【００４５】
図１３では、フレームF0、補間フレームI01(0.25),I01(0.5),I01(0.75)、フレームF1、補間フレームI23(0.25),I23(0.5),I23(0.75)、フレームF3を時系列に表示している（表示パターン３）。表示パターン２とは、フレームF1を表示、フレームF2を非表示としている点が異なっている。
【００４６】
図１４では、フレームF0、補間フレームI01(0.25),I01(0.5),I01(0.75)、補間フレームI23(0.25),I23(0.5),I23(0.75)、フレームF3を時系列に表示している（表示パターン４）。表示パターン１とは、フレームF1およびフレームF２を非表示としている点が異なっている。
【００４７】
図１５では、フレームF0、補間フレームI01(0.25)、フレームF2、補間フレームI01よりも多い数の補間フレームI23(0.25),I23(0.5),I23(0.75)、フレームF3を時系列に表示している（表示パターン５）。表示パターン２とは、表示する補間フレームI01の数が異なっている。
【００４８】
図１６では、フレームF0、補間フレームI01(0.25)、補間フレームI23(0.75)、フレームF3を時系列に表示している（表示パターン６）。表示パターン４とは、表示する補間フレームI01および補間フレームI23の数が異なっている。
【００４９】
図１７では、フレームF0、補間フレームI01(0.25),I01(0.5),I01(0.75)、補間フレームI01よりも少ない数の補間フレームI23(0.75)、フレームF3を時系列に表示している（表示パターン７）。表示パターン４とは、表示する補間フレームI23の数が異なっている。
【００５０】
図１８では、フレームF0、補間フレームI01(0.25),I01(0.5),I01(0.75)、フレームF1、補間フレームI01よりも少ない数の補間フレームI23(0.75)、フレームF3を時系列に表示している（表示パターン８）。表示パターン３とは、表示する補間フレームI23の数が異なっている。
【００５１】
図１９では、フレームF0、補間フレームI01(0.25),、補間フレームI01よりも多い数の補間フレームI23(0.25),I23(0.5),I23(0.75)、フレームF3を時系列に表示している（表示パターン９）。表示パターン５とは、フレームF２を非表示としている点が異なっている。
【００５２】
このように、各図の表示パターンでは、先行シーンの最後のフレームF1や、後続シーンの最初のフレームF2の表示あるいは非表示が制御されている。いずれもシーンチェンジの前後で滑らかな再生が維持されているため、このような表示がなされるように再生制御部１０９ａを構成してもよい。
【００５３】
また、再生制御部１０９ａの動き探索処理も、フレームF1のある領域に注目して順次進めていく方法ではなく、図２０に示すように、補間フレーム上の領域、例えば8x8画素単位で分割したブロックに注目して点対称探索を行ってもよい。すなわち、フレームF0上の注目ブロックと同一の位置にあるフレームF0上の所定の範囲に対し、フレームI01(0.3)を中心として点対称の位置に存在する画像同士を評価対象とし、最も近い画像となる動きベクトルをその注目ブロックの動きベクトルとする方法である。
【００５４】
＜実施形態２＞
実施形態２では、シーンチェンジ検出時において、シーンチェンジ前、シーンチェンジ後、あるいはシーンチェンジ前後後のフレームから生成して外挿した補間フレームを表示する場合について述べる。
【００５５】
図２１は、実施形態２における再生処理部１０９の補間フレーム生成方法を説明する図である。図２１（ａ）は、シーンチェンジを検出しない場合におけるフレームの内挿補間を説明する図である。ここでは、フレームF0とF1の間に補間フレームI01(0.3)が挿入されている。これに対し、図２１（ｂ）は、シーンチェンジを検出した場合におけるフレームの外挿補間を説明する図である。フレームF1とF2の間でシーンチェンジが存在する。実施形態１の場合には、このフレーム区間内には補間フレームは生成しなかった。しかし、実施形態２においては、シーンチェンジ前または／および後のフレームから補間画像を生成し外挿する。I01(1.2)は、前方のフレームF0とF1に基づいて生成され、F1とF2の間に挿入されている。I23(-0.2)は、後方のフレームF2とF3に基づいて生成され、F1とF2の間に挿入されている。
【００５６】
図２２は、実施形態２における再生処理部１０９がシーンチェンジを検出した場合に出力する出力画像の例を示す図である。図２１と同様に、フレームF1とF2との間にシーンチェンジが存在する。これを0.3倍速再生すると、図２２(ａ)の場合には、補間フレームI01(0.9)に続いて、シーンチェンジ前方のフレームF0およびF1から求めた補間フレームI01(1.2), I01(1.5), I01(1.8)が表示されている。
【００５７】
図２２(ｂ)の場合には、補間フレームI01(0.9)に続いて、シーチェンジ後方のフレームF2およびF3から求めた補間フレームI23(-0.8), I23(-0.5), I23(-0.2)が表示されている。図２２(ｃ)の場合には、補間フレームI01(0.9)に続いて、シーンチェンジ前方のフレームF0およびF1から求めた補間フレームI01(1.2)が表示されるとともに、I01(1.2)の後には、シーチェンジ後方のフレームF2およびF3から求めた補間フレーム I23(-0.5)，I23(-0.2)が表示されている。図２２（ａ）〜（ｃ）のいずれの場合も、シーンチェンジ時に滑らかな表示を保つことができる。
【００５８】
図２３は、図２２（ｂ）のときのフレームメモリ１０７の内容、動き探索部１０９ｂの処理対象フレーム、シーンチェンジ検出部１０９ｅのシーンチェンジ検出結果、動き補償部１０９ｄの処理対象フレーム、および出力画像の時系列での変化を示した図である。動き探索をあらかじめ先行して行い、シーンチェンジ検出後のタイミングで前方からの外挿を行って補間フレームを生成している。
【００５９】
図２４は、本実施形態における再生制御部１０９ａの処理例を示すフローチャートである。  
再生制御部１０９ａは、メモリ上に記憶される変数をそれぞれ初期化する（Ｓ２０１）。  
[メモリ初期化]：tv = 0，ntv = (fv/fp) * r，cur_sc = 0, sc[] = 0, mode[] = 0，pbank = 0, bank = 0
変数tvは動き補償部１０９ｄのためのタイムカウンタ、変数ntvは動き探索部１０９ｂのためのタイムカウンタである。変数fvはデコード画像のフレームレート[fps]、変数fpはLCDパネル部１１１の表示フレームレート[fps]を表す。変数cur_scは動き探索実施時のシーンチェンジ検出フラグである。sc[MAX_BANK]およびmode[MAX_BANK]は、保持しているシーンチェンジ検出フラグと動き探索のモードを示している。MAX_BANKは、動きベクトル記憶部１０９ｃに記憶できる動きベクトルのフレーム数を示す。変数pbankは動き探索時に情報を書き込む位置、変数bankは動き補償時に情報を読み込む位置を示す。
【００６０】
次に、再生制御部１０９ａは、F[floor(ntv)],F[floor(ntv)+1],ntvを入力パラメータとして動き探索部１０９ｂを起動する（Ｓ２０２）。
【００６１】
次に、再生制御部１０９ａは、タイムカウンタntv、mode[pbank] 、シーンチェンジ検出フラグcur_sc、sc[pbank]、pbankの値を更新する（Ｓ２０３）。  
[メモリ更新]：ntv = ntv + (fv/fp) * r，mode[pbank] = 0，  
cur_sc = (シーンチェンジ検出結果)，  
sc[pbank] = cur_sc，pbank=(pbank+1) & (MAX_BANK)-1)
次に、再生制御部１０９ａは、動き探索部１０９ｂを起動し、動き探索処理を実行する（Ｓ２０５）。  
次に、再生制御部１０９ａは、動き補償部１０９ｄを起動し、動き補償処理を実行する（Ｓ２０６）。  
次に、再生制御部１０９ａは、タイムカウンタtvおよびタイムカウンタntvの値を更新する（Ｓ２０７）。  
[メモリ更新]：tv = tv + (fv/fp)*r ，ntv = ntv + (fv/fp) * r
そして、再生制御部１０９ａは、次のVSYNCまで待機し（Ｓ２０８）、Ｓ２０５へ戻る。再生制御部１０９ａは、スロー再生停止の指示があるまでＳ２０５〜Ｓ２０８の処理を繰り返す。
【００６２】
図２５は、動き探索処理（Ｓ２０５）の具体例を示すフローチャートである。  
再生制御部１０９ａは、シーンチェンジ検出フラグcur_scが１、すなわち、シーンチェンジを検出したか否かを判定する（Ｓ３０１）。シーンチェンジを検出していないと判定した場合（Ｓ３０１−Ｎｏ）、再生制御部１０９ａは、タイムカウンタntvの値が整数値か否かを判定する（Ｓ３０２）。
【００６３】
タイムカウンタntvの値が整数値であると判定した場合（Ｓ３０２−Ｙｅｓ）、再生制御部１０９ａは、(ntv - tv) の値が((fv/fb)*r) * PRE_NUMの値よりも小さいか否かを判定する（Ｓ３０３）。PRE_NUMは、何フレーム分の動きベクトルを先行して実行するかを示す。再生制御部１０９ａは、(ntv - tv) の値が((fv/fb)*r) * PRE_NUMの値よりも小さいと判定した場合（Ｓ３０３−Ｙｅｓ）、タイムカウンタntvの値をntv + (fv/fp) * r の値で更新する（Ｓ３０４）。  
一方、(ntv - tv) の値が((fv/fb)*r) * PRE_NUMの値以上であると判定した場合（Ｓ３０３−Ｎｏ）には、図２４のＳ２０６へ進む。タイムカウンタntvの値が整数値以外であると判定した場合（Ｓ３０２−Ｎｏ）、再生制御部１０９ａは、F[floor(ntv)], F[floor(ntv)+1], ntvを入力パラメータとして動き探索部１０９ｂを起動する（Ｓ３０５、）。  
次に、再生制御部１０９ａは、変数値を更新する（Ｓ３０６）。
【００６４】
[メモリ更新]：mode[pbank] = 0，cur_sc = (シーンチェンジ検出結果)，sc[pbank] =cur_sc
次に、再生制御部１０９ａは、シーンチェンジ検出フラグcur_scの値に基づいてシーンチェンジを検出したか否かを判定する（Ｓ３０７）。シーンチェンジを検出した（cur_sc = 1）と判定した場合（Ｓ３０７−Ｙｅｓ）、再生制御部１０９ａは、タイムカウンタntvの値を ntv -(fv/fp) * rの値で更新する（Ｓ３０８）。  
一方、シーンチェンジを検出していない（cur_sc = 0）と判定した場合（Ｓ３０７−Ｎｏ）、再生制御部１０９ａは、pbankの値を(pbank+1) & (MAX_BANK-1)の値で更新する（Ｓ３０９）。
【００６５】
また、シーンチェンジを検出したと判定した場合（Ｓ３０１−Ｙｅｓ）、再生制御部１０９ａは、シーンチェンジの前後のフレーム間の時刻に対応する補間フレームの生成処理を前方からの外挿モードによって実行するか否かを判定する（Ｓ３１０）。前方からの外挿モードで実行すると判定した場合（Ｓ３１０−Ｙｅｓ）、再生制御部１０９ａは、F[floor(ntv)-1], F[floor(ntv)], ntvを入力パラメータとして動き探索部１０９ｂを起動する（Ｓ３１１）。
【００６６】
一方、前方からの外挿モード以外で実行すると判定した場合（Ｓ３１０−Ｎｏ）、再生制御部１０９ａは、F[ceil(ntv)], F[ceil(ntv)+1], ntvを入力パラメータとして動き探索部１０９ｂを起動する（Ｓ３１２）。  
次に、再生制御部１０９ａは、変数値を更新する（Ｓ３１３）。
【００６７】
[メモリ更新]：mode[pbank] = (動き探索モード)，sc[pbank] = 1，pbank=(pbank+1)&(MAX_BANK-1)
次に、再生制御部１０９ａは、floor(ntv) の値が floor(ntv+(fv/fb)*r)の値と一致するか否かを判定する（Ｓ３１４）。ここで、floor(ntv) の値が floor(ntv+(fv/fb)*r)の値と一致しないと判定した場合（Ｓ３１４−Ｙｅｓ）、再生制御部１０９ａは、シーンチェンジ検出フラグcur_scを０に初期化し（Ｓ３１５）、図２４のＳ２０６へ進む。一方、floor(ntv) の値がfloor(ntv+(fv/fb)*r)の値と一致すると判定した場合（Ｓ３１４−Ｎｏ）、シーンチェンジ検出フラグcur_scを更新することなく、図２４のＳ２０６へ進む。
【００６８】
図２６は、動き補償処理（Ｓ２０６）の具体例を示すフローチャートである。  
再生制御部１０９ａは、タイムカウンタtvが整数値であるか否かを判定する（Ｓ４０１）。タイムカウンタtvが整数値ではないと判定した場合（Ｓ４０１−Ｎｏ）、再生制御部１０９ａは、補間フレームの挿入モードmode[bank]を判定する（Ｓ４０２）。挿入モードが内挿モードであると判定した場合（Ｓ４０２：mode[bank] = 0）、再生制御部１０９ａは、F[floor(tv)], F[floor(tv)+1], tvを入力パラメータとして動き補償部１０９ｄを起動する（Ｓ４０３）。
【００６９】
次に、再生制御部１０９ａは、動き補償部１０９ｄにおいて処理した補間フレームI[floor(tv)][floor(tv)+1](tv-floor(tv))を出力画像とし（Ｓ４０４）、Ｓ４０９へ進む。  
また、挿入モードが前方からの外挿モードであると判定した場合（Ｓ４０２：mode[bank] = 1）、再生制御部１０９ａは、F[floor(tv)-1], F[floor(tv)], tvを入力パラメータとして動き補償部１０９ｄを起動する（Ｓ４０５）。  
次に、再生制御部１０９ａは、動き補償部１０９ｄにおいて処理した補間フレームI[floor(tv)-1][floor(tv)](tv-floor(tv)-1)を出力画像とし（Ｓ４０６）、Ｓ４０９へ進む。
【００７０】
また、挿入モードが後方からの外挿モードであると判定した場合（Ｓ４０２：mode[bank] = 2）、再生制御部１０９ａは、F[ceil(tv)], F[ceil(tv)+1], tvを入力パラメータとして動き補償部１０９ｄを起動する（Ｓ４０７）。  
次に、再生制御部１０９ａは、動き補償部１０９ｄにおいて処理した補間フレームI[ceil(tv)][ceil(tv)+1](tv-ceil(tv))を出力画像とする（Ｓ４０８）。  
そして、再生制御部１０９ａは、変数bank の値を(bank+1)&(MAX_BANK-1)の値で更新し（Ｓ４０９）、図２４のＳ２０７へ進む。
【００７１】
一方、タイムカウンタtvが整数値と判定した場合（Ｓ４０１−Ｙｅｓ）、再生制御部１０９ａは、フレームF[tv]を出力画像とし（Ｓ４１０）、図２４のＳ２０７へ進む。
【００７２】
本実施形態に係る動画再生装置１００と従来の装置における処理内容の違いは大きく分けて３つある。  
（１）動き探索の先行
本実施形態は、動き探索を補間画像出力に対して２タイムスロット分以上先行して行う。これにより、シーンチェンジを検出した際に外挿補間したフレームを、間を空けることなく出力することができる。
【００７３】
（２）シーンチェンジに関連する動き探索の挙動
本実施形態は、シーンチェンジが検出された場合、次のタイムスロットではシーンチェンジフラグを１とした状態で同じ補間フレームに対して再度動き探索を行う。これにより、先行して行っている動き探索の数が減るが、動き探索する必要がない整数位置のフレームを動き探索フレームとして示された際には、その次のフレームを動き探索する。なお、シーンチェンジが検出されている状態での動き探索では、前方または後方から動きベクトルを外挿して行う。動きベクトルを外挿する方向は、外部からの指定またはシーンチェンジ前後の画像情報によって決められる。
【００７４】
（３）シーンチェンジに関連する動き補償の挙動
本実施形態は、動き探索時に内挿、前方からの外挿、後方からの外挿のいずれを行ったかによって、動き補償部１０９ｄに入力するフレームを変更する。
【００７５】
このように本実施形態では、シーンチェンジ検出時において、シーンチェンジ前または／および後のフレームから生成して外挿した補間フレームを表示することにより、シーンチェンジ前後での表示の滑らかさを保ちつつ、スロー再生することができる。
【００７６】
＜実施形態３＞  
実施形態３は、スムーズスロー再生時にシーンチェンジを検出した場合、シーンチェンジ前後の表示フレームに対して映像効果を加えて生成した補間フレームを挿入する。
【００７７】
図２７は、本実施形態に係る動画再生装置１００の再生処理部１０９の構成例を示すブロック図である。再生処理部１０９は、補間画像メモリ１０９ｆと、映像効果処理部１０９ｇを更に備える。
【００７８】
補間画像メモリ１０９ｆは、動き補償後の補間画像を保存する。映像効果処理部１０９ｇは、フレームメモリ１０７から入力された複数のフレームまたは補間フレームのうち、連続する２枚以上のフレームの比重（表示比率）を時間軸上の位置関係に基づいて変化させながら重ね合わせる等の映像効果を施した新たなフレームを生成する。
【００７９】
映像効果とは、反転、キーイング、スタイライズ、クロスフェード、ワイプなど一般的な映像処理以外に元画像をそのまま使うことも含む。また、2枚の画像から生成する映像効果の場合は、フレームの再生位置を示す変数により2枚の画像の比重を調整することで実現できる。補間画像メモリ１０９ｆと映像効果処理部１０９ｇにより映像効果処理手段が構成されている。
【００８０】
図２８は、本実施形態の再生処理部１０９がシーンチェンジを検出しない場合の処理を示す図である。出力画像が動き探索に対して１タイムスロット分のレイテンシを持っている。ここでは、映像効果処理部１０９ｇへ入力可能な補間フレームを示すため補間画像メモリ１０９ｆの内容も示している。ただし、図２８の例では各入力フレーム間の動き探索結果を保存しておき、動き補償部１０９ｄにおいて補間フレーム生成に必要な動き探索結果を参照しているため、各入力フレーム間で動き探索は１回行われる。
【００８１】
本実施形態では、シーンチェンジの位置に対応する時刻では動き補償部１０９ｄを動作させず、補間画像メモリ１０９ｆから読み出した画像を入力として映像効果処理部１０９ｇを起動し、補間画像を生成し、再生する。
【００８２】
図２９は、シーンチェンジを検出した場合におけるフレームメモリ１０７の内容、動き探索部１０９ｂの処理対象フレーム、シーンチェンジ検出部１０９ｅのシーンチェンジ検出結果、動き補償部１０９ｄの処理対象フレーム、補間画像メモリ１０９ｆの内容、映像効果処理部１０９ｇが生成する補間フレームおよび出力画像の時系列での変化を示す図である。フレームF1とF2との間にシーンチェンジが存在する。時刻t4において、フレームF1,F2の動き探索結果に基づくシーンチェンジ検出結果が１となり、時刻t4〜t5間ではフレームF2,F3の間を示す位置まで動き補償を行い、時刻t5〜t7間では動き補償部１０９ｄは停止する。また、時刻t5〜t8までは補間画像メモリ１０９ｆに格納された2フレームから映像効果を加えた補間フレームの生成・出力処理に移っている。
【００８３】
図３０は、図２９に対応する出力画像の具体例を示す図である。前方のシーンである補間フレームI01(0.9)に続いて、シーンチェンジ中の補間フレームE12(0.2)が表示されている。補間フレームEは、映像効果を加えたものを示す。E12(0.2)の後には、補間フレームE12(0.5)、E12(0.8)、I23(0.1)が順に表示されている。フレームの再生時間間隔を維持しつつ、映像効果処理を施して再生することによって、シーンチェンジ時も滑らかな表示を保つことができる。
【００８４】
図３１は、本実施形態における再生制御部１０９ａの処理例を示すフローチャートである。シーンチェンジ前のシーンにおける末尾の入力フレームもしくは最終表示補間フレームと、シーンチェンジ後のシーンにおける先頭入力フレームもしくは先頭表示補間フレームが映像効果処理部１０９ｇへの入力候補となる。
【００８５】
再生制御部１０９ａは、メモリ上に記憶される変数を以下のようにそれぞれ初期化する。変数wpは、動き補償部１０９ｄに補間画像メモリの出力バンクを指定する（Ｓ５０１）。変数sv、psvは、動き探索部１０９ｂにおける先行処理のための変数である。  
[メモリ初期化]：wp = 0，tv = 0，ntv = (fv/fp)*r，psv = 0，sv = 0
次に、再生制御部１０９ａは、F[floor(sv)], F[floor(sv)+1]を入力パラメータとして動き補償部１０９ｄを起動する（Ｓ５０２）。  
次に、再生制御部１０９ａは、sc[floor(sv), floor(sv)+1] にシーンチェンジ検出結果を格納する（Ｓ５０３）。  
次に、再生制御部１０９ａは、変数svの値を sv + (fv/fp)*rの値で更新する（Ｓ５０４）。
【００８６】
次に、再生制御部１０９ａは、変数svの値がceil(ntv)の値よりも小さいか否かを判定する（Ｓ５０５）。変数svの値がceil(ntv)の値よりも小さいと判定した場合（Ｓ５０５−Ｙｅｓ）、Ｓ５０４に戻る。  
一方、変数svの値がceil(ntv)の値と判定した場合（Ｓ５０５−Ｎｏ）、再生制御部１０９ａは、動き探索部１０９ｂおよび動き補償部１０９ｄを順次起動し、その処理結果を取得する（Ｓ５０７）。
【００８７】
次に、再生制御部１０９ａは、映像効果処理部１０９ｇを起動し、その処理結果を取得する（Ｓ５０８）。  
次に、メモリ上に記憶される変数をそれぞれ更新する（Ｓ５０９）。  
[メモリ更新]：tv = ntv，ntv = ntv + (fv/fp) * r，wp = !wp，sc[floor(psv), floor(psv)+1] = (シーンチェンジ検出結果)
そして、再生制御部１０９ａは、次のVSYNCまで待機すると（Ｓ５１０）、スロー再生停止の指示があるまでＳ５０７〜Ｓ５１０の処理を繰り返す
図３２は、図３１のＳ５０７に示す動き探索／動き補償処理の具体例を示すフローチャートである。  
再生制御部１０９ａは、タイムカウンタntv の値が整数値か否かを判定する（Ｓ６０１）。タイムカウンタntv の値が整数値であると判定した場合（Ｓ６０１−Ｙｅｓ）、再生制御部１０９ａは、F[floor(sv)], F[floor(sv)+1]を入力パラメータとして動き探索部１０９ｂを起動する（Ｓ６０２）。  
次に、動き探索部１０９ｂは、変数psv の値を変数svの値で更新する（Ｓ６０３）。  
次に、再生制御部１０９ａは、補間画像メモリ[wp]にフレームF[ntv]を格納し（Ｓ６０４）、図３１のＳ５０８へ進む。
【００８８】
一方、タイムカウンタntv の値が整数値以外であると判定した場合（Ｓ６０１−Ｎｏ）、再生制御部１０９ａは、ceil(tv)の値が ceil(ntv)の値と等しいか否かを判定する（Ｓ６０５）。ceil(tv)の値が ceil(ntv)の値と等しいと判定した場合（Ｓ６０５−Ｙｅｓ）、Ｓ６１０へ進む。一方、ceil(tv)の値が ceil(ntv)の値と異なると判定した場合（Ｓ６０５−Ｎｏ）、再生制御部１０９ａは、F[floor(sv)], F[floor(sv)+1]を入力パラメータとして動き探索部１０９ｂを起動する（Ｓ６０６）。  
次に、動き探索部１０９ｂは、変数psv の値を変数svの値で更新する（Ｓ６０７）。  
次に、動き探索部１０９ｂは、変数svの値をsv + (fv/fp)*rの値で更新する（Ｓ６０８）。  
次に、動き探索部１０９ｂは、変数svの値が ceil(ntv) +1の値よりも小さいか否かを判定する（Ｓ６０９）。変数svの値がceil(ntv) +1の値よりも小さいと判定した場合（Ｓ６０９−Ｎｏ）、Ｓ６０８に戻る。一方、変数svの値がceil(ntv) +1の値と判定した場合（Ｓ６０９−Ｎｏ）、Ｓ６１３へ進む。
【００８９】
また、ceil(tv)の値が ceil(ntv)の値と等しいと判定した場合（Ｓ６０５−Ｙｅｓ）、再生制御部１０９ａは、sc[floor(tv), ceil(tv)] の値が１か否かを判定する（Ｓ６１０）。sc[floor(tv), ceil(tv)] の値が１、すなわち、シーンチェンジ検出時の場合（Ｓ６１０−Ｙｅｓ）、図３１のＳ５０８へ進む。  
一方、sc[floor(tv), ceil(tv)] の値が０の場合（Ｓ６１０−Ｎｏ）、再生制御部１０９ａは、F[floor(tv)], F[ceil(tv)], ntvを入力パラメータとして動き補償部１０９ｄを起動する（Ｓ６１１）。
【００９０】
そして、再生制御部１０９ａは、動き補償部１０９ｄが生成した補間フレームI[floor(tv)][ceil(tv)](ntv-floor(ntv))を補間画像メモリ[wp]に格納し（Ｓ６１２）、図３１のＳ５０８へ進む。
【００９１】
また、変数svの値がceil(ntv) +1の値と判定した場合（Ｓ６０９−Ｎｏ）、再生制御部１０９ａは、sc[ceil(tv), ceil(ntv)] の値が１か否かを判定する（Ｓ６１３）。sc[ceil(tv), ceil(ntv)] の値が０の場合（Ｓ６１３−Ｎｏ）、Ｓ６１１へ進む。  
一方、sc[ceil(tv), ceil(ntv)] の値が１、すなわち、シーンチェンジ検出時の場合（Ｓ６１３−Ｙｅｓ）、再生制御部１０９ａは、F[floor(sv)], F[floor(sv)+1], svを入力パラメータとして動き補償部１０９ｄを起動する（Ｓ６１４）。
【００９２】
そして、再生制御部１０９ａは、動き補償部１０９ｄが生成した補間フレームI[floor(sv)][floor(sv)+1](sv-floor(sv))を補間画像メモリ[wp]に格納し（Ｓ６１５）、図３１のＳ５０８へ進む。
【００９３】
図３３は、図３１のＳ５０８に示す映像効果処理の具体例を示すフローチャートである。  
再生制御部１０９ａは、タイムカウンタtvの値が整数値か否かを判定する（Ｓ７０１）。タイムカウンタtvの値が整数値であると判定した場合（Ｓ７０１−Ｙｅｓ）、再生制御部１０９ａは、補間画像メモリ[!wp]に格納されたフレームを出力画像とし（Ｓ７０３）、図３２のＳ５０９へ進む。
【００９４】
一方、タイムカウンタtvの値が整数値以外であると判定した場合（Ｓ７０１−Ｎｏ）、再生制御部１０９ａは、sc[floor(tv),ceil(tv)] の値が１、すなわち、シーンチェンジ検出時か否かを判定する（Ｓ７０２）。シーンチェンジ検出時ではないと判定した場合（Ｓ７０２−Ｎｏ）、Ｓ７０３へ進む。
【００９５】
一方、シーンチェンジ検出時であると判定した場合（Ｓ７０２−Ｙｅｓ）、再生制御部１０９ａは、補間画像メモリ[wp],補間画像メモリ[!wp], tvを入力パラメータとして映像効果処理部１０９ｆを起動する（Ｓ７０４）。
【００９６】
そして、再生制御部１０９ａは、映像効果処理部１０９ｆが生成したフレームE[floor(tv)][floor(tv)+1](tv-floor(tv))を出力画像とし（Ｓ７０５）、図３２のＳ５０９へ進む。
【００９７】
本実施形態に係る動画再生装置１００によれば、シーンチェンジの前後の表示の滑らかさを保ちつつ、映像効果によってさらに表示手段の選択肢を増やすことが可能となる。
【００９８】
実施形態３の変形例（１）
第1のシーンから第２のシーンに切り替わるまでは時間関係を維持し、第２のシーンからは時間関係をリセットすることも可能である。図３４は、実施形態３の変形例に係る動画再生装置が、0.3倍速再生時にシーンチェンジを検出した場合に出力する画像の時系列における位置関係を示す図である。この場合、補間フレームE12()は補間フレームI01(0.9)と入力フレームF2を用いて補間される。この場合、シーンチェンジを検出した時刻に達したとき、動き補償部を起動せず補間画像メモリにフレームF2を格納すればよい。
【００９９】
実施形態３の変形例（２）
本実施形態における動き探索部１０９ｂ起動時、フレーム間に補間するフレームの枚数を保持するカウンタを設ける構成としてもよい。図３５は、図３２のＳ６０６〜Ｓ６０９の代わりに実行されるフローチャートである。変数numは、先行して実行している動き探索部１０９ｂのためのカウント値であり、変数pnumは、映像効果処理部１０９ｇが使用するためのカウント値である。
【０１００】
再生制御部１０９ａは、F[floor(sv)], F[floor(sv)+1]を入力パラメータとして動き探索部１０９ｂを起動する（Ｓ８０１）。
【０１０１】
次に、再生制御部１０９ａは、変数psv、pnum、numを初期化する（Ｓ８０２）。
【０１０２】
[メモリ初期化]：psv = sv，pnum = num，num = 0
次に、再生制御部１０９ａは、変数svを sv + (fv/fp)*rで更新するとともに、変数numに１加算する（Ｓ８０３）。
【０１０３】
次に、再生制御部１０９ａは、変数svがceil(ntv)+1よりも小さいか否かを判定する（Ｓ８０４）。ここで、変数svがceil(ntv)+1よりも小さいと判定した場合（Ｓ８０４−Ｙｅｓ）は、Ｓ８０３に戻る。一方、変数svがceil(ntv)と等しいと判定した場合（Ｓ８０４−Ｎｏ）、図３２のＳ６１３へ進む。
【０１０４】
スムーズスロー再生時は再生速度と現在再生位置により入力フレーム間に挿入される補間枚数が変化するが、このカウンタにより、時系列における位置関係の中間点や1/3などに相当するフレームの任意の位置を予め計算でき、目的の位置に入力画像以外の任意の画像を適用することでより多くの映像効果を得ることができる。
【０１０５】
例えば、変数ctv = tv + (fv/fp*r)*ceil(pnum/2)とし、ctvの時間位置のフレームをシーンチェンジの時間的中間に位置するフレームとみなして全面黒の画像とする。第１のシーンで最後に再生されるフレームとクロスフェードさせると、自然にブラックアウトしていくシーンを生成できる。同様に、第２のシーンの最初に再生されるフレームと組み合わせると黒からフェードインするシーンを生成できる。また、第１のシーンと第２のシーンの間に補間される枚数が偶数か奇数かによって時間的中間位置に相当するフレームを１枚もしくは２枚と変えることにより第1のシーンが黒へ向かってフェードアウトしている途中で第２のシーンのフェードインが始まってしまう、などの不自然な表示を防ぐことができる。
【０１０６】
さらに、変数nをカウンタの値以下である整数としたとき、第１のシーンと第２のシーン間の補間フレームのうちn枚に対して任意パターンの画像P0、P1、・・・P(n-1)を適用し、第1のシーン末尾からP0をシーン1aとし、P1をシーン1b、・・・、Pn-2〜Pn-1をシーン2a、Pnをシーン2b、とそれぞれ異なる映像効果を持たせたシーンを生成し、第１のシーン、シーン1a、シーン1b、・・・シーン2a、シーン2b、・・・第２のシーンと連続して再生させることも可能である。
【０１０７】
実施形態３の変形例（３）
実施形態３と実施形態２とを組み合わせることもできる。この場合はシーンチェンジ中も動き補償部１０９ｄを起動し、補間画像メモリの内容を更新すればよい。シーンチェンジ前後のフレームを動き探索結果の外挿により補間したフレームに対して映像効果を追加することが可能となる。
【０１０８】
＜実施形態４＞  
図３６は、本実施形態に係る動画再生装置１００のブロック図である。動画再生装置１００は、液晶パネルとタッチパネルが一体化されたタブレット端末である。なお、図１の符号と共通する符号は、同一の対象を示す。以下では異なる箇所を詳細に説明する。
【０１０９】
ストレージメモリ１１２は、複数の映像を蓄積可能な大容量ストレージメモリであり、例えばＮＡＮＤ型フラッシュメモリである。タッチパネル部１１３は、ユーザが指先や専用のペンで画面に触れた際に、センサーが画面上の位置を検知することで対応する動作を行なう。
【０１１０】
全体制御部１０１は、タッチパネル部１１３からの入力に基づいて、ストレージメモリ１１２に格納された複数の映像の中から再生映像ｖを選択する。全体制御部１０１は、再生映像vをMPEGデコーダ部１０６に出力し、再生速度rを再生処理部１０９に出力する。また、全体制御部１０１は、再生映像とともに表示する、映像内での経過時間を示す画像データや、再生速度を変更するための操作パネルのボタン、操作パネルの質感を表すテクスチャデータなどをフレームメモリ１０７に書き出す。
【０１１１】
MPEGデコーダ部１０６は、再生映像vに対応するフレームレートｆｖを含むファイルをストレージメモリ１１２から読み出す。MPEGデコーダ部１０６は、ファイル内に指定されているデコード方式で画像をデコードし、その結果をフレームメモリ１０７に出力する。
【０１１２】
GPU１１３は、フレームメモリ１０７から画像データやテクスチャデータを読み出して、テクスチャマッピングを行い、フレームメモリ１０７上の再生処理結果の映像と合成してLCDパネル駆動部１１０へと出力する。なお、再生処理部１０９の内部の動作および効果は実施形態１乃至実施形態３のいずれかと同一である。
【０１１３】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施することが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１４】
１００…動画再生装置、
１０１…全体制御部、
１０２…赤外線受光部、
１０３…アンテナ、
１０４…RFチューナ部、
１０５…復調部、
１０６…MPEGデコーダ部、
１０７…フレームメモリ、
１０８…画像補正部、
１０９…再生処理部、
１０９ａ…再生制御部、
１０９ｂ…動き探索部、
１０９ｃ…動きベクトル記憶部、
１０９ｄ…動き補償部、
１０９ｅ…シーンチェンジ検出部、
１０９ｆ…補間画像メモリ、
１０９ｇ…映像効果処理部、
１１０…LCDパネル駆動部、
１１１…LCDパネル部、
１１２…ストレージメモリ、
１１３…タッチパネル部、
１１４…GPU。
【図１】
2015056695.tif 000003
【図２】
2015056695.tif 000004
【図３】
2015056695.tif 000005
【図４】
2015056695.tif 000006
【図５】
2015056695.tif 000007
【図６】
2015056695.tif 000008
【図７】
2015056695.tif 000009
【図８】
2015056695.tif 000010
【図９】
2015056695.tif 000011
【図１０】
2015056695.tif 000012
【図１１】
2015056695.tif 000013
【図１２】
2015056695.tif 000014
【図１３】
2015056695.tif 000015
【図１４】
2015056695.tif 000016
【図１５】
2015056695.tif 000017
【図１６】
2015056695.tif 000018
【図１７】
2015056695.tif 000019
【図１８】
2015056695.tif 000020
【図１９】
2015056695.tif 000021
【図２０】
2015056695.tif 000022
【図２１】
2015056695.tif 000023
【図２２】
2015056695.tif 000024
【図２３】
2015056695.tif 000025
【図２４】
2015056695.tif 000026
【図２５】
2015056695.tif 000027
【図２６】
2015056695.tif 000028
【図２７】
2015056695.tif 000029
【図２８】
2015056695.tif 000030
【図２９】
2015056695.tif 000031
【図３０】
2015056695.tif 000032
【図３１】
2015056695.tif 000033
【図３２】
2015056695.tif 000034
【図３３】
2015056695.tif 000035
【図３４】
2015056695.tif 000036
【図３５】
2015056695.tif 000037
【図３６】
2015056695.tif 000038