(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022183942
(43)【公開日】2022-12-13
(54)【発明の名称】符号化装置及びプログラム
(51)【国際特許分類】
H04N 19/115 20140101AFI20221206BHJP
H04N 19/126 20140101ALI20221206BHJP
H04N 19/154 20140101ALI20221206BHJP
H04N 19/19 20140101ALI20221206BHJP
【FI】
H04N19/115
H04N19/126
H04N19/154
H04N19/19
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021091496
(22)【出願日】2021-05-31
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100161148
【弁理士】
【氏名又は名称】福尾 誠
(72)【発明者】
【氏名】近藤 雄一
(72)【発明者】
【氏名】森田 泰子
(72)【発明者】
【氏名】市ヶ谷 敦郎
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159TA46
5C159TA60
5C159TB08
5C159TC08
5C159TC19
5C159TD16
(57)【要約】
【課題】高解像度の映像を所要ビットレートで符号化する際の画質及び符号化効率を向上させる。
【解決手段】映像シーケンスを符号化対象領域に分割し、一定のビットレート以下となるように、符号化対象領域ごとに量子化パラメータを決定して符号化を行う符号化装置(1)は、ビットレートと符号化歪みとの関係を示すRD関数を用いて量子化パラメータを算出する量子化パラメータ算出部(101)と、量子化パラメータを用いて符号化対象領域の量子化を行う量子化部(14)と、を備える。RD関数は、ビットレートの対数関数を用いた単調減少関数である。
【選択図】
図1
【特許請求の範囲】
【請求項1】
映像シーケンスを符号化対象領域に分割し、一定のビットレート以下となるように、符号化対象領域ごとに量子化パラメータを決定して符号化を行う符号化装置であって、
ビットレートと符号化歪みとの関係を示すRD関数を用いて量子化パラメータを算出する量子化パラメータ算出部と、
前記量子化パラメータを用いて前記符号化対象領域の量子化を行う量子化部と、
を備え、
前記RD関数は、ビットレートの対数関数を用いた単調減少関数である、符号化装置。
【請求項2】
映像シーケンスを符号化対象領域に分割し、一定のビットレート以下となるように、符号化対象領域ごとに量子化パラメータを決定して符号化を行う符号化装置であって、
ビットレートと符号化歪みの関係を示すRD関数を決定するための切替指標を算出する切替指標算出部と、
前記切替指標に基づいて、あらかじめ定められた複数のRD関数から、前記符号化対象領域ごとにRD関数を決定するRD関数決定部と、
前記RD関数決定部により決定されたRD関数を用いて前記量子化パラメータを算出する量子化パラメータ算出部と、
前記量子化パラメータを用いて前記符号化対象領域の量子化を行う量子化部と、
を備える符号化装置。
【請求項3】
前記切替指標算出部は、画素当たりのビットレート又は符号化難度を前記切替指標として算出する、請求項2に記載の符号化装置。
【請求項4】
前記複数のRD関数は、ビットレートのべき関数を用いた単調減少関数と、ビットレートの対数関数を用いた単調減少関数と、を含む、請求項2又は3に記載の符号化装置。
【請求項5】
前記切替指標算出部は、画素当たりのビットレートを前記切替指標として算出し、
前記複数のRD関数は、ビットレートのべき関数を用いた単調減少関数である第1のRD関数と、ビットレートの対数関数を用いた単調減少関数である第2のRD関数と、を含み、
前RD関数決定部は、前記切替指標が閾値以上である場合には前記第1のRD関数を選択し、前記切替指標が前記閾値未満である場合には前記第2のRD関数を選択する、請求項2に記載の符号化装置。
【請求項6】
前記切替指標算出部は、符号化難度を前記切替指標として算出し、
前記複数のRD関数は、ビットレートのべき関数を用いた単調減少関数である第1のRD関数と、ビットレートの対数関数を用いた単調減少関数である第2のRD関数と、を含み、
前RD関数決定部は、前記切替指標が閾値未満である場合には前記第1のRD関数を選択し、前記切替指標が前記閾値以上である場合には前記第2のRD関数を選択する、請求項2に記載の符号化装置。
【請求項7】
コンピュータを、請求項1から6のいずれか一項に記載の符号化装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化装置及びプログラムに関する。
【背景技術】
【0002】
可変長符号化を用いる映像符号化手法では映像に応じて発生する符号量が大きく変化する。したがって、符号量(ビットレート)に制約がある条件下で画質を最大化するためには符号化制御技術が必要となる。符号化制御技術には、目的のビットレートとなるように制御を行うレート制御と、与えられた符号量に対して最適なモード選択を行う最適化処理の2つの要素がある。
【0003】
レート制御では、与えられた符号量と使用済みの符号量から使用可能な符号量をフレームやブロックごとに割り当て、割り当てられた符号量に納まるように量子化パラメータの値を制御する。最適化処理では、符号量R、符号化歪みD、及びラグランジュの未定乗数λから計算されるコスト関数J=D+λRを最小化するような予測モードを用いることで最も効率がよいモードを選択する(例えば、非特許文献1参照)。ただし、未定乗数λはシーケンスによって異なる値であるため、未定乗数λの導出手法についても符号化制御技術の1つとなっている。一般的に、コスト関数Jを最小化する点においてRで微分すると0になることを用いて、λ=-∂D/∂Rと計算できることを利用する。
【0004】
近年のHEVC(High Efficiency Video Coding),VVC(Versatile Video Coding)などの映像符号化規格の参照ソフトウェアHM(HEVC Test Model)、VTM(VVC Test Model)では、事前に定められた、ビットレートRと符号化歪みDとの関係を示すRD関数(レート歪み関数)を用いて最適化を行う。ただし、RD関数のパラメータは映像ごとに異なる。そこで、このパラメータを符号化済みのフレームから見積もることで映像固有のRD関数を導出し、偏微分を行うことで未定乗数λを計算する。適切な未定乗数λが得られたら、コスト関数Jを最小化するモードを選択すればよい。このとき量子化パラメータについてもあらゆる値をとり得るが、HM,VTMでは未定乗数λの値から量子化パラメータを直接計算して求める手法を用いており、符号化制御の2つの要素であるレート制御と最適化処理はほぼ一体化している(例えば、非特許文献2参照)。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】大久保榮、「H265/HEVC教科書」、初版、インプレスジャパン、2013年10月21日発行
【非特許文献2】Li et al., “Optimal Bit Allocation for CTU Level Rate Control in HEVC,” IEEE Trans. Circuits Syst. Video Technol., 2017
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、HM及びVTMで利用しているこのRD関数は、2K以下の低解像度の映像を用いてHMで実験して得られた結果をもとにして作成された関数である。そのため、4Kや8Kのような高解像度の映像符号化や、HMではなくVTMを用いた符号化においても適切な式であるかわかっていない。RD関数が正確ではない場合、得られる未定乗数λ及び量子化パラメータも最適なものではなく、無駄なレートの消費や不正確な符号量制御といった問題が生じる。VVCが規格化され高解像度映像のサービスが増えている現状を踏まえて、この問題点を解決するための符号化制御技術が必要となっている。
【0007】
かかる事情に鑑みてなされた本発明の目的は、高解像度の映像を所要ビットレートで符号化する際の画質及び符号化効率を向上させることが可能な符号化装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するため、一実施形態に係る符号化装置は、映像シーケンスを符号化対象領域に分割し、一定のビットレート以下となるように、符号化対象領域ごとに量子化パラメータを決定して符号化を行う符号化装置であって、ビットレートと符号化歪みとの関係を示すRD関数を用いて量子化パラメータを算出する量子化パラメータ算出部と、前記量子化パラメータを用いて前記符号化対象領域の量子化を行う量子化部と、を備え、前記RD関数は、ビットレートの対数関数を用いた単調減少関数であることを特徴とする。
【0009】
また、一実施形態に係る符号化装置は、映像シーケンスを符号化対象領域に分割し、一定のビットレート以下となるように、符号化対象領域ごとに量子化パラメータを決定して符号化を行う符号化装置であって、ビットレートと符号化歪みの関係を示すRD関数を決定するための切替指標を算出する切替指標算出部と、前記切替指標に基づいて、あらかじめ定められた複数のRD関数から、前記符号化対象領域ごとにRD関数を決定するRD関数決定部と、前記RD関数決定部により決定されたRD関数を用いて前記量子化パラメータを算出する量子化パラメータ算出部と、前記量子化パラメータを用いて前記符号化対象領域の量子化を行う量子化部と、を備えることを特徴とする。
【0010】
さらに、一実施形態において、前記切替指標算出部は、画素当たりのビットレート又は符号化難度を前記切替指標として算出してもよい。
【0011】
さらに、一実施形態において、前記複数のRD関数は、ビットレートのべき関数を用いた単調減少関数と、ビットレートの対数関数を用いた単調減少関数と、を含んでもよい。
【0012】
さらに、一実施形態において、前記切替指標算出部は、画素当たりのビットレートを前記切替指標として算出し、前記複数のRD関数は、ビットレートのべき関数を用いた単調減少関数である第1のRD関数と、ビットレートの対数関数を用いた単調減少関数である第2のRD関数と、を含み、前RD関数決定部は、前記切替指標が閾値以上である場合には前記第1のRD関数を選択し、前記切替指標が前記閾値未満である場合には前記第2のRD関数を選択するようにしてもよい。
【0013】
さらに、一実施形態において、前記切替指標算出部は、符号化難度を前記切替指標として算出し、前記複数のRD関数は、ビットレートのべき関数を用いた単調減少関数である第1のRD関数と、ビットレートの対数関数を用いた単調減少関数である第2のRD関数と、を含み、前RD関数決定部は、前記切替指標が閾値未満である場合には前記第1のRD関数を選択し、前記切替指標が前記閾値以上である場合には前記第2のRD関数を選択するようにしてもよい。
【0014】
また、一実施形態係るプログラムは、コンピュータを、上記符号化装置として機能させる。
【発明の効果】
【0015】
本発明によれば、高解像度の映像を所要ビットレートで符号化する際の画質及び符号化効率を向上させることが可能となる。
【図面の簡単な説明】
【0016】
【
図1】一実施形態に係る符号化装置の構成例を示すブロック図である。
【
図2】第1の実施形態に係るレート制御部の構成例を示すブロック図である。
【
図3】第2の実施形態に係るレート制御部の構成例を示すブロック図である。
【
図4】第2の実施形態に係るレート制御部の処理手順の一例を示すフローチャートである。
【
図6】一実施形態に係る復号装置の構成例を示すブロック図である。
【発明を実施するための形態】
【0017】
以下、一実施形態について、図面を参照して詳細に説明する。
【0018】
(符号化装置)
図1に、本発明の一実施形態に係る符号化装置の構成例を示す。
図1に示す符号化装置1は、レート制御部10と、ブロック分割部11と、減算部12と、変換部13と、量子化部14と、逆量子化部15と、逆変換部16と、加算部17と、記憶部18と、予測部19と、エントロピー符号化部20と、を備える。
【0019】
符号化装置1は、映像シーケンスを符号化対象領域に分割し、一定のビットレート以下となるように、符号化対象領域ごとに量子化パラメータを決定して符号化を行う。
【0020】
ブロック分割部11は、映像シーケンスを符号化対象フレーム単位又は符号化対象ブロック単位の符号化対象領域へ分割したブロック画像を生成し、減算部12及び予測部19に出力する。
【0021】
減算部12は、ブロック分割部11から入力したブロック画像の各画素値から、後述する予測部19から入力した予測ブロック画像の各画素値を減算して、ブロック画像と予測ブロック画像との差を示す残差ブロック画像を生成し、変換部13に出力する。
【0022】
変換部13は、減算部12から入力した残差ブロック画像に対して、直交変換などの変換処理を行って変換係数を算出し、量子化部14に出力する。
【0023】
レート制御部10は、残差ブロック画像の量子化を行う際の量子化パラメータを適切に決定することにより、レート制御を行う。レート制御部10の処理の詳細については後述する。レート制御部10は、決定した量子化パラメータを量子化部14及びエントロピー符号化部20に出力する。
【0024】
量子化部14は、変換部13から入力した変換係数を、レート制御部10から入力した量子化パラメータに対応する量子化ステップ(例えば、量子化パラメータと量子化ステップの対数が比例するように対応付けられる。)で除算して量子化することにより量子化係数を生成し、逆量子化部15及びエントロピー符号化部20に出力する。量子化部14により、データ量の削減が行われる。
【0025】
逆量子化部15は、量子化部14から入力した量子化係数に対して、量子化ステップを乗ずることにより変換係数を復元し、逆変換部16に出力する。
【0026】
逆変換部16は、逆量子化部15から入力した変換係数に対して、逆変換処理(変換部13で行った変換を元に戻す処理)を行って残差ブロック画像を復元し、加算部17に出力する。例えば、変換部13が離散コサイン変換を行った場合には、逆変換部16は逆離散コサイン変換を行う。
【0027】
加算部17は、逆変換部16から入力した残差ブロック画像と、予測部19から入力した予測画像とを加算し、符号化画像として記憶部18に出力する。
【0028】
逆量子化部15、逆変換部16、及び加算部17により、符号化画像生成部(局所復号部)を構成する。すなわち、符号化画像生成部は、量子化係数に対して量子化ステップを乗じて変換係数を復元し、該変換係数に対して逆変換処理を行って残差ブロック画像を復元し、該残差ブロック画像とイントラ予測画像又は動き補償予測画像とを加算して符号化画像を生成する。
【0029】
符号化装置1は、加算部17が出力する符号化画像に対してデブロッキングフィルタによるフィルタ処理などの後処理を行ってから、記憶部18に出力してもよい。
【0030】
記憶部18は、加算部17から入力した符号化画像を記憶する。
【0031】
予測部19は、イントラ予測(画面内予測)、又はインター予測(画面間予測、動き補償予測)を行う。イントラ予測では、記憶部18に記憶された符号化画像に対して、イントラ予測モードに従ってイントラ予測したイントラ予測画像を生成する。インター予測では、記憶部18に記憶された符号化画像に対して、動きベクトルに従って動き補償予測した動き補償予測画像を生成する。予測部19は、イントラ予測画像と動き補償予測画像とを切替えて予測ブロック画像とし、減算部12及び加算部17に出力する。予測部19は、予測処理に用いられた予測パラメータ(イントラ予測モード及び動きベクトル情報)をエントロピー符号化部20に出力する。
【0032】
エントロピー符号化部20は、量子化部14から入力した量子化係数、レート制御部10から入力した量子化パラメータ、及び予測部19から入力した予測パラメータに対してエントロピー符号化を行い、データ圧縮を行ってビットストリームを生成し、符号化装置1の外部に出力する。エントロピー符号化は、0次指数ゴロム符号やコンテキスト適応型2値算術符号(CABAC:Context-based Adaptive Binary Arithmetic Coding)など、任意のエントロピー符号化方式を用いることができる。
【0033】
(第1の実施形態に係る制御部)
次に、レート制御部10の処理について説明する。
図2に、第1の実施形態に係るレート制御部10-1の構成例を示す。
図2に示すレート制御部10-1は、量子化パラメータ算出部101を備える。
【0034】
量子化パラメータ算出部101は、ビットレートRと符号化歪みDとの関係を示すRD関数を用いて量子化パラメータQPを算出する。ここで、量子化パラメータ算出部101は、従来のRD関数とは異なる、下記のRD関数を用いる。このRD関数は、ビットレートRの対数関数log(R)を用いた単調減少関数である。対数関数の底はネイピア数eである必要はないが、演算のしやすさを考慮して本実施形態では対数関数を自然対数関数としている。
【0035】
【0036】
ラグランジュの未定乗数(以下、単に「未定乗数」という。)λを-∂D/∂Rとすると、未定乗数λは次式で計算される。
【0037】
【0038】
この対数関数を利用した場合のパラメータは1つ(γ)である。量子化パラメータ算出部101は、符号化フレーム又は符号化対象領域ごとに、符号化済みのフレーム又ブロックのビットレートRa及び未定乗数λaを用いて、次式によりパラメータγを計算する。なお、ビットレートRaは、エントロピー符号化部20から入力したビットストリームから算出される。
【0039】
【0040】
未定乗数λは、式(3)で得られたγと、ターゲットビットレートRtとを用いて、次式により計算される。
【0041】
【0042】
量子化パラメータ算出部101は、式(4)で得られた未定乗数λを用いて、次式によって、符号化フレーム又は符号化対象領域ごとに量子化パラメータQPを算出する。この式は、従来の映像符号化規格の参照ソフトウェアで用いられている式であるが、量子化パラメータQPの導出式はこれに限られるものではない。量子化パラメータ算出部101は、このようにして算出した量子化パラメータを量子化部14に出力する。
【0043】
【0044】
(第2の実施形態に係る制御部)
図3に、第2の実施形態に係るレート制御部10-2の構成例を示す。
図3に示すレート制御部10-2は、切替指標算出部102と、RD関数決定部103と、量子化パラメータ算出部101’と、を備える。
【0045】
切替指標算出部102は、RD関数決定部103においてRD関数を決定するための切替指標を算出し、RD関数決定部103に出力する。以下に、切替指標の例を2つ示す。
【0046】
<第1の切替指標>
切替指標算出部102は、符号化対象領域の画素当たりのビットレートBppを第1の切替指標とする。画素当たりのビットレートBppは、映像シーケンスの画素数(解像度)をN、ターゲットビットレートをBt、フレームレートをfとしたとき、次式で算出される。
【0047】
【0048】
<第2の切替指標>
切替指標算出部102は、符号化対象領域の符号化難度Xを第2の切替指標とする。符号化難度Xは、符号化対象領域の符号化時のビットレートRa及び符号化歪みDaと、事前に定める定数rとを用いて、次式により定義することができる。次式は、符号化歪みDaを表す評価値がMSE(Mean Square Error)である場合の式である。この場合、定数rは例えば0.3である。符号化歪みDaを表す評価値はMSEに限られるものではなく、PSNR(Peak signal-to-noise ratio)など、画質を客観的に表す任意のものであってもよい。符号化難度Xは、評価値に応じて異なる式であってもよいし、解像度やフレームレートなどの映像パラメータに応じて異なる式であってもよい。
【0049】
【0050】
RD関数決定部103は、切替指標算出部102から入力した切替指標に基づいて、あらかじめ定められた複数のRD関数から、符号化対象領域ごとにRD関数を決定する。RD関数決定部103は、決定したRD関数を示す情報を量子化パラメータ算出部101’に出力する。
【0051】
複数のRD関数は、ビットレートRのべき関数Rnを用いた単調減少関数(第1のRD関数)と、ビットレートRの対数関数log(R)を用いた単調減少関数(第2のRD関数)と、を含む。第1のRD関数は、例えば、従来のVVCの参照ソフトウェアVTMなどで用いられているRD関数である。第2のRD関数は、例えば、上記式(1)に示したRD関数である。本実施形態では複数のRD関数が第1のRD関数と第2のRD関数の2つである場合について説明するが、さらに他のRD関数を含んでいてもよい。例えば他のRD関数として、次式に示すような、ビットレートRの指数関数を用いた単調減少関数を更に含んでいてもよい。
【0052】
【0053】
<第1の切替指標に基づく切り替え>
RD関数決定部103は、切替指標算出部102から画素当たりのビットレートBppを切替指標として入力した場合、切替指標Bppが第1の閾値T1以上である場合には第1のRD関数を選択し、切替指標Bppが第1の閾値T1未満である場合には第2のRD関数を選択することにより、レート制御を行う。4K以上の解像度では切替指標Bppによらず常に第2のRD関数を選択するなど、さらに条件を加えてもよい。
【0054】
第1の閾値T1は、例えば4K60Hzのシーケンスを30Mbpsで符号化する場合と同等の値とする場合には、Bpp=(30×106)/(3840×2160×60)≒0.06となる。
【0055】
<第2の切替指標に基づく切り替え>
RD関数決定部103は、切替指標算出部102から符号化難度Xを切替指標として入力した場合、切替指標Xが第2の閾値T2未満である場合には第1のRD関数を選択し、切替指標Xが第2の閾値T2以上である場合には第2のRD関数を選択することにより、レート制御を行う。
【0056】
符号化歪みDaを表す評価値はMSEである場合、第2の閾値T2は例えば5.0である。第2の閾値T2は、符号化歪みDaを表す評価値や映像パラメータに応じて異なる値であってもよい。
【0057】
量子化パラメータ算出部101’は、RD関数決定部103により決定されたRD関数を用いて量子化パラメータを算出する。従来のVVCの参照ソフトウェアVTMなどで用いられている第1のRD関数は、次式で表される。なお、第1のRD関数は次式に限定されるものではなく、例えば定数項を含んでいてもよい。
【0058】
【0059】
式(9)から、未定乗数λは次式により計算される。
【0060】
【0061】
量子化パラメータ算出部101’は、第1のRD関数を用いる場合、符号化フレーム又は符号化対象領域ごとに、符号化済みのフレーム又ブロックのビットレートRa及び未定乗数λaを用いて、式(10)のパラメータα,βを計算する。そして、量子化パラメータ算出部101’は、計算したパラメータα,βから未定乗数λを求め、上記式(5)によって符号化フレーム又は符号化対象領域ごとに量子化パラメータを算出する。
【0062】
量子化パラメータ算出部101’は、第2のRD関数を用いる場合、上述したように式(4)により未定乗数λを求め、上記式(5)によって符号化フレーム又は符号化対象領域ごとに量子化パラメータを算出する。
【0063】
図4に、レート制御部10-2による制御処理手順を示す。
【0064】
ステップS101では、切替指標算出部102により、ビットレートと符号化歪みの関係を示すRD関数を決定するための切替指標を算出する。
【0065】
ステップS102では、RD関数決定部103により、ステップS101で算出された切替指標に基づいて、あらかじめ定められた複数のRD関数から、符号化対象領域ごとにRD関数を決定する。例えば、切替指標を閾値と比較することによりRD関数を決定する。
【0066】
ステップS103では、量子化パラメータ算出部101’により、ステップS102で決定されたRD関数を用いて量子化パラメータを算出する。
【0067】
以上説明したように、本発明では、従来とは異なるRD関数を用いて量子化パラメータを算出する。本発明による効果を、
図5を参照して説明する。
【0068】
図5は、符号化難度が比較的高い4K映像のRD曲線を示す図である。横軸はビットレートRであり、縦軸は符号化歪みDの評価値MSEである。
図5(a)は、従来の第1のRD関数を用いた場合のRD曲線である。具体的には第1のRD関数をD=11555R
-0.627としている。この場合の決定係数R
2は、0.979であった。
図5(b)は、本発明で新たに追加した第2のRD関数を用いた場合のRD曲線である。具体的には第2のRD関数をD=-1244ln(R)+5876としている。この場合の決定係数R
2は、0.990であった。
【0069】
このように、本発明では、高解像度の映像を所要ビットレートで符号化する際に、第2のRD関数を用いることで、従来よりも高い精度でフィッテングし得る。そのため、RD関数から得られる量子化パラメータをより適切な値とすることができる。したがって、高解像度の映像を所要ビットレートで符号化する際の画質及び符号化効率を向上させることが可能となる。なお、本発明は、多種多様な映像符号化規格に適用することができる。
【0070】
また、RD関数をビットレートの対数関数を用いた単調減少関数とすることにより、未定乗数λを計算する際のパラメータが式(2)に示すように1つになるため、計算コストを削減することができる。対数関数を自然関数とすることにより、更に計算コストを削減することができる。
【0071】
また、本発明では、RD関数を複数用意し、切替指標に基づいてRD関数を決定するようにしてもよい。これにより、符号化する映像の特徴に基づいて量子化パラメータを決定することができるため、様々な映像シーケンスに対して、画質及び符号化効率を向上させることが可能となる。
【0072】
(復号装置)
次に、本発明の一実施形態に係る復号装置について説明する。
図6に、本発明の一実施形態に係る復号装置の構成例を示す。
図6に示す復号装置2は、エントロピー復号部31と、逆量子化部32と、逆変換部33と、加算部34と、記憶部35と、予測部36と、を備える。復号装置2は、上記の符号化装置1によって符号化されたビットストリームを復号する。
【0073】
エントロピー復号部31は、符号化装置1が出力するビットストリームを復号し、量子化パラメータ、量子化係数、及び予測パラメータ(イントラ予測モード及び動きベクトル情報)を取得する。そして、エントロピー復号部31は、量子化パラメータ及び量子化係数を逆量子化部32に出力し、予測パラメータを予測部36に出力する。
【0074】
逆量子化部32は、エントロピー復号部31から量子化係数及び量子化パラメータを入力し、量子化係数に量子化パラメータから導出される量子化ステップを乗算してブロックごとの直交変換係数を復元し、逆変換部33に出力する。
【0075】
逆変換部33は、逆量子化部32から入力した直交変換係数に対して逆変換を行って残差画像を生成し、加算部34に出力する。
【0076】
加算部34は、逆変換部33から入力した残差画像と、予測部36から入力した予測画像の各画素値を加算して復号画像を生成し、記憶部35及び復号装置2の外部に出力する。
【0077】
復号装置2は、符号化装置1と同様に、加算部34が出力する復号画像に対してデブロッキングフィルタによるフィルタ処理などの後処理を行ってから、記憶部35に出力してもよい。
【0078】
記憶部35は、加算部34から入力した復号画像を記憶する。
【0079】
予測部36は、イントラ予測(画面内予測)、又はインター予測(画面間予測、動き補償予測)を行う。イントラ予測では、記憶部35に記憶された復号画像に対して、エントロピー復号部31から入力したイントラ予測モードに従ってイントラ予測したイントラ予測画像を生成する。インター予測では、記憶部35に記憶された復号画像に対して、エントロピー復号部31から入力した動きベクトル情報に従って動き補償予測した動き補償予測画像を生成する。予測部36は、イントラ予測画像と動き補償予測画像とを切替えて予測ブロック画像とし、加算部34に出力する。
【0080】
(プログラム)
上述した符号化装置1及び復号装置2として機能させるために、それぞれプログラム命令を実行可能なコンピュータを用いることも可能である。ここで、コンピュータは、汎用コンピュータ、専用コンピュータ、ワークステーション、PC(Personal Computer)、電子ノートパッドなどであってもよい。プログラム命令は、必要なタスクを実行するためのプログラムコード、コードセグメントなどであってもよい。
【0081】
コンピュータは、プロセッサと、記憶部と、入力部と、出力部と、通信インターフェースとを備える。プロセッサは、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)、SoC(System on a Chip)などであり、同種又は異種の複数のプロセッサにより構成されてもよい。プロセッサは、記憶部からプログラムを読み出して実行することで、上記各構成の制御及び各種の演算処理を行う。なお、これらの処理内容の少なくとも一部をハードウェアで実現することとしてもよい。入力部は、ユーザの入力操作を受け付けてユーザの操作に基づく情報を取得する入力インターフェースであり、ポインティングデバイス、キーボード、マウスなどである。出力部は、情報を出力する出力インターフェースであり、ディスプレイ、スピーカなどである。通信インターフェースは、外部の装置と通信するためのインターフェースであり、例えばLAN(Local Area Network)インターフェースである。
【0082】
プログラムは、コンピュータが読み取り可能な記録媒体に記録されていてもよい。このような記録媒体を用いれば、プログラムをコンピュータにインストールすることが可能である。ここで、プログラムが記録された記録媒体は、非一過性(non-transitory)の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROM、DVD-ROM、USB(Universal Serial Bus)メモリなどであってもよい。また、このプログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【0083】
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形又は変更が可能である。例えば、実施形態の構成図に記載の複数の構成ブロックを統合したり、1つの構成ブロックを分割したりすることが可能である。
【符号の説明】
【0084】
1 符号化装置
2 復号装置
10,10-1,10-2 レート制御部
11 ブロック分割部
12 減算部
13 変換部
14 量子化部
15 逆量子化部
16 逆変換部
17 加算部
18 記憶部
19 予測部
20 エントロピー符号化部
31 エントロピー復号部
32 逆量子化部
33 逆変換部
34 加算部
35 記憶部
36 予測部
101,101’ 量子化パラメータ算出部
102 切替指標算出部
103 RD関数決定部