JP2021530156A - ビデオコーディングにおけるフィルタリングのための装置および方法 - Google Patents

ビデオコーディングにおけるフィルタリングのための装置および方法 Download PDF

Info

Publication number
JP2021530156A
JP2021530156A JP2020573159A JP2020573159A JP2021530156A JP 2021530156 A JP2021530156 A JP 2021530156A JP 2020573159 A JP2020573159 A JP 2020573159A JP 2020573159 A JP2020573159 A JP 2020573159A JP 2021530156 A JP2021530156 A JP 2021530156A
Authority
JP
Japan
Prior art keywords
block
filtered
pixels
filter
filtering
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.)
Granted
Application number
JP2020573159A
Other languages
English (en)
Other versions
JPWO2020009619A5 (ja
JP7195348B2 (ja
Inventor
ヴィクトール・アレクセーヴィッチ・ステッピン
セルゲイ・ユリエヴィッチ・イコニン
ローマン・イゴレヴィチ・チェルニャック
ジエンレ・チェン
ドミトリー・クリシェフ
Original Assignee
ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ホアウェイ・テクノロジーズ・カンパニー・リミテッド filed Critical ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Publication of JP2021530156A publication Critical patent/JP2021530156A/ja
Publication of JPWO2020009619A5 publication Critical patent/JPWO2020009619A5/ja
Application granted granted Critical
Publication of JP7195348B2 publication Critical patent/JP7195348B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/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/124Quantisation
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本発明は、ビデオコーディング用のフィルタに関し、フィルタは、フィルタリングされた再構築されたフレームを生成するために再構築されたフレームを処理するように構成され、再構築されたフレームは複数のピクセルを含む。フィルタは、あらかじめ定義されたスキャンテンプレートに従って、再構築されたブロックの現在のピクセル、および現在のピクセルのその隣接ピクセルをスキャンすることと、現在のピクセルとその隣接ピクセルに対して変換を実行することによってスペクトル成分を取得することと、フィルタリングパラメータとスペクトル成分に基づいてフィルタリングされたスペクトル成分を取得することと、フィルタリングされたスペクトル成分に対して逆変換を実行することによってフィルタリングされたピクセルを取得することと、フィルタリングされたピクセルに基づいて、フィルタリングされた再構築されたブロックを生成することとを行うように構成された1つまたは複数のプロセッサを含む。フィルタが提供されているため、ビデオコーディングの効率が向上する。

Description

関連出願の相互参照
本出願は、2018年7月2日に出願された「Apparatus and Method for Filtering in Video Coding」と題された米国仮出願第62/693,441号、2018年8月31日に出願された「Apparatus and Method for Filtering in Video Coding」と題された米国仮出願第62/725,845号、2018年9月16日に出願された「Apparatus and Method for Filtering in Video Coding」と題された米国仮出願第62/731,967号、2018年9月17日に出願された「Apparatus and Method for Filtering in Video Coding」と題された米国仮出願第62/731,972号、2018年9月24日に出願された「Filtering In Video Coding」と題された米国仮出願第62/735,722号、2018年11月8日に出願された「Apparatus and Method for Filtering in Video Coding」と題された米国仮出願第62/757,732号、2019年1月17日に出願された「Apparatus and Method for Filtering in Video Coding」と題された米国仮出願第62/793,866号の利益を主張し、これらの出願はすべて参照により本明細書に組み込まれる。
一般に、本発明は、ビデオコーディングの分野に関する。より具体的には、本発明は、ビデオコーディング用のフィルタ、再構築されたビデオフレームをフィルタリングするための方法、およびビデオブロックをフィルタリングする方法、ならびにビデオコーディング用のそのようなフィルタを備える符号化装置および復号化装置に関する。
DVDディスクの登場以来、デジタルビデオは広く使用されてきた。送信前に、ビデオは符号化され、伝送媒体を使用して送信される。視聴者はビデオを受信し、ビデオを復号化および表示するために視聴デバイスを使用する。たとえば、解像度、色深度、およびフレームレートがより高いため、ビデオの品質は長年にわたって向上している。これは、現在ではインターネットおよびモバイル通信ネットワークを介して一般的に転送される、より大きいデータストリームにつながっている。
しかしながら、高解像度のビデオはより多くの情報を有しているため、通常、より多くの帯域幅を必要とする。帯域幅要件を削減するために、ビデオの圧縮を含むビデオコーディング標準が導入された。ビデオが符号化されると、帯域幅要件(または、ストレージの場合は対応するメモリ要件)が削減される。多くの場合、この削減には品質が犠牲になる。したがって、ビデオコーディング標準は、帯域幅要件と品質の間のバランスを見つけようとしている。
品質の向上と帯域幅要件の削減が継続的に必要とされているため、帯域幅要件を削減して品質を維持するソリューション、または帯域幅要件を維持しながら品質を向上させるソリューションが継続的に検索されている。さらに、妥協が許容される場合もある。たとえば、品質の向上が著しい場合は、帯域幅要件を増やすことが許容される場合がある。
高効率ビデオコーディング(HEVC)は、当業者に一般に知られているビデオコーディング標準の一例である。HEVCにおいて、コーディングユニット(CU)を予測ユニット(PU)または変換ユニット(TU)に分割する。Versatile Video Coding(VVC)次世代標準は、ITU-T Video Coding Experts Group(VCEG)とISO/IEC Moving Picture Experts Group(MPEG)標準化団体の最新の共同ビデオプロジェクトであり、Joint Video Exploration Team(JVET)として知られているパートナーシップにおいて協力している。VVCは、ITU-T H.266/Next Generation Video Coding(NGVC)標準とも呼ばれる。VVCでは、複数のパーティションタイプの概念が削除され、すなわち、最大変換長に対してサイズが大きすぎるCUの場合を除いて、CU、PU、およびTUの概念の分離が削除され、CUパーティション形状の柔軟性をサポートする。
イメージフィルタリングは、イメージの特定の特徴を強調するために、あるいは、フィルタリングされたイメージの客観的または知覚的な品質を向上させるために頻繁に使用される。イメージフィルタリングは、様々なノイズ源に対処する必要がある。したがって、品質向上のための様々な手法が提案され、現在使用されている。たとえば、適応ループフィルタ(ALF)方法では、再構築された各フレームが小さいブロック(スーパーピクセル)のセットに分割され、各ブロックは、フィルタリングされた再構築されたフレームの各ピクセルが、生成されたフィルタリングされたピクセルの位置の周囲の再構築されたフレームからのピクセルの接続領域内のいくつかのピクセルの加重和であるという点で、適応ループフィルタによってフィルタリングされる。重み係数(フィルタ係数とも呼ばれる)は中心対称の特性を有し、エンコーダ側からデコーダ側に送信される。多くの場合、エッジのサイズが大きいため、送信される重み係数の数が多すぎて効率的な処理ができない場合がある。重み係数の数が多いと、送信用の重み係数の数を減らすために、エンコーダ側において複雑なレート歪み最適化(RDO)が必要になる。デコーダ側では、ALFはユニバーサルマルチプライヤの実装を必要とし、これらのマルチプライヤは2×2のピクセルブロックごとにリロードされる必要がある。
したがって、複雑さを抑えて予測品質を改善し、したがってビデオコーディング効率を高めることを可能にする改善されたフィルタおよび方法が必要である。
本発明の目的は、限られた複雑さでフィルタリング効率を改善し、したがってビデオコーディング効率を高めることを可能にする改善されたフィルタおよび方法を提供することである。
前述の目的および他の目的は、独立請求項の主題によって達成される。さらなる実装形態の形式は、従属請求項、説明、および図面から明らかである。
第1の態様によれば、本発明は、ビデオコーディング用のフィルタに関し、フィルタは、フィルタリングされたブロックを生成するためにブロックを処理するように構成され、ブロックは複数のピクセルを備える。フィルタは、命令を備えるメモリストレージと、メモリと通信している1つまたは複数のプロセッサとを含む。1つまたは複数のプロセッサは、あらかじめ定義されたスキャンテンプレートに従って現在のピクセルとその隣接ピクセルを線形バッファにロードすることと、線形バッファ内のピクセルに対して1D変換を実行することによってスペクトル成分を取得することと、各スペクトル成分にゲイン係数を乗算することによってフィルタリングされたスペクトル成分を取得することであって、ゲイン係数は、対応するスペクトル成分およびフィルタリングパラメータに依存する、ことと、フィルタリングされたスペクトル成分に対して逆1D変換を実行することによってフィルタリングされたピクセルを取得することと、フィルタリングされたピクセルに基づいてフィルタリングされたブロックを生成することとを行うための命令を実行する。
一例として、ブロック(または、フレーム)は予測されたブロックであり得、フィルタリングされたブロックはフィルタリングされた予測されたブロックである。別の例として、ブロック(または、フレーム)は再構築されたブロックであり得、フィルタリングされたブロックはフィルタリングされた再構築されたブロックである。
一例として、ゲイン係数は、対応するスペクトル成分とフィルタリングパラメータの関数である。フィルタリングパラメータは、コーデック量子化パラメータ(QP)から導出され得る。
別の例では、第1のスペクトル成分のゲイン係数G(i、σ)が1に等しい場合、第1のスペクトル成分はフィルタリングなしでバイパスされる。第1のスペクトル成分は、線形バッファ内のサンプルの合計または平均値に対応し、第1のスペクトル成分はDCに対応し得る。
他の例として、1つまたは複数のプロセッサが、LUTのテーブル値からN個のビットをドロップすることであって、Nは整数である、命令を実行する。Nは、QP値に依存してもよく、固定値であってもよい。
一例として、あらかじめ定義されたスキャンテンプレートは、再構築されたブロック内の現在のピクセルの位置を基準にした空間オフセットまたはラスタオフセットのセットとして定義される。隣接するピクセルを指すオフセットは、再構築されたブロック内にある。あらかじめ定義されたスキャンテンプレートに従って、少なくとも1つのフィルタリングされたピクセルが元の位置に配置され得る。あらかじめ定義されたスキャンテンプレートに従ってすべてのフィルタリングされたピクセルが蓄積バッファに追加され、フィルタリングされたスペクトル成分を取得する前に、蓄積バッファをゼロによって初期化することができる。最終的にフィルタリングされたピクセルが、蓄積バッファ内の蓄積値をピクセル数で割った値として取得され、蓄積バッファの現在の位置に追加されると、1つまたは複数のプロセッサは、最終的にフィルタリングされたピクセルに基づいて、フィルタリングされた再構築されたブロックを生成するように構成される。
任意で、すべてのフィルタリングされたピクセルと対応するフィルタリングされていないピクセルの差が、あらかじめ定義されたスキャンテンプレートに従って蓄積バッファに追加され、蓄積バッファは、フィルタリングされていないピクセルにブロックに追加されるべきピクセル値の最大数を乗算することによって初期化することができる。最終的にフィルタリングされたピクセルは、蓄積バッファ内の蓄積値を、ブロックに追加されるべきピクセル値の最大数で割ったものとして取得される。
第2の態様によれば、本発明は、フィルタリングされたブロックを生成するためにブロックを処理するための対応するフィルタリング方法に関し、ブロックは複数のピクセルを備える。各ピクセルはピクセル値に関連付けられている。フィルタリング方法は、あらかじめ定義されたスキャンテンプレートに従って現在のピクセルとその隣接ピクセルを線形バッファにロードするステップと、線形バッファ内のピクセルに対して1D変換を実行することによってスペクトル成分を取得するステップと、各スペクトル成分にゲイン係数を乗算することによってフィルタリングされたスペクトル成分を取得するステップであって、ゲイン係数は、対応するスペクトル成分およびフィルタリングパラメータに依存する、ステップと、フィルタリングされたスペクトル成分に対して逆1D変換を実行することによってフィルタリングされたピクセルを取得するステップと、フィルタリングされたピクセルに基づいてフィルタリングされたブロックを生成するステップとを備える。
一例として、ブロック(または、フレーム)は予測されたブロックであり得、フィルタリングされたブロックはフィルタリングされた予測されたブロックである。別の例として、ブロック(または、フレーム)は再構築されたブロックであり得、フィルタリングされたブロックはフィルタリングされた再構築されたブロックである。
一例として、ゲイン係数は、対応するスペクトル成分とフィルタリングパラメータの関数である。フィルタリングパラメータは、コーデック量子化パラメータ(QP)から導出され得る。
別の例では、第1のスペクトル成分のゲイン係数G(i、σ)が1に等しい場合、第1のスペクトル成分はフィルタリングなしでバイパスされる。第1のスペクトル成分はDC値に対応し得る。
他の例としては、ルックアップテーブル(LUT)に基づくスペクトル成分のフィルタリングがある。LUT生成は、少なくともいくつかの量子化パラメータ(QP)のための補助関数に基づくことができる。補助関数は、点(i、THR)と(a、0)を超える直線方程式であり得、a>0であり、aは、フィルタリングパラメータσまたはQP値に依存する。たとえば、QPのセットにおける最後のQPの場合、aは11に等しく、または、QPのセットにおける最後から2番目のQPの場合、aは9に等しい。
他の例として、本方法は、LUTのテーブル値からN個のビットをドロップするステップであって、Nは整数である、ステップをさらに含む。Nは、QP値に依存してもよく、固定値であってもよい。QPのセットからのより高いQPと比較して、より低いQPに対してNがより少なく選択される場合、たとえば、QPのセットにおける第1のQPの場合、Nは2に等しく、または、QPのセットからの残りのQPの場合、Nは3に等しい。あるいは、QPのQPのセットからのより低いQPと比較して、より高いQPに対してNがより高く選択される場合、たとえば、最後のQP、またはQPのセットにおける最後の2つのQPの場合、Nが4に等しく、または、QPのセットからの残りのQPの場合、Nは3に等しい。あるいは、QPのセットからの残りのQPと比較して、Nがより低いQPに対してより少なく、より高いQPに対してより高く選択される場合、たとえば、QPのセットにおける第1のQPの場合、Nは2に等しく、最後のQP、またはQPのセットにおける最後の2つのQPの場合、Nが4に等しく、または、QPのセットからの残りのQPの場合、Nは3に等しい。
一例として、あらかじめ定義されたスキャンテンプレートは、再構築されたブロック内の現在のピクセルの位置を基準にした空間オフセットまたはラスタオフセットのセットとして定義される。隣接するピクセルを指すオフセットは、再構築されたブロック内にある。あらかじめ定義されたスキャンテンプレートに従って、少なくとも1つのフィルタリングされたピクセルが元の位置に配置され得る。あらかじめ定義されたスキャンテンプレートに従ってすべてのフィルタリングされたピクセルが蓄積バッファに追加され、フィルタリングされたスペクトル成分を取得する前に、蓄積バッファをゼロによって初期化することができる。最終的にフィルタリングされたピクセルが、蓄積バッファ内の蓄積値をピクセル数で割った値として取得され、蓄積バッファの現在の位置に追加されると、1つまたは複数のプロセッサは、最終的にフィルタリングされたピクセルに基づいて、フィルタリングされた再構築されたブロックを生成するように構成される。
任意で、すべてのフィルタリングされたピクセルと対応するフィルタリングされていないピクセルの差が、あらかじめ定義されたスキャンテンプレートに従って蓄積バッファに追加され、蓄積バッファは、フィルタリングされていないピクセルにブロックに追加されるべきピクセル値の最大数を乗算することによって初期化することができる。最終的にフィルタリングされたピクセルは、蓄積バッファ内の蓄積値を、ブロックに追加されるべきピクセル値の最大数で割ったものとして取得される。
第3の態様によれば、本発明は、入力ビデオストリームから電流フレームを符号化するための符号化装置に関し、符号化装置は、本発明の第1の態様によるフィルタを備える。
第4の態様によれば、本発明は、受信ビットストリームから電流フレームを復号化するための復号化装置に関し、復号化装置は、本発明の第1の態様によるフィルタを備える。
第5の態様によれば、本発明は、コンピュータ上で実行されるときに第2の態様による方法を実行するためのプログラムコードを備えるコンピュータプログラムに関する。
したがって、フィルタが提供され、ビデオコーディングの効率を改善することができる。より具体的には、本発明の実施形態による改善されたフィルタは、フィルタパラメータシグナリングなしでフレーム自体からフィルタパラメータを推定し、したがって、イメージドメインにおいてフィルタリングするための重み係数をシグナリングする従来のフィルタよりも、必要とするシグナリングが著しく少ない。
本発明のさらなる実施形態は、以下の図面に関して説明される。
一実施形態によるフィルタを備える一実施形態による符号化装置を示す概略図である。 一実施形態によるフィルタを備える一実施形態による符号化装置を示す概略図である。 一実施形態によるフィルタを備える一実施形態による復号化装置を示す概略図である。 一実施形態によるフィルタを備える一実施形態による復号化装置を示す概略図である。 一実施形態によるフィルタに実装されたフィルタリングプロセスの態様を示す概略図である。 一実施形態によるフィルタに実装されたフィルタリングプロセスの態様を示す概略図である。 別の実施形態によるフィルタに実装されたフィルタリングプロセスの態様を示す概略図である。 正方形の再構築されたブロック内の異なるピクセル位置のテンプレートを示す図である。 1つのピクセルの同等のフィルタ形状を示す図である。 パディングの一例を示す図である。 パディングの別の例を示す図である。 一実施形態によるフィルタリング方法のステップを示す流れ図である。 一実施形態によるフィルタリング方法のステップを示す流れ図である。 SRAMに基づくハードウェアフィルタ設計の一例を示す図である。 フリップフロップに基づく2×2グループフィルタリングの例示的なハードウェア設計を示す図である。 4つの2×2グループフィルタリングの結果を同じ空間グループ最終フィルタの結果の再利用と組み合わせる例を示す図である。 一例として、LUTを最適化した結果を示す図である。 一例として、フィルタ伝達関数における望ましくないギャップを示す図である。 一例として、テーブルエントリが1つずつプロットされている同じテーブルを表す図である。 一例として、補助関数を使用してギャップを排除することができる方法を示す図である。 LUTを生成する間に2つの値から最大値をとることによってギャップを排除する例を示す図である。 一例として、上述の方法を適用した後のフィルタ伝達関数を示す図である。 セット内の5つのQPに依存するフィルタ伝達関数の例を示す図である。 対応するテーブルに基づくセット内の5つのQPのフィルタ伝達関数の例を示す図である。 対応するテーブルに基づくセット内の5つのQPのフィルタ伝達関数の例を示す図である。 一実施形態による装置の例示的な構造を示す概略図である。
様々な図面において、同一または機能的に同等の機能に対して同一の参照記号が使用される。
以下の説明では、本開示の一部を形成し、例示として、本発明が配置され得る特定の態様が示されている添付の図面を参照する。本発明の範囲から逸脱することなしに、他の態様が利用され得、構造的または論理的変更が行われ得ることが理解される。したがって、本発明の範囲は添付の特許請求の範囲によって定義されるので、以下の詳細な説明は限定的な意味で解釈されるべきではない。
たとえば、説明された方法に関連する開示は、その方法を実行するように構成された対応するデバイスまたはシステムにも当てはまる可能性があり、逆もまた同様であることが理解される。たとえば、特定の方法ステップが説明される場合、対応するデバイスは、たとえそのようなユニットが図面において明示的に説明または図示されていなくても、説明された方法ステップを実行するためのユニットを含み得る。さらに、本明細書に記載の様々な例示的態様の特徴は、特に断りのない限り、互いに組み合わせることができることが理解される。
図1Aは、一実施形態によるフィルタ120を備える一実施形態による符号化装置100を示している。符号化装置100は、複数のフレーム(本明細書では画像またはイメージとも呼ばれる)を備えるビデオ信号のフレームのブロックを符号化するように構成され、各フレームは複数のブロックに分割可能であり、各ブロックは複数のピクセルを備える。一実施形態では、ブロックは、マクロブロック、コーディングツリーユニット、コーディングユニット、予測ユニット、および/または予測ブロックであり得る。
本開示における「ブロック」という用語は、任意のタイプのブロックまたは任意の深度のブロックに使用され、たとえば、「ブロック」という用語は、ルートブロック、ブロック、サブブロック、リーフノードなどに含まれるが、これらに限定されない。コード化されるブロックは、必ずしも同じサイズである必要はない。1つの画像は異なるサイズのブロックを含み得、ビデオシーケンスの異なる画像のブロックラスタも異なる場合がある。
図1Aに示される例示的な実施形態では、符号化装置100は、ハイブリッドビデオコーディングエンコーダの形態で実装される。通常、ビデオ信号の第1のフレームはイントラフレームであり、これはイントラ予測のみを使用して符号化される。この目的のために、図1Aに示される符号化装置100の実施形態は、イントラ予測のためのイントラ予測ユニット154を備える。イントラフレームは、他のフレームからの情報なしで復号化することができる。イントラ予測ユニット154は、イントラ推定ユニット152によって提供される情報に基づいて、ブロックのイントラ予測を実行することができる。
第1のイントラフレームに続く後続のフレームのブロックは、モード選択ユニット160によって選択されるように、インター予測またはイントラ予測を使用してコード化することができる。この目的のために、図1Aに示される符号化装置100は、インター予測ユニット144をさらに備える。一般に、インター予測ユニット144は、インター推定ユニット142によって提供される動き推定に基づいてブロックの動き補償を実行するように構成することができる。
さらに、図1Bに示されるハイブリッドエンコーダの実施形態における、イントラ予測またはインター予測から取得される予測信号は、フィルタ145によってさらにフィルタリングされる。
さらに、図1Aおよび図1Bに示されるハイブリッドエンコーダの実施形態では、残余計算ユニット104は、元のブロックとその予測との間の差、すなわち、イントラ/インター画像予測の予測エラーを定義する残余ブロックを決定する。この残余ブロックは、変換ユニット106によって(たとえば、DCTを使用して)変換され、変換係数は量子化ユニット108によって量子化される。量子化ユニット108の出力、ならびに、たとえばイントラ予測ユニット154、インター予測ユニット144、およびフィルタ120によって提供されるコーディングまたはサイド情報は、エントロピ符号化ユニット170によってさらに符号化される。
ハイブリッドビデオエンコーダは通常、デコーダ処理を複製して、両方が同じ予測を生成するようにする。したがって、図1に示される実施形態では、逆量子化ユニット110および逆変換ユニットは、変換ユニット106および量子化ユニット108の逆演算を実行し、残余ブロックの復号化された近似を複製する。次いで、復号化された残余ブロックデータは、再構築ユニット114によって、予測の結果、すなわち予測ブロックに追加される。次いで、再構築ユニット114の出力を、イントラ予測に使用される線形バッファ116に提供することができ、フィルタ120によってさらに処理され、これは、以下でより詳細に説明される。最終的な画像は、復号化された画像バッファ130に記憶され、後続のフレームのインター予測に使用することができる。
図2Aは、一実施形態によるフィルタ220を備える一実施形態による復号化装置200を示している。復号化装置200は、符号化されたビデオ信号のフレームのブロックを復号化するように構成される。図2Aに示される実施形態では、復号化装置200は、ハイブリッドデコーダとして実装されている。エントロピ復号化ユニット204は、符号化された画像データのエントロピ復号化を実行し、これは、一般に、特にイントラ予測ユニット254およびインター予測ユニット244、ならびにフィルタ220などの復号化装置200の他の構成要素に必要な予測エラー(すなわち、残余ブロック)、動きデータ、および他のサイド情報を備えることができる。一般に、図2Aに示される復号化装置200のイントラ予測ユニット254およびインター予測ユニット244は、モード選択ユニット260によって選択され、図1に示される符号化装置100のイントラ予測ユニット154およびインター予測ユニット144と同様に機能し、したがって、符号化装置100と復号化装置200によって同一の予測を生成することができる。復号化装置200の再構築ユニット214は、フィルタリングされた予測されたブロックと、逆量子化ユニット210および逆変換ユニット212によって提供される残余ブロックとに基づいてブロックを再構築するように構成される。符号化装置100の場合のように、再構築されたブロックは、イントラ予測に使用される線形バッファ216に提供することができ、フィルタリングされたブロック/フレームは、インター予測のためにフィルタ220によって復号化された画像バッファ230に提供することができる。
図2Bに示されるように、図2Bに示されるハイブリッドエンコーダの実施形態における予測信号は、イントラ予測またはインター予測から取得され、フィルタ264によってさらにフィルタリングされる。
すでに上述したように、フィルタ120、220はフレームレベルにおいて使用され得、たとえば、フィルタ120、220は、フィルタリングされた再構築されたフレームを生成するために、復号化された再構築されたビデオストリームから再構築されたフレームを処理するように構成され得、再構築されたフレームは複数のブロックを含む。フィルタ120、220はまた、フレーム全体を待たずに、ブロック再構築の直後にブロックレベルにおいて使用され得、たとえば、フィルタ120、220は、フィルタリングされた再構築されたブロックを生成するために再構築されたブロックを処理するように構成され得、再構築されたブロックは複数のピクセルを含む。
フィルタ120、220、145、または264は、1つまたは複数のプロセッサ(あるいは、1つまたは複数の処理ユニット)を備える。以下でより詳細に説明されるように、1つまたは複数のプロセッサ(あるいは、1つまたは複数の処理ユニット)は、あらかじめ定義されたスキャンテンプレート(言い換えれば、スキャン順序またはスキャンパターン)に従って現在のピクセルとその隣接ピクセルを線形バッファにロードすることと、線形バッファ内のピクセルごとに1D変換を実行することによってスペクトル成分を取得することと、各スペクトル成分にゲイン係数を乗算することによってフィルタリングされたスペクトルを取得することであって、ゲイン係数は、対応するスペクトル成分およびフィルタリングパラメータに依存する、ことと、フィルタリングされたスペクトルに対して逆1D変換を実行することによってフィルタリングされたピクセルを取得することと、前の処理ステップにおいて推定されたフィルタリングされたピクセルに基づいて、フィルタリングされた再構築されたブロックを生成することとを行うように構成される。一例では、ゲイン係数は、対応するスペクトル成分とフィルタリングパラメータに依存する。別の例では、ゲイン係数は、1つまたは複数のフィルタリングパラメータおよび1つまたは複数の対応するスペクトル成分に依存する。他の例では、それぞれのゲイン係数は、1つまたは複数のフィルタリングパラメータおよび対応するスペクトル成分、ならびにスペクトル成分の左側および右側に隣接するスペクトル成分に依存し得る。
本開示は、再構築されたフレームから再構築されたブロックのローカルおよび/または非ローカルフィルタリングを実行する損失のあるビデオコーデックのためのインループフィルタを説明する。一例によれば、再構築されたフレームは、重なり合わない小さい長方形のブロック(CUブロック)のセットに分割される。次のステップでは、再構築された各ブロック(再構築されたCUブロック)は、他の再構築されたブロックとは独立して周波数ドメインにおいてフィルタリングされる。フィルタは、変換と再構築の後に適用することもでき、フィルタリングされた結果は、出力ならびに空間的および時間的予測の両方に使用される。
別の例として、本開示は、再構築されたフレームの予測ブロックのローカルおよび/または非ローカルフィルタリングを実行する損失のあるビデオコーデックのための予測フィルタを説明する。
第1のステップにおいて、再構築されたブロック内のすべてのピクセルを、互いに独立して処理することができる。ピクセルr(0)の処理には、隣接ピクセルが使用される。たとえば、図3Aに示されるように、ピクセルr(1)からr(7)が使用され、ピクセルr(0)からr(7)が1つの処理グループを形成する。
図3Aまたは図3Bは、一実施形態によるフィルタに実装されたフィルタリングプロセスの態様を示す概略図300、300'を示している。ステップ302、302'において、ブロックからの現在のピクセルおよびその隣接ピクセルは、あらかじめ定義されたスキャンテンプレートに従って線形バッファにロードされる。一例として、ブロックは予測されたブロックであり得る。別の例として、ブロックは再構築されたブロックであり得る。
ステップ304、304'において、スペクトル成分Rを取得するために、線形バッファ内のピクセルr(0)およびその隣接ピクセルr(1)からr(7)に対して1D変換が実行される。
R=1D_Transform(r)
一例として、1D変換はアダマール変換である可能性がある。
行の4つのピクセル(たとえば、図3Bの例のようにピクセルA、B、C、D)に対して1D変換を実行するか、または空間的に配置されたピクセルA、B、C、Dに対して2D変換を実行するかは、特定の実装形態に関連することを理解されたい。2×2ブロックに配置される4つのピクセルA、B、C、Dに2D変換を適用すると、行として受け取られる4つのピクセルA、B、C、Dに1D変換を適用した場合と同じ結果が得ることができる。ステップ306、306'において、フィルタリングされたスペクトル成分F(i)を取得するために、各スペクトル成分R(i)と対応するゲイン係数G(i、σ)の乗算に基づいてフィルタリングが周波数ドメインにおいて実行される。
すべてのスペクトル成分のゲイン係数のセットは、フィルタの周波数インパルス応答である。
F(i)=R(i)*G(i、σ) (1)
一例では、ゲイン係数は、対応するスペクトル成分とフィルタリングパラメータに依存する。別の例では、ゲイン係数は、1つまたは複数のフィルタリングパラメータおよび1つまたは複数の対応するスペクトル成分に依存する。他の例では、それぞれのゲイン係数は、1つまたは複数のフィルタリングパラメータおよび対応するスペクトル成分、ならびにスペクトル成分の左側および右側に隣接するスペクトル成分に依存し得る。各ゲイン係数が再構築されたブロックのスペクトル成分とフィルタリングパラメータの関数である場合、または予測されたブロックとフィルタリングパラメータの関数スペクトル成分である場合、ゲイン係数G(i、σ)は、例として次の式によって表すことができる。
Figure 2021530156
上式で、(i)はスペクトル成分のインデックスであり、R(i)は(i)インデックスに対応するスペクトル成分であり、G(i、σ)はR(i)に対応するゲイン係数であり、σはフィルタリングパラメータであり、mはスペクトル成分の数に等しい正規化定数である。たとえば、mは1、2、3、4…である。異なるスペクトル成分は、同じゲイン係数を有してもよく、異なるゲイン係数を有してもよい。
変換ブロックの入力サンプルの平均(FFT、DCT、DSTなど)または合計(アダマール)に対応するスペクトル成分(通常はDC値に対応する第1の成分)を有する変換の場合、フィルタリングされたブロックの平均輝度の変化を回避するために、1に等しいフィルタリング係数を有することが有利な場合がある。これは、DC値に対応する第1のスペクトル成分をバイパスすること(フィルタリングなし)を意味する。
フィルタリングパラメータとしてのσは、たとえば次の式を使用して、エンコーダ側とデコーダ側のコーデック量子化パラメータ(QP)から導出され得る。
σ=k*2(n*(QP-s))
上式で、k、n、およびsは、例として、k=2.64、n=0.1296、s=11の値を有する定数である。異なるスペクトル成分は、同じフィルタリングパラメータを有してもよく、異なるフィルタリングパラメータを有してもよい。
パラメータk、n、およびsは、最新のビデオコーディング標準では、QP値が6ずつ増加するたびに2倍になる量子化ステップサイズにシグマを依存させるように選択することができる。パラメータがk=0.5、
Figure 2021530156
およびs=0である例では、σパラメータは次のように導出される。
Figure 2021530156
量子化スケーリング行列は、ビデオ圧縮品質を向上させるために広く使用されている。この方法では、QPに基づいて導出された量子化ステップサイズに、ビットストリームにおいて送信されるスケーリング係数が乗算される。そのような方法の場合、σパラメータの導出は、特定のQPに使用される実際のスケーリングされた量子化ステップサイズに基づく場合がある。
σ=k*Quantization_step_size(QP-s)
定数k、n、およびsは、σ計算の固定値を有してもよく、QP、ブロックのサイズと形状、現在のブロックの予測のタイプ(インター/イントラ)に応じて異なる値を有してもよい。たとえば、サイズが32×32以上のイントラ予測された正方形ブロックの場合、パラメータsはs=11+8=19として計算され得る。同等のフィルタパラメータσの値がより小さいため、フィルタが柔らかくなり、通常は平坦な領域に対応する大きい正方形のイントラ予測されたブロックにより適している。別の例として、kはピクセルのビット深度kmod=k*(1<<(bit_depth-8))に基づいて修正され得る。
方法300、300'によれば、周波数ごとのゲイン係数は、再構築されたピクセルまたは予測されたピクセルのスペクトル成分から導出される。したがって、方法300、300'は、フィルタリングパラメータの送信を必要とせず、追加のシグナリングなしで、任意の再構築されたブロックまたは予測されたブロックに適用することができる。
LUTの詳細について説明する。
フィルタリングは、常に1未満であるスケーリング係数でのスペクトル成分R(i)の乗算を含意する点に留意されたい。R(i)の高い値では、スケーリング係数が1に近いことも観察できる。これらの観察に基づいて、スペクトルフィルタリングは、フィルタリング動作から乗算と除算を除外することができるルックアップテーブルを使用して実装される。
スペクトルゲイン係数は1未満であるため、次の式に従って、ショートルックアップテーブル(LUT)の読取りに基づいてフィルタリングを実装することができる。
Figure 2021530156
上式で、
Figure 2021530156
である。(i)はスペクトル成分のインデックスであり、R(i)は(i)インデックスに対応するスペクトル成分であり、σはフィルタリングパラメータであり、THRはしきい値であり、mはスペクトル成分の数に等しい正規化定数である。たとえば、mは1、2、3、4…である。
例として、THRは次の式から計算され得る。
Figure 2021530156
上式で、Cは1に近い値、たとえば0.8または0.9である。LUTサイズのしきい値を減らすために、THRはQP値に依存する場合がある。LUTサイズをさらに小さくするために、フィルタリングされた小さい値をゼロに置き換えるために第2のしきい値が導入され得る。その場合、フィルタリングされたスペクトル成分はF(i、σ)であり、さらに次のように導出される。
Figure 2021530156
上式で、THR2は、フィルタリングされたスペクトル成分がゼロと見なされることを下回るしきい値を定義する。第2のTHR2は、QP値に依存して定義することもできる。
周波数ドメインにおいてフィルタリングした後、ステップ308において、フィルタリングされたピクセルfを取得するために、フィルタリングされたスペクトル成分に対して逆1D変換が実行される。
f=1D_Inverse_Transform(F)
ステップ310、310'において、逆1D変換の結果は、フィルタリングされた再構築されたピクセルまたはフィルタリングされたピクセルの線形バッファに配置される。
ステップ312、312'(図3Aまたは図3Bには示されていない)において、フィルタリングされたブロックは、前の処理ステップで推定されたフィルタリングされたピクセルに基づいて生成される。一例として、フィルタリングされたブロックは、フィルタリングされた予測されたブロックであり得る。別の例として、フィルタリングされたブロックは、フィルタリングされた再構築されたブロックであり得る。
一実施形態として図3Aに示されるように、フィルタリングステップ306の後、フィルタリングされたピクセルf(0)は、あらかじめ定義されたスキャンテンプレートに従ってその元の位置に配置される。他のフィルタリングされたサンプルf(1)〜f(7)は使用されない。別の実施形態では、複数のフィルタリングされたピクセル、たとえば、フィルタリングされたサンプルの線形バッファからのすべてのフィルタリングされたピクセルは、図3Aのステップ302において使用されるあらかじめ定義されたスキャンテンプレートに従って蓄積バッファに追加される。蓄積バッファは、フィルタリングステップの前にゼロで初期化される必要がある。最後の正規化ステップにおいて、最終的にフィルタリングされたピクセルは、蓄積バッファ内の蓄積値を、蓄積バッファの現在の位置に追加されたピクセル数、言い換えれば、前の処理ステップで蓄積バッファの現在の位置に追加されたピクセル値の数で割った値として取得される。次いで、フィルタリングされた再構築されたブロックまたは予測されたブロックが、最終的にフィルタリングされたピクセルに基づいて生成される。
別の実施形態として、フィルタは、イントラコーディングユニット(CU)フィルタリングおよびインターコーディングユニット(CU)フィルタリングの両方に対して同じ実装形態を有する。
アダマール変換ドメインフィルタは、4×4ブロックを除き、スライス量子化パラメータが17より大きい場合、変換係数が非ゼロの輝度再構築されたブロックに常に適用される。フィルタパラメータはコード化された情報から明示的に導出される。提案されたフィルタは、適用される場合、ブロックの再構築の直後に復号化されたサンプルに対して実行される。フィルタリングされた結果は、出力ならびに空間的および時間的予測の両方に使用される。
図3Cに概略的に提示されているように、フィルタリングプロセスについて説明する。
再構築されたブロックからのピクセルごとに、ピクセル処理は以下のステップを備える。
スキャンパターンに従って、現在のピクセルを含む処理ピクセルの周囲の4つの隣接ピクセルをスキャンする。
読取りピクセルの4ポイントアダマール変換。
式(1)および(2)に基づくスペクトルフィルタリング。
DC値に対応する第1のスペクトル成分は、フィルタリングなしでバイパスされる。
フィルタリングされたスペクトルの逆4ポイントアダマール変換。
フィルタリングステップの後、フィルタリングされたピクセルは蓄積バッファへの元の位置に配置される。
ピクセルのフィルタリングが完了した後、蓄積値は、ピクセルフィルタリングごとに使用される処理グループの数によって正規化される。ブロックの周囲に1つのサンプルのパディングを使用しているため、処理グループの数はブロック内のピクセルごとに4に等しく、正規化は2ビットで右シフトすることによって実行される。
最大の並列処理が必要な場合は、ブロック内のすべてのピクセルを個別に処理することができることがわかる。
この実施形態では、しきい値THRは、あらかじめ定義された値、たとえば128に設定され、単純な実装形態の場合、QPごとに7ビット値の128(1<<7)エントリを記憶する必要がある。
LUTのサイズは、オンチップメモリ要件の量と、フィルタのハードウェア実装形態のコストに影響する。オンチップストレージの量を減らすために、LUTは一定の間隔8でQP20から始まる限られたQPのセットに対してのみ計算される。合計5つのあらかじめ定義されたLUT(5つのQPグループ用)が記憶される。現在のブロックをフィルタリングするために、CUのQPがテーブルから最も近いものに丸められる。
LUTサイズをさらに削減するために、LUT生成中にN個の最下位ビットがドロップ(または、無視)される。これにより、スパースなテーブル表現が可能になる。
例示的な実装形態Aの場合、Nは2に等しく、7-2=5ビットのテーブル深度(7ビット値の32エントリ)になる。
例示的な実装形態Bの場合、Nは3に等しく、7-3=4ビットのテーブル深度(7ビット値の16エントリ)になる。
したがって、LUTストレージ全体に必要な合計メモリサイズは次のとおりである。
例示的な実装形態Aの場合:5×32×7ビット=1120ビット=140バイト。
例示的な実装形態Bの場合:5×16×7ビット=560ビット=70バイト。
例示的な実装形態Bは、LUT全体を1つの16バイトのSSEレジスタに記憶する能力のために、ソフトウェア実装形態における並列アクセスを可能にするために16バイトのLUTサイズを対象としており、したがってこの構成が提案される。
アダマール変換が使用され、フィルタリングされたピクセルがあらかじめ定義されたスキャンテンプレートに従って元の位置に配置される場合、次の疑似コードは方法300のフィルタリングプロセスを説明する。
//再構築/予測されたピクセルスキャン
const int x0=pIn[p0];
const int x1=pIn[p1];
const int x2=pIn[p2];
const int x3=pIn[p3]; // p0-p3はスキャンパターンを定義する
//1Dフォワードアダマール変換
const int y0=x0+x2;
const int y1=x1+x3;
const int y2=x0-x2;
const int y3=x1-x3;
const int t0=y0+y1;
const int t1=y0-y1;
const int t2=y2+y3;
const int t3=y2-y3;
//周波数ドメインフィルタリング
const int z0=pTbl[t0];
const int z1=pTbl[t1];
const int z2=pTbl[t2];
const int z3=pTbl[t3];
//逆方向アダマール変換
const int iy0=z0 + z2;
const int iy1=z1 + z3;
const int iy2=z0 - z2;
const int iy3=z1 - z3;
//出力されたフィルタリングされたピクセル
pOut[p0_out]=iy0+iy1;
アダマール変換が使用され、フィルタリングされたサンプルの線形バッファからの複数のフィルタリングされたピクセルが蓄積バッファに追加される場合、次の疑似コードはこのシナリオのフィルタリングプロセスを説明する。
//再構築/予測されたピクセルスキャン
const int x0=pIn[p0];
const int x1=pIn[p1];
const int x2=pIn[p2];
const int x3=pIn[p3]; // p0-p3はスキャンパターンを定義する
//1Dフォワードアダマール変換
const int y0=x0+x2;
const int y1=x1+x3;
const int y2=x0-x2;
const int y3=x1-x3;
const int t0=y0+y1;
const int t1=y0-y1;
const int t2=y2+y3;
const int t3=y2-y3;
//周波数ドメインフィルタリング
const int z0=pTbl[t0];
const int z1=pTbl[t1];
const int z2=pTbl[t2];
const int z3=pTbl[t3];
//逆方向アダマール変換
const int iy0=z0+z2;
const int iy1=z1+z3;
const int iy2=z0-z2;
const int iy3=z1-z3;
代替の実施形態として、蓄積バッファは、フィルタリングされていないピクセル値にブロックに追加されるべきピクセル値の最大数を乗算することによって初期化されるべきである。ブロックに追加されるべきピクセル値の最大数は、スキャンテンプレートに基づいて定義される。実際、スキャンテンプレートは、位置ごとに追加されるピクセル値の数を定義する。それに基づいて、ブロック内のすべての位置から最大数を選択して、蓄積バッファの初期化中に使用することができる。次いで、各蓄積ステップ中に、フィルタリングされていないピクセル値が対応するフィルタリングされた値から減算され、蓄積バッファに追加される。
//フィルタリングされたピクセルの蓄積
pOut[p0]+=iy0+iy1 // p0-p3はスキャンパターンを定義する
pOut[p1]+=iy0-iy1
pOut[p2]+=iy2+iy3
pOut[p3]+=iy2-iy3
蓄積バッファに配置する前に蓄積されたピクセル値のビット深度を減らすために、逆方向変換の結果が変換のサイズ(m)で正規化され得る。
pOut[p0]+=((iy0+iy1)>>HTDF_BIT_RND4);
pOut[p1]+=((iy0-iy1)>>HTDF_BIT_RND4);
pOut[p2]+=((iy2+iy3)>>HTDF_BIT_RND4);
pOut[p3]+=((iy2-iy3)>>HTDF_BIT_RND4);
上式で、HTDF_BIT_RND4は、変換サイズが4の場合、2に等しくなる。
この実施形態は、システムが現在の位置に追加されたピクセル数を記憶することを回避することを可能にし、追加されたピクセル値の最大数がたとえば2、4、8などの累乗である場合、対応して最後の正規化ステップおよび蓄積バッファ初期化ステップにおけるシフト演算による置換除算および乗算を可能にする。正規化段階の精度を維持するために、次の方法で実行することができる。
//正規化
pFiltered[p0]=CLIP3(0,(1<<BIT_DEPTH)-1,(pOut[p0]+HTDF_CNT_SCALE_RND)>>HTDF_CNT_SCALE);
上式で、HTDF_CNT_SCALEは、蓄積バッファに配置されたピクセル量のLog2であり、たとえば4の量の場合、HTDF_CNT_SCALEは2に等しく、HTDF_CNT_SCALE_RNDは(1<<(HTDF_CNT_SCALE-1))に等しくなる。CLIP3は、フィルタリングされたサンプルが最小サンプル値と最大サンプル値の間の許容範囲内にあることを保証するクリッピング機能である。
フィルタリングされたブロックの平均輝度の変化を回避するために上で述べたように、第1のスペクトル成分(DC値に対応する)のフィルタリングをスキップすることが有利である可能性がある。これにより、フィルタの実装形態をさらに簡素化することができる。この場合のフィルタリングステップは次のとおりである。
//周波数ドメインフィルタリング
const int z0=t0;
const int z1=pTbl[t1];
const int z2=pTbl[t2];
const int z3=pTbl[t3];
再構築されたブロックまたは予測されたブロック内のピクセルごとに、ステップ302および310の再構築されたブロックまたは予測されたブロック内のフィルタリングピクセルの位置に基づいてスキャンテンプレートが選択される。スキャンテンプレートは、すべてのピクセルが再構築されたCUまたは予測されたCU内にあり、処理ピクセルの近くに配置されることを保証するように選択される。テンプレート内では、任意のスキャン順序を使用することができる。たとえば、あらかじめ定義されたスキャンテンプレートは、再構築されたブロックまたは予測されたブロック内の現在のピクセルの位置に対する空間オフセットまたはラスタオフセットのセットとして定義され、隣接するピクセルを指すオフセットは、再構築されたブロックまたは予測されたブロックの内側にある。以下はスキャンテンプレートの例である。
(0、0)、(0、1)、(1、0)、(1、1)
図4Aは、正方形ブロック(たとえば、正方形CUの予測されたブロック、または正方形CUの再構築されたブロック)内の異なるピクセル位置のテンプレートの例を示している。この図によると、境界ピクセルは4ポイント変換に基づいてフィルタリングすることができ、中央ピクセルは8ポイント変換に基づいてフィルタリングすることができる。
一方の辺のサイズがもう一方の辺のサイズよりも大きい長方形の再構築されたブロックまたは予測されたブロックの場合、スキャンは長辺に沿って実行する必要がある。たとえば、水平の長方形のブロックの場合、次のスキャン順序
(0、-3)、(0、-2)、(0、-1)、(0、0)、(0、1)、(0、2)、(0、3)、(0、4)、
を使用することができ、各ペア(y、x)において、フィルタリング再構築されたブロックまたは予測されたブロック内のフィルタリングピクセルの位置に対して、xは水平オフセットであり、yは垂直オフセットである。
提案されたフィルタは、条件に応じて選択的に適用することができる。
・残余信号が非ゼロの再構築されたブロックまたは予測されたブロックの場合、
・ブロックサイズに依存し、たとえば、小さい再構築されたブロックまたは予測されたブロックの場合(最小サイズがしきい値未満)、
・再構築されたブロックまたは予測されたブロックのアスペクト比に依存する、
・たとえば、インター予測されたブロックのみにフィルタを適用することによって、再構築されたブロックまたは予測されたブロックの予測モード(イントラまたはインター)に依存する、または
・上記の条件の任意の組合せ。
たとえば、小さいブロックの処理を回避するために、ブロックサイズが4×4ピクセル以下の場合、フィルタをバイパスする(適用しない)ことができる。これにより、通常は最小のブロック処理に対応する最悪の場合の複雑さが軽減される。
別の例として、フィルタは非ゼロの残余信号を有するブロックにのみ適用される。フィルタは量子化エラーを改善することを目的としているため、量子化または残余が使用された場合、これは有益である。ブロックに残余がない場合は、予測が適切であり、それ以上のフィルタリングは必要ないことを示している可能性がある。
別の例として、イントラ予測は通常インター予測よりも悪いため、フィルタは非ゼロの残余の存在とは無関係にイントラ予測されたブロックに適用することができ、ブロックに非ゼロの残余信号がある場合にのみインター予測されたブロックに適用することができる。
フィルタパラメータのシグマとスキャンパターンは、上記の条件によって異なる場合がある。
図4Bは、例示的なスキャンテンプレート(0、0)、(0、1)、(1、0)、(1、1)について、現在のブロック内の1つのピクセルを考慮した同等のフィルタ形状を示している。現在のピクセルのフィルタリングには、3×3ピクセルの正方形の領域が使用される(現在のピクセルは、3×3の正方形の中央に濃い灰色でマークされている)。フィルタリングされたピクセルは、4つの2×2グループからの変換ドメインフィルタリングされたサンプルを組み合わせることによって取得される。現在のピクセルがブロック境界(たとえば、上部境界)に配置される場合、左上と右上の2×2グループは使用できず、2つの2×2グループ(左下と右下)のみをフィルタリングに使用できることが理解される。さらに、現在のピクセルがブロックコーナー(たとえば、左上のコーナー)に配置される場合、フィルタリングに使用できる2×2グループは1つだけ(右下)である。
境界ピクセルとコーナーピクセルにさらに4つの2×2グループを使用することによってフィルタリングの品質を向上させるために、現在のブロックを追加のサンプルによってパディングすることができる。図4Cは、左側と上側のパディングの例を示している。パディングサンプルは、すでに再構築されたブロックから取得することができる。
ブロック内のすべてのピクセルのフィルタリングプロセスをさらに統合するために(現在のブロック内のすべてのピクセルのフィルタリングに4つの2×2グループが使用される)、図4Dに示されるように、左上のパディングに加えて、現在のブロックを右下のパディングによって拡張することもできる。フィルタリングの統合は、コーナーピクセルおよび/または境界ピクセルの特別な処理ケースを除外することによって実装形態を簡素化するため、有益である。
パディングサンプルは、好ましくは、すでに再構築されたブロックからの調整された隣接サンプルから取得される。最先端のビデオコーデックでは、それらのすでに再構築されたブロックは、ブロックの再構築の順序に応じて、現在のブロックの左側または上側、あるいは右側または下側に配置することができる。調整サンプルからのより多くの情報を使用して、フィルタリング品質を向上させ、ブロック間の移行をよりスムーズにする。
調整されたブロックまたは以前に再構築されたブロックから再構築されたサンプルを取得するには、ハードウェアまたはソフトウェアの実装形態に追加のメモリ負荷が必要になる場合がある。追加のメモリを最小化または除外するには、現在のブロックの境界に調整された隣接ブロックの1つ、2つ、または複数の行と列から通常取得される、現在のブロックのイントラ予測を目的としたサンプルを使用することが有益である。これらのサンプルは通常、イントラ予測に簡単にアクセスできるように高速メモリ(「線形」バッファとしても知られる)に記憶され、イントラ予測の参照サンプルと呼ばれる。
いくつかの実装形態では、イントラ予測を実行する前に、参照サンプル(イントラ参照サンプル)が、たとえば、スムージング、シャープニング、デリンギング、またはバイラテラルフィルタリングによって、予測の前に前処理される点にさらに留意されたい。この場合、現在のブロックのパディングに前処理されたサンプルを使用することが有益な場合がある。
調整されたブロック再構築の順序のために、パディングされた領域の一部のサンプルが利用できない場合、図4Dに示されるように、必要なサンプルを現在のブロック拡張境界ピクセルからパディングされた領域にパディングすることができる。
図5Aは、一実施形態による、対応するインループフィルタリング方法500のステップを示す流れ図を示している。再構築されたブロックは複数のピクセルを備える。方法500は、あらかじめ定義されたスキャンテンプレートに従って現在のピクセルとその隣接ピクセルを線形バッファにロードするステップ(502)と、線形バッファ内のピクセルに対して1D変換を実行することによってスペクトル成分を取得するステップ(504)と、各スペクトル成分にゲイン係数を乗算することによってフィルタリングされたスペクトル成分を取得するステップ(506)であって、ゲイン係数は、対応するスペクトル成分およびフィルタリングパラメータに依存する、ステップと、フィルタリングされたスペクトル成分に対して逆1D変換を実行することによってフィルタリングされたピクセルを取得するステップ(508)と、前の処理ステップにおいて推定されたフィルタリングされたピクセルに基づいて、フィルタリングされた再構築されたブロックを生成するステップ(510)とを備える。方法500は、図1に示される符号化装置および図2に示される復号化装置により実行することができる。図3Aの詳細情報300または図3Bの情報300'は、図5Aに示されるように、方法500にも適用される。
図5Aと同様に、図5Bは、別の実施形態による、対応するインループフィルタリング方法500'のステップを示す流れ図を示している。この例では、ブロック(または、フレーム)は予測されたブロックであり、フィルタリングされたブロックはフィルタリングされた予測されたブロックである。図5Bの詳細な説明は、図5Aと同様である。
ハードウェアの実装形態について説明する。
アダマール変換ドメインフィルタは、ブロックの再構築の直後に配置され、特にイントラ予測の参照サンプルとして、後続のブロックの再構築に関与できるサンプルを処理する。したがって、再構築パイプライン全体があまり影響を受けないようにするために、フィルタによって導入されるレイテンシを最小限に抑える必要がある。
アダマール変換は、ハードウェアの実装形態では比較的単純であると考えられている。その実装形態には乗算ではなく加算のみが必要である。以下の疑似コード1からわかるように、順方向および逆方向の変換には4つの加算が含まれ、並列に、または2つの順次加算演算で中間結果を再利用することによって実行することができる。
疑似コード1
Figure 2021530156
順方向および逆方向のアダマール変換は、組合せロジックを使用することによってハードウェアに実装することができる。LUTへの高速で並列のアクセスにはさらに注意が必要である。
SRAMベースのLUTについて説明する。
この例示的な実装形態では、LUTは、オンチップシングルポートスタティックRAMに記憶される(図6)。
前の処理ステップからのデータがクロックの立ち上がりエッジによってバッファにおいて使用可能になると、順方向アダマール変換(2つの後続の追加を含む)を実装する組合せロジックによってアクセスされる。組合せロジックが完了すると、LUTごとにアドレスが使用できるようになる。インバータとクロックの立ち下がりエッジを使用して、データがSRAMからアクセスされる。逆方向アダマール変換と正規化を実装する第2の組合せロジックは、LUTからのデータが使用可能になった直後に開始される。出力フィルタリングされたサンプルは、現在のクロックサイクルの終わりに使用可能になり、クロックの次の立ち上がりエッジにおいて次のアルゴリズムによる処理の準備が整う。
フリップフロップベースのLUTについて説明する。
フィルタリングプロセス用の1つのテーブルが16エントリによって制限されていることを考えると、フリップフロップに基づいてLUTを実装する方が効率的である。そのような設計では、並列処理用に複数のLUTを必要とせず、データアクセス用にクロックエッジを必要としない。並列アクセスは、1つの2×2グループを処理するための例示的な設計を示す図7に示されるように、マルチプレクサによって提供される。推奨される設計では、フィルタリングプロセス中に並列アクセスを提供するために、7ビットの16個のフリップフロップが必要である。現在のCUのQPが使用可能になると、QP固有のLUTをフリッププロップにロードすることができる。
図8に示されるように、4つの2×2グループフィルタリングの結果を同じ空間グループの最終フィルタ出力の結果の再利用と組み合わせたものが生成される。
上記の分析により、提案されたフィルタは、SRAMまたはフリップフロップベースのLUT実装形態のいずれかを使用して1クロック内のハードウェアに実装することができるという結論に達した。
複雑さの分析について説明する。
アンカーに対するビットレート/PSNRへの影響を測定する。
複雑さの分析(たとえば、符号化と復号化の時間測定、以下の表に記入することによる複雑さの分析)。
Figure 2021530156
実験結果について説明する。
客観的な結果について説明する。
目標パフォーマンスが次の表に示される。
Figure 2021530156
Figure 2021530156
推奨されるLUT70バイト、QPあたり16バイト、1クロックのHW実装形態が可能など。次のバージョンのVTMにアダマール変換ドメインフィルタを採用することを提案した。
以下の参考文献は、その全体が複製されているかのように、参照により本明細書に組み込まれる。
共同ビデオ専門家チーム(JVET)はJVET-K0068を文書化する。
以下に、LUTを最適化するための例を示す。
一例1として、量子化パラメータ(QP)のセットは、ルックアップテーブル(LUT)を生成するために選択され、QPのセットは、(i)インデックスに対応する第1のQPと、(i+1)インデックスに対応する第2のQPとを含み、第1のQPと第2のQPの間隔は一定である。たとえば、間隔は8、10、または16に等しくてよい。
たとえば、一定の間隔を例として8とすると、qp={20、28、36、44、52}のLUTを有するスパーステーブルである。第1のgp20と第2のgp28との間の間隔は8である。同様に、第2のgp28と第3のgp36との間の間隔は8である。フィルタリング中に、最も近いQPを有するテーブルが選択される。
別の例として、一定の間隔を例として8とすると、qp={18、26、34、42、50}のLUTを有するスパーステーブルである。第1のgp18と第2のgp26との間の間隔は8である。同様に、第2のgp26と第3のgp34との間の間隔は8である。フィルタリング中に、最も近いQPを有するテーブルが選択される。
LUTサイズ:5×128=640バイト
以下は、ルックアップテーブル(LUT)を生成するために選択されたQPを反映する疑似コード2である。
疑似コード2
Figure 2021530156
疑似コードでは、HTDF_QP_ROUNDは一定の間隔を表す。間隔を2の累乗にすることは、シフトとしてインデックス計算の除算演算を実装できるという利点がある。たとえば2、4、10、15、または16などの一定間隔の異なる値が選択され得る点に留意されたい。さらに、代替の実施形態として、間隔、およびどのLUTがQPの任意のセットに対して計算されるかは、任意であり得る。
フィルタリングプロセス中に、所与のQPのLUTに対応するインデックスは、次のように計算される。
int idx=((qp-HTDF_MIN_QP)+(HTDF_QP_ROUND>>1))/HTDF_QP_ROUND
または、代替で、精度がより低くなる。
int idx=(qp-HTDF_MIN_QP)/HTDF_QP_ROUND;
一定の間隔が2の累乗である場合、たとえば、LUTのインデックスは、除算の代わりにシフト演算を使用して有利に計算することができる。
int idx=(qp-HTDF_MIN_QP)>>HTDF_QP_ROUND_LOG2=(qp-HTDF_MIN_QP)>>3;
別の例2として、デコーダまたはエンコーダはテーブル値からN個のビットをドロップし、Nは整数である。これにより、所与範囲から選択された値のみを記憶するスパースLUT表現を使用することができる。たとえば、Nは3である。最大テーブル値は127(7ビット)で、3ビットをドロップすると、結果は4ビットになり、すなわち、7ビット値の16個のエントリ、およそ16バイトになる。
以下は、与えられたqp値に従ってLUTがどのように生成されるかを説明する疑似コード3である。
疑似コード3
Figure 2021530156
所与の例では、HTDF_TBL_SHはドロップするビット数を定義し、これは、1、2、3、4などであり得る。
以下は、フィルタリング中のスパースLUTへのアクセスを示す疑似コードである。
tbl[(z+HTDF_TBL_RND)>>HTDF_TBL_SH]
上記の例1および2を組み合わせる場合、例として、図9はLUTを最適化した結果を示している。図9に示されるように、例1と2を組み合わせると、5テーブル×16エントリ×7ビット=560ビット=70バイトである。
LUTエントリの量は、HTDF_SHORT_TBL_THR(段落[0057]〜[0061]からのしきい値)およびドロップされたビット数HTDF_TBL_SHによって定義される点に留意されたい。しきい値が128(すなわち、1<<7)に等しく、ビットが3つドロップされると、テーブルエントリの数は1<<(7-3)=1<<4=16に等しくなる。上で説明したように、LUTしきい値は、好ましくは、段落[0062]〜[0066]からの式の結果を1に近づけるように選択され、またそこに記載されているように、しきい値は、QPに応じて異なる可能性がある。したがって、より高いQP値のLUT生成では、しきい値を128(1<<7)からたとえば256(1<<8)に増やすことが有益な場合がある。その場合、LUTエントリの精度を同じに維持するために(たとえば、3つのビットをドロップする)32個のエントリが必要になる(32=1<<(8-3)=1<<5)。あるいは、より高いQPの場合とより低いQPの場合のLUTサイズを同じに維持するために、テーブル16=1<<(8-4)=1<<4の16個のエントリを維持するために、精度をさらに4に下げることができる。
いくつかの実装形態では、段落[0062]〜[0066]からの式を維持するために、LUTサイズを制限し、THRを有することは矛盾する可能性がある。実際、高いQP値(高いσ値につながる)において、LUTサイズをたとえば16個のエントリに制限することは、図10に示されるように、値120の周囲のフィルタ伝達関数(LUTによって表される)に望ましくないギャップをもたらす可能性がある(これには、最下位3ビットをドロップすることによるLUTサブサンプリングの方法も含まれる)。
図11は、インデックス15における最後のLUTエントリとインデックス16におけるフィルタ伝達関数の次のポイントとの間のギャップを示すLUTサブサンプリング効果を考慮せずに1つずつプロットされているテーブルエントリを有する同じテーブルを表している。
図12は、たとえば、直線方程式(緑色で示されている)を使用することによって、1だけ増加された最後のLUTエントリ(15)の引数に対応する引数16、言い換えれば、LUTサイズ(16)においてポイントTHR=128を通過することによって、およびある点において(たとえば、所与の例における値11において)x軸と交差することによって、最後のLUTエントリ+1に対応する引数においてTHR値を介して来る補助関数を使用してギャップを排除することができる方法を示している。同じ原理に基づいて、たとえば、指数関数、対数、放物線などの他のタイプの補助関数、またはそれらの組合せを使用できる点に留意されたい。
図13は、LUTを生成する際に、2つの値から最大値を取得することによってギャップを排除する例を示しており、第1の値は、上述のLUTエントリ
Figure 2021530156
であり、第2は同じ引数iでの補助関数の値(この例では直線)であり、
Figure 2021530156
上式で、AuxiliaryFuncσ(i)は補助関数を表し、補助関数は、最後のLUT+1の引数に対応するiにおいてTHRに等しい値を有する。
図14は、補助直線方程式を使用する上述の方法を適用した後のフィルタ伝達関数と、3つの最下位ビットをドロップすることによるLUTサブサンプリングを示している。
段落[0137]に記載されているように、1つのLUTをQPのグループに使用することができる。可能なQP範囲をカバーするために、あらかじめ定義されたQPセットが使用され、セットからのQPごとに1つのLUTが生成される。図15は、セット内の5つのQPおよび対応するテーブル(0から4まで)に依存するフィルタ伝達関数の例を示している。この例では、テーブル4は、値11においてx軸と交差する直線補助関数が使用される、段落[0154]〜[0155]において説明されている方法を使用して生成され、テーブル3は、値9においてx軸と交差する直線補助関数が使用される、同じ方法を使用して生成される。この例において使用されている表の値は、次のとおりである。
テーブル0={0、2、10、19、28、36、45、53、61、70、78、86、94、102、110、118、}、
テーブル1={0、0、5、12、20、29、38、47、56、65、73、82、90、98、107、115、}、
テーブル2={0、0、1、4、9、16、24、32、41、50、59、68、77、86、94、103、}、
テーブル3={0、0、0、1、3、5、9、14、19、25、32、40、55、73、91、110、}、
テーブル4={0、0、0、0、0、1、2、4、6、8、11、14、26、51、77、102、}、
段落[0145]〜[00151]において上述したように、テーブルサブサンプリングの方法は、テーブルサイズを減らすために、テーブル値からN個のビットをドロップすることができる。これらの段落においてやはり述べたように、Nは、特定のテーブル生成に使用されるQPと、このテーブルに選択されたTHR値によって異なる場合がある。たとえば、より低いQP値の場合、フィルタリングパラメータσはより高いQPの場合よりも比較的低くなる。したがって、THRの絶対値を、パフォーマンスを犠牲にすることなく減らすことができる。さらに、セット内のすべてのQPに対してテーブルサイズを同じに維持し(実装形態を簡素化するために有益である)、より低いQPのサブサンプリングレートを減らす(これは、より少ない圧縮レベルとより良い再構築された画質に対応する)ために、たとえば、より低いQPのNを2に設定し、THRを64に設定することによって、他のQPテーブルと比較して、ドロップされるビットNの量を減らすことが有益な場合がある。図16は、第1のテーブル(より低いQP範囲に対応する)についてNが2に設定され、他のテーブルについてNが3に設定される、対応するテーブル(0から4)に基づくセット内の5つのQPのフィルタ伝達関数の例を示している。この例はまた、段落[0161]〜[0162]において説明されているように、テーブル3およびテーブル4の生成に補助関数を使用する方法を含む。テーブル4の場合、直線補助関数は値11においてx軸と交差する。テーブル4の場合、直線補助関数は値9においてx軸と交差する。この例において使用されている表の値は、次のとおりである。
テーブル0={0、0、2、6、10、14、19、23、28、32、36、41、45、49、53、57、}、
テーブル1={0、0、5、12、20、29、38、47、56、65、73、82、90、98、107、115、}、
テーブル2={0、0、1、4、9、16、24、32、41、50、59、68、77、86、94、103、}、
テーブル3={0、0、0、1、3、5、9、14、19、25、32、40、55、73、91、110、}、
テーブル4={0、0、0、0、0、1、2、4、6、8、11、14、26、51、77、102、}、
段落[0145]〜[00151]において上述したように、テーブルサブサンプリングの方法は、テーブルサイズを減らすために、テーブル値からN個のビットをドロップすることができる。これらの段落においてやはり述べたように、Nは、特定のテーブル生成に使用されるQPと、このテーブルに選択されたTHR値によって異なる場合がある。たとえば、より高いQP値の場合、フィルタリングパラメータσは、段落[0062]〜[0066]からの式を1に近づけておくために、THR値の増加を必要とし得るより低いQPの場合よりも比較的高い。同時に、セット内のすべてのQPに対してLUTサイズを同じに維持する(実装形態が簡素化されるため有益である)ために、また、より高いQP値の場合、再構築された画像の歪みが大きくなること、および、強力な圧縮アーティファクトが存在する場合のLUTサブサンプリングの主観的に目立たない影響により、LUTのサブサンプリングの増加は許容できることを考慮すると、ドロップされた最下位ビットの値Nは、たとえば、セット内の最後と最後から2番目のテーブルについて、4に増加されてよい。図17は、第1のテーブル(より低いQP範囲に対応する表0)についてNが2に設定され、最後と最後から2番目のテーブル(テーブル3とテーブル4)についてNが4に設定され、他のテーブルについてNが3に設定される、対応するテーブル(0から4)に基づくセット内の5つのQPのフィルタ伝達関数の例を示している。この例では、TRHは第1のテーブル生成について64に設定され、最後のおよび最後から2番目のテーブルについて256に設定され、残りのテーブルについて128に設定される。この例はまた、段落[0161]〜[0162]において説明されているように、テーブル3およびテーブル4の生成に補助関数を使用する方法を含む。テーブル4の場合、直線補助関数は値6においてx軸と交差する。テーブル4の場合、直線補助関数は値8においてx軸と交差する。この例において使用されている表の値は、次のとおりである。
テーブル0={0、0、2、6、10、14、19、23、28、32、36、41、45、49、53、57、}、
テーブル1={0、0、5、12、20、29、38、47、56、65、73、82、90、98、107、115、}、
テーブル2={0、0、1、4、9、16、24、32、41、50、59、68、77、86、94、103、}、
テーブル3={0、0、3、9、19、32、47、64、81、99、117、135、154、179、205、230、}、
テーブル4={0、0、0、2、6、11、18、27、38、51、64、96、128、160、192、224、}、
図18は、様々な実施形態を実装するために使用することができる装置600のブロック図である。装置600は、図1に示されるような符号化装置および図2に示されるような復号化装置であり得る。さらに、装置600は、記載された要素のうちの1つまたは複数をホストすることができる。いくつかの実施形態では、装置600は、スピーカ、マイクロフォン、マウス、タッチスクリーン、キーパッド、キーボード、プリンタ、ディスプレイなどの1つまたは複数の入力/出力デバイスを備えている。装置600は、1つまたは複数の中央処理装置(CPU)610、メモリ620、大容量ストレージ630、ビデオアダプタ640、およびバスに接続されたI/Oインターフェース660を含み得る。バスは、メモリバスまたはメモリコントローラ、周辺バス、ビデオバスなどを含む、任意のタイプのいくつかのバスアーキテクチャのうちの1つまたは複数である。
CPU610は、任意のタイプの電子データプロセッサを有し得る。メモリ620は、静的ランダムアクセスメモリ(SRAM)、動的ランダムアクセスメモリ(DRAM)、同期DRAM(SDRAM)、読取り専用メモリ(ROM)、それらの組合せなどの任意のタイプのシステムメモリを有してもよく、それらであってもよい。一実施形態では、メモリ620は、起動時に使用するためのROM、ならびにプログラムの実行中に使用するためのプログラムおよびデータストレージのためのDRAMを含み得る。実施形態では、メモリ620は非一時的である。大容量ストレージ630は、データ、プログラム、および他の情報を記憶し、データ、プログラム、および他の情報にバスを介してアクセス可能にする任意のタイプのストレージデバイスを含む。大容量ストレージ630は、たとえば、ソリッドステートドライブ、ハードディスクドライブ、磁気ディスクドライブ、光ディスクドライブなどのうちの1つまたは複数を含む。
ビデオアダプタ640およびI/Oインターフェース660は、外部入力および出力デバイスを装置600に結合するためのインターフェースを提供する。たとえば、装置600は、クライアントにSQLコマンドインターフェースを提供し得る。図示されるように、入力および出力デバイスの例には、ビデオアダプタ640に結合されたディスプレイ690、およびI/Oインターフェース660に結合されたマウス/キーボード/プリンタ670の任意の組合せが含まれる。他のデバイスを装置600に結合することができ、追加のまたはより少ないインターフェースカードが利用され得る。たとえば、プリンタにシリアルインターフェースを提供するために、シリアルインターフェースカード(図示せず)が使用され得る。
装置600はまた、イーサネットケーブルなどのようなワイヤードリンク、および/またはアクセスノードまたは1つまたは複数のネットワーク680へのワイヤレスリンクを含む、1つまたは複数のネットワークインターフェース650を含む。ネットワークインターフェース650は、装置600がネットワーク680を介して遠隔ユニットと通信することを可能にする。たとえば、ネットワークインターフェース650は、データベースへの通信を提供し得る。一実施形態では、装置600は、データ処理のためにローカルエリアネットワークまたはワイドエリアネットワークに結合され、他の処理ユニット、インターネット、リモートストレージ設備などのリモートデバイスと通信する。
インループフィルタまたは予測フィルタの提案された設計には、ALFなどの従来の適応フィルタリング方法に関して次の利点がある。
・提案された周波数ドメインフィルタは、デコーダ側の再構築されたフレームまたは予測されたブロックからフィルタリングパラメータ(周波数ドメインゲイン係数)を導出するため、エンコーダ側からデコーダ側にフィルタリングパラメータが転送される必要はない。
・ALFは、送信用の重み係数の数を減らすために、エンコーダ側において複雑なレート歪み最適化(RDO)が必要になる。提案された方法は、エンコーダ側において複雑なRDOを必要とせず(パラメータの転送なし)、あらかじめ定義された条件を満たすすべてのブロックに適用される。
・ALFはピクセルドメインにおける線形フィルタである。1Dスペクトル成分ごとのゲイン係数はこのスペクトル成分値に依存するため、提案されたフィルタは非線形である。これにより、非線形処理から追加のコーディングゲインを実現することができる。
・ALFはデコーダ側においてユニバーサルマルチプライヤが必要である。提案された方法では、スペクトル係数ごとのゲインが1未満であるため、フィルタリングをルックアップテーブルとして実装することができる。したがって、提案された方法は、乗算なしで実装することができる。
したがって、フィルタが提供され、複雑さの低いビデオコーディングの効率を向上させることができる。
本開示の特定の特徴または態様は、いくつかの実装形態または実施形態のうちの1つのみに関して開示され得るが、そのような特徴または態様は、所望され得る他の実装形態または実施形態の1つまたは複数の他の特徴または態様と組み合わせることができ、任意の所与または特定の用途に有利である。さらに、「含む(include)」、「有する(have)」、「とともに(with)」という用語、またはそれらの他の変形が詳細な説明または特許請求の範囲のいずれかで使用される限り、そのような用語は、「備える(comprise)」という用語と同様の方法で包括的であることが意図されている。また、「例示的(exemplary)」、「たとえば(for example)」および「たとえば(e.g.)」という用語は、最良または最適ではなく、単なる例として意図されている。「結合された(coupled)」および「接続された(connected)」という用語は、派生語とともに使用され得る。これらの用語は、2つの要素が直接物理的または電気的に接触しているか、または互いに直接接触していないかに関係なく、2つの要素が互いに協力または相互作用することを示すために使用されている可能性があることを理解されたい。
特定の態様が本明細書で例示および説明されてきたが、本開示の範囲から逸脱することなしに、様々な代替および/または同等の実装形態を、表示および説明された特定の態様の代わりに使用できることが当業者には理解されるであろう。本出願は、本明細書で説明する特定の態様の適応またはバリエーションをカバーすることを目的としている。
以下の特許請求の範囲の要素は、対応するラベルを付けて特定の順序で記載されているが、特許請求の範囲の記載がそれらの要素の一部またはすべてを実装するための特定の順序を暗示していない限り、それらの要素は、必ずしもその特定の順序で実装されることに限定されることを意図したものではない。
上記の教示に照らして、多くの代替、修正、および変形が当業者には明らかであろう。もちろん、当業者は、本明細書に記載されたものを超えて本発明の多くの用途があることを容易に認識する。本発明は、1つまたは複数の特定の実施形態を参照して説明されてきたが、当業者は、本発明の範囲から逸脱することなしに、多くの変更が加えられてよいことを認識している。したがって、添付の特許請求の範囲およびそれらの同等物の範囲内で、本発明は、本明細書に具体的に記載されている以外の方法で実施され得ることが理解されるべきである。
100 符号化装置
104 残余計算ユニット
106 変換ユニット
108 量子化ユニット
110 逆量子化ユニット
114 再構築ユニット
116 線形バッファ
120 フィルタ
130 復号化された画像バッファ
142 インター推定ユニット
144 インター予測ユニット
145 フィルタ
152 イントラ推定ユニット
154 イントラ予測ユニット
160 モード選択ユニット
170 エントロピ符号化ユニット
200 復号化装置
204 エントロピ復号化ユニット
210 逆量子化ユニット
212 逆変換ユニット
214 再構築ユニット
216 線形バッファ
220 フィルタ
230 画像バッファ
244 インター予測ユニット
254 イントラ予測ユニット
260 モード選択ユニット
264 フィルタ
300 概略図
300' 概略図
300 方法
300' 方法
300 情報
300' 情報
500 方法
500' インループフィルタリング方法
600 装置
610 中央処理装置(CPU)
620 メモリ
630 大容量ストレージ
640 ビデオアダプタ
650 ネットワークインターフェース
660 I/Oインターフェース
670 マウス/キーボード/プリンタ
680 ネットワーク
690 ディスプレイ
図2Bに示されるように、図2Bに示されるハイブリッドデコーダの実施形態における予測信号は、イントラ予測またはインター予測から取得され、フィルタ264によってさらにフィルタリングされる。
フィルタ120、220、145、または264は、1つまたは複数のプロセッサ(あるいは、1つまたは複数の処理ユニット)を備える。以下でより詳細に説明されるように、1つまたは複数のプロセッサ(あるいは、1つまたは複数の処理ユニット)は、あらかじめ定義されたスキャンテンプレート(言い換えれば、スキャン順序またはスキャンパターン)に従って現在のピクセルとその隣接ピクセルを線形バッファにロードすることと、線形バッファ内のピクセルごとに1D変換を実行することによってスペクトル成分を取得することと、各スペクトル成分にゲイン係数を乗算することによってフィルタリングされたスペクトル成分を取得することであって、ゲイン係数は、対応するスペクトル成分およびフィルタリングパラメータに依存する、ことと、フィルタリングされたスペクトルに対して逆1D変換を実行することによってフィルタリングされたピクセルを取得することと、前の処理ステップにおいて推定されたフィルタリングされたピクセルに基づいて、フィルタリングされた再構築されたブロックを生成することとを行うように構成される。一例では、ゲイン係数は、対応するスペクトル成分とフィルタリングパラメータに依存する。別の例では、ゲイン係数は、1つまたは複数のフィルタリングパラメータおよび1つまたは複数の対応するスペクトル成分に依存する。他の例では、それぞれのゲイン係数は、1つまたは複数のフィルタリングパラメータおよび対応するスペクトル成分、ならびにスペクトル成分の左側および右側に隣接するスペクトル成分に依存し得る。

Claims (34)

  1. 再構築されたブロックを処理するための方法であって、前記再構築されたブロックが複数のピクセルを備え、
    あらかじめ定義されたスキャンテンプレートに従って、前記再構築されたブロックの現在のピクセル、および前記現在のピクセルのその隣接ピクセルをスキャンするステップと、
    前記現在のピクセルとその隣接ピクセルに対して変換を実行することによってスペクトル成分を取得するステップと、
    条件に基づいて、フィルタが前記スペクトル成分に適用されるかどうかを決定するステップと、
    前記フィルタがスペクトル成分に適用される場合、フィルタリングパラメータと前記スペクトル成分に基づいてフィルタリングされたスペクトル成分を取得するステップと、
    前記フィルタがスペクトル成分に適用されない場合、スペクトル成分を変更せずに保存するステップと、
    前記フィルタリングされたスペクトル成分に対して逆変換を実行することによってフィルタリングされたピクセルを取得するステップと、
    前記フィルタリングされたピクセルに基づいて、フィルタリングされた再構築されたブロックを生成するステップと、
    を備える、方法。
  2. 前記条件が、
    前記ブロックが非ゼロの残余信号を有すること、
    前記ブロックのサイズ、
    前記ブロックのアスペクト比、
    前記ブロックの予測モード、
    イントラ内の前記ブロックの予測モード、または
    インター内の前記ブロックの予測モード
    のうちの少なくとも1つを備える、請求項1に記載の方法。
  3. 前記フィルタのパラメータおよび/または前記あらかじめ定義されたスキャンテンプレートが前記条件に依存する、請求項1または2に記載の方法。
  4. 前記フィルタが、ブロック幅にブロック高さを掛けたものとして取得される前記ブロックのサイズが4×4より大きい場合に適用される、請求項2に記載の方法。
  5. 前記ブロックの前記予測モードがインターであり、前記ブロックが非ゼロの残余信号を有する場合に前記フィルタが適用される、請求項2に記載の方法。
  6. 前記ブロックの前記予測モードがイントラの場合に前記フィルタが適用される、請求項2に記載の方法。
  7. 前記ブロックの前記予測モードがインターであり、前記ブロックの幅と前記ブロックの高さが32以上の場合、前記フィルタが適用されない、請求項2に記載の方法。
  8. 前記フィルタリングされたスペクトル成分を取得する前記ステップが、ルックアップテーブル(LUT)に基づいて推定される、請求項7に記載の方法。
  9. フィルタリングされたスペクトル成分F(i、σ)が
    Figure 2021530156
    によって導出され、上式で、(i)がスペクトル成分のインデックスであり、R(i)が(i)インデックスに対応する前記スペクトル成分であり、σが前記フィルタリングパラメータであり、LUT(R(i)、σ)が前記ルックアップテーブル内の配列であり、THRがしきい値である、請求項8に記載の方法。
  10. Figure 2021530156
    であり、mがスペクトル成分の数に等しい正規化定数である、請求項9に記載の方法。
  11. 前記フィルタリングパラメータが、コーデック量子化パラメータ(QP)に基づいて導出される、請求項8から10のいずれか一項に記載の方法。
  12. 前記フィルタリングパラメータσが、
    σ=k*2(n*(QP-s))
    によって導出され、QPが前記コーデック量子化パラメータであり、k、n、およびsが定数である、請求項11に記載の方法。
  13. kが、ピクセルのビット深度kmod=k*(1<<(bit_depth-8))に基づいて修正される、請求項12に記載の方法。
  14. QP<=17の場合、前記フィルタリングパラメータがゼロに等しく、前記再構築されたブロックがフィルタリングなしでバイパスされる、請求項13に記載の方法。
  15. THRがQP値に依存する、請求項9のいずれか一項に記載の方法。
  16. THRが、
    Figure 2021530156
    よって導出され、上式で、Cが1に近い値である、請求項15に記載の方法。
  17. 前記あらかじめ定義されたスキャンテンプレートが、前記再構築されたブロック内の前記現在のピクセルの位置に対する空間オフセットまたはラスタオフセットのセットとして定義される、請求項1から16のいずれか一項に記載の方法。
  18. 前記あらかじめ定義されたスキャンテンプレートが、前記再構築されたブロック内の前記現在のピクセルの前記位置に対するラスタオフセットのセットとして定義されている場合、隣接するピクセルを指すオフセットが前記再構築されたブロック内にある、請求項17に記載の方法。
  19. 前記あらかじめ定義されたスキャンテンプレートが、scanTmpl[4](y、x)={(0、0)、(0、1)、(1、0)、(1、1)}、のように定義される、請求項18に記載の方法。
  20. 前記あらかじめ定義されたスキャンテンプレートに従って、少なくとも1つのフィルタリングされたピクセルが元の位置に配置される、請求項1から19のいずれか一項に記載の方法。
  21. すべてのフィルタリングされたピクセルが、前記あらかじめ定義されたスキャンテンプレートに従って蓄積バッファに追加され、フィルタリングされたスペクトル成分を取得する前記ステップの前に、前記蓄積バッファがゼロで初期化される、請求項1から20のいずれか一項に記載の方法。
  22. 最終的にフィルタリングされたピクセルが、前記蓄積バッファ内の蓄積値をピクセル数で割った値として取得され、前記蓄積バッファの現在の位置に追加されると、
    前記最終的にフィルタリングされたピクセルに基づいて、前記フィルタリングされた再構築されたブロックを生成する、請求項21に記載の方法。
  23. すべてのフィルタリングされたピクセルと対応するフィルタリングされていないピクセルの差が、前記あらかじめ定義されたスキャンテンプレートに従って蓄積バッファに追加され、前記蓄積バッファが、フィルタリングされていないピクセルに前記ブロックに追加されるべきピクセル値の最大数を乗算することによって初期化される、請求項1から22のいずれか一項に記載の方法。
  24. 最終的にフィルタリングされたピクセルが、前記蓄積バッファ内の蓄積値を、前記ブロックに追加されるべきピクセル値の最大数で割ったものとして取得される、請求項23に記載の方法。
  25. 前記あらかじめ定義されたスキャンテンプレートに従って、前記再構築されたブロックの前記現在のピクセルと前記現在のピクセルのその隣接ピクセルを蓄積バッファにスキャンするステップと、
    前記蓄積バッファ内のピクセルの変換を実行することによってスペクトル成分を取得するステップと、を備える、請求項1から24のいずれか一項に記載の方法。
  26. 前記変換が1D変換である、請求項1から25のいずれか一項に記載の方法。
  27. 前記変換がアダマール変換である、請求項1から26のいずれか一項に記載の方法。
  28. 請求項1から27のいずれか一項に記載の方法を実施するための処理回路を備える、デコーダ。
  29. 請求項1から27のいずれか一項に記載の方法を実施するための処理回路を備える、エンコーダ。
  30. 請求項1から27のいずれか一項に記載の方法を実行するためのフィルタを備える、デコーダ。
  31. 請求項1から27のいずれか一項に記載の方法を実行するためのフィルタを備える、エンコーダ。
  32. 命令を備えるメモリストレージと、
    前記メモリと通信している1つまたは複数のプロセッサと
    を備え、前記1つまたは複数のプロセッサが、請求項1から27のいずれか一項に記載の方法を実行するための前記命令を実行する、デコーダ。
  33. 命令を備えるメモリストレージと、
    前記メモリと通信している1つまたは複数のプロセッサと
    を備え、前記1つまたは複数のプロセッサが、請求項1から27のいずれか一項に記載の方法を実行するための前記命令を実行する、エンコーダ。
  34. コンピュータまたはプロセッサ上で実行されたときに請求項1から27の方法を実行するためのプログラムコードを備える、コンピュータプログラム製品。
JP2020573159A 2018-07-02 2019-07-02 ビデオコーディングにおけるフィルタリングのための装置および方法 Active JP7195348B2 (ja)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US201862693441P 2018-07-02 2018-07-02
US62/693,441 2018-07-02
US201862725845P 2018-08-31 2018-08-31
US62/725,845 2018-08-31
US201862731967P 2018-09-16 2018-09-16
US62/731,967 2018-09-16
US201862731972P 2018-09-17 2018-09-17
US62/731,972 2018-09-17
US201862735722P 2018-09-24 2018-09-24
US62/735,722 2018-09-24
US201862757732P 2018-11-08 2018-11-08
US62/757,732 2018-11-08
US201962793866P 2019-01-17 2019-01-17
US62/793,866 2019-01-17
PCT/RU2019/050102 WO2020009619A1 (en) 2018-07-02 2019-07-02 Apparatus and method for filtering in video coding

Publications (3)

Publication Number Publication Date
JP2021530156A true JP2021530156A (ja) 2021-11-04
JPWO2020009619A5 JPWO2020009619A5 (ja) 2022-10-07
JP7195348B2 JP7195348B2 (ja) 2022-12-23

Family

ID=69059729

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2020573159A Active JP7195348B2 (ja) 2018-07-02 2019-07-02 ビデオコーディングにおけるフィルタリングのための装置および方法
JP2020573168A Active JP7195349B2 (ja) 2018-07-02 2019-07-02 ビデオコーディングにおけるフィルタリングのための装置および方法
JP2021500073A Active JP7293330B2 (ja) 2018-07-02 2019-07-02 ビデオコーディングにおけるフィルタリングのための装置および方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2020573168A Active JP7195349B2 (ja) 2018-07-02 2019-07-02 ビデオコーディングにおけるフィルタリングのための装置および方法
JP2021500073A Active JP7293330B2 (ja) 2018-07-02 2019-07-02 ビデオコーディングにおけるフィルタリングのための装置および方法

Country Status (13)

Country Link
US (3) US11509892B2 (ja)
EP (3) EP3808092A4 (ja)
JP (3) JP7195348B2 (ja)
KR (3) KR102598576B1 (ja)
CN (3) CN112806019B (ja)
AU (3) AU2019298063B2 (ja)
BR (3) BR112020026959A2 (ja)
CA (3) CA3105442C (ja)
CL (2) CL2020003453A1 (ja)
MX (3) MX2021000170A (ja)
NZ (1) NZ772208A (ja)
SG (3) SG11202013198PA (ja)
WO (3) WO2020009619A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872539B (zh) * 2015-02-08 2020-01-14 同济大学 图像编码方法和装置及图像解码方法和装置
WO2020009619A1 (en) 2018-07-02 2020-01-09 Huawei Technologies Co., Ltd. Apparatus and method for filtering in video coding
WO2020185747A1 (en) * 2019-03-11 2020-09-17 Vid Scale, Inc. Methods and systems for post-reconstruction filtering
BR112021025435A2 (pt) * 2019-06-18 2022-02-01 Huawei Tech Co Ltd Aparelho e método para filtragem em codificação de vídeo
US11743459B2 (en) * 2020-09-29 2023-08-29 Qualcomm Incorporated Filtering process for video coding

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0129558B1 (ko) 1992-10-26 1998-04-10 배순훈 적응적 가변길이 부호화 방법 및 장치
US6748113B1 (en) * 1999-08-25 2004-06-08 Matsushita Electric Insdustrial Co., Ltd. Noise detecting method, noise detector and image decoding apparatus
EP1978748B1 (en) * 2001-11-29 2014-04-16 Panasonic Corporation Coding distortion removal method
US20040252758A1 (en) * 2002-08-14 2004-12-16 Ioannis Katsavounidis Systems and methods for adaptively filtering discrete cosine transform (DCT) coefficients in a video encoder
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US7471850B2 (en) * 2004-12-17 2008-12-30 Microsoft Corporation Reversible transform for lossy and lossless 2-D data compression
US20060285590A1 (en) 2005-06-21 2006-12-21 Docomo Communications Laboratories Usa, Inc. Nonlinear, prediction filter for hybrid video compression
KR100736086B1 (ko) 2005-09-06 2007-07-06 삼성전자주식회사 엔트로피 코딩의 성능 향상 방법 및 장치, 상기 방법을이용한 비디오 코딩 방법 및 장치
US7903733B2 (en) * 2006-01-26 2011-03-08 Qualcomm Incorporated Adaptive filtering to enhance video encoder performance
JP4730552B2 (ja) * 2006-07-14 2011-07-20 富士ゼロックス株式会社 復号化装置及びそのプログラム
US8331448B2 (en) * 2006-12-22 2012-12-11 Qualcomm Incorporated Systems and methods for efficient spatial intra predictabilty determination (or assessment)
EP2192786A1 (en) * 2008-11-27 2010-06-02 Panasonic Corporation Frequency domain filters for video coding
JP5597968B2 (ja) * 2009-07-01 2014-10-01 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US20110002386A1 (en) * 2009-07-06 2011-01-06 Mediatek Singapore Pte. Ltd. Video encoder and method for performing intra-prediction and video data compression
JP5700970B2 (ja) * 2009-07-30 2015-04-15 トムソン ライセンシングThomson Licensing 画像シーケンスを表す符号化データストリームの復号方法と画像シーケンスの符号化方法
US8817884B2 (en) * 2009-11-20 2014-08-26 Texas Instruments Incorporated Techniques for perceptual encoding of video frames
JP5464656B2 (ja) * 2010-01-12 2014-04-09 Necカシオモバイルコミュニケーションズ株式会社 画質評価装置、端末装置、画質評価システム、画質評価方法及びプログラム
GB2480224B (en) * 2010-01-29 2014-08-20 Canon Kk Decoding a sequence of digital images with error concealment
JP5793511B2 (ja) * 2010-02-05 2015-10-14 テレフオンアクチーボラゲット エル エム エリクソン(パブル) デブロッキングフィルタリング制御
KR20110113561A (ko) 2010-04-09 2011-10-17 한국전자통신연구원 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치
KR20160093104A (ko) * 2010-04-23 2016-08-05 엠앤케이홀딩스 주식회사 영상 부호화 장치 및 방법
WO2011134641A1 (en) * 2010-04-26 2011-11-03 Panasonic Corporation Filtering mode for intra prediction inferred from statistics of surrounding blocks
TWI543627B (zh) * 2010-07-05 2016-07-21 聯發科技股份有限公司 自適應視頻解碼方法、複雜度自適應視頻解碼器以及自適應音頻/視頻播放系統
US20120230418A1 (en) * 2011-03-08 2012-09-13 Qualcomm Incorporated Coding of transform coefficients for video coding
JP5291133B2 (ja) 2011-03-09 2013-09-18 日本電信電話株式会社 画像処理方法,画像処理装置,映像符号化/復号方法,映像符号化/復号装置およびそれらのプログラム
CN107277539B (zh) 2011-05-27 2020-11-06 寰发股份有限公司 减少用于上下文自适应熵解码中的行缓存的方法及装置
US20130101027A1 (en) * 2011-06-20 2013-04-25 Matthias Narroschke Deblocking control by individual quantization parameters
US20130051467A1 (en) * 2011-08-31 2013-02-28 Apple Inc. Hybrid inter/intra prediction in video coding systems
US8885706B2 (en) * 2011-09-16 2014-11-11 Google Inc. Apparatus and methodology for a video codec system with noise reduction capability
US9525876B2 (en) * 2011-11-04 2016-12-20 Sharp Kabushiki Kaisha Arithmetic decoding device, image decoding device, arithmetic coding device, image coding device, and arithmetic decoding method
KR101462052B1 (ko) * 2011-11-09 2014-11-20 에스케이 텔레콤주식회사 변환을 이용한 주파수 도메인 상의 적응적 루프 필터를 이용한 영상 부호화/복호화 방법 및 장치
LT3598753T (lt) * 2011-12-15 2021-02-25 Tagivan Ii Llc Skaisčio-spalvio koduotų blokų žymų (cbf) signalas vaizdo kodavime
AU2012200319B2 (en) * 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
US9344723B2 (en) * 2012-04-13 2016-05-17 Qualcomm Incorporated Beta offset control for deblocking filters in video coding
US20130343447A1 (en) 2012-06-25 2013-12-26 Broadcom Corporation Adaptive loop filter (ALF) padding in accordance with video coding
KR101835358B1 (ko) * 2012-10-01 2018-03-08 지이 비디오 컴프레션, 엘엘씨 향상 레이어 예측에 대한 인터-레이어 예측 기여를 이용한 스케일러블 비디오 코딩
US9681128B1 (en) * 2013-01-31 2017-06-13 Google Inc. Adaptive pre-transform scanning patterns for video and image compression
US9264661B2 (en) * 2013-06-07 2016-02-16 Apple Inc. Adaptive post-processing for mobile video calling system
WO2015091879A2 (en) * 2013-12-19 2015-06-25 Canon Kabushiki Kaisha Improved encoding process using a palette mode
US10542274B2 (en) * 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
CN105791865B (zh) * 2014-12-22 2020-01-17 江苏省电力公司南京供电公司 帧内预测及去块滤波方法
KR101782156B1 (ko) * 2015-06-11 2017-09-26 인텔렉추얼디스커버리 주식회사 적응적인 디블록킹 필터링을 이용하는 영상 부호화 방법과 영상 복호화 방법 및 장치
EP3340621B1 (en) * 2015-08-20 2023-01-25 Nippon Hoso Kyokai Image decoding device, and programs therefor
US20170155905A1 (en) * 2015-11-30 2017-06-01 Intel Corporation Efficient intra video/image coding using wavelets and variable size transform coding
US20170237939A1 (en) * 2016-02-16 2017-08-17 Google Inc. Loop filtering for multiform transform partitioning
US20190289301A1 (en) * 2016-05-23 2019-09-19 Kaonmedia Co., Ltd. Image processing method, and image encoding and decoding method using same
CN110024387B (zh) * 2016-11-28 2021-10-08 日本放送协会 编码装置、解码装置、编码方法和解码方法
CN110199521B (zh) * 2016-12-23 2022-05-31 华为技术有限公司 用于有损视频编码的低复杂度混合域协同环内滤波器
EP3560204A4 (en) * 2016-12-23 2019-12-04 Telefonaktiebolaget LM Ericsson (publ) DERINGING FILTER FOR VIDEO CODING
US10523968B2 (en) * 2017-09-18 2019-12-31 Google Llc Coding of last significant coefficient flags
CN111213378B (zh) * 2017-10-09 2022-05-03 佳能株式会社 用于对像素块进行去块滤波的方法和装置
CN111713111B (zh) * 2017-12-19 2024-04-09 Vid拓展公司 用于360度视频译码的面不连续性滤波
US10986349B2 (en) * 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
US10708592B2 (en) * 2018-04-02 2020-07-07 Qualcomm Incorporated Deblocking filter for video coding and processing
WO2020009619A1 (en) 2018-07-02 2020-01-09 Huawei Technologies Co., Ltd. Apparatus and method for filtering in video coding
US11197025B2 (en) * 2019-06-21 2021-12-07 Qualcomm Incorporated Signaling of matrix intra prediction parameters in video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HUANBANG CHEN, ET AL.: ""Description of SDR, HDR and 360° video coding technology proposal by Huawei, GoPro, HiSilicon, and", JVET-J0025, vol. version 4, JPN6022016489, 14 April 2018 (2018-04-14), pages 1 - 3, ISSN: 0004764895 *

Also Published As

Publication number Publication date
BR112020026959A2 (pt) 2021-03-30
US20210127113A1 (en) 2021-04-29
MX2021000173A (es) 2021-05-27
KR102598576B1 (ko) 2023-11-06
AU2019298855B2 (en) 2022-10-20
EP3808094A4 (en) 2021-11-24
KR102598746B1 (ko) 2023-11-07
KR20210021580A (ko) 2021-02-26
MX2021000172A (es) 2021-03-25
CA3105442A1 (en) 2020-01-09
AU2019298854B2 (en) 2023-02-16
EP3808094A1 (en) 2021-04-21
CA3105446C (en) 2023-04-11
CA3105442C (en) 2023-04-18
JP2021530166A (ja) 2021-11-04
US20210152821A1 (en) 2021-05-20
KR20210021577A (ko) 2021-02-26
AU2019298063A1 (en) 2021-01-28
WO2020009619A1 (en) 2020-01-09
CA3105441A1 (en) 2020-01-09
BR112020026912A2 (pt) 2021-03-30
CN112806019A (zh) 2021-05-14
AU2019298854A1 (en) 2021-01-28
CA3105441C (en) 2023-06-27
CN112369036A (zh) 2021-02-12
AU2019298855A1 (en) 2021-01-28
EP3808092A4 (en) 2021-12-01
SG11202013198PA (en) 2021-01-28
MX2021000170A (es) 2021-03-25
US11706412B2 (en) 2023-07-18
WO2020009617A1 (en) 2020-01-09
EP3808093A1 (en) 2021-04-21
CN112369037A (zh) 2021-02-12
EP3808092A1 (en) 2021-04-21
SG11202013015PA (en) 2021-01-28
CA3105446A1 (en) 2020-01-09
JP7195349B2 (ja) 2022-12-23
CN112369036B (zh) 2022-04-22
US11509892B2 (en) 2022-11-22
US11805249B2 (en) 2023-10-31
NZ772208A (en) 2022-11-25
KR20210021581A (ko) 2021-02-26
SG11202013200WA (en) 2021-01-28
CN112369037B (zh) 2022-04-22
CL2020003455A1 (es) 2021-07-23
AU2019298063B2 (en) 2022-10-13
US20210127108A1 (en) 2021-04-29
CL2020003453A1 (es) 2021-05-07
BR112020026971A2 (pt) 2021-03-30
JP7195348B2 (ja) 2022-12-23
CN112806019B (zh) 2022-09-16
JP2021530157A (ja) 2021-11-04
KR102598789B1 (ko) 2023-11-07
JP7293330B2 (ja) 2023-06-19
EP3808093A4 (en) 2021-12-01
WO2020009618A1 (en) 2020-01-09

Similar Documents

Publication Publication Date Title
JP7195348B2 (ja) ビデオコーディングにおけるフィルタリングのための装置および方法
JP2022521515A (ja) 交差成分フィルタリングのための方法、装置、およびプログラム
EP3844959A2 (en) Apparatus and method for filtering in video coding with look-up table selected based on bitstream information
JP2023520915A (ja) 所定のフィルタによるサンプルオフセット
CN115606175A (zh) 用于样本偏移的自适应非线性映射
RU2781233C2 (ru) Устройство и способ фильтрации при кодировании видео
WO2022039635A1 (en) Method and apparatus for hadamard transform domain filtering of the video signal with various bit depth

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220509

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220809

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20220929

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221213

R150 Certificate of patent or registration of utility model

Ref document number: 7195348

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150