JP2015504294A - ビデオ・コーディングのための色データのデブロッキング - Google Patents

ビデオ・コーディングのための色データのデブロッキング Download PDF

Info

Publication number
JP2015504294A
JP2015504294A JP2014553471A JP2014553471A JP2015504294A JP 2015504294 A JP2015504294 A JP 2015504294A JP 2014553471 A JP2014553471 A JP 2014553471A JP 2014553471 A JP2014553471 A JP 2014553471A JP 2015504294 A JP2015504294 A JP 2015504294A
Authority
JP
Japan
Prior art keywords
color
sample values
filter
video
deblocking
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014553471A
Other languages
English (en)
Other versions
JP6133330B2 (ja
JP2015504294A5 (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 JP2015504294A publication Critical patent/JP2015504294A/ja
Publication of JP2015504294A5 publication Critical patent/JP2015504294A5/ja
Application granted granted Critical
Publication of JP6133330B2 publication Critical patent/JP6133330B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/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/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/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Abstract

ビデオ・コーディング・デバイスがサンプル値のアレイを取得するように構成されている。サンプル値は、4:2:0、4:2:2、または4:4:4色フォーマットにしたがってフォーマットされうる。ビデオ・コーディング・デバイスは、第1のフィルタを、アレイ内の定義済み水平エッジに関連付けられた色サンプル値の行に適用するかどうかを決定する。ビデオ・コーディング・デバイスは、第2のフィルタを、定義済み垂直エッジに関連付けられた色サンプル値の列に適用するかどうかを決定する。水平および垂直エッジは、デブロッキング格子にしたがっていくつかの色サンプルで分けられうる。

Description

本出願は、2012年1月19日に出願された米国仮特許第61/588,554号および2012年9月25日に出願された米国仮特許第61/705,525号の利益を主張するものであり、それぞれの内容全体は参照により本明細書に組み込まれる。
本開示は、ビデオ・コーディングに関し、さらに詳しくは、ビデオ・データを再構築するための技術に関する。
デジタル・ビデオ機能は、デジタル・テレビ、デジタル・ダイレクト・ブロードキャスト・システム、無線ブロードキャスト・システム、携帯情報端末(PDA)、ラップトップ・コンピュータまたはデスクトップ・コンピュータ、タブレット・コンピュータ、イーブック・リーダー、デジタル・カメラ、デジタル記録デバイス、デジタル・メディア・プレーヤ、ビデオ・ゲーム・デバイス、ビデオ・ゲーム・コンソール、セル電話または衛星無線電話、いわゆる「スマート・フォン」、ビデオ・テレビ会議デバイス、ビデオ・ストリーミング・デバイス等を含む広範囲のデバイスに組み込まれうる。デジタル・ビデオ・デバイスは、例えば、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、パート10、アドバンスト・ビデオ・コーディング(AVC)、現在開発中の高効率ビデオ・コーディング(HEVC)規格、およびこのような規格の拡張のようなビデオ圧縮技術を実施する。H.264規格は、2005年3月付の、ITU−Tスタディ・グループによる、一般的なオーディオビジュアル・サービスのためのITU−TリコメンデーションH.264、アドバンスト・ビデオ・コーディングに記載されている。これは、本明細書では、H.264規格またはH.264仕様、またはH.264/ACD規格または仕様と称されうる。ジョイント・ビデオ・チーム(JVT)は、H.264/MPEG−4 AVCに対する拡張に取り組み続けている。ビデオ・デバイスは、そのようなビデオ圧縮技術を実施することで、デジタル・ビデオ情報をより効率的に送信、受信、エンコード、デコード、および/または格納できる。
高効率ビデオ・コーディング(HEVC)テスト・モデル(HM)では、コーディング・ユニット(CU)と呼ばれるビデオ・データのブロックを処理する。最大コーディング・ユニット(LCU)は4つのサブCUに分割でき、このそれぞれはさらに4つのサブCUに分割できる。そのため、LCUとサブCUは通常、単にCUと呼ばれる。したがって、LCUとサブCUの分割は四分木データ構造(quadtree data structure)で信号が送られる。こうして、LCUの分割されていないCUは、四分木データ構造のリーフ・ノードに対応する。
一般に、本開示は、ビデオ・データをデブロッキング(deblocking)するための技術を記載する。特に、本開示は、4:2:2または4:4:4色フォーマット(chroma format)にしたがってフォーマットされたビデオ・データをフィルタリングするために有用な技術を記載する。
一例では、再構築されたビデオ・データをフィルタリングする方法は、サンプル値のアレイを取得すること、ここにおいて、このアレイが4:2:2色フォーマットにしたがってフォーマットされる、と、第1のフィルタをアレイ内の定義された水平エッジに関連付けられた色サンプル値の行に適用するかどうかを決定すること、ここにおいて、定義された水平エッジは16の色サンプル値に分けられている、と、および、第2のフィルタをアレイ内の定義された垂直エッジに関連付けられた色サンプル値の列に適用するかどうかを決定すること、ここにおいて、定義された垂直エッジは8の色サンプル値に分けられている、とを備える。
一例では、再構築されたビデオ・データをフィルタリングするための装置は、サンプル値のアレイを取得し、ここにおいて、このアレイが4:2:2色フォーマットにしたがってフォーマットされる、と、第1のフィルタをアレイ内の定義された水平エッジに関連付けられた色サンプル値の行に適用するかどうかを決定し、ここにおいて、定義された水平エッジが16の色サンプル値に分けられる、および、第2のフィルタをアレイ内の定義された垂直エッジに関連付けられた色サンプル値の列に適用するかどうかを決定する、ここにおいて、定義された垂直エッジが8つの色サンプル値に分けられる、ように構成されたビデオ・コーディング・デバイスを備える。
一例では、コンピュータ・プログラム製品は、実行されるときに、再構築されたビデオ・データをフィルタリングするためのデバイスの1つまたは複数のプロセッサに、サンプル値のアレイを取得させ、ここにおいて、このアレイが4:2:2色フォーマットにしたがってフォーマットされ、第1のフィルタをアレイ内の定義された水平エッジに関連付けられた色サンプル値の行に適用するかどうかを決定させ、ここにおいて、定義された水平エッジが16の色サンプル値に分けられ、および、第2のフィルタをアレイ内の定義された垂直エッジに関連付けられた色サンプル値の列に適用するかどうかを決定させる、ここにおいて、定義された垂直エッジが8つの色サンプル値に分けられる、当該箇所に保存された命令を有するコンピュータ読取可能な記憶媒体を備える。
一例では、再構築されたビデオ・データをフィルタリングするための装置は、サンプル値のアレイを取得するための手段、ここにおいて、このアレイが4:2:2色フォーマットにしたがってフォーマットされる、と、第1のフィルタをアレイ内の定義された水平エッジに関連付けられた色サンプル値の行に適用するかどうかを決定するための手段、ここにおいて、定義された水平エッジが16の色サンプル値に分けられる、と、および、第2のフィルタをアレイ内の定義された垂直エッジに関連付けられた色サンプル値の列に適用するかどうかを決定するための手段、ここにおいて、定義された垂直エッジが8つの色サンプル値に分けられる、とを備える。
一例では、再構築されたビデオ・データをフィルタリングするための方法は、ビデオ・ブロックが4:2:0、4:2:2、または4:4:4色フォーマットの1つにしたがってフォーマットされるかどうかを決定することと、および決定された色フォーマットに基づいて色エッジをデブロッキングすること、ここにおいて、デブロッキングは、ビデオ・ブロックが4:2:0色フォーマットにしたがってフォーマットされる場合には8×8デブロッキング格子に基づき、ビデオ・ブロックが4:2:2色フォーマットにしたがってフォーマットされる場合には8×16デブロッキング格子に基づき、ビデオ・ブロックが4:4:4色フォーマットにしたがってフォーマットされる場合には16×16デブロッキング格子に基づく、とを備える。
一例では、再構築されたビデオ・データをフィルタリングするための装置は、ビデオ・ブロックが4:2:0、4:2:2、または4:4:4色フォーマットの1つにしたがってフォーマットされるかどうかを決定し、および、決定された色フォーマットに基づいて色エッジをデブロッキングする、ここにおいて、デブロッキングは、ビデオ・ブロックが4:2:0色フォーマットにしたがってフォーマットされる場合には8×8デブロッキング格子に基づき、ビデオ・ブロックが4:2:2色フォーマットにしたがってフォーマットされる場合には8×16デブロッキング格子に基づき、ビデオ・ブロックが4:4:4色フォーマットにしたがってフォーマットされる場合には16×16デブロッキング格子に基づく、ように構成されたビデオ・コーディング・デバイスを備える。
一例では、コンピュータ・プログラム製品は、実行されるとき、再構築されたビデオ・データをフィルタリングするためのデバイスの1または複数のプロセッサに、ビデオ・ブロックが4:2:0、4:2:2、または4:4:4色フォーマットの1つにしたがってフォーマットされるかどうかを決定させ、および、決定された色フォーマットに基づいて色エッジをデブロッキングさせる、ここにおいて、デブロッキングは、ビデオ・ブロックが4:2:0色フォーマットにしたがってフォーマットされる場合には8×8デブロッキング格子に基づき、ビデオ・ブロックが4:2:2色フォーマットにしたがってフォーマットされる場合には8×16デブロッキング格子に基づき、ビデオ・ブロックが4:4:4色フォーマットにしたがってフォーマットされる場合には16×16デブロッキング格子に基づく、当該箇所に保存された命令を有するコンピュータ読取可能な記憶媒体を備える。
一例では、再構築されたビデオ・データをフィルタリングするための装置は、ビデオ・ブロックが4:2:0、4:2:2、または4:4:4色フォーマットの1つにしたがってフォーマットされるかどうかを決定するための手段と、および、決定された色フォーマットに基づいて色エッジをデブロッキングする手段、ここにおいて、デブロッキングは、ビデオ・ブロックが4:2:0色フォーマットにしたがってフォーマットされる場合には8×8デブロッキング格子に基づき、ビデオ・ブロックが4:2:2色フォーマットにしたがってフォーマットされる場合には8×16デブロッキング格子に基づき、ビデオ・ブロックが4:4:4色フォーマットにしたがってフォーマットされる場合には16×16デブロッキング格子に基づく、とを備える。
1または複数の例の詳細が、添付図面および以下の説明において述べられる。他の特徴、目的、および利点が、説明と図面から、および特許請求の範囲から明らかになる。
図1Aは、ビデオ・データのさまざまなサンプルフォーマットを例示する概念図である。 図1Bは、ビデオ・データのさまざまなサンプルフォーマットを例示する概念図である。 図1Cは、ビデオ・データのさまざまなサンプルフォーマットを例示する概念図である。 図2は、4:2:0のサンプルフォーマットにしたがってフォーマットされた16×16コーディング・ユニットを例示する概念図である。 図3は、4:2:2のサンプルフォーマットにしたがってフォーマットされた16×16コーディング・ユニットを例示する概念図である。 図4は、デブロッキング格子を例示する概念図である。 図5は、H.264規格リコメンデーションに含まれる図の再現図である。 図6は、隣接する2つのビデオ・ブロックの境界を例示する概念図である。 図7は、本明細書に記載の、ビデオ・データの再構築されたブロックをフィルタリングするための技術を利用しうるビデオ・エンコードおよびデコード・システムの例を例示するブロック図である。 図8は、本明細書に記載の、ビデオ・データの再構築されたブロックをフィルタリングするための技術を利用しうるビデオ・エンコーダの例を例示するブロック図である。 図9は、本明細書に記載の、ビデオ・データの再構築されたブロックをフィルタリングするための技術を利用しうるビデオ・デコーダの例を例示するブロック図である。 図10は、デブロッカの一例の構成部品を例示するブロック図である。 図11は、本明細書に記載の技術にしたがって、ビデオ・データの再構築されたブロックのフィルタリングを例示する概念図である。 図12は、本明細書に記載の、ビデオ・データの再構築されたブロックをフィルタリングするための技術を例示する流れ図である。
一般にHEVCは、4:2:0の色フォーマットにしたがってフォーマットされたビデオ・データのデブロッキングフィルタを定義する。しかし、HEVCは、4:2:2または4:4:4の色フォーマットのいずれかにしたがってフォーマットされたビデオ・データのためのデブロッキングフィルタを定義しない。HEVCで定義されたデブロッキングフィルタは、4:2:2または4:4:4の色フォーマットのいずれかにしたがってフォーマットされた再構築ビデオ・データに対して、主観的に十分な品質は提供しない。さらに、以前のビデオ・コーディング規格で定義されたデブロッキングフィルタとHEVC用に提案されたデブロッキングフィルタは、HEVCにしたがって再構築されたビデオ・データのデブロック・フィルタリングには非効率な場合がある。本明細書に記載の技術は、例えば、4:2:2および/または4:4:4の色フォーマットの再構築されたビデオ・データのデブロック・フィルタリングに使用されうる。
現在、高効率ビデオ・コーディング(HEVC)と称される、新しいビデオ・コーディング規格を開発する作業が現在進行中である。来たるべき規格はH.265とも呼ばれる。HEVC規格はさらに、ISO/IEC23008−HEVCとも称され、提供されているHEVCのバージョンの規格番号となるよう意図されている。HEVC規格化作業は、HEVCテスト・モデル(HM)と称されたビデオ・コーディング・デバイスのモデルに基づく。HMでは、以前のビデオ・コーディング企画の開発中に使用可能なビデオ・コーディング・デバイスに対して、ビデオ・コーディング・デバイスの機能が向上していることを想定している。例えば、H.264は、9つのイントラ予測エンコード・モードを提供するが、HEVCは、35ものイントラ予測エンコード・モードを提供する。
「HEVCワーキング・ドラフト5」または「WD5」と称されるHEVCの最近のワーキング・ドラフト(WD)は、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のビデオ・コーディング(JCT−VC)におけるジョイント・コラボレーティブ・チーム、第7回ミーティング、ジュネーブ、スイスにおける「高効率ビデオ・コーディング(HEVC)テキスト仕様ドラフト5」(High-Efficiency Video Coding (HEVC) text specification draft 5)と題されたBrossらによるドキュメントJCT−VC G1103_d3に記載されている。「HEVCワーキング・ドラフト8」または「WD8」と称される、最近の別のHEVCのワーキング・ドラフトは、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のビデオ・コーディング(JCT−VC)におけるジョイント・コラボレーティブ・チーム、第10回ミーティング、ストックホルム、スウェーデン、2012年7月における「高効率ビデオ・コーディング(HEVC)テキスト仕様ドラフト8」(High efficiency video coding (HEVC) text specification draft 8)と題されたBrossらによるドキュメントHCTVC−J1003_d7、に記載されている。HEVCテスト・モデルは、特定のHEVCワーキング・ドラフトに対応しうることに留意されたい。この場合、テスト・モデルは番号によって識別される。例えば、HM5はHEVC WD5に対応する。
来たるべきHEVC規格など、ビデオ・コーディング規格にしたがって動作する典型的なビデオ・エンコーダは、オリジナルのビデオ・シーケンスの各フレーム(すなわち、ピクチャ)を「ブロック」または「コーディング・ユニット」と呼ばれる連続した長方形の領域に分割する。これらのブロックは、ビデオ・シーケンスにおける特有の冗長性を削減または除去するために、空間(イントラ・フレーム)予測および/または時間(インタ・フレーム)予測を適用することによってエンコードされうる。空間予測は「イントラ・モード」(I−モード)と称され、時間予測は「インタ・モード」(P−モードまたはB−モード)と称されうる。予測技術でビデオ・データの予測ブロックが生成され、これは基準サンプルのブロックとも称されうる。コード化されるべきオリジナルのビデオ・データのブロックは予測ブロックと比較される。ビデオ・データのオリジナルのブロックと予測ブロック間の差異は、残差データと称されうる。残差データは通常、予測ブロックとビデオ・データのオリジナルのブロックでのピクセル値間の差異のアレイである。
変換、例えば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換が、変換係数の対応するセットを生成するためにコーディング・プロセスの間に残差データへ適用される。こうして、ビデオのオリジナルのブロックは、変換係数で逆変換を行い、残差データを予測ブロックに追加することで再構築されうる。変換係数はさらに、量子化されうる。つまり、変換係数の値は、定義されたビット深度(bit-depth)にしたがってビット列(bit string)として表しうる。一部の場合、量子化によって小さい値の変換係数がゼロとして表現される結果になりうる。量子化された変換係数は、変換係数レベルと称されうる。さらなる圧縮の場合、量子化された変換係数は、可逆のエントロピ・エンコーディング方法にしたがってエントロピ・エンコードされうる。
HEVCにしたがうビデオ・コーディングの場合、ビデオ・フレームはコーディング・ユニットに分割しうる。コーディング・ユニット(CU)は、一般に、さまざまなコーディング・ツールがビデオ圧縮のために適用される基本ユニットとして作用する長方形の画像領域を称する。CUは一般に正方形であり、例えば、ITU−T H.264のようなその他のビデオ・コーディング規格で記載される、いわゆる「マクロブロック」に類似していると考えられうる。しかし、マクロブロックとは異なり、CUは16×16サイズに限定されない。CUは、ビデオ・サンプル値のアレイと見なされうる。ビデオ・サンプル値はさらに、ピクチャ・エレメント、ピクセル、またはpelと称されうる。CUのサイズは、水平および垂直のサンプルの数にしたがって定義されうる。こうして、CUは、N×NまたはN×M CUと記載されうる。
本開示では、「N×N」と「NバイN」は、例えば16×16ピクセルまたは16バイ16ピクセルのような垂直方向の次元および水平方向の次元の観点から、ビデオ・ブロックのピクセル次元を称するために相互交換可能に使用されうる。一般に、16×16ブロックは、垂直方向に16ピクセル(y=16)と、水平方向に16ピクセル(x=16)を有するだろう。同様に、N×Nブロックは、一般に、垂直方向にN個のピクセルと、水平方向にN個のピクセルとを有する。ここで、Nは、負ではない整数値を表す。ブロックにおけるピクセルは、行と列とで構成されうる。さらに、ブロックは、必ずしも、垂直方向と同じ数のピクセルを、水平方向に有する必要はない。例えば、ブロックは、N×Mピクセルを備えうる。ここで、Mは、必ずしもNに等しくはない。
より良好なコーディング効率を達成するために、CUは、ビデオ・コンテンツに依存する可変サイズを有しうる。CUは通常、Yと表記される、輝度成分、およびUおよびVと表記される色成分(chroma compornent)を有する。2つの色成分は赤色の色相および青色の色相に対応し、さらにCとCと表記されうる。HEVCにより、ビットストリーム内のシンタックス・データは、最大コーディング・ユニット(LCU)を定義し得、これは、サンプル数に関してフレームまたはピクチャで最大のCUである。CUのサイズは通常、水平および垂直の輝度サンプルの数にしたがって定義されうる。通常、LCUには64×64または32×32の輝度サンプルが含まれる。他の次元のCUは、LCUをサブCUに帰納的に分割することによって生成されうる。ビットストリームのシンタックス・データは、CUデプスと称される、LCUが分割されうる最大回数を定義しうる。したがって、ビットストリームはまた、最小コーディング・ユニット(SCU)を定義しうる。通常、SCUには8×8の輝度サンプルが含まれる。こうして、一例では、4つの32×32CUが、64×64LCUを4つのサブCUに分割することで生成され、32×32CUのそれぞれはさらに16の8×8CUに分割されうる。一般的に、コーディング・ユニット(CU)という用語は、LCUあるいは当該サブCU(例えば、LCUのサブCUまたは別のサブCUのサブCU)を称しうる。
LCUは、1または複数のノードを含む四分木データ構造に対応しうるもので、四分木のルート・ノードはLCU自体に対応し、他のノードはLCUのサブCUに対応する。こうして、LCUはコーディング・ツリー・ユニット(CTU)とも称されうる。四分木データ構造は残差四分木(RQT)と称されうる。分割されていないCUは一般的に、四分木のリーフ・ノードに対応する(つまり、子ノードを全く有していない四分木のノード)。
リーフ・ノードCUには一般的に、CUのデータの予測方法を記載する1または複数の予測ユニット(PU)、および1または複数の変換ユニット(TU)が含まれる。PUは、対応するCUのすべてまたは一部を表し、PUの基準サンプルを検索するためのデータを含みうる。PUは、正方形または長方形の形状を有している。例えば、CUがインタ予測を使用してコード化される場合、4つの長方形のPUが含まれうるようになり、それぞれのPUには時間的に隣接するフレームのセット基準サンプルを識別する情報が含まれる。基準サンプルのセットは、予測ビデオ・ブロックを形成するために組み合わされうる。上述のとおり、予測ビデオ・ブロックは、残差データを形成するためにCUから減算されうる。HEVC WD5は定義された次のPUタイプを含んでいる。2N×2N、N×N、2N×N、N×2N、2N×nU、2N×nD、nR×2N、およびnL×2N。さらに、ITU−T H.264規格は、例えば、輝度成分のための16バイ16、8バイ8、または4バイ4と、色成分のための8バイ8のようなさまざまなブロック・サイズにおけるイントラ予測のみならず、例えば、輝度成分のための16×16、16×8、8×16、8×8、8×4、4×8、および4×4と、色成分のためにスケールされた対応するサイズとのようなさまざまなブロック・サイズにおけるインタ予測をサポートすることに留意されたい。
上述のとおり、変換はピクセル領域から変換領域に残差データを変換するために残差データに適用しうる。TUまたは変換ブロックは変換が適用される残差データのセットに対応しうる。TUは、変換を行い、対応する変換係数のセットを生成する目的のピクセルの異なる値のセットのサイズを表す。TUのサイズはCUのサイズと同じになりうるか、あるいはCUが複数のTUに分割されうる。例えば、1つの変換が輝度サンプルの16×16アレイに関連付けられた残差値で行い得たり、輝度サンプルの4つの8×8アレイのそれぞれで変換が行い得たりする。より大きなTUは一般的に、再構築された画像で知覚可能な「ブロック歪み」が多い大きな圧縮を提供し、これに対して、より小さなTUは一般的に、知覚可能な「ブロック歪み」の少ない小さな圧縮を提供する。TUサイズの選択は歪み率最適化分析(rate-distortion optimization analysis)に基づくものとしうる。歪み率最適化分析によって一般的に、再構築されたブロックとオリジナル(すなわち、エンコードされていないブロック)間の歪みの量のほか、ブロックのエンコードに使用されるビットレート(つまり、ビット数)も決まる。
LCUと同様に、TUもより小さなTUに帰納的に分割されうる。より小さなTUにTUを分割する結果のTUは、変換ブロック構造と称されうる。変換ブロック構造の一例は、いわゆるツリー構造である。ツリー構造は変換ブロックをTU全体、またはいくつかのより小さいTUに分割したもののいずれかとしてコード化しうる。このプロセスは、それぞれ異なる分割レベルの各ブロックに対して帰納的に行いうる。
こうして、HEVCによれば、CUは、1または複数の予測ユニット(PU)および/または1または複数の変換ユニット(TU)を含みうる。本開示はまた、CU、PU、またはTUのうちのいずれかを称するために、「ブロック」、「パーティション」、または「部分」という用語を使用する。一般に、「部分」は、ビデオ・フレームの任意のサブ・セットを称しうる。さらに、本開示は通常、CUのコーディング・ノードを称するために「ビデオ・ブロック」という用語を使用する。特定の一部の場合、本開示は、コーディング・ノードならびにPUおよびTUを含む、ツリーブロック、すなわち、LCUまたはCUを称するために「ビデオ・ブロック」という用語も使用しうる。こうして、ビデオ・ブロックはCU内のコーディング・ノードに対応しうるもので、ビデオ・ブロックは固定または変動サイズを有し得、指定されたコーディング規格によってサイズが異なりうる。
色フォーマットとも称しうる、ビデオ・サンプリングフォーマットは、CUに含まれる輝度サンプルの数に対するCUに含まれる色サンプルの数を定義しうる。色成分のビデオ・サンプリングフォーマットに応じて、UおよびV成分のサイズのサイズは、サンプルの数の点から、Y成分のサイズと同じまたは異なるものとしうる。H.264/AVCおよびHEVC WD5ビデオ・コーディング規格では、chroma_format_idcと称する値が、輝度成分に対して、色成分の異なるサンプリングフォーマットを示すために定義される。HEVC WD8では、chroma_format_idcはシーケンス・パラメータ・セット(SPS)を使用して信号が送られる。表1は、chroma_format_idcと関連する色フォーマットの値の間の関係を例示する。
Figure 2015504294
表1では、変数SubWidthCおよびSubHeightCは、輝度成分のサンプル数と各色成分のサンプル数の間の水平および垂直サンプリング・レート比を示すために使用されうる。表1に記載の色フォーマットでは、2つの色成分が同じサンプリング・レートを有する。
表1の例では、4:2:0形式の場合、輝度成分のサンプリング・レートは、水平方向と垂直方向の両方で色成分の2倍である。その結果、4:2:0形式にしたがってフォーマットされたコーディング・ユニットの場合、輝度成分のサンプルのアレイの幅と高さが色成分のサンプルの各アレイの2倍である。同様に、4:2:2形式にしたがってフォーマットされたコーディング・ユニットの場合、輝度成分のサンプルのアレイの幅は各色成分のサンプルのアレイの幅の2倍であるが、輝度成分のサンプルのアレイの高さは各色成分のサンプルのアレイの高さに等しい。4:4:4形式にしたがってフォーマットされたコーディング・ユニットの場合、輝度成分のサンプルのアレイは各色成分のサンプルと幅と高さが同じである。YUV色空間に加えて、ビデオ・データはRGB色空間にしたがって定義しうる。このように、本明細書に記載の色フォーマットはYUVまたはRGB色空間のいずれかに適用しうる。RGB色フォーマットは通常、赤色サンプルの数、緑色サンプルの数、および青色サンプルの数が等しくなるようにサンプリングされる。したがって、本明細書で使用される「4:4:4色フォーマット」はYUV色空間またはRGB色空間のいずれかを指しうるもので、サンプルの数はすべての色成分で等しい。
図1A〜図1Cは、ビデオ・データのさまざまなサンプルフォーマットを例示する概念図である。図1Aは、4:2:0のサンプルフォーマットを例示する概念図である。図1Aで例示のように、4:2:0のサンプルフォーマットの場合、色成分は輝度成分のサイズの4分の1である。したがって、4:2:0のサンプルフォーマットにしたがってフォーマットされたCUの場合、色成分の各サンプルに対して4つの輝度サンプルがある。図1Bは、4:2:2のサンプルフォーマットを例示する概念図である。図1Bで例示のように、4:2:2のサンプルフォーマットの場合、色成分は輝度成分のサイズの2分の1である。したがって、4:2:2のサンプルフォーマットにしたがってフォーマットされたCUの場合、色成分の各サンプルに対して2つの輝度サンプルがある。図1Cは、4:4:4のサンプルフォーマットを例示する概念図である。図1Cで例示のように、4:4:4のサンプルフォーマットの場合、色成分は輝度成分のサイズと同じである。したがって、4:4:4のサンプルフォーマットにしたがってフォーマットされたCUの場合、色成分の各サンプルに対して1つの輝度サンプルがある。
図2は、4:2:0のサンプルフォーマットにしたがってフォーマットされた16×16コーディング・ユニットの一例を例示する概念図である。図2は、CU内の輝度サンプルに対する色サンプルの相対位置を例示する。上述のとおり、CUは通常、水平および垂直の輝度サンプルの数にしたがって定義される。したがって、図2で例示のように、4:2:0のサンプルフォーマットにしたがってフォーマットされた16×16CUは、輝度成分の16×16サンプルと各色成分に対して8×8サンプルを含む。さらに、上述のとおり、CUはより小さなCUに分割されうる。例えば、図2で例示のCUは4つの8×8CUに分割しうるもので、各8×8CUは輝度成分の8×8サンプルと各色成分に対して4×4サンプルを含んでいる。
図3は、4:2:2のサンプルフォーマットにしたがってフォーマットされた16×16コーディング・ユニットの一例を例示する概念図である。図3は、CU内の輝度サンプルに対する色サンプルの相対位置を例示する。上述のとおり、CUは通常、水平および垂直の輝度サンプルの数にしたがって定義される。したがって、図3で例示のように、4:2:2のサンプルフォーマットにしたがってフォーマットされた16×16CUは、輝度成分の16×16サンプルと各色成分に対して8×16サンプルを含む。さらに、上述のとおり、CUはより小さなCUに分割されうる。例えば、図3で例示のCUは4つの8×8CUに分割しうるもので、各CUは輝度成分の8×8サンプルと各色成分に対して4×8サンプルを含んでいる。
HEVCは、「ブロック歪み(blokiness)」アーティファクト(artifact)を除去するためにデブロッキングフィルタを使用するデブロッキングを備える。ブロック(LCUおよび当該サブCU)へのフレームの分割、ブロックのコーディング、次いでブロックのデコードの後、ブロックの境界で識別できるアーティファクトが起こりうる。ブロックのアーティファクトは通常、TUまたはPU境界で起こる。デブロッキングまたはデブロック・フィルタリングは、フレームのブロック歪みアーティファクトの出現を除去するために、再構築されたビデオ・ブロックの境界のサンプルの値を変更するプロセスを指す。例えば、CUの境界のサンプルおよび隣接したCUの境界のサンプルは、1つのCUから別のCUへの移行が閲覧者により明らかにならないように「滑らか」にされうる。
さらに、ビデオ・エンコーダはフレームのビデオ・データをエンコードし得、そして、エンコードされたビデオ・データをデコードし、次に、デブロッキングフィルタを基準ビデオ・データとして使用するデコードされたビデオ・データに適用する。基準データは、例えば、後続のコード化されたビデオ・データのインタ予測のために、ビデオ・エンコーダが使用しうる1つまたは複数のフレームからのデータでありうる。ビデオ・エンコーダはインタ予測のために参照ピクチャ・ストア内に1つまたは複数のフレームを格納しうる。基準データとしての使用のためにデコードされたビデオ・データを格納する前にビデオ・エンコーダまたはビデオ・デコーダなどのビデオ・コーディング・デバイスによって行われるデブロッキング・フィルタリングは、通常「ループ内(in-loop)」フィルタリングと称される。「ループ内」フィルタリングでは、ビデオ・エンコーダまたはデコーダはビデオ・ループ内でデブロッキングを行いうる。ビデオ・エンコーダは生のビデオ・データの受信、ビデオ・データのエンコード、データのデブロッキング、および参照ピクチャ・ストアへのデブロッキングされたフレームの格納から始めうる。
ビデオ・デコーダは、受信したビデオ・データをデコードし、次いで、後続のデコードされるビデオ・データの基準としての使用に関してデコードされたビデオ・データに同じデブロッキングフィルタを適用するように構成されうる。同じデブロッキング技術を適用するようエンコーダとデコーダの両方を構成することによって、エンコーダとデコーダは、デブロッキングが、基準のためのデブロッキングされたビデオ・データを使用する後続のコード化されたビデオ・データに関してエラーを取り込まないように同期されうる。さらに、ビデオ・デコーダは、ビデオ・データを表示する目的で再構築されたビデオ・データをデブロッキングするように構成されうる。この場合、ビデオ・デコーダは、再構築されたビデオ・データの主観的な品質を向上させるようにデブロッキングを実行しうる。この場合、ビデオ・デコーダは、デブロッキングを実行する方法を決定するために、エンコードされたビデオ・データに含まれる情報を頼りにすることができる。さらに、ビデオ・デコーダは、再構築されたビデオ・データを分析して、後処理のオペレーションにしたがってデブロッキングを実行しうる。このタイプのデブロッキングは、ポスト・ループ(post loop)デブロッキングと称されうる。
デブロッキングは、垂直境界、水平境界、または垂直と水平の両方の境界で行いうる。HEVCでは、境界へのフィルタリングを行うどうかの決定は、いわゆる境界フィルタリング強度変数(boundary filtering strength variable)bSに基づいている。bSは、主にCUの再構築に使用される予測モードに基づいて決定される。例えば、1つの境界に隣接するブロックの輝度成分がイントラ・コードの場合、bSの値は少なくとも2である。HEVCは4:2:0のサンプルフォーマットにしたがってフォーマットされるCUに関するデブロッキングのみを記載し、4:2:2または4:4:4のサンプルフォーマットのいずれかにしたがってフォーマットされるCUに関するデブロッキングを記載しないことに留意されたい。
デブロッキング格子はデブロッキングされうるエッジを定義しうる。図4は、サンプル値のアレイおよびデブロッキングが可能なエッジを例示する概念図である。図4で例示するアレイは、上述のとおり、CUの組み合わせに対応する。例えば、次の色フォーマット、4:2:0、4:2:2、または4:4:4のいずれかにしたがってフォーマットされた次のサイズ、4×4、8×8、16×16、32×32、または64×64のいずれか1つのCUの組み合わせがN×Nのサンプル値のアレイを形成しうる。図4に例示されるように、5つの垂直エッジ(すなわち、V−V)および5つの水平エッジ(すなわち、H−H)がアレイに関して定義される。デブロッキング格子は、境界V−VおよびH−Hのどれがデブロッキングされるかを示しうる。
図5は、H.264規格リコメンデーションに含まれる図8〜10の再現図であり(「リコメンデーションITU−T H.264:一般的なオーディオビジュアル・サービスのためのアドバンスト・ビデオ・コーディング」ITU−T、2010年3月)、この内容全体を参照により本明細書に組み込まれる。図8〜10はH.264規格リコメンデーションで使用され、マクロブロックの境界がいつデブロッキングされるかを示す。上述のとおり、H.264のマクロブロックは16×16ピクセルである。したがって、図8〜10で例示の各ブロックは、4×4の輝度サンプルを含んでいる。各ブロックの色サンプルの数は、マクロブロックがそれぞれ、4:2:0、4:2:2、または4:4:4にしたがってフォーマットされるかどうかに基づき、2×2、2×4、または4×4のいずれかである。H.264規格リコメンデーションは、ループ内デブロッキングフィルタが色フォーマットと変換サイズに応じて境界に適用されうることを指定する。H.264では、使用可能な変換サイズに4×4および8×8が含まれる。以下は、H.264規格リコメンデーションからの抜粋である。
[図5]のエッジを輝度エッジとして解釈する場合、transform_size_8x8_flagに応じて、次が適用される。
−transform_size_8x8_flagがゼロに等しい場合、両方のタイプ、実線太字と破線太字の輝度エッジがフィルタリングされる。
−そうではない場合(transform_size_8x8_flag is equal to 1が1に等しい場合)、実線太字の輝度エッジのみがフィルタリングされる。
[図5]のエッジを色エッジとして解釈する場合、ChromaArrayTypeに応じて、次が適用される。
−ChromaArrayTypeが1に等しい場合(4:2:0形式)、実線太字の色エッジのみがフィルタリングされる。
−そうではなく、ChromaArrayTypeが2に等しい場合(4:2:2形式)、実線太字の垂直色エッジがフィルタリングされ、両方のタイプ、実線太字と破線太字の水平色エッジがフィルタリングされる。
−そうではなく、ChromaArrayTypeが3に等しい場合(4:4:4形式)、次が適用される。
−transform_size_8x8_flagがゼロに等しい場合、両方のタイプ、実線太字と破線太字の色エッジがフィルタリングされる。
−そうではない場合(transform_size_8x8_flagが1に等しい場合)、実線太字の色エッジのみがフィルタリングされる。
−そうではない場合(ChromaArrayTypeがゼロに等しい場合)、色エッジはフィルタリングされない。
表2ではH.264で使用されるデブロッキング格子のサイズの概要を提供する。表2に例示のように、H.264/AVCデブロッキングフィルタは、4:2:0および4:2:2色フォーマットの色エッジの処理時に、色サンプルの4×4格子を使用する。
Figure 2015504294
反対に、HEVC WD5で提案されたHM5ループ内デブロッキングフィルタは、輝度サンプル処理時には輝度サンプルの8×8格子を使用し、4:2:0色フォーマットの色エッジ処理時には色サンプルの8×8格子を使用する。HM5ループ内デブロッキングフィルタは、bSの値が2に等しい場合に、輝度および色エッジを処理することに留意されたい。上述のとおり、4:2:2および4:4:4色フォーマットのデブロッキングは、JCT−VCによるHEVCには採用されていない。
A.Norkin、K.Andersson、R.Sjoberg、Q.Huang、J.An、X.Guo、S.Lei、「CE12:エリクソンおよびメディアテックのデブロッキングフィルタ(Ericsson’s and Mediatek’s deblocking filter)」第6回JCT−VCミーティング、トリノ、イタリア、2011年7月Doc.JCTVC−F118(以下「Norkin」)は、内容全体が参照として引用されており、4:2:2および4:4:4色フォーマットへのHM5デブロッキングフィルタの拡張が提案されている。Norkinは、輝度成分には8×8デブロッキング格子を、ならびにCUがそれぞれ、4:2:0、4:2:2、および4:4:4色フォーマットにしたがってフォーマットされているかどうかに基づき、色サンプルにはそれぞれ、4×4、4×8、および8×8デブロッキング格子を使用することを提案した。実際のところ、Norkinの提案は、色成分が輝度解像度にアップサンプルされる場合に、等価の8×8輝度格子で彩度デブロッキングを適用することに留意されたい。表3は、彩度フィルタリング格子に関するNorkinの提案の概要である。
Figure 2015504294
表3に関して記載した技術は、HM5に比べ、デブロッキング・フィルタリングされる色エッジの数が増大しうることに留意されたい。つまり、HM5は、4:2:0形式の場合に8×8格子を使用する色エッジを処理するよう構成されるが、一方、Norkinは4×4格子を使用する色エッジの処理を提案している。したがって、表3に関して記載した技術は、HM5に比べ、デブロック・フィルタリングされる色エッジの数が増大しうる。さらに、4:2:2色フォーマットの場合、Norkinは輝度成分には8×8デブロッキング格子、および色成分には4×8デブロッキング格子を提案している。一部の場合、Norkinで記載されたようなフィルタリング技術は非効率になりうる。つまり、デブロッキングを適用することによって達成される知覚されるビデオ品質の何らかの改善は、フィルタリング・オペレーションの数を適用するために使用される計算労力により正当化され得ない。
HEVCでは、フィルタリングされる境界が決定された後、各境界にどのタイプのデブロッキングフィルタが適用されるかについての決定が行われる。HEVC WD8は、2つのタイプのデブロッキングフィルタ、ノーマル・フィルタ(弱いフィルタとの称される)、およびストロング・フィルタを含んでいる。ノーマルおよびストロング・フィルタが異なる1つの方法は、境界の各側で変更しうるサンプル数にある。ノーマル・フィルタは境界の各側で1つから2つのサンプルを変更し、一方、ストロング・フィルタは境界の各側で3つまでのサンプルを変更する。HEVC WD8では、境界にノーマルまたはストロング・フィルタのどちらを適用するかの決定は一般的に、bSに基づいているが、決定には他の変数に基づくいくつかの論理演算も関係する。簡潔さのために、本明細書では、HEVC WD8でノーマルまたはストロング・フィルタのどちらを適用するかの決定プロセスの完全な説明は説明していない。しかし、HEVC WD8の関連部分に参照が行われる。
図6は、隣接する2つのビデオ・ブロックの境界を例示する概念図である。図6で例示する例では、隣り合っているブロックが示されているが、デブロッキング技術は上下の隣接するブロックに関して適用されることを理解されたい。図6は、エッジ606を有するブロック602、604を図示している。図6に例示の例では、ブロック602および604は両方とも正方形で、それぞれサンプル値pおよびqの8×8アレイを含んでいる。サンプル値pおよびqは輝度サンプル値に対応しうるもので、この場合、ブロック602および604は8×8CUに対応しうる。さらに、サンプル値pおよびqは色サンプル値に対応しうるもので、この場合、ブロック602および604は色サンプルの8×8アレイとなる特定の色フォーマットにしたがってフォーマットされた種々のサイズのCUの組み合わせに対応しうる。表4では、HEVC WD8で開示されたストロングおよびノーマル・フィルタの簡素化バージョンを提供している。つまり、簡潔さと明確さのために、HEVC WD8で記載された量子化パラメータに基づく各種クリッピング機能は、表4のフィルタから除去されている。HEVC WD8の各種クリッピング機能は、変更される表4に含まれるフィルタによって変更されるサンプル値のすべてより少ないことを考慮に入れる。
表4は、ブロック602および604のそれぞれのサンプル値がストロング・フィルタまたはノーマル・フィルタのいずれかによりどのように変更されるかを例示する。表4のストロング・フィルタは輝度成分に適用されるHEVC WD8で定義されたストロング・フィルタに対応する。表4のノーマル・フィルタ1は輝度成分に適用されるHEVC WD8で定義されたノーマル・フィルタに対応する。表4のノーマル・フィルタ2は色成分に適用されるHEVC WD8で定義されたノーマル・フィルタに対応する。表4で例示のとおり、ストロング・フィルタは境界の各側で3つのピクセル値を変更し、ノーマル・フィルタ1は境界の各側で2つのサンプル値を変更し、ノーマル・フィルタ2は境界の各側で1つのサンプル値を変更する。
Figure 2015504294
現在、HEVC WD8メイン・プロファイルは4:2:0色フォーマットに制限されている。さらに、HEVC WD8の色デブロッキングフィルタはH.264/AVCデブロッキングフィルタより少ない複雑さ有しており、その理由は、イントラ・コード化されたエッジおよびサブサンプリングされた色成分に関する8×8サンプル格子に制限されているからである。HEVC WD8で定義されたデブロッキングフィルタは、4:2:0ビデオ・データへの適用時に、適切な主観的品質を提供しうるもので、HEVC WD8で定義された簡素化彩度デブロッキングフィルタは、4:2:2または4:4:4色フォーマットを含む今後のHEVCプロファイルに十分な品質を提供し得ない。
本開示の技術は、4:2:2または4:4:4の色フォーマットのいずれかにしたがってフォーマットされた再構築ビデオ・データの改善されたデブロッキングを提供しうる。上述のとおり、Norkinは、輝度成分には8×8デブロッキング格子および4:2:2色フォーマットにしたがってフォーマットされたビデオ・データに関する色成分には4×8デブロッキング格子を使用することを提案している。したがって、4:2:2色フォーマットにしたがってフォーマットされた4つの隣接する8×8ブロックの場合、Norkinは各色成分の3つの垂直エッジおよび3つの水平エッジのデブロック・フィルタリングを提案しており、合計18のフィルタリング・オペレーションがもたらされる。一部の場合、そのようなフィルタリングは非効率になりうる。つまり、デブロッキングを適用することによって達成される知覚されるビデオ品質の何らかの改善は、フィルタリング・オペレーションの数を適用するために使用される当該計算労力により正当化され得ない。さらに、Norkinは、適用されるデブロッキングフィルタのタイプの決定の際に、水平と垂直の境界を区別していない。ビデオ・ブロックの水平エッジにノーマルまたはストロング・フィルタのいずれかを適用することによってブロック歪みの出現を大幅に削減し、垂直エッジに同じフィルタまたはいずれかのデブロッキングフィルタを適用するようなことは、非効率でありうる。本開示は、Norkinに比べフィルタ・オペレーションの数を削減することと、および水平デブロッキングに基づき垂直デブロッキングを実行するかどうかを決定することとによってビデオ・データに関してより効率的なフィルタリングを提供しうる技術を記載している。
図7は、再構築されたビデオ・データのアレイをデブロッキングするように構成しうる一例のビデオ・エンコードおよびデコード・システム10を例示するブロック図であり、ビデオ・データは4:2:0、4:2:2、または4:4:4色フォーマットにしたがってフォーマットされている。図7に例示のように、システム10は、エンコードされたビデオを、通信チャネル16を介して宛先デバイス14へ送信するソース・デバイス12を含んでいる。ソース・デバイス12および宛先デバイス14は、広範なデバイスのうちのいずれかも備えうる。いくつかの場合には、ソース・デバイス12および宛先デバイス14は、いわゆるセルラ無線電話または衛星無線電話といった無線ハンドセットのような無線通信デバイス、または、この場合無線である通信チャネル16を介してビデオ情報を通信しうる任意の無線デバイスを備えうる。しかしながら、本開示の技術は、無線アプリケーションまたは設定に必ずしも限定されない。例えば、これらの技術は、オーバ・ザ・エア・テレビジョン・ブロードキャスト、ケーブル・テレビジョン送信、衛星テレビジョン送信、インターネット・ビデオ送信、記憶媒体にエンコードされたエンコード済みのデジタル・ビデオ、またはその他のシナリオに適合しうる。したがって、通信チャネル16は、エンコードされたビデオ・データの送信または記憶のために適切な無線媒体、有線媒体、または記憶媒体の任意の組み合わせを備えうる。
図7の例では、ソース・デバイス12は、ビデオ・ソース18、ビデオ・エンコーダ20、変調器/復調器(モデム)22、および送信機24を含んでいる。宛先デバイス14は、受信機26、モデム28、ビデオ・デコーダ30、およびディスプレイ・デバイス32を含んでいる。本開示によると、ソース・デバイス12のビデオ・エンコーダ20は再構築されたビデオ・データのアレイをデブロッキングするための技術を適用するように構成しうるものであり、ビデオ・データは4:2:0、4:2:2、または4:4:4色フォーマットにしたがってフォーマットされている。別の例では、ソース・デバイスおよび宛先デバイスは、その他の構成要素または構成を含みうる。例えば、ソース・デバイス12は、例えば外部カメラのような外部ビデオ・ソース18からビデオ・データを受信しうる。同様に、宛先デバイス14は、統合されたディスプレイ・デバイスを含んでいるのではなく、外部のディスプレイ・デバイスとインタフェースしうる。
図7の例示されたシステム10は単なる一例である。再構築されたビデオ・データのアレイをデブロッキングするための技術で、ビデオ・データは4:2:0、4:2:2、または4:4:4色フォーマットのいずれかにしたがってフォーマットされており、任意のデジタル・ビデオエンコードおよび/またはデコード・デバイスによって実行されうる。一般に、本開示の技術は、ビデオ・エンコード・デバイスおよび/またはビデオ・デコード・デバイスによって実行されるが、これら技術はまた、「コーデック」と一般に称されるビデオ・エンコーダ/デコーダによっても実行されうる。さらに、本開示の技術はまた、ビデオ・プリプロセッサまたはポスト・プロセッサによっても実行されうる。ソース・デバイス12および宛先デバイス14は、単に、ソース・デバイス12が、宛先デバイス14への送信のために、コード化されたビデオ・データを生成するこのようなコーディング・デバイスの例である。いくつかの例において、デバイス12,14は、デバイス12,14の各々がビデオ・エンコードおよびデコード構成要素を含むように、実質的に対称的に動作しうる。したがって、システム10は、例えば、ビデオ・ストリーミング、ビデオ・プレイバック、ビデオ・ブロードキャスト、またはビデオ・テレフォニのために、ビデオ・デバイス12,14間の一方向または二方向のビデオ送信をサポートしうる。
ソース・デバイス12のビデオ・ソース18は、例えば、ビデオ・カメラ、以前にキャプチャされたビデオを含んでいるビデオ・アーカイブ、および/または、ビデオ・コンテンツ・プロバイダからのビデオ・フィードのようなビデオ・キャプチャ・デバイスを含みうる。さらなる代案として、ビデオ・ソース18は、コンピュータ・グラフィック・ベースのデータを、ソース・ビデオとして、または、ライブ・ビデオと、アーカイブされたビデオと、コンピュータによって生成されたビデオとの組み合わせとして生成しうる。いくつかのケースにおいて、ビデオ・ソース18がビデオ・カメラであれば、ソース・デバイス12および宛先デバイス14は、いわゆるカメラ電話またはテレビ電話を形成しうる。キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータによって生成されたビデオは、上述のサンプルフォーマット(例えば、4:2:0、4:2:2、または4:4:4)のいずれかにしたがってフォーマットされうる。しかしながら、前述したように、本開示において記載されているこれら技術は、一般に、ビデオ・コーディングに適用可能でありうる。そして、無線または有線のアプリケーションに適用されうる。各ケースでは、キャプチャされたビデオ、プリキャプチャされたビデオ、または、コンピュータによって生成されたビデオが、ビデオ・エンコーダ20によってエンコードされうる。エンコードされたビデオ情報は、その後、通信規格にしたがってモデム22によって変調され、送信機24を介して宛先デバイス14へ送信されうる。モデム22は、さまざまなミキサ、フィルタ、増幅器、または信号変調のために設計されたその他の構成要素を含みうる。送信機24は、増幅器、フィルタ、および1または複数のアンテナを含む、データの送信のために設計された回路を含みうる。
宛先デバイス14の受信機26は、チャネル16によって情報を受信し、モデム28は、この情報を復調する。チャネル16によって通信される情報は、ビデオ・エンコーダ20によって定義されたシンタックス情報を含みうる。これは、ビデオ・デコーダ30によっても使用され、ブロック、および例えばGOPのようなその他のコード化されたユニットの処理、および/または、特徴を記述するシンタックス要素を含んでいる。ディスプレイ・デバイス32は、デコードされたビデオ・データをユーザへ表示しうる。そして、例えば、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマ・ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイ・デバイスのようなさまざまなディスプレイ・デバイスのうちの何かを備えうる。
図7の例では、通信チャネル16は、例えば、無線周波数(RF)スペクトルまたは1または複数の物理送信ライン、または無線媒体と有線媒体との任意の組み合わせのような任意の無線媒体または有線媒体を備えうる。通信チャネル16は、例えば、ローカル・エリア・ネットワーク、広域ネットワーク、またはインターネットのようなグローバル・ネットワークといったパケット・ベースのネットワークの一部を形成しうる。通信チャネル16は、一般に、ソース・デバイス12から宛先デバイス14へビデオ・データを送信するために、有線媒体と無線媒体との任意の適切な組み合わせを含む、任意の適切な通信媒体、または別の通信媒体の集合を表す。通信チャネル16は、ルータ、スイッチ、基地局、または、ソース・デバイス12から宛先デバイス14への通信を容易にするために有用なその他任意の機器を含みうる。別の例では、ソース・デバイス12は、エンコードされたデータを、送信するのではなく、記憶媒体に格納しうる。同様に、宛先デバイス14は、エンコードされたデータを、記憶媒体から取得するように構成されうる。
ビデオ・エンコーダ20およびビデオ・デコーダ30は一般的に、例えば、MPEG 4、パート10、アドバンスト・ビデオ・コーディング(AVC)とも称されるITU−T H.264規格のようなビデオ圧縮規格にしたがって動作しうる。さらに、ビデオ・エンコーダ20およびビデオ・デコーダ30は一般的に、来たるべきHEVC規格にしたがって動作しうる。しかしながら、本開示の技術は、どんなの特定のコーディング規格にも限定されない。図7に図示されていないが、いくつかの態様では、ビデオ・エンコーダ20およびビデオ・デコーダ30は各々、オーディオ・エンコーダおよびデコーダと統合されうる。そして、共通のデータ・ストリームまたは個別のデータ・ストリームでオーディオとビデオとの両方のエンコードを取り扱うために、適切なMUX−DEMUXユニット、またはその他のハードウェアおよびソフトウェアを含みうる。適用可能であれば、MUX−DEMUXユニットは、ITU H.223マルチプレクサ・プロトコル、または、例えばユーザ・データグラム・プロトコル(UDP)のようなその他のプロトコルに準拠しうる。いくつかの態様では、本開示に記載された技術は、一般に、H.264規格またはHEVC規格に準拠するデバイスに適用されうる。
ビデオ・エンコーダ20およびビデオ・デコーダ30は各々、適用可能であれば、例えば、1または複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向けIC(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、またはこれら任意の組み合わせのように、さまざまな適切なエンコーダまたはデコーダ回路のいずれかとして実現されうる。ビデオ・エンコーダ20およびビデオ・デコーダ30の各々は、1または複数のエンコーダまたはデコーダに含まれうる。これらのいずれかは、結合されたビデオ・エンコーダ/デコーダ(コーデック)の一部として統合されうる。ビデオ・エンコーダ20および/またはビデオ・デコーダ30を含む装置は、集積回路、マイクロプロセッサ、および/または、無線通信デバイスを備えうる。ビデオ・エンコーダ20および/またはビデオ・デコーダ30を含む装置は、携帯電話、カメラ、コンピュータ、移動機、宅内装置、放送装置、セットトップ・ボックス、サーバなどを含みうる。
ビデオ・シーケンスは一般に、ビデオ・フレームのシリーズを含んでいる。ピクチャのグループ(GOP)は一般に、1または複数のビデオ・フレームのシリーズを備えている。GOPは、GOPに含まれるフレームの数を記述するシンタックス・データを、GOPのヘッダ、GOPの1または複数のフレームのヘッダ、あるいはその他の場所に含みうる。各フレームは、それぞれのフレームのためのエンコード・モードを記述するフレーム・シンタックス・データを含みうる。各ビデオ・フレームは、複数のスライスを含みうる。各スライスは、複数のビデオ・ブロックを含みうる。これらは、サブ・ブロックとも称されるパーティションに構成されうる。ビデオ・ブロックは、固定サイズまたは可変サイズを有しうる。そして、指定されたコーディング規格によってサイズが異なりうる。上述のとおり、ビデオ・ブロックはHEVC WD5に記載の可変サイズのCUを含みうる。さらに、ビデオ・ブロックは、マクロブロック、または、マクロブロックのパーティションに対応しうる。ビデオ・エンコーダ20は、一般に、ビデオ・データをエンコードするために、個々のビデオ・フレーム内のビデオ・ブロックで動作する。
上述のとおり、ビデオ・ブロックはピクセル領域にピクセル・データのアレイを備えうる。ビデオ・ブロックはさらに、例えば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または、コード化されたビデオ・ブロックと予測ビデオ・ブロックとの間のピクセル差分を表す残差ビデオ・ブロック・データへの概念的に同じ変換などの変換のアプリケーションにしたがって、変換領域に変換係数のアレイを備えうる。いくつかのケースでは、ビデオ・ブロックは、変換領域に、量子化された変換係数のブロックを備えうる。
上述のとおり、予測データおよび残差データを生成するための、イントラ予測コーディングまたはインタ予測コーディングの後、さらには、変換係数を生成するための、任意の変換(例えば、H.264/AVCまたは離散コサイン変換DCTにおいて使用される4×4または8×8の整数変換)の後に、変換係数の量子化が実行されうる。量子化は、一般に、恐らくは、変換係数を表すために使用されるデータの量を削減するために、変換係数が量子化される処理を称する。この量子化処理は、これら係数のうちのいくつかまたはすべてに関連付けられたビット深度を削減しうる。例えば、nビット値は量子化の際に端数を切り捨ててmビット値にされうるもので、nはmより大きい。一部の場合、量子化はゼロとして表現される小さい値の変換係数となりうる。TUサイズの選択に加えて、再構築された画像の知覚可能なブロック歪みはさらに、変換係数で実行される量子化プロセスにも基づきうる。一般に、mの値がより小さければ、知覚可能なブロック歪みは多くなる結果になる。
量子化の後、量子化されたデータのエントロピ・コーディングが、例えば、コンテンツ適応可変長コーディング(content adaptive variable length coding)(CAVLC)、コンテキスト適応バイナリ計算コーディング(context adaptive binary arithmetic coding)(CABAC)、またはその他のエントロピ・コーディング方法にしたがって実行されうる。エントロピ・コーディングのために構成された処理ユニット、または、その他の処理ユニットは、例えば、コード化ブロック・パターン(CBP)値、マクロブロック・タイプ、コーディング・モード、コード化されたユニット(例えば、フレーム、スライス、マクロブロック、またはシーケンス)のための最大マクロブロック・サイズ等のようなシンタックス情報の生成、および/または、量子化された係数のゼロ・ラン・レングス・コーディング(zero run length coding)のようなその他の処理機能を実行しうる。
ビデオ・エンコーダ20はさらに、例えば、ブロック・ベースのシンタックス・データ、フレーム・ベースのシンタックス・データ、およびGOPベースのシンタックス・データのようなシンタックス・データを、例えば、フレーム・ヘッダ、ブロック・ヘッダ、スライス・ヘッダ、またはGOPヘッダで、ビデオ・デコーダ30へ送信しうる。GOPシンタックス・データは、それぞれのGOPにおけるフレームの数を記述しうる。そして、フレーム・シンタックス・データは、対応するフレームをエンコードするために使用されるエンコード/予測モードを示しうる。
図8は、再構築されたビデオ・データをフィルタリングするための技術を実施しうるビデオ・エンコーダ20の例を例示するブロック図である。ビデオ・エンコーダ20は、ブロック、または、ブロックのパーティションまたはサブ・パーティションを含む、ビデオ・フレーム内のブロックのイントラ・コーディングおよびインタ・コーディングを実行しうる。上述のとおり、イントラ・コーディングは所定のビデオ・フレーム内のビデオの空間冗長性を削減または除去するために空間予測を当てにし、インタ・コーディングはビデオ・シーケンスの隣接するフレーム内でビデオの時間上調整を削減または除去するために時間予測を当てにする。イントラ・モード(I−モード)は、いくつかの空間ベースの圧縮モードのいずれかを称し、例えば、単一方向予測(P−モード)または双方向予測(B−モード)のようなインタ・モードは、いくつかの時間ベースの圧縮モードのいずれかを称しうる。
図8に図示されるように、ビデオ・エンコーダ20は、エンコードされるべきビデオ・フレーム内の現在のビデオ・ブロックを受け取る。現在のビデオ・ブロックは、いずれかの4:2:0、4:2:2、または4:4:4色フォーマットにしたがってフォーマットされうる。図8の例では、ビデオ・エンコーダ20は、モード選択ユニット40、動き推定ユニット42、動き補償ユニット44、イントラ予測モジュール46、参照ピクチャ・メモリ64、加算器50、変換ユニット52、量子化ユニット54、およびエントロピ・エンコーディング・ユニット56を含んでいる。ビデオ・ブロック再構築のために、ビデオ・エンコーダ20はまた、逆量子化ユニット58、逆変換ユニット60、および加算器62、参照ピクチャ・メモリ64、ならびにデブロッカ66も含んでいる。本開示の技術にしたがって、ビデオ・エンコーダ20は加算器62の出力を選択的にフィルタリングするデブロッカ66を含んでいる。デブロッカ66は、本明細書に記載の技術にしたがって、デブロッキングを実行しうる。
エンコード処理中、ビデオ・エンコーダ20は、コード化されるべきビデオ・フレームまたはスライスを受け取る。フレームまたはスライスは、複数のビデオ・ブロックに分割されうる。動き推定ユニット42および動き補償ユニット44は、1または複数の参照フレームにおける1または複数のブロックに関連する、受信されたビデオ・ブロックのインタ予測コーディングを実行しうる。イントラ予測ユニット46は、代替として、空間予測を提供するためにコード化されるべきブロックとして、同じフレームまたはスライスにおける1または複数の近隣ブロックに関連する、受信されたビデオ・ブロックのイントラ予測コーディングを実行しうる。ビデオ・エンコーダ20は、例えば、ビデオ・データの各ブロックに対して適切なコーディング・モードを選択するために、複数のコーディング・パスを実行しうる。モード選択ユニット40は、例えば、誤り結果または事前に定義されたコーディング構造に基づいて、イントラまたはインタのコーディング・モードのうちの1つを選択しうる。そして、結果として得られたイントラ・コード化されたブロックまたはインタ・コード化されたブロックを加算器50に提供し、残差ブロック・データを生成する。また、加算器62に提供し、エンコードされたブロックを、参照フレームとして使用するために再構築する。
動き推定ユニット42および動き補償ユニット44は、高度に統合され、上述のビデオ・コーディング規格のいずれかにしたがって動作しうる。動き推定ユニット42および動き補償ユニット44は、概念の目的のために、個別に例示されている。動き推定は、ビデオ・ブロックの動きを推定する動きベクトルを生成する処理である。動きベクトルは、例えば、現在のフレーム内でコード化されている現在のブロック(または、その他のコード化されたユニット)に関連する予測参照フレーム(または、その他のコード化されたユニット)内の予測ブロックの変位を示しうる。予測ブロックは、絶対差分(SAD)の合計、平方差分(SSD)の合計、または、その他の別のメトリックによって決定されうるピクセル差分の観点においてコード化されるべきブロックに緊密にマッチするものとして発見されるブロックである。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを含みうる。繰り返すが、動き推定ユニット42と動き補償ユニット44とは、いくつかの例では、機能的に統合されうる。
動き推定ユニット42は、インタ・コード化されたフレームのビデオ・ブロックを、参照ピクチャ・メモリ64内の参照フレームのビデオ・ブロックと比較することによって、インタ・コード化されたフレームのビデオ・ブロックの動きベクトルを計算する。参照ピクチャ・メモリ64に格納された参照フレームは、ビデオ・コーディング規格にしたがって定義されたリストにしたがって組織化されうる。動き補償ユニット44は参照フレームのサブ整数ピクセルも補間しうる。動き推定ユニット42は、参照ピクチャ・メモリ64からの1または複数の参照フレームのブロックを、現在のフレームのエンコードされるべきブロックと比較する。参照ピクチャ・メモリ64における参照フレームが、サブ整数ピクセルのための値を含んでいる場合、動き推定ユニット42によって計算された動きベクトルは、参照フレームのサブ整数ピクセル位置を示しうる。サブ整数ピクセル位置の値が、参照ピクチャ・メモリ64に格納されていないのであれば、動き推定ユニット42および/または動き補償ユニット44は、参照ピクチャ・メモリ64に格納された参照フレームのサブ整数ピクセル位置の値を計算するようにも構成されうる。動き推定ユニット42は、計算された動きベクトルを、エントロピ・エンコーディング・ユニット56および動き補償ユニット44に送る。動きベクトルによって識別されたリファレンス・フレーム・ブロックは、予測ブロックと称されうる。動き補償ユニット44は、予測ブロックに基づいて予測データを計算しうる。
イントラ予測ユニット46は、動き推定ユニット42および動き補償ユニット44によって実行されるインタ予測に対する代替として、現在のブロックをイントラ予測しうる。特に、イントラ予測ユニット46は、現在のブロックのエンコードに使用するイントラ予測モードを決定しうる。一部の例では、イントラ予測ユニット46は、例えば、別々のエンコード・パスの間に、種々のイントラ予測モードを使用して現在のブロックをエンコードしうるもので、イントラ予測ユニット46(または一部の例では、モード選択ユニット40)は、例えば、歪み率最適化分析に基づき、テストされたモードから使用する適切なイントラ予測モードを選択しうる。HEVC WD5にしたがって、可能なイントラ予測モードには、平面予測モード、DC予測、および角度予測モードを含みうる。
さらに、一例では、動き推定ユニット42および/またはイントラ予測ユニット46は、種々のテストされた予測モードの歪み率最適化分析を使用して歪み率最適化値を計算し、テストされたモードの中から最良の歪み率最適化特性を有する予測モードを選択しうる。ビデオ・エンコーダ20は、コード化されているオリジナルのビデオ・ブロックから、予測ビデオ・ブロックを引くことにより、残差ビデオ・ブロックを形成する。加算器50は、この減算演算を実行する構成要素を表す。
変換ユニット52は、例えば離散コサイン変換(DCT)または概念的に類似した変換のような変換を、残差ブロックに適用し、残差変換係数値を備えるビデオ・ブロックが生成される。変換ユニット52は、例えばH.264規格によって定義されているもののように、概念的にDCTに類似したその他の変換を実行しうる。ウェーブレット変換、整数変換、サブ帯域変換、またはその他のタイプの変換もまた使用されうる。いずれの場合も、変換ユニット52は、この変換を残差ブロックに適用し、残差変換係数のブロックが生成される。この変換は、残差情報を、ピクセル値領域から、例えば周波数領域のような変換領域に変換しうる。量子化ユニット54は、残差変換係数を量子化して、さらにビット・レートを削減する。この量子化処理は、これら係数のうちのいくつかまたはすべてに関連付けられたビット深度を削減しうる。量子化の程度は、量子化パラメータを調節することにより修正されうる。したがって、知覚された「ブロック歪み」または再構築されたビデオ・データは量子化パラメータに基づきうる。
量子化後、量子化された変換係数を、エントロピ・エンコード・ユニット56が、エントロピ・コード化する。例えば、エントロピ・エンコード・ユニット56は、コンテンツ適応可変長コーディング(CAVLC)、コンテキスト適応バイナリ計算コーディング(CABAC)、またはその他のエントロピ・コーディング技術を実行しうる。コンテキスト適応バイナリ計算コーディングのケースでは、コンテキストは、近隣のビデオ・ブロックに基づきうる。エンコードされたビデオは、エントロピ・エンコード・ユニット56によるエントロピ・コーディング後、別のデバイスへ送信されうるか、または、後の送信または取得のためにアーカイブされうる。
いくつかのケースでは、エントロピ・エンコーディング・ユニット56またはビデオ・エンコーダ20のその他のユニットは、エントロピ・コーディングに加えて、その他のコーディング機能を実行するように構成されうる。例えば、エントロピ・エンコード・ユニット56は、ブロックおよびパーティションのためのCBP値を決定するように構成されうる。さらに、いくつかのケースでは、エントロピ・エンコード・ユニット56は、ビデオ・ブロックにおける係数のラン・レングス・コーディングを実行しうる。さらに、エントロピ・エンコード・ユニット56は、ビデオ・ブロックの変換係数をスキャンするために、ジグザグ・スキャンまたは他のスキャン・パターンを適用しうる。エントロピ・エンコード・ユニット56はまた、エンコードされたビデオ・ビットストリームにおける送信のために、適切なシンタックス要素を用いて、ヘッダ情報を構築しうる。
逆量子化ユニット58および逆変換ユニット60は、例えば、参照ブロックとして後に使用するために、逆量子化または逆変換をそれぞれ適用し、ピクセル領域内の残差ブロックを再構築しうる。例えば、動き補償ユニット44は、再構築された残差ブロックを、参照ピクチャ・メモリ64のフレームのうちの1つの予測ブロックへ加えることによって、参照ブロックを計算しうる。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、1または複数の補間フィルタを、再構築された残差ブロックに適用しうる。加算器62は、参照ブロックに、再構築された残差ブロックを加え、参照ピクチャ・メモリ64に格納するために、再構築されたビデオ・ブロックが生成される。格納された再構築ビデオ・ブロックは、その後のビデオ・フレームにおけるブロックをインタ・コード化するために、動き推定ユニット42および動き補償ユニット44によって、参照ブロックとして使用されうる。上述のとおり、ループ内デブロッキングは、ビデオ・エンコーダ20などの、ビデオ・エンコーダによって実行しうる。デブロッカ66は、本明細書に記載のデブロッキング技術のいずれかにしたがって輝度および色エッジをデブロッキングしうる。デブロッカ66により実行しうるデブロッキング技術の例は、図10に関連して詳細に記載される。
図9は、再構築されたビデオ・データをフィルタリングするための技術を実施しうるビデオ・デコーダ30の例を例示するブロック図である。図9の例では、ビデオ・デコーダ30は、エントロピ・デコード・ユニット70、動き補償ユニット72、イントラ予測ユニット74、逆量子化ユニット76、逆変換ユニット78、加算器80、参照ピクチャ・メモリ82、およびデブロッカ84を含む。ビデオ・デコーダ30は、いくつかの例において、ビデオ・エンコーダ20(図8)に関して記載されたエンコード・パスに一般に逆であるデコード・パスを実行しうる。
動き補償ユニット72は、エントロピ・デコード・ユニット70から受け取られた動きベクトルに基づいて、予測データを生成しうる。動き補償ユニット72は、参照ピクチャ・メモリ82内の参照フレームにおける予測ブロックを識別するために、ビットストリームで受け取られた動きベクトルを使用しうる。イントラ予測ユニット74は、空間的に隣接したブロックから予測ブロックを生成するために、ビットストリームで受け取られたイントラ予測モードを使用しうる。逆量子化ユニット76は、ビットストリームで提供され、エントロピ・デコード・ユニット70によってデコードされた、量子化されたブロック係数を逆量子化(すなわち、デクワンタイズ)する。逆量子化処理は、例えば、HEVC WD5のH.264デコード規格によって定義されたような従来の処理を含みうる。
逆変換ユニット78は、ピクセル領域における残差ブロックを生成するために、例えば、逆DCT、逆整数変換、または概念的に同様な逆変換処理を変換係数に適用する。動き補償ユニット72は、動き補償ブロックを生成し、恐らくは、補間フィルタに基づいて、補間を実行する。サブ・ピクセルの精度を持つ動き推定のために使用される補間フィルタのための識別名が、シンタックス要素に含まれうる。動き補償ユニット72は、参照ブロックのサブ整数ピクセルについて、補間された値を計算するために、ビデオ・ブロックのエンコード中、ビデオ・エンコーダ20によって使用されるような補間フィルタを使用しうる。動き補償ユニット72は、受信したシンタックス情報にしたがって、ビデオ・エンコーダ20によって使用される補間フィルタを決定しうる。そして、予測ブロックを生成するために、この補間フィルタを使用しうる。
動き補償ユニット72は、エンコードされたビデオ・シーケンスをデコードするために、エンコードされたビデオ・シーケンスのフレームをエンコードするために使用されるマクロブロックのサイズを決定するシンタックス情報のいくつかと、エンコードされたビデオ・シーケンスのフレームの各ビデオ・ブロックがどのようにパーティションされているのかを記述するパーティション情報と、各パーティションがどのようにしてエンコードされるのかを示すモードと、インタ・エンコードされたビデオ・ブロックまたはパーティションの1または複数の参照フレーム(および参照フレーム・リスト)と、その他の情報とを使用する。
加算器80は、再構築されたビデオ・ブロックを生成するために、残差ブロックを、動き補償ユニット72またはイントラ予測ユニットによって生成された対応する予測ブロックと加算する。再構築されたビデオ・ブロックはその後、参照ピクチャ・メモリ82に格納される。これは、その後の動き補償のため参照ブロックを提供し、さらに、(例えば、図7のディスプレイ・デバイス32のような)ディスプレイ・デバイス上で表示するために、デコードされたビデオを生成する。上述のとおり、ループ内またはポスト・ループ・デブロッキングは、ビデオ・デコーダ30などの、ビデオ・デコーダによって実行しうる。デブロッカ84は、本明細書に記載のデブロッキング技術のいずれかにしたがって輝度および色エッジをデブロッキングしうる。デブロッカ84は、ループ内・デブロッキングプロセスの一部としてデブロッカ66によって実行されるデブロッキング技術のいずれかにしたがってエッジをデブロッキングしうる。あるいは、デブロッカ84は、デブロッキング技術がデブロッカ66によって実行されない場合でも、ポスト・ループデブロッキングプロセスの一部としてエッジをデブロッキングしうる。さらに、一部の場合、ビデオ・デコーダ30は4:2:0色フォーマットにしたがってフォーマットされたビデオ・データを再構築し、4:2:2または4:4:4色フォーマットにしたがってフォーマットされるビデオ・データを生成するために、ビデオ・データでアップコンバージョン動作を実行することに留意されたい。
図10は、デブロッカ90の一例の構成部品を例示するブロック図である。一般に、デブロッカ66(図8)およびデブロッカ84(図9)のいずれかまたは両方はデブロッカ90と実質的に同様の構成部品を含みうる。ビデオ・エンコーダ、ビデオ・デコーダ、ビデオ・エンコーダ/デコーダ(CODEC)などの他のビデオ・コーディング・デバイス、ビデオ・ポストプロセッサなどにも、デブロッカ90と実質的に同様の構成部品を含みうる。デブロッカ90はハードウェア、ソフトウェア、またはファームウェアに実装しうる。ソフトウェアまたはファームウェアに実装する場合、対応するハードウェア(1または複数のプロセッサまたは処理ユニットおよびソフトウェアまたはファームウェアの命令を格納するためのメモリ)も備えられうる。
図10の例では、デブロッカ90には、サポート定義92を格納するメモリ、エッジ位置決めユニット93、デブロッキング決定ユニット94、エッジ位置データ構造にしたがってデータを格納するメモリ95、デブロッキング・フィルタリングユニット96、およびデブロッキング・フィルタ定義98を格納するメモリを含んでいる。デブロッカ90の構成部品のいずれかまたはすべては機能的に統合しうる。デブロッカ90の構成部品は、例示的目的のために別々に例示される。一般に、デブロッカ90は、例えば、ブロックの予測データと残差データを組み合わせる加算構成部品から、再構築されたビデオ・ブロックのサンプル値を受け取る。例えば、デブロッカ90は、4:2:0、4:2:2、または4:4:4色フォーマットのいずれかにしたがってフォーマットされたビデオ・ブロックを受け取りうる。この場合、デブロッカ90は輝度サンプル値のアレイおよび対応する色サンプル値のアレイを受け取る。デブロッカ90はさらに、ブロックの予測方法、すなわち、イントラ・モードまたはインタ・モードを示すデータも受け取りうる。以下に記載の例では、デブロッカ90は、LCUの再構築されたサンプル値、LCUの四分木で、CU四分木はCUへのLCUの分割方法を記載するCU四分木、リーフ・ノードCUの予測モードを示す情報、およびCUのTU構造を示す情報を含むデータを受け取るように構成される。
デブロッカ90は、デブロッカ90のメモリ、または対応するビデオ・コーディング・デバイスによって提供される外部メモリにエッジ位置データ構造95を保持しうる。上述のとおり、デブロッキングは、定義されたデブロッキング格子にしたがって実行しうる。エッジ位置データ構造95には、ビデオ・データのデブロッキングに使用されうる1または複数のデブロッキング格子が含まれうる。例えば、エッジ位置データ構造95は、上述の表2および3に対応するデブロッキング格子を格納しうる。一例では、エッジ位置データ構造95は、以下の表5に対応するデブロッキング格子を含みうるもので、デブロッカ90は表5に例示されたデブロッキング格子にしたがってビデオ・データのデブロッキングするように構成されうる。
Figure 2015504294
上述のとおり、Norkinは輝度成分には8×8デブロッキング格子および4:2:2色フォーマットにしたがってフォーマットされたビデオ・データの色成分には4×8デブロッキング格子を使用することを提案している。Norkinとは対照的に、表5に例示のとおり、4:2:2のサンプルフォーマットにしたがってフォーマットされたビデオ・データの場合、8×8デブロッキング格子が輝度成分に使用され、8×16デブロッキング格子が色成分に使用されうる。したがって、Norkinに比べ、表5のデブロッキング格子はデブロッカ90によって実行されるフィルタリング動作の合計数を削減する。一部の場合、実行されるデブロッキング動作の合計数は少なくとも25%削減されうる。このような削減で1920×1080の解像度のビデオ・データをデブロッキングするための計算数が大幅に削減され、適切な主観的品質を十分に提供する。輝度解像度で16×16等価格子を保持する彩度デブロッキング格子を提供することに加えて、表5のデブロッキング格子はさらに、パートごとの輝度境界強度と彩度境界強度の間のHM5からの直接マッピング関係(彩度ごとに4つのパート)も保持することに留意されたい。
上述のデブロッキング格子のいずれかおよびすべての組み合わせを適用することに加えて、デブロッカ90は、ビデオ・ブロックが4:4:4色フォーマットを使用してフォーマットされる場合、デブロッキング格子の解像度が成分のいずれかの4×4、8×8、16×16サンプルのいずれかおよびすべての組み合わせであるうるように構成されうる。一例では、デブロッカ90は、HEVC WD8のメイン・プロファイルに記載された輝度成分デブロッキングフィルタ方法を4:4:4色成分に適用するように構成されうる。さらに、デブロッカ90は、ビデオ・データが4:2:2形式にしたがってフフォーマットされる場合、色成分のサンプルの4×4、4×8、8×8、8×16、または16×16のデブロッキング格子を使用するように構成されうる。
上述のとおり、シンタックス要素のchroma_format_idcは色フォーマットを示しうる。デブロッカ90は、chroma_format_idc、または現在のビデオ・データの色フォーマットを表すデータを受け取り、chroma_format_idcの値に基づいてデブロッキング格子サイズを決定するように構成されうる。このように、デブロッカ90は、ビデオ・ブロックが4:2:0、4:2:2、または4:4:4色フォーマットの1つにしたがってフォーマットされたかどうかを決定して、ビデオ・ブロックが4:2:0色フォーマットにしたがってフォーマットされている場合には、8×8デブロッキング格子を使用して色エッジをデブロッキングし、ビデオ・ブロックが4:2:2色フォーマットにしたがってフォーマットされている場合には、8×16デブロッキング格子を使用して色エッジをデブロッキングし、ビデオ・ブロックが4:4:4色フォーマットにしたがってフォーマットされている場合には、16×16デブロッキング格子を使用して色エッジをデブロッキングするよう構成されうる。
上述のとおり、LCUは可変サイズのCUに分割されうるもので、CUはPUとCUを含めうる。したがって、デブロッキング格子にしたがって定義されたエッジは、実際のパーティション境界に対応する場合も対応しない場合もある。エッジ位置決めユニット93は、デブロッキング格子にしたがって定義されたエッジがCU、PU、またはTU境界に対応するかどうかを決定し得る。一部の例では、エッジ位置決めユニット93は、CUへのLCUの分割方法を示すLCUに対応するCU四分木を受け取りうる。エッジ位置決めユニット93は、CUク四分木を分析して、定義されたデブロッキング格子に基づくデブロッキングの候補である、LCUのCU間の境界を決定しうる。
一般に、デブロッキング決定ユニット94は1または複数のデブロッキング決定機能で構成されうる。上述のとおり、HEVCはいわゆる境界フィルタリング強度変数bSを含んでいる。一例では、デブロッキング決定ユニット94は、再構築されたサンプルの値および再構築されたビデオ・データに関連付けられたデータに基づきbSを決定する機能で構成されうる。サポート定義92には、bSなどの変数(すなわち、サポート)を決定するための定義を含みうる。デブロッキング決定ユニット94は、ビデオ・データの2つのブロック間の特定のエッジをデブロッキングすべきかどうかを決定するために、1または複数のデブロッキング決定機能をサポートの1または複数のセットに適用するよう構成されうる。しかし、一部の例では、デブロッキング決定ユニット94は、特定のエッジへのデブロッキング決定機能の適用をスキップするよう構成される。デブロッキング決定ユニット94からの破線は、フィルタリングされることなく出力するブロックのデータを表す。デブロッキング決定ユニット94が2つのブロック間の境界がフィルタリングされるべきではないことを決定する場合、デブロッカ90はデータを変更することなくブロックのデータを出力しうる。つまり、データは、デブロッキング・フィルタリングされないように、デブロッキング・フィルタリングユニット96をバイパスしうる。他方、デブロッキング決定ユニット94がエッジはデブロッキングされるべきであると決定する場合、デブロッキング決定ユニット94は、エッジをデブロッキングするために、デブロッキング・フィルタリングユニット96がエッジ付近のピクセルに関する値をフィルタリングするようにしうる。
上述のとおり、表4に関して、HEVCはノーマルおよびストロング・フィルタを含んでいる。デブロッキング・フィルタ定義98は、HEVC WD8にしたがって定義される、ノーマルおよびストロング・フィルタなどのデブロッキング・フィルタの定義を格納しうる。デブロッキング・フィルタリングユニット96は、デブロッキング決定ユニット94により示されているデブロッキングするエッジについて、デブロッキング・フィルタ定義98からデブロッキング・フィルタの定義を取得する。さらに上述のとおり、ビデオ・ブロックの水平エッジにノーマルまたはストロング・フィルタのいずれかを適用することによってブロック歪みの出現が大幅に削減され、垂直エッジへの同じフィルタの適用は非効率になりえる。デブロッカ90は、ノーマルまたはストロング・フィルタが水平エッジに適用される場合、垂直エッジに対して、削減された幅のフィルタを適用するか、フィルタを適用しないように構成されうる。さらに一部の場合、色成分に適用されるフィルタは、輝度成分に適用されるフィルタに基づくものとなりうる。
4:4:4色フォーマットの場合、色成分はサブサンプル化されないので、一部の例では、色成分のフィルタリングは輝度成分のフィルタリングに基づきうる。一例では、デブロッカは、デブロッキング条件(例えば、オン/オフ、ノーマル/ストロングなど)は、例えば輝度など単一の色成分に基づいて計算され、ビデオ・データが4:4:4色フォーマットにしたがってフォーマットされる場合には、他の成分と共有されうるように構成されうる。一例では、デブロッカ90は、ノーマル輝度デブロッキングフィルタと関連デブロッキング条件のみが4:4:4色成分に適用されうるように構成されうる。別の例では、ストロング輝度デブロッキングフィルタと関連デブロッキング条件のみが4:4:4色成分に適用されうる。代替として、デブロッカ90は、ビデオ・データが4:4:4色フォーマットにしたがってフォーマットされる場合、デブロッキング条件が各成分とは無関係に計算されうるように構成されうる。
4:2:2色フォーマットの場合、デブロッカ90は、垂直境界にノーマルまたはストロング・フィルタのいずれかが適用される場合に、どちらかを変更するよう構成されうる。一例では、垂直エッジのフィルタリング時に、フィルタ幅を削減されうる。一例では、ノーマル・フィルタ幅が削減され、垂直エッジの各側で1つのサンプルまで変更しうる。別の例では、ストロング・フィルタ幅が削減され、垂直エッジの各側で2つまたは1つのサンプルまで変更しうる。別の例では、ストロングまたはノーマル・フィルタが垂直エッジで無効にされうる。デブロッカ90は、色成分の水平エッジに適用されるフィルタに基づき、垂直境界の各側で変更されるサンプル数を削減するように構成されうる。例えば、ストロング・フィルタが色成分の水平エッジに適用される場合、フィルタリングは垂直エッジでは無効にされうる。別の例では、変更されるサンプルの列の数は、水平エッジがフィルタリングされる場合、1または2つの列によって削減されうる。
図11は、本明細書に記載の技術にしたがって、ビデオ・データの再構築されたブロックのフィルタリングを例示する概念図である。図11では、4:2:2色フォーマットにしたがってフォーマットされた、対応する色サンプルを含む輝度サンプルの16×16アレイを例示している。図11のアレイは、上述の異なるサイズのCUのいずれかの組み合わせを組み合わせることによって形成されうる。図11に例示のとおり、2つの水平色エッジが定義され、ここで、エッジは16の色サンプル値によって区別される。さらに、2つの垂直エッジが定義される。この場合、垂直エッジは8つの色サンプル値によって区別される。図11は、ストロング・フィルタが水平エッジに対応する色サンプルの行に適用される場所を例示する。図11に例示のとおり、上部および下部水平エッジに関連付けられた隣接するアレイの当該サンプル値もフィルタリングされうる。ストロング・フィルタはHEVC WD8にしたがって定義されたストロング・フィルタでありうる。さらに、図11は、削減された幅のフィルタが垂直エッジに対応する色サンプルの列に適用される場所を例示する。垂直エッジに関連付けられた隣接するアレイ(図示せず)のサンプル値もフィルタリングされることに留意されたい。図11に例示の例では、削減された幅のフィルタは2つの列(すなわち、pおよびq)にのみ適用されるストロング・フィルタとされうる。デブロッカ90は、図11に例示された概念図によるサンプル値のアレイをフィルタリングするように構成されうる。
図12は、ビデオ・データの再構築されたブロックをフィルタリングするための技術を例示する流れ図である。図12で例示された技術はデブロッカ90によって実行されるように記述されるが、ビデオ・エンコーダ20、ビデオ・デコーダ30、デブロッカ66、またはデブロッカ84のいずれかによって実行されうる。デブロッカ90は再構築されたサンプル値のアレイを取得する(1202)。再構築されたサンプル値のアレイは、4:2:0、4:2:2、4:4:4色フォーマットのいずれかにしたがってフォーマットされうる。アレイは、例えばCUのデコードの後など、複数の各種サイズのCUを組み合わせることによって取得されうる。デブロッカ90は水平色エッジに第1のフィルタを適用するかどうかを決定する(1204)。第1のフィルタは本明細書に記載のフィルタのいずれかでありうる(例えば、ストロング、ノーマル、HEVC彩度フィルタ、または削減された幅の当該バージョン)。水平色エッジは、色サンプル値(例えば、4、8、または16)のいずれかの数によって区別されうる。デブロッカ90は垂直色エッジに第2のフィルタを適用するかどうかを決定する(1204)。第2のフィルタは本明細書に記載のフィルタのいずれかでありうる(例えば、ストロング、ノーマル、または削減された幅の当該バージョン)。垂直色エッジは、色サンプル値(例えば、4、8、または16)のいずれかの数によって区別されうる。垂直色エッジに第2のフィルタを適用するかどうかの決定は、第1のフィルタを適用するかどうかの決定に基づきうる。例えば、第1のフィルタを適用する決定後、デブロッカ90は第2のフィルタを適用しないことを決定しうる。デブロッカ90は再構築されたサンプル値をフィルタリングする(1208)。フィルタリングされた再構築された値は、基準値(参照ピクチャ・メモリ64または参照ピクチャ・メモリ82など、参照ピクチャ・メモリに格納される)および/またはディスプレイへの出力として使用されうる。
このように、デブロッカ90、ビデオ・エンコーダ20、およびビデオ・デコーダ30は、サンプル値のアレイで、このアレイが4:2:2色フォーマットにしたがってフォーマットされたアレイの取得、第1のフィルタをアレイ内の定義済み水平エッジで、この定義済み水平エッジが16の色サンプル値に分けられている水平エッジに関連付けられた色サンプル値の行に適用するかどうかの決定、および第2のフィルタをアレイ内の定義済み垂直エッジで、この定義済み垂直エッジが8つの色サンプル値に分けられている垂直エッジに関連付けられた色サンプル値の列に適用するかどうかの決定を行うように構成されたビデオ・コーディング・デバイスの例を表す。
一般に、本開示の技術は、ビデオ・エンコーダおよびビデオ・デコーダによって実行されうる。1または複数の例では、記述された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせで実現されうる。ソフトウェアで実現されるのであれば、これら機能は、コンピュータ読取可能な媒体におけるコードまたは1または複数の命令群で送信されるか格納され、ハードウェア・ベースの処理ユニットによって実行されうる。ハードウェア・ベースの処理ユニットには、携帯電話、スマート・フィフォン、ラップトップ・コンピュータ、タブレット・コンピュータ、携帯情報端末(PDA)、モバイル・ビデオ表示デバイスなどの移動機、または他のそのような移動機を含めうる。コンピュータ読取可能な媒体は、コンピュータ読取可能な記憶媒体を含みうる。これは、例えばデータ記憶媒体のような有形な媒体に対応するか、または、例えば通信プロトコルにしたがって、1つの場所から別の場所へのコンピュータ・プログラムの転送を容易にする任意の媒体を含む通信媒体に対応する。このように、コンピュータ読取可能な媒体は、一般に、(1)非一時的である有形のコンピュータ読取可能な記憶媒体、または、(2)例えば信号または搬送波のような通信媒体に対応しうる。データ記憶媒体は、本開示において記述された技術を実施するための命令群、コード、および/または、データ構造を取得するために1または複数のコンピュータまたは1または複数のプロセッサによってアクセスされうる任意の利用可能な媒体でありうる。コンピュータ・プログラム製品は、コンピュータ読取可能な媒体を含みうる。
限定するわけではなく、例として、このようなコンピュータ読取可能な記憶媒体は、RAM、ROM、EEPROM、CD−ROM、またはその他の光ディスク記憶装置、磁気ディスク記憶装置、またはその他の磁気記憶デバイス、フラッシュ・メモリ、または、命令群またはデータ構造の形式でかつコンピュータによってアクセスされうる所望のプログラム・コードを格納するために使用されうるその他任意の媒体を備えうる。さらに、いかなる接続も、コンピュータ読取可能な媒体として適切に称される。例えば、同軸ケーブル、光ファイバ・ケーブル、対より線・ペア、デジタル加入者線(DSL)、または、例えば赤外線や無線やマイクロ波のような無線技術を用いて、ウェブサイト、サーバ、またはその他の遠隔ソースから命令群が送信されるのであれば、同軸ケーブル、光ファイバ・ケーブル、対より線、DSL、あるいは、赤外線や無線やマイクロ波のような無線技術が、媒体の定義に含まれる。しかしながら、コンピュータ読取可能な記憶媒体およびデータ記憶媒体は、コネクション、搬送波、信号、またはその他の過渡的な媒体を含まず、代わりに、非過渡的な、有形の記憶媒体に向けられていることが理解されるべきである。本明細書で使用されるディスク(diskおよびdisc)は、コンパクト・ディスク(disc)(CD)、レーザ・ディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルー・レイ・ディスク(disc)を含む。これらdiscは、レーザを用いてデータを光学的に再生する。それに対して、diskは、通常、データを磁気的に再生する。上記の組み合わせもまた、コンピュータ読取可能な媒体の範囲内に含まれるべきである。
命令群は、例えば1または複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向けIC(ASIC)、フィールド・プログラマブル・ロジック・アレイ(FPGA)、またはその他等価な集積またはディスクリート論理回路のような1または複数のプロセッサによって実行されうる。したがって、本明細書で使用されているように、用語「プロセッサ」は、前述した構成、または、本明細書に記載された技術の実施のために適切なその他任意の構成のうちのいずれかを称しうる。さらに、いくつかの態様では、本明細書に記載された機能は、エンコードおよびデコードのために構成された専用のハードウェアおよび/またはソフトウェア・モジュール内に適用されうるか、または、結合されたコーデック内に組み込まれうる。さらに、これら技術は、1または複数の回路または論理要素で完全に実現されうる。
本開示の技術は、無線ハンドセット、集積回路(IC)、またはICのセット(例えば、チップセット)を含む種々さまざまなデバイスまたは装置において実現されうる。さまざまな構成要素、モジュール、またはユニットは、本開示では、開示された技術を実行するように構成されたデバイスの機能態様を強調するように記載されているが、異なるハードウェア・ユニットによる実現を必ずしも必要とするわけではない。むしろ、前述されたように、さまざまなユニットは、適切なソフトウェアおよび/またはハードウェアと連携する、前述されたような1または複数のプロセッサを含む共通のハードウェア・ユニットの集合によって提供されうるか、コーデック・ハードウェア・ユニットに結合されうる。
実装形態に応じて、本明細書に記載の方法のいずれかの特定の行為またはイベントは異なるシーケンスで実行されうるもので、全体的に追加、一体化、または省略されうる(例えば、方法を実施するのに、必ずしも記載のすべての行為またはイベントが必要なわけではない)。さらに、特定の例では、行為またはイベントは、例えば、逐次的よりはむしろ、マルチ・スレッド処理、割り込み処理、または複数のプロセッサにより同時に実行しうる。

Claims (38)

  1. 再構築されたビデオ・データをフィルタリングするための方法であって、
    サンプル値のアレイを取得すること、ここにおいて、前記アレイが4:2:2色フォーマットにしたがってフォーマットされる、と、
    第1のフィルタを前記アレイ内の定義された水平エッジに関連付けられた色サンプル値の行に適用するかどうかを決定すること、ここにおいて前記定義された水平エッジが16の色サンプル値に分けられる、と、
    第2のフィルタをアレイ内の定義された垂直エッジに関連付けられた色サンプル値の列に適用するかどうかを決定すること、ここにおいて前記定義された垂直エッジが8つの色サンプル値に分けられている、と、
    を備える方法。
  2. 前記第2のフィルタを適用するかどうかを決定することが前記第1のフィルタを適用するかどうかの決定の少なくとも一部に基づく、請求項1に記載の方法。
  3. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の6つまでの行を変更し、前記第2のフィルタは、前記第1のフィルタが適用される場合には、適用されない、請求項2に記載の方法。
  4. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の6つまでの行を変更し、前記第2のフィルタは定義された垂直エッジに関連付けられた色サンプル値の4つまでの列を変更する、請求項1に記載の方法。
  5. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の6つまでの行を変更し、前記第2のフィルタは定義された垂直エッジに関連付けられた色サンプル値の2つまでの列を変更する、請求項1に記載の方法。
  6. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の4つまでの行を変更し、前記第2のフィルタは定義された垂直エッジに関連付けられた色サンプル値の2つまでの列を変更する、請求項1に記載の方法。
  7. サンプル値のアレイを取得することがビデオ・データの残差ブロックとビデオ・データの対応する予測ブロックを加算することを含む、請求項1に記載の方法。
  8. 再構築されたビデオ・データをフィルタリングするための装置であって、
    サンプル値のアレイを取得すること、ここにおいて、前記アレイが4:2:2色フォーマットにしたがってフォーマットされる、と、
    第1のフィルタを前記アレイ内の定義された水平エッジに関連付けられた色サンプル値の行に適用するかどうかを決定すること、ここにおいて、前記定義された水平エッジが16の色サンプル値に分けられている、と、
    第2のフィルタをアレイ内の定義された垂直エッジに関連付けられた色サンプル値の列に適用するかどうかを決定すること、ここにおいて、前記定義された垂直エッジが8つの色サンプル値に分けられている、と、
    を行うように構成されたビデオ・コーディング・デバイスを備える装置。
  9. 前記第2のフィルタを適用するかどうかを決定することが、前記第1のフィルタを適用するかどうかの決定の少なくとも一部に基づく、請求項8に記載の装置。
  10. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の6つまでの行を変更し、前記第2のフィルタは、前記第1のフィルタが適用される場合には、適用されない、請求項9に記載の装置。
  11. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の6つまでの行を変更し、前記第2のフィルタは定義された垂直エッジに関連付けられた色サンプル値の4つまでの列を変更する、請求項8に記載の装置。
  12. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の6つまでの行を変更し、前記第2のフィルタは定義された垂直エッジに関連付けられた色サンプル値の2つまでの列を変更する、請求項8に記載の装置。
  13. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の4つまでの行を変更し、前記第2のフィルタは定義された垂直エッジに関連付けられた色サンプル値の2つまでの列を変更する、請求項8に記載の装置。
  14. サンプル値のアレイを取得することがビデオ・データの残差ブロックとビデオ・データの対応する予測ブロックを加算することを含む、請求項8に記載の装置。
  15. 前記ビデオ・コーディング・デバイスはビデオ・デコード・デバイスであり、
    集積回路と、
    マイクロプロセッサと、
    の少なくとも1つをさらに備える、請求項8に記載の装置。
  16. 前記ビデオ・コーディング・デバイスはビデオ・エンコード・デバイスであり、
    集積回路と、
    マイクロプロセッサと、
    の少なくとも1つをさらに備える、請求項8に記載の装置。
  17. コンピュータ・プログラム製品であって、
    実行されるときに、再構築されたビデオ・データをフィルタリングするためのデバイスの1または複数のプロセッサに、
    サンプル値のアレイを取得させること、ここにおいて、前記アレイが4:2:2色フォーマットにしたがってフォーマットされたアレイを取得する、と、
    第1のフィルタをアレイ内の定義された水平エッジに関連付けられた色サンプル値の行に適用するかどうかを決定すること、ここにおいて、前記定義された水平エッジが16の色サンプル値に分けられる、と、
    第2のフィルタをアレイ内の定義された垂直エッジに関連付けられた色サンプル値の列に適用するかどうかを決定すること、ここにおいて、前記定義された垂直エッジが8つの色サンプル値に分けられる、と、
    を行わせる保存された命令を有するコンピュータ読取可能な記憶媒体を備えるコンピュータ・プログラム製品。
  18. 前記第2のフィルタを適用するかどうかを決定することが前記第1のフィルタを適用するかどうかの決定の少なくとも一部に基づく、請求項17に記載のコンピュータ・プログラム製品。
  19. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の6つまでの行を変更し、前記第2のフィルタは、前記第1のフィルタが適用される場合には、適用されない、請求項18に記載のコンピュータ・プログラム製品。
  20. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の6つまでの行を変更し、前記第2のフィルタは定義された垂直エッジに関連付けられた色サンプル値の4つまでの列を変更する、請求項17に記載のコンピュータ・プログラム製品。
  21. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の6つまでの行を変更し、前記第2のフィルタは定義された垂直エッジに関連付けられた色サンプル値の2つまでの列を変更する、請求項17に記載のコンピュータ・プログラム製品。
  22. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の4つまでの行を変更し、前記第2のフィルタは定義された垂直エッジに関連付けられた色サンプル値の2つまでの列を変更する、請求項17に記載のコンピュータ・プログラム製品。
  23. 再構築されたサンプル値の複数の隣接するアレイを取得する前記命令は、ビデオ・データの残差ブロックとビデオ・データの対応する予測ブロックを加算する命令を含む、請求項17に記載のコンピュータ・プログラム製品。
  24. 再構築されたビデオ・データをフィルタリングするための装置であって、
    サンプル値のアレイを取得する手段、ここにおいて、前記アレイが4:2:2色フォーマットにしたがってフォーマットされる、と、
    第1のフィルタをアレイ内の定義された水平エッジに関連付けられた色サンプル値の行に適用するかどうかを決定するための手段、ここにおいて、前記定義された水平エッジが16の色サンプル値に分けられている、と、
    第2のフィルタをアレイ内の定義された垂直エッジに関連付けられた色サンプル値の列に適用するかどうかを決定するための手段、ここにおいて、前記定義された垂直エッジが8つの色サンプル値に分けられている、と、
    を備える装置。
  25. 前記第2のフィルタを適用するかどうかを決定することが前記第1のフィルタを適用するかどうかの決定の少なくとも一部に基づく、請求項24に記載の装置。
  26. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の6つまでの行を変更し、前記第2のフィルタは、前記第1のフィルタが適用される場合には、適用されない、請求項25に記載の装置。
  27. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の6つまでの行を変更し、前記第2のフィルタは定義された垂直エッジに関連付けられた色サンプル値の4つまでの列を変更する、請求項24に記載の装置。
  28. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の6つまでの行を変更し、前記第2のフィルタは定義された垂直エッジに関連付けられた色サンプル値の2つまでの列を変更する、請求項24に記載の装置。
  29. 前記第1のフィルタは定義された水平エッジに関連付けられた色サンプル値の4つまでの行を変更し、前記第2のフィルタは定義された垂直エッジに関連付けられた色サンプル値の2つまでの列を変更する、請求項24に記載の装置。
  30. サンプル値のアレイを取得するための手段が、ビデオ・データの残差ブロックとビデオ・データの対応する予測ブロックを加算するための手段を含む、請求項24に記載の装置。
  31. 再構築されたビデオ・データをフィルタリングするための方法であって、
    ビデオ・ブロックが4:2:0、4:2:2、または4:4:4色フォーマットの1つにしたがってフォーマットされたかどうかを決定することと、
    前記決定した色フォーマットに基づいて色エッジをデブロッキングすること、ここにおいて、前記ビデオ・ブロックが4:2:0色フォーマットにしたがってフォーマットされている場合には、デブロッキングは8×8デブロッキング格子に基づき、前記ビデオ・ブロックが4:2:2色フォーマットにしたがってフォーマットされている場合には、デブロッキングは8×16デブロッキング格子に基づき、前記ビデオ・ブロックが4:4:4色フォーマットにしたがってフォーマットされている場合には、デブロッキングは16×16デブロッキング格子に基づく、と、
    を備える方法。
  32. ビデオ・ブロックが4:2:0、4:2:2、または4:4:4色フォーマットの1つにしたがってフォーマットされたかどうかの決定をすることが、シーケンス・パラメータ・セット(SPS)に含まれる色フォーマットインデックス値の値を決定することを含む、請求項31に記載の方法。
  33. 再構築されたビデオ・データをフィルタリングするための装置であって、
    ビデオ・ブロックが4:2:0、4:2:2、または4:4:4色フォーマットの1つにしたがってフォーマットされたかどうかを決定することと、
    前記決定された色フォーマットに基づいて色エッジをデブロッキングすること、ここにおいて、前記ビデオ・ブロックが4:2:0色フォーマットにしたがってフォーマットされている場合には、デブロッキングは8×8デブロッキング格子に基づき、前記ビデオ・ブロックが4:2:2色フォーマットにしたがってフォーマットされている場合には、デブロッキングは8×16デブロッキング格子に基づき、前記ビデオ・ブロックが4:4:4色フォーマットにしたがってフォーマットされている場合には、デブロッキングは16×16デブロッキング格子に基づく、と、
    を行うように構成されたビデオ・コーディング・デバイスを備える装置。
  34. ビデオ・ブロックが4:2:0、4:2:2、または4:4:4色フォーマットの1つにしたがってフォーマットされたかどうかを決定することが、シーケンス・パラメータ・セット(SPS)に含まれる色フォーマットインデックス値の値を決定することを含む、請求項33に記載の装置。
  35. コンピュータ・プログラム製品であって、実行される時に、再構築されたビデオ・データをフィルタリングするためのデバイスの1または複数のプロセッサに、
    ビデオ・ブロックが4:2:0、4:2:2、または4:4:4色フォーマットの1つにしたがってフォーマットされたかどうかを決定することと、
    前記決定した色フォーマットに基づいて色エッジをデブロッキングすること、ここにおいて、前記ビデオ・ブロックが4:2:0色フォーマットにしたがってフォーマットされている場合には、デブロッキングは8×8デブロッキング格子に基づき、前記ビデオ・ブロックが4:2:2色フォーマットにしたがってフォーマットされている場合には、デブロッキングは8×16デブロッキング格子に基づき、前記ビデオ・ブロックが4:4:4色フォーマットにしたがってフォーマットされている場合には、デブロッキングは16×16デブロッキング格子に基づく、と、
    を行わせる保存された命令を有するコンピュータ読取可能な記憶媒体を備えるコンピュータ・プログラム製品。
  36. ビデオ・ブロックが4:2:0、4:2:2、または4:4:4色フォーマットの1つにしたがってフォーマットされたかどうかの決定が、シーケンス・パラメータ・セット(SPS)に含まれる色フォーマットインデックス値の値を決定することを含む、請求項35に記載のコンピュータ・プログラム製品。
  37. 再構築されたビデオ・データをフィルタリングするための装置であって、
    ビデオ・ブロックが4:2:0、4:2:2、または4:4:4色フォーマットの1つにしたがってフォーマットされたかどうかを決定するための手段と、
    前記決定した色フォーマットに基づいて色エッジをデブロッキングする手段、ここにおいて、前記ビデオ・ブロックが4:2:0色フォーマットにしたがってフォーマットされている場合には、デブロッキングは8×8デブロッキング格子に基づき、前記ビデオ・ブロックが4:2:2色フォーマットにしたがってフォーマットされている場合には、デブロッキングは8×16デブロッキング格子に基づき、前記ビデオ・ブロックが4:4:4色フォーマットにしたがってフォーマットされている場合には、デブロッキングは16×16デブロッキング格子に基づく、と、
    を備える装置。
  38. ビデオ・ブロックが4:2:0、4:2:2、または4:4:4色フォーマットの1つにしたがってフォーマットされたかどうかを決定するための手段が、シーケンス・パラメータ・セット(SPS)に含まれる色フォーマットインデックス値の値を決定するための手段を含む、請求項37に記載の装置。
JP2014553471A 2012-01-19 2013-01-18 ビデオ・コーディングのための色データのデブロッキング Active JP6133330B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261588554P 2012-01-19 2012-01-19
US61/588,554 2012-01-19
US201261705525P 2012-09-25 2012-09-25
US61/705,525 2012-09-25
US13/744,019 2013-01-17
US13/744,019 US9363516B2 (en) 2012-01-19 2013-01-17 Deblocking chroma data for video coding
PCT/US2013/022211 WO2013109936A1 (en) 2012-01-19 2013-01-18 Deblocking chroma data for video coding

Publications (3)

Publication Number Publication Date
JP2015504294A true JP2015504294A (ja) 2015-02-05
JP2015504294A5 JP2015504294A5 (ja) 2016-02-18
JP6133330B2 JP6133330B2 (ja) 2017-05-24

Family

ID=48797205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014553471A Active JP6133330B2 (ja) 2012-01-19 2013-01-18 ビデオ・コーディングのための色データのデブロッキング

Country Status (6)

Country Link
US (1) US9363516B2 (ja)
EP (1) EP2805502B1 (ja)
JP (1) JP6133330B2 (ja)
KR (1) KR101719971B1 (ja)
CN (1) CN104054344B (ja)
WO (1) WO2013109936A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5488719B2 (ja) * 2010-12-29 2014-05-14 富士通株式会社 映像信号符号化装置、映像信号符号化方法およびプログラム
US9008180B2 (en) 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
US8913656B2 (en) * 2011-10-14 2014-12-16 Mediatek Inc. Method and apparatus for in-loop filtering
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
AU2013200051B2 (en) * 2013-01-04 2016-02-11 Canon Kabushiki Kaisha Method, apparatus and system for de-blocking video data
US20140205025A1 (en) * 2013-01-22 2014-07-24 Microsoft Corporation Adaptive filter application to video data
US9510002B2 (en) 2013-09-09 2016-11-29 Apple Inc. Chroma quantization in video coding
US20150124873A1 (en) * 2013-11-01 2015-05-07 Microsoft Corporation Chroma Down-Conversion and Up-Conversion Processing
US10230992B2 (en) 2014-03-03 2019-03-12 Sony Corporation Strong intra smoothing for in RExt
WO2015131404A1 (en) * 2014-03-07 2015-09-11 Mediatek Singapore Pte. Ltd. Methods for depth map coding
US20150382016A1 (en) * 2014-06-27 2015-12-31 Mitsubishi Electric Research Laboratories, Inc. Method for Processing Multi-Component Video and Images
EP3206400A4 (en) * 2014-10-06 2018-05-16 Sony Corporation Image processing device and method
US9854201B2 (en) 2015-01-16 2017-12-26 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
US9749646B2 (en) 2015-01-16 2017-08-29 Microsoft Technology Licensing, Llc Encoding/decoding of high chroma resolution details
WO2017045101A1 (en) * 2015-09-14 2017-03-23 Mediatek Singapore Pte. Ltd. Advanced deblocking filter in video coding
US10440391B2 (en) * 2016-08-05 2019-10-08 Mediatek Inc. Method and apparatus of video coding
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
CN110249630B (zh) 2017-03-23 2020-11-27 华为技术有限公司 去块效应滤波装置、方法和存储介质
US10531085B2 (en) * 2017-05-09 2020-01-07 Futurewei Technologies, Inc. Coding chroma samples in video compression
EP3454556A1 (en) * 2017-09-08 2019-03-13 Thomson Licensing Method and apparatus for video encoding and decoding using pattern-based block filtering
US10965941B2 (en) * 2017-10-09 2021-03-30 Qualcomm Incorporated Position-dependent prediction combinations in video coding
AU2018415347B2 (en) * 2018-03-28 2023-09-07 Huawei Technologies Co., Ltd. An image processing device and method for performing efficient deblocking
CA3119935A1 (en) 2018-11-14 2020-05-22 Sharp Kabushiki Kaisha Systems and methods for applying deblocking filters to reconstructed video data
WO2020141880A1 (ko) * 2019-01-02 2020-07-09 엘지전자 주식회사 영상 코딩 시스템에서 디블록킹 필터링을 사용하는 영상 디코딩 방법 및 장치
JP2023514136A (ja) * 2020-02-21 2023-04-05 アリババ グループ ホウルディング リミテッド クロマ信号を処理するための方法
KR20220161412A (ko) 2020-04-02 2022-12-06 엘지전자 주식회사 비디오 또는 영상 코딩 시스템에서의 흑백 영상에 대한 크로마 디블록킹 파라미터 정보에 기반한 영상 코딩 방법

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US8116379B2 (en) * 2004-10-08 2012-02-14 Stmicroelectronics, Inc. Method and apparatus for parallel processing of in-loop deblocking filter for H.264 video compression standard
KR20060060919A (ko) 2004-12-01 2006-06-07 삼성전자주식회사 H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법
KR100843196B1 (ko) * 2004-12-17 2008-07-02 삼성전자주식회사 H.264/avc 비디오 디코더의 디블록킹 필터
TWI319291B (en) * 2006-07-25 2010-01-01 Novatek Microelectronics Corp Self-adaptive image processing device and method
JP4712642B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 デブロッキングフィルタ、画像符号化装置および画像復号化装置
US9001899B2 (en) * 2006-09-15 2015-04-07 Freescale Semiconductor, Inc. Video information processing system with selective chroma deblock filtering
US20080123750A1 (en) * 2006-11-29 2008-05-29 Michael Bronstein Parallel deblocking filter for H.264 video codec
US8204129B2 (en) * 2007-03-27 2012-06-19 Freescale Semiconductor, Inc. Simplified deblock filtering for reduced memory access and computational complexity
KR20090013513A (ko) * 2007-08-02 2009-02-05 삼성전자주식회사 영상처리방법 및 이를 적용한 영상처리장치
CN101472173B (zh) * 2007-12-29 2012-07-25 安凯(广州)微电子技术有限公司 一种去块滤波方法、系统及去块滤波器
GB0807804D0 (en) * 2008-04-29 2008-06-04 Imagination Tech Ltd Interlaced video edge filtering
JP5183664B2 (ja) * 2009-10-29 2013-04-17 財團法人工業技術研究院 ビデオ圧縮のためのデブロッキング装置及び方法
US8761545B2 (en) * 2010-11-19 2014-06-24 Rovi Technologies Corporation Method and apparatus for identifying video program material or content via differential signals
US9565436B2 (en) * 2011-01-14 2017-02-07 Telefonaktiebolaget Lm Ericsson (Publ) Method for filter control and a filtering control device
US20120213438A1 (en) * 2011-02-23 2012-08-23 Rovi Technologies Corporation Method and apparatus for identifying video program material or content via filter banks
US20120230423A1 (en) * 2011-03-10 2012-09-13 Esenlik Semih Line memory reduction for video coding and decoding
US20120257702A1 (en) * 2011-04-11 2012-10-11 Matthias Narroschke Order of deblocking
SG10201408745YA (en) * 2011-06-28 2015-02-27 Samsung Electronics Co Ltd Prediction method and apparatus for chroma component of image using luma component of image
US9167269B2 (en) * 2011-10-25 2015-10-20 Qualcomm Incorporated Determining boundary strength values for deblocking filtering for video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANDREY NORKIN ET AL., CE12: ERICSSON'S AND MEDIATEK'S DEBLOCKING FILTER, JPN6016045635, 14 July 2011 (2011-07-14) *

Also Published As

Publication number Publication date
EP2805502B1 (en) 2016-08-31
EP2805502A1 (en) 2014-11-26
US20130188744A1 (en) 2013-07-25
US9363516B2 (en) 2016-06-07
KR20140120346A (ko) 2014-10-13
WO2013109936A1 (en) 2013-07-25
CN104054344B (zh) 2017-10-17
KR101719971B1 (ko) 2017-03-27
JP6133330B2 (ja) 2017-05-24
CN104054344A (zh) 2014-09-17

Similar Documents

Publication Publication Date Title
JP6133330B2 (ja) ビデオ・コーディングのための色データのデブロッキング
US11006146B2 (en) Intra-prediction method, and encoder and decoder using same
KR102493839B1 (ko) 비디오 코딩에서의 적응적 컬러 변환을 위한 qp 도출 및 오프셋
TWI479869B (zh) 色調片段位準量化系數偏移及解塊
JP5960309B2 (ja) マッピングされた変換と走査モードとを使用するビデオコード化
KR102356419B1 (ko) 컬러-공간 변환 코딩을 위한 양자화 파라미터들
JP5922245B2 (ja) クロマ成分のための適応ループフィルタ処理
US9838718B2 (en) Secondary boundary filtering for video coding
JP6234994B2 (ja) ビデオ・コーディングのためのウェーブフロント並列処理
JP5792319B2 (ja) ビデオデータのブロック係数のモード依存型スキャニング
US20110249754A1 (en) Variable length coding of coded block pattern (cbp) in video compression
JP2016534649A (ja) イントラブロックコピー実行時の領域決定
WO2015006662A2 (en) Adaptive filtering in video coding
JP2013543713A (ja) ビデオ符号化のための適応動きベクトル解像度信号伝達
US20130170562A1 (en) Deblocking decision functions for video coding
JP2018507625A (ja) パレットモードコード化のためのエスケープ画素をコード化すること

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151224

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151224

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20161012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161122

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20161122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170306

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170419

R150 Certificate of patent or registration of utility model

Ref document number: 6133330

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250