以下、本発明に係る実施形態について、添付の図面を参照して説明する。なお、以下の実施の形態は特許請求の範囲に関る本発明を限定するものではなく、また、本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
<第1実施形態>
●システム構成
以下、本実施形態における映像処理装置の構成に関して説明する。図1は、本実施形態における映像処理装置10の構成を説明するためのブロック図である。図1に示すように、映像処理装置10は、入力処理部101、第一の映像処理部102、第二の映像処理部103、出力処理部104、第一の圧縮伸張部105、第二の圧縮伸張部106、第三の圧縮伸張部107、第四の圧縮伸張部108を含んで構成される。また、映像処理装置10は、バス110、メモリ111を含んで構成される。映像処理装置10は、例えば、大型テレビ、デスクトップPC、ノートPC、タブレット、スマートフォンなどとして実現可能である。また、映像処理装置10は、プロジェクターなどの投影型の装置として実現することも可能である。
映像入力端子より入力された映像データは、入力処理部101に入力される。映像入力端子は、HDMI(登録商標)(High−Definition Multimedia Interface)やDisplay Port、DVI(Digital Visual Interface)の映像端子を用いることができる。また、映像入力端子は、SDI(Serial Digital Interface)の映像端子を用いることもできる。映像入力端子については特に限定しない。
また、入力処理部101は、MPEG(Moving Picture Experts Group)などで圧縮された映像データがデコードされた映像データを入力することも可能である。また、入力処理部101は、1つのインタフェースから映像データを入力してもよいし、1画面を複数の信号線に分割して送出されるインタフェースから映像データを入力してもよい。
入力処理部101は、映像入力端子から入力された映像データを、映像処理装置10に適した映像フォーマットに変換し、第一の圧縮伸張部105へ出力する。
第一の圧縮伸張部105は、入力処理部101により入力された映像データを圧縮する。圧縮部は、例えば、JPEG(Joint Photographic Experts Group)で映像データを圧縮することができる。ただしこれに限らず、圧縮部は、例えばJPEG2000、JPEG−XRなどの非可逆符号化方式や、JPEG−LS(JPEG−Lossless)やランレングス符号化などの可逆符号化方式を用いて映像データを圧縮することが可能である。本実施形態の第一、第二、第三、第四の圧縮伸張部は、入力処理部101からの映像データを圧縮する際、1つの映像フレームの全体を1つの単位として圧縮してもよいし、1つの映像フレームを複数領域に分割し、領域毎に圧縮することも可能である。
第一の圧縮伸張部105で圧縮された映像データは、バス110のパスAを介してメモリ111に書き込まれる。ここでメモリ111は、DDR−SDRAM(Double−Data−Rate Syncronous Dynamic Random Access Memory)等を用いて映像処理チップ外に持つことが可能である。また、メモリ111は、eDRAM(Embedded DRAM)等を用いて、映像処理チップ内に持たせることも可能である。
本実施形態のバス110は、第一の圧縮伸張部105、第二の圧縮伸張部106、第三の圧縮伸張部107、第四の圧縮伸張部108が同時に用いることが可能である。すなわち、各圧縮伸張部105〜108は、バス110のパスA〜Mを介してメモリ111に同時アクセスすることが可能である。
なお、本実施形態の各圧縮伸張部105〜108は、1つの映像フレームを複数領域に分割し、圧縮後のデータサイズが変動する圧縮方式を用いて各領域を圧縮する場合、各領域の映像データが書き込まれたアドレスとデータサイズもメモリ111に記憶させる。本実施形態では、メモリ111に各領域の圧縮後の映像データのメモリ111内のアドレスとデータサイズをテーブルの形式で記憶する。各圧縮伸張部105〜108は、分割領域の圧縮後の映像データをメモリ111に記憶する際に、該テーブルを更新する。なお、各圧縮伸張部105〜108が、映像フレーム単位で圧縮する場合には、メモリ111は該テーブルを保持しない。
第一の圧縮伸張部105によって圧縮され、メモリ111に書き込まれた映像データは、バス110のパスBを介して第一の圧縮伸張部105に入力される。第一の圧縮伸張部105が1つの映像フレームを複数領域に分割して符号化する場合においては、まず、制御部109から映像データの読み出しが指示されると、第一の圧縮伸張部105は、メモリ111内のテーブルを参照する。そして、第一の圧縮伸張部105は、制御部109からの指示に対応する映像データが書き込まれているメモリ111内のアドレスとデータサイズを特定し、メモリ111のパスBから映像データを読み出す。
第一の圧縮伸張部105は、取得した分割領域の映像データを伸張し、入力処理部101へ出力する。入力処理部101は、第一の圧縮伸張部105からの映像データに対して所定の処理(例えば、ブロックノイズを除去するためのデブロッキングフィルタ処理)を実施した後、第一の映像処理部102へ出力する。
第一の映像処理部102は、入力処理部101から入力された映像データを用いて映像処理を行う。また、本実施形態の映像処理部102は、メモリ111のパスCから参照フレームとして映像データを読み出して映像処理を行うことが可能である。パスCから読みだされる映像データは、入力処理部101から入力された処理対象の映像データよりも先に入力された映像データである。
すなわち、映像処理部102は、入力処理部101から入力された映像フレームよりも表示順序が前の映像フレームを参照フレームとして用いて映像フレームの高画質化などの映像処理を行うことができる。また、映像処理部102〜104は、参照フレームを用いずに映像フレームの高画質化などの映像処理を行うことも可能である。
第一の映像処理部102は、参照フレーム数の異なる複数の映像処理モードを適用可能であり、映像処理モードを切り替えに応じて、メモリ111より読み出すフレーム数を変更することが可能である。
例えば、映像処理が3Dノイズリダクション処理の場合、該機能がONのときは、第一の映像処理部102は、メモリ111から処理対象の映像フレームの1フレーム前の映像フレームを参照フレームとして読み出し、ノイズリダクション処理を行う。
一方、3Dノイズリダクション処理がOFFのときは、映像処理部102は、メモリ111から参照フレームを読み出さず、3Dノイズリダクション処理を実行しない。
第一の映像処理部102による処理済みの映像データは、第二の圧縮伸張部106で圧縮された後、バス110のパスDを介してメモリ111に記憶される。さらに該映像データは、パスEを介して読み出され、第二の圧縮伸張部106で伸張された後、第一の映像処理部102に入力される。また、第二の圧縮伸張部106は、パスEから読み出された映像フレームの映像処理のための参照フレームとして、パスFとパスGからそれぞれ映像フレームを読み出し、伸張して第一の映像処理部102へ入力する。すなわち、本形態の第一の映像処理部102は、映像処理装置10に入力された映像データに対して2つの映像処理を行う。
第一の映像処理部102は、第二の圧縮伸張部106から入力された映像データに対して、映像処理を行うことが可能である。また、第一の映像処理部102は、パスEから読み出された映像フレームの映像処理を行うために、パスFとパスGからそれぞれ読み出された2つの映像フレームを参照フレームとして用いることが可能である。ただし、第一の映像処理部102の映像処理モードによっては、参照フレーム数が異なる場合がある。
例えば、第一の映像処理部102が映像処理として解像度変換処理を行う場合、複数枚超解像処理モード(第1の映像処理モード)の設定時には、第一の映像処理部102は、メモリ111のパスFとGから1つずつ参照フレームを読み出して超解像処理を行う。
一方、フレーム内超解像モード(第2の映像処理モード)の設定時には、映像処理部102は、参照フレームをメモリ111から読み出さず、処理対象の映像フレームの超解像処理を行う。すなわち、第一の映像処理部102は、第1の映像処理モードと、該第1の映像処理モードよりも参照フレームが少ない第2の映像処理モードとを切り替えることが可能である。なお、第1の映像処理モードで映像処理をした場合のほうが、第2の映像処理をした場合よりも、映像処理後の映像の品質は一般的に高くなる。
第一の映像処理部102は、映像処理後の映像データを第二の映像処理部103に入力する。第二の映像処理部103は、第一の映像処理部102から入力された映像データに対して映像処理を実施する。第二の映像処理部103による映像処理後の映像データは、第三の圧縮伸張部107で圧縮され、バス110のパスHを介してメモリ111に入力される。
また、第三の圧縮伸張部107は、処理対象フレームとしての映像データをバス110のパスIを介して読み出して伸張する。また、第三の圧縮伸張部107は、参照フレームの映像データとしてバス110のパスJとパスKからそれぞれ1つずつの映像フレームの映像データを読み出して伸張することが可能である。
第二の映像処理部103は、パスIからの映像フレームの映像データに対して、パスJとパスKからの参照フレームの映像データを用いて映像処理を実行する。本実施形態の第二の映像処理部103は、映像処理としてフレームレートの変換処理を行う。フレームレート変換処理とは、入力処理部101に入力された映像データのフレームレートを、出力処理部104から出力される映像データのフレームレートに変換する映像処理である。例えば、第二の映像処理部103は、フレームレート変換処理により、毎秒30映像フレームの入力に対して毎秒60映像フレームの出力を得ることが可能である。
なお、第二の映像処理部102は、簡易的なフレームレート変換処理として、黒フレームを挿入する手法を用いることもできる。すなわち、第二の映像処理部102は、入力された表示順序が連続する第1の映像フレームと第2の映像フレームとの間に、黒の映像フレームを表示させることで、フレームレート変換処理を行うことも可能である。フレームレート変換処理として黒フレームの挿入を用いた場合、参照フレームを読み出す必要がない。従って、フレームレート変換処理として、黒フレームを挿入する方法を用いたほうが、中間映像フレームを生成する方法よりも、バス110を通過する映像データのデータサイズを少なくすることができる。言い換えると、黒フレームを挿入する方法を用いたほうが、中間映像フレームを生成する方法よりも、メモリ111の帯域を大きく空けることが可能となる。第二の映像処理部103は映像処理後(フレームレートの変換処理後)の映像データを出力処理部104へ入力する。
出力処理部104は、第二の映像処理部103からの映像データに基づく映像データのフォーマットを、映像処理装置10内部の映像フォーマットから映像出力部の出力フォーマットに変換する。そして、出力処理部104は、フォーマット変換処理後の映像データを表示のために出力する。映像データの出力先は、液晶パネルやプラズマディスプレイ、OELD(Organic Electroluminescence Display)などの表示部である。なお、映像処理装置10をプロジェクターで実現する場合は任意の投影面に映像データが出力される。
出力処理部104より液晶パネルへ映像データを出力する場合、応答速度改善のために、オーバードライブ処理が実施される。オーバードライブ処理では、出力対象の映像フレームと該映像フレームよりも先に出力された映像フレームとの差分を用いる。そこで、出力処理部104は、出力対象の映像フレームよりも先に出力された映像フレームの映像データを第四の圧縮伸張部108から取得する。すなわち、第四の圧縮伸張部108は、出力済みの映像フレームの映像データを圧縮してパスLを用いてメモリ111に記憶させると共に、その映像データをパスMを用いて読み出して伸張し、出力処理部104に出力する。
これにより、出力処理部104は、先に出力された映像フレームの映像データとこれから出力する映像フレームの映像データを用いて液晶ディスプレイの表示回路にかける電圧を決定する。
また、出力処理部104は、出力した映像フレームの映像データをバス110のパスLを介してメモリ111に記憶させる。この映像データは、後に出力される映像フレームのためのオーバードライブ処理で利用される。
なお、本実施形態の制御部109は、動画の表示中に表示映像をフリーズするためのフリーズ指示が入力された場合、第二の映像処理部103による映像処理後の映像フレームが出力処理部104により出力され続けるように、出力処理部104を制御する。本実施形態の各処理部101〜104、及び、圧縮伸張部105〜108は制御部109による制御に従って動作する。
●動画表示中の映像処理装置10の動作
制御部109は、通常の映像表示状態では、各映像フレームの解像度、フレームレート、映像処理モードから、メモリ111の帯域が破綻しない範囲で、できる限り高画質となるよう圧縮伸張部105〜108の圧縮率の制御とバス110の帯域割り当てを制御する。なお、映像処理モードは、ユーザ指示に応じて設定や切り替えを行うことが可能である。
一般に圧縮後の映像フレームのデータサイズは、圧縮時の量子化テーブルの値によって異なる。また、本実施形態では、映像処理装置10に入力される映像の解像度と映像処理装置10から出力される映像の解像度が同じ場合の例を中心に説明する。すなわち、第一の映像処理部102が実行可能な解像度変換処理はOFFになっている場合の例を中心に説明する。
また、制御部109は、各圧縮伸張部105〜108の圧縮モードを切り替えることで、圧縮率の制御を実現する。本実施形態では、圧縮モードをモードA〜Dの4段階に分けて制御される場合について説明するが、4段階に限らない。
本実施形態では、各圧縮モードの特徴を以下のように定義する。
圧縮モードAは、圧縮モードA〜Dの中で最も高い品質(画質)で圧縮する圧縮モードである。ただし、圧縮率はモードA〜Dの中で最も悪く、圧縮率は平均で80%、最悪で90%になるとする。すなわち、圧縮モードAを用いた場合、映像データの圧縮後のデータサイズは、平均で圧縮前の80%、最悪で圧縮前の90%になる。
圧縮モードBは、圧縮モードA〜Dの中で2番目に高い品質(画質)で圧縮する圧縮モードである。圧縮率は平均45%、最悪で60%である。
圧縮モードCは、圧縮モードA〜Dの中で2番目に低い品質(画質)で圧縮する圧縮モードである。圧縮率は平均35%、最悪で50%である。
圧縮モードDは、圧縮モードA〜Dの中で最も低い品質(画質)で圧縮する圧縮モードである。ただし圧縮率はモードA〜Dの中で最も良く、平均10%、最悪で20%である。
本実施形態では、パスA〜Mをすべて用いてもメモリ111の帯域破綻を起こさないようにするためには、入力された映像フレームのそれぞれの圧縮後のデータサイズが、平均して非圧縮時の50%以下になることが必要であるとする。
映像処理装置10がメモリ帯域面で破綻しないようにするためには、各圧縮伸張部105〜108が、最悪圧縮率が50%である圧縮モードCを用いて圧縮伸張処理を行えばよい。しかし、圧縮モードCの最悪圧縮率は50%であるが、平均的な映像フレームを圧縮モードCで圧縮すると、圧縮前の35%のデータサイズで圧縮されることになる。
一方、各圧縮伸張部105〜108が圧縮モードCよりも圧縮伸張後の画質が良い圧縮モードBを用いて平均的な映像フレームの圧縮を行った場合、圧縮前の45%のデータサイズに圧縮される。したがって、入力されるすべての映像フレームが平均的な映像フレームであれば、各圧縮伸張部105〜108で圧縮モードBを用いて圧縮しても、帯域破綻を起こすことなく圧縮モードC使用時よりも高い画質の映像を出力することが可能である。
しかし、圧縮モードBを用いた場合、映像処理装置10に入力される映像の特徴によっては圧縮後の映像フレームのデータサイズは、圧縮前の60%となる。つまり、圧縮率が60%となる映像フレームが連続して入力されると、帯域破綻を起こす可能性がある。従って、本実施形態の制御部109は、以下に示すように圧縮モードを動的に制御することで、メモリ帯域の破綻を防ぎつつ、出力映像の画質を向上させる。
本実施形態の映像処理装置10のように複数回の圧縮伸張を行う場合、一度圧縮した映像フレームに対し同様の圧縮手法を用いて再度圧縮する場合、解像度変換などを伴わなければ、概ね一度目と同程度のデータサイズで圧縮可能である。すなわち、ある映像フレームに対して第一の圧縮伸張部105が圧縮モードCで圧縮したところ、圧縮後のデータサイズが圧縮前の40%になった場合、該映像フレームを伸張後、第二の圧縮伸張部106が圧縮モードCで圧縮した場合も、圧縮率は概ね40%となる。
本実施形態の制御部109は、上記の特徴を活かし、1度目の圧縮結果を用いて2度目以降の圧縮後のデータサイズを予測し、メモリ帯域の制限値とのマージンを算出する。本実施形態においてメモリ帯域の制限値は、50%である。すなわち、制御部109は、メモリ111に対して読み書きされる複数の映像フレームのデータサイズの合計が、非圧縮時の50%になるように各圧縮伸張部105〜107の圧縮モード(圧縮率)を制限する。
例えば、制御部109は、画質改善のための圧縮モードをモードCからモードBに変更した場合のデータサイズの予測増加量が、マージンよりも小さい場合、新規に映像処理装置10に入力された映像フレームの圧縮のための圧縮モードを変更し、圧縮率を下げる。なお、制御部109は、圧縮モードの変更によるデータサイズの増加量を、各圧縮モードの最悪圧縮率を用いて予測できる。
一方、制御部109は、圧縮モードをモードCからモードBに変更し圧縮率を下げた後、入力映像の特徴の変化等によってデータサイズが増加し、帯域破綻を起こす可能性が生じた場合、各圧縮伸張部105〜107の圧縮モードをモードBからモードCに戻す。これにより、圧縮後のデータサイズが削減され、メモリ帯域の破綻を回避することが可能となる。
なお、圧縮モードの変更によりメモリ111に書き込まれるデータサイズを削減することができるが、圧縮モードの変更ではメモリ111から読み出すデータサイズを削減することはできない。ただし、JPEG2000などのように、階層的に復号可能な特徴を持つ符号化方式を用いることで、読み出し側のデータサイズを変更することも可能である。すなわち、制御部109は、圧縮モードの変更に加えて、圧縮済みの映像データの読み出し量を制御することによってバス110を通過するデータ量を削減することも可能である。
なお、映像処理装置10に入力された映像データを最初に圧縮する第一の圧縮伸張部105による圧縮後のデータサイズは、映像データの特徴により変化するため、事前に予測することが困難である。そのため、本実施形態の制御部109は、システムのメモリ帯域を破綻させないために、パスAを通過するデータサイズは、第一の圧縮伸張部105に設定されている圧縮モードの最悪圧縮率に基づくデータサイズを想定する。なお、パスAは、第一の圧縮伸張部105からメモリ111に映像データを書き込むためのパスである。これにより、シーンチェンジなどで映像の特徴が変化し、圧縮後のデータサイズが急峻に変化するような場合においても、メモリ帯域の破綻なく処理することが可能となる。
なお、1つの映像フレームを複数領域に分割して異なる圧縮モードで符号化する場合は、最悪圧縮率の場合のデータサイズの帯域を確保せず、各分割領域の圧縮後のデータサイズに応じて、映像フレームの途中から圧縮モードを変更することも可能である。つまり、制御部109は、映像フレームの第1の分割領域の圧縮後のデータサイズを参照し、メモリ帯域の破綻が予測される場合には、第2の分割領域を圧縮するための圧縮モードを変更することが可能である。
以上のように、帯域破綻を回避しながら画質面で好適な圧縮モードにて圧縮処理を実施させる為に、制御部109が上記帯域制御を行う。制御部109は汎用プロセッサもしくは後述の判定を実施するハードウェアを具備し、後述するフローに従い各処理部(入力処理部101、第一の映像処理部102、第二の映像処理部103、出力処理部104、各圧縮伸張部105〜108)を制御する。制御部109は、映像処理装置10内の映像処理モード、並びに圧縮伸張モードを制御するため、図1のように各処理部と接続される。また、制御部109は、圧縮伸張モードの制御のため、各圧縮伸張部105〜108の圧縮後のデータサイズを取得する。その後、取得したデータサイズに基づいて、次の映像フレームを処理する際の映像処理モード並びに圧縮モードを、後述するフローに従い決定し、各処理部を制御する。
また、制御部109はユーザ等による操作に基づく指示を受け、各処理部の制御を行う。本実施形態では、外部操作が静止表示の指示(フリーズ指示)である場合の例を説明する。フリーズ指示とは、表示映像をフリーズさせるため指示である。フリーズ指示によって、動画を構成する映像フレームの1つが、フリーズ解除指示が入力されるまで表示され続けることになる。フリーズ指示には、動画表示中の一時停止、動画表示中のキャプチャ指示等が含まれる。本実施形態では、フリーズ指示がユーザ操作によって入力される例を中心に説明するが、例えば、ある特定の場面で自動的にフリーズ指示が入力されるようなユースケースにおいても本願のアイデアは適用可能である。ユーザ操作によってフリーズ指示が入力されると、制御部109は各処理部に対して後述する制御を行い、映像の静止表示を行う。また、外部操作により静止処理の解除指示(フリーズ解除指示)が入力されると、再度入力画像が動画として再生されるよう後述の判定に基づき制御を行う。
●フリーズ指示が入力された場合の映像処理装置10の動作
次に、ユーザ操作により静止処理の指示(フリーズ指示)が入力された場合の映像処理装置10の動作を説明する。
図2は、フリーズ指示が入力された場合の映像処理装置10の動作を説明するためのフローチャートである。なお、映像処理装置10の入力処理部101は、フリーズ指示が入力される前から、外部からの映像データを入力している(入力手順)。
図3〜図5は、フリーズ指示が入力されてからの各パスA〜Mを通るデータサイズの変化を示す図である。以下では、図2〜図5を用いて、フリーズ指示の入力時の映像処理装置10の動作について説明する。
図3の時刻Tは、フリーズ指示が入力される直前における各パスA〜Mを通るデータサイズを示している。なお、本実施形態の映像処理装置10は、バス110の各パスを用いて、メモリ111に対して映像データの書込みや読み出しを行う。時刻Tの状態において、各圧縮伸張部105〜108に設定される圧縮モードは、すべてモードBであるとする。動画の表示中における各パスA〜Mを通るデータサイズは、映像フレームの内容によって変動する。
なお、図3においてRefと記載されているパスは、参照フレームとして映像データを読み書きするためのパスであり、Refと記載されていないパスは、処理対象の映像フレームとして映像データを読み書きするためのパスである。
また、各パスを通過している映像フレームを、FT**の記載で区別している。例えば、FT−1と記載されている映像フレームは、時刻T−1に映像処理装置10に入力された映像フレームであり、FTと記載されている映像フレームよりも1つ前に映像処理装置10に入力された映像フレームである。また、FT−2と記載されている映像フレームは、時刻T−2に映像処理装置10に入力された映像フレームであって、FTと記載されている映像フレームよりも2つ前に映像処理装置10に入力された映像フレームである。
また、図3において、各パスの最上位が非圧縮時の映像フレームのデータサイズ、点描で塗られた領域は圧縮後の映像フレームのデータサイズを示す。また、図3には、帯域限界が圧縮率50%であることを示す線が表示されている。
図3の時刻Tのタイミングで静止処理の指示(フリーズ指示)が入力された場合の映像処理装置10の動作について、図2のフローチャートを用いて説明する。映像処理装置10は、不図示のCPUが図2の処理を実現するためのプログラムをメモリから読みだして実行することにより、図2の処理を実現する。
なお、映像処理装置10は、例えば、大型テレビ、デスクトップPC、ノートPC、タブレット、スマートフォンなどとして実現可能である。また、映像処理装置10は、プロジェクターなどの投影型の装置として実現することも可能である。
図2の処理は、映像処理装置10が動画として映像を表示中(非静止表示中)に、静止処理の指示(フリーズ指示)が入力されると開始する。なお、本実施形態において静止処理の指示(フリーズ指示)とは、表示映像をフリーズさせるため指示である。フリーズ指示によって、動画を構成する映像フレームの1つが、フリーズ解除指示が入力されるまで表示され続けることになる。フリーズ指示には、動画表示中の一時停止、動画表示中のキャプチャ指示等が含まれる。本実施形態では、フリーズ指示がユーザ操作によって入力される例を中心に説明するが、例えば、ある特定の場面で自動的にフリーズ指示が入力されるようなユースケースにおいても本願のアイデアは適用可能である。
S201において、制御部109は、図示しない指示部からの外部操作により、静止処理の指示(フリーズ指示)が入力されたことを検知する。制御部109がフリーズ指示を検知するとS202に進む。この説明では、時刻Tにおいてフリーズ指示が検知されたとする。また、この説明では、時刻Tにおいて各圧縮伸張部105〜108の圧縮モードはモードBに設定されているものとする。なお、モードBの圧縮率は、平均で45%、最悪で60%である。すなわち、モードBで圧縮した場合、平均的な映像フレームの圧縮後のデータサイズは、圧縮前の45%となる。
S202において、制御部109は、フリーズ指示を検知した次の時刻T+1に入力される映像フレームFT+1を静止対象の映像フレーム(フリーズフレーム)として決定する。
S202において、制御部109は、フリーズ指示を検知しなかった場合よりもフリーズフレームFT+1が高い画質で表示されるように、フリーズフレームFT+1の映像処理を制御する。言い換えると、制御部109は、各部101〜108が実行可能な複数の映像処理(例えば、モードA〜Dの圧縮処理)のうち、より映像処理後の画質が高い映像処理を、フリーズフレームFT+1に対して適用することをS202で決定する。ここでは、フリーズフレームFT+1の圧縮モードがモードAに決定される。なお、映像処理は、圧縮処理に限らず、例えば、ノイズリダクション処理などに適用することも可能である。
また、制御部109は、S202において、映像フレームFT+1を圧縮するための第一の圧縮伸張部105の圧縮モードをモードAに切替えた場合のメモリ帯域を計算する。すなわち、制御部109は、フリーズ表示する映像フレームをモードAで圧縮し、それ以外の映像フレームをモードBで圧縮した場合において、バス110を介してメモリ111に対して読み書きされる映像フレームのデータサイズを算出する。なお、モードAの圧縮率は、平均で80%、最悪で90%である。上記の算出が終了すると、S203に進む。
制御部109は、S202における算出結果を用いて、バス110の帯域破綻が発生するか否かを判定する(S203)。すなわち、制御部109は、非フリーズフレームをモードBで圧縮し、フリーズフレームをモードAで圧縮した場合に、メモリ111に読み書きされるデータ量が所定値を超えるか否かを判定する。なお、本実施形態における所定値は、パスA〜Mでそれぞれ読み書きされる13つの映像フレームの非圧縮時のデータサイズの合計の半分である。また、フリーズフレームはフリーズ指示に応じてフリーズ表示される映像フレームを示し、非フリーズフレームはフリーズ表示されない映像フレームを示している。
S203で帯域破綻が発生しないと判定されると、S210に進み、制御部109は、各ステップで決定された圧縮モードと映像処理モードに基づいて各部101〜108を制御する。すなわち、各映像処理部102〜103は、S210において、制御部109からの制御に従って、映像フレームに対する映像処理を行う(映像処理手順)。また、出力処理部104は、S210において、制御部109からの制御に従って映像フレームの表示のための出力を行う(出力手順)。S210の処理が終わると、時刻T+2における各映像フレームの圧縮モードや映像処理モードを決定するために、S202に戻る。本実施形態では、S203で帯域破綻が発生すると判定された場合について、以下で説明する。
図3の時刻T+1(制御前)に示すように、映像フレームFT+1(フリーズフレーム)以外の非フリーズフレームの圧縮モードとして圧縮モードBを用いると、メモリ111へのアクセス量が、メモリ111の帯域限界を越え、破綻すると判定される。
なお、図3において、斜線で塗られた領域(余力301)は、各パスにおける帯域限界とのマージンの合計値を示している。
制御部109は、フリーズフレームをモードAで圧縮した場合の圧縮後のデータサイズを、モードAの最悪の圧縮率(90%)に基づいて予測する。そして、予測されたデータサイズが、非圧縮時の映像フレームのデータサイズの半分と余力301で示されたデータサイズとの合計値よりも大きいか否かを判定する(S203)。
そして、制御部109は、予測されたデータサイズが、非圧縮時の映像フレームのデータサイズの半分と余力301との合計値よりも大きい場合、帯域破綻が発生すると判定し、S204に進む。一方、制御部109は、予測されたデータサイズが、非圧縮時の映像フレームのデータサイズの半分と余力301との合計値よりも小さい場合、帯域破綻が発生しないと判定し、S209に進む。
図3において、濃い網掛けで塗られた領域(不足302)は帯域限界を超えた分のデータサイズを示している。すなわち、不足302は、フリーズフレームをモードAで圧縮した場合の予測データサイズから、非圧縮時の映像フレームのデータサイズの半分と余力301との合計値を差し引いた値を示している。従って、制御部109は、不足302が正の値になれば、帯域破綻が発生すると判定し、不足302が負の値になれば、帯域破綻が発生しないと判定する。
本実施形態の説明では、図3の時刻T+1(制御前)に示すように、不足302が正の値になっているため、帯域破綻が発生すると判定され、S204に進む。
S204において、制御部109は圧縮モードの変更対象となる映像フレームの候補を特定する。本実施形態の制御部109は、パスLで書き込まれる映像フレームを圧縮モードの変更対象となる映像フレームの候補として特定する。すなわち、各パスA〜Mのうち、メモリ111への映像データの書込みに用いられているパスは、パスA、D、H、Lであり、そのうち時刻T+1において非フリーズフレームの映像データの書込みに用いられているパスは、パスD、H、Lである。本実施形態では、パスD,H、Lのうち、第四の圧縮伸長部108によって圧縮された映像データの書き込みに用いられるパスLに対応する映像フレームが、圧縮モードの変更対象の候補として特定される。第四の圧縮伸長部108で圧縮された映像データは、本実施形態においては、オーバードライブ処理にしか用いられないためである。なお、パスLで書き込まれる映像フレームが、フリーズフレームを表示する際のオーバードライブ処理で用いられる場合は、S205において、圧縮モードを変更できないと判定されるため、圧縮率は変更されない。パスLで書き込まれる映像データの圧縮モードを変更しない場合の処理については、時刻T+3の場面で説明する。
従って、制御部109は、S204において、バス110を通過するデータサイズを削減するために、圧縮モードの変更対象とする映像フレームの候補として、パスLを用いて書き込まれる映像フレームFT−2を特定する。圧縮モードの変更対象とする映像フレームの特定が終わると、S205に進む。
制御部109は、S204で特定された映像フレームFT−2の圧縮モードを変更可能であるか否かを判定する(S205)。より具体的には、制御部109は、映像フレームFT−2の圧縮モードがすでにモードDであるか否かを判定する。すなわち、制御部109は、映像フレームFT−2の圧縮モードが、すでに最も圧縮効率が高い(圧縮後の画質が悪い)モードDになっている場合は、圧縮モードの変更によるデータサイズの削減はできないため、圧縮モードを変更できないと判定する。
また、S205において、制御部109は、映像フレームFT−2がフリーズフレームの映像処理(高画質処理)の際の参照フレームとして用いられるか否かを判定する。制御部109は、フリーズフレームの高画質処理に用いる参照フレームの圧縮モードを変更すると、フリーズフレームの画質が悪くなるため、圧縮モードを変更できないと判定する。なお、本実施形態では、フリーズフレームFT+1の参照フレームとして用いられる可能性がある映像フレームは、映像フレームFTである。ただし、この例に限らず、例えば、映像フレームFT−1もフリーズフレームFT+1の高画質処理のために参照フレームとして用いられるようにしても良い。
S205において、制御部109が映像フレームFT−2の圧縮モードを変更可能であると判定するとS206に進み、圧縮モードを変更できないと判定するとS207に進む。
制御部109は、S206において、映像フレームFT−2の圧縮後のデータサイズを小さくするために、圧縮モードを変更する。本実施形態では、フリーズ指示の入力前の映像フレームFT−2の圧縮モードはモードBである。制御部109はS206において、映像フレームFT−2の圧縮モードをモードDに変更する。すなわち、制御部109は、フリーズ指示が入力された場合のほうが、入力されない場合よりも、フリーズフレームよりも表示順序が先の映像フレームFT−2が低い画質で表示されるように、映像フレームの画像処理(圧縮処理)を制御する。なお、映像フレームFT−2は、フリーズ指示が入力された時点において、出力処理部104から未出力の映像フレームである。
また、本実施形態の制御部109は、フリーズフレームの映像処理のために参照される参照フレームとは異なる映像フレームFT−2の画質が下がるように、映像フレームの画像処理(圧縮処理)を制御する。このようにすることで、参照フレームの画質を落す場合よりも、フリーズフレームの画質をよくできる可能性が向上する。フリーズフレームは、フリーズ指示に応じてフリーズ表示(静止表示)される映像フレームである。
なお、本実施形態では、映像フレームFT−2の圧縮モードをモードBからモードDに変更しているが、不足302の値が小さい場合は、モードBからモードCに変更するようにしてもよい。
図3の時刻T+1(制御後)は、S206による圧縮モードの変更後の各パスA〜Mを通過するデータサイズを示している。図3に示す通り、第四の圧縮伸張部108にて圧縮される映像フレームFT−2の圧縮モードが、モードDに変更されている。モードDを使用した場合、圧縮後の最悪データサイズは非圧縮時のデータサイズの20%となるため、映像フレームFT−2の圧縮後の映像データの書込みに用いられるパスLを通過するデータサイズが減少する。制御部109がS206において映像フレームの圧縮モードを変更すると、S203に戻り、帯域破綻の発生についての判定を行う。
映像フレームFT−2の圧縮モードの変更によるデータサイズの削減量は、不足302よりも大きい。従って、S203では帯域破綻が発生しないと判定され、S210に進む。S210では、制御部109が各部101〜108を制御し、圧縮や映像処理が行なわれる。
なお、図2の処理は、フリーズ指示を検知してから、フリーズフレームの表示が開始されるまで、繰り返される。すなわち、図3の時刻T+1(制御後)に示すように、映像処理装置10は、時刻Tにおいて決定し設定された時刻T+1(制御後)の動作モードに従い、映像処理を実施する。
また、映像処理装置10の制御部109は、時刻T+1において時刻T+2のための動作モードの決定を図2のフローチャートに従って行う。ただし、S201の処理は、フリーズ指示の検知時以降は実行されないため、S202に進む。
S202において、制御部109は、時刻T+2におけるフリーズフレームFT+1の圧縮モードをモードAに決定する。そして、制御部109は、S203において帯域破綻が発生するか否かを判定する。即ち、制御部109は、フリーズフレームと非フリーズフレームのそれぞれの圧縮モードに基づいて、バス110を通過するデータ量が所定値を超えるか判定する。
なお、図4の時刻T+2(制御前)に示すように、フリーズフレームFT+1はモードAにて圧縮される。すなわち、制御部109は、S202において、第一の圧縮伸張部105の読み出しと、第二の圧縮伸張部106の書き込みのための圧縮モードとしてモードAを設定する。
また、制御部109は、時刻T+1で圧縮モードDにて圧縮された第四の圧縮伸張部108のフレームFT−2の読み出しのための圧縮モードとして、モードDを設定する。それ以外の圧縮モードはモードBが設定されている。
この状況において、各圧縮伸張部105〜108のメモリアクセス量の総和が、メモリ111の帯域限界(所定値)を超えるため、制御部109は、S203において、帯域破綻が発生すると判定する。
従って、制御部109はデータサイズ削減のための圧縮モードの変更対象の候補となる映像フレームを特定する(S204)。本実施形態の制御部109は、フリーズフレームFT+1よりも後に入力された映像フレームFT+2を圧縮モードの変更対象の映像フレームの候補として決定する。これは以下の理由による。
すなわち、フリーズ表示する映像フレームよりも後に入力された映像フレームは、表示のために出力処理部104から出力される可能性が低いため、圧縮モードの変更によりデータサイズを削減しても、出力映像の品質の低下につながりにくい。つまり、ユーザは、フリーズ表示をした後、映像の表示をやめるかもしれないし、巻き戻しをするかもしれないし、別のチャプターの映像の開始を指示するかもしれない。従って、制御部109は、フリーズフレームFT+1よりも後に入力された映像フレームFT+2を圧縮モードの変更対象の映像フレームの候補として決定する。
なお、映像フレームFT+2は、フリーズ指示の入力よりも後に入力された映像フレームである。また、フリーズ解除指示の入力のタイミングによっては、フリーズ解除指示の入力によって表示される映像フレームである。
そして、制御部109は、S205において、映像フレームFT+2の圧縮モードを変更可能であるか否かを判定する。映像フレームFT+2の圧縮モードはモードBであるため、モードCまたはモードDに変更することが可能である。また、本実施形態において、映像フレームFT+2はフリーズフレームの高画質化処理のための参照フレームとして用いられない。従って、制御部109は、S205において、映像フレームFT+2の圧縮モードを変更可能であると判定し、S206において、映像フレームFT+2の圧縮モードがモードBからモードDに変更される。なお、本実施形態の制御部109は、映像フレームFT+2の圧縮モードをモードBからモードDに変更しているが、不足302の大きさによっては、モードBからモードCに変更するようにしても良い。制御部109が映像フレームFT+2の圧縮モードをモードBからモードDに変更すると、S203に戻り、帯域破綻が発生するか否かを判定する。
本実施形態では、映像フレームFT+2の圧縮モードをモードDに変更しても、不足302が正の値になるとする。すなわち、映像フレームFT+2の圧縮モードをモードDに変更しても、メモリ111に対して読み書きされる映像データのデータサイズが所定値以上であるとする。この場合、制御部109は、S203において、帯域破綻が発生すると判定し、S204に進む。
S204において、制御部109は、映像フレームFT+2以外に圧縮モードの変更対象となる映像フレームの候補を決定する。本実施形態では、パスLを用いてメモリ111に書き込まれる予定の映像フレームFT−1が圧縮モードの変更対象となる映像フレームの候補として特定される。
すなわち、制御部109は、データ書込み用のパスA、D、H、Lのうち、パスLを用いて書き込まれる映像フレームFT−1を、圧縮モードの変更対象の候補として特定する。
その後、S205において、制御部109は、映像フレームFT−1の圧縮モードが変更可能か否かを判定する。映像フレームFT−1の圧縮モードはモードBのため、圧縮モードを変更可能である。また、本実施形態において、映像フレームFT−1は、フリーズフレームFT+1の高画質化処理ための参照フレームとして用いられない。そこで、制御部109は、S205で映像フレームFT−1の圧縮モードを変更可能と判定し、S206において、映像フレームFT−1の圧縮モードをモードBからモードDに変更する。
この結果、バス110を介したメモリ111への読み書きデータサイズが所定値未満になると、S203において、帯域破綻が発生しないと判定され、S210に進む。そして、S210において、制御部109は、各部101〜108を制御して、圧縮や映像処理を実行させる。
図4の時刻T+2(制御前)と時刻T+2(制御後)に示すように、パスAとパスLを用いて書き込まれる映像フレームFT+2と映像フレームFT−1の圧縮モードがモードBからモードDに変更されている。これにより、メモリ111の帯域破綻を回避しつつ、フリーズフレームをよい画質で表示させることができる。映像処理装置10は、時刻T+1において決定した動作モードに従って、時刻T+2における映像処理を実行しつつ、時刻T+3における動作モードを決定する。
時刻T+3においては、映像フレームFT+3の圧縮モードをモードDに設定した場合、図4の時刻T+3(制御前)に示すようなメモリアクセスが実施される。この結果、僅かではあるがメモリ111への読み書きデータサイズがメモリ111の帯域限界を超える。そこで、制御部109は、S204において、データサイズの削減のための圧縮モードの変更対象となる映像フレームの候補を特定する。本実施形態の制御部109は、S204において、圧縮モードの変更対象の候補として、パスLで書き込まれる映像フレームFTを特定し、S205に進む。
S205において、制御部109は、S204で特定された映像フレームFTの圧縮モードを変更可能であるか否かを判定する。映像フレームFTの圧縮モードはモードBであるため、モードCやモードDに変更可能である。しかし、パスLで書き込まれる映像フレームFTはフリーズフレームFT+1を出力する際のオーバードライブ処理で用いられる映像フレームである。
つまり、映像フレームFTの圧縮モードをモードDに変更してしまうと、時刻T+4において、フリーズフレームFT+1の参照フレームとして、モードDで圧縮された映像フレームが使用されることになる。もしモードDで圧縮された映像フレームFTを参照フレームとして用いてフリーズフレームのオーバードライブ処理を行うと、フリーズフレームの表示時の応答速度が劣化する恐れがある。従って、本実施形態の制御部109は、S205において、圧縮モードの変更ができないと判定し、S207に進む。
S207において、制御部109は、フリーズフレームを参照フレームとして読み出して映像処理される映像フレームの映像処理モードを変更可能であるか否かを判定する。この例では、制御部109は、映像フレームFT+2の映像処理の内容を、フリーズフレームを用いずに実行可能な映像処理に変更可能か否かを判定する。ただし、制御部109は、フリーズフレームを用いた映像フレームFT+2の映像処理をオフにできるか否かを判定するようにしても良い。映像フレームFT+2の映像処理モードが変更可能である(または、オフにすることが可能である)と判定されると、S208に進む。
S208において、制御部109は、フリーズフレームよりも後に入力された映像フレームFT+2の映像処理のための参照フレームとしてフリーズフレームのデータがバス110を通過することを制限する。これにより、バス110を通過するデータサイズが削減される。このとき制御部109は、映像フレームFT+2のための映像処理モードを変更する(または映像処理をオフにする)。
フリーズフレームを用いた映像フレームFT+2の映像処理を変更するのは以下の理由による。すなわち、参照フレームとして用いられるフリーズフレームはモードAで圧縮されているためデータサイズが大きいが、そもそも映像処理の対象となる映像フレームFT+2はモードDで圧縮されているため、すでに画質が劣化している。モードDで圧縮された映像フレームFT+2をモードAで圧縮された映像フレームを用いて映像処理をしても、画質の向上効果は微小である。また、フリーズフレームよりも後に入力された映像フレームFT+2は、出力処理部104により表示のために出力される可能性がフリーズフレームよりも先に入力された映像フレームよりも低い。従って、制御部109は、フリーズフレームよりも後に入力された映像フレームFT+2の映像処理のための参照フレームとしてフリーズフレームがメモリ111から読み出されることを制限する。
映像処理装置10は、時刻T+2において決定し設定された時刻T+3(制御後)の動作モードに従い、時刻T+3の映像処理を実施する。また、制御部109は、時刻T+3において、時刻T+4における動作モードの決定を行う。
図5に示すように、時刻T+4は、フリーズフレームFT+1が出力処理部104により出力されるタイミングである。すなわち、時刻T+4からフリーズ表示が開始される。制御部109は、第二の映像処理部103がメモリ111から読み出したフリーズフレームFT+1が出力処理部104から出力され続けるように各部を制御することでフリーズ表示を実現する。また、制御部109は、フリーズ表示のために用いる映像フレームFT−1、FT、FT+1が上書きされないように第二の映像処理部103を制御する。
フリーズフレームFT+1は、時刻T+1に入力されて時刻T+4で出力されるまでの間、常に圧縮モードAで圧縮され、かつ参照フレームも圧縮モードBで圧縮された映像フレームが用いられている。また、フリーズフレームを処理対象とした映像処理もすべて実施される。従って、例えば、フリーズフレームを含むすべての映像フレームをモードBで圧縮してフリーズ表示を行う場合よりも、フリーズ表示される映像フレームの画質が向上する。
次に、静止表示(フリーズ表示)の解除時の処理に関して図5を用いて説明する。図5の時刻T+5は、フリーズフレームFT+1が表示されている状態(フリーズ表示状態)である。時刻T+6において、外部操作等により、制御部109に対して静止処理の解除指示(フリーズ解除指示)が入力されるとする。
時刻T+6においてフリーズ解除指示が入力されると、制御部109は、時刻T+6の開始から時刻T+7までの間に時刻T+7における各部の動作モードを決定する。具体的には、制御部109は、時刻T+7において第二の映像処理部103が読み出す映像フレームを映像フレームFT+1から映像フレームFT+4に変更することを決定する。これにより静止表示(フリーズ表示)が解除される。
また、制御部109は、第二の映像処理部103が映像処理のためにメモリ111から読み出す参照フレームを変更する。これによって、パスI〜Lのデータサイズが時刻T+6よりも減少する。パスI〜Lのデータサイズが減少した分は、フリーズ解除指示の入力後に映像処理装置10に入力される映像フレームFT+7の圧縮に割り当てる。すなわち、制御部109は映像フレームFT+7の圧縮モードをモードBに設定する。
他の映像フレームFT+2〜FT+6の圧縮率が低くなるように圧縮モードを変更することも可能であるが、一旦高い圧縮率で圧縮し画質が劣化した映像フレームに対して、低い圧縮率で圧縮しても画質の劣化は回復しない。従って、本実施形態ではフリーズ解除指示の前に入力された映像フレームの圧縮モードは変更しない。以上の結果、図5の時刻T+7に示すような結果が得られる。
すなわち、制御部109は、フリーズ解除指示の入力に応じて表示される映像フレームFT+4(第1の映像フレーム)を圧縮モードC(第1の圧縮率)で圧縮させる。一方、制御部109は、フリーズ解除指示の入力後に映像処理装置10に入力された映像フレームFT+7を圧縮モードB(第2の圧縮率)で圧縮させる。このように、制御部109は、映像フレームFT+4の圧縮率よりも、フリーズ解除指示の入力後に入力された映像フレームFT+7を低い圧縮率で圧縮させる。
時刻T+7の場合と同様に、時刻T+8以降も、制御部109は時刻T+7以降に入力された映像フレームの圧縮モードを圧縮モードBへ変更する。図5の時刻T+12は、メモリ111に対して書込み、読み出しされる映像フレームがすべてモードBで圧縮された映像フレームになった状態を示している。なお、上記の説明では、フリーズ指示の入力後に入力された映像フレームの圧縮モードを全てモードBに設定される場合の例を示したが、これに限らない。すなわち、映像フレームの内容によっては、モードBで圧縮するとメモリ111の帯域破綻を起こす可能性がある。制御部109は、モードBの最悪圧縮率と、圧縮済みの映像フレームのデータサイズとに基づいて、帯域破綻が発生すると判定される場合は、新規に入力される映像フレームの圧縮モードをモードCやモードDに設定する。
なお、本実施形態では、フリーズフレームとして決定された映像フレームFT+1の圧縮モードをモードAにすることで、フリーズフレームの画質を向上させる例を中心に説明した。しかし、フリーズフレームの画質を向上させるための方法は、圧縮モードの制御に限らない。すなわち、制御部109は、フリーズ指示の入力に応じて、フリーズフレームに対する映像処理部102や103による映像処理に内容を変更することも可能である。例えば、フリーズフレームに対しては、他の映像フレームよりも処理負荷が高いノイズリダクション処理を行わせることも可能である。また例えば、フリーズフレームに対しては、他の映像フレームよりも参照フレーム数が多い映像処理を行わせることも可能である。つまり、制御部109は、フリーズフレームの映像処理に用いる参照フレーム数が、フリーズ表示しない場合よりも多くなるように、映像フレームの映像処理に用いる参照フレーム数を制御することが可能である。このようにしても、フリーズ表示される映像フレームの画質を向上することができる。
<第2実施形態>
次に、図6〜10を用いて第2の実施形態に関して説明する。なお、本実施形態では、第1実施形態との差分を中心に説明する。
本実施形態における映像処理装置10の動作について図6を用いて説明する。なお、映像処理装置10は、不図示のCPUが図6の処理を実現するためのプログラムをメモリから読みだして実行することにより、図6の処理を実現する。
なお、映像処理装置10は、例えば、大型テレビ、デスクトップPC、ノートPC、タブレット、スマートフォンなどとして実現可能である。また、映像処理装置10は、プロジェクターなどの投影型の装置として実現することも可能である。
図6の処理は、映像処理装置10が動画として映像を表示中(非静止表示中)に静止処理の指示(フリーズ指示)が入力されると、開始される。なお、本実施形態において静止処理の指示(フリーズ指示)とは、表示映像をフリーズさせるため指示である。フリーズ指示によって、動画を構成する映像フレームの1つが、フリーズ解除指示が入力されるまで表示され続けることになる。フリーズ指示には、動画表示中の一時停止、動画表示中のキャプチャ指示等が含まれる。本実施形態では、フリーズ指示がユーザ操作によって入力される例を中心に説明するが、例えば、ある特定の場面で自動的にフリーズ指示が入力されるようなユースケースにおいても本願のアイデアは適用可能である。
S601において、制御部109は、図示しない指示部からの外部操作により、静止処理の指示(フリーズ指示)が入力されたことを検知する。制御部109がフリーズ指示を検知するとS602に進む。この説明では、図7に示す時刻Tにおいてフリーズ指示が検知されたとする。また、この説明では、時刻Tにおいて各圧縮伸張部105〜108の圧縮モードはモードBに設定されているものとする。なお、モードBの圧縮率は、平均で45%、最悪で60%である。すなわち、モードBで圧縮した場合、平均的な映像フレームの圧縮後のデータサイズは、圧縮前の45%となる。
S602において、制御部109は、フリーズ指示を検知した次の時刻T+1に入力される映像フレームFT+1を静止対象の映像フレーム(フリーズフレーム)として決定する。また、制御部109は、S602において、フリーズフレームの画質がフリーズ指示を検知しなかった場合よりも良くなるようにフリーズフレームの圧縮モードをモードAに決定する。また、制御部109は、S602において、フリーズ表示する映像フレームをモードAで圧縮し、それ以外の映像フレームをモードBで圧縮した場合において、バス110を介してメモリ111に対して読み書きされる映像フレームのデータサイズを算出する。なお、モードAの圧縮率は、平均で80%、最悪で90%である。上記の算出が終了すると、S603に進む。
制御部109は、S602における算出結果を用いて、バス110の帯域破綻が発生するか否かを判定する(S603)。すなわち、制御部109は、非フリーズフレームをモードBで圧縮し、フリーズフレームをモードAで圧縮した場合に、メモリ111に読み書きされるデータサイズが所定値を超えるか否かを判定する。なお、本実施形態における所定値は、パスA〜Mでそれぞれ読み書きされる13つの映像フレームの非圧縮時のデータサイズの合計の半分である。
S603で帯域破綻が発生しないと判定されると、S610に進み、フリーズフレームがモードA、非フリーズフレームがモードBで圧縮され、メモリ111に書き込まれる。なお、S610の処理が終わると、時刻T+2における各映像フレームの圧縮モード等を決定するために、S602に戻る。本実施形態では、S603で帯域破綻が発生すると制御部109によって判定された場合について、以下で説明する。図7は、本実施形態の時刻TにおけるパスA〜Mを通過するデータサイズ、並びに各圧縮伸張部105〜108の圧縮モードを示している。また、時刻Tにおいて、外部より制御部109へ静止指示(フリーズ指示)が入力されるとする。
図7の時刻T+1(制御前)において、制御部109は、静止対象となるフレーム(フリーズフレーム)を映像フレームFT+1に決定し、該映像フレーム(フリーズフレーム)FT+1の圧縮モードをモードAに決定する(S602)。これに伴い、バス110を通るデータサイズが増加し、図7の時刻T+1(制御前)に示すように、「不足」が発生するため、制御部109は、帯域破綻が生じると判定する(S603)。
そこで、制御部109は、バス110を通過するデータサイズを削減するために、第二の映像処理部103の映像処理で参照フレームとして用いられる映像フレームを、データサイズの削減対象となる映像フレームの候補として特定する(S604)。
より具体的には、制御部109は、第一の映像処理部102と第二の映像処理部103のうち、フリーズフレームの映像処理を行わない第二の映像処理部103が参照フレームとして用いる映像フレームを、データサイズの削減対象の候補として特定する。本実施形態では、パスKから読み出される映像フレームFT−4が、データサイズの削減対象となる映像フレームの候補として特定される。データサイズの削減対象となる映像フレームの候補を特定すると、S605に進む。
S605において、制御部109は、現在の第二の映像処理部103が実行する映像処理モードを、S604で特定された映像フレームを参照フレームとして用いない映像処理モードに変更できるか否かを判定する。本実施形態の制御部109は、第二の映像処理部103による映像処理の対象がフリーズフレームでなければ、映像処理モードを変更可能であると判定する。
時刻T+1の時点において第二の映像処理部103で映像処理対象となっている映像フレームは映像フレームFT−2であり、フリーズフレームFT+1ではない。従って、制御部109はS605において、第二の映像処理部103の映像処理モードを変更可能であると判定する。制御部109が映像処理モードを変更可能であると判定した場合、S606に進む。
S606において、制御部109は、第二の映像処理部103の映像処理モードを、参照フレーム数が少ない映像処理モードに変更する。図7に示すように、S606の処理がなければ、第二の映像処理部103の映像処理のために、2つの映像フレーム(映像フレームFT−3、FT−4)が参照フレームとして用いられる。しかし、S606の処理によって、映像フレームFT−4が参照フレームとして用いられなくなる。すなわち、S606の処理によって、第二の映像処理部103は、パスKを用いた映像フレームFT−4の読み出しを停止する。このようにすることで、バス110を通過する映像データのデータサイズを削減することができる。
S606で映像処理モードの変更を終えると、S603に戻り、制御部109は、帯域破綻が発生するか否かを改めて判定する。図7の時刻T+1(制御後)に示すように、パスKを通過するデータサイズをゼロにしたことによって削減できたデータサイズは、「不足」のデータサイズよりも大きいため、制御部109は、帯域破綻が発生しないと判定する。S603で帯域破綻が発生しないと判定されると、S610に進む。S610において、制御部109は、図6の各ステップでの決定に基づいて各映像処理や圧縮を制御する。S610の制御が終わると、S603に戻り、制御部109は、時刻T+2における各動作モードの決定を行う。
図8の時刻T+2(制御前)は、図6のフローチャートに基づく制御をしない場合の時刻T+2における各パスA〜Mを通過する映像データのデータサイズを示している。図8に示すように、2つのパスでフリーズフレームの読み書きが行われているため、バス110を通過するデータサイズが所定値を上回っている。
図8の時刻T+2(制御前)の状態では「不足」が存在するため、制御部109は、図6のS603において帯域破綻が発生すると判定する。そこで、S604に進み、制御部109は、フリーズフレームへの影響が小さい映像フレームをデータサイズの削減対象の候補として特定する。本形態では、フリーズフレームFT+1よりも後に入力された映像フレームFT+2が特定される。
その後、S605において、制御部109は、映像フレームFT+2に対する映像処理を参照フレーム数が少ない映像処理に変更可能か否かを判定する。しかしながら、映像フレームFT+2は入力処理部101から入力された状態の映像フレームであるため、映像処理を変更できないと制御部109によって判定される。したがって、S607に進み、制御部109は、映像フレームFT+2の圧縮率を変更可能であるか否かを判定する。映像フレームFT+2の変更前の圧縮モードはモードBであり、フリーズフレームFT+1の映像処理の参照フレームとして用いられる予定はないため、圧縮率を変更可能であると判定される。そこで、S608において制御部109は映像フレームFT+2の圧縮モードがモードBからモードDになるように、第一の圧縮伸張部105を制御する。S608の処理が完了すると、S603に戻る。
映像フレームFT+2の圧縮モードを変更しただけでは、バス110を通過するデータサイズが所定値未満にならないため、制御部109は、S603において帯域破綻が発生すると判定し、S604に進む。
S604において、制御部109は、第二の映像処理部103の映像処理で参照フレームとして用いられる映像フレームFT−3を、データサイズの削減対象の候補として特定する。そして、制御部109は、S605において、第二の映像処理部103の映像処理モードを変更可能であるか否かを判定する。制御部109は、時刻T+2における第二の映像処理部103の映像処理の対象となる映像フレームは、映像フレームFT−1であって、フリーズフレームFT+1ではないため、映像処理モードを変更可能であると判定する。そして、制御部109は、S606において、第二の映像処理部103の映像処理モードを変更する。映像処理モードの変更が完了するとS603に戻る。
映像フレームFT+2に対する圧縮モードの変更と、第二の映像処理部103に対する映像処理モードの変更により、帯域破綻が発生しなくなると制御部109が判定すると、S610に進み、制御部109は、時刻T+2における各部101の処理を実行させる。時刻T+2の制御後における各パスA〜Mの通過データサイズは、図8の時刻T+2(制御後)に示す通りである。
また、制御部109は、時刻T+3における各部の動作モードを決定する為に、S603に戻る。時刻T+3における各パスA〜Mの通過データサイズは、図8の時刻T+3(制御前)に示す通りである。図に示す通り、同時に3つのフリーズフレームの読み書きが行われるため、「不足」が発生し、帯域破綻が発生すると判定される。この場合、S604において、制御部109は、映像フレームFT+2の映像処理のために参照フレームとしてパスCから読み出されるフリーズフレームFT+1を、データサイズの削減対象として特定し、第一の映像処理部102の映像処理モードを変更させる。これにより、パスCからフリーズフレームFT+1が読み出されなくなり、バス110を通過するデータサイズを削減できる。
パスCから読み出されるフリーズフレームFT+1をデータサイズの削減対象とするのは、以下の理由による。すなわち、すでにモードDで圧縮され低品位になっている映像フレームFT+2に対してモードAで圧縮された高品位の参照画像を用いて映像処理し、再度モードDで圧縮しても、画質の改善効果は軽微である。また、フレームFT+2は静止対象であるフレームFT+1の直後のフレームであり、表示のために出力される可能性は低い。従って、第一の映像処理部103の映像処理モードを、参照フレームを用いない映像処理モードへ変更し、パスCの読み出しを停止する。
また、図9の時刻T+4(制御前)に示す通り、時刻T+4においても、図6に示す制御前はメモリ帯域が不足し帯域破綻が生じると判定される(S603)。そこで制御部109は、低品位で圧縮されている映像フレームFT+2に対する映像処理のモードを変更する。これにより、映像フレームFT+2の映像処理における参照フレームとしてフリーズフレームFT+1と映像フレームFTが読み出されなくなくなり、バス110を通過するデータサイズが削減される。すなわち、制御部109は、S605とS606の処理により第一の映像処理部102の映像処理モードを変更し、パスFとパスGを用いた参照フレームの読出しを停止する。その結果、図9の時刻T+4(制御後)に示す通り、バス110を通過するデータサイズが削減され、帯域破綻が発生しないと判定されるようになる。S603において帯域破綻が発生しないと制御部109によって判定されると、S610に進み、制御部109は、時刻T+4における映像処理や圧縮処理を実現するための各部の制御を行なう。また、時刻T+4は、フリーズフレームFT+1がパスIから読み出され、出力処理部104から出力されるタイミングである。制御部109は、時刻T+4から、フリーズ表示を解除するためのフリーズ解除指示が入力されるまで、フリーズフレームFT+1が表示され続けるように、各部101〜108を制御する。また、制御部109は、フリーズ表示中はフリーズフレームFT+1がメモリ111から削除されないように、メモリ111の制御も行なう。
時刻T+5においては、表示画面は静止状態であるため、パスIから再びフリーズフレームFT+1が読み出される。
図9の時刻T+5(制御前)に示す通り、図6の制御をしない場合は、帯域破綻が発生する。そこで、S603において制御部109は帯域破綻が発生すると判定し、S604においてデータサイズの削減対象の候補が特定される。制御部109は、データサイズの削減対象となる映像フレームの候補として、パスJ、K、L、Mからそれぞれ読み出される映像フレームFT、FT−1、FT+1、FT+1を特定する。
これは以下の理由による。すなわち、本実施形態では、第二の映像処理部103はフレームレート変換処理、出力処理部104はオーバードライブ処理を行うが、静止処理(フリーズ表示)中の間は、これらの処理をしても表示映像の品質に影響しない。従って、制御部109は、第二の映像処理部103と出力処理部104による参照フレームの読み出しを制限(禁止)する制御を行なう。これにより、図9の時刻T+5(制御後)に示す通り、帯域破綻が発生しないレベルまで、バス110を通過するデータサイズを削減できる。
次に、静止処理(フリーズ表示)を解除するためのフリーズ解除指示が入力された場合の映像処理装置10の動作について説明する。本実施形態では時刻T+6においてフリーズ解除指示が検知されたものとする。なお、本実施形態では、フリーズ解除指示がユーザ操作によって入力される例を中心に説明するが、例えば、ある特定の場面で自動的にフリーズ解除指示が入力されるようなユースケースにおいても本願のアイデアは適用可能である。
図10の時刻T+7(制御前)に示すように、フリーズ解除指示の検知に応じて、制御部109は、フリーズ表示を解消するため、第二の映像処理部103並びに出力処理部104の映像処理モードを変更する。すなわち、制御部109は、フリーズ解除指示の入力に応じて、フレームレート変換処理やオーバードライブ処理を再開させる。その結果、第二の映像処理部103や出力処理部104が参照フレームを読み出すための帯域が必要となり、バス110を通過するデータサイズが向上し、帯域破綻が発生すると制御部109によって判定されることになる。そこで制御部109は、S604において、パスJとKからそれぞれ読み出される映像フレームFT+2とFT+3を、データサイズの削減対象の映像フレームとして特定する。そして制御部109は、S605において、第二の映像処理部103の映像処理(フレームレート変換処理)をオフにすることで、S604で特定された映像フレームFT+2とFT+3の読出しを制限(禁止)する。これは以下の理由による。
すなわち、これまで出力されていたフリーズフレームFT+1と、フリーズ解除指示の入力後に最初に出力される映像フレームFT+4は、時間的に連続していないため、フレームレート変換処理によって中間フレームを生成して表示させる必要性が低い。従って、本形態の制御部109は、フリーズ解除指示の入力直後はフレームレート変換処理を制限し、バス110を通過するデータサイズを削減する。
時刻T+8においては、静止処理から復帰し、通常処理が開始される。例えば、図10の時刻T+8に示すように、パスC、E、Kのデータサイズが大きく、パスAの映像フレームFT+8をモードBで圧縮した場合、帯域破綻が発生すると制御部109により判定される場合、映像フレームFT+8の圧縮モードをモードCに変更する。また、制御部109は、パスDとパスHを用いてそれぞれ書き込まれる映像フレームFT+7とFT+6の圧縮モードをモードBからモードCに変更する。これにより、バス110の帯域破綻が回避される。以上説明したように、本実施形態の映像処理装置10は、フリーズ指示の入力に応じてフリーズフレーム(フリーズ表示される映像フレーム)の画質が高くなるように圧縮モードを制御する。また、映像処理装置10は、圧縮された映像データを格納するメモリ111に対する読み書きのデータサイズが所定値未満になるように、非フリーズフレームの圧縮モードや映像処理モードを制御する。本実施形態の映像処理装置10によれば、メモリ111の帯域破綻を防ぎつつ、高画質のフリーズフレームの表示が可能となる。
なお、本実施形態においては静止処理(フリーズ表示)を行う場合の例を中心に説明したが、例えば表示画面を他機器に出力するためにキャプチャする処理などにおいても、本願の内容は適用可能である。