JP2014140089A - 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム - Google Patents
画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム Download PDFInfo
- Publication number
- JP2014140089A JP2014140089A JP2011105183A JP2011105183A JP2014140089A JP 2014140089 A JP2014140089 A JP 2014140089A JP 2011105183 A JP2011105183 A JP 2011105183A JP 2011105183 A JP2011105183 A JP 2011105183A JP 2014140089 A JP2014140089 A JP 2014140089A
- Authority
- JP
- Japan
- Prior art keywords
- block
- image
- unit
- signal
- pixels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】テクスチャ画像を高い能率で符号化又は復号できる画像符号化装置、画像復号装置、等を提供する。
【解決手段】画素毎の輝度値からなるテクスチャ画像をブロック毎に符号化するとき、動き領域決定部は前記テクスチャ画像のブロックから被写体が動く画像を表す領域である動き領域を画面記憶部から読み出した参照画像のブロックに基づいて決定し、パターン決定部は視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンプロックをコードブックから読み出し、動き領域予測部は前記テクスチャ画像のブロックと前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める。
【選択図】図2
【解決手段】画素毎の輝度値からなるテクスチャ画像をブロック毎に符号化するとき、動き領域決定部は前記テクスチャ画像のブロックから被写体が動く画像を表す領域である動き領域を画面記憶部から読み出した参照画像のブロックに基づいて決定し、パターン決定部は視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンプロックをコードブックから読み出し、動き領域予測部は前記テクスチャ画像のブロックと前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める。
【選択図】図2
Description
本発明は、画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラムに関する。
被写体の三次元形状を記録又は送受信するために、テクスチャ画像と距離画像を用いる方法が提案されていた。テクスチャ画像(texture map;「基準画像」、「平面画像」、又は「カラー画像」と言うことがある)とは、被写空間に含まれる被写体や背景の色彩や濃度(「輝度」と言うことがある)を表す信号のことであって、二次元平面に配置された画像の画素毎の信号値からなる画像信号である。距離画像(depth map;「デプスマップ」と言うことがある)とは、三次元の被写空間に含まれる被写体及び背景の視点画素毎の視点(撮影装置等)からの距離に対応する信号値(「深度値」、「デプス値(depth)」と言うことがある)であって、二次元平面に配置された画素毎の信号値からなる画像信号である。距離画像を構成する画素は、テクスチャ画像を構成する画素と対応する。
距離画像は、それと対応するテクスチャ画像とともに利用されることが多く、テクスチャ画像とは独立に符号化されてきた。例えば、非特許文献1及び非特許文献2に記載の符号化方式では、移動する被写体の画像を含む画像ブロックを検知し、検知した画像ブロックにおいて予め定めた複数のパターンの中から、その被写体の画像を含む領域に対応するパターンを選択する。また、例えば非特許文献3に記載の符号化方式では、1つの画像ブロック(マクロブロック)を、より画素数が少ないサブブロックに分割。その符号化方式では、移動する被写体の画像を含むサブブロックと、そのような画像を含まないサブブロックに分類する。
Kwak−Wai Wong, Kin−Man Lam and Wan−Chi Siu、"An Efficient Low Bit−Rate Video−Coding Algorithm Focusing on Moving Regions"、IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY、The Institute of Electrical and Electronics Engineers Incorporated、Oct. 2001、Vol.11、No.10、p.1128−1134
Manoranjan Paul, Manzur Murshed and Laurence Dooley、"Impact of Macroblock Classification on Low Bit Rate Video Coding Focusing on Moving Objects"、Proceedings of the Intetnational Conference on Computer and Information Technology (ICCIT‘02)、Dhaka, Bangladesh、26−28 December 2002、p.465−470
TELECOMMUNICATION STANDARIZATION SECTOR OF ITU,Intra prediction process,"ITU−T Recommendation H.264 Advanced video coding for generic audio visual services",INTERNATIONAL TELECOMMUNICATION UNION,2003.5,p.100−110
しかしながら、非特許文献1又は非特許文献2に記載の符号化方式では、選択したパターンを示す符号を符号化出力とする。非特許文献3に記載の符号化方式では、さらに分割されたサブブロック各々に対応する動きベクトルを示す符号を符号化出力とする。そのため、非特許文献1−3に記載の符号化方式では、いずれも能率が低下していた問題点があった。
本発明は上記の点に鑑みてなされたものであり、テクスチャ画像を高い能率で符号化又は復号できる画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラムを提供する。
(1)本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、画素毎の輝度値からなるテクスチャ画像をブロック毎に符号化する画像符号化装置において、過去に符号化したフレームの参照画像を記憶する画面記憶部と、第1の信号値をとる画素とその他の信号値をとる画素からなり、前記第1の信号値をとる画素の分布が異なる複数個のパターンブロックを記憶するコードブックと、前記テクスチャ画像のブロックから被写体が動く画像を表す領域である動き領域を前記画面記憶部から読み出した参照画像のブロックに基づいて決定する動き領域決定部と、視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンプロックを前記コードブックから読み出すパターン決定部と、前記テクスチャ画像のブロックと前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める動き領域予測部とを備えることを特徴とする画像符号化装置である。
(2)本発明のその他の態様は、前記動き領域と、前記読み出したパターンブロックの前記第1の信号値をとる画素の分布に基づき、動き領域予測を行うか否かを決定する動き予測決定部を備えることを特徴とする(1)の画像符号化装置である。
(3)本発明のその他の態様は、前記動き領域予測信号と前記テクスチャ画像のブロックに含まれる画素の信号値に基づく残差信号を、対応する画素が2次元の矩形となるように空間的に配列して2次元残差信号を生成する配列部と、前記2次元残差信号を周波数領域に変換して周波数領域信号を生成する周波数領域変換部と、前記周波数領域信号を圧縮符号化して圧縮残差信号を生成する可変長符号化部とを備えることを特徴とする(1)の画像符号化装置である。
(4)本発明のその他の態様は、前記パターン決定部は、前記距離画像のブロックに含まれる画素毎の深度値が予め設定された閾値を超える画素の分布と前記第1の信号値をとる画素の分布に基づき、前記パターンブロックを読み出すことを特徴とする(1)の画像符号化装置である。
(5)本発明のその他の態様は、過去に符号化したフレームの参照画像を記憶する画面記憶部と、第1の信号値をとる画素とその他の信号値をとる画素からなり、前記第1の信号値をとる画素の分布が異なる複数個のパターンブロックを記憶するコードブックを備え、画素毎の輝度値からなるテクスチャ画像をブロック毎に符号化する画像符号化装置における画像符号化方法において、前記画像符号化装置は、前記テクスチャ画像のブロックから被写体が動く画像を表す領域である動き領域を前記画面記憶部から読み出した参照画像のブロックに基づいて決定する第1の過程と、前記画像符号化装置は、視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンプロックを前記コードブックから読み出す第2の過程と、前記画像符号化装置は、前記テクスチャ画像のブロックと前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める第3の過程とを有することを特徴とする画像符号化方法である。
(6)本発明のその他の態様は、過去に符号化したフレームの参照画像を記憶する画面記憶部と、第1の信号値をとる画素とその他の信号値をとる画素からなり、前記第1の信号値をとる画素の分布が異なる複数個のパターンブロックを記憶するコードブックを備え、画素毎の輝度値からなるテクスチャ画像をブロック毎に符号化する画像符号化装置が備えるコンピュータに、前記テクスチャ画像のブロックから被写体が動く画像を表す領域である動き領域を前記画面記憶部から読み出した参照画像のブロックに基づいて決定する手順、視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンプロックを前記コードブックから読み出す手順、前記テクスチャ画像のブロックと前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める手順を実行させるための画像符号化プログラムである。
(7)本発明のその他の態様は、画素毎の輝度値からなるテクスチャ画像をブロック毎に復号する画像復号装置において、過去に復号したフレームの参照画像を記憶する画面記憶部と、第1の信号値をとる画素とその他の信号値をとる画素からなり、前記第1の信号値をとる画素の分布が異なる複数個のパターンブロックを記憶するコードブックと、視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンブロックを前記コードブックから読み出すパターン決定部と、入力された動きベクトル符号に対応する参照画像のブロックを前記画面記憶部から読み出し、前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める動き領域予測部とを備えることを特徴とする画像復号装置である。
(8)本発明のその他の態様は、圧縮残差信号を復号して周波数領域信号を生成する可変長復号部と、前記周波数領域信号を空間領域に変換して2次元残差信号を生成する空間領域変換部と、前記2次元残差信号に含まれる画素毎の信号値を、当該画素に各々対応する画素であって前記読み出したパターンブロックの前記第1の信号値をとる画素に配列して残差信号を生成する逆配列部とを備えることを特徴とする(7)の画像復号装置である。
を定める手順
を実行させるための画像復号プログラム。
を定める手順
を実行させるための画像復号プログラム。
(9)本発明のその他の態様は、前記パターン決定部は、前記距離画像のブロックに含まれる画素毎の深度値が予め設定された閾値を超える画素の分布と前記第1の信号値をとる画素の分布に基づき、前記パターンブロックを読み出すことを特徴とする(7)の画像復号装置である。
(10)本発明のその他の態様は、過去に復号したフレームの参照画像を記憶する画面記憶部と、第1の信号値をとる画素とその他の信号値をとる画素からなり、前記第1の信号値をとる画素の分布が異なる複数個のパターンブロックを記憶するコードブックとを備え、画素毎の輝度値からなるテクスチャ画像をブロック毎に復号する画像復号装置における画像復号方法において、前記画像復号装置が、視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンブロックを前記コードブックから読み出す第1の過程と、前記画像復号装置が、入力された動きベクトル符号に対応する参照画像のブロックを前記画面記憶部から読み出し、前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める第2の過程とを有することを特徴とする画像復号方法である。
(11)本発明のその他の態様は、過去に復号したフレームの参照画像を記憶する画面記憶部と、第1の信号値をとる画素とその他の信号値をとる画素からなり、前記第1の信号値をとる画素の分布が異なる複数個のパターンブロックを記憶するコードブックとを備え、画素毎の輝度値からなるテクスチャ画像をブロック毎に復号する画像復号装置が備えるコンピュータに、視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンブロックを前記コードブックから読み出す手順、入力された動きベクトル符号に対応する参照画像のブロックを前記画面記憶部から読み出し、前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める手順を実行させるための画像復号プログラムである。
本発明によれば、テクスチャ画像を高い能率で符号化又は復号できる。
以下、図面を参照しながら本発明の実施形態について説明する。
図1は、本実施形態に係る3次元画像撮影システムを示す概略図である。
この画像撮影システムは、撮影装置31、撮影装置32、画像前置処理部41及び画像符号化装置1を含んで構成される。
撮影装置31及び撮影装置32は、互いに異なる位置(視点)に設置され同一の視野に含まれる被写体の画像を予め定めた時間間隔で撮影する。撮影装置31及び撮影装置32は、撮影した画像をそれぞれ画像前置処理部41に出力する。
図1は、本実施形態に係る3次元画像撮影システムを示す概略図である。
この画像撮影システムは、撮影装置31、撮影装置32、画像前置処理部41及び画像符号化装置1を含んで構成される。
撮影装置31及び撮影装置32は、互いに異なる位置(視点)に設置され同一の視野に含まれる被写体の画像を予め定めた時間間隔で撮影する。撮影装置31及び撮影装置32は、撮影した画像をそれぞれ画像前置処理部41に出力する。
画像前置処理部41は、撮影装置31及び撮影装置32のいずれか一方、例えば撮影装置31から入力された画像をテクスチャ画像と定める。画像前置処理部41は、テクスチャ画像と、その他の撮影装置32から入力された画像との視差を画素毎に算出し、算出した視差に基づき距離画像を生成する。距離画像では、画素毎に、視点から被写体までの距離を表す深度値が定められている。例えば、国際標準化機構/国際電機標準会議(ISO/IEC)のワーキンググループであるMPEG(Moving Picture Experts Group)が定めた国際規格MPEC−C part3では、深度値を8ビット(256階層)で表すことを規定している。即ち、距離画像は、画素ごとの深度値を用いて濃淡を表す。また、視点から被写体までの距離が近いほど、深度値がより大きくなるため、より高い輝度の(より明るい)画像を構成する。
画像前置処理部41は、テクスチャ画像と生成した距離画像を画像符号化装置1に出力する。
画像前置処理部41は、テクスチャ画像と生成した距離画像を画像符号化装置1に出力する。
なお、本実施形態では、画像撮影システムが備える撮影装置の数は2台に限らず、3台以上であってもよい。また、画像符号化装置1が入力されるテクスチャ画像及び距離画像は、撮影装置31及び撮影装置32が撮影した画像に基づくものでなくともよく、予め合成された画像であってもよい。
図2は、本実施形態に係る画像符号化装置1の構成を示す概略図である。
画像符号化装置1は、テクスチャ画像入力部100、画面記憶部101、コードブック102、型判定部103、スイッチ1041、スイッチ1042、スイッチ1043、スイッチ1044、動き予測部105、動き領域予測部106、画面内予測部107、減算部108、配列部109、符号化制御部110、DCT部111、逆DCT部112、逆配列部113、加算部114、可変長符号化部115及び距離画像符号化部12を含んで構成される。
画像符号化装置1は、テクスチャ画像入力部100、画面記憶部101、コードブック102、型判定部103、スイッチ1041、スイッチ1042、スイッチ1043、スイッチ1044、動き予測部105、動き領域予測部106、画面内予測部107、減算部108、配列部109、符号化制御部110、DCT部111、逆DCT部112、逆配列部113、加算部114、可変長符号化部115及び距離画像符号化部12を含んで構成される。
テクスチャ画像入力部100は、画像符号化装置1の外部からテクスチャ画像をフレーム毎に入力され、入力されたテクスチャ画像からブロック(テクスチャ画像ブロック)を抽出する。
テクスチャ画像入力部100は、抽出したテクスチャ画像ブロックを型判定部103、動き予測部105、動き領域予測部106、画面内予測部107、減算部108及び符号化制御部110に出力する。
テクスチャ画像ブロックは、予め定めた数の画素(例えば、水平方向16画素×垂直方向16画素)からなる。
テクスチャ画像入力部100は、抽出したテクスチャ画像ブロックを型判定部103、動き予測部105、動き領域予測部106、画面内予測部107、減算部108及び符号化制御部110に出力する。
テクスチャ画像ブロックは、予め定めた数の画素(例えば、水平方向16画素×垂直方向16画素)からなる。
テクスチャ画像入力部100は、ラスタースキャンの順序でテクスチャ画像ブロックを抽出するブロックの位置を、各ブロックが重ならないようにシフトさせる。即ち、テクスチャ画像入力部100は、テクスチャ画像ブロックを抽出するブロックをフレームの左上端から順次水平方向の画素数だけ右に移動させる。テクスチャ画像入力部100は、テクスチャ画像ブロックを抽出するブロックの右端がフレームの右端に達した後、そのブロックを垂直方向の画素数だけ下で、かつフレームの左端に移動させる。テクスチャ画像入力部100は、このようにしてテクスチャ画像ブロックを抽出するブロックがフレームの右下に達するまで移動させる。
画面記憶部101は、加算部114から入力された参照画像ブロックを、対応するフレームにおけるそのブロックの位置に配置して参照画像として記憶する。この参照画像ブロックは、過去にテクスチャ画像ブロックを符号化した画像ブロックである。このように参照画像ブロックを配置して構成したフレームの画像信号を参照画像と呼ぶ。画面記憶部101は、現在から予め設定されたフレーム数(例えば5フレーム)過去のフレームの参照画像を記憶し、それ以前の過去のフレームの参照画像を削除する。
コードブック102は、複数のパターンブロックと、配列パターンを各パターンブロックに対応づけて記憶する。
コードブック102は、複数のパターンブロックと、配列パターンを各パターンブロックに対応づけて記憶する。
パターンブロックとは、それぞれテクスチャ画像ブロックと同じ数の画素を含むデータブロックであって、その画素の一部の画素に対応する信号値は予め定めた第1の信号値(例えば1)であり、その他の画素に対応する信号値は、信号値1とは異なる値(例えば0)である。コードブック102に記憶されるパターンブロックは、互いに信号値1又は信号値0が占める画素の領域が異なる。
図3は、本実施形態に係るパターンブロックの一例を示す概念図である。
図3は、8個のパターンブロック301〜308を示す。各パターンブロックにおいて、256画素(水平方向16画素×垂直方向16画素)を含み、白抜きの部分は信号値1を示す画素(64画素)が占める部分を示し、塗りつぶしの部分は信号値0を示す画素(192画素)が占める部分を示す。
図3は、本実施形態に係るパターンブロックの一例を示す概念図である。
図3は、8個のパターンブロック301〜308を示す。各パターンブロックにおいて、256画素(水平方向16画素×垂直方向16画素)を含み、白抜きの部分は信号値1を示す画素(64画素)が占める部分を示し、塗りつぶしの部分は信号値0を示す画素(192画素)が占める部分を示す。
パターンブロック301において、最左列から左側4列目までの画素は信号値1をとり、最右列から右側12列の画素は信号値0をとる画素である。パターンブロック302において、最左列から左側12列目までの画素は信号値0をとり、最右列から右側4列目までの画素は信号値1をとる。パターンブロック303において、最上行から上側4行目までの画素は信号値1をとり、最下行から12行までの画素は信号値0をとる。パターンブロック304において、最上行から上側12行の画素は信号値0をとり、最下行から下4行の画素は信号値1をとる。
パターンブロック305において、左下端から8行目から右下端を横切る線より下側の画素は信号値1をとり、その線より上側の画素は信号値0をとる。パターンブロック306において、左下端から右下端から8行目を横切る線より下側の画素は信号値1をとり、その線より上側の画素は信号値0をとる。パターンブロック307において、左上端から8列目より左下端を横切る線より左側の画素は信号値1をとり、その線より右側の画素は信号値0をとる。パターンブロック308において、右上端から8列目より右下端を横切る線より右の画素は信号値1をとり、その線より左の画素は信号値0をとる。
パターンブロック305において、左下端から8行目から右下端を横切る線より下側の画素は信号値1をとり、その線より上側の画素は信号値0をとる。パターンブロック306において、左下端から右下端から8行目を横切る線より下側の画素は信号値1をとり、その線より上側の画素は信号値0をとる。パターンブロック307において、左上端から8列目より左下端を横切る線より左側の画素は信号値1をとり、その線より右側の画素は信号値0をとる。パターンブロック308において、右上端から8列目より右下端を横切る線より右の画素は信号値1をとり、その線より左の画素は信号値0をとる。
配列パターンとは、各パターンブロックに含まれる信号値1をとる各画素の配列前の座標と配列部109が配列する配列後の座標を対応付け、配列前の座標を読み取る順に記憶するデータパターンである。
図4は、本実施形態に係る配列パターンの一例を示す図である。
図4において、最左列の各行はパターンブロックを示す。図4の最左列の第2行はパターンブロック301を示し、その後にパターンブロック305を示す。図4の最上行のq1、q2、q3、…q63、q64は、配列部109がその配列前の座標の画素を読み取る順序を示す。各パターンブロックに対応する2つの行のうち、上の行が、各パターンブロックが含む信号値1をとる画素の配列前の座標を示し、下の行が、配列後の座標を示す。
図4のパターンブロック301において、配列部109は、座標(1、1)、(2、1)、(3、1)…(2、16)、(1,16)の順で画素を読み出し、これらの座標が配列後の座標(1、1)、(2、1)、(3、1)…(2、8)、(1、8)に各々対応することを示す。
図4のパターンブロック301において、配列部109は、座標(16、16)、(15、16)、(15、15)…(2、8)、(1,8)の順で画素を読み出し、これらの座標が配列後の座標(1、1)、(2、1)、(3、1)…(2、8)、(1、8)に各々対応することを示す。
図4は、本実施形態に係る配列パターンの一例を示す図である。
図4において、最左列の各行はパターンブロックを示す。図4の最左列の第2行はパターンブロック301を示し、その後にパターンブロック305を示す。図4の最上行のq1、q2、q3、…q63、q64は、配列部109がその配列前の座標の画素を読み取る順序を示す。各パターンブロックに対応する2つの行のうち、上の行が、各パターンブロックが含む信号値1をとる画素の配列前の座標を示し、下の行が、配列後の座標を示す。
図4のパターンブロック301において、配列部109は、座標(1、1)、(2、1)、(3、1)…(2、16)、(1,16)の順で画素を読み出し、これらの座標が配列後の座標(1、1)、(2、1)、(3、1)…(2、8)、(1、8)に各々対応することを示す。
図4のパターンブロック301において、配列部109は、座標(16、16)、(15、16)、(15、15)…(2、8)、(1,8)の順で画素を読み出し、これらの座標が配列後の座標(1、1)、(2、1)、(3、1)…(2、8)、(1、8)に各々対応することを示す。
図5は、本実施形態における配列前後の画素の座標の一例を示す概念図である。
図5の左側はパターンブロック301を示す。パターンブロック301の左上端から順次空間的に隣り合う画素を通り、左下端に向かう破線の矢印は、配列部109が配列前の座標の画素を読み取る順序q1、q2、q3、…q63、q64を示す。読み取る画素の順序を順次空間的に隣り合う画素とすることで、画素毎の空間的な変動の少ない成分を維持することができる。
図5の右側は配列先となる配列先ブロックを示す。この例では、配列先ブロックは、64画素(水平方向8画素×垂直方向8画素)を含む。配列先ブロックの左上端から順次空間的に隣り合う画素を通り、左下端に向かう破線の矢印は、配列部109が読み取った画素毎に配置後の座標を配置する順序q1、q2、q3、…q63、q64を示す。配列先ブロックにおいて水平方向と垂直方向とで画素数を等しくすることで、後述するDCT処理を行って得られる周波数領域信号の空間周波数の精度を水平方向と垂直方向で等しくすることができる。また、配列先ブロックでも、配列後の画素を順次空間的に隣り合う画素とすることで、画素毎の空間的な変動の少ない成分を維持することができる。
図5の左側はパターンブロック301を示す。パターンブロック301の左上端から順次空間的に隣り合う画素を通り、左下端に向かう破線の矢印は、配列部109が配列前の座標の画素を読み取る順序q1、q2、q3、…q63、q64を示す。読み取る画素の順序を順次空間的に隣り合う画素とすることで、画素毎の空間的な変動の少ない成分を維持することができる。
図5の右側は配列先となる配列先ブロックを示す。この例では、配列先ブロックは、64画素(水平方向8画素×垂直方向8画素)を含む。配列先ブロックの左上端から順次空間的に隣り合う画素を通り、左下端に向かう破線の矢印は、配列部109が読み取った画素毎に配置後の座標を配置する順序q1、q2、q3、…q63、q64を示す。配列先ブロックにおいて水平方向と垂直方向とで画素数を等しくすることで、後述するDCT処理を行って得られる周波数領域信号の空間周波数の精度を水平方向と垂直方向で等しくすることができる。また、配列先ブロックでも、配列後の画素を順次空間的に隣り合う画素とすることで、画素毎の空間的な変動の少ない成分を維持することができる。
図6は、本実施形態における配列前後の画素の座標のその他の例を示す概念図である。
図6の左側はパターンブロック309を示す。パターンブロック309の右下端から順次空間的に隣り合う画素を通り、左下端に向かう破線の矢印は、配列部109が配列前の座標の画素を読み取る順序q1、q2、q3、…q63、q64を示す。
図6の右側は配列先となる配列先ブロック(64画素、水平方向8画素×垂直方向8画素)を示す。配列先ブロックの左上端から順次空間的に隣り合う画素を通り、左下端に向かう破線の矢印は、配列部109が配列前の座標の画素を配列後の座標に配列する順序q1、q2、q3、…q63、q64を示す。
図6の左側はパターンブロック309を示す。パターンブロック309の右下端から順次空間的に隣り合う画素を通り、左下端に向かう破線の矢印は、配列部109が配列前の座標の画素を読み取る順序q1、q2、q3、…q63、q64を示す。
図6の右側は配列先となる配列先ブロック(64画素、水平方向8画素×垂直方向8画素)を示す。配列先ブロックの左上端から順次空間的に隣り合う画素を通り、左下端に向かう破線の矢印は、配列部109が配列前の座標の画素を配列後の座標に配列する順序q1、q2、q3、…q63、q64を示す。
1個のパターンブロックに含まれる信号値1をとる画素数は、64個に限られず、その個数よりも多くても少なくてもよい。例えば、ある整数b(bは2又は2よりも大きい)の二乗値b2の整数a倍であってもよい。
図7は、本実施形態に係るパターンブロックのその他の例を示す概念図である。
図7は、8個のパターンブロック321〜324、331〜334を示す。各パターンブロックにおいて、256画素(水平方向16画素×垂直方向16画素)を含み、白抜きの部分は信号値1を示す画素が占める部分を示し、塗りつぶしの部分は信号値0を示す画素が占める部分を示す。パターンブロック321〜324において、各々信号値1をとる画素の数は128個(2×82個)である。パターンブロック331〜334において、各々信号値1をとる画素の数は192個(3×82個)である。
図7は、本実施形態に係るパターンブロックのその他の例を示す概念図である。
図7は、8個のパターンブロック321〜324、331〜334を示す。各パターンブロックにおいて、256画素(水平方向16画素×垂直方向16画素)を含み、白抜きの部分は信号値1を示す画素が占める部分を示し、塗りつぶしの部分は信号値0を示す画素が占める部分を示す。パターンブロック321〜324において、各々信号値1をとる画素の数は128個(2×82個)である。パターンブロック331〜334において、各々信号値1をとる画素の数は192個(3×82個)である。
パターンブロック321において、最左列から左側8列の画素は信号値1をとり、最右列から右側8列の画素は信号値0をとる画素である。パターンブロック302において、最左列から左側8列の画素は信号値0をとり、最右列から右側8列の画素は信号値1をとる。パターンブロック303において、最上行から上側8行の画素は信号値1をとり、最下行から下側8行の画素は信号値0をとる。パターンブロック304において、最上行から上側8行の画素は信号値0をとり、最下行から下側8行の画素は信号値1をとる。
パターンブロック331において、最左列から左側12列の画素は信号値1をとり、最右列から右側4列の画素は信号値0をとる画素である。パターンブロック332において、最左列から左側4列の画素は信号値0をとり、最右列から右側12列の画素は信号値1をとる。パターンブロック333において、最上行から上側12行の画素は信号値1をとり、最下行から下側4行の画素は信号値0をとる。パターンブロック334において、最上行から上側4行の画素は信号値0をとり、最下行から下側12行の画素は信号値1をとる。
パターンブロック331において、最左列から左側12列の画素は信号値1をとり、最右列から右側4列の画素は信号値0をとる画素である。パターンブロック332において、最左列から左側4列の画素は信号値0をとり、最右列から右側12列の画素は信号値1をとる。パターンブロック333において、最上行から上側12行の画素は信号値1をとり、最下行から下側4行の画素は信号値0をとる。パターンブロック334において、最上行から上側4行の画素は信号値0をとり、最下行から下側12行の画素は信号値1をとる。
このように、信号値1をとる画素数が、整数値8の二乗値の整数倍の場合には、配列先ブロックとして水平方向の画素数と垂直方向の画素数が等しい配列先ブロックを、複数個用いてもよい。従って、配列パターンは、パターンブロックに含まれる信号値1をとる 画素の配列前の座標の座標に対応して、配列先の座標の他、配列先の配列先ブロックを示す情報を含む。
図8は、本実施形態に係る配列パターンのその他の例を示す図である。
図8において、最左列の各行はパターンブロックを示す。図8の最左列の第2行はパターンブロック321を示し、その後にパターンブロック331を示す。図8の最上行のq1、q2、q3、…q63、q64、q65、q66、…q127、q128、q129、q130、…q191、q192は、配列部109がその配列前の座標の画素を読み取る順序を示す。各パターンブロックに対応する2つの行のうち、上の行が、各パターンブロックが含む信号値1をとる画素の配列前の座標を示し、下の行が、配列後の配列先ブロックと座標を示す。例えば、1、1、1とは、配列先ブロック1の座標(1、1)を示す。−印は該当するデータが存在しないことを示す。
図8は、本実施形態に係る配列パターンのその他の例を示す図である。
図8において、最左列の各行はパターンブロックを示す。図8の最左列の第2行はパターンブロック321を示し、その後にパターンブロック331を示す。図8の最上行のq1、q2、q3、…q63、q64、q65、q66、…q127、q128、q129、q130、…q191、q192は、配列部109がその配列前の座標の画素を読み取る順序を示す。各パターンブロックに対応する2つの行のうち、上の行が、各パターンブロックが含む信号値1をとる画素の配列前の座標を示し、下の行が、配列後の配列先ブロックと座標を示す。例えば、1、1、1とは、配列先ブロック1の座標(1、1)を示す。−印は該当するデータが存在しないことを示す。
図8のパターンブロック321において、配列部109は、座標(1、1)、(2、1)、(3、1)…(2、8)、(1、8)、(1、9)、(2、9)…(2、16)、(1、16)の順で画素を読み出し、これらの配列前の座標に、各々配列先ブロック1の(1、1)、(2、1)、(3、1)…(2、8)、(1、8)、配列先ブロック2の(1、1)、(1、2)…(2、8)、(1、8)に配列後の配列先ブロック及び座標が対応することを示す。
図8のパターンブロック331において、配列部109は、座標(1、1)、(2、1)、(3、1)…(6、10)、(6、9)、(6、8)、(6、7)…(11、7)、(11、8)、(11、9)、(11、10)…(16、2)、(16、1)の順で画素を読み出し、これらの配列前の座標に、各々配列先ブロック1の(1、1)、(2、1)、(3、1)…(2、8)、(1、8)、配列先ブロック2の(1、1)、(1、2)…(2、8)、(1、8)、配列先ブロック3の(1、1)、(1、2)…(2、8)、(1、8)に配列後の配列先ブロック及び座標が対応することを示す。
図8のパターンブロック331において、配列部109は、座標(1、1)、(2、1)、(3、1)…(6、10)、(6、9)、(6、8)、(6、7)…(11、7)、(11、8)、(11、9)、(11、10)…(16、2)、(16、1)の順で画素を読み出し、これらの配列前の座標に、各々配列先ブロック1の(1、1)、(2、1)、(3、1)…(2、8)、(1、8)、配列先ブロック2の(1、1)、(1、2)…(2、8)、(1、8)、配列先ブロック3の(1、1)、(1、2)…(2、8)、(1、8)に配列後の配列先ブロック及び座標が対応することを示す。
図9は、本実施形態における配列前後の画素の座標のその他の例を示す概念図である。
図9の左側はパターンブロック321を示す。パターンブロック321の左上端から順次空間的に隣り合う画素を通り、左下端に向かう破線の矢印は、配列部109が配列前の座標の画素を読み取る順序q1、q2、q3、…q63、q64、q65、q66、…q127、q128を示す。図9の右上及び右下は配列先となる配列先ブロック421をそれぞれ示す。この例では、各配列先ブロックは、64画素(水平方向8画素×垂直方向8画素)を含む。各配列先ブロックの左上端から順次空間的に隣り合う画素を通って左下端に向かい、次の配列先ブロックに進む破線の矢印は、配列部109が読み取った画素を配置後の座標に配置する順序q1、q2、q3、…q63、q64、q65、q66、…q127、q128を示す。 各配列先ブロックにおいて水平方向と垂直方向とで画素数を等しくすることで、後述するDCT処理を行って得られる周波数領域信号の空間周波数の精度を水平方向と垂直方向で等しくすることができる。
図9の左側はパターンブロック321を示す。パターンブロック321の左上端から順次空間的に隣り合う画素を通り、左下端に向かう破線の矢印は、配列部109が配列前の座標の画素を読み取る順序q1、q2、q3、…q63、q64、q65、q66、…q127、q128を示す。図9の右上及び右下は配列先となる配列先ブロック421をそれぞれ示す。この例では、各配列先ブロックは、64画素(水平方向8画素×垂直方向8画素)を含む。各配列先ブロックの左上端から順次空間的に隣り合う画素を通って左下端に向かい、次の配列先ブロックに進む破線の矢印は、配列部109が読み取った画素を配置後の座標に配置する順序q1、q2、q3、…q63、q64、q65、q66、…q127、q128を示す。 各配列先ブロックにおいて水平方向と垂直方向とで画素数を等しくすることで、後述するDCT処理を行って得られる周波数領域信号の空間周波数の精度を水平方向と垂直方向で等しくすることができる。
図10は、本実施形態における配列前後の画素の座標のその他の例を示す概念図である。
図10の左側はパターンブロック331を示す。パターンブロック331の左上端から順次空間的に隣り合う画素を通り、右下端に向かう破線の矢印は、配列部109が配列前の座標の画素を読み取る順序q1、q2、q3、…q63、q64、q65、q66、…q127、q128、q129、q130、…q191、q192を示す。
図10の右上、右中央及び右下は配列先となる配列先ブロック431をそれぞれ示す。この例では、各配列先ブロックは、64画素(水平方向8画素×垂直方向8画素)を含む。各配列先ブロックの左上端から順次空間的に隣り合う画素を通り、左下端に向かう破線の矢印は、配列部109が読み取った座標の画素を配列後の座標に配列する順序q1、q2、q3、…q63、q64、q65、q66、…q127、q128、q129、q130、…q191、q192を示す。
図10の左側はパターンブロック331を示す。パターンブロック331の左上端から順次空間的に隣り合う画素を通り、右下端に向かう破線の矢印は、配列部109が配列前の座標の画素を読み取る順序q1、q2、q3、…q63、q64、q65、q66、…q127、q128、q129、q130、…q191、q192を示す。
図10の右上、右中央及び右下は配列先となる配列先ブロック431をそれぞれ示す。この例では、各配列先ブロックは、64画素(水平方向8画素×垂直方向8画素)を含む。各配列先ブロックの左上端から順次空間的に隣り合う画素を通り、左下端に向かう破線の矢印は、配列部109が読み取った座標の画素を配列後の座標に配列する順序q1、q2、q3、…q63、q64、q65、q66、…q127、q128、q129、q130、…q191、q192を示す。
図5、6、9及び10に示す例では、読み取った座標の画素を配列先ブロックにおいて配列後の座標に配列する順序は全体として順次空間的に隣り合っているが、本実施形態ではこれに限られない。例えば、その配列する順序は、配列先ブロックを構成するサブブロック単位で隣り合っていてもよい。
図11は、本実施形態における配列先ブロックのその他の例を示す図である。
図11の左上は配列先ブロック402を示し、図11の右上は配列先ブロック403を示し、図11の左下は配列先ブロック404を示し、図11の右下は配列先ブロック405を示す。配列先ブロック402−405は、各々64画素(水平方向8画素×垂直方向8画素)を含む。
図11は、本実施形態における配列先ブロックのその他の例を示す図である。
図11の左上は配列先ブロック402を示し、図11の右上は配列先ブロック403を示し、図11の左下は配列先ブロック404を示し、図11の右下は配列先ブロック405を示す。配列先ブロック402−405は、各々64画素(水平方向8画素×垂直方向8画素)を含む。
配列先ブロック402において、左上端から右下端に向かう破線の矢印は、配列部109が読み取った座標の画素を配列後の座標に配列する順序q1、q2、q3、q4、q5、…q15、q16、q17、q18、…q64を示す。この矢印は、当初配列先のブロック402の左上端から順次右隣の画素に進み第4列に達した後、次行の同じ列に進み、順次左隣の画素に進む。最左列に達した後、再度順次右隣の画素に進む。そして、第4行の第4列に達した後、最上行の第5列に進み、順次右隣の画素に進む。即ち、配列先ブロック402において、配列後の順序は、水平方向4画素×垂直方向4画素からなるサブブロック単位で隣り合う。
配列先ブロック403において、左上端から右下端に向かう破線の矢印は、配列部109が読み取った座標の画素を配列後の座標に配列する順序q1、q2、q3、q4、q5、…q64を示す。この矢印は、当初配列先のブロック403の左上端から右隣の第2列に達した後、次行の最左列に進み、その後左隣に進む。その後、最上行の第3列に進み、再度順次右隣の画素に進む。即ち、配列先ブロック403において、配列後の順序は、水平方向2画素×垂直方向2画素からなるサブブロック単位で隣り合う。
配列先ブロック403において、左上端から右下端に向かう破線の矢印は、配列部109が読み取った座標の画素を配列後の座標に配列する順序q1、q2、q3、q4、q5、…q64を示す。この矢印は、当初配列先のブロック403の左上端から右隣の第2列に達した後、次行の最左列に進み、その後左隣に進む。その後、最上行の第3列に進み、再度順次右隣の画素に進む。即ち、配列先ブロック403において、配列後の順序は、水平方向2画素×垂直方向2画素からなるサブブロック単位で隣り合う。
配列先ブロック404において、左上端から最下行右から第4列目の画素に向かう破線の矢印は、配列部109が読み取った座標の画素を配列後の座標に配列する順序q1、q2、q3、q4、q5、q6、…q31、q32、q33、q34、…q64を示す。この矢印は、当初配列先のブロック402の左上端から順次右隣の画素に進み第4列に達した後、次行の同じ列に進み、順次左隣の画素に進む。最左列に達した後、次行の同じ列に進み、再度順次右隣の画素に進む。そして、ブロックの左下端に達した後、最上行の第5列に進み、順次左隣の画素に進む。即ち、配列先ブロック402において、配列後の座標に配列する順序は、水平方向4画素×垂直方向8画素からなるサブブロック単位で隣り合う。
配列先ブロック405において、左上端から最下行右から第2列目の画素に向かう破線の矢印は、配列部109が読み取った座標の画素を配列後の座標に配列する順序q1、q2、q3、q4、…q15、q16、q17、q18、…q64を示す。この矢印は、当初配列先のブロック403の左上端から右隣の第2列に達した後、次行の同じ列に進み、左隣の画素に進む。そして、ブロックの左下端に達した後、最上行の第3列に進み、右隣の画素に進む。即ち、配列先ブロック403において、配列後の座標に配列する順序は、水平方向2画素×垂直方向8画素からなるサブブロック単位で隣り合う。
配列先ブロック405において、左上端から最下行右から第2列目の画素に向かう破線の矢印は、配列部109が読み取った座標の画素を配列後の座標に配列する順序q1、q2、q3、q4、…q15、q16、q17、q18、…q64を示す。この矢印は、当初配列先のブロック403の左上端から右隣の第2列に達した後、次行の同じ列に進み、左隣の画素に進む。そして、ブロックの左下端に達した後、最上行の第3列に進み、右隣の画素に進む。即ち、配列先ブロック403において、配列後の座標に配列する順序は、水平方向2画素×垂直方向8画素からなるサブブロック単位で隣り合う。
図2に戻り、型判定部103は、テクスチャ画像入力部100からテクスチャ画像ブロックを入力され、距離画像符号化部12から距離画像ブロックを入力される。入力された距離画像ブロックのフレーム及び座標は、入力されたテクスチャ画像ブロックと同一である。
型判定部103は、入力されたテクスチャ画像ブロックに対応する参照画像ブロックをさらに画面記憶部101から読み出し、入力された距離画像ブロックに対応するパターンブロックを読み出す。
型判定部103は、入力されたテクスチャ画像ブロック、読み出した参照画像ブロック及び読み出したパターンブロックに基づき、そのテクスチャ画像ブロックにおける動き領域信号を算出する。
型判定部103は、算出した動き領域信号と読み出したパターンブロックと照合し、照合したパターンブロックを動き領域予測部106に出力する。型判定部103は、照合したパターンブロックを示すパターンブロック信号を配列部109及び逆配列部113に出力する。
型判定部103は、入力されたテクスチャ画像ブロック、距離画像ブロック、読み出した参照画像ブロック及びパターンブロックに基づき、そのテクスチャ画像の型を判定する。
型判定部103は、判定した型を示す型信号をスイッチ1041、スイッチ1042、スイッチ1043及び可変長符号化部115に出力する。
型判定部103は、入力されたテクスチャ画像ブロックに対応する参照画像ブロックをさらに画面記憶部101から読み出し、入力された距離画像ブロックに対応するパターンブロックを読み出す。
型判定部103は、入力されたテクスチャ画像ブロック、読み出した参照画像ブロック及び読み出したパターンブロックに基づき、そのテクスチャ画像ブロックにおける動き領域信号を算出する。
型判定部103は、算出した動き領域信号と読み出したパターンブロックと照合し、照合したパターンブロックを動き領域予測部106に出力する。型判定部103は、照合したパターンブロックを示すパターンブロック信号を配列部109及び逆配列部113に出力する。
型判定部103は、入力されたテクスチャ画像ブロック、距離画像ブロック、読み出した参照画像ブロック及びパターンブロックに基づき、そのテクスチャ画像の型を判定する。
型判定部103は、判定した型を示す型信号をスイッチ1041、スイッチ1042、スイッチ1043及び可変長符号化部115に出力する。
ここで、型判定部103の構成及び機能について説明する。
図12は、本実施形態に係る型判定部103の構成を示す概略図である。
型判定部103は、動き領域決定部1031、パターン決定部1032及び動き予測決定部1033を含んで構成される。
動き領域決定部1031は、テクスチャ画像入力部100から入力されたテクスチャ画像ブロックにおいて、画面記憶部101から読み出した参照画像ブロックに基づいて、動き領域を決定する。
動き領域とは、時間経過により画像が表示される位置が変化する領域である。動き領域決定部1031は、動き領域を、テクスチャ画像ブロックに含まれる座標(x,y)における画素の輝度値C(x,y)と参照画像ブロックに含まれる対応する座標(x,y)における画素の輝度値R(x,y)に基づいて座標(x,y)が動き領域か否かを判定する。ここで、動き領域決定部1031は、例えば輝度値C(x,y)と輝度値R(x,y)との差分の絶対値に基づき、動き領域情報M(x,y)を、式(1)を用いて算出する。
図12は、本実施形態に係る型判定部103の構成を示す概略図である。
型判定部103は、動き領域決定部1031、パターン決定部1032及び動き予測決定部1033を含んで構成される。
動き領域決定部1031は、テクスチャ画像入力部100から入力されたテクスチャ画像ブロックにおいて、画面記憶部101から読み出した参照画像ブロックに基づいて、動き領域を決定する。
動き領域とは、時間経過により画像が表示される位置が変化する領域である。動き領域決定部1031は、動き領域を、テクスチャ画像ブロックに含まれる座標(x,y)における画素の輝度値C(x,y)と参照画像ブロックに含まれる対応する座標(x,y)における画素の輝度値R(x,y)に基づいて座標(x,y)が動き領域か否かを判定する。ここで、動き領域決定部1031は、例えば輝度値C(x,y)と輝度値R(x,y)との差分の絶対値に基づき、動き領域情報M(x,y)を、式(1)を用いて算出する。
式(1)において、Bはクロージング処理を示す3行×3列の行列である。クロージング処理とは、画像信号に対して膨張処理を行い、生成された信号に対して収縮処理を行う処理である。膨張処理とは、注目画素に隣接する画素の輝度値のうち最大となる輝度値を、注目画素の輝度値と定める処理である。収縮処理とは、注目画素に隣接する画素の輝度値のうち最小となる輝度値を、注目画素の輝度値と定める処理である。従って、クロージング処理は、テクスチャ画像ブロック及び参照画像ブロックのうち画素間隔と同程度の空間周波数の成分である微細構造を除去して、その信号値を平滑化する。
式(1)において、T(ν)は、νが予め設定された閾値、例えば2よりも大きい場合1を与え、νが予め設定された閾値と等しい又は小さい場合0を与える関数である。|…|は、…の絶対値を示す。即ち、動き領域情報M(x,y)は、座標における画素が動き領域であるか否かを示す。
動き領域決定部1031が参照画像ブロックを読み出す参照画像であって、画面記憶部101に記憶されている参照画像は、符号化対象のフレームよりも過去のフレーム(例えば、1フレーム過去)の参照画像である。
式(1)において、T(ν)は、νが予め設定された閾値、例えば2よりも大きい場合1を与え、νが予め設定された閾値と等しい又は小さい場合0を与える関数である。|…|は、…の絶対値を示す。即ち、動き領域情報M(x,y)は、座標における画素が動き領域であるか否かを示す。
動き領域決定部1031が参照画像ブロックを読み出す参照画像であって、画面記憶部101に記憶されている参照画像は、符号化対象のフレームよりも過去のフレーム(例えば、1フレーム過去)の参照画像である。
次に、動き領域決定部1031は、参照画像ブロックに含まれる動き領域の大きさ(画素数)が、予め設定された閾値TSMBよりも小さいか否か判断する。閾値TSMBは、参照画像ブロックに含まれる画素数が256個の場合、例えば8である。
動き領域決定部1031は、その動き領域の大きさが閾値TSMBよりも小さいと判断したとき、そのテクスチャ画像ブロックの型をSMB(Static Macrobrock;静的マクロブロック)と判定する。このとき、動き領域決定部1031は、テクスチャ画像ブロックの型がSMBであることを示す型信号を動き予測決定部1033に出力する。
動き領域決定部1031は、その動き領域の大きさが閾値TSMBと等しい又は、閾値TSMBより大きいと判断したとき、そのテクスチャ画像ブロックの型が非SMBと判定する。このとき、動き領域決定部1031は、テクスチャ画像ブロックの型が非SMBであることを示す型信号をパターン決定部1032に出力する。また、動き領域決定部1031は、動き領域情報を動き予測決定部1033に出力する。
動き領域決定部1031は、その動き領域の大きさが閾値TSMBよりも小さいと判断したとき、そのテクスチャ画像ブロックの型をSMB(Static Macrobrock;静的マクロブロック)と判定する。このとき、動き領域決定部1031は、テクスチャ画像ブロックの型がSMBであることを示す型信号を動き予測決定部1033に出力する。
動き領域決定部1031は、その動き領域の大きさが閾値TSMBと等しい又は、閾値TSMBより大きいと判断したとき、そのテクスチャ画像ブロックの型が非SMBと判定する。このとき、動き領域決定部1031は、テクスチャ画像ブロックの型が非SMBであることを示す型信号をパターン決定部1032に出力する。また、動き領域決定部1031は、動き領域情報を動き予測決定部1033に出力する。
パターン決定部1032は、動き領域決定部1031からテクスチャ画像の非SMBであることを示す型信号を入力され、距離画像符号化部12から距離画像ブロックを入力される。パターン決定部1032は、読み出したパターンブロックのうち、入力された距離画像ブロックに対応するパターンブロックを決定する。
ここで、パターン決定部1032は、距離画像ブロックに含まれる座標(x,y)毎の距離値V(x,y)を、例えば式(2)を用いて二値化し、二値化距離パターンN(x,y)を算出する。
ここで、パターン決定部1032は、距離画像ブロックに含まれる座標(x,y)毎の距離値V(x,y)を、例えば式(2)を用いて二値化し、二値化距離パターンN(x,y)を算出する。
式(2)において、U(ν)は、νが予め設定した閾値(例えば0)より大きい場合に1を与え、νがその閾値又はその閾値よりも小さい場合に0を与える。min(V(x,y))は、距離画像ブロックに含まれる距離値の最小値である。
即ち、パターン決定部1032は、二値化距離パターンN(x,y)を、その閾値よりも距離値が大きい座標における値を1と決定し、その閾値と距離値が等しい又は距離値が小さい座標における値を0と決定する。
パターン決定部1032は、コードブック102に記憶されたパターンブロックから二値化距離パターンN(x,y)に最も近似するパターンブロックを選択する。パターン決定部1032は、最も近似するパターンブロックを選択する際、パターンブロックn毎に例えば式(3)に示す指標値Dnを算出する。
即ち、パターン決定部1032は、二値化距離パターンN(x,y)を、その閾値よりも距離値が大きい座標における値を1と決定し、その閾値と距離値が等しい又は距離値が小さい座標における値を0と決定する。
パターン決定部1032は、コードブック102に記憶されたパターンブロックから二値化距離パターンN(x,y)に最も近似するパターンブロックを選択する。パターン決定部1032は、最も近似するパターンブロックを選択する際、パターンブロックn毎に例えば式(3)に示す指標値Dnを算出する。
式(3)において、最初の和の記号における数値16は、この例におけるパターンブロックの水平方向の画素数である。後の和の記号における数値16は、この例におけるパターンブロックの垂直方向の画素数である。Pn(x,y)は、パターンブロックnの各座標(x,y)における信号値を示す。この例では、Pn(x,y)は、第1の信号値として1、とその他の信号値として0のいずれかである。
そして、パターン決定部1032は、指標値Dnを最小とするパターンブロックnを選択する。二値化距離パターンN(x,y)も、各座標(x,y)における信号値が1又は0をとるため、パターン決定部1032は、指標値Dnを最小とするパターンブロックnを複数個選択する場合がある。そのような場合には、例えば、選択された複数個のパターンブロックの中から最も番号が小さい(又は大きい)パターンブロックを1個選択する。
そして、パターン決定部1032は、指標値Dnを最小とするパターンブロックnを選択する。二値化距離パターンN(x,y)も、各座標(x,y)における信号値が1又は0をとるため、パターン決定部1032は、指標値Dnを最小とするパターンブロックnを複数個選択する場合がある。そのような場合には、例えば、選択された複数個のパターンブロックの中から最も番号が小さい(又は大きい)パターンブロックを1個選択する。
パターン決定部1032は、指標値Dnの最小値が予め設定された閾値σdよりも小さいか否か判断する。閾値σdは、参照画像ブロックに含まれる画素数が256個の場合、例えば64である。
パターン決定部1032は、指標値Dnの最小値が予め設定された閾値σnよりも小さいと判断した場合、テクスチャ画像ブロックの型をAMB(Active Macrobrock;活性マクロブロック)と判定する。パターン決定部1032は、テクスチャ画像ブロックの型がAMBであることを示す型信号を動き予測決定部1033に出力する。
パターン決定部1032は、指標値Dnの最小値が予め設定された閾値σdと等しい又は閾値σdより大きいと判断した場合、選択したパターンブロックPn(x,y)とそのパターンブロックを示すパターンブロック信号を動き予測決定部1033に出力する。
パターン決定部1032は、指標値Dnの最小値が予め設定された閾値σnよりも小さいと判断した場合、テクスチャ画像ブロックの型をAMB(Active Macrobrock;活性マクロブロック)と判定する。パターン決定部1032は、テクスチャ画像ブロックの型がAMBであることを示す型信号を動き予測決定部1033に出力する。
パターン決定部1032は、指標値Dnの最小値が予め設定された閾値σdと等しい又は閾値σdより大きいと判断した場合、選択したパターンブロックPn(x,y)とそのパターンブロックを示すパターンブロック信号を動き予測決定部1033に出力する。
動き予測決定部1033は、動き領域決定部1031からテクスチャ画像ブロックの型がSMBであることを示す型信号又は動き領域情報M(x,y)を入力される。動き予測決定部1033は、動き予測決定部1033からテクスチャ画像ブロックの型がAMBであることを示す型信号又は選択したパターンブロックPn(x,y)並びにパターンブロック信号を入力される。
動き予測決定部1033は、入力された動き領域情報M(x,y)と選択したパターンブロックPn(x,y)が類似しているか否かを判断する。動き予測決定部1033は、この判断を行う際、例えば式(4)に示す指標値Eを算出する。
動き予測決定部1033は、入力された動き領域情報M(x,y)と選択したパターンブロックPn(x,y)が類似しているか否かを判断する。動き予測決定部1033は、この判断を行う際、例えば式(4)に示す指標値Eを算出する。
式(4)において、最初の和の記号における数値16は、この例におけるパターンブロックの水平方向の画素数である。後の和の記号における数値16は、この例におけるパターンブロックの垂直方向の画素数である。
ここで、動き予測決定部1033は、算出した指標値Eが予め設定した閾値σeよりも小さいか否か判断する。閾値σeは、参照画像ブロックに含まれる画素数が256個の場合、例えば16である。
動き予測決定部1033は、動き領域情報M(x,y)とパターンブロックPn(x,y)が類似する、つまり算出した指標値Eが予め設定した閾値σeよりも小さいと判断したとき、テクスチャ画像ブロックの型がRMB(Active−Region Macrobrock;動き領域マクロブロック)と判定する。即ち、選択したパターンブロックが信号値1をとる領域と動き領域が近似する状態であることを示す。このとき、動き予測決定部1033は、選択したパターンブロックを動き領域予測部106に出力する。また、動き予測決定部1033は、入力されたパターンブロック信号を配列部109及び逆配列部113に出力する。
動き予測決定部1033は、動き領域情報M(x,y)とパターンブロックPn(x,y)が類似しない、つまり算出した指標値Eが予め設定した閾値σeと等しい、又は閾値σeよりも大きいと判断したとき、テクスチャ画像ブロックの型がAMBと判定する。
動き予測決定部1033は、テクスチャ画像ブロックの型を示す型信号をスイッチ1041、スイッチ1042、スイッチ1043及び可変長符号部115に出力する。
ここで、動き予測決定部1033は、算出した指標値Eが予め設定した閾値σeよりも小さいか否か判断する。閾値σeは、参照画像ブロックに含まれる画素数が256個の場合、例えば16である。
動き予測決定部1033は、動き領域情報M(x,y)とパターンブロックPn(x,y)が類似する、つまり算出した指標値Eが予め設定した閾値σeよりも小さいと判断したとき、テクスチャ画像ブロックの型がRMB(Active−Region Macrobrock;動き領域マクロブロック)と判定する。即ち、選択したパターンブロックが信号値1をとる領域と動き領域が近似する状態であることを示す。このとき、動き予測決定部1033は、選択したパターンブロックを動き領域予測部106に出力する。また、動き予測決定部1033は、入力されたパターンブロック信号を配列部109及び逆配列部113に出力する。
動き予測決定部1033は、動き領域情報M(x,y)とパターンブロックPn(x,y)が類似しない、つまり算出した指標値Eが予め設定した閾値σeと等しい、又は閾値σeよりも大きいと判断したとき、テクスチャ画像ブロックの型がAMBと判定する。
動き予測決定部1033は、テクスチャ画像ブロックの型を示す型信号をスイッチ1041、スイッチ1042、スイッチ1043及び可変長符号部115に出力する。
スイッチ1043は、型判定部103から入力された型信号がRMBを示す場合、スイッチを接点aに倒し、画面記憶部101から動き領域予測部106に参照信号ブロックを読み出せる状態にする。スイッチ1043は、型判定部103から入力された型信号がAMB又はSMBを示す場合、スイッチを接点bに倒し、画面記憶部101から動き予測部105に参照信号ブロックを読み出せる状態にする。
図2に戻り、動き予測部105は、テクスチャ画像入力部100からテクスチャ画像ブロックを入力され、画面記憶部101から参照画像を構成する参照画像ブロックを読み出す。動き予測部105は、入力された距離画像ブロックの座標と対応する参照画像ブロックとの座標との差分を動きベクトルとして検出する。動き予測部105は、動きベクトルを検出するために、例えばITU−T H.264規格書に記載されている方法を用いる。
動き予測部105は、画面記憶部101に記憶されている過去の参照画像のフレームから参照画像ブロックを読み出す位置を、テクスチャ画像ブロックの位置から予め設定した範囲内において水平方向又は垂直方向に1画素ずつ移動させる。動き予測部105は、テクスチャ画像ブロックに含まれる画素毎の信号値と読み出した参照画像ブロックに含まれる画素毎の信号との類似性を示す指標値、例えば、SAD(Sum of Absolute Difference;絶対値和)を算出する。SADの値が小さいほど、テクスチャ画像ブロックに含まれる画素毎の信号値と読み出した参照画像ブロックに含まれる画素毎の信号値とが類似するという関係がある。そこで、動き予測部105は、SADを最小とする参照画像ブロックを、テクスチャ画像ブロックと対応する参照画像ブロックと定める。動き予測部105は、入力されたテクスチャ画像ブロックの座標と定めた参照画像ブロックの座標に基づき動きベクトルを算出する。
動き予測部105は、定めた参照画像ブロックに基づき動き予測を行い、動き予測画像ブロックを生成する。動き予測部105は、動き予測において、例えば、定めた参照画像ブロックの座標をテクスチャ画像ブロックの座標に合わせることによって動き予測画像ブロックを生成する。
動き予測部105は、生成した動き予測画像ブロックをスイッチ1044と符号化制御部110に出力し、動きベクトルを示す動きベクトル信号を符号化制御部110に出力する。
動き予測部105は、生成した動き予測画像ブロックをスイッチ1044と符号化制御部110に出力し、動きベクトルを示す動きベクトル信号を符号化制御部110に出力する。
動き領域予測部106は、テクスチャ画像入力部100からテクスチャ画像ブロックを入力され、型判定部103からパターンブロックを入力される。動き領域予測部106は、入力されたテクスチャ画像ブロックのうちパターンブロックにおいて信号値1をとる画素の信号値をテクスチャ画像パターンとして抽出する。
動き領域予測部106は、画面記憶部101から参照画像を構成する参照画像ブロックを読み出す。ここで、動き領域予測部106は、画面記憶部101に記憶されている過去の参照画像のフレームから参照画像ブロックを読み出す位置を、テクスチャ画像ブロックの位置から予め設定した範囲内において水平方向又は垂直方向に1画素ずつ移動させる。動き領域予測部106は、読み出した参照画像ブロックのうちパターンブロックにおいて信号値1をとる画素の信号値を参照画像パターンとして抽出する。動き領域予測部106は、入力されたテクスチャ画像パターンの座標と対応する参照画像パターンとの座標との差分を動きベクトルとして検出する。
動き領域予測部106は、画面記憶部101から参照画像を構成する参照画像ブロックを読み出す。ここで、動き領域予測部106は、画面記憶部101に記憶されている過去の参照画像のフレームから参照画像ブロックを読み出す位置を、テクスチャ画像ブロックの位置から予め設定した範囲内において水平方向又は垂直方向に1画素ずつ移動させる。動き領域予測部106は、読み出した参照画像ブロックのうちパターンブロックにおいて信号値1をとる画素の信号値を参照画像パターンとして抽出する。動き領域予測部106は、入力されたテクスチャ画像パターンの座標と対応する参照画像パターンとの座標との差分を動きベクトルとして検出する。
ここで、動き領域予測部106は、テクスチャ画像パターンに含まれる画素毎の信号値と参照画像パターンに含まれる画素毎の信号との類似性を示す指標値、例えば、SADを算出する。動き領域予測部106は、SADを最小とする参照画像パターンを、テクスチャ画像パターンと対応する参照画像パターンと定める。動き領域予測部106は、テクスチャ画像パターンの座標と定めた参照画像パターンの座標に基づき動きベクトルを算出する。
動き領域予測部106は、定めた参照画像パターンに基づき動き予測を行い、動き領域予測画像パターンを生成する。動き領域予測部106は、動き予測において、例えば、定めた参照画像パターンの座標をテクスチャ画像パターンの座標に合わせることによって動き領域予測画像パターンを生成する。動き領域予測部106は、ブロック全体の画素における輝度値を0としたゼロ画像ブロックに生成した動き領域予測画像パターンの各画素の輝度値を加算することによりゼロ信号を挿入して動き領域予測画像ブロックを生成する。
動き領域予測部106は、生成した動き領域予測画像ブロックをスイッチ1044と符号化制御部110に出力し、動きベクトルを示す動きベクトル信号を符号化制御部110に出力する。
動き領域予測部106は、生成した動き領域予測画像ブロックをスイッチ1044と符号化制御部110に出力し、動きベクトルを示す動きベクトル信号を符号化制御部110に出力する。
画面内予測部107は、テクスチャ画像入力部100からテクスチャ画像ブロックを入力される。画面内予測部107は、画面記憶部101に記憶された参照画像であって、入力されたテクスチャ画像ブロックと同時刻に入力されたフレームの参照画像のうち既に符号化を行った参照画像ブロックを読み出す。画面内予測部107は、例えば、入力されたテクスチャ画像ブロックの左側又は上に隣接するブロックに対応する参照画像ブロックを読み出す。画面内予測部107は、読み出した参照画像ブロックに画面内予測を行い、画面内予測画像ブロックを生成する。画面内予測部107は、画面内予測を行うために、例えばITU−T H.264規格書に記載されている方法を用いる。
画面内予測部107は、生成した画面内予測画像ブロックをスイッチ1044及び符号化制御部110に出力する。
画面内予測部107は、生成した画面内予測画像ブロックをスイッチ1044及び符号化制御部110に出力する。
符号化制御部110は、テクスチャ画像入力部100からテクスチャ画像ブロックを入力される。符号化制御部110は、動き予測部105から動き予測画像ブロック及び動きベクトル信号を入力される。符号化制御部110は、動き領域予測部106から動き領域予測画像ブロック及び動きベクトル信号を入力される。符号化制御部110は、画面内予測部107から画面内予測画像ブロックを入力される。ここで、符号化制御部110は、動き予測部105又は動き領域予測部106からは同時に入力されず、何れか一方が入力される。
符号化制御部110は、テクスチャ画像ブロックと動き予測画像ブロックに基づき動き領域予測残差信号を算出する。符号化制御部110は、テクスチャ画像ブロックと動き領域予測画像ブロックに基づき動き領域予測画像残差信号を算出する。符号化制御部110は、テクスチャ画像ブロックと画面内予測画像ブロックに基づき画面内予測画像残差信号を算出する。
符号化制御部110は、テクスチャ画像ブロックと動き予測画像ブロックに基づき動き領域予測残差信号を算出する。符号化制御部110は、テクスチャ画像ブロックと動き領域予測画像ブロックに基づき動き領域予測画像残差信号を算出する。符号化制御部110は、テクスチャ画像ブロックと画面内予測画像ブロックに基づき画面内予測画像残差信号を算出する。
符号化制御部110は、算出した動き予測残差信号の大きさと画面内予測残差信号の大きさに基づき、例えば予測残差信号が小さいほうの予測方式(動き予測又は画面内予測のいずれか)を決定する。又は、符号化制御部110は、算出した動き領域予測残差信号の大きさと画面内予測残差信号の大きさに基づき、例えば予測残差信号が小さいほうの予測方式(動き領域予測又は画面内予測のいずれか)を決定する。
符号化制御部110は、決定した予測方式を示す予測方式信号をスイッチ1044及び可変長符号化部115に出力する。決定した予測方式が動き予測又は動き領域予測の場合には、動きベクトル信号を可変長符号化部115に出力する。
符号化制御部110は、決定した予測方式を示す予測方式信号をスイッチ1044及び可変長符号化部115に出力する。決定した予測方式が動き予測又は動き領域予測の場合には、動きベクトル信号を可変長符号化部115に出力する。
なお、符号化制御部110は、各予測方式について公知のコスト関数を用いて算出したコストが最小となる予測方式を決定してもよい。ここで、符号化制御部110は、動き予測残差信号に基づき動き予測残差信号の情報量を算出し、動き予測残差信号とその情報量に基づいて動き予測コストを算出する。符号化制御部110は、動き領域予測残差信号に基づき動き領域予測残差信号の情報量を算出し、動き領域予測残差信号とその情報量に基づいて動き領域予測コストを算出する。符号化制御部110は、画面内予測残差信号に基づき画面内予測残差信号の情報量を算出し、画面内予測残差信号とその情報量に基づいて画面内予測コストを算出する。
スイッチ1044は、動き予測部105から動き予測画像ブロックを入力され、動き領域予測部106から動き領域予測画像ブロックを入力され、画面内予測部107から画面内予測画像ブロックを入力され、符号化制御部110から予測方式信号を入力される。ここで、スイッチ1044は、スイッチ1043の作用により動き予測画像ブロック又は動き領域予測画像ブロックは同時に入力されず、何れか一方が入力される。
スイッチ1044は、入力された予測方式信号が動き予測を示す場合、スイッチをcに倒し、動き予測画像ブロックを予測画像ブロックとして減算部109及び加算部114に出力する。スイッチ1044は、入力された予測方式信号が動き領域予測を示す場合、スイッチをcに倒し、動き領域予測画像ブロックを予測画像ブロックとして減算部109及び加算部114に出力する。スイッチ1044は、入力された予測方式信号が画面内予測を示す場合、スイッチをdに倒し、画面内予測画像ブロックを予測画像ブロックとして減算部109及び加算部114に出力する。
スイッチ1044は、入力された予測方式信号が動き予測を示す場合、スイッチをcに倒し、動き予測画像ブロックを予測画像ブロックとして減算部109及び加算部114に出力する。スイッチ1044は、入力された予測方式信号が動き領域予測を示す場合、スイッチをcに倒し、動き領域予測画像ブロックを予測画像ブロックとして減算部109及び加算部114に出力する。スイッチ1044は、入力された予測方式信号が画面内予測を示す場合、スイッチをdに倒し、画面内予測画像ブロックを予測画像ブロックとして減算部109及び加算部114に出力する。
減算部108は、テクスチャ画像入力部100から入力されたテクスチャ画像ブロックを構成する画素の輝度値からスイッチ1044から入力された予測画像ブロックを構成する画素の輝度値を各々減算し、残差信号ブロックを生成する。減算部108は生成した残差信号ブロックをスイッチ1041に出力する。
スイッチ1041は、型判定部103から入力された型信号がRMBを示す場合、減算部108から入力された残差信号ブロックを配列部109に出力する。スイッチ1041は、型判定部103から入力された型信号がAMB又はSMBを示す場合、減算部108から入力された残差信号ブロックをDCT部111に出力する。
スイッチ1041は、型判定部103から入力された型信号がRMBを示す場合、減算部108から入力された残差信号ブロックを配列部109に出力する。スイッチ1041は、型判定部103から入力された型信号がAMB又はSMBを示す場合、減算部108から入力された残差信号ブロックをDCT部111に出力する。
配列部109は、スイッチ1041から残差信号ブロックを入力され、型判定部103からパターンブロック信号を入力される。配列部109は、入力されたパターンブロック信号が示すパターンブロックに対応する配列パターンをコードブック102から読み取る。配列部109は、読み取った配列パターンが示す配列前の座標の画素の輝度値を残差信号ブロックから読み取り、配列後の画素に配列して配列先ブロックを生成する。配列部109が輝度値を読み取り、配列する順序は配列パターンが示す配列前の座標及び配列後の座標の順序に従う。配列部109は、生成した配列先ブロックをDCT部111に出力する。
DCT部111は、スイッチ1041から残差信号ブロック又は配列部109から配列先ブロックを入力される。DCT部111は、残差信号ブロック又は配列先ブロックを構成する画素の輝度値に2次元DCT(Discrete Cosine Transform;離散コサイン変換)を行って周波数領域信号に変換する。DCT部111は、変換した周波数領域信号を逆DCT部112及び可変長符号化部115に出力する。
逆DCT部112は、DCT部110から入力された周波数領域信号に2次元逆DCT(Inverse Discrete Cosine Transform;離散コサイン逆変換)を行って残差信号ブロックに変換する。逆DCT部112は、変換した残差信号ブロックをスイッチ1042に出力する。
スイッチ1042は、型判定部103から入力された型信号がRMBを示す場合、接点をaに倒し、逆DCT部112から入力された残差信号ブロックを配列先ブロックとして逆配列部113に出力する。スイッチ1042は、型判定部103から入力された型信号がAMB又はSMBを示す場合、接点をbに倒し、逆DCT部112から入力された残差信号ブロックを加算部114に出力する。
スイッチ1042は、型判定部103から入力された型信号がRMBを示す場合、接点をaに倒し、逆DCT部112から入力された残差信号ブロックを配列先ブロックとして逆配列部113に出力する。スイッチ1042は、型判定部103から入力された型信号がAMB又はSMBを示す場合、接点をbに倒し、逆DCT部112から入力された残差信号ブロックを加算部114に出力する。
逆配列部113は、スイッチ1042から配列先ブロックを入力され、型判定部103からパターンブロック信号を入力される。逆配列部113は、入力されたパターンブロック信号が示すパターンブロックに対応する配列パターンをコードブック102から読み取る。逆配列部113は、読み取った配列パターンが示す配列後の座標の画素の輝度値を残差信号ブロックから読み取り、配列前の画素に配列して残差信号ブロックを生成する。即ち、逆配列部113では、配列パターンを配列部109とは逆に参照する。逆配列部113が輝度値を読み取り、配列する順序は配列パターンが示す配列後の座標及び配列前の座標の順序に従う。逆配列部113は、生成した残差信号ブロックを加算部114に出力する。
加算部114は、スイッチ1044から入力された予測信号ブロックを構成する画素の輝度値とスイッチ1042又は逆配列部113から入力された残差信号ブロックを構成する画素の輝度値を各々加算して、参照信号ブロックを生成する。加算部114は、生成した参照信号ブロックを画面記憶部101に出力する。
可変長符号化部115は、型判定部103から型信号を、符号化制御部110から予測方式信号及び動きベクトル信号(該当する場合のみ)を、DCT部111から周波数領域信号を入力される。可変長符号化部115は、入力された周波数領域信号をアダマール変換し、変換して生成された信号を、より少ない情報量となるように圧縮符号化(可変長符号化)して圧縮残差信号を生成する。この圧縮符号化の一例として、可変長符号化部115は、エントロピー符号化を行う。可変長符号化部115は、圧縮残差信号、入力された型信号、動きベクトル信号及び予測方式信号をテクスチャ画像符号として画像符号化装置1の外部に出力する。
距離画像符号化部12は、画像符号化装置1の外部から距離画像をフレーム毎に入力され、各フレームを構成するブロック毎に公知の画像符号化方法、例えばITU−T H.264規格書に記載された符号化方法を用いて符号化する。距離画像符号化部12は、符号化して生成した距離画像符号を画像符号化装置1の外部に出力する。距離画像符号化部12は、符号化の過程で生成した参照信号ブロックを距離画像ブロックとして型判定部105に出力する。この符号化の過程で生成した参照信号ブロックは、距離画像符号に基づいて復号距離画像を生成することができる。そのため、型判定部103が備えるパターン決定部1032及び後述するパターン決定部2032がパターンブロックを示す符号を出力する必要がなくなり、テクスチャ画像ブロックを高い能率で符号化又は復号することができる。
次に、本実施形態に係る画像符号化装置1が行う画像符号化処理について説明する。
図13は、本実施形態に係る画像符号化装置1が行う画像符号化処理を示すフローチャートである。
(ステップS201)テクスチャ画像入力部100は、画像符号化装置1の外部からテクスチャ画像をフレーム毎に入力される。
距離画像符号化部12は、画像符号化装置1の外部から距離画像をフレーム毎に入力され、各フレームを構成するブロック毎に公知の画像符号化方法を用いて符号化する。その後、ステップS202に進む。
図13は、本実施形態に係る画像符号化装置1が行う画像符号化処理を示すフローチャートである。
(ステップS201)テクスチャ画像入力部100は、画像符号化装置1の外部からテクスチャ画像をフレーム毎に入力される。
距離画像符号化部12は、画像符号化装置1の外部から距離画像をフレーム毎に入力され、各フレームを構成するブロック毎に公知の画像符号化方法を用いて符号化する。その後、ステップS202に進む。
(ステップS202)テクスチャ画像入力部100は、入力されたテクスチャ画像からテクスチャ画像ブロックを抽出し、抽出したテクスチャ画像ブロックを型判定部103、動き予測部105、動き領域予測部106、画面内予測部107、減算部108及び符号化制御部110に出力する。
距離画像符号化部12は、距離画像ブロックを符号化する過程で生成した参照信号ブロックを距離画像ブロックとして型判定部103に出力する。
以下、ステップS247までの処理をフレーム内のブロック毎に繰り返す。
距離画像符号化部12は、距離画像ブロックを符号化する過程で生成した参照信号ブロックを距離画像ブロックとして型判定部103に出力する。
以下、ステップS247までの処理をフレーム内のブロック毎に繰り返す。
(ステップS203)型判定部103は、テクスチャ画像入力部100からテクスチャ画像ブロックを入力され、距離画像符号化部12から距離画像ブロックを入力される。型判定部103は、入力されたテクスチャ画像ブロックに対応する参照画像ブロックを画面記憶部101から読み出し、入力された距離画像ブロックに対応するパターンブロックを読み出す。
型判定部103は、入力されたテクスチャ画像ブロック、読み出した参照画像ブロック及び読み出したパターンブロックに基づき、そのテクスチャ画像ブロックにおける動き領域信号を算出する。型判定部103は、算出した動き領域信号と読み出したパターンブロックと照合し、照合したパターンブロックを動き領域予測部106に出力する。型判定部103は、照合したパターンブロックを示すパターンブロック信号を配列部109及び逆配列部113に出力する。
型判定部103は、入力されたテクスチャ画像ブロック、距離画像ブロック、読み出した参照画像ブロック及びパターンブロックに基づき、そのテクスチャ画像の型を判定する。
型判定部103は、判定した型を示す型信号をスイッチ1041、スイッチ1042、スイッチ1043及び可変長符号化部115に出力する。その後、ステップS204に進む。なお、ステップS203において型判定部103が行う型判定処理については図14を用いて後述する。
型判定部103は、入力されたテクスチャ画像ブロック、読み出した参照画像ブロック及び読み出したパターンブロックに基づき、そのテクスチャ画像ブロックにおける動き領域信号を算出する。型判定部103は、算出した動き領域信号と読み出したパターンブロックと照合し、照合したパターンブロックを動き領域予測部106に出力する。型判定部103は、照合したパターンブロックを示すパターンブロック信号を配列部109及び逆配列部113に出力する。
型判定部103は、入力されたテクスチャ画像ブロック、距離画像ブロック、読み出した参照画像ブロック及びパターンブロックに基づき、そのテクスチャ画像の型を判定する。
型判定部103は、判定した型を示す型信号をスイッチ1041、スイッチ1042、スイッチ1043及び可変長符号化部115に出力する。その後、ステップS204に進む。なお、ステップS203において型判定部103が行う型判定処理については図14を用いて後述する。
(ステップS204)スイッチ1041、スイッチ1042、スイッチ1043は型判定部103から入力された型信号がRMBを示すか、AMB又はSMBを示すかを判断する。
スイッチ1041、スイッチ1042及びスイッチ1043が、型信号がRMBを示すと判断した場合(ステップS204 Y)、スイッチ1041は、減算部108から入力された残差信号ブロックを配列部109に出力する。このとき、スイッチ1042は、逆DCT部112から入力された残差信号ブロックを配列先ブロックとして逆配列部113に出力し、スイッチ1043は、画面記憶部101から動き領域予測部106に参照信号ブロックを読み出せる状態にする。その後、ステップS205に進む。
スイッチ1041、スイッチ1042及びスイッチ1043が、型信号がAMB又はSMBを示すと判断した場合(ステップS204 N)、スイッチ1041は、減算部108から入力された残差信号ブロックをDCT部111に出力する。このとき、スイッチ1042は、逆DCT部112から入力された残差信号ブロックを加算部114に出力し、スイッチ1043は、画面記憶部101から動き予測部105に参照信号ブロックを読み出せる状態にする。その後、ステップS206に進む。
スイッチ1041、スイッチ1042及びスイッチ1043が、型信号がRMBを示すと判断した場合(ステップS204 Y)、スイッチ1041は、減算部108から入力された残差信号ブロックを配列部109に出力する。このとき、スイッチ1042は、逆DCT部112から入力された残差信号ブロックを配列先ブロックとして逆配列部113に出力し、スイッチ1043は、画面記憶部101から動き領域予測部106に参照信号ブロックを読み出せる状態にする。その後、ステップS205に進む。
スイッチ1041、スイッチ1042及びスイッチ1043が、型信号がAMB又はSMBを示すと判断した場合(ステップS204 N)、スイッチ1041は、減算部108から入力された残差信号ブロックをDCT部111に出力する。このとき、スイッチ1042は、逆DCT部112から入力された残差信号ブロックを加算部114に出力し、スイッチ1043は、画面記憶部101から動き予測部105に参照信号ブロックを読み出せる状態にする。その後、ステップS206に進む。
(ステップS205)動き領域予測部106は、テクスチャ画像入力部100からテクスチャ画像ブロックを入力され、型判定部103からパターンブロックを入力される。動き領域予測部106は、入力されたテクスチャ画像ブロックのうちパターンブロックにおいて信号値1をとる画素の信号値をテクスチャ画像パターンとして抽出する。
動き領域予測部106は、画面記憶部101から参照画像を構成する参照画像ブロックを読み出す。信号値1をとる画素の信号値を参照画像パターンとして抽出する。動き領域予測部106は、入力されたテクスチャ画像パターンの座標と対応する参照画像パターンとの座標との差分を動きベクトルとして検出する。
動き領域予測部106は、抽出した参照画像パターンに基づき動き予測を行い、動き領域予測画像ブロックを生成する。
動き領域予測部106は、生成した動き領域予測画像ブロックをスイッチ1044と符号化制御部110に出力し、動きベクトルを示す動きベクトル信号を符号化制御部110に出力する。その後、ステップS207に進む。
動き領域予測部106は、画面記憶部101から参照画像を構成する参照画像ブロックを読み出す。信号値1をとる画素の信号値を参照画像パターンとして抽出する。動き領域予測部106は、入力されたテクスチャ画像パターンの座標と対応する参照画像パターンとの座標との差分を動きベクトルとして検出する。
動き領域予測部106は、抽出した参照画像パターンに基づき動き予測を行い、動き領域予測画像ブロックを生成する。
動き領域予測部106は、生成した動き領域予測画像ブロックをスイッチ1044と符号化制御部110に出力し、動きベクトルを示す動きベクトル信号を符号化制御部110に出力する。その後、ステップS207に進む。
(ステップS206)動き予測部105は、テクスチャ画像入力部100からテクスチャ画像ブロックを入力され、画面記憶部101から参照画像を構成する参照画像ブロックを読み出す。動き予測部105は、テクスチャ画像ブロックとの指標値を最小とする参照画像ブロックを、テクスチャ画像ブロックと対応する参照画像ブロックと定める。動き予測部105は、定めた参照画像ブロックに基づき動き予測を行い、動き予測画像ブロックを生成する。動き予測部105は、生成した動き予測画像ブロックをスイッチ1044と符号化制御部110に出力し、動きベクトルを示す動きベクトル信号を符号化制御部110に出力する。その後、ステップS227に進む。
(ステップS207)画面内予測部107は、テクスチャ画像入力部100からテクスチャ画像ブロックを入力される。画面内予測部107は、画面記憶部101に記憶された参照画像から既に符号化を行った参照画像ブロックを読み出す。画面内予測部107は、読み出した参照画像ブロックに画面内予測を行い、画面内予測画像ブロックを生成する。
画面内予測部107は、生成した画面内予測画像ブロックをスイッチ1044及び符号化制御部110に出力する。その後、ステップS208に進む。
画面内予測部107は、生成した画面内予測画像ブロックをスイッチ1044及び符号化制御部110に出力する。その後、ステップS208に進む。
(ステップS208)符号化制御部110は、テクスチャ画像入力部100からテクスチャ画像ブロックを入力され、動き領域予測部106から動き領域予測画像ブロック及び動きベクトル信号を入力される。符号化制御部110は、画面内予測部107から画面内予測画像ブロックを入力される。符号化制御部110は、テクスチャ画像ブロックと動き領域予測画像ブロックに基づき動き領域予測画像残差信号を算出し、テクスチャ画像ブロックと画面内予測画像ブロックに基づき画面内予測画像残差信号を算出する。
符号化制御部110は、算出した動き領域予測残差信号の大きさと画面内予測残差信号の大きさに基づき、例えば予測残差信号が小さいほうの予測方式を決定する。符号化制御部110は、決定した予測方式を示す予測方式信号をスイッチ1044及び可変長符号化部115に出力する。決定した予測方式が動き領域予測の場合には、動きベクトル信号を可変長符号化部115に出力する。
スイッチ1044は、動き領域予測部106から動き領域予測画像ブロックを入力され、画面内予測部107から画面内予測画像ブロックを入力され、符号化制御部110から予測方式信号を入力される。
スイッチ1044は、入力された予測方式信号に基づき入力された動き領域予測画像ブロックと画面内予測画像ブロックのいずれかを予測画像ブロックとして減算部109及び加算部114に出力する。その後、ステップS209に進む。
符号化制御部110は、算出した動き領域予測残差信号の大きさと画面内予測残差信号の大きさに基づき、例えば予測残差信号が小さいほうの予測方式を決定する。符号化制御部110は、決定した予測方式を示す予測方式信号をスイッチ1044及び可変長符号化部115に出力する。決定した予測方式が動き領域予測の場合には、動きベクトル信号を可変長符号化部115に出力する。
スイッチ1044は、動き領域予測部106から動き領域予測画像ブロックを入力され、画面内予測部107から画面内予測画像ブロックを入力され、符号化制御部110から予測方式信号を入力される。
スイッチ1044は、入力された予測方式信号に基づき入力された動き領域予測画像ブロックと画面内予測画像ブロックのいずれかを予測画像ブロックとして減算部109及び加算部114に出力する。その後、ステップS209に進む。
(ステップS209)減算部108は、テクスチャ画像入力部100から入力されたテクスチャ画像ブロックを構成する画素の輝度値からスイッチ1044から入力された予測画像ブロックを構成する画素の輝度値を各々減算し、残差信号ブロックを生成する。減算部108は生成した残差信号ブロックをスイッチ1041に出力する。スイッチ1041は、減算部108から入力された残差信号ブロックを配列部109に出力する。その後、ステップS210に進む。
(ステップS210)配列部109は、スイッチ1041から残差信号ブロックを入力され、型判定部103からパターンブロック信号を入力される。配列部109は、入力されたパターンブロック信号が示すパターンブロックに対応する配列パターンをコードブック102から読み取る。配列部109は、読み取った配列パターンが示す配列前の座標の画素の輝度値を残差信号ブロックから読み取り、配列後の画素に配列して配列先ブロックを生成する。配列部109が輝度値を読み取り、配列する順序は配列パターンが示す配列前の座標及び配列後の座標の順序に従う。配列部109は、生成した配列先ブロックをDCT部111に出力する。その後、ステップS211に進む。
(ステップS211)DCT部111は、配列部109から配列先ブロックを入力される。DCT部111は、残差信号ブロックを構成する画素の輝度値に2次元DCTを行って周波数領域信号に変換する。DCT部111は、変換した周波数領域信号を逆DCT部112及び可変長符号化部115に出力する。その後、ステップS212に進む。
(ステップS212)可変長符号化部115は、符号化制御部110から予測方式信号及び動きベクトル信号(該当する場合のみ)を、DCT部111から周波数領域信号を入力される。可変長符号化部115は、入力された周波数領域信号をアダマール変換し、変換して生成された信号を、より少ない情報量となるように圧縮符号化して圧縮残差信号を生成する。可変長符号化部115は、圧縮残差信号、入力された動きベクトル信号及び予測方式信号をテクスチャ画像符号として画像符号化装置1の外部に出力する。その後、ステップS213に進む。
(ステップS212)可変長符号化部115は、符号化制御部110から予測方式信号及び動きベクトル信号(該当する場合のみ)を、DCT部111から周波数領域信号を入力される。可変長符号化部115は、入力された周波数領域信号をアダマール変換し、変換して生成された信号を、より少ない情報量となるように圧縮符号化して圧縮残差信号を生成する。可変長符号化部115は、圧縮残差信号、入力された動きベクトル信号及び予測方式信号をテクスチャ画像符号として画像符号化装置1の外部に出力する。その後、ステップS213に進む。
(ステップS213)逆DCT部112は、DCT部110から入力された周波数領域信号に2次元逆DCTを行って残差信号ブロックに変換する。逆DCT部112は、変換した残差信号ブロックをスイッチ1042に出力する。
スイッチ1042は、逆DCT部112から入力された残差信号ブロックを配列先ブロックとして逆配列部113に出力する。その後、ステップS214に進む。
スイッチ1042は、逆DCT部112から入力された残差信号ブロックを配列先ブロックとして逆配列部113に出力する。その後、ステップS214に進む。
(ステップS214)逆配列部113は、スイッチ1042から配列先ブロックを入力され、型判定部103からパターンブロック信号を入力される。逆配列部113は、入力されたパターンブロック信号が示すパターンブロックに対応する配列パターンをコードブック102から読み取る。逆配列部113は、読み取った配列パターンが示す配列後の座標の画素の輝度値を残差信号ブロックから読み取り、配列前の画素に配列して残差信号ブロックを生成する。逆配列部113は、生成した残差信号ブロックを加算部114に出力する。その後、ステップS245に進む。
(ステップS227)画面内予測部107は、テクスチャ画像入力部100からテクスチャ画像ブロックを入力される。画面内予測部107は、画面記憶部101に記憶された参照画像から既に符号化を行った参照画像ブロックを読み出す。画面内予測部107は、読み出した参照画像ブロックに画面内予測を行い、画面内予測画像ブロックを生成する。
画面内予測部107は、生成した画面内予測画像ブロックをスイッチ1044及び符号化制御部110に出力する。その後、ステップS228に進む。
画面内予測部107は、生成した画面内予測画像ブロックをスイッチ1044及び符号化制御部110に出力する。その後、ステップS228に進む。
(ステップS228)符号化制御部110は、テクスチャ画像入力部100からテクスチャ画像ブロックを入力され、動き予測部105から動き予測画像ブロック及び動きベクトル信号を入力される。符号化制御部110は、画面内予測部107から画面内予測画像ブロックを入力される。符号化制御部110は、テクスチャ画像ブロックと動き予測画像ブロックに基づき動き予測画像残差信号を算出し、テクスチャ画像ブロックと画面内予測画像ブロックに基づき画面内予測画像残差信号を算出する。
符号化制御部110は、算出した動き予測残差信号の大きさと画面内予測残差信号の大きさに基づき、例えば予測残差信号が小さいほうの予測方式を決定する。符号化制御部110は、決定した予測方式を示す予測方式信号をスイッチ1044及び可変長符号化部115に出力する。決定した予測方式が動き予測の場合には、動きベクトル信号を可変長符号化部115に出力する。
スイッチ1044は、動き予測部105から動き予測画像ブロックを入力され、動き領域予測部106から動き予測画像ブロックを入力され、画面内予測部107から画面内予測画像ブロックを入力され、符号化制御部110から予測方式信号を入力される。
スイッチ1044は、入力された予測方式信号に基づき入力された動き予測画像ブロックと画面内予測画像ブロックのいずれかを予測画像ブロックとして減算部109及び加算部114に出力する。その後、ステップS229に進む。
符号化制御部110は、算出した動き予測残差信号の大きさと画面内予測残差信号の大きさに基づき、例えば予測残差信号が小さいほうの予測方式を決定する。符号化制御部110は、決定した予測方式を示す予測方式信号をスイッチ1044及び可変長符号化部115に出力する。決定した予測方式が動き予測の場合には、動きベクトル信号を可変長符号化部115に出力する。
スイッチ1044は、動き予測部105から動き予測画像ブロックを入力され、動き領域予測部106から動き予測画像ブロックを入力され、画面内予測部107から画面内予測画像ブロックを入力され、符号化制御部110から予測方式信号を入力される。
スイッチ1044は、入力された予測方式信号に基づき入力された動き予測画像ブロックと画面内予測画像ブロックのいずれかを予測画像ブロックとして減算部109及び加算部114に出力する。その後、ステップS229に進む。
(ステップS229)減算部108は、テクスチャ画像入力部100から入力されたテクスチャ画像ブロックを構成する画素の輝度値からスイッチ1044から入力された予測画像ブロックを構成する画素の輝度値を各々減算し、残差信号ブロックを生成する。減算部108は生成した残差信号ブロックをスイッチ1041に出力する。
スイッチ1041は、減算部108から入力された残差信号ブロックをDCT部111に出力する。その後、ステップS231に進む。
(ステップS231)DCT部111は、スイッチ1041から残差信号ブロックを入力される。DCT部111は、残差信号ブロックを構成する画素の輝度値に2次元DCTを行って周波数領域信号に変換する。DCT部111は、変換した周波数領域信号を逆DCT部112及び可変長符号化部115に出力する。その後、ステップS232に進む。
スイッチ1041は、減算部108から入力された残差信号ブロックをDCT部111に出力する。その後、ステップS231に進む。
(ステップS231)DCT部111は、スイッチ1041から残差信号ブロックを入力される。DCT部111は、残差信号ブロックを構成する画素の輝度値に2次元DCTを行って周波数領域信号に変換する。DCT部111は、変換した周波数領域信号を逆DCT部112及び可変長符号化部115に出力する。その後、ステップS232に進む。
(ステップS232)可変長符号化部115は、型判定部103から型信号を、符号化制御部110から予測方式信号及び動きベクトル信号(該当する場合のみ)を、DCT部111から周波数領域信号を入力される。可変長符号化部115は、入力された周波数領域信号をアダマール変換し、変換して生成された信号を、より少ない情報量となるように圧縮符号化(可変長符号化)して圧縮残差信号を生成する。可変長符号化部115は、圧縮残差信号、入力された型信号、動きベクトル信号及び予測方式信号をテクスチャ画像符号として画像符号化装置1の外部に出力する。その後、ステップS233に進む。
(ステップS233)逆DCT部112は、DCT部110から入力された周波数領域信号に2次元逆DCTを行って残差信号ブロックに変換する。逆DCT部112は、変換した残差信号ブロックをスイッチ1042に出力する。
スイッチ1042は、逆DCT部112から入力された残差信号ブロックを加算部114に出力する。その後、ステップS245に進む。
スイッチ1042は、逆DCT部112から入力された残差信号ブロックを加算部114に出力する。その後、ステップS245に進む。
(ステップS245)加算部114は、スイッチ1044から入力された予測信号ブロックを構成する画素の輝度値とスイッチ1042又は逆配列部113から入力された残差信号ブロックを構成する画素の輝度値を各々加算して、参照信号ブロックを生成する。加算部114は、生成した参照信号ブロックを画面記憶部101に出力する。その後、ステップS246に進む。
(ステップS246)画面記憶部101は、加算部114から入力された参照画像ブロックを、対応するフレームにおけるそのブロックの位置に配置して記憶する。その後、ステップS247に進む。
(ステップS246)画面記憶部101は、加算部114から入力された参照画像ブロックを、対応するフレームにおけるそのブロックの位置に配置して記憶する。その後、ステップS247に進む。
(ステップS247)テクスチャ画像入力部100は、入力したフレームのテクスチャ画像においてテクスチャ画像ブロックを未抽出の領域の有無を判断する。
テクスチャ画像入力部100は、テクスチャ画像ブロックを未抽出の領域があると判断した場合、テクスチャ画像入力部100がテクスチャ画像ブロックを抽出するブロックの位置を、ラスタースキャンの順序で、各ブロックが重ならないようにシフトさせる。また、距離画像符号化部12は参照信号ブロックの位置を、テクスチャ画像ブロックを抽出するブロックの位置にシフトさせる。その後、ステップS202に戻る。
テクスチャ画像入力部100は、テクスチャ画像ブロックを未抽出の領域がないと判断した場合、入力したフレームのテクスチャ画像を符号化する処理を終了する。
テクスチャ画像入力部100は、テクスチャ画像ブロックを未抽出の領域があると判断した場合、テクスチャ画像入力部100がテクスチャ画像ブロックを抽出するブロックの位置を、ラスタースキャンの順序で、各ブロックが重ならないようにシフトさせる。また、距離画像符号化部12は参照信号ブロックの位置を、テクスチャ画像ブロックを抽出するブロックの位置にシフトさせる。その後、ステップS202に戻る。
テクスチャ画像入力部100は、テクスチャ画像ブロックを未抽出の領域がないと判断した場合、入力したフレームのテクスチャ画像を符号化する処理を終了する。
次に、本実施形態に係る型判定部103が行う型判定処理について説明する。
図14は、本実施形態に係る型判定部103が行う型判定処理を示すフローチャートである。
(ステップS301)動き領域決定部1031は、テクスチャ画像入力部100から入力されたテクスチャ画像ブロックにおいて、画面記憶部101から読み出した参照画像ブロックに基づいて、動き領域情報M(x,y)を算出する。動き領域情報M(x,y)を算出する際、動き領域決定部1031は、例えば式(1)を用いる。その後、ステップS302に進む。
図14は、本実施形態に係る型判定部103が行う型判定処理を示すフローチャートである。
(ステップS301)動き領域決定部1031は、テクスチャ画像入力部100から入力されたテクスチャ画像ブロックにおいて、画面記憶部101から読み出した参照画像ブロックに基づいて、動き領域情報M(x,y)を算出する。動き領域情報M(x,y)を算出する際、動き領域決定部1031は、例えば式(1)を用いる。その後、ステップS302に進む。
(ステップS302)動き領域決定部1031は、参照画像ブロックに含まれる動き領域の大きさが、予め設定された閾値TSMBよりも小さいか否か判断する。
動き領域決定部1031は、その動き領域の大きさが、予め設定された閾値TSMBよりも小さいと判断したとき(ステップS302 Y)、ステップS303に進む。
動き領域決定部1031は、その動き領域の大きさが、予め設定された閾値TSMBと等しい又は閾値TSMBよりも大きいと判断したとき(ステップS302 N)、テクスチャ画像ブロックの型が非SMBと判定する。このとき、動き領域決定部1031は、テクスチャ画像ブロックの型が非SMBであることを示す型信号をパターン決定部1032に出力する。また、動き領域決定部1031は、動き領域情報M(x,y)を動き予測決定部1033に出力する。その後、ステップS304に進む。
動き領域決定部1031は、その動き領域の大きさが、予め設定された閾値TSMBよりも小さいと判断したとき(ステップS302 Y)、ステップS303に進む。
動き領域決定部1031は、その動き領域の大きさが、予め設定された閾値TSMBと等しい又は閾値TSMBよりも大きいと判断したとき(ステップS302 N)、テクスチャ画像ブロックの型が非SMBと判定する。このとき、動き領域決定部1031は、テクスチャ画像ブロックの型が非SMBであることを示す型信号をパターン決定部1032に出力する。また、動き領域決定部1031は、動き領域情報M(x,y)を動き予測決定部1033に出力する。その後、ステップS304に進む。
(ステップS303)動き領域決定部1031は、テクスチャ画像ブロックの型がSMBであると判定し、テクスチャ画像ブロックの型がSMBであることを示す型信号を動き予測決定部1033に出力する。動き予測決定部1033は、テクスチャ画像ブロックの型を示す型信号をスイッチ1041、スイッチ1042、スイッチ1043及び可変長符号部115に出力する。その後、ステップS204に進む。
(ステップS304)パターン決定部1032は、動き領域決定部1031からテクスチャ画像の非SMBであることを示す型信号を入力され、コードブック102からパターンブロックPn(x,y)を読み取る。
パターン決定部1032は、読み取ったパターンブロックPn(x,y)のうち入力された距離画像ブロックと類似するパターンブロックPn(x,y)が存在するか否か判断する。
そこで、パターン決定部1032は、距離画像符号化部12から入力された距離画像ブロックを、例えば式(2)を用いて二値化し、二値化距離パターンN(x,y)を算出する。パターン決定部1032は、算出した二値化距離パターンN(x,y)と読み取った各パターンブロックPn(x,y)との間で、例えば式(3)を用いて指標値を算出する。パターン決定部1032は、指標値が最小となるパターンブロックPn(x,y)を、距離画像ブロックと近似するパターンブロックPn(x,y)として選択する。そして、パターン決定部1032は、その最小の指標値が予め設定された閾値が小さいか否かをもって、距離画像ブロックと類似するパターンブロックPn(x,y)が存在するか否か判断する。
パターン決定部1032は、読み取ったパターンブロックPn(x,y)のうち入力された距離画像ブロックと類似するパターンブロックPn(x,y)が存在するか否か判断する。
そこで、パターン決定部1032は、距離画像符号化部12から入力された距離画像ブロックを、例えば式(2)を用いて二値化し、二値化距離パターンN(x,y)を算出する。パターン決定部1032は、算出した二値化距離パターンN(x,y)と読み取った各パターンブロックPn(x,y)との間で、例えば式(3)を用いて指標値を算出する。パターン決定部1032は、指標値が最小となるパターンブロックPn(x,y)を、距離画像ブロックと近似するパターンブロックPn(x,y)として選択する。そして、パターン決定部1032は、その最小の指標値が予め設定された閾値が小さいか否かをもって、距離画像ブロックと類似するパターンブロックPn(x,y)が存在するか否か判断する。
パターン決定部1032は、読み取ったパターンブロックPn(x,y)のうち入力された距離画像ブロックと類似するパターンブロックPn(x,y)が存在すると判断したとき(ステップS304 Y)、選択したパターンブロックPn(x,y)とそのパターンブロックPn(x,y)を示すパターンブロック信号を動き予測決定部1033に出力する。その後、ステップS306に進む。
パターン決定部1032は、読み取ったパターンブロックPn(x,y)のうち入力された距離画像ブロックと類似するパターンブロックPn(x,y)が存在しないと判断したとき(ステップS304 N)、ステップS305に進む。
パターン決定部1032は、読み取ったパターンブロックPn(x,y)のうち入力された距離画像ブロックと類似するパターンブロックPn(x,y)が存在しないと判断したとき(ステップS304 N)、ステップS305に進む。
(ステップS305)パターン決定部1032は、テクスチャ画像ブロックの型をAMBと判定し、テクスチャ画像ブロックの型がAMBであることを示す型信号を動き予測決定部1033に出力する。動き予測決定部1033は、テクスチャ画像ブロックの型を示す型信号をスイッチ1041、スイッチ1042、スイッチ1043及び可変長符号部115に出力する。その後、ステップS204に進む。
(ステップS306)動き予測決定部1033は、動き領域決定部1031からテクスチャ画像ブロックの型がSMBであることを示す型信号又は動き領域情報を入力される。動き予測決定部1033は、動き予測決定部1033からテクスチャ画像ブロックの型がAMBであることを示す型信号又は選択したパターンブロックPn(x,y)並びにパターンブロック信号を入力される。
動き予測決定部1033は、入力された動き領域情報M(x,y)と選択したパターンブロックPn(x,y)が類似しているか否かを判断する。この判断を行う際、動き予測決定部1033は、式(4)に示す指標値Eを算出し、算出した指標値Eが予め設定した閾値σeよりも小さいか否か判断する。
動き予測決定部1033は、入力された動き領域情報M(x,y)と選択したパターンブロックPn(x,y)が類似していると判断したとき(ステップS306 Y)、ステップS308に進む。
動き予測決定部1033は、入力された動き領域情報M(x,y)と選択したパターンブロックPn(x,y)が類似していないと判断したとき(ステップS306 N)、ステップS307に進む。
動き予測決定部1033は、入力された動き領域情報M(x,y)と選択したパターンブロックPn(x,y)が類似しているか否かを判断する。この判断を行う際、動き予測決定部1033は、式(4)に示す指標値Eを算出し、算出した指標値Eが予め設定した閾値σeよりも小さいか否か判断する。
動き予測決定部1033は、入力された動き領域情報M(x,y)と選択したパターンブロックPn(x,y)が類似していると判断したとき(ステップS306 Y)、ステップS308に進む。
動き予測決定部1033は、入力された動き領域情報M(x,y)と選択したパターンブロックPn(x,y)が類似していないと判断したとき(ステップS306 N)、ステップS307に進む。
(ステップS307)動き予測決定部1033は、テクスチャ画像ブロックの型がAMBと判定し、テクスチャ画像ブロックの型がAMBであることを示す型信号をスイッチ1041、スイッチ1042、スイッチ1043及び可変長符号部115に出力する。その後、ステップS204に進む。
(ステップS308)動き予測決定部1033は、テクスチャ画像ブロックの型をRMBと判定し、テクスチャ画像ブロックの型をRMBであることを示す型信号をスイッチ1041、スイッチ1042、スイッチ1043及び可変長符号部115に出力する。また、動き予測決定部1033は、選択したパターンブロックを動き領域予測部106に出力し、入力されたパターンブロック信号を配列部109及び逆配列部113に出力する。その後、ステップS204に進む。
(ステップS308)動き予測決定部1033は、テクスチャ画像ブロックの型をRMBと判定し、テクスチャ画像ブロックの型をRMBであることを示す型信号をスイッチ1041、スイッチ1042、スイッチ1043及び可変長符号部115に出力する。また、動き予測決定部1033は、選択したパターンブロックを動き領域予測部106に出力し、入力されたパターンブロック信号を配列部109及び逆配列部113に出力する。その後、ステップS204に進む。
次に、本実施形態に係る画像復号装置2の構成及び機能について説明する。
図15は、本実施形態に係る画像復号装置2の構成を示す概略図である。
画像復号装置2は、画面記憶部201、コードブック202、パターン決定部2032、スイッチ2042、スイッチ2043、スイッチ2044、動き予測部205、動き領域予測部206、画面内予測部207、逆DCT部212、逆配列部213、加算部214、可変長復号部215及び距離画像復号部23を含んで構成される。
図15は、本実施形態に係る画像復号装置2の構成を示す概略図である。
画像復号装置2は、画面記憶部201、コードブック202、パターン決定部2032、スイッチ2042、スイッチ2043、スイッチ2044、動き予測部205、動き領域予測部206、画面内予測部207、逆DCT部212、逆配列部213、加算部214、可変長復号部215及び距離画像復号部23を含んで構成される。
画面記憶部201は、加算部214から入力された参照画像ブロックを、対応するフレームにおけるそのブロックの位置に配置して参照画像として記憶する。画面記憶部201は、現在から予め設定されたフレーム数の参照画像を記憶する。
コードブック202は、複数のパターンブロックと、配列パターンを各パターンブロックに対応づけて記憶する。コードブック202が記憶するパターンブロックと配列パターンは、コードブック102と同様であってもよい。
コードブック202は、複数のパターンブロックと、配列パターンを各パターンブロックに対応づけて記憶する。コードブック202が記憶するパターンブロックと配列パターンは、コードブック102と同様であってもよい。
パターン決定部2032は、距離画像復号部23から復号された距離画像ブロックを入力される。パターン決定部2032は、読み出したパターンブロックのうち、入力された距離画像ブロックに対応するパターンブロックを決定する。
ここで、パターン決定部2032は、距離画像ブロックに含まれる座標(x,y)毎の距離値V(x,y)を、例えば式(2)を用いて二値化し、二値化距離パターンN(x,y)を算出する。パターン決定部1032は、コードブック102に記憶されたパターンブロックから二値化距離パターンN(x,y)に最も近似するパターンブロックを選択する。パターン決定部2032は、最も近似するパターンブロックを選択する際、パターンブロックn毎に例えば式(3)に示す指標値Dnを算出し、算出した指標値Dnを最小とするパターンブロックを選択する。
パターン決定部2032は、選択したパターンブロックを動き領域予測部206に出力し、選択したパターンブロックに対応するパターンブロック信号を逆配列部213に出力する。
ここで、パターン決定部2032は、距離画像ブロックに含まれる座標(x,y)毎の距離値V(x,y)を、例えば式(2)を用いて二値化し、二値化距離パターンN(x,y)を算出する。パターン決定部1032は、コードブック102に記憶されたパターンブロックから二値化距離パターンN(x,y)に最も近似するパターンブロックを選択する。パターン決定部2032は、最も近似するパターンブロックを選択する際、パターンブロックn毎に例えば式(3)に示す指標値Dnを算出し、算出した指標値Dnを最小とするパターンブロックを選択する。
パターン決定部2032は、選択したパターンブロックを動き領域予測部206に出力し、選択したパターンブロックに対応するパターンブロック信号を逆配列部213に出力する。
スイッチ2043は、可変長復号部215から入力された型信号がRMBを示す場合、接点をaに倒し、画面記憶部201から動き領域予測部206に参照信号ブロックを読み出せる状態にする。スイッチ2043は、可変長復号部215から入力された型信号がAMB又はSMBを示す場合、接点をbに倒し、画面記憶部201から動き予測部205に参照信号ブロックを読み出せる状態にする。
動き予測部205は、可変長復号部215から動きベクトル信号を入力される。動き予測部205は、画面記憶部201に記憶された参照画像から、入力された動きベクトル信号が示す動きベクトルに対応する座標の参照画像ブロックを読み出す。
動き予測部205は、読み出した参照画像ブロックを動きベクトルに基づいて動き予測を行い、動き予測画像ブロックを生成する。動き予測部205は、動き予測において、例えば、読み取った参照画像ブロックの各座標を動きベクトルが示す座標値に基づいて移動させて動き予測画像ブロックを生成する。
動き予測部205は、生成した動き予測画像ブロックをスイッチ2044に出力する。
動き予測部205は、読み出した参照画像ブロックを動きベクトルに基づいて動き予測を行い、動き予測画像ブロックを生成する。動き予測部205は、動き予測において、例えば、読み取った参照画像ブロックの各座標を動きベクトルが示す座標値に基づいて移動させて動き予測画像ブロックを生成する。
動き予測部205は、生成した動き予測画像ブロックをスイッチ2044に出力する。
動き領域予測部206は、可変長復号部215から動きベクトル信号を入力される。動き領域予測部206は、画面記憶部201に記憶された参照画像から、入力された動きベクトル信号が示す動きベクトルに対応する座標の参照画像ブロックを読み出す。
動き領域予測部206は、読み出した参照画像ブロックのうちパターンブロックにおいて信号値1をとる画素の信号値を参照画像パターンとして抽出する。
動き領域予測部206は、抽出した参照画像パターンを動きベクトルに基づき動き予測を行い、動き領域予測画像パターンを生成する。動き領域予測部206は、動き予測において、例えば、定めた参照画像パターンの各座標を動きベクトルが示す座標に基づいて移動させて動き領域予測画像パターンを生成する。動き領域予測部206は、ブロック全体の画素における輝度値がゼロであるゼロ画像ブロックに生成した動き領域予測画像パターンの各画素の輝度値を加算することによりゼロ信号を挿入して動き領域予測画像ブロックを生成する。
動き領域予測部206は、生成した動き領域予測画像ブロックをスイッチ2044に出力する。
動き領域予測部206は、読み出した参照画像ブロックのうちパターンブロックにおいて信号値1をとる画素の信号値を参照画像パターンとして抽出する。
動き領域予測部206は、抽出した参照画像パターンを動きベクトルに基づき動き予測を行い、動き領域予測画像パターンを生成する。動き領域予測部206は、動き予測において、例えば、定めた参照画像パターンの各座標を動きベクトルが示す座標に基づいて移動させて動き領域予測画像パターンを生成する。動き領域予測部206は、ブロック全体の画素における輝度値がゼロであるゼロ画像ブロックに生成した動き領域予測画像パターンの各画素の輝度値を加算することによりゼロ信号を挿入して動き領域予測画像ブロックを生成する。
動き領域予測部206は、生成した動き領域予測画像ブロックをスイッチ2044に出力する。
画面内予測部207は、画面記憶部201に記憶された参照画像であって、処理対象の現在のフレームの参照画像のうち復号された参照画像ブロックを読み出す。画面内予測部207は、例えば、処理対象のテクスチャ画像ブロックの左側又は上に隣接するブロックに対応する参照画像ブロックを読み出す。画面内予測部207は、読み出した参照画像ブロックに画面内予測を行い、画面内予測画像ブロックを生成する。画面内予測部207は、画面内予測を行うために、例えばITU−T H.264規格書に記載されている方法を用いる。
画面内予測部207は、生成した画面内予測画像ブロックをスイッチ2044に出力する。
画面内予測部207は、生成した画面内予測画像ブロックをスイッチ2044に出力する。
スイッチ2044は、動き予測部205から動き予測画像ブロックを入力され、動き領域予測部206から動き領域予測画像ブロックを入力され、画面内予測部207から画面内予測画像ブロックを入力され、可変長復号部215から予測方式信号を入力される。
スイッチ2044は、入力された予測方式信号が動き予測又は動き領域予測を示す場合、接点をcに倒し、入力された動き予測画像ブロックと画面内予測画像ブロックのいずれかを加算部214に出力する。ここで、スイッチ2044は、スイッチ2043の作用のため、動き予測画像ブロック又は動き領域予測画像ブロックは同時に入力されず、何れか一方が入力される。スイッチ2044は、入力された予測方式信号が画面内予測を示す場合、接点をdに倒し、入力された動き領域予測画像ブロックと画面内予測画像ブロックのいずれかを予測画像ブロックとして加算部214に出力する。
スイッチ2044は、入力された予測方式信号が動き予測又は動き領域予測を示す場合、接点をcに倒し、入力された動き予測画像ブロックと画面内予測画像ブロックのいずれかを加算部214に出力する。ここで、スイッチ2044は、スイッチ2043の作用のため、動き予測画像ブロック又は動き領域予測画像ブロックは同時に入力されず、何れか一方が入力される。スイッチ2044は、入力された予測方式信号が画面内予測を示す場合、接点をdに倒し、入力された動き領域予測画像ブロックと画面内予測画像ブロックのいずれかを予測画像ブロックとして加算部214に出力する。
逆DCT部212は、可変長復号部215から入力された周波数領域信号に2次元逆DCTを行って残差信号ブロックに変換する。逆DCT部212は、変換した残差信号ブロックをスイッチ2042に出力する。
スイッチ2042は、可変長復号部215から入力された型信号がRMBを示す場合、接点をaに倒し、逆DCT部212から入力された残差信号ブロックを配列先ブロックとして逆配列部213に出力する。スイッチ2042は、可変長復号部215から入力された型信号がAMB又はSMBを示す場合、接点をbに倒し、逆DCT部212から入力された残差信号ブロックを加算部214に出力する。
逆配列部213は、スイッチ2042から配列先ブロックを入力され、パターン決定部2032からパターンブロック信号を入力される。逆配列部213は、入力されたパターンブロック信号が示すパターンブロックに対応する配列パターンをコードブック202から読み取る。逆配列部213は、読み取った配列パターンが示す配列後の座標の画素の輝度値を残差信号ブロックから読み取り、配列前の画素に配列して残差信号ブロックを生成する。逆配列部213が輝度値を読み取り、配列する順序は配列パターンが示す配列後の座標及び配列前の座標の順序に従う。逆配列部213は、生成した残差信号ブロックを加算部214に出力する。
加算部214は、スイッチ2044から入力された予測信号ブロックを構成する画素の輝度値とスイッチ2042又は逆配列部213から入力された残差信号ブロックを構成する画素の輝度値を各々加算して、参照信号ブロックを生成する。加算部214は、生成した参照信号ブロックを画面記憶部201に出力し、その参照信号ブロックを復号されたテクスチャ画像ブロックとして画像復号装置2の外部に出力する。
可変長復号部215は、画像復号装置2の外部から入力されたテクスチャ画像符号から圧縮残差信号、型信号、動きベクトル信号及び予測方式信号をそれぞれ抽出する。
可変長復号部215は、抽出した圧縮残差信号を可変長符号化部115が行った圧縮符号化とは逆の処理を行って復号(可変長復号)し、圧縮残差信号よりも情報量の多いアダマール変換信号を生成する。例えば、可変長符号化部115がエントロピー符号化を行った場合、可変長復号部215はエントロピー復号を行う。可変長復号部215は生成したアダマール変換信号をアダマール変換して周波数領域信号を生成する。可変長復号部215が行うアダマール変換は、可変長符号化部115が行うアダマール変換の逆演算である。
可変長復号部215は、生成した周波数領域信号を逆DCT部212に出力し、抽出した動きベクトル信号を動き予測部205及び動き領域予測部206に出力する。
可変長復号部215は、抽出した型信号をスイッチ2042及びスイッチ2043に出力する。可変長復号部215は、抽出した予測方式信号をスイッチ2044に出力する。
可変長復号部215は、抽出した圧縮残差信号を可変長符号化部115が行った圧縮符号化とは逆の処理を行って復号(可変長復号)し、圧縮残差信号よりも情報量の多いアダマール変換信号を生成する。例えば、可変長符号化部115がエントロピー符号化を行った場合、可変長復号部215はエントロピー復号を行う。可変長復号部215は生成したアダマール変換信号をアダマール変換して周波数領域信号を生成する。可変長復号部215が行うアダマール変換は、可変長符号化部115が行うアダマール変換の逆演算である。
可変長復号部215は、生成した周波数領域信号を逆DCT部212に出力し、抽出した動きベクトル信号を動き予測部205及び動き領域予測部206に出力する。
可変長復号部215は、抽出した型信号をスイッチ2042及びスイッチ2043に出力する。可変長復号部215は、抽出した予測方式信号をスイッチ2044に出力する。
距離画像復号部23は、画像復号装置2の外部から入力された距離画像符号に基づきブロック毎に公知の画像復号方法、例えばITU−T H.264規格書に記載された復号方法を用いて復号する。距離画像復号部12は、復号して生成した距離画像ブロックをパターン決定部2032及び画像復号装置2の外部に出力する。
次に、本実施形態に係る画像復号処理について説明する。
図16は、本実施形態に係る画像復号装置2が行う画像復号処理を示すフローチャートである。
(ステップS401)画像復号装置2は、ステップS402−S434までの処理をフレーム内のブロック毎に繰り返す。
(ステップS402)可変長復号部215は、画像復号装置2の外部から入力されたテクスチャ画像符号から圧縮残差信号、型信号、動きベクトル信号及び予測方式信号をそれぞれ抽出する。可変長復号部215は、抽出した圧縮残差信号を可変長符号化部115が行った圧縮符号化とは逆の処理を行って復号(可変長復号)し、圧縮残差信号よりも情報量の多いアダマール変換信号を生成する。可変長復号部215は生成したアダマール変換信号をアダマール変換して周波数領域信号を生成する。可変長復号部215は、生成した周波数領域信号を逆DCT部212に出力し、抽出した動きベクトル信号を動き予測部205及び動き領域予測部206に出力する。可変長復号部215は、抽出した型信号をスイッチ2042及びスイッチ2043に出力する。可変長復号部215は、抽出した予測方式信号をスイッチ2044に出力する。
距離画像復号部23は、画像復号装置2の外部から入力された距離画像符号に基づきブロック毎に公知の画像符号化方法を用いて復号する。距離画像復号部12は、復号して生成した距離画像信号ブロックをパターン決定部2032及び画像復号装置2の外部に出力する。その後、ステップS403に進む。
図16は、本実施形態に係る画像復号装置2が行う画像復号処理を示すフローチャートである。
(ステップS401)画像復号装置2は、ステップS402−S434までの処理をフレーム内のブロック毎に繰り返す。
(ステップS402)可変長復号部215は、画像復号装置2の外部から入力されたテクスチャ画像符号から圧縮残差信号、型信号、動きベクトル信号及び予測方式信号をそれぞれ抽出する。可変長復号部215は、抽出した圧縮残差信号を可変長符号化部115が行った圧縮符号化とは逆の処理を行って復号(可変長復号)し、圧縮残差信号よりも情報量の多いアダマール変換信号を生成する。可変長復号部215は生成したアダマール変換信号をアダマール変換して周波数領域信号を生成する。可変長復号部215は、生成した周波数領域信号を逆DCT部212に出力し、抽出した動きベクトル信号を動き予測部205及び動き領域予測部206に出力する。可変長復号部215は、抽出した型信号をスイッチ2042及びスイッチ2043に出力する。可変長復号部215は、抽出した予測方式信号をスイッチ2044に出力する。
距離画像復号部23は、画像復号装置2の外部から入力された距離画像符号に基づきブロック毎に公知の画像符号化方法を用いて復号する。距離画像復号部12は、復号して生成した距離画像信号ブロックをパターン決定部2032及び画像復号装置2の外部に出力する。その後、ステップS403に進む。
(ステップS403)スイッチ2042及びスイッチ2043は、ともに可変長復号部215から入力された型信号がRMBを示すか、AMBもしくはSMBを示すか判断する。
スイッチ2042及びスイッチ2043が可変長復号部215から入力された型信号がRMBを示すと判断したとき(ステップS403 Y)、ステップS404に進む。
スイッチ2042及びスイッチ2043が可変長復号部215から入力された型信号がAMB又はSMBを示すと判断したとき(ステップS403 N)、ステップS424に進む。
スイッチ2042及びスイッチ2043が可変長復号部215から入力された型信号がRMBを示すと判断したとき(ステップS403 Y)、ステップS404に進む。
スイッチ2042及びスイッチ2043が可変長復号部215から入力された型信号がAMB又はSMBを示すと判断したとき(ステップS403 N)、ステップS424に進む。
(ステップS404)スイッチ2044は、可変長復号部215から入力された予測方式信号が画面内予測を示すか、動き領域予測を示すか判断する。
スイッチ2044は、可変長復号部215から入力された予測方式信号が画面内予測を示すと判断したとき(ステップS404 Y)、ステップS407に進む。
スイッチ2044は、可変長復号部215から入力された予測方式信号が動き領域予測を示すと判断したとき(ステップS404 N)、ステップS405に進む。
スイッチ2044は、可変長復号部215から入力された予測方式信号が画面内予測を示すと判断したとき(ステップS404 Y)、ステップS407に進む。
スイッチ2044は、可変長復号部215から入力された予測方式信号が動き領域予測を示すと判断したとき(ステップS404 N)、ステップS405に進む。
(ステップS405)動き領域予測部206は、可変長復号部215から動きベクトル信号を入力される。動き領域予測部206は、画面記憶部201に記憶された参照画像から、入力された動きベクトル信号が示す動きベクトルに対応する座標の参照画像ブロックを読み出す。
動き領域予測部206は、読み出した参照画像ブロックのうちパターンブロックにおいて信号値1をとる画素の信号値を参照画像パターンとして抽出する。
動き領域予測部206は、抽出した参照画像パターンを動きベクトルに基づき動き予測を行い、動き領域予測画像パターンを生成する。動き領域予測部206は、ブロック全体の画素における輝度値がゼロであるゼロ画像ブロックに生成した動き領域予測画像パターンの各画素の輝度値を加算することによりゼロ信号を挿入して動き領域予測画像ブロックを生成する。
動き領域予測部206は、生成した動き領域予測画像ブロックをスイッチ2044に出力する。その後、ステップS408に進む。
動き領域予測部206は、読み出した参照画像ブロックのうちパターンブロックにおいて信号値1をとる画素の信号値を参照画像パターンとして抽出する。
動き領域予測部206は、抽出した参照画像パターンを動きベクトルに基づき動き予測を行い、動き領域予測画像パターンを生成する。動き領域予測部206は、ブロック全体の画素における輝度値がゼロであるゼロ画像ブロックに生成した動き領域予測画像パターンの各画素の輝度値を加算することによりゼロ信号を挿入して動き領域予測画像ブロックを生成する。
動き領域予測部206は、生成した動き領域予測画像ブロックをスイッチ2044に出力する。その後、ステップS408に進む。
(ステップS407)画面内予測部207は、画面記憶部201に記憶された参照画像であって、処理対象の現在のフレームの参照画像のうち復号された参照画像ブロックを読み出す。画面内予測部207は、読み出した参照画像ブロックに画面内予測を行い、画面内予測画像ブロックを生成する。
画面内予測部207は、生成した画面内予測画像ブロックをスイッチ2044に出力する。その後、ステップS408に進む。
画面内予測部207は、生成した画面内予測画像ブロックをスイッチ2044に出力する。その後、ステップS408に進む。
(ステップS408)逆DCT部212は、可変長復号部215から入力された周波数領域信号に2次元逆DCTを行って残差信号ブロックに変換する。逆DCT部212は、変換した残差信号ブロックをスイッチ2042に出力する。その後、ステップS409に進む。
(ステップS409)逆配列部213は、スイッチ2042から配列先ブロックを入力され、パターン決定部2032からパターンブロック信号を入力される。逆配列部213は、入力されたパターンブロック信号が示すパターンブロックに対応する配列パターンをコードブック202から読み取る。逆配列部213は、読み取った配列パターンが示す配列後の座標の画素の輝度値を残差信号ブロックから読み取り、配列前の画素に配列して残差信号ブロックを生成する。逆配列部213が輝度値を読み取り、配列する順序は配列パターンが示す配列後の座標及び配列前の座標の順序に従う。逆配列部213は、生成した残差信号ブロックを加算部214に出力する。その後、ステップS432に進む。
(ステップS409)逆配列部213は、スイッチ2042から配列先ブロックを入力され、パターン決定部2032からパターンブロック信号を入力される。逆配列部213は、入力されたパターンブロック信号が示すパターンブロックに対応する配列パターンをコードブック202から読み取る。逆配列部213は、読み取った配列パターンが示す配列後の座標の画素の輝度値を残差信号ブロックから読み取り、配列前の画素に配列して残差信号ブロックを生成する。逆配列部213が輝度値を読み取り、配列する順序は配列パターンが示す配列後の座標及び配列前の座標の順序に従う。逆配列部213は、生成した残差信号ブロックを加算部214に出力する。その後、ステップS432に進む。
(ステップS424)スイッチ2044は、可変長復号部215から入力された予測方式信号が画面内予測を示すか、動き予測を示すか判断する。
スイッチ2044は、可変長復号部215から入力された予測方式信号が画面内予測を示すと判断したとき(ステップS424 Y)、ステップS427に進む。
スイッチ2044は、可変長復号部215から入力された予測方式信号が動き予測を示すと判断したとき(ステップS424 N)、ステップS426に進む。
スイッチ2044は、可変長復号部215から入力された予測方式信号が画面内予測を示すと判断したとき(ステップS424 Y)、ステップS427に進む。
スイッチ2044は、可変長復号部215から入力された予測方式信号が動き予測を示すと判断したとき(ステップS424 N)、ステップS426に進む。
(ステップS426)動き予測部205は、可変長復号部215から動きベクトル信号を入力される。動き予測部205は、画面記憶部201に記憶された参照画像から、入力された動きベクトル信号が示す動きベクトルに対応する座標の参照画像ブロックを読み出す。
動き予測部205は、読み出した参照画像ブロックを動きベクトルに基づいて動き予測を行い、動き予測画像ブロックを生成する。動き予測部205は、生成した動き予測画像ブロックをスイッチ2044に出力する。その後、ステップS428に進む。
動き予測部205は、読み出した参照画像ブロックを動きベクトルに基づいて動き予測を行い、動き予測画像ブロックを生成する。動き予測部205は、生成した動き予測画像ブロックをスイッチ2044に出力する。その後、ステップS428に進む。
(ステップS427)画面内予測部207は、画面記憶部201に記憶された参照画像であって、処理対象の現在のフレームの参照画像のうち復号された参照画像ブロックを読み出す。画面内予測部207は、読み出した参照画像ブロックに画面内予測を行い、画面内予測画像ブロックを生成する。
画面内予測部207は、生成した画面内予測画像ブロックをスイッチ2044に出力する。その後、ステップS428に進む。
(ステップS428)逆DCT部212は、可変長復号部215から入力された周波数領域信号に2次元逆DCTを行って残差信号ブロックに変換する。逆DCT部212は、変換した残差信号ブロックをスイッチ2042に出力する。その後、ステップS432に進む。
画面内予測部207は、生成した画面内予測画像ブロックをスイッチ2044に出力する。その後、ステップS428に進む。
(ステップS428)逆DCT部212は、可変長復号部215から入力された周波数領域信号に2次元逆DCTを行って残差信号ブロックに変換する。逆DCT部212は、変換した残差信号ブロックをスイッチ2042に出力する。その後、ステップS432に進む。
(ステップS432)加算部214は、スイッチ2044から入力された予測信号ブロックを構成する画素の輝度値とスイッチ2042又は逆配列部213から入力された残差信号ブロックを構成する画素の輝度値を各々加算して、参照信号ブロックを生成する。加算部214は、生成した参照信号ブロックを画面記憶部201に出力し、その参照信号ブロックを復号されたテクスチャ画像ブロックとして画像復号装置2の外部に出力する。
その後、ステップS433に進む。
(ステップS433)画面記憶部201は、加算部214から入力された参照画像ブロックを、対応するフレームにおけるそのブロックの位置に配置して参照画像として記憶する。その後、ステップS434に進む。
その後、ステップS433に進む。
(ステップS433)画面記憶部201は、加算部214から入力された参照画像ブロックを、対応するフレームにおけるそのブロックの位置に配置して参照画像として記憶する。その後、ステップS434に進む。
(ステップS434)画像復号装置2は、入力したフレームのうち参照画像ブロックを、まだ復号されていない領域の有無を判断する。
画像復号装置2、参照画像ブロックをまだ復号されていない領域があると判断した場合、参照画像ブロックを復号するブロックの位置を、ラスタースキャンの順序で、各ブロックが重ならないようにシフトさせる。また、距離画像復号部23は距離画像ブロックの位置を、参照画像ブロックを復号するブロックの位置にシフトさせる。その後、ステップS402に戻る。
画像復号装置2は、参照画像ブロックをまだ抽出していない領域がないと判断した場合、入力したフレームのテクスチャ画像を復号する処理を終了する。
画像復号装置2、参照画像ブロックをまだ復号されていない領域があると判断した場合、参照画像ブロックを復号するブロックの位置を、ラスタースキャンの順序で、各ブロックが重ならないようにシフトさせる。また、距離画像復号部23は距離画像ブロックの位置を、参照画像ブロックを復号するブロックの位置にシフトさせる。その後、ステップS402に戻る。
画像復号装置2は、参照画像ブロックをまだ抽出していない領域がないと判断した場合、入力したフレームのテクスチャ画像を復号する処理を終了する。
次に、上述の画像符号化処理又は画像復号処理の処理対象又は処理対象となる画像信号を示す画像の例について説明する。
図17は、本実施形態に係るテクスチャ画像の一例を示す概念図である。
図17は、テクスチャ画像入力部100が符号化の対象として入力されるテクスチャ画像t1を示す。テクスチャ画像t1の中央部右下に示す矩形の部分は、テクスチャ画像入力部100が抽出するテクスチャ画像ブロックu1を示す。
図17は、本実施形態に係るテクスチャ画像の一例を示す概念図である。
図17は、テクスチャ画像入力部100が符号化の対象として入力されるテクスチャ画像t1を示す。テクスチャ画像t1の中央部右下に示す矩形の部分は、テクスチャ画像入力部100が抽出するテクスチャ画像ブロックu1を示す。
図18は、本実施形態に係る参照画像の一例を示す概念図である。
図18は、符号化済又は復号された参照画像r0を示す。参照画像r0は、テクスチャ画像t1よりも1フレーム分過去のテクスチャ画像t0を符号化する過程で生成された参照画像である。
参照画像r0のほぼ中央部に示す矩形の部分は、参照画像ブロックv0を示す。参照画像ブロックv0の座標は、テクスチャ画像ブロックu1の座標と同様である。
図18は、符号化済又は復号された参照画像r0を示す。参照画像r0は、テクスチャ画像t1よりも1フレーム分過去のテクスチャ画像t0を符号化する過程で生成された参照画像である。
参照画像r0のほぼ中央部に示す矩形の部分は、参照画像ブロックv0を示す。参照画像ブロックv0の座標は、テクスチャ画像ブロックu1の座標と同様である。
図19は、本実施形態に係る動き領域情報の一例を示す概念図である。
図19は、動き領域情報mを示す。動き領域情報mは、動き領域決定部1031がテクスチャ画像ブロックu1と参照画像ブロックv0に基づいて生成したものである。
図20は、本実施形態に係る距離画像の一例を示す概念図である。
図20は、距離画像符号化部12が復号する距離画像d1を示す。距離画像d1は、テクスチャ画像t1が示す被写体の視点からの距離情報を示す。距離画像d1の中央部右下に示す矩形の部分は、型判定部103のパターン決定部1032又はパターン決定部2032が距離画像符号化部12から入力される距離画像ブロックe1を示す。
図21は、本実施形態に係る距離画像ブロックの一例を示す概念図である。
図21は、型判定部103のパターン決定部1032又はパターン決定部2032が距離画像ブロックに基づいて算出した二値化距離パターンn1を示す。
図19は、動き領域情報mを示す。動き領域情報mは、動き領域決定部1031がテクスチャ画像ブロックu1と参照画像ブロックv0に基づいて生成したものである。
図20は、本実施形態に係る距離画像の一例を示す概念図である。
図20は、距離画像符号化部12が復号する距離画像d1を示す。距離画像d1は、テクスチャ画像t1が示す被写体の視点からの距離情報を示す。距離画像d1の中央部右下に示す矩形の部分は、型判定部103のパターン決定部1032又はパターン決定部2032が距離画像符号化部12から入力される距離画像ブロックe1を示す。
図21は、本実施形態に係る距離画像ブロックの一例を示す概念図である。
図21は、型判定部103のパターン決定部1032又はパターン決定部2032が距離画像ブロックに基づいて算出した二値化距離パターンn1を示す。
図22は、本実施形態に係るテクスチャ画像のその他の例を示す概念図である。
図22は、上述のテクスチャ画像t1とテクスチャ画像ブロックu1を示す。
テクスチャ画像ブロックu1に含まれる領域p1は、型判定部103の動き予測決定部1033が動き領域mと類似すると判定したパターンブロックに含まれる信号値1が占める領域である。このパターンブロックは、図3のパターンブロック306である。
図23は、本実施形態に係る参照画像のその他の例を示す概念図である。
図23は、上述の参照画像r1を示す。参照画像r1の中央部右下に上述の領域p1を示す。この領域p1は、動き領域予測部106又は動き領域予測部206がテクスチャ画像パターンとして抽出する画素が占める領域である。領域p1の右側に示される領域p0は、動き領域予測部106又は動き領域予測部206が参照画像r1から参照画像パターンとして抽出する領域である。領域p0から領域p1に向かう矢印は、動き領域予測部106が検出又は動き領域予測部206が復号する動きベクトルを示す。
図22は、上述のテクスチャ画像t1とテクスチャ画像ブロックu1を示す。
テクスチャ画像ブロックu1に含まれる領域p1は、型判定部103の動き予測決定部1033が動き領域mと類似すると判定したパターンブロックに含まれる信号値1が占める領域である。このパターンブロックは、図3のパターンブロック306である。
図23は、本実施形態に係る参照画像のその他の例を示す概念図である。
図23は、上述の参照画像r1を示す。参照画像r1の中央部右下に上述の領域p1を示す。この領域p1は、動き領域予測部106又は動き領域予測部206がテクスチャ画像パターンとして抽出する画素が占める領域である。領域p1の右側に示される領域p0は、動き領域予測部106又は動き領域予測部206が参照画像r1から参照画像パターンとして抽出する領域である。領域p0から領域p1に向かう矢印は、動き領域予測部106が検出又は動き領域予測部206が復号する動きベクトルを示す。
このように、本実施形態によれば、画素毎の輝度値からなるテクスチャ画像をブロック毎に符号化する画像符号化装置1において、過去に符号化したフレームの参照画像を記憶する画面記憶部と、第1の信号値をとる画素とその他の信号値をとる画素からなり、前記第1の信号値をとる画素の分布が異なる複数個のパターンブロックを記憶するコードブックとを備え、前記テクスチャ画像のブロックから被写体が動く画像を表す領域である動き領域を前記画面記憶部から読み出した参照画像のブロックに基づいて決定し、視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンプロックを前記コードブックから読み出し、前記テクスチャ画像のブロックと前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める。
また、画素毎の輝度値からなるテクスチャ画像をブロック毎に復号する画像復号装置2において、過去に復号したフレームの参照画像を記憶する画面記憶部と、第1の信号値をとる画素とその他の信号値をとる画素からなり、前記第1の信号値をとる画素の分布が異なる複数個のパターンブロックを記憶するコードブックとを備え、視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンブロックを前記コードブックから読み出し、入力された動きベクトル符号に対応する参照画像のブロックを前記画面記憶部から読み出し、前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める。
これにより、テクスチャ画像の符号化において画面(フレーム)間で被写体が動くことにより輝度値の変化の著しい動き領域に対応するパターンブロックを、距離画像に基づき選択できるためパターンブロックを表す符号の入出力が免れる。そのため、本実施形態によればテクスチャ画像を高い効率で符号化又は復号できる。
また、本実施形態ではパターンブロックに含まれる画素のうち第1の信号値をとる画素に基づき生成した予測画像を用いて符号化するため、符号化の対象となる情報量ひいては入出力される情報量を削減できる。従って、本実施形態によればテクスチャ画像を効率よく符号化又は復号できる。
また、本実施形態ではパターンブロックに含まれる画素のうち第1の信号値をとる画素に基づき生成した予測画像を用いて符号化するため、符号化の対象となる情報量ひいては入出力される情報量を削減できる。従って、本実施形態によればテクスチャ画像を高い効率で符号化又は復号できる。
また、本実施形態ではパターンブロックに含まれる画素のうち第1の信号値をとる画素に基づき生成した予測画像を用いて符号化するため、符号化の対象となる情報量ひいては入出力される情報量を削減できる。従って、本実施形態によればテクスチャ画像を効率よく符号化又は復号できる。
また、本実施形態ではパターンブロックに含まれる画素のうち第1の信号値をとる画素に基づき生成した予測画像を用いて符号化するため、符号化の対象となる情報量ひいては入出力される情報量を削減できる。従って、本実施形態によればテクスチャ画像を高い効率で符号化又は復号できる。
上述の実施形態において、テクスチャ画像ブロック、距離画像ブロック、予測画像ブロック及び参照画像ブロックの大きさを、水平方向16画素×垂直方向16画素として説明したが、これには限られない。この大きさは、例えば、水平方向8画素×垂直方向8画素、水平方向4画素×垂直方向4画素、水平方向32画素×垂直方向32画素、水平方向16画素×垂直方向8画素、水平方向8画素×垂直方向16画素、水平方向8画素×垂直方向4画素、水平方向4画素×垂直方向8画素、水平方向32画素×垂直方向16画素、水平方向16画素×垂直方向32画素、のうち、いずれでもよい。
なお、上述した実施形態における画像符号化装置1の一部、例えば、スイッチ1041、スイッチ1042、スイッチ1043、スイッチ1044、動き予測部105、動き領域予測部106、画面内予測部107、減算部108、符号化制御部110、DCT部111、逆DCT部112、逆配列部113、加算部114、可変長符号化部115及び距離画像符号化部12、画像復号装置2の一部、例えば、パターン決定部2032、スイッチ2042、スイッチ2043、スイッチ2044、動き予測部205、動き領域予測部206、画面内予測部207、逆DCT部212、逆配列部213、加算部214、可変長復号部115及び距離画像復号部23をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置1又は画像復号装置2に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
また、上述した実施形態における画像符号化装置1又は画像復号装置2の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。画像符号化装置1又は画像復号装置2の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
また、上述した実施形態における画像符号化装置1又は画像復号装置2の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。画像符号化装置1又は画像復号装置2の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
1…画像符号化装置、100…テクスチャ画像入力部、101…画面記憶部、
102…コードブック、103…型判定部、
1031…動き領域決定部、1032…パターン決定部、1033…動き予測決定部
1041…スイッチ、1042…スイッチ、1043…スイッチ、1044…スイッチ、
105…動き予測部、106…動き領域予測部、107…画面内予測部、
108…減算部、109…配列部、110…符号化制御部、111…DCT部、
112…逆DCT部、113…逆配列部、114…加算部、12…距離画像符号化部
2…画像復号装置、201…画面記憶部、202…コードブック、
2032…パターン決定部、
2042…スイッチ、2043…スイッチ、2044…スイッチ、
205…動き予測部、206…動き領域予測部、207…画面内予測部、
212…逆DCT部、213…逆配列部、214…加算部、23…距離画像復号部
102…コードブック、103…型判定部、
1031…動き領域決定部、1032…パターン決定部、1033…動き予測決定部
1041…スイッチ、1042…スイッチ、1043…スイッチ、1044…スイッチ、
105…動き予測部、106…動き領域予測部、107…画面内予測部、
108…減算部、109…配列部、110…符号化制御部、111…DCT部、
112…逆DCT部、113…逆配列部、114…加算部、12…距離画像符号化部
2…画像復号装置、201…画面記憶部、202…コードブック、
2032…パターン決定部、
2042…スイッチ、2043…スイッチ、2044…スイッチ、
205…動き予測部、206…動き領域予測部、207…画面内予測部、
212…逆DCT部、213…逆配列部、214…加算部、23…距離画像復号部
Claims (11)
- 画素毎の輝度値からなるテクスチャ画像をブロック毎に符号化する画像符号化装置において、
過去に符号化したフレームの参照画像を記憶する画面記憶部と、
第1の信号値をとる画素とその他の信号値をとる画素からなり、前記第1の信号値をとる画素の分布が異なる複数個のパターンブロックを記憶するコードブックと、
前記テクスチャ画像のブロックから被写体が動く画像を表す領域である動き領域を前記画面記憶部から読み出した参照画像のブロックに基づいて決定する動き領域決定部と、
視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンプロックを前記コードブックから読み出すパターン決定部と、
前記テクスチャ画像のブロックと前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める動き領域予測部とを備える
ことを特徴とする画像符号化装置。 - 前記動き領域と、前記読み出したパターンブロックの前記第1の信号値をとる画素の分布に基づき、動き領域予測を行うか否かを決定する動き予測決定部を備える、
ことを特徴とする請求項1に記載の画像符号化装置。 - 前記動き領域予測信号と前記テクスチャ画像のブロックに含まれる画素の信号値に基づく残差信号を、対応する画素が2次元の矩形となるように空間的に配列して2次元残差信号を生成する配列部と、
前記2次元残差信号を周波数領域に変換して周波数領域信号を生成する周波数領域変換部と、
前記周波数領域信号を圧縮符号化して圧縮残差信号を生成する可変長符号化部とを備える
ことを特徴とする請求項1に記載の画像符号化装置。 - 前記パターン決定部は、
前記距離画像のブロックに含まれる画素毎の深度値が予め設定された閾値を超える画素の分布と前記第1の信号値をとる画素の分布に基づき、前記パターンブロックを読み出す
ことを特徴とする請求項1に記載の画像符号化装置。 - 過去に符号化したフレームの参照画像を記憶する画面記憶部と、第1の信号値をとる画素とその他の信号値をとる画素からなり、前記第1の信号値をとる画素の分布が異なる複数個のパターンブロックを記憶するコードブックを備え、画素毎の輝度値からなるテクスチャ画像をブロック毎に符号化する画像符号化装置における画像符号化方法において、
前記画像符号化装置は、前記テクスチャ画像のブロックから被写体が動く画像を表す領域である動き領域を前記画面記憶部から読み出した参照画像のブロックに基づいて決定する第1の過程と、
前記画像符号化装置は、視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンプロックを前記コードブックから読み出す第2の過程と、
前記画像符号化装置は、前記テクスチャ画像のブロックと前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める第3の過程とを有する
ことを特徴とする画像符号化方法。 - 過去に符号化したフレームの参照画像を記憶する画面記憶部と、第1の信号値をとる画素とその他の信号値をとる画素からなり、前記第1の信号値をとる画素の分布が異なる複数個のパターンブロックを記憶するコードブックを備え、画素毎の輝度値からなるテクスチャ画像をブロック毎に符号化する画像符号化装置が備えるコンピュータに、
前記テクスチャ画像のブロックから被写体が動く画像を表す領域である動き領域を前記画面記憶部から読み出した参照画像のブロックに基づいて決定する手順、
視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンプロックを前記コードブックから読み出す手順、
前記テクスチャ画像のブロックと前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める手順
を実行させるための画像符号化プログラム。 - 画素毎の輝度値からなるテクスチャ画像をブロック毎に復号する画像復号装置において、
過去に復号したフレームの参照画像を記憶する画面記憶部と、
第1の信号値をとる画素とその他の信号値をとる画素からなり、前記第1の信号値をとる画素の分布が異なる複数個のパターンブロックを記憶するコードブックと、
視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンブロックを前記コードブックから読み出すパターン決定部と、
入力された動きベクトル符号に対応する参照画像のブロックを前記画面記憶部から読み出し、前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める動き領域予測部とを備える
ことを特徴とする画像復号装置。 - 圧縮残差信号を復号して周波数領域信号を生成する可変長復号部と、
前記周波数領域信号を空間領域に変換して2次元残差信号を生成する空間領域変換部と、
前記2次元残差信号に含まれる画素毎の信号値を、当該画素に各々対応する画素であって前記読み出したパターンブロックの前記第1の信号値をとる画素に配列して残差信号を生成する逆配列部とを備える
ことを特徴とする請求項7に記載の画像復号装置。 - 前記パターン決定部は、
前記距離画像のブロックに含まれる画素毎の深度値が予め設定された閾値を超える画素の分布と前記第1の信号値をとる画素の分布に基づき、前記パターンブロックを読み出す
ことを特徴とする請求項7に記載の画像復号装置。 - 過去に復号したフレームの参照画像を記憶する画面記憶部と、第1の信号値をとる画素とその他の信号値をとる画素からなり、前記第1の信号値をとる画素の分布が異なる複数個のパターンブロックを記憶するコードブックとを備え、画素毎の輝度値からなるテクスチャ画像をブロック毎に復号する画像復号装置における画像復号方法において、
前記画像復号装置が、視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンブロックを前記コードブックから読み出す第1の過程と、
前記画像復号装置が、入力された動きベクトル符号に対応する参照画像のブロックを前記画面記憶部から読み出し、前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める第2の過程とを有する
ことを特徴とする画像復号方法。 - 過去に復号したフレームの参照画像を記憶する画面記憶部と、第1の信号値をとる画素とその他の信号値をとる画素からなり、前記第1の信号値をとる画素の分布が異なる複数個のパターンブロックを記憶するコードブックとを備え、画素毎の輝度値からなるテクスチャ画像をブロック毎に復号する画像復号装置が備えるコンピュータに、
視点から被写体までの距離を表す画素毎の深度値からなる距離画像のブロックに基づきパターンブロックを前記コードブックから読み出す手順、
入力された動きベクトル符号に対応する参照画像のブロックを前記画面記憶部から読み出し、前記読み出した参照画像のブロックに基づいて算出した予測画像ブロックに含まれる画素のうち、前記読み出したパターンブロックの前記第1の信号値をとる画素と同一の座標の画素の信号値からなる動き領域予測信号を定める手順
を実行させるための画像復号プログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011105183A JP2014140089A (ja) | 2011-05-10 | 2011-05-10 | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム |
| PCT/JP2012/061896 WO2012153771A1 (ja) | 2011-05-10 | 2012-05-09 | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011105183A JP2014140089A (ja) | 2011-05-10 | 2011-05-10 | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2014140089A true JP2014140089A (ja) | 2014-07-31 |
Family
ID=47139247
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011105183A Withdrawn JP2014140089A (ja) | 2011-05-10 | 2011-05-10 | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2014140089A (ja) |
| WO (1) | WO2012153771A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109564696A (zh) * | 2016-08-10 | 2019-04-02 | 索尼公司 | 图像处理设备和图像处理方法 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104427291B (zh) * | 2013-08-19 | 2018-09-28 | 华为技术有限公司 | 一种图像处理方法及设备 |
| US10375313B1 (en) | 2018-05-07 | 2019-08-06 | Apple Inc. | Creative camera |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002058031A (ja) * | 2000-08-08 | 2002-02-22 | Nippon Telegr & Teleph Corp <Ntt> | 画像符号化方法及び装置、並びに、画像復号化方法及び装置 |
| JP4414379B2 (ja) * | 2005-07-28 | 2010-02-10 | 日本電信電話株式会社 | 映像符号化方法、映像復号方法、映像符号化プログラム、映像復号プログラム及びそれらのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
| WO2010087955A1 (en) * | 2009-01-30 | 2010-08-05 | Thomson Licensing | Coding of depth maps |
-
2011
- 2011-05-10 JP JP2011105183A patent/JP2014140089A/ja not_active Withdrawn
-
2012
- 2012-05-09 WO PCT/JP2012/061896 patent/WO2012153771A1/ja not_active Ceased
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109564696A (zh) * | 2016-08-10 | 2019-04-02 | 索尼公司 | 图像处理设备和图像处理方法 |
| CN109564696B (zh) * | 2016-08-10 | 2022-11-29 | 索尼公司 | 图像处理设备和图像处理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2012153771A1 (ja) | 2012-11-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6072678B2 (ja) | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム | |
| JP7605950B2 (ja) | インター予測モードに基づいた映像処理方法およびそのための装置 | |
| KR102658929B1 (ko) | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
| KR20210133192A (ko) | 영상 부호화 또는 복호화하기 위한 장치 및 방법 | |
| JP6807987B2 (ja) | 画像符号化装置、動画像復号装置、動画像符号化データ及び記録媒体 | |
| US20250350846A1 (en) | Image data encoding/decoding method and apparatus | |
| JP5616984B2 (ja) | 画像復号化装置 | |
| TW201220855A (en) | Image encoding method and apparatus, image decoding method and apparatus, and programs therefor | |
| JPWO2014054267A1 (ja) | 画像符号化装置及び画像符号化方法 | |
| KR102884776B1 (ko) | 변환에 기반한 영상 코딩 방법 및 그 장치 | |
| JP2023030007A (ja) | 画像データ符号化/復号化方法及び装置 | |
| KR20180079314A (ko) | 그래프 기반 리프팅 변환을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치 | |
| JP2014140089A (ja) | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム | |
| JP7156471B2 (ja) | 動画像復号装置、動画像復号方法及び動画像復号用コンピュータプログラム | |
| JP6248783B2 (ja) | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム | |
| Sha et al. | Novel image set compression algorithm using rate-distortion optimized multiple reference image selection | |
| KR102804777B1 (ko) | 영상의 압축 영역에서 딥러닝 행동 인식 방법 및 이를 위한 장치 | |
| WO2012128209A1 (ja) | 画像符号化装置、画像復号装置、プログラムおよび符号化データ | |
| US11528485B2 (en) | Encoding apparatus and program | |
| CN111869211B (zh) | 图像编码装置和方法 | |
| KR102356317B1 (ko) | 화면 내 예측 부호화 또는 복호화 방법 및 장치 | |
| WO2012153440A1 (ja) | 予測ベクトル生成方法、予測ベクトル生成装置、予測ベクトル生成プログラム、画像符号化方法、画像符号化装置、画像符号化プログラム、画像復号方法、画像復号装置、及び画像復号プログラム | |
| JP2014112749A (ja) | 画像符号化装置および画像復号装置 | |
| BR122023022608A2 (pt) | Aparelho de decodificação para decodificação de imagens, aparelho de codificação de imagem para codificação de imagens e aparelho para transmissão de dados para uma informação de imagem | |
| BR122025007183A2 (pt) | Método de decodificação de imagens, método de codificação de imagens, meio de armazenamento digital não transitório legível por computador e método para transmitir dados para informações de imagem |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140805 |
