JP2014039321A - デコードされたビデオブロック内の予期される歪みを判定する方法および装置 - Google Patents

デコードされたビデオブロック内の予期される歪みを判定する方法および装置 Download PDF

Info

Publication number
JP2014039321A
JP2014039321A JP2013218584A JP2013218584A JP2014039321A JP 2014039321 A JP2014039321 A JP 2014039321A JP 2013218584 A JP2013218584 A JP 2013218584A JP 2013218584 A JP2013218584 A JP 2013218584A JP 2014039321 A JP2014039321 A JP 2014039321A
Authority
JP
Japan
Prior art keywords
distortion
block
motion vector
encoder
expected
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.)
Ceased
Application number
JP2013218584A
Other languages
English (en)
Inventor
Jill Macdonald Boyce
マクドナルド ボイス ジル
Yao Wang
ワン ヤオ
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2014039321A publication Critical patent/JP2014039321A/ja
Ceased 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • 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
    • 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
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/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/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • 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/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/19Methods 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 using optimisation based on Lagrange multipliers
    • 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/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
    • H04N19/197Methods 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 including determination of the initial value of an encoding parameter
    • 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/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/567Motion estimation based on 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/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/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

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)

Abstract

【課題】デコードされたビデオブロック内の予期される歪みを判定する方法および装置を提供すること。
【解決手段】装置は、動きベクトルが非整数値を有するときに、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるイメージブロックの動きベクトルを使用して、イメージブロックの予期される歪みを計算する歪み計算機(1050)を含む。歪み計算機(1050)は、非整数値を有する動きベクトルに関して基準ピクチャ内の少なくとも2つの隣接する整数ピクセル位置の伝搬された歪みに基づいて予期される歪みを計算する。イメージブロックは、インターモードまたはスキップモードでコーディングされる。
【選択図】図1B

Description

関連出願の相互参照
本願は、参照によってその全体が本明細書に組み込まれている2006年8月28日に出願した米国仮出願第60/823748号の利益を主張するものである。
本発明は、全般的にはビデオエンコーディングおよび歪み計算に関し、より具体的には、デコードされたビデオブロック内の予期される歪みを判定する方法および装置に関する。
例えば国際電気通信連合、電気通信標準化部門(ITU−T)H.261勧告、ITU−T H.263勧告、国際標準化機構/国際電気標準会議(ISO/IEC)Moving Picture Experts Group−1(MPEG−1)標準規格、ISO/IEC MPEG−2標準規格、およびISO/IEC MPEG−4 Part 10 Advanced Video Coding(AVC)標準規格/ITU−T H.264勧告(以下では「MPEG−4 AVC標準規格」)に準拠するような通常のビデオエンコーダでは、ビデオフレームは、マクロブロックに分割され、各マクロブロック(MB)を、複数のコーディングモデルのうちの1つでコーディングすることができる。インターモードでは、前にコーディングされたフレーム内の最もよく整合するブロックを指し示す動きベクトル(MV)が、まず見つけられ、次に、このマクロブロックとその最もよく整合するブロックとの間の差が、コーディングされる。1マクロブロックについて1つの動きブロックだけを許容するのではなく、他のインターモードは、マクロブロックを複数のサブブロックに分割することを可能にし、サブブロックごとに別々の動きベクトルを推定する。現在のフレームの直前のフレームを使用するのではなく、エンコーダは、前にエンコードされた複数の可能なフレームの中から選択することもできる。所与のインターモード(特定のサブブロック構造に対応する)について、動き推定プロセスは、動き推定判断基準(motion estimation criterion)を最小化することによって、各マクロブロックまたはサブブロックの最良の基準フレームインデックス(reference frame index)および対応する動きベクトルを判定する。スキップモードでは、エンコーダは、動きベクトルが0であると仮定し、あるいは、このマクロブロックの動きベクトルを、コーディング済みの選択された隣接するマクロブロックの動きベクトルから予測し、予測誤差をコーディングしない。エンコードされたブロックは、単に、予測された動きベクトル(0とすることができる)に基づき動き補償されたブロックである。イントラモードでは、マクロブロックは、直接にコーディングされるか、同一フレーム内の以前にコーディングされたピクセルから予測される(イントラ予測と呼ぶ)かのいずれかである。それぞれが異なるイントラモードに対応する、イントラ予測に関する複数の可能な隣接するパターンがある。すべての可能なモードの中で、エンコーダは、最終的に、事前にセットされたモード決定判断基準に基づいて、最適のモードを選択する。
レート歪み最適化動き推定(rate-distortion optimized motion estimation)およびモード選択では、動き推定およびモード決定判断基準の両方が、デコードされたマクロブロックの歪みと使用されるビット数との加重和である。基礎となる伝送ネットワークが信頼できないときには、伝送されるビデオビットストリームの一部が失われる可能性がある。困難な問題は、いかにして予期される歪みをデコーダで判定するかである。
前述のレート歪み最適化動き推定およびモード決定プロセスは、量子化歪みと予測誤差をコーディングするのに必要なビット数とを判定するために、各候補オプションの量子化と予測誤差のコーディングとを必要とする。レート制約動き推定(rate-constrained motion estimation)では、動き検索に使用される判断基準が、予測誤差をコーディングするのに必要なビット数を必要とするのではなく、代わりに予測誤差自体を必要とする。
動き推定およびモード決定に関する従来の研究のほとんどでは、検索判断基準は、エンコーダでの量子化器に伴う歪み(本明細書では、「量子化歪み」とも称する)だけを考慮する。具体的には、検索判断基準は、量子化歪みと、モード情報、動きベクトル(インターモードが選択される場合)、および予測誤差信号(またはイントラモードがイントラ予測を利用しない場合はオリジナルピクセル)を含む候補モードを使用してマクロブロックをコーディングするのに必要なビット数との加重和である。そのような方法を、一般に、レート−歪み最適化モード選択と呼ぶ。重みは、Langrangian乗数と呼ばれる。動き推定について、単純化された検索判断基準も提案されてきたが、これは、インター予測誤差と、動きベクトルをコーディングするのに必要なビット数との加重和を使用する。そのような方法を、一般に、レート制約動き推定と呼ぶ。
圧縮されたビデオストリームが、ビットエラーおよび/またはパケットロスを経験する可能性があるネットワークを介して配信されるとき、デコーダで見られる歪みは、エンコーダで見られる歪みとは異なる。レート歪み最適化動き推定および動き選択においての主な課題は、候補コーディングモードおよび動きベクトルが与えられるとすると、あるマクロブロックの予期されるデコーダ歪みをどのように判定するかである。ROPE法と呼ばれる従来技術の方法は、エンコーダ内の過去のデコードされたフレーム内のピクセルごとに1次および2次のモーメントを再帰的に計算し、記録する。これらの前のフレームの記録された1次および2次のモーメントに基づいて、エンコーダは、候補コーディングモードごとに各マクロブロックの予期される歪みを計算することができる。ROPE法に関する問題は、動き推定の正確さがサブペル(sub-pel)であるとき、動き補償について複数の基準フレームが許容されるとき、またはエンコーダがデブロッキングフィルタリングを利用するときに、非適用であることである。ROPE法は、フレームコピーと呼ばれるタイプのエラー隠蔽だけに適用できる。また、ROPE法は、すべてのピクセルでチャネル歪みを追跡することを伴うので、集中的な計算を必要とする。ROPEの拡張が、サブペル動き補償を考慮するために提案されてきたが、そのような拡張は、オリジナルのROPE法よりかなり多くの計算を必要とする。動き推定へのROPE法のもう1つの拡張が考慮されてきたが、この拡張は、それでも、整数画素(integer-pel)動きベクトルおよびフレームコピーエラー隠蔽法の使用を前提とする。
従来技術の手法(以下では、「第1の従来技術の手法」と呼ぶ)は、モード決定においてチャネルが誘導する歪みを考慮し、候補モードのマクロブロックごとに予期される歪みを計算する。第1の従来技術の手法は、Iフレームの後の前にコーディングされたすべてのフレーム内のすべてのマクロブロックの隠蔽歪み(concealment distortion)のストレージを必要とする、予期される歪みを判定する方法を使用する。ROPE法と同様に、第1の従来技術の手法は、サブペル動き補償、動き補償に関する複数の基準フレーム、およびデブロッキングフィルタリングを考慮に入れていない。
やはりマクロブロックレベルで予期されるデコーダ歪みを再帰的に計算する、ブロックレベルデコーダ歪みモデルを伴う第2の従来技術の手法が提案された。第2の従来技術の手法は、前のフレーム内の対応する整合ブロックが受信される場合およびこれが失われる場合を別々に考慮することによって、現在のマクロブロックの歪みを判定する。しかし、第2の従来技術の手法は、エンコーダ動きベクトルがエラー隠蔽のためにデコーダで使用可能であるときに限って適用できる。さらに、第2の従来技術の手法は、各過去のフレーム内のマクロブロックごとに、ブロックが受信されたときの歪みとブロックが失われたときの歪みとを別々に追跡する必要があり、したがって、かなりの量の計算およびメモリースペースを必要とする。また、第2の従来技術の手法は、動き推定およびモード決定に関してではなく、エンコーダの選択した動きベクトルおよびコーディングモードに基づいてマクロブロックごとに予期される歪みを推定するのに使用される。
上記および他の従来技術の欠点および不利益は、デコードされたビデオブロック内の予期される歪みを判定する方法および装置を対象とする本発明によって対処される。
本発明の一態様によれば、装置が提供される。本装置は、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるイメージブロックの動きベクトルが非整数値を有するときにその動きベクトルを使用して、そのイメージブロックの予期される歪みを計算する歪み計算機を含む。歪み計算機は、非整数値を有する動きベクトルに関して基準ピクチャ内の少なくとも2つの隣接する整数ピクセル位置の伝搬された歪みに基づいて予期される歪みを計算する。イメージブロックは、インターモードまたはスキップモードでコーディングされる。
本発明のもう1つの態様によれば、方法が提供される。本方法は、イメージブロックの動きベクトルが非整数値を有するときに動きベクトルを使用して、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるイメージブロックの予期される歪みを計算するステップを含む。計算するステップは、非整数値を有する動きベクトルに関して基準ピクチャ内の少なくとも2つの隣接する整数ピクセル位置の伝搬された歪みに基づいて予期される歪みを計算する。イメージブロックは、インターモードまたはスキップモードでコーディングされる。
本発明のさらにもう1つの態様によれば、装置が提供される。本装置は、デブロッキングフィルタリング動作が、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるイメージブロックに適用されるときに、イメージブロックの予期される歪みを計算する歪み計算機を含む。歪み計算機は、デブロッキングフィルタリング動作に使用されるピクセル位置に関して基準ピクチャ内の少なくとも2つの隣接する整数ピクセル位置の伝搬された歪みに基づいて予期される歪みを計算する。イメージブロックは、インターモードまたはスキップモードでコーディングされる。
本発明のさらにもう1つの態様によれば、方法が提供される。この方法は、デブロッキングフィルタリング動作が、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるイメージブロックに適用されるときに、イメージブロックの予期される歪みを計算するステップを含む。計算するステップは、デブロッキングフィルタリング動作に使用されるピクセル位置に関して基準ピクチャ内の少なくとも2つの隣接する整数ピクセル位置の伝搬された歪みに基づいて予期される歪みを計算する。イメージブロックは、インターモードまたはスキップモードでコーディングされる。
本発明のさらにもう1つの態様によれば、装置が提供される。この装置は、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるインターコーディングされたブロックのデブロッキングフィルタ動作および動きベクトルを利用して、インターコーディングされたブロックの予期される歪みを計算するエンコーダを含む。エンコーダは、デブロッキングフィルタ動作に使用されるインターコーディングされたブロックの隣接するブロック内のピクセル位置からの歪みの影響に基づいて予期される歪みを計算する。
本発明のさらにもう1つの態様によれば、方法が提供される。この方法は、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるインターコーディングされたブロックのデブロッキングフィルタ動作および動きベクトルを利用して、インターコーディングされたブロックの予期される歪みを計算するステップを含む。エンコーダは、デブロッキングフィルタ動作に使用されるインターコーディングされたブロックの隣接するブロック内のピクセル位置からの歪みの影響に基づいて予期される歪みを計算する。
本発明の追加の態様によれば、装置が提供される。この装置は、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるブロックの予期される歪みを計算するエンコーダを含む。エンコーダは、ブロックのコーディングモードおよび動きベクトルに基づき、デコーダエラー隠蔽動作を使用して予期される歪みを計算する。ブロックの動きベクトルは、非整数値を有する。
本発明のさらなる追加の態様によれば、方法が提供される。この方法は、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるブロックの予期される歪みを計算するステップを含む。計算するステップは、ブロックのコーディングモードおよび動きベクトルに基づき、デコーダエラー隠蔽動作を使用して予期される歪みを計算し、ブロックの動きベクトルは、非整数値を有する。
本発明の上記に挙げたおよび他の形態、利点ならびに特徴は、添付図面と共に読まれるべき例示的実施形態の次の詳細な説明から明白になる。
本発明は、次の例示的図面によってよりよく理解することができる。
本発明の実施形態による、本原理を適用できる例示的ビデオエンコーダを示すブロック図である。 本発明の実施形態による、本原理を適用できるビデオコーディング環境を示すブロック図である。 本発明の実施形態による、所与のコーディングオプションの
Figure 2014039321
を判定する例示的方法を示す流れ図である。
本発明の実施形態による、デコーダがエラー隠蔽方法EC2を使用するときの所与のコーディングオプションの
Figure 2014039321
を判定する方法を示す流れ図である。
本発明の実施形態による、デコーダがエラー隠蔽方法EC3を使用するときの所与の候補コーディングオプションの
Figure 2014039321
を判定する例示的方法を示す流れ図である。
本発明の実施形態による、デコーダがエラー隠蔽方法EC2を使用するときの、レート歪み最適化動き推定およびモード決定のための所与のマクロブロック(MB)のLagrangianコストにおける予期される総歪み
Figure 2014039321
を判定する例示的方法を示す流れ図である。
本発明の実施形態による、デコーダがエラー隠蔽方法EC3を使用するときの、レート歪み最適化動き推定およびモード決定のための所与のマクロブロック(MB)のLagrangianコストにおける
Figure 2014039321
を判定する例示的方法を示す流れ図である。
本発明の実施形態による、デコーダがエラー隠蔽方法EC3を使用するときの、所与のマクロブロック(MB)のコーディングオプションoを選択するための予期される総歪み
Figure 2014039321
およびチャネル歪み
Figure 2014039321
を判定する例示的方法を示す流れ図である。
本発明は、デコードされたビデオブロック内の予期される歪みを判定する方法および装置を対象とする。予期される歪みは、異なる候補動きベクトルおよびコーディングモードに関して判定することができる。有利なことに、本原理の様々な実施形態は、デコーダで使用できる少なくとも3つの異なるエラー隠蔽技法のうちの1つまたは複数に関して実施することができる。
この説明では、本発明の原理を示す。したがって、当業者は、本明細書で明示的には説明されず、または図示されないが、本発明の原理を実施し、本発明の趣旨および範囲に含まれる様々な配置を考案できることを理解するだろう。
本明細書で挙げられるすべての例および条件的言語は、読者が本発明の原理および発明者が本技術を促進するのに寄与した概念を理解するのを助ける教育上の目的のために意図されたものであり、そのような具体的に挙げられる例および条件に限定されないものとして解釈されなければならない。
さらに、本発明の原理、態様、および実施形態ならびに本発明の特定の実施例を挙げる本明細書のすべての記述は、本発明の構造的同等物および機能的同等物の両方を含むことが意図されている。さらに、そのような同等物が、現在既知の同等物および将来に開発される同等物の両方、すなわち構造にかかわりなく同一の機能を実行するよう開発されたすべての要素を含むことが意図されている。
したがって、例えば、本明細書で提示されるブロック図が、本発明の原理を実施する例示的回路の概念図を表すことが、当業者によって理解されるであろう。同様に、すべてのフローチャート、流れ図、状態遷移図、擬似コードなどが、コンピューター読み取り可能な媒体内で実質的に表すことができ、つまり明示的に図示されるものであってもなくても、コンピューターまたはプロセッサーによって実行することができる様々なプロセスを表すことが理解されるだろう。
図面に示された様々な要素の機能は、専用ハードウェアならびに適当なソフトウェアと関連してソフトウェアを実行することができるハードウェアの使用を介して提供することができる。プロセッサーによって提供されるときに、それらの機能を、単一の専用プロセッサーによって、単一の共有プロセッサーによって、またはその一部を共有できる複数の個別のプロセッサーによって提供することができる。さらに、用語「プロセッサー」または「コントローラー」の明示的使用は、ソフトウェアを実行することができるハードウェアを排他的に指すと解釈されてはならず、デジタル信号プロセッサー(「DSP」)ハードウェア、ソフトウェアを格納するための読み取り専用メモリー(「ROM」)、ランダムアクセスメモリー(「RAM」)、および不揮発性記憶装置を暗黙的に含むことができるが、これに限定されるものではない。
標準のおよび/またはカスタムの他のハードウェアをも含むことができる。同様に、図面に示されたすべての転換は、概念的であるにすぎない。これらの機能を、プログラムロジックの動作を介して、専用ロジックを介して、プログラム制御と専用ロジックとの統合を介して、または手動でさえ実行することができ、具体的な技法は、文脈からより具体的に理解されるとおり、実装者によって選択可能である。
本明細書の特許請求の範囲において、指定された機能を実行する手段として表されるすべての要素は、例えばa)その機能を実行する回路要素の組合せ、またはb)その機能を実行するためにソフトウェアを実行する適当な回路と組み合わされた、ファームウェア、マイクロコードなどを含む任意の形態のソフトウェアを含む、その機能を実行する任意の方法を含むことが意図されている。このような特許請求の範囲によって定義される本発明は、様々な列挙される手段によって提供される機能性が、特許請求の範囲が要求する形で組み合わされ、統合されるという事実にある。したがって、これらの機能性を提供できるすべての手段が、本明細書で示される手段と同等であると考えられる。
本明細書での本原理の「一実施形態」または「実施形態」への言及は、その実施形態に関連して説明される特定の特徴、構造、特性などが、本原理の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通じた様々な場所に現れる句「一実施形態で」または「実施形態で」の出現は、必ずしも、すべてが同一の実施形態に言及するのではない。
本明細書で使用されるとき、隣接する整数ピクセル位置は、非整数値(non-integer valued)動きベクトルと呼ばれる非整数位置に最も近い整数ピクセル位置である。
図1Aを見ると、本原理を適用できる例示的ビデオエンコーダが、符号100によって概略的に示されている。
ビデオエンコーダ100への入力は、結合器110の非反転入力と信号通信して接続される。結合器110の出力は、変圧器/量子化器120と信号通信して接続される。変圧器/量子化器120の出力は、エントロピーコーダ(entropy coder)140と信号通信して接続される。エントロピーコーダ140の出力は、エンコーダ100の出力として使用可能である。
変圧器/量子化器120の出力は、さらに、逆変圧器/量子化器150と信号通信して接続される。逆変圧器/量子化器150の出力は、デブロックフィルタ160の入力と信号通信して接続される。デブロックフィルタ160の出力は、基準ピクチャストア170と信号通信して接続される。基準ピクチャストア170の第1出力は、動き推定器180の第1入力と信号通信して接続される。エンコーダ100の入力は、さらに、動き推定器180の第2入力と信号通信して接続される。動き推定器180の出力は、動き補償器190の第1入力と信号通信して接続される。基準ピクチャストア170の第2出力は、動き補償器190の第2入力と信号通信して接続される。動き補償器190の出力は、結合器110の反転入力と信号通信して接続される。
図1Bを見ると、本原理を適用できるビデオコーディング環境が、符号1000によって概略的に示されている。
ビデオコーディング環境1000は、歪み計算機1050の第1入力、基準ピクチャストア1020の入力、および損失を伴うチャネル1030への入力と信号通信して接続された出力を有するエンコーダ1010を含む。基準ピクチャストア1020の出力は、エンコーダ1010の第1入力と信号通信して接続される。損失を伴うチャネルの第1出力は、歪み計算機1050の第2入力と信号通信して接続される。歪み計算機の出力は、歪んだ基準ピクチャストア1060の入力と信号通信して接続される。基準ピクチャストア1060の出力は、歪み計算機1050の第3入力と信号通信して接続される。
損失を伴うチャネルの第2出力は、デコーダ1040の入力と信号通信して接続される。エンコーダ1010の第2入力は、このビデオコーディング環境への入力として使用可能である。デコーダ1040の出力は、ビデオコーディングシステム1000の出力として使用可能である。
歪み計算機1050が、エンコーダ1010とは別々に図示されているが、別の実施形態では、本原理の趣旨を維持しながら、歪み計算機1050をエンコーダ1050内に含めることができることを理解すべきである。すなわち、本明細書で提示される本原理の実施形態を考慮すれば、当業者は、本原理の趣旨を維持しながら、本明細書に示された要素に対する上記および様々な他の構成および変更を企図するであろう。
本原理によれば、ビデオブロック内の歪みを判定する方法および装置が提供される。一実施形態で、候補コーディングモードおよび動きベクトルに対応するマクロブロックの予期される歪みが、推定される。さらに、一実施形態で、最終的に選択されるコーディングモードの各マクロブロックの予期されるチャネル歪みも推定され、これは、次のフレーム内のマクロブロックの総歪みを計算するのに使用される。現在のフレームの候補コーディングモードおよび動きベクトルの新しいマクロブロックの予期される総歪みは、動き補償に使用される基準フレームから伝搬されたチャネル歪み、およびこのマクロブロックだけが失われる場合、このマクロブロックの隠蔽歪みの加重和である。
それぞれ推定方法の3つのバリエーションを対象とする例示的実施形態を、次の3つのタイプのエラー隠蔽方法すなわち、フレームコピー、現在のフレームの動きベクトルの使用、および前のフレーム内の同一位置のマクロブロックの動きベクトルの使用に関して説明する。本原理の実施形態は、エンコーダがサブペル動きベクトルを使用するときに使用することができる。さらに、本原理の実施形態は、複数の基準フレームが使用されるときに使用することができる。さらに、本原理の実施形態は、デブロッキングフィルタリングが使用されるときに使用することができる。また、本原理の実施形態は、デコーダが異なるタイプのエラー隠蔽方法を使用するときに使用することができる。本原理の実施形態は、すべてのピクセルでのチャネル歪みの追跡を必要とせず、したがって、実質的にROPE法より単純である。さらに、本原理の実施形態は、上で述べた第2の従来技術の手法より少ない計算およびメモリースペースを必要とする。上で述べたように、様々な実施形態ならびに様々な実施形態の様々な態様は、当業者によって容易に判定されるように、本原理の範囲を維持しながら、容易に組み合わせることができる。
例示および明瞭さのために、本明細書で使用される表記および仮定の一部ならびに本原理の様々な実施形態の概要の説明を、ここで提供する。
我々は、フレームnのピクセルiのオリジナル値を表すのに
Figure 2014039321
を使用し、エンコーダでの再構成された値を表すのに
Figure 2014039321
を使用し、デコーダでの再構成された値を表すのに
Figure 2014039321
を使用する。フレームnの第jマクロブロックに関するデコーダで予期される総歪みは、
Figure 2014039321
と定義され、ここで、期待値演算子{.}は、所与のパケット損失率についてすべての可能なパケットロス実現(packet loss realization)にわたってとられる。量子化歪みは、
Figure 2014039321
と定義され、これは、任意の選択されたコーディングモードおよび動きベクトルについてエンコーダで正確に計算することができる。予期されるチャネル歪みは、
Figure 2014039321
と定義される。下で提示する式の一部で、我々は、
Figure 2014039321
であるという仮定を利用する。
我々は、Pフレーム内の各マクロブロックが損失率Pを有し、各パケットがフレーム全体またはマクロブロックの定数を含む場合、損失率Pがパケット損失率と等しいと仮定する。
レート歪み最適化動き推定およびモード決定では、動きベクトル(複数の基準フレームが許容される場合は基準フレームインデックスを含む)およびコーディングモードは、次のようにLagrangianコスト関数を最小化することによって決定される。
Figure 2014039321
ここで、oは、候補コーディングオプション(コーディングモードと、インターモードの候補基準フレームインデックスおよび動きベクトルを含む)を表し、
Figure 2014039321
は、コーディングオプションoを使用するフレームn内のマクロブロックjの予期される総歪みを表し、
Figure 2014039321
は、オプションoを使用してこのマクロブロックをコーディングするのに必要なビットの総数である。各候補インターモードについて、すべての可能な基準フレームインデックスおよび動きベクトルに対応する予期される歪み
Figure 2014039321
および結果的にLagrangianコストがまず判定され、最小のLagrangianコストを有する最良の基準フレームインデックスおよび動きベクトルが選択される。すべての可能なイントラモードおよびスキップモードの予期される歪みおよびLagrangianコストも計算される。最後に、最小のLagrangianコストを有するコーディングモードが選択される。
マクロブロックの損失率がPであるときに、予期される歪み
Figure 2014039321
は、一般に、次のように計算することができる。
Figure 2014039321
Figure 2014039321
は、マクロブロックが受信されるときの歪みを表し、コーディングオプションに依存する。項
Figure 2014039321
は、マクロブロックが失われるときの歪みを表し、仮定されたエラー隠蔽方法およびコーディングオプションに依存する。本原理の様々な実施形態によれば、インターモードおよびスキップモードの
Figure 2014039321
を決定する方法、およびエラー隠蔽が動き補償予測を使用するときに
Figure 2014039321
を判定する方法が提供される。
イントラモードの
Figure 2014039321
の計算、およびエラー隠蔽がフレームコピーを使用するときの
Figure 2014039321
の計算は、従来技術で既知である。しかし、完全を期して、我々は、これらの計算も本明細書で説明する。
例示のために、我々は、次の3つの異なるエラー隠蔽方法すなわち、フレームコピー(本明細書では「EC1」とも呼ぶ)、現在のフレームの動きベクトルの使用(本明細書では「EC2」とも呼ぶ)、および前のフレーム内の同一位置のマクロブロックの動きベクトルの使用(本明細書では「EC3」とも呼ぶ)を考慮する。EC2を用いると、あるマクロブロックについて選択されるコーディングモードおよび動きベクトルは、このマクロブロックが失われるときの歪みに影響する。レート歪み最適化動き推定およびモード決定について、我々は、式(2)を使用して計算されたこのマクロブロックの予期される総歪み
Figure 2014039321
と共に、式(1)のLagrangianコストを使用する。
本明細書では、我々は、異なる候補コーディングオプションに対応する予期される歪み
Figure 2014039321
を推定する方法を提示する。その後、我々は、エラー隠蔽方法EC1およびEC2の予期される歪み
Figure 2014039321
を推定する方法を提示する。
EC3を用いると、あるマクロブロックについて選択されるコーディングモードおよび動きベクトルは、フレームn+1内の同一位置のマクロブロックが失われるときに、歪みに影響する。レート歪み最適化動き推定およびモード決定について、我々は、次のように、異なるLagrangianコストを使用することを提案する。
Figure 2014039321
Figure 2014039321
Figure 2014039321
は、それにもかかわらず、以下で説明するように、様々なコーディングモードについて計算することができる。項
Figure 2014039321
は、コーディングオプションoから導かれる基準フレームインデックスおよび動きベクトルを使用する、フレームn+1内の同一位置のマクロブロックの予期される歪みである。
Figure 2014039321
および
Figure 2014039321
の計算は、本明細書において以下で説明される。
以下では、一実施形態に関して、我々は、所与のインターモードに関するレート制約動き推定方法を提示する。新しいLagrangianコスト関数が導入され、この関数は、チャネル歪みを考慮に入れる。様々な実施形態に従って、異なるエラー隠蔽方法についてこの新しいコスト関数内の項を計算する方法が提供される。この新しい測定値に基づく動き推定は、同様に本明細書で説明するレート歪み最適化動き推定より少ない計算を必要とする。
本明細書で提示する方法のうちのいくつかでは、各マクロブロックの予期されるチャネル歪みは、過去のM個のフレームから判定されると仮定され、ここでMは、エンコーダが使用する最大時間予測距離である。しかし、一実施形態で、我々は、最終的に選択される動きベクトルおよびコーディングモードに基づいて、現在コーディングされているフレーム内のすべてのマクロブロックについて予期されるチャネル歪みを判定する方法を提示する。
本原理では、イントラモードでのイントラ予測は、イントラコーディングされたマクロブロック内の以前にコーディングされたピクセルだけを利用すると仮定する。これは、MPEG−4 AVC標準規格で制約付きイントラ予測(constrained intra prediction)として知られている。本原理に従って本明細書で提供される表記は、コーディングオプション決定およびPフレームのみに関するエラー隠蔽を考慮し、マクロブロックは、M個の前にコーディングされたフレームから選択された1つの前にコーディングされたフレームから予測される。表記の便宜上、我々は、Pフレームが連続して順序付けられる、すなわち、フレームnがPフレームである場合は、次のPフレームがn+1であると仮定する。しかし、本実施形態による方法を、Iフレーム(すべてのマクロブロックがイントラモードのうちの1つによってコーディングされる)およびBフレーム(双方向予測モードを、イントラモード、インターモード、およびスキップモードに加えて使用することができる)でのモード決定を考慮するように拡張することができる。
異なる候補モードの受信されたマクロブロックの予期される歪みを計算する方法 ここで、異なる候補コーディングモードについて受信されたマクロブロックの予期される歪みを計算する、本原理の様々な実施形態による様々な方法に関して説明を与える。より具体的には、様々方法を、異なるコーディングモードについて、式(2)の
Figure 2014039321
すなわち、マクロブロックが受信されるときの予期される歪みの計算について説明する。
図2を見ると、所与のコーディングオプションの
Figure 2014039321
を判定する例示的方法が、概略的に符号200によって示されている。
方法200は、機能ブロック205を含む。機能ブロック205は、コーディングモードに基づく切替を実行し、制御を機能ブロック210、機能ブロック220、および機能ブロック235に渡す。
機能ブロック210は、コーディングモードを、基準フレームインデックスmおよび動きベクトル(MV)vを有するインターと等しくなるようにセットし、制御を機能ブロック215に渡す。
機能ブロック215は、式(5)を使用して
Figure 2014039321
を計算し、制御を終了ブロック299に渡す。
機能ブロック220は、コーディングモードをスキップモードと等しくなるようにセットし、制御を機能ブロック225に渡す。機能ブロック225は、me=1、ve=0をセットし、または前にコーディングされたマクロブロック(MB)に基づいてme、veを予測し、制御を機能ブロック230に渡す。機能ブロック230は、式(7)または式(9)を使用して
Figure 2014039321
を計算し、制御を終了ブロック299に渡す。
機能ブロック235は、コーディングモードを、イントラモードインデックスmを有するイントラと等しくなるようにセットし、制御を機能ブロック240に渡す。機能ブロック240は、式(11)を使用して
Figure 2014039321
を計算し、制御を終了ブロック299に渡す。
インターモード
異なる候補コーディングモードについて受信されたマクロブロックの予期される歪みを計算する方法の提供に関して、我々は、まず、単一の動きベクトル(MV)だけがマクロブロック全体について使用されるインター予測モードを考慮する。一般に、基準フレームは、前のM個のフレームのいずれかから選択することができる。候補基準フレームインデックスm(1<=m<=M)および候補動きベクトルvについて、歪みは、次のように計算される。
Figure 2014039321
ここで、
Figure 2014039321
は、候補基準フレームインデックスmおよび動きベクトルvを使用するマクロブロックjの平均二乗量子化誤差である。
Figure 2014039321
は、フレームn内のマクロブロックjの、r(j,v)によってインデックスを付けられるフレームn−m内の動き補償ブロック内の予期される平均チャネル歪みを表す。我々は、前のM個のフレーム内の各マクロブロック内のそれぞれの平均チャネル歪みが前もって判定され、記録されていると仮定していることを想起されたい。すなわち、我々は、
Figure 2014039321
がすべてのmおよびjについて使用可能であると仮定する。一般に、ブロックr(j,v)は、規則的なマクロブロック境界に整列しない場合があり、フレームn−m内の4つまでのマクロブロックにオーバーラップする可能性がある。我々は、オーバーラップされるマクロブロック内のそれぞれのチャネル歪みの加重平均をとることによって
Figure 2014039321
を判定し、ここで、重みは、オーバーラップの面積に比例する。
式(5)の項
Figure 2014039321
は、マクロブロックjが受信されるときのフレームn−mから伝搬される歪みを表す。インターコーディングされたマクロブロック内の時間的誤差伝搬を考慮に入れるこの方法は、従来技術とは異なり、従来技術に対する有利な特徴を提供する。係数aは、デブロッキングフィルタリングおよびサブペル動きベクトルが使用されるときの補間動作に起因する誤差伝搬の減衰を考慮に入れた減衰係数である。数学的には、aは、このブロックについて適用される実際のデブロッキングフィルタ、候補動きベクトル(補間に使用されるピクセルの個数および補間フィルタを決定する)、ならびに動き補償およびデブロッキングフィルタリングに伴う隣接するピクセル内のチャネル誘導誤差間の相関に依存する。候補動きベクトルが整数ベクトルである特殊な場合では、a=1である。より一般的に、aの値は、(0〜1)の範囲内である。受信されたインターコーディングされたマクロブロックの伝搬される歪みを計算するためのaの特定の定義および
Figure 2014039321
の使用は、従来技術の手法の拡張である。我々は、トレーニングデータに基づくパラメータaの推定についても従来技術の方法を拡張する。フルペル(full-pel)位置を必要とした従来技術に関する1つの相違として、本原理の一実施形態で、我々は、サブペルな正確さを有するすべての候補動きベクトルについてaの事前に推定された値を使用することができる。さらに、従来技術とは異なって、我々は、そのような状況でデブロッキングフィルタを使用することができる。
対応する基準フレームに関連する別々の動きベクトルをそれぞれが有する複数のより小さいサブブロックにマクロブロックを分割するインターモードを考慮するために、我々は、式(5)を使用して、対応する候補基準フレームインデックスおよび動きベクトルについてサブブロックごとに歪み
Figure 2014039321
を計算し、その後、すべてのサブブロックにわたって平均を計算するだけでよい。
スキップモード
異なる候補コーディングモードについて受信されたマクロブロックの予期される歪みを計算する方法の提供に関して、我々は、ここでスキップモードを検討する。スキップモードでは、エンコーダは、動きベクトルが0と仮定し、または選択された前にコーディングされたマクロブロックの動きベクトルに基づいて動きベクトルを予測し、予測誤差信号を計算するが、予測誤差信号をコーディングはしない。エンコーダが再構成したブロックは、単に前のフレーム内の同一位置のマクロブロック(動きベクトルが0であるとエンコーダが仮定する場合)または予測された動きベクトルに基づく動き補償ブロックである。マクロブロックが受信されるときの歪みは、予測誤差に基準フレームからの伝搬されたチャネル誤差を加えたものである。ここで、我々は、スキップモードに関して、エンコーダが基準フレームインデックスおよび動きベクトルを予測できるが、単一の動きベクトルだけがマクロブロック全体に使用されると仮定する。MPEG−4 AVC標準規格では、前のフレームだけが基準フレームとして許容され、これは、本原理の実施形態に従って本明細書で考慮される特別なケースであることに留意すべきである。meおよびveは、エンコーダが予測した基準フレームインデックスおよび動きベクトル(前の隣接するマクロブロックについて選択された基準フレームインデックスおよび動きベクトルの関数)を表すものとする。予期される歪みは、次のとおりである。
Figure 2014039321
Figure 2014039321
は、現在のマクロブロック内のオリジナルピクセルおよび動きベクトルvに基づくエンコードされたフレームn−mからの予測値の間のDFD(displaced frame difference)の二乗の平均を表し、次のように計算される。
Figure 2014039321
ここで、
Figure 2014039321
は、フレームn内のピクセルiの予測値を表し、この値は、エンコーダによって、動きベクトルvを使用して、前にエンコードされたフレームn−mから計算される。
e=1、ve=0という特殊なケースでは、
Figure 2014039321
であり、その結果、
Figure 2014039321
になる。
Figure 2014039321
は、現在のマクロブロック内のオリジナルピクセルおよびフレームn−1内の同一位置のピクセルのエンコードされた値の間のFD(frame difference)の二乗の平均を表し、次のように計算される。
Figure 2014039321
イントラモード
異なる候補コーディングモードに関する受信されたマクロブロックの予期される歪みを計算する方法の提供に関して、我々は、ここでイントラモードを考慮する。イントラモードは、ブロックを直接にコーディングする、または、1タイプのイントラ予測パターンを使用することができる。後者の場合に、我々は、制約付きイントラ予測だけを考慮し、イントラコーディングされるマクロブロック内の以前にコーディングされたピクセルだけが、制約付きイントラ予測によってイントラ予測に使用される。マクロブロックが受信されるときのイントラモードに関する予期される歪みは、次のように、量子化歪みと等しい。
Figure 2014039321
ここで、
Figure 2014039321
は、イントラモード(i,m)を使用して再構成される値を表す
Figure 2014039321
と共に式(6)を使用して計算することができる。
エラー隠蔽方法EC1およびEC2を使用して失われたマクロブロックの予期される歪みを計算する方法
我々は、ここで本原理の様々な実施形態による、エラー隠蔽方法EC1およびEC2について失われたマクロブロックの式(2)の予期される歪み
Figure 2014039321
を推定する方法を説明する。
フレームコピー(EC1)
エラー隠蔽方法EC1およびEC2を使用して失われたマクロブロックの予期される歪みを計算する方法の提供に関して、我々は、まずデコーダが、すべての失われたマクロブロックのエラー隠蔽のために前のフレーム内の同一位置のマクロブロックをコピーする場合を考慮する。我々は、このケースをEC1と表す。
このケースでは、歪みは、コーディングモードにかかわりなく同一である。歪みは、次のように計算される。
Figure 2014039321
エンコーダコーディングモードおよび動きベクトルの使用(EC2)
エラー隠蔽方法EC1およびEC2を使用して失われたマクロブロックの予期される歪みを計算する方法の提供に関して、我々は、ここで本明細書においてEC2と呼ぶ、エンコーダコーディングモードおよび動きベクトルを使用するケースを考慮する。このケースでは、あるマクロブロックのコーディングモードおよび動きベクトル情報が、テクスチャ情報(イントラ予測誤差およびインター予測誤差のDCT係数)が失われる場合であっても使用可能であるような方法でコーディングされ、転送されると仮定する。例えば、エンコーダは、コーディングモードおよび動きベクトル情報を冗長スライス内または別々のデータパーティション内に含めて、そのような不均一保護を実現することができる。このケースでは、テクスチャ情報が失われる場合に、デコーダは、エンコーダコーディングモードならびに対応する基準フレームインデックスおよび動きベクトルを使用して、動き補償エラー隠蔽を実行する。マクロブロックが、イントラモードまたはスキップモードを使用してコーディングされるとき、デコーダは、動きベクトルが0であると仮定し(フレームコピーと同等)、または前にコーディングされたマクロブロックの動きベクトルに基づいて予測された動きベクトルを使用し、エラー隠蔽を実行することができる。エンコーダは、これらのマクロブロックについて同一の予測された動きベクトルを作成することができ、したがって、いずれのオプションを用いても隠蔽歪みを正確に推定することができる。我々は、このエラー隠蔽方法をEC2と呼ぶ。
図3を見ると、デコーダがエラー隠蔽方法EC2を使用するときの所与のコーディングオプションの
Figure 2014039321
を判定する方法が、概略的に符号300によって示されている。方法300は、機能ブロック305を含む。機能ブロック305は、コーディングモードに基づく切替を実行し、制御を機能ブロック310、機能ブロック320、および機能ブロック335に渡す。
機能ブロック310は、コーディングモードを、基準フレームインデックスmおよび動きベクトル(MV)vを有するインターと等しくなるようにセットし、機能ブロック315に制御を渡す。
機能ブロック315は、md=m、vd=vをセットし、機能ブロック330に制御を渡す。
機能ブロック330は、md=1かつvd=0のときには式(12)を使用して
Figure 2014039321
を判定し、そうでない場合は式(13)を使用して
Figure 2014039321
を判定し、制御を終了ブロック399に渡す。
機能ブロック320は、コーディングモードをスキップモードと等しくなるようにセットし、機能ブロック325に制御を渡す。機能ブロック325は、md=1、vd=0をセットし、または前にコーディングされたマクロブロック(MB)に基づいてmd、vdを予測し、制御を機能ブロック330に渡す。
機能ブロック335は、コーディングモードを、イントラモードインデックスmを有するイントラと等しくなるようにセットし、機能ブロック340に制御を渡す。機能ブロック340は、md=1、vd=0をセットし、または前にコーディングされたマクロブロック(MB)に基づいてmd、vdを予測し、制御を機能ブロック330に渡す。
いずれのコーディングモードに関しても、デコーダとして使用される基準フレームインデックスおよび動きベクトルを、mdおよびvdによって表すものとし、隠蔽されるマクロブロックの歪みは、次のように計算することができる。
Figure 2014039321
Figure 2014039321
および
Figure 2014039321
は、上述したように計算される。
インターモードについて、デコーダで使用される基準フレームインデックスおよび動きベクトルmdおよびvdは、エンコーダで使用されるものと等しい。イントラモードおよびスキップモードについて、デコーダが、前にデコードされたマクロブロックに基づいて基準フレームインデックスおよび動きベクトルを予測する場合、mdおよびvdは、エンコーダが前にエンコードされたマクロブロックに基づいて予測した基準フレームインデックスおよび動きベクトルと等しい。デコーダが、エラー隠蔽にフレームコピーを使用する場合は、md=1かつvd=0である。この場合に、式(13)は式(12)になる。
前のフレームのコーディングモードおよび動きベクトルをコピーするエラー隠蔽方法を使用して予期される歪みを計算する方法(EC3)
モード情報および動きベクトルが、テクスチャデータと異なって保護されない応用例では、デコーダは、時間的エラー隠蔽のために失われたマクロブロックの動きベクトルを推定しなければならない。失われたマクロブロックを隠蔽する1つの単純な手法は、前のフレーム内の同一位置の動きベクトルを使用することである。フレームn内の同一位置のマクロブロックが、mフレーム離れた基準フレームを使用する場合、フレームn+1内の同一マクロブロックの時間的隠蔽は、フレームn+1−mに基づく。前のフレーム内の同一位置のマクロブロックが、イントラモードまたはスキップモードを使用してコーディングされる場合、エラー隠蔽は、動きベクトルが0であると仮定し、またはフレームn+1内の以前にデコードされたインターコーディングされたマクロブロックの回復した動きベクトルに基づいて動きベクトルを予測することができる。いずれの場合でも、エンコーダは、これらのマクロブロックの同一の予測された動きベクトルを作成することができ、したがって、いずれのオプションを用いる隠蔽歪みをも正確に推定することができる。我々は、このエラー隠蔽方法をEC3と呼ぶ。現在のマクロブロックについて選択されたコーディングモードおよび動きベクトルが、後続フレーム内の同一位置のマクロブロックの隠蔽歪みに影響するので、我々は、式(1)の従来のLagrangianコスト関数を式(3)の関数に変更し、この関数は、式(4)で定義される
Figure 2014039321
および
Figure 2014039321
の計算を伴う。項
Figure 2014039321
は、それにもかかわらず、様々なコーディングモードについて上述したように計算することができる。
図4を見ると、デコーダがエラー隠蔽方法EC3を使用するときの所与の候補コーディングオプションの
Figure 2014039321
を判定する例示的方法が、概略的に符号400によって示されている。方法400は、機能ブロック405を含む。機能ブロック405は、コーディングモードに基づく切替を実行し、制御を機能ブロック410、機能ブロック420、および機能ブロック435に渡す。
機能ブロック410は、コーディングモードを、基準フレームインデックスmおよび動きベクトル(MV)vを有するインターと等しくなるようにセットし、機能ブロック415に制御を渡す。
機能ブロック415は、md=m、vd=vをセットし、機能ブロック430に制御を渡す。
機能ブロック430は、md=1かつvd=0のときには式(14)を使用して
Figure 2014039321
を判定し、md>1またはmd=1であるがフレームnのMB r(j,vd)が既にコーディング済みのときには、式(16)を使用して
Figure 2014039321
を判定し、それ以外の場合は式(18)を使用して
Figure 2014039321
を判定し、制御を終了ブロック499に渡す。
機能ブロック420は、コーディングモードをスキップモードと等しくなるようにセットし、機能ブロック425に制御を渡す。機能ブロック425は、md=1、vd=0をセットし、または前にコーディングされたマクロブロック(MB)に基づいてmd、vdを予測し、機能ブロック430に制御を渡す。
機能ブロック435は、コーディングモードを、イントラモードインデックスmを有するイントラと等しくなるようにセットし、機能ブロック440に制御を渡す。機能ブロック440は、md=1、vd=0をセットし、または前にコーディングされたマクロブロック(MB)に基づいてmd、vdを予測し、制御を機能ブロック430に渡す。
隠蔽されたマクロブロックの歪みの推定
dおよびvdが、このマクロブロックについてデコーダとして使用される基準フレームインデックスおよび動きベクトルを表すものとするが、これらは、フレームn内のマクロブロックjの候補コーディングモード、基準フレームインデックス、および動きベクトルに基づいてエンコーダによって導き出すことができる。我々は、
Figure 2014039321
を使用して
Figure 2014039321
を表す。
dおよびvdの値に応じて、
Figure 2014039321
を、例えば次に説明される3つの例示的な方法で、計算することができる。
d=1かつvd=0の場合は、
Figure 2014039321
であり、
Figure 2014039321
であり、ここで、
Figure 2014039321
は、現在の候補モードおよび動きベクトルを使用して、マクロブロックjおよびフレームn内のピクセルについてエンコーダが再構成する値を表す。このケースは、デコーダがそのようなブロックの隠蔽にフレームコピーを使用することを選択する場合に、イントラモードおよびスキップモードにあてはまることに留意されたい。
d>1またはmd=1であるが、フレームn内のマクロブロックr(j,vd)が既にコーディング済みである場合は、
Figure 2014039321
であり、
Figure 2014039321
であり、ここで、
Figure 2014039321
は、動きベクトルがvであると仮定して、フレームn+1−m内のエンコードされたピクセルからフレームn+1内のピクセルiについての予測値を表す。
d=1であり、フレームn内のマクロブロックr(j,vd)がコーディングされていない場合は、歪みは、次のように計算される。
Figure 2014039321
Figure 2014039321
は、次のように計算される。
Figure 2014039321
ここで、
Figure 2014039321
は、動きベクトルがvであると仮定して、フレームn+1−m内のオリジナルピクセルからフレームn+1内のピクセルiについての予測値を表す。
定数aqは、aと同一の方法で事前に推定できるパラメータであり、一般に、aq<=aである。候補動きベクトルが整数ベクトルであるときは、aq=a=1である。
Figure 2014039321
および
Figure 2014039321
は、まだコーディングされていない、フレームn内のブロックr(j,v)の量子化歪みおよび予期されるチャネル歪みである。この2つの項をどのように推定するかを、本明細書において以下で説明する。
マクロブロックをコーディングする前のこのマクロブロックの量子化歪みおよびチャネル歪みの推定
ブロックr(j,v)がまだコーディングされていないとき、式(18)の
Figure 2014039321
を判定するために、我々は、このフレームまたは前のフレーム内の以前にコーディングされたマクロブロックの平均量子化歪みを使用することができる。代替案では、我々は、このフレームについて使用される量子化ステップサイズに基づいて判定される平均量子化歪みを使用することができる。
ブロックr(j,v)がまだコーディングされていないとき、式(18)の
Figure 2014039321
を判定するために、我々は、このフレーム内の以前にコーディングされたMBについて計算された
Figure 2014039321
の平均値を使用することができる。代替案では、我々は、例えば、従来技術のフレームレベルチャネル歪みモデルを使用して、フレームnの平均チャネル歪みを計算し、この平均チャネル歪みを使用して、すべての未コーディングマクロブロックのチャネル歪みの近似値を求めることができる。より具体的には、βnが、フレームn内の平均イントラ率(イントラモードでコーディングされるマクロブロックのパーセンテージ)を表すものとすると、平均チャネル歪みを、次を使用して再帰的に計算することができる。
c,n=PDECP,n+((1−P)(1−βn)a+Ph)Dc,n-1 (20)
ここで、hは、aに似ているが、エラー隠蔽に使用される動きベクトルの分布に依存する係数である。EC3を用いると、エラー隠蔽は、エンコーダが使用するのと同一の動きベクトルのセットを使用し、その結果、h=aをセットできるようになる。このフレームをコーディングする前にイントラ率βnを推定するために、前にコーディングされたフレームで使用されたイントラ率の平均をとることができる。項DECP,nは、前のフレームにチャネルが誘導するエラーがない場合の、フレームnの平均隠蔽歪みを表す。EC3を用いると、フレームn−1の同一位置のマクロブロックjについて、最終的に選択される基準フレームインデックスが
Figure 2014039321
であり、選択される動きベクトルが
Figure 2014039321
である場合は、マクロブロックjの隠蔽歪みは、
Figure 2014039321
であり、ここで、
Figure 2014039321
は、上述したように計算することができ、
Figure 2014039321
は、式(8)を使用して計算することができる。歪みDECP,nは、すべてのマクロブロッ
クの
Figure 2014039321
の平均値である。
チャネル歪みを考慮するレート制約動き推定
Lagrangianコストのレート項
Figure 2014039321
を計算するために、エンコーダは、動きベクトルおよび予測誤差を表すのに必要なレートを判定するために、各候補モードおよび動きベクトルに対応する予測誤差を量子化し、コーディングする必要がある。計算を減らすために、我々は、予測誤差をコーディングするのに必要なレートの知識を必要とせず、モードおよび動きベクトルを表すためのレートの知識だけを必要とするコスト関数を使用することができる。これは、一般に、レート制約動き推定として知られている。この領域の従来技術は、量子化歪みだけを考慮したことを理解すべきである。チャネル歪みを考慮するために、我々は、Lagrangianコストを次式に変更する。
Figure 2014039321
ここで、λMVおよびλcは、総率制約(total rate constraint)または量子化パラメータ(QP)に関して適切に選択された値である。項
Figure 2014039321
は、式(8)で定義されたものであり、Rv(m,v)は、基準フレームインデックスmおよび動きベクトルvをコーディングするのに必要な総ビット数である。
EC1およびEC2を用いると、項
Figure 2014039321
は、フレームn内のマクロブロックjが失われ、隠蔽されるときの予期される歪みである。この項は、EC1の場合は式(12)を使用して計算でき、EC2の場合は式(13)を使用して計算することができる。
EC3では、
Figure 2014039321
が、mおよびvの候補値に応じて式(14)、式(16)、または式(18)のいずれかを使用して計算される
Figure 2014039321
に置換される。
選択されたモードおよび動きベクトルに関するチャネル歪み推定
本明細書で前に提示した方法は、M個までの前のフレーム内のすべてのマクロブロックの予期されるチャネル歪みが既知であると仮定してきた。ここで、我々は、あるマクロブロックの最終的なコーディングモードおよび動きベクトルが選択された後に、そのマクロブロックの予期されるチャネル歪みをどのように計算すべきかを考慮する。この計算は、フレームn内の各マクロブロックをコーディングするときに、動き推定およびモード決定プロセスの終りに行われる。
マクロブロックjの最終的なコーディングオプション(コーディングモードと、インターモードの場合は基準フレームインデックスおよび動きベクトルとを含む)を、o*と表すものとする。このコーディングオプションに対応する予期される総歪みが
Figure 2014039321
であり、量子化歪みが
Figure 2014039321
である場合、このマクロブロックの予期されるチャネル歪みは、次のとおりである。
Figure 2014039321
EC1およびEC2について、様々なコーディングモードについて計算された
Figure 2014039321
および
Figure 2014039321
に基づいて、o*を含むすべての可能なコーディングオプションについて式(2)を使用して、予期される総歪み
Figure 2014039321
を導き出すことができる。同様に、
Figure 2014039321
が、様々なコーディングモードについて計算されている。スキップモードについて、
Figure 2014039321
である。したがって、式(22)を直接に使用して、チャネル歪みを計算することができる。
EC3について、我々は、様々なコーディングオプションについて、フレームn+1内のマクロブロックjが失われる場合にそのマクロブロックjの予期される歪みである
Figure 2014039321
だけを計算している。
Figure 2014039321
を判定するために、我々は、
Figure 2014039321
も計算する必要があり、ここで、
Figure 2014039321
は、現在のマクロブロックの隠蔽が
Figure 2014039321
に依存するので、フレームn−1内のマクロブロックjについて選択されたコーディングオプションを表す。一般に、
Figure 2014039321
に基づいて、フレームn内のマクロブロックjのエラー隠蔽のためにデコーダが使用する基準フレームインデックスmdおよび動きベクトルvdを導き出すことができる。このマクロブロックが失われ、隠蔽されるときの歪みは、次式を使用して計算することができる。
Figure 2014039321
イントラモードおよびスキップモードについて、デコーダエラー隠蔽がフレームコピーを使用する場合、上記の式は、式(12)に簡略化される。
次に、予期される総歪み
Figure 2014039321
は、前に計算された
Figure 2014039321
および新たに計算された
Figure 2014039321
から、式(2)を使用して判定することができる。
図5を見ると、デコーダがエラー隠蔽方法EC2を使用するときの、レート歪み最適化動き推定およびモード決定のための所与のマクロブロック(MB)のLagrangianコストにおける予期される総歪み
Figure 2014039321
を判定する例示的方法が、概略的に符号500によって示されている。方法500は、機能ブロック505を含む。機能ブロック505は、マクロブロック内のピクセル値、その位置インデックスj、およびフレームインデックスn、候補コーディングモード、候補モードがインターモードである場合は候補基準フレームインデックスmおよび動きベクトル(MV)v、フレームn−Mからn−1までのすべてのマクロブロック(MB)内のエンコードされたピクセル値および平均チャネル歪み、マクロブロック損失率Pを入力し、機能ブロック510に制御を渡す。機能ブロック510は、
Figure 2014039321
を判定し(例えば、図2に関して説明したように)、機能ブロック515に制御を渡す。
機能ブロック515は、
Figure 2014039321
を判定し(例えば、図3に関して説明したように)、機能ブロック520に制御を渡す。
機能ブロック520は、
Figure 2014039321
を使用して
Figure 2014039321
を判定し、制御を機能ブロック525に渡す。機能ブロック525は、
Figure 2014039321
を出力し、制御を終了ブロック599に渡す。
図6を見ると、デコーダがエラー隠蔽方法EC3を使用するときの、レート歪み最適化動き推定およびモード決定のための所与のマクロブロック(MB)のLangrangianコストにおける
Figure 2014039321
を判定する例示的方法が、概略的に符号600によって示されている。方法600は、機能ブロック605を含む。機能ブロック605は、マクロブロック内のピクセル値、その位置インデックスj、およびフレームインデックスn、候補コーディングモード、候補モードがインターモードの場合に候補基準フレームインデックスmおよび動きベクトル(MV)v、フレームn−Mからn−1までのすべてのマクロブロック(MB)内のエンコードされたピクセル値および平均チャネル歪み、マクロブロック損失率Pを入力し、機能ブロック610に制御を渡す。機能ブロック610は、
Figure 2014039321
を判定し(例えば、図2に関して説明したように)、制御をブロック615に渡す。機能ブロック615は、
Figure 2014039321
を判定し(例えば、図4に関して説明したように)、制御をブロック620に渡す。機能ブロック620は、
Figure 2014039321
を使用して
Figure 2014039321
を判定し、制御をブロック625に渡す。機能ブロック625は、
Figure 2014039321
を出力し、制御を終了ブロック699に渡す。
図7を見ると、デコーダがエラー隠蔽方法EC3を使用するときの、所与のマクロブロック(MB)のコーディングオプションoを選択するための予期される総歪み
Figure 2014039321
およびチャネル歪み
Figure 2014039321
を判定する例示的方法が、概略的に符号700によって示されている。方法700は、機能ブロック705を含む。機能ブロック705は、マクロブロック内のピクセル値、その位置インデックスj、およびフレームインデックスn、候補コーディングモード、候補モードがインターモードの場合に候補基準フレームインデックスmおよび動きベクトル(MV)v、フレームn−Mからn−1までのすべてのマクロブロック(MB)内のエンコードされたピクセル値および平均チャネル歪み、マクロブロック損失率Pを入力し、機能ブロック710に制御を渡す。機能ブロック710は、
Figure 2014039321
を判定し(例えば、図2に関して説明したように)、制御を機能ブロック715に渡す。
機能ブロック715は、このマクロブロックについてデコーダで使用される基準フレームインデックスmdおよびMV vdを判定し、制御を機能ブロック720に渡す。機能ブロック715に関して、フレームn−1の同一位置のマクロブロック(MB)が基準フレームインデックスmおよび動きベクトル(MV)vを伴うインターモードを使用する場合、機能ブロック715は、md=m、vd=vをセットする。そうでない場合は、md、vdは、フレームn−1内の隣接するマクロブロック内の基準フレームインデックスおよび動きベクトルに基づいて予測される。
機能ブロック720は、
Figure 2014039321
を判定し、制御を機能ブロック725に渡す。機能ブロック720および
Figure 2014039321
の判定に関して、md=1、vd=0の場合は、式(12)が使用される。そうでない場合は、式(13)が使用される。
機能ブロック725は、
Figure 2014039321
を使用して
Figure 2014039321
を判定し、機能ブロック730に制御を渡す。機能ブロック730は、
Figure 2014039321
を判定し、制御を機能ブロック735に渡す。
機能ブロック730に関して、インターモードおよびイントラモードについて、式(6
)が使用される。スキップモードについて、次式が使用される。
Figure 2014039321
機能ブロック735は、
Figure 2014039321
を使用して
Figure 2014039321
を判定し、制御を機能ブロック740に渡す。機能ブロック740は、
Figure 2014039321
および
Figure 2014039321
を出力し、制御を終了ブロック799に渡す。
ここで、その一部を上記で述べた、本発明の多数の付随する利益/特徴のうちのいくつかの説明を与える。例えば、1つの利益/特徴は、動きベクトルが非整数値のときにイメージブロックの動きベクトルを使用して、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるイメージブロックの予期される歪みを計算する歪み計算機を有する装置である。歪み計算機は、非整数値を有する動きベクトルに関して基準ピクチャ内の少なくとも2つの隣接する整数ピクセル位置の伝搬された歪みに基づいて予期される歪みを計算する。イメージブロックは、インターモードまたはスキップモードでコーディングされる。
もう1つの利益/特徴は、歪み計算機が、0と1との間の値を有する倍率を少なくとも2つの隣接する整数ピクセル位置の歪みに適用することによって予期される歪みを計算する、上述した歪み計算機を有する装置である。
もう1つの利益/特徴は、倍率を適用することによって予期される歪みを計算する歪み計算機を有する装置であり、倍率が非整数値を有するブロックのすべての候補動きベクトルについて事前に推定される。
さらに、もう1つの利益/特徴は、歪み計算機がビデオエンコーダに含まれる、上述した歪み計算機を有する装置である。
さらに、もう1つの利益/特徴は、デブロッキングフィルタリング動作がイメージブロックに適用されるとき、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるイメージブロックの予期される歪みを計算する歪み計算機を有する装置である。歪み計算機は、デブロッキングフィルタリング動作で使用されるピクセル位置に関して基準ピクチャ内の少なくとも2つの隣接する整数ピクセル位置の伝搬された歪みに基づいて予期される歪みを計算する。イメージブロックは、インターモードまたはスキップモードでコーディングされる。
また、もう1つの利益/特徴は、イメージブロックがインターコーディングされ、前にデコードされたピクチャ内の同一位置のブロックのデコードされたコーディングモードおよび動きベクトルを使用して失われたマクロブロックの動き補償時間予測(motion compensated temporal prediction)を実行するデコーダによって受信されるときに、予期される歪みを含むLagrangianコスト関数を計算するエンコーダを装置がさらに含む、上述した歪み計算機を有する装置である。
さらに、もう1つの利益/特徴は、デブロッキングフィルタ動作およびインターコーディングされたブロックの動きベクトルを利用する、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるインターコーディングされたブロックの予期される歪みを計算するエンコーダを有する装置である。このエンコーダは、デブロッキングフィルタ動作で使用されるインターコーディングされたブロックの隣接するブロック内のピクセル位置からの歪みの影響に基づいて、予期される歪みを計算する。
さらに、もう1つの利益/特徴は、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるブロックの予期される歪みを計算するエンコーダを有する装置である。このエンコーダは、ブロックのコーディングモードおよび動きベクトルに基づき、デコーダエラー隠蔽動作を使用して予期される歪みを計算し、ブロックの動きベクトルは、非整数値を有する。
さらに、もう1つの利益/特徴は、デコーダエラー隠蔽動作がフレームコピー動作である、上述したエンコーダを有する装置である。
また、もう1つの利益/特徴は、デコーダエラー隠蔽動作がブロックのエンコーダコーディングモードおよびエンコーダ動きベクトルを使用する、上述したエンコーダを有する装置である。
さらに、もう1つの利益/特徴は、デコーダエラー隠蔽動作が前のピクチャに対応するエンコーダコーディングモードおよびエンコーダ動きベクトルをコピーする、上述したエンコーダを有する装置である。
さらに、もう1つの利益/特徴は、エラー隠蔽動作が動き補償時間予測を使用し、エンコーダが、ブロックだけがピクチャ内で失われるときのデコーダエラー隠蔽動作を使用して計算される隠蔽歪み、およびそのブロックの動きベクトルによって指し示される基準ピクチャ内の動き補償ブロック内のチャネル歪みを合計することによって予期される歪みを計算し、チャネル歪みが、倍率によってスケールダウンされ、隠蔽歪みが、基準ピクチャ内の動き補償ブロック内のエンコードされたピクセル値に基づいて計算される、上述したエンコーダを有する装置である。
本発明の上記および他の特徴および利益は、本明細書の教示に基づいて、当業者であれば容易に確かめ得る。本発明の教示を、ハードウェア、ソフトウェア、ファームウェア、専用プロセッサー、またはこれらの組合せの様々な形態で実施できることを理解すべきである。
最も望ましくは、本発明の教示は、ハードウェアおよびソフトウェアの組合せとして実施される。さらに、ソフトウェアは、プログラム記憶装置上で有形に実施されるアプリケーションプログラムとして実施することができる。このアプリケーションプログラムを、任意の適切なアーキテクチャを含む機械にアップロードし、その機械によって実行することができる。望ましくは、その機械は、1つまたは複数の中央処理装置(「CPU」)、ランダムアクセスメモリー(「RAM」)、および入出力(「I/O」)インターフェースなどのハードウェアを有するコンピュータープラットフォーム上で実施される。このコンピュータープラットフォームは、オペレーティングシステムおよびマイクロ命令コードも含むことができる。本明細書で説明した様々なプロセスおよび機能を、マイクロ命令コードの一部、アプリケーションプログラムの一部、またはその任意の組合せのいずれかとすることができ、これをCPUによって実行することができる。さらに、追加データ記憶装置および印刷ユニットなど、様々な他の周辺装置をコンピュータープラットフォームに接続することができる。
添付図面に示された構成システムコンポーネントおよび方法の一部が、望ましくはソフトウェアで実施されるので、システムコンポーネントまたはプロセス機能ブロックの間の現実の接続は、本発明がプログラムされる形に応じて変化し得ることをさらに理解すべきである。本明細書の教示を与えられれば、当業者は、本発明の上記のおよび同等の実施態様または構成を企図することができるであろう。
例示的実施形態を、添付図面を参照して本明細書で説明したが、本発明がこれらの正確な実施形態に限定されないこと、および本発明の範囲または趣旨から逸脱せずに当業者が様々な変更および修正をもたらすことができることを理解すべきである。そのような変更および修正のすべてが、添付の特許請求の範囲に示された本発明の範囲に含まれることが意図されている。

Claims (25)

  1. イメージブロックの動きベクトルが非整数値を有するときに前記動きベクトルを使用して、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られる前記イメージブロックの予期される歪みを計算する歪み計算機(1050)であって、前記歪み計算機は、前記非整数値を有する前記動きベクトルに関して基準ピクチャ内の少なくとも2つの隣接する整数ピクセル位置の伝搬された歪みに基づいて前記予期される歪みを計算し、前記イメージブロックは、インターモードまたはスキップモードでコーディングされる、歪み計算機(1050)
    を備えたことを特徴とする装置。
  2. 前記歪み計算機(1050)は、0と1との間の値を有する倍率を前記少なくとも2つの隣接する整数ピクセル位置の歪みに適用することによって前記予期される歪みを計算することを特徴とする請求項1に記載の装置。
  3. 前記倍率は、前記非整数値を有するブロックのすべての候補動きベクトルについて事前に推定されることを特徴とする請求項2に記載の装置。
  4. 前記歪み計算機(1050)は、ビデオエンコーダ内に備えられることを特徴とする請求項1に記載の装置。
  5. イメージブロックの動きベクトルが非整数値を有するときに前記動きベクトルを使用して、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られる前記イメージブロックの予期される歪みを計算するステップ(230)であって、前記計算するステップは、前記非整数値を有する前記動きベクトルに関して基準ピクチャ内の少なくとも2つの隣接する整数ピクセル位置の伝搬された歪みに基づいて前記予期される歪みを計算し、前記イメージブロックは、インターモードまたはスキップモードでコーディングされる、計算するステップ(230)
    を含むことを特徴とする方法。
  6. 前記計算するステップは、0と1との間の値を有する倍率を前記少なくとも2つの隣接する整数ピクセル位置の歪みに適用するステップ(330)によって前記予期される歪みを計算することを特徴とする請求項5に記載の方法。
  7. 前記倍率は、前記非整数値を有するブロックのすべての候補動きベクトルについて事前に推定される(330)ことを特徴とする請求項6に記載の方法。
  8. 前記方法は、ビデオエンコーダによって実行されることを特徴とする請求項5に記載の方法。
  9. デブロッキングフィルタリング動作が、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるイメージブロックに適用されるときに、前記イメージブロックの予期される歪みを計算する歪み計算機(1050)であって、前記歪み計算機は、前記デブロッキングフィルタリング動作に使用されるピクセル位置に関して基準ピクチャ内の少なくとも2つの隣接する整数ピクセル位置の伝搬された歪みに基づいて前記予期される歪みを計算し、前記イメージブロックは、インターモードまたはスキップモードでコーディングされる、歪み計算機(1050)
    を備えたことを特徴とする装置。
  10. 前記イメージブロックが、インターコーディングされ、前にデコードされたピクチャ内の同一位置のブロックのデコードされたコーディングモードおよび動きベクトルを使用して失われたマクロブロックの動き補償時間予測を実行するデコーダによって受信されるときに、前記予期される歪みを含むLagrangianコスト関数を計算するエンコーダ(1010)をさらに備えたことを特徴とする請求項9に記載の装置。
  11. デブロッキングフィルタリング動作が、ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるイメージブロックに適用されるときに、前記イメージブロックの予期される歪みを計算するステップ(330)であって、前記計算するステップは、前記デブロッキングフィルタリング動作に使用されるピクセル位置に関して基準ピクチャ内の少なくとも2つの隣接する整数ピクセル位置の伝搬された歪みに基づいて前記予期される歪みを計算し、前記イメージブロックは、インターモードまたはスキップモードでコーディングされる、計算するステップ(330)
    を含むことを特徴とする方法。
  12. 前記イメージブロックが、インターコーディングされ、前にデコードされたピクチャ内の同一位置のブロックのデコードされたコーディングモードおよび動きベクトルを使用して失われたマクロブロックの動き補償時間予測を実行するデコーダによって受信されるときに、前記予期される歪みを含むLagrangianコスト関数を計算するステップ(330)をさらに含むことを特徴とする請求項11に記載の方法。
  13. 前記Langrangianコスト関数を計算するステップは、ビデオエンコーダによって実行されることを特徴とする請求項12に記載の方法。
  14. ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるインターコーディングされたブロックのデブロッキングフィルタ動作および動きベクトルを利用して、前記インターコーディングされたブロックの予期される歪みを計算するエンコーダ(100)であって、前記エンコーダは、前記デブロッキングフィルタ動作に使用される前記インターコーディングされたブロックの隣接するブロック内のピクセル位置からの歪みの影響に基づいて前記予期される歪みを計算する、エンコーダ(100)
    を備えたことを特徴とする装置。
  15. ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるインターコーディングされたブロックのデブロッキングフィルタ動作および動きベクトルを利用して、前記インターコーディングされたブロックの予期される歪みを計算するステップ(330)であって、エンコードするステップは、前記デブロッキングフィルタ動作に使用される前記インターコーディングされたブロックの隣接するブロック内のピクセル位置からの歪みの影響に基づいて前記予期される歪みを計算する、計算するステップ(330)
    を含むことを特徴とする方法。
  16. ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるブロックの予期される歪みを計算するエンコーダ(100)であって、前記エンコーダは、前記ブロックのコーディングモードおよび動きベクトルに基づき、デコーダエラー隠蔽動作を使用して前記予期される歪みを計算し、前記ブロックの前記動きベクトルは、非整数値を有する、エンコーダ(100)
    を備えたことを特徴とする装置。
  17. 前記デコーダエラー隠蔽動作は、フレームコピー動作であることを特徴とする請求項16に記載の装置。
  18. 前記デコーダエラー隠蔽動作は、前記ブロックのエンコーダコーディングモードおよびエンコーダ動きベクトルを使用することを特徴とする請求項16に記載の装置。
  19. 前記デコーダエラー隠蔽動作は、前のピクチャに対応するエンコーダコーディングモードおよびエンコーダ動きベクトルをコピーすることを特徴とする請求項16に記載の装置。
  20. 前記エラー隠蔽動作は、動き補償時間予測を使用し、前記エンコーダ(100)は、前記ブロックだけが前記ピクチャ内で失われるときに前記デコーダエラー隠蔽動作を使用して計算される隠蔽歪み、および前記ブロックの動きベクトルによって指し示される基準ピクチャ内の動き補償ブロック内のチャネル歪みを合計することによって前記予期される歪みを計算し、前記チャネル歪みは、倍率によってスケールダウンされ、前記隠蔽歪みは、前記基準ピクチャ内の前記動き補償ブロック内のエンコードされたピクセル値に基づいて計算されることを特徴とする請求項16に記載の装置。
  21. ビデオシーケンスのピクチャ内に含まれ損失を伴うチャネルを介して送られるブロックの予期される歪みを計算するステップ(330)であって、前記計算するステップは、前記ブロックのコーディングモードおよび動きベクトルに基づき、デコーダエラー隠蔽動作を使用して前記予期される歪みを計算し、前記ブロックの前記動きベクトルは、非整数値を有する、計算するステップ(330)
    を含むことを特徴とする方法。
  22. 前記デコーダエラー隠蔽動作は、フレームコピー動作である(315)ことを特徴とする請求項21に記載の方法。
  23. 前記デコーダエラー隠蔽動作は、前記ブロックのエンコーダコーディングモードおよびエンコーダ動きベクトルを使用する(310)ことを特徴とする請求項21に記載の方法。
  24. 前記デコーダエラー隠蔽動作は、前のピクチャに対応するエンコーダコーディングモードおよびエンコーダ動きベクトルをコピーする(430)ことを特徴とする請求項21に記載の方法。
  25. 前記エラー隠蔽動作は、動き補償時間予測を使用し、前記計算するステップは、前記ブロックだけが前記ピクチャ内で失われるときに前記デコーダエラー隠蔽動作を使用して計算される隠蔽歪み、および前記ブロックの動きベクトルによって指し示される基準ピクチャ内の動き補償ブロック内のチャネル歪みを合計することによって前記予期される歪みを計算し、前記チャネル歪みは、倍率によってスケールダウンされ、前記隠蔽歪みは、前記基準ピクチャ内の前記動き補償ブロック内のエンコードされたピクセル値に基づいて計算される(430)ことを特徴とする請求項21に記載の方法。
JP2013218584A 2006-08-28 2013-10-21 デコードされたビデオブロック内の予期される歪みを判定する方法および装置 Ceased JP2014039321A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US82374806P 2006-08-28 2006-08-28
US60/823,748 2006-08-28

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009526635A Division JP2010503264A (ja) 2006-08-28 2007-08-21 デコードされたビデオブロック内の予期される歪みを判定する方法および装置

Publications (1)

Publication Number Publication Date
JP2014039321A true JP2014039321A (ja) 2014-02-27

Family

ID=38984247

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009526635A Pending JP2010503264A (ja) 2006-08-28 2007-08-21 デコードされたビデオブロック内の予期される歪みを判定する方法および装置
JP2013218584A Ceased JP2014039321A (ja) 2006-08-28 2013-10-21 デコードされたビデオブロック内の予期される歪みを判定する方法および装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2009526635A Pending JP2010503264A (ja) 2006-08-28 2007-08-21 デコードされたビデオブロック内の予期される歪みを判定する方法および装置

Country Status (7)

Country Link
US (1) US8457202B2 (ja)
EP (1) EP2057845A2 (ja)
JP (2) JP2010503264A (ja)
KR (1) KR101351730B1 (ja)
CN (3) CN102752597A (ja)
BR (1) BRPI0715952A2 (ja)
WO (1) WO2008027249A2 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8213509B2 (en) * 2006-10-06 2012-07-03 Calos Fund Limited Liability Company Video coding on parallel processing systems
US8498232B2 (en) * 2007-12-27 2013-07-30 Lg Electronics Inc. Method of transmitting data in wireless communication system
FR2932050B1 (fr) * 2008-06-03 2010-05-21 Canon Kk Procede et dispositif de transmission de donnees video
US8184705B2 (en) * 2008-06-25 2012-05-22 Aptina Imaging Corporation Method and apparatus for motion compensated filtering of video signals
US8705627B2 (en) * 2008-07-25 2014-04-22 Sony Corporation Image processing apparatus and method
US8385404B2 (en) 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
KR20100095992A (ko) 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
US8600179B2 (en) * 2009-09-17 2013-12-03 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image based on skip mode
KR101064883B1 (ko) * 2009-10-06 2011-09-16 한국과학기술원 왜곡 측정 방법
CN102714731A (zh) * 2009-12-22 2012-10-03 索尼公司 图像处理设备和方法及程序
KR101813189B1 (ko) * 2010-04-16 2018-01-31 에스케이 텔레콤주식회사 영상 부호화/복호화 장치 및 방법
US8503528B2 (en) 2010-09-15 2013-08-06 Google Inc. System and method for encoding video using temporal filter
US8976856B2 (en) * 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
US8638854B1 (en) 2011-04-07 2014-01-28 Google Inc. Apparatus and method for creating an alternate reference frame for video compression using maximal differences
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
GB2492163B (en) * 2011-06-24 2018-05-02 Skype Video coding
GB2492329B (en) * 2011-06-24 2018-02-28 Skype Video coding
GB2492330B (en) * 2011-06-24 2017-10-18 Skype Rate-Distortion Optimization with Encoding Mode Selection
GB2493777A (en) 2011-08-19 2013-02-20 Skype Image encoding mode selection based on error propagation distortion map
GB2495468B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495469B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495467B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495990A (en) * 2011-10-28 2013-05-01 Canon Kk Motion compensated image coding with omission of coding mode cost calculation for a motion predictor in a set.
KR20130050403A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 복원 블록 생성 방법
KR101830352B1 (ko) * 2011-11-09 2018-02-21 에스케이 텔레콤주식회사 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
US9036573B2 (en) * 2012-03-09 2015-05-19 Neocific, Inc. Multi-carrier modulation with hierarchical resource allocation
WO2013162980A2 (en) 2012-04-23 2013-10-31 Google Inc. Managing multi-reference picture buffers for video data coding
US9609341B1 (en) 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
US9014266B1 (en) 2012-06-05 2015-04-21 Google Inc. Decimated sliding windows for multi-reference prediction in video coding
US10904551B2 (en) * 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
WO2014190468A1 (en) 2013-05-27 2014-12-04 Microsoft Corporation Video encoder for images
US9756331B1 (en) 2013-06-17 2017-09-05 Google Inc. Advance coded reference prediction
WO2015061419A1 (en) * 2013-10-22 2015-04-30 Vid Scale, Inc. Error concealment mode signaling for a video transmission system
EP3120556B1 (en) 2014-03-17 2021-01-13 Microsoft Technology Licensing, LLC Encoder-side decisions for screen content encoding
US10924743B2 (en) 2015-02-06 2021-02-16 Microsoft Technology Licensing, Llc Skipping evaluation stages during media encoding
US10038917B2 (en) 2015-06-12 2018-07-31 Microsoft Technology Licensing, Llc Search strategies for intra-picture prediction modes
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
WO2017124298A1 (zh) * 2016-01-19 2017-07-27 北京大学深圳研究生院 视频编码、解码方法及其帧间预测方法、装置和系统
CA2986600A1 (en) * 2016-11-24 2018-05-24 Ecole De Technologie Superieure Method and system for parallel rate-constrained motion estimation in video coding
US10735736B2 (en) * 2017-08-29 2020-08-04 Google Llc Selective mixing for entropy coding in video compression
US10469869B1 (en) 2018-06-01 2019-11-05 Tencent America LLC Method and apparatus for video coding
US11388415B2 (en) * 2020-05-12 2022-07-12 Tencent America LLC Substitutional end-to-end video coding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006157668A (ja) * 2004-11-30 2006-06-15 Ntt Advanced Technology Corp 映像品質測定装置および映像品質測定方法ならびにそのプログラム
WO2006078595A2 (en) * 2005-01-18 2006-07-27 Thomson Licensing Method and apparatus for estimating channel induced distortion
JP2006518560A (ja) * 2003-01-09 2006-08-10 ザ リージェンツ オブ ザ ユニバーシティ オブ カリフォルニア 映像符号化方法及びデバイス

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414992B1 (en) * 1999-01-27 2002-07-02 Sun Microsystems, Inc. Optimal encoding of motion compensated video
GB2362533A (en) * 2000-05-15 2001-11-21 Nokia Mobile Phones Ltd Encoding a video signal with an indicator of the type of error concealment used
CN1134174C (zh) * 2001-06-08 2004-01-07 清华大学 地面数字电视广播中的视频差错隐藏方法
US20070030894A1 (en) * 2005-08-03 2007-02-08 Nokia Corporation Method, device, and module for improved encoding mode control in video encoding
US7944965B2 (en) * 2005-12-19 2011-05-17 Seiko Epson Corporation Transform domain based distortion cost estimation
WO2007084475A2 (en) * 2006-01-17 2007-07-26 Thomson Licensing Methods and apparatus for low complexity error resilient motion estimation and coding mode selection
EP2266318B1 (en) * 2008-03-19 2020-04-22 Nokia Technologies Oy Combined motion vector and reference index prediction for video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006518560A (ja) * 2003-01-09 2006-08-10 ザ リージェンツ オブ ザ ユニバーシティ オブ カリフォルニア 映像符号化方法及びデバイス
JP2006157668A (ja) * 2004-11-30 2006-06-15 Ntt Advanced Technology Corp 映像品質測定装置および映像品質測定方法ならびにそのプログラム
WO2006078595A2 (en) * 2005-01-18 2006-07-27 Thomson Licensing Method and apparatus for estimating channel induced distortion

Also Published As

Publication number Publication date
EP2057845A2 (en) 2009-05-13
CN101513071A (zh) 2009-08-19
CN102098517B (zh) 2014-05-07
BRPI0715952A2 (pt) 2013-07-30
US20100239015A1 (en) 2010-09-23
CN101513071B (zh) 2013-09-11
US8457202B2 (en) 2013-06-04
WO2008027249A2 (en) 2008-03-06
KR101351730B1 (ko) 2014-01-16
JP2010503264A (ja) 2010-01-28
KR20090060994A (ko) 2009-06-15
WO2008027249A3 (en) 2008-04-17
CN102752597A (zh) 2012-10-24
CN102098517A (zh) 2011-06-15

Similar Documents

Publication Publication Date Title
JP2014039321A (ja) デコードされたビデオブロック内の予期される歪みを判定する方法および装置
RU2770185C2 (ru) Множество кандидатов предсказателя для компенсации движения
KR101380580B1 (ko) 비디오 인코딩을 위한 적응형 기하학적 파티셔닝 방법 및 장치
JP6031106B2 (ja) エラーのない基準フレームを使用したビデオリフレッシュ
JP5061179B2 (ja) 照明変化補償動き予測符号化および復号化方法とその装置
AU2019240711C1 (en) Method and apparatus for motion compensation prediction
JP6047835B2 (ja) 符号化方法及び送信端末
US7881386B2 (en) Methods and apparatus for performing fast mode decisions in video codecs
KR20210109049A (ko) 비디오 코딩에서 모션 보상 예측을 위한 광흐름 추정
EP1779666A1 (en) System and method for motion prediction in scalable video coding
JPWO2008012918A1 (ja) 画像符号化と復号の方法及び装置
US20130022124A1 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
CN103609115A (zh) 具有基于知觉的帧内切换的模式决策
EP2730086A1 (en) Rate -distortion optimized video encoding mode selection based on low complexity error propagation tracking
WO2005051002A2 (en) Selective and/or scalable complexity control for video codecs
CN103609122A (zh) 用于视频编码的率失真优化
CN102946534A (zh) 视频编码
CN112075078A (zh) 合成式预测及限制性合并
CN117223289A (zh) 仿射运动的双边匹配
CN111955006B (zh) 用于使用复合参考阵列的帧内预测的方法和装置
Katayama et al. Boundary correlation-based intracoding for SHVC algorithm and its efficient VLSI architecture
CN117296322A (zh) 仿射模型在仿射双边匹配中的使用

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141028

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150428

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150707

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20151124