説明

映像処理装置及び方法

【課題】動きベクトルに基づく補間フレームの挿入により入力映像のフレーム数を変換する映像処理装置及び映像処理方法において、動きベクトルの検出精度の低下の抑制とテロップ部分における画質の劣化の抑制とを両立させる。
【解決手段】ブロックマッチング処理により垂直方向又は水平方向に特化した動きベクトルであるテロップベクトルが検出されたブロックについては、更に垂直方向の大きさが該ブロックより小さいラインブロックにより垂直方向に細分し、該ラインブロック毎に、テロップベクトルにより対応付けられる前フレーム及び現フレームのラインブロック同士でブロックマッチング処理を行い、マッチしたと判定された場合は補間フレームの該ラインブロックの画像をテロップベクトルを用いて生成し、マッチしていないと判定された場合は補間フレームの該ラインブロックの画像を一般の動きベクトルを用いて生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力される映像のフレーム間に補間フレームを挿入して映像のフレーム数を変化させる映像処理装置及び映像処理方法に関する。
【背景技術】
【0002】
従来、2つのフレーム間に補間フレームを挿入することで、フレームレートを変換する技術が知られている。フレームレート変換には、同一のフレームを複数回出力する方法や、連続した2フレームからブロックマッチング法により動きベクトルを検出し、動きベクトルに基づいて補間フレームの画像を生成する方法等がある。
【0003】
前者の方法は、簡易な回路でフレームレートを高速化できるものの、動きの不自然さや動画ボヤケは改善されず画質に問題がある。
【0004】
一方後者の方法では、回路規模を制限するため、或いはマッチングの精度を上げるためにブロック単位で動きベクトルを検出する。ブロック毎に検出した動きベクトルを用いて補間フレームの画像を生成するため、動画ボヤケを抑え自然な映像を得ることができる。
【0005】
但し、後者の方法においては、適切でない動きベクトルで補間が行われると画像に乱れが生じ画質が劣化するという課題がある。特に文字をスクロールさせるようなテロップ部分に関しては適切でない動きベクトルが検出され易く、しかも視聴者が注目するテロップ部分での画質劣化は視聴者にとって目につき易いという問題もある。
【0006】
これに対し、特許文献1では、テロップ領域とそれ以外の領域とで異なる動き補償を行うことが提案されている。具体的には検出した候補ベクトル群及びテロップベクトル群を用いてブロックマッチングを行い、最もマッチングの良いベクトルを選択するようにする。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−107753号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記特許文献1では、動きベクトルの検出及び補間画像の生成を行うブロックサイズが同じであり、また補間画像の生成を行うブロックサイズはテロップ領域もそれ以外の領域も同じである。動きベクトルの検出を行うブロックサイズでテロップ領域の補間画像を生成するため、動きベクトルの検出精度を向上させるためにブロックサイズを大きくすると、テロップと背景の境界付近においてテロップが背景に引きずられる現象が生じ、画質が劣化する。一方、このテロップと背景の問題を回避するためにブロックサイズを小さくすると、動きベクトルの検出精度の低下や回路規模の増大を招く。
【0009】
本発明は、動きベクトルに基づく補間フレームの内挿により入力映像のフレーム数を変換する映像処理装置及び映像処理方法において、動きベクトルの検出精度の低下の抑制とテロップ部分における画質の劣化の抑制とを両立させることを目的とする。
【課題を解決するための手段】
【0010】
本発明は、
入力される映像の2つのフレームの間に補間フレームを挿入して前記入力される映像のフレーム数を変換する映像処理装置であって、
前記2つのフレームの画像を複数のブロックに分割しブロック毎に動きベクトルを検出する第1検出部と、
前記2つのフレームの画像を複数のブロックに分割しブロック毎に垂直方向又は水平方向の動きベクトルであるテロップベクトルを検出する第2検出部と、
テロップベクトルが検出されたブロックに対応する補間フレームのブロックを、該ブロックより垂直方向の大きさが小さい複数の小ブロックにより垂直方向に分割し、該小ブロック毎に、該小ブロックに対して該テロップベクトルにより対応付けられる位置関係にある前記2つのフレームの画像におけるテロップの有無を判定する判定部と、
前記判定部による前記小ブロック毎の判定結果に基づいて、前記補間フレームの画像の生成に用いられる動きベクトルとして前記第1検出部により検出される動きベクトル又は前記テロップベクトルのいずれかの選択を前記小ブロック毎に行う選択部と、
テロップベクトルが検出されたブロックに対応する補間フレームのブロックについて、前記選択部により選択された動きベクトルを用いて前記小ブロック毎に補間フレームの画像を生成する補間部と、
を備え、
前記選択部は、
(A)前記判定部によりテロップが有ると判定された小ブロックについては、前記テロップベクトルを選択し、
(B)前記判定部によりテロップが無いと判定された小ブロックについては、前記第1検出部により検出される動きベクトルを選択する
ことを特徴とする映像処理装置である。
【0011】
また、本発明は、
映像を入力する工程と、
前記入力される映像の2つのフレームの間に補間フレームを挿入して前記入力される映像のフレーム数を変換する工程と、
前記2つのフレームの画像を複数のブロックに分割しブロック毎に動きベクトルを検出する第1検出工程と、
前記2つのフレームの画像を複数のブロックに分割しブロック毎に垂直方向又は水平方向の動きベクトルであるテロップベクトルを検出する第2検出工程と、
テロップベクトルが検出されたブロックに対応する補間フレームのブロックを、該ブロックより垂直方向の大きさが小さい複数の小ブロックにより垂直方向に分割し、該小ブロック毎に、該小ブロックに対して該テロップベクトルにより対応付けられる位置関係にある前記2つのフレームの画像におけるテロップの有無を判定する判定工程と、
前記判定工程による前記小ブロック毎の判定結果に基づいて、前記補間フレームの画像の生成に用いられる動きベクトルとして前記第1検出工程により検出される動きベクトル又は前記テロップベクトルのいずれかの選択を前記小ブロック毎に行う選択工程と、
テロップベクトルが検出されたブロックに対応する補間フレームのブロックについて、前記選択工程により選択された動きベクトルを用いて前記小ブロック毎に補間フレームの画像を生成する補間工程と、
を有し、
前記選択工程は、
(A)前記判定工程においてテロップが有ると判定された小ブロックについては、前記テロップベクトルを選択し、
(B)前記判定工程においてテロップが無いと判定された小ブロックについては、前記第1検出工程により検出される動きベクトルを選択する
ことを特徴とする映像処理方法である。
【発明の効果】
【0012】
本発明によれば、動きベクトルに基づく補間フレームの内挿により入力映像のフレーム数を変換する映像処理装置及び映像処理方法において、動きベクトルの検出精度の低下の抑制とテロップ部分における画質の劣化の抑制とを両立させることができる。
【図面の簡単な説明】
【0013】
【図1】実施例1の映像処理装置の概略構成を示すブロック図
【図2】テロップベクトル検出ブロックとラインブロックとの関係図
【図3】ラインブロックマッチ判定処理のフローチャート
【図4】テロップベクトルに応じて画素を読み出す処理の説明図
【図5】ラインブロックマッチ拡張処理のフローチャート
【図6】ラインブロックマッチ拡張処理の例
【図7】ベクトルフィルタ部による処理の説明図
【発明を実施するための形態】
【0014】
以下、本発明に係る映像処理装置の具体的な実施例について、図面を用いて説明する。図1は本実施例に係る映像処理装置の概略構成を示すブロック図である。この映像処理装置は、入力映像のフレームレートを変換する装置であり、テレビ受信装置等の映像表示装置や、レコーダ、メディアプレーヤ、ゲーム機等の映像出力装置において好適に用いることができる。
【0015】
映像処理装置101は、入力映像の現在のフレーム(現フレーム)の画像データを蓄積する現フレームメモリ部102と、現フレームの1フレーム前のフレーム(前フレーム)の画像データを蓄積する前フレームメモリ部103とを備える。また、現フレーム画像と前フレーム画像とから動きベクトルを検出する処理を行う一般ベクトル検出部104及びテロップベクトル検出部105を備える。また、動きベクトルに関する処理を行うラインブロックマッチ判定部106、ラインブロックマッチ拡張部107、ベクトル選択部108、ベクトルフィルタ部109と、動きベクトルを用いた補間画像の生成を行うベクトル補間部110と、を備える。
【0016】
映像処理装置101は、入力映像の現フレーム及び前フレームの連続する2フレームの画像データから、当該2フレームの間に挿入すべき補間フレームの画像データを生成する。そして、入力映像の現フレームと前フレームとの間に補間フレームを挿入することによりフレームレートを増加させた映像を出力する。
【0017】
現フレームメモリ部102は、入力映像の現フレームの画像データを蓄積し、次のフレームの画像が入力された場合は、蓄積していた現フレームの画像データを前フレームメモリ部103に転送する。また、現フレームメモリ部102は、他の処理ブロックから画像データの読み出し要求があった場合は、蓄積している画像データを出力する。
【0018】
前フレームメモリ部103は、現フレームメモリ部102から入力される画像データを蓄積する。また、他の処理ブロックからの要求に応じて蓄積している画像データを出力する点は現フレームメモリ部102と同様である。なお、図1では現フレームメモリ部102と前フレームメモリ部103とを2つのブロックに分けて記載したが、これらは物理的に1つのメモリを使用してアドレス制御にて現フレームと前フレームとを順次交互に蓄積する形態で実装してもよい。
【0019】
一般ベクトル検出部104(第1検出部)は、現フレームメモリ部102から現フレームの画像データを読み出し、前フレームメモリ部103から前フレームの画像データを読み出す。そして、これら2つのフレームの画像を複数のブロックに分割し、ブロックマッ
チング処理等の既存の技術によりブロック毎に動きベクトルを検出する。一般ベクトル検出部104が検出する動きベクトルを、以下一般ベクトルという。
【0020】
一般ベクトル検出部104は、ブロックサイズごとに一般ベクトルを検出するために、マッチングサイズとサーチ範囲に応じてブロックマッチングを行う。マッチングサイズとは、マッチングをとるためのブロックサイズであり、サーチ範囲とは、マッチングをとる範囲である。ブロックサイズとマッチングサイズは同じでもよいし異なっていてもよい。サーチ範囲は広いほうが高速に動く映像においても適切な動きベクトルを検出できるが、その回路規模が大きくなる。本実施例では、一例として一般ベクトルを検出するブロックサイズを16×16画素とする。一般ベクトル検出ブロックのサイズは16×16画素に限られないし、正方ブロックに限られない。
【0021】
テロップベクトル検出部105(第2検出部)は、現フレームメモリ部102から現フレームの画像データを読み出し、前フレームメモリ部103から前フレームの画像データを読み出す。そして、これら2つのフレームの画像を複数のブロックに分割し、ブロックマッチング処理等の既存の技術によりを行い、垂直方向又は水平方向の動きベクトルを検出する。このブロックマッチング処理により垂直方向又は水平方向の動きベクトルが検出されることを、以下、有効なテロップベクトルが検出される、のように表現する。テロップベクトル検出部105が検出する動きベクトルを、以下テロップベクトルという。テロップベクトルの検出は、一般ベクトル検出部104で検出された一般ベクトルを垂直方向、水平方向に統計処理を行うことによって行うこともできる。本実施例では、一例としてテロップベクトルを検出するブロックサイズを16×16画素とする。テロップベクトル検出ブロックのサイズは16×16画素に限られないし、正方ブロックに限られない。
【0022】
ラインブロックマッチ判定部106は、テロップベクトル検出部105によりテロップベクトルが検出されたブロックに対応する補間フレームのブロックを、該ブロックより垂直方向の大きさ小さい複数の小ブロックに分割する。そして、該小ブロック毎に、該小ブロックに対して前記検出されたテロップベクトルにより対応付けられる位置関係にある前フレームの画像及び現フレームの画像の両方におけるテロップ由来の画像の有無を判定する。本実施例では、テロップベクトル検出ブロックに対応する補間フレームのブロック内の1ライン、つまり16×1画素の小ブロック(以降、ラインブロックと呼ぶ)単位でブロックマッチングを行うことによりこの判定処理を行う。このブロックマッチングでは、着目している補正フレームのラインブロックに対してテロップベクトルにより対応付けられる前フレームのラインブロック及び現フレームのラインブロックを特定する。そして、特定した前フレーム及び現フレームのラインブロック同士で、テロップ由来の画素に関してブロックマッチングを行う。ブロックマッチングの結果、前記特定された前フレーム及び現フレームのラインブロック同士がマッチしていると判定された場合、該特定された前フレーム及び現フレームのラインブロックの両方にテロップ由来の画素が同程度存在すると判定する。着目しているラインブロックに対してテロップベクトルにより対応付けられる前フレーム及び現フレームのラインブロック同士がマッチしている場合、当該着目しているラインブロックは「マッチ判定」であると称する。そうでない場合、当該着目しているラインブロックは「アンマッチ判定」であると称する。テロップベクトル検出部105がテロップベクトルの検出を行うブロック(16×16画素)に対応する補間フレームのブロック(16×16画素)と該ブロックを垂直方向に分割する16本のラインブロック(各々16×1画素)との関係例を図2に示す。ラインブロックマッチ判定部106によるラインブロックマッチ判定処理は、テロップベクトル検出部105により検出されたテロップベクトルに基づき、現フレームメモリ部102及び前フレームメモリ部103から画素を読み出すことにより行われる。ラインブロックマッチ判定部106によるラインブロックマッチ判定処理の詳細は後述する。ラインブロックマッチ判定部106は、ラインブロック毎のラインブロックマッチ判定結果をラインブロックマッチ拡張部107に送信
する。本実施例のラインブロックマッチ判定部106は、本発明の「判定部」を構成する。
【0023】
ラインブロックマッチ拡張部107は、ラインブロックマッチ判定部106によるラインブロック毎のラインブロックマッチの判定結果を部分的に変更する。具体的には、ラインブロックマッチ判定部106による判定結果が「マッチ判定」であるラインブロックの上側の所定範囲内及び下側の所定範囲内に存在する「アンマッチ判定」のラインブロックを「マッチ判定」に変更する。すなわち、ラインブロックマッチ判定部106による「マッチ判定」という判定結果を、上Mライン分及び下Lライン分拡張する。後述するように、「マッチ判定」とされたラインブロックについては、補間画像の生成においてテロップベクトルが用いられる。従って「マッチ判定」のラインブロックを上記のように拡張することにより、ラインブロックマッチ判定部106による判定結果が「マッチ判定」のラインブロックの上Mライン分及び下Lライン分の領域もテロップベクトルを用いて補間フレームの画像が生成される。但し、この拡張を大きくしすぎるとフレームレート変換後の映像において背景が引きずられる可能性があり、また、拡張が小さすぎると文字と背景の境界において文字が崩れる現象が発生する可能性がある。従って、それらの現象ができるだけ抑えられるようにM及びLの値を定める。また、上側の拡張範囲と下側の拡張範囲との大小関係は、下側の拡張範囲を上側の拡張範囲よりも大きくする(M<L)ことが望ましい。その理由は、テロップには影付き文字などがあり、影の部分はマッチングがとりずらいことがあるからである。テロップ部分の下側の拡張範囲を大きく設定することにより、影付文字の影の部分がマッチ判定されなかった場合でも、影の部分をテロップベクトルにより補間することができ、影付文字のテロップ部分がフレームレート変換によって画質劣化することを抑制できる。本実施例のラインブロックマッチ拡張部107は、本発明の「選択部」を構成する。
【0024】
ベクトル選択部108では、ラインブロックマッチ拡張部107において拡張されたラインブロック毎のラインブロックマッチ判定結果に応じて、補間フレームの画像の生成に用いられる動きベクトルの選択を行う。具体的には、拡張されたラインブロックマッチ判定結果が「マッチ判定」のラインブロックについては、テロップベクトル検出部105が検出したテロップベクトルを補間に用いる動きベクトルとして選択する。また、拡張されたラインブロックマッチ判定結果が「アンマッチ判定」のラインブロックについては、一般ベクトル検出部104が検出した一般ベクトルを補間に用いる動きベクトルとして選択する。ラインブロック毎の選択された動きベクトルの情報は後段のベクトルフィルタ部109に出力される。本実施例のベクトル選択部108は、本発明の「選択部」を構成する。
【0025】
ベクトルフィルタ部109は、ベクトル選択部108によるラインブロック毎の動きベクトルの選択結果を部分的に変更する。具体的には、テロップベクトルが選択されたラインブロックの隣に存在する一般ベクトルが選択されたラインブロックについては、補間のために用いる動きベクトルを当該テロップベクトルに置き換える。すなわち、当該一般ベクトルが選択されたラインベクトルは、ベクトルフィルタ部109により、テロップベクトルが選択されたラインブロックに変更される。このようにすることで、テロップベクトルが選択されたラインブロックと一般ベクトルが選択されたラインブロックとの境界に接するラインブロックにおいては、共通のテロップベクトルによる補間が行われるように拡張される。これにより、生成される補間画像において当該境界部分がなめらかに繋がるようにすることができる。本実施例のベクトルフィルタ部109は、本発明の「補間部」を構成する。
【0026】
ベクトル補間部110は、ベクトルフィルタ部109から入力されたベクトルに応じて、現フレームメモリ部102及び前フレームメモリ部103から画素を読み出す。読み出
された現フレームの画像データの画素と前フレームの画像データの画素から、挿入すべき補間フレームのための画素を生成する。補間フレームのための画素の生成方法は様々有り、例えば、現フレームの画像データの画素を選択する方法、前フレームの画像データの画素を選択する方法、又は現フレームの画像データの画素及び前フレームの画像データの画素の平均画素を出力する方法などがある。また、画素ごとにマッチングをとり、その結果に応じて上記の画素を選択してもよい。本実施例のベクトル補間部110は、本発明の「補間部」を構成する。
【0027】
ラインブロックマッチ判定部106により行われる上述のラインブロックマッチ判定処理のフローチャートを図3に示す。
【0028】
ステップS301にてラインブロックマッチ判定処理がラインブロックマッチ判定部106にて開始される。ラインブロックマッチ判定処理は、ラインブロック(16×1画素)単位で行なわれる。
【0029】
ステップS302では、テロップベクトルを検出できたか否かを判断する。検出可否は、着目しているラインブロックが属するテロップベクトル検出ブロック(16×16画素)において、テロップベクトル検出部105が有効なテロップベクトルを検出しているか否かに基づき判断する。有効なテロップベクトルが検出されていなかった場合(ステップS302:No)はステップS309へ進み、ラインブロックマッチ判定結果を「アンマッチ判定」とする。一方、有効なテロップベクトルが検出されていた場合(ステップS302:Yes)はステップS303に進む。
【0030】
ステップS303では、テロップベクトル検出部105から入力された有効なテロップベクトルに応じて、着目しているラインブロックに対応する現フレーム及び前フレームの画像の画素を現フレームメモリ部102及び前フレームメモリ部103から読み出す。具体的には、ラインブロック毎に、該ラインブロックの位置に対してテロップベクトルにより対応付けられる位置関係にある前フレーム及び現フレームの画像のラインブロックを特定し、当該2つのフレームのラインブロック同士のブロックマッチング処理を行う。「テロップベクトルにより対応付けられる位置関係にある前フレームの画像のラインブロック」は、着目しているラインブロックの各画素から、テロップベクトルを−1/2倍したベクトルにより指し示される位置にある前フレームの画像の画素により構成される。「テロップベクトルにより対応付けられる位置関係にある現フレームの画像のラインブロック」は、着目しているラインブロックの各画素から、テロップベクトルを+1/2倍したベクトルにより指し示される位置にある現フレームの画像の画素により構成される。なお、本実施例では2つのフレームの中央に補間フレームを挿入するフレームレート変換を例に説明しているため、テロップベクトルの±1/2倍となったが、補間フレームと前フレーム及び現フレームとの時間差に応じてこの係数は変わってもよい。例えば、補間フレームの挿入位置が前フレームと現フレームの中央でない場合や、補間フレームを2枚以上挿入する場合などは、±1/2以外の数値を用いても良い。検出されたテロップベクトルと、補間フレームの着目しているラインブロックの画素と、前フレーム及び現フレームから読み出される画素と、の関係を、図4の例を用いて説明する。図4は、16×1画素のラインブロックのうち5画素を抜き出して示した図である。生成する補間フレームの着目しているラインブロックのある画素401に着目し、画素401が属するブロックで検出された有効なテロップベクトルが、水平方向に+4画素分移動する動きベクトルであったとする(ここでは右方向を正の向きとする)。この場合、前フレームメモリ部103からは、着目しているラインブロックに対応する前フレーム画像のラインブロックにおける、画素401の位置から水平方向に−2画素分移動した位置にある画素402を読み出す。また、現フレームメモリ部102からは、着目しているラインブロックに対応する現フレーム画像のラインブロックにおける、画素401の位置から水平方向に+2画素分移動した位置
にある画素403を読み出す。着目しているラインブロックの全16個の画素について、同様に、テロップベクトルに基づいて現フレーム画像の画素及び前フレーム画像の画素を読み出す。
【0031】
ステップS304では、ステップS303で読み出した画素の内から高輝度画素を抽出する。本実施例では、輝度値が所定の閾値以上である画素を高輝度画素と判定する。本実施例では、高輝度画素をテロップ由来の画素と判定する。
【0032】
ステップS305では、ステップS304で前フレーム画像から読み出した画素及び現フレーム画像から読み出した画素それぞれの内に少なくとも1つの高輝度画素があったか否かを判定する。前フレーム画像から読み出した画素の内に高輝度画素が一つもなかった場合、或いは現フレーム画像から読み出した画素の内に高輝度画素が一つもなかった場合(ステップS305:No)はステップS309へ進む。ステップS309では、着目しているラインブロックについてのラインブロックマッチ判定結果を「アンマッチ判定」とする。一方、前フレーム画像から読み出した画素及び現フレーム画像から読み出した画素の両方に高輝度画素があった場合は、ステップS306へ進む。
【0033】
ステップS306では、ステップS304で現フレーム画像から抽出した高輝度画素の総和と、ステップS304で前フレーム画像から抽出した高輝度画素の総和と、の差分絶対値を算出する。ここで、高輝度画素の総和は、高輝度画素の個数、高輝度画素の輝度値の総和、高輝度画素の所定の画素値の総和などである。
【0034】
ステップS307では、ステップS306で算出された差分絶対値が所定の閾値よりも小さいか否かを判定する。差分絶対値が閾値よりも小さい場合は、ステップS308に進み、着目しているラインブロックについてのラインブロックマッチ判定結果を「マッチ判定」とし、ステップS310でラインブロックマッチ判定処理を終了する。一方、差分絶対値が閾値以上の場合は、ステップS309に進み、着目しているラインブロックについてのラインブロックマッチ判定結果を「アンマッチ判定」とする。この処理により、テロップベクトルにより指し示される前フレームのラインブロックと現フレームのラインブロックに同程度の高輝度画素が存在する場合にのみ、「マッチ判定」がなされることになる。
【0035】
次に、ラインブロックマッチ拡張部107によって行われるラインブロックマッチ拡張処理のフローチャートを図5に示す。この処理では、上述したラインブロックマッチ判定部106による判定処理により「アンマッチ判定」とされたラインブロックのうち所定の条件を満たしたラインブロックを「マッチ判定」に変更する。
【0036】
ステップS501にてラインブロックマッチ拡張処理がラインブロックマッチ拡張部107にて開始される。
【0037】
ステップS502では前述したラインブロックマッチ判定処理が行なわれ、その結果がラインブロックマッチ判定部106からラインブロックマッチ拡張部107に入力される。
【0038】
ステップS503では、テロップベクトルを検出できたか否かを判断する。検出可否は、着目しているラインブロックが属するテロップベクトル検出ブロックにおいて、テロップベクトル検出部105が有効なテロップベクトルを検出しているか否かに基づき判断する。有効なテロップベクトルが検出されていなかった場合は(ステップS503:No)、ステップS511へ進み、ラインブロックマッチ拡張処理を終了する。一方、有効なテロップベクトルが検出されていた場合は(ステップS503:Yes)、ステップS50
4へ進む。
【0039】
ステップS504では、着目しているラインブロックについてのラインブロックマッチ判定部106による判定結果が、「マッチ判定」であったか否かを確認する。「マッチ判定」であった場合(ステップS504:Yes)は、ステップS511へ進み、ラインブロックマッチ拡張処理を終了する。「アンマッチ判定」であった場合(ステップS504:No)は、ステップS504へ進む。
【0040】
ステップS505では、着目しているラインブロックの上Lライン以内にラインブロックマッチ判定部106による判定結果が「マッチ判定」であるラインブロックが存在するか否かを判定する。上Lライン以内にラインブロックマッチ判定部106による判定結果が「マッチ判定」であるラインブロックが存在した場合(ステップS505:Yes)は、ステップS508に進み、着目しているラインブロックを「マッチ判定」に変更する。この場合、「マッチ判定」とされたラインブロックの下側の領域に存在する本来「アンマッチ判定」のラインブロックを「マッチ判定」に変更するので、テロップベクトルが適用される領域を下側へ拡張したことになる。ステップS508の処理を実行した後、ラインブロックマッチ拡張処理を終了する(ステップS511)。一方、ステップS505において、着目しているラインブロックの上Lライン以内にラインブロックマッチ判定部106による判定結果が「マッチ判定」であるラインブロックが存在しなかった場合(ステップS505:No)は、ステップS506へ進む。
【0041】
ステップS506では、着目しているラインブロックの下Mライン以内にラインブロックマッチ判定部106による判定結果が「マッチ判定」であるラインブロックが存在するか否かを判定する。下Mライン以内にラインブロックマッチ判定部106による判定結果が「マッチ判定」であるラインブロックが存在した場合(ステップS506:Yes)は、ステップS509に進み、着目しているラインブロックを「マッチ判定」に変更する。この場合、「マッチ判定」とされたラインブロックの上側の領域に存在する本来「アンマッチ判定」のラインブロックを「マッチ判定」に変更するので、テロップベクトルが適用される領域を上側へ拡張したことになる。ステップS509の処理を実行した後、ラインブロックマッチ拡張処理を終了する(ステップS511)。一方、ステップS506において、着目しているラインブロックの下Mライン以内にラインブロックマッチ判定部106による判定結果が「マッチ判定」であるラインブロックが存在しなかった場合(ステップS506:No)は、ステップS507へ進む。
【0042】
ステップS507では、着目するラインブロックがフレーム画像の下端からNライン以内であるか否かを判断する。ここでNはフレーム画像の下端領域を指定するための所定の整数である。着目するラインブロックがフレーム画像の下端からNライン以内でなかっ場合(ステップS507:No)は、ステップS511へ進み、ラインブロックマッチ拡張処理を終了する。一方、着目するラインブロックがフレーム画像の下端からNライン以内であった場合(ステップS507:Yes)は、ステップS510に進み、着目しているラインブロックを「マッチ判定」に変更する。この場合、フレーム画像の下端近傍の領域をテロップベクトルが適用される領域として拡張したことになる。ステップS510の処理を実行した後、ラインブロックマッチ拡張処理を終了する(ステップS511)。
【0043】
上記のラインブロックマッチ拡張処理の例を図6に基づいて説明する。図6において、LineNo列601はラインブロックのライン番号を示す。例えばフレーム画像のサイズが1920×1080画素の場合は、ライン番号は0から1079の整数である。テロップあり列602は、当該ライン番号のラインブロックを含むテロップベクトル検出ブロックにおいて、テロップベクトル検出部105が有効なテロップベクトルを検出している否かを示し、検出している場合はYes、検出していない場合はNoである。マッチ判定
列603は、上述したラインブロックマッチ判定部106によるラインブロックマッチ判定処理の結果を示し、ラインブロックマッチ判定部106による判定結果が「マッチ判定」の場合は‘1’、「アンマッチ判定」の場合は‘0’である。マッチ拡張列604は、上述したラインブロックマッチ拡張処理により拡張されたラインブロックマッチ判定結果を示す。拡張処理後のラインブロックマッチ判定結果が「マッチ判定」の場合は‘1’、
「アンマッチ判定」の場合は‘0’である。以下、下側拡張ライン数L=8、上側拡張ライン数M=4、画像下端領域ライン数N=4に設定した場合を例に説明する。L,M及びNの数値はこの例の数値に限られない。
【0044】
図6(A)に示す例では、ライン番号0から19の全てのラインブロックで有効なテロップベクトルが検出されており、第7及び第10ラインのラインブロックについてラインブロックマッチ判定部106による判定結果が「マッチ判定」である。従って、第7ラインの上4ライン(M=4)以内に存在する「アンマッチ判定」のラインブロック(第3、4、5及び6ライン)は、ラインブロックマッチ拡張処理により、「マッチ判定」に変更されている。また、第7ラインの下8ライン(L=8)以内に存在する「アンマッチ判定」のラインブロック(第8及び第9ライン)も、ラインブロックマッチ拡張処理により、「マッチ判定」に変更されている。また、第10ラインの下8ライン(L=8)以内に存在する「アンマッチ判定」のラインブロック(第11から第18ライン)も、ラインブロックマッチ拡張処理により、「マッチ判定」に変更されている。
【0045】
図6(B)に示す例では、第15ラインと第16ラインの間にテロップベクトル検出ブロック(16×16画素)の境界がある。第3から第15ラインのラインブロックが属するテロップベクトル検出ブロックではテロップベクトルが検出されており、第16から第22ラインのラインブロックが属するテロップベクトル検出ブロックではテロップベクトルが検出されていない。ここでは、第13ラインのラインブロックについてのラインブロックマッチ判定部106による判定結果が「マッチ判定」である。従って、第13ラインの上4ライン(M=4)以内に存在する「アンマッチ判定」のラインブロック(第9から第12ライン)は、ラインブロックマッチ拡張処理により、「マッチ判定」に変更されている。第13ラインの下8ライン(L=8)以内にある「アンマッチ判定」のラインブロック(第14から第21ライン)の内、テロップベクトルが検出されたラインブロック(第14及び第15ライン)も、拡張処理により、「マッチ判定」に変更されている。一方、第13ラインの下8ライン(L=8)以内にある「アンマッチ判定」のラインブロックの内、テロップベクトルが検出されていないラインブロック(第16から第21ライン)は、拡張処理による「マッチ判定」への変更は行われていない。
【0046】
図6(C)に示す例では、第1071ラインと第1072ラインの間にテロップベクトル検出ブロックの境界があり、第1072から第1079ラインのラインブロックが属するテロップベクトル検出ブロックにおいて有効なテロップベクトルが検出されている。ラインブロックマッチ判定部106による判定結果は、第1060から第1079の全ラインブロックについて「アンマッチ判定」であり、「マッチ判定」のラインブロックは無い。従って、ラインブロックマッチ拡張処理が実行されても、「マッチ判定」のラインブロックの上Mライン下Lライン以内にある「アンマッチ判定」のラインブロックを「マッチ判定」に変更することによる拡張処理は行われない。しかしながら、フレーム画像下端から4ライン(N=4)以内にある「アンマッチ判定」のラインブロックである第1076から第1079ラインのラインブロックは、ラインブロックマッチ拡張処理により「マッチ判定」に変更されている。
【0047】
ベクトル選択部108は、以上説明したラインブロックマッチ拡張処理によって拡張されたラインブロックマッチ判定結果に基づいて、補間フレーム画像の生成に用いる動きベクトルを選択する。すなわち、拡張処理後の判定結果が「マッチ判定」のラインブロック
に関してはテロップベクトルを選択し、「アンマッチ判定」のラインブロックに関しては一般ベクトルを選択する。
【0048】
図7を用いて、ベクトルフィルタ部109での処理を説明する。図7では、テロップベクトルが選択されたラインブロック(テロップラインブロックという)をTV、一般ベクトルが選択されたラインブロック(一般ラインブロック)をMVで示す。ベクトルフィルタ部109は、入力される一般ラインブロックの隣にテロップラインブロックがある場合は、当該一般ラインブロックを当該隣のテロップラインブロックに変更して出力する。すなわち、当該一般ラインブロックについては、補間画像生成に用いる動きベクトルとして、当該隣のテロップラインブロックで選択されたテロップベクトルが選択されたものとして扱う。図7の例では、ラインブロック901は一般ラインブロックMVであり、右隣にあるラインブロック902はテロップラインブロックTV1であるから、ラインブロック901を一般ラインブロックMVからテロップラインブロックTV1に変更して出力する。ラインブロック902はテロップラインブロックなのでそのまま出力する。ラインブロック903は一般ラインブロックMVであり、左隣にテロップラインブロックTV3があるため、ラインブロック903を一般ラインブロックMVからテロップラインブロックTV3に変更して出力する。ラインブロック904は一般ラインブロックMVであり、左及び右の両隣にテロップラインブロックTV2及びTV3が存在する。この場合、図7の例では、ラインブロック904を一般ラインブロックMVから左隣のテロップラインブロックTV2に変更して出力する。右隣のテロップラインブロックTV3に変更して出力する実施形態も可能なのは勿論である。このように、ベクトルフィルタ部109により、テロップラインブロックの隣に存在する一般ラインブロックは当該隣接するテロップラインブロックに変更されて出力される。
【0049】
ベクトル補間部110は、以上説明した処理によってラインブロック毎に得られたベクトルを用いて補間処理を行い、挿入すべき補間フレームの画素を生成する。補間処理はベクトルの指し示す前フレームの画素、現フレームの画素を読み出し、それらの画素の平均値を求め、補間フレームの画素とする。例えば、ベクトルフィルタ部で得られたベクトルが、着目画素401に対して水平方向に−2、+2だったとする(図4参照)。この場合は、前フレームメモリ部103からは画素402を、現フレームメモリ部102から画素403を読み出す。その後、画素402と画素403の平均値を求め、画素401を生成する。
【0050】
以上説明したように、本実施例では、フレーム画像を複数のブロック(例えば、16×16画素)に分割し、ブロック毎に一般ベクトル及びテロップベクトルの検出を行う。そして、テロップベクトルが検出されたブロックについては、更に細かいラインブロック(例えば、16×1画素)に分割し、ラインブロック毎に、補間画像の生成に一般ベクトル又はテロップベクトルのいずれの動きベクトルを用いるかの選択を行う。従って、テロップが存在する蓋然性が高いブロックについては、ラインブロックという細かい単位でブロックマッチング及び補間画像の生成処理を行うことができる。これにより、テロップが存在する蓋然性の高いブロックにおいて、テロップ部分はテロップベクトルを用いて補間画像を生成し、テロップに隣接する背景部分は一般ベクトルを用いて補間画像を生成することができる。すなわち、補間画像生成において用いる動きベクトルを、テロップと背景とで細かく使い分けることができる。従って、生成した補間画像を2フレームの間に挿入してフレームレート変換処理を行っても、テロップに隣接する背景部分がテロップに引きずられたり、テロップが崩れたりすることを抑制でき、フレームレート変換に起因する画像劣化を抑制することができる。また、テロップが存在する蓋然性が低いブロック、すなわちテロップベクトルが検出されないブロックについては、このようなラインブロック毎の詳細な処理は行わず、例えば一般ベクトルを用いて16×16画素のブロック毎の補間画像を生成することができる。従って、補間画像生成に係る処理負荷が過剰に増大すること
を抑制できる。また、動きベクトルの検出は、一般ベクトルもテロップベクトルもともに大ブロックを用いて行うので、動きベクトルの検出精度が低下することを抑制できる。このように、本実施例の映像処理装置によれば、テロップ部分の画質劣化の抑制と動きベクトルの検出精度低下の抑制とを好適に両立させることが可能となる。
【0051】
また、本実施例では、テロップベクトルを用いて補間画像の生成を行うことが決定されたラインブロックの周囲所定範囲内に存在するラインブロックについては、テロップベクトルを用いた補間画像の生成を行うようにすることもできる。これにより、テロップと背景との境界付近においてテロップベクトルを用いた補間画像の生成が行われるようになる。従って、背景との境界付近のテロップの補間画像が一般ベクトルを用いて生成されることによるテロップの崩れ現象を抑制することが可能になるとともに、背景とテロップとの境界付近の補間画像として滑らかな画像を生成することが可能になる。
【0052】
なお、テロップベクトルを用いて補間画像を生成するラインブロックを、テロップベクトルが選択されたラインブロックの上下の所定範囲内にあるラインブロックや左右に隣接するラインブロックに拡張する処理は、必須ではない。テロップベクトルが検出されたブロックについて更に細かいラインブロック単位でテロップベクトルの適用可否を判断する処理を行えば、フレームレート変換においてテロップ近傍の背景がテロップに引きずられる現象を十分に抑制することが可能である。テロップベクトルを適用するラインブロックの拡張を行えば、テロップを含む映像をより高画質にフレームレート変換することができる。また、本実施例では入力映像の2フレームの間に補間フレームを挿入してフレームレートを変換する映像処理装置に本発明を適用した例を説明したが、本発明はフィールドを補完してフィールドレートを変換する装置にも適用できる。また、フレームレートを変換するだけでなく、フレームレート一定でフレーム数を増加させて映像の再生速度を変換する処理や、フレームレートも再生速度も変換する処理などにも適用できる。また、補間フレームの画像の生成方法は、連続する2フレームの画像及び該画像間の動きベクトルに基づく方法に限らず、2フレーム以上離れた2つのフレームの画像及び該画像間の動きベクトルに基づく方法でも良い。
【0053】
また、上記実施例では、ブロックマッチングにより動きベクトルを検出する方法を例に説明したが、動きベクトルの検出方法はブロックマッチングに限らず、種々の公知の方法を用い得る。また、MPEG方式で符号化された映像等のように映像自体に動きベクトルに関する情報が含まれる場合には、当該情報に基づいて動きベクトルを検出することもできる。何らかの方法で動きベクトルを検出し、テロップの動きを示す蓋然性の高い動きベクトルが検出されたブロックについては更に細かいラインブロックに分割し、ラインブロック毎に一般ベクトルとテロップベクトルの選択を行うようにすれば良い。
【符号の説明】
【0054】
101:映像処理装置、104:一般ベクトル検出部、105:テロップベクトル検出部、106:ラインブロックマッチ判定部、108:ベクトル選択部、110:ベクトル補間部

【特許請求の範囲】
【請求項1】
入力される映像の2つのフレームの間に補間フレームを挿入して前記入力される映像のフレーム数を変換する映像処理装置であって、
前記2つのフレームの画像を複数のブロックに分割しブロック毎に動きベクトルを検出する第1検出部と、
前記2つのフレームの画像を複数のブロックに分割しブロック毎に垂直方向又は水平方向の動きベクトルであるテロップベクトルを検出する第2検出部と、
テロップベクトルが検出されたブロックに対応する補間フレームのブロックを、該ブロックより垂直方向の大きさが小さい複数の小ブロックにより垂直方向に分割し、該小ブロック毎に、該小ブロックに対して該テロップベクトルにより対応付けられる位置関係にある前記2つのフレームの画像におけるテロップの有無を判定する判定部と、
前記判定部による前記小ブロック毎の判定結果に基づいて、前記補間フレームの画像の生成に用いられる動きベクトルとして前記第1検出部により検出される動きベクトル又は前記テロップベクトルのいずれかの選択を前記小ブロック毎に行う選択部と、
テロップベクトルが検出されたブロックに対応する補間フレームのブロックについて、前記選択部により選択された動きベクトルを用いて前記小ブロック毎に補間フレームの画像を生成する補間部と、
を備え、
前記選択部は、
(A)前記判定部によりテロップが有ると判定された小ブロックについては、前記テロップベクトルを選択し、
(B)前記判定部によりテロップが無いと判定された小ブロックについては、前記第1検出部により検出される動きベクトルを選択する
ことを特徴とする映像処理装置。
【請求項2】
前記選択部は、テロップベクトルが検出されたブロックに対応する補間フレームのブロックにおいて、前記判定部によりテロップが有ると判定された小ブロックの上側の所定範囲及び下側の所定範囲内に存在する小ブロックについては、前記判定部による判定の結果によらず、前記テロップベクトルを選択することを特徴とする請求項1に記載の映像処理装置。
【請求項3】
前記上側の所定範囲よりも前記下側の所定範囲が大きいことを特徴とする請求項2に記載の映像処理装置。
【請求項4】
前記選択部は、テロップベクトルが検出されたブロックに対応する補間フレームのブロックにおいて、該補間フレームの下端から所定範囲内に存在する小ブロックについては、前記判定部による判定の結果によらず、前記テロップベクトルを選択することを特徴とする請求項1から3のいずれか1項に記載の映像処理装置。
【請求項5】
前記補間部は、前記選択部によりテロップベクトルが選択された小ブロックの左又は右に隣接する小ブロックについては、前記選択部による選択によらず、該テロップベクトルを用いて補間フレームの画像を生成することを特徴とする請求項1から4のいずれか1項に記載の映像処理装置。
【請求項6】
前記補間部は、前記テロップベクトルが検出されなかったブロックに対応する補間フレームのブロックについて、前記第1検出部により検出される動きベクトルを用いて補間フレームの画像を生成することを特徴とする請求項1から5のいずれか1項に記載の映像処理装置。
【請求項7】
映像を入力する工程と、
前記入力される映像の2つのフレームの間に補間フレームを挿入して前記入力される映像のフレーム数を変換する工程と、
前記2つのフレームの画像を複数のブロックに分割しブロック毎に動きベクトルを検出する第1検出工程と、
前記2つのフレームの画像を複数のブロックに分割しブロック毎に垂直方向又は水平方向の動きベクトルであるテロップベクトルを検出する第2検出工程と、
テロップベクトルが検出されたブロックに対応する補間フレームのブロックを、該ブロックより垂直方向の大きさが小さい複数の小ブロックにより垂直方向に分割し、該小ブロック毎に、該小ブロックに対して該テロップベクトルにより対応付けられる位置関係にある前記2つのフレームの画像におけるテロップの有無を判定する判定工程と、
前記判定工程による前記小ブロック毎の判定結果に基づいて、前記補間フレームの画像の生成に用いられる動きベクトルとして前記第1検出工程により検出される動きベクトル又は前記テロップベクトルのいずれかの選択を前記小ブロック毎に行う選択工程と、
テロップベクトルが検出されたブロックに対応する補間フレームのブロックについて、前記選択工程により選択された動きベクトルを用いて前記小ブロック毎に補間フレームの画像を生成する補間工程と、
を有し、
前記選択工程は、
(A)前記判定工程においてテロップが有ると判定された小ブロックについては、前記テロップベクトルを選択し、
(B)前記判定工程においてテロップが無いと判定された小ブロックについては、前記第1検出工程により検出される動きベクトルを選択する
ことを特徴とする映像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−135288(P2011−135288A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−292583(P2009−292583)
【出願日】平成21年12月24日(2009.12.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】