JP4007594B2 - 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法 - Google Patents

動画像符号化装置及び方法、動画像符号化方式変換装置及び方法 Download PDF

Info

Publication number
JP4007594B2
JP4007594B2 JP2003042078A JP2003042078A JP4007594B2 JP 4007594 B2 JP4007594 B2 JP 4007594B2 JP 2003042078 A JP2003042078 A JP 2003042078A JP 2003042078 A JP2003042078 A JP 2003042078A JP 4007594 B2 JP4007594 B2 JP 4007594B2
Authority
JP
Japan
Prior art keywords
frame
encoding
encoded
macroblock
coding
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
JP2003042078A
Other languages
English (en)
Other versions
JP2004166183A (ja
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003042078A priority Critical patent/JP4007594B2/ja
Priority to US10/669,356 priority patent/US7050499B2/en
Publication of JP2004166183A publication Critical patent/JP2004166183A/ja
Priority to US11/341,561 priority patent/US20060120458A1/en
Application granted granted Critical
Publication of JP4007594B2 publication Critical patent/JP4007594B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は動画像を符号化する装置及び方法、動画像の符号化方式を変換する装置及び方法に関する。
【0002】
【従来の技術】
MPEG−4符号化方式は、インターネットや携帯機器の普及に伴い, その応用分野を広げつつある動画像符号化方式である。その応用分野は図7に示される携帯機器同士の画像通信に留まらず、図8に示すような既存の映像コンテンツを配信するストリーミング配信など様々な分野に広がっている。
【0003】
特に、ストリーミング配信においては、ストリーミングに使用されるネットワークのバンド幅やコンテンツホルダー、エンドユーザーの要求に応じて数10kbpsという低いビットレートから高いビットレートによる高品質配信まで様々な要求が潜在的に存在している。特に高いビットレートにおいては、MPEG−4 Core ProfileやAdvanced Simple Profile等のように、VOP(Video Object Plane)の符号化に双方向予測を用いた符号化方式が用いられる。
【0004】
VOPとは動画像の1コマ1コマの画像のことであり、MPEG−2でフレームあるいはフィールドと呼ばれていたものに相当する。
【0005】
図9に動き予測の方式を模式的に示した図を示す。まず、図9のVOP(1)は動き予測を行わないで符号化されるI−VOPまたは後述する前方動き予測を行って符号化されるP−VOPである。VOP(1)はVOP(2)〜VOP(4)動き予測の際に参照されるVOPとなる。
【0006】
VOP(4)はP−VOPであり、VOP(1)を参照して前方動き予測を行って符号化される。VOP(4)はこれ以降に入力されたVOPの動き予測の際に参照される。
【0007】
VOP(2)とVOP(3)はB−VOPである。これらB−VOPは直前に入力されたP−VOP(もしくはI−VOP)であるVOP(1)を参照して前方動き予測を行い、さらに、直後に入力されたP−VOPであるVOP(4)を参照して後方動き予測を行って符号化される。すなわち、双方向動き予測を行うVOPとなっている。
【0008】
B−VOPであるVOP(2)、(3)の前方向動き予測とこれらの直後に入力されたP−VOPであるVOP(4)の前方向動き予測は、いずれもVOP(1)を参照して行っている。一方、VOP(2)、(3)の後方向動き予測はこれらの直後に入力されたP−VOPであるVOP(4)を参照して行っている。
【0009】
B−VOPを含むMPEG−4ビットストリームを生成する際には、B−VOPの符号化に先駆けて当該B−VOPの動き予測の際に参照するI−VOPまたはP−VOPの符号化を行っておくことが一般なので、VOPが入力される順番と符号化される順番とは異なっている。
【0010】
図10は、入力されるVOPに対し符号化がどのような順番で行われるかを表す例を示す図である。VOPが入力される順番はI0→P1→B2→B3→P4→B5→B6→P7・・・であるが、符号化される順番は入力から2VOP遅れでI0→P1→P4→B2→B3→P7→B5→B6・・・となっている。B2やB3よりも後に入力されたP4の方が先に符号化されている(同様にB5やB6よりもP7が先に符号化されている)のが特徴的である。
【0011】
一般に、後に入力されるP−VOP(例えばP4)の方がB−VOP(例えばB2、B3)よりも先に動き検出、DCT(Discrete Cosine Transform:離散コサイン変換)、量子化、可変長符号化される。そして、B−VOPは双方向の動き検出によって時間的に直前と直後のP−VOPとの差分データを算出され、DCT、量子化、可変長符号化等を施されて効率的に符号化される。
【0012】
MPEG−4においてマクロブロックの符号化パラメータひとつに”not_coded”と呼ばれるフラグがある。これは、当該マクロブロックに関する符号化データ(特に量子化DCT係数、動きベクトル)が存在するか否かを示すものであり、このフラグが”1”の場合、当該マクロブロックが符号化不要として符号化されていることを示す(例えば、特許文献1)。
【0013】
一般に、これから符号化しようとするマクロブロックが、参照VOPに対して変化がないとき、すなわち動きベクトル検出の結果求められた動きベクトルが(0,0)であり、かつ量子化後のDCT係数がすべて0であった場合には、”not_coded”フラグを1にする。
【0014】
MPEG−4のデコーダはnot_coded=1であるマクロブロックを受け取ると、当該マクロブロックを動きベクトルが(0,0)でDCT係数がすべて0であるとして復号を行い、参照画面の同位置にあるマクロブロックの情報をそのままコピーして用いる。
【0015】
すなわち、このnot_codedは「参照画面と同じ」という意味を持ち、ここから派生して動画像の符号化時には「符号化不要」という意味を、復号化時には「参照画面からコピー」という意味を持つ。
【0016】
【特許文献1】
特開2002−218470公報(段落[0061]〜段落[0063])
【0017】
【発明が解決しようとする課題】
MPEG−4においてnot_codedフラグが存在するのは、P−VOPの場合に限られ、B−VOPではnot_codedフラグは存在しない。B−VOPにおいて、当該マクロブロックが符号化されているか符号化されていないかは、直前に符号化を行ったP−VOP(VOPの入力順だと時間的に直後のP−VOP)のnot_codedフラグの値に依存する。
【0018】
P−VOPのある位置のマクロブロックにおいてnot_codedフラグが1の場合、同一位置にあるB−VOPのマクロブロックは符号化をスキップする。そして、(デコーダで)B−VOPを復号化する時には、図11に示すように参照画面の同位置にあるマクロブロックの情報をそのままコピーして用いる。
【0019】
このような方式では、B−VOPだけが参照VOPに対して変化が大きい場合には符号化誤差が極端に大きくなる。このような現象が発生する例として、画像に映し出されるフラッシュがあげられる。
【0020】
図12に示すように、I−VOPとP−VOPにはさまれるB−VOPにおいてフラッシュが焚かれた場合、当該B−VOPのシーンは全面的に白色となり、参照VOPとの間の相関が小さくなる。しかしながら、I−VOPとP−VOPの相関は高いため、not_codedマクロブロックが生成されてしまう可能性がある。
【0021】
このような時、P−VOPの動き検出結果だけを見てnot_codedマクロブロックを決定すると、フラッシュによって白っぽくなった全体のVOPの中でブロック状の黒い矩形が残るという現象が発生してしまう。
【0022】
また、MPEG−4規格で採用されている前方向動き予測符号化及び双方向動き予測符号化により生成される符号化データには、動き補償のための動きベクトルと、DCT係数とがある。B−VOPやP−VOPの場合、VOP内における相関及び参照VOP間との相関が高い場合には効果的な圧縮が可能となる。
【0023】
しかしながら、符号化対象となるVOPがVOP内の相関及び参照VOPとの相関が低い場合においては、動き予測が的中しないため、DCT係数に要する符号量に比べて動きベクトルに要する符号量が増大する。特に、B−VOPの場合はP−VOPに比べて約2倍もの符号量を動きベクトルに費やしてしまう場合が存在する。
【0024】
上述したように(図10)、一般にはあるVOPがB−VOP、P−VOP、I−VOPのいずれで符号化されるかは、当該VOPの入力順に応じて決まる。そのため、動き予測が的中しないと分かっている状況下でもB−VOPとして符号化してしまうことが起こる。その結果、動きベクトルに符号量の大半を費やしてしまい、DCT係数に十分な符号量を割り当てることができずに画質を劣化させてしまうという問題が起こる。
【0025】
本発明は上記の点に鑑みてなされたものであり、B−VOPが存在するMPEG−4符号化において、B−VOPの画質を向上させることを目的とする。
【0026】
【課題を解決するための手段】
上記課題を解決するため、本発明の動画像符号化装置は、フレーム内符号化手段と、前方向予測符号化手段と、双方向予測符号化手段とを備える動画像符号化装置であって、前記前方向予測符号化手段は、前方向予測フレーム、前記前方向予測フレームの前方動き検出で用いる参照フレーム並びにこれらの間に入力された双方向予測フレームにおいて、各フレーム内で同位置にあるマクロブロック同士の相関が高い場合に、前記前方向予測フレームの当該マクロブロックを「符号化不要」として可変長符号化することを特徴とする。
【0027】
本発明の動画像符号化装置は、フレーム内符号化手段と、前方向予測符号化手段と、双方向予測符号化手段とを備える動画像符号化装置であって、前記各符号化手段は、参照フレームの画像を参照して、各フレームを所定の大きさの領域に分割したマクロブロック毎の前方動きベクトルをブロックマッチングによって検出する前方動き検出手段と、前記前方動きベクトルに対応するマッチング残差を記憶する手段と、各マクロブロックの画素情報を直交変換する直交変換手段とを備え、前方向予測符号化手段は、前方向予測符号化フレームを構成する各マクロブロックのうち、量子化直交変換係数の全てと前方動きベクトルとが0であり、かつ、前方動き検出に用いる参照フレームが前記前方向予測符号化フレームと同じものである全ての双方向予測符号化フレーム上の同位置にあるマクロブロックの前方動きベクトルが0であり、かつ、前記全ての双方向予測符号化フレーム上の同位置にあるマクロブロックにおける前記マッチング残差が所定の閾値以下である、という条件を満たすものだけを「符号化不要」として可変長符号化することを特徴とする。
【0028】
本発明の動画像符号化装置は、フレーム内符号化手段と、前方向予測符号化手段と、双方向予測符号化手段とを備える動画像符号化装置であって、前記各符号化手段は、参照フレームの画像を参照して、各フレームのマクロブロック毎の前方動きベクトルをブロックマッチングによって検出する前方動き検出手段と、前記前方動きベクトルに対応するマッチング残差を記憶する手段と、各マクロブロックの画素情報を直交変換する直交変換手段とを備え、前記前方動き検出手段では、前方向予測符号化フレームと同じ参照フレームを用いて前方動き検出を行う全ての双方向予測符号化フレームの各マクロブロックの前方動き検出を、前記前方向予測符号化フレームの同一位置にあるマクロブロックの可変長符号化処理よりも先行するように行い、前記前方向予測符号化手段は、前記前方向予測符号化フレームを構成する各マクロブロックのうち量子化直交変換係数の全てと前方動きベクトルとが0であり、かつ、前記全ての双方向予測符号化フレーム上の同位置にあるマクロブロックの前方動きベクトルが0であり、かつ、前記全ての双方向予測符号化フレーム上の同位置にあるマクロブロックにおける前記マッチング残差が所定の閾値以下である、という条件を満たすものだけを「符号化不要」として可変長符号化することを特徴とする。
【0029】
本発明の動画像符号化装置は、動画像をMPEG−4方式で符号化する動画像符号化装置であって、各フレームを構成するマクロブロック毎の前方動きベクトルを、前方向予測符号化フレームと同じ参照フレームを用いて前方動き検出を行う全ての双方向予測符号化フレームの同じ位置あるマクロブロックについての前方動き検出が、前記前方向予測符号化フレームの各マクロブロックの可変長符号化処理に対して先行するように求める前方動き検出手段と、前記動きベクトルに対応するマッチング残差を記憶する手段と、各フレームの各マクロブロックを可変長符号化する可変長符号化手段とを有し、前記可変長符号化手段では、前方向予測符号化フレームの各マクロブロックのうち、当該マクロブロックについての量子化離散コサイン変換係数の全てと前方動きベクトルとが0であり、かつ、前記前方向予測符号化フレームと同じ参照フレームを使用して前方動き検出を行う全ての双方向予測符号化フレーム上の同位置にあるマクロブロックの前方動きベクトルが0であり、かつ、前記双方向予測符号化フレーム上の同位置にあるマクロブロックについての前記マッチング誤差が所定の閾値以下であるものについてのみ、その符号化モードを「not_coded」とすることを特徴とする。
【0030】
本発明の動画像符号化方式変換装置は、動画像を符号化したデータを、第1の符号化方式から第2の符号化方式に変換する動画像符号化方式変換装置であって、前記第1、第2の符号化方式によって生成された符号化データにはフレーム内符号化フレームと前方向予測符号化フレームと双方向予測符号化フレームとが含まれており、前記第1の符号化方式における前方向予測符号化フレームを所定の大きさに分割したマクロブロックのうち、符号化モードが「符号化不要」として符号化されているものは、前記前方向予測符号化フレームと同じフレームを参照して前方動き検出を行った全ての双方向予測符号化フレームにおける同位置に相当するマクロブロックの全ての符号化モードが「符号化不要」である場合か、或いは、前記同位置に相当するマクロブロックの全ての前方動きベクトルと各マクロブロックを構成する複数のブロックの中で変化があったものの個数を表すパラメータとが0である場合に限り、前記第2の符号化方式においても、当該マクロブロックの符号化モードを「符号化不要」とすることを特徴とする。
【0031】
本発明の動画像符号化方式変換装置は、フレーム内符号化画像変換手段と、前方向予測符号化画像変換手段と、双方向予測符号化画像変換手段とを有し、動画像の符号化データを第1の符号化方式から第2の符号化方式に変換する動画像符号化方式変換装置であって、前記前方向予測符号化画像変換手段は、前方向予測符号化フレームを所定の大きさに分割したマクロブロックのうち、符号化モードが「符号化不要」となっているものは、前記前方向予測符号化フレームと同じフレームを参照フレームとして前方動き検出を行って符号化された全ての双方向予測符号化フレームにおいて同位置に相当するマクロブロックの全ての前方動きベクトルと、前記同位置に相当するマクロブロックを構成する複数のブロックの中で前記参照フレームと比べて変化があったものの個数が0である場合に限り、第2の符号化方式においても、当該マクロブロックの符号化モードを「符号化不要」とすることを特徴とする。
【0032】
本発明の動画像符号化方式変換装置は、動画像を第1の符号化方式で符号化したフレーム内符号化画像と、前方向予測符号化画像と、双方向予測符号化画像とを含むデータを、フレーム内符号化画像と、前方向予測符号化画像と、双方向予測符号化画像とを含む第2の符号化方式のデータに変換する動画像符号化方式変換装置であって、前記第1の符号化方式で符号化された符号化データに含まれる各マクロブロックのデータから動きベクトル、符号化モード、マクロブロックを構成する複数のブロックの中で変化があったものの個数を表す有意ブロック数の情報を取得する手段と、前記動きベクトル及び前記符号化モードの情報をもとに、第2の符号化方式で符号化する際の各マクロブロックの符号化モードを判定するモード判定部と、前記第1の符号化方式で符号化された符号化データを、前記モード判定部の判定結果に従ってマクロブロック毎に第2の符号化方式に変換する手段とを有し、前記モード判定部は、前記第2の符号化方式において前方予測符号化フレームのマクロブロックの符号化モードを「符号化不要」と判定するのは、当該マクロブロックに相当する前記第1の符号化方式による前方向予測符号化フレームにおけるマクロブロックが「符号化不要」として符号化されていて、そのうえ前記前方向予測符号化フレームと同じフレームを参照して前方動き検出を行って符号化された全ての双方向予測符号化フレームにおける同位置に相当するマクロブロックの符号化モードが「符号化不要」である場合か、或いは、そのうえ前記同位置に相当するマクロブロックの全ての前方動きベクトル及び有意ブロック数とが0である場合であることを特徴とする。
【0033】
本発明の動画像符号化方式変換装置は、動画像を第1の符号化方式で符号化したフレーム内符号化画像と、前方向予測符号化画像と、双方向予測符号化画像とを含むデータを、フレーム内符号化画像と、前方向予測符号化画像と、双方向予測符号化画像とを含む第2の符号化方式のデータに変換する動画像符号化方式変換装置であって、前記第1の符号化方式で符号化された符号化データを復号化する復号化部と、前記復号化部で第1の符号化データを復号化する際に得られる、各マクロブロックの動きベクトル及び符号化モード及び各マクロブロックを構成する複数のブロックの中で変化があったものの個数を表す有意ブロック数の情報をもとに、第2の符号化方式で符号化する際の各マクロブロックの符号化モードを判定するモード判定部と、前記復号化部で第1の符号化データを復号化して得られる画像データを、マクロブロック毎に前記モード判定部の判定結果に従って第2の符号化方式で符号化する可変長符号化部とを有し、前記モード判定部は、前記第2の符号化方式において前方予測符号化フレームのマクロブロックの符号化モードを「符号化不要」と判定するのは、当該マクロブロックに相当する前記第1の符号化方式による前方向予測符号化フレームにおけるマクロブロックが「符号化不要」として符号化されていて、そのうえ前記前方向予測符号化フレームと同じフレームを参照して前方動き検出を行って符号化された全ての双方向予測符号化フレームにおける同位置に相当するマクロブロックの符号化モードが「符号化不要」である場合か、或いは、そのうえ前記同位置に相当するマクロブロックの全ての前方動きベクトル及び有意ブロック数とが0である場合であることを特徴とする。
【0034】
本発明の動画像符号化方式変換装置は、動画像の符号化データをMPEG−2方式からMPEG−4方式に変換する動画像符号化方式変換装置であって、MPEG−4方式において前方向予測符号化フレームのマクロブロックの符号化モードを「not_coded」とするのは、当該マクロブロックに相当するMPEG−2方式による前方向予測符号化フレームにおけるマクロブロックが「skipped」として符号化されていて、そのうえ前記前方向予測符号化フレームと同じフレームを参照して前方動き検出を行って符号化された全ての双方向予測符号化フレームにおける同位置に相当するマクロブロックの符号化モードが「skipped」である場合か、或いは、そのうえ前期同位置に相当するマクロブロックの前方動きベクトルとCBPとが0である場合であることを特徴とする。
【0035】
本発明の動画像符号化方法は、入力された動画像信号を符号化して、フレーム内符号化画像と前方向予測符号化画像と双方向予測符号化画像とを含む符号化データを生成する動画像符号化方法であって、前方向予測符号化フレームの符号化では、前方向予測フレーム、前記前方向予測フレームの前方動き検出で用いる参照フレーム並びにこれらの間に入力された双方向予測フレームにおいて、各フレーム内で同位置にあるマクロブロック同士の相関が高い場合に、前記前方向予測フレームの当該マクロブロックを「符号化不要」として可変長符号化することを特徴とする。
【0036】
本発明の動画像符号化方法は、入力された動画像信号を符号化して、フレーム内符号化画像と前方向予測符号化画像と双方向予測符号化画像とを含む符号化データを生成する動画像符号化方法であって、前方向予測符号化フレーム及び双方向予測符号化フレームの符号化では、符号化対象のフレームを構成するマクロブロック毎に、当該フレームよりも時間的に直前に入力された前方向予測符号化フレーム若しくはフレーム内符号化フレームを参照フレームとして前方動き検出を行い、各フレームの符号化では、符号化対象のフレームを構成するマクロブロック毎に、画素値に対する直交変換と、直交変換して得られる係数の量子化とを行い、前方向予測符号化フレームの符号化では、符号化対象のフレームを構成する各マクロブロックのうち、量子化した直交変換係数全てと前方動きベクトルとが0であり、かつ、同じフレームを参照フレームとして前方動き検出を行う全ての双方向予測符号化フレーム上の同位置にあるマクロブロックの前方動きベクトルが0であり、かつ、前記全ての双方向予測符号化フレーム上の同位置にあるマクロブロックと前記参照フレーム上の同位置にあるマクロブロックとの間の画素値の差が所定の閾値以下であるものだけを「符号化不要」として可変長符号化する。
【0037】
本発明の動画像符号化方式変換方法は、動画像の符号化データをMPEG−2方式からMPEG−4方式に変換する動画像符号化方式変換方法であって、MPEG−4方式において前方向予測符号化フレームのマクロブロックの符号化モードを「not_coded」とするのは、当該マクロブロックに相当するMPEG−2方式による前方向予測符号化フレームにおけるマクロブロックが「skipped」として符号化されていて、そのうえ前記前方向予測符号化フレームと同じフレームを参照して前方動き検出を行って符号化された全ての双方向予測符号化フレームにおける同位置に相当するマクロブロックの符号化モードが「skipped」である場合か、或いは、そのうえ前期同位置に相当するマクロブロックの前方動きベクトルとCBPとが0である場合であることを特徴とする。
【0038】
本発明の動画像符号化装置は、フレーム内符号化手段と、前方向予測符号化手段と、双方向予測符号化手段とを備える動画像符号化装置であって、前記各符号化手段のいずれかにより符号化された第1のフレームの符号化結果から、特定の情報を抽出する手段と、前記情報に応じて、前記第1のフレームの次に符号化される第2のフレームを符号化する際に、前記フレーム内符号化手段及び前記前方向予測符号化手段のいずれかを使用するように制御する制御手段とを備える。
【0039】
尚、前記制御手段は、前記第1のフレームが前記前方向予測符号化手段で符号化されている場合、及び、前記第1のフレームが前記双方向予測符号化手段で符号化されていて、前記第1のフレームの次に入力された第3のフレームが前記前方向予測符号化手段で符号化されている場合、のいずれかに該当する場合に、前記制御を行うことを特徴としても良い。
【0040】
本発明の動画像符号化装置は、フレーム内符号化手段と、前方向予測符号化手段と、双方向予測符号化手段とを備える動画像符号化装置であって、前記各符号化手段のいずれかで第1のフレームを符号化して得られる符号の符号量を求める手段と、閾値を記憶する閾値記憶手段と、前記第1のフレームの符号量と前記閾値とを比較し、前記第1のフレームの符号量が前記閾値より多い場合に、前記第1のフレームの次に符号化される第2のフレームに関しては、前記フレーム内符号化手段及び前記前方向予測符号化手段のいずれかを使用するように制御する制御手段と、を備える。
【0041】
尚、前記制御手段は、前記第1のフレームの符号量が前記閾値より多い場合に、前記閾値記憶手段に第1の閾値を設定する第1の設定手段と、前記第1のフレームの符号量が前記閾値より少ない場合に、前記閾値記憶手段に前記第1の閾値より大きい第2の閾値を設定する第2の設定手段とを備えていても良い。
【0042】
また、前記制御手段は、前記第1のフレームが前記前方向予測符号化手段で符号化されている場合、及び、前記第1のフレームが前記双方向予測符号化手段で符号化されていて、前記第1のフレームの次に入力された第3のフレームが前記前方向予測符号化手段で符号化されている場合、のいずれかに該当する場合に、前記制御を行うことを特徴としても良い。
【0043】
本発明の動画像符号化装置は、フレーム内符号化手段と、前方向予測符号化手段と、双方向予測符号化手段とを備える動画像符号化装置であって、前記各符号化手段のいずれかで第1のフレームを符号化して得られる符号の符号量を求める手段と、前記符号量を用いて、仮想的な復号化側のバッファであるVBVバッファの占有量を推測する手段と、前記VBVバッファの占有量の変化に応じて、前記第1のフレームの次に符号化される第2のフレームでは前記フレーム内符号化手段及び前記前方向予測符号化手段のいずれかを使用するように制御する制御手段と、を備える。
【0044】
尚、「前記VBVバッファの占有量の変化に応じて」とは、
(A)前記VBVバッファの占有量が閾値を下回る場合
(B)前記VBVバッファの占有量が前記第1のフレーム及びそれ以前の複数フレームにわたって減少している場合
(C)前記第1のフレームを符号化した結果が「符号化不要」である場合
(D)前記第1のフレームの符号化データのうち、動きベクトル由来の符号の量が閾値を上回る場合
のうちの少なくとも1つの条件を含んでいても良い。
【0045】
また、さらに、前記各符号化手段における現在の計算負荷を調べる手段を備え、前記制御手段は、前記各符号化手段における現在の計算負荷が閾値を超える場合にも、抑制することを特徴としても良い。
【0046】
尚、前記制御手段は、前記第1のフレームが前記前方向予測符号化手段で符号化されている場合、及び、前記第1のフレームが前記双方向予測符号化手段で符号化されていて、前記第1のフレームの次に入力された第3のフレームが前記前方向予測符号化手段で符号化されている場合、のいずれかに該当する場合に、前記制御を行うことを特徴としても良い。
【0047】
本発明の動画像符号化方法は、入力された動画像の各フレームを符号化して、フレーム内符号化画像と、前方向予測符号化画像と、双方向予測符号化画像とを含む符号化データを生成する動画像符号化方法であって、第1のフレームを符号化して得られる結果から特定の情報を抽出し、前記情報に応じて、前記第1のフレームの次に符号化される第2のフレームの符号化方式を前方向予測符号化方式及びフレーム内符号化方式のいずれかにするよう制御することを特徴とする。
【0048】
尚、前記第1のフレームが前方向予測符号化方式で符号化されている場合、及び、前記第1のフレームが双方向予測符号化方式で符号化されていて、前記第1のフレームの次に入力された第3のフレームが前方向予測符号化方式で符号化されている場合、のいずれかに該当する場合に、前記制御を行うことを特徴としても良い。
【0049】
本発明の動画像符号化方法は、入力された動画像の各フレームを符号化して、フレーム内符号化画像と、前方向予測符号化画像と、双方向予測符号化画像とを含む符号化データを生成する動画像符号化方法であって、第1のフレームを符号化した際に発生する符号量を求め、前記第1のフレームの符号量と閾値とを比較し、前記第1のフレームの符号量が前記閾値より多い場合には、前記第1のフレームの次に符号化される第2のフレームの符号化方式をフレーム内符号化方式及び前方向予測符号化方式のいずれかを用いるように制御する。
【0050】
また、前記第1のフレームの符号量が前記閾値より多い場合には、次に前記比較を行う際の前記閾値として第1の閾値を用い、前記第1のフレームの符号量が前記閾値より少ない場合には、次に前記比較を行う際の前記閾値として前記第1の閾値より大きい第2の閾値を用いることを特徴としても良い。
【0051】
また、前記第1のフレームが前方向予測符号化方式で符号化されている場合、及び、前記第1のフレームが双方向予測符号化方式で符号化されていて、前記第1のフレームの次に入力された第3のフレームが前方向予測符号化方式で符号化されている場合、のいずれかに該当する場合に、前記制御を行っても良い。
【0052】
本発明の動画像符号化方法は、入力された動画像の各フレームを符号化して、フレーム内符号化画像と、前方向予測符号化画像と、双方向予測符号化画像とを含む符号化データを生成する動画像符号化方法であって、第1のフレームを符号化した際に発生する符号量を求め、前記符号量を用いて、仮想的な復号化側のバッファであるVBVバッファの占有量を推測し、前記VBVバッファの占有量の変化に応じて、前記第1のフレームの次に符号化される第2のフレームではフレーム内符号化方式及び前記前方向予測符号化方式のいずれかを使用するように制御する。
【0053】
尚、「前記VBVバッファの占有量の変化に応じて」とは、
(A)前記VBVバッファの占有量が閾値を下回る場合
(B)前記VBVバッファの占有量が前記第1のフレーム及びそれ以前の複数フレームにわたって減少している場合
(C)前記第1のフレームを符号化した結果が「符号化不要」である場合
(D)前記第1のフレームの符号化データのうち、動きベクトル由来の符号の量が閾値を上回る場合
のうちの少なくとも1つの条件を含む。
【0054】
また、さらに、現在のフレームの符号化処理の計算負荷を調べ、前記計算負荷が閾値を超える場合にも、抑制しても良い。
【0055】
また、前記第1のフレームが前方向予測符号化方式で符号化されている場合、及び、前記第1のフレームが双方向予測符号化方式で符号化されていて、前記第1のフレームの次に入力された第3のフレームが前方向予測符号化方式で符号化されている場合、のいずれかに該当する場合に、前記制御を行うことを特徴としても良い。
【0056】
【発明の実施の形態】
(第1の実施形態)以下、本発明の第1の実施形態の動画像符号化装置について図面を参照して説明する。
【0057】
(概要)MPEG−4符号化装置では、入力された動画像の各フレーム(VOP)をI−VOPとP−VOPとB−VOPの3種類のいずれかに符号化する。
【0058】
I−VOPは動き検出を行わずにイントラ符号化されたVOPである。また、P−VOPは時間的に直前、すなわち入力順で直前のI−VOP若しくはP−VOPを参照VOPとして用いて、前方動き検出を行って前方予測符号化したVOPである。そして、B−VOPは時間的に直前と直後のP−VOP(或いはI−VOP)を参照VOPとして用いて、前方動き検出と後方動き検出の両方を行う双方向動き検出を行って双方向予測符号化したVOPである。
【0059】
MPEG−4符号化方式では、動画像の各VOPは必ずしも入力順には符号化されない。例えば、B−VOPの符号化は、時間的に直前と直後のP−VOPの符号化が終わってから実行される。従って、符号化処理の各段階(入力、前方動き検出、後方動き検出、DCT/量子化(Q)/逆量子化(IQ)/IDCT/可変長符号化(VLC))のタイミングチャートは、例えば図13のようなものであった。
【0060】
図13では、左から右に時間軸をとっている。また、In、Pn、Bnは、それぞれn番目に入力されたVOPで、I−VOP、P−VOP、B−VOPとして符号化されるVOPを指す。
【0061】
図13によると、VOPの入力順序はI0→P1→B2→B3→P4→B5→B6→P7・・・となっているが、前方動き検出処理は入力から3VOP遅れでP1→P4→B2→B3→P7→B5→B6・・・の順で行われる。また、後方動き検出処理は入力から5VOP遅れでB2→B3→(処理なし)→B6→B5・・・の順で行われ、最終的に符号化処理された符号化データの出力は、入力から2VOP遅れでI0→P1→P4→B2→B3→P7→B5→B6・・・の順で行われる。
【0062】
符号化処理の時系列的な流れは次のようになる。
(1)I0が入力される。
(2)P1が入力される。
(3)B2が入力される時にI0の符号化処理を行う。
(4)B3が入力される時にI0を参照してP1の前方動き検出処理を行い、P1を符号化処理する。
(5)P4が入力される時にP1を参照してP4の前方動き検出処理を行い、P4を符号化処理する。
(6)B5が入力される時にP1を参照してB2の前方動き検出処理を行うとともにP4を参照してB2の後方動き検出処理を行い、B2を符号化処理する。
(7)B6が入力される時にP1を参照してB3の前方動き検出処理を行うとともにP4を参照してB3の後方動き検出処理を行い、B3を符号化処理する。
(8)P7が入力される時にP4を参照してP7の前方動き検出処理を行い、P7を符号化処理する。
【0063】
一般に、MPEG−4の符号化処理では、符号化対象のVOPを複数のマクロブロックに分割し、それぞれのマクロブロック毎に符号化処理を繰り返すことにより行われる。尚、MPEG−4ではマクロブロックの大きさは固定であるが、本発明を適用するにあたってはマクロブロックのサイズは可変であっても良い。
【0064】
前述したように、P−VOPの符号化では、P−VOPの動き検出で参照VOPの同位置にあるマクロブロックとの相関が極めて高いと判定されたマクロブロックについては、not_codedとして符号化する。そして、P−VOPのあるマクロブロックがnot_codedと符号化されると、このP−VOPの動き検出に用いたのと同じ参照VOPを用いたB−VOPの当該マクロブロックは符号化されない。
【0065】
B−VOPのこのマクロブロックは、図11のように、復号化時には参照VOPの同じ位置のマクロブロックがコピーされる。そのため、図12のようにフラッシュ等の影響でB−VOPのみで画像に大きな変化が生じた場合に画像が乱れる可能性がある。
【0066】
これを図13のタイミングチャートを用いて符号化及び動き検出の順を追って説明する。P4の動き検出をする際はP1を参照して行う。ここで、例えばフラッシュ等の影響でB2のみにおいて画像に大きな変化が生じた場合を考える。フラッシュは一瞬なので、P1とP4の変化は小さいものとする。
【0067】
そして、P1上のマクロブロックの一つと、P4の同位置にあるマクロブロックとの相関が極めて高いと判断され、符号化時にP4の当該マクロブロックがnot_codedになったとする。すると、その影響により、P4の当該マクロブロックと同位置にあるB2とB3のマクロブロックは符号化されなくなる。
【0068】
このようにして生成された符号化データの復号化時には、P4の当該マクロブロックにはP1の同位置にあるマクロブロックの画像情報がコピーされる。そして、P4の当該マクロブロックと同位置にあるB2及びB3のマクロブロックにもP1の同位置のマクロブロックから画像情報がコピーされる。しかし、P1にはフラッシュの効果が全く現れていないので、B2の画像には乱れが生じてしまうのである。
【0069】
このような画像の乱れを解消するため、本実施形態ではP−VOPの符号化にあたっては、当該P−VOPと同じ参照VOP用いて前方動き検出処理を行う全てのB−VOP(すなわち、参照VOPとP−VOPの間に入力されたB−VOP)における同位置にあるマクロブロックと参照VOP上における同位置にあるマクロブロックとの相関をも考慮するように構成した。
【0070】
そして、参照VOPと、P−VOPと、その間の全てのB−VOPとの同位置にあるマクロブロック間の相関が高い場合には、当該マクロブロックについては符号化不要、すなわちnot_codedとして符号化するように構成した。
【0071】
例えば図13においてP4を符号化する際に、P1とP4の相関だけでなくP1とB2、P1とB3の相関も考慮するようにした。そして、P1とB2、P1とB3、P1とP4の全てで相関が高いと判断されたマクロブロックについてのみ、not_codedとして符号化するようにした。
【0072】
この場合、マクロブロック間の相関が求められるB−VOPでは、前方動き検出が事前に終了していることが望ましい。遅くとも、P−VOPで符号化しようとしているマクロブロックと同位置にあるマクロブロックについては前方動き検出が終了していることが望ましい。
【0073】
そのために、本実施形態では、例えば図2のようなタイミングチャートで符号化を行うようにして、P4の符号化時にB2とB3の動き検出を完了させておき、B2とB3の前方動き検出結果を参照して符号化を行うようにした。尚、図2はP−VOP間あるいはI−VOPとP−VOP間のB−VOPが2枚の場合におけるタイミングチャートの一例である。
【0074】
(装置の構成)図1は本発明の第1の実施形態によるMPEG−4符号化装置の構成を示すブロック図である。本実施形態の符号化装置は、入力画像をVOP単位で順次記憶するフレームメモリ1と、動きベクトルを検出する動き検出器2と、動きベクトルに対応するマッチング誤差(マッチング残差)を記憶するSAD(Sum Of Difference)保存メモリ3とを有する。
【0075】
さらに、求めた動きベクトルを記憶する動きベクトルメモリ8と、フレームの入力順にフレームの符号化モード(フレーム内符号化、前方予測符号化、双方向予測符号化)を決め、各モードに応じた動き補償を行う動き補償器9と、ローカルデコード画像をVOP単位で記憶するフレームメモリ10と、動き補償を行った画像に対してDCTを行う離散コサイン変換器6と、DCT係数を量子化する量子化器5と、量子化DCT係数及び動きベクトル等から符号化データを生成する可変長符号化器4とを有する。
【0076】
また、ローカルデコード画像生成用の逆量子化器12及び逆離散コサイン変換器11と、加算器13と、減算器14と、マクロブロックの符号化モードをnot_codedとするか否かの判定を行うモード判定器7とを有する。
【0077】
図6は従来のMPEG−4符号化装置の構成である。本実施形態のMPEG−4符号化装置と大きく異なるのは、本実施形態ではSAD保存メモリ3と、動きベクトルメモリ8と、モード判定器7とを備える点である。
【0078】
本装置は外部装置としてカメラ等の画像入力装置を備えたPC(パーソナルコンピュータ)やWS(ワークステーション)で実行させるためのプログラムとして実現されるが、半導体集積回路などのハードウエアとして実現しても構わない。
【0079】
図3は本実施形態のプログラムを動作させるためのPCやWSの一例である。本実施形態で用いるPCやWSは、CRTやLCD等の表示装置308と、キーボードやマウス等の入力装置309と、デジタルカメラその他の一般的な外部装置310とを備える。
【0080】
また、本実施形態で用いるPCやWSは、表示装置308に画像信号を出力する画像出力部305と、入力装置309からの信号を受ける入力受付部306と、外部装置310と信号のやり取りをおこなうインターフェース(例えばUSB、パラレル・シリアルポート、通信装置等)に相当する出入力部307とを備える。
【0081】
さらに、本実施形態で用いるPCやWSは、プログラムコードを実行する中央演算装置301と、データやプログラムコードを記憶するメモリ302と、データやプログラムを格納する磁気ディスクドライブ303と、CD−ROMやDVD−ROMなどの光メディアに記録された情報を読み込む光ディスクドライブ304とを備える。
【0082】
本実施形態のプログラムは磁気ディスクドライブ303に格納しておき、利用者からの実行の要求を受けてこれを読み出してメモリ302に展開し、中央演算装置301で実行する。実行結果はメモリ302に記憶させるほか、必要に応じて磁気ディスクドライブ303に格納したり、あるいは、利用者の要求に応じて出入力部307経由で外部装置310に出力する。
【0083】
(動作の概要)本実施形態のMPEG−4符号化装置も、一般的なMPEG−4符号化装置と同様、入力された動画像を符号化して符号化データを出力する。まず、入力された画像をフレームメモリ1に保存し、入力順から符号化順へ順序の並べ替えを行う。そして、動き検出器2では、フレームメモリ1から出力される符号化対象VOPの各マクロブロックについて、フレームメモリ10に記憶されたI−VOPまたはP−VOPを参照VOPとして動き検出が行われる。
【0084】
動き検出によって動きベクトルが求められると、動き補償器9はその動きベクトルが指し示す参照VOP上のマクロブロック相当の矩形領域のデータを抽出し、その矩形領域のデータと符号化対象マクロブロックとの差分が減算器14で計算される。差分データは離散コサイン変換器6によってDCT係数に変換され、量子化器5によって量子化され、可変長符号化器4にてランレングス符号化/可変長符号化されることによってMPEG−4ビットストリームが生成される。
【0085】
符号化対象のVOPがI−VOPまたはP−VOPの場合は、各マクロブロックの量子化後のDCT係数は逆量子化器12によって逆量子化され、逆離散コサイン変換器11によって動き補償フレームとの差分データに変換される。この差分データと動き補償器9から出力されるマクロブロック相当の矩形領域のデータとを加算器13において足し合わせることにより各マクロブロックは画像情報となる。
【0086】
これらのマクロブロックを所定の順に並べたものがローカルデコード画像である。ローカルデコード画像はフレームメモリ10に蓄積されて、動き検出および動き補償時の参照VOPとして使用される。
【0087】
(前方動き検出)後方動き検出については、一般的なMPEG−4デコーダと同様なので説明を省略し、ここでは前方動き検出処理についてせつめいする。
【0088】
動き検出器2では、フレームメモリ1が記憶している、直前にIまたはP−VOPで符号化を行った参照VOPであるRef(x,y)と、これからBまたはP−VOPとして符号化を行おうとするカレントVOPであるCur(x,y)とのデータを参照する(x、yはVOP内における座標のパラメータ)。
【0089】
尚、時刻tにおけるVOPをfr(t)と表す。前方動き検出の場合、参照VOPはカレントVOPよりも先に入力されているので、Ref(x,y)を時刻t0のVOPとすると、Cur(x,y)は時刻t0+iのVOPとなる。よって、Ref(x,y)はfr(t0)で、Cur(x,y)はfr(t0+i)と表すことができる。
【0090】
そして、動き検出器2はこれらのVOPを用いて前方動き検出を行う。本実施形態の前方動き検出の順序は、図2に示すようにVOPの入力順と同一とする。すなわち、
【0091】
【数1】
Figure 0004007594
【0092】
というアルゴリズムで動き検出を行う。尚、MotionEstimation(x,y)は、VOPyを参照VOPとしてVOPxの動き検出を行う関数である。
【0093】
カレントVOPの各マクロブロックの動き検出は、MV0(h,v)=(MVh,MVv)を用いて次のような計算を行うことにより実現される。
【0094】
【数2】
Figure 0004007594
【0095】
数2において、SADminを得られたときの(j,k)がマクロブロックの動きベクトルであるので、これを動きベクトルメモリ8へ格納すると共にSADminをSADメモリ3へ格納する。動きベクトル探索はマクロブロックのブロックマッチングで行うので、SADminはマッチング誤差に相当する量である。
【0096】
尚、本実施形態では前方動き検出の順番とVOPの入力順とを同一にするとしたが、P−VOPの符号化時に当該P−VOPの前方動き検出時に参照するのと同じVOPを前方動き参照VOPとするB−VOPの動き検出が終わってさえいれば、必ずしもこの順番にこだわる必要はない。
【0097】
(動き補償)動き補償器9では、動きベクトルメモリ8から得られた動きベクトルと、フレームメモリ10から読み出した参照VOPのローカルデコード画像とを使用して動き補償を行う。
【0098】
具体的には、減算器14で、フレームメモリ1から読み出した符号化対象画像の各マクロブロックから、動きベクトルが指す参照VOPのマクロブロック相当の矩形領域の画像データを、減算することで予測誤差が求められる。
【0099】
求めた予測誤差は離散コサイン変換器6・量子化器5を通して情報量が削減される。量子化後の離散コサイン変換係数は、モード判定器7に入力され、可変長符号化器4で符号化データに変換される。一方、逆量子化器12・逆離散コサイン変換器11・加算器13を通してローカルデコード画像が作成され、フレームメモリ10に蓄積される。
【0100】
(マクロブロックの符号化モード判定・符号化)モード判定器7では、マクロブロックをnot_codedとするかを後述する手順で判定する。そして、可変長符号化器4はモード判定器7の判定結果に従ってそのモードに応じた符号を生成し、MPEG−4ビットストリームとして出力する。
【0101】
モード判定器7でマクロブロック毎の符号化モード判定する手順を図4に示す。
(ステップ401)現在符号化しているVOPがI−VOPかを調べる。I−VOPであれば判定対象のマクロブロックはnot_codedとしない。
(ステップ402)現在符号化しているVOPがB−VOPかを調べる。B−VOPであれば、(ステップ403)直前に符号化したP−VOPの同一位置のマクロブロックがnot_codedかを調べ、同一位置のマクロブロックがnot_codedであるならば判定対象のマクロブロックもnot_codedとする。同一位置のマクロブロックがnot_codedでなければ判定対象のマクロブロックもnot_codedにしない。
(ステップ404)現在符号化しているVOPはP−VOPであるので、以下(A)〜(C)の条件のうちのいずれかを満たす場合はnot_codedとしない。
(A)判定対象のマクロブロックの量子化後の離散コサイン変換係数、前方動きベクトルに0以外の係数が含まれる場合。
(B)同一の参照VOPを使用して前方動き検出を行ったVOP、すなわちfr(t1−i)(i=1...M−1)において、現在符号化を行っているマクロブロックと同一の位置にあるマクロブロックにおいて検出された動きベクトルの大きさが0よりも大きい場合。
(C)同一の参照VOPを使用して動き検出を行ったVOPにおいて、現在符号化を行っているマクロブロックと同一の位置にあるマクロブロックについてのSAD値の中に、所定の閾値Tよりも大きいものが含まれる場合。
【0102】
尚、上述(C)の閾値Tは、例えば現在のマクロブロックの量子化係数をqとしたとき、
【0103】
【数3】
Figure 0004007594
【0104】
という式で求められる。ここで係数rは、
【0105】
【数4】
Figure 0004007594
【0106】
として求めることができる。
【0107】
以上の判定手順より、P−VOP内のマクロブロックがnot_codedと符号化される条件は、
(α)当該マクロブロックの量子化後の離散コサイン変換係数の全てと動きベクトルとが0である。
(β)同一の参照VOPを使用して前方動き検出を行った全てのB−VOPにおける、同一位置にあるマクロブロックについて検出された動きベクトルが0である。
(γ)同一の参照VOPを使用して前方動き検出を行った全てのB−VOPにおける、同一位置にあるマクロブロックについて検出されたSAD値が所定の閾値Tよりも小さい。
の3条件全てを満たした場合である。
【0108】
このうち(γ)の条件は「マクロブロックの変化が小さい」という条件であり、前述のようなフラッシュ等によってマクロブロックが一瞬だけ大きく変化していないということを担保するための条件である。
【0109】
逆にこれら(α)〜(γ)のいずれか一つでも満たさないP−VOP内のマクロブロックについては、通常通りの符号化処理を行う。
【0110】
B−VOP内のマクロブロックがnot_codedと符号化される条件は従来と同様で、同一の参照VOPを使用して前方動き検出を行ったP−VOPにおける、同一位置にあるマクロブロックがnot_codedとして符号化されていることである。
【0111】
(符号化処理の順序)図2は本実施形態における符号化処理の順序を表すタイミングチャートである。
【0112】
図13と同様に図2も、左から右に時間軸をとっている。また、In、Pn、Bnは、それぞれn番目に入力されたVOPで、I−VOP、P−VOP、B−VOPとして符号化されるVOPを指す。
【0113】
本実施形態ではI0→P1→B2→B3→P4→B5→B6→P7・・・の順に動画像のVOPが入力されると、前方動き検出処理を入力から1VOP遅れでP1→B2→B3→P4→B5→B6→P7・・・の順に行われる。また、後方動き検出処理は入力から4VOP遅れでB3→B2→(処理なし)→B6→B5・・・の順で行い、最終的に符号化処理された符号化データの出力は、入力から2VOP遅れでI0→P1→P4→B2→B3→P7→B5→B6・・・の順で行われる。
【0114】
符号化処理の時系列的な流れは次のようになる。
(1)I0が入力される。
(2)P1の入力を受けて、I0を参照してP1の前方動き検出処理を行う。
(3)B2の入力を受けて、P1を参照してB2の前方動き検出処理を行うとともに、I0を符号化処理する。
(4)B3の入力を受けて、P1を参照してB3の前方動き検出処理を行うとともに、前方動き補償フレームとしてI0を用いてP1を符号化処理する。
(5)P4の入力を受けて、P1を参照してP4の前方動き検出処理を行うとともに、P4を参照してB3の後方動き検出処理を行い、P1を前方動き補償フレームとしてP4を符号化処理する。
(6)B5の入力を受けて、P4を参照してB5の前方動き検出処理を行うとともに、P4を参照してB2の後方動き検出処理を行い、前方動き補償フレームとしてP1を用い後方動き補償フレームとしてP4を用いてB2を符号化処理する。
(7)B6の入力を受けて、P4を参照してB6の前方動き検出処理を行うとともに、前方動き補償フレームとしてP1を用い後方動き補償フレームとしてP4を用いてB3を符号化処理する。
(8)P7の入力を受けて、P4を参照してP7の前方動き検出処理を行い、前方動き補償フレームとしてP4を用いてP7を符号化処理する。
【0115】
従来は前方動き検出処理の順序と符号化処理の順序とを同じくしていたが、本実施形態ではこれをVOPの入力順で行うことにより、P−VOPの符号化時に当該P−VOPと同じVOP参照して前方動き検出を行うB−VOPの前方動き検出の結果を参酌することが可能となった。
【0116】
尚、動き検出の演算量を減らすために前方動き検出にテレスコピックサーチを適用する場合にも、動き検出の順序をこのような順番にすることがある。従って、本発明とテレスコピックサーチとを同時に用いることも可能である。
【0117】
テレスコピックサーチを適用した前方動き検出とは、直前に同じVOPを参照VOPとして行ったVOPについて検出された動きベクトルMV0(h,v)を動きベクトルメモリ8から読み出し、それを探索中心点のオフセット値として水平垂直とも−N〜N−1画素のブロックマッチングを行って動きベクトルを求める手法である。
【0118】
本実施形態では、このような動き検出の順序を、演算量の削減(高速化)という目的ではなく画質劣化の抑制(画質向上)という目的で使用している。この点が従来とは異なっている。また、一般に処理速度と画質とは相反する要求であることを考慮すると、本実施形態は処理速度の向上と共通する手段を用いて画質の向上を図ることができるので、処理速度向上と画質向上との両方の要求に応えることができ、大変画期的であると言える。
【0119】
(本実施形態の効果)以上、本実施形態によれば、P−VOPの各マクロブロックの符号化モードを決定するにあたって、当該P−VOPと同じVOPを参照して前方動き検出を行うB−VOPについての前方動き検出結果も参酌するので、B−VOPだけで画像に急激な変化が生じた場合でも画質の劣化を抑制できる。
【0120】
また、P−VOPの前方動き検出よりも先に、同じVOPを参照するB−VOPの前方動き検出を行うので、前方動き検出処理にテレスコピックサーチを適用して、動き検出に要する演算量を減らすことが容易になる。
【0121】
(第2の実施形態)以下、本発明の第2の実施形態について図面を参照して説明する。
【0122】
(装置の構成)図5は本発明の第2の実施形態に係るMPEG−2からMPEG−4への画像変換装置の構成を示すブロック図である。
【0123】
本実施形態の変換装置は、MPEG−2方式のデータを復号して動画像を得るMPEG−2デコーダ20と、解像度の変換を行うスケーリング変換器21と、MPEG−2デコーダ20から得られる動きベクトルやマクロブロックの符号化モード等の情報を順次記憶するマクロブロック情報メモリ25と、解像度変換を行った動画像を1フレーム単位で記憶するフレームメモリ22とを備える。
【0124】
さらに本装置は、MPEG−4の符号化を行うための構成として、動き検出及び動き補償を行う動き検出兼動き補償器23と、離散コサイン変換器26と、量子化器27と、マクロブロック毎に適切な符号化モードを判定するモード判定器28と、MPEG−4符号化ビットストリームを生成する可変長符号化器29とを備える。
【0125】
また本装置は、MPEG−4の符号化における動き補償及び動き検出に用いるローカルデコード画像を生成するために、逆量子化器31と、逆離散コサイン変換器30と、ローカルデコード画像をVOP単位で順次記憶するフレームメモリ24と、加算器33と、減算器32とを備える。
【0126】
本装置は、MPEG−2のビットストリームから、フレームレートが同一で、画像の解像度を落とすことでビットレートを低減したMPEG−4のビットストリームを生成するために用いられるものである。本実施形態のMPEG−4変換装置は、MPEG−2のビットストリームを入力する手段を備えたPC(パーソナルコンピュータ)やWS(ワークステーション)上で動作するプログラムとして実現され、第1の実施形態と同様な構成のPCやWSで実行されるものとするが、例えば半導体集積回路上に本装置の各部を形成したハードウエアとして実現しても良い。
【0127】
尚、以下の説明では、入力されるMPEG−2ビットストリームが720×480画素の解像度を持つものとし、生成されるMPEG−4ビットストリームは352×240画素の解像度のものであるとする。
【0128】
(動作)本装置に入力されたMPEG−2ビットストリームは、MPEG−2デコーダ20において復号化されて画像が生成される。この時同時に、MPEG−2で符号化された各フレームの各マクロブロックの情報、特に動きベクトルとskipped MB情報も生成され、これらのマクロブロックの情報はマクロブロック情報メモリ25へ蓄積される。
【0129】
一方、デコードして得られる720×480画素の解像度を持つ画像は、スケーリング変換器21によって352×240画素に縮小された後にフレームメモリ22に格納される。なお、スケーリング変換は、水平垂直とも入力画像の半分の解像度である360x240画素に縮小した後に、画像の右8画素を切り取ることで実現する。
【0130】
動き検出兼動き補償器23では、フレームメモリ22に保存されている画像を動き補償及び動き検出対象画像とし、フレームメモリ24に保存されているMPEG−4ローカルデコード画像を参照VOPとして、動き検出と動き補償を行う。動き検出の際には、マクロブロック情報メモリ25から、MPEG−2で用いられた動きベクトルを参照して、必要な演算量を大きく削減する。
【0131】
今、MPEG−4の、あるVOPのマクロブロックMB4(h、v)に対して動き検出を行う場合を考える。この場合、マクロブロックMB4(h、v)と同じ画像を含むMPEG−2のマクロブロックMB2(x、y)には、
MB2(2h、2v)
MB2(2h+1、2v)
MB2(2h、2v+1)
MB2(2h+1、2v+1)
の4種類が存在する。
【0132】
したがって、MB4(h、v)の動きベクトルの候補としては、上述の4つのマクロブロックの動きベクトルを1/2にスケーリングしたものが想定される。
【0133】
また、MPEG−2の動きベクトルは1/2画素精度の粒度を持っているため、この動きベクトルをスケーリングすると1/4画素精度の粒度となる。そこで、これら4つの動きベクトルを探索候補ベクトルとし、それに対し水平垂直±0.5画素の範囲で動き検出を行うことで、動きベクトルを求めることができる。
【0134】
以上のようにして求められた動きベクトルを元に動き補償を行い、さらに離散コサイン変換・量子化を行うのは、一般的なMPEG−4符号化装置と同様である。また、離散コサイン変換、量子化を行われた画像がI−VOP若しくはP−VOPの場合は逆量子化、逆離散コサイン変換を行ってローカルデコード画像を生成するのも一般的なMPEG−4符号化装置と同様である。
【0135】
モード判定器28では、符号化対象画像がP−VOPの場合に、マクロブロック情報メモリ25に格納されたMPEG−2マクロブロック情報に基づいて、当該符号化対象画像に含まれる各マクロブロックMB4(h、v)それぞれをnot_codedとして符号化するかどうかの判定を行う。
【0136】
今、符号化しようとしているマクロブロックMB4(h、v)に属するP−VOPに対応するMPEG−2のP−ピクチャをpic(t)、pic(t)が前方動き補償ピクチャとして参照するピクチャをpic(t−M)(M>0)とする。このとき以下の条件をすべて満たす場合にマクロブロックMB4(h、v)をnot_codedと判定する。
(1)MB2(2h、2v)、MB2(2h+1、2v)、MB2(2h、2v+1)、MB2(2h+1、2v+1)がすべてskippedマクロブロックである。
(2)pic(t−M)を前方動き補償ピクチャとして参照するすべてのB−ピクチャ、すなわちpic(t−M+1)・・・pic(t−1)において、MB2(2h、2v)、MB2(2h+1、2v)、MB2(2h、2v+1)、MB2(2h+1、2v+1)それぞれと同一の位置のマクロブロックがskippedマクロブロックであるか、動きベクトルが0かつ符号化パラメータのCBP(Coded Block Pattern/マクロブロックに含まれる6個のブロックの中で変化があったブロックの個数と位置を表すパラメータで「有意ブロック・パターン」ともいう。)が0である。
【0137】
この判定によってnot_codedマクロブロックと判定された場合には、モード判定器28は可変長符号化器29を制御して当該マクロブロックについてはMPEG−4におけるnot_codedフラグを1にさせる。
【0138】
MPEG−2のP−ピクチャでは、skippedマクロブロックの動きベクトルは(0,0)である。しかし、MPEG−2のB−ピクチャでは、skippedマクロブロックの動きベクトルは左隣のマクロブロックと同じ動きベクトルを使うことを意味し、必ずしも(0,0)とは限らない。
【0139】
しかしながら、上記(1)に示したように同じピクチャを参照するP−ピクチャの各マクロブロックが(0,0)の動きベクトルを持っているので、B−ピクチャのskippedマクロブロックの動きベクトルも(0,0)であると考えても差し支えない。
【0140】
not_codedマクロブロックと判定されなかったマクロブロックについては、通常のP−VOPとしての符号化処理を行う。
【0141】
上記の判定を行うことで第1の実施形態と同様に、P−VOPのみならず、当該P−VOPとその参照VOPとの間に存在する全てのB−VOPについても、not_codedで符号化しても問題ないかを確認したことになる。
【0142】
以上、本実施形態によれば、B−ピクチャだけで一瞬画面に大きな変化が生じ、かつ、直後のP−ピクチャにskippedと符号化されたマクロブロックを含む動画像のMPEG−2ビットストリームからMPEG−4ビットストリームに変換する際に、画像の乱れを抑制することができる。
【0143】
以上、第1の実施形態、第2の実施形態ではではMPEG−4を例に挙げて説明した。しかし、本発明はMPEG−4に限られるものではない。
【0144】
動画像の各画像を画像内の相関と画像間の相関を利用して符号化する方式であって、MPEG−4でいうところのB−VOPのマクロブロック毎の符号化モードが、直後のP−VOPの符号化モードに依存する符号化方式に対して適用可能である。
【0145】
(第3の実施形態)以下、図面を参照して本発明の第3の実施形態について説明する。
【0146】
(概要)図14は本実施形態のMPEG−4符号化装置の概要を説明する図である。本実施形態のMPEG−4符号化装置はコンピュータで動作させるプログラムである。すなわち、コンピュータにこれから説明する各部の機能を実現させるためのプログラムとして実現される。
【0147】
本実施形態の動画像符号化装置は、動画像を符号化する動画像符号化部1401と、符号化処理による計算負荷を調べる計算負荷測定部1402と、動画像の各VOPの符号化モードを制御する符号化モード制御部1403とを備える。
【0148】
動画像符号化部1401は、入力された動画像の各VOPを、フレーム内符号化、前方向予測符号化、双方向予測符号化のいずれかの符号化モードによって符号化し、符号化データを出力する。また、符号化に関する情報を符号化モード制御部1403に出力する。符号化に関する情報には、符号化データの量、最後に使用した符号化モードの情報が含まれている。
【0149】
計算負荷測定部1402は、符号化処理の計算負荷を調べて符号化モード制御部1403に通知する。本装置はコンピュータで動作させるプログラムであるので、コンピュータに搭載された中央演算処理装置301(図3)の負荷を調べて通知する。
【0150】
符号化モード制御部1403は、動画像符号化部1401からの符号化に関する情報に基づいて、動画像の各フレームの符号化モードを決定し、動画像符号化部1401を制御する。
【0151】
符号化モード制御部1403では、双方向予測符号化が効率よく行えているかを判断する。そして、効率が良くないと判断した場合は、双方向予測符号化の使用を抑制する(なるべく前方向予測符号化を用いる)ように動画像符号化部1401に対して制御を行う。
【0152】
本実施形態では、符号化の順番によって双方向予測符号化を使用せざるを得ない場合には使用するので「使用抑制」とする。例えば、P1→B2→B3→P4→B5→B6→P7というVOPがあり、B2を符号化した際に効率が良くないと判断された場合に、B3を前方向予測符号化すると符号化処理が破綻してしまう。このような場合は、B3はB−VOPとして符号化し、B5以降での双方向予測符号化の使用を停止する。
【0153】
尚、「使用禁止」として構成しても良い。「使用禁止」とした場合は、符号化処理が破綻しないように必要に応じて符号化済みのVOPについても符号化をやりなおすようにする。例えば、上述の例で説明すると、B2を符号化した際に効率が良くないと判断された場合に、強制的にB3を前方向予測符号化し、さらに、P4の符号化もやり直す(参照VOPをB3にする必要があるため)。
【0154】
また、符号化モード制御部1403では、計算負荷が所定の閾値より高い場合にも、双方向予測符号化の使用を抑制するように制御を行う。
【0155】
尚、本実施形態のMPEG−4符号化装置は、半導体集積回路等のハードウエアとして実現しても良い。
【0156】
(構成)図15は本実施形態のMPEG−4符号化装置の概略構成を説明する図である。
【0157】
本実施形態の符号化装置は、入力画像をVOP単位で順次記憶するフレームメモリ1501と、各VOPの符号化モード(フレーム内符号化、前方予測符号化、双方向予測符号化)を決定し、動きベクトルを検出する動き検出器1502と、動きベクトル等からMV符号化データを生成する可変長符号化器1509とを備える。
【0158】
さらに、各VOPの符号化モードに応じた動き補償を行う動き補償器1504と、ローカルデコード画像をVOP単位で記憶するフレームメモリ1503とを備える。
【0159】
また、動き補償を行った画像に対してDCTを行う離散コサイン変換器1505と、DCT係数を量子化する量子化器1506と、量子化DCT係数等からDCT符号化データを生成する可変長符号化器1510と、ローカルデコード画像生成用の逆量子化器1507及び逆離散コサイン変換器1508と、加算器1516と、減算器1515とを備える。
【0160】
また、DCT符号化データとMV符号化データとを多重化しビットストリームを生成する多重化器1511と、ビットストリームの符号量及び動きベクトル由来の符号の量を計測する出力ビットカウンタ1512と、計測された符号量に応じて量子化器1506における量子化スケールを制御するレート制御器1513とを備える。これまでに述べた構成は、図14の動画像符号化部1401の構成に相当する部分である。
【0161】
本実施形態の符号化装置は、さらに、符号化処理の計算負荷を測定する計算負荷測定部1517を備える。これは、図14の計算負荷測定部1402に相当する部分である。
【0162】
本実施形態の符号化装置は、さらに、上述の出力ビットカウンタ1512で計測された符号化データの量、動きベクトル由来の符号化データの量及び上述の計算負荷測定部1517で測定された計算負荷に応じて動き検出器1502における動き検出モード(前方向予測、双方向予測、予測せず)及び可変長符号化部1509における符号化モード(前方向予測符号化、双方向予測符号化、フレーム内符号化)を制御する符号化モード制御部1514を備える。これは、図14の符号化モード制御部1403に相当する部分である。
【0163】
(動作)符号化対象となる動画像はVOP毎にフレームメモリ1501に順次保存される。動き検出部1502では各VOPの符号化モードを決定し、符号化対象となるVOPをフレームメモリ1501から読み出す。そして、P−VOP及びB−VOPとして符号化されるVOPに関しては動き検出により各VOPを構成するブロック単位で動きベクトルを求める。
【0164】
可変長符号化部1509では、各ブロックの動きベクトルとそのブロックに隣接するブロックの動きベクトルとの差分を求め、差分を可変長符号化してMV符号化データを生成する。
【0165】
周囲のブロックと同様な動きベクトルが検出される場合は差分がほぼ0となり、動きベクトルは可変長符号化によって大変効果的に圧縮することが可能である(図16(A))。一方、周囲の動きベクトルとの相関が低い場合は差分が大きくなる。その結果、動きベクトルを可変長符号化した場合に発生する符号量は多くなり符号化による圧縮効果が低くなる(図16(B))。
【0166】
周囲のブロックと同様な動きベクトルが検出される場合は、一般には動き予測が的中している場面、すなわち参照VOPと符号化対象のVOPとの相関が高い場面であることが多い。一方、周囲の動きベクトルとの相関が低い場合は、一般には動き予測が当たらない場面、すなわち参照VOPと符号化対象のVOPとの相関が低い場面であることが多い。
【0167】
動き補償器1504では、動き検出器1502で得られた動きベクトルとフレームメモリ1503から読み出した参照VOPとを用いて動き補償を行う。そして、減算器1515で、フレームメモリ1501から読み出した符号化対象VOPの各マクロブロックから、動きベクトルが指す参照VOPのマクロブロック相当の矩形領域の画像データを減算して予測誤差を求める。
【0168】
求めた予測誤差は離散コサイン変換器1505・量子化器1506を通して情報量が削減される。量子化後の離散コサイン変換係数は可変長符号化器1510で可変長符号化されてDCT符号化データに変換される。
【0169】
DCT符号化データとMV符号化データは多重化器1511において多重化され、ビットストリームとして出力される。
【0170】
尚、DCT符号化データは逆量子化器1507にも出力され、逆量子化器1507・逆離散コサイン変換器1508・加算器1516を通してローカルデコード画像となってフレームメモリ1503に蓄積される。
【0171】
MPEG−4規格にて動画像を符号化する際には、復号化装置の入力バッファを溢れさせたり(オーバーフロー)、逆にデータ不足(アンダーフロー)にさせないように、復号化装置の入力バッファに対応する仮想的なバッファの占有量を考慮する必要がある。
【0172】
そこで、出力ビットカウンタ1512では、多重化器1511から出力される各VOPの符号化データの符号量を計測し、バッファ占有量を推定する。このバッファをVBVバッファ(Video Buffering Verifier)と呼ぶ。VBVバッファに関する詳細は後述する。また、出力ビットカウンタ1512は各VOPの動きベクトル由来の符号化データの量も測定する。
【0173】
出力ビットカウンタ1512は、推定したVBVバッファの占有量を量子化レート制御器1513及び符号化モード制御器1514に通知する。また、出力ビットカウンタ1512は各VOPの動きベクトル由来の符号化データの量を符号化モード制御器1514に通知する。
【0174】
量子化レート制御器1513はVBVバッファの占有量に応じて量子化器1506で用いる量子化スケールを制御して発生する符号量の調整を行う。詳細は後述する。
【0175】
計算負荷測定部1517では符号化処理による計算負荷を測定し、負荷の大きさを符号化モード制御器1514に通知する。
【0176】
符号化モード制御器1514は負荷の大きさ、VBVバッファの占有量及び動きベクトル由来の符号化データの量に応じて、双方向予測符号化の使用を抑制するか否かを決定し、動き検出器1502及び可変長符号化器1509を制御する。符号化モード制御器1514に関する詳細は後述する。
【0177】
(VBVバッファ)VBVバッファとは、復号化装置側のバッファを想定した仮想的なバッファである。
【0178】
復号化装置に符号化データが所定のビットレートで入力されることに対応させて、VBVバッファの占有量を常に所定の速度で増加させる。また、復号化装置において復号化処理が行われて符号化データが使用される(バッファ内のデータが減少する)ことに対応させて、ある一定の時間間隔でVBVバッファの占有量を減少させる。
【0179】
VBVバッファの占有量を減少させるタイミングは、本装置から1つのVOPの符号化データが出力されるタイミングとする。また、VBVバッファ占有量の減少量は、当該VOPの符号化データの量(フレームスキップの場合はデータ量を0)とする。
【0180】
図17はVBVバッファの占有量の推移を表したグラフの例である。図17では、タイミング1701〜1704において出力された符号量に応じてVBVバッファの占有量を減少させている。各タイミングでは、VOPの種類とシーン(例えば動きが激しいか否か)に応じて符号量の許容量を決める。例えば、タイミング1703での許容量は許容量1706と決まったとする。
【0181】
しかし、符号化の結果生成される符号の量は必ずしも許容量の範囲内になるとは限らない。例えばタイミング1703の許容量は許容量1706と決められたが、実際に符号化した結果生成された符号量は符号量1705であり、許容量1706よりも符号量が多くなっている。
【0182】
このような場合は、レート制御器1513は量子化器1506で用いる量子化スケールを大きくするように制御する。これにより次回に符号化処理されるVOP(タイミング1704若しくはそれ以降のタイミングで符号化されるVOP)の量子化DCT係数の情報量が削減されるため、可変長符号化によって発生する符号量も減少する。
【0183】
すなわち、レート制御器1513は、量子化器1506を制御し、VBVバッファの占有量に応じて次に符号化されるVOPの量子化スケールを変化させて発生符号量の調節を行う。
【0184】
(符号化モード制御器1514)前述したように、レート制御器1513では、量子化DCT係数に由来する符号の量を減少させている。動きベクトルに由来する符号の量に関しては制御を行わない。
【0185】
しかし、符号量が許容量より多くなるのは量子化DCT係数に由来する符号の量が多いことが原因とは限らない。上述したように、動き予測が当たらない場面では、あるブロックと隣接するブロックとの動きベクトルの差分が大きくなり、動きベクトルに由来する符号の量が多くなる傾向がある。
【0186】
また、このような場面では、参照VOPと符号化対象のVOPとの相関が低いために予測誤差が大きくなり、結果として量子化DCT係数に由来する符号の量も多くなる。
【0187】
従って、1つのVOPに割り当てられる符号量が予め決まっている場合、動きベクトルの符号量が多くなってしまうと、量子化DCT係数に割当て可能な符号量は少なくなってしまい、画質が大幅に劣化する。
【0188】
特にB−VOPは双方向予測符号化を行うため、前方向予測符号化のP−VOPに比べて動きベクトルが(単純に)2倍程度になると考えられる。そのため、B−VOPでは量子化DCT係数に割当て可能な符号量が減少しやすく、P−VOPよりも画質が劣化しやすい。
【0189】
また、B−VOPでは双方向予測符号化を行うため、前方向予測符号化に比べて動きベクトルの探索回数が増え、計算負荷が大きくなる。符号化の処理時間が限られる状況下(例えばリアルタイムの符号化処理)や計算機能力が限られる状況下においては、計算負荷の大きさに応じて動きベクトルの探索範囲を制限する必要性が生じる。探索範囲を狭めると、精度の良い動きベクトルを求めることが難しくなり、画質の劣化を招きやすい。
【0190】
そこで、これらの画質の劣化を解消するために、符号化モード制御器1514は双方向予測符号化が効果的に機能しない場面を検知し、そのような場面では双方向予測符号化の使用を抑制してフレーム内符号化若しくは前方向予測符号化で符号化を行うように、動き検出器1502及び可変長符号化器1509を制御する。
【0191】
符号化モード制御器1514は、計算負荷の大きさ、VBVバッファの占有量及び動きベクトル由来の符号化データの量を用いて双方向予測符号化の使用を抑制するかを決定する。
【0192】
図18は符号化モード制御器1514において、双方向予測符号化の使用を抑制するか否かを決定するフローチャートである。以下、図18を用いて符号化モード制御器1514の処理を説明する。
【0193】
(ステップ1801)計算負荷測定部1517から受け取った現在の計算負荷が、所定の閾値を超えるか調べる。
【0194】
所定の閾値を超える場合は、計算負荷を軽減させるため、以後に符号化を行うVOPにおいて双方向予測符号化の使用を抑制するように、動き検出器1502及び可変長符号化器1509を制御する(ステップ1807)。超えない場合はステップ1802の処理を行う。
【0195】
上記の計算負荷に関する閾値は、処理時間(リアルタイムか否か)及び計算機の性能に応じて設定する。本実施形態では計算負荷としてCPUの負荷を用いるが、これ以外に符号化処理の演算量や、符号化処理が間に合わずに蓄積された入力画像が占めるメモリ量を用いても良い。
【0196】
(ステップ1802)フレームスキップが発生したか調べる。
【0197】
あるVOPを符号化した際にVBVバッファがアンダーフローを起こした場合、当該VOPは符号化されずにフレームスキップとなる。このような場合は以後のVOPにおいては双方向予測符号化の使用を抑制するように動き検出器1502及び可変長符号化器1509を制御する(ステップ1807)。アンダーフローを起こしていない場合はステップ1803の処理を行う。
【0198】
図19はフレームスキップの影響により符号化モードが変更される例を説明する図である。VOP1901の符号化時にフレームスキップが発生した(VOP1911)影響により、本来ならば双方向予測符号化によりB−VOPとして符号化される予定であったVOP1902が、前方向予測符号化によりP−VOPとして符号化される(VOP1912)ように変更されている。
【0199】
あるVOPの符号化時にフレームスキップが発生する、すなわちVBVバッファがアンダーフローを起こすということは、当該VOPだけでなくその前に符号化された数VOPについても、割り当てられていた符号量よりも多く符号が発生している。つまり、この数VOP間は動き予測が当たっていなかったと予測できる。
【0200】
よって、当該VOP以降のVOPについては双方向予測符号化の使用を抑制することにより、動きベクトル由来の符号の量を抑え、量子化DCT係数に多くの符号量を割り当てられるようにする。
【0201】
(ステップ1803)VBVバッファの占有量が減少傾向にあるかを調べる。
【0202】
あるVOPを符号化した時から遡って、過去の数VOPの間、VBVバッファの占有量が減少している場合は、以後のVOPにおいては双方向予測符号化の使用を抑制するように動き検出器1502及び可変長符号化器1509を制御する(ステップ1807)。減少傾向でない場合はステップ1804の処理を行う。
【0203】
図20はVBVバッファの占有量の推移を表す一例のグラフである。区間2012及び区間2013ではVBVバッファの占有量が増加しているが、VOP2001から過去の数VOPにわたる区間2011ではVBVバッファの占有量が減少している。
【0204】
数VOPにわたってVBVバッファの占有量が減少しつづけるということは、動き予測が当たらない場面を符号化していると考えられる。そこで、動きベクトル由来の符号の量を減らし、量子化DCT係数由来の符号を多くすることで画質が向上させることができる。
【0205】
VBVバッファの占有量の減少傾向の調べ方については、本実施形態では、VBVバッファの占有量のグラフにおける谷の部分の値(各VOPの符号量だけVBVバッファを減少させた時の減少後の値)に着目し、各VOP間のVBVバッファ占有量の変化率が所定数のVOPにわたって負の値の場合に減少傾向と判断する。ただし、途中でフレーム内符号化を行ったVOPが存在する場合は、変化率が負となるVOPを0から数えなおす。
【0206】
(ステップ1804)VBVバッファの占有量が所定の閾値を下回るかを調べる。
【0207】
あるVOPを符号化した時にVBVバッファの占有量が所定の閾値を下回った場合は、以後のVOPにおいては双方向予測符号化の使用を抑制するように動き検出器1502及び可変長符号化器1509を制御する(ステップ1807)。所定の閾値を下回らない場合はステップ1805の処理を行う。
【0208】
本ステップにおける「所定の閾値」は、VBVバッファの占有量がアンダーフローに近づいているかを判定する性質のものである。従って、所定の閾値を下回るということはアンダーフローに近い状態にあることを意味する。
【0209】
このような状態は、動き予測が当たらない場面を符号化していることが原因で発生することが多い。そこで、動きベクトル由来の符号の量を減らし、量子化DCT係数に多くの符号量を割り当てられるように制御し、画質向上を図る。
【0210】
図21はVBVバッファの占有量の推移を表すグラフの一例である。VOP2101を符号化した際に閾値2102を下回っている。このような場合、本装置は双方向予測符号化の使用を抑制して、VBVバッファの占有量が下限2103を下回らないようにする(すなわち、アンダーフローを防止する)。
【0211】
(ステップ1805)各VOPの符号化データにおいて、動きベクトル由来の符号化データの量が所定の閾値を超えるか調べる。
【0212】
あるVOPを符号化した時に当該VOPの動きベクトル由来の符号化データの量が所定の閾値を超えた場合は、以後のVOPにおいては双方向予測符号化の使用を抑制するように動き検出器1502及び可変長符号化器1509を制御する(ステップ1807)。
【0213】
所定の閾値を下回らない場合は双方向予測符号化の使用抑制を解除し、どの符号化モードでも使用可能とする(ステップ1806)。
【0214】
尚、ステップ1805の閾値に関しては2種類用意しておき、双方向予測符号化の使用に関して、使用抑制状態か自由状態かで使い分ける。抑制状態では第1の閾値を用い、自由状態では第1の閾値より大きな値の第2の閾値を用いる。
【0215】
抑制状態では、双方向予測符号化は符号化の順番の都合で必要な場合を除いては用いられない。従ってほとんどのVOPは前方向予測符号化で符号化される。
【0216】
上述したように、一般に双方向予測符号化では前方向予測符号化の時よりも多く(単純計算で約2倍程度)動きベクトル由来の符号が発生する。従って抑制状態の際に双方向予測符号化を基準にして閾値を設定すると閾値が高すぎてしまい、いつまでも抑制状態のままでいることになってしまう。
【0217】
一方、自由状態では全ての符号化モードを何ら制限無く用いることができる。従って、前方向予測符号化を基準にして閾値を小さな値に設定してしまうと、双方向予測符号化を用いる度に「閾値」を超えたと判定されてしまう。
【0218】
そこで、上述したように、使用抑制状態では第1の閾値を用い、自由状態では第1の閾値より大きな値の第2の閾値を用いる。
【0219】
(ステップ1806)全ての符号化モードを使用可能な「自由状態」にする。
【0220】
「自由状態」では全ての符号化モードの使用に関して制限をかけない。この状態では、各VOPに適用される符号化方式はVOPの入力順番に応じて決定されることになる。
【0221】
(ステップ1807)双方向予測符号化の使用を抑制した「使用抑制状態」にする。
【0222】
「使用抑制状態」では、双方向予測符号化は符号化の順番の都合で必要な場合を除いては用いられない。従ってほとんどのVOPは前方向予測符号化で符号化される。符号化方式の変更に伴い、必要に応じて符号化処理の順番の変更も行う。
【0223】
例えば、MPEG−4において、VOPの入力順に応じてP1→B2→B3→P4→B5→B6→P7と符号化方式が決まっていたとする。この時、符号化の順番はP1→P4→B2→B3→P7→B5→B6となる。
【0224】
このうち、B3を符号化した時にステップ1801〜ステップ1805のいずれかの条件を満たして「使用抑制状態」となったとする。
【0225】
すると、本来ならば次に符号化するのはP7であるが、双方向予測符号化の使用を抑制している状態なので、B5、B6も前方向予測符号化する必要がある。そこで、B3→B5→B6→P7の順番で符号化を行うように変更する。
【0226】
別の例では、B2を符号化した時にステップ1801〜ステップ1805のいずれかの条件を満たした場合、次に符号化するB3からは「使用抑制状態」となる。
【0227】
しかし、この時点でB3の符号化方式を前方向予測符号化に変更することは単純にはできない。なぜならば、既にP1を参照VOPとしてP4を前方向予測符号化で符号化しているからである。
【0228】
このような場合はB3は双方向予測符号化を用いて符号化を行う。そして、B3→B5→B6→P7の順番で符号化を行うように変更して、B5以降では前方向予測符号化で符号化を行う。
【0229】
尚、リアルタイムの処理を必要としない場合や、超高性能な演算処理装置を利用していて符号化処理能力が十分にある場合ならば、B3を前方向予測符号化で符号化し、P4の符号化をB3を参照VOPとしてやり直すように構成しても良い。これは前述の「使用禁止」に対応する構成となる。また、B3を動きベクトルやDCT係数を持たない「符号化不要フレーム」として符号化しても良い。
【0230】
以上に説明したように、符号化モード制御部1514は、上記ステップ1801〜1807の処理を行って双方向予測符号化の使用抑制状態と自由状態とを決定する。そして、動き検出器1502及び量子化器1506を制御して符号化モードの制御を行う。
【0231】
(本実施形態の効果)本実施形態は、現在の符号化状況をVBVバッファ占有量や動きベクトル由来の符号の量から把握するため、少ない計算コストで画質劣化を抑制することが出来る。
【0232】
また、計算負荷が高い場合には計算負荷が少ない符号化モードを採用しているので、リアルタイムな符号化処理においても画質劣化を抑制することが出来る。
【0233】
【発明の効果】
以上説明したように、本発明の第1の実施形態によれば、P−VOPの符号化におけるnot_codedマクロブロックの可否の判定に、当該P−VOPとそのP−VOPが参照する参照VOPに挟まれるすべてのVOPの動きベクトルとSAD値を利用することにより、間に挟まれるB−VOPだけ画像に大きな変化があった場合にもnot_codedマクロブロックの発生を抑制することによりB−VOPの画質低下を抑制することができる。
【0234】
また、本発明の第2の実施形態によれば、MPEG−2からMPEG−4への変換装置において、P−VOPの符号化時のnot_codedマクロブロックの可否の判定に、当該P−VOPに対応するP−ピクチャのskippedマクロブロックの有無だけでなく、P−ピクチャとその参照ピクチャに挟まれるすべてのB−ピクチャがnot_codedで符号化しても問題ないかを判断することにより、変換後のMPEG−4ビットストリームにおけるB−VOPの画質劣化の発生を抑制することができる。
【0235】
また、本発明の第3の実施形態によれば、動き予測が非効率な場面で動きベクトル由来の符号の発生量を抑制し、量子化DCT係数に多くの符号量を割り当てることができるので、画質劣化を抑制することが出来る。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態による画像符号化装置を説明するためのブロック図。
【図2】 本発明の第1の実施の形態によるMPEG−4符号化装置におけるタイミングチャート。
【図3】 本発明の各実施形態で使用するPCやWSの例。
【図4】 本発明の第1の実施形態における符号化モード判定手順を説明するフローチャート。
【図5】 本発明の第2の実施の形態による画像符号化装置を説明するためのブロック図。
【図6】 従来のMPEG−4符号化装置の構成を説明する図。
【図7】 MPEG−4の応用による携帯通信の例を示した図。
【図8】 MPEG−2/4変換によるストリーミング配信の例を示した図。
【図9】 双方向予測符号化を説明する図。
【図10】 入力VOPの順番と符号化される順番とを説明する図。
【図11】 not_codedマクロブロックの復号処理。
【図12】 not_codedマクロブロックが画質に影響を及ぼす様子を説明する図。
【図13】 従来のMPEG−4符号化装置におけるタイミングチャート。
【図14】 第3の実施形態の画像符号化装置の概要を説明する図。
【図15】 第3の実施形態の画像符号化装置の構成を説明する図。
【図16】 (A)動きベクトルを効率的に圧縮できる場合の例。(B)動きベクトルを効率的に圧縮できない場合の例。
【図17】 VBVバッファの占有量の推移の一例を表すグラフ。
【図18】 双方向予測符号化を抑制するか否かの判定処理を説明する図。
【図19】 双方向予測符号化が抑制された場合に符号化モードが変わる様子を説明する図。
【図20】 VBVバッファの占有量の推移の一例を表すグラフ。
【図21】 VBVバッファの占有量の推移の一例を表すグラフ。
【符号の説明】
1、10、22、24、40、47、1501、1503 フレームメモリ
2、45、1502 動き検出器
3 SADメモリ
4、29、44、1509、1510 可変長符号化器
5、27、43、1506 量子化器
6、26、42、1505 離散コサイン変換器
7、28 モード判定器
8 動きベクトルメモリ
9、46、1504 動き補償器
11、30、49、1508 逆離散コサイン変換器
12、31、50、1507 逆量子化器
13、33、48、1516 加算器
14、32、41、1515 減算器
20 MPEG−2デコーダ
21 スケーリング変換器
23 動き検出器兼動き補償器
25 マクロブロック情報メモリ
1511 多重化器
1512 出力ビットカウンタ
1513 レート制御器
1514 符号化モード制御器
1517 計算負荷測定器

Claims (12)

  1. フレーム内符号化手段と、前方向予測符号化手段と、双方向予測符号化手段とを備える動画像符号化装置であって、
    前記前方向予測符号化手段は、
    (A)前方向予測フレームの第1マクロブロック、
    (B)前記前方向予測フレームの前方動き検出で用いる参照フレームで前記第1マクロブロックと同じ位置にある第2マクロブロック、および、
    (C)これらのフレームを参照する双方向予測フレームで前記第1マクロブロックと同じ位置にある第3マクロブロック、
    の間の全てで相関が高い場合に、前記第1マクロブロックを「not_coded」として可変長符号化することを特徴とする動画像符号化装置。
  2. フレーム内符号化手段と、前方向予測符号化手段と、双方向予測符号化手段とを備える動画像符号化装置であって、
    前記各符号化手段は、
    参照フレームの画像を参照して、各フレームを所定の大きさの領域に分割したマクロブロック毎の前方動きベクトルをブロックマッチングによって検出する前方動き検出手段と、
    前記前方動きベクトルに対応するマッチング残差を記憶する手段と、
    各マクロブロックの画素情報を直交変換する直交変換手段とを備え、
    前記前方向予測符号化手段は、前方向予測符号化フレーム上のマクロブロックのうち、
    (A)量子化直交変換係数の全てと前方動きベクトルとが0であり、かつ、
    (B)前方動き検出に用いる参照フレームが前記前方向予測符号化フレームと同じものである全ての双方向予測符号化フレーム上の同位置にあるマクロブロックの前方動きベクトルが0であり、かつ、
    (C)前記全ての双方向予測符号化フレーム上の同位置にあるマクロブロックにおける前記マッチング残差が所定の閾値以下である、
    という条件を満たすものだけを「not_coded」として可変長符号化することを特徴とする動画像符号化装置。
  3. フレーム内符号化手段と、前方向予測符号化手段と、双方向予測符号化手段とを備える動画像符号化装置であって、
    前記各符号化手段は、
    参照フレームの画像を参照して、各フレームのマクロブロック毎の前方動きベクトルをブロックマッチングによって検出する前方動き検出手段と、
    前記前方動きベクトルに対応するマッチング残差を記憶する手段と、
    各マクロブロックの画素情報を直交変換する直交変換手段
    とを備え、
    前記前方動き検出手段は、前方向予測符号化フレームと同じ参照フレームを用いて前方動き検出を行う全ての双方向予測符号化フレームの各マクロブロックの前方動き検出を、前記前方向予測符号化フレームの同位置にあるマクロブロックの可変長符号化処理よりも先行するように行い、
    前記前方向予測符号化手段は、前記前方向予測符号化フレーム上のマクロブロックのうち
    (A)量子化直交変換係数の全てと前方動きベクトルとが0であり、かつ、
    (B)前記全ての双方向予測符号化フレーム上の同位置にあるマクロブロックの前方動きベクトルが0であり、かつ、
    (C)前記全ての双方向予測符号化フレーム上の同位置にあるマクロブロックにおける前記マッチング残差が所定の閾値以下である、
    という条件を満たすものだけを「not_coded」として可変長符号化することを特徴とする動画像符号化装置。
  4. 動画像をMPEG−4方式で符号化する動画像符号化装置であって、
    各フレームを構成するマクロブロック毎の前方動きベクトルを、前方向予測符号化フレームと同じ参照フレームを用いて前方動き検出を行う全ての双方向予測符号化フレームの同じ位置あるマクロブロックについての前方動き検出が、前記前方向予測符号化フレームの各マクロブロックの可変長符号化処理に対して先行するように求める前方動き検出手段と、
    前記動きベクトルに対応するマッチング残差を記憶する手段と、
    各フレームの各マクロブロックを可変長符号化する可変長符号化手段とを有し、
    前記可変長符号化手段は、前方向予測符号化フレーム上のマクロブロックのうち、
    (A)当該マクロブロックについての量子化離散コサイン変換係数の全てと前方動きベクトルとが0であり、かつ、
    (B)前記前方向予測符号化フレームと同じ参照フレームを使用して前方動き検出を行う全ての双方向予測符号化フレーム上の同位置にあるマクロブロックの前方動きベクトルが0であり、かつ、
    (C)前記双方向予測符号化フレーム上の同位置にあるマクロブロックについての前記マッチング誤差が所定の閾値以下である、
    ものについてのみ、その符号化モードを「not_coded」とすることを特徴とする動画像符号化装置。
  5. 動画像を符号化したデータを、第1の符号化方式から第2の符号化方式に変換する動画像符号化方式変換装置であって、
    前記第1、第2の符号化方式によって生成された符号化データにはフレーム内符号化フレームと前方向予測符号化フレームと双方向予測符号化フレームとが含まれており、
    第2の符号化方式における前方予測符号化フレームを所定の大きさに分割したマクロブロックのうち、符号化モードを「not_coded」とするのは、
    (A)(1)前記第1の符号化方式における当該マクロブロックに相当するマクロブロックの符号化モードが「skipped」であり、かつ、(2)前記前方向予測符号化フレームと同じフレームを参照して前方動き検出を行った全ての双方向予測符号化フレームにおける同位置に相当するマクロブロックの全ての符号化モードが「skipped」である場合、或いは、
    (B)(1)前記第1の符号化方式における当該マクロブロックに相当するマクロブロックの符号化モードが「skipped」であり、かつ、(2)前記同位置に相当するマクロブロックのすべての前方動きベクトルと各マクロブロックを構成する複数のブロックの中で変化があったものの個数を表すパラメータとが0である場合、
    であることを特徴とする動画像符号化方式変換装置。
  6. フレーム内符号化画像変換手段と、前方向予測符号化画像変換手段と、双方向予測符号化画像変換手段とを有し、動画像の符号化データを第1の符号化方式から第2の符号化方式に変換する動画像符号化方式変換装置であって、
    前記前方向予測符号化画像変換手段は、第2の符号化方式における前方向予測符号化フレームを所定の大きさに分割したマクロブロックの符号化モードを「not_coded」とするのは、
    (A)(1)前記第1の符号化方式における当該マクロブロックに相当するマクロブロックの符号化モードが「not_coded」であり、かつ、(2)前記前方向予測符号化フレームと同じフレームを参照して前方動き検出を行った全ての双方向予測符号化フレームにおける同位置に相当するマクロブロックの全ての符号化モードが「not_coded」である場合、或いは、
    (B)(1)前記第1の符号化方式における当該マクロブロックに相当するマクロブロックの符号化モードが「not_coded」であり、かつ、(2)前記同位置に相当するマクロブロックの全ての前方動きベクトルと各マクロブロックを構成する複数のブロックの中で前記参照フレームと比べて変化があったものの個数が0である場合、
    であることを特徴とする動画像符号化方式変換装置。
  7. 動画像を第1の符号化方式で符号化したフレーム内符号化画像と、前方向予測符号化画像と、双方向予測符号化画像とを含むデータを、フレーム内符号化画像と、前方向予測符号化画像と、双方向予測符号化画像とを含む第2の符号化方式のデータに変換する動画像符号化方式変換装置であって、
    前記第1の符号化方式で符号化された符号化データに含まれる各マクロブロックのデータから動きベクトル、符号化モード、マクロブロックを構成する複数のブロックの中で変化があったものの個数を表す有意ブロック数の情報を取得する手段と、
    前記動きベクトル及び前記符号化モードの情報をもとに、第2の符号化方式で符号化する際の各マクロブロックの符号化モードを判定するモード判定部と、
    前記第1の符号化方式で符号化された符号化データを、前記モード判定部の判定結果に従ってマクロブロック毎に第2の符号化方式に変換する手段とを有し、
    前記モード判定部は、前記第2の符号化方式において前方予測符号化フレームのマクロブロックの符号化モードを「not_coded」と判定するのは、
    (A)(1)当該マクロブロックに相当する前記第1の符号化方式による前方向予測符号化フレームにおけるマクロブロックが「skipped」として符号化されていて、かつ、(2)前記前方向予測符号化フレームと同じフレームを参照して前方動き検出を行って符号化された全ての双方向予測符号化フレームにおける同位置に相当するマクロブロックの符号化モードが「skipped」である場合、或いは、
    (B)(1)当該マクロブロックに相当する前記第1の符号化方式による前方向予測符号化フレームにおけるマクロブロックが「skipped」として符号化されていて、かつ、(2)そのうえ前記同位置に相当するマクロブロックの全ての前方動きベクトル及び有意ブロック数とが0である場合、
    であることを特徴とする動画像符号化方式変換装置。
  8. 動画像を第1の符号化方式で符号化したフレーム内符号化画像と、前方向予測符号化画像と、双方向予測符号化画像とを含むデータを、フレーム内符号化画像と、前方向予測符号化画像と、双方向予測符号化画像とを含む第2の符号化方式のデータに変換する動画像符号化方式変換装置であって、
    前記第1の符号化方式で符号化された符号化データを復号化する復号化部と、
    前記復号化部で第1の符号化データを復号化する際に得られる、各マクロブロックの動きベクトル及び符号化モード及び各マクロブロックを構成する複数のブロックの中で変化があったものの個数を表す有意ブロック数の情報をもとに、第2の符号化方式で符号化する際の各マクロブロックの符号化モードを判定するモード判定部と、
    前記復号化部で第1の符号化データを復号化して得られる画像データを、マクロブロック毎に前記モード判定部の判定結果に従って第2の符号化方式で符号化する可変長符号化部とを有し、
    前記モード判定部は、前記第2の符号化方式において前方予測符号化フレームのマクロブロックの符号化モードを「not_coded」と判定するのは、
    (A)(1)当該マクロブロックに相当する前記第1の符号化方式による前方向予測符号化フレームにおけるマクロブロックが「skipped」として符号化されていて、かつ、(2)前記前方向予測符号化フレームと同じフレームを参照して前方動き検出を行って符号化された全ての双方向予測符号化フレームにおける同位置に相当するマクロブロックの符号化モードが「skipped」である場合、或いは、
    (B)(1)当該マクロブロックに相当する前記第1の符号化方式による前方向予測符号化フレームにおけるマクロブロックが「skipped」として符号化されていて、かつ、(2)そのうえ前記同位置に相当するマクロブロックの全ての前方動きベクトル及び有意ブロック数とが0である場合、
    であることを特徴とする動画像符号化方式変換装置。
  9. 動画像の符号化データをMPEG−2方式からMPEG−4方式に変換する動画像符号化方式変換装置であって、
    MPEG−4方式において前方向予測符号化フレームのマクロブロックの符号化モードを「not_coded」とするのは、
    (A)(1)当該マクロブロックに相当するMPEG−2方式による前方向予測符号化フレームにおけるマクロブロックが「skipped」として符号化されていて、かつ、(2)前記前方向予測符号化フレームと同じフレームを参照して前方動き検出を行って符号化された全ての双方向予測符号化フレームにおける同位置に相当するマクロブロックの符号化モードが「skipped」である場合、或いは、
    (B)(1)当該マクロブロックに相当するMPEG−2方式による前方向予測符号化フレームにおけるマクロブロックが「skipped」として符号化されていて、かつ、(2)前記同位置に相当するマクロブロックの前方動きベクトルとCBPとが0である場合、
    であることを特徴とする動画像符号化方式変換装置。
  10. 入力された動画像信号を符号化して、フレーム内符号化画像と前方向予測符号化画像と双方向予測符号化画像とを含む符号化データを生成する動画像符号化方法であって、
    前方向予測符号化フレームの符号化では、
    (A)前方向予測フレームの第1マクロブロック、
    (B)前記前方向予測フレームの前方動き検出で用いる参照フレームで前記第1マクロブロックと同じ位置にある第2マクロブロック、および、
    (C)これらのフレームを参照する双方向予測フレームで前記第1マクロブロックと同じ位置にある第3マクロブロック、
    の間の全てで相関が高い場合に、前記第1マクロブロックを「not_coded」として可変長符号化することを特徴とする動画像符号化方法。
  11. 入力された動画像信号を符号化して、フレーム内符号化画像と前方向予測符号化画像と双方向予測符号化画像とを含む符号化データを生成する動画像符号化方法であって、
    前方向予測符号化フレーム及び双方向予測符号化フレームの符号化では、符号化対象のフレームを構成するマクロブロック毎に、当該フレームよりも時間的に直前に入力された前方向予測符号化フレーム若しくはフレーム内符号化フレームを参照フレームとして前方動き検出を行い、
    各フレームの符号化では、符号化対象のフレームを構成するマクロブロック毎に、画素値に対する直交変換と、直交変換して得られる係数の量子化とを行い、
    前方向予測符号化フレームの符号化では、符号化対象のフレーム上のマクロブロックのうち、
    (A)量子化直交変換係数の全てと前方動きベクトルとが0であり、かつ、
    (B)前方動き検出に用いる参照フレームが前記前方向予測符号化フレームと同じものである全ての双方向予測符号化フレーム上の同位置にあるマクロブロックの前方動きベクトルが0であり、かつ、
    (C)前記全ての双方向予測符号化フレーム上の同位置にあるマクロブロックにおける前記マッチング残差が所定の閾値以下である、
    という条件を満たすものだけを「not_coded」として可変長符号化することを特徴とする動画像符号化方法。
  12. 動画像の符号化データをMPEG−2方式からMPEG−4方式に変換する動画像符号化方式変換方法であって、
    MPEG−4方式において前方向予測符号化フレームのマクロブロックの符号化モードを「not_coded」とするのは、
    (A)(1)当該マクロブロックに相当するMPEG−2方式による前方向予測符号化フレームにおけるマクロブロックが「skipped」として符号化されていて、かつ、(2)前記前方向予測符号化フレームと同じフレームを参照して前方動き検出を行って符号化された全ての双方向予測符号化フレームにおける同位置に相当するマクロブロックの符号化モードが「skipped」である場合、或いは、
    (B)(1)当該マクロブロックに相当するMPEG−2方式による前方向予測符号化フレームにおけるマクロブロックが「skipped」として符号化されていて、かつ、(2)前記同位置に相当するマクロブロックの前方動きベクトルとCBPとが0である場合、
    であることを特徴とする動画像符号化方式変換方法。
JP2003042078A 2002-09-26 2003-02-20 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法 Expired - Fee Related JP4007594B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003042078A JP4007594B2 (ja) 2002-09-26 2003-02-20 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法
US10/669,356 US7050499B2 (en) 2002-09-26 2003-09-25 Video encoding apparatus and method and video encoding mode converting apparatus and method
US11/341,561 US20060120458A1 (en) 2002-09-26 2006-01-30 Video encoding apparatus and method and video encoding mode converting apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002280293 2002-09-26
JP2003042078A JP4007594B2 (ja) 2002-09-26 2003-02-20 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法

Publications (2)

Publication Number Publication Date
JP2004166183A JP2004166183A (ja) 2004-06-10
JP4007594B2 true JP4007594B2 (ja) 2007-11-14

Family

ID=32658546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003042078A Expired - Fee Related JP4007594B2 (ja) 2002-09-26 2003-02-20 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法

Country Status (2)

Country Link
US (2) US7050499B2 (ja)
JP (1) JP4007594B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101551752B1 (ko) 2013-11-18 2015-09-10 경상대학교산학협력단 병렬 직교 매칭 퍼슛 기법을 이용하여 성긴 신호를 복원하는 장치 및 방법

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001045425A1 (en) * 1999-12-14 2001-06-21 Scientific-Atlanta, Inc. System and method for adaptive decoding of a video signal with coordinated resource allocation
KR100368301B1 (ko) * 2000-06-26 2003-01-24 김상용 동영상 메일 시스템 및 방법
US7274857B2 (en) * 2001-12-31 2007-09-25 Scientific-Atlanta, Inc. Trick modes for compressed video streams
WO2004071085A1 (ja) * 2003-02-04 2004-08-19 Matsushita Electric Industrial Co., Ltd. コード変換方法及びその装置
US7966642B2 (en) * 2003-09-15 2011-06-21 Nair Ajith N Resource-adaptive management of video storage
JP4515886B2 (ja) * 2003-10-28 2010-08-04 パナソニック株式会社 面内予測符号化方法
US20070291131A1 (en) * 2004-02-09 2007-12-20 Mitsuru Suzuki Apparatus and Method for Controlling Image Coding Mode
AR049454A1 (es) 2004-07-01 2006-08-02 Qualcomm Inc Metodo y aparato para utilizar tecnicas de conversion hacia arriba de velocidad de cuadro (frame rate up conversion) en la codificacion de video escalable
US8600217B2 (en) * 2004-07-14 2013-12-03 Arturo A. Rodriguez System and method for improving quality of displayed picture during trick modes
TW200625964A (en) 2004-07-20 2006-07-16 Qualcomm Inc Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression
JP4618634B2 (ja) * 2004-10-07 2011-01-26 Kddi株式会社 圧縮オーディオデータ処理方法
JP4541825B2 (ja) * 2004-10-15 2010-09-08 キヤノン株式会社 動画像符号化装置及びその制御方法
US20060153300A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Method and system for motion vector prediction in scalable video coding
JP4485996B2 (ja) * 2005-06-13 2010-06-23 株式会社日立製作所 画像符号化装置及び画像符号化プログラム
GB2429593A (en) 2005-08-26 2007-02-28 Electrosonic Ltd Data compressing using a wavelet compression scheme
TWI304303B (en) * 2006-01-04 2008-12-11 Sunplus Technology Co Ltd Apparatus for image encoding and the method thereof
JP2007195117A (ja) * 2006-01-23 2007-08-02 Toshiba Corp 動画像復号装置
US8750387B2 (en) 2006-04-04 2014-06-10 Qualcomm Incorporated Adaptive encoder-assisted frame rate up conversion
US8634463B2 (en) 2006-04-04 2014-01-21 Qualcomm Incorporated Apparatus and method of enhanced frame interpolation in video compression
WO2008127568A2 (en) * 2007-04-12 2008-10-23 Thomson Licensing Methods and apparatus for fast geometric mode decision in a video encoder
US20090033791A1 (en) * 2007-07-31 2009-02-05 Scientific-Atlanta, Inc. Video processing systems and methods
US8295356B2 (en) 2008-03-07 2012-10-23 International Business Machines Corporation Method and system for coding mode selection in video compression systems
US8300696B2 (en) 2008-07-25 2012-10-30 Cisco Technology, Inc. Transcoding for systems operating under plural video coding specifications
US8379728B2 (en) * 2009-04-17 2013-02-19 Texas Instruments Incorporated Adaptive real-time video prediction mode method and computer-readable medium and processor for storage and execution thereof
JP2011013852A (ja) * 2009-06-30 2011-01-20 Toshiba Corp 情報処理装置及び並列動作制御方法
JP5879555B2 (ja) * 2010-05-10 2016-03-08 パナソニックIpマネジメント株式会社 動画像符号化装置
EP3176729A1 (en) 2011-09-06 2017-06-07 Intel Corporation Analytics assisted encoding
KR102070431B1 (ko) 2012-01-19 2020-01-28 삼성전자주식회사 쌍방향 예측 및 블록 병합을 제한하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US9998750B2 (en) 2013-03-15 2018-06-12 Cisco Technology, Inc. Systems and methods for guided conversion of video from a first to a second compression format
US9992252B2 (en) 2015-09-29 2018-06-05 Rgb Systems, Inc. Method and apparatus for adaptively compressing streaming video

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2375753B1 (en) * 1993-03-24 2013-09-11 Sony Corporation Method of decoding picture signal and apparatus thereof
EP2352297B1 (en) * 1997-02-13 2016-04-13 Mitsubishi Denki Kabushiki Kaisha Moving picture decoding apparatus
CN100466747C (zh) * 1997-02-14 2009-03-04 日本电信电话株式会社 运动图像的预测编码装置和译码装置
US6404813B1 (en) * 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
ES2323358T3 (es) * 1997-04-01 2009-07-14 Sony Corporation Codificador de imagenes, metodo de codificacion de imagenes, descodificador de imagenes, metodo de descodificacion de imagenes, y medio de distribucion.
JP3951152B2 (ja) 1997-09-19 2007-08-01 ソニー株式会社 画像符号化装置および方法
US6192148B1 (en) * 1998-11-05 2001-02-20 Winbond Electronics Corp. Method for determining to skip macroblocks in encoding video
US6366705B1 (en) * 1999-01-28 2002-04-02 Lucent Technologies Inc. Perceptual preprocessing techniques to reduce complexity of video coders
JP2000278692A (ja) * 1999-03-25 2000-10-06 Victor Co Of Japan Ltd 圧縮データ処理方法及び処理装置並びに記録再生システム
KR20010101329A (ko) * 1999-10-29 2001-11-14 요트.게.아. 롤페즈 비디오 인코딩 방법
US6819714B2 (en) * 2000-04-20 2004-11-16 Matsushita Electric Industrial Co., Ltd. Video encoding apparatus that adjusts code amount by skipping encoding of image data
JP2002218470A (ja) 2001-01-22 2002-08-02 Victor Co Of Japan Ltd 画像符号化データのレート変換方法、及び画像符号化レート変換装置
US6748386B1 (en) * 2001-04-24 2004-06-08 Nec Corporation System and method for automated construction of URL, cookie, and database query mapping
FR2824988B1 (fr) * 2001-05-21 2003-08-01 Thomson Licensing Sa Procede et dispositif de codage video utilisant la norme mpeg4
US6816552B2 (en) * 2001-07-11 2004-11-09 Dolby Laboratories Licensing Corporation Interpolation of video compression frames
US20030099294A1 (en) * 2001-11-27 2003-05-29 Limin Wang Picture level adaptive frame/field coding for digital video content
US20030128761A1 (en) * 2001-12-07 2003-07-10 Minhua Zhou Image and video coding
US20030115421A1 (en) * 2001-12-13 2003-06-19 Mchenry Stephen T. Centralized bounded domain caching control system for network edge servers
KR100925968B1 (ko) * 2001-12-17 2009-11-09 마이크로소프트 코포레이션 컴퓨터 시스템에서 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법, 시스템 및 컴퓨터 판독가능 매체
US7133905B2 (en) * 2002-04-09 2006-11-07 Akamai Technologies, Inc. Method and system for tiered distribution in a content delivery network
US7363340B2 (en) * 2002-07-18 2008-04-22 International Business Machines Corporation Method and system for generating auxiliary-server cache identifiers
US6950823B2 (en) * 2002-12-23 2005-09-27 International Business Machines Corporation Transparent edge-of-network data cache

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101551752B1 (ko) 2013-11-18 2015-09-10 경상대학교산학협력단 병렬 직교 매칭 퍼슛 기법을 이용하여 성긴 신호를 복원하는 장치 및 방법

Also Published As

Publication number Publication date
US20040125876A1 (en) 2004-07-01
US7050499B2 (en) 2006-05-23
JP2004166183A (ja) 2004-06-10
US20060120458A1 (en) 2006-06-08

Similar Documents

Publication Publication Date Title
JP4007594B2 (ja) 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法
KR100873586B1 (ko) 미디어 프로세서에서 mpeg2 디코딩의 동적인 복잡도예측 및 조절
KR100495716B1 (ko) 화상인코딩장치와방법및화상인코딩프로그램이기록된매체
KR100335052B1 (ko) 프레임 레벨 속도 제어 방법
JP4221655B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
EP1077000A1 (en) Conditional masking for video encoder
JP2002027469A (ja) ビットストリーム変換方法、ビットストリーム変換装置およびプログラム記録媒体
JP2005252555A (ja) ビデオ情報再符号化装置
JP4224778B2 (ja) ストリーム変換装置および方法、符号化装置および方法、記録媒体、並びに、プログラム
JP4826533B2 (ja) 画像処理装置および画像処理方法、プログラム、並びに、記録媒体
JP4120934B2 (ja) 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
JP4421734B2 (ja) 符号化データ変換方法,及びデータ記録媒体
JP2000312362A (ja) 画像符号化方式変換装置、画像符号化方式変換方法および記録媒体
JP3963296B2 (ja) 動画像の伝送レート変換装置
JP3428332B2 (ja) 画像符号化方法及び装置、並びに画像伝送方法
JP3690259B2 (ja) 動画像高速符号化装置及び動画像高速符号化方法
JP4169767B2 (ja) 符号化方法
JP4243286B2 (ja) 符号化方法
JPH10108197A (ja) 画像符号化装置、画像符号化制御方法および画像符号化制御用プログラムを記録した媒体
JPH11308622A (ja) 動画像再符号化装置
JPH114445A (ja) 画像符号化装置および方法
JP5401909B2 (ja) トランスコード装置およびトランスコード方法
JP3970267B2 (ja) 動画像符号化装置および動画像符号化方法
JP2008153946A (ja) 画像符号化装置
JP2009118097A (ja) 画像符号化装置及びその制御方法、コンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040609

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050415

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070827

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

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110907

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees