(57)【要約】【課題】符号化された各画素を、参照画素に基づくテンプレートを用いて復号する場合に、より少ない演算数で行うこと。【解決手段】復号済みの画素データを記憶する第１のレジスタにおけるテンプレートの位置を固定させ、テンプレートに含まれる復号済みの画素群のデータを第２のレジスタに読み出し（Ｓ１０３）、第２のレジスタに読み出された画素群のデータを一次元的に連結し（Ｓ１０４）、連結した画素群のデータを用いてこの画素群のデータを符号化時に用いて符号化した画素が復号され、復号された当該画素のデータが第１のレジスタにおける復号前のこの画素のデータに上書きされた後に、第１のレジスタが記憶する各データの記憶位置を所定の方向に１ビット分シフトさせる。【選択図】  図１
2004336661.tif 000002
【特許請求の範囲】
【請求項１】
復号済みの画素データを記憶する第１のレジスタ群と、当該第１のレジスタとは異なる第２のレジスタ群とを備え、画像における画素のデータを、当該画素の位置に応じた位置に配置されたテンプレートに含まれる画素群のデータを用いて符号化することで得られる画像符号化データを復号する画像復号装置が行う画像復号方法であって、
前記第１のレジスタ群における前記テンプレートの位置を固定させ、前記テンプレートに含まれる復号済みの画素群のデータを第２のレジスタ群に読み出す読み出し工程と、
前記第２のレジスタ群に読み出された画素群のデータを一次元的に連結する連結工程と、
前記連結工程で連結した画素群のデータを用いて当該画素群のデータを符号化時に用いて符号化した画素が復号され、復号された当該画素のデータが前記第１のレジスタ群における復号前の当該画素のデータに上書きされた後に、前記第１のレジスタ群が記憶する各データの記憶位置を所定の方向に１ビット分シフトさせるシフト工程と
を備えることを特徴とする画像復号方法。
【請求項２】
前記読み出し工程では、前記第１のレジスタ群が記憶する行毎の復号済み画素データのうち、復号しようとする注目画素を復号するために必要な行の復号済み画素データを前記第２のレジスタ群に行毎に読み出し、
前記連結工程では、前記第２のレジスタ群に読み出された各行の画素データを、行毎に連結することを特徴とする請求項１に記載の画像復号方法。
【請求項３】
画像における画素のデータを、当該画素の位置に応じた位置に配置されたテンプレートに含まれる画素群のデータを用いて符号化することで得られる画像符号化データを復号する画像復号装置であって、
復号済みの画素データを記憶する第１のレジスタ群と、
前記第１のレジスタ群における前記テンプレートの位置を固定させ、前記テンプレートに含まれる復号済みの画素群のデータを第２のレジスタ群に読み出す読み出し手段と、
前記第２のレジスタ群に読み出された画素群のデータを一次元的に連結する連結手段と、
前記連結手段が連結した画素群のデータを用いて当該画素群のデータを符号化時に用いて符号化した画素が復号され、復号された当該画素のデータが前記第１のレジスタ群における復号前の当該画素のデータに上書きされた後に、前記第１のレジスタ群が記憶する各データの記憶位置を所定の方向に１ビット分シフトさせるシフト手段と
を備えることを特徴とする画像復号装置。
【請求項４】
コンピュータに請求項１又は２に記載の画像復号方法を実行させるためのプログラム。
【請求項５】
請求項４に記載のプログラムを格納し、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像における画素のデータを、当該画素の位置に応じた位置に配置されたテンプレートに含まれる画素群のデータを用いて符号化することで得られる画像符号化データを復号する画像復号装置、この画像復号装置が行う画像復号方法に関するものである。
【０００２】
【従来の技術】
テンプレートの形状によって決まる参照画素データ群から処理対象画素の画素値を予測して符号化された画像情報の従来の復号方法を図４、図５を用いて説明する。
【０００３】
図４（ａ）は画像情報を復号する際に使用するテンプレートの形状の例を示す図で、図４（ｂ）は上記符号化方法により符号化された画像情報を復号するためのテンプレートの使用方法を説明するための図である。また、図５は第１のレジスタ群に読み込まれる復号済みの画素データ群から、１次元的に連結された参照画素データ群を得る様子を示す図である。
【０００４】
図４（ａ）において、Ａで示した位置の画像情報（以下、処理対象画素Ａ）を復号するときには、周辺に位置する復号済みの画素データ群（図４の網掛け部分、即ち、テンプレートの領域）を参照する。これらの参照画素データ群は通常メモリ上に格納されているので、これら参照画素データ群を使用する場合には、これら参照画素データ群を今メモリから所定のレジスタへ読み込んで格納する必要がある。
【０００５】
図４（ｂ）に示したテンプレートは３行にまたがっているので、図５に示すように第１のレジスタ群として３個のレジスタ１、２、３を用意し、復号時にはメモリに格納された復号済み画素データ群をこれらのレジスタ群に読み出し、格納する。レジスタ１には（ｍ−２）行目の復号済み画素データ群を、レジスタ２には（ｍ−１）行目の復号済み画素データ群を、レジスタ３には処理対象画素Ａと同一の行ｍ（以下、処理対象行）の復号済み画素データ群をそれぞれ読み込んで格納する。
【０００６】
メモリからレジスタへのデータの読み込みは通常バイト単位で行なわれるので、参照画素データ群以外の不要な復号済み画素データ群も同時に読み込んでしまうことがある。そこで、図５のように第１のレジスタ群と同数の第２のレジスタ群としてレジスタ４、５、６を用意し、第１のレジスタ群から読み込んだ参照画素データ群にマスクをかけて第２のレジスタ群に参照画素データ群だけを取り出す。すなわち、レジスタ１から読み込んだ復号済み画素データ群にマスクをかけて、レジスタ４にテンプレートの１行目の参照画素データ群を得る。また、レジスタ２から読み込んだ復号済み画素データ群にマスクをかけて、レジスタ５にテンプレートの２行目の参照画素データ群を得る。同様に、レジスタ３から読み込んだ復号済み画素データ群にマスクをかけて、レジスタ６にテンプレートの３行目の参照画素データ群を得る。
【０００７】
必要な全ての参照画素データ群は３個のレジスタ４、５、６に分割して格納されるが、このままでは処理対象画素Ａの復号が複雑になる。そこで、図５の下部に示すように、参照画素データ群を１次元的に連結して参照画素データ群を一つのレジスタ７にまとめる。そしてこのように連結された参照画素データ群を参照することによって、処理対象画素Ａを復号することができる。処理対象画素Ａの復号が終わると、新たな処理対象画素であるＡの右隣の画素を復号する準備としてテンプレートを右方向に１画素分移動させる。
【０００８】
以上説明した方法、即ち従来の方法により、第２のレジスタ群（レジスタ４、５、６）に取り出された参照画素データ群から１次元的に連結された参照画素データ群をレジスタ７に得る様子を図６に２つ示す。
【０００９】
図６は第２のレジスタ群に取り出された参照画素データ群を一次元的に連結してレジスタ７に格納する処理を説明する為の図である。
【００１０】
図６（ａ）に示す例では、レジスタ４では左に２ビットシフト、レジスタ５では右に４ビットシフト、レジスタ６では右に１２ビットシフトして、シフトされたそれぞれの参照画素データ群を連結（論理和演算）することによって、レジスタ７に１次元的に連結された参照画素データ群を得る。
【００１１】
一方、図６（ｂ）に示す例では、レジスタ４では左に９ビットシフト、レジスタ５は左に３ビットシフト、レジスタ６では右に５ビットシフトして、シフトされたそれぞれの参照画素データを連結することによって、レジスタ７に１次元的に連結された参照画素データ群を得る。
【００１２】
このように、参照画素に基づくテンプレートを用いた符号化、復号に関するものとしては、ＪＢＩＧ方式（ＩＴＵ−Ｔ  Ｔ８２）の符号化が知られている（例えば非特許文献１を参照）。
【００１３】
このように第２のレジスタ群における処理対象画素Ａの相対位置が変わると、夫々のレジスタのシフト方向、そしてシフトするビット数を変えなければ、レジスタ７に１次元的に連結された参照画素データ群を得ることができない。実際には第２のレジスタ群における処理対象画素Ａの相対位置によって８通りのシフト形態が考えられる。
【００１４】
【非特許文献１】
ディジタル静止画像圧縮符号化関連勧告集（ＩＴＵ−Ｔ  Ｔ８２）  平成６年１月２５日発行
【００１５】
【発明が解決しようとする課題】
上記のように、従来手法では第２のレジスタ群における処理対象画素Ａの相対位置によって、第２のレジスタ群に取り出される参照画素データ群に対して適用するシフト形態を変えなければならないため、１次元的に連結された参照画素データ群を得るための演算数が多くなってしまう。
【００１６】
本発明は以上の問題に鑑みてなされたものであり、符号化された各画素を、参照画素に基づくテンプレートを用いて復号する場合に、より少ない演算数で行うことを目的とする。
【００１７】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の画像復号方法は以下の構成を備える。
【００１８】
すなわち、復号済みの画素データを記憶する第１のレジスタ群と、当該第１のレジスタとは異なる第２のレジスタ群とを備え、画像における画素のデータを、当該画素の位置に応じた位置に配置されたテンプレートに含まれる画素群のデータを用いて符号化することで得られる画像符号化データを復号する画像復号装置が行う画像復号方法であって、
前記第１のレジスタ群における前記テンプレートの位置を固定させ、前記テンプレートに含まれる復号済みの画素群のデータを第２のレジスタ群に読み出す読み出し工程と、
前記第２のレジスタ群に読み出された画素群のデータを一次元的に連結する連結工程と、
前記連結工程で連結した画素群のデータを用いて当該画素群のデータを符号化時に用いて符号化した画素が復号され、復号された当該画素のデータが前記第１のレジスタ群における復号前の当該画素のデータに上書きされた後に、前記第１のレジスタ群が記憶する各データの記憶位置を所定の方向に１ビット分シフトさせるシフト工程と
を備えることを特徴とする。
【００１９】
本発明の目的を達成するために、例えば本発明の画像復号装置は以下の構成を備える。
【００２０】
すなわち、画像における画素のデータを、当該画素の位置に応じた位置に配置されたテンプレートに含まれる画素群のデータを用いて符号化することで得られる画像符号化データを復号する画像復号装置であって、
復号済みの画素データを記憶する第１のレジスタ群と、
前記第１のレジスタ群における前記テンプレートの位置を固定させ、前記テンプレートに含まれる復号済みの画素群のデータを第２のレジスタ群に読み出す読み出し手段と、
前記第２のレジスタ群に読み出された画素群のデータを一次元的に連結する連結手段と、
前記連結手段が連結した画素群のデータを用いて当該画素群のデータを符号化時に用いて符号化した画素が復号され、復号された当該画素のデータが前記第１のレジスタ群における復号前の当該画素のデータに上書きされた後に、前記第１のレジスタ群が記憶する各データの記憶位置を所定の方向に１ビット分シフトさせるシフト手段と
を備えることを特徴とする。
【００２１】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００２２】
［第１の実施形態］
本実施形態では上記テンプレートを用いた周知の符号化処理によって符号化された画像を、後述の画像復号処理によって復号する画像復号装置として、ＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）プロセッサを用いたコンピュータを適用した場合について説明する。
【００２３】
図７は本実施形態に係る画像復号装置の基本構成を示すブロック図である。７０１はＣＰＵで、上述の通りＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）プロセッサであって、ＲＡＭ７０２やＲＯＭ７０５に記憶されているプログラムやデータを用いて本装置全体の制御を行うと共に、後述の画像復号処理を実行する。また内部には後述する第１のレジスタ群７０３、第２のレジスタ群７０４を備える。
【００２４】
７０２はＲＡＭで、ＣＰＵ７０１が各種の処理を行うために必要なワークエリアを備えると共に、外部記憶装置７０８や記憶媒体ドライブ７０９からロードされたプログラムやデータを一時的に記憶するためのエリアも備える。
【００２５】
７０３は第１のレジスタ群で、復号済みのデータを一時的に記憶する。第１のレジスタ群７０３の詳細については後述する。
【００２６】
７０４は第２のレジスタ群で、画像符号化データにおいて注目画素を復号するために必要な画素群のデータを後述する方法により第１のレジスタ群７０３から読み出して一時的に記憶する。第２のレジスタ群７０４の詳細については後述する。
【００２７】
７０５はＲＯＭで、本装置全体の制御を行うためや、本装置の設定のためのプログラムやデータを格納する。
【００２８】
７０６は表示部で、ＣＲＴや液晶画面等により構成されており、画像や文字情報などの各種の情報を表示することができ、例えば、後述復号処理の対象となる画像や、後述の復号処理を指示するためのＧＵＩなどを表示することができる。
【００２９】
７０７は操作部で、キーボードやマウスなどにより構成されており、各種の指示をＣＰＵ７０１に入力することができる。
【００３０】
７０８は外部記憶装置で、一般にはハードディスクドライブなどの大容量情報記憶装置により構成されており、ここにはＯＳや後述する画像復号処理をＣＰＵ７０１に実行させるためのプログラムやデータが保存されており、これらプログラムやデータは必要に応じてＣＰＵ７０１からの指示に従ってＲＡＭ７０２にロードされる。また、外部記憶装置７０８には、処理対象の画像符号化データを保存されており、これも必要に応じてＣＰＵ７０１からの指示に従ってＲＡＭ７０２にロードされる。
【００３１】
７０９は記憶媒体ドライブで、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記憶されているプログラムやデータを読み出し、外部記憶装置７０８に出力することができる。なお上記外部記憶装置７０８に保存されている上記プログラムやデータをこの記憶媒体に記憶させておき、必要に応じてＲＡＭ７０２にロードするようにしても良い。
【００３２】
７１０は上述の各部を繋ぐバスである。
【００３３】
次に、上記構成を備える画像復号装置が行う、本実施形態に係る画像復号処理について説明する。図１はこの画像復号処理のフローチャートである。同図のフローチャートに従ったプログラムは外部記憶装置７０８もしくは記憶媒体ドライブ７０９からＲＡＭ７０２にロードされ、ＣＰＵ７０１がこれを実行することで、本実施形態に係る画像復号装置は後述する画像復号処理を行うことができる。
【００３４】
また、図２は、図１に示したフローチャートに従って復号処理を行う場合の、第１のレジスタ群７０３、第２のレジスタ群７０４の記憶内容を示す図である。以下、図１，２を用いて、本実施形態に係る画像復号処理について説明する。
【００３５】
先ず復号の準備として、第１のレジスタ群７０３としてレジスタ１，２，３を、第２のレジスタ群７０４としてレジスタ４，５，６を、そして後述の処理により一次元的に連結された参照画素群のデータを格納する為のレジスタ７をＣＰＵ１０１内部に用意する。
【００３６】
画像符号化データを復号する場合、画像の１行目から順に２行目、３行目、、、と復号するので、ｍ行目を復号する場合にはｎ＜ｍを満たす全てのｎについてｎ行目は既に復号されており、復号された行の画素データはＲＡＭ７０２の所定の領域や外部記憶装置７０８（以下、これら「復号済みの画素データを記憶するためのメモリ」を総称して「復号済み画素データメモリ」と呼称する）に出力され、記憶される。
【００３７】
従って、これから復号しようとする行（処理対象行）をｍ行目とした場合に、レジスタ１には（ｍ−２）行目の復号済み画素データが復号済み画素データメモリから書き込まれ、レジスタ２には（ｍ−１）行目の復号済み画素データが復号済み画素データメモリから書き込まれる。またレジスタ３は、処理対象行であるｍ行目の復号済み画素データを格納するために使用する。
【００３８】
なお本実施形態ではレジスタ３には１バイト分の復号済み画素データを記憶させることができ、１バイト分の復号済み画素データが書き込まれると、これらは上記復号済み画素データメモリに出力される。このことから、第１のレジスタ群７０３の各レジスタ（１，２，３）はバイト単位で復号済みの画素データを記憶することができる。なお、本実施形態ではレジスタ１，２は３バイト分、レジスタ３は１バイト分とするが、これに限定されるものではない。
【００３９】
上記準備が整うと、ＣＰＵ７０１は第１のレジスタ群７０３に、復号済みの画素データを読み込むか否かを判断する（ステップＳ１０１）。読み込む場合には処理をステップＳ１０２に進め、先ず１バイト分の復号済みの画素データを、第１のレジスタ群７０３に読み込む（ステップＳ１０２）。具体的に、レジスタ１には（ｍ−２）行目の１バイト分の復号済み画素データ群を、レジスタ２には（ｍ−１）行目の１バイト分の復号済み画素データ群を読み込む。
【００４０】
図２（ａ）は、ステップＳ１０２でレジスタ１，２の夫々に１バイト分の復号済み画素データ群を読み込む前の第１のレジスタ群７０３の記憶内容を示す図で、図２（ｂ）は、ステップＳ１０２でレジスタ１，２の夫々に１バイト分の復号済み画素データ群を読み込むんだ後の第１のレジスタ群７０３の記憶内容を示す図である。
【００４１】
図２（ａ）ではレジスタ１，２の最後１バイト分には何も読み込まれていないが、ステップＳ１０２における処理によって図２（ｂ）に示すとおり、レジスタ１，２の最後の１バイト分に、夫々（ｍ−２）行目、（ｍ−１）行目の次の１バイト分の復号済みの画素データが読み込まれている。なお、図２（ａ）、（ｂ）において斜線部分はテンプレートに含まれる部分を示しており、このテンプレートの位置は第１のレジスタ群７０３において固定しているものとする（換言すれば、第１のレジスタ群７０３における斜線部分の位置は固定されているものとする）。
【００４２】
次に、図２（ａ）、（ｂ）にＡで示す位置の画素を復号する為に必要な参照画素群のデータ、即ち斜線部分の画素データを第１のレジスタ群７０３から第２のレジスタ群７０４に読み出す（ステップＳ１０２）。
【００４３】
具体的には、レジスタ１から読み込んだ復号済み画素データ群にマスクをかけて（レジスタ１が格納する画像データ群のうち、参照画素データ群以外を０として読み出す）、レジスタ４にテンプレートの１行目の参照画素データ群（（ｍ−２）行目の画像のデータ）を得る。また、レジスタ２から読み込んだ復号済み画素データ群にマスクをかけて、レジスタ５にテンプレートの２行目の参照画素データ群（（ｍ−１）行目の画像のデータ）を得る。同様に、レジスタ３から読み込んだ復号済み画素データ群にマスクをかけて、レジスタ６にテンプレートの３行目の参照画素データ群（ｍ行目の画像のデータ）を得る。
【００４４】
図２（ｃ）は、ステップＳ１０２において、取り出された参照画素データ群が記憶された第２のレジスタ群７０４の記憶内容を示す図である。同図に示すように、第１のレジスタ群７０３において、参照画素群のデータのみが第２のレジスタ群７０４に取り出されており、それ以外には０が記憶されている。
【００４５】
次に、新たな復号対象である、Ａで示す位置の右隣の位置の画素の復号の準備として、第１のレジスタ群７０３が記憶する各データの記憶位置を左の方向に１ビット分（１画素分）シフトさせる（ステップＳ１０３）。図２（ｄ）はステップＳ１０３におけるシフト処理後の第１のレジスタ群７０３の記憶内容を示す図である。同図に示すように、レジスタ１，２の右端には復号済みの画素のデータが記憶されていない部分が１ビット分でき、レジスタ３の右端には図２（ａ）、（ｂ）においてＡで示す位置の画素のデータが記憶されている。当然このレジスタ３の右端に記憶されているデータ（図２（ｄ）でＡで示す位置に記憶されているデータ）はまだ復号されていないため、値が決まっていない。
【００４６】
次に、第２のレジスタ群７０４に取り出された参照画素群のデータを一次元的に連結する処理を行う（ステップＳ１０４）。具体的には先ず、各レジスタ（４，５，６）が記憶しているデータを予め決まった方向、決まったビット数分だけシフトする。図２（ｃ）を例に取ると、レジスタ４は右に２ビットシフト、レジスタ５は右に８ビットシフト、レジスタ６は１６ビット右にシフトする。
【００４７】
このようにシフトした結果の第２のレジスタ群７０４の記憶内容を図２（ｅ）に示す。そして各レジスタ４，５，６において同じ記憶位置同士で論理和演算を行うことで、各レジスタ４，５，６の記憶内容を連結し、レジスタ７に格納する。図２（ｆ）はレジスタ７の記憶内容を示す図である。同図において斜線部分のうち、先頭の４ビット分はレジスタ４が記憶していた参照画素群のデータ、次の７ビット分はレジスタ５が記憶していた参照画素群のデータ、そして最後の３ビット分はレジスタ６が記憶していた参照画素群のデータであり、結果としてレジスタ７にはレジスタ４，５，６の夫々が記憶していた参照画素群のデータを一次元的に連結したものが記憶されている。
【００４８】
従来では上述の通り、次の画素を復号する場合には、第２のレジスタ群７０４においてテンプレートの位置が変化していたので（換言すれば、第２のレジスタ群７０４における復号対象画素の位置が変化していたので）、各レジスタでシフトする方向とシフトするビット数はその都度異なり、予め決めておくことはできないので、これをその都度求める必要があり、計算も複雑であった。
【００４９】
しかし本実施形態に係る復号処理では、第２のレジスタ群７０４におけるテンプレートの位置が変化しないので（換言すれば、第２のレジスタ群７０４における復号対象画素の位置が変化しないので）、次の画素を復号する場合にも各レジスタでシフトする方向とシフトするビット数は常に同じであって、予め決めておくことができるので、計算をより簡便に行うことができ、より高速に一次元的に連結された参照画素群のデータを得ることができる。
【００５０】
そしてこのようにして得られた一次元的に連結された参照画素群のデータを用いて、周知の方法により上記Ａで示した位置の画素の復号処理を行い（ステップＳ１０５）、シフト後の第１のレジスタ群７０３における上記Ａで示す位置（本実施形態では図２（ｄ）におけるＡで示す位置）に復号した画素のデータを上書きする（ステップＳ１０６）。これにより、図２（ｄ）のＡの位置には復号済みの画素のデータが記憶されていることになる。
【００５１】
そして次に、まだ復号済み画素データメモリに書き込まれていない復号データを復号済み画素データメモリに書き込むか否かを判断する（ステップＳ１０７）。これは例えば書き込む単位を１バイト単位とする場合には、ステップＳ１０７では１バイト分の復号処理を行ったか否かを判断する。そして書き込むと判断した場合には処理をステップＳ１０８に進め、まだ復号済み画素データメモリに書き込まれていない復号データを復号済み画素データメモリに書き込む（ステップＳ１０８）。
【００５２】
そして次に、１行分の画素を全て復号したか否かを判定する（ステップＳ１０９）。全て処理していなければ処理をステップＳ１０１に戻し、以降の処理を繰り返す。
【００５３】
以上の説明により、本実施形態に係る画像復号装置は、第２のレジスタ群７０４の夫々のレジスタが記憶する参照画素群のデータを一次元的に連結する場合に、各レジスタでシフトする方向、ビット数を予め固定させておくことができるので、連結処理の際にこれらを従来のように求める必要が無く、復号処理をより簡便にすることができるため、処理全体をより高速化することができる。
【００５４】
なお、レジスタ７を用いずに、レジスタ４、５、６のいずれかを代わりに使用してもよい。
【００５５】
また本実施形態ではＡの位置の画素の右隣の位置の画素の復号準備として、ステップＳ１０３で先に第１のレジスタ群７０３のシフト処理を行ったが、ステップＳ１０５でＡの位置の画素を復号し、ステップＳ１０６で復号した画素のデータを上書きしたのちに、ステップＳ１０３におけるシフト処理を行っても良い。
【００５６】
［第２の実施形態］
本実施形態では、ＣＰＵ７０１としてＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ  ｓｔｒｅａｍｓ）演算能力を有するプロセッサを適用する。なお、本実施形態に係る画像復号装置の基本構成は図１と同じであり、ＣＰＵ７０１がＳＩＭＤプロセッサであること以外は同じである。
【００５７】
具体的に本実施形態に係る復号処理では、テンプレートの形状とＣＰＵ７０１に実装されている命令によって、使用するレジスタの数が適応的に変化する。例えば、図４に示したテンプレートを用い、ＣＰＵ７０１は６４ビットレジスタを持ち、３２ビット単位でシフト演算を適用できる場合には、図３（ａ）、（ｂ）に示すように、第１のレジスタ群７０３としてレジスタ１、２を、第２のレジスタ群７０４としてレジスタ３、４を用意する。図３は本実施形態に係る第１のレジスタ群７０３、第２のレジスタ群７０４の記憶内容を示す図である。
【００５８】
ここで、”３２ビット単位のシフト演算を適用する”とは、６４ビットレジスタは２つの３２ビットレジスタから構成されるとして、別々にシフト演算を適用できることを意味する。つまり、６４ビットレジスタの内容が  （ｘ６３，  ｘ６２，  …，  ｘ３３，  ｘ３２，  ｘ３１，  ｘ３０，  …，  ｘ１，  ｘ０）  であるとき、３２ビット単位のシフト演算（１ビット左シフト）を適用すると、このレジスタの内容は  （ｘ６２，  ｘ６１，  …，  ｘ３２，  ０，  ｘ３０，  ｘ２９，  …，  ｘ０，  ０）となる。
【００５９】
図３（ａ）に示すように、レジスタ１は（ｍ−２）行目と（ｍ−１）行目の復号済み画素データを格納するために使用し、格納される画素データ群は復号済み画素データメモリから読み込んだ画素データ群である。レジスタ２は処理対象行ｍの復号済み画素データ群を格納するために使用し、格納される画素データ群は復号済みであるが、まだメモリへは書き込まれていない。
【００６０】
次に本実施形態に係る復号処理の流れについて説明するが、基本的には第１の実施形態と同じであるので、異なる部分だけについて説明する。
【００６１】
ステップＳ１０３では、レジスタ１から読み込んだ復号済み画素データ群にマスクをかけて、レジスタ３にテンプレートの１行目と２行目の参照画素データ群を得る。同様に、レジスタ２から読み込んだ復号済み画素データ群にマスクをかけて、レジスタ４にテンプレートの３行目の参照画素データ群を得る。レジスタ１には（ｍ−２）行目と（ｍ−１）行目の復号済み画素データ群が格納されているため、一度に２行分の参照画素群のデータをレジスタ３に読み取ることができる。このため、第１の実施形態よりも一回分少ない処理回数で（ｍ−２）行目と（ｍ−１）行目の復号済み画素データ群をレジスタ３に格納することができる。
【００６２】
図３（ｂ）に示すように、レジスタ１において、（ｍ−２）行目、（ｍ−１）行目の参照画素群のデータのみがレジスタ３に取り出されており、それ以外には０が記憶されている。
【００６３】
また、ステップＳ１０３では、新たな復号対象である、Ａで示す位置の右隣の位置の画素の復号の準備として、第１のレジスタ群７０３が記憶する各データの記憶位置を左の方向に１ビット分（１画素分）シフトさせる。本実施形態では３２ビット単位でシフト処理を行うことができるので、第１の実施形態よりも少ない演算数でシフト処理を行うことができる。
【００６４】
図３（ｃ）はステップＳ１０３におけるシフト処理後の第１のレジスタ群７０３の記憶内容を示す図である。
【００６５】
このように、ＳＩＭＤ演算能力を有するＣＰＵ７０１を用いることで、第１の実施形態のＣＰＵ７０１、即ちＲＩＳＣプロセッサを用いた場合よりもさらに演算数を減らすことができ、復号処理全体をより高速化することができる。
【００６６】
［第３の実施形態］
本実施形態では、ＣＰＵ７０１として特殊な命令を有するプロセッサを適用する。なお、本実施形態に係る画像復号装置の基本構成は図１と同じであり、ＣＰＵ７０１が特殊な命令を有するプロセッサであること以外は同じであるとする。
【００６７】
本実施形態に係る復号処理の流れについて説明するが、基本的には第１の実施形態と同じであるので、異なる部分だけについて説明する。
【００６８】
例えば、特別な命令として、レジスタの所定の位置にあるデータ群を他のレジスタに取り出し、元のレジスタのデータ群を指定した数だけシフトするような命令があるとする。この場合、ステップＳ１０３において、図２（ｂ）のレジスタ１に格納されている復号済み画素データ群から、図２（ｃ）のレジスタ４のように参照画素データ群を取り出す処理と、図２（ｄ）のレジスタ１のように格納されている復号済み画素データ群をシフトする処理が１つの命令でできるため、これに係る演算数を第１の実施形態と比べて減らすことができ、復号処理全体をより高速化することができる。
【００６９】
また、レジスタに格納されているデータを指定した数だけシフトした後、他のレジスタとの論理和をとるような命令があるとする。この場合、ステップＳ１０４において、図２（ｅ）の第２のレジスタ群７０４に格納されている参照画素データ群から、図２（ｆ）のレジスタ７に１次元的に連結された参照画素データ群を得るときの演算数を減らすことができる。
【００７０】
このように特別な命令を持つプロセッサを用いた場合、１次元的に連結された参照画素データ群を得る処理に係る演算数を第１の実施形態と比べて減らすことができ、復号処理全体をより高速化することができる。
【００７１】
なお、以上の実施形態ではテンプレートの形状を図４に示したものを用いているが、以上の実施形態は、同図に示した形状、サイズのテンプレートに限定されるものではない。
【００７２】
［その他の実施形態］
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００７３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７４】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７５】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００７６】
【発明の効果】
以上の説明により、本発明によって、符号化された各画素を、参照画素に基づくテンプレートを用いて復号する場合に、より少ない演算数で行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る画像復号処理のフローチャートである。
【図２】図１に示したフローチャートに従って復号処理を行う場合の、第１のレジスタ群７０３、第２のレジスタ群７０４の記憶内容を示す図である。
【図３】本発明の第２の実施形態に係る第１のレジスタ群７０３、第２のレジスタ群７０４の記憶内容を示す図である。
【図４】（ａ）は画像情報を復号する際に使用するテンプレートの形状の例を示す図で、（ｂ）は上記符号化方法により符号化された画像情報を復号するためのテンプレートの使用方法を説明するための図である。
【図５】第１のレジスタ群に読み込まれる復号済みの画素データ群から、１次元的に連結された参照画素データ群を得る様子を示す図である。
【図６】第２のレジスタ群に取り出された参照画素データ群を一次元的に連結してレジスタ７に格納する処理を説明する為の図である。
【図７】本発明の第１の実施形態に係る画像復号装置の基本構成を示すブロック図である。
【図１】
2004336661.tif 000003
【図２】
2004336661.tif 000004
【図３】
2004336661.tif 000005
【図４】
2004336661.tif 000006
【図５】
2004336661.tif 000007
【図６】
2004336661.tif 000008
【図７】
2004336661.tif 000009