JP2014516219A - ビデオコーディングのためのブロッキネスアーティファクトのフィルタ処理 - Google Patents

ビデオコーディングのためのブロッキネスアーティファクトのフィルタ処理 Download PDF

Info

Publication number
JP2014516219A
JP2014516219A JP2014510440A JP2014510440A JP2014516219A JP 2014516219 A JP2014516219 A JP 2014516219A JP 2014510440 A JP2014510440 A JP 2014510440A JP 2014510440 A JP2014510440 A JP 2014510440A JP 2014516219 A JP2014516219 A JP 2014516219A
Authority
JP
Japan
Prior art keywords
prediction mode
block
sdip
edge
common edge
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
JP2014510440A
Other languages
English (en)
Other versions
JP5937200B2 (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 JP2014516219A publication Critical patent/JP2014516219A/ja
Application granted granted Critical
Publication of JP5937200B2 publication Critical patent/JP5937200B2/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

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

Abstract

一例では、ビデオデータをコーディングするための装置は、ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断することであって、第1のブロックと第2のブロックとが共通エッジを共有する、判断することと、第1の予測モードを使用して第1のブロックを復号し、第2の予測モードを使用して第2のブロックを復号することと、第1の予測モードと第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、第1のブロックと第2のブロックとの間の共通エッジをデブロックすべきかどうかを判断することとを行うように構成されたビデオコーダを含む。
【選択図】
図11

Description

本出願は、2011年5月12日に出願された米国仮出願第61/485,442号、2011年6月2日に出願された米国仮出願第61/492,761号、2011年6月21日に出願された米国仮出願第61/499,563号、および2011年7月12日に出願された第61/506,938号の優先権を主張するもので、これらの各々がその該当する全てにおいて参照により本明細書に組み込まれる。
本開示はビデオコーディングに関し、特にビデオデータをデブロックすることに関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイス等を含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、MPEG−2、MPEG−4、ITU−T H.263またはITU−T H.264/MPEG−4,Part10,Advanced Video Coding(AVC)によって定義された規格、およびそのような規格の拡張に記載されているもののようなビデオ圧縮技法を実装する。
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および/または時間的予測を行う。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスはブロックに区分され得る。各ブロックはさらに区分され得る。イントラコード化(I)フレームまたはスライス中のブロックは、隣接ブロックに関する空間的予測を使用して符号化される。インターコード化(PまたはB)フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロックに関する空間的予測、あるいは他の参照フレームに関する時間的予測を使用し得る。
一般に、本開示は、複数のビデオブロックのいずれかが短距離イントラ予測(SDIP:short distance intra prediction)を使用して予測されるかどうかに少なくとも部分的に基づいてこれらブロック間のエッジをデブロックするための技法について説明する。本開示の技法は、そのようなエッジに適用されるデブロッキング決定(deblocking decisions)およびデブロッキング関数(deblocking functions)を改善し得る。同様に、本開示の技法は、デブロックのためにエッジを処理するときに、エッジの過剰処理とストレージ要件の劇的な増加とを回避し得る。
一例では、方法は、ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断することであって、第1のブロックと第2のブロックとが共通エッジを共有する、判断することと、第1の予測モードを使用して第1のブロックを復号し、第2の予測モードを使用して第2のブロックを復号することと、第1の予測モードと第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、第1のブロックと第2のブロックとの間の共通エッジをデブロックすべきかどうかを判断することとを含む。
別の例では、装置は、ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断することであって、第1のブロックと第2のブロックとが共通エッジを共有する、判断することと、第1の予測モードを使用して第1のブロックを復号し、第2の予測モードを使用して第2のブロックを復号することと、第1の予測モードと第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、第1のブロックと第2のブロックとの間の共通エッジをデブロックすべきかどうかを判断することとを行うように構成されたビデオコーダを含む。
別の例では、装置は、ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断するための手段であって、第1のブロックと第2のブロックとが共通エッジを共有する、判断するための手段と、第1の予測モードを使用して第1のブロックを復号し、第2の予測モードを使用して第2のブロックを復号するための手段と、第1の予測モードと第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、第1のブロックと第2のブロックとの間の共通エッジをデブロックすべきかどうかを判断するための手段とを含む。
別の例では、コンピュータプログラム製品は、実行されたとき、ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断することであって、第1のブロックと第2のブロックとが共通エッジを共有する、判断することと、第1の予測モードを使用して第1のブロックを復号し、第2の予測モードを使用して第2のブロックを復号することと、第1の予測モードと第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、第1のブロックと第2のブロックとの間の共通エッジをデブロックすべきかどうかを判断することとを、ビデオデータをコーディングするためのデバイスの1つまたは複数のプロセッサに行わせる複数の命令を記憶したコンピュータ可読媒体を含む。
1つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、並びに特許請求の範囲から明らかになろう。
コーディングユニット(CU:coding unit)が短距離イントラ予測(SDIP)を使用して予測されるかどうかに少なくとも部分的に基づいて、2つのCU間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 CUがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、CU間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法を実装し得るビデオエンコーダの一例を示すブロック図。 CUがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、CU間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法を実装し得るビデオデコーダの一例を示すブロック図。 例示的なデブロッカーの構成要素を示すブロック図。 SDIP予測されたCUを含む例示的な最大コーディングユニット(LCU:largest coding unit)を示す概念図。 ブロック間のエッジの近くの2つの例示的なブロックのピクセル位置を示す概念図。 2つのブロック間のエッジに対する様々なSDIP予測ユニット(PU:prediction unit)配向を示す概念図。 2つのブロック間のエッジに対する様々なSDIP予測ユニット(PU)配向を示す概念図。 2つのブロック間のエッジに対する様々なSDIP予測ユニット(PU)配向を示す概念図。 2つのブロック間のエッジに対する様々なSDIP予測ユニット(PU)配向を示す概念図。 2つのブロック間のエッジに対する様々なSDIP予測ユニット(PU)配向を示す概念図。 2つのブロック間のエッジに対する様々なSDIP予測ユニット(PU)配向を示す概念図。 2つのブロック間のエッジに対する様々なSDIP予測ユニット(PU)配向を示す概念図。 2つのブロック間のエッジに対する様々なSDIP予測ユニット(PU)配向を示す概念図。 2つのブロック間のエッジに対する様々なSDIP予測ユニット(PU)配向を示す概念図。 SDIP PUがさらなるSDIP PUに区分される例示的なCUを示す概念図。 エッジを形成するブロックがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、エッジをデブロックすべきかどうかを判断するための例示的な方法を示すフローチャート。 ブロックのうちの少なくとも1つがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、2つのブロック間の共通エッジをデブロックすべきかどうかを判断するための別の例示的な方法を示すフローチャート。 ブロックのうちの少なくとも1つがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、2つのブロック間の共通エッジをデブロックすべきかどうかを判断するための別の例示的な方法を示すフローチャート。 ブロックのうちの少なくとも1つがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、2つのブロック間の共通エッジをデブロックすべきかどうかを判断するためのさらに別の方法を示すフローチャート。 SDIP PUパーティションの指示をも記憶し得るデータ構造にエッジロケーションを記憶するための例示的な方法を示すフローチャート。
一般に、ビデオデータは、イントラ予測モードまたはインター予測モードでコーディングされ得る、フレームのシーケンスを含む。フレームは、ビデオデータのブロックに分割され得、ブロックごとに符号化モードが選択され得る。インター予測モードでは、ブロックは、1つまたは前にコーディングされた複数のフレームのデータに対して予測され得る。イントラ予測モードでは、ブロックは、同じフレームの前にコーディングされた1つまたは複数の隣接ブロックに相関して予測され得る。
来たるべきHigh Efficiency Video Coding(HEVC)規格によれば、複数のフレームが、例えば、32×32ピクセルブロックまたは64×64ピクセルブロックを備え得る、複数の最大コーディングユニット(LCU)に分割され得る。一般に、これらLCUは、さらに各々区分され得る複数のサブコーディングユニット(サブCU)に区分され得る。一般に、コーディングユニット(CU)という用語は、LCUやその任意のサブCU(例えば、LCUのサブCUまたは別のサブCUのサブCU)を指し得る。これらCUは、4つの正方形非重複ブロックに区分され得る。LCUは1つまたは複数のノードを含む4分木データ構造に対応でき、ここで4分木のルートノードがLCU自体に対応し、他のノードがLCUのサブCUに対応する。非区分CUは、一般に、4分木のリーフノード(すなわち、子ノードを有しない4分木のノード)に対応する。従って、非区分CUはリーフノードCUと呼ばれ得る。リーフノードCUは一般にCUのためのデータがどのように予測されるかを記述する1つまたは複数の予測ユニット(PU)と、残差データ、すなわちCUのための予測されたデータとCUのための元のデータとの間のピクセルごとの差分に対応する1つまたは複数の変換ユニット(TU:transform unit)とを含む。
非区分CUのためのリーフノードはCUのPUのための予測モードを示す情報を含み得る。いくつかの例では、(TU4分木とも呼ばれる)残差4分木(RQT:residual quadtree)がリーフノードCUに与えられることができ、ここでRQTは対応するリーフノードCUのTUのための予測モードを示す情報を含み得る。いずれの場合も、CUについての情報はCUの1つまたは複数の部分のための予測モードを示し得る。イントラ予測モードに関して、例えば、この情報は、DC予測モードが使用されるかどうか、あるいは方向イントラ予測モードが使用されるかどうかを示し得る。DC予測モードでは、前にコーディングされた複数のブロックの複数の隣接ピクセルの値がアグリゲートされ、現在CUの複数のピクセルの予測値を形成するために使用され得る。方向性予測モードでは、前にコーディングされた複数のブロックの複数の隣接ピクセルの値が現在CUの複数のピクセルの予測値を形成するために、特定の方向において適用され得る。
ビデオエンコーダまたはビデオデコーダのようなビデオコーダは、複数のイントラ予測されたブロックをコーディングする際に使用する短距離イントラ予測(SDIP)モードを与え得る。SDIPは、一般に、CUが複数の平行PU(parallel PUs)に分割されることを可能にする。すなわち、SDIP区分CUのこれら複数のPUは、これらの幅よりも長い長さを有するか、またはこれらの長さよりも長い幅を有し得る。その上、これらPUに対応するCUの複数の部分は、同じCUの複数の部分から予測され得る。例えば、8×8CUは4つの8×2PUに分割されることができ、ここで「N×M」がこの例において垂直方向におけるN個のピクセルおよび垂直方向におけるM個のピクセルを指す。第1のPUはCUに対する複数の隣接ピクセルから予測でき、第2のPUは第1のPUの複数のピクセルを含む複数の隣接ピクセルから予測でき、第3のPUは第2のPUの複数のピクセルを含む複数の隣接ピクセルから予測でき、第4のPUは第3のPUの複数のピクセルを含む複数の隣接ピクセルから予測できる。このようにして、CUに対して隣接し前にコーディングされた複数のブロックの複数のピクセルからCUの全てのピクセルを予測するのではなく、CU内のピクセルが、SDIPを使用して、同じCU内の他のピクセルを予測するために使用され得る。SDIP PUは、PUが正方形でないことがあり、一方向において4つよりも少ないピクセルを有し得るという点で、「短い」と見なされ得る。
また、HMは、「ブロッキネス」アーティファクトを除去するために、デブロッキングフィルタを使用してデブロッキングを行う。すなわち、フレームを複数のブロック(LCUおよびこれらのサブCU)に分割し、これらブロックをコーディングし、次いでこれらブロックを復号した後に、ブロック間のエッジに知覚可能なアーティファクトが発生し得る。従って、ビデオエンコーダは、フレームのビデオデータを符号化し、その後、符号化されたビデオデータを復号し、次いで、例えば、その後コード化されたビデオデータのインター予測のための参照ビデオデータを生成するために、復号されたビデオデータにデブロッキングフィルタを適用する。参照データとして使用するためのデータを、例えば、参照ピクチャバッファに記憶するより前に、ビデオエンコーダまたはビデオデコーダ等のビデオコーディングデバイスによって行われるそのようなデブロッキングフィルタ処理は、フィルタ処理がコーディングループ内で行われるので、「ループ内」フィルタ処理と一般に呼ばれる。ビデオデコーダは、ビデオデータを表示するために、並びに復号されるべき後続のビデオデータのための参照データとして使用するために、受信したビデオデータを復号し、次いで、復号されたビデオデータに同じデブロッキングフィルタを適用するように構成され得る。エンコーダとデコーダの両方に同じデブロッキング技法を適用するように構成することによって、デブロッキングが、参照のためにデブロックされたビデオデータを使用する、その後コード化されたビデオデータに対して誤差を導入しないように、エンコーダとデコーダとは同期され得る。
HMは、一般に、2つのPUまたはTUを分離する各エッジについて、エッジをデブロックするためにデブロッキングフィルタを適用すべきかどうかを判断するように構成される。HMは、エッジ、例えば、8つのピクセルのラインに対して直角なピクセルの1つまたは複数のラインの分析に基づいて、エッジをデブロックすべきかどうかを判断するように構成され得る。従って、例えば、垂直エッジでは、HMは、水平または垂直であり得る共通ラインに沿ってエッジの左側に4つのピクセルおよび右側に4つのピクセルを検査することによって、エッジをデブロックすべきかどうかを判断し得る。選択されるピクセルの数は、一般に、デブロックするための最小ブロック、例えば、8×8ピクセルに対応する。このようにして、分析のために使用されるピクセルのラインは、2つのPUまたはTUのみ、すなわち、エッジのすぐ左側およびすぐ右側のPUまたはTUに入り得る。エッジに対してデブロッキングを行うべきかどうかの分析のために使用されるピクセルのラインは、サポートピクセルのセットまたは単に「サポート」とも呼ばれる。
ビデオコーディングデバイスは、特定のエッジのためのサポートに対してデブロッキング決定関数を実行するように構成され得る。一般に、デブロッキング決定関数は、サポート内の高周波変化を検出するように構成される。一般に、高周波変化が検出されたとき、デブロッキング決定関数は、デブロッキングが行われるべきであるという指示を与える。しかしながら、SDIPを導入した場合、分析のために使用されるサポートピクセルは、すなわち、隣接するSDIP PUの低減されたサイズにより、複数のPU境界を横断し得る。従って、デブロッキング決定関数は、ブロックのうちの少なくとも1つがSDIPを使用して予測される2つのブロック間のエッジがデブロックされるべきであるという不適当な指示を与え得る。例えば、デブロッキング決定関数は、エッジを分析するときにサポートピクセルのセット内の高周波変化を検出し得るが、高周波変化は、現在検討されているエッジではなく、2つのPUまたはTU間の境界で発生し得る。
本開示の技法は、一般に、ブロックの一方または両方がSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、2つのビデオブロック、例えば、2つのCU間のエッジをデブロックすべきかどうかを判断することを対象とする。いくつかの例では、サポートピクセルのセットが1つまたは複数のSDIP PUエッジを横断するとき、デブロッキングは単にスキップされる。他の例では、デブロッキングを行うべきかどうかの決定は、サポート領域がSDIP PUエッジを横断しないように選択され得る代替サポート領域を使用して行われ得る。例えば、SDIP PUエッジ間の(ピクセル単位の)距離は、適応されたサポート領域が、低減された数のピクセルにわたり、従ってSDIP PUエッジを横断しないように、適応されたサポート領域にマッピングされ得る。別の例として、現在エッジの近傍にあるSDIP PUタイプが、SDIP PUエッジを横断しない適応されたサポート領域にマッピングされ得る。
SDIP PUは、一般に、水平配向または垂直配向のいずれかを有すると見なされ得る。PUは、それの水平セクションがそれの垂直セクションよりも長い、例えば、それの幅がそれの高さよりも長いとき、水平方向に配向していると見なされ得る。PUは、それの垂直セクションがそれの水平セクションよりも長い、例えば、それの高さがそれの幅よりも長いとき、垂直方向に配向していると見なされ得る。従って、水平方向に2つのピクセルを有し、垂直方向に8つのピクセルを有するPUは、垂直方向に配向していると見なされるが、垂直方向に2つのピクセルを有し、水平方向に8つのピクセルを有するPUは、水平方向に配向していると見なされるであろう。その上、サポートピクセルのセットは、サポートピクセルのセットがPUの配向に対して平行であるラインに沿っているとき、PUと平行であると見なされ得、サポートピクセルのセットは、サポートピクセルのセットがPUの配向に対して直角であるラインに沿っているとき、PUに対して直角であると見なされ得る。
いくつかの例では、本開示の技法は、共通エッジを共有するいずれかまたは両方のブロックがSDIPを使用して予測されるかどうかに加えて、SDIPパーティションが、ブロック間の共通エッジに対して直角であるかどうかを判断することを含む。一般に、全てのSDIPパーティションが、デブロッキング判断が行われている共通エッジに対して直角である場合、分析は、従来のデブロッキング判断から変更する必要がない。すなわち、サポートピクセルのラインは、これらの状況ではSDIPパーティションに対して平行になるので、サポートピクセルの標準セットは、SDIP境界を横断せず、従って、共通エッジをデブロックすべきかどうかの正しい判断につながる。SDIPパーティションが共通エッジに対して平行である場合でも、サポートピクセルの従来のセットは、(例えば、SDIPパーティション幅が、共通エッジの一方の側のサポートピクセルのセットよりも広いとき)SDIPパーティション境界を横断しないことがある。従って、ビデオコーディングデバイスは、本開示の技法によれば、サポートピクセルが1つまたは複数のSDIPパーティション境界を横断するかどうかを判断し、そうである場合、(例えば、適応サポートを使用して)共通エッジをデブロックすべきかどうかを判断するプロセスを変更し得る。
本開示はまた、LCU中のエッジのロケーションの指示を記憶するためのデータ構造を提供する。いくつかの例では、ビデオコーディングデバイスは、LCUのサブCUのための予測データと復号された残差データとから復号されたLCUを形成し、次いで、LCUに対してデブロッキング決定関数(function)を実行する。ビデオコーディングデバイスは、サブCUへのLCUの区分に基づいてLCU中のエッジのロケーションを判断し得、エッジは、一般に、2つの隣接CU間に形成される。従って、ビデオコーディングデバイスは、候補エッジのロケーションをLCUのためのデータ構造に記憶し得る。ビデオコーディングデバイスによって実行されるデブロッキング決定関数は、エッジをデブロックすべきかどうかを判断するために、LCU中の各エッジ(すなわち、LCU中のいずれかの2つのブロック間の境界)を分析し得る。すなわち、デブロッキング決定関数は、データ構造を使用して候補エッジのロケーションを判断し、候補エッジをデブロックすべきかどうかを判断し、次いで、判断されたエッジをデブロックし得る。
本開示の技法によれば、各候補エッジについてのバイナリ判断(すなわち、LCUの対応するロケーション中にエッジがあるのかないのか)を単に記憶するのではなく、ビデオコーディングデバイスは、SDIP予測モードの指示(例えば、SDIPパーティションサイズおよび方向)をデータ構造に記憶し得る。値をデータ構造に記憶した後に、ビデオコーディングデバイスによって実行されるデブロッキングプロセスは、データ構造を使用して、LCU中の、もしあれば、どんなエッジをデブロックすべきかを判断し得る。他の例では、ビデオコーディングデバイスは、ビデオデータのスライスまたはフレーム中の全てのLCU(およびこれらのサブCU)に対して同様の技法を行い得る。
図1は、CUがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、2つのCU間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先デバイス14に送信するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレスハンドセット、いわゆるセルラー無線電話または衛星無線電話のようなワイヤレス通信デバイスを備えるか、あるいは、通信チャネル16を介してビデオ情報を通信することができ、その場合、通信チャネル16がワイヤレスである、任意のワイヤレスデバイスを備え得る。
ただし、CUがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、CU間のエッジにデブロッキングフィルタを適用すべきかどうかを判断することに関係する本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定に限定されるとは限らない。例えば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用され得る。従って、通信チャネル16は、符号化ビデオデータの送信または記憶に好適なワイヤレス、ワイヤード、または記憶媒体の任意の組合せを備え得る。
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器(モデム)22と、送信機24とを含む。宛先デバイス14は、受信機26と、モデム28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、CUがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、CU間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。例えば、ソースデバイス12は、外部カメラのような外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
図1の図示のシステム10は一例にすぎない。CUがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、CU間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって行われ得る。一般に、本開示の技法はビデオ符号化デバイスによって行われるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても行われ得る。その上、本開示の技法はまた、ビデオプリプロセッサによって行われ得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。従って、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのためのビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートし得る。
ソースデバイス12のビデオソース18は、ビデオカメラのようなビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、一般にビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオ情報は、次いで、通信規格に従ってモデム22によって変調され、送信機24を介して宛先デバイス14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
宛先デバイス14の受信機26はチャネル16を介して情報を受信し、モデム28はその情報を復調する。この場合も、ビデオ符号化プロセスは、CUがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、CU間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための、本明細書で説明する技法のうちの1つまたは複数を実装し得る。チャネル16を介して通信される情報は、ブロックおよび他のコード化ユニット、例えば、GOPの特性および/または処理を記述するシンタックス要素を含む、ビデオデコーダ30によっても使用される、ビデオエンコーダ20によって定義されるシンタックス情報を含み得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスのような様々なディスプレイデバイスのいずれかを備え得る。
図1の例では、通信チャネル16は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路のような任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。他の例では、コード化ビデオデータは、記憶媒体に記憶され、宛先デバイスに物理的にトランスポートされ得、宛先デバイスは、記憶媒体からコード化ビデオデータを読み取り、復号し得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネット等のグローバルネットワークのようなパケットベースネットワークの一部を形成し得る。
通信チャネル16は、一般に、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。他の例では、ソースデバイス12は、データを送信するのではなく、符号化データを記憶媒体に記憶し得る。同様に、宛先デバイス14は、記憶媒体から符号化データを取り出すように構成され得る。
ビデオエンコーダ20およびビデオデコーダ30は、今度のHigh Efficiency Video Coding(HVEC)規格等のビデオ圧縮規格に実質的に従って動作し得る。ただし、本開示の技法は特定のコーディング規格に限定されない。他の例には、代替的にMPEG−4,Part 10,Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格、MPEG−2およびITU−T H.263がある。図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、各々オーディオエンコーダおよびオーディオデコーダと統合され得、また、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)等の他のプロトコルに準拠し得る。
ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる共同パートナーシップの成果として、ISO/IEC Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された。いくつかの態様では、本開示で説明する技法は、H.264規格に一般に準拠するデバイスに適用され得る。H.264規格は、ITU−T Study Groupによる2005年3月付けのITU−T勧告H.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではH.264規格またはH.264仕様、あるいはH.264/AVC規格または仕様と呼ぶことがある。Joint Video Team(JVT)はH.264/MPEG−4 AVCへの拡張に取り組み続けている。JVTと同様に、VCEGおよびMPEGは、HEVCを開発するためにJoint Collaborative Team on Video Coding(JCT−VC)を確立した。
ビデオエンコーダ20およびビデオデコーダ30は各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組合せのような様々な好適なエンコーダ回路のどれかとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダ(コーデック)の一部として該当のカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。
ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャのグループ(GOP)は、一般に、一連の1つまたは複数のビデオフレームを備える。GOPは、GOP中に含まれるいくつかのフレームを記述するシンタックスデータを、GOPのヘッダ中、GOPの1つまたは複数のフレームのヘッダ中、または他の場所に含み得る。各フレームは、該当のフレームのための符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、マクロブロック、またはマクロブロックのパーティション、あるいはLCU、CU、またはCUのパーティション(例えば、サブCU)に対応し得る。ビデオブロックは、固定サイズまたは変動サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のブロックを含み得、これらのブロックは、サブブロックとも呼ばれるパーティションに構成され得る。HEVCでは、例えば、最大コーディングユニット(LCU)およびこれらのサブコーディングユニット(CU)は、4分木構造に従って区分され得る。
一例として、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、およびクロマ成分については対応するスケーリングされたサイズのような様々なブロックサイズのインター予測をサポートする。本開示では、「N×N(NxN)」と「N×N(N by N)」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、例えば、16×16(16x16)ピクセルまたは16×16(16 by 16)ピクセルを指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、Nは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。例えば、ブロックはN×Mピクセルを備え得、ただし、Mは必ずしもNに等しいとは限らない。
16×16よりも小さいブロックサイズは16×16マクロブロックのパーティションと呼ばれ得る。ビデオブロックは、ピクセル領域中のピクセルデータのブロックを備え得、あるいは、例えば、コード化ビデオブロックと予測ビデオブロックとの間のピクセル差分を表す残差ビデオブロックデータへの離散コサイン変換(DCT:discrete cosine transform)、整数変換、ウェーブレット変換、または概念的に同様の変換等の変換の適用後の、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
小さいビデオブロックほど、より良い解像度が得られ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。一般に、ブロック、およびサブブロックと呼ばれ得る様々なパーティションは、ビデオブロックと見なされ得る。さらに、スライスは、ブロックおよび/またはサブブロック、あるいはLCUおよび/またはサブCUのような複数のビデオブロックであると見なされ得る。各スライスは、ビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、またはフレームの他の部分が復号可能なユニットとして定義され得る。「コード化ユニット」または「コーディングユニット」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャのグループ(GOP)のようなビデオフレームの任意の単独で復号可能なユニット、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指し得る。
HEVCテストモデル(HM)は、HEVCの技法に従って実装される仮定的デバイスを記述する。HMは、短距離イントラ予測(SDIP)予測モードで構成され得る。SDIPでは、ビデオコーディングデバイスは、ブロック(例えば、リーフノードCU)をいくつかの平行予測ユニット(PU)に区分し得る。例えば、HMは、16×16CUを、SDIPを使用して予測される4つの4×16PUまたは4つの16×4PUに区分し得る。SDIPでは、ビデオコーディングデバイスは、現在CUに対する前にコーディングされたブロックの隣接ピクセルの値からPUのうちの第1のPUを予測する。
第1のPUに対応するCUの領域をコーディングした後に、ビデオコーディングデバイスは、現在CUの、前にコーディングされたPUの隣接ピクセルから現在CUのPUのうちの次のPUを予測する。従って、もっぱら、イントラ予測のための参照ピクセルとして前にコーディングされたCUからのピクセルを使用するのではなく、SDIPでは、同じCU内のピクセルが、CUの他のピクセルのための参照ピクセルとして使用され得る。もちろん、イントラ予測方向に応じて、前にコーディングされたCUのピクセルも、現在CUの、前にコーディングされたPUのピクセルと同様に、現在CUの現在PUの予測値を計算する際に参照のために使用され得る。ピクセル値は、今度のHEVC規格では「サンプル」とも呼ばれ、これは、ルミナンスまたは「ルーマ」サンプルおよびクロミナンスまたは「クロマ」サンプルを指す。
HEVCのテストモデル中に含まれるループ内デブロッキングアルゴリズムは、例えば、サイズ8×8ピクセルの、デブロックのための最小ブロックに基づいて、決定を計算し、フィルタ処理を行う。最小ブロックのエッジを処理するためのデブロッキング決定およびフィルタは、一般に、処理されているエッジ以外のPUまたはTUの他のエッジとの重複がないように形成される。これは、他のエッジが横断され、他のエッジ近傍からのピクセルが計算において使用されるとき、決定およびフィルタ処理結果が信頼できなくなり得るからである。
例えば、現在CUのサイズに基づいて、様々なSDIP PU区分方式が与えられ得る。一般に、N×N CUのためのSDIP PUは、(N/4)×NまたはN×(N/4)のサイズを有し得、Nは、4よりも大きいかまたはそれに等しい整数である。他のサイズおよび区分方式、例えば、N×N CUのためのN×1または1×Nも利用可能であり得る。以下の表1に、現在CUのサイズに基づく、SDIP PUを構成するために利用可能であり得るいくつかの例示的な区分方式を与える。HEVCのSDIP PUは、CUごとに様々な矩形サイズを有し得る。PUのいくつかは、デブロックのための最小ブロックサイズよりも小さい寸法を有する。例えば、PUサイズ1×16、16×1、2×8、8×2では、8つのタップ(エッジの両側に4つのタップ)を有するデブロッキング決定およびフィルタが、デブロックのための最小ブロック内の1つまたは複数のSDIP PUエッジを横断することがあり、これは、回避されるべきである。
ビデオエンコーダ20およびビデオデコーダ30は、SDIPを行うように構成され得る。その上、ビデオエンコーダ20およびビデオデコーダ30は、デブロックのためにループ内フィルタ処理を行うように構成され得る。一般に、デブロックは、エッジでの高周波変化を検出するために、2つのブロック(例えば、2つのCU)を分割するエッジの両側のピクセルのセットを分析すること含む。そのような高周波変化が検出されたとき、エッジはデブロックされ得る。例えば、エッジの近くのピクセルの値が、高周波変化を低減するために平滑化され、それによって、最終的に表示されるビデオデータ中の「ブロッキネス」アーティファクトの出現を低減し得る。
HEVCでは、2つのCU間のエッジでの高周波変化を検出するために、エッジの両側の連続する3つのピクセル、およびエッジを構成する2つのピクセルが分析され、ピクセルは合計8つになる。デブロッキング決定関数は、サポートピクセルと一般に呼ばれる、分析されているピクセルの値に該当の係数を適用し得る。従来、利用可能な最小ブロックサイズは4×4ピクセルであり、従って、エッジの両側のサポートピクセルのセットは、常にブロック内にあった。しかしながら、SDIPを導入した場合、例えば、(所与のブロック中でサポートピクセルのセットが4ピクセルであるときに)SDIP PUサイズが、1×16、16×1、2×8、8×2、または1つの方向において4つよりも少ないピクセルを有する任意の他のSDIP PUサイズであるとき、サポートピクセルのセットはSDIP PU境界を横断し得る。
高周波変化は、2つのSDIP PU間の境界で発生し得る。場合によっては、これは、デブロッキング決定関数についての誤判定につながり得る。例えば、実際は、2つのCU間の境界で高周波変化はないが、2つのCUのうちの一方の、2つのPU間の境界で高周波変化があることがある。しかしながら、サポートピクセルのセットが2つのPU間の境界を横断するとき、デブロッキング決定関数は、2つのCUではなく、2つのPU間の境界で高周波変化の存在を検出し得る。これは、2つのCU間のエッジの近くのピクセルの誤った処理につながり得る。
本開示の技法によれば、ビデオエンコーダ20およびビデオデコーダ30は、CUのいずれかまたは両方がSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、2つのCU間のエッジをデブロックすべきかどうかを判断するように構成され得る。一般に、ビデオエンコーダ20およびビデオデコーダ30は、ループ内デブロッキングフィルタ処理を行うように構成され得る。すなわち、(イントラ予測のための前にコーディングされたブロック、あるいはインター予測のための前にコーディングされたフレームまたはスライス等の)参照データは、参照データとしての使用に先立ってデブロックされ得る。従って、ビデオエンコーダ20が特定のエッジをデブロックしたとき、ビデオデコーダ30もそのエッジをデブロックすべきである。その上、ビデオエンコーダ20とビデオデコーダ30とによって使用される技法は本質的に同じである。従って、「ビデオコーディングデバイス」への言及は、一般に、ビデオエンコーダ20等のビデオエンコーダまたはビデオデコーダ30等のビデオデコーダのいずれかを指し得る。説明のために、本開示の技法について、以下でビデオエンコーダ20に関して主に説明するが、ビデオデコーダ30が実質的に同様の技法を行うように構成され得ることを理解されたい。
予測データと残差データとを生成するためのイントラ予測コーディングまたはインター予測コーディングの後、および変換係数を生成するための(H.264/AVCで使用される4×4または8×8整数変換、あるいは離散コサイン変換DCT等の)任意の変換の後、変換係数の量子化が行われ得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。例えば、量子化中にnビット値がmビット値に切り捨てられ得、nはmよりも大きい。
量子化の後に、例えば、コンテンツ適応型可変長コーディング(CAVLC:content adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context adaptive binary arithmetic coding)、または別のエントロピーコーディング方法に従って、量子化データのエントロピーコーディングが行われ得る。エントロピーコーディング用に構成された処理ユニット、または別の処理ユニットは、量子化係数のゼロランレングスコーディング、および/またはコード化ブロックパターン(CBP:coded block pattern)値、マクロブロックタイプ、コーディングモード、(フレーム、スライス、マクロブロック、またはシーケンス等の)コード化ユニットの最大マクロブロックサイズ等のシンタックス情報の生成のような他の処理機能を行い得る。
ビデオエンコーダ20は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびGOPベースのシンタックスデータ等のシンタックスデータを、例えば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはGOPヘッダ中でビデオデコーダ30に送り得る。GOPシンタックスデータは、該当のGOP中のいくつかのフレームを記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用される符号化/予測モードを示し得る。
ビデオエンコーダ20は、例えば、残差データを逆量子化し、逆変換し、その残差データを特定のCUのための予測データと組み合わせることによって、実質的に全ての符号化ビデオデータを復号する。この復号プロセスの後に、ビデオエンコーダ20は、CU間のエッジをデブロックすべきかどうかを判断し得る。デブロックした後、ビデオエンコーダ20は、参照データとして使用するために、復号データを復号ピクチャバッファ等のメモリに記憶し得る。すなわち、同じフレームまたは異なるフレームの後続のビデオデータを予測するときに、ビデオエンコーダ20は、イントラ予測モードまたはインター予測モードのいずれかで後続のデータを予測するための参照として、メモリ中の記憶されたデータを使用し得る。デブロッキングフィルタ処理は、参照として使用するためのデータを復号した後および記憶するより前に行われるので、デブロッキングフィルタ処理は、フィルタ処理がコーディングループ中に行われるという点で、「ループ内」フィルタ処理と呼ばれ得る。従って、ビデオエンコーダ20がビデオデータを符号化したとき、ビデオデコーダ30がビデオデータを正確に復号することが可能であるように、ビデオエンコーダ20およびビデオデコーダ30は、同じデブロッキング技法に従って構成され得る。
いくつかの例では、ビデオエンコーダ20は、2つのSDIP予測されたCU間のいずれのエッジについても、エッジはデブロックされるべきでないと判断する。すなわち、ビデオエンコーダ20は、CUのうちの少なくとも1つがSDIPを使用して予測される、2つのCU間の全てのエッジへのデブロッキング決定関数の適用をスキップし得る。他の例では、ビデオエンコーダ20は、CUのうちの少なくとも1つが、エッジに対して平行であるPUを有するSDIP予測モードを使用して予測されるとき、2つのCU間のエッジへのデブロッキング決定関数の適用をスキップするように構成され得る。一方、CUのいずれかまたは両方が、エッジに対して直角であるSDIP PUを使用して予測されるとき、ビデオエンコーダ20は、デブロッキング判断関数を標準的に適用し得る。すなわち、SDIP PUがエッジに対して直角であるとき、エッジをデブロックすべきどうかを判断するために使用されるサポートピクセルは、SDIP PU間の境界に対して平行であるラインになり、従って、SDIP PU間の境界を横断しない。従って、この状況では、サポートピクセルがSDIP PU境界を横断し、それによって誤判定をもたらす恐れがないので、ビデオエンコーダ20は、そのような問題に対する懸念なしに、デブロッキング判断関数を適用し得る。
他の例では、ビデオエンコーダ20は、CUのうちの少なくとも1つがSDIPを使用して予測されるときに適用すべき代替サポート領域の定義を含み得る。代替サポート領域は、サポートがSDIP PU境界を横断しないように構成され得る。例えば、2つの隣接CUについて、2つのCUのうちの一方は、8×2のPUを有するSDIPを使用して予測され、他方は、(SDIP以外の)従来のイントラ予測モードを使用して予測されると仮定する。その場合、サポート領域は、従来のイントラ予測モードを使用して予測されたCUの4つのピクセルとSDIP予測されたCUの2つのピクセルとを含み得る。別の例として、両方のCUが8×2ピクセルのSDIP PUを使用して予測されると仮定する。この例では、適応サポート領域は、CUの各々からの2つのピクセルを含み得、ピクセルは合計4つになる。適応サポート領域は、SDIP PUタイプに、またはSDIP PUエッジとCU間の現在エッジと間の(ピクセル単位の)距離に基づいて選択され得る。
HEVCテストモデルにおけるループ内デブロッキング実装形態は、デブロックされるべきエッジを判断するために、現在CU中に含まれるTUおよびPUを処理する。従来、エッジフィルタ処理ステータスは、多次元エッジフィルタ処理配列にブール値として記憶される。エッジフィルタ処理配列の要素は、CU内の重複しない4×4ピクセルブロックに対応し得る。4×4ブロックの左側および上側境界の垂直および水平エッジ方向の各々について、配列は、エッジがデブロックの候補であるかどうかを示すためのブール値を含み得る。配列中のブロックの4×4ピクセルサイズは、エッジフィルタ処理配列を記憶するためのメモリ要件に関係する。代替的に、より小さいまたはより大きいブロックサイズに対応する要素をもつエッジフィルタ処理配列が記憶され、それぞれ、より大きいまたはより小さいメモリ要件を生じ得る。
SDIPに関して、いくつかのパーティションは、エッジフィルタ処理配列中の要素に対応する4×4ブロックサイズよりも小さい寸法を有する。例えば、パーティションサイズ1×16、16×1、2×8、および8×2のエッジは、4×4ブロックサイズに基づくエッジフィルタ処理配列中では一意に表され得ない。これらのSDIPパーティションのエッジフィルタ処理ステータスを記憶するために、エッジフィルタ処理配列のメモリ要件は、例えば、2×2ブロックに対応する要素を使用することによって増加される必要があろう。これは可能なソリューションであるが、本開示は代替ソリューションをも含む。
いくつかの例では、ビデオエンコーダ20は、分析のための候補エッジの指示を、上記で説明したエッジフィルタ処理配列等のデータ構造に記憶するように構成され得る。例えば、ビデオエンコーダ20は、特定のLCUの全てのCUを分析し、LCUの隣接CU間のエッジのロケーションを判断し得る。ビデオエンコーダ20は、エッジのロケーションの判断を、配列、リンクリスト、木構造、または他のデータ構造のようなデータ構造に記憶し得る。例えば、ビデオエンコーダ20は、エッジの可能な水平位置と垂直位置とを表す2つの次元と、エッジ配向(水平または垂直)を示すための第3の次元とを有する3次元配列を構成し得る。ビデオエンコーダ20は、次のような配列、
bool EdgeFilteringArray[I][J][2]を宣言し得る。
ただし、「I」は、水平方向における可能なエッジの最大数を表し、「J」は、垂直方向における可能なエッジの最大数を表し、「2」は、エッジが発生し得る方向(水平または垂直)の数を表す。
例えば、LCUが、64×64ピクセルを有し、最小CUサイズが8×8であると仮定する。この例では、CU間のエッジは、LCU内の16×16個の位置で発生し得、水平方向と垂直方向の両方にエッジがあり得る。従って、ビデオエンコーダ20は、次のような配列、
bool EdgeFilteringArray[8][8][2]を宣言し得る。
ただし、EdgeFilteringArrayは、各可能なエッジロケーションについて、そのロケーションで候補エッジが存在する(「真」)か否(「偽」)かを示すブール値(「真」または「偽」)を記憶し得る。
SDIPを導入したので、そのようなLCU中には8×8よりも多くのエッジがあり得る。すなわち、CU間のエッジに加えて、LCUのSDIP予測されたCU内のSDIP PU間にエッジがあり得る。上述のように、N×N CUのSDIP PUは、1×NまたはN×1ほどに小さいことがある。従って、LCU中の各可能なエッジを考慮するために、上記で説明した配列を拡張することは、上記で説明した配列よりも64倍も多いエントリを有する配列をもたらすであろう。これは1つの可能なソリューションであるが、本開示では、より効率的であり得る、デブロッキング決定を記憶するための代替データ構造を提案する。
いくつかの例では、ブール値を記憶する配列を構成するのではなく、ビデオエンコーダ20は、ブール値とSDIPフラグとを記憶する配列を構成し得る。SDIPフラグは、特定のSDIPモードのためのSDIP PUサイズと方向とを表す値を有し得る。エッジのブール値、またはエッジに接するCUについてのSDIPフラグのいずれかを記憶し得る、boolOrSDIPFlagと呼ばれるデータ構造があると仮定すると、ビデオエンコーダ20は、上記で説明した配列と同じサイズを有するboolOrSDIPFlagの配列を構成し得る。例えば、LCUがN×Nのサイズを有すると仮定すると、ビデオエンコーダ20は、次のような配列、
boolOrSDIPFlag EdgeFilteringArray[N/8][N/8][2]を構成し得る。
例えば、この場合も、LCUが64×64ピクセルのサイズを有すると仮定すると、ビデオエンコーダ20は、次のような配列、
boolOrSDIPFlag EdgeFilteringArray[8][8][2]を構成し得る。
以下の表2に、SDIP PUタイプに基づく、CUがSDIP予測されるときの、上記で説明した例示的な配列のロケーションに記憶され得る値および値タイプの例を示す。
いくつかの例では、SDIPフラグの各々は、CUがSDIP PUパーティションに区分されるかどうかと、そうである場合、SDIP PUの方向(例えば、SDIP PUパーティションのより長い部分が水平であるのか垂直であるのか)と、SDIP PUパーティションがSDIP PUパーティションにさらに区分されるかどうかとを表す値を含み得る。
配列を構成した後に、ビデオエンコーダ20は、配列を使用して、対応するLCUの可能なエッジのロケーションを判断し得る。デブロッキングフィルタ処理ユニットは、例えば、LCUのデータを受信し、デブロックされるべきエッジを判断するために配列を参照し得る。配列のエントリがブール値を有するとき、デブロッキングフィルタ処理ユニットは、ブール値に基づいて、2つのCU間にエッジが存在するかどうかを判断し得る。例えば、「真」の値はエッジが存在することを示し得、「偽」はエッジが存在しないことを示し得る。一方、配列のエントリがSDIPフラグ値を有するとき、ビデオエンコーダ20は、2つのCU間のエッジに加えて、CU内のSDIPパーティション間のエッジのいずれかまたは全てをデブロックすべきかどうかを判断し得る。
ビデオエンコーダ20およびビデオデコーダ30は各々、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアのような様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはこれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、および/またはセルラー電話等のワイヤレス通信デバイスを備え得る。
図2は、CUがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、CU間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、ブロック、あるいはブロックのパーティションまたはサブパーティションを含む、ビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを行い得る。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指すことがあり、単方向予測(Pモード)または双方向予測(Bモード)等のインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、参照フレームメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピーコーディングユニット56と、デブロッカー66とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。
符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、LCUのような複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対して受信されたビデオブロックのインター予測コーディングを行う。イントラ予測ユニット46は、同じフレームまたはスライス中の隣接する前にコーディングされたブロックのピクセルに対して受信されたビデオブロックのイントラ予測コーディングを行う。本開示の技法によれば、イントラ予測ユニット46は、方向性イントラ予測およびDCイントラ予測に加えて、短距離イントラ予測(SDIP)を行うように構成され得る。モード選択ユニット40は、例えば、誤差結果に基づいてコーディングモード、すなわち、イントラまたはインターのうちの1つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器50に与え、参照フレームとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器62に与え得る。
動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在フレーム(または他のコード化ユニット)内でコーディングされている現在ブロックに対する予測参照フレーム(または他のコード化ユニット)内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。動き補償は、動き推定によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴い得る。この場合も、いくつかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。
動き推定ユニット42は、ビデオブロックを参照フレームメモリ64中の参照フレームのビデオブロックと比較することによってインターコード化フレームのビデオブロックの動きベクトルを計算する。動き補償ユニット44はまた、参照フレーム、例えば、IフレームまたはPフレームのサブ整数ピクセルを補間し得る。一例として、ITU H.264規格には、符号化されている現在フレームよりも前の表示順序を有する参照フレームを含むリスト0、および符号化されている現在フレームよりも後の表示順序を有する参照フレームを含むリスト1という2つの参照ピクチャリストが記載されている。従って、参照フレームメモリ64に記憶されたデータは、これらのリストに従って編成され得る。
動き推定ユニット42は、参照フレームメモリ64からの1つまたは複数の参照フレームのブロックを現在フレーム、例えば、PフレームまたはBフレームの符号化すべきブロックと比較する。参照フレームメモリ64中の参照フレームがサブ整数ピクセルの値を含むとき、動き推定ユニット42によって計算される動きベクトルは参照フレームのサブ整数ピクセルロケーションを参照し得る。動き推定ユニット42および/または動き補償ユニット44はまた、サブ整数ピクセル位置の値が参照フレームメモリ64に記憶されていない場合、参照フレームメモリ64に記憶された参照フレームのサブ整数ピクセル位置の値を計算するように構成され得る。動き推定ユニット42は、計算された動きベクトルをエントロピーコーディングユニット56と動き補償ユニット44とに送る。動きベクトルによって識別される参照フレームブロックは予測ブロックと呼ばれ得る。動き補償ユニット44は、予測ブロックに基づいて予測データを計算し得る。
ビデオエンコーダ20は、コーディングされている元のビデオブロックから、(イントラ予測を使用して予測されるのかインター予測を使用して予測されるのかにかかわらず)予測データを減算することによって残差ビデオブロックを形成する。加算器50は、この減算演算を行う1つまたは複数の構成要素を表す。HEVCでは、残差データのブロックを変換ユニット(TU)と呼ぶ。本開示では、CUのための残差係数のブロックをTUと呼び、これは、TUの変換を行うビデオエンコーダ20の変換処理ユニット52と区別されるべきである。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換等の変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。
変換処理ユニット52は、方向性変換、回転変換、離散サイン変換、または他の概念的に同様の変換のようなHEVCや、H.264規格によって定義されたもののような他の変換を行い得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域等の変換領域に変換し得る。量子化ユニット54は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。
量子化の後、エントロピーコーディングユニット56が量子化変換係数をエントロピーコーディングする。例えば、エントロピーコーディングユニット56は、コンテンツ適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、または別のエントロピーコーディング技法を行い得る。エントロピーコーディングユニット56によるエントロピーコーディングの後、符号化ビデオは、別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。コンテキスト適応型バイナリ算術コーディングの場合、コンテキストは隣接ブロックに基づき得る。
場合によっては、エントロピーコーディングユニット56またはビデオエンコーダ20の別のユニットは、エントロピーコーディングに加えて他のコーディング機能を行うように構成され得る。例えば、エントロピーコーディングユニット56はブロックおよびパーティションのCBP値を判断するように構成され得る。また、場合によっては、エントロピーコーディングユニット56は、マクロブロックまたはそれのパーティション中の係数のランレングスコーディングを行い得る。特に、エントロピーコーディングユニット56は、マクロブロックまたはパーティション中の変換係数を走査するために、ジグザグ、垂直、水平、波面、または対角走査あるいは他の走査パターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピーコーディングユニット56はまた、符号化ビデオビットストリーム中での送信のために適切なシンタックス要素を用いてヘッダ情報を構成し得る。
逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、例えば、参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照フレームメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照フレームメモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、1つまたは複数の後にコーディングされたビデオフレーム中の1つまたは複数のブロックをインターコーディングするために、動き推定ユニット42、動き補償ユニット44、および/またはイントラ予測ユニット46によって参照ブロックとして使用され得る。
本開示の技法によれば、ビデオエンコーダ20は、加算器62の出力を選択的にフィルタ処理するデブロッカー66を含む。特に、デブロッカー66は、逆量子化され逆変換された残差データに加算された、動き補償ユニット44またはイントラ予測ユニット46のいずれかから受信された予測データに対応する再構成されたビデオデータを加算器62から受信する。このようにして、デブロッカー66は、ビデオデータ、例えば、LCUのCU並びに/あるいはスライスまたはフレームのLCUの復号ブロックを受信する。一般に、デブロッカー66は、例えば、ブロックのいずれかまたは両方がSDIPを使用して予測されるかどうかに基づいて、ビデオデータのブロックを選択的にフィルタ処理する。
デブロッカー66は、一般に、エッジをデブロックすべきかどうかを判断するために、2つのCU間のエッジの近くの2つの隣接CUのピクセルを分析するように構成される。より詳細には、デブロッカー66は、値の高周波変化が検出されたとき、エッジの近くのピクセルの値を改変し得る。デブロッカー66は、本開示の技法のいずれかまたは全てを行うように構成され得る。例えば、デブロッカー66は、CUのいずれかまたは両方がSDIPを使用して予測されたかどうかに少なくとも部分的に基づいて、エッジをデブロックすべきかどうかを判断するように構成され得る。様々な例では、デブロッカー66は、CUのうちの少なくとも1つがSDIPを使用して予測される、2つのCU間のエッジをデブロックすべきかどうかを判断すること、CUのいずれかまたは両方がSDIPを使用して予測されるかどうかに基づいてフィルタ強度(例えば、強または弱フィルタ)を判断すること、および/または、CUのいずれかまたは両方がSDIPを使用して予測されるかどうかに基づいてフィルタ処理方向を判断することを行うように構成され得る。
いくつかの例では、デブロッカー66は、2つのCU間のエッジをデブロックするかどうか、およびどのようにデブロックするかを判断するとき、SDIP予測されたCU中のSDIP PUの方向を判断するように構成される。すなわち、いくつかの例では、CUの一方または両方がSDIP予測されるかどうかに少なくとも部分的に基づいて、2つのCU間のエッジをデブロックすべきかどうかを判断することは、SDIP予測されたCUの方向を判断することを含む。SDIP PUの「方向」は、一般に、水平または垂直に対応し、より詳細には、SDIP PUのより長い部分が水平であるときには水平に対応し、SDIP PUのより長い部分が垂直であるときには垂直に対応する。
CUのSDIP PUの方向が、CUと別のCUとの間のエッジに対して直角である場合、デブロッキング決定関数は、SDIP PU境界を横断せず、従って、標準的に適用され得る。同様に、デブロッカー66が、そのようなエッジをデブロックすべきであると判断したとき、デブロッカー66は、エッジを標準的にデブロックし得る。これは、デブロッキング決定関数およびデブロッキングフィルタが、一般に、エッジに対して直角になり、従って、SDIP予測されたCU内のPU境界に対して平行になる、ピクセルのラインに沿って適用されるからである。SDIP PU境界は、(この例では)デブロッキング決定関数とデブロッキングフィルタとが適用されるサポート(すなわち、ピクセルのライン)に対して平行であるので、デブロッキング決定関数およびデブロッキングフィルタは標準的に適用され得る。一方、SDIP PUの方向が2つのCU間のエッジに対して平行であるとき、デブロッカー66は、デブロッキング決定関数および/またはデブロッキングフィルタを変更し得る。例えば、デブロッカー66は、決定関数の適用をスキップするか、またはSDIP PU境界(すなわち、同じCUの2つのSDIP PU間の境界)を横断しないサポートの変更セットに決定関数を適用し得る。
その上、上記で説明した技法への追加または代替として、デブロッカー66は、エッジのロケーションを、本開示で説明するデータ構造に記憶するように構成され得る。すなわち、デブロッカー66は、LCUのCU間の候補エッジのロケーションを記憶するための、多次元配列等のデータ構造を構成するように構成され得る。データ構造は、LCUの最小サイズのCU(例えば、8×8CU)についてのエッジの可能なロケーションを記憶するとともに、SDIPによりCU内に生じ得るエッジを考慮するための特殊な処理(例えば、適応された決定関数および/または適応されたフィルタ)を必要とし得るSDIP予測されたCUの指示をも記憶し得る。
このようにして、ビデオエンコーダ20は、ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断することであって、第1のブロックと第2のブロックとが共通エッジを共有する、判断することと、第1の予測モードを使用して第1のブロックを復号し、第2の予測モードを使用して第2のブロックを復号することと、第1の予測モードと第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、第1のブロックと第2のブロックとの間の共通エッジをデブロックすべきかどうかを判断することとを行うように構成されたビデオコーダの一例を表す。
その上、ビデオエンコーダ20は、第1の予測モードと第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、エッジをデブロックすべきでないと判断すること、第1の予測モードと第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択すること、または、サポートの適応されたセットが、第1のブロックおよび第2のブロック中のSDIP予測ユニット(PU)のPU境界を横断しないように、第1の予測モードと第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択することを行うように構成され得る。さらに、ビデオエンコーダ20は、第1の予測モードと第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIP PUが共通エッジに対して直角であるかどうかを判断することと、全てのSDIP PUが共通エッジに対して直角であるとき、共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することとを行うように構成され得る。
さらに、ビデオデコーダ20は、第1の予測モードと第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIPパーティションのパーティションサイズを示す値を、共通エッジに対応するデータ構造のロケーションにおいてデータ構造に記憶することと、エッジに対応するデータ構造に記憶された値に基づいて、エッジをデブロックすることとを行うように構成され得る。
図3は、CUがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、CU間のエッジにデブロッキングフィルタを適用すべきかどうかを判断するための技法を実装し得るビデオデコーダ30の一例を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照フレームメモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図2)に関して説明した符号化パスとは一般に逆の復号パスを行い得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得る。
動き補償ユニット72は、ビットストリーム中で受信された動きベクトルを使用して、参照フレームメモリ82中の参照フレーム中の予測ブロックを識別し得る。イントラ予測ユニット74は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された量子化ブロック係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、例えば、H.264復号規格または今度のHEVC規格によって定義されたプロセスと同様のプロセスのような従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するための、各マクロブロックについてエンコーダ50によって計算される量子化パラメータQPYの使用を含み得る。
逆変換ユニット58は、逆変換、例えば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。動き補償ユニット72は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を行う。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット72は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
動き補償ユニット72は、シンタックス情報のいくつかを使用して、符号化ビデオシーケンスの(1つまたは複数の)フレームを符号化するために使用されるブロックのサイズと、符号化ビデオシーケンスのフレームの各マクロブロックがどのように区分されるかを記述するパーティション情報と、各パーティションがどのように符号化されるかを示すモードと、各インター符号化マクロブロックまたはパーティションについての1つまたは複数の参照フレーム(および参照フレームリスト)と、符号化ビデオシーケンスを復号するための他の情報とを判断する。
加算器80は、残差ブロックを、動き補償ユニット72またはイントラ予測ユニットによって生成される対応する予測ブロックと加算して、復号ブロックを形成する。デブロッカー84は、本開示の技法のいずれかまたは全てによれば、加算器80から受信したCUを選択的にデブロックする。デブロッカー84は、デブロッカー66(図2)に関して説明した技法のいずれかまたは全てを行うように構成され得るので、デブロッカー84はデブロッカー66に実質的に準拠する。
このようにして、ビデオデコーダ30は、ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断することであって、第1のブロックと第2のブロックとが共通エッジを共有する、判断することと、第1の予測モードを使用して第1のブロックを復号し、第2の予測モードを使用して第2のブロックを復号することと、第1の予測モードと第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、第1のブロックと第2のブロックとの間の共通エッジをデブロックすべきかどうかを判断することとを行うように構成されたビデオコーダの一例を表す。
その上、ビデオデコーダ30は、第1の予測モードと第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、エッジをデブロックすべきでないと判断すること、第1の予測モードと第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択すること、または、サポートの適応されたセットが、第1のブロックおよび第2のブロック中のSDIP予測ユニット(PU)のPU境界を横断しないように、第1の予測モードと第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択することを行うように構成され得る。さらに、ビデオデコーダ30は、第1の予測モードと第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIP PUが共通エッジに対して直角であるかどうかを判断することと、全てのSDIP PUが共通エッジに対して直角であるとき、共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することとを行うように構成され得る。
さらに、ビデオデコーダ30は、第1の予測モードと第2の予測モードの両方がSDIP以外のモードを備えるとき、共通エッジがデブロックされるべきであると判断されたかどうかを示す値を、共通エッジに対応するデータ構造のロケーションでデータ構造に記憶することと、第1の予測モードと第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIPパーティションのパーティションサイズを示す値を、共通エッジに対応するデータ構造のロケーションにおいてデータ構造に記憶することと、エッジに対応するデータ構造に記憶された値に基づいてエッジをデブロックすることとを行うように構成され得る。
図4は、例示的なデブロッカー90の構成要素を示すブロック図である。一般に、デブロッカー66(図2)とデブロッカー84(図3)のいずれかまたは両方は、デブロッカー90の構成要素と実質的に同様の構成要素を含み得る。ビデオエンコーダ、ビデオデコーダ、ビデオエンコーダ/デコーダ(コーデック)のような他のビデオコーディングデバイスも、デブロッカー90と実質的に同様の構成要素を含み得る。デブロッカー90は、ハードウェア、ソフトウェア、またはファームウェアで実装され得る。ソフトウェアまたはファームウェアで実装されるとき、(1つまたは複数のプロセッサまたは処理ユニット、およびソフトウェアまたはファームウェアのための命令を記憶するためのメモリ等の)対応するハードウェアも与えられ得る。
図4の例では、デブロッカー90は、デブロッキング判断ユニット94と、サポート定義92を記憶するメモリと、デブロッキングフィルタ処理ユニット96と、デブロッキングフィルタ定義98を記憶するメモリと、エッジ位置特定ユニット93と、エッジロケーションデータ構造95に従ってデータを記憶するメモリとを含む。デブロッカー90の構成要素のいずれかまたは全ては機能的に統合され得る。デブロッカー90の構成要素は、説明のために別々に示されているにすぎない。一般に、デブロッカー90は、例えば、ブロックについて予測データを残差データと組み合わせる加算構成要素から、復号されたブロックのためのデータを受信する。データは、さらに、ブロックがどのように予測されたかについての指示を含み得る。以下で説明する例では、デブロッカー90は、復号されたLCUとLCUのためのCU4分木とを含むデータを受信するように構成され、CU4分木は、LCUがCUにどのように区分されるかを記述し、リーフノードCUのための予測モードを示す。
デブロッカー90は、デブロッカー90のメモリ中に、または対応するビデオコーディングデバイスによって与えられる外部メモリ中にエッジロケーションデータ構造95を維持し得る。いくつかの例では、エッジ位置特定ユニット93は、LCUがCUにどのように区分されるかを示す、LCUに対応するCU4分木を受信し得る。次いで、エッジ位置特定ユニット93は、CU4分木を分析して、デブロックのための候補であるLCU中のCU間のエッジを判断し得る。
エッジロケーションデータ構造95は、水平次元と、垂直次元と、水平エッジおよび垂直エッジを表す次元とを有する配列を備え得る。一般に、CU間のエッジは、LCUの2つの最小サイズCU間に発生し得る。従って、LCUがN×Nのサイズを有すると仮定し、LCUの最小サイズCUがサイズM×Mであると仮定すると、配列は、[N/M]×[N/M]×2のサイズを備え得、「2」は、CU間のエッジの2つの可能な方向(水平および垂直)を表す。例えば、LCUが64×64ピクセルと8×8最小サイズCUとを有すると仮定すると、配列は、[8]×[8]×[2]エントリを備え得る。
各エントリは、一般に、2つのCU間の可能なエッジに対応し得る。実際は、エッジロケーションデータ構造95のエントリの各々に対応するLCU内の位置の各々にエッジが存在しないことがある。従って、データ構造の値は偽に初期化され得る。一般に、エッジ位置特定ユニット93は、CU4分木を分析して、LCUの2つのCU間のエッジのロケーションを判断し、エッジロケーションデータ構造95中の対応する値を真に設定し得る。
一般に、配列のエントリは、対応するエッジがデブロックのための候補としてLCU中に存在するかどうかを記述し得る。すなわち、エッジ位置特定ユニット93が、LCUの2つの隣接CU間のエッジが存在すると判断したとき、エッジ位置特定ユニット93は、エッジが存在することを示すためにエッジロケーションデータ構造95中の対応するエントリの値を(例えば、「真」の値に)設定し得る。
いくつかの例では、2つのCUのうちの1つがSDIPを使用して予測されるとき、エッジ位置特定ユニット93は、CUのために使用されるSDIPパーティションのタイプを示す値を、エッジロケーションデータ構造95の対応するロケーションに記憶し得る。このようにして、エッジロケーションデータ構造95は、LCU内の追加の可能なエッジを表すための追加のエントリを含む必要はない。代わりに、エッジロケーションデータ構造95に記憶され得る値のタイプが、本開示の技法によれば、ブール値またはSDIPフラグのいずれかを記憶するように変更され得る。例えば、エッジ位置特定ユニット93は、SDIP予測されたCUを表す値をエッジロケーションデータ構造95に記憶し得る。
デブロッキング判断ユニット94は、一般に、2つの隣接ブロック(例えば、2つのCUまたは2つのPU)について、2つのブロック間のエッジがデブロックされるべきかどうかを判断する。デブロッキング判断ユニット94は、エッジロケーションデータ構造95を使用してエッジのロケーションを判断し得る。エッジロケーションデータ構造95の値がブール値を有するとき、デブロッキング判断ユニット94は、いくつかの例では、「真」の値はエッジの存在を示し、「偽」の値はエッジが存在しないことを示すと判断し得る。エッジロケーションデータ構造95の値がSDIPフラグ値を有するとき、デブロッキング判断ユニット94は、SDIPフラグの値に基づいて、SDIP PU間のエッジのロケーションを判断し得る。本開示の技法によれば、デブロッキング判断ユニット94は、CUの一方または両方がSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、2つのCU間のエッジをデブロックすべきかどうかを判断し得る。デブロッキング判断ユニット94はまた、SDIP PUエッジのロケーションを判断し、SDIP PU間のエッジのいずれかまたは全てをデブロックすべきかどうかを判断し得る。
一般に、デブロッキング判断ユニット94は、1つまたは複数のデブロッキング判断関数で構成され得る。関数は、ブロック間のエッジを横断するピクセルのラインに複数の係数を適用する関数を含み得る。例えば、関数は、エッジに対して直角である8つのピクセルのラインに適用され得、ピクセルのうちの4つは、2つのブロックのうちの一方にあり、他の4つのピクセルは、2つのブロックのうちの他方にある。サポート定義92は関数のためのサポートを定義する。一般に、「サポート」は、関数が適用されるピクセルに対応する。サポートのセットの様々な例について、図6に関して以下でより詳細に説明する。
デブロッキング判断ユニット94は、サポート定義92によって定義されたサポートの1つまたは複数のセットに1つまたは複数のデブロッキング判断関数を適用することと、ビデオデータの2つのブロック間の特定のエッジがデブロックされるべきかどうかを判断することとを行うように構成され得る。しかしながら、いくつかの例では、デブロッキング判断ユニット94は、例えば、2つのブロックのうちの少なくとも1つがSDIPを使用して予測されるとき、特定のエッジへのデブロッキング判断関数の適用をスキップするように構成される。このようにして、デブロッカー90(同様に、デブロッカー90を含む対応するビデオコーディングデバイス)は、2つのブロックのうちの少なくとも1つがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、2つのブロック間のエッジをデブロックすべきかどうかを判断するように構成され得る。
2つのブロックのうちの1つがSDIPを使用して予測されるとき、デブロッキング判断関数の適用をスキップすることは、処理電力を節約し、バッテリー寿命を改善し、誤判定結果の回避による、より良いユーザエクスペリエンスを生じ得る。他の例では、デブロッカー90は、他の方法で、2つのブロックのうちの少なくとも1つがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、2つのブロック間のエッジをデブロックすべきかどうかを判断するように構成され得る。
例えば、SDIP PUエッジと現在エッジとの間の(ピクセル単位の)距離、または(ピクセル単位の)SDIP PU寸法に応じて、デブロッキング判断ユニット94は、代替決定および/またはサポートがSDIP PUエッジを横断しないように、適応されたサポート領域をもつ代替デブロッキング決定またはフィルタを適用し得る。すなわち、サポート定義92は、いくつかの例では、様々なサポート定義について、サポートが適用され得るSDIP予測されたブロックのタイプを記述するデータを含み得る。ブロックのための受信データは、SDIP PUエッジと現在エッジとの間の距離、またはSDIP PU寸法を記述し得る。従って、デブロッキング判断ユニット94は、SDIP PU寸法、またはSDIP PUエッジと現在エッジとの間の距離に対するサポートの適切なセットを選択し得る。例えば、2つのSDIP PUエッジ間のエッジが現在エッジ(すなわち、2つのブロック間のエッジ)から2ピクセルであるとき、デブロッキング判断ユニット94は、SDIP予測されたブロック中に2つのピクセルのみを有するサポートのセットを選択し得、デブロッキング判断ユニット94が、適応されたフィルタを適用し得るピクセルは、合計6つ(エッジの非SDIP PU側の4つのピクセルおよびエッジのSDIP PU側の2つのピクセル)になる。
別の例として、現在エッジの近傍にあるSDIP PUタイプに応じて、デブロッキング判断ユニット94は、SDIP PUエッジを横断しない適応されたサポート領域をもつ代替デブロッキング決定またはフィルタを適用し得る。すなわち、現在エッジとSDIP PUエッジとの間の距離に基づいてまたはSDIP PU寸法に基づいて、サポートのセットおよび/またはデブロッキング判断関数を選択するのではなく、デブロッキング判断ユニット94は、共通エッジを有するブロックのためのSDIP PUタイプに基づいて、サポートのセットおよび/またはデブロッキング判断関数を選択するように構成され得る。
さらに別の例として、デブロッキング判断ユニット94は、現在エッジの方向に関するSDIPパーティションの方向または配向に応じてデブロッキング決定関数を適応させ得る。以下でより詳細に説明する図7は、2つの隣接ブロック間の共通エッジに対する2つの隣接ブロックのSDIPパーティションの可能な組合せの様々な例を与えている。一般に、これらの例では、デブロッキング判断ユニット94は、2つのブロック間の共通エッジに対して平行であるSDIP PUを使用してブロックの一方または両方が予測されるときのみ、サポートおよび/または決定関数を適応させるように構成され得る。
デブロッキング判断ユニット94から発生する破線は、フィルタ処理されることなしに出力されるブロックのためのデータを表す。デブロッキング判断ユニット94が、2つのブロック間のエッジがフィルタ処理されるべきでないと判断した場合、デブロッカー90は、データを改変することなしに、ブロックのためのデータを出力し得る。すなわち、データがデブロックフィルタ処理されないように、データはデブロッキングフィルタ処理ユニット96をバイパスし得る。一方、デブロッキング判断ユニット94が、エッジがデブロックされるべきであると判断したとき、デブロッキング判断ユニット94は、エッジをデブロックするために、デブロッキングフィルタ処理ユニット96にエッジの近くのピクセルの値をフィルタ処理させ得る。
デブロッキングフィルタ処理ユニット96は、デブロッキング判断ユニット94によって示されたデブロックされるべきエッジのために、デブロッキングフィルタ定義98からデブロッキングフィルタの定義を取り出す。SDIP PU間のエッジ、およびSDIP予測されるCU間のエッジでは、デブロッキングフィルタ処理ユニット96は、フィルタがSDIP PU境界を横断しないように、デブロッキングフィルタ定義98から適応されたデブロッキングフィルタを取り出し得る。一般に、エッジのフィルタ処理は、デブロックされるべき現在エッジの近傍からのピクセルの値を使用する。従って、デブロッキング決定関数とデブロッキングフィルタの両方は、エッジの両側に、あるサポート領域を有し得る。エッジの近傍にあるピクセルにデブロッキングフィルタを適用することによって、デブロッキングフィルタ処理ユニット96は、エッジの近くの高周波遷移が減衰するように、ピクセルの値を平滑化し得る。このようにして、エッジの近くのピクセルへのデブロッキングフィルタの適用は、エッジの近くのブロッキネスアーティファクトを低減し得る。
図5は、SDIP予測されたCUを含む例示的なLCU100を示す概念図である。具体的には、LCU100は、この例では、サブCU102、104、106、108、110、112、および114を含む。サブCU102、104、106、108、110、112、および114の各々はリーフノードCUに対応する。非リーフノードCUは、この例では、サブCU104、106、108、および110をも含むであろう。リーフノードサブCUの各々は、特定の予測モードに従って予測され得る。この例では、サブCU108は、SDIPを使用して予測される。従って、サブCU108は、4つのPU120A〜120D(PU120)を含む。この例に示すように、PU120は、サブCU108の水平PUである。
ビデオエンコーダ20またはビデオデコーダ30のようなビデオコーディングデバイスは、本開示の技法によれば、LCU100を復号し、次いで、サブCU102、104、106、108、110、112、および114の間のエッジをデブロックすべきかどうかを判断し得る。説明のために、図5では、デブロックを検討され得るエッジの一例として、破線を使用してエッジ118を示している。この例では、エッジ118は、サブCU108とサブCU102との間の境界で発生する。エッジは、この例に示すように、サブCUが同じサイズでないときでも、隣接サブCU間に発生し得る。
図5はまた、エッジ118のためのサポートの領域116を示している。従来、エッジ118をデブロックすべきかどうかを判断するとき、並びにエッジ118をデブロックするという決定が行われたときにエッジ118の近くのピクセルをフィルタ処理するために、サポートの領域116の様々なピクセルが使用されるであろう。図5に示すように、サブCU108はSDIPを使用して予測され、サポートの領域116は、SDIP PU120AとSDIP PU120Bとの間のエッジを横断する。従って、本開示の技法の様々な態様が行われ得る。例えば、エッジ118をデブロックすべきかどうかの判断はスキップされ得る。
代替的に、エッジ118をデブロックすべきかどうかを判断するときに使用され、またエッジ118をデブロックするという決定が行われたときにエッジ118の近くのピクセルをフィルタ処理するために使用される、サポートの実際の領域が、PU120AとPU120Bとの間の境界を横断しないように、サポートの領域116が適応され得る。例えば、サポートのそのような領域は、サブCU102内ではサポートの領域116の全てを含むが、PU120A内ではサポートの領域116の一部分しか含まないことがある。デブロッキング決定関数および/またはデブロッキングフィルタのための適応されたサポートは、例えば、エッジ118とSPU120AおよびSPU120B間のエッジとの間の距離、PU120の寸法、またはCU108のためのSDIPモードのタイプに基づいて選択され得る。SDIPタイプは、PU120の配向とPU120の幅とを定義し得る。
図6は、ブロック130とブロック132との間のエッジ134の近くの2つの例示的なブロック130、132のピクセル位置を示す概念図である。ピクセル位置の各々は、フォーマット[p|q]IJを使用して指定され、pはブロック130に対応し、qはブロック132に対応し、Iは、エッジ134からの距離に対応し、Jは、ブロック130および132の上から下までの行インジケータに対応する。いくつかの例では、デブロッキング決定関数およびデブロッキングフィルタのために使用されるサポートは、8つのピクセルのラインを有する。そのような例では、0≦X≦7である所与のラインXのために、ピクセルp3X〜q3Xの各々がサポートとして使用され得る。従って、これらの例では、ブロック130またはブロック132のいずれかがSDIPを使用して予測され、また、SDIPモードが垂直であり、4よりも小さいパーティション幅をもつ場合、8ピクセルサポートはSDIP PU境界を横断するであろう。
いくつかの例では、ブロック130とブロック132のいずれかまたは両方がSDIPを使用して予測されるとき、デブロッキング決定関数および/またはデブロッキングフィルタは適応され得る。以下の表3に、表3では「ブロックA」および「ブロックB」と標示された2つのブロックのためのSDIPモードに基づいて適用され得るフィルタとデブロッキング決定条件との1つの例示的なセットを記載する。表3中で言及されるブロックは、8×8ピクセルよりも大きいサイズを有し得るので、そのようなブロックは、必ずしも、図6のブロック130および132に対応するとは限らないことを理解されたい。しかしながら、図6は、表3のブロックAおよびBが8×8ピクセルを有するとき、それぞれブロックAおよびブロックBに対応し得る、参照のためのブロックの例示的なペアを与える。表3中のブロックAおよびBのためのリストされたSDIPモードでは、ブロックAとブロックBとの間のエッジがSDIPパーティションに対して平行であると仮定され、「直角SDIP PU」という言及は、ブロックAとブロックBとの間のエッジに対して直角であるSDIPモードに言及するものである。さらに、ブロックAおよびBは、共通CUのPUではなく、CUに対応すると仮定される。以下の表6では、内部SDIPパーティション境界のための追加の例を与える。
表3は、ブロックうちの少なくとも1つが、デブロックされるべき現在CU境界エッジと平行であり、それに隣接する、全体または部分SDIP PUを含んでいるときの、2つのブロック、すなわち、ブロックAとブロックBとの間のCU境界エッジ(水平または垂直方向)のデブロックのためのデブロッキングフィルタタイプとデブロッキング決定条件との例を与えている。フィルタおよび決定条件は、現在エッジの誤ったデブロックにつながり得る、SDIP PUエッジまたは他の非SDIP PUまたはTUエッジが横断されることがないようなフィルタおよび決定条件である。さらに、垂直(水平)エッジのデブロック間に依存性がなく、これは、垂直(水平)エッジの並行デブロックを可能にする。
ブロックAもブロックBもSDIPタイプでないか、またはSDIP PU配向(最長寸法)が、フィルタ処理されるべきCU境界エッジに対して直角である場合、標準デブロッキングが適用され得る。標準デブロッキングは、SDIPに関係しないエッジをブロックするために適用される、HMのバージョン3(HM3)デブロッキング等のデブロッキング方法を指す。
以下の表4に、表3の第3列(「フィルタタイプ」)に基づく、エッジをデブロックするために使用され得る様々なタイプのフィルタの例を与える。この例では、強、弱4、弱2、および弱1の4つのタイプのフィルタがある。これらの様々なフィルタは、デブロッキング決定関数が、エッジが選択されるべきであることを示すとき、例えば、エッジ134をデブロックするために選択され得る。その上、上記の表3は、各フィルタがいつ選択され得るかについての例示的な指示を与えているが、表4は、これらの例示的なフィルタの各々のためのフィルタ係数の例を与えている。すなわち、表4は、上記の表3の例に従って、ブロック130とブロック132のいずれかまたは両方がSDIPを使用して予測されるかどうかに基づいて、例えば、ブロック130および132のピクセルの値に適用すべき例示的な式を与えている。
表5に、上記の表3の第4列に対応する、デブロッキング決定関数条件の例示的なセットを記載する。ブロックAおよびBのためのSDIPモードの様々な組合せについて、表3は、ブロックAとブロックBとの間に発生するエッジをデブロックすべきかどうかについての例示的な指示を与える様々なデブロッキング条件を示している。いくつかの場合には、表3の列3は、SDIPモードの所与のセットに対して適用すべきフィルタのオプションを示しており、表5は、そのような場合、これらのフィルタ間の例示的な選択方法を与えている。
表6は、SDIPレベル1の内部SDIPパーティション境界をデブロックすることの例を与えている。SDIPレベル1は、例えば、それぞれサイズ32×8、16×4、または8×2のSDIPパーティション(水平または垂直)への32×32、16×16、または8×8CUの区分を指す。SDIPレベル2は、SDIPレベル1パーティションのさらなる区分を指し、例えば、16×4パーティションは16×1パーティション(水平および垂直)にさらに分割され得、これについて、表7に関してより詳細に説明する。SDIP CUサイズ32×32、16×16、または8×8の場合、3つの内部エッジがある。内部エッジはSDIP PU境界である。表6は、ブロックAとブロックBとの間にあるエッジに、どんなフィルタ処理タイプまたは決定条件を適用すべきかを指定する。表6に関して、ブロックAおよびBは、デブロックされるべき現在内部エッジ(例えば、図6のエッジ134)と平行であり、それに隣接する、全体または部分SDIP PUを含んでいる。表6の第3列および第4列(フィルタタイプおよび決定条件)の値は、上記の表4および表5の例に対して解釈され得る。
表7に、16×4SDIP PUが4つの16×1SDIP PUにさらに区分される、例示的なレベル2SDIPを記載する。この例では、内部エッジは、テクスチャ詳細を保存するためにデブロックされない。他の例では、他のデブロッキング決定関数および/またはデブロッキング関数が選択され得る。
図6の例および上記の表3〜表7の例について、2つの並列隣接ブロックに関して説明したが、個々のピクセルへの参照に対して適切な変更を行うこと、および「行」を「列」にスワップすることによって、同様の技法が上下の隣接ブロックに適用され得ることを理解されたい。
図7A〜図7Iは、2つのブロック間のエッジに対する様々なSDIP PU配向を示す概念図である。並列ブロックの例が示されているが、同様の技法が、上下の隣接ブロックに関して適用され得ることを理解されたい。図7Aは、エッジ151を有するブロック150、152を示している。この例では、ブロック150および152は、SDIP以外の予測モードを使用して予測される。従って、エッジ151は、デブロックのために標準的に(すなわち、SDIP予測によるさらなる考慮または適応なしに)処理され得る。
図7Bは、エッジ155を有するブロック154、156を示している。この例では、ブロック154は、SDIP以外の予測モードを使用して予測される。ブロック156はSDIPを使用して予測されるが、156のSDIP PUは、この例では、エッジ155に対して直角である。従って、(一般にエッジ155に対して直角である)サポートのラインは、ブロック156のSDIP PU間のエッジに対して平行になる。従って、エッジ155は、同様にデブロックのために標準的に処理され得る。同様に、ブロック162および164がエッジ163を有する図7Dでは、ブロック162は、エッジ163に対して直角であるSDIP PUを使用してSDIP予測され、従って、エッジ163は、デブロックのために標準的に処理され得る。同様に、ブロック166および168がエッジ167を有する図7Eでは、ブロック166とブロック168の両方は、エッジ167に対して直角であるSDIP PUを使用してSDIP予測され、従って、エッジ167は、同様にデブロックのために標準的に処理され得る。
図7Cは、エッジ159を有するブロック158および160を示している。この場合、ブロック160のSDIP PUの幅によっては、サポートの領域は、ブロック160のSDIP PU間のPU境界を横断し得る。従って、デブロックのためのエッジ159の処理は、適応されたデブロッキング決定関数、サポート、および/またはデブロッキングフィルタを利用することを含み得る。適応は、デブロックのためにエッジ159を処理するときにブロック160のSDIP PU境界を横断することを回避するために行われ得る。同様に、ブロック174とブロック176との間に形成される図7Gのエッジ175を処理するとき、ブロック174はエッジ175に対して平行であるSDIP PUを使用して予測されるので、適応された決定関数およびデブロッキングフィルタが使用され得る。図7Iの場合、エッジ183を有するブロック182および184は、両方とも、エッジ183に対して平行であるSDIP PUを使用して予測される。従って、決定関数およびサポートの適応は、両方のブロック182およびブロック184中のSDIP PU境界を横断することを回避し得る。
同様に、適応されたサポートのセット、決定関数、および/またはデブロッキングフィルタは、図7Fのブロック170とブロック172との間に形成されるエッジ171と、図7Hのブロック178とブロック180との間に形成されるエッジ179とに適用され得る。ブロック170および180は、SDIP PUを使用して予測されるが、これらのSDIP PUは、それぞれ、エッジ171およびエッジ179に対して直角である。従って、適応されたサポート、関数、およびフィルタは、ブロック170および180中のエッジを考慮する必要はない。しかしながら、それぞれエッジ171および179に対して平行であるSDIP PUを使用してブロック172および178が予測されるので、ブロック172および178中のSDIP PU境界を横断することを回避するように、適応されたサポート、関数、およびフィルタが選択され得る。
一般に、デブロックの適応は、例えば、サポート領域サイズを減少/増加させること、および/またはデブロックされるべきエッジに関する方向を改変することのような方法で、デブロッキング決定および/またはデブロッキングフィルタを変更することを含み得る。サポート領域は、一般に、決定の計算またはフィルタ処理によって採用される、デブロックされるべき現在エッジの近くのピクセルの集合に対応する。サポート領域の適応は、デブロックされるべき現在エッジに関して対称または非対称であり得る。サポート領域に加えて、デブロッキング決定計算および/またはフィルタは、例えば、フィルタ係数を変更することによって変更され得る。
図8は、SDIP PUがさらなるSDIP PUに区分される例示的なCU190を示す概念図である。具体的には、CU190はサブCU192A〜192Dに区分される。この例では、サブCU192Bは、SDIPを使用して予測されるリーフノードCUに対応する。この例では、サブCU192Bは、4つのSDIP PUパーティション194A〜194Dを含む。その上、この例では、SDIP PUパーティション194Bは、SDIP PUパーティション196A〜196Dにさらに区分される。例えば、SDIP PUパーティション194A〜194Dは16×4PUを備え得、SDIP PUパーティション196A〜196Dは16×1PUを備え得る。
図8はまた、サブCU192Bを通る3つの水平二点鎖線を示している。サブCU192Bは水平方向に区分されないが、これらの二点鎖線は、SDIP PUパーティション194とSDIP PUパーティション196との間のエッジの様々なセグメントを表すためのものである。これらのセグメントは、いくつかの例では、個々に分析され得る。従って、図8は、SDIP PUパーティション194AとSDIP PUパーティション194Bとの間のエッジのセグメント198A〜198Dを示している。従って、CU190に対応する(配列等の)データ構造は、各可能な水平および垂直エッジのためのエントリを含み得る。例えば、データ構造は、セグメント198の各々のロケーションを含み得る。本開示の技法のいくつかの例によれば、セグメント198の、データ構造中の対応するロケーションは、SDIP PU196のためのSDIPモードを表すSDIPフラグ、例えば、フラグ16×1(flag16x1)を含み得る。ビデオコーディングデバイスは、このロケーションに記憶された値を使用して、SDIP PU194B内に4つの垂直エッジがあることを判断し、従って、これらのエッジのいずれかまたは全てをデブロックすべきかどうかを判断し得る。
対照的に、サブCU192Cおよび192DはSDIP以外のモードを使用して予測されると仮定すると、データ構造中のロケーションは、サブCU192CとサブCU192Dとの間のエッジの存在を示し得る。例えば、このエッジに対応するデータ構造のロケーションは、各々「真」の値を有し得る。このようにして、ビデオコーディングデバイスは、サブCU192CとサブCU192Dとの間のエッジの存在を判断し、サブCU192CもサブCU192DもSDIPを使用して予測されないので、従来のデブロックを適用し得る。
いくつかの例では、CUのためのSDIPパーティションタイプは、以下に従って判断され得る。CUについて、ビデオコーディングデバイスは、CUがSDIPパーティションに分割されるかどうかを示し得る、データ構造の対応するロケーションに記憶されたSDIPフラグの値を判断し得る。例えば、16×16CUは、SDIPフラグがそのように示すとき、例えば、フラグが「真」の値を有するとき、サイズ16×4または4×16の4つのSDIPパーティションを含み得る。CUがSDIPパーティションを有するとき、ビデオコーディングデバイス、例えば、適用可能なとき、ビデオエンコーダ20またはビデオデコーダ30は、SDIPパーティションが水平であるのか垂直であるのかを示し得るSDIP方向フラグの値を判断し得る。例えば、「真」の値を含んでいるSDIP方向フラグは垂直パーティションに対応し得、「偽」は水平パーティションに対応し得る。次いで、CU中の各SDIPパーティションについて、ビデオコーディングデバイスは、SDIPパーティションについて、それが追加のSDIPパーティションにさらに分割されるかどうかを示し得るSDIPモードフラグの値を判断し得る。例えば、サイズ16×4のSDIPパーティションについて、対応するSDIPモードフラグの「真」の値は、16×4パーティションが16×1パーティションにさらに分割されることを示し得る。
図8の例に関して、ビデオコーディングデバイスは、この場合、サブCU192BがSDIPパーティションに分割されることを示す値(例えば、「真」)を有し得る、サブCU192BのためのSDIPフラグを判断し得る。ビデオコーディングデバイスは、次いで、この場合、SDIPパーティションが垂直であることを示す値(例えば、「真」)を有し得る、サブCU192BのためのSDIP方向フラグの値を判断し得る。さらに、SDIP PUパーティション194A〜194Dの各々について、ビデオコーディングデバイスは、対応するSDIP PUパーティションがさらなるパーティションに分割されるかどうかを示す該当のSDIPモードフラグの値を判断し得る。この例では、SDIP PUパーティション194A、194C、および194DのためのSDIPモードフラグは、これらのSDIP PUパーティションがさらなるSDIP PUに分割されないことを示す値(例えば、「偽」)を有し得るが、SDIP PUパーティション194Bは、SDIP PUパーティション194BがさらなるSDIP PUパーティション196A〜196Dに分割されることを示す値(例えば、「真」)を有し得る。同様に、ビデオ復号デバイスは、CU190を初めに分析して、データ構造中のこれらの該当の値を設定し得る。
図9は、エッジを形成するブロックがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、エッジをデブロックすべきかどうかを判断するための例示的な方法を示すフローチャートである。図9の方法は、ビデオエンコーダ20またはビデオデコーダ30のようなビデオコーディングデバイスによって行われ得る。例として、図9の方法について、ビデオデコーダ30(図3)に関して説明するが、ビデオエンコーダ20(図2)が同様の方法を行い得ることを理解されたい。
初めに、ビデオデコーダ30は、共通エッジを有する、ビデオデータの2つの隣接する符号化されたブロックを受信し得る。2つのブロックは共通LCUのCUを備え得る。従って、ビデオデコーダ30は、LCUのためのCU4分木をも受信し得る。エントロピー復号ユニット70が、ブロックのための符号化モードを示す情報を復号し、解釈して、第1のブロックのための予測モードを判断し(200)、この場合、第1のブロックに隣接する第2のブロックのための予測モードを判断する(202)。
ビデオデコーダ30は、次いで、判断された予測モードを使用して、第1および第2のブロックを復号する(204)。例えば、インター予測モードの場合、動き補償ユニット72が、例えば、参照フレームメモリ82から、前にコーディングされたフレームからのインター予測されたブロックの予測値を取り出し得る。イントラ予測モードの場合、イントラ予測ユニット74が、同じフレームの隣接する前にコーディングされたブロックからのイントラ予測されたブロックの予測値を計算し得る。加算器80が、逆変換ユニット78から受信した、逆量子化され逆変換された残差値に予測値を加算し得る。
ブロックを復号した後に、デブロッカー84が、ブロックのための予測モードがSDIPを含むかどうかに少なくとも部分的に基づいて、ブロック間のエッジをデブロックすべきかどうかを判断する(206)。例えば、デブロッカー84は、ブロックのうちの少なくとも1つがSDIPを使用して予測されるとき、デブロックをスキップし得、または、サポート/関数がブロック中のSDIP PU境界を横断しないように、サポートおよび/またはデブロッキング決定関数を適応させ得る。
デブロッカー84は、次いで、判断に基づいてブロックをフィルタ処理する(208)。例えば、デブロッカー84が、エッジがデブロックされるべきであると判断したとき、デブロッカー84は、ブロック間のエッジの近くのピクセル間の遷移を平滑化するために、ブロックのピクセルの値にデブロッキングフィルタを適用し得る。いくつかの例では、2つのブロックのうちの少なくとも1つがSDIPを使用して予測されるとき、またエッジがデブロックされるべきであると判断されたとき、デブロッカー84は、エッジの近くのブロックのピクセルの値をフィルタ処理するために、適応されたデブロッキングフィルタを適用し得る。(エッジがデブロックされるべきであると判断された場合)エッジをデブロックした後に、デブロッカー84は、ブロックのためのデータを参照フレームメモリ82に記憶する(210)。もちろん、ビデオデコーダ30はまた、復号データを出力し得、また、将来のフレームのための参照のために、記憶されたデータを使用し得る。
ビデオエンコーダ20によって行われたとき、本方法は、共通エッジを有する2つのブロックのための予測モードを選択することをさらに含み得る。すなわち、ビデオエンコーダ20は、最初に予測モードを選択し、次いで、選択された予測モードを使用してブロックを符号化し得る。もちろん、ビデオエンコーダ20は、ビデオエンコーダ20が、その後符号化されたデータのための参照としてブロックの復号されたバージョンを使用できるように、符号化されたブロックを復号し得る。ビデオエンコーダ20によって行われる復号プロセスは、ループ内デブロッキングプロセスを含めて、上記で説明した方法に実質的に準拠し得る。
このようにして、図9の方法は、ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断することであって、第1のブロックと第2のブロックとが共通エッジを共有する、判断することと、第1の予測モードを使用して第1のブロックを復号し、第2の予測モードを使用して第2のブロックを復号することと、第1の予測モードと第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、第1のブロックと第2のブロックとの間の共通エッジをデブロックすべきかどうかを判断することとを含む方法の一例を表す。
図10は、ブロックのうちの少なくとも1つがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、2つのブロック間の共通エッジをデブロックすべきかどうかを判断するための別の例示的な方法を示すフローチャートである。図10のステップは、一般に図9のステップ206に対応する。従って、図10の方法も、ビデオエンコーダ20またはビデオデコーダ30のようなビデオコーディングデバイスによって行われ得る。再び、例として、図10の方法についてビデオデコーダ30に関して説明する。
この例では、ビデオデコーダ30は、共通エッジを有する2つのブロックのための予測モードを判断する(230)。ビデオデコーダ30は、次いで、2つのブロックのいずれかがSDIPを使用して予測されるかどうかを判断する(232)。2つのブロックのうちの少なくとも1つがSDIPを使用して予測される場合(すなわち、第1のブロックのための第1の予測モードと第2のブロックのための第2の予測モードとのうちの少なくとも1つがSDIPを備える場合)(232の「はい」分岐)、ビデオデコーダ30はデブロッキング判断をスキップする(234)。すなわち、この例では、ビデオデコーダ30は、2つのブロックのうちの少なくとも1つがSDIPを使用して予測されるとき、ブロック間のエッジのエリア内のサポートのセットへのデブロッキング決定関数の適用をスキップし得る。一方、ブロックのいずれもSDIPを使用して予測されない場合(232の「いいえ」分岐)、ビデオデコーダ30のデブロッカー84は、従来の技法を使用して、エッジをデブロックすべきかどうかを判断する(236)。
図11は、ブロックのうちの少なくとも1つがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、2つのブロック間の共通エッジをデブロックすべきかどうかを判断するための別の例示的な方法を示すフローチャートである。図11のステップは、一般に図9のステップ206に対応する。再び、例として、図11の方法についてビデオデコーダ30に関して説明するが、本方法は、ビデオエンコーダ20のような他のビデオコーディングデバイスによって行われ得ることを理解されたい。
この例では、同じくビデオデコーダ30は、共通エッジをもつブロックのための予測モードを判断する(240)。ビデオデコーダ30はまた、ブロックのうちの少なくとも1つがSDIPを使用して予測されるかどうかを判断する(242)。しかしながら、この例では、ブロックのうちの少なくとも1つがSDIPを使用して予測されるとき、ビデオデコーダ30は、デブロッキング決定関数が適用されるサポート領域を適応させる(244)。追加または代替として、ビデオデコーダ30は、SDIPタイプに基づいてデブロッキング決定関数を適応させ得る。ビデオデコーダ30は、次いで、適応されたサポート領域(および/または適応されたデブロッキング決定関数)を使用して、エッジをデブロックすべきかどうかを判断する(246)。適応されたサポート領域は、サポート領域がSDIP予測されるブロック内のSDIP PU境界を横断しないように構成され得る。いずれのブロックもSDIPを使用して予測されないとき、ビデオデコーダ30は、従来の技法を使用して、エッジをデブロックすべきかどうかを判断する(248)。
図12は、ブロックのうちの少なくとも1つがSDIPを使用して予測されるかどうかに少なくとも部分的に基づいて、2つのブロック間の共通エッジをデブロックすべきかどうかを判断するためのさらに別の方法を示すフローチャートである。図12のステップは、一般に図9のステップ206に対応する。再び、例として、図12の方法についてビデオデコーダ30に関して説明するが、本方法は、ビデオエンコーダ20のような他のビデオコーディングデバイスによって行われ得ることを理解されたい。
この例では、同じくビデオデコーダ30は、共通エッジをもつブロックのための予測モードを判断する(260)。ビデオデコーダ30はまた、ブロックのうちの少なくとも1つがSDIPを使用して予測されるかどうかを判断する(262)。この例では、ブロックのうちの少なくとも1つがSDIPを使用して予測されるとき(262の「はい」分岐)、ビデオデコーダ30は、SDIP予測されたブロックのSDIPパーティション方向を判断する(264)。一般に、SDIPパーティションの方向は、SDIPパーティションのより長い寸法に対応する。ビデオデコーダ30のデブロッカー84は、次いで、SDIPパーティション方向が共通エッジに対して平行であるかどうかを判断する(266)。
SDIPパーティションのうちの少なくとも1つがブロック間の共通エッジに対して平行であるとき(266の「はい」分岐)、ビデオデコーダ30のデブロッカー84は、サポートがSDIP PUパーティション境界を横断しないように、平行SDIPパーティションに基づいてサポートピクセルのセットを適応させる(268)。例えば、デブロッカー84は、サポートピクセルが(もちろん、デブロックを検討中の現在エッジは別として)SDIP PUパーティションのエッジを横断しないことを保証し得る。デブロッカー84は、次いで、例えば、サポートピクセルのセットに沿った高周波変化があるかどうかを判断するためにサポートピクセルのセットに対して適切な関数を実行することによって、サポートの適応されたセットを使用して、ブロック間のエッジをデブロックすべきかどうかを判断する(270)。一方、ブロックのいずれもSDIPを使用して予測されないとき(262の「いいえ」分岐)または全てのSDIP PUパーティションが2つのブロック間の共通エッジに対して直角であるとき(266の「いいえ」分岐)、デブロッカー84は、従来のデブロッキング判断技法を使用して、エッジをデブロックすべきかどうかを判断し得る。いずれの場合も、デブロッカー84は、エッジをデブロックすべきかどうかの判断に基づいて、エッジをデブロックする(例えば、エッジの近くのピクセルをフィルタ処理する)(274)。
図13は、SDIP PUパーティションの指示をも記憶し得るデータ構造にエッジロケーションを記憶するための例示的な方法を示すフローチャートである。データ構造は、エッジが特定のロケーションに存在するか否かを示すブール値、並びに対応するCUがSDIP予測されるかどうかを示すSDIPフラグの両方を記憶するように適応され得る。例として、図13の方法についてビデオデコーダ30に関して説明するが、本方法は、ビデオエンコーダ20のような他のビデオコーディングデバイスによって行われ得ることを理解されたい。図13の方法は、一般に、図9のステップ206より前に行われ得、図9〜図12のいずれかの方法と併せて行われ得る。
初めに、ビデオデコーダ30のデブロッカー84は、LCU内のエッジロケーションを記憶するためのデータ構造をインスタンス化する(280)。データ構造は、例えば、LCUの潜在的な最小サイズのCUに対応する水平および垂直ロケーションを有する配列を備え得る。データ構造は、水平エッジと垂直エッジの両方のロケーションをさらに備え得る。ロケーションの各々での値は、「偽」またはLCUの対応するロケーションにエッジが存在しないことを示す他の値に初期化され得る。
デブロッカー84は、次いで、ブロック間、例えば、LCUのサブCU間のエッジのロケーションを判断する(282)。例えば、デブロッカー84は、LCUのためのCU4分木に基づいてCUのロケーションを判断し得る。その上、CU4分木を使用して、デブロッカー84は、ブロックのための予測モード(例えば、単方向インター予測、双方向インター予測、方向性イントラ予測、DCイントラ予測、またはSDIP)を判断する(284)。LCU中の各エッジについて、デブロッカー84は、エッジを形成するブロックがSDIPを使用して予測されるかどうかを判断する(286)。
エッジに関するブロックのうちの少なくとも1つがSDIPを使用して予測されるとき(286の「はい」分岐)、デブロッカー84は、ブロックのSDIPタイプを判断する(288)。SDIPタイプは、例えば、SDIP PUパーティションの方向(すなわち、配向)、並びにSDIP PUパーティションがさらなるSDIP PUパーティションに分割されるかどうかを記述し得る。デブロッカー84は、次いで、SDIPタイプを表す値をデータ構造の対応するロケーションに記憶する(290)。これらの値は、例えば、SDIPフラグ、SDIP方向フラグ、およびSDIPモードフラグのような複数のSDIPフラグを備え得る。一方、両方のブロックがSDIP以外の予測モードを使用して予測されるとき(286の「いいえ」分岐)、デブロッカー84は、エッジが存在することを表す値をデータ構造の対応するロケーションに記憶する(292)。この値は、例えば、ブール値を備え得る。
直近のエッジを処理した後に、デブロッカー84は、直近のエッジがLCUの最後のエッジであるかどうかを判断する(294)。直近のエッジがLCUの最後のエッジでなかった場合(294の「いいえ」分岐)、デブロッカー84は、ステップ286〜292に従って、LCUの次のエッジを分析し得る。しかしながら、直近のエッジがLCUの最後のエッジであった場合(294の「はい」分岐)、デブロッカー84は、データ構造を使用して、デブロックのためにエッジを処理する(296)。例えば、データ構造中のブール値について、デブロッカー84は、LCU中の対応するエッジがデブロックされるべきかどうかを判断し、デブロックされるべきであると判断されたエッジの近傍にあるピクセルにデブロッキングフィルタを適用し得る。しかしながら、データ構造中のSDIPフラグについて、デブロッカー84は、例えば、デブロッキング決定関数を適応させるかどうかおよびどのように適応させるか、デブロッキング決定関数が適用されるサポート、並びに/あるいはデブロッキングフィルタを判断するために、SDIPタイプおよび配向を判断し得る。その上、デブロッカー84は、SDIP PUパーティションの各エッジが、例えば、上記の表3〜表7に従って、データ構造を使用して適切に処理されることを保証し得る。
図13の方法は、さもなければ、例えば、1×16、16×1、2×8、および8×2SDIPパーティションのエッジフィルタ処理ステータスを記憶するために増加し得る、SDIPパーティションのためのエッジフィルタ処理配列のメモリストレージ要件に対処し得る。エッジフィルタ処理配列は、例えば、デブロッキングフィルタ処理タイプなどを判断するために後で採用され得る境界強度の計算を進めるべきかどうかを判断するための、デブロッキングアルゴリズム実装において採用され得る。図13の方法は、パーティションが、例えば、1×16、16×1、2×8、8×2SDIPパーティションのためのエッジフィルタ処理配列中の要素に対応する、例えば、4×4ブロックよりも小さい寸法を有するとき、SDIPパーティションのタイプをマーキングすることを含む。その後、境界強度計算またはデブロッキングアルゴリズムの他のステップは、処理を改変するかまたは適応させるために、これらのSDIPタイプマーキングを採用し得る。
このようにして、図13の方法は、ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断することであって、第1のブロックと第2のブロックとが共通エッジを共有する、判断することと、第1の予測モードを使用して第1のブロックを復号し、第2の予測モードを使用して第2のブロックを復号することと、第1の予測モードと第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、第1のブロックと第2のブロックとの間の共通エッジをデブロックすべきかどうかを判断することと、第1の予測モードと第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIPパーティションのパーティションサイズを示す値を、共通エッジに対応するデータ構造のロケーションでデータ構造に記憶することと、エッジに対応するデータ構造に記憶された値に基づいてエッジをデブロックすることとを含む方法の一例を表す。
1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体等の有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波等の通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波等のワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波等のワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、一般に、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)等の1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(例えば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を行うように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、これらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
非区分CUのためのリーフノードはCUのPUのための予測モードを示す情報を含み得る。いくつかの例では、(TU4分木とも呼ばれる)残差4分木(RQT:residual quadtree)がリーフノードCUに与えられることができ、ここでRQTは対応するリーフノードCUのTUのための予測モードを示す情報を含み得る。いずれの場合も、CUについての情報はCUの1つまたは複数の部分のための予測モードを示し得る。イントラ予測モードに関して、例えば、この情報は、DC予測モードが使用されるかどうか、あるいは方向イントラ予測モードが使用されるかどうかを示し得る。DC予測モードでは、前にコーディングされた複数のブロックの複数の隣接ピクセルの値がアグリゲートされ、現在CUの複数のピクセルの予測値を形成するために使用され得る。方向性予測モードでは、前にコーディングされた複数のブロックの複数の隣接ピクセルの値が現在CUの複数のピクセルの予測値を形成するために、特定の方向において適用され得る。
代替的に、エッジ118をデブロックすべきかどうかを判断するときに使用され、またエッジ118をデブロックするという決定が行われたときにエッジ118の近くのピクセルをフィルタ処理するために使用される、サポートの実際の領域が、PU120AとPU120Bとの間の境界を横断しないように、サポートの領域116が適応され得る。例えば、サポートのそのような領域は、サブCU102内ではサポートの領域116の全てを含むが、PU120A内ではサポートの領域116の一部分しか含まないことがある。デブロッキング決定関数および/またはデブロッキングフィルタのための適応されたサポートは、例えば、エッジ118とPU120AおよびSPU120B間のエッジとの間の距離、PU120の寸法、またはCU108のためのSDIPモードのタイプに基づいて選択され得る。SDIPタイプは、PU120の配向とPU120の幅とを定義し得る。
ブロックAもブロックBもSDIPタイプでないか、またはSDIP PU配向(最長寸法)が、フィルタ処理されるべきCU境界エッジに対して直角である場合、標準デブロッキングが適用され得る。標準デブロッキングは、SDIPに関係しないエッジをブロックするために適用される、HMのバージョン3(HM3)デブロッキング等のデブロッキング方法を指す。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)等の1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータをコーディングする方法であって、
ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断することであって、前記第1のブロックと前記第2のブロックとが共通エッジを共有する、判断することと、
前記第1の予測モードを使用して前記第1のブロックを復号し、前記第2の予測モードを使用して前記第2のブロックを復号することと、
前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、前記第1のブロックと前記第2のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断することと
を備える、方法。
[C2]
前記共通エッジをデブロックすべきであると判断した後に、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断することをさらに備える、C1に記載の方法。
[C3]
前記デブロッキングフィルタを判断することは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、
SDIP予測ユニット(PU)が前記共通エッジに対して直角に配向しているかどうかを判断することと、
全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択することと
を備える、C2に記載の方法。
[C4]
前記共通エッジをデブロックすべきかどうかを判断することは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきでないと判断することを備える、C1に記載の方法。
[C5]
前記共通エッジをデブロックすべきかどうかを判断することは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択することを備える、C1に記載の方法。
[C6]
前記共通エッジをデブロックすべきかどうかを判断することは、サポートの適応されたセットが、前記第1のブロックおよび前記第2のブロック中のSDIP予測ユニット(PU)のPU境界を横断しないように、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、また前記デブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択することを備える、C1に記載の方法。
[C7]
前記共通エッジをデブロックすべきかどうかを判断することは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、
SDIP PUが前記共通エッジに対して直角に配向しているかどうかを判断することと、
全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することと
を備える、C1に記載の方法。
[C8]
前記デブロッキング決定関数が第1のデブロッキング決定関数を備え、前記方法は、
少なくとも1つのSDIP PUが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第2の異なるデブロッキング決定関数を適用することと、
前記第2のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックすることと
をさらに備える、C7に記載の方法。
[C9]
前記第1のブロックおよび前記第2のブロックがフレームのブロックを備え、前記方法は、
前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIPパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶することと、
エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックすることと
をさらに備える、C1に記載の方法。
[C10]
前記第1の予測モードと前記第2の予測モードとを判断することが、ビデオエンコーダによって、前記第1の予測モードと前記第2の予測モードとを選択することを備え、前記方法が、前記第1のブロックと前記第2のブロックとを復号するより前に、
前記第1の予測モードを使用して前記第1のブロックを符号化することと、
前記第2の予測モードを使用して前記第2の予測モードを符号化することと
をさらに備え、
前記第1のブロックと前記第2のブロックとを復号することが、前記ビデオエンコーダによって、前記第1のブロックと前記第2のブロックとを復号することを備える、C1に記載の方法。
[C11]
前記第1の予測モードと前記第2の予測モードとを判断することが、ビデオデコーダによって、前記第1の予測モードと前記第2の予測モードとを示す情報を受信することを備える、C1に記載の方法。
[C12]
ビデオデータをコーディングするための装置であって、ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断することであって、前記第1のブロックと前記第2のブロックとが共通エッジを共有する、判断することと、前記第1の予測モードを使用して前記第1のブロックを復号し、前記第2の予測モードを使用して前記第2のブロックを復号することと、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、前記第1のブロックと前記第2のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断することとを行うように構成されたビデオコーダを備える、装置。
[C13]
前記ビデオコーダは、前記共通エッジをデブロックすべきであると判断した後に、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断するように構成された、C12に記載の装置。
[C14]
前記デブロッキングフィルタを判断するために、前記ビデオコーダは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIP予測ユニット(PU)が前記共通エッジに対して直角に配向しているかどうかを判断することと、全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択することとを行うように構成された、C13に記載の装置。
[C15]
前記ビデオコーダは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきでないと判断するように構成された、C12に記載の装置。
[C16]
前記共通エッジをデブロックすべきかどうかを判断するために、前記ビデオコーダは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択するように構成された、C12に記載の装置。
[C17]
前記共通エッジをデブロックすべきかどうかを判断するために、前記ビデオコーダは、サポートの適応されたセットが、前記第1のブロックおよび前記第2のブロック中のSDIP予測ユニット(PU)のPU境界を横断しないように、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、また前記デブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択するように構成された、C12に記載の装置。
[C18]
前記共通エッジをデブロックすべきかどうかを判断するために、前記ビデオコーダは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIP PUが前記共通エッジに対して直角に配向しているかどうかを判断することと、全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することとを行うように構成された、C12に記載の装置。
[C19]
前記デブロッキング決定関数が第1のデブロッキング決定関数を備え、前記ビデオコーダは、少なくとも1つのSDIP PUが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第2の異なるデブロッキング決定関数を適用することと、前記第2のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックすることとを行うように構成された、C18に記載の装置。
[C20]
前記第1のブロックおよび前記第2のブロックがフレームのブロックを備え、前記ビデオコーダは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIPパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶することと、エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックすることとを行うように構成された、C12に記載の装置。
[C21]
前記ビデオコーダがビデオエンコーダを備え、前記ビデオエンコーダは、前記第1の予測モードと前記第2の予測モードとを選択することと、前記第1のブロックと前記第2のブロックとを復号するより前に、前記第1の予測モードを使用して前記第1のブロックを符号化することと、前記第2の予測モードを使用して前記第2の予測モードを符号化することと、前記第1のブロックと前記第2のブロックとを符号化した後に、前記第1のブロックと前記第2のブロックとを復号することとを行うように構成された、C12に記載の装置。
[C22]
前記ビデオコーダがビデオデコーダを備え、前記第1の予測モードと前記第2の予測モードとを判断するために、前記ビデオデコーダが、前記第1の予測モードと前記第2の予測モードとを示す情報を受信するように構成された、C12に記載の装置。
[C23]
前記装置が、
集積回路と、
マイクロプロセッサと、
前記ビデオコーダを含むワイヤレス通信デバイスと
のうちの少なくとも1つを備える、C12に記載の装置。
[C24]
ビデオデータを符号化するための装置であって、
ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断するための手段であって、前記第1のブロックと前記第2のブロックとが共通エッジを共有する、判断するための手段と、
前記第1の予測モードを使用して前記第1のブロックを復号し、前記第2の予測モードを使用して前記第2のブロックを復号するための手段と、
前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、前記第1のブロックと前記第2のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断するための手段と
を備える、装置。
[C25]
前記共通エッジをデブロックすべきであると判断した後に、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断するための手段をさらに備える、C24に記載の装置。
[C26]
前記デブロッキングフィルタを判断するための前記手段は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIP予測ユニット(PU)が前記共通エッジに対して直角に配向しているかどうかを判断するための手段と、全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択するための手段とを備える、C25に記載の装置。
[C27]
前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきでないと判断するための手段を備える、C24に記載の装置。
[C28]
前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択するための手段を備える、C24に記載の装置。
[C29]
前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、サポートの適応されたセットが、前記第1のブロックおよび前記第2のブロック中のSDIP予測ユニット(PU)のPU境界を横断しないように、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、また前記デブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択するための手段を備える、C24に記載の装置。
[C30]
前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIP PUが前記共通エッジに対して直角に配向しているかどうかを判断するための手段と、全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用するための手段とを備える、C24に記載の装置。
[C31]
前記デブロッキング決定関数が第1のデブロッキング決定関数を備え、前記装置は、
少なくとも1つのSDIP PUが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第2の異なるデブロッキング決定関数を適用するための手段と、
前記第2のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックするための手段と
をさらに備える、C30に記載の装置。
[C32]
前記第1のブロックおよび前記第2のブロックがフレームのブロックを備え、前記装置は、
前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIPパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶するための手段と、
エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックするための手段と
をさらに備える、C24に記載の装置。
[C33]
前記第1の予測モードと前記第2の予測モードとを判断するための前記手段が、符号化プロセス中に、前記第1の予測モードと前記第2の予測モードとを選択するための手段を備え、前記装置が、
前記第1のブロックを復号するより前に、前記第1の予測モードを使用して前記第1のブロックを符号化するための手段と、
前記第2のブロックを復号するより前に、前記第2の予測モードを使用して前記第2の予測モードを符号化するための手段と
をさらに備える、C24に記載の装置。
[C34]
前記第1の予測モードと前記第2の予測モードとを判断するための前記手段が、前記第1の予測モードと前記第2の予測モードとを示す情報を受信するための手段を備える、C24に記載の装置。
[C35]
実行されたとき、
ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断することであって、前記第1のブロックと前記第2のブロックとが共通エッジを共有する、判断することと、
前記第1の予測モードを使用して前記第1のブロックを復号し、前記第2の予測モードを使用して前記第2のブロックを復号することと、
前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、前記第1のブロックと前記第2のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断することと
を、ビデオデータをコーディングするためのデバイスの1つまたは複数のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
[C36]
前記共通エッジをデブロックすべきであると判断した後に、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断することを前記1つまたは複数のプロセッサに行わせる命令をさらに備える、C35に記載のコンピュータプログラム製品。
[C37]
前記デブロッキングフィルタを判断することを前記1つまたは複数のプロセッサに行わせる前記命令は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、
SDIP予測ユニット(PU)が前記共通エッジに対して直角に配向しているかどうかを判断することと、
全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択することと
を前記1つまたは複数のプロセッサに行わせる命令を備える、C36に記載のコンピュータプログラム製品。
[C38]
前記共通エッジをデブロックすべきかどうかを判断することを前記1つまたは複数のプロセッサに行わせる前記命令は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきでないと判断することを前記1つまたは複数のプロセッサに行わせる命令を備える、C35に記載のコンピュータプログラム製品。
[C39]
前記共通エッジをデブロックすべきかどうかを判断することを前記1つまたは複数のプロセッサに行わせる前記命令は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択することを前記1つまたは複数のプロセッサに行わせる命令を備える、C35に記載のコンピュータプログラム製品。
[C40]
前記共通エッジをデブロックすべきかどうかを判断することを前記1つまたは複数のプロセッサに行わせる前記命令は、サポートの適応されたセットが、前記第1のブロックおよび前記第2のブロック中のSDIP予測ユニット(PU)のPU境界を横断しないように、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、また前記デブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択することを前記1つまたは複数のプロセッサに行わせる命令を備える、C35に記載のコンピュータプログラム製品。
[C41]
前記共通エッジをデブロックすべきかどうかを判断することを前記1つまたは複数のプロセッサに行わせる前記命令は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、
SDIP PUが前記共通エッジに対して直角に配向しているかどうかを判断することと、
全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することと
を前記1つまたは複数のプロセッサに行わせる命令を備える、C35に記載のコンピュータプログラム製品。
[C42]
前記デブロッキング決定関数が第1のデブロッキング決定関数を備え、前記コンピュータプログラム製品は、
少なくとも1つのSDIP PUが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第2の異なるデブロッキング決定関数を適用することと、
前記第2のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックすることと
を前記1つまたは複数のプロセッサに行わせる命令をさらに備える、C41に記載のコンピュータプログラム製品。
[C43]
前記第1のブロックおよび前記第2のブロックがフレームのブロックを備え、前記コンピュータプログラム製品は、
前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIPパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶することと、
エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックすることと
を前記1つまたは複数のプロセッサに行わせる命令をさらに備える、C35に記載のコンピュータプログラム製品。
[C44]
前記ビデオコーダがビデオエンコーダを備え、前記第1の予測モードと前記第2の予測モードとを判断することを前記1つまたは複数のプロセッサに行わせる前記命令は、前記第1の予測モードと前記第2の予測モードとを選択することを前記1つまたは複数のプロセッサに行わせる命令を備え、前記方法が、前記第1のブロックと前記第2のブロックとを復号するより前に、
前記第1の予測モードを使用して前記第1のブロックを符号化することと、
前記第2の予測モードを使用して前記第2の予測モードを符号化することと
をさらに備え、
前記第1のブロックと前記第2のブロックとを復号することを前記1つまたは複数のプロセッサに行わせる前記命令が、前記第1のブロックと前記第2のブロックとを復号することを前記ビデオエンコーダの前記1つまたは複数のプロセッサに行わせる命令を備える、C35に記載のコンピュータプログラム製品。
[C45]
前記ビデオコーダがビデオデコーダを備え、前記第1の予測モードと前記第2の予測モードとを判断することを前記1つまたは複数のプロセッサに行わせる前記命令が、前記第1の予測モードと前記第2の予測モードとを示す情報を受信することを前記ビデオデコーダの前記1つまたは複数のプロセッサに行わせる命令を備える、C35に記載のコンピュータプログラム製品。

Claims (45)

  1. ビデオデータをコーディングする方法であって、
    ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断することであって、前記第1のブロックと前記第2のブロックとが共通エッジを共有する、判断することと、
    前記第1の予測モードを使用して前記第1のブロックを復号し、前記第2の予測モードを使用して前記第2のブロックを復号することと、
    前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、前記第1のブロックと前記第2のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断することと
    を備える、方法。
  2. 前記共通エッジをデブロックすべきであると判断した後に、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断することをさらに備える、請求項1に記載の方法。
  3. 前記デブロッキングフィルタを判断することは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、
    SDIP予測ユニット(PU)が前記共通エッジに対して直角に配向しているかどうかを判断することと、
    全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択することと
    を備える、請求項2に記載の方法。
  4. 前記共通エッジをデブロックすべきかどうかを判断することは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきでないと判断することを備える、請求項1に記載の方法。
  5. 前記共通エッジをデブロックすべきかどうかを判断することは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択することを備える、請求項1に記載の方法。
  6. 前記共通エッジをデブロックすべきかどうかを判断することは、サポートの適応されたセットが、前記第1のブロックおよび前記第2のブロック中のSDIP予測ユニット(PU)のPU境界を横断しないように、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、また前記デブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択することを備える、請求項1に記載の方法。
  7. 前記共通エッジをデブロックすべきかどうかを判断することは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、
    SDIP PUが前記共通エッジに対して直角に配向しているかどうかを判断することと、
    全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することと
    を備える、請求項1に記載の方法。
  8. 前記デブロッキング決定関数が第1のデブロッキング決定関数を備え、前記方法は、
    少なくとも1つのSDIP PUが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第2の異なるデブロッキング決定関数を適用することと、
    前記第2のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックすることと
    をさらに備える、請求項7に記載の方法。
  9. 前記第1のブロックおよび前記第2のブロックがフレームのブロックを備え、前記方法は、
    前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIPパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶することと、
    エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックすることと
    をさらに備える、請求項1に記載の方法。
  10. 前記第1の予測モードと前記第2の予測モードとを判断することが、ビデオエンコーダによって、前記第1の予測モードと前記第2の予測モードとを選択することを備え、前記方法が、前記第1のブロックと前記第2のブロックとを復号するより前に、
    前記第1の予測モードを使用して前記第1のブロックを符号化することと、
    前記第2の予測モードを使用して前記第2の予測モードを符号化することと
    をさらに備え、
    前記第1のブロックと前記第2のブロックとを復号することが、前記ビデオエンコーダによって、前記第1のブロックと前記第2のブロックとを復号することを備える、請求項1に記載の方法。
  11. 前記第1の予測モードと前記第2の予測モードとを判断することが、ビデオデコーダによって、前記第1の予測モードと前記第2の予測モードとを示す情報を受信することを備える、請求項1に記載の方法。
  12. ビデオデータをコーディングするための装置であって、ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断することであって、前記第1のブロックと前記第2のブロックとが共通エッジを共有する、判断することと、前記第1の予測モードを使用して前記第1のブロックを復号し、前記第2の予測モードを使用して前記第2のブロックを復号することと、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、前記第1のブロックと前記第2のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断することとを行うように構成されたビデオコーダを備える、装置。
  13. 前記ビデオコーダは、前記共通エッジをデブロックすべきであると判断した後に、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断するように構成された、請求項12に記載の装置。
  14. 前記デブロッキングフィルタを判断するために、前記ビデオコーダは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIP予測ユニット(PU)が前記共通エッジに対して直角に配向しているかどうかを判断することと、全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択することとを行うように構成された、請求項13に記載の装置。
  15. 前記ビデオコーダは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきでないと判断するように構成された、請求項12に記載の装置。
  16. 前記共通エッジをデブロックすべきかどうかを判断するために、前記ビデオコーダは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択するように構成された、請求項12に記載の装置。
  17. 前記共通エッジをデブロックすべきかどうかを判断するために、前記ビデオコーダは、サポートの適応されたセットが、前記第1のブロックおよび前記第2のブロック中のSDIP予測ユニット(PU)のPU境界を横断しないように、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、また前記デブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択するように構成された、請求項12に記載の装置。
  18. 前記共通エッジをデブロックすべきかどうかを判断するために、前記ビデオコーダは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIP PUが前記共通エッジに対して直角に配向しているかどうかを判断することと、全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することとを行うように構成された、請求項12に記載の装置。
  19. 前記デブロッキング決定関数が第1のデブロッキング決定関数を備え、前記ビデオコーダは、少なくとも1つのSDIP PUが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第2の異なるデブロッキング決定関数を適用することと、前記第2のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックすることとを行うように構成された、請求項18に記載の装置。
  20. 前記第1のブロックおよび前記第2のブロックがフレームのブロックを備え、前記ビデオコーダは、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIPパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶することと、エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックすることとを行うように構成された、請求項12に記載の装置。
  21. 前記ビデオコーダがビデオエンコーダを備え、前記ビデオエンコーダは、前記第1の予測モードと前記第2の予測モードとを選択することと、前記第1のブロックと前記第2のブロックとを復号するより前に、前記第1の予測モードを使用して前記第1のブロックを符号化することと、前記第2の予測モードを使用して前記第2の予測モードを符号化することと、前記第1のブロックと前記第2のブロックとを符号化した後に、前記第1のブロックと前記第2のブロックとを復号することとを行うように構成された、請求項12に記載の装置。
  22. 前記ビデオコーダがビデオデコーダを備え、前記第1の予測モードと前記第2の予測モードとを判断するために、前記ビデオデコーダが、前記第1の予測モードと前記第2の予測モードとを示す情報を受信するように構成された、請求項12に記載の装置。
  23. 前記装置が、
    集積回路と、
    マイクロプロセッサと、
    前記ビデオコーダを含むワイヤレス通信デバイスと
    のうちの少なくとも1つを備える、請求項12に記載の装置。
  24. ビデオデータを符号化するための装置であって、
    ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断するための手段であって、前記第1のブロックと前記第2のブロックとが共通エッジを共有する、判断するための手段と、
    前記第1の予測モードを使用して前記第1のブロックを復号し、前記第2の予測モードを使用して前記第2のブロックを復号するための手段と、
    前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、前記第1のブロックと前記第2のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断するための手段と
    を備える、装置。
  25. 前記共通エッジをデブロックすべきであると判断した後に、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断するための手段をさらに備える、請求項24に記載の装置。
  26. 前記デブロッキングフィルタを判断するための前記手段は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIP予測ユニット(PU)が前記共通エッジに対して直角に配向しているかどうかを判断するための手段と、全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択するための手段とを備える、請求項25に記載の装置。
  27. 前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきでないと判断するための手段を備える、請求項24に記載の装置。
  28. 前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択するための手段を備える、請求項24に記載の装置。
  29. 前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、サポートの適応されたセットが、前記第1のブロックおよび前記第2のブロック中のSDIP予測ユニット(PU)のPU境界を横断しないように、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、また前記デブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択するための手段を備える、請求項24に記載の装置。
  30. 前記共通エッジをデブロックすべきかどうかを判断するための前記手段は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIP PUが前記共通エッジに対して直角に配向しているかどうかを判断するための手段と、全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用するための手段とを備える、請求項24に記載の装置。
  31. 前記デブロッキング決定関数が第1のデブロッキング決定関数を備え、前記装置は、
    少なくとも1つのSDIP PUが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第2の異なるデブロッキング決定関数を適用するための手段と、
    前記第2のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックするための手段と
    をさらに備える、請求項30に記載の装置。
  32. 前記第1のブロックおよび前記第2のブロックがフレームのブロックを備え、前記装置は、
    前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIPパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶するための手段と、
    エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックするための手段と
    をさらに備える、請求項24に記載の装置。
  33. 前記第1の予測モードと前記第2の予測モードとを判断するための前記手段が、符号化プロセス中に、前記第1の予測モードと前記第2の予測モードとを選択するための手段を備え、前記装置が、
    前記第1のブロックを復号するより前に、前記第1の予測モードを使用して前記第1のブロックを符号化するための手段と、
    前記第2のブロックを復号するより前に、前記第2の予測モードを使用して前記第2の予測モードを符号化するための手段と
    をさらに備える、請求項24に記載の装置。
  34. 前記第1の予測モードと前記第2の予測モードとを判断するための前記手段が、前記第1の予測モードと前記第2の予測モードとを示す情報を受信するための手段を備える、請求項24に記載の装置。
  35. 実行されたとき、
    ビデオデータの第1のブロックのための第1の予測モードとビデオデータの第2のブロックのための第2の予測モードとを判断することであって、前記第1のブロックと前記第2のブロックとが共通エッジを共有する、判断することと、
    前記第1の予測モードを使用して前記第1のブロックを復号し、前記第2の予測モードを使用して前記第2のブロックを復号することと、
    前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つが短距離イントラ予測(SDIP)を備えるかどうかに少なくとも部分的に基づいて、前記第1のブロックと前記第2のブロックとの間の前記共通エッジをデブロックすべきかどうかを判断することと
    を、ビデオデータをコーディングするためのデバイスの1つまたは複数のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
  36. 前記共通エッジをデブロックすべきであると判断した後に、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるかどうかに少なくとも部分的に基づいて、前記共通エッジをデブロックするためのデブロッキングフィルタを判断することを前記1つまたは複数のプロセッサに行わせる命令をさらに備える、請求項35に記載のコンピュータプログラム製品。
  37. 前記デブロッキングフィルタを判断することを前記1つまたは複数のプロセッサに行わせる前記命令は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、
    SDIP予測ユニット(PU)が前記共通エッジに対して直角に配向しているかどうかを判断することと、
    全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルに適用され得る係数を有するデブロッキングフィルタを選択することと
    を前記1つまたは複数のプロセッサに行わせる命令を備える、請求項36に記載のコンピュータプログラム製品。
  38. 前記共通エッジをデブロックすべきかどうかを判断することを前記1つまたは複数のプロセッサに行わせる前記命令は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきでないと判断することを前記1つまたは複数のプロセッサに行わせる命令を備える、請求項35に記載のコンピュータプログラム製品。
  39. 前記共通エッジをデブロックすべきかどうかを判断することを前記1つまたは複数のプロセッサに行わせる前記命令は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記共通エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、またデブロッキングフィルタを適用すべきである、サポートの適応されたセットを選択することを前記1つまたは複数のプロセッサに行わせる命令を備える、請求項35に記載のコンピュータプログラム製品。
  40. 前記共通エッジをデブロックすべきかどうかを判断することを前記1つまたは複数のプロセッサに行わせる前記命令は、サポートの適応されたセットが、前記第1のブロックおよび前記第2のブロック中のSDIP予測ユニット(PU)のPU境界を横断しないように、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、前記エッジをデブロックすべきかどうかを判断するために使用されるデブロッキング決定関数を適用すべきであり、また前記デブロッキングフィルタを適用すべきである、サポートの前記適応されたセットを選択することを前記1つまたは複数のプロセッサに行わせる命令を備える、請求項35に記載のコンピュータプログラム製品。
  41. 前記共通エッジをデブロックすべきかどうかを判断することを前記1つまたは複数のプロセッサに行わせる前記命令は、前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、
    SDIP PUが前記共通エッジに対して直角に配向しているかどうかを判断することと、
    全てのSDIP PUが前記共通エッジに対して直角に配向しているとき、前記共通エッジの両側の等しい数のサポートピクセルにデブロッキング決定関数を適用することと
    を前記1つまたは複数のプロセッサに行わせる命令を備える、請求項35に記載のコンピュータプログラム製品。
  42. 前記デブロッキング決定関数が第1のデブロッキング決定関数を備え、前記コンピュータプログラム製品は、
    少なくとも1つのSDIP PUが前記共通エッジに対して平行に配向しているとき、サポートピクセルの適応されたセットに第2の異なるデブロッキング決定関数を適用することと、
    前記第2のデブロッキング決定関数が、前記共通エッジがデブロックされるべきであることを示すとき、前記共通エッジをデブロックすることと
    を前記1つまたは複数のプロセッサに行わせる命令をさらに備える、請求項41に記載のコンピュータプログラム製品。
  43. 前記第1のブロックおよび前記第2のブロックがフレームのブロックを備え、前記コンピュータプログラム製品は、
    前記第1の予測モードと前記第2の予測モードとのうちの少なくとも1つがSDIPを備えるとき、SDIPパーティションのパーティションサイズを示す値を、前記共通エッジに対応するデータ構造のロケーションで前記データ構造に記憶することと、
    エッジに対応する前記データ構造に記憶された値に基づいて、前記エッジをデブロックすることと
    を前記1つまたは複数のプロセッサに行わせる命令をさらに備える、請求項35に記載のコンピュータプログラム製品。
  44. 前記ビデオコーダがビデオエンコーダを備え、前記第1の予測モードと前記第2の予測モードとを判断することを前記1つまたは複数のプロセッサに行わせる前記命令は、前記第1の予測モードと前記第2の予測モードとを選択することを前記1つまたは複数のプロセッサに行わせる命令を備え、前記方法が、前記第1のブロックと前記第2のブロックとを復号するより前に、
    前記第1の予測モードを使用して前記第1のブロックを符号化することと、
    前記第2の予測モードを使用して前記第2の予測モードを符号化することと
    をさらに備え、
    前記第1のブロックと前記第2のブロックとを復号することを前記1つまたは複数のプロセッサに行わせる前記命令が、前記第1のブロックと前記第2のブロックとを復号することを前記ビデオエンコーダの前記1つまたは複数のプロセッサに行わせる命令を備える、請求項35に記載のコンピュータプログラム製品。
  45. 前記ビデオコーダがビデオデコーダを備え、前記第1の予測モードと前記第2の予測モードとを判断することを前記1つまたは複数のプロセッサに行わせる前記命令が、前記第1の予測モードと前記第2の予測モードとを示す情報を受信することを前記ビデオデコーダの前記1つまたは複数のプロセッサに行わせる命令を備える、請求項35に記載のコンピュータプログラム製品。
JP2014510440A 2011-05-12 2012-05-09 ビデオコーディングのためのブロッキネスアーティファクトのフィルタ処理 Expired - Fee Related JP5937200B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201161485442P 2011-05-12 2011-05-12
US61/485,442 2011-05-12
US201161492761P 2011-06-02 2011-06-02
US61/492,761 2011-06-02
US201161499563P 2011-06-21 2011-06-21
US61/499,563 2011-06-21
US201161506938P 2011-07-12 2011-07-12
US61/506,938 2011-07-12
US13/466,831 2012-05-08
US13/466,831 US9338476B2 (en) 2011-05-12 2012-05-08 Filtering blockiness artifacts for video coding
PCT/US2012/037113 WO2012154847A1 (en) 2011-05-12 2012-05-09 Filtering blockiness artifacts for video coding

Publications (2)

Publication Number Publication Date
JP2014516219A true JP2014516219A (ja) 2014-07-07
JP5937200B2 JP5937200B2 (ja) 2016-06-22

Family

ID=46085265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014510440A Expired - Fee Related JP5937200B2 (ja) 2011-05-12 2012-05-09 ビデオコーディングのためのブロッキネスアーティファクトのフィルタ処理

Country Status (7)

Country Link
US (1) US9338476B2 (ja)
EP (1) EP2708026A1 (ja)
JP (1) JP5937200B2 (ja)
KR (1) KR101593289B1 (ja)
CN (1) CN103535034B (ja)
TW (1) TW201309026A (ja)
WO (1) WO2012154847A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019525671A (ja) * 2016-08-21 2019-09-05 エルジー エレクトロニクス インコーポレイティド 映像符号化/復号化方法及びそのための装置
JP2022501910A (ja) * 2018-09-21 2022-01-06 オランジュ 少なくとも1つの画像を表すデータストリームを符号化および復号するための方法およびデバイス

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013001957A1 (ja) * 2011-06-28 2013-01-03 ソニー株式会社 画像処理装置と画像処理方法
US9232237B2 (en) 2011-08-05 2016-01-05 Texas Instruments Incorporated Block-based parallel deblocking filter in video coding
WO2013037254A1 (en) * 2011-09-13 2013-03-21 Mediatek Inc. Method and apparatus for reduction of deblocking filter
US9892188B2 (en) 2011-11-08 2018-02-13 Microsoft Technology Licensing, Llc Category-prefixed data batching of coded media data in multiple categories
KR20130090465A (ko) * 2012-02-06 2013-08-14 삼성전자주식회사 순차 주사 기반의 디블록킹 필터링 장치 및 방법
EP2665259A1 (en) * 2012-05-17 2013-11-20 Samsung Electronics Co., Ltd Recording medium, reproducing device for performing trick play for data of the recording medium, and method thereof
US20140056363A1 (en) * 2012-08-23 2014-02-27 Yedong He Method and system for deblock filtering coded macroblocks
AU2014202921B2 (en) * 2014-05-29 2017-02-02 Canon Kabushiki Kaisha Method, apparatus and system for de-blocking a block of video samples
US10244242B2 (en) * 2014-06-25 2019-03-26 Qualcomm Incorporated Multi-layer video coding
US9832467B2 (en) * 2014-10-07 2017-11-28 Qualcomm Incorporated Deblock filtering for intra block copying
US20160105685A1 (en) * 2014-10-08 2016-04-14 Qualcomm Incorporated Boundary filtering and cross-component prediction in video coding
CN106470341B (zh) 2015-08-17 2020-10-02 恩智浦美国有限公司 媒体显示***
WO2017093604A1 (en) * 2015-11-30 2017-06-08 Nokia Technologies Oy A method, an apparatus and a computer program product for encoding and decoding video
CN117221600A (zh) * 2016-06-22 2023-12-12 Lx 半导体科技有限公司 图像编码/解码设备以及传输图像数据的设备
CN109845255A (zh) * 2016-10-03 2019-06-04 夏普株式会社 用于将解块滤波器应用于重构视频数据的***和方法
CN110178371A (zh) * 2017-01-16 2019-08-27 世宗大学校产学协力团 影像编码/解码方法及装置
TW201842768A (zh) * 2017-04-06 2018-12-01 美商松下電器(美國)知識產權公司 編碼裝置、解碼裝置、編碼方法及解碼方法
TWI833248B (zh) 2017-04-06 2024-02-21 美商松下電器(美國)知識產權公司 解碼方法及編碼方法
KR102296015B1 (ko) * 2017-04-06 2021-09-01 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
EP3609182A4 (en) * 2017-04-06 2020-04-08 Panasonic Intellectual Property Corporation of America ENCODING DEVICE AND METHOD, DECODING DEVICE AND METHOD
TW202344047A (zh) 2017-04-06 2023-11-01 美商松下電器(美國)知識產權公司 解碼裝置、編碼裝置及電腦可讀取之非暫時性記憶媒體
TWI832814B (zh) * 2017-04-06 2024-02-21 美商松下電器(美國)知識產權公司 解碼裝置及編碼裝置
EP3673651A1 (en) * 2017-08-22 2020-07-01 Panasonic Intellectual Property Corporation of America Image encoder, image decoder, image encoding method, and image decoding method
CA3078240A1 (en) * 2017-10-02 2019-04-11 Arris Enterprises Llc System and method for reducing blocking artifacts and providing improved coding efficiency
CN111837385B (zh) 2018-01-29 2024-04-30 交互数字Vc控股公司 利用重构画面的细化进行编码和解码
US11563970B2 (en) * 2018-02-26 2023-01-24 Interdigital Vc Holdings, Inc. Method and apparatus for generalized OBMC
EP3633992A1 (en) 2018-10-02 2020-04-08 Comcast Cable Communications LLC Systems, methods, and apparatuses for processing video
EP3881552A4 (en) * 2018-11-15 2022-07-20 Telefonaktiebolaget Lm Ericsson (Publ) DEBLOCKING ON A VIDEO ENCODER AND/OR VIDEO DECODER
CA3126173A1 (en) * 2019-01-10 2020-07-16 Huawei Technologies Co., Ltd. Deblocking filter for sub-partition boundaries caused by intra sub-partition coding tool
CN109889853A (zh) * 2019-02-26 2019-06-14 北京大学深圳研究生院 一种去块效应滤波方法、***、设备及计算机可读介质
CN112449183B (zh) * 2019-09-03 2023-05-09 联咏科技股份有限公司 视频编码器、视频解码器以及视频***
US20230064234A1 (en) * 2020-02-06 2023-03-02 Interdigital Patent Holdings, Inc. Systems and methods for encoding a deep neural network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010154264A (ja) * 2008-12-25 2010-07-08 Sharp Corp 画像復号装置及び画像符号化装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7929610B2 (en) * 2001-03-26 2011-04-19 Sharp Kabushiki Kaisha Methods and systems for reducing blocking artifacts with reduced complexity for spatially-scalable video coding
US7995849B2 (en) 2003-03-17 2011-08-09 Qualcomm, Incorporated Method and apparatus for improving video quality of low bit-rate video
US7424501B2 (en) 2003-06-30 2008-09-09 Intel Corporation Nonlinear filtering and deblocking applications utilizing SIMD sign and absolute value operations
US8259565B2 (en) * 2004-09-16 2012-09-04 Qualcomm Inc. Call setup in a video telephony network
KR100679035B1 (ko) 2005-01-04 2007-02-06 삼성전자주식회사 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더
US8681867B2 (en) 2005-10-18 2014-03-25 Qualcomm Incorporated Selective deblock filtering techniques for video coding based on motion compensation resulting in a coded block pattern value
JP2009545920A (ja) 2006-08-02 2009-12-24 トムソン ライセンシング ビデオ符号化処理のためにアダブティブなジオメトリック分割を行う方法および装置
FR2908007A1 (fr) 2006-10-31 2008-05-02 Thomson Licensing Sas Procede de codage d'une sequence d'images
US20080123750A1 (en) 2006-11-29 2008-05-29 Michael Bronstein Parallel deblocking filter for H.264 video codec
WO2008120577A1 (ja) * 2007-03-29 2008-10-09 Kabushiki Kaisha Toshiba 画像符号化及び復号化の方法及び装置
KR20080107965A (ko) 2007-06-08 2008-12-11 삼성전자주식회사 객체 경계 기반 파티션을 이용한 영상의 부호화, 복호화방법 및 장치
EP2263381A1 (en) 2008-04-11 2010-12-22 Thomson Licensing Deblocking filtering for displaced intra prediction and template matching
EP2161936A1 (en) * 2008-09-04 2010-03-10 Panasonic Corporation Locally adaptive filters for video coding controlled by local correlation data
WO2010051846A1 (en) 2008-11-06 2010-05-14 Nokia Corporation Fast block selection algorithm for video coding using spatially varying transform
US8964833B2 (en) 2011-07-19 2015-02-24 Qualcomm Incorporated Deblocking of non-square blocks for video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010154264A (ja) * 2008-12-25 2010-07-08 Sharp Corp 画像復号装置及び画像符号化装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
JPN5014006748; Xiaoran Cao, et al.: 'CE6.b1 Report on Short Distance Intra Prediction Method' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th M JCTVC-E278, 20110310, pp.1-5 *
JPN5014006749; Geert Van der Auwera, et al.: 'CE6.b: SDIP Harmonization with Deblocking, MDIS and HE Residual Coding' Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Me JCTVC-F556, 20110717, pp.1-22 *
JPN6015024256; Natan Peterfreund, et al.: 'Text Modifications to MB-AFF quantization and MB-AFF interaction with deblocking filter' Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG 5th Meeting: Geneva, Switzerland , 20021016, pp.i,82-87,141-152 *
JPN6015024257; Jungyoup Yang, et al.: 'CE12 Subset1: SKT/SKKU Deblocking Filter' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th M JCTVC-E417, 20110315, pp.1-5 *
JPN6015024259; Jungyoup Yang, et al.: 'CE8 subset1: Results of intra deblocking filter testing by SKKU/SKT (JCTVC-C130)' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 4th M JCTVC-D334, 20110126, pp.1-5 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019525671A (ja) * 2016-08-21 2019-09-05 エルジー エレクトロニクス インコーポレイティド 映像符号化/復号化方法及びそのための装置
US11240495B2 (en) 2016-08-21 2022-02-01 Lg Electronics Inc. Image coding/decoding method and apparatus therefor
JP7173961B2 (ja) 2016-08-21 2022-11-16 エルジー エレクトロニクス インコーポレイティド 映像符号化/復号化方法及びそのための装置
US11956428B2 (en) 2016-08-21 2024-04-09 Lg Electronics Inc. Image coding/decoding method and apparatus therefor
JP7472234B2 (ja) 2016-08-21 2024-04-22 エルジー エレクトロニクス インコーポレイティド 映像符号化/復号化方法及びそのための装置
JP2022501910A (ja) * 2018-09-21 2022-01-06 オランジュ 少なくとも1つの画像を表すデータストリームを符号化および復号するための方法およびデバイス
JP7487185B2 (ja) 2018-09-21 2024-05-20 オランジュ 少なくとも1つの画像を表すデータストリームを符号化および復号するための方法およびデバイス

Also Published As

Publication number Publication date
US9338476B2 (en) 2016-05-10
KR101593289B1 (ko) 2016-02-11
EP2708026A1 (en) 2014-03-19
CN103535034B (zh) 2017-02-15
KR20140016375A (ko) 2014-02-07
US20120287994A1 (en) 2012-11-15
CN103535034A (zh) 2014-01-22
JP5937200B2 (ja) 2016-06-22
WO2012154847A1 (en) 2012-11-15
TW201309026A (zh) 2013-02-16

Similar Documents

Publication Publication Date Title
JP5937200B2 (ja) ビデオコーディングのためのブロッキネスアーティファクトのフィルタ処理
JP7422684B2 (ja) ブロックベースの適応ループフィルタ(alf)の設計およびシグナリング
JP6325068B2 (ja) サンプル適応オフセットのためのオフセットタイプおよび係数シグナリング方法
JP7233218B2 (ja) ビデオコーディングのためにブロックの複数のクラスのためのフィルタをマージすること
JP6042470B2 (ja) ビデオコーディングのための適応動き解像度
JP6250583B2 (ja) 隣接モードを使用したビデオコーディングのための拡張イントラ予測モードシグナリング
JP6224056B2 (ja) イントラpcm(ipcm)及びロスレスコーディングモード映像デブロッキング
JP5823623B2 (ja) ビデオコーディングのための動きベクトル予測子候補クリッピング削除
JP5922244B2 (ja) ビデオコーディングにおいて適応ループフィルタとマージされたサンプル適応オフセット
JP6250678B2 (ja) スケーラブル映像コーディングに関するイントラ予測改良
JP5869121B2 (ja) ビデオコーディングのための非正方形ブロックのデブロッキング
JP5996661B2 (ja) イントラ予測コーディングのための最も可能性の高い変換
JP6133330B2 (ja) ビデオ・コーディングのための色データのデブロッキング
JP5886440B2 (ja) イントラ予測ビデオコーディングにおける非正方形変換
JP6151277B2 (ja) ビデオコーディングにおけるデブロッキングフィルタパラメータのシグナリング
JP5823526B2 (ja) ビデオ符号化のための適応動きベクトル解像度信号伝達
JP6542225B2 (ja) イントラブロックコピーのための残差予測
KR101632776B1 (ko) 비디오 코딩에 대한 구문 엘리먼트들의 공동 코딩
JP5859572B2 (ja) 画素レベルの適応イントラ平滑化
JP2016526857A (ja) ビデオコーディングにおける適応フィルタリング
JP5784830B2 (ja) ビデオコード化のための複数領域走査順序
JP2018530246A (ja) ビデオコーディングのために位置依存の予測組合せを使用する改善されたビデオイントラ予測
JP5866453B2 (ja) イントラモードコーディングにおける参照モード選択
JP2016184936A (ja) 適応型重複ブロック動き補償
JP2019519141A (ja) フィルタ処理情報のシグナリング

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140507

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150623

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160511

R150 Certificate of patent or registration of utility model

Ref document number: 5937200

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees