JP2016511975A - イントラ予測のためのモード決定の簡略化 - Google Patents

イントラ予測のためのモード決定の簡略化 Download PDF

Info

Publication number
JP2016511975A
JP2016511975A JP2015556022A JP2015556022A JP2016511975A JP 2016511975 A JP2016511975 A JP 2016511975A JP 2015556022 A JP2015556022 A JP 2015556022A JP 2015556022 A JP2015556022 A JP 2015556022A JP 2016511975 A JP2016511975 A JP 2016511975A
Authority
JP
Japan
Prior art keywords
mode
intra prediction
current set
approximate cost
prediction modes
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
JP2015556022A
Other languages
English (en)
Other versions
JP2016511975A5 (ja
JP6284954B2 (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 JP2016511975A publication Critical patent/JP2016511975A/ja
Publication of JP2016511975A5 publication Critical patent/JP2016511975A5/ja
Application granted granted Critical
Publication of JP6284954B2 publication Critical patent/JP6284954B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Abstract

概して、複数の異なる予測モードから選択するときにモード選択の複雑さを低減するための技法について説明する。プロセッサを備えるビデオコーディングデバイスが、本技法を行い得る。プロセッサは、現在のセット中で識別されたイントラ予測モードの予め定義されたセットのための近似コストを計算し得る。イントラ予測モードの現在のセットは、イントラ予測モードの総数よりも少ないモードを含み得る。プロセッサは、1つまたは複数の最尤イントラ予測モードのために計算された近似コストをしきい値と比較し、現在のセットのイントラ予測モードのうちの1つまたは複数を1つまたは複数の最尤イントラ予測モードと置き換え得る。プロセッサは、現在のセット中で識別された各イントラ予測モードに対してレートひずみ分析を行い、現在のセットのモードを使用して現在のブロックに対してイントラ予測コーディングを行い得る。【選択図】図6

Description

[0001] 本開示は、ビデオコーディングに関し、より詳細には、ビデオコーディングのイントラ予測態様(intra prediction aspects)に関する。
[0002] デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part10,Advanced Video Coding(AVC)によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。MPEGとITU−Tとのコラボレーションである「Joint Collaborative Team−Video Coding」(JCT−VC)によって開発されている高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格など、新しいビデオコーディング規格が開発されている。新生のHEVC規格はH.265と呼ばれることがあるが、そのような名称は公式になされたものでない。
[0003] 概して、本開示では、複数の異なる予測モードから選択するときにモード選択の複雑さを低減するための技法について説明する。概して、ビデオコーダは、イントラモード符号化を使用して(例えば、同じピクチャの他のブロックに対して符号化される)、またはインターモード符号化を使用して(例えば、前にコーディングされたピクチャのブロックに対して符号化される)ピクチャのブロックをコーディングし得る。いくつかの例では、ビデオコーダは、多数の異なるモードから、所与のブロックをコーディングするためのモードを選択し得る。ビデオコーダは、選択モードのためのひずみのレートの近似を表す対応する近似コスト値に基づいてモードを選択し得る。可能な予測モードごとに近似コスト値を決定するのではなく、ビデオコーダは、最初に、低いひずみを与える可能性があるモードのサブセットを選択し、その後、低いひずみを与える追加のモードの探索を用いて選択サブセットを改善することによって、モードの数を低減し得る。
[0004] 一実施形態では、ビデオデータを符号化する方法は、少なくとも1つのイントラ予測モードを有するイントラ予測モードの予め定義されたセットを含むイントラ予測モードの現在のセット中で識別されたイントラ予測モードごとに近似コストを計算することを含む。イントラ予測モードの現在のセットは、ビデオデータの現在のブロックをコーディングするために利用可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含み得る。本方法はまた、現在のブロックに隣接するビデオデータの1つまたは複数の隣接ブロックを符号化するために使用されるイントラ予測モードに基づいて決定される現在のブロックのための1つまたは複数の最尤イントラ予測モードのための近似コストを計算することを含み得る。本方法は、1つまたは複数の最尤イントラ予測モードのために計算された近似コストの各々をしきい値と比較することをさらに含み得る。本方法はまた、比較に基づいて、イントラ予測モードの現在のセット中で識別されたイントラ予測モードのうちの1つまたは複数を1つまたは複数の最尤イントラ予測モードと置き換えることを含み得る。本方法は、イントラ予測モードの現在のセット中で識別されたイントラ予測モードごとにレートひずみコストを決定するために、イントラ予測モードの現在のセット中で識別された各イントラ予測モードに対してレートひずみ分析を行うことをさらに含み得る。本方法はまた、現在のブロックを符号化するために決定されたレートひずみコストに基づいて、イントラ予測モードの現在のセット中で識別されたイントラ予測モードのうちの1つに従って現在のブロックに対してイントラ予測コーディングを行うことを含み得る。
[0005] 一実施形態では、ビデオコーディングデバイスは、ビデオデータ、ビデオコーディングデバイスをコーディングするためにイントラ予測プロセスを行うように構成され得る。ビデオコーディングデバイスは、少なくとも1つのイントラ予測モードを有するイントラ予測モードの予め定義されたセットを含むイントラ予測モードの現在のセット中で識別されたイントラ予測モードごとに近似コストを計算することを行うように構成されたプロセッサを含み得る。ここにおいて、イントラ予測モードの現在のセットが、ビデオデータの現在のブロックをコーディングするために利用可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含む。ビデオコーディングデバイスは、現在のブロックに隣接するビデオデータの1つまたは複数の隣接ブロックを符号化するために使用されるイントラ予測モードに基づいて決定される現在のブロックのための1つまたは複数の最尤イントラ予測モードのための近似コストを計算することを行うようにさらに構成され得る。ビデオコーディングデバイスはまた、1つまたは複数の最尤イントラ予測モードのために計算された近似コストの各々をしきい値と比較することを行うように構成され得る。ビデオコーディングデバイスは、比較に基づいて、イントラ予測モードの現在のセット中で識別されたイントラ予測モードのうちの1つまたは複数を1つまたは複数の最尤イントラ予測モードと置き換えることを行うようにさらに構成され得る。ビデオコーディングデバイスはまた、イントラ予測モードの現在のセット中で識別されたイントラ予測モードごとにレートひずみコストを決定するために、イントラ予測モードの現在のセット中で識別された各イントラ予測モードに対してレートひずみ分析を行うように構成され得る。ビデオコーディングデバイスは、現在のブロックを符号化するために決定されたレートひずみコストに基づいて、イントラ予測モードの現在のセット中で識別されたイントラ予測モードのうちの1つに従って現在のブロックに対してイントラ予測コーディングを行うようにさらに構成され得る。
[0006] 一実施形態では、ビデオコーディングデバイスは、ビデオデータをコーディングするためにイントラ予測プロセスを行うように構成され得、ビデオコーディングデバイスは、少なくとも1つのイントラ予測モードを有するイントラ予測モードの予め定義されたセットを含むイントラ予測モードの現在のセット中で識別されたイントラ予測モードごとに近似コストを計算するための手段を含む。ここにおいて、イントラ予測モードの現在のセットが、ビデオデータの現在のブロックをコーディングするために利用可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含む。ビデオコーディングデバイスはまた、現在のブロックに隣接するビデオデータの1つまたは複数の隣接ブロックを符号化するために使用されるイントラ予測モードに基づいて決定される現在のブロックのための1つまたは複数の最尤イントラ予測モードのための近似コストを計算するための手段を含み得る。ビデオコーディングデバイスは、1つまたは複数の最尤イントラ予測モードのために計算された近似コストの各々をしきい値と比較するための手段をさらに含み得る。ビデオコーディングデバイスはまた、比較に基づいて、イントラ予測モードの現在のセット中で識別されたイントラ予測モードのうちの1つまたは複数を1つまたは複数の最尤イントラ予測モードと置き換えるための手段を含み得る。ビデオコーディングデバイスは、イントラ予測モードの現在のセット中で識別されたイントラ予測モードごとにレートひずみコストを決定するために、イントラ予測モードの現在のセット中で識別された各イントラ予測モードに対してレートひずみ分析を行うための手段をさらに含み得る。ビデオコーディングデバイスはまた、現在のブロックを符号化するために決定されたレートひずみコストに基づいて、イントラ予測モードの現在のセット中で識別されたイントラ予測モードのうちの1つに従って現在のブロックに対してイントラ予測コーディングを行うための手段を含み得る。
[0007] 一実施形態では、非一時的コンピュータ可読記憶媒体は、実行されたとき、1つまたは複数のプロセッサに、少なくとも1つのイントラ予測モードを有するイントラ予測モードの予め定義されたセットを含むイントラ予測モードの現在のセット中で識別されたイントラ予測モードごとに近似コストを計算することを行わせる命令を含む。ここにおいて、イントラ予測モードの現在のセットが、ビデオデータの現在のブロックをコーディングするために利用可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含む。非一時的コンピュータ可読記憶媒体はまた、実行されたとき、1つまたは複数のプロセッサに、現在のブロックに隣接するビデオデータの1つまたは複数の隣接ブロックを符号化するために使用されるイントラ予測モードに基づいて決定される現在のブロックのための1つまたは複数の最尤イントラ予測モードのための近似コストを計算することを行わせる命令を含み得る。非一時的コンピュータ可読記憶媒体はまた、実行されたとき、1つまたは複数のプロセッサに、1つまたは複数の最尤イントラ予測モードのために計算された近似コストの各々をしきい値と比較することを行わせる命令を含み得る。非一時的コンピュータ可読記憶媒体はまた、実行されたとき、1つまたは複数のプロセッサに、比較に基づいて、イントラ予測モードの現在のセット中で識別されたイントラ予測モードのうちの1つまたは複数を1つまたは複数の最尤イントラ予測モードと置き換えることを行わせる命令を含み得る。非一時的コンピュータ可読記憶媒体はまた、実行されたとき、1つまたは複数のプロセッサに、イントラ予測モードの現在のセット中で識別されたイントラ予測モードごとにレートひずみコストを決定するために、イントラ予測モードの現在のセット中で識別された各イントラ予測モードに対してレートひずみ分析を行わせる命令を含み得る。非一時的コンピュータ可読記憶媒体はまた、実行されたとき、1つまたは複数のプロセッサに、ビデオコーディングデバイスはまた、現在のブロックを符号化するために決定されたレートひずみコストに基づいて、イントラ予測モードの現在のセット中で識別されたイントラ予測モードのうちの1つに従って現在のブロックに対してイントラ予測コーディングを行わせる命令を含み得る。
[0008] 1つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、並びに特許請求の範囲から明らかになろう。
複数の異なる予測モードから選択するときにモード選択の複雑さを低減するための、本開示で説明する技法を利用するように構成され得る例示的なビデオ符号化および復号システムを示すブロック図である。 複数の異なる予測モードから選択するときにモード選択の複雑さを低減するための技法を実装し得るビデオエンコーダの一例を示すブロック図である。 本開示で説明される技法を実装し得る例示的なビデオデコーダを示すブロック図である。 本開示で説明する技法による、ビデオコーダが選択し得るイントラ予測モードの概念表現を示すブロック図である。 本開示で説明する技法による、概念表現、イントラ予測コーディングされるべき現在のブロックと隣接ブロックとを示すブロック図である。 複数の異なる予測モードから選択するときにモード選択の複雑さを低減する、図2に示したビデオエンコーダなどのビデオコーダの例示的な動作を示すフローチャートである。 本開示の技法による、イントラ予測モードの現在のセットを最初に構築するために、図2に示したビデオエンコーダなどのビデオコーダの例示的な動作を示すフローチャートである。 イントラ予測モードの現在のセットを後処理するために、図2に示したビデオエンコーダなどのビデオコーダの例示的な動作を示すフローチャートである。 イントラ予測モードの現在のセットを後処理するために、図2に示したビデオエンコーダなどのビデオコーダの例示的な動作を示すフローチャートである。 イントラ予測モードの現在のセットを改善するために、図2に示したビデオエンコーダなどのビデオコーダの例示的な動作を示すフローチャートである。
[0019] 複数の異なる予測モードから選択するときにモード選択の複雑さを低減することをビデオコーダ、そのようなビデオエンコーダが行うことを可能にし得る技法について、本開示で説明する。概して、符号化ビデオデータは予測データと残差データとを含み得る。例えば、ビデオエンコーダは、イントラ予測モード(intra-prediction mode)またはインター予測モード(inter-prediction mode)中に予測データを生成し得る。例えば、イントラ予測は、概して、あるピクチャのブロック中のピクセル値を、同じピクチャの隣接する、前にコーディングされたブロック中の参照サンプルに対して予測することを伴い、ここで、選択された前にコーディングされたブロックは、参照ブロック(reference block)と呼ばれることがある。選択された参照ブロックが予測されるべきブロックと同じピクチャからのものであるので、イントラ予測は空間的予測(spatial prediction)と呼ばれることもある。インター予測は、一般に、あるピクチャのブロック中のピクセル値を、時間的に除去されたピクチャ中の1つまたは複数の参照サンプルに対して予測することを伴う。このために、選択された参照ブロックが、予測されるべきブロックを有するピクチャとは異なる(従って、時間的に除去される)ので、インター予測は、時間的予測(temporal prediction)と呼ばれることがある。
[0020] イントラ予測を行うとき、ビデオエンコーダは、複数の異なるイントラ予測モードの中から選択し得る。イントラ予測を行うとき、ビデオエンコーダは、しばしば、35個のイントラ予測モードの各々に関連する近似コストを分析する。この近似コストは、フルレートひずみコストに近似し得る。フルレートひずみコストを計算することは、一般に、ビデオエンコーダがイントラ予測モードの各々を使用して予測ブロックを計算することを必要とする。ビデオエンコーダは、次いで、予測ブロックの各々と(上述の残差ピクセル値を指定する「残差ブロック(residual block)」と一般に呼ばれる)現在のブロックとの間の差を決定し、空間領域から周波数領域に残差ブロックの各々を変換する。次に、ビデオエンコーダは、変換された残差ブロックの各々を量子化して、対応する符号化ビデオブロックを生成し得る。最後に、ビデオエンコーダは、符号化ビデオブロックを復号して、ひずみメトリックを決定するために復号ビデオブロックの各々を現在のブロックと比較し得る。さらに、このフルレートひずみ分析は、イントラ予測モードの各々について、符号化ビデオブロックの各々をシグナリングするために使用されるビット量を計算することを伴う。従って、ビデオエンコーダは、35個のイントラ予測モードのうちの対応する1つを使用して予測されたブロックの各々に対してこのレートひずみ分析を行うのではなく、近似コストを計算し得る。
[0021] いくつかの例では、ビデオエンコーダは、イントラ予測モードの各々に対して予測された予測ブロックの各々のための近似コストを計算し得る。例えば、ビデオエンコーダは、35個のイントラ予測モードの各々に対応する35個の近似コストを最初に計算し得る。近似コストは、いくつかの状況では、レートひずみコストに間違って近似し得るので、ビデオエンコーダは、次いで、イントラ予測モードの何らかのサブセットに対してフルレートひずみ分析を行い得る。
[0022] サブセットを使用した上記の簡略化は、ブルートフォースな探索と比較して必要とされる計算量を低減し得るが、そのような技法は、全体的に、35個のイントラ予測モードの各々に対応する近似されたコストの35回の計算を依然として必要とし得る。そのような技法は、ビデオエンコーダが計算集約的なフルレートひずみ分析を行う回数を低減し得るが、このプロセスは、35個のモードの各々のための近似コストを計算するために必要な複雑さと時間とを考えると、ビデオデータのリアルタイムな符号化またはほぼリアルタイムな符号化に好適でないことがある。いくつかのリアルタイムビデオ符号化環境では、すべての可能なモードのための近似コストを計算する処理要件は、設計制約を超えることがある。
[0023] 本開示で説明する技法によれば、ビデオエンコーダは、近似、場合によっては、フルレートひずみ分析が行われるモードの数を低減し、それによって、イントラ予測プロセスを行うことに関連する時間と複雑さとを潜在的に低減し得る。イントラ予測プロセスを行うことに関連する時間と複雑さとを低減することによって、ビデオエンコーダは、リアルタイムのビデオ符号化またはほぼリアルタイムのビデオ符号化を行い得る。
[0024] 動作中、ビデオエンコーダは、1つ以上のイントラ予測モードを含むが、ビデオデータの現在のブロックをコーディングするために利用可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むイントラ予測モードの予め定義されたセット中で識別されたイントラ予測モードごとに近似コストを計算し得る。しばしば、この予め定義されたセットは、イントラ予測を行うときに使用される可能性が統計的に高いことがわかっているモードを含む。いくつかの事例では、この予め定義されたセットは固定され得る。一例では、この予め定義されたセットは、モード0、1および26を含む。この予め定義されたセットは、この時点で、現在のブロックのためのイントラ予測モードの現在のセットを備え得る。いくつかの事例では、予め定義されたセットは、サンプリングオフセットを用いてサンプリングされる平面モード(planar mode)、最尤モード(most probable modes)および角度モード(angular modes)によって形成され得る。
[0025] ビデオエンコーダは、次いで、改良プロセスにおいて追加のイントラ予測モードを探索し、イントラ予測モードの現在のセットに追加のイントラ予測モードを追加し得る。いくつかの例では、この探索は、イントラ予測モードの予め定義されたセット中で識別されたモードごとに計算される近似コストの中で、最低相対計算近似コストを有するイントラ予測モードの予め定義されたセット中のモードから開始する二分探索に似ていることがある。
[0026] 例示のために、モード26が本例において最低近似コストを有し得る。この仮定の下で、二分探索は、モード26から開始し得、ここで、モード値、すなわち、26が、何らかのオフセットFだけ減分または増分されて、26+Fおよび26−Fに至る。ビデオエンコーダは、次いで、モード26+Fおよび26−Fの各々のための近似コストを計算し得、モード26、26+Fおよび26−Fの中で最低近似コストをもつモードを選択する。ビデオエンコーダは、次いで、この比較に基づいて現在のセット中のモードを置き換え、例えば、現在のセット中のモード26を、モード26、26+Fおよび26−Fの中で最低近似コストを有する選択モードと置き換え得る。
[0027] 探索は、次いで、このようにして、FをF/2に半減させ、(モード26+Fとモード26−Fのどちらもモード26よりも小さい近似コストを有しない場合)モード26に対して探索を再び集中させ、(モード26+Fが現在のセットに追加された場合)モード26+Fに対して探索を再び集中させ、または(モード26−Fが現在のセットに追加された場合)モード26−Fに対して探索を再び集中させて繰り返す。探索プロセスは、(Fが2のべき乗である値として始まったと仮定すると)Fが分数に除算されるまで継続する。従って、例えば、Fが4に設定される場合、プロセスは、F=4で一度繰り返し、F=2で一度繰り返し、F=1で一度繰り返し、そして、F=0.5のとき終了する。
[0028] このようにして、ビデオエンコーダは、イントラ予測モードの現在のセット中で識別されたイントラ予測モードのための計算された近似コストに基づいて追加のイントラ予測モードを探索し得る。ビデオエンコーダは、次いで、追加のイントラ予測モードごとに近似コストを計算し、イントラ予測モードの現在のセット中で識別されたイントラ予測モードの各々のために計算された近似コストと、追加のイントラ予測モードのために計算された近似コストとの比較に基づいて、イントラ予測モードの現在のセットに追加のイントラ予測モードを追加し得る。従って、本開示の技法は、イントラ予測におけるモード決定を簡略化し得、同時に、予測の精度は、著しく低減され得ず、コーディング効率は、著しく犠牲にされ得ない。提案された技法は、いくつかの例では、近似コスト計算の数とフルレートひずみコスト計算の数とを1/2以上低減し得る。
[0029] 図1は、複数の異なる予測モードから選択するときにモード選択の複雑さを低減するための、本開示で説明する技法を利用するように構成され得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1の例に示すように、システム10は、宛先デバイス14によって復号するための符号化ビデオを生成するソースデバイス12を含む。ソースデバイス12は、通信チャネル16を介して宛先デバイス14に符号化ビデオを送信するか、あるいは、必要に応じて符号化ビデオが宛先デバイス14によってアクセスされ得るように記憶媒体34またはファイルサーバ36に符号化ビデオを記憶し得る。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、(セルラー電話またはハンドセットおよびいわゆるスマートフォンを含む)電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソールなどを含む、多種多様なデバイスのいずれかを備え得る。
[0030] 多くの場合、そのようなデバイスはワイヤレス通信のために装備され得る。従って、通信チャネル16はワイヤレスチャネルを備え得る。代替的に、通信チャネル16は、ワイヤードチャネル、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、ワイヤレスチャネルおよびワイヤードチャネルまたは他のタイプの通信チャネルの組合せ、あるいは符号化ビデオデータの送信に好適な通信チャネルの組合せを備え得る。いくつかの例では、通信チャネル16は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、従って、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0031] 図1の例にさらに示すように、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器22(「モデム22」)と、送信機24とを含む。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイスなどのソースを含み得る。ビデオキャプチャデバイスは、例として、ビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムのうちの1つまたは複数を含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、ワイヤレスアプリケーションまたは設定に限定されず、ビデオ符号化および/または復号機能を含む非ワイヤレスデバイスに適用され得る。ソースデバイス12および宛先デバイス14は、従って、本明細書で説明する技法をサポートできるコーディングデバイスの例にすぎない。
[0032] ビデオエンコーダ20は、キャプチャされた、プリキャプチャされた、またはコンピュータ生成されたビデオを符号化し得る。符号化されると、ビデオエンコーダ20が、この符号化されたビデオをモデム22に出力し得る。モデム22が、次いで、ワイヤレス通信プロトコルなどの通信規格に従って、符号化されたビデオを変調し得、その後、送信機24が、変調された符号化ビデオデータを宛先デバイス14に送信し得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
[0033] ビデオエンコーダ20によって符号化される、キャプチャされた、プリキャプチャされた、またはコンピュータ生成されたビデオはまた、後の取出し、復号および消費のために、記憶媒体34またはファイルサーバ36上に記憶され得る。記憶媒体34は、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、または符号化ビデオを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。宛先デバイス14は、記憶媒体34またはファイルサーバ36に記憶された符号化ビデオにアクセスし、この符号化ビデオを復号して、復号されたビデオを生成し、この復号されたビデオを再生し得る。
[0034] ファイルサーバ36は、符号化ビデオを記憶し、その符号化ビデオを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(例えば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、ローカルディスクドライブ、または符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイスに送信することとが可能な他のタイプのデバイスを含む。ファイルサーバ36からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続に従ってファイルサーバ36にアクセスし得る。この接続は、ワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続またはワイヤレスセルラーデータ接続)、ワイヤード接続(例えば、DSL、ケーブルモデムなど)、ワイヤードチャネルとワイヤレスチャネルの両方またはファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適な他のタイプの通信チャネルの組合せを含み得る。
[0035] 宛先デバイス14は、図1の例では、受信機26と、モデム28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。宛先デバイス14の受信機26は、チャネル16を介して情報を受信し、モデム28はその情報を復調して、ビデオデコーダ30のために復調されたビットストリームを生成する。チャネル16を介して通信される情報は、関連する符号化ビデオデータを復号する際にビデオデコーダ30が使用するためにビデオエンコーダ20によって生成される様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体34またはファイルサーバ36に記憶された符号化ビデオデータとともに含まれ得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、ビデオデータを符号化または復号することが可能であるそれぞれのエンコーダデコーダ(コーデック)の一部を形成し得る。
[0036] 宛先デバイス14のディスプレイデバイス32は、閲覧者による消費のためにビデオデータを提示することが可能な任意のタイプのディスプレイを表す。宛先デバイス14に組み込まれるように示されているが、ディスプレイデバイス32は、宛先デバイス14に、またはその外部に組み込まれ得る。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含み得、また外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。概して、ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0037] ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオ圧縮規格に従って動作し得、HEVCテストモデル(HM:HEVC Test Model)に準拠し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG 4,Part10,アドバンストビデオコーディング(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例としては、MPEG−2およびITU−T H.263がある。
[0038] 図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0039] ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を行い得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0040] JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、例えば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。例えば、H.264は9個のイントラ予測符号化モードを与えるが、HMは35個ものイントラ予測符号化モードを与え得る。
[0041] 概して、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット(LCU:largest coding unit)に分割され得ることを記述する。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木(quadtree)に従ってコーディングユニット(CU)に分割され得る。例えば、4分木のルートノードとしてのツリーブロックは、4つの子ノードに分割され得、各子ノードは、次に、親ノードとなり、別の4つの子ノードに分割され得る。4分木のリーフノードとしての、最終的な、分割されていない子ノードは、コーディングノード、すなわち、コード化ビデオブロックを備える。コード化ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズをも定義し得る。
[0042] CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU:prediction unit)および変換ユニット(TU:transform unit)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルを有するツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連するシンタックスデータは、例えば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化もしくはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかの間で異なり得る。PUは、形状が非方形になるように区分され得る。CUに関連するシンタックスデータは、例えば、4分木に従ってCUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が方形または非方形であり得る。
[0043] HEVC規格は、CUごとに異なり得るTUに従う変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、一般に、PUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
[0044] 概して、PUは、予測プロセスに関係するデータを含む。例えば、PUがイントラモード符号化されるとき、PUは、PUについてのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための1つまたは複数の動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(例えば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、予測方向(双予測かそれとも単予測か)および/または動きベクトルの参照ピクチャリスト(例えば、リスト0、リスト1、もしくはリストC)を記述し得る。
[0045] 概して、TUは、変換プロセスと量子化プロセスとのために使用される。1つまたは複数のPUを有する所与のCUは、1つまたは複数の変換ユニット(TU)をも含み得る。予測の後に、ビデオエンコーダ20は、PUに対応する残差値を計算し得る。残差値は、エントロピーコーディングのためのシリアル化変換係数(serialized transform coefficient)を生成するために、TUを使用して変換係数に変換され、量子化され、走査され得るピクセル差分値を備える。本開示では、一般に、CUのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合において、本開示では、コーディングノード並びにPUおよびTUを含む、ツリーブロック、すなわち、LCUまたはCUを指す「ビデオブロック」という用語をも使用し得る。
[0046] ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、概して、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、サイズを固定することも変更することもでき、指定のコーディング規格に応じてサイズが異なることがある。
[0047] 一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分をサポートする。非対称区分では、CUの一方向は区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。従って、例えば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分された2N×2N CUを指す。
[0048] 本開示では、「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は非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。例えば、ブロックは、NxMピクセルを備え得、ここで、Mは、必ずしもNに等しいとは限らない。
[0049] CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後に、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域においてピクセルデータを備え得、TUは、変換、例えば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数を生成し得る。
[0050] 変換係数を生成するための任意の変換に続いて、ビデオエンコーダ20は、変換係数の量子化を行い得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。例えば、量子化中にnビット値がmビット値に切り捨てられ得、ただし、nはmよりも大きい。
[0051] いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するために予め定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は適応走査を行い得る。量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、例えば、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0052] CABACを行うために、ビデオエンコーダ20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、例えば、シンボルの隣接値が非0であるか否かに関係し得る。CAVLCを行うために、ビデオエンコーダ20は、送信されるべきシンボルの可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、例えば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
[0053] 前に説明したように、イントラ予測のためのモードを選択するとき、いくつかのプロセスは、可能な各イントラ予測モードに対応する近似されたコストの計算を必要とし得る。いくつかのプロセスは、ビデオエンコーダが計算集約的なフルレートひずみ分析を行う回数を低減し得るが、このプロセスは、可能なイントラ予測モードの各々のための近似コストを計算するために必要な複雑さと時間とを考えると、ビデオデータのリアルタイムな符号化またはほぼリアルタイムな符号化に好適でないことがある。
[0054] 本開示の技法によれば、ビデオエンコーダ20は、イントラ予測のための高速モード決定技法を実装し得る。ビデオエンコーダ20は、すべての可能なイントラ予測モードを一様にサンプリングし、カットリスト中の1つまたは複数の予測モードをフィルタ処理して除去することによって、予備モードの現在のセットを最初に構築し得る。ビデオエンコーダ20は、次いで、現在のセットのモードにわたる改善探索(refinery search)を行い得る。最後に、ビデオエンコーダ20は、最尤モードと非最尤モードとのそれぞれの近似コストの関係に基づいて、最大近似コストをもつ現在のセットの非最尤モードを、最低近似コストに関連する最尤モードと置き換え得る。本開示のそのような技法は、近似コスト計算の数を、いくつかの例では、17よりも少ない数に低減し、フルレートひずみコスト計算の数を(4×4および8×8ものPUサイズについては)3に、(8×8よりも大きいPUサイズについては)2に低減し得る。
[0055] 一例では、ビデオエンコーダ20は、イントラ予測を行うときに使用される可能性が統計的に高いことがある予め定義された予測モードのセットを最初に決定する。ビデオエンコーダ20は、次いで、近似コストを与える追加のイントラ予測モードを探索すること、例えば、イントラ予測モードの現在のセット中で識別されたイントラ予測モードのための計算された近似コストに基づいて追加のイントラ予測モードを探索することによってサブセットを改善し得る。例えば、ビデオエンコーダ20は、探索中により低い近似コストを与えるイントラ予測モードを識別し得る。識別されたイントラ予測モードに関連する近似ひずみコストに基づいて、ビデオエンコーダ20は、(予め定義された予測モードを含む)現在のセットに識別されたモードを追加し、および/またはサブセット中の予め定義されたモードを識別されたモードと置き換え得る。
[0056] このようにして、ビデオエンコーダ20は、すべての可能なイントラ予測モードのサブセットだけのための近似コストを生成しながら、低い近似コストを与えるモードを含めるように予測モードの現在のセットを改善し得る。従って、ビデオエンコーダ20は、すべての可能なイントラ予測モードに対してではなく、現在のセット(例えば、イントラ予測モードのサブセット)中で識別されたイントラ予測モードに対してのみフルレートひずみ分析を行い得る。現在のセット中のイントラ予測モードの数が、イントラ予測モードの総数よりも少なくなり、より低い近似コストを与え得るので、本開示の技法は、モード選択を行うための複雑さと処理要件とを低減し得る。いくつかの例では、そのような処理要件を低減することは、並列処理ビデオコーダおよび/または直列処理ビデオコーダにおけるビデオコーディング性能を改善し得る。
[0057] ビデオデコーダ30は、コード化データを備えるビットストリームを受信し、ビデオエンコーダ20から受信した対応するシンタックス要素に従ってデータを復号し得る。ビデオデコーダ30は、概して、ビデオエンコーダ20に関して上記で説明した動作と相反する動作を行い得る。すなわち、ビデオデコーダ30は、符号化ビデオデータの各ブロックをエントロピー復号し、逆量子化を行い、符号化ビデオデータのブロックを逆量子化(de-quantize)し、逆変換を適用して、符号化ビデオデータの逆量子化(de-quantized)ブロックを周波数領域から空間領域に変換し得る。符号化ビデオデータのこの変換ブロックは、残差データの再構成バージョンを表し得る。予測プロセスでは、ビデオデコーダ30は、予測モードをシグナリングするシンタックス要素に基づいて所与のブロックを復号するために対応する予測モードを選択し得る。すなわち、ビデオエンコーダ20は、本開示の技法に従って、ビデオデコーダ30が所与のブロックを復号するために後で使用し得る、所与のブロックのための予測モードをシグナリングする1つまたは複数のシンタックス要素を送り得る。
[0058] 図2は、複数の異なる予測モードから選択するときにモード選択の複雑さを低減するための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを行い得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことがある。
[0059] 図2の例で、ビデオ符号器20は、区分化ユニット40と、予測ユニット41と、参照ピクチャメモリ64と、アナログ加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測ユニット41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測ユニット46とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。追加のループフィルタ(ループ内またはループ後)もデブロッキングフィルタに加えて使用され得る。ビデオエンコーダ20はモード選択ユニット43をも含む。モード選択ユニット43は、例えば、誤差結果に基づいて、コーディングモードのうちの1つ、すなわちイントラモードまたはインターモードを選択し得る。図2においてさらに説明するように、モード選択ユニット43は、複数の異なる予測モードから選択するときにレートひずみ値を記憶するのに必要とされる空間を低減するための技法を実装し得る。
[0060] 図2に示すように、ビデオエンコーダ20はビデオデータを受信し、区分ユニット40はデータをビデオブロックに区分する。この区分は、例えば、LCUおよびCUの4分木構造に応じて、スライス、タイル、または他のより大きいユニットへの区分、並びにビデオブロック区分をも含み得る。ビデオエンコーダ20は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示している。一般に、スライスは、複数のビデオブロックに(場合によっては、タイル(tiles)と呼ばれるビデオブロックのセットに)分割され得る。
[0061] モード選択ユニット43は、誤差結果(例えば、コーディングレートおよびひずみレベル)に基づいて現在ビデオブロックのために、複数のイントラコーディングモードのうちの1つ、または複数のインターコーディングモードのうちの1つなど、複数の可能なコーディングモードのうちの1つを選択し得る。予測ユニット41は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器50に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器62に与え得る。いくつかの例では、モード選択ユニット43は、一般に「レートひずみ最適化」と呼ばれ、「RDO」と略されることがあるプロセスを通じて最良のレート対ひずみ比を選択するために再構成されたビデオブロックの各々を分析し得る。以下で説明する図2のさらなる詳細は、本開示の1つまたは複数の態様によるモード選択技法を示す。
[0062] 本開示の態様は、概して、イントラコーディングに関する。従って、本開示のいくつかの技法は、モード選択ユニット43によって行われ得る。すなわち、例えば、モード選択ユニット43は、以下の図2〜図8に関して記載する本開示の技法を行い得る。他の例では、ビデオエンコーダ20の1つまたは複数の他のユニット、例えば、イントラ予測ユニット46は、追加、共同、または代替として、本開示の技法を行うことを担当し得る。
[0063] 予測ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対する現在ビデオブロックのインター予測コーディングを行う。動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するために構成され得る。所定のパターンは、シーケンス中のビデオスライスをPスライス、BスライスまたはGPBスライスに指定し得る。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって行われる動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。
[0064] 予測ブロックは、絶対差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。例えば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。従って、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに関して動き探索を行い、分数ピクセル精度で動きベクトルを出力し得る。
[0065] 動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0066] 動き補償ユニット44によって行われる動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を行うことを伴い得る。現在ビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ20は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器50は、この減算演算を行う1つまたは複数の構成要素を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0067] 予測ユニット41内のイントラ予測ユニット46は、コーディングすべき現在のブロックと同じピクチャまたはスライス中の1つまたは複数の隣接ブロックに対して現在のビデオブロックのイントラ予測コーディングを行い、空間圧縮を提供し得る。その結果、イントラ予測ユニット46は、前述のように、動き推定ユニット42および動き補正ユニット44によって行われるインター予測の代替として、現在のブロックをイントラ予測し得る。
[0068] 特に、モード選択ユニット43は、所与のモードおよびブロックに対応するレートひずみの量に基づいて現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット46は、例えば、別個の符号化パス中にモード選択ユニット43から受信した様々なイントラ予測モードを使用して、現在のブロックを符号化し得る。
[0069] モード選択ユニット43は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、並びに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。モード選択ユニット43は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。提案されたHEVC標準によれば、最高35個のイントラ予測モードが存在し得、各イントラ予測モードは、インデックスに関連付けられ得る。
[0070] イントラ予測を行うとき、モード選択ユニット43は、フルレートひずみ分析を行うのではなく、可能な各イントラ予測モードに関連する近似コストを分析し得る。この近似コストは、レートひずみコストに近似し得る。フルレートひずみコストを計算することは、ビデオエンコーダが、イントラ予測モードの各々を使用して予測ブロックを計算し、予測ブロックの各々と現在のブロックとの間の差(上述の残差ピクセル値を指定する「残差ブロック」と一般に呼ばれる)を決定し、空間領域から周波数領域に残差ブロックの各々を変換し、変換された残差ブロックの各々中の係数値を量子化して、係数の対応する符号化ビデオブロックを生成し、次いで、符号化ビデオブロックを復号して、復号ビデオブロックの各々を現在のブロックと比較してひずみメトリックを決定することを一般に必要とする。さらに、このフルレートひずみ分析は、量子化レベルを所与として、イントラ予測モードの各々について、符号化ビデオブロックの各々をシグナリングするために使用されるビット量を計算することを伴い得る。
[0071] 上記で説明したように、35個のイントラ予測モードのうちの対応する1つを使用して予測される予測ブロックの各々に対してフルレートひずみ分析を行うのではなく、モード選択ユニット43は、1つまたは複数のイントラ予測モードのための近似コストを計算し得る。モード選択ユニット43は、様々な数学的プロセスを使用して、フルレートひずみコストの近似を計算し得る。いくつかの例示的なプロセスは、一般に、ラグランジュレートひずみ近似(Lagrangian rate distortion approximations)と呼ばれることがある。多数の可能なモードの中から最良のモードを決定するために、異なるモードごとにコストを測定するためにラグランジュ乗数が適用され得る。ラグランジュ乗数は、ひずみ測度Dとレート測度Rとに基づき得る。ひずみ測度は、異なる実装形態、例えば、2乗誤差和(SSE:sum of square error)、絶対差分和(SAD)または絶対変換差分和(SATD:sum of absolute transform difference)によって別様に定義され得る。レート測度は、現在のモード情報を符号化するために何個のビットが必要とされるかを表す。例えば、レート測度は、予測モードタイプ、イントラモードインデックス、または動きベクトルなどをシグナリングするために使用されるビットを含み得る。DおよびRの値が取得されると、コストCが、式(1)示すように計算され得、ここで、λは、予め定義された定数である。
Figure 2016511975
モード選択ユニット43は、最小のCをもたらすモードを選定することによって最良のモードを選択し得る。
[0072] 一例として、モード選択ユニット43は、2乗ひずみ和(SSD:sum of squared distortion)、絶対差分和(SAD)および絶対変換差分和(SATD)を計算し得る。モード選択ユニット43は、レートひずみコストに近似する方法としてSATDを計算し得る。モード選択ユニット43は、次式(2)に従って、SATDを計算し得る。
Figure 2016511975
式(2)では、
Figure 2016511975
は、現在のブロックXのための予測ブロックを表し、TNxN(・)は、N×N変換(アダマール変換など)であり、λは、(経験的に選択され得る)ラグランジュ乗数であり、Rmodeは、モードを符号化するために使用される数ビットである。従って、J(SATD)コストは、複雑さを低減したフルレートひずみの近似であり得る。
[0073] 一般に、現在のブロックのサイズが4×4または8×8であるとき、ビデオエンコーダは、残りの27〜25個のイントラ予測モードと比較して、最低近似コストを有する8〜10個のイントラ予測モードを分析し得る。現在のブロックが8×8よりも大きいとき、ビデオエンコーダは、残りの32〜30個のイントラ予測モードと比較して、最低近似コストを有する3〜5個のイントラ予測モードを分析し得る。いくつかの例では、ビデオエンコーダはまた、イントラ予測コーディング中にいわゆる「最尤」イントラ予測モードを考慮し得る。この最尤モードを識別するために、ビデオエンコーダは、(しばしば、現在のブロックに隣接する隣接ブロックである)前に符号化されたブロックのイントラ予測モードを識別し得る。最尤モードは、現在のブロックへの隣接ブロックの空間近接により、現在のブロックと同じまたは同様である比較的高い確率を有し得る。
[0074] HEVCでは、3つの最尤モードがある。最初の2つは、上のPUおよび左のPUが利用可能である場合、上のPUおよび左のPUのイントラ予測モードであり、イントラ予測モードを使用してコーディングされる。いかなる利用不可能な予測モードもイントラDCモードであると見なされる。2つの最尤モードが等しくないとき、第3の最尤モードは、これらのモードのうちのどれが、この順序で、最初の2つのモードである1つの重複でないかに従って、Intra_Planar、Intra_DCまたはIntra_Angular[26](垂直)に等しくなるように設定される。最初の2つの最尤モードが同じであるとき、この第1のモードが値Intra_PlanarまたはIntra_DCを有する場合、第2の最尤モードと第3の最尤モードとは、これらのモードのうちのどれが、この順序で、重複でないかに従って、Intra_Planar、Intra_DC、またはIntra_Angular[26]として割り当てられる。最初の2つの最尤モードが同じであり、第1のモードがIntra_Angular値を有するとき、第2の最尤モードと第3の最尤モードとは、第1の角度(すなわち値k)に最も近い2つの角度予測モードとして選定される。
[0075] いくつかの例では、ビデオエンコーダは、予測された予測ブロックの各々とイントラ予測モードの各々とのための近似コストを計算し得る。例えば、ビデオエンコーダは、35個のイントラ予測モードの各々に対応する35個の近似コストを最初に計算し得る。近似コストは、いくつかの状況では、レートひずみコストに間違って近似し得るので、ビデオエンコーダは、次いで、イントラ予測モードの何らかのサブセットに対してフルレートひずみ分析を行い得る。
[0076] モードのサブセットに対してフルレートひずみ分析を行うことの簡略化が、ブルートフォースな探索と比較して必要とされる計算量を低減し得るが、そのような技法は、全体的に、35個のイントラ予測モードの各々に対応する近似されたコストの35回の計算を依然として必要とする。従って、これらの技法は、ビデオエンコーダが計算集約的なフルレートひずみ分析を行う回数を低減し得るが、このプロセスは、35個のモードの各々のための近似コストを計算するために必要な複雑さと時間とを考えると、ビデオデータのリアルタイムな符号化またはほぼリアルタイムな符号化に好適でないことがある。
[0077] モード選択の複雑さを低減するために、本開示では、最初に、低い近似コストを与える可能性が高いモードのサブセットを選択し、その後、より低い近似コストを与える追加のモードの探索を用いて選択サブセットを改善することによって、フルレートひずみ分析を使用して適用されるモードの数を低減するための技法について説明する。本技法により、ビデオエンコーダ20などのビデオエンコーダは、最良のモード、例えば、現在のブロックを符号化するのに最低のレートひずみをもつモードを選択することが可能になり得る。イントラ予測プロセスを行うことに関連する時間と複雑さとを低減することによって、本技法は、リアルタイムのビデオ符号化および/またはほぼリアルタイムのビデオ符号化の改善を促進し得る。
[0078] 例示のために、モード選択ユニット43は、区分ユニット40から符号化するために現在のブロックを決定するために本開示で説明する技法を最初に行い得る。モード選択ユニット43は、少なくとも1つのイントラ予測モードを有するイントラ予測モードの予め定義されたセットを含むイントラ予測モードの現在のセット中で識別されたイントラ予測モードごとに近似コストを計算し得る。イントラ予測モードの現在のセットは、ビデオデータの現在のブロックをコーディングするために利用可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含み得る。しばしば、イントラ予測モードの予め定義されたセットは、イントラ予測を行うときに使用される可能性が統計的に高いことがわかっているモードを含む。すなわち、いくつかの例では、モード選択ユニット43は、1つまたは複数のモードが選択される発生回数を示す1つまたは複数の統計値を決定し得る。統計値に少なくとも部分的に基づいて、モード選択ユニット43は、イントラ予測モードの第1のセット中に含まれるモードを選択し得る。
[0079] いくつかの事例では、予め定義されたセットは固定され得る。一例では、この予め定義されたセットは、モード0、1および26を含む。この予め定義されたセットは、この時点で、現在のブロックのためのイントラ予測モードの現在のセットを備え得る。いくつかの事例では、予め定義されたセットは、以下でさらに説明するように、サンプリングオフセットを用いてサンプリングされる平面モード、最尤モードおよび角度モードによって形成され得る。平面モードと最尤モードとが最終選択モードのようにしばしば見え得るので、モード選択ユニット43は、これらのそれぞれのモードと現在のセットに対するモードとの近似コストを決定し得る。
[0080] 予め定義されたセットに含まれる最尤モードを識別するために、モード選択ユニット43は、図4A〜図4Bおよび図5に関してさらに説明するように、以前に符号化されたブロックの1つまたは複数のイントラ予測モードを識別し得る。以前に符号化されたブロックは、現在のブロックに隣接する隣接ブロックであり得る。これらのいわゆる隣接ブロックのイントラ予測モードは、現在のブロックへの隣接ブロックの空間近接により、現在のブロックに低いレートひずみを与えるイントラ予測モードと同じまたは同様である比較的高い確率を有し得る。従って、ビデオエンコーダ20は、隣接ブロックのこれらのイントラモードを最尤モードとして識別し、最尤モードの近似コストを計算し、現在のセット中にそれらのモードを含め得る。
[0081] サンプリングオフセットを使用して1つまたは複数の角度モードを識別するために、モード選択ユニット43は、本開示の図6に関してさらに説明するように、すべての可能な角度イントラ予測モードのグループ中に含まれる1つまたは複数の角度モードをサンプリングし得る。モード選択ユニット43は、近似コスト計算の数を低減するために、角度予測モードのすべてのための近似コストを計算しないことがある。代わりに、モード選択ユニット43は、オフセットを使用して1つまたは複数の角度モードをサンプリングし得る。すなわち、近似コスト計算のためのモードを選択するためにオフセットを使用することによって、モード選択43は、すべての可能な角度予測モードのサブセットを一様にサンプリングし得る。
[0082] サンプリングプロセスでは、モード選択ユニット43は、すべての可能な角度モードのサンプリングされたサブセットについて、それぞれのサンプリングされた角度モードがカットリスト中に含まれるかどうかを決定し得る。カットリストは、低確立または最小確率をもって見える1つまたは複数のイントラ予測モードを含み得る。例えば、1つまたは複数イントラ予測モードは、しきい値を満たさない(例えば、しきい値よりも小さい)それぞれの確率および/または頻度に関連付けられ得る。それぞれのサンプリングされた角度モードがカットリスト中に含まれる場合、モード選択ユニット43は、それらのモードのための近似コストと現在のセットにそれらのモードを追加することとを計算しないことがある。さらに、いくつかの例では、モード選択ユニット43が、それぞれのサンプリングされた角度モードのための近似コストをすでに計算していた場合、モード選択ユニット43は、それらのモードのための近似コストを計算しないことがある。1つまたは複数の角度モードをサンプリングするこのプロセスを通して、モード選択ユニット43は、イントラ予測モードの予め定義されたセット中に1つまたは複数のサンプリングされた角度モードを含め得る。
[0083] 現在のセットは、いくつかの例では、近似コスト(例えば、SATDコスト)の昇順で長さNの予め定義されたモードを有し得る。HMでは、Nは、4×4および8×8のPUサイズについては8に設定され、8×8よりも大きいPUサイズについては3に設定される。変数Nの値が小さくなればなるほど、モード選択ユニット43が行い得るフルレートひずみコスト計算の数が少なくなる。複雑さとコーディング効率とのトレードオフのバランスをとるために、モード選択ユニット43は、4×4および8×8のPUサイズについてはNを3に設定し得、16×16および32×32のPUサイズについてはNを2に設定し得る。
[0084] 以下でさらに説明するように、モードの予め定義されたセットを含む現在のセットを最初に構築すると、現在のセットの後処理より前に、モード選択ユニット43は、現在のセットを改善するために探索を行い得る。現在のセットを改善する例示的な技法を図8にさらに示す。一例では、モード選択ユニット43は、イントラ予測モードの予め定義されたセット中で識別されたモードごとに計算される近似コストの中で、最低相対近似コストを有するイントラ予測モードの予め定義されたセット中のモードを選択し得る。例示のために、モード26がイントラ予測モードの予め定義されたセット中の最低近似コストを有し得る。従って、モード選択ユニット43は、モード26から探索を開始し得、ここで、モード値、すなわち、26が、何らかのオフセットFだけ減分または増分されて、26+Fおよび26−Fに至る。モード選択ユニット43は、次いで、モード26+Fおよび26−Fの各々のための近似コストを計算し得、モード26、26+Fおよび26−Fの中で最低近似コストをもつモードを選択する。モード選択ユニット43は、次いで、この比較に基づいて現在のセット中のモードを置き換え、例えば、現在のセット中のモード26を、モード26、26+Fおよび26−Fの中で最低近似コストを有する選択モードと置き換え得る。
[0085] モード選択ユニット43は、次いで、このようにして、FをF/2に半分にし、(モード26+Fとモード26−Fのどちらもモード26よりも小さい近似コストを有しない場合)モード26に対して探索を再び集中させ、(モード26+Fが現在のセットに追加された場合)モード26+Fに対して探索を再び集中させ、または(モード26−Fが現在のセットに追加された場合)モード26−Fに対して探索を再び集中させて探索を繰り返し得る。他の例では、モード選択ユニット43は、任意の好適な値dでFを除算し得、ここで、dは、本例では2に等しくなる。モード選択ユニット43は、(Fが2のべき乗である値として始まったと仮定すると)Fが分数に除算されるまで探索プロセスを継続し得る。従って、例えば、Fが4に設定される場合、プロセスは、F=4で一度繰り返し、F=2で一度繰り返し、F=1で一度繰り返し、そして、F=0.5のとき終了する。
[0086] 改良プロセスを使用して選択される予め定義されたイントラ予測モードおよび/または角度イントラ予測モードを含む現在のセットを最初に生成すると、モード選択ユニット43は、図7A、図7Bにさらに示すように、現在リストに対して後処理を行い得る。最尤モードがイントラ予測ブロックに対するモードとしてより高い確率で発生し得るが、最尤モードは、必ずしも小さい近似コストを有するとは限らないことがある。従って、最尤モードを現在のセット中でのみ使用することは、実質的な性能損失を生じ得る。従って、モード選択ユニット43は、現在のセットを後処理し、現在のブロックをイントラ予測するモードを選択するために、最尤モードと近似コストとの両方を使用し得る。すなわち、モード選択ユニット43は、現在のセットが最尤モードと比較的小さい近似コストの両方をもつモードを含むように現在のセットに対して後処理を行い得る。
[0087] 現在のセットを後処理するために、モード選択ユニット43は、すべての可能な最尤モードから最低近似コストをもつ最尤モードを決定し得る。モード選択ユニット43は、最低概算コストを有するこの最尤イントラ予測モードをしきい値と比較し得る。いくつかの例では、しきい値比較は、以下の式に従って定義され得る。
Figure 2016511975
上式では、変数Jは、現在のセット中の非最尤イントラ予測モードの近似コスト(例えば、SATD)であり得、一方、変数JMは、すべての可能な最尤モードの最低近似コストを有する最尤イントラ予測モードの近似コストである。上式では、変数Tは、通常、0と1との間の値を有するしきい値を指す。式は、JMとJとの間の差をJで除算したものの絶対値がしきい値Tよりも小さい場合、最尤モードが比較された非最尤モードの代わりに最尤モードをモード選択ユニット43が追加することを与える。このようにして、モード選択ユニット43は、比較に基づいて、イントラ予測モードの現在のセット中で識別されたイントラ予測モードのうちの1つまたは複数を1つまたは複数の最尤イントラ予測モードと置き換え得る。
[0088] 本明細書に記載する技法によれば、モード選択ユニット43は、従って、イントラ予測のための高速モード決定プロセスを与え得る。これらの技法は、近似コスト計算の数を17回未満まで低減し得る。いくつかの例では、これらの技法は、フルレートひずみコスト計算の数を(4×4および8×8のPUサイズについては)3回まで、(8×8よりも大きいPUサイズについては)2回まで低減し得る。
[0089] モード選択ユニット43は、次いで、イントラ予測モードの現在のセット中で識別されたイントラ予測モードごとにフルレートひずみコストを決定するために、後処理されたイントラ予測モードの現在のセット中で識別された各イントラ予測モードに対してフルレートひずみ分析を行い得る。イントラ予測ユニット46は、次いで、現在のブロックを符号化するために決定されたレートひずみコストに基づいて、イントラ予測モードの現在のセット中で識別されたイントラ予測モードのうちの1つに従って現在のブロックに対してイントラ予測を行い得る。しばしば、イントラ予測ユニット46は、最低レートひずみコストを有するモードを行う。
[0090] 上記で説明したように、いくつかの例では、モード選択ユニット43は、追加のイントラ予測モードの改良探索を行うべきか否かを決定し得る。一例として、改良探索より前の最初に構築された現在のセットは、モード0、1、および角度モード26を含み得る。モード選択ユニット43は、モード26のために計算された近似コストがモード0およびモード1のための計算された近似コストに対する最低近似コストであるか否かに基づいて改良探索を行うべきかどうかを決定し得る。すなわち、モード選択ユニット43は、現在のセット中の最低近似コストが、例えば、平面モードまたは最尤モードとは対照的に、角度モードに関連付けられているかどうかを決定し得る。この点において、最低近似コストが現在のセット中の角度モードに関連付けられている場合、モード選択ユニット43は、イントラ予測モードの現在のセット中で識別されたイントラ予測モードのための計算された近似コストに基づいて追加のイントラ予測モードを探索し得る。対照的に、モード0、1および26がすべて現在のセット中にあり、モード26がモード0およびモード1のために計算された近似コストに対する最低近似コストに関連付けられない場合、モード選択ユニット43は、現在のセットに対して改良探索を行い得ない。従って、いくつかの事例では、最低近似コストに関連するモードが角度モードであるとき、モード選択ユニット43は、上記で説明した改良探索を行い得る。
[0091] いくつかの例では、現在のセットを後処理すると、イントラ予測ユニット46は、イントラ予測モードの後処理された現在のセットによって識別されるイントラ予測モードのうちの1つに従って現在のブロックを符号化するためにイントラ予測を行い得る。選択モードを使用して、イントラ予測ユニット46は、現在のブロックを符号化するための予測ブロックを決定し得る。例えば、予測モードは、イントラ予測モードが予測ブロックを選択するためにどのブロックまたはブロックのグループを評価することになるかを示し得る。
[0092] イントラ予測ユニット46が現在のビデオブロックのための予測ブロックを決定した後、加算器50は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、1つまたは複数のTU中に含まれ、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
[0093] 変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を行い得る。代替的に、エントロピー符号化ユニット56が走査を行い得る。
[0094] 量子化の後に、エントロピー符号化ユニット56は、量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングあるいは別のエントロピー符号化方法または技法を行い得る。エントロピー符号化ユニット56はまた、コード化されている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。エントロピー符号化ユニット56によるエントロピー符号化に続いて、符号化ビットストリームは、ビデオデコーダ30に送信されるか、あるいはビデオデコーダ30が後で送信するかまたは取り出すためにアーカイブされ得る。
[0095] エントロピーコーディングユニット56は、本開示の技法に従って、選択されたイントラ予測モードを指示する情報を符号化し得る。ビデオエンコーダ20は、送信されるビットストリーム構成データ中に、1つまたは複数のイントラ予測モードインデックステーブルおよび(コードワードマッピングテーブルとも呼ばれる)複数の修正イントラ予測モードインデックステーブル、様々なブロックのためのコンテキストを符号化するための定義、符号化ビデオデータなどを含め得る。ビデオエンコーダ20が送信されるビットストリーム中に含め得るこれらのタイプの情報は例示的なものであり、多くの他のタイプの情報もビットストリーム中に含められ得る。
[0096] 逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構築された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット42と動き補償ユニット44とによって参照ブロックとして使用され得る。
[0097] 図3は本開示で説明される技法を実装し得る例示的なビデオデコーダ30を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、予測ユニット73と、逆量子化ユニット76と、逆変換処理ユニット78と、加算器80と、参照ピクチャメモリ82とを含む。予測ユニット73は、動き補正ユニット72と、イントラ予測ユニット74とを含む。ビデオデコーダ30は、いくつかの例では、図2のビデオエンコーダ20に関して説明した符号化パスとは概して逆の復号パスを行い得る。
[0098] 復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。符号化ビットストリームは、本開示の技法に従って、情報の中でも、ブロックに対応する、図2に関して前に説明したようにモード選択ユニット43によって選択された予測モードを含み得る。ビデオデコーダ30のエントロピー復号ユニット70は、量子化された係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号し得る。エントロピー復号ユニット70は、予測ユニット73に動きベクトルと他のシンタックス要素とを転送し得る。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0099] ビデオスライスがイントラコード化(I)スライスとしてコーディングされたとき、予測ユニット73のイントラ予測ユニット74は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。イントラ予測ユニット74は、現在のブロックのためのイントラ予測モードに対応するインデックスに基づいて、ビデオデータの現在のブロックを復号するための適切なイントラ予測モードを決定し得る。イントラ予測モードは、図2に関して前に説明したように、モード選択ユニット43によって以前に選択されていることがあり、インデックスは、ビデオデコーダ30にビデオエンコーダ20によって送られた符号化ビットストリーム中に含まれていることがある。イントラ予測ユニット74は、インデックスに対応するイントラ予測モードに基づいて予測ブロックを選択し得る。加算器80は、復号された現在のブロックを生成するために、逆変換処理ユニット78からの予測ブロックデータと残差ブロックデータとを加算し得る。メモリ82は、復号された現在のブロックを記憶し得、復号された現在のブロックは、その後、ディスプレイデバイスによって出力されるか、または別のコンピューティングデバイスに送られ得る。
[0100] 前述のように、本開示の態様は、概して、イントラコーディングに関する。従って、本開示のいくつかの技法は、イントラ予測ユニット74によって行われ得る。すなわち、例えば、イントラ予測ユニット74は、以下の図4A〜図8に関して記載する本開示の技法を行い得る。他の例で、ビデオデコーダ30の1つまたは複数の他のユニットは、追加または代替として、本開示の技法を行うことを担当し得る。
[0101] ビデオピクチャが、インターコーディングされた(例えば、B、PまたはGPB)スライスとしてコーディングされるとき、予測ユニット73の動き補正ユニット72は、エントロピー復号ユニット70から受信された動きベクトルと他のシンタックス要素とに基づいて現在のビデオスライスのビデオブロックの予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ82に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して、参照ピクチャリスト、リスト0およびリスト1を構成し得る。
[0102] 動き補償ユニット72は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。例えば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(例えば、イントラまたはインター予測)と、インター予測スライスタイプ(例えば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコーディングビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
[0103] 動き補償ユニット72はまた、補間フィルタに基づいて補間を行い得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0104] 逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された量子化変換係数を逆量子化(inverse quantize)、例えば、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオエンコーダ20によって計算される量子化パラメータの使用を含み得る。逆変換ユニット78は、ピクセル領域において残差ブロックを生成するために、逆変換、例えば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
[0105] 動き補償ユニット72が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ30は、逆変換処理ユニット78からの残差ブロックを動き補償ユニット72によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器80は、この加算演算を行う1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号されたブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、他のループフィルタも(コーディングループ中またはコーディングループ後のいずれかで)使用され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ82に記憶される。参照ピクチャメモリ82はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の表示のための、復号ビデオを記憶する。
[0106] 図4Aは、本開示で説明する技法による、ビデオコーダが選択し得るイントラ予測モードの概念表現を示すブロック図である。H.264/AVC、MPEG−2、およびHEVCなどのビデオコーディング規格は、ブロックベースのハイブリッドビデオコーディングフレームワークを使用する。そのようなフレームワークでは、ピクチャは、HEVCではCU(コーディングユニット)と呼ばれる異なるサイズのブロックに分割される。前に説明したように、各CUは、予測(PU)または変換(TU)のためのより小さいブロックに分割され得る。各PUは、イントラモードの場合は現在のスライス内で予測され、またはインターモードの場合は時間的隣接スライスから予測され得る。予測誤差は、図1〜図3で説明したように、変換され、量子化され、可変長コーディング技法を使用してコーディングされる。
[0107] ビデオデータでは、矩形エリア中のサンプルとそのエリアにすぐ隣接するサンプルとの間に比較的高い相関が存在し得る。いくつかの例では、HEVCなどのビデオコーディング技法は、隣接する前にコーディングされたPU中のサンプルから現在のPUを予測するためにイントラ予測を使用する。HEVCでは、イントラ予測は、異なるPUに対して35個のモードを与える。35のモードには、平面モード(モード0)と、DCモード(モード1)と、角度+/−[0,2,5,9,13,17,21,26,32]/32の33個の予測方向に対応する33個の角度予測モードとが含まれる。
[0108] 図4Aに、HEVCにおいて定義されているすべてのモードの35個の角度予測方向を示す。(「モード0」または「0」として示される)平面モードでは、ビデオエンコーダ20は、現在のブロックの左列に隣接する列中のピクセル値と現在のブロックの上行に隣接する行中のピクセル値とから現在のブロックのピクセル値を予測し得る。(「モード1」または「1」として示される)DCモードでは、ビデオエンコーダ20は、現在のブロックの最上行の上の行中のピクセルの値と現在のブロックの最左列に隣接する列中のピクセルの値との和の平均から予測ブロックを計算し得る。角度予測モードでは、ビデオエンコーダ20は、一般に、現在のブロックの最上行の上の行からのピクセル値、または現在のブロックの最左列に隣接する列のピクセル値からの(イントラ予測モード2〜34として上記に示した)所与の角度に沿ってピクセルを予測し得る。
[0109] イントラ予測を行うとき、ビデオエンコーダは、複数の異なるイントラ予測モードの中から選択し得る。イントラ予測を行うとき、ビデオエンコーダは、しばしば、35個のイントラ予測モードの各々に関連する近似コストを分析する。この近似コストは、レートひずみコストに近似し得る。レートひずみコストを計算することは、ビデオエンコーダが、イントラ予測モードの各々を使用して予測ブロックを計算し、予測ブロックの各々と現在のブロックとの間の差(上述の残差ピクセル値を指定する「残差ブロック」と一般に呼ばれる)を決定し、空間領域から周波数領域に残差ブロックの各々を変換し、変換された残差ブロックの各々を量子化して、対応する符号化ビデオブロックを生成し、次いで、符号化ビデオブロックを復号して、復号ビデオブロックの各々を現在のブロックと比較してひずみメトリックを決定することを一般に必要とする。さらに、このレートひずみ分析は、イントラ予測モードの各々について、符号化ビデオブロックの各々をシグナリングするために使用されるビット量を計算することを伴う。従って、ビデオエンコーダは、35個のイントラ予測モードのうちの対応する1つを使用して予測された予測ブロックの各々に対してこのレートひずみ分析を行うのではなく、近似コストを計算し得る。
[0110] いくつかの例では、ビデオエンコーダは、イントラ予測モードの各々を使用して予測された予測ブロックの各々のための近似コストを計算し得る。例えば、ビデオエンコーダは、35個のイントラ予測モードの各々に対応する35個の近似コストを最初に計算し得る。近似コストは、いくつかの状況では、レートひずみコストに間違って近似し得るので、ビデオエンコーダは、次いで、イントラ予測モードの何らかのサブセットに対してフルレートひずみ分析を行い得る。
[0111] サブセットを使用した上記の簡略化は、ブルートフォースな探索と比較して必要とされる計算量を低減し得るが、そのような技法は、全体的に、35個のイントラ予測モードの各々に対応する近似されたコストの35回の計算を依然として必要とする。そのような技法は、ビデオエンコーダが計算集約的なレートひずみ分析を行う回数を低減し得るが、このプロセスは、35個のモードの各々のための近似コストを計算するために必要な複雑さと時間とを考えると、ビデオデータのリアルタイムな符号化またはほぼリアルタイムな符号化に好適でないことがある。いくつかのリアルタイムビデオ符号化環境では、すべての可能なモードのための近似コストを計算する処理要件は、設計制約を超えることがある。
[0112] 本開示で説明する技法によれば、ビデオエンコーダ20は、さらに、レートひずみ分析が行われるモードの数を低減し、それによって、イントラ予測プロセスを行うことに関連する時間と複雑さとを潜在的に低減し得る。例えば、ビデオエンコーダ20は、イントラ予測を行うときに使用される可能性が統計的に高い予め定義された予測モードのサブセットを最初に決定し得る。ビデオエンコーダ20は、次いで、より低いレートひずみ近似コストを与える追加のイントラ予測モードを探索することによってサブセットを改善し得る。例えば、ビデオエンコーダ20は、探索中により低いレートひずみ近似コストを与えるイントラ予測モードを識別し得る。
[0113] 識別されたイントラ予測モードに関連する近似ひずみコストに基づいて、ビデオエンコーダ20は、サブセットに識別されたモードを追加し、および/またはサブセット中の予め定義されたモードを識別されたモードと置き換え得る。このようにして、ビデオエンコーダ20は、より低いレートひずみ近似コストを与えるモードを含めるように予測モードのサブセットを改善し得る。従って、ビデオエンコーダ20は、すべての可能なイントラ予測モードに対してではなく、イントラ予測モードのサブセット中で識別されたイントラ予測モードに対してのみフルレートひずみ分析を行い得る。現在のセット中のイントラ予測モードの数が、イントラ予測モードの総数よりも少なくなり、より低いレートひずみ近似コストを与え得るので、本開示の技法は、モード選択を行うための複雑さと処理要件とを低減し得る。いくつかの例では、そのような処理要件を低減することは、並列処理ビデオコーダおよび/または直列処理ビデオコーダにおけるビデオコーディング性能を改善し得る。イントラ予測プロセスを行うことに関連する時間と複雑さとを低減することによって、ビデオエンコーダ20は、リアルタイムのビデオ符号化またはほぼリアルタイムのビデオ符号化を行い得る。
[0114] 図4Bは、本開示で説明する技法による、概念表現、イントラ予測コーディングされるべき現在のブロックと隣接ブロックとを示すブロック図である。図4Bに、現在のコーディングユニット(「現在のCU」)と呼ばれることがある現在のブロック100と、イントラコーディング中に考慮され得る2つの隣接ブロック、ブロック102(「ブロックA」)およびブロック104(「ブロックB」)との一例を示す。例えば、ビデオエンコーダは、(現在のブロックの左側に位置する)隣接ブロック102と(現在のブロックの上側に位置する)隣接ブロック104とをコーディングするために使用されるイントラ予測モードを、現在のブロックの最尤イントラモードと見なし得る。
[0115] 図2および図4A中で前に説明したように、ビデオエンコーダは、フルレートひずみコストを計算するのではなく、レートひずみコストに近似し得る近似コストを計算し得る。可能なイントラ予測モードの各々のための近似コストを計算する代わりに、ビデオエンコーダは、イントラ予測コーディング中に1つまたは複数のいわゆる「最尤(most probable)」イントラ予測モードを識別し得る。最尤モードを識別するために、ビデオエンコーダは、(しばしば、現在のブロックに隣接する隣接ブロックである)前に符号化されたブロックのイントラ予測モードを識別し得る。これらのいわゆる隣接ブロックのイントラモードは、現在のブロックへの隣接ブロックの空間近接により、その現在のブロックと同じまたは同様である比較的高い確率を有し得る。ビデオエンコーダは、近似コスト計算の数を、最尤モードのみに、または最尤モードと、イントラ予測を行うときに他のモードよりも使用される可能性が統計的に高い(平面モードおよびDCモードなどの)他の可能性があるモードとに低減し得る。
[0116] ビデオエンコーダは、上記で識別したサイズ(8×8よりも小さいサイズのブロックについては8〜10、8×8よりも大きいサイズのブロックについては3〜5)のリストを形成し、それらのそれぞれのコストによってリスト中に最低近似コストを有するイントラ予測モードを順序付け得る。すなわち、最低コストモードが、リスト中で最初に位置し、2番目の最低コストモードがその後に位置し得る。ビデオエンコーダは、次いで、隣接ブロックを符号化するために使用されるイントラ予測モードに基づいて最尤モードを識別し、これらのモードをリストに追加し、いずれかが、これらのモードをリストに付加し得る。いくつかの事例では、これらの最尤モードは、リスト中にすでに存在していることがあり得、そこで、ビデオエンコーダは、リストにこの最尤モードを再追加しない。ビデオエンコーダは、次いで、リスト中のモードに対してフルレートひずみ分析を行い、それによって、ビデオエンコーダがフルレートひずみ分析を行う予測ブロックの数を低減し得る。
[0117] このプロセスは、ビデオエンコーダが計算集約的なレートひずみ分析を行う回数を低減し得るが、このプロセスは、35個のモードの各々に対して近似コスト計算を行うために必要な複雑さと時間とを考えると、依然として、ビデオデータのリアルタイムな符号化またはほぼリアルタイムな符号化に好適でないことがある。本開示で説明する技法によれば、いくつかの例では、ビデオエンコーダ20などの並列ビデオエンコーダ(すなわち、現在のブロック100を符号化するのと同時に隣接ブロック102および104を符号化するビデオエンコーダ)は、図4Aに示した合計35個のイントラ予測モードのサブセットのための近似コストだけを計算し得、それによって、モード選択の複雑さを低減し、ビデオエンコーダ20の成果の点でコスト削減を提供し得る。
[0118] 動作中、ビデオエンコーダ20は、1つ以上のイントラ予測モードを含むが、ビデオデータの現在のブロックをコーディングするために利用可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むイントラ予測モードの予め定義されたセット中で識別されたイントラ予測モードごとに近似コストを計算し得る。しばしば、この予め定義されたセットは、イントラ予測を行うときに使用される可能性が統計的に高いことがわかっているモードを含む。いくつかの事例では、この予め定義されたセットは固定され得る。この予め定義されたセットは、この時点で、現在のブロックのためのイントラ予測モードの現在のセットを備え得る。いくつかの事例では、予め定義されたセットは、サンプリングオフセットを用いてサンプリングされる平面モード、モード可能モードおよび角度モードによって形成され得る。
[0119] ビデオエンコーダ20は、次いで、(例えば、図4Aに示すように)追加のイントラ予測モードを探索し、イントラ予測モードの現在のセットに追加のイントラ予測モードを追加し得る。いくつかの例では、この探索は、二分探索に似ていることがあり、ここにおいて、ビデオエンコーダ20は、イントラ予測モードの予め定義されたセット中で識別されたモードごとに計算される近似コストの中で、最低相対計算近似コストを有するイントラ予測モードの予め定義されたセット中のモードから開始する。
[0120] 例示のために、モード26が最低近似コストを有し得る。この仮定の下で、ビデオエンコーダ20は、モード26から探索を開始し得、ここで、モード値、すなわち、26が、何らかのオフセットFだけ減分または増分されて、26+Fおよび26−Fに至る。ビデオエンコーダ20は、次いで、モード26+Fおよび26−Fの各々のための近似コストを計算し得、モード26、26+Fおよび26−Fの中で最低近似コストをもつモードを選択する。ビデオエンコーダ20は、次いで、この比較に基づいて現在のセット中のモードを置き換え、例えば、現在のセット中のモード26を、モード26、26+Fおよび26−Fの中で最低近似コストを有する選択モードと置き換え得る。
[0121] ビデオエンコーダ20は、次いで、このようにして、FをF/2に半分にし、(モード26+Fとモード26−Fのどちらもモード26よりも小さい概算コストを有しない場合)モード26に対して探索を再び集中させ、(モード26+Fが現在のセットに追加された場合)モード26+Fに対して探索を再び集中させ、または(モード26−Fが現在のセットに追加された場合)モード26−Fに対して探索を再び集中させて探索を繰り返し得る。ビデオエンコーダ20は、(Fが2のべき乗である値として始まったと仮定すると)Fが分数に除算されるまで探索プロセスを継続する。
[0122] このようにして、ビデオエンコーダ20は、イントラ予測モードの現在のセット中で識別されたイントラ予測モードのための計算された近似コストに基づいて追加のイントラ予測モードを探索し、追加のイントラ予測モードの各々のための近似コストを計算し得る。ビデオエンコーダ20は、イントラ予測モードの現在のセット中で識別されたイントラ予測モードの各々のために計算された近似コストと、追加のイントラ予測モードのために計算された近似コストとの比較に基づいて、イントラ予測モードの現在のセットに追加のイントラ予測モードを追加し得る。
[0123] 図5は、複数の異なる予測モードから選択するときにモード選択の複雑さを低減する、図2に示したビデオエンコーダ20などのビデオコーダの例示的な動作を示すフローチャートである。詳細には、ビデオエンコーダ20は、予め定義されたモードを含む最初の候補セットを構築し、現在のセットを後処理し得る。図5には示されていないが、ビデオエンコーダ20は、いくつかの例では、図8にさらに示すように、低近似コストをもつモードをさらに識別するために現在のセットを改善し得る。本開示のこれらの技法を行う際に、ビデオエンコーダ20は、現在のセット中のモードの数を低減し得る。ビデオエンコーダ20は、レートひずみ最適化プロセスにおいて後処理された候補リストを使用し、現在のブロックをイントラ予測するために最良のモード(例えば、最低レートひずみ)を選択し得る。
[0124] 最初に、ビデオエンコーダ20は、少なくとも1つのイントラ予測モードを有するイントラ予測モードの予め定義されたセットを含むイントラ予測モードの現在のセット中で識別されたイントラ予測モードごとに近似コストを計算し得る(120)。イントラ予測モードの現在のセットは、ビデオデータの現在のブロックをコーディングするために利用可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含み得る。イントラ予測モードの予め定義されたセットは、イントラ予測を行うときに使用される可能性が統計的に高いことがわかっているモードを含み得る。すなわち、いくつかの例では、ビデオエンコーダ20は、1つまたは複数のモードが選択される発生回数を示す1つまたは複数の統計値を決定し得、その統計値に少なくとも部分的に基づいて、ビデオエンコーダ20は、イントラ予測モードの第1のセット中に含まれるモードを選択し得る。
[0125] 図2中で前に説明したように、予め定義されたセットは、サンプリングオフセットを用いてサンプリングされる平面モード、モード可能モードおよび角度モードによって形成され得る。平面モードと最尤モードとが最終選択モードのようにしばしば見え得るので、ビデオエンコーダ20は、以下でさらに説明するように、現在のセット中のこれらのそれぞれのモードの近似コストを決定し得る。
[0126] 最尤モードを含む予め定義されたセットを識別するために、ビデオエンコーダ20は、以前に符号化されたブロックの1つまたは複数のイントラ予測モードを識別し得る。前の符号化ブロックは、図4Bに示すように、現在のブロックに隣接する隣接ブロックであり得る。最尤モードは、現在のブロックへの隣接ブロックの空間近接により、現在のブロックと同じまたは同様である比較的高い確率を有し得る。従って、ビデオエンコーダ20は、最尤モードを識別し、最尤モードの近似コストを計算し、現在のセット中にそれぞれのモードを含め得る(122)。
[0127] サンプリングオフセットを使用して1つまたは複数の角度モードを識別するために、ビデオエンコーダ20は、図6に関してさらに説明するように、すべての可能な角度イントラ予測モードのグループ中に含まれる1つまたは複数の角度モードをサンプリングし得る。ビデオエンコーダ20は、近似コスト計算の数を低減するために、角度予測モードのすべてのための近似コストを計算しないことがある。代わりに、ビデオエンコーダ20は、オフセットを使用して1つまたは複数の角度モードをサンプリングし得る。いくつかの例では、近似コスト計算のためのモードツーを選択するためにオフセットを使用することによって、ビデオエンコーダ20は、すべての可能な角度予測モードのサブセットを一様にサンプリングし得る。図2および図6で説明するようにカットリストを使用して、ビデオエンコーダ20は、現在のセットから1つまたは複数のサンプリングされた角度モードを除外し得る。
[0128] 予め定義されたイントラ予測モードおよび/または角度イントラ予測モードを含む現在のセットを最初に生成すると、ビデオエンコーダ20は、(図7A、図7Bにさらに示す)現在リストに対して後処理を行い得る。最尤モードがイントラ予測ブロックに対するモードとしてより高い確率で発生し得るが、最尤モードは、必ずしも小さい近似コストを有するとは限らないことがある。
[0129] 現在のセットを後処理するために、ビデオエンコーダ20は、すべての可能な最尤モードから最低近似コストをもつ最尤モードを決定し得る。例えば、ビデオエンコーダ20は、すべての可能な最尤モードのグループから最低近似コストに関連するモードを選択し得る(124)。モード選択ユニット43は、最低概算コストを有するこの最尤イントラ予測モードをしきい値と比較し得る。
[0130] ビデオエンコーダ20は、比較がしきい値を満たすかどうかを決定し得る(126)。例えば、最低近似コストを有する最尤イントラ予測モードの近似コストと、現在のセット中の非最尤イントラ予測モードの近似コストとの間の差がしきい値よりも小さいとビデオエンコーダ20が決定する場合(130)、ビデオエンコーダ20は、最尤モードが比較された非最尤モードの代わりに、最尤モードを追加し得る(132)。いくつかの例では、ビデオエンコーダ20は、比較を行うとき、非最尤モードの近似コストで差をさらに除算し得る。他の例では、近似コストの比較がしきい値を満たさないとビデオエンコーダ20が決定する場合(128)、ビデオエンコーダ20は、別の最尤モードを選択すべきかどうかを決定し得る。
[0131] ビデオエンコーダ20は、すべての可能な最尤モードから別の最尤モードを選択すべきかどうかを決定し得る(124)。例えば、ビデオエンコーダ20によってまだ評価されていない別の最尤モード(例えば、次に最も低い近似コストをもつ最尤モード)が存在するとビデオエンコーダ20が決定する場合、ビデオエンコーダ20は、その新たに選択された最尤モードに関連する近似コストを選択し(124)、動作(124)〜(134)のうちの1つまたは複数を繰り返し得る。代替的に、検査されていない最尤モードが存在しないおよび/またはビデオエンコーダ20が別の最尤モードを選択しない場合(138)、ビデオエンコーダ20は、現在のセット中で識別されたイントラ予測モードごとにフルレートひずみコストを生成し得る(140)。
[0132] 現在のセットのそれぞれのイントラ予測モードのためのフルレートひずみコストを生成すると、ビデオエンコーダ20メイは、フルレートひずみコストに基づいて現在のセットからイントラ予測モードを選択した(142)。代替例では、ビデオエンコーダ20は、現在のセットのフルレートひずみ分析の1つまたは複数のモードを行わず、近似コストに基づいて現在のセットからイントラ予測モードを選択し得る。いずれの場合も、ビデオエンコーダ20は、例えば、イントラ予測モードを選択し得る。他の例では、ビデオエンコーダ20は、最低近似コストに関連付けられていないイントラ予測モードを選択し得る。
[0133] イントラ予測モードを選択すると、ビデオエンコーダ20は、イントラ予測を行い、選択モードを使用して現在のブロックを符号化し得る(144)。このようにして、本明細書に記載する技法は、イントラ予測のための高速モード決定プロセスを与え得る。これらの技法は、いくつかの事例では、近似コスト計算の数を17回未満まで低減し得る。いくつかの例では、これらの技法は、フルレートひずみコスト計算の数を(4×4および8×8のPUサイズについては)3回まで、(8×8よりも大きいPUサイズについては)2回まで低減し得る。
[0134] 図6は、本開示の技法による、イントラ予測モードの現在のセットを最初に構築するために、図2に示したビデオエンコーダ20などのビデオコーダの例示的な動作を示すフローチャートである。詳細には、図6では、ビデオエンコーダ20は、1つまたは複数の予め定義されたモードおよび/または角度モードを含む最初の現在のセットを構築し得る。
[0135] 最初に、ビデオエンコーダ20は、1つまたは複数の予め定義されたイントラ予測モードを決定し、モードごとに近似コストを計算し得る(160)。モード0(平面モード)およびモード1は、最終的に選択されるイントラ予測モード中にしばしば見られるので、そのような予め定義されたイントラ予測モードの例としては、これらのモードがあり得る。ビデオエンコーダ20は、モードの近似コストを決定し、長さNを有し得る現在のセット中にモードを挿入し得る。いくつかの例では、ビデオエンコーダ20は、近似コストの昇順で現在のセット中にモードを挿入する。HMでは、Nは、4×4および8×8のPUサイズについては8に設定され、8×8よりも大きいPUサイズについては3に設定される。数Nが小さくなればなるほど、ビデオエンコーダ20が行い得るレートひずみコスト計算の数が少なくなる。複雑さとコーディング効率とのトレードオフを改善するために、ビデオエンコーダ20は、4×4および8×8のPUサイズについてはNを3に設定し、16×16および32×32のPUサイズについてはNを2に設定し得る。
[0136] ビデオエンコーダ20は、次に、1つまたは複数の最尤モードを決定し、モードごとに近似コストを計算し得る(162)。最尤モードを識別するために、ビデオエンコーダ20は、以前に符号化されたブロックのイントラ予測モードを識別し得る。前の符号化ブロックは、現在のブロックに隣接する隣接ブロックであり得る。いくつかの事例では、3つの最尤モードがある。最初の2つは、上のPUおよび左のPUが利用可能である場合、上のPUおよび左のPUのイントラ予測モードであり、イントラ予測モードを使用してコーディングされる。いかなる利用不可能な予測モードもイントラDCモードであると見なされる。2つの最尤モードが等しくないとき、第3の最尤モードは、これらのモードのうちのどれが、この順序で、最初の2つのモードである1つの重複でないかに従って、Intra_Planar、Intra_DCまたはIntra_Angular[26](垂直)に等しくなるように設定される。最初の2つの最尤モードが同じであるとき、この第1のモードが値Intra_PlanarまたはIntra_DCを有する場合、第2の最尤モードと第3の最尤モードとは、これらのモードのうちのどれが、この順序で、重複でないかに従って、Intra_Planar、Intra_DC、またはIntra_Angular[26]として割り当てられる。最初の2つの最尤モードが同じであり、第1のモードがIntra_Angular値を有するとき、第2の最尤モードと第3の最尤モードとは、第1の角度(すなわち値k)に最も近い2つの角度予測モードとして選定される。
[0137] 最尤モードは、現在のブロックへの隣接ブロックの空間近接により、現在のブロックと同じまたは同様である比較的高い確率を有し得る。従って、ビデオエンコーダ20は、最尤モードの近似コストを決定し、現在のセット中にモードを挿入し得る。いくつかの例では、ビデオエンコーダ20は、近似コストの昇順で現在のセット中にモードを挿入する。
[0138] ビデオエンコーダ20はまた、現在のセットに1つまたは複数の角度イントラ予測モードを追加し得る。近似コスト計算の数を低減するために、ビデオエンコーダ20は、可能な角度イントラ予測モードごとに近似コストを計算し得ない。代わりに、ビデオエンコーダ20は、オフセットを用いて角度イントラ予測モードを一様にサンプリングし得る。いくつかの例では、ビデオエンコーダ20はまた、以下でさらに説明するカットリスト中に含まれる1つまたは複数のイントラ予測モードのための近似コストを計算しないことがある。
[0139] 1つまたは複数の角度モードをサンプリングするために、ビデオエンコーダ20は、最初の角度モードを選択し得る(164)。いくつかの例では、最初の角度モードは、2のモードインデックスをもつ角度モードであり得る。他の例では、ビデオエンコーダ20は、オフセットに基づいて最初の角度を決定し得る。例えば、ビデオエンコーダ20は、最初のモードとして、オフセットに等しいインデックスを有するか、またはオフセットに少なくとも部分的に基づいた値を有するモードを選択し得る。
[0140] ビデオエンコーダ20は、次に、選択された角度モードのインデックスが可能な角度モードの総数よりも大きいかどうかを決定し得る(166)。例えば、角度モードの総数は、33個に等しくなり得、ビデオエンコーダ20は、選択された角度モード(例えば、イントラ予測モード2)が33よりも小さいかどうかを決定し得る。選択された角度モードのインデックスが可能な角度モードの総数よりも小さいと決定すると(168)、ビデオエンコーダ20は、選択された角度モードがカットリスト中にあるかどうかを決定し得る。カットリストカットリストは、低確立または最小確率を用いて選択されたイントラ予測モードを含み得る。いくつかの例では、ビデオエンコーダ20は、収集された統計値に基づいてカットリストを決定し得る。例えば、ビデオエンコーダ20は、33個の角度モード中で冗長性を決定し得る。一例として、ビデオエンコーダ20は、モード2とモード34とを使用して、画像中で同じエッジ方向を予測できる。ビデオエンコーダ20が昇順で角度モードを選択するとき、ビデオエンコーダ20がモード2を最初に検査し得るので、ビデオエンコーダ20は、現在のセット中にモード34を挿入する可能性は低い。いくつかの例では、モード34は、極めて低い確率で発生し得る。
[0141] いくつかの例では、ビデオエンコーダ20は、フルレートひずみ最適化によって選択されたモードの数を決定することによって、カットリストを取得できる。このようにして、ビデオエンコーダ20は、イントラ予測モードの分布を導出できる。例えば、ビデオエンコーダ20によって選択されるイントラ予測モードの確率は、1つまたは複数の最尤モード、すなわち、現在のPUの左側および上側のPUなど、前にコーディングされた隣接PUのイントラ予測モードに依存し得る。
[0142] 1つまたは複数の最尤モードに基づくカットリストの一例として、ビデオエンコーダは、オフセットとして4の値を使用し得る。32×32のPUの場合、ビデオエンコーダ20によって選択されるカットリストは、左側のPUの予測モードに依存し得、複数のカットリストを含むカットリストテーブルは、次のように定義され得る。
UInt Modes2Cut[35][6]={{34,14,18,22,2,30},{34,14,18,30,22,2},{14,22,18,34,30,10},{18,22,14,30,34,2},{22,14,18,34,30,2},{22,18,14,30,34,2},{22,34,18,30,14,2},{22,34,18,14,30,2},{22,18,34,30,14,2},{22,18,34,2,14,30},{34,18,22,2,14,30},{18,22,34,2,30,14},{22,34,2,18,30,14},{34,22,2,18,30,6},{34,30,2,18,22,6},{34,2,22,30,10,18},{34,2,22,30,10,14},{34,2,22,30,14,10},{34,30,2,14,22,10},{34,14,2,30,10,22},{14,34,30,2,10,6},{34,14,30,2,10,18},{34,14,18,2,10,30},{14,34,18,2,10,30},{14,18,34,2,6,30},{34,14,18,2,30,22},{34,18,14,22,2,30},{14,34,18,2,22,30},{14,34,18,22,2,6},{14,18,34,22,2,6},{18,14,22,34,6,2},{14,18,22,34,6,10},{14,18,22,34,6,10},{22,14,18,10,6,30},{22,14,18,30,10,6}}。
従って、左側の隣接PUのイントラ予測モードが2である場合、ビデオエンコーダ20によって選択されるカットリストは、{14,22,18,34,30,10}になる。上記の表では、モード{34,14,18,22}が最も多い回数に見える。従って、いくつかの例では、隣接ブロックとは無関係のカットリストは、{34,14,18,22}であり得る。
[0143] いくつかの例では、ビデオエンコーダ20は、隣接PUの予測モードと最尤モードとに基づいてカットリストを構築し得る。例えば、左側の隣接PUの予測モードと上側の隣接PUの予測モードとが同じである場合、ビデオエンコーダ20は、それらのモードが高確率で関連していると決定し得るが、高確率モードと直交する(例えば、90度の角度)モードが選択される可能性は低い。従って、ビデオエンコーダ20は、隣接ブロックのモードに基づいて選択される可能性が低いモードを含むカットリストを構築し得る。
[0144] ビデオエンコーダ20はまた、いくつかの例では、可能性が低いモードのインデックスと隣接モードまたは最尤モードのインデックスとの間の差が概算的に11〜13の間の値またはそれに等しい値であると決定し得る。ビデオエンコーダ20は、カットリスト中に、そのモードインデックスが概算的に11〜13の間の値またはそれに等しい値だけ最尤モードインデックスとは異なるモードを含め得る。従って、2つの隣接モードが等しくはないがほとんど同じであるとビデオエンコーダ20が決定する場合、ビデオエンコーダ20は、カットリスト中に、V以上の差でそれらのモードの数値的に両側にあるモードを含め得る。いくつかの例では、Vは、8と12との間の値(例えば、10)に等しくなり得る。代替的に、2つの隣接モードが遠くに離れている(例えば、2つのモードのモードインデックス間の差が大きい)とビデオエンコーダ20が決定する場合、ビデオエンコーダ20は、2つの隣接モードのそれぞれのモードインデックスの中間にある1つまたは複数のモードおよび/または2つの隣接モードのそれぞれのモードインデックスの間のモードインデックスを有するモードにあるインを含め得る。
[0145] 図5の例では、ビデオエンコーダ20は、選択された角度モードがカットリスト中にあるかどうかを決定し得る(170)。選択された角度モードがカットリスト中にある場合(172)、ビデオエンコーダ20は、そのモードの近似コストを決定せず、現在のセット中に選択された角度モードを挿入し得ない。ビデオエンコーダ20は、次いで、ビデオエンコーダ20によって選択されたオフセットに基づいて次の角度インデックスを決定し得る。例えば、ビデオエンコーダ20は、一例では、選択された角度モードのインデックスをオフセットだけ増分し得る。別の例では、ビデオエンコーダ20は、次の角度モードインデックスを決定するためにオフセットを使用して選択された角度のインデックスに関数を適用し得る。
[0146] 選択された角度モードがカットリスト中にないとビデオエンコーダ20が決定する場合(174)、ビデオエンコーダは次に、選択された角度モードのための近似コストが以前に計算されているかどうかを決定し得る(176)。選択された角度モードのための近似コストが以前に計算されている場合(178)、ビデオエンコーダ20は、次いで、上記で説明したように、ビデオエンコーダ20によって選択されるオフセットに基づいて次の角度モードインデックスを決定し得る。しかしながら、選択された角度モードのための近似コストが計算されていない場合(180)、ビデオエンコーダ20は、選択モードのための近似コストを計算し得る(182)。ビデオエンコーダ20は、次に、現在のセット中に角度モードを挿入し得る(184)。いくつかの例では、ビデオエンコーダ20は、次いで、上記で説明したように、ビデオエンコーダ20によって選択されたオフセットに基づいて次の角度インデックスを決定する。図6に示すように角度モードがカットリスト中になく、まだ検査されていない場合のみ、ビデオエンコーダ20は、そのモードの近似コストを計算し得る。従って、近似コスト計算の数N1は、以下の通りになり得る。
Figure 2016511975
ここで、offsetは、角度モードのためのサンプリングオフセットであり、Kは、カットリストの長さである。
[0147] いくつかの例では、次に生成される角度モードインデックスが、可能な角度モードの総数よりも大きい場合(167)、ビデオエンコーダ20は、現在のセット中の最低近似コストが角度モードに関連付けられるかどうかを決定し得る(188)。現在のセット中の最低近似コストが角度モードに関連付けられる場合(190)、ビデオエンコーダ20は、現在のセット中のイントラ予測モードをさらに改善し得る。改良動作のさらなる詳細について、図8において説明する。代替的に、現在のセット中の最低近似コストが角度モードに関連付けられない(例えば、最低近似コストが、現在のセット中に含まれる平面モードまたはDCモードなどの予め定義されたモードのうちの1つに関連付けられる)とビデオエンコーダ20が決定する場合、ビデオエンコーダ20は、現在のセットをさらに改善することなしに、図7Aおよび図7Bにおいてさらに説明するように、現在のセットを後処理し得る(194)。
[0148] 図7Aは、イントラ予測モードの現在のセットを後処理するために、図2に示したビデオエンコーダ20などのビデオコーダの例示的な動作を示すフローチャートである。詳細には、図5中で、ビデオエンコーダ20は、ビデオエンコーダ20によって以前に生成されたイントラ予測モードのセット(例えば、現在のセット)の後処理を行い得る。
[0149] いくつかの例では、ビデオエンコーダ20は、高い確率および/または発生回数で選択される最尤モードを識別し得る。近似コストがフルレートひずみコストの近似にすぎないので、最尤モードは、小さい近似コストを有し得ない。一方、フルレートひずみ分析を行うために候補モードとして最尤モードのみを使用すると、いくつかの例では、パフォーマンスの低下を生じ得る。従って、ビデオエンコーダ20によって実装される本開示の技法は、図7Aおよび図7Bにさらに示すように、1つまたは複数のイントラ予測モードを選択するときに最尤モードと近似コストの両方を採用し得る。すなわち、いくつかの例では、イントラ予測モードの現在のセットは、最尤モードと小さい近似コストを有するモードとを含み得る。図7Aおよび図7Bに、近似コストと最尤モードとに基づく現在のセットの後処理を示す。いくつかの例では、現在のセットは、図6に示す技法に従って生成されるイントラ予測モードの現在のセットであり得る。いくつかの例では、現在のセットは、図8に示す技法に従って改善されるイントラ予測モードの現在のセットであり得る。
[0150] 図6の例において前に説明したように、ビデオエンコーダ20は、現在リスト中に含まれない1つまたは複数の最尤モードが、現在のセット中の1つまたは複数のモードよりも低い近似コスト値を有するかどうかを決定し得る。現在のセット中に含まれない最尤モードと現在のセット中の非最尤モードとの間の近似コストの差がしきい値よりも小さいとビデオエンコーダ20が決定する場合、ビデオエンコーダ20は、例えば、非最尤モードを置き換えることによって、現在のセット中に最尤モードを含め得る。
[0151] 最初に、ビデオエンコーダ20は、すべての可能な最尤モードから、最低近似コストを有する最尤モードを決定し得る。例えば、ビデオエンコーダ20は、最尤モードリストからモードを最初に選択し得る(210)。ビデオエンコーダ20によって選択される第1の最尤モードは、最尤モードインデックスに関連する最尤モードであり得る。最尤モードを選択すると、ビデオエンコーダ20は、選択された最尤モードが現在のセット(例えば、図6および/または図8に示す技法を使用して生成される現在のセット)中にあるかどうかを決定し得る(212)。
[0152] 選択された最尤モードが現在のセット中に含まれるとビデオエンコーダ20が決定する場合(214)、ビデオエンコーダ20は、すべての可能な最尤モードのグループ中の任意の追加の最尤モードがまだ評価されていないかどうかを決定し得る(226)。追加の最尤モードがまだ評価されていない場合(228)、ビデオエンコーダ20は、すべての可能な最尤モードのグループ中に含まれる次の未評価最尤モードを選択し得る(210)。
[0153] 選択された最尤モードが現在のセット中に含まれていないとビデオエンコーダ20が決定する場合(216)、ビデオエンコーダ20は、選択された最尤モードに関連する近似コストを決定し得る。ビデオエンコーダ20は、選択された最尤モードに関連する近似コストが、ビデオエンコーダ20によって以前に検査された最尤モードの最低近似コストであるかどうかを決定し得る(218)。すなわち、ビデオエンコーダ20は、図7Aの動作を行う間に、最低近似コスト(および、いくつかの例では、モードの対応する近似コスト)をもつモードのインデックスを保持し得る。選択された最尤モードに関連する近似コストが任意の以前に検査された最尤モードの近似コストよりも小さくないとビデオエンコーダ20が決定する場合(222)、ビデオエンコーダ20は、すべての可能な最尤モードのグループ中の任意の追加の最尤モードがまだ検査されていないかどうかを決定し得る(226)。すなわち、ビデオエンコーダ20は、すべての可能な最尤モードの中で最低の近似コストを有するモードとして、選択された最尤モードを保持し得ない。
[0154] しかしながら、選択された最尤モードの近似コストが、すべての以前に検査された最尤モードの近似コストよりも小さいとビデオエンコーダ20が決定する場合(220)、ビデオエンコーダ20は、最低近似コストをもつモードとして、選択された最尤モードを設定し得る(224)。例えば、ビデオエンコーダ20は、すべての評価された最尤モードの中で最低の近似コストをもつモードとして、選択された最尤モードのインデックスを記憶し得る。このようにして、ビデオエンコーダ20は、すべての可能なモード可能モードのグループ中の各最尤モードを繰り返し処理するとき、最低近似コストに関連する最尤モードを更新し得る。従って、ビデオエンコーダ20は、最低近似コストをもつ最尤モードを選択するために、すべての可能なモード可能モードのグループを探索するためにこれらの技法を使用し得る。
[0155] 上記で説明したように、ビデオエンコーダ20は、次いで、すべての可能な最尤モードのグループ中の任意の追加の最尤モードがまだ評価されていないかどうかを決定し得る(226)。追加の最尤モードがまだ評価されていない場合(228)、ビデオエンコーダ20は、次の検査されていない最尤モードを選択し得る(210)。しかしながら、すべての最尤モードが評価されたとビデオエンコーダ20が決定する場合(230)、ビデオエンコーダ20は、次に、最大近似コストに関連するモードが現在のセットを含むと決定し得る(232)。
[0156] 図7Bでは、ビデオエンコーダ20は、現在のセットからこのモード(例えば、最大近似コストに関連するモードが現在のセットを含む)を選択し得る(234)。モードを選択すると、ビデオエンコーダ20は、現在のセットからの選択モードが最尤モードであるかどうかを決定し得る(234)。選択モードが最尤モードである場合(240)、ビデオエンコーダ20は、現在のセット中で次のモードを選択し得る。例えば、モードの現在のセットが、近似コストに基づいて降順で順序付けられ、ビデオエンコーダ20が、最高近似コストに関連するモードを最初に選択した場合、ビデオエンコーダ20は、次に高い近似コストに関連する、現在のセット中の次の未評価モードを選択し得る(234)。
[0157] 選択モードが最尤モードでないとビデオエンコーダ20が決定する場合(238)、ビデオエンコーダ20は、現在のセットからの選択モード(すなわち、非最尤モード)の近似コストと、最低近似コストを有しているとして(224)においてビデオエンコーダ20によって以前に選択された最尤モードの近似コストとの間の差を決定し得る(242)。ビデオエンコーダ20は、差がしきい値を満たすかどうかを決定し得る(244)。例えば、ビデオエンコーダは、以下のようにして、差がしきい値を満たすかどうかを決定し得る。
Figure 2016511975
ここで、Jは、非最尤モードの近似コストであり、JMは、最低近似コストを有しているとして(224)においてビデオエンコーダ20によって以前に選択された最尤モードの近似コストであり、Tは、しきい値である。例えば、差は、商(例えば、値)がしきい値よりも小さいとき、しきい値を満たし得る。異なる例では、差は、商がしきい値以上であるとき、しきい値を満たし得る。
[0158] 差がしきい値を満たすとビデオエンコーダ20が決定する場合(246)、ビデオエンコーダ20は、現在のセットの選択モードを、最低近似コストを有しているとして(224)においてビデオエンコーダ20によって以前に選択された最尤モードと置き換え得る(250)。差がしきい値を満たさないとビデオエンコーダ20が決定する場合(248)、ビデオエンコーダ20は、選択モードを、最低近似コストを有しているとして(224)においてビデオエンコーダ20によって以前に選択された最尤モードと置き換え得ない。
[0159] ビデオエンコーダ20は、次いで、現在のブロックをイントラ予測するために現在のセットからモードを選択し得る(252)。すなわち、ビデオエンコーダ20は、図7Aおよび図7Bに示す動作に従って後処理された現在のセット中に含まれるモードを使用して現在のブロックに対してレートひずみ分析を行い得る。例えば、ビデオエンコーダ20は、現在のブロックをイントラ予測するために、後処理された現在のセットからモードを選択し得る。いくつかの例では、ビデオエンコーダ20は、現在のセットから、最低近似コストに関連付けられた最良のモードを選択し得る。モードを選択すると、ビデオエンコーダ20は、図2の例においてさらに説明したように、選択モードに従って現在のブロックを符号化するためにイントラ予測を行い得る。このようにして、イントラ予測は、ビデオエンコーダ20によって最良のモードが選択されるモードの後処理された現在のセット中で識別されるイントラ予測モードごとに計算される近似コストに基づく。
[0160] いくつかの例では、SSD、SADまたは推定ビットレートなど、SATDコスト以外の近似コストも使用され得る。いくつかの例では、ビデオエンコーダ20は、現在のセットがもはや変化しなくなるまで、上記の技法のいくつかの反復を行い得る。さらに他の例では、ビデオエンコーダ20は、探索プロセスの複雑さを低減するために、(左側のPUのイントラモードが上側のPUのイントラモードに等しくなるとき)評価を1つのMPMに制限するか、または(左側のPUのイントラモードが上側のPUのイントラモードに等しくないとき)2つのMPMに制限するなど、最尤モードのすべてを評価しない。
[0161] 図8は、複数の異なる予測モードから選択するときにモード選択の複雑さを低減する、図2に示したビデオエンコーダ20などのビデオコーダの例示的な動作を示すフローチャートである。詳細には、図8中で、ビデオエンコーダ20は、ビデオエンコーダ20によって以前に生成されたイントラ予測モードのセット(例えば、現在のセット)を改善し得る。図6に以前に示したように、ビデオエンコーダは、予め定義されたイントラ予測モードの現在のセットを最初に生成する。しかしながら、現在のセット中のモードは、1つには角度モードの近似サンプリングので、すべての可能なイントラ予測モードの最小近似コストを必ずしも有するとは限らない。図8の例示的な動作では、ビデオエンコーダ20は、最初に構築された現在のセット中に含まれるモードよりも低い近似コストをもつ1つまたは複数のモードを取り出す改良プロセスを実装し得る。
[0162] 最初に、ビデオエンコーダ20は、現在のセットから、最低近似コストをもつ角度モードMである最初のモードを選択し得る。例えば、ビデオエンコーダ20は、改良プロセスにおいてモードを選択するためのステップ値を最初に決定し得る(270)。いくつかの例では、ステップ値は、図6中で角度モードをサンプリングするためにビデオエンコーダ20によって使用されるオフセット値に等しくなり得る。ビデオエンコーダ20は、次いで、現在のセットからモードを選択し得る(272)。選択モードが最尤モードでないとビデオエンコーダ20が決定する場合(276)、ビデオエンコーダ20は、現在のセット中で次のモードを選択し得る(272)。選択モードが角度モードであり、現在のセット中に現在含まれる角度モードの最低近似コストを有するとビデオエンコーダ20が決定する場合(278)、ビデオエンコーダ20は、ステップ値を更新することに進み得る。例えば、更新ステップ値は、現在のステップ値をある数で除算したものに等しくなり得る。例えば、更新ステップ値は、現在のステップ値を2で除算したもの、すなわち、更新設定値=(現在のステップ値/2)に等しくなり得る。
[0163] ビデオエンコーダ20は、次に、更新ステップ値がしきい値を満たすかどうかを決定し得る。例えば、ビデオ20は、しきい値が0であると決定し得る。更新ステップ値がしきい値よりも小さいとき、ビデオエンコーダ20は、図7Aおよび図7Bにさらに示すように、イントラ予測を行うために現在のセットの後処理に進み得る(296)。
[0164] ステップ値がしきい値を満たす(例えば、ステップ値が0よりも大きい)場合(284)、ビデオエンコーダ20は、2つの隣接モードM−stepおよびM+stepの近似コストを決定し得、ここで、Mは、(274)において以前に選択されたモードのインデックスを指し得る。例えば、ビデオエンコーダ20は、ステップ値と、現在選択されているモード(すなわち、最初に生成された現在のセット中の最低近似コストに関連する以前に選択された角度モード)のモードインデックスとの差に等しいモードインデックスを有するモードのための近似コストを決定し得る(288)。例えば、最初に生成された現在のセット中の最低近似コストに関連する以前に選択された角度モードのインデックスがMである場合、ビデオエンコーダ20は、インデックスM−step(すなわち、モードインデックスMとステップ値stepとの間の差)を有するモードのための近似コストを決定し得る。
[0165] ビデオエンコーダ20はまた、ステップ値と、現在選択されているモード(すなわち、最初に生成された現在のセット中の最低近似コストに関連する以前に選択された角度モード)のモードインデックスとの和に等しいモードインデックスを有するモードのための近似コストを決定し得る(290)。例えば、最初に生成された現在のセット中の最低近似コストに最も関連する以前に選択された角度のインデックスがMである場合、ビデオエンコーダ20は、インデックスM+step(すなわち、モードインデックスMとステップ値stepとの間の和)を有するモードのための近似コストを決定し得る。
[0166] モードMのインデックスが、2または34などの境界モードであるとき、ビデオエンコーダ20は、隣接モードのうちの1つまたは複数をクリップし(すなわち、選択せず)、代わりに、モードM自体を選択し得る。代替的に、ビデオエンコーダ20は、反対数値方向にモードを選択し得る。例えば、モードM=2である場合、ビデオエンコーダ20は、2にクリップされるか、または隣接するモードを反対方向に選択して、モード34に至ることによって隣接モードM−stepを取得し得る。そのような例では、ビデオエンコーダ20は、それらの近似コストが現在のセット中の近似コストよりも小さいかどうかに応じて近似コストの昇順で現在のセット中に2つの隣接モード2および34を挿入し得る。
[0167] モードM+stepおよびM−stepのための近似コストを決定すると、ビデオエンコーダ20は、現在のセット中に2つのそれぞれのモードの各々を記憶し得る。いくつかの例では、ビデオエンコーダ20は、現在のセット中にそれぞれのモードに関連する近似コストをさらに記憶し得る。いずれの場合も、ビデオエンコーダ20は、ビデオエンコーダ20によって評価されるべき次の選択モードとして、モードM、M+step、およびM−stepの中で、最低近似コストを有するモードを選択し得る(294)。すなわち、ビデオエンコーダ20は、以下の式を使用して次の選択モードを決定し得る。
Figure 2016511975
ある実装形態では、近似コストを取得する際の計算数をさらに低減するために、M−step(M+step)の近似コストが最初に計算され、M−step(M+step)の近似コストがモードMの近似コストよりも小さいことが発見される場合、M+step(M−step)の近似コストのさらなる計算がスキップされ得、モードMが、M−step(M+step)と置き換えられる。ある実装形態では、改良探索より前の最初に構築された現在のセットは、モード0、1および角度モード26を含み得、モード26は、平面モード0およびDCモード1のために計算された近似コストに対する最低近似コストに関連付けらず、次いで、上記の改良探索は、スキップされ得る。
[0168] モードM、M+step、およびM−stepの中で最低近似コストを有するモードを選択すると、ビデオエンコーダ20は、ステップ値を更新し得る(280)。例えば、更新ステップ値は、(現在のステップ値/2)に等しくなり得る。上記で説明したように、更新ステップ値がしきい値を満たさない(例えば、0よりも小さい)とビデオエンコーダ20が決定する場合(286)、ビデオエンコーダ20は、現在のブロックに対してイントラ予測を行うために現在のセットを後処理することに進む(296)。更新ステップ値がしきい値を満たす(例えば、0よりも大きい)とビデオエンコーダ20が決定する場合(284)、ビデオエンコーダ20は、選択モードとして、モードM、M+step、およびM−step中で最低近似コストを有するモードを使用して、図8に再び示すプロセスを行い得る。
[0169] 図8の例示的な技法は、近似コスト計算数N2(SATD)=2log2(offset)を生じ得る。ビデオエンコーダ20は、従って、しきい値が満たされなくなるまで、1つまたは複数の角度モードを繰り返し処理して、より低い近似コストを有する角度モードで現在のセットを改善し得る。図6中でサンプリングオフセットが4である例示的な事例では、現在のセットの角度イントラ予測モードを繰り返し処理するとき、図8の動作(280)〜(294)において4回の近似コスト計算があり得る。従って、近似計算の総数N(SATD)は、次のように表され得る。
Figure 2016511975
offset=4である例では、32×32のPUサイズの場合、カットリストの長さは4であり得、従って、本開示の技法は、近似コスト(例えば、SATD)計算の総数を13に低減し得る。このようにして、本開示の技法は、他の実装形態(例えば、HM)では35回の近似コスト計算を行うことと比較して、複雑さの低減を与え得る。
[0170] いくつかの例では、平均してより小さい近似コストをもつモードの現在のセットを生成するために、ビデオエンコーダ20は、図8の技法を繰り返し得る。例えば、最初に評価されるモードの前のモードが前のステップで更新される場合、ビデオエンコーダ20は、候補リスト中の(現在、最小近似コストをもつ角度モードである)この更新モードについて動作(280)〜(294)を繰り返し得る。最初に評価されるモードの前のモードが(294)において前のステップで更新されない場合、符号化されるビデオ20は、次に最も小さい近似コストをもつ角度モードについて動作(280)〜(294)を繰り返し得る。
[0171] 1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータデータ記憶媒体または通信媒体を含み得る。データ記憶媒体は、本開示で説明された技法を実装するための命令、コードおよび/またはデータ構造を取り出すために、1つもしくは複数のコンピュータ、または1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびblu−rayディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[0172] コードは、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/もしくはソフトウェアモジュール内に与えられ得、または複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[0173] 本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、もしくはICのセット(例えば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を行うように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0174] 様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。

Claims (40)

  1. ビデオデータを符号化する方法であって、
    少なくとも1つのイントラ予測モードを有するイントラ予測モードの予め定義されたセットを含むイントラ予測モードの現在のセット中で識別されたイントラ予測モードごとに近似コストを計算することと、ここにおいて、イントラ予測モードの前記現在のセットが、前記ビデオデータの現在のブロックをコーディングするために利用可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含む、
    前記現在のブロックに隣接するビデオデータの1つまたは複数の隣接ブロックを符号化するために使用されるイントラ予測モードに基づいて決定される前記現在のブロックのための1つまたは複数の最尤イントラ予測モードのための近似コストを計算することと、
    前記1つまたは複数の最尤イントラ予測モードのために計算された前記近似コストの各々をしきい値と比較することと、
    前記比較に基づいて、イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのうちの1つまたは複数を前記1つまたは複数の最尤イントラ予測モードと置き換えることと、
    イントラ予測モードの前記現在のセット中で識別されたイントラ予測モードごとにレートひずみコストを決定するために、イントラ予測モードの前記現在のセット中で識別された各イントラ予測モードに対してレートひずみ分析を行うことと、
    前記現在のブロックを符号化するために前記決定されたレートひずみコストに基づいて、イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのうちの1つに従って前記現在のブロックに対してイントラ予測コーディングを行うことと
    を備える方法。
  2. イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのための計算された近似コストに基づいて追加のイントラ予測モードを探索することと、
    前記追加のイントラ予測モードの各々のための近似コストを計算することと、
    イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのうちの少なくとも1つのために計算された前記近似コストと、前記追加のイントラ予測モードのために計算された前記近似コストのうちの少なくとも1つとの比較に基づいて、イントラ予測モードの前記現在のセットに前記追加のイントラ予測モードを追加することと
    をさらに備える、請求項1に記載の方法。
  3. 前記現在のセット中に含まれる最低近似コストに関連するモードが角度モードであるかどうかを決定することと、
    前記現在のセット中に含まれる前記最低近似コストに関連する前記モードが角度モードであると決定したことに応答して、イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのために計算された前記近似コストに基づいて、追加のイントラ予測モードを探索することと
    をさらに備える、請求項1に記載の方法。
  4. 複数の角度モードから角度モードを選択することと、
    前記角度モードがカットリスト中に含まれるかどうかを決定することと、ここにおいて、前記カットリストが、しきい値を満たさない確率で発生する少なくとも1つのイントラ予測モードを備える、
    前記角度モードが前記カットリスト中に含まれると決定したことに応答して、前記角度モードのための近似コストを決定しないことと
    をさらに備える、請求項1に記載の方法。
  5. 前記角度モードが第1の角度モードであり、前記方法が、
    前記第1の角度モードからのオフセットに少なくとも部分的に基づいて第2の角度モードを決定することと、
    前記第2の角度モードがカットリスト中に含まれないと決定したことに応答して、
    前記第2の角度モードに関連する近似コストを計算することと、
    前記現在のセット中に前記第2の角度モードを挿入することと
    をさらに備える、請求項4に記載の方法。
  6. 複数の最尤モードから最低近似コストに関連する最尤モードを決定することと、
    前記最尤モードと前記現在のセット中の少なくとも1つのモードとの間の差に少なくとも部分的に基づいて値を決定することと、
    前記値がしきい値を満たすと決定したことに応答して、前記現在のセット中の前記少なくとも1つのモードを置き換えるために前記現在のセット中に前記最尤モードを挿入することと
    をさらに備える、請求項1に記載の方法。
  7. 前記現在のセット中の前記少なくとも1つのモードが、前記現在のセット中の最大近似コストに関連付けられ、
    前記値が前記しきい値よりも小さいとき、前記値が前記しきい値を満たす、請求項6に記載の方法。
  8. 前記現在のセット中の最低近似コストに関連する第1の角度モードを決定することと、ここにおいて、前記第1の角度モードが第1のモードインデックスに関連付けられる、
    前記第1の角度モードインデックスとステップ値との和を備える第2のモードインデックスに関連する第2の角度モードを決定することと、
    前記第1の角度モードインデックスと前記ステップ値との差を備える第3のモードインデックスに関連する第3の角度モードを決定することと
    をさらに備える、請求項1に記載の方法。
  9. 前記第1の角度モードに関連する前記最低近似コストが第1の近似コストであり、前記方法が、
    前記第2の角度モードに関連する第2の近似コストを決定することと、
    前記第3の角度モードに関連する第3の近似コストを決定することと、
    前記第2の近似コストまたは前記第3の近似コストのうちの少なくとも1つが前記第1の近似コストよりも小さいと決定したことに応答して、第1のモードを置き換えるために前記現在のセット中に、前記第1の近似コストよりも小さい前記第2の近似コストまたは前記第3の近似コストのうちの前記少なくとも1つにそれぞれ関連する前記第2のモードまたは前記第3のモードを挿入することと
    をさらに備える、請求項8に記載の方法。
  10. 前記現在のセット中に挿入された前記第2のモードまたは前記第3のモードのうちの前記少なくとも1つが選択モードであり、前記方法が、
    前記ステップ値と前記選択モードとに少なくとも部分的に基づく更新ステップ値を決定することと、
    前記更新ステップ値が前記しきい値を満たすと決定したことに応答して、前記現在のブロックに対してイントラ予測コーディングを行うために前記現在のセット中で最低フルレートひずみコストに関連するモードを選択することと、
    前記更新ステップ値が前記しきい値を満たさないと決定したことに応答して、
    前記選択モードに関連するインデックスと前記更新ステップ値との和を備える第4のモードインデックスに関連する第4の角度モードを決定することと、
    前記選択モードに関連する前記インデックスと前記更新ステップ値との差を備える第5のモードインデックスに関連する第5の角度モードを決定することと、
    前記第4の角度モードの第4の近似コストまたは前記第5の角度モードの第5の近似コストのうちの少なくとも1つが前記選択モードに関連する近似コストよりも小さいと決定したことに応答して、前記現在のセット中に、前記選択モードに関連する前記近似コストよりも小さい前記第4の近似コストまたは前記第5の近似コストのうちの前記少なくとも1つにそれぞれ関連する前記第4のモードまたは前記第5のモードを挿入することと
    をさらに備える、請求項9に記載の方法。
  11. ビデオデータをコーディングするためにイントラ予測プロセスを行うように構成されたビデオコーディングデバイスであって、
    少なくとも1つのイントラ予測モードを有するイントラ予測モードの予め定義されたセットを含むイントラ予測モードの現在のセット中で識別されたイントラ予測モードごとに近似コストを計算することと、ここにおいて、イントラ予測モードの前記現在のセットが、前記ビデオデータの現在のブロックをコーディングするために利用可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含む、
    前記現在のブロックに隣接するビデオデータの1つまたは複数の隣接ブロックを符号化するために使用されるイントラ予測モードに基づいて決定される前記現在のブロックのための1つまたは複数の最尤イントラ予測モードのための近似コストを計算することと、
    前記1つまたは複数の最尤イントラ予測モードのために計算された前記近似コストの各々をしきい値と比較することと、
    前記比較に基づいて、イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのうちの1つまたは複数を前記1つまたは複数の最尤イントラ予測モードと置き換えることと、
    イントラ予測モードの前記現在のセット中で識別されたイントラ予測モードごとにレートひずみコストを決定するために、イントラ予測モードの前記現在のセット中で識別された各イントラ予測モードに対してレートひずみ分析を行うことと、
    前記現在のブロックを符号化するために前記決定されたレートひずみコストに基づいて、イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのうちの1つに従って前記現在のブロックに対してイントラ予測コーディングを行うことと
    を行うように構成されたプロセッサ
    を備えるビデオコーディングデバイス。
  12. 前記プロセッサが、
    イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのための計算された近似コストに基づいて追加のイントラ予測モードを探索することと、
    前記追加のイントラ予測モードの各々のための近似コストを計算することと、
    イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのうちの少なくとも1つのために計算された前記近似コストと、前記追加のイントラ予測モードのために計算された前記近似コストのうちの少なくとも1つとの比較に基づいて、イントラ予測モードの前記現在のセットに前記追加のイントラ予測モードを追加することと
    を行うようにさらに構成された、請求項11に記載のビデオコーディングデバイス。
  13. 前記プロセッサが、
    前記現在のセット中に含まれる最低近似コストに関連するモードが角度モードであるかどうかを決定することと、
    前記現在のセット中に含まれる前記最低近似コストに関連する前記モードが角度モードであると決定したことに応答して、イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのために計算された前記近似コストに基づいて、追加のイントラ予測モードを探索することと
    を行うようにさらに構成された、請求項11に記載のビデオコーディングデバイス。
  14. 前記プロセッサが、
    複数の角度モードから角度モードを選択することと、
    前記角度モードがカットリスト中に含まれるかどうかを決定することと、ここにおいて、前記カットリストが、しきい値を満たさない確率で発生する少なくとも1つのイントラ予測モードを備える、
    前記角度モードが前記カットリスト中に含まれると決定したことに応答して、前記角度モードのための近似コストを決定しないことと
    を行うようにさらに構成された、請求項11に記載のビデオコーディングデバイス。
  15. 前記角度モードが第1の角度モードであり、前記プロセッサが、
    前記第1の角度モードからのオフセットに少なくとも部分的に基づいて第2の角度モードを決定することと、
    前記第2の角度モードがカットリスト中に含まれないと決定したことに応答して、
    前記第2の角度モードに関連する近似コストを計算することと、
    前記現在のセット中に前記第2の角度モードを挿入することと
    を行うようにさらに構成された、請求項14に記載のビデオコーディングデバイス。
  16. 前記プロセッサが、
    複数の最尤モードから最低近似コストに関連する最尤モードを決定することと、
    前記最尤モードと前記現在のセット中の少なくとも1つのモードとの間の差に少なくとも部分的に基づいて値を決定することと、
    前記値がしきい値を満たすと決定したことに応答して、前記現在のセット中の前記少なくとも1つのモードを置き換えるために前記現在のセット中に前記最尤モードを挿入することと
    を行うようにさらに構成された、請求項11に記載のビデオコーディングデバイス。
  17. 前記現在のセット中の前記少なくとも1つのモードが、前記現在のセット中の最大近似コストに関連付けられ、
    前記値が前記しきい値よりも小さいとき、前記値が前記しきい値を満たす、請求項16に記載のビデオコーディングデバイス。
  18. 前記プロセッサが、
    前記現在のセット中の最低近似コストに関連する第1の角度モードを決定することと、ここにおいて、前記第1の角度モードが第1のモードインデックスに関連付けられる、
    前記第1の角度モードインデックスとステップ値との和を備える第2のモードインデックスに関連する第2の角度モードを決定することと、
    前記第1の角度モードインデックスと前記ステップ値との差を備える第3のモードインデックスに関連する第3の角度モードを決定することと
    を行うようにさらに構成された、請求項11に記載のビデオコーディングデバイス。
  19. 前記第1の角度モードに関連する前記最低近似コストが第1の近似コストであり、前記プロセッサが、
    前記第2の角度モードに関連する第2の近似コストを決定することと、
    前記第3の角度モードに関連する第3の近似コストを決定することと、
    前記第2の近似コストまたは前記第3の近似コストのうちの少なくとも1つが前記第1の近似コストよりも小さいと決定したことに応答して、第1のモードを置き換えるために前記現在のセット中に、前記第1の近似コストよりも小さい前記第2の近似コストまたは前記第3の近似コストのうちの前記少なくとも1つにそれぞれ関連する前記第2のモードまたは前記第3のモードを挿入することと
    を行うようにさらに構成された、請求項18に記載のビデオコーディングデバイス。
  20. 前記現在のセット中に挿入された前記第2のモードまたは前記第3のモードのうちの前記少なくとも1つが選択モードであり、前記プロセッサが、
    前記ステップ値と前記選択モードとに少なくとも部分的に基づく更新ステップ値を決定することと、
    前記更新ステップ値が前記しきい値を満たすと決定したことに応答して、前記現在のブロックに対してイントラ予測コーディングを行うために前記現在のセット中で最低フルレートひずみコストに関連するモードを選択することと、
    前記更新ステップ値が前記しきい値を満たさないと決定したことに応答して、
    前記選択モードに関連するインデックスと前記更新ステップ値との和を備える第4のモードインデックスに関連する第4の角度モードを決定することと、
    前記選択モードに関連する前記インデックスと前記更新ステップ値との差を備える第5のモードインデックスに関連する第5の角度モードを決定することと、
    前記第4の角度モードの第4の近似コストまたは前記第5の角度モードの第5の近似コストのうちの少なくとも1つが前記選択モードに関連する近似コストよりも小さいと決定したことに応答して、前記現在のセット中に、前記選択モードに関連する前記近似コストよりも小さい前記第4の近似コストまたは前記第5の近似コストのうちの前記少なくとも1つにそれぞれ関連する前記第4のモードまたは前記第5のモードを挿入することと
    を行うようにさらに構成された、請求項19に記載のビデオコーディングデバイス。
  21. ビデオデータをコーディングするためにイントラ予測プロセスを行うように構成されたビデオコーディングデバイスであって、
    少なくとも1つのイントラ予測モードを有するイントラ予測モードの予め定義されたセットを含むイントラ予測モードの現在のセット中で識別されたイントラ予測モードごとに近似コストを計算するための手段と、ここにおいて、イントラ予測モードの前記現在のセットが、前記ビデオデータの現在のブロックをコーディングするために利用可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含む、
    前記現在のブロックに隣接するビデオデータの1つまたは複数の隣接ブロックを符号化するために使用されるイントラ予測モードに基づいて決定される前記現在のブロックのための1つまたは複数の最尤イントラ予測モードのための近似コストを計算するための手段と、
    前記1つまたは複数の最尤イントラ予測モードのために計算された前記近似コストの各々をしきい値と比較するための手段と、
    前記比較に基づいて、イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのうちの1つまたは複数を前記1つまたは複数の最尤イントラ予測モードと置き換えるための手段と、
    イントラ予測モードの前記現在のセット中で識別されたイントラ予測モードごとにレートひずみコストを決定するために、イントラ予測モードの前記現在のセット中で識別された各イントラ予測モードに対してレートひずみ分析を行うための手段と、
    前記現在のブロックを符号化するために前記決定されたレートひずみコストに基づいて、イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのうちの1つに従って前記現在のブロックに対してイントラ予測コーディングを行うための手段と
    を備えるビデオコーディングデバイス。
  22. イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのための計算された近似コストに基づいて追加のイントラ予測モードを探索するための手段と、
    前記追加のイントラ予測モードの各々のための近似コストを計算するための手段と、
    イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのうちの少なくとも1つのために計算された前記近似コストと、前記追加のイントラ予測モードのために計算された前記近似コストのうちの少なくとも1つとの比較に基づいて、イントラ予測モードの前記現在のセットに前記追加のイントラ予測モードを追加するための手段と
    をさらに備える、請求項21に記載のビデオコーディングデバイス。
  23. 前記現在のセット中に含まれる最低近似コストに関連するモードが角度モードであるかどうかを決定するための手段と、
    前記現在のセット中に含まれる前記最低近似コストに関連する前記モードが角度モードであると決定したことに応答して、イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのために計算された前記近似コストに基づいて、追加のイントラ予測モードを探索するための手段と
    をさらに備える、請求項21に記載のビデオコーディングデバイス。
  24. 複数の角度モードから角度モードを選択するための手段と、
    前記角度モードがカットリスト中に含まれるかどうかを決定するための手段と、ここにおいて、前記カットリストが、しきい値を満たさない確率で発生する少なくとも1つのイントラ予測モードを備える、
    前記角度モードが前記カットリスト中に含まれると決定したことに応答して、前記角度モードのための近似コストを決定しないための手段と
    をさらに備える、請求項21に記載のビデオコーディングデバイス。
  25. 前記角度モードが第1の角度モードであり、前記ビデオコーディングデバイスが、
    前記第1の角度モードからのオフセットに少なくとも部分的に基づいて第2の角度モードを決定するための手段と、
    前記第2の角度モードがカットリスト中に含まれないと決定したことに応答して、
    前記第2の角度モードに関連する近似コストを計算するための手段と、
    前記現在のセット中に前記第2の角度モードを挿入するための手段と
    をさらに備える、請求項24に記載のビデオコーディングデバイス。
  26. 複数の最尤モードから最低近似コストに関連する最尤モードを決定するための手段と、
    前記最尤モードと前記現在のセット中の少なくとも1つのモードとの間の差に少なくとも部分的に基づいて値を決定するための手段と、
    前記値がしきい値を満たすと決定したことに応答して、前記現在のセット中の前記少なくとも1つのモードを置き換えるために前記現在のセット中に前記最尤モードを挿入するための手段と
    をさらに備える、請求項21に記載のビデオコーディングデバイス。
  27. 前記現在のセット中の前記少なくとも1つのモードが、前記現在のセット中の最大近似コストに関連付けられ、
    前記値が前記しきい値よりも小さいとき、前記値が前記しきい値を満たす、請求項26に記載のビデオコーディングデバイス。
  28. 前記現在のセット中の最低近似コストに関連する第1の角度モードを決定するための手段と、ここにおいて、前記第1の角度モードが第1のモードインデックスに関連付けられる、
    前記第1の角度モードインデックスとステップ値との和を備える第2のモードインデックスに関連する第2の角度モードを決定するための手段と、
    前記第1の角度モードインデックスと前記ステップ値との差を備える第3のモードインデックスに関連する第3の角度モードを決定するための手段と
    をさらに備える、請求項21に記載のビデオコーディングデバイス。
  29. 前記第1の角度モードに関連する前記最低近似コストが第1の近似コストであり、前記ビデオコーディングデバイスが、
    前記第2の角度モードに関連する第2の近似コストを決定するための手段と、
    前記第3の角度モードに関連する第3の近似コストを決定するための手段と、
    前記第2の近似コストまたは前記第3の近似コストのうちの少なくとも1つが前記第1の近似コストよりも小さいと決定したことに応答して、第1のモードを置き換えるために前記現在のセット中に、前記第1の近似コストよりも小さい前記第2の近似コストまたは前記第3の近似コストのうちの前記少なくとも1つにそれぞれ関連する前記第2のモードまたは前記第3のモードを挿入するための手段と
    をさらに備える、請求項28に記載のビデオコーディングデバイス。
  30. 前記現在のセット中に挿入された前記第2のモードまたは前記第3のモードのうちの前記少なくとも1つが選択モードであり、前記ビデオコーディングデバイスが、
    前記ステップ値と前記選択モードとに少なくとも部分的に基づく更新ステップ値を決定するための手段と、
    前記更新ステップ値が前記しきい値を満たすと決定したことに応答して、前記現在のブロックに対してイントラ予測コーディングを行うために前記現在のセット中で最低フルレートひずみコストに関連するモードを選択するための手段と、
    前記更新ステップ値が前記しきい値を満たさないと決定したことに応答して、
    前記選択モードに関連するインデックスと前記更新ステップ値との和を備える第4のモードインデックスに関連する第4の角度モードを決定するための手段と、
    前記選択モードに関連する前記インデックスと前記更新ステップ値との差を備える第5のモードインデックスに関連する第5の角度モードを決定するための手段と、
    前記第4の角度モードの第4の近似コストまたは前記第5の角度モードの第5の近似コストのうちの少なくとも1つが前記選択モードに関連する近似コストよりも小さいと決定したことに応答して、前記現在のセット中に、前記選択モードに関連する前記近似コストよりも小さい前記第4の近似コストまたは前記第5の近似コストのうちの前記少なくとも1つにそれぞれ関連する前記第4のモードまたは前記第5のモードを挿入するための手段と
    をさらに備える、請求項29に記載のビデオコーディングデバイス。
  31. 実行されたとき、1つまたは複数のプロセッサに、
    少なくとも1つのイントラ予測モードを有するイントラ予測モードの予め定義されたセットを含むイントラ予測モードの現在のセット中で識別されたイントラ予測モードごとに近似コストを計算することと、ここにおいて、イントラ予測モードの前記現在のセットが、前記ビデオデータの現在のブロックをコーディングするために利用可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含む、
    前記現在のブロックに隣接するビデオデータの1つまたは複数の隣接ブロックを符号化するために使用されるイントラ予測モードに基づいて決定される前記現在のブロックのための1つまたは複数の最尤イントラ予測モードのための近似コストを計算することと、
    前記1つまたは複数の最尤イントラ予測モードのために計算された前記近似コストの各々をしきい値と比較することと、
    前記比較に基づいて、イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのうちの1つまたは複数を前記1つまたは複数の最尤イントラ予測モードと置き換えることと、
    イントラ予測モードの前記現在のセット中で識別されたイントラ予測モードごとにレートひずみコストを決定するために、イントラ予測モードの前記現在のセット中で識別された各イントラ予測モードに対してレートひずみ分析を行うことと、
    前記現在のブロックを符号化するために前記決定されたレートひずみコストに基づいて、イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのうちの1つに従って前記現在のブロックに対してイントラ予測コーディングを行うことと
    を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体。
  32. 前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、
    イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのための計算された近似コストに基づいて追加のイントラ予測モードを探索することと、
    前記追加のイントラ予測モードの各々のための近似コストを計算することと、
    イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのうちの少なくとも1つのために計算された前記近似コストと、前記追加のイントラ予測モードのために計算された前記近似コストのうちの少なくとも1つとの比較に基づいて、イントラ予測モードの前記現在のセットに前記追加のイントラ予測モードを追加することと
    を行わせる、請求項31に記載の非一時的コンピュータ可読記憶媒体。
  33. 前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、
    前記現在のセット中に含まれる最低近似コストに関連するモードが角度モードであるかどうかを決定することと、
    前記現在のセット中に含まれる前記最低近似コストに関連する前記モードが角度モードであると決定したことに応答して、イントラ予測モードの前記現在のセット中で識別された前記イントラ予測モードのために計算された前記近似コストに基づいて、追加のイントラ予測モードを探索することと
    を行わせる、請求項31に記載の非一時的コンピュータ可読記憶媒体。
  34. 前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、
    複数の角度モードから角度モードを選択することと、
    前記角度モードがカットリスト中に含まれるかどうかを決定することと、ここにおいて、前記カットリストが、しきい値を満たさない確率で発生する少なくとも1つのイントラ予測モードを備える、
    前記角度モードが前記カットリスト中に含まれると決定したことに応答して、前記角度モードのための近似コストを決定しないことと
    を行わせる、請求項31に記載の非一時的コンピュータ可読記憶媒体。
  35. 前記角度モードが第1の角度モードであり、前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、
    前記第1の角度モードからのオフセットに少なくとも部分的に基づいて第2の角度モードを決定することと、
    前記第2の角度モードがカットリスト中に含まれないと決定したことに応答して、
    前記第2の角度モードに関連する近似コストを計算することと、
    前記現在のセット中に前記第2の角度モードを挿入することと
    を行わせる、請求項34に記載の非一時的コンピュータ可読記憶媒体。
  36. 前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、
    複数の最尤モードから最低近似コストに関連する最尤モードを決定することと、
    前記最尤モードと前記現在のセット中の少なくとも1つのモードとの間の差に少なくとも部分的に基づいて値を決定することと、
    前記値がしきい値を満たすと決定したことに応答して、前記現在のセット中の前記少なくとも1つのモードを置き換えるために前記現在のセット中に前記最尤モードを挿入することと
    を行わせる、請求項31に記載の非一時的コンピュータ可読記憶媒体。
  37. 前記現在のセット中の前記少なくとも1つのモードが、前記現在のセット中の最大近似コストに関連付けられ、
    前記値が前記しきい値よりも小さいとき、前記値が前記しきい値を満たす、請求項36に記載の非一時的コンピュータ可読記憶媒体。
  38. 前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、
    前記現在のセット中の最低近似コストに関連する第1の角度モードを決定することと、ここにおいて、前記第1の角度モードが第1のモードインデックスに関連付けられる、
    前記第1の角度モードインデックスとステップ値との和を備える第2のモードインデックスに関連する第2の角度モードを決定することと、
    前記第1の角度モードインデックスと前記ステップ値との差を備える第3のモードインデックスに関連する第3の角度モードを決定することと
    を行わせる、請求項31に記載の非一時的コンピュータ可読記憶媒体。
  39. 前記第1の角度モードに関連する前記最低近似コストが第1の近似コストであり、前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、
    前記第2の角度モードに関連する第2の近似コストを決定することと、
    前記第3の角度モードに関連する第3の近似コストを決定することと、
    前記第2の近似コストまたは前記第3の近似コストのうちの少なくとも1つが前記第1の近似コストよりも小さいと決定したことに応答して、第1のモードを置き換えるために前記現在のセット中に、前記第1の近似コストよりも小さい前記第2の近似コストまたは前記第3の近似コストのうちの前記少なくとも1つにそれぞれ関連する前記第2のモードまたは前記第3のモードを挿入することと
    を行わせる、請求項31に記載の非一時的コンピュータ可読記憶媒体。
  40. 前記現在のセット中に挿入された前記第2のモードまたは前記第3のモードのうちの前記少なくとも1つが選択モードであり、前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、
    前記ステップ値と前記選択モードとに少なくとも部分的に基づく更新ステップ値を決定することと、
    前記更新ステップ値が前記しきい値を満たすと決定したことに応答して、前記現在のブロックに対してイントラ予測コーディングを行うために前記現在のセット中で最低フルレートひずみコストに関連するモードを選択することと、
    前記更新ステップ値が前記しきい値を満たさないと決定したことに応答して、
    前記選択モードに関連するインデックスと前記更新ステップ値との和を備える第4のモードインデックスに関連する第4の角度モードを決定することと、
    前記選択モードに関連する前記インデックスと前記更新ステップ値との差を備える第5のモードインデックスに関連する第5の角度モードを決定することと、
    前記第4の角度モードの第4の近似コストまたは前記第5の角度モードの第5の近似コストのうちの少なくとも1つが前記選択モードに関連する近似コストよりも小さいと決定したことに応答して、前記現在のセット中に、前記選択モードに関連する前記近似コストよりも小さい前記第4の近似コストまたは前記第5の近似コストのうちの前記少なくとも1つにそれぞれ関連する前記第4のモードまたは前記第5のモードを挿入することと
    を行わせる、請求項39に記載の非一時的コンピュータ可読記憶媒体。
JP2015556022A 2013-02-01 2014-01-03 イントラ予測のためのモード決定の簡略化 Active JP6284954B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/756,659 2013-02-01
US13/756,659 US9426473B2 (en) 2013-02-01 2013-02-01 Mode decision simplification for intra prediction
PCT/US2014/010231 WO2014120389A1 (en) 2013-02-01 2014-01-03 Mode decision simplification for intra prediction

Publications (3)

Publication Number Publication Date
JP2016511975A true JP2016511975A (ja) 2016-04-21
JP2016511975A5 JP2016511975A5 (ja) 2016-12-08
JP6284954B2 JP6284954B2 (ja) 2018-02-28

Family

ID=50033784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015556022A Active JP6284954B2 (ja) 2013-02-01 2014-01-03 イントラ予測のためのモード決定の簡略化

Country Status (8)

Country Link
US (1) US9426473B2 (ja)
EP (1) EP2951996B1 (ja)
JP (1) JP6284954B2 (ja)
KR (1) KR101752989B1 (ja)
CN (1) CN104937936B (ja)
ES (1) ES2625821T3 (ja)
HU (1) HUE032054T2 (ja)
WO (1) WO2014120389A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020058068A (ja) * 2019-12-20 2020-04-09 日本電信電話株式会社 画像符号化装置、画像符号化方法及びコンピュータプログラム
JP2020519186A (ja) * 2017-09-28 2020-06-25 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 フレーム内予測方法、装置、ビデオ符号化装置、及び記憶媒体
JP2022521128A (ja) * 2019-01-02 2022-04-06 オッポ広東移動通信有限公司 予測方向の決定方法、デコーダ及びコンピュータ記憶媒体

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012077928A1 (ko) * 2010-12-07 2012-06-14 한국전자통신연구원 초고해상도 영상을 부호화하는 장치 및 방법, 그리고 복호화 장치 및 방법
US9148667B2 (en) 2013-02-06 2015-09-29 Qualcomm Incorporated Intra prediction mode decision with reduced storage
US10003792B2 (en) 2013-05-27 2018-06-19 Microsoft Technology Licensing, Llc Video encoder for images
WO2015139165A1 (en) 2014-03-17 2015-09-24 Microsoft Technology Licensing, Llc Encoder-side decisions for screen content encoding
US20150271491A1 (en) * 2014-03-24 2015-09-24 Ati Technologies Ulc Enhanced intra prediction mode selection for use in video transcoding
EP3140988B1 (en) * 2014-06-26 2019-09-11 Huawei Technologies Co., Ltd. Method and device for reducing a computational load in high efficiency video coding
CN107005701A (zh) * 2014-09-23 2017-08-01 英特尔公司 使用减少数量的角模式来降低帧内预测复杂度及其后续改进
US9807398B2 (en) * 2014-09-30 2017-10-31 Avago Technologies General Ip (Singapore) Pte. Ltd. Mode complexity based coding strategy selection
US10142626B2 (en) 2014-10-31 2018-11-27 Ecole De Technologie Superieure Method and system for fast mode decision for high efficiency video coding
GB2534606A (en) * 2015-01-29 2016-08-03 Canon Kk Method and device for encoding or decoding an image comprising encoding of decoding information representing prediction modes
CN106416254B (zh) 2015-02-06 2019-08-02 微软技术许可有限责任公司 在媒体编码期间跳过评估阶段
US10085027B2 (en) * 2015-03-06 2018-09-25 Qualcomm Incorporated Adaptive mode checking order for video encoding
CN105100799B (zh) * 2015-04-25 2018-07-31 芯原微电子(北京)有限公司 一种减少hevc编码器中帧内编码时延的方法
US10038917B2 (en) * 2015-06-12 2018-07-31 Microsoft Technology Licensing, Llc Search strategies for intra-picture prediction modes
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
US9432668B1 (en) * 2016-03-15 2016-08-30 NGCodec Inc. Apparatus and method for inter and intra mode selection and block partitioning
EP3453174A1 (en) 2016-05-06 2019-03-13 VID SCALE, Inc. Method and system for decoder-side intra mode derivation for block-based video coding
FR3051309A1 (fr) * 2016-05-10 2017-11-17 Bcom Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image
US20170347094A1 (en) * 2016-05-31 2017-11-30 Google Inc. Block size adaptive directional intra prediction
KR102410424B1 (ko) * 2016-10-04 2022-06-17 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US10750169B2 (en) 2016-10-07 2020-08-18 Mediatek Inc. Method and apparatus for intra chroma coding in image and video coding
KR20180041833A (ko) * 2016-10-17 2018-04-25 디지털인사이트 주식회사 화면 내 예측에 대한 참조 모드 리스트를 사용하는 비디오 코딩 방법 및 장치
US20180146191A1 (en) * 2016-11-22 2018-05-24 Futurewei Technologies, Inc. System and Method for Coding Intra Prediction Mode using a Second Set of Most Probable Modes
US10511853B2 (en) * 2016-11-24 2019-12-17 Ecole De Technologie Superieure Method and system for parallel rate-constrained motion estimation in video coding
KR101967028B1 (ko) * 2016-12-21 2019-04-09 전자부품연구원 고효율 비디오 부호화 모드 결정방법 및 결정장치
US10609367B2 (en) * 2016-12-21 2020-03-31 Qualcomm Incorporated Low-complexity sign prediction for video coding
KR102539354B1 (ko) * 2016-12-28 2023-06-02 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US10469877B1 (en) * 2017-04-28 2019-11-05 Mozilla Corporation Systems and methods for reduced complexity entropy coding
US10630974B2 (en) * 2017-05-30 2020-04-21 Google Llc Coding of intra-prediction modes
CN107222743B (zh) * 2017-07-04 2020-02-04 西安万像电子科技有限公司 一种图像处理方法、装置和系统
US11178405B2 (en) 2017-10-18 2021-11-16 Samsung Electronics Co., Ltd. Method and apparatus for video decoding, and method and apparatus for video encoding
WO2019083284A1 (ko) * 2017-10-24 2019-05-02 주식회사 윌러스표준기술연구소 비디오 신호 처리 방법 및 장치
KR102391834B1 (ko) * 2017-11-17 2022-04-27 에프쥐 이노베이션 컴퍼니 리미티드 조정된 인트라 모드 목록에 기초한 비디오 데이터를 코딩하기 위한 디바이스 및 방법
WO2019129166A1 (en) * 2017-12-29 2019-07-04 Fg Innovation Ip Company Limited Device and method for coding video data based on mode list including different mode groups
CN108881905B (zh) * 2018-08-04 2021-08-31 福州大学 基于概率的帧内编码器优化方法
US10771778B2 (en) 2018-09-14 2020-09-08 Tencent America LLC Method and device for MPM list generation for multi-line intra prediction
US11265544B2 (en) 2018-09-18 2022-03-01 Sony Corporation Apparatus and method for image compression based on optimal sequential encoding scheme
US20220167009A1 (en) * 2019-03-12 2022-05-26 Sharp Kabushiki Kaisha Systems and methods for performing intra prediction coding in video coding
CN110139098B (zh) * 2019-04-09 2023-01-06 中南大学 基于决策树的高效率视频编码器帧内快速算法选择方法
CN110611819B (zh) * 2019-08-01 2021-07-27 杭州当虹科技股份有限公司 一种提升h.264中b帧质量的编码方法
CN114270825A (zh) * 2019-08-19 2022-04-01 北京字节跳动网络技术有限公司 基于计数器的帧内预测模式的初始化
CN110868391A (zh) * 2019-09-06 2020-03-06 深圳市朗强科技有限公司 一种远距离传输方法、系统及设备
CN110868426A (zh) * 2019-11-28 2020-03-06 深圳市朗强科技有限公司 一种数据传输方法、系统及设备
CN111277824B (zh) * 2020-02-12 2023-07-25 腾讯科技(深圳)有限公司 图像预测处理方法、装置、终端及计算机可读存储介质
WO2023014164A1 (ko) * 2021-08-05 2023-02-09 현대자동차주식회사 비디오 부호화/복호화 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005184241A (ja) * 2003-12-17 2005-07-07 Kddi Corp 動画像フレーム内モード判定方式
JP2006128770A (ja) * 2004-10-26 2006-05-18 Nec Corp 画像符号化装置及び方法、画像符号化装置のコンピュータ・プログラム、並びに携帯端末
JP2007267414A (ja) * 2007-05-24 2007-10-11 Toshiba Corp フレーム内画像符号化方法及びその装置
JP2008283481A (ja) * 2007-05-10 2008-11-20 Canon Inc 画像処理装置およびその方法
JP2009177357A (ja) * 2008-01-22 2009-08-06 Canon Inc 符号化装置及び符号化方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003304404A (ja) * 2002-04-09 2003-10-24 Canon Inc 画像符号化装置
BRPI0408087A (pt) 2003-03-03 2006-02-14 Agency Science Tech & Res método de intrapredição de codificação de vìdeo avançada (avc) para codificar vìdeo digital, aparelho que utiliza essa intrapredição e produto de programa de computador
BRPI0517069A (pt) 2004-11-04 2008-09-30 Thomson Licensing previsão rápida intra modo para um codificador de vìdeo
JP2007251865A (ja) 2006-03-20 2007-09-27 Sony Corp 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
JP2009055542A (ja) 2007-08-29 2009-03-12 Toshiba Corp 動画像符号化装置および動画像符号化方法
KR101712915B1 (ko) 2007-10-16 2017-03-07 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
EP2223527A1 (en) * 2007-12-21 2010-09-01 Telefonaktiebolaget LM Ericsson (publ) Adaptive intra mode selection
US20090161757A1 (en) 2007-12-21 2009-06-25 General Instrument Corporation Method and Apparatus for Selecting a Coding Mode for a Block
KR101353301B1 (ko) 2008-04-11 2014-01-21 에스케이 텔레콤주식회사 인트라 예측 모드 결정 방법 및 그 장치와 이를 이용한영상 부호화/복호화 방법 및 그 장치
US8665964B2 (en) * 2009-06-30 2014-03-04 Qualcomm Incorporated Video coding based on first order prediction and pre-defined second order prediction mode
KR101702553B1 (ko) 2009-07-04 2017-02-03 에스케이 텔레콤주식회사 영상 부호화/복호화 방법 및 장치
US20110002386A1 (en) 2009-07-06 2011-01-06 Mediatek Singapore Pte. Ltd. Video encoder and method for performing intra-prediction and video data compression
KR101507344B1 (ko) 2009-08-21 2015-03-31 에스케이 텔레콤주식회사 가변 길이 부호를 이용한 인트라 예측모드 부호화 방법과 장치, 및 이를 위한기록 매체
EP2478702B8 (en) 2009-09-14 2017-09-06 Thomson Licensing DTV Methods and apparatus for efficient video encoding and decoding of intra prediction mode
US9467705B2 (en) 2009-12-30 2016-10-11 Ariscale Inc. Video encoding apparatus, video decoding apparatus, and video decoding method for performing intra-prediction based on directionality of neighboring block
KR101432771B1 (ko) * 2010-03-05 2014-08-26 에스케이텔레콤 주식회사 영상 부호화 장치, 그 영상 부호화 방법, 영상 복호화 장치 및 그 영상 복호화 방법
PL3125560T3 (pl) * 2010-08-17 2019-01-31 M&K Holdings Inc. Urządzenie do dekodowania trybu intra-predykcji
US9008175B2 (en) * 2010-10-01 2015-04-14 Qualcomm Incorporated Intra smoothing filter for video coding
US8913662B2 (en) 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
US8811760B2 (en) * 2011-10-25 2014-08-19 Mitsubishi Electric Research Laboratories, Inc. Coding images using intra prediction modes
US9148667B2 (en) 2013-02-06 2015-09-29 Qualcomm Incorporated Intra prediction mode decision with reduced storage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005184241A (ja) * 2003-12-17 2005-07-07 Kddi Corp 動画像フレーム内モード判定方式
JP2006128770A (ja) * 2004-10-26 2006-05-18 Nec Corp 画像符号化装置及び方法、画像符号化装置のコンピュータ・プログラム、並びに携帯端末
JP2008283481A (ja) * 2007-05-10 2008-11-20 Canon Inc 画像処理装置およびその方法
JP2007267414A (ja) * 2007-05-24 2007-10-11 Toshiba Corp フレーム内画像符号化方法及びその装置
JP2009177357A (ja) * 2008-01-22 2009-08-06 Canon Inc 符号化装置及び符号化方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020519186A (ja) * 2017-09-28 2020-06-25 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 フレーム内予測方法、装置、ビデオ符号化装置、及び記憶媒体
US11363276B2 (en) 2017-09-28 2022-06-14 Tencent Technology (Shenzhen) Company Limited Intra-frame prediction method and apparatus, video coding device, and storage medium
JP2022521128A (ja) * 2019-01-02 2022-04-06 オッポ広東移動通信有限公司 予測方向の決定方法、デコーダ及びコンピュータ記憶媒体
US11659187B2 (en) 2019-01-02 2023-05-23 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for determining prediction direction, decoder, and computer storage medium
JP7305769B2 (ja) 2019-01-02 2023-07-10 オッポ広東移動通信有限公司 予測方向の決定方法、デコーダ及びコンピュータ記憶媒体
JP2020058068A (ja) * 2019-12-20 2020-04-09 日本電信電話株式会社 画像符号化装置、画像符号化方法及びコンピュータプログラム

Also Published As

Publication number Publication date
KR20150115833A (ko) 2015-10-14
WO2014120389A1 (en) 2014-08-07
EP2951996A1 (en) 2015-12-09
US20140219342A1 (en) 2014-08-07
KR101752989B1 (ko) 2017-07-03
ES2625821T3 (es) 2017-07-20
CN104937936B (zh) 2018-05-08
EP2951996B1 (en) 2017-02-22
CN104937936A (zh) 2015-09-23
HUE032054T2 (en) 2017-08-28
US9426473B2 (en) 2016-08-23
JP6284954B2 (ja) 2018-02-28

Similar Documents

Publication Publication Date Title
JP6284954B2 (ja) イントラ予測のためのモード決定の簡略化
US20220417558A1 (en) Video coding using mapped transforms and scanning modes
KR102114764B1 (ko) 이미지 예측 방법 및 장치
KR101670623B1 (ko) 감소된 저장에 의한 인트라 예측 모드 결정
RU2584498C2 (ru) Видеокодирование интра-режима
RU2573227C1 (ru) Выполнение предсказания вектора движения для кодирования видео
KR101574866B1 (ko) 비디오 코딩을 위한 모션 벡터 예측의 수행
JP6151434B2 (ja) 絶対値変換差分和に基づくビデオ符号化のためのイントラレート制御
US20150071357A1 (en) Partial intra block copying for video coding
JP2017513342A (ja) ゼロアウトされた係数を使用した低複雑な順変換のためのシステムおよび方法
JP2013543315A (ja) ビデオコード化のためのイントラ平滑化フィルタ
JP5937205B2 (ja) ビデオコーディングのためのランモードベース係数コーディング
JP2017513311A (ja) 残差差分パルス符号変調のための量子化プロセス
JP2018507625A (ja) パレットモードコード化のためのエスケープ画素をコード化すること
WO2020103593A1 (zh) 一种帧间预测的方法及装置
JP6224851B2 (ja) 低複雑度符号化および背景検出のためのシステムおよび方法
JP7331105B2 (ja) フレーム間予測方法及び関連する装置
CN110876057B (zh) 一种帧间预测的方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161017

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161017

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20161017

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180131

R150 Certificate of patent or registration of utility model

Ref document number: 6284954

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250