JP4921971B2 - インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸 - Google Patents

インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸 Download PDF

Info

Publication number
JP4921971B2
JP4921971B2 JP2006525511A JP2006525511A JP4921971B2 JP 4921971 B2 JP4921971 B2 JP 4921971B2 JP 2006525511 A JP2006525511 A JP 2006525511A JP 2006525511 A JP2006525511 A JP 2006525511A JP 4921971 B2 JP4921971 B2 JP 4921971B2
Authority
JP
Japan
Prior art keywords
field
motion vector
macroblock
candidate motion
motion vectors
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
JP2006525511A
Other languages
English (en)
Other versions
JP2007504760A (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.)
Microsoft Corp
Original Assignee
Microsoft 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
Priority claimed from US10/933,882 external-priority patent/US7924920B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2007504760A publication Critical patent/JP2007504760A/ja
Application granted granted Critical
Publication of JP4921971B2 publication Critical patent/JP4921971B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/16Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display mode
    • 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
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/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/146Data rate or code amount at the encoder output
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/172Methods 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 picture, frame or field
    • 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
    • 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/18Methods 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 a set of transform coefficients
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/186Methods 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 a colour or a chrominance component
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets

Landscapes

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

Description

本特許文書の開示の一部は、著作権保護の対象となる内容を含む。著作権保有者は、本特許開示が特許商標庁の特許ファイルまたはレコードにあるとおりにファクシミリ複製されることには異存がないが、それ以外の場合は、すべての著作権を保有するものとする。
本発明は、プログレッシブ・ビデオおよびインターレース・ビデオの符号化および復号の手法およびツールに関する。一例として、符号化器は、インターレース・フレームの符号化されたピクチャのマクロブロックのマクロブロック・モード情報を信号伝達(signaling)する。別の例として、符号化器/復号器は、インターレース・フレームの符号化されたピクチャのルミナンス動きベクトルおよびクロマ動きベクトルを符号化および復号する。
デジタル・ビデオは、大量の記憶容量および伝送容量を消費する。一般的なRAW(加工処理していない)デジタル・ビデオ・シーケンスは、毎秒15枚または30枚のピクチャを含む。各ピクチャは、数万または数十万個の画素(pelとも呼ぶ)を含むことが可能である。各画素は、ピクチャの微小な要素を表す。コンピュータは、一般に、24ビットあるいはそれ以上で画素をRAW形式で表現する。したがって、標準的なRAWデジタル・ビデオ・シーケンスの毎秒のビット数(ビット・レート)は、毎秒500万ビットあるいはそれ以上になる可能性がある。
ほとんどのコンピュータやコンピュータ・ネットワークは、RAWデジタル・ビデオを処理するに足るだけのリソースを有していない。このため、技術者らは、圧縮(符号化とも言う)を用いてデジタル・ビデオのビットレートを低減する。圧縮は可逆的(lossless)であることが可能である。可逆的圧縮は、ビデオの画質は劣化しないが、ビットレートの低減量が、ビデオの複雑さによって制限される。また、圧縮は非可逆的(lossy)であることも可能である。非可逆的圧縮は、ビデオの画質は劣化するが、ビットレートをより大幅に低減することが可能である。圧縮解除は圧縮の逆である。
一般に、ビデオ圧縮手法は、「イントラ」圧縮と「インター」(予測)圧縮とを含む。イントラ圧縮手法では、個別のピクチャ(一般に、Iフレームまたはキー・フレームと呼ばれる)を圧縮する。インター圧縮手法では、先行および/または後続のフレームを基準にしてフレームを圧縮する。インター圧縮されたフレームは、一般に、予測フレーム、Pフレーム、またはBフレームと呼ばれる。
I.Windows(登録商標)Media Videoバージョン8および9におけるインター圧縮
Microsoft CorporationのWindows(登録商標)Media Videoバージョン8[「WMV8」]は、ビデオ符号化器およびビデオ復号器を含む。WMV8符号化器はイントラ圧縮およびインター圧縮を用い、WMV8復号器はイントラ圧縮解除およびインター圧縮解除を用いる。Windows(登録商標)Media Videoバージョン9[「WMV9」]は、これらに類似するアーキテクチャを多くの操作に用いる。
WMV8符号化器におけるインター圧縮では、ブロック・ベースの動き補償予測符号化を行い、その後に、残余誤差(residual error)の変換符号化を行う。図1および2は、WMV8符号化器における予測フレームのブロック・ベースのインター圧縮を示す。具体的には、図1は、予測フレーム110の動き推定を示し、図2は、予測フレームの動き補償されたブロックの予測残差の圧縮を示す。
例えば、図1では、WMV8符号化器は、予測フレーム110内のマクロブロック115の動きベクトルを算出する。符号化器は、動きベクトルを算出するために、参照フレーム130のサーチ領域135内をサーチする。符号化器は、サーチ領域135内で、予測フレーム110内のマクロブロック115と、様々な候補マクロブロックとを比較して、よく一致する候補マクロブロックを見つける。符号化器は、一致するマクロブロックの(エントロピー符号化された)動きベクトルを示す情報を出力する。
動きベクトルの値は、空間的に周囲にある動きベクトルの値と相関があることが多いので、動きベクトル情報の伝送に使用されるデータを圧縮するには、隣接するマクロブロックの動きベクトルに基づいて動きベクトル・プレディクタを選択し、その動きベクトル・プレディクタを用いて現在のマクロブロックの動きベクトルを予測する。符号化器は、動きベクトルと動きベクトル・プレディクタとの差分を符号化することが可能である。復号器は、その差分を動きベクトル・プレディクタに加算して動きベクトルを再構成した後、その動きベクトルを用い、参照フレーム130(符号化器および復号器で使用可能な、あらかじめ再構成されたフレーム)からの情報を用いて、マクロブロック115の予測マクロブロックを算出する。予測が完全であることはほとんどないので、符号化器は、通常、予測マクロブロックとマクロブロック115自体との画素差のブロック(誤差ブロックまたは残差ブロックとも呼ばれる)を符号化する。
図2は、WMV8符号化器における誤差ブロック235の算出および符号化の例を示す。誤差ブロック235は、予測ブロック215とオリジナルの現在のブロック225との差分である。符号化器は、誤差ブロック235に離散コサイン変換[「DCT」]240を適用して、8×8ブロックの係数245を得る。次に符号化器は、DCT係数を量子化(250)し、8×8ブロックの量子化されたDCT係数255を得る。符号化器は、8×8ブロック255をスキャン(260)して、係数が最低周波数から最高周波数へと大まかに並べられた一次元配列265を得る。符号化器は、ランレングス符号化270の一種(variation)により、スキャンされた係数をエントロピー符号化する。符号化器は、1つまたは複数のrun/level/lastテーブル(run/level/last tables)275からエントロピー符号を選択し、そのエントロピー符号を出力する。
図3は、インター符号化されたブロックに対応する復号処理300の例を示す。図3の概要を述べると、予測残差を表す、エントロピー符号化された情報を、復号器が、1つまたは複数のrun/level/lastテーブル315を用いる可変長復号310とランレングス復号320とにより復号する。復号器は、エントロピー復号された情報を格納する一次元配列325を逆スキャン(330)して二次元ブロック335にする。復号器は、データを逆量子化および逆離散コサイン変換(まとめて340)して、再構成された誤差ブロック345を得る。別の動き補償パスで、復号器は、参照フレームからの変位に関する動きベクトル情報355を用いて予測ブロック365を算出する。復号器は、予測ブロック365と、再構成された誤差ブロック345とを結合(370)して、再構成されたブロック375を形成する。
オリジナル・フレームと再構成されたフレームとの間の変化量はひずみであり、そのフレームの符号化に必要なビット数は、そのフレームのレートを示す。ひずみの量は、大まかには、レートに反比例する。
II.インターレース・ビデオとプログレッシブ・ビデオ
ビデオ・フレームは、ビデオ信号の空間情報からなる複数のライン(走査線)を収容する。プログレッシブ・ビデオの場合、これらのラインは、ある時点から始まり、連続する複数のラインを通ってフレームの一番下まで続くサンプル群を収容する。プログレッシブIフレームは、イントラ符号化されたプログレッシブ・ビデオ・フレームである。プログレッシブPフレームは、順方向予測を用いて符号化されたプログレッシブ・ビデオ・フレームであり、プログレッシブBフレームは、双方向予測を用いて符号化されたプログレッシブ・ビデオ・フレームである。
典型的なインターレース・ビデオ・フレームは、異なる時点からスキャンが開始される2つのフィールドからなる。例えば、図4に示すインターレース・ビデオ・フレーム400は、トップ・フィールド410とボトム・フィールド420とを含む。一般には、ある時刻(例えば、時刻t)から偶数番号ライン(トップ・フィールド)のスキャンが開始され、別の(一般に後の)時刻(例えば、時刻t+1)から奇数番号ライン(ボトム・フィールド)のスキャンが開始される。このようなタイミングは異なるタイミングで2つのフィールドのスキャンが開始されたときに動きがあったインターレース・ビデオ・フレームの領域内に、ぎざぎざの歯のような外観を生じさせる場合がある。このため、フィールド構成に従ってインターレース・ビデオ・フレームを、奇数ライン群を一方のフィールドにまとめ、偶数ライン群をもう一方のフィールドにまとめる態様で、再配置することが可能である。フィールド符号化と呼ばれるこの配置は、そのようなぎざぎざのエッジのアーティファクトを低減するために、動きの多いピクチャにおいて有効である。これに対し、静的な領域では、そのような再配置を行わなくても、インターレース・ビデオ・フレームの画像詳細をより効率的に保存することが可能である。したがって、静的な、動きの少ないインターレース・ビデオ・フレームでは、オリジナルの交番するフィールド・ライン配置が保存されるフレーム符号化が行われることが多い。
一般的なプログレッシブ・ビデオ・フレームは、交番するラインを有しないコンテンツからなる1フレームから構成される。インターレース・ビデオと異なり、プログレッシブ・ビデオでは、ビデオ・フレームが別々のフィールドに分割されず、フレーム全体が、左から右、上から下へのスキャンが単一の時刻から開始される。
III.従来のWMV符号化器および復号器におけるPフレーム符号化および復号
符号化器および復号器は、Pフレームにおいて、プログレッシブ符号化および復号、ならびにインターレース符号化および復号を用いる。インターレースPフレームおよびプログレッシブPフレームの場合、符号化器では、動きベクトルと動きベクトル・プレディクタとの差分を算出することによって動きベクトルが符号化される。動きベクトル・プレディクタは、隣接する動きベクトルに基づいて算出される。また、復号器では、動きベクトル差分を動きベクトル・プレディクタに加算することによって動きベクトルが再構成される。この動きベクトル・プレディクタも、隣接する動きベクトルに基づいて(ここでは復号器において)算出される。したがって、現在のマクロブロックまたは現在のマクロブロックのフィールドの動きベクトル・プレディクタは、候補に基づいて選択され、動きベクトル差分は、動きベクトル・プレディクタに基づいて算出される。動きベクトルは、符号化器側または復号器側のいずれかで、動きベクトル差分を、選択された動きベクトル・プレディクタに加算することによって再構成されることが可能である。一般に、ルミナンス動きベクトルは、符号化された動き情報から再構成され、クロマ動きベクトルは、再構成されたルミナンス動きベクトルから導出される。
A.プログレッシブPフレームの符号化および復号
例えば、符号化器および復号器では、プログレッシブPフレームは、1動きベクトル(1MV)モードまたは4動きベクトル(4MV)モードで符号化されたマクロブロックを含むか、スキップ・マクロブロック(skipped macroblock)を含むこと、が可能であり、その決定は一般にマクロブロックごとに行われる。1MVマクロブロック(および、場合によっては、スキップ・マクロブロック)だけを有するPフレームは1MV Pフレームと呼ばれ、1MVマクロブロックと4MVマクロブロックの両方(および、場合によっては、スキップ・マクロブロック)を有するPフレームは、混在MV Pフレームと呼ばれる。各1MVマクロブロックには1つのルミナンス動きベクトルが関連付けられ、各4MVマクロブロックには最大4つのルミナンス動きベクトル(各ブロックに1つずつ)が関連付けられる。
図5Aおよび図5Bは、1MVプログレッシブPフレームのマクロブロックの候補動きベクトル・プレディクタと見なされるマクロブロックの位置を示す図である。候補プレディクタは、マクロブロックが行(row)の最後のマクロブロックである場合を除き、左、上、および右上のマクロブロックから取得される。マクロブロックが行の最後のマクロブロックである場合は、プレディクタBは、右上ではなく左上のマクロブロックから取得される。特殊なケースとして、フレームが1マクロブロック幅である場合は、プレディクタは常にプレディクタA(上のプレディクタ)である。マクロブロックが上の行にあるためにプレディクタAが範囲外である場合のプレディクタは、プレディクタCである。他の特殊なケース(イントラ符号化されたプレディクタなど)には、他の様々な規則が対応する。
図6A〜図10は、混在MVフレームの1MVまたは4MVマクロブロックの動きベクトルの最大3つの候補動きベクトルと見なされるブロックまたはマクロブロックの位置を示す。これらの図では、大きい正方形がマクロブロック境界を示し、小さい正方形がブロック境界を示す。特殊なケースとして、フレームが1マクロブロック幅である場合は、プレディクタは常にプレディクタA(上のプレディクタ)である。他の特殊なケース(上の行の4MVマクロブロックに対する上の行のブロック、上の行の1MVマクロブロック、イントラ符号化されたプレディクタなど)には、他の様々な規則が対応する。
図6Aおよび図6Bは、混在MVフレームの現在の1MVマクロブロックの候補動きベクトル・プレディクタと見なされるブロックの位置を示す図である。隣接するマクロブロックは、1MVまたは4MVマクロブロックである可能性がある。図6Aおよび図6Bは、隣接するマクロブロックが4MVであると仮定した場合の候補動きベクトルの位置を示す(すなわち、現在のマクロブロックの上のマクロブロックのブロック2の動きベクトルがプレディクタAであり、現在のマクロブロックのすぐ左のマクロブロックのブロック1の動きベクトルがプレディクタCである)。すべての隣接するマクロブロックが1MVマクロブロックであれば、図5Aおよび5Bに示した動きベクトル・プレディクタが、マクロブロック全体の動きベクトル・プレディクタとなる。図6Bに示すように、マクロブロックが行の最後のマクロブロックであれば、プレディクタBは、他のケースと同様に、右上のマクロブロックのブロック2ではなく、左上のマクロブロックのブロック3の動きベクトルになる。
図7A〜図10は、4MVマクロブロックにある4つのルミナンス・ブロックのそれぞれの候補動きベクトル・プレディクタと見なされるブロックの位置を示す。図7Aおよび7Bは、位置0にあるブロックの候補動きベクトル・プレディクタと見なされるブロックの位置を示す図である。図8Aおよび8Bは、位置1にあるブロックの候補動きベクトル・プレディクタと見なされるブロックの位置を示す図である。図9は、位置2にあるブロックの候補動きベクトル・プレディクタと見なされるブロックの位置を示す図である。図10は、位置3にあるブロックの候補動きベクトル・プレディクタと見なされるブロックの位置を示す図である。この場合も、隣接するマクロブロックが1MVマクロブロックであれば、マクロブロックの動きベクトル・プレディクタがマクロブロックのブロックに用いられる。
マクロブロックが行の最初のマクロブロックであるケースでは、ブロック0のプレディクタBの扱いが、その行の他のマクロブロックのブロック0の場合と異なる(図7Aおよび7Bを参照)。このケースでは、プレディクタBは、他のケースと同様に、現在のマクロブロックの上および左のマクロブロックにあるブロック3からではなく、現在のマクロブロックのすぐ上のマクロブロックにあるブロック3から取得される。同様に、マクロブロックが行の最後のマクロブロックであるケースでは、ブロック1のプレディクタBの扱いが異なる(図8Aおよび8B)。このケースでは、プレディクタは、他のケースと同様に、現在のマクロブロックの上および右のマクロブロックにあるブロック2からではなく、現在のマクロブロックのすぐ上のマクロブロックにあるブロック2から取得される。一般に、マクロブロックが最初のマクロブロック列(column)にある場合は、ブロック0および2のプレディクタCが0に等しく設定される。
B.インターレースPフレームの符号化および復号
符号化器および復号器は、インターレースPフレームについては4:1:1マクロブロック・フォーマットを用いる。インターレースPフレームは、フィールド・モードまたはフレーム・モードで符号化されたマクロブロックを含むか、スキップ・マクロブロックを含むことが可能であり、その決定は一般にマクロブロックごとに行われる。フィールド符号化された各インター・マクロブロックには2つの動きベクトルが関連付けられ(フィールドごとに1つの動きベクトル)、フレーム符号化された各インター・マクロブロックには1つの動きベクトルが関連付けられる。符号化器は、水平方向および垂直方向の動きベクトル差分成分を含む動き情報を、場合によっては、他の信号伝達情報(signaling information)と統合的(jointly)に符号化する。
図11と図12および図13は、符号化器および復号器におけるインターレースPフレームの、それぞれ、フレーム符号化された4:1:1マクロブロックと、フィールド符号化された4:1:1マクロブロックの動きベクトル・プレディクタの候補プレディクタの例を示す。図11は、インターレースPフレームの(マクロブロック行の最初または最後のマクロブロックでなく、一番上の行でない)内側の位置にある、現在のフレーム符号化された4:1:1マクロブロック用の候補プレディクタA、B、およびCを示す。プレディクタは、A、B、およびCとラベル付けされた以外の様々な候補方向から取得可能である(例えば、現在のマクロブロックが、行の最初または最後のマクロブロックである場合や、一番上の行にある場合のような特殊なケースでは、使用不可能なプレディクタがあるため)。現在のフレーム符号化されたマクロブロックの場合、プレディクタ候補は、隣接するマクロブロックがフィールド符号化されているかフレーム符号化されているかに応じて異なる算出が行われる。隣接するマクロブロックがフレーム符号化されている場合は、動きベクトルが、単純に、プレディクタ候補として取得される。隣接するマクロブロックがフィールド符号化されている場合は、トップ・フィールドとボトム・フィールドの動きベクトルを平均することによって候補動きベクトルが決定される。
図12および図13は、フィールドの内側の位置にあるフィールド符号化された4:1:1マクロブロックにおける、現在のフィールドの候補プレディクタA、B、およびCを示す。図12では、現在のフィールドがボトム・フィールドであり、隣接するマクロブロックにあるボトム・フィールド動きベクトルが候補プレディクタとして用いられる。図13では、現在のフィールドがトップ・フィールドであり、隣接するマクロブロックにあるトップ・フィールド動きベクトルが候補プレディクタとして用いられる。したがって、現在のフィールド符号化されたマクロブロックの各フィールドについては、各フィールドの動きベクトル・プレディクタ候補の数は最大で3である。各候補は、現在のフィールドと同じフィールド・タイプ(例えば、トップまたはボトム)から取得される。ここでも、現在のマクロブロックが、行の最初または最後のマクロブロックである場合や、一番上の行にある場合には、使用不可能なプレディクタがあるため、様々な特殊ケース(図示せず)が当てはまる。
符号化器および復号器は、プレディクタ候補の集合からプレディクタを選択するために、「median-of-three」アルゴリズムのような様々な選択アルゴリズムを用いる。「median-of-three」予測のプロシージャを、図14の擬似コード1400に示す。
IV.従来のWMV符号化器および復号器におけるBフレーム符号化および復号
符号化器および復号器は、プログレッシブBフレームおよびインターレースBフレームを用いる。Pフレームの場合は1つのアンカーを用いるが、Bフレームは、ソース・ビデオにある2つのフレームを参照(アンカー)フレームとして用いる。標準的なBフレームのアンカー・フレーム(複数)のうち、1つのアンカー・フレームは、時間的に先行するフレームの中にあり、もう1つのアンカー・フレームは、時間的に後続であるフレームの中にある。図15に示すように、ビデオ・シーケンス内のBフレーム1510は、時間的に先行する参照フレーム1520と、時間的に後続の参照フレーム1530とを有する。Bフレームを有する符号化されたビットストリームは、一般に、Bフレームがない符号化されたビットストリームよりビット数が少ないが、同等の視覚品質を与える。Bフレームは、一般に、参照フレームとしては用いられないので、復号器は、Bフレームを復号も表示もしないことを選択することによって、空間的および時間的制約を吸収することも可能である。
順方向予測フレーム(例えば、Pフレーム)のマクロブロックは予測の方向モードが1つだけ(順方向、先行するIまたはPフレームから)であるのに対し、Bフレームのマクロブロックは、異なる5つの予測モード(順方向、逆方向、直接、補間、およびイントラ)を用いて予測されることが可能である。符号化器は、様々な予測モードを選択して、ビットストリームで信号伝達する。順方向モードは、従来のPフレーム予測と類似である。順方向モードでは、マクロブロックは、時間的に先行するアンカーから導出される。逆方向モードでは、マクロブロックは、時間的に後続のアンカーから導出される。直接モードまたは補間モードで予測されるマクロブロックは、順方向アンカーと逆方向アンカーの両方を予測に用いる。
V.従来のWMV符号化器および復号器におけるマクロブロック情報の信号伝達
符号化器および復号器では、インターレースPフレームのマクロブロックは、可能な3つのタイプ、すなわち、フレーム符号化されたもの、フィールド符号化されたもの、スキップされたもののいずれかであることが可能である。マクロブロック・タイプは、フレーム・レベルおよびマクロブロック・レベルのシンタックス要素のうちの複数の要素の組合せで指示される。
インターレースPフレームの場合は、フレーム・レベル要素INTRLCFが、そのフレームのマクロブロックの符号化に用いられるモードを示す。INTRLCF=0であれば、フレーム内のすべてのマクロブロックがフレーム符号化される。INTRLCF=1であれば、マクロブロックは、フィールド符号化またはフレーム符号化されることが可能である。INTRLCF=1の場合は、フレーム・レイヤ内にINTRLCMB要素が存在する。INTRLCMBは、ピクチャ内の各マクロブロックのフィールド/フレーム符号化ステータスを示す、ビット・プレーン符号化された、配列である。復号されたビット・プレーンは、各マクロブロックのインターレース・ステータスを1ビット値の配列として表す。個々のビットの値0は、対応するマクロブロックがフレーム・モードで符号化されていることを示す。値1は、対応するマクロブロックがフィールド・モードで符号化されていることを示す。
フレーム符号化されたマクロブロックの場合は、マクロブロック・レベルのMVDATA要素が、マクロブロック内のすべてのブロックに関連付けられる。MVDATAは、マクロブロック内のブロックがイントラ符号化されているか、インター符号化されているかを信号伝達する。インター符号化されている場合は、MVDATAが動きベクトル差分も指示する。
フィールド符号化されたマクロブロックの場合は、マクロブロック内のトップ・フィールド・ブロックにTOPMVDATA要素が関連付けられ、マクロブロック内のボトム・フィールド・ブロックにBOTMVDATA要素が関連付けられる。TOPMVDATAおよびBOTMVDATAは、各フィールドの最初のブロックにおいて送られる。TOPMVDATAは、トップ・フィールド・ブロックがイントラ符号化されているか、インター符号化されているかを示す。同様に、BOTMVDATAは、ボトム・フィールド・ブロックがイントラ符号化されているか、インター符号化されているかを示す。インター符号化されたブロックの場合、TOPMVDATAおよびBOTMVDATAはさらに、動きベクトル差分情報を指示する。
CBPCY要素は、マクロブロック内のルミナンス成分およびクロマ成分の、符号化されたブロック・パターン(CBP:coded block pattern)の情報を示す。CBPCY要素はさらに、どのフィールドが動きベクトル・データ要素をビットストリーム内に有するかを示す。CBPCYおよび動きベクトル・データ要素は、ブロックがAC係数を有するかどうかを示すために用いられる。MVDATAから復号された「last」値が、復号すべきデータが動きベクトルの後に存在することを示している場合は、インターレースPフレームのフレーム符号化されたマクロブロックに対してCBPCYが存在する。CBPCYが存在すれば、CBPCYは6ビット・フィールドに復号され、4つのYブロックのそれぞれに1ビットずつ対応し、1ビットが両方のUブロック(トップ・フィールドおよびボトム・フィールド)に対応し、1ビットが両方のVブロック(トップ・フィールドおよびボトム・フィールド)に対応する。
CBPCYは、フィールド符号化されたマクロブロックに対して常に存在する。CBPCYと2つのフィールド動きベクトル・データ要素を用いて、マクロブロックのブロック内にAC係数が存在することが決定される。CBPCYの意味は、ビット1、3、4、および5については、フレーム符号化されたマクロブロックの場合と同じである。すなわち、それらは、右のトップ・フィールドYブロック、右のボトム・フィールドYブロック、トップ/ボトムUブロック、およびトップ/ボトムVブロックにおけるAC係数の存在または不在をそれぞれ示す。ビット位置0および2については、意味が若干異なる。ビット位置0に0があることは、TOPMVDATAが存在せず、動きベクトル・プレディクタがトップ・フィールド・ブロックの動きベクトルとして用いられることを示す。これはさらに、左のトップ・フィールド・ブロックが非ゼロの係数をまったく含まないことも示している。ビット位置0に1があることは、TOPMVDATAが存在することを示す。TOPMVDATAは、トップ・フィールド・ブロックがインターかイントラかを示し、インターである場合はさらに、動きベクトル差分を示す。TOPMVDATAから復号された「last」値が1に復号された場合は、左のトップ・フィールド・ブロックに対応するAC係数が存在せず、それ以外の場合は、左のトップ・フィールド・ブロックに対応する非ゼロのAC係数が存在する。同様に、上述の規則は、BOTMVDATAおよび左のボトム・フィールド・ブロックに対応するビット位置2についても当てはまる。
VI.従来のWMV符号化器および復号器におけるスキップ・マクロブロック
符号化器および復号器は、ビットレートを低減するために、スキップ・マクロブロックを用いる。例えば、符号化器は、スキップ・マクロブロックをビットストリーム内で信号伝達する。復号器は、あるマクロブロックがスキップされていることを示す、ビットストリーム内の情報(例えば、スキップ・マクロブロック・フラグ)を受け取ると、そのマクロブロックの残差ブロック情報の復号をスキップする。その代わりに、復号器は、参照フレーム内で同じ場所の、あるいは(動きベクトル・プレディクタを用いて)動き補償されたマクロブロックの対応する画素データを用いて、スキップされているマクロブロックを再構成する。符号化器および復号器は、スキップ・マクロブロック情報の符号化および復号に関して、複数の符号化/復号モードからモードを選択する。例えば、スキップ・マクロブロック情報は、ビットストリームのフレーム・レベルで(例えば、ビット・プレーンの形で)信号伝達されるか、マクロブロック・レベルで(例えば、マクロブロックごとに1「スキップ」ビットを用いて)信号伝達される。ビット・プレーン符号化の場合、符号化器および復号器は、様々なビット・プレーン符号化モードの中からモードを選択する。
ある従来の符号化器および復号器では、スキップ・マクロブロックを、動きが、その因果関係的に予測された動きと等しく、残差がゼロである予測マクロブロックとして定義している。別の従来の符号化器および復号器では、スキップ・マクロブロックを、動きも残差もゼロである予測マクロブロックとして定義している。
スキップ・マクロブロックおよびビット・プレーン符号化の詳細については、「Skip Macroblock Coding」という名称で2002年12月16日出願の特許文献1を参照されたい。
VII.従来のWMV符号化器および復号器におけるクロマ動きベクトル
クロマ動きベクトルの導出(derivation)は、ビデオの符号化および復号の重要な位置付けを占める。したがって、従来のWMV符号化器および復号器のソフトウェアでは、ルミナンス動きベクトルからクロマ動きベクトルを導出するために丸めとサブサンプリングを用いている。
A.ルミナンス動きベクトルの再構成
従来のWMV符号化器および復号器は、プログレッシブ・フレームの1MVおよび4MVマクロブロック、およびインターレース・フレームのフレーム符号化またはフィールド符号化されたマクロブロックの動きベクトルを再構成する。ルミナンス動きベクトルは、動きベクトル・プレディクタに動きベクトル差分を加算することによって再構成される。プログレッシブ・フレームの1MVマクロブロック、およびインターレース・フレームのフレーム符号化されたマクロブロックでは、マクロブロックのルミナンス成分を構成する4つのブロックに単一のルミナンス動きベクトルが適用される。プログレッシブ・フレームの4MVマクロブロックでは、マクロブロック内のインター符号化されたルミナンス・ブロックのそれぞれが、それぞれのルミナンス動きベクトルを有する。したがって、各4MVマクロブロックには、マクロブロック内のインター符号化されたブロックの数に応じて、最大4つのルミナンス動きベクトルが存在する。インターレース・フレームのフィールド符号化されたマクロブロックでは、2つのルミナンス動きベクトル(フィールドごとに1つずつ)が存在する。
B.クロマ動きベクトルの導出および再構成
符号化器および復号器は、プログレッシブ・フレームについては、4:2:0マクロブロック・フォーマットを用いる。フレーム・データは、ルミナンス(「Y」)成分およびクロマ(「U」および「V」)成分を含む。各マクロブロックは、4つの8×8ルミナンス・ブロック(1つの16×16マクロブロックとして扱われる場合もある)と2つの8×8クロマ・ブロックとを含む。図16は、4:2:0YUVサンプリング・グリッドを示す。図16の4:2:0YUVサンプリング・グリッドは、マクロブロックのルミナンス・サンプルおよびクロマ・サンプルの空間的関係を示している。クロマ・サンプルの分解度は、水平(x)方向と垂直(y)方向の両方でルミナンス・サンプルの半分の分解度である。したがって、クロマ・グリッド上の距離を、ルミナンス・グリッド上の対応する距離から導出するために、従来のWMV符号化器および復号器では、ルミナンス動きベクトル成分を2で割る。これが、プログレッシブ・フレームにおいてルミナンス動きベクトルからクロマ動きベクトルを導出するダウンサンプリング・ステップの基本である。
符号化器および復号器では、プログレッシブ・フレームのクロマ・ベクトルは、2つのステップで再構成される。第1のステップでは、ルミナンス動きベクトルを適切に組み合わせ、スケーリングすることによって、名目上のクロマ動きベクトルが取得される。第2のステップでは、復号時間を短縮するために、スケーリング後に丸めが、必要に応じて行われる。
例えば、1MVマクロブロックでは、次の擬似コードに従ってルミナンス成分をスケーリングすることによって、ルミナンス動きベクトル成分(lmv_xおよびlmv_y)からクロマ動きベクトル成分(cmv_xおよびcmv_y)が導出される。
Figure 0004921971
スケーリングは、丸めテーブル配列(s_RndTbl[])を用いて、1/2画素オフセットが1/4画素オフセットより優先されるように行われる。復号時間を短縮するために、スケーリング操作後にさらなる丸めを行うことが可能である。
4MVマクロブロックでは、符号化器および復号器は、図17の擬似コード1700に従って、4つのルミナンス・ブロックの動き情報からクロマ動きベクトルを導出する。図17に示すように、符号化器および復号器は、マクロブロックのインター符号化されたブロックのルミナンス動きベクトルのメジアン予測または平均を用いてクロマ動きベクトル成分を導出する。3つ以上のブロックがイントラ符号化される特殊なケースでは、クロマ・ブロックもイントラ符号化される。
符号化器および復号器は、シーケンス・レベル・ビットFASTUVMC=1の場合には、さらなる丸めを行う。FASTUVMCによって信号伝達される丸めは、クロマ動きベクトルに関して1/2画素位置および整数画素位置を優先する。これによって、符号化を高速化することが可能である。
従来のWMV符号化器および復号器は、インターレース・フレームには、4:1:1マクロブロック・フォーマットを用いる。インターレース・フレームの場合も、フレーム・データは、ルミナンス(「Y」)成分およびクロマ(「U」および「V」)成分を含む。しかしながら、4:1:1マクロブロック・フォーマットでは、クロマ・サンプルの分解度は、水平方向ではルミナンス・サンプルの1/4の分解度であり、垂直方向ではフル分解度である。したがって、クロマ・グリッド上の距離を、ルミナンス・グリッド上の対応する距離から導出するために、従来のWMV符号化器および復号器では、水平方向のルミナンス動きベクトル成分を4で割る。
フレーム符号化されたマクロブロックの場合は、単一のルミナンス動きベクトルに対応するクロマ動きベクトルが1つ導出される。フィールド符号化されたマクロブロックの場合は、2つのルミナンス動きベクトル(トップ・フィールドに1つ、ボトム・フィールドに1つ)に対応する2つのクロマ動きベクトルが導出される。
従来のWMV符号化器および復号器では、インターレース・フレームにおいてクロマ動きベクトルを導出するための規則は、フィールド符号化されたマクロブロックとフレーム符号化されたマクロブロックとで同じである。クロマ動きベクトルのx成分は係数4でスケーリング(ダウンサンプリング)され、クロマ動きベクトルのy成分はルミナンス動きベクトルと同じままである。クロマ動きベクトルのスケーリングされたx成分も、隣接する1/4画素位置に丸められる。クロマ動きベクトルは、次の擬似コードに従って再構成される。この擬似コードでは、cmv_xおよびcmv_yがクロマ動きベクトル成分を表し、lmv_xおよびlmv_yが、対応するルミナンス動きベクトル成分を表す。
Figure 0004921971
VIII.ビデオの圧縮および圧縮解除の諸規格
ビデオの圧縮および圧縮解除に関連する国際規格がいくつかある。これらの規格には、Motion Picture Experts Group[「MPEG」]−1、−2、および−4規格と、国際電気通信連合[「ITU」]のH.261、H.262(MPEG−2の別名)、H.263、およびH.264(JVT/AVCとも呼ばれる)の各規格とが含まれる。これらの規格は、ビデオ復号器の態様と、圧縮されたビデオ情報のフォーマットとを指定する。また、これらは、直接または暗黙的に、特定の符号化器の詳細を指定するが、他の符号化器の詳細は指定されない。これらの規格は、イントラ・フレームおよびインター・フレームの圧縮解除および圧縮の様々な組合せを使用する(または、その使用をサポートする)。
A.諸規格における動き推定/補償
諸国際規格においてデジタル・ビデオ・シーケンスのデータ圧縮を達成するために用いられる主要な方法の1つは、ピクチャ間の時間的冗長度を低減することである。これらの一般的な圧縮スキーム(MPEG−1、MPEG−2、MPEG−4、H.261、H.263など)では、動き推定および動き補償を用いる。例えば、現在のフレームが複数の正方形領域(例えば、ブロックおよび/またはマクロブロック)に等分される。現在の領域のそれぞれと一致する領域が、その領域の動きベクトル情報を送信することによって指定される。動きベクトルは、既に符号化(および再構成)されている参照フレームの中の、現在の領域のプレディクタとして用いられる領域の位置を示す。現在の領域と参照フレーム内の領域との画素ごとの差分(誤差信号とも呼ばれる)が導出される。この誤差信号は、通常、オリジナル信号よりエントロピーが低い。したがって、その情報は、より低いレートで符号化されることが可能である。WMV8および9の符号化器および復号器の場合と同様に、動きベクトル値は、周囲の空間に存在する動きベクトルとの相関を有することが多いので、動きベクトル情報を表すために用いられるデータの圧縮は、現在の動きベクトルと、隣接する、既に符号化されている動きベクトルに基づく動きベクトル・プレディクタとの差分を符号化することによって達成されることが可能である。
一部の国際規格には、インターレース・ビデオ・フレームにおける動き推定および動き補償が記載されている。例えば、MPEG−2規格の7.6.1項には、デュアル・プライム符号化モードについて記載されている。デュアル・プライム符号化では、ビットストリーム内で、差分動きベクトルとともに、1つの動きベクトルだけが(フル・フォーマットで)符号化される。フィールド・ピクチャの場合は、この情報から2つの動きベクトルが導出される。2つの導出された動きベクトルを用いて、2つの参照フィールド(1つのトップ・フィールドと1つのボトム・フィールド)から予測が形成され、これらが平均されて最終予測が形成される。フレーム・ピクチャの場合は、全部で4つのフィールド予測が行われるように、この処理が2つのフィールドについて繰り返される。
MPEG−4規格の1998年5月28日の委員会草案には、インターレース・ビデオおよびプログレッシブ・ビデオの動き補償について記載されている。7.5.5項には、プログレッシブ・ビデオ・オブジェクト・プレーン(VOP)における動き補償について記載されている。候補動きベクトルは、隣接するマクロブロックまたはブロックから収集される。VOPの外側にある候補動きベクトルは、無効として扱われる。1つの候補動きベクトルだけが無効の場合、それは0に設定される。2つだけが無効の場合、それらは第3の動きベクトルと同じに設定される。3つすべてが無効の場合、それらは0に設定される。これら3つの候補に対し、メジアン・フィルタリングが実行されてプレディクタが算出される。
MPEG−4規格の委員会草案の7.6.2項には、インターレース・ビデオの動き補償について記載されている。例えば、7.6.2.1項には、フィールドごとに1つの動きベクトルを有するフィールド予測マクロブロック、およびブロックごと、またはマクロブロックごとに1つの動きベクトルを有するフレーム予測マクロブロックについて記載されている。候補動きベクトルは、隣接するマクロブロックまたはブロックから収集され、プレディクタはメジアン・フィルタリングによって選択される。
JVT/AVC規格の草案JVT−d157の8.4項にも、動き補償について記載されている。現在のブロックの動きベクトルの成分は、メジアン予測を用いて予測される(同じスライスに属さないマクロブロックの境界をまたいで予測が行われることはない)。第1に、3つの候補隣接ブロックの動きベクトル値および参照ピクチャが決定される。右上のブロックが現在のピクチャまたはスライスの外側にあるか、復号順序の関係で使用不能であれば、右上のブロックの動きベクトルおよび参照ピクチャは、左上のブロックの動きベクトルおよび参照ピクチャと同じであると見なされる。上、右上、および左上のブロックがすべて、現在のピクチャまたはスライスの外側にある場合は、それらの動きベクトルおよび参照ピクチャが、左ブロックの動きベクトルおよび参照ピクチャと同じであると見なされる。他の場合は、イントラ符号化されているか、現在のピクチャまたはスライスの外側にある候補プレディクタ・ブロックの動きベクトル値が0であると見なされ、参照ピクチャが、現在のブロックと異なると見なされる。
候補プレディクタの動きベクトル値および参照ピクチャが決定されていれば、左、上、および右上のブロックのうちの1つだけが、現在のブロックと同じ参照ピクチャを有する場合には、現在のブロックの予測動きベクトルが、同じ参照ピクチャを有するブロックの動きベクトル値と等しい。そうでない場合、現在のブロックの予測動きベクトル値の各成分は、左、上、および右上のブロックの対応する候補動きベクトル成分値のメジアンとして算出される。
8.4項にはさらに、マクロブロック適応フレーム/フィールド符号化について記載されている。インターレース・フレームでは、マクロブロックがマクロブロック・ペア(トップおよびボトム)にグループ化される。マクロブロック・ペアは、フィールド符号化またはフレーム符号化が可能である。フレーム符号化されたマクロブロック・ペアは、フレーム符号化された2つのマクロブロックとして復号される。フィールド符号化されたマクロブロック・ペアの場合、トップ・マクロブロックはそのマクロブロック・ペアのトップ・フィールドのラインからなり、ボトム・マクロブロックはそのマクロブロック・ペアのボトム・フィールドのラインからなる。現在のブロックがフレーム符号化モードにある場合は、隣接するブロックの候補動きベクトルもフレーム・ベースになる。現在のブロックがフィールド符号化モードにある場合は、隣接するブロックの候補動きベクトルも同じフィールド奇遇性(parity)でフィールド・ベースになる。
B.諸規格におけるフィールド符号化またはフレーム符号化されたマクロブロックの信号伝達
一部の国際規格には、インターレース・ピクチャのマクロブロックのフィールド/フレーム符号化タイプ(例えば、フィールド符号化またはフレーム符号化)の信号伝達について記載されている。
JVT/AVC規格の草案JVT−d157には、mb_field_decoding_flagシンタックス要素について記載されている。この要素は、インターレースPフレームにおいてマクロブロック・ペアがフレーム・モードで復号されるか、フィールド・モードで復号されるかを信号伝達するために用いられる。7.3.4項には、シーケンス・パラメータ(mb_frame_field_adaptive_flag)がマクロブロックにおけるフレーム復号とフィールド復号との切り換えを示し、かつ、スライスヘッダ要素(pic_structure)が、プログレッシブ・ピクチャかインターレース・フレーム・ピクチャかのピクチャ構造を示すケースにおいて、mb_fieid_decoding_flagがスライス・データの要素として送られるビットストリーム・シンタックスについて記載されている。
MPEG−4規格の1998年5月28日の委員会草案には、dct_typeシンタックス要素について記載されている。この要素は、マクロブロックがフレームDCT符号化されているか、フィールドDCT符号化されているかを信号伝達するために用いられる。6.2.7.3項および6.3.7.3項によれば、dct_typeは、マクロブロックが非ゼロの符号化ブロック・パターンを有するか、イントラ符号化されている、インターレース・コンテンツのMPEG−4ビットストリームにのみ存在するマクロブロック・レイヤ要素である。
MPEG−2の場合、dct_type要素は、マクロブロックがフレームDCT符号化されているか、フィールドDCT符号化されているかを示す。MPEG−2ではさらに、ピクチャ符号化拡張要素frame_pred_frame_dctについて記載されている。frame_pred_frame_dctが「1」に設定されていれば、インターレース・フレームにおいてフレームDCT符号化だけが用いられる。frame_pred_frame_dct=1であって、dct_type要素がビットストリーム内に存在しない場合は、条件dct_type=0が「導出」される。
C.諸規格におけるスキップ・マクロブロック
一部の国際規格では、スキップ・マクロブロックを用いる。例えば、JVT/AVC規格の草案JVT−d157では、スキップ・マクロブロックを、「そのマクロブロックが『スキップ』として復号されることを示す以外のデータが符号化されないマクロブロック」として定義する。同様に、MPEG−4の委員会草案は「スキップ・マクロブロックは、伝送される情報がないマクロブロックである。」と記載している。
D.諸規格におけるクロマ動きベクトル
諸国際規格においてデジタル・ビデオ・シーケンスのデータ圧縮を達成するために用いられる主要な方法の1つは、ピクチャ間の時間的冗長度を低減することである。これらの一般的な圧縮スキーム(MPEG−1、MPEG−2、MPEG−4、H.261、H.263など)では、動き推定および動き補償を用いる。例えば、現在のフレームが、ルミナンス情報およびクロマ情報の複数の正方形領域(例えば、ブロックおよび/またはマクロブロック)に等分される。現在の領域のそれぞれと一致する領域が、その領域の動きベクトル情報を送信することによって指定される。例えば、ルミナンス動きベクトルは、既に符号化(および再構成)されているフレームの中の、現在の領域のプレディクタとして用いられるルミナンス・サンプル領域の位置を示す。現在の領域と参照フレーム内の領域との画素ごとの差分(誤差信号とも呼ばれる)が導出される。この誤差信号は、通常、オリジナル信号よりエントロピーが低い。したがって、その情報は、より低いレートで符号化されることが可能である。従来のWMV符号化器および復号器の場合と同様に、動きベクトル値は、周囲の空間に存在する動きベクトルとの相関を有することが多いので、動きベクトル情報を表すために用いられるデータの圧縮は、現在の動きベクトルと、隣接する、既に符号化されている動きベクトルに基づく動きベクトル・プレディクタとの差分を符号化することによって達成されることが可能である。一般に、クロマ動きベクトルは、クロマ動きベクトルの算出および符号化を別途行うことに伴うオーバーヘッドを避けるために、ルミナンス動きベクトルから導出される。
一部の国際規格には、ルミナンス動きベクトルからクロマ動きベクトルを導出することについて記載されている。MPEG−2規格の7.6.3.7項には、水平方向および垂直方向のルミナンス動きベクトル成分のそれぞれを2で割ってクロマ動きベクトル成分を適切にスケーリングすることによって、4:2:0マクロブロック・フォーマットのルミナンス動きベクトルからクロマ動きベクトルを導出することについて記載されている。4:2:2フォーマットの場合は、クロマ情報が水平方向にのみサブサンプリングされるので、垂直方向成分は2で割られない。4:4:4フォーマットの場合は、クロマ情報がルミナンス情報と同じ分解度でサンプリングされるので、いずれの成分も2で割られない。
H.263規格のAnnex Fには、マクロブロックごとに4つの動きベクトルを予測に用いるアドバンスト予測モードについて記載されている。アドバンスト予測モードでは、4つの動きベクトルのそれぞれが、マクロブロック内の4つのルミナンス・ブロックのうちの1つブロック内のすべての画素に用いられる。各方向の、4つのルミナンス動きベクトル成分の総和を計算して8で割ることによって、(4:2:0フォーマットにおける)両方のクロマ・ブロックの動きベクトルが導出される。同様に、MPEG−4規格の1998年5月28日の委員会草案の7.5.5項には、K個の8×8ブロックに対応するK個の動きベクトルの総和を計算し、その総和を2*Kで割ることによって、4:2:0フォーマットの両方のクロマ・ブロックの動きベクトルMVDCHRを導出することについて記載されている。クロマの予測は、2つのクロマ・ブロックのすべての画素に動きベクトルMVDCHRを適用することによって得られる。
JVT/AVC規格の草案JVT−d157の8.4.1.4項にも、水平方向および垂直方向のルミナンス動きベクトル成分のそれぞれを2で割ることによって、4:2:0マクロブロック・フォーマットのルミナンス動きベクトルからクロマ動きベクトルを導出することについて記載されている。草案JVT−d157の7.4.5項には、様々なルミナンス・ブロックサイズ(例えば、16×16、16×8、8×16、および8×8)のマクロブロックおよび関連するクロマ・ブロックについて記載されている。例えば、PスライスおよびSPスライスについては、「各N×Mルミナンス・ブロックおよび関連付けられたクロマ・ブロックについて動きベクトルが与えられる」と記載されている。
E.諸規格の制限
これらの諸国際規格には、いくつかの重要な点で制限がある。例えば、JVT/AVC規格の草案JVT−d157およびMPEG−4規格の委員会草案には、1つまたは複数の候補動きベクトルが0に設定されている場合でもメジアン予測を用いて動きベクトル・プレディクタを算出することについて記載されている。候補が0に設定されている場合にメジアン予測を用いると、スキューのある動きベクトル・プレディクタが生成されることが多い。諸規格でも、4つの符号化されたフィールド動きベクトルを有するマクロブロックを予測することは記載されていない。このことは、動き推定および動き補償の空間的適応性に制限を与える。さらに、草案JVT−d157では、個々のインターレース・マクロブロックではなくマクロブロック・ペアを用いることによってインターレース符号化および復号を行う。これによって、ピクチャ内のフィールド符号化/フレーム符号化の適応性が制限される。
別の例として、これらの諸規格にはマクロブロック・タイプの信号伝達の備えがあるが、フィールド/フレーム符号化タイプ情報は、動き補償タイプ(例えば、フィールド予測かフレーム予測か、1つの動きベクトルか複数の動きベクトルか、など)とは別に信号伝達される。
別の例として、一部の国際規格では、特定のマクロブロックをスキップしてビットレートを節約することを考慮しているが、これらの規格におけるスキップ・マクロブロック条件は、そのマクロブロックについてそれ以上符号化される情報がないことだけを示し、そのマクロブロックに関する他の潜在的に重要な情報を与えない。
別の例として、いくつかの規格で用いられるクロマ動きベクトルは、クロマの動きの局所的変化を十分表現しない。さらに別の問題として、(特に、フィールド符号化されたコンテンツについて)クロマ動きベクトル導出の丸めメカニズムが非効率的である。
米国特許出願第10/321415号明細書 米国特許出願第10/622378号明細書 米国特許出願第10/882135号明細書 米国特許仮出願第60/501081号明細書 米国特許出願第10/857473号明細書
デジタル・ビデオにおいては、ビデオの圧縮および圧縮解除はきわめて重要なので、ビデオの圧縮および圧縮解除の分野が非常に発達していることは驚くことではない。従来のビデオ圧縮および圧縮解除手法の利点がどうであれ、それらの手法は、以下に示す手法およびツールの利点を有していない。
本発明の目的は、ビデオ・コンテンツの圧縮および圧縮解除について、特にインターレース・ビデオ・コンテンツの圧縮および圧縮解除についての現在の手法を改善することにある。
要約すれば、詳細な説明は、ビデオ・フレームの符号化および復号の様々な手法およびツールを対象とする。記載の実施形態は、以下に限定されないが、以下を含む記載した手法およびツールの1つまたは複数を実装する。
一態様では、符号化器/復号器が、インターレース・フレーム符号化された順方向予測ピクチャ(例えば、インターレースPフレーム)のマクロブロックの4つのフィールド動きベクトルの情報を含む動きベクトル情報を受け取る。符号化器/復号器は、その4つのフィールド動きベクトルを用いてマクロブロックを処理する。4つのフィールド動きベクトルのうちの2つは、マクロブロックの第1フィールドにおける動きを表し、4つのフィールド動きベクトルのうちの他の2つは、マクロブロックの第2フィールドにおける動きを表す。4つのフィールド動きベクトルについての情報は、4つのフィールド動きベクトルの動きベクトル差分を含むことが可能である。
別の態様では、符号化器/復号器が、インターレース・フレーム符号化されたピクチャ(例えば、インターレースPフレーム)の現在のマクロブロック(例えば、2つのフィールド動きベクトル・マクロブロック、または4つのフィールド動きベクトル・マクロブロック)のフィールド動きベクトルを予測するための有効な候補動きベクトル(例えば、隣接するマクロブロックにあるフレーム動きベクトルまたはフィールド動きベクトル)の数を決定する。符号化器/復号器は、有効な候補動きベクトルに少なくとも部分的に基づいて、フィールド動きベクトルの動きベクトル・プレディクタを算出する。
この算出は、有効な候補動きベクトルの数が3かどうかに基づいて、有効な候補動きベクトルに対してメジアン演算(例えば、成分ごとのメジアン演算)を実行するかどうかを決定することを含む。有効な候補動きベクトルの数が3であれば、この算出はさらに、有効な候補動きベクトルに対してメジアン演算を実行することを含むことが可能である。有効な候補動きベクトルの数が3未満であれば、この算出は、メジアン演算を実行することなく、有効な候補動きベクトルを動きベクトル・プレディクタとして選択することを含むことが可能である。符号化器/復号器は、動きベクトル・プレディクタおよび(差分が存在しないことを示すことも可能な)動きベクトル差分情報に少なくとも部分的に基づいてフィールド動きベクトルを再構成することが可能である。
有効な候補動きベクトルは、インターレース・フレーム符号化されたピクチャ内の、または現在のマクロブロックと同じスライス内の、ブロック用か?、マクロブロック・フィールド用か?、マクロブロック・フィールド部分用か?、またはマクロブロック用か?によって特徴づけられることが可能であり、実際の動きベクトル値とすることができ、イントラのブロック、マクロブロック・フィールド、マクロブロック・フィールド部分、またはマクロブロックに対しては存在しない。
別の態様では、符号化器/復号器が、インターレース・フレーム符号化されたピクチャ内の現在のマクロブロックの現在のフィールド用のフィールド動きベクトルを予測するために候補動きベクトルを決定し、その候補動きベクトルの1つまたは複数についてフィールド極性を決定し、そのフィールド極性に少なくとも部分的に基づいて、そのフィールド動きベクトル用の動きベクトル・プレディクタを算出する。候補動きベクトルは、1/4画素単位で計測されることが可能である。フィールド極性は、候補動きベクトルのy成分に対してビットごとのAND演算を実行することによって決定されることが可能である。
候補動きベクトルのフィールド極性を決定することは、候補動きベクトルが参照フレームのトップ・フィールドの変位を示しているか、ボトム・フィールドの変位を示しているか、あるいは、候補動きベクトルが現在のフィールドと同じ極性のフィールドの変位を示しているか、反対の極性のフィールドの変位を示しているかを決定することを含むことが可能である。
別の態様では、符号化器/復号器が、フィールド動きベクトルを予測するための、1つまたは複数の有効な候補動きベクトルを決定し、その1つまたは複数の有効な候補動きベクトルの個々の有効な候補動きベクトルそれぞれのフィールド極性を決定し、そのフィールド極性に応じて、個々の有効な候補動きベクトルのそれぞれを2つの集合のいずれかに割り当て、その2つの集合に少なくとも部分的に基づいて、フィールド動きベクトルの動きベクトル・プレディクタを算出する。この2つの集合は、反対の極性の集合と同じ極性の集合であることが可能である。動きベクトル・プレディクタを算出することは、優性的な極性(dominant polarity)の、有効な候補動きベクトルを選択する(例えば、有効な候補を最も多く有する集合からの候補)ことを含むことが可能である。候補は、指定の選択順序で選択されることが可能である。有効な候補が各集合に1つだけ割り当てられている場合、動きベクトル・プレディクタを算出することは、反対の極性の候補ではなく同じ極性の候補を選択することを含むことが可能である。2つの集合の一方に有効な候補が3つ割り当てられている場合、動きベクトル・プレディクタを算出することは、その3つの有効な候補に対してメジアン演算を実行することを含むことが可能である。
別の態様では、復号器が、インターレース・フレーム(例えば、インターレースPフレーム、インターレースBフレーム、または、インターレースPフィールドおよび/またはインターレースBフィールドを有するフレーム)の複数のマクロブロックの中にある1つまたは複数のスキップ・マクロブロック(skipped macroblocks)を復号する。その1つまたは複数のスキップ・マクロブロックのそれぞれは、(1)ビットストリーム内のスキップ・マクロブロック信号によって指示され、(2)予測動きベクトル(例えば、フレーム動きベクトル)を厳密に1つ用い、動きベクトル差分情報を有さず、(3)残差情報を欠いているマクロブロックである。その1つまたは複数のスキップ・マクロブロックのそれぞれについてのスキップ・マクロブロック信号は、それぞれのスキップ・マクロブロックに対して1動きベクトルで動き補償される復号を指示する。スキップ・マクロブロック信号は、複数のレイヤを有するビットストリームのフレーム・レイヤで送られる圧縮されたビット・プレーンの一部であることが可能である。または、スキップ・マクロブロック信号は、マクロブロック・レイヤで送られる個々のビットであることも可能である。
別の態様では、複数の使用可能な符号化モードの群から符号化モードが選択され、選択された符号化モードに従って、符号化器または復号器内でビット・プレーンが処理される。ビット・プレーンは、インターレース・フレーム内のマクロブロックがスキップされているかどうかを示すバイナリ情報を含む。インターレース・フレーム内に動きベクトルを1つだけ有するマクロブロックがあれば、そのマクロブロックがスキップされ、その1つだけの動きベクトルがそのマクロブロックの予測動きベクトルに等しく、そのマクロブロックは残差を有しない。複数の動きベクトルを有するマクロブロックはスキップされない。
別の態様では、符号化器が、インターレースPフレームのマクロブロックの動き補償タイプ(例えば、1MV、4フレームMV、2フィールドMV、または4フィールドMV)を選択し、そのマクロブロックのフィールド/フレーム符号化タイプ(例えば、フィールド符号化されている、フレーム符号化されている、符号化されたブロックがない)を選択する。符号化器は、マクロブロックの動き補償タイプおよびフィールド/フレーム符号化タイプを統合的に符号化する。符号化器はさらに、マクロブロックの他の情報(例えば、1動きベクトル・マクロブロックなどに対する差分動きベクトルの存在のインジケータ)を、動き補償タイプおよびフィールド/フレーム符号化タイプと統合的に符号化することが可能である。
別の態様では、復号器が、インターレースPフレームのマクロブロック用のマクロブロック情報を受け取る。この情報には、マクロブロックの動き補償タイプおよびフィールド/フレーム符号化タイプを表す統合符号(joint code)が含まれる。復号器は、その統合符号(例えば、可変長符号化テーブル内の可変長符号)を復号して、マクロブロックの動き補償タイプ情報とフィールド/フレーム符号化タイプ情報の両方を取得する。
別の態様では、復号器が、1つのマクロブロックの3つ以上のルミナンス動きベクトルのルミナンス動きベクトル情報を受け取る。この3つ以上のルミナンス動きベクトルのそれぞれは、マクロブロック(例えば、4:2:0マクロブロック)の少なくとも一部に関連付けられている。復号器は、マクロブロックのクロマ動きベクトルとルミナンス動きベクトルとの比を1:1に保つように、ルミナンス動きベクトル情報に対して、丸めテーブル(例えば、フィールド・ベースの丸めテーブル)を伴う算出を少なくとも1つ行うことにより、その3つ以上のルミナンス動きベクトルのそれぞれについて、マクロブロックの少なくとも一部に関連付けられたクロマ動きベクトルを導出する。例えば、復号器は、マクロブロックの4つのルミナンス(フレームまたはフィールド)動きベクトルを受け取り、そのマクロブロックの4つのクロマ動きベクトルを導出する。この導出することは、フィールド・ベースの丸めテーブルを用いて、ルミナンス動きベクトル情報の少なくとも一部をサブサンプリングすることおよび/または丸めることを含むことが可能である。
別の態様では、復号器が、1つまたは複数のルミナンス動きベクトルの動きベクトル情報に少なくとも部分的に基づいて、1つまたは複数のルミナンス動きベクトルのそれぞれについて、インターレース・フレーム符号化されたピクチャ(例えば、インターレースPフレーム、インターレースBフレーム)のマクロブロックの少なくとも一部に関連付けられたクロマ動きベクトルを導出する。復号器は、4つのルミナンス・フィールド動きベクトルを用いて予測されたマクロブロックを復号するように動作可能である。例えば、復号器は、ルミナンス動きベクトル情報の少なくとも一部にフィールド・ベースの丸めルックアップ・テーブルを適用するなどして、4つのクロマ・フィールド動きベクトルを導出する。
別の態様では、復号器が、フィールド・ベースの丸めテーブル(例えば、整数配列)を用いてルミナンス・フィールド動きベクトル成分を丸め、そのルミナンス・フィールド動きベクトル成分をサブサンプリングすることによって、1つまたは複数のルミナンス・フィールド動きベクトルのそれぞれについて、マクロブロックの少なくとも一部に関連付けられたクロマ動きベクトルを導出する。
これらの様々な手法およびツールは、組み合わせて用いても、別々に用いてもよい。
以下、添付図面を参照しながら、様々な実施形態の詳細説明を進めていく中で、さらなる特徴や利点が明らかになるであろう。
本出願は、インターレース・ビデオおよびプログレッシブ・ビデオの効率的な圧縮および圧縮解除の手法およびツールに関する。記載の各種実施形態では、ビデオ符号化器および復号器に、インターレース・ビデオおよびプログレッシブ・ビデオを符号化および復号する手法が組み込まれ、さらに、それらに対応する信号伝達手法が組み込まれる。これらの信号伝達手法は、様々なレイヤまたはレベル(例えば、シーケンス・レベル、フレーム・レベル、フィールド・レベル、マクロブロック・レベル、および/またはブロック・レベル)を含むビットストリーム・フォーマットまたはシンタックスに用いられる。
本明細書に記載の実装形態に対する様々な代替が可能である。例えば、フローチャート図を参照して記載されている手法は、フローチャートに示されているステージの順序を変えたり、特定のステップを繰り返したり省略したりして変更することが可能である。あるいは、一部の実装形態は特定のマクロブロック・フォーマットを基準にして記載されているが、他のフォーマットを用いることも可能である。さらには、順方向予測に関して記載されている手法およびツールを他のタイプの予測に適用することも可能である。
これらの様々な手法およびツールは、組み合わせて用いても、別々に用いてもよい。記載の手法およびツールのうちの1つまたは複数が、様々な実施形態において実装される。本明細書に記載の手法およびツールのいくつかは、ビデオ符号化器または復号器に用いたり、ビデオの符号化または復号に特に限定されない他のシステムに用いたりすることが可能である。
1.コンピューティング環境
図18は、記載の実施形態のいくつかを実装することが可能な、好適なコンピューティング環境1800を一般化した例を示す。記載の手法およびツールは、多種多様な汎用または専用コンピューティング環境への実装が可能なので、コンピューティング環境1800は、使用または機能性の範囲の何らかの限定を意図するものではない。
図18に示すように、コンピューティング環境1800は、少なくとも1つの処理ユニット1810とメモリ1820とを含む。図18では、この最も基本的な構成1830を破線で囲んでいる。処理ユニット1810は、コンピュータで実行可能な命令を実行し、実際のプロセッサであっても仮想のプロセッサであってもよい。マルチ処理システムでは、処理能力を高めるために複数の処理ユニットが、コンピュータで実行可能な命令を実行する。メモリ1820は、揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)であっても、不揮発性メモリ(例えば、ROM、EFPROM、フラッシュ・メモリなど)であっても、これらの組合せであってもよい。メモリ1820は、記載の手法およびツールのうちの1つまたは複数を用いてビデオ符号化器および復号器を実装するソフトウェア1880を格納する。
コンピュータ環境は、付加機能を有することが可能である。例えば、コンピューティング環境1800は、記憶装置1840、1つまたは複数の入力装置1850、1つまたは複数の出力装置1860、および1つまたは複数の通信接続1870を含む。バス、コントローラ、ネットワークなどの相互接続メカニズム(図示せず)が、コンピューティング環境1800の各コンポーネントを相互接続する。一般に、オペレーティング・システム・ソフトウェア(図示せず)が、コンピューティング環境1800で実行される他のソフトウェアの動作環境を提供し、コンピューティング環境1800の各コンポーネントのアクティビティを調整する。
記憶装置1840は、リムーバブルであっても非リムーバブルであってもよく、磁気ディスク、磁気テープまたはカセット、CD−ROM、DVD、または他の任意の、コンピューティング環境1800内で情報を記憶するために用いられることが可能であって、アクセスされることが可能である媒体を含む。記憶装置1840は、ビデオ符号化器または復号器を実装するソフトウェア1880に対する命令を記憶する。
入力装置1850としては、キーボード、マウス、ペン、トラック・ボールなどのタッチ入力装置、音声入力装置、スキャン装置、または他の、コンピューティング環境1800に入力を提供する装置が可能である。オーディオまたはビデオの符号化に関する入力装置1850としては、サウンド・カード、ビデオ・カード、TVチューナ・カード、または同様の、オーディオまたはビデオの入力をアナログまたはデジタル形式で受け付ける装置や、オーディオまたはビデオのサンプルをコンピューティング環境1800に読み込むCD−ROMやCD−RWなどが可能である。出力装置1860としては、ディスプレイ、プリンタ、スピーカ、CDライタ、または他の、コンピューティング環境1800からの出力を提供する装置が可能である。
通信接続1870は、通信媒体を経由しての、別のコンピューティング・エンティティとの通信を可能にする。通信媒体は、コンピュータで実行可能な命令のような情報、オーディオまたはビデオの入力または出力、または他のデータを、変調データ信号の形で搬送する。変調データ信号は、その特性の1つまたは複数が、信号内の情報を符号化するように設定または変更される信号である。限定ではなく例として、通信媒体は、電気、光、RF、赤外線、音響、または他のキャリアを用いて実装される有線または無線技術を含む。
本発明の手法およびツールは、コンピュータ可読媒体の一般的なコンテキストの形での説明が可能である。コンピュータ可読媒体は、コンピューティング環境においてアクセス可能な任意の使用可能な媒体である。限定ではなく例として、コンピュータ環境1800では、コンピュータ可読媒体は、メモリ1820、記憶装置1840、通信媒体、およびこれらの任意の組合せを含む。
本発明の手法およびツールは、プログラム・モジュールに含まれ、コンピューティング環境内のターゲット実プロセッサまたは仮想プロセッサで実行される、コンピュータで実行可能な命令などの一般的なコンテキストの形での説明が可能である。一般に、プログラム・モジュールとしては、特定のタスクを実行したり、特定の抽象データ型を実装したりするルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造体などがある。プログラム・モジュールの機能は、様々な実施形態において、必要に応じてプログラム・モジュール間で結合されたり分割されたりすることが可能である。プログラム・モジュールのコンピュータで実行可能な命令は、ローカル・コンピューティング環境においても分散コンピューティング環境においても実行可能である。
説明のための表現として、以下の詳細説明では、「推定する」、「補償する」、「予測する」、「適用する」などの用語を、コンピューティング環境内のコンピュータ動作を記述するために用いる。これらの用語は、コンピュータによって実行される動作の高レベル抽象化であって、人間によって実行される動作と混同されてはならない。これらの用語に対応する実際のコンピュータ動作は、実装形態に応じて異なる。
II.一般化されたビデオ符号化器および復号器
図19は、記載の実施形態のいくつかの実装との組合せが可能な、一般化されたビデオ符号化器1900のブロック図である。図20は、記載の実施形態のいくつかの実装との組合せが可能な、一般化されたビデオ復号器2000のブロック図である。
符号化器1900および復号器2000内のモジュール間の、図示した関係が、符号化器および復号器における情報の概略フローを示しており、他の関係は簡単のために図示していない。具体的には、図19および図20は、通例として、ビデオのシーケンス、ピクチャ、マクロブロック、ブロックなどに用いられる符号化器の設定、モード、テーブルなどを表す副情報を示していない。そのような副情報は、一般に、エントロピー符号化されてから出力ビットストリームの中で送られる。出力ビットストリームのフォーマットは、Windows(登録商標)Media Videoバージョン9のフォーマットであっても他のフォーマットであってもよい。
符号化器1900および復号器2000は、ビデオ・ピクチャを処理するが、それらは、ビデオ・フレームであってもビデオ・フィールドであってもフレームとフィールドの組合せであってもよい。ピクチャ・レベルおよびマクロブロック・レベルにおけるビットストリームのシンタックスおよびセマンティクスは、フレームを用いるかフィールドを用いるかによって異なってもよい。マクロブロック構成および全体のタイミングも同様に異なってもよい。符号化器1900および復号器2000は、ブロック・ベースであり、フレームに4:2:0マクロブロック・フォーマットを用いる。各マクロブロックは、4つの8×8ルミナンス・ブロック(1つの16×16マクロブロックとして扱われることもある)と2つの8×8クロマ・ブロックとを含む。フィールドについて用いるマクロブロック構成およびフォーマットは、同じであっても異なっていてもよい。これらの8×8ブロックは、例えば、周波数変換、エントロピー符号化などの様々なステージにおいて、さらに分割されることが可能である。ビデオ・フレーム構成の例については後で詳述する。あるいは、符号化器1900および復号器2000は、オブジェクト・ベースであり、別のマクロブロック・フォーマットまたはブロック・フォーマットを用いるか、8×8ブロックや16×16マクロブロックとは異なるサイズまたは構成の画素集合に対して操作を実行する。
実装形態および必要な圧縮のタイプに応じて、符号化器または復号器のモジュールを追加したり、省略したり、複数のモジュールに分割したり、他のモジュールと組み合わせ、および/または同様のモジュールで置き換えたりすることが可能である。代替実施形態では、異なるモジュールおよび/または他のモジュール構成を有する符号化器または復号器が、記載の手法のうちの1つまたは複数を実施する。
A.ビデオ・フレーム構成
一部の実装形態では、符号化器1900および復号器2000は、以下のように構成されたビデオ・フレームを処理する。フレームは、ビデオ信号の空間情報をライン(走査線)の形で収容する。プログレッシブ・ビデオの場合、これらのラインは、ある時点から始まり、連続するラインを通ってフレームの一番下まで続くサンプル群を収容する。プログレッシブ・ビデオ・フレームは、図21に示すマクロブロック2100のように、マクロブロックに分割される。マクロブロック2100は、4つの8×8ルミナンスブロック(Y1〜Y4)と2つの8×8クロマ・ブロックとを含む。2つのクロマ・ブロックは、4つのルミナンス・ブロックと同じ場所にあるが、従来の4:2:0マクロブロック・フォーマットに従って、水平方向および垂直方向の分解度がルミナンス・ブロックの半分である。これらの8×8ブロックは、例えば、周波数変換(例えば、8×8、4×8、または4×4のDCTなど)、エントロピー符号化などの様々なステージにおいて、さらに分割されることが可能である。プログレッシブIフレームは、イントラ符号化されたプログレッシブ・ビデオ・フレームである。プログレッシブPフレームは、順方向予測を用いて符号化されたプログレッシブ・ビデオ・フレームであり、プログレッシブBフレームは、双方向予測を用いて符号化されたプログレッシブ・ビデオ・フレームである。プログレッシブPフレームおよびプログレッシブBフレームは、イントラ符号化されたマクロブロックだけでなく、様々なタイプの予測マクロブロックを含むことが可能である。
インターレース・ビデオ・フレームは、1フレームに属する2つのスキャンで構成され、1つはフレームの偶数ライン(トップ・フィールド)を含み、もう1つはフレームの奇数ライン(ボトムフィールド)を含む。これら2つのフィールドは、異なる2つの時間帯を表すことも可能であり、同じ時間帯であることも可能である。図22Aは、インターレース・ビデオ・フレーム2200の一部を示しており、インターレース・ビデオ・フレーム2200の左上部分の、トップ・フィールドとボトム・フィールドとで互い違いになるラインを含む。
図22Bは、フレーム2230として符号化/復号するために構成された、図22Aのインターレース・ビデオ・フレーム2200を示す。インターレース・ビデオ・フレーム2200は、マクロブロック2231および2232のように、図21に示した4:2:0フォーマットを用いるマクロブロックに分割されている。ルミナンス・プレーンでは、各マクロブロック2231、2232は、トップ・フィールドの8ラインとボトム・フィールドの8ラインとが互い違いになっている合計16ラインを含み、各ラインの長さが16画素である(マクロブロック2231、2232内のルミナンス・ブロックおよびクロマ・ブロックの実際の構成および配置は図示していない。これらは、実際には、符号化決定(encoding decisions)が異なれば異なる可能性がある)。所与のマクロブロック内で、トップ・フィールド情報およびボトム・フィールド情報を、任意の様々なフェーズにおいて、統合的に、または別々に符号化することが可能である。インターレースIフレームは、インターレース・ビデオ・フレームの、イントラ符号化された2つのフィールドであって、マクロブロックがその2つのフィールドの情報を含む。インターレースPフレームは、インターレース・ビデオ・フレームの、順方向予測を用いて符号化された2つのフィールドであり、インターレースBフレームは、インターレース・ビデオ・フレームの、双方向予測を用いて符号化された2つのフィールドであり、マクロブロックがその2つのフィールドの情報を含む。インターレースPフレームおよびインターレースBフレームは、イントラ符号化されたマクロブロックだけでなく、様々なタイプの予測マクロブロックを含むことが可能である。インターレースBIフレームは、インターレースIフレームおよびインターレースBフレームの混成物であり、イントラ符号化されているが、他のフレームのアンカーとしては用いられない。
図22Cは、フィールド2260として符号化/復号するために構成された、図22Aのインターレース・ビデオ・フレーム2200を示す。インターレース・ビデオ・フレーム2200の2つのフィールドのそれぞれがマクロブロックに分割されている。トップ・フィールドは、マクロブロック2261のようなマクロブロックに分割され、ボトム・フィールドは、マクロブロック2262のようなマクロブロックに分割されている(この場合も、マクロブロックは、図21に示すように、4:2:0フォーマットを用いており、マクロブロック内のルミナンス・ブロックおよびクロマ・ブロックの構成および配置は図示していない)。ルミナンス・プレーンでは、マクロブロック2261がトップ・フィールドの16ラインを含み、マクロブロック2262がボトム・フィールドの16ラインを含み、各ラインの長さが16画素である。インターレースIフィールドは、インターレース・ビデオ・フレームに属する、単独で表現された1つのフィールドである。インターレースPフィールドは、順方向予測を用いて符号化された、インターレース・ビデオ・フレームに属する、単独で表現された1つのフィールドであり、インターレースBフィールドは、双方向予測を用いて符号化された、インターレース・ビデオ・フレームに属する、単独で表現された1つのフィールドである。インターレースPフレームおよびインターレースBフレームは、イントラ符号化されたマクロブロックだけでなく、様々なタイプの予測マクロブロックを含むことが可能である。インターレースBIフィールドは、インターレースIフィールドおよびインターレースBフィールドの混成物であり、イントラ符号化されているが、他のフィールドのアンカーとしては用いられない。
フィールドとして符号化/復号するために構成されたインターレース・ビデオ・フレームは、異なるフィールド・タイプの様々な組合せを含むことが可能である。例えば、そのようなフレームは、トップ・フィールドとボトム・フィールドの両方で同じフィールド・タイプを有することや、各フィールドで異なるフィールド・タイプを有することが可能である。一実装形態では、フィールド・タイプの可能な組合せとして、I/I、I/P、P/I、P/P、B/B、B/BI、BI/B、BI/BIなどがある。
ピクチャという用語は、一般に、ソース画像データ、符号化された画像データ、または再構成された画像データを指す。プログレッシブ・ビデオについては、ピクチャは、プログレッシブ・ビデオ・フレームである。インターレース・ビデオについては、ピクチャは、コンテキストに応じて、インターレース・ビデオ・フレームを指す場合、フレームのトップ・フィールドを指す場合、またはフレームのボトム・フィールドを指す場合がある。
あるいは、符号化器1900および復号器2000は、オブジェクト・ベースであり、別のマクロブロック・フォーマットまたはブロック・フォーマットを用いるか、8×8ブロックや16×16マクロブロックとは異なるサイズまたは構成の画素集合に対して操作を実行する。
B.ビデオ符号化器
図19は、一般化されたビデオ符号化器システム1900のブロック図である。符号化器システム1900は、現在のピクチャ1905を含むビデオ・ピクチャ(例えば、プログレッシブ・ビデオ・フレーム、インターレース・ビデオ・フレーム、またはインターレース・ビデオ・フレームのフィールド)のシーケンスを受け取り、圧縮ビデオ情報1995を出力として生成する。ビデオ符号化器の個々の実施形態では、一般に、一般化された符号化器1900の変形形態(variation)または強化形態(supplemented version)を用いる。
符号化器システム1900は、予測ピクチャおよびキー・ピクチャを圧縮する。説明のために、図19は、符号化器システム1900を通るキー・ピクチャのパスと、予測ピクチャのパスとを示す。符号化器システム1900のコンポーネントの多くは、キー・ピクチャと予測ピクチャの両方の圧縮に用いられる。それらのコンポーネントによって実行される動作は、厳密には、圧縮される情報のタイプによって異なる可能性がある。
予測ピクチャ(例えば、プログレッシブPフレームまたはBフレーム、インターレースPフィールドまたはBフィールド、またはインターレースPフレームまたはBフレーム)は、(一般に参照ピクチャまたはアンカーと呼ばれる)1つまたは複数の他のピクチャからの予測(または差分)の形で表現される。予測残差は、予測された内容とオリジナル・ピクチャとの差分である。これとは異なり、キー・ピクチャ(例えば、プログレッシブIフレーム、インターレースIフィールド、またはインターレースIフレーム)は、他のピクチャを参照せずに圧縮されている。
現在のピクチャ1905が順方向予測ピクチャである場合は、動き推定器(motion estimator)1910が、1つまたは複数の参照ピクチャ(例えば、ピクチャ記憶器1920にバッファリングされている、再構成された先行ピクチャ1925)を基準にして、現在のピクチャ1905のマクロブロックまたは他の画素集合の動きを推定する。現在のピクチャ1905が双方向予測ピクチャであれば、動き推定器1910が、最大4つの再構成された参照ピクチャ(例えば、インターレースBフィールドの場合)を基準にして、現在のピクチャ1905内の動きを推定する。一般に、動き推定器は、時間的に先行する1つまたは複数の参照ピクチャおよび時間的に後続の1つまたは複数の参照ピクチャを基準にして、Bピクチャ内の動きを推定する。したがって、符号化器システム1900は、複数の参照ピクチャのために別々の記憶装置1920および1922を用いることが可能である。プログレッシブBフレーム、およびインターレースBフレームおよびBフィールドの詳細については、「Advanced Bi-Directional Predictive Coding of Video Frames」という名称で2003年7月18日出願の特許文献2および「Advanced Bi-Directional Predictive Coding of interlaced Video」という名称で2004年6月29日出願の特許文献3を参照されたい。
動き推定器1910は、1画素、1/2画素、1/4画素、または他の増分を単位として動きを推定することが可能であり、ピクチャごと、または他の区切りごとに動き推定の分解度を切り替えることが可能である。動き推定器1910(および補償器1930)はさらに、フレームごと、または他の区切りごとに、参照ピクチャの画素補間のタイプを(例えば、双三次と双線形とで)切り替えることが可能である。動き推定の分解度は、水平方向と垂直方向とで同じであっても異なってもよい。動き推定器1910は、差分動きベクトル情報などの動き情報1915を副情報として出力する。符号化器1900は、例えば、動きベクトル用の1つまたは複数のプレディクタを算出し、動きベクトルとプレディクタの間の差分を算出し、その差分をエントロピー符号化することによって、動き情報1915を符号化する。動き補償器1930が、動きベクトルを再構成するために、プレディクタと差分動きベクトル情報とを結合する。動きベクトル・プレディクタの算出、差分動きベクトルの算出、および動きベクトルの再構成の様々な手法については後述する。
動き補償器1930は、再構成されたピクチャ1925に、再構成された動きベクトルを適用して、動き補償された現在のピクチャ1935を形成する。予測が完全であることはまれであり、動き補償された現在のピクチャ1935と、オリジナルの現在のピクチャ1905との差分が予測残差1945である。後段の、ピクチャの再構成において、動き補償された現在のピクチャ1935に予測残差1945が加算されて、オリジナルの現在のピクチャ1905により近い、再構成されたピクチャが得られる。しかしながら、非可逆的圧縮では、オリジナルの現在のピクチャ1905から一部の情報が失われる。あるいは、動き推定器および動き補償器は、別のタイプの動き推定/補償を適用する。
周波数変換器1960は、空間領域のビデオ情報を、周波数領域の(すなわち、スペクトル)データに変換する。ブロック・ベースのビデオ・ピクチャの場合、周波数変換器1960は、画素データまたは予測残差データのブロックにDCT、DCTの変形形態、または他のブロック変換を適用して、周波数変換係数のブロックを生成する。あるいは、周波数変換器1960は、別の従来の周波数変換(例えば、フーリエ変換)を適用するか、ウェーブレット解析またはサブバンド解析を用いる。周波数変換器1960は、8×8、8×4、4×8、4×4、または他のサイズの周波数変換を適用することが可能である。
次に量子化器1970が、スペクトル・データ係数のブロックを量子化する。量子化器は、ピクチャごと、または他の区切りごとに異なるステップ・サイズを使用して、スペクトル・データに、均一のスカラ量子化を適用する。あるいは、量子化器は、別のタイプの量子化(例えば、不均一量子化、ベクトル量子化、または非適応量子化(non-adaptive quantization))をスペクトル・データ係数に適用するか、周波数変換を用いない符号化器システムにおいて空間領域データを直接量子化する。符号化器1900は、適応量子化に加えて、フレームドロップ、適応フィルタリング、または他のレート制御手法を用いることが可能である。
符号化器1900は、スキップ・マクロブロック(特定タイプの情報を有しないマクロブロック)のために特殊な信号伝達を用いることが可能である。スキップ・マクロブロックについては、後で詳述する。
再構成された現在のピクチャが後続の動き推定/補償に必要である場合は、逆量子化器1976が、量子化されたスペクトル・データ係数に対して逆量子化を実行する。次に逆周波数変換器1966が、周波数変換器1960とは逆の操作を実行して、(予測ピクチャの)再構成された予測残差または再構成されたキー・ピクチャを生成する。現在のピクチャ1905がキー・ピクチャであった場合は、再構成されたキー・ピクチャが、再構成された現在のピクチャ(図示せず)と見なされる。現在のピクチャ1905が予測ピクチャであった場合は、再構成された予測残差が、動き補償された現在のピクチャ1935に加算されて、再構成された現在のピクチャが形成される。ピクチャ記憶装置1920、1922の一方または両方が、再構成された現在のピクチャを、動き補償予測で用いるためにバッファリングする。一部の実施形態では、符号化器は、再構成されたフレームにデブロッキング・フィルタを適用して、ピクチャ内の不連続部分および他のアーティファクトを適応的に平滑化する。
エントロピー符号化器1980は、量子化器1970の出力ならびに特定の副情報(例えば、動き情報1915、量子化ステップ・サイズ)を圧縮する。一般的なエントロピー符号化手法として、算術符号化、差分符号化、ハフマン符号化、ランレングス符号化、LZ符号化、辞書符号化、およびこれらの組合せなどがある。エントロピー符号化器1980は、一般に、様々な種類の情報(例えば、DC係数、AC係数、様々な種類の副情報)に対して様々な符号化手法を用い、特定の符号化手法において複数の符号テーブル間で選択することが可能である。
エントロピー符号化器1980は、圧縮ビデオ情報1995をマルチプレクサ[「MUX」]1990に供給する。MUX1990は、バッファを含むことが可能であり、バッファ・レベル・インジケータが、レート制御のためにビットレート適応モジュールにフィードバックされることが可能である。MUX1990の前または後で、圧縮ビデオ情報1995を、ネットワーク送信のためにチャネル符号化することが可能である。チャネル符号化では、エラーの検出および訂正のデータを圧縮ビデオ情報1995に適用(追加)することが可能である。
C.ビデオ復号器
図20は、一般化されたビデオ復号器システム2000のブロック図である。復号器システム2000は、ビデオ・ピクチャの圧縮されたシーケンスの情報2095を受け取り、再構成されたピクチャ2005(例えば、プログレッシブ・ビデオ・フレーム、インターレース・ビデオ・フレーム、またはインターレース・ビデオ・フレームのフィールド)を含む出力を生成する。ビデオ復号器の個々の実施形態では、一般に、一般化された復号器2000の変形形態または強化形態を用いる。
復号器システム2000は、予測ピクチャおよびキー・ピクチャを圧縮解除する。説明のために、図20は、復号器システム2000を通るキー・ピクチャのパスと、順方向予測ピクチャのパスとを示す。復号器システム2000のコンポーネントの多くは、キー・ピクチャと予測ピクチャの両方の圧縮解除に用いられる。それらのコンポーネントによって実行される動作は、厳密には、圧縮解除される情報のタイプによって異なる可能性がある。
DEMUX2090は、圧縮ビデオ・シーケンスの情報2095を受け取り、受け取った情報を、エントロピー復号器2080で利用できるようにする。DEMUX2090は、ジッタ・バッファおよび他のバッファも同様に含むことが可能である。DEMUX2090の前または後で、圧縮ビデオ情報を、エラーの検出および訂正のためにチャネル復号および処理することが可能である。
エントロピー復号器2080は、エントロピー符号化された量子化データならびにエントロピー符号化された副情報(例えば、動き情報2015、量子化ステップ・サイズ)をエントロピー復号する。これには、一般に、符号化器で実行されたエントロピー符号化の逆が適用される。エントロピー復号手法として、算術復号、差分復号、ハフマン復号、ランレングス復号、LZ復号、辞書復号、およびこれらの組合せなどがある。エントロピー復号器2080は、一般に、様々な種類の情報(例えば、DC係数、AC係数、様々な種類の副情報)に対して様々な復号手法を用い、特定の復号手法において複数の符号テーブル間で選択することが可能である。
復号器2000は、例えば、動きベクトルの1つまたは複数のプレディクタを算出し、差分動きベクトルをエントロピー復号し、復号された差分動きベクトルをプレディクタと結合して動きベクトルを再構成することによって、動き情報2015を復号する。
動き補償器2030が、再構成されるピクチャ2005の予測2035を形成するために、動き情報2015を1つまたは複数の参照ピクチャ2025に適用する。例えば、動き補償器2030は、参照ピクチャ2025内のマクロブロックを見つけるために、1つまたは複数のマクロブロック動きベクトルを用いる。1つまたは複数のピクチャ記憶装置(例えば、ピクチャ記憶装置2020、2022)が、既に再構成されているピクチャを参照ピクチャとして記憶する。一般に、Bピクチャは、複数の参照ピクチャ(例えば、少なくとも1つの、時間的に先行する参照ピクチャと、少なくとも1つの、時間的に後続の参照ピクチャ)を有する。したがって、復号システム2000は、複数の参照ピクチャのために別々のピクチャ記憶装置2020および2022を用いることが可能である。動き補償器2030は、1画素、1/2画素、1/4画素、または他の増分を単位として動きを補償することが可能であり、ピクチャごと、または他の区切りごとに動き補償の分解度を切り替えることが可能である。動き補償器2030はさらに、フレームごと、または他の区切りごとに、参照ピクチャの画素補間のタイプを(例えば、双三次と双線形とで)切り替えることが可能である。動き補償の分解度は、水平方向と垂直方向とで同じであっても異なってもよい。あるいは、動き補償器は、別のタイプの動き補償を適用する。動き補償器による予測が完全であることはまれなので、復号器2000はさらに、予測残差を再構成する。
逆量子化器2070が、エントロピー復号されたデータを逆量子化する。一般に、逆量子化器は、ピクチャごと、または他の区切りごとに異なるステップ・サイズを使用して、エントロピー復号されたデータに、均一のスカラ逆量子化を適用する。あるいは、逆量子化器は、別のタイプの逆量子化(例えば、不均一逆量子化、ベクトル逆量子化、または非適応逆量子化)をデータに適用して、その後に再構成したり、逆周波数変換を用いない復号器システムにおいて空間領域データを直接逆量子化したりする。
逆周波数変換器2060が、量子化された周波数領域データを空間領域ビデオ情報に変換する。ブロック・ベースのビデオ・ピクチャについては、逆周波数変換器2060は、逆DCT[「IDCT」]、IDCTの変形形態、または他の逆ブロック変換を周波数変換係数のブロックに適用して、キー・ピクチャの画素データ、または予測ピクチャの予測残差データを生成する。あるいは、逆周波数変換器2060は、別の従来の逆周波数変換(例えば、逆フーリエ変換)を適用するか、ウェーブレット解析またはサブバンド解析を用いる。逆周波数変換器2060は、8×8、8×4、4×8、4×4、または他のサイズの逆周波数変換を適用することが可能である。
予測ピクチャについては、復号器2000は、再構成された予測残差2045を動き補償予測2035と組み合わせて、再構成されたピクチャ2005を形成する。復号器において、再構成されたピクチャ2005が後続の動き補償に必要な場合は、一方または両方のピクチャ記憶装置(例えば、ピクチャ記憶装置2020)が、再構成されたピクチャ2005を、次のピクチャの予測に用いるためにバッファリングする。一部の実施形態では、復号器2000は、再構成されたピクチャにデブロッキング・フィルタを適用して、ピクチャ内の不連続部分および他のアーティファクトを適応的に平滑化する。
III.インターレースPフレーム
一般的なインターレース・ビデオ・フレームは、異なる時刻にスキャンされた2つのフィールド(例えば、トップ・フィールドとボトム・フィールド)からなる。一般に、インターレース・ビデオ・フレームの静止領域を符号化する場合は、フィールドをまとめて符号化(「フレームモード」符号化)するのが効率的である。一方、インターレース・ビデオ・フレームの、動きのある領域を符号化する場合は、フィールドを別々に符号化(「フィールドモード符号化」)するのが効率的である場合が多い。これは、2つのフィールドがそれぞれ異なる動きを有する傾向があるからである。順方向予測インターレース・ビデオ・フレームは、2つの別々の順方向予測フィールド(インターレースPフィールド)として符号化されることが可能である。順方向予測インターレース・ビデオ・フレームのフィールドを別々に符号化することは、例えば、インターレース・ビデオ・フレーム全体で動きが多く、したがって、フィールド間の差分が大きい場合に効率的である可能性がある。インターレースPフィールドは、既に復号されている1つまたは複数のフィールドを参照する。例えば、一部の実装形態では、インターレースPフィールドは、1つまたは2つの、既に復号されているフィールドを参照する。インターレースPフィールドの詳細については、「Video Encoding and Decoding Tools and Techniques」という名称で2003年9月7日出願の特許文献4および「Predicting Motion Vectors for Fields of Forward-predicted Interlaced Video Frames」という名称で2004年5月27日出願の特許文献5を参照されたい。
または、順方向予測インターレース・ビデオ・フレームは、インターレースPフレームのように、フィールド符号化とフレーム符号化の混在を用いて符号化されることが可能である。インターレースPフレームのマクロブロックの場合、マクロブロックは、トップ・フィールドおよびボトム・フィールドの画素のラインを含み、これらのラインは、フレーム符号化モードで一括して符号化されるか、フィールド符号化モードで別々に符号化されることが可能である。
A.インターレースPフレームのマクロブロック・タイプ
一部の実装形態では、インターレースPフレームのマクロブロックは、1MV、2フィールドMV、4フレームMV、4フィールドMV、およびイントラの5タイプのいずれかであることが可能である。
1MVマクロブロックの場合は、マクロブロック内の4つのルミナンス・ブロックの変位が単一の動きベクトルで表される。そのルミナンス動きベクトルから、対応するクロマ動きベクトルが導出されることが可能であり、それによって、動きベクトルの2つの8×8クロマ・ブロックのそれぞれの変位が表される。例えば、図21に示したマクロブロック配置を再度参照すると、1MVマクロブロック2100は、4つの8×8ルミナンス・ブロックと2つの8×8クロマ・ブロックとを含む。ルミナンス・ブロック(Y1〜Y4)の変位は単一の動きベクトルによって表される。対応するクロマ動きベクトルはそのルミナンス動きベクトルから導出され、それによって2つのクロマ・ブロック(UおよびV)のそれぞれの変位が表されることが可能である。
2フィールドMVマクロブロックの場合は、マクロブロック内の16×16ルミナンス成分の各フィールドの変位が、それぞれ異なる動きベクトルによって表される。例えば、図23は、トップ・フィールド動きベクトルがルミナンス成分の偶数ラインの変位を表し、ボトム・フィールド動きベクトルがルミナンス成分の奇数ラインの変位を表すことを示している。符号化器は、トップ・フィールド動きベクトルを用いて、クロマ・ブロックの偶数ラインの変位を表す、対応するトップ・フィールド・クロマ動きベクトルを導出することが可能である。同様に符号化器は、クロマ・ブロックの奇数ラインの変位を表すボトム・フィールド・クロマ動きベクトルを導出することが可能である。
図24に示すように、4フレームMVマクロブロックの場合は、4つのルミナンス・ブロックのそれぞれの変位が、それぞれ異なる動きベクトル(MV1、MV2、MV3、およびMV4)によって表される。各クロマ・ブロックは、4つの4×4クロマ・サブブロックの変位を表す、導出された4つのクロマ動きベクトル(MV1’、MV2’、MV3’、およびMV4’)を用いて動き補償されることが可能である。各4×4クロマ・サブブロックの動きベクトルが、空間的に対応するルミナンス・ブロックの動きベクトルから導出されることが可能である。
図25に示すように、4フィールドMVマクロブロックの場合は、16×16ルミナンス成分の各フィールドの変位が、異なる2つの動きベクトルによって表される。ルミナンス成分のラインが縦に分割されて2つの8×16領域が形成され、各領域は、インターリーブしている、偶数ラインの8×8領域と奇数ラインの8×8領域とからなる。偶数ラインについては、左側の8×8領域の変位がトップ左フィールド・ブロック動きベクトルによって表され、右側の8×8領域の変位がトップ右フィールド・ブロック動きベクトルによって表される。奇数ラインについては、左側の8×8領域の変位がボトム左フィールド・ブロック動きベクトルによって表され、右側の8×8領域の変位がボトム右フィールド・ブロック動きベクトルによって表される。各クロマ・ブロックはさらに4つの領域に分割されることが可能であり、各クロマ・ブロック領域は、導出された動きベクトルを用いて動き補償されることが可能である。
イントラ・マクロブロックの場合は、動きがゼロであると見なされる。
B.インターレースPフレームの動きベクトル・プレディクタの算出
一般に、インターレースPフレームの現在のマクロブロックの動きベクトル・プレディクタを算出する処理は、2つのステップからなる。第1のステップでは、現在のマクロブロックに対する最大3つの候補動きベクトルを、現在のマクロブロックに隣接するマクロブロックから収集する。例えば、一実装形態では、図26A〜26B(および、一番上の行のマクロブロックなど、様々な特殊ケース)で示される配置に基づいて候補動きベクトルを収集する。あるいは、ある別の順序または配置で候補動きベクトルを収集することも可能である。第2のステップでは、候補動きベクトルの集合から、現在のマクロブロックの動きベクトル・プレディクタを算出する。例えば、「3のメジアン」予測または他の何らかの方法を用いてプレディクタを算出することが可能である。
IV.インターレースPフレームの動きベクトル予測における新機軸
動きベクトル予測の処理は、概念的に2つのステップに分けることが可能である。まず、候補動きベクトルの集合を、隣接するブロックから収集し、適切であれば、現在の動きベクトルに用いられる予測のタイプに応じて、しかるべきタイプに変換する。次に、候補動きベクトルの集合から動きベクトル・プレディクタを導出する。後で詳述するように、現在の動きベクトル・プレディクタは、様々な方法で、候補動きベクトルから導出されることが可能である。例えば、有効な候補動きベクトルの全集合に対してメジアン演算を実行すること、有効な候補動きベクトルの全集合が使用可能でない場合には候補動きベクトルの1つを単に選択すること、または他の何らかの方法によって、可能である。
セクションIIIで説明したように、インターレースPフレームの各マクロブロックは、1つのフレーム動きベクトル、4つのフレーム動きベクトル、2つのフィールド動きベクトル、または4つのフィールド動きベクトル、を用いて動き補償されることが可能である。各フィールド動きベクトルは、他のフィールド動きベクトルがどのフィールドを参照するかに関係なく、参照フレームのトップ・フィールドまたはボトム・フィールドのいずれかを参照することが可能である。一部の実装形態では、現在のマクロブロック(またはブロック、またはそのフィールド)の現在の動きベクトルの動きベクトル・プレディクタを導出するために、動きベクトル予測において様々な要因が考慮される。それらは、例えば、隣接するマクロブロックまたはブロックの動きベクトルおよび動き予測タイプ、現在の動きベクトル・タイプなどである。
記載の実施形態は、限定されないが、以下を含むインターレース・フレーム符号化されたピクチャの動きベクトルを予測、符号化、および復号する記載の手法およびツールの1つまたは複数を実装する。
1.(例えば、1MV、4フレームMV、2フィールドMV、および/またはイントラなどの他のマクロブロック・タイプとの組合せで)4つのフィールド動きベクトルを用いてインターレースPフレームのマクロブロックを予測すること。
2.メジアン演算の使用を、3つの候補隣接動きベクトルがすべて使用可能なケースのみに限定し、その他のケースでは、あらかじめ指定された順序で隣接動きベクトルの1つを取得することによって動きベクトル予測を改善すること。
3.フィールド動きベクトルについては、正当な候補動きベクトル(legal candidate motion vectors)の収集時にフィールド極性を考慮すること。
記載の手法およびツールは、互いに組み合わせて用いたり、他の手法およびツールと組み合わせて用いたり、単独で用いたりすることが可能である。
A.インターレースPフレームの4フィールドMVマクロブロック
一部の実装形態では、符号化器/復号器は、インターレースPフレームの、4つのフィールド動きベクトルを有するマクロブロック(例えば、4フィールドMVマクロブロック)を処理する。4フィールドMVマクロブロックは、インターレースPフレームのフィールド符号化されたマクロブロックの動き推定および動き補償に関して動きへの空間適応性を改善する。
例えば、図27は、インターレースPフレームの、4つのフィールド動きベクトルを有するマクロブロックを処理する手法2700を示す。2710で、符号化器/復号器が、インターレースPフレームのマクロブロックの4つのフィールド動きベクトルの動きベクトル情報(例えば、動きベクトル差分、動きベクトル値)を受け取る。次に2720で、符号化器/復号器が、4つのフィールド動きベクトルを用いて(例えば、マクロブロックを再構成することによって)マクロブロックを処理する。
あるいは、符号化器/復号器が、4フィールドMVマクロブロックを用いずにインターレースPフレームの動き推定/補償を実行する。
B.候補動きベクトルの収集
一部の実装形態では、候補動きベクトルを収集する順序が重要である。例えば、図26A〜図26Bに示すように、インターレースPフレームの現在のマクロブロックの3つの候補動きベクトルが、現在のマクロブロックに隣接するマクロブロックから収集される。一実装形態では、収集の順序は、隣接するマクロブロックAで始まり、マクロブロックBに進み、マクロブロックCで終了する。
図41〜図51の擬似コードは、一実装形態において候補動きベクトルがどのように収集されるかを示している。符号化器/復号器は、隣接するマクロブロックをチェックして、それらが、(ブロック、マクロブロックのフィールド、またはマクロブロックの半フィールドを含む)現在のマクロブロックの動きベクトルを予測するという目的のために「存在する」(すなわち、有効)かどうかを決定する。対応するマクロブロック/ブロックがフレーム境界の外側にある場合、または対応するマクロブロック/ブロックが別のスライスの一部である場合、プレディクタ候補は存在しない(すなわち、有効ではない)と見なされる。したがって、動きベクトル予測は、スライス境界にまたがっては実行されない。
図41〜図51に示すように、隣接するマクロブロックが有効であって、イントラ符号化されていない場合は、隣接するマクロブロックからの動きベクトルが候補動きベクトルの集合に追加される。候補の集合に追加される実際の動きベクトルは、現在のマクロブロックに対する、隣接するマクロブロックの位置(例えば、位置A、B、またはC)と、隣接するマクロブロックおよび現在のマクロブロックの両方のタイプ(例えば、1MV、4フレームMV、2フィールドMV、または4フレームMV)とに依存する。
図41の擬似コード4100は、一実装形態において1MVマクロブロック内の現在の動きベクトル用の最大3つの候補動きベクトルがどのように収集されるかを示している。
図42、図43、図44、および図45の擬似コード4200、4300、4400、および4500は、それぞれ、一実装形態において、現在の4フレームMVマクロブロック内の4つのフレーム・ブロック動きベクトルのそれぞれに対して、隣接するマクロブロック/ブロックから候補動きベクトルがどのように収集されるかを示している。この実装形態では、符号化器/復号器は、擬似コード4200、4300、4400、および4500に示されたアルゴリズムを用いて、それぞれ、左上のフレーム・ブロック動きベクトル、右上のフレーム・ブロック動きベクトル、左下のフレーム・ブロック動きベクトル、および右下のフレーム・ブロック動きベクトルの最大3つの候補動きベクトルを収集する。
図46および47の擬似コード4600および4700は、それぞれ、一実装形態において、現在の2フィールドMVマクロブロックの2つのフィールド動きベクトルのそれぞれに対して、隣接するマクロブロックから候補動きベクトルがどのように収集されるかを示している。この実装形態では、符号化器/復号器は、擬似コード4600および4700に示されたアルゴリズムを用いて、それぞれ、トップ・フィールド動きベクトルおよびボトム・フィールド動きベクトルに対して最大3つの候補動きベクトルを収集する。
図48、49、50、および51の擬似コード4800、4900、5000、および5100は、それぞれ、一実装形態において、現在の4フィールドMVマクロブロックの4つのフィールド・ブロック動きベクトルのそれぞれに対して、隣接するマクロブロック/ブロックから候補動きベクトルが収集される様子を示している。この実装形態では、符号化器/復号器は、擬似コード4800、4900、5000、および5100に示されたアルゴリズムを用いて、それぞれ、左上のフィールド・ブロック動きベクトル、右上のフィールド・ブロック動きベクトル、左下のフィールド・ブロック動きベクトル、および右下のフィールド・ブロック動きベクトルに対して最大3つの候補動きベクトルを収集する。
選択された候補動きベクトルが、実際に、隣接するマクロブロックの動きベクトルの平均となる場合がある。一実装形態では、2つのフィールド動きベクトル(MVX,MVY)および(MVX,MVY)に対して、平均演算が行われて、次のように候補フレーム動きベクトル(MVX,MVY)が形成される。
MVX=(MVX+MVX+1)>>1
MVY=(MVY+MVY+1)>>1
あるいは、図41〜51に示されたものとは異なる収集規則に従って候補動きベクトルを収集することが可能である。例えば、複数の動きベクトルを有する、隣接するマクロブロック(例えば、4フレームMV、2フィールドMV、または4フィールドMVマクロブロック)から候補として選択される特定の動きベクトルを変更することが可能である。別の例として、候補の集合における動きベクトルの順序を、記載のA−B−Cから別の何らかの順序に調整することが可能である。
C.候補動きベクトルからのフレームMVプレディクタの算出
図52の擬似コード5200は、一実装形態においてフレーム動きベクトルに対して動きベクトル・プレディクタ(PMV,PMV)が算出される様子を示している。擬似コード5200では、TotalValidMVは、候補動きベクトルの集合にある有効な動きベクトルの総数を表しており(TotalValidMV=0、1、2または3)、ValidMV配列は、候補動きベクトルの集合にある有効な動きベクトルを含む。
一実装形態では、擬似コード5200を用いて、1MVマクロブロックの動きベクトル、ならびに4フレームMVマクロブロックの4つのフレーム・ブロック動きベクトルのそれぞれについて、候補動きベクトルの集合からプレディクタが算出される。
D.候補動きベクトルからのフィールドMVプレディクタの算出
このセクションでは、候補動きベクトルの集合に対してフィールド動きベクトルの動きベクトル・プレディクタを算出する手法およびツールについて説明する。このセクションで説明する手法およびツールを用いることにより、(2フィールドMVマクロブロックの)2つのフィールド動きベクトルのそれぞれについて、ならびに(4フィールドMVマクロブロックの)4つのフィールド動きベクトルのそれぞれについて、プレディクタを算出することが可能である。
一部の実装形態では、符号化器/復号器が、プレディクタの算出時に候補動きベクトルによって参照されるフィールドの極性を考慮する。図28は、候補動きベクトルの極性に基づいて、フィールド符号化されたマクロブロックの動きベクトル・プレディクタを算出する手法2800を示している。2810で、符号化器/復号器は、現在のマクロブロックの現在のフィールドのフィールド動きベクトルを予測するための候補動きベクトルを決定する。2820で、符号化器/復号器が、1つまたは複数の有効な候補のフィールド極性を決定する。次に2830で、符号化器/復号器は、1つまたは複数の有効な候補のフィールド極性に少なくとも部分的に基づいて、フィールド動きベクトルの動きベクトル・プレディクタを算出する。例えば、一実装形態では、候補動きベクトルは2つの集合に分けられる。一方の集合には、現在のフィールドと同じフィールドをポイントする動きベクトルだけが含まれ、もう一方の集合には、反対のフィールドをポイントする動きベクトルが含まれる。次に符号化器/復号器は、その2つの集合のうちの一方を用いて動きベクトル・プレディクタを算出する。図28には示していないが、現在のマクロブロックの動きベクトル・プレディクタを算出する処理を、そのマクロブロックの各動きベクトルについて、およびフレーム内の他のマクロブロックについて、繰り返すことが可能である。
動きベクトルが1/4画素単位で表現されていると仮定すると、符号化器/復号器は、候補動きベクトルが(現在のフィールドの極性に対して)同じフィールドをポイントするか、反対のフィールドをポイントするかを、そのy成分に対して以下のチェックを実行することによって調べることが可能である。
Figure 0004921971
上記の擬似コードにおいて、ValidMVは、1/4画素単位で測定された、候補動きベクトルのy成分である。したがって、バイナリでは、ValidMVの最下位ビットが1/4画素ビット、第2下位ビット(the second least significant bit)が1/2画素ビット、第3下位ビット(the third least significant bit)がフル画素ビットである。したがって、ビットごとのAND演算(ValidMV & 4)は、フル画素ビットが1(奇数の整数を示す)か0(偶数の整数を示す)かを決定する。整数オフセットが奇数であれば、候補動きベクトルは、参照フレームの、反対の極性のフィールドを参照する。整数オフセットが偶数であれば、候補動きベクトルは、参照フレームの、同じ極性のフィールドを参照する。
代替の手法では、候補動きベクトルの極性が別の何らかの方法で決定されるか、動きベクトル・プレディクタの算出時に候補の極性が考慮されない。
図53の擬似コード5300は、一実装形態においてフィールド動きベクトルに対して動きベクトル・プレディクタ(PMV,PMV)がどのように算出されるかを示している。擬似コード5300では、SameFieldMV[]およびOppFieldMV[]が、候補動きベクトルの2つの集合を表し、NumSameFieldMVおよびNumOppFieldMVが、各集合に属する候補動きベクトルの数を表す。擬似コード5300に示された例では、それらの集合にある使用可能な候補動きベクトルの数に応じて、動きベクトル・プレディクタの算出にメジアン演算を用いるかどうかが決定される。
図29は、フィールド動きベクトルの動きベクトル・プレディクタを算出する際にメジアン演算を実行するかどうかを決定する手法2900を示す。2910で、符号化器/復号器が、現在のマクロブロックのフィールド動きベクトルを予測するための有効な候補動きベクトルの数を決定する。2920で、有効な候補動きベクトルが3つ存在すれば、2930で、プレディクタの算出時にメジアン演算を用いることが可能である。有効な候補が3つ存在しない場合(すなわち、有効な候補が2つ以下の場合)は、2940で、別の方法を用いて(メジアン演算を用いずに)、使用可能な有効な候補の中から動きベクトル・プレディクタを選択する。
擬似コード5300の例では、符号化器/復号器は、3つの候補動きベクトルがすべて有効な場合、および3つの有効な候補動きベクトルがすべてが同じ極性の候補動きベクトルである場合に、候補のx成分またはy成分に対してメジアン演算(例えば、median3)を実行することによって動きベクトル・プレディクタを導出する。3つの候補動きベクトルのすべてが有効であっても、それらのすべてが同じ極性の候補動きベクトルということではない場合、符号化器/復号器は、動きベクトル・プレディクタを導出するために、候補を最も多く有する集合を選択する。両方の集合が同数の候補を有する場合、符号化器/復号器は、集合SameFieldMV[]を用いる。候補の数が3未満の場合、符号化器/復号器は、選択された集合から、あらかじめ指定された順序で1番目の候補を選択する。この例では、各集合の候補動きベクトルの順序は、候補Aが存在すれば候補Aから始まり、候補Bが存在すれば候補Bがそれに続き、候補Cが存在すれば候補Cがその次である。例えば、符号化器/復号器が集合SameFieldMV[]を用いる場合で、集合SameFieldMV[]が候補Bおよび候補Cだけを含む場合、符号化器/復号器は、候補Bを動きベクトル・プレディクタとして用いる。有効な候補の数がゼロの場合、符号化器/復号器は、プレディクタを(0,0)に設定する。
あるいは、上述の方法以外の方法で動きベクトル・プレディクタを算出することも可能である。例えば、擬似コード5300は同じフィールドの候補を選択することへのバイアスを含むが、そのバイアスを除去するように、または反対のフィールドへのバイアスを用いるように、プレディクタの算出を調整することが可能である。別の例として、メジアン演算をより多くの状況(例えば、有効なフィールド動きベクトル候補が2つ存在する場合)で用いることも、まったく用いないことも可能であり、また、2つの有効な候補に対する非メジアン演算として平均演算を用いることも可能である。さらに別の例として、集合内の候補の順序を調整したり、すべての候補を1つの集合に格納したりすることも可能である。
V.インターレース・フレーム符号化されたピクチャのマクロブロック情報の信号伝達における新機軸
記載の実施形態は、インターレース・フレーム符号化されたピクチャ(例えば、インターレースPフレーム、インターレースBフレーム、その他)のマクロブロック情報を信号伝達する手法およびツールを含む。例えば、記載の手法およびツールは、インターレースPフレームのマクロブロック情報を信号伝達する手法およびツールと、インターレースPフレームおよび他のインターレース・ピクチャ(例えば、インターレースBフレーム、インターレースPフィールド、インターレースBフィールド、その他)のスキップ・マクロブロックを使用および信号伝達する手法およびツールとを含む。記載の実施形態は、限定されないが以下を含む記載の手法およびツールの1つまたは複数を実装する。
1.インターレースPフレームについて、動き補償タイプ(例えば、1フレームMV、4フレームMV、2フィールドMV、4フィールドMV、その他)および場合によって他の情報を、(例えば、マクロブロック・レベルのシンタックス要素MBMODEを用いる)フィールド/フレーム符号化タイプ情報と統合的に符号化すること。
2.マクロブロック・スキップ条件を信号伝達すること。この信号伝達は、MBMODEなどの他のシンタックス要素とは別に行われることが可能である。スキップ条件は、マクロブロックが1MVマクロブロックであること、ゼロの差分動きベクトルを有すること、および符号化されたブロックを有しないこと、を示す。スキップ情報は、圧縮されたビット・プレーンの形で符号化されることが可能である。
記載の手法およびツールは、互いに組み合わせて用いたり、他の手法およびツールと組み合わせて用いたり、単独で用いたりすることが可能である。
A.スキップ・マクロブロックの信号伝達
一部の実装形態では、符号化器がスキップ・マクロブロックを信号伝達する。例えば、マクロブロックが1つの動きベクトルによって符号化され、ゼロの動きベクトル差分を有し、符号化されたブロックを有しない(すなわち、すべてのブロックにおいて残差がない)場合に、符号化器が、インターレース・フレームのスキップ・マクロブロックを信号伝達する。スキップ情報は、圧縮されたビット・プレーンとして(例えば、フレーム・レベルで)符号化されたり、マクロブロックごとに1ビットずつで(例えば、マクロブロック・レベルで)信号伝達されたりすることが可能である。マクロブロックのスキップ条件の信号伝達は、マクロブロックのマクロブロック・モードの信号伝達とは別に行われる。復号器は、対応する復号を行う。
ここでのスキップ・マクロブロックの定義は、マクロブロックの符号化に複数の動きベクトルが用いられる場合には、すべての動きベクトル差分がゼロであって、すべてのブロックが符号化されないということがまず起こらないので、そのマクロブロックがスキップされることはほとんどないという経験的な知識を利用している。したがって、マクロブロックがスキップされているとして信号伝達される場合には、マクロブロック・モード(1MV)がスキップ条件から暗示されるので、そのマクロブロックに関してはマクロブロック・モードを信号伝達する必要がない。インターレースPフレームの場合、1MVマクロブロックは、1つのフレーム動きベクトルを用いて動き補償される。
図30は、インターレース予測フレーム(例えば、インターレースPフレーム、インターレースBフレーム、または、インターレースPフィールドおよび/またはインターレースBフィールドを含むフレーム)にある特定のマクロブロックの符号化をスキップするかどうかを決定する手法3000を示す。符号化器は、3010で、所与のマクロブロックについて、そのマクロブロックが1MVマクロブロックかどうかを調べる。マクロブロックが1MVマクロブロックでない場合、符号化器は、3020で、そのマクロブロックをスキップしない。1MVマクロブロックである場合、符号化器は、3030で、そのマクロブロックの1つの動きベクトルが、それの因果関係的に予測された動きベクトルと等しいかどうか(例えば、そのマクロブロックの差分動きベクトルがゼロに等しいかどうか)を調べる。マクロブロックの動きが、因果的に予測された動きと等しくない場合、符号化器は、3040で、そのマクロブロックをスキップしない。等しい場合、符号化器は、3050で、そのマクロブロックの複数のブロックについて、符号化すべき残差がないかどうかを調べる。符号化すべき残差がある場合、符号化器は、3060で、そのマクロブロックをスキップしない。マクロブロックのブロックの残差がない場合、符号化器は、3070で、そのマクロブロックをスキップする。3080で、符号化器は、符号化が完了するまで、マクロブロックを符号化またはスキップすることを続けることが可能である。
一実装形態では、マクロブロック・レベルのSKIPMBBITフィールド(SKIPMBなどとラベル付けされることも可能)は、マクロブロックのスキップ条件を示す。SKIPMBBITフィールドが1であれば、現在のマクロブロックはスキップされており、SKIPMBBITフィールドの後に他の情報が送られない。これに対し、SKIPMBBITフィールドが1でない場合は、MBMODEフィールドが、マクロブロックのタイプと現在のマクロブロックに関する他の情報(セクションV.B.で後述する情報など)とを示すように復号される。
フレーム・レベルでは、SKIPMBフィールドは、フレーム内のマクロブロックのスキップ情報を示す。一実装形態では、スキップ情報は、いくつかのモードのうちの1つのモードで符号化されることが可能である。例えば、raw符号化モードでは、SKIPMBフィールドは、SKIPMBBITがマクロブロック・レベルに存在することを示す。ビット・プレーン符号化モードでは、SKIPMBフィールドは、スキップ情報を圧縮されたビット・プレーンの形で格納する。使用可能なビット・プレーン符号化モードとして、normal−2モード、differential−2モード、normal−6モード、differential−6モード、rowskipモード、columnskipモードなどがある。ビット・プレーン符号化モードについては、後のセクションVIIで詳述する。復号されたSKIPMBビット・プレーンは、マクロブロックごとに1ビットを含み、各ビットがそれぞれのマクロブロックのスキップ条件を示す。
あるいは、スキップ・マクロブロックは、他の何らかの方法で信号伝達されたり、ビットストリーム内の他のいずれかのレベルで信号伝達されたりする。例えば、圧縮されたビット・プレーンはフィールド・レベルで送られる。さらに別の代替として、スキップ条件は、前述の情報以外に、かつ/または前述の情報に加えて、スキップ・マクロブロックに関する情報を暗示するように定義されることが可能である。
B.マクロブロック・モードの信号伝達
一部の実装形態では、符号化器が、マクロブロックの動き補償タイプおよび場合によってマクロブロックに関する他の情報を、そのマクロブロックのフィールド/フレーム符号化タイプ情報と統合的に符号化する。例えば、符号化器は、1つまたは複数の可変長符号化テーブルを用いて、5つの動き補償タイプ(1MV、4フレームMV、2フィールドMV、4フィールドMV、およびイントラ)のうちの1つを、フィールド変換/フレーム変換/符号化ブロックなしイベントと統合的に符号化する。復号器は、対応する復号を行う。
マクロブロックの動き補償タイプ情報とフィールド/フレーム符号化タイプ情報とを統合的に符号化することは、特定のフィールド/フレーム符号化タイプが、所与の動き補償タイプのマクロブロックの特定のコンテキストにおいて発生する可能性がより高いという経験的な知識を利用している。そこで、可変長符号化を用いて、動き補償タイプとフィールド/フレーム符号化タイプとの、より可能性の高い組合せに、より短い符号を割り当てることが可能である。さらに柔軟性を高めるために、複数の可変長符号化テーブルを用いることが可能であり、符号化器が状況に応じてテーブルを切り替えることが可能である。したがって、マクロブロックの動き補償タイプ情報とフィールド/フレーム符号化タイプ情報とを統合的に符号化することは、そうしない場合にフィールド/フレーム符号化タイプをマクロブロックごとに別々に信号伝達するために用いられる符号化オーバーヘッドを切り詰めることが可能になる。
例えば、一部の実装形態では、符号化器は、マクロブロックについて、動き補償タイプ(例えば、1MV、4フレームMV、2フィールドMV、または4フィールドMV)とフィールド/フレーム符号化タイプ(例えば、フィールド、フレーム、または符号化ブロックなし)とを選択する。符号化器は、マクロブロックの動き補償タイプおよびフィールド/フレーム符号化タイプを統合的に符号化する。符号化器はさらに、他の情報を、動き補償タイプおよびフィールド/フレーム符号化タイプと統合的に符号化することが可能である。例えば、符号化器は、(例えば、1つの動きベクトルを有するマクロブロックについて)マクロブロックの差分動きベクトルが存在するかどうかを示す情報を統合的に符号化することが可能である。
復号器は、対応する復号を行う。例えば、図31は、一部の実装形態において、インターレースPフレームのマクロブロックの、統合的に符号化された動き補償タイプ情報およびフィールド/フレーム符号化タイプ情報を復号する手法3100を示している。3110で、復号器が、マクロブロックの動き補償タイプおよびフィールド/フレーム符号化タイプを表す統合符号(例えば、可変長符号化テーブルからの可変長符号)を含むマクロブロック情報を受け取る。3120で、復号器は、(例えば、可変長符号化テーブルで統合符号をルックアップすることにより)統合符号を復号して、マクロブロックの動き補償タイプ情報およびフィールド/フレーム符号化タイプ情報を取得する。
一実装形態では、マクロブロック・レベルのビットストリーム要素MBMODEは、マクロブロックのタイプ(1MV、4フレームMV、2フィールドMV、4フィールドMV、またはイントラ)、インター符号化されたマクロブロックのフィールド/フレーム符号化タイプ(フィールド、フレーム、または符号化ブロックなし)、および1MVマクロブロックの場合は差分動きベクトルが存在するかどうかを統合的に指定する。この例では、MBMODEは、15個の可能な値のうちの1つを取得することが可能である。非ゼロの1MV差分動きベクトルが存在するかどうかの信号伝達を<MVP>で表し、マクロブロックの残差が(1)フレーム符号化されているか、(2)フィールド符号化されているか、または(3)符号化されていないブロックか(すなわち、CBP=0か)の信号伝達を<Field/Frame transform>で表すと、MBMODEは、次の情報を統合的に信号伝達する。
Figure 0004921971
<1MV,MVP=0,CBP=0>というケースはMBMODEによっては信号伝達されないが、スキップ条件によって信号伝達される(このスキップ条件の信号伝達の例は、セクションV.A.で既に示した)。
この例では、インター符号化されたマクロブロックについて、MBMODEの<Field/frame Transform>が、符号化されたブロックがないことを示している場合には、CBPCYシンタックス要素は復号されない。一方、MBMODEの<Field/frame Transform>がフィールド変換またはフレーム変換を示している場合には、CBPCYが復号される。1MVではないインター符号化されたマクロブロックの場合は、どの差分動きベクトルが非ゼロかを示すために追加フィールドが送られる。2フィールドMVマクロブロックの場合は、2つの動きベクトルのうちのどれが非ゼロの差分動きベクトルを含むかを示すために2MVBPフィールドが送られる。同様に、4つの動きベクトルのうちのどれが非ゼロの差分動きベクトルを含むかを示すために4MVBPフィールドが送られる。イントラ符号化されたマクロブロックの場合は、フィールド/フレーム符号化タイプと、符号化されていないブロックとが別々のフィールドで符号化される。
あるいは、符号化器/復号器は、動き補償タイプおよびフィールド/フレーム符号化タイプの様々な組合せによる統合符号化を用いる。さらに別の代替として、符号化器/復号器は、動きベクトル差分の存在以外の追加情報を統合的に符号化/復号する。
一部の実装形態では、符号化器/復号器は、いくつかの可変長符号テーブルの1つを用いてMBMODEを符号化するが、符号テーブルを適応的に切り替えることが可能である。例えば、一部の実装形態では、フレーム・レベルのシンタックス要素MBMODETABが、フレーム内のマクロブロックのMBMODEの復号に用いられるテーブルを示す2ビット・フィールドである。この例では、それらのテーブルが4つずつのテーブルの集合に分けられ、どのテーブルの集合が用いられるかは、そのフレームに対して4動きベクトル符号化が有効かどうかに依存する。
例示的なMBMODE可変長符号テーブル(例えば、各集合についてのテーブル0〜3−混在MVまたは1MV)を以下の表1〜8に示す。
Figure 0004921971
Figure 0004921971
Figure 0004921971
Figure 0004921971
Figure 0004921971
Figure 0004921971
Figure 0004921971
Figure 0004921971
VI.クロマ動きベクトルの導出における新機軸
記載の実施形態は、ルミナンス動きベクトルからクロマ動きベクトルを導出する手法およびツールを含む。記載の手法およびツールのいくつかは、フレーム符号化されたインターレース・ピクチャ(例えば、インターレースPフレーム、インターレースBフレーム、その他)におけるクロマ動きベクトルの導出に関連し、インターレース・フレーム符号化されたピクチャのレート/歪み性能を向上させる。記載の手法およびツールでは、クロマ動きベクトルは、明示的にはビットストリーム内で送られない。その代わりに、クロマ動きベクトルは、フレームのマクロブロックまたはブロックに関して符号化されて送られるルミナンス動きベクトルから導出される。
記載の実施形態は、限定されないが、以下を含む記載の手法およびツールの1つまたは複数を実装する。
1.符号化器/復号器が、マクロブロック内の各ルミナンス動きベクトルに対してクロマ動きベクトルを導出することにより、インターレース・フレーム符号化されたピクチャ(例えば、インターレースPフレーム、インターレースBフレーム、その他)におけるルミナンス動きベクトルとクロマ動きベクトルとの間の1対1対応を取得する。このクロマ動きベクトルを用いて、それぞれのクロマ・ブロックまたはクロマ・フィールドの動き補償が行われる。
2.(例えば、ルックアップ・テーブルを用いて)可変オフセットをサブサンプリング後のクロマ動きベクトルに加算することによって、対応するマクロブロックがフィールド符号化されている場合に、符号化器/復号器が、ルミナンス動きベクトルとクロマ動きベクトルとの間の結合を維持する。
記載の手法はインターレース・ビデオの4:2:0マクロブロック・フォーマットに当てはまるが、記載の手法は、他のマクロブロック・フォーマット(例えば、4:2:2、4:4:4、その他)および他の種類のビデオにも適用可能である。記載の手法およびツールは、互いに組み合わせて用いたり、他の手法およびツールと組み合わせて用いたり、単独で用いたりすることが可能である。
A.1対1クロマ動きベクトル対応
一部の実装形態では、符号化器/復号器は、マクロブロックを予測するために用いるルミナンス動きベクトルと同じ数の、クロマ動きベクトルを導出して用い、そのマクロブロックを予測する。例えば、所与のマクロブロックについて、符号化器/復号器が1つ、2つ、または4つのルミナンス・フィールド(またはフレーム)タイプの動きベクトルを用いる場合、符号化器/復号器は、そのマクロブロックについて、それぞれ1つ、2つ、または4つのクロマ動きベクトルを導出する。そのような手法は、(例えば、プログレッシブ・フレームまたはインターレースPフレームのコンテキストで)従来の符号化器および復号器と異なり、従来の符号化器または復号器では、各マクロブロックにルミナンス動きベクトルがいくつあっても、それら(例えば、1つまたは4つ)から、常に単一のクロマ動きベクトルを導出していた。
図32は、マクロブロックの複数のルミナンス動きベクトルのそれぞれについてクロマ動きベクトルを導出する手法3200を示すフローチャートである。3210で、符号化器/復号器が、マクロブロックの複数のルミナンス動きベクトルを受け取る。3220で、符号化器/復号器は、複数のルミナンス動きベクトルのそれぞれについてクロマ動きベクトルを導出する。導出されるクロマ動きベクトルの数は、現在のマクロブロックの予測に用いられるルミナンス動きベクトルの数によって異なる。
一部の実装形態では、符号化器/復号器は、1MVマクロブロックについては1つのクロマ動きベクトルを、2フィールドMVマクロブロックについては2つのフィールド・クロマ動きベクトルを、4フレームMVマクロブロックについては4つのフレーム・クロマ動きベクトルを、4フィールドMVマクロブロックについては4つのフィールド・クロマ動きベクトルを導出する。
例えば、図23〜25を再度参照すると、図23は、2フィールドMVマクロブロックのルミナンス動きベクトルから導出される、対応するトップ・フィールド・クロマ動きベクトルおよびボトム・フィールド・クロマ動きベクトルを示している。導出されたトップ・フィールド・クロマ動きベクトルおよびボトム・フィールド・クロマ動きベクトルは、クロマ・ブロックのそれぞれ偶数ラインおよび奇数ラインの変位を表す。
図24は、4フレームMVマクロブロックの4つのブロックのそれぞれのフレーム・ルミナンス動きベクトルから導出される、対応するフレーム・クロマ動きベクトル(MV1’、MV2’、MV3’、およびMV4’)を示している。導出された4つのクロマ動きベクトルは、4つの4×4クロマ・サブブロックのそれぞれの変位を表す。
図25は、4フィールドMVマクロブロックのフィールド・ルミナンス動きベクトルから導出される、対応するフィールド・クロマ動きベクトルを示している。2つのフィールド・クロマ動きベクトルは、クロマ・ブロックの各フィールドの変位を表す。クロマ・ブロックのラインが縦にさらに分割されて2つの4×8領域が形成され、各領域は、インターリーブしている、トップ・フィールド・ラインの4×4領域とボトム・フィールド・ラインの4×4領域とからなる。トップ・フィールド・ラインについては、左側の4×4領域の変位がトップ左フィールド・クロマ・ブロック動きベクトルによって表され、右側の4×4領域の変位がトップ右フィールド・クロマ・ブロック動きベクトルによって表される。ボトム・フィールド・ラインについては、左側の4×4領域の変位がボトム左フィールド・クロマ・ブロック動きベクトルによって表され、右側の4×4領域の変位がボトム右フィールド・クロマ・ブロック動きベクトルによって表される。
クロマ・ブロックの各領域は、導出された動きベクトルを用いて動き補償されることが可能である。これによって、クロマ動き補償の分解度を従来の符号化器および復号器より高めることが可能である(従来の符号化器および復号器では、一般にサブサンプリング(「ダウンサンプリング」とも呼ばれる)および/または平均によって、ルミナンス動きベクトルがいくつあってもそれらから単一のクロマ動きベクトルを導出していた(例えば、マクロブロックの4つのルミナンス動きベクトルから1つのクロマ動きベクトルが導出されていた))。
あるいは、符号化器/復号器は、様々な数およびタイプのルミナンス動きベクトルからクロマ動きベクトルを導出することが可能である(例えば、2つのフレーム・ルミナンス動きベクトルを用いて符号化されたマクロブロックから2つのフレーム・クロマ動きベクトル、5つ以上のルミナンス動きベクトルを用いて符号化されたマクロブロックから5つ以上のクロマ動きベクトル、その他)。または、マクロブロックのルミナンス動きベクトルの数との1対1対応を維持しながら、他の何らかの方法でクロマ動きベクトルを導出することも可能である。
B.フィールド符号化されたマクロブロックにおけるフィールド・ベースの丸め
一部の実装形態では、符号化器/復号器が、フィールド符号化されたマクロブロックのクロマ動きベクトル導出時に、フィールド・ベースの丸めを用いてルミナンス動きベクトルとクロマ動きベクトルとの間の結合を維持する。
ルミナンス・フレーム動きベクトルまたはルミナンス・フィールド動きベクトルに対し、符号化器/復号器は、対応するクロマ・フレーム動きベクトルまたはクロマ・フィールド動きベクトルを導出して、クロマ(Cb/Cr)ブロックの一部(および場合によってはすべて)について動き補償を行う。一部の実装形態では、インターレース・フレーム符号化されたピクチャ(例えば、インターレースPフレーム、インターレースBフレーム、その他)のクロマ動きベクトル導出は、丸めとサブサンプリングとを含む。例えば、符号化器/復号器は、ルミナンス・フィールド動きベクトルからクロマ動きベクトルを導出する際に、サブサンプリング後のクロマ動きベクトルに(例えば、ルックアップ・テーブルを用いて)可変オフセットを加算する。
図33は、フィールド・ベースの丸めルックアップ・テーブルを用いてマクロブロックのクロマ動きベクトルを導出する手法3300を示すフローチャートである。3310で、符号化器/復号器が、(例えば、4:2:0マクロブロック・フォーマットの場合はy成分値を2で割ることによって)ルミナンス・フィールド動きベクトル成分をサブサンプリングする。3320で、符号化器/復号器は、フィールド・ベースの丸めルックアップ・テーブルを用いて丸めを実行する。
図34の擬似コード3400は、一実装形態において4:2:0マクロブロックのルミナンス動きベクトル成分(LMV,LMV)からクロマ動きベクトル成分(CMV,CMV)がどのように導出されるかを示している。擬似コード3400に示されるように、符号化器/復号器は、水平方向のサブサンプリングを行う前に、(丸めルックアップ・テーブルs_RndTbl[]を用いる)単純な丸めストラテジを用いて、動きベクトルのx成分の3/4画素位置を切り上げる。符号化器/復号器は、マクロブロックがフレーム符号化されている場合には、y成分の垂直方向のサブサンプリングを行う前に同じ丸めルックアップ・テーブルを用いる。一方、マクロブロックがフィールド符号化されている場合は、符号化器/復号器によるクロマ動きベクトルのy成分の処理のしかたが異なる。フィールド符号化されているマクロブロックでは、クロマ動きベクトルがトップ・フィールドまたはボトム・フィールドに対応する。トップ・フィールドおよびボトム・フィールドは、それぞれ、クロマ・ブロックの互い違いの水平ラインを含む。したがって、このケースでは、符号化器/復号器は、擬似コード3400に示されたフィールド・ベースの丸めルックアップ・テーブルs_RndTblField[]を用いる。フィールド・ベースの丸めルックアップ・テーブルを用いることにより、符号化器/復号器は、丸めを行いながら正しいフィールド・オフセットを維持することが可能であり、それによって、ルミナンス動きベクトルおよびクロマ動きベクトルが一貫したフィールド・オフセットにマッピングされる。例えば、図35に示すように、s_RndTblField[]の値0,0,1,2および2,2,3,8(図35のトップ・フィールド値3510)がマクロブロックの一方のフィールド(例えば、トップ・フィールド)に適用され、値4,4,5,6および6,6,7,12(図35のボトム・フィールド値3520)がマクロブロックのもう一方のフィールド(例えば、ボトム・フィールド)に適用される。
あるいは、符号化器/復号器は、別のフィールド・ベースの丸めルックアップ・テーブルを用いるか、他の何らかの方法で丸めおよび/またはサブサンプリングを行うことも可能である。例えば、符号化器/復号器がマクロブロックを別のフォーマットで処理する場合は、別のサブサンプリング係数および/またはルックアップ・テーブル値を用いることが可能である。
VII.複合実装形態
主たる複合実装形態とは若干の差異がある代替複合実装形態に加えて、ビットストリーム・シンタックス、セマンティクス、および復号器に関する詳細な複合実装形態について説明する。
A.ビットストリーム・シンタックス
様々な複合実装形態において、インターレース・ピクチャのデータが、複数のレイヤ(例えば、シーケンス、エントリ・ポイント、フレーム、フィールド、マクロブロック、ブロック、および/またはサブブロック・レイヤ)を有するビットストリームの形で表される。
シンタックス図では、シンタックス要素の可能なフローが、矢印のパスで示される。四角いエッジの境界で示されたシンタックス要素は、固定長シンタックス要素を表す。丸みのある境界で示されたシンタックス要素は、可変長シンタックス要素を表す。丸みのある外側の境界とその内側の丸みのある境界とで示されたシンタックス要素は、より単純なシンタックス要素で構成されたシンタックス要素(例えば、ビット・プレーン)を表す。固定長シンタックス要素は、シンタックス要素の長さがシンタックス要素自体のデータに依存しないシンタックス要素として定義される。固定長シンタックス要素の長さは、一定であるか、シンタックスフローの先行データによって決定される。レイヤ図の下位レイヤ(例えば、フレーム・レイヤ図のマクロブロック・レイヤ)は、矩形内の矩形によって表される。
エントリ・ポイント・レベルのビットストリーム要素を図36に示す。一般にエントリ・ポイントは、復号器が復号を開始することが可能な、ビットストリーム内の位置(例えば、Iフレームまたは他のキー・フレーム)をマーキングする。言い換えると、ビットストリーム内のエントリ・ポイントより後のピクチャを復号することに、エントリ・ポイントより前のピクチャは不要である。エントリ・ポイント・ヘッダを用いて、符号化制御パラメータ(例えば、エントリ・ポイントの後のフレームに対して圧縮ツール(例えば、ループ内デブロッキング・フィルタリング)を有効にするか無効にするか)の変更を信号伝達することが可能である。
インターレースPフレームおよびBフレームの場合のフレーム・レベルのビットストリーム要素を、それぞれ図37および38に示す。各フレームのデータは、フレーム・ヘッダと、それに続くマクロブロック・レイヤ用データ(イントラ・タイプのマクロブロック用、または各種インター・タイプのマクロブロック用)とからなる。インターレースPフレームのマクロブロック・レイヤを構成するビットストリーム要素(イントラ・タイプのマクロブロック用、または各種インター・タイプのマクロブロック用)を図40に示す。インターレースPフレームのマクロブロック・レイヤのビットストリーム要素は、他のインターレース・ピクチャ(例えば、インターレースBフレーム、インターレースPフィールド、インターレースBフィールド、その他)のマクロブロックについて存在することが可能である。
インターレースPフィールドおよび/またはBフィールドを有するインターレース・ビデオ・フレームの場合の、フレーム・レベルのビットストリーム要素を図39に示す。各フレームのデータは、フレーム・ヘッダと、それに続く(フィールドごとに「FieldPicLayer」要素として繰り返し示される)フィールド・レイヤ用データおよびマクロブロック・レイヤ用データ(イントラ、1MV、または4MVのマクロブロック用)とからなる。
以下のセクションでは、フレーム・レイヤおよびマクロブロック・レイヤにおいてインターレース・ピクチャの信号伝達に関連する被選択ビットストリーム要素について説明する。被選択ビットストリーム要素について、特定のレイヤのコンテキストで説明するが、複数のレイヤで用いられることが可能なビットストリーム要素もある。
1.被選択エントリ・ポイント・レイヤ要素
ループ・フィルタ(LOOPFILTER)(1ビット)
LOOPFILTERは、エントリ・ポイント・セグメントについてループ・フィルタリングが有効になっているかどうかを示すBooleanフラグである。LOOPFILTER=0であれば、ループ・フィルタリングは有効になっていない。LOOPFILTER=1であれば、ループ・フィルタリングは有効になっている。代替複合実装形態では、LOOPFILTERはシーケンス・レベルの要素である。
拡張動きベクトル(EXTENDED_MV)(1ビット)
EXTENDED_MVは、拡張動きベクトルがオンになっているか(値1)、オフになっているか(値0)を示す、1ビットのシンタックス要素である。EXTENDED_MVは、PフレームおよびBフレームにおいて(シンタックス要素MVRANGEによってフレーム・レベルで信号伝達される)拡張動きベクトルが可能かどうかを示す。
拡張差分動きベクトル範囲(EXTENDED_DMV)(1ビット)
EXTENDED_DMVは、EXTENDED_MV=1の場合に存在する、1ビットのシンタックス要素である。EXTENDED_DMVが1であれば、拡張差分動きベクトル範囲(DMVRANGE)が、エントリ・ポイント・セグメント内で、PフレームおよびBフレームのフレーム・レイヤにおいて信号伝達される。EXTENDED_DMVが0であれば、DMVRANGEは信号伝達されない。
高速UV動き補償(FASTUVMC)(1ビット)
FASTUVMCは、クロマ動きベクトルの端数画素補間および丸めを制御するBooleanフラグである。FASTUVMC=1であれば、1/4画素オフセットにあるクロマ動きベクトルが、最も近い1/2画素位置またはフル画素位置に丸められる。FASTUVMC=0であれば、クロマに関して特別な丸めやフィルタリングが行われない。FASTUVMCシンタックス要素は、インターレースPフレームおよびインターレースBフレームにおいて無視される。
可変サイズ変換(VSTRANSFORM)(1ビット)
VSTRANSFORMは、シーケンスについて可変サイズ変換符号化が有効になっているかどうかを示すBooleanフラグである。VSTRANSFORM=0であれば、可変サイズ変換符号化が有効になっていない。VSTRANSFORM=1であれば、可変サイズ変換符号化が有効になっている。
2.被選択フレーム・レイヤ要素
図37および図38は、それぞれ、インターレースPフレームおよびインターレースBフレームのフレーム・レベルのビットストリーム・シンタックスを示す図である。図39は、インターレースPフィールド、および/またはBフィールド(または場合によって他の種類のインターレース・フィールド)を含むフレームのフレーム・レイヤのビットストリーム・シンタックスを示す図である。以下、個々のビットストリーム要素について説明する。
フレーム符号化モード(FCM)(可変サイズ)
FCMは、ピクチャ符号化タイプを示すために用いられる可変長符号ワード[「VLC」]である。FCMは、フレーム符号化モードについて、次の表9に示す値をとる。
Figure 0004921971
フィールド・ピクチャ・タイプ(FPTYPE)(3ビット)
FPTYPEは、インターレースPフィールドおよび/またはインターレースBフィールド、および場合によって他の種類のフィールドを含むフレームのフレーム・ヘッダに存在する、3ビットのシンタックス要素である。FPTYPEは、インターレース・ビデオ・フレームのフィールド・タイプの様々な組合せについて、次の表10に従う値をとる。
Figure 0004921971
ピクチャ・タイプ(PTYPE)(可変サイズ)
PTYPEは、インターレースPフレームおよびインターレースBフレーム(または、インターレースIフレームなど、他の種類のインターレース・フレーム)のフレーム・ヘッダに存在する、可変サイズのシンタックス要素である。PTYPEは、様々なフレーム・タイプについて、次の表11に従う値をとる。
Figure 0004921971
フレームがスキップされていることをPTYPEが示している場合、そのフレームは、その参照フレームと同一のPフレームとして扱われる。スキップ・フレームを再構成することは、概念的には、参照フレームをコピーすることと等価である。スキップ・フレームは、このフレームに関してさらなるデータが伝送されないことを意味する。
UVサンプリング・フォーマット(UVSAMP)(1ビット)
UVSAMPは、シーケンス・レベル・フィールドINTERLACE=1の場合に存在する、1ビットのシンタックス要素である。UVSAMPは、現在のフレームに用いられるクロマ・サブサンプリングのタイプを示す。UVSAMP=1の場合は、クロマのプログレッシブ・サブサンプリングが用いられ、そうでない場合は、クロマのインターレース・サブサンプリングが用いられる。このシンタックス要素は、ビットストリームの復号には影響しない。
拡張MV範囲(MVRANGE)(可変サイズ)
MVRANGEは、エントリ・ポイント・レイヤのEXTENDED_MVビットが1に設定されている場合に存在する、可変サイズのシンタックス要素である。MVRANGE VLCは、動きベクトル範囲を表す。
拡張差分MV範囲(DMVRANGE)(可変サイズ)
DMVRANGEは、エントリ・ポイント・レイヤのシンタックス要素EXTENDED_DMVが1の場合に存在する、可変サイズのシンタックス要素である。DMVRANGE VLCは、動きベクトル差分範囲を表す。
4動きベクトル切り換え(4MVSWITCH)(可変サイズまたは1ビット)
インターレースPフレームの場合、4MVSWITCHシンタックス要素は1ビットのフラグである。4MVSWITCHがゼロに設定されている場合、ピクチャ内のマクロブロックは、フレーム符号化されている場合には動きベクトルを1つだけ有し、フィールド符号化されている場合は動きベクトルを2つだけ有する。4MVSWITCHが1に設定されている場合は、マクロブロックごとに1つ、2つ、または4つの動きベクトルが存在することが可能である。
スキップ・マクロブロック復号(SKIPMB)(可変サイズ)
インターレースPフレームの場合、SKIPMBシンタックス要素は、ピクチャ内の各マクロブロックのスキップ/非スキップ・ステータスを示す情報を格納する圧縮されたビット・プレーンである。復号されたビット・プレーンは、各マクロブロックのスキップ/非スキップステータスを1ビット値で表す。値0は、そのマクロブロックがスキップされていないことを表す。値1は、そのマクロブロックがスキップされたとして符号化されていることを表す。インターレースPフレームのマクロブロックの、スキップされたというステータスは、復号器がそのマクロブロックを、動きベクトル差分がゼロであって、符号化されたブロック・パターンがゼロである1MVとして扱うことを意味する。スキップ・マクロブロックについては、その他の情報がその後に続くことは見込まれていない。
マクロブロック・モード・テーブル(MBMODETAB)(2または3ビット)
MBMODETABシンタックス要素は、固定長フィールドである。インターレースPフレームの場合、MBMODETABは、マクロブロック・レイヤのマクロブロック・モード・シンタックス要素(MBMODE)を復号するために4つの符号テーブルのうちのどの1つを用いるかを示す2ビット値である。4つの符号テーブルの集合は2つあり、どの集合を用いるかは、4MVSWITCHフラグで示される、4MVが用いられているかどうかによって決まる。
動きベクトル・テーブル(MVTAB)(2または3ビット)
MVTABシンタックス要素は、固定長フィールドである。インターレースPフレームの場合、MVTABは、マクロブロック・レイヤのMVDATAシンタックス要素を符号化するために4つのプログレッシブ(または1つの参照)動きベクトル符号テーブルのうちのどれが用いられているかを示す、2ビットのシンタックス要素である。
2MVブロック・パターン・テーブル(2MVBPTAB)(2ビット)
2MVBPTABシンタックス要素は、2フィールドMVマクロブロックの2MVブロック・パターン(2MVBP)シンタックス要素を復号するために4つの符号テーブルのうちのどれを用いるかを信号伝達する2ビット値である。
4MVブロック・パターン・テーブル(4MVBPTAB)(2ビット)
4MVBPTABシンタックス要素は、4MVマクロブロックの4MVブロック・パターン(4MVBP)シンタックス要素を復号するために4つの符号テーブルのうちのどれを用いるかを信号伝達する2ビット値である。インターレースPフレームの場合は、4MVSWITCHシンタックス要素が1に設定する場合に存在する。
マクロブロック・レベル変換タイプフラグ(TTMBF)(1ビット)
このシンタックス要素は、シーケンス・レベルのシンタックス要素VSTRANSFORMが1の場合に、PフレームおよびBフレームに存在する。TTMBFは、フレーム・レベルまたはマクロブロック・レベルで変換タイプの符号化が有効になっているかどうかを信号伝達する、1ビットのシンタックス要素である。TTMBF=1であれば、フレーム内のすべてのブロックについて同じ変換タイプが用いられる。この場合は、その後のフレーム・レベル変換タイプ(TTFRM)シンタックス要素で変換タイプが信号伝達される。TMBF=0の場合、変換タイプは、フレーム全体を通して変わる可能性があり、マクロブロック・レベルまたはブロック・レベルで信号伝達される。
フレーム・レベル変換タイプ(TTFRM)(2ビット)
このシンタックス要素は、VSTRANSFORM=1かつTTMBF=1の場合に、PフレームおよびBフレームに存在する。TTFRMは、予測ブロックの8×8画素誤差信号の変換に用いられる変換タイプを信号伝達する。8×8誤差ブロックは、1つの8×8変換、2つの8×4変換、2つの4×8変換、または4つの4×4変換を用いて変換されることが可能である。
3.被選択マクロブロック・レイヤ要素
図40は、複合実装形態における、インターレースPフレームのマクロブロックのマクロブロック・レベルのビットストリーム・シンタックスを示す図である。以下、個々のビットストリーム要素について説明する。マクロブロック用データは、マクロブロック・ヘッダとそれに続くブロック・レイヤ・データとからなる。インターレースPフレームのマクロブロック・レイヤにあるビットストリーム要素(例えば、SKIPMBBIT)は、場合によって、他のインターレース・ピクチャ(例えば、インターレースBフレーム、その他)のマクロブロックについても存在することが可能である。
スキップMBビット(SKIPMBBIT)(1ビット)
SKIPMBBITは、rawモードが用いられていることを、フレーム・レベルのシンタックス要素SKIPMBが示している場合に、インターレースPフレームおよびインターレースBフレームのマクロブロックに存在する、1ビットのシンタックス要素である。SKIPMBBIT=1の場合は、そのマクロブロックがスキップされている。SKIPMBBITは、マクロブロック・レベルにおいてSKIPMBとしてラベル付けされる場合もある。
マクロブロック・モード(MBMODE)可変サイズ
MBMODEは、マクロブロック・タイプ(例えば、1MV、2フィールドMV、4フィールドMV、4フレームMV、またはイントラ)、フィールド/フレーム符号化タイプ(例えば、フィールド、フレーム、または符号化ブロックなし)、および1MVマクロブロックに対する差分動きベクトル・データの存在、を統合的に指定する、可変サイズのシンタックス要素である。MBMODEについては、以下およびセクションVで詳述している。
2MVブロック・パターン(2MVBP)(可変サイズ)
2MVBPは、インターレースPフレームおよびインターレースBフレームのマクロブロックに存在する、可変サイズのシンタックス要素である。インターレースPフレームのマクロブロックでは、2MVBPは、マクロブロックが2つのフィールド動きベクトルを有することをMBMODEが示している場合に存在する。この場合、2MVBPは、2つのルミナンス・ブロックのうちのどれが非ゼロの動きベクトル差分を含むかを示す。
4MVブロック・パターン(4MVBP)(可変サイズ)
4MVBPは、インターレースPフィールド、インターレースBフィールド、インターレースPフレーム、およびインターレースBフレームのマクロブロックに存在する、可変サイズのシンタックス要素である。インターレースPフレームでは、4MVBPは、マクロブロックが4つのフィールド動きベクトルを有することをMBMODEが示している場合に存在する。この場合、4MVBPは、4つのルミナンス・ブロックのうちのどれが非ゼロの動きベクトル差分を含むかを示す。
フィールド変換フラグ(FIELDTX)(1ビット)
FIELDTXは、インターレースBフレームのイントラ符号化されたマクロブロックに存在する、1ビットのシンタックス要素である。このシンタックス要素は、マクロブロックがフレーム符号化されているか、フィールド符号化されているか(基本的には、マクロブロックの内部構成)を示す。FIELDTX=1は、マクロブロックがフィールド符号化されていることを示す。そうでない場合、マクロブロックはフレーム符号化されている。インター符号化されたマクロブロックでは、このシンタックス要素は、MBMODEから推測されることが可能である(これについては、以下およびセクションVで詳述している)。
CBP存在フラグ(CBPPRESENT)(1ビット)
CBPPRESENTは、インターレースPフレームおよびインターレースBフレームのイントラ符号化されたマクロブロックに存在する、1ビットのシンタックス要素である。CBPPRESENTが1であれば、CBPCYシンタックス要素がそのマクロブロックについて存在し、復号される。CBPPRESENTが0であれば、CBPCYシンタックス要素は存在せず、ゼロに設定されなければならない。
符号化されたブロック・パターン(CBPCY)(可変サイズ)
CBPCYは、マクロブロックの各ブロックの変換係数ステータスを示す可変長シンタックス要素である。CBPCYは、対応するブロックについて係数が存在するかどうかを示す6ビット・フィールドに復号される。イントラ符号化されたマクロブロックの場合、各ビット位置の値0は、対応するブロックに非ゼロのAC係数がまったく含まれないことを示す。値1は、少なくとも1つの非ゼロのAC係数が存在することを示す。DC係数は、どの場合でも、各ブロックについて存在する。インター符号化されたマクロブロックの場合、各ビット位置の値0は、対応するブロックに非ゼロの係数がまったく含まれないことを示す。値1は、少なくとも1つの非ゼロの係数が存在することを示す。ビットが0の場合は、そのブロックについて符号化されるデータがない。
動きベクトル・データ(MVDATA)(可変サイズ)
MVDATAは、マクロブロックの動きベクトルの差分を符号化する、可変サイズのシンタックス要素である。復号については後で詳述する。
MBレベル変換タイプ(TTMB)(可変サイズ)
TTMBは、ピクチャ・レイヤのシンタックス要素TTMBFが0の場合に、PピクチャおよびBピクチャのマクロブロックに存在する、可変サイズのシンタックス要素である。TTMBは、変換タイプ、変換タイプ信号レベル、およびサブブロック・パターンを指定する。
B.インターレースPフレームの復号
複合実装形態においてインターレースPフレームを復号する処理について説明する。
1.インターレースPフレームのマクロブロック・レイヤの復号
インターレースPフレームでは、1つまたは4つの動きベクトルを用いるフレーム・モードで、あるいは、2つまたは4つの動きベクトルを用いるフィールド・モードで、各マクロブロックを動き補償することが可能である。インター符号化されているマクロブロックは、イントラ・ブロックを含まない。さらに、動き補償後の残差は、フレーム変換モードまたはフィールド変換モードで符号化されることが可能である。より具体的には、残差のルミナンス成分は、フィールド変換モードで符号化されている場合にはフィールドに従って再配置されるが、フレーム変換モードの場合には変更されずに残り、クロマ成分も同じまま残る。マクロブロックは、イントラとして符号化されることも可能である。
動き補償を、4つの(フィールドおよびフレームの両方の)動きベクトルを含まないように制限することが可能である。この制限については4MVSWITCHで信号伝達される。動き補償および残差符号化のタイプは、マクロブロックごとに、MBMODEおよびSKIPMBによって統合的に示される。MBMODEは、4MVSWITCHに従って、テーブルの様々な集合を用いる。
インターレースPフレームのマクロブロックは、5つのタイプ(1MV、2フィールドMV、4フレームMV、4フィールドMV、およびイントラ)に分類される。これら5つのタイプについては、セクションIIIで詳述した。最初の4つのタイプのマクロブロックはインター符号化され、最後のタイプは、マクロブロックがイントラ符号化されていることを示す。マクロブロック・タイプは、マクロブロック・レイヤにおいて、スキップ・ビットとともに、MBMODEシンタックス要素によって信号伝達される(マクロブロックのスキップ条件は、圧縮されたビット・プレーンのフレーム・レベルで信号伝達されることも可能である)。MBMODEは、様々なタイプのマクロブロックについて、マクロブロック・タイプを、そのマクロブロックに関する様々な情報とともに統合的に符号化する。
スキップ・マクロブロックの信号伝達
マクロブロック・レベルのSKIPMBBITフィールドは、マクロブロックのスキップ条件を示す(スキップ条件および対応する信号伝達の詳細については、セクションVで説明した)。SKIPMBBITフィールドが1であれば、現在のマクロブロックはスキップされていることが伝えられ、SKIPMBBITフィールドの後に他の情報が送られない。フレーム・レベルでは、SKIPMBフィールドは、(rawモードで)マクロブロック・レベルでのSKIPMBBITの存在を示し、あるいは圧縮されたビット・プレーンの形でスキップ情報を格納する。復号されたビット・プレーンは、マクロブロックごとに1ビットを含み、各ビットがそれぞれのマクロブロックのスキップ条件を示す)。スキップ条件は、現在のマクロブロックが、ゼロ差分動きベクトルを有する1MVであること(すなわち、マクロブロックがその1MV動きプレディクタによって動き補償されていること)、および符号化されたブロックがないこと(CBP=0)を意味する。代替複合実装形態では、残差は、ループ・フィルタリングに用いるためにフレーム符号化されていると見なされる。
これに対し、SKIPMBフィールドが1でない場合は、MBMODEフィールドが、マクロブロックのタイプと現在のマクロブロックに関する他の情報(後のセクションで説明する情報など)とを示すように復号される。
マクロブロック・モードの信号伝達
MBMODEは、マクロブロック・タイプ(1MV、4フレームMV、2フィールドMV、4フィールドMV、またはイントラ)、インター符号化されたマクロブロックの変換タイプ(すなわち、フィールド、フレーム、または符号化ブロックなし)、および1MVマクロブロックの場合は差分動きベクトルが存在するかどうかを統合的に指定する(マクロブロック情報の信号伝達の詳細については、セクションVで説明した)。MBMODEは、以下のように、15個の可能な値のうちの1つをとりことができる。
非ゼロの1MV差分動きベクトルが存在するかどうかの信号伝達を<MVP>で表し、マクロブロックの残差が(1)フレーム変換符号化されているか、(2)フィールド変換符号化されているか、または(3)ゼロの符号化ブロックか(すなわち、CBP=0か)の信号伝達を<Field/Frame transform>で表すと、MBMODEは、次の情報を統合的に信号伝達する。
Figure 0004921971
<1MV,MVP=0,CBP=0>というケースはMBMODEによっては信号伝達されないが、スキップ条件によって信号伝達される
インター符号化されたマクロブロックについて、MBMODEの<Field/frame Transform>が、符号化されたブロックがないことを示している場合には、CBPCYシンタックス要素は復号されない。一方、MBMODEの<Field/frame Transform>がフィールド変換またはフレーム変換を示している場合には、CBPCYは復号される。復号された<Field/frame Transform>を用いて、フラグFIELDTXが設定される。FIELDTXは、マクロブロックがフィールド変換符号化されていることを示す場合には1に設定される。マクロブロックがフレーム変換符号化されていることを示す場合には、FIELDTXは0に設定される。ゼロの符号化ブロックを示す場合、FIELDTXは、動きベクトルと同じタイプに設定される(すなわち、動きベクトルがフィールド動きベクトルであればFIELDTXは1に設定され、フレーム動きベクトルであれば0に設定される)。
1MVではないインター符号化されたマクロブロックの場合は、どの差分動きベクトルが非ゼロかを示すために追加フィールドが送られる。2フィールドMVマクロブロックの場合は、2つの動きベクトルのうちのどれが非ゼロの差分動きベクトルを含むかを示すために2MVBPフィールドが送られる。同様に、4つの動きベクトルのうちのどれが非ゼロの差分動きベクトルを含むかを示すために4MVBPフィールドが送られる。
イントラ符号化されたマクロブロックの場合は、フィールド/フレーム変換タイプと、符号化されていないブロックとが別々のフィールドで符号化される。
2.インターレースPフレームの動きベクトルの復号
インターレースPフレームの動きベクトル・プレディクタ
現在のマクロブロックの動きベクトル・プレディクタを算出する処理は、2つのステップからなる。第1のステップでは、現在のマクロブロックに対する3つの候補動きベクトルを、現在のマクロブロックに隣接するマクロブロックから収集する。第2のステップでは、候補動きベクトルの集合から、現在のマクロブロックの動きベクトル・プレディクタを算出する。図26A〜26Bは、候補動きベクトルが収集される隣接マクロブロックを示している。候補動きベクトルを収集する順序は重要である。この複合実装形態では、収集の順序は、必ず、Aで始まり、Bを経て、Cで終わる。対応するブロックがフレーム境界の外側にある場合、または対応するブロックが別のスライスの一部である場合、プレディクタ候補は存在しないと見なされる。したがって、動きベクトル予測は、スライス境界にまたがっては実行されない。
以下のセクションでは、様々なタイプのマクロブロックについて候補動きベクトルがどのように収集されるか、および動きベクトル・プレディクタがどのように算出されるかについて説明する。
1MV候補動きベクトル
この複合実装形態では、図41の擬似コード4100を用いて、動きベクトルの、最大3つの候補動きベクトルが収集される。
4フレームMV候補動きベクトル
4フレームMVマクロブロックの場合は、現在のマクロブロックの4つのフレーム・ブロック動きベクトルのそれぞれについて、隣接するブロックから候補動きベクトルが収集される。この複合実装形態では、図42の擬似コード4200を用いて、左上フレーム・ブロック動きベクトル用の、最大3つの候補動きベクトルが収集され、図43の擬似コード4300を用いて、右上フレーム・ブロック動きベクトル用の、最大3つの候補動きベクトルが収集され、図44の擬似コード4400を用いて、左下フレーム・ブロック動きベクトル用の、最大3つの候補動きベクトルが収集され、図45の擬似コード4500を用いて、右下フレーム・ブロック動きベクトル用の、最大3つの候補動きベクトルが収集される。
2フィールドMV候補動きベクトル
2フィールドMVマクロブロックの場合は、現在のマクロブロックの2つのフィールド動きベクトルのそれぞれについて、隣接するブロックから候補動きベクトルが収集される。図46の擬似コード4600を用いて、トップ・フィールド動きベクトルの、最大3つの候補動きベクトルが収集され、図47の擬似コード4700を用いて、ボトム・フィールド動きベクトルの、最大3つの候補動きベクトルが収集される。
4フィールドMV候補動きベクトル
4フィールドMVマクロブロックの場合は、現在のマクロブロックの4つのフィールド・ブロックのそれぞれについて、隣接するブロックから候補動きベクトルが収集される。図48の擬似コード4800を用いて、左上フィールド・ブロック動きベクトル用の、最大3つの候補動きベクトルが収集され、図49の擬似コード4900を用いて、右上フィールド・ブロック動きベクトル用の、最大3つの候補動きベクトルが収集され、図50の擬似コード5000を用いて、左下フィールド・ブロック動きベクトル用の、最大3つの候補動きベクトルが収集され、図51の擬似コード5100を用いて、右下フィールド・ブロック動きベクトル用の、最大3つの候補動きベクトルが収集される。
平均フィールド動きベクトル
2つのフィールド動きベクトル(MVX,MVY)および(MVX,MVY)に対して、平均演算が行われて、次のように候補動きベクトル(MVX,MVY)が形成される。
MVX=(MVX+MVX+1)>>1
MVY=(MVY+MVY+1)>>1
候補動きベクトルからのフレームMVプレディクタの算出
このセクションでは、ある候補動きベクトルの集合に対してフレーム動きベクトルの動きベクトル・プレディクタがどのように算出されるかについて説明する。この複合実装形態では、1MVについてプレディクタを算出する場合と、4フレームMVマクロブロックの4つのフレーム・ブロック動きベクトルのそれぞれについてプレディクタを算出する場合とで、演算は同じである。
図52の擬似コード5200は、フレーム動きベクトルに対して動きベクトル・プレディクタ(PMV,PMV)がどのように算出されるかを示している。擬似コード5200では、TotalValidMVは、候補動きベクトルの集合にある動きベクトルの総数を表しており(TotalValidMV=0、1、2、または3)、ValidMV配列は、候補動きベクトルの集合にある動きベクトルを表している。
候補動きベクトルからのフィールドMV・プレディクタの算出
このセクションでは、複合実装形態において、候補動きベクトルの集合に対してフィールド動きベクトルの動きベクトル・プレディクタがどのように算出されるかについて説明する。この複合実装形態では、2フィールドMVマクロブロックの2つのフィールド動きベクトルのそれぞれについてプレディクタを算出する場合と、4フィールドMVマクロブロックの4つのフィールド・ブロック動きベクトルのそれぞれについてプレディクタを算出する場合とで同じ演算を行う。
まず、候補動きベクトルは2つの集合に分けられる。一方の集合には、現在のフィールドと同じフィールドをポイントする候補動きベクトルだけが含まれ、もう一方の集合には、反対のフィールドをポイントする候補動きベクトルが含まれる。候補動きベクトルが1/4画素単位で表現されていると仮定すると、そのy成分を次のように調べることにより、候補動きベクトルが同じフィールドをポイントしているかどうかが確認される。
Figure 0004921971
図53の擬似コード5300は、フィールド動きベクトルに対して動きベクトル・プレディクタ(PMV,PMV)がどのように算出されるかを示している。擬似コード5300では、SameFieldMVおよびOppFieldMVが、候補動きベクトルの2つの集合を表し、NumSameFieldMVおよびNumOppFieldMVが、各集合に属する候補動きベクトルの数を表す。各集合の候補動きベクトルの順序は、候補Aが存在すれば候補Aから始まり、候補Bが存在すれば候補Bがそれに続き、候補Cが存在すれば候補Cがその次である。例えば、集合SameFieldMVが候補Bおよび候補Cだけを含む場合は、SameFieldMV[0]が候補Bである。
動きベクトル差分の復号
MVDATAシンタックス要素は、マクロブロックの動きベクトル差分情報を含む。各マクロブロックにおいて信号伝達される動き補償および動きベクトル・ブロック・パターンのタイプに応じて、マクロブロックごとに0〜4つのMVDATAシンタックス要素が存在可能である。より具体的には、 ・ 1MVマクロブロックの場合は、MBMODEのMVPフィールドに応じてゼロまたは1つのMVDATAシンタックス要素が存在可能である。
・ 2フィールドMVマクロブロックの場合は、2MVBPに応じて、ゼロ、1つ、または2つのMVDATAシンタックス要素が存在可能である。
・ 4フレーム/フィールドMVマクロブロックの場合は、4MVBPに応じて、ゼロ、1つ、2つ、3つ、または4つのMVDATAシンタックス要素が存在可能である。
この複合実装形態では、動きベクトル差分は、インターレースPフィールドの1つの参照フィールド動きベクトル差分と同じ方法で、1/2画素モードを用いずに復号される(図54Aの擬似コード5400は、1つの参照フィールドの動きベクトル差分がどのように復号されるかを示している。図54Bの擬似コード5410は、代替複合実装形態において、1つの参照フィールドの動きベクトル差分がどのように復号されるかを示している。擬似コード5410は、動きベクトル差分を別の方法で復号する。例えば、擬似コード5410は、拡張動きベクトル差分範囲の処理を省略している)。
動きベクトルの再構成
動きベクトル差分dmvに対し、ルミナンス動きベクトルは、次のように、差分をプレディクタに加算することによって再構成される。
mv_x=(dmv_x+predictor_x)smod range_x
mv_y=(dmv_y+predictor_y)smod range_y
smod演算は、再構成されたベクトルが有効であることを保証する。(A smod b)は、−b〜b−1の範囲に収まる。range_xおよびrange_yはMVRANGEに依存する。
ルミナンス・フレーム(またはフィールド)動きベクトルが与えられると、対応するクロマ・フレーム(またはフィールド)動きベクトルが導出され、それによって、クロマ(Cb/Cr)ブロックの一部(または場合によって、すべて)が補償される。FASTUVMCシンタックス要素は、インターレースPフレームおよびインターレースBフレームにおいて無視される。図34の擬似コード3400は、インターレースPフレームのルミナンス動きベクトルLMVからクロマ動きベクトルCMVがどのように導出されるかを示している。
C.ビット・プレーン符号化
スキップ・ビットなど、マクロブロック固有のバイナリ情報は、マクロブロックごとに1つのバイナリ・シンボルで符号化されることが可能である。例えば、マクロブロックがスキップされているかどうかを、1ビットで信号伝達することが可能である。このような場合は、フィールドまたはフレームのすべてのマクロブロックのステータスを、ビット・プレーンとして符号化し、フィールド・ヘッダまたはフレーム・ヘッダ内で伝送することが可能である。この規則の1つの例外は、ビット・プレーン符号化モードがRAWモード(Raw Mode)に設定されている場合である。この場合は、各マクロブロックのステータスが、シンボルごとに1ビットとして符号化され、マクロブロック・レベルの他のシンタックス要素とともにマクロブロック・レベルで伝送される。
フィールド/フレーム・レベルのビット・プレーン符号化は、2次元バイナリ配列を符号化するために用いられる。各配列のサイズはrowMB×colMBである。rowMBおよびcolMBは、それぞれ、該当するフィールドまたはフレームのマクロブロック行およびマクロブロック列の数である。各配列は、ビットストリーム内で、連続するビットの集合として符号化される。各配列の符号化には、7つのモードのうちの1つが用いられる。7つのモードは以下のとおりである。
1.rawモード−情報がシンボルごとに1ビットとして符号化され、MBレベル・シンタックスの一部として伝送される。
2.normal−2モード−2つのシンボルが統合的に符号化される。
3.differential−2モード−ビット・プレーンの差分符号化。この後に2つの残差シンボルが統合的に符号化される。
4.normal−6モード−6つのシンボルが統合的に符号化される。
5.differential−6モード−ビット・プレーンの差分符号化。この後に6つの残差シンボルが統合的に符号化される。
6.rowskipモード−セットされたビットがない行を信号伝達するための1ビット・スキップ。
7.columnskipモード−セットされたビットがない列を信号伝達するための1ビット・スキップ。
フィールドまたはフレームのレベルでのビット・プレーンのシンタックス要素のシーケンスは次のとおりである。INVERT、IMODE、およびDATABITS。
反転フラグ(INVERT)
INVERTシンタックス要素は、1ビット値であって、これがセットされている場合には、ビット・プレーンにおいて、セットされたビットがゼロ・ビットより多いことを示す。復号器は、解釈されたビット・プレーンを、INVERTおよびモードに応じて反転して、オリジナルを再作成する。rawモードが用いられる場合にはこのビットの値が無視されることに注意されたい。ビット・プレーンの復号にINVERT値がどのように用いられるかについては後述する。
符号化モード(IMODE)
IMODEシンタックス要素は、ビット・プレーンの符号化に用いられた符号化モードを示す可変長値である。表12は、IMODEシンタックス要素の符号化に用いられる符号テーブルを示す。ビット・プレーンの復号にIMODE値がどのように用いられるかについては後述する。
Figure 0004921971
ビット・プレーン符号化ビット(DATABITS)
DATABITSシンタックス要素は、ビット・プレーンのシンボルのストリームを符号化する、可変サイズのシンタックス要素である。ビット・プレーンの符号化に用いられる方法は、IMODEの値によって決定される。以下のセクションで、7つの符号化モードについて説明する。
Rawモード
このモードでは、ビット・プレーンは、マクロブロックのラスター・スキャン順序でスキャンされるシンボルごとに1ビットとして符号化され、マクロブロック・レイヤの一部として送られる。あるいは、この情報は、フィールドまたはフレーム・レベルでrawモードで符号化され、DATABITSの長さはrowMB×colMBビットである。
Normal−2モード
rowMB×colMBが奇数であれば、最初のシンボルは、符号化されたrawである。後続のシンボルは、普通のスキャン順序で、2つずつ符号化される。表13のバイナリVLCテーブルが、シンボル・ペアの符号化に用いられる。
Figure 0004921971
Diff−2モード
前述のように、ビット・プレーンを生成するためにNormal−2方法が用いられ、その後、後述するように、Diff−1演算がビット・プレーンに適用される。
Normal−6モード
Norm−6モードおよびDiff−6モードでは、ビット・プレーンが、6画素ずつの群の形で符号化される。これらの画素は、2×3または3×2のタイルにまとめられる。このビット・プレーンは、一連のルールを用いて最大限までタイル化され、残った画素は、rowskipモードおよびcolumnskipモードの変形を用いて符号化される。2×3の「垂直方向」タイルは、rowMBが3の倍数であって、colMBがそうでない場合に限って用いられる。それ以外の場合には、3×2の「水平方向」タイルが用いられる。図55Aは、2×3の「垂直方向」タイルの簡単な例を示す。図55Bおよび55Cは、3×2の「水平方向」のタイルの簡単な例を示す。この例では、細長い暗色の矩形が1画素幅であって、rowskip符号化およびcolumnskip符号化を用いて符号化される。図55Cに示すように、線状のタイルがピクチャの上端および左端に沿うようにタイル化された平面では、タイルの符号化順序は以下のパターンに従う。6個の要素のタイルが最初に符号化され、その後に、columnskip符号化およびrowskip符号化された線状タイルが続く。配列サイズが2×3または3×2の倍数の場合、後者の線状タイルは存在せず、ビット・プレーンは完全にタイル化される。
6個の要素の矩形タイルは、不完全なハフマン符号(すなわち、すべてのエンド・ノード(end nodes)を符号化に用いないハフマン符号)を用いて符号化される。タイル内のセットされたビットの数をNとする(すなわち、0≦N≦6)。N<3の場合は、VLCを用いてタイルが符号化される。N=3の場合は、固定長エスケープの後に5ビットの固定長符号が続き、N>3の場合は、固定長エスケープの後にタイルの補数の符号が続く。
矩形タイルは、6ビットの情報を含む。タイルに関連付けられた符号をkとする。ただし、k=bであり、bは、タイル内の普通のスキャン順序でのi番目のビットのバイナリ値である。したがって、0≦k<64である。VLCとエスケープ符号+固定長符号の組み合わせが、kの信号伝達に用いられる。
Diff−6モード
前述のように、ビット・プレーンを生成するためにNormal−6方法が用いられ、その後、前述のように、Diff−1演算がビット・プレーンに適用される。
Rowskipモード
rowskip符号化モードでは、すべてのゼロの行(row)が、1ビットのオーバーヘッドでスキップされる。シンタックスは以下のとおりである。行ごとに、単一のROWSKIPビットが、その行がスキップされているかどうかを示す。行がスキップされていれば、次の行についてのROWSKIPビットが次に来る。そうでない場合(行がスキップされていない場合)は、ROWBITSビット(その行の各マクロブロックについてのビット)が次に来る。したがって、行全体がゼロの場合は、ゼロ・ビットがROWSKIPシンボルとして送られ、ROWBITSがスキップされる。行内にセットされたビットがあれば、ROWSKIPが1に設定され、行全体がrawで送られる(ROWBITS)。行は、フィールドまたはフレームの上から下へスキャンされる。
Columnskipモード
columnskipは、rowskipの転置である。列は、フィールドまたはフレームの左から右へスキャンされる。
Diff−1::反転差分復号
いずれかの差分モード(Diff−2またはDiff−6)が用いられている場合、「差分ビット」のビット・プレーンは、最初に、対応するノーマル・モード(それぞれ、Norm−2またはNorm−6_で復号される)を使用して復号される。差分ビットは、オリジナル・ビット・プレーンを再生成するために用いられる。再生成処理は、バイナリ・アルファベットに対する2−D DPCMである。位置(i,j)のビットを再生成するために、プレディクタb(i,j)が、次のように(位置(i,j)のビットb(i,j)から)生成される。
Figure 0004921971
差分符号化モードの場合は、INVERTに基づく、ビットごとの反転処理が行われない。しかしながら、INVERTフラグは、前述のプレディクタの導出に関するシンボルAの値を示すという別の機能で用いられる。より具体的には、INVERT=0であればA=0であり、INVERT=1であればA=1である。ビット・プレーンの実際の値は、プレディクタと復号された差分ビット値との排他的論理和(XOR)をとることによって得られる。上式では、b(i,j)は、最終復号後(すなわち、Norm−2/Norm−6を行い、さらに差分とプレディクタとのXORをとった後)のi,j番目の位置にあるビットである。
様々な実施形態に関連して本発明の原理を説明および図示してきたが、これらの様々な実施形態は、本発明の原理から逸脱することなく、構成および細部を改変することが可能であることを認識されよう。本明細書に記載のプログラム、処理、または方法は、特に断らない限り、何ら特定タイプのコンピューティング環境に関連するものでも限定されるものでもないことを理解されたい。様々なタイプの汎用または専用コンピューティング環境を本明細書に記載の教示に関して用いることが可能であり、あるいは、それらの環境を用いて、本明細書に記載の教示に従う操作を実行することが可能である。ソフトウェアの形で示した、実施形態の要素をハードウェアの形で実装することも、ハードウェアの形で示した、実施形態の要素をソフトウェアの形で実装することも可能である。
本発明の原理を適用しうる、多くの可能な実施形態を考慮して、添付の特許請求項ならびにその均等物の範囲および趣旨に含まれうるすべての実施形態を本発明として特許請求するものとする。
先行技術による、ビデオ符号化器における動き推定を示す図である。 先行技術による、ビデオ符号化器における8×8ブロックの予測残差のブロック・ベース圧縮を示す図である。 先行技術による、ビデオ符号化器における8×8ブロックの予測残差のブロック・ベース圧縮解除を示す図である。 先行技術によるインターレース・フレームを示す図である。 先行技術による、プログレッシブPフレームにおける1MVマクロブロックの候補動きベクトル・プレディクタのマクロブロックの位置を示す図である。 先行技術による、プログレッシブPフレームにおける1MVマクロブロックの候補動きベクトル・プレディクタのマクロブロックの位置を示す図である。 先行技術による、混在1MV/4MVプログレッシブPフレームにおける1MVマクロブロックの候補動きベクトル・プレディクタのブロックの位置を示す図である。 先行技術による、混在1MV/4MVプログレッシブPフレームにおける1MVマクロブロックの候補動きベクトル・プレディクタのブロックの位置を示す図である。 先行技術による、混在1MV/4MVプログレッシブPフレームにおける4MVマクロブロック内の様々な場所にあるブロックの候補動きベクトル・プレディクタのブロックの位置を示す図である。 先行技術による、混在1MV/4MVプログレッシブPフレームにおける4MVマクロブロック内の様々な場所にあるブロックの候補動きベクトル・プレディクタのブロックの位置を示す図である。 先行技術による、混在1MV/4MVプログレッシブPフレームにおける4MVマクロブロック内の様々な場所にあるブロックの候補動きベクトル・プレディクタのブロックの位置を示す図である。 先行技術による、混在1MV/4MVプログレッシブPフレームにおける4MVマクロブロック内の様々な場所にあるブロックの候補動きベクトル・プレディクタのブロックの位置を示す図である。 先行技術による、混在1MV/4MVプログレッシブPフレームにおける4MVマクロブロック内の様々な場所にあるブロックの候補動きベクトル・プレディクタのブロックの位置を示す図である。 先行技術による、混在1MV/4MVプログレッシブPフレームにおける4MVマクロブロック内の様々な場所にあるブロックの候補動きベクトル・プレディクタのブロックの位置を示す図である。 先行技術による、インターレースPフレームにおける現在のフレーム符号化されたマクロブロックの候補動きベクトル・プレディクタを示す図である。 先行技術による、インターレースPフレームにおける現在のフィールド符号化されたマクロブロックの候補動きベクトル・プレディクタを示す図である。 先行技術による、インターレースPフレームにおける現在のフィールド符号化されたマクロブロックの候補動きベクトル・プレディクタを示す図である。 先行技術による、「3のメジアン」算出を実行する擬似コードを示すコード図である。 先行技術による、先行および後続の参照フレームを有するBフレームを示す図である。 先行技術による4:2:0YUVサンプリング・グリッドを示す図である。 先行技術による、4MVマクロブロックの4つのルミナンス・ブロックの動き情報からクロマ動きベクトルを導出する擬似コードを示すコード図である。 記載の各種実施形態の実装との組合せに好適なコンピューティング環境のブロック図である。 記載の各種実施形態の実装との組合せが可能な、一般化されたビデオ符号化器システムのブロック図である。 記載の各種実施形態の実装との組合せが可能な、一般化されたビデオ復号器システムのブロック図である。 記載の各種実施形態で用いられるマクロブロック・フォーマットを示す図である。 トップ・フィールドとボトム・フィールドの互い違いのラインを示す、インターレース・ビデオ・フレームの一部分の図である。 符号化/復号のためにフレームとして構成されたインターレース・ビデオ・フレームを示す図である。 符号化/復号のためにフィールドとして構成されたインターレース・ビデオ・フレームを示す図である。 インターレースPフレームの2フィールドMVマクロブロックにおけるルミナンス・ブロックの動きベクトルと、導出された、クロマ・ブロックの動きベクトルとを示す図である。 インターレースPフレームの4フレームMVマクロブロックにおける、4つのルミナンス・ブロックのそれぞれについての様々な動きベクトルと、4つのクロマ・サブブロックのそれぞれについて導出された動きベクトルとを示す図である。 インターレースPフレームの4フィールドMVマクロブロックにおけるルミナンス・ブロックの動きベクトルと、導出された、クロマ・ブロックの動きベクトルとを示す図である。 インターレースPフレームの現在のマクロブロックの候補プレディクタを示す図である。 インターレースPフレームの現在のマクロブロックの候補プレディクタを示す図である。 インターレースPフレームにおいて4つのフィールド動きベクトルを有するマクロブロックを処理する手法を示すフローチャートである。 候補動きベクトルの極性に基づいて、フィールド符号化されたマクロブロックの動きベクトル・プレディクタを算出する手法を示すフローチャートである。 フィールド動きベクトルの動きベクトル・プレディクタを算出する際にメジアン演算を実行するかどうかを決定する手法を示すフローチャートである。 インターレース予測フレームの特定のマクロブロックの符号化をスキップするかどうかを決定する手法を示すフローチャートである。 インターレースPフレームのマクロブロックの、統合的に符号化された動き補償タイプ情報およびフィールド/フレーム符号化タイプ情報を復号する手法を示すフローチャートである。 複数のルミナンス動きベクトルのそれぞれについて1つのクロマ動きベクトルを導出する手法を示すフローチャートである。 フィールド・ベースの丸めルックアップ・テーブルを用いてクロマ・フィールド動きベクトルを導出する手法を示すフローチャートである。 フィールド・ベースの丸めルックアップ・テーブルを用いてルミナンス動きベクトル成分からクロマ動きベクトル成分を導出する擬似コードを示すコード図である。 フィールド・ベースの丸めルックアップ・テーブルの値に対するフィールド指定を示す図である。 複合実装形態(combined implementation)における、エントリ・ポイント・レイヤのビットストリーム・シンタックスを示す図である。 複合実装形態における、インターレースPフレームのフレーム・レイヤのビットストリーム・シンタックスを示す図である。 複合実装形態における、インターレースBフレームのフレーム・レイヤのビットストリーム・シンタックスを示す図である。 複合実装形態における、インターレースPフィールドまたはBフィールドのフレーム・レイヤのビットストリーム・シンタックスを示す図である。 複合実装形態における、インターレースPフレームのマクロブロックのマクロブロック・レイヤのビットストリーム・シンタックスを示す図である。 複合実装形態においてインターレースPフレームの1MVマクロブロックの候補動きベクトルを収集する擬似コードを示すコード・リストである。 複合実装形態においてインターレースPフレームの4フレームMVマクロブロックの候補動きベクトルを収集する擬似コードを示すコード・リストである。 複合実装形態においてインターレースPフレームの4フレームMVマクロブロックの候補動きベクトルを収集する擬似コードを示すコード・リストである。 複合実装形態においてインターレースPフレームの4フレームMVマクロブロックの候補動きベクトルを収集する擬似コードを示すコード・リストである。 複合実装形態においてインターレースPフレームの4フレームMVマクロブロックの候補動きベクトルを収集する擬似コードを示すコード・リストである。 複合実装形態においてインターレースPフレームの2フィールドMVマクロブロックの候補動きベクトルを収集する擬似コードを示すコード・リストである。 複合実装形態においてインターレースPフレームの2フィールドMVマクロブロックの候補動きベクトルを収集する擬似コードを示すコード・リストである。 複合実装形態においてインターレースPフレームの4フィールドMVマクロブロックの候補動きベクトルを収集する擬似コードを示すコード・リストである。 複合実装形態においてインターレースPフレームの4フィールドMVマクロブロックの候補動きベクトルを収集する擬似コードを示すコード・リストである。 複合実装形態においてインターレースPフレームの4フィールドMVマクロブロックの候補動きベクトルを収集する擬似コードを示すコード・リストである。 複合実装形態においてインターレースPフレームの4フィールドMVマクロブロックの候補動きベクトルを収集する擬似コードを示すコード・リストである。 複合実装形態においてインターレースPフレームのフレーム動きベクトルの動きベクトル・プレディクタを算出する擬似コードを示すコード・リストである。 複合実装形態においてインターレースPフレームのフィールド動きベクトルの動きベクトル・プレディクタを算出する擬似コードを示すコード・リストである。 複合実装形態においてインターレースPフレームの動きベクトル差分を復号する擬似コードを示すコード・リストである。 複合実装形態においてインターレースPフレームの動きベクトル差分を復号する擬似コードを示すコード・リストである。 複合実装形態におけるNorm−6およびDiff−6のビット・プレーン符号化モードのタイルを示す図である。 複合実装形態におけるNorm−6およびDiff−6のビット・プレーン符号化モードのタイルを示す図である。 複合実装形態におけるNorm−6およびDiff−6のビット・プレーン符号化モードのタイルを示す図である。

Claims (22)

  1. ビデオ情報を復号する方法であって、該方法はビデオ復号器によって実行され、
    インターレース・フレーム符号化されたピクチャの現在のマクロブロックの現在のフィールドのフィールド動きベクトルを予測するための1つまたは複数の有効な候補動きベクトルを決定すること、
    前記1つまたは複数の有効な候補動きベクトルのそれぞれについて、前記有効な候補動きベクトルのフィールド極性を決定することであって、前記フィールド極性は、前記現在のフィールドの極性に関して、前記有効な候補動きベクトルが参照フレーム内の同じ極性のフィールドを参照するか、または反対の極性のフィールドを表すこと、および、
    前記1つまたは複数の有効な候補動きベクトルの前記決定されたフィールド極性に少なくとも部分的に基づいて、前記フィールド動きベクトルの動きベクトル・プレディクタを算出すること
    を備え、
    前記動きベクトル・プレディクタの算出は、
    前記1つまたは複数の有効な候補動きベクトルの数を決定すること、
    前記同じ極性のフィールドを参照する有効な候補動きベクトルの数を決定すること、
    前記反対の極性のフィールドを参照する有効な候補動きベクトルの数を決定すること、および、
    前記1つまたは複数の有効な候補動きベクトルの数、前記同じ極性のフィールドを参照する有効な候補動きベクトルの数、および、前記反対の極性のフィールドを参照する有効な候補動きベクトルの数に応じて、前記動きベクトル・プレディクタを決定することであって、前記有効な候補動きベクトルの数が3つであり、
    前記同じ極性のフィールドを参照する有効な候補動きベクトルの数が3つであるか、または前記反対の極性のフィールドを参照する有効な候補動きベクトルの数が3つである場合に、前記有効な候補動きベクトルのメジアン演算を実行し、
    前記同じ極性のフィールドを参照する有効な候補動きベクトルの数が前記反対の極性のフィールドを参照する有効な候補動きベクトルの数より多いかまたはそれに等しい場合に、前記同じ極性のフィールドを参照する有効な候補動きベクトルのうちの1つを選択し、
    それ以外の場合は、前記反対の極性のフィールドを参照する有効な候補動きベクトルのうちの1つを選択すること
    を備えることを特徴とする方法。
  2. 前記動きベクトル・プレディクタおよび前記動きベクトル・プレディクタと前記フィールド動きベクトルとの差分に少なくとも部分的に基づいて、前記フィールド動きベクトルを再構成することをさらに備えることを特徴とする請求項1に記載の方法。
  3. 前記有効な候補動きベクトルの数が3未満である場合には、前記動きベクトル・プレディクタを算出することは、
    前記有効な候補動きベクトルに対して前記メジアン演算を実行せずに、前記有効な候補動きベクトルのうちの1つを、前記動きベクトル・プレディクタとして用いるために選択することをさらに備える
    ことを特徴とする請求項1に記載の方法。
  4. 前記現在のマクロブロックは、2フィールド動きベクトル・マクロブロックであることを特徴とする請求項1に記載の方法。
  5. 前記現在のマクロブロックは、4フィールド動きベクトル・マクロブロックであることを特徴とする請求項1に記載の方法。
  6. 前記有効な候補動きベクトルの少なくとも1つは、隣接するマクロブロックにあるフィールド動きベクトルであることを特徴とする請求項1に記載の方法。
  7. 前記インターレース・フレーム符号化されたピクチャはインターレースPフレームであることを特徴とする請求項1に記載の方法。
  8. 前記メジアン演算を実行することは、前記有効な候補動きベクトルのx成分またはy成分に対してメジアン演算を実行することを含むことを特徴とする請求項1に記載の方法。
  9. 前記有効な候補動きベクトルのそれぞれは、隣接するマクロブロックのブロック、隣接するマクロブロックのフィールド、隣接するマクロブロックのフィールドの一部、またはインターレース・フレーム符号化されたピクチャの中の隣接するマクロブロックのマクロブロックについてのものであることによって特徴づけられることを特徴とする請求項1に記載の方法。
  10. 前記有効な候補動きベクトルのそれぞれは、隣接するマクロブロックのブロック、隣接するマクロブロックのフィールド、隣接するマクロブロックのフィールドの一部、または前記現在のマクロブロックと同じスライスの中の隣接するマクロブロックについてのものであることによって特徴づけられることを特徴とする請求項1に記載の方法。
  11. 前記有効な候補動きベクトルのそれぞれは、隣接するマクロブロックからの実際の動きベクトルであることによって特徴づけられることを特徴とする請求項1に記載の方法。
  12. ビデオ情報を復号するビデオ復号器であって、
    インターレース・フレーム符号化されたピクチャの現在のマクロブロックの現在のフィールドのフィールド動きベクトルを予測するための1つまたは複数の有効な候補動きベクトルを決定する手段と、
    前記1つまたは複数の有効な候補動きベクトルのそれぞれについて、前記候補動きベクトルのフィールド極性を決定することであって、前記フィールド極性は、前記現在のフィールドの極性に関して、前記有効な候補動きベクトルが参照フレーム内の同じ極性のフィールドを参照するか、または反対の極性のフィールドを参照するかを表す手段と、
    前記1つまたは複数の有効な候補動きベクトルの前記決定されたフィールド極性に少なくとも部分的に基づいて、前記フィールド動きベクトルの動きベクトル・プレディクタを算出する手段と
    を備え、前記動きベクトル・プレディクタの算出は、
    前記1つまたは複数の有効な候補動きベクトルのの数を決定すること、
    前記同じ極性のフィールドを参照する有効な候補動きベクトルの数を決定すること、
    前記反対の極性のフィールドを参照する有効な候補動きベクトルの数を決定すること、および、
    前記1つまたは複数の有効な候補動きベクトルの数、前記同じ極性のフィールドを参照する有効な候補動きベクトルの数、および、前記反対の極性のフィールドを参照する有効な候補動きベクトルの数に応じて、前記動きベクトル・プレディクタを決定することであって、前記有効な候補動きベクトルの数が3つであり、
    前記同じ極性のフィールドを参照する有効な候補動きベクトルの数が3つであるか、または前記反対の極性のフィールドを参照する有効な候補動きベクトルの数が3つである場合に、前記有効な候補動きベクトルのメジアンを算出し、
    前記同じ極性のフィールドを参照する有効な候補動きベクトルの数が前記反対の極性のフィールドを参照する有効な候補動きベクトルの数より多いかまたはそれに等しい場合に、前記同じ極性のフィールドを参照する有効な候補動きベクトルのうちの1つを選択し、
    それ以外の場合は、前記反対の極性のフィールドを参照する有効な候補動きベクトルのうちの1つを選択すること
    を備えることを特徴とするビデオ復号器。
  13. 前記候補動きベクトルは1/4画素単位で測定されることを特徴とする請求項12に記載のビデオ復号器。
  14. 前記候補動きベクトルのフィールド極性を決定する手段は、前記候補動きベクトルが1/4画素単位で測定される場合に、前記候補動きベクトルのy成分の第3下位ビットが1かゼロかを決定する手段を備えることを特徴とする請求項12に記載のビデオ復号器。
  15. 前記現在のマクロブロックは、2フィールド動きベクトル・マクロブロックであることを特徴とする請求項12に記載のビデオ復号器。
  16. 前記現在のマクロブロックは、4フィールド動きベクトル・マクロブロックであることを特徴とする請求項12に記載のビデオ復号器。
  17. 前記候補動きベクトルの少なくとも1つは、隣接するマクロブロックにあるフィールド動きベクトルであることを特徴とする請求項12に記載のビデオ復号器。
  18. 前記動きベクトル・プレディクタおよび前記動きベクトル・プレディクタと前記フィールド動きベクトルとの差分に少なくとも部分的に基づいて、前記フィールド動きベクトルを再構成する手段をさらに備えることを特徴とする請求項12に記載のビデオ復号器。
  19. 前記候補動きベクトルのフィールド極性を決定する手段は、前記候補動きベクトルが、前記参照フレームのトップ・フィールドまたはボトム・フィールドにおける変位を示すかどうかを決定する手段を備えることを特徴とする請求項12に記載のビデオ復号器。
  20. 前記候補動きベクトルのフィールド極性を決定する手段は、前記候補動きベクトルが、前記現在のフィールドと同じ極性または反対の極性を有するフィールドにおける変位を示すかどうかを決定する手段を備えることを特徴とする請求項12に記載のビデオ復号器。
  21. ビデオ情報を符号化する方法であって、該方法はビデオ符号化器によって実行され、
    インターレース・フレーム符号化されたピクチャの現在のマクロブロックの現在のフィールドのフィールド動きベクトルを予測するための1つまたは複数の有効な候補動きベクトルを決定すること、
    前記1つまたは複数の有効な候補動きベクトルのそれぞれのフィールド極性を決定することであって、前記フィールド極性は、前記現在のフィールドの極性に関して、前記有効な候補動きベクトルが参照フレーム内の同じ極性のフィールドを参照するか、または反対の極性のフィールドを参照するかを表すこと、
    前記有効な候補動きベクトルのそれぞれを、そのフィールド極性に応じて、反対の極性の集合および同じ極性の集合からなる2つの集合の一方に割り当てること、および
    前記2つの集合の一方または両方に少なくとも部分的に基づいて、前記フィールド動きベクトルの動きベクトル・プレディクタを算出すること
    を備え、前記動きベクトル・プレディクタの算出は、
    前記1つまたは複数の有効な候補動きベクトルの数を決定すること、
    前記同じ極性のフィールドを参照する有効な候補動きベクトルの数を決定すること、
    前記反対の極性のフィールドを参照する有効な候補動きベクトルの数を決定すること、および、
    前記1つまたは複数の有効な候補動きベクトルの数、前記同じ極性のフィールドを参照する有効な候補動きベクトルの数、および、前記反対の極性のフィールドを参照する有効な候補動きベクトルの数に応じて、前記動きベクトル・プレディクタを決定することであって、前記有効な候補動きベクトルの数が3つであり、
    前記同じ極性のフィールドを参照する有効な候補動きベクトルの数が3つであるか、または前記反対の極性のフィールドを参照する有効な候補動きベクトルの数が3つである場合に、前記有効な候補動きベクトルのメジアンを算出し、
    前記同じ極性のフィールドを参照する有効な候補動きベクトルの数が前記反対の極性のフィールドを参照する有効な候補動きベクトルの数より多いかまたはそれに等しい場合に、前記同じ極性のフィールドを参照する有効な候補動きベクトルのうちの1つを選択し、
    それ以外の場合は、前記反対の極性のフィールドを参照する有効な候補動きベクトルのうちの1つを選択すること
    を備えることを特徴とする方法。
  22. 前記割り当てることは、同じ極性の、有効な候補動きベクトルを1つだけ、前記同じ極性の集合に割り当てること、および反対の極性の、有効な候補動きベクトルを1つだけ、前記反対の極性の集合に割り当てることを備え、前記動きベクトル・プレディクタを算出することは、前記同じ極性の、有効な候補動きベクトルを選択することを備えることを特徴とする請求項21に記載の方法。
JP2006525511A 2003-09-07 2004-09-03 インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸 Expired - Lifetime JP4921971B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US50108103P 2003-09-07 2003-09-07
US60/501,081 2003-09-07
US10/857,473 US7567617B2 (en) 2003-09-07 2004-05-27 Predicting motion vectors for fields of forward-predicted interlaced video frames
US10/857,473 2004-05-27
US10/933,882 2004-09-02
US10/933,882 US7924920B2 (en) 2003-09-07 2004-09-02 Motion vector coding and decoding in interlaced frame coded pictures
PCT/US2004/029035 WO2005027497A2 (en) 2003-09-07 2004-09-03 Innovations in coding and decoding macroblock and motion information for interlaced and progressive video

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011094449A Division JP2011166816A (ja) 2003-09-07 2011-04-20 インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸

Publications (2)

Publication Number Publication Date
JP2007504760A JP2007504760A (ja) 2007-03-01
JP4921971B2 true JP4921971B2 (ja) 2012-04-25

Family

ID=34228797

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2006525511A Expired - Lifetime JP4921971B2 (ja) 2003-09-07 2004-09-03 インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸
JP2004259053A Expired - Lifetime JP4698186B2 (ja) 2003-09-07 2004-09-06 順方向予測インターレース映像フレームのフィールド用の動きベクトルの予測
JP2008212238A Expired - Lifetime JP5174581B2 (ja) 2003-09-07 2008-08-20 順方向予測インターレース映像フレームのフィールド用の動きベクトルの予測
JP2011094449A Pending JP2011166816A (ja) 2003-09-07 2011-04-20 インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2004259053A Expired - Lifetime JP4698186B2 (ja) 2003-09-07 2004-09-06 順方向予測インターレース映像フレームのフィールド用の動きベクトルの予測
JP2008212238A Expired - Lifetime JP5174581B2 (ja) 2003-09-07 2008-08-20 順方向予測インターレース映像フレームのフィールド用の動きベクトルの予測
JP2011094449A Pending JP2011166816A (ja) 2003-09-07 2011-04-20 インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸

Country Status (9)

Country Link
US (2) US7567617B2 (ja)
EP (2) EP1528812B1 (ja)
JP (4) JP4921971B2 (ja)
KR (3) KR101083904B1 (ja)
CN (2) CN101335896B (ja)
ES (1) ES2601927T3 (ja)
MX (1) MXPA06002595A (ja)
PL (1) PL1528812T3 (ja)
WO (1) WO2005027497A2 (ja)

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US7415162B2 (en) * 2003-05-27 2008-08-19 Zaxel Systems, Inc. Method and apparatus for lossless data transformation with preprocessing by adaptive compression, multidimensional prediction, multi-symbol decoding enhancement enhancements
US7428341B2 (en) 2003-05-27 2008-09-23 Zaxel Systems, Inc. Method and apparatus for lossless data transformation with preprocessing by adaptive compression, multidimensional prediction, multi-symbol decoding enhancement enhancements
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US7599438B2 (en) * 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US7623574B2 (en) * 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7616692B2 (en) * 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7620106B2 (en) * 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US20050207490A1 (en) * 2004-03-18 2005-09-22 Wang Jason N Stored picture index for AVC coding
KR101104828B1 (ko) * 2004-12-09 2012-01-16 삼성전자주식회사 움직임 벡터 연산 장치 및 그 방법
US20060215754A1 (en) * 2005-03-24 2006-09-28 Intel Corporation Method and apparatus for performing video decoding in a multi-thread environment
US8179967B2 (en) * 2005-07-05 2012-05-15 Stmicroelectronics S.A. Method and device for detecting movement of an entity provided with an image sensor
US8300015B2 (en) * 2005-07-05 2012-10-30 Stmicroelectronics S.A. Method of detecting the movement of an entity equipped with an image sensor and device for implementing same
US7916784B2 (en) * 2005-10-20 2011-03-29 Broadcom Corporation Method and system for inverse telecine and field pairing
JP4529874B2 (ja) * 2005-11-07 2010-08-25 ソニー株式会社 記録再生装置および記録再生方法、記録装置および記録方法、再生装置および再生方法、並びにプログラム
JP4760551B2 (ja) * 2006-06-05 2011-08-31 ソニー株式会社 動きベクトル復号化方法および復号化装置
JP4760552B2 (ja) * 2006-06-06 2011-08-31 ソニー株式会社 動きベクトル復号化方法および復号化装置
KR100763917B1 (ko) * 2006-06-21 2007-10-05 삼성전자주식회사 고속으로 움직임을 추정하는 방법 및 장치
JP4763549B2 (ja) * 2006-08-18 2011-08-31 富士通セミコンダクター株式会社 フレーム間予測処理装置、画像符号化装置、及び画像復号化装置
DE102006043707A1 (de) * 2006-09-18 2008-03-27 Robert Bosch Gmbh Verfahren zur Datenkompression in einer Videosequenz
KR101365566B1 (ko) * 2007-01-04 2014-02-25 삼성전자주식회사 영상 부호화 및 복호화 방법과 장치
US8111750B2 (en) * 2007-03-20 2012-02-07 Himax Technologies Limited System and method for 3-D recursive search motion estimation
KR101366241B1 (ko) 2007-03-28 2014-02-21 삼성전자주식회사 영상 부호화, 복호화 방법 및 장치
US8917775B2 (en) * 2007-05-02 2014-12-23 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding multi-view video data
US8488676B2 (en) * 2007-05-14 2013-07-16 Himax Technologies Limited Motion estimation method
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
KR101597325B1 (ko) 2007-10-16 2016-03-02 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR100939917B1 (ko) * 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
ES2812473T3 (es) * 2008-03-19 2021-03-17 Nokia Technologies Oy Vector de movimiento combinado y predicción de índice de referencia para la codificación de vídeo
JP5406465B2 (ja) * 2008-04-24 2014-02-05 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
JP5012647B2 (ja) 2008-04-30 2012-08-29 ソニー株式会社 画像処理装置およびその方法、並びにプログラム
KR101445791B1 (ko) * 2008-05-10 2014-10-02 삼성전자주식회사 움직임 벡터 변환을 이용한 비월 주사 영상 부호화/복호화방법 및 장치
US8325801B2 (en) 2008-08-15 2012-12-04 Mediatek Inc. Adaptive restoration for video coding
JP5294767B2 (ja) * 2008-09-16 2013-09-18 キヤノン株式会社 動画再生装置、動画再生方法、プログラム及び記録媒体
KR101279573B1 (ko) * 2008-10-31 2013-06-27 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2010052838A1 (ja) * 2008-11-07 2010-05-14 三菱電機株式会社 動画像符号化装置及び動画像復号装置
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
JP5221430B2 (ja) * 2009-03-24 2013-06-26 株式会社東芝 画像圧縮装置および画像伸張装置
JP2011061273A (ja) * 2009-09-07 2011-03-24 Sony Corp 動きベクトル算出装置、動きベクトル算出方法およびプログラム
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
KR101459714B1 (ko) * 2009-10-28 2014-11-13 에스케이텔레콤 주식회사 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR20110068792A (ko) 2009-12-16 2011-06-22 한국전자통신연구원 적응적 영상 부호화 장치 및 방법
WO2011074919A2 (ko) * 2009-12-17 2011-06-23 에스케이텔레콤 주식회사 영상 부호화/복호화 방법 및 장치
US8885711B2 (en) 2009-12-17 2014-11-11 Sk Telecom Co., Ltd. Image encoding/decoding method and device
US9621892B2 (en) * 2009-12-18 2017-04-11 Sony Corporation Emulation of Bi predicted pictures using adjacent pictures for improved video
US9036692B2 (en) 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
US20110213932A1 (en) * 2010-02-22 2011-09-01 Takuma Chiba Decoding apparatus and decoding method
US20110216829A1 (en) * 2010-03-02 2011-09-08 Qualcomm Incorporated Enabling delta compression and modification of motion estimation and metadata for rendering images to a remote display
WO2011121894A1 (ja) 2010-03-31 2011-10-06 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US9756357B2 (en) * 2010-03-31 2017-09-05 France Telecom Methods and devices for encoding and decoding an image sequence implementing a prediction by forward motion compensation, corresponding stream and computer program
EP2534841B1 (en) * 2010-04-22 2017-11-29 HFI Innovation Inc. Motion vector prediction method
WO2011146451A1 (en) * 2010-05-20 2011-11-24 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
US9124898B2 (en) * 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
US20120051442A1 (en) * 2010-08-31 2012-03-01 Cristarella Sarah J Video Processor Configured to Correct Field Placement Errors in a Video Signal
RU2549512C2 (ru) * 2010-09-30 2015-04-27 Мицубиси Электрик Корпорейшн Устройство кодирования движущихся изображений, устройство декодирования движущихся изображений, способ кодирования движущихся изображений и способ декодирования движущихся изображений
US9635382B2 (en) * 2011-01-07 2017-04-25 Texas Instruments Incorporated Method, system and computer program product for determining a motion vector
GB2487197B (en) * 2011-01-11 2015-06-17 Canon Kk Video encoding and decoding with improved error resilience
JP6004271B2 (ja) * 2011-01-12 2016-10-05 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
JP2012151576A (ja) 2011-01-18 2012-08-09 Hitachi Ltd 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置
US9749657B2 (en) 2011-01-21 2017-08-29 Sharp Kabushiki Kaisha Buffer compression for motion vector competition
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9866861B2 (en) 2011-02-09 2018-01-09 Lg Electronics Inc. Method for encoding and decoding image and device using same
GB2488798B (en) * 2011-03-08 2015-02-11 Canon Kk Video encoding and decoding with improved error resillience
GB2488816A (en) 2011-03-09 2012-09-12 Canon Kk Mapping motion vectors from a plurality of reference frames to a single reference frame
GB2488815C (en) * 2011-03-09 2018-03-28 Canon Kk Video decoding
JP5982734B2 (ja) 2011-03-11 2016-08-31 ソニー株式会社 画像処理装置および方法
JP5786478B2 (ja) * 2011-06-15 2015-09-30 富士通株式会社 動画像復号装置、動画像復号方法、及び動画像復号プログラム
EP3309970B1 (en) * 2011-06-24 2023-06-07 Sun Patent Trust Image decoding method
CN107257475B (zh) 2011-10-17 2020-04-21 株式会社Kt 利用解码装置解码视频信号的方法
CN107948656B (zh) * 2011-10-28 2021-06-01 太阳专利托管公司 图像解码方法及图像解码装置
EP2773111B1 (en) 2011-10-28 2020-01-01 Sun Patent Trust Image encoding method, image decoding method, image encoding device, and image decoding device
EP2774360B1 (en) 2011-11-04 2017-08-02 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding
EP2781098B1 (en) 2011-11-18 2019-02-06 Google Technology Holdings LLC An explicit way for signaling a collocated picture for high efficiency video coding (hevc)
US9392235B2 (en) 2011-11-18 2016-07-12 Google Technology Holdings LLC Explicit way for signaling a collocated reference picture for video coding
WO2013075042A1 (en) * 2011-11-18 2013-05-23 General Instrument Corporation Efficient storage of motion information for high efficiency video coding
KR101607038B1 (ko) 2011-11-21 2016-04-11 모토로라 모빌리티 엘엘씨 시간 예측을 위한 병치된 픽처의 암시적 결정 및 결합된 암시적 및 명시적 결정
US9300959B2 (en) 2011-12-26 2016-03-29 Google Technology Holdings LLC Implicit determination of collocated picture for temporal prediction
CN102547292B (zh) * 2012-02-15 2018-07-06 北京大学深圳研究生院 使用非固定参考场前向预测跳过模式的编码解码方法
US9549177B2 (en) 2012-04-11 2017-01-17 Google Technology Holdings LLC Evaluation of signaling of collocated reference picture for temporal prediction
WO2013154673A1 (en) 2012-04-11 2013-10-17 Motorola Mobility Llc Signaling of temporal motion vector predictor (mvp) flag for temporal prediction
WO2013189543A1 (en) * 2012-06-21 2013-12-27 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and method for coding a video signal
KR102424431B1 (ko) 2012-07-02 2022-07-22 엘지전자 주식회사 영상 정보 코딩 방법 및 이를 이용하는 장치
EP2870758B1 (en) * 2012-07-03 2016-11-16 Telefonaktiebolaget LM Ericsson (publ) Controlling deblocking filtering
US9319681B2 (en) 2012-07-18 2016-04-19 Google Technology Holdings LLC Signaling of temporal motion vector predictor (MVP) enable flag
US9442904B2 (en) * 2012-12-21 2016-09-13 Vmware, Inc. Systems and methods for applying a residual error image
KR101806949B1 (ko) * 2013-03-13 2017-12-08 후아웨이 테크놀러지 컴퍼니 리미티드 깊이 룩업 테이블을 코딩하는 방법
KR102121558B1 (ko) 2013-03-15 2020-06-10 삼성전자주식회사 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더
GB2512829B (en) 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
US10034019B2 (en) * 2013-06-12 2018-07-24 Mitsubishi Electric Corporation Image encoding device, image encoding method, image decoding device, and image decoding method
CN103338372A (zh) * 2013-06-15 2013-10-02 浙江大学 一种视频处理方法及装置
KR101377136B1 (ko) * 2013-08-29 2014-03-26 삼성전자주식회사 영상 복호화 장치
FR3011429A1 (fr) * 2013-09-27 2015-04-03 Orange Codage et decodage video par heritage d'un champ de vecteurs de mouvement
US20160360237A1 (en) 2013-12-22 2016-12-08 Lg Electronics Inc. Method and apparatus for encoding, decoding a video signal using additional control of quantizaton error
JP5750191B2 (ja) * 2014-10-15 2015-07-15 日立マクセル株式会社 画像復号化方法
CN104361862A (zh) 2014-11-28 2015-02-18 京东方科技集团股份有限公司 阵列基板及其驱动方法、显示面板、显示装置
JP5911982B2 (ja) * 2015-02-12 2016-04-27 日立マクセル株式会社 画像復号化方法
KR20180048736A (ko) 2015-09-24 2018-05-10 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
JP5951915B2 (ja) * 2016-03-30 2016-07-13 日立マクセル株式会社 画像復号化方法
JP5946980B1 (ja) * 2016-03-30 2016-07-06 日立マクセル株式会社 画像復号化方法
WO2017195608A1 (ja) * 2016-05-13 2017-11-16 シャープ株式会社 動画像復号装置
JP6181242B2 (ja) * 2016-06-08 2017-08-16 日立マクセル株式会社 画像復号化方法
JP6217997B2 (ja) * 2016-07-25 2017-10-25 ソニー株式会社 画像処理装置および方法
US11245921B2 (en) 2017-06-26 2022-02-08 Interdigital Vc Holdings, Inc. Multiple predictor candidates for motion compensation
KR20200012957A (ko) * 2017-06-30 2020-02-05 후아웨이 테크놀러지 컴퍼니 리미티드 인터-프레임 예측 방법 및 디바이스
EP4221201A1 (en) 2018-01-29 2023-08-02 InterDigital VC Holdings, Inc. Encoding and decoding with refinement of the reconstructed picture
WO2019191867A1 (zh) 2018-04-02 2019-10-10 华为技术有限公司 一种视频编解码方法和装置
US11665365B2 (en) 2018-09-14 2023-05-30 Google Llc Motion prediction coding with coframe motion vectors
US11477476B2 (en) * 2018-10-04 2022-10-18 Qualcomm Incorporated Affine restrictions for the worst-case bandwidth reduction in video coding
US11051034B2 (en) 2018-10-08 2021-06-29 Qualcomm Incorporated History-based motion vector predictor
CN113273205A (zh) * 2018-12-21 2021-08-17 北京字节跳动网络技术有限公司 使用更高比特深度精度的运动矢量推导
US10979716B2 (en) * 2019-03-15 2021-04-13 Tencent America LLC Methods of accessing affine history-based motion vector predictor buffer
WO2021196087A1 (zh) * 2020-04-01 2021-10-07 华为技术有限公司 视频增强的方法及装置
US12052437B2 (en) * 2022-04-06 2024-07-30 Tencent America LLC Systems and methods for explicit signaling of scaling factors for joint coding of motion vector difference

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11112994A (ja) * 1997-09-12 1999-04-23 Lg Semicon Co Ltd Mpeg−4の動きベクトル符号化方法
JP2001346215A (ja) * 2000-06-05 2001-12-14 Mitsubishi Electric Corp 符号化装置
JP2002532027A (ja) * 1998-11-30 2002-09-24 マイクロソフト コーポレイション ビデオ圧縮のための効率的な運動ベクトルの符号化
US20030099292A1 (en) * 2001-11-27 2003-05-29 Limin Wang Macroblock level adaptive frame/field coding for digital video content
JP2004048711A (ja) * 2002-05-22 2004-02-12 Matsushita Electric Ind Co Ltd 動画像の符号化方法および復号化方法およびデータ記録媒体
JP2004215229A (ja) * 2002-11-01 2004-07-29 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
JP2005510985A (ja) * 2001-11-21 2005-04-21 ジェネラル・インストルメント・コーポレーション デジタルビデオコンテンツのマクロブロックレベルにおける適応フレーム/フィールド符号化

Family Cites Families (256)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56128070A (en) 1980-03-13 1981-10-07 Fuji Photo Film Co Ltd Band compressing equipment of variable density picture
JPS60158786A (ja) 1984-01-30 1985-08-20 Kokusai Denshin Denwa Co Ltd <Kdd> 画像動き量検出方式
US4661849A (en) 1985-06-03 1987-04-28 Pictel Corporation Method and apparatus for providing motion estimation signals for communicating image sequences
DE3684047D1 (de) 1985-07-02 1992-04-09 Matsushita Electric Ind Co Ltd Vorrichtung zur blockkodierung.
US4661853A (en) 1985-11-01 1987-04-28 Rca Corporation Interfield image motion detector for video signals
FR2599577B1 (fr) 1986-05-29 1988-08-05 Guichard Jacques Procede de codage par transformation pour la transmission de signaux d'image.
US4800432A (en) 1986-10-24 1989-01-24 The Grass Valley Group, Inc. Video Difference key generator
DE3704777C1 (de) 1987-02-16 1988-04-07 Ant Nachrichtentech Verfahren zum UEbertragen und zum Wiedergeben von Fernsehbildsequenzen
NL8700565A (nl) 1987-03-10 1988-10-03 Philips Nv Televisiesysteem waarin aan een transformatiekodering onderworpen gedigitaliseerde beeldsignalen worden overgebracht van een kodeerstation naar een dekodeerstation.
EP0287238B1 (en) * 1987-04-13 1991-09-11 Imperial Chemical Industries Plc Process and apparatus for the production of a hot pressurised gas stream by catalytic combustion
EP0290085B1 (de) 1987-05-06 1996-03-20 Philips Patentverwaltung GmbH System zur Übertragung von Videobildern
EP0294962B1 (en) 1987-06-09 1995-07-19 Sony Corporation Motion vector estimation in television images
EP0294958B1 (en) 1987-06-09 1995-08-23 Sony Corporation Motion compensated interpolation of digital television images
FR2648254B2 (fr) 1988-09-23 1991-08-30 Thomson Csf Procede et dispositif d'estimation de mouvement dans une sequence d'images animees
US4985768A (en) 1989-01-20 1991-01-15 Victor Company Of Japan, Ltd. Inter-frame predictive encoding system with encoded and transmitted prediction error
US5379351A (en) 1992-02-19 1995-01-03 Integrated Information Technology, Inc. Video compression/decompression processing and processors
JPH07109990B2 (ja) 1989-04-27 1995-11-22 日本ビクター株式会社 適応型フレーム間予測符号化方法及び復号方法
AU612543B2 (en) 1989-05-11 1991-07-11 Panasonic Corporation Moving image signal encoding apparatus and decoding apparatus
USRE35910E (en) 1989-05-11 1998-09-29 Matsushita Electric Industrial Co., Ltd. Moving image signal encoding apparatus and decoding apparatus
JPH03117991A (ja) 1989-09-29 1991-05-20 Victor Co Of Japan Ltd 動きベクトル符号化装置及び復号化装置
US5144426A (en) 1989-10-13 1992-09-01 Matsushita Electric Industrial Co., Ltd. Motion compensated prediction interframe coding system
EP0424026B1 (en) 1989-10-14 1997-07-23 Sony Corporation Video signal transmitting system and method
NL9000424A (nl) 1990-02-22 1991-09-16 Philips Nv Overdrachtsysteem voor gedigitaliseerde televisiebeelden.
JPH082107B2 (ja) 1990-03-02 1996-01-10 国際電信電話株式会社 動画像のハイブリッド符号化方法及びその装置
JPH03265290A (ja) 1990-03-14 1991-11-26 Toshiba Corp テレビジョン信号走査線変換器
US5103306A (en) 1990-03-28 1992-04-07 Transitions Research Corporation Digital image compression employing a resolution gradient
US5091782A (en) 1990-04-09 1992-02-25 General Instrument Corporation Apparatus and method for adaptively compressing successive blocks of digital video
US4999705A (en) 1990-05-03 1991-03-12 At&T Bell Laboratories Three dimensional motion compensated video coding
US5155594A (en) 1990-05-11 1992-10-13 Picturetel Corporation Hierarchical encoding method and apparatus employing background references for efficiently communicating image sequences
US5068724A (en) 1990-06-15 1991-11-26 General Instrument Corporation Adaptive motion compensation for digital television
JP3037383B2 (ja) 1990-09-03 2000-04-24 キヤノン株式会社 画像処理システム及びその方法
EP0683615B1 (en) 1990-10-31 1999-05-19 Victor Company Of Japan, Ltd. Compression method for interlace moving image signals
USRE35093E (en) 1990-12-03 1995-11-21 The Trustees Of Columbia University In The City Of New York Systems and methods for coding even fields of interlaced video sequences
US5193004A (en) 1990-12-03 1993-03-09 The Trustees Of Columbia University In The City Of New York Systems and methods for coding even fields of interlaced video sequences
US5111292A (en) 1991-02-27 1992-05-05 General Electric Company Priority selection apparatus as for a video signal processor
JPH0630280A (ja) 1991-03-19 1994-02-04 Nec Eng Ltd 2値画像データのブロック別選択型符号化前処理方式
JP3119888B2 (ja) 1991-04-18 2000-12-25 松下電器産業株式会社 信号処理方法及び記録再生装置
DE4113505A1 (de) 1991-04-25 1992-10-29 Thomson Brandt Gmbh Verfahren zur bildsignalcodierung
JPH04334188A (ja) 1991-05-08 1992-11-20 Nec Corp 動画像信号の符号化方式
ATE162037T1 (de) * 1991-05-24 1998-01-15 British Broadcasting Corp Videobildverarbeitung
US5317397A (en) 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
US5467136A (en) 1991-05-31 1995-11-14 Kabushiki Kaisha Toshiba Video decoder for determining a motion vector from a scaled vector and a difference vector
JP2977104B2 (ja) 1991-07-26 1999-11-10 ソニー株式会社 動画像データエンコード方法および装置、並びに動画像データデコード方法および装置
US5539466A (en) 1991-07-30 1996-07-23 Sony Corporation Efficient coding apparatus for picture signal and decoding apparatus therefor
JP3092280B2 (ja) * 1991-07-30 2000-09-25 ソニー株式会社 画像信号の高能率符号化及び復号化装置
JP2699703B2 (ja) 1991-07-31 1998-01-19 松下電器産業株式会社 動き補償予測方法とそれを用いた画像信号符号化方法
US5428396A (en) 1991-08-03 1995-06-27 Sony Corporation Variable length coding/decoding method for motion vectors
JPH0541862A (ja) 1991-08-03 1993-02-19 Sony Corp 動きベクトルの可変長符号化方式
JP3001688B2 (ja) 1991-08-05 2000-01-24 株式会社大一商会 パチンコ球の循環制御装置
CA2079434A1 (en) 1991-09-30 1993-03-31 Derek Andrew Motion vector estimation, motion picture encoding and storage
JP2991833B2 (ja) 1991-10-11 1999-12-20 松下電器産業株式会社 インターレス走査ディジタルビデオ信号の符号化装置及びその方法
JP2586260B2 (ja) 1991-10-22 1997-02-26 三菱電機株式会社 適応的ブロッキング画像符号化装置
JP3134424B2 (ja) 1991-10-31 2001-02-13 ソニー株式会社 可変長符号化方法及び装置
JP2962012B2 (ja) 1991-11-08 1999-10-12 日本ビクター株式会社 動画像符号化装置及びその復号装置
JPH05137131A (ja) 1991-11-13 1993-06-01 Sony Corp フレーム間動き予測方法
US5227878A (en) 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
US5510840A (en) 1991-12-27 1996-04-23 Sony Corporation Methods and devices for encoding and decoding frame signals and recording medium therefor
US5284453A (en) * 1992-02-05 1994-02-08 Kun Steve I Rescue package composed of a life raft connected to a canister of materials to inflate the raft
US5317379A (en) * 1992-02-11 1994-05-31 Rosemount Analytical Inc. Chemical species optical analyzer with multiple fiber channels
US5594813A (en) 1992-02-19 1997-01-14 Integrated Information Technology, Inc. Programmable architecture and methods for motion estimation
US6441842B1 (en) 1992-02-19 2002-08-27 8×8, Inc. Video compression/decompression processing and processors
US5293229A (en) * 1992-03-27 1994-03-08 Matsushita Electric Corporation Of America Apparatus and method for processing groups of fields in a video data compression system
US5287420A (en) 1992-04-08 1994-02-15 Supermac Technology Method for image compression on a personal computer
KR0166716B1 (ko) 1992-06-18 1999-03-20 강진구 블럭 dpcm을 이용한 부호화/복호화방법 및 장치
JP3443867B2 (ja) * 1992-06-26 2003-09-08 ソニー株式会社 画像信号符号化、復号化方法及び画像信号記録媒体
US6226327B1 (en) * 1992-06-29 2001-05-01 Sony Corporation Video coding method and apparatus which select between frame-based and field-based predictive modes
US6160849A (en) 1992-06-29 2000-12-12 Sony Corporation Selectable field and frame based predictive video coding
US5412435A (en) 1992-07-03 1995-05-02 Kokusai Denshin Denwa Kabushiki Kaisha Interlaced video signal motion compensation prediction system
JPH06153180A (ja) 1992-09-16 1994-05-31 Fujitsu Ltd 画像データ符号化方法及び装置
JPH06113287A (ja) 1992-09-30 1994-04-22 Matsushita Electric Ind Co Ltd 画像符号化装置と画像復号化装置
US5982437A (en) 1992-10-26 1999-11-09 Sony Corporation Coding method and system, and decoding method and system
KR0166722B1 (ko) 1992-11-30 1999-03-20 윤종용 부호화 및 복호화방법 및 그 장치
US5400075A (en) 1993-01-13 1995-03-21 Thomson Consumer Electronics, Inc. Adaptive variable length encoder/decoder
US5491516A (en) 1993-01-14 1996-02-13 Rca Thomson Licensing Corporation Field elimination apparatus for a video compression/decompression system
US5544286A (en) 1993-01-29 1996-08-06 Microsoft Corporation Digital video data compression technique
JPH0626195A (ja) * 1993-02-16 1994-02-01 Yasuyuki Tsuruta 構築物施工用結合具
JPH06243418A (ja) * 1993-02-22 1994-09-02 Matsushita Electric Ind Co Ltd 積層型磁気ヘッド
US5592228A (en) 1993-03-04 1997-01-07 Kabushiki Kaisha Toshiba Video encoder using global motion estimation and polygonal patch motion estimation
US5376968A (en) 1993-03-11 1994-12-27 General Instrument Corporation Adaptive compression of digital video data using different modes such as PCM and DPCM
ES2431289T3 (es) 1993-03-24 2013-11-25 Sony Corporation Método de decodificación de señal de imagen y aparato asociado
US5621481A (en) 1993-04-08 1997-04-15 Sony Corporation Motion vector detecting apparatus for determining interframe, predictive error as a function of interfield predictive errors
US5442400A (en) 1993-04-29 1995-08-15 Rca Thomson Licensing Corporation Error concealment apparatus for MPEG-like video data
DE69416717T2 (de) 1993-05-21 1999-10-07 Nippon Telegraph And Telephone Corp., Tokio/Tokyo Bewegtbildkoder und -dekoder
JPH06343172A (ja) 1993-06-01 1994-12-13 Matsushita Electric Ind Co Ltd 動きベクトル検出方法及び動きベクトル符号化方法
US5448297A (en) 1993-06-16 1995-09-05 Intel Corporation Method and system for encoding images using skip blocks
JPH0730896A (ja) 1993-06-25 1995-01-31 Matsushita Electric Ind Co Ltd 動きベクトル符号化及び復号化方法
US5517327A (en) 1993-06-30 1996-05-14 Minolta Camera Kabushiki Kaisha Data processor for image data using orthogonal transformation
US5477272A (en) 1993-07-22 1995-12-19 Gte Laboratories Incorporated Variable-block size multi-resolution motion estimation scheme for pyramid coding
US5453799A (en) 1993-11-05 1995-09-26 Comsat Corporation Unified motion estimation architecture
JP3050736B2 (ja) * 1993-12-13 2000-06-12 シャープ株式会社 動画像符号化装置
KR0155784B1 (ko) 1993-12-16 1998-12-15 김광호 영상데이타의 적응형 가변장 부호화/복호화방법
US5465118A (en) 1993-12-17 1995-11-07 International Business Machines Corporation Luminance transition coding method for software motion video compression/decompression
EP0665688A3 (en) 1993-12-29 1995-11-02 Toshiba Kk Method for arranging video data and device for encoding / decoding video data.
DE69535952D1 (de) 1994-03-30 2009-06-25 Nxp Bv Verfahren und Schaltung zur Bewegungsschätzung zwischen Bildern mit zwei Zeilensprunghalbbildern, und Vorrichtung zur digitalen Signalkodierung mit einer solchen Schaltung
US5550541A (en) 1994-04-01 1996-08-27 Dolby Laboratories Licensing Corporation Compact source coding tables for encoder/decoder system
TW283289B (ja) 1994-04-11 1996-08-11 Gen Instrument Corp
US5650829A (en) 1994-04-21 1997-07-22 Sanyo Electric Co., Ltd. Motion video coding systems with motion vector detection
US5689305A (en) * 1994-05-24 1997-11-18 Kabushiki Kaisha Toshiba System for deinterlacing digitally compressed video and method
US5457495A (en) 1994-05-25 1995-10-10 At&T Ipm Corp. Adaptive video coder with dynamic bit allocation
US5767898A (en) 1994-06-23 1998-06-16 Sanyo Electric Co., Ltd. Three-dimensional image coding by merger of left and right images
US5594504A (en) 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
KR0126871B1 (ko) 1994-07-30 1997-12-29 심상철 양방향 이동벡터 추정을 위한 고속 블럭정합 방식
US5684538A (en) 1994-08-18 1997-11-04 Hitachi, Ltd. System and method for performing video coding/decoding using motion compensation
FR2725577B1 (fr) * 1994-10-10 1996-11-29 Thomson Consumer Electronics Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede
US5550847A (en) 1994-10-11 1996-08-27 Motorola, Inc. Device and method of signal loss recovery for realtime and/or interactive communications
JP3474005B2 (ja) 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
US5552832A (en) 1994-10-26 1996-09-03 Intel Corporation Run-length encoding sequence for video signals
EP0710033A3 (en) * 1994-10-28 1999-06-09 Matsushita Electric Industrial Co., Ltd. MPEG video decoder having a high bandwidth memory
US5623311A (en) 1994-10-28 1997-04-22 Matsushita Electric Corporation Of America MPEG video decoder having a high bandwidth memory
US5619281A (en) 1994-12-30 1997-04-08 Daewoo Electronics Co., Ltd Method and apparatus for detecting motion vectors in a frame decimating video encoder
EP0721287A1 (en) 1995-01-09 1996-07-10 Daewoo Electronics Co., Ltd Method and apparatus for encoding a video signal
JP3732867B2 (ja) 1995-03-09 2006-01-11 株式会社ルネサステクノロジ 画像伸張装置
EP0731614B1 (en) * 1995-03-10 2002-02-06 Kabushiki Kaisha Toshiba Video coding/decoding apparatus
KR0181027B1 (ko) 1995-03-20 1999-05-01 배순훈 화소 단위 움직임 추정을 이용하는 영상처리 시스템
KR0171118B1 (ko) 1995-03-20 1999-03-20 배순훈 비디오신호 부호화 장치
KR0181063B1 (ko) 1995-04-29 1999-05-01 배순훈 특징점을 이용한 움직임 보상에서의 그리드 형성방법 및 장치
JP3803122B2 (ja) 1995-05-02 2006-08-02 松下電器産業株式会社 画像メモリ装置および動きベクトル検出回路
US5654771A (en) 1995-05-23 1997-08-05 The University Of Rochester Video compression system using a dense motion vector field and a triangular patch mesh overlay model
US5835149A (en) 1995-06-06 1998-11-10 Intel Corporation Bit allocation in a coded video sequence
GB2301971B (en) 1995-06-06 1999-10-06 Sony Uk Ltd Video compression
GB2301972B (en) 1995-06-06 1999-10-20 Sony Uk Ltd Video compression
US5731850A (en) 1995-06-07 1998-03-24 Maturi; Gregory V. Hybrid hierarchial/full-search MPEG encoder motion estimation
US6208761B1 (en) * 1995-07-11 2001-03-27 Telefonaktiebolaget Lm Ericsson (Publ) Video coding
US5687097A (en) 1995-07-13 1997-11-11 Zapex Technologies, Inc. Method and apparatus for efficiently determining a frame motion vector in a video encoder
US5668608A (en) 1995-07-26 1997-09-16 Daewoo Electronics Co., Ltd. Motion vector estimation method and apparatus for use in an image signal encoding system
US5825830A (en) 1995-08-17 1998-10-20 Kopf; David A. Method and apparatus for the compression of audio, video or other data
GB2305797B (en) 1995-09-27 2000-03-01 Sony Uk Ltd Video data compression
US6307967B1 (en) 1995-09-29 2001-10-23 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus
US5883678A (en) 1995-09-29 1999-03-16 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio
US6026182A (en) 1995-10-05 2000-02-15 Microsoft Corporation Feature segmentation
US5929940A (en) 1995-10-25 1999-07-27 U.S. Philips Corporation Method and device for estimating motion between images, system for encoding segmented images
KR100211917B1 (ko) 1995-10-26 1999-08-02 김영환 물체 모양정보 부호화 방법
US5991463A (en) * 1995-11-08 1999-11-23 Genesis Microchip Inc. Source data interpolation method and apparatus
US5963673A (en) 1995-12-20 1999-10-05 Sanyo Electric Co., Ltd. Method and apparatus for adaptively selecting a coding mode for video encoding
JP2798035B2 (ja) * 1996-01-17 1998-09-17 日本電気株式会社 適応動きベクトル補間による動き補償フレーム間予測方法
US5692063A (en) 1996-01-19 1997-11-25 Microsoft Corporation Method and system for unrestricted motion estimation for video
US5799113A (en) 1996-01-19 1998-08-25 Microsoft Corporation Method for expanding contracted video images
US5787203A (en) 1996-01-19 1998-07-28 Microsoft Corporation Method and system for filtering compressed video images
US5737019A (en) 1996-01-29 1998-04-07 Matsushita Electric Corporation Of America Method and apparatus for changing resolution by direct DCT mapping
US6957350B1 (en) * 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
EP0793389B1 (en) 1996-02-27 2001-08-16 STMicroelectronics S.r.l. Memory reduction in the MPEG-2 main profile main level decoder
US5982438A (en) 1996-03-22 1999-11-09 Microsoft Corporation Overlapped motion compensation for object coding
US5847776A (en) 1996-06-24 1998-12-08 Vdonet Corporation Ltd. Method for entropy constrained motion estimation and coding of motion vectors with increased search range
JP3628810B2 (ja) * 1996-06-28 2005-03-16 三菱電機株式会社 画像符号化装置
JPH10191360A (ja) 1996-08-22 1998-07-21 Cirrus Logic Inc 動き推定ベクトルを求める方法および動き推定ベクトルを用いて動画像データを圧縮する方法
DE19637522A1 (de) 1996-09-13 1998-03-19 Bosch Gmbh Robert Verfahren zur Reduzierung von Daten in Videosignalen
US6233017B1 (en) * 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
JP4049280B2 (ja) * 1996-09-24 2008-02-20 株式会社ハイニックスセミコンダクター グレースケール形状情報符号化/復号化装置及び方法
KR100303685B1 (ko) * 1996-09-30 2001-09-24 송문섭 영상 예측부호화 장치 및 그 방법
US5748789A (en) 1996-10-31 1998-05-05 Microsoft Corporation Transparent block skipping in object-based video coding systems
JPH10145779A (ja) * 1996-11-06 1998-05-29 Sony Corp フィールド検出装置およびフィールド検出方法、画像符号化装置および画像符号化方法、並びに記録媒体および記録方法
US6130963A (en) 1996-11-22 2000-10-10 C-Cube Semiconductor Ii, Inc. Memory efficient decoding of video frame chroma
US5905542A (en) * 1996-12-04 1999-05-18 C-Cube Microsystems, Inc. Simplified dual prime video motion estimation
KR100413153B1 (ko) 1996-12-12 2003-12-31 마쯔시다덴기산교 가부시키가이샤 화상 부호화 장치, 화상 복호화 장치 및 기록 매체
US6377628B1 (en) * 1996-12-18 2002-04-23 Thomson Licensing S.A. System for maintaining datastream continuity in the presence of disrupted source data
US6167090A (en) 1996-12-26 2000-12-26 Nippon Steel Corporation Motion vector detecting apparatus
EP0786907A3 (en) 1997-01-24 2001-06-13 Texas Instruments Incorporated Video encoder
US6201927B1 (en) * 1997-02-18 2001-03-13 Mary Lafuze Comer Trick play reproduction of MPEG encoded signals
US5991447A (en) 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US6005980A (en) * 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US5844613A (en) 1997-03-17 1998-12-01 Microsoft Corporation Global motion estimator for motion video signal encoding
US6263065B1 (en) 1997-03-18 2001-07-17 At&T Corp. Method and apparatus for simulating central queue for distributing call in distributed arrangement of automatic call distributors
US6404813B1 (en) 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
JP3217987B2 (ja) * 1997-03-31 2001-10-15 松下電器産業株式会社 動画像信号の復号方法および符号化方法
WO1998044479A1 (fr) 1997-03-31 1998-10-08 Matsushita Electric Industrial Co., Ltd. Procede de visualisation du premier plan d'images et dispositif connexe
US5973755A (en) 1997-04-04 1999-10-26 Microsoft Corporation Video encoder and decoder using bilinear motion compensation and lapped orthogonal transforms
WO1998054888A2 (en) 1997-05-30 1998-12-03 Sarnoff Corporation Method and apparatus for performing hierarchical motion estimation using nonlinear pyramid
JP3164031B2 (ja) * 1997-05-30 2001-05-08 日本ビクター株式会社 動画像符号化復号化装置、動画像符号化復号化方法、及び動画像符号化記録媒体
US6067322A (en) * 1997-06-04 2000-05-23 Microsoft Corporation Half pixel motion estimation in motion video signal encoding
US6057884A (en) * 1997-06-05 2000-05-02 General Instrument Corporation Temporal and spatial scaleable coding for video object planes
US6574371B2 (en) 1997-06-09 2003-06-03 Hitachi, Ltd. Image decoding method
ES2545066T3 (es) 1997-06-09 2015-09-08 Hitachi, Ltd. Medio de grabación de información de imágenes
JPH1169345A (ja) 1997-06-11 1999-03-09 Fujitsu Ltd フレーム間予測動画像符号化装置及び復号装置並びにフレーム間予測動画像符号化方法及び復号方法
GB9712651D0 (en) 1997-06-18 1997-08-20 Nds Ltd Improvements in or relating to encoding digital signals
US6359929B1 (en) * 1997-07-04 2002-03-19 Matsushita Electric Industrial Co., Ltd. Image predictive decoding method, image predictive decoding apparatus, image predictive coding apparatus, and data storage medium
JP2897763B2 (ja) * 1997-07-28 1999-05-31 日本ビクター株式会社 動き補償符号化装置、復号化装置、符号化方法及び復号化方法
KR100244291B1 (ko) 1997-07-30 2000-02-01 구본준 동영상 움직임 벡터 코딩 방법
US6310918B1 (en) 1997-07-31 2001-10-30 Lsi Logic Corporation System and method for motion vector extraction and computation meeting 2-frame store and letterboxing requirements
US6266091B1 (en) 1997-07-31 2001-07-24 Lsi Logic Corporation System and method for low delay mode operation video decoding
FR2766946B1 (fr) * 1997-08-04 2000-08-11 Thomson Multimedia Sa Procede et dispositif de pretraitement pour estimation de mouvement
US6281942B1 (en) 1997-08-11 2001-08-28 Microsoft Corporation Spatial and temporal filtering mechanism for digital motion video signals
KR100252342B1 (ko) 1997-08-12 2000-04-15 전주범 움직임 벡터 부호화 방법 및 그 장치
US6148033A (en) 1997-11-20 2000-11-14 Hitachi America, Ltd. Methods and apparatus for improving picture quality in reduced resolution video decoders
CN1668111A (zh) 1997-12-01 2005-09-14 三星电子株式会社 运动向量预测方法
US6111914A (en) 1997-12-01 2000-08-29 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
EP0921683B1 (en) * 1997-12-02 2010-09-08 Daewoo Electronics Corporation Method and apparatus for encoding mode signals for use in a binary shape coder
US5973743A (en) * 1997-12-02 1999-10-26 Daewoo Electronics Co., Ltd. Mode coding method and apparatus for use in an interlaced shape coder
JP3740813B2 (ja) 1997-12-12 2006-02-01 ソニー株式会社 画像符号化方法および画像符号化装置
KR100523908B1 (ko) * 1997-12-12 2006-01-27 주식회사 팬택앤큐리텔 격행주사 영상에 대한 영상신호 부호화 장치 및 그 방법
US6339656B1 (en) * 1997-12-25 2002-01-15 Matsushita Electric Industrial Co., Ltd. Moving picture encoding decoding processing apparatus
US5946043A (en) 1997-12-31 1999-08-31 Microsoft Corporation Video coding using adaptive coding of block parameters for coded/uncoded blocks
US6122017A (en) * 1998-01-22 2000-09-19 Hewlett-Packard Company Method for providing motion-compensated multi-field enhancement of still images from video
JPH11275592A (ja) * 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
EP1062626A4 (en) * 1998-02-13 2004-10-06 Quvis Inc SYSTEM AND METHOD FOR OPTIMIZED COMPRESSION OF INTERLACED MOTION IMAGES
KR100328417B1 (ko) 1998-03-05 2002-03-16 마츠시타 덴끼 산교 가부시키가이샤 화상부호화장치및화상복호화장치, 화상부보화방법 및 화상복호화방법, 및 데이터기억매체
DE69801209T2 (de) 1998-03-20 2001-11-08 Stmicroelectronics S.R.L., Agrate Brianza Hierarchischer rekursiver Bewegungsschätzer für Bewegtbildkodierer
KR100281462B1 (ko) * 1998-03-30 2001-02-01 전주범 격행 부호화에서 이진 형상 신호의 움직임 벡터 부호화 방법
US6408029B1 (en) 1998-04-02 2002-06-18 Intel Corporation Method and apparatus for simplifying real-time data encoding
JP3888597B2 (ja) 1998-06-24 2007-03-07 日本ビクター株式会社 動き補償符号化装置、及び動き補償符号化復号化方法
US6519287B1 (en) * 1998-07-13 2003-02-11 Motorola, Inc. Method and apparatus for encoding and decoding video signals by using storage and retrieval of motion vectors
US6275531B1 (en) 1998-07-23 2001-08-14 Optivision, Inc. Scalable video coding method and apparatus
JP4026238B2 (ja) * 1998-07-23 2007-12-26 ソニー株式会社 画像復号装置及び画像復号方法
US6219070B1 (en) * 1998-09-30 2001-04-17 Webtv Networks, Inc. System and method for adjusting pixel parameters by subpixel positioning
GB2343579A (en) 1998-11-07 2000-05-10 Ibm Hybrid-linear-bicubic interpolation method and apparatus
US6081209A (en) 1998-11-12 2000-06-27 Hewlett-Packard Company Search system for use in compression
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6418166B1 (en) 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
US6496608B1 (en) 1999-01-15 2002-12-17 Picsurf, Inc. Image data interpolation system and method
EP1069774A4 (en) 1999-02-05 2008-09-17 Sony Corp CODING AND DECODING DEVICES AND CORRESPONDING METHODS, ENCODING SYSTEM, AND CORRESPONDING METHOD
US6259741B1 (en) 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
IT1313382B1 (it) 1999-03-18 2002-07-23 St Microelectronics Srl Stima del moto ricorsiva spazio temporale con sottocampionamento ad 1/2 di macroblocco e ad 1/4 di pixel
JP3778721B2 (ja) 1999-03-18 2006-05-24 富士通株式会社 動画像符号化方法および装置
US6320593B1 (en) 1999-04-20 2001-11-20 Agilent Technologies, Inc. Method of fast bi-cubic interpolation of image information
US6519005B2 (en) * 1999-04-30 2003-02-11 Koninklijke Philips Electronics N.V. Method of concurrent multiple-mode motion estimation for digital video
CN1166213C (zh) 1999-04-30 2004-09-08 皇家菲利浦电子有限公司 选择b帧编码模式的视频编码方法和系统
US6968008B1 (en) 1999-07-27 2005-11-22 Sharp Laboratories Of America, Inc. Methods for motion estimation with adaptive motion accuracy
US6735249B1 (en) 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
GB9928022D0 (en) 1999-11-26 2000-01-26 British Telecomm Video coding and decording
US6493392B1 (en) 1999-12-27 2002-12-10 Hyundai Electronics Industries Co., Ltd. Method for coding digital interlaced moving video
KR100619377B1 (ko) 2000-02-22 2006-09-08 주식회사 팬택앤큐리텔 움직임 추정 방법 및 장치
US6473460B1 (en) * 2000-03-31 2002-10-29 Matsushita Electric Industrial Co., Ltd. Method and apparatus for calculating motion vectors
US6449312B1 (en) * 2000-06-08 2002-09-10 Motorola, Inc. Method of estimating motion in interlaced video
US6647061B1 (en) * 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
JP4682410B2 (ja) 2000-10-12 2011-05-11 ソニー株式会社 画像処理装置及び画像処理方法
KR100355831B1 (ko) * 2000-12-06 2002-10-19 엘지전자 주식회사 2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법
ATE297099T1 (de) * 2001-02-13 2005-06-15 Koninkl Philips Electronics Nv Verfahren zur codierung und decodierung von bewegungsschätzungen
US6778610B2 (en) 2001-03-02 2004-08-17 Redrock Semiconductor, Ltd. Simultaneous search for different resync-marker patterns to recover from corrupted MPEG-4 bitstreams
US7206453B2 (en) 2001-05-03 2007-04-17 Microsoft Corporation Dynamic filtering for lossy compression
EP1294194B8 (en) * 2001-09-10 2010-08-04 Texas Instruments Incorporated Apparatus and method for motion vector estimation
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
US20030095603A1 (en) * 2001-11-16 2003-05-22 Koninklijke Philips Electronics N.V. Reduced-complexity video decoding using larger pixel-grid motion compensation
US20030099294A1 (en) * 2001-11-27 2003-05-29 Limin Wang Picture level adaptive frame/field coding for digital video content
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
ES2610430T3 (es) 2001-12-17 2017-04-27 Microsoft Technology Licensing, Llc Codificación por omisión de macrobloques
US8780970B2 (en) 2001-12-21 2014-07-15 Polycom, Inc. Motion wake identification and control mechanism
EP1827029A1 (en) * 2002-01-18 2007-08-29 Kabushiki Kaisha Toshiba Video decoding method and apparatus
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
EP1347649A1 (en) 2002-03-18 2003-09-24 Lg Electronics Inc. B picture mode determining method and apparatus in video coding system
AU2003235174A1 (en) * 2002-04-19 2003-11-03 Matsushita Electric Industrial Co., Ltd Method for calculating motion vector
US7277587B2 (en) 2002-04-26 2007-10-02 Sharp Laboratories Of America, Inc. System and method for lossless video coding
EP1422946A4 (en) 2002-07-26 2008-04-02 Matsushita Electric Ind Co Ltd MOVING IMAGE PROCEDURE, MOVABLE IMAGE DECODING METHOD AND RECORD MEDIUM
US7020200B2 (en) * 2002-08-13 2006-03-28 Lsi Logic Corporation System and method for direct motion vector prediction in bi-predictive video frames and fields
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7426308B2 (en) * 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7623574B2 (en) 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7961786B2 (en) * 2003-09-07 2011-06-14 Microsoft Corporation Signaling field type information
US7616692B2 (en) 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7577200B2 (en) * 2003-09-07 2009-08-18 Microsoft Corporation Extended range variable length coding/decoding of differential motion vector information
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7317839B2 (en) * 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7295616B2 (en) 2003-11-17 2007-11-13 Eastman Kodak Company Method and system for video filtering with joint motion and noise estimation
KR100586882B1 (ko) 2004-04-13 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 지원하는 코딩 방법 및 장치
FR2872973A1 (fr) * 2004-07-06 2006-01-13 Thomson Licensing Sa Procede ou dispositif de codage d'une sequence d'images sources
JP3129986U (ja) 2006-12-26 2007-03-08 ライオン株式会社 板状緩衝材

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11112994A (ja) * 1997-09-12 1999-04-23 Lg Semicon Co Ltd Mpeg−4の動きベクトル符号化方法
JP2002532027A (ja) * 1998-11-30 2002-09-24 マイクロソフト コーポレイション ビデオ圧縮のための効率的な運動ベクトルの符号化
JP2001346215A (ja) * 2000-06-05 2001-12-14 Mitsubishi Electric Corp 符号化装置
JP2005510985A (ja) * 2001-11-21 2005-04-21 ジェネラル・インストルメント・コーポレーション デジタルビデオコンテンツのマクロブロックレベルにおける適応フレーム/フィールド符号化
US20030099292A1 (en) * 2001-11-27 2003-05-29 Limin Wang Macroblock level adaptive frame/field coding for digital video content
JP2004048711A (ja) * 2002-05-22 2004-02-12 Matsushita Electric Ind Co Ltd 動画像の符号化方法および復号化方法およびデータ記録媒体
JP2004215229A (ja) * 2002-11-01 2004-07-29 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法

Also Published As

Publication number Publication date
JP2005086825A (ja) 2005-03-31
US8625669B2 (en) 2014-01-07
KR20050025567A (ko) 2005-03-14
CN101335896B (zh) 2015-05-20
JP2011166816A (ja) 2011-08-25
KR101083904B1 (ko) 2011-11-22
JP2007504760A (ja) 2007-03-01
MXPA06002595A (es) 2006-06-05
ES2601927T3 (es) 2017-02-16
JP4698186B2 (ja) 2011-06-08
KR20090108110A (ko) 2009-10-14
CN1630374A (zh) 2005-06-22
KR20060133943A (ko) 2006-12-27
US20090168890A1 (en) 2009-07-02
PL1528812T3 (pl) 2014-03-31
KR100681370B1 (ko) 2007-02-12
US20050053137A1 (en) 2005-03-10
EP2290991A1 (en) 2011-03-02
CN100579229C (zh) 2010-01-06
EP2290991B1 (en) 2016-08-10
WO2005027497A3 (en) 2005-05-06
JP2008278547A (ja) 2008-11-13
CN101335896A (zh) 2008-12-31
EP1528812B1 (en) 2013-07-10
EP1528812A1 (en) 2005-05-04
KR101104019B1 (ko) 2012-01-06
WO2005027497A2 (en) 2005-03-24
US7567617B2 (en) 2009-07-28
JP5174581B2 (ja) 2013-04-03

Similar Documents

Publication Publication Date Title
JP4921971B2 (ja) インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸
JP5048146B2 (ja) Ac予測状態情報のためのビットプレーンコーディングおよびデコーディング
JP4928002B2 (ja) インターレース・ビデオの進歩した双方向予測コーディング
US7606311B2 (en) Macroblock information signaling for interlaced frames

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101022

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110124

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110131

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110222

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110301

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110322

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110610

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110908

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110915

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111011

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111107

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: 20120131

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120203

R150 Certificate of patent or registration of utility model

Ref document number: 4921971

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250