JP2011015322A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2011015322A
JP2011015322A JP2009159540A JP2009159540A JP2011015322A JP 2011015322 A JP2011015322 A JP 2011015322A JP 2009159540 A JP2009159540 A JP 2009159540A JP 2009159540 A JP2009159540 A JP 2009159540A JP 2011015322 A JP2011015322 A JP 2011015322A
Authority
JP
Japan
Prior art keywords
data
length
compression conversion
bit
compression
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
Application number
JP2009159540A
Other languages
English (en)
Inventor
Koichi Terui
孝一 照井
Toshio Kamimura
俊夫 上村
Kazuhiro Maeta
和洋 前多
Satoshi Sano
諭 佐野
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009159540A priority Critical patent/JP2011015322A/ja
Publication of JP2011015322A publication Critical patent/JP2011015322A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】ランレングス圧縮変換を適用して、データが劣化することなく、且つ原データよりも圧縮変換後のデータ長が長くなることを抑制する。
【解決手段】メモリアクセスに応答して外部メモリ(3)に対する書き込みおよび読み出しを制御するメモリインタフェースコントローラ(20)を備えた半導体装置(1)であって、外部メモリにデータを書き込むときには、入力された書き込みデータのランレングス圧縮変換を行って、変換後のデータのデータ長と変換前のデータのデータ長を比較し、データ長が短い方のデータを、メモリに出力する書き込みデータとして生成し、外部メモリからデータを読み出したときには、当該データが、ランレングス圧縮変換済みのデータであれば、伸張処理を行う。
【選択図】図1

Description

本発明は、半導体装置に関し、特にデータをランレングス圧縮変換する技術に係り、例えば外部メモリを利用して画像データ扱う表示システムに適用して有効な技術に関する。
近年、AV機器、PC及び携帯端末等では、TV放送等の画像データやディジタルスチルカメラ等で撮影された画像データ等を扱う機会が増え、扱うデータ量が増加している。そのため、外部メモリにアクセスする際のI/O電流の増加や搭載する外部メモリの容量増加に伴うコストアップという問題が顕著になっている。従来の外部メモリの容量を削減する方法として、例えば下記の特許文献1にて開示されている。
特許文献1は、静止画像データを圧縮して記録メディア等の外部メモリに記録する機能を持ったメモリ制御回路において、輝度データ(Y)と色差データ(U、V)がY:U:V=4:2:2である画像データを4:1:1の色差成分を間引いた画像データに変換する。この色差成分を間引いた画像データをメモリに記憶することにより、使用するメモリ容量の削減を図るものである。
特開平10−210501号公報
しかしながら、特許文献1に記載の方法では、輝度データ(Y)と色差データ(U、V)が4:2:2である画像データを4:1:1の色差成分を間引いた画像データに変換してメモリに記憶する。このため、記憶したデータを完全復元できず、データが劣化する問題があった。本発明者は、完全復元可能な圧縮方法としてランレングス圧縮方式を適用することを考えたが、この方式を単に適用したのでは、原データの種類によっては、圧縮後のデータのデータ長が原データのデータ長よりも長くなることがわかった。
本発明の目的は、ランレングス圧縮変換を適用して、データが劣化することなく、且つ原データよりも圧縮変換後のデータ長が長くなることを抑制し、圧縮率を高めることができるメモリコントローラを備えた、半導体装置を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、半導体装置は、メモリアクセスに応答して外部メモリにデータを書き込むときには、入力された書き込みデータのランレングス圧縮変換を行って、変換後のデータのデータ長と変換前のデータのデータ長を比較し、データ長が短い方のデータを、メモリに出力する書き込みデータとして生成し、外部メモリからデータを読み出したときには、当該データが、ランレングス圧縮変換済みのデータであれば、伸張処理を行う。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、本半導体装置によれば、ランレングス圧縮変換を適用して、データが劣化することなく、且つ原データよりも変換後のデータ長が長くなることを抑制し、圧縮率を高めることができる。
図1は、本発明の実施の形態1に係る半導体装置1のブロック図である。 図2は、本発明の実施の形態1に係る4ビット圧縮変換と1ビット圧縮変換についての概略図である。 図3は、本発明の実施の形態1に係るランレングス圧縮変換データフォーマットとデータ識別子である。 図4は、本発明の実施の形態1に係る半導体装置1による外部メモリ3へのデータ書き込み時の処理の流れ図である。 図5は、本発明の実施の形態1に係る半導体装置1の外部メモリ3へのデータ読み出し時の処理の流れ図である。 図6は、本発明の実施の形態1に係る半導体装置1における圧縮変換部202のブロック図である。 図7は、本発明の実施の形態1に係る半導体装置1の上位4ビット圧縮変換の処理の流れ図である。 図8は、本発明の実施の形態1に係る半導体装置1の下位4ビット圧縮変換の処理の流れ図である。 図9は、本発明の実施の形態2に係る半導体装置2のブロック図である。 図10は、本発明の実施の形態2に係る半導体装置2による外部メモリ3へのデータ書き込み時の処理の流れ図である。 図11は、本発明の実施の形態2に係る半導体装置2による外部メモリ3へのデータ読み出し時の処理の流れ図である。
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態に係る半導体装置(1、2)は、メモリアクセスに応答して外部メモリ(3)に対する書き込みおよび読み出しを制御するメモリインタフェースコントローラ(20、21)を備えた半導体装置であって、前記メモリインタフェースコントローラは、入力された書き込みデータ(100)に対するランレングス圧縮変換処理を行う圧縮変換部(202、211)と、メモリから読み出されたランレングス圧縮変換済みのデータに対する伸張処理を行なう復元部(205)とを備え、前記圧縮変換部は、前記入力された書き込みデータに対するランレングス圧縮変換を行い、変換後のデータのデータ長と変換前のデータのデータ長とを比較し、変換後のデータのデータ長が短いときは当該データを、そうでないときは変換前のデータを、メモリに出力する書き込みデータ(2102)とする。これによれば、当該データのランレングス圧縮変換前のデータ長と変換後のデータ長を比較して、データ長の短い方のデータをメモリに書き込むデータとして生成するから、単にランレングス圧縮変換を行う場合に比べ、圧縮率を高めることができる。
〔2〕項1の半導体装置において、前記圧縮変換部は、前記入力された書き込みデータのn×m(n、mは正の整数)ビットに対して順次nビット単位でランレングス圧縮変換を行う第1の処理を実行し、第1の処理による圧縮変換後のデータ長が圧縮変換前のデータ長よりも短いときは第1の処理による圧縮変換後のデータを、メモリに出力する書き込みデータとし、第1の処理による圧縮変換後のデータ長が圧縮変換前のデータ長よりも長いときは、前記nビット単位の各データにおけるMSBからLSBまでの対応するビット位置の夫々mビットのn個のビット列に対して、当該ビット列毎に1ビット単位でランレングス圧縮変換を行う第2処理を実行し、第2の処理による圧縮変換後のデータ長が圧縮変換前のデータ長よりも短いときは前記第2処理による圧縮変換後のデータを、逆の場合には圧縮変換前のデータを、メモリに出力する書き込みデータとする。これによれば、nビット単位のランレングス圧縮変換を行った変換データのデータ長が変換前のデータよりも長くなった場合でも、再度1ビット単位のランレングス変換を試みるので、nビット単位のランレングス変換しか行わない場合に比べ、圧縮率を高めることができる。
〔3〕項2の半導体装置において、前記入力された書き込みデータを2n×m(n、mは正の整数)ビットとすると、前記圧縮変換部は、2nビット単位のデータの上位側n×mビットと下位側n×mビットに対して第1の処理と第2処理を別々に実行する。これにより、連続するデータの相関が低い場合でも、上位側の相関が高ければ、上位側だけ圧縮変換することでデータ量を減らすことができ、圧縮率を高めることができる。
〔4〕項3の半導体装置において、前記圧縮変換部は、前記上位側n×mビットに対する第1の処理による圧縮変換後のデータ長が圧縮変換前のデータ長よりも短いとき前記下位側n×mビットに対して前記第1処理の開始を指示し、前記圧縮変換部は、前記上位側n×mビットに対する第1の処理による圧縮変換後のデータ長が圧縮変換前のデータ長よりも長いとき前記下位側n×mビットに対して前記第2処理の開始を指示する。これにより、連続するデータの上位側の相関性に基づいて下位側の変換を行うので、下位側を効率よく処理することができる。
〔5〕項3又は4の半導体装置において、前記圧縮変換部は、前記メモリに出力される書き込みデータとされる、前記第1処理による圧縮前のデータには、第1処理により圧縮されていないことを示す第1コードを付加し、前記メモリに出力される書き込みデータとされる、前記第1処理による圧縮変換後のデータには、第1処理により圧縮されたことを示す第2コードを付加し、前記メモリに出力される書き込みデータとされる、前記第2処理による圧縮変換後のデータには、夫々mビットのn個のビット列のどのビット列のデータであって且つ圧縮されたか否かを示す第3コードを付加する。
〔6〕項5の半導体装置の前記第1処理でランレングス圧縮変換されたデータにおいて、変換前のnビット単位のデータの種別を示す識別子に対する個数のデータはm=2で示されるiビットのデータである。
〔7〕項6の半導体装置の前記第2処理でランレングス圧縮変換されたデータにおいて、変換されたデータの先頭の論理値を値1又は値0の何れか一方に固定してデータの種別を示す識別子を省略し、個数のデータはiビットのデータであり、iビットの全ビット0は、先頭に既定の論理値がないことを示し、iビットの全ビット1が示す個数m−1の次の個数mは、その論理値が1のときは、2iビットの全ビットを1とすることにより表し、その論理値が0のときは、iビットの全ビットを0とし、且つ2iビットの全ビットを1とすることにより表す。これにより、データ種別を示す識別子のデータが不要となり、且つデータの個数を表すデータ長をi+1に増やすことなく、iビットのデータ長でm個のデータを表現することができ、データ長を短くすることが保証される。
〔8〕項1乃至7の何れかの半導体装置において、前記外部メモリにアドレス信号を出力すると共に、前記外部メモリに書き込みデータを出力し、また、前記外部メモリから読み出したデータを入力するメモリインタフェース部(203、210)と、アドレス管理部(22)と、を更に有し、前記アドレス管理部は、画素の配列に従ったタイミング信号によりデータのデータ位置を計数するカウンタ(208)と、前記外部メモリに対するデータの書き込みに際して前記ランレングス圧縮変換処理の処理単位毎に前記カウンタによる計数値と前記外部メモリに出力する書き込みデータのデータ長とを管理データとして保持し、また、前記外部メモリからの読み出しに際して前記カウンタの計数値に一致する計数値を持つ管理データを出力する記憶回路(209)とを有し、前記メモリインタフェース部は、前記記憶回路から読み出された管理データの前記データ長に基づいて前記外部メモリからデータを読み出して前記復元部に与える。これにより、外部メモリの容量を無駄なく利用することができる。
2.実施の形態の詳細
実施の形態について更に詳述する。
《実施の形態1》
図1は、本発明に係る半導体装置の実施の形態に係るメモリインタフェースコントローラ、を備えた半導体装置を示す。同図に示される半導体装置1は、特に制限されないが、公知のCMOS集積回路の製造技術によって1個の単結晶シリコンのような半導体基板に形成されている。
図1に示される半導体装置1は、メモリI/Fコントローラ部20を備え、CPUから外部メモリ3への書き込み及び読み出し命令をメモリI/Fコントローラ部20に与えることで、メモリI/Fコントローラ部20が、データを圧縮し、外部メモリ3へのデータの書き込みを行い、また、読み出した圧縮データを伸長するものである。
メモリI/Fコントローラ部20は、CPUからのメモリへの書き込み命令に従い、メモリへの書き込みデータとして与えられた入力データ100について、ランレングス圧縮変換を行い、変換後のデータと変換前のデータのデータ長を比較して、データ長の短い方のデータをメモリに書き込むデータとする。そして、自らアドレスを生成し、外部メモリ3へデータを書き込む。また、CPUから読み出し命令を受けたら、自ら管理しているアドレスに従い、メモリからデータを読み出し、ランレングス圧縮の逆変換により、データを伸長して、データを出力する。
メモリI/Fコントローラ部20は、データ圧縮の方式として、ランレングス圧縮を採用する。ランレングス圧縮は、あるデータ列をデータ種別とそのデータの連続する個数により、データ量を減らしてデータ列を表現する圧縮方法である。例えば、自然画であるTV放送の画像データやムービー等で撮影した画像データを扱う場合を考える。自然画は空間周波数が低く、隣接画素間の値が近い(相関が高い)。そのため、画素間の相関関係を利用した情報圧縮を行うことが可能である。例えば、ある画素データが1画素あたり8ビットのデータであり、16進表記で“FF”であったとすると、隣接する画素のデータは“FF”や“FE”のようになり、データの種別と連続した長さを用いたランレングス圧縮により、情報量を削減することが可能である。一方、ランレングス圧縮は連続するデータ間の相関関係を利用した圧縮方法なので、データ間の相関が弱いと元データよりも圧縮後のデータの方が、データ長が長くなってしまうことがありうる。こうなると、圧縮することでデータ量を減らすという本来の目的を達成することができない。そこで、本実施の形態1に係るメモリI/Fコントローラ部20は、圧縮方式としてランレングス変換を採用するが、ランレングス変換後のデータと変換前のデータのデータ長を比較して、データ長の短い方のデータをメモリに書き込むようにする。
前述のように、連続するデータ間の相関が強いとランレングス圧縮を行うメリットがある。例えば、入力データ100が、“FFFEFEFD”のような1画素あたり8ビットの画像データが4画素並んでいるデータ列である場合を考える。このとき、当該データ列の1画素の上位側4ビットと下位側4ビットを分けて隣接する画素間の相関を調べると、上位側4ビットは“FFFF”であり、下位側4ビットは“FEED”となる。このようにデータ列の1画素毎の相関が弱くても、上位側4ビットについては相関が強いことがある。このような場合には、データ列を上位側4ビットと下位側4ビットのデータ列に分けて、相関の強い方についてのみランレングス圧縮変換をすることで、元のデータをそのままランレングス圧縮変換するよりも、圧縮効率を高めることができる。そこで、本実施の形態1に係るメモリI/Fコントローラ部20は、入力データ100を上位側と下位側のデータ列に分けて、それぞれについてランレングス圧縮変換を行う。
本実施の形態1に係るメモリI/Fコントローラ部20によるランレングス圧縮変換の方法について説明する。
本実施の形態1では、メモリI/Fコントローラ部20は、ランレングス圧縮変換を4ビット単位のランレングス圧縮変換(「4ビット圧縮変換」という。以下同じ。)と1ビット単位のランレングス圧縮変換(「1ビット圧縮変換」という。以下同じ。)の2種類の変換方法を備える。
図2は本実施の形態1に係る4ビット圧縮変換と1ビット圧縮変換についての概略図である。
図2では、例として1画素のデータ長が8ビットである横方向16画素分の画像データ列(FFFEFEFDFEFFFFFEFFFDFDFBFDFEFFFF)について、各画素データの上位側4ビットと下位側4ビットのそれぞれをデータ列としてランレングス圧縮変換する場合を示している。図2を用いて4ビット圧縮変換と1ビット圧縮変換について説明する。
4ビット圧縮変換は、元のデータ列を4ビット単位のデータで扱い、4ビット単位のデータ種別と、その連続する個数(「連続長」という。以下同じ。)でデータを表現する圧縮方法である。図2に示すように、4ビット圧縮変換は、各画素データP0〜P15(各4ビット)を16個の連続するデータ列として扱い、各画素データのデータ種別(4ビットで表せる16種類)と連続長で表現する。当該上位4ビットデータ列“FFFFFFFFFFFFFFFF”は、4ビット圧縮変換すると、“FF”と表現される。“FF”とは、“F”という種類のデータが16個続くことを表している。また、当該下位4ビットデータ列“FEEDEFFEFDDBDEFF”は、4ビット圧縮変換すると、“F0E1D0E0F1E0F0D1B0D0E0F1”と表現される。
1ビット圧縮変換は、4ビット単位の各データにおけるMSBからLSBまでの対応するビット位置の夫々のビット列に対して、当該ビット列毎に1ビット単位でランレングス変換を行う圧縮方法である。図2の下位側データ列の表に示されるように、1ビット圧縮変換は、各画素データP0〜P15(各4ビット)におけるMSBからLSBに対応するビット位置のデータを横方向に16個連続するデータ列として扱い、MSBからLSBに対応する4個のデータ列についてそれぞれ、データ種別と連続長で表現する。例えば、当該下位4ビットデータ列の場合、図2に示すようにD3のデータ列は“1111111111111111”となり、D0のデータ列は、“1001011011111011”となる。これらのデータ列それぞれについて、ランレングス圧縮を行っていくことになるが、データの表現方法が4ビット圧縮変換とは異なる。まず、データ種別の表現方法ついては、1ビット単位のランレングス変換の場合、データ種別を表現するための識別子は不要とした。これは、1ビットのデータの種別が、“1”と“0”の二種類であるから、変換されたデータの先頭の論理値を“1”又は“0”の何れか一方に固定すれば、データの種別を示す識別子がなくとも、データの種別が判別できるからである。次にデータの連続長の表現方法は以下のようにする。前述の4ビット圧縮変換ではデータの種別を表す識別子があり、データが0個であることを表現する必要がないので、1個から16個までの連続長(16通り)を表現するためには、4ビットあれば足りる。これに対して、1ビット圧縮変換では、データの先頭の論理値を固定することで、データ種別を表す識別子を不要としているから、データ列の先頭に来るデータが0個であることを連続長で表現する必要がある。つまり、1ビット圧縮変換では、0個から16個までの連続長(17通り)を表現する必要があるので、4ビットでは表現することができない。だからといって、0個から16個までの連続長を表現するために5ビットの信号を用いると、圧縮効率が低下してしまう。そこで、本実施の形態1では、データの先頭の論理値を“1”に固定した上で、0個から15個までの連続長(16通り)を4ビットで表現すると共に、連続長の並び順として存在しえない“FF”という表記を用いて、“1”が16個連続した場合には“FF”と表記し、“0”が16個連続した場合には“0FF”と表記することでデータの連続長を表現する。
以上の方法により、図2の下位4ビットデータ列ついて、1ビット圧縮変換を行うと、D3(MSB)に対応するデータ列は、“FF”と変換され、D0(LSB)に対応するデータ列は、“121121512”と変換される。
図3は、本実施の形態1に係るランレングス圧縮変換データフォーマットとデータ識別子の一例である。本実施の形態1の場合、外部メモリ3に書き込まれるデータの種類は、非圧縮データ、4ビット圧縮変換データ及び1ビット圧縮変換データの3種類となる。これらのデータを外部メモリ3から読み出す際には、どの種類のデータであるかを識別できないと、メモリI/Fコントローラ部20は、データの伸長等を適切に行うことができないので、メモリI/Fコントローラ部20は、それぞれのデータにデータ識別子を付加して外部メモリ3に書き込む。外部メモリ3に書き込まれるデータのフォーマットは、図3に示されるように、前述の各圧縮変換方式で処理されたデータの先頭にデータの種類を示す識別子を付加した形式とする。図3に示すように、4ビットランレングス圧縮のデータである場合には、そのデータの先頭に、“1000”の識別子が付加される。また、1ビットランレングス圧縮の場合には、MSBからLSBまでのビット位置に対応するデータ列が4個あるので、それぞれについて、1ビットランレングス圧縮又は1ビット非圧縮を示す識別子が付加される。例えば、D3(MSB)が1ビットランレングス圧縮されたデータであれば、識別子“1111”が付加され、D0(LSB)が1ビット非圧縮データであれば、識別子“0100”が付加される。また、メモリI/F部203が圧縮・データ長比較の処理を行った結果、上位4ビットと下位4ビットともに、1ビット非圧縮データとなった場合には、上位4ビットと下位4ビットの全てのデータが結合され、完全非圧縮データを示す識別子“0000”が付加される。また、連続長を表すフォーマットは、次のようになる。4ビット圧縮変換の場合は、1個から16個までの連続長は、“0000”から“1111”によって表現される。1ビット圧縮変換の場合は、前述のように、0個から15個までの連続長は、“0000”から“1111”によって表現され、“1”が16個連続するときは、“FF”(=11111111)と、“0”が16個連続するときは“0FF”(=000011111111)と表現される。
図1におけるメモリI/Fコントローラ部20の内部構成を処理の流れに従って説明する。
図4は、実施の形態1に係る半導体装置1の外部メモリ3へのデータ書き込み時の処理の流れである。
図1におけるメモリI/Fコントローラ部20は、入力データ保持部201、圧縮変換部202、メモリI/F部203、復元部205及び出力データ保持部206を備える。
メモリI/Fコントローラ部20における各機能部について、初めに図4に示すデータ書き込み時の処理の流れに従って説明する。
入力データ100は、1画素のデータ長が8ビットである横方向16画素分の画像データ列であり、メモリI/Fコントローラ部20は、16画素単位で圧縮及び伸長処理を行うものとする。
入力データ保持部201は、CPUからの指示によりメモリの書き込みデータとして送られてきたデータを入力データ100として内部に保持をし、且つ圧縮変換部202に出力する(S101)。
次に、圧縮変換部202は、与えられた入力データ100の画素データ列を解析すると共に、データ列のランレングス圧縮変換を実施し(S102)、圧縮変換後のデータと変換前のデータのデータ長を比較する(S103)。ステップ103で比較した結果、変換後のデータが変換前のデータよりもデータ長が長ければ、圧縮変換部202は、変換前のデータである入力データ100の先頭に完全非圧縮であることを示す識別子を付して、メモリI/F部203に送る。逆に、変換後のデータが変換前のデータよりもデータ長が短ければ、圧縮変換部202は、変換後のデータの先頭に圧縮変換していることを示す識別子を付して、メモリI/F部203に送る。このとき、与えられた入力データ100を上位4ビットデータ列と下位4ビットデータ列に分割され、それぞれのデータ列について、上記の圧縮変換・データ長比較・データ生成が行われることになる。
メモリI/F部203は、ステップ103において、変換後のデータの方が長いと判断された場合には、圧縮変換部202から与えられた、完全非圧縮を示す識別子が付された入力データ100を、書き込みデータ2102として外部メモリ3に出力し(S104)、ステップ103において、変換後のデータの方が短いと判断された場合には、圧縮変換部202から与えられた、圧縮変換されたことを示す識別子が付された変換後のデータを、書き込みデータ2102として外部メモリ3に出力する(S105)。外部メモリ3への書き込みは、例えば、外部メモリ3の1行毎に書き込みデータ2102を書き込むか、又は書き込みデータ2102にエンドフラグを付加して外部メモリ3に書き込んでおく。
図5は、実施の形態1における半導体装置1の外部メモリ3へのデータ読み出し時の処理の流れである。
図5に示すデータ読み出し時の処理の流れに従って各機能部の説明をする。
メモリI/F部203は、CPUからの読み出し命令に従い、まず、外部メモリ3からデータを読み出す(S401)。次に、メモリI/F部203は、読み出したデータの先頭にあるデータ形式を示す識別子を判別し、読み出したデータが完全非圧縮データであれば、当該データの識別子を取り除いてデータを出力データ保持部206に与え、読み出したデータが圧縮変換されたデータであれば、当該データを復元部205に与える(S402)。この際、書き込まれたデータの最大のデータ長が、132ビット(4ビットの識別子+最大データ長(=非圧縮データ長=128ビット))であるから、読み出しの際に、メモリ1行毎に132ビット分のデータを読み出して、データの先頭に付された識別子を判別することにより、異なる連続長で書き込まれたデータを容易に元のデータに復元することが可能となる。また、別の手段として、外部メモリ3へのデータ書き込み時に、書き込みデータ2102にエンドフラグを付加してメモリに書き込んでおけば、メモリから当該データを読み出す際に指定アドレスのデータのエンドフラグまでを1つのデータとして識別でき、アドレスカウンタをインクリメントすることで、順次、指定アドレスのデータを読み出して、データ先頭の識別子を判断して処理することが可能となる。
復元部205は、メモリI/F部203から与えられた圧縮変換されたデータの識別子から圧縮形式を判別して、ランレングス圧縮の逆変換によりデータを伸長し、出力データ保持部206に出力する(S404)。
出力データ保持部206は、メモリI/F部203から与えられた完全非圧縮のデータ、又はステップ404で復元部205により伸長されたデータ、を保持し、所望のタイミングで出力する(S403)。
圧縮変換の処理の詳細と、その処理を行う圧縮変換部202の内部構成について説明する。
図6は、実施の形態1に係る半導体装置1における圧縮変換部202のブロック図である。
図7は、実施の形態1に係る半導体装置1の上位4ビット圧縮変換の処理の流れである。
図8は、実施の形態1に係る半導体装置1の下位4ビット圧縮変換の処理の流れである。
入力データ100は、前述の16画素の画像データ列(FFFEFEFDFEFFFFFEFFFDFDFBFDFEFFFF)とする。
圧縮変換部202は、データ分割処理部2021、上位圧縮変換部2022、下位圧縮変換部2023、上位データ長比較部2024、下位データ長比較部2025及びデータ連結処理部2026、を備える。
本実施の形態1では圧縮変換の処理は、初めに上位4ビットが行われ、次に下位4ビットが行われる。
まず、上位4ビットの処理について図7を用いて説明する。
データ分割処理部2021は、入力データ100の画素データ列から、1画素のデータの上位4ビットを取り出す。当該入力データ100の場合、取り出された上位4ビットデータ列は“FFFFFFFFFFFFFFFF”となる。この上位4ビットデータ列は、上位圧縮変換部2022に与えられる(S201)。また、下位4ビットに関しても同様に取り出され、取り出された下位4ビットデータ列“FEEDEFFEFDDBDEFF”は、下位圧縮変換部2023に与えられる(S301)。
上位圧縮変換部2022は、まず、4ビット圧縮変換を実施し、4ビット圧縮変換データを生成する(S202)。当該上位4ビットデータ列の場合、“FF”という圧縮変換データが生成される。生成された4ビット圧縮変換データは、上位データ長比較部2024に与えられる。
上位データ長比較部2024は、前記上位4ビットデータ列について、4ビット圧縮変換後のデータのデータ長と変換前のデータ長とを比較する(S203)。
変換後のデータが変換前のデータよりもデータ長が短い場合には、上位データ長比較部2024は、変換後のデータに4ビット圧縮変換を示す識別子を付加した上位側処理済みデータ2100として、データ連結処理部2026に出力する(S204)。また、上位データ長比較部2024は、上位4ビットデータ列の処理に4ビット圧縮変換が採用されたことを下位圧縮変換部2023に通知する。
変換後のデータが変換前のデータよりもデータ長が長い場合には、上位データ長比較部2024は、上位圧縮変換部2022に対して、前記上位4ビットデータ列について1ビット圧縮変換を行うように制御信号を送り、上位4ビットデータ列の処理に1ビット圧縮変換が採用されたことを、下位圧縮変換部2023に通知をする。上位データ長比較部2024からの制御信号を受けた上位圧縮変換部2022は、前記上位4ビットデータ列について1ビット圧縮変換を行い、上位データ長比較部2024に1ビット圧縮変換データを与える(S205)。1ビット圧縮変換データを与えられた上位データ長比較部2024は、1ビット圧縮変換後のデータと1ビット圧縮変換前のデータのデータ長を比較する(S206)。変換後のデータが変換前のデータよりもデータ長が短ければ、上位データ長比較部2024は、変換後のデータに1ビット圧縮変換を示す識別子を付加して、上位側処理済みデータ2100としてデータ連結処理部2026に出力し(S207)、変換後のデータが変換前のデータよりもデータ長が長ければ、上位データ長比較部2024は、変換前のデータに1ビット非圧縮変換を示す識別子を付加して、上位側処理済みデータ2100としてデータ連結処理部2026に出力する(S208)。1ビット圧縮変換の処理においては、この一連の処理(1ビット圧縮変換・データ長比較・データ出力)が、MSBに対応する位置のデータ列からLSBのデータ列まで、すべてのデータ列に対して行われる(S209)。
当該入力データ100の場合、上位4ビットデータ列について、4ビット圧縮変換前のデータ“FFFFFFFFFFFFFFFF”のデータ長が64ビット、4ビット圧縮変換後のデータ“FF”のデータ長が8ビット、であることから、変換後のデータの方がデータ長は短くなる。したがって、この場合は、ステップ205の1ビット圧縮変換は行われず、ステップ204の4ビットデータ作成が行われ、4ビット圧縮変換データ“FF”に4ビット圧縮変換を示す識別子“1000”が付加された上位側処理済みデータ2100が、データ連結処理部2026に出力される。
次に、下位4ビットの処理について、図8を用いて説明する。
下位4ビットの圧縮変換処理は、ステップ301で分割された下位4ビットデータ列について行われる。
本実施の形態1では、下位4ビットの圧縮変換処理は、図7に示される上位4ビット圧縮変換の処理(S302)において4ビット圧縮変換又は1ビット圧縮変換のどちらの変換方式が採用されたかを示す通知に従って進められる。
前記通知が、上位側4ビットデータ列に対して4ビット圧縮変換が採用された通知であった場合には、下位圧縮変換部2023は、下位側4ビットデータ列に対して4ビット圧縮変換を行い、生成した4ビット圧縮変換データを下位データ長比較部2025に与える(S303)。
下位データ長比較部2025は、下位圧縮変換部2023より与えられた4ビット圧縮変換後のデータのデータ長と変換前のデータ長とを比較する(S304)。変換後のデータが変換前のデータよりもデータ長が短い場合には、下位データ長比較部2025は、変換後のデータに4ビット圧縮変換を示す識別子を付加した下位側処理済みデータ2101として、データ連結処理部2026に出力する(S305)。変換後のデータが変換前のデータよりもデータ長が長い場合には、下位データ長比較部2025は、下位圧縮変換部2023に対して、前記下位4ビットデータ列について1ビット圧縮変換を行うように制御信号を送る。下位データ長比較部2025からの制御信号を受けた下位圧縮変換部2023は、前記下位4ビットデータ列について1ビット圧縮変換を行い、下位データ長比較部2025に1ビット圧縮変換データを与える(S306)。1ビット圧縮変換データを与えられた下位データ長比較部2025は、1ビット圧縮変換後のデータと1ビット圧縮変換前のデータのデータ長を比較する(S307)。変換後のデータが変換前のデータよりもデータ長が短ければ、下位データ長比較部2025は、変換後のデータに1ビット圧縮変換を示す識別子を付加して、下位側処理済みデータ2101としてデータ連結処理部2026に出力する(S308)。変換後のデータが変換前のデータよりもデータ長が長ければ、下位データ長比較部2025は、変換前のデータに1ビット非圧縮変換を示す識別子を付加して、下位側処理済みデータ2101としてデータ連結処理部2026に出力する(S309)。上位4ビットの処理と同様に、この一連の処理(1ビット圧縮変換・データ長比較・データ出力)が、すべてのデータ列に対して行われる(S310)。
上記の説明は、前記通知が上位側4ビットデータ列に対して4ビット圧縮変換が採用された通知であったときの処理手順であるが、反対に、上記通知が、1ビットランレングス圧縮変換が採用された通知であった場合には、下位圧縮変換部2023は、下位4ビットデータ列について4ビット圧縮変換を行わずに1ビット圧縮変換から実行する。4ビット圧縮変換を行わずに1ビット圧縮変換から実行する理由は、上位4ビットデータ列に1ビット圧縮変換が採用されるのは入力データ100の隣接画素間の相関が弱いときであり、この場合には下位4ビットデータ列についても隣接画素間の相関が弱く、4ビット圧縮変換を行っても、1ビット圧縮変換に移行することが予想されるからである。もちろん、上位4ビットデータ列に採用されたランレングス圧縮方式に依らずに下位4ビットデータ列のランレングス圧縮変換が実施されるようにしてもよい。
当該入力データ100の場合、上位側4ビットデータ列に対して4ビット圧縮変換が採用されているので、下位4ビットの処理はステップ302から開始し、4ビット圧縮変換から実行される。下位4ビットデータ列は“FEEDEFFEFDDBDEFF”であるので、4ビット圧縮変換を行うと、“F0E1D0E0F1E0F0D1B0D0E0F1”となる。この結果、変換前のデータ長が64ビット、変換後のデータ長が96ビットであり、変換後のデータの方がデータ長が長くなってしまうので、下位圧縮変換部2023は、ステップ306に進み、当該下位4ビットデータ列について1ビット圧縮変換を行うことになる。当該下位4ビットデータ列のMSBに対応するデータ列は、1ビット圧縮変換により、“FF”と変換され、LSBに対応するデータ列は、“121121512”と変換される。MSBに対応するデータ列は、1ビット圧縮変換前は、“1111111111111111(b)”(16ビット)であり、変換後は“FF(h)”(8ビット)であるので、変換後の方がデータ長は短くなる。したがって、MSBに対応するデータ列については、変換後のデータ“FF”の先頭に、1ビット圧縮変換を示す識別子“1111”が付されてデータ連結処理部2026に出力される。同様にLSBに対応するデータ列については、1ビット圧縮変換前は“1001011011111011(b)”(16ビット)であり、変換後は“121121512(h)”(36ビット)となるので変換後の方がデータ長は長くなる。したがって、LSBのデータ列は、変換前のデータ“1001011011111011(b)”に1ビット非圧縮変換を示す識別子“0100”が付されてデータ連結処理部2026に出力される。他のビット位置に対応するデータ列についても同様に一連の処理(1ビット圧縮変換・データ長比較・データ出力)が行われる。
前述のように上位4ビットと下位データ4ビットのデータ列についてそれぞれ処理が行われた後、連結処理部2026は、上位側データ比較部2024と下位側データ比較部2025において生成された上位側処理済みデータ2100と下位側処理済みデータ2101をそれぞれ連結して、書き込みデータ2102を生成し、メモリI/F部203へ出力する。その際、上位側と下位側共に非圧縮データであった場合には、先頭に付された、1ビット非圧縮を示す識別子が取り除かれ、上位側処理済みデータ2100と下位側処理済みデータ2101が連結されて、完全非圧縮を示す識別子“0000”が付された書き込みデータ2102としてメモリI/F部203に与えられる。その後、メモリI/F部203は、連結処理部2026から与えられた書き込みデータ2102を、前述のように外部メモリ3の1行毎に書き込むか、又はエンドフラグを付して外部メモリ3に書き込む。
以上のように、実施の形態1では、当該データのランレングス圧縮変換前のデータ長と変換後のデータ長を比較して、データ長の短い方のデータをメモリに書き込むデータとして生成するから、単にランレングス圧縮変換を行う場合に比べ、圧縮率を高めることができる。また、1ビット単位でのランレングス変換を行うことで、データ種別を示す識別子が不要となり、且つ上記の方法に依れば、連続するデータの個数を表すデータ長を増やすことなく、データの個数を表現することができるので、メモリに書き込むデータ量を減らすことができる。また、書き込むデータ量を減らすことにより、メモリアクセス時のI/O電流をも削減することが可能となる。
本実施の形態1では、上位4ビットデータ列と下位4ビットデータ列をそれぞれ別の処理部によってランレングス圧縮変換を行ったが、時分割に共通の処理部で実施しても得られる効果に変わりはない。
本実施の形態1では、画像データの処理単位を16画素としたが、メモリのアラインメントやデータの圧縮効率等を考慮して、処理単位を変更してもよい。
《実施の形態2》
図9は、本発明に係る半導体装置の別の実施の形態として、メモリインタフェースコントローラ、を備えた半導体装置を示す。同図に示される半導体装置2は、特に制限されないが、公知のCMOS集積回路の製造技術によって1個の単結晶シリコンのような半導体基板に形成されている。
図9に示される半導体装置2は、メモリI/Fコントローラ部21を備え、CPUから外部メモリ3への書き込み及び読み出し命令により、半導体装置1と同様に、画像データ16画素単位で圧縮及び伸長の処理を行うものである。半導体装置2は、連続する画像データを外部メモリに1行毎に書き込まずに連続して書き込みを行うためのアドレス管理部22を更に備える。
メモリI/Fコントローラ部21は、入力データ保持部201、圧縮変換部211、メモリI/F部210と、復元部205及び出力データ保持部206を備える。
入力データ保持部201、復元部205及び出力データ保持部206は実施の形態1と同様であるため、同一の符号を付して、その詳細な説明を省略する。
圧縮変換部211は、実施の形態1における圧縮変換部202と同様に圧縮変換処理を行って、生成した書き込みデータ2102をメモリI/F部210に与えるとともに、書き込みデータ2102のデータ長をデータ長記録部209に与える。
アドレス管理部22は、カウンタ208とデータ長記録部209を備える。
カウンタ208は、画素の配列に従ったタイミング信号により画像データのデータ位置を計数し、その計数値を座標点として、データ長記録部209に与える。前記タイミング信号は、例えば、垂直同期信号(Vシンク)や水平同期信号(Hシンク)、又はそれらに準ずるタイミング信号であり、画素の配列や画像データの位置情報が推測可能な信号である。カウント208は、例えば、前記画素データに対応する画素フレーム内のY方向の走査タイミングを示す垂直同期信号を計数して、画素フレーム内のY座標を示す計数値を出力する第1のカウンタと、X軸方向の走査タイミングを示す水平同期信号を計数して、画素フレーム内のX座標を示す計数値を出力する第2のカウンタを有し、第2のカウンタは、第1のカウンタによるY座標の計数値が変わるごとに、自らの計数値をリセットして、再度、計数を始めるものである。第1のカウンタと第2のカウンタのそれぞれの計数値は、データ長記録部209に順次与えられる。同様に、データ読み出し時にはメモリI/Fコントローラ部21がCPUからの読み出し命令を受け取った後、カウンタ208は、前記タイミング信号の計数を開始し、その計数値をデータ長記録部209に与える。なお、特に制限されないが、前記タイミング信号は、最初の16画素毎の圧縮変換処理の開始に応答して活性化され、また、CPUの読み出し命令に応答して活性化する。
データ長記録部209は、カウンタ208から、画像データのY座標とX座標を示す計数値を順次受け取る。データ長記録部209は、受け取った計数値の中から、圧縮変換された16画素のデータの先頭画素の座標を示す計数値を、座標データとして保持していく。また、圧縮変換された当該16画素の書き込みデータ2102のデータ長も前記座標データと合せて、管理データとして保持していく。データ読み出し時には、書き込み時と同様に前記タイミング信号を計数するカウンタ208から、画像データのY座標とX座標を示す計数値が順次送られる。データ長記録部209は、送られた計数値が、管理データとして保持されている座標データと一致したら、その座標データに対応するデータ長を読み出して、メモリI/F部210に与える。
メモリI/F部210は、書き込み時には、データを順番に詰めて外部メモリ3に書き込む。データ読み出し時には、カウンタ208から送られる計数値に一致した座標データに対応するデータ長がデータ長記録部209から与えられるので、メモリI/F部210は、そのデータ長の分だけデータを外部メモリ3から順次読み出していく。
図10は、実施の形態2に係る半導体装置2の外部メモリ3へのデータ書き込み時の処理の流れである。
図10に示される書き込みデータ2102の生成方法とその処理の流れ(ステップ101からステップ105)は、前述の半導体装置1と同様であるため、その詳細な説明を省略する。
ステップ105で圧縮変換処理されたデータに基づく書き込みデータ2102が生成され、メモリI/F部210により外部メモリ3に書き込まれる。その際、圧縮変換部211は、書き込みデータ2102をメモリI/F210に与えるとともに、そのデータ長をデータ長記録部209に与える。また、カウンタ208は、前記タイミング信号を計数して、画像データのフレーム内の座標を示す計数値を順次データ長記録部209に与える。
データ長記録部209は、受け取った計数値の中から、圧縮変換された16画素のデータの先頭画素の座標を示す計数値を、座標データとして保持し、圧縮変換された当該16画素の書き込みデータ2102のデータ長も前記座標データと合せて、管理データとして保持する(S107)。また、ステップ104で入力データ100に基づき非圧縮の書き込みデータ2102が生成され、外部メモリ3に書き込まれた場合も同様に、データ長記録部209は、前記座標データと前記非圧縮の書き込みデータのデータ長を保持する(S106)。
図11は、実施の形態2に係る半導体装置2の外部メモリ3へのデータ読み出し時の処理の流れである。
メモリI/Fコントローラ部21がCPUからの読み出し命令を受けた後、カウンタ208が前記タイミング信号に基づいて計数を開始して、画像データの画素フレーム内の座標を示すその計数値をデータ長記録部209に与える。データ長記録部209は、書き込み時と同様に前記タイミング信号を計数するカウンタ208から、画像データの座標を示す計数値が順次送られ、その計数値が、管理データとして保持された座標データと一致したら、その座標データに対応するデータ長を読み出して、メモリI/F部210に与える(S405)。メモリI/F部210は、与えられたデータ長に基づき、そのデータ長に相当するデータ量だけ順次読み出していく(S401)。
ステップ401以降の処理(S402からS404)は、実施の形態1と同様であり、読み出されたデータは、当該データの識別子に基づき適切に処理されることとなる。
以上のように半導体装置2によれば、外部メモリ3に、圧縮変換処理された画像データを処理単位毎に連続して詰めて書き込んでも、処理単位毎の画像データの先頭座標とデータ長を管理しておけば、読み出す画像データの画素フレーム内の位置に相当する座標に基づき、その座標に対応するデータ長の分だけ外部メモリ3からデータを読み出せばよい。したがって、それぞれ異なるデータ長で外部メモリ3に格納された画像データでも、容易に読み出すことが可能となり、外部メモリ3の容量を無駄なく利用することができる。また、それにより、メモリに効率良くアクセスすることが可能となるから、メモリアクセス時のI/O電流をも減少させることが可能となる。
なお、データの種別によっては1フレーム内全ての画像データの処理方法として、非圧縮形式が選ばれる可能性がある。その場合には、画面のデータの先頭にて、画面内全てのデータが非圧縮であることを示すフラグを付加することにより、16画素毎の識別子を削除することが可能となる。また、1フレーム内全てのデータの処理方法について非圧縮又は圧縮のどちらを選択するのかの切り替えは、1フレーム毎に見直しを実施する等の定期的な見直しにより効果的なメモリアクセスが実現可能である。当然ながら画像データ以外の場合についても、例えば、データ量100kバイト毎に非圧縮/圧縮を選択する切り替えを実施することにより、効果的なメモリアクセスが実現可能である。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、本発明は、1画素あたり8ビットの画像データを上位4ビットと下位4ビットに分けて処理するシステムを例としたが、それに限定されず、例えば、1画素あたり16ビットの画像データを上位8ビットと下位8ビットに分けて処理する、というように、1画素あたりデータ量に応じて上位ビットと下位ビットの処理単位を変更して処理してもよいし、上位と下位に分けずに処理してもよい。上位と下位を分けずに処理する場合には、図7においてステップ201で入力データの分割をせず、入力データそのものについてステップ202以降の処理を行えばよく、下位ビットの処理のための圧縮変換部やデータ長比較部等は不要となる。また、本発明は画像データを扱うシステムだけに適用可能なものではなく、音声データ等の他のデータを扱うシステムにも広く適用することができる。
1 半導体装置
2 半導体装置
3 外部メモリ
20 メモリI/Fコントローラ部
21 メモリI/Fコントローラ部
22 アドレス管理部
201 入力データ保持部
202 圧縮変換部
203 メモリI/F部
205 復元部
206 出力データ保持部
208 カウンタ
209 データ長記録部
210 メモリI/F部
2021 データ分割処理部
2022 上位圧縮変換部
2023 下位圧縮変換部
2024 上位データ長比較部
2025 下位データ長比較部
2026 データ連結処理部
2100 上位側処理済みデータ
2101 下位側処理済みデータ
2102 書き込みデータ

Claims (8)

  1. メモリアクセスに応答して外部メモリに対する書き込みおよび読み出しを制御するメモリインタフェースコントローラを備えた半導体装置であって、
    前記メモリインタフェースコントローラは、入力された書き込みデータに対するランレングス圧縮変換処理を行う圧縮変換部と、メモリから読み出されたランレングス圧縮変換済みのデータに対する伸張処理を行なう復元部とを備え、
    前記圧縮変換部は、前記入力された書き込みデータに対するランレングス圧縮変換を行い、変換後のデータのデータ長と変換前のデータのデータ長とを比較し、変換後のデータのデータ長が短いときは当該データを、そうでないときは変換前のデータを、メモリに出力する書き込みデータとする、半導体装置。
  2. 前記圧縮変換部は、前記入力された書き込みデータのn×m(n、mは正の整数)ビットに対して順次nビット単位でランレングス圧縮変換を行う第1の処理を実行し、第1の処理による圧縮変換後のデータ長が圧縮変換前のデータ長よりも短いときは第1の処理による圧縮変換後のデータを、メモリに出力する書き込みデータとし、第1の処理による圧縮変換後のデータ長が圧縮変換前のデータ長よりも長いときは、前記nビット単位の各データにおけるMSBからLSBまでの対応するビット位置の夫々mビットのn個のビット列に対して、当該ビット列毎に1ビット単位でランレングス圧縮変換を行う第2処理を実行し、第2の処理による圧縮変換後のデータ長が圧縮変換前のデータ長よりも短いときは前記第2処理による圧縮変換後のデータを、逆の場合には圧縮変換前のデータを、メモリに出力する書き込みデータとする、請求項1記載の半導体装置。
  3. 前記入力された書き込みデータを2n×m(n、mは正の整数)ビットとすると、前記圧縮変換部は、2nビット単位のデータの上位側n×mビットと下位側n×mビットに対して第1の処理と第2処理を別々に実行する、請求項2記載の半導体装置。
  4. 前記圧縮変換部は、前記上位側n×mビットに対する第1の処理による圧縮変換後のデータ長が圧縮変換前のデータ長よりも短いとき前記下位側n×mビットに対して前記第1処理の開始を指示し、
    前記圧縮変換部は、前記上位側n×mビットに対する第1の処理による圧縮変換後のデータ長が圧縮変換前のデータ長よりも長いとき前記下位側n×mビットに対して前記第2処理の開始を指示する、請求項3記載の半導体装置。
  5. 前記圧縮変換部は、前記メモリに出力される書き込みデータとされる、前記第1処理による圧縮前のデータには、第1処理により圧縮されていないことを示す第1コードを付加し、
    前記メモリに出力される書き込みデータとされる、前記第1処理による圧縮変換後のデータには、第1処理により圧縮されたことを示す第2コードを付加し、
    前記メモリに出力される書き込みデータとされる、前記第2処理による圧縮変換後のデータには、夫々mビットのn個のビット列のどのビット列のデータであって且つ圧縮されたか否かを示す第3コードを付加する、請求項3又は4記載の半導体装置。
  6. 前記第1処理でランレングス圧縮変換されたデータにおいて、変換前のnビット単位のデータの種別を示す識別子に対する個数のデータはm=2で示されるiビットのデータである、請求項5記載の半導体装置。
  7. 前記第2処理でランレングス圧縮変換されたデータにおいて、変換されたデータの先頭の論理値を値1又は値0の何れか一方に固定してデータの種別を示す識別子を省略し、個数のデータはiビットのデータであり、iビットの全ビット0は、先頭に既定の論理値がないことを示し、iビットの全ビット1が示す個数m−1の次の個数mは、その論理値が1のときは、2iビットの全ビットを1とすることにより表し、その論理値が0のときは、iビットの全ビットを0とし、且つ2iビットの全ビットを1とすることにより表す、請求項6記載の半導体装置。
  8. 前記外部メモリにアドレス信号を出力すると共に、前記外部メモリに書き込みデータを出力し、また、前記外部メモリから読み出したデータを入力するメモリインタフェース部と、アドレス管理部と、を更に有し、
    前記アドレス管理部は、画素の配列に従ったタイミング信号によりデータのデータ位置を計数するカウンタと、前記外部メモリに対するデータの書き込みに際して前記ランレングス圧縮変換処理の処理単位毎に前記カウンタによる計数値と前記外部メモリに出力する書き込みデータのデータ長とを管理データとして保持し、また、前記外部メモリからの読み出しに際して前記カウンタの計数値に一致する計数値を持つ管理データを出力する記憶回路とを有し、
    前記メモリインタフェース部は、前記記憶回路から読み出された管理データの前記データ長に基づいて前記外部メモリからデータを読み出して前記復元部に与える、請求項1乃至7の何れか1項記載の半導体装置。
JP2009159540A 2009-07-06 2009-07-06 半導体装置 Withdrawn JP2011015322A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009159540A JP2011015322A (ja) 2009-07-06 2009-07-06 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009159540A JP2011015322A (ja) 2009-07-06 2009-07-06 半導体装置

Publications (1)

Publication Number Publication Date
JP2011015322A true JP2011015322A (ja) 2011-01-20

Family

ID=43593721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009159540A Withdrawn JP2011015322A (ja) 2009-07-06 2009-07-06 半導体装置

Country Status (1)

Country Link
JP (1) JP2011015322A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014143572A (ja) * 2013-01-24 2014-08-07 Hitachi Information & Telecommunication Engineering Ltd 画像符号化装置
JP2016184233A (ja) * 2015-03-25 2016-10-20 アイシン・エィ・ダブリュ株式会社 メモリコントローラ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014143572A (ja) * 2013-01-24 2014-08-07 Hitachi Information & Telecommunication Engineering Ltd 画像符号化装置
JP2016184233A (ja) * 2015-03-25 2016-10-20 アイシン・エィ・ダブリュ株式会社 メモリコントローラ

Similar Documents

Publication Publication Date Title
JP3240495B2 (ja) データの可逆符号化方法および装置、並びに、伸長装置
US20120147209A1 (en) Solid-state image capturing device, and image capturing apparatus
JP2008113374A (ja) エントロピー符号化装置
JP2009273035A (ja) 画像圧縮装置、画像伸張装置及び画像処理装置
JP2005130099A (ja) 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置
JP2011049764A (ja) データ圧縮伸長装置
JPH08251586A (ja) ランレングス復号化装置
JPH05115007A (ja) 画像伝送方法
JP4065425B2 (ja) 可変長符号化パッキング・アーキテクチャ
JP2011097245A (ja) 受信装置、受信方法、プログラム、および受信システム
JP2002141806A (ja) 可変長符号復号装置
US6404927B1 (en) Control point generation and data packing for variable length image compression
JP2002524007A (ja) イメージ圧縮方法および装置
JP2011015322A (ja) 半導体装置
JP2008193263A (ja) 画像処理方法、画像処理装置、画像処理プログラム、および、記録媒体
TWI391910B (zh) 用於驅動顯示面板之裝置及方法
JP4181701B2 (ja) 画像処理装置
US8229236B2 (en) Method for progressive JPEG image decoding
JP2000244744A (ja) 画像データ圧縮方法及び画像データ管理方法
JP2010245768A (ja) 画像処理装置および画像処理方法
JP3826123B2 (ja) 画像符号化方法及び装置
JP3921487B2 (ja) 復号化方法、復号化装置および記録媒体
JP2601822B2 (ja) 圧縮された信号を処理する伸長処理装置
JP3542572B2 (ja) 画像復号方法及び装置
JPH07255055A (ja) 可変長符号復号回路及び復号方法

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: 20121002