Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3573176B2 - Moving image encoding method and apparatus - Google Patents
[go: Go Back, main page]

JP3573176B2 - Moving image encoding method and apparatus - Google Patents

Moving image encoding method and apparatus Download PDF

Info

Publication number
JP3573176B2
JP3573176B2 JP34707395A JP34707395A JP3573176B2 JP 3573176 B2 JP3573176 B2 JP 3573176B2 JP 34707395 A JP34707395 A JP 34707395A JP 34707395 A JP34707395 A JP 34707395A JP 3573176 B2 JP3573176 B2 JP 3573176B2
Authority
JP
Japan
Prior art keywords
motion vector
macroblock
significant
frame
motion
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 - Lifetime
Application number
JP34707395A
Other languages
Japanese (ja)
Other versions
JPH09168154A (en
Inventor
悟史 宮地
修一 松本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP34707395A priority Critical patent/JP3573176B2/en
Priority to US08/766,145 priority patent/US5940131A/en
Publication of JPH09168154A publication Critical patent/JPH09168154A/en
Application granted granted Critical
Publication of JP3573176B2 publication Critical patent/JP3573176B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、動画像信号を動き補償して符号化する動画像符号化方法及び装置に関し、特に、低ビットレートで伝送する場合に有効な動画像符号化方法及び装置に関する。
【0002】
【従来の技術】
ブロックマッチング法を用いる従来の動画像符号化装置においては、符号化対象マクロブロックを有意・非有意に分類し、有意ブロックのみを符号化することによって、情報量の削減が行われる。
【0003】
即ち、現フレームの符号化対象マクロブロックと、前フレームの動き補償を施したマクロブロックとの差分をとり、この差分値がある閾値を下回るマクロブロックは非有意マクロブロックとして取扱い、動きベクトルのみを伝送すると共に非有意でありかつ動きベクトルが零の静止しているマクロブロックに関しては、一切の符号化を行わないという方法が用いられてきた。
【0004】
【発明が解決しようとする課題】
このような従来の方法によると、現フレームの符号化対象マクロブロックと前フレームの動き補償を施したマクロブロックとの差分(歪)ができるだけ小さくなるような前フレームのマクロブロックを従って動きベクトルを検出し、その検出した動きベクトルによって動き補償を行うというブロックマッチング法が用いられているため、次のような問題が生じてしまう。
【0005】
差分値(歪)を最も小さくするように参照画像のマクロブロックを求めて動きベクトルを検出するシステムにおいて上述のようなマクロブロックの有意性の判定を行うと、非有意と判定されるマクロブロックに関して不必要な大きさの動きベクトルが伝送されてしまう恐れがある。即ち、非有意のマクロブロックでは、伝送される情報が動きベクトルのみとなるため、小さな動きベクトルでも十分精度の良い動き補償を行える場合や、動き補償を行わなくても差分値があまり増大しない場合などにも大きな動きベクトルが送られ、その分、無駄な情報が伝送されてしまうこととなる。
【0006】
従って本発明の目的は、画像の品質劣化を防止しつつ、伝送情報量を低減化することができる動画像符号化方法及び装置を提供することにある。
【0007】
【課題を解決するための手段】
本発明は、発生させた動きベクトルを用いて前フレームのマクロブロックに動き補償を施し、動き補償を施したマクロブロックと現フレームの符号化対象マクロブロックとの差分である予測誤差を算出し、算出した予測誤差を閾値と比較することによりこの符号化対象マクロブロックが閾値より小さい非有意マクロブロックであるか大きい有意マクロブロックであるかを判別し、有意マクロブロックである場合は符号化を行う動画像符号化方法に関するものである。特に本発明によれば、閾値を動きベクトルの大きさが大きくなると減少する関数とし、非有意マクロブロックであると判別した場合は、動きベクトルのみを伝送するようにすると共に符号化対象マクロブロックが非有意と判別される範囲内で最小のベクトルスカラ長の動きベクトルを選択している。
【0008】
符号化対象マクロブロックが非有意と判別される範囲内で最小のベクトルスカラ長の動きベクトルを選択しているので、動きベクトルのみを伝送する場合にその伝送される動きベクトル情報量が少なくなり、伝送情報量の低減化を図ることができる。しかも、非有意マクロブロックであるか大きい有意マクロブロックであるかを判別する閾値を動きベクトルの大きさが大きくなると減少する関数としているので、動きベクトルが小さいと非有意マクロブロックと判定され易くなり、動きベクトルが大きいと非有意マクロブロックと判定され難くなる。
【0009】
動きベクトルを最小の大きさの動きベクトルから順次大きくして発生させ、その発生の都度、発生した動きベクトルを用いて動き補償を施し、予測誤差を算出し、算出した予測誤差を閾値と比較することにより有意及び非有意の判別を行うようにすることが好ましい。
【0010】
閾値を、動きベクトルの大きさが大きくなると減少し、動きベクトルがある値を越えると飽和する関数とすることが好ましい。
【0011】
本発明は、さらに、動きベクトルを発生させる動きベクトル発生手段と、発生させた動きベクトルを用いて前フレームのマクロブロックに動き補償を施す手段と、動き補償を施したマクロブロックと現フレームの符号化対象マクロブロックとの差分である予測誤差を算出する手段と、算出した予測誤差を閾値と比較することによりこの符号化対象マクロブロックが閾値より小さい非有意マクロブロックであるか大きい有意マクロブロックであるかを判別する判別手段と、有意マクロブロックと判別した場合は符号化を行う手段とを備えた動画像符号化装置に関している。特に本発明では、非有意マクロブロックであると判別した場合は動きベクトルのみを伝送する手段をさらに備えており、判別手段の閾値は動きベクトルの大きさが大きくなると減少する関数であり、動きベクトル発生手段は符号化対象マクロブロックが非有意と判別される範囲内で最小のベクトルスカラ長の動きベクトルを選択するべく構成されている。
【0012】
符号化対象マクロブロックが非有意と判別される範囲内で最小のベクトルスカラ長の動きベクトルが選択されるので、動きベクトルのみを伝送する場合にその伝送される動きベクトル情報量が少なくなり、伝送情報量の低減化を図ることができる。しかも、非有意マクロブロックであるか大きい有意マクロブロックであるかを判別する閾値を動きベクトルの大きさが大きくなると減少する関数としているので、動きベクトルが小さいと非有意マクロブロックと判定され易くなり、動きベクトルが大きいと非有意マクロブロックと判定され難くなる。
【0013】
動きベクトル発生手段は、動きベクトルを最小の大きさの動きベクトルから順次大きくして発生させる手段であり、動き補償手段、算出手段及び判別手段は、動きベクトルが発生した都度、発生した動きベクトルを用いて動き補償を施し、予測誤差を算出し、算出した予測誤差を閾値と比較することにより有意及び非有意の判別を行う手段であることが好ましい。
【0014】
判別手段の閾値が、動きベクトルの大きさが大きくなると減少し、動きベクトルがある値を越えると飽和する関数であることが好ましい。
【0015】
【発明の実施の形態】
以下、図面を参照して本発明を詳細に説明する。図1は本発明の動画像符号化装置の一実施形態の構成を概略的に示すブロック図である。
【0016】
同図において、1は可変フレームレート動画像符号化装置全体の構成を示している。この動画像符号化装置1は、映像信号入力部2と、この映像信号入力部2に接続されており入力された映像信号に対してフレームスキップを行うフレームスキップ部3と、このフレームスキップ部3に接続されておりフレームスキップして入力された少なくとも前フレーム及び現フレームの映像信号を格納しておくフレームメモリ4と、フレームメモリ4から出力される現フレームの符号化対象マクロブロック(注目マクロブロック)の映像信号5が入力される符号化エンジン部6とを含んでいる。
【0017】
フレームメモリ4には、上述の符号化エンジン部6と、動き補償部8と、減算部13とが接続されている。後述するようにスカラ長の小さいものから大きいものへ順次に動きベクトルを発生しその動きベクトル情報9及びスカラ長情報10を出力する動きベクトル発生部11には、動き補償部8と、符号化エンジン部6と、VLC(可変長符号化部)23と、マクロブロック有意/非有意判定部15と、フレームスキップ数決定部20とが接続されている。動き補償部8には、前フレームの各マクロブロックの映像信号7がフレームメモリ4から与えられる。
【0018】
減算部13には、その+入力に接続されたフレームメモリ4から現フレームの注目マクロブロックの映像信号5と、−入力に接続された動き補償部8から動き補償された前フレームのマクロブロックの映像信号12とが入力される。減算部13の出力は有意/非有意判定部15に接続されている。この有意/非有意判定部15には、減算部13からマクロブロック間差分値14が動きベクトル発生部11からスカラ長情報10が入力される。有意/非有意判定部15の出力はフレームスキップ数決定部20に接続されている。
【0019】
このフレームスキップ数決定部20は、さらに、出力バッファメモリ部17及びフレームスキップ部3に接続されており、有意/非有意判定部15から有意マクロブロック割合情報16が動きベクトル発生部11からスカラ長情報10が出力バッファメモリ部17から直前までの発生情報量18がそれぞれ入力されていて、フレームスキップ数情報19を発生してフレームスキップ部3及び符号化エンジン部6へ出力する。
【0020】
可変長符号化部23は、有意/非有意判定部15と、符号化エンジン部6と、動きベクトル発生部11とに接続されており、それぞれからマクロブロック有意情報21、量子化情報22及び動きベクトル情報9を受け取り符号化を行う。この可変長符号化部23はさらに前述の出力バッファメモリ部17の入力に接続されており符号化出力24を出力する。出力バッファメモリ部17の出力は符号出力部25に接続されている。
【0021】
符号化エンジン部6は後述する一部構成を除いて公知の符号化装置構成となっている。即ち、フレーム間予測かフレーム内予測かに応じて切り替えを行うモードスイッチ6a及び6bと、減算部6cと、加算部6dと、有意/非有意判定部15からマクロブロック有意情報21に応じて有意の場合はオン、非有意の場合はオフとなるスイッチ6eと、DCT(離散コサイン変換)回路6fと、Q(量子化回路)6gと、Q−1(逆量子化回路)6hと、IDCT(離散コサイン逆変換)回路6iと、フレームメモリ6jと、動き補償部6kとから主として構成されている。
【0022】
図2は本実施形態における主要動作を説明するフローチャートである。以下、この図を合わせ用いて本実施形態の動作を説明する。
【0023】
映像信号が映像信号入力部2に入力されると(ステップS1)、このフレームが1枚目のフレームかどうか判別される(ステップS2)。1枚目のフレームである場合は、フレームスキップ部3におけるフレームスキップ動作(ステップS3)を行わずに、映像信号はフレームメモリ部4に入力され、現フレームメモリに格納される(ステップS4)。次いで、このフレームが1枚目のフレームかどうか再度判別される(ステップS5)。
【0024】
1枚目のフレームである場合は、フレームスキップ数決定部20から出力されるフレームスキップ数19を初期値N(枚)に設定する(ステップS6)。次いで、映像信号は符号化エンジン部6へと入力されてフレーム内符号化が行われ、可変長符号化部23でビットストリームに変換された後、出力バッファメモリ部17を通じて、符号出力部25から出力される(ステップS7)。その後、フレームメモリ部4の現フレームメモリに格納されている内容を前フレームメモリに移動し(ステップS8)、ステップS2へ戻る。
【0025】
以後は2枚目以降のフレームとなるため、フレームスキップ部3において、フレームスキップ数19に応じた入力映像信号のフレームスキップ動作が行われる(ステップS3)。フレームスキップ部3においてフレームスキップされた映像信号は、フレームメモリ4の現フレームメモリに格納される(ステップS4)。その後、フレームメモリ4の現フレームメモリ及び前フレームメモリに格納されている画像が所定数のマクロブロックに分割される(ステップS9)。
【0026】
次いで、現フレームの全てのマクロブロックについて処理が終了したかどうか判別し(ステップS10)、終了してない場合は、動きベクトル発生部11より、動きベクトルを発生させる(ステップS11)。この動きベクトルは、零ベクトル(0,0)から順番にその大きさが徐々に大きくなるように一定画素ずつ増大させて発生されるものである。
【0027】
図3は動きベクトル発生部の動作の概念図であり、以下同図を参照してこの動きベクトル発生部11の動作を説明する。図3の各格子は、動きベクトルの最小単位を示している。例えば、動きベクトルの増加ステップが4分の1画素単位であれば、各格子は4分の1画素を表している。丸で囲まれた数字は、動きベクトルを発生させる順番である。▲1▼零ベクトル(0,0)を初めとして、この数字の順番に▲2▼(0,1)、▲3▼(1,0)、▲4▼(0,−1)、▲5▼(−1,0)、▲6▼(1,1)、・・・、と動きベクトルをその大きさの小さい順に発生させる。
【0028】
この動きベクトルは、動きベクトル情報9として動き補償部8、符号化エンジン部6及び可変長符号化部23に印加される。またそのスカラ長は動きベクトルスカラ長情報10としてマクロブロック有意性判定部15及びフレームスキップ数決定部20に印加される。
【0029】
次いで、動きベクトル発生部11において全ての種類の動きベクトルを発生したかどうか判別し(ステップS12)、発生していない場合は、そのマクロブロックに関する動き補償処理を動き補償部8で行う(ステップS13)。即ち、フレームメモリ4に蓄えられている、前フレームの注目マクロブロックに対して動きベクトル発生部11から与えられる1つの動きベクトル情報9で動き補償を施したマクロブロックを抽出し、動き補償マクロブロック12として出力する。
【0030】
次いで、現フレームの注目マクロブロック5と動き補償マクロブロック12とを減算部13に入力し、各画素毎の差分絶対値14(歪)を算出してマクロブロック有意性判定部15へと出力する(ステップS14)。マクロブロック有意性判定部15では、この差分絶対値14からそのマクロブロックが有意であるか非有意であるかを判定する(ステップS15)。
【0031】
図4はマクロブロック有意性判定部15の動作の概念図であり、以下同図を参照して、この有意性判定部15の機能を説明する。まず、マクロブロックを縦横半分ずつ4分割し、それぞれの分割ブロックの差分絶対値の総和を求める。その4つの総和値をT1、T2、T3、T4とした場合、T1〜T4の中の最大のものmax(T1,T2,T3,T4)が、閾値Thを上回るマクロブロックを有意マクロブロック、それ以外を非有意マクロブロックと判定する。
【0032】
この判定の閾値Thは、図5にその一例を示すように、動きベクトルスカラ長をパラメータに含む関数によって決定される。この関数は、図5に示す特性曲線に限定されるものではなく、動きベクトルスカラ長が小さい場合は大きく、動きベクトル長が大きくなると減少し、動きベクトルがある値を越えると飽和する特性であればどのような特性曲線(直線)であってもよい。これにより動きベクトルが小さいとき程、非有意マクロブロックと判定される傾向になる。
【0033】
非有意と判定された場合、動きベクトル及びその「非有意」の情報を保存し(ステップS16)、次のマクロブロックに進み(ステップS17)、ステップS10〜S18の処理を繰り返す。有意と判定された場合、ステップS11へ戻って次の大きさの動きベクトルを発生させてステップS12〜S15の同様の処理を行う。
【0034】
ステップS12において、動きベクトル発生部11が全ての種類の動きベクトルを発生したと判別した場合は、そのマクロブロックは最後まで非有意と判定されなかったため、最終的に有意マクロブロックであることとなる。この場合は、フレーム間差分値が最も小さかった動きベクトル及びその差分値を保存し(ステップS18)、次のマクロブロックに進み(ステップS17)、ステップS10〜S18の処理を繰り返す。
【0035】
このように、各マクロブロック毎に、動きベクトル発生部11から得られるそれぞれのベクトルに対し、現フレームの有意性の判定を行う。全てのマクロブロックに対してこの処理が終了した場合(ステップS10)、次フレームまでのスキップ数19がフレームスキップ数決定部20において算出される(ステップS19)。フレームスキップ数決定部20は、入力されるフレーム内に占める有意マクロブロックの割合情報16、有意マクロブロックの動きベクトルのスカラ長情報10、及び/又は符号化直前までの発生情報量18をパラメータとして含む関数によってフレームスキップ数19を決定する。
【0036】
図6は有意マクロブロック割合に対するフレームスキップ数の好ましい特性の一例を表わしている。有意マクロブロック割合が零の場合にフレームスキップ数は零であり、有意マクロブロック割合が大きくなるにつれてフレームスキップ数も大きくなり、有意マクロブロック割合がある値を越えると飽和する特性となっている。なお、同図におけるフレームスキップ数の数値は、単なる一例でありこれに限定されるものではない。このように、現フレームを占めている有意マクロブロックの割合が大きい場合、その現フレームを符号化するのに必要な情報量は大きいと考えられるので、一定の品質を維持できるまで、フレームスキップ数を必要最小限大きくしている。しかし、フレームスキップ数の甚だしい増加は、動き補償による情報量削減の効率が低下してしまうので、有意マクロブロック割合16の増加に対して、フレームスキップ数19は増加させ続けるのではなく、飽和するような傾向とする。
【0037】
図7は動きベクトルのスカラ長に対するフレームスキップ数の好ましい特性の一例を表わしている。動きベクトルスカラ長が大きくなるにつれてフレームスキップ数が減少する特性となっている。なお、同図におけるフレームスキップ数の数値は、単なる一例でありこれに限定されるものではない。このように、有意マクロブロックの持つ動きベクトルスカラ長10が大きい場合、フレームスキップ数19を大きくすると視覚的に動きの不自然な画像となるため、フレームスキップ数19をやや減少させている。
【0038】
図8は直前までの発生情報量(出力バッファメモリ部17の容量に対する情報蓄積量の割合)に対するフレームスキップ数の好ましい特性の一例を表わしている。直前までの発生情報量が大きくなるにつれてフレームスキップ数も大きくなる特性となっている。なお、同図におけるフレームスキップ数の数値は、単なる一例でありこれに限定されるものではない。このように、直前までの発生情報量18が大きいときには、スキップ数を少し増加させ、発生情報量を抑えてバッファ溢れを防いでいる。
【0039】
フレームスキップ数は、上述の有意マクロブロックの割合、有意マクロブロックの動きベクトルスカラ長、及び符号化直前までの発生情報量のいずれか1つをパラメータとする関数であってもよいが、これらを全てパラメータとする関数であってもよい。
【0040】
図9はその場合のフレームスキップ数の好ましい特性を3次元的に表わしている。即ち、有意マクロブロック割合が零の場合にフレームスキップ数は零であり、有意マクロブロック割合が大きくなるにつれてフレームスキップ数も大きくなり、有意マクロブロック割合がある値を越えると飽和し、動きベクトルスカラ長が大きくなるにつれてフレームスキップ数が減少し、直前までの発生情報量が大きくなるにつれてフレームスキップ数も大きくなる特性となっている。
【0041】
一例として、注目フレームにおける有意マクロブロック割合が30%、動きベクトルスカラ長が60、直前までの情報発生量が出力バッファの70%を占めているとすると、図6よりスキップ数は7枚、図7よりスキップ数は+1枚、図8よりスキップ数は−1枚であるので、最終的なフレームスキップ数は、この場合、7+1+(−1)=7枚となる。
【0042】
次フレームまでのフレームスキップ数を決定した後、決定されたフレームスキップ数19、現フレームの注目マクロブロック5、動きベクトル情報9、及びマクロブロックの有意情報21をそれぞれ符号化エンジン部6に入力する(ステップS20)と共に、動きベクトル情報9及びマクロブロックの有意情報21を可変長符号化部23に入力する。
【0043】
符号化エンジン部6において、決定されたフレームスキップ数19は量子化部6gに入力され、量子化器選択のためのパラメータとして用いられる。フレームスキップ数19が大きいときは、伝送路に余裕があるため、やや細かい量子化器を選択する。逆にフレームスキップ数19が小さいときには、やや粗い量子化器を選択するようにする。図10はフレームスキップ数に対する量子化ステップの好ましい特性の一例を表わしている。フレームスキップ数が大きくなるにつれて量子化ステップ数が細かくなる特性となっている。なお、同図におけるフレームスキップ数の数値は、単なる一例でありこれに限定されるものではない。
【0044】
マクロブロックの有意情報21はスイッチ6eに印加され、有意マクロブロックの場合はこのスイッチ6eをオンとしてそのマクロブロックに関する予測誤差を量子化するが、非有意マクロブロックの場合はこのスイッチ6eをオフとしてそのマクロブロックに関する予測誤差を量子化しない。符号化エンジン部6のその他の動作は公知であるため、説明を省略する。
【0045】
符号化エンジン部6で得られたそのフレームの量子化データ22(有意マクロブロックの場合)、動ベクトル情報9、及びマクロブロックの有意情報21は可変長符号化部23で符号化され(ステップS21)、出力バッファメモリ部17を通して、符号出力部25から伝送路上に出力される。次いでステップS2からの同様の動作が次のフレームに関して繰り返される。
【0046】
以上述べたように本実施形態によれば、動きベクトルのみを伝送する非有意マクロブロックに関して、そのマクロブロックが非有意と判定される範囲内で、動きベクトルのスカラ長が小さくなるように選ばれるので、発生する動きベクトル情報量を抑えることができる。
【0047】
また、フレームスキップ数を注目フレームの符号化前に決定することにより、その画像の持つ特徴を十分に生かしたフレームスキップ数を決定することが可能となる。その結果、画像の持つ情報量をあらかじめ予測し、フレームレートの制御をすることが可能になり、品質が一定な可変フレームレート画像符号化が可能となった。また、動きベクトル情報をフレームレートの制御に用いることができるので、視覚的に自然な動きの画像を得ることができる。
【0048】
以上述べた実施形態は全て本発明を例示的に示すものであって限定的に示すものではなく、本発明は他の種々の変形態様及び変更態様で実施することができる。従って本発明の範囲は特許請求の範囲及びその均等範囲によってのみ規定されるものである。
【0049】
【発明の効果】
以上詳細に説明したように本発明によれば、非有意マクロブロックであると判別した場合は動きベクトルのみを伝送するようにし、符号化対象マクロブロックが非有意と判別される範囲内で最小のベクトルスカラ長の動きベクトルを選択しているので、動きベクトルのみを伝送する場合にその伝送される動きベクトル情報量が少なくなり、伝送情報量の低減化を図ることができる。
【0050】
閾値が動きベクトルの大きさをパラメータに含む関数によって決定され、関数が動きベクトルの大きさが大きくなると減少する関数であるか、又は動きベクトルの大きさが大きくなると減少し、動きベクトルがある値を越えると飽和する関数であるようにすることにより、動きベクトルが小さいほど、非有意マクロブロックと判定され易くなる。
【図面の簡単な説明】
【図1】本発明の動画像符号化装置の一実施形態の構成を概略的に示すブロック図である。
【図2】図1の実施形態における主要動作を説明するフローチャートである。
【図3】動きベクトル発生部の動作の概念図である。
【図4】マクロブロック有意性判定部の動作の概念図である。
【図5】マクロブロック有意性判定閾値の特性図である。
【図6】有意マクロブロック割合に対するフレームスキップ数の好ましい特性の一例を表わす特性図である。
【図7】動きベクトルのスカラ長に対するフレームスキップ数の好ましい特性の一例を表わす特性図である。
【図8】直前までの発生情報量に対するフレームスキップ数の好ましい特性の一例を表わす特性図である。
【図9】フレームスキップ数の好ましい特性を3次元的に表わす特性図である。
【図10】フレームスキップ数に対する量子化ステップの好ましい特性の一例を表わす特性図である。
【符号の説明】
1 可変フレームレート動画像符号化装置
2 映像信号入力部
3 フレームスキップ部
4、6j フレームメモリ
6 符号化エンジン部
6a、6b モードスイッチ
6c、13 減算部
6d 加算部
6e スイッチ
6f DCT(離散コサイン変換)回路
6g Q(量子化回路)
6h Q−1(逆量子化回路)
6i IDCT(離散コサイン逆変換)回路
6k、8 動き補償部
11 動きベクトル発生部
15 マクロブロック有意/非有意判定部
17 出力バッファメモリ部
20 フレームスキップ数決定部
23 VLC(可変長符号化部)
25 符号出力部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a moving picture coding method and apparatus for coding a moving picture signal with motion compensation, and more particularly to a moving picture coding method and apparatus effective when transmitting at a low bit rate.
[0002]
[Prior art]
In a conventional moving picture coding apparatus using a block matching method, the amount of information is reduced by classifying a coding target macroblock as significant or insignificant and coding only significant blocks.
[0003]
That is, the difference between the current macroblock to be coded in the current frame and the motion-compensated macroblock in the previous frame is calculated. Macroblocks with a difference value below a certain threshold are treated as insignificant macroblocks, and only the motion vector is calculated. A method has been used that does not perform any encoding on stationary macroblocks that are transmitted and are insignificant and have zero motion vector.
[0004]
[Problems to be solved by the invention]
According to such a conventional method, the motion vector is determined according to the macroblock of the previous frame such that the difference (distortion) between the current macroblock to be encoded of the current frame and the macroblock subjected to motion compensation of the previous frame is as small as possible. Since the block matching method of detecting and performing motion compensation using the detected motion vector is used, the following problem occurs.
[0005]
When the significance of a macroblock is determined as described above in a system that determines a macroblock of a reference image and detects a motion vector so as to minimize the difference value (distortion), a macroblock determined to be insignificant is determined. Unnecessarily large motion vectors may be transmitted. In other words, in a non-significant macroblock, information to be transmitted is only a motion vector. Therefore, when motion compensation with sufficient accuracy can be performed even with a small motion vector, or when a difference value does not increase so much without motion compensation. Etc., a large motion vector is transmitted, and accordingly, useless information is transmitted.
[0006]
Accordingly, it is an object of the present invention to provide a moving picture coding method and apparatus capable of reducing the amount of transmission information while preventing image quality deterioration.
[0007]
[Means for Solving the Problems]
The present invention performs motion compensation on the macroblock of the previous frame using the generated motion vector, and calculates a prediction error that is a difference between the macroblock subjected to motion compensation and the current macroblock to be coded, By comparing the calculated prediction error with a threshold, it is determined whether the current macroblock is a non-significant macroblock or a significant macroblock larger than the threshold, and if the macroblock is a significant macroblock, coding is performed. The present invention relates to a moving picture coding method. In particular, according to the present invention, the threshold value is set to a function that decreases as the size of the motion vector increases, and when it is determined that the macroblock is insignificant, only the motion vector is transmitted and the encoding target macroblock is The motion vector having the minimum vector scalar length within the range determined to be insignificant is selected.
[0008]
Since the motion vector having the minimum vector scalar length is selected within the range in which the encoding target macroblock is determined to be insignificant, the amount of transmitted motion vector information is reduced when only the motion vector is transmitted, The amount of transmission information can be reduced. In addition, since the threshold for determining whether a macroblock is a non-significant macroblock or a large macroblock is a function that decreases as the size of the motion vector increases, it is easy to determine that the motion vector is small as a nonsignificant macroblock. If the motion vector is large, it is difficult to determine that the block is an insignificant macroblock.
[0009]
A motion vector is generated by sequentially increasing the motion vector from the smallest one, and each time the motion vector is generated, motion compensation is performed using the generated motion vector, a prediction error is calculated, and the calculated prediction error is compared with a threshold value. Thus, it is preferable to make a distinction between significant and insignificant.
[0010]
Preferably, the threshold is a function that decreases as the magnitude of the motion vector increases and saturates when the motion vector exceeds a certain value.
[0011]
The present invention further provides a motion vector generating unit for generating a motion vector, a unit for performing motion compensation on a macroblock of a previous frame using the generated motion vector, a code of a macroblock subjected to motion compensation and a code of a current frame. Means for calculating a prediction error that is a difference from the encoding target macroblock, and comparing the calculated prediction error with a threshold to determine whether the encoding target macroblock is a non-significant macroblock smaller than the threshold or a significant macroblock. The present invention relates to a moving picture coding apparatus provided with a discriminating means for discriminating whether there is a macroblock and a means for coding when a significant macroblock is discriminated. In particular, the present invention further comprises means for transmitting only the motion vector when the motion vector is determined to be a non-significant macroblock, and the threshold value of the determination means is a function that decreases as the size of the motion vector increases. The generating means is configured to select a motion vector having a minimum vector scalar length within a range in which the encoding target macroblock is determined to be insignificant.
[0012]
Since the motion vector having the minimum vector scalar length is selected within the range in which the encoding target macroblock is determined to be insignificant, when only the motion vector is transmitted, the amount of transmitted motion vector information is reduced. The amount of information can be reduced. In addition, since the threshold for determining whether a macroblock is a non-significant macroblock or a large macroblock is a function that decreases as the size of the motion vector increases, it is easy to determine that the motion vector is small as a nonsignificant macroblock. If the motion vector is large, it is difficult to determine that the block is an insignificant macroblock.
[0013]
The motion vector generation means is means for generating a motion vector by sequentially increasing the motion vector from the smallest magnitude motion vector, and the motion compensation means, the calculation means, and the discrimination means generate the motion vector each time a motion vector is generated. It is preferable that the means is a means for performing motion compensation using the data, calculating a prediction error, and comparing the calculated prediction error with a threshold to determine significance or insignificance.
[0014]
It is preferable that the threshold value of the determination means be a function that decreases as the magnitude of the motion vector increases and saturates when the motion vector exceeds a certain value.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram schematically showing a configuration of an embodiment of the moving picture coding apparatus according to the present invention.
[0016]
In FIG. 1, reference numeral 1 denotes the configuration of the entire variable frame rate video encoding device. The moving picture coding apparatus 1 includes a video signal input unit 2, a frame skip unit 3 connected to the video signal input unit 2 and performing frame skip on an input video signal, and a frame skip unit 3. And a frame memory 4 for storing at least the video signals of the previous frame and the current frame inputted by skipping the frame, and a current macroblock to be encoded of the current frame outputted from the frame memory 4 (the macro block of interest). ), And an encoding engine unit 6 to which the video signal 5 is input.
[0017]
The frame memory 4 is connected to the above-described encoding engine unit 6, motion compensation unit 8, and subtraction unit 13. As will be described later, a motion vector generation unit 11 that sequentially generates motion vectors from a small scalar length to a large scalar length and outputs the motion vector information 9 and the scalar length information 10 includes a motion compensation unit 8 and an encoding engine. The section 6, a VLC (variable length coding section) 23, a macroblock significant / insignificant determination section 15, and a frame skip number determination section 20 are connected. The video signal 7 of each macroblock of the previous frame is supplied from the frame memory 4 to the motion compensation unit 8.
[0018]
The subtractor 13 has the video signal 5 of the current macroblock of interest from the frame memory 4 connected to its + input, and the macroblock of the previous frame motion-compensated from the motion compensator 8 connected to the-input. The video signal 12 is input. The output of the subtraction unit 13 is connected to a significant / insignificant determination unit 15. The significant / insignificant determining unit 15 receives the difference value between macroblocks 14 from the subtracting unit 13 and the scalar length information 10 from the motion vector generating unit 11. The output of the significant / insignificant determination unit 15 is connected to the frame skip number determination unit 20.
[0019]
The frame skip number determination unit 20 is further connected to the output buffer memory unit 17 and the frame skip unit 3, and outputs the significant macroblock ratio information 16 from the significant / insignificant determination unit 15 to the scalar length from the motion vector generation unit 11. The generated information amount 18 immediately before the information 10 is input from the output buffer memory 17 to the frame skip number information 19, and is output to the frame skip unit 3 and the encoding engine unit 6.
[0020]
The variable-length coding unit 23 is connected to the significant / insignificant determining unit 15, the coding engine unit 6, and the motion vector generating unit 11, and the macroblock significant information 21, the quantization information 22, and the motion The vector information 9 is received and encoded. The variable length coding unit 23 is further connected to an input of the output buffer memory unit 17 and outputs a coded output 24. The output of the output buffer memory unit 17 is connected to the code output unit 25.
[0021]
The encoding engine unit 6 has a known encoding device configuration except for a partial configuration described later. That is, the mode switches 6a and 6b that switch according to the inter-frame prediction or the intra-frame prediction, the subtraction unit 6c, the addition unit 6d, and the significance / non-significance determination unit 15 determine the significance according to the macroblock significance information 21. , A switch 6e that is turned off if insignificant, a DCT (discrete cosine transform) circuit 6f, a Q (quantization circuit) 6g, a Q -1 (inverse quantization circuit) 6h, and an IDCT ( It mainly comprises a discrete cosine inverse transform circuit 6i, a frame memory 6j, and a motion compensator 6k.
[0022]
FIG. 2 is a flowchart illustrating main operations in the present embodiment. Hereinafter, the operation of this embodiment will be described with reference to FIG.
[0023]
When a video signal is input to the video signal input unit 2 (step S1), it is determined whether or not this frame is the first frame (step S2). If it is the first frame, the video signal is input to the frame memory unit 4 and stored in the current frame memory without performing the frame skip operation (step S3) in the frame skip unit 3 (step S4). Next, it is determined again whether or not this frame is the first frame (step S5).
[0024]
If the frame is the first frame, the frame skip number 19 output from the frame skip number determination unit 20 is set to an initial value N (sheets) (step S6). Next, the video signal is input to the encoding engine unit 6, subjected to intra-frame encoding, converted into a bit stream by the variable length encoding unit 23, and then output from the code output unit 25 through the output buffer memory unit 17. It is output (step S7). Thereafter, the contents stored in the current frame memory of the frame memory unit 4 are moved to the previous frame memory (step S8), and the process returns to step S2.
[0025]
Thereafter, since the subsequent frames are the second and subsequent frames, the frame skip unit 3 performs a frame skip operation of the input video signal according to the frame skip number 19 (step S3). The video signal whose frame has been skipped by the frame skip unit 3 is stored in the current frame memory of the frame memory 4 (step S4). Thereafter, the images stored in the current frame memory and the previous frame memory of the frame memory 4 are divided into a predetermined number of macro blocks (step S9).
[0026]
Next, it is determined whether or not the processing has been completed for all the macroblocks in the current frame (step S10). If the processing has not been completed, a motion vector is generated by the motion vector generation unit 11 (step S11). This motion vector is generated by increasing the size of the motion vector from the zero vector (0, 0) by a certain number of pixels so that the magnitude gradually increases.
[0027]
FIG. 3 is a conceptual diagram of the operation of the motion vector generator. Hereinafter, the operation of the motion vector generator 11 will be described with reference to FIG. Each grid in FIG. 3 indicates a minimum unit of a motion vector. For example, if the increment step of the motion vector is a quarter pixel unit, each grid represents a quarter pixel. The circled numbers indicate the order in which the motion vectors are generated. {Circle around (1)} Starting with the zero vector (0,0), in order of these numbers, {2} (0,1), {3} (1,0), {4} (0, −1), {5} (-1, 0), {circle around (6)} (1, 1),...
[0028]
This motion vector is applied as motion vector information 9 to the motion compensation unit 8, the encoding engine unit 6, and the variable length encoding unit 23. The scalar length is applied as motion vector scalar length information 10 to the macroblock significance determining unit 15 and the frame skip number determining unit 20.
[0029]
Next, it is determined whether or not all types of motion vectors have been generated in the motion vector generation unit 11 (step S12). If no motion vector has been generated, the motion compensation unit 8 performs motion compensation processing on the macroblock (step S13). ). That is, a macroblock obtained by performing motion compensation on the target macroblock of the previous frame stored in the frame memory 4 with one piece of motion vector information 9 given from the motion vector generation unit 11 is extracted. Output as 12.
[0030]
Next, the target macroblock 5 and the motion compensation macroblock 12 of the current frame are input to the subtraction unit 13, the difference absolute value 14 (distortion) of each pixel is calculated, and output to the macroblock significance determination unit 15. (Step S14). The macroblock significance determining unit 15 determines whether the macroblock is significant or non-significant from the difference absolute value 14 (step S15).
[0031]
FIG. 4 is a conceptual diagram of the operation of the macroblock significance determination unit 15, and the function of the significance determination unit 15 will be described below with reference to FIG. First, a macroblock is divided into four halves each vertically and horizontally, and the sum of absolute differences of the divided blocks is obtained. Assuming that the sum of the four values is T1, T2, T3, and T4, a macroblock whose maximum (T1, T2, T3, T4) among T1 to T4 exceeds the threshold Th is a significant macroblock, Are determined to be insignificant macroblocks.
[0032]
The threshold value Th for this determination is determined by a function including a motion vector scalar length as a parameter, as shown in an example in FIG. This function is not limited to the characteristic curve shown in FIG. 5, but is large when the motion vector scalar length is small, decreases when the motion vector length is large, and saturates when the motion vector exceeds a certain value. Any characteristic curve (straight line) may be used. As a result, the smaller the motion vector is, the more likely it is to determine a non-significant macroblock.
[0033]
If it is determined to be insignificant, the motion vector and its "insignificant" information are stored (step S16), the process proceeds to the next macroblock (step S17), and the processing of steps S10 to S18 is repeated. If it is determined to be significant, the process returns to step S11 to generate a motion vector of the next magnitude, and performs the same processing in steps S12 to S15.
[0034]
In step S12, when the motion vector generating unit 11 determines that all types of motion vectors have been generated, the macroblock has not been determined to be insignificant to the end, and is finally a significant macroblock. . In this case, the motion vector having the smallest inter-frame difference value and the difference value are stored (step S18), the process proceeds to the next macroblock (step S17), and the processing of steps S10 to S18 is repeated.
[0035]
In this way, for each macroblock, the significance of the current frame is determined for each vector obtained from the motion vector generation unit 11. When this process is completed for all macroblocks (step S10), the skip number 19 up to the next frame is calculated by the frame skip number determination unit 20 (step S19). The frame skip number determination unit 20 uses the ratio information 16 of the significant macroblock in the input frame, the scalar length information 10 of the motion vector of the significant macroblock, and / or the generated information amount 18 immediately before encoding as parameters. The frame skip number 19 is determined by the included function.
[0036]
FIG. 6 shows an example of a preferable characteristic of the frame skip number with respect to the significant macroblock ratio. When the ratio of significant macroblocks is zero, the number of frame skips is zero, and as the ratio of significant macroblocks increases, the number of frame skips also increases. When the ratio of significant macroblocks exceeds a certain value, the characteristic is saturated. It should be noted that the numerical value of the number of frame skips in the figure is merely an example, and the present invention is not limited to this. As described above, when the ratio of significant macroblocks occupying the current frame is large, the amount of information necessary to encode the current frame is considered to be large. Is as large as possible. However, if the number of frame skips is significantly increased, the efficiency of information amount reduction by motion compensation is reduced. Therefore, the frame skip number 19 does not continue to increase but saturates with respect to the increase in the significant macroblock ratio 16. Such a tendency.
[0037]
FIG. 7 shows an example of a preferable characteristic of the frame skip number with respect to the scalar length of the motion vector. As the motion vector scalar length increases, the number of frame skips decreases. It should be noted that the numerical value of the number of frame skips in the figure is merely an example, and the present invention is not limited to this. As described above, when the motion vector scalar length 10 of the significant macroblock is large, if the number of frame skips 19 is increased, the image becomes visually unnatural. Therefore, the number of frame skips 19 is slightly reduced.
[0038]
FIG. 8 shows an example of a preferable characteristic of the number of frame skips with respect to the amount of information generated immediately before (the ratio of the information storage amount to the capacity of the output buffer memory unit 17). As the amount of generated information up to immediately before increases, the number of frame skips also increases. It should be noted that the numerical value of the number of frame skips in the figure is merely an example, and the present invention is not limited to this. As described above, when the amount of generated information 18 immediately before is large, the number of skips is slightly increased, and the amount of generated information is suppressed to prevent buffer overflow.
[0039]
The number of frame skips may be a function in which any one of the above-described ratio of significant macroblocks, the length of a motion vector scalar of significant macroblocks, and the amount of information generated immediately before encoding is used. Functions with all parameters may be used.
[0040]
FIG. 9 three-dimensionally shows a preferable characteristic of the frame skip number in that case. That is, when the significant macroblock ratio is zero, the number of frame skips is zero, and as the significant macroblock ratio increases, the frame skip number also increases. As the length increases, the number of frame skips decreases, and as the amount of generated information up to immediately before increases, the number of frame skips also increases.
[0041]
As an example, assuming that the significant macroblock ratio in the frame of interest is 30%, the motion vector scalar length is 60, and the information generation amount immediately before occupies 70% of the output buffer, the number of skips is 7 from FIG. Since the skip number is +1 from FIG. 7 and the skip number is −1 from FIG. 8, the final frame skip number is 7 + 1 + (− 1) = 7 in this case.
[0042]
After the number of frame skips up to the next frame is determined, the determined frame skip number 19, the noted macroblock 5 of the current frame, the motion vector information 9, and the significant information 21 of the macroblock are input to the encoding engine unit 6, respectively. Along with (Step S20), the motion vector information 9 and the significant information 21 of the macroblock are input to the variable length coding unit 23.
[0043]
In the encoding engine unit 6, the determined frame skip number 19 is input to the quantization unit 6g and used as a parameter for selecting a quantizer. When the number of frame skips 19 is large, the transmission path has room, so that a slightly finer quantizer is selected. Conversely, when the frame skip number 19 is small, a slightly coarser quantizer is selected. FIG. 10 shows an example of a preferable characteristic of the quantization step with respect to the number of frame skips. As the number of frame skips increases, the number of quantization steps decreases. It should be noted that the numerical value of the number of frame skips in the figure is merely an example, and the present invention is not limited to this.
[0044]
The significant information 21 of the macroblock is applied to the switch 6e. In the case of a significant macroblock, the switch 6e is turned on to quantize a prediction error relating to the macroblock. In the case of a non-significant macroblock, the switch 6e is turned off. Do not quantize the prediction error for that macroblock. Other operations of the encoding engine unit 6 are known, and thus description thereof is omitted.
[0045]
The quantized data 22 (in the case of a significant macroblock) of the frame, the motion vector information 9 and the significant information 21 of the macroblock obtained by the encoding engine unit 6 are encoded by the variable length encoding unit 23 (step S21). ), Output from the code output unit 25 through the output buffer memory unit 17 onto the transmission path. Then, the same operation from step S2 is repeated for the next frame.
[0046]
As described above, according to the present embodiment, for a non-significant macroblock that transmits only a motion vector, the scalar length of the motion vector is selected to be small within a range in which the macroblock is determined to be nonsignificant. Therefore, the amount of generated motion vector information can be suppressed.
[0047]
Further, by determining the number of frame skips before encoding the frame of interest, it is possible to determine the number of frame skips that makes full use of the features of the image. As a result, it becomes possible to predict the information amount of the image in advance and control the frame rate, and it becomes possible to perform variable frame rate image coding with constant quality. Also, since the motion vector information can be used for controlling the frame rate, a visually natural motion image can be obtained.
[0048]
The embodiments described above are merely examples of the present invention and are not intended to limit the present invention, and the present invention can be embodied in other various modifications and alterations. Therefore, the scope of the present invention is defined only by the appended claims and their equivalents.
[0049]
【The invention's effect】
As described above in detail, according to the present invention, when it is determined that the macroblock is a non-significant macroblock, only the motion vector is transmitted, and the coding target macroblock has the minimum value within the range determined to be nonsignificant. Since a motion vector having a vector scalar length is selected, when only a motion vector is transmitted, the amount of transmitted motion vector information is reduced, and the amount of transmitted information can be reduced.
[0050]
The threshold is determined by a function that includes the magnitude of the motion vector as a parameter, and the function is a function that decreases as the magnitude of the motion vector increases, or decreases when the magnitude of the motion vector increases, and a value at which the motion vector has a certain value. Is set to be a function that saturates when the motion vector exceeds the threshold value, so that the smaller the motion vector is, the easier it is to determine a non-significant macro block.
[Brief description of the drawings]
FIG. 1 is a block diagram schematically showing a configuration of an embodiment of a video encoding device of the present invention.
FIG. 2 is a flowchart illustrating a main operation in the embodiment of FIG. 1;
FIG. 3 is a conceptual diagram of an operation of a motion vector generation unit.
FIG. 4 is a conceptual diagram illustrating the operation of a macroblock significance determination unit.
FIG. 5 is a characteristic diagram of a macroblock significance determination threshold.
FIG. 6 is a characteristic diagram illustrating an example of a preferable characteristic of a frame skip number with respect to a significant macroblock ratio.
FIG. 7 is a characteristic diagram illustrating an example of a preferable characteristic of a frame skip number with respect to a scalar length of a motion vector.
FIG. 8 is a characteristic diagram illustrating an example of a preferable characteristic of a frame skip number with respect to an amount of generated information up to immediately before;
FIG. 9 is a characteristic diagram three-dimensionally showing preferable characteristics of the frame skip number.
FIG. 10 is a characteristic diagram illustrating an example of preferable characteristics of a quantization step with respect to the number of frame skips.
[Explanation of symbols]
Reference Signs List 1 Variable frame rate video encoding device 2 Video signal input unit 3 Frame skip unit 4, 6j Frame memory 6 Encoding engine unit 6a, 6b Mode switch 6c, 13 Subtraction unit 6d Addition unit 6e Switch 6f DCT (discrete cosine transform) Circuit 6g Q (quantization circuit)
6h Q -1 (Inverse quantization circuit)
6i IDCT (Inverse Discrete Cosine Transform) circuit 6k, 8 Motion compensation unit 11 Motion vector generation unit 15 Macroblock significant / insignificant determination unit 17 Output buffer memory unit 20 Frame skip number determination unit 23 VLC (variable length encoding unit)
25 Code output unit

Claims (6)

発生させた動きベクトルを用いて前フレームのマクロブロックに動き補償を施し、該動き補償を施したマクロブロックと現フレームの符号化対象マクロブロックとの差分である予測誤差を算出し、該算出した予測誤差を閾値と比較することにより該符号化対象マクロブロックが該閾値より小さい非有意マクロブロックであるか大きい有意マクロブロックであるかを判別し、有意マクロブロックであると判別した場合は符号化を行う動画像符号化方法であって、
前記閾値を動きベクトルの大きさが大きくなると減少する関数とし、非有意マクロブロックであると判別した場合は、前記動きベクトルのみを伝送するようにすると共に前記符号化対象マクロブロックが非有意と判別される範囲内で最小のベクトルスカラ長の動きベクトルを選択することを特徴とする動画像符号化方法。
Using the generated motion vector, motion compensation is performed on the macroblock of the previous frame, and a prediction error, which is a difference between the motion-compensated macroblock and the current macroblock to be coded, is calculated. By comparing the prediction error with a threshold, it is determined whether the current macroblock is a non-significant macroblock or a significant macroblock larger than the threshold, and if it is determined that the macroblock is a significant macroblock, coding is performed. Moving image encoding method,
When the threshold value is a function that decreases as the size of the motion vector increases, and when it is determined that the macroblock is insignificant, only the motion vector is transmitted and the encoding target macroblock is determined to be insignificant. A moving vector having a minimum vector scalar length within a range to be encoded.
前記動きベクトルを最小の大きさの動きベクトルから順次大きくして発生させ、その発生の都度、該発生した動きベクトルを用いて動き補償を施し、予測誤差を算出し、該算出した予測誤差を閾値と比較することにより前記有意及び非有意の判別を行うようにしたことを特徴とする請求項1に記載の方法。The motion vector is generated by sequentially increasing the motion vector from the smallest one, and each time the motion vector is generated, motion compensation is performed using the generated motion vector to calculate a prediction error. The method according to claim 1, wherein the determination of the significance and the insignificance is performed by comparing with the following. 前記関数が動きベクトルがある値を越えると飽和する関数であることを特徴とする請求項1又は2に記載の方法。3. The method according to claim 1, wherein the function is a function that saturates when a motion vector exceeds a certain value. 動きベクトルを発生させる動きベクトル発生手段と、該発生させた動きベクトルを用いて前フレームのマクロブロックに動き補償を施す動き補償手段と、該動き補償を施したマクロブロックと現フレームの符号化対象マクロブロックとの差分である予測誤差を算出する算出手段と、該算出した予測誤差を閾値と比較することにより、該符号化対象マクロブロックが該閾値より小さい非有意マクロブロックであるか大きい有意マクロブロックであるかを判別する判別手段と、有意マクロブロックと判別した場合は符号化を行う手段とを備えた動画像符号化装置であって、
非有意マクロブロックであると判別した場合は前記動きベクトルのみを伝送する手段をさらに備えており、
前記判別手段の前記閾値は動きベクトルの大きさが大きくなると減少する関数であり、
前記動きベクトル発生手段は、前記符号化対象マクロブロックが非有意と判別される範囲内で最小のベクトルスカラ長の動きベクトルを選択する手段であることを特徴とする動画像符号化装置。
A motion vector generating means for generating a motion vector, a motion compensating means for performing motion compensation on a macroblock of a previous frame using the generated motion vector, and an encoding target of the macroblock subjected to the motion compensation and a current frame. Calculating means for calculating a prediction error, which is a difference from the macroblock, and comparing the calculated prediction error with a threshold value, whereby the coding target macroblock is a non-significant macroblock smaller or larger than the significant macroblock. A moving image encoding apparatus comprising: a determination unit configured to determine whether the block is a block; and a unit configured to perform coding when determined to be a significant macroblock,
If it is determined that the block is a non-significant macro block, further comprising means for transmitting only the motion vector,
The threshold of the determination means is a function that decreases as the size of the motion vector increases,
The moving picture encoding apparatus, wherein the motion vector generating means is a means for selecting a motion vector having a minimum vector scalar length within a range in which the encoding target macroblock is determined to be insignificant.
前記動きベクトル発生手段は、前記動きベクトルを最小の大きさの動きベクトルから順次大きくして発生させる手段であり、前記動き補償手段、前記算出手段及び前記判別手段は、該動きベクトルが発生した都度、該発生した動きベクトルを用いて動き補償を施し、予測誤差を算出し、該算出した予測誤差を閾値と比較することにより前記有意及び非有意の判別を行う手段であることを特徴とする請求項4に記載の装置。The motion vector generating means is means for generating the motion vector by sequentially increasing the motion vector from the smallest magnitude motion vector, and the motion compensating means, the calculating means, and the determining means each time the motion vector is generated. Means for performing a motion compensation using the generated motion vector, calculating a prediction error, and comparing the calculated prediction error with a threshold to determine the significance or insignificance. Item 5. The apparatus according to Item 4. 前記関数が動きベクトルがある値を越えると飽和する関数であることを特徴とする請求項4又は5に記載の装置。The apparatus according to claim 4, wherein the function is a function that saturates when a motion vector exceeds a certain value.
JP34707395A 1995-12-15 1995-12-15 Moving image encoding method and apparatus Expired - Lifetime JP3573176B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP34707395A JP3573176B2 (en) 1995-12-15 1995-12-15 Moving image encoding method and apparatus
US08/766,145 US5940131A (en) 1995-12-15 1996-12-12 Method and apparatus for coding moving pictures

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34707395A JP3573176B2 (en) 1995-12-15 1995-12-15 Moving image encoding method and apparatus

Publications (2)

Publication Number Publication Date
JPH09168154A JPH09168154A (en) 1997-06-24
JP3573176B2 true JP3573176B2 (en) 2004-10-06

Family

ID=18387739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34707395A Expired - Lifetime JP3573176B2 (en) 1995-12-15 1995-12-15 Moving image encoding method and apparatus

Country Status (1)

Country Link
JP (1) JP3573176B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100549926B1 (en) * 1998-04-28 2006-10-19 주식회사 팬택앤큐리텔 Motion vector estimator for each area of image and motion compensation prediction encoding / decoding method for each area of image
KR19990081354A (en) * 1998-04-28 1999-11-15 김영환 Motion Estimation Method by Region of Image
JP4417918B2 (en) * 2006-03-30 2010-02-17 株式会社東芝 Interpolation frame creation device, motion vector detection device, interpolation frame creation method, motion vector detection method, interpolation frame creation program, and motion vector detection program

Also Published As

Publication number Publication date
JPH09168154A (en) 1997-06-24

Similar Documents

Publication Publication Date Title
JP3043599B2 (en) Quantization step size controller using neural network
JPH09331533A (en) Video coding device
JPH07112284B2 (en) Predictive encoding device and decoding device
JP3206413B2 (en) Variable frame rate video coding method
US5508745A (en) Apparatus for controlling a quantization level to be modified by a motion vector
JP3674535B2 (en) Video coding method and apparatus
JP3573176B2 (en) Moving image encoding method and apparatus
JPH09298753A (en) Moving picture coding method and moving picture coding apparatus
JPH07264595A (en) Image source coding method
JP3173257B2 (en) Encoding method and encoding device
JPH06268997A (en) Moving image compression device
KR970004924B1 (en) Improved motion vector transmission apparatus and method using layered coding
KR100613732B1 (en) Digital Image Compression System and Method
JP3223043B2 (en) Video encoding device
JP3507042B2 (en) Video compression device
KR200309401Y1 (en) Image Compression System for Digital Video Surveillance
JP2551334B2 (en) Motion compensation interframe coding method
JPH06217284A (en) Image encoding device
JPH04175085A (en) Moving picture encoding system
JPH07154795A (en) Video coding device
JPH10145793A (en) Image coding apparatus and method, and image decoding apparatus and method
JP4353928B2 (en) Data compression method, recording method, and transmission method
JPH11331848A (en) Moving image signal encoding device and its method
JPH0795582A (en) Picture data compressor
JP2000059767A5 (en)

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040622

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100709

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100709

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 9

EXPY Cancellation because of completion of term