JP7040629B2 - 符号化装置、符号化方法、符号化プログラム、復号装置、復号方法及び復号プログラム - Google Patents

符号化装置、符号化方法、符号化プログラム、復号装置、復号方法及び復号プログラム Download PDF

Info

Publication number
JP7040629B2
JP7040629B2 JP2020547555A JP2020547555A JP7040629B2 JP 7040629 B2 JP7040629 B2 JP 7040629B2 JP 2020547555 A JP2020547555 A JP 2020547555A JP 2020547555 A JP2020547555 A JP 2020547555A JP 7040629 B2 JP7040629 B2 JP 7040629B2
Authority
JP
Japan
Prior art keywords
block
intra prediction
processed
prediction mode
unit
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
JP2020547555A
Other languages
English (en)
Other versions
JPWO2020059092A1 (ja
Inventor
君彦 数井
章弘 屋森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2020059092A1 publication Critical patent/JPWO2020059092A1/ja
Application granted granted Critical
Publication of JP7040629B2 publication Critical patent/JP7040629B2/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/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/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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Description

本発明は、符号化装置、符号化方法、符号化プログラム、復号装置、復号方法及び復号プログラムに関する。
動画像データの圧縮符号化に関する国際標準として、H.265/HEVCが知られている。H.265/HEVCでは、イントラ予測とインタ予測の2つの予測方法が採用されており、イントラ予測には、更に、3種類の予測モード(プレーナ予測、直流予測、角度予測)が規定されている。
このうち、角度予測モードによるイントラ予測では、予め定義されたN個の異なる角度(参照方向)のうち、選択された参照方向を参照することで、処理対象のブロックの画素値を予測する。
角度予測モードによるイントラ予測の場合、符号化装置では、参照方向の数(N個)に応じたビット数の二値信号を、発生確率モデルを用いて算術符号化することで、符号化ストリームを生成する。
ここで、従来の符号化装置では、発生確率の推定が困難な二値信号については、発生確率を0.5に固定するバイパスモードを用いて算術符号化を行っていた。このため、かかる二値信号については、符号化ストリーム生成時の符号量の削減が十分ではないといった問題があった。更に、かかる問題は、動画像データの圧縮符号化に関する次世代の国際標準であるVVC(Versatile Video Codec)においても同様に起こり得る。
一つの側面では、イントラ予測において、符号量を削減することを目的としている。
一態様によれば、符号化装置は、
処理対象のブロックでのイントラ予測において選択された参照方向を示す値を、前記処理対象のブロックの形状に応じて変換することで、参照方向に応じた値を生成する変換部と、
前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測において生成された、前記参照方向に応じた値から、前記処理対象のブロックでの予測値を算出する算出部と、
前記処理対象のブロックでのイントラ予測において生成された、前記参照方向に応じた値と前記予測値とに基づいて、算術符号化のための二値信号を生成する生成部と、を有し、
前記生成部は、
前記参照方向に応じた値に基づいて生成された二値信号の上位mビット(mは1以上の整数)の値について、前記予測値との排他的論理和を演算することで、前記算術符号化のための二値信号を生成する
イントラ予測において、符号量を削減することができる。
イントラ予測モード情報の符号化処理及び復号処理の概要を説明するための図である。 図2は、符号化装置の機能構成の一例を示す図である。 図3は、符号化装置のハードウェア構成の一例を示す図である。 図4は、VVC規格のイントラ予測において用いられる処理対象のブロックの一例を示す図である。 図5は、HEVC規格において規定されたイントラ予測の参照方向及びイントラ予測モードの番号を示す図である。 図6は、VVC規格において規定されたイントラ予測の参照方向を示す図である。 図7は、VVC規格において規定された第2のイントラ予測モードの番号を説明するための図である。 図8は、イントラ予測モードの番号の総数を削減する方法を説明するための図である。 図9は、符号化装置のイントラ予測部の機能構成の一例を示す図である。 図10は、イントラ予測部によるイントラ予測処理の流れを示すフローチャートである。 図11は、符号化装置のエントロピ符号化部の機能構成の一例を示す図である。 図12は、二値化部により生成された二値信号の具体例を示す第1の図である。 図13は、MSB予測値の算出方法を説明するための図である。 図14は、復号装置の機能構成の一例を示す図である。 図15は、復号装置のエントロピ復号部の機能構成の一例を示す図である。 図16は、復号装置のイントラ予測部の機能構成の一例を示す図である。 図17は、エントロピ復号部及びイントラ予測部による、復号及びイントラ予測処理の流れを示すフローチャートである。 図18は、二値化部により生成された二値信号の具体例を示す第2の図である。 図19は、上位2ビットの予測値の算出方法を説明するための図である。
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
[第1の実施形態]
<イントラ予測モード情報の符号化処理及び復号処理の概要>
はじめに、第1の実施形態に係る符号化装置が、イントラ予測を行う場合の、イントラ予測モード情報の符号化処理と、対応する復号装置がイントラ予測モード情報の符号化ストリームを復号する場合の復号処理の概要について説明する。
なお、イントラ予測モードには、直流予測モード、プレーナ予測モード、角度予測モードが含まれる。また、イントラ予測モード情報とは、いずれのイントラ予測モードによりイントラ予測を行ったかを特定するための情報である。
図1は、イントラ予測モード情報の符号化処理及び復号処理の概要を説明するための図である。
処理対象のブロックに対して、イントラ予測を行う場合、符号化装置110では、第2のイントラ予測モードの番号(符号111)を選択する。第2のイントラ予測モードの番号(符号111)とは、参照方向を示す値であり、
・角度予測モードによるイントラ予測において、処理対象のブロックが参照可能な参照方向を示す番号のうちのいずれかの番号、または、
・直流予測モードを示す番号、または、
・プレーナ予測モードを示す番号、
のいずれかを指すものとする。
なお、次世代の国際標準であるVVC規格では、処理対象のブロックが参照可能な参照方向として、87通りの参照方向が規定されている。
続いて、符号化装置110では、処理対象のブロックが参照可能な参照方向を示す番号の総数が、87通りから67通りに削減されるように、処理対象のブロックの形状に応じて、第2のイントラ予測モードの番号(符号111)を変換する。これにより、符号化装置110では、変換後の番号(参照方向に応じた値)として、第1のイントラ予測モードの番号(符号112)を生成する。なお、以下の説明では、第1のイントラ予測モードの番号(符号112)と、第2のイントラ予測モードの番号(符号111)のいずれかを指す場合、単にイントラ予測モードの番号と称する場合がある。
続いて、符号化装置110では、処理対象のブロックが参照可能な参照方向を示す番号の総数を、67通りから64通りにし、6ビットに収まるように、第1のイントラ予測モードの番号(符号112)を変換する。これにより、符号化装置110では、変換後の番号として、IntraLumaMPMRemainder(符号113)を得る。
続いて、符号化装置110では、IntraLumaMPMRemainder(符号113)を二値化することで二値信号を生成する。また、符号化装置110では、生成した二値信号とMSB予測値(符号114)との排他的論理和を演算したうえで、算術符号化することで、イントラ予測モード情報の符号化ストリーム(符号117)を生成する。また、符号化装置110では、生成したイントラ予測モード情報の符号化ストリーム(符号117)を、復号装置120に送信する。
なお、MSB予測値(符号114)とは、IntraLumaMPMRemainderを二値化することで生成される二値信号の最上位ビット(MSB(Most Significant Bit))の予測値を指す。
一方で、符号化装置110では、処理対象のブロックに隣接する処理済みのブロックに対してイントラ予測を行った際のイントラ予測モードの番号と同じイントラ予測モードの番号を用いて、処理対象のブロックに対してイントラ予測を行う場合がある。この場合、符号化装置110では、隣接する処理済みのブロックに対してイントラ予測を行った際のイントラ予測モードの番号と同じであることを示す情報を、イントラ予測モード情報とする。
かかる情報をイントラ予測モード情報とするために、符号化装置110では、MPMリスト(符号115)を生成する。MPMリストとは、隣接するブロックに対してイントラ予測を行った際に用いた、イントラ予測モードの番号の一覧を指す。
続いて、符号化装置110では、IntraLumaMPMIdx(符号116)を生成する。IntraLumaMPMIdx(符号116)とは、処理対象のブロックに対してイントラ予測を行った際のイントラ予測モードの番号が、隣接ブロックに対してイントラ予測を行った際のいずれのイントラ予測モードの番号と同じであるかを示す情報を指す。
更に、符号化装置110では、IntraLumaMPMIdx(符号116)を二値化することで二値信号を生成し、算術符号化することで、イントラ予測モード情報の符号化ストリーム(符号117)を生成する。符号化装置110では、生成したイントラ予測モード情報の符号化ストリーム(符号117)を、復号装置120に送信する。
このように、符号化装置110では、イントラ予測モード情報として、
・IntraLumaMPMRemainder(符号113)
・IntraLumaMPMIdx(符号116)
のいずれかを符号化する。
また、符号化装置110では、イントラ予測モード情報として、
・いずれを符号化したかを示すIntraLumaMPMFlag
を符号化する。なお、IntraLumaMPMFlag=0とは、符号化装置110が、イントラ予測モード情報として、IntraLumaMPMRemainderを符号化したことを示す。また、IntraLumaMPMFlag=1とは、符号化装置110が、イントラ予測モード情報として、IntraLumaMPMIdxを符号化したことを示す。
一方、復号装置120では、イントラ予測モード情報の符号化ストリーム(符号117)を受信すると、まず、当該符号化ストリームを復号し、復号したイントラ予測モード情報(符号121)を得る。
続いて、復号装置120では、復号したイントラ予測モード情報(符号121)に含まれるIntraLumaMPMFlagを判定する。判定の結果、IntraLumaMPMFlagが0の場合、復号装置120では、復号したイントラ予測モード情報(符号121)に含まれる、IntraLumaMPMRemainderに応じた二値信号を取得する。
続いて、復号装置120では、取得したIntraLumaMPMRemainderに応じた二値信号とMSB予測値(符号122)との排他的論理和を演算したうえで、多値化する。これにより、復号装置120では、IntraLumaMPMRemainder(符号124)を生成する。
続いて、復号装置120では、IntraLumaMPMRemainder(符号124)を7ビット化することで、67通りの第1のイントラ予測モードの番号のいずれかの番号を得る(符号125)。
一方、復号装置120では、復号したイントラ予測モード情報(符号121)に含まれるIntraLumaMPMFlagが1の場合には、復号したイントラ予測モード情報(符号121)に含まれる、IntraLumaMPMIdxの二値信号を取得する。
続いて、復号装置120では、取得したIntraLumaMPMIdxの二値信号を多値化し、MPMリスト(符号123)より、第1のイントラ予測モードの番号(符号125)を得る。
続いて、復号装置120では、第1のイントラ予測モードの番号(符号125)を、処理対象のブロックの形状に応じて、87通りの第2のイントラ予測モードの番号(符号126)のいずれかに振り直す。
これにより、復号装置120では、87通りの参照方向のうちのいずれかの参照方向を示す第2のイントラ予測モードの番号(符号126)を得る。
このように、第1の実施形態に係る符号化装置110では、第2のイントラ予測モードの番号を、処理対象のブロックの形状に応じて変換することでIntraLumaMPMRemainderを得る。また、第1の実施形態に係る符号化装置110では、IntraLumaMPMRemainderの二値信号を符号化する際、MSB予測値を算出する。そして、二値信号のIntraLumaMPMRemainderの最上位ビットを、算出したMSB予測値(符号114)で置き換えることで、当該二値信号の最上位ビットの発生確率を上げる。
これにより、符号化装置110では、IntraLumaMPMRemainder(符号113)の二値信号を算術符号化する際、最上位ビットについて、コンテキストモードによる算術符号化を実現する確率を上げることができる。この結果、符号化装置110によれば、バイパスモードによる算術符号化を行った場合と比べて、符号化時の符号量を削減することができる。
<符号化装置の機能構成>
次に、符号化装置110の機能構成について説明する。符号化装置110には符号化プログラムがインストールされており、当該プログラムが実行されることで、符号化装置110は、原画像として入力された動画像データを符号化し、符号化ストリームを復号装置120に送信する。
図2は、符号化装置の機能構成の一例を示す図である。図2に示すように、符号化装置110は、ブロック分割部201、直交変換部202、量子化部203、逆量子化部204、逆直交変換部205を有する。また、符号化装置110は、ループフィルタ部206、局所復号画像メモリ207、イントラ予測部208、インタ予測部209、エントロピ符号化部211を有する。
ブロック分割部201は、入力された動画像データに含まれる各フレームを、複数のブロックに分割することで、原画ブロックを生成する。
直交変換部202は、ブロック分割部201において生成された原画ブロックと、後述する予測部(イントラ予測部208またはインタ予測部209)にて生成された予測ブロックとの差分である、予測誤差ブロックを取得する。また、直交変換部202は、取得した予測誤差ブロックに対して直交変換処理を行い、変換係数を算出する。
量子化部203は、直交変換部202において算出された変換係数を量子化し、予測誤差符号化パラメータを算出する。
逆量子化部204は、量子化部203において算出された予測誤差符号化パラメータを逆量子化し、逆量子化変換係数を算出する。
逆直交変換部205は、逆量子化部204において算出された逆量子化変換係数に対して逆直交変換を行い、予測誤差復号ブロックを生成する。逆直交変換部205において生成された予測誤差復号ブロックに対しては、後述する予測部(イントラ予測部208またはインタ予測部209)にて生成された予測ブロックが加算されることで、加算部出力ブロックが生成される。
ループフィルタ部206は、生成された加算部出力ブロックに対して、デブロッキングフィルタ等を用いてフィルタ処理を行うことで局所復号ブロックを生成し、局所復号画像メモリ207に格納する。
イントラ予測部208は変換部の一例であり、イントラ予測を行い、イントラ予測ブロックを生成する。なお、以下では、イントラ予測部208において、角度予測モードによるイントラ予測が行われるものとして説明する。
具体的には、イントラ予測部208は、原画ブロックのうちの処理対象のブロックにおいてイントラ予測を行う際、加算部出力ブロックのうちの処理対象のブロックの上側または左側に隣接するブロックを参照し、イントラ予測ブロックを生成する。
また、イントラ予測部208は、処理対象のブロックについてのイントラ予測モード情報をエントロピ符号化部211に通知する。更に、イントラ予測部208は、処理対象のブロックに隣接する隣接ブロックの第1のイントラ予測モードの番号をエントロピ符号化部211に通知する。
インタ予測部209は、原画ブロックのうちの処理対象のブロックについて、他のフレーム内の局所復号ブロックを用いてインタ予測を行い、インタ予測ブロックを生成する。
符号化装置110では、イントラ予測部208において生成されたイントラ予測ブロック、または、インタ予測部209において生成されたインタ予測ブロックのいずれか一方が選択される。
選択された予測ブロックは、予測誤差復号ブロックに加算される。また、選択された予測ブロックは、原画ブロックのうちの処理対象のブロックとの差分の算出に用いられ、予測誤差ブロックとして、直交変換部202に入力される。なお、以下では、予測ブロックとしてイントラ予測ブロックが選択されるものとして説明する。
エントロピ符号化部211は、量子化部203において算出された予測誤差符号化パラメータを符号化する。また、エントロピ符号化部211は、イントラ予測部208より通知されたイントラ予測モード情報を含む各種シンタックス要素を符号化する。なお、エントロピ符号化部211は、イントラ予測モード情報を符号化するにあたり、隣接ブロックの第1のイントラ予測モードの番号を用いる。
このように、エントロピ符号化部211は、予測誤差符号化パラメータ及び各種シンタックス要素を符号化することで、符号化ストリームを生成し、復号装置120に送信する。
<符号化装置のハードウェア構成>
次に、符号化装置110のハードウェア構成について説明する。図3は、符号化装置のハードウェア構成の一例を示す図である。図3に示すように、符号化装置110は、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303を有する。CPU301、ROM302、RAM303は、いわゆるコンピュータを形成する。
また、符号化装置110は、補助記憶装置304、表示装置305、操作装置306、I/F(Interface)装置307、ドライブ装置308を有する。なお、符号化装置110の各ハードウェアは、バス309を介して相互に接続されている。
CPU301は、補助記憶装置304にインストールされている各種プログラム(例えば、符号化プログラム等)を実行する演算デバイスである。
ROM302は、不揮発性メモリである。ROM302は、補助記憶装置304にインストールされている各種プログラムをCPU301が実行するために必要な各種プログラム、データ等を格納する、主記憶デバイスとして機能する。具体的には、ROM302はBIOS(Basic Input/Output System)やEFI(Extensible Firmware Interface)等のブートプログラム等を格納する、主記憶デバイスとして機能する。
RAM303は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の揮発性メモリである。RAM303は、補助記憶装置304にインストールされている各種プログラムがCPU301によって実行される際に展開される作業領域を提供する、主記憶デバイスとして機能する。
補助記憶装置304は、各種プログラムや、各種プログラムが実行される際に用いられるデータ(例えば、動画像データ)を格納する補助記憶デバイスである。
表示装置305は、符号化装置110の内部状態を表示する表示デバイスである。操作装置306は、符号化装置110のユーザが符号化装置110に対して各種指示を入力する入力デバイスである。
I/F装置307は、他の装置(例えば、復号装置120)と接続し、他の装置との間で符号化ストリームの送受信を行うための接続デバイスである。
ドライブ装置308は記録媒体310をセットするためのデバイスである。ここでいう記録媒体310には、CD-ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体310には、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
なお、補助記憶装置304にインストールされる各種プログラムは、例えば、配布された記録媒体310がドライブ装置308にセットされ、該記録媒体310に記録された各種プログラムがドライブ装置308により読み出されることでインストールされる。あるいは、補助記憶装置304にインストールされる各種プログラムは、不図示のネットワークよりダウンロードされることでインストールされてもよい。
なお、説明の簡略化のため、図3では、符号化装置110のハードウェア構成のみを示したが、復号装置120も同様のハードウェア構成を有しているものとする。
<VVC規格のイントラ予測に関する規定>
次に、次世代の国際標準であるVVC規格のイントラ予測に関する規定として、処理対象のブロック、イントラ予測モードの番号、IntraLumaMPMRemainderに関する規定について説明する。
(1)処理対象のブロックに関する規定
はじめに、VVC規格のイントラ予測に関する規定のうち、処理対象のブロックに関する規定について説明する。図4は、VVC規格のイントラ予測において用いられる処理対象のブロックの一例を示す図である。HEVC規格のイントラ予測では、処理対象のブロックとして、形状が正方形のみのブロックが用いられていたが、VVC規格の場合、図4に示すように長方形のブロックも用いられる。
図4において、フレーム400は、VVC規格のイントラ予測において用いられる各種ブロックの形状、サイズを示しており、符号410~430は、このうちの典型的なブロックの形状、サイズを抜粋して示したものである。
このうち、符号410は、横方向画素数=W、縦方向画素数=Hのブロックを、横方向画素数=(W/2)、縦方向画素数=(H/2)の4つのブロックに分割することで得られたブロックを示している。
また、符号420は、横方向画素数=W、縦方向画素数=Hのブロックを、横方向画素数=(W/2)、縦方向画素数=Hの2つのブロック、または、横方向画素数=W、縦方向画素数=(H/2)の2つのブロックに分割することで得られたブロックを示している。
また、符号430は、横方向画素数=W、縦方向画素数=Hのブロックを、横方向画素数=(W/4)、縦方向画素数=Hの2つのブロックと、横方向画素数=(W/2)、縦方向画素数=Hの1つのブロックとに分割することで得られたブロックを示している。あるいは、符号430は、横方向画素数=W、縦方向画素数=Hのブロックを、横方向画素数=W、縦方向画素数=(H/4)の2つのブロックと、横方向画素数=W、縦方向画素数=(H/2)の1つのブロックとに分割することで得られたブロックを示している。
このように、VVC規格では、様々な形状及びサイズの長方形のブロックが用いられる。なお、図4の例では、長方形のブロックの縦横比が1:2の場合と、2:1の場合とについて示したが、1:2または2:1以外の縦横比の長方形のブロックが用いられてもよい。
(2)イントラ予測モードの番号に関する規定
次に、VVC規格のイントラ予測に関する規定のうち、イントラ予測モードの番号に関する規定について、HEVC規格のイントラ予測モードの番号に関する規定と対比しながら説明する。
(2-1)HEVC規格の場合
図5は、HEVC規格において規定されたイントラ予測の参照方向及びイントラ予測モードの番号を示す図である。
イントラ予測は、ラスタスキャン順で先に処理されたブロック(加算部出力ブロック)の画素値を予測画素値とする。このため、参照方向は、図5に示すように、フレーム内の左下方向から右上方向までの時計回りの範囲(左水平方向を0°とした場合、-45°~+135°の範囲)となる。
また、図5に示すように、各角度には、-45°から+135°の順で、2番から34番までの33通りの角度予測モードによるイントラ予測モードの番号が割り当てられている。なお、0番及び1番には、それぞれ、プレーナ予測モード及び直流予測モード(空間的な方向性をもたない予測モード)によるイントラ予測モードの番号が割り当てられている。
角度予測モードによるイントラ予測モードでは、33通りの参照方向のうち、指定された参照方向に合致した外挿を行うことで、処理対象のブロックの各画素の予測画素値を生成する。
(2-2)VVC規格の場合の参照方向
一方、図6は、VVC規格において規定されたイントラ予測の参照方向を示す図である。VVC規格の場合、HEVC規格と比較して、参照方向の数が2倍となる。また、VVC規格の場合、処理対象のブロックが非正方形である場合を考慮して、参照方向の範囲が追加されている(-73°~-45°、及び、+135°~+163°が追加されている)。
図6において、符号601は、処理対象のブロックが正方形である場合の参照方向である、-45°~+45°の範囲を示している。また、符号602は、処理対象のブロックが正方形である場合の参照方向である、+45°~+135°の範囲を示している。
一方、符号603は、処理対象のブロックが非正方形である場合の参照方向として追加された、-73°~-45°の範囲を示している。更に、符号604は、処理対象のブロックが非正方形である場合の参照方向として追加された、+135°~+163°の範囲を示している。
なお、VVC規格の場合、第2のイントラ予測モードの番号の総数は、85通りの参照方向を有する角度予測モードの番号に、プレーナ予測モード及び直流予測モードの番号を加えた87通りとなる。
(2-3)第2のイントラ予測モードの番号
次に、VVC規格において規定された、87通りの参照方向を有する角度予測モード、プレーナ予測モード及び直流予測モードを含む、第2のイントラ予測モードの番号の割り当てについて説明する。図7は、VVC規格において規定された第2のイントラ予測モードの番号を説明するための図である、
図7に示すように、-45°から+135°の順で、2番から66番までの角度予測モードによる第2のイントラ予測モードの番号が割り当てられる。なお、0番及び1番には、それぞれ、プレーナ予測モード及び直流予測モードによる第2のイントラ予測モードの番号が割り当てられる。
加えて、+135°以上の各角度には、67番から76番までの角度予測モードによる第2のイントラ予測モードの番号が割り当てられる。また、-73°から-45°までの各角度には、-10番から-1番までの角度予測モードによる第2のイントラ予測モードの番号が割り当てられる。
(2-4)第1のイントラ予測モードの番号
ここで、VVC規格では、図1を用いて説明したとおり、87通りの第2のイントラ予測モードの番号(符号111)を、67通りの第1のイントラ予測モードの番号(符号112)へと、総数を削減する。
これは、イントラ予測モードの番号の総数を87通りとすることで、HEVC規格と比較して、予測誤差を低減できる一方で、符号化した際のイントラ予測モード情報の符号量が増加することを考慮したものである。
図8は、イントラ予測モードの番号の総数を削減する方法を説明するための図である。図8において、処理対象のブロック801は、横方向画素数=W、縦方向画素数=(W/2)であるとする。また、画素802は、処理対象のブロック801の最も右下に位置する画素であり、画素803は、処理対象のブロック801に隣接し、角度予測モードによるイントラ予測の際に参照される画素である。
また、矢印810、811、820、821は、それぞれ、画素802に対する、-45°、-30°、+135°、+150°の参照方向を示している。そして、矢印810、811、820、821の先端に位置する画素は、画素802によって参照される画素を示している。つまり、矢印810、811、820、821の先端に位置する画素の画素値は、画素802の予測画素値である。
一般に、角度予測モードによるイントラ予測の予測性能は、予測対象となる画素(ここでは、画素802)と、参照画素(ここでは、矢印810、811、820、821の先端に位置する画素)との間の距離に反比例する。つまり、予測対象となる画素と、参照画素との間の距離が近いほど予測誤差は小さくなり、符号化効率が向上する。
図8の例では、-45°の参照方向の場合、参照画素(矢印810の先端に位置する画素)までの距離は、その対角線上にある+135°の参照方向の場合の、参照画素(矢印820の先端に位置する画素)までの距離と比べて、大きくなる。
なお、処理対象のブロックの形状が正方形であった場合には、両者の距離は等しくなる。一方で、処理対象のブロックの形状が図8に示す長方形であった場合、同一線上にある角度で、画素802と参照画素との距離が等しくなるのは、-30°の参照方向と+150°の参照方向の場合である。
つまり、処理対象のブロックの縦横比が1:2の場合、角度が-30°~-45°の範囲の参照方向は、角度予測モードによるイントラ予測の予測性能が低く、実際に選択される確率が低いといえる。例えば、処理対象のブロックの周囲に均一なテクスチャがあり、その方向が、矢印810及び矢印820と平行であった場合、矢印810の参照方向の代わりに、矢印820の参照方向を選択することで、予測効率を向上させることが期待できる。
VVC規格では、このことを利用して、イントラ予測モードの番号の総数が67通りとなるように(HEVC規格と同じになるように)、イントラ予測モードの番号を振り直す。
つまり、イントラ予測において選択された参照方向が、
・180°反転した場合でもイントラ予測が可能、かつ、
・選択された参照方向における参照画素までの距離が、180°反転した場合の参照画素までの距離よりも小さい、
場合には、180°反転した参照方向を示す値が用いられることになる。
このようにして、VVC規格では、87通りの第2のイントラ予測モードの番号(符号111)を、67通りの第1のイントラ予測モードの番号(符号112)へと変換し、総数を削減する。
(2-5)総数削減処理の具体例
ここで、第2のイントラ予測モードの番号の総数を削減する処理の具体例を、図6を参照しながら説明する。
VVC規格の場合、処理対象のブロックの横方向画素数と縦方向画素数とに基づいて、処理対象のブロックが横長のブロックであるのか、縦長のブロックであるのかを判定する。
そして、横長のブロックであると判定した場合、VVC規格では、符号604で示した参照方向を、180°反転させた角度(符号601の最下から順に上側の10方向)を特定する。また、VVC規格では、特定した10方向の参照方向については使用せず、これら10方向の第2のイントラ予測モードの番号を、符号604で示した参照方向に対応する第1のイントラ予測モードの番号に振り直す。具体的には、VVC規格では、第2のイントラ予測モードの番号が2~11の場合、65を加算して、67~76に変換する。
一方、縦長のブロックであると判定した場合、VVC規格では、符号603で示した参照方向を、180°反転させた角度(符号602の最右から順に左側の10方向)を特定する。また、VVC規格では、特定した10方向の参照方向については使用せず、これら10方向の第2のイントラ予測モードの番号を、符号602で示した参照方向に対応する第1のイントラ予測モードの番号に振り直す。具体的には、VVC規格では、第2のイントラ予測モードの番号が57~66の場合、67を減算して-10~-1に変換する。
なお、上記以外であると判定した場合、VVC規格では第2のイントラ予測モードの番号を変換しない。このため、第1のイントラ予測モードの番号は、第2のイントラ予測モードの番号と同じとなる。例えば、第2のイントラ予測モードの番号が12~56の場合には、第1のイントラ予測モードの番号は12~56となる。
以上のとおり、VVC規格において、イントラ予測モードの番号の総数を削減し、第2のイントラ予測モードの番号を、第1のイントラ予測モードの番号に変換するための処理は、下記のように整理することができる。なお、下記において、M1は、第1のイントラ予測モードの番号を表し、M2は、第2のイントラ予測モードの番号を表しているものとする。
・横方向画素数(W)=縦方向画素数(H)の場合
M1=M2
・横方向画素数(W)=縦方向画素数(H)の場合
2≦M2<mLの場合、M1=M2+65
ただし、W=2Hの場合には、mL=8、W>2Hの場合には、mL=12
それ以外の場合には、M1=M2
・横方向画素数(W)<縦方向画素数(H)の場合
mH<M2≦66の場合、M1=M2-67
ただし、H=2Wの場合、mH=60、H>2Wの場合、mH=56
それ以外の場合、M1=M2
これにより、VVC規格では、第2のイントラ予測モードの番号(M2)を、第1のイントラ予測モードの番号(M1)に変換することができる。
(3)IntraLumaMPMRemainderの説明
次に、第1のイントラ予測モードの番号の総数(67通り)を、6ビット化し、IntraLumaMPMRemainder(符号113)を導出する処理について説明する。ここでは、第1のイントラ予測モードの番号(符号112)をIntraDirとおく。
VVC規格によれば、以下の手順により、IntraLumaMPMRemainderを導出することができる。
i)はじめに、IntraLumaMPMRemainder=IntraDirとおく。
ii)続いて、MPM(Most Probable Mode)の各エントリについて昇順でソートし、mpm_sort[i](i=0..2,mpm_sort[0]<mpm_sort[1]<mpm_sort[2])を得る。
iii)続いて、mpm_sort[i]と、IntraLumaMPMRemainderとを順に比較する。
iv)比較の結果、mpm_sort[i]<=IntraLumaMPMRemainderが成立する場合には、IntraLumaMPMRemainderを1減算する。
これにより、VVC規格によれば、第1のイントラ予測モードの番号(符号112)に基づいて、IntraLumaMPMRemainderを導出することができる。なお、上記手順により導出される最終的なIntraLumaMPMRemainderは、第1のイントラ予測モードの番号(符号113)より、最大で"3"小さくなる。
<イントラ予測部の機能構成>
次に、符号化装置110のイントラ予測部208の機能構成について説明する。図9は、符号化装置のイントラ予測部の機能構成の一例を示す図である。図9に示すように、イントラ予測部208は、制御部901、第2の予測モード算出部902、フィルタ部903、コスト算出部904、予測モード保持部905、MPM生成部906を有する。
制御部901は、処理対象のブロックについてイントラ予測モード情報を選択する。具体的には、制御部901では、コスト評価の対象となる第1のイントラ予測モードの番号を、順次、第2の予測モード算出部902に通知する。また、制御部901では、処理対象のブロックの横方向画素数(W)及び縦方向画素数(H)を、第2の予測モード算出部902に通知する。
また、制御部901では、コスト算出部904で算出された符号化コストが、最小となる第1のイントラ予測モードの番号について、IntraLumaMPMRemainderを算出する。
あるいは、制御部901では、コスト算出部904で算出された符号化コストが、最小となる第1のイントラ予測モードの番号に対応する第2のイントラ予測モードの番号を特定し、MPM生成部906により生成されたMPMリストを参照する。そして、制御部901では、特定した第2のイントラ予測モードの番号が、MPMリスト内の、処理対象のブロックに隣接するブロックについてイントラ予測された際の第2のイントラ予測モードの番号と一致するかを判定する。更に、制御部901では、一致すると判定した場合、当該MPMリスト内において、当該第2のイントラ予測モードの番号を特定するためのIntraLumaMPMIdxを生成する。
このようにして、制御部901では、
・IntraLumaMPMFlag、
・IntraLumaMPMIdx、または、IntraLumaMPMRemainderのいずれか、
が含まれるイントラ予測モード情報を選択する。
また、制御部901は、選択したイントラ予測モード情報を、エントロピ符号化部211に通知する。なお、制御部901では、IntraLumaMPMIdxを通知する場合、IntraLumaMPMFlag=1に設定し、IntraLumaMPMRemainderを通知する場合、IntraLumaMPMFlag=0に設定する。
また、制御部901は、処理対象のブロックに隣接するブロックについてイントラ予測された際の第2のイントラ予測モードの番号を、MPMリストより取得し、第1のイントラ予測モードの番号に変換する。これにより、制御部901は、隣接するブロックの第1のイントラ予測モードの番号を取得する。また、制御部901は、隣接するブロックの第1のイントラ予測モードの番号を、エントロピ符号化部211に通知する。
第2の予測モード算出部902は、制御部901から通知された、コスト評価の対象となる第1のイントラ予測モードの番号を、処理対象のブロックの横方向画素数(W)と縦方向画素数(H)とに基づいて、第2のイントラ予測モードの番号に変換する。また、第2の予測モード算出部902は、第2のイントラ予測モードの番号を、フィルタ部903に通知する。
フィルタ部903は、加算部出力ブロックのうちの処理対象のブロックに隣接するブロックの画素値について、第2のイントラ予測モードの番号に対応する参照方向に基づきフィルタ演算を行い、予測画素値を算出する。また、フィルタ部903は、符号化コストが最小となる第2のイントラ予測モードの番号に対応する参照方向に基づきフィルタ演算を行った際の予測画素値を、イントラ予測ブロックとして出力する。
コスト算出部904は、原画ブロックのうちの処理対象のブロックから、フィルタ部903にてフィルタ演算された予測画素値を減算し、符号化コストを算出する。コスト算出部904では、符号化コストを、歪み量(予測誤差の強度)と、量子化値に比例して増加する重みを該量子化値に乗算したデータ量と、を和算することで算出する。また、コスト算出部904では、当該データ量を、予測誤差を仮想的に符号化した際の発生データ量と、エントロピ符号化部211に出力するイントラ予測モード情報のデータ量とを和算することで算出する。
なお、コスト算出部904では、イントラ予測モード情報にIntraLumaMPMRemainderが含まれる場合、
・IntraLumaMPMRemainderのデータ量を、固定の6ビットとして符号化コストを算出する。あるいは、
・IntraLumaMPMRemainderの二値信号の最上位ビットとMSB予測値との排他的論理和が0となる発生確率のエントロピに基づいて算出したビット量を、データ量として符号化コストを算出する。
このとき、排他的論理和が0となる発生確率は、エントロピ符号化部211が、直前の処理対象のブロックについて算出した発生確率を用いてもよい。あるいは、エントロピ符号化部211が、直前のピクチャの最終ブロックについて算出した発生確率を用いてもよい。
更に、コスト算出部904は、算出した符号化コストが、すでに算出済みの符号化コストよりも小さいか否かを判定する。すでに算出済みの符号化コストよりも小さいと判定した場合、コスト算出部904は、判定結果及び符号化コストを制御部901に通知する。これにより、制御部901は、対応する第1のイントラ予測モードの番号及び符号化コストを、予測モード保持部905に通知する。
なお、コスト算出部904が、全ての第1のイントラ予測モードの番号について符号化コストを算出することで、制御部901では、イントラ予測モード情報を選択することができる。
予測モード保持部905は、制御部901から通知される、第1のイントラ予測モードの番号に対応する第2のイントラ予測モードの番号を保持する。なお、処理対象のブロックに対して、イントラ予測が行われなかった場合、予測モード保持部905では、直流予測モードを示す番号を保持する。
また、予測モード保持部905は、保持した第2のイントラ予測モードの番号を、MPM生成部906に対して、処理済みの隣接ブロックの第2のイントラ予測モードの番号として出力する。
MPM生成部906は、処理対象のブロックに隣接するブロックについてイントラ予測された際の第2のイントラ予測モードの番号を、制御部901に提供する。また、MPM生成部906は、予測モード保持部905から、処理済みの隣接ブロックの第2のイントラ予測モードの番号を、次の処理対象のブロックの隣接ブロックの第2のイントラ予測モードの番号として、MPMリストに登録する。
<イントラ予測部によるイントラ予測処理の流れ>
次に、イントラ予測部208によるイントラ予測処理の流れについて説明する。図10は、イントラ予測部によるイントラ予測処理の流れを示すフローチャートである。
ステップS1001において、イントラ予測部208は、初期化を行う。具体的には、制御部901は、コスト評価の対象となる第1のイントラ予測モードの番号を"0"にする。また、MPM生成部906は、MPMリストを生成する。更に、予測モード保持部905は、最小コストCmに、取り得る最大値(例えば、232-1)を設定する。
ステップS1002において、第2の予測モード算出部902は、制御部901より出力された第1のイントラ予測モードの番号を、第2のイントラ予測モードの番号に変換する。
ステップS1003において、フィルタ部903は、第2のイントラ予測モードの番号に対応する参照方向に位置する加算部出力ブロックを参照し、予測画素値を生成する。また、コスト算出部904は、原画ブロックのうちの処理対象のブロックと生成した予測画素値との残差と、第1のイントラ予測モードの番号に対応するIntraLumaMPMRemainderのデータ量とに従い、符号化コストCtを算出する。
ステップS1004において、予測モード保持部905は、符号化コストCtが最小コストCmよりも小さいか否かを判定する。ステップS1004において、符号化コストCtが最小コストCmよりも小さいと判定された場合には(ステップS1004においてYesの場合には)、ステップS1005に進む。
ステップS1005において、予測モード保持部905は、第1のイントラ予測モードの番号に対応する、第2のイントラ予測モードの番号を保持する。また、予測モード保持部905は、符号化コストCtを最小コストCmにセットし、予測画素値を保持する。
一方、ステップS1004において、符号化コストCtが最小コストCm以上であると判定した場合には(ステップS1004においてNoの場合には)、ステップS1006に進む。
ステップS1006において、制御部901は、第1のイントラ予測モードの番号が取り得る最大値(=66)未満であるか否かを判定する。ステップS1006において、イントラ予測モードの番号が最大値未満であると判定した場合(ステップS1006においてYesの場合)、制御部901は、コスト評価の対象となっていない第1のイントラ予測モードの番号が残っていると判定する。この場合、制御部901は、ステップS1007に進む。
ステップS1007において、制御部901は、第1のイントラ予測モードの番号をインクリメントした後、ステップS1002に戻る。
一方、ステップS1006において、第1のイントラ予測モードの番号が最大値以上であると判定した場合(ステップS1006においてNoの場合)、制御部901は、第1のイントラ予測モードの番号全てについて、コスト評価の対象となったと判定する。この場合、制御部901は、ステップS1008に進む。
ステップS1008において、フィルタ部903は、予測モード保持部905に保持されている予測画素値を、イントラ予測ブロックとして出力する。
また、制御部901は、予測モード保持部905に保持されている、第2のイントラ予測モードの番号に基づいて、第1のイントラ予測モードの番号を算出し、更に、IntraLumaMPMRemainderを生成する。
また、制御部901は、予測モード保持部905に保持されている、第2のイントラ予測モードの番号に基づいて、MPMリストを参照する。そして、制御部901は、処理対象のブロックに隣接するブロックについてイントラ予測された際の第2のイントラ予測モードの番号と一致する場合には、IntraLumaMPMIdxを生成する。
更に、制御部901は、IntraLumaMPMRemainder(またはIntraLumaMPMIdx)と、IntraLumaMPMFlagとを、イントラ予測モード情報として、エントロピ符号化部211に出力する。
<エントロピ符号化部の機能構成>
次に、符号化装置110のエントロピ符号化部211の機能構成について説明する。図11は、符号化装置のエントロピ符号化部の機能構成の一例を示す図である。図11に示すように、エントロピ符号化部211は、二値化部1101、算術符号化部1102、コンテキスト保持・計算部1103、モード予測値生成部1104、符号化値生成部1105を有する。
算術符号化部1102は符号化部の一例であり、処理対象のブロックについての予測誤差符号化パラメータ、処理対象のブロックの符号化パラメータ(ここでは、イントラ予測モード情報)、及び、ピクチャの符号化パラメータを、符号化対象として取得する。また、算術符号化部1102は、取得した符号化対象を、コンテキストを使った二値算術符号化方式でエントロピ符号化する。
二値化部1101は、符号化対象のうち、シンタックス要素について二値信号を生成する。二値化部1101は、例えば、イントラ予測部208より通知された、イントラ予測モード情報の二値信号を生成する。
コンテキスト保持・計算部1103は、エントロピ符号化した各シンタックス要素の二値信号を保存し、処理対象のブロックのシンタックス要素のコンテキスト値(MPS(Most Probable Symbol)とその発生確率)を算出し、更新する。
例えば、コンテキスト保持・計算部1103は、処理対象のブロックに対応するIntraLumaMPMRemainderの二値信号の各ビットについて、MPSとその発生確率を算出し、保存する。
モード予測値生成部1104は算出部の一例であり、イントラ予測部208から、隣接ブロックの第1のイントラ予測モードの番号が通知されると、該第1のイントラ予測モードの番号を保存する。また、モード予測値生成部1104は、隣接ブロックの第1のイントラ予測モードの番号に基づいて、処理対象のブロックのIntraLumaMPMRemainderの二値信号の最上位ビットの予測値を算出する。更に、モード予測値生成部1104は、算出した最上位ビットの予測値(MSB(Most Significant Bit)予測値)を、符号化値生成部1105に通知する。
符号化値生成部1105は生成部の一例であり、二値化部1101において生成されたイントラ予測モード情報の二値信号のうち、IntraLumaMPMRemainderの二値信号を取得する。また、符号化値生成部1105は、IntraLumaMPMRemainderの二値信号の各ビットのうち、最上位ビットについて、モード予測値生成部1104にて算出されたMSB予測値との排他的論理和を演算する。また、符号化値生成部1105は、排他的論理和を演算したIntraLumaMPMRemainderの二値信号(算術符号化のための二値信号)を算術符号化部1102に通知する。
これにより、算術符号化部1102では、IntraLumaMPMRemainderについて二値算術符号化方式でエントロピ符号化するにあたり、最上位ビットについては、コンテキストモードによりエントロピ符号化を行うことができる。
<二値化部の処理の詳細>
次に、二値化部1101の処理の詳細について説明する。上述したとおり、二値化部1101は、符号化対象のうち、シンタックス要素の二値信号を生成する。図12は、二値化部により生成された二値信号の具体例を示す第1の図であり、IntraLumaMPMRemainderの二値信号を示す図である。
IntraLumaMPMRemainderは、0~63の64通りの番号のいずれかであり、概ね、64通りの参照方向と対応している。したがって、IntraLumaMPMRemainderの二値信号は、図12のように表すことができる。
つまり、IntraLumaMPMRemainderの二値信号において、最上位ビット(MSB)=0とは、参照方向が左隣接ブロック(水平方向)であることを示しているといえる。また、IntraLumaMPMRemainderの二値信号において、最上位ビット(MSB)=1とは、参照方向が上隣接ブロック(垂直方向)であることを示しているといえる。
<モード予測値生成部の詳細>
次に、モード予測値生成部1104の処理の詳細について説明する。上述したとおり、モード予測値生成部1104は、IntraLumaMPMRemainderの二値信号の各ビットの中で、コンテキストを使った二値算術符号化方式を行う最上位ビットの予測値(MSB予測値)を算出する。
図13は、MSB予測値の算出方法を説明するための図である。モード予測値生成部1104では、MSB予測値を算出するにあたり、処理対象のブロック1300の上側に隣接する上隣接ブロック1301におけるイントラ予測モードと、左側に隣接する左隣接ブロック1302のイントラ予測モードとを用いる。
ここで、モード予測値生成部1104では、隣接ブロックの第1のイントラ予測モードの番号が2未満の場合には、隣接ブロックのイントラ予測が直流予測モードまたはプレーナ予測モードであったと判定する。
一方、隣接ブロックの第1のイントラ予測モードの番号が、2~34の範囲内の場合には、隣接ブロックのイントラ予測が角度予測モードであり、参照方向が水平方向であったと判定する。更に、隣接ブロックの第1のイントラ予測モードの番号が、35~66の範囲内の場合には、隣接ブロックのイントラ予測が角度予測モードであり、参照方向が垂直方向であったと判定する。
そして、モード予測値生成部1104では、隣接ブロックのイントラ予測モードに基づいて、処理対象のブロックにおけるIntraLumaMPMRemainderの二値信号のMSB予測値を算出する(図13の一覧表1310参照)。
・コンテキストモデル1
上隣接ブロックと左隣接ブロックの第1のイントラ予測モードの番号が、いずれも、"直流予測モードまたはプレーナ予測モード"を示す番号であった場合、モード予測値生成部1104では、MSB予測値を、"0"と算出する。
・コンテキストモデル2
上隣接ブロックと左隣接ブロックの第1のイントラ予測モードの番号のいずれか一方が、"直流予測モードまたはプレーナ予測モード"を示す番号でなかった場合、モード予測値生成部1104では、
・いずれか一方が、角度予測モードであり、かつ、参照方向が"水平方向"を示す番号であった場合には、MSB予測値を"0"と算出する。
・いずれか一方が、角度予測モードであり、かつ、参照方向が"垂直方向"を示す番号であった場合には、MSB予測値を"1"と算出する。
・コンテキストモデル3
上隣接ブロックと左隣接ブロックの第1のイントラ予測モードの番号が、角度予測モードであり、かつ、参照方向がいずれも、"水平方向"を示す番号であった場合、モード予測値生成部1104では、MSB予測値を"0"と算出する。また、上隣接ブロックと左隣接ブロックの第1のイントラ予測モードの番号が、角度予測モードであり、かつ、参照方向がいずれも、"垂直方向"を示す番号であった場合、モード予測値生成部1104では、MSB予測値を"1"と算出する。
・コンテキストモデル4
上隣接ブロックと左隣接ブロックの第1のイントラ予測モードの番号が角度予測モードであり、かつ、参照方向のいずれか一方が"水平方向"で、他方が"垂直方向"を示す番号であった場合、モード予測値生成部1104では、MSB予測値を"0"と算出する。
<復号装置の機能構成>
次に、復号装置120の機能構成について説明する。復号装置120には復号プログラムがインストールされており、当該プログラムが実行されることで、復号装置120は、不図示のネットワークを介して符号化装置110より受信した符号化ストリームを復号し、動画像データを出力する。
図14は、復号装置の機能構成の一例を示す図である。図14に示すように、復号装置120は、エントロピ復号部1401、逆量子化部1402、逆直交変換部1403、ループフィルタ部1404、局所復号画像メモリ1405を有する。また、復号装置120は、イントラ予測部1406、インタ予測部1407を有する。
エントロピ復号部1401は復号部の一例であり、符号化ストリームを復号し、処理対象のブロックの復号パラメータを逆量子化部1402に通知する。
また、エントロピ復号部1401は、符号化ストリームを復号することで処理対象のブロックのイントラ予測モード情報及び横方向画素数、縦方向画素数を取得し、イントラ予測部1406に通知する。なお、エントロピ復号部1401は、イントラ予測モード情報を取得する際、イントラ予測部1406より通知された、隣接ブロックの第1のイントラ予測モードの番号を用いる。
逆量子化部1402は、エントロピ復号部1401より通知された復号パラメータに対して逆量子化を行い、逆量子化係数を算出する。また、逆量子化部1402は、算出した逆量子化係数を逆直交変換部1403に通知する。
逆直交変換部1403は、逆量子化部1402より通知された逆量子化係数に対して逆直交変換を行い、予測誤差ブロックを生成する。逆直交変換部1403において生成された予測誤差ブロックには、後述する予測部(イントラ予測部1406またはインタ予測部1407)にて生成された予測ブロックが加算され、加算部出力ブロックが生成される。
ループフィルタ部1404は、生成された加算部出力ブロックに対して、デブロッキングフィルタ等を用いてフィルタ処理を行い、フィルタ処理後の局所復号ブロックを、フレーム単位で出力することで、動画像データを出力する。
また、ループフィルタ部1404は、フィルタ処理後の局所復号ブロックを、局所復号画像メモリ1405に格納する。
イントラ予測部1406は予測部の一例であり、イントラ予測を行い、イントラ予測ブロックを生成する。具体的には、イントラ予測部1406は、エントロピ復号部1401より、イントラ予測モード情報及び横方向画素数、縦方向画素数を取得する。また、イントラ予測部1406は、取得したイントラ予測モード情報及び横方向画素数、縦方向画素数に基づいて、加算部出力ブロックのうちの処理対象のブロックの上側または左側に隣接するブロックを参照し、イントラ予測ブロックを生成する。また、イントラ予測部1406は、イントラ予測ブロックを生成する際に算出した第1のイントラ予測モードの番号を、次の処理対象のブロックを復号する際に用いる、隣接ブロックの第1のイントラ予測モードの番号として、エントロピ復号部1401に通知する。
インタ予測部1407は、処理対象のブロックについて、他のフレーム内の局所復号ブロックを用いてインタ予測を行い、インタ予測ブロックを生成する。
なお、復号装置120では、符号化ストリームを復号することで得られる情報に基づいて、イントラ予測部1406またはインタ予測部1407のいずれか一方が実行されるが、以下では、イントラ予測部1406が実行される場合について説明する。
<エントロピ復号部の機能構成>
次に、エントロピ復号部1401の機能構成について説明する。図15は、復号装置のエントロピ復号部の機能構成の一例を示す図である。図15に示すように、エントロピ復号部1401は、コンテキスト保持・計算部1501、算術復号部1502、二値化部1503、モード予測値生成部1504、イントラ予測モード生成部1505を有する。なお、以下では、符号化ストリームのうち、シンタックス要素の復号について説明する。
算術復号部1502は、二値化部1503から出力される復号対象のシンタックス要素の二値信号を取得する。また、算術復号部1502は、コンテキスト保持・計算部1501から出力される、復号対象のシンタックス要素の二値信号の各ビットについて、コンテキスト値(MPSとその発生確率)を取得する。更に、算術復号部1502は、
・コンテキスト保持・計算部1501から取得した、復号対象のシンタックス要素の二値信号の各ビットについてのコンテキスト値(MPSとその発生確率)と、
・二値化部1503から取得した、復号対象のシンタックス要素の二値信号と、
を用いて、符号化ストリームのうち、復号対象のシンタックス要素の算術復号を行う。
なお、算術復号部1502は、IntraLumaMPMRemainder以外の全算術復号対象のシンタックス要素については、VVC規格に基づいて算術復号を行う。また、算術復号部1502は、算術復号が適用されないシンタックス要素については、VVC規格に基づいて復号を行う。
算術復号部1502は、シンタックス要素の復号結果を、復号装置120内の各部に通知するとともに、コンテキスト保持・計算部1501に通知する。また、算術復号部1502は、復号装置120内の各部に通知するシンタックス要素の復号結果のうち、
・IntraLumaMPMFlag、
・IntraLumaMPMIdxまたはIntraLumaMPMRemainderの二値信号(ただし、最上位ビットはMSB予測値との排他的論理和に置き換えられているもの)、
・横方向画素数(W)、縦方向画素数(H)、
については、イントラ予測モード生成部1505に通知する。
二値化部1503は、復号対象のシンタックス要素の二値信号を出力する。なお、IntraLumaMPMRemainder以外の全算術復号対象のシンタックス要素の二値信号は、VVC規格に基づくものとする。
コンテキスト保持・計算部1501は、復号対象のシンタックス要素の二値信号の各ビットについてのコンテキスト値(MPSとその発生確率)を出力する。また、コンテキスト保持・計算部1501は、算術復号部1502より、復号対象のシンタックス要素の二値信号の各ビットについての復号結果が通知されると、コンテキスト値(MPSと発生確率)を更新する。更に、コンテキスト保持・計算部1501は、更新したコンテキスト値(MPSとその発生確率)を以降の復号対象のシンタックス要素のコンテキスト値を導出するために保存する。
なお、コンテキスト保持・計算部1501による処理のうち、IntraLumaMPMRemainder以外の全算術復号対象のシンタックス要素についての処理は、VVC規格に基づいて行われるものとする。
また、コンテキスト保持・計算部1501は、イントラ予測部1406から、隣接ブロックの第1のイントラ予測モードの番号が通知されると、該第1のイントラ予測モードの番号を保存する。また、コンテキスト保持・計算部1501は、第1のイントラ予測モードの番号に基づいて、復号対象のIntraLumaRemainderの二値信号の各ビットについてのコンテキスト値(MPSとその発生確率)を生成し、管理する。
モード予測値生成部1504は算出部の一例であり、イントラ予測部1406から、隣接ブロックの第1のイントラ予測モードの番号が通知されると、該第1のイントラ予測モードの番号を保存する。また、モード予測値生成部1504は、隣接ブロックの第1のイントラ予測モードの番号に基づいて、処理対象のブロックのIntraLumaMPMRemainderの二値信号のMSB予測値を算出し、イントラ予測モード生成部1505に通知する。なお、モード予測値生成部1504の処理は、符号化装置110のモード予測値生成部1104の処理と同様である。
イントラ予測モード生成部1505は生成部の一例であり、算術復号部1502から通知された、
・IntraLumaMPMFlag、
・IntraLumaMPMIdxまたはIntraLumaMPMRemainderの二値信号(ただし、最上位ビットはMSB予測値との排他的論理和に置き換えられているもの)
・横方向画素数(W)、縦方向画素数(H)、
を取得する。
また、イントラ予測モード生成部1505は、取得したIntraLumaMPMFlagが"0"であるか"1"であるかを判定する。"0"であった場合には、イントラ予測モード生成部1505は、取得した二値信号のIntraLumaMPMRemainderと、モード予測値生成部1504より通知されたMSB予測値との排他的論理和を演算したうえで、多値化する。IntraLumaMPMRemainderの二値信号を(b0,b1,b2,b3,b4,b5)とすると、イントラ予測モード生成部1505では、下式に基づいて、多値化したIntraLumaMPMRemainderを算出する。
Figure 0007040629000001
ただし、Pは、MSB予測値である。
これにより、イントラ予測モード生成部1505では、多値化したIntraLumaMPMRemainderを取得する。
また、取得したIntraLumaMPMFlagが"1"であった場合、イントラ予測モード生成部1505は、IntraLumaMPMIdxを取得する。
更に、イントラ予測モード生成部1505は、イントラ予測モード情報として、
・取得したIntraLumaMPMFlag、
・取得したIntraLumaMPMIdxまたはIntraLumaMPMRemainder、
をイントラ予測部208に通知するとともに、取得した横方向画素数(W)及び縦方向画素数(H)を、イントラ予測部208に通知する。
<イントラ予測部の機能構成>
次に、イントラ予測部1406の機能構成について説明する。図16は、復号装置のイントラ予測部の機能構成の一例を示す図である。図16に示すように、イントラ予測部1406は、第1の予測モード算出部1601、MPM生成部1602、フィルタ部1603、第2の予測モード算出部1604、予測モード保持部1605を有する。
MPM生成部1602は、予測モード保持部1605から隣接ブロックの第1のイントラ予測モードの番号が通知されると、処理対象のブロックのMPMリストを生成する。MPM生成部1602は、生成したMPMリストを、第1の予測モード算出部1601に通知する。なお、MPMリストの生成は、VVC規格に基づいて行われる。
予測モード保持部1605は、処理対象のフレーム内の各ブロックの第1のイントラ予測モードの番号を保持する。処理対象のブロックがインタ予測の場合には、当該処理対象のブロックの第1のイントラ予測モードの番号として、直流予測モードを示す番号を保持する。また、予測モード保持部1605は、保持している隣接ブロックの第1のイントラ予測モードの番号を、MPM生成部1602に通知する。
第1の予測モード算出部1601は、エントロピ復号部1401から通知される、処理対象のブロックのイントラ予測モード情報から、IntraLumaMPMFlagを抽出する。
また、第1の予測モード算出部1601は、抽出したIntraLumaMPMFlagが"1"の場合、処理対象のブロックのイントラ予測モード情報から、IntraLumaMPMIdxを取得する。また、第1の予測モード算出部1601は、MPMリスト内において、IntraLumaMPMIdxにより特定される第1のイントラ予測モードの番号を、第2の予測モード算出部1604及び予測モード保持部1605に通知する。
また、第1の予測モード算出部1601は、抽出したIntraLumaMPMFlagが"0"の場合、処理対象のブロックのイントラ予測モード情報からIntraLumaMPMRemainderを取得する。更に、第1の予測モード算出部1601は、取得したIntraLumaMPMRemainderについて補正処理を行い(最大3を加算し)、第1のイントラ予測モードの番号を生成する。なお、当該補正処理は、VVC規格に基づいて行われる。
また、第1の予測モード算出部1601は、生成した第1のイントラ予測モードの番号を、第2の予測モード算出部1604及び予測モード保持部1605に通知する。
第2の予測モード算出部1604は、エントロピ復号部1401から通知される、処理対象のブロックの横方向画素数(W)及び縦方向画素数(H)に基づいて、第1のイントラ予測モードの番号を、第2のイントラ予測モードの番号に変換する。なお、当該変換処理は、VVC規格に基づいて行われる。
フィルタ部1603は、加算部出力ブロックの画素値に対して、第2の予測モード算出部1604から出力される第2のイントラ予測モードの番号に対応するフィルタを適用し、処理対象のブロックの予測画素値を算出する。また、フィルタ部1603は、算出した予測画素値を、イントラ予測ブロックとして出力する。なお、当該フィルタ処理は、VVC規格に基づいて行われる。
<エントロピ復号部及びイントラ予測部による、復号及びイントラ予測処理の流れ>
次に、エントロピ復号部1401及びイントラ予測部1406による、復号及びイントラ予測処理の流れについて説明する。図17は、エントロピ復号部及びイントラ予測部による、復号及びイントラ予測処理の流れを示すフローチャートである。
ステップS1701において、MPM生成部1602は、予測モード保持部1605に保持されている左隣接ブロック及び上隣接ブロックの第1のイントラ予測モードの番号から、MPMリストを生成する。
ステップS1702において、算術復号部1502は、符号化ストリームを復号し、IntraLumaMPMFlagを取得する。また、算術復号部1502は、復号したIntraLumaMPMFlagが"1"であった場合、ステップS1703に進む。
ステップS1703において、算術復号部1502は、符号化ストリームを復号し、IntraLumaMPMIdxを取得する。
ステップS1704において、第1の予測モード算出部1601は、MPMリストにおいて、IntraLumaMPMIdxにより特定される第1のイントラ予測モードの番号を取得する。
一方、ステップS1702において、復号したIntraLumaMPMFlagが"0"であった場合、エントロピ復号部1401は、ステップS1705に進む。
ステップS1705において、モード予測値生成部1504は、左隣接ブロック及び上隣接ブロックの第1のイントラ予測モードの番号から、処理対象のブロックのIntraLumaMPMRemainderのMSB予測値を算出する。
ステップS1706において、算術復号部1502は、符号化ストリームを復号し、IntraLumaMPMRemainderの二値信号を取得する。算術復号部1502では、MSBをコンテキスト適応型二値算術復号し、LSBをバイパスモードの二値算術復号で復号することで、IntraLumaMPMRemainderの二値信号を取得する。
ステップS1707において、イントラ予測モード生成部1505は、復号したIntraLumaMPMRemainderの二値信号のMSBと、MSB予測値との排他的論理和を演算する。これにより、イントラ予測モード生成部1505は、処理対象のブロックのIntraLumaMPMRemainderを取得する。
ステップS1708において、第1の予測モード算出部1601は、IntraLumaMPMRemainderを補正し、第1のイントラ予測モードの番号を取得する。
ステップS1709において、第2の予測モード算出部1604は、処理対象のブロックの横方向画素数及び縦方向画素数を用いて、第1のイントラ予測モードの番号を、第2のイントラ予測モードの番号に変換する。
ステップS1709において、フィルタ部1603は、第2のイントラ予測モードの番号に対応する参照方向を参照し、参照画素のフィルタリング及び予測画素値の生成を行う。
以上の説明から明らかなように、第1の実施形態に係る符号化装置では、VVC規格に基づいて6ビット化されたイントラ予測モードの番号の二値信号について、MSB予測値との排他的論理和を演算して、算術符号化する。また、第1の実施形態に係る符号化装置では、当該MSB予測値を、隣接ブロックのイントラ予測モードの番号に基づいて算出する。
これにより、第1の実施形態に係る符号化装置によれば、6ビット化されたイントラ予測モードの番号の二値信号を符号化する際、最上位ビットについて、コンテキストモードによる算術符号化を実現する確率を上げることが可能となる。この結果、第1の実施形態に係る符号化装置によれば、6ビット化されたイントラ予測モードの番号の二値信号を符号化した際の符号量を削減することができる。つまり、第1の実施形態に係る符号化装置によれば、イントラ予測において、符号量を削減することができる。
また、第1の実施形態に係る復号装置では、符号化ストリームの復号結果に対して、隣接ブロックのイントラ予測モードの番号に基づいて算出したMSB予測値を用いて、イントラ予測モードの番号を算出する。
これにより、第1の実施形態に係る復号装置によれば、符号量が削減された符号化ストリームを復号し、イントラ予測モード情報を生成することができる。
[第2の実施形態]
上記第1の実施形態では、IntraLumaMPMRemainderの二値信号の各ビットのうち、最上位ビット(上位1ビット)について、予測値を算出するものとして説明した。これに対して、第2の実施形態では、上位2ビットについて、予測値を算出する。以下、第2の実施形態について、上記第1の実施形態との相違点を中心に説明する。
<二値化部の処理の詳細>
はじめに、第2の実施形態における二値化部1101の処理の詳細について説明する。図18は、二値化部により生成された二値信号の具体例を示す第2の図であり、IntraLumaMPMRemainderの二値信号を示す図である。
上述したとおり、IntraLumaMPMRemainderは、0~63の64通りの番号のいずれかであり、概ね、64通りの参照方向と対応している。したがって、IntraLumaMPMRemainderの二値信号(b0、b1、b2、b3、b4、b5)は、図18のように表すことができる。
つまり、IntraLumaMPMRemainderの二値信号において、上位2ビット(b0、b1)=(0、0)とは、参照方向が左下隣接ブロック(水平下方向)であることを示しているといえる。
また、IntraLumaMPMRemainderの二値信号において、上位2ビット(b0、b1)=(0、1)とは、参照方向が左上隣接ブロック(水平上方向)であることを示しているといえる。
また、IntraLumaMPMRemainderの二値信号において、上位2ビット(b0、b1)=(1、0)とは、参照方向が上左隣接ブロック(垂直左方向)であることを示しているといえる。
更に、IntraLumaMPMRemainderの二値信号において、上位2ビット(b0、b1)=(1、1)とは、参照方向が上右隣接ブロック(垂直右方向)であることを示しているといえる。
<モード予測値生成部の処理の詳細>
次に、第2の実施形態におけるモード予測値生成部1104の処理の詳細について説明する。第2の実施形態において、モード予測値生成部1104は、IntraLumaMPMRemainderの二値信号の各ビットの中で、コンテキストを使った二値算術符号化方式を行う上位2ビットの予測値を算出する。具体的には、第2の実施形態において、モード予測値生成部1104は、隣接する第1のイントラ予測モードの番号を以下のように分類する。
・第1のイントラ予測モードの番号が2未満:直流予測またはプレーナ予測
・第1のイントラ予測モードの番号が2~18:水平下方向
・第1のイントラ予測モードの番号が19~34:水平上方向
・第1のイントラ予測モードの番号が35~50:垂直左方向
・第1のイントラ予測モードの番号が51~66:垂直右方向
そして、第2の実施形態において、モード予測値生成部1104は、隣接ブロックの第1のイントラ予測モードの番号に基づいて、上位2ビット(b0、b1)の予測値を算出する。図19は、上位2ビットの予測値の算出方法を説明するための図である。図19の一覧表1900に示すように、第2の実施形態において、モード予測値生成部1104は、上位2ビット(b0、b1)の予測値を以下のように算出する。
・コンテキストモデル1
上隣接ブロックと左隣接ブロックの第1のイントラ予測モードの番号が、いずれも、"直流予測モードまたはプレーナ予測モード"を示す番号であった場合、モード予測値生成部1104では、上位2ビットの予測値を、b0=0、b1=0と算出する。
・コンテキストモデル2
上隣接ブロックと左隣接ブロックの第1のイントラ予測モードの番号のいずれか一方が、"直流予測モードまたはプレーナ予測モード"を示す番号であった場合、
・他方が角度予測モードであり、かつ、参照方向が"水平下方向"を示す番号であった場合、モード予測値生成部1104では、b0=0、b1=0と算出する。
・他方が角度予測モードであり、かつ、参照方向が"水平上方向"を示す番号であった場合、モード予測値生成部1104では、b0=0、b1=1と算出する。
・他方が角度予測モードであり、かつ、参照方向が"垂直左方向"を示す番号であった場合、モード予測値生成部1104では、b0=1、b1=0と算出する。
・他方が角度予測モードであり、かつ、参照方向が"垂直右方向"を示す番号であった場合、モード予測値生成部1104では、b0=1、b1=1と算出する。
・コンテキストモデル3
上隣接ブロックと左隣接ブロックの第1のイントラ予測モードの番号が、いずれも、"直流予測モードまたはプレーナ予測モード"を示す番号ではなく、かつ、両方が角度予測モードであり、かつ、"水平下方向"または"水平上方向"を示す番号であって、
・両方とも"水平上方向"を示す番号であった場合、モード予測値生成部1104では、b0=0、b1=1と算出する。
・両方とも"水平上方向"を示す番号以外の番号であった場合、モード予測値生成部1104では、b0=0、b1=0と算出する。
また、上隣接ブロックと左隣接ブロックの第1のイントラ予測モードの番号が、いずれも、"直流予測モードまたはプレーナ予測モード"を示す番号ではなく、かつ、両方が角度予測モードであり、かつ、"垂直左方向"または"垂直右方向"を示す番号であって、
・両方とも"垂直右方向"を示す番号であった場合、モード予測値生成部1104では、b0=1、b1=1と算出する。
・両方とも"垂直右方向"を示す番号以外の番号であった場合、モード予測値生成部1104では、b0=1、b1=0と算出する。
・コンテキストモデル4
上隣接ブロックと左隣接ブロックの第1のイントラ予測モードの番号のいずれか一方が、角度予測モードであって、"水平下方向"または"水平上方向"を示す番号の場合、
・他方が"垂直左方向"または"垂直右方向"を示す番号であった場合、モード予測値生成部1104では、b0=0、b1=0と算出する。
<イントラ予測モード生成部による処理>
次に、第2の実施形態における、イントラ予測モード生成部1505による処理の詳細について説明する。第2の実施形態において、イントラ予測モード生成部1505では、IntraLumaMPMRemainderの二値信号(b0、b1、b2、b3、b4、b5)を、下式に基づいて多値化する。
Figure 0007040629000002
ただし、P0、P1は、上位2ビットの予測値である。
以上の説明から明らかなように、第2の実施形態に係る符号化装置では、VVC規格に基づいて6ビット化されたイントラ予測モードの番号の二値信号について、上位2ビットの予測値との排他的論理和を演算して、算術符号化する。また、第2の実施形態に係る符号化装置では、当該上位2ビットの予測値を、隣接ブロックのイントラ予測モードの番号に基づいて算出する。
これにより、第2の実施形態に係る符号化装置によれば、6ビット化されたイントラ予測モードの番号の二値信号を符号化する際、上位2ビットについて、コンテキストモードによる算術符号化を実現する確率を上げることが可能となる。この結果、第2の実施形態に係る符号化装置によれば、6ビット化されたイントラ予測モードの番号の二値信号を符号化した際の符号量を削減することができる。つまり、第2の実施形態に係る符号化装置によれば、イントラ予測において、符号量を削減することができる。
また、第2の実施形態に係る復号装置では、符号化ストリームの復号結果に対して、隣接ブロックのイントラ予測モードの番号に基づいて算出した上位2ビットの予測値を用いて、イントラ予測モードの番号を算出する。
これにより、第1の実施形態に係る復号装置によれば、符号量が削減された符号化ストリームを復号し、イントラ予測モード情報を生成することができる。
[その他の実施形態]
上記第1及び第2の実施形態では、IntraLumaMPMRemainderの二値信号の、上位1ビットまたは上位2ビットについて、予測値を算出するものとして説明した。しかしながら、予測値の算出対象ビットはこれに限定されるものではなく、上位mビット(mは1以上の整数)について、予測値を算出するように構成してもよい。この場合、算術符号化部1102では、IntraLumaMPMRemainderの上位mビットについては、コンテキストモードによる算術符号化を行い、上位mビット以外の各ビットの値について、バイパスモードによる算術符号化を行うことになる。
また、上記第1及び第2の実施形態では、符号化装置と復号装置とを別体の装置として説明したが、符号化装置と復号装置とは一体の装置であってもよい。
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
110 :符号化装置
120 :復号装置
208 :イントラ予測部
211 :エントロピ符号化部
901 :制御部
902 :第2の予測モード算出部
903 :フィルタ部
904 :コスト算出部
905 :予測モード保持部
906 :MPM生成部
1101 :二値化部
1102 :算術符号化部
1103 :コンテキスト保持・計算部
1104 :モード予測値生成部
1105 :符号化値生成部
1401 :エントロピ復号部
1406 :イントラ予測部
1501 :コンテキスト保持・計算部
1502 :算術復号部
1503 :二値化部
1504 :モード予測値生成部
1505 :イントラ予測モード生成部
1601 :第1の予測モード算出部
1602 :MPM生成部
1603 :フィルタ部
1604 :第2の予測モード算出部
1605 :予測モード保持部

Claims (13)

  1. 処理対象のブロックでのイントラ予測において選択された参照方向を示す値を、前記処理対象のブロックの形状に応じて変換することで、参照方向に応じた値を生成する変換部と、
    前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測において生成された、前記参照方向に応じた値から、前記処理対象のブロックでの予測値を算出する算出部と、
    前記処理対象のブロックでのイントラ予測において生成された、前記参照方向に応じた値と前記予測値とに基づいて、算術符号化のための二値信号を生成する生成部と、を有し、
    前記生成部は、
    前記参照方向に応じた値に基づいて生成された二値信号の上位mビット(mは1以上の整数)の値について、前記予測値との排他的論理和を演算することで、前記算術符号化のための二値信号を生成することを特徴とする符号化装置。
  2. 前記算出部は、
    前記処理対象のブロックの上側に隣接する上隣接ブロック及び左側に隣接する左隣接ブロックでのイントラ予測において生成された、前記参照方向に応じた値から、前記処理対象のブロックでの前記予測値を算出することを特徴とする請求項1に記載の符号化装置。
  3. 前記算術符号化のための二値信号のうち、前記予測値との前記排他的論理和を演算した上位mビットの値について、コンテキストモードにより算術符号化する符号化部を更に有することを特徴とする請求項に記載の符号化装置。
  4. 前記符号化部は、
    前記算術符号化のための二値信号のうち、上位mビット以外の各ビットの値について、バイパスモードにより算術符号化することを特徴とする請求項に記載の符号化装置。
  5. 前記処理対象のブロックでのイントラ予測において選択された参照方向が、180°反転した場合でもイントラ予測が可能であり、かつ、選択された参照方向における参照画素までの距離が、180°反転した場合の参照画素までの距離よりも小さい場合、前記変換部は、180°反転した参照方向を示す値を、前記処理対象のブロックの形状に応じて変換することで生成する前記参照方向に応じた値とすることを特徴とする請求項1に記載の符号化装置。
  6. 処理対象のブロックでのイントラ予測において選択された参照方向を示す値を、前記処理対象のブロックの形状に応じて変換することで、参照方向に応じた値を生成する変換部と、
    前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測において生成された、前記参照方向に応じた値から、前記処理対象のブロックでの予測値を算出する算出部と
    前記処理対象のブロックでのイントラ予測において生成された、前記参照方向に応じた値と前記予測値とに基づいて、算術符号化のための二値信号を生成する生成部と、を有し、
    前記算出部は、
    前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測において生成された、前記参照方向に応じた値が、水平方向を示す値であるか、垂直方向を示す値であるかを判定することで、前記予測値を算出することを特徴とする符号化装置。
  7. 処理対象のブロックでのイントラ予測において選択された参照方向を示す値を、前記処理対象のブロックの形状に応じて変換することで、参照方向に応じた値を生成し、
    前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測において生成された、前記参照方向に応じた値から、前記処理対象のブロックでの予測値を算出し、
    前記処理対象のブロックでのイントラ予測において生成された、前記参照方向に応じた値と前記予測値とに基づいて、算術符号化のための二値信号を生成する処理をコンピュータが実行する符号化方法であって、
    前記生成する処理は、
    前記参照方向に応じた値に基づいて生成された二値信号の上位mビット(mは1以上の整数)の値について、前記予測値との排他的論理和を演算することで、前記算術符号化のための二値信号を生成する符号化方法
  8. 処理対象のブロックでのイントラ予測において選択された参照方向を示す値を、前記処理対象のブロックの形状に応じて変換することで、参照方向に応じた値を生成し、
    前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測において生成された、前記参照方向に応じた値から、前記処理対象のブロックでの予測値を算出し、
    前記処理対象のブロックでのイントラ予測において生成された、前記参照方向に応じた値と前記予測値とに基づいて、算術符号化のための二値信号を生成する処理をコンピュータに実行させるための符号化プログラムであって、
    前記生成する処理は、
    前記参照方向に応じた値に基づいて生成された二値信号の上位mビット(mは1以上の整数)の値について、前記予測値との排他的論理和を演算することで、前記算術符号化のための二値信号を生成する符号化プログラム
  9. 符号化ストリームを復号し、処理対象のブロックのイントラ予測モード情報を生成する復号部と、
    前記処理対象のブロックの形状に応じて変換することで、前記イントラ予測モード情報から参照方向を示す値を算出し、前記処理対象のブロックでのイントラ予測を行う予測部と、を有し、
    前記復号部は、
    前記予測部が前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測を行う際に用いた、前記イントラ予測モード情報に基づいて、前記処理対象のブロックでの予測値を算出する算出部と、
    前記符号化ストリームを復号した二値信号の上位mビットの値について、前記予測値との排他的論理和を演算することで、前記イントラ予測モード情報を生成する生成部と
    を有することを特徴とする復号装置。
  10. 前記算出部は、
    前記処理対象のブロックの上側に隣接する上隣接ブロック及び左側に隣接する左隣接ブロックでのイントラ予測を行う際に用いた、前記イントラ予測モード情報に基づいて、前記処理対象のブロックでの前記予測値を算出することを特徴とする請求項に記載の復号装置。
  11. 符号化ストリームを復号し、処理対象のブロックのイントラ予測モード情報を生成する復号部と、
    前記処理対象のブロックの形状に応じて変換することで、前記イントラ予測モード情報から参照方向を示す値を算出し、前記処理対象のブロックでのイントラ予測を行う予測部と、を有し、
    前記復号部は、
    前記予測部が前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測を行う際に用いた、前記イントラ予測モード情報に基づいて、前記処理対象のブロックでの予測値を算出する算出部と、
    前記予測値を用いて前記イントラ予測モード情報を生成する生成部と、を有し、
    前記算出部は、
    前記予測部が前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測を行う際に用いた、前記イントラ予測モード情報から算出される参照方向に応じた値が、水平方向を示す値であるか、垂直方向を示す値であるかを判定することで、前記予測値を算出することを特徴とする復号装置。
  12. 符号化ストリームを復号し、処理対象のブロックのイントラ予測モード情報を生成し、
    前記処理対象のブロックの形状に応じて変換することで、前記イントラ予測モード情報から参照方向を示す値を算出し、前記処理対象のブロックでのイントラ予測を行う、処理をコンピュータが実行する復号方法であって、
    前記生成する処理は、
    前記イントラ予測を行う処理が、前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測を行う際に用いた、前記イントラ予測モード情報に基づいて、前記処理対象のブロックでの予測値を算出し、
    前記符号化ストリームを復号した二値信号の上位mビットの値について、前記予測値との排他的論理和を演算することで、前記イントラ予測モード情報を生成する、
    ことを特徴とする復号方法。
  13. 符号化ストリームを復号し、処理対象のブロックのイントラ予測モード情報を生成し、
    前記処理対象のブロックの形状に応じて変換することで、前記イントラ予測モード情報から参照方向を示す値を算出し、前記処理対象のブロックでのイントラ予測を行う、処理をコンピュータに実行させるための復号プログラムであって、
    前記生成する処理は、
    前記イントラ予測を行う処理が、前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測を行う際に用いた、前記イントラ予測モード情報に基づいて、前記処理対象のブロックでの予測値を算出し、
    前記符号化ストリームを復号した二値信号の上位mビットの値について、前記予測値との排他的論理和を演算することで、前記イントラ予測モード情報を生成する
    ことを特徴とする復号プログラム。
JP2020547555A 2018-09-20 2018-09-20 符号化装置、符号化方法、符号化プログラム、復号装置、復号方法及び復号プログラム Active JP7040629B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/034886 WO2020059092A1 (ja) 2018-09-20 2018-09-20 符号化装置、符号化方法、符号化プログラム、復号装置、復号方法及び復号プログラム

Publications (2)

Publication Number Publication Date
JPWO2020059092A1 JPWO2020059092A1 (ja) 2021-06-10
JP7040629B2 true JP7040629B2 (ja) 2022-03-23

Family

ID=69888607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020547555A Active JP7040629B2 (ja) 2018-09-20 2018-09-20 符号化装置、符号化方法、符号化プログラム、復号装置、復号方法及び復号プログラム

Country Status (3)

Country Link
US (1) US11381810B2 (ja)
JP (1) JP7040629B2 (ja)
WO (1) WO2020059092A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018070107A1 (ja) 2016-10-14 2018-04-19 シャープ株式会社 エントロピー復号装置、エントロピー符号化装置、画像復号装置および画像符号化装置
WO2018117894A1 (en) 2016-12-23 2018-06-28 Huawei Technologies Co., Ltd An encoding apparatus for signaling an extension directional intra-prediction mode within a set of directional intra-prediction modes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4722214B2 (ja) * 2007-04-18 2011-07-13 三菱電機株式会社 符号化装置、復号装置、符号変換装置及びプログラム
CN102595121A (zh) * 2011-01-15 2012-07-18 华为技术有限公司 帧内预测模式二进制化的方法、解码方法、装置和系统
US20180213222A1 (en) * 2015-05-27 2018-07-26 Kt Corporation Method and device for processing video signal
US10419772B2 (en) * 2015-10-28 2019-09-17 Qualcomm Incorporated Parallel arithmetic coding techniques
US10440399B2 (en) * 2015-11-13 2019-10-08 Qualcomm Incorporated Coding sign information of video data
US10506228B2 (en) * 2016-10-04 2019-12-10 Qualcomm Incorporated Variable number of intra modes for video coding
WO2019172799A1 (en) * 2018-03-07 2019-09-12 Huawei Technologies Co., Ltd Method and apparatus for detecting blocks suitable for multiple sign bit hiding
KR102492116B1 (ko) * 2018-03-07 2023-01-26 후아웨이 테크놀러지 컴퍼니 리미티드 다중 부호 비트 숨기기 및 잔차 부호 예측을 조화시키기 위한 방법 및 장치
WO2019172798A1 (en) * 2018-03-07 2019-09-12 Huawei Technologies Co., Ltd. Method and apparatus for residual sign prediction in transform domain

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018070107A1 (ja) 2016-10-14 2018-04-19 シャープ株式会社 エントロピー復号装置、エントロピー符号化装置、画像復号装置および画像符号化装置
WO2018117894A1 (en) 2016-12-23 2018-06-28 Huawei Technologies Co., Ltd An encoding apparatus for signaling an extension directional intra-prediction mode within a set of directional intra-prediction modes

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross, Jianle Chen, and Shan Liu,Versatile Video Coding (Draft 2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K1001-v4,11th Meeting: Ljubljana, SI,2018年08月17日,pp.27-28,43-55,73-76
Fabien Racape, et al.,CE3-related: Wide-angle intra prediction for non-square blocks,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0500_r4,11th Meeting: Ljubljana, SI,2018年07月,pp.1-13
Liang Zhao, Shan Liu, Xin Zhao, and Xiang Li,CE3-related: Wide angular intra prediction for non-square blocks,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0289_v2,11th Meeting: Ljubljana, SI,2018年07月,pp.1-4

Also Published As

Publication number Publication date
WO2020059092A1 (ja) 2020-03-26
US11381810B2 (en) 2022-07-05
US20210168358A1 (en) 2021-06-03
JPWO2020059092A1 (ja) 2021-06-10

Similar Documents

Publication Publication Date Title
US20230043350A1 (en) Method, apparatus, and system for encoding and decoding image using lm chroma prediction
WO2020253831A1 (zh) 一种编解码方法、装置及存储介质
JP5957559B2 (ja) 大きいサイズの変換単位を用いた映像符号化、復号化方法及び装置
US9729872B2 (en) Method and apparatus for encoding/decoding images to minimize redundancy of intra-prediction mode
KR101772459B1 (ko) 신규한 인트라 예측 모드
EP2063644A2 (en) Image encoding device and encoding method, and image decoding device and decoding method
JP5686499B2 (ja) 画像予測符号化装置、方法及びプログラム、画像予測復号装置、方法及びプログラム、並びに、符号化・復号システム及び方法
JP5469192B2 (ja) 復号器における係数を予測する方法、復号化方法、ビデオ復号化器
KR101314836B1 (ko) 화소 예측치 생성 순서 자동 생성 방법, 화상 부호화 방법, 화상 복호 방법, 그 장치, 그 프로그램 및 그 프로그램을 기록한 기록 매체
KR20120004370A (ko) 비디오 데이터의 인코딩을 위한 인코딩 유형 및 예측 모드 선택
KR20080110171A (ko) 영상 복구를 이용한 인트라 예측 부호화, 복호화 방법 및장치
US10992964B2 (en) Method and apparatus for determining coding tree node split mode and coding device
KR20150093633A (ko) 다단계 예측을 이용한 영상 부/복호화 방법 및 이러한 방법을 사용하는 부/복호화 장치
CN110024397B (zh) 用于编码视频的方法和装置
TWI727826B (zh) 使用內預測之寫碼技術
US9848204B2 (en) Spatial prediction method and device, coding and decoding methods and devices
JP7040629B2 (ja) 符号化装置、符号化方法、符号化プログラム、復号装置、復号方法及び復号プログラム
JP2002290243A (ja) 符号化方法、符号化装置、復号方法、及び復号装置
US8463057B2 (en) Image encoding apparatus and control method therefor
JP6992825B2 (ja) 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
KR102235314B1 (ko) 영상 코덱에서 패딩을 이용한 영상 부/복호화 방법 및 장치
CN110446048B (zh) 帧内预测场景中预测模式的选取方法及装置
WO2020031297A1 (ja) 符号化装置、符号化方法、符号化プログラム、復号装置、復号方法及び復号プログラム
JPH07170408A (ja) 画情報データ圧縮再生装置
JP2007088565A (ja) 画像処理装置及び画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220221

R150 Certificate of patent or registration of utility model

Ref document number: 7040629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150