JP6022570B2 - パーティションベースフィルタを適用するビデオコーディングのための方法およびデバイス、および記憶媒体 - Google Patents

パーティションベースフィルタを適用するビデオコーディングのための方法およびデバイス、および記憶媒体 Download PDF

Info

Publication number
JP6022570B2
JP6022570B2 JP2014526173A JP2014526173A JP6022570B2 JP 6022570 B2 JP6022570 B2 JP 6022570B2 JP 2014526173 A JP2014526173 A JP 2014526173A JP 2014526173 A JP2014526173 A JP 2014526173A JP 6022570 B2 JP6022570 B2 JP 6022570B2
Authority
JP
Japan
Prior art keywords
filter
video data
partial
filter coefficients
coefficients
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014526173A
Other languages
English (en)
Other versions
JP2014524708A (ja
Inventor
チョン、イン・スク
ファン・デア・オーウェラ、ゲールト
カークゼウィックズ、マルタ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2014524708A publication Critical patent/JP2014524708A/ja
Application granted granted Critical
Publication of JP6022570B2 publication Critical patent/JP6022570B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/649Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding the transform being applied to non rectangular image segments
    • 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/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/167Position within a video image, e.g. region of interest [ROI]
    • 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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Description

本出願は、2011年8月18日に出願された米国仮出願第61/525,128号、2011年8月19日に出願された米国仮出願第61/525,606号、および2011年9月6日に出願された米国仮出願第61/531,528号の利益を主張し、これらの米国仮出願の各々の内容全体は、参照により本明細書に組み込まれる。
本開示は、データ圧縮に関し、より詳細には、パーティションベースフィルタ(partition-based filters)を含むデータ圧縮に関する。
データ圧縮は、データ記憶空間、送信帯域幅、またはその両方の消費を低減するために、様々な適用例において広く使用されている。データ圧縮の例示的な適用例には、デジタルビデオ、画像、音声、およびオーディオコーディングなど、可視または可聴メディアデータコーディングがある。たとえば、デジタルビデオコーディングは、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレス通信デバイス、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲームデバイス、セルラー電話または衛星無線電話などを含む、広範囲にわたるデバイスにおいて使用されている。デジタルビデオデバイスは、デジタルビデオをより効率的に送信および受信するために、MPEG−2規格、MPEG−4規格、H.264/MPEG−4 Advanced Video Coding(AVC)規格、または(新生のH.265規格と呼ばれることがある)新生の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格などの規格に従ってビデオ圧縮技法を実装する。
ビデオ圧縮技法では、ビデオデータに固有の冗長性を低減または除去するために空間的予測、動き推定および動き補償を実行し得る。特に、イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。インターコーディングでは、ビデオエンコーダは、2つ以上の隣接するフレーム間の(H.264/MPEG−4 AVC規格など、様々なビデオコーディング規格においてブロックと呼ばれることがある)マッチングユニットの移動を追跡するために動き推定を実行する。動き推定は、1つまたは複数の参照フレーム中の対応するユニットに対する現在のフレームのユニットの変位を示す動きベクトルを生成する。動き補償は、その動きベクトルを使用して、参照フレームから予測データを生成する。動き補償の後、元のユニットから予測データを減算することによって残差データ(residual data)が形成される。
ビデオエンコーダは、ビデオコーディングプロセスによって生成された残差データのビットレートをさらに低減するために、変換を適用し、その後、量子化およびロスレス統計的コーディングプロセスを適用する。いくつかの事例では、適用される変換は離散コサイン変換(DCT)を備える。残差データにDCTを適用することから生成されたDCT係数は、次いで、量子化プロセスおよび(一般に「エントロピーコーディング」プロセスとして知られる)ロスレス統計的コーディングプロセスを受けて、ビットストリームを生成する。統計的コーディングプロセスの例としては、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)またはコンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)がある。ビデオデコーダは、符号化ビットストリームを受信し、ロスレス復号を実行してDCT係数を復元し、ビデオデコーダは、次いで、1つまたは複数の逆DCT(IDCT)の適用によってそのDCT係数を空間領域に逆変換(transform back)して、ユニットの各々について残差データを形成する。残差データと動き情報とを使用して、ビデオデコーダは符号化ビデオを再構成する。
概して、本開示は、デブロッキング(DB:de-blocking)フィルタ、サンプル適応オフセット(SAO)フィルタおよび/または適応ループ(AL)フィルタ(「ALF」として示されることもある)など、1つまたは複数のパーティションベースフィルタの適用によってビデオデータをコーディングするための技法を対象とする。本技法は、概してビデオエンコーダおよび/またはビデオデコーダを指すことがあるビデオコーダが、これらのフィルタを適用するとき、適応ループフィルタの従来の実装形態と比較して、これらのフィルタを実装するために必要とされるバッファ容量を低減すると同時に、これらのタイプのフィルタの従来の実装形態において生じる視覚的品質問題をも潜在的に低減し得るいくつかの技法を実行することを可能にし得る。
動作中、ビデオコーダは、符号化目的のために(たとえば、時間的予測のための動き推定/動き補償を実行するときの比較のために)ビデオデータを再構成するために、または復号目的のために(たとえば、再生または記憶目的のために)、ビデオデータを復号し得る。ビデオデータが再構成されると、ビデオコーダは、次いで、ビデオデータのブロックを分離する境界にわたって生じ得る差を平滑化する(smooth)ためにフィルタを適用し得る。この差は、しばしば(丸めを指す事実上別の形である)量子化により生じ、ビデオコーダは、高次変換係数を削除するために量子化を実行し、それによってビデオデータを圧縮し得る。ビデオデータの1つのブロックは、ビデオデータのそのブロックを変える方法で量子化され得るので、(同様に不整合を含み得る)ビデオデータの隣接するブロックの次に閲覧されるときに、ビデオデータのブロック中の不整合が生じ得る。ビデオコーダは、次いで、これらの不整合を減少させるために、この境界にわたって1つまたは複数のフィルタを適用し得る(これらの不整合は、しばしば「ブロッキネスアーティファクト(blockiness artifact)」と呼ばれ、「ブロッキネス」という用語は、ビデオデータをブロックに分割することを伴うビデオコーディングの態様を指す)。
しばしば、ビデオコーダは、3つのフィルタを次々に適用し、第1のフィルタを適用した結果は、次いで、第2のフィルタによってフィルタ処理され、以下同様である。これらのフィルタが適用され得る速さを改善するために、本技法は、ビデオコーダが、「部分フィルタ」と呼ばれることがあるものを生成するために、これらのフィルタのいくつかの係数をなくすことを可能にし得る。これらの部分フィルタは、ピクセルのより少ない行が部分フィルタによってフィルタ処理され得るので、次のフィルタによって生成される結果に、より容易に適用され得る。その上、これらのフィルタがブロック境界にわたって適用されることを考えると、しばしば、これらのフィルタの適用は、前のブロックの行がバッファされる必要があることを必要とし得る。本技法は、ビデオコーダが、バッファ要件を減らすように垂直方向に整合させられるフィルタ係数を削除することを可能にし得、より少ない行がフィルタ処理されるので、バッファ要件を潜在的に減らすと同時に、これらのフィルタのより効率的な適用をも促進し得る。
一態様では、再構成ビデオデータを生成するためにビデオデータをコーディングする方法は、符号化ビデオデータを復号するとき、利用可能でないビデオデータの第2の部分のピクセル値を交換するように再構成ビデオデータの第1の部分の境界に位置するピクセル値をミラーリングするためにミラーパディングを実行することを備える。境界は、ビデオデータの第1の部分をビデオデータの第2の部分から分離する。本方法はまた、ミラーリングされたピクセル値のうちの少なくとも1つをフィルタ処理するために1つまたは複数のフィルタを適用することを備える。
別の態様では、再構成ビデオデータを生成するためにビデオデータをコーディングするためのデバイスは、符号化ビデオデータを復号するとき、利用可能でないビデオデータの第2の部分のピクセル値を交換するように再構成ビデオデータの第1の部分の境界に位置するピクセル値をミラーリングするためにミラーパディングを実行するための手段を備える。境界は、ビデオデータの第1の部分をビデオデータの第2の部分から分離する。本デバイスは、ミラーリングされたピクセル値のうちの少なくとも1つをフィルタ処理するために1つまたは複数のフィルタを適用するための手段をさらに備える。
別の態様では、再構成ビデオデータを生成するために符号化ビデオデータをコーディングするためのデバイスは、符号化ビデオデータを復号するとき、利用可能でないビデオデータの第2の部分のピクセル値を交換するように再構成ビデオデータの第1の部分の境界に位置するピクセル値をミラーリングするためにミラーパディングを実行するように構成された1つまたは複数のプロセッサを備える。境界は、ビデオデータの第1の部分をビデオデータの第2の部分から分離する。1つまたは複数のプロセッサはまた、ミラーリングされたピクセル値のうちの少なくとも1つをフィルタ処理するために1つまたは複数のフィルタを適用するように構成される。
別の態様では、非一時的コンピュータ可読記憶媒体は、実行されたとき、デバイスの1つまたは複数のプロセッサに、再構成ビデオデータを生成するために符号化ビデオデータを復号するとき、利用可能でないビデオデータの第2の部分のピクセル値を交換するように再構成ビデオデータの第1の部分の境界に位置するピクセル値をミラーリングするためにミラーパディングを実行することであって、境界がビデオデータの第1の部分をビデオデータの第2の部分から分離する、実行することと、ミラーリングされたピクセル値のうちの少なくとも1つをフィルタ処理するために1つまたは複数のフィルタを適用することとを行わせる、記憶された命令を備える。
別の態様では、ビデオデータをコーディングする方法は、ビデオデータの第1の部分をビデオデータの第2の部分から分離する、ビデオデータの第1の部分の境界の近くで適用すべきフィルタを選択することであって、フィルタが複数のフィルタ係数を備える、選択することを備える。本方法は、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つを判断することと、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つの判断に基づいて、部分フィルタを判断することであって、部分フィルタは、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つを含まない、部分フィルタを判断することとをさらに備える。本方法は、部分フィルタ内に含まれる複数のフィルタ係数を再正規化することと、デバイスを用いて、ビデオデータのフィルタ処理された第1の部分を生成するために、ビデオデータの第1の部分の境界の近くで再正規化された部分フィルタを適用することとをさらに備える。
別の態様では、ビデオデータをコーディングするためのデバイスは、ビデオデータの第1の部分をビデオデータの第2の部分から分離する、ビデオデータの第1の部分の境界の近くで適用すべきフィルタを選択するための手段であって、フィルタが複数のフィルタ係数を備える、選択するための手段を備える。本デバイスは、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つを判断するための手段と、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つの判断に基づいて、部分フィルタを判断するための手段であって、部分フィルタは、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つを含まない、部分フィルタを判断するための手段とをさらに備える。本デバイスはまた、部分フィルタ内に含まれる複数のフィルタ係数を再正規化するための手段と、ビデオデータのフィルタ処理された第1の部分を生成するために、ビデオデータの第1の部分の境界の近くで再正規化された部分フィルタを適用するための手段とを備える。
別の態様では、ビデオデータをコーディングするためのデバイスは、ビデオデータの第1の部分をビデオデータの第2の部分から分離する、ビデオデータの第1の部分の境界の近くで適用すべきフィルタを選択することであって、フィルタが複数のフィルタ係数を備える、選択することを行うように構成された1つまたは複数のプロセッサを備える。1つまたは複数のプロセッサはまた、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つを判断することと、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つの判断に基づくこととを行うように構成される。1つまたは複数のプロセッサはまた、部分フィルタを判断することであって、部分フィルタは、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つを含まない、判断することと、部分フィルタ内に含まれる複数のフィルタ係数を再正規化することと、ビデオデータのフィルタ処理された第1の部分を生成するために、ビデオデータの第1の部分の境界の近くで再正規化された部分フィルタを適用することとを行うように構成される。
別の態様では、非一時的コンピュータ可読記憶媒体は、実行されたとき、デバイスの1つまたは複数のプロセッサに、ビデオデータの第1の部分をビデオデータの第2の部分から分離する、ビデオデータの第1の部分の境界の近くで適用すべきフィルタを選択することであって、フィルタが複数のフィルタ係数を備える、選択することと、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つを判断することと、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つの判断に基づいて、部分フィルタを判断することであって、部分フィルタは、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つを含まない、部分フィルタを判断することと、部分フィルタ内に含まれる複数のフィルタ係数を再正規化することと、ビデオデータのフィルタ処理された第1の部分を生成するために、ビデオデータの第1の部分の境界の近くで再正規化された部分フィルタを適用することとを行わせる、記憶された命令を備える。
本技法の1つまたは複数の態様の詳細を添付の図面および以下の説明に記載する。本開示で説明する技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
本開示の技法を実装し得るビデオ符号化および復号システムを示すブロック図。 本開示で説明するパーティションベースフィルタ技法を実装し得る、図1の例に示したビデオエンコーダの一例を示すブロック図。 本開示で説明するパーティションベースフィルタ処理技法を実装し得る、図1の例に示したビデオデコーダの一例を示すブロック図。 本開示で説明する技法の部分フィルタ処理態様に従ってフィルタ処理されるビデオデータの例示的なブロックを示す図。 本開示で説明する技法の部分フィルタ処理態様に従ってフィルタ処理されるビデオデータの例示的なブロックを示す図。 本開示で説明する技法の部分フィルタ処理態様に従ってフィルタ処理されるビデオデータの例示的なブロックを示す図。 本開示で説明する技法の部分フィルタ処理態様に従ってフィルタ処理されるビデオデータの例示的なブロックを示す図。 本開示で説明する技法の部分フィルタ処理態様に従ってフィルタ処理されるビデオデータの例示的なブロックを示す図。 本開示で説明する技法のミラーパディング態様に従ってフィルタ処理されるビデオデータの例示的なブロックを示す図。 本開示で説明する技法のミラーパディング態様に従ってフィルタ処理されるビデオデータの例示的なブロックを示す図。 本開示で説明する技法の部分フィルタ処理態様を実装する際のビデオコーダの例示的な動作を示すフローチャート。 本開示で説明する技法のミラーパディング態様を実装する際のビデオコーダの例示的な動作を示すフローチャート。
詳細な説明
図1は、本開示の技法を実装し得るビデオ符号化および復号システム10を示すブロック図である。図1の例に示すように、システム10は、宛先デバイス14による復号のために符号化ビデオを生成するソースデバイス12を含む。ソースデバイス12は、通信チャネル16を介して宛先デバイス14に符号化ビデオを送信するか、あるいは、必要に応じて符号化ビデオが宛先デバイス14によってアクセスされ得るように記憶媒体34またはファイルサーバ36に符号化ビデオを記憶し得る。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、(セルラー電話またはハンドセットおよびいわゆるスマートフォンを含む)電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソールなどを含む、多種多様なデバイスのいずれかを備え得る。
多くの場合、そのようなデバイスはワイヤレス通信のために装備され得る。したがって、通信チャネル16はワイヤレスチャネルを備え得る。代替的に、通信チャネル16は、ワイヤードチャネル、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、ワイヤレスチャネルおよびワイヤードチャネルまたは他のタイプの通信チャネルの組合せ、あるいは符号化ビデオデータの送信に好適な通信チャネルの組合せを備え得る。いくつかの例では、通信チャネル16は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、したがって、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
図1の例にさらに示すように、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器22(「モデム22」)と、送信機24とを含む。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイスなどのソースを含み得る。ビデオキャプチャデバイスは、例として、ビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムのうちの1つまたは複数を含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、ワイヤレスアプリケーションまたは設定に限定されず、ビデオ符号化および/または復号機能を含む非ワイヤレスデバイスに適用され得る。ソースデバイス12および宛先デバイス16は、したがって、本明細書で説明する技法をサポートすることができるコーディングデバイスの例にすぎない。
ビデオエンコーダ20は、キャプチャされた、プリキャプチャされた、またはコンピュータ生成されたビデオを符号化し得る。符号化されると、ビデオエンコーダ20が、この符号化されたビデオをモデム22に出力し得る。モデム22が、次いで、ワイヤレス通信プロトコルなどの通信規格に従って、符号化されたビデオを変調し得、その後、送信機24が、変調された符号化ビデオデータを宛先デバイス14に送信し得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
ビデオエンコーダ20によって符号化される、キャプチャされた、プリキャプチャされた、またはコンピュータ生成されたビデオはまた、後の取出し、復号および消費のために、記憶媒体34またはファイルサーバ36上に記憶され得る。記憶媒体34は、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、または符号化ビデオを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。宛先デバイス14は、記憶媒体34またはファイルサーバ36に記憶された符号化ビデオにアクセスし、この符号化ビデオを復号して、復号されたビデオを生成し、この復号されたビデオを再生し得る。
ファイルサーバ36は、符号化ビデオを記憶し、その符号化ビデオを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバには、(たとえば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、ローカルディスクドライブ、または符号化ビデオデータを記憶し、それを宛先デバイスに送信することが可能な他のタイプのデバイスがある。ファイルサーバ36からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続に従ってファイルサーバ36にアクセスし得る。この接続は、ワイヤレスチャネル(たとえば、Wi−Fi接続またはワイヤレスセルラーデータ接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、ワイヤードチャネルとワイヤレスチャネルの両方またはファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適な他のタイプの通信チャネルの組合せを含み得る。
宛先デバイス14は、図1の例では、受信機26と、モデム28と、ビデオデコーダ30と、ディスプレイデバイス29とを含む。宛先デバイス14の受信機26は、チャネル16を介して情報を受信し、モデム28はその情報を復調して、ビデオデコーダ30のために復調されたビットストリームを生成する。チャネル16を介して通信される情報は、関連する符号化ビデオデータを復号する際にビデオデコーダ30が使用するためにビデオエンコーダ20によって生成される様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体34またはファイルサーバ36に記憶された符号化ビデオデータとともに含まれ得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、ビデオデータを符号化または復号することが可能であるそれぞれのエンコーダデコーダ(コーデック)の一部を形成し得る。
宛先デバイス14のディスプレイデバイス29は、閲覧者による消費のためにビデオデータを提示することが可能な任意のタイプのディスプレイを表す。宛先デバイス14に組み込まれるように示されているが、ディスプレイデバイス29は、宛先デバイス14に、またはその外部に組み込まれ得る。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含み得、また外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。概して、ディスプレイデバイス29は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
本開示は、概して、ビデオデコーダ30など、別のデバイスにシンタックス情報を「シグナリング」するビデオエンコーダ20に言及し得る。ただし、ビデオエンコーダ20は、シンタックス要素を、ビデオデータの様々な符号化された部分に関連付けることによって情報をシグナリングし得ることを理解されたい。すなわち、ビデオエンコーダ20は、いくつかのシンタックス要素を、ビデオデータの様々な符号化された部分のヘッダに記憶することによってデータを「シグナリング」し得る。場合によっては、そのようなシンタックス要素は、ビデオデコーダ30によって受信され、復号されるより前に、符号化され、記憶され得る(たとえば、記憶媒体34またはファイルサーバ36に記憶され得る)。したがって、「シグナリング」という用語は、通信がリアルタイムまたはほぼリアルタイムで行われるか、あるいは、符号化時に媒体にシンタックス要素を記憶し、次いで、この媒体に記憶された後の任意の時間にそのシンタックス要素が復号デバイスによって取り出され得るときなどに行われ得る、ある時間期間にわたって行われるかにかかわらず、概して、圧縮ビデオデータを復号するために使用されるシンタックスまたは他のデータの通信を指し得る。
ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオ圧縮規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4、Part 10、Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格、またはそのような規格の拡張版など、他のプロプライエタリまたは業界標準に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例には、MPEG−2およびITU−T H.263がある。
HMでは、ビデオデータのブロックをコーディングユニット(CU)と呼ぶ。概して、CUは、CUが、H.264のマクロブロックに関連するサイズ差異を有しないことを除いて、H.264に従ってコーディングされたマクロブロックと同様の目的を有する。したがって、CUはサブCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャの最大コーディングユニット(LCU:largest coding unit)またはLCUのサブCUを指すことがある。たとえば、ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるLCUを定義し得る。LCUはサブCUに分割され得、各サブCUはサブCUに分割され得る。ビットストリームのシンタックスデータは、最大CU深さと呼ばれる、LCUが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニット(SCU:smallest coding unit)をも定義し得る。
LCUは階層4分木データ構造に関連付けられ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはLCUに対応する。CUが4つのサブCUに分割された場合、そのCUに対応するノードは、サブCUに対応する4つのノードの各々への参照を含む。4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。
分割されないCUは、1つまたは複数の予測ユニット(PU:prediction unit)を含み得る。概して、PUは、対応するCUの全部または一部分を表し、そのPUの参照サンプルを取り出すためのデータを含む。たとえば、PUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための1つまたは複数の動きベクトルを定義するデータを含み得る。動きベクトルは、概して、1つまたは複数の参照フレーム中のコロケートCUを識別し、「参照フレーム」という用語は、PUがその中に配置されたフレームの前または後に時間的に生じるフレームを指す。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルがそれにポイントする参照フレーム、識別された参照フレームが現在のフレームの前にあるか後にあるかを識別する予測方向、および/または動きベクトルの参照リスト(たとえば、リスト0もしくはリスト1)を記述し得る。(1つまたは複数の)PUを定義するCUのデータはまた、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかの間で異なり得る。
1つまたは複数の動きベクトルを定義する1つまたは複数のPUを有することに加えて、CUは、1つまたは複数の変換ユニット(TU:transform unit)を含み得る。PUを使用した予測の後に、ビデオエンコーダは、PUに対応するCUの部分の残差値を計算し得る。残差値は変換され、量子化され、走査され得る。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUは、同じCUの対応するPUよりも大きいことも小さいこともある。いくつかの例では、TUの最大サイズは、対応するCUのサイズであり得る。本開示ではまた、CU、PU、および/またはTUのいずれか1つまたは組合せを指すために「ブロック」という用語を使用する。
概して、符号化ビデオデータは予測データと残差データとを含み得る。ビデオエンコーダ20は、イントラ予測モードまたはインター予測モード中に予測データを生成し得る。イントラ予測は、概して、あるピクチャのブロック中のピクセル値を、同じピクチャの隣接する、前にコーディングされたブロック中の参照サンプルに対して予測することを伴う。インター予測は、概して、あるピクチャのブロック中のピクセル値を、前にコーディングされたピクチャのデータに対して予測することを伴う。
イントラ予測またはインター予測の後に、ビデオエンコーダ20はブロックの残差ピクセル値を計算し得る。残差値は、概して、ブロックの予測ピクセル値データと、ブロックの真のピクセル値データとの間の差分に対応する。たとえば、残差値は、コード化ピクセルと予測ピクセルとの間の差分を示すピクセル差分値を含み得る。いくつかの例では、コード化ピクセルは、コーディングされるべきピクセルのブロックに関連し得、予測ピクセルは、コード化ブロックを予測するために使用されるピクセルの1つまたは複数のブロックに関連し得る。
ブロックの残差値をさらに圧縮するために、残差値は、(「エネルギー」とも呼ばれる)できるだけ多くのデータをできるだけ少数の係数に圧縮する変換係数のセットに変換され得る。変換技法は、離散コサイン変換(DCT)プロセスまたは概念的に同様のプロセス、整数変換、ウェーブレット変換、あるいは他のタイプの変換を備え得る。その変換は、ピクセルの残差値を空間領域から変換領域に変換する。変換係数は、元のブロックと通常同じサイズである係数の2次元行列に対応する。言い換えれば、元のブロック中のピクセルとちょうど同数の変換係数がある。ただし、変換により、変換係数の多くは、0に等しい値を有し得る。
ビデオエンコーダ20は、次いで、ビデオデータをさらに圧縮するために変換係数を量子化し得る。量子化は、概して、相対的に大きい範囲内の値を相対的に小さい範囲中の値にマッピングし、それによって、量子化変換係数を表すために必要とされるデータの量を低減することを伴う。より詳細には、量子化は、LCUレベルで定義され得る量子化パラメータ(QP:quantization parameter)に従って適用され得る。したがって、LCU内のCUの異なるPUに関連するTU中のすべての変換係数に、同じ量子化レベルが適用され得る。ただし、QP自体をシグナリングするのではなく、QPの変化(すなわち、Δ)がLCUとともにシグナリングされ得る。ΔQPは、前に通信されたLCUのQPなど、何らかの参照QPに対するLCUの量子化パラメータの変化を定義する。
量子化の後に、ビデオエンコーダ20は、変換係数を走査して、量子化変換係数を含む2次元行列から1次元ベクトルを生成し得る。ビデオエンコーダ20は、次いで、得られたアレイを符号化してデータをなお一層圧縮するために、(誤用により(by the misnomer)「エントロピー符号化」と通常呼ばれる)統計的ロスレス符号化を実行し得る。概して、エントロピーコーディングは、一連の量子化変換係数および/または他のシンタックス情報を一括して圧縮する1つまたは複数のプロセスを備える。たとえば、ΔQP、予測ベクトル、コーディングモード、フィルタ、オフセット、または他の情報など、シンタックス要素はまた、エントロピーコード化ビットストリーム中に含まれ得る。走査された係数は次いで、たとえば、コンテンツ適応型可変長コーディング(CAVLC:content adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC)、または任意の他の統計的ロスレスコーディングプロセスによって、任意のシンタックス情報とともにエントロピーコーディングされる。
ビデオエンコーダ20は、次いで、前に符号化されたビデオデータを再構成し、このビデオデータを復号し、動き推定および補償を実行するときの参照として使用するために(代替的に「参照フレームストア」と呼ばれることがある)メモリにビデオデータを記憶し得る。このビデオデータを再構成するために、ビデオエンコーダ20は、量子化された変換係数に対して逆量子化を実行して、変換係数を出力し得、変換係数は、次いで、周波数領域から空間領域に変換されて、再構成された残差ビデオデータを形成する。ビデオエンコーダ20は、次いで、再構成された残差ビデオデータを前に識別された参照ブロックに加算して、ビデオデータの再構成ブロックを形成する。いくつかの事例では、ビデオエンコーダ20は、(一例として、HEVCで使用されるようなスライス、パーティション、ツリーブロック、LCUおよび/またはCUを指し得る)パーティションへのビデオデータの細分により生じる不連続性を除去するために、ビデオデータの再構成ブロックをフィルタ処理し得る。
例示のために、ビデオエンコーダ20は、3つのフィルタをカスケード式に適用し得、それによって、ビデオエンコーダ20は、ビデオデータの再構成ブロックに第1のデブロッキング(DB)フィルタを適用し、続いて、DBフィルタを適用したことから生じる出力にサンプル適応オフセット(SAO)フィルタを適用し、次いで続いて、SAOフィルタを適用したことから生じる出力に適応ループフィルタ(ALF)を適用する。一般に、ビデオエンコーダ20は、ビデオデータの2つの隣接する再構成ブロック間の不連続性を平滑化するかまたは場合によっては低減するように、ビデオデータの再構成ブロックを分離する境界にわたってこれらのフィルタを適用する。この境界は、(同じビデオブロックの2つの部分を分ける単一のビデオブロック内、または2つのビデオブロック間の境界を意味する)仮想境界であり得る。さらに、ビデオエンコーダ20は、一般に、上から下に、左から右にフレームを横断する読取り順序でブロックを処理する。その結果、ビデオエンコーダ20は、一般に、再構成ブロックの下部境界に隣接する再構成ブロックがフィルタの即時適用のために必要とされ得るとき、これらの隣接する再構成ブロックを生成しない。これらの再構成ビデオブロックを与える際の遅延は、フィルタの適用における遅延をもたらし、フィルタが、前のブロックの下部分と隣接する再構成ビデオブロックの上部分とに適用され得るように、ビデオエンコーダ20が、現在の再構成ビデオブロックの最下行をバッファするためにラインバッファまたは他のメモリ構造を含むことが必要になり得る。
ラインバッファの追加は、しかしながら、ビデオエンコーダ20のコストおよび電力効率を大幅に増加させ得る。ビデオエンコーダ20が、モバイル、または(バッテリーまたは他の制限された電源によって電力供給されるデバイスを指すことがある)他の電力が制限されたデバイスにおいて使用するために指定された場合、ビデオエンコーダ20の電力プロファイルは、大量のラインバッファが採用されたときに大幅に増加し、デバイスのビデオ機能を大幅に減らし得る。この理由で、ビデオエンコーダ20は、これらのフィルタの適用に関連する遅延を低減し、ラインバッファのサイズを潜在的に低減するための他のプロセスを実行し得る。1つのそのようなプロセスは、ビデオエンコーダ20が反復「パディング」プロセスを実行することを伴い、それにより、ビデオデータの現在の再構成ブロックの下部エッジに最も近いピクセル値は、ビデオデータの隣接する再構成ブロックの実際のピクセル値の代わりに反復される。したがって、ビデオエンコーダ20は、ビデオデータの隣接する再構成ブロックを待つことに関連する遅延の大部分を潜在的になくし、ラインバッファのサイズを潜在的に低減し得る。しかしながら、この形態の反復パディングは最適なビデオ品質を与えず、実際のピクセル値が使用されていれば場合によっては現れていなかった可能性がある不連続性を再構成ビデオデータ中にしばしば挿入し得る。ビデオデコーダ30は、同じ問題がある再構成ビデオブロックに関して、同様のフィルタ処理プロセスを実装し得る。
本開示で説明する技法によれば、ビデオエンコーダおよび/またはビデオデコーダを概して指し得るビデオコーダは、フィルタの従来の実装形態と比較してこれらのフィルタを実装するのに必要とされるラインバッファまたは他のメモリ構造のサイズを低減すると同時に、これらのタイプのフィルタの従来の実装形態で生じる視覚的品質問題をも潜在的に低減し得る方法で、これらのタイプのフィルタを適用し得る。一態様では、ビデオコーダは、最大コーディングユニット(LCU)の境界などのパーティション境界において、完全フィルタではなく、部分フィルタを適用し得、部分フィルタは、カスケード式に(2つ以上のフィルタのカスケード式適用を意味し、フィルタのうちの第1のフィルタが適用され、フィルタのうちの第2のフィルタが、第1のフィルタを適用した結果に適用される)これらのタイプのフィルタを適用するのに必要とされる時間の量を低減すると同時に、ラインバッファサイズ要件をも潜在的に減らし得る。これらのフィルタは、ビデオデータのピクセル値がフィルタ処理のために利用可能にならないフィルタの(「タップ」と呼ばれることもある)それらの係数が、選択された「完全」フィルタから削除され、それによって、完全フィルタのフィルタ係数のサブセットまたは部分的な量のみを有するフィルタを生成するという点で部分的である。
いくつかの事例では、これらの部分フィルタは、フィルタのx軸および/またはy軸の両側のフィルタタップの数が等しくないという点で非対称である。言い換えれば、本技法は、現在の再構成ビデオブロックへのフィルタの適用に必要な隣接する再構成ビデオブロックの行数を低減し得るx軸および/またはy軸の一方または両方に沿ったバイアスを有するフィルタを提供し得る。たとえば、フィルタは、フィルタのx軸とy軸の両方に沿ったタップを備え得る。本技法は、y軸フィルタタップについて正のy軸バイアスを有するフィルタを提供し得、これは、このフィルタが、x軸の下よりもx軸の上に多くのy軸タップを含むことを意味する。この意味で、フィルタがフィルタタップのx軸フィルタ行の上と下の両方で同数のy軸タップを含まないので、そのフィルタは「非対称」である。タップの数がx軸の下で低減されるので、ビデオエンコーダ20および/またはビデオデコーダ30は、それが必要とする、現在の再構成ビデオブロックの下に(場合によっては真下に)位置する再構成ビデオブロックの行がより少ないか、場合によってはないことがあるように、非対称フィルタを適用し得る。この意味で、本技法は、ラインバッファサイズ要件を低減し得、さらには、この目的のために使用されるラインバッファを完全になくし得ると同時に、いくつかの事例では、ビデオエンコーダ20および/またはビデオデコーダ30が、隣接する再構成ビデオブロックを待つ必要がないという意味で、コーディング遅延をも低減する。
他の例では、部分フィルタは対称であり、これらの対称部分フィルタは、フィルタx軸とy軸の両側に同数のフィルタタップを含むが、選択された対称完全フィルタよりもx軸および/またはy軸に沿って含むフィルタタップは少ない。これらの対称部分フィルタはまた、概して、対称部分フィルタが、フィルタ処理されている現在の再構成ビデオブロックの下に(通常真下に)位置する再構成ビデオブロックを待つ必要なしに適用され得るように、y軸に沿って含み得るフィルタタップはより少ない。この場合でも、タップの数がx軸の下で低減されるので、ビデオエンコーダ20および/またはビデオデコーダ30は、それが必要とする、現在の再構成ビデオブロックの下に(場合によっては真下に)位置する再構成ビデオブロックの行がより少ないか、場合によってはないことがあるように、対称部分フィルタを適用し得る。この意味で、本技法は、上述のように、ラインバッファサイズ要件を低減し得、さらには、この目的のために使用されるラインバッファを完全になくし得ると同時に、いくつかの事例では、ビデオエンコーダ20および/またはビデオデコーダ30が、隣接する再構成ビデオブロックを待つ必要がないという意味で、コーディング遅延をも低減する。
動作中、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータの第1のブロックをビデオデータの第2のブロックから分離するビデオデータの第1のブロックの境界の近くで適用すべきフィルタを選択し、選択されたフィルタは、(「フィルタタップ」または「タップ」と呼ばれることもある)いくつかのフィルタ係数を備える。ビデオエンコーダ20および/またはビデオデコーダ30は、一例として、主観的品質向上、または元のフレームと再構成フレームとの間の誤りを最小限に抑えること(すなわち、ウィーナーフィルタ(Wiener filter)ベース)を含む、いくつかの基準に基づいて、フィルタ(たとえば、フィルタタイプ、サイズおよび形状を意味する)を選択し得る。
フィルタを選択した後に、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータがフィルタ処理されるために利用可能にならないフィルタ係数のうちの少なくとも1つを判断し得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、別のフィルタの適用のために、または現在の第1のブロックに隣接する第2のブロックがまだ再構成されていないために、フィルタ係数のうちのいずれが利用可能でないことがあるかを判断し得る。ビデオデータがフィルタ処理されるために利用可能にならないフィルタ係数のうちの少なくとも1つの判断に基づいて、ビデオエンコーダ20および/またはビデオデコーダ30は、部分フィルタが、ビデオデータがフィルタ処理されるために利用可能になる複数のフィルタ係数のうちの少なくとも1つのうちの1つまたは複数を含むようなこの部分フィルタを判断し得る。言い換えれば、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータがフィルタ処理のために利用可能にならない選択されたフィルタのために指定されたフィルタ係数のうちの少なくとも1つを削除し得る。いくつかの事例では、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータがフィルタ処理のために、たとえば、以下でより詳細に説明するように対称フィルタを生成するために利用可能になる選択されたフィルタのために指定されたフィルタ係数のうちの1つまたは複数を削除し得る。
通常、選択されたフィルタのためのフィルタ係数の合計は、フィルタの適用によってビデオデータを追加または削除しないように1になる(フィルタ係数が正規化されることを意味する)。(最初に選択されたフィルタからの1つまたは複数のフィルタ係数の削除により、再び「部分」フィルタと呼ばれる)部分フィルタを判断するために、選択されたフィルタのフィルタ係数を削除することによって、得られた部分フィルタは非正規(un-normalized)になる(部分フィルタのフィルタ係数の合計が1にならないことを意味する)。その結果、ビデオエンコーダ20および/またはビデオデコーダ30は、部分フィルタ内に含まれる複数のフィルタ係数を再正規化し得る。ビデオエンコーダ20および/またはビデオデコーダ30は、次いで、ビデオデータのフィルタ処理された第1のブロックを生成するために、ビデオデータの第1のブロックの境界の近くで再正規化された部分フィルタを適用し得る。ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータの他のブロックを再構成する際の参照ビデオデータとして使用するために、ビデオデータのこのフィルタ処理された第1のブロックを記憶し得る。
さらに、ビデオエンコーダ20および/またはビデオデコーダ30は、これらまたは他のフィルタを適用するときに「ミラーリングされたパディング」と呼ばれるパディングの形態を実行し得、「ミラーリングされたパディング」は、ピクセルの反復パディングを使用して変更されるパーティションの境界において適応ループフィルタの従来の適用を生じ得る、パーティションの境界においてもたらされる不連続性を回避することによって、復号ビデオデータのより良好な視覚的品質を与え得る。ミラーパディングは、それによって、ビデオエンコーダ20および/またはビデオデコーダ30が、実際のピクセル値を待つ必要なしに、上述のフィルタのうちの1つまたは複数を適用し得るように、ビデオエンコーダ20および/またはビデオデコーダ30が、実際のピクセル値の代わりに、すなわち、実際のピクセル値に取って代わるためにブロックの現在の境界の近くでピクセル値をミラーリングするプロセスを指し得る。本開示で説明する技法のミラーパディング態様は、ラインバッファのサイズを低減するか、またはさらには場合によってはそれをなくすと同時に、以下でより詳細に説明するように、パディングの反復または他の形態と比較してビデオ品質の改善をも促進し得る。
図2は、本開示で説明するパーティションベースフィルタ技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
図2の例では、ビデオエンコーダ20は、モード選択ユニット40と、動き推定ユニット42と、動き補償ユニット44と、イントラ予測ユニット46と、参照ピクチャメモリ64と、加算器50と、変換モジュール52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。また、再構成ビデオからブロッキネスアーティファクトを除去するためのブロック境界をフィルタ処理するために、フィルタユニット63が含まれ、「ブロッキネスアーティファクト」という句は、(LCUおよびCUなどの)ブロックへのピクチャまたはビデオフレームの区分により生じる、再構成ビデオデータ中のアーティファクトを指す。
図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオスライス内の現在のビデオブロックを受信する。スライスは、複数のビデオブロック、すなわち、一例としてHEVCに記載されているツリーブロックに分割され得る。モード選択ユニット40は、誤差結果に基づいて、現在のビデオブロックについて、コーディングモードのうちの1つ、すなわちイントラモードまたはインターモードを選択し得る。イントラモードまたはインターモードが選択された場合、モード選択ユニット40は、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器50に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器62に与え得る。イントラ予測ユニット46は、空間圧縮を提供するために、コーディングされるべき現在のブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コーディングを実行する。動き推定ユニット42および動き補償ユニット44は、時間圧縮を提供するために、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測コーディングを実行する。
インターコーディングの場合、動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを判断するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをPスライス、Bスライスまたは一般化されたP/B(GPB)スライスに指定し得る。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。
インター予測ブロックは、参照ピクチャにおいて、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を計算し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
動き補償ユニット44によって実行される動き補償は、動き推定によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴い得る。現在のビデオブロックのPUについての動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ20は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
代替的に、ビデオエンコーダ20は、イントラ予測と呼ばれるプロセスを実行し、それによって、ビデオエンコーダ20は、空間的に隣接するブロックを使用して現在のブロックを予測し得る。イントラ予測は、Iフレームのために実行され、個々のスライスが他の時間的に近接したフレームと無関係に再構成され得るように、スライスに限定され得る。いくつかの事例では、2つ以上の空間的に隣接するブロックが、現在のブロックのための参照ブロックを形成し得る。イントラ予測は、インター予測と同様に現在のブロックのための予測ブロックを生成するために実行され得る。
いずれの場合も、動き補償ユニット44が現在のビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ20は、加算器50を使用して現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、CUのいわゆる「コーディングノード」中に含まれ、変換モジュール52に受け渡され得る。変換モジュール52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換モジュール52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。変換モジュール52は、CUに関連するTU中の残差ビデオデータに適用される各変換のタイプと潜在的に各変換の係数とに関する情報を、他の変換関係情報とともに記憶し得る。
変換モジュール52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深さを低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
量子化に続いて、エントロピー符号化ユニット56は、量子化変換係数を符号化するために(「エントロピー符号化」と呼ばれることがある)統計的ロスレス符号化形態を実行する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、または別のエントロピー符号化技法を実行し得る。エントロピー符号化に続いて、エントロピー符号化ユニット56は、ビデオデコーダ30に符号化ビットストリームを送信するか、あるいは後でビデオデコーダ30に送信するかまたはビデオデコーダ30が取り出すために符号化ビットストリームをアーカイブし得る。エントロピー符号化ユニット56はまた、コーディングされている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための参照ブロックを生成する。参照ブロックは、ブロッキネスアーティファクトを除去するためにフィルタユニット63によってフィルタ処理される。参照ブロックは、次いで、参照ピクチャメモリ64に記憶される。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット42と動き補償ユニット44とによって参照ブロックとして使用され得る。
フィルタユニット63は、本開示で説明する技法に従ってパーティションベースフィルタのうちの1つまたは複数に適用するモジュールを表し得る。この点において、フィルタユニット63は、ビデオデータの第1のブロックをビデオデータの第2のブロックから分離するビデオブロックの境界の近くで適用すべき完全フィルタを選択し得、選択されたフィルタは、(この場合も、「フィルタタップ」または「タップ」と呼ばれることもある)いくつかのフィルタ係数を備える。フィルタユニット63は、上記で説明した基準を含むいくつかの基準に基づいてフィルタを選択し得る。選択された完全フィルタは、知覚された視覚的品質を潜在的に改善するために再構成ビデオブロックに通常適用されるDBフィルタ、SOAフィルタ、ALFまたは他のタイプのフィルタのうちの1つまたは複数を備え得る。
完全フィルタを選択した後に、フィルタユニット63は、ビデオデータがフィルタ処理されるために利用可能にならない、完全フィルタのフィルタ係数のうちの少なくとも1つを判断し得る。ビデオデータがフィルタ処理されるために利用不可能になる、完全フィルタのフィルタ係数のうちの少なくとも1つを判断するこのプロセスについて、図4A〜図4Eの例に関して以下でより詳細に説明する。ビデオデータがフィルタ処理されるために利用可能にならないフィルタ係数のうちの少なくとも1つの判断に基づいて、フィルタユニット30は、部分フィルタが、コンテンツデータがフィルタ処理されるために利用可能になる複数のフィルタ係数のうちのそれらのうちの1つまたは複数を含むようなこの部分フィルタを判断し得る。言い換えれば、フィルタユニット63は、ビデオデータがフィルタ処理のために利用可能にならない選択された完全フィルタのために指定されたフィルタ係数のうちの少なくとも1つを削除し得る。フィルタユニット63は、次いで、これらの残りのフィルタ係数の合計がもう一度1になるように、部分フィルタ内に含まれる複数のフィルタ係数を再正規化し得る。フィルタユニット63は、次いで、ビデオデータのフィルタ処理された第1のブロックを生成するために、ビデオデータの第1のブロックの境界の近くで再正規化された部分フィルタを適用し得る。フィルタユニット63は、ビデオデータの他の部分を再構成する際の参照サンプルとして使用するために、ビデオデータのこのフィルタ処理された第1のブロックを記憶し得る。フィルタユニット63はまた、選択された完全フィルタのためのフィルタ係数がビデオデコーダ30などのデコーダに送られ得るように、ビデオデータのフィルタ処理された第1のブロックとともに、これらのフィルタ係数を記憶し得、ビデオデコーダ30は、再正規化された部分フィルタのためのフィルタ係数を導出するために、上記で説明したプロセスと同様のプロセスを実行し得る。
1つまたは複数の部分フィルタを適用することに加えて、または別に(完全フィルタなど)他のタイプのフィルタを適用するときに、フィルタユニット63はまた、これらのフィルタを適用するときに「ミラーリングされたパディング」と呼ばれるパディングの形態を実行し得、「ミラーリングされたパディング」は、ピクセルの反復パディングを使用して変更されるブロックの境界においてフィルタの従来の適用を生じ得る、パーティションの境界においてもたらされる不連続性を回避することによって、復号ビデオデータのより良好な視覚的品質を与え得る。ミラーパディングは、それによって、フィルタユニット63が、実際のピクセル値を待つ必要なしに、上述のフィルタのうちの1つまたは複数を適用し得るように、フィルタユニット63が、実際のピクセル値の代わりにパーティションの現在の境界の近くでピクセル値をミラーリングするプロセスを指し得る。上述したように、本開示で説明する技法のミラーパディング態様は、ラインバッファのサイズを低減するか、またはさらには場合によってはそれをなくすと同時に、以下でより詳細に説明するように、パディングの反復または他の形態と比較してビデオ品質の改善をも促進し得る。ミラーパディングについて、図5A、図5Bに関して以下でより詳細に説明する。
フィルタユニット63は、様々なタイプのフィルタのカスケード適用に関して本技法の1つまたは複数の態様を繰り返し実装し得る。たとえば、フィルタユニット63は、最初に、LCUなど、ビデオデータのブロックにDBフィルタを適用するときにこれらの技法を適用し得る。フィルタユニット63は、一例として、非対称または対称部分DBフィルタを生成するように、上記で説明した方法で対称的な完全DBフィルタを適応させ、この非対称または対称部分DBフィルタを再正規化し、LCUの(一例として)下側境界のピクセル値に再正規化された非対称または対称部分DBフィルタを適用し得る。フィルタユニット63は、次いで、非対称または対称部分SAOフィルタを生成するように、上記で説明した方法で対称的な完全SAOフィルタを適応させ、この非対称または対称部分SAOフィルタを再正規化し、LCUの(一例として)下側境界のDBフィルタ処理されたピクセル値に再正規化された非対称または対称部分SAOフィルタを適用し得る。フィルタユニット63はまた、非対称または対称部分ALFを生成するように、上記で説明した方法で対称的な完全ALFを適応させ、この非対称または対称部分ALFを再正規化し、LCUの(一例として)下側境界のDBおよびSAOフィルタ処理されたピクセル値に再正規化された非対称または対称部分ALFを適用し得る。
いくつかの事例では、フィルタユニット63は、対称完全DB、SAOおよびALフィルタの各々のカスケード適用に関してミラーパディングを実行し得る。代替的に、フィルタユニット63は、いくつかの対称完全DB、SAOおよびALフィルタと、いくつかの再正規化された非対称または対称部分DB、SAOおよびALフィルタとのカスケード適用に関してミラーパディングを実行し得、再正規化された非対称または対称部分DB、SAOおよびALフィルタは、本開示で説明する技法に一致する方法で生成され得る。言い換えれば、本技法は、ミラーパディングが、非対称部分フィルタの適用と併せてまたはそれの代替として実行され得るような任意の組合せで(この場合も、概して、ビデオエンコーダおよびビデオデコーダのうちの1つまたは複数を指し得る)ビデオコーダによって実装され得る。
図3は、本開示で説明するパーティションベースフィルタ処理技法を実装し得るビデオデコーダ30の一例をより詳細に示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット80と、予測モジュール81と、逆量子化ユニット86と、逆変換ユニット88と、加算器90と、デブロッキングフィルタ91と、(復号ピクチャバッファと呼ばれることもある)参照ピクチャメモリ92とを含む。予測モジュール81は、動き補償ユニット82と、イントラ予測ユニット84とを含む。ビデオデコーダ30は、いくつかの例では、図2のビデオエンコーダ20に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数、動きベクトル、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット80は、予測モジュール81に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
ビデオスライスがイントラコード化(I)スライスとしてコーディングされるとき、予測モジュール81のイントラ予測ユニット84は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(すなわち、B、PまたはGPB)スライスとしてコーディングされるとき、予測モジュール81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ92に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0およびリスト1を構成し得る。
動き補償ユニット82は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックのための予測情報を判断し、その予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)、スライスの参照ピクチャリストのうちの1つまたは複数についての構成情報、スライスの各インター符号化ビデオブロックについての動きベクトル、スライスの各インターコード化ビデオブロックについてのインター予測ステータス、および現在のビデオスライス中のビデオブロックを復号するための他の情報を判断するために、受信されたシンタックス要素のいくつかを使用する。
動き補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット82は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
逆量子化ユニット86は、ビットストリーム中で与えられ、エントロピー復号ユニット80によって復号された、量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するために、ビデオスライス中の各ビデオブロックについてビデオエンコーダ20によって計算される量子化パラメータの使用を含み得る。逆変換ユニット88は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。
動き補償ユニット82が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の構成要素を表す。ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにフィルタユニット91が適用される。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ92に記憶される。参照ピクチャメモリ92はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の表示のための、復号ビデオを記憶する。
フィルタユニット91は、本開示で説明する技法に従ってパーティションベースフィルタのうちの1つまたは複数に適用するモジュールを表し得る。この点において、フィルタユニット91は、ビデオデータの第1のブロックをビデオデータの第2のブロックから分離するビデオブロックの境界の近くで適用すべき完全フィルタを選択し得、選択されたフィルタは、(この場合も、「フィルタタップ」または「タップ」と呼ばれることもある)いくつかのフィルタ係数を備える。フィルタユニット91は、符号化ビットストリーム中に含まれるコード化フィルタ係数からフィルタを判断し得、コード化フィルタ係数は、次いで、復号フィルタ係数を形成するために復号される。通常、フィルタユニット91は、一例として、ビデオエンコーダ20のフィルタユニット63によって選択された完全フィルタのフィルタ係数を受信し、次いで、図2の例に示したビデオエンコーダ20に関して上記で説明した方法と同様の方法で、選択された完全フィルタ係数からフィルタ係数を導出し得る。選択された完全フィルタは、知覚された視覚的品質を潜在的に改善するために再構成ビデオブロックに通常適用されるDBフィルタ、SOAフィルタ、ALFまたは他のタイプのフィルタのうちの1つまたは複数を備え得る。
完全フィルタを選択した後に、フィルタユニット91は、ビデオデータがフィルタ処理されるために利用可能にならない、完全フィルタのフィルタ係数のうちの少なくとも1つを判断し得る。ビデオデータがフィルタ処理されるために利用不可能になる、完全フィルタのフィルタ係数のうちの少なくとも1つを判断するこのプロセスについて、図4A〜図4Eの例に関して以下でより詳細に説明する。ビデオデータがフィルタ処理されるために利用可能にならないフィルタ係数のうちの少なくとも1つの判断に基づいて、フィルタユニット30は、部分フィルタが、コンテンツデータがフィルタ処理されるために利用可能になる複数のフィルタ係数のうちのそれらのうちの1つまたは複数を含むようなこの部分フィルタを判断し得る。言い換えれば、フィルタユニット91は、ビデオデータがフィルタ処理のために利用可能にならない選択された完全フィルタのために指定されたフィルタ係数のうちの少なくとも1つを削除し得る。フィルタユニット91は、次いで、これらの残りのフィルタ係数の合計がもう一度1になるように、部分フィルタ内に含まれる複数のフィルタ係数を再正規化し得る。フィルタユニット91は、次いで、ビデオデータのフィルタ処理された第1のブロックを生成するために、ビデオデータの第1のブロックの境界の近くで再正規化された部分フィルタを適用し得る。フィルタユニット91は、ビデオデータの他の部分を再構成する際の参照サンプルとして使用するために、ビデオデータのこのフィルタ処理された第1のブロックを記憶し得る。
1つまたは複数の部分フィルタを適用することに加えて、または別に(完全フィルタなど)他のタイプのフィルタを適用するときに、フィルタユニット91はまた、これらのフィルタを適用するときに「ミラーリングされたパディング」と呼ばれるパディングの形態を実行し得、「ミラーリングされたパディング」は、ピクセルの反復パディングを使用して変更されるブロックの境界においてフィルタの従来の適用を生じ得る、パーティションの境界においてもたらされる不連続性を回避することによって、復号ビデオデータのより良好な視覚的品質を与え得る。ミラーパディングは、それによって、フィルタユニット91が、実際のピクセル値を待つ必要なしに、上述のフィルタのうちの1つまたは複数を適用し得るように、フィルタユニット91が、実際のピクセル値の代わりにパーティションの現在の境界の近くでピクセル値をミラーリングするプロセスを指し得る。上述したように、本開示で説明する技法のミラーパディング態様は、ラインバッファのサイズを低減するか、またはさらには場合によってはそれをなくすと同時に、以下でより詳細に説明するように、パディングの反復または他の形態と比較してビデオ品質の改善をも促進し得る。ミラーパディングについて、図5A、図5Bに関して以下でより詳細に説明する。
フィルタユニット91は、様々なタイプのフィルタのカスケード適用に関して本技法の1つまたは複数の態様を繰り返し実装し得る。たとえば、フィルタユニット91は、最初に、LCUなど、ビデオデータのブロックにDBフィルタを適用するときにこれらの技法を適用し得る。フィルタユニット91は、一例として、非対称または対称部分DBフィルタを生成するように、上記で説明した方法で対称的な完全DBフィルタを適応させ、この非対称または対称部分DBフィルタを再正規化し、LCUの(一例として)下側境界のピクセル値に再正規化された非対称または対称部分DBフィルタを適用し得る。この例では、フィルタユニット91は、次いで、非対称または対称部分SAOフィルタを生成するように、上記で説明した方法で対称的な完全SAOフィルタを適応させ、この非対称または対称部分SAOフィルタを再正規化し、LCUの(一例として)下側境界のDBフィルタ処理されたピクセル値に再正規化された非対称または対称部分SAOフィルタを適用し得る。フィルタユニット91はまた、非対称または対称部分ALFを生成するように、上記で説明した方法で対称的な完全ALFを適応させ、この非対称または対称部分ALFを再正規化し、LCUの(一例として)下側境界のDBおよびSAOフィルタ処理されたピクセル値に再正規化された非対称または対称部分ALFを適用し得る。
いくつかの事例では、フィルタユニット91は、対称完全DB、SAOおよびALフィルタの各々のカスケード適用に関してミラーパディングを実行し得る。代替的に、フィルタユニット91は、いくつかの対称完全DB、SAOおよびALフィルタと、いくつかの再正規化された非対称または対称部分DB、SAOおよびALフィルタとのカスケード適用に関してミラーパディングを実行し得、再正規化された非対称または対称部分DB、SAOおよびALフィルタは、本開示で説明する技法に一致する方法で生成され得る。言い換えれば、本技法は、ミラーパディングが、非対称部分フィルタの適用と併せてまたはそれの代替として実行され得るような任意の組合せで(この場合も、概して、ビデオエンコーダおよびビデオデコーダのうちの1つまたは複数を指し得る)ビデオコーダによって実装され得る。
図4A〜図4Eは、本開示で説明する技法の部分フィルタ処理態様に従ってフィルタ処理されるビデオデータの例示的なブロック100を示す図である。図4Aは、ビデオデータのブロック100を示す図であり、図2の例に示したビデオエンコーダ20のフィルタユニット63および/または図3の例に示したビデオデコーダ30のフィルタユニット91など、ビデオエンコーダおよび/またはビデオデコーダのフィルタユニットは、初めに、DBフィルタとSAOフィルタとALFとをカスケード式に適用し得る。以下でフィルタユニット63に関して説明するが、本技法はフィルタユニット91によって同様にして実装され得る。その上、特定のビデオエンコーダおよび/またはビデオデコーダに関して説明するが、本技法は、概して、任意のビデオコーディングデバイスあるいは他のコンテンツコーディングユニットまたはデバイスによって実装され得る。
図4Aの例に示すように、(「ビデオブロック100」と呼ばれることもある)ビデオデータのブロック100は、ピクセル値の16×16ブロックを備え、フィルタユニット63の例に示す各矩形は、単一のピクセル値を定義するデータを表す。ビデオブロック100は再構成ビデオブロックを表し得、したがって、さらに「再構成ビデオブロック100」と呼ばれることがある。図4Aの例でさらにわかるように、フィルタユニット63は、ビデオブロック100の上部13行にDBフィルタを適用し、ビデオブロック100の上部12行にSAOフィルタを適用し、ビデオブロック100の上部10行にALFを適用する。DBフィルタは、ビデオデータの下側の隣接するブロックからのピクセル値を必要とするので、フィルタユニット63は下部3行にDBフィルタを適用していない。ブロック100は、ビデオブロック100の下部行を指す境界102によってこの下側の隣接するブロックから分離され得る。フィルタがカスケード式に適用され、1つのフィルタを適用した結果が、その行で別のフィルタによってさらにフィルタ処理されるので、フィルタユニット63は、下部3行にDBフィルタを適用した結果を必要とするので、フィルタユニット63は、ブロック100の下部4行にSAOフィルタを適用することができない。同様に、フィルタユニット63は、下部4行にSAOフィルタを適用した結果を必要とするので、フィルタユニット63は下部6行にALFを適用することができない。
ALFは、図4Aの例でALF104として示されている。図4B〜図4Eの以下の説明はALF104に焦点を当てているが、本技法は、DBフィルタおよびSAOフィルタの各々に関して、ならびにカスケードフィルタの任意の他の適用に関して適用され得る。ALF104は、図4Aの例でブロックドットとして示されているフィルタ係数を削除するように変更されていないという点で、完全ALFを表し得る。このために、ALFフィルタは「完全ALF104」と呼ばれることがある。完全ALF104はまた、x軸およびy軸の各々の上のタップまたは係数の数が同じであるという点で対称である。完全ALF104は、x軸の上および下に2つの係数を含み、y軸の右および左に4つの係数を含む。したがって、ALF104は「対称ALF104」または「対称完全ALF104」と呼ばれることがある。フィルタユニット63は、対称完全ALF104を選択し、ビデオブロック100の上部10行に対称完全ALF104を適用したと仮定する。
次に図4Bの例を参照すると、ALF104は、ピクセル値105Aをフィルタ処理するためにフィルタ係数106Aを含むが、フィルタユニット63は、ALF104を適用するときに、ピクセル値105Aが、フィルタ処理されるために利用可能でない(図4Bの例では「X」によって示される)と判断し得る。その結果、フィルタユニット63は、(破線の白いドットによって示されるように)フィルタ係数106Aを削除して、非対称部分フィルタ108Aを生成し、それは、次いで、本開示で説明する方法で再正規化される。非対称部分フィルタ108Aは、フィルタ108Aがx軸の下に1つの係数を含み、x軸の上に2つの係数を含むという点で「非対称」であり得る。その上、非対称部分フィルタ108Aは、フィルタ108Aが、完全フィルタ104内に含まれるあらゆる係数を含むとは限らないという点で「部分」であり得る。しかしながら、フィルタユニット63は、フィルタユニット63が、場合によっては完全フィルタ104を適用することが可能でないとき、ビデオブロック100の境界102から6番目の行に非対称部分フィルタ108Aを適用し得る。その結果、本開示で説明する技法は、従来のフィルタ処理技法と比較して、フィルタ処理が実行され得る速さを改善し得る。その上、本技法は、再構成され、その後、フィルタ処理されるべき隣接するビデオブロックを待つ目的でビデオデータのブロックを記憶するための追加のメモリが必要とされないという点で、ラインバッファのサイズを低減し得る(そうでない場合、ラインバッファの必要をなくし得る)。
次に図4Cの例を参照すると、ALF104は、ピクセル値105Bをフィルタ処理するためにフィルタ係数106Aを含み、ピクセル値105Aをフィルタ処理するためにフィルタ係数106Bを含むが、フィルタユニット63は、ALF104を適用するときに、ピクセル値105Aおよび105Bが、フィルタ処理されるために利用可能でない(図4Bの例では「X」によって示される)と判断し得る。その結果、フィルタユニット63は、(破線の白いドットによって示されるように)フィルタ係数106A、106Bを削除して、非対称部分フィルタ108Bを生成し、それは、次いで、本開示で説明する方法で再正規化され得る。非対称部分フィルタ108Bは、フィルタ108Bがx軸の下に係数を含まず、x軸の上に2つの係数を含むという点で「非対称」であり得る。その上、非対称部分フィルタ108Bは、フィルタ108Bが、完全フィルタ104内に含まれるあらゆる係数を含むとは限らないという点で「部分」であり得る。しかしながら、フィルタユニット63は、フィルタユニット63が、場合によっては完全フィルタ104を適用することが可能でないとき、ビデオブロック100の境界102から5番目の行に非対称部分フィルタ108Bを適用し得る。その結果、本開示で説明する技法は、この場合も従来のフィルタ処理技法と比較して、フィルタ処理が実行され得る速さを改善し得る。この場合も、本技法は、再構成され、その後、フィルタ処理されるべき隣接するビデオブロックを待つ目的でビデオデータのブロックを記憶するための追加のメモリが必要とされないという点で、ラインバッファのサイズを低減し得る(そうでない場合、ラインバッファの必要をなくし得る)。
図4Dおよび図4Eは、本技法が、図4Aの例に示した同じ完全ALF104から生成または導出された対称フィルタ110Aおよび110Bを使用してビデオブロック100に関して実装され得る代替方法を示している。説明の容易さのために代替として説明するが、フィルタユニット63は、ビデオブロック100の境界102から6番目以下の行中のピクセル値のうちのいずれか1つをフィルタ処理するために、非対称フィルタ108A、108Bまたは対称フィルタ110A、110Bのうちの1つを利用してピクセル値ごとに非対称または対称フィルタを選択し得る。この点において、フィルタユニット63は、(スライスまたはフレームレベルではなくLCUまたはパーティションレベルにおいてを意味する)パーティションベース方法でピクセル値ごとにフィルタ108A、108B、110Aおよび110Bを適応的に適用し得る。
たとえば、部分フィルタを適用するときに、境界102の下から4番目の行の上の行に対称であるか非対称であるかにかかわらず(この4番目の行の境界は仮想境界と呼ばれることがある)、フィルタユニット63は、この仮想境界の上の行(すなわち、これらの例では境界102から5番目および6番目の行)のために部分ALFを常に適用し得る。いくつかの事例では、フィルタユニット63は、境界102から6番目の行のためにのみ部分ALFを適用し得、そして、境界102から5番目の行にALFを適用しないことがある(SAOフィルタを適用した結果が記憶されることを意味する)。他の例では、利用不可能であるピクセル値を有する完全ALF104の係数の数が第1のしきい値数を超えるかどうか、利用不可能であるピクセル値を有するこれらの係数の和が第2のしきい値を超えるかどうか、および/または利用不可能であるピクセル値を有するこれらの係数の絶対値の和が第3のしきい値を超えるかどうかなど、いくつかの基準に基づいて、フィルタユニット63は、部分フィルタを使用すべきかどうかを判断し得る。
図4Dの例では、ALF104は、ピクセル値105Aをフィルタ処理するためにフィルタ係数106Aを含むが、フィルタユニット63は、ALF104を適用するときに、ピクセル値105Aが、フィルタ処理されるために利用可能でない(図4Bの例では「X」によって示される)と判断し得る。その結果、フィルタユニット63は、(破線の白いドットによって示されるように)フィルタ係数106Aを削除すると同時に、フィルタ係数106Cが利用可能なピクセル値105Cを含むにもかかわらず、対称性を維持するためにフィルタ係数106Cをも削除する。フィルタユニット63は、それによって、対称部分フィルタ110Aを生成し、対称部分フィルタ110Aは、フィルタ110Aがx軸の上と下の両方に単一のフィルタ係数を含むという点で対称であり、係数106Aおよび106Cが完全ALF104から削除されるという点で部分である。しかしながら、フィルタユニット63は、フィルタユニット63が、場合によっては完全フィルタ104を適用することが可能でないとき、ビデオブロック100の境界102から6番目の行に対称部分フィルタ110Aを適用し、それによって、上記で説明した速さとラインバッファ利益とを潜在的に与え得る。
次に図4Eの例を参照すると、ALF104は、ピクセル値105Bをフィルタ処理するためにフィルタ係数106Aを含み、ピクセル値105Aをフィルタ処理するためにフィルタ係数106Bを含むが、フィルタユニット63は、ALF104を適用するときに、ピクセル値105Aおよび105Bが、フィルタ処理されるために利用可能でない(図4Bの例では「X」によって示される)と判断し得る。その結果、フィルタユニット63は、(破線の白いドットによって示されるように)フィルタ係数106A、106Bと、フィルタ係数106Cおよび106Dとを削除して対称性を維持し(これらのフィルタ係数は、利用可能なピクセル値105D、105Eに適用されるが)、それによって、本開示で説明する方法で再正規化され得る対称部分フィルタ110Bを生成する。対称部分フィルタ110Bは、フィルタ110Bが、x軸の下と上の両方に同数の係数を含む(すなわち、図4Eの例ではx軸の上と下の両方にフィルタ係数がない)という点で「対称」であり得る。その上、対称部分フィルタ110Bは、フィルタ110Bが、完全フィルタ104内に含まれるあらゆる係数を含むとは限らないという点で「部分」であり得る。しかしながら、フィルタユニット63は、フィルタユニット63が、場合によっては完全フィルタ104を適用することが可能でないとき、ビデオブロック100の境界102から5番目の行に対称部分フィルタ110Bを適用し、それによって、上記で説明した速さとラインバッファ利益とを潜在的に与え得る。
図5A〜図5Bは、本開示で説明する技法のミラーパディング態様に従ってフィルタ処理されるビデオデータ120の例示的なブロックを示す図である。図5Aは、ビデオデータのブロック120を示す図であり、図2の例に示したビデオエンコーダ20のフィルタユニット63および/または図3の例に示したビデオデコーダ30のフィルタユニット91など、ビデオエンコーダおよび/またはビデオデコーダのフィルタユニットは、初めに、DBフィルタとSAOフィルタとALFとをカスケード式に適用し得る。以下でフィルタユニット63に関して説明するが、本技法はフィルタユニット91によって同様にして実装され得る。その上、特定のビデオエンコーダおよび/またはビデオデコーダに関して説明するが、本技法は、概して、任意のビデオコーディングデバイスあるいは他のコンテンツコーディングユニットまたはデバイスによって実装され得る。
図5Aの例に示すように、(「ビデオブロック120」と呼ばれることもある)ビデオデータのブロック120は、図4A〜図4Eの例に示したビデオブロック100と同様に、ピクセル値の16×16ブロックを備え、フィルタユニット63の例に示す各矩形は、単一のピクセル値を定義するデータを表す。ビデオブロック120は再構成ビデオブロックを表し得、したがって、さらに「再構成ビデオブロック120」と呼ばれることがある。図5Aの例でさらにわかるように、フィルタユニット63は、ビデオブロック120の上部13行にDBフィルタを適用し、ビデオブロック120の上部12行にSAOフィルタを適用し、ビデオブロック120の上部10行にALFを適用する。DBフィルタは、ビデオデータの下側の隣接するブロックからのピクセル値を必要とするので、フィルタユニット63は下部3行にDBフィルタを適用していない。ブロック120は、ビデオブロック120の下部行を指す境界122によってこの下側の隣接するブロックから分離され得る。フィルタがカスケード式に適用され、1つのフィルタを適用した結果が、その行で別のフィルタによってさらにフィルタ処理されるので、フィルタユニット63は、下部3行にDBフィルタを適用した結果を必要とするので、フィルタユニット63は、ブロック120の下部4行にSAOフィルタを適用することができない。同様に、フィルタユニット63は、下部4行にSAOフィルタを適用した結果を必要とするので、フィルタユニット63は下部6行にALFを適用することができない。
ALFは、図5Aの例でALF124として示されている。図5Bの以下の説明はALF124に焦点を当てているが、本技法は、DBフィルタおよびSAOフィルタの各々に関して、ならびにカスケードフィルタの任意の他の適用に関して適用され得る。ALF124は、図5Aの例でブロックドットとして示されているフィルタ係数を削除するように変更されていないという点で、完全ALFを表し得る。このために、ALFフィルタは「完全ALF124」と呼ばれることがある。完全ALF124はまた、x軸およびy軸の各々の上のタップまたは係数の数が同じであるという点で対称である。完全ALF124は、x軸の上および下に2つの係数を含み、y軸の右および左に4つの係数を含む。したがって、ALF124は「対称ALF124」または「対称完全ALF124」と呼ばれることがある。フィルタユニット63は、対称完全ALF124を選択し、ビデオブロック120の上部10行に対称完全ALF124を適用したと仮定する。
対称完全ALF124を適応させるよりはむしろ、フィルタユニット63は、(図5Aの例で対角的にクロスハッシングされた矩形として示されている)最下行のピクセル値を複製するために、ミラーパディングを実行し、ビデオブロック120に隣接しビデオブロック120の下に位置するブロックのピクセル値の最上行になるものを交換するために、これらのピクセルをミラーリングすることを実行し得る。さらに、フィルタユニット63は、ビデオブロック124の最後の行をフィルタ処理するために(図5の例で水平および垂直にクロスハッシングされた矩形として示されている)ビデオブロック124の最下行とビデオブロック124の最下から2番目の行の両方をミラーリングするミラーパディングを実行する。フィルタユニット63は、ビデオブロック124に隣接し、ビデオブロック124の下のブロックの最上部の2行を交換する「ミラーパディング126」として示された2つの追加の行を事実上形成し、それによって、完全ALF124の適用を可能にし得る。
図5Aの例では、これらの行を実際に作成するように示したが、このことは、これらのピクセル値を記憶するためにラインバッファが必要とされ得ることを暗示しており、本技法は、実際の記憶要件を回避するように数学的に実装され得る。すなわち、完全ALF124が適用される、ミラーパディング126中に示されたピクセル値は、(元の形態で、または潜在的に、スケーリングされた形態のいずれかで)単にビデオブロック124の下部2行から取られ、実際にこれらの値を複製し、別個のラインバッファに記憶する必要なしに、フィルタ行列中に挿入され得る。その結果、本開示で説明するミラーパディング技法は、ラインバッファサイズの増加を生じないが、上記で言及した速さとラインバッファ利益とを潜在的に与え得る。
図5Bに、ビデオブロック120のより多くの内部行に対するミラーパディング態様の適用を示す。この意味で、「境界」という用語は、本開示では、ビデオデータの2つの部分間の境界を示すために使用され、これらの部分は、同じビデオブロック内に常駐するか、または異なるビデオブロック中に常駐し得る。したがって、「境界」という用語は、2つのビデオブロックを分離する境界に限定されると解釈されるべきでないが、ビデオデータの任意の2つの部分を分離し得る(上記で説明したいわゆる「仮想境界」を含む)任意の境界を含み得る。すなわち、フィルタユニット63は、いくつかの事例では、ビデオブロック120の下から4番目の行中に位置する(ALF観点から)利用不可能なピクセル値を交換するために、5番目の行中の利用可能なピクセル値をミラーリングするために、ビデオブロック120の下から5番目の行など、内部行のミラーパディングを実行し、ミラーパディング128を事実上作成し得る。この場合も、フィルタユニット63は、ミラーパディング128が実際に記憶されず、むしろ、利用可能なピクセル値が、ミラーパディング128中に位置する対応する係数に与えられるような方法で実装され得るという点で、パディング128を事実上作成する。この点において、本技法は、ビデオブロックの内部あるいは任意の行または列に適用され得、ビデオブロックのエッジまたは境界に制限されるべきではない。
図6は、本開示で説明する技法の部分フィルタ処理態様を実装する際の、図1〜図3の例に示したビデオエンコーダ20またはビデオデコーダ30などのビデオコーダの例示的な動作を示すフローチャートである。本技法について、特定のビデオコーダ、すなわち、図2の例に示したビデオエンコーダ20に関して説明するが、本技法は、図3の例に示したビデオデコーダ30などの任意のビデオコーダによって実装され得る。さらに、特定のタイプのコンテンツデータ、すなわち、ビデオデータに関して説明するが、本技法は、概して、オーディオデータ、テキストデータ、画像データなどを含む、任意のタイプのコンテンツデータに関して実装され得る。
初めに、ビデオエンコーダ20は、符号化ビデオデータを生成するために、上記で説明した方法でビデオデータを符号化する。このビデオデータを符号化するために、ビデオエンコーダ20は、ビデオデータを符号化して符号化ビデオデータを生成した後に、符号化ビデオデータを復号して再構成ビデオデータを形成し、再構成ビデオデータを使用して後続のビデオデータを符号化する。その結果、ビデオエンコーダ20は、図4A〜図4Eの例に示したビデオブロック100などの再構成ビデオブロックを形成するために符号化ビデオブロックを復号する(130)。ビデオエンコーダ20は、ビデオブロック100をフィルタ処理するためにフィルタ処理ユニット63を呼び出し得る。ビデオブロック100をフィルタ処理するために、フィルタ処理ユニット63は、再構成ビデオブロック100に適用すべきフィルタを選択する(132)。フィルタを選択した後に、フィルタ処理ユニット63は、再構成ビデオブロック100にフィルタを適用し得る。いくつかの事例では、フィルタ処理ユニット63は、上記でより詳細に説明した理由で、選択されたフィルタの少なくとも1つの係数が利用可能でない少なくとも1つのピクセル値に適用されることになると判断する(134)。
選択されたフィルタの少なくとも1つの係数が利用可能でない少なくとも1つのピクセル値に適用されることになると判断したことに応答して、フィルタ処理ユニット63は、上記で説明した方法で図4A〜図4Eの例に示した部分フィルタ108A、108B、110A、110Bなどの部分フィルタを生成する(136)。フィルタ処理ユニット63は、この部分フィルタを生成した後に、これらの係数の合計がもう一度1になるように部分フィルタの係数を再正規化する(138)。フィルタ処理ユニット63は、1つまたは複数の再正規化アルゴリズムに従ってフィルタ係数を再正規化し得る。
たとえば、フィルタ処理ユニット63は、生成された部分フィルタの係数を再正規化するために第1の再正規化アルゴリズムを採用し得る。第1の再正規化アルゴリズムは、複数の完全フィルタ係数の第1の和を計算するために、選択された完全フィルタ内に含まれる複数のフィルタ係数を加算することを含む。言い換えれば、フィルタ処理ユニット63は、選択されたフィルタのフィルタ係数を加算し得る。このアルゴリズムはまた、複数の部分フィルタ係数の第2の和を計算するために、部分フィルタ内に含まれる複数のフィルタ係数を加算することを含む。すなわち、フィルタ処理ユニット63は部分フィルタの係数を加算し得る。フィルタ処理ユニット63は、次いで、部分フィルタ内に含まれる複数のフィルタ係数の各々に、複数の完全フィルタ係数の第1の和を複数の部分フィルタ係数の第2の和で除算した結果を乗算することによって、部分フィルタの再正規化された係数を判断し得る。この第1の再正規化アルゴリズムは以下の擬似コードとして表され得る。
ただし、変数「Coeff_all」は、選択されたフィルタの係数C_1,...,C_Nの和を示し、変数「Coeff_part」は、Coeff_allから部分フィルタの非正規係数C_1,...,C_Mの和を減算した結果を示し、最後の行は、削除された係数(C_i、ただしi=M+1,...,N)に、Coeff_allをCoeff_partで除算した結果を乗算することによって再正規化される部分フィルタの新しい係数(「coeffs」)を指す。
代替的に、フィルタ処理ユニット63は、コンテンツデータがフィルタ処理されるために利用可能にならない(選択されたフィルタを意味する)完全フィルタの複数のフィルタ係数のうちの少なくとも1つのうちの1つまたは複数を、部分フィルタの複数のフィルタ係数のうちの1つまたは複数に加算することを伴う第2の再正規化アルゴリズムを実装し得る。この第2の再正規化アルゴリズムは、以下の擬似コードに従って表され得る。
C_i、i=M+1,...,Nのサブセットについて、C_k、k=1,...,Mを加算する
たとえば、
この擬似コードによれば、ピクセル値が利用可能でない選択されたフィルタの係数はC_iとして示され、ただし、i=M+1,...,Nである。非正規部分フィルタの係数はC_kとして示され、ただし、k=1,...,Mである。この第2のアルゴリズムのための擬似コードはまた、このフィルタを再正規化するために、削除された係数がどのように部分フィルタの係数に加算され得るかについての2つの例を与える。第1の例では、C_(M+1)’は、再正規化された部分フィルタの係数を示し、C_1への部分フィルタC_(M+1)の正規化されていない係数の加算として計算される。第1の例では、C_(M+1)、C_(M+2)などとして示された削除された係数は、残りの係数C_1、C_2などに加算される。第2の例では、C_L’は、元の正規化されていない残りの係数C_Lに削除された係数C_1,C_2,...,C_Mを加算することによって正規化される正規化係数を示す。
いくつかの事例では、再正規化は、上記で説明したいわゆる「仮想境界」からの計算された距離に基づいて、異なるあらかじめ定義された部分フィルタを選択することによって実行され得る。ある表が、仮想境界からのこの計算された距離に基づいて、すでに再正規化されたフィルタ係数を規定し得る。
いずれにしても、部分フィルタ係数を再正規化した後に、フィルタ処理ユニット63は、フィルタ処理された再構成ビデオブロックを生成するために、ビデオブロック100に再正規化された部分フィルタを適用する(140)。フィルタ処理ユニット63は、次いで、このビデオブロック100のフィルタ処理が完了したかどうかを判断する(142)。上述したように、フィルタ処理ユニット63はカスケード式にいくつかのフィルタを適用し得、それらのフィルタの各々は、本開示で説明する部分フィルタ処理技法に従って適用され得る。いくつかの事例では、これらのフィルタのうちの1つまたは複数は適用されないことがある。さらに、上述したように、フィルタ処理ユニット63は、本開示で説明する技法の部分フィルタ処理および/またはミラーパディング態様をいつ実行すべきかを判断するために、一例として、1つまたは複数のしきい値を採用してこれらのフィルタを適応的に適用し得る。フィルタ処理ユニット63が、フィルタ処理がまだ完了していないと判断した場合(「NO」142)、フィルタ処理ユニット63は、ビデオブロック100をフィルタ処理するために上記で説明した方法(132〜142)で進み得る。フィルタ処理ユニット63が、フィルタ処理が完了したと判断した場合(「YES」142)、フィルタ処理ユニット63は、参照ピクチャメモリ64にフィルタ処理された再構成ビデオブロック100を記憶する(144)。
図7は、本開示で説明する技法のミラーパディング態様を実装する際の、図1〜図3の例に示したビデオエンコーダ20またはビデオデコーダ30などのビデオコーダの例示的な動作を示すフローチャートである。本技法について、特定のビデオコーダ、すなわち、図2の例に示したビデオエンコーダ20に関して説明するが、本技法は、図3の例に示したビデオデコーダ30などの任意のビデオコーダによって実装され得る。さらに、特定のタイプのコンテンツデータ、すなわち、ビデオデータに関して説明するが、本技法は、概して、オーディオデータ、テキストデータ、画像データなどを含む、任意のタイプのコンテンツデータに関して実装され得る。
初めに、ビデオエンコーダ20は、符号化ビデオデータを生成するために、上記で説明した方法でビデオデータを符号化する。このビデオデータを符号化するために、ビデオエンコーダ20は、ビデオデータを符号化して符号化ビデオデータを生成した後に、符号化ビデオデータを復号して再構成ビデオデータを形成し、再構成ビデオデータを使用して後続のビデオデータを符号化する。その結果、ビデオエンコーダ20は、図4A〜図4Eの例に示したビデオブロック120などの再構成ビデオブロックを形成するために符号化ビデオブロックを復号し得る(150)。ビデオエンコーダ20は、ビデオブロック120をフィルタ処理するためにフィルタ処理ユニット63を呼び出し得る。ビデオブロック120をフィルタ処理するために、フィルタ処理ユニット63は、再構成ビデオブロック100に適用すべきフィルタを選択し得る(152)。フィルタを選択した後に、フィルタ処理ユニット63は、再構成ビデオブロック120にフィルタを適用し得る。いくつかの事例では、フィルタ処理ユニット63は、上記でより詳細に説明した理由で、選択されたフィルタの少なくとも1つの係数が利用可能でない少なくとも1つのピクセル値に適用されることになると判断し得る(154)。
選択されたフィルタの少なくとも1つの係数が、利用可能でない少なくとも1つのピクセル値に適用されることになると判断したことに応答して、フィルタ処理ユニット63は、上記で説明した方法でミラーパディングを実行し得る(156)。フィルタ処理ユニット63は、ミラーパディングを実行した後に、フィルタ処理された再構成ビデオブロックを生成するために、ビデオブロック120に選択されたフィルタまたは部分フィルタのいずれかを適用し、部分フィルタは、上記で説明した方法で判断され得る(158)。フィルタ処理ユニット63は、次いで、このビデオブロック120のフィルタ処理が完了したかどうかを判断する(160)。上述したように、フィルタ処理ユニット63はカスケード式にいくつかのフィルタを適用し得、それらのフィルタの各々は、本開示で説明する部分フィルタ処理技法に従って適用され得る。いくつかの事例では、これらのフィルタのうちの1つまたは複数は適用されないことがある。さらに、上述したように、フィルタ処理ユニット63は、本開示で説明する技法の部分フィルタ処理および/またはミラーパディング態様をいつ実行すべきかを判断するために、一例として、1つまたは複数のしきい値を採用してこれらのフィルタを適応的に適用し得る。フィルタ処理ユニット63が、フィルタ処理がまだ完了していないと判断した場合(「NO」160)、フィルタ処理ユニット63は、ビデオブロック120をフィルタ処理するために上記で説明した方法(152〜160)で進み得る。フィルタ処理ユニット63が、フィルタ処理が完了したと判断した場合(「YES」160)、フィルタ処理ユニット63は、参照ピクチャメモリ64にフィルタ処理された再構成ビデオブロック120を記憶する(162)。
このようにして、本技法の様々な態様は、再構成ビデオデータを生成するために符号化ビデオデータを復号する方法を対象とし得る。本方法は、符号化ビデオデータを復号するとき、デバイスを用いて、利用可能でないビデオデータの第2の部分のピクセル値を交換するように再構成ビデオデータの第1の部分の境界に位置するピクセル値をミラーリングするためにミラーパディングを実行することを備え得、境界は、ビデオデータの第1の部分をビデオデータの第2の部分から分離する。本方法は、デバイスを用いて、ミラーリングされたピクセル値のうちの少なくとも1つをフィルタ処理するために1つまたは複数のフィルタを適用することをさらに備え得る。
いくつかの事例では、フィルタは、デブロッキング(DB)フィルタと、サンプル適応オフセット(SAO)フィルタと、適応ループフィルタ(ALF)とのうちの1つまたは複数を備える。他の例では、部分は最大コーディングユニット(LCU)を備え、本方法は、LCUをフィルタ処理するためにスライスまたはフレームレベルではなくLCUのレベルにおいて1つまたは複数のフィルタを適用することを含む。
いくつかの態様では、本方法は、1つまたは複数の基準に基づいて1つまたは複数のフィルタを適応的に適用することを備える。他の態様では、1つまたは複数のフィルタを適用することは、複数のフィルタ係数を備える完全フィルタを選択することと、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つを判断することと、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つの判断に基づいて、部分フィルタを判断することとを備える。部分フィルタは、ビデオデータがフィルタ処理されるために利用可能にならない複数のフィルタ係数のうちの少なくとも1つを含まないことがある。フィルタを適用することはまた、部分フィルタ内に含まれる複数のフィルタ係数を再正規化することと、ミラーリングされたピクセル値のうちの少なくとも1つをフィルタ処理するために再正規化された部分フィルタを適用することとを備え得る。
いくつかの事例では、本方法を実行するデバイスはビデオエンコーダを備え、これらの事例では、本方法は、符号化ビデオデータを生成するために、ビデオエンコーダを用いてビデオデータを符号化することをさらに備え、符号化ビデオデータを復号することは、ビデオデータを符号化するときに参照データとして使用するための再構成ビデオデータを生成するために、符号化ビデオデータを復号することを備える。代替的に、デバイスはビデオデコーダを備え得る。
いくつかの事例では、デバイスは、上記で説明した方法のステップの各々を実行するための手段を備える。他の例では、デバイスは、上記で説明した方法のステップを実行するために1つまたは複数のプロセッサを備える。さらに他の事例では、非一時的コンピュータ可読媒体は、実行されたとき、1つまたは複数のプロセッサに上記で説明した方法を実行させる命令を記憶する。
本技法の様々な態様は、上述のHEVCワーキングドラフトに組み込まれるか、または場合によってはより詳細に記載され得る。たとえば、HEVCワーキングドラフトの現行バージョンは、部分フィルタ処理に関係する本開示で説明する技法の態様を組み込んでいる。これらの部分フィルタ処理技法は、2012年4月27日から2012年5月7日に行われた9th meeting in Geneva、CH中に記載されたHEVCワーキングドラフトの最も最近のバージョンのセクション8.7.4.3に記載されている。HEVCワーキングドラフトのこのバージョンは、ITU−T SG16 WP3のJoint Collaborative Team on Video Coding(JCT−VC)およびISO/IEC JTC1/SC29/WG11によって公表された。HEVCワーキングドラフトのこのバージョンのセクション8.7.4.3を以下に記載し、様々な要素、変数および他の項目への参照は、それの全体が記載されているHEVCワーキングドラフトに鑑みてより十分に理解され得る。したがって、これらの要素、変数および他の項目の各々の詳細な説明は完全には与えられない。
8.7.4.3 ルーマサンプルの場合のコーディングツリーブロックフィルタ処理プロセス
このプロセスの入力は以下の通りである。
− ALF recPictureより前の再構成ルーマピクチャサンプルアレイ
− フィルタ処理された再構成ルーマピクチャサンプルアレイalfPicture
− ルーマフィルタ係数cLの(AlfNumFilters)×(19)アレイ。
このプロセスの出力は、変更されたフィルタ処理された再構成ルーマピクチャサンプルアレイalfPictureである。
現在のピクチャの左上ルーマサンプルに対するコーディングブロックの左上ルーマサンプルを規定するロケーション(xC,yC)と、(1<<log2CbSize)に等しいサイズcbSizeとをもつ現在のルーマコーディングツリーブロック中の各ルーマコーディングブロックについて、それぞれのコーディングユニットのpcm_flagとpcm_loop_filter_disable_flagとcu_transquant_bypass_flagとに応じて、以下が適用される。
− 以下の条件のうちの1つまたは複数が当てはまる場合、適応ループフィルタプロセスは現在のコーディングブロックのために適用されない。
− pcm_loop_filter_disable_flagは1に等しく、pcm_flagは1に等しい。
− cu_transquant_bypass_flagは1に等しい。
− 他の場合、以下が適用される。
− サブクローズ8.7.4.5において規定されているコーディングブロック境界パディングプロセスは、入力として、ALFより前の再構成ピクチャサンプルアレイrecPicture、ルーマロケーション(xC,yC)、現在のコーディングブロックサイズcbSize、Min(cbSize,(CtbSize>>slice_granularity))に等しく設定されたグラニュラリティブロックサイズgbSizeを用いて呼び出され、出力は、パディングされたルーマサンプルアレイpadBlockである。
− サブクローズ8.7.3.3において規定されているフィルタインデックスアレイ導出プロセスは、入力として、ルーマロケーション(xC,yC)とコーディングブロックのサイズcbSizeとを用いて呼び出され、出力は2次元フィルタインデックスアレイfIdxである。
− 変数vbLineは、CtbSize−4に等しく設定される。
− x,y=0..(cbSize)−1をもつルーマピクチャサンプルアレイalfPicture[xC+x,yC+y]のフィルタ処理されたサンプルは、以下の順序付けされたステップによって導出される。
1.変数dist2VBは以下のように導出される。
− (yC+CtbSize)がpic_height_in_luma_samplesよりも大きいかまたはそれに等しい場合、dist2VBは5に等しく設定される。
− 他の場合、dist2VBは(((yC+y)%CtbSize)−vbLine)に等しく設定される。
2.変数horPos[i]およびverPos[i]はそれぞれ、表8−14および表8−15において規定されている。
3.cL中のフィルタ係数を索引付けするために使用される変数filtIdxは、以下のように導出される。
filtIdx = MapFiltFidx[fIdx[x,y]]
4.フィルタ処理されたサンプル値は、以下のように導出される。
alfPicture[xC+x,yC+y]
=Σ(padBlock[4+x+horPos[i],4+y+verPos[i]]*cL[filtIdx][i])
with i=0..18
5.フィルタ処理されたサンプル値は、以下のようにクリッピングされる。
alfPicture[xC+x,yC+y]=Clip1((alfPicture[xC+x,yC+y]+
(1<<(8−1)))>>8)
8.7.4.3.1 ルーマサンプルの場合のコーディングブロックフィルタインデックスアレイ導出プロセス
このプロセスの入力は以下の通りである。
− 現在のピクチャの左上サンプルに対する現在のコーディングブロックの左上サンプルを規定するロケーション(xC,yC)、
− 現在のコーディングブロックのサイズを規定する変数cbSize。
このプロセスの出力は、(cbSize)×(cbSize)の2次元フィルタインデックスアレイfIdxである。
フィルタインデックスアレイfIdxは、以下の順序付けされたステップとして導出される。
1.変数xIdxおよびyIdxは以下のように導出される。
regionTab[16]={0,1,4,5,15,2,3,6,14,11,10,7,13,12,9,8}
xInterval=(((PicWidthInCtbs+1)>>2)<<Log2CtbSize))
− xIntervalが0に等しい場合、xIdxは3に等しく設定される。
− 他の場合、xIdxはMin(3,xC/xInterval)に等しく設定される。
yInterval=(((PicHeightInCtbs+1)>>2)<<Log2CtbSize))
− yIntervalが0に等しい場合、yIdxは3に等しく設定される。
− 他の場合、yIdxはMin(3,yC/yInterval)に等しく設定される。
2.x,y=0..(cbSize)−1をもつフィルタインデックス値fIdx[x,y]は以下のように導出される。
fIdx[x,y]=regionTab[(yIdx<<2)+xIdx]
本開示の技法は、モバイルフォンなどのワイヤレス通信デバイスハンドセット、集積回路(IC)またはICのセット(すなわち、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。機能的態様を強調するために与えられた任意の構成要素、モジュールまたはユニットについて説明したが、異なるハードウェアユニットによる実現を必ずしも必要とするとは限らない。本明細書で説明した技法はまた、ハードウェア、またはハードウェア、ソフトウェア、ファームウェアの任意の組合せで実装され得る。モジュール、ユニットまたは構成要素として説明した特徴は、集積論理デバイスにおいて一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。場合によっては、様々な特徴は、集積回路チップまたはチップセットなどの集積回路デバイスとして実装され得る。
ソフトウェアで実装する場合、これらの技法は、少なくとも部分的に、プロセッサにおいて実行されると、上記で説明した方法の1つまたは複数を実行する命令を備えるコンピュータ可読媒体によって実現され得る。コンピュータ可読媒体は、物理的非一時的構造物であるコンピュータ可読記憶媒体を備え得、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読記憶媒体は、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ、磁気または光学データ記憶媒体などを備え得る。
コードまたは命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供されるか、あるいは複合ビデオコーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
本開示で説明する技法は、本開示で説明する技法のうちの1つまたは複数を実装する回路を含む様々な集積回路デバイスのいずれかを使用して実装され得る。そのような回路は、単一の集積回路チップで、またはいわゆるチップセット中の複数の相互運用可能な集積回路チップで提供され得る。そのような集積回路デバイスは様々な適用例において使用され得、適用例のいくつかは携帯電話ハンドセットなどのワイヤレス通信デバイスでの使用を含み得る。
本開示の様々な態様について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]ビデオデータをコーディングする方法であって、
前記ビデオデータの第1の部分を前記ビデオデータの第2の部分から分離する、前記ビデオデータの前記第1の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、
前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの少なくとも1つを判断することと、
前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも1つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも1つを含まない、部分フィルタを判断することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、
前記ビデオデータのフィルタ処理された第1の部分を生成するために、前記ビデオデータの前記第1の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
を備える、方法。
[2]前記フィルタを選択することが、前記フィルタのタイプとサイズと形状とのうちの1つまたは複数を選択することを備える、[1]に記載の方法。
[3]前記選択されたフィルタが、デブロッキング(DB)フィルタと、サンプル適応オフセット(SAO)フィルタと、適応ループフィルタ(ALF)とのうちの1つを備える、[1]に記載の方法。
[4]前記部分が最大コーディングユニット(LCU)を備え、
前記ビデオデータの前記部分をフィルタ処理するために1つまたは複数の部分フィルタを適用することが、前記LCUをフィルタ処理するためにスライスまたはフレームレベルではなく前記LCUのレベルにおいて前記1つまたは複数の部分フィルタを適用することを備える、[1]に記載の方法。
[5]1つまたは複数の部分フィルタを適用することが、1つまたは複数の基準に基づいて前記1つまたは複数の部分フィルタを適応的に適用することを備える、[1]に記載の方法。
[6]部分フィルタを判断することが、非対称部分フィルタを判断することを備え、
前記非対称部分フィルタは、前記非対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに非対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、[1]に記載の方法。
[7]部分フィルタを判断することが、対称部分フィルタを判断することを備え、
前記対称部分フィルタは、前記対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、[1]に記載の方法。
[8]前記複数のフィルタ係数を再正規化することが、第1の再正規化アルゴリズムまたは第2の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化することを備え、
前記第1の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第1の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第2の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第1の和を前記複数の部分フィルタ係数の前記第2の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第2の再正規化アルゴリズムは、ビデオデータがフィルタ処理されるために利用可能にならない前記完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも1つのうちの1つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記1つまたは複数に加算することを備える、[1]に記載の方法。
[9]利用可能でない前記ビデオデータの第2の部分のピクセル値を交換するように前記ビデオデータの前記第1の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行することをさらに備え、
前記再正規化された部分フィルタを適用することが、前記ミラーリングされたピクセル値のうちの少なくとも1つをフィルタ処理するために、前記再正規化された部分フィルタを適用することを備える、[1]に記載の方法。
[10]前記方法が、
符号化ビデオデータを生成するためにビデオエンコーダを用いて前記ビデオデータを符号化することと、
前記ビデオデータを符号化するときに参照データとして使用するための再構成ビデオデータを生成するために、前記ビデオエンコーダを用いて前記符号化ビデオデータを復号することと
をさらに備える、[1]に記載の方法。
[11]変換係数を生成するために、前記ビデオデータの前記第1の部分をエントロピー復号するためにエントロピー復号を実行することと、
前記変換係数を逆量子化し、逆量子化された変換係数を生成するために、逆量子化を実行することと、
前記逆量子化された変換係数を周波数領域から空間領域に変換し、残差ビデオデータを生成するために、逆変換を実行することと、
前記ビデオデータの前記第1の部分の再構成されたバージョンを生成するために、前記残差ビデオデータから前記ビデオデータを再構成することと
をさらに備える、[1]に記載の方法。
[12]ビデオデータをコーディングするためのデバイスであって、
前記ビデオデータの第1の部分を前記ビデオデータの第2の部分から分離する、前記ビデオデータの前記第1の部分の境界の近くで適用すべきフィルタを選択するための手段であって、前記フィルタが複数のフィルタ係数を備える、選択するための手段と、
前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの少なくとも1つを判断するための手段と、
前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも1つの前記判断に基づいて、部分フィルタを判断するための手段であって、前記部分フィルタは、前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも1つを含まない、部分フィルタを判断するための手段と、
前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化するための手段と、
前記ビデオデータのフィルタ処理された第1の部分を生成するために、前記ビデオデータの前記第1の部分の前記境界の近くで前記再正規化された部分フィルタを適用するための手段と
を備える、デバイス。
[13]前記フィルタを選択するための前記手段が、前記フィルタのタイプとサイズと形状とのうちの1つまたは複数を選択するための手段を備える、[12]に記載のデバイス。
[14]前記選択されたフィルタが、デブロッキング(DB)フィルタと、サンプル適応オフセット(SAO)フィルタと、適応ループフィルタ(ALF)とのうちの1つを備える、[12]に記載のデバイス。
[15]前記部分が最大コーディングユニット(LCU)を備え、
前記ビデオデータの前記部分をフィルタ処理するために1つまたは複数の部分フィルタを適用するための前記手段が、前記LCUをフィルタ処理するためにスライスまたはフレームレベルではなく前記LCUのレベルにおいて前記1つまたは複数の部分フィルタを適用するための手段を備える、[12]に記載のデバイス。
[16]1つまたは複数の部分フィルタを適用するための前記手段が、1つまたは複数の基準に基づいて前記1つまたは複数の部分フィルタを適応的に適用するための手段を備える、[12]に記載のデバイス。
[17]部分フィルタを判断するための前記手段が、非対称部分フィルタを判断するための手段を備え、
前記非対称部分フィルタは、前記非対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに非対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、[12]に記載のデバイス。
[18]部分フィルタを判断するための前記手段が、対称部分フィルタを判断するための手段を備え、
前記対称部分フィルタは、前記対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、[12]に記載のデバイス。
[19]前記複数のフィルタ係数を再正規化するための前記手段が、第1の再正規化アルゴリズムまたは第2の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化するための手段を備え、
前記第1の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第1の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第2の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第1の和を前記複数の部分フィルタ係数の前記第2の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第2の再正規化アルゴリズムは、ビデオデータがフィルタ処理されるために利用可能にならない前記完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも1つのうちの1つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記1つまたは複数に加算することを備える、[12]に記載のデバイス。
[20]利用可能でない前記ビデオデータの第2の部分のピクセル値を交換するように前記ビデオデータの前記第1の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行するための手段をさらに備え、
前記再正規化された部分フィルタを適用するための前記手段が、前記ミラーリングされたピクセル値のうちの少なくとも1つをフィルタ処理するために、前記再正規化された部分フィルタを適用するための手段を備える、[12]に記載のデバイス。
[21]ビデオデータをコーディングするためのデバイスであって、
前記ビデオデータの第1の部分を前記ビデオデータの第2の部分から分離する、前記ビデオデータの前記第1の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの少なくとも1つを判断することと、前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも1つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも1つを含まない、部分フィルタを判断することと、前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、前記ビデオデータのフィルタ処理された第1の部分を生成するために、前記ビデオデータの前記第1の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
を行うように構成された1つまたは複数のプロセッサ
を備えるデバイス。
[22]前記1つまたは複数のプロセッサが、前記フィルタのタイプとサイズと形状とのうちの1つまたは複数を選択するようにさらに構成された、[21]に記載のデバイス。
[23]前記選択されたフィルタが、デブロッキング(DB)フィルタと、サンプル適応オフセット(SAO)フィルタと、適応ループフィルタ(ALF)とのうちの1つを備える、[21]に記載のデバイス。
[24]前記部分が最大コーディングユニット(LCU)を備え、
前記1つまたは複数のプロセッサが、前記LCUをフィルタ処理するためにスライスまたはフレームレベルではなく前記LCUのレベルにおいて1つまたは複数の部分フィルタを適用するようにさらに構成された、[21]に記載のデバイス。
[25]前記1つまたは複数のプロセッサが、1つまたは複数の基準に基づいて前記1つまたは複数の部分フィルタを適応的に適用するようにさらに構成された、[21]に記載のデバイス。
[26]前記1つまたは複数のプロセッサが、非対称部分フィルタを判断するようにさらに構成され、
前記非対称部分フィルタは、前記非対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに非対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、[21]に記載のデバイス。
[27]前記1つまたは複数のプロセッサが、対称部分フィルタを判断するようにさらに構成され、
前記対称部分フィルタは、前記対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、[21]に記載のデバイス。
[28]前記1つまたは複数のプロセッサが、第1の再正規化アルゴリズムまたは第2の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化するようにさらに構成され、
前記第1の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第1の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第2の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第1の和を前記複数の部分フィルタ係数の前記第2の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第2の再正規化アルゴリズムは、ビデオデータがフィルタ処理されるために利用可能にならない前記完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも1つのうちの1つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記1つまたは複数に加算することを備える、[21]に記載のデバイス。
[29]前記1つまたは複数のプロセッサが、利用可能でない前記ビデオデータの第2の部分のピクセル値を交換するように前記ビデオデータの前記第1の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行することと、前記ミラーリングされたピクセル値のうちの少なくとも1つをフィルタ処理するために、前記再正規化された部分フィルタを適用することとを行うようにさらに構成された、[21]に記載のデバイス。
[30]前記デバイスがビデオエンコーダを備え、
前記1つまたは複数のプロセッサが、符号化ビデオデータを生成するために前記ビデオエンコーダを用いて前記ビデオデータを符号化することと、前記ビデオデータを符号化するときに参照データとして使用するための再構成ビデオデータを生成するために、前記符号化ビデオデータを復号することとを行うようにさらに構成された、[21]に記載のデバイス。
[31]前記デバイスがビデオデコーダを備える、[21]に記載のデバイス。
[32]実行されたとき、ビデオコーディングデバイスの1つまたは複数のプロセッサに、
前記ビデオデータの第1の部分を前記ビデオデータの第2の部分から分離する、前記ビデオデータの前記第1の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、
前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの少なくとも1つを判断することと、
前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも1つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、前記ビデオデータがフィルタ処理されるために利用可能にならない前記複数のフィルタ係数のうちの前記少なくとも1つを含まない、部分フィルタを判断することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、
前記ビデオデータのフィルタ処理された第1の部分を生成するために、前記ビデオデータの前記第1の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
を行わせる、記憶された命令を備える非一時的コンピュータ可読記憶媒体。
[33]実行されたとき、前記1つまたは複数のプロセッサに前記フィルタを選択させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに前記フィルタのタイプとサイズと形状とのうちの1つまたは複数を選択させる命令を備える、[31]に記載の非一時的コンピュータ可読記憶媒体。
[34]前記フィルタが、デブロッキング(DB)フィルタと、サンプル適応オフセット(SAO)フィルタと、適応ループフィルタ(ALF)とのうちの1つを備える、[32]に記載の非一時的コンピュータ可読記憶媒体。
[35]前記部分が最大コーディングユニット(LCU)を備え、
実行されたとき、前記1つまたは複数のプロセッサに1つまたは複数の部分フィルタを適用させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記LCUをフィルタ処理するためにスライスまたはフレームレベルではなく前記LCUのレベルにおいて前記1つまたは複数の部分フィルタを適用させる命令を備える、[32]に記載の非一時的コンピュータ可読記憶媒体。
[36]実行されたとき、前記1つまたは複数のプロセッサに1つまたは複数の部分フィルタを適用させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、1つまたは複数の基準に基づいて前記1つまたは複数の部分フィルタを適応的に適用させる命令を備える、[32]に記載の非一時的コンピュータ可読記憶媒体。
[37]実行されたとき、前記1つまたは複数のプロセッサに部分フィルタを判断させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに非対称部分フィルタを判断させる命令を備え、
前記非対称部分フィルタは、前記非対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに非対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、[32]に記載の非一時的コンピュータ可読記憶媒体。
[38]実行されたとき、前記1つまたは複数のプロセッサに部分フィルタを判断させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに対称部分フィルタを判断させる命令を備え、
前記対称部分フィルタは、前記対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに対称的に構成された、前記ビデオデータがフィルタ処理されるために利用可能になる前記完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、[32]に記載の非一時的コンピュータ可読記憶媒体。
[39]実行されたとき、前記1つまたは複数のプロセッサに前記複数のフィルタ係数を再正規化させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、第1の再正規化アルゴリズムまたは第2の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化させる命令を備え、
前記第1の再正規化アルゴリズムが、
前記複数の完全フィルタ係数の第1の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記複数の部分フィルタ係数の第2の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第1の和を前記複数の部分フィルタ係数の前記第2の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
を備え、
前記第2の再正規化アルゴリズムは、ビデオデータがフィルタ処理されるために利用可能にならない前記完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも1つのうちの1つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記1つまたは複数に加算することを備える、[32]に記載の非一時的コンピュータ可読記憶媒体。
[40]実行されたとき、前記1つまたは複数のプロセッサに、利用可能でない前記ビデオデータの第2の部分のピクセル値を交換するように前記ビデオデータの前記第1の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行させる命令をさらに備え、
実行されたとき、前記1つまたは複数のプロセッサに、前記再正規化された部分フィルタを適用させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記ミラーリングされたピクセル値のうちの少なくとも1つをフィルタ処理するために、前記再正規化された部分フィルタを適用させる命令を備える、[32]に記載の非一時的コンピュータ可読記憶媒体。

Claims (40)

  1. ビデオデータを符号化する方法であって、
    前記ビデオデータの第1の部分を前記ビデオデータの第2の部分から分離する、前記ビデオデータの前記第1の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、
    フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも1つを判断することと、
    フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つを含まない、部分フィルタを判断することと、
    前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、
    前記ビデオデータのフィルタ処理された第1の部分を生成するために、前記ビデオデータの前記第1の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
    を備え
    前記複数のフィルタ係数を再正規化することが、第1の再正規化アルゴリズムまたは第2の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化することを備え、
    前記第1の再正規化アルゴリズムが、
    前記複数の完全フィルタ係数の第1の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記複数の部分フィルタ係数の第2の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第1の和を前記複数の部分フィルタ係数の前記第2の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
    を備え、
    前記第2の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも1つのうちの1つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記1つまたは複数に加算することを備える、方法。
  2. ビデオデータを復号する方法であって、
    前記ビデオデータの第1の部分を前記ビデオデータの第2の部分から分離する、前記ビデオデータの前記第1の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、
    フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも1つを判断することと、
    フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つを含まない、部分フィルタを判断することと、
    前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、
    前記ビデオデータのフィルタ処理された第1の部分を生成するために、前記ビデオデータの前記第1の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
    を備え
    前記複数のフィルタ係数を再正規化することが、第1の再正規化アルゴリズムまたは第2の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化することを備え、
    前記第1の再正規化アルゴリズムが、
    前記複数の完全フィルタ係数の第1の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記複数の部分フィルタ係数の第2の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第1の和を前記複数の部分フィルタ係数の前記第2の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
    を備え、
    前記第2の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも1つのうちの1つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記1つまたは複数に加算することを備える、方法。
  3. 前記フィルタを選択することが、前記フィルタのタイプとサイズと形状とのうちの1つまたは複数を選択することを備える、請求項1又は2に記載の方法。
  4. 前記選択されたフィルタが、デブロッキング(DB)フィルタと、サンプル適応オフセット(SAO)フィルタと、適応ループフィルタ(ALF)とのうちの1つを備える、請求項1又は2に記載の方法。
  5. 前記第1の部分が最大コーディングユニット(LCU)を備え、
    前記ビデオデータの前記第1の部分をフィルタ処理するために1つまたは複数の部分フィルタを適用することが、前記LCUをフィルタ処理するためにスライスまたはフレームレベルではなく前記LCUのレベルにおいて前記1つまたは複数の部分フィルタを適用することを備える、請求項1又は2に記載の方法。
  6. 1つまたは複数の部分フィルタを適用することが、1つまたは複数の基準に基づいて前記1つまたは複数の部分フィルタを適応的に適用することを備える、請求項1又は2に記載の方法。
  7. 部分フィルタを判断することが、非対称部分フィルタを判断することを備え、
    前記非対称部分フィルタは、前記非対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに非対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、請求項1又は2に記載の方法。
  8. 部分フィルタを判断することが、対称部分フィルタを判断することを備え、
    前記対称部分フィルタは、前記対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、請求項1又は2に記載の方法。
  9. 利用可能でない前記ビデオデータの第2の部分のピクセル値を交換するように前記ビデオデータの前記第1の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行することをさらに備え、
    前記再正規化された部分フィルタを適用することが、前記ミラーリングされたピクセル値のうちの少なくとも1つをフィルタ処理するために、前記再正規化された部分フィルタを適用することを備える、請求項1又は2に記載の方法。
  10. 前記方法が、
    符号化ビデオデータを生成するためにビデオエンコーダを用いて前記ビデオデータを符号化することと、
    前記ビデオデータを符号化するときに参照データとして使用するための再構成ビデオデータを生成するために、前記ビデオエンコーダを用いて前記符号化ビデオデータを復号することと
    をさらに備える、請求項1に記載の方法。
  11. 変換係数を生成するために、前記ビデオデータの前記第1の部分をエントロピー復号するためにエントロピー復号を実行することと、
    前記変換係数を逆量子化し、逆量子化された変換係数を生成するために、逆量子化を実行することと、
    前記逆量子化された変換係数を周波数領域から空間領域に変換し、残差ビデオデータを生成するために、逆変換を実行することと、
    前記ビデオデータの前記第1の部分の再構成されたバージョンを生成するために、前記残差ビデオデータから前記ビデオデータを再構成することと
    をさらに備える、請求項2に記載の方法。
  12. ビデオデータを符号化するためのデバイスであって、
    前記ビデオデータの第1の部分を前記ビデオデータの第2の部分から分離する、前記ビデオデータの前記第1の部分の境界の近くで適用すべきフィルタを選択するための手段であって、前記フィルタが複数のフィルタ係数を備える、選択するための手段と、
    フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも1つを判断するための手段と、
    フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つの前記判断に基づいて、部分フィルタを判断するための手段であって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つを含まない、部分フィルタを判断するための手段と、
    前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化するための手段と、
    前記ビデオデータのフィルタ処理された第1の部分を生成するために、前記ビデオデータの前記第1の部分の前記境界の近くで前記再正規化された部分フィルタを適用するための手段と
    を備え
    前記複数のフィルタ係数を再正規化するための前記手段が、第1の再正規化アルゴリズムまたは第2の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化するための手段を備え、
    前記第1の再正規化アルゴリズムが、
    前記複数の完全フィルタ係数の第1の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記複数の部分フィルタ係数の第2の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第1の和を前記複数の部分フィルタ係数の前記第2の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
    を備え、
    前記第2の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも1つのうちの1つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記1つまたは複数に加算することを備える、デバイス。
  13. ビデオデータを復号するためのデバイスであって、
    前記ビデオデータの第1の部分を前記ビデオデータの第2の部分から分離する、前記ビデオデータの前記第1の部分の境界の近くで適用すべきフィルタを選択するための手段であって、前記フィルタが複数のフィルタ係数を備える、選択するための手段と、
    フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも1つを判断するための手段と、
    フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つの前記判断に基づいて、部分フィルタを判断するための手段であって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つを含まない、部分フィルタを判断するための手段と、
    前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化するための手段と、
    前記ビデオデータのフィルタ処理された第1の部分を生成するために、前記ビデオデータの前記第1の部分の前記境界の近くで前記再正規化された部分フィルタを適用するための手段と
    を備え
    前記複数のフィルタ係数を再正規化するための前記手段が、第1の再正規化アルゴリズムまたは第2の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化するための手段を備え、
    前記第1の再正規化アルゴリズムが、
    前記複数の完全フィルタ係数の第1の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記複数の部分フィルタ係数の第2の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第1の和を前記複数の部分フィルタ係数の前記第2の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
    を備え、
    前記第2の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも1つのうちの1つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記1つまたは複数に加算することを備える、デバイス。
  14. 前記フィルタを選択するための前記手段が、前記フィルタのタイプとサイズと形状とのうちの1つまたは複数を選択するための手段を備える、請求項12又は13に記載のデバイス。
  15. 前記選択されたフィルタが、デブロッキング(DB)フィルタと、サンプル適応オフセット(SAO)フィルタと、適応ループフィルタ(ALF)とのうちの1つを備える、請求項12又は13に記載のデバイス。
  16. 前記第1の部分が最大コーディングユニット(LCU)を備え、
    前記ビデオデータの前記第1の部分をフィルタ処理するために1つまたは複数の部分フィルタを適用するための前記手段が、前記LCUをフィルタ処理するためにスライスまたはフレームレベルではなく前記LCUのレベルにおいて前記1つまたは複数の部分フィルタを適用するための手段を備える、請求項12又は13に記載のデバイス。
  17. 1つまたは複数の部分フィルタを適用するための前記手段が、1つまたは複数の基準に基づいて前記1つまたは複数の部分フィルタを適応的に適用するための手段を備える、請求項12又は13に記載のデバイス。
  18. 部分フィルタを判断するための前記手段が、非対称部分フィルタを判断するための手段を備え、
    前記非対称部分フィルタは、前記非対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに非対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、請求項12又は13に記載のデバイス。
  19. 部分フィルタを判断するための前記手段が、対称部分フィルタを判断するための手段を備え、
    前記対称部分フィルタは、前記対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、請求項12又は13に記載のデバイス。
  20. 利用可能でない前記ビデオデータの第2の部分のピクセル値を交換するように前記ビデオデータの前記第1の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行するための手段をさらに備え、
    前記再正規化された部分フィルタを適用するための前記手段が、前記ミラーリングされたピクセル値のうちの少なくとも1つをフィルタ処理するために、前記再正規化された部分フィルタを適用するための手段を備える、請求項12又は13に記載のデバイス。
  21. ビデオデータを符号化するためのデバイスであって、
    前記ビデオデータの第1の部分を前記ビデオデータの第2の部分から分離する、前記ビデオデータの前記第1の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも1つを判断することと、フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つを含まない、部分フィルタを判断することと、前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、前記ビデオデータのフィルタ処理された第1の部分を生成するために、前記ビデオデータの前記第1の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
    を行うように構成された1つまたは複数のプロセッサ
    を備え
    前記複数のフィルタ係数を再正規化することが、第1の再正規化アルゴリズムまたは第2の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化することを備え、
    前記第1の再正規化アルゴリズムが、
    前記複数の完全フィルタ係数の第1の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記複数の部分フィルタ係数の第2の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第1の和を前記複数の部分フィルタ係数の前記第2の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
    を備え、
    前記第2の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも1つのうちの1つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記1つまたは複数に加算することを備える、デバイス。
  22. ビデオデータを復号するためのデバイスであって、
    前記ビデオデータの第1の部分を前記ビデオデータの第2の部分から分離する、前記ビデオデータの前記第1の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも1つを判断することと、フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つを含まない、部分フィルタを判断することと、前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、前記ビデオデータのフィルタ処理された第1の部分を生成するために、前記ビデオデータの前記第1の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
    を行うように構成された1つまたは複数のプロセッサ
    を備え
    前記複数のフィルタ係数を再正規化することが、第1の再正規化アルゴリズムまたは第2の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化することを備え、
    前記第1の再正規化アルゴリズムが、
    前記複数の完全フィルタ係数の第1の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記複数の部分フィルタ係数の第2の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第1の和を前記複数の部分フィルタ係数の前記第2の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
    を備え、
    前記第2の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも1つのうちの1つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記1つまたは複数に加算することを備える、デバイス。
  23. 前記1つまたは複数のプロセッサが、前記フィルタのタイプとサイズと形状とのうちの1つまたは複数を選択するようにさらに構成された、請求項21又は22に記載のデバイス。
  24. 前記選択されたフィルタが、デブロッキング(DB)フィルタと、サンプル適応オフセット(SAO)フィルタと、適応ループフィルタ(ALF)とのうちの1つを備える、請求項21又は22に記載のデバイス。
  25. 前記第1の部分が最大コーディングユニット(LCU)を備え、
    前記1つまたは複数のプロセッサが、前記LCUをフィルタ処理するためにスライスまたはフレームレベルではなく前記LCUのレベルにおいて1つまたは複数の部分フィルタを適用するようにさらに構成された、請求項21又は22に記載のデバイス。
  26. 前記1つまたは複数のプロセッサが、1つまたは複数の基準に基づいて前記1つまたは複数の部分フィルタを適応的に適用するようにさらに構成された、請求項21又は22に記載のデバイス。
  27. 前記1つまたは複数のプロセッサが、非対称部分フィルタを判断するようにさらに構成され、
    前記非対称部分フィルタは、前記非対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに非対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、請求項21又は22に記載のデバイス。
  28. 前記1つまたは複数のプロセッサが、対称部分フィルタを判断するようにさらに構成され、
    前記対称部分フィルタは、前記対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、請求項21又は22に記載のデバイス。
  29. 前記1つまたは複数のプロセッサが、利用可能でない前記ビデオデータの第2の部分のピクセル値を交換するように前記ビデオデータの前記第1の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行することと、前記ミラーリングされたピクセル値のうちの少なくとも1つをフィルタ処理するために、前記再正規化された部分フィルタを適用することとを行うようにさらに構成された、請求項21又は22に記載のデバイス。
  30. 前記デバイスがビデオエンコーダを備え、
    前記1つまたは複数のプロセッサが、符号化ビデオデータを生成するために前記ビデオエンコーダを用いて前記ビデオデータを符号化することと、前記ビデオデータを符号化するときに参照データとして使用するための再構成ビデオデータを生成するために、前記符号化ビデオデータを復号することとを行うようにさらに構成された、請求項21に記載のデバイス。
  31. 前記デバイスがビデオデコーダを備える、請求項22に記載のデバイス。
  32. 実行されたとき、ビデオ符号化デバイスの1つまたは複数のプロセッサに、
    デオデータの第1の部分を前記ビデオデータの第2の部分から分離する、前記ビデオデータの前記第1の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、
    フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも1つを判断することと、
    フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つを含まない、部分フィルタを判断することと、
    前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、
    前記ビデオデータのフィルタ処理された第1の部分を生成するために、前記ビデオデータの前記第1の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
    を行わせる、記憶された命令を備え
    実行されたとき、前記1つまたは複数のプロセッサに前記複数のフィルタ係数を再正規化させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、第1の再正規化アルゴリズムまたは第2の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化させる命令を備え、
    前記第1の再正規化アルゴリズムが、
    前記複数の完全フィルタ係数の第1の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記複数の部分フィルタ係数の第2の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第1の和を前記複数の部分フィルタ係数の前記第2の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
    を備え、
    前記第2の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも1つのうちの1つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記1つまたは複数に加算することを備える、非一時的コンピュータ可読記憶媒体。
  33. 実行されたとき、ビデオ復号デバイスの1つまたは複数のプロセッサに、
    デオデータの第1の部分を前記ビデオデータの第2の部分から分離する、前記ビデオデータの前記第1の部分の境界の近くで適用すべきフィルタを選択することであって、前記フィルタが複数のフィルタ係数を備える、選択することと、
    フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの少なくとも1つを判断することと、
    フィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つの前記判断に基づいて、部分フィルタを判断することであって、前記部分フィルタは、別のフィルタ処理で必要であるためにフィルタ処理のために利用可能でない、ビデオデータに対応する前記複数のフィルタ係数のうちの前記少なくとも1つを含まない、部分フィルタを判断することと、
    前記部分フィルタ内に含まれる前記複数のフィルタ係数を再正規化することと、
    前記ビデオデータのフィルタ処理された第1の部分を生成するために、前記ビデオデータの前記第1の部分の前記境界の近くで前記再正規化された部分フィルタを適用することと
    を行わせる、記憶された命令を備え
    実行されたとき、前記1つまたは複数のプロセッサに前記複数のフィルタ係数を再正規化させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、第1の再正規化アルゴリズムまたは第2の再正規化アルゴリズムのいずれかに従って前記複数のフィルタ係数を再正規化させる命令を備え、
    前記第1の再正規化アルゴリズムが、
    前記複数の完全フィルタ係数の第1の和を計算するために、前記選択された完全フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記複数の部分フィルタ係数の第2の和を計算するために、前記部分フィルタ内に含まれる前記複数のフィルタ係数を加算することと、
    前記部分フィルタ内に含まれる前記複数のフィルタ係数の各々に、前記複数の完全フィルタ係数の前記第1の和を前記複数の部分フィルタ係数の前記第2の和で除算した結果を乗算することによって、前記部分フィルタのための前記複数のフィルタ係数を計算することと
    を備え、
    前記第2の再正規化アルゴリズムは、フィルタ処理のために利用可能でない、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの前記少なくとも1つのうちの1つまたは複数を、前記部分フィルタの前記複数のフィルタ係数のうちの前記1つまたは複数に加算することを備える、非一時的コンピュータ可読記憶媒体。
  34. 実行されたとき、前記1つまたは複数のプロセッサに前記フィルタを選択させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに前記フィルタのタイプとサイズと形状とのうちの1つまたは複数を選択させる命令を備える、請求項32又は33に記載の非一時的コンピュータ可読記憶媒体。
  35. 前記フィルタが、デブロッキング(DB)フィルタと、サンプル適応オフセット(SAO)フィルタと、適応ループフィルタ(ALF)とのうちの1つを備える、請求項32又は33に記載の非一時的コンピュータ可読記憶媒体。
  36. 前記第1の部分が最大コーディングユニット(LCU)を備え、
    実行されたとき、前記1つまたは複数のプロセッサに1つまたは複数の部分フィルタを適用させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記LCUをフィルタ処理するためにスライスまたはフレームレベルではなく前記LCUのレベルにおいて前記1つまたは複数の部分フィルタを適用させる命令を備える、請求項32又は33に記載の非一時的コンピュータ可読記憶媒体。
  37. 実行されたとき、前記1つまたは複数のプロセッサに1つまたは複数の部分フィルタを適用させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、1つまたは複数の基準に基づいて前記1つまたは複数の部分フィルタを適応的に適用させる命令を備える、請求項32又は33に記載の非一時的コンピュータ可読記憶媒体。
  38. 実行されたとき、前記1つまたは複数のプロセッサに部分フィルタを判断させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに非対称部分フィルタを判断させる命令を備え、
    前記非対称部分フィルタは、前記非対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに非対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、請求項32又は33に記載の非一時的コンピュータ可読記憶媒体。
  39. 実行されたとき、前記1つまたは複数のプロセッサに部分フィルタを判断させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに対称部分フィルタを判断させる命令を備え、
    前記対称部分フィルタは、前記対称部分フィルタのx軸とy軸とのうちの1つまたは複数の周りに対称的に構成された、フィルタ処理のために利用可能な、ビデオデータに対応する完全フィルタの前記複数のフィルタ係数のうちの1つまたは複数を含む、請求項32又は33に記載の非一時的コンピュータ可読記憶媒体。
  40. 実行されたとき、前記1つまたは複数のプロセッサに、利用可能でない前記ビデオデータの第2の部分のピクセル値を交換するように前記ビデオデータの前記第1の部分の前記境界に位置するピクセル値をミラーリングするためにミラーパディングを実行させる命令をさらに備え、
    実行されたとき、前記1つまたは複数のプロセッサに、前記再正規化された部分フィルタを適用させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、前記ミラーリングされたピクセル値のうちの少なくとも1つをフィルタ処理するために、前記再正規化された部分フィルタを適用させる命令を備える、請求項32又は33に記載の非一時的コンピュータ可読記憶媒体。
JP2014526173A 2011-08-18 2012-08-15 パーティションベースフィルタを適用するビデオコーディングのための方法およびデバイス、および記憶媒体 Expired - Fee Related JP6022570B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201161525128P 2011-08-18 2011-08-18
US61/525,128 2011-08-18
US201161525606P 2011-08-19 2011-08-19
US61/525,606 2011-08-19
US201161531528P 2011-09-06 2011-09-06
US61/531,528 2011-09-06
US13/585,657 2012-08-14
US13/585,657 US9641866B2 (en) 2011-08-18 2012-08-14 Applying partition-based filters
PCT/US2012/050960 WO2013048630A1 (en) 2011-08-18 2012-08-15 Method and device for video coding applying parition - based filters, and storage medium

Publications (2)

Publication Number Publication Date
JP2014524708A JP2014524708A (ja) 2014-09-22
JP6022570B2 true JP6022570B2 (ja) 2016-11-09

Family

ID=47712650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014526173A Expired - Fee Related JP6022570B2 (ja) 2011-08-18 2012-08-15 パーティションベースフィルタを適用するビデオコーディングのための方法およびデバイス、および記憶媒体

Country Status (6)

Country Link
US (1) US9641866B2 (ja)
EP (1) EP2745516B1 (ja)
JP (1) JP6022570B2 (ja)
KR (1) KR101565266B1 (ja)
CN (1) CN103748875B (ja)
WO (1) WO2013048630A1 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101215152B1 (ko) 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
CN103765899B (zh) * 2011-06-15 2018-03-06 韩国电子通信研究院 用于编码和解码可伸缩视频的方法以及使用其的设备
JP2014197723A (ja) * 2012-01-06 2014-10-16 ソニー株式会社 画像処理装置および方法
US20130208808A1 (en) * 2012-02-08 2013-08-15 Panasonic Corporation Image coding method and image decoding method
US8983218B2 (en) 2012-04-11 2015-03-17 Texas Instruments Incorporated Virtual boundary processing simplification for adaptive loop filtering (ALF) in video coding
US9635360B2 (en) * 2012-08-01 2017-04-25 Mediatek Inc. Method and apparatus for video processing incorporating deblocking and sample adaptive offset
CN104769950B (zh) 2012-09-28 2018-11-13 Vid拓展公司 用于视频编码中的色度信号增强的交叉平面滤波
WO2014078068A1 (en) * 2012-11-13 2014-05-22 Intel Corporation Content adaptive transform coding for next generation video
US9596461B2 (en) 2012-11-26 2017-03-14 Qualcomm Incorporated Loop filtering across constrained intra block boundaries in video coding
GB2509707B (en) * 2013-01-04 2016-03-16 Canon Kk A method, device, computer program, and information storage means for encoding or decoding a video sequence
US20140254659A1 (en) * 2013-03-11 2014-09-11 Mediatek Inc. Video coding method using at least evaluated visual quality and related video coding apparatus
US9111336B2 (en) 2013-09-19 2015-08-18 At&T Intellectual Property I, Lp Method and apparatus for image filtering
US9237359B2 (en) 2013-09-25 2016-01-12 Qualcomm Incorporated Filtering video data in video coding
US10404988B2 (en) * 2014-03-16 2019-09-03 Vid Scale, Inc. Method and apparatus for the signaling of lossless video coding
US10104397B2 (en) * 2014-05-28 2018-10-16 Mediatek Inc. Video processing apparatus for storing partial reconstructed pixel data in storage device for use in intra prediction and related video processing method
US10291813B2 (en) 2015-04-23 2019-05-14 Google Llc Sheet generator for image processor
CN113473120A (zh) 2015-06-11 2021-10-01 英迪股份有限公司 使用自适应去块滤波编码和解码图像的方法及其装置
US10448015B2 (en) 2015-06-16 2019-10-15 Lg Electronics Inc. Method and device for performing adaptive filtering according to block boundary
CN113810691A (zh) * 2015-07-08 2021-12-17 交互数字麦迪逊专利控股公司 用于使用交叉平面滤波的增强色度编码的方法和装置
TW201842782A (zh) 2017-04-06 2018-12-01 美商松下電器(美國)知識產權公司 編碼裝置、解碼裝置、編碼方法及解碼方法
JP6902604B2 (ja) 2017-04-06 2021-07-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化装置及び復号装置
JP6919424B2 (ja) * 2017-08-31 2021-08-18 沖電気工業株式会社 映像符号化装置、映像復号装置、及び映像処理システム
KR102606778B1 (ko) * 2018-06-28 2023-11-29 후아웨이 테크놀러지 컴퍼니 리미티드 모션 벡터 리파인먼트 및 모션 보상을 위한 메모리 액세스 윈도우 및 패딩
US11765349B2 (en) 2018-08-31 2023-09-19 Mediatek Inc. Method and apparatus of in-loop filtering for virtual boundaries
US11094088B2 (en) * 2018-08-31 2021-08-17 Mediatek Inc. Method and apparatus of in-loop filtering for virtual boundaries in video coding
US11743458B2 (en) * 2018-10-23 2023-08-29 Hfi Innovation Inc. Method and apparatus for reduction of in-loop filter buffer
CN109600611B (zh) * 2018-11-09 2021-07-13 北京达佳互联信息技术有限公司 环路滤波方法、环路滤波装置、电子设备和可读介质
GB2580173B (en) 2018-12-21 2022-07-27 Canon Kk A filter
US11044473B2 (en) * 2018-12-21 2021-06-22 Qualcomm Incorporated Adaptive loop filtering classification in video coding
KR20200078378A (ko) * 2018-12-21 2020-07-01 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
EP3895423A4 (en) 2018-12-23 2022-06-22 Huawei Technologies Co., Ltd. ENCODER, DECODER AND RELATED METHODS USING AN ADAPTIVE LOOP FILTER
US11252434B2 (en) * 2018-12-31 2022-02-15 Tencent America LLC Method for wrap-around padding for omnidirectional media coding
KR102140045B1 (ko) * 2019-01-10 2020-07-31 세종대학교 산학협력단 미러 패딩을 이용한 손 동작 인식 장치 및 그 방법
US11089335B2 (en) 2019-01-14 2021-08-10 Mediatek Inc. Method and apparatus of in-loop filtering for virtual boundaries
WO2020176087A1 (en) * 2019-02-27 2020-09-03 Google Llc Grayscale histogram generation
US11910024B2 (en) 2019-03-11 2024-02-20 Qualcomm Incorporated Boundary handling for adaptive loop filtering
US11159791B2 (en) * 2019-03-16 2021-10-26 Mediatek Inc. Method and apparatus for signaling adaptive loop filter parameters in video coding
WO2020249124A1 (en) * 2019-06-14 2020-12-17 Beijing Bytedance Network Technology Co., Ltd. Handling video unit boundaries and virtual boundaries based on color format
US20220417506A1 (en) * 2019-06-23 2022-12-29 Lg Electronics Inc. Deblocking filtering method and apparatus in video/image coding system
CN117478878A (zh) 2019-07-09 2024-01-30 北京字节跳动网络技术有限公司 用于自适应环路滤波的样点确定
JP7291845B2 (ja) 2019-07-11 2023-06-15 北京字節跳動網絡技術有限公司 適応ループフィルタリングにおけるサンプルパディング
WO2021008546A1 (en) 2019-07-15 2021-01-21 Beijing Bytedance Network Technology Co., Ltd. Accessing samples across video unit boundaries in adaptive loop filtering
WO2021025169A1 (en) 2019-08-08 2021-02-11 Panasonic Intellectual Property Corporation Of America System and method for video coding
WO2021025167A1 (en) * 2019-08-08 2021-02-11 Panasonic Intellectual Property Corporation Of America System and method for video coding
CN114503594B (zh) 2019-09-22 2024-04-05 北京字节跳动网络技术有限公司 自适应环路滤波中样点填充的选择性应用
EP4022910A4 (en) 2019-09-27 2022-11-16 Beijing Bytedance Network Technology Co., Ltd. ADAPTIVE LOOP FILTERING BETWEEN DIFFERENT VIDEO UNITS
EP4022917A4 (en) * 2019-10-02 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SYNTAX FOR SUBPICTURE SIGNALING IN A VIDEO BITSTREAM
WO2021068906A1 (en) 2019-10-10 2021-04-15 Beijing Bytedance Network Technology Co., Ltd. Padding process at unavailable sample locations in adaptive loop filtering
WO2021073630A1 (en) 2019-10-18 2021-04-22 Beijing Bytedance Network Technology Co., Ltd. Syntax constraints in parameter set signaling of subpictures
CN114982244A (zh) * 2019-11-18 2022-08-30 Lg电子株式会社 图像编码装置和方法
CN115104317A (zh) * 2019-12-12 2022-09-23 Lg电子株式会社 图像编码装置和用于控制环路滤波的方法
KR20220097997A (ko) * 2019-12-12 2022-07-08 엘지전자 주식회사 루프 필터링을 제어하는 영상 코딩 장치 및 방법
WO2021133236A1 (en) 2019-12-24 2021-07-01 Telefonaktiebolaget Lm Ericsson (Publ) Virtual boundary processing for adaptive loop filtering

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8045615B2 (en) 2005-05-25 2011-10-25 Qualcomm Incorporated Deblock filtering techniques for video coding according to multiple video standards
CA2614475A1 (en) 2005-07-29 2007-03-22 Samsung Electronics Co., Ltd. Deblocking filtering method considering intra-bl mode and multilayer video encoder/decoder using the same
US8804831B2 (en) 2008-04-10 2014-08-12 Qualcomm Incorporated Offsets at sub-pixel resolution
EP2157799A1 (en) 2008-08-18 2010-02-24 Panasonic Corporation Interpolation filter with local adaptation based on block edges in the reference frame
US8611435B2 (en) 2008-12-22 2013-12-17 Qualcomm, Incorporated Combined scheme for interpolation filtering, in-loop filtering and post-loop filtering in video coding
EP2265026A1 (en) 2009-06-16 2010-12-22 Canon Kabushiki Kaisha Method and device for deblocking filtering of SVC type video streams during decoding
US20100329361A1 (en) 2009-06-30 2010-12-30 Samsung Electronics Co., Ltd. Apparatus and method for in-loop filtering of image data and apparatus for encoding/decoding image data using the same
CN102098501B (zh) 2009-12-09 2013-05-08 中兴通讯股份有限公司 一种视频图像去块效应的方法和装置
KR101175421B1 (ko) * 2009-12-14 2012-08-20 삼성메디슨 주식회사 적응형 클러터 필터링 방법 및 그를 위한 초음파 시스템
JP2011147050A (ja) 2010-01-18 2011-07-28 Sony Corp 画像処理装置および方法
WO2011125445A1 (ja) 2010-03-31 2011-10-13 シャープ株式会社 画像フィルタ装置、符号化装置、および、復号装置
CN106454356B (zh) * 2010-06-17 2019-11-08 夏普株式会社 解码装置及编码装置
US20130156111A1 (en) 2010-07-09 2013-06-20 Samsung Electronics Co., Ltd. Method and apparatus for encoding video using adjustable loop filtering, and method and apparatus for decoding video using adjustable loop filtering
US9525884B2 (en) * 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding
WO2012152174A1 (en) 2011-05-10 2012-11-15 Mediatek Inc. Method and apparatus for reduction of in-loop filter buffer
JP2013118605A (ja) 2011-06-28 2013-06-13 Sony Corp 画像処理装置と画像処理方法

Also Published As

Publication number Publication date
KR101565266B1 (ko) 2015-11-02
CN103748875B (zh) 2016-12-07
JP2014524708A (ja) 2014-09-22
US9641866B2 (en) 2017-05-02
EP2745516A1 (en) 2014-06-25
KR20140056342A (ko) 2014-05-09
CN103748875A (zh) 2014-04-23
US20130044809A1 (en) 2013-02-21
EP2745516B1 (en) 2016-06-01
WO2013048630A1 (en) 2013-04-04

Similar Documents

Publication Publication Date Title
JP6022570B2 (ja) パーティションベースフィルタを適用するビデオコーディングのための方法およびデバイス、および記憶媒体
US20220337825A1 (en) Predicting filter coefficients from fixed filters for video coding
CN109691102B (zh) 跨分量滤波器
US10382781B2 (en) Interpolation filters for intra prediction in video coding
US10477232B2 (en) Search region determination for intra block copy in video coding
US9313494B2 (en) Parallelization friendly merge candidates for video coding
US9838718B2 (en) Secondary boundary filtering for video coding
US9462298B2 (en) Loop filtering around slice boundaries or tile boundaries in video coding
US9363510B2 (en) Scan-based sliding window in context derivation for transform coefficient coding
US20200204801A1 (en) Adaptive loop filtering classification in video coding
US20150071357A1 (en) Partial intra block copying for video coding
US20130177070A1 (en) Significance map support for parallel transform coefficient processing in video coding
KR20160070822A (ko) 서브-계층 기반 계층간 예측에 대한 의존성들을 별도로 정의하기 위한 시스템들 및 방법들

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160315

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160809

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160818

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161005

R150 Certificate of patent or registration of utility model

Ref document number: 6022570

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees