特許第5956180号(P5956180)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三星テクウィン株式会社の特許一覧

<>
  • 特許5956180-符号化装置および符号化方法 図000002
  • 特許5956180-符号化装置および符号化方法 図000003
  • 特許5956180-符号化装置および符号化方法 図000004
  • 特許5956180-符号化装置および符号化方法 図000005
  • 特許5956180-符号化装置および符号化方法 図000006
  • 特許5956180-符号化装置および符号化方法 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5956180
(24)【登録日】2016年6月24日
(45)【発行日】2016年7月27日
(54)【発明の名称】符号化装置および符号化方法
(51)【国際特許分類】
   H04N 1/413 20060101AFI20160714BHJP
   H04N 19/103 20140101ALI20160714BHJP
   H04N 19/115 20140101ALI20160714BHJP
   H04N 19/146 20140101ALI20160714BHJP
【FI】
   H04N1/413 D
   H04N19/103
   H04N19/115
   H04N19/146
【請求項の数】3
【全頁数】14
(21)【出願番号】特願2012-38149(P2012-38149)
(22)【出願日】2012年2月24日
(65)【公開番号】特開2013-175848(P2013-175848A)
(43)【公開日】2013年9月5日
【審査請求日】2015年1月7日
(73)【特許権者】
【識別番号】500548884
【氏名又は名称】ハンファテクウィン株式会社
【氏名又は名称原語表記】HANWHA TECHWIN CO.,LTD.
(74)【代理人】
【識別番号】110000981
【氏名又は名称】アイ・ピー・ディー国際特許業務法人
(72)【発明者】
【氏名】都築 毅
【審査官】 久保 光宏
(56)【参考文献】
【文献】 特開2011−109618(JP,A)
【文献】 特開平9−168092(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N1/00−1/52,
H04N19/00−19/98,
CSDB(日本国特許庁)
(57)【特許請求の範囲】
【請求項1】
符号化対象データを構成する複数のエリアを順次に符号化する符号化部と、
前記符号化部による符号化がなされた1または複数のエリアの符号化データのサイズの累積値である累積符号量を算出する累積符号量算出部と、
前記累積符号量と閾値との関係を判定する判定部と、を備え、
前記符号化部は、
可逆・可変長符号化により符号化を行っている際に、前記判定部により前記累積符号量が前記閾値を上回ったと判定された場合に、前記符号化部によって符号化がなされた1または複数のエリアの次のエリアに対して不可逆・等長符号化による符号化を行い、
前記符号化部は、
不可逆・等長符号化により符号化を行っている際に、前記判定部により前記累積符号量が前記閾値を下回ったと判定された場合に、前記符号化部によって符号化がなされた1または複数のエリアの次のエリアに対して可逆・可変長符号化による符号化を行う、
符号化装置。
【請求項2】
前記符号化部は、
不可逆・等長符号化により符号化を行っている際に、前記判定部により前記累積符号量が前記閾値を下回っていないと判定された場合に、前記符号化部によって符号化がなされた1または複数のエリアの次のエリアに対して不可逆・等長符号化による符号化を継続する
求項に記載の符号化装置。
【請求項3】
符号化対象データを構成する複数のエリアを順次に符号化するステップと、
符号化がなされた1または複数のエリアの符号化データのサイズの累積値である累積符号量を算出するステップと、
前記累積符号量と閾値との関係を判定するステップと、を含み、
可逆・可変長符号化により符号化が行われている際に、前記累積符号量が前記閾値を上回ったと判定された場合に、符号化がなされた1または複数のエリアの次のエリアに対して不可逆・等長符号化による符号化を行い、
不可逆・等長符号化により符号化を行っている際に、前記累積符号量が前記閾値を下回ったと判定された場合に、符号化がなされた1または複数のエリアの次のエリアに対して可逆・可変長符号化による符号化を行うステップを含む、
符号化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化装置および符号化方法に関する。
【背景技術】
【0002】
従来、画像の符号化技術としては様々な技術が開示されている。例えば、画像の符号化技術として可逆符号化が存在するが、可逆符号化においては可変長符号化を用いることが一般的である。しかし、可変長符号化を用いた場合には、符号化後のデータ量が符号化前のデータ量よりも増加してしまう可能性がある。そこで、可変長符号化に伴うデータ量の増加に対処するため、様々な技術が開示されている。
【0003】
例えば、特許文献1には、可逆符号化による圧縮率が目標圧縮率を満たすようにするために、可逆符号化(「ロスレス符号化」とも言う。)と不可逆符号化(「ロッシー符号化」とも言う。)との間で符号化方式を切り替える技術が開示されている。
【0004】
また、例えば、特許文献2には、可変長符号化による符号化後のデータ量が符号化前のデータ量を超えない場合には、符号化後のデータを出力するが、可変長符号化による符号化後のデータ量が符号化前のデータ量を超えてしまう場合には、符号化前のデータを出力する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−303690号公報
【特許文献2】特開2008−124969号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に開示された技術では、データを実際に符号化して符号化後のデータ量に応じて当該データに対して適用する符号化方式を判断する必要があるため、符号化後のデータを保持するバッファが必要となり回路規模が大きくなってしまう。また、特許文献1に開示された技術では、ブロック単位に処理がなされるため、符号化・復号時に多くのラインメモリが必要となってしまう。また、特許文献1に開示された技術では、複雑な演算が必要であるため、回路規模が大きくなってしまう。
【0007】
また、特許文献2に開示された技術では、データを実際に符号化して符号化後のデータ量に応じて当該データに対して符号化後のデータを出力するか否かを判断する必要があるため、符号化後のデータを保持するバッファが必要となり回路規模が大きくなってしまう。また、特許文献2に開示された技術では、符号化前のデータを出力した場合には、データ量を減らすことはできない。
【0008】
そこで、本発明は、回路規模の拡大を抑えながら符号化後のデータ量および画質劣化の程度を抑えることが可能な技術を提供しようとするものである。
【課題を解決するための手段】
【0009】
本発明のある実施形態によれば、符号化対象データを構成する複数のエリアを順次に符号化する符号化部と、前記符号化部による符号化がなされた1または複数のエリアの符号化データのサイズの累積値である累積符号量を算出する累積符号量算出部と、前記累積符号量と閾値との関係を判定する判定部と、を備え、前記符号化部は、可逆・可変長符号化により符号化を行っている際に、前記判定部により前記累積符号量が前記閾値を上回ったと判定された場合に、前記符号化部によって符号化がなされた1または複数のエリアの次のエリアに対して不可逆・等長符号化による符号化を行う、ことを特徴とする、符号化装置が提供される。
【0010】
かかる構成によれば、累積符号量が閾値を上回った場合、符号化を行ったエリアの次のエリアに対する符号化を可逆・可変長符号化から不可逆・等長符号化に変更することができる。したがって、符号化を行ったエリアの次のエリアに対する符号化を変更すれば済むために符号化後のデータを保持するバッファが不要であり、回路規模の拡大を抑えながら符号化後のデータ量および画質劣化の程度を抑えることが可能となる。
【0011】
前記符号化部は、可逆・可変長符号化により符号化を行っている際に、前記判定部により前記累積符号量が前記閾値を上回っていないと判定された場合に、前記符号化部によって符号化がなされた1または複数のエリアの次のエリアに対して可逆・可変長符号化による符号化を継続してもよい。かかる構成によれば、累積符号量が閾値を上回っていない場合、符号化を行ったエリアの次のエリアに対する符号化を可逆・可変長符号化のままにすることができる。したがって、符号化後のデータ量が閾値を超えない間は画質劣化の程度を抑えることを優先することが可能となる。
【0012】
前記符号化部は、不可逆・等長符号化により符号化を行っている際に、前記判定部により前記累積符号量が前記閾値を下回ったと判定された場合に、前記符号化部によって符号化がなされた1または複数のエリアの次のエリアに対して可逆・可変長符号化による符号化を行ってもよい。かかる構成によれば、累積符号量が閾値を下回った場合、符号化を行ったエリアの次のエリアに対する符号化を不可逆・等長符号化からに可逆・可変長符号化変更することができる。したがって、符号化後のデータ量が閾値を下回った場合に画質劣化の程度を抑えることを優先することが可能となる。
【0013】
前記符号化部は、不可逆・等長符号化により符号化を行っている際に、前記判定部により前記累積符号量が前記閾値を下回っていないと判定された場合に、前記符号化部によって符号化がなされた1または複数のエリアの次のエリアに対して不可逆・等長符号化による符号化を継続してもよい。かかる構成によれば、累積符号量が閾値を下回っていない場合、符号化を行ったエリアの次のエリアに対する符号化を不可逆・等長符号化のままにすることができる。したがって、符号化後のデータ量が閾値を超えている間は符号化後のデータ量を抑えることを優先することが可能となる。
【0014】
前記符号化部は、前記符号化対象データを構成する複数のエリアに対する符号化を開始するに際して、前記符号化対象データの先頭のエリアに対しては可逆・可変長符号化を行ってもよい。かかる構成によれば、符号化を開始してから符号化後のデータ量が閾値を超えるまでは、画質劣化の程度を抑えることを優先することが可能となる。
【0015】
前記判定部は、各エリアに対する符号化が終了する度に前記累積符号量と前記閾値との関係を判定してもよい。かかる構成によれば、符号化対象データを構成するエリア単位で次のエリアに対する符号化の方式を判断することができるため、符号化後のデータ量および画質劣化の程度を抑えるための動作を高精度に行うことが可能となる。
【0016】
また、本発明の別の実施形態によれば、符号化対象データを構成する複数のエリアを順次に符号化するステップと、符号化がなされた1または複数のエリアの符号化データのサイズの累積値である累積符号量を算出するステップと、前記累積符号量と閾値との関係を判定するステップと、を含み、可逆・可変長符号化により符号化が行われている際に、前記累積符号量が前記閾値を上回ったと判定された場合に、符号化がなされた1または複数のエリアの次のエリアに対して不可逆・等長符号化による符号化を行う、ことを特徴とする、符号化方法が提供される。
【0017】
かかる方法によれば、累積符号量が閾値を上回った場合、符号化を行ったエリアの次のエリアに対する符号化を可逆・可変長符号化から不可逆・等長符号化に変更することができる。したがって、符号化を行ったエリアの次のエリアに対する符号化を変更すれば済むために符号化後のデータを保持するバッファが不要であり、回路規模の拡大を抑えながら符号化後のデータ量および画質劣化の程度を抑えることが可能となる。
【発明の効果】
【0018】
以上説明したように、本発明によれば、回路規模の拡大を抑えながら符号化後のデータ量および画質劣化の程度を抑えることが可能である。
【図面の簡単な説明】
【0019】
図1】本発明の実施形態に係る符号化装置の構成例を示す図である。
図2】符号化装置の機能を説明するための図である。
図3】符号化装置の機能を説明するための図である。
図4】符号化装置の機能を説明するための図である。
図5】符号化装置の機能を説明するための図である。
図6】符号化装置の動作の流れを示すフローチャートである。
【発明を実施するための形態】
【0020】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
【0021】
図1は、本発明の実施形態に係る符号化装置10の構成例を示す図である。図1に示すように、符号化装置10は、差分算出部110、第1の選択部120、不可逆・等長符号化部130、可逆・可変長符号化部140、累積符号量算出部150、判定部160、第2の選択部170および記憶部180を含んでいる。符号化装置10には画像を構成する複数の画素データが順次に入力される。
【0022】
差分算出部110は、入力された画素データと当該画素の隣接画素データとの差分値を算出する。画素データは、画素が有するデータ(例えば、画素値)である。以下では、隣接画素データが入力された画素データの1つ前の画素データであるとして説明を続けるが、隣接画素データは入力された画素データに対していずれの方向に隣接する画素データであってもよい。差分算出部110により算出された差分値は、順次に第1の選択部120に出力される。
【0023】
第1の選択部120は、判定部160から出力される判定結果に基づいて、差分算出部110により算出された差分値を、不可逆・等長符号化部130または可逆・可変長符号化部140に対して選択的に出力する。なお、ここでは、不可逆・等長符号化部130および可逆・可変長符号化部140を排他的に動作させるために第1の選択部120が設けられているが、不可逆・等長符号化部130および可逆・可変長符号化部140を並列的に動作させる場合には、第1の選択部120は設けられていなくてもよい。
【0024】
不可逆・等長符号化部130は、量子化部131および等長符号化部132を備えており、入力される各差分値に対して不可逆かつ等長の符号化を行う。量子化部131は、差分値を当該差分値のビット数よりも小さいビット数のデータに量子化する。等長符号化部132は、量子化部131により量子化されたデータに対して等長符号を割り当てることによって、量子化されたデータを符号化する。等長符号化部132は、符号化したデータを第2の選択部170に出力する。
【0025】
可逆・可変長符号化部140は、可変長符号化部141を備えており、入力される各差分値に対して可逆かつ可変長の符号化を行う。可変長符号化部141は、差分値に対して可変長符号(例えば、ハフマン符号など)を割り当てることによって、差分値を符号化する。可変長符号化部141は、符号化したデータを第2の選択部170に出力する。なお、可逆・可変長符号化部140は、符号化部の一例として機能する。
【0026】
なお、不可逆・等長符号化部130および可逆・可変長符号化部140の各々は、符号化部の一例として機能する。また、ここでは、不可逆・等長符号化部130および可逆・可変長符号化部140の各々による符号化は、上記した差分値に対して行われることを想定しているが、符号化対象は、隣接データとの差分値以外でもよい。しかし、データ分布に偏りがあるようなデータを与えることが本発明にとって望ましい。
【0027】
また、不可逆・等長符号化部130および可逆・可変長符号化部140の各々による符号化は、画像を構成する複数のエリア単位で行われる。以下では、画像を構成するライン(例えば、画像を構成する水平方向のライン)をエリアの例として使用して説明を行うが、エリアはどのように区切られてもよく、エリアのサイズや、エリアの位置は特に限定されない。
【0028】
第2の選択部170は、判定部160から出力される判定結果に基づいて、不可逆・等長符号化部130または可逆・可変長符号化部140から入力された符号化データを選択的に出力する。すなわち、第2の選択部170は、不可逆・等長符号化部130または可逆・可変長符号化部140の選択を、第1の選択部120による選択に合わせて行う。第2の選択部170により出力された符号化データは、累積符号量算出部150および記憶部180に出力される。
【0029】
累積符号量算出部150は、不可逆・等長符号化部130または可逆・可変長符号化部140による符号化がなされた1または複数のラインの符号化データのサイズの累積値である累積符号量を算出する。例えば、累積符号量算出部150は、第2の選択部170から第j+1ラインの符号化データが入力された場合には、この第j+1ラインの符号化データのサイズを第1ラインから第jラインまでの符号化データのサイズの累積値に加算すればよい。なお、以下では、符号化されたデータ(符号化データ)のサイズを符号量と言う場合がある。
【0030】
判定部160は、累積符号量と閾値との関係を判定する。ここで、例えば、第1ラインの符号量に対する判定に使用される閾値をT1とすると、第jラインの符号量に対する判定に使用される閾値は、T1にjを乗じた値とすることができる。この場合に用いられる閾値は上限累積符号量に相当する。しかしながら、例えば、判定部160は、累積符号量の代わりに1または複数のラインの符号量の平均値である平均符号量を用いてもよい。この場合に用いられる閾値は上限平均符号量に相当する。
【0031】
判定部160による判定がなされるタイミングは特に限定されないが、例えば、1ラインに対する符号化が行わる度に判定がなされてもよいし、他のタイミングであってもよい。判定部160により出力された判定結果は、第1の選択部120、第2の選択部170および記憶部180に出力される。なお、以下では、閾値の例として上限累積符号量を用いて説明する。
【0032】
記憶部180は、判定部160から入力された判定結果および第2の選択部170から入力された符号化データを関連付けてライン毎に記憶することができる。記憶部180の種類は特に限定されないが、例えば、DRAM(Dynamic Random Access Memory)であってもよいし、他の記憶媒体であってもよい。記憶部180によって記憶された符号化データは、例えば、図示しない復号装置によって復号され得る。復号時には、判定結果に応じた復号方式にて符号化データをライン毎に復号すればよい。
【0033】
以下では、符号化装置10の機能の詳細について詳細に説明する。図2図5は、本実施形態に係る符号化装置10の機能を説明するための図である。特に、図2には、第1ラインに対してなされる符号化の例について示されている。図2に示すように、第1ラインに対しては、可逆・可変長符号化部140によって可逆・可変長符号化が行われる。上限累積符号量は、符号化前のデータ量と同じに設定されてもよいが符号化前のデータ量と異なるデータ量に設定されてもよい。例えば、12bitの画素データ2048pixel分によって1ラインが構成されている場合には、12bit×2048pixel=24,576bitが上限累積符号量として設定されてもよい。
【0034】
ここで、可逆・可変長符号化により符号化が行われた際、判定部160により累積符号量が上限累積符号量を上回っていないと判定された場合には、符号化部によって符号化がなされた1または複数のエリアの次のエリアに対して可逆・可変長符号化部140による符号化が継続される。図2に示した例では、第1ラインに対する符号化がなされた後の累積符号量が上限累積符号量を上回っていないため、第2ラインに対しては、引き続き可逆・可変長符号化部140による符号化がなされる。
【0035】
この後、j−1(jは整数)ラインまで符号化が終わった時点において、累積符号量が上限累積符号量を上回らなかったとする。その場合、第1ラインから第jラインまでに対しては、可逆・可変長符号化部140による符号化がなされる。図3には、第jラインに対してなされる符号化の例について示されている。
【0036】
ここで、可逆・可変長符号化により符号化が行われた際、判定部160により累積符号量が上限累積符号量を上回ったと判定された場合には、符号化部によって符号化がなされた1または複数のエリアの次のエリアに対して不可逆・等長符号化部130による符号化が行われる。図3に示した例では、第jラインに対する符号化がなされた後の累積符号量が上限累積符号量を上回っているため、第j+1ラインに対しては、不可逆・等長符号化部130による符号化がなされる。
【0037】
不可逆・等長符号化部130による符号化では、符号化前のデータが圧縮されるため(例えば、12bitのデータが10bitのデータに圧縮されるため)、いずれ累積符号量が上限累積符号量を下回ることが推測される。図4には、第j+1ラインに対してなされる符号化の例について示されている。
【0038】
ここで、不可逆・等長符号化により符号化が行われた際、判定部160により累積符号量が上限累積符号量を下回っていないと判定された場合には、符号化部によって符号化がなされた1または複数のエリアの次のエリアに対して不可逆・等長符号化部130による符号化が継続される。図4に示した例では、第j+1ラインに対する符号化がなされた後の累積符号量が上限累積符号量を下回っていないため、第j+2ラインに対しては、不可逆・等長符号化部130による符号化がなされる。
【0039】
この後、k−1(kは整数)ラインまで符号化が終わった時点において、累積符号量が上限累積符号量を下回らなかったとする。その場合、第j+1ラインから第kラインまでに対しては、不可逆・等長符号化部130による符号化がなされる。図5には、第kラインに対してなされる符号化の例について示されている。
【0040】
ここで、不可逆・等長符号化により符号化が行われた際、判定部160により累積符号量が上限累積符号量を下回ったと判定された場合には、符号化部によって符号化がなされた1または複数のエリアの次のエリアに対して可逆・可変長符号化部140による符号化が行われる。図5に示した例では、第kラインに対する符号化がなされた後の累積符号量が上限累積符号量を下回っているため、第k+1ラインに対しては、可逆・可変長符号化部140による符号化がなされる。
【0041】
可逆・可変長符号化部140による符号化では、符号化前のデータが増加される可能性があるため、いずれ累積符号量が上限累積符号量を上回る可能性がある。その場合には、また、図3を用いて説明したように、符号化がなされた1または複数のエリアの次のエリアに対して不可逆・等長符号化部130による符号化が行われればよい。
【0042】
以上に示したように、本実施形態に係る符号化装置10は、累積符号量が上限累積符号量を超えることを一時的に許容する。しかし、本実施形態に係る符号化装置10は、累積符号量が上限累積符号量を超えた時点において、不可逆・等長符号化を次のラインに適用することによって、累積符号量を上限累積符号量以下に収めることが可能である。
【0043】
図6は、符号化装置10の動作の流れを示すフローチャートである。符号化装置10の動作は、累積符号量が初期化され、上限累積符号量に値が設定された状態で開始される。まず、第1の選択部120は、先頭のラインを取得し、当該ラインを可逆・可変長符号化部140に出力する。可逆・可変長符号化部140は、入力されたラインに対して可逆・可変長符号化を行い(ステップS1)、累積符号量算出部150は、可逆・可変長符号化がなされたデータの符号量を累積符号量に加算する(ステップS2)。
【0044】
可逆・可変長符号化部140は、当該ラインに対する可逆・可変長符号化が終了していない場合には(ステップS3で「No」)、ステップS1に戻って当該ラインに対する可逆・可変長符号化を継続する(ステップS1)。一方、可逆・可変長符号化部140は、当該ラインに対する可逆・可変長符号化が終了した場合には(ステップS3で「Yes」)、動作をステップS4に移行させる。
【0045】
続いて、判定部160は、累積符号量と上限累積符号量との関係を判定する(ステップS4)。ここで、累積符号量が上限累積符号量を上回っていないと判定部160により判定された場合には(ステップS4で「No」)、次のラインに対しても可逆・可変長符号化が継続されるが(ステップS1)、累積符号量が上限累積符号量を上回ったと判定部160により判定された場合には(ステップS4で「Yes」)、次のラインに対しては不可逆・等長符号化部130による符号化が行われる(ステップS5)。累積符号量算出部150は、不可逆・等長符号化がなされたデータの符号量を累積符号量に加算する(ステップS6)。
【0046】
不可逆・等長符号化部130は、当該ラインに対する不可逆・等長符号化が終了していない場合には(ステップS7で「No」)、ステップS5に戻って当該ラインに対する不可逆・等長符号化を継続する(ステップS5)。一方、不可逆・等長符号化部130は、当該ラインに対する不可逆・等長符号化が終了した場合には(ステップS7で「Yes」)、動作をステップS8に移行させる。
【0047】
続いて、判定部160は、累積符号量と上限累積符号量との関係を判定する(ステップS8)。ここで、累積符号量が上限累積符号量を下回っていないと判定部160により判定された場合には(ステップS8で「No」)、次のラインに対しても不可逆・等長符号化が継続されるが(ステップS5)、累積符号量が上限累積符号量を下回ったと判定部160により判定された場合には(ステップS8で「Yes」)、次のラインに対しては可逆・可変長符号化部140による符号化が行われる(ステップS1)。
【0048】
以上に説明したように、本実施形態に係る符号化装置10は、符号化対象データを構成する複数のエリアを順次に符号化する符号化部と、符号化部による符号化がなされた1または複数のエリアの符号化データのサイズの累積値である累積符号量を算出する累積符号量算出部と、累積符号量と閾値との関係を判定する判定部と、を備える。
【0049】
また、符号化部は、可逆・可変長符号化により符号化を行っている際に、判定部により累積符号量が閾値を上回ったと判定された場合に、符号化部によって符号化がなされた1または複数のエリアの次のエリアに対して不可逆・等長符号化による符号化を行う。かかる構成によれば、符号化後のデータを保持するバッファが不要であるため、回路規模の拡大を抑えながら符号化後のデータ量および画質劣化の程度を抑えることが可能である。
【0050】
本実施形態に係る技術は、既に開示されている先行技術文献に記載された技術とは異なっている。特開2006−303690号公報(特許文献1)に開示された技術は、目標圧縮率を満たすように可逆符号化と不可逆符号化との間で符号化方式を切り替えるという点で本実施形態に係る技術と関連性がある。しかし、特許文献1に開示された技術によれば、データを実際に符号化して符号化後のデータ量に応じて当該データに対して適用する符号化方式を判断する必要があるため、符号化後のデータを保持するバッファが必要となり回路規模が大きくなってしまう。
【0051】
また、特許文献1に開示された技術によれば、ブロック単位にDCT演算を行うため多くのラインメモリ(7〜15本)が符号化・復号時に必要となってしまう。また、特許文献1に開示された技術によれば、DCT演算の複雑さから回路規模も大きくなってしまう。例えば、3Mpixelの画像を想定すると、2048画素×8bit(もしくはそれ以上のビット)のラインを7〜15ライン分、パイプライン処理の途中に入れるというのは、Hardware規模・コスト・消費電力の点で障壁が高い。
【0052】
特開2008−124969号公報(特許文献2)に開示された技術では、データを実際に符号化して符号化後のデータ量に応じて当該データに対して符号化後のデータを出力するか否かを判断する必要があるため、符号化後のデータを保持するバッファが必要となり回路規模が大きくなってしまう。開示内容によれば、64×64画素のブロック分のバッファが2つ必要となり、この2つのバッファは4096画素分のラインメモリ2本分に相当する。また、特許文献2に開示された技術では、符号化前のデータを出力した場合には、データ量を減らすことはできない。
【0053】
本実施形態に係る技術によれば、符号化後のデータ量があらかじめ設定された閾値(例えば、符号化前のデータ量以下に設定された値)を超えないように可逆符号化と不可逆符号化との間で符号化方式を切り替える手法を、小さい回路規模で実現可能である。したがって、本実施形態に係る技術によれば、回路規模の拡大を抑えながら符号化後のデータ量および画質劣化の程度を抑えることが可能である。
【0054】
本実施形態に係る技術が奏する効果は、例えば、以下に示す通りである。まず、第1の効果としては、主観画質に対する影響を最小限に抑えつつ、上限累積符号量以下に累積符号量を抑えることが可能であるという点が挙げられる。
【0055】
本実施形態に係る技術では、累積符号量が上限累積符号量を超えない限りは、採用される符号化方式は可逆・可変長符号化方式のままである。ここで、累積符号量が上限累積符号量を超える場合とは、例えば、隣接画素間の差分値の頻度分布を取ったときに差分値が0近傍に集中しない画像(広がりを持った画像)であって、可変長符号のうち符号長が長い符号が多く選択される画像が符号化される場合である。
【0056】
こういった画像は、絵柄が大きく変化する領域が広い画像や、ノイズを多く含む画像などである。したがって、このような画像に対して緩やかな不可逆・等長符号化を行っても、主観画質に対する影響はほとんどないと考えられるため、符号量抑制のために不可逆・等長符号化に切り替えるのは合理的である。
【0057】
そこで、本実施形態に係る技術では、劣化が目立ちやすい画像に対して符号化を行う場合には、可逆・可変長符号化をできるだけキープする。一方、本実施形態に係る技術では、劣化が目立ちにくい画像に対して符号化を行う場合には、可逆・可変長符号化方式から不可逆・等長符号化方式に符号化方式を切り替えて累積符号量をセーブし、目標となる上限累積符号量以下に累積符号量を抑える。これにより、主観画質の維持と符号量制御を同時に実現することができる。
【0058】
また、第2の効果としては、上限累積符号量(または上限平均符号量)を自由に設定できるという点が挙げられる。例えば、「符号化後の符号量が符号化前のデータ量を超えない」という条件を設定したい場合には、元画像の1画素あたりのビット数×画素数を上限累積符号量とすればよい。また、例えば、元画像の1画素あたりのビット数が12bitの場合には、「符号化後の符号量を平均11bit以下に圧縮する」という条件を設定することもできる。この場合には、上限平均符号量を11bitに設定すればよい。
【0059】
上限平均符号量が11bitに設定された場合には、上限平均符号量を12bitとした場合と比べて、可逆・可変長符号化後の符号量が上限平均符号量をオーバーする確率が高まるので、符号化方式として不可逆・等長符号化方式が選択される確率も高くなる。したがって、ユーザは、画質と符号量のバランスを考慮したうえで上限平均符号量を設定すればよい。当然のことながら、上限平均符号量としては、整数のみならず「10.5bit」といった小数を含む値を設定することもできる。例えば、1ラインが2048pixelの場合、1ラインの上限累積符号量を10.5bit×2048=21504bitと設定すると、1画素あたりの上限平均符号量を10.5bitとすることができる。
【0060】
また、第3の効果としては、ラインメモリやバッファが不要であり、小さい回路規模で実現することが可能であるという点が挙げられる。例えば、特許文献1に開示された技術では、ブロック単位での処理が前提のため、数本〜十数本のラインメモリが符号化側・復号側双方に必要となるが、本実施形態に係る技術では、例えば1ライン毎の処理がなされるため、ラインメモリは一切不要である。
【0061】
また、例えば、特許文献1に開示された技術および特許文献2に開示された技術では、符号化対象のデータを一旦符号化して符号化後の符号量が目標値を超えたか否かを判定し、判定結果に応じて符号化済みデータの出力を切り替えている。このため、符号化後のデータを蓄積するためのローカルバッファが必要となる。
【0062】
一方、本実施形態に係る技術は、当該ラインを符号化した結果を次のラインの符号化方式に反映させる方式を採用するため、符号化済みデータを蓄積するためのローカルバッファも不要となる。例えば、本実施形態に係る技術では、符号化後の符号量を計測するための符号量カウンタを用意すればよく、例えば、3Mpixelの画像を符号化する場合、符号量カウンタは、1ラインあたり15bitあれば足りるし、全画面でも26bitあれば足りるため、非常に小さいゲート規模で済む。
【0063】
本実施形態に係る技術は、いかなる画像に対しても可逆・可変長符号化を行うという手法と比べ、若干の画質劣化を許容するものであるが、その代わりに、符号化後の符号量を制御することができるというメリットを提供することができる。また、本実施形態に係る技術は、小さい回路規模で実装可能であるというメリットを提供することができる。
【0064】
本願の発明者による予備実験によれば、1ラインに対する可逆・可変長符号化でも12bit信号を平均して8bit程度の信号に圧縮できており、テクスチャを含むような画像に対する可逆・可変長符号化でも12bit信号を平均して10bit程度の信号に圧縮できている。したがって、自然画像を符号化する場合に、例えば、上限平均符号量が12bitに設定された場合には、かなり余裕を持った設定がなされたことになると予想される。したがって、本実施形態に係る技術を実際に適用した場合には、可逆・可変長符号化と不可逆・等長符号化とが頻繁に切り替えられるケースよりも、基本的には可逆・可変長符号化が行われ、符号量が多く発生してしまったら不可逆・等長符号化が行われるというケースが多くなることが予想される。
【0065】
つまり、本実施形態に係る技術は、可逆・可変長符号化を行うにあたって、例えば、符号後の符号量が元のデータ量を超えないようにすることができる。また、本実施形態に係る技術は、例えば、符号化後の符号量の上限値を決めることを可能にする。これにより、設計時のメモリサイズの見積りが容易になるという利益を享受することができ、このように上限値を超えないような符号量の制御は、ある意味ではセーフティーネットのような役割を果たす。
【0066】
本実施形態に係る技術をより効果的に実施するためには、符号化後の符号量の上限値よりも小さいビット数のデータ量に圧縮する不可逆・等長符号化が必要となる。例えば、符号化前の各画素のデータ量が12bitであり符号化後の符号量の上限平均符号量を10bitと設定する場合を想定する。この場合に、不可逆・等長符号化による圧縮の程度がデータ量を12bitから10bitとする程度であれば、可逆・可変長符号化によって10bit以上に膨れてしまった平均符号量を10bit以下に回復させることができない。すなわち、符号化後の累積符号量を上限累積符号量以下に収めることも不可能である。
【0067】
このような設定がされた場合には、例えば、不可逆・等長符号化による圧縮の程度がデータ量を12bitから9bit以下とする程度であればよい。ただし、欲張って上限値を低く設定し、圧縮率の高い不可逆・等長符号化を用いると、可逆・可変長符号化部分との画質差が視認できるようになったり、不可逆・等長符号化が選ばれる確率が高くなったりして、主観画質に対する影響が大きくなってしまう。本実施形態に係る技術の目的の1つは、可逆・可変長符号化を基本としているところからも分かるように「主観画質を維持する」ところにあり、このようなメリットが失われないように本実施形態に係る技術を使用することが必要である。
【0068】
上記した例では、1画素あたり12bitの信号を入力としたが、当然この例によらず、1画素あたりの信号のサイズは、8bitでも10bitでも14bitでも構わない。また、上記した例では、符号量と上限値との関係を1ライン毎に判定することとしたが、判定の周期は、0.5ライン毎でも、2ライン毎でも構わない。また、上記では、最も回路規模が小さいパターンとしてラインメモリなしのシステムを例に挙げたが、例えば、3ライン分の信号を使った予測値との差分を取って符号化する符号化方式を本実施形態に係る技術に適用することも可能である。
【0069】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0070】
10 符号化装置
110 差分算出部
120 第1の選択部
130 等長符号化部
131 量子化部
132 等長符号化部
140 可変長符号化部
141 可変長符号化部
150 累積符号量算出部
160 判定部
170 第2の選択部
180 記憶部
図1
図2
図3
図4
図5
図6