JP2018160776A - 画像符号化装置及びその制御方法及びプログラム - Google Patents
画像符号化装置及びその制御方法及びプログラム Download PDFInfo
- Publication number
- JP2018160776A JP2018160776A JP2017056455A JP2017056455A JP2018160776A JP 2018160776 A JP2018160776 A JP 2018160776A JP 2017056455 A JP2017056455 A JP 2017056455A JP 2017056455 A JP2017056455 A JP 2017056455A JP 2018160776 A JP2018160776 A JP 2018160776A
- Authority
- JP
- Japan
- Prior art keywords
- pixel block
- encoding
- interest
- encoded
- index
- 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 Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】 画像データを予めスキャンすること無しに、着目画素ブロックを効率よく符号化を行う。
【解決手段】符号化対象の画像データから、複数画素で構成される画素ブロックをラスタースキャン順に入力し、入力した着目画素ブロックを、与えられたインデックスで示される、複数の可変長符号化テーブルの1つを用いて符号化する符号化部と、着目画素ブロックの画素の分布に基づいて、当該着目画素ブロックに後続する未符号化の画素ブロックに用いるインデックスを決定する決定部とを有する。ここで、符号化部は、着目画素ブロックを符号化する際に、着目画素ブロックの隣接する複数の既符号化画素ブロックの符号化時に決定した複数のインデックスのうち、着目画素ブロックの位置に応じた1つを選択し、着目画素ブロックを符号化する。
【選択図】 図1
【解決手段】符号化対象の画像データから、複数画素で構成される画素ブロックをラスタースキャン順に入力し、入力した着目画素ブロックを、与えられたインデックスで示される、複数の可変長符号化テーブルの1つを用いて符号化する符号化部と、着目画素ブロックの画素の分布に基づいて、当該着目画素ブロックに後続する未符号化の画素ブロックに用いるインデックスを決定する決定部とを有する。ここで、符号化部は、着目画素ブロックを符号化する際に、着目画素ブロックの隣接する複数の既符号化画素ブロックの符号化時に決定した複数のインデックスのうち、着目画素ブロックの位置に応じた1つを選択し、着目画素ブロックを符号化する。
【選択図】 図1
Description
本発明は、画像データの符号化技術に関するものである。
近年、4K、8Kといった高解像度画像や、1画素あたり8ビットを超える高諧調の画像を撮像可能な撮像装置が開発されている。このような画像は非常に多くの情報を含んでおり、データ量が膨大になってしまう。この膨大なデータ量を圧縮するため様々な高能率符号化が開発されている。
周辺画素から予測画素値を生成し、符号化対象画素値との差分値を符号化する方式も知られている。予測画素値を生成する方法が画素位置によって異なるため、画素位置によって可変長テーブルを切り替え、その際の可変長符号化テーブルを指し示すインデックスを効率よく符号化する技術がある(特許文献1)。
画像符号化では、符号化対象の画像におけるN画素×M画素(N、Mは整数)の画素ブロックを単位で行うことが一般的である。また、符号化を行う際に、符号化の際に使用する複数の可変長符号化テーブルを用い、そのいずれかを指し示すインデックスを、画素ブロック毎に使用することが考えられる。画素ブロック内の画素値の分布は、画像の絵柄によって異なる。そのため画素ブロックで一つのインデックスを使用する場合、画素ブロック内の画素値分布に応じて適切なインデックスを選択しなければ符号化効率が低下する。
係る問題を図9を用いてより詳しく説明する。図9(a)は、画像をN×M画素で構成される画素ブロックに分割した画像を示している。ここで、各画素ブロック内をラスタースキャン順に各画素値を予測符号化する場合を考察する。図9(b),(c)は、符号化対象値と符号語の関係を表す複数の可変長テーブルのうち、インデックス2、8の例を示している。図9(d)、(e)は、符号化対象値の分布の例を示している。
図9(a)に示す画像のけるN×M画素ブロックは、画像の領域によって異なる絵柄となるため、画素ブロック毎に異なる画素値分布となる。例えば画素ブロック902は空であるため、N×M画素ブロック内の符号化対象値の発生頻度の偏りが大きく、その符号化対象値の分布は図9(d)に示すようになる。つまり、多くの符号化対象値が値Xに集中するので、図9(b)に示す符号化テーブルを用いて符号化すると高い符号化効率が期待できる。
一方画素ブロック903は、その中に出現する画素のばらつきが大きく、符号化対象値の分布は図9(e)にようになる。故に、符号化対象値によらず、符号長があまり変わらない、図9(c)に示す符号化テーブルを用いて符号化することが望ましい。
上記のように、画素ブロック毎に最適なインデックスを決定することが、高い符号化効率を得るために重要なファクタとなることが理解できよう。
しがしながら前記特許文献1の構成では、各画素ブロックの画素値分布に応じてインデックスを選択することが示されていず、上述したような課題に対して適応できない。
また画素値分布を一度スキャンしてからインデックスを求める構成も考えられるが、画像をスキャンする構成であれば、画像を保持するメモリが膨大となり、コストが上がるなどの課題がある。またリアルタイム性が求められる撮像装置においては、一度画像をスキャンし、再度符号化のために画像を読み込むには時間的余裕が無く実現が困難である。
本発明は、上記の問題点に鑑み、画像を予めスキャンせずとも符号化済のN×M画素ブロックの画素値分布から最適なインデックス値を計算し、符号化順で次のN×M画素ブロックのインデックスとして使用することで符号化効率を向上させる技術を提供しようとするものである。
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像データを符号化する画像符号化装置であって、
符号化対象の画像データから、複数画素で構成される画素ブロックを、ラスタースキャン順に入力する入力手段と、
入力した着目画素ブロックを、与えられたインデックスで特定される、複数の可変長符号化テーブルの1つを用いて符号化する符号化手段と、
前記着目ブロックの画素の分布に基づいて、当該着目画素ブロックに後続する未符号化の画素ブロックに用いるインデックスを決定する決定手段とを有し、
前記符号化手段は、前記着目画素ブロックを符号化する際に、前記着目画素ブロックの隣接する複数の既符号化画素ブロックの符号化時に決定した複数のインデックスのうち、前記着目画素ブロックの位置に応じた1つを選択し、前記着目画素ブロックを符号化することを特徴とする。
画像データを符号化する画像符号化装置であって、
符号化対象の画像データから、複数画素で構成される画素ブロックを、ラスタースキャン順に入力する入力手段と、
入力した着目画素ブロックを、与えられたインデックスで特定される、複数の可変長符号化テーブルの1つを用いて符号化する符号化手段と、
前記着目ブロックの画素の分布に基づいて、当該着目画素ブロックに後続する未符号化の画素ブロックに用いるインデックスを決定する決定手段とを有し、
前記符号化手段は、前記着目画素ブロックを符号化する際に、前記着目画素ブロックの隣接する複数の既符号化画素ブロックの符号化時に決定した複数のインデックスのうち、前記着目画素ブロックの位置に応じた1つを選択し、前記着目画素ブロックを符号化することを特徴とする。
本発明によれば、画像データを予めスキャンすること無しに、着目画素ブロックを効率よく符号化を行うことが可能になる。
以下図面に従って本発明に係る実施形態を詳細に説明する。なお、実施形態では、画像符号化装置がデジタルカメラやスマートホン等の撮像機能を有する撮像装置に適用した例を説明する。
[第1の実施形態]
図1は、実施形態における撮像装置100のブロック構成図である。撮像装置100は、撮像部101、分離分配部102、符号化部103、記録部104、インデックス選択部105、及び、制御部106を有する。
図1は、実施形態における撮像装置100のブロック構成図である。撮像装置100は、撮像部101、分離分配部102、符号化部103、記録部104、インデックス選択部105、及び、制御部106を有する。
図1を用いて撮像装置100の処理手順を説明する。撮像部101は、画素毎に配置される赤、緑、青(RGB)のカラーフィルタを透過した光を電気信号に変換する。この場合、撮像部101の出力は、RAW画像である。撮像部101から出力されるRAW画像は、DRAMなどの記録媒体に記録せずにリアルタイムに後段の各処理部に出力される。
分離分配部102は撮像部101から入力されるRAW画像を、各色成分の画像に分離し、後段の符号化部103およびインデックス選択部105に分配する。例えば分離分配部102は、ベイヤー配列画像からRGB画像を生成し、R、G、Bの各成分画像を出力する。なお、分離機能をOFFしてRAW画像のまま出力しても良い。また分離分配部102にDCTやウェーブレット変換等の周波数変換機能を持たせ、出力するデータが周波数変換された係数値であっても良い。分離分配部102の出力もDRAMなどの記録媒体に記録せずにリアルタイムに後段の符号化部103およびインデックス選択部105に出力される。
符号化部103は、符号化対象の或る色成分の着目画像データから、N×M画素で構成される着目画素ブロックを切り出し、可変長符号化を行う。図2(a)は、符号化部103による符号化対象の画素ブロックの順序を示している。画像データの符号化する際の最初の画素ブロックは、図示の画素ブロック201である。この画素ブロック201の符号化を終えると、右隣の画素ブロック202を符号化していくことを繰り返す。水平右端の画素ブロック203を符号化した後は、最初の画素ブロック201の下隣に位置した画素ブロック204から符号化を行っていく。つまり、符号化部103は、画素ブロックを単位とした、ラスタースキャン順に符号化していく。
ここで、符号化部103によって符号化される着目画素ブロックの座標は、制御部106によって管理されている。また、制御部106は、インデックス選択部150が選択したインデックスを、符号化部103に供給する。符号化部103は、着目画素ブロックを、与えられたインデックスで特定される可変長符号化テーブルを用いて、可変長符号化し、符号化データを出力する。なお、実施形態では、符号化部103が、予め複数の可変長符号化テーブルを持つものとしているが、制御部103が複数の可変長符号化テーブルを持つものとしても良い。後者の場合、制御部103は、インデックス選択部105が選択したインデックスに従って可変長符号化テーブルの1つを、符号化部103に供給することになる。
符号化部103は、分離分配部102から出力された着目画素ブロック内を画素を単位とするラスタースキャン順に符号化を行い、符号化データを生成する。そして、符号化部103は、生成した符号化データを後段の記録部104に出力する。なお符号化部103は、着目画素の周囲の既に符号化済みの画素値から求めた予測値に対する予測誤差(=着目画素の値−予測値)を求め、その予測誤差をエントロピー符号化(予測符号化)する。なお、着目画素が、画素ブロック内の最初のラインや左端の画素の場合、既に符号化済みの近傍画素は、画素ブロック外に位置することになる。符号化部103は、係る状況下での近傍画素は、予め設定された値であると見なして符号化を行うものとする。この場合の予め設定された値は、復号装置との間で同じになれば良いので、その値は特に問わない。例えば、画素値が8ビットで表されるのであれば、中央の“128”である。
記録部104は、符号化部103にて生成された符号化データを記録する。記録対象は、撮像装置100に内蔵されたメモリであっても良いし、SDカードメモリに代表される記録媒体であっても構わない。
インデックス選択部105は、分離分配部102から符号化対象の着目画素ブロックの符号化に利用する可変長符号化テーブルのインデックスを決定し、決定したインデックスを制御部106に出力する。
画像内の隣合う画素ブロックは、100%とは言えないまでも、相関度は高いと言える。そこで、インデックス選択部105は、符号化部103が符号化しようとしている着目画素ブロックの周囲の、符号化済みの隣接画素ブロックの画素値分布を計算し、その計算結果に基づき着目画素ブロック用の可変長符号化テーブルのインデックスを決定する。つまり、符号化しようとする画素ブロックは、符号化が完了した隣の画素ブロックと同じ傾向の画像と見なす。実施形態では、先に説明したように、画素ブロック単位のラスタースキャン順に符号化が行われる。従って、着目画素ブロックの上、及び、左に隣接する画素ブロックは符号化済みである。ただし、着目画素ブロックが、画像データの最初に符号化する画素ブロックの場合、符号化済みの隣接画素ブロックが、画像外になることが起こり得る。実施形態では、次のようなルール(i)乃至(iii)で、参照する隣接画素ブロックを決定した。
(i)着目画素ブロックは画像の左上隅に位置するとき(着目画素ブロックが画素ブロック201の場合)、上、左隣には隣接画素ブロックは存在しない。よって、この場合には、隣接ブロックは所定の画素値分布となっているものと見なし、予め設定されたインデックスに設定する。例えば、後述する図4(c)のテーブルのインデックス“8”とする。なお、復号装置と共通であれば良いので、“8”ではく、それ以外でも構わない。
(ii)着目画素ブロックが、画像の左端以外に位置する場合(着目画素ブロックが画素ブロック202〜203のいずれかの場合)、左隣の画素ブロックを参照対象とする。
(iii)着目画素ブロックが、画像の左上隅を除く、画像の左端に位置する場合(画素ブロック204の場合)、上隣の画素ブロックを参照対象とする。
(i)着目画素ブロックは画像の左上隅に位置するとき(着目画素ブロックが画素ブロック201の場合)、上、左隣には隣接画素ブロックは存在しない。よって、この場合には、隣接ブロックは所定の画素値分布となっているものと見なし、予め設定されたインデックスに設定する。例えば、後述する図4(c)のテーブルのインデックス“8”とする。なお、復号装置と共通であれば良いので、“8”ではく、それ以外でも構わない。
(ii)着目画素ブロックが、画像の左端以外に位置する場合(着目画素ブロックが画素ブロック202〜203のいずれかの場合)、左隣の画素ブロックを参照対象とする。
(iii)着目画素ブロックが、画像の左上隅を除く、画像の左端に位置する場合(画素ブロック204の場合)、上隣の画素ブロックを参照対象とする。
ここで符号化効率が良い可変長テーブルを指し示すインデックスを選択する方法について図4を用いて説明する。図4(a)乃至(c)に示すテーブルは、符号化対象値(符号化シンボルであり、実施形態では予測誤差)と該符号化対象値に対応する符号語(コード)との対応関係を示している。図4(a)乃至(c)は、それぞれインデックスが異なっている。
図4(a)のテーブルは、取り得る符号語の符号長の範囲(最短符号長と最長符号長の差)が広いが、その分だけ符号化対象値Xに、より短い符号語が割り当てられている。従って、図4(a)のテーブルは、予測が当たり易い画像に適したテーブルと言える。
図4(c)は、取り得る符号語の符号長の範囲が、図4(a)と比較して狭い。故に、故に、図4(c)のテーブルは、予測がずれても極端に符号量が多くなることを抑制できるテーブルと言える。
図4(b)は、図4(a)と(c)の中間の画像に適したテーブルである。
図4(d)乃至(f)は、水平軸は符号化対象値を、垂直軸は符号化対象値の発生頻度を示している。図4(d)に示す画像の場合、Xという値の近傍の予測誤差が多く発生し(予測が当たりやすいことを意味する)、符号化対象値の発生頻度に大きな偏りが生じていることを示している。このような画像に対しては、図4(a)に示すインデックス“2”の可変長テーブルを使用して符号化すると符号化効率が向上する。インデックス“2”で示される可変長テーブルは、発生頻度が高い符号化対象値に対して、短い符号を割り当てることで、発生頻度Xが多い画像であればあるほど符号化データ量を少なくできる。
一方、図4(f)に示す画像の場合、符号化対象値が全体的にばらついて発生している。このような画像には、インデックスが8で示される図4(c)の可変長符号化テーブルが適している。インデックス“8”のテーブルは、1つ1つの符号化対象値の符号語は長くなるが、画素ブロックの全体的に見れば符号長を抑え込める。
図4(e)は、インデックスが“2”と“8”の中間の値を取るように設計されており、図4(b)のような分布の画像に好適である。このように符号化対象値の分布を参照することで圧縮効率を向上させるインデックスを最適に選択することができる。
インデックス選択部105は、符号化部103で符号化しようとしている着目画素ブロックに隣接する、既に符号化済みの画素ブロックの分布に基づき、先に示した(i)乃至(iii)に従って、参照対象の隣接画素ブロックの分布を用いて、着目画素ブロックのインデックスを決定する。なお、実際には、画素ブロックの符号化する際に求めた各画素の予測誤差について分散を求めればよい。そして、求めた分散を引数とする関数やテーブルを用いて、インデックスを決定すればよい。なお、着目画素ブロックの次に符号化する画素ブロックが、着目画素ブロックの右隣の画素ブロックである場合、着目画素ブロックから求めたインデックスを右隣の画素ブロックの符号化の際に利用すれば良いので、求めたインデックスは特に記憶保持する必要はない。しかし、着目画素ブロックが画像の左端に位置する場合、下隣の画素ブロックを符号化する場合には、着目画素ブロックで求めたインデックスを利用することになる。それ故、インデックス選択部105は、着目画素ブロックが画像の左端に位置する場合には、その値を一時的に記憶するメモリを有する。
説明を図1に戻す。制御部106は、符号化部103が着目画素ブロックを符号化する際に、インデックス選択部105が選択したインデックスを符号化部に設定する。例えば、画素ブロック201を符号化する際には、予め設定されたインデックスを符号化部103に設定する。そして、画素ブロック202を符号化する際には、インデックス選択部105は直前に符号化した画素ブロック201の予測誤差分布に基づいてインデックスを決定できる。そこで、制御部106は、画素ブロック201から求めたインンデックスを、符号化部103に設定し、画素ブロック202の符号化を行わせる。
なお、実施形態では、符号化対象の画素ブロックをM×N画素としたが、1つの画素ブロックが複数画素で構成であれば良く、M,Nの少なくとも一方が2以上であれば、その値に特に制限はない。特に、Mが符号化対象の画像の水平方向の画素数と等しいものとしても良い。この場合の画素ブロックは、図2(b)に示すように、着目画素ブロックの位置の水平方向へ更新が無くなり、垂直方向のみの更新となる。なお、図2(b)の場合、着目画素ブロックが最初の画素ブロック以外であれば、上隣の画素ブロックが符号化済みとして参照されることになる。
続いて図3のフローチャートを用いて、図1に記載されたインデックス選択部105の処理内容を中心に処理順を説明する。インデックス選択部105以外の処理部の処理内容は、すでに述べているので簡単な説明にとどめる。
符号化が開始されると、制御部106は、S301にて、符号化対象の着目画素ブロックの初期位置として、画像の左上隅の画素ブロック201が示す左上隅の位置に設定する。
S302にて、制御部106は、インデックス選択部105を制御し、着目画素ブロックの符号化に利用するテーブルのインデックスを決定させる。着目画素が、画像の左上隅の初期位置にある場合は予め設定されたインデックスを決定する。また、着目画素ブロックが、画像の左端以外に位置する場合には、直前に符号化した画素ブロックの予測分布に基づいて決定したインデックスを用いる。そして、着目画素ブロックが、画像の左上隅を除く、左端に位置する場合には、上隣の画素ブロックの予測分布に基づいて決定したインデックスを用いるものとして決定する。
S303にて、制御部106は、決定したインデックスを符号化部103に設定し、着目画素ブロックの符号化を行わせる。この結果。符号化部103が生成した、着目画素ブロックの符号化データは、記録部104に供給されることになる。
S304にて、制御部106は、上記S303で着目画素ブロックを符号化した際の予測誤差の分布を求め、後続して符号化することになる右隣、又は、下隣の画素ブロックのためのインデックスを求めておく。
S305にて、制御部106は、全画素ブロックの符号化を終えたか否かを判定する。未符号化の画素ブロックが存在すると判定した場合、制御部106はS306にて、着目画素ブロックの位置を、ラスタースキャン順に従って更新し、S302に処理を戻す。
一方、制御部106は、全画素ブロックの符号化を終えたと判断した場合、本処理を終える。
次に、実施形態の符号化処理での効果を、図5を参照して説明する。同図の参照符号501は、符号化対象の画像を示している。矢印504は、画素ブロック502の符号化後に選択されたインデックスが、右隣の画素ブロック503の符号化前に符号化部103に設定していることを示している。符号化部103は、設定されたインデックスに対応する可変長符号化テーブルを用いて画素ブロック503の符号化を行う。画素ブロック502と画素ブロック503は隣接する画素ブロックのため、空間相関が高いと言える。故に、画素ブロック502を最も効率良く符号化できたインデックスを使用することで、画素ブロック503内の符号化対象値をスキャンすることなく、符号化効率が向上するインデックスを用いて符号化することができる。
このように制御することで、画素ブロックを予めスキャンせずとも、隣接の符号化済の画素ブロックの画素値分布から符号化効率が良いインデックスを選択することができる。また画像の空間的な相関を利用してインデックスを選択することができるので符号化効率が向上させることできる。
[第2の実施形態]
第2の実施形態では、動画像もしくは静止画の連写時の場合の符号化について説明する。
第2の実施形態では、動画像もしくは静止画の連写時の場合の符号化について説明する。
なお、撮像部101が時間軸に沿って複数の画像を撮像する点が異なるが、基本構成は図1と同じで良い。また、詳細は後述する説明から明らかになるが、インデックス選択部105は、少なくとも1フレームに含まれる全画素ブロックそれぞれで算出したインデックを記憶保持するメモリを有するものとする。
なお、本第2の実施形態では、可変長符号化テーブルのインデックスの値は、その値が小さいほど符号化対象となった画像(画素ブロック)に偏りが大きいことを示すものとする。
図6は、動画像もしくは静止画の連写時の各時間におけるフレームを示している。フレーム601は、フレーム602の1フレーム前のフレームである。つまり、フレーム602が符号化対象である場合、フレーム601は既に符号化処理を終えている。また、各画素ブロック内の()内の記号は、各画素ブロックの水平方向の画素ブロック座標を示している。
ここで、図6のフレーム602が符号化対象画像であり、画素ブロック607(座標が(X+1)の画素ブロック)が符号化対象における着目画素ブロックである場合の、制御部106による着目画素ブロックのインデックスの選択、決定方法を図7を用いて説明する。なお、図7のフローチャートは、制御部106による、フレーム601の符号化は全て終了し、且つ、フレーム602の座標X+1の画素ブロック607の符号化を開始する際の、インデックスの決定処理を示している。つまり、画素ブロック606までの符号化を終えている場合である。
S701にて、制御部106は、符号化対象の画素ブロック607(座標X+1)に対して、空間的、並びに、時間的に近傍の既符号化の画素ブロックの符号化で決定したそれぞれのインデックスを入力する。
ここで、実施形態における、画素ブロック607(座標X+1)に対して、空間的、並びに、時間的に近傍の隣接画素ブロックとは以下の3つである。
・着目画素ブロック607と同じフレーム602内の、着目画素ブロック607の2つ前(2つ左)の画素ブロック605(座標X−1)、
・着目画素ブロック607と同じフレーム602内の、着目画素ブロック607の1つ前の画素ブロック605(座標X−1)、
・直前のフレーム601における、画素ブロック606と同じ位置の画素ブロック603(座標X’)
制御部106は、着目画素ブロック607の符号化に先立ち、上記4つの既符号化画素ブロックより算出したインデックスを入力する。
・着目画素ブロック607と同じフレーム602内の、着目画素ブロック607の2つ前(2つ左)の画素ブロック605(座標X−1)、
・着目画素ブロック607と同じフレーム602内の、着目画素ブロック607の1つ前の画素ブロック605(座標X−1)、
・直前のフレーム601における、画素ブロック606と同じ位置の画素ブロック603(座標X’)
制御部106は、着目画素ブロック607の符号化に先立ち、上記4つの既符号化画素ブロックより算出したインデックスを入力する。
S702にて、制御部106は、画素ブロック606(座標X)で選択されたインデックスと、画素ブロック605(座標X−1)で選択されたインデックスの差分値D1を算出する。
S703にて、制御部106は、画素ブロック606(座標X)で選択されたインデックスと、フレーム601内の画素ブロック603(座標X’)で選択されたインデックスの差分値D2を算出する。
S704にて、制御部106は、S702およびS703において算出された差分値D1と差分値D2の大小比較を行う。制御部106は、差分値D1が差分値D2よりも小さいと判断した場合、処理をステップS705に進める。一方、制御部106は、差分値D1が差分値D2以上であると判断した場合には、処理をS706に進める。
差分値D1が差分値D2よりも小さい時は、画素ブロック606(座標X)の画素値分布から選択された最も効率良く符号化できたインデックスが、過去フレームの同じ座標の画素ブロック603のインデックスより、隣接する画素ブロック605のインデックスと値が近かったことを表す。つまり、符号化対象の着目画素ブロック607の周辺は、時間的な相関よりも空間的な相関の方が高い場合を意味する。
逆に差分値D1が差分値D2以上の時は、画素ブロック606(座標X)の画素値分布から選択された最も効率良く符号化できたインデックスが、隣接する画素ブロック605のインデックスより、過去フレームの同じ座標の画素ブロック603のインデックスと値が近かったことを意味する。つまり、符号化対象の着目画素ブロック607の周辺は、空間的な相関よりも、時間的な相関の方が高い場合を意味する。
上記の通りなので、S705にて、制御部1096は、着目画素ブロック607(座標X+1)の符号化で使用する可変長符号化テーブルを定めるインデックスとして、空間的に近接する画素ブロック606(座標X)から算出したインデックスを用いることを決定する。
また、S706にて、制御部106は、着目画素ブロック607(座標X+1)の符号化で使用する可変長テーブルを定めるインデックスとして、直前のフレーム内の、着目画素ブロック607と同じ位置の画素ブロック604(座標X’+1)で算出したインデックスを用いることを決定する。
図8を用いて本第2の実施形態の作用効果を説明する。図8は動画像もしくは静止画の連写時の各時間におけるフレーム示している。フレーム801は、フレーム802の1フレーム前のフレームであり、符号化済みである。また、画素ブロック806が、符号化部103が符号化しようとしている着目画素ブロックであり、画素ブロック805までの符号化が完了しているものとする。
制御部106は、画素ブロック806を符号化する前に、画素ブロック804および画素ブロック805から算出したインデックスを入力する。また、制御部106は、直前のフレーム801における画素ブロック803、807で算出したインデックスを入力する。
そして、制御部106は、画素ブロック805と空間的に1つ隣の画素ブロック804間のインデックスの差と、画素ブロック805と時間的に隣の画素ブロック803間のインデックスの差を比較する。図示の場合、画素ブロック805と画素ブロック803間のインデックスの差が小さいと判断される。それ故、着目画素ブロック806を符号化する際には、空間的よりも時間的に隣接する画素ブロック807の符号化時に算出したインデックスを用いるものとして決定する。
このように制御することで、画像を予めスキャンせずとも符号化済の画素ブロックの画素値分布から符号化効率が良いインデックスを選択することができる。また画像の空間的な相関もしくは時間的な相関のいずれかを利用してインデックスを選択することができるので符号化効率が向上させることできる。
なお、本第2の実施形態において、符号化しようとする着目画素ブロックがフレーム802の最初の画素ブロックであった場合(左上隅の画素ブロック)であった場合には、直前のフレーム801の最初の画素ブロックの符号化時に決定したインデックスを用いるものとする。また、着目画素ブロックが、フレーム802の左上隅以外の左端に位置する場合、同じフレーム内の上隣の画素ブロックのインデックスを用いるものとする。
なお、上記第2の実施形態では、D1,D2のそれぞれは、2つの画素ブロックの符号化時に決定したインデックスの差としたが、要は、空間的な相関と、時間的相関を比較できれば良い。従って、上記を別な表現で表すのであれば、以下の通りである。
まず、符号化対象の画像データをFi、この画像データFiの直前のフレームの画像データであって、符号化済みの画像データをFi−1、記着目画素ブロックが示す位置xを用いて、当該着目画素ブロックをFi(x)と定義する。
この場合、制御部106は、画素ブロックFi(x−1)と空間的に隣接する画素ブロックFi(x−2)との相関D1と、画素ブロックFi(x−1)と時間的に隣接する画素ブロックFi−1(x−1)との相関D2とを比較する。そして、相関D1が相関D2より高い場合には、画素ブロックFi(x−1)から求めたインデックスを用いて着目画素ブロックを符号化させる。また、相関D2が相関D1以上の場合には、画素ブロックFi−1(x)から求めたインデックスを用いて着目画素ブロックを符号化させればよい。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100…撮像装置、101…撮像部、102…分離分配部、103…符号化部、104…記録部、105…インデックス選択部、106…制御部
Claims (8)
- 画像データを符号化する画像符号化装置であって、
符号化対象の画像データから、複数画素で構成される画素ブロックをラスタースキャン順に入力し、入力した着目画素ブロックを、与えられたインデックスで示される、複数の可変長符号化テーブルの1つを用いて符号化する符号化手段と、
前記着目画素ブロックの画素の分布に基づいて、当該着目画素ブロックに後続する未符号化の画素ブロックに用いるインデックスを決定する決定手段とを有し、
前記符号化手段は、前記着目画素ブロックを符号化する際に、前記着目画素ブロックの隣接する複数の既符号化画素ブロックの符号化時に決定した複数のインデックスのうち、前記着目画素ブロックの位置に応じた1つを選択し、前記着目画素ブロックを符号化する
ことを特徴とする画像符号化装置。 - 前記符号化手段は、
前記着目画素ブロックが、画像データの左上隅に位置する場合には予め設定されたインデックスを用いて符号化し、
前記着目画素ブロックが、画像データの左端以外に位置する場合には、左隣の画素ブロックの符号化時に決定したインデックスを用いて符号化し、
前記着目画素ブロックが、画像データの左上隅以外の左端に位置する場合には、上隣の画素ブロックの符号化時に決定したインデックスを用いて符号化する
ことを特徴とする請求項1に記載の画像符号化装置。 - 前記符号化対象の画像データをFi、
当該画像データFiの直前のフレームの画像データであって、符号化済みの画像データをFi−1、
前記着目画素ブロックが示す位置xを用いて、当該着目画素ブロックをFi(x)と表したとき、
前記符号化手段は、
画素ブロックFi(x−1)と空間的に隣接する画素ブロックFi(x−2)との相関D1と、 前記画素ブロックFi(x−1)と時間的に隣接する画素ブロックFi−1(x−1)との相関D2とを比較し、
前記相関D1が前記相関D2より高い場合には、画素ブロックFi(x−1)から求めたインデックスを用いて前記着目画素ブロックを符号化し、
前記相関D2が前記相関D1以上の場合には、画素ブロックFi−1(x)から求めたインデックスを用いて前記着目画素ブロックを符号化する
ことを特徴とする請求項1に記載の画像符号化装置。 - 前記符号化手段は、着目画素ブロック内を画素を単位とするラスタースキャン順に予測符号化することを特徴とする請求項1乃至3のいずれか1項に記載の画像符号化装置。
- 前記決定手段は、前記着目画素ブロックを符号化する際の予測誤差の分布に基づき前記インデックスを決定することを特徴とする請求項4に記載の画像符号化装置。
- 前記符号化手段は、撮像手段からの画像データを入力することを特徴とする請求項1乃至5のいずれか1項に記載の画像符号化装置。
- 画像データを符号化する画像符号化装置の制御方法であって、
符号化対象の画像データから、複数画素で構成される画素ブロックをラスタースキャン順に入力し、入力した着目画素ブロックを、与えられたインデックスで示される、複数の可変長符号化テーブルの1つを用いて符号化する符号化工程と、
前記着目画素ブロックの画素の分布に基づいて、当該着目画素ブロックに後続する未符号化の画素ブロックに用いるインデックスを決定する決定工程とを有し、
前記符号化工程は、前記着目画素ブロックを符号化する際に、前記着目画素ブロックの隣接する複数の既符号化画素ブロックの符号化時に決定した複数のインデックスのうち、前記着目画素ブロックの位置に応じた1つを選択し、前記着目画素ブロックを符号化する
ことを特徴とする画像符号化装置の制御方法。 - コンピュータが読み込み実行することで、前記コンピュータに、請求項7に記載の方法の各工程を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017056455A JP2018160776A (ja) | 2017-03-22 | 2017-03-22 | 画像符号化装置及びその制御方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017056455A JP2018160776A (ja) | 2017-03-22 | 2017-03-22 | 画像符号化装置及びその制御方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018160776A true JP2018160776A (ja) | 2018-10-11 |
Family
ID=63795143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017056455A Pending JP2018160776A (ja) | 2017-03-22 | 2017-03-22 | 画像符号化装置及びその制御方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018160776A (ja) |
-
2017
- 2017-03-22 JP JP2017056455A patent/JP2018160776A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8494295B2 (en) | Variable length coding for clustered transform coefficients in video compression | |
US11647196B2 (en) | Method and apparatus for encoding image, method and apparatus for decoding image, electronic device, and system | |
JP2008527789A (ja) | エントロピー符号化方法 | |
CN110087083B (zh) | 帧内色度预测模式的选择方法、图像处理设备及存储设备 | |
WO2013051794A1 (ko) | 두 개의 후보 인트라 예측 모드를 이용한 화면 내 예측 모드의 부/복호화 방법 및 이러한 방법을 사용하는 장치 | |
JP6727011B2 (ja) | 画像符号化装置及びその制御方法 | |
TW202127884A (zh) | 用於用於視訊譯碼的跨分量適應性環路濾波的位元位移 | |
US9762916B2 (en) | Encoding apparatus and method | |
CN110324639B (zh) | 用于视频数据的高效熵编码的技术 | |
KR20200047723A (ko) | 영상 코딩 시스템에서 블록 사이즈에 따른 변환을 사용하는 영상 디코딩 방법 및 그 장치 | |
US8520742B2 (en) | Moving image compression-coding device, method of compression-coding moving image, and H.264 moving image compression-coding device | |
JP6652068B2 (ja) | 動画像符号化装置、動画像符号化方法および動画像符号化プログラム | |
JP7180679B2 (ja) | 映像符号化装置、映像符号化方法、映像符号化プログラム、映像復号装置、映像復号方法、及び映像復号プログラム | |
US20060278725A1 (en) | Image encoding and decoding method and apparatus, and computer-readable recording medium storing program for executing the method | |
CN113365080B (zh) | 串编码技术的编解码方法、设备及存储介质 | |
JP2022103284A (ja) | 映像符号化装置、映像復号装置、及びこれらのプログラム | |
JP2018160776A (ja) | 画像符号化装置及びその制御方法及びプログラム | |
JP2015076765A (ja) | 画像処理装置及びその制御方法、並びに、コンピュータプログラム | |
WO2000018133A1 (en) | Encoding device and method, and decoding device and method | |
CN114071138A (zh) | 帧内预测编码方法、帧内预测编码装置和计算机可读介质 | |
JP7147145B2 (ja) | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム | |
JP2016195370A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2014112748A (ja) | 画像符号化装置および画像復号装置 | |
CN112449187B (zh) | 视频解码方法、编码方法、装置、介质及电子设备 | |
KR20230012218A (ko) | 신경망 기반의 인-루프 필터를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |