JP2016082395A - 符号化装置、符号化方法及びプログラム - Google Patents
符号化装置、符号化方法及びプログラム Download PDFInfo
- Publication number
- JP2016082395A JP2016082395A JP2014211923A JP2014211923A JP2016082395A JP 2016082395 A JP2016082395 A JP 2016082395A JP 2014211923 A JP2014211923 A JP 2014211923A JP 2014211923 A JP2014211923 A JP 2014211923A JP 2016082395 A JP2016082395 A JP 2016082395A
- Authority
- JP
- Japan
- Prior art keywords
- block
- quantization step
- quantization
- quantized
- code amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】記憶容量を抑えるようにして、発生符号量を精度良く制御できるようにする。【解決手段】一つ前のブロックラインに係る目標符号量と発生符号量との差分絶対値が所定の閾値以上である場合は、まず、第一の量子化ステップを設定し、一つ前のブロックラインに含まれるブロック毎の複雑度を用い、対象となるブロックラインに含まれるブロックの重みを決定する。そして、第一の量子化ステップにこの決定した重みを積算して、ブロック毎の第二の量子化ステップを決定する。【選択図】図1
Description
本発明は、特に、発生符号量を制御するために用いて好適な符号化装置、符号化方法及びプログラムに関する。
近年、RAW画像を記録する方式は、静止画のみならず動画にも適用されている。RAW画像は記録に必要なデータ量が膨大になる一方で、オリジナル画像に対する補正や劣化を最低限に抑えられるため、撮影後の画像編集の自由度が高い。このことから、撮像装置を使用する者の中でも上級者によってRAW画像が好んで使われている。ところが、RAW画像の動画を記録する時は、所定の記録媒体に一定時間の動画が記録できるよう、データ量を所望の符号量へ圧縮する圧縮符号化が必要となる。
従来の動画の圧縮符号化方式としては、H.264(H.264/ MPEG-4 Part10 : Advanced Video Coding)が知られている。このような圧縮符号化方式では、1フレーム内で所定画素数から成るブロック毎に、動画が有する時間冗長性と空間冗長性とを利用してデータ量を圧縮する。H.264では、時間冗長性に対する動き検出及び動き補償、空間冗長性に対する離散コサイン変換や量子化、更にエントロピー符号化といった符号化方式を組み合わせることにより圧縮符号化を実現している。
このようなブロック毎の圧縮符号化方式として、特許文献1には、圧縮符号化はブロック単位で行い、符号量制御はブロック1行から成るブロックライン毎に行う圧縮符号化方式が開示されている。特許文献1に記載の方法よれば、ブロックライン毎に発生符号量を測定し、1画面全体の発生符号量が所定の目標符号量以下となるようにブロックライン毎に符号量制御を行っている。これにより、所望の符号量へ圧縮符号化することができるとしている。
また、特許文献2には、量子化パラメータである量子化ステップをブロック毎に決定した後、発生符号量が目標符号量から逸脱する度合を縮小させる方向に、上記量子化ステップに対する補正を行うように制御する圧縮符号化制御方式が開示されている。特許文献2に記載の方法によれば、ブロック毎に圧縮符号化を行い、符号化済みのブロックを利用して次に符号化するブロックの符号量制御を行うことにより、所望の符号量へ圧縮符号化することができるとしている。
ところで、近年の撮像センサーの進化により、画像1枚あたりの画素数は大幅に増加しており、また、1秒当たりに連写できる画像の枚数も同様に増加している。このため、圧縮符号化処理においても、このような入力画像に対しても効率良くかつ迅速に処理する能力が求められる。さらに、取り扱う画像データのデータ量が膨大になることによって現像処理も膨大に増加するため、RAMのバス帯域の逼迫が問題となる。
そこで、入力画像信号をRAMに待避せず、センサーから画素ライン単位にラスタ順で直接入力して圧縮符号化することにより、RAMのバス帯域を削減する構成が考えられる。しかしながら、画素ライン単位の圧縮符号化では、各ブロックの先頭の画素ラインの圧縮符号化が始まった時点で、各ブロックの量子化ステップを決定しなければならないため、特許文献2に記載される技術を利用した符号量制御を行うことができない。
一方、一般に複雑な画像は発生符号量が多く、簡単な画像は発生符号量が少なくなる傾向がある。このため、符号化処理の一つである量子化処理では、複雑な画像であれば量子化ステップを大きく、簡単な画像であれば量子化ステップを小さく設定することによって発生符号量を制御することが考えられる。しかしながら、特許文献1に記載された方法のように、ブロックラインに含まれる各ブロックに共通の量子化ステップを設定すると、ブロックラインの左右で特徴が大きく異なる画像の場合は複雑な領域と簡単な領域とを共通の量子化ステップで圧縮符号化する。このため、このような特徴の画像の場合は、発生符号量を所望の符号量に合わせることが困難である。
本発明は前述の問題点に鑑み、記憶容量を抑えるようにして、発生符号量を精度良く制御できるようにすることを目的としている。
本発明に係る符号化装置は、入力された画像データを画素ラインの単位で符号化する符号化装置であって、前記画像データを量子化する量子化手段と、前記量子化手段によって量子化されるブロックの上段のブロックラインまでの発生符号量と、前記画素ラインの単位の目標符号量とを比較する比較手段と、前記比較手段による比較結果に応じてブロック単位に量子化ステップを制御する制御手段とを有し、前記制御手段は、前記比較手段による比較結果に応じて前記量子化手段によって量子化されるブロックが属するブロックラインの第一の量子化ステップを決定するとともに、前記量子化手段によって量子化されるブロックの上段のブロックに係る情報に基づいて前記第一の量子化ステップに対して重み付けすることによりブロック単位の第二の量子化ステップを決定し、前記量子化手段は、前記制御手段によって決定された第二の量子化ステップにより量子化することを特徴とする。
本発明によれば、記憶容量を抑えるようにして、発生符号量を精度良く制御することができる。
以下、本発明の実施形態について、図面を参照しながら説明する。
(第1の実施形態)
図1は、本実施形態に係る画像符号化装置10の構成例を示すブロック図である。以下、図1を参照しながら本実施形態に係る画像符号化装置10における符号化処理の概要について説明する。
画像符号化部100は、量子化設定部103で設定される画像の基準となる量子化ステップ、及び目標符号量設定部106で設定される目標符号量に従い、入力される画像データを画素ライン毎に圧縮符号化し、符号化データを出力する。
(第1の実施形態)
図1は、本実施形態に係る画像符号化装置10の構成例を示すブロック図である。以下、図1を参照しながら本実施形態に係る画像符号化装置10における符号化処理の概要について説明する。
画像符号化部100は、量子化設定部103で設定される画像の基準となる量子化ステップ、及び目標符号量設定部106で設定される目標符号量に従い、入力される画像データを画素ライン毎に圧縮符号化し、符号化データを出力する。
図2は、図1の画像符号化部100へ入力される画像データの入力順を説明するための図である。図2に示すように、当該画像データは画素ライン単位でラスタ順に画像符号化部100へ入力され、圧縮符号化される。なお、画像データは撮像装置へ入力される画素値そのものでもよく、その画素値に何らかの処理が施されたデータでもよい。
図3は、矩形ブロックの配置を説明するための図であり、図3(a)は、1画面の画素配置を示した図である。そして、図3(b)は、図3(a)に示す画素配置を元に1画面の矩形ブロックの配置を示した図である。図3に示すように、1画像(1画面)はn×m画素で構成され、本実施形態では、p×q画素を1ブロックとしてブロック毎に符号量制御を行う。なお、撮像装置へ入力された画像をコンポーネント分解し、コンポーネント毎に圧縮符号化する場合は、後述する図1の目標符号量設定部106は、コンポーネント毎に目標符号量を設定する。そのため、図3に示す1画面は、目標符号量設定部106で目標符号量を設定する単位でもある。
量子化部101は、量子化制御部110で設定される量子化ステップで画像データを画素毎に量子化する。量子化ステップ保持部102は、量子化部101で量子化を行う際に使用された量子化ステップ、及び量子化設定部103で設定される当該画像の基準となる量子化ステップを保持する。符号化部104は、量子化部101で量子化された画像データをエントロピー符号化して符号化データを生成し、発生符号量を発生符号量保持部105に保持する。
画素ライン目標符号量算出部107は、量子化ステップ保持部102、発生符号量保持部105、及び目標符号量設定部106が保持する情報を用いて、画素ラインあたりの目標符号量を算出し、画素ライン目標符号量保持部108に保持する。符号量比較部109は、図3に示すブロック一行から成るブロックライン毎に、発生符号量保持部105に保持された、対象となるブロックラインまでの発生符号量の積算量と画素ライン目標符号量保持部108に保持された目標符号量の積算量とを比較する。そして、その差分絶対値を量子化制御部110へ通知する。
量子化制御部110は、発生符号量の積算量が、目標符号量の積算量へ近付くようにするために、画像データに対してブロック単位に量子化ステップを制御する。
具体的にはまず、符号量比較部109で算出される一つ前のブロックラインの比較結果(差分絶対値)から、ブロックラインの量子化ステップである第一の量子化ステップを決定する。次に、量子化ステップ保持部102及び発生符号量保持部105が保持する情報から得られる一つ前のブロックラインに含まれる各ブロックの量子化ステップ、及び発生符号量を用いて重み付け情報を算出する。そして、算出した重み付け情報を元に、第一の量子化ステップに重みをつけて、ブロック毎の量子化ステップである第二の量子化ステップを決定する。なお、重み付け情報や重みの詳細な内容については後述する。これにより、量子化部101は、第二の量子化ステップを使って量子化処理を行うことになる。
<量子化制御処理>
図4は、量子化制御部110による処理手順の一例を示すフローチャートである。図4を参照しながら、画素ライン単位の圧縮符号化におけるブロック毎の符号量制御の詳細を説明する。以降、(i)はi行のブロックラインを示し、(i,j)はi行のブロックラインに含まれるj列のブロックを指すものとする。
図4は、量子化制御部110による処理手順の一例を示すフローチャートである。図4を参照しながら、画素ライン単位の圧縮符号化におけるブロック毎の符号量制御の詳細を説明する。以降、(i)はi行のブロックラインを示し、(i,j)はi行のブロックラインに含まれるj列のブロックを指すものとする。
まず、S401において、量子化設定部103で設定された当該1画面の基準量子化ステップQiniを量子化ステップ保持部102から取得する。そして、S402において、量子化ステップを制御するブロックラインが当該画面の1ライン目であるか否かを判定する。この判定の結果、1ライン目である場合はS404に進み、そうでない場合はS403に進む。
S403においては、符号量比較部109の比較結果である、当該ブロックラインの一つ前のブロックラインに係る目標符号量と発生符号量との差分絶対値が所定の閾値より小さいか否かを判定する。この判定の結果、閾値未満である場合はS404に進み、そうでない場合はS405に進む。
S404においては、S401で取得した基準量子化ステップQiniをブロックラインの第一の量子化ステップQ(i)とする。そして、その第一の量子化ステップを当該ブロックラインに含まれる各ブロックの第二の量子化ステップQ(i,j)をとしてそのまま設定する。
一方、S405においては、ブロックラインの第一の量子化ステップQ(i)を、基準量子化ステップQini+α(i)とする。なお、値αの詳細については後述する。次に、S406において、一つ前のブロックラインに含まれるブロック毎の特徴である重み付け情報I(i−1,j)を用い、対象となるブロックラインに含まれるブロックの重みβ(i,j)を決定する。重み付け情報I及び重みβの詳細についても後述する。
続いてS407において、ブロック毎に、S406で決定した重みβ(i,j)を、S405で決定したブロックラインの第一の量子化ステップQ(i)に乗算する。この計算により、当該ブロックラインのブロック毎の第二の量子化ステップQ(i,j)を決定する。なお、画像データは画像符号化部100に画素ライン単位に入力される。このため、量子化部101は、ブロックラインに含まれる全てのブロックが符号化部104で符号化されるまで、S404或いはS407で決定した第二の量子化ステップを用いて量子化処理を行うことになる。
<第一の量子化ステップ算出方法>
次に、S405で第一の量子化ステップQ(i)を算出する際に加算される値αの詳細な算出方法について説明する。第一の量子化ステップを算出する方法の一つに、MPEG2 Test Model 5に示された公知技術が知られている。MPEG2 Test Model 5に記載の技術によれば、符号量を制御する方法として、次に制御するブロックラインの量子化ステップQ(i)が以下の式(1)のように与えられる。
Q(i)=Qini+r×error ・・・(1)
次に、S405で第一の量子化ステップQ(i)を算出する際に加算される値αの詳細な算出方法について説明する。第一の量子化ステップを算出する方法の一つに、MPEG2 Test Model 5に示された公知技術が知られている。MPEG2 Test Model 5に記載の技術によれば、符号量を制御する方法として、次に制御するブロックラインの量子化ステップQ(i)が以下の式(1)のように与えられる。
Q(i)=Qini+r×error ・・・(1)
ここで、rは制御感度を表す定数を示し、errorは符号化済みの発生符号量の積算量と目標符号量の積算量との差を示す。つまり、第一の量子化ステップQ(i)を算出する際に、MPEG2 Test Model 5に記載の技術を適用し、値αを以下の式(2)により定義する。
α=r×error ・・・(2)
α=r×error ・・・(2)
<第二の量子化ステップ算出方法>
続いて、S405で用いられる重み付け情報I及びS406で加算される重みβの詳細な算出方法について説明する。まず、一般的に近接ブロック同士の画像の特徴は似ており、座標位置が近いほどその相関性は高い。そのため、対象となるブロックに利用する重み付け情報として、当該ブロックの真上に位置するブロック全域で得られる重み付け情報I(i−1,j)を用いることとする。
続いて、S405で用いられる重み付け情報I及びS406で加算される重みβの詳細な算出方法について説明する。まず、一般的に近接ブロック同士の画像の特徴は似ており、座標位置が近いほどその相関性は高い。そのため、対象となるブロックに利用する重み付け情報として、当該ブロックの真上に位置するブロック全域で得られる重み付け情報I(i−1,j)を用いることとする。
図5は、2つ目のブロックラインが圧縮符号化されるときに利用される重み付け情報の取得範囲を説明するための図である。図5に示すように、2つ目のブロックラインに含まれるブロック(i,j)に用いる重み付け情報は、当該ブロックの上段に位置するブロック全域の重み付け情報I(i−1,j)で表すことができる。
次に、本実施形態では、重み付け情報として、画像の特徴を利用する。ある画像の発生符号量に着目すると、画像が複雑であるブロックは、画像が平坦であるブロックと比較して、同じ量子化ステップで量子化処理を行うと、より大きい符号量が発生する。そこで、ブロック(i,j)に利用する重み付け情報I(i−1,j)には、画像の複雑度X(i−1,j)を利用し、複雑度X(i−1,j)を用いてブロックラインに含まれるブロックの重みβ(i,j)を決定する。
つまり、図5によれば、ブロック(i,j)に利用する重み付け情報I(i−1,j)は、当該ブロックの真上に位置するブロック(i−1,j)の複雑度X(i−1,j)として表すことができる。この複雑度は、単位画面内の画像が複雑であれば大きく、平坦であれば小さいという特徴を有する。ブロック(i−1,j)の複雑度は、そのブロックの第二の量子化ステップQ(i−1,j)と発生符号量S(i−1,j)とを用いて以下の式(3)により与えられる。
X(i−1,j)=Q(i−1,j)×S(i−1,j) ・・・(3)
X(i−1,j)=Q(i−1,j)×S(i−1,j) ・・・(3)
以上より、重みβ(i,j)は、例えば、以下の式(4)のように、一つ前のブロックラインに含まれる各ブロックの複雑度の平均値X(i−1)ave.に対する、ブロックの複雑度の偏り(割合)により決定することができる。
β(i,j)=X(i−1,j)/X(i−1)ave. ・・・(4)
β(i,j)=X(i−1,j)/X(i−1)ave. ・・・(4)
図6は、ブロックラインにおける、重み付け情報に基づく第二の量子化ステップの変化と符号量の推移との関係を示す図である。なお、図6においては、ブロックライン内のブロック数が6個である例を示している。図6(a)は、一つ前のブロックラインにおける、ブロック毎の重み付け情報I(i−1,j)の変化を示す図である。本実施形態においては、図6(a)の重み付け情報I(i−1,j)は複雑度X(i−1,j)と等価である。また、図6(b)には、第一の量子化ステップQ(i)に対する第二の量子化ステップQ(i,j)の変化を示している。
図6(c)は、図6(b)に示す第二の量子化ステップで量子化した場合の、そのブロックラインの発生符号量の積算量の推移を示した図である。図6(c)において、点線601は、対象となるブロックラインにおける目標符号量の積算量の変化を表している。折れ線602は、当該ブロックラインの各ブロックで第二の量子化ステップが一定値である場合の発生符号量の積算量の変化を表している。点603は、図6(b)に示す第二の量子化ステップを各ブロックに適応した場合の、ブロック毎の発生符号量の積算量を表している。なお、ブロックラインの発生符号量は、6個目のブロックの発生符号量の積算量と等価である。
折れ線602からわかるように、図6(c)に示す例では、ブロックラインのうち、左側のブロックほど絵柄が簡単なためブロック単位の発生符号量が少なく、右側のブロックの方が比較的絵柄が複雑なためブロック単位の発生符号量が多くなっている。このような特徴を持つブロックライン内で一律の第二の量子化ステップを用いると、ブロックラインの目標符号量に対して発生符号量が大きく外れてしまう可能性が高い。一方、本実施形態のように、重み付け情報I(i−1,j)を用いてブロック毎に第二の量子化ステップを変更すれば、点603に示すように、ブロックラインの発生符号量を目標符号量により近付けることが可能になる。
以上のように本実施形態によれば、画素ライン単位で画像データが入力される場合でも、ブロック毎の量子化ステップを画像の特徴に応じて適応的に変更できるため、符号量制御の精度を高くした画像符号化装置を提供することができる。
(第2の実施形態)
以下、本発明の第2の実施形態について説明する。
図7は、本実施形態に係る画像符号化装置70の構成例を示すブロック図である。本実施形態は、画像データに周波数変換を施す場合を想定したものであり、図1と同一の構成については同一の符号を付しており、これらの構成については説明を省略する。図7に示す構成では、画像符号化部700は、離散ウェーブレット変換部711及び変換係数保持部712を備えている。以下、第1の実施形態と異なる点について説明する。
以下、本発明の第2の実施形態について説明する。
図7は、本実施形態に係る画像符号化装置70の構成例を示すブロック図である。本実施形態は、画像データに周波数変換を施す場合を想定したものであり、図1と同一の構成については同一の符号を付しており、これらの構成については説明を省略する。図7に示す構成では、画像符号化部700は、離散ウェーブレット変換部711及び変換係数保持部712を備えている。以下、第1の実施形態と異なる点について説明する。
離散ウェーブレット変換部711は、画像データを周波数領域信号へ変換(以下、離散ウェーブレット変換)し、その変換係数を量子化部701及び変換係数保持部712へ出力する。量子化部701は、量子化制御部710の指示に従い、入力された変換係数を量子化する。量子化制御部710は、変換係数保持部712が保持する情報を用いて量子化ステップを算出する。なお、これらの処理の詳細については後述する。
圧縮符号化においては、周波数の変換係数を圧縮符号化することにより、人間の視覚特性上鈍感であるとされる空間周波数の高い画像に対しては、量子化ステップを荒くするといった処理をすることができる。このため、より効率良く圧縮符号化処理をすることができる。
<離散ウェーブレット変換>
図8は、離散ウェーブレット変換を水平方向、及び垂直方向にそれぞれ二回ずつ実施した場合に形成される、部分周波数帯域であるサブバンドを説明するための図である。離散ウェーブレット変換では、画像の水平方向、垂直方向にそれぞれ1回ずつフィルタ処理を施すことによって、画像をLL、HL、LH、HHの四つのサブバンドに分割する。ここで、Lは低域成分、Hは高域成分を示し、文字の順に、水平方向、垂直方向の帯域を示している。例えば、HLは水平成分が高域で垂直成分が低域である部分周波数帯域を表す。離散ウェーブレット変換では、このような処理をLL成分に繰り返し実施することができ、離散ウェーブレット変換の回数分のレベルLvが構築される。ウェーブレット変換回数をN回とすると、サブバンドは合計N×3+1領域形成される。
図8は、離散ウェーブレット変換を水平方向、及び垂直方向にそれぞれ二回ずつ実施した場合に形成される、部分周波数帯域であるサブバンドを説明するための図である。離散ウェーブレット変換では、画像の水平方向、垂直方向にそれぞれ1回ずつフィルタ処理を施すことによって、画像をLL、HL、LH、HHの四つのサブバンドに分割する。ここで、Lは低域成分、Hは高域成分を示し、文字の順に、水平方向、垂直方向の帯域を示している。例えば、HLは水平成分が高域で垂直成分が低域である部分周波数帯域を表す。離散ウェーブレット変換では、このような処理をLL成分に繰り返し実施することができ、離散ウェーブレット変換の回数分のレベルLvが構築される。ウェーブレット変換回数をN回とすると、サブバンドは合計N×3+1領域形成される。
<量子化制御処理>
本実施形態における量子化制御部710の処理手順は、基本的には第1の実施形態で説明した図4のフローチャートと同様の手順であり、1画面を1サブバンドとして制御を行う。但し、本実施形態では、重み付け情報I及び重みβの算出方法が第1の実施形態と異なっている。以下、重み付け情報I及び重みβの詳細な算出方法について説明する。
本実施形態における量子化制御部710の処理手順は、基本的には第1の実施形態で説明した図4のフローチャートと同様の手順であり、1画面を1サブバンドとして制御を行う。但し、本実施形態では、重み付け情報I及び重みβの算出方法が第1の実施形態と異なっている。以下、重み付け情報I及び重みβの詳細な算出方法について説明する。
本実施形態においても、対象となるブロックに利用する重み付け情報Iには、当該ブロックの真上に位置するブロック全域で得られる重み付け情報I(i−1,j)を用いることとする。変換係数保持部712に保持される離散ウェーブレット変換の変換係数は、サブバンドで表わされる部分周波数帯域の中でも、相関性の低い画像データでは大きく、そうでなければ小さい。また、変換係数が大きいほど、発生符号量は大きくなる。つまり、ブロック内の変換係数の総和Coeff.sumが大きいブロックは、変換係数の総和Coeff.sumが小さいブロックと比較して、同じ量子化ステップで量子化処理をした場合に、より大きい符号量が発生することが予想される。
そこで、本実施形態においては、対象となるブロックに利用する重み付け情報I(i−1,j)には、一つ前のブロックラインに含まれるブロック毎の変換係数の総和Coeff.sum(i−1,j)を利用する。変換係数を利用し、重みβの値は、例えば以下の式(5)のように、一つ前のブロックラインに含まれる各ブロックの変換係数の総和の平均値Coeff.(i−1).ave.に対する、Coeff.sum(i−1,j)の偏りにより決定することができる。
β(i,j)=Coeff.sum(i−1,j)/Coeff.(i−1)ave. ・・・(5)
β(i,j)=Coeff.sum(i−1,j)/Coeff.(i−1)ave. ・・・(5)
以上の重みβの算出方法による本実施形態の効果について、図6を参照しながら説明する。本実施形態においては、図6(a)の重み付け情報I(i−1,j)は変換係数の総和Coeff.sum(i−1,j)と等価である。第1の実施形態で説明したように、ブロックライン内で一律の第二の量子化ステップを用いると、ブロックラインの左右で発生符号量が大きく異なる画像では、目標符号量に対して発生符号量が外れてしまう可能性が高い。一方、本実施形態のように重み付け情報I(i−1,j)を用いてブロック毎に第二の量子化ステップを変更すれば、発生符号量を目標符号量により近付けることが可能になる。
以上のように本実施形態によれば、画素ライン単位で画像データが入力される場合において、離散ウェーブレット変換を行う画像符号化装置でも、離散ウェーブレット変換の変換係数を用いてブロック毎に第二の量子化ステップを変更できる。そのため、ブロック毎の量子化ステップを画像の特徴に応じて適応的に変更でき、符号量制御の精度を高くした画像符号化装置を提供することができる。
なお、上記の重み付け情報により決定したサブバンド毎の重みβに対して、視覚特性を考慮して重みβに対して更に重みを付けてもよい。例えば、最も空間周波数の高いサブバンドHHの重みβのみサブバンドHL、LHに対して大きくすることも可能である。また、本実施形態においては、サブバンドによって符号量制御を行うかそうでないかを切り替えることを可能にしてもよい。
(第3の実施形態)
本実施形態に係る画像符号化装置の構成例は、第2の実施形態における図7の構成と同様である。本実施形態では、量子化制御部710は、離散ウェーブレット変換レベルの等しいサブバンドのうち、特定の1つの重み付け情報を用いて、レベル単位に第二の量子化ステップを制御する。なお、その他の構成の基本的な動作は第2の実施形態と同様であるため、説明は省略する。
本実施形態に係る画像符号化装置の構成例は、第2の実施形態における図7の構成と同様である。本実施形態では、量子化制御部710は、離散ウェーブレット変換レベルの等しいサブバンドのうち、特定の1つの重み付け情報を用いて、レベル単位に第二の量子化ステップを制御する。なお、その他の構成の基本的な動作は第2の実施形態と同様であるため、説明は省略する。
離散ウェーブレット変換では、部分周波数帯域であるサブバンドを単位として画像が分割される。一般に離散ウェーブレット変換における同一レベルのサブバンドは、異なるレベルのサブバンドに比べて周波数帯域が近いことから、量子化処理による復号化後の原画像に対する劣化度も近い。そのため、同一レベルのサブバンドをそれぞれ全く異なる量子化ステップで量子化処理し、異なる劣化具合のサブバンドから復号化された画像は、主観的に不自然な画像になりやすい。以上のことから、同一レベル内のサブバンド間では量子化ステップに一定以上の差を設けないことが望ましい。そこで本実施形態は、同一レベル内の3つのサブバンドで同一の重み付け情報を用いることにより、サブバンド間の量子化ステップの乖離を防ぐようにする。
図9は、離散ウェーブレット変換のレベル1に着目した、レベル毎の重み付け情報を決定する処理を説明するための図である。図9(a)は、重み付け情報を決定する処理の流れを説明するための図であり、図9(b)は、レベル1の3つのサブバンドにおける、変換係数の総和例を示した図である。
<量子化制御処理>
次に、図9を参照しながら、本実施形態の符号量制御の方法について説明する。なお、本実施形態において、量子化制御部710の処理手順は図4のフローチャートと同様であり、本実施形態は重み付け情報の選択方法が第2の実施形態と異なっている。
次に、図9を参照しながら、本実施形態の符号量制御の方法について説明する。なお、本実施形態において、量子化制御部710の処理手順は図4のフローチャートと同様であり、本実施形態は重み付け情報の選択方法が第2の実施形態と異なっている。
まず、本実施形態では、画像データを離散ウェーブレット変換してから画素ライン毎に順次圧縮符号化処理が行われる。図9(a)に示すように、変換係数保持部712には、各サブバンドの離散ウェーブレット変換の変換係数が保持されている。量子化制御部710は、対象とするブロックラインに利用する重み付け情報I(i−1,j)として、一つ前のブロックラインにおける変換係数の総和Coeff.(i−1)がレベル内で最も大きいサブバンドのCoeff.sum(i−1,j)を利用する。
図9(b)に示す例の場合、同一レベルのサブバンドの中で、LH成分の変換係数の総和Coeff.(i−1)が最も大きいため、量子化制御部710は、LH成分の重み付け情報をLv1の全てのサブバンドの量子化制御に利用する。つまり、重みβの値は、例えば、以下の式(6)のように、一つ前のブロックラインに含まれる各ブロックの変換係数の総和の平均値Coeff(i−1).ave.に対する、Coeff.sum(i−1,j)の偏りにより決定することができる。
β(i,j)_Lv1_HL
=β(i,j)_Lv1_LH
=β(i,j)_Lv1_HH
=Coeff.sum(i−1,j)_Lv1_LH/Coeff.(i−1)ave._Lv1_LH
・・・(6)
β(i,j)_Lv1_HL
=β(i,j)_Lv1_LH
=β(i,j)_Lv1_HH
=Coeff.sum(i−1,j)_Lv1_LH/Coeff.(i−1)ave._Lv1_LH
・・・(6)
以上のように本実施形態によれば、同一レベルのサブバンド間で同一の重み付け情報を用いるため、同一レベルのサブバンド間で量子化ステップの乖離を小さくすることができる。これにより、復号化後の画像が視覚的に不自然な画像になることを防ぎつつ、符号量制御の精度を高くした画像符号化装置を提供することができる。
(第4の実施形態)
本実施形態に係る画像符号化装置の構成例は、第1の実施形態における図1の構成と同様である。本実施形態では、量子化制御部110は、対象となるブロックの真上にあるブロックのうち、下位の任意の行の画素ラインに含まれる重み付け情報を用いてブロックに用いる重みβを算出する。なお、その他の構成の基本的な動作は第1の実施形態と同様であるため、説明は省略する。
本実施形態に係る画像符号化装置の構成例は、第1の実施形態における図1の構成と同様である。本実施形態では、量子化制御部110は、対象となるブロックの真上にあるブロックのうち、下位の任意の行の画素ラインに含まれる重み付け情報を用いてブロックに用いる重みβを算出する。なお、その他の構成の基本的な動作は第1の実施形態と同様であるため、説明は省略する。
一般的に、画像の中でも座標位置が近い領域の類似性は高いため、重みを算出するために利用する重み付け情報も、対象となるブロックに対して座標が近い情報であるほどその信頼度は向上する。そのため、重み付け情報の取得範囲は、当該ブロックの真上に位置するブロック全体でなくてもよい。
図10は、2つ目のブロックラインが圧縮符号化されるときに利用する重み付け情報の取得範囲の一例を示す図である。図10においては、ブロック毎の重みβを算出する際に用いる情報を、当該ブロックの上段に位置するブロックのうち、下位の任意の数の画素ラインとしていることを示している。ブロックの縦の画素数が大きい場合は、本実施形態のように参照する画素ライン数を一部に限定することにより、より類似性の高い画像から重み付け情報を得ることができる。
以上のように本実施形態によれば、ブロック毎の第二の量子化ステップを決定するために利用する重み付け情報を、当該ブロックにより近い、当該ブロックの真上に位置するブロックのうち、下位の任意の数の画素ラインから取得する。これにより、類似性の高い画像から重み付け情報を得られ、より符号量制御の精度を高くした画像符号化装置を提供することができる。
(第5の実施形態)
本実施形態に係る画像符号化装置の構成例は、第1の実施形態における図1の構成と同様である。本実施形態では、量子化制御部110は、第二の量子化ステップを算出するための重みを、所定の閾値に対する大小によって決定する。なお、その他の構成の基本的な動作は第1の実施形態と同様であるため、説明は省略する。
本実施形態に係る画像符号化装置の構成例は、第1の実施形態における図1の構成と同様である。本実施形態では、量子化制御部110は、第二の量子化ステップを算出するための重みを、所定の閾値に対する大小によって決定する。なお、その他の構成の基本的な動作は第1の実施形態と同様であるため、説明は省略する。
図11は、本実施形態で適応する重みに基づいた、第二の量子化ステップの変化と符号量の推移との関係を示す図である。なお、図11においては、ブロックライン内のブロック数が6個である例を示している。図11(a)は、一つ前のブロックラインにおける、ブロック毎の重み付け情報I(i−1,j)の変化を示す図である。図11(a)に示すように、重み付け情報に関して第一の重み付け閾値Th1、及び第二の重み付け閾値Th2が設定されている。また、本実施形態においては、図11(a)の重み付け情報I(i−1,j)は複雑度X(i−1,j)と等価である。
図11(b)は、第一の量子化ステップQ(i)に対する第二の量子化ステップQ(i,j)の変化を示す図である。また、図11(c)は、図11(b)に示す第二の量子化ステップで量子化した場合の、ブロックラインの発生符号量の積算量の推移を示した図である。
図11(c)において、点線1101は、対象となるブロックラインにおける目標符号量の積算量の変化を表している。折れ線1102は、当該ブロックラインの各ブロックで第二の量子化ステップが一定値である場合の発生符号量の積算量の変化を表している。曲線1103は、図11(b)に示す第二の量子化ステップを各ブロックに適応した場合の、ブロック毎の発生符号量の積算量の変化を表している。なお、ブロックラインの発生符号量は、6個目のブロックの発生符号量の積算量と等価である。また、図11(c)において、折れ線1102と曲線1103とが略平行に推移している部分は、量子化ステップが等しいことを示している。図11(c)では、特に第二の量子化ステップが変化したブロックのみを丸印で示し、そうでないブロックを×印で示している。
本実施形態では、図11に示すように、ブロック毎の重みβを算出する際に二つの重み付け閾値を設定する。第一の重み付け閾値Th1は、画像が非常に複雑であるブロックを選択するために設定される。第一の重み付け閾値Th1よりも大きな複雑度である場合は、第一の量子化ステップよりも大きい第二の量子化ステップを与える。すなわち、重みβ(i,j)を、値β1(β1>1)に設定する。
一方、第二の重み付け閾値Th2は、画像が非常に平坦であるブロックを選択するために設定される。第二の重み付け閾値Th2よりも小さな複雑度である場合は、第一の量子化ステップよりも小さい第二の量子化ステップを与える。すなわち、重みβ(i,j)を、値β2(β2<1)に設定する。
また、ブロックの複雑度が第二の重み付け閾値Th2以上、第一の重み付け閾値Th1以下である場合は、重みは付けないようにする。すなわち、重みβ(i,j)を1に設定する。
図11(c)に示すように、ブロックライン内で特異なブロック以外の第二の量子化ステップは第一の量子化ステップのままであるため、量子化ステップのばらつきが小さく済む。符号量制御において、発生符号量を目標符号量に近付けることは重要である一方で、ブロック毎の量子化ステップがばらつくと、そのブロック間の画質の差として視覚的に目立つ可能性がある。そこで、値β1の上限と値β2の下限とを任意に設定して段階的に第二の量子化ステップを設定することにより、よりブロック間の画質の劣化を小さく抑えることができる。
以上のように本実施形態で示す重みの算出法を適応することにより、画質の差を小さくしつつ符号量制御の精度を高くすることができる。すなわち、重み付け情報が極端な値でない限り第二の量子化ステップに第一の量子化ステップを適応するため、視覚的な画像の劣化を回避しつつ、符号量制御の精度を高くした画像符号化装置を提供することができる。
(その他の実施形態)
以上、各実施形態について詳述したが、本発明は特定の実施形態に限定されるものではなく、種々の変形及び変更が可能である。また、前述した実施形態の構成要素を全部又は複数を組み合わせることも可能である。
以上、各実施形態について詳述したが、本発明は特定の実施形態に限定されるものではなく、種々の変形及び変更が可能である。また、前述した実施形態の構成要素を全部又は複数を組み合わせることも可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 量子化部
104 符号化部
109 符号量比較部
110 量子化制御部
104 符号化部
109 符号量比較部
110 量子化制御部
Claims (13)
- 入力された画像データを画素ラインの単位で符号化する符号化装置であって、
前記画像データを量子化する量子化手段と、
前記量子化手段によって量子化されるブロックの上段のブロックラインまでの発生符号量と、前記画素ラインの単位の目標符号量とを比較する比較手段と、
前記比較手段による比較結果に応じてブロック単位に量子化ステップを制御する制御手段とを有し、
前記制御手段は、前記比較手段による比較結果に応じて前記量子化手段によって量子化されるブロックが属するブロックラインの第一の量子化ステップを決定するとともに、前記量子化手段によって量子化されるブロックの上段のブロックに係る情報に基づいて前記第一の量子化ステップに対して重み付けすることによりブロック単位の第二の量子化ステップを決定し、
前記量子化手段は、前記制御手段によって決定された第二の量子化ステップにより量子化することを特徴とする符号化装置。 - 前記制御手段は、前記量子化手段によって量子化されるブロックの上段のブロックに係る発生符号量と量子化ステップとを用いて前記第一の量子化ステップに対して重み付けすることを特徴とする請求項1に記載の符号化装置。
- 前記制御手段は、前記量子化手段によって量子化されるブロックの上段のブロックラインに属するブロックに係る発生符号量と量子化ステップとの積の平均値に対する、前記量子化手段によって量子化されるブロックの上段のブロックに係る発生符号量と量子化ステップとの積の割合により前記第一の量子化ステップに対して重み付けすることを特徴とする請求項2に記載の符号化装置。
- 前記制御手段は、前記量子化手段によって量子化されるブロックの上段のブロックラインに属するブロックに係る発生符号量と量子化ステップとの積に応じて、段階的に前記第一の量子化ステップに対して重み付けすることを特徴とする請求項1又は2に記載の符号化装置。
- 前記制御手段は、前記量子化手段によって量子化されるブロックの上段のブロック全体に係る情報に基づいて前記第一の量子化ステップに対して重み付けすることを特徴とする請求項1〜4の何れか1項に記載の符号化装置。
- 前記制御手段は、前記量子化手段によって量子化されるブロックの上段のブロックの中の一部の画素ラインに係る情報に基づいて前記第一の量子化ステップに対して重み付けすることを特徴とする請求項1〜4の何れか1項に記載の符号化装置。
- 入力された画像データを離散ウェーブレット変換して画素ラインの単位で符号化する符号化装置であって、
前記入力された画像データを周波数変換する変換手段と、
前記変換手段による周波数変換の変換係数を量子化する量子化手段と、
前記量子化手段によって量子化されるブロックの上段のブロックラインまでの発生符号量と、前記画素ラインの単位の目標符号量とを比較する比較手段と、
前記比較手段による比較結果に応じてブロック単位に量子化ステップを制御する制御手段とを有し、
前記制御手段は、前記比較手段による比較結果に応じて前記量子化手段によって量子化されるブロックが属するブロックラインの第一の量子化ステップを決定するとともに、前記量子化手段によって量子化されるブロックの上段のブロックに係る変換係数に基づいて前記第一の量子化ステップに対して重み付けすることによりブロック単位の第二の量子化ステップを決定し、
前記量子化手段は、前記制御手段によって決定された第二の量子化ステップにより量子化することを特徴とする符号化装置。 - 前記制御手段は、前記量子化手段によって量子化されるブロックの上段のブロックに係る変換係数の総和を用いて前記第一の量子化ステップに対して重み付けすることを特徴とする請求項7に記載の符号化装置。
- 前記制御手段は、前記変換手段によって周波数変換された回数に応じて前記第一の量子化ステップに対して重み付けすることを特徴とする請求項7に記載の符号化装置。
- 入力された画像データを画素ラインの単位で符号化する符号化方法であって、
前記画像データを量子化する量子化工程と、
前記量子化工程において量子化されるブロックの上段のブロックラインまでの発生符号量と、前記画素ラインの単位の目標符号量とを比較する比較工程と、
前記比較工程における比較結果に応じてブロック単位に量子化ステップを制御する制御工程とを有し、
前記制御工程においては、前記比較工程における比較結果に応じて前記量子化工程において量子化されるブロックが属するブロックラインの第一の量子化ステップを決定するとともに、前記量子化工程において量子化されるブロックの上段のブロックに係る情報に基づいて前記第一の量子化ステップに対して重み付けすることによりブロック単位の第二の量子化ステップを決定し、
前記量子化工程においては、前記制御工程において決定された第二の量子化ステップにより量子化することを特徴とする符号化方法。 - 入力された画像データを離散ウェーブレット変換して画素ラインの単位で符号化する符号化方法であって、
前記入力された画像データを周波数変換する変換工程と、
前記変換工程における周波数変換の変換係数を量子化する量子化工程と、
前記量子化工程において量子化されるブロックの上段のブロックラインまでの発生符号量と、前記画素ラインの単位の目標符号量とを比較する比較工程と、
前記比較工程における比較結果に応じてブロック単位に量子化ステップを制御する制御工程とを有し、
前記制御工程においては、前記比較工程における比較結果に応じて前記量子化工程において量子化されるブロックが属するブロックラインの第一の量子化ステップを決定するとともに、前記量子化工程において量子化されるブロックの上段のブロックに係る変換係数に基づいて前記第一の量子化ステップに対して重み付けすることによりブロック単位の第二の量子化ステップを決定し、
前記量子化工程においては、前記制御工程において決定された第二の量子化ステップにより量子化することを特徴とする符号化方法。 - 入力された画像データを画素ラインの単位で符号化する符号化装置を制御するためのプログラムであって、
前記画像データを量子化する量子化工程と、
前記量子化工程において量子化されるブロックの上段のブロックラインまでの発生符号量と、前記画素ラインの単位の目標符号量とを比較する比較工程と、
前記比較工程における比較結果に応じてブロック単位に量子化ステップを制御する制御工程とをコンピュータに実行させ、
前記制御工程においては、前記比較工程における比較結果に応じて前記量子化工程において量子化されるブロックが属するブロックラインの第一の量子化ステップを決定するとともに、前記量子化工程において量子化されるブロックの上段のブロックに係る情報に基づいて前記第一の量子化ステップに対して重み付けすることによりブロック単位の第二の量子化ステップを決定し、
前記量子化工程においては、前記制御工程において決定された第二の量子化ステップにより量子化することを特徴とするプログラム。 - 入力された画像データを離散ウェーブレット変換して画素ラインの単位で符号化する符号化装置を制御するためのプログラムであって、
前記入力された画像データを周波数変換する変換工程と、
前記変換工程における周波数変換の変換係数を量子化する量子化工程と、
前記量子化工程において量子化されるブロックの上段のブロックラインまでの発生符号量と、前記画素ラインの単位の目標符号量とを比較する比較工程と、
前記比較工程における比較結果に応じてブロック単位に量子化ステップを制御する制御工程とをコンピュータに実行させ、
前記制御工程においては、前記比較工程における比較結果に応じて前記量子化工程において量子化されるブロックが属するブロックラインの第一の量子化ステップを決定するとともに、前記量子化工程において量子化されるブロックの上段のブロックに係る変換係数に基づいて前記第一の量子化ステップに対して重み付けすることによりブロック単位の第二の量子化ステップを決定し、
前記量子化工程においては、前記制御工程において決定された第二の量子化ステップにより量子化することを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014211923A JP2016082395A (ja) | 2014-10-16 | 2014-10-16 | 符号化装置、符号化方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014211923A JP2016082395A (ja) | 2014-10-16 | 2014-10-16 | 符号化装置、符号化方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016082395A true JP2016082395A (ja) | 2016-05-16 |
Family
ID=55956517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014211923A Pending JP2016082395A (ja) | 2014-10-16 | 2014-10-16 | 符号化装置、符号化方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016082395A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018006999A (ja) * | 2016-06-30 | 2018-01-11 | キヤノン株式会社 | 画像符号化装置及びその制御方法 |
WO2021098030A1 (zh) * | 2019-11-22 | 2021-05-27 | 网宿科技股份有限公司 | 一种视频编码的方法和装置 |
-
2014
- 2014-10-16 JP JP2014211923A patent/JP2016082395A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018006999A (ja) * | 2016-06-30 | 2018-01-11 | キヤノン株式会社 | 画像符号化装置及びその制御方法 |
WO2021098030A1 (zh) * | 2019-11-22 | 2021-05-27 | 网宿科技股份有限公司 | 一种视频编码的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111066326B (zh) | 机器学习视频处理***和方法 | |
US9282330B1 (en) | Method and apparatus for data compression using content-based features | |
CN110495174B (zh) | 编码方法、装置、图像处理***和计算机可读存储介质 | |
JPWO2009050889A1 (ja) | 映像復号方法及び映像符号化方法 | |
US10602145B2 (en) | Image encoding apparatus and control method thereof | |
US10776956B2 (en) | Image coding apparatus, image decoding apparatus, image coding method, image decoding method, and non-transitory computer-readable storage medium | |
JP6065613B2 (ja) | 動画像符号化装置 | |
US20170353724A1 (en) | Image encoding apparatus and control method therefor | |
CN113906762B (zh) | 用于视频压缩的预处理 | |
JP6806466B2 (ja) | 画像符号化装置及びその制御方法 | |
JP2016082395A (ja) | 符号化装置、符号化方法及びプログラム | |
US20230133895A1 (en) | Image encoding apparatus and method for controlling the same and non-transitory computer-readable storage medium | |
JP2018019239A5 (ja) | ||
JP2017126859A5 (ja) | ||
CN115866250A (zh) | 视频处理方法、装置、设备及计算机可读存储介质 | |
CN106791867B (zh) | 一种检测图像质量的方法和解码*** | |
JPH07203430A (ja) | 画像符号化装置 | |
CN110896487B (zh) | 压缩图像数据的方法 | |
CN109547781B (zh) | 基于图像预测的压缩方法及设备 | |
JP6486120B2 (ja) | 符号化装置、符号化装置の制御方法、及びプログラム | |
JP5913929B2 (ja) | 動画像符号化装置及びその制御方法、コンピュータプログラム | |
JP2018101907A (ja) | 画像符号化装置及びその制御方法及びプログラム | |
KR101469513B1 (ko) | 영상여기신호를 이용한 다중 텍스쳐 이미지 기반 영상 처리 방법 및 장치 | |
US11595661B2 (en) | Encoding amount estimation apparatus, encoding amount estimation method and encoding amount estimation program | |
JP7075012B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム |