JP7250917B2 - 補間フィルタを使用するイントラ予測のための方法および装置 - Google Patents

補間フィルタを使用するイントラ予測のための方法および装置 Download PDF

Info

Publication number
JP7250917B2
JP7250917B2 JP2021518698A JP2021518698A JP7250917B2 JP 7250917 B2 JP7250917 B2 JP 7250917B2 JP 2021518698 A JP2021518698 A JP 2021518698A JP 2021518698 A JP2021518698 A JP 2021518698A JP 7250917 B2 JP7250917 B2 JP 7250917B2
Authority
JP
Japan
Prior art keywords
block
prediction
intra
samples
sample
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.)
Active
Application number
JP2021518698A
Other languages
English (en)
Other versions
JP2022504311A (ja
Inventor
アレクセイ・コンスタンチノヴィチ・フィリッポフ
ヴァシリー・アレクセーヴィチ・ルフィットスキー
ジエンレ・チェン
Original Assignee
ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ホアウェイ・テクノロジーズ・カンパニー・リミテッド filed Critical ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Publication of JP2022504311A publication Critical patent/JP2022504311A/ja
Priority to JP2023045836A priority Critical patent/JP2023088997A/ja
Application granted granted Critical
Publication of JP7250917B2 publication Critical patent/JP7250917B2/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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Description

関連出願の相互参照
本特許出願は、2018年10月6日に出願された米国仮特許出願第62/742,300号、2018年10月10日に出願された米国仮特許出願第62/744,096号、2018年10月30日に出願された米国仮特許出願第62/753,055号、および2018年11月7日に出願された米国仮特許出願第62/757,150号の優先権の利益を主張する。上述の特許出願は、その全体が参照により本明細書に組み込まれる。
本開示は、画像および/またはビデオのコーディングおよび復号の技術分野に関し、詳細には、補間フィルタの長さと調和した参照サンプル処理を伴う、方向性イントラ予測の方法および装置に関する。
DVDディスクの導入から、デジタルビデオが広く使用されている。送信の前に、ビデオは符号化され、伝送媒体を使用して送信される。視聴者はビデオを受信し、ビデオを復号および表示するために視聴デバイスを使用する。長年にわたって、ビデオの品質は、たとえば、より大きい解像度、色深度、およびフレームレートにより改善されている。このことは、今日では通常、インターネットおよびモバイル通信ネットワークを介してトランスポートされる、より大きいデータストリームをもたらしている。
しかしながら、解像度がより大きいビデオは、通常、より多くの情報を有するのでより大きい帯域幅を必要とする。帯域幅要件を低減するために、ビデオの圧縮を伴うビデオコーディング規格が導入されている。ビデオが符号化されると、帯域幅要件(または記憶の場合には、対応するメモリ要件)が低減される。しばしば、この低減は品質を犠牲にして成り立つ。したがって、ビデオコーディング規格は、帯域幅要件と品質との間の均衡を見つけようと試みる。
高効率ビデオコーディング(HEVC:High Efficiency Video Coding)は、一般に当業者に知られているビデオコーディング規格の一例である。HEVCでは、コーディングユニット(CU:coding unit)を予測ユニット(PU:prediction unit)または変換ユニット(TU:transform unit)に分割するために。多用途ビデオコーディング(VVC:Versatile Video Coding)次世代規格は、共同ビデオ探求チーム(JVET:Joint Video Exploration Team)と呼ばれるパートナーシップにおいて協力している、ITU-Tビデオコーディングエキスパートグループ(VCEG:Video Coding Experts Group)およびISO/IECムービングピクチャエキスパートグループ(MPEG:Moving Picture Experts Group)標準化団体の、最も最近の共同ビデオプロジェクトである。VVCは、ITU-T H.266/次世代ビデオコーディング(NGVC:Next Generation Video Coding)規格とも呼ばれる。VVCでは、複数の区分タイプという概念、すなわち、CU、PU、およびTUの分離という概念は、最大変換長にとってサイズが大きすぎるCUの場合を必要に応じて除いて除去されるものとし、CU区分形状に対してより大きいフレキシビリティをサポートする。
これらのコーディングユニット(CU)(ブロックとも呼ばれる)の処理は、それらのサイズ、空間的な位置、およびエンコーダによって指定されるコーディングモードに依存する。コーディングモードは、予測のタイプ、すなわち、イントラ予測モードおよびインター予測モードに従って、2つのグループに分類され得る。イントラ予測モードは、同じピクチャ(フレームまたは画像とも呼ばれる)のサンプルを使用して、再構成中のブロックのサンプルに対する予測値を計算するための参照サンプルを生成する。イントラ予測は空間予測とも呼ばれる。インター予測モードは、時間予測のために設計され、前または次のピクチャの参照サンプルを使用して現在ピクチャのブロックのサンプルを予測する。
ITU-T VCEG (Q6/16)およびISO/IEC MPEG (JTC 1/SC29/WG11)は、現在のHEVC規格(スクリーンコンテンツコーディングおよび高ダイナミックレンジコーディングのための、その現在の拡張および近々の拡張を含む)の圧縮能力を著しく上回る圧縮能力を有する、将来のビデオコーディング技術の標準化に対する潜在的なニーズを検討している。そのグループは、このエリアにおけるそれらの専門家によって提案される圧縮技術設計を評価するために、共同ビデオ探求チーム(JVET)と呼ばれる共同研究の取組みの中で、この探求活動において協力している。
VTM(多用途テストモデル)規格は35個のイントラモードを使用するが、BMS(ベンチマークセット)は67個のイントラモードを使用する。
現在BMSの中に記載されているイントラモードコーディング方式は複雑と見なされ、インデックスリストが常に一定であり(たとえば、その隣接ブロックイントラモードに対する)現在ブロック特性に基づいて適応的でないことが、選択されないモードセットの欠点である。
イントラ予測のための装置および方法を提供する本出願の実施形態が開示される。装置および方法は、コーディング効率を改善するように、マッピングプロセスを使用してイントラ予測のための計算手順を簡略化する。保護の範囲は特許請求の範囲によって規定される。
上記および他の目的は独立請求項の主題によって達成される。さらなる実装形態は、従属請求項、説明、および図から明らかである。
特定の実施形態が、従属請求項における他の実施形態とともに、添付の独立請求項において概説される。
第1の態様によれば、本発明はビデオコーディングの方法に関する。方法は、符号化装置または復号装置によって実行される。方法は、
予測されるべきサンプルを備えるブロックまたは予測サンプルのブロックなどの、具体的には、予測されるべきルーマサンプルを備えるルーマブロックなどの、ブロックのイントラ予測プロセスを実行することを含み、ブロックのイントラ予測プロセスの間、参照サンプル(たとえば、ルミナンス参照サンプル)にサブピクセル補間フィルタが適用されるか、またはブロックのイントラ予測プロセスの間、参照サンプル(たとえば、クロミナンス参照サンプル)にサブピクセル補間フィルタが適用され、
サブピクセル補間フィルタは、サブピクセルオフセット、たとえば、参照サンプルの位置と補間されるサンプルの位置との間の、または参照サンプルと予測されるべきサンプルとの間の、サブピクセルオフセットに基づいて選択され、
イントラ予測プロセスにおいて使用される主要参照側部のサイズは、サブピクセル補間フィルタの長さ、および前記サブピクセルオフセットの最大値(たとえば、最大非整数値)をもたらすイントラ予測モード(たとえば、利用可能なイントラ予測モードのセットのうちのイントラ予測モード)に従って決定され、主要参照側部は参照サンプルを備える。
参照サンプルとは、予測(ここでは特に、イントラ予測)がそれに基づいて実行されるサンプルである。言い換えれば、参照サンプルは、(現在)ブロックのサンプルを予測するために使用される、(現在)ブロックの外側のサンプルである。「現在ブロック」という用語は、予測を含む処理がそれに対して実行される対象ブロックを示す。たとえば、参照サンプルは、ブロック側部のうちの1つまたは複数においてブロックに隣接するサンプルである。言い換えれば、現在ブロックを予測するために使用される参照サンプルは、1つまたは複数のブロック境界(側部)に少なくとも部分的に隣接し1つまたは複数のブロック境界(側部)と平行な、サンプルのラインの中に含まれてよい。
参照サンプルは、整数サンプル位置におけるサンプル、またはサブサンプル位置、たとえば、非整数位置における補間されたサンプルであってよい。整数サンプル位置とは、コーディング(符号化または復号)されるべき画像の中の実際のサンプル位置を指してよい。
参照側部とは、ブロックのサンプルを予測するために参照サンプルがそこから使用される、ブロックの側部である。主要参照側部とは、参照サンプルがそこから取られる、ブロックの側部である(いくつかの実施形態では、参照サンプルがそこから取られる1つの側部しかない)。しかしながら、概して、主要参照側部は、参照サンプルが主にそこから取られる(たとえば、参照サンプルの大部分がそこから取られる、またはブロックサンプルの大部分を予測するための参照サンプルがそこから取られるなど)側部を指してよい。主要参照側部は、ブロックのサンプルを予測するために使用される参照サンプルを含む。主要参照側部が、ブロックのサンプルを予測するために使用される参照サンプルからなる場合、またブロックのサンプルを予測するために使用されるそれらのすべての参照サンプルが、主要参照側部の中に含まれる場合、そのことはメモリ節約目的のために有利であり得る。しかしながら、本開示はまた、ブロックを予測するために使用される参照サンプルを含む主要参照側部とともに、一般に適用可能である。これらは、予測のために直接使用される参照サンプル、ならびにブロックサンプルの予測のために次に使用されるサブサンプルを取得するためのフィルタ処理のために使用される参照サンプルを備えてよい。
一般に、現在ブロックの参照サンプルは、現在ブロックの隣接する再構成済みのサンプルを備える。したがって、現在ブロックが現在クロマブロックである場合、現在クロマブロックのクロマ参照サンプルは、現在クロマブロックの隣接する再構成済みのサンプルを備える。したがって、現在ブロックが現在ルーマブロックである場合、現在ルーマブロックのルーマ参照サンプルは、現在ルーマブロックの隣接する再構成済みのサンプルを備える。
サブピクセルオフセットの最大値によってメモリ要件が決定されることが理解される。したがって、本開示に従って主要参照側部のサイズを決定することによって、本開示は、イントラ予測を使用するビデオコーディングにおけるメモリ効率性をもたらすことを容易にする。言い換えれば、上述の第1の態様によるイントラ予測プロセスにおいて使用される主要参照側部のサイズを決定することによって、ブロックを予測するための参照サンプルを提供(記憶)しながらメモリ要件が低減され得る。このことは次に、画像/ビデオの符号化および復号のためのイントラ予測のより効率的な実装につながり得る。
そのような第1の態様による方法の可能な一実装形態では、補間フィルタは、参照サンプルの位置と予測サンプルの位置との間のサブピクセルオフセットに基づいて選択される。
予測サンプルが、それらが補間プロセスの出力に基づくという点で、補間されるサンプルであることが理解される。
そのような第1の態様による方法の可能な一実装形態では、
サブピクセルオフセットは、(refIdxなどの)参照ラインに基づいて決定され、または
サブピクセルオフセットは、選択されるイントラ予測モードに依存するintraPredAngleに基づいて決定され、または
サブピクセルオフセットは、(参照ラインなどの)参照サンプルと予測サンプルのブロックの側部との間の、すなわち(参照ラインなどの)参照サンプルから予測サンプルのブロックの側部までの、距離に基づいて決定される。
そのような第1の態様による方法の可能な一実装形態では、前記サブピクセルオフセットの最大値は、(最大分数サブピクセルオフセット、または前記サブピクセルオフセットの最大非整数値などの)最大非整数サブピクセルオフセットであり、主要参照側部のサイズは、
最大非整数サブピクセルオフセットの整数部分と、
予測サンプルのブロックの側部のサイズと、
(補間フィルタの長さの半分などの)補間フィルタの長さの一部分または全体との、合計に等しくなるように選択される。
主要参照側部のサイズのそのような選択の利点のうちの1つは、ブロックのイントラ予測のために必要なすべてのサンプルの準備(記憶/バッファリングすること)、およびブロック(のサンプル)を予測するために使用されない(記憶/バッファリングされる)サンプルの数の低減である。
そのような第1の態様による方法の可能な一実装形態では、
イントラ予測モードが垂直イントラ予測モード(VER_IDX)よりも大きい場合、予測サンプルのブロックの側部は予測サンプルのブロックの幅であり、
または
イントラ予測モードが水平イントラ予測モード(HOR_IDX)よりも小さい場合、予測サンプルのブロックの側部は予測サンプルのブロックの高さである。
たとえば、図10において、VER_IDXは垂直イントラ予測モード#50に対応し、HOR_IDXは水平イントラ予測モード#18に対応する。
そのような第1の態様による方法の可能な一実装形態では、前記ブロック側部の倍にしたサイズよりも大きい位置を有する、主要参照側部の参照サンプルは、前記サイズの倍にしたサイズに位置するサンプルに等しくなるように設定される。
言い換えれば、そのことは、倍にした側部長を越えてくるピクセルを繰り返すことによる、右へのパディングである。メモリバッファサイズは2のべき乗であることが好ましく、2のべき乗でないサイズのバッファを保持することよりも、2のべき乗のサイズのバッファの(すなわち、前記サイズの倍にしたサイズに位置する)最後のサンプルを使用することがより良好である。
そのような第1の態様による方法の可能な一実装形態では、主要参照側部のサイズは、
ブロック主要側部長と、
(補間フィルタの長さ、または補間フィルタの長さの半分などの)補間フィルタの長さの一部分または全体-1と、
以下の2つの値M、すなわち、
ブロック主要側部長、
最大(maximum)(または最大(greatest))非整数サブピクセルオフセットの整数部分+(補間フィルタの長さの半分などの)補間フィルタの長さの一部分もしくは全体、または最大(maximum)(または最大(greatest))非整数サブピクセルオフセットの整数部分+(補間フィルタの長さの半分などの)補間フィルタの長さの一部分もしくは全体+1のうちの最大との、合計として決定される。
主要参照側部のサイズのそのような選択の利点のうちの1つは、ブロックのイントラ予測のために必要なすべてのサンプルの準備(記憶/バッファリングすること)、およびブロック(のサンプル)を予測するために使用されないサンプルの準備(記憶/バッファリングすること)を低減またはさらには回避することである。
「ブロック主要側部」、「ブロック側部長」、「ブロック主要側部長」、および「予測サンプルのブロックの側部のサイズ」が、本開示全体にわたって同じ概念であることに留意されたい。
そのような第1の態様による方法の可能な一実装形態では、2つの値Mのうちの最大がブロック主要側部長に等しいとき、右パディングが実行されず、または
2つの値Mのうちの最大が、最大非整数サブピクセルオフセットの整数部分+補間フィルタの長さの半分、もしくはサブピクセルオフセットの最大非整数値の整数部分+補間フィルタの長さの半分+1に等しいとき、右パディングが実行される。
可能な一実装では、主要参照側部の最初の参照サンプルおよび/または最後の参照サンプルを、それぞれ、左の側部および/または右の側部に繰り返すことによってパディングが実行され、具体的には次のように、すなわち、主要参照側部をrefとして、かつ主要参照側部のサイズをrefSとして示すと、ref[-1]=p[0]かつ/またはref[refS+1]=p[refS]としてパディングが表され、ref[-1]は、主要参照側部の左の値を表し、
p[0]は、主要参照側部の最初の参照サンプルの値を表し、
ref[refS+1]は、主要参照側部の右の値を表し、
p[refS]は、主要参照側部の最後の参照サンプルの値を表す。
言い換えれば、右パディングは、ref[refS+1]=p[refS]によって実行され得る。追加または代替として、左パディングは、ref[-1]=p[0]によって実行され得る。
このようにして、パディングは、補間フィルタ処理も考慮に入れて、予測のために必要なすべてのサンプルの準備を容易にし得る。
そのような第1の態様による方法の可能な一実装形態では、イントラ予測プロセスにおいて使用されるフィルタは、有限インパルス応答フィルタであり、それらの係数は、ルックアップテーブルからフェッチされる。
そのような第1の態様による方法の可能な一実装形態では、イントラ予測プロセスにおいて使用される補間フィルタは4タップフィルタである。
そのような第1の態様による方法の可能な一実装形態では、補間フィルタの係数は、次のように、すなわち、
Figure 0007250917000001
のように、サブピクセルオフセットの非整数部分などの、サブピクセルオフセットに依存し、「サブピクセルオフセット」列は、1/32サブピクセル解像度で規定される。言い換えれば、(サブピクセル補間フィルタなどの)補間フィルタは、上記の表における係数によって表される。
そのような第1の態様による方法の可能な一実装形態では、補間フィルタの係数は、次のように、すなわち、
Figure 0007250917000002
のように、サブピクセルオフセットの非整数部分などの、サブピクセルオフセットに依存し、「サブピクセルオフセット」列は、1/32サブピクセル解像度で規定される。言い換えれば、(サブピクセル補間フィルタなどの)補間フィルタは、上記の表における係数によって表される。
そのような第1の態様による方法の可能な一実装形態では、補間フィルタの係数は、以下、すなわち、
Figure 0007250917000003
のように、サブピクセルオフセットの非整数部分、オフセットなどの、サブピクセルに依存し、「サブピクセルオフセット」列は、1/32サブピクセル解像度で規定される。言い換えれば、(サブピクセル補間フィルタなどの)補間フィルタは、上記の表における係数によって表される。
そのような第1の態様による方法の可能な一実装形態では、補間フィルタの係数は、次のように、すなわち、
Figure 0007250917000004
のように、サブピクセルオフセットの非整数部分などの、サブピクセルオフセットに依存し、「サブピクセルオフセット」列は、1/32サブピクセル解像度で規定される。言い換えれば、(サブピクセル補間フィルタなどの)補間フィルタは、上記の表における係数によって表される。
そのような第1の態様による方法の可能な一実装形態では、サブピクセル補間フィルタは、所与のサブピクセルオフセットに対するイントラ予測プロセスのために使用されるフィルタのセットから選択される。言い換えれば、所与のサブピクセルオフセットに対するイントラ予測プロセスのフィルタが(たとえば、唯一のフィルタ、またはフィルタセットのうちの1つが、イントラ予測プロセスのために使用され得る)、フィルタのセットから選択される。
そのような第1の態様による方法の可能な一実装形態では、フィルタのセットは、ガウスフィルタおよびキュービックフィルタを備える。
そのような第1の態様による方法の可能な一実装形態では、サブピクセル補間フィルタの数量はN個であり、N個のサブピクセル補間フィルタがイントラ参照サンプル補間のために使用され、N>=1かつ正の整数である。
そのような第1の態様による方法の可能な一実装形態では、ブロックの予測サンプルの値を取得するために使用中の参照サンプルは、予測サンプルのブロックに隣接しない。エンコーダは、ビットストリーム内でオフセット値をシグナリングしてよく、その結果、このオフセット値は、参照サンプルの隣接ラインと予測サンプルの値がそこから導出される参照サンプルのラインとの間の距離を示す。図24は、参照サンプルのラインの可能な位置およびref_offset変数の対応する値を表す。変数「ref_offset」は、どの参照ラインが使用されるのかを示し、たとえば、ref_offset=0のとき、(図24に示すような)「参照ライン0」が使用されることを表す。
ビデオコーデックの特定の実装(たとえば、ビデオエンコーダまたはビデオデコーダ)において使用中のオフセットの値の例は、以下の通りである。
参照サンプルの隣接ライン(図24の中の「参照ライン0」によって示すref_offset=0)を使用し、
(隣接ラインに最も近い)第1のライン(図24の中の「参照ライン1」によって示すref_offset=1)を使用し、
第3のライン(図24の中の「参照ライン3」によって示すref_offset=3)を使用する。
方向性イントラ予測モードは、予測サンプルの2つの隣接ラインの間のサブピクセルオフセットの値(deltaPos)を指定する。この値は、精度が5ビットの固定小数点整数値によって表される。たとえば、deltaPos=32とは、予測サンプルの2つの隣接ラインの間のオフセットが厳密に1サンプルであることを意味する。
イントラ予測モードがDIA_IDX(モード#34)よりも大きい場合、上記で説明した例に対して、主要参照側部サイズの値は次のように計算される。利用可能な(すなわち、予測サンプルのブロックに対してエンコーダが示してよい)イントラ予測モードのセットのうち、DIA_IDXよりも大きく、かつ最大のdeltaPos値を提供するモードが考慮される。所望のサブピクセルオフセットの値は、次のように導出される。すなわち、ブロック高さが、ref_offsetと合計され、deltaPos値で乗算される。その結果が32で除算されて余りが0である場合、上記で説明したようなdeltaPosの別の最大値、ただし、利用可能なイントラ予測モードのセットからモードを得るとき、以前に考慮された予測モードはスキップ(skip)される。そうでない場合、この乗算の結果は、最大非整数サブピクセルオフセットであるものと見なされる。このオフセットの整数部分は、それを右へ5ビットだけシフトすることによって取られる。最大非整数サブピクセルオフセットの整数部分と、予測サンプルのブロックの幅と、補間フィルタの長さの半分とを合計すること。
そうではなく、イントラ予測モードがDIA_IDX(モード#34)よりも小さい場合、上記で説明した例に対して、主要参照側部サイズの値は次のように計算される。利用可能な(すなわち、予測サンプルのブロックに対してエンコーダが示してよい)イントラ予測モードのセットのうち、DIA_IDXよりも小さく、かつ最大のdeltaPos値を提供するモードが考慮される。所望のサブピクセルオフセットの値は、次のように導出される。すなわち、ブロック幅が、ref_offsetと合計され、deltaPos値で乗算される。その結果が32で除算されて余りが0である場合、上記で説明したようなdeltaPosの別の最大値、ただし、利用可能なイントラ予測モードのセットからモードを得るとき、以前に考慮された予測モードはスキップされる。そうでない場合、この乗算の結果は、最大非整数サブピクセルオフセットであるものと見なされる。このオフセットの整数部分は、それを右へ5ビットだけシフトすることによって取られる。最大非整数サブピクセルオフセットの整数部分と、予測サンプルのブロックの高さと、補間フィルタの長さの半分とを合計すること。
第2の態様によれば、本発明は、ピクチャの中に含まれる現在ブロックを予測するためのイントラ予測方法に関する。方法は、利用可能な複数のイントラ予測モードのうち、現在ブロックの中の(複数の現在サンプルのうちの現在サンプルなどの)複数のターゲットサンプルのうちのターゲットサンプルと現在ブロックの中の前記ターゲットサンプルを予測するために使用される参照サンプルとの間のサブピクセルオフセットの最大非整数値をもたらすイントラ予測モード(参照サンプルは、主要参照側部の中に含まれる複数の参照サンプルのうちの参照サンプルである)、および主要参照側部の中に含まれる参照サンプルに対して適用されるべき補間フィルタのサイズに基づいて、イントラ予測において使用される主要参照側部のサイズを決定することを備える。方法は、フィルタ処理済みの参照サンプルを取得するために、主要参照側部の中に含まれる参照サンプルに対して補間フィルタを適用することと、フィルタ処理済みの参照サンプルに基づいて、現在ブロックの中に含まれる(複数の現在サンプルまたは複数のターゲットサンプルなどの)複数のサンプルを予測することとをさらに備える。
したがって、本開示は、イントラ予測を使用するビデオコーディングにおけるメモリ効率性をもたらすことを容易にする。
たとえば、主要参照側部のサイズは、サブピクセルオフセットの最大非整数値の整数部分と、現在ブロックの側部のサイズと、補間フィルタのサイズの半分との、合計として決定される。言い換えれば、第2の態様の利点は、第1の態様の上述の利点に相当し得る。
いくつかの実施形態では、イントラ予測モードが垂直イントラ予測モードVER_IDXよりも大きい場合、現在ブロックの側部は現在ブロックの幅であり、またはイントラ予測モードが水平イントラ予測モードHOR_IDXよりも小さい場合、現在ブロックの側部は現在ブロックの高さである。
たとえば、現在ブロックの側部のサイズの倍よりも大きい主要参照側部の中の位置を有する参照サンプルの値は、現在ブロックのサイズの倍であるサンプル位置を有するサンプルの値に等しくなるように設定される。
たとえば、主要参照側部のサイズは、
・現在ブロックの側部のサイズと、
・補間フィルタの長さの半分-1と、
・以下、すなわち、
- ブロックの側部のサイズ、および
- サブピクセルオフセットの最大非整数値の整数部分+補間フィルタの長さの半分(したがって、追加のサンプルref[refW+refIdx+x](x=1..(Max(1,nTbW/nTbH)*refIdx+1))は、次のように導出される。すなわち、ref[refW+refIdx+x]=p[-1+refW][-1-refIdx])、またはサブピクセルオフセットの最大非整数値の整数部分+補間フィルタの長さの半分+1(したがって、追加のサンプルref[refW+refIdx+x](x=1..(Max(1,nTbW/nTbH)*refIdx+2))は、次のように導出される。すなわち、ref[refW+refIdx+x]=p[-1+refW][-1-refIdx])
のうちの最大と
の合計として決定される。
第3の態様によれば、本発明は、本発明の第1もしくは第2の態様または第1もしくは第2の態様の任意の可能な実施形態による方法を実行するための処理回路構成を備える、エンコーダに関する。
第4の態様によれば、本発明は、本発明の第1もしくは第2の態様または第1もしくは第2の態様の任意の可能な実施形態による方法を実行するための処理回路構成を備える、デコーダに関する。
第5の態様によれば、本発明は、ピクチャの中に含まれる現在ブロックのイントラ予測のための装置に関し、装置は、フィルタ処理済みの参照サンプルに基づいて、現在ブロックの中に含まれるターゲットサンプルを予測するように構成された、イントラ予測ユニットを備える。イントラ予測ユニットは、利用可能な複数のイントラ予測モードのうち、現在ブロックの中の複数のターゲットサンプルのうちのターゲットサンプルと現在ブロックの中の前記ターゲットサンプルを予測するために使用される参照サンプルとの間のサブピクセルオフセットの最大非整数値をもたらすイントラ予測モード(参照サンプルが、主要参照側部の中に含まれる複数の参照サンプルのうちの参照サンプルであって)、および主要参照側部の中に含まれる参照サンプルに対して適用されるべき補間フィルタのサイズに基づいて、イントラ予測において使用される主要参照側部のサイズを決定するように構成された、決定ユニットと、フィルタ処理済みの参照サンプルを取得するために、主要参照側部の中に含まれる参照サンプルに対して補間フィルタを適用するように構成された、フィルタ処理ユニットとを備える。
したがって、本開示は、イントラ予測を使用するビデオコーディングにおけるメモリ効率性をもたらすことを容易にする。
いくつかの実施形態では、決定ユニットは、サブピクセルオフセットの最大非整数値の整数部分と、現在ブロックの側部のサイズと、補間フィルタのサイズの半分との、合計として、主要参照側部のサイズを決定する。
たとえば、イントラ予測モードが垂直イントラ予測モードVER_IDXよりも大きい場合、現在ブロックの側部は現在ブロックの幅であり、またはイントラ予測モードが水平イントラ予測モードHOR_IDXよりも小さい場合、現在ブロックの側部は現在ブロックの高さである。
たとえば、現在ブロックの側部のサイズの倍よりも大きい主要参照側部の中の位置を有する参照サンプルの値は、現在ブロックのサイズの倍であるサンプル位置を有するサンプルの値に等しくなるように設定される。
いくつかの実施形態では、決定ユニットは、
・ブロックの側部のサイズと、
・サブピクセルオフセットの最大非整数値の整数部分+補間フィルタの長さの半分、またはサブピクセルオフセットの最大非整数値の整数部分+補間フィルタの長さの半分+1との、合計として、主要参照側部のサイズを決定する。
決定ユニットは、2つの値Mのうちの最大がブロックの側部のサイズに等しいとき、右パディングを実行せず、または2つの値Mのうちの最大が、サブピクセルオフセットの最大値の整数部分+補間フィルタの長さの半分、もしくはサブピクセルオフセットの最大非整数値の整数部分+補間フィルタの長さの半分+1に等しいとき、右パディングを実行するように構成され得る。
追加または代替として、いくつかの実施形態では、決定ユニットは、主要参照側部の最初のサンプルおよび/または最後のサンプルを、それぞれ、左の側部および/または右の側部に繰り返すことによってパディングを実行するように構成され、具体的には次のように、すなわち、主要参照側部をrefとして、かつ主要参照側部のサイズをrefSとして示すと、ref[-1]=p[0]かつ/またはref[refS+1]=p[refS]としてパディングが表され、ref[-1]は、主要参照側部の左の値を表し、p[0]は、主要参照側部の最初の参照サンプルの値を表し、
ref[refS+1]は、主要参照側部の右の値を表し、p[refS]は、主要参照側部の最後の参照サンプルの値を表す。
本発明の第2の態様による方法は、本発明の第5の態様による装置によって実行され得る。本発明の第5の態様による装置のさらなる特徴および実装形態は、本発明の第2の態様による方法の特徴および実装形態または第2の態様の任意の可能な実施形態に対応する。
第6の態様によれば、先行する任意の態様の先行する任意の実装またはそのような先行する任意の態様による上記の方法のステップの少なくとも一部を実行するためのモジュール/ユニット/構成要素/回路を備える、装置が提供される。
本態様による装置は、先行する任意の態様による方法の実装形態に対応する実装形態に拡張され得る。したがって、装置の実装形態は、先行する任意の態様による方法の対応する実装形態の特徴を備える。
先行する任意の態様による装置の利点は、先行する任意の態様による方法の対応する実装形態にとっての利点と同じである。
第7の態様によれば、本発明は、プロセッサおよびメモリを含む、ビデオストリームを復号するための装置に関する。メモリは、第1の態様による方法または第1の態様の任意の可能な実施形態をプロセッサに実行させる命令を記憶している。
第8の態様によれば、本発明は、上記で説明した実施形態のうちのいずれかによる、現在ブロックのイントラ予測のための装置を備える、複数のピクチャをビットストリームの中に符号化するためのビデオエンコーダに関する。
第9の態様によれば、本発明は、上記で説明した実施形態のうちのいずれかによる、現在ブロックのイントラ予測のための装置を備える、ビットストリームから複数のピクチャを復号するためのビデオデコーダに関する。
第10の態様によれば、実行されたとき、構成された1つまたは複数のプロセッサにビデオデータをコーディングさせる命令を記憶した、コンピュータ可読記憶媒体が提案される。命令は、第1の態様または第1の態様の任意の可能な実施形態による方法を1つまたは複数のプロセッサに実行させる。
第11の態様によれば、本発明は、コンピュータ上で実行されたとき、第1の態様または第1の態様の任意の可能な実施形態による方法を実行するためのプログラムコードを備えるコンピュータプログラムに関する。
本出願の別の態様では、上記の方法を実行するために構成された処理回路構成を備えるデコーダが開示される。
本出願の別の態様では、上記の方法を実行するためのプログラムコードを備えるコンピュータプログラム製品が開示される。
本出願の別の態様では、ビデオデータを復号するためのデコーダが開示され、デコーダは、1つまたは複数のプロセッサと、プロセッサに結合されプロセッサによる実行用のプログラミングを記憶する、非一時的コンピュータ可読記憶媒体とを備え、プログラミングは、プロセッサによって実行されたとき、上記の方法を実行するようにデコーダを構成する。
処理回路構成は、ハードウェアで、またはハードウェアとソフトウェアとの組合せで、たとえば、ソフトウェアプログラマブルプロセッサなどによって、実装され得る。
本明細書で説明する態様、実施形態、および実装は、第1の態様および第2の態様を参照しながら上記で説明した有利な効果をもたらし得る。
1つまたは複数の実施形態の詳細は、添付図面および以下の説明において記載される。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかとなろう。
本発明の以下の実施形態は、添付の図(figure)および図面(drawing)を参照しながら、より詳細に説明される。
本発明の実施形態を実施するように構成されたビデオコーディングシステムの一例を示すブロック図である。 本発明の実施形態を実施するように構成されたビデオコーディングシステムの別の例を示すブロック図である。 本発明の実施形態を実施するように構成されたビデオエンコーダの一例を示すブロック図である。 本発明の実施形態を実施するように構成されたビデオデコーダの例示的な構造を示すブロック図である。 符号化装置または復号装置の一例を示すブロック図である。 符号化装置または復号装置の別の例を示すブロック図である。 角度イントラ予測の方向およびモード、ならびに垂直予測方向に対するpangの関連する値を示す図である。 4×4ブロックに対するp1,refへのprefの変換を示す図である。 水平角度予測のためのp1,refの構成を示す図である。 垂直角度予測のためのp1,refの構成を示す図である。 角度イントラ予測の方向およびモード、ならびにJEMおよびBMS-1におけるイントラ予測モードのpang f Aセットの関連する値を示す図である。 角度イントラ予測の方向およびモード、ならびにVVCドラフト2におけるイントラ予測モードのpang f Aセットの関連する値を示す図である。 HEVC[1]におけるイントラ予測モードを示す図である。 補間フィルタ選択の一例を示す図である。 説明するQTBTを示す図である。 長方形ブロックの向きを示す図である。 主要参照側部の参照サンプルからのブロックのイントラ予測の一例を示す図である。 主要参照側部の参照サンプルからのブロックのイントラ予測の一例を示す図である。 主要参照側部の参照サンプルからのブロックのイントラ予測の一例を示す図である。 主要参照側部の参照サンプルからのブロックのイントラ予測の一例を示す図である。 主要参照側部の参照サンプルからのブロックのイントラ予測の一例を示す図である。 主要参照側部の参照サンプルからのブロックのイントラ予測の一例を示す図である。 イントラ予測において使用される補間フィルタを示す図である。 イントラ予測において使用される補間フィルタを示す図である。 イントラ予測において使用される補間フィルタを示す図である。 本発明の実施形態を実施するように構成された、イントラ予測において使用される補間フィルタを示す図である。 本発明の実施形態を実施するように構成された、イントラ予測において使用される補間フィルタを示す図である。 参照サンプルのラインの可能な位置およびref_offset変数の対応する値の別の例を示す図である。 イントラ予測方法を示すフローチャートである。 イントラ予測装置を示すブロック図である。 コンテンツ配信サービスを提供するコンテンツ供給システムの例示的な構造を示すブロック図である。 端末デバイスの一例を示すブロック図である。
以下では、同一の参照符号は、別段に明示的に指定されていない場合、同一のまたは少なくとも機能的に均等な特徴を指す。
以下の説明では、本開示の一部を形成し、かつ本発明の実施形態の特定の態様、または本発明の実施形態が使用され得る特定の態様を例として示す、添付の図に参照が行われる。本発明の実施形態が、他の態様において使用されてよく、図の中に示されない構造的または論理的な変更を備えることが、理解される。したがって、以下の発明を実施するための形態は限定的な意味で取られるべきでなく、本発明の範囲は添付の特許請求の範囲によって規定される。
たとえば、説明する方法に関する開示がまた、方法を実行するように構成された対応するデバイスまたはシステムに対して当てはまることがあり、逆も同様であることが、理解される。たとえば、1つまたは複数の特定の方法ステップが説明される場合、対応するデバイスは、そのような1つまたは複数のユニットが図の中で明示的に説明または図示されない場合でも、説明する1つまたは複数の方法ステップを実行するための1つまたは複数のユニット(たとえば、1つもしくは複数のステップを実行する1つのユニット、または各々が複数のステップのうちの1つもしくは複数を実行する複数のユニット)、たとえば、機能ユニットを含んでよい。一方、たとえば、1つまたは複数のユニット、たとえば、機能ユニットに基づいて、特定の装置が説明される場合、対応する方法は、そのような1つまたは複数のステップが図の中で明示的に説明または図示されない場合でも、1つまたは複数のユニットの機能性を実行するための1つのステップ(たとえば、1つもしくは複数のユニットの機能性を実行する1つのステップ、または各々が複数のユニットのうちの1つもしくは複数の機能性を実行する複数のステップ)を含んでよい。さらに、本明細書で説明する様々な例示的な実施形態および/または態様の特徴が、別段に特に記載されていない限り、互いに組み合わせられてよいことが理解される。
ビデオコーディングとは、通常、ビデオまたはビデオシーケンスを形成するピクチャのシーケンスの処理を指す。「ピクチャ」という用語の代わりに、ビデオコーディングの分野における同義語として「フレーム」または「画像」という用語が使用され得る。ビデオコーディング(または一般に、コーディング)は、2つの部分、すなわち、ビデオ符号化およびビデオ復号を備える。ビデオ符号化はソース側において実行され、通常、元のビデオピクチャを(たとえば、圧縮によって)処理して、ビデオピクチャを表すために必要とされるデータの量を(より効率的な記憶および/または送信のために)低減することを備える。ビデオ復号は宛先側において実行され、通常、ビデオピクチャを再構成するために、エンコーダと比較して逆の処理を備える。ビデオピクチャ(または一般に、ピクチャ)の「コーディング」に言及する実施形態は、ビデオピクチャまたはそれぞれのビデオシーケンスの「符号化」または「復号」に関係するものと理解されるものとする。符号化部分と復号部分との組合せは、コーデック(コーディングおよび復号)とも呼ばれる。
可逆的ビデオコーディングの場合には、元のビデオピクチャが再構成され得、すなわち、再構成されたビデオピクチャは、(記憶中または伝送中に伝送損失または他のデータ損失がないことを想定すると)元のビデオピクチャと同じ品質を有する。不可逆的ビデオコーディングの場合には、たとえば、量子化による、さらなる圧縮が実行されてビデオピクチャを表すデータの量を低減し、ビデオピクチャはデコーダにおいて完全に再構成され得るとは限らず、すなわち、再構成されたビデオピクチャの品質は、元のビデオピクチャの品質と比較してもっと低いかまたはもっと悪い。
いくつかのビデオコーディング規格は、「不可逆的ハイブリッドビデオコーデック」のグループに属する(すなわち、サンプル領域における空間予測および時間予測と、変換領域において量子化を適用するための2D変換コーディングとを組み合わせる)。ビデオシーケンスの各ピクチャは、通常、オーバーラップしない1組のブロックに区分され、コーディングは、通常、ブロックレベルで実行される。言い換えれば、エンコーダにおいて、ビデオは、通常、たとえば、空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を使用することによって、ブロック(ビデオブロック)レベルで処理すなわち符号化されて予測ブロックを生成し、現在ブロック(現在処理される/処理されるべきブロック)から予測ブロックを減算して残差ブロックを取得し、残差ブロックを変換するとともに変換領域において残差ブロックを量子化して、送信されるべきデータの量を低減し(圧縮)、デコーダにおいて、エンコーダと比較して逆の処理が、符号化または圧縮されたブロックに適用されて、描写用の現在ブロックを再構成する。さらに、エンコーダは、その両方が同一の予測(たとえば、イントラ予測およびインター予測)、および/または後続のブロックを処理すなわちコーディングするための再構成を生成するような、デコーダ処理ループを複製する。
ビデオコーディングシステム10の以下の実施形態では、図1~図3に基づいてビデオエンコーダ20およびビデオデコーダ30が説明される。
図1Aは、例示的なコーディングシステム10、たとえば、この本出願の技法を利用し得るビデオコーディングシステム10(または短いコーディングシステム10)を示す概略ブロック図である。ビデオコーディングシステム10のビデオエンコーダ20(または短いエンコーダ20)およびビデオデコーダ30(または短いデコーダ30)は、本出願で説明する様々な例による技法を実行するように構成され得るデバイスの例を表す。
図1Aに示すように、コーディングシステム10は、たとえば、符号化ピクチャデータ13を復号するための宛先デバイス14に、符号化ピクチャデータ21を提供するように構成された、ソースデバイス12を備える。
ソースデバイス12はエンコーダ20を備え、追加として、すなわち随意に、ピクチャソース16、プリプロセッサ(または前処理ユニット)18、たとえば、ピクチャプリプロセッサ18、および通信インターフェースまたは通信ユニット22を備えてよい。
ピクチャソース16は、任意の種類のピクチャキャプチャデバイス、たとえば、実世界ピクチャをキャプチャするためのカメラ、ならびに/あるいは任意の種類のピクチャ生成デバイス、たとえば、コンピュータアニメーション化されたピクチャを生成するためのコンピュータグラフィックスプロセッサ、または実世界のピクチャ、コンピュータ生成されたピクチャ(たとえば、スクリーンコンテンツ、仮想現実(VR)ピクチャ)、および/もしくはそれらの任意の組合せ(たとえば、拡張現実(AR)ピクチャ)を取得および/もしくは提供するための任意の種類の他のデバイスを備えてよく、またはそれらであってよい。ピクチャソースは、上述のピクチャのうちのいずれかを記憶する任意の種類のメモリまたはストレージであってよい。
プリプロセッサ18、および前処理ユニット18によって実行される処理と区別して、ピクチャまたはピクチャデータ17は未加工ピクチャまたは未加工ピクチャデータ17と呼ばれることもある。
プリプロセッサ18は、(未加工)ピクチャデータ17を受信し、ピクチャデータ17に前処理を実行して、前処理済みのピクチャ19または前処理済みのピクチャデータ19を取得するように構成される。プリプロセッサ18によって実行される前処理は、たとえば、トリミング、(たとえば、RGBからYCbCrへの)カラーフォーマット変換、色補正、またはノイズ除去を備えてよい。前処理ユニット18が随意の構成要素であってよいことが理解され得る。
ビデオエンコーダ20は、前処理済みのピクチャデータ19を受信し符号化ピクチャデータ21を提供するように構成される(さらなる詳細は、たとえば、図2に基づいて、以下で説明される)。
ソースデバイス12の通信インターフェース22は、符号化ピクチャデータ21を受信し、通信チャネル13を介して符号化ピクチャデータ21(またはそれらのそれ以上に処理されたバージョン)を別のデバイス、たとえば、宛先デバイス14または任意の他のデバイスへ、記憶または直接の再構成のために送信するように構成され得る。
宛先デバイス14はデコーダ30(たとえば、ビデオデコーダ30)を備え、追加として、すなわち随意に、通信インターフェースまたは通信ユニット28、ポストプロセッサ32(または後処理ユニット32)、およびディスプレイデバイス34を備えてよい。
宛先デバイス14の通信インターフェース28は、たとえば、ソースデバイス12から直接、または任意の他のソース、たとえば、記憶デバイス、たとえば、符号化ピクチャデータ記憶デバイスから、符号化ピクチャデータ21(またはそれらのそれ以上に処理されたバージョン)を受信し、符号化ピクチャデータ21をデコーダ30に提供するように構成される。
通信インターフェース22および通信インターフェース28は、ソースデバイス12と宛先デバイス14との間の直接の通信リンク、たとえば、直接の有線接続またはワイヤレス接続を介して、あるいは任意の種類のネットワーク、たとえば、有線ネットワークもしくはワイヤレスネットワークもしくはそれらの任意の組合せ、または任意の種類のプライベートネットワークおよびパブリックネットワークもしくはそれらの任意の種類の組合せを介して、符号化ピクチャデータ21または符号化データ13を送信または受信するように構成され得る。
通信インターフェース22は、たとえば、符号化ピクチャデータ21を適切なフォーマット、たとえば、パケットにパッケージ化し、かつ/または通信リンクもしくは通信ネットワークを介した送信のための任意の種類の送信符号化もしくは送信処理を使用して符号化ピクチャデータを処理するように構成され得る。
通信インターフェース22の相手方を形成する通信インターフェース28は、たとえば、送信されたデータを受信し、符号化ピクチャデータ21を取得するために任意の種類の対応する送信復号もしくは送信処理および/またはデパッケージングを使用して送信データを処理するように構成され得る。
通信インターフェース22と通信インターフェース28の両方は、ソースデバイス12から宛先デバイス14へ指し示す図1Aの中の通信チャネル13に対して矢印によって示されるような単方向通信インターフェース、または双方向通信インターフェースとして構成されてよく、たとえば、接続をセットアップして、通信リンクおよび/またはデータ送信、たとえば、符号化ピクチャデータ送信に関係する任意の他の情報を認識応答および交換するために、たとえば、メッセージを送りかつ受信するように構成されてよい。
デコーダ30は、符号化ピクチャデータ21を受信し、復号ピクチャデータ31または復号ピクチャ31を提供するように構成される(さらなる詳細は、たとえば、図3または図5に基づいて、以下で説明される)。
宛先デバイス14のポストプロセッサ32は、復号ピクチャデータ31(再構成されたピクチャデータとも呼ばれる)、たとえば、復号ピクチャ31を後処理して、後処理済みのピクチャデータ33、たとえば、後処理済みのピクチャ33を取得するように構成される。後処理ユニット32によって実行される後処理は、たとえば、(たとえば、YCbCrからRGBへの)カラーフォーマット変換、色補正、トリミング、もしくはリサンプリング、または、たとえば、ディスプレイデバイス34による、たとえば、表示のために復号ピクチャデータ31を準備するための、任意の他の処理を備えてよい。
宛先デバイス14のディスプレイデバイス34は、たとえば、ユーザまたは視聴者に、ピクチャを表示するために、後処理済みのピクチャデータ33を受信するように構成される。ディスプレイデバイス34は、再構成されたピクチャを表すための任意の種類のディスプレイ、たとえば、統合されるかもしくは外部のディスプレイもしくはモニタであってよく、またはそれらを備えてよい。ディスプレイは、たとえば、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、液晶オンシリコン(LCoS)、デジタル光プロセッサ(DLP)、または任意の種類の他のディスプレイを備えてよい。
図1Aは別個のデバイスとしてソースデバイス12および宛先デバイス14を示すが、デバイスの実施形態はまた、ソースデバイス12もしくは対応する機能性と宛先デバイス14もしくは対応する機能性の両方、または両方の機能性を備えてよい。そのような実施形態では、ソースデバイス12または対応する機能性および宛先デバイス14または対応する機能性は、同じハードウェアおよび/またはソフトウェアを使用して、あるいは別個のハードウェアおよび/もしくはソフトウェアまたはそれらの任意の組合せによって、実施され得る。
説明に基づいて当業者にとって明らかとなるように、異なるユニットの機能性すなわち図1Aに示すようなソースデバイス12内および/または宛先デバイス14内での機能性の存在および(厳密な)分割は、実際のデバイスおよび適用例に応じて様々であり得る。
エンコーダ20(たとえば、ビデオエンコーダ20)およびデコーダ30(たとえば、ビデオデコーダ30)は各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、個別論理、ハードウェア、またはそれらの任意の組合せなどの、図1Bに示すような様々な好適な回路構成のうちのいずれかとして実装され得る。部分的にソフトウェアで技法が実施される場合、デバイスは、本開示の技法を実行するために、ソフトウェアのための命令を好適な非一時的コンピュータ可読記憶媒体の中に記憶してよく、1つまたは複数のプロセッサを使用してハードウェアで命令を実行してよい。(ハードウェア、ソフトウェア、ハードウェアとソフトウェアとの組合せなどを含む)上記のうちのいずれも、1つまたは複数のプロセッサであるものと見なされてよい。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダの中に含まれてよく、それらのいずれも、組み合わせられたエンコーダ/デコーダ(コーデック)の一部として、それぞれのデバイスの中に統合されてよい。
ソースデバイス12および宛先デバイス14は、任意の種類のハンドヘルドまたは固定のデバイス、たとえば、ノートブックまたはラップトップコンピュータ、モバイルフォン、スマートフォン、タブレットまたはタブレットコンピュータ、カメラ、デスクトップコンピュータ、セットトップボックス、テレビ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、(コンテンツサービスサーバまたはコンテンツ配信サーバなどの)ビデオストリーミングデバイス、ブロードキャスト受信機デバイス、ブロードキャスト送信機デバイスなどを含む、幅広いデバイスのうちのいずれかを備えてよく、オペレーティングシステムを使用しなくてよく、または任意の種類のオペレーティングシステムを使用してもよい。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備されてよい。したがって、ソースデバイス12および宛先デバイス14はワイヤレス通信デバイスであってよい。
場合によっては、図1Aに示すビデオコーディングシステム10は一例にすぎず、本出願の技法は、必ずしも符号化デバイスと復号デバイスとの間の任意のデータ通信を含むとは限らない、ビデオコーディング設定(たとえば、ビデオ符号化またはビデオ復号)に適用され得る。他の例では、データは、ローカルメモリから取り出される、ネットワークを介してストリーミングされるなどである。ビデオ符号化デバイスは、データをメモリに符号化および記憶してよく、かつ/またはビデオ復号デバイスは、データをメモリから取り出し復号してよい。いくつかの例では、互いに通信しないが、単にデータをメモリに符号化し、かつ/またはメモリからデータを取り出し復号するデバイスによって、符号化および復号が実行される。
図1Bは、例示的な実施形態による、図2のエンコーダ20および/または図3のデコーダ30を含む別の例示的なビデオコーディングシステム40の例示的な図である。システム40は、本出願で説明する様々な例による技法を実施することができる。図示した実装では、ビデオコーディングシステム40は、イメージングデバイス41、ビデオエンコーダ100、ビデオデコーダ30(および/または処理ユニット46の論理回路構成47を介して実装されたビデオコーダ)、アンテナ42、1つもしくは複数のプロセッサ43、1つもしくは複数のメモリストア44、および/またはディスプレイデバイス45を含んでよい。
図示したように、イメージングデバイス41、アンテナ42、処理ユニット46、論理回路構成47、ビデオエンコーダ20、ビデオデコーダ30、プロセッサ43、メモリストア44、および/またはディスプレイデバイス45は、互いに通信することが可能であり得る。説明したように、ビデオエンコーダ20とビデオデコーダ30の両方とともに図示されるが、ビデオコーディングシステム40は、様々な例ではビデオエンコーダ20しかまたはビデオデコーダ30しか含まないことがある。
図示のように、いくつかの例では、ビデオコーディングシステム40はアンテナ42を含んでよい。アンテナ42は、たとえば、ビデオデータの符号化ビットストリームを送信または受信するように構成され得る。さらに、いくつかの例では、ビデオコーディングシステム40はディスプレイデバイス45を含んでよい。ディスプレイデバイス45は、ビデオデータを提示するように構成され得る。図示のように、いくつかの例では、論理回路構成47は処理ユニット46を介して実装され得る。処理ユニット46は、特定用途向け集積回路(ASIC)論理、グラフィックスプロセッサ、汎用プロセッサなどを含んでよい。ビデオコーディングシステム40はまた、同様に特定用途向け集積回路(ASIC)論理、グラフィックスプロセッサ、汎用プロセッサなどを含むことがある、随意のプロセッサ43を含んでよい。いくつかの例では、論理回路構成47は、ハードウェア、ビデオコーディング専用ハードウェアなどを介して実装されてよく、プロセッサ43は、汎用ソフトウェア、オペレーティングシステムなどを実装してよい。加えて、メモリストア44は、揮発性メモリ(たとえば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)など)または不揮発性メモリ(たとえば、フラッシュメモリなど)などの、任意のタイプのメモリであってよい。非限定的な例では、メモリストア44はキャッシュメモリによって実装され得る。いくつかの例では、論理回路構成47は、(たとえば、画像バッファの実装のために)メモリストア44にアクセスし得る。他の例では、論理回路構成47および/または処理ユニット46は、画像バッファの実装などのためにメモリストア(たとえば、キャッシュなど)を含んでよい。
いくつかの例では、論理回路構成を介して実装されたビデオエンコーダ20は、(たとえば、処理ユニット46またはメモリストア44のいずれかによる))画像バッファおよび(たとえば、処理ユニット46による)グラフィックス処理ユニットを含んでよい。グラフィックス処理ユニットは、画像バッファに通信可能に結合され得る。グラフィックス処理ユニットは、図2に関して説明するような様々なモジュールおよび/または本明細書で説明する任意の他のエンコーダシステムもしくはサブシステムを具現するために、論理回路構成47を介して実装されるようなビデオエンコーダ20を含んでよい。論理回路構成は、本明細書で説明するような様々な動作を実行するように構成され得る。
ビデオデコーダ30は、図3のデコーダ30に関して説明するような様々なモジュールおよび/または本明細書で説明する任意の他のデコーダシステムもしくはサブシステムを具現するために、論理回路構成47を介して実装されるのと同様の方法で実装され得る。いくつかの例では、ビデオデコーダ30は、論理回路構成を介して実装されてよく、(たとえば、処理ユニット420またはメモリストア44のいずれかによる))画像バッファおよび(たとえば、処理ユニット46による)グラフィックス処理ユニットを含んでよい。グラフィックス処理ユニットは、画像バッファに通信可能に結合され得る。グラフィックス処理ユニットは、図3に関して説明するような様々なモジュールおよび/または本明細書で説明する任意の他のデコーダシステムもしくはサブシステムを具現するために、論理回路構成47を介して実装されるようなビデオデコーダ30を含んでよい。
いくつかの例では、ビデオコーディングシステム40のアンテナ42は、ビデオデータの符号化ビットストリームを受信するように構成され得る。説明したように、符号化ビットストリームは、コーディング区分に関連するデータ(たとえば、変換係数もしくは量子化変換係数、(説明するような)随意のインジケータ、および/またはコーディング区分を規定するデータ)などの、本明細書で説明するようにビデオフレームを符号化することに関連するデータ、インジケータ、インデックス値、モード選択データなどを含んでよい。ビデオコーディングシステム40はまた、アンテナ42に結合され符号化ビットストリームを復号するように構成された、ビデオデコーダ30を含んでよい。ビデオフレームを提示するように構成されたディスプレイデバイス45。
説明の便宜上、たとえば、高効率ビデオコーディング(HEVC)、または多用途ビデオコーディング(VVC)の参照ソフトウェア、すなわち、ITU-Tビデオコーディングエキスパートグループ(VCEG)とISO/IECモーションピクチャエキスパートグループ(MPEG)とのビデオコーディング共同研究部会(JCT-VC:Joint Collaboration Team on Video Coding)によって開発された次世代ビデオコーディング規格への参照によって、本発明の実施形態が本明細書で説明される。本発明の実施形態がHEVCまたはVVCに限定されないことを、当業者は理解されよう。
エンコーダおよび符号化方法
図2は、本出願の技法を実施するように構成される例示的なビデオエンコーダ20の概略ブロック図を示す。図2の例では、ビデオエンコーダ20は、入力部201(または入力インターフェース201)、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210および逆変換処理ユニット212、再構成ユニット214、ループフィルタユニット220、復号ピクチャバッファ(DPB:decoded picture buffer)230、モード選択ユニット260、エントロピー符号化ユニット270、ならびに出力部272(または出力インターフェース272)を備える。モード選択ユニット260は、インター予測ユニット244、イントラ予測ユニット254、および区分ユニット262を含んでよい。インター予測ユニット244は、動き推定ユニットおよび動き補償ユニットを含んでよい(図示せず)。図2に示すようなビデオエンコーダ20は、ハイブリッドビデオエンコーダ、またはハイブリッドビデオコーデックによるビデオエンコーダと呼ばれることもある。
残差計算ユニット204、変換処理ユニット206、量子化ユニット208、モード選択ユニット260は、エンコーダ20の順方向信号経路を形成するものと呼ばれることがあり、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタ220、復号ピクチャバッファ(DPB)230、インター予測ユニット244、およびイントラ予測ユニット254は、ビデオエンコーダ20の逆方向信号経路を形成するものと呼ばれることがあり、ビデオエンコーダ20の逆方向信号経路はデコーダの信号経路に相当する(図3の中のビデオデコーダ30を参照)。逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループフィルタ220、復号ピクチャバッファ(DPB)230、インター予測ユニット244、およびイントラ予測ユニット254は、ビデオエンコーダ20の「ビルトインデコーダ」を形成するものとも呼ばれる。
ピクチャおよびピクチャ区分(ピクチャおよびブロック)
エンコーダ20は、ピクチャ17(またはピクチャデータ17)、たとえば、ビデオまたはビデオシーケンスを形成するピクチャのシーケンスのピクチャを、たとえば、入力部201を介して受信するように構成され得る。受信されるピクチャまたはピクチャデータはまた、前処理済みのピクチャ19(または前処理済みのピクチャデータ19)であり得る。簡単のために、以下の説明はピクチャ17を参照する。ピクチャ17は、(特にビデオコーディングでは、同じビデオシーケンス、すなわち、やはり現在ピクチャを備えるビデオシーケンスの、他のピクチャ、たとえば、前に符号化および/または復号されたピクチャから、現在ピクチャを区別するために)現在ピクチャ、またはコーディングされるべきピクチャと呼ばれることもある。
(デジタル)ピクチャは、強度値を有するサンプルの2次元アレイもしくは行列であるか、またはそれと見なされ得る。アレイの中のサンプルは、ピクセル(ピクチャ要素の短い形式)またはペルと呼ばれることもある。アレイまたはピクチャの水平および垂直の方向(すなわち軸)におけるサンプル数は、ピクチャのサイズおよび/または解像度を規定する。色の描写のために、通常、3つの色成分が採用され、すなわち、ピクチャは3つのサンプルアレイを表してよく、またはそれらを含んでよい。RBGフォーマットまたは色空間では、ピクチャは、対応する赤色、緑色、および青色のサンプルアレイを備える。しかしながら、ビデオコーディングでは、各ピクセルは、通常、Y(時々、代わりにLも使用される)によって示されるルミナンス成分、ならびにCbおよびCrによって示される2つのクロミナンス成分を備える、ルミナンスおよびクロミナンスフォーマットまたは色空間、たとえば、YCbCrで表される。ルミナンス(または短いルーマ)成分Yは、輝度または(たとえば、グレースケールピクチャにおけるような)グレーレベル強度を表し、2つのクロミナンス(または短いクロマ)成分CbおよびCrは、色度または色情報成分を表す。したがって、YCbCrフォーマットでのピクチャは、ルミナンスサンプル値(Y)のルミナンスサンプルアレイ、およびクロミナンス値(CbおよびCr)の2つのクロミナンスサンプルアレイを備える。RGBフォーマットでのピクチャはYCbCrフォーマットに変換(convert)または変換(transform)されてよく、逆も同様であり、そのプロセスは色変換(color transformation)または色変換(color conversion)とも呼ばれる。ピクチャがモノクロである場合、ピクチャはルミナンスサンプルアレイしか備えなくてよい。したがって、ピクチャは、たとえば、モノクロフォーマットでのルーマサンプルのアレイ、または4:2:0、4:2:2、および4:4:4カラーフォーマットでのルーマサンプルのアレイおよびクロマサンプルの2つの対応するアレイであってよい。
ビデオエンコーダ20の実施形態は、ピクチャ17を複数の(通常はオーバーラップしない)ピクチャブロック203に区分するように構成されたピクチャ区分ユニット(図2に示さず)を備えてよい。これらのブロックは、ルートブロック、マクロブロック(H.264/AVC)、またはコーディングツリーブロック(CTB:coding tree block)もしくはコーディングツリーユニット(CTU:coding tree unit)(H.265/HEVCおよびVVC)と呼ばれることもある。ピクチャ区分ユニットは、ビデオシーケンスのすべてのピクチャ、およびブロックサイズを規定する対応するグリッドに対して、同じブロックサイズを使用するか、あるいはピクチャまたはピクチャのサブセットもしくはグループの間でブロックサイズを変更し各ピクチャを対応するブロックに区分するように構成され得る。
さらなる実施形態では、ビデオエンコーダは、ピクチャ17のブロック203、たとえば、ピクチャ17を形成する1つの、いくつかの、またはすべてのブロックを、直接受信するように構成され得る。ピクチャブロック203は、現在ピクチャブロック、またはコーディングされるべきピクチャブロックと呼ばれることもある。
ピクチャ17のように、ピクチャブロック203は再び、強度値(サンプル値)を有するサンプルの、ただしピクチャ17よりも小さい寸法の2次元アレイまたは行列であるか、またはそれと見なされ得る。言い換えれば、ブロック203は、たとえば、1つのサンプルアレイ(たとえば、モノクロピクチャ17の場合にはルーマアレイ、またはカラーピクチャの場合にはルーマもしくはクロマアレイ)、または3つのサンプルアレイ(たとえば、カラーピクチャ17の場合にはルーマおよび2つのクロマアレイ)、あるいは適用されるカラーフォーマットに応じて任意の他の個数および/または種類のアレイを備えてよい。ブロック203の水平および垂直の方向(すなわち軸)におけるサンプル数は、ブロック203のサイズを規定する。したがって、ブロックは、たとえば、M×N(M列×N行)アレイのサンプルまたはM×Nアレイの変換係数であってよい。
図2に示すようなビデオエンコーダ20の実施形態は、ピクチャ17をブロック単位で符号化するように構成されてよく、たとえば、符号化および予測がブロック203ごとに実行される。
残差計算
残差計算ユニット204は、たとえば、ピクチャブロック203のサンプル値から予測ブロック265のサンプル値をサンプル単位で(ピクセル単位で)減算することによって、ピクチャブロック203および予測ブロック265(予測ブロック265についてのさらなる詳細は後で提供される)に基づいて残差ブロック205(残差205とも呼ばれる)を計算して、サンプル領域における残差ブロック205を取得するように構成され得る。
変換
変換処理ユニット206は、残差ブロック205のサンプル値に対して変換、たとえば、離散コサイン変換(DCT)または離散サイン変換(DST)を適用して、変換領域における変換係数207を取得するように構成され得る。変換係数207は変換残差係数と呼ばれることもあり、変換領域における残差ブロック205を表す。
変換処理ユニット206は、H.265/HEVCに対して指定された変換などのDCT/DSTの整数近似を適用するように構成され得る。直交DCT変換と比較して、そのような整数近似は、通常、いくつかの係数によってスケーリングされる。順変換および逆変換によって処理される残差ブロックのノルムを維持するために、変換プロセスの一部として追加のスケーリング係数が適用される。スケーリング係数は、通常、シフト演算にとってスケーリング係数が2のべき乗であること、変換係数のビット深度、確度と実装コストとの間トレードオフなどのようないくつかの制約に基づいて選ばれる。特定のスケーリング係数が、たとえば、逆変換処理ユニット212による、たとえば、逆変換(および、たとえば、ビデオデコーダ30における逆変換処理ユニット312による、対応する逆変換)に対して指定され、エンコーダ20における、たとえば、変換処理ユニット206による、順変換に対する対応するスケーリング係数が、それに応じて指定され得る。
ビデオエンコーダ20の実施形態(それぞれ、変換処理ユニット206)は、たとえば、ビデオデコーダ30が復号のために変換パラメータを受信および使用し得るように、変換パラメータ、たとえば、直接、またはエントロピー符号化ユニット270を介して符号化もしくは圧縮された、たとえば、1つまたは複数の変換のタイプを出力するように構成され得る。
量子化
量子化ユニット208は、たとえば、スカラー量子化またはベクトル量子化を適用することによって、変換係数207を量子化して量子化係数209を取得するように構成され得る。量子化係数209は、量子化変換係数209または量子化残差係数209と呼ばれることもある。
量子化プロセスは、変換係数207の一部または全部に関連するビット深度を低減し得る。たとえば、nビットの変換係数は、量子化の間にmビットの変換係数に切り捨てられてよく、ただし、nはmよりも大きい。量子化の程度は、量子化パラメータ(QP:quantization parameter)を調整することによって修正され得る。たとえば、スカラー量子化の場合、より細かいかまたはより粗い量子化を達成するために、異なるスケーリングが適用されてよい。より小さい量子化ステップサイズは、より細かい量子化に対応し、より大きい量子化ステップサイズは、より粗い量子化に対応する。適用可能な量子化ステップサイズは、量子化パラメータ(QP)によって示されてよい。量子化パラメータは、たとえば、適用可能な量子化ステップサイズの既定のセットへのインデックスであってよい。たとえば、小さい量子化パラメータが細かい量子化(小さい量子化ステップサイズ)に対応してよく、大きい量子化パラメータが粗い量子化(大きい量子化ステップサイズ)に対応してよく、またはその逆である。量子化は量子化ステップサイズによる除算を含んでよく、たとえば、逆量子化ユニット210による、対応するかつ/または逆の逆量子化は、量子化ステップサイズによる乗算を含んでよい。いくつかの規格、たとえば、HEVCによる実施形態は、量子化ステップサイズを決定するために量子化パラメータを使用するように構成され得る。概して、量子化ステップサイズは、除算を含む式の固定小数点近似を使用して、量子化パラメータに基づいて計算され得る。量子化ステップサイズおよび量子化パラメータに対する式の固定小数点近似において使用されるスケーリングにより修正されることがある残差ブロックのノルムを復元するために、量子化および逆量子化に対して追加のスケーリング係数が導入されてよい。例示的な一実装では、逆変換および逆量子化のスケーリングは組み合わせられることがある。代替として、カスタマイズされた量子化テーブルが使用されてよく、たとえば、ビットストリームの中で、エンコーダからデコーダにシグナリングされてよい。量子化は不可逆的な演算であり、増大する量子化ステップサイズとともに損失が増大する。
ビデオエンコーダ20の実施形態(それぞれ、量子化ユニット208)は、たとえば、ビデオデコーダ30が復号のために量子化パラメータを受信および適用し得るように、たとえば、直接、またはエントロピー符号化ユニット270を介して符号化された、量子化パラメータ(QP)を出力するように構成され得る。
逆量子化
逆量子化ユニット210は、たとえば、量子化ユニット208と同じ量子化ステップサイズに基づいて、またはそれを使用して、量子化ユニット208によって適用された量子化方式の逆を適用することによって、量子化係数に対して量子化ユニット208の逆量子化を適用して逆量子化係数211を取得するように構成される。逆量子化係数211は逆量子化残差係数211と呼ばれることもあり、- 通常は量子化による損失に起因して変換係数と同一でないが- 変換係数207に対応する。
逆変換
逆変換処理ユニット212は、変換処理ユニット206によって適用された変換の逆変換、たとえば、逆離散コサイン変換(DCT)もしくは逆離散サイン変換(DST)または他の逆変換を適用して、サンプル領域における再構成された残差ブロック213(または対応する逆量子化係数213)を取得するように構成される。再構成された残差ブロック213は、変換ブロック213と呼ばれることもある。
再構成
再構成ユニット214(たとえば、加算機構(adder)または加算器(summer)214)は、たとえば、再構成された残差ブロック213のサンプル値と予測ブロック265のサンプル値とを- サンプル単位で、加算することによって、変換ブロック213(すなわち、再構成された残差ブロック213)を予測ブロック265に加算して、サンプル領域における再構成ブロック215を取得するように構成される。
フィルタ処理
ループフィルタユニット220(または短い「ループフィルタ」220)は、再構成ブロック215をフィルタ処理してフィルタ処理済みのブロック221を取得するか、または一般に、再構成されたサンプルをフィルタ処理してフィルタ処理済みのサンプルを取得するように構成される。ループフィルタユニットは、たとえば、ピクセル遷移を平滑化するかまたは別の方法でビデオ品質を改善するように構成される。ループフィルタユニット220は、デブロッキングフィルタ、サンプル適応オフセット(SAO:sample-adaptive offset)フィルタ、または1つもしくは複数の他のフィルタ、たとえば、双方向フィルタ、適応ループフィルタ(ALF:adaptive loop filter)、シャープ化フィルタ、平滑化フィルタ、もしくは協調フィルタ、またはそれらの任意の組合せなどの、1つまたは複数のループフィルタを備えてよい。ループフィルタユニット220はループ内フィルタであるものとして図2に示されるが、他の構成では、ループフィルタユニット220はループ後フィルタとして実装されてよい。フィルタ処理済みのブロック221は、フィルタ処理済みの再構成ブロック221と呼ばれることもある。復号ピクチャバッファ230は、ループフィルタユニット220が、再構成されたコーディングブロックに対してフィルタ処理動作を実行した後、再構成されたコーディングブロックを記憶し得る。
ビデオエンコーダ20の実施形態(それぞれ、ループフィルタユニット220)は、たとえば、デコーダ30が復号のために同じループフィルタパラメータまたはそれぞれのループフィルタを受信および適用し得るように、たとえば、直接、またはエントロピー符号化ユニット270を介して符号化された、(サンプル適応オフセット情報などの)ループフィルタパラメータを出力するように構成され得る。
復号ピクチャバッファ
復号ピクチャバッファ(DPB)230は、ビデオエンコーダ20によってビデオデータを符号化するための、参照ピクチャ、または一般に、参照ピクチャデータを記憶する、メモリであってよい。DPB230は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ(DRAM)などの、様々なメモリデバイスのうちのいずれかによって形成され得る。復号ピクチャバッファ(DPB)230は、1つまたは複数のフィルタ処理済みのブロック221を記憶するように構成され得る。復号ピクチャバッファ230は、以前にフィルタ処理された他のブロック、たとえば、同じ現在ピクチャの、または異なるピクチャ、たとえば、以前に再構成されたピクチャの、以前に再構成およびフィルタ処理されたブロック221を記憶するようにさらに構成されてよく、たとえば、インター予測のために、完全な、以前に再構成された、すなわち、復号されたピクチャ(ならびに対応する参照ブロックおよびサンプル)、および/または部分的に再構成された現在ピクチャ(ならびに対応する参照ブロックおよびサンプル)を提供し得る。復号ピクチャバッファ(DPB)230はまた、たとえば、再構成ブロック215がループフィルタユニット220によってフィルタ処理されていない場合、1つもしくは複数のフィルタ処理されていない再構成ブロック215、または一般に、フィルタ処理されていない再構成サンプルを、あるいは再構成ブロックまたはサンプルの任意の他のさらに処理されたバージョンを、記憶するように構成され得る。
モード選択(区分および予測)
モード選択ユニット260は、区分ユニット262、インター予測ユニット244、およびイントラ予測ユニット254を備え、元のピクチャデータ、たとえば、元のブロック203(現在ピクチャ17の現在ブロック203)、および再構成されたピクチャデータ、たとえば、同じ(現在)ピクチャの、かつ/または以前に復号された1つまたは複数のピクチャからの、たとえば、復号ピクチャバッファ230または他のバッファ(たとえば、ラインバッファ、図示せず)からの、フィルタ処理済みのかつ/またはフィルタ処理されていない再構成されたサンプルまたはブロックを受信または取得するように構成される。再構成されたピクチャデータは、予測ブロック265または予測子265を取得するために、予測、たとえば、インター予測またはイントラ予測のための、参照ピクチャデータとして使用される。
モード選択ユニット260は、現在ブロック予測モードに対する区分(区分がないことを含めて)、および予測モード(たとえば、イントラ予測モードまたはインター予測モード)を決定または選択し、対応する予測ブロック265を生成するように構成されてよく、予測ブロック265は、残差ブロック205の計算のために、かつ再構成ブロック215の再構成のために使用される。
モード選択ユニット260の実施形態は、最良の整合もしくは言い換えれば最小残差(最小残差は、送信または記憶のためのより良好な圧縮を意味する)、または最小シグナリングオーバーヘッド(最小シグナリングオーバーヘッドは、送信または記憶のためのより良好な圧縮を意味する)を提供するか、あるいはその両方を考慮するかまたは均衡させる、区分および予測モードを、(たとえば、モード選択ユニット260によってサポートされるか、またはモード選択ユニット260にとって利用可能なものから)選択するように構成され得る。モード選択ユニット260は、レートひずみ最適化(RDO:rate distortion optimization)に基づいて区分および予測モードを決定する、すなわち、最小レートひずみをもたらす予測モードを選択するように構成され得る。このコンテキストにおける「最良の」、「最小の」、「最適な」などのような用語は、必ずしも全体的な「最良の」、「最小の」、「最適な」などを指すとは限らず、潜在的に「準最適な選択」につながるが複雑性および処理時間を低減するしきい値または他の制約を上回るかまたは下回る値のような終了基準または選択基準の達成を指すこともある。
言い換えれば、区分ユニット262は、たとえば、4分木区分(QT:quad-tree-partitioning)、バイナリ区分(BT:binary partitioning)、もしくは3分木区分(TT:triple-tree-partitioning)、またはそれらの任意の組合せを反復的に使用して、ブロック203をもっと小さいブロック区分または(再びブロックを形成する)サブブロックに区分し、たとえば、ブロック区分またはサブブロックの各々に対して予測を実行するように構成されてよく、モード選択は、区分されるブロック203の木構造の選択を備え、予測モードは、ブロック区分またはサブブロックの各々に適用される。
以下では、例示的なビデオエンコーダ20によって実行される(たとえば、区分ユニット260による)区分および(インター予測ユニット244およびイントラ予測ユニット254による)予測処理が、より詳細に説明される。
区分
区分ユニット262は、現在ブロック203をもっと小さい区分、たとえば、正方形または長方形サイズのより小さいブロックに区分(すなわち分割)し得る。より小さいこれらのブロック(サブブロックと呼ばれることもある)は、なお一層小さい区分にさらに区分され得る。このことは、木区分または階層的木区分とも呼ばれ、たとえば、ルートツリーレベル0(階層レベル0、深度0)における、ルートブロックは、再帰的に区分されてよく、たとえば、次に低いツリーレベルの2つ以上のブロック、たとえば、ツリーレベル1(階層レベル1、深度1)におけるノードに、区分されてよく、これらのブロックは再び、たとえば、終了基準が達成され、たとえば、最大ツリー深度または最小ブロックサイズに達するために、区分が終了するまで、次に低いレベル、たとえば、ツリーレベル2(階層レベル2、深度2)の2つ以上のブロックに区分されてよいなどである。それ以上区分されないブロックは、ツリーのリーフブロックまたはリーフノードとも呼ばれる。2つの区分への区分を使用するツリーは2分木(BT:binary-tree)と呼ばれ、3つの区分への区分を使用するツリーは3元木(TT:ternary-tree)と呼ばれ、4つの区分への区分を使用するツリーは4分木(QT:quad-tree)と呼ばれる。
前に述べたように、本明細書で使用する「ブロック」という用語は、ピクチャの一部分、特に正方形または長方形の部分であってよい。たとえば、HEVCおよびVVCを参照すると、ブロックは、コーディングツリーユニット(CTU)、コーディングユニット(CU)、予測ユニット(PU)、および変換ユニット(TU)、ならびに/または対応するブロック、たとえば、コーディングツリーブロック(CTB)、コーディングブロック(CB:coding block)、変換ブロック(TB:transform block)、または予測ブロック(PB:prediction block)であってよく、またはそれらに相当し得る。
たとえば、コーディングツリーユニット(CTU)は、3つのサンプルアレイを有するピクチャの、ルーマサンプルのCTB、クロマサンプルの2つの対応するCTB、またはモノクロピクチャもしくは3つの別個の色平面を使用してコーディングされるピクチャのサンプルのCTB、およびサンプルをコーディングするために使用されるシンタックス構造であってよく、またはそれらを備えてよい。それに対応して、コーディングツリーブロック(CTB)は、CTBへの成分の分割が区分であるような、Nのいくつかの値に対してN×Nブロックのサンプルであってよい。コーディングユニット(CU)は、3つのサンプルアレイを有するピクチャの、ルーマサンプルのコーディングブロック、クロマサンプルの2つの対応するコーディングブロック、またはモノクロピクチャもしくは3つの別個の色平面を使用してコーディングされるピクチャのサンプルのコーディングブロック、およびサンプルをコーディングするために使用されるシンタックス構造であってよく、またはそれらを備えてよい。それに対応して、コーディングブロック(CB)は、コーディングブロックへのCTBの分割が区分であるような、MおよびNのいくつかの値に対してM×Nブロックのサンプルであってよい。
たとえば、HEVCによる、実施形態では、コーディングツリーユニット(CTU)は、コーディングツリーとして示される4分木構造を使用することによってCUに分割され得る。ピクチャエリアをインターピクチャ(時間)予測を使用してコーディングすべきかそれともイントラピクチャ(空間)予測を使用してコーディングすべきかの決定は、CUレベルで行われる。各CUは、PU分割タイプに従って1つ、2つ、または4つのPUにさらに分割され得る。1つのPUの内側で、同じ予測プロセスが適用され、関連する情報がPUごとにデコーダへ送信される。PU分割タイプに基づいて予測プロセスを適用することによって残差ブロックを取得した後、CUは、CU用のコーディングツリーと類似の、別の4分木構造に従って変換ユニット(TU)に区分され得る。
たとえば、多用途ビデオコーディング(VVC)と呼ばれる現在開発中の最新のビデオコーディング規格による、実施形態では、コーディングブロックを区分するために4分木および2分木(QTBT:Quad-tree and binary tree)区分が使用される。QTBTブロック構造では、CUは、正方形または長方形のいずれかの形状を有することができる。たとえば、コーディングツリーユニット(CTU)は最初に4分木構造によって区分される。4分木リーフノードは、2分木または3元(または3分)木構造によってさらに区分される。区分ツリーリーフノードはコーディングユニット(CU)と呼ばれ、そのセグメント化は、それ以上の区分を伴わずに予測処理および変換処理のために使用される。このことは、CU、PU、およびTUがQTBTコーディングブロック構造の中で同じブロックサイズを有することを意味する。並行して、複数の区分、たとえば、3分木区分もQTBTブロック構造と一緒に使用されることが提案された。
一例では、ビデオエンコーダ20のモード選択ユニット260は、本明細書で説明する区分技法の任意の組合せを実行するように構成され得る。
上記で説明したように、ビデオエンコーダ20は、(事前決定された)予測モードのセットから、最良のまたは最適な予測モードを決定または選択するように構成される。予測モードのセットは、たとえば、イントラ予測モードおよび/またはインター予測モードを備えてよい。
イントラ予測
イントラ予測モードのセットは、35個の異なるイントラ予測モード、たとえば、DC(または平均)モードおよび平面モードのような非方向性モード、または、たとえば、HEVCにおいて規定されるような、方向性モードを備えてよく、あるいは67個の異なるイントラ予測モード、たとえば、DC(または平均)モードおよび平面モードのような非方向性モード、または、たとえば、VVCに対して規定されるような、方向性モードを備えてよい。
イントラ予測ユニット254は、同じ現在ピクチャの隣接ブロックの再構成されたサンプルを使用して、イントラ予測モードのセットのイントラ予測モードに従ってイントラ予測ブロック265を生成するように構成される。
イントラ予測ユニット254(または一般に、モード選択ユニット260)は、たとえば、ビデオデコーダ30が復号のために予測パラメータを受信および使用し得るように、符号化ピクチャデータ21の中に含めるためのシンタックス要素266の形態でイントラ予測パラメータ(または一般に、ブロック用の選択されたイントラ予測モードを示す情報)をエントロピー符号化ユニット270に出力するようにさらに構成される。
インター予測
インター予測モードのセット(または可能なインター予測モード)は、利用可能な参照ピクチャ(すなわち、たとえば、DBP230の中に記憶された、以前の少なくとも部分的に復号されたピクチャ)および他のインター予測パラメータ、たとえば、最良に整合する参照ブロックを求めて探索するために、参照ピクチャ全体が使用されるのか、それとも参照ピクチャの部分、たとえば、現在ブロックのエリアの周囲の探索ウィンドウエリアしか使用されないのか、ならびに/あるいは、たとえば、ピクセル補間、たとえば、ハーフペル/セミペル補間および/またはクォータペル補間が適用されるか否かに依存する。
上記の予測モードに追加して、スキップモードおよび/またはダイレクトモードが適用され得る。
インター予測ユニット244は、動き推定(ME:motion estimation)ユニットおよび動き補償(MC:motion compensation)ユニットを含んでよい(両方とも図2に示さず)。動き推定ユニットは、動き推定のために、ピクチャブロック203(現在ピクチャ17の現在ピクチャブロック203)および復号ピクチャ231、あるいは以前に再構成された少なくとも1つまたは複数のブロック、たとえば、以前に復号された1つまたは複数の他の/異なるピクチャ231の再構成ブロックを、受信または取得するように構成され得る。たとえば、ビデオシーケンスは、現在ピクチャおよび以前に復号されたピクチャ231を備えてよく、または言い換えれば、現在ピクチャおよび以前に復号されたピクチャ231は、ビデオシーケンスを形成するピクチャのシーケンスの一部であってよく、またはそれらを形成してよい。
エンコーダ20は、たとえば、複数の他のピクチャのうちの同じかまたは異なるピクチャの複数の参照ブロックから参照ブロックを選択し、参照ピクチャ(または参照ピクチャインデックス)、および/または参照ブロックの位置(x、y座標)と現在ブロックの位置との間のオフセット(空間オフセット)を、インター予測パラメータとして動き推定ユニットに提供するように構成され得る。このオフセットは動きベクトル(MV:motion vector)とも呼ばれる。
動き補償ユニットは、インター予測パラメータを取得、たとえば受信し、インター予測パラメータに基づいて、またはそれを使用して、インター予測を実行してインター予測ブロック265を取得するように構成される。動き補償ユニットによって実行される動き補償は、サブピクセル精度への補間をできる限り実行して、動き推定によって決定される動き/ブロックベクトルに基づいて予測ブロックをフェッチまたは生成することを伴ってよい。補間フィルタ処理は、知られているピクセルサンプルから追加のピクセルサンプルを生成してよく、したがって、ピクチャブロックをコーディングするために使用され得る候補予測ブロックの数を潜在的に増大させる。現在ピクチャブロックのPUに対する動きベクトルを受信すると、動き補償ユニットは、参照ピクチャリストのうちの1つの中で動きベクトルが指し示す先の予測ブロックの位置を特定し得る。
動き補償ユニットはまた、ビデオスライスのピクチャブロックを復号する際のビデオデコーダ30による使用のために、ブロックおよびビデオスライスに関連するシンタックス要素を生成し得る。
エントロピーコーディング
エントロピー符号化ユニット270は、量子化係数209、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、および/または他のシンタックス要素に対して、たとえば、エントロピー符号化アルゴリズムまたはエントロピー符号化方式(たとえば、可変長コーディング(VLC)方式、コンテキスト適応型VLC方式(CAVLC)、算術コーディング方式、2値化、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率区間区分エントロピー(PIPE)コーディング、または別のエントロピー符号化方法またはエントロピー符号化技法)を適用するかまたはバイパス(圧縮なし)して符号化ピクチャデータ21を取得するように構成され、符号化ピクチャデータ21は、たとえば、ビデオデコーダ30が復号のためにパラメータを受信および使用し得るように、たとえば、符号化ビットストリーム21の形式で、出力部272を介して出力され得る。符号化ビットストリーム21は、ビデオデコーダ30へ送信され得るか、またはビデオデコーダ30によって後で送信もしくは取出しできるようにメモリの中に記憶され得る。
ビデオストリームを符号化するためにビデオエンコーダ20の他の構造的な変形形態が使用され得る。たとえば、非変換ベースのエンコーダ20は、いくつかのブロックまたはフレームに対して、変換処理ユニット206を用いずに残差信号を直接量子化することができる。別の実装では、エンコーダ20は、量子化ユニット208と逆量子化ユニット210とを単一のユニットの中に組み合わせることができる。
デコーダおよび復号方法
図3は、この本出願の技法を実施するように構成されるビデオデコーダ30の一例を示す。ビデオデコーダ30は、たとえば、エンコーダ20によって符号化された、符号化ピクチャデータ21(たとえば、符号化ビットストリーム21)を受信して、復号ピクチャ331を取得するように構成される。符号化ピクチャデータまたはビットストリームは、符号化ピクチャデータ、たとえば、符号化されたビデオスライスのピクチャブロックを表すデータ、および関連するシンタックス要素を復号するための、情報を備える。
図3の例では、デコーダ30は、エントロピー復号ユニット304、逆量子化ユニット310、逆変換処理ユニット312、再構成ユニット314(たとえば、加算器314)、ループフィルタ320、復号ピクチャバッファ(DBP)330、インター予測ユニット344、およびイントラ予測ユニット354を備える。インター予測ユニット344は、動き補償ユニットであってよく、またはそれを含んでもよい。ビデオデコーダ30は、いくつかの例では、概して図2からのビデオエンコーダ100に関して説明した符号化パスと相反の、復号パスを実行し得る。
エンコーダ20に関して説明したように、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループフィルタ220、復号ピクチャバッファ(DPB)230、インター予測ユニット344、およびイントラ予測ユニット354は、ビデオエンコーダ20の「ビルトインデコーダ」を形成するものとも呼ばれる。したがって、逆量子化ユニット310は逆量子化ユニット110と機能が同一であってよく、逆変換処理ユニット312は逆変換処理ユニット212と機能が同一であってよく、再構成ユニット314は再構成ユニット214と機能が同一であってよく、ループフィルタ320はループフィルタ220と機能が同一であってよく、復号ピクチャバッファ330は復号ピクチャバッファ230と機能が同一であってよい。したがって、ビデオ20エンコーダのそれぞれのユニットおよび機能に対して提供された説明は、それに対応してビデオデコーダ30のそれぞれのユニットおよび機能に適用される。
エントロピー復号
エントロピー復号ユニット304は、ビットストリーム21(または一般には、符号化ピクチャデータ21)を構文解析し、たとえば、符号化ピクチャデータ21へのエントロピー復号を実行して、たとえば、量子化係数309および/または復号されたコーディングパラメータ(図3に示さず)、たとえば、インター予測パラメータ(たとえば、参照ピクチャインデックスおよび動きベクトル)、イントラ予測パラメータ(たとえば、イントラ予測モードまたはインデックス)、変換パラメータ、量子化パラメータ、ループフィルタパラメータ、および/または他のシンタックス要素のうちのいずれかまたはすべてを取得するように構成される。エントロピー復号ユニット304は、エンコーダ20のエントロピー符号化ユニット270に関して説明したような符号化方式に対応する復号アルゴリズムまたは復号方式を適用するように構成され得る。エントロピー復号ユニット304は、インター予測パラメータ、イントラ予測パラメータ、および/または他のシンタックス要素をモード選択ユニット360に、かつ他のパラメータをデコーダ30の他のユニットに提供するようにさらに構成され得る。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
逆量子化
逆量子化ユニット310は、(たとえば、エントロピー復号ユニット304によって、たとえば、構文解析および/または復号することによって)量子化パラメータ(QP)(または一般に、逆量子化に関係する情報)および量子化係数を符号化ピクチャデータ21から受信し、量子化パラメータに基づいて、復号された量子化係数309に対して逆量子化を適用して、変換係数311と呼ばれることもある逆量子化係数311を取得するように構成され得る。逆量子化プロセスは、量子化の程度、および同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライスの中のビデオブロックごとにビデオエンコーダ20によって決定された量子化パラメータの使用を含んでよい。
逆変換
逆変換処理ユニット312は、サンプル領域における再構成された残差ブロック213を取得するために、変換係数311とも呼ばれる逆量子化係数311を受信し、逆量子化係数311に変換を適用するように構成され得る。再構成された残差ブロック213は、変換ブロック313と呼ばれることもある。変換は、逆変換、たとえば、逆DCT変換、逆DST変換、逆整数変換、または概念的に類似の逆変換プロセスであってよい。逆変換処理ユニット312は、(たとえば、エントロピー復号ユニット304によって、たとえば、構文解析および/または復号することによって)変換パラメータまたは対応する情報を符号化ピクチャデータ21から受信して、逆量子化係数311に適用されるべき変換を決定するようにさらに構成され得る。
再構成
再構成ユニット314(たとえば、加算機構(adder)または加算器(summer)314)は、たとえば、再構成された残差ブロック313のサンプル値と予測ブロック365のサンプル値とを加算することによって、再構成された残差ブロック313を予測ブロック365に加算して、サンプル領域における再構成ブロック315を取得するように構成され得る。
フィルタ処理
ループフィルタユニット320(コーディングループの中またはコーディングループの後のいずれか)は、たとえば、ピクセル遷移を平滑化するかまたは別の方法でビデオ品質を改善するために、再構成ブロック315をフィルタ処理してフィルタ処理済みのブロック321を取得するように構成される。ループフィルタユニット320は、デブロッキングフィルタ、サンプル適応オフセット(SAO)フィルタ、または1つもしくは複数の他のフィルタ、たとえば、双方向フィルタ、適応ループフィルタ(ALF)、シャープ化フィルタ、平滑化フィルタ、もしくは協調フィルタ、またはそれらの任意の組合せなどの、1つまたは複数のループフィルタを備えてよい。ループフィルタユニット320はループ内フィルタであるものとして図3に示されるが、他の構成では、ループフィルタユニット320はループ後フィルタとして実装されてよい。
復号ピクチャバッファ
ピクチャの復号ビデオブロック321は、次いで、復号ピクチャバッファ330の中に記憶され、復号ピクチャバッファ330は、他のピクチャに対する後続の動き補償のための、かつ/または、それぞれ、表示を出力するための、参照ピクチャとして復号ピクチャ331を記憶する。
デコーダ30は、ユーザへの提示または視聴のために、たとえば、出力部312を介して、復号ピクチャ311を出力するように構成される。
予測
インター予測ユニット344は、インター予測ユニット244と(具体的には、動き補償ユニットと)同一であってよく、イントラ予測ユニット354は、インター予測ユニット254と機能が同一であってよく、区分および/もしくは予測パラメータ、または(たとえば、エントロピー復号ユニット304によって、たとえば、構文解析および/または復号することによって)符号化ピクチャデータ21から受信されたそれぞれの情報に基づいて、分割または区分の決定および予測を実行する。モード選択ユニット360は、再構成されたピクチャ、ブロック、またはそれぞれのサンプル(フィルタ処理済みのまたはフィルタ処理されていない)に基づいて、ブロックごとに予測(イントラ予測またはインター予測)を実行して予測ブロック365を取得するように構成され得る。
ビデオスライスがイントラコーディングされた(I)スライスとしてコーディングされるとき、モード選択ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モード、および現在ピクチャの以前に復号されたブロックからのデータに基づいて、現在ビデオスライスのピクチャブロックに対する予測ブロック365を生成するように構成される。ビデオピクチャがインターコーディングされた(すなわち、BまたはP)スライスとしてコーディングされるとき、モード選択ユニット360のインター予測ユニット344(たとえば、動き補償ユニット)は、エントロピー復号ユニット304から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックに対する予測ブロック365を作り出すように構成される。インター予測の場合、予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから作り出されてよい。ビデオデコーダ30は、DPB330の中に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して参照フレームリスト、すなわち、リスト0およびリスト1を構成し得る。
モード選択ユニット360は、動きベクトルおよび他のシンタックス要素を構文解析することによって現在ビデオスライスのビデオブロックに対する予測情報を決定し、復号中の現在ビデオブロックに対する予測ブロックを作り出すために予測情報を使用するように構成される。たとえば、モード選択ユニット360は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラ予測またはインター予測)、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)、スライス用の参照ピクチャリストのうちの1つまたは複数に対する構成情報、スライスのインター符号化ビデオブロックごとの動きベクトル、スライスのインター符号化されたビデオブロックごとのインター予測ステータス、および現在ビデオスライスの中のビデオブロックを復号するための他の情報を決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
符号化ピクチャデータ21を復号するためにビデオデコーダ30の他の変形形態が使用され得る。たとえば、デコーダ30は、ループフィルタ処理ユニット320を用いずに出力ビデオストリームを作り出すことができる。たとえば、非変換ベースのデコーダ30は、いくつかのブロックまたはフレームに対して、逆変換処理ユニット312を用いずに残差信号を直接逆量子化することができる。別の実装では、ビデオデコーダ30は、逆量子化ユニット310と逆変換処理ユニット312とを単一のユニットの中に組み合わせることができる。
図4は、本開示の一実施形態によるビデオコーディングデバイス400の概略図である。ビデオコーディングデバイス400は、本明細書で説明するような開示する実施形態を実施するのに適している。一実施形態では、ビデオコーディングデバイス400は、図1Aのビデオデコーダ30などのデコーダまたは図1Aのビデオエンコーダ20などのエンコーダであってよい。
ビデオコーディングデバイス400は、データを受信するための入口ポート410(または入力ポート410)および受信機ユニット(Rx)420、データを処理するためのプロセッサ、論理ユニット、または中央処理ユニット(CPU)430、データを送信するための送信機ユニット(Tx)440および出口ポート450(または出力ポート450)、ならびにデータを記憶するためのメモリ460を備える。ビデオコーディングデバイス400はまた、光信号または電気信号の出口または入口のための、入口ポート410、受信機ユニット420、送信機ユニット440、および出口ポート450に結合された、光電気(OE:optical-to-electrical)構成要素および電気光(EO:electrical-to-optical)構成要素を備えてよい。
プロセッサ430は、ハードウェアおよびソフトウェアによって実装される。プロセッサ430は、1つまたは複数のCPUチップ、コア(たとえば、マルチコアプロセッサとして)、FPGA、ASIC、およびDSPとして実装され得る。プロセッサ430は、入口ポート410、受信機ユニット420、送信機ユニット440、出口ポート450、およびメモリ460と通信している。プロセッサ430は、コーディングモジュール470を備える。コーディングモジュール470は、上記で説明した開示する実施形態を実施する。たとえば、コーディングモジュール470は、様々なコーディング動作を実施し、処理し、準備し、または提供する。したがって、コーディングモジュール470を含めることは、ビデオコーディングデバイス400の機能性に大幅な改善をもたらし、異なる状態へのビデオコーディングデバイス400の変換に影響を及ぼす。代替として、コーディングモジュール470は、メモリ460の中に記憶されプロセッサ430によって実行される、命令として実装される。
メモリ460は、1つまたは複数のディスク、テープドライブ、およびソリッドステートドライブを備えてよく、実行のためにそのようなプログラムが選択されるときにプログラムを記憶するための、かつプログラム実行中に読み取られる命令およびデータを記憶するための、オーバーフローデータ記憶デバイスとして使用され得る。メモリ460は、たとえば、揮発性および/または不揮発性であってよく、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、3値連想メモリ(TCAM:ternary content-addressable memory)、および/またはスタティックランダムアクセスメモリ(SRAM)であってよい。
図5は、例示的な実施形態による、図1からのソースデバイス12および宛先デバイス14のうちの一方または両方として使用され得る装置500の簡略化されたブロック図である。装置500は、上記で説明したこの本出願の技法を実施することができる。装置500は、複数のコンピューティングデバイスを含むコンピューティングシステムの形態、または単一のコンピューティングデバイス、たとえば、モバイルフォン、タブレットコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、デスクトップコンピュータなどの形態をなすことができる。
装置500の中のプロセッサ502は中央処理ユニットであり得る。代替として、プロセッサ502は、現存するかまたは今後開発される、情報を操作または処理することが可能な任意の他のタイプのデバイスまたは複数のデバイスであり得る。開示する実装は図示のような単一のプロセッサ、たとえば、プロセッサ502を用いて実践され得るが、速度および効率における利点は2つ以上のプロセッサを使用して達成され得る。
装置500の中のメモリ504は、一実装では、読取り専用メモリ(ROM)デバイスまたはランダムアクセスメモリ(RAM)デバイスであり得る。任意の他の好適なタイプの記憶デバイスがメモリ504として使用され得る。メモリ504は、バス512を使用してプロセッサ502によってアクセスされるコードおよびデータ506を含むことができる。メモリ504は、オペレーティングシステム508およびアプリケーションプログラム510をさらに含むことができ、アプリケーションプログラム510は、ここで説明する方法をプロセッサ502が実行することを可能にする少なくとも1つのプログラムを含む。たとえば、アプリケーションプログラム510は、アプリケーション1~Nを含むことができ、アプリケーション1~Nは、ここで説明する方法を実行するビデオコーディングアプリケーションをさらに含む。装置500はまた、たとえば、モバイルコンピューティングデバイスとともに使用されるメモリカードであり得る、2次ストレージ514の形態で追加のメモリを含むことができる。ビデオ通信セッションは、相当量の情報を含むことがあるので、2次ストレージ514の中に全体的にまたは部分的に記憶され得、処理のために必要に応じてメモリ504の中にロードされ得る。
装置500はまた、ディスプレイ518などの1つまたは複数の出力デバイスを含むことができる。ディスプレイ518は、一例では、ディスプレイを、タッチ入力を感知するように動作可能なタッチセンシティブ要素と組み合わせる、タッチセンシティブディスプレイであってよい。ディスプレイ518は、バス512を介してプロセッサ502に結合され得る。ディスプレイ518に加えて、またはディスプレイ518の代替として、ユーザが装置500をプログラムすることまたは別の方法で使用することを可能にする他の出力デバイスが提供され得る。出力デバイスがディスプレイであるかまたはディスプレイを含むとき、ディスプレイは、液晶ディスプレイ(LCD)、陰極線管(CRT)ディスプレイ、プラズマディスプレイ、または有機LED(OLED)ディスプレイなどの発光ダイオード(LED)ディスプレイによることを含む、様々な方法で実装され得る。
装置500はまた、画像感知デバイス520、たとえば、カメラ、または装置500を操作するユーザの画像などの画像を感知できる、現存するかまたは今後開発される任意の他の画像感知デバイス520を含むことができるか、またはそれと通信していることができる。画像感知デバイス520は、装置500を操作するユーザのほうに向けられるように配置され得る。一例では、画像感知デバイス520の位置および光学軸は、ディスプレイ518に直接隣接するとともにディスプレイ518がそこから見えるエリアを視界が含むように構成され得る。
装置500はまた、音感知デバイス522、たとえば、マイクロフォン、または装置500の近くの音を感知できる、現存するかまたは今後開発される任意の他の音感知デバイスを含むことができるか、またはそれと通信していることができる。音感知デバイス522は、装置500を操作するユーザのほうに向けられるように配置され得、音、たとえば、ユーザが装置500を操作しながらユーザによって作られる音声または他の発話を受けるように構成され得る。
図5は単一のユニットの中に統合されるものとして装置500のプロセッサ502およびメモリ504を示すが、他の構成が利用され得る。プロセッサ502の動作は、直接またはローカルエリアネットワークもしくは他のネットワークを越えて結合され得る複数の機械(各機械がプロセッサのうちの1つまたは複数を有する)にわたって分散され得る。メモリ504は、ネットワークベースのメモリ、または装置500の動作を実行する複数の機械の中のメモリなどの、複数の機械にわたって分散され得る。ここでは単一のバスとして示されるが、装置500のバス512は複数のバスからなり得る。さらに、2次ストレージ514は、装置500の他の構成要素に直接結合され得るか、またはネットワークを介してアクセスされ得、メモリカードなどの単一の統合ユニットもしくは複数のメモリカードなどの複数のユニットを備えることができる。装置500は、そのように多種多様な構成をなして実装され得る。
頭字語の定義および用語集
JEM 共同探求モデル(将来のビデオコーディング探求のためのソフトウェアコードベース)
JVET 共同ビデオエキスパートチーム
LUT ルックアップテーブル
QT 4分木
QTBT 4分木+2分木
RDO レートひずみ最適化
ROM 読取り専用メモリ
VTM VVCテストモデル
VVC 多用途ビデオコーディング、すなわち、JVETによって開発される標準化プロジェクト
CTU/CTB コーディングツリーユニット/コーディングツリーブロック
CU/CB コーディングユニット/コーディングブロック
PU/PB 予測ユニット/予測ブロック
TU/TB 変換ユニット/変換ブロック
HEVC 高効率ビデオコーディング
H.264/AVCおよびHEVCなどのビデオコーディング方式は、ブロックベースのハイブリッドビデオコーディングの好結果の原理に沿って設計される。この原理を使用して、最初にピクチャがブロックに区分され、次いで、イントラピクチャ予測またはインターピクチャ予測を使用することによって各ブロックが予測される。
H.261以来のいくつかのビデオコーディング規格は、「不可逆的ハイブリッドビデオコーデック」のグループに属する(すなわち、サンプル領域における空間予測および時間予測と、変換領域において量子化を適用するための2D変換コーディングとを組み合わせる)。ビデオシーケンスの各ピクチャは、通常、オーバーラップしないブロックのセットに区分され、コーディングは、通常、ブロックレベルで実行される。言い換えれば、エンコーダにおいて、ビデオは、通常、たとえば、空間(イントラピクチャ)予測および時間(インターピクチャ)予測を使用することによって、ブロック(ピクチャブロック)レベルで処理すなわち符号化されて予測ブロックを生成し、現在ブロック(現在処理される/処理されるべきブロック)から予測ブロックを減算して残差ブロックを取得し、残差ブロックを変換するとともに変換領域において残差ブロックを量子化して、送信されるべきデータの量を低減し(圧縮)、デコーダにおいて、エンコーダと比較して逆の処理が、符号化または圧縮されたブロックに部分的に適用されて、描写用の現在ブロックを再構成する。さらに、エンコーダは、その両方が同一の予測(たとえば、イントラ予測およびインター予測)、および/または後続のブロックを処理すなわちコーディングするための再構成を生成するような、デコーダ処理ループを複製する。
本明細書で使用する「ブロック」という用語は、ピクチャまたはフレームの一部分であってよい。説明の便宜上、ITU-Tビデオコーディングエキスパートグループ(VCEG)とISO/IECモーションピクチャエキスパートグループ(MPEG)とのビデオコーディング共同研究部会(JCT-VC)によって開発された、高効率ビデオコーディング(HEVC)、または多用途ビデオコーディング(VVC)の参照ソフトウェアに関して、本発明の実施形態が本明細書で説明される。本発明の実施形態がHEVCまたはVVCに限定されないことを、当業者は理解されよう。それはCU、PU、およびTUを参照し得る。HEVCでは、CTUは、コーディングツリーとして示される4分木構造を使用することによってCUに分割される。ピクチャエリアをインターピクチャ(時間)予測を使用してコーディングすべきかそれともイントラピクチャ(空間)予測を使用してコーディングすべきかの決定は、CUレベルで行われる。各CUは、PU分割タイプに従って1つ、2つ、または4つのPUにさらに分割され得る。1つのPUの内側で、同じ予測プロセスが適用され、関連する情報がPUごとにデコーダへ送信される。PU分割タイプに基づいて予測プロセスを適用することによって残差ブロックを取得した後、CUは、CU用のコーディングツリーと類似の、別の4分木構造に従って変換ユニット(TU)に区分され得る。ビデオ圧縮技術の最も新しい開発では、コーディングブロックを区分するために4分木および2分木(QTBT)区分が使用される。QTBTブロック構造では、CUは、正方形または長方形のいずれかの形状を有することができる。たとえば、コーディングツリーユニット(CTU)は最初に4分木構造によって区分される。4分木リーフノードは、2分木構造によってさらに区分される。2分木リーフノードはコーディングユニット(CU)と呼ばれ、そのセグメント化は、それ以上の区分を伴わずに予測処理および変換処理のために使用される。このことは、CU、PU、およびTUがQTBTコーディングブロック構造の中で同じブロックサイズを有することを意味する。並行して、複合的に区分、たとえば、3分木区分もQTBTブロック構造と一緒に使用されることが提案された。
ITU-T VCEG (Q6/16)およびISO/IEC MPEG (JTC 1/SC29/WG11)は、現在のHEVC規格(スクリーンコンテンツコーディングおよび高ダイナミックレンジコーディングのための、その現在の拡張および近々の拡張を含む)の圧縮能力を著しく上回る圧縮能力を有する、将来のビデオコーディング技術の標準化に対する潜在的なニーズを検討している。そのグループは、このエリアにおけるそれらの専門家によって提案される圧縮技術設計を評価するために、共同ビデオ探求チーム(JVET)と呼ばれる共同研究の取組みの中で、この探求活動において協力している。
方向性イントラ予測の場合、対角の上方から対角の下方まで異なる予測角度を表して、イントラ予測モードが利用可能である。予測角度の定義のために、32サンプルグリッド上でのオフセット値pangが定義される。対応するイントラ予測モードへのpangの関連付けは、垂直予測モードに対して図6において可視化される。水平予測モードの場合、その方式は垂直方向へフリップ(flip)され、それに応じてpang値が割り当てられる。上で述べたように、すべての適用可能なイントラ予測ブロックサイズに対してすべての角度予測モードが利用可能である。それらはすべて、予測角度の定義のために同じ32サンプルグリッドを使用する。図6の中の32サンプルグリッドにわたるpang値の分布は、垂直方向の周囲に予測角度の増大した解像度、かつ対角方向に向かって予測角度のより粗い解像度を明らかにする。同じことが水平方向に適用される。この設計は、多くのビデオコンテンツにおいて、ほぼ水平および垂直の構造が、対角構造と比較して重要な役割を果たすという観測に由来する。
水平予測方向および垂直予測方向の場合、予測のために使用されるべきサンプルの選択は簡単であるが、角度予測の場合にはこのタスクはより多くの労力を必要とする。モード11~25の場合、角度方向において予測サンプルpref(主要参照側部とも呼ばれる)のセットから現在ブロックBcを予測するとき、prefの垂直部分と水平部分の両方のサンプルが関与され得る。prefの分岐のいずれかにおけるそれぞれのサンプルのロケーションの決定が、いくつかの計算的な労力を必要とするので、統合された1次元予測参照がHEVCイントラ予測に対して設計されている。その方式は図7において可視化される。実際の予測動作を実行する前に、参照サンプルprefのセットは、1次元ベクトルp1,refにマッピングされる。マッピングのために使用される投影は、それぞれのイントラ予測モードのイントラ予測角度によって示される方向に依存する。予測のために使用されることになる、prefの部分からの参照サンプルだけが、p1,refにマッピングされる。角度予測モードごとの、p1,refへの参照サンプルの実際のマッピングが、それぞれ、水平角度予測方向および垂直角度予測方向に対して、図8および図9に示される。参照サンプルセットp1,refは、予測サンプルのブロックに対して1回構成される。予測は、次いで、以下で詳述するようなセットの中の隣接する2つの参照サンプルから導出される。図8および図9からわかるように、1次元参照サンプルセットは、すべてのイントラ予測モードに対して完全に埋め尽くされるとは限らない。対応するイントラ予測方向に対する投影範囲の中にあるロケーションだけがセットの中に含まれる。
水平予測モードと垂直予測モードの両方に対する予測は、ブロックのx座標とy座標とを取り換えるだけで同じ方法で実行される。p1,refからの予測は1/32ペル確度で実行される。角度パラメータpangの値に応じて、p1,refの中のサンプルオフセットiidx、および位置(x,y)におけるサンプルに対する重み付け係数ifactが決定される。ここで、垂直モードに対する導出が提供される。水平モードに対する導出は、xとyとを取り換えて、それ相応に従う。
Figure 0007250917000005
ifactが0に等しくない、すなわち、予測が厳密にp1,refの中の完全なサンプルロケーションの上にかからない場合、p1,refの中の隣接する2つのサンプルロケーションの間の線形重み付けは、(0≦x、y<Nc)であって、
Figure 0007250917000006
として実行される。iidxおよびifactの値が、yのみに依存し、したがって、(垂直予測モードに対して)行当り1回しか計算される必要がないことに留意されたい。
VTM-1.0(多用途テストモデル)は35個のイントラモードを使用するが、BMS(ベンチマークセット)は67個のイントラモードを使用する。イントラ予測は、所与のフレームしか関与され得ない場合に圧縮効率を向上させるために多くのビデオコーディングフレームワークにおいて使用されるメカニズムである。
図10Aは、たとえば、VVCに対して提案されるような、67個のイントラ予測モードの一例を示し、67個のイントラ予測モードのうちの複数のイントラ予測モードは、平面モード(インデックス0)、dcモード(インデックス1)、およびインデックス2~66を有する角度モードを備え、図10Aの中の左下角度モードはインデックス2を指し、インデックスの番号付けは、インデックス66が図10Aの最も右上の角度モードとなるまでインクリメントされる。
図10Bに示すように、最新のバージョンのVVCは、広角度モード(破線として図示する)を含む斜めのイントラ予測方向に対応する、いくつかのモードを有する。これらのモードのうちのいずれかの場合、ブロック側部内の対応する位置が分数である場合、隣接する参照サンプルのセットのブロック補間内のサンプルを予測することが実行されるべきである。HEVCおよびVVCは、隣接する2つの参照サンプルの間の線形補間を使用する。JEMは、より精巧な4タップ補間フィルタを使用する。フィルタ係数は、幅または高さの値に応じてガウシアンフィルタまたはキュービックフィルタのいずれかとなるように選択される。幅を使用すべきかそれとも高さを使用すべきかについての決定は、主要参照側部選択についての決定と調和され、すなわち、イントラ予測モードが対角モード以上であるとき、参照サンプルの上の側部が主要参照側部となるように選択され、使用時の補間フィルタを決定するために幅値が選択される。そうでない場合、ブロックの左の側部から主要側部参照が選択され、高さがフィルタ選択プロセスを制御する。具体的には、選択される側部長が8サンプル以下である場合、キュービック補間4タップが適用される。そうでない場合、補間フィルタは4タップのガウシアンフィルタである。
JEMにおいて使用される特定のフィルタ係数がTable 1(表5)の中で与えられる。予測されるサンプルは、サブピクセルオフセットおよびフィルタタイプに従ってTable 1(表5)から選択された係数と次のように畳み込むことによって計算される。
Figure 0007250917000007
この式において、「>>」はビット単位の右シフト演算を示す。
現在ブロックの中の予測されるべきサンプル(または略して「予測サンプル」)と補間されるサンプル位置との間のオフセットは、オフセットが1/32ピクセルなどのサブピクセル解像度を有する場合、整数部分および非整数部分を有してよい。Table 1(表5)、ならびにTable 2(表6)およびTable 3(表7)において、「サブピクセルオフセット」という列は、オフセットの非整数部分、たとえば、分数オフセット、オフセットの分数部分、または分数サンプル位置を指す。
キュービックフィルタが選択される場合、予測サンプルは、SPSにおいて規定されるか、または選択された成分のビット深度から導出されるかのいずれかである、値の許容範囲にさらにクリップされる。
Figure 0007250917000008
6ビット精度を有する補間フィルタの別のセットがTable 2(表6)において提示される。
Figure 0007250917000009
イントラ予測サンプルは、サブピクセルオフセットおよびフィルタタイプに従ってTable 1(表5)から選択された係数と次のように畳み込むことによって計算される。
Figure 0007250917000010
この式において、「>>」はビット単位の右シフト演算を示す。
6ビット精度を有する補間フィルタの別のセットがTable 3(表7)において提示される。
Figure 0007250917000011
図11は、HEVC UIP方式において使用される複数のイントラ予測モードの概略図を示す。ルミナンスブロックの場合、イントラ予測モードは、3つの非方向性モードおよび33個の方向性モードを含み得る、36個までのイントラ予測モードを備えてよい。非方向性モードは、平面予測モード、平均(DC)予測モード、およびルーマからのクロマ(chroma from luma)(LM)予測モードを備えてよい。平面予測モードは、ブロックの境界から導出された水平勾配および垂直勾配を有するブロック偏角面を想定することによって予測を実行し得る。DC予測モードは、ブロック境界の平均値に整合する値を有する平坦なブロック面を想定することによって予測を実行し得る。LM予測モードは、ブロックに対するクロマ値がブロックに対するルーマ値に整合することを想定することによって予測を実行し得る。方向性モードは、図11に示すように隣接するブロックに基づいて予測を実行し得る。
H.264/AVCおよびHEVCは、イントラ予測プロセスにおいて使用される前に低域通過フィルタが参照サンプルに適用され得ることを指定する。参照サンプルフィルタを使用すべきか否かについての決定は、イントラ予測モードおよびブロックサイズによって決定される。このメカニズムは、モード依存イントラ平滑化(MDIS:Mode Dependent Intra Smoothing)と呼ばれることがある。MDISに関係する複数の方法も存在する。たとえば、適応型参照サンプル平滑化(ARSS:Adaptive Reference Sample Smoothing)方法は、明示的に(すなわち、ビットストリームの中にフラグが含められる)または暗黙的に(すなわち、たとえば、ビットストリームの中にフラグを置くことを回避してシグナリングオーバーヘッドを低減するためにデータ隠蔽が使用される)、予測サンプルがフィルタ処理されるかどうかをシグナリングし得る。この場合、エンコーダは、すべての可能なイントラ予測モードに対してレートひずみ(RD)コストをテストすることによって平滑化についての決定を行ってよい。
図10Bに示すように、最新のバージョンのVVCは、斜めのイントラ予測方向に対応する、いくつかのモードを有する。これらのモードのうちのいずれかの場合、ブロック側部内の対応する位置が分数である場合、隣接する参照サンプルのセットのブロック補間内のサンプルを予測することが実行されるべきである。HEVCおよびVVCは、隣接する2つの参照サンプルの間の線形補間を使用する。JEMは、より精巧な4タップ補間フィルタを使用する。フィルタ係数は、幅または高さの値に応じてガウシアンフィルタまたはキュービックフィルタのいずれかとなるように選択される。幅を使用すべきかそれとも高さを使用すべきかについての決定は、主要参照側部選択についての決定と調和され、すなわち、イントラ予測モードが対角モード以上であるとき、参照サンプルの上の側部が主要参照側部となるように選択され、使用時の補間フィルタを決定するために幅値が選択される。そうでない場合、ブロックの左の側部から主要側部参照が選択され、高さがフィルタ選択プロセスを制御する。具体的には、選択される側部長が8サンプル以下である場合、キュービック補間4タップが適用される。そうでない場合、補間フィルタは4タップのガウシアンフィルタである。
32×4ブロックの事例における対角モード(45°として示される)よりも小さいモードおよび大きいモードに対する補間フィルタ選択の一例が、図12に示される。
VVCでは、QTBTと呼ばれる、4分木と2分木の両方に基づく区分メカニズムが使用される。図13に示すように、QTBT区分は、正方形だけでなく長方形のブロックも同様に提供することができる。当然、エンコーダ側におけるいくつかのシグナリングオーバーヘッドおよび増大した計算複雑性は、HEVC/H.265規格において使用される従来の4分木ベースの区分と比較してQTBT区分の代価である。とはいえ、QTBTベースの区分は、より良好なセグメント化特性が与えられ、したがって、従来の4分木よりも著しく高いコーディング効率を実証する。
しかしながら、その現在の状態におけるVVCは、参照サンプルの両方の側部(左および上の側部)に同じフィルタを適用する。ブロックが垂直に向けられるのかそれとも水平に向けられるのかにかかわらず、両方の参照サンプル側部に対して参照サンプルフィルタは同じである。
本明細書では、「垂直志向ブロック」(「垂直の向きのブロック」)および「水平志向ブロック」(「水平の向きのブロック」)という用語が、QTBTフレームワークによって生成される長方形ブロックに適用される。これらの用語は、図14に示すように同じ意味を有する。
正のサブサンプルオフセットを有する方向性イントラ予測モードの場合、参照サンプルの値を記憶するために使用されるメモリサイズを決定することが必要である。しかしながら、このサイズは、予測サンプルのブロックの寸法だけでなく、これらのサンプルにさらに適用される処理にも依存する。具体的には、正のサブサンプルオフセットの場合には、補間フィルタ処理は、それが適用されないときの事例と比較して、増大したサイズの主要参照側部を必要とすることになる。補間フィルタ処理は、参照サンプルをフィルタコアと畳み込むことによって実行される。したがって、その増大は、主要参照側部の一番左および一番右の部分に対する畳み込み結果を計算するために畳み込み演算が必要とする、追加のサンプルによって引き起こされる。
以下で説明するステップを使用することによって、主要参照側部のサイズを決定すること、したがって、主要参照側部のサンプルを記憶するために必要とされる内部メモリの量を低減することが可能である。
図15A、図15B、図15C~図18は、主要参照側部の参照サンプルからのブロックのイントラ予測のいくつかの例を示す。予測サンプルのブロックのサンプルの行ごとに、(場合によっては分数の)サブピクセルオフセットが決定される。このオフセットは、選択された方向性イントラ予測モードMと直交イントラ予測モードMo(それらのうちのどちらが、選択されたイントラ予測モードにより近いのかに応じて、HOR_IDXまたはVER_IDXのいずれか)との間の差異に応じて、整数値または非整数値を有することがある。
Table 4(表8)およびTable 5(表9)は、モード差異に応じて、予測サンプルの最初の行に対するサブピクセルオフセットの可能な値を表す。予測サンプルの他の行に対するサブピクセルオフセットは、予測サンプルの行の位置と最初の行との間の差分に対してサブピクセルオフセットを乗算することによって取得される。
Figure 0007250917000012
Figure 0007250917000013
Table 4(表8)またはTable 5(表9)が、右下の予測サンプルに対するサブピクセルオフセットを決定するために使用される場合、図15Aに示すように、主要参照側部サイズが、最大(greatest)または最大(maximum)のサブピクセルオフセットの整数部分と、予測サンプルのブロックの側部のサイズ(すなわち、ブロック側部長)と、補間フィルタの長さの半分(すなわち、補間フィルタ長の半分)との合計に等しいことが注目され得る。
サブピクセルオフセットの正の値を提供する、選択された方向性イントラ予測モードに対する主要参照側部のサイズを取得するために、以下のステップが実行され得る。
1. ステップ1は、ブロックのどの側部が、選択されたイントラ予測モードのインデックスに基づいて主要側部として取られるべきか、および隣接するどのサンプルが、主要参照側部を生成するために使用されるべきかを決定することからなり得る。主要参照側部とは、現在ブロックの中のサンプルの予測において使用される参照サンプルのラインである。「主要側部」とは、すなわち、主要参照側部がそれと平行なブロックの側部である。(イントラ予測)モードが対角モード(たとえば、図10Aに示すような、モード34)以上である場合、予測中のブロック(すなわち現在ブロック)の上の(その上部にある)隣接するサンプルが、主要参照側部を生成するために使用され、主要側部として上の側部が選択され、そうでない場合、予測中のブロックの左の隣接するサンプルが、主要参照側部を生成するために使用され、主要側部として左の側部が選択される。要約すれば、ステップ1において、現在ブロックのイントラ予測モードに基づいて、現在ブロックに対して主要側部が決定される。主要側部に基づいて、現在ブロックの予測のために、(それらのうちの一部または全部が)使用される参照サンプルを含む主要参照側部が決定される。たとえば、図15Aに示すように、主要参照側部は主要(ブロック)側部と平行であるが、たとえば、ブロック側部よりも長くてよい。言い換えれば、たとえば、イントラ予測モードが与えられると、現在ブロックのサンプルごとに、複数の参照サンプル(たとえば、主要参照側部サンプル)のうちの対応する参照サンプルも与えられる。
2. ステップ2は、この乗算の結果が非整数サブピクセルオフセットを表すように、Table 4(表8)またはTable 5(表9)のいずれかからの最大値で非主要側部の長さを乗算することによって計算される、最大サブピクセルオフセットを決定することからなり得る。Table 4(表8)およびTable 5(表9)は、現在ブロックのサンプルの最初のライン(主要側部として選択されている上の側部に対応する、サンプルの一番上の行、または主要として選択されている左の側部に対応する、サンプルの一番左の列のいずれか)の中のサンプルに対するサブピクセルオフセットの例示的な値を提供する。したがって、Table 4(表8)およびTable 5(表9)に示す値は、サンプルのライン当りのサブピクセルオフセットに対応する。したがって、全体的なブロックの予測において出現する最大オフセットは、このライン当りの値を非主要側部の長さと乗算することによって取得される。特にこの例では、固定小数点解像度が1/32サンプルであるので、結果は32の倍数ではないはずである。非主要参照側部の長さとの、たとえば、Table 4(表8)またはTable 5(表9)からの、ライン当りの任意の値の乗算が、サブピクセルオフセットの整数合計値(すなわち、整数個のサンプル)に対応する32の倍数をもたらす場合、この乗算結果は廃棄される。非主要側部とは、ステップ1において選択されていない、ブロックの側部(上の側部または左の側部のいずれか)である。したがって、主要側部として上の側部が選択されている場合、非主要側部の長さは現在ブロックの幅であり、主要側部として左の側部が選択されている場合、非主要側部の長さは現在ブロックの高さである。
3. ステップ3は、上記で説明した(すなわち、バイナリ表現で5つだけ右シフトすることによる)乗算結果に対応する、ステップ2において取得されたサブピクセルオフセットの整数部分を取り、それを主要側部の長さ(それぞれ、ブロック幅またはブロック長)および補間フィルタの長さの半分と合計することからなり得、それは主要参照側部の合計値という結果になる。したがって、主要参照側部は、サブピクセルオフセットの非整数部分内の隣接するサンプルおよび補間フィルタの長さの半分内のさらなる隣接するサンプルによって拡張された、主要参照側部と平行であり主要参照側部と長さが等しい、サンプルのラインを備える。サブピクセルオフセットのインター部分の長さ内のサンプル、およびサブピクセルオフセットの長さを越えて位置する同じ量のサンプルにわたって、補間が実行されるので、補間フィルタの長さの半分しか必要とされない。
本開示の別の実施形態によれば、予測されるピクセルの値を取得するために使用中の参照サンプルは、予測サンプルのブロックに隣接しない。エンコーダは、ビットストリーム内でオフセット値をシグナリングしてよく、その結果、このオフセット値は、参照サンプルの隣接ラインと予測サンプルの値がそこから導出される参照サンプルのラインとの間の距離を示す。
図24は、参照サンプルのラインの可能な位置およびref_offset変数の対応する値を表す。
ビデオコーデックの特定の実装(たとえば、ビデオエンコーダまたはビデオデコーダ)において使用中のオフセットの値の例は、以下の通りである。
- 参照サンプルの隣接ライン(図24の中の「参照ライン0」によって示すref_offset=0)を使用し、
- (隣接ラインに最も近い)第1のライン(図24の中の「参照ライン1」によって示すref_offset=1)を使用し、
- 第3のライン(図24の中の「参照ライン3」によって示すref_offset=3)を使用する。
変数「ref_offset」は、さらに使用される変数「refIdx」と同じ意味を有する。言い換えれば、変数「ref_offset」または変数「refIdx」は参照ラインを示し、たとえば、ref_offset=0のとき、(図24に示すような)「参照ライン0」が使用されることを表す。
方向性イントラ予測モードは、予測サンプルの2つの隣接ラインの間のサブピクセルオフセットの値(deltaPos)を指定する。この値は、精度が5ビットの固定小数点整数値によって表される。たとえば、deltaPos=32とは、予測サンプルの2つの隣接ラインの間のオフセットが厳密に1サンプルであることを意味する。
イントラ予測モードがDIA_IDX(モード#34)よりも大きい場合、上記で説明した例に対して、主要参照側部サイズの値は次のように計算される。利用可能な(すなわち、予測サンプルのブロックに対してエンコーダが示してよい)イントラ予測モードのセットのうち、DIA_IDXよりも大きく、かつ最大のdeltaPos値を提供するモードが考慮される。参照サンプルまたは補間されるサンプル位置と予測されるべきサンプルとの間の、所望のサブピクセルオフセットの値は、次のように導出される。すなわち、ブロック高さは、ref_offsetと合計され、deltaPos値で乗算される。その結果が32で除算されて余りが0である場合、上記で説明したようなdeltaPosの別の最大値、ただし、利用可能なイントラ予測モードのセットからモードを得るとき、以前に考慮された予測モードはスキップされる。そうでない場合、この乗算の結果は、最大非整数サブピクセルオフセットであるものと見なされる。このオフセットの整数部分は、それを右へ5ビットだけシフトすることによって取られる。
主要参照側部のサイズは、最大非整数サブピクセルオフセットの整数部分と、予測サンプルのブロックの幅と、補間フィルタの長さの半分とを合計することによって取得される(図15Aに示すように)。
そうではなく、イントラ予測モードがDIA_IDX(モード#34)よりも小さい場合、上記で説明した例に対して、主要参照側部サイズの値は次のように計算される。利用可能な(すなわち、予測サンプルのブロックに対してエンコーダが示してよい)イントラ予測モードのセットのうち、DIA_IDXよりも小さく、かつ最大のdeltaPos値を提供するモードが考慮される。所望のサブピクセルオフセットの値は、次のように導出される。すなわち、ブロック幅が、ref_offsetと合計され、deltaPos値で乗算される。その結果が32で除算されて余りが0である場合、上記で説明したようなdeltaPosの別の最大値、ただし、利用可能なイントラ予測モードのセットからモードを得るとき、以前に考慮された予測モードはスキップされる。そうでない場合、この乗算の結果は、最大非整数サブピクセルオフセットであるものと見なされる。このオフセットの整数部分は、それを右へ5ビットだけシフトすることによって取られる。主要参照側部のサイズは、最大非整数サブピクセルオフセットの整数部分と、予測サンプルのブロックの高さと、補間フィルタの長さの半分とを合計することによって取得される。
図15A、図15B、図15C~図18は、主要参照側部の参照サンプルからのブロックのイントラ予測のいくつかの例を示す。予測サンプル1120のブロックのサンプルの行ごとに、分数サブピクセルオフセット1150が決定される。このオフセットは、選択された方向性イントラ予測モードMと直交イントラ予測モードMo(それらのうちのどちらが、選択されたイントラ予測モードにより近いのかに応じて、HOR_IDXまたはVER_IDXのいずれか)との間の差異に応じて、整数値または非整数値を有することがある。
最先端のビデオコーディング方法、およびこれらの方法の既存の実装は、イントラ角度予測の場合には、主要参照側部のサイズが、対応するブロック側部の倍にした長さとして決定されるという事実を利用する。たとえば、HEVCでは、イントラ予測モードが34以上である場合(図10Aまたは図10Bを参照)、主要参照側部サンプルは、これらのブロックが利用可能である場合、すなわち、すでに再構成されており処理済みのスライスの中からではない場合、上および右上の隣接ブロックから取られる。使用される隣接するサンプルの総数は、ブロックの倍にした幅に等しく設定される。同様に、イントラ予測モードが34よりも小さい場合(図10を参照)、主要参照側部サンプルは、左および左下の隣接ブロックから取られ、隣接するサンプルの総数は、ブロックの倍にした高さに等しく設定される。
しかしながら、サブピクセル補間フィルタを適用するとき、主要参照側部の左端および右端への追加のサンプルが使用される。既存の解決策との適合を維持するために、これらの追加のサンプルは、左および右へ主要参照側部をパディングすることによって取得されることが提案される。パディングは、主要参照側部の最初のサンプルおよび最後のサンプルを、それぞれ、左の側部および右の側部に繰り返すことによって実行される。主要参照側部をrefとして、かつそのサイズをrefSとして示すと、パディングは以下の割当て動作として表すことができる。
ref[-1]=p[0]
ref[refS+1]=p[refS]
実際には、負のインデックスの使用は、アレイの要素を参照するときに正の整数オフセットを適用することによって回避され得る。具体的には、このオフセットは、主要参照側部に左パディングされる要素の数に等しく設定され得る。
右パディングおよび左パディングをどのように実行すべきかという具体例は、図15Bによって示される以下の2つの事例において与えられる。
右パディング事例は、広角度モード72および-6(図10B)に対して、たとえば、22に等しい|M-Mo|(Table 4(表8)を参照)が
Figure 0007250917000014
に等しいサブピクセルオフセットを指定するときに起こる。ブロックのアスペクト比が2であるとき(すなわち、予測ブロックの寸法が4×8、8×16、16×32、32×64、8×4、16×8、32×16、64×32に等しい場合)、対応する最大サブピクセルオフセット値は、右下の予測サンプルに対して、
Figure 0007250917000015
として計算され、Sはブロックの小さい方の側部である。
したがって、8×4ブロックの場合、最大サブピクセルオフセットは
Figure 0007250917000016
に等しく、すなわち、このオフセットの整数サブピクセル部分の最大値は7に等しい。座標x=7、y=3を有する右下のサンプルの値を取得するために4タップイントラ補間フィルタを適用するとき、インデックスx+7-1、x+7、x+7+1、およびx+7+2を有する参照サンプルが使用されることになる。主要参照側部が、インデックス0..15を有する隣接する16個のサンプルを有するので、主要参照側部の末尾における1つのサンプルが、位置x+7+1を有する参照サンプルを繰り返すことによってパディングされることを意味する、一番右のサンプル位置x+7+2=16。
モード71および-5に対してTable 5(表9)が使用中であるとき、同じステップが実行される。この事例に対するサブピクセルオフセットは
Figure 0007250917000017
に等しく、
Figure 0007250917000018
という最大値が得られる。
たとえば、サブピクセルオフセットが分数であり1サンプルよりも小さいとき、角度モード35..65および19..33に対して左パディングの事例が起こる。左上の予測サンプルに対して、対応するサブピクセルオフセット値が計算される。Table 4(表8)およびTable 5(表9)によれば、このオフセットは、0の整数サブサンプルオフセットに対応する
Figure 0007250917000019
という範囲内に入る。座標x=0、y=0を有する予測サンプルを計算するために4タップ補間フィルタを適用することは、インデックスx-1、x、x+1、およびx+2を有する参照サンプルを必要とすることになる。一番左のサンプル位置x-1=-1。主要参照側部が、インデックス0..15を有する隣接する16個のサンプルを有するので、この位置におけるサンプルは、位置xを有する参照サンプルを繰り返すことによってパディングされる。
上記の例から、アスペクト比を有するブロックに対して、主要参照側部が、4タップフィルタ長の半分、すなわち、2サンプルだけパディングされることが続き、そのうちの一方が主要参照側部の冒頭(左端)に追加され、他方が主要参照側部の末尾(右端)に追加される。6タップ補間フィルタ処理の事例の場合、上記で説明したステップに続いて、主要参照側部の冒頭および末尾に2つのサンプルが追加されるべきである。概して、Nタップイントラ補間フィルタが使用される場合、主要参照側部は
Figure 0007250917000020
個のサンプルを用いてパディングされ、そのうちの
Figure 0007250917000021
個が左の側部にパディングされ、
Figure 0007250917000022
個が右の側部にパディングされ、Nは負でない偶数整数値である。
他のブロックアスペクト比に対して、上記で説明したステップを反復すると、以下のオフセットが取得される(Table 6(表10)を参照)。
Figure 0007250917000023
Table 6(表10)の中で与えられる値から、広角度イントラ予測モードに対して、以下のことが続く。
Table 4(表8)が使用中であるとき、4タップ補間フィルタ処理の場合には、ブロックサイズ4×8、8×4、8×16、および16×8に対して左パディング動作および右パディング動作が必要とされる。
Table 5(表9)が使用中であるとき、4タップ補間フィルタ処理の場合には、ブロックサイズ4×8および8×4に対してのみ左パディング動作および右パディング動作が必要とされる。
提案される方法の詳細は、仕様書のフォーマットでTable 7(表11)に記載される。上記で説明したパディング実施形態は、VVCドラフト(第8.2.4.2.7節)への以下の修正として表現され得る。
Figure 0007250917000024
上記で説明したようなTable 4(表8)およびTable 5(表9)は、イントラ予測モードに応じて、予測サンプルの2つの隣接ラインの間の前記サブピクセルオフセットの可能な値を表す。
最先端のビデオコーディング解決策は、イントラ予測において異なる補間フィルタを使用する。具体的には、図19~図21は補間フィルタの様々な例を示す。
本発明では、図22または図23に示すように、ブロックのイントラ予測プロセスが実行され、ブロックのイントラ予測プロセスの間、サブピクセル補間フィルタがルミナンスおよびクロミナンス参照サンプルに適用され、(4タップフィルタなどの)サブピクセル補間フィルタが、参照サンプルの位置と補間されるサンプルの位置との間のサブピクセルオフセットに基づいて選択され、イントラ予測プロセスにおいて使用される主要参照側部のサイズは、サブピクセル補間フィルタの長さ、および前記サブピクセルオフセットの最大値をもたらすイントラ予測モードに従って決定される。メモリ要件は、サブピクセルオフセットの最大値によって決定される。メモリ要件は、サブピクセルオフセットの最大値によって決定される。
図15Bは、左上のサンプルが、主要参照側部の中に含められないが、代わりに主要参照側部に属する一番左のサンプルを使用してパディングされるときの事例を示す。しかしながら、予測サンプルが、2タップサブピクセル補間フィルタ(たとえば、線形補間フィルタ)を適用することによって計算される場合、左上のサンプルは参照されず、したがって、この場合にはパディングは必要とされない。
図15Cは、4タップサブピクセル補間フィルタ(たとえば、ガウスフィルタ、DCT-IFフィルタ、またはキュービックフィルタ)が使用されるときの事例を示す。この場合には、少なくとも左上の予測サンプル(「A」としてマークされる)を計算するために4つの参照サンプル、すなわち、左上のサンプル(「B」としてマークされる)および次の3つのサンプル(それぞれ、「C」、「D」、および「E」としてマークされる)が必要とされることが注目され得る。
この場合、2つの代替方法が開示される。
Cの値を使用してBの値をパディングすること。
主要参照側部の他のサンプル(「B」、「C」、および「D」を含む)が取得されるのとちょうど同じ方法で、隣接ブロックの再構成されたサンプルを使用すること。この場合、主要参照側部のサイズは、
ブロック主要側部長(すなわち、予測サンプルのブロック側部長またはブロックの側部のサイズ)と、
補間フィルタ長の半分-1と、
以下の2つの値M、すなわち、
ブロック主要側部長、
最大サブピクセルオフセットの整数部分+補間フィルタ長の半分、または最大サブピクセルオフセットの整数部分+補間フィルタ長の半分+1(メモリ問題に鑑みて、この合計への1の加算は含まれても含まれなくてもよい)
のうちの最大と
の合計として決定される。
「ブロック主要側部」、「ブロック側部長」、「ブロック主要側部長」、および「予測サンプルのブロックの側部のサイズ」が、本開示全体にわたって同じ概念であることに留意されたい。
補間フィルタ長の半分-1が、主要参照側部のサイズを決定するために使用され、したがって、その時々の主要参照側部を左に拡張することが許容されることが理解され得る。
前記2つの値Mのうちの最大が、主要参照側部のサイズを決定するために使用され、したがって、その時々の主要参照側部を右に拡張することが許容されることが理解され得る。
上記の説明では、ブロック主要側部長はイントラ予測モードに従って決定される(図10B)。イントラ予測モードが対角イントラ予測モード(#34)以上である場合、ブロック主要側部長は、予測サンプルのブロック(すなわち、予測されるべきブロック)の幅である。そうでない場合、ブロック主要側部長は、予測サンプルのブロックの高さである。
より広い範囲の角度に対してサブピクセルオフセットの値が規定され得る(Table 8(表12)を参照)。
Figure 0007250917000025
アスペクト比に応じて、イントラ予測モードインデックス(図10B)の異なる最大値および最小値が許容される。Table 9(表13)は、このマッピングの例を与える。
Figure 0007250917000026
Table 9(表13)によれば、最大モード差分値max(|M-Mo|)に対して、補間のために整数サブピクセルオフセットが使用され(行当りの最大サブピクセルオフセットは32の倍数である)、そのことは、予測ブロックの予測サンプルが、対応する参照サンプルの値をコピーすることによって計算され、サブサンプル補間フィルタが適用されないことを意味する。
Table 9(表13)のmax(|M-Mo|)についての制約およびTable 8(表12)の値を考慮すると、補間を必要としない、行当りの最大サブピクセルオフセットは、次のように規定される(Table 10(表14)を参照)。
Figure 0007250917000027
Table 10(表14)を使用すると、正方形4×4ブロックに対する、最大サブピクセルオフセットの整数部分+補間フィルタ長の半分の値は、以下のステップを使用して計算され得る。
ステップ1. ブロック主要側部長(4に等しい)が29で乗算され、その結果が32で除算され、したがって、3という値を与える。
ステップ2. 4タップ補間フィルタ長の半分は2であり、ステップ1において取得された値にそれが加算され、5という値が得られる。
上記の例から、得られた値がブロック主要側部長よりも大きいことが観測され得る。この例では、主要参照側部のサイズは10に設定され、それは、
ブロック主要側部長(4に等しい)と、
補間フィルタ長の半分-1(1に等しい)と、
以下の2つの値M、すなわち、
ブロック主要側部長(4に等しい)、
最大サブピクセルオフセットの整数部分+補間フィルタ長の半分(5に等しい)、または最大サブピクセルオフセットの整数部分+補間フィルタ長の半分+1(6に等しい)(メモリ問題に鑑みて、この合計への1の加算は含まれても含まれなくてもよい)
のうちの最大と
の合計として決定される。
主要参照側部の中に含められる参照サンプルの総数は、倍にしたブロック主要側部長よりも大きい。
2つの値Mのうちの最大がブロック主要側部長に等しいとき、右パディングは実行されない。そうでない場合、左上の予測サンプル(図15Cの中で「A」として示す)の位置から水平または垂直に2*nTbS(nTbSはブロック主要側部長を示す)以上離れた位置を有する参照サンプルに、右パディングが適用される。右パディングは、パディングされるサンプルの値を、2*nTbSという範囲内の位置を有する主要ブロック側部上の最後の参照サンプル値に割り当てることによって実行される。
補間フィルタ長の半分-1が0よりも大きいとき、サンプル「B」(図15Cに示す)の値が左パディングによって取得されるか、または対応する参照サンプルが、参照サンプル「C」、「D」、および「E」が取得されるのとちょうど同じ方法で取得され得るかのいずれかである。
提案される方法の詳細は、仕様書のフォーマットでTable 11(表15)に記載される。右パディングまたは左パディングの代わりに、対応する再構成済みの隣接する参照サンプルが使用され得る。左パディングが使用されないときの事例は、VVC仕様書(第8.2節)の以下の部分によって表され得る。
Figure 0007250917000028
同様に、Table 10(表14)を使用すると、幅が4サンプルかつ高さが2サンプルの非正方形ブロックに対する、最大サブピクセルオフセットの整数部分+補間フィルタ長の半分の値は、(ブロック主要側部長が幅である場合)以下のステップを使用して計算され得る。
ステップ1. ブロック高さ(2に等しい)が57で乗算され、その結果が32で除算され、したがって、3という値を与える。
ステップ2. 4タップ補間フィルタ長の半分が2であり、ステップ1において取得された値にそれが加算され、5という値が得られる。
主要参照側部の中に含められる参照サンプルの総数を計算するためのステップの残りは、正方形ブロックの事例の場合と同じである。
Table 10(表14)、およびTable 6(表10)からのブロック寸法を使用すると、左パディングまたは右パディングを受ける参照サンプルの最大数が2であることが注目され得る。
予測されるべきブロックが、イントラ予測プロセスにおいて使用される隣接する再構成済みの参照サンプルと隣接しない場合(参照ラインは図24に示すように選択され得る)、以下で説明する実施形態が適用可能である。
第1のステップは、イントラ予測モードによる予測ブロックの主要側部に応じて、ブロックのアスペクト比を規定することである。ブロックの上の側部が主要側部となるように選択される場合、アスペクト比Ra(VVC仕様書では「whRatio」として示される)は、ブロックの高さ(VVC仕様書では「nTbH」として示される)によるブロックの幅(VVC仕様書では「nTbW」として示される)の整数除算の結果に等しく設定される。そうでない場合、主要側部が予測ブロックの左の側部であるときの事例では、アスペクト比Ra(VVC仕様書では「hwRatio」として示される)は、ブロックの幅によるブロックの高さの整数除算の結果に等しく設定される。どちらの場合も、Raの値が1よりも小さい(すなわち、整数除算演算子の分子値が分母の値よりも小さい)場合、それは1に等しく設定される。
第2のステップは、参照サンプル(VVC仕様書では「p」として示される)の部分を主要参照側部に加算することである。refIdxの値に応じて、隣接する参照サンプルまたは隣接しない参照サンプルのいずれかが使用される。主要参照側部に追加される参照サンプルは、主要側部の向きの方向における主要ブロック側部に対するオフセットを用いて選択される。具体的には、主要側部が予測ブロックの上の側部である場合、オフセットは水平であり、-refIdxサンプルとして定義される。主要側部が予測ブロックの左の側部である場合、オフセットは垂直であり、-refIdxサンプルとして定義される。このステップにおいて、左上の参照サンプル(図15Cでは「B」サンプルとして示す)+上記で説明したオフセットの値から始めてnTbS+1個のサンプルが追加される(nTbSは主要側部長を示す)。RefIdxの説明または定義が図24との組合せで本開示において提示されることに留意されたい。
実行される次のステップは、サブピクセルオフセット(VVC仕様書では「intraPredAngle」として示される)が正であるのかそれとも負であるのかに依存する。サブピクセルオフセットの0値は、(ブロックの主要側部が左のブロック側部であるときの事例では)水平イントラ予測モードに、または(ブロックの主要側部が上のブロック側部であるときの事例では)垂直イントラ予測モードに対応する。
サブピクセルオフセットが負である場合(たとえば、ステップ3、負のサブピクセルオフセット)、第3のステップにおいて、主要参照側部は、非主要側部に対応する参照サンプルを用いて左に拡張される。非主要側部とは、主要側部として選択されない側部であり、すなわち、イントラ予測モードが34以上であるとき(図10B)、非主要側部は、予測されるべきブロックの左の側部であり、そうでない場合、非主要側部はブロックの左の側部である。拡張は、それが図7に示されるように実行され、このプロセスの説明は、図7への関連する説明の中に見つけることができる。非主要側部に対応する参照サンプルは、主要側部ではなく非主要側部が使用されるという差異とともに、第2のステップにおいて開示するプロセスに従って選択される。このステップが完了すると、主要参照側部は、それぞれ、その最初のサンプルおよび最後のサンプルを使用して、冒頭から末尾まで拡張され、言い換えれば、ステップ3において、負のサブピクセルオフセットパディングが実行される。
サブピクセルオフセットが正である場合(たとえば、ステップ3、正のサブピクセルオフセット)、第3のステップにおいて、主要参照側部は、ステップ2において説明するのと同じ方法で追加のnTbSサンプルだけ右に拡張される。refIdxの値が0よりも大きい(参照サンプルが、予測されるべきブロックに隣接しない)場合、右パディングが実行される。右パディングされるサンプルの数は、第1のステップにおいて計算されたアスペクト比RaをrefIdx値で乗算した値に等しい。4タップフィルタが使用中の場合には、右パディングされるサンプルの数は1だけ増大する。
提案される方法の詳細は、仕様書のフォーマットでTable 12(表16)に記載される。この実施形態に対するVVC仕様修正は以下の通りであり得る(refWはnTbS-1に設定される)。
Figure 0007250917000029
VVC仕様書の上記で説明した部分はまた、サブピクセルオフセットの正の値に対する第3のステップにおいて主要参照側部が1サンプルだけ左パディングされるときの事例にとって適用可能である。提案される方法の詳細は、仕様書のフォーマットでTable 13(表17)に記載される。
Figure 0007250917000030
本開示は、ビデオフレームなどのピクチャの中に含まれる現在ブロックを予測するためのイントラ予測方法を提供する。イントラ予測方法の方法ステップが図25に示される。現在ブロックは、予測されるべきサンプル(または「予測サンプル(predicted sample)」もしくは「予測サンプル(prediction sample)」)、たとえば、ルミナンスサンプルまたはクロミナンスサンプルを備える、上述のブロックである。
方法は、利用可能な複数のイントラ予測モード(たとえば、図10~図11に示す)のうち、サブピクセルオフセットの最大非整数値をもたらすイントラ予測モード、および補間フィルタのサイズ(すなわち長さ)に基づいて、主要参照側部のサイズを決定する(S2510)ステップを含む。
サブピクセルオフセットは、予測されるべき現在ブロックの中のサンプル(または「ターゲットサンプル」)と、現在ブロックの中のサンプルがそれに基づいて予測される参照サンプル(または参照サンプル位置)との間の、オフセットである。参照サンプルが、直接または一直線に現在ブロックの上(たとえば、対角モード以上の数を有するモード)または左(たとえば、対角モード以下の数を有するモード)でないサンプルを含むが、現在ブロックの位置に対してオフセットまたはシフトされるサンプルを含む場合、オフセットは角度予測モードに関連し得る。すべてのモードが整数参照サンプル位置を指し示すとは限らないので、オフセットはサブピクセル解像度を有し、このサブピクセルオフセットは非整数値を取ることがあり、整数部分+非整数部分を有することがある。非整数値のサブピクセルオフセットの場合には、参照サンプルの間の補間が実行される。したがって、オフセットは、予測されるべきサンプルの位置と補間される参照サンプル位置との間のオフセットである。最大非整数値は、現在ブロックの中の任意のサンプルに関して最大非整数値(整数部分+非整数部分)であってよい。たとえば、図15A~図15Cに示すように、最大非整数サブピクセルオフセットに関連するターゲットサンプルは、現在ブロックの中の右下のサンプルであってよい。サブピクセルオフセットの最大非整数値よりも大きい整数値のオフセットをもたらすイントラ予測モードが無視されることに留意されたい。
補間フィルタの可能なサイズ(すなわち長さ)は、4(たとえば、フィルタが4タップフィルタである)または6(たとえば、フィルタが6タップフィルタである)を含む。
方法は、主要参照側部の中に含まれる参照サンプルに対して補間フィルタを適用し(S2520)、フィルタ処理済みの参照サンプルに基づいて、現在ブロックの中に含まれるターゲットサンプルを予測する(S2530)ステップをさらに含む。
図26に示す方法との対応において、ピクチャの中に含まれる現在ブロックのイントラ予測のための装置2600も提供される。装置2600は図26に示され、図2に示すビデオエンコーダまたは図3に示すビデオデコーダの中に含まれてよい。一例では、装置2600は、図2の中のイントラ予測ユニット254に対応し得る。別の例では、装置2600は、図3の中のイントラ予測ユニット354に対応し得る。
装置2600は、フィルタ処理済みの参照サンプルに基づいて、現在ブロックの中に含まれるターゲットサンプルを予測するように構成された、イントラ予測ユニット2610を備える。イントラ予測ユニット2610は、図2に示すイントラ予測ユニット254または図3に示すイントラ予測ユニット354であってよい。
イントラ予測ユニット2610は、イントラ予測において使用される主要参照側部のサイズを決定するように構成された決定ユニット2620(または「主要参照サイズ決定ユニット」)を備える。具体的には、現在ブロックの中の(複数のターゲットサンプルのうちの)ターゲットサンプルと、現在ブロックの中の前記ターゲットサンプルを予測するために使用される参照サンプル(「対象参照サンプル」と以下で呼ばれる)との間の、サブピクセルオフセットの最大非整数値をもたらす(利用可能な複数のイントラ予測モードのうちの)イントラ予測モードに基づいて、かつ主要参照側部の中に含まれる参照サンプルに対して適用されるべき補間フィルタのサイズに基づいて、サイズが決定される。ターゲットサンプルとは、予測されるべきブロックの任意のサンプルである。対象参照サンプルは、主要参照側部の参照サンプルのうちの1つである。
イントラ予測ユニット2610は、フィルタ処理済みの参照サンプルを取得するために、主要参照側部の中に含まれる参照サンプルに対して補間フィルタを適用するように構成された、フィルタ処理ユニットをさらに備える。
要約すると、サブピクセルオフセットの最大値によってメモリ要件が決定される。したがって、本開示に従って主要参照側部のサイズを決定することによって、本開示は、イントラ予測を使用するビデオコーディングにおけるメモリ効率性をもたらすことを容易にする。具体的には、イントラ予測を実行するためにエンコーダおよび/またはデコーダによって使用されるメモリ(バッファ)は、主要参照側部の決定されたサイズに従って効率的な方法で割り振られ得る。なぜなら、第1に、本開示に従って決定される主要参照側部のサイズが、現在ブロックを予測するために使用されるべきすべての参照サンプルを含むからである。したがって、イントラ予測を実行するために、さらなるサンプルへのアクセスは必要でない。第2に、隣接ブロックのすでに処理されたすべてのサンプルにとってそのことは必要でないが、むしろ、メモリサイズは、主要参照側部に、すなわち、具体的には決定されたサイズに属する、それらの参照サンプルに対して特に割り振られてよい。
以下のことは、符号化方法、ならびに上述の実施形態に示すような復号方法、およびそれらを使用するシステムの適用例の説明である。
図27は、コンテンツ配信サービスを実現するためのコンテンツ供給システム3100を示すブロック図である。このコンテンツ供給システム3100は、キャプチャデバイス3102、端末デバイス3106を含み、随意にディスプレイ3126を含む。キャプチャデバイス3102は、通信リンク3104を介して端末デバイス3106と通信する。通信リンクは、上記で説明した通信チャネル13を含んでよい。通信リンク3104は、限定はしないが、WIFI、Ethernet、ケーブル、ワイヤレス(3G/4G/5G)、USB、またはそれらの任意の種類の組合せなどを含む。
キャプチャデバイス3102はデータを生成し、上記の実施形態に示すような符号化方法によってデータを符号化し得る。代替として、キャプチャデバイス3102がデータをストリーミングサーバ(図に示さず)に配信してよく、サーバがデータを符号化し符号化データを端末デバイス3106へ送信する。キャプチャデバイス3102は、限定はしないが、カメラ、スマートフォンもしくはパッド、コンピュータもしくはラップトップ、ビデオ会議システム、PDA、車載デバイス、またはそれらのうちのいずれかの組合せなどを含む。たとえば、キャプチャデバイス3102は、上記で説明したようなソースデバイス12を含んでよい。データがビデオを含むとき、キャプチャデバイス3102の中に含まれるビデオエンコーダ20が実際にビデオ符号化処理を実行してよい。データがオーディオ(すなわち、音声)を含むとき、キャプチャデバイス3102の中に含まれるオーディオエンコーダが実際にオーディオ符号化処理を実行してよい。いくつかの実際的なシナリオの場合、キャプチャデバイス3102は、符号化されたビデオおよびオーディオデータを、それらを一緒に多重化することによって配信する。他の実際的なシナリオの場合、たとえば、ビデオ会議システムでは、符号化オーディオデータおよび符号化ビデオデータは多重化されない。キャプチャデバイス3102は、符号化オーディオデータおよび符号化ビデオデータを別々に端末デバイス3106に配信する。
コンテンツ供給システム3100では、端末デバイス310は符号化データを受信および再生する。端末デバイス3106は、上述の符号化データを復号することが可能な、スマートフォンもしくはパッド3108、コンピュータもしくはラップトップ3110、ネットワークビデオレコーダ(NVR)/デジタルビデオレコーダ(DVR)3112、TV3114、セットトップボックス(STB)3116、ビデオ会議システム3118、ビデオ監視システム3120、携帯情報端末(PDA)3122、車載デバイス3124、またはそれらのうちのいずれかの組合せなどの、データ受信および復元能力を有するデバイスであり得る。たとえば、端末デバイス3106は、上記で説明したような宛先デバイス14を含んでよい。符号化データがビデオを含むとき、端末デバイスの中に含まれるビデオデコーダ30は、ビデオ復号を実行するために優先される。符号化データがオーディオを含むとき、端末デバイスの中に含まれるオーディオデコーダは、オーディオ復号処理を実行するために優先される。
そのディスプレイを有する端末デバイス、たとえば、スマートフォンもしくはパッド3108、コンピュータもしくはラップトップ3110、ネットワークビデオレコーダ(NVR)/デジタルビデオレコーダ(DVR)3112、TV3114、携帯情報端末(PDA)3122、または車載デバイス3124の場合、端末デバイスは復号データをそのディスプレイに供給することができる。ディスプレイが装備されない端末デバイス、たとえば、STB3116、ビデオ会議システム3118、またはビデオ監視システム3120の場合、復号データを受信および表示するために外部ディスプレイ3126がそれらに接触される。
このシステムの中の各デバイスが符号化または復号を実行するとき、上述の実施形態に示されるようなピクチャ符号化デバイスまたはピクチャ復号デバイスが使用され得る。
図28は、端末デバイス3106の一例の構造を示す図である。端末デバイス3106がキャプチャデバイス3102からストリームを受信した後、プロトコル進行ユニット3202は、ストリームの伝送プロトコルを分析する。プロトコルは、限定はしないが、リアルタイムストリーミングプロトコル(RTSP)、ハイパーテキスト転送プロトコル(HTTP)、HTTPライブストリーミングプロトコル(HLS)、MPEG-DASH、リアルタイムトランスポートプロトコル(RTP)、リアルタイムメッセージングプロトコル(RTMP)、またはそれらの任意の種類の組合せなどを含む。
プロトコル進行ユニット3202がストリームを処理した後、ストリームファイルが生成される。ファイルは逆多重化ユニット3204に出力される。逆多重化ユニット3204は、多重化されたデータを符号化オーディオデータおよび符号化ビデオデータに分離することができる。上記で説明したように、いくつかの実際的なシナリオの場合、たとえば、ビデオ会議システムでは、符号化オーディオデータおよび符号化ビデオデータは多重化されない。この状況では、符号化データは、逆多重化ユニット3204を通ることなく、ビデオデコーダ3206およびオーディオデコーダ3208へ送信される。
逆多重化処理を介して、ビデオエレメンタリストリーム(ES:elementary stream)、オーディオES、および随意にサブタイトルが生成される。上述の実施形態で説明したようなビデオデコーダ30を含むビデオデコーダ3206は、上述の実施形態に示されるような復号方法によってビデオESを復号してビデオフレームを生成し、このデータを同期ユニット3212に供給する。オーディオデコーダ3208は、オーディオESを復号してオーディオフレームを生成し、このデータを同期ユニット3212に供給する。代替として、ビデオフレームは、それを同期ユニット3212に供給する前にバッファ(図Yに示さず)の中に記憶し得る。同様に、オーディオフレームは、それを同期ユニット3212に供給する前にバッファ(図Yに示さず)の中に記憶し得る。
同期ユニット3212は、ビデオフレームとオーディオフレームとを同期させ、ビデオ/オーディオをビデオ/オーディオディスプレイ3214に供給する。たとえば、同期ユニット3212は、ビデオの提示とオーディオ情報とを同期させる。情報は、コーディングされたオーディオデータおよびビジュアルデータの提示に関係するタイムスタンプ、ならびにデータストリーム自体の配信に関係するタイムスタンプを使用して、シンタックスの中でコーディングし得る。
ストリームの中にサブタイトルが含まれる場合、サブタイトルデコーダ3210は、サブタイトルを復号し、それをビデオフレームおよびオーディオフレームと同期させ、ビデオ/オーディオ/サブタイトルをビデオ/オーディオ/サブタイトルディスプレイ3216に供給する。
本発明は上述のシステムに限定されず、上述の実施形態におけるピクチャ符号化デバイスまたはピクチャ復号デバイスのいずれも、他のシステム、たとえば、自動車システムの中に組み込まれ得る。
本発明の実施形態は主にビデオコーディングに基づいて説明されているが、コーディングシステム10、エンコーダ20、およびデコーダ30(かつそれに対応して、システム10)の実施形態、ならびに本明細書で説明する他の実施形態がまた、静止画処理または静止画コーディング、すなわち、ビデオコーディングにおけるような先行するかまたは連続する任意のピクチャから独立した個々のピクチャの処理またはコーディングのために構成され得ることに留意されたい。概して、ピクチャ処理コーディングが単一のピクチャ17に限定される場合には、インター予測ユニット244(エンコーダ)および344(デコーダ)だけは利用可能でなくてよい。ビデオエンコーダ20およびビデオデコーダ30のすべての他の機能性(ツールまたは技術とも呼ばれる)は、静止画処理、たとえば、残差計算204/304、変換206、量子化208、逆量子化210/310、(逆)変換212/312、区分262/362、イントラ予測254/354および/またはループフィルタ処理220、320、ならびにエントロピーコーディング270およびエントロピー復号304のために等しく使用され得る。
たとえば、エンコーダ20およびデコーダ30の、実施形態ならびに、たとえば、エンコーダ20およびデコーダ30を参照しながら、本明細書で説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施され得る。ソフトウェアで実施される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されてよく、または通信媒体を介して送信されてよく、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、データ記憶媒体などの有形媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体に相当する、コンピュータ可読記憶媒体を含んでよい。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に、相当し得る。データ記憶媒体は、本開示で説明する技法の実施のための命令、コード、および/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であってよい。コンピュータプログラム製品は、コンピュータ可読媒体を含んでよい。
例として、かつ限定的でなく、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROM、または他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気記憶デバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得るとともにコンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、任意の接続が適切にコンピュータ可読媒体と呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義の中に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体が、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記のものの組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の均等な集積論理回路構成もしくは個別論理回路構成などの、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造または本明細書で説明する技法の実装にとって好適な任意の他の構造のうちのいずれかを指すことがある。加えて、いくつかの態様では、本明細書で説明する機能性は、符号化および復号するために構成された専用のハードウェア内および/またはソフトウェアモジュール内で提供され得るか、または組み合わせられたコーデックの中に組み込まれ得る。また、技法は1つまたは複数の回路または論理要素の中に完全に実装され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実施され得る。様々な構成要素、モジュール、またはユニットは、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために本開示で説明されるが、必ずしも様々なハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットは、コーデックハードウェアユニットの中で組み合わせられてよく、あるいは好適なソフトウェアおよび/またはファームウェアとともに、上記で説明したような1つまたは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてよい。
10 ビデオコーディングシステム、コーディングシステム
12 ソースデバイス
13 通信チャネル
14 宛先デバイス
16 ピクチャソース
17 ピクチャ、ピクチャデータ、未加工ピクチャ、未加工ピクチャデータ
18 プリプロセッサ、前処理ユニット、ピクチャプリプロセッサ
19 前処理済みのピクチャ、前処理済みのピクチャデータ
20 ビデオエンコーダ、エンコーダ
21 符号化ピクチャデータ、ビットストリーム、符号化ビットストリーム
22、28 通信インターフェース、通信ユニット
30 ビデオデコーダ、デコーダ
31 復号ピクチャ、復号ピクチャデータ
32 ポストプロセッサ、後処理ユニット
33 後処理済みのピクチャ、後処理済みのピクチャデータ
34 ディスプレイデバイス
40 ビデオコーディングシステム
41 イメージングデバイス
42 アンテナ
43 プロセッサ
44 メモリストア
45 ディスプレイデバイス
46 処理ユニット
47 論理回路構成
201 入力部、入力インターフェース
203 ピクチャブロック
204 残差計算ユニット
205 残差ブロック、残差
206 変換処理ユニット
207 変換係数
208 量子化ユニット
209 量子化係数、量子化変換係数、量子化残差係数
210 逆量子化ユニット
211 逆量子化係数、逆量子化残差係数
212 逆変換処理ユニット
213 再構成された残差ブロック、変換ブロック
214 再構成ユニット
215 再構成ブロック
216 バッファ
220 ループフィルタ、ループフィルタユニット
221 フィルタ処理済みのブロック、フィルタ処理済みの再構成ブロック
230 復号ピクチャバッファ(DPB)
231 復号ピクチャ
244 インター予測ユニット
254 イントラ予測ユニット
260 モード選択ユニット
262 区分ユニット
265 予測ブロック
266 シンタックス要素
270 エントロピー符号化ユニット
272 出力部、出力インターフェース
304 エントロピー復号ユニット
309 量子化係数
310 逆量子化ユニット
311 変換係数、逆量子化係数
312 逆変換処理ユニット
313 変換ブロック、再構成された残差ブロック
314 再構成ユニット
315 再構成ブロック
320 ループフィルタ、ループフィルタユニット
321 フィルタ処理済みのブロック
330 復号ピクチャバッファ(DBP)
331 復号ピクチャ
344 インター予測ユニット
354 イントラ予測ユニット
360 モード選択ユニット
365 予測ブロック
400 ビデオコーディングデバイス
410 入口ポート、入力ポート
420 受信機ユニット(Rx)
430 プロセッサ、論理ユニット、中央処理ユニット(CPU)
440 送信機ユニット(Tx)
450 出口ポート、出力ポート
460 メモリ
470 コーディングモジュール
500 装置
502 プロセッサ
504 メモリ
506 データ
508 オペレーティングシステム
510 アプリケーションプログラム
512 バス
514 2次ストレージ
518 ディスプレイ
520 画像感知デバイス
522 音感知デバイス
2600 装置
2610 イントラ予測ユニット
2620 決定ユニット
3100 コンテンツ供給システム
3102 キャプチャデバイス
3104 通信リンク
3106 端末デバイス
3108 スマートフォン、パッド
3110 コンピュータ、ラップトップ
3112 ネットワークビデオレコーダ(NVR)、デジタルビデオレコーダ(DVR)
3114 TV
3116 セットトップボックス(STB)
3118 ビデオ会議システム
3120 ビデオ監視システム
3122 携帯情報端末(PDA)
3124 車載デバイス
3126 ディスプレイ
3202 プロトコル進行ユニット
3204 逆多重化ユニット
3206 ビデオデコーダ
3208 オーディオデコーダ
3210 サブタイトルデコーダ
3212 同期ユニット
3214 ビデオ/オーディオディスプレイ
3216 ビデオ/オーディオ/サブタイトルディスプレイ

Claims (29)

  1. ビデオコーディングの方法であって、
    予測されるべきサンプルを備えるブロックのイントラ予測プロセスを実行するステップを備え、前記ブロックの前記イントラ予測プロセスの間、前記ブロックの参照サンプルに補間フィルタが適用され、
    前記補間フィルタが、前記参照サンプルと予測されるべき前記サンプルとの間のサブピクセルオフセットに基づいて選択され、
    前記イントラ予測プロセスにおいて使用される主要参照側部のサイズが、前記補間フィルタの長さ、および利用可能なイントラ予測モードのセットのうちの前記サブピクセルオフセットの最大非整数値をもたらすイントラ予測モードに従って決定され、前記主要参照側部が前記参照サンプルを備
    前記主要参照側部の前記サイズが、
    前記サブピクセルオフセットの前記最大非整数値の整数部分と、
    前記ブロックの側部のサイズと、
    前記補間フィルタの長さの半分と
    の合計として決定される、
    方法。
  2. 前記イントラ予測モードが垂直イントラ予測モードVER_IDXよりも大きい場合、予測サンプルの前記ブロックの前記側部が前記ブロックの幅であり、
    または
    前記イントラ予測モードが水平イントラ予測モードHOR_IDXよりも小さい場合、前記ブロックの前記側部が前記ブロックの高さである、
    請求項1に記載の方法。
  3. 前記主要参照側部において、前記ブロックの前記側部の倍にしたサイズよりも大きい位置を有する参照サンプルの値が、前記ブロックの前記側部の前記サイズの前記倍にしたサイズに位置するサンプルの値に等しくなるように設定される、請求項1または2に記載の方法。
  4. 前記主要参照側部の最初の参照サンプルおよび/または最後の参照サンプルを、それぞれ、左の側部および/または右の側部に繰り返すことによってパディングが実行され、具体的には次のように、すなわち、前記主要参照側部をrefとして、かつ前記主要参照側部の前記サイズをrefSとして示すと、
    ref[-1]=p[0]かつ/または
    ref[refS+1]=p[refS]
    として前記パディングが表され、
    ref[-1]が、前記主要参照側部の左の値を表し、
    p[0]が、前記主要参照側部の前記最初の参照サンプルの値を表し、
    ref[refS+1]が、前記主要参照側部の右の値を表し、
    p[refS]が、前記主要参照側部の前記最後の参照サンプルの値を表す、
    請求項1から3のいずれか一項に記載の方法。
  5. 前記イントラ予測プロセスにおいて使用される前記補間フィルタが、有限インパルス応答フィルタであり、前記補間フィルタの係数が、ルックアップテーブルからフェッチされる、請求項1から4のいずれか一項に記載の方法。
  6. 前記イントラ予測プロセスにおいて使用される前記補間フィルタが4タップフィルタである、請求項1から5のいずれか一項に記載の方法。
  7. 前記補間フィルタの係数c0、c1、c2、およびc3が、次のように、すなわち、
    Figure 0007250917000031
    のように、前記サブピクセルオフセットの非整数部分に依存し、「サブピクセルオフセットの非整数部分」列が、1/32サブピクセル解像度で規定される、
    請求項6に記載の方法。
  8. 前記補間フィルタの係数c0、c1、c2、およびc3が、次のように、すなわち、
    Figure 0007250917000032
    のように、前記サブピクセルオフセットの非整数部分に依存し、「サブピクセルオフセットの非整数部分」列が、1/32サブピクセル解像度で規定される、
    請求項6に記載の方法。
  9. 前記補間フィルタの係数c0、c1、c2、およびc3が、次のように、すなわち、
    Figure 0007250917000033
    のように、前記サブピクセルオフセットの非整数部分に依存し、「サブピクセルオフセットの非整数部分」列が、1/32サブピクセル解像度で規定される、
    請求項6に記載の方法。
  10. 前記補間フィルタが、所与のサブピクセルオフセットに対する前記イントラ予測プロセスのために使用されるフィルタのセットから選択される、請求項1から9のいずれか一項に記載の方法。
  11. フィルタの前記セットが、ガウスフィルタおよびキュービックフィルタを備える、請求項10に記載の方法。
  12. 前記補間フィルタの数量がN個であり、前記N個の補間フィルタがイントラ参照サンプル補間のために使用され、N>=1かつ正の整数である、請求項1から11のいずれか一項に記載の方法。
  13. 前記参照サンプルが、前記ブロックに隣接しないサンプルを含む、請求項1から12のいずれか一項に記載の方法。
  14. ピクチャの中に含まれる現在ブロックを予測するためのイントラ予測方法であって、
    利用可能な複数のイントラ予測モードのうち、前記現在ブロックの中の複数のターゲットサンプルのうちのターゲットサンプルと前記現在ブロックの中の前記ターゲットサンプルを予測するために使用される参照サンプルとの間のサブピクセルオフセットの最大非整数値をもたらすイントラ予測モードであって、前記参照サンプルが、主要参照側部の中に含まれる複数の参照サンプルのうちの参照サンプルである、イントラ予測モード、および
    前記主要参照側部の中に含まれる前記参照サンプルに対して適用されるべき補間フィルタのサイズに基づいて、
    前記イントラ予測において使用される前記主要参照側部のサイズを決定するステップと、
    フィルタ処理済みの参照サンプルを取得するために、前記主要参照側部の中に含まれる前記参照サンプルに対して補間フィルタを適用するステップと、
    前記フィルタ処理済みの参照サンプルに基づいて、前記現在ブロックの中に含まれる前記複数のターゲットサンプルを予測するステップと
    を備え、
    前記主要参照側部の前記サイズが、
    前記サブピクセルオフセットの前記最大非整数値の整数部分と、
    前記現在ブロックの側部のサイズと、
    前記補間フィルタの前記サイズの半分と
    の合計として決定される、
    方法。
  15. 前記イントラ予測モードが垂直イントラ予測モードVER_IDXよりも大きい場合、前記現在ブロックの前記側部が前記現在ブロックの幅であり、
    または
    前記イントラ予測モードが水平イントラ予測モードHOR_IDXよりも小さい場合、前記現在ブロックの前記側部が前記現在ブロックの高さである、
    請求項14に記載の方法。
  16. 前記現在ブロックの前記側部の前記サイズの倍よりも大きい前記主要参照側部の中の位置を有する参照サンプルの値が、前記現在ブロックの前記サイズの倍であるサンプル位置を有するサンプルの値に等しくなるように設定される、
    請求項14または15に記載の方法。
  17. 前記主要参照側部の最初の参照サンプルおよび/または最後の参照サンプルを、それぞれ、左の側部および/または右の側部に繰り返すことによってパディングが実行され、具体的には次のように、すなわち、前記主要参照側部をrefとして、かつ前記主要参照側部の前記サイズをrefSとして示すと、
    ref[-1]=p[0]かつ/または
    ref[refS+1]=p[refS]
    として前記パディングが表され、
    ref[-1]が、前記主要参照側部の左の値を表し、
    p[0]が、前記主要参照側部の前記最初の参照サンプルの値を表し、
    ref[refS+1]が、前記主要参照側部の右の値を表し、
    p[refS]が、前記主要参照側部の前記最後の参照サンプルの値を表す、
    請求項14から16のいずれか一項に記載の方法。
  18. 請求項1から17のいずれか一項に記載の方法を実行するように構成された処理回路構成を備えるエンコーダ。
  19. 請求項1から17のいずれか一項に記載の方法を実行するように構成された処理回路構成を備えるデコーダ。
  20. 請求項1から17のいずれか一項に記載の方法をコンピュータに実行させる、プログラム
  21. デコーダであって、
    1つまたは複数のプロセッサと、
    前記プロセッサに結合され前記プロセッサによる実行用のプログラミングを記憶する、非一時的コンピュータ可読記憶媒体とを備え、前記プログラミングが、前記プロセッサによって実行されたとき、請求項1から17のいずれか一項に記載の方法を実行するように前記デコーダを構成する、
    デコーダ。
  22. エンコーダであって、
    1つまたは複数のプロセッサと、
    前記プロセッサに結合され前記プロセッサによる実行用のプログラミングを記憶する、非一時的コンピュータ可読記憶媒体とを備え、前記プログラミングが、前記プロセッサによって実行されたとき、請求項1から17のいずれか一項に記載の方法を実行するように前記エンコーダを構成する、
    エンコーダ。
  23. ピクチャの中に含まれる現在ブロックのイントラ予測のための装置であって、
    フィルタ処理済みの参照サンプルに基づいて、前記現在ブロックの中に含まれる複数のターゲットサンプルを予測するように構成された、イントラ予測ユニットを備え、前記イントラ予測ユニットが、
    利用可能な複数のイントラ予測モードのうち、前記現在ブロックの中の前記複数のターゲットサンプルのうちのターゲットサンプルと前記現在ブロックの中の前記ターゲットサンプルを予測するために使用される参照サンプルとの間のサブピクセルオフセットの最大非整数値をもたらすイントラ予測モードであって、前記参照サンプルが、主要参照側部の中に含まれる複数の参照サンプルのうちの参照サンプルである、イントラ予測モード、および
    前記主要参照側部の中に含まれる前記参照サンプルに対して適用されるべき補間フィルタのサイズに基づいて、
    前記イントラ予測において使用される前記主要参照側部のサイズを決定するように構成された、決定ユニットと、
    前記フィルタ処理済みの参照サンプルを取得するために、前記主要参照側部の中に含まれる前記参照サンプルに対して補間フィルタを適用するように構成された、フィルタ処理ユニットとを備
    前記決定ユニットが、
    前記サブピクセルオフセットの前記最大非整数値の整数部分と、
    前記現在ブロックの側部のサイズと、
    前記補間フィルタの前記サイズの半分と
    の合計として、前記主要参照側部の前記サイズを決定するように構成される、
    装置。
  24. 前記イントラ予測モードが垂直イントラ予測モードVER_IDXよりも大きい場合、前記現在ブロックの前記側部が前記現在ブロックの幅であり、
    または
    前記イントラ予測モードが水平イントラ予測モードHOR_IDXよりも小さい場合、前記現在ブロックの前記側部が前記現在ブロックの高さである、
    請求項23に記載の装置。
  25. 前記現在ブロックの前記側部の前記サイズの倍よりも大きい前記主要参照側部の中の位置を有する参照サンプルの値が、前記現在ブロックの前記サイズの倍であるサンプル位置を有するサンプルの値に等しくなるように設定される、
    請求項23または24に記載の装置。
  26. 前記決定ユニットが、前記主要参照側部の最初の参照サンプルおよび/または最後の参照サンプルを、それぞれ、左の側部および/または右の側部に繰り返すことによってパディングを実行するように構成され、具体的には次のように、すなわち、前記主要参照側部をrefとして、かつ前記主要参照側部の前記サイズをrefSとして示すと、
    ref[-1]=p[0]かつ/または
    ref[refS+1]=p[refS]
    として前記パディングが表され、
    ref[-1]が、前記主要参照側部の左の値を表し、
    p[0]が、前記主要参照側部の前記最初の参照サンプルの値を表し、
    ref[refS+1]が、前記主要参照側部の右の値を表し、
    p[refS]が、前記主要参照側部の前記最後の参照サンプルの値を表す、
    請求項23から25のいずれか一項に記載の装置。
  27. 請求項23から26のいずれか一項に記載の装置を備える、複数のピクチャをビットストリームの中に符号化するためのビデオエンコーダ。
  28. 請求項23から26のいずれか一項に記載の装置を備える、ビットストリームから複数のピクチャを復号するためのビデオデコーダ。
  29. 1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに請求項1から17のいずれか一項に記載の方法を実行させる、イントラ予測を実行するためのコンピュータ命令を記憶する非一時的コンピュータ可読媒体。
JP2021518698A 2018-10-06 2019-10-07 補間フィルタを使用するイントラ予測のための方法および装置 Active JP7250917B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023045836A JP2023088997A (ja) 2018-10-06 2023-03-22 補間フィルタを使用するイントラ予測のための方法および装置

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201862742300P 2018-10-06 2018-10-06
US62/742,300 2018-10-06
US201862744096P 2018-10-10 2018-10-10
US62/744,096 2018-10-10
US201862753055P 2018-10-30 2018-10-30
US62/753,055 2018-10-30
US201862757150P 2018-11-07 2018-11-07
US62/757,150 2018-11-07
PCT/RU2019/050178 WO2020071969A1 (en) 2018-10-06 2019-10-07 Method and apparatus for intra prediction using an interpolation filter

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023045836A Division JP2023088997A (ja) 2018-10-06 2023-03-22 補間フィルタを使用するイントラ予測のための方法および装置

Publications (2)

Publication Number Publication Date
JP2022504311A JP2022504311A (ja) 2022-01-13
JP7250917B2 true JP7250917B2 (ja) 2023-04-03

Family

ID=70055104

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021518698A Active JP7250917B2 (ja) 2018-10-06 2019-10-07 補間フィルタを使用するイントラ予測のための方法および装置
JP2023045836A Pending JP2023088997A (ja) 2018-10-06 2023-03-22 補間フィルタを使用するイントラ予測のための方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023045836A Pending JP2023088997A (ja) 2018-10-06 2023-03-22 補間フィルタを使用するイントラ予測のための方法および装置

Country Status (12)

Country Link
US (2) US11750837B2 (ja)
EP (1) EP3847813A4 (ja)
JP (2) JP7250917B2 (ja)
KR (2) KR102618466B1 (ja)
CN (4) CN112868232B (ja)
AU (2) AU2019355737B2 (ja)
BR (1) BR112021006522A2 (ja)
CA (1) CA3115194C (ja)
MX (1) MX2021003912A (ja)
SG (1) SG11202103441TA (ja)
WO (1) WO2020071969A1 (ja)
ZA (1) ZA202102992B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020076036A1 (ko) * 2018-10-07 2020-04-16 주식회사 윌러스표준기술연구소 복수개의 참조 라인을 위한 mpm 구성 방법을 이용한 비디오 신호 처리 방법 및 장치
CA3124104A1 (en) * 2018-12-21 2020-06-25 Huawei Technologies Co., Ltd. Method and apparatus of interpolation filtering for predictive coding
JP2022530240A (ja) * 2019-05-02 2022-06-28 北京字節跳動網絡技術有限公司 複数の参照フィルタを使用するイントラビデオコーディング
KR20200127897A (ko) * 2019-05-03 2020-11-11 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
MX2021014605A (es) * 2019-06-18 2022-01-18 Electronics & Telecommunications Res Inst Metodo y aparato de codificacion/decodificacion de video, y medio de grabacion que almacena un flujo de bits.
WO2021126017A2 (en) * 2020-04-29 2021-06-24 Huawei Technologies Co., Ltd. Method and apparatus of subsample interpolation filtering
CN113887737B (zh) * 2021-09-23 2024-05-17 北京工商大学 一种基于机器学习的样本集自动生成方法
WO2023219289A1 (ko) * 2022-05-12 2023-11-16 현대자동차주식회사 참조 화소에 기초하는 인트라 예측모드 유도를 위한 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180091825A1 (en) 2016-09-28 2018-03-29 Qualcomm Incorporated Interpolation filters for intra prediction in video coding

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958177B2 (en) * 2006-11-29 2011-06-07 Arcsoft, Inc. Method of parallelly filtering input data words to obtain final output data words containing packed half-pel pixels
US20120243611A1 (en) * 2009-12-22 2012-09-27 Sony Corporation Image processing apparatus and method as well as program
JP2011146980A (ja) * 2010-01-15 2011-07-28 Sony Corp 画像処理装置および方法
EP4318277A3 (en) * 2010-09-30 2024-02-28 Samsung Electronics Co., Ltd. Method and device for interpolating images by using a smoothing interpolation filter
US20120163460A1 (en) * 2010-12-23 2012-06-28 Qualcomm Incorporated Sub-pixel interpolation for video coding
US9172972B2 (en) * 2011-01-05 2015-10-27 Qualcomm Incorporated Low complexity interpolation filtering with adaptive tap size
AU2012276477B2 (en) * 2011-06-28 2016-02-18 Samsung Electronics Co., Ltd. Method for image interpolation using asymmetric interpolation filter and apparatus therefor
JP5711098B2 (ja) * 2011-11-07 2015-04-30 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム
US9807385B2 (en) * 2012-01-19 2017-10-31 Futurewei Technologies, Inc. Simplification of mode dependent intra smoothing
US9451254B2 (en) * 2013-07-19 2016-09-20 Qualcomm Incorporated Disabling intra prediction filtering
US11463689B2 (en) * 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
US10194170B2 (en) * 2015-11-20 2019-01-29 Mediatek Inc. Method and apparatus for video coding using filter coefficients determined based on pixel projection phase
KR102346713B1 (ko) * 2016-04-12 2022-01-03 세종대학교산학협력단 인트라 예측 기반의 비디오 신호 처리 방법 및 장치
US10972733B2 (en) * 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
SG11202013232QA (en) * 2017-07-17 2021-01-28 Univ Hanyang Ind Univ Coop Found Method and apparatus for encoding/decoding image
US11190764B2 (en) * 2018-07-06 2021-11-30 Qualcomm Incorporated Merged mode dependent intra smoothing (MDIS) and intra interpolation filter switching with position dependent intra prediction combination (PDPC)
WO2020055208A1 (ko) * 2018-09-14 2020-03-19 엘지전자 주식회사 인트라 예측을 수행하는 영상 예측 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180091825A1 (en) 2016-09-28 2018-03-29 Qualcomm Incorporated Interpolation filters for intra prediction in video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
VAN DER AUWERA, Geert et al.,CE3: Intra reference sample interpolation filter selection using MDIS conditions (Test 3.1.2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macau, CN, 3-12 October 2018, [JVET-L0324-v2],JVET-L0324 (version 2),ITU-T,2018年10月02日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L0324-v2.zip>: JVET-L0324_v2.docx: pp. 1-14
YOO, Sunmi et al.,CE3 Related : Extended reference sample construction for longer interpolation filter in intra prediction,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN, 3-12 Oct. 2018, [JVET-L0291-v3],JVET-L0291 (version 4),ITU-T,2018年10月03日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L0291-v4.zip>: JVET-L0291_v3.DOCX: pp.1-6

Also Published As

Publication number Publication date
US20240121432A1 (en) 2024-04-11
KR102618466B1 (ko) 2023-12-27
US11750837B2 (en) 2023-09-05
AU2019355737B2 (en) 2023-07-06
CN117041553A (zh) 2023-11-10
CN117041554A (zh) 2023-11-10
CN112868232B (zh) 2023-07-11
EP3847813A1 (en) 2021-07-14
CA3115194A1 (en) 2020-04-09
AU2019355737A1 (en) 2021-05-13
MX2021003912A (es) 2021-09-08
KR20240006079A (ko) 2024-01-12
EP3847813A4 (en) 2021-11-10
KR20210068542A (ko) 2021-06-09
AU2023241331A1 (en) 2023-10-26
SG11202103441TA (en) 2021-05-28
BR112021006522A2 (pt) 2021-07-06
ZA202102992B (en) 2022-10-26
JP2022504311A (ja) 2022-01-13
JP2023088997A (ja) 2023-06-27
CA3115194C (en) 2024-03-05
US20210258608A1 (en) 2021-08-19
WO2020071969A1 (en) 2020-04-09
CN117041555A (zh) 2023-11-10
CN112868232A (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
JP7106744B2 (ja) ルーマおよびクロマ成分についてibc専用バッファおよびデフォルト値リフレッシュを使用するエンコーダ、デコーダおよび対応する方法
JP7250917B2 (ja) 補間フィルタを使用するイントラ予測のための方法および装置
US11895292B2 (en) Encoder, decoder and corresponding methods of boundary strength derivation of deblocking filter
US20220014742A1 (en) Encoder, a Decoder and Corresponding Methods Harmonizing Matrix-Based Intra Prediction and Secondary Transform Core Selection
US11856228B2 (en) Deblocking filter for sub-partition boundaries caused by intra sub-partition coding tool
US11876997B2 (en) Encoder, decoder and corresponding methods of most probable mode list construction for blocks with multi-hypothesis prediction
US11843806B2 (en) Encoder, a decoder and corresponding methods of deblocking filter adaptation
JP7405925B2 (ja) ビデオ・エンコーダ、ビデオ・デコーダ及び対応する方法
JP2023511206A (ja) 適応ループフィルタリングのためのエンコーダ、デコーダ、および対応する方法
JP2023126795A (ja) ビデオコーディングにおけるクロマイントラ予測のための方法及び装置
JP7436526B2 (ja) 非線形適応ループフィルタのためのクリッピングレベル
CA3119397A1 (en) Video encoder, video decoder and methods of encoding or decoding a picture

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221019

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230322

R150 Certificate of patent or registration of utility model

Ref document number: 7250917

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150