JP2022145499A - 符号化装置及び方法 - Google Patents
符号化装置及び方法 Download PDFInfo
- Publication number
- JP2022145499A JP2022145499A JP2022003254A JP2022003254A JP2022145499A JP 2022145499 A JP2022145499 A JP 2022145499A JP 2022003254 A JP2022003254 A JP 2022003254A JP 2022003254 A JP2022003254 A JP 2022003254A JP 2022145499 A JP2022145499 A JP 2022145499A
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- prediction
- block
- prediction mode
- image
- 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
Images
Abstract
【課題】 1つの画像内で異なる予測画像を用いて符号化された場合に、予測画像の差に起因する画質劣化を目立たないようにすること。【解決手段】 入力画像のブロック毎に符号化処理を行う符号化装置であって、インター予測、イントラ予測、マルチ参照予測のうちいずれかの予測モードを用いてブロックごとに符号化処理を実行する符号化手段と、符号化処理の結果を符号化データとして出力する出力手段と、ブロックをインター予測モードで符号化した場合の第1の符号化コストおよびイントラ予測モードで符号化した場合の第2の符号化コストを所定の関数を用いて算出する算出手段と、を備え、符号化手段は、第1の符号化コストと第2の符号化コストの差分が閾値以下の場合、マルチ参照予測モードを用いて符号化処理を実行し、差分が閾値より大きい場合、第1の符号化コストと第2の符号化コストのうち小さい方の予測モードを用いて符号化処理を実行する。【選択図】図1
Description
本発明は、符号化装置及び方法に関し、特に、予測符号化技術に関する。
動画像を効率的に伝送または記録及び再生するために、動画像データを圧縮符号化する動画像符号化装置と、復号伸長する動画像復号装置が用いられている。動画像符号化方式として、現在では動画像データの空間的かつ時間的な冗長性を削減するハイブリッド符号化を利用した、H.264/AVC(Advanced Video Coding)や、H.265/HEVC(High Efficiency Video Coding)が主流となっている。さらに、次世代の動画像符号化方式として、H.266/VVC(Versatile Video Coding)の国際標準規格化が進行している(非特許文献1参照)。
当該動画像符号化方式においては、1画面をCU(Coding Unit)と呼ばれる小さなブロック単位に分割して、当該ブロック単位で符号化/復号処理を行う。また、このような動画像符号化方式においては、通常、入力画像を符号化/復号することによって得られるローカルデコード画像に基づいて予測画像が生成され、予測画像を入力画像から減算して得られる予測誤差(「差分画像」または「残差画像」と呼ぶこともある。)が符号化される。予測画像の生成方法としては、画面間予測(インター予測)、及び、画面内予測(イントラ予測)が選択可能である。
インタースライスにおいては、一般的に予測誤差の値や、予測誤差の符号量等をベースとしたコスト関数を用いて得られるコスト値(符号化コスト)の比較により、イントラ予測、インター予測のどちらを用いて符号化するかが判定される。ここで、イントラ予測とインター予測では予測画像が異なるため、符号化対象画像の画面内でイントラ予測とインター予測のブロックが互いに隣接する場合、予測画像の差が画質差として視認される場合がある。一般的に人間の視覚特性は平坦な部分の変化に気づきやすいため、画像の平坦部等においては、上述した予測画像の差に起因するイントラ予測とインター予測のブロックの画質差がより視覚的に目立ち、画質の劣化と視認されてしまう場合がある。
この問題を解決するために、特許文献1には次のような技術が提案されている。すなわち、各ブロックの平坦度を示すアクティビティが低いほど、イントラ予測モードが選択されにくくなるようコスト値を補正し、画像の平坦部においてイントラ予測とインター予測のブロックを隣接しにくくする。
しかしながら、特許文献1に記載の技術は、イントラ予測とインター予測のブロックの隣接を完全に防止するものではない。つまり、特許文献1に記載の技術を用いても、画像の平坦度合いに応じて、イントラ予測とインター予測のブロックの隣接は生じうる。この場合、イントラ予測とインター予測のブロックの画質差が、画質の劣化として視認されてしまう場合がある。
本発明は上記問題点を鑑みてなされたものであり、1つの画像内で異なる予測画像を用いて符号化された場合に、予測画像の差に起因する画質劣化を目立たないようにすることを目的とする。
上記目的を達成するために、入力画像をブロックに分割し、前記入力画像のブロック毎に符号化処理を行う本発明の符号化装置は、ブロックに対してインター予測を行うことによりインター予測画像を生成し、前記ブロックと前記インター予測画像との差分を符号化するインター予測モードと、ブロックに対してイントラ予測を行うことによりイントラ予測画像を生成し、前記ブロックと前記イントラ予測画像との差分を符号化するイントラ予測モードと、ブロックから生成されたインター予測画像とイントラ予測画像とを合成することによりマルチ予測画像を生成し、前記ブロックと前記マルチ予測画像の差分を符号化するマルチ参照予測モードのうちいずれかの予測モードを用いてブロックごとに符号化処理を実行する符号化手段と、前記符号化処理の結果を符号化データとして出力する出力手段と、ブロックを前記インター予測モードで符号化した場合の第1の符号化コストおよび前記ブロックをイントラ予測モードで符号化した場合の第2の符号化コストそれぞれを所定の関数を用いて算出する算出手段と、を備え、前記符号化手段は、前記第1の符号化コストと前記第2の符号化コストの差分が閾値以下の場合、前記ブロックに対して前記マルチ参照予測モードを用いて符号化処理を実行し、前記第1の符号化コストと前記第2の符号化コストの差分が前記閾値より大きい場合、前記ブロックに対して前記第1の符号化コストと前記第2の符号化コストのうち小さい方の予測モードを用いて符号化処理を実行する。
本発明によれば、1つの画像内で異なる予測画像を用いて符号化された場合に、予測画像の差に起因する画質劣化を目立たないようにすることができる。
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1の実施形態]
図1は、本実施形態における予測符号化を行う画像符号化装置100の構成を示すブロック図である。画像符号化装置100は、例えば、撮像装置に収容される画像処理エンジン内に配置される。
フレームバッファ101には、符号化対象の入力画像が格納されており、加算器102、イントラ予測部112、動き補償部114、及び特徴検出部116に対して、必要とするブロックサイズの画素を含む画像データを出力する。
図1は、本実施形態における予測符号化を行う画像符号化装置100の構成を示すブロック図である。画像符号化装置100は、例えば、撮像装置に収容される画像処理エンジン内に配置される。
フレームバッファ101には、符号化対象の入力画像が格納されており、加算器102、イントラ予測部112、動き補償部114、及び特徴検出部116に対して、必要とするブロックサイズの画素を含む画像データを出力する。
加算器102は、フレームバッファ101から出力された画像データと、後述する予測モード選択部117から出力される予測画像データとの差分画像データを生成し、直交変換部103へ出力する。
直交変換部103は、差分画像データに対して離散コサイン変換(DCT)や、離散サイン変換(DST)等の直交変換を行い、変換係数を生成して量子化部104へ出力する。
量子化部104は、量子化制御部106が出力する量子化ステップサイズ(または量子化パラメータ)に従い、直交変換部103から出力された変換係数を量子化し、エントロピー符号化部105、及び逆量子化部107へ出力する。
直交変換部103は、差分画像データに対して離散コサイン変換(DCT)や、離散サイン変換(DST)等の直交変換を行い、変換係数を生成して量子化部104へ出力する。
量子化部104は、量子化制御部106が出力する量子化ステップサイズ(または量子化パラメータ)に従い、直交変換部103から出力された変換係数を量子化し、エントロピー符号化部105、及び逆量子化部107へ出力する。
エントロピー符号化部105は、量子化後の変換係数や動きベクトル、及び復号処理に必要なパラメータ等を可変長符号化し、所定のフォーマットに整形して符号化ストリームとして出力する。また、エントロピー符号化部105は、ブロックごとに発生符号量を算出し、量子化制御部106へ出力する。
量子化制御部106は、エントロピー符号化部105から出力された発生符号量と予め設定された目標符号量から、ブロックごとの量子化ステップサイズ、及び量子化パラメータQpを決定し、量子化部104、及び予測モード選択部117へ出力する。
量子化制御部106は、エントロピー符号化部105から出力された発生符号量と予め設定された目標符号量から、ブロックごとの量子化ステップサイズ、及び量子化パラメータQpを決定し、量子化部104、及び予測モード選択部117へ出力する。
逆量子化部107は、量子化部104から出力された量子化後の変換係数に対して逆量子化を行い、変換係数を生成して逆直交変換部108へ出力する。
逆直交変換部108は、逆量子化部107から出力された変換係数に対して、直交変換部103が適用した直交変換の逆変換を適用し、差分画像データを生成して加算器109へ出力する。
加算器109は、逆直交変換部108で生成された差分画像データと、後述する予測モード選択部117から出力される予測画像データを加算し、局所的に復号された参照画像データを生成して参照フレームバッファ110、及びループフィルタ111へ出力する。
逆直交変換部108は、逆量子化部107から出力された変換係数に対して、直交変換部103が適用した直交変換の逆変換を適用し、差分画像データを生成して加算器109へ出力する。
加算器109は、逆直交変換部108で生成された差分画像データと、後述する予測モード選択部117から出力される予測画像データを加算し、局所的に復号された参照画像データを生成して参照フレームバッファ110、及びループフィルタ111へ出力する。
ループフィルタ111は、デブロッキングフィルタや適応ループフィルタ等を含み、加算器109から出力される参照画像データのブロックノイズを除去し、参照フレームバッファ110へ出力する。なお、上述のように加算器109から出力される参照画像データは、ループフィルタ111を介さずに参照フレームバッファ110に格納することができる。つまり、ループフィルタ111によるフィルタリング処理は省略することができる。
参照フレームバッファ110は、供給される参照画像データを記憶し、所定のタイミングで記憶している参照画像データをイントラ予測部112、動き補償部114に出力する。
参照フレームバッファ110は、供給される参照画像データを記憶し、所定のタイミングで記憶している参照画像データをイントラ予測部112、動き補償部114に出力する。
イントラ予測部112は、フレームバッファ101から出力される符号化対象ブロックの画像データと、参照フレームバッファから読み出した符号化対象ブロックの周囲の参照画像データを用いてイントラ予測を行う。
ここで、図2を参照してイントラ予測部112が選択可能なイントラ予測モードについて説明する。
図2は、イントラ予測モードの種類(モード番号)を示す図である。イントラ予測部112は、プレーナ予測(モード番号0)、DC予測(モード番号1)、及び65種類の方向性予測(モード番号2~66)から、イントラ予測モードを選択可能である。
また、イントラ予測部112は、各イントラ予測モードの中で、符号化効率を示すコスト関数によるコスト値の最も小さいイントラ予測モードを選択する。コスト関数としては様々な関数が考えられるが、本実施形態では代表的なものとして以下の式(1)を用いることとする。
図2は、イントラ予測モードの種類(モード番号)を示す図である。イントラ予測部112は、プレーナ予測(モード番号0)、DC予測(モード番号1)、及び65種類の方向性予測(モード番号2~66)から、イントラ予測モードを選択可能である。
また、イントラ予測部112は、各イントラ予測モードの中で、符号化効率を示すコスト関数によるコスト値の最も小さいイントラ予測モードを選択する。コスト関数としては様々な関数が考えられるが、本実施形態では代表的なものとして以下の式(1)を用いることとする。
IntraCost=SATD+Qp×Mdcost ・・・(1)
式(1)において、IntraCostはイントラ予測モードにおける符号化効率を示すコスト値、SATDは符号化対象の入力画像データと、参照画像データを減算処理して得られた差分データをアダマール変換したものに対して、差分絶対値和を求めたものである。Qpは量子化部104で使用される量子化パラメータ、Mdcostはイントラ予測モードの符号量に相当するコスト値である。
式(1)において、IntraCostはイントラ予測モードにおける符号化効率を示すコスト値、SATDは符号化対象の入力画像データと、参照画像データを減算処理して得られた差分データをアダマール変換したものに対して、差分絶対値和を求めたものである。Qpは量子化部104で使用される量子化パラメータ、Mdcostはイントラ予測モードの符号量に相当するコスト値である。
イントラ予測部112は、式(1)を用いて選択したイントラ予測モードにより、イントラ予測用の予測画像を生成する。また、イントラ予測部112は、選択したイントラ予測モード、選択したイントラ予測モード適用時のコスト値、及びイントラ予測により生成した予測画像データ(イントラ予測画像)を、マルチ参照予測部115及び予測モード選択部117へそれぞれ出力する。
動き情報メモリ113は、後述する動き補償部114が出力する動きベクトルを一時的に保持するためのメモリである。動き情報メモリ113は、符号化対象ブロックの周囲に位置するブロックの動きベクトルを保持するとともに、既に符号化が終了したフレームのブロックごとの動きベクトルを保持することも可能である。動き情報メモリ113に保持されている動きベクトルの情報は、後述する動き補償部114で参照される。
動き補償部114は、動きベクトルを新たに探索するインターモードと、既に符号化済みのブロックの動きベクトル候補の中から最適な動きベクトルを選択するマージモードとの2つのモードの中から、最適なモードを選択する。
動き補償部114は、動きベクトルを新たに探索するインターモードと、既に符号化済みのブロックの動きベクトル候補の中から最適な動きベクトルを選択するマージモードとの2つのモードの中から、最適なモードを選択する。
ここで、図3を用いて動き補償部114の動作を説明する。
S301において、動き補償部114は、フレームバッファ101から出力される符号化対象ブロックの画像データと、参照フレームバッファ110から読み出した参照画像データを用いて、インターモードにおける最適な動きベクトルを探索する。より具体的には、動き補償部114は、符号化効率を示すコスト関数によるコスト値の最も小さい動きベクトルを探索する。コスト関数としては様々な関数が考えられるが、本実施形態では代表的なものとして式(2)を用いることとする。
S301において、動き補償部114は、フレームバッファ101から出力される符号化対象ブロックの画像データと、参照フレームバッファ110から読み出した参照画像データを用いて、インターモードにおける最適な動きベクトルを探索する。より具体的には、動き補償部114は、符号化効率を示すコスト関数によるコスト値の最も小さい動きベクトルを探索する。コスト関数としては様々な関数が考えられるが、本実施形態では代表的なものとして式(2)を用いることとする。
InterCost=SATD+Qp×Mvcost ・・・(2)
式(2)において、InterCostはインターモードにおける符号化効率を示すコスト値である。SATDは符号化対象の入力画像データと、動きベクトル反映後の参照画像データを減算処理して得られた差分データをアダマール変換したものに対し、差分絶対値和を求めたものである。Qpは量子化部104で使用される量子化パラメータ、Mvcostは動きベクトルの符号量に相当するコスト値である。
動き補償部114は、式(2)を用いて決定した動きベクトルの情報と、当該動きベクトル適用時に得られるコスト値を一時的に保持しておく。
式(2)において、InterCostはインターモードにおける符号化効率を示すコスト値である。SATDは符号化対象の入力画像データと、動きベクトル反映後の参照画像データを減算処理して得られた差分データをアダマール変換したものに対し、差分絶対値和を求めたものである。Qpは量子化部104で使用される量子化パラメータ、Mvcostは動きベクトルの符号量に相当するコスト値である。
動き補償部114は、式(2)を用いて決定した動きベクトルの情報と、当該動きベクトル適用時に得られるコスト値を一時的に保持しておく。
S302において、動き補償部114は、動き情報メモリ113に既に保持されている複数の動きベクトル候補の中から、マージモードにおける最適な動きベクトルを選択する。より具体的には、動き補償部114は、複数の動きベクトル候補それぞれに式(2)を適用し、コスト値の最も小さい動きベクトルを選択する。また、動き補償部114は、当該動きベクトル候補を示すインデックス値(マージインデックス)を算出する。
動き補償部114は、マージインデックスと、マージインデックスが指し示す動きベクトル適用時に得られるコスト値を一時的に保持しておく。
動き補償部114は、マージインデックスと、マージインデックスが指し示す動きベクトル適用時に得られるコスト値を一時的に保持しておく。
S303において、動き補償部114は、S301で算出したインターモードにおけるコスト値と、S302で算出したマージモードにおけるコスト値とを比較し、最も小さなコスト値が得られるモードを選択する。
S304において、動き補償部114は、選択したモードにおける動きベクトル、及び参照フレームバッファ110から読み出した参照画像データを用いて、インター予測用の予測画像データを生成する。なお、マージモードの場合は、S302で算出したマージインデックスを参照することにより、動きベクトルを決定することが可能である。
動き補償部114は、マージモードが選択されたか否かを示すフラグ(マージフラグ)、動きベクトルあるいはマージインデックスの情報、選択したモードにおけるコスト値、生成したインター予測用の予測画像データ(インター予測画像)を、マルチ参照予測部115、及び予測モード選択部117へそれぞれ出力する。
マルチ参照予測部115は、イントラ予測部112から出力されるイントラ予測用の予測画像データと、動き補償部114から出力されるインター予測用の予測画像データを合成し、新たな予測画像データを生成する。
イントラ予測用とインター予測用の予測画像データを合成する一手法としては、非特許文献2において、Combined Inter and Intra Predictinon(CIIP)という技術が公開されており、本実施形態におけるイントラ予測用とインター予測用の予測画像データの合成手法もCIIPをベースとしたものである。一方、非特許文献2にはCIIPの適用条件として、イントラ予測の予測画像はPLANAR予測が適用されたもの、インター予測の予測画像はマージモードが適用されたもの、等の記載がある。しかしながら、本実施形態におけるイントラ予測用とインター予測用の予測画像データの合成手法は、これらの条件に必ずしも限定されるものではなく、例えば、イントラ予測用の予測画像データに、方向性予測等を適用することも可能である。
CIIPではイントラ予測とインター予測の予測画像を画素ごとにブレンドするため、ブロック間の予測画像の差をより低減することができる。このことを踏まえ、本実施形態では、イントラ予測とインター予測のブロックの隣接が生じ易い領域、かつ、画像の平坦部などブロック間の画質差が目立ちやすい領域に存在するブロックに対してCIIPを適用する。これにより、隣接したブロック間で予測画像が異なることに起因する画質劣化の低減を図る。
以下、マルチ参照予測部115が行う、イントラ予測用の予測画像データとインター予測用の予測画像データとの合成手法の詳細について説明する。
マルチ参照予測部115は、イントラ予測用とインター予測用の予測画像データを、以下の式(3)を用いて画素ごとに合成する。
マルチ参照予測部115は、イントラ予測用とインター予測用の予測画像データを、以下の式(3)を用いて画素ごとに合成する。
Pciip=((4-wt)×Pinter+wt×Pintra+2)/4
…(3)
式(3)において、Pintraはイントラ予測用の予測画像データの画素値、Pinterはインター予測用の予測画像データの画素値、Pciipは合成後の予測画像データの画素値である。wtはイントラ予測とインター予測の画素値の合成割合を示す重み係数であり、ここでは、1~3までの整数値を取りうる。
…(3)
式(3)において、Pintraはイントラ予測用の予測画像データの画素値、Pinterはインター予測用の予測画像データの画素値、Pciipは合成後の予測画像データの画素値である。wtはイントラ予測とインター予測の画素値の合成割合を示す重み係数であり、ここでは、1~3までの整数値を取りうる。
ここで、図4を用いてマルチ参照予測部115の重み係数wtの決定方法について説明する。
S401において、マルチ参照予測部115は、isIntraTop及びisIntraLeftを0に、また重み係数wtを1に、それぞれ初期化する。isIntraTopは、符号化対象ブロックの上方向に隣接している符号化済みブロックの予測モードが、イントラ予測であったか否かを示すフラグである。また、isIntraLeftは、符号化対象ブロックの左方向に隣接している符号化済みブロックの予測モードが、イントラ予測であったか否かを示すフラグである。なお、これらの符号化済みブロックの予測モードは後述するように予測モード選択部117が保持し、マルチ参照予測部115はこれらの情報を適宜参照することができるものとする。
S401において、マルチ参照予測部115は、isIntraTop及びisIntraLeftを0に、また重み係数wtを1に、それぞれ初期化する。isIntraTopは、符号化対象ブロックの上方向に隣接している符号化済みブロックの予測モードが、イントラ予測であったか否かを示すフラグである。また、isIntraLeftは、符号化対象ブロックの左方向に隣接している符号化済みブロックの予測モードが、イントラ予測であったか否かを示すフラグである。なお、これらの符号化済みブロックの予測モードは後述するように予測モード選択部117が保持し、マルチ参照予測部115はこれらの情報を適宜参照することができるものとする。
S402において、マルチ参照予測部115は、符号化対象ブロックの上方向に隣接している符号化済みブロックの予測モードが、イントラ予測であったか否かを判定する。上方向に隣接している符号化済みブロックの予測モードが、イントラ予測であった場合(S402でYes)、マルチ参照予測部115は、S403でisIntraTopに1を設定する。上方向に隣接している符号化済みブロックの予測モードが、イントラ予測でなかった場合(S402でNo)、マルチ参照予測部115は、S404へ処理を進める。
S404において、マルチ参照予測部115は、符号化対象ブロックの左方向に隣接している符号化済みブロックの予測モードが、イントラ予測であったか否かを判定する。左方向に隣接している符号化済みブロックの予測モードが、イントラ予測であった場合(S404でYes)、マルチ参照予測部115は、S405でisIntraLeftに1を設定する。左方向に隣接している符号化済みブロックの予測モードが、イントラ予測でなかった場合(S404でNo)、マルチ参照予測部115は、S406へ処理を進める。
S406~S410において、マルチ参照予測部115は、isIntraTopとisIntraLeftの合計値に応じて重み係数wtの値を決定する。isIntraTopとisIntraLeftの合計値が2である場合(S406でYes)、S407に進んでマルチ参照予測部115は重み係数wtに3を設定する。isIntraTopとisIntraLeftの合計値が1である場合(S406でNoかつS408でYes)、S409に進んでマルチ参照予測部115は重み係数wtに2を設定する。isIntraTopとisIntraLeftの合計値が0である場合(S406でNoかつS408でNo)、S410に進んでマルチ参照予測部115は重み係数wtに1を設定する。
S406~S410の処理は、符号化対象ブロックの周囲ブロックの予測モードに応じて、予測画像の合成時におけるイントラ予測用の予測画像データの画素値とインター予測用の予測画像データの画素値の合成割合を適応的に変更することを意味する。これにより、後述する予測モード選択部117において、予測モードとしてマルチ参照予測が選択された場合、当該符号化対象ブロックと周囲のブロックとの間で予測画像が異なることに起因する画質劣化を低減することができる。
なお、イントラ予測用の予測画像データとインター予測用の予測画像データの合成方法は、式(3)及び図4に示した例に限られるものではない。例えば、マルチ参照予測部115は、以下の式(4)を用いて合成することも可能である。
Pciip=((8-wt)×Pinter+wt×Pintra+4)/8
…(4)
また、他の例としては、符号化対象ブロック内の各画素の画素位置に応じて、画素ごとに適応的に重み係数wtを変更することもできる。さらに、イントラ予測部112から出力されるイントラ予測モード(DC予測、PLANAR予測など)や、符号化対象ブロックのブロックサイズ等に応じて、重み係数wtを適応的に変更することもできる。
Pciip=((8-wt)×Pinter+wt×Pintra+4)/8
…(4)
また、他の例としては、符号化対象ブロック内の各画素の画素位置に応じて、画素ごとに適応的に重み係数wtを変更することもできる。さらに、イントラ予測部112から出力されるイントラ予測モード(DC予測、PLANAR予測など)や、符号化対象ブロックのブロックサイズ等に応じて、重み係数wtを適応的に変更することもできる。
マルチ参照予測部115は、式(3)を用いて合成した予測画像データ(マルチ予測画像)を用いて、符号化効率を示すコスト関数によるコスト値を算出する。コスト関数としては様々な関数が考えられるが、本実施形態では代表的なものとして式(5)を用いることとする。
CiipCost=SATD+Qp×Mpcost ・・・(5)
式(5)において、CiipCostは、マルチ参照予測における符号化効率を示すコスト値である。SATDは符号化対象の入力画像データと、合成後の予測画像データを減算処理して得られた差分データをアダマール変換したものに対して、差分絶対値和を求めたものである。Qpは量子化部104で使用される量子化パラメータ、Mpcostはマルチ参照予測を行うために必要なパラメータの符号量に相当するコスト値である。マルチ参照予測を行うために必要なパラメータとしては、イントラ予測部112から出力されるイントラ予測モードの他、動き補償部114から出力されるマージフラグ、マージインデックス、あるいは動きベクトル等が挙げられる。
式(5)において、CiipCostは、マルチ参照予測における符号化効率を示すコスト値である。SATDは符号化対象の入力画像データと、合成後の予測画像データを減算処理して得られた差分データをアダマール変換したものに対して、差分絶対値和を求めたものである。Qpは量子化部104で使用される量子化パラメータ、Mpcostはマルチ参照予測を行うために必要なパラメータの符号量に相当するコスト値である。マルチ参照予測を行うために必要なパラメータとしては、イントラ予測部112から出力されるイントラ予測モードの他、動き補償部114から出力されるマージフラグ、マージインデックス、あるいは動きベクトル等が挙げられる。
マルチ参照予測部115は、式(5)により算出したコスト値、及び合成後の予測画像データを、予測モード選択部117へ出力する。
特徴検出部116は、符号化対象ブロックが画像の平坦な領域に属するか否かを示す平坦領域フラグを生成し、予測モード選択部117へ出力する。ここで、図5を用いて特徴検出部116の平坦領域フラグの生成方法について説明する。
図5は、特徴検出部116の内部構成例を示すブロック図である。
平坦判定部501は、符号化対象ブロックの入力画像を取得し、当該符号化対象ブロックが平坦であるか否かを示すフラグ(平坦フラグ)を生成する。平坦であるか否かの判定方法には様々な方法が考えられるが、本実施形態では符号化対象ブロックの画素値の分散値を平坦度とし、平坦度が所定の閾値より低い場合、平坦であると判定する。また、本実施形態では平坦であると判定された場合のフラグ値を「1」、平坦でないと判定された場合のフラグ値を「0」とする。
平坦判定部501は、符号化対象ブロックの入力画像を取得し、当該符号化対象ブロックが平坦であるか否かを示すフラグ(平坦フラグ)を生成する。平坦であるか否かの判定方法には様々な方法が考えられるが、本実施形態では符号化対象ブロックの画素値の分散値を平坦度とし、平坦度が所定の閾値より低い場合、平坦であると判定する。また、本実施形態では平坦であると判定された場合のフラグ値を「1」、平坦でないと判定された場合のフラグ値を「0」とする。
平坦フラグバッファ502は、平坦判定部501から出力される平坦フラグを一時的に保持する。平坦フラグバッファ502には、複数の符号化済みブロックの平坦フラグも保持されており、後述する平坦領域判定部503は、これらの情報を適宜参照することができる。本実施形態における平坦フラグバッファ502は、少なくとも符号化対象ブロックの上方向、左斜め上方向、左方向にそれぞれ隣接する符号化済みブロックの平坦フラグを保持することとする。
平坦領域判定部503は、平坦フラグバッファ502に保持されている符号化対象ブロックの平坦フラグ、及び複数の符号化済みブロックの平坦フラグから、符号化対象ブロックが画像の平坦な領域に属しているか否かを判定する。平坦な領域に属しているか否かの判定方法としては様々な方法が考えられるが、本実施形態では、符号化対象ブロックの平坦フラグが「1」であって、且つ、符号化対象ブロックの上方向、左斜め上方向、左方向に隣接する符号化済みブロックの平坦フラグのフラグ値が全て「1」である場合に、当該符号化対象ブロックが平坦な領域に属していると判定する。本実施形態では平坦な領域に属すると判定された場合のフラグ値を「1」、平坦な領域に属さないと判定された場合のフラグ値を「0」とする。
なお、符号化対象ブロックが平坦な領域に属するか否かの判定方法は、図5を用いて説明した例に限られない。例えば、特徴検出部116は、単に符号化対象ブロックの平坦度が所定の閾値よりも低い場合、当該ブロックが平坦な領域に属しているものとしてもよい。あるいは、特徴検出部116は、あるフレームの符号化処理を開始する以前に、当該フレームのブロックごとの平坦フラグを判定し、それらの平坦フラグを平坦フラグバッファ502へ格納しておくことも可能である。これにより、平坦領域判定部503は、符号化対象ブロックに隣接するブロックの平坦フラグだけではなく、より離れた位置のブロックの平坦フラグを参照することで、符号化対象ブロックが平坦な領域に属しているか否かの判定精度を向上させることができる。
予測モード選択部117は、イントラ予測、インター予測、マルチ参照予測うち、いずれかの予測モードを選択する。ここで、図6を用いて予測モード選択部117の予測モードの決定方法について説明する。
S601において、予測モード選択部117は、特徴検出部116から出力された平坦領域フラグが0、及び/または、量子化制御部106から取得した符号化対象ブロックの量子化ステップサイズQstepが閾値Thqstepより小さいか否かを判定する。
S601において、予測モード選択部117は、特徴検出部116から出力された平坦領域フラグが0、及び/または、量子化制御部106から取得した符号化対象ブロックの量子化ステップサイズQstepが閾値Thqstepより小さいか否かを判定する。
以下、S601以降のS602~S608において、予測モード選択部117は符号化効率を重視し、常にコスト値が最小となる予測モードを選択するように動作する。一方、S609~S613において、予測モード選択部117は画質劣化低減を重視し、常にコスト値が最小となる予測モードを選択するわけではなく、ブロック間で予測画像が異なることに起因する画質劣化が目立ちにくくなるよう動作する。すなわち、S601の判定式は、予測モード選択部117が符号化効率、もしくは画質劣化の低減のどちらを重視するかを選択することを意味している。
本実施形態では、符号化対象ブロックが属する領域が平坦ではない場合、及び/または、量子化ステップサイズが小さい場合、ブロック間で予測画像が異なることに起因する画質劣化の度合いは少ないと判断し、符号化効率を重視してS602~S608の処理を行う。反対に、符号化対象ブロックが属する領域が平坦であり、かつ、量子化ステップサイズが大きい場合、画質劣化の低減を重視してS609~S613の処理を行う。なお、S601における判定方法はここで示した例に限られない。例えば、予測モード選択部117は、平坦領域フラグ、もしくは量子化ステップサイズのどちらか一方を用いて判定することも可能である。
S601において、平坦領域フラグが0、及び/または、量子化ステップサイズQstepが閾値Thqstepより小さい場合、予測モード選択部117は、S602へと処理を進める。
S602において、予測モード選択部117は、イントラ予測部112から出力されるコスト値IntraCostと、動き補償部114から出力されるコスト値InterCostを比較する。
S602において、予測モード選択部117は、イントラ予測部112から出力されるコスト値IntraCostと、動き補償部114から出力されるコスト値InterCostを比較する。
InterCostがIntraCostよりも大きい場合(S602でYes)、予測モード選択部117は、IntraCostとマルチ参照予測部115から出力されるコスト値CiipCostを比較する(S603)。IntraCostがCiipCostよりも大きい場合(S603でYes)、予測モード選択部117は、予測モードとしてマルチ参照予測を選択する(S604)。IntraCostがCiipCost以下の場合(S603でNo)、予測モード選択部117は、予測モードとしてイントラ予測を選択する(S605)。
また、S602において、InterCostがIntraCost以下の場合(S602でNo)、予測モード選択部117は、InterCostとCiipCostを比較する(S606)。InterCostがCiipCostよりも大きい場合(S606でYes)、予測モード選択部117は、予測モードとしてマルチ参照予測を選択する(S607)。InterCostがCiipCost以下の場合(S606でNo)、予測モード選択部117は、予測モードとしてインター予測を選択する(S608)。
一方、S601において、特徴検出部116から出力された平坦領域フラグが1、かつ、量子化ステップサイズQstepが閾値Thqstep以上の場合、予測モード選択部117は、S609へと処理を進める。
S609において、予測モード選択部117は、InterCostとIntraCost+αの値を比較する。αは任意に設定可能なイントラ予測のコスト値の補正値である。
一般的にイントラ予測とインター予測のコスト値が同程度の領域では、イントラ予測の方が画質劣化として目立ちやすい傾向がある。よって、本実施形態では符号化対象ブロックが平坦領域に属する場合、イントラ予測のコスト値に補正を行うことで、インター予測が優先的に選択されるようにしている。結果として、イントラ予測とインター予測のブロック隣接が生じるケースが低減する。
なお、本実施形態では上述のようにαを加算することによりコスト値の補正を行っているが、任意の定数をコスト値に減算、乗算、除算等することにより補正することも可能である。また、コスト値の補正方法は上述のようにαを用いたものに限定されず、インター予測が優先的に選択されるようにする方法であれば、どのような方法を採用してもよい。
InterCostがIntraCost+αよりも大きい場合(S609でYes)、予測モード選択部117は、予測モードとしてイントラ予測を選択する(S610)。
InterCostがIntraCost+α以下の場合(S609でNo)、予測モード選択部117は、InterCostとIntraCostの差の絶対値が定数c以下であるか否かを判定する(S611)。ここで、S611の判定式について詳細を説明する。
上述のように、S609における判定はインター予測が優先的に選択されるよう意図したものである。一方、画像の平坦度合いに応じて、イントラ予測とインター予測のブロック隣接が生じやすく、S609による判定結果が頻繁に切り替わる領域は未だ存在する。ここで、S609による判定結果が頻繁に切り替わる領域においては、S609の判定式において、InterCostとIntraCost+αの値が近いことが想定される。このことを踏まえ、本実施形態ではS609による判定結果が頻繁に切り替わる領域を、以下の式(6)で検出することとする。
|InterCost-(IntraCost+α)|≦β …(6)
βはInterCostとIntraCost+αの値の近さを検出するための定数である。ここで、αを正の定数とすると、式(6)を変形することにより以下の式(7)が得られる。
βはInterCostとIntraCost+αの値の近さを検出するための定数である。ここで、αを正の定数とすると、式(6)を変形することにより以下の式(7)が得られる。
|InterCost-IntraCost|≦β+α=c …(7)
つまり、本実施形態では、S611において符号化対象ブロックのInterCostとIntraCostの差の絶対値が定数c以下となる場合、当該ブロックがイントラ予測とインター予測のブロック隣接が生じやすい領域に存在すると判断している。
つまり、本実施形態では、S611において符号化対象ブロックのInterCostとIntraCostの差の絶対値が定数c以下となる場合、当該ブロックがイントラ予測とインター予測のブロック隣接が生じやすい領域に存在すると判断している。
なお、定数cは任意に設定可能であり、画像符号化装置の目標とするビットレートや、量子化部104で使用される量子化パラメータQpの値、もしくは画像の特徴等を用いて適応的に変更可能であってもよい。例えば、平坦判定部501で算出された平坦度等に応じて、定数cの値をブロック毎に変更することもできる。
InterCostとIntraCostの差の絶対値がc以下である場合(S611 Yes)、予測モード選択部117は、予測モードとしてマルチ参照予測を選択する(S612)。つまり、本実施形態では、イントラ予測とインター予測のブロック隣接が生じやすい領域に存在するブロックに対して、マルチ参照予測を適用する。マルチ参照予測を適用した場合、イントラ予測とインター予測の予測画像がブレンドされ、ブロック間の予測画像の差がより小さくなるため、ブロック間で予測画像が異なることに起因する画質劣化を低減することができる。
なお、マルチ参照予測においては、イントラ予測とインター予測の両方の予測モードに関わるパラメータ(イントラ予測モードや、動きベクトル等)を符号化することが必要であり、パラメータに関わる符号量がイントラ予測、インター予測に比べて大きくなってしまう恐れがある。そこで、予測モード選択部117は、S611の判定において、動き補償部114から出力されるマージフラグの値が1であるか否かを加えてもよい。これにより、マルチ参照予測を選択した場合に、動きベクトルに関わるパラメータを符号化する必要がなくなり、パラメータに関わる符号量の増加を抑制することができる。
InterCostとIntraCostの差の絶対値が定数c以下でない場合(S611でNo)、予測モード選択部117は、予測モードとしてインター予測を選択する(S613)。
以上のようにして選択された予測モードにしたがって、予測画像が生成される。そして、符号化対象のブロックの画像データと予測画像との差分が符号化され、符号化結果が符号化ストリーム(符号化データ)として出力される。
なお、図6に示した例では、画像の平坦部、かつ、量子化ステップサイズが大きい場合において、イントラ予測とインター予測のブロック隣接が生じやすい領域として検出し、当該領域に画質劣化低減を重視した予測モードを適用した。一方、画像符号化装置の目標とするビットレート等に応じて、画像の平坦度合いに依らず、イントラ予測とインター予測のブロック境界が目立ちやすいケースも存在する。このような場合、予測モード選択部117は、S601の判定を行わず、常にイントラ予測とインター予測のブロック隣接が生じやすい領域を検出し、当該領域に存在するブロックにマルチ参照予測を適用することも可能である。
また、イントラ予測とインター予測のブロック境界が目立ちやすいブロックに関わらず、すべてのブロックについて、S609以降の処理を行うようにしてもよい。
上記の通り第1の実施形態によれば、同じ画像内で異なる予測画像を用いて符号化する場合に、予測画像の差に起因する画質劣化を目立たなくすることができる。
また、符号化対象ブロックが属する領域が平坦、かつ、量子化ステップサイズが大きい、といった、イントラ予測とインター予測のブロック境界が目立ちやすい場合に、予測モード選択部117は画質劣化低減を重視して動作する。一方、イントラ予測とインター予測のブロック境界が目立たない場合に、予測モード選択部117は符号化効率を重視して動作する。これにより、符号化効率を損なうことなく、ブロック間で予測画像が異なることに起因する画質劣化を、従来よりも低減することが可能となる。
また、符号化対象ブロックが属する領域が平坦、かつ、量子化ステップサイズが大きい、といった、イントラ予測とインター予測のブロック境界が目立ちやすい場合に、予測モード選択部117は画質劣化低減を重視して動作する。一方、イントラ予測とインター予測のブロック境界が目立たない場合に、予測モード選択部117は符号化効率を重視して動作する。これにより、符号化効率を損なうことなく、ブロック間で予測画像が異なることに起因する画質劣化を、従来よりも低減することが可能となる。
[変形例]
次に、変形例における符号化データの生成方法について、図10を参照して説明する。
次に、変形例における符号化データの生成方法について、図10を参照して説明する。
図3を参照して上述したようにして、動き補償部114は、符号化対象ブロックにインター予測モードを適用した場合のコスト値を算出する(S1001)。また、図2を参照して上述したようにして、イントラ予測部112は、符号化対象ブロックにイントラ予測モードを適用した場合のコスト値を算出する(S1002)。
そして、S611と同様に、予測モード選択部117は、S1001で算出されたインター予測モードのコスト値と、S1002で算出されたイントラ予測モードのコスト値との差の絶対値が定数c以下であるかどうかを判定する(S1003)。判定の結果、差の絶対値が定数c以下であれば(S1003でYes)、予測モード選択部117は、マルチ参照予測モードを選択する(S1004)。
一方、判定の結果、差の絶対値が定数cより大きければ(S1003でNo)、予測モード選択部117は、符号化対象ブロックにマルチ参照予測モードを適用した場合のコスト値を算出する(S1005)。予測モード選択部117は、S1001、S1002、S1005で算出された、インター予測モード、イントラ予測モードおよびマルチ参照予測モードそれぞれのコスト値を比較し、マルチ参照予測モードのコスト値が最小であれば(S1006でYes)、マルチ参照予測モードを選択する(S1004)。
マルチ参照予測モードのコスト値が最小でなく(S1006でNo)、インター予測モードのコスト値が最小であれば(S1007でYes)、インター予測モードを選択する(S1008)。マルチ参照予測モードのコスト値が最小でなく(S1006でNo)、インター予測モードのコスト値が最小でない(S1007でNo)、つまり、イントラ予測モードのコスト値が最小であれば、イントラ予測モードを選択する(S1009)。
そして、S1004でマルチ参照予測モードが選択されれば、マルチ参照予測部115がイントラ予測部112から出力されるイントラ予測用の予測画像データと、動き補償部114から出力されるインター予測用の予測画像データを合成し、マルチ参照予測用の予測画像データを生成する(S1010)。あるいは、S1008でインター予測モードが選択されれば、S304と同様に、動き補償部114は、インター予測用の予測画像データを生成する(S1011)。あるいは、S1009でイントラ予測モードが選択されれば、イントラ予測部112がイントラ予測用の予測画像データを生成する(S1012)。S1011、S1011またはS1012で生成された予測画像データは、予測モード選択部117により加算器102へ出力される。
そして、加算器102により、フレームバッファから出力された符号化対象のブロック画像データと、予測画像データとの差分画像データが生成され、差分画像データに対して、上述のように各部を用いて符号化処理が実行され(S1013)、符号化結果が符号化ストリームとして出力される(S1014)。
なお、S1001の処理を開始する前に、S601と同様に、予測モード選択部117は、特徴検出部116から出力された平坦領域フラグが0、及び/または、量子化制御部106から取得した符号化対象ブロックの量子化ステップサイズQstepが閾値Thqstepより小さいか否かを判定し、平坦領域フラグが1、及び/または、量子化ステップサイズQstepが閾値Thqstep以上の場合、S1001以降の処理が実行されるようにしてもよい。あるいは、入力画像のダイナミックレンジが所定値以上の高ダイナミックレンジである場合に、S1001以降の処理が実行されるようにしてもよい。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。
最新の動画像符号化方式であるHEVCやVVC等においては、10ビットや12ビット等多ビットのHDR(High Dynamic Range)記録、もしくはLog記録された動画像の符号化が可能となっている。Log記録された動画像とは、BT.709等の規格で定められたガンマカーブと異なり、より高ダイナミックレンジで記録できるように、デジタルカメラ等のメーカーが独自に定めたガンマカーブを用いて撮影された動画像のことである。
次に、本発明の第2の実施形態について説明する。
最新の動画像符号化方式であるHEVCやVVC等においては、10ビットや12ビット等多ビットのHDR(High Dynamic Range)記録、もしくはLog記録された動画像の符号化が可能となっている。Log記録された動画像とは、BT.709等の規格で定められたガンマカーブと異なり、より高ダイナミックレンジで記録できるように、デジタルカメラ等のメーカーが独自に定めたガンマカーブを用いて撮影された動画像のことである。
HDR記録、もしくはLog記録された動画像(高ダイナミックレンジ画像)は、ディスプレイの出力時に設定されたガンマカーブで変換されて表示される。ここで、HDR記録時の入力輝度値(撮影時の実際の明るさ)と出力画素値(符号化後の画素値)の関係を図7(a)に示す。水平方向が入力輝度値、垂直方向が出力画素値で、入力値と出力値の関係がガンマカーブ701で規定されている。入力値が小さい部分ではカーブが垂直方向に急峻であり、入力値の幅に対して画素値が多く割り当てられている。一方、入力値が大きい部分ではカーブが緩やかとなり、入力値に対する画素値の割り当ては少なくなっている。このように、入力輝度値に対して出力画素値を割り当てることにより、高ダイナミックレンジの記録を可能にしている。
また、HDR表示時の入力値(符号化後の画素値)と出力輝度値(ディスプレイに表示される明るさ)の関係を図7(b)に示す。水平方向が入力画素値、垂直方向が実際に表示される出力輝度値で、入力値と出力値の関係がガンマカーブ702で規定され、ガンマカーブ701と逆の関係になっている。入力値が小さい部分ではカーブが垂直方向に緩やかであり、入力値の幅に対して表示される明るさの変化量は小さくなっている。一方、入力値が大きい部分ではカーブが急峻となり、入力値に対して表示される明るさの変化量が大きくなっている。このように入力画素値に対して出力輝度値を割り当てることにより、HDR記録された動画像を正しい明るさで表示することができる。
このように、HDR記録、もしくはLog記録された動画像は、通常のSDR(Standard Dynamic Range)記録された動画像と比較して、符号化後の画素値の変化量に対して、ディスプレイに表示される明るさの変化量が多くなっている。すなわち、符号化後の画質の劣化が、より増幅されてディスプレイに表示されることになる。また、この傾向は輝度値の高い部分(「高輝度領域」、もしくは「ハイライト領域」と呼ぶ。)でより顕著になり、本発明の課題であるブロック間で予測画像が異なることに起因する画質劣化も、このような領域で視覚的に目立ちやすくなる。
第2の実施形態では、このようなHDR記録、もしくはLog記録された動画像(便宜上、「HDR画像」と呼ぶ。)を符号化対象とし、HDR画像のハイライト領域に発生する画質劣化の低減を図る。なお、第2の実施形態では、第1の実施形態との差異に関して主に説明を行い、第1の実施形態と同様の箇所については説明を省略する。
第2の実施形態における画像符号化装置の全体構成は図1に示すものと同様であるが、特徴検出部116の構成が第1の実施形態において図5を参照して説明したものとは異なる。
図8は、第2の実施形態における特徴検出部116の内部構成例を示すブロック図である。第2の実施形態における特徴検出部116は、第1の実施形態と同様に、符号化対象ブロックが画像の平坦な領域に属しているか否かを判定するための、平坦判定部501、平坦フラグバッファ502、平坦領域判定部503を有する。さらに、特徴検出部116は、符号化対象ブロックが画像のハイライト領域に属しているか否かを判定するための、高輝度判定部804、高輝度フラグバッファ805、ハイライト領域判定部806を有する。
なお、平坦判定部501、平坦フラグバッファ502、平坦領域判定部503については第1の実施形態と同様の動作を行うため、ここでは説明を省略する。
図8は、第2の実施形態における特徴検出部116の内部構成例を示すブロック図である。第2の実施形態における特徴検出部116は、第1の実施形態と同様に、符号化対象ブロックが画像の平坦な領域に属しているか否かを判定するための、平坦判定部501、平坦フラグバッファ502、平坦領域判定部503を有する。さらに、特徴検出部116は、符号化対象ブロックが画像のハイライト領域に属しているか否かを判定するための、高輝度判定部804、高輝度フラグバッファ805、ハイライト領域判定部806を有する。
なお、平坦判定部501、平坦フラグバッファ502、平坦領域判定部503については第1の実施形態と同様の動作を行うため、ここでは説明を省略する。
高輝度判定部804は、符号化対象ブロックの入力画像を取得し、当該符号化対象ブロックが高輝度であるか否かを示すフラグ(高輝度フラグ)を生成する。高輝度であるか否かの判定方法には様々な方法が考えられるが、本実施形態では符号化対象ブロックの画素の輝度値の平均値を算出し、算出された平均輝度値が所定の閾値より大きい場合、高輝度であると判定する。また、本実施形態では高輝度であると判定された場合のフラグ値を「1」、高輝度でないと判定された場合のフラグ値を「0」とする。
高輝度フラグバッファ805は、高輝度判定部804から出力される高輝度フラグを一時的に保持する。高輝度フラグバッファ805には、複数の符号化済みブロックの高輝度フラグも保持されており、後述するハイライト領域判定部806は、これらの情報を適宜参照することができる。本実施形態における高輝度フラグバッファ805は、少なくとも符号化対象ブロックの上方向、左斜め上方向、左方向にそれぞれ隣接する符号化済みブロックの高輝度フラグを保持することとする。
ハイライト領域判定部806は、高輝度フラグバッファ805に保持されている符号化対象ブロックの高輝度フラグ、及び複数の符号化済みブロックの高輝度フラグから、符号化対象ブロックが画像のハイライト領域に属しているか否かを判定する。ハイライト領域に属しているか否かの判定方法には様々な方法が考えられるが、本実施形態では、符号化対象ブロックの高輝度フラグが「1」であって、且つ、符号化対象ブロックの上方向、左斜め上方向、左方向に隣接する符号化済みブロックの高輝度フラグのフラグ値が全て「1」である場合に、当該符号化対象ブロックがハイライト領域に属していると判定する。本実施形態ではハイライト領域に属すると判定された場合のフラグ値を「1」、ハイライト領域に属さない判定された場合のフラグ値を「0」とする。
なお、符号化対象ブロックがハイライト領域に属するか否かの判定方法は、図8を用いて説明した例に限られない。例えば、特徴検出部116は、単に符号化対象ブロックの平均輝度値が所定の閾値より大きい場合、当該ブロックがハイライト領域に属しているものとしてもよい。あるいは、特徴検出部116は、あるフレームの符号化処理を開始する以前に、当該フレームのブロックごとの高輝度フラグを判定し、それらの高輝度フラグを高輝度フラグバッファ805へ格納しておくことも可能である。これにより、ハイライト領域判定部806は、符号化対象ブロックに隣接するブロックの高輝度フラグだけではなく、より離れた位置のブロックの高輝度フラグを参照することで、符号化対象ブロックがハイライト領域に属しているか否かの判定精度を向上させることができる。
このようにして、特徴検出部116は、平坦領域フラグ、及びハイライト領域フラグを生成し、予測モード選択部117へ出力する。
図9は、第2の実施形態における予測モード選択部117の予測モードの決定方法を示すフローチャートである。なお、図6に示す処理と同様の処理には同じ参照番号を付し、説明を省略する。
図9に示す第2の実施形態における処理は、図6に示す第1の実施形態における処理に、符号化対象とする動画像がHDR記録、もしくはLog記録された動画像であり、かつ、ハイライト領域に属しているかどうかを判定する処理(S901)を追加したものである。なお、符号化対象とする動画像がHDR記録、もしくはLog記録されたものであるか否かは、CPU(図示せず)等の画像符号化装置の制御元から、予め画像符号化装置に対して通知されるものとする。
図9に示す第2の実施形態における処理は、図6に示す第1の実施形態における処理に、符号化対象とする動画像がHDR記録、もしくはLog記録された動画像であり、かつ、ハイライト領域に属しているかどうかを判定する処理(S901)を追加したものである。なお、符号化対象とする動画像がHDR記録、もしくはLog記録されたものであるか否かは、CPU(図示せず)等の画像符号化装置の制御元から、予め画像符号化装置に対して通知されるものとする。
S901において、符号化対象とする動画像がHDR記録、もしくはLog記録された動画像であり、かつ、ハイライト領域フラグが1である場合、予測モード選択部117はS601へと処理を進める。一方、S901において、符号化対象とする画像がHDR記録、もしくはLog記録された動画像ではない、及び/または、ハイライト領域フラグが1ではない場合、予測モード選択部117はS601の処理をスキップし、S602へと処理を進める。
すなわち、符号化対象とする動画像がHDR記録、もしくはLog記録された動画像であり、且つ、符号化対象ブロックがハイライト領域及び平坦な領域に属し、量子化ステップサイズが大きい場合、予測モード選択部117は画質劣化を重視し、ブロック間で予測画像が異なることに起因する画質劣化が目立ちにくくなるよう動作する(S609~S613)。
一方、上記以外の場合には、予測モード選択部117は符号化効率を重視し、常にコスト値が最小となる予測モードを選択するよう動作する(S602~S608)。
上記の通り第2の実施形態によれば、符号化対象ブロックが属する領域の平坦性、量子化ステップサイズだけでなく、符号化対象とする画像がHDR記録、もしくはLog記録された動画像であるか否か、符号化対象ブロックがハイライト領域に属しているか否かを考慮し、符号化効率を重視するか、画質劣化低減を重視するかを選択する。これにより、HDR画像を符号化する際に符号化効率を損なうことなく、特にハイライト領域に目立ちやすい画質劣化を、従来よりも低減することが可能である。
<他の実施形態>
また、本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
101…フレームバッファ、102…加算器、103…直交変換部、104…量子化部、105…エントロピー符号化部、106…量子化制御部、107…逆量子化部、108…逆直交変換部、109…加算器、110…参照フレームバッファ、111…ループフィルタ、112…イントラ予測部、113…動き情報メモリ、114…動き補償部、115…マルチ参照予測部、116…特徴検出部、117…予測モード選択部、501…平坦判定部、502…平坦フラグバッファ、503…平坦領域判定部、804…高輝度判定部、805…高輝度フラグバッファ、806…ハイライト領域判定部
?
?
Claims (10)
- 入力画像をブロックに分割し、前記入力画像のブロック毎に符号化処理を行う符号化装置であって、
ブロックに対してインター予測を行うことによりインター予測画像を生成し、前記ブロックと前記インター予測画像との差分を符号化するインター予測モードと、
ブロックに対してイントラ予測を行うことによりイントラ予測画像を生成し、前記ブロックと前記イントラ予測画像との差分を符号化するイントラ予測モードと、
ブロックから生成されたインター予測画像とイントラ予測画像とを合成することによりマルチ予測画像を生成し、前記ブロックと前記マルチ予測画像の差分を符号化するマルチ参照予測モード
のうちいずれかの予測モードを用いてブロックごとに符号化処理を実行する符号化手段と、
前記符号化処理の結果を符号化データとして出力する出力手段と、
ブロックを前記インター予測モードで符号化した場合の第1の符号化コストおよび前記ブロックをイントラ予測モードで符号化した場合の第2の符号化コストそれぞれを所定の関数を用いて算出する算出手段と、を備え、
前記符号化手段は、前記第1の符号化コストと前記第2の符号化コストの差分が閾値以下の場合、前記ブロックに対して前記マルチ参照予測モードを用いて符号化処理を実行し、前記第1の符号化コストと前記第2の符号化コストの差分が前記閾値より大きい場合、前記ブロックに対して前記第1の符号化コストと前記第2の符号化コストのうち小さい方の予測モードを用いて符号化処理を実行することを特徴とする符号化装置。 - 前記算出手段は、さらに、前記ブロックを前記マルチ参照予測モードで符号化した場合の第3の符号化コストを所定の関数を用いて算出し、
前記符号化手段は、前記第1の符号化コストと前記第2の符号化コストの差分が閾値より大きい場合、前記第1の符号化コスト、前記第2の符号化コストおよび前記第3の符号化コストのうち最小の予測モードを用いて符号化処理を実行することを特徴とする請求項1に記載の符号化装置。 - 前記符号化手段の符号化対象のブロックは、平坦領域または高輝度領域に含まれることを特徴とする請求項1または2に記載の符号化装置。
- 前記入力画像は高ダイナミックレンジであることを特徴とする請求項1乃至3のいずれか1項に記載の符号化装置。
- 前記符号化処理に用いられる量子化ステップは所定値より大きいことを特徴とする請求項1乃至4のいずれか1項に記載の符号化装置。
- 前記マルチ予測画像は、前記インター予測画像と前記イントラ予測画像それぞれを重みづけして合成することにより生成されることを特徴とする請求項1乃至5のいずれか1項に記載の符号化装置。
- 前記符号化コストは、前記入力画像と、前記予測画像に前記差分を加算して復号された参照画像とを減算処理して得られた差分をアダマール変換したものに対する差分絶対値和、量子化パラメータおよび符号量に基づいて算出されることを特徴とする請求項1乃至6のいずれか1項に記載の符号化装置。
- 入力画像をブロックに分割し、前記入力画像のブロック毎に符号化処理を行う符号化方法であって、
ブロックに対してインター予測を行うことによりインター予測画像を生成し、前記ブロックと前記インター予測画像との差分を符号化するインター予測モードと、
ブロックに対してイントラ予測を行うことによりイントラ予測画像を生成し、前記ブロックと前記イントラ予測画像との差分を符号化するイントラ予測モードと、
ブロックから生成されたインター予測画像とイントラ予測画像とを合成することによりマルチ予測画像を生成し、前記ブロックと前記マルチ予測画像の差分を符号化するマルチ参照予測モード
のうちいずれかの予測モードを用いてブロックごとに符号化処理を実行するステップと、
前記符号化処理の結果を符号化データとして出力するステップと、
ブロックを前記インター予測モードで符号化した場合の第1の符号化コストおよび前記ブロックをイントラ予測モードで符号化した場合の第2の符号化コストそれぞれを所定の関数を用いて算出するステップとを備え、
前記第1の符号化コストと前記第2の符号化コストの差分が閾値以下の場合、前記ブロックに対して前記マルチ参照予測モードを用いて符号化処理が実行され、前記第1の符号化コストと前記第2の符号化コストの差分が前記閾値より大きい場合、前記第1の符号化コストと前記第2の符号化コストのうち小さい方の予測モードを用いて符号化処理が実行されることを特徴とする符号化方法。 - コンピュータを、請求項1乃至7のいずれか1項に記載の符号化装置の各手段として機能させるためのプログラム。
- 請求項9に記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020237030497A KR20230144056A (ko) | 2021-03-19 | 2022-01-31 | 부호화 장치 및 방법 |
PCT/JP2022/003498 WO2022196133A1 (ja) | 2021-03-19 | 2022-01-31 | 符号化装置及び方法 |
BR112023018439A BR112023018439A2 (pt) | 2021-03-19 | 2022-01-31 | Aparelho e método de codificação |
CN202280022551.0A CN117044196A (zh) | 2021-03-19 | 2022-01-31 | 编码设备和方法 |
EP22770895.5A EP4311235A1 (en) | 2021-03-19 | 2022-01-31 | Encoding device and method |
US18/457,441 US20230403399A1 (en) | 2021-03-19 | 2023-08-29 | Coding apparatus and method, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021046238 | 2021-03-19 | ||
JP2021046238 | 2021-03-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022145499A true JP2022145499A (ja) | 2022-10-04 |
Family
ID=83460374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022003254A Pending JP2022145499A (ja) | 2021-03-19 | 2022-01-12 | 符号化装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022145499A (ja) |
-
2022
- 2022-01-12 JP JP2022003254A patent/JP2022145499A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11902563B2 (en) | Encoding and decoding method and device, encoder side apparatus and decoder side apparatus | |
JP4373702B2 (ja) | 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム | |
RU2446618C2 (ru) | Способ кодирования и способ декодирования видео, устройства для их осуществления и носители памяти, хранящие программы | |
KR101814890B1 (ko) | 인코딩 방법 및 장치, 디코딩 방법 및 장치, 및 컴퓨터 판독가능 저장 매체 | |
WO2009084340A1 (ja) | 動画像符号化装置、および、動画像復号装置 | |
WO2010143583A1 (ja) | 画像処理装置および方法 | |
US20120027092A1 (en) | Image processing device, system and method | |
JP2005159419A (ja) | 画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP4774315B2 (ja) | 画像復号化装置及び画像復号化方法 | |
WO2010016534A1 (ja) | 動画像符号化装置および動画像復号装置 | |
CN111201795A (zh) | 存储访问窗口和用于运动矢量修正的填充 | |
JP5441812B2 (ja) | 動画像符号化装置、及びその制御方法 | |
CN114009021A (zh) | 用于视频编解码的预测相关残差缩放的方法和装置 | |
JP6457248B2 (ja) | 画像復号装置、画像符号化装置および画像復号方法 | |
WO2022196133A1 (ja) | 符号化装置及び方法 | |
JP2010226528A (ja) | 符号化装置およびその方法 | |
JP2022145499A (ja) | 符号化装置及び方法 | |
JP7228980B2 (ja) | 予測画像補正装置、画像符号化装置、画像復号装置、及びプログラム | |
CN115315948A (zh) | 用于视频编解码的预测相关残差缩放的方法和装置 | |
JP2020058075A (ja) | 動画像予測符号化装置、動画像予測復号装置、動画像予測符号化方法、動画像予測復号方法及び記録媒体 | |
JP4719108B2 (ja) | 映像符号化方法、映像符号化装置、映像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN113994684A (zh) | 用于针对视频编解码的预测相关残差缩放的方法和设备 | |
WO2010061515A1 (ja) | 動画像符号化装置及び符号化方法、動画像復号化装置及び復号化方法 | |
JP6646125B2 (ja) | 動画像予測復号方法及び動画像予測復号装置 | |
CN117044196A (zh) | 编码设备和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220125 |