以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1における復号装置の構成を示すブロック図である。図2A及び図2Bは、動画像圧縮技術の標準規格に準じて符号化された符号化ストリームの概要を示す図である。図2Cは、本発明の符号化ストリームの一例を示す図である。図3は、本発明の直交変換基底記憶状態管理テーブルが保持する情報の一例である。
図1に示す復号装置100は、逆直交変換に利用する直交変換基底(直交変換基底行列)を特定する特定情報を含む符号化ストリームの復号を行う画像復号装置である。この復号装置100は、復号部101、直交変換基底転送制御部102、直交変換基底記憶部103、直交変換基底記憶状態管理テーブル104、参照画像転送制御部105、参照画像記憶部106、予測画像生成部107、加算器108、メモリ109、直交変換基底蓄積部110、逆量子化部111及び逆直交変換部112を備える。
復号部101は、符号化ストリームから、逆直交変換に利用する直交変換基底を特定する特定情報を復号する。具体的には、復号部101は、画像圧縮技術の標準規格に準じて符号化されたストリームの復号を行い、少なくともヘッダ情報と量子化係数とを出力する機能を有する。
ここで、動画像圧縮技術の標準規格に準じて符号化されたストリームについて、図2A及び図2Bを用いて説明する。図2Aに示すように、符号化ストリームにおいて、一連の画像(動画像)は階層的な構成を有している。例えば、複数のピクチャを1まとまりにしたシーケンス(若しくは、GOP(Group Of Pictures)という)がある。シーケンスを構成する各ピクチャは、スライスに分割され、さらに16x16画素からなるマクロブロックに分割された構成を有する。なお、ピクチャをスライスに分割しない場合もある。そして、復号装置100は、スライスまたはマクロブロックを単位として復号動作を行う。
また、符号化ストリームでは、図2Bに示すように、これらが階層的に符号化されており、シーケンスを制御するシーケンスヘッダ、ピクチャを制御するピクチャヘッダ、スライスを制御するスライスヘッダ、マクロブロックデータなどから構成されている。マクロブロックデータは、さらに、マクロブロック種別、面内予測(イントラ予測)モード、動きベクトル情報、量子化パラメータなどの符号化情報及び各画素データに対応する係数情報に分けられる。なお、H.264規格では、シーケンスヘッダをSPS(Sequence Parameter Set)、ピクチャヘッダをPPS(Picture Parameter Set)と呼んでいる。
以下では、GOP若しくはシーケンスのヘッダに、そのGOP若しくはシーケンスのピクチャで逆直交変換に利用する直交変換基底(直交変換行列)と、逆直交変換する際にどの直交変換基底を用いるかを特定する(示す)情報(以下、「直交変換基底ID」ともいう)とが全て含まれているとする。そして、ピクチャの符号化単位として例えばマクロブロックには、そのマクロブロックを逆直交変換する際に用いる直交変換基底IDのみが含まれているとする。
なお、直交変換基底と直交変換基底IDとは、GOP若しくはシーケンス単位ではなくピクチャ単位で含まれているとしてもよい。また、GOP若しくはシーケンスのヘッダには、そのGOP若しくはシーケンス中の複数のピクチャで利用される全ての直交変換基底IDのみが含まれ、複数のピクチャそれぞれのマクロブロック(符号化単位)のヘッダには、そのマクロブロック(符号化単位)で用いられる直交変換基底IDのみが含まれているとしてもよい。また、図2Cに示すように、直交変換基底IDのみが、GOP若しくはシーケンス単位ではなくピクチャ単位で含まれているとし、複数のピクチャそれぞれのマクロブロック(符号化単位)のヘッダには、そのマクロブロック(符号化単位)で用いられる直交変換基底IDのみが含まれているとしてもよい。同様にして、上記のどの組合せを単位としてもよいし、別の組合せを単位としてもよい。
直交変換基底転送制御部102は、本発明の転送制御部に相当し、直交変換基底蓄積部110から直交変換基底記憶部103に、特定情報(直交変換基底ID)により特定された直交変換基底を転送する。
直交変換基底転送制御部102は、直交変換基底記憶部103が逆直交変換に利用する直交変換基底を特定する特定情報により特定された直交変換基底を保持していない場合のみ、直交変換基底蓄積部110から直交変換基底記憶部103に、特定情報(直交変換基底ID)により特定された直交変換基底を転送する。具体的には、直交変換基底転送制御部102は、符号化ストリーム中に定義され、逆直交変換に用いる直交変換基底を直交変換基底蓄積部110に書き込む機能を有する。また、直交変換基底転送制御部102は、復号部101が復号したヘッダ情報に含まれる、逆直交変換にどの直交変換基底を用いるかを示す情報すなわち直交変換基底IDを元に、直交変換基底記憶状態管理テーブル104の情報を参照する機能を有する。そして、直交変換基底転送制御部102は、直交変換基底記憶状態管理テーブル104の情報により、直交変換基底IDが示す直交変換基底が直交変換基底記憶部103に保持されているかを確認する。
例えば、直交変換基底転送制御部102は、直交変換基底IDの示す直交変換基底が直交変換基底記憶部103に保持されていないことを確認した場合、直交変換基底蓄積部110から直交変換基底IDの示す直交変換基底を読み出し、直交変換基底記憶部103に書き込む(転送する)。一方、直交変換基底転送制御部102は、直交変換基底IDの示す直交変換基底が直交変換基底記憶部103に保持(記憶)されていることを確認した場合は、直交変換基底を直交変換基底蓄積部110から読み出さない(転送しない)。
なお、直交変換基底転送制御部102は、直交変換基底を直交変換基底蓄積部110に書き込む命令のみを復号部101に行い、復号部101が直交変換基底を直交変換基底蓄積部110に書き込むとしてもよい。同様に、直交変換基底転送制御部102は、直交変換基底IDの示す直交変換基底を直交変換基底蓄積部110から読み出す命令のみを直交変換基底記憶部103に行い、直交変換基底記憶部103が、直交変換基底蓄積部110から直交変換基底IDの示す直交変換基底を読み出し、保持するとしてもよい。
直交変換基底記憶部103は、本発明の記憶部に相当し、直交変換基底蓄積部110に保持されている複数の直交変換基底のうち、逆直交変換を行うときに必要な直交変換基底を保持するためのものである。具体的には、直交変換基底記憶部103は、直交変換基底蓄積部110から転送された直交変換基底を少なくとも1種類以上保持する機能と、直交変換基底IDが示す直交変換基底を逆直交変換部112に設定する機能を有する。
直交変換基底記憶状態管理テーブル104は、本発明の記憶状態管理部に相当し、特定情報(直交変換基底ID)によって特定された直交変換基底を直交変換基底記憶部103が保持しているかどうかを示す情報を管理する。具体的には、直交変換基底記憶状態管理テーブル104は、直交変換基底IDを入力とし、直交変換基底記憶部103へ直交変換基底IDが示す直交変換基底を保持しているか否かの情報を出力する機能を有する。
直交変換基底記憶状態管理テーブル104は、例えば、図3に示すような情報を保持している。すなわち、直交変換基底記憶状態管理テーブル104は、復号部101が復号する符号化ストリームの例えばシーケンスヘッダやピクチャヘッダなどのヘッダ情報に含まれる直交変換基底IDすべてを直交変換基底IDとして保持している。そして、直交変換基底IDそれぞれにより特定される直交変換基底が直交変換基底記憶部103に記憶されているか否かを記憶状態として保持している。
参照画像転送制御部105は、復号部101が出力した予測モード、動きベクトル及び参照画面情報などのヘッダ情報に基づき、予測画像生成に必要な参照画素をメモリ109から読み出し、参照画像記憶部106に書き込む機能を有する。
なお、参照画像転送制御部105は、復号部101が出力した動きベクトル及び参照画面情報などを含むヘッダ情報に基づき、予測画像生成に必要な参照画素をメモリ109から読み出す命令のみを参照画像記憶部106に行い、参照画像記憶部106が予測画像生成に必要な参照画素をメモリ109から読み出し保持するとしてもよい。
参照画像記憶部106は、メモリ109から転送された参照画素を保持する機能を有する。
予測画像生成部107は、復号部101が出力した予測モード及び直交変換基底IDなどのヘッダ情報と、参照画像記憶部106が保持している予測画像生成に必要な参照画素とを取得する機能を有する。そして、予測画像生成部107は、それらを用いて予測画像生成し、加算器108へ出力する機能を有する。
加算器108は、逆直交変換部112が出力した予測誤差信号と、予測画像生成部107が出力した予測画像とを加算し、復号画像として出力する機能、並びに、その復号画像をメモリ109へ転送(出力)する機能を有する。
メモリ109は、予測画像生成部107が参照する参照画面を保持する機能を有する。
直交変換基底蓄積部110は、本発明の蓄積部に相当し、符号化ストリームの逆直交変換に利用される複数の直交変換基底を保持するためのものである。具体的には、直交変換基底蓄積部110は、逆直交変換部112が逆直交変換処理に利用する直交変換基底を保持する機能を有する。なお、直交変換基底蓄積部110は、メモリ109とは別の記憶手段としているが、直交変換基底蓄積部110とメモリ109とは同じ記憶手段であるとしてもよい。
逆量子化部111は、復号部101が出力した量子化係数を逆量子化し、直交変換係数を出力する機能を有する。
逆直交変換部112は、直交変換基底記憶部103に保持され、かつ、特定情報(直交変換基底ID)により特定された直交変換基底を利用して逆直交変換を行う。具体的には、逆直交変換部112は、直交変換基底記憶部103が出力した直交変換基底を用いて逆量子化部111が出力した直交変換係数を逆直交変換し、予測誤差信号を出力する機能を有する。
次に、以上のようにして構成された復号装置100の復号処理動作について説明する。図4は、本発明の実施の形態1における復号装置の復号処理動作を示すフローチャートである。
図4に示すように、復号装置100において、まず、符号化ストリームを受けた復号部101は、符号化ストリームを構成するヘッダ情報を復号し(S101)、ヘッダ情報として少なくとも直交変換基底を出力する。そして、直交変換基底転送制御部102が、S101において復号部101により復号された直交変換基底すべてを直交変換基底蓄積部110に書き込む(S102)。
次に、復号部101は、符号化ストリームを構成する複数のピクチャ(または複数のピクチャを構成するマクロブロック)のヘッダ情報と量子化係数とを復号し(S104)、ヘッダ情報として少なくとも直交変換基底IDを出力する。
次に、直交変換基底転送制御部102は、S104にて復号された直交変換基底IDが示す直交変換基底を、直交変換基底記憶部103が保持しているかどうかを、直交変換基底記憶状態管理テーブル104を参照して調べる(S105)。
直交変換基底転送制御部102は、直交変換基底記憶部103が直交変換基底IDの示す直交変換基底を保持していない場合(S105のNの場合)、直交変換基底蓄積部110から直交変換基底IDが示す直交変換基底を読み出す。そして、直交変換基底記憶部103で例えば最も古く直交変換基底蓄積部110から読み出された直交変換基底が記憶されている領域に書き込む(S106)。続いて、直交変換基底転送制御部102は、直交変換基底記憶状態管理テーブル104を更新する(S107)。具体的には、直交変換基底転送制御部102は、直交変換基底記憶状態管理テーブル104において読み出した直交変換基底の記憶状態を「保持している」に変更し、消去した直交変換基底の記憶状態を「保持していない」に変更する。
一方、直交変換基底転送制御部102は、直交変換基底記憶部103が直交変換基底IDの示す直交変換基底を保持している場合(S105のYの場合)、直交変換基底を直交変換基底蓄積部110から読み出さず、S108へと進む。
次に、逆量子化部111は、復号部101が出力したピクチャ(またはピクチャを構成するマクロブロック)の量子化係数を逆量子化し、直交変換係数を出力する(S108)。
次に、逆直交変換部112は、直交変換基底記憶部103が保持している直交変換基底を読み出し、読み出した直交変換基底を、逆直交変換に用いる直交変換基底と設定する(S109)。逆直交変換部112は、設定した直交変換基底を用いて逆量子化部111が出力したピクチャ(またはピクチャを構成するマクロブロック)の直交変換係数を逆直交変換し(S110)、予測誤差信号を加算器108に出力する。
また、予測画像生成部107は、予測画像を生成する(S111)。具体的には、参照画像転送制御部105は、S104にて復号部101により復号され出力された予測モード、動きベクトル及び参照画面情報などのヘッダ情報を元に、必要に応じてメモリ109から予測画像生成に利用する参照画像を読み出して、参照画像記憶部106に書き込む。予測画像生成部107は、S104にて復号部101により復号され出力された予測モード及び動きベクトルを設定し、必要に応じて参照画像記憶部106が保持している参照画像を読み出して、面内予測または面間予測を行って予測画像を生成する。予測画像生成部107は、生成した予測画像を加算器108へ出力する。
次に、加算器108は、S111にて予測画像生成部107が出力した予測画像と、S110にて逆直交変換部112が出力した予測残差信号とを加算して出力する(S112)。
次に、復号部101は、符号化ストリームを全て復号したかを判定し(S113)、そうであるなら(S113のYの場合)、復号を完了する。反対に、まだ、復号していない符号化ストリームがある場合は(S113のNの場合)、S104に戻り処理を繰り返す。
以上のようにして、復号装置100は復号処理動作を行う。
なお、復号装置100は、シーケンスまたはGOPに含まれる画像(ピクチャ)を復号する最初のときには、S102において、S101において復号部101により復号された直交変換基底すべてを直交変換基底蓄積部110に書き込むものの、直交変換基底記憶状態管理テーブル104には、書き込まない。その後、S104〜S113の処理を繰り返すことにより、直交変換基底記憶部103に直交変換基底の一部が保持される。
以上、本実施の形態によれば、直交変換基底記憶状態管理テーブル104を参照した結果、直交変換基底記憶部103に直交変換基底IDが示す直交変換基底が存在する場合には、その直交変換基底を直交変換基底蓄積部110から読み出さない。そのため、直交変換基底蓄積部110へのアクセス回数を減らすことが可能となる。これにより、直交変換基底蓄積部110に関するメモリ帯域の低減及びメモリアクセスレイテンシの低減が可能となる。
なお、本実施の形態では、直交変換基底記憶部103が直交変換基底IDの示す直交変換基底を保持していない場合、直交変換基底転送制御部102が直交変換基底蓄積部110から直交変換基底IDの示す直交変換基底を読み出す。そして、直交変換基底記憶部103の最も古く直交変換基底蓄積部110から読み出された直交変換基底が記憶されている領域に書き込むとしたが、それに限らない。例えば最も新しく直交変換基底蓄積部110から読み出された直交変換基底が記憶されている領域に書き込むとしても良いし、直交変換基底が格納されている領域をランダムに選択して書き込むとしても良い。直交変換基底蓄積部110へのアクセスを低減させることができ、かつ、直交変換基底記憶部103の容量も低減させることができる方法であればいずれを選択しても良い。
また、本実施の形態では、直交変換基底蓄積部110はメモリ109とは別の記憶手段としたが、直交変換基底蓄積部110とメモリ109とは同じ記憶手段でもよい。
また、本実施の形態では、直交変換基底は、符号化ストリーム内に含まれているとして説明したが、それに限らない。符号化ストリーム内には直交変換基底IDのみが含まれ、直交変換基底は符号化装置と復号装置との間で予め定められており、予め定められた直交変換基底が、直交変換基底蓄積部110に保持されているとしても良い。
また、本実施の形態では、復号装置100は、復号部101、直交変換基底転送制御部102、直交変換基底記憶部103、直交変換基底記憶状態管理テーブル104、参照画像転送制御部105、参照画像記憶部106、予測画像生成部107、加算器108、メモリ109、直交変換基底蓄積部110、逆量子化部111及び逆直交変換部112を備えるとしたが、それに限られない。図5に示すように、復号装置100の最小構成として、復号装置部10を備えていればよい。すなわち、復号部101、直交変換基底転送制御部102、直交変換基底記憶部103、直交変換基底蓄積部110及び逆直交変換部112を有する復号装置部10を備えていればよい。
さらに具体的には、この復号装置部10は、逆直交変換に利用する直交変換基底を特定する特定情報(直交変換基底ID)を含む符号化ストリームの復号を行う画像復号装置であって、符号化ストリームから、特定情報(直交変換基底ID)を復号する復号部101と、符号化ストリームの逆直交変換に利用される複数の直交変換基底を保持するための直交変換基底蓄積部110と、直交変換基底蓄積部110に保持されている複数の直交変換基底のうち、逆直交変換を行うときに必要な直交変換基底を保持するための直交変換基底記憶部103と、直交変換基底記憶部103に保持され、かつ、特定情報(直交変換基底ID)により特定された直交変換基底を利用して逆直交変換を行う逆直交変換部112と、直交変換基底記憶部103が特定情報(直交変換基底ID)により特定された直交変換基底を保持していない場合のみ、直交変換基底蓄積部110から直交変換基底記憶部103に、特定情報(直交変換基底ID)により特定された直交変換基底を転送する直交変換基底転送制御部102とを備えていればよい。
復号装置100は、最小構成として復号装置部10を少なくとも備えることにより、直交変換基底蓄積部110に記憶され、逆直交変換に用いられる直交変換基底の少なくとも一部が直交変換基底転送制御部102により直交変換基底記憶部103に転送され保持される。それにより、直交変換基底蓄積部110へ直接アクセスする回数を低減することができる。
(実施の形態2)
図6は、本発明の実施の形態2における復号装置の構成を示すブロック図である。図7A及び図7Bは、直交変換基底参照履歴管理テーブルが保持する情報の一例である。図6において、図1と同じ構成要素については同じ符号を用い、説明を省略する。
図6に示す復号装置200は、復号部101、直交変換基底転送制御部102、直交変換基底記憶部103、直交変換基底記憶状態管理テーブル104、参照画像転送制御部105、参照画像記憶部106、予測画像生成部107、加算器108、メモリ109、直交変換基底蓄積部110、逆量子化部111、逆直交変換部112及び直交変換基底参照履歴管理テーブル201を備える。図6に示す復号装置200は、実施の形態1に係る復号装置100に対して、直交変換基底参照履歴管理テーブル201を備えている点で構成が異なる。
直交変換基底参照履歴管理テーブル201は、本発明の参照履歴管理部に相当し、直交変換基底毎の、復号開始から参照された回数を示す利用履歴情報を管理する。具体的には、直交変換基底参照履歴管理テーブル201は、直交変換基底IDを入力とし、直交変換基底記憶部103において直交変換基底IDが示す直交変換基底が復号開始から参照された回数を出力する機能を有する。直交変換基底参照履歴管理テーブル201は、例えば、図7Aに示すような情報を保持している。すなわち、直交変換基底参照履歴管理テーブル201は、復号部101が復号する符号化ストリームの例えばヘッダ情報に含まれる直交変換基底IDを保持している。そして、直交変換基底IDそれぞれによって特定される直交変換基底が復号開始から参照された回数をこれまでのストリームでの参照回数として保持している。
なお、直交変換基底参照履歴管理テーブル201は、直交変換基底IDを入力とし、直交変換基底記憶部103において、直交変換基底IDの示す直交変換基底が現在、逆直交変換部112の行っている逆直交変換の何回前に参照されたかを示す回数を出力する機能を有するとしてもよい。その場合、直交変換基底参照履歴管理テーブル201は、例えば、図7Bに示すような情報を保持する。すなわち、直交変換基底参照履歴管理テーブル201は、復号部101が復号する符号化ストリームの例えばヘッダ情報に含まれる直交変換基底IDを直交変換基底として保持している。そして、直交変換基底IDの示す直交変換基底が、逆直交変換部112の行っている逆直交変換処理の何回前に参照されたかを示す情報(回数)を、何回前に参照されたかとして保持している。
次に、以上のように構成される復号装置200の復号処理動作について説明する。図8は、本発明の実施の形態2における復号装置の復号処理動作を示すフローチャートである。
図8に示すように、復号装置200において、まず、符号化ストリームを受けた復号部101は、符号化ストリームを構成するヘッダ情報を復号し(S201)、ヘッダ情報として少なくとも直交変換基底を出力する。そして、直交変換基底転送制御部102が、S201において復号部101によって復号された直交変換基底すべてを直交変換基底蓄積部110に書き込む(S202)。
次に、復号部101は、符号化ストリームを構成する複数のピクチャ(または複数のピクチャを構成するマクロブロック)のヘッダ情報と量子化係数とを復号し(S204)、ヘッダ情報として少なくとも直交変換基底IDを出力する。
次に、直交変換基底転送制御部102は、S204にて復号された直交変換基底IDの示す直交変換基底を、直交変換基底記憶部103が保持しているかどうかを、直交変換基底記憶状態管理テーブル104を参照して調べる(S205)。
直交変換基底転送制御部102は、直交変換基底記憶部103が直交変換基底IDの示す直交変換基底を保持していない場合(S205のNの場合)、直交変換基底蓄積部110から直交変換基底IDが示す直交変換基底を読み出す。そして、直交変換基底記憶部103で例えばこれまでに最も参照回数が少ない直交変換基底が記憶されている領域に書き込む(S206)。ここで、直交変換基底転送制御部102は、直交変換基底参照履歴管理テーブル201を参照し、最も参照回数が少ない直交変換基底を特定している。
次いで、直交変換基底転送制御部102は、直交変換基底参照履歴管理テーブル201を更新する(S207)。すなわち、直交変換基底転送制御部102は、直交変換基底参照履歴管理テーブル201の、参照した直交変換基底の参照回数を増やす。
また、直交変換基底転送制御部102は、直交変換基底記憶状態管理テーブル104を更新する(S208)。具体的には、直交変換基底転送制御部102は、直交変換基底記憶状態管理テーブル104の読み出した直交変換基底の記憶状態を「保持している」に変更し、消去した直交変換基底の記憶状態を「保持していない」に変更する。
一方、直交変換基底転送制御部102は、直交変換基底記憶部103が直交変換基底IDの示す直交変換基底を保持している場合(S205のYの場合)、直交変換基底を直交変換基底蓄積部110から読み出さず、S209へと進む。
次に、逆量子化部111は、復号部101が出力したピクチャ(またはピクチャを構成するマクロブロック)の量子化係数を逆量子化し、直交変換係数を出力する(S209)。
次に、逆直交変換部112は、直交変換基底記憶部103が保持している直交変換基底を読み出し、読み出した直交変換基底を、逆直交変換に用いる直交変換基底として設定する(S210)。逆直交変換部112は、設定した直交変換基底を用いて逆量子化部111が出力したピクチャ(またはピクチャを構成するマクロブロック)の直交変換係数を逆直交変換し(S211)、予測誤差信号を加算器108に出力する。
また、予測画像生成部107は、予測画像を生成する(S212)。具体的には、参照画像転送制御部105は、S204にて復号部101により復号され出力された予測モード、動きベクトル及び参照画面情報などのヘッダ情報を元に、必要に応じてメモリ109から予測画像生成に利用する参照画像を読み出して、参照画像記憶部106に書き込む。予測画像生成部107は、S204にて復号部101により復号され出力された予測モード及び動きベクトルを設定し、必要に応じて参照画像記憶部106が保持している参照画像を読み出して、面内予測または面間予測を行って予測画像を生成する。予測画像生成部107は、生成した予測画像を加算器108へ出力する。
次に、加算器108は、S212にて予測画像生成部107が出力した予測画像と、S211にて逆直交変換部112が出力した予測残差信号とを加算して出力する(S212)。
次に、復号部101は、符号化ストリームを全て復号したかを判定し(S214)、そうであるなら(S214のYの場合)、復号を完了する。反対に、まだ、復号していない符号化ストリームがある場合は(S214のNの場合)、S204に戻り処理を繰り返す。
以上のようにして、復号装置200は復号処理動作を行う。
以上、本実施の形態によれば、直交変換基底参照履歴管理テーブル201を参照することで、最も参照回数が少ない直交変換基底を特定する。そして、直交変換基底転送制御部102が直交変換基底記憶部103に書き込む際に、これまでに最も参照回数が少ない直交変換基底が記憶されている領域に書き込む。それにより、参照される可能性の低い直交変換基底は、直交変換基底記憶部103に保持されず、頻繁に参照される可能性の高い直交変換基底を直交変換基底記憶部103で保持することが可能となる。その結果、直交変換基底蓄積部110へのアクセス回数を減らすことが可能となる。
それにより、直交変換基底に関するメモリのメモリ帯域及びメモリアクセスレイテンシの低減が可能となる。
なお、本実施の形態では、直交変換基底記憶部103が直交変換基底IDの示す直交変換基底を保持していない場合、直交変換基底参照履歴管理テーブル201を参照することで、最も参照回数が少ない直交変換基底を特定する。そして、直交変換基底転送制御部102が直交変換基底蓄積部110から直交変換基底IDの示す直交変換基底を読み出し、直交変換基底記憶部103のこれまでに最も参照回数が少ない直交変換基底が記憶されている領域に書き込むとしたが、それに限らない。例えば、最近(現在から所定期間の過去)において最も使われていない直交変換基底が記憶されている領域に書き込むとしてもよいし、最近において最も使われている直交変換基底が記憶されている領域に書き込むとしてもよいし、これまでに最も参照回数が多い直交変換基底が記憶されている領域に書き込むとしてもよい。直交変換基底蓄積部110へのアクセスを低減させることができ、かつ、直交変換基底記憶部103の容量も低減させることができる方法であればいずれを選択しても良い。
また、本実施の形態では、直交変換基底蓄積部110は、メモリ109とは別の記憶手段としたが、直交変換基底蓄積部110とメモリ109とは同じ記憶手段でもよい。つまり、直交変換基底蓄積部110がメモリ109を含む構成としてもよいし、直交変換基底蓄積部110がメモリ109を含まれる構成としてもよい。
また、本実施の形態では、直交変換基底は、符号化ストリーム内に含まれているとして説明したが、それに限らない。符号化ストリーム内には直交変換基底IDのみが含まれ、直交変換基底は符号化装置と復号装置との間で予め定められており、予め定められた直交変換基底を、直交変換基底蓄積部110に保持されているとしいても良い。
(実施の形態3)
図9は、本発明の実施の形態3における復号装置の構成を示すブロック図である。図10及び図11は、直交変換基底統計情報管理テーブルが保持する情報の一例である。図9において、図1と同じ構成要素については同じ符号を用い、説明を省略する。
図9に示す復号装置300は、復号部101、直交変換基底転送制御部102、直交変換基底記憶部103、直交変換基底記憶状態管理テーブル104、参照画像転送制御部105、参照画像記憶部106、予測画像生成部107、加算器108、メモリ109、直交変換基底蓄積部110、逆量子化部111、逆直交変換部112、前復号部301、直交変換基底統計情報管理テーブル302を備える。図9に示す復号装置300は、実施の形態1に係る復号装置100に対して、前復号部301及び直交変換基底統計情報管理テーブル302を備えている点で構成が異なる。
前復号部301は、復号部101よりも先行して符号化ストリームから、特定情報(直交変換基底ID)の一部を少なくとも復号する。具体的には、前復号部301は、復号部101より少なくとも1ビット以上先行して、画像圧縮技術の標準規格に準じて符号化された符号化ストリームの一部または全ての復号を行う。ここで、前復号部301は、少なくとも直交変換基底IDを出力する機能を有する。
なお、前復号部301は、復号装置300が別途備える例えばCABAC(Context−based Adaptive Binary Arithmetic Coding)などの算術符号を復号するCABAC復号部に構成されるとしてもよい。また、復号部101の前段に備えられてもよい。すなわち、前復号部301は、画像までは復号せず、復号部101より少なくとも1ビット以上先行して、符号化ストリームから直交変換基底IDを復号し、直交変換基底統計情報管理テーブル302に出力する構成であればばよい。
直交変換基底統計情報管理テーブル302は、本発明の統計情報管理部に相当し、前復号部301により復号され、かつ、復号部101によりこれから復号される特定情報(直交変換基底ID)によって特定される直交変換基底毎の利用状況を管理する。具体的には、直交変換基底統計情報管理テーブル302は、前復号部301が出力した直交変換基底IDを入力とし、復号部101がこれから(以後または今後)復号する符号化ストリームに含まれる直交変換基底ID毎の直交変換基底の利用回数を出力する機能を有する。
直交変換基底統計情報管理テーブル302は、例えば、図10に示すような情報を保持している。すなわち、直交変換基底統計情報管理テーブル302は、前復号部301が復号した符号化ストリームのヘッダ情報に含まれる直交変換基底IDを保持している。また、直交変換基底統計情報管理テーブル302は、今後のストリームでの参照回数として、直交変換基底IDにより特定される直交変換基底が復号部101の復号で参照されるまでの回数を保持している。また、直交変換基底統計情報管理テーブル302は、例えば、図11に示すような情報を保持していてもよい。すなわち、直交変換基底統計情報管理テーブル302は、前復号部301が復号した符号化ストリームのヘッダ情報に含まれる直交変換基底IDを保持していてもよい。また、直交変換基底統計情報管理テーブル302は、今後のストリーム中において何ブロック先で参照されるかを示す情報として、直交変換基底IDにより特定される直交変換基底が復号部101の復号で参照されるまでの回数を保持しているとしてもよい。
以上のようにして構成される復号装置300は、復号部101がこれから復号する直交変換基底IDの出現頻度を直交変換基底統計情報管理テーブル302で管理することで、これから復号部101が復号する直交変換基底IDの出現する確率を予め知ることができる。そのため、直交変換基底記憶部103にこれからの出現確率が高い直交変換基底を保持させ、これからの出現確率が低い直交変換基底を破棄させることができる。それにより、直交変換基底蓄積部110へのアクセス回数を削減することが可能となるだけでなく、直交変換基底記憶部103のメモリ帯域の低減が可能となる。
ここで、図10に示される今後のストリーム中において何ブロック先で参照されるかを示す情報と図11に示される今後のストリームでの参照回数を示す情報との効果の違いについて例を挙げて説明する。
図12A及び図12B並びに図13A及び図13Bは、直交変換基底統計情報管理テーブルに基づいて直交変換基底記憶部の直交変換基底が更新される様子を示す図である。ここで、図13A及び図13Bは、図12A及び図12Bと時間的に連続しており、図12A及び図12Bに比べて1マクロブロック後の復号が復号部101により行われるときの様子を示している。なお、前復号部301は、符号化ストリームに対して復号部101よりも例えば2マクロブロック分先行して復号するとする。また、直交変換基底記憶部103は、直交変換基底を2つしか保持できない構成であるとする。
前復号部301は、図12Aに示すように、符号化ストリームに対して復号部101よりも例えば3マクロブロック分先行して復号し、直交変換基底統計情報管理テーブル302に図12Bに示す情報を保持している。例えば、直交変換基底統計情報管理テーブル302は、前復号部301が符号化ストリームに対して今まで復号した直交変換基底ID(0、1、2)と、それらが今後のストリーム中において何ブロック先で参照されるかを示す情報(∞、2、1)とを保持している。ここで、図12Bにおいて、∞は、前復号部301が復号部101に先んじて復号した2マクロブロック先には直交変換基底IDが0のものはないことを示している。それに対して、直交変換基底IDが1のものは、復号部101がこれから(1ブロック先)復号する際に参照することを示している。同様に、直交変換基底IDが2のものは、復号部101が2ブロック先で復号する際に参照することを示している。
そのため、直交変換基底転送制御部102は、直交変換基底統計情報管理テーブル302と、直交変換基底記憶状態管理テーブル104とを参照し、直交変換基底記憶部103に保持されている直交変換基底ID(0、1)に対応する直交変換基底のうち、直交変換基底IDが0に対応する直交変換基底を記憶する領域を変更する。すなわち、直交変換基底転送制御部102は、直交変換基底記憶部103に保持されている直交変換基底ID=0に対応する直交変換基底を直交変換基底ID=2に対応する直交変換基底に変更する。
そして、図13A及び図13Bに示す場合も同様である。具体的には、直交変換基底転送制御部102は、直交変換基底統計情報管理テーブル302と、直交変換基底記憶状態管理テーブル104とを参照し、直交変換基底記憶部103に保持されている直交変換基底ID(2、1)に対応する直交変換基底のうち、どちらを変更すべきかを決定する。ここでは、直交変換基底統計情報管理テーブル302を参照することにより、直交変換基底IDが2に対応する直交変換基底を記憶する領域を変更するべきと判断できる。しかし、直交変換基底転送制御部102は、直交変換基底記憶状態管理テーブル104を参照することにより、直交変換基底記憶部103に直交変換基底ID=1に対応する直交変換基底が保持されているのを確認できる。そのため、直交変換基底転送制御部102は、直交変換基底記憶部103に対して変更の必要はないと判断し、直交変換基底記憶部103に対してなにもしない(転送しない)。
このようにして、これから復号部101が復号する直交変換基底IDが出現する確率を予め知ることにより、直交変換基底蓄積部110へのアクセス回数を削減することが可能となる。
次に、以上のように構成された復号装置300の復号処理動作について説明する。図14は、本発明の実施の形態3における復号装置の復号処理動作を示すフローチャートである。
図14に示すように、復号装置300において、まず、符号化ストリームを受けた復号部101は、符号化ストリームを構成するヘッダ情報を復号し(S301)、ヘッダ情報として少なくとも直交変換基底を出力する。そして、直交変換基底転送制御部102は、S301にて復号部101により復号された直交変換基底すべてを直交変換基底蓄積部110に書き込む(S302)。
次に、前復号部301は、復号部101に先行して、符号化ストリームの復号を行い(S304)、直交変換基底統計情報管理テーブル302を更新する(S305)。具体的には、前復号部301は、復号部101に先行して、符号化ストリームの復号を行い、復号部101でまだ復号していない符号化ストリーム内にある直交変換基底IDの出現頻度を直交変換基底統計情報管理テーブル302に書き込む。
次いで、復号部101は、符号化ストリームを構成する複数のピクチャ(または複数のピクチャを構成するマクロブロック)のヘッダ情報と量子化係数とを復号し、ヘッダ情報として少なくとも直交変換基底情報IDを出力する(S306)。
次に、直交変換基底転送制御部102は、S306で復号部101によって復号された直交変換基底IDの示す直交変換基底を直交変換基底記憶部103が保持しているかどうかを、直交変換基底記憶状態管理テーブル104を参照して調べる(S307)。
直交変換基底転送制御部102は、直交変換基底記憶部103が直交変換基底IDの示す直交変換基底を保持していない場合(S307のNの場合)、直交変換基底蓄積部110から直交変換基底IDが示す直交変換基底を読み出す。そして、直交変換基底記憶部103で例えばこれから最も参照回数が少ない直交変換基底が記憶されている領域に書き込む(S308)。ここで、直交変換基底転送制御部102は、直交変換基底統計情報管理テーブル302を参照し、復号部101が今後復号するうちで最も参照回数が少ない直交変換基底を特定している。
次いで、直交変換基底転送制御部102は、直交変換基底記憶状態管理テーブル104を更新する(S309)。具体的には、直交変換基底転送制御部102は、直交変換基底記憶状態管理テーブル104の読み出した直交変換基底の記憶状態を「保持している」に変更し、消去した直交変換基底の記憶状態を「保持していない」に変更する。
一方、直交変換基底転送制御部102は、直交変換基底記憶部103が直交変換基底IDの示す直交変換基底を保持している場合(S307のYの場合)、直交変換基底転送制御部102は直交変換基底を直交変換基底蓄積部110から読み出さず(転送せず)、S310へと進む。
なお、S310〜S315の処理は、S209〜S214と同様であるので説明を省略する。
以上のようにして、復号装置300は復号処理動作を行う。
以上、本実施の形態によれば、前復号部301は、復号部101よりも先行して符号化ストリームを復号し、これから復号部101がこれから復号する直交変換基底IDの出現頻度を直交変換基底統計情報管理テーブル302で管理する。それにより、復号部101がこれから復号する直交変換基底IDの出現する確率を予め知ることができるようになる。そして、直交変換基底記憶部103にこれからの出現確率が高い直交変換基底を保持させることにより直交変換基底蓄積部110へのアクセス回数を削減することが可能となる。
それにより、直交変換基底に関するメモリのメモリ帯域の低減及びメモリアクセスレイテンシの低減が可能となる。
なお、本実施の形態では、直交変換基底記憶部103が直交変換基底IDの示す直交変換基底を保持していない場合、直交変換基底統計情報管理テーブル302を参照することで、今後最も参照回数が少ない直交変換基底を特定する。そして、直交変換基底転送制御部102が直交変換基底蓄積部110から直交変換基底IDの示す直交変換基底を読み出し、直交変換基底記憶部103の今後最も参照回数が少ない直交変換基底が記憶されている領域に書き込むとしたが、それに限らない。例えば今後しばらく使われない、すなわち、今後所定の期間参照回数が少ない直交変換基底が記憶されている領域に書き込むとしてもよい。このように、直交変換基底蓄積部110へのアクセスを低減させることができ、かつ、直交変換基底記憶部103の容量も低減させることができる方法であればいずれを選択しても良い。
また、本実施の形態では、直交変換基底蓄積部110は、メモリ109とは別の記憶手段としたが、直交変換基底蓄積部110とメモリ109とは同じ記憶手段でもよい。つまり、直交変換基底蓄積部110がメモリ109を含む構成としてもよいし、直交変換基底蓄積部110がメモリ109を含まれる構成としてもよい。
また、本実施の形態では、直交変換基底は、符号化ストリーム内に含まれているとして説明したが、それに限らない。符号化ストリーム内には直交変換基底IDのみが含まれ、直交変換基底は符号化装置と復号装置との間で予め定められており、予め定められた直交変換基底を、直交変換基底蓄積部110に保持されているとしても良い。
また、上記では、復号装置300は、復号部101、直交変換基底転送制御部102、直交変換基底記憶部103、直交変換基底記憶状態管理テーブル104、参照画像転送制御部105、参照画像記憶部106、予測画像生成部107、加算器108、メモリ109、直交変換基底蓄積部110、逆量子化部111、逆直交変換部112、前復号部301、直交変換基底統計情報管理テーブル302を備えるとしたが、それに限られない。図15に示すように、復号装置300の最小構成として、復号装置部350を備えていればよい。すなわち、復号部101、直交変換基底転送制御部102、直交変換基底記憶部103、直交変換基底蓄積部110及び前復号部301を有する復号装置部350を備えていればよい。ここで、図15は、本発明の実施の形態3における復号装置の最小構成を示すブロック図である。
具体的には、この復号装置部350は、符号化ストリームから、逆直交変換に利用する直交変換基底を特定する特定情報を復号する復号部101と、復号部101よりも先行して符号化ストリームから、特定情報(直交変換基底ID)の一部を少なくとも復号する前復号部301と、復号された符号化ストリームの逆直交変換に利用される複数の直交変換基底を保持するための直交変換基底蓄積部110と、直交変換基底蓄積部110に保持されている複数の直交変換基底のうち、逆直交変換を行うときに必要な直交変換基底を保持するための直交変換基底記憶部103と、直交変換基底蓄積部110から直交変換基底記憶部103に、特定情報(直交変換基底ID)により特定された直交変換基底を転送する直交変換基底転送制御部102と、を備えていればよい。
図15に示す復号装置は、最小構成として復号装置部350を少なくとも備えることにより、前復号部301により復号された特定情報(直交変換基底ID)により先読み解析を行うことで、逆直交変換に利用される複数の直交変換基底の一部が直交変換基底記憶部103に保持される。それにより、直交変換基底記憶部103に保持されている場合には、直交変換基底記憶部103に保持されている直交変換基底を用いることにより、直交変換基底蓄積部110へ直接アクセスする回数を低減することができるという効果を奏する。
(実施の形態4)
図16は、本発明の実施の形態4における復号装置の構成を示すブロック図である。図16において、図1と同じ構成要素については同じ符号を用い、説明を省略する。
図16に示す復号装置400は、復号部101、直交変換基底転送制御部102、直交変換基底記憶部103、参照画像転送制御部105、参照画像記憶部106、予測画像生成部107、加算器108、メモリ109、直交変換基底蓄積部110、逆量子化部111、逆直交変換部112、可逆符号化部401、可逆復号部402を備える。ここで、図16に示す復号装置400は、実施の形態1に係る復号装置100に対して、可逆符号化部401及び可逆復号部402を備え、直交変換基底記憶状態管理テーブル104を備えていない点で構成が異なる。
可逆符号化部401は、符号化ストリームに含まれる逆直交変換に利用される複数の直交変換基底を可逆符号化する。具体的には、可逆符号化部401は、復号部101が復号した直交変換基底を可逆符号化(可逆圧縮)し直交変換基底蓄積部110に書き込む機能を有する。
可逆復号部402は、可逆符号化部401により可逆符号化された複数の直交変換基底のうち特定情報(直交変換基底ID)により特定された直交変換基底を可逆復号し、直交変換基底転送制御部102を介して、可逆復号した直交変換基底を直交変換基底蓄積部110に書き込む。具体的には、可逆復号部402は、直交変換基底蓄積部110に格納された直交変換基底を読み出して、可逆復号し、直交変換基底転送制御部102を介して、直交変換基底記憶部103に書き込む機能を有する。なお、可逆復号部402は、直交変換基底転送制御部102を介さずに、直交変換基底記憶部103に書き込むとしてもよい。
次に、以上のように構成された復号装置400の復号処理動作について説明する。図17は、本発明の実施の形態4における復号装置の復号処理動作を示すフローチャートである。
図17に示すように、復号装置400において、まず、符号化ストリームを受けた復号部101は、符号化ストリームを構成するヘッダ情報を復号し(S401)、ヘッダ情報として少なくとも直交変換基底を出力する。次いで、可逆符号化部401は、復号部101が復号した直交変換基底を可逆符号化(可逆圧縮)する(S402)。次いで、直交変換基底転送制御部102は、可逆符号化部401により可逆符号化された直交変換基底を直交変換基底蓄積部110に書き込む(S403)。
次に、復号部101は、符号化ストリームを構成する複数のピクチャ(または複数のピクチャを構成するマクロブロック)のヘッダ情報と量子化係数とを復号し、ヘッダ情報として少なくとも直交変換基底情報ID、動きベクトル情報及び量子化係数を出力する(S405)。
なお、S408〜S413の処理は、S108〜S113と同様であるので説明を省略する。
以上のようにして、復号装置400は復号処理動作を行う。
以上、本実施の形態によれば、可逆符号化部401により直交変換基底を圧縮することで、直交変換基底蓄積部110へ格納する直交変換基底のデータサイズを小さくすることができる。これにより、直交変換基底に関するメモリのメモリ容量の削減が可能となる。
なお、図16に示す復号装置400が、上述した直交変換基底記憶状態管理テーブル104を少なくとも備え、直交変換基底参照履歴管理テーブル201または直交変換基底統計情報管理テーブルを備えるとしてもよい。その場合には、直交変換基底に関するメモリのメモリ容量の削減だけでなく、上述したように、メモリ帯域の低減及びメモリアクセスレイテンシの低減も可能となり、さらに好ましい。
また、本実施の形態では、復号部101で一度直交変換基底を復号し、可逆符号化部401で符号化しなおして直交変換基底蓄積部110に格納し、可逆復号部402で復号する場合を説明したが、それに限らない。例えば、復号部101で符号化ストリーム内の直交変換基底を復号せずに、符号化ストリーム内の直交変換基底部分を直交変換基底蓄積部110に格納するとし、可逆復号部402で復号するとしても良い。
また、可逆符号化部401で利用する符号化アルゴリズムは、可逆で、かつ、入力サイズより出力サイズが小さくなるような符号化方法であれば如何なるものでもよい。
また、本実施の形態では、直交変換基底蓄積部110は、メモリ109とは別の記憶手段としたが、直交変換基底蓄積部110とメモリ109とは同じ記憶手段でもよい。つまり、直交変換基底蓄積部110がメモリ109を含む構成としてもよいし、直交変換基底蓄積部110がメモリ109を含まれる構成としてもよい。
また、本実施の形態では、直交変換基底は、符号化ストリーム内に含まれているとして説明したが、それに限らない。符号化ストリーム内には直交変換基底IDのみが含まれ、直交変換基底は符号化装置と復号装置との間で予め定められており、予め定められた直交変換基底を、直交変換基底蓄積部110に保持されているとしても良い。
(実施の形態5)
図18は、本発明の実施の形態5における符号化装置の構成を示すブロック図である。
図18に示す符号化装置500は、逆直交変換に利用する直交変換基底(直交変換基底行列)を特定する特定情報を含む符号化ストリームを生成する画像符号化装置である。この符号化装置500は、符号化部501、直交変換基底転送制御部502、直交変換基底記憶部503、直交変換基底記憶状態管理テーブル504、参照画像転送制御部505、参照画像記憶部506、予測画像生成部507、加算器508、メモリ509、直交変換基底蓄積部510、逆量子化部511、逆直交変換部512、減算器513、直交変換部514、量子化部515、直交変換基底生成部516を備える。
符号化部501は、少なくとも量子化部515が出力した量子化係数と直交変換基底ID、及び、直交変換基底を入力とし、それらに対し画像圧縮技術の標準規格に準じて符号化を行い、符号化ストリームを出力する機能を有する。
直交変換基底転送制御部502は、本発明の転送制御部に相当し、直交変換基底記憶部503が特定情報(直交変換基底ID)により特定された直交変換基底を保持していない場合のみ、直交変換基底蓄積部510から直交変換基底記憶部503に、特定情報(直交変換基底ID)により特定された直交変換基底を転送する。具体的には、直交変換基底転送制御部502は、直交変換基底生成部516で生成され、直交変換に用いる直交変換基底を、直交変換基底蓄積部510に書き込む機能を有する。また、予測画像生成部507により生成された予測画像の直交変換にどの直交変換基底を用いるかを示す特定情報(直交変換基底ID)を元に、直交変換基底記憶状態管理テーブル504の情報を参照する機能を有する。直交変換基底転送制御部502は、直交変換基底記憶状態管理テーブル504の情報により、直交変換基底IDの示す直交変換基底が直交変換基底記憶部503に保持されているかを確認することができる。
例えば、直交変換基底転送制御部502は、直交変換基底IDの示す直交変換基底が直交変換基底記憶部503に保持されていないことを確認した場合、直交変換基底蓄積部510から直交変換基底IDの示す直交変換基底を読み出し、直交変換基底記憶部503に書き込む(転送する)。一方、直交変換基底転送制御部502は、直交変換基底IDの示す直交変換基底が直交変換基底記憶部503に保持されていることを確認した場合は、直交変換基底を直交変換基底蓄積部510から読み出さない(転送しない)。
なお、直交変換基底転送制御部502は、直交変換基底を直交変換基底蓄積部510に書き込む命令のみを予測画像生成部507に行い、予測画像生成部507が直交変換基底を直交変換基底蓄積部510に書き込むとしてもよい。同様に、直交変換基底転送制御部502は、直交変換基底蓄積部510から直交変換基底IDが示す直交変換基底を読み出す命令のみを直交変換基底記憶部503に行い、直交変換基底記憶部503が直交変換基底蓄積部510から直交変換基底IDの示す直交変換基底を読み出し、保持するとしてもよい。
直交変換基底記憶部503は、本発明の記憶部に相当し、直交変換基底蓄積部510に保持されている複数の直交変換基底のうち、直交変換を行うときに必要な直交変換基底を保持するためのものである。具体的には、直交変換基底記憶部503は、直交変換基底蓄積部510から転送された直交変換基底を少なくとも1種類以上保持する機能と、直交変換基底IDが示す直交変換基底を直交変換部514及び逆直交変換部512に設定する機能とを有する。なお、直交変換基底記憶部503は、直交変換基底IDが示す直交変換基底を保持し、直交変換基底転送制御部502が直交変換基底IDの示す直交変換基底を直交変換部514、及び、逆直交変換部512に設定するとしてもよい。
直交変換基底記憶状態管理テーブル504は、本発明の記憶状態管理部に相当し、特定情報(直交変換基底ID)によって特定された直交変換基底を、直交変換基底記憶部503が保持しているかどうかを示す情報を管理する。具体的には、直交変換基底記憶状態管理テーブル504は、直交変換基底IDを入力とし、直交変換基底記憶部503が直交変換基底IDの示す直交変換基底を保持しているか否かの情報を出力する機能を有する。直交変換基底記憶状態管理テーブル504は、例えば、上述した図3に示すように、直交変換基底IDの示す直交変換基底が直交変換基底記憶部503に保持されているか否かを示す記憶状態をテーブル(情報)として保持している。
参照画像転送制御部505は、少なくとも符号化対象ブロックの位置情報に基づき、予測画像生成部507が予測画像生成に必要な参照画素をメモリ509から読み出し、参照画像記憶部506に書き込む機能を有する。
参照画像記憶部506は、メモリ509から転送された参照画素を保持する機能を有する。
予測画像生成部507は、符号化画像、及び、参照画像を入力として、必要に応じて参照画像記憶部506が保持している予測画像生成に必要な参照画素を用いて面間予測、面内予測またはその他の予測を実施して予測画像を生成する。そして、予測画像生成部507は、生成した予測画像を減算器513、及び、加算器508へ出力する機能と、予測モードなどの符号化情報を符号化部501へ出力する機能とを有する。また、予測画像生成部507は、符号化情報と、必要に応じて、符号化画像、参照画像及び予測画像とを直交変換基底生成部516へ出力する機能を有する。
加算器508は、逆直交変換部512が出力した予測誤差信号と、予測画像生成部507が出力した予測画像とを加算して復号画像として出力する機能と、その復号画像をメモリ509へ転送(出力)する機能とを有する。
メモリ509は、予測画像生成部507が参照する参照画面を保持する機能を有する。
直交変換基底蓄積部510は、本発明の蓄積部に相当し、直交変換部514の直交変換処理、及び、逆直交変換部512の逆直交変換処理に利用される直交変換基底を保持する機能を有する。
逆量子化部511は、量子化部515が出力した量子化係数を逆量子化し、直交変換係数を出力する機能を有する。
逆直交変換部512は、直交変換基底記憶部503により出力された直交変換基底を用いて逆量子化部511が出力した直交変換係数を逆直交変換し、予測誤差信号を出力する機能を有する。
減算器513は、符号化対象画像から予測画像生成部507が出力した予測画像を減算して、予測誤差信号を直交変換部514へ出力する機能を有する。
直交変換部514は、直交変換基底記憶部503に保持され、かつ、特定情報(直交変換基底ID)により特定された直交変換基底を利用して直交変換を行う。具体的には、直交変換部514は、直交変換基底記憶部503が出力した直交変換基底を用いて減算器513により出力された予測誤差信号を直交変換し、直交変換した直交変換係数を量子化部515へ出力する機能を有する。
量子化部515は、直交変換部514により出力された直交変換係数に対し量子化を行い、量子化係数を符号化部501、及び、逆量子化部511へ出力する機能を有する。
直交変換基底生成部516は、本発明の生成部に相当し、直交変換基底、及び、直交変換基底を特定する特定情報(直交変換基底ID)を生成する。具体的には、直交変換基底生成部516は、符号化画像、及び、参照画像に加え必要に応じて予測画像を入力として、直交変換基底と直交変換基底IDとを生成し、符号化部501、及び、直交変換基底転送制御部502に出力する機能を有する。
ここで、直交変換部514が直交変換基底IDを決定する方法について一例を挙げて説明する。図19は、直交変換基底記憶状態管理テーブルが保持する情報の一例である。図20は、直交変換部が、直交変換基底IDを決定する方法を説明するための図である。
なお、ここで、図19に示すように、直交変換基底記憶状態管理テーブルは、直交変換基底ID(0〜100)と、それらに対応する直交変換基底の直交変換基底記憶部503における記憶状態とを保持しているとする。また、直交変換基底記憶部503には、直交変換基底ID70〜79に対応する直交変換基底が記憶されているとする。さらに、直交変換基底記憶部503は20個の直交変換基底しか保持することができないとする。すなわち、直交変換基底記憶部503は、図20(a)に示すように直交変換基底ID70〜79に対応する直交変換基底を10個保持しており、あと10個の直交変換基底を保持可能な領域がある。
この場合において、直交変換部514は、直交変換に利用する直交変換基底の種類を示す直交変換基底IDを次のように決定する。
まず、直交変換部514は、図20(b)に示すように、直交変換基底転送制御部502に、直交変換基底ID0〜9に対応する直交変換基底を直交変換基底記憶部503に書き込みさせて、直交変換に利用する直交変換基底IDか否かを確認する。
次に、直交変換部514は、同様に、図20(c)に示すように、直交変換基底転送制御部502に、直交変換基底ID10〜19に対応する直交変換基底を直交変換基底記憶部503に書き込みさせて、直交変換に利用する直交変換基底IDか否かを確認する。
同様に、直交変換部514は、直交変換基底ID0〜69及び80〜100に対応する直交変換基底を直交変換基底記憶部503に書き込みさせて、直交変換に利用する直交変換基底IDか否かを確認する。
一方、直交変換基底ID70〜79に対応する直交変換基底は、予め直交変換基底記憶部503に保持されている。そのため、直交変換基底転送制御部502は直交変換基底ID 70〜79に対応する直交変換基底を転送しない。このようにして、直交変換基底に関するメモリ帯域の低減及びメモリアクセスレイテンシの低減が可能となる。
なお、直交変換部514が直交変換基底IDを決定する方法として上記で説明した方法は、一例であり、その他の方法でもよいのは言うまでもない。また、逆直交変換部512についても直交変換部514と同様であるため説明を省略する。
以上のようにして、符号化装置500は構成される。
次に、以上のよう構成された符号化装置500の符号化処理動作について説明する。図21は、本発明の実施の形態5における符号化装置の符号化処理動作を示すフローチャートである。
図21に示すように、まず、符号化画像を受けた符号化装置500は、直交変換基底生成部516に符号化画像、参照画像、及び、必要に応じて予測画像を入力として、以後の符号化に用いる直交変換基底を生成させて(S501)、符号化部501、及び、直交変換基底転送制御部502に出力させる。
次に、直交変換基底転送制御部502は、S501にて直交変換基底生成部516により生成されたすべての直交変換基底を直交変換基底蓄積部510に書き込む(S502)。
次に、予測画像生成部507は、予測画像を生成する(S504)。具体的には、参照画像転送制御部505は、必要に応じて、予測画像生成に用いる参照画像に必要な参照画素をメモリ509から読み出し、参照画像記憶部506に書き込む。そして、予測画像生成部507は、符号化画像、及び、参照画像を入力として符号化画像と相関の高い予測画像、及び、その符号化情報を生成し、生成した予測画像を減算器513、及び、加算器508に出力する。また予測画像生成のための符号化情報を符号化部501に出力する。また、予測画像生成部507は、直交変換基底生成部516へ符号化情報、並びに、必要に応じて符号化画像、参照画像、または/及び、予測画像を出力する(S504)。
次に、減算器513は、減算処理を行う(S505)。具体的には、減算器513は、符号化画像と、予測画像生成部507が出力した予測画像とを減算し、直交変換部514へ出力する。
次に、直交変換基底生成部516は、直交変換基底IDを決定する(S506)。具体的には、直交変換基底生成部516は、予測画像生成部507が出力した符号化情報、並びに、必要に応じて、入力画像、参照画像、及び、予測画像を入力として直交変換に利用する直交変換基底を決定(生成)し、その直交変換基底IDを符号化部501、及び、直交変換基底転送制御部502に出力する。
次に、直交変換基底転送制御部502は、S506にて直交変換基底記憶部503が、特定された直交変換基底IDの示す直交変換基底を保持しているかどうかを、直交変換基底記憶状態管理テーブル504を参照して調べる(S507)。
次に、直交変換基底転送制御部502は、S507にて、直交変換基底記憶部503が直交変換基底IDの示す直交変換基底を保持していない場合(S507のNの場合)、直交変換基底蓄積部510から直交変換基底IDの示す直交変換基底を読み出す。そして、直交変換基底記憶部503で例えば最も古く直交変換基底蓄積部510から読み出された直交変換基底が記憶されている領域に書き込む(S508)。続いて、直交変換基底転送制御部502は、直交変換基底記憶状態管理テーブル504を更新する(S509)。具体的には、直交変換基底転送制御部502は、直交変換基底記憶状態管理テーブル504の、読み出した直交変換基底の記憶状態を「保持している」に変更し、消去した直交変換基底の記憶状態を「保持していない」に変更する(S509)。
一方、直交変換基底転送制御部502は、S507にて、直交変換基底記憶部503が直交変換基底IDの示す直交変換基底を保持している場合(S507のYの場合)、直交変換基底を直交変換基底蓄積部510から読み出さず(転送せず)、S510へと進む。
次に、直交変換部514は、直交変換基底記憶部503が保持している直交変換基底を読み出して設定する(S510)。そして、減算器513が出力した予測誤差信号を直交変換し(S511)、量子化部515へ直交変換係数を出力する。
次に、量子化部515は、直交変換部514により出力された直交変換係数を量子化し、量子化係数を符号化部501及び逆量子化部511に出力する(S512)。
次に、符号化部501は、符号化処理を行う(S514)。具体的には、符号化部501は、量子化部515により出力された量子化係数と、直交変換基底生成部516により出力された直交変換基底IDとが入力され、それらに対し画像圧縮技術の標準規格に準じて符号化を行い、生成した符号化ストリームを出力する。
次に、逆量子化部511は、量子化部515により出力された量子化係数を逆量子化し、直交変換係数を逆直交変換部512に出力する(S515)。
次に、逆直交変換部512は、直交変換基底記憶部503が保持している直交変換基底を読み出し、逆量子化部511が出力した直交変換係数を逆直交変換し、予測誤差信号を加算器508に出力する(S516)。
次に、加算器508は、S504にて予測画像生成部507により出力された予測画像と、S516にて逆直交変換部512により出力された予測誤差信号とを加算し、メモリ509に出力する(S517)。
次に、符号化装置500は、符号化画像を全て符号化したかを判定し(S518)、そうであるなら(S518のYの場合)、符号化を完了する。反対に、まだ、符号化していない符号化画像がある場合は、S504からS518の処理を繰り返す(S518)。
以上のようにして、符号化装置500は符号化処理動作を行う。
なお、本実施の形態では符号化ストリームのGOPまたはシーケンスにおける符号化画像を例に挙げて説明したが、それに限らない。すなわち、符号化画像を符号化画像の符号化対象ブロックとし、符号化ストリームのGOPまたはシーケンスを符号化画像としてもよい。
以上、本実施の形態によれば、直交変換基底記憶状態管理テーブル504を参照した結果、直交変換基底記憶部503に直交変換基底IDの示す直交変換基底が存在する場合は、S507にて直交変換基底を直交変換基底蓄積部510から読み出さない(転送しない)。そのため、直交変換基底蓄積部510へのアクセス回数を減らすことが可能となる。これにより、直交変換基底に関するメモリ帯域の低減及びメモリアクセスレイテンシの低減が可能となる。
なお、本実施の形態では、直交変換基底記憶部503が直交変換基底IDの示す直交変換基底を保持していない場合、直交変換基底転送制御部502が直交変換基底蓄積部510から直交変換基底IDの示す直交変換基底を読み出す(転送する)。そして、直交変換基底記憶部503の最も古くメモリから読み出された直交変換基底が記憶されている領域に書き込む場合を説明したが、それに限らない。例えば最も新しくメモリから読み出された直交変換基底が記憶されている領域に書き込むとしても良いし、直交変換基底が格納されている領域をランダムに選択して書き込むとしても良い。直交変換基底記憶部503へのアクセスを低減させることができ、かつ、直交変換基底記憶部103の容量も低減させることができる方法であればいずれを選択しても良い。
また、本実施の形態では、直交変換基底蓄積部510は、メモリ509とは別の記憶手段としたが、直交変換基底蓄積部510とメモリ509とは同じ記憶手段でもよい。つまり、直交変換基底蓄積部510がメモリ509を含む構成としてもよいし、直交変換基底蓄積部510がメモリ509に含まれる構成としてもよい。
また、本実施の形態では、直交変換基底は、直交変換基底生成部516にて生成されると記載したが、それに限らない。直交変換基底は、符号化装置500とその復号装置との間で予め定められており、それぞれ保持しているとしても良い。
また、本実施の形態では符号化装置500は、符号化部501、直交変換基底転送制御部502、直交変換基底記憶部503、直交変換基底記憶状態管理テーブル504、参照画像転送制御部505、参照画像記憶部506、予測画像生成部507、加算器508、メモリ509、直交変換基底蓄積部510、逆量子化部511、逆直交変換部512、減算器513、直交変換部514、量子化部515、直交変換基底生成部516を備えるとしたが、それに限られない。符号化装置500の最小構成として、直交変換基底転送制御部502、直交変換基底記憶部503、直交変換基底蓄積部510、直交変換部514及び直交変換基底生成部516を備えていればよい。
さらに具体的には、符号化装置500は、逆直交変換に利用する直交変換基底を特定する特定情報を含む符号化ストリームを生成する画像符号化装置であって、直交変換基底、及び、前記直交変換基底を特定する特定情報(直交変換基底ID)を生成する直交変換基底生成部516と、直交変換基底生成部516により生成された複数の直交変換基底を保持するための直交変換基底蓄積部510と、直交変換基底蓄積部510に保持されている複数の直交変換基底のうち、直交変換を行うときに必要な直交変換基底を保持するための直交変換基底記憶部503と、直交変換基底記憶部503に保持され、かつ、特定情報(直交変換基底ID)により特定された直交変換基底を利用して直交変換を行う直交変換部514と、直交変換基底記憶部503が特定情報により特定された直交変換基底を保持していない場合のみ、直交変換基底蓄積部510から直交変換基底記憶部503に、特定情報(直交変換基底ID)により特定された直交変換基底を転送する直交変換基底転送制御部502とを備えていればよい。
この最小構成により、直交変換基底記憶部503に直交変換基底IDの示す直交変換基底が存在する場合には、直交変換基底を直交変換基底蓄積部510から読み出さないことができる。そのため、直交変換基底蓄積部510へのアクセス回数を減らすことが可能となる。これにより、直交変換基底に関するメモリ帯域の低減及びメモリアクセスレイテンシの低減が可能となる。
(実施の形態6)
図22は、本発明の実施の形態6における符号化装置の構成を示すブロック図である。図22において、図18と同じ構成要素については同じ符号を用い、説明を省略する。
図22に示す符号化装置600は、符号化部501、直交変換基底転送制御部502、直交変換基底記憶部503、直交変換基底記憶状態管理テーブル504、参照画像転送制御部505、参照画像記憶部506、予測画像生成部507、加算器508、メモリ509、直交変換基底蓄積部510、逆量子化部511、逆直交変換部512、減算器513、直交変換部514、量子化部515、直交変換基底生成部516及び直交変換基底参照履歴管理テーブル601を備える。ここで、図22に示す符号化装置600は、実施の形態5に係る符号化装置500に対して、直交変換基底参照履歴管理テーブル601を備える点で構成が異なる。
直交変換基底参照履歴管理テーブル601は、本発明の参照管理部に相当し、直交変換基底毎の、直交変換の開始から参照された回数を示す利用履歴情報を管理する。具体的には、直交変換基底IDを入力とし、直交変換基底記憶部503へ直交変換基底IDの示す直交変換基底が符号化開始から参照された回数を出力する機能を有する。なお、直交変換基底参照履歴管理テーブル601が保持する情報は、図7A及び図7Bで示した内容と同様であるため、説明を省略する。
次に、以上のように構成された符号化装置600の符号化処理動作について説明する。図23は、本発明の実施の形態6における符号化装置の符号化処理動作を示すフローチャートである。
図23に示すように、まず、符号化画像を受けた符号化装置600は、直交変換基底生成部516に符号化画像、及び、参照画像、必要に応じて予測画像を入力として、以後の符号化に用いる直交変換基底を生成させて(S601)、符号化部501、及び、直交変換基底転送制御部502に出力させる。
なお、S602からS607の処理は、S502〜S507と同様のため説明を省略する。
次に、S607において、直交変換基底転送制御部502は、直交変換基底記憶部503が直交変換基底IDの示す直交変換基底を保持していない場合(S607のNの場合)、直交変換基底蓄積部510から直交変換基底IDの示す直交変換基底を読み出す。そして、直交変換基底記憶部503で例えばこれまでに最も参照回数が少ない直交変換基底が記憶されている領域に書き込む(S608)。ここで、直交変換基底転送制御部502は、直交変換基底参照履歴管理テーブル601を参照し、最も参照回数が少ない直交変換基底を特定している。
次いで、直交変換基底転送制御部502は、直交変換基底参照履歴管理テーブル601を更新する(S609)。具体的には、直交変換基底転送制御部502は、直交変換基底参照履歴管理テーブル601において参照した直交変換基底の参照回数を増やす。
次いで、直交変換基底転送制御部502は、直交変換基底記憶状態管理テーブル504を更新する(S610)。具体的には、直交変換基底転送制御部502は、直交変換基底記憶状態管理テーブル504において、読み出した直交変換基底の記憶状態を「保持している」に変更し、消去した直交変換基底の記憶状態を「保持していない」に変更する。
一方、直交変換基底転送制御部502は、直交変換基底記憶部503が直交変換基底IDの示す直交変換基底を保持している場合(S607のYの場合)、直交変換基底を直交変換基底蓄積部510から読み出さず(転送せず)、S611へと進む。
直交変換部514は、直交変換基底記憶部503が保持している直交変換基底を読み出し(S611)、減算器513が出力した予測誤差信号を直交変換し(S612)、直交変換係数を出力する。
なお、S613〜S619の処理は、S510〜S519と同様のため説明を省略する。
以上のようにして、符号化装置600は符号化処理動作を行う。
以上、本実施の形態によれば、直交変換基底参照履歴管理テーブル601を参照することで、最も参照回数が少ない直交変換基底を特定する。そして、直交変換基底転送制御部502が直交変換基底記憶部503に書き込む際に、これまでに最も参照回数が少ない直交変換基底が記憶されている領域に書き込む。それにより、参照される可能性の低い直交変換基底は直交変換基底記憶部503に保持されず、頻繁に参照される可能性の高い直交変換基底を直交変換基底記憶部503に保持されることが可能となる。その結果、直交変換基底蓄積部510へのアクセス回数を減らすことが可能となる。このようにして、直交変換基底に関するメモリ帯域の低減及びメモリアクセスレイテンシの低減が可能となる。
なお、本実施の形態では、直交変換基底記憶部503が直交変換基底IDの示す直交変換基底を保持していない場合、直交変換基底参照履歴管理テーブル601を参照することで、最も参照回数が少ない直交変換基底を特定する。そして、直交変換基底転送制御部502が直交変換基底蓄積部510から直交変換基底IDの示す直交変換基底を読み出し、直交変換基底記憶部503のこれまでに最も参照回数が少ない直交変換基底が記憶されている領域に書き込む場合を説明したが、それに限らない。例えば最近最も使われていない直交変換基底が記憶されている領域に書き込むとしてもよいし、最近最も使われている直交変換基底が記憶されている領域に書き込むとしてもよいし、これまでに最も参照回数が多い直交変換基底が記憶されている領域に書き込むとしてもよい。直交変換基底記憶部503へのアクセスを低減させることができ、かつ、直交変換基底記憶部103の容量も低減させることができる方法であればいずれを選択しても良い。
また、本実施の形態では、直交変換基底蓄積部510は、メモリ509とは別の記憶手段としたが、直交変換基底蓄積部510とメモリ509とは同じ記憶手段でもよい。つまり、直交変換基底蓄積部510がメモリ509を含む構成としてもよいし、直交変換基底蓄積部510がメモリ509に含まれる構成としてもよい。
また、本実施の形態では、直交変換基底は、直交変換基底生成部516にて生成されると記載したが、それに限らない。直交変換基底は、符号化装置600とその復号装置との間で予め定められており、それぞれ保持しているとしても良い。
(実施の形態7)
図24は、本発明の実施の形態7における符号化装置の構成を示すブロック図である。図24において、図18と同じ構成要素については同じ符号を用い、説明を省略する。
図24に示す符号化装置700は、符号化部501、直交変換基底転送制御部502、直交変換基底記憶部503、直交変換基底記憶状態管理テーブル504、参照画像転送制御部505、参照画像記憶部506、予測画像生成部507、加算器508、メモリ509、直交変換基底蓄積部510、逆量子化部511、逆直交変換部512、減算器513、直交変換部514、量子化部515、直交変換基底生成部516、符号化部501、可逆符号化部701及び可逆復号部702を備える。ここで、図24に示す符号化装置700は、実施の形態5に係る符号化装置500に対して、直交変換基底記憶状態管理テーブル504を備えず、可逆符号化部701及び可逆復号部702を備える点で構成が異なる。
可逆符号化部701は、逆直交変換に利用される複数の直交変換基底を可逆符号化する。具体的には、可逆符号化部701は、直交変換基底生成部516が生成した直交変換基底を可逆符号化し直交変換基底蓄積部510に書き込む機能を有する。
可逆復号部702は、可逆符号化部701により可逆符号化された複数の直交変換基底のうち特定情報により特定された直交変換基底を可逆復号し、直交変換基底転送制御部502を介して、可逆復号した直交変換基底を直交変換基底蓄積部510に書き込む。具体的には、可逆復号部702は、直交変換基底蓄積部510に格納された直交変換基底を読み出して、可逆復号し、直交変換基底記憶部503に書き込む機能を有する。なお、可逆復号部702は、直交変換基底転送制御部502を介さずに、直交変換基底記憶部503に書き込むとしてもよい。
次に、以上のように構成された符号化装置700の符号化処理動作について説明する。図25は、本発明の実施の形態7における符号化装置の符号化処理動作を示すフローチャートである。
図25に示すように、まず、符号化対象画像を受けた直交変換基底生成部516は、以後の符号化に用いる直交変換基底を生成して(S701)、出力する。
次に、可逆符号化部701は、直交変換基底生成部516が生成した直交変換基底を可逆符号化(可逆圧縮)する(S702)。
次に、直交変換基底転送制御部502は、S702にて可逆符号化部701により可逆符号化された直交変換基底を直交変換基底蓄積部510に書き込む(S703)。
なお、S705からS707の処理は、S503〜S506と同様のため説明を省略する。
次に、S707において、直交変換基底転送制御部502は、直交変換基底蓄積部510から直交変換基底IDの示す可逆符号化された直交変換基底を読み出す(S708)。
次に、可逆復号部702は、可逆符号化された直交変換基底を可逆復号し(S709)、直交変換基底記憶部503に書き込む。
次に、直交変換部514は、直交変換基底記憶部503が保持している直交変換基底を読み出して設定する(S710)。そして、減算器513が出力した予測誤差信号を直交変換し(S711)、直交変換係数を出力する。
なお、S712からS718の処理は、S511〜S518と同様のため説明を省略する。
以上のようにして、符号化装置700は符号化処理動作を行う。
以上、本実施の形態によれば、可逆符号化部701により直交変換基底を圧縮することで、直交変換基底蓄積部510へ格納する直交変換基底のデータサイズを小さくすることができる。これにより、直交変換基底に関するメモリ容量の低減が可能となる。
なお、図24に示す符号化装置700が、上述した直交変換基底記憶状態管理テーブル504を少なくとも備え、直交変換基底参照履歴管理テーブル601を備えるとしてもよい。その場合には、直交変換基底に関するメモリ容量の削減だけでなく、メモリ帯域の低減及びメモリアクセスレイテンシの低減も可能となり、さらに好ましい。
また、本実施の形態では、直交変換基底生成部516にて直交変換基底を生成し、可逆符号化部701で符号化して直交変換基底蓄積部510に格納し、可逆復号部702で復号する場合を説明としたが、それに限らない。例えば、符号化部501で符号化ストリーム内へ符号化した直交変換基底部分を直交変換基底蓄積部510に格納し、可逆復号部702で復号するとしても良い。
また、本実施の形態では、直交変換基底蓄積部510は、メモリ509とは別の記憶手段としたが、直交変換基底蓄積部510とメモリ509とは同じ記憶手段でもよい。つまり、直交変換基底蓄積部510がメモリ509を含む構成としてもよいし、直交変換基底蓄積部510がメモリ509に含まれる構成としてもよい。
また、本実施の形態では、直交変換基底は直交変換基底生成部516にて生成されると記載したが、それに限らない。直交変換基底は、符号化装置600とその復号装置との間で予め定められており、それぞれ保持しているとしても良い。
(実施の形態8)
上記各実施の形態で説明した動画像符号化装置、動画像復号装置、動画像符号化方法または動画像復号方法は、アプリケーションとして応用できる。
例えば、上記各実施の形態で示した画像符号化方法または画像復号方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。なお、記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等のいずれでもよく、プログラムを記録できるものであればよい。
以下、上記各実施の形態で示した画像符号化方法や画像復号方法等の応用例とそれを用いたシステムを説明する。
図26は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。図26に示すコンテンツ供給システムex100において、通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
コンテンツ供給システムex100では、インターネットex101にインターネットサービスプロバイダex102、電話網ex104及び基地局ex107〜ex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
なお、コンテンツ供給システムex100は、図26のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、コンテンツ供給システムex100は、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
例えば、カメラex113は、デジタルビデオカメラ等の動画撮影が可能な機器である。また、カメラex116は、デジタルカメラ等の静止画撮影、動画撮影が可能な機器である。
携帯電話ex114は、GSM(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband−Code Division Multiple Access)方式、若しくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)を用いる携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。
具体的には、ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号処理して再生する。
なお、撮影したデータの符号化処理は、カメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、これらが互いに分担して行ってもよい。同様に、配信されたデータの復号処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。
また、カメラex113に限らず、カメラex116で撮影した静止画像データ及び/または画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
これら符号化・復号処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。ここで、LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、画像符号化・復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号処理を行うとしてもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは、携帯電話ex114が有するLSIex500で符号化処理されたデータである。
また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。
このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
なお、上記各実施の形態の少なくとも画像符号化装置及び画像復号装置のいずれかが組み込まれる例としてはコンテンツ供給システムex100の例に限られない。図27に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも画像符号化装置または画像復号装置のいずれかを組み込むとしてもよい。以下、それを用いて説明する。図27は、デジタル放送用システムex200の全体構成を示す図である。
具体的には、放送局ex201では、映像情報のビットストリームが電波を介して通信または放送衛星ex202に伝送される。このビットストリームは上記各実施の形態で説明した画像符号化方法により符号化された符号化ビットストリームである。
放送衛星ex202は、これを受けて放送用の電波を発信する。
アンテナex204は、衛星放送の受信が可能な家庭のアンテナであり、アンテナex204、放送衛星ex202からの放送用の電波を受信する。
テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置は、アンテナex204から受信した放送用の電波に含まれるビットストリームを、復号して再生する。
リーダ/レコーダex218は、DVD、BD等の記録メディアex215に記録された符号化ビットストリームを読み取って復号することが可能である。また記録メディアex215に映像信号を符号化して書き込むことが可能である。ここで、リーダ/レコーダex218は、上記各実施の形態で示した画像復号装置または画像符号化装置を実装する。その場合、リーダ/レコーダex218で再生された映像信号はモニタex219に表示され、符号化ビットストリームが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。
なお、セットトップボックスex217は、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続され、自装置内に画像復号装置を実装し、これをテレビのモニタex219で表示するとしてもよい。また、セットトップボックスex217ではなく、テレビex300内に画像復号装置を組み込んでもよい。
図28は、テレビex300の構成例を示すブロック図である。
テレビex300は、上記各実施の形態で説明した画像復号方法及び画像符号化方法を用いている。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像情報のビットストリームを取得、または出力するチューナex301と、受信した符号化データを復調する、または外部に送信する符号化データに変調する変調/復調部ex302と、復調した映像データ、音声データを分離する、または符号化された映像データ、音声データを多重化する多重/分離部ex303とを備える。また、テレビex300は、音声データ及び映像データそれぞれを復号する、またはそれぞれの情報を符号化する音声信号処理部ex304及び映像信号処理部ex305を有する信号処理部ex306と、復号した音声信号を出力するスピーカex307及び復号した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。
なお、インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313と、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314と、ハードディスク等の外部記録メディアと接続するためのドライバex315と、電話網と接続するモデムex316等とを有していてもよい。また、記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
続いて、まず、テレビex300がアンテナex204等により外部から取得したデータを復号し、再生する構成について説明する。
テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した映像データ、音声データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号方法を用いて復号する。復号した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。
なお、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から符号化された符号化ビットストリームを読み出してもよい。
次に、テレビex300が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。
テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318〜ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。
なお、ここではテレビex300は上記の符号化処理、多重化、及び外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号処理、外部出力のみが可能な構成であってもよい。
また、リーダ/レコーダex218で記録メディアから符号化ビットストリームを読み出す、または書き込む場合には、上記復号処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図29に示す。図29は、光ディスクである記録メディアに情報の読み書きを行う情報再生/記録部の構成例を示すブロック図である。
図29に示す情報再生/記録部ex400は、以下に説明する要素ex401〜ex407を備える。
光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。
変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。
再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。
バッファex404は、記録メディアex215に記録するための情報及び記録メディアex215から再生した情報を一時的に保持する。
ディスクモータex405は、記録メディアex215を回転させる。
サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。
システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
なお、上記では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図30は、光ディスクである記録メディアの構造例を示す図である。図30には、光ディスクである記録メディアex215の模式図が示されている。
記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報は、データを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し、この番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。
情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した符号化データの読み書きを行う。
なお、上記では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりするなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で放送衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図28に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号器のみの受信端末という3通りの実装形式が考えられる。
このように、上記各実施の形態で示した画像符号化方法あるいは画像復号方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態9)
上記各実施の形態で示した画像符号化方法及び装置、画像復号方法及び装置は、典型的には集積回路であるLSIで実現される。一例として、図31に1チップ化されたLSIex500の構成を示す。ここで、図31は、各実施の形態の画像符号化方法及び画像復号方法を実現する集積回路の構成例を示すブロック図である。
LSIex500は、以下に説明する要素ex501〜ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化及び/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力されたビットストリームは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
図32はここでの符号化処理を簡単に示すブロック図である。すなわち、図32は、集積回路で実現される各実施の形態の画像符号化処理を示すブロック図である。図32に示すように、まず入力信号と予測信号との差分である予測誤差信号は変換部ex601で変換され、量子化部ex602で量子化される。量子化係数はエントロピー符号化部ex606でエントロピー符号化され、符号化信号が出力される。この出力は、図28でテレビex300を例に挙げて説明したように、符号化された音声データと多重化するために一旦バッファex508やメモリex511に蓄積される構成であってもよい。逆量子化部ex604、逆変換部ex605、予測部ex608は、対象信号とそれ以前の信号から生成された予測信号の比較を可能とする遅延部として動作する。
なお、LSIex500上では、緩衝材として量子化係数を一端内部のバッファex508やメモリex511に蓄積するなど、処理のオーバフロー、アンダーフローがおきないように調整するとよい。量子化係数以外にも処理量や処理速度に応じて、データを複数に分けて並列に処理をし、内部や外部のメモリ等の記録部に処理中のデータを適宜蓄積しながら処理を調整するとよい。
以上の処理は制御部ex501の制御に基づいて行う。
また、例えば復号処理を行う場合には、LSIex500は、制御部ex501の制御に基づいて、ストリームI/Oex506によって基地局ex107を介して、または記録メディアex215から読み出して得た符号化データを一旦メモリex511等に蓄積する。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声データの復号及び/または映像データの復号が行われる。ここで映像信号の復号処理は上記各実施の形態で説明した復号処理である。さらに、場合により復号された音声信号と復号された映像信号を同期して再生できるようそれぞれの信号を一旦バッファex508等に蓄積するとよい。復号された出力信号はメモリex511等を適宜介しながら、携帯電話ex114、ゲーム機ex115、テレビex300等の各出力部から出力される。
図33はここでの復号処理を簡単に示すブロック図である。すなわち、図33は、集積回路で実現される各実施の形態の画像復号処理を示すブロック図である。
図33に示すように、まず入力された符号化信号はエントロピー復号部ex701でエントロピー復号される。エントロピー復号により得た量子化係数は逆量子化部ex703で逆量子化され、逆変換部ex704で逆変換される。ここでの逆変換とは、復号処理における変換という意味であり、必ずしも符号化処理における変換の逆に限定されるものではない。復号変換入力は、予測信号を加えて復号信号として外部に出力される。メモリex511は、復号信号を蓄積し、後続の符号化信号の復号における参照を可能とする遅延部として動作する。予測部ex705は、メモリex511に蓄積された復号済みの復号信号に基づいて予測信号を生成する。外部への出力の際には図28でテレビex300を例に挙げて説明したように、復号された音声信号と同期して表示するために、一旦バッファex508や外部のメモリex511に蓄積される構成であってもよい。ここでも量子化係数をバッファex508やメモリex511に蓄積するなど、処理のオーバフロー、アンダーフローがおきないように、所定の処理単位に分割しながら並列に処理を行うとよい。以上の処理は制御部ex501の制御に基づいて行う。
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
また、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSIまたはウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
以上のように、上記各実施の形態で説明した画像符号化装置、画像復号装置、画像符号化方法または画像復号方法は、アプリケーションとして応用できる。
なお、実施の形態1において図1に示される復号装置100においてを構成する各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらはさらに復号回路、外部メモリのように個別にチップ化されても良いし、一部または全てを含むように1チップ化、つまり単一のLSI内に統合されたシステムとして実現されても良い。
また、同様に、実施の形態2において図6に示される復号装置200を構成する各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらはさらに復号回路、外部メモリのように個別にチップ化されても良いし、一部または全てを含むように1チップ化、つまり単一のLSI内に統合されたシステムとして実現されても良い。
また、同様に、実施の形態3において図9に示される復号装置300を構成する各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらはさらに復号回路、外部メモリのように個別にチップ化されても良いし、一部または全てを含むように1チップ化、つまり単一のLSI内に統合されたシステムとして実現されても良い。
また、同様に、実施の形態4において図16に示される復号装置400を構成する各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらはさらに復号回路、外部メモリのように個別にチップ化されても良いし、一部または全てを含むように1チップ化、つまり単一のLSI内に統合されたシステムとして実現されても良い。
また、同様に、実施の形態5において図17に示される符号化装置500を構成する各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらはさらに符号化回路、外部メモリのように個別にチップ化されても良いし、一部または全てを含むように1チップ化、つまり単一のLSI内に統合されたシステムとして実現されても良い。
また、同様に、実施の形態6において図22に示される符号化装置600を構成する各機能ブロックは典型的には集積回路であるLSIとして実現される。これらはさらに符号化回路、外部メモリのように個別にチップ化されても良いし、一部または全てを含むように1チップ化、つまり単一のLSI内に統合されたシステムとして実現されても良い。
また、同様に、実施の形態7において図24に示される符号化装置700を構成する各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらはさらに符号化回路、外部メモリのように個別にチップ化されても良いし、一部または全てを含むように1チップ化、つまり単一のLSI内に統合されたシステムとして実現されても良い。
また、実施の形態1〜7において、直交変換基底蓄積部110、直交変換基底蓄積部510、メモリ109は、及び、メモリ509はDRAMで構成されていてもよいし、SRAMで構成されていてもよいし、フリップフロップで構成されていても良い。つまり、記憶可能な素子で構成されていれば良い。
さらに、実施の形態1〜7において、メモリ109、メモリ509、直交変換基底蓄積部110、直交変換基底蓄積部510、直交変換基底記憶部103、及び直交変換基底記憶部503は、典型的にはDDRで構成されるが、必ずしもDDRで構成される必要はなく、SRAMで構成されていてもよいし、フリップフロップで構成されていても良い。つまり、記憶可能な素子で構成されていれば良い。その際、直交変換基底蓄積部110及び直交変換基底蓄積部510は、低速な記憶素子から構成され、直交変換基底記憶部103及び直交変換基底記憶部503は、高速な記憶素子で構成されるのが好ましい。
また、実施の形態1〜7において、逆直交変換部112、逆直交変換部512、及び、直交変換部514で行う直交変換は、例えば、カルーネンレーベ変換など、直交変換基底が可変な直交変換であれば良い。
以上、本発明の画像復号装置、画像符号化装置、画像復号回路及び画像復号方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。