JP2023140151A - 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法 - Google Patents
画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法 Download PDFInfo
- Publication number
- JP2023140151A JP2023140151A JP2022046035A JP2022046035A JP2023140151A JP 2023140151 A JP2023140151 A JP 2023140151A JP 2022046035 A JP2022046035 A JP 2022046035A JP 2022046035 A JP2022046035 A JP 2022046035A JP 2023140151 A JP2023140151 A JP 2023140151A
- Authority
- JP
- Japan
- Prior art keywords
- block
- image
- prediction
- pixels
- predicted
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000012545 processing Methods 0.000 claims abstract description 111
- 230000008569 process Effects 0.000 claims description 39
- 238000012937 correction Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013139 quantization Methods 0.000 description 294
- 239000011159 matrix material Substances 0.000 description 178
- 230000015654 memory Effects 0.000 description 46
- 230000009466 transformation Effects 0.000 description 36
- 238000000926 separation method Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 11
- 230000006866 deterioration Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 8
- 101150039623 Clip1 gene Proteins 0.000 description 7
- 238000001914 filtration Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000009499 grossing Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 5
- 239000002131 composite material Substances 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】 イントラ・インター混在予測に対応したデブロッキングフィルタ処理を可能にするための技術を提供すること。
【解決手段】 第1ブロックおよび第2ブロックの少なくとも一方が、符号化対象のブロックを含む画像内の画素を用いて該ブロックの予測画素を導出する予測モードを適用したブロックである場合、第1ブロックと第2ブロックとの境界に対して行うデブロッキングフィルタ処理の強度を第1強度と決定する。第1ブロックおよび第2ブロックの少なくとも一方が、符号化対象のブロックにおける一部の領域については該ブロックを含む画像内の画素を用いて予測画素を導出し、該ブロックにおける一部の領域と異なる他の領域については該ブロックを含む画像と異なる他の画像内の画素を用いて予測画素を導出する予測モードを適用したブロックである場合、該強度を第1強度に基づく強度と決定する。
【選択図】 図13
【解決手段】 第1ブロックおよび第2ブロックの少なくとも一方が、符号化対象のブロックを含む画像内の画素を用いて該ブロックの予測画素を導出する予測モードを適用したブロックである場合、第1ブロックと第2ブロックとの境界に対して行うデブロッキングフィルタ処理の強度を第1強度と決定する。第1ブロックおよび第2ブロックの少なくとも一方が、符号化対象のブロックにおける一部の領域については該ブロックを含む画像内の画素を用いて予測画素を導出し、該ブロックにおける一部の領域と異なる他の領域については該ブロックを含む画像と異なる他の画像内の画素を用いて予測画素を導出する予測モードを適用したブロックである場合、該強度を第1強度に基づく強度と決定する。
【選択図】 図13
Description
本発明は、画像符号化技術および画像復号技術に関する。
動画像の圧縮記録の符号化方式として、VVC(Versatile Video Coding)符号化方式(以下、VVCと記す)が知られている。VVCでは符号化効率向上のため、最大128×128画素の基本ブロックを、従来の正方形だけでなく長方形の形状のサブブロックに分割する。
また、VVCにおいては、量子化マトリクスと呼ばれる、直交変換を施した後の係数(以下、直交変換係数と記す)を、周波数成分に応じて重み付けをするためのマトリクスが用いられている。人間の視覚には劣化が目立ちにくい高周波成分のデータをより削減することで、画質を維持しながら圧縮効率を高めることが可能となっている。特許文献1には、このような量子化マトリクスを符号化する技術が開示されている。
また、VVCにおいては、逆量子化・逆変換処理後の信号と予測画像とを加算した再構成画像のブロック境界に、適応的なデブロッキングフィルタ処理を行うことで人間の視覚的に目立ち易いブロック歪を抑えることができ、予測画像への画質劣化の伝搬を防ぐことができた。特許文献2には、このようなデブロッキングフィルタに関する技術が開示されている。
近年、VVCを標準化したJVET(Joint Video Experts Team)では、VVCを上回る圧縮効率を実現するための技術検討が進められている。符号化効率向上のため、従来のイントラ予測、インター予測に加え、同一サブブロック内にイントラ予測画素とインター予測画素を混在させた新たな予測方法(以下、イントラ・インター混在予測と呼称する)が検討されている。
VVCにおけるデブロッキングフィルタは従来のイントラ予測やインター予測といった予測方法を前提としており、新しい予測方法であるイントラ・インター混在予測には対応できていない。そこで本発明では、イントラ・インター混在予測に対応したデブロッキングフィルタ処理を可能にするための技術を提供する。
本発明の一様態は、画像をブロック単位で予測処理を行って符号化する符号化手段と、前記画像における第1ブロックと、該画像における該第1ブロックと隣接する第2ブロックと、の境界に対して行うデブロッキングフィルタ処理の強度を決定する決定手段と、前記決定手段が決定した強度に応じたデブロッキングフィルタ処理を前記境界に対して行う処理手段とを備え、前記符号化手段は、前記予測処理として、符号化対象のブロックを含む画像内の画素を用いて、該符号化対象のブロックの予測画素を導出する第1予測モードと、符号化対象のブロックを含む画像と異なる他の画像内の画素を用いて、該符号化対象のブロックの予測画素を導出する第2予測モードと、符号化対象のブロックにおける一部の領域については該符号化対象のブロックを含む画像内の画素を用いて予測画素を導出し、該符号化対象のブロックにおける前記一部の領域と異なる他の領域については該符号化対象のブロックを含む画像と異なる他の画像内の画素を用いて予測画素を導出する第3予測モードと、のいずれかを用い、前記決定手段は、前記第1ブロックおよび前記第2ブロックの少なくとも一方が前記第1予測モードを適用したブロックである場合には、前記強度を第1強度と決定し、前記第1ブロックおよび前記第2ブロックの少なくとも一方が、前記第3予測モードを適用したブロックである場合には、前記強度を前記第1強度に基づく強度と決定することを特徴とする。
本発明によれば、イントラ・インター混在予測に対応したデブロッキングフィルタ処理を可能にするための技術を提供することができる。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1の実施形態]
本実施形態に係る画像符号化装置は、画像に含まれる符号化対象のブロックにおける一部の領域についてはイントラ予測により得たイントラ予測画像を適用し、当該ブロックの当該一部の領域と異なる他の領域についてはインター予測により得たインター予測画像を適用した予測画像を取得する。そして画像符号化装置は、該ブロックと該予測画像との差分の直交変換係数を量子化マトリクスを用いて量子化することで得られる量子化係数を符号化する(第1符号化)。
本実施形態に係る画像符号化装置は、画像に含まれる符号化対象のブロックにおける一部の領域についてはイントラ予測により得たイントラ予測画像を適用し、当該ブロックの当該一部の領域と異なる他の領域についてはインター予測により得たインター予測画像を適用した予測画像を取得する。そして画像符号化装置は、該ブロックと該予測画像との差分の直交変換係数を量子化マトリクスを用いて量子化することで得られる量子化係数を符号化する(第1符号化)。
先ず、本実施形態に係る画像符号化装置の機能構成例について、図1のブロック図を用いて説明する。制御部150は、画像符号化装置全体の動作制御を行う。分割部102は、入力画像を複数の基本ブロックに分割し、該分割したそれぞれの基本ブロックを出力する。なお、入力画像は、動画像を構成する各フレームの画像(例えば30フレーム/秒の動画像における各フレームの画像)であってもよいし、定期的若しくは不定期的に撮像される静止画像であってもよい。また、分割部102は入力画像をどのような装置から取得しても良く、たとえば、ビデオカメラなどの撮像装置から取得しても良いし、複数の画像を保持している装置から取得しても良いし、自装置がアクセス可能なメモリから取得しても良い。
保持部103は、複数の予測処理のそれぞれに対応する量子化マトリクスを保持している。本実施形態では、保持部103は、フレーム内予測であるイントラ予測に対応する量子化マトリクス、フレーム間予測であるインター予測に対応する量子化マトリクス、上記のイントラ・インター混在予測に対応する量子化マトリクスを保持しているものとする。なお、保持部103が保持するそれぞれの量子化マトリクスは、デフォルトの要素値を有する量子化マトリクスであっても良いし、ユーザ操作に応じて制御部150が生成した量子化マトリクスであっても良い。また、保持部103が保持するそれぞれの量子化マトリクスは、入力画像の特性(入力画像に含まれるエッジ量や周波数など)に応じて制御部150が生成した量子化マトリクスであっても良い。
予測部104は、基本ブロックごとに、該基本ブロックを複数のサブブロックに分割する。そして予測部104は、サブブロックごとに、イントラ予測、インター予測、イントラ・インター混在予測、のいずれかによる予測画像を取得し、該サブブロックと該予測画像との差分を予測誤差として求める。また予測部104は、基本ブロックの分割方法を示す情報、サブブロックの予測画像を得るための予測を示す予測モード、動きベクトル等の予測に必要な情報を予測情報として生成する。
変換・量子化部105は、予測部104が求めたそれぞれのサブブロックの予測誤差に対して直交変換(周波数変換)を行うことで該サブブロックの直交変換係数を生成し、予測部104が該サブブロックの予測画像を得るために行った予測(イントラ予測、インター予測、イントラ・インター混在予測)に対応する量子化マトリクスを保持部103から取得し、該取得した量子化マトリクスを用いて該直交変換係数を量子化することで該サブブロックの量子化係数(該直交変換係数の量子化結果)を生成する。
逆量子化・逆変換部106は、変換・量子化部105により生成されたそれぞれのサブブロックの量子化係数に対し、変換・量子化部105が該量子化係数の生成に用いた量子化マトリクスを用いて該量子化係数の逆量子化を行うことで直交変換係数を生成し、該直交変換係数を逆直交変換して予測誤差を生成(再生)する。
画像再生部107は、予測部104が生成した予測情報に基づいて、フレームメモリ108に格納されている画像から予測画像を生成し、該予測画像と、逆量子化・逆変換部106が生成した予測誤差と、から画像を再生する。そして画像再生部107は、該再生した画像をフレームメモリ108に格納する。フレームメモリ108に格納されている画像は、予測部104が現フレームあるいは次のフレームの画像について予測を行う際に参照される画像となる。
インループフィルタ部109は、フレームメモリ108に格納されている画像に対して、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。
符号化部110は、変換・量子化部105により生成された量子化係数と、予測部104により生成された予測情報と、を符号化して符号化データ(符号データ)を生成する。
符号化部113は、保持部103に保持されている量子化マトリクス(少なくとも変換・量子化部105が量子化で用いる量子化マトリクスを含む)を符号化して符号化データ(符号データ)を生成する。
統合符号化部111は、符号化部113により生成された符号化データを用いてヘッダ符号データを生成し、符号化部110により生成された符号化データと、該ヘッダ符号データと、を含むビットストリームを生成して出力する。
なお、ビットストリームの出力先については特定の出力先に限らない。例えば、ビットストリームは、画像符号化装置が有するメモリに出力しても良いし、画像符号化装置が接続されているネットワークを介して外部の装置に対して出力しても良いし、放送用として外部に送信しても良い。
次に、本実施形態に係る画像符号化装置の動作について説明する。先ず、入力画像の符号化について説明する。分割部102は、入力画像を複数の基本ブロックに分割し、該分割したそれぞれの基本ブロックを出力する。
予測部104は、基本ブロックごとに、該基本ブロックを複数のサブブロックに分割する。図7(a)~(f)に、基本ブロック700をサブブロックに分割する方法の一例を示す。
図7(a)は、サブブロックに分割されていない8画素x8画素の基本ブロック700(=サブブロック)を示す。図7(b)は、従来の正方形サブブロック分割の一例を表しており、8画素x8画素の基本ブロック700が4つの4画素×4画素のサブブロックに分割されている(四分木分割)。
図7(c)~(f)は、長方形サブブロック分割の種類の一例を表している。図7(c)では、8画素x8画素の基本ブロック700は、2つの4画素(水平方向)×8画素(垂直方向)のサブブロックに分割されている(二分木分割)。また、図7(d)では、8画素x8画素の基本ブロック700は、2つの8画素(水平方向)×4画素(垂直方向)のサブブロックに分割されている(二分木分割)。
図7(e)では、8画素x8画素の基本ブロック700は、2画素(水平方向)×8画素(垂直方向)のサブブロック、4画素(水平方向)×8画素(垂直方向)のサブブロック、2画素(水平方向)×8画素(垂直方向)のサブブロック、の3つに分割されている。つまり、図7(e)では、基本ブロック700は、幅(水平方向の長さ)が1:2:1の比でサブブロックに分割される(三分木分割)。
図7(f)では、8画素x8画素の基本ブロック700は、8画素(水平方向)×2画素(垂直方向)のサブブロック、8画素(水平方向)×4画素(垂直方向)のサブブロック、8画素(水平方向)×2画素(垂直方向)のサブブロック、の3つに分割されている。つまり、図7(f)では、基本ブロック700は、高さ(垂直方向の長さ)が1:2:1の比でサブブロックに分割される(三分木分割)。
このように、本実施形態では、正方形だけではなく、長方形のサブブロックを用いて符号化処理が行われる。そして、本実施形態では、このような基本ブロックの分割方法を示す情報を含む予測情報が生成される。なお、図7に示した分割方法は一例に過ぎず、基本ブロックをサブブロックに分割する方法は図7に示した分割方法に限らない。
そして予測部104は、それぞれのサブブロックに対して行う予測(予測モード)を決定する。そして予測部104は、サブブロックごとに、該サブブロックについて決定した予測モードおよび符号化済の画素に基づいて予測画像を生成し、該サブブロックと該予測画像との差分を予測誤差として求める。また、予測部104は、基本ブロックの分割方法を示す情報、サブブロックの予測モード、動きベクトル等の「予測に必要な情報」を予測情報として生成する。
ここで、本実施形態で用いられる予測について、改めて説明する。本実施形態では、イントラ予測、インター予測、イントラ・インター混在予測の3種類の予測(予測モード)が用いられる。
イントラ予測(第1予測モード)では、符号化対象ブロック(本実施形態ではサブブロック)の空間的に周辺に位置する符号化済画素を用いて該符号化対象ブロックの予測画素を生成する。言い換えれば、イントラ予測では、符号化対象ブロックを含むフレーム(画像)内の符号化済画素を用いて該符号化対象ブロックの予測画素(予測画像)を生成する。イントラ予測を行ったサブブロックについては、水平予測や垂直予測、DC予測などのイントラ予測方法を示す情報が「予測に必要な情報」として生成される。
インター予測(第2予測モード)では、符号化対象ブロック(本実施形態ではサブブロック)が属するフレーム(画像)とは(時間的に)異なる他のフレーム(他の画像)の符号化済画素を用いて該符号化対象ブロックの予測画素を生成する。インター予測を行ったサブブロックについては、参照するフレームや動きベクトルなどを示す動き情報が「予測に必要な情報」として生成される。
イントラ・インター混在予測(第3予測モード)では、まず符号化対象ブロック(本実施形態ではサブブロック)を斜め方向の線分で分割して該符号化対象ブロックを2つの分割領域に分割する。そして、一方の分割領域の予測画素として「該符号化対象ブロックに対するイントラ予測により該一方の分割領域について得られる予測画素」を取得する。また、他方の分割領域の予測画素として「該符号化対象ブロックに対するインター予測により該他方の分割領域について得られる予測画素」を取得する。つまり、符号化対象ブロックに対するイントラ・インター混在予測により得られる予測画像の一方の分割領域の予測画素は「該符号化対象ブロックに対するイントラ予測により該一方の分割領域について得られる予測画素」である。また、符号化対象ブロックに対するイントラ・インター混在予測により得られる予測画像の他方の分割領域の予測画素は「該符号化対象ブロックに対するインター予測により該他方の分割領域について得られる予測画素」である。イントラ・インター混在予測における符号化対象ブロックの分割例を図12に示す。
図12(a)に示す如く、符号化対象ブロック1200を、該符号化対象ブロック1200の左上隅の頂点および右下隅の頂点を通る線分で分割して該符号化対象ブロック1200を分割領域1200aと分割領域1200bとに分けたとする。この場合の予測部104による符号化対象ブロック1200に対するイントラ・インター混在予測の処理について図12(a)~(d)を参照して説明する。このとき、予測部104は、符号化対象ブロック1200に対するイントラ予測を行うことでイントラ予測画像1201(図12(b))を生成する。ここでイントラ予測画像1201は、分割領域1200aと同じ位置にある領域1201aと、分割領域1200bと同じ位置にある領域1201bとを含む。そして、予測部104は、イントラ予測画像1201に含まれる画素(イントラ予測画素)のうち、分割領域1200aと同じ位置にある領域1201aに属するイントラ予測画素を「分割領域1200aの予測画素」とする。また、符号化対象ブロック1200に対するインター予測を行うことでインター予測画像1202(図12(c))を生成する。ここでインター予測画像1202は、分割領域1200aと同じ位置にある領域1202aと、分割領域1200bと同じ位置にある領域1202bとを含む。そして、予測部104は、インター予測画像1202に含まれる画素(インター予測画素)のうち、分割領域1200bと同じ位置にある領域1202bに属するインター予測画素を「分割領域1200bの予測画素」とする。そして、予測部104は、「分割領域1200aの予測画素」である領域1201aに含まれるイントラ予測画素と、「分割領域1200bの予測画素」である領域1202bに含まれるインター予測画素と、からなる予測画像1203(図12(d))を生成する。
以上のように予測部104は、符号化対象ブロック1200に対するイントラ予測によりイントラ予測画像1201(図12(b))を生成し、更に、符号化対象ブロック1200にインター予測によりインター予測画像1202(図12(c))を生成する。そして、予測部104は、該イントラ予測画像1201中のイントラ予測画素のうち、分割領域1200aに対応する領域1201aに含まれる座標(x、y)の位置のイントラ予測画素を、予測画像1203の同じ座標(x、y)に配置する。また、予測部104は、該インター予測画像1202中のインター予測画素のうち、分割領域1200bに対応する領域1202bに含まれる座標(x、y)の位置のインター予測画素を、予測画像1203の同じ座標(x、y)に配置する。このようにすることで、図12(d)に示す予測画像1203が生成される。
またここで更に、図12(e)~(h)を参照して、予測部104による符号化対象ブロック1200に対するイントラ・インター混在予測の処理について説明する。この例では図12(e)に示す如く、符号化対象ブロック1200を、該符号化対象ブロック1200の左上隅の頂点と左下隅の頂点との中点および右上隅の頂点を通る線分で分割して該符号化対象ブロック1200を、分割領域1200cと分割領域1200dとに分けた場合を想定する。このとき、予測部104は、符号化対象ブロック1200に対するイントラ予測を行うことでイントラ予測画像1201(図12(f))を生成する。ここで該イントラ予測画像1201は、分割領域1200cと同じ位置にある領域1201cと、分割領域1200dと同じ位置にある領域1201dとを含む。そして、予測部104は、イントラ予測画像1201に含まれる画素(イントラ予測画素)のうち、分割領域1200cと同じ位置にある領域1201cに属するイントラ予測画素を「分割領域1200cの予測画素」とする。また、予測部104は、符号化対象ブロック1200に対するインター予測を行うことでインター予測画像1202(図12(g))を生成する。ここで該インター予測画像1202は、分割領域1200cと同じ位置にある領域1202cと、分割領域1200dと同じ位置にある領域1202dとを含む。そして、予測部104は、インター予測画像1202に含まれる画素(インター予測画素)のうち、分割領域1200dと同じ位置にある領域1202dに属するインター予測画素を「分割領域1200dの予測画素」とする。そして、予測部104は、「分割領域1200cの予測画素」である領域1201cに含まれるイントラ予測画素と、「分割領域1200dの予測画素」である領域1202dに含まれるインター予測画素と、からなる予測画像1203(図12(h))を生成する。
以上のように予測部104は、符号化対象ブロック1200に対するイントラ予測によりイントラ予測画像1201(図12(f))を生成し、更に、符号化対象ブロック1200にインター予測によりインター予測画像1202(図12(g))を生成する。そして、予測部104は、該イントラ予測画像1201中のイントラ予測画素のうち、分割領域1200cに対応する領域1201cに含まれる座標(x、y)に位置するイントラ予測画素を、予測画像1203の同じ座標(x、y)に配置する。また、予測部104は、該インター予測画像1202中のインター予測画素のうち、分割領域1200dに対応する領域1202dに含まれる座標(x、y)に位置するインター予測画素を、予測画像1203の同じ座標(x、y)に配置する。以上のようにすることで、図12(d)に示す予測画像1203が生成される。
そして、イントラ・インター混在予測を行ったサブブロックについては、イントラ予測方法を示す情報、参照するフレームや動きベクトルなどを示す動き情報、分割領域を規定する情報(例えば上記の線分を規定する情報)、などが「予測に必要な情報」として生成される。
予測部104は、着目サブブロックの予測モードを次のような処理でもって決定する。予測部104は、着目サブブロックに対するイントラ予測で生成された予測画像と該着目サブブロックとの差分画像を生成する。また予測部104は、着目サブブロックに対するインター予測で生成された予測画像と該着目サブブロックとの差分画像を生成する。また予測部104は、着目サブブロックに対するイントラ・インター混在予測で生成された予測画像と該着目サブブロックとの差分画像を生成する。なお画像Aと画像Bの差分画像C中の画素位置(x、y)における画素値は、該画像A中の画素位置(x、y)における画素値AAと該画像B中の画素位置(x、y)における画素値BBとの差分(AAとBBの差の絶対値や、AAとBBとの差の二乗値など)である。そして予測部104は、差分画像中の全ての画素の画素値の合計値が最も小さい予測画像を特定し、該予測画像を得るために着目サブブロックに対して行った予測を「着目サブブロックの予測モード」として決定する。なお、着目サブブロックの予測モードを決定する方法は上記の方法に限らない。
そして予測部104は、サブブロックごとに、該サブブロックについて決定した予測モードで生成された予測画像を「該サブブロックの予測画像」とし、該サブブロックと該予測画像から予測誤差を生成する。また予測部104は、サブブロックごとに、該サブブロックについて決定した予測モードや、該サブブロックについて生成した「予測に必要な情報」、を含む予測情報を生成する。
変換・量子化部105は、サブブロックごとに、該サブブロックの予測誤差に対して、該予測誤差のサイズに対応した直交変換処理を施して、直交変換係数を生成する。そして変換・量子化部105は、サブブロックごとに、保持部103が保持する量子化マトリクスのうち該サブブロックの予測モードに対応する量子化マトリクスを取得し、該取得した量子化マトリクスを用いて該サブブロックの直交変換係数を量子化して量子化係数を生成する。
例えば保持部103が、8画素x8画素のサブブロックに対してイントラ予測を行った場合に得られる予測誤差の直交変換係数の量子化に用いる量子化マトリクスとして、図8(a)に例示する8要素x8要素(64個の要素の値は何れも量子化ステップ値)の量子化マトリクスを保持しているものとする。また例えば、保持部103が8画素x8画素のサブブロックに対してインター予測を行った場合に得られる予測誤差の直交変換係数の量子化に用いる量子化マトリクスとして、図8(b)に例示する8要素x8要素(64個の要素の値は何れも量子化ステップ値)の量子化マトリクスを保持しているものとする。また例えば、保持部103が8画素x8画素のサブブロックに対してイントラ・インター混在予測を行った場合に得られる予測誤差の直交変換係数の量子化に用いる量子化マトリクスとして、図8(c)に例示する8要素x8要素(64個の要素の値は何れも量子化ステップ値)の量子化マトリクスを保持しているものとする。
この場合、変換・量子化部105は、「8画素x8画素のサブブロックに対するイントラ予測で取得した予測誤差」の直交変換係数を、図8(a)のイントラ予測用の量子化マトリクスを用いて量子化する。
また変換・量子化部105は、「8画素x8画素のサブブロックに対するインター予測で取得した予測誤差」の直交変換係数を、図8(b)のインター予測用の量子化マトリクスを用いて量子化する。
また変換・量子化部105は、「8画素x8画素のサブブロックに対するイントラ・インター混在予測で取得した予測誤差」の直交変換係数を、図8(c)のイントラ・インター混在予測用の量子化マトリクスを用いて量子化する。
逆量子化・逆変換部106は、変換・量子化部105により生成されたそれぞれのサブブロックの量子化係数に対し、該サブブロックの量子化で変換・量子化部105が用いた量子化マトリクスを用いて逆量子化を行うことで直交変換係数を生成し、該直交変換係数を逆直交変換して予測誤差を生成(再生)する。
画像再生部107は、予測部104が生成した予測情報に基づいて、フレームメモリ108に格納されている画像から予測画像を生成し、該予測画像と、逆量子化・逆変換部106が生成(再生)した予測誤差と、を加算してサブブロックの画像を再生する。そして画像再生部107は、該再生した画像をフレームメモリ108に格納する。
インループフィルタ部109は、フレームメモリ108に格納されている画像に対して、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行い、インループフィルタ処理済みの画像をフレームメモリ108に格納する。
符号化部110は、サブブロックごとに、変換・量子化部105により生成された該サブブロックの量子化係数と、予測部104により生成された該サブブロックの予測情報と、をエントロピー符号化して符号化データを生成する。なお、エントロピー符号化の方法は特に指定しないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。
次に、量子化マトリクスの符号化について説明する。保持部103が保持する量子化マトリクスは、符号化を行うサブブロックのサイズや予測モードに応じて生成されたものである。例えば図7に示す如く、分割するサブブロックのサイズとして8画素x8画素、4画素x4画素、8画素x4画素、4画素x8画素、8画素x2画素、2画素x8画素などのサイズを採用する場合、該採用するサイズの量子化マトリクスを保持部103に登録する。また、量子化マトリクスは、イントラ予測、インター予測、イントラ・インター混在予測のそれぞれについて用意され、保持部103に登録する。
このような、サブブロックのサイズや予測モードに応じた量子化マトリクスの生成方法は上記の如く特定の生成方法に限らず、また、このような量子化マトリクスの保持部103における管理方法についても特定の管理方法に限らない。
本実施形態では、保持部103が保持する量子化マトリクスは図8に示す如く二次元の形状で保持されているものとするが、量子化マトリクス内の各要素はこれに限定されない。また、サブブロックのサイズによって、あるいは符号化対象が輝度ブロックか色差ブロックかによって、同じ予測方法に対して複数の量子化マトリクスを保持することも可能である。一般的に、量子化マトリクスは人間の視覚特性に応じた量子化処理を実現するため、図8に示すように量子化マトリクスの左上隅部分に相当する直流成分用の要素は小さく、右下部分に相当する交流成分の要素は大きくなっている。
符号化部113は、保持部103に保持されている量子化マトリクス(少なくとも変換・量子化部105が量子化で用いる量子化マトリクスを含む)を読み出し、該読み出した量子化マトリクスを符号化する。たとえば、符号化部113は、着目量子化マトリクスを次のような処理でもって符号化する。
符号化部113は、二次元配列である着目量子化マトリクスにおける各要素の値を規定の順序で参照し、現在参照している要素の値と直前に参照した要素の値との差分値を並べた一次元配列を生成する。たとえば、図8(c)の量子化マトリクスが着目量子化マトリクスである場合、符号化部113は、図9に示す如く、該着目量子化マトリクスの左上隅の要素の値から右下隅の要素の値までの各要素の値を矢印で示す順序で参照する。
この場合、最初に参照する要素の値は「8」であり、直前に参照した要素の値は存在しないため、符号化部113は予め定められた値や何らかの方法で求めた値を出力値として出力する。たとえば、符号化部113は、現在参照している要素の値「8」を出力値として出力しても良いし、該要素の値「8」から規定値を引いた値を出力値として出力しても良いし、出力値は特定の方法で決定された値でなくても良い。
次に参照する要素の値は「11」であり、直前に参照した要素の値は「8」であるため、符号化部113は、現在参照している要素の値「11」から直前に参照した要素の値「8」を引いた差分値「+3」を出力値として出力する。このようにして符号化部113は、量子化マトリクスにおける各要素の値を規定の順序で参照して出力値を求めて出力し、該出力値を出力順に並べた一次元配列を生成する。
このような処理によって図8(a)の量子化マトリクスから生成される一次元配列を図10(a)に示す。また、このような処理によって図8(b)の量子化マトリクスから生成される一次元配列を図10(b)に示す。また、このような処理によって図8(c)の量子化マトリクスから生成される一次元配列を図10(c)に示す。図10では、上記の規定値として「8」を設定しているものとする。
そして符号化部113は、着目量子化マトリクスについて生成した一次元配列を符号化する。たとえば、符号化部113は、図11(a)に例示する符号化テーブルを参照して、一次元配列における各要素値を対応する二値符号に置き換えたビット列を符号化データとして生成する。なお符号化テーブルは図11(a)に示した符号化テーブルに限らず、たとえば、図11(b)に例示する符号化テーブルを用いてもよい。
図1に戻って、統合符号化部111は、符号化部113により生成された符号化データに「画像の符号化に必要なヘッダ情報」を統合し、該ヘッダ情報を統合した符号化データを用いてヘッダ符号データを生成する。そして統合符号化部111は、符号化部110により生成された符号化データと、該ヘッダ符号データと、を多重化したビットストリームを生成して出力する。
図6(a)に、統合符号化部111により生成されるビットストリームの構成例を示す。シーケンスヘッダには量子化マトリクスの符号データが含まれ、各要素の符号化データを含む。ただし、符号化される位置はこれに限定されず、ピクチャヘッダやその他のヘッダに符号化される構成をとっても構わない。また、1つのシーケンスの中で量子化マトリクスの変更を行う場合、量子化マトリクスを新たに符号化することで更新することも可能である。この際、全ての量子化マトリクスを書き換えても良いし、書き換える量子化マトリクスに対応する量子化マトリクスの予測モードを指定することでその一部を変更するようにすることも可能である。
以上説明した画像符号化装置による符号化処理について、図3のフローチャートに従って説明する。なお、図3のフローチャートに従った処理は1枚の入力画像に対する符号化処理である。よって、動画像における各フレームの画像や、定期的若しくは不定期的に撮像される複数の画像を符号化する場合には、それぞれの画像についてステップS304~ステップS311の処理を繰り返し行うことになる。
また図3のフローチャートに従った処理の開始前にはすでに、保持部103には、イントラ予測に対応する量子化マトリクス、インター予測に対応する量子化マトリクス、イントラ・インター混在予測に対応する量子化マトリクスが登録されているものとする。なお、上記の如く、保持部103が保持する量子化マトリクスは何れも、分割するサブブロックのサイズに応じた量子化マトリクスである。
ステップS302では、符号化部113は、保持部103に保持されている量子化マトリクス(少なくとも変換・量子化部105が量子化で用いる量子化マトリクスを含む)を読み出し、該読み出した量子化マトリクスを符号化して符号化データを生成する。
ステップS303では、統合符号化部111は、「画像の符号化に必要なヘッダ情報」を生成する。そして統合符号化部111は、ステップS302で符号化部113により生成された符号化データに「画像の符号化に必要なヘッダ情報」を統合し、該ヘッダ情報を統合した符号化データを用いてヘッダ符号データを生成する。
ステップS304では、分割部102は、入力画像を複数の基本ブロックに分割し、該分割したそれぞれの基本ブロックを出力する。そして予測部104は、基本ブロックごとに、該基本ブロックを複数のサブブロックに分割する。
ステップS305では予測部104は、入力画像におけるサブブロックのうち未選択の1つを選択サブブロックとして選択し、該選択サブブロックの予測モードを決定する。そして予測部104は、該選択サブブロックに対して該決定した予測モードに応じた予測を行って、該選択サブブロックの予測画像、予測誤差、予測情報を取得する。
ステップS306では、変換・量子化部105は、ステップS305で取得した選択サブブロックの予測誤差に対して、該予測誤差のサイズに対応した直交変換処理を施して、直交変換係数を生成する。そして変換・量子化部105は、保持部103が保持する量子化マトリクスのうち、該選択サブブロックの予測モードに対応する量子化マトリクスを取得し、該取得した量子化マトリクスを用いて該サブブロックの直交変換係数を量子化して量子化係数を取得する。
ステップS307では逆量子化・逆変換部106は、ステップS306で取得した選択サブブロックの量子化係数に対し、該選択サブブロックについて変換・量子化部105が量子化で用いた量子化マトリクスを用いて逆量子化を行うことで直交変換係数を生成する。そして逆量子化・逆変換部106は、該生成した直交変換係数を逆直交変換して予測誤差を生成(再生)する。
ステップS308で画像再生部107は、ステップS305で取得した予測情報に基づいて、フレームメモリ108に格納されている画像から予測画像を生成し、該予測画像とステップS307で生成した予測誤差とを加算してサブブロックの画像を再生する。そして画像再生部107は、該再生した画像をフレームメモリ108に格納する。
ステップS309では、符号化部110は、ステップS306で取得した量子化係数と、ステップS305で取得した予測情報と、をエントロピー符号化して符号化データを生成する。
そして統合符号化部111は、ステップS303で生成されたヘッダ符号データと、ステップS309で符号化部110により生成された符号化データと、を多重化したビットストリームを生成して出力する。
ステップS310では、制御部150は、入力画像における全てのサブブロックを選択サブブロックとして選択したか否かを判断する。この判断の結果、入力画像における全てのサブブロックを選択サブブロックとして選択した場合には、処理はステップS311に進む。一方、入力画像におけるサブブロックのうち未だ選択サブブロックとして選択されていないサブブロックが1以上残っている場合には、処理はステップS305に進む。
ステップS311では、インループフィルタ部109は、フレームメモリ108に格納されている画像(ステップS308で再生された選択サブブロックの画像)に対してインループフィルタ処理を行う。そしてインループフィルタ部109は、インループフィルタ処理済みの画像をフレームメモリ108に格納する。
このような処理により、イントラ・インター混在予測を行ったサブブロックの直交変換係数を、イントラ・インター混在予測に対応する量子化マトリクスを用いて量子化することができるため、周波数成分ごとに量子化を制御し、画質を向上させることができる。
<変形例>
第1の実施形態では、イントラ予測、インター予測、イントラ・インター混在予測のそれぞれに対して個別に量子化マトリクスを用意し、それぞれの予測に対応する量子化マトリクスを符号化した。しかし、そのうちのいくつかを共通化しても構わない。
第1の実施形態では、イントラ予測、インター予測、イントラ・インター混在予測のそれぞれに対して個別に量子化マトリクスを用意し、それぞれの予測に対応する量子化マトリクスを符号化した。しかし、そのうちのいくつかを共通化しても構わない。
たとえば、イントラ・インター混在予測に基づいて得られた予測誤差の直交変換係数の量子化に、イントラ・インター混在予測に対応する量子化マトリクスではなく、イントラ予測に対応する量子化マトリクスを用いても良い。すなわち、例えば、イントラ・インター混在予測に基づいて得られた予測誤差の直交変換係数を量子化するために、図8(c)のイントラ・インター混在予測用の量子化マトリクスではなく、図8(a)のイントラ予測用の量子化マトリクスを用いてもよい。この場合、イントラ・インター混在予測に対応する量子化マトリクスの符号化は省略することができる。これにより、ビットストリームに含める量子化マトリクスの符号化データの量を削減させることができると共に、ブロック歪みなどのイントラ予測による誤差から生じる画質劣化を軽減させることができる。
また、イントラ・インター混在予測に基づいて得られた予測誤差の直交変換係数の量子化に、イントラ・インター混在予測に対応する量子化マトリクスではなく、インター予測に対応する量子化マトリクスを用いても良い。すなわち、例えば、イントラ・インター混在予測に基づいて得られた予測誤差の直交変換係数を量子化するために、図8(c)のイントラ・インター混在予測用の量子化マトリクスではなく、図8(b)のインター予測用の量子化マトリクスを用いてもよい。この場合、イントラ・インター混在予測に対応する量子化マトリクスの符号化は省略することができる。これにより、ビットストリームに含める量子化マトリクスの符号化データの量を削減させることができると共に、ガクガクした動きなどのインター予測による誤差から生じる画質劣化を低減させることもできる。
また、イントラ・インター混在予測を実行して得られたサブブロックの予測画像において、「イントラ予測により得られる予測画素」の領域、「インター予測により得られる予測画素」の領域、のそれぞれのサイズに応じて、該サブブロックに用いる量子化マトリクスを決定しても良い。
たとえば、図12(e)に示す如くサブブロック1200を分割領域1200cと分割領域1200dとに分割したとする。そして、分割領域1200cの予測画素として「イントラ予測による得られる予測画素」を求め、分割領域1200dの予測画素として「インター予測による得られる予測画素」を求めたとする。また、分割領域1200cのサイズ(面積(画素数))S1:分割領域1200dのサイズ(面積(画素数))S2=1:3であるとする。
このような場合、サブブロック1200においてイントラ予測が適用された分割領域1200cのサイズよりもインター予測が適用された分割領域1200dのサイズが大きい。よって、変換・量子化部105は、このサブブロック1200の直交変換係数の量子化には、インター予測に対応する量子化マトリクス(例えば図8(b)の量子化マトリクス)を適用する。
なお、サブブロック1200においてイントラ予測が適用された分割領域1200cのサイズよりもインター予測が適用された分割領域1200dのサイズが小さい場合には、変換・量子化部105は、サブブロック1200の直交変換係数の量子化には、イントラ予測に対応する量子化マトリクス(例えば図8(a)の量子化マトリクス)を適用する。 これにより、よりサイズが大きい分割領域の画質劣化を低減しつつ、イントラ・インター混在予測に対応する量子化マトリクスの符号化は省略することができる。よって、ビットストリームに含める量子化マトリクスの符号化データの量を削減させることができる。
また、「イントラ予測に対応する量子化マトリクス」と「インター予測に対応する量子化マトリクス」とをS1とS2との比に応じて合成した量子化マトリクスをイントラ・インター混在予測に対応する量子化マトリクスとして生成しても良い。例えば、変換・量子化部105は、次式(1)を用いてイントラ・インター混在予測に対応する量子化マトリクスを生成しても良い。
QM[x][y]={w×QMinter[x][y]+(1-w)×QMintra[x][y]})…(1)
ここで、QM[x][y]は、イントラ・インター混在予測に対応する量子化マトリクスにおいて座標(x,y)における要素の値(量子化ステップ値)を示す。QMinter[x][y]は、インター予測に対応する量子化マトリクスにおいて座標(x,y)における要素の値(量子化ステップ値)を示す。QMintra[x][y]は、イントラ予測に対応する量子化マトリクスにおいて座標(x,y)における要素の値(量子化ステップ値)を示す。また、wは0以上1以下の値を持つ、当該サブブロックの中でインター予測が用いられた領域の割合を示す値であり、w=S2/(S1+S2)である。このように、イントラ・インター混在予測に対応する量子化マトリクスは必要に応じて生成することができ、予め作成しておく必要は無いので、該量子化マトリクスの符号化は省略することができる。よって、ビットストリームに含める量子化マトリクスの符号化データの量を削減させることができる。また、イントラ予測、インター予測のそれぞれが用いられた領域のサイズの比に応じた適切な量子化制御を行うことができ、画質を向上させることができる。
ここで、QM[x][y]は、イントラ・インター混在予測に対応する量子化マトリクスにおいて座標(x,y)における要素の値(量子化ステップ値)を示す。QMinter[x][y]は、インター予測に対応する量子化マトリクスにおいて座標(x,y)における要素の値(量子化ステップ値)を示す。QMintra[x][y]は、イントラ予測に対応する量子化マトリクスにおいて座標(x,y)における要素の値(量子化ステップ値)を示す。また、wは0以上1以下の値を持つ、当該サブブロックの中でインター予測が用いられた領域の割合を示す値であり、w=S2/(S1+S2)である。このように、イントラ・インター混在予測に対応する量子化マトリクスは必要に応じて生成することができ、予め作成しておく必要は無いので、該量子化マトリクスの符号化は省略することができる。よって、ビットストリームに含める量子化マトリクスの符号化データの量を削減させることができる。また、イントラ予測、インター予測のそれぞれが用いられた領域のサイズの比に応じた適切な量子化制御を行うことができ、画質を向上させることができる。
また、第1の実施形態では、イントラ・インター混在予測を適用したサブブロックに適用する量子化マトリクスは一意に決まる構成としたが、識別子を導入することで選択可能とする構成としても構わない。
イントラ・インター混在予測を適用したサブブロックに適用する量子化マトリクスとして、イントラ予測に対応する量子化マトリクス、インター予測に対応する量子化マトリクス、イントラ・インター混在予測に対応する量子化マトリクス、から選択する方法には様々な方法がある。たとえば、ユーザ操作に応じて制御部150が選択しても良い。
そして、ビットストリームには、イントラ・インター混在予測を適用したサブブロックに適用する量子化マトリクスとして選択された量子化マトリクスを特定する為の識別子を格納する。
例えば図6(b)は、上記の識別子として量子化マトリクス符号化方法情報符号を新たに導入することで、イントラ・インター混在予測を適用したサブブロックに適用する量子化マトリクスを選択的にしたものである。例えば、量子化マトリクス符号化方法情報符号が0を示している場合には、イントラ・インター混在予測を適用したサブブロックに対し、イントラ予測に対応する量子化マトリクスが適用されたことを示している。また、量子化マトリクス符号化方法情報符号が1を示している場合には、イントラ・インター混在予測を適用したサブブロックに対し、インター予測に対応する量子化マトリクスが適用されたことを示している。一方、量子化マトリクス符号化方法情報符号が2を示している場合には、イントラ・インター混在予測を適用したサブブロックに対し、イントラ・インター混在予測に対応する量子化マトリクスが適用されたことを示している。
これにより、ビットストリームに含める量子化マトリクスの符号化データの量の削減と、イントラ・インター混在予測を適用したサブブロックに対する独自の量子化制御と、を選択的に実現することが可能となる。
また、第1の実施形態では、サブブロックを分割した一方の分割領域に対する予測画素(第1予測画素)と、他方の分割領域に対する予測画素(第2予測画素)と、を含む予測画像を生成したが、予測画像の生成方法はこのような生成方法に限らない。たとえば、一方の分割領域と他方の分割領域との境界付近の領域(境界領域)の画質を向上させるため、境界領域に含まれる第1予測画素と第2予測画素との加重平均によって算出された第3予測画素を、該境界領域の予測画素としても良い。この場合、予測画像において上記の一方の分割領域に対応する対応領域の予測画素値は第1予測画素となり、予測画像において上記の他方の分割領域に対応する対応領域の予測画素値は第2予測画素となる。そして、予測画像において上記の境界領域に対応する対応領域の予測画素値は第3予測画素となる。これにより、異なる予測が用いられた分割領域の境界領域における画質の劣化を抑制し、画質を向上させることができる。
また、第1の実施形態では、イントラ予測、インター予測、イントラ・インター混在予測の3種類を例にとり説明したが、予測の種類や数は、この例に限らない。たとえば、VVCで採用されているイントラ・インター複合予測(CIIP)を用いても良い。イントラ・インター複合予測は、符号化対象ブロック全体の画素をイントラ予測による予測画素とインター予測による予測画素との加重平均で算出する予測である。この場合、イントラ・インター混在予測を用いたサブブロックに対して用いられる量子化マトリクスと、イントラ・インター複合予測を用いたサブブロックに対して用いられる量子化マトリクスと、を共通化することもできる。これにより、同一サブブロック内でイントラ予測による予測画素とインター予測による予測画素の両方を用いるという共通点を持った予測が用いられたサブブロックに対し、同一の量子化制御の性質を持った量子化マトリクスによる量子化を適用することができる。さらには、新たな予測方法に対応する量子化マトリクス分の符号量を削減することもできる。
また、第1の実施形態では、符号化対象を入力画像としたが、符号化対象は画像に限らない。例えば、物体認識などの機械学習に用いられる特徴量データである二次元のデータ配列を入力画像と同様にして符号化してビットストリームを生成して出力する構成としても良い。これにより、機械学習に用いられる特徴量データを効率よく符号化することが可能となる。
[第2の実施形態]
本実施形態に係る画像復号装置は、ビットストリームから、復号対象のブロックについての量子化係数を復号し、量子化マトリクスを用いて、該量子化係数から変換係数を導出し、該変換係数を逆周波数変換することで、該復号対象のブロックについての予測誤差を導出する。そして、画像復号装置は、復号対象のブロックにおける一部の領域についてはイントラ予測により得たイントラ予測画像を適用し、復号対象のブロックにおける該一部の領域と異なる他の領域についてはインター予測により得たインター予測画像を適用した予測画像を生成し、生成した予測画像と、該予測誤差とを用いて復号対象のブロックを復号する。
本実施形態に係る画像復号装置は、ビットストリームから、復号対象のブロックについての量子化係数を復号し、量子化マトリクスを用いて、該量子化係数から変換係数を導出し、該変換係数を逆周波数変換することで、該復号対象のブロックについての予測誤差を導出する。そして、画像復号装置は、復号対象のブロックにおける一部の領域についてはイントラ予測により得たイントラ予測画像を適用し、復号対象のブロックにおける該一部の領域と異なる他の領域についてはインター予測により得たインター予測画像を適用した予測画像を生成し、生成した予測画像と、該予測誤差とを用いて復号対象のブロックを復号する。
本実施形態では、第1の実施形態に係る画像符号化装置によって符号化されたビットストリームを復号する画像復号装置について説明する。先ず、本実施形態に係る画像復号装置の機能構成例について、図2のブロック図を用いて説明する。
制御部250は、画像復号装置全体の動作制御を行う。分離復号部202は、第1の実施形態に係る画像符号化装置によって符号化されたビットストリームを取得する。ビットストリームの取得形態については特定の取得形態に限らない。例えば、第1の実施形態に係る画像符号化装置から出力されたビットストリームをネットワークを介して取得しても良いし、該ビットストリームが一端保存されたメモリから取得しても良い。そして分離復号部202は、該取得したビットストリームから復号処理に関する情報や係数に関する符号化データに分離し、またビットストリームのヘッダ部に存在する符号化データを復号する。本実施形態では、分離復号部202は、ビットストリームから量子化マトリクスの符号化データを分離し、該符号化データを復号部209に供給する。また、分離復号部202は、ビットストリームから入力画像の符号化データを分離し、該符号化データを復号部203に供給する。つまり分離復号部202は、図1の統合符号化部111と逆の動作を行う。
復号部209は、分離復号部202から供給された符号化データを復号して量子化マトリクスを再生する。復号部203は、分離復号部202から供給された符号化データを復号して、量子化係数および予測情報を再生する。
逆量子化・逆変換部204は、第1の実施形態に係る画像符号化装置が有する逆量子化・逆変換部106と同様の動作を行うものである。逆量子化・逆変換部204は、復号部209が復号した量子化マトリクスのうち、復号する量子化係数に対応する予測に対応する量子化マトリクスを選択し、該選択した量子化マトリクスを用いて該量子化係数を逆量子化して直交変換係数を再生する。そして逆量子化・逆変換部204は、該再生した直交変換係数に対して逆直交変換を行うことで予測誤差を再生する。
画像再生部205は、復号部203によって復号された予測情報に基づいてフレームメモリ206に格納されている画像を参照することで予測画像を生成する。そして画像再生部205は、該生成された予測画像に、逆量子化・逆変換部204によって得られた予測誤差を加算することで再生画像を生成し、該生成した再生画像をフレームメモリ206に格納する。
インループフィルタ部207は、フレームメモリ206に格納されている再生画像に対して、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。フレームメモリ206に格納されている再生画像は、制御部250によって適宜出力される。再生画像の出力先は特定の出力先に限らず、例えば、ディスプレイなどの表示装置の表示画面に再生画像を表示しても良いし、プロジェクタなどの投影装置に対して該再生画像を出力しても良い。
次に、上記の構成を有する画像復号装置の動作(ビットストリームの復号処理)について説明する。分離復号部202は、画像符号化装置によって生成されたビットストリームを取得し、該ビットストリームから復号処理に関する情報や係数に関する符号化データを分離し、ビットストリームのヘッダに存在する符号化データを復号する。分離復号部202は、図6(a)のビットストリームのシーケンスヘッダから量子化マトリクスの符号化データを抽出し、該抽出した符号化データを復号部209に供給する。また分離復号部202は、ピクチャデータのサブブロック単位の符号化データを復号部203に供給する。
復号部209は、分離復号部202から供給された量子化マトリクスの符号化データを復号して一次元配列を再生する。より詳しくは、復号部209は、図11(a)や図11(b)に例示する符号化テーブルを参照して、量子化マトリクスの符号化データにおける二値符号を差分値に復号して並べた一次元配列を生成する。たとえば、復号部209は、図8(a)~(c)の量子化マトリクスの符号化データを復号すると、それぞれ、図10(a)~(c)の一次元配列が再生される。本実施形態では、第1の実施形態と同様、図11(a)(又は図11(b))に示される符号化テーブルを用いて復号するものとするが、符号化テーブルはこれに限定されず、第1の実施形態と同じものを用いる限りは他の符号化テーブルを用いても良い。
さらに復号部209は、再生した一次元配列の各差分値から量子化マトリクスの各要素値を再生する。これは、符号化部113が量子化マトリクスから一次元配列を生成するために行った処理と逆の処理を行うことになる。つまり、一次元配列の先頭における要素の値は量子化マトリクスの左上隅の要素値となる。一次元配列の先頭から2番目の要素の値に一次元配列の先頭における要素の値を加えた値が、上記の「規定の順序」において2番目の要素値となる。一次元配列の先頭からn(2<n≦N:Nは一次元配列の要素数)番目の要素の値に一次元配列の先頭から(n-1)番目の要素の値を加えた値が、上記の「規定の順序」においてn番目の要素値となる。たとえば復号部209は、図10(a)~(c)の一次元配列から、図9に示した順序を用いてそれぞれ、図8(a)~(c)の量子化マトリクスを再生する。
復号部203は、分離復号部202から供給された入力画像の符号化データを復号することで、量子化係数および予測情報を復号する。
逆量子化・逆変換部204は、復号部203によって復号された予測情報に含まれている「復号する量子化係数に対応する予測モード」を特定し、復号部209が再生した量子化マトリクスのうち、該特定した予測モードに対応する量子化マトリクスを選択する。そして逆量子化・逆変換部204は、該選択した量子化マトリクスを用いて該量子化係数を逆量子化して直交変換係数を再生する。そして逆量子化・逆変換部204は、該再生した直交変換係数に対して逆直交変換を行うことで予測誤差を再生し、該再生した予測誤差を画像再生部205に供給する。
画像再生部205は、復号部203によって復号された予測情報に基づいてフレームメモリ206に格納されている画像を参照することで予測画像を生成する。本実施形態では、第1の実施形態の予測部104と同様、イントラ予測、インター予測、イントラ・インター混在予測の3種類の予測が用いられる。具体的な予測の処理については、第1の実施形態で説明した予測部104と同様であるため、説明を省略する。そして画像再生部205は、該生成された予測画像に、逆量子化・逆変換部204によって得られた予測誤差を加算することで再生画像を生成し、該生成した再生画像をフレームメモリ206に格納する。フレームメモリ206に格納された再生画像は、他のサブブロックを復号する際に参照する予測参照候補となる。
インループフィルタ部207は、上記のインループフィルタ部109と同様に動作し、フレームメモリ206に格納されている再生画像に対して、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。フレームメモリ206に格納されている再生画像は、制御部250によって適宜出力される。
本実施形態に係る画像復号装置における復号処理について、図4のフローチャートに従って説明する。ステップS401では、分離復号部202は、符号化されたビットストリームを取得する。そして分離復号部202は、該取得したビットストリームから量子化マトリクスの符号化データを分離し、該符号化データを復号部209に供給する。また、分離復号部202は、ビットストリームから入力画像の符号化データを分離し、該符号化データを復号部203に供給する。
ステップS402では、復号部209は、分離復号部202から供給された符号化データを復号して量子化マトリクスを再生する。ステップS403では、復号部203は、分離復号部202から供給された符号化データを復号して、復号対象のサブブロックの量子化係数および予測情報を再生する。
ステップS404では、逆量子化・逆変換部204は、復号部203によって復号された予測情報に含まれている「復号対象のサブブロックの量子化係数に対応する予測モード」を特定する。そして逆量子化・逆変換部204は、復号部209が再生した量子化マトリクスのうち、該特定した予測モードに対応する量子化マトリクスを選択する。例えば、復号対象のサブブロックについて特定された予測モードがイントラ予測であった場合、図8(a)~(c)の量子化マトリクスのうち、図8(a)のイントラ予測用の量子化マトリクスが選択される。また、復号対象のサブブロックについて特定された予測モードがインター予測であった場合、図8(b)のインター予測用の量子化マトリクスが選択される。また、復号対象のサブブロックについて特定された予測モードがイントラ・インター混在予測であった場合、図8(c)のイントラ・インター混在予測用の量子化マトリクスが選択される。そして逆量子化・逆変換部204は、選択した量子化マトリクスを用いて復号対象のサブブロックの量子化係数を逆量子化して直交変換係数を再生する。そして逆量子化・逆変換部204は、該再生した直交変換係数に対して逆直交変換を行うことで、復号対象のサブブロックの予測誤差を再生し、該再生した予測誤差を画像再生部205に供給する。
ステップS405では、画像再生部205は、復号部203によって復号された予測情報に基づいてフレームメモリ206に格納されている画像を参照することで、復号対象のサブブロックの予測画像を生成する。そして画像再生部205は、該生成された予測画像に、逆量子化・逆変換部204によって得られた復号対象のサブブロックの予測誤差を加算することで、復号対象のサブブロックの再生画像を生成し、該生成した再生画像をフレームメモリ206に格納する。
ステップS406では、制御部250は、全てのサブブロックについてステップS403~S405の処理を行ったか否かを判断する。この判断の結果、全てのサブブロックについてステップS403~S405の処理を行った場合には、処理はステップS407に進む。一方、ステップS403~S405の処理を行っていないサブブロックが未だ残っている場合には、該サブブロックについてステップS403~S405の処理を行うべく、処理はステップS403に進む。
ステップS407においてインループフィルタ部207は、ステップS405で生成されてフレームメモリ206に格納された再生画像に対して、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。
このような処理により、第1の実施形態で生成された、イントラ・インター混在予測を用いたサブブロックに対しても、周波数成分ごとに量子化を制御して画質が向上したビットストリームを復号することができる。
<変形例>
第2の実施形態では、イントラ予測、インター予測、イントラ・インター混在予測のそれぞれに対して個別に量子化マトリクスを用意し、それぞれの予測に対応する量子化マトリクスを復号した。しかし、そのうちのいくつかを共通化しても構わない。
第2の実施形態では、イントラ予測、インター予測、イントラ・インター混在予測のそれぞれに対して個別に量子化マトリクスを用意し、それぞれの予測に対応する量子化マトリクスを復号した。しかし、そのうちのいくつかを共通化しても構わない。
たとえば、イントラ・インター混在予測に基づいて得られた予測誤差の直交変換係数の量子化係数を逆量子化するために、イントラ・インター混在予測に対応する量子化マトリクスではなく、イントラ予測に対応する量子化マトリクスを復号して用いても良い。すなわち、例えば、イントラ・インター混在予測に基づいて得られた予測誤差の直交変換係数の量子化係数を逆量子化するために、図8(a)のイントラ予測用の量子化マトリクスを用いてもよい。この場合、イントラ・インター混在予測に対応する量子化マトリクスの復号は省略することができる。つまり、ビットストリームに含める量子化マトリクスの符号化データの量を削減させたビットストリームの復号が可能であると共に、ブロック歪みなどのイントラ予測による誤差から生じる画質劣化を軽減させた復号画像を得ることができる。
また、イントラ・インター混在予測に基づいて得られた予測誤差の直交変換係数の量子化係数を逆量子化するために、イントラ・インター混在予測に対応する量子化マトリクスではなく、インター予測に対応する量子化マトリクスを復号して用いても良い。すなわち、例えば、イントラ・インター混在予測に基づいて得られた予測誤差の直交変換係数の量子化係数を逆量子化するために、図8(b)のインター予測用の量子化マトリクスを用いてもよい。この場合、イントラ・インター混在予測に対応する量子化マトリクスの復号は省略することができる。つまり、ビットストリームに含める量子化マトリクスの符号化データの量を削減させたビットストリームの復号が可能であると共に、ガクガクした動きなどのインター予測による誤差から生じる画質劣化を低減させた復号画像を得ることができる。
また、イントラ・インター混在予測が実行されたサブブロックの予測画像において「イントラ予測により得られる予測画素」の領域、「インター予測により得られる予測画素」の領域、のそれぞれのサイズに応じて、該サブブロックの逆量子化に用いる量子化マトリクスを決定しても良い。
たとえば、図12(e)に示す如くサブブロック1200を分割領域1200cと分割領域1200dとに分割したとする。そして、分割領域1200cの予測画素として「イントラ予測による得られる予測画素」を求め、分割領域1200dの予測画素として「インター予測による得られる予測画素」を求めたとする。また、分割領域1200cのサイズ(面積(画素数))S1:分割領域1200dのサイズ(面積(画素数))S2=1:3であるとする。
このような場合、サブブロック1200においてイントラ予測が適用された分割領域1200cのサイズよりもインター予測が適用された分割領域1200dのサイズが大きい。よって、逆量子化・逆変換部204は、このサブブロック1200の量子化係数の逆量子化には、インター予測に対応する量子化マトリクスを適用する。
なお、サブブロック1200においてイントラ予測が適用された分割領域1200cのサイズよりもインター予測が適用された分割領域1200dのサイズが小さい場合には、逆量子化・逆変換部204は、サブブロック1200の量子化係数の逆量子化には、イントラ予測に対応する量子化マトリクスを適用する。
これにより、よりサイズが大きい分割領域の画質劣化を低減しつつ、イントラ・インター混在予測に対応する量子化マトリクスの復号は省略することができる。よって、ビットストリームに含める量子化マトリクスの符号化データの量を削減させたビットストリームの復号を可能にすることができる。
また、「イントラ予測に対応する量子化マトリクス」と「インター予測に対応する量子化マトリクス」とをS1とS2との比に応じて合成した量子化マトリクスをイントラ・インター混在予測に対応する量子化マトリクスとして生成しても良い。例えば、逆量子化・逆変換部204は、上記の式(1)を用いてイントラ・インター混在予測に対応する量子化マトリクスを生成しても良い。
このように、イントラ・インター混在予測に対応する量子化マトリクスは必要に応じて生成することができるので、該量子化マトリクスの符号化は省略することができる。よって、ビットストリームに含める量子化マトリクスの符号化データの量を削減させたビットストリームの復号を可能にする。また、イントラ予測、インター予測のそれぞれが用いられた領域のサイズの比に応じた適切な量子化制御を行って画質を向上させたビットストリームを復号することができる。
また、第2の実施形態では、イントラ・インター混在予測を適用したサブブロックに適用する量子化マトリクスは一意に決まる構成としたが、第1の実施形態と同様、識別子を導入することで選択可能とする構成としても構わない。これにより、ビットストリームに含める量子化マトリクスの符号化データの量の削減と、イントラ・インター混在予測を適用したサブブロックに対する独自の量子化制御と、を選択的に実現したビットストリームを復号することができる。
また、第2の実施形態では、サブブロックを分割した一方の分割領域に対する予測画素(第1予測画素)と、他方の分割領域に対する予測画素(第2予測画素)と、を含む予測画像を復号するものとしたが、復号する予測画像はこのような予測画像に限らない。たとえば、第1の実施形態の変形例と同様、一方の分割領域と他方の分割領域との境界付近の領域(境界領域)に含まれる第1予測画素と第2予測画素との加重平均によって算出された第3予測画素を該境界領域の予測画素とする予測画像であっても良い。この場合、復号する予測画像は第1の実施形態と同様、予測画像において上記の一方の分割領域に対応する対応領域の予測画素値は第1予測画素となり、予測画像において上記の他方の分割領域に対応する対応領域の予測画素値は第2予測画素となる。そして、予測画像において上記の境界領域に対応する対応領域の予測画素値は第3予測画素となる。これにより、異なる予測が用いられた分割領域の境界領域における画質の劣化を抑制し、画質を向上させたビットストリームの復号を可能にすることができる。
また、第2の実施形態では、イントラ予測、インター予測、イントラ・インター混在予測の3種類を例にとり説明したが、予測の種類や数は、この例に限らない。たとえば、VVCで採用されているイントラ・インター複合予測(CIIP)を用いても良い。この場合、イントラ・インター混在予測を用いたサブブロックに対して用いられる量子化マトリクスと、イントラ・インター複合予測を用いたサブブロックに対して用いられる量子化マトリクスと、を共通化することもできる。これにより、同一サブブロック内でイントラ予測による予測画素とインター予測による予測画素の両方を用いるという共通点を持った予測方法が用いられたサブブロックに対し、同一の量子化制御の性質を持った量子化マトリクスによる量子化を適用したビットストリームの復号を可能にすることができる。さらには、新たな予測方法に対応する量子化マトリクス分の符号量を削減したビットストリームの復号を可能にすることもできる。
また、第2の実施形態では、ビットストリームから符号化対象である入力画像を復号するものとして説明したが、復号対象は画像に限らない。例えば、物体認識などの機械学習に用いられる特徴量データである二次元のデータ配列を入力画像と同様にして符号化した符号化データを含むビットストリームから該二次元のデータ配列を復号する構成としても良い。これにより、機械学習に用いられる特徴量データを効率よく符号化したビットストリームの復号が可能となる。
[第3の実施形態]
本実施形態に係る画像符号化装置は、画像をブロック単位で予測処理を行って符号化する。画像符号化装置は、該画像における第1ブロックと、該画像における該第1ブロックと隣接する第2ブロックと、の境界に対して行うデブロッキングフィルタ処理の強度を決定し、該決定した強度に応じたデブロッキングフィルタ処理を該境界に対して行う。該予測処理として、符号化対象のブロックを含む画像内の画素を用いて、該符号化対象のブロックの予測画素を導出する第1予測モード(イントラ予測)と、符号化対象のブロックを含む画像と異なる他の画像内の画素を用いて、該符号化対象のブロックの予測画素を導出する第2予測モード(インター予測)と、符号化対象のブロックにおける一部の領域については該符号化対象のブロックを含む画像内の画素を用いて予測画素を導出し、該符号化対象のブロックにおける該一部の領域と異なる他の領域については該符号化対象のブロックを含む画像と異なる他の画像内の画素を用いて予測画素を導出する第3予測モード(イントラ・インター混在予測)と、のいずれかが用いられる。またデブロッキングフィルタの強度の決定において、画像符号化装置は、第1ブロックおよび第2ブロックの少なくとも一方が第1予測モードを適用したブロックである場合には、上記の強度を第1強度と決定する。また画像符号化装置は、第1ブロックおよび第2ブロックの少なくとも一方が、第3予測モードを適用したブロックである場合には、上記の強度を上記の第1強度に基づく強度と決定する。
本実施形態に係る画像符号化装置は、画像をブロック単位で予測処理を行って符号化する。画像符号化装置は、該画像における第1ブロックと、該画像における該第1ブロックと隣接する第2ブロックと、の境界に対して行うデブロッキングフィルタ処理の強度を決定し、該決定した強度に応じたデブロッキングフィルタ処理を該境界に対して行う。該予測処理として、符号化対象のブロックを含む画像内の画素を用いて、該符号化対象のブロックの予測画素を導出する第1予測モード(イントラ予測)と、符号化対象のブロックを含む画像と異なる他の画像内の画素を用いて、該符号化対象のブロックの予測画素を導出する第2予測モード(インター予測)と、符号化対象のブロックにおける一部の領域については該符号化対象のブロックを含む画像内の画素を用いて予測画素を導出し、該符号化対象のブロックにおける該一部の領域と異なる他の領域については該符号化対象のブロックを含む画像と異なる他の画像内の画素を用いて予測画素を導出する第3予測モード(イントラ・インター混在予測)と、のいずれかが用いられる。またデブロッキングフィルタの強度の決定において、画像符号化装置は、第1ブロックおよび第2ブロックの少なくとも一方が第1予測モードを適用したブロックである場合には、上記の強度を第1強度と決定する。また画像符号化装置は、第1ブロックおよび第2ブロックの少なくとも一方が、第3予測モードを適用したブロックである場合には、上記の強度を上記の第1強度に基づく強度と決定する。
本実施形態に係る画像符号化装置の機能構成例について、図13のブロック図を用いて説明する。図13において図1に示した機能部と同じ機能部には同じ参照番号を付しており、該機能部に係る説明は省略する。
なお、本実施形態に係る変換・量子化部105は直交変換係数の量子化を行う際には、予め定められた量子化マトリクスを用いるものとして説明するが、上記の実施形態のように、イントラ・インター混在予測に対応する量子化マトリクスを用いても良い。
インループフィルタ部1309は、フレームメモリ108に格納されている画像(サブブロック)に対して、決定部1313により決定されたフィルタ強度(bS値)に応じたデブロッキングフィルタなどのインループフィルタ処理を行う。そしてインループフィルタ部1309は、インループフィルタ処理済みの画像をフレームメモリ108に格納する。
決定部1313は、隣接する2つのサブブロックの間の境界に対して行うデブロッキングフィルタ処理のフィルタ強度(bS値)を決定する。より具体的には、決定部1313は、サブブロックPと、該サブブロックPと隣接するサブブロックQと、の境界に対して行うデブロッキングフィルタ処理のフィルタ強度であるbS値を、以下の(条件1)~(条件6)のうち満たされている条件に基づいて決定する。
(条件1) サブブロックPとサブブロックQの両方が、「水平方向もしくは垂直方向のイントラ予測を行った予測差分画像に対して変換処理を行うことなく隣接画素の差分値を直接符号化するBDPCMモード」のサブブロックである場合には、bS値を0とする
(条件2) サブブロックPおよびサブブロックQのうち少なくとも一方がイントラ予測あるいはイントラ・インター混在予測を行ったサブブロックである場合には、bS値を2とする
(条件3) サブブロックPとサブブロックQとの境界が、変換の単位であるサブブロックの境界であり、かつ少なくとも一方のサブブロックの直交変換係数に非零の直交変換係数が含まれている場合は、bS値を1とする
(条件4) サブブロックPとサブブロックQとで動き補償の参照画像が異なるか、若しくは動きベクトルの数が異なる場合には、bS値を1とする
(条件5) サブブロックPにおける動きベクトルとサブブロックQにおける動きベクトルとの差の絶対値が0.5画素以上である場合は、bS値を1とする
(条件6) (条件1)~(条件5)以外の場合、bS値を0とする
ここで、bS値が0となるサブブロック境界(エッジ)に対してはデブロッキングフィルタ処理は行わず、bS値が1以上のサブブロック境界(エッジ)に対しては、サブブロック境界付近の勾配及びアクティビティに基づきデブロッキングフィルタを決定する。基本的には、bS値が大きい程、補正強度の強いデブロッキングフィルタ処理を施すものとする。
(条件2) サブブロックPおよびサブブロックQのうち少なくとも一方がイントラ予測あるいはイントラ・インター混在予測を行ったサブブロックである場合には、bS値を2とする
(条件3) サブブロックPとサブブロックQとの境界が、変換の単位であるサブブロックの境界であり、かつ少なくとも一方のサブブロックの直交変換係数に非零の直交変換係数が含まれている場合は、bS値を1とする
(条件4) サブブロックPとサブブロックQとで動き補償の参照画像が異なるか、若しくは動きベクトルの数が異なる場合には、bS値を1とする
(条件5) サブブロックPにおける動きベクトルとサブブロックQにおける動きベクトルとの差の絶対値が0.5画素以上である場合は、bS値を1とする
(条件6) (条件1)~(条件5)以外の場合、bS値を0とする
ここで、bS値が0となるサブブロック境界(エッジ)に対してはデブロッキングフィルタ処理は行わず、bS値が1以上のサブブロック境界(エッジ)に対しては、サブブロック境界付近の勾配及びアクティビティに基づきデブロッキングフィルタを決定する。基本的には、bS値が大きい程、補正強度の強いデブロッキングフィルタ処理を施すものとする。
なお、本実施形態では、bS値が0となるサブブロック境界に対してはデブロッキングフィルタ処理は実施されず、bS値が1以上となるサブブロック境界に対してはデブロッキングフィルタ処理が実施されるが、これに限定されるものではない。例えば、デブロッキングフィルタ処理の強度の種類はもっと数が多くてもよいし少なくてもよい。
また、デブロッキングフィルタ処理の強度に応じた処理の内容も異なっていてもよい。例えば、H.264のデブロッキングフィルタ処理のように、bS値が0~4の五段階の値をとっても良い。
また、本実施形態では、イントラ・インター混在予測を使用したサブブロックの境界に対するデブロッキングフィルタ処理のbS値は、イントラ予測を使用したサブブロックの境界に対するデブロッキングフィルタ処理のbS値と同一の値となっている。このbS値は2、即ち最大のフィルタ強度であることを示しているが、これに限定されるものではない。例えば、本実施形態におけるbS値=1(他のbS値の一例)とbS値=2との間に中間的なbS値を設け、サブブロックPとサブブロックQの少なくとも一方がイントラ・インター混在予測を行ったサブブロックである場合は、この中間的なbS値を用いるとしても良い。その場合、輝度成分には通常のbS値=2の時と同様のデブロッキングフィルタ処理を実施し、色差成分にはbS値=2の時よりも補正強度の弱いデブロッキングフィルタ処理を実施することも可能である。これにより、イントラ・インター混在予測を用いたサブブロックの境界に対しては、中間的な補正強度のデブロッキングフィルタ処理を実施することができる。また、イントラ・インター混在予測を用いたサブブロック内の各画素が、イントラ予測およびインター予測のどちらの予測による予測画素であるのかに基づいて、境界の画素毎にbS値を決定してもよい。その場合、イントラ予測による予測画素に対するbS値は必ず2となり、インター予測による予測画素に対するbS値は上記の(条件1)~(条件6)に基づいて決定することができる。
また、本実施形態では、フィルタ強度としてbS値を用いているが、これに限定されるものではない。例えばbS値ではなく他の変数をフィルタ強度として定義してもよいし、直接デブロッキングフィルタの係数やフィルタ長を変えてもよい。
次に、本実施形態のインループフィルタ部1309におけるデブロッキングフィルタ処理についてより詳細に説明する。デブロッキングフィルタ処理は、予測処理あるいは変換処理の単位となるサブブロックの境界に対して行われる。デブロッキングフィルタのフィルタ長は、サブブロックのサイズ(画素数)に依存し、サブブロックのサイズが32画素以上の場合、最大で境界から7画素までかけられる。同様にサブブロックのサイズが4画素以下の場合、境界に隣接する1画素ラインの画素値のみが更新される。
本実施形態では、全てのサブブロックが8×8画素のサイズで予測及び変換処理が施されるものとするが、それに限定されるものではなく、予測を行うサブブロックのサイズと変換処理を行うサブブロックのサイズとは異なっていても良い。例えば、VVCにおけるSubblock Transform(SBT)のように、変換処理を適用するサブブロックが予測処理を行うサブブロックを更に分割したものであってもよい。あるいは、32×32画素のようにもっと大きくてもよいし、16×8画素のように正方形でなくてもよい。
図14のサブブロックPとサブブロックQは境界を挟んで隣接した8×8画素のサブブロックであり、直交変換の単位にもなっている。p00~p33はサブブロックPに属する画素(画素値)、q00~q33はサブブロックQに属する画素(画素値)を示しており、p00~p33の画素群とq00~q33の画素群は境界を挟んで接している。まず、輝度に関してbS値が1以上の場合、インループフィルタ部1309は、例えば、以下の式に従って、サブブロックPとサブブロックQとの境界に対してデブロッキングフィルタ処理を行うか否かを判定する。
|p20-2×p10+p00|+|p23-2×p13+p03|+|q20-2×q10+q00|+|q23-2×q13+q03|<β
ここでβは、サブブロックPにおける量子化ステップ値とサブブロックQにおける量子化ステップ値の平均値に対応する値であり、例えば、テーブルに登録されている様々なβのうち、該平均値と関連付けて登録されているβを取得する。この式が満たされる場合のみ、インループフィルタ部1309は、サブブロックPとサブブロックQとの境界に対してデブロッキングフィルタ処理を行うと判定する。
ここでβは、サブブロックPにおける量子化ステップ値とサブブロックQにおける量子化ステップ値の平均値に対応する値であり、例えば、テーブルに登録されている様々なβのうち、該平均値と関連付けて登録されているβを取得する。この式が満たされる場合のみ、インループフィルタ部1309は、サブブロックPとサブブロックQとの境界に対してデブロッキングフィルタ処理を行うと判定する。
デブロッキングフィルタ処理を行うと判定した場合、インループフィルタ部1309は、平滑化効果の異なるストロングフィルタとウィークフィルタの何れを使用するのかを判定する。例えば、インループフィルタ部1309は、以下の6つの式((1)~(6))の全てが満たされている場合はストロングフィルタを使用するものと判定する。一方、インループフィルタ部1309は、以下の6つの式((1)~(6))のうち1つでも満たされていない場合は、ウィークフィルタを使用するものと判定する。
(1) 2×(|p20-2×p10+p00|+|q20-2×q10+q00|)<(β>>2)
(2) 2×(|p23-2×p13+p03|+|q23-2×q13+q03|)<(β>>2)
(3) |p30-p00|+|q00-q30|<(β>>3)
(4) |p33-p03|+|q03-q33|<(β>>3)
(5) |p00-q00|<((5×tc+1)>>1)
(6) |p03-q03|<((5×tc+1)>>1)
ここで、>>N(N=1~3)はNビット算術右シフト演算を意味し、tcは画素値の補正の最大量を決定するパラメータである。tcは、例えば次のような処理で得られる。つまり、サブブロックPにおける量子化ステップ値と、サブブロックQにおける量子化ステップ値と、bS値と、の平均値qPを、以下の式
qP=qP+2x(bS-1)
に従って補正し、テーブルに登録されている様々なtcのうち、該補正したqP値と関連付けて登録されているtcを取得する。この式からbS値が2の時は、補正後のqP値が大きくなることがわかる。qP値が大きくなる程、tc値が大きくなるようにテーブルが設定されているため、bS値が大きい程、画素値が強く補正されるデブロッキングフィルタが適用されることになる。
(1) 2×(|p20-2×p10+p00|+|q20-2×q10+q00|)<(β>>2)
(2) 2×(|p23-2×p13+p03|+|q23-2×q13+q03|)<(β>>2)
(3) |p30-p00|+|q00-q30|<(β>>3)
(4) |p33-p03|+|q03-q33|<(β>>3)
(5) |p00-q00|<((5×tc+1)>>1)
(6) |p03-q03|<((5×tc+1)>>1)
ここで、>>N(N=1~3)はNビット算術右シフト演算を意味し、tcは画素値の補正の最大量を決定するパラメータである。tcは、例えば次のような処理で得られる。つまり、サブブロックPにおける量子化ステップ値と、サブブロックQにおける量子化ステップ値と、bS値と、の平均値qPを、以下の式
qP=qP+2x(bS-1)
に従って補正し、テーブルに登録されている様々なtcのうち、該補正したqP値と関連付けて登録されているtcを取得する。この式からbS値が2の時は、補正後のqP値が大きくなることがわかる。qP値が大きくなる程、tc値が大きくなるようにテーブルが設定されているため、bS値が大きい程、画素値が強く補正されるデブロッキングフィルタが適用されることになる。
輝度に関するストロングフィルタリング(ストロングフィルタを用いたフィルタリング処理)は、サブブロックPにおけるデブロッキングフィルタ処理後の画素値をp’0k、p’1k、p’2k、サブブロックQにおけるデブロッキングフィルタ処理後の画素値をq’0k、q’1k、q’2kとすると、以下の式で表される(k=0~3)。
p’0k=Clip3(p0k-3×tc,p0k+3×tc,(p2k+2×p1k+2×p0k+2×q0k+q1k+4)>>3)
p’1k=Clip3(p1k-2×tc,p1k+2×tc,(p2k+p1k+p0k+q0k+2)>>2)
p’2k=Clip3(p2k-1×tc,p2k+1×tc,(2×p3k+3×p2k+p1k+p0k+q0k+4)>>3)
q’0k=Clip3(q0k-3×tc,q0k+3×tc,(q2k+2×q1k+2×q0k+2×p0k+p1k+4)>>3)
q’1k=Clip3(q1k-2×tc,q1k+2×tc,(q2k+q1k+q0k+p0k+2)>>2)
q’2k=Clip3(q2k-1×tc,q2k+1×tc,(2×q3k+3×q2k+q1k+q0k+p0k+4)>>3)
ここで、Clip3(a,b,c)は、cの範囲がa≦c≦bとなるようにクリップ処理する関数である。また、輝度に関するウィークフィルタリング(ウィークフィルタを用いたフィルタリング処理)は、以下の式で表される。
p’1k=Clip3(p1k-2×tc,p1k+2×tc,(p2k+p1k+p0k+q0k+2)>>2)
p’2k=Clip3(p2k-1×tc,p2k+1×tc,(2×p3k+3×p2k+p1k+p0k+q0k+4)>>3)
q’0k=Clip3(q0k-3×tc,q0k+3×tc,(q2k+2×q1k+2×q0k+2×p0k+p1k+4)>>3)
q’1k=Clip3(q1k-2×tc,q1k+2×tc,(q2k+q1k+q0k+p0k+2)>>2)
q’2k=Clip3(q2k-1×tc,q2k+1×tc,(2×q3k+3×q2k+q1k+q0k+p0k+4)>>3)
ここで、Clip3(a,b,c)は、cの範囲がa≦c≦bとなるようにクリップ処理する関数である。また、輝度に関するウィークフィルタリング(ウィークフィルタを用いたフィルタリング処理)は、以下の式で表される。
Δ=(9×(q0k-p0k)-3×(q1k-p1k)+8)>>4
|Δ|<10×tc
上記の条件を満たさない場合、デブロッキングフィルタ処理は実施されず、満たす場合はp0k及びq0kに対して以下の式に従った処理を行う。
|Δ|<10×tc
上記の条件を満たさない場合、デブロッキングフィルタ処理は実施されず、満たす場合はp0k及びq0kに対して以下の式に従った処理を行う。
Δ=Clip3(-tc,tc,Δ)
p’0k=Clip1(p0k+Δ)
q’0k=Clip1(q0k-Δ)
ここで、Clip1(a)は、aの範囲が0≦a≦(輝度又は色差の信号のビット深度で表現可能な最大値)となるようにクリップ処理を行う関数である。例えば、輝度が8ビットの場合(輝度のビット深度で表現可能な最大値)は255となり、輝度が10ビットの場合(輝度のビット深度で表現可能な最大値)は1023となる。
p’0k=Clip1(p0k+Δ)
q’0k=Clip1(q0k-Δ)
ここで、Clip1(a)は、aの範囲が0≦a≦(輝度又は色差の信号のビット深度で表現可能な最大値)となるようにクリップ処理を行う関数である。例えば、輝度が8ビットの場合(輝度のビット深度で表現可能な最大値)は255となり、輝度が10ビットの場合(輝度のビット深度で表現可能な最大値)は1023となる。
さらに次の条件
|p20-2×p10+p00|+|p23-2×p13+p03|<(β+(β>>1))>>3)
|q20-2×q10+q00|+|q23-2×q13+q03|<(β+(β>>1))>>3)
を満たすとき、p1kおよびq1kに対して以下の式に従ったデブロッキングフィルタ処理が行われる。
|p20-2×p10+p00|+|p23-2×p13+p03|<(β+(β>>1))>>3)
|q20-2×q10+q00|+|q23-2×q13+q03|<(β+(β>>1))>>3)
を満たすとき、p1kおよびq1kに対して以下の式に従ったデブロッキングフィルタ処理が行われる。
Δp=Clip3(-(tc>>1),tc>>1,(((p2k+p0k+1)>>1-p1k+Δ)>>1)
p’1k=Clip1(p1k+Δp)
Δq=Clip3(-(tc>>1),tc>>1,(((q2k+q0k+1)>>1-q1k+Δ)>>1)
q’1k=Clip1(q1k+Δq)
色差に関するデブロッキングフィルタ処理では、フィルタ長が1の時は、bS値が2の時のみ以下の式に従ったデブロッキングフィルタ処理が行われる。
p’1k=Clip1(p1k+Δp)
Δq=Clip3(-(tc>>1),tc>>1,(((q2k+q0k+1)>>1-q1k+Δ)>>1)
q’1k=Clip1(q1k+Δq)
色差に関するデブロッキングフィルタ処理では、フィルタ長が1の時は、bS値が2の時のみ以下の式に従ったデブロッキングフィルタ処理が行われる。
Δ=Clip3(-tc,tc,((((q0k-p0k)<<2)+p1k-q1k+4)>>3))
p’0k=Clip1(p0k+Δ)
q’0k=Clip1(q0k-Δ)
なお、本実施形態では、色差に関するデブロッキングフィルタ処理では、フィルタ長が1の時は、bS値が2の時のみデブロッキングフィルタ処理を実施しているが、これに限定されるものではない。例えばbS値が0以外の時はデブロッキングフィルタ処理を実施してもよいし、フィルタ長が1より長い時のみデブロッキングフィルタ処理を実施してもよい。
p’0k=Clip1(p0k+Δ)
q’0k=Clip1(q0k-Δ)
なお、本実施形態では、色差に関するデブロッキングフィルタ処理では、フィルタ長が1の時は、bS値が2の時のみデブロッキングフィルタ処理を実施しているが、これに限定されるものではない。例えばbS値が0以外の時はデブロッキングフィルタ処理を実施してもよいし、フィルタ長が1より長い時のみデブロッキングフィルタ処理を実施してもよい。
また本実施形態では、bS値は、デブロッキングフィルタを適用するか否か及びデブロッキングフィルタによる画素値の補正の最大量の計算に用いられた。それとは別に平滑化効果の高いストロングフィルタ、平滑化効果の弱いウィークフィルタを画素値の条件に応じて使い分けた。しかしこれに限定されるものではない。例えばbS値に応じてフィルタ長が決定されてもよいし、平滑化効果の強弱だけがbS値によって決定されてもよい。
以上説明した画像符号化装置による符号化処理について、図15のフローチャートに従って説明する。なお、図15のフローチャートに従った処理は1枚の入力画像に対する符号化処理である。よって、動画像における各フレームの画像や、定期的若しくは不定期的に撮像される複数の画像を符号化する場合には、それぞれの画像について図15のフローチャートに従った処理を繰り返し行うことになる。
ステップS1501では、統合符号化部111は、入力画像の符号化に必要な各種のヘッダ情報を符号化してヘッダ符号データを生成する。
ステップS1502では、分割部102は、入力画像を複数の基本ブロックに分割し、該分割したそれぞれの基本ブロックを出力する。そして予測部104は、基本ブロックごとに、該基本ブロックを複数のサブブロックに分割する。
ステップS1503では予測部104は、入力画像におけるサブブロックのうち未選択の1つを選択サブブロックとして選択し、該選択サブブロックの予測モードを決定する。そして予測部104は、該選択サブブロックに対して該決定した予測モードに応じた予測を行って、該選択サブブロックの予測画像、予測誤差、予測情報を取得する。
ステップS1504では、変換・量子化部105は、ステップS1503で取得した選択サブブロックの予測誤差に対して直交変換処理を施して、直交変換係数を生成し、量子化マトリクスを用いて該直交変換係数を量子化して量子化係数を取得する。
ステップS1505では逆量子化・逆変換部106は、ステップS1504で取得した選択サブブロックの量子化係数に対して、上記の量子化マトリクスを用いて逆量子化を行うことで直交変換係数を生成する。そして逆量子化・逆変換部106は、該生成した直交変換係数を逆直交変換して予測誤差を生成(再生)する。
ステップS1506で画像再生部107は、ステップS1503で取得した予測情報に基づいて、フレームメモリ108に格納されている画像から予測画像を生成し、該予測画像とステップS1505で生成した予測誤差とを加算してサブブロックの画像を再生する。そして画像再生部107は、該再生した画像をフレームメモリ108に格納する。
ステップS1507では、符号化部110は、ステップS1504で取得した量子化係数と、ステップS1503で取得した予測情報と、をエントロピー符号化して符号化データを生成する。
そして統合符号化部111は、ステップS1501で生成されたヘッダ符号データと、ステップS1507で符号化部110により生成された符号化データと、を多重化したビットストリームを生成する。
ステップS1508では、制御部150は、入力画像における全てのサブブロックを選択サブブロックとして選択したか否かを判断する。この判断の結果、入力画像における全てのサブブロックを選択サブブロックとして選択した場合には、処理はステップS1509に進む。一方、入力画像におけるサブブロックのうち未だ選択サブブロックとして選択されていないサブブロックが1以上残っている場合には、処理はステップS1503に進む。
ステップS1509では、決定部1313は、隣接するサブブロック間の境界ごとにbS値を決定する。そしてステップS1510では、インループフィルタ部1309は、フレームメモリ108に格納されている画像に対して、ステップS1509で決定されたbS値に基づくフィルタ強度のデブロッキングフィルタなどのインループフィルタ処理を行う。より具体的には、インループフィルタ部1309は、フレームメモリ108に格納されている画像の直交変換の単位になっているサブブロックの境界に対し、該境界について決定部1313が決定したbS値に基づくフィルタ強度のデブロッキングフィルタなどのインループフィルタ処理を行う。そしてインループフィルタ部109は、インループフィルタ処理済みの画像をフレームメモリ108に格納する。
このように、本実施形態によれば、イントラ・インター混在予測を使用したサブブロックの境界に対して歪み補正効果の高いデブロッキングフィルタを設定できるので、ブロック歪を抑制し、画質を向上させることができる。また、フィルタ強度の計算に新たな演算を必要としないため、実装の複雑度を高めることもない。
また、本実施形態では、フィルタ強度が、デブロッキングフィルタを適用するか否か及びデブロッキングフィルタによる画素値の補正の最大量の計算に用いられた。しかしこれに限定されるものではない。例えば、フィルタ強度がより大きい場合にはよりタップ長が長く補正効果の高いデブロッキングフィルタを用い、フィルタ強度がより小さい場合にはよりタップ長が短い補正効果の低いデブロッキングフィルタを用いることもできる。
さらに本実施形態では、イントラ予測、インター予測、イントラ・インター混在予測の3種類の予測のみが用いられているものとしたがこれに限定されず、例えばVVCで採用されているイントラ・インター複合予測(CIIP)を用いても良い。この場合、イントラ・インター混在予測を用いたサブブロックに対して用いられるbS値をイントラ・インター複合予測を用いた場合のbS値と同じにすることもできる。これにより、同一サブブロック内でイントラ予測画素とインター予測画素の両方を用いるという共通点を持った予測が用いられたサブブロックに対し、同一の強度のデブロッキングフィルタを適用したビットストリームの符号化を行うことができる。
[第4の実施形態]
本実施形態に係る画像復号装置は、符号化された画像をブロックごとに復号する画像復号装置である。このような画像復号装置は、ブロックごとに予測処理を行って画像を復号する。また、第1ブロックと、該第1ブロックと隣接する第2ブロックと、の境界に対して行うデブロッキングフィルタ処理の強度を決定し、該決定した強度に応じたデブロッキングフィルタ処理を該境界に対して行う。また、画像復号装置は、上記の予測処理として、復号対象のブロックを含む画像内の画素を用いて、該復号対象のブロックの予測画素を導出する第1予測モード(イントラ予測)と、復号対象のブロックを含む画像と異なる他の画像内の画素を用いて、該復号対象のブロックの予測画素を導出する第2予測モード(インター予測)と、復号対象のブロックにおける一部の領域については該復号対象のブロックを含む画像内の画素を用いて予測画素を導出し、該復号対象のブロックにおける該一部の領域と異なる他の領域については該復号対象のブロックを含む画像と異なる他の画像内の画素を用いて予測画素を導出する第3予測モード(イントラ・インター混在予測)と、のいずれかを用いる。ここで、デブロッキングフィルタ処理の強度の決定では、第1ブロックおよび第2ブロックの少なくとも一方が第1予測モードを適用したブロックである場合には、強度を第1強度と決定する。また、第1ブロックおよび第2ブロックの少なくとも一方が第3予測モードを適用したブロックである場合には、強度を第1強度に基づく強度と決定する。
本実施形態に係る画像復号装置は、符号化された画像をブロックごとに復号する画像復号装置である。このような画像復号装置は、ブロックごとに予測処理を行って画像を復号する。また、第1ブロックと、該第1ブロックと隣接する第2ブロックと、の境界に対して行うデブロッキングフィルタ処理の強度を決定し、該決定した強度に応じたデブロッキングフィルタ処理を該境界に対して行う。また、画像復号装置は、上記の予測処理として、復号対象のブロックを含む画像内の画素を用いて、該復号対象のブロックの予測画素を導出する第1予測モード(イントラ予測)と、復号対象のブロックを含む画像と異なる他の画像内の画素を用いて、該復号対象のブロックの予測画素を導出する第2予測モード(インター予測)と、復号対象のブロックにおける一部の領域については該復号対象のブロックを含む画像内の画素を用いて予測画素を導出し、該復号対象のブロックにおける該一部の領域と異なる他の領域については該復号対象のブロックを含む画像と異なる他の画像内の画素を用いて予測画素を導出する第3予測モード(イントラ・インター混在予測)と、のいずれかを用いる。ここで、デブロッキングフィルタ処理の強度の決定では、第1ブロックおよび第2ブロックの少なくとも一方が第1予測モードを適用したブロックである場合には、強度を第1強度と決定する。また、第1ブロックおよび第2ブロックの少なくとも一方が第3予測モードを適用したブロックである場合には、強度を第1強度に基づく強度と決定する。
本実施形態では、第3の実施形態に係る画像符号化装置によって符号化されたビットストリームを復号する画像復号装置について説明する。先ず、本実施形態に係る画像復号装置の機能構成例について、図16のブロック図を用いて説明する。図16において、図2に示した機能部と同じ機能部には同じ参照番号を付しており、該機能部に係る説明は省略する。
インループフィルタ部1607はフレームメモリ206に格納されている再生画像のサブブロック境界に対し、決定部1609が該サブブロック境界について決定したbS値に応じたフィルタ強度のデブロッキングフィルタなどのインループフィルタ処理を行う。決定部1609は、決定部1313と同様にして、隣接する2つのサブブロックの間の境界に対して行うデブロッキングフィルタ処理のフィルタ強度(bS値)を決定する。
本実施形態では、第3の実施形態と同様に、bS値は、デブロッキングフィルタを適用するか否か及びデブロッキングフィルタによる画素値の補正の最大量の計算に用いられた。それとは別に平滑化効果の高いストロングフィルタ、平滑化効果の弱いウィークフィルタを画素値の条件に応じて使い分けた。しかしこれに限定されるものではない。例えばbS値に応じてフィルタ長が決定されてもよいし、平滑化効果の強弱だけがbS値によって決定されてもよい。
本実施形態に係る画像復号装置における復号処理について、図17のフローチャートに従って説明する。ステップS1701では、分離復号部202は、ビットストリームを取得する。そして分離復号部202は、ビットストリームから入力画像の符号化データを分離し、該符号化データを復号部203に供給すると共に、ビットストリームにおけるヘッダ符号データを復号する。
ステップS1702では、復号部203は、分離復号部202から供給された符号化データを復号して、復号対象のサブブロックの量子化係数および予測情報を再生する。
ステップS1703では、逆量子化・逆変換部204は、量子化マトリクスを用いて、復号対象のサブブロックの量子化係数を逆量子化して直交変換係数を再生する。そして逆量子化・逆変換部204は、該再生した直交変換係数に対して逆直交変換を行うことで復号対象のサブブロックの予測誤差を再生し、該再生した予測誤差を画像再生部205に供給する。
ステップS1704では、画像再生部205は、復号部203によって復号された予測情報に基づいてフレームメモリ206に格納されている画像を参照することで、復号対象のサブブロックの予測画像を生成する。そして画像再生部205は、該生成された予測画像に、逆量子化・逆変換部204によって得られた予測誤差を加算することで復号対象のサブブロックの再生画像を生成し、該生成した再生画像をフレームメモリ206に格納する。
ステップS1705では、制御部250は、全てのサブブロックについてステップS1702~S1704の処理を行ったか否かを判断する。この判断の結果、全てのサブブロックについてステップS1702~S174の処理を行った場合には、処理はステップS1706に進む。一方、ステップS1702~S1704の処理を行っていないサブブロックが未だ残っている場合には、該サブブロックについてステップS1702~S1704の処理を行うべく、処理はステップS1702に進む。
ステップS1706では、決定部1609は、第3の実施形態で説明した決定部1313と同様にして、隣接する2つのサブブロックの間の境界に対して行うデブロッキングフィルタ処理のフィルタ強度を決定する。それぞれのサブブロックに適用された予測の種類(イントラ予測、インター予測、イントラ・インター混在予測)は予測情報に記録されているので、該予測情報を参照することでそれぞれのサブブロックに適用された予測を特定することができる。
ステップS1707では、インループフィルタ部1607は、フレームメモリ206に格納されている再生画像のサブブロック境界に対し、決定部1609が該サブブロック境界について決定したbS値に応じたフィルタ強度のデブロッキングフィルタなどのインループフィルタ処理を行う。
このように、本実施形態によれば、第3の実施形態に係る画像符号化装置によって生成された、「イントラ・インター混在予測で符号化されたサブブロック」を含むビットストリームの復号において、適切なデブロッキングフィルタを適用することができる。
[第5の実施形態]
図1、2、13、16に示した各機能部はハードウェアで実装しても良いし、保持部103、フレームメモリ108、206を除く各機能部についてはソフトウェア(コンピュータプログラム)で実装しても良い。
図1、2、13、16に示した各機能部はハードウェアで実装しても良いし、保持部103、フレームメモリ108、206を除く各機能部についてはソフトウェア(コンピュータプログラム)で実装しても良い。
前者の場合、このようなハードウェアは、撮像装置などの画像の符号化や復号を行う装置に組み込まれる回路であっても良いし、撮像装置やサーバ装置などの外部装置から供給される画像の符号化や復号を行う装置に組み込まれる回路であっても良い。
後者の場合、このようなコンピュータプログラムは、撮像装置などの画像の符号化や復号を行う装置のメモリや、撮像装置やサーバ装置などの外部装置から供給される画像の符号化や復号を行う装置がアクセス可能なメモリなどに格納されても良い。このようなコンピュータプログラムをメモリから読み出して実行可能な装置(コンピュータ装置)は、上記の画像符号化装置や上記の画像復号装置に適用可能である。このようなコンピュータ装置のハードウェア構成例について、図5のブロック図を用いて説明する。
CPU501は、RAM502やROM503に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU501は、コンピュータ装置全体の動作制御を行うと共に、上記の各実施形態や各変形例にて画像符号化装置や画像復号装置が行うものとして説明した各種の処理を実行もしくは制御する。
RAM502は、外部記憶装置506からロードされたコンピュータプログラムやデータを格納するためのエリア、I/F(インターフェース)507を介して外部から取得したデータを格納するためのエリア、を有する。更に、RAM502は、CPU501が各種の処理を実行する際に用いるワークエリア(フレームメモリなど)を有する。このように、RAM502は各種のエリアを適宜提供することができる。
ROM503には、コンピュータ装置の設定データ、コンピュータ装置の起動に係るコンピュータプログラムやデータ、コンピュータ装置の基本動作に係るコンピュータプログラムやデータ、などが格納されている。
操作部504は、キーボード、マウス、タッチパネルなどのユーザインターフェースであり、ユーザが操作することで各種の指示をCPU501に対して入力することができる。
表示部505は、液晶画面やタッチパネル画面を有し、CPU501による処理結果を画像や文字などでもって表示する。なお、表示部505は、画像や文字を投影するプロジェクタなどの投影装置であっても良い。
外部記憶装置506は、ハードディスクドライブ装置などの大容量情報記憶装置である。外部記憶装置506には、OS(オペレーティングシステム)、画像符号化装置や画像復号装置が行うものとして説明した上記の各種の処理をCPU501に実行させるためのコンピュータプログラムやデータ、等が保存されている。また、外部記憶装置506には、上記の説明において既知の情報として取り扱った情報(符号化テーブル、テーブルなど)も保存されている。また外部記憶装置506には、符号化対象のデータ(入力画像や二次元のデータ配列など)を保存させておいても良い。
外部記憶装置506に保存されているコンピュータプログラムやデータは、CPU501いよる制御に従って適宜RAM502にロードされ、CPU501による処理対象となる。なお、上記の保持部103やフレームメモリ108、206はRAM502、ROM503、外部記憶装置506などを用いて実装可能である。
I/F507には、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータ装置は、I/F507を介して様々な情報を取得したり、送出したりすることができる。
CPU501、RAM502、ROM503、操作部504、表示部505、外部記憶装置506、I/F507、は何れも、システムバス508に接続されている。
上記構成において、本コンピュータ装置の電源がONになると、CPU501はROM503に格納されているブートプログラムを実行して、外部記憶装置506に保存されているOSをRAM502にロードして該OSを起動する。その結果、本コンピュータ装置は、I/F507を介した通信が可能となる。そして、OSの制御下でCPU501は、符号化に係るアプリケーションを外部記憶装置506からRAM502にロードして実行することで、CPU501は図1や図13の各機能部(保持部103およびフレームメモリ108は除く)として機能することになる。つまり、本コンピュータ装置は、上記の画像符号化装置として機能することになる。一方、OSの制御下でCPU501は、復号に係るアプリケーションを外部記憶装置506からRAM502にロードして実行することで、CPU501は図2や図16の各機能部(フレームメモリ206は除く)として機能することになる。つまり、本コンピュータ装置は、上記の画像復号装置として機能することになる。
なお、本実施形態では、図5に示した構成を有するコンピュータ装置が画像符号化装置や画像復号装置に適用可能であることを説明した。しかし、画像符号化装置や画像復号装置に適用可能なコンピュータ装置のハードウェア構成は図5に示したハードウェア構成に限らない。また画像符号化装置に適用するコンピュータ装置のハードウェア構成と画像復号装置に適用するコンピュータ装置のハードウェア構成とは同じであっても良いし、異なっていても良い。
また、上記の各実施形態や各変形例で使用した数値、処理タイミング、処理順、処理の主体、データ(情報)の送信先/送信元/格納場所などは、具体的な説明を行うために一例として挙げたもので、このような一例に限定することを意図したものではない。
また、以上説明した各実施形態や各変形例の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態や各変形例の一部若しくは全部を選択的に使用しても構わない。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
102:分割部 104:予測部 105:変換・量子化部 106:逆量子化・逆変換部 107:画像再生部 108:フレームメモリ 1309:インループフィルタ部 110:符号化部 111:統合符号化部 1313:決定部 150:制御部
Claims (13)
- 画像をブロック単位で予測処理を行って符号化する符号化手段と、
前記画像における第1ブロックと、該画像における該第1ブロックと隣接する第2ブロックと、の境界に対して行うデブロッキングフィルタ処理の強度を決定する決定手段と、
前記決定手段が決定した強度に応じたデブロッキングフィルタ処理を前記境界に対して行う処理手段と
を備え、
前記符号化手段は、前記予測処理として、
符号化対象のブロックを含む画像内の画素を用いて、該符号化対象のブロックの予測画素を導出する第1予測モードと、
符号化対象のブロックを含む画像と異なる他の画像内の画素を用いて、該符号化対象のブロックの予測画素を導出する第2予測モードと、
符号化対象のブロックにおける一部の領域については該符号化対象のブロックを含む画像内の画素を用いて予測画素を導出し、該符号化対象のブロックにおける前記一部の領域と異なる他の領域については該符号化対象のブロックを含む画像と異なる他の画像内の画素を用いて予測画素を導出する第3予測モードと、
のいずれかを用い、
前記決定手段は、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が前記第1予測モードを適用したブロックである場合には、前記強度を第1強度と決定し、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が、前記第3予測モードを適用したブロックである場合には、前記強度を前記第1強度に基づく強度と決定する
ことを特徴とする画像符号化装置。 - 前記決定手段は、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が、前記第3予測モードを適用したブロックである場合には、前記強度を前記第1強度と決定することを特徴とする請求項1に記載の画像符号化装置。 - 前記決定手段は、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が、前記第3予測モードを適用したブロックである場合には、前記強度を前記第1強度と他の強度と間の中間的な強度に決定することを特徴とする請求項1に記載の画像符号化装置。 - 前記決定手段は、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が、前記第3予測モードを適用したブロックである場合には、前記境界においてイントラ予測より得られる予測画素に対する前記強度を前記第1強度と決定し、前記境界においてインター予測により得られる予測画素に対する前記強度を第2強度と決定することを特徴とする請求項1に記載の画像符号化装置。 - 前記決定手段は、輝度成分に対する強度と、色差成分に対する強度と、を決定することを特徴とする請求項1乃至4の何れか1項に記載の画像符号化装置。
- 前記強度はbS値であることを特徴とする請求項1乃至5の何れか1項に記載の画像符号化装置。
- 前記決定手段は、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が前記第1予測モードを適用したブロックである場合には、第1強度の補正強度のデブロッキングフィルタの係数を決定し、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が、前記第3予測モードを適用したブロックである場合には、前記第1強度の補正強度のデブロッキングフィルタの係数を決定する
ことを特徴とする請求項1乃至5の何れか1項に記載の画像符号化装置。 - 前記決定手段は、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が前記第1予測モードを適用したブロックである場合には、第1強度の補正強度のデブロッキングフィルタのフィルタ長を決定し、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が、前記第3予測モードを適用したブロックである場合には、前記第1強度の補正強度のデブロッキングフィルタのフィルタ長を決定する
ことを特徴とする請求項1乃至5の何れか1項に記載の画像符号化装置。 - 符号化された画像をブロックごとに復号する画像復号装置であって、
前記ブロックごとに予測処理を行って前記画像を復号する復号手段と、
第1ブロックと、該第1ブロックと隣接する第2ブロックと、の境界に対して行うデブロッキングフィルタ処理の強度を決定する決定手段と、
前記決定手段が決定した強度に応じたデブロッキングフィルタ処理を前記境界に対して行う処理手段と
を備え、
前記復号手段は、前記予測処理として、
復号対象のブロックを含む画像内の画素を用いて、該復号対象のブロックの予測画素を導出する第1予測モードと、
復号対象のブロックを含む画像と異なる他の画像内の画素を用いて、該復号対象のブロックの予測画素を導出する第2予測モードと、
復号対象のブロックにおける一部の領域については該復号対象のブロックを含む画像内の画素を用いて予測画素を導出し、該復号対象のブロックにおける該一部の領域と異なる他の領域については該復号対象のブロックを含む画像と異なる他の画像内の画素を用いて予測画素を導出する第3予測モードと、
のいずれかを用い、
前記決定手段は、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が前記第1予測モードを適用したブロックである場合には、前記強度を第1強度と決定し、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が、前記第3予測モードを適用したブロックである場合には、前記強度を前記第1強度に基づく強度と決定する
ことを特徴とする画像復号装置。 - 画像をブロック単位で予測処理を行って符号化する符号化工程と、
画像における第1ブロックと、該画像における該第1ブロックと隣接する第2ブロックと、の境界に対して行うデブロッキングフィルタ処理の強度を決定する決定工程と、
前記決定工程で決定した強度に応じたデブロッキングフィルタ処理を前記境界に対して行う処理工程と
を備え、
前記符号化工程において、前記予測処理として、
符号化対象のブロックを含む画像内の画素を用いて、該符号化対象のブロックの予測画素を導出する第1予測モードと、
符号化対象のブロックを含む画像と異なる他の画像内の画素を用いて、該符号化対象のブロックの予測画素を導出する第2予測モードと、
符号化対象のブロックにおける一部の領域については該符号化対象のブロックを含む画像内の画素を用いて予測画素を導出し、該符号化対象のブロックにおける前記一部の領域と異なる他の領域については該符号化対象のブロックを含む画像と異なる他の画像内の画素を用いて予測画素を導出する第3予測モードと、
のいずれかを用い、
前記決定工程において、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が前記第1予測モードを適用したブロックである場合には、前記強度を第1強度と決定し、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が、前記第3予測モードを適用したブロックである場合には、前記強度を前記第1強度に基づく強度と決定する
ことを特徴とする画像符号化方法。 - 符号化された画像をブロックごとに復号する画像復号方法であって、
前記ブロックごとに予測処理を行って前記画像を復号する復号工程と、
第1ブロックと、該第1ブロックと隣接する第2ブロックと、の境界に対して行うデブロッキングフィルタ処理の強度を決定する決定工程と、
前記決定工程で決定した強度に応じたデブロッキングフィルタ処理を前記境界に対して行う処理工程と
を備え、
前記復号工程において、前記予測処理として、
復号対象のブロックを含む画像内の画素を用いて、該復号対象のブロックの予測画素を導出する第1予測モードと、
復号対象のブロックを含む画像と異なる他の画像内の画素を用いて、該復号対象のブロックの予測画素を導出する第2予測モードと、
復号対象のブロックにおける一部の領域については該復号対象のブロックを含む画像内の画素を用いて予測画素を導出し、該復号対象のブロックにおける該一部の領域と異なる他の領域については該復号対象のブロックを含む画像と異なる他の画像内の画素を用いて予測画素を導出する第3予測モードと、
のいずれかを用い、
前記決定工程では、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が前記第1予測モードを適用したブロックである場合には、前記強度を第1強度と決定し、
前記第1ブロックおよび前記第2ブロックの少なくとも一方が、前記第3予測モードを適用したブロックである場合には、前記強度を前記第1強度に基づく強度と決定する
ことを特徴とする画像復号方法。 - コンピュータを、請求項1乃至8の何れか1項に記載の画像符号化装置の各手段として機能させるためのコンピュータプログラム。
- コンピュータを、請求項9に記載の画像復号装置の各手段として機能させるためのコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022046035A JP2023140151A (ja) | 2022-03-22 | 2022-03-22 | 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法 |
PCT/JP2023/001333 WO2023181607A1 (ja) | 2022-03-22 | 2023-01-18 | 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022046035A JP2023140151A (ja) | 2022-03-22 | 2022-03-22 | 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023140151A true JP2023140151A (ja) | 2023-10-04 |
Family
ID=88100973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022046035A Pending JP2023140151A (ja) | 2022-03-22 | 2022-03-22 | 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2023140151A (ja) |
WO (1) | WO2023181607A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7094076B2 (ja) * | 2016-08-19 | 2022-07-01 | 沖電気工業株式会社 | 映像符号化装置、プログラム及び方法、並びに、映像復号装置、プログラム及び方法、並びに、映像伝送システム |
EP3895422A1 (en) * | 2018-12-11 | 2021-10-20 | InterDigital VC Holdings, Inc. | Method and apparatus for deblocking an image |
JP7418152B2 (ja) * | 2018-12-17 | 2024-01-19 | キヤノン株式会社 | 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 |
-
2022
- 2022-03-22 JP JP2022046035A patent/JP2023140151A/ja active Pending
-
2023
- 2023-01-18 WO PCT/JP2023/001333 patent/WO2023181607A1/ja unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023181607A1 (ja) | 2023-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200221102A1 (en) | Weighted angular prediction coding for intra coding | |
JP6490276B2 (ja) | 再構成された画像のサンプルのセットのための補償オフセットを復号するための方法および装置 | |
JP2024024080A (ja) | 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 | |
JP2023181542A (ja) | 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム | |
JP2023113858A (ja) | 画像復号装置、画像復号方法、及びプログラム | |
WO2023181607A1 (ja) | 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法 | |
WO2023181546A1 (ja) | 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法 | |
KR20210096279A (ko) | 화상 부호화 장치 및 화상 복호 장치 및 그것들의 제어 방법 및 프로그램 | |
WO2021100450A1 (ja) | イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム | |
WO2020129498A1 (ja) | 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 | |
KR20220058959A (ko) | 화상 부호화 장치, 화상 복호 장치 및 그것들의 제어 방법 및 프로그램 | |
KR20220156017A (ko) | 화상 부호화 장치, 화상 부호화 방법 및 기억 매체, 화상 복호 장치, 화상 복호 방법 및 기억 매체 | |
JP2021150723A (ja) | 画像符号化装置、画像符号化方法、及びプログラム、画像復号装置、画像復号方法、及びプログラム | |
KR20090028378A (ko) | 영상 데이터 부호화 장치 및 방법, 그리고 영상 데이터복호화 장치 및 방법 |