(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-19
(45)【発行日】2024-07-29
(54)【発明の名称】デブロッキング操作の高度制御
(51)【国際特許分類】
H04N 19/117 20140101AFI20240722BHJP
H04N 19/176 20140101ALI20240722BHJP
H04N 19/70 20140101ALI20240722BHJP
H04N 19/82 20140101ALI20240722BHJP
H04N 19/86 20140101ALI20240722BHJP
【FI】
H04N19/117
H04N19/176
H04N19/70
H04N19/82
H04N19/86
(21)【出願番号】P 2022517443
(86)(22)【出願日】2020-11-09
(86)【国際出願番号】 US2020059612
(87)【国際公開番号】W WO2021194556
(87)【国際公開日】2021-09-30
【審査請求日】2022-03-17
(32)【優先日】2020-03-27
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-10-22
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】シャン・リュウ
【審査官】岩井 健二
(56)【参考文献】
【文献】特表2017-519460(JP,A)
【文献】特表2014-533027(JP,A)
【文献】特開2005-039766(JP,A)
【文献】米国特許出願公開第2017/0064339(US,A1)
【文献】国際公開第2013/162441(WO,A1)
【文献】Benjamin Bross, Jianle Chen, and Shan Liu,Versatile Video Coding (Draft 6),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O2001-vE,15th Meeting: Gothenburg, SE,2019年07月31日,pp.40-43
【文献】Benjamin Bross, Jianle Chen, Shan Liu, and Ye-Kui Wang,Versatile Video Coding (Draft 8),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-Q2001 (version 15),17th Meeting: Brussels, BE,2020年03月12日,pp.44-50,59-61,116-117,125,147,335-336,343-351,353-355
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 ー 19/98
(57)【特許請求の範囲】
【請求項1】
デコーダが実行する動画復号方法であって、
符号化された動画列の一部である対象のピクチャ中の対象のブロックの予測情報を復号するステップであって、前記予測情報は第1のシンタックス要素と第2のシンタックス要素とを含み、前記第1のシンタックス要素は
、第1号修正と第2号修正とを含む複数のデブロッキングフィルタ操作が利用可能であるかを示し、前記第2のシンタックス要素は前記複数のデブロッキングフィルタ操作の部分集合を示
し、
前記第1のシンタックス要素はシーケンスパラメータセットレベルにあり、
前記第2のシンタックス要素は、ピクチャレベル又はスライスレベルにあり、かつ前記対象のブロックに対してフィルタリング操作が有効にされることを示すデブロッキング制御フラグと同じレベルにあり、
前記第2のシンタックス要素が、前記第1号修正および前記第2号修正の両方またはいずれかを有効または無効にすることを表し、
前記第1号修正は、前記対象のブロックの境界によって分けられた2つのサンプルのサンプル値の差が閾値を超えるときは、前記境界にデブロッキングフィルタを適用しない操作であり、
前記第2号修正は、前記境界によって分けられた2つの領域の一方に位置する複数のサンプルの個数を4つにする操作である、
ステップと、
前記第1のシンタックス要素に基づいて、前記複数のデブロッキングフィルタ操作が利用可能であり、前記対象のブロックに用いることが可能であるか否かを判断するステップであって、各デブロッキングフィルタ操作によるデブロッキングフィルタは
前記境界に適用される、ステップと、
前記第2のシンタックス要素と、前記複数のデブロッキングフィルタ操作が利用可能であって前記対象のブロックに用いることが可能であることとに基づいて、前記複数のデブロッキングフィルタ操作の前記部分集合を前記対象のブロックに用いることが可能であるか否かを判断するステップと、
前記複数のデブロッキングフィルタ操作の前記部分集合を前記対象のブロックに用いることが可能であることに基づいて、
前記2つの領域の前記一方に位置する前記複数のサンプルに基づいて前記対象のブロックの前記デブロッキングフィルタの境界強度を決定するステップと
を備える
、方法。
【請求項2】
前記複数のデブロッキングフィルタ操作の前記部分集合を前記対象のブロックに用いることが可能であるか否かを判断する前記ステップは、
前記第2のシンタックス要素と、
前記デブロッキング制御フラグとに基づいて、前記複数のデブロッキングフィルタ操作のうちの1つを決定するステップ
を備える、請求項1に記載の方法。
と同じレベルのうちの1つにある、請求項
1に記載の方法。
【請求項3】
請求項1
または2に記載の方法を行うように構成された装置。
【請求項4】
少なくとも1つのプロセッサに
、請求項1
または2に記載の方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
参照による援用
本出願は、2020年3月27日に出願された米国仮出願第63/001,149号「HIGH LEVEL CONTROL FOR DEBLOCKING OPERATIONS」の優先権の利益を主張する、2020年10月22日に出願された米国特許出願第17/077,706号「HIGH LEVEL CONTROL FOR DEBLOCKING OPERATIONS」の優先権の利益を主張する。先の出願の開示全体が余さずこの参照によって援用される。
【0002】
本開示では概して動画符号化に関する実施形態を説明する。
【背景技術】
【0003】
本明細書に記載されている背景の説明は開示の背景を概略的に示すためのものである。この背景の記載箇所で説明されている範囲の、現時点で記名されている発明者の成果と、これ以外の、出願時点での先行技術としての条件を満たさないといえる説明の態様とは本開示に対する先行技術としては明示的にも暗示的にも認められない。
【0004】
動画符号化及び復号は動き補償とともにピクチャ間予測を用いて実行することができる。圧縮されていないデジタル動画はピクチャ列を含む場合があり、各ピクチャは所定の空間的大きさを持ち、たとえば1920×1080個の輝度サンプル、及び関連する色度サンプルという空間的大きさを持つ。ピクチャ列は、不変であったり可変であったりするピクチャレート(非公式にはフレームレートとしても知られている)を持ち、たとえば毎秒60ピクチャすなわち60Hzのピクチャレート持つ場合がある。圧縮されていない動画には厳しいビットレート要件がある。たとえば、1サンプルあたり8ビットの1080p60 4:2:0の動画(フレームレート60Hzで1920×1080輝度サンプルの解像度)は約1.5Gbit/sの帯域幅を要する。このような動画1時間には600GByte以上の記憶領域が必要である。
【0005】
動画符号化及び復号の目的の1つは、圧縮によって入力動画信号の冗長さを削減することであるといえる。圧縮は、上述の帯域幅要件や記憶領域要件を緩和するのに有用であるといえ、場合によっては、2桁以上緩和するのに有用であるといえる。可逆圧縮と非可逆圧縮との両方と、これらの組み合わせとを用いることができる。可逆圧縮とは、圧縮された元の信号から元の信号の厳密な複製を再構成することができる手法を指す。非可逆圧縮を用いると、再構成された信号は元の信号とは同一ではない場合があるが、元の信号と再構成された信号との間の歪みは、再構成された信号が目的の用途に用いることができるようになる程度に十分小さい。動画の場合には、非可逆圧縮が広く用いられている。容認される歪みの量は用途に依存し、たとえば、特定の民生用ストリーミング用途のユーザはテレビ配信用途のユーザよりも大きい歪みを容認する場合がある。圧縮率の実現可能性は、許容可能な/容認可能な歪みが大きいと圧縮率を大きくすることができることに影響し得る。
【0006】
たとえば、動き補償、変換、量子化やエントロピ符号化を含む、いくつかの幅広いカテゴリから得られる手法を動画エンコーダ及びデコーダに利用することができる。
【0007】
動画コーデック技術はイントラ符号化として知られている手法を含むことができる。イントラ符号化では、以前に再構成された参照ピクチャからサンプル又はその他データを参照せずにサンプル値を表現する。いくつかの動画コーデックでは、ピクチャをサンプルのブロックに空間的に細分する。サンプルのすべてのブロックをイントラモードで符号化する場合、当該ピクチャがイントラピクチャであることが可能である。イントラピクチャと、independent decoder refreshピクチャなどのその派生とを用いてデコーダの状態をリセットすることができるので、これを、符号化された動画のビットストリームや動画のセッションの最初のピクチャとして用いたり、静止画像として用いたりすることができる。イントラブロックのサンプルが変換を受けることが可能であり、変換係数をエントロピ符号化の前に量子化することができる。イントラ予測は、変換前のドメインでサンプル値を最小限にする手法であることが可能である。場合によっては、変換後のDC値が小さく、AC係数が小さいほど、所与の量子化ステップで必要なビットのサイズが小さくなり、これはエントロピ符号化後のブロックを表す。
【0008】
たとえばMPEG-2世代の符号化技術で知られている符号化などの従来のイントラ符号化ではイントラ予測を用いていない。しかし、いくつかのより新規の動画圧縮技術は、たとえば、空間的に近隣のデータのブロックや復号順で先行するデータのブロックの符号化/復号の際に得られる周囲のサンプルデータ及び/又はメタデータから試行する手法を含む。以下、このような手法を「イントラ予測」手法と称する。少なくともいくつかの例では、イントラ予測で、再構成中の対象のピクチャの参照データしか用いておらず、参照ピクチャの参照データは用いていないことに留意する。
【0009】
多くの異なる形態のイントラ予測が存在することが可能である。このような手法の1つ以上を所与の動画符号化技術に用いることができる場合、用いられる手法をイントラ予測モードで符号化することができる。いくつかの例では、モードは下位モード及び/又はパラメータを有することができ、これを個別に符号化したりモードコードワードに含ませたりすることができる。所与のモード/下位モード/パラメータの組み合わせにどのコードワードを用いるかによって、イントラ予測による符号化効率の向上に影響を及ぼすことができるので、コードワードをビットストリームに変換するのに用いられるエントロピ符号化技術に影響を及ぼすことができる。
【0010】
イントラ予測の特定のモードがH.264から導入され、H.265で改良され、joint exploration model(JEM)、versatile video coding(VVC)、benchmark set(BMS)などの新規の符号化技術でさらに改良された。既に利用可能なサンプルに属している近隣のサンプルの値を用いて予測値ブロックを形成することができる。方向に応じて、近隣のサンプルのサンプル値を複製して予測値ブロックに入れる。用いられている方向の方の参照値をそのビットストリームにおいて符号化することができるし、参照値そのものを予測してもよい。
【0011】
図1Aを参照して、H.265の可能な33個の予測値方向(35個のイントラモードの33個のアンギュラモードに対応する)から得られる9つの予測値方向の部分集合が右下に示されている。矢印が集まる点(101)は予測中のサンプルを表す。矢印はサンプルを予測している方向を表す。たとえば、矢印(102)は、水平位置から45度の角度で、1つ以上のサンプルから右上に向かってサンプル(101)を予測することを示す。同様に、矢印(103)は、水平位置から22.5度の角度で、1つ以上のサンプルからサンプル(101)の左下に向かってサンプル(101)を予測することを示す。
【0012】
引き続き
図1Aを参照して、左上には4×4個のサンプルの正方形ブロック(104)が示されている(太い破線で示されている)。正方形ブロック(104)は16個のサンプルを含み、各々には、「S」と、サンプルのY次元の位置(たとえば行インデックス)と、サンプルのX次元の位置(たとえば列インデックス)とを含む指標が付されている。たとえば、サンプルS21は、(上から)Y次元において2番目のサンプルであって、(左から)X次元において1番目のサンプルである。同様に、サンプルS44はY次元とX次元との両方においてブロック(104)中で4番目のサンプルである。ブロックのサイズが4×4サンプルであれば、S44は右下にある。同様の番号の付け方にしたがった参照サンプルがさらに示されている。参照サンプルには、Rと、ブロック(104)に対する参照サンプルのY位置(たとえば行インデックス)及びX位置(列インデックス)とを含む指標が付されている。H.264でもH.265でも、予測サンプルは再構成中にブロックの近隣にある。したがって、負の値を用いる必要がない。
【0013】
ピクチャ内予測は、シグナリングされた予測方向に応じて割り当てられるように近隣のサンプルから参照サンプル値を複製することによって機能することができる。たとえば、当該ブロックについて、矢印(102)に合致する予測方向を示すシグナリングを、符号化された動画ビットストリームが含むと仮定する、すなわち、水平位置から45度の角度で、1つ以上の予測サンプルから右上に向かってサンプルを予測することを示すシグナリングを、符号化された動画ビットストリームが含むと仮定する。この場合、サンプルS41,S32,S23及びS14を同じ参照サンプルR05から予測する。その後、サンプルS44を参照サンプルR08から予測する。
【0014】
いくつかの例では、特に方向を45度で均等に分割することができない場合、参照サンプルを計算するために、複数の参照サンプルの値をたとえば内挿を通じて組み合わせてもよい。
【0015】
動画符号化技術が発展するのに応じて、可能な方向の個数が増大してきた。H.264(2003年)では、異なる9つの方向を表現することができた。これがH.265(2013年)では33個まで増加したが、JEM/VVC/BMSが開示時点で最大65個の方向をサポートすることができる。最も確からしい方向を特定するために実験が行われてきたが、少数のビットの場合のこのような確からしい方向を表現するのに、確からしさが低い方向についてのなんらかの不利益を許容しつつ、エントロピ符号化のいくつかの手法を用いている。さらに、場合によっては、近隣にある既に復号されたブロックで用いられている近隣の方向から方向そのものを予測することができる。
【0016】
図1BはJEMにしたがう65個のイントラ予測方向を示す概略図(105)を示しており、多数の時間的な予測方向が示されている。
【0017】
方向を表現する符号化された動画ビットストリーム中のイントラ予測方向ビットのマッピングは動画符号化技術が変わると異なる場合があり、このマッピングは、たとえば、予測方向の単純な直接マッピングから、イントラ予測モード、コードワード、最も可能性が高いモードをもたらす複雑な適合方式などの手法にまで及ぶことができる。しかし、すべての場合において、いくつかの方向よりも動画の内容物中で統計的に起こる確からしさが低いいくつかの方向が存在し得る。動画圧縮の目的が冗長さの削減であるので、このような確からしさが低い方向は、動画符号化技術が良好に機能する場合、確からしさがより高い方向よりも多数のビットによって表現される。
【0018】
動き補償は非可逆圧縮手法であることが可能であり、また、動き補償は、以前に再構成されたピクチャ又はその一部(参照ピクチャ)から得られるサンプルデータのブロックが、動きベクトル(以下、MV)によって示される方向に空間的にシフトされた後、新たに再構成されたピクチャ又はピクチャの部分の予測に用いられるという手法に関係することが可能である。場合によっては、参照ピクチャが、再構成が行われている時点のピクチャと同じである場合がある。MVは2つの次元X及びY又は3つの次元を持つことができ、第3の次元は用いられている参照ピクチャに関する指標である(第3の次元は間接的に時間次元であることが可能である)。
【0019】
いくつかの動画圧縮手法では、サンプルデータのある領域に適用可能なMVを他のMVから予測することができ、たとえば、再構成中の領域に空間的に隣接するサンプルデータの別の領域に関連するものや、復号順で当該MVに先行するものから予測することができる。このようにすることでMVを符号化するのに必要なデータの量を実質的に削減することができ、これにより、冗長さを取り除いて圧縮を向上させることができる。たとえば、カメラから得られた入力動画信号(未加工動画と呼ばれている)を符号化する場合、1つのMVを適用可能な領域よりも大きい領域が同様の方向に移動することから、場合によっては、近隣の領域のMVから導出された同様の動きベクトルを用いて当該領域を予測することができるという統計的確からしさが存在するので、MV予測は効果的に機能することができる。その結果、所与の領域で検知されるMVが周囲のMVから予測されたMVと同様になったり同一であったりし、これを、エントロピ符号化の後、MVを直接符号化する場合に用いられることになるビット数よりも少ないビット数で表現することができる。いくつかの例では、MV予測は、元の信号(すなわちサンプルストリーム)から信号(すなわちMV)の可逆圧縮が導出されるという例であることが可能である。他の例では、たとえば、周囲のいくつかのMVから予測値を計算するときの丸め誤差によりMV予測そのものが不可逆になる場合がある。
【0020】
様々なMV予測メカニズムがH.265/HEVC(ITU-T Rec.H.265,「High Efficiency Video Coding」,December 2016)で説明されている。H.265が提供する多くのMV予測メカニズムのうちから、本出願では以下「空間的マージ」と称する手法を説明する。
【0021】
図1Cを参照して、対象のブロック(111)は、動き探索プロセスの際にエンコーダによって検知されて、空間的にシフトされた同じサイズの以前のブロックから予想可能であるサンプルを含むことができる。当該MVを直接符号化する代わりに、1つ以上の参照ピクチャに関連づけられたメタデータからMVを導出することができ、たとえば、A0,A1及びB0,B1,B2(それぞれ112~116)で示されている周囲の5つのサンプルのいずれか1つに関連づけられたMVを用いて、最新(復号順)の参照ピクチャからMVを導出することができる。H.265において、MV予測では、近隣のブロックが用いている同じ参照ピクチャから得られる予測値を用いることができる。
【発明の概要】
【発明が解決しようとする課題】
【0022】
本開示の態様では、動画符号化/復号のための装置を提供する。
【課題を解決するための手段】
【0023】
本装置の1つは、符号化された動画列の一部である対象のピクチャ中の対象のブロックの予測情報を復号する処理回路を含む。予測情報は第1のシンタックス要素と第2のシンタックス要素とを含む。処理回路は、第1のシンタックス要素に基づいて、デブロッキングフィルタの境界強度(BS)を決定する複数のプロセスを対象のブロックに用いることが可能であるか否かを判断する。デブロッキングフィルタは対象のブロックの境界に適用される。デブロッキングフィルタのBSを決定する複数のプロセスを対象のブロックに用いることが可能である場合、処理回路は第2のシンタックス要素に基づいて、対象のブロックのデブロッキングフィルタのBSを決定する複数のプロセスの部分集合を決定する。処理回路はデブロッキングフィルタのBSを決定する複数のプロセスの部分集合に基づいて対象のブロックのデブロッキングフィルタのBSを決定する。
【0024】
一実施形態では、対象のブロックのデブロッキングフィルタのBSは、対象のブロックの境界によって分けられた2つの領域の一方に位置する複数のサンプルに基づいて決定される。一例では、対象のブロックの境界によって分けられた2つの領域の一方に位置する複数のサンプルの個数は2つと4つとの一方である。
【0025】
一実施形態では、処理回路は、対象のブロックの境界によって分けられた2つのサンプルのサンプル値の差が閾値を超えるか否かを判断する。対象のブロックの境界によって分けられた2つのサンプルのサンプル値の差が閾値を超える場合、処理回路は、対象のブロックの境界にデブロッキングフィルタを適用しないと判断する。
【0026】
一実施形態では、第1のシンタックス要素はシーケンスパラメータセットレベルにある。
【0027】
一実施形態では、処理回路は、第2のシンタックス要素と、対象のブロックに対してフィルタリング操作が有効にされることを示すデブロッキング制御フラグとに基づいて、対象のブロックのデブロッキングフィルタのBSを決定する複数のプロセスの1つを決定する。一例では、第2のシンタックス要素はピクチャレベル、スライスレベル、及びデブロッキング制御フラグと同じレベルのうちの1つにある。
【0028】
本開示の態様では、動画符号化/復号のための方法を提供する。本方法では、符号化された動画列の一部である対象のピクチャ中の対象のブロックの予測情報を復号する。予測情報は第1のシンタックス要素と第2のシンタックス要素とを含む。第1のシンタックス要素に基づいて、デブロッキングフィルタのBSを決定する複数のプロセスを対象のブロックに用いることが可能であるか否かを判断する。デブロッキングフィルタは対象のブロックの境界に適用される。デブロッキングフィルタのBSを決定する複数のプロセスを対象のブロックに用いることが可能である場合、第2のシンタックス要素に基づいて、対象のブロックのデブロッキングフィルタのBSを決定する複数のプロセスの部分集合を決定する。デブロッキングフィルタのBSを決定する複数のプロセスの部分集合に基づいて対象のブロックのデブロッキングフィルタのBSを決定する。
【0029】
本開示の態様では、動画復号のためにコンピュータによって実行されるときに動画復号方法のいずれか1つ又はこれらの組み合わせをコンピュータに実行させる指示を記憶する非一時的コンピュータ可読媒体も提供する。
【0030】
以下の詳細な説明と添付の図面とから、開示されている保護対象のさらなる特徴、性質及び様々な効果がより明らかになる。
【図面の簡単な説明】
【0031】
【
図1A】イントラ予測モードの典型的な部分集合の概略図である。
【
図1C】一例における対象のブロックとその周囲の空間的マージ候補との概略図である。
【
図2】一実施形態に係る通信システムの簡略ブロック図の概略図である。
【
図3】一実施形態に係る通信システムの簡略ブロック図の概略図である。
【
図4】一実施形態に係るデコーダの簡略ブロック図の概略図である。
【
図5】一実施形態に係るエンコーダの簡略ブロック図の概略図である。
【
図6】別の実施形態に係るエンコーダのブロック図を示す。
【
図7】別の実施形態に係るデコーダのブロック図を示す。
【
図8】一実施形態に係る、境界強度値を決定する典型的なプロセスのフローチャートを示す。
【
図9】一実施形態に係る、境界強度値の決定に用いる典型的なサンプル位置を示す。
【
図10】別の実施形態に係る、境界強度値の決定に用いる典型的なサンプル位置を示す。
【
図11】本開示の一実施形態に係る典型的なプロセスを概略的に説明するフローチャートを示す。
【
図12】一実施形態に係るコンピュータシステムの概略図である。
【発明を実施するための形態】
【0032】
I.動画デコーダとエンコーダシステム
図2は、本開示の一実施形態に係る通信システム(200)の簡略ブロック図を示す。通信システム(200)は、互いとたとえばネットワーク(250)を介して通信することができる複数の端末装置を含む。たとえば、通信システム(200)はネットワーク(250)を介して相互接続されている端末装置(210)及び(220)の第1のペアを含む。
図2の例では、端末装置(210)及び(220)の第1のペアはデータの一方向伝送を行う。たとえば、端末装置(210)はネットワーク(250)を介して他の端末装置(220)に送信するために動画データ(たとえば、端末装置(210)によって撮像された動画ピクチャのストリーム)を符号化してもよい。符号化された動画データを1つ以上の符号化された動画ビットストリームとして送信することができる。端末装置(220)は符号化された動画データをネットワーク(250)から受信し、符号化された動画データを復号して動画ピクチャを復元し、復元された動画データに応じた動画ピクチャを表示することができる。一方向データ伝送はメディア提供用途などで共有されてもよい。
【0033】
別の例では、通信システム(200)は、たとえばテレビ会議の際に行われる場合がある符号化された動画データの双方向伝送を行う端末装置(230)及び(240)の第2のペアを含む。データの双方向伝送の場合、一例であるが、端末装置(230)及び(240)の各端末装置はネットワーク(250)を介して端末装置(230)及び(240)のうちの他方の端末装置に送信するために、動画データ(たとえば、端末装置によって撮像された動画ピクチャのストリーム)を符号化してもよい。端末装置(230)及び(240)の各端末装置は、端末装置(230)及び(240)のうちの他方の端末装置によって送信された符号化された動画データの受信も行ってもよく、符号化された動画データを復号して動画ピクチャを復元し、復元された動画データに応じた動画ピクチャを、アクセス可能な表示装置で表示してもよい。
【0034】
図2の例では、端末装置(210),(220),(230)及び(240)をサーバ、パーソナルコンピュータ及びスマートフォンとして例示することができるが、本開示の原理をそのように限定しなくてもよい。本開示の実施形態では、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ及び/又は専用のテレビ会議機器を用いる適用例が考えられる。ネットワーク(250)は、たとえば配線(有線)及び/又は無線通信ネットワークを含む、端末装置(210),(220),(230)及び(240)間で、符号化された動画データを伝達する任意の数のネットワークを表す。通信ネットワーク(250)は回線交換及び/又はパケット交換チャンネルでデータを交換してもよい。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク及び/又はインターネットを含む。本例の説明上、以下本出願で説明されない限り、ネットワーク(250)のアーキテクチャ及びトポロジは本開示の動作に重要ではない場合がある。
【0035】
図3は、開示されている保護対象に適用する例として、ストリーミング環境における動画エンコーダ及び動画デコーダの配置を示す。開示されている保護対象を、たとえば、テレビ会議、デジタルテレビ、CD、DVD、メモリスティックを含むデジタル媒体への圧縮された動画の記憶などを含む他の動画を使用可能な適用例に同様に適用可能であることが可能である。
【0036】
ストリーミングシステムは、たとえば圧縮されていない動画ピクチャのストリーム(302)を生成する動画供給源(301)、たとえばデジタルカメラを含むことができる撮像サブシステム(313)を含んでもよい。一例では、動画ピクチャのストリーム(302)はデジタルカメラによって撮られるサンプルを含む。符号化された動画データ(304)(すなわち符号化された動画ビットストリーム)と比較する場合にデータ量が多いことを強調するために動画ピクチャのストリーム(302)を太線で示しているが、その動画ピクチャのストリーム(302)を、動画供給源(301)に接続されている動画エンコーダ(303)を含む電子装置(320)によって処理することができる。動画エンコーダ(303)は、以降で詳細に説明されている、開示されている保護対象の態様を可能にしたり実施したりするハードウェア、ソフトウェア又はこれらの組み合わせを含むことができる。動画ピクチャのストリーム(302)と比較する場合にデータ量が少ないことを強調するために、符号化された動画データ(304)(すなわち符号化された動画ビットストリーム(304))を細線で示しているが、この符号化された動画データ(304)を、後の使用のためにストリーミングサーバ(305)に記憶することができる。
図3のクライアントサブシステム(306)及び(308)などの1つ以上のストリーミングクライアントサブシステムはストリーミングサーバ(305)にアクセスして、符号化された動画データ(304)の複製(307)及び(309)を取得することができる。クライアントサブシステム(306)は、たとえば電子装置(330)中にある動画デコーダ(310)を含むことができる。動画デコーダ(310)は符号化された動画データの複製(307)を入力して復号し、ディスプレイ(312)(たとえば、表示画面)又はその他描画する装置(図示せず)に描画することができる動画ピクチャの出力ストリーム(311)を生成する。いくつかのストリーミングシステムでは、符号化された動画データ(304),(307)及び(309)(たとえば動画ビットストリーム)を特定の動画符号化/圧縮標準にしたがって符号化することができる。このような標準の例にはITU-T勧告H.265が含まれる。一例では、開発中の動画符号化標準が非公式にはVe
rsatile Video Coding(VVC)として知られている。開示されている保護対象をVVCを前提として用いてもよい。
【0037】
電子装置(320)及び(330)が他の構成要素(図示せず)を含むことができることに留意する。たとえば、電子装置(320)が動画デコーダ(図示せず)を含むことができ、同様に、電子装置(330)が動画エンコーダ(図示せず)を含むことができる。
【0038】
図4は本開示の一実施形態に係る動画デコーダ(410)のブロック図を示す。動画デコーダ(410)を電子装置(430)に含ませることができる。電子装置(430)は受信器(431)(たとえば受信回路)を含むことができる。動画デコーダ(410)を
図3の例の動画デコーダ(310)の代わりに用いることができる。
【0039】
受信器(431)は、動画デコーダ(410)によって復号されることになる1つ以上の符号化された動画列を受信してもよく、一度に1つの符号化された動画列を同じ実施形態で受信したり別の実施形態で受信したりし、符号化された各動画列の復号は他の符号化された動画列とは独立している。符号化された動画列をチャンネル(401)から受信してもよく、チャンネル(401)は、符号化された動画データを記憶する記憶装置につなげられたハードウェア/ソフトウェアであってもよい。受信器(431)は他のデータ、たとえば符号化された音声データ及び/又は付属データストリームとともに符号化された動画データを受信してもよく、当該他のデータを、それに対応する所用のもの(図示せず)に転送してもよい。受信器(431)は符号化された動画列を他のデータから分離してもよい。ネットワークジターに対処するために、受信器(431)とエントロピデコーダ/パーサ(420)(以下「パーサ(420)」)との間にバッファメモリ(415)を接続してもよい。いくつかの適用例では、バッファメモリ(415)は動画デコーダ(410)の一部である。他の例では、バッファメモリ(415)は動画デコーダ(410)外に存在することが可能である(図示せず)。さらに他の例では、たとえばネットワークのジッタに対処するために、動画デコーダ(410)外にバッファメモリ(図示せず)が存在することが可能であり、これに加えて、たとえばプレイアウトのタイミングを処理するために、動画デコーダ(410)内に別のバッファメモリ(415)が存在することが可能である。受信器(431)が十分な帯域幅及び制御性を持つ記憶/転送装置やアイソクロナスネットワークからデータを受信するものである場合、バッファメモリ(415)を要さずともよいし、バッファメモリ(415)が小規模であることが可能である。インターネットなどのベストエフォートパケットネットワークに用いる場合には、バッファメモリ(415)を要する場合があり、バッファメモリ(415)は比較的大規模であることが可能であり、かつ最適なサイズのメモリであることが可能であることが有効であり、バッファメモリ(415)を動画デコーダ(410)外のオペレーティングシステムや同様の要素(図示せず)で少なくとも部分的に実施してもよい。
【0040】
動画デコーダ(410)は、符号化された動画列からシンボル(421)を再構成するパーサ(420)を含んでもよい。このようなシンボルのカテゴリには動画デコーダ(410)の動作を管理するのに用いられる情報が含まれ、
図4に示したように、電子装置(430)の一体部分ではなく、電子装置(430)に接続されることが可能である描画装置(412)(たとえば表示画面)などの描画する装置を制御する情報が含まれる場合がある。1つ以上の描画する装置に用いる制御情報はSupplemental Enhancement Information(SEIメッセージ)やVideo Usability Information(VUI)パラメータ集合フラグメント(図示せず)の形態をとってもよい。パーサ(420)は、受信された符号化された動画列をパース/エントロピ復号することができる。当該符号化された動画列の符号化は動画符号化技術や標準に準拠することが可能であり、可変長符号化、ハフマン符号化、文脈依存を用いたり用いなかったりする算術符号化などを含む様々な原理にしたがうことができる。パーサ(420)は、符号化された動画列から、動画デコーダ中にある画素の部分群の少なくとも1つについての部分群パラメータの集合を、群に対応する少なくとも1つのパラメータに基づいて抽出してもよい。部分群は、Group of Picture(GOP)、ピクチャ、タイル、スライス、マクロブロック、Coding Unit(CU)、ブロック、Transform Unit(TU)、Prediction Unit(PU)などを含むことができる。パーサ(420)は、変換係数、クオンタイザパラメータ値、動きベクトルなどの符号化された動画列情報からも抽出を行ってもよい。
【0041】
パーサ(420)は、バッファメモリ(415)から受けた動画列にエントロピ復号/パーサ動作を実行することでシンボル(421)を生成してもよい。
【0042】
シンボル(421)の再構成には、符号化された動画ピクチャ又はその部分のタイプ(たとえばピクチャ間及びピクチャ内、ブロック間及びブロック内)と他の因子とに応じて複数の異なる部位を関与させることができる。どの部位を関与させ、どのように関与させるのかを、符号化された動画列からパーサ(420)によってパースされた部分群制御情報によって制御することができる。明確にするために、パーサ(420)と後述の複数の部位との間の、このような部分群の制御情報のフローは示されていない。
【0043】
既に説明されている機能ブロックについてさらに言えば、動画デコーダ(410)を、後述のように複数の機能部位に概念的に細分することができる。商業上の制約を受けながら運用される実際の実現例では、このような部位の多くは互いに緊密にやり取りし、互いに少なくとも部分的に一体化されることが可能である。一方で、開示されている保護対象を説明する上では、後述の機能部位に概念的に細分することはその目的に合致する。
【0044】
最初の部位はスケーラ/逆変換部(451)である。スケーラ/逆変換部(451)はパーサ(420)からシンボル(421)として、量子化された変換係数と、使用される変換、ブロックサイズ、量子化係数(quantization factor)、量子化スケーリングマトリックスなどを含む制御情報とを受ける。スケーラ/逆変換部(451)は、集合器(455)に入力することができるサンプル値を備えるブロックを出力することができる。
【0045】
いくつかの例では、スケーラ/逆変換(451)の出力サンプルは、イントラ符号化ブロック、すなわち、以前に再構成されたピクチャから得られる予測的情報を用いていないが、対象のピクチャの以前に再構成された部分から得られる予測的情報を用いることができるブロックに適する場合がある。このような予測的情報をピクチャ内予測部(452)によって提供することができる。いくつかの例では、ピクチャ内予測部(452)は、対象ピクチャバッファ(458)から取得された周囲の既に再構成済みの情報を用いて、再構成中のブロックと同じサイズ及び形状のブロックを生成する。対象ピクチャバッファ(458)は、たとえば、部分的に再構成された対象のピクチャ及び/又は全体的に再構成された対象のピクチャをバッファリングする。いくつかの例では、集合器(455)は、サンプル毎に、イントラ予測部(452)によって生成済みの予測情報を、スケーラ/逆変換部(451)によって提供された出力サンプル情報に加える。
【0046】
他の例では、スケーラ/逆変換部(451)の出力サンプルはインタ符号化ブロックに適し、場合によっては動き補償されたブロックに適する場合がある。このような例では、動き補償予測部(453)が参照ピクチャメモリ(457)にアクセスして、予測に用いられるサンプルを取得することができる。ブロックに関係するシンボル(421)に応じて、取得されたサンプルを動き補償した後、当該サンプルをスケーラ/逆変換部(451)の出力(この例では残差サンプルや残差信号と称する)に集合器(455)によって加えることで、出力サンプル情報を生成することができる。動き補償予測部(453)が予測サンプルを取得する取得元の参照ピクチャメモリ(457)内のアドレスを動きベクトルによって制御することができ、動きベクトルは、たとえばX、Y及び参照ピクチャ成分を有することができるシンボル(421)の形態をとった状態で動き補償予測部(453)に利用可能である。動き補償は、サブサンプルの正確な動きベクトルが用いられている場合の、参照ピクチャメモリ(457)から取得されるサンプル値の内挿、動きベクトル予測メカニズムなどを含むこともできる。
【0047】
集合器(455)の出力サンプルは、ループフィルタ部(456)で様々なループフィルタリング手法を受けることができる。動画圧縮技術はループ内フィルタ技術を含むことができ、ループ内フィルタ技術は、符号化された動画列(符号化された動画ビットストリームとも称する)に含まれ、ループフィルタ部(456)に利用可能にされる、パーサ(420)からのシンボル(421)としてのパラメータによって制御される一方で、符号化されたピクチャ又は符号化された動画列の以前(復号順)の部分を復号する際に取得されるメタ情報に対応することもでき、かつ以前に再構成され、ループフィルタを通ったサンプル値にも対応することもできる。
【0048】
ループフィルタ部(456)の出力は、描画装置(412)に出力することができるだけでなく、後のピクチャ間予測で用いるために参照ピクチャメモリ(457)に記憶することもできるサンプルストリームであることが可能である。
【0049】
いくつかの符号化されたピクチャは、完全に再構成されると、後の予測のために参照ピクチャとして用いられることが可能である。たとえば、対象のピクチャに対応する符号化済みピクチャが完全に再構成され、符号化済みピクチャが参照ピクチャとして(たとえばパーサ(420)によって)特定されると、対象ピクチャバッファ(458)は参照ピクチャメモリ(457)の一部になることが可能であり、次の符号化済みピクチャの再構成を開始する前に、新たな対象ピクチャバッファを割り当てし直すことができる。
【0050】
動画デコーダ(410)は所定の標準(たとえばITU-T勧告H.265)の既定の動画圧縮技術にしたがって復号動作を行ってもよい。符号化された動画列が動画圧縮技術や標準のシンタックスと、動画圧縮技術や標準の文書に記載されているプロファイルとの両方を遵守するという意味で、符号化された動画列は、用いられている動画圧縮技術や標準によって定められているシンタックスに準拠するといえる。特に、プロファイルについては、動画圧縮技術や標準で利用可能なすべてのツールから、当該プロファイルにしたがった使用に供することができる唯一のツールとして所定のツールを選択することができる。符号化された動画列の複雑さが動画圧縮技術や標準のレベルによって定められた限界内にあることも準拠性(compliance)に必要であるといえる。いくつかの例では、レベルに応じて、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(たとえば毎秒100万サンプルで測定)、最大参照ピクチャサイズなどが制限される。レベルによって設けられる限界は、いくつかの例では、Hypothetical Reference Decoder(HRD)の仕様と、符号化された動画列でシグナリングされるHRDバッファ管理用のメタデータとにより、さらに制限される場合がある。
【0051】
一実施形態では、受信器(431)が符号化された動画とともに付随(冗長)データを受信してもよい。付随データが符号化された動画列の一部として含まれてもよい。付随データを動画デコーダ(410)で用いて、データを適切に復号しかつ/又は元の動画データをより正確に再構成してもよい。たとえば、付随データは、時間的、空間的又は信号雑音比(SNR)enhancement layer、redundant slice、redundant picture、前方誤り訂正符号などの形態をとることができる。
【0052】
図5は、本開示の一実施形態に係る動画エンコーダ(503)のブロック図を示す。動画エンコーダ(503)は電子装置(520)に含まれる。電子装置(520)は送信器(540)(たとえば送信回路)を含む。動画エンコーダ(503)を
図3の例の動画エンコーダ(303)の代わりに用いることができる。
【0053】
動画エンコーダ(503)は、動画エンコーダ(503)によって符号化されることになる1つ以上の動画画像を撮像することができる動画供給源(501)(
図5の例では電子装置(520)の一部ではない)から動画サンプルを受けてもよい。別の例では、動画供給源(501)は電子装置(520)の一部である。
【0054】
動画供給源(501)は、任意の適切なビット深度(たとえば:8ビット、10ビット、12ビット、…)、任意の色空間(たとえば、BT.601 Y CrCB、RGB、…)及び任意の適切なサンプリング構造(たとえば、Y CrCb 4:2:0、Y CrCb 4:4:4)が可能であるデジタル動画サンプルストリームとして動画エンコーダ(503)によって符号化されることになる供給源動画列を提供してもよい。メディア提供システムでは、動画供給源(501)は、予め用意された動画を記憶する記憶装置であってもよい。テレビ会議システムでは、動画供給源(501)は、現地の画像情報を動画列として撮像するカメラであってもよい。順番に見られると動きを実現する複数の個々のピクチャとして動画データを提供してもよい。ピクチャをそのまま画素の空間的配列として編成してもよく、各画素は使用されているサンプリング構造、色空間などに応じた1つ以上のサンプルを備えることができる。画素とサンプルとの関係については当業者は容易に理解することができる。以下の説明ではサンプルに注目する。
【0055】
一実施形態に係れば、動画エンコーダ(503)は供給源動画列のピクチャを符号化済み動画列(543)にリアルタイムに符号化して圧縮してもよいし、用途によって必要とされる任意の他の時間制約を受けつつ符号化して圧縮してもよい。適切な符号化速度を強制的に維持することは、コントローラ(550)の機能の1つである。いくつかの実施形態では、コントローラ(550)は後述されている他の機能部位を制御し、他の機能部位に機能的に接続されている。明確にするために、接続については示されていない。コントローラ(550)によって設定されるパラメータは、レート制御関連のパラメータ(ピクチャスキップ、クオンタイザ、レート-歪み最適化手法のλの値、…)、ピクチャサイズ、group of picture(GOP)のレイアウト、最長の動きベクトルが許容される参照領域などを含むことができる。特定のシステム設計に最適化された動画エンコーダ(503)に関する他の適切な機能を持つようにコントローラ(550)を構成することができる。
【0056】
いくつかの実施形態では、動画エンコーダ(503)は、符号化ループで動作するように構成されている。最大限単純化した説明として、一例では、符号化ループは供給源コーダ(530)(たとえば、符号化されることになる入力ピクチャと1つ以上の参照ピクチャとに基づいて、シンボルストリームなどのシンボルを生成することを担う)と、動画エンコーダ(503)に組み込まれた(別の場所ではなくこの場所にある)デコーダ(533)とを含むことができる。デコーダ(533)はシンボルを再構成して、あたかも(別の場所にある)デコーダによっても生成されるのと同様にサンプルデータを生成する(シンボルと符号化された動画ビットストリームとの間の任意の圧縮は開示されている保護対象で検討されている動画圧縮技術に含まれる可逆圧縮である)。再構成されたサンプルストリーム(サンプルデータ)は参照ピクチャメモリ(534)に入力される。シンボルストリームを復号すると、デコーダの場所(この場所にあるのか別の場所にあるのか)とは無関係に正確なビット結果がもたらされるので、参照ピクチャメモリ(534)の内容についても、この場所にあるエンコーダと別の場所にあるエンコーダとの比較でビットが正確になる。言い換えると、あたかもデコーダが復号の際に予測を用いるときに「見る」のと同じサンプル値を、エンコーダの予測部分は参照ピクチャサンプルとして正確に「見る」。このような参照ピクチャの同時性(さらには、たとえばチャンネルエラーによって同時性を維持することができない場合に結果として生じるドリフト)の基本原理がいくつかの関連技術にも用いられている。
【0057】
「この場所にある」デコーダ(533)の動作は、
図4をともなって上記で既に詳細に説明されている「別の場所にある」動画デコーダ(410)などのデコーダの動作と同じであることが可能である。しかし、幾分
図4も参照するが、シンボルが有効であり、かつエントロピコーダ(545)及びパーサ(420)によるシンボルの符号化/符号化済み動画列への復号が可逆であることが可能であるので、バッファメモリ(415)とパーサ(420)とを含む動画デコーダ(410)のエントロピ復号部分はこの場所にあるデコーダ(533)では完全には実施されない場合がある。
【0058】
この時点で言えることは、デコーダに存在するパース/エントロピ復号以外のどのデコーダ技術も、対応するエンコーダにやはり必ず実質的に同一の機能的形態で存在する必要があるということである。この理由から、開示されている保護対象ではデコーダの動作に注目している。エンコーダ技術の説明は、全体が説明されているデコーダ技術の逆であるので、省略することができる。特定の部分だけはより詳細な説明が必要であるので、以下に記載する。
【0059】
動作の際、いくつかの例では、供給源コーダ(530)は、「参照ピクチャ」に指定された動画列から得られた以前に符号化された1つ以上のピクチャを参照して予測して入力ピクチャを符号化する動き補償予測符号化を行ってもよい。このようにして、符号化エンジン(532)は、入力ピクチャの画素ブロックと、入力ピクチャに対する1つ以上の予測参照として選択することができる1つ以上の参照ピクチャの画素ブロックとの差分を符号化する。
【0060】
この場所にある動画デコーダ(533)は、供給源コーダ(530)によって生成されたシンボルに基づいて、参照ピクチャに指定することができるピクチャの符号化された動画データを復号してもよい。符号化エンジン(532)の動作が非可逆プロセスであることが有効である場合がある。符号化された動画データがなんらかの動画デコーダ(
図5には示されていない)で復号されることがある場合、再構成された動画列は一般的に多少の誤差をともなう供給源動画列の複製である場合がある。この場所にある動画デコーダ(533)は、参照ピクチャに対して動画デコーダによって行われる場合がある復号プロセスを繰り返し、再構成された参照ピクチャが参照ピクチャキャッシュ(534)に記憶されるようにしてもよい。このようにして、動画エンコーダ(503)は、遠端の動画デコーダによって得られることになる再構成された参照ピクチャと共通の内容を持つ再構成された参照ピクチャの複製をこの場所に記憶することができる(伝送エラーなし)。
【0061】
予測器(535)は符号化エンジン(532)のために予測探索を行ってもよい。すなわち、符号化されることになる新たなピクチャのために、予測器(535)は、サンプルデータ(候補参照画素ブロックとしてのサンプルデータ)を得たり、新たなピクチャのための適切な予測参照を担うことができる参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを得たりするために参照ピクチャメモリ(534)を探索してもよい。予測器(535)は、適切な予測参照を検知するのに画素ブロック毎に1つのサンプルブロックを用いるようにして動作してもよい。いくつかの例では、予測器(535)によって得られる探索結果によって判断する際、入力ピクチャは、参照ピクチャメモリ(534)に記憶されている複数の参照ピクチャから得られた予測参照を含むことができる。
【0062】
たとえば、コントローラ(550)は、動画データを符号化するのに用いられるパラメータ及び部分群パラメータの設定を含む、供給源コーダ(530)の符号化動作の管理を行ってもよい。
【0063】
上述のすべての機能部位の出力がエントロピコーダ(545)でエントロピ符号化を受けてもよい。エントロピコーダ(545)は、ハフマン符号化、可変長符号化、算術符号化などの技術にしたがってシンボルを可逆圧縮することによって、様々な機能部位によって生成されたシンボルを符号化済み動画列に変換する。
【0064】
送信器(540)が通信チャンネル(560)を通じた送信に備えるためにエントロピコーダ(545)によって生成された1つ以上の符号化された動画列をバッファリングしてもよく、送信器(540)は、符号化された動画データを記憶する記憶装置につなげられたハードウェア/ソフトウェアであってもよい。送信器(540)は、送信されることになる他のデータ、たとえば、符号化された音声データ及び/又は付属データストリーム(供給源は示されていない)を、動画コーダ(503)から得られた符号化された動画データに統合してもよい。
【0065】
コントローラ(550)は動画エンコーダ(503)の動作を管理してもよい。符号化の際、コントローラ(550)は符号化されたピクチャ毎に、それぞれのピクチャに適用することができる符号化手法に影響を及ぼすことができる特定の符号化済みピクチャのタイプを割り当ててもよい。たとえば、多くの場合、以下のピクチャタイプの1つとしてピクチャを割り当てることができる。
【0066】
Intra Picture(Iピクチャ)は、予測の元になるものとして列中の他の一切のピクチャを用いずに符号化及び復号を行うことができるピクチャであるといえる。いくつかの動画コーデックでは、たとえばIndependent Decoder Refresh(IDR)ピクチャを含む様々なタイプのイントラピクチャが可能である。Iピクチャのこのような変形例とそれに対応する適用例及び特徴部とに当業者は想到する。
【0067】
predictive picture(Pピクチャ)は、イントラ予測又はインタ予測を用い、各ブロックのサンプル値を予測するのに最大1つの動きベクトルと参照インデックスとを用いて符号化及び復号を行うことができるピクチャであるといえる。
【0068】
bi-directionally predictive picture(Bピクチャ)は、イントラ予測又はインタ予測を用い、各ブロックのサンプル値を予測するのに最大2つの動きベクトルと参照インデックスとを用いて符号化及び復号を行うことができるピクチャであるといえる。同様に、multiple-predictive pictureでは、1つのブロックの再構成のために、2つ以上の参照ピクチャと関連メタデータとを用いることができる。
【0069】
一般的に、供給源ピクチャを複数のサンプルブロックに空間的に細分することができ(たとえば、それぞれ4×4、8×8、4×8や16×16個のサンプルのブロック)、ブロックを1つずつ符号化することができる。それぞれのブロックに対応するピクチャに適用される符号化割り当てによって判断される際に、他の(既に符号化された)ブロックを参照して予測してブロックを符号化してもよい。たとえば、Iピクチャのブロックを予測を用いずに符号化してもよいし、同じピクチャの既に符号化されたブロックを参照して、予測を用いて符号化してもよい(空間的予測又はイントラ予測)。Pピクチャの画素ブロックを、空間的予測を用いたり、以前に符号化された1つの参照ピクチャを参照して時間的予測を用いたりして、予測を用いて符号化してもよい。Bピクチャのブロックを、空間的予測を用いたり、以前に符号化された1つ又は2つの参照ピクチャを参照して時間的予測を用いたりして、予測を用いて符号化してもよい。
【0070】
動画エンコーダ(503)は既定の動画符号化技術や標準(たとえばITU-T勧告H.265)にしたがって符号化動作を行ってもよい。その動作では、動画エンコーダ(503)は、入力動画列の時間的冗長さと空間的冗長さとを利用する予測符号化動作を含む様々な圧縮動作を行ってもよい。したがって、符号化された動画データは、用いられている動画符号化技術や標準によって定められているシンタックスに準拠してもよい。
【0071】
一実施形態では、送信器(540)は符号化された動画とともに付随データを送信してもよい。供給源コーダ(530)は符号化された動画列の一部としてこのようなデータを含んでもよい。付随データは、時間的/空間的/SNR enhancement layer、redundant pictureやredundant sliceなどの冗長データの他の形態、SEIメッセージ、VUIパラメータ集合フラグメントなどを備えてもよい。
【0072】
動画を複数の供給源ピクチャ(動画ピクチャ)として時間順に撮像してもよい。ピクチャ内予測(イントラ予測と略されることが多い)では所与のピクチャ内の空間的相関を利用し、ピクチャ間予測ではピクチャ間の相関(時間的相関又は他の相関)を利用する。一例では、対象のピクチャと称されている、符号化/復号中の特定のピクチャがブロックに分割される。対象のピクチャ中のブロックが動画中の、以前に符号化されて依然としてバッファリングされている参照ピクチャ中の参照ブロックに類似する場合、対象のピクチャ中のブロックを、動きベクトルと称されているベクトルによって符号化することができる。動きベクトルは、参照ピクチャ中で参照ブロックの方に向いており、複数の参照ピクチャが用いられる場合、第3の次元を持って参照ピクチャを特定することができる。
【0073】
いくつかの実施形態では、ピクチャ間予測に双予測法(bi-prediction technique)を用いることができる。双予測法によれば、動画中の対象のピクチャの復号順でともに先にある(これとは異なり、表示順でそれぞれ過去及び未来にあってもよい)第1の参照ピクチャ及び第2の参照ピクチャなどの2つの参照ピクチャを用いる。第1の参照ピクチャ中で第1の参照ブロックの方に向いている第1の動きベクトルと、第2の参照ピクチャ中で第2の参照ブロックの方に向いている第2の動きベクトルとによって対象のピクチャ中のブロックを符号化することができる。第1の参照ブロックと第2の参照ブロックとの組み合わせによってブロックを予測することができる。
【0074】
さらに、ピクチャ間予測にマージモード法を用いて符号化効率を改善することができる。
【0075】
本開示のいくつかの実施形態に係れば、ピクチャ間予測やピクチャ内予測などの予測をブロックの単位で行う。たとえば、HEVC標準によれば、圧縮のために一連の動画ピクチャ中のピクチャをcoding tree unit(CTU)に分割し、ピクチャ中のCTUは同じサイズ(たとえば64×64個の画素、32×32個の画素又は16×16個の画素)を持つ。一般的に、CTUは3つのcoding tree block(CTB)を含み、3つのCTBは1つのluma CTBと2つのchroma CTBである。各CTUを1つ以上のcoding unit(CU)に再帰的に四分木分割することができる。たとえば、64×64個の画素のCTUを64×64個の画素の1つのCUや、32×32個の画素の4つのCUや、16×16個の画素の16個のCUに分割することができる。一例では、各CUを解析して、インタ予測タイプやイントラ予測タイプなどのCUの予測タイプを決める。時間的及び/又は空間的予測可能性に応じてCUを1つ以上のprediction unit(PU)に分割する。一般的には、各PUは1つのluma prediction block(PB)と2つのchroma PBとを含む。一実施形態では、符号化の予測動作(符号化/復号)をprediction blockの単位で行う。prediction blockの例としてluma prediction blockを用いる場合、prediction blockは、8×8個の画素、16×16個の画素、8×16個の画素、16×8個の画素などの画素の、値(たとえばluma値)の行列を含む。
【0076】
図6は本開示の別の実施形態に係る動画エンコーダ(603)の図を示す。動画エンコーダ(603)は、一連の動画ピクチャ中の対象の動画ピクチャ中のサンプル値の処理ブロック(たとえばprediction block)を受けて、処理ブロックを符号化して、符号化済み動画列の一部である符号化済みピクチャにするように構成されている。一例では、動画エンコーダ(603)を
図3の例の動画エンコーダ(303)の代わりに用いる。
【0077】
HEVCの例では、動画エンコーダ(603)は8×8個のサンプルのprediction blockなどの処理ブロックのサンプル値の行列を受ける。動画エンコーダ(603)は、たとえばレート-歪み最適化を用い、処理ブロックがイントラモードを用いて最も良く符号化されるのか、インタモードを用いて最も良く符号化されるのか、双予測モードを用いて最も良く符号化されるのかを判断する。処理ブロックがイントラモードで符号化されることになっている場合、動画エンコーダ(603)は処理ブロックを符号化して符号化済みピクチャにするのにイントラ予測法を用いてもよく、処理ブロックがインタモード又は双予測モードで符号化されることになっている場合、動画エンコーダ(603)は処理ブロックを符号化して符号化済みピクチャにするのにインタ予測法又は双予測法をそれぞれ用いてもよい。いくつかの動画符号化技術では、マージモードは、予測器外の符号化動きベクトル構成要素の補助なしに1つ以上の動きベクトル予測器から動きベクトルを得るピクチャ間予測下位モードであることが可能である。いくつかの他の動画符号化技術では、対象となるブロックに適用可能な動きベクトル構成要素が存在してもよい。一例では、動画エンコーダ(603)は、処理ブロックのモードを判断するモード判定モジュール(図示せず)などの他の構成要素を含む。
【0078】
図6の例では、動画エンコーダ(603)は、
図6に示されているように接続され合っている、インタエンコーダ(630)、イントラエンコーダ(622)、残差計算器(623)、スイッチ(626)、残差エンコーダ(624)、統括コントローラ(621)及びエントロピエンコーダ(625)を含む。
【0079】
インタエンコーダ(630)は、対象のブロック(たとえば処理ブロック)のサンプルを受け、当該ブロックを参照ピクチャ中の1つ以上の参照ブロック(たとえば、前のピクチャ及び後のピクチャ中のブロック)と比較し、インタ予測情報(たとえば、インタ符号化法にしたがった冗長情報の記述、動きベクトル、マージモード情報)を生成し、任意の適切な手法を用いてインタ予測情報に基づいてインタ予測結果(たとえば、予測されたブロック)を計算するように構成されている。いくつかの例では、参照ピクチャは、符号化された動画情報に基づいて復号された復号済み参照ピクチャである。
【0080】
イントラエンコーダ(622)は、対象のブロック(たとえば処理ブロック)のサンプルを受け、場合によって、当該ブロックを同じピクチャ中の既に符号化されたブロックと比較し、変換後の量子化された係数を生成し、場合によって、イントラ予測情報(たとえば、1つ以上のイントラ符号化法にしたがったイントラ予測方向情報)も生成するように構成されている。一例では、イントラエンコーダ(622)はイントラ予測情報と同じピクチャ中の参照ブロックとに基づいてイントラ予測結果(たとえば予測されたブロック)も計算する。
【0081】
統括コントローラ(621)は、統括制御データを決定して、統括制御データに基づいて動画エンコーダ(603)の他の構成要素を制御するように構成されている。一例では、統括コントローラ(621)はブロックのモードを決定し、モードに基づいて制御信号をスイッチ(626)に提供する。たとえば、モードがイントラモードである場合、統括コントローラ(621)は残差計算器(623)による使用に対してイントラモード結果を選択するようにスイッチ(626)を制御し、イントラ予測情報を選択してイントラ予測情報をビットストリームに含ませるようにエントロピエンコーダ(625)を制御し、モードがインタモードである場合、統括コントローラ(621)は残差計算器(623)による使用に対してインタ予測結果を選択するようにスイッチ(626)を制御し、インタ予測情報を選択してインタ予測情報をビットストリームに含ませるようにエントロピエンコーダ(625)を制御する。
【0082】
残差計算器(623)は、受けたブロックと、イントラエンコーダ(622)又はインタエンコーダ(630)から選択された予測結果との差分(残差データ)を計算するように構成されている。残差エンコーダ(624)は、残差データに基づいて動作し、残差データを符号化して変換係数を生成するように構成されている。一例では、残差エンコーダ(624)は、残差データを空間ドメインから周波数ドメインに変換して変換係数を生成するように構成されている。その後、変換係数は量子化処理を受け、量子化された変換係数が得られる。様々な実施形態では、動画エンコーダ(603)は残差デコーダ(628)も含む。残差デコーダ(628)は、逆変換を行って、復号された残差データを生成するように構成されている。復号された残差データをイントラエンコーダ(622)及びインタエンコーダ(630)によって適切に用いることができる。たとえば、インタエンコーダ(630)は復号された残差データとインタ予測情報とに基づいて、復号されたブロックを生成することができ、イントラエンコーダ(622)は復号された残差データとイントラ予測情報とに基づいて、復号されたブロックを生成することができる。復号されたブロックを適切に処理して復号済みピクチャが生成され、復号済みピクチャをメモリ回路(図示せず)にバッファリングしていくつかの例の参照ピクチャとして用いることができる。
【0083】
エントロピエンコーダ(625)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成されている。エントロピエンコーダ(625)は、HEVCなどの適切な標準にしたがって様々な情報を含ませるように構成されている。一例では、エントロピエンコーダ(625)は、統括制御データ、選択された予測情報(たとえば、イントラ予測情報やインタ予測情報)、残差情報及びその他適切な情報をビットストリームに含ませるように構成されている。開示されている保護対象に係れば、インタモード又は双予測モードのいずれかのマージ下位モードでブロックを符号化する場合、残差情報が存在しないことに留意する。
【0084】
図7は本開示の別の実施形態に係る動画デコーダ(710)の図を示す。動画デコーダ(710)は、符号化された動画列の一部である符号化されたピクチャを受け、符号化されたピクチャを復号して再構成されたピクチャを生成するように構成されている。一例では、動画デコーダ(710)を
図3の例の動画デコーダ(310)の代わりに用いる。
【0085】
図7の例では、動画デコーダ(710)は、
図7に示されているように接続され合っている、エントロピデコーダ(771)、インタデコーダ(780)、残差デコーダ(773)、再構成モジュール(774)及びイントラデコーダ(772)を含む。
【0086】
エントロピデコーダ(771)は、符号化されたピクチャから、符号化されたピクチャを構成するシンタックス要素を表す特定のシンボルを再構成するように構成することができる。このようなシンボルは、たとえば、ブロックの符号化に用いるモード(たとえば、イントラモード、インタモード、双予測されるモード、マージ下位モード、又は別の下位モードの場合の後者2つなど)や、イントラデコーダ(772)又はインタデコーダ(780)による予測にそれぞれ用いられる特定のサンプル又はメタデータを特定することができる予測情報(たとえば、イントラ予測情報やインタ予測情報など)や、たとえば量子化された変換係数の形態をとる残差情報などを含むことができる。一例では、予測モードがインタモード又は双予測されるモードである場合、インタ予測情報がインタデコーダ(780)に提供され、予測タイプがイントラ予測タイプである場合、イントラ予測情報がイントラデコーダ(772)に提供される。残差情報に逆の量子化を施すことができ、これは残差デコーダ(773)に提供される。
【0087】
インタデコーダ(780)は、インタ予測情報を受け、インタ予測情報に基づいてインタ予測結果を生成するように構成されている。
【0088】
イントラデコーダ(772)は、イントラ予測情報を受け、イントラ予測情報に基づいて予測結果を生成するように構成されている。
【0089】
残差デコーダ(773)は、逆の量子化を行って、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して残差を周波数ドメインから空間ドメインに変換するように構成されている。残差デコーダ(773)は(クオンタイザパラメータ(QP)を含むように)特定の制御情報も要求してもよく、当該情報はエントロピデコーダ(771)によって提供されてもよい(これは少量の制御情報でしかないといえるので、データ経路は示されていない)。
【0090】
再構成モジュール(774)は、空間ドメインにおいて、残差デコーダ(773)によって出力された残差と予測結果(場合に応じてインタ予測モジュール又はイントラ予測モジュールによって出力される)とを組み合わせて再構成されたブロックを形成するように構成されており、再構成されたブロックは再構成されたピクチャの一部であってもよく、さらには、再構成されたピクチャは再構成された動画の一部であってもよい。デブロック動作などの他の適切な動作を行って、映像品質を改善することができることに留意する。
【0091】
動画エンコーダ(303),(503)及び(603)と動画デコーダ(310),(410)及び(710)とを任意の適切な手法を用いて実施することができることに留意する。一実施形態では、動画エンコーダ(303),(503)及び(603)と動画デコーダ(310),(410)及び(710)とを1つ以上の集積回路を用いて実施することができる。別の実施形態では、動画エンコーダ(303),(503)及び(603)と動画デコーダ(310),(410)及び(710)とをソフトウェア指示を実行する1つ以上のプロセッサを用いて実施することができる。
【0092】
II.HEVCのデブロッキングフィルタ
本開示の態様に係れば、動画符号化技術は、非可逆圧縮により生じるアーティファクト、たとえば量子化によって生じるアーティファクトを低減することができるように、再構成されたサンプルに対して行われるフィルタリング操作を含むことができる。このようなフィルタリング操作の1つにデブロッキングフィルタプロセスが用いられ、このプロセスでは、ブロック間でサンプル値が滑らかに移り変わることを実現することができるように、隣接する2つのブロックの間のブロック境界をフィルタリングすることができる。
【0093】
いくつかの関連する例(たとえばHEVC)では、ブロック境界に隣接するサンプルにデブロッキングフィルタプロセスを適用することができる。デブロッキングフィルタプロセスを復号プロセスと同じ順序でCU毎に実行することができる。たとえば、まず、ピクチャ全体の垂直境界線に水平フィルタリングを行い、続いて、ピクチャ全体の水平境界線に垂直フィルタリングを行うことによってデブロッキングフィルタプロセスを実行することができる。luma成分とchroma成分との両方に対して、フィルタリングされると判断されている8×8ブロックの境界にフィルタリングを適用することができる。複雑になることを抑えるために、4×4ブロックの境界は処理しない。
【0094】
デブロッキングフィルタプロセスの程度すなわち強度を示すのに境界強度(boundary strength:BS)を用いることができる。一実施形態では、2というBSの値は強いフィルタリングを示し、1は弱いフィルタリングを示し、0はデブロッキングフィルタリングを行わないことを示す。
【0095】
図8は本開示の一実施形態に係るBS値を決定するプロセス(800)のフローチャートを示す。他の実施形態では、
図8のステップの順序を並び替えたり、1つ以上のステップを省略したり置換したりすることができることに留意する。
【0096】
図8中、P及びQは、境界を挟んで隣接する2つのブロックである。垂直境界線の例では、Pはブロックが境界の左に位置することを表す場合があり、Qはブロックが境界の右に位置することを表す場合がある。水平境界線の例では、Pはブロックが境界よりも上に位置することを表す場合があり、Qはブロックが境界よりも下に位置することを表す場合がある。
【0097】
図8では、予測モード(たとえばイントラ符号化モード)、ゼロ以外の変換係数(すなわち、ゼロ以外の変換係数の有無)、参照ピクチャ、動きベクトルの個数及び/又は動きベクトルの差に基づいてBS値を決定することができる。
【0098】
ステップ(S810)において、プロセス(800)では、P又はQがイントラ予測モードで符号化されるか否かを判断する。PとQとの少なくとも一方がイントラ予測モードで符号化されると判断される場合、プロセス(800)ではBSに対して第1の値(たとえば2)を決定する。上記以外の判断の場合、プロセス(800)がステップ(S820)に進む。
【0099】
ステップ(S820)において、プロセス(800)では、P又はQの変換係数がゼロ以外であるか否かを判断する。PとQとの少なくとも一方の変換係数がゼロ以外であると判断される場合、プロセス(800)ではBSに対して第2の値(たとえば1)を決定する。上記以外の判断の場合、プロセス(800)がステップ(S830)に進む。
【0100】
ステップ(S830)において、プロセス(800)では、PとQとで参照ピクチャが異なるか否かを判断する。PとQとの参照ピクチャが異なると判断される場合、プロセス(800)ではBSに対して第3の値(たとえば1)を決定する。上記以外の判断の場合、プロセス(800)がステップ(S840)に進む。
【0101】
ステップ(S840)において、プロセス(800)では、PとQとで動きベクトルの個数が異なるか否かを判断する。PとQとで動きベクトルの個数が異なると判断される場合、プロセス(800)ではBSに対して第4の値(たとえば1)を決定する。上記以外の判断の場合、プロセス(800)がステップ(S850)に進む。
【0102】
ステップ(S850)において、プロセス(800)では、PとQとの動きベクトルの差が閾値T以上であるか否かを判断する。PとQとの動きベクトルの差が閾値T以上であると判断される場合、プロセス(800)ではBSに対して第5の値(たとえば1)を決定する。上記以外の判断の場合、プロセス(800)ではBSに対して第6の値(たとえば0)を決定する。一実施形態では、閾値Tは1ピクセルに設定される。
図8の例では、MV精度は1/4ピクセルであるので、MV差分閾値の値を4に設定することができる。別の例では、MV精度が1/16である場合、MVの差の値を16に設定することができる。
【0103】
図8の例では、第2~第5の値が1に設定されることに留意する。ただし、別の例では、第2~第5の値の一部又は全部が異なる値に設定されてもよい。
【0104】
いくつかの実施形態では、BSを4×4ブロックベースで計算することができる一方で、BSを8×8グリッドにマッピングし直すことができる。たとえば、4×4グリッド中の1本の線からなる8つの画素に対応するBSの最大2つの値を8×8グリッドの境界のBSとして選択する。
【0105】
III.VVCのデブロッキングフィルタ
VVC Test model 5(VTM5)などのいくつかの関連する例では、デブロッキングフィルタプロセスはHEVCで用いられているものを基礎とし、いくつかの修正を含むことができる。たとえば、デブロッキングフィルタのフィルタ強度が、再構成されたサンプルの平均化lumaレベルに依存することが可能であり、デブロッキングtCテーブルを拡張することができ、luma成分とchroma成分とに強いデブロッキングフィルタを用いることができ、lumaデブロッキングフィルタを4×4サンプルグリッドに適用することができ、chromaデブロッキングフィルタを8×8サンプルグリッドに適用することができる。
【0106】
HEVCなどのいくつかの関連する例では、デブロッキングフィルタの強度を平均化量子化パラメータqP
Lから導出される変数β及びt
Cによって制御することができる。VTM5などのいくつかの関連する例では、デブロッキングフィルタでは、再構成されたサンプルのlumaレベルに応じて平均量子化パラメータqP
Lにオフセットを加えることによってフィルタ強さを制御することができる。再構成後のlumaレベルLLを、
LL=((p
0,0+p
0,3+q
0,0+q
0,3)≫2)/(1≪bitDepth) (式1)
のように導出することができる。ここで、サンプル値p
i,k及びq
i,k(i=0,…,3及びk=0,3)は
図9に示されているように導出される。
【0107】
変数qPLについては、
qPL=((QpQ+QpP+1)≫1)+qpOffset (式2)
のように導出することができる。ここで、QpQ及びQpPはそれぞれサンプルq0,0及びp0,0を含むcoding unitの量子化パラメータを表す。オフセットqpOffsetは伝達関数と再構成後のlumaレベルLLとに依存する。qpOffsetとlumaレベルとの写像関数をシーケンスパラメータセット(SPS)でシグナリングすることができ、伝達関数は動画フォーマット毎に異なる場合があるので、内容物の伝達特性に応じて写像関数を導出することができる。
【0108】
VTM5などのいくつかの関連する例では、最大QPを63になるように拡張することができる。ブロックQPに基づいてデブロッキングパラメータの値を導出するデブロッキングテーブルの対応する変化を反映するために、tCテーブルはtC=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,5,5,6,6,7,8,9,10,11,13,14,16,18,20,22,25,28,31,35,39,44,50,56,63,70,79,88,99]のようにQP範囲の拡張に対応することができる。
【0109】
いくつかの関連する例では、境界のいずれか一方側にあるサンプルが大きいブロックに属する場合に、強いデブロッキングフィルタ(たとえばバイリニアフィルタ)を用いることができる。大きいブロックを、垂直方向の縁についてブロックの幅が32以上であり、かつ水平方向の縁についてブロックの高さが32以上である場合のブロックと定義することができる。この場合、ブロック境界のサンプルpi(i=0~Sp-1)とqi(j=0~Sq-1)とは以下のように線形補間によって置換される。
pi’=(fi*Middles,t+(64-fi)*Ps+32)≫6)pi±tcPDiにクリッピング処理される (式3)
qj’=(gj*Middles,t+(64-gj)*Qs+32)≫6)qj±tcPDjにクリッピング処理される (式4)
ここで、パラメータtcPDi及びtcPDjは位置に依存するクリッピングパラメータであり、gj、fi、Middles,t、Ps及びQsは表1に示されている。
【0110】
【0111】
いくつかの実施形態では、Condition1、Condition2及びCondition3のすべてがTRUEである場合にだけ、強いlumaフィルタを用いることができる。Condition1は大きいブロックの条件として用いられる。本条件により、P側とQ側とにあるサンプルが大きいブロックに属するか否かを検出する。Condition2とCondition3とは以下のように判断される。
Condition2=(d<β)?TRUE:FALSE (式5)
Condition3=StrongFilterCondition=(dpqが(β≫2)未満かつsp3+sq3が(3*β≫5)未満かつAbs(p0-q0)が(5*tC+1)≫1未満)?TRUE:FALSE (式6)
ここで、d、dpq、sp及びsqは、フィルタリングによってディテールが除去されることを回避するために、QPに依存する符号化ノイズ閾値であるβに基づいて閾値と比較してディテールの量を決定するための勾配計算の大きさ値である。同様に、tCに基づいて、境界を跨ぐ勾配の大きさが閾値未満であることもチェックされ、これはQPに依存するデブロッキング強度閾値である。
【0112】
いくつかの実施形態では、chromaについての強いデブロッキングフィルタを以下のように定めることができる。
p2’=(3*p3+2*p2+p1+p0+q0+4)≫3 (式7)
p1’=(2*p3+p2+2*p1+p0+q0+q1+4)≫3 (式8)
p0’=(p3+p2+p1+2*p0+q0+q1+q2+4)≫3 (式9)
【0113】
一実施形態では、chromaについての強いデブロッキングフィルタによって8×8chromaサンプルグリッドにデブロッキングを実行することができる。chromaの強いフィルタをブロック境界の両側にあるサンプルに用いることができる。たとえば、ブロック境界の両側が(chromaサンプルを単位にして)8以上である場合にchromaの強いフィルタを選択することができ、以下の3つの判定に合格する。第1の判定は、ブロック境界で分けられた2つのブロックのいずれか一方が大きいブロックであることについての判断である。第2及び第3の判定は、デブロッキングフィルタのオン/オフ判定及び強いフィルタについての判定であり、それぞれ、HEVCなどのいくつかの関連する例と同じであることが可能である。第1の判定では、BSを表2に示されているようにchromaフィルタリング向けに修正することができる。表2の条件は順番にチェックされる。条件が満たされる場合、優先度のより低い残りの条件がスキップされる。
【0114】
【0115】
一実施形態では、大きいブロックの境界が検出されている状態でBSが2に等しいかBSが1に等しい場合にchromaデブロッキングを実行することができる。この場合、第2及び第3の判定はHEVCのlumaの強いフィルタについての判定と基本的に同じである。
【0116】
VVCなどのいくつかの関連する例では、lumaの4×4グリッドとchromaの8×8グリッドとでデブロッキングフィルタを有効にすることができる。CU境界とサブブロック境界とにデブロッキングフィルタプロセスを適用することができる。サブブロック境界は、sub-block-based temporal motion vector prediction(SbTMVP)及びアフィンモードによって導入されるprediction unit境界と、sub-block transform(SBT)及びintra sub-partition(ISP)モードによって導入されるtransform unit境界とを含むことができる。
【0117】
SBT及びISPサブブロックには、HEVCのTUに用いられるデブロッキングフィルタを適用することができる。たとえば、境界によって分けられたサブブロックのいずれかにゼロ以外の係数が存在する場合に、TU境界にデブロッキングフィルタを適用することができる。
【0118】
4×4個のグリッドに面するSbTMVP及びアフィンサブブロックには、HEVCのPUに用いられるデブロッキングフィルタを適用することができる。たとえば、近隣のサブブロックの動きベクトル及び参照ピクチャの差を考慮してPU境界のデブロッキングフィルタを適用することができる。
【0119】
IV.Audio Video Coding(AVS)標準のデブロッキングフィルタ
第三世代AVS標準(AVS3)などのいくつかの関連する例では、考慮対象のサンプルブロック毎に垂直境界線と水平境界線とを含むluma8×8サンプル境界とchroma8×8サンプル境界とでデブロッキングフィルタ操作を処理することができる。まず、境界をフィルタリングする必要があるか否かを検討することができる。ピクチャ境界、セグメンテーション境界(たとえばスライス/タイル境界)、符号化ブロックの内側の境界や変換ブロック境界などの例ではフィルタリングを要しないことが可能である。境界をフィルタリングする必要がある場合、BSを計算することができる。たとえば、フィルタリング後のサンプル値の変化に対してどの程度変更を行うことができるのかに応じてBSを0(フィルタなし)、1(弱いフィルタ)又は2(強いフィルタ)に設定することができる。たとえば、強いフィルタはより激しい仕方で境界の近傍のサンプル値を変化させることができる。
【0120】
いくつかの実施形態では、垂直境界線によって分けられた左の領域と右の領域などの境界によって分けられた2つの領域が平坦な領域であるとみなされたり、サンプル値が激しく変動することがない滑らかな領域であるとみなされたりする場合にのみ、強いフィルタを境界に適用することができる。上記以外の場合には、弱いフィルタを適用したりフィルタを適用しなかったりすることができる。
【0121】
AVS3などのいくつかの関連する例では、複数のサンプルの1つが境界の近隣にある状態で、近隣の2つのサンプルなどの複数のサンプルのサンプル差を用いて境界の近傍の滑らかな領域を評価することができる。第1のサンプルは境界の右側にあり、第2のサンプルは第1のサンプルに直に隣接するサンプルである。第1のサンプルと第2のサンプルとは両方とも境界の一方側にある同じ領域内にある。たとえば、
図10中、垂直境界線の近傍のサンプルの位置が示されており、L0及びL1は、左の領域の滑らかさを評価するのに用いることができる2つのサンプルである。
【0122】
いくつかの実施形態では、BSを決定するためのいくつかの修正をAVS3に含ませることができる。たとえば、第1号修正と称する場合がある第1の修正では、境界によって分けられた2つのサンプル(たとえば
図10のL0及びR0)のサンプル値が閾値よりも多く異なる場合、境界にデブロッキングフィルタが作用しない(たとえば、デブロッキングフィルタプロセスなし、すなわちBS=0)。この場合、デブロッキングを実行することで、境界をぼかすことができる。第2号修正と称する場合がある第2の修正では、BS値を決定するための領域の滑らかさの計算時に、境界に沿った1つの領域で2つのサンプルの代わりに4つのサンプルを用いることができる。
【0123】
V.デブロッキングフィルタ操作の高度制御
本開示の実施形態では、デブロッキングフィルタ操作の高度制御方法を提供する。
【0124】
本開示の態様に係れば、複数のデブロッキングフィルタ操作が利用可能であり、対象のブロックに用いることが可能である。たとえば、HEVC/VVC/AVSのデブロッキングフィルタ操作のすべてが利用可能であり、対象のブロックに用いることが可能である。複数のデブロッキングフィルタ操作が利用可能であるかについては、SPSフラグなどのシグナリングされる第1のシンタックス要素によって示すことができる。SPSフラグがTRUEの場合、複数のデブロッキングフィルタ操作が利用可能であり、対象のブロックに用いることが可能である。SPSフラグがTRUEではなくFALSEの場合、デフォルトのデブロッキングフィルタ操作のみが利用可能であり、対象のブロックに用いることが可能である。
【0125】
本開示の態様に係れば、複数のデブロッキングフィルタ操作が利用可能であり、対象のブロックに用いることが可能である場合、複数のデブロッキングフィルタ操作の部分集合を対象のブロックに対して有効にすることができる。複数のデブロッキングフィルタ操作の部分集合は、HEVC/VVC/AVSの、1つ以上のデブロッキングフィルタ操作であることが可能である。複数のデブロッキングフィルタ操作の部分集合をピクチャレベルフラグなどのシグナリングされる第2のシンタックス要素によって示すことができる。ピクチャレベルフラグがTRUEである場合、ピクチャレベルフラグに対応する複数のデブロッキングフィルタ操作の1つを対象のブロックに対して有効にする。別の例では、ピクチャレベルフラグがデブロッキングフィルタ操作の集合を示すことができるので、ピクチャレベルフラグがTRUEである場合にデブロッキングフィルタ操作の集合を対象のブロックに対して有効にすることができる。いくつかの実施形態では、シグナリングされる第2のシンタックス要素は数値であることが可能である。したがって、シグナリングされる第2のシンタックス要素が1に等しい場合、HEVCのデブロッキングフィルタ操作などの第1のデブロッキングフィルタ操作を対象のブロックに対して有効にする。シグナリングされる第2のシンタックス要素が2に等しい場合、VVCのデブロッキングフィルタ操作などの第2のデブロッキングフィルタ操作を対象のブロックに対して有効にする。シグナリングされる第2のシンタックス要素が3に等しい場合、AVSのデブロッキングフィルタ操作などの第3のデブロッキングフィルタ操作を対象のブロックに対して有効にする。
【0126】
本開示で提供されているデブロッキングフィルタ操作の高度制御を様々な動画標準や動画コーデックに適用することができる。簡単にするために、デブロッキングフィルタ操作の高度制御を説明するための例としてAVS3のデブロッキングフィルタ操作を用いることができる。たとえば、第1号修正や第2号修正など、AVS3向けに修正されたデブロッキングフィルタ操作を条件に応じてオンに切り換えることができる。第1号修正と第2号修正とが両方ともオフに切り換えられる場合でも、元の方法/デフォルト方法を用いることができる。
【0127】
本開示の態様に係れば、第1号修正や第2号修正など、AVS3向けに修正されたデブロッキングフィルタ操作が利用可能であり、対象のブロックに用いることが可能であるか否かを示すのにSPSフラグを用いることができる。
【0128】
一実施形態では、第1の制御フラグと第2の制御フラグなどの2つの制御フラグを第1号修正と第2号修正とにそれぞれ用いる。第1号修正が対象のブロックに対して有効にされるか否かを示すのに第1の制御フラグを用いることができ、第2号修正が対象のブロックに対して有効にされるか否かを示すのに第2の制御フラグを用いることができる。第1及び第2の制御フラグを、ピクチャヘッダ、スライスヘッダや、デブロッキングフィルタオン/オフ制御フラグが設けられるヘッダに含めることができる。したがって、第1のフラグは、デブロッキングを境界に適用することについての判定の際に、境界を跨いでサンプルの差を考慮する必要があるか否かを制御するのに用いられる。第1のフラグとは別に、第2のフラグは、BSの計算時に、境界に隣接する同じ領域で2つのサンプルの代わりに4つのサンプルを用いることができるか否かを制御するのに用いられる。
【0129】
一例では、SPSフラグが立っているのか否か(presence)を利用して第1及び第2の制御フラグを条件に応じてシグナリングすることができる。ピクチャヘッダやスライスヘッダなどの下位レベルや、デブロッキングフィルタオン/オフ制御フラグが設けられるヘッダでSPSフラグがオン(有効)である場合にのみ、上記の2つのフラグをシグナリングすることができる。上記以外の場合は、上記の2つのフラグがFALSE(有効ではない)であると推定される。
【0130】
別の例では、SPSフラグがオンであることに加えて、デブロッキングフィルタオン/オフ制御フラグが立っているのか否かを利用して第1及び第2の制御フラグを条件に応じてシグナリングすることも行われる。デブロッキングフィルタオン/オフ制御フラグがピクチャレベルやスライスレベルなどのなんらかのレベルでオンにされる場合にのみ、上記の2つのフラグをシグナリングすることができる。上記以外の場合において、SPSフラグがオフであるとき、かつ/又はデブロッキングフィルタオン/オフ制御フラグがオフであるとき、上記の2つのフラグはFALSE(有効ではない)であると推定される。
【0131】
一実施形態では、AVS3の第1号修正と第2号修正との両方を有効にするのに1つの制御フラグが用いられる。制御フラグをピクチャヘッダやスライスヘッダや、デブロッキングフィルタオン/オフ制御フラグが設けられるヘッダに加えることができる。したがって、境界にデブロッキングを適用することについての判定の際に、境界を跨いでサンプルの差を考慮する必要があるか否かを制御するのにあるフラグが用いられる。BSの計算時に、境界に隣接する同じ領域で2つのサンプルの代わりに4つのサンプルを用いることができるか否かを制御するのに同じフラグが用いられる。
【0132】
一例では、SPSフラグが立っているのか否かを利用して制御フラグを条件に応じてシグナリングすることができる。ピクチャヘッダやスライスヘッダなどの下位レベルや、デブロッキングフィルタオン/オフ制御フラグが設けられるヘッダでSPSフラグがオン(有効)である場合にのみ、制御フラグをシグナリングすることができる。上記以外の場合は、制御フラグがFALSE(有効ではない)であると推定される。
【0133】
別の例では、SPSフラグがオンであることに加えて、デブロッキングフィルタオン/オフ制御フラグが立っているのか否かを利用して制御フラグを条件に応じてシグナリングすることも行われる。デブロッキングフィルタオン/オフ制御フラグがピクチャレベルやスライスレベルなどのなんらかのレベルでオンにされる場合にのみ、制御フラグをシグナリングすることができる。上記以外の場合において、SPSフラグがオフであるとき、かつ/又はデブロッキングフィルタオン/オフ制御フラグがオフであるとき、制御フラグはFALSE(有効ではない)であると推定される。
【0134】
表3及び表4は、本開示の一実施形態に係るSPSレベル及びピクチャレベルのシンタックス要素をそれぞれ示す。
【0135】
【0136】
【0137】
表3中、シンタックス要素sps_dbk_modified_flagはSPSフラグである。一実施形態では、sps_dbk_modified_flagが1に等しい場合、第1号修正や第2号修正などのデブロッキングフィルタ操作修正を、対象のブロックを含む対象のシーケンスで用いることができる。sps_dbk_modified_flagが0に等しい場合、デブロッキングフィルタ操作修正を対象のシーケンスで用いることはできない。設けられていない場合、sps_dbk_modified_flagの値は0であると推定される。
【0138】
表4中、シンタックス要素ph_dbk_modification_enabled_flagはピクチャレベル制御フラグである。ph_dbk_modification_enabled_flagが1に等しい場合、対象のブロックを含む対象のピクチャで第1号修正や第2号修正などの1つ以上のデブロッキングフィルタ操作修正が有効にされる。ph_dbk_modification_enabled_flagが0に等しい場合、対象のピクチャで1つ以上のデブロッキングフィルタ修正が無効にされる。設けられていない場合、ph_dbk_modification_enabled_flagの値は0であると推定される。
【0139】
一例では、ph_dbk_modification_enabled_flagは第1号修正に用いられる。別の例では、ph_dbk_modification_enabled_flagは第2号修正に用いられる。別の例では、ph_dbk_modification_enabled_flagは第1号修正と第2号修正との両方に用いられる。
【0140】
一実施形態では、値の異なるシンタックス要素をデブロッキングフィルタ操作修正の使用形態についてシグナリングすることができる。たとえば、ph_dbk_modified_idcなどのシンタックス要素はピクチャレベル又はスライスレベルの信号であることが可能である。ph_dbk_modified_idcが0に等しい場合、修正が許可されない。ph_dbk_modified_idcが1に等しい場合、第1号修正が用いられる。ph_dbk_modified_idcが2に等しい場合、第2号修正が用いられる。ph_dbk_modified_idcが3に等しい場合、第1号修正と第2号修正との両方が用いられる。
【0141】
一実施形態では、値の異なるシンタックス要素をデブロッキングフィルタ操作修正の集合の使用形態についてシグナリングすることができる。たとえば、ph_dbk_modification_enabled_idcなどのシンタックス要素はピクチャレベル又はスライスレベルの信号であることが可能である。ph_dbk_modification_enabled_idcが0に等しい場合、修正が許可されない。ph_dbk_modification_enabled_idcが1に等しい場合、第1号修正と第2号修正などの修正の第1の集合が用いられる。ph_dbk_modification_enabled_idcが2に等しい場合、修正の第2の集合が用いられる。一例では、修正の第1の集合が修正の第2の集合と重なることができる。別の例では、修正の第1の集合が修正の第2の集合と異なることが可能である。
【0142】
したがって、高度制御シンタックス要素及び/又はフラグによって異なる複数のデブロッキングフィルタ操作を可能にして制御することができる。
【0143】
VI.フローチャート
図11は本開示の一実施形態に係る典型的なプロセス(1100)を概略的に説明するフローチャートを示す。様々な実施形態では、プロセス(1100)は、端末装置(210)、(220)、(230)及び(240)の処理回路、動画エンコーダ(303)の機能を実行する処理回路、動画デコーダ(310)の機能を実行する処理回路、動画デコーダ(410)の機能を実行する処理回路、イントラ予測モジュール(452)の機能を実行する処理回路、動画エンコーダ(503)の機能を実行する処理回路、予測器(535)の機能を実行する処理回路、イントラエンコーダ(622)の機能を実行する処理回路、イントラデコーダ(772)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、プロセス(1100)はソフトウェア指示中で実行され、したがって、処理回路がソフトウェア指示を実行するときに処理回路がプロセス(1100)を実行する。
【0144】
通常、プロセス(1100)をステップ(S1110)から開始することができ、本ステップで、プロセス(1100)は、符号化された動画列の一部である対象のピクチャ中の対象のブロックの予測情報を復号する。予測情報は第1のシンタックス要素と第2のシンタックス要素とを含む。その後、プロセス(1100)はステップ(S1120)に進む。
【0145】
ステップ(S1120)において、プロセス(1100)では、第1のシンタックス要素に基づいて、デブロッキングフィルタのBSを決定する複数のプロセスを対象のブロックに用いることが可能であるか否かを判断する。デブロッキングフィルタは対象のブロックの境界に適用される。デブロッキングフィルタのBSを決定する複数のプロセスを対象のブロックに用いることが可能である場合、プロセス(1100)はステップ(S1130)に進む。上記以外の場合は、プロセス(1100)はステップ(S1150)に進む。
【0146】
ステップ(S1130)において、プロセス(1100)では、第2のシンタックス要素に基づいて、対象のブロックのデブロッキングフィルタのBSを決定する複数のプロセスの部分集合を決定する。その後、プロセス(1100)はステップ(S1140)に進む。
【0147】
ステップ(S1140)において、プロセス(1100)では、デブロッキングフィルタのBSを決定する複数のプロセスの部分集合に基づいて対象のブロックのデブロッキングフィルタのBSを決定する。
【0148】
ステップ(S1150)において、プロセス(1100)では、デフォルトのデブロッキングフィルタプロセスに基づいて対象のブロックのブロッキングフィルタのBSを決定する。その後、プロセス(1100)は停止する。
【0149】
一実施形態では、対象のブロックのデブロッキングフィルタのBSは、対象のブロックの境界によって分けられた2つの領域の一方に位置する複数のサンプルに基づいて決定される。一例では、対象のブロックの境界によって分けられた2つの領域の一方に位置する複数のサンプルの個数は2つと4つとの一方である。
【0150】
一実施形態では、プロセス(1100)では、対象のブロックの境界によって分けられた2つのサンプルのサンプル値の差が閾値を超えるか否かを判断する。対象のブロックの境界によって分けられた2つのサンプルのサンプル値の差が閾値を超える場合、プロセス(1100)では、対象のブロックの境界にデブロッキングフィルタを適用しないと判断する。
【0151】
一実施形態では、第1のシンタックス要素はシーケンスパラメータセットレベルにある。
【0152】
一実施形態では、プロセス(1100)では、第2のシンタックス要素と、対象のブロックに対してフィルタリング操作が有効にされることを示すデブロッキング制御フラグとに基づいて、対象のブロックのデブロッキングフィルタのBSを決定する複数のプロセスの1つを決定する。一例では、第2のシンタックス要素はピクチャレベル、スライスレベル、及びデブロッキング制御フラグと同じレベルのうちの1つにある。
【0153】
VII.コンピュータシステム
コンピュータ可読指示を用い、1つ以上のコンピュータ可読媒体に物理的に記憶されるコンピュータソフトウェアとして上述の手法を実施することができる。たとえば、
図12は開示されている保護対象の特定の実施形態を実行するのに適するコンピュータシステム(1200)を示す。
【0154】
コンピュータソフトウェアは、任意の適切なマシン語すなわちコンピュータ言語を用いてコード化することができ、このコンピュータ言語は、指示を備えるコードを生成するためのアセンブリ、コンパイル、リンク、又は同様のメカニズムによって処理される場合があり、この指示は、1つ以上のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって、直接実行したり、解釈、マイクロコードの実行などを通じて実行したりすることができる。
【0155】
指示は、たとえば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネットデバイスなどを含む様々なタイプのコンピュータ又はその構成要素で実行することができる。
【0156】
コンピュータシステム(1200)について
図12に示されている構成要素は当然一例であり、本開示の実施形態を実施するコンピュータソフトウェアの使用又は機能の範囲に関してなんら限定を示唆することを意図するものではない。また、構成要素の構成について、コンピュータシステム(1200)の典型的な実施形態で示されている構成要素のいずれか1つ又はこれらの組み合わせに関して何かしら依拠したり必要としたりするようにも当然解釈されない。
【0157】
コンピュータシステム(1200)は特定のヒューマンインタフェイス入力装置を含んでもよい。このようなヒューマンインタフェイス入力装置は、たとえば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を通じて1人以上の人間のユーザによる入力に応答するものであってもよい。ヒューマンインタフェイス装置を用いることで、音声(発話、音楽、周囲音など)、画像(スキャン画像、静止画像カメラから取得した写真画像など)、映像(二次元映像、立体映像を含む三次元映像など)など、人間による意識的な入力に必ずしも直接関連しないなんらかの媒体を獲得することもできる。
【0158】
入力ヒューマンインタフェイス装置は、キーボード(1201)、マウス(1202)、トラックパッド(1203)、タッチ画面(1210)、データグローブ(図示せず)、ジョイスティック(1205)、マイク(1206)、スキャナ(1207)、カメラ(1208)の1つ以上(示されているものから1つずつだけ)を含んでもよい。
【0159】
コンピュータシステム(1200)はなんらかのヒューマンインタフェイス出力装置も含んでもよい。このようなヒューマンインタフェイス出力装置は、たとえば、触覚出力、音、光及び嗅覚/味覚を通じて1人以上の人間のユーザの感覚を刺激してもよい。このようなヒューマンインタフェイス出力装置は触覚出力デバイス(たとえば、タッチ画面(1210)、データグローブ(図示せず)やジョイスティック(1205)による触覚フィードバックただし、入力デバイスを担わない触覚フィードバックデバイスも存在することができる)、音声出力デバイス(スピーカ(1209)、ヘッドホン(図示せず)など)、視覚出力装置(CRT画面、LCD画面、プラズマ画面、OLED画面を含む画面(1210)など画面毎にタッチ画面入力機能を備えたり備えなかったりする画面毎に触覚フィードバック機能を備えたり備えなかったりするこれらの画面のいくつかが立体映像出力装置、バーチャルリアリティグラス(図示せず)、ホログラフィディスプレイや発煙タンク(図示せず)などの手段によって二次元視覚的出力又は3次元以上の出力を出力する機能を備えてもよい)及びプリンタ(図示せず)を含んでもよい。上記の視覚出力装置(画面(1210)など)をグラフィックスアダプタ(1250)を介してシステムバス(1248)に接続することができる。
【0160】
コンピュータシステム(1200)は、CD/DVD又はそれに類する媒体(1221)をともなうCD/DVD ROM/RW(1220)を含む光媒体、サムドライブ(1222)、リムーバブルハードドライブやソリッドステートドライブ(1223)、テープやフロッピーディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの専用のROM/ASIC/PLDベースのデバイスなど、人間による取り扱いが可能な記憶デバイス及びその関連媒体を含むこともできる。
【0161】
ここで開示されている保護対象に関連して用いられている用語「コンピュータ可読媒体」が伝送媒体、搬送波又はその他一時的な信号を含まないことも当業者は当然理解する。
【0162】
コンピュータシステム(1200)は1つ以上の通信ネットワーク(1255)に対するネットワークインタフェイス(1254)も含むことができる。1つ以上の通信ネットワーク(1255)はたとえば、無線ネットワーク、有線ネットワーク、光ネットワークであることが可能である。さらに、1つ以上の通信ネットワーク(1255)はローカル、広域、大都市圏、車両用及び産業用、リアルタイム、遅延耐性などのネットワークであることが可能である。1つ以上の通信ネットワーク(1255)の例には、Ethernetなどのローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラネットワーク、ケーブルテレビ、衛星テレビ及び地上波テレビを含むテレビの有線又は無線広域デジタルネットワーク、CANBusを含む車両用及び産業用などが含まれる。なんらかのネットワークには一般的になんらかの汎用データポートやペリフェラルバス(1249)に取り付けられる外部ネットワークインタフェイスアダプタが必要であり(たとえば、コンピュータシステム(1200)のUSBポートなど)、その他のものとしては、一般的には、後述されているようにシステムバスに取り付けられることによってコンピュータシステム(1200)の中心部に組み込まれるものがある(たとえば、PCコンピュータシステムに組み込まれるEthernetインタフェイスや、スマートフォンコンピュータシステムに組み込まれるセルラネットワークインタフェイス)。これらのネットワークのいずれを用いても、コンピュータシステム(1200)は相手方と通信することができる。このような通信は、一方向、受信専用(たとえば、テレビ放送)、一方向送信専用(たとえば、CANbusから特定のCANbusデバイス)又は双方向、たとえば、ローカル若しくは広域デジタルネットワークを用いた他のコンピュータシステムに対する双方向の通信であることが可能である。上述のこのようなネットワーク及びネットワークインタフェイスの各々にいくつかのプロトコル及びプロトコルスタックを用いることができる。
【0163】
上記のヒューマンインタフェイス装置、人間による取り扱いが可能な記憶デバイス及びネットワークインタフェイスをコンピュータシステム(1200)の中心部(1240)に取り付けることができる。
【0164】
中心部(1240)は1つ以上の中央処理装置(CPU)(1241)、グラフィックスプロセッシングユニット(GPU)(1242)、フィールドプログラマブルゲートエリア(FPGA)(1243)の形態の専用のプログラム可能な処理ユニット、特定のタスクに用いるハードウェアアクセラレータ(1244)などを含むことができる。これらのデバイスは、読出し専用メモリ(ROM)(1245)、ランダムアクセスメモリ(1246)、内蔵されてユーザによる取り扱いが不能なハードディスク、SSDなどの内蔵大容量ストレージ(1247)とともに、システムバス(1248)を通じて接続されてもよい。いくつかのコンピュータシステムでは、システムバス(1248)はCPU、GPUなどを追加することによって拡張を可能にする1つ以上の物理的なプラグの形態をとり、手作業可能なものであることが可能である。周辺デバイスを中心部のシステムバス(1248)に直接取り付けるか、ペリフェラルバス(1249)を通じて取り付けるかすることができる。ペリフェラルバスのアーキテクチャにはPCI、USBなどが含まれる。
【0165】
CPU(1241)、GPU(1242)、FPGA(1243)及びアクセラレータ(1244)は、組み合さって上記のコンピュータコードを形成することができるいくつかの指示を実行することができる。このコンピュータコードをROM(1245)に記憶したりRAM(1246)に記憶したりすることができる。変化していくデータもRAM(1246)に記憶することができる一方で、変化しないデータをたとえば内蔵大容量ストレージ(1247)に記憶することができる。1つ以上のCPU(1241)、GPU(1242)、大容量ストレージ(1247)、ROM(1245)、RAM(1246)などに密接に関連づけることができるキャッシュメモリを用いることにより、メモリデバイスのいずれにも高速記憶及び読み出しを行うことを可能にすることができる。
【0166】
コンピュータ可読媒体には様々なコンピュータ実施動作を実行するためのコンピュータコードを搭載することができる。媒体及びコンピュータコードは本開示のために特別に設計及び構成されたものであることが可能であるし、コンピュータソフトウェア技術の当業者によく知られ、当業者が入手可能な種類のものであることが可能である。
【0167】
限定としてではなく一例として、アーキテクチャ(1200)を有するコンピュータシステム、特に中心部(1240)は、プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ以上の有形のコンピュータ可読媒体中で実施されるソフトウェアを実行する結果として機能を発揮することができる。このようなコンピュータ可読媒体は上記で紹介したユーザによる取り扱いが可能な大容量ストレージに関連する媒体であることが可能であるだけでなく、中心部内蔵型大容量ストレージ(1247)やROM(1245)など、非一時的な特性を持つ中心部(1240)の特定のストレージであることも可能である。本開示の様々な実施形態を実施するソフトウェアをこのようなデバイスに記憶して中心部(1240)によって実行することができる。コンピュータ可読媒体は個々の要求に応じて1つ以上のメモリデバイスやチップを含むことができる。ソフトウェアによって、中心部(1240)、特に中心部(1240)内のプロセッサ(CPU、GPU、FPGAなどを含む)に、本出願で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行させることができる(RAM(1246)に記憶されるデータ構造を決めることと、ソフトウェアによって定められたプロセスにしたがってこのようなデータ構造を修正することとを含む)。これに加えて、又はこれに代わるものとして、本コンピュータシステムは結線によるロジックの結果として機能を発揮したり、回路において別の仕方で実施して機能を発揮したりすることができ(たとえばアクセラレータ(1244))、これは、本出願で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行するのに、ソフトウェアの代わりに動作したり、ソフトウェアと協働したりすることができる。必要に応じて、「ソフトウェア」と記載されている場合にはロジックを包含する場合があり、逆も可能である。必要に応じて、「コンピュータ可読媒体」と記載されている場合には、実行されるソフトウェアを記憶する回路(集積回路(IC)など)や、実行されるロジックを具体化する回路や、これらの両方を包含する場合がある。本開示にはハードとソフトとの任意の適切な組合せが含まれる。
【0168】
本開示ではいくつかの典型的な実施形態を説明してきたが、変形例、置換例及び様々な代替均等例が存在し、これらは本開示の範囲に含まれる。したがって、当業者であれば、本出願で明示的に示されていたり説明されていたりしなくても、本開示の原理を具体化し、したがってその精神及び範囲内にある多数のシステム及び方法を想起することができることが分かる。
付記A:頭字語
AMVP:Advanced Motion Vector Prediction
ASIC:Application-Specific Integrated Circuit
ATMVP:Alternative/Advanced Temporal Motion Vector Prediction
BMS:Benchmark Set
BV:Block Vector
CANBus:Controller Area Network Bus
CB:Coding Block
CD:Compact Disc
CPR:Current Picture Referencing
CPU:Central Processing Unit
CRT:Cathode Ray Tube
CTB:Coding Tree Block
CTU:Coding Tree Unit
CU:Coding Unit
DPB:Decoder Picture Buffer
DVD:Digital Video Disc
FPGA:Field Programmable Gate Area
GOP:Group of Picture
GPU:Graphics Processing Unit
GSM:Global System for Mobile communications
HEVC:High Efficiency Video Coding
HRD:Hypothetical Reference Decoder
IBC:Intra Block Copy
IC:Integrated Circuit
JEM:Joint Exploration Model
LAN:Local Area Network
LCD:Liquid-Crystal Display
LTE:Long-Term Evolution
MV:Motion Vector
OLED:Organic Light-Emitting Diode
PB:Prediction Block
PCI:Peripheral Component Interconnect
PLD:Programmable Logic Device
PU:Prediction Unit
RAM:Random Access Memory
ROM:Read-Only Memory
SCC:Screen Content Coding
SEI:Supplementary Enhancement Information
SNR:Signal Noise Ratio
SSD:Solid-state Drive
TU:Transform Unit
USB:Universal Serial Bus
VUI:Video Usability Information
VVC:Versatile Video Coding
【符号の説明】
【0169】
101 サンプル
102 矢印
103 矢印
104 正方形ブロック
105 概略図
111 対象のブロック
200 通信システム
210 端末装置
220 端末装置
230 端末装置
250 通信ネットワーク
301 動画供給源
302 動画ピクチャのストリーム
303 動画エンコーダ
304 符号化された動画データ
305 ストリーミングサーバ
306 クライアントサブシステム
307 符号化された動画データの複製
310 動画デコーダ
311 出力ストリーム
312 ディスプレイ
313 撮像サブシステム
320 電子装置
330 電子装置
401 チャンネル
410 動画デコーダ
412 描画装置
415 バッファメモリ
420 パーサ
421 シンボル
430 電子装置
431 受信器
451 逆変換部
452 イントラ予測部
453 補償予測部
455 集合器
456 ループフィルタ部
457 参照ピクチャメモリ
458 対象ピクチャバッファ
501 動画供給源
503 動画エンコーダ
520 電子装置
530 供給源コーダ
532 符号化エンジン
533 動画デコーダ
534 参照ピクチャメモリ
535 予測器
540 送信器
543 符号化済み動画列
545 エントロピコーダ
550 コントローラ
560 通信チャンネル
603 動画エンコーダ
621 統括コントローラ
622 イントラエンコーダ
623 残差計算器
624 残差エンコーダ
625 エントロピエンコーダ
626 スイッチ
628 残差デコーダ
630 インタエンコーダ
710 動画デコーダ
771 エントロピデコーダ
772 イントラデコーダ
773 残差デコーダ
774 再構成モジュール
780 インタデコーダ
800 プロセス
1100 プロセス
1200 コンピュータシステム
1201 キーボード
1202 マウス
1203 トラックパッド
1205 ジョイスティック
1206 マイク
1207 スキャナ
1208 カメラ
1209 スピーカ
1210 タッチ画面
1220 CD/DVD ROM/RW
1221 媒体
1222 サムドライブ
1223 ソリッドステートドライブ
1240 中心部
1241 CPU
1242 GPU
1243 FPGA
1244 ハードウェアアクセラレータ
1245 ROM
1246 RAM
1247 大容量ストレージ
1248 システムバス
1249 ペリフェラルバス
1250 グラフィックスアダプタ
1254 ネットワークインタフェイス
1255 通信ネットワーク