以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。尚、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<実施形態1>
以下、本発明の実施形態1を、図1を用いて説明する。図1は、本実施形態に係る画像符号化装置の構成を示すブロック図である。尚、本実施形態における画像符号化装置は、画像をブロック単位で符号化する。
図1において、端子100は本実施形態における画像符号化装置内部に画像を入力する入力端子である。また、本実施形態における画像符号化装置に入力される画像の1画素のビット深度は、14ビットであるとする。但し、本発明はこれに限定されない。以下、画像の1画素のビット深度を画素深度情報と記載する。
階層分離部101は、端子100から入力された画像(以下、入力画像)をブロックに分割する。また、階層分離部101で分割された各ブロックは、夫々上位nビットを基本レイヤの画像(以下、基本レイヤ画像)とし、入力画像そのもの(mビット)を拡張レイヤの画像(以下、拡張レイヤ画像)とする。すなわち、基本レイヤ画像の画素深度情報はnであり、拡張レイヤ画像の画素深度情報はm(m≧n)となる。尚、本実施形態において、入力画像の画素深度情報は14ビットであるため、拡張レイヤ画像の画素深度情報は14ビット(m=14)である。そして、階層分離部101は、基本レイヤ画像を基本レイヤ符号化モード決定部102に、拡張レイヤ画像を拡張レイヤ符号化モード決定部111にブロック単位で出力する。
基本レイヤ符号化モード決定部102は、処理対象であるブロック(処理対象ブロック)の基本レイヤ画像を入力し、当該基本レイヤ画像の符号化モードを決定する。尚、基本レイヤ符号化モード決定部102で決定される符号化モードとして、イントラ予測符号化(以下、イントラ符号化)、インター予測符号化(以下、インター符号化)、及びI_PCM符号化等を用いることができる。符号化モードの決定方法については特に限定しないが、例えば、処理対象ブロック内の特徴量、符号量の推測結果等に基づいて決定すればよい。
セレクタ103は、基本レイヤ符号化モード決定部102の出力に基づいて、処理対象ブロックの基本レイヤ画像の出力先を選択する。基本レイヤ符号化モード決定部102の出力が非圧縮符号化モードであるI_PCM符号化モード以外であれば、セレクタ103は処理対象ブロックの基本レイヤ画像の出力先として予測部104を選択する。一方、基本レイヤ符号化モード決定部102の出力がI_PCM符号化モードであれば、セレクタ103は処理対象ブロックの基本レイヤ画像の出力先として基本レイヤ画像再構成部107及び基本レイヤ第2符号化部109を選択する。
予測部104は、基本レイヤ符号化モード決定部102の出力に基づいてイントラ予測若しくはインター予測を行い、ブロック単位で予測誤差を算出する。基本レイヤ符号化モード決定部102においてイントラ符号化が選択された場合、予測部104は基本レイヤ画像再構成部107に格納されている周囲の符号化済みのブロックの画素値を参照して予測を行う。また、基本レイヤ符号化モード決定部102においてインター符号化が選択された場合、予測部104は基本レイヤ画像再構成部107に格納されている異なるフレームの画像を参照して予測を行う。そして、予測部104は、予測された予測値とセレクタ103から入力された画像を比較し、予測誤差を算出する。
変換・量子化部105は、予測部104で算出された予測誤差に対して、直交変換・量子化を行い、量子化係数を算出する。まず、変換・量子化部105は、直交変換を行う。さらに変換・量子化部105は、直交変換係数を算出した後に直交変換係数に対して量子化を行い、量子化係数を算出する。
基本レイヤ第1符号化部106は、変換・量子化部105で算出された量子化係数を符号化する。量子化係数の符号化方法は特に限定しないが、ゴロム符号化、算術符号化、ハフマン符号化等の符号化を用いることができる。
基本レイヤ符号化モード符号化部108は、基本レイヤ符号化モード決定部102で決定された符号化モードを符号化する。符号化モードの符号化方法は特に限定しないが、ゴロム符号化、算術符号化、ハフマン符号化等の符号化を用いることができる。
基本レイヤ第2符号化部109は、階層分離部101からセレクタ103を介して入力された基本レイヤ画像を非圧縮符号化してI_PCM符号を生成する。
基本レイヤ画像再構成部107は、階層分離部101からセレクタ103を介して出力された基本レイヤ画像、変換・量子化部105で算出された量子化係数、基本レイヤ符号化モード決定部102で決定された符号化モードを入力する。そして、基本レイヤ画像再構成部107は、入力された基本レイヤ画像、量子化係数、及び符号化モードから局所的に復号された画像(以下、局所復号画像)を生成し、参照のために格納する。
基本レイヤ統合符号化部110は、基本レイヤ符号化モード符号化部108、基本レイヤ第1符号化部106、及び基本レイヤ第2符号化部109から出力された符号をまとめて基本レイヤ画像の符号(以下、基本レイヤ符号)を生成する。基本レイヤ統合符号化部110は、さらに基本レイヤ画像であることを表すヘッダ情報、フレーム単位のヘッダ情報を生成して符号化し、基本レイヤ符号に付与する。
拡張レイヤ符号化モード決定部111は、処理対象ブロックの拡張レイヤ画像を入力し、当該拡張レイヤ画像の符号化モードを決定する。尚、拡張レイヤ符号化モード決定部111で決定される符号化モードとして、イントラ符号化、拡張レイヤ画像間でのインター符号化、基本レイヤ画像を参照する予測符号化(以下、レイヤ間符号化)、及びI_PCM符号化等を用いることができる。但し、本実施形態では説明を簡略化するため、当該符号化モードが、イントラ符号化モード、レイヤ間符号化モード、及びI_PCM符号化モードの場合についてのみ説明する。また、符号化モードの決定方法については特に限定しないが、例えば、処理対象ブロック内の特徴量、符号量の推測結果等から決定すればよい。
セレクタ112は、拡張レイヤ符号化モード決定部111の出力に基づいて、処理対象ブロックの拡張レイヤ画像の出力先を選択する。拡張レイヤ符号化モード決定部111の出力がI_PCM符号化モード以外であれば、セレクタ112は処理対象ブロックの拡張レイヤ画像の出力先として予測部113を選択する。一方、拡張レイヤ符号化モード決定部111の出力がI_PCM符号化モードであれば、セレクタ112は処理対象ブロックの拡張レイヤ画像の出力先として拡張レイヤ画像再構成部116及び拡張レイヤ分割部118を選択する。
予測部113は、拡張レイヤ符号化モード決定部111の出力に基づいてイントラ予測若しくはインター予測を行い、ブロック単位で予測誤差を算出する。拡張レイヤ符号化モード決定部111においてレイヤ間符号化が選択された場合、予測部113は基本レイヤ画像再構成部107のnビットの基本レイヤ画像をmビットに伸長し、mビットに伸長した画像を参照画像として予測誤差を求める。予測部113における予測誤差の算出方法は特に方法は限定しないが、例えば、基本レイヤ画像再構成部107に格納された基本レイヤ画像の画素データを(m−n)ビット左シフトすることによって得られる。
変換・量子化部114は、予測部113で算出された予測誤差に対して、直交変換・量子化を行い、量子化係数を算出する。まず、変換・量子化部114は、直交変換を行う。さらに変換・量子化部114は、直交変換係数を算出した後に直交変換係数に対して量子化を行い、量子化係数を算出する。
拡張レイヤ第1符号化部115は、変換・量子化部114で算出された量子化係数を符号化する。量子化係数の符号化方法は特に限定しないが、ゴロム符号化、算術符号化、ハフマン符号化等の符号化を用いることができる。
拡張レイヤ符号化モード符号化部117は、拡張レイヤ符号化モード決定部111で決定された符号化モードを符号化する。符号化モードの符号化方法は特に限定しないが、ゴロム符号化、算術符号化、ハフマン符号化等の符号化を用いることができる。
拡張レイヤ分割部118は、mビットの拡張レイヤ画像からnビットの基本レイヤ画像を除去し、(m−n)ビットの画像を生成する。
拡張レイヤ第2符号化部119は、拡張レイヤ分割部118で分割された(m−n)ビットの画像を拡張レイヤ画像として非圧縮符号化してI_PCM符号とする。
拡張レイヤ画像再構成部116は、拡張レイヤ分割部118で生成された(m−n)ビットの拡張レイヤ画像、基本レイヤ画像再構成部107に格納された参照のための基本レイヤ画像を入力する。また、変換・量子化部114で算出された量子化係数、拡張レイヤ符号化モード決定部111で決定された符号化モードを入力して、局所復号画像を生成する。さらに、拡張レイヤ画像再構成部116は、生成した局所復号画像を参照のために格納する。尚、このように拡張レイヤ画像再構成部116に格納された局所復号画像は、拡張レイヤ符号化モード決定部111で決定された符号化モードがイントラ符号化やインター符号化である場合に、予測部113で参照される。
拡張レイヤ統合符号化部120は、拡張レイヤ符号化モード符号化部117、拡張レイヤ第1符号化部115、及び拡張レイヤ第2符号化部119から出力された符号をまとめて拡張レイヤ画像の符号(以下、拡張レイヤ符号)を生成する。拡張レイヤ統合符号化部120は、さらに拡張レイヤ画像であることを表すヘッダ情報、フレーム単位のヘッダ情報を生成して符号化し、拡張レイヤ符号に付与する。
階層統合部121は、シーケンス全体のヘッダ情報を生成する。そして、階層統合部121は、基本レイヤ統合符号化部110の基本レイヤ符号と拡張レイヤ統合符号化部120の拡張レイヤ符号を統合し、ビットストリームを生成する。尚、復号側で拡張レイヤ符号が不要な場合は基本レイヤ符号のみを出力することも可能である。
端子122は、階層統合部121によって生成されたビットストリームを画像符号化装置外部に出力する。
上記画像符号化装置において、画像を符号化処理する方法を以下に説明する。図1において、本実施形態における画像符号化装置は、端子100へ入力されたmビットの画像を階層分離部101に出力する。階層分離部101は、mビットの入力画像のうちの上位nビットの画像をブロックに分割し、基本レイヤ符号化モード決定部102及びセレクタ103に入力する。ここで、基本レイヤ画像の画素深度情報nを8ビットとして説明する。また、階層分離部101は、端子100から入力された14ビットの入力画像をブロックに分割し、拡張レイヤ符号化モード決定部111及びセレクタ112に入力する。
まず、基本レイヤ画像の符号化について説明する。
基本レイヤ符号化モード決定部102は、階層分離部101から入力された画像から符号化するブロックの符号化モードを決定する。但し、本実施形態では説明を簡易にするため、基本レイヤ符号化モード決定部102で決定される符号化モードは、以下の符号化モードであるとする。すなわち、基本レイヤ符号化モード決定部102で決定される符号化モードは、イントラ予測を用いるイントラ符号化モード、動き補償を行うインター予測を用いるインター符号化モード、及び非圧縮符号化を行うI_PCM符号化モードのいずれかとする。
基本レイヤ符号化モード決定部102は、決定した符号化モードをセレクタ103、予測部104、変換・量子化部105、基本レイヤ符号化モード符号化部108、基本レイヤ画像再構成部107に出力する。基本レイヤ符号化モード符号化部108は、基本レイヤ符号化モード決定部102から入力された符号化モードを符号化して符号化モードの符号(以下、符号化モード符号)を生成し、基本レイヤ統合符号化部110に出力する。
まず、基本レイヤ符号化モード決定部102において、I_PCM符号化モード以外のモードが選択された場合について説明する。
セレクタ103は、基本レイヤ符号化モード決定部102の出力がI_PCM符号化モード以外のモードであるので、階層分離部101から入力された符号化対象である基本レイヤ画像を予測部104に出力する。
予測部104は、基本レイヤ符号化モード決定部102の出力に基づいて予測を行い、予測値を生成する。基本レイヤ符号化モード決定部102の出力がイントラ符号化モードの場合、予測部104は基本レイヤ画像再構成部107に格納されている周囲の符号化済みのブロックの画素値を参照して予測を行い、予測値を生成する。また、基本レイヤ符号化モード決定部102の出力がインター符号化モードの場合、予測部104は基本レイヤ画像再構成部107に格納されている異なるフレームの画像を参照して予測を行い、予測値を生成する。予測部104は、これらの予測値とセレクタ103から入力された画像を比較し、予測誤差を算出する。そして、予測部104は、算出した予測誤差を変換・量子化部105に出力する。
変換・量子化部105は、予測部104から入力された予測誤差に直交変換を施し、さらに量子化を行って量子化係数を算出する。変換・量子化部105は、算出した量子化係数を基本レイヤ第1符号化部106と基本レイヤ画像再構成部107に出力する。
基本レイヤ画像再構成部107は、変換・量子化部105から入力された量子化係数を逆量子化して直交変換係数を再生し、さらにこの直交変換係数を逆直交変換して予測誤差を再生する。基本レイヤ画像再構成部107は、再生した予測誤差を基本レイヤ符号化モード決定部102によって決定された符号化モードに従って基本レイヤ画像再構成部107内に格納された局所復号画像を参照して予測値とし、これと加算することによって再生画像を得る。基本レイヤ画像再構成部107は、取得した再生画像を以後の参照のために基本レイヤ画像再構成部107内に格納する。
基本レイヤ第1符号化部106は、変換・量子化部105から入力された量子化係数を符号化し、量子化係数符号を生成する。
基本レイヤ符号化モード符号化部108は、基本レイヤ符号化モード決定部102で決定された符号化モードを符号化し、符号化モード符号を生成する。
基本レイヤ統合符号化部110は、基本レイヤ符号化モード符号化部108で生成された符号化モード符号と、基本レイヤ第1符号化部106で生成された量子化係数符号、及び予測に関する情報をまとめて、処理対象ブロックの符号とする。特に、この符号を基本レイヤ予測符号化画素情報と呼ぶ。当該基本レイヤ予測符号化画素情報は基本レイヤ符号に含まれる符号である。
次に、基本レイヤ符号化モード決定部102において、I_PCM符号化モードが選択された場合について説明する。
セレクタ103は、基本レイヤ符号化モード決定部102の出力がI_PCM符号化モードなので、階層分離部101から入力された符号化対象である基本レイヤ画像を基本レイヤ画像再構成部107と基本レイヤ第2符号化部109に出力する。
基本レイヤ画像再構成部107は、セレクタ103から入力された基本レイヤ画像から再生画像を生成する。基本レイヤ符号化モード決定部102においてI_PCM符号化モードが選択された場合、基本レイヤ画像再構成部107で生成される再生画像は、基本レイヤ画像再構成部107に入力された画像と同じである。このため、基本レイヤ画像再構成部107は当該再生画像を基本レイヤ画像再構成部107内に格納する。
基本レイヤ第2符号化部109は、セレクタ103から入力された基本レイヤ画像をまとめて非圧縮符号化して、I_PCM符号を生成する。
基本レイヤ符号化モード符号化部108は、基本レイヤ符号化モード決定部102で決定された符号化モードを符号化し、符号化モード符号を生成する。
基本レイヤ統合符号化部110は、基本レイヤ符号化モード符号化部108で生成された符号化モード符号と、基本レイヤ第2符号化部109で生成されたI_PCM符号をまとめて、処理対象ブロックの符号とする。特に、この符号を基本レイヤI_PCM画素情報と呼ぶ。当該基本レイヤI_PCM画素情報は、基本レイヤ符号に含まれる符号である。
続いて、拡張レイヤ画像の符号化について説明する。
拡張レイヤ符号化モード決定部111は、階層分離部101から入力された拡張レイヤ画像から符号化するブロックの符号化モードを決定する。但し、本実施形態では説明を簡易にするため、拡張レイヤ符号化モード決定部111で決定される符号化モードは、以下の符号化モードであるとする。すなわち、拡張レイヤ符号化モード決定部111で決定される符号化モードは、イントラ予測を用いるイントラ符号化モード、基本レイヤ画像を参照するレイヤ間符号化モード、及び非圧縮符号化を行うI_PCM符号化モードのいずれかとする。拡張レイヤ符号化モード決定部111は、決定した符号化モードをセレクタ112、予測部113、変換・量子化部114、拡張レイヤ符号化モード符号化部117、拡張レイヤ画像再構成部116に出力する。
拡張レイヤ符号化モード符号化部117は、拡張レイヤ符号化モード決定部111から入力された符号化モードを符号化して符号化モード符号を生成し、拡張レイヤ統合符号化部120に出力する。
まずは、拡張レイヤ符号化モード決定部111において、I_PCM符号化モード以外のモードが選択された場合について説明する。
セレクタ112は、階層分離部101から入力された符号化対象である拡張レイヤ画像を予測部113に出力する。
予測部113は、拡張レイヤ符号化モード決定部111の出力に基づいて予測を行う。拡張レイヤ符号化モード決定部111の出力がイントラ符号化モードの場合、予測部113は拡張レイヤ画像再構成部107に格納されている周囲のブロックの画素値を参照して予測を行う。また、拡張レイヤ符号化モード決定部111の出力がレイヤ間符号化モードの場合、予測部113は基本レイヤ画像再構成部107に格納されている対応する画像を参照して予測を行う。ここでは、基本レイヤ画像再構成部107に格納されている8ビットの基本レイヤ画像を左に6ビットシフトして14ビットの画像を生成してこれを予測画像とする。但し、予測画像の生成方法はこれに限定されない。生成した予測画像とセレクタ112から入力された拡張レイヤ画像を比較し、予測誤差を算出する。さらに、予測部113は、算出した予測誤差を変換・量子化部114に入力する。
変換・量子化部114は、入力された予測誤差に直交変換をし、量子化を行って量子化係数を算出する。そして、変換・量子化部114は、算出した量子化係数を拡張レイヤ第1符号化部115と拡張レイヤ画像再構成部116に入力する。
拡張レイヤ画像再構成部116の詳細な構成を図2に示す。図2において、端子200は、基本レイヤ画像再構成部107から参照するnビットすなわち8ビットの画像を入力する。端子201は、変換・量子化部114から予測誤差の量子化係数を入力する。端子202は、拡張レイヤ分割部118から(m−n)ビットすなわち6ビットの画像を入力する。端子203は、拡張レイヤ符号化モード決定部111から符号化モードを入力する。シフト部204は、基本レイヤ画像再構成部107から端子200を介して入力された画像の画素値を6ビット分左に(上位方向に)シフトする。逆量子化・逆変換部205は、端子201から入力された量子化係数に逆量子化を行い、直交変換係数を再生し、さらに逆直交変換を施して予測誤差を再生する。セレクタ206及びセレクタ207は、端子203から入力される符号化モードによって入力先を選択する。加算部208は、セレクタ206及びセレクタ207からの入力を加算(合成)してフレームメモリ209に出力する。フレームメモリ209は、画像を参照するために局所復号画像を格納する。端子210は、予測部113に、参照する画像としてフレームメモリ209に格納された局所復号画像を出力する。
上記構成において、端子203は拡張レイヤ符号化モード決定部111から符号化モードを入力する。
端子203に入力された符号化モードがイントラ符号化モードの場合、セレクタ206はフレームメモリ209に格納された局所復号画像を加算器208へ出力するように設定する。また、この場合、セレクタ207は逆量子化・逆変換部205で再生された予測誤差を加算器208へ出力するように設定する。すると、逆量子化・逆変換部205は、イントラ予測によって得られた予測誤差の量子化係数を変換・量子化部114から端子201を介して出力し、入力された量子化係数を予測誤差として再生する。逆量子化・逆変換部205は、再生した予測誤差を、セレクタ207を介して加算部208に出力する。また、セレクタ206はフレームメモリ209から入力された局所復号画像を加算部208に出力する。そして、加算部208は、セレクタ206から入力された画像とセレクタ207から入力された予測誤差を加算して局所復号画像を再生し、フレームメモリ209に出力する。フレームメモリ209は、加算部208により再生された局所復号画像を所定の領域に格納する。
端子203に入力された符号化モードがレイヤ間符号化モードの場合、セレクタ206はシフト部204からの画像を加算器208へ出力するように設定する。また、この場合、セレクタ207は逆量子化・逆変換部205から再生された予測誤差を加算器208へ出力するように設定する。すると、逆量子化・逆変換部205は、レイヤ間の予測によって得られた予測誤差の量子化係数を変換・量子化部114から端子201を介して入力し、入力された量子化係数を予測誤差として再生する。逆量子化・逆変換部205は、再生した予測誤差を、セレクタ207を介して加算部208に出力する。また、シフト部204は、基本レイヤ画像再構成部107に格納されている8ビットの参照画像を、端子200を介して入力する。シフト部204は、この参照画像を左に6ビットシフトし、下位の6ビットに0を埋め込み、14ビットの画像を生成する。シフト部204は、生成した14ビットの画像を、セレクタ206を介して加算部208に出力する。そして、加算部208は、セレクタ206から入力された画像とセレクタ207から入力された予測誤差を加算して局所復号画像を再生し、フレームメモリ209に出力する。フレームメモリ209は、加算部208により再生された局所復号画像を所定の領域に格納する。そして、変換・量子化部114は、算出した量子化係数を拡張レイヤ第1符号化部115と拡張レイヤ画像再構成部116に入力する。
また、図1において拡張レイヤ第1符号化部115は、変換・量子化部114によって算出された量子化係数を符号化し、量子化係数の符号(以下、量子化係数符号)を生成する。拡張レイヤ統合符号化部120は、拡張レイヤ符号化モード符号化部117で生成された符号化モード符号と拡張レイヤ第1符号化部115で生成された画像量子化係数符号、及び予測に関する情報、乃至は基本レイヤ画像の参照に関する情報を統合する。そして、拡張レイヤ統合符号化部120は、統合した符号及び情報を処理対象ブロックの符号とする。尚、当該処理対象ブロックの符号を拡張レイヤ予測符号化画素情報と呼ぶ。当該拡張レイヤ予測符号化画素情報は、拡張レイヤ符号に含まれる符号である。
次に、拡張レイヤ符号化モード決定部111において、I_PCM符号化モードが選択された場合について説明する。
セレクタ112は、階層分離部101から入力された符号化対象である拡張レイヤ画像を拡張レイヤ分割部118に出力する。
拡張レイヤ分割部118は、入力された14ビット画像から上位8ビットを削除し、下位6ビットの画像を生成する。拡張レイヤ分割部118は、生成した6ビットの画像を拡張レイヤ画像再構成部116と拡張レイヤ第2符号化部119に出力する。
I_PCM符号化モードが選択された場合における、拡張レイヤ画像再構成部116の詳細な処理について、図2を用いて説明する。図2において端子202は、拡張レイヤ分割部118から6ビットの画像を入力する。端子203は、拡張レイヤ符号化モード決定部111からI_PCM符号化モードをセレクタ206及び207に出力する。セレクタ206及びセレクタ207は、端子203から入力される符号化モードによって、入力先を選択する。端子203から、I_PCM符号化モードが入力された場合、セレクタ206は入力先をシフト部204とし、セレクタ207は入力先を端子202とする。
シフト部204は、基本レイヤ画像再構成部107に格納されている8ビットの参照画像を基本レイヤ画像再構成部107から端子200を介して入力する。シフト部204は、入力した画像を左に6ビットシフトし、下位の6ビットに0を埋め込み、14ビットの画像を生成する。セレクタ206は、シフト部204によって生成された14ビットの画像を入力し、加算部208に出力する。一方、セレクタ207は、拡張レイヤ分割部118によって生成された6ビットの画像を、端子202を介して入力し、加算部208に出力する。加算部208は、セレクタ206及びセレクタ207からの入力を加算して局所復号画像を再生し、フレームメモリ209に出力する。フレームメモリ209は、加算部208により再生された局所復号画像を所定の領域に格納する。
図1において拡張レイヤ第2符号化部119は、拡張レイヤ分割部118から入力された6ビットの画像をまとめてI_PCM符号を生成する。
拡張レイヤ統合符号化部120は、拡張レイヤ符号化モード符号化部117で生成された符号化モード符号と拡張レイヤ第2符号化部119で生成されたI_PCM符号をまとめて、処理対象ブロックの符号とする。特に、この符号を拡張レイヤI_PCM画素情報と呼ぶ。当該拡張レイヤI_PCM画素情報は、拡張レイヤ符号に含まれる符号である。
階層統合部121はまず、基本レイヤのヘッダ情報を生成する。ヘッダ情報には基本レイヤの符号化された画素深度情報と基本レイヤの符号化されたI_PCM符号化モード時の画素深度情報が埋め込められる。これらの情報の符号化については特に限定しないが、H.264のbit_depth_luma_minus8符号やbit_depth_chroma_minus8符号を用いることが可能である。さらにはpcm_bit_depth_luma_minus1符号やpcm_bit_depth_chroma_minus1符号を用いることが可能である。さらに階層統合部121は、ヘッダ情報に続き、基本レイヤ統合符号化部110から入力された符号である基本レイヤ予測符号化画素情報と基本レイヤI_PCM画素情報をピクチャデータとして統合する。
図3は、本実施形態に係る画像符号化装置における画像の符号化処理を示すフローチャートである。
ステップS300にて、本実施形態に係る画像符号化装置は、符号化する画素あたりmビットの画像を図1に示す端子100から入力する。
ステップS301にて、本実施形態に係る画像符号化装置は、シーケンス全体を表すヘッダを生成し符号化する。このヘッダにはビット深度階層符号化を行うか否かを表す情報(bitdepth_enhancement_flag)が含まれている。さらに、本実施形態における画像符号化装置は、基本レイヤの情報を表すヘッダと拡張レイヤの情報を表すヘッダを生成し、符号化する。これらのヘッダには、それぞれのレイヤの画像深度情報が含まれている。
ステップS302にて、階層分離部101は、端子100から入力された画像から符号化を行うブロックの画像を抽出する。
ステップS303にて、階層分離部101はさらに、入力されたmビットの画素から上位nビットの画素を抽出して基本レイヤ画像を生成する。
ステップS304にて、基本レイヤ符号化モード決定部102は、基本レイヤのブロックの符号化モードを決定する。
ステップS305にて、セレクタ103は、ステップS304で決定された符号化モードがI_PCM符号化モードであるか否かを判定する。I_PCM符号化モードであればステップS306に進み、そうでなければステップS308に進む。
ステップS306にて、基本レイヤ符号化モード符号化部108は、I_PCM符号化モードを符号化して基本レイヤ統合符号化部110へ出力する。
ステップS307にて、基本レイヤ第2符号化部109は、基本レイヤ画像を非圧縮符号化して基本レイヤ統合符号化部110へ出力する。
ステップS308にて、基本レイヤ符号化モード符号化部108は、ステップS304で決定された符号化モードを符号化して基本レイヤ統合符号化部110へ出力する。
ステップS309にて、予測部104は、基本レイヤ画像に対してイントラ予測、インター予測などで予測を行い、予測誤差を算出する。さらに、変換・量子化部105は、予測部104によって算出された予測誤差に対して直交変換、量子化を行い、量子化係数を生成する。
ステップS310にて、基本レイヤ第1符号化部106は、予測に必要な符号化モードや動きベクトル等の符号化制御情報を符号化し、ステップS309で変換・量子化部105によって生成された量子化係数を符号化して出力する。
ステップS311にて、拡張レイヤ符号化モード決定部111は、拡張レイヤのブロックの符号化モードを決定する。
ステップS312にて、セレクタ112は、ステップS311で拡張レイヤ符号化モード決定部111によって決定された符号化モードがI_PCM符号化モードであるか否かを判定する。I_PCM符号化モードであればステップS313に進み、I_PCM符号化モードでなければステップS315に進む。
ステップS313にて、拡張レイヤ符号化モード符号化部117は、I_PCM符号化モードを符号化して拡張レイヤ統合符号化部120へ出力する。
ステップS314にて、拡張レイヤ分割部118は、拡張レイヤ画像から下位の(m−n)ビットを抽出する。そして、拡張レイヤ画像再構成部116は、拡張レイヤ分割部118で抽出された(m−n)ビットの画像を非圧縮符号化して出力する。
ステップS315にて、拡張レイヤ符号化モード符号化部117は、ステップS311で決定された符号化モードを符号化して出力する。
ステップS316にて、予測部113は、拡張レイヤ画像をイントラ予測、レイヤ間予測などで予測を行い、予測誤差を算出する。さらに、変換・量子化部114は、予測部114によって算出された予測誤差に対して直交変換、量子化を行い、量子化係数を生成する。
ステップS317にて、拡張レイヤ第1符号化部115は、予測に必要な符号化モードや動きベクトル等の符号化制御情報を符号化し、ステップS316で変換・量子化部114によって生成された量子化係数を符号化して出力する。
ステップS318にて、本実施形態における画像符号化装置は、端子100から入力された入力画像の全てのブロックの符号化処理が終了したか否かを判定する。入力画像の全てのブロックについて処理が終了していれば、符号化処理を終了する。終了していなければステップS302に戻り、次のブロックを処理対象ブロックとして符号化処理を継続する。
上記のようにして生成されたビットストリームを図8に示す。図8(a)は基本レイヤのビットストリームを表す図である。本実施形態におけるビットストリームには、ヘッダ情報とピクチャデータが含まれている。基本レイヤのヘッダ情報には、基本レイヤの画素深度情報が含まれている。基本レイヤのピクチャデータには、各ブロックの符号が含まれており、当該符号は基本レイヤ予測符号化画素情報と基本レイヤI_PCM画素情報からなっている。さらに、基本レイヤ予測符号化画素情報には、符号化モード符号や量子化係数符号が含まれている。また、基本レイヤI_PCM画素情報には、符号化モード符号とI_PCM符号が含まれている。
また、図8(b)は拡張レイヤのビットストリームを表す図である。本実施形態における拡張レイヤのビットストリームには、ヘッダ情報とピクチャデータが含まれている。拡張レイヤのヘッダ情報には、拡張レイヤであることを示す拡張レイヤヘッダと拡張レイヤの画素深度情報が含まれている。さらに、拡張レイヤのヘッダには、H.264と同様に参照対象レイヤを示すインデックスが含まれている。
拡張レイヤのピクチャデータには、各ブロックの符号が含まれており、当該符号は拡張レイヤ予測符号化画素情報と拡張レイヤI_PCM画素情報からなっている。さらに、拡張レイヤ予測符号化画素情報には、符号化モード符号や量子化係数符号が含まれている。また、拡張レイヤのヘッダに含まれる参照対象レイヤを表すインデックスによって、基本レイヤの画素深度情報(n)を知ることができる。また、拡張レイヤ画素深度情報(m)は既知であるため、拡張レイヤI_PCM画素情報には符号化モード符号と画素あたり(m−n)ビットのI_PCM符号が含まれていると判別できる。
以上の構成と動作により、階層符号化を行うときのI_PCM符号化モードにおいて、基本レイヤ画像と基本レイヤで表されるビットを除いた下位のビットからなる拡張レイヤ画像に分離してそれぞれを符号化することが可能になった。同時にI_PCM符号化モードにおいても階層符号化を可能にすることができた。特に、拡張レイヤの内、基本レイヤで表されるビットを除いた下位のビットからなる画像を符号化することによって、拡張レイヤで送付する画像のビット数を削減できるため、符号化効率の向上が図れた。
本実施形態では、図8にビットストリームを表したが、ビットストリームの構成はこれに限定されない。
本実施形態では基本レイヤと1つの拡張レイヤについて説明したが、レイヤの数はこれに限定されない。例えば、図4のような構成を取ることも可能である。
図4は、図1の画像符号化装置に、拡張レイヤ符号化モード決定部411から拡張レイヤ統合符号化部420を追加した構成である。図4において、例えば、端子100に入力される入力画像を16ビットとし、基本レイヤ画像が8ビット、続く拡張レイヤ画像が14ビット、最後の拡張レイヤ画像が16ビットとする。このとき、階層分離部401は、これらの画素深度情報に対応する画像をそれぞれ入力する。すなわち、基本レイヤ符号化モード決定部102から基本レイヤ統合符号化部110において、上位8ビットの画像を符号化する。そして、拡張レイヤ符号化モード決定部111から拡張レイヤ統合符号化部120にて、上位14ビットの画像を符号化する。但し、拡張レイヤ第2符号化部119は上位9ビット目から14ビット目の6ビットの画像を符号化する。さらに、拡張レイヤ符号化モード決定部411から拡張レイヤ統合符号化部420において、上位16ビットの画像を符号化する。但し、拡張レイヤ第2符号化部419は上位15ビット目から16ビット目の2ビットの画像を符号化する。
上記で説明したように、本発明は、適宜、拡張レイヤを増やしてもよい。そして、より多くの拡張レイヤを符号化処理するために、拡張レイヤ符号化モード決定部から拡張レイヤ統合符号化部を追加することでより多くのレイヤに対応することが可能なことは明らかである。また、本実施形態の画素深度情報はこれに限定されない。また、I_PCM符号化モードに関しても個別に画素深度情報を設定しても良い。これにより、I_PCM符号化モード時はそれ以外の符号化モードのブロックとは異なる画素深度情報を設定することも可能である。
<実施形態2>
以下、本発明の実施形態2を、図5を用いて説明する。図5は、本実施形態に係る画像復号装置の構成を示すブロック図である。
図5において、端子500は本実施形態における画像復号装置内部に画像を入力する入力端子である。本実施形態において復号するビットストリームは、実施形態1における画像符号化装置で生成されたものとする。
階層符号復号分離部501は、端子500から入力されたビットストリームの各ヘッダ情報を復号し、それぞれのレイヤの符号を分離して後段に出力する。本実施形態において、階層符号復号分離部501は、基本レイヤ符号を復号する基本レイヤ復号手段と拡張レイヤ符号を復号する拡張レイヤ復号手段に、それぞれのレイヤの符号を出力する。
基本レイヤ統合復号部502は、階層符号復号分離部501から基本レイヤのビットストリームを入力し、入力した基本レイヤのビットストリームのヘッダ情報を復号する。また、基本レイヤ統合復号部502は、当該ビットストリームのピクチャデータからブロック単位で基本レイヤの符号化モード符号、基本レイヤ予測符号化画素情報、基本レイヤI_PCM画素情報に分離する。さらに、基本レイヤ統合復号部502は、分離された基本レイヤの符号化モード符号を基本レイヤ符号化モード復号部503に出力し、基本レイヤ予測符号化画素情報、及び、基本レイヤI_PCM画素情報をセレクタ504に出力する。
基本レイヤ符号化モード復号部(基本レイヤ符号化モード取得手段)503は、基本レイヤ統合復号部502から入力された基本レイヤの符号化モード符号を復号し、符号化モードを生成する。基本レイヤ符号化モード復号部503は、生成した符号化モードを後段に出力する。
セレクタ504は、基本レイヤ符号化モード復号部503の出力に基づいて基本レイヤ予測符号化画素情報の出力先を選択する。基本レイヤ符号化モード復号部503の出力がI_PCM符号化モード以外の場合、セレクタ504は出力先として基本レイヤ第1復号部505を選択する。基本レイヤ符号化モード復号部503の出力がI_PCM符号化モードの場合、セレクタ504は基本レイヤ予測符号化画素情報の出力先として基本レイヤ第2復号部506を選択する。
基本レイヤ第1復号部505は、基本レイヤ統合復号部502で分離された基本レイヤ予測符号化画素情報を、セレクタ504を介して入力し、復号を行う。そして、基本レイヤ第1復号部505は、基本レイヤ予測符号化画素情報に含まれる量子化係数符号を復号し、予測誤差の量子化係数を得る。さらに、基本レイヤ第1復号部505は、取得した量子化係数を基本レイヤ画像再構成部507に出力する。
基本レイヤ第2復号部506は、基本レイヤ統合復号部502で分離された基本レイヤI_PCM画素情報を、セレクタ504を介して入力し、非圧縮で復号を行う。そして、基本レイヤ第2復号部506は、基本レイヤI_PCM画素情報を復号することで再生されたnビットの画像を基本レイヤ画像として後段に出力する。
基本レイヤ画像再構成部507は、基本レイヤ復号部505から入力された量子化係数に逆量子化を行い、さらに逆直交変換を施して予測誤差を再生する。基本レイヤ画像再構成部507は、再生した予測誤差、基本レイヤ第2復号部506で再生された基本レイヤ画像、基本レイヤ符号化モード復号部503で生成された符号化モードを入力して、基本レイヤ画像として復号画像を再生する。
端子508は、基本レイヤ画像再構成部507で再生された基本レイヤ画像を画像復号装置外部へ出力する。
拡張レイヤ統合復号部510は、階層符号復号分離部501から拡張レイヤのビットストリームを入力する。そして、拡張レイヤ統合復号部510は、当該ビットストリームのピクチャデータからブロック単位で拡張レイヤの符号化モード符号、拡張レイヤ予測符号化画素情報、拡張レイヤI_PCM画素情報に分離して後段に出力する。
拡張レイヤ符号化モード復号部(拡張レイヤ符号化モード取得手段)511は、拡張レイヤ統合復号部510から入力された拡張レイヤの符号化モード符号を復号し、符号化モードを生成する。
セレクタ512は、拡張レイヤ符号化モード復号部511の出力に基づいて出力先を選択する。拡張レイヤ符号化モード復号部511の出力がI_PCM符号化モード以外の場合、セレクタ512は拡張レイヤ予測符号化画素情報の出力先として拡張レイヤ第1復号部513を選択する。拡張レイヤ符号化モード復号部511の出力がI_PCM符号化モードの場合、セレクタ512は拡張レイヤ予測符号化画素情報の出力先として拡張レイヤ第2復号部514を選択する。
拡張レイヤ第1復号部513は、拡張レイヤ統合復号部510で分離された拡張レイヤ予測符号化画素情報を、セレクタ512を介して入力し、復号を行う。そして、拡張レイヤ第1復号部513は、拡張レイヤ予測符号化画素情報に含まれる量子化係数符号を復号し、予測誤差の量子化係数を得る。さらに、拡張レイヤ第1符号化部513は、取得した量子化係数を拡張レイヤ画像再構成部515に出力する。
拡張レイヤ第2復号部514は、拡張レイヤ統合復号部510で分離された拡張レイヤI_PCM画素情報を、セレクタ512を介して入力し、非圧縮で復号を行う。そして、拡張レイヤ第2復号部514は、拡張レイヤI_PCM画素情報を復号することで再生された(m−n)ビットの画像を拡張レイヤ画像として後段に出力する。
拡張レイヤ画像再構成部515は、拡張レイヤ第1復号部513から入力された量子化係数に逆量子化を行い、さらに逆直交変換を施して予測誤差を再生する。拡張レイヤ画像再構成部515は、再生した予測残差、基本レイヤ画像再構成部507で再生された基本レイヤ画像、拡張レイヤ第2復号部514で再生された拡張レイヤ画像、拡張レイヤ符号化モード復号部511で生成された符号化モードを入力する。そして、拡張レイヤ画像再構成部515は、拡張レイヤ画像として復号画像を再生する。
端子516は、拡張レイヤ再構成部515で再生された拡張レイヤ画像を画像復号装置外部へ出力する。
上記画像復号装置における画像の復号処理方法を以下に説明する。図5において、本実施形態における画像復号装置は、端子500へ入力されたビットストリームを階層符号復号分離部501に入力する。階層符号復号分離部501は、各ヘッダ情報を復号する。ヘッダ情報には基本レイヤの画素深度情報と拡張レイヤの画素深度情報が含まれている。これらの画素深度情報を復号することによって、基本レイヤの画素深度情報nビットと拡張レイヤの画像深度情報mビットを再生する。さらに、階層符号復号分離部501は、基本レイヤのビットストリームを基本レイヤ統合復号部502に出力し、拡張レイヤのビットストリームを拡張レイヤ統合復号部510に出力する。
まず、基本レイヤ符号の復号について説明する。
基本レイヤ統合復号部502は、階層符号復号分離部501から入力された基本レイヤのビットストリームのヘッダ情報を復号し、当該ビットストリームのピクチャデータからブロック単位の符号に分割する。さらに基本レイヤ統合復号部502は、分割した符号の中から符号化モード符号を分離し、分離した符号化モード符号を基本レイヤ符号化モード復号部503に出力する。また、基本レイヤ統合復号部502は、残りの量子化係数符号またはI_PCM符号をセレクタ504に出力する。
基本レイヤ符号化モード復号部503は、基本レイヤ統合復号部502から入力された符号化モード符号を復号し、符号化モードを生成する。基本レイヤ符号化モード復号部503は、生成した符号化モードをセレクタ504、基本レイヤ第1復号部505、基本レイヤ画像再構成部507に出力する。但し、本実施形態では、実施形態1と同様に説明を簡易にするため、基本レイヤ符号化モード復号部503で生成される符号化モードは、以下の符号化モードであるとする。すなわち、基本レイヤ符号化モード復号部503で生成される符号化モードは、イントラ予測を用いるイントラ符号化モード、動き補償を行うインター予測を用いるインター符号化モード、及び非圧縮符号化を行うI_PCM符号化モードのいずれかとする。
まずは、基本レイヤ符号化モード復号部503において、I_PCM符号化モード以外のモードが生成された場合について説明する。
セレクタ504は、基本レイヤ符号化モード復号部503の出力に基づいて、基本レイヤ統合復号部502から入力された基本レイヤ予測符号化画素情報を基本レイヤ第1復号部505に出力する。
基本レイヤ第1復号部505は、基本レイヤ統合復号部502で分離された基本レイヤ予測符号化画素情報を、セレクタ504を介して入力し、復号を行う。基本レイヤ第1復号部505は、入力された基本レイヤ予測符号化画素情報に含まれる、予測に必要な符号化モードや動きベクトル等の符号化制御情報を復号する。また、基本レイヤ第1復号部505は、入力された基本レイヤ予測符号化画素情報に含まれる量子化係数符号を復号し、予測誤差の量子化係数を生成する。さらに、基本レイヤ第1復号部505は、生成された量子化係数を基本レイヤ画像再構成部507に出力する。
基本レイヤ画像再構成部507は、基本レイヤ第1復号部505から入力された量子化係数に逆量子化を行い、さらに逆直交変換を施して予測誤差を再生する。さらに基本レイヤ画像再構成部507は、基本レイヤ符号化モード復号部503で生成された符号化モードに従って、再生した予測誤差と基本レイヤ画像再構成部507内に格納された復号画像から再生画像を取得する。このとき、基本レイヤ画像再構成部507は、基本レイヤ画像再構成部507内に格納された復号画像を参照して予測値とし、再生した予測誤差と加算することによって再生画像を生成することができる。さらに基本レイヤ画像再構成部507は、生成した当該再生画像を画像復号装置外部へ端子508を介して出力し、以後の参照のために基本レイヤ画像再構成部507内に格納する。
続いて、基本レイヤ符号化モード復号部503において、I_PCM符号化モードが生成された場合について説明する。
セレクタ504は、基本レイヤ統合復号部502から入力された復号対象である基本レイヤI_PCM画素情報を基本レイヤ第2復号部506に出力する。
基本レイヤ第2復号部506は、セレクタ504から入力された基本レイヤI_PCM画素情報に含まれるI_PCM符号から各画素値を再生し、基本レイヤ画像再構成部507に出力する。
基本レイヤ画像再構成部507は、基本レイヤ第2復号部506から入力された各画素値は復号画像そのものであるため、基本レイヤ第2復号部506から入力された各画素値を再生画像として画像復号装置外部へ端子508を介して出力する。さらに基本レイヤ画像再構成部507は、当該再生画像を以後の参照のために基本レイヤ画像再構成部507内に格納する。
続いて、拡張レイヤ符号の復号について説明する。
拡張レイヤ統合復号部510は、階層符号復号分離部501から入力された拡張レイヤのビットストリームのヘッダ情報を復号し、当該ビットストリームのピクチャデータからブロック単位の符号に分割する。さらに拡張レイヤ統合復号部510は、分割した符号の中から符号化モード符号を分離し、分離した符号化モード符号を拡張レイヤ符号化モード復号部511に出力する。残りの量子化係数符号またはI_PCM符号をセレクタ512に出力する。
拡張レイヤ符号化モード復号部511は、拡張レイヤ統合復号部510から入力された符号化モード符号を復号し、符号化モードを生成する。拡張レイヤ符号化モード復号部511は、生成した符号化モードをセレクタ512、拡張レイヤ第1復号部513、拡張レイヤ画像再構成部515に出力する。但し、本実施形態では、実施形態1と同様に説明を簡易にするため、拡張レイヤ符号化モード復号部511で生成される符号化モードは、以下の符号化モードであるとする。すなわち、拡張レイヤ符号化モード復号部511で生成される符号化モードは、イントラ予測を用いるイントラ符号化モード、基本レイヤ画像を参照するレイヤ間符号化モード、及び非圧縮符号化を行うI_PCM符号化モードのいずれかとする。
まずは、拡張レイヤ符号化モード復号部511において、I_PCM符号化モード以外のモードが生成された場合について説明する。
セレクタ512は、拡張レイヤ符号化モード復号部511の出力に基づいて、拡張レイヤ統合復号部510から入力された拡張レイヤ予測符号化画素情報を拡張レイヤ第1復号部513に出力する。
拡張レイヤ第1復号部513は、拡張レイヤ統合復号部510で分離された拡張レイヤ予測符号化画素情報を、セレクタ512を介して入力し、復号を行う。拡張レイヤ第1復号部513は、入力された拡張レイヤ予測符号化画素情報に含まれる予測に必要な符号化モード符号や基本レイヤ画像の参照に関する情報等の符号化制御情報を復号する。また、拡張レイヤ第1復号部513は、入力された拡張レイヤ予測符号化画素情報に含まれる量子化係数符号を復号し、予測誤差の量子化係数を生成する。さらに、拡張レイヤ第1復号部513は、生成された量子化係数を拡張レイヤ画像再構成部515に出力する。
拡張レイヤ画像再構成部515は、拡張レイヤ第1復号部513から入力された量子化係数に逆量子化を行い、さらに逆直交変換を施して予測誤差を再生する。さらに拡張レイヤ画像再構成部515は、拡張レイヤ符号化モード復号部511から入力された符号化モードに基づいて予測値を算出する。また、拡張レイヤ画像再構成部515は、拡張レイヤ画像再構成部515内に格納された復号画像、及び基本レイヤ画像再構成部507に格納されている基本レイヤ画像を参照して予測値を算出する。拡張レイヤ画像再構成部515は、このように算出した予測値と再生した予測誤差を加算することによって再生画像を得る。さらに拡張レイヤ画像再構成部515は、生成した当該再生画像を画像復号装置外部へ端子516を介して出力し、以後の参照のために拡張レイヤ画像再構成部515内に格納する。
拡張レイヤ符号化モード復号部511において、I_PCM符号化モード以外のモードが生成された場合の拡張レイヤ画像再構成部515の詳細な処理を、図2を用いて説明する。図2において、端子200は、基本レイヤ画像再構成部507から参照する8ビットの画像を入力する。端子201は、拡張レイヤ第1復号部513から予測誤差の量子化係数を入力する。端子202は、拡張レイヤ第2復号部515から(m−n)ビットすなわち6ビットの画像を入力する。端子203は、拡張レイヤ符号化モード復号部511から符号化モードを入力する。シフト部204は、基本レイヤ画像再構成部507から端子200を介して入力された画像の画素値を6ビット左にシフトする。セレクタ206及びセレクタ207は、拡張レイヤ符号化モード復号部511から端子203を介して入力される符号化モードによって入力先を選択する。加算部208は、セレクタ206及びセレクタ207からの入力を加算してフレームメモリ209に出力する。フレームメモリ209は、セレクタ206及びセレクタ207から入力された画像を参照するために局所復号画像をフレームメモリ209内に格納する。端子210は、フレームメモリ209に格納された局所復号画像を、端子516を介して画像復号装置外部に出力する。
上記構成において、端子203は、拡張レイヤ符号化モード復号部511から符号化モードを入力する。
端子203に入力された符号化モードがイントラ符号化モードの場合、セレクタ206はフレームメモリ209に格納された局所復号画像を予測画像として加算部208に出力するように設定する。また、この場合、セレクタ207は逆変換・逆量子化部205で再生された予測誤差を加算部208へ出力するように設定する。すると、逆量子化・逆変換部205は、イントラ予測によって得られた予測誤差の量子化係数を拡張レイヤ第1復号部513から端子201を介して入力し、入力された量子化係数を予測誤差として再生する。逆量子化・逆変換部205は、再生した予測誤差を、セレクタ207を介して加算部208に出力する。また、セレクタ206はフレームメモリ209から入力された局所復号画像を加算部208に出力する。そして、加算部208は、セレクタ206から入力された局所復号画像とセレクタ207から入力された予測誤差を加算して復号画像を生成し、フレームメモリ209の所定の領域に格納する。さらに、フレームメモリ209は、加算部208で生成された復号画像を、端子210を介し、さらに図5の端子516を介して画像復号装置外部に出力する。
端子203に入力された符号化モードがレイヤ間符号化モードの場合、セレクタ206はシフト部204からの画像を入力し、加算部208へ出力するように設定する。また、この場合、セレクタ207は逆量子化・逆変換部205で再生された予測誤差を加算部208へ出力するように設定する。これにより、逆量子化・逆変換部205は、拡張レイヤ第1復号部513から端子201を介してレイヤ間の予測によって得られた予測誤差を入力し、入力された量子化係数を予測誤差として再生する。そして、逆量子化・逆変換部205は、再生した予測誤差を、セレクタ207を介して加算部208に出力する。また、シフト部204は、図5の基本レイヤ画像再構成部507に格納されている8ビットの参照画像を、端子200を介して入力する。シフト部204は、入力した参照画像を左に6ビットシフトし、下位の6ビットに0を埋め込み、14ビットの画像を生成する。さらに、シフト部204は、14ビットの画像を、セレクタ206を介して加算部208に出力する。そして、加算部208は、セレクタ206から入力された画像とセレクタ207から入力された予測誤差を加算して局所復号画像を生成し、フレームメモリ209に出力する。フレームメモリ209は、加算部208で生成された局所復号画像を所定の領域に格納する。さらに、フレームメモリ209は、加算部208で再生された復号画像を、端子210を介し、さらに図5の端子516を介して画像符号化装置外部に出力する。
次に、拡張レイヤ符号化モード復号部511において、I_PCM符号化モードが生成された場合について説明する。
セレクタ512は、拡張レイヤ符号化モード復号部511の出力に基づいて、拡張レイヤ統合復号部510から入力された拡張レイヤI_PCM画素情報を拡張レイヤ第2復号部514に出力する。
拡張レイヤ第2復号部514は、セレクタ512から入力された拡張レイヤI_PCM画素情報に含まれるI_PCM符号を復号し、(m−n)ビットの画像を拡張レイヤ画像として再生し、拡張レイヤ画像再構成部515に出力する。
拡張レイヤ画像再構成部515は、拡張レイヤ符号化モード復号部511から入力された符号化モードに基づいて復号画像を再生する。また、拡張レイヤ画像再構成部515は、拡張レイヤ第2復号部514から入力された6ビットの画像、及び、基本レイヤ画像再構成部507に格納されている8ビットの基本レイヤ画像を参照して復号画像を再生する。さらに拡張レイヤ画像再構成部515は、再生した当該復号画像を画像符号化装置外部へ端子516を介して出力し、以後の参照のために拡張レイヤ画像再構成部515内に格納する。
拡張レイヤ符号化モード復号部511において、I_PCM符号化モードが生成された場合の拡張レイヤ画像再構成部515の詳細な処理について、図2を用いて説明する。図2において端子202は、拡張レイヤ第2復号部514から6ビットの画像を入力する。端子203には、拡張レイヤ符号化モード復号部511からI_PCM符号化モードが入力される。この時、セレクタ206は入力先をシフト部204とし、セレクタ207は入力先を端子202とする。シフト部204は、基本レイヤ画像再構成部507に格納されている8ビットの参照画像を、端子200を介して入力する。シフト部204は入力された8ビットの画像を左に6ビットシフトし、下位の6ビットに0を埋め込み、14ビットの画像を生成する。さらにシフト部204は、生成した14ビットの画像を、セレクタ206を介して加算部208に入力する。一方、セレクタ207は、拡張レイヤ第2復号部514で再生された6ビットの画像を、端子202を介して入力し、加算器208へ当該画像を出力する。加算部208は、セレクタ206及びセレクタ207からの入力を加算して復号画像を再生し、フレームメモリ209に出力する。フレームメモリ209は、加算器208から入力された復号画像をフレームメモリ209内の所定の領域に格納し、再生された復号画像を端子210と端子516を介して画像復号装置外部に出力する。
図6は、本実施形態に係る画像復号装置における画像の復号処理を示すフローチャートである。
ステップS600にて、本実施形態に係る画像復号装置は、復号するビットストリームを図5に示す端子500から入力する。
ステップS601にて、本実施形態に係る画像復号装置は、シーケンス全体を表すヘッダを復号し、端子500から入力されたビットストリームがビット深度階層符号化されたものか否かを表す情報(bitdepth_enhancement_flag)を得る。当該情報が1の場合に拡張レイヤがビット深度階層の拡張レイヤであることを示し、当該情報が0の場合に拡張レイヤがそれ以外の階層の拡張レイヤであるとする。さらに、本実施形態に係る画像復号装置は、基本レイヤの情報を表すヘッダ、拡張レイヤの情報を表すヘッダを復号し、それぞれのレイヤのビット深度を表す画素深度情報を再生する。ここでは再生された基本レイヤの画素深度情報をbase_layer_bit_depth とし、拡張レイヤの画素深度情報をenhacement_layer_bit_depth とする。
ステップS602にて、階層符号復号分離部501は、復号対象の基本レイヤのブロックに関する符号をビットストリームから抽出し、基本レイヤ統合復号部502へ出力する。
ステップS603にて、基本レイヤ統合復号部502は、階層符号復号分離部501から入力された基本レイヤのブロックに関する符号からブロックの符号化モード符号を抽出する。そして、基本レイヤ統合復号部502は、抽出した符号化モード符号を復号し、符号化モードを生成する。
ステップS604にて、セレクタ504は、ステップS603で生成された基本レイヤのブロックの符号化モードがI_PCM符号化モードか否かを判定する。ブロックの符号化モードがI_PCM符号化モードであればステップS605に進み、そうでなければステップS606に進む。
ステップS605にて、基本レイヤ第2復号部507は、基本レイヤ統合復号部502からセレクタ504を介して入力された基本レイヤのブロックに関する符号から、符号化モード符号に続くI_PCM符号を抽出し、各nビットの画素の値を再生する。
ステップS606にて、基本レイヤ第1復号部505は、予測に必要な符号化モードや動きベクトル等の符号化制御情報を復号し、続く量子化係数符号を復号して、予測誤差の量子化係数を再生する。
ステップS607にて、基本レイヤ画像再構成部507は、ステップS606で再生された量子化係数を逆量子化し、さらに逆直交変換によって予測誤差を再生する。
ステップS608にて、基本レイヤ画像再構成部507は、ステップS605で再生された画素値を再生画像とする。または基本レイヤ画像再構成部507は、ステップS607で再生された予測誤差とステップS606で再生された符号化情報を用いて生成した予測値を加算することで画素値を再生し、再生画像とする。そして、基本レイヤ画像再構成部507は、再生した画素値を再生画像として格納する。
ステップS609にて、階層符号復号分離部501は、復号対象の拡張レイヤのブロックに関する符号をビットストリームから抽出し、拡張レイヤ統合復号部510へ出力する。
ステップS610にて、拡張レイヤ統合復号部510は、階層符号復号分離部501から入力された拡張レイヤのブロックに関する符号からブロックの符号化モード符号を抽出する。そして、拡張レイヤ統合復号部510は、抽出した符号化モード符号を復号し、符号化モードを生成する。
ステップS611にて、セレクタ512は、ステップS610で生成された拡張レイヤのブロックの符号化モードがI_PCM符号化モードか否かを判定する。ブロックの符号化モードがI_PCM符号化モードであればステップS612に進み、そうでなければステップS614に進む。
ステップS612にて、拡張レイヤ第2復号部514は、拡張レイヤ統合復号部510からセレクタ512を介して入力された拡張レイヤのブロックに関する符号から、符号化モード符号に続くI_PCM符号を抽出し、各(m−n)ビットの画素の値を再生する。
ステップS613にて、拡張レイヤ第1復号部513は、予測に必要な符号化モードや動きベクトル等の符号化制御情報を復号し、続く量子化係数符号を復号して、予測誤差の量子化係数を再生する。
ステップS614にて、拡張レイヤ画像再構成部515は、ステップS613で再生された量子化係数を逆量子化し、さらに逆直交変換によって予測誤差を再生する。
ステップS615にて、拡張レイヤ画像再構成部515は、ステップS612で再生された(m−n)ビットの画素値と同じ画素位置の基本レイヤのnビット画素値を(m−n)ビット左にシフトした画素値を加算し、画素値を再生する。または、拡張レイヤ画像再構成部515は、ステップS615で再生された予測誤差とステップS613で再生された符号情報を用いて予測値を生成し、加算することで画素値を再生する。再生された画素値を再生画像として格納する。
ステップS616にて、本実施形態における画像復号装置は、端子500から入力されたビットストリームの全てのブロックの復号処理が終了したか否かを判定する。入力されたビットストリームの全てのブロックについて処理が終了していれば、復号処理を終了する。終了していなければステップS602に戻り、次のブロックを復号対象ブロックとして復号処理を継続する。
上述した本実施形態における画像復号装置の動作をH.264の規格書の書式に従って表1に記載する。
表1において、macroblock_layer_in_scalable_extension( )は拡張レイヤ画像のブロックの復号を表す。InCropWindow( CurrMbAddr )は、アドレスCurrMbAddrで示される復号するブロックが復号画像の内部にあることを示している。adaptive_base_mode_flagは非特許文献1のG.7.4.3.4 章Slice header in scalable extension semanticsに記載されているフラグである。base_mode_flagはG.7.4.6章Macroblock layer in scalable extension semanticsに記載されている。このフラグは、拡張レイヤ画像のブロックと基本レイヤ画像のブロックの符号化モード等が同じか否かを表すフラグである。pcm_alignment_zero_bitでバイト境界まで0ビットが補てんされる。
bitdepth_enhancement_flagが0の場合、macroblock_layer_in_scalable_extension( )の10行目から13行目は、拡張レイヤの表すmビットのI_PCM符号化された画像を復号する。すなわち、差分ビット数のI_PCM符号ではなく、pcm_sample_luma[ i ]はmビット輝度値のI_PCM符号を表す。このI_PCM符号からブロック分のmビットの基本レイヤ画像の輝度の画素値が再生される。同様にpcm_sample_chroma[ i ]は色差値のI_PCM符号を表す。このI_PCM符号からブロック分のmビットの色差の画素値が再生される。
bitdepth_enhancement_flagが1の場合、macroblock_layer_in_scalable_extension( )の15行目から22行目は、拡張レイヤの差分ビット数分のI_PCM符号化された画像の復号となる。pcm_sample_luma_valueは、拡張レイヤ画像の輝度値のI_PCM符号を表す。このI_PCM符号からブロック分の(m−n)ビットの輝度の画素値が再生される。同様にpcm_sample_chroma_valueは色差値のI_PCM符号を表す。このI_PCM符号からブロック分の(m−n)ビットの色差の画素値が再生される。この(m−n)をnumber_of_bit_depthと表すこととする。これにより、拡張レイヤ画像の再生画素値に関して輝度は次式で算出する。
pcm_sample_luma[ i ]=( pcm_sample_luma[ i ] <<number_of_bit_depth)+pcm_sample_luma_value) ・・・(1)
但し、<<は続く値で示されるビット数だけ左にシフトして、0を補てんする演算を表す。同様に色差は次式で算出する。
pcm_sample_chroma[ i ]=( pcm_sample_chroma[ i ] <<number_of_bit_depth)+pcm_sample_chroma_value) ・・・(2)
このようにして 本実施形態における画像復号装置は、拡張レイヤの復号画像を再生する。
表1ではbitdepth_enhancement_flagを用いたが、これを省略することも可能である。表2にその様子を示す。表1と比較して、9行目が異なっている。すなわち、表2では、ヘッダ情報に含まれるbase_layer_bit_depth とenhacement_layer_bit_depthを比較することにより判定を行う。表2において、enhacement_layer_bit_depthがbase_layer_bit_depthよりも大きければ、拡張画像レイヤが差分ビット数分の符号であることとなる。
以上の構成と動作により、階層符号化された符号(以下、階層符号)の復号時にI_PCM符号化モードにおいて、基本レイヤ画像と基本レイヤで表されるビットを除いた下位のビットからなる画像に分離されてそれぞれを符号化された符号を復号することができた。さらに、非圧縮符号化を行うI_PCM符号化モードにおいても階層符号の階層復号を可能にした。また、基本レイヤよりも下位のビットからなる画像を符号化することによって画像のビット数を削減したビットストリームにおいても、削減しない場合と同じ画質を達成することができた。
本実施形態では基本レイヤと1つの拡張レイヤについて説明を行ったが、レイヤの数はこれに限定されない。例えば、図7のような構成を取ることも可能である。図7に示す画像符号化装置は、図5の画像符号化装置に拡張レイヤ統合復号部710から端子716を追加した構成である。
例えば、画像符号化装置に入力されたビットストリームが最大画素値あたり16ビットとし、基本レイヤが8ビット、続く拡張レイヤが14ビット、最後の拡張レイヤが16ビットとする。このとき、階層符号分離部501はこれらの階層のビットストリームをそれぞれのレイヤに入力する。基本レイヤ統合復号部502以降は、上位8ビットの画像を復号する。拡張レイヤ統合復号部510以降は、上位14ビットの画像を復号する。この時、拡張レイヤ第2復号部514は、上位9ビット目から14ビット目の6ビットの画像を復号する。最後に拡張レイヤ統合符号化部710以降は、上位16ビットの画像を符号化する。この時、拡張レイヤ第2復号部714は、上位15ビット目から16ビット目の2ビットの画像を復号する。
上記で説明したように、適宜、拡張レイヤ統合復号部から拡張レイヤ画像再構成部を追加することでより多くのレイヤに対応することが可能なことは明らかである
また、本実施形態のビット深度はこれに限定されない。また、表1、表2の符号と復号の形態に限定されない。
また、I_PCM符号化モードの画像深度情報を輝度と色差と同じ画像深度情報としたが、前述のように別な値を取っても構わない。
尚、表2において、9行目において、base_layer_bit_depth とenhacement_layer_bit_depthが等しい場合に10行目から13行目の処理を行うように記述したが、これに限定されない。例えば、base_layer_bit_depth とenhacement_layer_bit_depthが等しい場合には、I_PCM符号を省略して、基本レイヤの値をそのまま使用することも可能である。
<実施形態3>
以下、本発明の実施形態3を、図9を用いて説明する。図9は、本実施形態に係る画像符号化装置の構成を示すブロック図である。
図9において、実施形態1の図1に記載しているブロックと同じ機能を果たすものについては同じ番号を付し、説明を省略する。
拡張レイヤ符号化モード決定部911は、図1の拡張レイヤ符号化モード決定部111とは、基本レイヤ符号化モード決定部102の結果を入力する点が異なる。
上記画像符号化装置における画像の符号化動作を以下に説明する。実施形態1と同様に、基本レイヤ符号化モード決定部102は符号化するブロックの符号化モードを決定する。本実施形態においても、基本レイヤ符号化モード決定部102で決定される符号化モードは、イントラ符号化モード、インター符号化モード、及びI_PCM符号化モードとする。但し、本発明はこれに限定されない。また、基本レイヤ符号化モード決定部102で決定された符号化モードは、実施形態1の出力先に加え、拡張レイヤ符号化モード決定部911に入力される。以降、第1実施形態と同様に基本レイヤ画像の符号化が行われる。
続いて、拡張レイヤ画像の符号化について説明する。拡張レイヤ符号化モード決定部911は、本実施形態における画像符号化装置に入力された入力画像の基本レイヤの符号化モードに基づいて、拡張レイヤで符号化するブロックの符号化モードを決定する。説明を簡易にするため、実施形態1と同様に、本実施形態では、当該符号化モードをイントラ符号化モード、インター符号化モード、レイヤ間符号化モード、及びI_PCM符号化モードのいずれかとする。拡張レイヤ符号化モード決定部911は、基本レイヤ符号化モード決定部102からの出力がI_PCM符号化モードであれば、I_PCM符号化モードを拡張レイヤ画像の符号化対象ブロックの符号化モードとして決定する。また、拡張レイヤ符号化モード決定部911は、基本レイヤ符号化モード決定部102からの出力がI_PCM符号化モード以外のモードであれば、拡張レイヤ画像のブロック内の特徴量、符号量の推測結果等から拡張レイヤの符号化モードを決定する。
さらに、拡張レイヤ符号化モード決定部911は、実施形態1の拡張レイヤ符号化モード決定部111と同様に、決定した符号化モードを後段にそれぞれ出力する。すなわち拡張レイヤ符号化モード決定部911は、セレクタ112、予測部113、変換・量子化部114、拡張レイヤ符号化モード符号化部117、拡張レイヤ画像再構成部116に決定した符号化モードを出力する。
拡張レイヤ符号化モード符号化部117は、拡張レイヤ符号化モード決定部911から入力された符号化モードを符号化して符号化モード符号を生成し、拡張レイヤ統合符号化部120に出力する。以下、実施形態1と同様に拡張レイヤ符号化モード決定部911で決定された符号化モードに従って拡張レイヤ画像の符号化が行われる。
図10は、本実施形態に係る画像符号化装置における画像の符号化処理を示すフローチャートである。図10において、実施形態1の図3に記載しているステップと同じ機能を果たすものについては同じ番号を付し、説明を省略する。
ステップS300からステップS301にて、本実施形態に係る画像符号化装置への画像の入力と、入力された画像のヘッダ情報の符号化が行われる。続いて、ステップS302からステップS310にて、基本レイヤ画像のブロックの符号化が行われる。
ステップS1001にて、拡張レイヤ符号化モード決定部911は、ステップS304で決定された基本レイヤ画像のブロックの符号化モードがI_PCM符号化モードか否かを判定する。基本レイヤ画像のブロックの符号化モードがI_PCM符号化モードであればステップS313に進み、そうでなければステップS311に進む。
以後、ステップS311からステップS317にて、拡張レイヤ画像のブロックの符号化が行われる。
特に、本実施形態では、ステップS1001にて基本レイヤ符号化モード決定部102で決定された符号化モードを参照し、当該符号化モードがI_PCM符号化モードであった場合、拡張レイヤでも同様にI_PCM符号化モードとする点に特徴がある。
本実施形態における画像符号化装置で生成されるビットストリームの構成は、図8に示されるものと同じである。但し、拡張レイヤI_PCM画素情報における符号化モード符号の内容が異なる。従って、本実施形態における画像符号化装置で生成されるビットストリームは、実施形態2で説明した画像復号装置で復号することが可能である。この場合、図6において、ステップS611は、ステップS604で基本レイヤ画像のブロックの符号化モードがI_PCM符号化モードであれば、ステップS612に進むことになる。
以上の構成と動作により、階層符号化において基本レイヤの符号化モードがI_PCM符号化モードの場合に、拡張レイヤの符号化モードもI_PCM符号化モードとすることで、拡張レイヤの符号化モードの判定を簡易にすることができ、処理の高速化を実現する。通常、I_PCM符号化モードは予測符号化において符号化効率の向上が実現できない画像に用いられる。例えば、ホワイトノイズの画像等が考えられる。すなわち、基本レイヤでI_PCM符号化モードが選択されることは通常の符号化が行えない状態であり、その下位ビットである拡張レイヤも同様になる可能性が非常に高いことを利用したものである。
<実施形態4>
以下、本発明の実施形態4を、図11を用いて説明する。図11は、本実施形態に係る画像符号化装置の構成を示すブロック図である。
図11において、実施形態3の図9に記載しているブロックと同じ機能を果たすものについては同じ番号を付し、説明を省略する。
拡張レイヤ符号化モード符号化部1117は、拡張レイヤ符号化モード決定部911で決定された符号化モードを符号化する。図9の拡張レイヤ符号化モード符号化部117とは、基本レイヤ符号化モード決定部102の結果を入力する点が異なる。
上記画像符号化装置における画像の符号化動作を以下に説明する。実施形態1及び実施形態3と同様に、図11における基本レイヤ符号化モード決定部102は符号化するブロックの符号化モードを決定する。本実施形態においても、基本レイヤ符号化モード決定部102で決定される符号化モードは、イントラ符号化モード、インター符号化モード、及びI_PCM符号化モードとする。但し、これに限定されない。また、基本レイヤ符号化モード決定部102で決定された符号化モードは、実施形態1の出力先に加え、拡張レイヤ符号化モード決定部911と拡張レイヤ符号化モード符号化部1117に入力される。以後、実施形態1及び実施形態3と同様に、基本レイヤ画像の符号化が行われる。続いて、拡張レイヤ画像の符号化について説明する。
拡張レイヤ符号化モード決定部911は、実施形態3と同様に、本実施形態における画像符号化装置に入力された入力画像の基本レイヤの符号化モードに基づいて、拡張レイヤで符号化するブロックの符号化モードを決定する。説明を簡易にするため、実施形態1と同様に、本実施形態では、当該符号化モードをイントラ符号化モード、レイヤ間符号化モード、及びI_PCM符号化モードとする。拡張レイヤ符号化モード決定部911は、基本レイヤ符号化モード決定部102からの出力がI_PCM符号化モードであれば、I_PCM符号化モードを拡張レイヤ画像の符号化対象ブロックの符号化モードとして決定する。また、拡張レイヤ符号化モード決定部911は、基本レイヤ符号化モード決定部102からの出力がI_PCM符号化モード以外のモードであれば、拡張レイヤ画像のブロック内の特徴量、符号量の推測結果等から拡張レイヤの符号化モードを決定する。
拡張レイヤ符号化モード符号化部1117は、拡張レイヤ符号化モード決定部911で決定された拡張レイヤの符号化モードと基本レイヤ符号化モード決定部102で決定された基本レイヤの符号化モードを入力する。拡張レイヤ符号化モード符号化部1117は、入力された基本レイヤの符号化モードがI_PCM符号化モード以外の場合、実施形態1及び実施形態3と同様に、これらの符号化モードを符号化して符号化モード符号を生成する。そして、拡張レイヤ符号化モード符号化部1117は、生成した符号化モード符号を拡張レイヤ統合符号化部120に出力する。拡張レイヤ符号化モード符号化部1117は、入力された基本レイヤの符号化モードがI_PCM符号化モードの場合、拡張レイヤの符号化モードはI_PCM符号化モードであるとし、符号化モードの符号化を行わない。また、拡張レイヤ符号化モード符号化部1117は、表1乃至表2に記載したようなbase_mode_flagの符号化は行わない。以下、実施形態3と同様に、符号化モードに従って拡張レイヤ画像の符号化を行う。
図12は、本実施形態に係る画像符号化装置における画像の符号化処理を示すフローチャートである。図12において、実施形態1の図3に記載しているステップと同じ機能を果たすものについては同じ番号を付し、説明を省略する。
ステップS300からステップS301にて、本実施形態に係る画像符号化装置は、当該画像符号化装置への画像の入力と、入力された画像のヘッダ情報の符号化を行う。続いて、ステップS302からステップS310にて、本実施形態に係る画像符号化装置は、基本レイヤ画像のブロックの符号化を行う。
ステップS1201にて、拡張レイヤ符号化モード決定部911は、ステップS304で決定された基本レイヤ画像のブロックの符号化モードがI_PCM符号化モードか否かを判定する。基本レイヤ画像のブロックの符号化モードがI_PCM符号化モードであればステップS314に進み、そうでなければステップS311に進む。
以後、ステップS311からステップS317にて、拡張レイヤ画像のブロックの符号化が行われる。
特に、本実施形態では、ステップS1201にて基本レイヤ符号化モード決定部102で決定された符号化モードを参照し、当該符号化モードがI_PCM符号化モードであった場合、拡張レイヤでも同様にI_PCM符号化モードとする点に特徴がある。さらに、この場合、ステップS313の拡張レイヤの符号化モードの符号化を行わない。
このようにして生成されたビットストリームを図15に示す。図15(a)は基本レイヤのビットストリームを表す図である。図15(a)に示す基本レイヤのビットストリームに関しては、図8(a)に示す実施形態1のビットストリームと同じである。また、図15(b)は、拡張レイヤのビットストリームを表す図である。図15(b)には3つの拡張レイヤI_PCM画素情報が含まれる。図15(a)における左の拡張レイヤI_PCM画素情報は、基本レイヤの符号化モードがI_PCM符号化モードではないので、図8(b)と同様に符号化モード符号を含む。しかしながら、図15(a)における右の拡張レイヤI_PCM画素情報は、基本レイヤの符号化モードがI_PCM符号化モードなので、拡張レイヤI_PCM画素情報には符号化モード符号は含まれない。
以上の構成と動作により、階層符号化において、基本レイヤの符号化モードがI_PCM符号化モードの場合に、拡張レイヤの符号化モードもI_PCM符号化モードとすることで、拡張レイヤの符号化モードの判定を簡易にすることができる。これにより、符号化処理の高速化を実現する。さらには、基本レイヤの符号化モードがI_PCM符号化モードである場合、拡張レイヤの符号化モード符号を省略することで、冗長な符号を送ることを行わず符号化効率を向上することができる。実施形態3と同様に、基本レイヤでI_PCM符号化モードが選択されることは通常の符号化が行えない状態であり、その下位ビットである拡張レイヤも同様になる可能性が非常に高いことを利用したものである。
<実施形態5>
以下、本発明の実施形態5を、図13を用いて説明する。図13は、本実施形態に係る画像復号装置の構成を示すブロック図である。
図13において、実施形態2の図5に記載しているブロックと同じ機能を果たすものについては同じ番号を付し、説明を省略する。また、本実施形態において復号するビットストリームは、実施形態4で生成されたものとする。
拡張レイヤ統合復号部1310は、階層符号復号分離部501で分離された拡張レイヤのビットストリームと基本レイヤ符号化モード復号部503で復号された基本レイヤの符号化モードを入力する。拡張レイヤ統合復号部1310は、これに基づいて、ブロック単位で符号化モード符号、拡張レイヤ予測符号化画素情報と拡張レイヤI_PCM画素情報に分離して後段に出力する。また、拡張レイヤ統合復号部1310は、図5の拡張レイヤ統合復号部510とは、基本レイヤ符号化モード復号部503で復号された符号化モードを入力する点が異なる。拡張レイヤ符号化モード復号部1311は、拡張レイヤの符号化モード符号を入力し、符号化モードを復号する。拡張レイヤ符号化モード復号部1311は、図5の拡張レイヤ符号化モード復号部511とは、基本レイヤ符号化モード復号部503で復号された符号化モードを入力する点が異なる。
上記画像復号装置における画像の復号動作を以下に説明する。
まず、基本レイヤ符号の復号について説明する。
実施形態2と同様に、基本レイヤ符号化モード復号部503は、基本レイヤ統合部502から入力された、基本レイヤのビットストリームに含まれる符号化モード符号を復号し、符号化モードを生成する。基本レイヤ符号化モード復号部503は、生成した符号化モードを実施形態2の出力先に加え、拡張レイヤ符号化モード復号部1311に出力する。
以後、実施形態2と同様に基本レイヤ符号の復号を行う。
続いて、拡張レイヤ符号の復号について説明する。
拡張レイヤ統合復号部1310は、階層符号復号分離部501から入力された拡張レイヤのビットストリームのヘッダ情報を復号し、当該ビットストリームのピクチャデータからブロック単位の符号に分割する。
基本レイヤ符号化モード復号部503で復号された基本レイヤの符号化モードがI_PCM符号化モード以外の場合、拡張レイヤ統合復号部1310は、実施形態2と同様に分割した符号の中から符号化モード符号を分離する。さらに、拡張レイヤ統合復号部1310は、分離した符号化モード符号を拡張レイヤ符号化モード復号部1311に出力する。
また、基本レイヤ符号化モード復号部503で復号された基本レイヤの符号化モードがI_PCM符号化モードの場合、拡張レイヤ統合復号部1310は、拡張レイヤの符号化モードはI_PCM符号化モードと判断する。このため、拡張レイヤのビットストリームには符号化モード符号は存在しない。すなわち、拡張レイヤ統合復号部1310は、拡張レイヤ符号化モード復号部1311へ出力するものは無い。
また、拡張レイヤ符号化モード復号部1311は基本レイヤの符号化モードがI_PCM符号化モードであれば、符号とは関係なくI_PCM符号化モードであることをセレクタ512、拡張レイヤ第1復号部513、拡張レイヤ画像再構成部515に入力する。
以後、実施形態2と同様に符号化モードに基づいて拡張レイヤ符号の復号を行う。
図14は、本実施形態に係る画像復号装置における画像の復号処理を示すフローチャートである。図14において、実施形態2の図6に記載しているステップと同じ機能を果たすものについては同じ番号を付し、説明を省略する。
ステップS600からステップS601にて、本実施形態に係る画像復号装置は、当該画像復号装置へのビットストリームの入力と、入力されたビットストリームのヘッダ情報を復号する。続いて、ステップS602からステップS608にて、本実施形態に係る画像復号装置は、基本レイヤ符号の復号を行う。さらに、ステップS609にて、階層符号復号分離部501は、拡張レイヤの復号対象のブロックに関する符号を本実施形態に係る画像復号装置に入力されたビットストリームから抽出する。
ステップS1401にて、基本レイヤ符号化モード復号部503は、ステップS603で復号された基本レイヤ画像のブロックの符号化モードがI_PCM符号化モードか否かを判定する。基本レイヤ画像のブロックの符号化モードがI_PCM符号化モードであれば、ステップS612に進み、そうでなければステップS610に進む。
以後、ステップS610からステップS615にて、拡張レイヤ画像のブロックの復号が行われる。
特に、本実施形態では、ステップS1401にて基本レイヤ符号化モード復号部503で生成された符号化モードを参照し、当該符号化モードがI_PCM符号化モードであった場合、拡張レイヤでも同様にI_PCM符号化モードとする点に特徴がある。さらに、この場合、ステップS610の拡張レイヤの符号化モード符号の復号を行わない。
以上の動作をH.264の規格書の書式に従って表3に記載する。
表3において、表1と比較して異なる部分について説明する。
base_is_ipcm[CurrMbAddr]は、アドレスCurrMbAddrで示される復号するブロックの基本レイヤの符号化モードがI_PCM符号化モードか否かを表す配列である。復号対象である基本レイヤのブロックの符号化モードを復号する際に、本実施形態に係る復号装置はI_PCM符号化モードか否かを格納する。2行目でbase_is_ipcm[CurrMbAddr]がfalseである場合、すなわち基本レイヤの符号化モードがI_PCM符号化モードではない場合のみに、base_mode_flagやmb_typeの復号を行う。逆にいえば、基本レイヤの符号化モードがI_PCM符号化モードであれば、これらの符号は省略されている。以下は表1と同じであるため説明を省略する。
上述した本実施形態における画像復号装置の動作を、HEVC(非特許文献2)の規格書草案の書式に従って表4、及び表5に示す。表4は、HEVCのブロックの符号化単位であるcoding_unitでの復号の様子を表す。
表4において、本実施形態における画像復号装置は、H.264と同様にbase_is_ipcm[CurrMbAddr]を参照する。そして、本実施形態における画像復号装置は、基本レイヤの符号化モードがI_PCM符号化モードでない場合のみに、base_mode_flagや予測による復号を行う。基本レイヤの符号化モードがI_PCM符号化モードである場合、拡張レイヤのI_PCM符号の復号をscalable_pcm_sample( x0, y0, log2CbSize )で行う。
表5にscalable_pcm_sample( x0, y0, log2CbSize )の処理を示す。
表5において、本実施形態における画像復号装置は、H.264と同様に、基本レイヤの画像深度情報nと拡張レイヤの画像深度情報mから、number_of_bit_depthを求める。さらに、当該画像復号装置は、pcm_sample_luma_valueを復号し、基本レイヤの復号画素値であるpcm_sample_luma[i]とnumber_of_bit_depthを用いて(1)式に基づいて拡張レイヤの輝度値を算出する。また、色差に関しても同様である。すなわち、pcm_sample_chroma_valueを復号し、基本レイヤの復号画素値であるpcm_sample_chroma[i]とnumber_of_bit_depthを用いて(2)式に基づいて拡張レイヤの色差値を算出する。
このようにして、本実施形態に係る画像復号装置は拡張レイヤの復号画像を再生する。
以上の構成と動作により、階層符号の復号時にI_PCM符号化モードを用いた場合において、基本レイヤ画像と当該基本レイヤ画像が表すビット分を除いた下位のビットからなる画像に分離して、各画像を符号化して生成された符号を、復号することができた。また、I_PCM符号化モードにおいても階層符号の復号を可能にすることができた。さらには基本レイヤのブロックの符号化モードを参照し、当該符号化モードがI_PCM符号化モードであれば、拡張レイヤでの符号化モード符号を省略しても画像を正しく復号することができる。これにより、より高効率な符号の復号が行うことができる。
尚、本実施形態においてH.264、HEVCを用いて説明したが、これに限定されない。
<実施形態6>
上記各実施形態1〜5において、図1、図2、図4、図5、図7、図9、図11、図13に示した各処理部はハードウェアでもって構成しているものとして説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムでもって構成しても良い。
図16は、上記各実施形態1〜5に係る画像符号化装置及び画像復号装置(以下、画像処理装置)に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
CPU1601は、RAM1602やROM1603に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態1〜5に係る画像処理装置が行うものとして上述した各処理を実行する。すなわち、CPU1601は、図1、図2、図4、図5、図7、図9、図11、図13に示した各処理部として機能することになる。
RAM1602は、外部記憶装置1606からロードされたコンピュータプログラムやデータ、I/F(インターフェース)1607を介して、外部から取得したデータなどを一時的に記憶するためのエリアを有する。さらに、RAM1602は、CPU1601が各種の処理を実行する際に用いるワークエリアを有する。すなわち、RAM1602は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
ROM1603は、本コンピュータの設定データや、ブートプログラムなどを格納する。
操作部1604は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をCPU1601に対して入力することができる。
表示部1605は、CPU1601による処理結果を表示する。また、表示部1605は、例えば液晶ディスプレイで構成される。
外部記憶装置1606は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置1606には、OS(オペレーティングシステム)や、図1、図2に示した各部の機能をCPU1601に実現させるためのコンピュータプログラムが保存されている。さらには、外部記憶装置1606には、処理対象としての各画像が保存されていても良い。
外部記憶装置1606に保存されているコンピュータプログラムやデータは、CPU1601による制御に従って適宜、RAM1602にロードされ、CPU1601による処理対象となる。
I/F1607には、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機部を接続することができ、本コンピュータはこのI/F1607を介して様々な情報を取得したり、送出したりすることができる。
バス1608は、上述の各部を繋ぐ。
上述の構成における作動は、前述のフローチャートで説明した作動をCPU1601が中心となってその制御を行う。
<その他の実施例>
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。