JP4564599B2 - Method and apparatus for improved video coding using a zero block predictor module - Google Patents

Method and apparatus for improved video coding using a zero block predictor module Download PDF

Info

Publication number
JP4564599B2
JP4564599B2 JP1153097A JP1153097A JP4564599B2 JP 4564599 B2 JP4564599 B2 JP 4564599B2 JP 1153097 A JP1153097 A JP 1153097A JP 1153097 A JP1153097 A JP 1153097A JP 4564599 B2 JP4564599 B2 JP 4564599B2
Authority
JP
Japan
Prior art keywords
module
block
signal
motion compensation
point
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.)
Expired - Fee Related
Application number
JP1153097A
Other languages
Japanese (ja)
Other versions
JPH10224780A (en
Inventor
スリバスタバ アディトヤ
Original Assignee
テキサス インスツルメンツ インコーポレイテツド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by テキサス インスツルメンツ インコーポレイテツド filed Critical テキサス インスツルメンツ インコーポレイテツド
Priority to JP1153097A priority Critical patent/JP4564599B2/en
Publication of JPH10224780A publication Critical patent/JPH10224780A/en
Application granted granted Critical
Publication of JP4564599B2 publication Critical patent/JP4564599B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Color Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般的に、画像処理に関し、より詳細には、ビデオデータの改良したエンコーディングのための方法およびシステムに関する。
【0002】
【従来の技術】
画像圧縮および圧縮解除は、ビデオ会議システム、ビデオ電話および映画伝送を含む広範囲の応用において使用されている。これら応用における従来の手法はビデオコーディングすなわち画像圧縮および圧縮解除のための専用のハードウェアを用いることであった。ビデオコーディング処理は計算を行う上で高価となり、一般的な目的のすなわち汎用のハードウェアでは低速であるために、専用のハードウェア、典型的にはデジタル信号処理器(DSP)を使用する必要がある。
この結果、これら応用を広げて使用することは、良好な性能を得るために必要とする特殊なハードウェアを有効に利用することに関連したコストにより阻止されていた。しかしながら、これら応用、特にビデオ会議は、次の数年でデスクトップの必需的なものとなるであろうと予測されている。ビデオコーダおよびビデオコーディング処理にとっての改良はこの予想を実現させるために必要である。
【0003】
1秒当たり28Kビットといった極めて低いビット速度でのビデオコーディングおよびエンコーディングのための国際電気通信連合(ITU)規準H.263(以下、ITU・H.263規準という)に従ったビデオコーディング処理を示す図が図1に示されている。
【0004】
図1に示されるビデオエンコーダはカラー変換モジュール12と、動き検出器モジュール14と、動き補償モジュール16と、変換モジュール18と、量子化モジュール20と、コーディングモジュール22とを含んでいる。更に、フィードバックモジュール24も含まれており、これは逆量子化モジュール30と、逆変換モジュール28と、フレーム再構成モジュール26とを含んでいる。
【0005】
図2に示されるようなビデオデコーダはビデオコーダと逆の処理を行い、ビットストリームデコーディングモジュール40と、逆量子化モジュール30と、逆変換モジュール28と、逆動き補償モジュール42と、フレーム再構成モジュール26とを含んでいる。
【0006】
ビデオコーディング処理において、動き補償モジュール16によって行われる動き補償は最も時間がかかる動作段階である。それぞれ変換モジュール18および量子化モジュール20によって行われる変換および量子化動作段階もそれを実行するのに高価となる動作段階である。
【0007】
しかしながら、2年毎にプロセッサの速度が倍加する実情をもってすれば、良好な性能および品位を得、デスクトップコンピュータの環境で画像処理を必需的な事項とするのに充分なビデオ処理を必要とする応用に関連したコストを低下することをソフトウェアだけで解決することを可能とする。
【0008】
種々の段階の計算上の要求に打ち勝つようにするために、従来技術のシステムのビデオ処理の応用は種々の計算を行う上で高価格となる段階をより高速で実行させるために専用のDSPを用いる。専用のハードウェアを使用することは現在のビデオ会議システムを弱体化してしまう。ビデオコーディングの規準が変化しかつ発展している際に新たなハードウェアを設計することは高価で、時間のかかるものとなってしまい、更に得られるシステムのコストを実質的に増大させてしまう。専用のハードウェアに関連した大きなコストは、デスクトップの必需品となる画像処理の応用に対する障壁を与えるばかりでなく、それらはまたオープンシステムを使用するハードウェア/ソフトウェア解決法の最近の風潮に反することにもなる。
【0009】
【発明が解決しようとする課題】
従って、現在のビデオ処理の応用の構成化の制限および弱点を打ち負かす方法およびシステムが必要となる。特に、従来技術のものよりも計算的により効率的であり、かつ低コストの一般目的のすなわち汎用のDSPを用いる構成化すなわちソフトウェア単独での解決法を可能とするビデオエンコーディングのための方法およびシステムを必要とする。
【0010】
【課題を解決するための手段】
本発明は、低コストの一般目的のDSPで、あるいは許容できる性能を得るために一般目的のマイクロプロセッサによるソフトウェア単独の解決法として構成され得るビデオコーディング処理を含んでいる。本発明は全体のビデオコーディング処理を変更し、全体のビデオコーディング計算時間を減少させるその最適化の機能を増大させ、それにより低コストのDSPの解決法あるいはソフトウェアだけの解決法を使用できるようにする。この両者により今日のデスクトップCPUで許容できる性能が可能となる。
【0011】
本発明の1つの特徴は動き検出段階の最適化を含んでいる。
本発明の他の特徴は動き補償段階の最適化を含んでいる。
本発明の更に他の特徴はゼロブロック予測段階を加えることを含んでいる。
本発明のこれらおよび他の特徴は、添付図面を参照することにより、本発明の以下の詳細な記載から当業者にとって明白となるであろう。
【0012】
【発明の実施の形態】
図3に示されるような本発明によるビデオコーダは図1に示される従来技術のビデオコーダおよびビデオコーディング処理に対する幾つかの改良を含んでいる。図3に示されるような本発明によるビデオコーダでの改良は、従来技術のビデオコーダおよびビデオコーディング処理に対する向上した性能を与える。本発明によるビデオコーダおよびビデオコーディング処理はビデオコーディング技術を用いる任意の応用において有用であると考えられる。
【0013】
本発明はペンテアム処理器を含んだワークステーションでマイクロソフトのビジュアルC++コンパイラを用いるC++で構成される。しかしながら、他の言語およびハードウェア構成も当業者にとって明かであると考えられる。
【0014】
本発明によるビデオコーダの全体の構成が図3に示されている。上で述べたように、動き補償段階および変換段階は典型的なビデオコーディング処理でとりわけ時間がかかる段階である。本発明は、変更された動き検出器モジュール50によって行われるような動き検出段階に対する改良を与える。本発明によるこの動き検出器モジュール50は、変更された動き補償モジュール52によって行われる動き補償段階をバイパスすべきかどうかを決定する。この変更された動き補償モジュール52は、また、従来技術の動き補償モジュール16のものに対する動き補償段階についての改良を含んでいる。
【0015】
本発明によるビデオコーディング処理は、また、ゼロブロック予測モジュール54によって行われるゼロブロック予測段階を付加することを含んでいる。このゼロブロック予測器モジュール54は変換および量子化段階をバイパスするかどうかを決定する。これら特徴のそれぞれを以下に詳細に説明する。
【0016】
本発明の図3に示された実施例に加えて、従来技術のビデオコーダに対する改良を同様与える他の実施例も可能であると考えられる。本発明によるビデオコーダの1つの他の実施例が図4に示されており、これは変更された動き補償モジュール52を含んでいる。図5は本発明によるビデオコーダの更に他の実施例を示し、これは変更された動き検出器モジュール50とゼロブロック予測器モジュール54とを含んでいる。
【0017】
図3に示されるビデオエンコーダの動作は図6に示されている。ブロック60で、カラー変換モジュール12は51でのビデオ画像信号入力からデータ信号を発生する。次いで、このデータ信号はブロック62で示されるように変更された動き検出器モジュール50に入力され、この動き検出器モジュール50は、与えられた画像に動きが検出されたかどうかを決定する。決定ブロック64で、動きが決定されたら、変更された動き補償モジュール52は、ブロック66で示されるように、その動きを補償し、ブロック68での動作が続く。決定ブロック64で、動きが決定されなかったら、変更された動き補償モジュール52によって行われる動き補償段階はバイパスされ、ブロック68での動作が続く。
【0018】
ブロック68で、ゼロブロック予測器モジュール54は、それぞれ変換モジュール18および量子化モジュール20によってなされる変換および量子化段階の後にデータ信号の現在処理しているマクロブロックがゼロ値のマクロブロックを発生するかどうかを決定する。決定ブロック70で、ゼロ値のマクロブロックが予測される場合に、変換および量子化段階はバイパスされ、ブロック78での動作が続く。
【0019】
決定ブロック70で、ゼロ値のマクロブロックが予測されなければ、ブロック72での動作が続き、データ信号が変換モジュール18によって変換される。本発明において、変換モジュール18は個別のコサイン変換を行うが、他の変換が行われてもよいことが考えられる。次いで、変換されたデータ信号はブロック74において量子化モジュール20によって量子化される。ブロック76で、現在処理されている画像のデータ信号は補間画像を発生するために使用され、この補間画像はブロック66での変更された動き補償モジュール52にフィードバックされる。
【0020】
ブロック74で発生された量子化されたデータ信号は、本発明のビデオコーダを組み込んでいるかあるいはそれを使用する応用によって更に処理するためブロック78でエンコードされる。
【0021】
変更された動き検出モジュール50によって行われる動き検出段階(この動作は図7において詳細に示されている)において、現在処理している画像のマクロブロックは動きあるいは静止のいずれかとして分類される。これらマクロブロックを分類するために、変更された動き検出モジュール50はマクロブロックが所定の動き基準に基づいて動きがあったかどうかを決定する。次いで、変更された動き検出器ブロック50は、上記所定の動き基準を使用して、現在処理しているマクロブロックと前の画像の同一位置にあるマクロブロックとを比較し、現在処理しているマクロブロックが現在の画像にある際にフィードバックモジュール24によって補間画像が発生される。
【0022】
現在処理している画像のマクロブロックと前の画像の同一位置のマクロブロックとの間のピクセル対ピクセル絶対差が計算される。現在処理している画像のピクセルと前の画像の同一位置でのピクセルとの間の差が所定のスレッショルド以上であるならば、そのピクセルはそのマクロブロック内で動きがあるものとして分類される。動きがあるものとして分類されたピクセルの数が第2の所定のスレッショルド以上であるならば、マクロブロックは動きがあるものとして分類され、そうでなければマクロブロックは静止のものとして分類される。マクロブロックが静止のものであれば、動き補償動作段階は完全にスキップされ、図6に示されるような計算が続く。
【0023】
図7に戻り、決定ブロック110で、変更された動き検出器モジュール50が現在の画像を表す第1のフレームのデータのマクロブロックを処理しているならば(すなわち、それがINTRAコード化ブロックであるならば)、そのマクロブロックはブロック134で静止のものとして分類され、この変更された検出器モジュール50による処理は終了する。決定ブロック110で、現在のマクロブロックが処理されている第1のマクロブロックでないとされるならば、カウンタおよび最大データ信号指示器が始動されるようなブロック112での動作が続けられる。次いで、現在処理しているマクロブロックの第1のピクセルが補充されるようなブロック114での動作が続く。
【0024】
決定ブロック116で、現在処理しているマクロブロックでの現在のピクセルの信号値が最大データ信号指示器の現在値よりも大であるとされれば、最大データ信号指示器の値はブロック118でその信号値と置き換えられ、ブロック120での動作が続く。決定ブロック116で、現在のピクセルの信号値が最大データ信号指示器の現在の値よりも大きくはないとされる場合には、ブロック120での動作が続き、変更された動き検出器モジュール50は現在のピクセルの信号値と前の画像の同一位置でのピクセルの信号値との間の差を決定する。
【0025】
決定ブロック122で、その差が上記第1の所定のスレッショルドよりも大とされれば、ブロック124でカウンタが進められ、決定ブロック126での動作が続く。決定ブロック122で、その差が上記第1のスレッショルドよりも大きくないとされれば、同様決定ブロック126での動作が続き、現在処理しているマクロブロックに一層のピクセルが存在すれば、ブロック128で次のピクセルが補充され、決定ブロック116での動作が続く。決定ブロック126で、現在のマクロブロックの全てのピクセルが処理されたら、カウンタが上記第2の所定のスレッショルド以上であるかどうかについての決定が決定ブロック130でなされる。
【0026】
決定ブロック130で、カウンタが上記第2の所定のスレッショルド以上であるならば、マクロブロックはブロック132で動きがあるものとして分類される。決定ブロック130で、カウンタが上記第2の所定のスレッショルドより大きくなければ、マクロブロックはブロック134で静止のものとして分類される。次いで、変更された動き検出器モジュール50の動作は停止する。
【0027】
図6に戻り、決定ブロック64で示されるように、変更された動き検出器モジュール50が現在のマクロブロックを動きがあるものとして分類すれば、変更された動き補償モジュール52によって行われる動き補償段階はバイパスされない。この変更された動き補償モジュール52は図8に示されるように動作する。
【0028】
従来技術のビデオコーダの動き補償モジュール16および本発明による変更された動き補償モジュール52は共に前の画像の最適な整合マクロブロックを見つけるためにサーチプロシージャを用いており、次いで共に与えられた画像の補間されたものの最適な整合マクロブロックの周りを半ペルサーチ(half−pel search)を行う。従来技術のビデオコーダの動き補償モジュール16において全サーチブロック整合プロシージャが使用される場合には、動き補償動作段階はビデオコーディング処理の他の動作段階よりも桁違いに高価となる(付加的および倍数的に)。従って、この動き補償段階の複雑性を減少するために、本発明の変更された動き補償モジュールは幾つかの改良を含んでいる。
【0029】
図8のブロック80で示されるように、変更された動き補償モジュール52は、最初に、現在処理しているマクロブロックが現在の画像中に存在する際に、前の画像の同一位置にある前の画像からマクロブロックを補充する。次いで、この変更された動き補償モジュール52は、ブロック82で、前の画像からの補充されたマクロブロックと現在の画像の現在処理しているマクロブロックとの間の絶対差の和を決定する。
【0030】
決定ブロック84で、現在処理している画像のマクロブロックと前の画像の同一位置でのマクロブロックとの間の絶対差の和がある所定のスレッショルド以下であるとされる場合には、これ以上のサーチは行われず、前の画像の補充されたマクロブロックが最適な整合ブロックとして選択されるようなブロック92での処理が続く。
【0031】
決定ブロック84で、その和が所定のスレッショルド以上とされる場合には、前の画像の補充されたマクロブロックの中央の周りの8つの近傍する点が決定されるようなブロック86の処理が続く。次いで、変更された動き補償モジュール52は、ブロック88において、現在処理しているマクロブロックおよび8つの近傍する点の1つの周りに中央決めされた前の画像の各マクロブロックのピクセル間の絶対差の和を決定する。
【0032】
本発明の動き補償モジュール52によって使用されるブロック整合のためのこの中央バイアス直交サーチアルゴリズム(C−OSA)はIEEE会報ICASSSP、1987年、25.4.1−25.4.4頁で発表されているA.Puri等による「動き補償コーディングのための効果的なブロック整合アルゴリズム」と題する文献に記載されている直交サーチアルゴリズム(OSA)の最適化である。本発明での変更された動き補償モジュール52に使用されるC−OSAは、前の画像の補充されたマクロブロックでのサーチ点の周りに中央決めされた8つの近傍する点の組(各方向で対角線に沿った+あるいは−の1つのピクセル)での迅速なサーチを行う。
【0033】
本発明の変更された動き補償モジュール52で使用される中央バイアスサーチプロシージャにおいて、決定ブロック90で、最良の整合が中央にて生じたとされると、これ以上のサーチは行われず、その最良の整合点の周りに中央決めされたマクロブロックが選択されるようなブロック92の処理が続く。しかしながら、決定ブロック90で、最良の整合が8つの近傍する点の中の1つで生じたとされるならば、決定ブロック94での処理が続く。
【0034】
決定ブロック94で、最良の整合が直交点{中央点からのいずれかの方向の+あるいは−のpピクセル(pは7に等しい)となる点、すなわち対角線に沿った点の1つではない}とされるならば、本発明の変更された動き補償モジュールによって行われるサーチプロシージャはPuri等の上記文献に記載されるOSAプロシージャの場合のように続く。しかしながら、決定ブロック94で、最良の整合が8つの近傍する点の1つ以外で生じるとされれば、新たな組の8つの近傍する点が中央点としてその最良の整合点を有するものとして選択される。この新たな組の8つの近傍する点の中での最良の整合は結果としてブロック100に戻される。新たな組の8つの近傍する点において、8つ全ての点が再計算される必要はないことに留意されたい。そのあるものは前に既に計算されているからである。
【0035】
この変更された動き補償モジュール52によって行われる手法は、典型的にはビデオ会議への応用といった継続した画像間での動きが比較的小さい場合のような画像の動き補償に好適であることに留意されたい。本発明の変更された動き補償モジュール52によって使用されるC−OSAプロシージャは極めて小さなサーチ域での最適な整合ブロックを見い出す迅速な試験を含んでいる。最悪の場合に、本発明の変更された動き補償モジュール52はさほど複雑ではなく良好な結果をもたらす完全な直交サーチを行う。本発明の変更された動き補償モジュール52で使用されるC−OSAの複雑さは16+4log2w(ここで、wはピクセルのサーチ距離であり、典型的にはプラスあるいはマイナス15ピクセルである)である。
【0036】
最後に、ブロック102で示されるように、本発明の変更された動き補償モジュール52は半ペル動き補償サーチにPuri等による上記文献に記載されたOSAプロシージャを与える。この半ペルサーチは全ての方向のおよび対角線に沿ったプラスあるいはマイナス1ピクセルのサーチ域での補間された画像に行われる。驚くべきことに、これは、上に記載した全ペルサーチが既に全く効果的であるため、変更された動き補償モジュール52によって使用される全動き補償時間の相当部分を越える時間を必要とした。Puri等による上記の文献に記載されたOSAプロシージャを半ペルサーチに適用することは、サーチ点の数を相当に減少する。また、境界のブロックのためのサーチ域は、その一部が画像限界内に存在しないため一層小さくなり、これは計算時間の節約を与えることにもなる。
【0037】
変更された動き補償モジュール52によってそれぞれ全ペルおよび半ペルサーチに与えられるC−OSAおよびOSAプロシージャから得られる結果として、画像品位の顕著な劣化がない全数サーチに密に近付き、全数サーチに比較して桁違いに動き補償を高速化する結果が得られた。「ミスアメリカ」の画像を含んだ幾つかのITU・H.263規準試験画像に関して、動き補償は、信号対ノイズ比が0.1dB以下の減少の状態で、全計算時間の12%以下でなされる。
【0038】
図6に戻り、典型的な画像シーケンスで、例えば、ITU試験画像シーケンスで、30%以下のINTERコード化ブロックが74での量子化段階の後に非ゼロ値を持ったが、全てのブロックが72での高価な変換段階を通る必要はなかった。更にまた、非ゼロ値のブロックは1つだけあるいは2つの非ゼロ係数を持った。この結果を利用するため、ゼロブロック予測器モジュール54によって行われる70でのゼロブロック予測段階が66での動き補償段階の後に含まれる。
【0039】
上述したような変更された動き検出器モジュール50はマクロブロックを動きがあるものあるいは静止のもののいずれかとして分類する。変更された動き検出器モジュール50は、また、最大信号値および全体のマクロブロックにおける静止ピクセルの数を記録する。処理の進みとして変化する量子化値に基づいて、この情報は、変換および量子化段階の後にマクロブロックが全てのゼロ値を有するかどうかを決定するかあるいは予測するようにゼロブロック予測器モジュール50によって使用される。ゼロ値のブロックが予測されたら、それぞれ72および74での変換および量子化段階がスキップされ、ゼロ値のブロックが発生される。
【0040】
ゼロブロック予測器モジュール54の動作は図9に示されている。ブロック140で、予測は「なし」に設定される。決定ブロック142で、第1のフレーム内のマクロブロックが処理されているとされれば、ゼロブロック予測器モジュール54での処理は終了する。そうでなければ、ブロック144で、ゼロブロック予測器モジュール54は、現在のマクロブロックが変換および量子化段階の後にゼロ値ブロックを発生するかどうかを決定するために、最大信号値と静止ピクセルの数と現在の量子化値とを用いて発見的事項を与える。決定ブロック146で、ゼロ値のブロックが予測されると、ブロック148で予測が「あり」に設定され、ゼロブロック予測器モジュール54での処理が終了する。
【0041】
ゼロブロック予測器モジュール54によって使用される発見的事項はINTERコード化ブロックに与えられるだけである。平均的には、これはブロックの約30%が変換および量子化段階を通ることからの節約を行う。しかしながら、ゼロブロック予測器モジュール54によって使用される発見的事項が保存性があるために、ゼロ値のブロックを持っていたであろう40%のブロックが高価な変換および量子化段階を通ったことになる。しかしながら、ゼロブロック予測器モジュール54によってゼロ値のブロックとして予測されるブロックの部分は使用される発見的事項が改善されるにつれ増大され得ることが考えられる。
【0042】
この最適化が行われる前に、変換および量子化段階は全処理時間の約30%を消費している。上記の最適化が与えられた後にこれは約18%まで減少した。この処理時間はゼロ値ブロックを予測する改善された発見的事項が与えられれば一層減少され得ると考えられる。本発明の全体のビデオコーディング処理はITU・H.263規準をビデオコーディング処理にわたり約5−6倍増大する。従って、本発明によるビデオコーディング処理は計算上より効率的であり、低コストのDSPあるいはソフトウェアだけの解決法を用いて構成化することが可能となる。
【0043】
本発明における記載された技術および概念は、特に、ビデオ会議システムによって使用されるビデオコーディング処理のために開発された。しかしながら、本発明は画像圧縮のためのビデオコーディング技術を用いるあらゆる応用に同様適用可能であると考えられる。
【0044】
本発明およびその長所が詳細に記載されたが、種々の変化、置換および変更が特許請求の範囲によって定められるような発明の精神および範囲から逸脱することなくなされることができることを理解すべきである。
【0045】
以上の説明に関して更に以下の項を開示する。
(1)ビデオエンコーダにおいて、
入力ビデオ信号を受け入れ、複数のピクセルを含んだ現在の画像を表す第1の組のデータ信号を発生するカラー変換モジュールと、
上記カラー変換モジュールに結合されており、上記第1の組のデータ信号に応じて、上記現在の画像を動きがあるものあるいは静止のものとして分類する分類信号を発生する動き検出器モジュールと、
上記動き検出器モジュールによって発生された上記分類信号およびフィードバックモジュールによって発生される前の画像を表す第2の組のデータ信号に応じて、中央バイアス直交サーチ技術を用いて上記現在の画像の動きを補償する変更された動き補償モジュールと、
上記変更された動き補償モジュールに応じて、上記第1の組のデータ信号からデジタル化したデータ信号を発生する計算モジュールと、
上記デジタル化したデータ信号に応じて、上記動き補償モジュールに入力するための上記第2の組のデータ信号を発生する上記フィードバックモジュールと、
上記デジタル化したデータ信号に応じて、エンコード化データ信号を発生するコーディングモジュールと、
を具備したことを特徴とするビデオエンコーダ。
【0046】
(2)ビデオエンコーダにおいて、
入力ビデオ信号を受け入れ、複数のピクセルを含んだ現在の画像を表す第1の組のデータ信号を発生するカラー変換モジュールと、
上記カラー変換モジュールに結合されており、上記第1の組のデータ信号に応じて、上記現在の画像を動きがあるものあるいは静止のものとして分類する分類信号と、最大値信号と、静止のものとして分類された上記ピクセルがどの位多いかを指示するカウンタ信号とを発生する動き検出器モジュールと、
上記動き検出器モジュールによって発生された上記分類信号およびフィードバックモジュールによって発生される前の画像を表す第2の組のデータ信号に応じて、上記現在の画像の動きを補償する変更された動き補償モジュールと、上記第1の組のデータ信号、上記最大値信号および上記カウンタ信号に応じて、上記第1の組のデータ信号についての計算が非ゼロデータを発生するかどうかを指示するゼロブロック信号を発生するゼロブロック予測器モジュールと、
上記ゼロブロック信号に応じて、上記第1の組のデータ信号からデジタル化したデータ信号を発生する計算モジュールと、
上記デジタル化したデータ信号に応じて、上記動き補償モジュールに入力するための上記第2の組のデータ信号を発生する上記フィードバックモジュールと、
上記デジタル化したデータ信号に応じて、エンコード化データ信号を発生するコーディングモジュールと、
を具備したことを特徴とするビデオエンコーダ。
【0047】
(3)ビデオエンコーダにおいて、
入力ビデオ信号を受け入れ、複数のピクセルを含んだ現在の画像を表す第1の組のデータ信号を発生するカラー変換モジュールと、
上記カラー変換モジュールに結合されており、上記第1の組のデータ信号に応じて、上記現在の画像を動きがあるものあるいは静止のものとして分類する分類信号と、最大値信号と、静止のものとして分類された上記ピクセルがどの位多いかを指示するカウンタ信号とを発生する変更された動き検出器モジュールと、
上記変更された動き検出器モジュールによって発生された上記分類信号およびフィードバックモジュールによって発生される前の画像を表す第2の組のデータ信号に応じて、中央バイアス直交サーチ技術を用いて上記現在の画像の動きを補償する変更された動き補償モジュールと、
上記第1の組のデータ信号、上記最大値信号および上記カウンタ信号に応じて、上記第1の組のデータ信号についての計算が非ゼロデータを発生するかどうかを指示するゼロブロック信号を発生するゼロブロック予測器モジュールと、
上記ゼロブロック信号に応じて、上記第1の組のデータ信号からデジタル化したデータ信号を発生する計算モジュールと、
上記圧縮されたデータ信号に応じて、上記動き補償モジュールに入力するための上記第2の組のデータ信号を発生する上記フィードバックモジュールと、
上記デジタル化したデータ信号に応じて、エンコード化データ信号を発生するコーディングモジュールと、
を具備したことを特徴とするビデオエンコーダ。
【0048】
(4)第3項記載のビデオエンコーダにおいて、上記変更された動き補償モジュールは上記中央バイアス直交サーチ技術に従って全ペルサーチを行うように動作可能であることを特徴とするビデオエンコーダ。
(5)第3項記載のビデオエンコーダにおいて、上記変更された動き補償モジュールは直交サーチ技術に従って半ペルサーチを行うように動作可能であることを特徴とするビデオエンコーダ。
(6)本発明は一般目的のDSPを用いてあるいは一般目的のマイクロプロセッサで実行可能なソフトウェアとして構成されるように最適化されるビデオエンコーダを含んでいる。本発明は現在処理している画像のブロックを動きがあるものあるいは静止のものとして分類する変更された動き検出器モジュール(50)を含んでいる。次いで、動きがあるものとして分類されたブロックは、ブロックを前に処理された画像と整合させるために中央バイアス直交サーチプロシージャを用いる変更された動き補償モジュール(52)によって処理される。ゼロブロック検出器モジュール(54)は、変換モジュール(18)および量子化モジュール(20)によって処理された後にブロックがゼロ値のブロックを発生するかどうかを決定する。ゼロ値のブロックが予測されれば、変換モジュール(18)および量子化モジュール(20)がバイパスされる。
【図面の簡単な説明】
【図1】従来技術のビデオエンコーダを示すブロック図である。
【図2】従来技術のビデオデコーダを示すブロック図である。
【図3】本発明によるビデオエンコーダの第1の実施例を示す。
【図4】本発明によるビデオエンコーダの第2の実施例を示す。
【図5】本発明によるビデオエンコーダの第3の実施例を示す。
【図6】本発明によるビデオエンコーダの動作を示す流れ図である。
【図7】本発明による変更された動き検出器モジュールの動作を示す流れ図である。
【図8】本発明による変更された動き補償モジュールの動作を示す流れ図である。
【図9】本発明によるゼロブロック予測器モジュールの動作を示すブロック図である。
【符号の説明】
50 変更された動き検出器モジュール
52 変更された動き補償モジュール
54 ゼロブロック予測器モジュール
[0001]
BACKGROUND OF THE INVENTION
The present invention relates generally to image processing, and more particularly to a method and system for improved encoding of video data.
[0002]
[Prior art]
Image compression and decompression is used in a wide range of applications including video conferencing systems, video telephony and movie transmission. The traditional approach in these applications has been to use dedicated hardware for video coding or image compression and decompression. Video coding processes are computationally expensive and slow for general purpose or general purpose hardware, requiring the use of dedicated hardware, typically a digital signal processor (DSP). is there.
As a result, the widespread use of these applications has been hampered by the costs associated with effectively using the special hardware needed to achieve good performance. However, these applications, especially video conferencing, are expected to become a necessity for the desktop in the next few years. Improvements to the video coder and video coding process are necessary to realize this expectation.
[0003]
International Telecommunications Union (ITU) standard for video coding and encoding at very low bit rates, such as 28 Kbits per second. A diagram illustrating a video coding process according to H.263 (hereinafter referred to as ITU / H.263 standard) is shown in FIG.
[0004]
The video encoder shown in FIG. 1 includes a color conversion module 12, a motion detector module 14, a motion compensation module 16, a conversion module 18, a quantization module 20, and a coding module 22. A feedback module 24 is also included, which includes an inverse quantization module 30, an inverse transform module 28, and a frame reconstruction module 26.
[0005]
The video decoder as shown in FIG. 2 performs the reverse process of the video coder, and includes a bitstream decoding module 40, an inverse quantization module 30, an inverse transform module 28, an inverse motion compensation module 42, and frame reconstruction. Module 26.
[0006]
In the video coding process, the motion compensation performed by the motion compensation module 16 is the most time consuming operation stage. The transformation and quantization operation steps performed by the transformation module 18 and the quantization module 20, respectively, are also operation steps that are expensive to perform.
[0007]
However, applications that require sufficient video processing to get good performance and quality and make image processing a necessity in a desktop computer environment, given the fact that the processor speed doubles every two years. It is possible to solve only the software to reduce the cost associated with the software.
[0008]
In order to overcome the computational requirements of the various stages, the video processing application of the prior art system requires a dedicated DSP to perform the expensive stages in performing the various calculations faster. Use. Using dedicated hardware weakens current video conferencing systems. Designing new hardware as video coding standards change and evolve is expensive and time consuming, and further substantially increases the cost of the resulting system. The large costs associated with dedicated hardware not only provide a barrier to image processing applications that are a necessity for desktops, but they also run counter to the recent trend of hardware / software solutions that use open systems. Also become.
[0009]
[Problems to be solved by the invention]
Therefore, there is a need for a method and system that overcomes the limitations and weaknesses of configuring current video processing applications. In particular, a method and system for video encoding that is computationally more efficient than that of the prior art and enables a low-cost general purpose or general-purpose DSP configuration or software-only solution Need.
[0010]
[Means for Solving the Problems]
The present invention includes a video coding process that can be configured with a low cost general purpose DSP or as a software-only solution with a general purpose microprocessor to obtain acceptable performance. The present invention modifies the overall video coding process and increases its optimization capability to reduce the overall video coding computation time so that a low cost DSP solution or a software only solution can be used. To do. Both of these allow for acceptable performance on today's desktop CPUs.
[0011]
One feature of the present invention includes optimization of the motion detection stage.
Other features of the invention include optimization of the motion compensation stage.
Yet another feature of the present invention includes adding a zero block prediction step.
These and other features of the present invention will become apparent to those skilled in the art from the following detailed description of the invention, with reference to the accompanying drawings.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
The video coder according to the present invention as shown in FIG. 3 includes several improvements over the prior art video coder and video coding process shown in FIG. Improvements in the video coder according to the invention as shown in FIG. 3 give improved performance over prior art video coders and video coding processes. The video coder and video coding process according to the present invention are considered useful in any application using video coding techniques.
[0013]
The present invention consists of a C ++ using a Microsoft Visual C ++ compiler on a workstation containing a Pentium processor. However, other languages and hardware configurations will be apparent to those skilled in the art.
[0014]
The overall structure of a video coder according to the present invention is shown in FIG. As mentioned above, the motion compensation and conversion stages are particularly time consuming stages in a typical video coding process. The present invention provides an improvement to the motion detection stage as performed by the modified motion detector module 50. This motion detector module 50 according to the present invention determines whether the motion compensation stage performed by the modified motion compensation module 52 should be bypassed. This modified motion compensation module 52 also includes improvements to the motion compensation stage over that of the prior art motion compensation module 16.
[0015]
The video coding process according to the present invention also includes adding a zero block prediction stage performed by the zero block prediction module 54. This zero block predictor module 54 determines whether to bypass the transform and quantization steps. Each of these features is described in detail below.
[0016]
In addition to the embodiment of the present invention shown in FIG. 3, it is contemplated that other embodiments are possible that also provide improvements to the prior art video coder. One other embodiment of a video coder according to the present invention is shown in FIG. 4 and includes a modified motion compensation module 52. FIG. 5 illustrates yet another embodiment of a video coder according to the present invention, which includes a modified motion detector module 50 and a zero block predictor module 54.
[0017]
The operation of the video encoder shown in FIG. 3 is shown in FIG. At block 60, the color conversion module 12 generates a data signal from the video image signal input at 51. This data signal is then input to a modified motion detector module 50 as indicated by block 62, which determines whether motion has been detected in a given image. Once the motion is determined at decision block 64, the modified motion compensation module 52 compensates for the motion, as indicated by block 66, and operation continues at block 68. If the motion is not determined at decision block 64, the motion compensation phase performed by the modified motion compensation module 52 is bypassed and operation at block 68 continues.
[0018]
At block 68, the zero block predictor module 54 is currently processing the data signal after the transform and quantization steps made by the transform module 18 and the quantization module 20, respectively. Macro block Is zero Macro block Determine whether to occur. At decision block 70, the zero value Macro block Is predicted, the transformation and quantization stage is bypassed and operation at block 78 continues.
[0019]
At decision block 70, the zero value Macro block If not predicted, operation continues at block 72 where the data signal is converted by the conversion module 18. In the present invention, the conversion module 18 performs individual cosine conversion, but it is conceivable that other conversions may be performed. The transformed data signal is then quantized by the quantization module 20 at block 74. At block 76, the data signal of the currently processed image is used to generate an interpolated image, which is fed back to the modified motion compensation module 52 at block 66.
[0020]
The quantized data signal generated at block 74 is encoded at block 78 for further processing by applications incorporating or using the video coder of the present invention.
[0021]
In the motion detection stage performed by the modified motion detection module 50 (this operation is shown in detail in FIG. 7), the currently processed image Macro block Are classified as either moving or stationary. these Macro block Modified motion detection module 50 to classify Macro block Determines whether there has been movement based on a predetermined movement criterion. The modified motion detector block 50 is then currently processing using the predetermined motion criteria. Macro block And in the same position of the previous image Macro block And is currently processing Macro block An interpolation image is generated by the feedback module 24 when is in the current image.
[0022]
Of the currently processed image Macro block And the same position in the previous image Macro block The pixel-to-pixel absolute difference between is calculated. If the difference between the pixel of the image currently being processed and the pixel at the same position in the previous image is greater than or equal to a predetermined threshold, the pixel Macro block Are classified as moving. If the number of pixels classified as having motion is greater than or equal to the second predetermined threshold, Macro block Is classified as moving, otherwise Macro block Are classified as stationary. Macro block If is stationary, the motion compensation phase is completely skipped and the calculation as shown in FIG. 6 continues.
[0023]
Returning to FIG. 7, at decision block 110, the modified motion detector module 50 stores the first frame of data representing the current image. Macro block (Ie if it is an INTRA coded block) Macro block Is classified as stationary at block 134 and processing by the modified detector module 50 ends. At decision block 110, the current Macro block The first being processed Macro block If not, operation at block 112 continues such that the counter and maximum data signal indicator are started. Then currently processing Macro block Operation continues at block 114 such that the first pixel of the second pixel is replenished.
[0024]
Currently processing at decision block 116 Macro block If the signal value of the current pixel at is greater than the current value of the maximum data signal indicator, the value of the maximum data signal indicator is replaced with that signal value at block 118 and the operation at block 120 Followed. If, at decision block 116, the current pixel signal value is not greater than the current value of the maximum data signal indicator, the operation at block 120 continues and the modified motion detector module 50 Determine the difference between the signal value of the current pixel and the signal value of the pixel at the same position in the previous image.
[0025]
If at decision block 122 the difference is greater than the first predetermined threshold, the counter is advanced at block 124 and operation at decision block 126 continues. If it is determined at decision block 122 that the difference is not greater than the first threshold, the operation at decision block 126 continues and is currently being processed. Macro block If there are more pixels in the block, the next pixel is replenished at block 128 and the operation at decision block 116 continues. At decision block 126, the current Macro block Once all of the pixels have been processed, a determination is made at decision block 130 as to whether the counter is greater than or equal to the second predetermined threshold.
[0026]
At decision block 130, if the counter is greater than or equal to the second predetermined threshold, Macro block Are classified as having motion at block 132. At decision block 130, if the counter is not greater than the second predetermined threshold, Macro block Are classified as stationary at block 134. Then, the operation of the modified motion detector module 50 stops.
[0027]
Returning to FIG. 6, as indicated by decision block 64, the modified motion detector module 50 is Macro block Is classified as having motion, the motion compensation stage performed by the modified motion compensation module 52 is not bypassed. This modified motion compensation module 52 operates as shown in FIG.
[0028]
Both the prior art video coder motion compensation module 16 and the modified motion compensation module 52 according to the present invention both provide optimal alignment of previous images. Macro block Use a search procedure to find the best match of the interpolated ones given together Macro block A half-pel search is performed around. When the full search block matching procedure is used in the motion compensation module 16 of the prior art video coder, the motion compensation operation stage is orders of magnitude more expensive than the other operation stages of the video coding process (additional and multiples). ) Therefore, to reduce the complexity of this motion compensation stage, the modified motion compensation module of the present invention includes several improvements.
[0029]
As indicated by block 80 in FIG. 8, the modified motion compensation module 52 is currently processing the first time. Macro block From the previous image in the same position as the previous image Macro block Replenish. This modified motion compensation module 52 is then replenished at block 82 from the previous image. Macro block And currently processing the current image Macro block Determine the sum of absolute differences between and.
[0030]
At decision block 84, the currently processed image Macro block And the same position in the previous image Macro block If the sum of the absolute difference between is considered to be below a certain threshold, no further search is performed and the previous image is replenished Macro block Processing continues at block 92 such that is selected as the optimal matching block.
[0031]
In decision block 84, if the sum is greater than or equal to a predetermined threshold, the previous image is replenished. Macro block The process of block 86 continues such that eight neighboring points around the center of are determined. The modified motion compensation module 52 is then currently processing at block 88. Macro block And each of the previous images centered around one of the eight neighboring points Macro block Determine the sum of absolute differences between pixels.
[0032]
This centrally biased orthogonal search algorithm (C-OSA) for block matching used by the motion compensation module 52 of the present invention was published in IEEE Bulletin ICASSSP, 1987, 25.4.1-25.4.4. A. It is an optimization of the orthogonal search algorithm (OSA) described in the literature entitled “Effective Block Matching Algorithm for Motion Compensated Coding” by Puri et al. The C-OSA used in the modified motion compensation module 52 in the present invention is supplemented with the previous image. Macro block Perform a quick search on a set of eight neighboring points (one pixel + or − along the diagonal in each direction) centered around the search point at.
[0033]
In the central bias search procedure used in the modified motion compensation module 52 of the present invention, if at decision block 90 the best match occurs in the middle, no further search is performed and the best match. Centered around the point Macro block Processing continues at block 92 such that is selected. However, if it is determined at decision block 90 that the best match occurred at one of eight neighboring points, processing at decision block 94 continues.
[0034]
At decision block 94, the best match is an orthogonal point {not a point that is a + or -p pixel in either direction from the center point (p is equal to 7), ie, one of the points along the diagonal} If so, the search procedure performed by the modified motion compensation module of the present invention continues as in the case of the OSA procedure described in Puri et al. However, if it is determined at decision block 94 that the best match occurs at one other than one of the eight neighboring points, a new set of eight neighboring points is selected as having the best matching point as the center point. Is done. The best match among this new set of eight neighboring points is returned to block 100 as a result. Note that in a new set of eight neighboring points, not all eight points need be recalculated. Some of them have already been calculated before.
[0035]
Note that the technique performed by this modified motion compensation module 52 is typically suitable for image motion compensation, such as when the motion between successive images is relatively small, such as video conferencing applications. I want to be. The C-OSA procedure used by the modified motion compensation module 52 of the present invention includes a quick test to find the optimal matching block in a very small search area. In the worst case, the modified motion compensation module 52 of the present invention performs a complete orthogonal search that is less complex and yields good results. The complexity of the C-OSA used in the modified motion compensation module 52 of the present invention is 16 + 4 log 2w (where w is the pixel search distance, typically plus or minus 15 pixels).
[0036]
Finally, as indicated by block 102, the modified motion compensation module 52 of the present invention provides a half-pel motion compensation search with the OSA procedure described in the above document by Puri et al. This half-pel search is performed on the interpolated image in the plus or minus one pixel search area in all directions and along the diagonal. Surprisingly, this required a time that exceeded a substantial portion of the total motion compensation time used by the modified motion compensation module 52 because the full pel search described above was already quite effective. Applying the OSA procedure described in the above document by Puri et al. To a half-pel search significantly reduces the number of search points. Also, the search area for boundary blocks is smaller because some of them are not within the image limits, which also saves computation time.
[0037]
The results obtained from the C-OSA and OSA procedures given to the full pel and half pel search, respectively, by the modified motion compensation module 52 closely approach the exhaustive search without noticeable degradation in image quality, compared to the exhaustive search. The result of speeding up motion compensation by orders of magnitude was obtained. Several ITU / H.B. Images containing “Miss America” images. For the H.263 reference test image, motion compensation is done in less than 12% of the total computation time with the signal-to-noise ratio decreasing to less than 0.1 dB.
[0038]
Returning to FIG. 6, in a typical image sequence, for example, in an ITU test image sequence, no more than 30% of INTER coded blocks had non-zero values after the quantization stage at 74, but all blocks had 72 There was no need to go through an expensive conversion step. Furthermore, the non-zero value block has only one or two non-zero coefficients. To take advantage of this result, a zero block prediction stage at 70 performed by the zero block predictor module 54 is included after the motion compensation stage at 66.
[0039]
The modified motion detector module 50 as described above is Macro block Are classified as either moving or stationary. The modified motion detector module 50 is also capable of generating maximum signal values and overall Macro block Record the number of still pixels in. Based on the quantized values that change as the process proceeds, this information is converted after the transformation and quantization stages. Macro block Is used by the zero block predictor module 50 to determine or predict whether or not all have zero values. Once a zero value block is predicted, the transform and quantization steps at 72 and 74, respectively, are skipped and a zero value block is generated.
[0040]
The operation of the zero block predictor module 54 is illustrated in FIG. At block 140, the prediction is set to “none”. In decision block 142, in the first frame Macro block Is processed, the processing in the zero block predictor module 54 ends. Otherwise, at block 144, the zero block predictor module 54 Macro block Gives a heuristic using the maximum signal value, the number of still pixels, and the current quantized value to determine whether to generate a zero-value block after the transform and quantization steps. When a block of zero values is predicted at decision block 146, the prediction is set to “Yes” at block 148, and processing at the zero block predictor module 54 ends.
[0041]
The heuristics used by the zero block predictor module 54 are only given to the INTER coding block. On average, this saves about 30% of the blocks from going through the transform and quantization stages. However, because the heuristics used by the zero block predictor module 54 are conservative, 40% of the blocks that would have had zero value blocks have gone through expensive transformation and quantization steps. become. However, it is contemplated that the portion of the block predicted by the zero block predictor module 54 as a zero value block may be increased as the heuristics used are improved.
[0042]
Before this optimization takes place, the transformation and quantization stage consumes about 30% of the total processing time. This was reduced to about 18% after the above optimization was given. It is believed that this processing time can be further reduced given an improved heuristic that predicts zero value blocks. The overall video coding process of the present invention is described in ITU H.264. The H.263 standard is increased about 5-6 times over the video coding process. Thus, the video coding process according to the present invention is computationally more efficient and can be configured using a low cost DSP or software-only solution.
[0043]
The described techniques and concepts in the present invention have been developed specifically for the video coding process used by video conferencing systems. However, it is believed that the present invention is equally applicable to any application that uses video coding techniques for image compression.
[0044]
Although the invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made without departing from the spirit and scope of the invention as defined by the claims. is there.
[0045]
The following items are further disclosed with respect to the above description.
(1) In the video encoder,
A color conversion module that accepts an input video signal and generates a first set of data signals representing a current image including a plurality of pixels;
A motion detector module coupled to the color conversion module and generating a classification signal for classifying the current image as moving or stationary according to the first set of data signals;
In response to the classification signal generated by the motion detector module and a second set of data signals representing the previous image generated by a feedback module, the current image motion is determined using a center bias orthogonal search technique. A modified motion compensation module to compensate; and
A calculation module for generating a digitized data signal from the first set of data signals in response to the modified motion compensation module;
The feedback module for generating the second set of data signals for input to the motion compensation module in response to the digitized data signal;
A coding module for generating an encoded data signal in response to the digitized data signal;
A video encoder comprising:
[0046]
(2) In the video encoder,
A color conversion module that accepts an input video signal and generates a first set of data signals representing a current image including a plurality of pixels;
A classification signal coupled to the color conversion module for classifying the current image as moving or stationary according to the first set of data signals; a maximum value signal; and a stationary signal A motion detector module that generates a counter signal indicating how many of the pixels classified as
A modified motion compensation module that compensates for motion of the current image in response to the classification signal generated by the motion detector module and a second set of data signals representing the previous image generated by a feedback module And, according to the first set of data signals, the maximum value signal, and the counter signal, a zero block signal that indicates whether the calculation for the first set of data signals generates non-zero data The generated zero block predictor module; and
A calculation module for generating a digitized data signal from the first set of data signals in response to the zero block signal;
The feedback module for generating the second set of data signals for input to the motion compensation module in response to the digitized data signal;
A coding module for generating an encoded data signal in response to the digitized data signal;
A video encoder comprising:
[0047]
(3) In the video encoder,
A color conversion module that accepts an input video signal and generates a first set of data signals representing a current image including a plurality of pixels;
A classification signal coupled to the color conversion module for classifying the current image as moving or stationary according to the first set of data signals; a maximum value signal; and a stationary signal A modified motion detector module that generates a counter signal indicating how many of the pixels classified as
In response to the classification signal generated by the modified motion detector module and a second set of data signals representing the previous image generated by a feedback module, the current image using a center bias orthogonal search technique A modified motion compensation module that compensates for the motion of
In response to the first set of data signals, the maximum value signal, and the counter signal, a zero block signal is generated that indicates whether the calculation for the first set of data signals generates non-zero data. A zero block predictor module;
A calculation module for generating a digitized data signal from the first set of data signals in response to the zero block signal;
The feedback module for generating the second set of data signals for input to the motion compensation module in response to the compressed data signals;
A coding module for generating an encoded data signal in response to the digitized data signal;
A video encoder comprising:
[0048]
(4) The video encoder according to item 3, wherein the changed motion compensation module is operable to perform a full pel search according to the central bias orthogonal search technique.
(5) The video encoder according to item 3, wherein the changed motion compensation module is operable to perform a half-pel search according to an orthogonal search technique.
(6) The present invention includes a video encoder that is optimized to be configured as software that can be executed using a general purpose DSP or in a general purpose microprocessor. The present invention includes a modified motion detector module (50) that classifies the currently processed block of images as moving or stationary. The blocks classified as having motion are then processed by a modified motion compensation module (52) that uses a central bias orthogonal search procedure to align the blocks with previously processed images. The zero block detector module (54) determines whether the block generates a zero-valued block after being processed by the transform module (18) and the quantization module (20). If a zero-valued block is predicted, the transform module (18) and quantization module (20) are bypassed.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a prior art video encoder.
FIG. 2 is a block diagram illustrating a prior art video decoder.
FIG. 3 shows a first embodiment of a video encoder according to the invention.
FIG. 4 shows a second embodiment of a video encoder according to the invention.
FIG. 5 shows a third embodiment of a video encoder according to the invention.
FIG. 6 is a flowchart showing the operation of the video encoder according to the present invention.
FIG. 7 is a flow diagram illustrating the operation of a modified motion detector module according to the present invention.
FIG. 8 is a flowchart illustrating the operation of a modified motion compensation module according to the present invention.
FIG. 9 is a block diagram illustrating the operation of a zero block predictor module according to the present invention.
[Explanation of symbols]
50 Modified motion detector module
52 Modified motion compensation module
54 Zero Block Predictor Module

Claims (5)

ビデオエンコーダにおいて、
入力ビデオ信号を受け入れ、複数のピクセルを含んだ現在の画像を表す、マクロブロックなどの第1の組のデータ信号を発生するカラー変換モジュールと、
上記カラー変換モジュールに結合されており、上記第1の組のデータ信号に応じて、上記現在の画像を動きのあるものあるいは静止のものとして分類する分類信号、ピクセルの信号値が大であるとされる時に最大の信号値と置き換えられる最大値信号指示器、及び前記複数ピクセルのうちのいくつが静止のものとして分類されたかを示すカウンタを発生する変更された動き検出器モジュールと、
記変更された動き検出器モジュールによって発生された上記分類信号およびフィードバックモジュールによって発生され前の画像を表す第2の組のデータ信号に応じて、上記現在の画像の動きを補償する変更された動き補償モジュールと、
記最大値信号指示器、及び上記カウンタに応じて、上記第1の組のデータ信号についての計算がゼロ値データを発生するかどうかを指示するゼロブロック信号を発生するゼロブロック予測器モジュールと、
上記ゼロブロック信号に応じて、上記第1の組のデータ信号からデジタル化したデータ信号を発生する計算モジュールと、
上記デジタル化したデータ信号に応じて、上記動き補償モジュールに入力するための上記第2の組のデータ信号を発生する上記フィードバックモジュールと、
上記デジタル化したデータ信号に応じて、エンコード化データ信号を発生するコーディングモジュールと、
を具備したことを特徴とするビデオエンコーダ。
In video encoder,
A color conversion module that accepts an input video signal and generates a first set of data signals, such as macroblocks, representing a current image including a plurality of pixels;
A classification signal that is coupled to the color conversion module and classifies the current image as moving or stationary according to the first set of data signals, and the pixel signal value is large A modified motion detector module that generates a maximum value signal indicator that is replaced with a maximum signal value when being done, and a counter that indicates how many of the plurality of pixels have been classified as stationary ;
In response to a second set of data signals representing an image before the upper Symbol Ru generated by the classification signal and the feedback module generated by the modified motion detector module, is changed to compensate for the motion of the current image A motion compensation module,
Upper Symbol maximum value signal indicator, and in response to the counter, the zero block predictor module whether calculations for the first set of data signals to generate a zero value data to generate the finger Shimesuru zero block signal When,
A calculation module for generating a digitized data signal from the first set of data signals in response to the zero block signal;
The feedback module for generating the second set of data signals for input to the motion compensation module in response to the digitized data signal;
A coding module for generating an encoded data signal in response to the digitized data signal;
A video encoder comprising:
請求項1記載のビデオエンコーダにおいて、上記変更された動き補償モジュールは上記中央バイアス直交サーチ技術に従って現在の画像の動き補償を行うように動作可能であることを特徴とするビデオエンコーダ。  The video encoder of claim 1, wherein the modified motion compensation module is operable to perform motion compensation of a current image in accordance with the central bias orthogonal search technique. 請求項2記載のビデオエンコーダにおいて、上記変更された動き補償モジュールは上記中央バイアス直交サーチ技術に従って全ピクセルサーチを行うように動作可能であることを特徴とするビデオエンコーダ。  The video encoder of claim 2, wherein the modified motion compensation module is operable to perform a full pixel search according to the central bias orthogonal search technique. 請求項2記載のビデオエンコーダにおいて、上記変更された動き補償モジュールは直交サーチ技術に従って半ピクセルサーチを行うように動作可能であることを特徴とするビデオエンコーダ。  The video encoder of claim 2, wherein the modified motion compensation module is operable to perform a half-pixel search according to an orthogonal search technique. 請求項2記載のビデオエンコーダにおいて、上記変更された動き補償モジュールは、
前記前の画像内の前のマクロブロック内のサーチする点の周囲の各方向にある近傍の点の組からのデータ信号と現在のデータ信号のマクロブロックの間の絶対差を計算する手段であって、中心の点において最適の整合が得られた場合には最適の点として上記中心の点を選択し、最適の点が得られなかった場合は対角線に沿わない方向にある近傍の点から離れた距離にある直交点において整合するか否かを判定し、直交点において最適に整合する場合には直交サーチ技術に従って最適な整合を選択し、直交点の近傍において最適に整合する場合には最適な整合点の近傍の点を上記中心点として選択する前記計算手段を有することを特徴とするビデオエンコーダ。
The video encoder of claim 2, wherein the modified motion compensation module is
Means for calculating an absolute difference between a data signal from a set of neighboring points in each direction around a point to be searched in a previous macroblock in the previous image and a macroblock of the current data signal; If the optimum match is obtained at the center point, the center point is selected as the optimum point, and if the optimum point is not obtained, it is separated from the neighboring points in the direction not along the diagonal line. Whether or not to match at an orthogonal point at a certain distance, and if optimal matching is performed at the orthogonal point, the optimal matching is selected according to the orthogonal search technique, and optimal when matching is optimal near the orthogonal point. A video encoder comprising the calculating means for selecting a point near a matching point as the center point.
JP1153097A 1997-01-24 1997-01-24 Method and apparatus for improved video coding using a zero block predictor module Expired - Fee Related JP4564599B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1153097A JP4564599B2 (en) 1997-01-24 1997-01-24 Method and apparatus for improved video coding using a zero block predictor module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1153097A JP4564599B2 (en) 1997-01-24 1997-01-24 Method and apparatus for improved video coding using a zero block predictor module

Publications (2)

Publication Number Publication Date
JPH10224780A JPH10224780A (en) 1998-08-21
JP4564599B2 true JP4564599B2 (en) 2010-10-20

Family

ID=11780532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1153097A Expired - Fee Related JP4564599B2 (en) 1997-01-24 1997-01-24 Method and apparatus for improved video coding using a zero block predictor module

Country Status (1)

Country Link
JP (1) JP4564599B2 (en)

Also Published As

Publication number Publication date
JPH10224780A (en) 1998-08-21

Similar Documents

Publication Publication Date Title
JP2924431B2 (en) Coding method
JP2897763B2 (en) Motion compensation coding device, decoding device, coding method and decoding method
EP1262073B1 (en) Methods and apparatus for motion estimation using neighboring macroblocks
EP0637894B1 (en) Apparatus and method for detecting motion vectors to half-pixel accuracy
US6483876B1 (en) Methods and apparatus for reduction of prediction modes in motion estimation
US5926221A (en) Method and apparatus for improved video coding using a center-biased orthogonal search technique and a zero block predictor module
US20030156646A1 (en) Multi-resolution motion estimation and compensation
US20070071096A1 (en) Transcoder and transcoding method operating in a transform domain for video coding schemes possessing different transform kernels
JPH09179987A (en) Method and device for detecting motion vector
KR20050025567A (en) Predicting motion vectors for fields of forward-predicted interlaced video frames
KR20000076522A (en) Motion estimation using orthogonal transform-domain block matching
JPH0955945A (en) Movement vector specifying method and device
WO2001049029A1 (en) Methods and apparatus for motion estimation in compressed domain
EP0786907A2 (en) Video encoder
JPH09191459A (en) Method and device for coding video data flow of video sequence consisting of image block
CN1136728C (en) Method and equipment for testing optimum movement vector
US5790207A (en) Motion compensation method for use in an image encoding system
JP4564599B2 (en) Method and apparatus for improved video coding using a zero block predictor module
KR100266161B1 (en) Method of predicting motion for digital image
JPH0730899A (en) Hierarchical motion vector detection system
JP4164903B2 (en) Video code string conversion apparatus and method
KR100262962B1 (en) Motion prediction method and apparatus
JPH06153185A (en) Motion compensation device and coder using the device
JPH11275591A (en) Moving image coding decoding device, moving image coding decoding method and moving image code record medium
JPH10150665A (en) Method for generating predictive image, and method and device for image encoding

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061031

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070131

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070416

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070910

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071023

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080321

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100628

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100802

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees