JP4768779B2 - 動画像符号化/復号化の方法及び装置 - Google Patents

動画像符号化/復号化の方法及び装置 Download PDF

Info

Publication number
JP4768779B2
JP4768779B2 JP2008145168A JP2008145168A JP4768779B2 JP 4768779 B2 JP4768779 B2 JP 4768779B2 JP 2008145168 A JP2008145168 A JP 2008145168A JP 2008145168 A JP2008145168 A JP 2008145168A JP 4768779 B2 JP4768779 B2 JP 4768779B2
Authority
JP
Japan
Prior art keywords
quantization
prediction
signal
encoding
pixel block
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.)
Expired - Fee Related
Application number
JP2008145168A
Other languages
English (en)
Other versions
JP2008206211A (ja
JP2008206211A5 (ja
Inventor
昭行 谷沢
健 中條
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008145168A priority Critical patent/JP4768779B2/ja
Publication of JP2008206211A publication Critical patent/JP2008206211A/ja
Publication of JP2008206211A5 publication Critical patent/JP2008206211A5/ja
Application granted granted Critical
Publication of JP4768779B2 publication Critical patent/JP4768779B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、動画像または静止画像のための画像符号化/復号化方法及び装置に関する。
近年、従来よりも大幅に符号化効率を向上させた動画像符号化方法が、ITU−TとISO/IECとの共同で、ITU−T Rec.H.264及びISO/IEC 14496−10として勧告されている(非特許文献1)(以下、「H.264」という)。ISO/IEC MPEG−1,2,4、ITU−T H.261、H.263といった従来の符号化方式は8×8ブロックの2次元DCTを用いた圧縮を用いるのに対して、H.264では4×4ブロックの2次元整数直交変換を用いているため、IDCTミスマッチを考慮する必要が無く、16ビットレジスタによる演算が可能な方式となっている。また、直交変換処理及び量子化処理が加算及びビットシフトにより実現することが可能な方式となっている。逆量子化処理及び逆整数直交変換処理も、直交変換及び量子化処理と同様、加算及びビットシフトによって実現することが可能な方式となっている。さらにH.264ではハイビジョン画像などの高解像度画像に対して符号化効率の向上や主観画質の向上を実現するために、新しい符号化ツールを盛り込んだプロファイルの策定が行われつつある。例えば、H.264のHighプロファイル(非特許文献2)では、8×8ブロックの2次元整数直交変換や、MPEG−2などで見られた量子化マトリクス技術(非特許文献3)が導入される見込みとなっており、高解像度画像や主観画質に主眼を置いたプロファイルとなっている。
画像符号化における一般的な量子化処理は次式(1)に基づいて行われる。
Figure 0004768779
ここでXijは量子化された変換係数行列、Qstepは量子化ステップ、Yijは量子化前の変換係数行列を示している。一方、一般的な逆量子化処理は次式(2)に基づいて行われる。
Figure 0004768779
H.264では、少ない演算で16ビットでの演算精度を実現するために、次式のような逆量子化を行う。例としてH.264 Highプロファイルの逆量子化処理(誤差信号4×4画素ブロック)を式(3)に示す。
Figure 0004768779
ここで、レベルスケールLS(m,i,j)は、式(4)で定義される値で、QPは、0から51までの値をとる量子化パラメータである。
Figure 0004768779
Norm(m,i,j)は数式(5)で表されるスケール調整パラメータで各要素は式(6)で表されている。またWS(i,j)は量子化マトリクスを表し、例えば式(7)のようなマトリクスを選択できる。
Figure 0004768779
Figure 0004768779
Figure 0004768779
H.264では、式(3)のQP値(量子化パラメータ)はマクロブロック内で同じ値を取るように規定されている。また、Highプロファイルで4×4ブロックと8×8ブロックの2種類が変換ブロックサイズとして取りうる。同時に量子化処理も4×4ブロックと8×8ブロックの2種類が量子化ブロックサイズとされている。
例えばH.264のイントラ予測(フレーム内予測)は、4×4ブロックと8×8ブロックでそれぞれ9モード、16×16ブロックで4モードが規定されており、取りうる予測モードやブロックサイズに応じて生成される予測誤差を直交変換した変換係数の分布は、各ブロックによって異なる。同様にインター予測(フレーム間予測)では、7種類の動き補償ブロックサイズの中から任意のブロックを選択可能であり、複数の参照画像から得られる動きベクトルによる予測の組み合わせは多数存在する。よってマクロブロック内で予測ブロックサイズ及び参照画像が異なるために、予測誤差を直交変換した変換係数の分布の傾向は、ブロック毎に異なる場合がある。
また、H.264では、シークエンス毎、あるいはピクチャ毎に量子化マトリクスを切り替えることが可能である。量子化マトリクスは、特に主観画質の向上に大きく貢献するため、符号化する画像に応じて最適なマトリクスを設計することが重要である。しかし、本来、マトリクスは周波数面の係数分布に重みを加えるものであるため、係数分布が異なると画素領域毎に最適なマトリクスは異なってくる。
ISO/IEC 14496-10:2003 Information technology -- Coding of audio-visual objects -- Part 10: Advanced Video Coding Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG, 12th Meeting: Redmond, WA, USA 17-23 July, 2004, "JVT-L047d8" ISO/IEC 13818-2:2000 Information technology -- Generic coding of moving pictures and associated audio information: Video
以上説明したように、H.264ではマクロブロック内の予測ブロック形状及び予測モードに応じて逆量子化器を変更できないため、マクロブロック内の小画素ブロックで変換係数の細かい制御ができないという問題がある。
また、H.264 Highプロファイルに規定されている方法で、与えられた量子化マトリクスを用い、マクロブロック毎に量子化パラメータを決定して逆量子化を行った場合、マクロブロック内の予測ブロック形状及び予測の方法に応じて適応的に、変換係数を制御することが不可能であるという問題があった。
本発明は、予測誤差信号をマクロブロック単位で量子化するに当たり、量子化コードテーブルを参照してマクロブロックより細かいブロックの単位で量子化する動画像符号化方法を提供することを目的とする。
本発明の第1局面は、入力画像信号を分割して生成されるマクロブロック毎に選択された符号化モードによって前記マクロブロックを符号化する動画像符号化方法において、マクロブロックに対応する入力画像信号に基づいて複数の符号化モードの各々に従って予測信号と符号化モード情報とを生成する予測信号生成ステップと、前記マクロブロック毎に対応する量子化コードテーブルを選択するステップと、前記符号化モード毎に前記入力画像信号と前記予測信号とに基づいて予測誤差信号を生成するステップと、前記予測誤差信号を直交変換するステップと、前記対応する量子化コードテーブルを用いて、量子化パラメータを前記マクロブロック内の複数の小画素ブロック毎に切り替えて前記直交変換予測誤差信号を量子化し、量子化変換係数を生成する変換量子化ステップと、前記量子化変換係数を符号化し、符号化歪みと符号量を計測して符号化コストを計算する符号化コスト計測ステップと、前記計測された符号化コストに基づいて、前記符号化モードの中から1つの符号化モードを選択する符号化モード選択ステップと、前記計測された符号化コストに基づいて、前記量子化コードテーブルの中から1つの量子化コードテーブルを選択する量子化コードテーブル選択ステップと、選択された前記量子化コードテーブルを示すインデックスの情報を、符号化フレーム毎又は符号化フレーム内の領域毎に符号化するステップとを具備することを特徴とする動画像符号化方法を提供する。
本発明の第2局面は、マクロブロック毎に受信された符号化モードによって前記マクロブロックを復号化する動画像復号化方法において、マクロブロック毎に、量子化コードテーブルのインデックスを受信するステップと、前記インデックスに対応する前記量子化コードテーブルに応じて、量子化パラメータを前記マクロブロック内の複数の小画素ブロック毎に切り替えて逆量子化を行うステップと、符号化フレーム毎又は符号化フレーム内の領域毎に前記量子化コードテーブルを切り替えるステップを含むことを特徴とする、動画像復号化方法動画像復号化方法を提供する。
本発明の第3局面は、入力画像信号を分割して得られるマクロブロック毎に選択された符号化モードによって前記マクロブロックを符号化する動画像符号化装置において、マクロブロックに対応する入力画像信号に基づいて複数の符号化モードの各々に従って予測信号と符号化モード情報とを生成する予測信号生成手段と、前記マクロブロック毎に対応する量子化コードテーブルを選択する選択手段と、前記符号化モード毎に前記入力画像信号と前記予測信号とに基づいて予測誤差信号を生成する誤差信号生成手段と、前記予測誤差信号を直交変換する直交変換手段と、前記対応する量子化コードテーブルを用いて、前記マクロブロックの量子化パラメータを当該マクロブロック内の複数の小画素ブロック毎に切り替えて前記直交変換予測誤差信号を量子化し、量子化変換係数を生成する変換量子化手段と、前記量子化変換係数を符号化し、符号化歪みと符号量を計測して符号化コストを計算する符号化コスト計測手段と、前記計測された符号化コストに基づいて、前記符号化モードの中から1つの符号化モードを選択する符号化モード選択手段と、前記計測された符号化コストに基づいて、前記量子化コードテーブルの中から1つの量子化コードテーブルを選択する量子化コードテーブル選択手段と、選択された前記量子化コードテーブルを示すインデックスの情報を、符号化フレーム毎又は符号化フレーム内の領域毎に符号化する符号化手段とを具備することを特徴とする動画像符号化装置を提供する。
本発明の第4局面は、マクロブロック毎に受信された符号化モードによって前記マクロブロックを復号化する動画像復号化装置において、マクロブロック毎に、量子化コードテーブルのインデックスを受信する受信手段と、前記インデックスに対応する前記量子化コードテーブルに応じて、量子化パラメータを前記マクロブロック内の複数の小画素ブロック毎に切り替えて逆量子化を行う逆量子化手段と、符号化フレーム毎又は符号化フレーム内の領域毎に前記量子化コードテーブルを切り替える切替手段とを含むことを特徴とする動画像復号化装置を提供する。
本発明によると、マクロブロック内で量子化パラメータを変更するための量子化コードテーブルを用いて、小画素ブロックごとに量子化パラメータの値を調整し、さらに領域毎に量子化マトリクスを変更して量子化及び逆量子化することで、従来の逆量子化器よりも高い符号化効率を維持しつつ、十分に視覚特性等も考慮した量子化器及び逆量子化器が期待できる。
本発明によれば、符号化効率を向上させつつ、且つ十分に視覚特性等も考慮した量子化器及び逆量子化器を実現できる。
以下に添付図面を参照して、この発明に係る動画像符号化方法及び動画像符号化装置、動画像復号化方法及び動画像復号化装置の最良な実施の形態を詳細に説明する。
図1は、本発明の第1の実施の形態に係わる動画像符号化装置の構成を示すブロック図である。この実施の形態では、予測誤差信号をマクロブロック単位で量子化するに当たり、量子化コードテーブルを参照してマクロブロックより細かいブロックの単位で量子化して動画像の符号化を行う。
図1によると、動画像信号はマクロブロック毎或いはマクロブロックペア毎に分割され、動画像符号化装置100に入力される。動画像符号化装置100では、予測信号生成部120が行うフレーム内予測及びフレーム間予測モードとして、ブロックサイズや予測信号の生成方法の異なる複数の予測モードが用意されている。予測信号生成部120は、参照画像メモリ111に一時保存された参照画像を用いて、当該マクロブロックで選択可能な全てのモードで予測画像の生成を行い、また入力画像信号から予測信号を差し引いた予測誤差信号の生成を行う。指示されたモードが動き補償フレーム間予測の場合は、予測信号生成部120は動きベクトルの検出と参照画像の選択も併せて行う。即ち、予測信号生成部120は、図示しないが参照画像メモリ111の参照画像を用いて動きベクトルを検出し、動き補償予測信号を生成する動き補償予測回路とこの動き補償予測回路から出力される予測信号を入力画像信号から減算して予測誤差信号を生成する減算器とを有する。
ここで、H.264のフレーム内予測(4×4予測)のようにマクロブロック内でローカルデコード画像を作成しないと次の予測が行えないような場合に関しては、後述する直交変換部102でフレーム内予測を行っても良い。予測信号生成は予測信号生成部120と直交変換部102のみで行われる。
予測信号生成部120で生成された予測誤差信号は、量子化セット選択部101へと入力される。量子化セット選択部101は、量子化器及び逆量子化器で用いられる量子化コードテーブルの中からいずれかのテーブルを選択し、符号化制御部121にセットする。
予測信号生成部120で生成された予測誤差信号は量子化セット選択部101を介して直交変換部102へと送られる。直交変換部102は、直交変換(例えば離散コサイン変換)を行い、変換された係数を量子化部103へと出力する。
量子化部103では、符号化制御部121で設定されている量子化コードテーブルを参照し、当該量子化コードテーブルに従って当該変換係数を量子化するとともに、量子化した直交変換係数及び予測モード情報(或いは動きベクトル情報、参照画像情報など)をスイッチ104及び逆直交変換部108に出力する。本実施の形態において、マクロブロック内の量子化部103は、設定された量子化コードテーブルに従った方式の動画像符号化処理を行う信号生成手段として機能している。
量子化された変換係数は、モード情報、量子化係数、量子化コードテーブル等の予測方法に関する情報とともに、可変長符号化部112により可変長符号化される。これらの符号化データは多重化部122により多重化され、出力バッファ123を通して符号化データとして出力される。
一方、逆直交変換部108は、上記量子化部103によって量子化された変換係数を、符号化制御部121にて設定されている量子化コードテーブルに従って逆量子化し、得られた変換係数を逆直交変換部109へと出力する。逆直交変換部109は、復元した変換係数に対して逆直交変換処理(例えば逆離散コサイン変換)を行い、予測誤差信号等を復元し、かかる信号を予測復号化部110に出力する。
予測復号化部110は、予測信号生成部120によって行われた処理に対応する処理を行い、画像を復元し、参照画像メモリ111に出力する。参照画像メモリ111は復元された画像を蓄積する。このように参照画像メモリ111に蓄積された画像が、予測信号生成部120による予測誤差信号等の生成の際に参照される。尚、当該動画像符号化部では、予測復号化部110で、予測画像の生成は行なわず、予測信号生成部120の動き補償予測回路で生成された予測信号を保持しておき、利用することが望ましい。
スイッチ104は、量子化部103から供給された直交変換係数及び予測モード情報等を、仮符号化及び符号量計測部105あるいは、可変長符号化部112のいずれかに出力する。
仮符号化及び符号量計測部105は、スイッチ104経由で入力される直交変換係数等を示す信号に対し仮符号化を行って符号量を計測する。仮符号化とは、符号量を計測するために、一時的に符号化を行うことを指しており、仮符号化及び符号量計測部105は、エントロピー符号化データの出力は行わず、符号量の計測のみを行う。本実施の形態における仮符号化及び符号量計測部105では、ハフマン符号化、もしくは算術符号化に基づくエントロピー符号化がなされた場合の符号量を計測する。
仮符号化及び符号量計測部105で計測された符号量は、符号化歪み測定部106に入力される。符号化歪み測定部106では、予測復号化部110から得られるローカルデコード画像と入力画像信号との2乗誤差を計測し、これを符号化歪み(量子化歪み)として符号化モード制御・判定部107へと出力する。符号化モード制御・判定部107は、入力された符号化歪み(量子化歪み)と符号量から符号化コストを計測する。ここで得られた符号化コストを指標として当該マクロブロックのモードを決定する。より具体的に説明すると本実施の形態では次式(8)のようなコストを用いる。
Figure 0004768779
ここでDは符号化歪みを表し、Rは符号量を表している。このようにして得られた符号化コストに基づいて複数の符号化モードの中から1つの符号化モードを選択する。つまり、符号化対象の画素ブロックに対して、1つ以上の符号化モードの各々で実際に予測符号化、発生符号量の計測及び符号化歪みの計測を行わせ、それぞれの符号化モードごとに得られた符号化コストを比較し、いずれか1つの符号化モードを選択する。本実施の形態では、符号化モード制御・判定部107は、最も符号化コストの小さい符号化モードを選択する。即ち、図1における量子化セット選択部101→直交変換部102→量子化部103→スイッチ104→仮符号化及び符号量計測部105→符号化歪み測定部106→符号化モード制御・判定部107といった順序で処理を行い最適符号化モードを選択する。
符号化モードが決定されると、スイッチ104の出力端は可変長符号化部112へと直接接続され、選択された符号化モード及び量子化コードテーブルで再符号化を行い、選択された符号化モードで、量子化変換係数、量子化コードテーブル、符号化コスト等の符号化情報を出力する。ここで、予め仮符号化時に最適な符号化モード及び量子化コードテーブルで符号化したときの諸々の情報(量子化された変換係数や選択された量子化コードテーブルのインデックスなど)を保持しておき、可変長符号化部112にて再符号化処理を行わずに、保持したデータを出力しても良い。
尚、仮符号化ループ(図1における量子化セット選択部101→直交変換部102→量子化部103→スイッチ104→仮符号化及び符号量計測部105→符号化歪み測定部106→符号化モード制御・判定部107といった順序で流れる処理)は、そのマクロブロックで選択可能な全てのモードに対して処理を行った場合に1回のループとなる。つまり、最初の仮符号化ループが終わった瞬間に、モード判定は完了しており、以後の仮符号化ループで再度モード判定を行う必要は無い。最初のループで選択された符号化モードは、符号化制御部121にセットされ、以後のループでは、量子化コードテーブルを変更して仮符号化を行うときに符号化制御部121に設定されている符号化モードで計算された予測誤差信号を利用する。
さらに、最初のループでは量子化コードテーブルによる符号化モード判定の影響を極力無くすために、本実施の形態では、マクロブロック内で量子化を変えない(従来のH.264の逆量子化と等しい)方式で量子化及び逆量子化を行う。
H.264のフレーム内予測では、予測画像の生成時に現ブロックのローカルデコード画像を参照画像として、隣のブロックの予測画像を生成する。そのため、小画素ブロック毎に直交変換、量子化及び逆量子化、逆直交変換を行う必要がある。そこで、仮符号化ループで量子化コードテーブルを決定するとき(二回目以降の仮符号化ループ)、直交変換部102にて、フレーム内予測をやり直して予測信号の再生成を行っても良いし、行わなくても良い。
符号化制御部121は発生符号量のフィードバック制御及び量子化特性制御、モード制御などを行い、発生符号量の制御を行うレート制御や、予測部の制御、符号化全体の制御を行う。
これら各部の機能は、コンピュータに記憶されたプログラムによって実現される。
以上が本実施の形態にかかる動画像符号化装置100の構成である。以下、本発明にかかる第1の実施の形態の動画像符号化方法について、動画像符号化装置100が実施する場合を例にあげ、図2を参照しながら説明する。
動画像符号化装置100に、1フレーム毎に動画像信号が入力されると、入力された画像はマクロブロック毎、或いはマクロブロックペア毎に符号化が開始される(ステップS201)。
入力された動画像信号を用いて、予測信号生成部120にて、当該ブロックで選択可能な全ての符号化モードにおける予測画像信号生成及び予測誤差信号の計算が行われる(ステップS202)。ここで得られた当該予測誤差信号を直交変換・量子化することで符号化モードの判定及び最適量子化コードテーブルの選択を行う。
次に、量子化コードテーブルを示すインデックスQ_idxを0に初期化する(ステップS203)。このインデックスは例えば図10で表されるようなコードテーブルの番号を表している。
さらに、符号化モードを示すindexを0に初期化、最終的に選択されるベスト符号化モードのインデックスBest_Modeを最大値に初期化、符号化コストの最小値を与えるMin_Costを最大値で初期化する(ステップS204)。
符号化モードI(=index)、量子化コードテーブルインデックスQC(=Q_idx)にて仮符号化を行う。つまり、仮符号化時には、スイッチ104の出力端は仮符号化及び符号量測定部105へと接続され、図1で示される仮符号化ループ(図1における量子化セット選択部101→直交変換部102→量子化部103→スイッチ104→仮符号化及び符号量計測部105→符号化歪み測定部106→符号化モード制御・判定部107といった順序で流れる処理)に従って仮符号化処理が実行される。量子化部103では、量子化コードテーブルインデックスQCに示されるコードテーブルの値に従って量子化或いは逆量子化処理がなされる。
量子化パラメータは、量子化コードテーブルインデックスQCから次式(9)のように求められる。
Figure 0004768779
QPblkは量子化コードテーブルインデックスQCから導出された小画素ブロック量子化パラメータを表しており、QPはマクロブロックの量子化パラメータを示す。QV(QC,blk)は量子化コードテーブルインデックスQC、ブロックナンバーblkで示される量子化コードテーブルを示している。これらの処理は、8×8ブロック単位で行っても良いし4×4ブロック単位で行っても良い。例えば、8×8ブロック単位の量子化コードテーブルは次式(10)のように定義される。
Figure 0004768779
マクロブロック内には4つの8×8ブロックが存在する。よってblkは0から3までの値を取る。最初に仮符号化ループを通るときには、QC=0となり従来のマクロブロック内固定量子化パラメータで仮符号化処理が行われる。
Figure 0004768779
それぞれの位置に対応するパラメータ変化度を用いて量子化パラメータを変更する。8×8画素単位で量子化パラメータを変える場合、4×4画素ブロック量子化器では、図3左側に示すように4つのブロックで同じ量子化パラメータで量子化が行われる。一方、8×8画素ブロック量子化器の場合は図3右側に示すようにブロック毎に量子化パラメータを変更する。
一般的に仮符号化に用いられる符号化コストは、マクロブロックでの量子化パラメータが変動しないことに基づいて定義されている。そのため、式(10)に以下の条件式(11)を加えるべきである。
Figure 0004768779
これはマクロブロック内で、量子化パラメータの変動は定性的に一定であることを示しており、符号化コスト計算でのコスト評価のために必要な拘束条件である。
仮符号化及び符号量測定部105にて、発生した符号量の累積加算が行われ、符号化歪み測定部106では、入力画像とローカルデコード画像から符号化歪みの計算が行われる(S206)。ここで、量子化部103で量子化された変換係数は、逆量子化器108にて逆量子化され、逆直交変換部109にて逆直交変換されることによって予測誤差信号の復号が行われ、さらに予測信号と加算されることによってローカルデコード画像となる。
得られた発生符号量と符号化歪みから式(8)を用いて符号化コストの計算が行われる(S207)。ただし、例えば符号化歪みを用いず、発生符号量そのものを符号化コストとしても良い。この場合、モードの判定に符号化歪みが必要としなくなるため仮符号化ループに、逆量子化・逆直交変換といった処理負担の高い処理部を行う必要がなくなる。或いは、符号化歪みに代わる入力画像の統計量(例えば入力画像のDC値やアクティビティ(DC値からの各画素の差分を合計した値))などを用いても良い。仮符号化では符号化データの書き出しを行わない。
符号化モード制御・判定部107は、計算された符号化コストcostが、最小符号化コストmin_costより小さいか否かを判別し(ステップS208)、小さい場合にはその符号化コストで最小符号化コストを更新するとともに、その際の仮符号化の符号化モードをbest_modeインデックスとして、量子化コードテーブルインデックスをbest_Q_idxとして保持する。さらにindex値のインクリメントを行う。ここで、再符号化処理を避けるために、ベスト符号化モードで符号化されたときの様々の符号化データを保持しておく(S209)。
次に、符号化モード制御・判定部107は、更新したindexがMAX_INDEXより大きいか否かを判断する(ステップS210)。ここで、indexが大きい場合、つまり、当該ステップS209で選択されたマクロブロック内で選択可能な符号化モード全ての処理が終わっている場合は、かかる判別が「YES」となり、すべての符号化モードについて上記ステップS205〜ステップS210までの処理が終了したことを意味する。
ここで、かかる判別が「NO」の場合、更新されたindexで示されるモードで、ステップS205〜ステップS210までの処理を行う。
このようにして、ステップS210の判別が「YES」となったとき、そのマクロブロックで選択可能な符号化モードの中で符号化コストの最も小さい符号化モードが決定したことを意味する。ステップS210の判別が「YES」のときは、量子化コードテーブルインデックスQ_idxをインクリメントし、QCを更新する(S211)。
次に、符号化モード制御・判定部107は、更新したQ_idxがMAX_Q_IDXより大きいか否かを判断する(ステップS212)。ここでQ_idxが大きい場合、選択可能な量子化コードテーブルインデックスの全てに関して仮符号化処理が終わったことを意味する。また、かかる判別がNOの場合、符号化モード制御・判定部107から量子化セット選択部101へと処理は移行し、新しいQ_idxで仮符号化ループを繰り返すことになる。ここで符号化モードI=best_modeにより、モード判定は再度繰り返すことなく最初のループで確定したbest_modeで、量子化コードテーブルインデックスのループ(ステップS205からステップS212まで)を回ることになる。
ステップS212でかかる判別がYESの場合、仮符号化ループを終了し、best_mode及びbest_Q_idxを用いて、再量子化及び可変長符号化部112にて再符号化が行われる(ステップS214)。ここで、このときのデータを保持している場合は再符号化の必要は無いため、そのまま符号化データは多重化部122へと出力され、各々の方式に従って多重化された後に出力バッファ123へと出力され、ビットストリームデータとして出力される(S215)。
ここで、画素ブロック毎に選択された量子化コードテーブルは、複数の量子化コードテーブルから適切な量子化コードテーブルが選択され、選択されたコードテーブルに従って、量子化コードテーブルインデックスに変換されて符号化される。量子化コードテーブルは、フレーム内の複数画素ブロックから構成される領域(以下、スライスと呼ぶ)単位に変更可能であり、量子化セット選択部101により、スライス毎に符号化効率の高い量子化コードテーブルの選択が行われる。選択された量子化コードテーブルの情報は、量子化コードテーブルのインデックスとして、符号化データに多重化される。また、他の実施の形態として、量子化パラメータや目標ビットレートに応じて、量子化コードテーブルが自動的に一意に決定される構成としてもよい。例えば量子化パラメータが小さい場合は、量子化コードテーブルインデックスが小さい値が選択され、大きい場合はインデックスが大きな値が選択される。或いはビットレートが高い場合は、量子化コードテーブルインデックスが大きな値が選択され、低い場合はインデックスが小さな値が選択されるなどである。いずれの場合でも、符号化データの復号化時においても、同一の量子化コードテーブルが選択されて、対応する量子化コードテーブルに変換され、逆量子化が行われる。
次に、量子化コードテーブルインデックス情報の符号化方法について説明する。図4に本実施の形態で用いられるシンタクスの構造の概略を示す。シンタクスは主に3つのパートからなり、High Level Syntax(401)はスライス以上の上位レイヤのシンタクス情報が詰め込まれている。Slice Level Syntax(404)では、スライス毎に必要な情報が明記されており、Macroblock Level Syntax(407)では、マクロブロック毎に必要とされる可変長符号化された誤差信号やモード情報などが明記されている。
それぞれは、さらに詳細なシンタクスで構成されており、High Level Syntax(401)では、Sequence parameter set syntax(402)とPicture parameter set syntax(403)などのシーケンス、ピクチャレベルのシンタクスから構成されている。Slice Level Syntax(404)では、Slice header syntax(405)、Slice data syntax(406)などから成る。さらに、Macroblock Level Syntax(407)は、macroblock layer syntax(408)、macroblock prediction syntax(409)などから構成されている。
本実施の形態で、必要となるシンタクス情報はシーケンスヘッダ(402)、スライスヘッダ(405)、マクロブロックヘッダ(408)であり、それぞれのシンタクスを以下で説明する。
図5のシーケンスヘッダ内に示されるex_quant_code_in_slice_flagは、量子化コードテーブルインデックスをスライス毎に符号化するかどうかを示すフラグであり、このフラグが1の場合、量子化コードテーブルインデックス量子化コードテーブルインデックスはスライス毎に変更することができる。一方、ex_quant_code_in_mb_flagは、量子化コードテーブルインデックスをマクロブロック毎に符号化するかどうかを示すフラグであり、このフラグが1の場合、エンコーダはマクロブロック毎に量子化コードテーブルインデックスを変更することができる。
図5で示されるex_quant_code_in_slice_flagが1の場合、図6のスライスヘッダ内でslice_ex_code_zero_flagが符号化される。このフラグは選択された量子化コードテーブルインデックスが0であることを示しており、このフラグが1のとき、現在のスライスでは従来の量子化が選択されていることを示す。つまり、マクロブロック内で量子化パラメータが等しいことを示す。このとき、rem_slice_ex_code_numは符号化されない。一方、slice_ex_code_zero_flagが1であるとき、現在選択された量子化コードテーブルインデックスQCは以下の式(12)の値として符号化される。
Figure 0004768779
同様に、図5で示されるex_quant_code_in_mb_flagが1の場合、図7のマクロブロックヘッダ内でmb_ex_code_zero_flagが符号化される。このフラグは選択された量子化コードテーブルインデックスが0であることを示しており、このフラグが1のとき、現在のマクロブロックでは従来の量子化が選択されていることを示す。つまり、マクロブロック内で量子化パラメータが等しいことを示す。このとき、rem_mb_ex_code_numは符号化されない。一方、mb_ex_code_zero_flagが1であるとき、現在選択された量子化コードテーブルインデックスQCは以下の式(13)の値として符号化される。
Figure 0004768779
このようなシンタクスの目的は低ビットレートで、量子化コードテーブルインデックスによる効果が低いときにできるだけ符号量を削減するためである。
一方、シンタクスに関する別の実施の形態として、次のシンタクスが考えられる。図8にスライスヘッダのデータ構造の一部、及び図9にマクロブロックレイヤーのデータ構造の一部を示す。先ほどとは異なり、どちらも量子化コードテーブルインデックスをそのまま可変長符号化、あるいは固定長符号化し、多重化する。
特にフレーム内予測は、入力画像の空間相関を用いて予測を行うため、マクロブロック内の細かい領域で係数の分布が大きく異なる傾向が強い。このような場合、フラットな量子化器(マクロブロックで量子化パラメータを変更しない)はあまり選択されず、様々な量子化コードテーブルインデックスを用いて量子化された方が発生符号量を削減できる場合が存在する。つまり、量子化コードテーブルインデックスの発生頻度が予測できないため、効率の良いシンタクスを構成し難い。よって図8,9のようなシンタクスが有効になる場合が存在する。
以上説明したように本実施の形態では、複数の選択可能な符号化モードの各々について、実際に仮符号化処理がなされ、符号化モードごとの符号化データの符号量と符号化歪みから得られた符号化コストの最も小さいモードが選択され、選択されたモードに基づいて、量子化コードテーブルループとして再度仮符号化処理を行い、符号化コストが最も小さい量子化コードテーブルインデックスで符号化された符号化データが出力される。このように量子化コードテーブルを用いてマクロブロック内の量子化パラメータを小ブロック毎に制御して符号化モード選択を行っているので、予測ブロック形状及び予測方法に応じて符号化効率の高い符号化を行うことができる量子化パラメータを選択できる、つまり画素ブロックの内容等に応じて好適な量子化をなすことができる。一方、マクロブロック内の量子化パラメータの平均変動値を抑えることで、従来のモード判定方式をそのまま利用することができる。
このように、各符号化モードすべてについて負担の大きい符号化処理を行う必要がなく、選択された符号化モードでの符号化のみ行うようにすればよいので、演算負担の増加も抑制することができる。すなわち、本実施の形態では、高速かつ好適な符号化モード選択と、高速で圧縮効率の高い動画像符号化を実現することが可能となる。
なお、上述したように選択されたモードでの符号化の際、予測誤差信号の量子化された直交変換係数は、逆直交変換及び逆量子化部206にも入力されて、逆量子化及び逆直交変換が施されて予測誤差信号を再生し、予測復号部207によりローカルデコード画像が生成され、参照画像メモリ208に参照画像として一時保存される。これらのローカルデコード画像生成処理は、選択されたモードについてのみ行えばよく、予測モード判定のためのループ内では、必ずしも実行しなくてもよい。
次に、他の例に係る動画像符号化方法を説明する。
量子化コードテーブルインデックスの最大値Q_MAX_IDXが大きい値の場合、特に低ビットレートでは、符号化するシンタクスの符号量が無視できなくなる。そのため、実用的な範囲としてはマクロブロック毎にシンタクスを送る場合で、8通り(3ビット)程度が妥当である。一方、高ビットレートでは、効果の高い量子化コードテーブルインデックスを用いて符号化効率を向上させるべきである。そこで、ベースとなる量子化パラメータに応じて量子化コードテーブルを切り替える。
量子化パラメータQPの値は、符号化制御部121が制御するレートコントロールに従って制御されている。符号化対象マクロブロックを符号化する際には、量子化パラメータの値は既に決まっており、一般的にエンコーダでは量子化パラメータの差分値を符号化する。よって、仮符号化ループでは、与えられた量子化パラメータQPの値によって、使用する量子化コードテーブルを変更する。
より具体的には、量子化パラメータQPがある値QPLowより小さいときにはQ_MAX_IDXが大きいなテーブルを使用し、QPがQPHighより大きいときはQ_MAX_IDXが小さいテーブルを使用する。ビットレートに応じて選択されやすい量子化コードテーブルが存在するため、量子化パラメータの値によって使用するテーブルを適応的に変更する。
また別の例としては、Q_MAX_IDXのテーブルを用意しておき、量子化パラメータの値に応じて先頭から指定したビットの許す範囲で、仮符号化ループを行うといった方式を用いても良い。
図10に8×8画素ブロック量子化コードテーブルインデックスの一例を示す。レート制御から与えられるマクロブロックの量子化パラメータQPの値に応じて利用できるインデックスが変更される。例えばQPが32よりも大きい場合には量子化コードテーブルインデックスは8まで(rem_mb_ex_code_zero_flagが3ビット)選択できる。一方、QPが20−32までの範囲にある場合は、量子化コードテーブルインデックスは16まで(rem_mb_ex_code_zero_flagが4ビット)選択できる。
即ち、マクロブロック毎に使うビットの量をQPの有効範囲に応じて使えるビット長を変える。量子化パラメータが大きいときには荒く量子化するので、符号化データが小さくなる。小さくなるときにマクロブロック毎に大きなビット数を使ってしまうと、全体的に符号量を小さくできなくなるので、量子化パラメータの範囲に応じて何ビット使うかを決める。この決めをエンコーダ、デコーダに入れておくと、使うビットレートに応じて実際に送るシンタックスのビット量が調整できる。
このようにして、量子化パラメータQPに応じて選択できるテーブルを切り替えることで、シンタクスのオーバーヘッドを抑えて符号化効率を向上させることが可能である。
次に、第2の実施の形態にかかる動画像符号化方法を説明する。
本実施の形態では、第1の実施の形態に加えて、画素ブロック毎に対応する量子化マトリクスを選択するステップが加わっている。即ち、本実施の形態では、量子化コードテーブルの量子化パラメータを表すインデックスを決めるだけではなくて、複数の量子化マトリクスを選択的に切り替えることも含む。動画像符号化装置の構成は図1と同様である。第2の実施の形態において、第1の実施の形態と共通する構成要素にはその説明を省略する。
図11に本実施の形態における動画像符号化の処理の流れを示す。ステップS1001、ステップS1002はそれぞれステップS201、S202と等しい。
符号化制御部121は、量子化マトリクスのテーブル番号を示すインデックスWM_idxを0に初期化する(ステップS1003)。さらに各変数の初期化を行う(ステップS1004、ステップS1005)。
第1の実施の形態と同様に、仮符号化ループ(図1における量子化セット選択部101→直交変換部102→量子化部103→スイッチ104→仮符号化及び符号量計測部105→符号化歪み測定部106→符号化モード制御・判定部107の順序で流れる処理)を繰り返して、それぞれ符号化モードI、量子化コードテーブルインデックスQCを決定する(ステップS1005〜ステップS1013)。
ここで、符号化モードと量子化コードテーブルインデックスを決定するまでの仮符号化ループでは量子化マトリクスを用いないフラットな量子化及び逆量子化を行う。フラットな量子化とは、式(7)で示される量子化マトリクスの全成分が16であるような量子化である。H.264では、量子化マトリクスを利用しない場合、フラットな量子化が行われる。
ステップS1013の判定でYESが選択されると、量子化セット選択部101は、WM_idxをインクリメントして符号化制御部121にセットする。ここで、WM_idxが2に等しいかどうかを判別する。かかる判別がNOである場合、符号化モードを更新し(ステップS1014)、更新された量子化マトリクスインデックスで、さらに仮符号化が行われる。ここで、仮符号化によって得られた符号化コストcostが、min_costよりも小さい場合は、best_WM_idxを更新し、仮符号化結果を保存する(ステップS1010)。
かかる判別がYESの場合、仮符号化ループを終了し、仮符号化ループにて決定された諸々のパラメータで再符号化を行う(ステップS1016)。ここで、仮符号化時のデータを保持している場合は再符号化の必要は無いため、そのまま符号化データは多重化部122へと出力され、各々の方式に従って多重化された後に出力バッファ123へと出力され、ビットストリームデータとして出力される(S215)。
本実施の形態では、WM_idxは次のようなインデックスの値とする。WM_idxが0のときはフラットな量子化を行う。一方、WM_idxが1のときは、対象とするマクロブロックに対してH.264で規定されている量子化マトリクスを適用する。例えば、デフォルトマトリクスを用いた場合には、本方式によるとマクロブロック毎に、デフォルトマトリクスとフラットなマトリクスを任意に選択できるようになる。H.264の4×4画素ブロックにおけるデフォルトマトリクスとフラットなマトリクス(量子化マトリクスを用いない場合に対応)を式(14)に示す。
Figure 0004768779
次に量子化マトリクスのインデックスの符号化方法について説明する。図12にシーケンスヘッダのデータ構造の一部、図13にスライスヘッダのデータ構造の一部、図14にマクロブロックヘッダのデータ構造の一部を示す。これらは、図4のシンタクス構造と同様に定義されている。
図12で示されるex_quant_matrix_in_slice_flagはスライス毎に量子化マトリクスのインデックスを符号化するかどうかを示すフラグであり、ex_quant_matrix_in_mb_flagはマクロブロック毎に量子化マトリクスのインデックスを符号化するかどうかを示すフラグである。
slice_ex_matrix_flagは、そのスライスで量子化マトリクスを使うかどうかを示すフラグであり、slice_ex_matrix_flagが1のときは対応する量子化マトリクスを使用する。この場合、量子化マトリクスを送っても良いし、H.264 Highプロファイルにあるようなデフォルトマトリクスを使用してもよい。0のときは、そのスライス内では、量子化マトリクスを使用しないことを意味する。同様に、mb_ex_matrix_flagは対応するマクロブロックで量子化マトリクスを使用するかどうかを示すフラグであり、1のときは量子化マトリクスを用いて量子化する。
尚、図12、13で示されるような1ビットで示されるフラグではなく、対応する量子化マトリクスのインデックスをそのまま送って、複数の量子化マトリクスを用いて量子化・逆量子化してもよい。このとき、符号化器ならびに復号化器では、それぞれの量子化マトリクスのインデックスに対応する量子化マトリクステーブルを所持している(または量子化マトリクスを符号化データに多重化して送る)必要がある。
フレーム間符号化に比べて、フレーム内符号化は量子化に関係するパラメータ(量子化パラメータ、量子化コードテーブル、量子化マトリクス、量子化オフセットなど)を細かく制御することで、符号化効率の改善が期待できる。そこで、上述した符号化方式をフレーム内符号化領域にだけ適用することも可能である。この場合、図1において、フレーム間符号化情報を符号化制御部121から得たときには、量子化セット選択部101は、量子化コードテーブルインデックス及び量子化マトリクスインデックスをそれぞれ0にセットする。さらに、ステップS212では常にYESを選択する。同様にステップS1015も常にYESを選択する。
つまり、フレーム間符号化ブロックでは、量子化コードテーブルインデックスループ及び量子化マトリクスインデックスループを実行しない。また、それぞれインデックス0しか選択しえないので、シンタクスも送る必要は無い。このようにして、効果の高いフレーム内符号化領域のみにそれぞれの量子化に関するパラメータを用いて符号化を行い、フレーム間符号化領域には適用しないことで、処理負担の改善ができ、符号化効率を向上することが可能である。
以上説明したように本実施の形態では、複数の選択可能な符号化モードの各々について、実際に仮符号化処理がなされ、モードごとの符号化データの符号量と符号化歪みから得られた符号化コストの最も小さいモードが選択される。選択されたモードに基づいて、量子化コードテーブルループとして再度仮符号化処理を行い、符号化コストが最も小さい量子化コードテーブルが選択される。選択された符号化モードと量子化コードテーブルに基づいて、量子化マトリクスループとして再度仮符号化処理を行い、符号化コストがもっとも小さい量子化マトリクスインデックスが決定される。これらの量子化に関するパラメータを用いて、再符号化が行われ、符号化データが出力される。このように量子化コードテーブルを用いてマクロブロック内の量子化パラメータを小ブロック毎に制御してモード選択を行い、さらに量子化マトリクスをマクロブロック毎に適応的に切り替えて符号化を行っているので、予測ブロック形状及び予測方法に応じて符号化効率の高い符号化を行うことができる、つまり画素ブロックの内容等に応じて好適な量子化をなすことができる。
図15に、本実施の形態に係る動画像復号化装置300の構成を示す。動画像符号化装置100から送出され、伝送系または蓄積系を経て送られてきた符号化データは、入力バッファ301に一度蓄えられ、多重化分離器302により1フレーム毎にシンタクスに基づいて分離された後、可変長復号化器303に入力される。可変長復号化器303では、符号化データの各シンタクスの可変長符号が復号され、量子化変換係数、量子化マトリクス、量子化パラメータ、量子化コードテーブル情報、モード情報、動きベクトル情報などが再生される。
量子化変換係数は、再生された各情報のうち、量子化マトリクス、量子化パラメータ、量子化コードテーブル情報を用いて、逆量子化器304で逆量子化され、逆直交変換器305で逆直交変換される。ここでモード情報がイントラ符号化モードを示している場合には、逆直交変換器305から再生画像信号が出力され、加算器306を介して最終的な再生画像信号310として出力される。
モード情報がインター符号化モードを示している場合には、逆直交変換器305から予測誤差信号が出力され、さらにモード選択スイッチ309がオンとされる。予測誤差信号とフレームメモリ/予測画像生成器308から出力される予測画像信号212が加算器106で加算されることにより、再生画像信号310が出力される。再生画像信号310は、フレームメモリ/予測画像作成器308に参照画像信号として蓄積される。
モード情報、動きベクトル情報は、フレームメモリ/予測画像作成器308に入力される。モード情報はモード選択スイッチ309にも入力され、該スイッチ309をイントラ符号化モードの場合にはオフ、インター符号化モードの場合にはオンとする。
可変長復号化部303は、多重化分離されたデータから各々の方式に従って可変長復号を行い、それぞれ復号化に必要な情報をセットする。本実施の形態で送られてくるシンタクスの概要は図4で示されている。
シンタクスは主に3つのパートからなり、High Level Syntax(401)はスライス以上の上位レイヤのシンタクス情報が詰め込まれている。Slice Level Syntax(404)では、スライス毎に必要な情報が明記されており、Macroblock Level Syntax(407)では、マクロブロック毎に必要とされる誤差信号やモード情報などが明記されている。
それぞれは、さらに詳細なシンタクスで構成されており、High Level Syntax(401)では、Sequence parameter set syntax(402)とPicture parameter set syntax(403)などのシーケンス、ピクチャレベルのシンタクスから構成されている。Slice Level Syntax(404)では、Slice header syntax(405)、Slice data syntax(406)などから成る。さらに、Macroblock Level Syntax(407)は、macroblock layer syntax(408)、macroblock prediction syntax(409)などから構成されている。
本実施の形態で、必要となるシンタクス情報はシーケンスヘッダ(402)、スライスヘッダ(405)、マクロブロックヘッダ(408)であり、それぞれのシンタクスを以下で説明する。
図5のシーケンスヘッダ内に示されるex_quant_code_in_slice_flagは、量子化コードテーブルインデックスをスライス毎に復号化するかどうかを示すフラグであり、このフラグが1の場合、量子化コードテーブルインデックスはスライス毎に変更されて復号化される。一方、ex_quant_code_in_mb_flagは、量子化コードテーブルインデックス量子化コードテーブルインデックスをマクロブロック毎に復号化するかどうかを示すフラグであり、このフラグが1の場合、エンコーダはマクロブロック毎に量子化コードテーブルインデックス量子化コードテーブルインデックスを変更して復号化される。
図5で示されるex_quant_code_in_slice_flagが1の場合、図6のスライスヘッダ内でslice_ex_code_zero_flagが復号化される。このフラグは選択された量子化コードテーブルインデックスが0であることを示しており、このフラグが1のとき、現在のスライスでは従来の逆量子化が選択されていることを示す。つまり、マクロブロック内で量子化パラメータが等しいことを示す。このとき、rem_slice_ex_code_numは符号化されない。一方、slice_ex_code_zero_flagが1であるとき、現在選択された量子化コードテーブルインデックスQCは次式(15)の値として復号化される。
Figure 0004768779
同様に、図5で示されるex_quant_code_in_mb_flagが1の場合、図7のマクロブロックヘッダ内でmb_ex_code_zero_flagが復号化される。このフラグは選択された量子化コードテーブルインデックスが0であることを示しており、このフラグが1のとき、現在のマクロブロックでは従来の逆量子化が選択されていることを示す。つまり、マクロブロック内で量子化パラメータが等しいことを示す。このとき、rem_mb_ex_code_numは符号化されない。一方、mb_ex_code_zero_flagが1であるとき、現在選択された量子化コードテーブルインデックスQCは次式(16)の値として復号化される。
Figure 0004768779
シーケンスヘッダ、スライスヘッダ、マクロブロックヘッダなどから得られた情報は、復号化制御部310に設定され、以後の信号処理部で利用される。
一方、シンタクスに関する別の実施の形態として、次のシンタクスが考えられる。図8にスライスヘッダのデータ構造の一部、及び図9にマクロブロックレイヤーのデータ構造の一部を示す。先ほどとは異なり、どちらも多重化分離部302で分離された量子化コードテーブルインデックスをそのまま可変長復号化、あるいは固定長復号化する。
逆量子化部304では、可変長復号された量子化コードテーブル情報を用いて現在のマクロブロックの量子化コードテーブルを量子化コードテーブルインデックスから呼び出し、対応する画素ブロック毎に小画素ブロックの量子化パラメータを設定して、式(3)で示されるような逆量子化が行われる。
この逆量子化の詳細な説明は以下のようになる。可変長復号化部303で復号化された量子化コードテーブルを示すインデックスQCを用いて、式(9)と同じ次式(17)により量子化パラメータが算出される。
Figure 0004768779
QPblkは量子化コードテーブルインデックスQCから導出された小画素ブロック量子化パラメータを表しており、QPはマクロブロックの量子化パラメータを示す。QPの値は、マクロブロックヘッダから可変長復号されて得ることができる。QV(QC,blk)は量子化コードテーブルインデックスQC、ブロックナンバーblkで示される量子化コードを示している。これらの処理は、8×8ブロック単位で行っても良いし4×4ブロック単位で行っても良い。例えば、8×8ブロック単位の量子化コードテーブルは式(10)と同じ次式(18)により定義される。
Figure 0004768779
例えば−1はマクロブロックの量子化パラメータを−1して、対象とする8×8ブロックの逆量子化を行うことを示している。
マクロブロック内には4つの8×8ブロックが存在する。よってblkは0から3までの値を取る。
Figure 0004768779
それぞれの位置に対応するパラメータ変化度を用いて量子化パラメータを変更する。8×8画素単位で量子化パラメータを変える場合、4×4画素ブロック量子化器では、図3左側に示すように4つのブロックで同じ量子化パラメータで逆量子化が行われる。一方、8×8画素ブロック量子化器の場合は図3右側に示すようにブロック毎に量子化パラメータを変更する。
次に量子化マトリクスのインデックスの復号化方法について説明する。図12にシーケンスヘッダのデータ構造の一部、図13にスライスヘッダのデータ構造の一部、図14にマクロブロックヘッダのデータ構造の一部を示す。これらは、図4のシンタクス構造と同様に定義されている。
図12で示されるex_quant_matrix_in_slice_flagはスライス毎に量子化マトリクスのインデックスを復号化するかどうかを示すフラグであり、ex_quant_matrix_in_mb_flagはマクロブロック毎に量子化マトリクスのインデックスを復号化するかどうかを示すフラグである。
slice_ex_matrix_flagは、そのスライスで量子化マトリクスを使うかどうかを示すフラグであり、slice_ex_matrix_flagが1のときは対応する量子化マトリクスを使用する。この場合、量子化マトリクスを受け取っても良いし、H.264 Highプロファイルにあるようなデフォルトマトリクスを使用するように取り決めておいても良い。slice_ex_matrix_flagが0のときは、そのスライス内では、逆量子化時に量子化マトリクスを使用しないことを意味する。同様に、mb_ex_matrix_flagは対応するマクロブロックで量子化マトリクスを使用するかどうかを示すフラグであり、1のときは量子化マトリクスを用いて逆量子化する。
尚、図12、13で示されるような1ビットで示されるフラグではなく、対応する量子化マトリクスのインデックスをそのまま受け取って、複数の量子化マトリクスを用いて逆量子化してもよい。このとき、復号化器では、それぞれの量子化マトリクスのインデックスに対応する量子化マトリクステーブルを所持している(または量子化マトリクスを符号化データから復号化する)必要がある。
実際に逆量子化時にどのように量子化マトリクスを切り替えるのかについて以下に詳細に説明する。スライスヘッダのslice_ex_matrix_flag或いはマクロブロックヘッダのmb_ex_matrix_flagが0であるとき、対応するスライス或いはマクロブロックでは、量子化マトリクスを使用しない(つまり、フラットな逆量子化が行われる)。一方、スライスヘッダのslice_ex_matrix_flag或いはマクロブロックヘッダのmb_ex_matrix_flagが1であるとき、対応するスライス或いはマクロブロックでは、送られてきた量子化マトリクス、或いはデフォルトマトリクスを用いて逆量子化が行われる。例えば、デフォルトマトリクスを用いた場合には、本方式によるとスライス又はマクロブロック毎に、デフォルトマトリクスとフラットなマトリクスを選択する。H.264の4×4画素ブロックにおけるデフォルトマトリクスとフラットなマトリクス(量子化マトリクスを用いない場合に対応)を式(19)に示す。
Figure 0004768779
このように本方式を用いると、式(3)の逆量子化を行なう場合に、式(4)の量子化マトリクスが、スライス毎或いはマクロブロック毎に変更できるため、主観画質を考慮した逆量子化が可能となる。このように、逆量子化部304では、動画像符号化装置で行われる量子化と同様の方式を用いて逆量子化が行われる。
上記実施の形態においては動画像符号化を例にとり説明したが、静止画像符号化にも本発明を適用することができる。
本発明の第1の実施の形態に従う画像符号化装置の構成を示すブロック図。 同画像符号化装置による動画像符号化方法の処理フローチャート。 同実施の形態に係わる量子化・逆量子化の方法を示す図。 同実施の形態に係わるシンタクス構造の概略を示す図。 同実施の形態に係わるシーケンスヘッダのデータ構造を示す図。 同実施の形態に係わるスライスヘッダのデータ構造を示す図。 同実施の形態に係わるマクロブロックレイヤーのデータ構造を示す図。 同実施の形態に係わるスライスヘッダのデータ構造を示す図。 同実施の形態に係わるマクロブロックレイヤーのデータ構造を示す図。 同実施の形態に係わる量子化コードテーブルインデックス量子化コードテーブルインデックスを示す図。 第2の実施の形態に従う画像符号化方法の処理フローチャート。 同実施の形態に従うシーケンスヘッダのデータ構造を示す図。 同実施の形態に従うスライスヘッダのデータ構造を示す図。 同実施の形態に従うマクロブロックヘッダのデータ構造を示す図。 本発明の実施の形態に従う画像復号化装置の構成を示すブロック図。
符号の説明
100…動画像符号化装置、101…量子化セット選択部、102…直交変換部、103…量子化部、104…スイッチ、105…仮符号化及び符号量測定部、106…符号化歪み測定部、107…符号化モード制御・判定部、108…逆量子化部、109…逆直交変換部。110…予測復号化部、111…参照画像メモリ、112…可変長符号化部、120…予測信号生成部、121…符号化制御部、122…多重化部、123…出力バッファ

Claims (4)

  1. 入力画像信号の画素ブロックの予測信号を求める予測信号生成ステップと、
    前記入力画像信号と前記予測信号に基づいて、前記画素ブロックの予測誤差信号を求める予測誤差生成ステップと、
    前記予測誤差信号を直交変換して直交変換信号を求める直交変換ステップと、
    量子化マトリクスに従った量子化により、前記直交変換信号の量子化変換係数を求める量子化ステップと、
    前記画素ブロックの、
    (1)前記量子化マトリクスに対応するインデックス情報、
    (2)前記予測信号の予測方式を示す予測モード情報、及び、
    (3)前記量子化変換係数を示す情報
    を符号化する符号化ステップと、を備え、
    前記符号化ステップは、前記量子化マトリクスが画素ブロック単位で設定される第1モードか、スライス内の各画素ブロックにフラットなマトリクスが用いられる第2モードか、を示す量子化モード情報をスライス単位で符号化し、
    前記符号化ステップは、前記画素ブロックが前記第1モードのスライス内の画素ブロックである場合に、前記インデックス情報を符号化することを特徴とする動画像符号化方法。
  2. 入力画像信号の画素ブロックの予測信号を求める予測信号生成部と、
    前記入力画像信号と前記予測信号に基づいて、前記画素ブロックの予測誤差信号を求める予測誤差生成部と、
    前記予測誤差信号を直交変換して直交変換信号を求める直交変換部と、
    量子化マトリクスに従った量子化により、前記直交変換信号の量子化変換係数を求める量子化部と、
    前記画素ブロックの、
    (1)前記量子化マトリクスに対応するインデックス情報、
    (2)前記予測信号の予測方式を示す予測モード情報、及び、
    (3)前記量子化変換係数を示す情報を符号化する符号化部と、を備え、
    前記符号化部は、前記量子化マトリクスが画素ブロック単位で設定される第1モードか、スライス内の各画素ブロックにフラットなマトリクスが用いられる第2モードか、を示す量子化モード情報をスライス単位で符号化し、
    前記符号化部は、前記画素ブロックが前記第1モードのスライス内の画素ブロックである場合に、前記インデックス情報を符号化することを特徴とする動画像符号化装置。
  3. 復号対象画像の前記画素ブロックの、
    (1)量子化マトリクスに対応するインデックス情報、
    (2)予測信号の予測方式を示す予測モード情報、及び、
    (3)量子化変換係数を示す情報
    を復号する復号ステップと、
    前記インデックス情報が示す前記量子化マトリクスに従った逆量子化により、前記量子化変換係数から直交変換信号を求める逆量子化ステップと、
    前記直交変換信号を逆直交変換して予測誤差信号を求める逆直交変換ステップと、
    前記予測モード情報が示す前記予測方式を用いて前記画素ブロックの前記予測信号を求める予測信号生成ステップと、
    前記予測誤差信号と前記予測信号に基づいて、前記画素ブロックの復号画像信号を求める復号画像生成ステップと、を備え、
    前記復号ステップは、前記量子化マトリクスが画素ブロック単位で設定される第1モードか、スライス内の各画素ブロックにフラットなマトリクスが用いられる第2モードか、を示す量子化モード情報をスライス単位で復号し、
    前記復号ステップは、前記画素ブロックが前記第1モードのスライス内の画素ブロックである場合に、前記インデックス情報を復号し、
    前記逆量子化ステップは、前記量子化モード情報が第2モードを示す場合に、フラットなマトリクスに従った逆量子化を行うことを特徴とする動画像復号化方法。
  4. 復号対象画像の前記画素ブロックの、
    (1)量子化マトリクスに対応するインデックス情報、
    (2)予測信号の予測方式を示す予測モード情報、及び、
    (3)量子化変換係数を示す情報
    を復号する復号部と、
    前記インデックス情報が示す前記量子化マトリクスに従った逆量子化により、前記量子化変換係数から直交変換信号を求める逆量子化部と、
    前記直交変換信号を逆直交変換して予測誤差信号を求める逆直交変換部と、
    前記予測モード情報が示す前記予測方式を用いて前記画素ブロックの前記予測信号を求める予測信号生成部と、
    前記予測誤差信号と前記予測信号に基づいて、前記画素ブロックの復号画像信号を求める復号画像生成部と、を備え、
    前記復号部は、前記量子化マトリクスが画素ブロック単位で設定される第1モードか、スライス内の各画素ブロックにフラットなマトリクスが用いられる第2モードか、を示す量子化モード情報をスライス単位で復号し、
    前記復号部は、前記画素ブロックが前記第1モードのスライス内の画素ブロックである場合に、前記インデックス情報を復号し、
    前記逆量子化部は、前記量子化モード情報が第2モードを示す場合に、フラットなマトリクスに従った逆量子化を行うことを特徴とする動画像復号化装置。
JP2008145168A 2008-06-02 2008-06-02 動画像符号化/復号化の方法及び装置 Expired - Fee Related JP4768779B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008145168A JP4768779B2 (ja) 2008-06-02 2008-06-02 動画像符号化/復号化の方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008145168A JP4768779B2 (ja) 2008-06-02 2008-06-02 動画像符号化/復号化の方法及び装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005075935A Division JP4146444B2 (ja) 2005-03-16 2005-03-16 動画像符号化の方法及び装置

Publications (3)

Publication Number Publication Date
JP2008206211A JP2008206211A (ja) 2008-09-04
JP2008206211A5 JP2008206211A5 (ja) 2010-03-25
JP4768779B2 true JP4768779B2 (ja) 2011-09-07

Family

ID=39783125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008145168A Expired - Fee Related JP4768779B2 (ja) 2008-06-02 2008-06-02 動画像符号化/復号化の方法及び装置

Country Status (1)

Country Link
JP (1) JP4768779B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9503754B2 (en) 2011-12-07 2016-11-22 Hitachi Kokusai Electric Inc. Image encoding device and image encoding method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2011259939B2 (en) 2010-06-04 2015-07-30 Sony Corporation Image processing device and method
US8965139B2 (en) 2010-09-29 2015-02-24 Panasonic Intellectual Property Corporation Of America Image decoding method, image coding method, image decoding apparatus, image coding apparatus and integrated circuit for generating a code stream with a hierarchical code structure
MX2013001774A (es) 2010-09-30 2013-03-18 Panasonic Corp Metodo de decodificacion de imagen, metodo de codificacion de imagen, aparato de decodificacion de imagen, aparato codificacion de imagen, programa, y circuito integrado.

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002051221A (ja) * 2000-08-01 2002-02-15 Canon Inc 画像符号化装置、画像復号化装置、システム、及びその方法並びに記憶媒体
JP2003284075A (ja) * 2002-01-18 2003-10-03 Toshiba Corp 動画像符号化方法と装置及び復号化方法と装置
JP3940657B2 (ja) * 2002-09-30 2007-07-04 株式会社東芝 動画像符号化方法と装置及び動画像復号化方法と装置
JP4290972B2 (ja) * 2002-12-18 2009-07-08 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラム,画像復号プログラム,画像符号化プログラムを記録した記録媒体および画像復号プログラムを記録した記録媒体
KR20040058929A (ko) * 2002-12-27 2004-07-05 삼성전자주식회사 Dtc 기반의 개선된 동영상 부호화 방법 및 그 장치
KR20040062257A (ko) * 2003-01-02 2004-07-07 삼성전자주식회사 움직임 보상에 기반한 개선된 노이즈 예측 방법 및 그장치와 이를 사용한 동영상 부호화 방법 및 그 장치
KR100584552B1 (ko) * 2003-01-14 2006-05-30 삼성전자주식회사 동영상 부호화 및 복호화 방법과 그 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9503754B2 (en) 2011-12-07 2016-11-22 Hitachi Kokusai Electric Inc. Image encoding device and image encoding method

Also Published As

Publication number Publication date
JP2008206211A (ja) 2008-09-04

Similar Documents

Publication Publication Date Title
JP4146444B2 (ja) 動画像符号化の方法及び装置
KR101971909B1 (ko) 이산 여현 변환/이산 정현 변환을 선택적으로 이용하는 부호화/복호화 장치 및 방법
KR101608426B1 (ko) 영상의 인트라 예측 부호화/복호화 방법 및 그 장치
JP4927207B2 (ja) 符号化方法、復号化方法及び装置
KR101196429B1 (ko) 동영상 트랜스코딩 방법 및 그 장치, 이에 사용되는움직임 벡터 보간방법
KR101689997B1 (ko) 영상 복호 장치, 및 영상 복호 방법
JP2007312362A (ja) 動画像符号化装置、方法、プログラム、動画像復号化装置、方法、およびプログラム
KR20130025853A (ko) 율-왜곡 최적화를 위한 영상 부호화/복호화 방법 및 이를 수행하는 장치
JP4383240B2 (ja) 画面内予測符号化装置、その方法及びそのプログラム
JP2011166592A (ja) 画像符号化装置及び画像復号装置
JP4768779B2 (ja) 動画像符号化/復号化の方法及び装置
JP5375938B2 (ja) 復号装置及び方法
KR20110090841A (ko) 가중치 예측을 이용한 영상 부호화/복호화 장치 및 방법
JP2008004984A (ja) 画像理装置および方法、プログラム、並びに記録媒体
JP6528635B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP4924708B2 (ja) 復号装置及び方法
JP4719854B2 (ja) 動画像符号化装置、動画像符号化プログラム、動画像復号化装置及び動画像復号化プログラム
JP2007266861A (ja) 画像符号化装置
JP5375935B2 (ja) 符号化装置及び方法
KR20160053848A (ko) 영상의 인트라 예측 부호화/복호화 방법 및 그 장치
JP4983908B2 (ja) 復号装置及び方法
JP4561688B2 (ja) 動画像符号化装置、動画像符号化プログラム、動画像復号化装置、及び動画像復号化プログラム
JP2008104072A (ja) 画像データの符号化方法および符号化装置
JP5375937B2 (ja) 符号化装置及び方法
JP5375936B2 (ja) 復号装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110427

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110616

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140624

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees