説明

画像処理装置及び画像処理方法

【課題】簡易な構成でテロップの動きを滑らかに表現することのできる技術を提供する。
【解決手段】本発明の画像処理装置は、入力された映像を複数のブロックに分割し、ブロック毎の動きベクトルを検出する動きベクトル検出手段と、入力された映像から水平テロップ及び垂直テロップを検出するテロップ検出手段と、複数のブロックのうち水平テロップを含むブロックの動きベクトルを補正する第1補正手段と、複数のブロックのうち垂直テロップを含むブロックの動きベクトルを補正する第2補正手段と、テロップ検出手段で水平テロップと垂直テロップの両方が検出された場合に、第1補正手段と第2補正手段のうち一方の補正手段による補正を行い、他方の補正手段による補正を省略するように、第1補正手段と第2補正手段を制御する制御手段と、ブロック毎の動きベクトルを用いて補間フレームを生成する生成手段と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【0002】
近年、動画像(映像)を表示する際の動画解像度(動画性能の優劣を表す指標)を改善するために、フレーム補間を行ってフレーム数を増加させるフレームレート変換技術の研究開発が進められている。また、画面内をスクロールする文字列、所謂テロップは表示装置の視聴者が特に注目する領域であるため、フレームレート変換技術を用いてテロップの動きを滑らかに表現することで高い効果が期待できる。
【0003】
テロップの動きを滑らかに表現するための技術は、例えば、特許文献1に開示されている。具体的には、特許文献1に開示の技術では、画像を格子状のブロックに分割して、ブロックごとに求めた動きベクトルから、テロップの動きベクトルを検出する。そして、テロップの存在する可能性の高いブロックの動きベクトルを、検出されたテロップの動きベクトルに置き換える(動きベクトル補正処理)。テロップの存在する可能性の高いブロックの動きベクトルとして検出されたテロップの動きベクトルを用いて補間フレームを生成することにより、テロップの動きを滑らかに表現することができる。
【0004】
しかしながら、特許文献1に開示の技術では、映像に、水平方向に移動するテロップ(水平テロップ)と垂直方向に移動するテロップ(垂直テロップ)が含まれる場合に問題がある。具体的には、特許文献1に開示の技術では、そのような場合に、各テロップの存在する可能性の高い全てのブロックに対して動きベクトル補正処理が行われることとなるため、処理負荷が増大してしまう。また、このような処理を1フレーム期間内に終了させるためには、演算能力の高い演算処理装置を用いる必要があるため、コストが増大してしまう。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−042897号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
そこで、本発明は、簡易な構成でテロップの動きを滑らかに表現することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の画像処理装置は、入力された映像のフレーム間に補間フレームを挿入してフレームレートを変換する画像処理装置であって、入力された映像を複数のブロックに分割し、ブロック毎の動きベクトルを検出する動きベクトル検出手段と、入力された映像から水平方向に移動する水平テロップ及び垂直方向に移動する垂直テロップを検出するテロップ検出手段と、複数のブロックのうち水平テロップを含むブロックの動きベクトルを補正する第1補正手段と、複数のブロックのうち垂直テロップを含むブロックの動きベクトルを補正する第2補正手段と、テロップ検出手段の検出結果に基づいて、第1補正手段と第2補正手段を制御する制御手段と、ブロック毎の動きベクトルを用いて補間フレームを生成する生成手段と、を有し、制御手段は、テロップ検出手段で水平テロップと垂直テロップの両方が検出された場合に、第1補正手段と第2補正手段のうち一方の補正手段による補正を行い、他方の補正手段による補正を省略するように、第1補正手段と第2補正手段を
制御する。
【0008】
本発明の画像処理方法は、入力された映像のフレーム間に補間フレームを挿入してフレームレートを変換する画像処理方法であって、入力された映像を複数のブロックに分割し、ブロック毎の動きベクトルを検出する動きベクトル検出ステップと、入力された映像から水平方向に移動する水平テロップ及び垂直方向に移動する垂直テロップを検出するテロップ検出ステップと、複数のブロックのうち水平テロップを含むブロックの動きベクトルを補正する第1補正ステップと、複数のブロックのうち垂直テロップを含むブロックの動きベクトルを補正する第2補正ステップと、テロップ検出ステップでの検出結果に基づいて、第1補正ステップと第2補正ステップでの処理を制御する制御ステップと、ブロック毎の動きベクトルを用いて補間フレームを生成する生成ステップと、を有し、制御ステップでは、テロップ検出ステップで水平テロップと垂直テロップの両方が検出された場合に、第1補正ステップと第2補正ステップのうち一方の補正ステップによる補正を行い、他方の補正ステップによる補正を省略するように、第1補正ステップと第2補正ステップでの処理を制御する。
【発明の効果】
【0009】
本発明によれば、簡易な構成でテロップの動きを滑らかに表現することができる。
【図面の簡単な説明】
【0010】
【図1】実施例1に係る画像処理装置の機能構成を示すブロック図。
【発明を実施するための形態】
【0011】
以下、本発明の実施例に係る画像処理装置及び画像処理方法について説明する。以下の実施例に係る画像処理装置は、入力された映像のフレーム間に補間フレームを挿入してフレームレートを変換する。
【0012】
<実施例1>
(全体構成)
図1は本発明の実施例1に係る画像処理装置の機能構成を示すブロック図である。図1において、符号1はフレーム遅延部、符号2は動きベクトル検出部、符号3はテロップ検出部、符号4は選択部、符号5は第1補正部、符号6は第2補正部、7,8は切り替えスイッチ、9は補間フレーム生成部を示す。
【0013】
入力された映像(映像信号)はフレーム遅延部1において1フレーム期間だけ遅延される。なお、本実施例では映像がフレーム単位で入力されるものとする。
動きベクトル検出部2は、入力された映像(入力映像)を複数のブロックに分割し、ブロック毎の動きベクトルを検出する。本実施例では、遅延されたフレームF1と遅延されていないフレームF2(フレームF1の1つ後のフレーム)とからブロックマッチング法を用いてブロック毎の動きベクトル(フレームF1,F2間の動きベクトル)を検出する。具体的には、フレームF1の画像を格子状のブロックに分割し、各ブロックがフレームF2の画像上のどの位置に移動したかを、相関値を計算することによって算出する。動きベクトルは水平方向成分と垂直方向成分を有する。
そして、動きベクトル検出部2は1画面分(1フレーム分)の動きベクトル(検出された動きベクトル)の配列Vecを出力する。配列Vecは水平方向のブロック数×垂直方向のブロック数の要素(動きベクトル)を有する2次元配列である。配列Vecはテロップ検出部3に入力される。
【0014】
テロップ検出部3は、入力された映像から水平方向に移動するテロップ(水平テロップ)及び垂直方向に移動するテロップ(垂直テロップ)を検出する。本実施例では、動きベ
クトル検出部2から取得した配列Vecを統計的に解析し、水平テロップと垂直テロップの有無、及び、各テロップの速さを検出する。
【0015】
具体的には、格子状に分割された複数のブロックの1行ごとに垂直方向成分が0の動きベクトルについて水平方向成分すなわち水平方向の速さのヒストグラムを生成する。ただし、この時、水平方向成分が0の動きベクトルは除外する。そして、各ヒストグラムにおいて、度数の最大値が所定値以上である場合に、そのヒストグラムに対応する行に水平テロップ(水平方向の速さが度数の最大値に対応する速さである水平テロップ)が存在すると判定する。
また、複数のブロックの1行ごとに水平方向成分が0の動きベクトルについて垂直方向成分すなわち垂直方向の速さのヒストグラムを生成する。ただし、この時、垂直方向成分が0の動きベクトルは除外する。そして、各ヒストグラムにおいて、度数の最大値が所定値以上である場合に、そのヒストグラムに対応する行に垂直テロップ(垂直方向の速さが度数の最大値に対応する速さである垂直テロップ)が存在すると判定する。
なお、本実施例では、動きベクトルの情報を統計的に解析することでテロップの有無とその速さを検出しているが、テロップとその速さの検出方法はこれに限らない。例えば、入力されたフレーム画像の画素データ、フレーム間の差分データに関する特徴量、または、それらの両方などを用いて検出してもよい。
【0016】
テロップ検出部3は、複数のブロックの行数個の要素を有する配列Vx及び配列Vyをテロップ検出情報として出力する。配列Vxの各要素は、それぞれ、複数のブロックの行に対応しており、水平テロップが存在すると判定された行に対してはその速さ(水平方向の速さ)が要素とされ、水平テロップが存在しない行に対しては0が要素とされる。配列Vyの各要素も、それぞれ、複数のブロックの行に対応しており、垂直テロップが存在すると判定された行に対してはその速さ(垂直方向の速さ)が要素とされ、垂直テロップが存在しない行に対しては0が要素とされる。
テロップ検出情報(配列Vx,Vy)は選択部4、第1補正部5、第2補正部6に出力される。
【0017】
第1補正部5、第2補正部6は、配列Vecを補正する。具体的には、第1補正部5は、複数のブロックのうち水平テロップを含むブロックの動きベクトルを補正する。第2補正部6は、複数のブロックのうち垂直テロップを含むブロックの動きベクトルを補正する。第1補正部5、第2補正部6の処理の詳細については後述する。
【0018】
選択部4は、テロップ検出部3から取得したテロップ検出情報に基づき、第1補正部5による補正処理のみを行うか、第2補正部6による補正処理のみを行うか、第1補正部5と第2補正部6による補正処理を行わないかを選択する。具体的には、第1補正部5による補正処理のみを行う場合には水平テロップ(水平方向)を選択し、第2補正部6による補正処理のみを行う場合には垂直テロップ(垂直方向)を選択する。第1補正部5と第2補正部6による補正処理を行わない場合にはテロップ(方向)を選択しない。選択部4の処理の詳細については後述する。
【0019】
切り替えスイッチ7,8は、テロップ検出部3の検出結果に基づいて、第1補正部5と第2補正部6を制御する。本実施例では、選択部4の選択結果(テロップ検出部3の検出結果に基づく選択結果)に応じて機能間の接続を切り替えることにより、第1補正部5と第2補正部6を制御する。
具体的には、選択部4でテロップが選択されなかった場合には、動きベクトル検出部2から出力された配列Vecがそのまま補間フレーム生成部9に入力されるように機能間の接続を切り替える。即ち、第1補正部5と第2補正部6による補正を行わないように、第1補正部5と第2補正部6を制御する。
選択部4で水平テロップが選択された場合には、動きベクトル検出部2から出力された配列Vecが第1補正部5で補正されて補間フレーム生成部9に入力されるように機能間の接続を切り替える。即ち、第1補正部5による補正を行い、第2補正部6による補正を省略するように、第1補正部5と第2補正部6を制御する。
垂直テロップが選択された場合には、動きベクトル検出部2から出力された配列Vecが第2補正部6で補正されて補間フレーム生成部9に入力されるように機能間の接続を切り替える。即ち、第2補正部6による補正を行い、第1補正部5による補正を省略するように、第1補正部5と第2補正部6を制御する。
【0020】
補間フレーム生成部9は、ブロック毎の動きベクトルを用いて補間フレームを生成する。具体的には、配列Vec(または補正された配列Vec)と生成する補間フレームの前後2フレーム(フレームF1,F2)とを用いて補間フレームを生成する。
【0021】
(選択部の処理の具体例)
以下、選択部4の処理の具体例について説明する。
選択部4は、配列Vx及び配列Vyの要素がすべて0である場合(水平テロップと垂直テロップが検出されなかった場合)にはテロップを選択しない。
配列Vxと配列Vyの一方にのみ0でない要素が含まれる場合(水平テロップと垂直テロップのいずれか一方のみが検出された場合)には、検出されたテロップを選択する。
配列Vxと配列Vyの両方に0でない要素が含まれる場合(水平テロップと垂直テロップの両方が検出された場合)には、いずれか一方のテロップを選択する。
【0022】
速さの速いテロップの動きを滑らかに表現することによる効果(補間効果)は高いため、本実施例では、選択部4は、テロップ検出部3で水平テロップと垂直テロップの両方が検出された場合に、速さが速い方のテロップを選択する。
例えば、水平テロップの速さ、垂直テロップの速さをそれぞれ所定の閾値と比較して、それぞれのテロップが高速か低速かを判定する。そして、一方のテロップが高速と判定された場合には、該テロップ(高速と判定されたテロップ)を選択する。また、水平方向の動きの方が垂直方向の動きよりも追従しやすく、水平テロップの動きを滑らかに表現した方がより高い補間効果が期待できるため、両方のテロップの判定結果が同じ場合には、水平テロップを選択する。
【0023】
具体的には、水平テロップの速さVx_tが所定の閾値Vxth以上の場合(水平テロップが高速と判定された場合)には、垂直テロップの速さVy_tにかかわらず水平テロップを選択する。水平テロップの速さVx_tが閾値Vxth未満、且つ、垂直テロップの速さVy_tが所定の閾値Vyth以上の場合(水平テロップが低速、垂直テロップが高速と判定された場合)には、垂直テロップを選択する。水平テロップの速さVx_tが閾値Vxth未満、且つ、垂直テロップの速さVy_tが閾値Vyth未満の場合(水平テロップと垂直テロップの両方が低速と判定された場合)には、水平テロップを選択する。
なお、配列Vxが0以外の要素を複数含んでいる場合(水平テロップが存在するとされた行が複数検出された)場合には、それらの要素の最大値Max(Vx)を閾値Vxthと比較することが好ましい(動きが速いほど補間効果が高いため)。配列Vyが0以外の要素を複数含んでいる場合についても、同様に、それらの要素の最大値Max(Vy)を閾値Vythと比較することが好ましい。これにより、例えば、水平テロップや垂直テロップが複数存在している場合でもテロップの選択を適切に行うことが可能となる。勿論、配列に含まれる0以外の要素の平均値や累積値などを閾値と比較してもよい。
これらの選択方法をまとめると表1のようになる。なお、表1中で*は0以外の任意の値を意味し、−は配列中に0以外の要素が存在しないことを意味する。
【0024】
【表1】

【0025】
なお、水平テロップの動きを滑らかに表現した方がより高い補間効果が期待できるため、閾値Vxthは閾値Vythより小さいことが好ましい。例えば、閾値Vxth=5画素/フレーム、閾値Vyth=8画素/フレームなどとすればよい。なお、これらの閾値はメーカやユーザによって適宜設定されるものであり、これらの値に限定されるものではない。
【0026】
(第1補正部と第2補正部の処理の具体例)
以下、第1補正部5と第2補正部6の処理の具体例について説明する。
第1補正部5は、配列Vxの要素が0でない行(水平テロップが存在するとされた行)に属するブロックのうち、垂直方向成分が0であり、水平方向成分が検出された水平テロップの速さと一致するブロックを該水平テロップを含むブロックとして検出する。さらに、検出したブロックに隣接するブロック(垂直方向、水平方向、斜め方向に隣接する計8つのブロック)を水平テロップを含むブロックとみなし、それらのブロックの動きベクトルを補正する(配列Vecの補正)。具体的には、動きベクトルの垂直方向成分を0に、水平方向成分を検出された水平テロップの速さに置き換える。
水平テロップが存在するとされたすべての行に対して上記補正処理が終了したら、補正された配列Vecを補間フレーム生成部9に出力する。
【0027】
なお、検出したブロックに隣接するブロックを水平テロップを含むブロックとみなすのは、それらのブロックでは水平テロップが占める領域が小さいために水平テロップの移動速度とは異なる動きベクトルが検出された可能性が高いからである。それらのブロックを水平テロップを含むブロックとみなすことにより、補間フレームにおいて水平テロップの一部が欠けてしまうこと(水平テロップが乱れてしまうこと)を抑制することができる。
【0028】
第2補正部6は、配列Vyの要素が0でない行(垂直テロップが存在するとされた行)に属するブロックのうち、水平方向成分が0であり、垂直方向成分が検出された垂直テロップの速さと一致するブロックを該垂直テロップを含むブロックとして検出する。さらに、検出したブロックに隣接するブロックを垂直テロップを含むブロックとみなし、それらのブロックの動きベクトルを補正する(配列Vecの補正)。具体的には、動きベクトルの水平方向成分を0に、垂直方向成分を検出された垂直テロップの速さに置き換える。
垂直テロップが存在するとされたすべての行に対して上記補正処理が終了したら、補正された配列Vecを補間フレーム生成部9に出力する。
【0029】
なお、入力された映像が水平テロップと垂直テロップの両方を含む場合、両方のテロップを含むブロックが存在することがある。そのようなブロックにおいて、それらのテロップが重なっている場合には、それらのテロップのうち上側に表示されているテロップ(上
側テロップ)の動きベクトルがそのブロック(重複ブロック)の動きベクトルとして検出される。従って、選択部4において上側テロップが選択されていれば、該上側テロップを乱すことのない補間フレームを生成することができる。
【0030】
しかし、選択部4において、必ずしも上側テロップが選択されるとは限らない。選択部4において、上側テロップとは異なるテロップ(即ち、下側に表示されているテロップ;下側テロップ)が選択された場合には、補間フレームにおいて上側テロップが乱れることとなる。具体的には、上側テロップの存在するブロック(上記重複ブロック及びそれに隣接するブロック)の動きベクトルとして下側テロップの動きベクトルが割り当てられるため、補間フレームにおいて上側テロップが乱れることとなる。
そのため、第1補正部5、及び、第2補正部6は水平テロップと垂直テロップの両方を含むブロックの動きベクトルを補正しないことが好ましい。そのような構成にすることにより、水平テロップと垂直テロップとが重複する領域に対しても良好に補間することができる(上述したようなテロップの乱れを抑制することができる)。
【0031】
<実施例2>
(全体構成)
次に、本発明の実施例2について説明する。本実施例に係る画像処理装置の基本的な構成は実施例1(図1)と同じであるため、説明を省略し、以下では実施例1と異なる部分(具体的には、選択部4の処理)について説明する。
【0032】
(選択部の処理の具体例)
以下、選択部4の処理の具体例について説明する。なお、配列Vx及び配列Vyの要素がすべて0である場合、及び、配列Vxと配列Vyの一方にのみ0でない要素が含まれる場合の選択部4の処理は、実施例1と同様のため、説明は省略する。
【0033】
サイズの大きいテロップは視覚的に目立つため、そのようなテロップに対しては高い補間効果が期待できる。そこで、本実施例では、選択部4は、テロップ検出部3で水平テロップと垂直テロップの両方が検出された場合に、サイズが大きい方のテロップを選択する。
例えば、水平テロップのサイズ、垂直テロップのサイズをそれぞれ所定の閾値と比較して、それぞれのテロップが大サイズか小サイズかを判定する。そして、一方のテロップが大サイズと判定された場合には、該テロップ(大サイズと判定されたテロップ)を選択する。また、水平テロップの動きを滑らかに表現した方がより高い補間効果が期待できるため、両方のテロップの判定結果が同じ場合には、水平テロップを選択する。
【0034】
具体的には、水平テロップのサイズSxが所定の閾値Sxth以上の場合(水平テロップが大サイズと判定された場合)には、垂直テロップのサイズSyにかかわらず水平テロップを選択する。水平テロップのサイズSxが閾値Sxth未満、且つ、垂直テロップのサイズSyが所定の閾値Syth以上の場合(水平テロップが小サイズ、垂直テロップが大サイズと判定された場合)には、垂直テロップを選択する。水平テロップのサイズSxが閾値Sxth未満、且つ、垂直テロップのサイズSyが閾値Syth未満の場合(水平テロップと垂直テロップの両方が小サイズと判定された場合)には、水平テロップを選択する。
これらの選択方法をまとめると表2のようになる。なお、表2中で*は0以外の任意の値を意味し、−は配列中に0以外の要素が存在しないことを意味する。
【0035】
【表2】

【0036】
なお、各テロップのサイズは、配列Vx,Vyを解析することにより求めればよい。例えば、配列Vxにおいて0でない同じ値の要素が連続している数の最大値を水平テロップのサイズSxとすればよい。また、配列Vyにおいて0でない同じ値の要素が連続している数の最大値を垂直テロップのサイズSyとすればよい。
なお、サイズは、この方法に限らない。例えば、文字認識などにより、より精密にテロップを検出し、該検出結果からテロップの1文字あたりのサイズを算出してもよい。その際、複数のサイズの文字が検出された場合には、最も大きいサイズをテロップのサイズとすれることが好ましい(サイズの大きいテロップほど視覚的に目立つため)。テロップの大きさを把握することができれば、どのような値をサイズとしてもよい。
【0037】
なお、水平テロップの動きを滑らかに表現した方がより高い補間効果が期待できるため、閾値Sxthは閾値Sythより小さいことが好ましい。例えば、閾値Sxth=2ブロック、閾値Syth=4ブロックなどとすればよい。なお、これらの閾値はメーカやユーザによって適宜設定されるものであり、これらの値に限定されるものではない。
【0038】
<実施例3>
(全体構成)
次に、本発明の実施例3について説明する。本実施例に係る画像処理装置は、実施例1に係る画像処理装置の構成(図1)の他に、輝度検出部をさらに有する。以下、実施例1と異なる部分について説明する。
【0039】
輝度検出部は、ブロック毎の平均輝度を算出し、輝度情報としてテロップ検出部3に出力する。具体的には、ブロック毎に、そのブロックに含まれる画素の画素値をその画素の輝度値とみなし、ブロック内の画素値の平均値を平均輝度として算出する。
テロップ検出部3は、実施例1で述べた処理を行うと共に、検出したテロップの輝度を算出する。本実施例では、配列Vx,Vy他に、配列Lxと配列Lyを生成し、テロップ検出情報として配列Vx,Vy,Lx,Lyを出力する(なお、配列Lx,Lyは選択部4にのみ出力すればよい)。配列Lx,Lyの各要素は、配列Vx,Vyと同様に、複数のブロックの各行にそれぞれ対応する。
具体的には、テロップ検出部3は、速さのヒストグラムを生成する際に、速さ毎にその速さに対応するブロックの平均輝度の累積値を算出する。次に、検出したテロップの速さ(ヒストグラムにおいて度数が最大となる速さ)に対応するブロックの平均輝度の累積値を度数(ヒストグラムにおけるその速さの度数)で除算することにより、該テロップの輝度(平均輝度)を算出する。そして、水平テロップが存在しないとされた行に対して0、水平テロップが存在するとされた行に対して該水平テロップの輝度を要素とする配列Lxを生成する。また、垂直テロップが存在しないとされた行に対して0、垂直テロップが存
在するとされた行に対して該垂直テロップの輝度を要素とする配列Lyを生成する。
【0040】
(選択部の処理の具体例)
以下、選択部4の処理の具体例について説明する。なお、配列Vx及び配列Vyの要素がすべて0である場合、及び、配列Vxと配列Vyの一方にのみ0でない要素が含まれる場合の選択部4の処理は、実施例1と同様のため、説明は省略する。
【0041】
輝度の高いテロップは視覚的に目立つため、そのようなテロップに対しては高い補間効果が期待できる。そこで、本実施例では、選択部4は、テロップ検出部3で水平テロップと垂直テロップの両方が検出された場合に、輝度が高い方のテロップを選択する。
例えば、水平テロップの輝度、垂直テロップの輝度をそれぞれ所定の閾値と比較して、それぞれのテロップが高輝度か低輝度かを判定する。そして、一方のテロップが高輝度と判定された場合には、該テロップ(高輝度と判定されたテロップ)を選択する。また、水平テロップの動きを滑らかに表現した方がより高い補間効果が期待できるため、両方のテロップの判定結果が同じ場合には、水平テロップを選択する。
【0042】
具体的には、水平テロップの輝度Lx_avgが所定の閾値Lxth以上の場合(水平テロップが高輝度と判定された場合)には、垂直テロップの輝度Ly_avgにかかわらず水平テロップを選択する。水平テロップの輝度Lx_avgが閾値Lxth未満、且つ、垂直テロップの輝度Ly_avgが所定の閾値Lyth以上の場合(水平テロップが低輝度、垂直テロップが高輝度と判定された場合)には、垂直テロップを選択する。水平テロップの輝度Lx_avgが閾値Lxth未満、且つ、垂直テロップの輝度Ly_avgが閾値Lyth未満の場合(水平テロップと垂直テロップの両方が低輝度と判定された場合)には、水平テロップを選択する。
なお、配列Lxが0以外の要素を複数含んでいる場合(水平テロップが存在するとされた行が複数検出された)場合には、それらの要素の最大値Max(Lx)を閾値Lxthと比較することが好ましい(輝度が速いほど補間効果が高いため)。配列Lyが0以外の要素を複数含んでいる場合についても、同様に、それらの要素の最大値Max(Ly)を閾値Lythと比較することが好ましい。これにより、例えば、水平テロップや垂直テロップが複数存在している場合でもテロップの選択を適切に行うことが可能となる。勿論、配列に含まれる0以外の要素の平均値や累積値などを閾値と比較してもよい。
これらの選択方法をまとめると表3のようになる。なお、表3中で*は0以外の任意の値を意味し、−は配列中に0以外の要素が存在しないことを意味する。
【0043】
【表3】

【0044】
なお、水平テロップの動きを滑らかに表現した方がより高い補間効果が期待できるため、閾値Lxthは閾値Lythより小さいことが好ましい。例えば、画素値が8ビットで
表わされていたとすると、最小値0、最大値255として、閾値Lxth=180、閾値Lyth=220などとすればよい。なお、これらの閾値はメーカやユーザによって適宜設定されるものであり、これらの値に限定されるものではない。
【0045】
なお、本実施例では、ブロック毎の平均輝度を用いて、テロップの輝度として平均輝度を算出したが、テロップの輝度の算出方法はこれに限らない。例えば、ブロック毎の平均輝度ではなく、ブロック毎の累積輝度(そのブロックに含まれる画素の輝度の累積値)を算出して用いる構成であってもよい。また、テロップの輝度として、平均輝度ではなく累積輝度(検出したテロップの速さに対応するブロックの輝度の累積値)を算出する構成であってもよい。テロップの明るさを把握することができれば、どのような値を輝度としてもよい。
【0046】
<実施例4>
(全体構成)
次に、本発明の実施例4について説明する。本実施例に係る画像処理装置は、実施例1に係る画像処理装置の構成(図1)の他に、履歴記憶部をさらに有する。以下、実施例1と異なる部分について説明する。
【0047】
履歴記憶部は、選択部4の選択結果の履歴を記憶する。具体的には、1つ前の補間フレームを生成したときの選択部4による選択結果を記憶する。
【0048】
(選択部の処理の具体例)
以下、選択部4の処理の具体例について説明する。なお、配列Vx及び配列Vyの要素がすべて0である場合、及び、配列Vxと配列Vyの一方にのみ0でない要素が含まれる場合の選択部4の処理は、実施例1と同様のため、説明は省略する。
【0049】
本実施例では、選択部4は、水平テロップと垂直テロップの判定結果が同じ場合であって、且つ、1つ前の補間フレームを生成するときに第2補正部6による補正が行われていた場合に、水平テロップの代わりに垂直テロップを選択する。即ち、水平テロップと垂直テロップの判定結果が同じ場合であって、且つ、1つ前のフレームを生成するときに垂直テロップが選択されていた場合に、垂直テロップを選択する。
具体的には、水平テロップの速さが閾値Vxth以上、且つ、垂直テロップの速さが閾値Vyth未満の場合には、過去の選択結果に関わらず水平テロップを選択する。水平テロップの速さが閾値Vxth未満、且つ、垂直テロップの速さが閾値Vyth以上の場合には、過去の選択結果に関わらず垂直テロップを選択する。水平テロップの速さが閾値Vxth以上、且つ、垂直テロップの速さが閾値Vyth以上の場合、及び、水平テロップの速さが閾値Vxth未満、且つ、垂直テロップの速さが閾値Vyth未満の場合には、過去の選択結果に基づいてテロップを選択する。具体的には、1つ前の補間フレームを生成する際にテロップが選択されていた場合には、該テロップを選択する。即ち、1つ前の補間フレームを生成する際に水平テロップが選択されていた場合には、水平テロップを選択し、垂直テロップが選択されていた場合には垂直テロップを選択する。また、1つ前の補間フレームを生成する際にテロップが選択されていなかった場合には、水平テロップを選択する。
これらの選択方法をまとめると表4のようになる。なお、表4中で*は0以外の任意の値(要素)や過去の選択結果を意味し、−は配列中に0以外の要素が存在しないことを意味する。
【0050】
【表4】

【0051】
このように、本実施例では、両方のテロップの速さが共に高速と判定された場合、及び、両方のテロップの速さが共に低速と判定された場合に、1つ前の補間フレームで選択されたテロップを選択する構成とした。それにより、選択される(動きを滑らかに表現する対象のテロップ)が1フレーム毎に変動することを防ぐことができ、安定してテロップの動きを滑らか表現することができる。
【0052】
なお、本実施例ではテロップの速さと過去の選択結果に基づいてテロップが選択されるものとしたが、テロップのサイズまたは輝度と過去の選択結果との組み合わせに基づいてテロップが選択されてもよい。具体的には、両方のテロップが共に大サイズ(または小サイズ)と判定された場合や、両方のテロップが共に高輝度(または低輝度)と判定された場合に、1つ前の補間フレームで選択されたテロップを選択すればよい。また、テロップを選択する際にテロップの速さ、サイズ、輝度、及び、過去の選択結果を可能な限り組み合わせて用いてもよい。
【0053】
以上述べた実施例1〜4の構成によれば、水平テロップと垂直テロップの両方が検出された場合に、第1補正部5と第2補正部6の一方による動きベクトルの補正を行い、他方による補正を省略するように、第1補正部5と第2補正部6が制御される。それにより、第1補正部5と第2補正部6の一方の処理を省略するという簡易な構成で、それらの両方の補正部による補正をする場合に比べ、少ない演算量でテロップの動きを滑らかに表現することができる。
【0054】
なお、上記実施例では、テロップの速さ、サイズ、輝度、及び、過去の選択結果に基づいて第1補正部5による補正と第2補正部6による補正のどちらを行うかを選択するものとしたが、選択方法はこれに限らない。水平テロップと垂直テロップの両方が検出された場合に第1補正部5による補正と第2補正部6による補正のいずれかのみが行われれば、どのように選択してもよい。どちらの補正を行うかは、予め定められていてもよいし、ランダムに選択してもよい。
【0055】
なお、上記実施例では、第1補正部5と第2補正部6がテロップを含むブロックの動きベクトルを、該テロップの速度に置き換える構成としたが、補正方法はこれに限らない。テロップを含むブロックの動きベクトルを、該テロップの速度に近づける補正をすれば、
該テロップの動きを滑らかに表現することができる。
【0056】
なお、上記実施例では、切り替えスイッチ7,8によって機能間の接続を切り替えることにより、第1補正部5と第2補正部6を制御する構成としたが、第1補正部5と第2補正部6を制御することができればどのような構成であってもよい。例えば、配列Vecは必ず第1補正部5と第2補正部6を経由して補間フレーム生成部9に入力されてもよい。その場合には、制御回路によって、第1補正部5と第2補正部6が入力されたVecをそのまま出力するか補正して出力するかが制御されればよい。
【符号の説明】
【0057】
2 動きベクトル検出部
3 テロップ検出部
5 第1補正部
6 第2補正部
7,8 切り替えスイッチ
9 補間フレーム生成部

【特許請求の範囲】
【請求項1】
入力された映像のフレーム間に補間フレームを挿入してフレームレートを変換する画像処理装置であって、
入力された映像を複数のブロックに分割し、ブロック毎の動きベクトルを検出する動きベクトル検出手段と、
入力された映像から水平方向に移動する水平テロップ及び垂直方向に移動する垂直テロップを検出するテロップ検出手段と、
前記複数のブロックのうち水平テロップを含むブロックの動きベクトルを補正する第1補正手段と、
前記複数のブロックのうち垂直テロップを含むブロックの動きベクトルを補正する第2補正手段と、
前記テロップ検出手段の検出結果に基づいて、前記第1補正手段と前記第2補正手段を制御する制御手段と、
ブロック毎の動きベクトルを用いて補間フレームを生成する生成手段と、
を有し、
前記制御手段は、前記テロップ検出手段で水平テロップと垂直テロップの両方が検出された場合に、前記第1補正手段と前記第2補正手段のうち一方の補正手段による補正を行い、他方の補正手段による補正を省略するように、前記第1補正手段と前記第2補正手段を制御する
ことを特徴とする画像処理装置。
【請求項2】
前記テロップ検出手段で水平テロップと垂直テロップの両方が検出された場合に、速さが速い方のテロップを選択する選択手段をさらに有し、
前記制御手段は、前記選択手段で水平テロップが選択された場合に、前記第1補正手段による補正を行い、前記選択手段で垂直テロップが選択された場合に、前記第2補正手段による補正を行うように、前記第1補正手段と前記第2補正手段を制御する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記テロップ検出手段で水平テロップと垂直テロップの両方が検出された場合に、サイズが大きい方のテロップを選択する選択手段をさらに有し、
前記制御手段は、前記選択手段で水平テロップが選択された場合に、前記第1補正手段による補正を行い、前記選択手段で垂直テロップが選択された場合に、前記第2補正手段による補正を行うように、前記第1補正手段と前記第2補正手段を制御する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記テロップ検出手段で水平テロップと垂直テロップの両方が検出された場合に、輝度が高い方のテロップを選択する選択手段をさらに有し、
前記制御手段は、前記選択手段で水平テロップが選択された場合に、前記第1補正手段による補正を行い、前記選択手段で垂直テロップが選択された場合に、前記第2補正手段による補正を行うように、前記第1補正手段と前記第2補正手段を制御する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記選択手段は、前記水平テロップの速さ、前記垂直テロップの速さをそれぞれ所定の閾値と比較して、それぞれのテロップが高速か低速かを判定し、
一方のテロップが高速と判定された場合には、該テロップを選択し、
両方のテロップの判定結果が同じ場合には、水平テロップを選択する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項6】
前記選択手段は、前記水平テロップのサイズ、前記垂直テロップのサイズをそれぞれ所
定の閾値と比較して、それぞれのテロップが大サイズか小サイズかを判定し、
一方のテロップが大サイズと判定された場合には、該テロップを選択し、
両方のテロップの判定結果が同じ場合には、水平テロップを選択する
ことを特徴とする請求項3に記載の画像処理装置。
【請求項7】
前記選択手段は、前記水平テロップの輝度、前記垂直テロップの輝度をそれぞれ所定の閾値と比較して、それぞれのテロップが高輝度か低輝度かを判定し、
一方のテロップが高輝度と判定された場合には、該テロップを選択し、
両方のテロップの判定結果が同じ場合には、水平テロップを選択する
ことを特徴とする請求項4に記載の画像処理装置。
【請求項8】
前記選択手段は、前記両方のテロップの判定結果が同じ場合であって、且つ、1つ前の補間フレームを生成するときに前記第2補正手段による補正が行われていた場合には、水平テロップの代わりに垂直テロップを選択する
ことを特徴とする請求項5〜7のいずれか1項に記載の画像処理装置。
【請求項9】
前記第1補正手段、及び、前記第2補正手段は、水平テロップと垂直テロップの両方を含むブロックの動きベクトルを補正しない
ことを特徴とする請求項1〜8のいずれか1項に記載の画像処理装置。
【請求項10】
入力された映像のフレーム間に補間フレームを挿入してフレームレートを変換する画像処理方法であって、
入力された映像を複数のブロックに分割し、ブロック毎の動きベクトルを検出する動きベクトル検出ステップと、
入力された映像から水平方向に移動する水平テロップ及び垂直方向に移動する垂直テロップを検出するテロップ検出ステップと、
前記複数のブロックのうち水平テロップを含むブロックの動きベクトルを補正する第1補正ステップと、
前記複数のブロックのうち垂直テロップを含むブロックの動きベクトルを補正する第2補正ステップと、
前記テロップ検出ステップでの検出結果に基づいて、前記第1補正ステップと前記第2補正ステップでの処理を制御する制御ステップと、
ブロック毎の動きベクトルを用いて補間フレームを生成する生成ステップと、
を有し、
前記制御ステップでは、前記テロップ検出ステップで水平テロップと垂直テロップの両方が検出された場合に、前記第1補正ステップと前記第2補正ステップのうち一方の補正ステップによる補正を行い、他方の補正ステップによる補正を省略するように、前記第1補正ステップと前記第2補正ステップでの処理を制御する
ことを特徴とする画像処理方法。

【図1】
image rotate


【公開番号】特開2011−103511(P2011−103511A)
【公開日】平成23年5月26日(2011.5.26)
【国際特許分類】
【出願番号】特願2009−256882(P2009−256882)
【出願日】平成21年11月10日(2009.11.10)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】