一般に動画像は、それ自体持っている情報量が莫大である。そのために動画像の符号化に際しては、直交変換[離散コサイン変換(Discrete Cosine Transform)]処理や可変長符号化を利用して空間方向の冗長度を落とすことが行われる。さらに、時間的に前後の画面との差分を採り差分情報を符号化することにより時間方向の冗長度も落としている。
ここで、以降の説明の理解のために画像の構成について説明しておく。
1枚の画面(フレーム)を1ラインおきに走査し、奇ラインのみで構成される奇フィールドと、偶ラインのみで構成される偶フィールドの2枚のフィールドで構成するインターレース画像が、現行TVフォーマット(日米はNTSC:National Television System Committee, 欧州はPAL:Phase Alternation by Line等)において用いられている。
MPEG−2(Moving Picture Experts Group)は、インターレース画像の符号化にも対応した符号化方式であり、ピクチャ構造及び、ピクチャ間動き予測等でフレーム/フィールドを意識した符号化を行なっている。以下これらについて説明する。
MPEG−2では、ピクチャとしてフレームを割り当てることも、フィールドを割り当てることもできる。ピクチャにフレームを割り当てられた場合をフレーム構造(ストラクチャ)といい、フィールドを割り当てた場合をフィールド構造(ストラクチャ)という。符号化は、ピクチャをマクロブロック(MB)単位に行われる。
図26において、フレームストラクチャのマクロブロックMB1、フィールドストラクチャの奇フィールドのマクロブロックMB2及び、偶フィールドのマクロブロックMB3が示される。各マクロブロック(MB)は、例えば、16×16画素で構成される。
MPEG−2では、更にインターレース画像を符号化するのに適したフレーム予測とフィールド予測があり、動きベクトルはフレーム予測に対して1本、フィールド予測に対して2本用いられる。
ここで上記の時間方向の冗長度削減の方法として、ピクチャ間の予測をどの範囲まで用いるかによって、大きく次の3つの符号化方法に分けることが出来る。
第1はピクチャ内で符号化を行う(ピクチャ内符号化)方法であり、第2は、前方向からのピクチャ間予測も用いて符号化を行なう(ピクチャ間順方向予測符号化)方法である。さらに、第3は、更に後方向及び、前方向を組み合わせた両方向ピクチャ間予測も用いて符号化を行なう(双方向予測符号化)方法である。
上記第1の符号化方法でのピクチャをIピクチャ(Intra-Picture)、第2の方法でのピクチャをPピクチャ(Predictive-Picture)、第3の符号化方法でのピクチャをBピクチャ(Bi-directionally predictive-Picture)と呼ばれる。
また、各タイプのピクチャが他のピクチャからピクチャ間予測の参照画として使われるか否かという点で考えると、IピクチャやPピクチャは参照されるが、Bピクチャは参照されない。そこで、IピクチャとPピクチャをまとめて参照ピクチャを呼ぶことにする。
さらに、動画像の各ピクチャ間は時間的相関度が大きいため、前方ピクチャとの相関を利用したPピクチャはIピクチャよりも冗長度を落とすことが可能である。また、後方ピクチャとの相関を利用したBピクチャはPピクチャよりも冗長度を落とすことが可能である。
すなわち、同画質時のピクチャの情報量を見るとIピクチャ>Pピクチャ>Bピクチャという関係になっている。また、参照ピクチャは、少なくとも他のピクチャからの動き予測に使われ、予測画面を生成する元になりうるので、出来るだけ高画質である事が望まれる。
その意味からも情報量は、参照ピクチャ>非参照ピクチャであることが望ましい。
しかしながら、情報量が少ないPピクチャやBピクチャばかりを用いて符号化を行えば効率が良いとは言えない。なぜならば、エラー等が発生した場合は、PピクチャやBピクチャのピクチャ間符号化では、エラーが時間方向に伝搬してしまう。
このため不都合が生じるので周期的にIピクチャでリフレッシュすることが望ましい。実際には、Bピクチャを用いて符号化する場合は、図27に示すように、ピクチャタイプを変更して符号化を行うのが一般的である。
以降説明する図面においても同様であるが、図27において、BはBピクチャ、IはIピクチャ、PはPピクチャを示す。また、ピクチャ間予測の矢印は、矢印の根元のピクチャを用いて矢印の先のピクチャの予測画面を生成するという意味である。
ちなみに、図27の例ではGOP(Group of Pictures)サイズが12ピクチャ即ち、Iピクチャでのリフレッシュが12ピクチャ毎に行われる。そして、各参照ピクチャ間の距離が3ピクチャとなっている。
さらに、ピクチャ間予測は、先に説明したようにピクチャをいくつかのブロックに分割したマクロブロック単位に行われる、符号化ピクチャのマクロブロックを参照ピクチャの同じ大きさのブロックと画素単位の差分量を求める。
そして、その累積和を予測誤差として最も予測誤差が小さいブロックを取り予測画面を生成する。次いで、符号化マクロブロックとの差分情報を符号化する。差分量としては、単純な画素差分の絶対値和や画素差分の二乗和などが用いられる。
ここで、Iピクチャを多用した場合は同じシーン(場面)を同画質で符号化するので、符号化情報量が増大し好ましくない。固定レートで符号化を行う場合は、その分ピクチャ単位の情報量割り当てが少なくなり画質が悪くなるということになる。
シーンチェンジ(場面変更)等のピクチャ間の相関が低い場合は、ピクチャ間予測を使うと予測効率が悪く、場合によっては、ピクチャ内符号化を行う場合よりも、画質が悪くなるということもある。
したがって、かかる不都合に対する対策として、ある固定間隔毎にIピクチャで符号化を行う場合であっても、図28に示すようにシーンチェンジSCが検出された場合、その直後のピクチャでは、Iピクチャ等のピクチャ内符号化を使って符号化するという方法が提案されていた。
この方法では、シーンチェンジが発生する度に、Iピクチャやピクチャ内符号化を行うピクチャが発生するので、やはりその分の符号化情報量が増大するので好ましくない。
また、Iピクチャの頻度を出来るだけ増加させない為に、図29に示すように、シーンチェンジが発生すると、これまでのIピクチャの固定間隔周期のカウント値をリセットする。そして、リセット時のピクチャからGOPの再構成をして、固定間隔周期のIピクチャ(例えば、GOPサイズ=12)で符号化するという方法がある。
あるいは、図30に示す様にBピクチャでシーンチェンジが発生した場合は、そのBピクチャでなく、入力順で直後に来る参照ピクチャをIピクチャもしくはフレーム内符号化にして、前後の参照ピクチャからのピクチャ間予測を用いて行うという方法も考えられる。
しかし、図30に示す例の場合では、特に入出力機器まで含めてリアルタイムに符号化処理をハードウェアで実現することを想定すると、参照ピクチャの現れる周期は,全く検討がつかない。したがって、参照ピクチャが固定周期で現れる場合に較べ、ピクチャのメモリ管理が困難となる。
また情報量割り当ての面から見ても、BピクチャからIピクチャに変更するより、PピクチャからIピクチャへの変更の方が、情報量割り当ての大幅な変動がないという面でストリームバッファがアンダーフローやオーバーフローの状態になり難い。結果として、図30の方法が好ましいと思われる。
しかしながら、図30に示すような制御方法でも以下の様な問題がある。
ここで、図31は、かかる図30における問題点を説明するために用意された図である。説明の容易化のために符号化ピクチャであるBピクチャと前方向参照ピクチャ、後方向参照ピクチャ以外は示されていない。
一般にフレームをピクチャとして符号化を行うフレームストラクチャの場合は、ピクチャ間予測として、フレーム間予測とフィールド間予測が行われる。
さらに詳しく説明すると、フレーム予測の中で、前方向予測、後方向予測、その両方の予測で得られた予測画像を組み合わせた画像で予測する両方向予測の3つがある。フィールド間予測の中でも同様に、前方向予測、後方向予測、その両方の予測で得られた予測画像を組み合わせた画像で予測する両方向予測の3つがある。
図31に示した動きベクトルの参照番号の中で、番号5、10がフレームベクトルである。番号1、2、3、4、6、7、8、9がフィールド予測である。なお、図31において、左フィールドが奇数フィールドであり、右フィールドが偶フィールドとして示している。
フレーム予測で前方向予測を用いる場合に選択されるベクトルは番号5で、後方向予測を用いる場合に選択されるベクトルは番号10のベクトルである。両方向予測を用いる場合は、番号5と10の両方のベクトルが用いられる。
一方、フィールド予測では、奇偶各々のフィールド毎に動きベクトルを用いて予測画面を生成する。
前方向予測の場合は、Bピクチャの奇フィールドは番号1又は2の動きベクトルを用いて予測画面を生成し、偶フィールドは番号3又は4の動きベクトルを用いて予測画面を生成する。
同様に後方向予測の場合は、奇フィールドは番号6又は7の動きベクトルを用い、偶フィールドは番号8又は9の動きベクトルを用いる。両方向予測の場合は、奇フィールドは番号1又は2の動きベクトルを用いて生成された前方向予測画面と、番号6又は7の動きベクトルも用いて生成された後方向予測画面を組み合わせて参照画面を生成する。
偶フィールドは番号3又は4の動きベクトルを用いて生成された前方向予測画面と、番号8又は9の動きベクトルを用いて生成された後方向予測画面を組み合わせて参照画面を生成する。
以上が、現在MPEG−2などの動画像符号化方式で用いられている動き予測の方法である。しかし、シーンチェンジがインターレースフレーム内の奇/偶フィールド間で発生した場合は、現在の動画像符号化方式のアルゴリズムでは、フレーム構造符号化を行っている限り、フィールド予測で片フィールドは前方向予測、もう片フィールドは後方向予測を行うことは不可能である。
このために、当該ピクチャにおいて符号化効率が極端に低下し、画質の劣化が顕著となる。また、ピクチャ間で予測が当たらないためにBピクチャでピクチャ内符号化を行うマクロブロックが増えるのであれば、直後の参照ピクチャをIピクチャやピクチャ内符号化で行うという意味もなくなってしまう。
以下図面に従い、本発明の実施の形態を説明する。なお、図において、同一又は、類似のものには同一の参照番号又は、参照記号を付して説明する。なお,以下に説明する各実施例は本発明の理解のために例示されたものであり、本発明の保護の範囲はこれら限定されない。本発明思想から離れるものでない限り、特許請求の範囲に記載の構成と均等であるものも本発明の保護の範囲に含まれるものである。
図1は、本発明の第1の解決原理を説明する図である。図において、P,B,IはそれぞれPピクチャ、Bピクチャ及びIピクチャを示すことは、先の図26乃至図31で説明したと同様である。
図1の解決原理の特徴は、フレーム構造符号化時のBピクチャ時において予測モードを追加する点にある。一方の片フィールドは前方向予測、他方の片フィールドは後方向予測という予測を行うことを可能とすれば、効率良く予測を行うことが可能である。
図1において、図31との比較により明確なように、奇フィールドのBピクチャは前方向予測を行ない、偶フィールドのBピクチャは後方予測を行なっている。すなわち、奇フィールドは1又は2の動きベクトル、偶フィールドは8又は9の動きベクトルを使った予測が可能である。
さらに符号化において、動き予測モードを追加した場合には、その追加した予測モードが含まれていても復号出来る復号方式を用意することは必要である。
次に、本発明に従う第2の解決原理は予測モードを追加しない方法である。図2は、本発明の第2の解決原理を説明する図である。少なくとも該当のフレーム内フィールド間でシーンチェンジが検出されたBピクチャでは、そのフレームは2枚のフィールドピクチャとしてフィールド構造符号化を行うという方法である。
すなわち、図2に示されるように、Bピクチャの奇/遇フィールド間でシーンチェンジを検出した場合には、このBピクチャの奇/遇フィールドは、2枚のフィールドピクチャとして符号化処理を行なう。
このようにすると、2つのフィールドの片フィールドは前方向予測、他の片フィールドは後方向予測というピクチャ間予測が可能になり効率良く予測を行うことが可能になる。
さらに、第3の本発明の解決原理として、予測モードも追加せずに、ピクチャ構造も変更しない場合である。この場合は、効率的なピクチャ間予測を行うことは困難であるので、符号化ピクチャを前方向もしくは、後方向の参照画面にピクチャ間予測で貼り付け,あるいは入力信号を操作して実際の原画とは違う画面として符号化する。
これにより符号化効率を落とさない符号化を可能にする。例えば、図3に示す様に、少なくともフレーム内フィールド間でシーンチェンジが発生したピクチャ(図3ではピクチャB)において、そのピクチャを前方向参照画、もしくは後方向参照画と同一データとなるように符号化画面を符号化する。
図3の場合は、前方向参照ピクチャと同一データとなるように符号化を行っている。すなわち、表1に示すように、ピクチャBの入力の符号化では、ピクチャAと同一データとなるように符号化を行っている。ただし、特に一連するBピクチャが複数枚存在する場合は、より近い参照ピクチャと同一データと見做すことが好ましい。
また、時間的にみて符号化するBピクチャと参照ピクチャの間に他のBピクチャが存在する場合は、当該Bピクチャも参照ピクチャと同一データとして符号化することが好ましい。これは、符号化ストリームを再生する場合に画像の連続性が保たれるからである。
実際の符号化画像とは違う画面として符号化する方法としては、本発明に従う更に別の方法がある。図4に示す様にフレーム内フィールド間でシーンチェンジを検出した場合には、当該のフレームはそのピクチャの片方のフィールドを繰り返すという方法である。
これにより繰り返えされた後のシーンでは、シーンチェンジを、フレーム単位に変更することが出来る。このために、符号化効率が高くなる。この片フィールドを繰り返すという方法は、特に符号化に関係なく入力データだけを見て行うことも可能である。
次に上記の本発明の解決原理を実現する実施例について説明するが、その説明に先立って、本発明の理解の容易化のために、本発明の解決原理が適用される符号化装置の一般的な構成例を説明しておく。
図5は、本発明の解決原理が適用される符号化装置の一般的な構成例ブロック図を示す。符号化制御部1により、Iピクチャ、Pピクチャ、Bピクチャの順序が制御され、これに対応してスイッチSW1、SW2がピクチャ内符号化(intra)側あるいは、ピクチャ間符号化(inter)側に切りかえる。
符号化器2は、直交変換回路と量子化回路で構成される。これにより空間方向の圧縮と、データ構造によるデータ量削減が可能である。符号化器2からMPEG符号化されたデータ列が出力される。
一方、符号化器2の出力は復号化器3に入力し符号化器2の符号化処理に対応する復号化処理が行われる。そして、復号化された画像データはフレームメモリ4に格納され、動き探索及び動き補償処理に用いられる。
動き探索器5は、図6に示す構成例であり、図27に示した参照画の探索範囲にあるm個のマクロブロックのデータが各々入力されるm個の差分絶対値和演算回路51〜5mと、m個の差分絶対値和演算回路51〜5mの出力を入力し、最小値を選択出力するための比較器50を有する。
ここで、上記m個のマクロブロックは、例えば16×16画素を一つのマクロブロックの単位として、参照画の探索範囲において、1画素ずつ横方向、縦方向にシフトして得られる。
差分絶対値和演算回路51〜5mの各々の他の入力端には共通に、原画マクロブロックの各画素が入力される。
図6の差分絶対値和演算回路51〜5mの構成は共通であり、その構成例ブロック図が図7に示される。図7において、一つのマクロブロックを構成する画素数Nに対応した数の差回路512〜51N、絶対値演算回路521〜52Nを有する。
さらに、絶対値演算回路521〜52Nの出力を累積加算する累積加算器501を有する。ここで、上記のように、一つのマクロブロックを16×16画素で構成する場合は、Nは、246である。
図6において、比較器50は、複数m個のマクロブロックに対応する差分絶対値和加算回路51〜5mの出力を入力し、最小値の差分絶対値和加算回路51〜5mの出力を選択する。
すなわち、参照画探索範囲において最も原画マクロブロックと相関関係の深いマクロブロックを選択し、動き探索結果として動きベクトル(移動量)、差分絶対値和が出力される。
さらに、動き予測判定器6は、上記のように参照画と原画の差分絶対値和の最小値を出力するに当って、前方向にある即ち、過去の参照画との差分絶対値和の最小値、後方向にある即ち、未来の参照画との差分絶対値和の最小値及び、両方向の参照画との差分絶対値和の最小値を出力する。
さらに、参照画との差分絶対値和は、フレーム予測の場合のフレーム予測差分絶対値和と、フィールド予測の場合のフィールド予測差分絶対値和を出力する。
ここで、フレーム予測差分絶対値は、上記例では16×16画素差分絶対和最小値であり、フィールド予測差分絶対値は、奇ライン16×8画素差分絶対値和最小値と遇ライン16×8画素差分絶対値和の和である。
これらの差分絶対値が、動き予測判定器6に入力する。図8は、動き予測判定器6の構成例ブロック図である。前方予測、後方予測及び、両方向予測に対応して予測比較器60,61及び62がある。それぞれの予測比較器は、フレーム予測差分絶対値とフィールド予測差分絶対値を比較して、小さい方を出力する。
一方、符号化制御部1による制御により、Pピクチャ符号化又は、Bピクチャ符号化の切替え選択が制御される。Pピクチャ符号化時は、予測比較器60から選択されたフレーム予測差分絶対値又は、フィールド予測差分絶対値が予測結果として出力される。
また、Bピクチャ符号化の時は、予測比較器63において、予測比較器60,61及び62の出力が入力され、これらの最小値を選択して動き予測判定器6の出力として出力される。
ここで、動き予測判定器6における予測判定タイプと、動きベクトルを考えると、下記表2のとおりである。
動き予測判定器6の出力は、ピクチャ間符号化の時、符号化制御部1によりスイッチSW1が差回路7側に切換えられる。したがって、差回路7により入力画像データと動き予測判定器6の予測結果出力との差分が出力され、符号化器2に入力される。
次に、上記図5乃至図8の一般的符号化装置構成に対し、本発明の図1乃至図4において説明した本発明の解決原理を実現する構成を説明する。
図9は、本発明の第1の実施例として、上記本発明の第1の解決原理を実現する動き予測判定器6の構成例ブロック図である。本発明は、図8の動き予測判定器6の構成に対し、更に別の予測比較器64を設けている点に特徴を有する。
図9に示す実施例で実現されるフレームストラクチャ符号化は、図1において説明した本発明の第1の解決原理として、Bピクチャのフィールド予測において、片フィールドは前方向からの予測、他の片フィールドは後方向からの予測を行なう予測モードを追加したものである。
この予測モードを追加するために、シンタックス(データ列規則)上マクロブロック単位に追加ビットを必要とする可能性もある。したがって、この予測モードはピクチャ単位にオン/オフが可能な構成であることが有利である。
このための方法としては、これまでの動き予測で行っていた、フレーム予測やフィールド予測と同じ様に片フィールドは前方向からの予測、他の片フィールドは後方向からの予測を行う、1方向1ベクトルのフィールド予測の予測誤差も計算し、予測比較器63で最小の予測誤差を示す動き予測を選択する。
なお、図9においてスイッチSWは、本発明の両方向予測を行うピクチャのフィールド予測において、片フィールドは前方向からの予測、他の片フィールドは後方向からの予測を行なう予測モードを採用するか否かにより切換えるために用意されている。
ここで、図9の実施例における予測タイプとベクトル本数について考察すると表3のようになる。
表3において、両方向予測におけるフィールド予測は従来のものであり、表2におけると同様である。両方向予測におけるフィールド2の予測が本発明により追加されたものであり、一方向当り1本の動きベクトルであり、従って前/後方向予測につき2本の動きベクトルを有する。
図10は、更に本発明の第2の実施例に従う動き予測判定器6の構成例ブロック図である。図9の実施例に対し、追加された予測比較器64の出力を予測比較器63に常に入力するように構成される。
したがって、Bピクチャに対し、常に片フィールドは前方向フィールド予測結果から、他の片フィールドは後方向フィールド予測結果からの予測を項目に入れるようにした構成である。
上記のように本発明により、新しい予測モードとしてフィールド予測で動きベクトルが片方向あたり1本という予測モードが追加される。
表4は、MPEG−2でフレームストラクチャの予測モードを符号表(Table 6-17 Meaning of frame#motion#type:ISO/IEC 13818-2 (MPEG-2 Video)のframe#motion#typeの定義)である。
ここで、予測モードの追加に対し、符号ビットを一つも増やさないで実現するためには、上記表3の予測タイプ(Prediction type)の“reserved”に割り当てられているコード“00”に、下記表5のように、この予測モードを割当ててやればよい。
ここで、追加するモードの中には、奇フィールド(top#field)が前方向予測、偶フィールド(bottom#foeld)が後方向予測である場合と、その逆である奇フィールド(top#field)が後方向予測、偶フィールド(bottom#foeld)が前方向予測である場合が考えられる。
フレーム内フィールド間シーンチェンジ発生時の動き予測効率を上げるためには、入力時間で考えて前に存在するフィールドが前方向予測を行い、後に存在するフィールドが後方向予測を行えば良い。
MPEG−2ではインターレース画像1フレームを構成するために、どちらのフィールドが時間的に先に存在するかは、Picture coding extensionに存在するtop#filed#first#flagという1ビットのフラグを参照すればよい。
すなわち、top#filed#first#flag=1の場合は図11Aが該当し、奇フィールドが前方向予測を行う。反対に、top#field#first#flag =0の場合は図11Bが該当し、偶フィールドが前方向予測を行うようにすれば良い。
つまり、新しく追加するフィールド予測でどちらのフィールドが前方向予測を行うかは、Picture coding extensionに存在するtop#filed#first#flagで一意に決まるので、新たにフラグは設けなくてもよい。
また、動きベクトルもフィールド予測であるが、ベクトルの数は片フィールドに対して1本ずつなので、あたかもフレーム予測のように送ることが可能である。
上記第2の実施例では、MPEG−2のシンタックス上に追加ビットを何も必要としないので、この予測は常にオンとすることが好ましい。
図12は、本発明の第3の実施例を説明する図である。図12の構成は、図9の構成に対し、スイッチSWの切換えをフィールドシーンチェンジ検出回路65により制御するようにしたものである。
今、上記第2の実施例説明に関連して、上記表3においてコード(code)欄の“00”が、なぜ“reserved”ビットになっているかは、23ビットの0と1ビットの1を共通して持つ、MPEGのスタートコードをユニークワードにするためであると思われる。
したがって、新しい動き予測タイプを“00”に割当てることが不可能である場合は、“frame#motion#type”のビットを1ビット増やすか、新たなモード識別ビットを最低でも1ビット設けなければばらなくなる。
この場合、動き予測はマクロブロック単位に行うので、例え追加ビットが1ビットであろうとも、ピクチャ当りに換算すると多大なビット量の増加になってしまう。尚且つ、そのビットの追加により効率が上がるのは、フレーム内フィールド間のシーンチェンジ発生ピクチャのみということは充分に考えられる。
したがって、第3の実施例では、第1の実施例における追加動き予測モードのオン/オフフラグを設け、フレーム内フィールド間シーンチェンジが発生し、かつそのピクチャがBピクチャである場合にそのフラフをオンにする。
図12に示すように、フィールドシーンチェンジ検出フラグを生成する回路としてシーンチェンジ回路65を設ける。これにより、フィールドシーンチェンジが発生したBピクチャでは、フィールド予測で片フィールドは前方向からの予測、もう片フィールドは後方向から予測するという予測モードが追加される。
このようにすることにより、フィールドシーンチェンジ発生でないBピクチャでのモード追加による符号量の追加ビットは,高々1ビットとなり、符号量の増加の抑制が可能となる。
図13は、本発明の第4の実施例を説明する図である。図5の構成に対し、符号化入力データ側にフレーム構造とフィールド構造の切換えを行なう切換え回路66を設けている。切換え回路66は、シーンチェンジ検出回路65によりフレーム内フィールド間シーンチェンジが発生し、かつそのピクチャがBピクチャである場合が検出された時、フレーム構造とフィールド構造の切換えを行なう。
フィールド構造符号化を行うと、例えば、1枚目のフィールドピクチャでは前方向予測、もう一枚のフィールドピクチャでは後方向予測を行うことは可能となり、大幅に予測効率が落ちることはない。
図14は、図13の実施例におけるシーンチェンジ検出回路65の構成例ブロック図である。図において、画素番号は、フィールドをラスタースキャンした順番で、Nfieldは、フィールドの画素数を意味する。
フィールド単位で現フィールドと前フィールドとの画素毎の差を求める差回路651〜65N、差回路の出力の絶対値を求める絶対値回路661〜66N、絶対値回路661〜66Nの出力を累積加算する累積加算器650及び、累積加算器50の出力を閾値THと比較判定する閾値判定回路660を有して構成される。
すなわち、1フィールド分の差分絶対値の累積加算値が閾値THを超えたときに識別判定回路660から識別判定出力が生成される。
図15は、更にかかる識別判定回路660からの識別判定出力に基づきフィールドシーンチェンジを検出する、シーンチェンジ検出回路65における検出アルゴリズムを説明する図である。図16は、図15のアルゴリズムにおける第1フィールドF1と第2フィールドF2の関係を示す図である。
この図16を参照して図15のアルゴリズムを説明すると、top#field#first#flagの値によって決まる第1フィールドF1でシーンチェンジの有無を検出する(ステップS1)。第1フィールドF1でシーンチェンジが検出されない場合、第2フィールドF2でシーンチェンジの有無を検出する(ステップS2)。
この時、ステップS2の判断でシーンチェンジがある場合、図16に示すように第1フィールドF1と第2フィールドF2間でシーンチェンジがあることになる。したがって、この場合は、フィールドシーンチェンジFICであると判断される。
また、ステップS2の判断でシーンチェンジがない場合、シーンチェンジでないと判断される(ステップS5)。
ステップS1で、シーンチェンジがある場合、次に第2フィールドでシーンチェンジの有無が判断される(ステップS4)。第2フィールドでシーンチェンジがない場合は、シーンチェンジでないと判断される(ステップS5)。第2フィールドでシーンチェンジがある場合は、図16に示すように、第1フィールドに跨ってシーンチェンジがあることになるので、この場合は、フレームシーンチェンジFRCであると判断する(ステップS6)。
図17は、本発明の第5の実施例を説明する図である。この実施例は、動き予測モードを制限することに特徴を有する。
先に第3の解決原理として説明した、フレーム内フィールド間シーンチェンジが発生した場合で、かつ当該ピクチャがBピクチャである場合に符号化画面を前後どちらかの参照画面と同一データとして符号化を行うことを実現する実施例である。
図17の実施例では、動きベクトル予測方向を片方向固定、フレーム予測固定、動きベクトルを0ベクトルに固定し、かつ符号化係数情報も送らないように符号化制御を行う構成である。
このようにすることにより、図3で説明した解決原理に対応して、符号化ピクチャを参照ピクチャのローカルデコード画面と同一データとして符号化出来る。動きベクトルを固定にするのは、全て動きモード検出を行った後でも可能であり、このモードに入った場合には、動き予測モードの演算全てを行わないようにすることも可能である。
かかる構成により、符号化効率が極端に悪くなることを防ぐことが可能である。この場合、符号化ピクチャを、シーンチェンジの前もしくは後の参照ピクチャのどちらかと同一と見做して符号化を行うので、実際は、片フィールドはシーンチェンジ前もしくはシーンチェンジ後の全く違う画像を符号化していることになる。
また、同一データと見做す参照ピクチャは、シーンチェンジ発生ピクチャに入力時間でより近い参照ピクチャを用いる方が良いと思われるが、必ずしもこれに限られない。
また、シーンチェンジ発生ピクチャと参照ピクチャの間に別のBピクチャが存在する場合は、当該Bピクチャも参照ピクチャと同じデータとして見做した方がより視覚的、符号化効率的に好ましい。
図18は、本発明の第6の実施例を説明する図であり、符号化入力データを切換える点に特徴を有する。図18の構成において、データ入力側にフレームメモリ読出し回路67を設け、上記図17の実施例における参照ピクチャと同一データとして見做す方法として、入力画面から符号化データを設定する時に、同一データと見做したい方の参照ピクチャを設定する。
図19は、図18のフレームメモリ読出回路67の構成例である。なお、図19では、フィールド1の入力に対する読出回路が示されるが、フィールド2についても同様構成であるので、図示省略されている。
シーンチェンジ検出回路65からのシーンチェンジ検出信号により切換えられるスイッチSWを有し、Bピクチャであって、フィールドシーンチェンジの時、スイッチSWにより、前参照ピクチャ又は後参照ピクチャと同一データが読み出される。カウンタ670は、I,P,Bピクチャ切換えタイミングを生成する。
ここで、一般にMPEG−2では、原画同士を用いて動き探索を行うので、参照ピクチャの原画は、メモリに蓄えられていると考えられる。また、動き補償後の予測画像は、参照ピクチャを一度エンコード/デコードした結果のローカルデコード画像を用いて行う。このため、復号化された参照ピクチャもメモリに蓄えていると考えられる。
従って、ここで原画ピクチャとして設定する参照ピクチャは、原画/ローカルデコード画のどちらも設定可能である。また、符号化画面を変更しているので、図17の実施例に示す符号化方法の制限は特に必要としない。
ここで、図17、図18の実施例における符号化では、参照ピクチャと同じデータを用いるので当該ピクチャでは殆ど情報量が発生しない。このため、情報量をGOP内の他のピクチャに割当てる事が可能となるという効果もある。
図20は、本発明の第7の実施例を説明する図である。この実施例では本発明を必ずしも符号化装置とリンクしないで適用可能とするものである。すなわち、一般的な用途に適用可能な入力画像切換え装置として適用可能である。
1フレームを構成するフィールド1及び、フィールド2のデータを入力し、それらの間でシーンチェンジがある場合、即ち、フレーム内フィールド間シーンチェンジ発生をシーンチェンジ検出回路65が検出する。
シーンチェンジ検出回路65は、フィールドシーンチェンジの発生を検知した時、スイッチ切換え信号を発生し、スイッチSWを端子1側に切換え、フィールド1と同一のデータをフィールド2に対し出力する。
このように、フィールドシーンチェンジが検出される場合、該当のフレームでは、フィールドをレピートさせて入力フレームをつくり変える。片フィールドをレピートすることにより、図4に説明した解決原理に従い、フレーム内フィールド間シーンチェンジの位置を、擬似的にフレーム間シーンチェンジに変更することが出来る。
図21は、本発明の第8の実施例を説明する図である。この実施例は、図20の実施例を符号化装置に適用した構成である。図21の前処理回路68として、図20の実施例が適用される。
図22は、図21における前処理回路68の構成例である。シーンチェンジ検出回路65により、フィールドシーンチェンジ検出が行われると、スイッチSWによりフィールド2に対し、フィールド1のデータをレピートして出力する様に構成されている。なお、カウンタ670の機能は、図19の実施例において説明したと同様である。
この実施例による符号化の実際においては、符号化効率が悪くなるBピクチャでのフレーム内フィールド間シーンチェンジで処理を行う。シーンチェンジがフレーム間シーンチェンジならば、入力時間的にシーンチェンジの直後の参照ピクチャを、Iピクチャもしくはピクチャ内符号化を行う様にするだけで、Bピクチャは前後参照ピクチャから効率良く予測符号化を行うことが出来る。
符号化画像を実際の入力画像と異なる画像として符号化を行うという意味では、図18の実施例と考え方は似ているが、図21の実施例では、フィールド間でシーンチェンジが発生した場合に、フレームを参照ピクチャと置き換えるのではなく、図4で説明したように入力原画で片フィールドレピートすることによりフレーム内の両フィールドを同一データにしている。
図23は、先に図1〜図4により説明した解決原理に基づく符号化装置に対応する復号化装置の構成例ブロック図である。
復号化器100の出力がスイッチSWの切換えで直接に又は、加算器101により動き補償信号と加算された信号が、復号化信号として出力される。
動き補償信号を生成するために、前画メモリ102、後画像メモリ103を有し、更に前方向動き補償回路104、両方向動き補償回路105及び後方向動き補償回路106を有する。
図23において、メモリ102,103から読み出されるデータについて、実線矢印は、フレーム予測の場合であり、破線矢印はフィールド予測の場合である。そして、これらの種類は、マクロブロック毎に切換えられる。
ここで、符号化装置から出力されるMPEGストリーム中のマクロブロック(MB)情報は、MBの位置、前方向、後方向又は両方向予測を区別する予測タイプ、動きベクトル及び、符号化係数情報を含んでいる。
現在のMPEG−2規格ではフレーム構造符号化時の動きベクトルの本数は、表1に示したように、フレーム予測の場合は片方向1本で、フィールド予測の場合は片方向2本となっている。
この場合のストリーム上のデータは以下のようになっている
片(前又は後)方向予測のフレーム予測場合は、
予測タイプ+動きベクトル1
片(前又は後)方向予測のフィールド予測場合は、
予測タイプ+動きベクトル1+動きベクトル2
上記の動きベクトル1は、top#field(奇フィールド)のベクトル、動きベクトル2は、bottom#field(偶フィールド)のベクトルである。
両方向予測のフレーム予測場合、
予測タイプ+動きベクトル1+動きベクトル2
であり、動きベクトル1は、forward#frameベクトル、動きベクトル2は、backward#frameベクトルである。
さらに、両方向予測のフィールド予測場合は、
予測タイプ+動きベクトル1+動きベクトル2+動きベクトル3+動きベクトル4
である。動きベクトル1は、forward#top#fieldベクトル、動きベクトル2は、forward#bottom#fieldベクトル、動きベクトル3は、backward#top#fieldベクトル、動きベクトル4は、backward#bottom#fieldベクトルである。
本発明に従う両方向フィールド予測は、動きベクトルが片方向1本で
予測タイプ+動きベクトル1+動きベクトル2
である。動きベクトル1はforward#fieldベクトル、動きベクトル2はbackward#fieldベクトルである。
これには、動きベクトル1はforward#top#fieldベクトル、動きベクトル2はbackward#bottom#fieldベクトルと動きベクトル1はforward#bottom#fieldベクトル、動きベクトル2はbackward#top#fieldベクトルの2通りの取り方が存在するが、それをtop#field#first#flagでどちらか判断する。
図24は、図11と同様の説明図であるが、top#field#first#flagで判断される動きベクトル1及び、動きベクトル2の態様を示す図である。すなわち、top#field#first#flag=1の場合は、図24Aに示すように、動きベクトル1はforward#top#fieldベクトル、動きベクトル2はbackward#bottom#fieldベクトルの場合である。
一方、top#field#first#flag=0の場合は、図24Bに示すように、動きベクトル1はforward#bottom#fieldベクトル、動きベクトル2はbackward#top#fieldベクトルの場合である。
図25は、図23の両方向動き補償回路105の構成例ブロック図である。
フレーム予測である場合は、加算回路251と1/2回路252により、前画像メモリ102と後画像メモリ103から、各々動きベクトルに相当する位置のフレーム構成のマクロブロックを読み出し、それらの加算の1/2を計算して出力する。
フィールド予測の場合は、4本の動きベクトルの位置に相当する前画像奇フィールド
1/2マクロブロック、前画像偶フィールド1/2マクロブロック、後画像奇フィールド1/2マクロブロック及び、後画像偶フィールド1/2マクロブロックの4つの1/2マクロブロックをメモリ102、103から読み出す。
次いで、加算回路253と1/2回路254により、前画像の奇フィールド1/2マクロブロックと、後画像の奇フィールド1/2マクロブロックを入力し、それらの加算の
1/2を計算して出力する。
また、加算回路255と1/2回路256により、前画像偶フィールド1/2マクロブロックと後画像偶フィールド1/2マクロブロックを入力し、それらの加算の1/2を計算して出力する。
さらに、本発明に従うフィールド予測の場合は、上記top#field#first#flagに基づき2本の動きベクトルに相当する前画像奇フィールド1/2マクロブロックと後画像偶フィールド1/2マクロブロックの組み合わせあるいは、前画像偶フィールド1/2マクロブロックと後画像奇フィールド1/2マクロブロックの組み合わせのいずれをメモリ102、103から読み出すかを決定する。決定された組み合わせが選択回路257からマクロブロックとして出力される。