JP6405667B2 - データ復元装置、およびデータ生成方法 - Google Patents

データ復元装置、およびデータ生成方法 Download PDF

Info

Publication number
JP6405667B2
JP6405667B2 JP2014073998A JP2014073998A JP6405667B2 JP 6405667 B2 JP6405667 B2 JP 6405667B2 JP 2014073998 A JP2014073998 A JP 2014073998A JP 2014073998 A JP2014073998 A JP 2014073998A JP 6405667 B2 JP6405667 B2 JP 6405667B2
Authority
JP
Japan
Prior art keywords
data
value
dimensional data
encoded
sequence
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.)
Active
Application number
JP2014073998A
Other languages
English (en)
Other versions
JP2015198279A (ja
Inventor
船窪 則之
則之 船窪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2014073998A priority Critical patent/JP6405667B2/ja
Publication of JP2015198279A publication Critical patent/JP2015198279A/ja
Application granted granted Critical
Publication of JP6405667B2 publication Critical patent/JP6405667B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、N(Nは2以上の整数)個の要素から成るN次元データ列の符号化、および、当該符号化したデータ列の復号化を行う装置および方法に関する。
近年、車載の情報表示装置として、ヘッドアップディスプレイ(Head Up Display、以下では、HUDと略記する)システムが注目されている。車載のHUDシステムは、例えば、車速や燃料残量等を表す画像をフロントガラスに投影する。しかし、これらの画像を非平面のフロントガラスにそのまま投影すると、運転者からは歪んだ画像として見える。そこで、多くのHUDシステムは、この歪みを補正する機能(ワーピング機能)を備えている。ワーピング機能に関する従来技術として、オフセット値(以下では、補正係数と表記する)を用いてピクセル位置を計算する技術が特許文献1に開示されている。なお、補正係数データは、通常、水平方向の補正係数と垂直方向の補正係数とから成る2次元データである。
特開2008−102519号公報(2008年5月1日公開)
補正係数を画素毎に与える場合、補正係数のデータ容量が大きくなる。それゆえ、補正係数を格納するメモリのコスト削減、および、読み出し帯域の削減の観点から、メモリに記憶させる補正係数を可逆圧縮符号化することが有用である。この符号化方法として次に示す方法が考えられる。(1)補正係数データの並びを1次元データ列とみなし、隣接するデータ間の相関値を符号化する。(2)水平方向の補正係数および垂直方向の補正係数の各々について、1次元データ列とみなし、隣接するデータ間の相関値を符号化する。
上記方法(1)では、相関が小さい水平方向の補正係数と垂直方向の補正係数との間で相関を求めるため、圧縮率が上がらないという問題がある。一方、上記方法(2)によれば、相関が大きい垂直方向の補正係数同士の相関、および、相関が大きい水平方向の補正係数同士の相関を求めるため、圧縮率は向上する。しかしながら、符号化データは、連続した1個のストリームではなく、2個の圧縮データとなる。それゆえ、アドレスの切り替え時にオーバーヘッドが発生するメモリ(例えば、SPI(Serial Peripheral Interface)のROM(Read Only Memory)や、プリチャージを行うDRAM(Dynamic Random Access Memory))に符号化データを記憶させる場合、読み出し遅延が生じやすく、その結果として復号化速度が遅くなるという問題がある。なお、特許文献1には、補正係数データを可逆圧縮符号化する技術については言及されていない。
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、圧縮率を下げることなくN次元データ列を高速に復元するための、圧縮データの生成方法、および、データ復元装置を提供することにある。
上記の課題を解決するために、本発明の一態様に係るデータ復元装置は、N個(Nは2以上の整数)の要素の要素値から成るN次元データが配列したN次元データ列から生成された符号化データ列を復号化して上記N次元データ列を生成するデータ復元装置であって、上記符号化データ列は、N次元データの各要素値から成る要素毎の要素値列を逆算可能であり、かつ、当該要素値列に含まれる要素値間の相関を示す各相関値を、上記要素値列毎に符号化した符号化データが、上記N次元データ列に配列されたN次元データの配列順に、かつN次元データの各要素値の配列順に、N個単位に1次元に配列されており、上記符号化データ列に含まれる上記符号化データを復号化して上記相関値を生成する復号化手段と、上記生成された相関値を逆算して得た上記要素値を、N次元データの配列順に、かつN次元データの各要素値の配列順に、N個単位に配列して上記N次元データ列を生成するデータ生成手段とを備えている。
上記の構成によれば、符号化データ列に含まれる符号化データを復号化して生成された相関値を逆算して得た上記要素値を、N次元データの配列順に、かつN次元データの各要素値の配列順に、N個単位に配列して上記N次元データ列を生成する。
よって、各N次元データを元の配列順に次々と復元することができる。また、復号化処理、逆算処理、および配列処理を並列に実行することにより、各N次元データを高速に次々と復元することができる。また、同じN次元データの要素値が並列処理で順々に生成されるため、同期を取るためのバッファ等を設ける必要がなく、装置構成の削減が可能となる。
また、上記の課題を解決するために、本発明の一態様に係るデータ生成方法は、N個(Nは2以上の整数)の要素の要素値から成るN次元データが配列したN次元データ列から符号化データ列を生成するデータ生成方法であって、N次元データの各要素値から成る要素毎の要素値列を逆算可能であり、かつ、当該要素値列に含まれる要素値間の相関を示す各相関値を符号化した符号化データを生成する処理を、上記要素値列毎に行う符号化工程と、上記符号化データを、上記N次元データ列に配列されたN次元データの配列順に、かつN次元データの各要素値の配列順に、N個単位に1次元に配列することにより、上記符号化データ列を生成する生成工程とを含んでいる。
上記の構成によれば、N次元データの各要素値から成る要素毎の要素値列を逆算可能であり、かつ、当該要素値列に含まれる要素値間の相関を示す各相関値を要素値列毎に符号化した符号化データを、上記N次元データ列に配列されたN次元データの配列順に、かつN次元データの各要素値の配列順に、N個単位に1次元に配列することにより、符号化データ列が生成される。
よって、符号化データ列は、復号化すると各N次元データが元の配列順に復元できるように1次元に配列される。また、符号化データ列は、連続した1つの圧縮データストリームとして生成される。そのため、アドレスの切り替え時にオーバーヘッドが発生する記憶部に符号化データ列を記憶させる場合であっても読み出し遅延を低減することができる。また、符号化データ列を記憶させる記憶部を飛び飛びに読み出すことがないので、帯域ロスを低減できる。なお、アドレスの切り替え時にオーバーヘッドが発生する記憶部とは、SPI(Serial Peripheral Interface)のROMや、プリチャージを行うDRAM(Dynamic Random Access Memory)などである。
なお、本発明の各態様に係るデータ復元装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記データ復元装置が備える各手段として動作させることにより上記データ復元装置をコンピュータにて実現させるデータ復元装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。さらに、本発明の各態様に係るデータ復元装置は集積回路として実現してもよく、この場合には、上記集積回路を備えるチップなども本発明の範疇に入る。
本発明によれば、N次元データが配列したN次元データ列を符号化した符号化データ列として、復号化時に各N次元データを元の配列順に復元できるように配列された1次元のデータ列を生成することができる。そして、1次元の符号化データ列から、各N次元データを元の配列順に次々と高速に復元することができる。
(a)は、本発明の一実施形態に係るデータ生成装置の概略構成を示すブロック図である。(b)は、上記実施形態に係るデータ復元装置の概略構成を示すブロック図である。 上記実施形態に係るデータ復元装置を含む画像処理装置の概略構成を示すブロック図である。 (a)は、上記実施形態に係るデータ生成処理の流れの一例を示すフローチャートである。(b)は、上記実施形態に係るデータ復元処理の流れの一例を示すフローチャートである。 (a)〜(f)は、上記実施形態に係るデータ生成処理の過程で得られるデータの一例を示した模式図である。 上記実施形態に係る符号化処理に用いる符号化フォーマットの一例を示した模式図である。 (a)〜(d)は、上記実施形態に係るデータ復元処理の過程で得られるデータの一例を示した模式図である。 図3の(b)に示した工程S21の流れの一例を示すフローチャートである。 上記実施形態に係るデータ復元装置を実現する回路構成例を示す模式図である。
本発明の一実施形態について、図1〜図8に基づいて説明すると以下のとおりである。
〔補正データAD〕
本実施形態において、N(Nは2以上の整数)次元データとは、N個の要素の要素値から成るN個組のデータセットを表すものとする。また、N次元データ列とはN次元データが配列したデータ列を表すものとする。
N次元データの具体例として、本実施形態では、平面表示用の画像を非平面表示面に投影するときに生じる画像の歪みを補正するために各画素に予め与えられる補正データ(以下では「補正データAD」と表記する)を用いる。補正データADは、画像の水平方向(主走査方向、X方向)の補正係数と、垂直方向(副走査方向、Y方向)の補正係数とを要素値として成る2次元データである。補正係数は、画素の平面表示面における表示位置を、非平面表示面における表示位置に補正するための係数である。
以下では、垂直方向の補正係数を「Y補正係数」と表記する。また、水平方向の補正係数を「X補正係数」と表記する。なお、両者を区別しないときは、単に「補正係数」と表記する。また、補正データADの1番目の要素の要素値がY補正係数であり、2番目の要素の要素値がX補正係数であるものとする。
また、画素の走査順がP番目である画素の補正データADを[Y,X]と表記する。Pは0以上かつi未満の整数であり、iは走査領域において走査される総画素数を表すものとする。また、各補正データADが走査順に配列したデータ列を「補正データ列AS」と表記する。つまり、補正データ列ASは、[Y,X]、[Y,X]、・・・、[Yi-1,Xi-1]がこの順に配列したデータ列である。本実施形態では、補正データADの配列順は、画素の「走査順」であるものとして説明するが、補正データADの配列順がこれに限定されるものではない。また、補正データ列ASを構成するデータを、本実施形態に係るデータ生成方法により圧縮符号化して配列したデータ列を「符号化データ列ES」と表記する。
〔画像処理装置1の構成例〕
図2を参照しながら、本実施形態に係るデータ復元装置30を含む画像処理装置1の概略構成について説明する。図2は、画像処理装置1の概略構成を示すブロック図である。画像処理装置1は、表示装置(図示省略)に表示させる画像に画像処理を施す装置であり、特に、非平面表示面に画像を投影するシステム(例えばHUDシステムなど)に適した装置である。同図に示すとおり、画像処理装置1は、符号化データ列記憶部2、データ復元装置30、アドレス生成部3、映像キャプチャバッファ4、フィルタ部5、および表示制御部6を含んでいる。
符号化データ列記憶部2は、符号化データ列ESを記憶するROMなどの記憶部である。データ復元装置30は、符号化データ列記憶部2から符号化データ列ESを読み取り、読み取った符号化データ列ESから補正データ列ASを復元する装置である。データ復元装置30の詳細については後述する。アドレス生成部3は、復元された補正データ列ASに含まれる補正係数を用いて、画素毎に補正後の表示位置を決定する。
そして、画像処理装置1は、外部から入力されたRGBデータが一時的に格納される映像キャプチャバッファ4から、アドレス生成部3にて決定した表示位置に従ってRGBデータを読み出し、フィルタ部5にてエッジ強調などのフィルタ処理を施した上で、表示制御部6から表示装置にRGBデータを出力する。
〔補正データ列ASから符号化データ列ESを生成する処理の流れ〕
次に、図3の(a)に示すフローチャートを参照しながら、符号化データ列記憶部2に記憶される符号化データ列ESを生成する処理の一例について説明する。なお、この処理は、図4の(a)に示す補正データ列ASから図4の(d)に示す符号化データ列ESを生成する処理となる。この処理は、図3の(a)に示す工程S11〜S13から成る。
工程S11(符号化工程の一部)では、各補正データADに含まれる補正係数間の相関を示す相関値を算出する。相関値は、相関が強い傾向にあるY補正係数同士およびX補正係数同士から算出することが好ましい。好ましい相関値は、(i)隣り合う2つの画素のY補正係数(またはX補正係数)の差分値、および、(ii)隣り合う3つの画素のY補正係数(またはX補正係数)のうちの1つ目と2つ目との差分値と、2つ目と3つ目との差分値との差分値、である。
具体的には、まず、各補正データADに含まれるY補正係数Y〜Yi-1をこの順に整列させて成るデータ列M1から、データ列M1を逆算可能なY、dY、ddY、ddY、・・・、ddYi-1をこの順に整列させたデータ列C1を算出する(図4の(b)参照)。dYはYとYP-1との相関を示す相関値であり、ここでは、dY=Y−YP-1とする。また、ddYはdYとdYP-1との相関を示す相関値であり、ここでは、ddY=dY−dYP-1とする。この場合、データ列C1の先頭のYを開始値(いわゆるシード)として、データ列C1からデータ列M1を逆算可能である。なお、データ列C1の先頭のYは補正係数そのものであるが相関値とみなしてもよい。
さらに、各補正データADに含まれるX補正係数X〜Xi-1をこの順に整列させて成るデータ列M2から、データ列M2を逆算可能なX、dX、ddX、ddX、・・・、ddXi-1をこの順に整列させたデータ列C2を算出する(図4の(c)参照)。dXはXとXP-1との相関を示す相関値であり、ここでは、dX=X−XP-1とする。また、ddXはdXとdXP-1との相関を示す相関値であり、ここでは、ddX=dX−dXP-1とする。この場合、データ列C2の先頭のXを開始値として、データ列C2からデータ列M2を逆算可能である。なお、データ列C2の先頭のXは補正係数そのものであるが相関値とみなしてもよい。
次に、図3の(a)に示す工程S12(符号化工程の一部)にて、工程S11で算出されたデータ列C1に含まれる相関値の各々、及び、データ列C2に含まれる相関値の各々を符号化した符号化データを生成する。具体的には、データ列C1に含まれるY、dY、ddY、ddY、・・・、ddYi-1の各々を符号化した符号化データであるEY、EdY、EddY、EddY、・・・、EddYi-1から成る符号化データ群E1を生成する(図4の(b)参照)。同様に、データ列C2に含まれるX、dX、ddX、ddX、・・・、ddXi-1の各々を符号化した符号化データであるEX、EdX、EddX、EddX、・・・、EddXi-1から成る符号化データ群E2を生成する(図4の(c)参照)。
なお、符号化方式として、可逆圧縮符号化方式であるハフマン符号化を用いることが好ましいが、これに限定されるものではない。ハフマン符号化を用いる場合、符号化データは可変長データとなる。なお、ハフマン符号化を用いる場合の符号化フォーマットの一例について後述する。
最後に、図3の(a)に示す工程S13(生成工程)にて、工程S12で生成した符号化データ群E1に含まれる符号化データ、および、符号化データ群E2に含まれる符号化データを、符号化データの導出元の補正データADの配列順に、かつ、補正データADにおける補正係数の配列順に、2個単位に1次元に配列する処理を行うことにより、符号化データ列ESを生成する(図4の(d)参照)。具体的には、まず、符号化データ群E1の先頭のEYおよび符号化データ群E2の先頭のEXを、この順に並べた2個組のデータセットDSを、符号化データ列ESの先頭に配列する。なお、EYおよびEXは、図4の(a)に示す補正データADから得られた符号化データであることに留意されたい。続いて、符号化データ群E1の2番目のEdYおよび符号化データ群E2の2番目のEdXを、この順で並べた2個組のデータセットDSを、配列済みのデータセットDSの後に続けて1次元に配列する。なお、EdYおよびEdXは、図4の(a)に示す補正データADおよびADから得られた符号化データであることに留意されたい。この処理を符号化データ群E1の最後のEddYi−1および符号化データ群E2の最後のEddXi−1まで繰り返すことにより、データセットDS〜DSi-1が1次元に配列した符号化データ列ESを生成する。
この結果、符号化データ列ESは、同じ補正データADに対応する2個の符号化データを、補正係数の並び順に並べた2個組を単位として、補正データADの配列順に1次元に配列させたデータストリームとなる。なお、この2個組を「データセットDS」とも表記する。
〔ランレングス符号化時の調整〕
ところで、工程S12では、通常、1個の相関値から1個の符号化データを生成しているが、圧縮率を高めるためにランレングス符号化を用いてもよい。ランレングス符号化を用いる場合、値が「D」である符号化対象データが連続してR個出現すると、これらの連続する符号化対象データを、値DがR回連続して出現することを示す1つの符号化データ(以下では「連長コード」と表記する)に符号化する。なお、ランレングス符号化を用いると、ランレングス符号化を用いない場合と比べて、連長コードを生成する毎にR−1個の符号化データが削減される。
このように、ランレングス符号化を用いると、連続する符号化対象データが1個の連長コードに符号化されるため、符号化データ列ESを生成するにあたり、上述したデータセットDSの調整が必要となる。具体的には、符号化データ列ESの生成過程において、あるデータセットDSに含めた符号化コードが連長コードであった場合、当該連長コードを含むデータセットDSに続く、連続回数Rから1を減じた個数のデータセットDSについて、当該連長コードの要素を除いた要素の符号化データのみを含める。この調整方法の具体例について、図4の(e)および(f)を参照しながら説明する。
前提として、図4の(e)に示すように、データ列C1におけるddY、ddY、およびddYの連続する3個の相関値が全て「0」であるものと仮定する。この場合、工程S13にて、ddY、ddY、およびddYの3個を、「0」が3回連続して出現することを示す1個の連長コードに符号化するものとする。図4の(e)では、当該連長コードを「0*3」と表記した。なお、当該連長コードの次の符号化データはEddYであることに留意されたい。
この場合において、工程S13では、図4の(f)に示す符号化データ列ESを生成することを説明する。まず、データセットDSおよびDSの配列に続いて、符号化データ群E1の3番目にある連長コード「0*3」および符号化データ群E2の3番目のEddXをこの順で並べたデータセットDSを配列する。そして、調整の要点は、データセットDSに続くデータセットDSおよびデータセットDSに、符号化データ群E1の符号化データを含めないことである。具体的には、データセットDSには、符号化データ群E2の4番目のEddXのみを含める。同様に、データセットDSには、符号化データ群E2の5番目のEddXのみを含める。そして、符号化データ群E1において連長コード「0*3」の次のEddYを、当該連長コードが示す連続回数である3つ後に登場するデータセットDSに含める。なお、この場合、データセットDSおよびデータセットDSは1個の符号化データのみを含むが、1個の空データを含む2個組とみなしてもよい。
〔変形例(相関値の省略)〕
上述では、各補正データADに含まれる補正係数から相関値を算出した上で、該算出した相関値を符号化する手順を説明した。しかしながら、符号化による圧縮率を高める必要が無い場合、各補正データADに含まれる補正係数をそのまま符号化してもよい。この場合、図3の(a)に示した工程S11を省略すればよい。そして、工程S12では、各補正データADに含まれる補正係数を符号化対象として符号化データを生成する。具体的には、図4の(b)に示したデータ列M1に含まれるY〜Yi-1の各々を符号化した符号化データから成る符号化データ群E1を生成する。同様に、図4の(c)に示したデータ列M2に含まれるX〜Xi-1の各々を符号化した符号化データから成る符号化データ群E2を生成する。
〔データ生成装置10の構成例〕
次に、図1の(a)を参照しながら、図3の(a)に示した工程S11〜S13を実行するデータ生成装置10の構成例について説明する。図1の(a)はデータ生成装置10の概略構成を示すブロック図である。同図に示すように、データ生成装置10は、相関値算出部13、符号化処理部15、およびデータ配列部17を備えている。ただし、相関値を算出しない場合は、相関値算出部13は不要である。
相関値算出部13は、工程S11を実行するものである。つまり、相関値算出部13は、各N次元データに含まれる各要素値から成る要素毎の要素値列を逆算可能であり、かつ、当該要素値列に含まれる要素値間の相関を示す各相関値を算出する処理を、要素値列毎に行う。
符号化処理部15は、工程S12を実行するものである。つまり、符号化処理部15は、相関値算出部13が算出した各相関値を符号化して符号化データを生成する処理を、要素値列毎行う。また、符号化処理部15は、ランレングス符号化を用いて連長コードを生成する場合、配列順に同一値が連続する連続数個の符号化対象から、当該同一値および当該連続数個を表す1個の連長コードを符号化データとして生成する。なお、符号化処理部15は必ずしもデータ生成装置10に備えられる必要はなく、データ生成装置10と通信可能に接続された外部装置として備えられてもよい。
データ配列部17は、工程S13を実行するものである。つまり、データ配列部17は、符号化処理部15が符号化して得た符号化データを、N次元データ列に配列されたN次元データの配列順に、かつN次元データの各要素値の配列順に、N個単位に1次元に配列する。言い換えれば、データ配列部17は、N次元データに含まれる各要素の相関値を符号化処理部15が符号化して得た符号化データを、N次元データの要素の配列順に配列したN個組のデータセットを単位として、1次元に配列する処理を、N次元データの配列順で行うことにより、符号化データ列ESを生成する。また、データ配列部17は、ランレングス符号化を用いて連長コードを生成する場合、符号化データ列ESの生成過程において、連長コードを含むデータセットDSに続く、連続回数Rから1を減じた個数のデータセットDSについて、当該連長コードの要素を除く要素の符号化データのみを含める。なお、データ配列部17は、符号化データ列ESを符号化データ列記憶部2に格納してもよいし、外部装置に出力してもよい。
最後に、データ生成装置10は、相関値、符号化データ、およびこれらの生成過程で得た中間データを一時保持するためのメモリやレジスタ等の記憶部を備えていてもよい。
〔符号化フォーマットの一例〕
図5を参照しながら、図3の(a)に示した工程S12で行う符号化としてハフマン符号化を用いる場合の符号化フォーマットの一例について説明する。図5は、符号化フォーマットの一例を示した模式図である。なお、前提として、1個の符号化対象のデータ長が16ビットであるものとする。
フォーマット0〜3は、それぞれ、1個の符号化対象データを、出現確率に応じて、20ビット長、14ビット長、8ビット長、および6ビット長の1個の符号化データに符号化することを示す。上位3ビットはフォーマット識別情報である。「s」は符号ビットを表し、「I」は整数部を表し、「F」は小数部を表す。次に、フォーマット4は、ランレングス符号化を行なうフォーマットであり、連続するN個の「0」値を、10ビット長データに符号化することを示す。上位2ビットはフォーマット識別情報である。最大で255個の連続を表現することができる。最後に、フォーマット5は、1個の「0」値を2ビット長データに符号化することを示す。
〔符号化データ列ESから補正データ列ASを復元する処理の流れ〕
次に、図3の(b)に示すフローチャートを参照しながら、符号化データ列記憶部2に記憶される符号化データ列ESから補正データ列ASを復元する処理の流れの一例について説明する。なお、この処理は、図6の(a)に示す符号化データ列ESから図6の(d)に示す補正データ列ASを復元する処理となる。この処理は、図3の(b)に示す工程S21〜S23から成る。
まず、工程S21にて、符号化データ列ESに含まれる符号化データを、その符号化データの符号化フォーマットに従って復号化して相関値を生成する処理を、符号化データ列ESの先頭から順次行う(図6の(a)参照)。具体的には、まず、符号化データ列ESの先頭のEYおよびEXをこの順に復号化してYおよびXを生成する(処理F1)。引き続きEdYおよびEdXをこの順に復号化してdYおよびdXを生成する(処理F2)。この処理を符号化データ列ESの最後まで繰り返す。これにより、次々と相関値が生成される。
次に、図3の(b)に示す工程S22にて、工程S21で相関値が生成される毎に、Y補正係数を逆算する(図6の(b)参照)。具体的には、工程S21でdYが生成されると、Yおよび生成されたdYに基づいてYを逆算する(処理F5)。次に、工程S21でddYが生成されると、dYとddYとに基づいてdYを逆算するとともに、逆算済みのYとdYとに基づいてYを逆算する(処理F9)。なお、逆算式は、Y=Y+dY、dY=dYP-1+ddY、および、Y=YP-1+dYである。同様の手順で、図6の(c)に示すとおりX補正係数を逆算する。逆算式は、X=X+dX、dX=dXP-1+ddX、および、X=XP-1+dXである。
最後に、図3の(b)に示す工程S23にて、工程S22でY補正係数およびX補正係数が生成される毎に補正データADを生成する(図6の(d)参照)。具体的には、まず、配列における位置が先頭であるYおよびXをこの順に並べた補正データAD([Y,X])を生成する(処理F3)。続いて、配列における位置が2番目であるYおよびXをこの順に並べた補正データAD([Y,X])を生成し、補正データADの次に配列する(処理F7)。この処理を、最後のYi-1およびXi-1まで繰り返すことにより、[Y,X]、[Y,X]、・・・、[Yi-1,Xi-1]を次々と生成する。この結果、補正データ列ASが、その先頭から順に復元される。
ここで、注目すべき点は、工程S21、工程S22、工程S23を、並列に実行することである。これにより、生成された補正係数をバッファ等に保持することなく、次々と、補正データADを生成していく。例えば、処理F1を終えると続いて処理F2を行うとともに、処理F3にて[Y,X]を生成する。また、処理F2を終えると続いて処理F4を行うとともに、処理F5および処理F6を行い、続いて処理F7にて[Y,X]を生成する。また、処理F4を終えると続いて処理F8を行うとともに、処理F9および処理F10を行い、続いて処理F11で[Y,X]を生成する。
〔ランレングス符号化時の調整〕
ところで、符号化データ列ESが、上述したランレングス符号化を用いて符号化された連長コードを含む場合、1個の連長コードを復号化することによって、連続する連続数個の相関値が生成されるため、これら相関値を生成するにあたり、調整が必要となる。具体的には、復号化過程において、連長コードを含むデータセットDSから連続回数R個のデータセットDSのそれぞれについて、当該連長コードの要素の復号結果として値Dを生成する。この調整方法の具体例について、工程S21で図4の(f)に示す符号化データ列ESを復号化し、図4の(e)に示すデータ列C1を生成する場合を例に挙げて説明する。この場合、連長コード「0*3」を1番目に含むデータセットDSを復号化するとき、当該連長コードの符号化前データである「0」値を生成するとともに、当該「0」値をレジスタ等に保持する。そして、続く2つのデータセットDSおよびDSを復号化するときに、保持した「0」値を、データセットDS内の第1番目のデータから復号化したものとして出力する。このように調整することにより、連長コードを適切に復号化する。
図7を参照しながら、上述した調整処理の流れの一例について説明する。図7は、上述した調整処理を含む工程S21の流れの一例を示すフローチャートである。なお、このフローチャートでは、上述した調整処理の要否を判別するための変数R1およびR2を登場させた。変数R1が1より大きければデータセットDS内の第1番目のデータについて調整処理が必要である。また、変数R2が1より大きければデータセットDS内の第2番目のデータについて調整処理が必要である。なお、ステップS32〜S39までがデータセットDS内の第1番目のデータに対する復号化処理であり、ステップS40〜S47までがデータセットDS内の第2番目のデータに対する復号化処理である。
まず、復号化の開始時に、R1およびR2の値を0に設定する(S31)。次に、R1が1より大きいか否かを判定する(S32)。R1が1以下である場合(S32にてNo)、次に復号化すべき符号化データが連長コードであるか否かを判定する(S33)。連長コードでなければ(S33にてNo)、通常どおりに符号化データを復号化して相関値を生成する(S34)。一方、連長コードであれば(S33にてYes)、まず、連長コードを復号化して値Dの相関値を1個生成する(S35)。そして、該生成した相関値をレジスタ等に保持する(S36)。そして、連長コードが示す連続回数RをR1に代入する(S37)。一方、ステップS32にて、R1が1より大きい場合(S32にてYes)、レジスタ等に保持している相関値を復号化データとして出力し(S38)、変数R1の値を1つ減じる(S39)。
次に、ステップS40〜S47では、ステップS32〜S39と同様の処理をデータセットDS内の2番目のデータに対して行う。最後に、次に復号化すべき符号化データが無ければ復号化を終了し(S48にてYes)、有ればステップS32に戻る(S48にてNo)。
〔変形例(相関値の省略)〕
符号化処理において、各補正データADに含まれる補正係数をそのまま符号化し、相関値を符号化していない場合、図3の(b)に示した工程S21では復号化により補正係数が直接得られるため、工程S22での逆算処理は不要となる。この場合、工程S23では、工程S21でY補正係数およびX補正係数が生成される毎に補正データADを生成する。
〔データ復元装置30の構成例〕
次に、図1の(b)を参照しながら、図3の(b)に示した工程S21〜S23を実行するデータ復元装置30の構成について説明する。図1の(b)は、データ復元装置30の概略構成を示すブロック図である。同図に示すように、データ復元装置30は、復号化処理部(復号化手段)33、逆算部(データ生成手段の一部)35、およびデータ配列部(データ生成手段)37を備えている。
復号化処理部33は、工程S21を実行するものである。つまり、復号化処理部33は、符号化データ列ESに含まれる符号化データを復号化して相関値を生成する。この復号化は、データ生成装置10の符号化処理部15が行う符号化に対応する復号化である。復号化処理部33は必ずしもデータ復元装置30が備える必要はなく、データ復元装置30と通信可能に接続された外部装置として備えられてもよい。
また、復号化処理部33は、符号化データ列ESに連長コードが含まれている場合、復号化過程において、連長コードを含むデータセットDSから連続回数R個のデータセットDSのそれぞれについて、当該連長コードの要素の復号結果として連長コードが示す値Dを生成する。
逆算部35は、工程S22を実行するものである。つまり、逆算部35は、復号化処理部33が生成した相関値から要素値を逆算する。
データ配列部37は、工程S23を実行するものである。つまり、データ配列部37は、逆算部35が逆算した要素値を、N次元データ列に配列されたN次元データの配列順に、かつN次元データの各要素値の配列順に、N個単位に配列してN次元データ列(補正データ列AS)を生成する。言い換えれば、データ配列部37は、逆算部35が逆算した要素値を、配列の位置が同一の要素値を要素の並び順に並べて成るN次元データを、配列順に配列してN次元データ列(補正データ列AS)を生成する。
なお、データ配列部37は、画像処理装置1が出力する映像を表示する表示装置の走査周期に同期して、生成した補正データADをアドレス生成部3に逐次出力するようにクロック速度等が調整されていることが好ましい。これにより、表示処理を遅延させることなく、リアルタイムに映像の歪みを補正することが可能となる。
最後に、データ復元装置30は、相関値、要素値、およびこれらの生成過程で得た中間データを一時保持するためのメモリやレジスタ等の記憶部を備えていてもよい。
〔回路構成例〕
次に、図8を参照しながら、データ復元装置30を実現する回路構成例を説明する。図8は、データ復元装置30を実現する回路構成例を示す模式図である。なお、前提として、1個の補正係数のデータ長は16ビットであるものとする。また、符号化データ列ESは、図5に示した符号化フォーマットに従って符号化されたものとする。
まず、記憶部(同図では例としてROM)に記憶された符号化データ列ESを、8ビットずつ読み取り、ReadDataBuffer51に保持する。ReadDataBuffer51の役割は、Temporary Buffer53に空きが生じないようにするために、次に読み込むデータを保持しておくことにある。
Shift/Select部52は、Temporary Buffer53に保持されたデータを左シフトするとともに、16ビットを超える空きが生じた場合に、ReadDataBuffer51に保持されているデータを読み込む。シフト量は、後述するSelect部54がDecode部55に渡したデータのビット長である。Temporary Buffer53は、Shift/Select部52から得られる48ビット分のデータを保持する。Select部54では、Temporary Buffer53に保持されたデータの上位2〜3ビット(フォーマット識別情報)を参照し、符号化フォーマットがフォーマット0〜5のいずれであるかを判定する。そして、判定した符号化フォーマットに応じたビット長のデータをDecode部55に渡す。
Decode部55では、符号化フォーマットに従って復号化を行い、復号化によって得られた相関値をレジスタ群56および57に格納する。なお、レジスタ群56は、Y補正係数を逆算可能な相関値を格納する。レジスタ群57は、X補正係数を逆算可能な相関値を格納する。なお、連長コードの復号化に必要な構成は図示を省略している。Adder58では、レジスタ群56に保持された相関値を加算演算することによってY補正係数(Y Address)を逆算する。同様に、Adder59では、レジスタ群57に保持された相関値を加算演算することによってX補正係数(X Address)を逆算する。
なお、ReadDataBuffer51、Shift/Select部52、Temporary Buffer53、Select部54、およびDecode部55は、データ復元装置30の復号化処理部33の一部に相当する構成である。また、Adder58は、データ復元装置30の逆算部35の一部に相当する構成である。
〔効果〕
(効果1)符号化データ列ESは、符号化データが1次元に連続した1つの圧縮データストリームであるため、メモリ等の記憶部における連続した記憶領域に記憶させることができる。そのため、アドレスの切り替え時にオーバーヘッドが発生する記憶部に符号化データ列ESを格納する場合であっても、符号化データ列ESの読み出し時に生じるオーバーヘッドを抑制でき、その結果として、読み出し遅延を低減することができる。なお、アドレスの切り替え時にオーバーヘッドが発生する記憶部とは、SPIのROMや、プリチャージを行うDRAMなどである。
(効果2)符号化データ列ESは、符号化データが1次元に連続した1つの圧縮データストリームであるため、符号化データ列ESを記憶させるROM等の記憶部を飛び飛びに読み出すことがないので、帯域ロスを低減することができる。
(効果3)符号化データ列ESを先頭から順に復号化すると、補正データADが配列順に次々と復号化される。さらに、補正係数の逆算処理は簡易な演算器で実現可能であるため、逆算処理がボトルネックになることはない。また、復号化処理、逆算処理、および配列処理は並列化が可能である。したがって、各補正データADを高速に復元することができる。
(効果4)符号化データ列ESを先頭から順に復号化すると、復号化された相関値から補正係数が並列処理で順々に生成されるため、同期を取るためのバッファ等を設ける必要がない。よって、データ復元装置30の構成要素の削減が可能となる。また、補正データADが生成される毎に、生成された補正データADを外部に出力するようにすれば、生成された補正データADを保持するためのバッファ等を設ける必要もない。
〔3次元データおよび4次元データの一例〕
本発明は、次元数および要素の種類にかかわらず、様々なN次元データに対して適用可能である。次元数に応じて上述した各処理を増減するだけで適用できるためである。例えば、画像データを構成する画素のR値、G値、およびB値の3つの要素値から成る3次元データを配列した3次元データ列に対しても本発明は適用可能である。具体的には、当該3次元データの各々に含まれるR値から得られる相関値を符号化した符号化データ、G値から得られる相関値を符号化した符号化データ、および、B値から得られる相関値を符号化した符号化データを、上述と同様のデータ生成手順により配列することによって、1次元の符号化データ列ESを生成することができる。そして、この符号化データ列ESから、上述と同様のデータ復元手順により、元の3次元データ列を復元することができる。また、画像データにアルファブレンディング処理を施す場合、各画素は、R値、G値、B値、および、透過情報用のα値の4つの要素値から成る4次元データとして表現される。この4次元データを配列した4次元データ列に対しても本発明は適用可能であり、R値、G値、およびB値から得られる符号化データに加えて、さらにα値から得られる相関値を符号化した符号化データを、上述と同様のデータ生成手順により配列することによって、1次元の符号化データ列ESを生成することができる。そして、この符号化データ列ESから、上述と同様のデータ復元手順により、元の4次元データ列を復元することができる。
〔付記事項〕
データ生成装置10およびデータ復元装置30の各ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。CPUを用いて実現する場合、データ生成装置10およびデータ復元装置30は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROMまたは記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明は、圧縮符号化されたN次元データ列を高速に復号化する情報処理装置に適用することができる。特に、画素の補正係数を用いて表示映像をリアルタイムに補正するHUDシステムに好適に適用することができる。
2 符号化データ列記憶部、10 データ生成装置、13 相関値算出部、15 符号化処理部、17 データ配列部、30 データ復元装置、33 復号化処理部(復号化手段)、35 逆算部(データ生成手段の一部)、37 データ配列部(データ生成手段)、AD 補正データ(N次元データ)、AS 補正データ列(N次元データ列)、DS データセット、ES 符号化データ列、X〜Xi-1 補正係数(要素値)、Y〜Yi-1 補正係数(要素値)、dX〜dXi-1 相関値、ddX〜ddXi-1 相関値、dY〜dYi-1 相関値、ddY〜ddYi-1 相関値

Claims (6)

  1. N個(Nは2以上の整数)の要素の要素値から成るN次元データが配列したN次元データ列から生成された符号化データ列を復号化して上記N次元データ列を生成するデータ復元装置であって、
    上記符号化データ列は、N次元データの各要素値から成る要素毎の要素値列を逆算可能であり、かつ、当該要素値列に含まれる要素値間の相関を示す各相関値を、上記要素値列毎に可変長符号化およびランレングス符号化を用いて符号化した符号化データが、上記N次元データ列に配列されたN次元データの配列順に、かつN次元データの各要素値の配列順に、N個単位に1次元に連続して配列されており、
    上記符号化データ列に含まれる上記符号化データを復号化して上記相関値を生成する復号化手段と、
    上記生成された相関値を逆算して得た上記要素値を、N次元データの配列順に、かつN次元データの各要素値の配列順に、N個単位に配列して上記N次元データ列を生成するデータ生成手段とを備え
    上記復号化手段による上記復号化、上記データ生成手段による上記逆算、および上記データ生成手段による上記配列を、並列に実行することを特徴とするデータ復元装置。
  2. 上記N次元データは、第1の表示面に表示する画像を上記第1の表示面と異なる第2の表示面に表示するための2次元データであり、
    上記要素値は、上記画像を構成する画素の上記第1の表示面における表示位置を上記第2の表示面における表示位置に補正する垂直方向の補正係数および水平方向の補正係数であることを特徴とする請求項1に記載のデータ復元装置。
  3. 上記相関値は、上記要素値列上の隣り合う3つの要素値のうちの1つ目と2つ目との差分値と、2つ目と3つ目との差分値との差分値を含むことを特徴とする請求項1または2に記載のデータ復元装置。
  4. N個(Nは2以上の整数)の要素の要素値から成るN次元データが配列したN次元データ列から符号化データ列を生成するデータ生成方法であって、
    N次元データの各要素値から成る要素毎の要素値列を逆算可能であり、かつ、当該要素値列に含まれる要素値間の相関を示す各相関値を可変長符号化およびランレングス符号化を用いて符号化した符号化データを生成する処理を、上記要素値列毎に行う符号化工程と、
    上記符号化データを、上記N次元データ列に配列されたN次元データの配列順に、かつN次元データの各要素値の配列順に、N個単位に1次元に連続して配列することにより、上記符号化データ列を生成する生成工程とを含むことを特徴とするデータ生成方法。
  5. 上記N次元データは、第1の表示面に表示する画像を上記第1の表示面と異なる第2の表示面に表示するための2次元データであり、
    上記要素値は、上記画像を構成する画素の上記第1の表示面における表示位置を上記第2の表示面における表示位置に補正する垂直方向の補正係数および水平方向の補正係数であることを特徴とする請求項4に記載のデータ生成方法。
  6. 上記相関値は、上記要素値列上の隣り合う3つの要素値のうちの1つ目と2つ目との差分値と、2つ目と3つ目との差分値との差分値を含むことを特徴とする請求項4または5に記載のデータ生成方法。
JP2014073998A 2014-03-31 2014-03-31 データ復元装置、およびデータ生成方法 Active JP6405667B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014073998A JP6405667B2 (ja) 2014-03-31 2014-03-31 データ復元装置、およびデータ生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014073998A JP6405667B2 (ja) 2014-03-31 2014-03-31 データ復元装置、およびデータ生成方法

Publications (2)

Publication Number Publication Date
JP2015198279A JP2015198279A (ja) 2015-11-09
JP6405667B2 true JP6405667B2 (ja) 2018-10-17

Family

ID=54547772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014073998A Active JP6405667B2 (ja) 2014-03-31 2014-03-31 データ復元装置、およびデータ生成方法

Country Status (1)

Country Link
JP (1) JP6405667B2 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10149085A (ja) * 1996-11-20 1998-06-02 Asahi Glass Co Ltd ホログラフィック表示装置
US6549675B2 (en) * 2000-12-20 2003-04-15 Motorola, Inc. Compression of digital ink
JP3709381B2 (ja) * 2002-04-02 2005-10-26 Necビューテクノロジー株式会社 カラー画像圧縮方法
JP4249451B2 (ja) * 2002-09-13 2009-04-02 大日本印刷株式会社 データ転送方法
JP2004234379A (ja) * 2003-01-30 2004-08-19 Sony Corp 画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置
JP2004298369A (ja) * 2003-03-31 2004-10-28 Brother Ind Ltd 刺繍データ処理装置、刺繍データ処理方法、刺繍データ処理プログラム及び刺繍データのデータ構造
US20060149801A1 (en) * 2003-06-30 2006-07-06 Ihor Kirenko Method of encoding a signal into a bit stream
JP4373230B2 (ja) * 2004-01-26 2009-11-25 大日本印刷株式会社 データファイルの符号化方法
US20080088528A1 (en) * 2006-10-17 2008-04-17 Takashi Shindo Warp Image Circuit

Also Published As

Publication number Publication date
JP2015198279A (ja) 2015-11-09

Similar Documents

Publication Publication Date Title
US8644626B2 (en) Method for storing and processing image sequence and method for compressing, storing and processing image sequence
JP2006238407A (ja) 符号化装置、符号化方法および符号化プログラム、並びに撮像装置
US20150003513A1 (en) Image decoding apparatus
US8269786B2 (en) Method for reading and writing image data in memory
CN109429085A (zh) 显示装置及其图像处理方法
US9123090B2 (en) Image data compression device, image data decompression device, display device, image processing system, image data compression method, and image data decompression method
JP5585885B2 (ja) 画像処理装置及び画像処理方法
CN110751684B (zh) 基于深度摄像模组的物体三维重建方法
EP4078526A1 (en) Noise synthesis for digital images
JP6405667B2 (ja) データ復元装置、およびデータ生成方法
JP2013026952A (ja) 画像処理方法、エンコード装置、デコード装置および画像処理装置
JP2008107894A (ja) スタンプによる画像補正方法および装置
JPH10190478A (ja) データ圧縮装置および方法、記録媒体、並びに、データ伸張装置および方法
JP5845202B2 (ja) 画像圧縮装置および画像処理システム
US9077993B2 (en) Method of converting a video file to a graphics interchange format image using same palette table for consecutive frames
JP2010154035A (ja) ディストーション補正装置
JP2017016511A (ja) 歪み補正画像処理装置及びプログラム
JP2017017609A (ja) 画像処理装置
JP4364729B2 (ja) 画像データ圧縮/伸張方法および画像処理装置
JP5731816B2 (ja) 画像処理装置、画像処理方法
JP3781012B2 (ja) 画像データ圧縮方法、画像データ伸長方法、および画像データ伸長回路
JP2010245768A (ja) 画像処理装置および画像処理方法
JP5538060B2 (ja) 映像信号処理装置及び映像信号処理プログラム
JP5891907B2 (ja) 符号化装置および符号化方法、ならびに、復号装置および復号方法
JP2016187149A (ja) 車載カメラ画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180821

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180903

R151 Written notification of patent or utility model registration

Ref document number: 6405667

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151