JP2012074990A - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP2012074990A JP2012074990A JP2010219209A JP2010219209A JP2012074990A JP 2012074990 A JP2012074990 A JP 2012074990A JP 2010219209 A JP2010219209 A JP 2010219209A JP 2010219209 A JP2010219209 A JP 2010219209A JP 2012074990 A JP2012074990 A JP 2012074990A
- Authority
- JP
- Japan
- Prior art keywords
- color difference
- interpolation
- data
- motion vector
- field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Color Television Systems (AREA)
- Television Systems (AREA)
Abstract
【課題】プログレッシブ画像の色差データの解像度が向上するようにIP変換を行なうことが可能な半導体装置を提供すること。
【解決手段】動き検出部104は、輝度データの動きベクトルを検出する。色差遅延部103は、色差データを遅延させることによって、補間対象の画素の色差データを生成するときの参照範囲の色差データを生成する。画素補間部105は、動き検出部104によって検出された動きベクトルを参照して、色差遅延部103によって生成された参照範囲の色差データから補間対象の画素の色差データを生成する。このとき、色差データを補間する画素位置に動きベクトルが存在しない場合には、最も近い動きベクトルを参照して動き補償補間を行なう。したがって、プログレッシブ画像の色差データの解像度を向上させることができる。
【選択図】図1
【解決手段】動き検出部104は、輝度データの動きベクトルを検出する。色差遅延部103は、色差データを遅延させることによって、補間対象の画素の色差データを生成するときの参照範囲の色差データを生成する。画素補間部105は、動き検出部104によって検出された動きベクトルを参照して、色差遅延部103によって生成された参照範囲の色差データから補間対象の画素の色差データを生成する。このとき、色差データを補間する画素位置に動きベクトルが存在しない場合には、最も近い動きベクトルを参照して動き補償補間を行なう。したがって、プログレッシブ画像の色差データの解像度を向上させることができる。
【選択図】図1
Description
本発明は、飛び越し走査(Interlace)の映像信号を順次走査(Progressive)の映像信号に変換する技術に関し、特に、動き補償補間を用いてIP変換を行なう半導体装置に関する。
従来、動きの多い映像を放送する機会が多いテレビ放送においては、インタレース方式が採用されてきた。一方、近年登場した液晶テレビやプラズマテレビなどのフラットパネルディスプレイは、高いクロック周波数を持つため、プログレッシブ方式でテレビ放送が再現できるようになった。
しかしながら、既存の画像コンテンツとしてはインタレース方式のものが多数存在し、また、ディジタルハイビジョン放送などで使用される多くの放送系の画像がインタレース方式であることから、これらのインタレース画像をプログレッシブ画像に変換するIP変換装置が必要となる。
IP変換装置が扱う入力画像の属性として、上述の走査方式(インタレース/プログレッシブ)や画像サイズの他に、色フォーマットがある。多くの画像においては、色差データを間引いた4:2:2または4:2:0の色フォーマットが採用されている。IP変換装置においては、いずれの色フォーマットに対しても効率よく処理を行なうことが要求される。
IP変換においては、高画質のプログレッシブ画像を生成するための手法として様々なものが提案されており、大きく、フィールド内補間、動き適応補間、動き補償補間の3つに分類される。
フィールド内補間は、インタレース形式の1枚のフィールド画像に対し、そのフィールド内の画素情報のみを用いて欠落しているラインの画素を補間する方法であり、リピート補間、平均値補間などに分類される。リピート補間は、すぐ上のラインの画素をリピートすることにより補間する方法であり、平均値補間は、上下のラインの画素の平均値で補間する方法である。
また、エッジ境界における画質劣化を防ぐために、絵柄からエッジを検出して適応的に補間する方法も提案されている。しかしながら、フィールド内補間には、原理的に垂直方向に1/2に間引かれた情報しか用いることができないという制約があるため、得られる画質レベルは一般的に3つのIP変換手法の中で最も低い。
動き適応補間は、複数フィールドに亘る画素データの解析により画像の動きを検出し、適応的に補間を行なう手法である。動き検出のために参照するフィールドは、補間対象フィールドの前後のフィールドを含む数フィールドであるのが一般的である。
よく知られている動き適応補償では、ある補間位置において動きが検出された場合にはフィールド内補間を行ない、動きが検出されなかった場合には前フィールドの同じ位置の画素または前後フィールドの同じ位置の画素の平均値などで補間を行なう。
この方法によれば、画像の静止部分に対しては完全に欠落情報を復元することができるが、動きのある部分に対してはフィールド内補間と同じ解像度しか得られない。また、容易に想像されるように、動き適応補間により生成されるプログレッシブ画像の全体的な画質は動き検出の精度に大きく依存する。
誤った動き検出に基づく補間が行なわれた場合、絵柄のエッジが櫛状に見えるコーミングと呼ばれる妨害や、フリッカなどの妨害が現れることが知られている。そのため、動き検出には様々な手法が提案されている。また、動き検出の確からしさを元に混合比を算出し、その値を用いてフィールド内補間による画素値とフィールド間補間による画素値とを混合して最終的な画素値を生成する手法も一般的である。
このように、動き適応補間により概ねフィールド内補間よりも良好な画質を得られるが、動き検出の処理コストは一般的に大きい。そのコストを削減するために、動き検出においては画像の輝度データのみを用いて行ない、その結果を色差データの補間にも適用する、または色差データは常にフィールド内補間を行なうといった手法もある。これは、人間の目が相対的に輝度より色差に対する分解能が低いという事実を利用したものであるが、コストと性能とのトレードオフになる。
動き補償補間は、動き適応補間のように単に動きの有無を検出するだけではなく、動きの方向と大きさ、すなわち動きベクトルを求めることによって、動きのある部分に対してもフィールド間補間で解像度を向上させようとする手法である。
動き補償補間では、ある補間位置において動きベクトルを検出できなかった場合はフィールド内補間による補間を行なう。また、動きベクトルを検出できた場合は静止している場合も含めて、前フィールドから動きベクトルにより動きを補償した画素、または前後フィールドからそれぞれ動き補償した画素の平均値などで補間を行なう。
動き補償補間において、動きベクトルを探索する範囲を探索範囲またはサーチウィンドウと呼ぶ。上述の動き適応補間は、サーチウィンドウの大きさを0としたときの動き補償補間と考えることもできる。
動き補償補間によれば、動きのある部分に対してもフィールド間補間により解像度を向上させることができるので、一般的には3つのIP変換手法の中では最も高画質なプログレッシブ画像が得られる。しかしながら、動き適応補間と同様に、その性能は動き検出の精度に大きく依存し、また動き検出の処理コストは動き適応補間のそれに比べて大幅に増える。
これらに関連する技術として、下記の特許文献1〜5に開示された発明がある。
特許文献1は、画像信号のIP変換やフォ−マット変換を行う信号処理回路を提供することを目的とする。飛び越し走査系の画像信号を順次走査系の信号に変換するIP変換では、サブナイキスト標本化した信号系列で補間処理を実行する。また、画像信号のフォ−マット変換では、飛び越し走査系の画像信号はIP変換で順次走査系の信号に変換し、この信号に対して、まず水平方向の拡大縮小のスケ−リング処理を行なう。次に垂直方向のスケ−リング処理では、メモリの動作制御で、拡大縮小やフレ−ムレ−ト変換や同期整合などの処理を併せて行なう。そして、最後に色空間変換や逆γ処理を行い、所定のフォ−マットの画像信号に変換する。
特許文献1は、画像信号のIP変換やフォ−マット変換を行う信号処理回路を提供することを目的とする。飛び越し走査系の画像信号を順次走査系の信号に変換するIP変換では、サブナイキスト標本化した信号系列で補間処理を実行する。また、画像信号のフォ−マット変換では、飛び越し走査系の画像信号はIP変換で順次走査系の信号に変換し、この信号に対して、まず水平方向の拡大縮小のスケ−リング処理を行なう。次に垂直方向のスケ−リング処理では、メモリの動作制御で、拡大縮小やフレ−ムレ−ト変換や同期整合などの処理を併せて行なう。そして、最後に色空間変換や逆γ処理を行い、所定のフォ−マットの画像信号に変換する。
特許文献2は、IP変換時に動いている部分でも動き補償により静止とみなしてフィールド補間を行うことができる画像信号処理装置およびその方法を提供することを目的とする。1フィールド遅延のデータに対して動き補償を行なった現フィールドのデータと1フィールド遅延のデータに対して動き補償を行った2フィールド遅延のデータとの差の絶対値による動き量をあらわす関数を定め、動き検出を行ないたいピクセルRと同じ位置の現フィールドのピクセルAと2フィールド遅延の同じ位置のピクセルD同士のデータの動き量を求める。さらに、1フィールド前のピクセルRの1ライン上の1フィールド遅延のピクセルBと3フィールド遅延の同じ位置のピクセルE同士のデータの動き量と、ピクセルRの1ライン下の1フィールド遅延のピクセルCと3フィールド遅延の同じ位置のピクセルF同士のデータの動き量を得て、これらの動き量を使って動き検出を行なう。
特許文献3は、面積・コストの増大を招いていた動きベクトル検出回路を約半分の規模に縮小し、高画質化の性能改善を図った順次走査変換装置を提供することを目的とする。順次走査変換装置は、偶数ライン動きベクトル検出器と、奇数ライン動き相関検出器と、両者からの相関を比較し一方を選択する相関判定部と、偶数ライン動きベクトル検出器からのベクトル検出信号に基づき映像信号の出力フィールドに隣り合うフィールドを用いて補間処理する動きベクトル補間回路とを有する。さらに、映像信号の出力フィールド内の信号を用いて補間処理するフィールド内適応補間回路と、選択部の選択に応じてベクトル補間出力またはフィールド内適応補間信号を選択するセレクタと、セレクタからの信号に応じてライン倍速変換するライン倍速変換部とを有する。
特許文献4は、4:2:0のインタレース信号を4:2:2のインタレース信号へ変換する時、従来は色差信号の補間処理を垂直方向に対してのみ行ない、補間色差信号を生成していたために、垂直解像度を改善するのが困難であったという問題点を解決することを目的とする。4:2:0のインタレース信号を4:2:2のインタレース信号へ変換する時、輝度信号を用いて斜め方向の相関を検出し、その検出結果を用いて、色差信号の補間を斜め方向についても行なう。これにより、色差信号の画質向上を図ると共に、MPEGデコード画像(4:2:0)で発生する色差信号のブロックノイズを削減しつつ、4:2:2の信号への変換を行なうことができる。
特許文献5は、動き補償型走査変換において、実際の動きとは異なる動きベクトルが検出された際にも画像の劣化を抑制した高画質な主走査変換を実現することを目的とする。インタレース信号を順次走査画像信号に変換する主走査変換装置において、フィールド間補間信号を生成する静止画用補間部と、フィールド内補間信号を生成する動画用補間部と、動きベクトルを検出する動きベクトル検出部と、補強信号を生成する補強信号生成部と、補強信号をフィールド内補間信号に加算して補強されたフィールド内補間信号を生成する補強信号加算部とを備える。さらに、動き量を検出する動き検出部と、動き量に応じてフィールド内補間信号とフィールド間補間信号との加算比を切り替えて動き適応補間信号を生成する動き適応加算部と、インタレース信号および動き適応補間信号の時間軸圧縮および時系列並び替えを行う倍速処理部とを備える。
後述のように動き補償補間によるIP変換装置においては、インタレース4:2:0形式の入力画像に対する色差の補間方法がフィールド内補間に限られるため、本来の動き補償補間による解像度向上という利点が制限されるといった問題点がある。この問題を解決するために、輝度データと独立に色差データでも動き検出を行なうといった方法もあるが、動き検出は非常に処理コストが大きくなるため効率的ではない。
本発明は、上記問題点を解決するためになされたものであり、その目的は、プログレッシブ画像の色差データの解像度が向上するようにIP変換を行なうことが可能な半導体装置を提供することである。
本発明の一実施例によれば、色フォーマットが4:2:0のインタレース方式の入力画像を、4:2:0または4:2:2のプログレッシブ方式の出力画像に変換する半導体装置が提供される。動き検出部は、輝度データの動きベクトルを検出する。輝度遅延部は、輝度データを遅延させることによって、補間対象の画素の輝度データを生成するときの参照範囲の輝度データを生成する。画素補間部は、動き検出部によって検出された動きベクトルを参照して、輝度遅延部によって生成された参照範囲の輝度データから補間対象の画素の輝度データを生成する。色差遅延部は、色差データを遅延させることによって、補間対象の画素の色差データを生成するときの参照範囲の色差データを生成する。画素補間部は、動き検出部によって検出された動きベクトルを参照して、色差遅延部によって生成された参照範囲の色差データから補間対象の画素の色差データを生成する。画素補間部は、色差データを補間する画素位置に動きベクトルが存在しない場合には、最も近い動きベクトルを参照して動き補償補間を行なう。
本発明の一実施例によれば、色差データを補間する画素位置に動きベクトルが存在しない場合には、画素補間部が最も近い動きベクトルを参照して動き補償補間を行なうので、プログレッシブ画像の色差データの解像度を向上させることができる。
図1は、動き補償補間を用いたIP変換装置の構成例を示す図である。このIP変換装置は、動き補償補間回路1と、入力画像用メモリ101と、1フィールド遅延部110および111と、出力画像用メモリ120とを含む。以下、動き補償補間回路1が1つの半導体装置で構成される場合について説明するが、これに限られるものではない。
さらに、動き補償補間回路1は、輝度遅延部102と、色差遅延部103と、動き検出部104と、画素補間部105と、倍速変換部106と、補間モード制御部107とを含む。
入力画像用メモリ101は、4:2:2形式または4:2:0形式のインタレース画像を格納し、輝度データY0および色差データC0として1フィールド遅延部110に出力する。また、輝度データY0が輝度遅延部102に入力され、色差データC0が色差遅延部103に入力される。
1フィールド遅延部110は、入力画像用メモリ101から受けた輝度データY0および色差データC0を1フィールドだけ遅延し、輝度データY1および色差データC1として1フィールド遅延部111に出力する。また、輝度データY1が輝度遅延部102に入力され、色差データC1が色差遅延部103に入力される。
1フィールド遅延部111は、1フィールド遅延部110から受けた輝度データY1および色差データC1をさらに1フィールドだけ遅延し、輝度データY2および色差データC2として出力する。輝度データY2が輝度遅延部102に入力され、色差データC2が色差遅延部103に入力される。
輝度遅延部102は、入力画像用メモリ101、1フィールド遅延部110および111から輝度データY0、Y1、Y2を受け、それぞれの輝度データに対して複数のライン遅延信号を生成し、さらにそのそれぞれのライン遅延信号に対して複数の水平遅延信号を生成する。その結果として、動き検出に必要なサーチウィンドウ内の全輝度データであるY_refが生成され、動き検出部104および画素補間部105に出力される。このY_refは、ある時点の補間対象位置に対応したサーチウィンドウ内のデータであり、画素単位でサーチウィンドウが移動する。
色差遅延部103は、入力画像用メモリ101、1フィールド遅延部110および111から色差データC0、C1、C2を受け、輝度遅延部102と同様に、それぞれの色差データに対して複数のライン遅延信号を生成し、さらにそのそれぞれのライン遅延信号に対して複数の水平遅延信号を生成する。その結果として、Y_refと同じサーチウィンドウ内の全色差データであるC_refが生成され、画素補間部105に出力される。このC_refは、ある時点の補間対象位置に対応したサーチウィンドウ内のデータであり、画素単位でサーチウィンドウが移動する。C_refは、動き検出には使用されず、色差データを補間するためのみに使用される。
動き検出部104は、輝度遅延部102から出力されるサーチウィンドウ内の輝度データY_refを受け、補間対象位置に対応した動きベクトルMVと、動き補償混合比kとを生成して画素補間部105に出力する。この動き補償混合比kは、フィールド内補間による画素値と、フィールド間補間による画素値とを混合するときの比率である。
画素補間部105は、補間モード制御部107から出力される制御信号であるmodeおよびphaseを参照し、動き検出部104から出力される動きベクトルMVおよび動き補償混合比kに基づいて、サーチウィンドウ内の輝度データY_refおよび色差データC_refから、入力画素および補間画素であるY_R、Y_I、C_R、C_Iを生成して倍速変換部106に出力する。
Y_Rは、入力画素の輝度データであり、Y_Iは、補間画素の輝度データである。また、C_Rは、入力画素の色差データであり、C_Iは、補間画素の色差データである。
倍速変換部106は、補間モード制御部107から出力される制御信号であるmodeおよびphaseを参照し、1ライン分の入力画素および補間画素をバッファリングし、倍のレートで出力する。
輝度データに対しては、1ライン分の入力画素Y_Rと補間画素Y_Iとをバッファリングし、次の1ライン期間中に倍のレートでそれを輝度データY_outとして出力画像用メモリ120に出力する。また、色差データに対しても同様に、1ライン分の入力画素C_Rと補間画素C_Iとをバッファリングし、次の1ライン期間中に倍のレートでそれを色差データC_outとして出力画像用メモリ120に出力する。
補間モード制御部107は、画素補間部105および倍速変換部106に対して、mode信号およびphase信号を出力する。mode信号は、444(4:4:4)モード、422(4:2:2)モード、420(4:2:0)モード、および420−422変換モードの4つの補間モードのいずれかを示し、一連のシーケンスに対して固定の値が出力される。
phase信号は、Y_ref内の、補間対象フィールドである1フィールド遅延信号の中心ライン位置を示し、ライン単位で切り替わる。
出力画像用メモリ120は、倍速変換部106から出力されるIP変換処理された画素データであるY_outおよびC_outを格納する。
図2は、図1に示すIP変換装置によるIP変換の一般的な画素補間方法の一例を示す図である。図2においては、左から順に、1フィールド遅延部111から出力される2フィールド遅延の画素データ、1フィールド遅延部110から出力される1フィールド遅延の画素データ、入力画像用メモリ101から出力される現フィールドの画素データを示している。
Y(輝度)に関する動き検出によってYの補間位置ごとに動きベクトルの検出を行ない、その結果に応じて前後フィールドの動き補償された画素の平均値で補間(フィールド間補間)するか、同一フィールド内の上下の画素の平均値で補間(フィールド内補間)するか、または両者の補間結果を動き補償混合比kを用いて混合する。
ここで、Yi(x,y,n)をインタレース画像のnフィールド目の輝度データ(n%2≠y%2の画素は欠落)とすると、補間後のプログレッシブ画像のnフィールド目の輝度データYp(x,y,n)は以下のようになる。なお、%は剰余を求める演算を示しており、たとえばn%2は、nを2で割った余りを示している。
(1)n%2=y%2の場合
Yp(x,y,n)=Yi(x,y,n) ・・・(1)
(2)n%2≠y%2の場合
Yp(x,y,n)=k×((Yi(x−MVx,y−MVy,n−1)+Yi(x+MVx,y+MVy,n+1))/2)+(1−k)×((Yi(x,y−1,n)+Yi(x,y+1,n))/2) ・・・(2)
なお、MVxおよびMVyは、それぞれ動きベクトルMV(x,y,n)の水平成分と垂直成分とを表しており、MVyは2の倍数に制限されている。輝度データについては、4:2:2方式であっても、4:2:0方式であっても、式(1)、(2)で補間後のプログレッシブ画像の輝度データを求めることができる。
Yp(x,y,n)=Yi(x,y,n) ・・・(1)
(2)n%2≠y%2の場合
Yp(x,y,n)=k×((Yi(x−MVx,y−MVy,n−1)+Yi(x+MVx,y+MVy,n+1))/2)+(1−k)×((Yi(x,y−1,n)+Yi(x,y+1,n))/2) ・・・(2)
なお、MVxおよびMVyは、それぞれ動きベクトルMV(x,y,n)の水平成分と垂直成分とを表しており、MVyは2の倍数に制限されている。輝度データについては、4:2:2方式であっても、4:2:0方式であっても、式(1)、(2)で補間後のプログレッシブ画像の輝度データを求めることができる。
また、色差データに関しては、Cb、Crの2種類のデータがあるが、簡単のためにCbに関してのみ議論することにする。
ここで、Ci422(x,y,n)をインタレース4:2:2画像のnフィールド目の色差データ(xは偶数、n%2≠y%2の画素は欠落)とすると、補間後のプログレッシブ4:2:2画像のnフィールド目の色差データCp422(x,y,n)(xは偶数)は以下のようになる。
(1)n%2=y%2の場合
Cp422(x,y,n)=Ci422(x,y,n) ・・・(3)
(2)n%2≠y%2、かつMVxが偶数の場合
Cp422(x,y,n)=k×((Ci422(x−MVx,y−MVy,n−1)+Ci422(x+MVx,y+MVy,n+1))/2)+(1−k)×((Ci422(x,y−1,n)+Ci422(x,y+1,n))/2) ・・・(4)
(3)n%2≠y%2、かつMVxが奇数の場合
Cp422(x,y,n)=(Ci422(x,y−1,n)+Ci422(x,y+1,n))/2 ・・・(5)
色差データはxが偶数の位置にしか存在しないため、動きベクトルの水平成分が偶数の場合のみフィールド間補間が可能である。
Cp422(x,y,n)=Ci422(x,y,n) ・・・(3)
(2)n%2≠y%2、かつMVxが偶数の場合
Cp422(x,y,n)=k×((Ci422(x−MVx,y−MVy,n−1)+Ci422(x+MVx,y+MVy,n+1))/2)+(1−k)×((Ci422(x,y−1,n)+Ci422(x,y+1,n))/2) ・・・(4)
(3)n%2≠y%2、かつMVxが奇数の場合
Cp422(x,y,n)=(Ci422(x,y−1,n)+Ci422(x,y+1,n))/2 ・・・(5)
色差データはxが偶数の位置にしか存在しないため、動きベクトルの水平成分が偶数の場合のみフィールド間補間が可能である。
図3は、図1に示すIP変換装置の入力画像が4:2:0形式の場合の色差の補間方法を説明するための図である。図3に示すように、4:2:0画像では、色差の補間位置(x,y+1/2,n)における動きベクトルが定義されていないため、常にフィールド内補間が行なわれる。
ここで、Ci420(x,y+1/2,n)をインタレース4:2:0画像のnフィールド目の色差データ(xは偶数、yは偶数、かつn%2≠(y/2)%2の画素は欠落)とすると、補間後のプログレッシブ4:2:0画像のnフィールド目の色差データCp420(x,y+1/2,n)(xは偶数、yは偶数)は以下のようになる。
(1)n%2=(y/2)%2の場合
Cp420(x,y+1/2,n)=Ci420(x,y+1/2,n) ・・・(6)
(2)n%2≠(y/2)%2の場合
Cp420(x,y+1/2,n)=(Ci420(x,y−3/2,n)+Ci420(x,y+5/2,n))/2 ・・・(7)
図4は、インタレース4:2:0画像からプログレッシブ4:2:2画像への変換を同時に行なう場合の補間方法を説明するための図である。図4に示すように、インタレース4:2:0画像から補間後のプログレッシブ4:2:0画像を生成する場合と同様に、常にフィールド内補間となる。
Cp420(x,y+1/2,n)=Ci420(x,y+1/2,n) ・・・(6)
(2)n%2≠(y/2)%2の場合
Cp420(x,y+1/2,n)=(Ci420(x,y−3/2,n)+Ci420(x,y+5/2,n))/2 ・・・(7)
図4は、インタレース4:2:0画像からプログレッシブ4:2:2画像への変換を同時に行なう場合の補間方法を説明するための図である。図4に示すように、インタレース4:2:0画像から補間後のプログレッシブ4:2:0画像を生成する場合と同様に、常にフィールド内補間となる。
ここで、Ci420(x,y+1/2,n)をインタレース4:2:0画像のnフィールド目の色差データ(xは偶数、yは偶数、かつn%2≠(y/2)%2の画素は欠落)とすると、補間後のプログレッシブ4:2:2画像のnフィールド目の色差データCp422(x,y,n)(xは偶数)は以下のようになる。
(1)(y−(n%2)×2)%4=1の場合
Cp422(x,y,n)=7/8×Ci420(x,y−1/2,n)+1/8×Ci420(x,y+7/2,n) ・・・(8)
(2)(y−(n%2)×2)%4=2の場合
Cp422(x,y,n)=5/8×Ci420(x,y−3/2,n)+3/8×Ci420(x,y+5/2,n) ・・・(9)
(3)(y−(n%2)×2)%4=3の場合
Cp422(x,y,n)=3/8×Ci420(x,y−5/2,n)+5/8×Ci420(x,y+3/2,n) ・・・(10)
(4)(y−(n%2)×2)%4=0の場合
Cp422(x,y,n)=1/8×Ci420(x,y−7/2,n)+7/8×Ci420(x,y+1/2,n) ・・・(11)
上述のように、一般的なIP変換装置においては、4:2:0形式の入力画像に対する色差の補間方法がフィールド内補間に限られているため、本来の動き補償補間による解像度の向上という利点が制限されてしまう。また、輝度データとは独立に、色差データの動き検出を行なうことも可能であるが、動き検出は非常にコストが大きくなってしまうため効率的ではない。
Cp422(x,y,n)=7/8×Ci420(x,y−1/2,n)+1/8×Ci420(x,y+7/2,n) ・・・(8)
(2)(y−(n%2)×2)%4=2の場合
Cp422(x,y,n)=5/8×Ci420(x,y−3/2,n)+3/8×Ci420(x,y+5/2,n) ・・・(9)
(3)(y−(n%2)×2)%4=3の場合
Cp422(x,y,n)=3/8×Ci420(x,y−5/2,n)+5/8×Ci420(x,y+3/2,n) ・・・(10)
(4)(y−(n%2)×2)%4=0の場合
Cp422(x,y,n)=1/8×Ci420(x,y−7/2,n)+7/8×Ci420(x,y+1/2,n) ・・・(11)
上述のように、一般的なIP変換装置においては、4:2:0形式の入力画像に対する色差の補間方法がフィールド内補間に限られているため、本来の動き補償補間による解像度の向上という利点が制限されてしまう。また、輝度データとは独立に、色差データの動き検出を行なうことも可能であるが、動き検出は非常にコストが大きくなってしまうため効率的ではない。
本発明の実施の形態におけるIP変換装置は、インタレース4:2:0形式の色差データからプログレッシブ4:2:0形式の色差データを生成する場合、およびインタレース4:2:0形式の色差データからプログレッシブ4:2:2形式の色差データを生成する場合でも、輝度データから生成された動きベクトルを用いて補間を行なうものである。
(実施の形態)
図5は、本発明の実施の形態におけるIP変換装置によるインタレース4:2:0形式の偶数フィールドの色差データをプログレッシブ4:2:0形式の色差データに変換するための処理を説明するための図である。左から順に、1フィールド遅延部111から出力される2フィールド遅延の画素データ、1フィールド遅延部110から出力される1フィールド遅延の画素データ、入力画像用メモリ101から出力される現フィールドの
画素データを示している。
図5は、本発明の実施の形態におけるIP変換装置によるインタレース4:2:0形式の偶数フィールドの色差データをプログレッシブ4:2:0形式の色差データに変換するための処理を説明するための図である。左から順に、1フィールド遅延部111から出力される2フィールド遅延の画素データ、1フィールド遅延部110から出力される1フィールド遅延の画素データ、入力画像用メモリ101から出力される現フィールドの
画素データを示している。
図5に示すように、黒い四角で表した補間画素の半ライン下の位置に動きベクトルが存在するため、この動きベクトルを用いてフィールド間補間を行なう。図5においては、点線の矢印で示す動きベクトルとなっているため、2フィールド遅延の4ライン下の入力画素の色差データと、現フィールドの4ライン上の入力画素の色差データとを用いてフィールド間補間を行なう。
図6は、本発明の実施の形態におけるIP変換装置によるインタレース4:2:0形式の奇数フィールドの色差データをプログレッシブ4:2:0形式の色差データに変換するための処理を説明するための図である。
図6に示すように、黒い四角で表した補間画素の半ライン上の位置に動きベクトルが存在するため、この動きベクトルを用いてフィールド間補間を行なう。図6においては、点線の矢印で示す動きベクトルとなっているため、2フィールド遅延の4ライン下の入力画素の色差データと、現フィールドの4ライン上の入力画素の色差データとを用いてフィールド間補間を行なう。
ここで、Ci420(x,y+1/2,n)をインタレース4:2:0画像のnフィールド目の色差データ(xは偶数、yは偶数、かつn%2≠(y/2)%2の画素は欠落)とすると、補間後のプログレッシブ4:2:0画像のnフィールド目の色差データCp420(x,y+1/2,n)(xは偶数、yは偶数)は以下のようになる。
(1)n%2=(y/2)%2の場合
Cp420(x,y+1/2,n)=Ci420(x,y+1/2,n) ・・・(12)
(2)n%2≠(y/2)%2、かつMVxが偶数かつMVyが4の倍数の場合
Cp420(x,y+1/2,n)=k×((Ci420(x−MVx,y+1/2−MVy,n−1)+Ci420(x+MVx,y+1/2+MVy,n+1))/2)+(1−k)×((Ci420(x,y−3/2,n)+Ci420(x,y+5/2,n))/2) ・・・(13)
(3)n%2≠(y/2)%2、かつMVxが偶数でないかMVyが4の倍数でない場合
Cp420(x,y+1/2,n)=(Ci420(x,y−3/2,n)+Ci420(x,y+5/2,n))/2 ・・・(14)
なお、kおよびMVは、偶数フィールド(n%2=0)の場合はそれぞれ補間位置の半ライン下のデータk(x,y+1,n)、MV(x,y+1,n)を、奇数フィールド(n%2=1)の場合はそれぞれ補間位置の半ライン上のデータk(x,y,n)、MV(x,y,n)を表している。
Cp420(x,y+1/2,n)=Ci420(x,y+1/2,n) ・・・(12)
(2)n%2≠(y/2)%2、かつMVxが偶数かつMVyが4の倍数の場合
Cp420(x,y+1/2,n)=k×((Ci420(x−MVx,y+1/2−MVy,n−1)+Ci420(x+MVx,y+1/2+MVy,n+1))/2)+(1−k)×((Ci420(x,y−3/2,n)+Ci420(x,y+5/2,n))/2) ・・・(13)
(3)n%2≠(y/2)%2、かつMVxが偶数でないかMVyが4の倍数でない場合
Cp420(x,y+1/2,n)=(Ci420(x,y−3/2,n)+Ci420(x,y+5/2,n))/2 ・・・(14)
なお、kおよびMVは、偶数フィールド(n%2=0)の場合はそれぞれ補間位置の半ライン下のデータk(x,y+1,n)、MV(x,y+1,n)を、奇数フィールド(n%2=1)の場合はそれぞれ補間位置の半ライン上のデータk(x,y,n)、MV(x,y,n)を表している。
このように、n%2=(y/2)%2、かつMVxが偶数かつMVyが4の倍数という条件においてはフィールド間補間を行なうことができるため、適切な動きベクトルが存在する場合には得られるプログレッシブ画像の解像度を向上させることができる。
また、輝度データを用いた動き検出の結果を利用するため、新たに色差データを用いた動き検出部を設ける必要がない。また、4:2:0形式のフィールド間補間を行なうために参照する前後フィールドの輝度データを格納するバッファは、4:2:2形式のフィールド間補間で使用するバッファと併用できるため、余分なバッファを設ける必要がなく、極めて小さいコストの増加で解像度の向上を図ることができる。
図7は、本発明の実施の形態におけるIP変換装置によるインタレース4:2:0形式の偶数フィールドの色差データをプログレッシブ4:2:2形式の色差データに変換するための処理を説明するための図である。補間画素と同一フィールドの上下の入力画素との位相関係によって、以下のように4つのケースに分けて処理が行なわれる。
(1)補間画素の位置が入力画素の半ライン下(図7の「1」)の場合には、上下の入力画素によるリニア補間を行なう。すなわち、半ライン上の画素値に7/8を乗じた値と、3.5ライン下の画素値に1/8を乗じた値との和によって、補間位置の画素値を求める。
このケースでは、半ライン上の画素による影響が支配的となり、解像度を低下させる要因は相対的に小さいと考えられるため、あえてフィールド間補間を行なわずに、フィールド内補間を行なう。
(2)補間画素の位置が入力画素の1.5ライン下(図7の「2」)の場合には、1ライン上の動きベクトルと1ライン下の動きベクトルとが等しいときに、その動きベクトルを用いたフィールド間補間を行なう。このとき、適用する動きベクトルの垂直成分を4の倍数に制限すれば、参照すべき前後フィールドの位置は入力画素の半ライン上の位置となる。
したがって、その参照位置の上下の入力画素によるリニア補間によって参照画素の画素値を生成する。たとえば、動きベクトルの垂直成分が0の場合には、図7に示すように、3.5ライン上の画素値に1/8を乗じた値と、半ライン下の画素値に7/8を乗じた値との和によって、参照位置の画素値を求める。さらに、この方法によって求めた前後の参照位置の画素値の平均によって最終的な画素値を求める。
このケースでは、前後フィールドの参照位置の半ライン下の画素による影響が支配的となり、フィールド間補間による解像度の向上が期待できる。
(3)補間画素の位置が入力画素の2.5ライン下(図7の「3」)の場合には、同じ位置の動きベクトルを用いたフィールド間補間を行なう。このとき、適用する動きベクトルの垂直成分を4の倍数に制限すれば、参照すべき前後フィールドの位置は入力画素の半ライン下の位置となる。
したがって、その参照位置の上下の入力画素によるリニア補間によって参照画素の画素値を生成する。たとえば、動きベクトルの垂直成分が0の場合には、図7に示すように、半ライン上の画素値に7/8を乗じた値と、3.5ライン下の画素値に1/8を乗じた値との和によって、参照位置の画素値を求める。さらに、この方法によって求めた前後の参照位置の画素値の平均によって最終的な画素値を求める。
このケースでは、前後フィールドの参照位置の半ライン上の画素による影響が支配的となり、フィールド間補間による解像度の向上が期待できる。
(4)補間画素の位置が入力画素の3.5ライン下(図7の「0」)の場合には、上下の入力画素によるリニア補間を行なう。すなわち、3.5ライン上の画素値に1/8を乗じた値と、半ライン下の画素値に7/8を乗じた値との和によって、補間位置の画素値を求める。
このケースでは、半ライン下の画素による影響が支配的となり、解像度を低下させる要因は相対的に小さいと考えられるため、あえてフィールド間補間を行なわずに、フィールド内補間を行なう。
図8は、本発明の実施の形態におけるIP変換装置によるインタレース4:2:0形式の奇数フィールドの色差データをプログレッシブ4:2:2形式の色差データに変換するための処理を説明するための図である。補間画素と同一フィールドの上下の入力画素との位相関係によって、以下のように4つのケースに分けて処理が行なわれる。
(1)補間画素の位置が入力画素の半ライン下(図8の「1」)の場合には、上下の入力画素によるリニア補間を行なう。すなわち、半ライン上の画素値に7/8を乗じた値と、3.5ライン下の画素値に1/8を乗じた値との和によって、補間位置の画素値を求める。
このケースでは、半ライン上の画素による影響が支配的となり、解像度を低下させる要因は相対的に小さいと考えられるため、あえてフィールド間補間を行なわずに、フィールド内補間を行なう。
(2)補間画素の位置が入力画素の1.5ライン下(図8の「2」)の場合には、同じ位置の動きベクトルを用いたフィールド間補間を行なう。このとき、適用する動きベクトルの垂直成分を4の倍数に制限すれば、参照すべき前後フィールドの位置は入力画素の半ライン上の位置となる。
したがって、その参照位置の上下の入力画素によるリニア補間によって参照画素の画素値を生成する。たとえば、動きベクトルの垂直成分が0の場合には、図8に示すように、3.5ライン上の画素値に1/8を乗じた値と、半ライン下の画素値に7/8を乗じた値との和によって、参照位置の画素値を求める。さらに、この方法によって求めた前後の参照位置の画素値の平均によって最終的な画素値を求める。
このケースでは、前後フィールドの参照位置の半ライン下の画素による影響が支配的となり、フィールド間補間による解像度の向上が期待できる。
(3)補間画素の位置が入力画素の2.5ライン下(図8の「3」)の場合には、1ライン上の動きベクトルと1ライン下の動きベクトルとが等しいときに、その動きベクトルを用いたフィールド間補間を行なう。このとき、適用する動きベクトルの垂直成分を4の倍数に制限すれば、参照すべき前後フィールドの位置は入力画素の半ライン下の位置となる。
したがって、その参照位置の上下の入力画素によるリニア補間によって参照画素の画素値を生成する。たとえば、動きベクトルの垂直成分が0の場合には、図8に示すように、半ライン上の画素値に7/8を乗じた値と、3.5ライン下の画素値に1/8を乗じた値との和によって、参照位置の画素値を求める。さらに、この方法によって求めた前後の参照位置の画素値の平均によって最終的な画素値を求める。
このケースでは、前後フィールドの参照位置の半ライン上の画素による影響が支配的となり、フィールド間補間による解像度の向上が期待できる。
(4)補間画素の位置が入力画素の3.5ライン下(図8の「0」)の場合には、上下の入力画素によるリニア補間を行なう。すなわち、3.5ライン上の画素値に1/8を乗じた値と、半ライン下の画素値に7/8を乗じた値との和によって、補間位置の画素値を求める。
このケースでは、半ライン下の画素による影響が支配的となり、解像度を低下させる要因は相対的に小さいと考えられるため、あえてフィールド間補間を行なわずに、フィールド内補間を行なう。
上述のように、N=(y−(n%2)×2)%4によるケース分けを採用した場合、偶数フィールドの処理と奇数フィールドの処理とで異なる点は、位置「2」と位置「3」とにおける動きベクトルの選択方法が互いに入れ替わるということだけである。
ここで、Ci420(x,y+1/2,n)をインタレース4:2:0画像のnフィールド目の色差データ(xは偶数、yは偶数、かつn%2≠(y/2)%2の画素は欠落)とすると、補間後のプログレッシブ4:2:2画像のnフィールド目の色差データCp422(x,y,n)(xは偶数)は以下のようになる。
(1)(y−(n%2)×2)%4=1の場合
Cp422(x,y,n)=7/8×Ci420(x,y−1/2,n)+1/8×Ci420(x,y+7/2,n) ・・・(15)
(2)(y−(n%2)×2)%4=2、かつ動きベクトルが使える場合
Cp422(x,y,n)=k×((1/8×Ci420(x−MVx,y−MVy−7/2,n−1)+7/8×Ci420(x−MVx,y−MVy+1/2,n−1))×1/2+(1/8×Ci420(x+MVx,y+MVy−7/2,n+1)+7/8×Ci420(x+MVx,y+MVy+1/2,n+1))×1/2)+(1−k)×(5/8×Ci420(x,y−3/2,n)+3/8×Ci420(x,y+5/2,n)) ・・・(16)
(3)(y−(n%2)×2)%4=2、かつ動きベクトルが使えない場合
Cp422(x,y,n)=5/8×Ci420(x,y−3/2,n)+3/8×Ci420(x,y+5/2,n) ・・・(17)
(4)(y−(n%2)×2)%4=3、かつ動きベクトルが使える場合
Cp422(x,y,n)=k×((7/8×Ci420(x−MVx,y−MVy−1/2,n−1)+1/8×Ci420(x−MVx,y−MVy+7/2,n−1))×1/2+(7/8×Ci420(x+MVx,y+MVy−1/2,n+1)+1/8×Ci420(x+MVx,y+MVy+7/2,n+1))×1/2)+(1−k)×(3/8×Ci420(x,y−5/2,n)+5/8×Ci420(x,y+3/2,n)) ・・・(18)
(5)(y−(n%2)×2)%4=3、かつ動きベクトルが使えない場合
Cp422(x,y,n)=3/8×Ci420(x,y−5/2,n)+5/8×Ci420(x,y+3/2,n) ・・・(19)
(6)(y−(n%2)×2)%4=0の場合
Cp422(x,y,n)=1/8×Ci420(x,y−7/2,n)+7/8×Ci420(x,y+1/2,n) ・・・(20)
動きベクトルが使える条件と、そのときの動きベクトルMVおよび動き補償混合比kの選び方は以下の通りである。
Cp422(x,y,n)=7/8×Ci420(x,y−1/2,n)+1/8×Ci420(x,y+7/2,n) ・・・(15)
(2)(y−(n%2)×2)%4=2、かつ動きベクトルが使える場合
Cp422(x,y,n)=k×((1/8×Ci420(x−MVx,y−MVy−7/2,n−1)+7/8×Ci420(x−MVx,y−MVy+1/2,n−1))×1/2+(1/8×Ci420(x+MVx,y+MVy−7/2,n+1)+7/8×Ci420(x+MVx,y+MVy+1/2,n+1))×1/2)+(1−k)×(5/8×Ci420(x,y−3/2,n)+3/8×Ci420(x,y+5/2,n)) ・・・(16)
(3)(y−(n%2)×2)%4=2、かつ動きベクトルが使えない場合
Cp422(x,y,n)=5/8×Ci420(x,y−3/2,n)+3/8×Ci420(x,y+5/2,n) ・・・(17)
(4)(y−(n%2)×2)%4=3、かつ動きベクトルが使える場合
Cp422(x,y,n)=k×((7/8×Ci420(x−MVx,y−MVy−1/2,n−1)+1/8×Ci420(x−MVx,y−MVy+7/2,n−1))×1/2+(7/8×Ci420(x+MVx,y+MVy−1/2,n+1)+1/8×Ci420(x+MVx,y+MVy+7/2,n+1))×1/2)+(1−k)×(3/8×Ci420(x,y−5/2,n)+5/8×Ci420(x,y+3/2,n)) ・・・(18)
(5)(y−(n%2)×2)%4=3、かつ動きベクトルが使えない場合
Cp422(x,y,n)=3/8×Ci420(x,y−5/2,n)+5/8×Ci420(x,y+3/2,n) ・・・(19)
(6)(y−(n%2)×2)%4=0の場合
Cp422(x,y,n)=1/8×Ci420(x,y−7/2,n)+7/8×Ci420(x,y+1/2,n) ・・・(20)
動きベクトルが使える条件と、そのときの動きベクトルMVおよび動き補償混合比kの選び方は以下の通りである。
(1)偶数フィールドでN=2、または、奇数フィールドでN=3の場合
<条件>
MV(x,y−1,n)=MV(x,y+1,n)
MVx(x,y−1,n)が2の倍数
MVy(x,y−1,n)が4の倍数
<MVおよびk>
MV=MV(x,y−1,n)
k=min(k(x,y−1,n),k(x,y+1,n))
(2)偶数フィールドでN=3、または、奇数フィールドでN=2の場合
<条件>
MVx(x,y,n)が2の倍数
MVy(x,y,n)が4の倍数
<MVおよびk>
MV=MV(x,y,n)
k=k(x,y,n)
このように、(y−(n%2)×2)%4が2または3で、かつ上述の動きベクトルが使える条件を満足した場合に、フィールド間補間を行なうことができるため、適切な動きベクトルが存在する場合には得られるプログレッシブ画像の解像度を向上させることができる。
<条件>
MV(x,y−1,n)=MV(x,y+1,n)
MVx(x,y−1,n)が2の倍数
MVy(x,y−1,n)が4の倍数
<MVおよびk>
MV=MV(x,y−1,n)
k=min(k(x,y−1,n),k(x,y+1,n))
(2)偶数フィールドでN=3、または、奇数フィールドでN=2の場合
<条件>
MVx(x,y,n)が2の倍数
MVy(x,y,n)が4の倍数
<MVおよびk>
MV=MV(x,y,n)
k=k(x,y,n)
このように、(y−(n%2)×2)%4が2または3で、かつ上述の動きベクトルが使える条件を満足した場合に、フィールド間補間を行なうことができるため、適切な動きベクトルが存在する場合には得られるプログレッシブ画像の解像度を向上させることができる。
また、同一フィールド内の入力画素に近接した補間位置ではフィールド内補間を行ない、それ以外の補間位置では前後フィールドの入力画素に近接した補間画素を用いたフィールド間補間を行なうことにより、比較的単純な処理で、効率的に解像度を向上させることができる。
また、輝度データを用いた動き検出の結果を利用するため、新たに色差データを用いた動き検出部を設ける必要がない。また、4:2:0形式のフィールド間補間を行なうために参照する前後フィールドの輝度データを格納するバッファは、4:2:2形式のフィールド間補間で使用するバッファと併用できるため、余分なバッファを設ける必要がなく、極めて小さいコストの増加で解像度の向上を図ることができる。
図9は、輝度遅延部102および色差遅延部103が4:2:2形式の入力画像を入力画像用メモリ101、1フィールド遅延部110および111から読み出すときのタイミングを示す図である。
図9(a)は、補間対象(Y1,C1)が偶数フィールドの場合を示している。また、図9(b)は、補間対象(Y1,C1)が奇数フィールドの場合を示している。ライン0が画像の最も上のラインを表している。また、ライン数はプログレッシブ画像に対応しているため、インタレース入力画像の偶数フィールドには偶数ラインのみが存在し、奇数フィールドには奇数ラインのみが存在する。
輝度遅延部102および色差遅延部103は、各ラインの画素を読み出すときに、画像の左端画素から順に右端画素まで読み出す。また、色差遅延部103は、各ラインの色差データを読み出すときに、水平方向にCb→Cr→Cb→Crの順に、CbとCrとを交互に読み出す。
図9(b)に示すように、補間対象フィールド(1フィールド遅延信号)が奇数フィールドの場合、輝度遅延部102および色差遅延部103は、1フィールド遅延信号Y1,C1の読み出しを、0フィールド遅延信号Y0,C0および2フィールド遅延信号Y2,C2よりも1ライン分遅らせる。
これによって、同じ時点における1フィールド遅延信号の、0フィールド遅延信号および2フィールド遅延信号に対する位置関係を、偶数フィールドと奇数フィールドとで同じにすることができる。すなわち、1フィールド遅延信号が、常に0フィールド遅延信号および2フィールド遅延信号に対して1ライン上の位置になる。
図10は、輝度遅延部102および色差遅延部103が4:2:0形式の入力画像を入力画像用メモリ101、1フィールド遅延部110および111から読み出すときのタイミングを示す図である。
図10(a)は、補間対象が偶数フィールドの場合を示している。輝度遅延部102が輝度データを読み出すときのタイミングは、図9(a)に示す4:2:2形式の場合と同様である。
色差データのライン番号の小数点は、輝度データに対する相対的な垂直位置を示しており、たとえばライン0.5はライン0とライン1との中間の垂直位置を示している。色差遅延部103は、色差データの最初の2ラインを輝度データのラインと同じタイミングで読み出し、それ以降は輝度データの2ラインごとに色差データの1ラインを読み出す。
図10(b)は、補間対象が奇数フィールドの場合を示している。輝度遅延部102が輝度データを読み出すときのタイミングは、図9(b)に示す4:2:2形式の場合と同様である。
色差遅延部103は、0フィールド遅延信号および2フィールド遅延信号の色差データについては、色差データの最初の3ラインを輝度データのラインと同じタイミングで読み出し、それ以降は輝度データの2ラインごとに色差データの1ラインを読み出す。
また、色差遅延部103は、1フィールド遅延信号の色差データについては、色差データの最初の2ラインを輝度データのラインと同じタイミングで読み出し、それ以降は輝度データの2ラインごとに色差データの1ラインを読み出す。
図11は、輝度遅延部102の構成例を示す図である。輝度遅延部102は、6ライン分の輝度データを記憶するライン遅延用メモリ130と、(18+D)段シフトレジスタ140〜146とを含む。なお、Dは動き検出部104における動き検出処理に必要なサイクル数を示している。
ライン遅延用メモリ130は、輝度データY0、Y1、Y2を順次記憶し、それを出力することによって1ライン遅延から6ライン遅延までの輝度データを生成して、0ライン遅延データ(Y0、Y1、Y2)と水平位置を同期させて、(18+D)段シフトレジスタ141〜146に出力する。
(18+D)段シフトレジスタ140は、入力画像用メモリ101、1フィールド遅延部110および111からY0、Y1、Y2を受けて順次シフトすることによって、0ライン遅延データを出力する。
また、(18+D)段シフトレジスタ141〜146は、ライン遅延用メモリ130から1ライン遅延〜6ライン遅延の輝度データを受けて順次シフトすることによって、1ライン遅延データ〜6ライン遅延データを出力する。(18+D)段シフトレジスタ140〜146から出力される0ライン遅延データ〜6ライン遅延データをまとめて、Y_refとして出力する。
なお、Y0、Y1、Y2のあるラインのデータに対して、その次のラインのデータは2ライン下のデータであるので、Y_refに出力されるライン遅延データは、それぞれ2ラインずつ垂直位置がずれた信号である。たとえば、6ライン遅延信号は、0ライン遅延信号より12ライン上の信号である。
本実施の形態においては、動き検出のサーチウィンドウの大きさを、垂直方向が±4画素、水平方向が±8画素を想定しており、その大きさに合わせた遅延ライン数およびシフトレジスタの段数としている。しかしながら、輝度遅延部102に必要となる遅延ライン数およびシフトレジスタの段数は動き検出部104の実装に依存しており、上述の構成に限定されるものではない。
また、1フィールド遅延信号Y1に対して必要となる遅延ライン数およびシフトレジスタの段数は、0フィールド遅延信号および2フィールド遅延信号に対するものよりも少ない場合が考えられる。その場合には、1フィールド遅延信号に関する不要な回路を縮退させるようにしてもよい。
図12は、輝度遅延部102から出力されるY_refに含まれる信号を画像イメージとして並べた図である。図12(a)〜図12(c)はそれぞれ、2フィールド遅延(前フィールド)の画像、1フィールド遅延(補間対象)の画像、および0フィールド遅延(後フィールド)の画像を示している。なお、動き検出部104における動き検出処理に必要なサイクル数Dを“4”としている。
図12(a)〜図12(c)に示すように、0フィールド遅延信号、1フィールド遅延信号および2フィールド遅延信号のそれぞれには、22×7個の画素が含まれており、水平22画素×垂直7ライン分の画像範囲に対応している。
輝度遅延部102は、図9に示すライン読み出し制御によって、1フィールド遅延信号が、0フィールド遅延信号および2フィールド遅延信号に対して全体に1ライン上にずれたタイミングでラインを読み出す。この関係は、1フィールド遅延信号が偶数フィールドであるか、奇数フィールドであるかに依存しない。
領域200、201および202は、動き検出部104の参照範囲となる領域であり、水平19画素×垂直7ライン分の画素を含んでいる。このとき、動き検出部104による動き検出位置は220となり、ここには入力画素は存在しない。
動き検出位置220に対応する動きベクトルは、D(=4)サイクル後に動き検出部104から出力される。このとき、動き検出位置220に対応する位置は221に移動しており、この位置が画素補間部105による補間位置となる。
したがって、動き検出部104による参照範囲200、201および202に対応する、画素補間部105による参照範囲は、その中心が4画素分左にずれた領域210、211および212となる。この画素補間部105による参照範囲210、211および212は、水平17画素×垂直5ラインの領域である。
画素補間部105の処理サイクル数は4サイクルであるが、パイプライン的に処理を行なうため、補間位置221に対応した動きベクトルが毎サイクル生成されることになる。また、パイプライン処理の途中のステージで画素補間部105がY_refを参照する場合、参照範囲200、201および202に対して左に1画素、2画素または3画素ずれた範囲を参照することになる。しかしながら、このような動作は動き検出部104の実装に依存するものであり、これに限定されるものではない。
色差遅延部103の構成は、図11に示す輝度遅延部102の構成と同様であるが、色差データは動き検出部104には参照されないため、C_refのライン数は画素補間部105が参照する0ライン遅延〜4ライン遅延の5ラインでよい。また、シフトレジスタの段数は、動き検出の処理サイクル数分を補償するために、輝度遅延部102と同じ(18+D)段だけ必要である。
図13は、1フィールド遅延信号が偶数フィールドである場合に、輝度を一番上のラインから8ライン入力したときのY_refおよびC_refの状態を示す図である。図13(a)は、輝度遅延部102から出力されるY_refを示しており、7ライン分の画素データを含む。画素補間部105が参照するY_refの画素は、上端ラインと下端ラインとを除く5ライン分である。また、図13(b)は、色差遅延部103から出力されるC_refを示しており、5ライン分の画素データを含む。
図14は、動き検出部104による動きベクトルの生成方法を説明するための図である。図14(a)〜14(c)はそれぞれ、2フィールド遅延(前フィールド)の画像、1フィールド遅延(補間対象)の画像、および0フィールド遅延(後フィールド)の画像を示している。
図14(b)のYi(x,y,n)が補間対象位置を示している。本実施の形態においては、動き検出部104によって検出される動きベクトルMVは、水平方向が−8≦MVx≦+8、垂直方向が−4≦MVy≦+4の範囲内であり、かつMVyが偶数のみに制限される。したがって、候補となる動きベクトル数は、17×5=85種類である。
動き検出部104は、前フィールドと後フィールドとでそれぞれ動き補償した画素の近傍9画素によるSAD(差分絶対値和)に基づいて動きベクトルを算出する。MVyを偶数に制限することによって、前後のフィールドで動き補償した位置に必ず画素が存在することになる。
図14(a)の領域240は、2フィールド遅延の画素におけるMVx=+8、MVy=+4の動きベクトルに対する演算対象画素を示している。また、図14(c)の領域241は、0フィールド遅延の画素におけるMVx=+8、MVy=+4の動きベクトルに対する演算対象画素を示している。動きベクトル(MVx、MVy)に対応するSADは、次式によって算出される。
SAD=|Yi(x−MVx−1,y−MVy−1,n−1)−Yi(x+MVx−1,y+MVy−1,n+1)|+|Yi(x−MVx,y−MVy−1,n−1)−Yi(x+MVx,y+MVy−1,n+1)|+|Yi(x−MVx+1,y−MVy−1,n−1)−Yi(x+MVx+1,y+MVy−1,n+1)|+|Yi(x−MVx−1,y−MVy,n−1)−Yi(x+MVx−1,y+MVy,n+1)|+|Yi(x−MVx,y−MVy,n−1)−Yi(x+MVx,y+MVy,n+1)|+|Yi(x−MVx+1,y−MVy,n−1)−Yi(x+MVx+1,y+MVy,n+1)|+|Yi(x−MVx−1,y−MVy+1,n−1)−Yi(x+MVx−1,y+MVy+1,n+1)|+|Yi(x−MVx,y−MVy+1,n−1)−Yi(x+MVx,y+MVy+1,n+1)|+|Yi(x−MVx+1,y−MVy+1,n−1)−Yi(x+MVx+1,y+MVy+1,n+1)| ・・・(21)
動き検出部104は、85通りの候補の中で、SADが最小となる動きベクトルをMVとして出力する。そのような動きベクトルが複数ある場合には、|MVx|+|MVy|が最小となる動きベクトルをMVとして出力する。それも等しい動きベクトルがある場合には、|MVy|が最小となる動きベクトルをMVとして出力する。それも等しい動きベクトルがある場合には、MVyが最小となる動きベクトルをMVとして出力する。なお、この動き検出方法は一例であって、特にこの方法に限定されるものではない。
動き検出部104は、85通りの候補の中で、SADが最小となる動きベクトルをMVとして出力する。そのような動きベクトルが複数ある場合には、|MVx|+|MVy|が最小となる動きベクトルをMVとして出力する。それも等しい動きベクトルがある場合には、|MVy|が最小となる動きベクトルをMVとして出力する。それも等しい動きベクトルがある場合には、MVyが最小となる動きベクトルをMVとして出力する。なお、この動き検出方法は一例であって、特にこの方法に限定されるものではない。
また、動き検出部104は、選択した動きベクトルに対応するSADに応じて、0〜1の範囲内で動き補償混合比kを決定する。本実施の形態においては、SADが小さいほど動きベクトルの確度が高いものと考え、動き補償混合比kが大きな値となるようにしているが、これに限定されるものではない。
図15は、画素補間部105の構成例を示す図である。この画素補間部105は、1ライン遅延部150および151と、輝度補間部160と、色差補間部161とを含む。
1ライン遅延部150は、動き検出部104から受けた動きベクトルMVを1ライン遅延させて、MVと水平位置を同期させたMV_1d信号を輝度補間部160および色差補間部161に出力する。
また、1ライン遅延部151は、動き検出部104から受けた動き補償混合比kを1ライン遅延させて、kと水平位置を同期させたk_1d信号を輝度補間部160および色差補間部161に出力する。
輝度補間部160は、輝度遅延部102から受けたY_refを参照して、輝度の補間画素Y_Iを生成して出力すると共に、その1ライン上の画素Y_Rを出力する。Y_Rは、Y_refに含まれている画素である。
色差補間部161は、色差遅延部103から受けたC_refを参照して、色差の補間画素C_Iを生成して出力すると共に、画素C_Rを出力する。このC_Rは、補間後の画像が4:2:2形式の場合にはC_Iの1ライン上の画素であり、補間後の画像が4:2:0形式の場合にはC_Iの2ライン上の画素である。また、画素補間モード(mode)が420−422変換モード以外の場合、C_RはC_refに含まれる画素となるが、420−422変換モードの場合、C_Rも補間された画素となる。
輝度補間部160に必要な機能は色差補間部161に必要な機能のサブセットであり、概ね共通の構成となることから、本実施の形態においては輝度補間部と色差補間部とは同一のブロックを使用することとし、色差補間部161の構成のみを説明することにする。ただし、輝度補間部のmode端子は444モードに固定される。また、参照画素として、輝度補間部にはY_refを接続し、色差補間部にはC_refを接続する。
図16は、色差補間部161の構成例を示す図である。この色差補間部161は、フィールド内演算部170と、フィールド間演算部171と、補間画素生成部172と、論理回路173〜179と、セレクタ180とを含む。
上述のように、輝度補間部160の構成も同様であり、輝度補間部のref端子にはY_refが接続され、色差補間部のref端子にはC_refが接続される。また、輝度補間部のR_out端子およびI_out端子にはそれぞれY_RおよびY_Iが接続され、色差補間部のR_outおよびI_out端子にはそれぞれC_RおよびC_Iが接続される。
論理回路173は、動きベクトルMVが条件を満たさない場合に動き補償混合比kを“0”にする。具体的には、mode=422モードであり、かつMVx%2≠0の場合には、k2に“0”を出力する。また、mode=420モードまたは420−422変換モードであり、かつMVx%2≠0またはMVy%4≠0の場合にも、k2に“0”を出力する。それ以外の場合には、k2にkの値を出力する。
論理回路174は、MVxとMVx_1dとが等しい場合には、Xeqに“1”を出力し、それ以外の場合には、Xeqに“0”を出力する。
論理回路175は、MVyとMVy_1dとが等しい場合には、Yeqに“1”を出力し、それ以外の場合には、Yeqに“0”を出力する。
論理回路176は、Xeq=Yeq=1の場合には、k2_1dにk_1dの値を出力し、それ以外の場合には、k2_1dに“0”を出力する。すなわち、MVとMV_1dとが等しい場合にのみk_1dを有効にする。
論理回路177は、論理回路173から出力されるk2と、論理回路176から出力されるk2_1dとを比較し、その最小値をK_1dに出力する。これによって、k2とk2_1dとの最小値を取ると共に、MVが有効でない場合には論理回路173から出力されるk2が“0”となっているため、K_1dも“0”とすることができる。
論理回路178は、MVyを1/2倍にしてセレクタ180に出力する。また、論理回路179は、MVyを1/4倍にしてセレクタ180に出力する。なお、小数点以下は切り捨てるものとする。
セレクタ180は、modeに応じてMVのY成分を選択する。セレクタ180は、modeが444モードまたは422モードの場合には、論理回路178から出力される1/2倍したY成分を出力する。また、セレクタ180は、modeが420モードまたは420−422変換モードの場合には、論理回路179から出力される1/4倍したY成分を出力する。
フィールド内演算部170は、色差遅延部103から出力されるC_refを参照して、後段の補間画素生成部172で使用され得る7通りのフィールド内補間画素を生成して出力する。
フィールド間演算部171は、色差遅延部103から出力されるC_refを参照して、後段の補間画素生成部172で使用され得る4通りのフィールド間補間画素を生成して出力する。
フィールド間演算部171は、フィールド間補間画素を生成する際、動きベクトルMVのX成分である“X”と、補正されたMVのY成分である“Y”とを参照する。MV_1dは、MVと等しい場合にのみ有効となるため、フィールド間演算部171によって参照されることはない。
補間画素生成部172は、mode信号とphase信号とに応じて、フィールド内補間画素とフィールド間補間画素とを適宜選択し、動き補償混合比kによる混合を行なって、R_outとI_outとを生成して出力する。
図17は、色差補間部161に入力されるref(C_ref)に含まれる画素を再配置したところを示す図である。図17(b)に示すref(0,0,0)を中心画素と呼ぶ。図17(a)〜図17(c)において、上下に隣接している画素は、444モードまたは422モードでは2ライン分だけ互いに離れた位置にあり、420モードまたは420−422変換モードでは4ライン分だけ互いに離れた位置にある。
また、フィールド間で同じY座標を有する画素は、444モードまたは422モードでは、1フィールド遅延が0フィールド遅延および2フィールド遅延より1ライン上にあり、420モードまたは420−422変換モードでは、1フィールド遅延が0フィールド遅延および2フィールド遅延より2ライン上にある、という関係になる。
フィールド内演算部170は、以下の7通りのフィールド内補間画素を生成して補間画素生成部172に出力する。
intra_0=ref(0,0,0) ・・・(22)
intra_1=1/2×ref(0,0,0)+1/2×ref(0,1,0) ・・・(23)
intra_m15=3/8×ref(0,−1,0)+5/8×ref(0,0,0) ・・・(24)
intra_m05=1/8×ref(0,−1,0)+7/8×ref(0,0,0) ・・・(25)
intra_05=7/8×ref(0,0,0)+1/8×ref(0,1,0) ・・・(26)
intra_15=5/8×ref(0,0,0)+3/8×ref(0,1,0) ・・・(27)
intra_25=3/8×ref(0,0,0)+5/8×ref(0,1,0) ・・・(28)
intra_0は、中心画素である。
intra_1=1/2×ref(0,0,0)+1/2×ref(0,1,0) ・・・(23)
intra_m15=3/8×ref(0,−1,0)+5/8×ref(0,0,0) ・・・(24)
intra_m05=1/8×ref(0,−1,0)+7/8×ref(0,0,0) ・・・(25)
intra_05=7/8×ref(0,0,0)+1/8×ref(0,1,0) ・・・(26)
intra_15=5/8×ref(0,0,0)+3/8×ref(0,1,0) ・・・(27)
intra_25=3/8×ref(0,0,0)+5/8×ref(0,1,0) ・・・(28)
intra_0は、中心画素である。
intra_1は、444モードまたは422モードでは、中心画素の1ライン下の位置の補間画素であり、420モードでは、中心画素の2ライン下の位置の補間画素である。このintra_1は、420−422変換モードでは使用されない。
intra_m15は、420−422変換モードのみで使用され、中心画素の1.5ライン上の位置の補間画素である。
intra_m05は、420−422変換モードのみで使用され、中心画素の0.5ライン上の位置の補間画素である。
intra_05は、420−422変換モードのみで使用され、中心画素の0.5ライン下の位置の補間画素である。
intra_15は、420−422変換モードのみで使用され、中心画素の1.5ライン下の位置の補間画素である。
intra_25は、420−422変換モードのみで使用され、中心画素の2.5ライン下の位置の補間画素である。
フィールド間演算部171は、ベクトル(X,Y)を用いて、以下の4通りのフィールド間補間画素を生成して補間画素生成部172に出力する。この(X,Y)は、図17に示す画素の座標に合わせて垂直成分を補正した動きベクトルと見なすことができる。
inter_1=1/2×ref(−X,−Y,−1)+1/2×ref(X,Y,1) ・・・(29)
inter_m15=1/2×(7/8×ref(−X,−Y−1,−1)+1/8×ref(−X,−Y,−1))+1/2×(7/8×ref(X,Y−1,1)+1/8×ref(X,Y,1))・・・(30)
inter_15=1/2×(1/8×ref(−X,−Y−1,−1)+7/8×ref(−X,−Y,−1))+1/2×(1/8×ref(X,Y−1,1)+7/8×ref(X,Y,1))・・・(31)
inter_25=1/2×(7/8×ref(−X,−Y,−1)+1/8×ref(−X,−Y+1,−1))+1/2×(7/8×ref(X,Y,1)+1/8×ref(X,Y+1,1))・・・(32)
inter_1は、444モードまたは422モードでは、中心画素の1ライン下の位置のフィールド間動き補償補間画素であり、420モードでは、中心画素の2ライン下の位置のフィールド間動き補償補間画素である。このinter_1は、420−422変換モードでは使用されない。
inter_m15=1/2×(7/8×ref(−X,−Y−1,−1)+1/8×ref(−X,−Y,−1))+1/2×(7/8×ref(X,Y−1,1)+1/8×ref(X,Y,1))・・・(30)
inter_15=1/2×(1/8×ref(−X,−Y−1,−1)+7/8×ref(−X,−Y,−1))+1/2×(1/8×ref(X,Y−1,1)+7/8×ref(X,Y,1))・・・(31)
inter_25=1/2×(7/8×ref(−X,−Y,−1)+1/8×ref(−X,−Y+1,−1))+1/2×(7/8×ref(X,Y,1)+1/8×ref(X,Y+1,1))・・・(32)
inter_1は、444モードまたは422モードでは、中心画素の1ライン下の位置のフィールド間動き補償補間画素であり、420モードでは、中心画素の2ライン下の位置のフィールド間動き補償補間画素である。このinter_1は、420−422変換モードでは使用されない。
inter_m15は、420−422変換モードのみで使用され、中心画素の1.5ライン上の位置のフィールド間動き補償補間画素である。
inter_15は、420−422変換モードのみで使用され、中心画素の1.5ライン下の位置のフィールド間動き補償補間画素である。
inter_25は、420−422変換モードのみで使用され、中心画素の2.5ライン下の位置のフィールド間動き補償補間画素である。
補間画素生成部172は、フィールド内演算部170から出力されるフィールド内補間画素およびフィールド間演算部171から出力されるフィールド間補間画素を用いて、以下のようにR_outおよびI_outを生成して出力する。
(1)modeが444モード、422モードまたは420モードの場合
R_out=intra_0 ・・・(33)
I_out=K×inter_1+(1−K)×intra_1 ・・・(34)
(2)modeが420−422変換モードの場合
(2.1)phase%4=0の場合
R_out=intra_m05 ・・・(35)
I_out=intra_05 ・・・(36)
(2.2)phase%4=1の場合
R_out=K_1d×inter_m15+(1−K_1d)×intra_m15 ・・・(37)
I_out=intra_m05 ・・・(38)
(2.3)phase%4=2の場合
R_out=K_1d×inter_15+(1−K_1d)×intra_15 ・・・(39)
I_out=K×inter_25+(1−K)×intra_25 ・・・(40)
(2.4)phase%4=3の場合
R_out=intra_05 ・・・(41)
I_out=K×inter_15+(1−K)×intra_15 ・・・(42)
以上説明した画素補間部105の動作をまとめ、それぞれのmodeおよびphaseにおけるY_refおよびC_ref内の画素と、Y_R、Y_I、C_RおよびC_Iに出力される補間画素の垂直位置関係を示すと、図18〜図20のようになる。図18〜図20に記載された数字は垂直ライン位置を示している。なお、斜線が施された箇所は、その状態において参照されない画素またはデータを示している。
R_out=intra_0 ・・・(33)
I_out=K×inter_1+(1−K)×intra_1 ・・・(34)
(2)modeが420−422変換モードの場合
(2.1)phase%4=0の場合
R_out=intra_m05 ・・・(35)
I_out=intra_05 ・・・(36)
(2.2)phase%4=1の場合
R_out=K_1d×inter_m15+(1−K_1d)×intra_m15 ・・・(37)
I_out=intra_m05 ・・・(38)
(2.3)phase%4=2の場合
R_out=K_1d×inter_15+(1−K_1d)×intra_15 ・・・(39)
I_out=K×inter_25+(1−K)×intra_25 ・・・(40)
(2.4)phase%4=3の場合
R_out=intra_05 ・・・(41)
I_out=K×inter_15+(1−K)×intra_15 ・・・(42)
以上説明した画素補間部105の動作をまとめ、それぞれのmodeおよびphaseにおけるY_refおよびC_ref内の画素と、Y_R、Y_I、C_RおよびC_Iに出力される補間画素の垂直位置関係を示すと、図18〜図20のようになる。図18〜図20に記載された数字は垂直ライン位置を示している。なお、斜線が施された箇所は、その状態において参照されない画素またはデータを示している。
図18は、modeが422モードの場合の画素補間部105の動作を説明するための図である。図18(a)に示すように、phaseが2nであり、Y_refおよびC_ref内の画素が図に示す状態の場合には、Y_RおよびC_Rとしてライン8の画素が出力され、Y_IおよびC_Iとして補間されたライン9の画素が出力される。このとき、MV位置として、ライン9に対応した動きベクトルMVが入力され、ライン7に対応した1ライン遅延の動きベクトルMV_1dが入力される。
また、図18(b)に示すように、phaseが2n+1であり、Y_refおよびC_ref内の画素が図に示す状態の場合には、Y_RおよびC_Rとしてライン9の画素が出力され、Y_IおよびC_Iとして補間されたライン10の画素が出力される。このとき、MV位置として、ライン10に対応した動きベクトルMVが入力され、ライン8に対応した1ライン遅延の動きベクトルMV_1dが入力される。
図19は、modeが420モードの場合の画素補間部105の動作を説明するための図である。図19(a)に示すように、phaseが4nであり、Y_refおよびC_ref内の画素が図に示す状態の場合には、Y_Rとしてライン8の輝度データが出力され、Y_Iとして補間されたライン9の輝度データが出力される。また、C_Rとしてライン8.5の色差データが出力され、C_Iとして補間されたライン10.5の色差データが出力される。このとき、MV位置として、ライン9に対応した動きベクトルMVが入力され、ライン7に対応した1ライン遅延の動きベクトルMV_1dが入力される。
なお、C_ref内にライン8.5に対応する色差データが存在するため、C_Rとしてライン8.5に対応する色差データがそのまま出力される。また、C_Iとして補間画素であるライン10.5の色差データも出力されるが、この補間画素の色差データは使用されない。
図19(b)に示すように、phaseが4n+1であり、Y_refおよびC_ref内の画素が図に示す状態の場合には、Y_Rとしてライン9の輝度データが出力され、Y_Iとして補間されたライン10の輝度データが出力される。また、C_Rとしてライン10.5の色差データが出力され、C_Iとして補間されたライン12.5の画素が出力される。このとき、MV位置として、ライン10に対応した動きベクトルMVが入力され、ライン8に対応した1ライン遅延の動きベクトルMV_1dが入力される。
なお、C_ref内にライン10.5に対応する色差データが存在するため、C_Rとしてライン10.5に対応する色差データがそのまま出力される。また、C_Iとして補間画素であるライン12.5の色差データも出力されるが、この補間画素の色差データは使用されない。
図19(c)に示すように、phaseが4n+2であり、Y_refおよびC_ref内の画素が図に示す状態の場合には、Y_Rとしてライン10の輝度データが出力され、Y_Iとして補間されたライン11の輝度データが出力される。また、C_Rとしてライン8.5の色差データが出力され、C_Iとして補間されたライン10.5の色差データが出力される。このとき、MV位置として、ライン11に対応した動きベクトルMVが入力され、ライン9に対応した1ライン遅延の動きベクトルMV_1dが入力される。
なお、C_ref内にライン10.5に対応する色差データが存在しないため、ライン10.5に対応した補間画素の色差データC_Iが生成される。このとき、フィールド間補間が行なわれる場合には、C_ref内の前フィールドおよび後フィールドのライン6.5、10.5、14.5の色差データが参照され得る。また、フィールド内補間が行なわれる場合には、C_ref内の現フィールドのライン8.5、12.5の色差データが参照され得る。C_Rとしてライン8.5に対応する色差データも出力されるが、この色差データは使用されない。
図19(d)に示すように、phaseが4n+3であり、Y_refおよびC_ref内の画素が図に示す状態の場合には、Y_Rとしてライン11の輝度データが出力され、Y_Iとして補間されたライン12の輝度データが出力される。また、C_Rとしてライン10.5の色差データが出力され、C_Iとして補間されたライン12.5の色差データが出力される。このとき、MV位置として、ライン12に対応した動きベクトルMVが入力され、ライン10に対応した1ライン遅延の動きベクトルMV_1dが入力される。
なお、C_ref内にライン12.5に対応する色差データが存在しないため、ライン12.5に対応した補間画素の色差データC_Iが生成される。このとき、フィールド間補間が行なわれる場合には、C_ref内の前フィールドおよび後フィールドのライン8.5、12.5、16.5の色差データが参照され得る。また、フィールド内補間が行なわれる場合には、C_ref内の現フィールドのライン10.5、14.5の色差データが参照され得る。C_Rとしてライン10.5に対応する色差データも出力されるが、この色差データは使用されない。
図20は、modeが420−422変換モードの場合の画素補間部105の動作を説明するための図である。図20(a)に示すように、phaseが4nであり、Y_refおよびC_ref内の画素が図に示す状態の場合には、Y_Rとしてライン8の輝度データが出力され、Y_Iとして補間されたライン9の輝度データが出力される。また、C_Rとして補間されたライン8の色差データが出力され、C_Iとして補間されたライン9の色差データが出力される。このとき、MV位置として、ライン9に対応した動きベクトルMVが入力される。また、ライン7に対応した1ライン遅延の動きベクトルMV_1dも入力されるが、使用されない。
なお、C_ref内にライン8、9に対応する色差データが存在しないため、ライン8、9に対応した補間画素の色差データC_R、C_Iがフィールド内補間によって生成される。フィールド内補間が行なわれるときに、C_ref内の現フィールドのライン4.5、8.5、12.5の色差データが参照される。
図20(b)に示すように、phaseが4n+1であり、Y_refおよびC_ref内の画素が図に示す状態の場合には、Y_Rとしてライン9の輝度データが出力され、Y_Iとして補間されたライン10の輝度データが出力される。また、C_Rとして補間されたライン9の色差データが出力され、C_Iとして補間されたライン10の色差データが出力される。このとき、MV位置として、ライン10に対応した動きベクトルMVが入力され、ライン8に対応した1ライン遅延の動きベクトルMV_1dが入力される。
なお、C_ref内にライン9、10に対応する色差データが存在しないため、ライン9、10に対応した補間画素の色差データC_R、C_Iがフィールド内補間およびフィールド間補間によって生成される。フィールド内補間が行なわれるときに、C_ref内の現フィールドのライン6.5、10.5の色差データが参照される。また、フィールド間補間が行なわれるときに、C_ref内の前フィールドおよび後フィールドのライン4.5、8.5、12.5、16.5の色差データが参照され得る。
図20(c)に示すように、phaseが4n+2であり、Y_refおよびC_ref内の画素が図に示す状態の場合には、Y_Rとしてライン10の輝度データが出力され、Y_Iとして補間されたライン11の輝度データが出力される。また、C_Rとして補間されたライン10の色差データが出力され、C_Iとして補間されたライン11の色差データが出力される。このとき、MV位置として、ライン11に対応した動きベクトルMVが入力され、ライン9に対応した1ライン遅延の動きベクトルMV_1dが入力される。
なお、C_ref内にライン10、11に対応する色差データが存在しないため、ライン10、11に対応した補間画素の色差データC_R、C_Iがフィールド内補間およびフィールド間補間によって生成される。フィールド内補間が行なわれるときに、C_ref内の現フィールドのライン8.5、12.5の色差データが参照される。また、フィールド間補間が行なわれるときに、C_ref内の前フィールドおよび後フィールドのライン2.5、6.5、10.5、14.5、18.5の色差データが参照され得る。
図20(d)に示すように、phaseが4n+3であり、Y_refおよびC_ref内の画素が図に示す状態の場合には、Y_Rとしてライン11の輝度データが出力され、Y_Iとして補間されたライン12の輝度データが出力される。また、C_Rとして補間されたライン11の色差データが出力され、C_Iとして補間されたライン12の色差データが出力される。このとき、MV位置として、ライン12に対応した動きベクトルMVが入力される。また、ライン10に対応した1ライン遅延の動きベクトルMV_1dも入力されるが、使用されない。
なお、C_ref内にライン11、12に対応する色差データが存在しないため、ライン11、12に対応した補間画素の色差データC_R、C_Iがフィールド内補間およびフィールド間補間によって生成される。フィールド内補間が行なわれるときに、C_ref内の現フィールドのライン10.5、14.5の色差データが参照される。また、フィールド間補間が行なわれるときに、C_ref内の前フィールドおよび後フィールドのライン4.5、8.5、12.5、16.5の色差データが参照され得る。
図21は、倍速変換部106の構成例を示す図である。この倍速変換部106は、ラインメモリ190〜197と、セレクタ198および199と、スイッチ201〜208とを含む。
たとえば、ラインメモリ190および191は、Y_R用のダブルバッファとして使用される。ラインメモリ190および191に交互に1ライン分のデータが入力されるように、スイッチ201が切り替えられる。また、ラインメモリ190および191からのデータ出力は倍速で行なわれ、交互に1ライン分のデータが出力されるように、スイッチ205が切り替えられる。
ラインメモリ190または191へのデータ入力と、ラインメモリ190または191からのデータ出力とは排他的に行なわれる。すなわち、ラインメモリ190にデータが入力されている場合には、スイッチ205によってラインメモリ191がセレクタ198に接続され、ラインメモリ191のデータがセレクタ198に出力される。また、ラインメモリ191にデータが入力されている場合には、スイッチ205によってラインメモリ190がセレクタ198に接続され、ラインメモリ190のデータがセレクタ198に出力される。
同様にして、ラインメモリ192および193がY_I用のダブルバッファとして使用され、ラインメモリ194および195がC_R用のダブルバッファとして使用され、ラインメモリ196および197がC_I用のダブルバッファとして使用される。スイッチ202〜204および206〜208の切り替えは、スイッチ201および202の切り替えと同様である。
セレクタ198は、Y_RのデータとY_Iのデータとを交互に選択し、Y_outとして出力する。また、セレクタ199は、C_RのデータとC_Iのデータとを交互に選択し、C_outとして出力する。
図22は、444モード、422モードまたは420−422変換モードの場合の倍速変換部106の動作を説明するためのタイミングチャートである。図22(a)は、補間対象が偶数フィールドの場合を示している。たとえば、phase=0において、ライン0のY_Rのデータがラインメモリ190に格納され、ライン1のY_Iのデータがラインメモリ192に格納される。
次のphase=2において、ライン2のY_Rのデータがラインメモリ191に格納されると共に、ラインメモリ190からライン0のY_Rのデータが出力される。また、ライン3のY_Iのデータがラインメモリ193に格納されると共に、ラインメモリ192からライン1のY_Iのデータが出力される。
セレクタ198は、ラインメモリ190から出力されるライン0のY_Rのデータと、ラインメモリ192から出力されるライン1のY_Iのデータとを切り替えて、Y_outとして出力する。なお、C_RおよびC_Iについても同様の動作が行なわれる。
図22(b)は、補間対象が奇数フィールドの場合を示している。たとえば、phase=1において、ライン1のY_Rのデータがラインメモリ190に格納され、ライン2のY_Iのデータがラインメモリ192に格納される。
次のphase=3において、ライン3のY_Rのデータがラインメモリ191に格納されると共に、ラインメモリ190からライン1のY_Rのデータが出力される。また、ライン4のY_Iのデータがラインメモリ193に格納されると共に、ラインメモリ192からライン2のY_Iのデータが出力される。
セレクタ198は、ラインメモリ190から出力されるライン1のY_Rのデータと、ラインメモリ192から出力されるライン2のY_Iのデータとを切り替えて、Y_outとして出力する。なお、C_RおよびC_Iについても同様の動作が行なわれる。
このように、Y_R、Y_I、C_RおよびC_Iのデータをバッファリングし、次のライン期間の前半にY_RおよびC_Rのデータを出力し、後半にY_IおよびC_Iのデータを出力するといった動作を繰り返す。
図23は、420モードの場合の倍速変換部106の動作を説明するためのタイミングチャートである。図23(a)は、補間対象が偶数フィールドの場合を示している。また、図23(b)は、補間対象が奇数フィールドの場合を示している。輝度データY_RおよびY_Iのデータの処理については、図22のタイミングチャートに示す動作と同様である。
図23において、斜線が施された輝度データは使用されないことを示している。色差データC_RおよびC_Iの処理については、以下のようになる。
(1)phase%4=0でラインメモリに格納されたC_Rのデータが、次のライン期間の前半で出力され、後半には輝度データが出力されない。
(2)phase%4=1でラインメモリに格納されたC_Rのデータが、次のライン期間の後半で出力され、前半には輝度データが出力されない。
(3)phase%4=2でラインメモリに格納されたC_Iのデータが、次のライン期間の前半で出力され、後半には輝度データが出力されない。
(4)phase%4=3でラインメモリに格納されたC_Iのデータが、次のライン期間の後半で出力され、前半には輝度データが出力されない。
以上説明したように、本実施の形態におけるIP変換装置によれば、420モードにおいて、色差補間部161内の論理回路173が、MVx(動きベクトルの水平成分)が2の倍数で、かつMVy(動きベクトルの垂直成分)が4の倍数の場合に、動き補償混合比kを有効として補間画素生成部172に出力する。また、論理回路179がMVyを1/4とし、セレクタ180がそれを選択してフィールド間演算部171に出力する。フィールド間演算部171は、中心画素の2ライン下のフィールド間動き補償補間画素inter_1を計算して補間画素生成部172に出力する。そして、補間画素生成部172が、有効な動き補償混合比kとinter_1とに基づいてI_outを生成して出力するようにした。
これによって、420モードの特定の条件において補間位置に近い位置の動きベクトルを用いてフィールド間補間が行なえるようになり、適切な動きベクトルが存在する場合には、プログレッシブ画像の色差の解像度を向上させることが可能となった。
また、420−422変換モードにおいて、色差補間部161内の論理回路173が、MVxが2の倍数で、かつMVyが4の倍数の場合に、動き補償混合比kを有効として補間画素生成部172に出力する。また、論理回路174〜176は、動きベクトルMVと1つ上の動きベクトルMV_1dとが等しい場合に、1つ上の動き補償混合比k_1dを有効として論理回路177に出力する。論理回路177は、k_1dをk以下にクリップする。また、論理回路179がMVyを1/4とし、セレクタ180がそれを選択してフィールド間演算部171に出力する。フィールド間演算部171は、中心画素の1.5ライン上、1.5ライン下、および2.5ライン下のフィールド間動き補償補間画素inter_m15、inter_15、およびinter_25を計算して補間画素生成部172に出力する。そして、補間画素生成部172が、有効な動き補償混合比kおよびk_1dと、inter_m15、inter_15、およびinter_25とに基づいてI_outを生成して出力するようにした。
これによって、420−422変換モードの特定の条件において補間位置に近い位置の動きベクトルを用いてフィールド間補間が行なえるようになり、適切な動きベクトルが存在する場合には、プログレッシブ画像の色差の解像度を向上させることが可能となった。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 動き補償補間回路、101 入力画像用メモリ、102 輝度遅延部、103 色差遅延部、104 動き検出部、105 画素補間部、106 倍速変換部、107 補間モード制御部、110,111 1フィールド遅延部、120 出力画像用メモリ、130 ライン遅延用メモリ、140〜146 (18+D)段シフトレジスタ、150,151 1ライン遅延部、160 輝度補間部、161 色差補間部、170 フィールド内演算部、171 フィールド間演算部、172 補間画素生成部、173〜179 論理回路、180 セレクタ、190〜197 ラインメモリ、198,199 セレクタ、201〜208 スイッチ。
Claims (13)
- 輝度データのライン位置が色差データのライン位置とずれている色フォーマットのインタレース方式の入力画像を、プログレッシブ方式の出力画像に変換する半導体装置であって、
輝度データの動きベクトルを検出する動き検出手段と、
輝度データを遅延させることによって、補間対象の画素の輝度データを生成するときの参照範囲の輝度データを生成する輝度遅延手段と、
前記動き検出手段によって検出された動きベクトルを参照して、前記輝度遅延手段によって生成された参照範囲の輝度データから補間対象の画素の輝度データを生成する輝度補間手段と、
色差データを遅延させることによって、補間対象の画素の色差データを生成するときの参照範囲の色差データを生成する色差遅延手段と、
前記動き検出手段によって検出された動きベクトルを参照して、前記色差遅延手段によって生成された参照範囲の色差データから補間対象の画素の色差データを生成する色差補間手段とを含み、
前記色差補間手段は、色差データを補間する画素位置に動きベクトルが存在しない場合には、最も近い動きベクトルを参照して動き補償補間を行なう、半導体装置。 - 前記入力画像は4:2:0形式の画像データであり、前記出力画像は4:2:0形式の画像データである、請求項1記載の半導体装置。
- 前記色差補間手段は、色差データを補間する画素位置に動きベクトルが存在しない場合には、色差データを補間する画素位置と水平位置が同じであり、かつ垂直位置が0.5ライン以内の動きベクトルを参照して動き補償補間を行なう、請求項1または2記載の半導体装置。
- 前記色差補間手段は、色差データを補間する画素位置に動きベクトルが存在しない場合には、色差データを補間する画素位置と水平位置が同じであり垂直位置が0.5ライン以内の動きベクトルを抽出し、当該動きベクトルの水平成分が2の倍数であり、かつ垂直成分が4の倍数の場合には、当該動きベクトルを参照して動き補償補間を行なう、請求項3記載の半導体装置。
- 前記色差補間手段は、動き補償補間を行なう際に、前記色差遅延手段によって生成された前フィールドおよび後フィールドの色差データの中の当該動きベクトルに対応する色差データを用いてフィールド間補間を行なう、請求項4記載の半導体装置。
- 前記色差補間手段は、前記色差遅延手段によって生成された現フィールドの色差データの中でフィールド内補間を行ない、前記フィールド間補間によって生成された色差データと前記フィールド内補間によって生成された色差データとを、当該動きベクトルに対応する動き補償混合比で混合する、請求項5記載の半導体装置。
- 前記入力画像は4:2:0形式の画像データであり、前記出力画像は4:2:2形式の画像データである、請求項1記載の半導体装置。
- 前記色差補間手段は、色差データを補間する画素位置に動きベクトルが存在しない場合には、色差データを補間する画素位置と水平位置が同じであり、かつ垂直位置が1ライン上の位置に存在する動きベクトルと1ライン下の位置に存在する動きベクトルとが同じ場合に、当該動きベクトルを参照して動き補償補間を行なう、請求項1または7記載の半導体装置。
- 前記色差補間手段は、色差データを補間する画素位置に動きベクトルが存在しない場合であり、色差データを補間する画素位置と水平位置が同じであり、かつ垂直位置が1ライン上の位置に存在する動きベクトルと1ライン下の位置に存在する動きベクトルとが同じであれば、当該動きベクトルの水平成分が2の倍数であり、かつ垂直成分が4の倍数の場合に、当該動きベクトルを参照して動き補償補間を行なう、請求項8記載の半導体装置。
- 前記色差補間手段は、動き補償補間を行なう際に、前記色差遅延手段によって生成された前フィールドの色差データを用いて当該動きベクトルに対応する位置の色差データを補間し、前記色差遅延手段によって生成された後フィールドの色差データを用いて当該動きベクトルに対応する位置の色差データを補間して、フィールド間補間を行なう、請求項9記載の半導体装置。
- 前記色差補間手段は、前記色差遅延手段によって生成された現フィールドの色差データの中でフィールド内補間を行ない、前記フィールド間補間によって生成された色差データと前記フィールド内補間によって生成された色差データとを、当該動きベクトルに対応する動き補償混合比で混合する、請求項10記載の半導体装置。
- 前記色差補間手段は、色差データを補間する画素位置に動きベクトルが存在する場合には、当該動きベクトルを参照して動き補償補間を行なう、請求項1または7記載の半導体装置。
- 前記色差補間手段は、色差データを補間する画素位置に動きベクトルが存在する場合であり、当該動きベクトルの水平成分が2の倍数であり、かつ垂直成分が4の倍数の場合には、当該動きベクトルを参照して動き補償補間を行なう、請求項12記載の半導体装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010219209A JP2012074990A (ja) | 2010-09-29 | 2010-09-29 | 半導体装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010219209A JP2012074990A (ja) | 2010-09-29 | 2010-09-29 | 半導体装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012074990A true JP2012074990A (ja) | 2012-04-12 |
Family
ID=46170731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010219209A Withdrawn JP2012074990A (ja) | 2010-09-29 | 2010-09-29 | 半導体装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012074990A (ja) |
-
2010
- 2010-09-29 JP JP2010219209A patent/JP2012074990A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7057665B2 (en) | Deinterlacing apparatus and method | |
US6414719B1 (en) | Motion adaptive median filter for interlace to progressive scan conversion | |
JP2832927B2 (ja) | 走査線補間装置及び走査線補間用動きベクトル検出装置 | |
JP5177828B2 (ja) | 画像レート変換方法及び画像レート変換装置 | |
JP2001054075A (ja) | 画像信号の動き補償走査変換回路 | |
KR20040009967A (ko) | 디인터레이싱장치 및 방법 | |
JP4933209B2 (ja) | 映像処理装置 | |
JPH0746861B2 (ja) | テレビジヨン画像の動き補正装置 | |
JP4772562B2 (ja) | プルダウン信号検出装置およびプルダウン信号検出方法並びに順次走査変換装置および順次走査変換方法 | |
JP4031389B2 (ja) | 画像変換装置および画像変換方法 | |
US8134643B2 (en) | Synthesized image detection unit | |
US7215377B2 (en) | Image signal processing apparatus and processing method | |
JP2013030862A (ja) | 画像処理装置、画像処理方法および画像表示装置 | |
TWI471010B (zh) | 一種具有移動補償的解交錯影像處理裝置及其相關方法 | |
KR20040029161A (ko) | 이미지 프로세서 및 상기 이미지 프로세서를 구비한이미지 디스플레이 장치 | |
JP4031390B2 (ja) | 画像変換装置および画像変換方法 | |
JP4226939B2 (ja) | 順次走査変換装置及び順次走査変換方法 | |
JP2003289511A (ja) | 画像走査変換方法及び装置 | |
JP2012074990A (ja) | 半導体装置 | |
JP3887346B2 (ja) | 映像信号処理装置及び映像信号処理方法、映像表示装置 | |
KR100594780B1 (ko) | 영상변환 장치 및 그 방법 | |
JP4910579B2 (ja) | 画像信号処理装置、画像信号処理方法、およびプログラム | |
JPH11331782A (ja) | 信号変換装置 | |
JP4016646B2 (ja) | 順次走査変換装置及び順次走査変換方法 | |
US8243196B2 (en) | Motion adaptive image processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20131203 |