JP4952282B2 - 画像符号化装置、画像符号化方法、および画像符号化プログラム - Google Patents

画像符号化装置、画像符号化方法、および画像符号化プログラム Download PDF

Info

Publication number
JP4952282B2
JP4952282B2 JP2007033171A JP2007033171A JP4952282B2 JP 4952282 B2 JP4952282 B2 JP 4952282B2 JP 2007033171 A JP2007033171 A JP 2007033171A JP 2007033171 A JP2007033171 A JP 2007033171A JP 4952282 B2 JP4952282 B2 JP 4952282B2
Authority
JP
Japan
Prior art keywords
coefficient
image
inverse
quantization
transform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007033171A
Other languages
English (en)
Other versions
JP2008199344A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2007033171A priority Critical patent/JP4952282B2/ja
Publication of JP2008199344A publication Critical patent/JP2008199344A/ja
Application granted granted Critical
Publication of JP4952282B2 publication Critical patent/JP4952282B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、例えば、動画像データを、直交変換およびそれに順ずる変換方式を利用して符号化を行う符号化装置に関する。また、別の本発明は、動画像データを、直交変換およびそれに順ずる変換方式を利用して符号化を行う符号化方法、および符号化プログラムに関する。
近年、携帯電話やDVDレコーダなどの多くの機器で画像符号化技術が応用されている。画像符号化方式の国際標準規格であるH.264/MPEG−4 AVCにおいては、従来の画像符号化方式で演算精度が課題となっていた小数精度での逆直交変換を廃止し、整数精度で演算可能な逆直交変換を規定している。これにより、従来発生していた、小数精度の実装方法の違いによる符号化器と復号化器の逆直交変換時の演算誤差に関する課題は解決した。しかしながら、整数精度逆直交変換の内部演算において、復号化器の演算量を低減する目的で、各演算の中間変数の値域が16ビット演算相当に規格の上の制限を課している。このため、規格に準拠した符号化器は、この逆直交変換時に前記値域を越えないような符号化ストリームを生成する必要がある。しかしながら、非特許文献1に記載の処理を行って符号化ストリームを生成する場合、逆直交変換時に前記値域を越えるかどうかは、実際に逆直交変換を実行してみなければ分からない。符号化器は、前記値域を越えた場合、予測方法や量子化パラメータ等の符号化条件を変更して再度逆直交変換までの処理を実行し、これを、逆直交変換時に前記値域を越えなくなるまで繰り返さなければならなかった。
なお、本文において便宜上、数学的意味での直交変換、逆直交変換ではなくとも、それらに類似して周波数成分相当に変換、逆変換可能な操作を、それぞれ直交変換、逆直交変換と呼ぶこととする。例えば、H.264/MPEG−4 AVCにおける空間領域から周波数領域への変換、および周波数領域から空間領域への逆変換、がそれらに相当する。
次に、画像復号化装置150の構成と動作を説明し、それを踏まえた画像符号化装置100の構成と動作を説明する。
<画像復号化装置150の構成と動作>
図20に、画像復号化装置150について説明するブロック図を示す。画像復号化装置150は、画像符号化装置100で生成した符号化ストリーム133を入力とし、予測モード情報178と、量子化係数174と、量子化パラメータ182を出力する復号化部158と、予測モード情報178と再構成画像177を入力とし予測画像171を出力する予測部151と、量子化係数174と量子化パラメータ182を入力とし逆量子化係数175を出力する逆量子化部155と、逆量子化係数175を入力とし逆変換係数176を出力する逆直交変換部156と、逆変換係数176と予測画像171を入力とし再構成画像177を出力する再構成部157とを備えている。また、画像復号化装置150の出力は、再構成画像177と等しい、出力画像181である。
復号化部158では、符号化ストリーム133に対して、例えば可変長復号化あるいは算術復号化などのエントロピー復号化を施し、復号結果である、量子化係数174と量子化パラメータ182と、予測モード情報178を出力する。
予測部151では、画面内をm×n(m,nは正の整数)画素のブロック分割したうちの対象ブロックに対し、現在までに既に生成されている再構成画像177を用いて、予測モード情報178に基づいた予測を実行し、その結果である予測画像171を出力する。
逆量子化部155では、量子化係数174を、量子化パラメータ182に基づいて決定された量子化幅で乗算した結果を逆量子化係数175として出力する。ここで、対象ブロックの量子化係数174をQ(i,j)と置く。(i,j)は係数位置を示し、iは水平周波数位置、jは垂直周波数位置を示す。Q(0,0)がDC係数に相当する。逆量子化係数175を同様にIQ(i,j)とすると、逆量子化の演算は、
Figure 0004952282
で表すことができる。ここで、IQuant()は逆量子化の演算操作を表し、実際は係数位置(i,j)と量子化パラメータ182によって決定される係数IQuantCoeff(i,j)とQ(i,j)との乗算で定義できる。
逆直交変換部156では、逆量子化係数175に対して2次元逆直交変換を施したものを逆変換係数176として出力する。ここで、逆直交変換とは、離散コサイン逆変換(逆DCT)や、それに類似した整数精度の行列演算などであり、周波数成分もしくはそれに順ずる成分である逆量子化係数175を空間領域の画素レベルへと変換される。逆直交変換に関わる一連の各演算において、規格で定められた所定のビット数以内の範囲で演算を実施するため、前記所定のビット数以内でのみ、正しい逆変換係数176が出力されることが保証される。ここで、逆変換係数176をIT(x,y)と置く。(x,y)は係数位置を表し、対象ブロックの左上位置を(0,0)とし、xは水平空間位置、yは垂直空間位置を示す。
たとえば、H.264/MPEG−4 AVCにおいて使用される4×4ブロック逆直交変換の演算は、以下で定義されている。
Figure 0004952282
ここで、逆直交変換における各演算の演算結果e,f,g,h,h’の全ての値が、符号付きの所定ビットで表現できる値の範囲内(たとえば、符号化ストリームから復号されるシンタックス要素bitDepthが8である場合、16ビット:−32768〜32767の範囲内)に入っていることが、H.264/MPEG−4AVC規格準拠の符号化ストリームに課せられた条件である。
再構成部157では、逆変換係数176と、予測画像171の各係数と各画素を加算し、その結果を再構成画像177として出力する。ここで、逆直交変換部156において、逆直交変換に関わる一連の各演算結果が規格で定められた所定のビット数以内に収まらなければ正しい逆変換係数176が生成できないため、符号化ストリーム133は、前記各演算結果が前記所定のビット数以内に収まることを保証しなければならない。ここで、予測画像171をPred(x,y)、再構成画像177をREC(x,y)と置く。(x,y)は係数位置を表し、対象ブロックの左上位置を(0,0)とし、xは水平空間位置、yは垂直空間位置を示す。このとき再構成の演算は、
Figure 0004952282
で表すことができる。
<画像符号化装置100の構成と動作>
図19に、画像符号化装置100について説明するブロック図を示す。画像符号化装置100は、入力画像131と再構成画像127とオーバーフロー情報147を入力とし予測画像121と予測モード情報128を生成する予測部101と、入力画像131と予測画像121を入力とし予測差分画像122を出力とする差分演算部102と、予測差分画像122を入力とし変換係数123を出力とする直交変換部123と、変換係数123と量子化パラメータ132とオーバーフロー情報147を入力とし量子化係数124を出力とする量子化部104と、量子化係数124と量子化パラメータを入力とし、逆量子化係数125を出力とする逆量子化部105と、逆量子化係数125を入力とし逆変換係数126とオーバーフロー情報147を出力とする逆直交変換部106と、逆変換係数126と予測画像121を入力とし再構成画像127を出力とする再構成部107と、予測モード情報128と量子化係数124と量子化パラメータ132を入力とし符号化ストリーム133を出力とする符号化部108とを備えている。
予測部101では、画面内をm×n(m,nは正の整数)画素のブロック分割したうちの対象とする1ブロック(以下対象ブロックと呼ぶ)に対し、現在までに既に生成されている再構成画像127を用いて、規格で規定されている予測モードのいずれかに準じた予測を実行し、その結果である予測画像121と、予測画像を生成するために使用した予測モード情報128を出力する。このとき、通常、入力画像131を参照して、対象ブロックの入力画像131により近似した予測画像を生成できる予測モードを用いる。
差分演算部102では、予測画像121と対象ブロックの入力画像131との各画素の差分を計算し、その結果を予測差分画像122として出力する。ここで、入力画像131をOrg(x,y)、予測画像121をPred(x,y)、予測差分画像122をDiff(x,y)と置く。(x,y)は係数位置を表し、対象ブロックの左上位置を(0,0)とし、xは水平空間位置、yは垂直空間位置を示す。このとき差分演算は、
Figure 0004952282
で表すことができる。
直交変換部103では、予測差分画像122に対して2次元直交変換を施したものを変換係数123として出力する。ここで、直交変換とは、離散コサイン変換(DCT)や、それに類似した整数精度の行列演算などであり、予測差分画像122の周波数成分もしくはそれに順ずる成分へと変換される。ここで、変換係数123をT(i,j)と置く。(i,j)は係数位置を示し、iは水平周波数位置、jは垂直周波数位置を示す。このとき直交変換の演算は、
Figure 0004952282
で表すことができる。Trans()は直交変換の演算操作を表し、実際は予測差分画像位置(x,y)と変換係数位置(i,j)により決定される係数TransCoeff(i,j,x,y)と予測差分画像Diff(x,y)との積和演算で定義できる。
量子化部104では、変換係数123の各係数を、量子化パラメータ132に基づいて決定された量子化幅で除算した結果を整数精度に丸めた係数を量子化係数124として出力する。ここで、対象ブロックの量子化係数174をQ(i,j)と置く。(i,j)は係数位置を示し、iは水平周波数位置、jは垂直周波数位置を示す。Q(0,0)がDC係数に相当する。このとき量子化の演算は、
Figure 0004952282
で表すことができる。Quant()は量子化の演算操作を表し、実際は係数位置(i,j)と量子化パラメータ132によって決定される係数QuantCoeff(i,j)とT(i,j)との乗算で定義できる。
逆量子化部105では、量子化係数124を、量子化パラメータ132に基づいて決定された量子化幅で乗算した結果を逆量子化係数125として出力する。なお、逆量子化部105で使用される量子化幅は、量子化部104で使用される量子化幅と同一であっても、異なっていても構わない。逆量子化の演算は、画像復号化装置150で説明した逆量子化部155と同じである。
逆直交変換部106では、逆量子化係数125に対して2次元逆直交変換を施したものを逆変換係数126として出力する。ここで、逆直交変換とは、離散コサイン逆変換(逆DCT)や、それに類似した整数精度の行列演算などであり、周波数成分もしくはそれに順ずる成分である逆量子化係数125を空間領域の画素レベルへと変換される。なお、逆直交変換は、直交変換部103で実施される直交変換と、完全に逆行列であっても、なくても構わない。逆直交変換に関わる一連の各演算において、演算結果が所定のビット数を超える場合、オーバーフロー情報147にて、オーバーフローが発生したことを通知する。逆直交変換部106では、前記所定のビット数以内の範囲で演算を実施するため、前記所定のビット数以内でのみ、正しい逆変換係数126が出力されることが保証される。逆直交変換の演算は、画像復号化装置150で説明した逆直交変換部156と同じである。
再構成部107では、逆変換係数126と、予測画像121の各係数と各画素を加算し、その結果を再構成画像127として出力する。再構成の演算は、画像復号化装置150で説明した再構成部157と同じである。
符号化部108では、量子化係数124と予測モード情報128に対して、例えば可変長符号化あるいは算術符号化などのエントロピー符号化を施し、その結果を符号化ストリーム133として出力する。
ここで、予測部101および量子化部104は、逆直交変換部106がオーバーフロー情報147にてオーバーフローが発生したことを通知されると、予測部101にて他の方法にて予測をやり直したり、量子化部104にて量子化パラメータを変更して量子化をやり直したりし、逆直交変換部106にて再度逆直交変換を実施する。そして、逆直交変換部106にてオーバーフローが発生しなくなるまでこれを繰り返す。これにより、画像復号化装置150の逆直交変換部156にてオーバーフローが発生しない符号化ストリーム133を生成することができる。
<画像符号化方法>
図21に、画像符号化装置100における画像符号化方法を説明するフローチャートを示す。
ブロック単位の繰り返し処理(ステップS100)において、まず対象ブロックの予測画像121と、対応する予測モード情報128を生成し(ステップS101)、次に予測画像121と、入力画像131との差分である予測差分画像122を生成する(ステップS102)。続いて予測差分画像122に対し直交変換を行って変換係数123を生成し(ステップS103)、変換係数123を量子化して量子化係数124を生成する(ステップS104)。量子化係数124を逆量子化し、逆量子化係数125を生成し(ステップS105)、逆量子化係数125を逆直交変換して逆変換係数126を生成する(ステップS106)。ここで、逆直交変換の演算において、途中演算を含めて演算ビット数が所定のビット数を超過した(オーバーフローした)かどうかを判定し(ステップS111)、オーバーフローした場合は、予測画像生成(ステップS101)からやり直す。ここで、ステップS101では、前回とは異なる予測を行って予測画像121を生成する。もしくは、オーバーフローした場合に予測画像生成(ステップS101)ではなく量子化(ステップS104)に戻って、量子化パラメータを変更して量子化(ステップS104)を再実行する方法もある(図示せず)。いずれの場合も、量子化以降の処理が再実行され、逆直交変換(ステップS106)の再実行時にオーバーフロー判定(ステップS111)にてオーバーフローしなくなるまで繰り返される。
Steve Gordon et al,"Simplified Use of 8x8 Transforms − Proposal",JVT−J029,Dec,2003.
上記説明した画像符号化装置においては、逆直交変換でオーバーフローしないことを保証する符号化ストリームを生成するために、逆直交変換までの処理のやり直しが必要となり、処理量が多く必要となっていた。
そこで、本発明では、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの処理のやり直しを不要とし少ない処理量で実現する画像符号化装置、画像符号化方法、および画像符号化プログラムを提供することを課題とする。
請求項1に記載の画像符号化装置は、予測手段と、差分演算手段と、直交変換手段と、量子化手段と、評価値計算手段と、係数修正方式決定手段と、量子化係数修正手段と、逆量子化手段と、逆直交変換手段と、再構成手段と、符号化手段とを備えている。
前記評価値計算手段は、直交変換単位ブロックごとの処理であり、対象ブロックの2次元の量子化係数を例えば1次元走査し、その順序で前記量子化係数に基づいて順次、評価値を出力する。
また前記修正方式決定手段は、対象ブロックに関して順次入力される前記評価値があらかじめ設定された閾値を超えた場合に係数修正フラグを1に設定し、そのときの一次元走査位置を係数修正位置情報として保持する。それ以外は係数修正フラグを0に設定する。
また前記量子化係数修正手段は、前記係数修正フラグが1である場合に、前記一次元走査に従って、前記係数修正位置情報で示された位置以降の前記量子化係数を修正する。前記係数修正フラグが0である場合は前記量子化係数の修正は行わない。そして処理後の量子化係数を修正量子化係数として出力する。
本発明の画像符号化装置では、量子化係数に基づいて導出される評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
請求項2に記載の画像符号化装置は、請求項1に記載の画像符号化装置であって、前記評価値計算手段によって導出される前記評価値とは、前記量子化係数の各係数の絶対値を累積加算した値である。
本発明の画像符号化装置では、量子化係数の絶対値を累積加算した評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
請求項3に記載の画像符号化装置は、請求項1または2に記載の画像符号化装置であって、加えて、閾値計算手段とを備えている。
前記閾値計算手段は、量子化パラメータに応じて一対一対応で閾値を決定する。
本発明の画像符号化装置では、量子化係数に基づいて導出される評価値が、量子化パラメータに基づいて決定された閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
請求項4に記載の画像符号化装置は、請求項2または3に記載の画像符号化装置であって、前記評価値計算手段によって導出される前記評価値とは、前記量子化係数の各係数の絶対値と、前記各係数のインデックスに応じてあらかじめ決定された重み係数を掛け合わせた値を累積加算した累積加算値である。
本発明の画像符号化装置では、量子化係数の各係数の絶対値と重み係数との積を累積加算した評価値が、閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
請求項5に記載の画像符号化装置は、請求項1から4のいずれかに記載の画像符号化装置であって、前記量子化係数修正手段は、前記係数修正情報に基づいて、前記量子化係数のいくつかを値0に置換する。
本発明の画像符号化装置では、量子化係数に基づいて導出される評価値が閾値以下となるように量子化係数を値0に修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
請求項6に記載の画像符号化装置は、請求項1から5のいずれかに記載の画像符号化装置であって、前記評価値計算手段において、前記1次元走査は、低周波係数から高周波係数への走査である。
本発明の画像符号化装置では、量子化係数に基づいて導出される評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。さらには、前記量子化係数の修正は、高周波係数が優先的に修正され、該修正に伴う主観画質劣化を抑えることができる。
請求項7に記載の画像符号化装置は、請求項6に記載の画像符号化装置であって、前記評価値計算手段において、前記1次元走査は、低周波係数から高周波係数への走査であり、走査順序は符号化ストリームを生成する際の前記量子化係数の走査順序である。
本発明の画像符号化装置では、量子化係数に基づいて導出される評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。さらには、前記量子化係数の修正は、高周波係数が優先的に修正され、該修正に伴う主観画質劣化を抑えることができる。
請求項8に記載の画像符号化装置は、予測手段と、差分演算手段と、直交変換手段と、量子化手段と、評価値計算手段と、係数修正方式決定手段と、量子化係数修正手段と、逆量子化手段と、逆量子化係数修正手段と、逆直交変換手段と、再構成手段と、符号化手段とを備えている。
前記評価値計算手段は、直交変換単位ブロックごとの処理であり、対象ブロックの2次元の逆量子化係数を例えば1次元走査し、その順序で前記逆量子化係数に基づいて順次、評価値を出力する。
また前記係数修正方式決定手段は、対象ブロックに関して順次入力される前記累積加算値が前記閾値を超えた場合に係数修正フラグを1に設定し、そのときの一次元走査位置を係数修正位置情報として保持する。それ以外は係数修正フラグを0に設定する。
また前記量子化係数修正手段は、前記係数修正フラグが1である場合に、前記一次元走査に従って、前記係数修正位置情報で示された位置以降の前記量子化係数を修正する。前記係数修正フラグが0である場合は前記量子化係数の修正は行わない。そして処理後の量子化係数を修正量子化係数として出力する。
また前記逆量子化係数修正手段は、前記係数修正フラグが1である場合に、前記一次元走査に従って、前記係数修正位置情報で示された位置以降の前記逆量子化係数を修正する。前記係数修正フラグが0である場合は前記逆量子化係数の修正は行わない。そして処理後の逆量子化係数を修正逆量子化係数として出力する。
本発明の画像符号化装置では、逆量子化係数に基づいて導出される評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
請求項9に記載の画像符号化装置は、請求項8に記載の画像符号化装置であって、前記評価値計算手段によって導出される前記評価値とは、前記逆量子化係数の各係数の絶対値を累積加算した値である。
本発明の画像符号化装置では、逆量子化係数の各係数の絶対値を累積加算した評価値が閾値以下となるように逆量子化係数および量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
請求項10に記載の画像符号化装置は、請求項9に記載の画像符号化装置であって、前記評価値計算手段によって導出される前記評価値とは、前記逆量子化係数の各係数の絶対値と、前記各係数のインデックスに応じてあらかじめ決定された重み係数を掛け合わせた値を累積加算した値である。
本発明の画像符号化装置では、逆量子化係数の各係数の絶対値と重み係数との積を累積加算した評価値が閾値以下となるように逆量子化係数および量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
請求項11に記載の画像符号化装置は、請求項8から10に記載の画像符号化装置であって、前記逆量子化係数修正手段および前記量子化係数修正手段は、前記係数修正情報に基づいて、前記逆量子化係数および量子化係数のいくつかを値0に置換する。
本発明の画像符号化装置では、逆量子化係数の各係数の絶対値を累積加算した評価値が閾値以下となるように逆量子化係数および量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
請求項12に記載の画像符号化装置は、請求項8から11のいずれかに記載の画像符号化装置であって、前記逆量子化係数修正手段および前記量子化係数修正手段は、前記係数修正情報に基づいて、前記逆量子化係数および量子化係数のうち、それぞれ、高周波係数を優先的に修正する。
本発明の画像符号化装置では、逆量子化係数の各係数の絶対値を累積加算した評価値が閾値以下となるように逆量子化係数および量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。さらには、前記逆量子化係数および量子化係数の修正は、高周波係数が優先的に修正され、該修正に伴う主観画質劣化を抑えることができる。
請求項13に記載の画像符号化装置は、請求項12に記載の画像符号化装置であって、前記評価値計算手段における前記1次元走査は、低周波係数から高周波係数への走査であり、走査順序は符号化ストリームを生成する際の前記量子化係数の走査順序である。
本発明の画像符号化装置では、逆量子化係数の各係数の絶対値を累積加算した評価値が閾値以下となるように逆量子化係数および量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。さらには、前記逆量子化係数および量子化係数の修正は、高周波係数が優先的に修正され、該修正に伴う主観画質劣化を抑えることができる。
請求項14に記載の画像符号化装置は、予測手段と、差分演算手段と、直交変換手段と、量子化手段と、量子化係数修正手段と、逆量子化手段と、逆直交変換手段と、逆直交変換係数修正手段と、再構成手段と、符号化手段とを備えている。
前記逆直交変換手段は、対象ブロックの逆直交変換に関わる一連の各演算のいずれかにおいて、演算結果が所定のビット数を超える場合、オーバーフロー情報にて、オーバーフローが発生したことを通知する。
また前記量子化係数修正手段は、前記オーバーフロー情報によりオーバーフローが発生したと通知された場合、前記量子化係数を修正する。
また前記逆量子化係数修正手段は、前記オーバーフロー情報によりオーバーフローが発生したと通知された場合、前記逆量子化係数を修正する。
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と逆量子化係数を修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。
請求項15に記載の画像符号化装置は、請求項14に記載の画像符号化装置であって、前記量子化係数修正手段、および前記逆量子化係数修正手段における係数の修正とは、前記量子化係数および前記逆量子化係数の全てを値0に置換することである。
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に量子化係数と逆量子化係数の全てを値0に修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
請求項16に記載の画像符号化装置は、請求項14に記載の画像符号化装置であって、前記量子化係数修正手段における係数の修正とは、前記量子化係数のDC係数を除く全てを値0に置換することである。
また前記逆量子化係数修正手段における係数の修正とは、前記逆量子化係数全ての値を、前記量子化係数のうちのDC係数を所定の値で除算した結果の値で置換することである。
本発明の画像符号化装置では、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。さらには、オーバーフロー時においても、DC係数の修正を行わないことにより、主観画質の劣化を抑えることができる。
請求項17に記載の画像符号化装置は、予測手段と、差分演算手段と、直交変換手段と、量子化手段と、量子化係数修正手段と、逆量子化手段と、逆直交変換手段と、再構成手段と、再構成画像修正手段と、符号化手段とを備えている。
前記量子化係数修正手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、前記量子化係数をすべて値0に修正したものを前記修正量子化係数として出力し、それ以外の場合は前記量子化係数を修正量子化係数として出力する。
また前記再構成画像修正手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、前記予測画像を前記修正再構成画像として出力し、それ以外の場合には、前記再構成画像を前記修正再構成画像として出力する。
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と再構成画像を全て値0に修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。
請求項18に記載の画像符号化装置は、請求項14から17のいずれかに記載の画像符号化装置であって、前記予測手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、次の処理ブロックにおける予測モードの種類を制限する。
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と逆量子化係数もしくは再構成画像を修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。さらには、直交変換でオーバーフローした場合でも、該修正処理に伴う次ブロックの予測画像生成までの遅延を少なくすることができ、ブロック単位の処理時間を短くできる。
請求項19に記載の画像符号化装置は、請求項14から18のいずれかに記載の画像符号化装置であって、前記予測手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、次の処理ブロックにおける予測モードを、前記量子化係数を修正したブロックを参照しない予測モードに制限する。
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と逆量子化係数もしくは再構成画像を修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。さらには、直交変換でオーバーフローした場合でも、該修正処理に伴う次ブロックの予測画像生成の遅延を回避でき、ブロック単位の処理時間を短くできる。
請求項20に記載の画像符号化装置は、請求項14から19のいずれかに記載の画像符号化装置であって、前記予測手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、次の処理ブロックにおける予測モードを、前記量子化係数を修正したブロックを参照する予測モードに関しては、処理量のより多い予測モードを優先的に禁止する。
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と逆量子化係数もしくは再構成画像を修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。さらには、直交変換でオーバーフローした場合でも、該修正処理に伴う次ブロックの予測画像生成までの遅延を少なくすることができ、ブロック単位の処理時間を短くできる。
請求項21に記載の画像符号化方法は、予測ステップと、差分演算ステップと、直交変換ステップと、量子化ステップと、評価値計算ステップと、係数修正方式決定ステップと、量子化係数修正ステップと、逆量子化ステップと、逆直交変換ステップと、再構成ステップと、符号化ステップとを備えている。
前記評価値計算ステップは、直交変換単位ブロックごとの処理であり、対象ブロックの2次元の量子化係数を例えば1次元走査し、その順序で前記量子化係数に基づいて順次、評価値を出力する。
また前記修正方式決定ステップは、対象ブロックに関して順次入力される前記評価値があらかじめ設定された閾値を超えた場合に係数修正フラグを1に設定し、そのときの一次元走査位置を係数修正位置情報として保持する。それ以外は係数修正フラグを0に設定する。
また前記量子化係数修正ステップは、前記係数修正フラグが1である場合に、前記一次元走査に従って、前記係数修正位置情報で示された位置以降の前記量子化係数を修正する。前記係数修正フラグが0である場合は前記量子化係数の修正は行わない。そして処理後の量子化係数を修正量子化係数として出力する。
本発明の画像符号化方法では、量子化係数に基づいて導出される評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
請求項22に記載の画像符号化方法は、請求項1に記載の画像符号化方法であって、前記評価値計算ステップによって導出される前記評価値とは、前記量子化係数の各係数の絶対値を累積加算した値である。
本発明の画像符号化方法では、量子化係数の絶対値を累積加算した評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
請求項23に記載の画像符号化方法は、予測ステップと、差分演算ステップと、直交変換ステップと、量子化ステップと、評価値計算ステップと、係数修正方式決定ステップと、量子化係数修正ステップと、逆量子化ステップと、逆量子化係数修正ステップと、逆直交変換ステップと、再構成ステップと、符号化ステップとを備えている。
前記評価値計算ステップは、直交変換単位ブロックごとの処理であり、対象ブロックの2次元の逆量子化係数を例えば1次元走査し、その順序で前記逆量子化係数に基づいて順次、評価値を出力する。
また前記係数修正方式決定ステップは、対象ブロックに関して順次入力される前記累積加算値が前記閾値を超えた場合に係数修正フラグを1に設定し、そのときの一次元走査位置を係数修正位置情報として保持する。それ以外は係数修正フラグを0に設定する。
また前記量子化係数修正ステップは、前記係数修正フラグが1である場合に、前記一次元走査に従って、前記係数修正位置情報で示された位置以降の前記量子化係数を修正する。前記係数修正フラグが0である場合は前記量子化係数の修正は行わない。そして処理後の量子化係数を修正量子化係数として出力する。
また前記逆量子化係数修正ステップは、前記係数修正フラグが1である場合に、前記一次元走査に従って、前記係数修正位置情報で示された位置以降の前記逆量子化係数を修正する。前記係数修正フラグが0である場合は前記逆量子化係数の修正は行わない。そして処理後の逆量子化係数を修正逆量子化係数として出力する。
本発明の画像符号化方法では、逆量子化係数に基づいて導出される評価値が閾値以下となるように量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
請求項24に記載の画像符号化方法は、請求項23に記載の画像符号化方法であって、前記評価値計算ステップによって導出される前記評価値とは、前記逆量子化係数の各係数の絶対値を累積加算した値である。
本発明の画像符号化方法では、逆量子化係数の各係数の絶対値を累積加算した評価値が閾値以下となるように逆量子化係数および量子化係数を修正することで、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を、逆直交変換までの再実行処理を伴わず低処理で実現できる。
請求項25に記載の画像符号化装置は、予測手段と、差分演算手段と、直交変換手段と、量子化手段と、量子化係数修正手段と、逆量子化手段と、逆直交変換手段と、逆直交変換係数修正手段と、再構成手段と、符号化手段とを備えている。
前記逆直交変換手段は、対象ブロックの逆直交変換に関わる一連の各演算のいずれかにおいて、演算結果が所定のビット数を超える場合、オーバーフロー情報にて、オーバーフローが発生したことを通知する。
また前記量子化係数修正手段は、前記オーバーフロー情報によりオーバーフローが発生したと通知された場合、前記量子化係数を修正する。
また前記逆量子化係数修正手段は、前記オーバーフロー情報によりオーバーフローが発生したと通知された場合、前記逆量子化係数を修正する。
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と逆量子化係数を修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。
請求項26に記載の画像符号化方法は、請求項25に記載の画像符号化方法であって、前記量子化係数修正ステップにおける係数の修正とは、修正時に前記量子化係数および前記逆量子化係数の全てを値0に置換することである。
本発明の画像符号化装置では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と逆量子化係数を修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。
請求項27に記載の画像符号化方法は、予測ステップと、差分演算ステップと、直交変換ステップと、量子化ステップと、量子化係数修正ステップと、逆量子化ステップと、逆直交変換ステップと、再構成ステップと、再構成画像修正ステップと、符号化ステップとを備えている。
前記量子化係数修正ステップは、前記オーバーフロー情報が、前記逆直交変換のための内部演算が途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、前記量子化係数をすべて値0に修正したものを前記修正量子化係数として出力し、それ以外の場合は前記量子化係数を修正量子化係数として出力する。
また前記再構成画像修正ステップは、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、前記予測画像を前記修正再構成画像として出力し、それ以外の場合には、前記再構成画像を前記修正再構成画像として出力する。
本発明の画像符号化方法では、逆直交変換でオーバーフローした場合に、逆直交変換の再実行をすることなく量子化係数と再構成画像を全て値0に修正することにより、逆直交変換でオーバーフローしないことを保証する符号化ストリームの生成を低処理で実現できる。
本発明では、逆直交変換の再実行を不要とし、逆直交変換のオーバーフローが起きないことが保証された符号化ストリームを低処理で生成する、画像符号化装置、画像符号化方法、および画像符号化プログラムを提供することが可能となる。
(実施形態1)
図1、図5〜図8を用いて、本発明の実施形態1としての画像符号化装置200について説明する。図1に示す画像符号化装置200は、逆直交変換時のオーバーフローを回避するために、量子化係数の絶対値の累積加算値に基づいて量子化係数を修正する点に特徴を有している。
<画像符号化装置200の構成>
画像符号化装置200は、入力画像231と再構成画像227を入力とし予測画像221と予測モード情報228を生成する予測部201と、入力画像231と予測画像221を入力とし予測差分画像222を出力とする差分演算部202と、予測差分画像222を入力とし変換係数223を出力とする直交変換部203と、変換係数223と量子化パラメータ232を入力とし量子化係数224を出力とする量子化部204と、量子化係数224を入力とし評価値を出力する評価値計算部211と、量子化パラメータ232を入力とし閾値242を出力する閾値計算部212と、評価値241と閾値242を入力とし係数修正情報243を出力する係数修正方式決定部213と、量子化係数224と係数修正情報243を入力とし修正量子化係数244を出力する量子化係数修正部214と、修正量子化係数244を入力とし逆量子化係数225を出力する逆量子化部205と、逆量子化係数225を入力とし逆変換係数226を出力する逆直交変換部206と、逆変換係数226と予測画像221を入力とし再構成画像227を出力する再構成部207と、修正量子化係数244と量子化パラメータ232と予測モード情報228を入力とし符号化ストリーム233を出力する符号化部208とを備えている。
予測部201では、画面内をm×n(m,nは正の整数)画素のブロック分割したうちの対象とする1ブロック(以下対象ブロックと呼ぶ)に対し、現在までに既に生成されている再構成画像227を用いて、規格で規定されている予測モードのいずれかに準じた予測を実行し、その結果である予測画像221と、予測画像を生成するために使用した予測モード情報228を出力する。このとき、通常、入力画像231を参照して、対象ブロックの入力画像231により近似した予測画像を生成できる予測モードを用いる。
差分演算部202では、予測画像221と対象ブロックの入力画像231との各画素の差分を計算し、その結果を予測差分画像222として出力する。
直交変換部203では、予測差分画像222に対して2次元直交変換を施したものを変換係数223として出力する。ここで、直交変換とは、離散コサイン変換(DCT)や、それに類似した整数精度の行列演算などであり、予測差分画像222の周波数成分もしくはそれに順ずる成分へと変換される。
量子化部204では、変換係数223の各係数を、量子化パラメータ232に基づいて決定された量子化幅で除算した結果を整数精度に丸めた係数を量子化係数224として出力する。
評価値計算部211では、対象ブロックに関する量子化係数224の各係数を、あらかじめ定めた順番で読み込み、量子化係数224の各係数位置に応じてあらかじめ設定された重み係数と量子化係数224の各係数の絶対値とを掛け合わせた値を累積加算し、その累積加算値を順次、評価値241として出力する。
閾値計算部212では、与えられた量子化パラメータ232に対して一対一対応で閾値を決定し、閾値242として出力する。
係数修正方式決定部213では、評価値241と、閾値242とから、評価値241が閾値242を超えた場合に、評価値241が閾値242以下となるような量子化係数修正方法を、係数修正情報243として出力する。
量子化係数修正部214では、係数修正情報243に基づいて量子化係数224の値を修正し、修正量子化係数244として出力する。ここで、修正方法は、量子化係数224の特定係数位置を値0に置き換える、または一定値までに抑える、などの簡易な処理である。
逆量子化部205では、修正量子化係数244を、量子化パラメータ232に基づいて決定された量子化幅で乗算した結果を逆量子化係数225として出力する。
逆直交変換部206では、逆量子化係数225に対して2次元逆直交変換を施したものを逆変換係数226として出力する。ここで、逆直交変換とは、離散コサイン逆変換(逆DCT)や、それに類似した整数精度の行列演算などであり、周波数成分もしくはそれに順ずる成分である逆量子化係数225を空間領域の画素レベルへと変換される。なお、前記逆直交変換は、直交変換部203で実施される直交変換と、完全に逆行列であっても、なくても構わない。逆直交変換部206では、所定のビット数以内の範囲で演算を実施するため、前記所定のビット数以内でのみ、正しい逆変換係数226が出力されることが保証される。
再構成部207では、逆変換係数226と、予測画像221の各係数と各画素を加算し、その結果を再構成画像227として出力する。
符号化部208では、量子化係数224と予測モード情報228に対して、例えば可変長符号化あるいは算術符号化などのエントロピー符号化を施し、その結果を符号化ストリーム233として出力する。
<画像符号化装置200の動作>
差分演算部202、直交変換部203、再構成部207、符号化部208は背景技術にて説明したとおりである。また、予測部201、量子化部204は、背景技術にて説明した、オーバーフロー時のやり直し処理を行わないことのみに違いがあり、それ以外の動作は背景技術にて説明したとおりである。
評価値計算部211の動作を、図5、図6を用いて説明する。図5に示す量子化係数224は、直交変換の単位ブロックが4×4画素ブロックである場合の2次元量子化係数である。これを、累積加算を行う目的で、1次元走査を行う。ここで前記1次元走査は、例えば図5に示すような、低周波数成分から高周波数成分への走査である。なお、この走査順序は、フレーム符号化時はジグザグ走査、フィールド符号化時はフィールド走査、などとしても良く、またそれ以外の一次元走査でも構わない。
一次元走査をした後、この順序で、量子化係数224(Q(k):1次元走査によりk番目に読まれる量子化係数)の絶対値と、走査位置ごとにあらかじめ与えられた重み係数251(W(k))とから、累積加算した結果である評価値241(S(k):k番目の量子化係数までの累算値)を求める。評価値241(S(k))は、以下の式で計算される。
Figure 0004952282
なお、W(k)の値を、例えば2のべき乗などとすることで、実演算では乗算を用いずビットシフトを伴った加算のみの簡易な演算で実現することができる。
係数修正方式決定部213の動作を、図7を用いて説明する。直交変換の単位ブロックごとの処理であり、単位ブロックの処理開始時に、係数修正フラグ253を0に初期化する。次に評価値241と、閾値242とを比較し、評価値241が閾値242よりも大きくなった場合に、係数修正フラグに1を設定し、その時の評価値241(S(k))に対応する累算位置情報252(k)の値を、係数修正位置情報254として設定する。係数修正フラグ253と、係数修正位置情報254の両方を、係数修正情報243として出力する。なお、係数修正フラグ253が1に設定された時点で、以降のkにおける評価値241(S(k))の計算、および閾値242との比較処理は中断してもよい。
量子化係数修正部214の動作を、図8を用いて説明する。係数修正フラグ253が1、係数修正位置情報254が11であった場合、量子化係数224(Q(k))は、
Figure 0004952282
として修正され、修正量子化係数244(Q’(k))が出力される。また、係数修正フラグ253が0であった場合は、すべてのkに対してQ’(k)=Q(k)として、修正量子化係数244(Q’(k))が出力される。これによって、修正量子化係数244は、量子化係数224と見立てて評価値241を計算した場合を想定すると、閾値242を超えない値に収まるものとなる。なお、閾値242を超えない値に収まれば、必ずしも“k>=係数修正位置情報254”なるkにおいてQ’(k)を0に修正する必要はなく、“Q’(k)<Q(k)”を満たす非0の値に修正してもよい。ここで、評価値計算部211において説明した通り、k=0,1,2,...によって走査される量子化係数224(Q(k))は、低周波数成分から高周波数成分への走査であるため、高周波数成分を優先的に値を修正している。これは、人間の視覚特性上、高周波数成分よりも低周波数成分がより重要な情報であることを考慮したものであり、これにより、量子化係数が修正されても人間の視覚特性上の劣化は目立ちにくいものとなる。
以上の量子化係数修正により、修正量子化係数244(Q’(i,j))は、
Figure 0004952282
を満たすことになる。
一方、逆直交変換の各演算を、背景技術にて説明した4×4ブロック直交変換を例に取って説明する。逆直交変換の各演算の演算結果e,f,g,h,h’それぞれは、逆量子化係数225(IQ(i,j))の多項式で展開することができる。すなわち、e(x,y),f(x,y),g(x,y),h(x,y),h’(x,y)をそれぞれn(0,x,y),n(1,x,y),...,n(4,x,y)と置き換えると、nCoeff(k,i,j,x,y)およびnCoeff2(k)を多項式の係数として、
Figure 0004952282
と表すことができる。また、逆量子化係数225(IQ(i,j))は、さらに次の通り修正量子化係数244(Q’(i,j))で導出される。
Figure 0004952282
よって、n(k,x,y)はQ’(i,j)の多項式で表すことができる。この式を、nQCoeff(k,i,j,x,y)およびnQCoeff2(k)を多項式の係数として、
Figure 0004952282
と表すことができる。これより、
Figure 0004952282
が成立する。nQCoeffSum(k,x,y)を以下で定義する。
Figure 0004952282
nQCoeffSum(k,x,y)の最大値をMAXQCoeff、|nQCoeff2(k)|の最大値をMAXQCoeff2として、n(k,x,y)の値が所定のビット数に収めることを考える。収めるべき値の範囲を例えば−32768以上、32767以下とすると、
Figure 0004952282
と置くことにより、“|n(k,x,y)|<=32767”が成立する。なお、THは上記値以下の整数値などを用いてもよく、さらには、よりITの値の見積もり精度を向上させるために、係数位置(i,j)に応じて重みW(i,j)を設定してもよい。ここで、閾値THを導出するためのMAXQCoeffは、IQuantCoeff(i,j)に依存し、すなわち量子化パラメータ232に依存するため、量子化パラメータ232の値に応じて閾値THの値を決定する。このように、修正量子化係数224(Q’(k))の多項式展開を利用して、THとW(i,j)の適切な設定により、逆直交変換における各演算の演算結果を所定のビット数で表現できる範囲内に収めることができる。
<画像符号化方法>
図9に、画像符号化装置200における画像符号化方法を説明するフローチャートを示す。ただし、直交変換単位ブロックが4×4画素ブロックの例で説明する。
ブロック単位の繰り返し処理(ステップS200)において、まず対象ブロックの予測画像221と、対応する予測モード情報228を生成し(ステップS201)、予測画像221と入力画像231との差分演算を行って予測差分画像222を生成し(ステップS202)、予測差分画像222を直交変換して変換係数223を生成し(ステップS203)、変換係数223を量子化して量子化係数224(Q(k))を生成する(ステップS204)。次に量子化パラメータ232に基づいて閾値242(TH)を決定する(ステップS212)。
ModFlag=0,S(−1)=0と初期値を設定(ステップS231)した後、k=0〜15に関して(ステップS232)、評価値241(S(k))を、“S(k)=S(k−1)+|Q(k)|*W(k)”として計算する(ステップS233)。ここでS(k)が閾値242(TH)よりも大きくなった場合(ステップS234)、ModFlagを1に設定し(ステップS235)、修正量子化係数244(Q’(k))は、ModFlagが1の場合(ステップS236)、Q’(k)=0とし(ステップS237)、ModFlagが0の場合はQ’(k)=Q(k)として生成する。
続いて修正量子化係数244を逆量子化して逆量子化係数225を生成し(ステップS205)、逆量子化係数225を逆直交変換して逆変換係数226を生成し(ステップS206)、逆変換係数226と予測画像221を足し合わせて再構成画像227を生成する(ステップS207)。修正量子化係数244と予測モード情報228と量子化パラメータ232を符号化し、符号化ストリーム233を生成する(ステップS208)。
<実施形態1の効果>
以上のように本実施形態では、量子化係数の値を、直交変換単位ブロック内の量子化係数値の絶対値と、その係数の位置に対応する重み係数とをそれぞれ掛け合わせ累積加算した結果である評価値が所定の値以内になるよう修正することにより、逆直交変換のための内部演算が所定の演算ビット数でオーバーフローしないことを保証することができる。また、重み係数を2のべき乗などに制限することで乗算器を不要にでき、少ない演算量で、逆直交変換時の内部演算がオーバーフローしないことを保証できる。さらには、量子化係数の高周波数成分を優先的に修正することで、人間の視覚特性上の劣化を抑えることができる。
(実施形態2)
図2、図10〜図12を用いて、本発明の実施形態2としての画像符号化装置300について説明する。図2に示す画像符号化装置300は、逆直交変換時のオーバーフローを回避するために、逆量子化係数の累積加算値に基づいて逆量子化係数を修正し、また修正した逆量子化係数に対応する量子化係数を修正する点に特徴を有している。
<画像符号化装置300の構成>
画像符号化装置300は、入力画像331と再構成画像327を入力とし予測画像321と予測モード情報328を生成する予測部301と、入力画像331と予測画像321を入力とし予測差分画像322を出力とする差分演算部302と、予測差分画像322を入力とし変換係数323を出力とする直交変換部303と、変換係数323と量子化パラメータ332を入力とし量子化係数324を出力とする量子化部304と、量子化係数324と量子化パラメータ332を入力とし逆量子化係数325を出力する逆量子化部305と、逆量子化係数325を入力とし評価値を出力する評価値計算部311と、評価値341と閾値342を入力とし係数修正情報343を出力する係数修正方式決定部313と、量子化係数324と係数修正情報343を入力とし修正量子化係数344を出力する量子化係数修正部314と、逆量子化係数325と係数修正情報343を入力とし修正逆量子化係数345を出力する逆量子化係数修正部315と、修正逆量子化係数345を入力とし逆変換係数326を出力する逆直交変換部306と、逆変換係数326と予測画像321を入力とし再構成画像327を出力する再構成部307と、修正量子化係数344と量子化パラメータ332と予測モード情報328を入力とし符号化ストリーム333を出力する符号化部308とを備えている。
予測部301、差分演算部302、直交変換部303、量子化部304、逆量子化部305、再構成部307、量子化係数修正部314、符号化部308は、実施形態1として先に説明したものと同じ構成である。また、逆直交変換部306は、入力が逆量子化係数の代わりに修正逆量子化係数345であることを除いて同じ構成である。
評価値計算部311では、対象ブロックに関する逆量子化係数325の各係数を、あらかじめ定めた順番で読み込み、逆量子化係数325の各係数位置に応じてあらかじめ設定された重み係数と逆量子化係数325の各係数の絶対値とを掛け合わせた値を累積加算し、その累積加算値を順次、評価値341として出力する。
係数修正方式決定部313では、評価値341と、閾値342とから、評価値341が閾値342を超えた場合に、評価値341が閾値342以下となるような逆量子化係数修正方法を、係数修正情報343として出力する。
逆量子化係数修正部315では、係数修正情報343に基づいて逆量子化係数325の値を修正し、修正逆量子化係数345として出力する。ここで、修正方法は、逆量子化係数325の特定係数位置を値0に置き換える、または一定値までに抑える、などの簡易な処理である。
<画像符号化装置300の動作>
予測部301、差分演算部302、直交変換部303、量子化部304、逆量子化部305、逆直交変換部306、再構成部307、量子化係数修正部314、符号化部308の動作は、実施形態1として先に説明したものと同じである。
評価値計算部311の動作を、図10、11を用いて説明する。図10に示す逆量子化係数325は、直交変換の単位ブロックが4×4画素ブロックである場合の2次元逆量子化係数である。これを、累積加算を行う目的で、1次元走査を行う。ここで前記1次元走査は、例えば図10に示すような、低周波数成分から高周波数成分への走査である。なお、この走査順序は、フレーム符号化時はジグザグ走査、フィールド符号化時はフィールド走査、などとしても良く、またそれ以外の一次元走査でも構わないし、逐次的な走査ではなく、複数の成分を並列に走査する、などの方法を取っても構わない。
一次元走査をした後、この順序で、逆量子化係数325(IQ(k):1次元走査によりk番目に読まれる逆量子化係数)の絶対値と、走査位置ごとにあらかじめ与えられた重み係数351(W(k))とから、評価値341(S(k):k番目の量子化係数までの累算値)を求める。評価値341(S(k))は、以下の式で計算される。
Figure 0004952282
なお、W(k)の値を、例えば2のべき乗などとすることで、実演算では乗算を用いずビットシフトを伴った加算のみの簡易な演算で実現することができる。
係数修正方式決定部313の動作は、図7を用いて説明した実施形態1の係数修正方式決定部213と同じである。直交変換の単位ブロックごとの処理であり、単位ブロックの処理開始時に、係数修正フラグ353を0に初期化する。次に評価値341と、閾値342とを比較し、評価値341が閾値342よりも大きくなった場合に、係数修正フラグに1を設定し、その時の評価値341(S(k))に対応する累算位置情報352(k)の値を、係数修正位置情報354として設定する。係数修正フラグ353と、係数修正位置情報354の両方を、係数修正情報343として出力する。なお、係数修正フラグ353が1に設定された時点で、以降のkにおける評価値341(S(k))の計算、および閾値342との比較処理は中断してもよい。
逆量子化係数修正部315の動作を、図12を用いて説明する。係数修正フラグ353が1、係数修正位置情報354が11であった場合、逆量子化係数325(IQ(k))は、
Figure 0004952282
として修正され、修正逆量子化係数345(IQ’(k))が出力される。また、係数修正フラグ353が0であった場合は、すべてのkに対してIQ’(k)=IQ(k)として、修正逆量子化係数345(IQ’(k))が出力される。これによって、修正逆量子化係数345は、これを逆量子化係数325と見立てて評価値341を計算した場合を想定すると、閾値342を超えない値に収まるものとなる。なお、閾値342を超えない値に収まれば、必ずしも“k>=係数修正位置情報354”なるkにおいてQ’(k)を0に修正する必要はなく、“Q’(k)<Q(k)”を満たす非0の値に修正してもよい。ここで、評価値計算部311において説明した通り、k=0,1,2,...によって走査される逆量子化係数325(IQ(k))は、低周波数成分から高周波数成分への走査であるため、高周波数成分を優先的に値を修正している。これは、人間の視覚特性上、高周波数成分よりも低周波数成分がより重要な情報であることを考慮したものであり、これにより、量子化係数が修正されても人間の視覚特性上の劣化は目立ちにくいものとなる。
量子化係数修正部314の動作は、図8を用いて説明した実施形態1の量子化係数修正部214と同じである。これにより、係数修正フラグ353が1である場合、“k>係数修正位置情報354”なるkにおいて、Q(k)とIQ(k)は共に値0に修正される。ここで、逆量子化処理を“IQuant()”とすると、IQuant(0)=0であるので、この結果、すべてのkにおいて、修正後の量子化係数Q’(k)および修正後の逆量子化係数IQ’(k)は、
Figure 0004952282
の関係が、逆量子化処理“IQuant()”の再実行なしに成立する。すなわち、逆量子化処理の入力である量子化係数が修正されるものの、逆量子化処理の再実行なしに、修正量子化係数344を逆量子化したものに等しい修正逆量子化係数345を生成することができる。
以上の逆量子化係数修正により、修正逆量子化係数345(IQ’(i,j))は、
Figure 0004952282
を満たすことになる。
一方、逆直交変換の各演算を、背景技術にて説明した4×4ブロック直交変換を例に取って説明する。実施形態1における説明と同様に、各演算の演算結果n(k,x,y)は、
Figure 0004952282
と、修正逆量子化係数345(IQ’(i,j))の多項式で展開できることになる。これより、
Figure 0004952282
が成立する。nIQCoeffSum(k,x,y)を以下で定義する。
Figure 0004952282
nIQCoeffSum(k,x,y)の最大値をMAXQCoeff、|nIQCoeff2(k)|の最大値をMAXIQCoeff2として、n(k,x,y)の値が所定のビット数に収めることを考える。収めるべき値の範囲を例えば−32768以上、32767以下とすると、
Figure 0004952282
と置くことにより、“|n(k,x,y)|<=32767”が成立する。なお、THは上記値以下の整数値などを用いてもよい。さらには、よりITの値の見積もり精度を向上させるために、係数位置(i,j)に応じて重みW(i,j)を設定してもよい。このように、修正量子化係数224(Q’(k))の多項式展開を利用して、THとW(i,j)の適切な設定により、逆直交変換における各演算の演算結果を所定のビット数で表現できる範囲内に収めることができる。
<画像符号化方法>
図13に、画像符号化装置300における画像符号化方法を説明するフローチャートを示す。ただし、これは直交変換単位ブロックが4×4画素ブロックの例で説明する。
ブロック単位の繰り返し処理(ステップS300)において、まず対象ブロックの予測画像321と、対応する予測モード情報328を生成し(ステップS301)、予測画像321と入力画像331との差分演算を行って予測差分画像322を生成し(ステップS302)、予測差分画像322を直交変換して変換係数323を生成し(ステップS303)、変換係数323を量子化して量子化係数324(Q(k))を生成する(ステップS304)。続いて量子化係数324を逆量子化して逆量子化係数325を生成する(ステップS315)。
ModFlag=0,S(−1)=0と初期値を設定(ステップS331)した後、k=0〜15に関して(ステップS332)、評価値341(S(k))を、“S(k)=S(k−1)+|IQ(k)|*W(k)”として計算する(ステップS333)。ここでS(k)が閾値342(TH)よりも大きくなった場合(ステップS334)、ModFlagを1に設定する(ステップS335)。修正量子化係数344(Q’(k))および修正逆量子化係数345(IQ’(k))は、ModFlagが1の場合(ステップS336)、Q’(k)=0(ステップS337)およびIQ’(k)=0(ステップS339)とし、ModFlagが0の場合はQ’(k)=Q(k)(ステップS338)およびIQ’(k)=IQ(k)(ステップS340)として生成する。
続いて修正逆量子化係数345(IQ’(k))を逆直交変換して逆変換係数326を生成し(ステップS306)、逆変換係数326と予測画像321を足し合わせて再構成画像327を生成する(ステップS307)。修正量子化係数344(Q’(k))と予測モード情報328と量子化パラメータ332を符号化し、符号化ストリーム333を生成する(ステップS308)。
<実施形態2の効果>
以上のように本実施形態では、逆量子化係数の値を、直交変換単位ブロック内の逆量子化係数値の絶対値と、その係数の位置に対応する重み係数とをそれぞれ掛け合わせ累積加算した結果である評価値が所定の値以内になるよう修正し、加えて対応する量子化係数も修正することにより、逆直交変換のための内部演算が所定の演算ビット数でオーバーフローしないことを保証することができる。また、重み係数を2のべき乗などに制限することで乗算器を不要にでき、少ない演算量で、逆直交変換時の内部演算がオーバーフローしないことが保証された符号化ストリームを生成できる。さらには、逆量子化係数の高周波数成分を優先的に修正することで、人間の視覚特性上の劣化を抑えることができる。
(実施形態3)
図3、図14、15を用いて、本発明の実施形態3としての画像符号化装置400について説明する。図3に示す画像符号化装置400は、逆直交変換時のオーバーフローを回避するために、逆直交変換実行中にオーバーフローしたかどうかを判定し、オーバーフローした場合に、量子化係数と逆変換係数を修正する点に特徴を有している。
<画像符号化装置400の構成>
画像符号化装置400は、入力画像431と再構成画像427を入力とし予測画像421と予測モード情報428を生成する予測部401と、入力画像431と予測画像421を入力とし予測差分画像422を出力とする差分演算部402と、予測差分画像422を入力とし変換係数423を出力とする直交変換部403と、変換係数423と量子化パラメータ432を入力とし量子化係数424を出力とする量子化部404と、量子化係数424を入力とし逆量子化係数425を出力する逆量子化部405と、逆量子化係数425を入力とし逆変換係数426とオーバーフロー情報447を出力する逆直交変換部406と、逆変換係数426とオーバーフロー情報447を入力とし修正逆変換係数446を出力する逆変換係数修正部416と、修正逆変換係数446と予測画像421を入力とし再構成画像427を出力する再構成部407と、量子化係数424とオーバーフロー情報447を入力とし修正量子化係数444を出力する量子化係数修正部414と、修正量子化係数444と量子化パラメータ432と予測モード情報428を入力とし符号化ストリーム433を出力する符号化部408とを備えている。
予測部401、差分演算部402、直交変換部403、量子化部404、符号化部408は、実施形態1として先に説明したものと同じ構成である。また、逆量子化部405は、入力が修正量子化係数の代わりに量子化係数424であることを除いて構成は同じであり、逆直交変換部406は、入力が修正逆量子化係数の代わりに逆量子化係数425であることを除いて構成は同じであり、再構成部407は、入力が逆変換係数の代わりに修正逆変換係数446であることを除いて構成は同じである。
逆直交変換部406は、背景技術として先に説明したものと同じ構成であり、逆直交変換に関わる一連の各演算において、演算結果が所定のビット数を超える場合、オーバーフロー情報447にて、オーバーフローが発生したことを通知する。量子化係数修正部414では、オーバーフロー情報447に基づいて量子化係数424の値を修正し、修正量子化係数444として出力する。ここで、修正方法は、対象ブロック内の量子化係数424すべてもしくは一部を値0に置き換える、などの簡易な処理である。逆量子化係数修正部416では、オーバーフロー情報447に基づいて逆変換係数426の値を修正し、修正量子化係数446として出力する。ここで、修正方法は、対象ブロック内の逆変換係数426すべてを値0もしくは一定の値に置き換える、などの簡易な処理である。
<画像符号化装置400の動作>
予測部401、差分演算部402、直交変換部403、量子化部404、逆量子化部405、逆直交変換部406、再構成部407、符号化部408は、実施形態1として先に説明したものと同じ動作である。
逆直交変換部406は、背景技術として先に説明したものと同じ動作であり、対象ブロックの逆直交変換に関わる一連の各演算のいずれかにおいて、演算結果が所定のビット数を超える場合、オーバーフロー情報447にて、オーバーフローが発生したことを通知する。例えばオーバーフロー情報447は1ビットのフラグであり、オーバーフローが発生しなかった場合は値0、オーバーフローが発生した場合は値1に設定される。このオーバーフロー情報447を受けて、以下で説明する通り量子化係数修正部414は量子化係数424の値を修正し、逆変換係数修正部416は逆変換係数426を修正する。
量子化係数修正部414の動作を図14を用いて説明する。オーバーフロー情報447によって、対象ブロックの逆直交変換の演算でオーバーフローが起きたことを通知された場合(オーバーフロー情報447の値が1の場合)、修正量子化係数444(Q’(i,j):i,jは水平・垂直方向周波数位置)を、量子化係数424(Q(i,j))の値のうち、(a)全ての係数を0に置き換える、もしくは、(b)DC以外の係数値を0に置き換える、などとして生成する。
Figure 0004952282
ここでQ0Maxは、後に説明する、逆直交変換時のオーバーフロー回避を考慮した、|Q’(0,0)|の取りうる最大値である。
逆直交変換の各演算を、背景技術にて説明した4×4ブロック直交変換を例に取って説明する。(a)によれば、逆直交変換の各演算の演算結果n(k,x,y)は、
Figure 0004952282
となり、また通常nQCoeff2(k)は十分に小さい値であるから、オーバーフローを回避することができる。
また、(b)によれば、逆直交変換の各演算の演算結果n(k,x,y)は、
Figure 0004952282
となる。nQCoeffSum(k,x,y)の最大値をMAXQCoeff、|nQCoeff2(k)|の最大値をMAXQCoeff2として、(b)においてn(k,x,y)の値を所定のビット数に収めることを考える。収めるべき値の範囲を例えば−32768以上、32767以下とすると、全てのx,yで次の不等式が成立するようにQ0Maxを設定すれば、所定のビット数に収まり、オーバーフローを回避できる。
Figure 0004952282
なお、上記(b)において、|Q(0,0)|の取りうる値が常にQ0Max以下であることが保証されていれば、Q’(0,0)=Q(0,0)としてもよい。
また、オーバーフロー情報447によって、対象ブロックの逆直交変換の演算でオーバーフローが起きていないことが通知された場合(オーバーフロー情報447の値が0の場合)、修正量子化係数444(Q’(i,j))を、量子化係数424(Q(i,j))の値と等しい値に設定する。
Figure 0004952282
逆変換係数修正部416の動作を図15を用いて説明する。オーバーフロー情報447によって、対象ブロックの逆直交変換の演算でオーバーフローが起きたことを通知された場合(オーバーフロー情報447の値が1の場合)、修正逆変換係数446(IT’(x,y):x,yは水平・垂直空間位置)を、逆変換係数426(IT(x,y))の値のうち、(a)全ての係数を0に置き換える、もしくは、(b)全ての係数を値dc_valに置き換える、などとして生成する。
Figure 0004952282
ここで量子化係数修正部414が図14(a)の動作をする場合は、逆変換係数修正部416は、図15(a)の動作をする。また、量子化係数修正部414が図14(b)の動作をする場合は、逆変換係数修正部416は、図15(b)の動作をする。(b)においてdc_valは、図14(a)の処理によって量子化係数424が修正された場合に、その修正量子化係数444を逆量子化、逆直交変換まで行った場合の逆変換係数に等しい値である。この値は逆量子化係数425(IQ(i,j))のDC成分の係数(IQ(0,0))のみから導出することが可能であり、
Figure 0004952282
などとして計算される。ここで、値scaleは、逆直交変換の式に対して一意的に決まる定数であり、通常は2のべき乗である。よって、特にQ’(0,0)=Q(0,0)である場合は、既にIQuant(Q(0,0))の値が逆量子化部405にて計算済みであるため、dc_valの導出はシフト演算のみで低処理で実現できる。なお、図14、図15において、(a)と(b)のいずれかを固定的に使用しても構わない。(a)に比べ(b)の方が、一般的に、より入力画像431に近い画像を得ることができるが、処理量は若干増える。
また、オーバーフロー情報447によって、対象ブロックの逆直交変換の演算でオーバーフローが起きていないことが通知された場合(オーバーフロー情報447の値が0の場合)、修正逆変換係数446(IT’(x,y))を、逆変換係数426(IT(x,y))の値と等しい値に設定する。
Figure 0004952282
<画像符号化方法>
図16に、画像符号化装置400における画像符号化方法を説明するフローチャートを示す。
ブロック単位の繰り返し処理(ステップS400)において、まず対象ブロックの予測画像421と、対応する予測モード情報428を生成し(ステップS401)、次に予測画像421と、入力画像431との差分である予測差分画像422を生成する(ステップS402)。続いて予測差分画像422に対し直交変換を行って変換係数423を生成し(ステップS403)、変換係数423を量子化して量子化係数424(Q(i,j))を生成する(ステップS404)。量子化係数424を逆量子化し、逆量子化係数425を生成し(ステップS405)、逆量子化係数425を逆直交変換して逆変換係数426(IT(x,y))を生成する(ステップS406)。ここで、逆直交変換の演算において、途中演算を含めて演算ビット数が所定のビット数を超過した(オーバーフローした)かどうかを判定し(ステップS411)、オーバーフローした場合は、量子化係数424(Q(i,j))を修正して修正量子化係数444(Q’(i,j))を生成する(ステップS412)。ここで、修正方法は、図14(a)または(b)で、先に説明した通りである。オーバーフローした場合は、さらに、逆変換係数426(IT(x,y))を修正し、修正逆変換係数446(IT’(x,y))を生成する(ステップS414)。オーバーフローしなかった場合は、量子化係数424の値をそのまま修正量子化係数444とし(ステップS413)、逆変換係数426の値をそのまま修正逆変換係数446とする(ステップS415)。
続いて、修正逆変換係数446と予測画像421を足し合わせて再構成画像427を生成する(ステップS407)。修正量子化係数444と予測モード情報428と量子化パラメータ432を符号化し、符号化ストリーム433を生成する(ステップS408)。
<実施形態3の効果>
以上のように本実施形態では、逆直交変換のための内部演算が所定の演算ビット数でオーバーフローしたかどうかを判定し、オーバーフローした場合は、量子化係数と逆直交変換係数を修正する。修正の方法は、対称ブロックの量子化係数および逆直交変換係数をすべて値0で置き換える、などの簡易な処理である。このように少ない演算量で、逆直交変換時の内部演算がオーバーフローしないことが保証された符号化ストリームを生成できる。
(実施形態4)
図4、図17を用いて、本発明の実施形態3としての画像符号化装置500について説明する。図4に示す画像符号化装置500は、逆直交変換時のオーバーフローを回避するために、逆直交変換実行中にオーバーフローしたかどうかを判定し、オーバーフローした場合に、再構成画像を予測画像で置き換え、さらに次ブロックの予測モードを制限する点に特徴を有している。
<画像符号化装置500の構成>
画像符号化装置500は、入力画像531と再構成画像527と予測モード制限情報549を入力とし予測画像521と予測モード情報528を生成する予測部501と、入力画像531と予測画像521を入力とし予測差分画像522を出力とする差分演算部502と、予測差分画像522を入力とし変換係数523を出力とする直交変換部503と、変換係数523と量子化パラメータ532を入力とし量子化係数524を出力とする量子化部504と、量子化係数524を入力とし逆量子化係数525を出力する逆量子化部505と、逆量子化係数525を入力とし逆変換係数526とオーバーフロー情報547を出力する逆直交変換部506と、逆変換係数526と予測画像521を入力とし再構成画像527を出力する再構成部507と、再構成画像527とオーバーフロー情報547を入力とし修正再構成画像529を出力する再構成画像修正部517と、量子化係数524とオーバーフロー情報547を入力とし修正量子化係数544を出力する量子化係数修正部514と、オーバーフロー情報547を入力とし予測モード制限情報549を出力する予測モード制限部519と、修正量子化係数544と量子化パラメータ532と予測モード情報528を入力とし符号化ストリーム533を出力する符号化部508とを備えている。
差分演算部502、直交変換部503、量子化部504、逆量子化部505、逆直交変換部506、再構成部507、符号化部508、量子化係数修正部514は、実施形態3として先に説明したものと同じ構成である。
再構成画像修正部517では、オーバーフロー情報547において対象ブロックの逆直交変換の内部演算がオーバーフローしたと通知された場合、再構成画像527の代わりに予測画像521を、修正再構成画像529として出力する。
予測部501では、再構成画像527を用いて、予測モード制限情報549で制限されている予測モード以外の予測を実行し、その結果である予測画像521と、予測画像を生成するために使用した予測モード情報528を出力する。
予測モード制限部519では、オーバーフロー情報547において対象ブロックの逆直交変換の内部演算がオーバーフローしたと通知された場合、次ブロックの予測実行において予測モードを制限するための予測モード制限情報549を出力する。
<画像符号化装置500の動作>
差分演算部502、直交変換部503、量子化部504、逆量子化部505、逆直交変換部506、再構成部507、符号化部508、量子化係数修正部514は、実施形態3として先に説明したものと同じ動作である。
再構成画像修正部517では、オーバーフロー情報547において対象ブロックの逆直交変換の内部演算がオーバーフローしたと通知された場合、再構成画像527の代わりに予測画像521を、修正再構成画像529として出力し、それ以外の場合は、再構成画像527をそのまま修正再構成画像529として出力する。ここで、画像信号の修正は、単純に再構成画像527と予測画像521をセレクタで切り換える等の処理であり、高速に修正結果を反映させることができる。
予測部501では、対象ブロックに対し、現在までに既に生成されている再構成画像527を用いて、規格で規定されている予測モードのいずれかに準じた予測を実行し、その結果である予測画像521と、予測画像を生成するために使用した予測モード情報528を出力する。このとき、通常、入力画像531を参照して、対象ブロックの入力画像531により近似した予測画像を生成できる予測モードを用いる。ただし、予測モード制限情報549で、特定の予測モードの禁止を指示されている場合は、該当予測モードを使用しない。
予測モード制限部519では、オーバーフロー情報547において対象ブロックの逆直交変換の内部演算がオーバーフローしたと通知された場合、次ブロックの予測実行において予測モードを制限するための予測モード制限情報549を出力する。オーバーフローしなかった場合は、予測モード制限情報549には、制限を行わない旨を通知する情報を出力する。予測モードの制限方法は以下の(a)もしくは(b)である。
(a)次ブロックの予測モードのうち、オーバーフローを起こした対象ブロックの再構成画像を使用する予測モードを禁止する。
(b)次ブロックの予測モードで、オーバーフローを起こした対象ブロックの再構成画像を使用する予測モードのうち、予測画像の生成遅延が長い予測モードを禁止する。
ここで、前記予測画像の生成遅延とは、修正逆変換係数に対応する再構成画像が生成されはじめてから、予測画像が生成されはじめるまでの時間で決められる。通常、予測画像生成のための演算量が多いほど、前記生成遅延が長くなるため、上記(b)では演算量の多い予測モードを禁止することになる。
なお、(a)または(b)のいずれを用いるかは問わず、(a)を固定的に採用してもよいし、(b)を固定的に採用してもよく、また、ブロックの位置に応じて、対象ブロックを使用する予測モードしか実行できないブロック位置でのみ(b)を採用し、それ以外は(a)を採用する、などとしてもよい。
図17を用いて、オーバーフロー非発生時とオーバーフロー発生時における、オーバーフロー情報547、逆変換係数526、修正再構成画像529、予測画像521のデータの時間軸での変化例を説明する。図中、ブロック#1は現対象ブロックを指し、ブロック#2は次ブロックを指す。
オーバーフロー非発生時は、オーバーフロー情報547は常に値0(オーバーフローなしの意味)となり、現対象ブロックの逆変換係数が順次生成され、続いて再構成画像が生成される。さらに生成された再構成画像を参照して、次ブロックの予測画像が生成される。ここで、再構成画像出力開始から予測画像出力開始までの間が予測画像の生成遅延時間であり、これは、予測で必要な再構成画素の生成待ち時間と、予測画像生成のための演算時間とを合わせた時間である。
オーバーフロー発生時は、オーバーフロー情報547は、逆直交変換の演算中にオーバーフローが発生したタイミングで値1(オーバーフローありの意味)となる。このタイミングで、再構成画像修正部517は、出力する修正再構成画像529を、再構成画像527から予測画像521に切り換える。切り換え操作のみであるので、オーバーフロー発生から、修正結果である予測画像521が修正再構成画像529として予測部501へ出力され始めるまでの遅延時間は最小限に抑えられる。さらに、このとき予測モード制限部519により、予測画像の生成遅延が長い予測モードを禁止しているため、予測画像521が修正再構成画像529として出力されてから、次ブロックの予測画像が生成されるまでの遅延時間も短く抑えることができる。
<画像符号化方法>
図18に、画像符号化装置500における画像符号化方法を説明するフローチャートを示す。
ブロック単位の繰り返し処理(ステップS500)において、まず対象ブロックの予測画像521と、対応する予測モード情報528を生成し(ステップS501)、次に予測画像521と、入力画像531との差分である予測差分画像522を生成する(ステップS502)。続いて予測差分画像522に対し直交変換を行って変換係数523を生成し(ステップS503)、変換係数523を量子化して量子化係数524(Q(i,j))を生成する(ステップS504)。量子化係数524を逆量子化し、逆量子化係数525を生成し(ステップS505)、逆量子化係数525を逆直交変換して逆変換係数526(IT(x,y))を生成する(ステップS506)。ここで、逆直交変換の演算において、途中演算を含めて演算ビット数が所定のビット数を超過した(オーバーフローした)かどうかを判定し(ステップS511)、オーバーフローした場合は、量子化係数524(Q(i,j))を修正して修正量子化係数544(Q’(i,j))を生成する(ステップS512)。ここで、修正方法は、図14(a)または(b)で、先に説明した通りである。オーバーフローした場合は、さらに、予測画像521を修正再構成画像として出力する(ステップS518)。加えて、オーバーフローした場合は次ブロックの予測モードの制限を行う(ステップS519)。ここで、制限の方法は、先に説明した予測モード制御部519の動作と同じである。オーバーフローしなかった場合は、量子化係数524の値をそのまま修正量子化係数544とし(ステップS513)、再構成画像を生成し(ステップS507)、その再構成画像をそのまま修正再構成画像とする(ステップS517)。
続いて、修正量子化係数544と予測モード情報528と量子化パラメータ532を符号化し、符号化ストリーム533を生成する(ステップS508)。
ここで、ステップS501で予測画像521を生成する際、前ブロックのステップS519において予測モードの制限が指示されていた場合は、その指示に従って、実行する予測モードを制限する。
<実施形態4の効果>
以上のように本実施形態では、対象ブロックの処理において、逆直交変換のための内部演算が所定の演算ビット数でオーバーフローしたかどうかを判定し、オーバーフローした場合は、量子化係数と逆直交変換係数を修正する。修正の方法は、再構成画像を予測画像で置き換えるだけである。このように少ない演算量で、逆直交変換時の内部演算がオーバーフローしないことが保証された符号化ストリームを生成できる。
さらに、現対象ブロックでオーバーフローが発生した場合に、1つの方法によれば、次ブロックの予測画像生成において現対象ブロックの修正再構成画像を参照する予測モードを使用しないことにより再構成画像の修正完了を待つ必要がなくなり、処理時間を短縮できる。またもう1つの方法によれば、次ブロックの予測画像生成において現対象ブロックの修正再構成画像を参照する予測モードを使用していながら、該予測モードのうち処理量の多い予測モードを禁止することにより現対象ブロックの再構成画像の修正完了から次ブロックの予測画像生成までの処理時間を短縮でき、再構成画像の修正も先に述べた通り予測画像に置き換えるだけであり高速に処理を完了できる。以上より単位ブロックあたりの処理時間を短縮することが可能となる。
(実施形態5)
さらに、上記各実施形態で示した画像符号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図22は、本発明の実施形態5として、上記実施形態1から実施形態4の画像符号化方法を格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
図22(b)は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図22(a)は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムとしての画像符号化方法が記録されている。
また、図22(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムとしての画像符号化方法をフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記可変長符号化方法または可変長復号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ハードディスク、CD−ROM、メモリカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
(実施形態6)
本発明の実施形態6として、画像符号化装置、画像符号化方法、および画像符号化プログラムの応用例と、それを用いたシステムとを図23〜図25を用いて説明する。
図23は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図24のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
カメラex113はディジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband−Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラex116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はディジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。なお、コンテンツの符号化処理に際しては、上記実施形態の画像符号化装置、画像符号化方法、および画像符号化プログラムを用いても良い。例えば、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等は、上記実施形態で示した画像符号化装置および画像符号化プログラムを備えていてもよい。
一例として携帯電話について説明する。
図24および図25は、上記実施形態のメディアデータ表示装置を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex115について図25を用いて説明する。携帯電話ex115は表示部ex202および操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306および音声処理部ex305が同期バスex313を介して互いに接続されている。
電源回路部ex310は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
携帯電話ex115は、CPU、ROMおよびRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理および周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話ex115は、音声通話モード時にアンテナex201で受信した受信信号を増幅して周波数変換処理およびアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声信号に変換した後、これを音声出力部ex208を介して出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理および周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303およびLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
画像符号化部ex312は、カメラ部ex203から供給された画像データを圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
なお、画像符号化部ex312は、上記実施形態の画像符号化装置としての機能を果たすものであっても良い。
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理および周波数変換処理を施した後にアンテナex201を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信信号を変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
次に、画像復号化部ex309は、画像データの符号化ビットストリームを復号することにより再生動画像データを生成し、これを、LCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。
このとき同時に音声処理部ex305は、音声データをアナログ音声信号に変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図25に示すようにディジタル放送用システムにも上記実施形態の画像符号化装置、画像符号化方法、および画像符号化プログラムを組み込むことができる。具体的には、放送局ex409では映像情報を放送用エンコーダex430およびカメラex430で符号化処理し、生成された符号化ビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置により符号化ビットストリームを復号化してこれを再生する。また、アンテナex411を有する車ex412で放送衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。ここで、放送用エンコーダex430およびカメラex430などの装置が上記実施形態の画像符号化装置を備えていてもよい。また、上記実施形態の画像符号化方法を用いるものであってもよい。さらに、上記実施形態の画像符号化プログラムを備えていてもよい。
さらに、画像信号を符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。さらにSDカードex422に記録することもできる。また、レコーダex420の他に、コンピュータex403やカーナビゲーションex413に、前記記録媒体に画像信号を符号化して記録する機能を持たせることも可能である。なお、DVDディスクex421やSDカードex422などに記録する際に、画像信号を上記実施形態の画像符号化装置を介して記録することも可能である。
カーナビゲーションex413の構成は例えば図26に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303を除いた構成が考えられ、同様なことがレコーダex420やコンピュータex111等でも考えられる。
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施形態の画像符号化装置、画像符号化方法、および画像符号化プログラムを上述したいずれの機器・システムにも用いることが可能であり、上記実施形態で説明した効果を得ることができる。
本発明にかかる画像符号化装置は、少ない処理量で逆直交変換時の演算オーバーフローが起きないことを保証する符号化ストリームを生成するために有用である。また、本発明の画像符号化方法、および画像符号化プログラムは、ハードウェアコストをより削減する、あるいはソフトウェアによる処理負荷をより削減することが求められている画像符号化方法、およびプログラムとして有用である。
実施形態1における、画像符号化装置200を説明するブロック図 実施形態2における、画像符号化装置300を説明するブロック図 実施形態3における、画像符号化装置400を説明するブロック図 実施形態4における、画像符号化装置500を説明するブロック図 実施形態1における、画像符号化装置200における量子化係数224の1次元走査方式の説明図 実施形態1における、評価値計算部211の説明図 実施形態1における、係数修正方式決定部213の説明図 実施形態1における、量子化係数修正部214の説明図 実施形態1における、画像符号化方法を説明するフローチャート 実施形態2における、評価値計算部311の説明図 実施形態2における、評価値計算部311の説明図 実施形態2における、逆量子化係数修正部315の説明図 実施形態2における、画像符号化方法を説明するフローチャート 実施形態3における、量子化係数修正部414の説明図 実施形態3における、逆変換係数修正部416の説明図 実施形態3における、画像符号化方法を説明するフローチャート 実施形態4における、再構成画像修正部517の説明図 実施形態4における、画像符号化方法を説明するフローチャート 背景技術における、画像符号化装置100を説明するブロック図 背景技術における、画像復号化装置150を説明するブロック図 背景技術における、画像符号化方法を説明するフローチャート 実施形態5における、コンピュータ上での画像符号化方法実施の説明図 実施形態6における、コンテンツ供給システムの全体構成を示すブロック図 実施形態6における、画像符号化装置を搭載する携帯電話の例を示す図 実施形態6における、携帯電話のブロック図 実施形態6における、ディジタル放送用システムの例を示す図
符号の説明
100,200,300,400,500 画像符号化装置
101,201,301,401,501 予測部
102,202,302,402,502 差分演算部
103,203,303,403,503 直交変換部
104,204,304,404,504 量子化部
105,205,305,405,505 逆量子化部
106,206,306,406,506 逆直交変換部
107,207,307,407,507 再構成部
108,208,308,408,508 符号化部
111,211,311 評価値計算部
112,212 閾値計算部
113,213,313 係数修正方式決定部
214,314,414,514 量子化係数修正部
315 逆量子化係数修正部
416 逆変換係数修正部
517 再構成画像修正部

Claims (21)

  1. 入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測手段と、
    前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算手段と、
    前記予測差分画像を直交変換して変換係数を出力する直交変換手段と、
    前記変換係数を量子化パラメータに基づいて量子化し量子化係数を出力する量子化手段と、
    前記量子化係数の各係数に基づいて導出した評価値を出力する評価値計算手段と、
    前記評価値が閾値を超える場合に、前記評価値が前記閾値を超えないような量子化係数値に修正するための係数修正情報を出力する係数修正方式決定手段と、
    前記量子化係数を前記係数修正情報に基づいて修正した修正量子化係数を出力する量子化係数修正手段と、
    前記修正量子化係数を前記量子化パラメータに基づいて逆量子化し逆量子化係数を出力する逆量子化手段と、
    前記逆量子化係数を逆直交変換して逆変換係数を出力する逆直交変換手段と、
    前記逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成手段と、
    前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化手段と、
    を備え、
    前記評価値計算手段によって導出される前記評価値とは、前記量子化係数の各係数の絶対値を累積加算した値であることを特徴とする、画像符号化装置。
  2. 請求項1に記載の画像符号化装置であって、
    前記閾値が、前記量子化パラメータに基づいて決定されることを特徴とする、
    画像符号化装置。
  3. 請求項1または2に記載の画像符号化装置であって、
    前記評価値計算手段によって導出される前記評価値とは、前記量子化係数の各係数の絶対値と、前記各係数のインデックスに応じてあらかじめ決定された重み係数を掛け合わせた値を累積加算した累積加算値であることを特徴とする、
    画像符号化装置。
  4. 請求項1から3のいずれかに記載の画像符号化装置であって、
    前記量子化係数修正手段は、前記係数修正情報に基づいて、前記量子化係数のいくつかを値0に置換することを特徴とする、
    画像符号化装置。
  5. 請求項1から4のいずれかに記載の画像符号化装置であって、
    前記量子化係数修正手段は、前記係数修正情報に基づいて、前記量子化係数のうち、高周波係数を優先的に修正することを特徴とする、
    画像符号化装置。
  6. 請求項5に記載の画像符号化装置であって、
    前記量子化係数修正手段は、前記係数修正情報に基づいて、前記量子化係数のうち前記符号化ストリームを生成する際の前記量子化係数走査順序に従って、より高周波方向の前記量子化係数を優先的に修正することを特徴とする、
    画像符号化装置。
  7. 入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測手段と、
    前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算手段と、
    前記予測差分画像を直交変換して変換係数を出力する直交変換手段と、
    前記変換係数を量子化パラメータに基づいて量子化し量子化係数を出力する量子化手段と、
    前記量子化係数を前記量子化パラメータに基づいて逆量子化し逆量子化係数を出力する逆量子化手段と、
    前記逆量子化係数の各係数に基づいて導出した評価値を出力する評価値計算手段と、
    前記評価値が閾値を超える場合に、前記評価値が前記閾値を超えないような逆量子化係数値に修正するための係数修正情報を出力する係数修正方式決定手段と、
    前記係数修正情報に基づいて、前記逆量子化係数を修正し修正逆量子化係数として出力する逆量子化係数修正手段と、
    逆量子化した結果が前記修正逆量子化係数と一致するように前記量子化係数を修正し修正量子化係数として出力する量子化係数修正手段と、
    前記修正逆量子化係数を逆直交変換して逆変換係数を出力する逆直交変換手段と、
    前記逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成手段と、
    前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化手段と、
    を備え、
    前記評価値計算手段によって導出される前記評価値とは、前記逆量子化係数の各係数の絶対値を累積加算した値であることを特徴とする、画像符号化装置。
  8. 請求項7に記載の画像符号化装置であって、
    前記評価値計算手段によって導出される前記評価値とは、前記逆量子化係数の各係数の絶対値と、前記各係数のインデックスに応じてあらかじめ決定された重み係数を掛け合わせた値を累積加算した値であることを特徴とする、
    画像符号化装置。
  9. 請求項7から8のいずれかに記載の画像符号化装置であって、
    前記逆量子化係数修正手段および前記量子化係数修正手段は、前記係数修正情報に基づいて、前記逆量子化係数および量子化係数のいくつかを値0に置換することを特徴とする、
    画像符号化装置。
  10. 請求項7から9のいずれかに記載の画像符号化装置であって、
    前記逆量子化係数修正手段および前記量子化係数修正手段は、前記係数修正情報に基づいて、前記逆量子化係数および量子化係数のうち、それぞれ、高周波係数を優先的に修正することを特徴とする、
    画像符号化装置。
  11. 請求項10に記載の画像符号化装置であって、
    前記量子化係数修正手段は、前記係数修正情報に基づいて、前記量子化係数のうち、前記符号化ストリームを生成する際の前記量子化係数スキャン順序に従って、より高周波方向の前記量子化係数を優先的に修正することを特徴とする、
    画像符号化装置。
  12. 入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測手段と、
    前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算手段と、前記予測差分画像を直交変換して変換係数を出力する直交変換手段と、前記変換係数を量子化して量子化係数を出力する量子化手段と、前記量子化係数を逆量子化して逆量子化係数を出力する逆量子化手段と、
    前記逆量子化係数を逆直交変換して逆変換係数を出力し、加えて前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたかどうかを示すオーバーフロー情報を出力する逆直交変換手段と、
    前記量子化係数を修正して修正量子化係数を出力する量子化係数修正手段と、
    前記逆変換係数を修正して修正逆変換係数を出力する逆変換係数修正手段と、
    前記修正逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成手段と、
    前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化手段と、
    を備える画像符号化装置であって、
    前記量子化係数修正手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、前記量子化係数を修正したものを修正量子化係数として出力し、それ以外の場合は前記量子化係数を修正量子化係数として出力し、
    前記逆変換係数修正手段は、前記逆直交変換手段の逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超える場合には、前記逆変換係数を修正したものを修正逆変換係数として出力し、それ以外の場合は前記逆変換係数を修正逆変換係数として出力し、
    前記量子化係数修正手段における係数の修正とは、修正時に前記量子化係数の全てを値0に置換し、
    前記逆変換係数修正手段における係数の修正とは、修正時に前記逆変換係数の全てを値0に置換することである点を特徴とする、
    画像符号化装置。
  13. 請求項12に記載の画像符号化装置であって、
    前記量子化係数修正手段における係数の修正とは、前記量子化係数のDC係数を除く全てを値0に置換することであり、
    前記逆変換係数修正手段における係数の修正とは、前記逆変換係数の全ての値を、前記量子化係数のうちのDC係数を所定の値で除算した結果の値で置換することである点を特徴とする、
    画像符号化装置。
  14. 入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測手段と、
    前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算手段と、
    前記予測差分画像を直交変換して変換係数を出力する直交変換手段と、
    前記変換係数を量子化して量子化係数を出力する量子化手段と、前記量子化係数を逆量子化して逆量子化係数を出力する逆量子化手段と、
    前記逆量子化係数を逆直交変換して逆変換係数を出力し、加えて前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたかどうかを示すオーバーフロー情報を出力する逆直交変換手段と、
    前記量子化係数を修正して修正量子化係数を出力する量子化係数修正手段と、
    前記逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成手段と、
    前記再構成画像と前記予測画像を入力とし修正再構成画像を出力する再構成画像修正手段と、
    前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化手段と、
    を備える画像符号化装置であって、
    前記量子化係数修正手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、前記量子化係数をすべて値0に修正したものを前記修正量子化係数として出力し、それ以外の場合は前記量子化係数を修正量子化係数として出力し、
    前記再構成画像修正手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、前記予測画像を前記修正再構成画像として出力し、それ以外の場合には、前記再構成画像を前記修正再構成画像として出力することを特徴とする、
    画像符号化装置。
  15. 請求項12から14のいずれかに記載の画像符号化装置であって、
    前記予測手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、次の処理ブロックにおける予測モードを、前記量子化係数を修正したブロックを参照しない予測モードに制限することを特徴とする、
    画像符号化装置。
  16. 請求項12から15のいずれかに記載の画像符号化装置であって、
    前記予測手段は、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、次の処理ブロックにおける予測モードを、前記量子化係数を修正したブロックを参照する予測モードに関しては、処理量のより多い予測モードを優先的に禁止することを特徴とする、
    画像符号化装置。
  17. 入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測ステップと、
    前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算ステップと、
    前記予測差分画像を直交変換して変換係数を出力する直交変換ステップと、
    前記変換係数を量子化パラメータに基づいて量子化し量子化係数を出力する量子化ステップと、
    前記量子化係数の各係数に基づいて導出した評価値を出力する評価値計算ステップと、
    前記評価値が閾値を超える場合に、前記評価値が前記閾値を超えないような量子化係数値に修正するための係数修正情報を出力する係数修正方式決定ステップと、
    前記量子化係数を前記係数修正情報に基づいて修正した修正量子化係数を出力する量子化係数修正ステップと、
    前記修正量子化係数を前記量子化パラメータに基づいて逆量子化し逆量子化係数を出力する逆量子化ステップと、
    前記逆量子化係数を逆直交変換して逆変換係数を出力する逆直交変換ステップと、
    前記逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成ステップと、
    前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化ステップと、
    を備え、
    前記評価値計算ステップによって導出される前記評価値とは、前記量子化係数の各係数の絶対値を累積加算した値であることを特徴とする、画像符号化方法。
  18. 入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測ステップと、
    前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算ステップと、
    前記差分画像を直交変換して変換係数を出力する直交変換ステップと、
    前記変換係数を量子化パラメータに基づいて量子化し量子化係数を出力する量子化ステップと、
    前記量子化係数を前記量子化パラメータに基づいて逆量子化し逆量子化係数を出力する逆量子化ステップと、
    前記逆量子化係数の各係数に基づいて導出した評価値を出力する評価値計算ステップと、
    前記評価値が閾値を超える場合に、前記評価値が前記閾値を超えないような逆量子化係数値に修正するための係数修正情報を出力する係数修正方式決定ステップと、
    前記係数修正情報に基づいて、前記逆量子化係数を修正し修正逆量子化係数として出力する逆量子化係数修正ステップと、逆量子化した結果が前記修正逆量子化係数と一致するように前記量子化係数を修正し修正量子化係数として出力する量子化係数修正ステップと、
    前記修正逆量子化係数を逆直交変換して逆変換係数を出力する逆直交変換ステップと、
    前記逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成ステップと
    前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化ステップと、
    を備え、
    前記評価値計算ステップによって導出される前記評価値とは、前記逆量子化係数の各係数の絶対値を累積加算した値であることを特徴とする、画像符号化方法。
  19. 入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測ステップと、
    前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算ステップと、
    前記予測差分画像を直交変換して変換係数を出力する直交変換ステップと、
    前記変換係数を量子化して量子化係数を出力する量子化ステップと、
    前記量子化係数を逆量子化して逆量子化係数を出力する逆量子化ステップと、
    前記逆量子化係数を逆直交変換して逆変換係数を出力し、加えて前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたかどうかを示すオーバーフロー情報を出力する逆直交変換ステップと、
    前記量子化係数を修正して修正量子化係数を出力する量子化係数修正ステップと、
    前記逆変換係数を修正して修正逆変換係数を出力する逆変換係数修正ステップと、
    前記修正逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成ステップと、
    前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化ステップと、
    を備える画像符号化方法であって、
    前記量子化係数修正ステップは、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、前記量子化係数を修正したものを修正量子化係数として出力し、それ以外の場合は前記量子化係数を修正量子化係数として出力し、
    前記逆変換係数修正ステップは、前記逆直交変換ステップの逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超える場合には、前記逆変換係数を修正したものを修正逆変換係数として出力し、それ以外の場合は前記逆変換係数を修正逆変換係数として出力し、
    前記量子化係数修正ステップにおける係数の修正とは、修正時に前記量子化係数の全てを値0に置換し、
    前記逆変換係数修正ステップにおける係数の修正とは、修正時に前記逆変換係数の全てを値0に置換することである点を特徴とする、
    画像符号化方法。
  20. 入力された入力画像と再構成画像とから対象ブロックに対する予測画像とその予測方法を示すための予測モード情報を生成する予測ステップと、
    前記予測画像と前記対象ブロックの画像との画素値差分を演算し予測差分画像を生成する差分演算ステップと、
    前記差分画像を直交変換して変換係数を出力する直交変換ステップと、
    前記変換係数を量子化して量子化係数を出力する量子化ステップと、
    前記量子化係数を逆量子化して逆量子化係数を出力する逆量子化ステップと、
    前記逆量子化係数を逆直交変換して逆変換係数を出力し、加えて前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたかどうかを示すオーバーフロー情報を出力する逆直交変換ステップと、
    前記量子化係数を修正して修正量子化係数を出力する量子化係数修正ステップと、
    前記逆変換係数と前記予測画像とを加算して再構成画像を生成する再構成ステップと、
    前記再構成画像と前記予測画像を入力とし修正再構成画像を出力する再構成画像修正ステップと、
    前記修正量子化係数と前記予測モード情報を符号化して符号化ストリームを生成する符号化ステップと、
    を備える画像符号化方法であって、
    前記量子化係数修正ステップは、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、前記量子化係数をすべて値0に修正したものを前記修正量子化係数として出力し、それ以外の場合は前記量子化係数を修正量子化係数として出力し、
    前記再構成画像修正ステップは、前記オーバーフロー情報が、前記逆直交変換のための内部演算が、途中の演算結果を含めて1つでも所定の演算ビット数を超えたことを示す場合、前記予測画像を前記修正再構成画像として出力し、それ以外の場合には、前記再構成画像を前記修正再構成画像として出力することを特徴とする、
    画像符号化方法。
  21. 請求項17から20のいずれかに記載の画像符号化方法を、コンピュータに実行させるためのプログラム。
JP2007033171A 2007-02-14 2007-02-14 画像符号化装置、画像符号化方法、および画像符号化プログラム Active JP4952282B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007033171A JP4952282B2 (ja) 2007-02-14 2007-02-14 画像符号化装置、画像符号化方法、および画像符号化プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007033171A JP4952282B2 (ja) 2007-02-14 2007-02-14 画像符号化装置、画像符号化方法、および画像符号化プログラム

Publications (2)

Publication Number Publication Date
JP2008199344A JP2008199344A (ja) 2008-08-28
JP4952282B2 true JP4952282B2 (ja) 2012-06-13

Family

ID=39757896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007033171A Active JP4952282B2 (ja) 2007-02-14 2007-02-14 画像符号化装置、画像符号化方法、および画像符号化プログラム

Country Status (1)

Country Link
JP (1) JP4952282B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5390319B2 (ja) * 2009-09-16 2014-01-15 日本電信電話株式会社 映像信号符号化方法,映像信号復号方法,映像信号符号化装置,映像信号復号装置およびそれらのプログラム
JP2011077788A (ja) * 2009-09-30 2011-04-14 Nec Corp 映像符号化画質劣化抑制装置、方法およびプログラム
JP6895645B2 (ja) * 2016-03-25 2021-06-30 パナソニックIpマネジメント株式会社 信号依存型適応量子化を用いて動画像を符号化及び復号するための方法及び装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0716248B2 (ja) * 1987-01-08 1995-02-22 富士写真フイルム株式会社 画像デ−タの直交変換符号化方法
JP2872257B2 (ja) * 1989-01-31 1999-03-17 コニカ株式会社 画像データの圧縮装置
JP2003061095A (ja) * 2001-08-08 2003-02-28 Matsushita Electric Ind Co Ltd 画像符号化装置及び画像符号化方法
US6882685B2 (en) * 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding

Also Published As

Publication number Publication date
JP2008199344A (ja) 2008-08-28

Similar Documents

Publication Publication Date Title
JP5687787B2 (ja) 動画像復号化装置及びその方法
JP4185106B2 (ja) 画像符号化方法および画像符号化装置
JP4808634B2 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、および集積回路
JP2005277968A (ja) 画像符号化方法および画像復号化方法
JP4952282B2 (ja) 画像符号化装置、画像符号化方法、および画像符号化プログラム
JP2005159947A (ja) 予測画像生成方法、画像符号化方法および画像復号化方法
JP3824268B2 (ja) 動きベクトル導出方法、および動きベクトル導出装置
JP2005086384A (ja) 変換符号化方法および変換復号化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091221

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120214

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120227

R151 Written notification of patent or utility model registration

Ref document number: 4952282

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3