(57)【特許請求の範囲】
【請求項１】
内部メモリと、外部メモリに対してデータの読み出しを制御するメモリコントローラと、画像表示装置に対して、前記内部メモリまたは前記外部メモリから読み出したデータの画面表示を制御する表示制御手段とを有する情報処理装置において、
前記メモリコントローラを介して前記外部メモリの予め指定されたアドレス範囲のデータを読み出すアクセスを行い、その読み出されたデータを所望の情報処理のために利用するデータ処理手段と、
前記データ処理手段により前記外部メモリから読み出されたデータを圧縮するデータ圧縮手段と、
前記データ圧縮手段により圧縮されたデータをアドレス変換して前記内部メモリに書き込む手段と、
前記データ処理手段が前記指定されたアドレス範囲のデータを再度読み出す際に前記内部メモリからアドレス変換してデータを読み出し、読み出された圧縮データを伸張するデータ伸張手段と、
を備え、
前記データ伸張手段は、前記内部メモリからデータを読み出す際のアドレスを生成するアドレス生成器と、データ伸張用辞書とを有し、前記表示制御手段から画像表示の開始を伝える描画開始信号を受信すると前記アドレス生成器を初期アドレスに設定し、前記データ伸張用辞書の再構成開始のエントリ位置を初期値に設定する
ことを特徴とする情報処理装置。
【請求項２】
データ圧縮手段はプロセッサ上で動作するソフトウェアであることを特徴する請求項１に記載の情報処理装置。
【請求項３】
装置内に前記内部メモリを複数有し、各内部メモリで利用可能な領域を登録しておく登録手段と、前記登録手段に基づきデータを書き込む領域を決定するアドレス決定手段と、これらアドレスを連続アドレス空間にマッピングされたメモリとするためのアドレス変換手段とを具備し、前記外部メモリの予め指定したアドレス範囲のデータを読み出し、前記データ圧縮手段により単一画像に対応するデータを圧縮して前記内部メモリに格納する場合には、前記単一画像に対応するデータを分割し、該分割されたデータを前記複数の内部メモリの前記利用可能な領域に分散して順にデータを格納し、前記単一画像に対応するデータを再度読み出す場合には、前記複数の内部メモリの前記利用可能な領域から順にデータを読み出すことによって前記単一画像を再構成することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記外部メモリから読み出されたデータのデータフォーマットに基づきデータの傾向を解析するデータ解析手段を有し、前記データ圧縮手段により圧縮したデータを前記内部メモリに格納する際に容量が不足する場合には、前記データ圧縮手段は前記データ解析手段の解析結果に基づき異なる圧縮アルゴリズムを用いてデータを圧縮することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記外部メモリから読み出されたデータの精度をダウングレードするデータ精度変換手段を有し、前記データ圧縮手段により前記内部メモリにデータを書き込む際に容量が不足する場合には、前記データ精度変換手段によりデータをダウングレードして前記内部メモリに書き込むことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
内部メモリと、外部メモリに対してデータの読み出しを制御するメモリコントローラと、画像表示装置に対して、前記内部メモリまたは前記外部メモリから読み出したデータの画面表示を制御する表示制御手段とを用いて情報処理を行う情報処理方法において、
データ処理手段により、前記メモリコントローラを介して前記外部メモリの予め指定されたアドレス範囲のデータを読み出すアクセスを行い、その読み出されたデータを所望の情報処理のために利用する工程と、
データ圧縮手段により、前記データ処理手段によって前記外部メモリから読み出されたデータを圧縮する工程と、
データ書き込み手段により、前記データ圧縮手段により圧縮されたデータをアドレス変換して前記内部メモリに書き込む工程と、
データ伸張手段により、前記データ処理手段が前記指定されたアドレス範囲のデータを再度読み出す際に前記内部メモリからアドレス変換してデータを読み出し、読み出された圧縮データを伸張する工程と、を含むものであって、
前記データ伸張手段は、前記内部メモリからデータを読み出す際のアドレスを生成するアドレス生成器と、データ伸張用辞書とを有し、前記表示制御手段から画像表示の開始を伝える描画開始信号を受信すると前記アドレス生成器を初期アドレスに設定し、前記データ伸張用辞書の再構成開始のエントリ位置を初期値に設定する
ことを特徴とする情報処理方法。
【請求項７】
内部メモリと、外部メモリに対してデータの読み出しを制御するメモリコントローラと、画像表示装置に対して、前記内部メモリまたは前記外部メモリから読み出したデータの画面表示を制御する表示制御手段とを有する情報処理装置としてコンピュータを機能させるプログラムであって、
コンピュータを、
前記メモリコントローラを介して前記外部メモリの予め指定されたアドレス範囲のデータを読み出すアクセスを行い、その読み出されたデータを所望の情報処理のために利用するデータ処理手段と、
前記データ処理手段により前記外部メモリから読み出されたデータを圧縮するデータ圧縮手段と、
前記データ圧縮手段により圧縮されたデータをアドレス変換して前記内部メモリに書き込む手段と、
前記データ処理手段が前記指定されたアドレス範囲のデータを再度読み出す際に前記内部メモリからアドレス変換してデータを読み出し、読み出された圧縮データを伸張するデータ伸張手段と、して機能させ、
前記データ伸張手段は、前記内部メモリからデータを読み出す際のアドレスを生成するアドレス生成器と、データ伸張用辞書とを有し、前記表示制御手段から画像表示の開始を伝える描画開始信号を受信すると前記アドレス生成器を初期アドレスに設定し、前記データ伸張用辞書の再構成開始のエントリ位置を初期値に設定することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部主記憶メモリに対するアクセスが繰り返し生じる用途に用いられるプロセッサ、ＡＳＩＣ、ＳＯＣ(Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ)等に好適な情報処理装置及び方法、特に、ＬＣＤ又はＣＲＴ等の画像表示装置に対して画面表示を行う機能を備えた情報処理装置に関するものである。
【背景技術】
【０００２】
従来、ＬＣＤ（Ｌｉｑｕｉｄ Ｃｒｙｓｔａｌ Ｄｉｓｐｌａｙ）又はＣＲＴ（Ｃａｔｈｏｄｅ Ｒａｙ Ｔｕｂｅ）等の画面に表示する画像データは、フレームバッファと呼ばれるメモリに各画素に対応した輝度や色の情報として格納される。画面の表示はそのメモリから画像データをＬＣＤ、ＣＲＴのコントローラに転送することによって行う。これらの画像データ転送を通常１秒間に６０〜７５回程度繰り返し、画面表示を行う。
【０００３】
画像データを変更する際には、その書き換えによって表示が乱れることを防ぐため、通常、フレームバッファを２画面分以上用意しておき、書き換えのための書き込み側のバッファと表示のための読み出し側のバッファを画面の書き換えが完了し、一定間隔のタイミングで切り替えながら使用する。このようなバッファの構造は、ダブルバッファ構造と呼ばれている。
【０００４】
一方、ＳＯＣ(System on a chip)、特に画像表示機能を有する携帯端末用ＳＯＣでは、アプリケーションの高度化、集積度向上、実装面積制約の理由等から、画像出力用のＬＣＤコントローラ、データ転送用のＤＭＡコントローラ、画像処理用のプロセッサまたはＤＳＰ、及びオンチップメモリ等が１チップに集積され、小型高性能で低消費電力化を実現している。
【０００５】
図１２は従来の典型的なＳＯＣの構成を示すブロック図である。図１２を参照すると、従来のＳＯＣ４３０のチップには、プロセッサコア４０１、周辺能動コア４０２、ＬＣＤ表示制御装置４０３、オンチップメモリ４０４、周辺受動コア４０５、及びメモリインタフェース４０６のコアが集積されている。これら各構成要素がオンチップアドレスバス４０７、オンチップデータバス４０８を介して相互に接続されている。ＬＣＤ表示制御装置４０３はチップ外のＬＣＤパネル４０９と接続されている。メモリコントローラ４０６はチップ外の外部主記憶メモリ４１０と接続されている。
【０００６】
本願発明者は、このようなＳＯＣにおいてフレームバッファの１枚分の画像データをオンチップメモリ４０４にキャッシングすることによって、外部主記憶メモリ４１０のアクセス回数を削減するための技術を提案している（特許文献１）。
【０００７】
図１３は特許文献１のＳＯＣを示すブロック図である。図１３を参照すると、ＳＯＣ５３０は、プロセッサコア５０１、周辺能動コア５０２、ＬＣＤ表示制御装置５０３、オンチップメモリ５０４、周辺受動コア５０５、及びメモリコントローラ５０６を有する。ＬＣＤ表示制御装置５０３はＬＣＤ表示制御部５１３及びアドレス変換装置５１２を有する。ＬＣＤ表示制御部５１２はアドレス変換装置５１３を介してオンチップアドレスバス５０７及びオンチップデータバス５０８に接続されている。
【０００８】
アドレス変換装置５１２の他にプロセッサコア５０１、周辺能動コア５０２、オンチップメモリ５０４、及び周辺受動コア５０５がオンチップアドレスバス５０７及びオンチップデータバス５０８に接続されている。メモリコントローラ５０６はオンチップデータバス５０８に接続されているが、オンチップアドレスバス５０７にはアドレス比較器５１１を介して接続されている。アドレス比較器５１１はオンチップメモリ５０４とも接続されている。
【０００９】
オンチップメモリ５０４には、外部主記憶メモリ５１０から読み出された画像データを書き込むための書き込み用データバス５１５が接続されている。ＬＣＤ表示制御装置５０３にはチップ外のＬＣＤパネル５０９が接続され、メモリコントローラ５０６にはチップ外の外部主記憶メモリ５１０が接続されている。
【００１０】
ＳＯＣ５３０は、ダブルバッファ構造の２つの画像バッファ領域５２０を外部主記憶メモリ５１０に置いている。プロセッサコア５０１は、ソフトウェアプログラムを実行することにより、各部を統轄してＳＯＣ５３０の動作を実現する。また、プロセッサコア５０１は、外部主記憶メモリ５１０上のフレームバッファに対する画像データの書き込み（描画）を行う。フレームバッファへの描画を完了すると、プロセッサコア５０１はＬＣＤ表示装置５０３にその旨を通知する。
【００１１】
ＬＣＤ表示制御装置５０３は、フレームバッファの開始アドレスとフレームバッファサイズの画像データをフレームバッファアドレス範囲指定レジスタ（不図示）に保持している。ＬＣＤ表示制御部５１２は、プロセッサコア５０１が描画した画像データを、ＬＣＤパネル５０９の表示速度に合わせてフレームバッファアドレス範囲指定レジスタに指定されたアドレスのフレームバッファから画像データを読み出し、ＬＣＤパネル５０９に供給する。
【００１２】
アドレス変換装置５１３は、ＬＣＤ表示制御部５１３からフレームバッファへのアクセスのアドレスを変換し、アクセス先を外部主記憶メモリ５１０またはオンチップメモリ５０４を選択する。その際、アドレス変換装置５１３は、プロセッサコア５０１から描画が完了した旨の通知を受けた後の初回は外部主記憶メモリ５１０を、２回目以降はオンチップメモリ５０４を選択する。
【００１３】
オンチップメモリ５０４は、ＳＯＣ５３０のチップ内に設けられた高速アクセス可能なメモリである。メモリコントローラ５０６は外部主記憶メモリ５１０とのインタフェース回路である。アドレス比較器５１１は、外部主記憶メモリ５１０上のフレームバッファのアドレスは予め記憶しているか、あるいは外部から与えられる。そして、アドレス比較器５１１は、ＬＣＤ表示制御装置５０３からのリードアクセスのアドレスと予め記憶しているアドレスとを比較する。
【００１４】
ＬＣＤ表示制御装置５０３からのリードアクセスのアドレスが予め記憶しているアドレスと一致すれば、つまりアクセスが外部主記憶メモリ５１０上のフレームバッファへのリードアクセスであれば、外部主記憶メモリ５１０から読み出された画像データをＬＣＤ表示制御装置５０３に与えると共に、オンチップメモリ５０４にも書き込むようにオンチップメモリ５０４のアドレスを出力する。
【００１５】
それ以降、ＬＣＤ制御装置５０３はアドレス変換装置５１３によるアドレス変換によって外部主記憶メモリ５１０ではなく、オンチップメモリ５０４へリードアクセスする。これにより外部主記憶メモリ５１０へのアクセスが削減できる。
【００１６】
これらの動作から、実際にアクセスする画像と表示する画像データの関係を示すのが図１４である。まず、５５１のタイミングで外部主記憶メモリ５１０上の画像データ領域５２０からＡの画像を表示する。それと同時にオンチップメモリ５０４へ画像データの取り込みを行い、５５２のタイミングでＡの画像データをオンチップメモリ５０４のキャッシュ上から（C）のデータとして読み出す。
【００１７】
これを何回か繰り返した後、今度はＢの画像をタイミング５６１で外部主記憶メモリ５１０上の画像データ領域５２０から読み出す。その後は、５６２のタイミングでは、Ｂの画像データをオンチップメモリ５０４のキャッシュ上から（C）のデータとして読み出す。以上をタイミング５７１、５７２、５８０と繰り返すことによって主記憶メモリ５１０のアクセス回数が低減できることが分かる。
【００１８】
図１４は１秒間に１５回程度画面表示を書き換えるタイミングの例であるが、静止画表示の場合には、オンチップメモリ５０４のキャッシュ上から（C）のデータとして連続して読み出せるため、外部主記憶メモリ５１０を、より長時間連続して低電力モードに遷移させることができるといった利点が生じる。
【００１９】
一方で、データにはその種類にもよるが冗長性や、隣接するデータ間に依存を持つものがあり、それらの性質をうまく利用して新たな符号に置き換える操作を行えば、データの圧縮が可能である。データの圧縮は圧縮率を重視したものや、処理速度を重視したもの、データを完全に復元するロスレス圧縮や、視聴覚的に問題のない範囲でデータの精度を落とすロッシー圧縮等が存在する。
【００２０】
本願発明者は、ロスレス圧縮で、高速且つデータの性質に合わせたデータ圧縮を行う機構を、別途特願２００７−２１０７６１号として出願している。本方式に依れば、データの圧縮伸張をデータバスサイズに対応した、４byteもしくは８byte単位で１サイクル毎に行うことが可能である。これにより、必要なメモリ量、キャッシュの容量を削減することが可能である。
【特許文献１】特開２００５-０１８４２８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
上記特許文献１の構成では、オンチップメモリ５０４に少なくとも１画面分の画像データがキャッシングできることが、この動作を満たすための必要な条件である。一方で近年、携帯端末においても画像の高精細、高カラー化が進み、１画面分の画像データが要求するオンチップメモリの容量は増加の一途をたどっている。そのため、画像データをキャッシングするためには、オンチップメモリの容量を増やす必要が生じ、ＳＯＣのコストが増加してしまう。
【００２２】
本発明の目的は、ＳＯＣ内に存在する単一のローカルメモリ容量を上回る画像データをＳＯＣ内に格納でき、外部主記憶メモリへのアクセス回数を削減し、消費電力を低減可能な情報処理装置を提供することにある。
【課題を解決するための手段】
【００２３】
本発明は、内部メモリと、外部メモリに対してデータの読み出しを制御するメモリコントローラと、画像表示装置に対して、前記内部メモリまたは前記外部メモリから読み出したデータの画面表示を制御する表示制御手段とを有する情報処理装置において、前記メモリコントローラを介して前記外部メモリの予め指定されたアドレス範囲のデータを読み出すアクセスを行い、その読み出されたデータを所望の情報処理のために利用するデータ処理手段と、前記データ処理手段により前記外部メモリから読み出されたデータを圧縮するデータ圧縮手段と、前記データ圧縮手段により圧縮されたデータをアドレス変換して前記内部メモリに書き込む手段と、前記データ処理手段が前記指定されたアドレス範囲のデータを再度読み出す際に前記内部メモリからアドレス変換してデータを読み出し、読み出された圧縮データを伸張するデータ伸張手段と、を備え、前記データ伸張手段は、前記内部メモリからデータを読み出す際のアドレスを生成するアドレス生成器と、データ伸張用辞書とを有し、前記表示制御手段から画像表示の開始を伝える描画開始信号を受信すると前記アドレス生成器を初期アドレスに設定し、前記データ伸張用辞書の再構成開始のエントリ位置を初期値に設定することを特徴とする。
【００２４】
また、本発明は、内部メモリと、外部メモリに対してデータの読み出しを制御するメモリコントローラと、画像表示装置に対して、前記内部メモリまたは前記外部メモリから読み出したデータの画面表示を制御する表示制御手段とを用いて情報処理を行う情報処理方法において、データ処理手段により、前記メモリコントローラを介して前記外部メモリの予め指定されたアドレス範囲のデータを読み出すアクセスを行い、その読み出されたデータを所望の情報処理のために利用する工程と、データ圧縮手段により、前記データ処理手段によって前記外部メモリから読み出されたデータを圧縮する工程と、データ書き込み手段により、前記データ圧縮手段により圧縮されたデータをアドレス変換して前記内部メモリに書き込む工程と、データ伸張手段により、前記データ処理手段が前記指定されたアドレス範囲のデータを再度読み出す際に前記内部メモリからアドレス変換してデータを読み出し、読み出された圧縮データを伸張する工程と、を含むものであって、前記データ伸張手段は、前記内部メモリからデータを読み出す際のアドレスを生成するアドレス生成器と、データ伸張用辞書とを有し、前記表示制御手段から画像表示の開始を伝える描画開始信号を受信すると前記アドレス生成器を初期アドレスに設定し、前記データ伸張用辞書の再構成開始のエントリ位置を初期値に設定することを特徴とする。
【発明の効果】
【００２５】
本発明の第１の効果は、画像データをオンチップメモリにキャッシングする際にデータを圧縮するため、より少ない容量のオンチップメモリで画像のキャッシングが可能となることである。換言すれば、より高精細な画像データをオンチップメモリにキャッシングすることが可能となる。
【００２６】
本発明の第２の効果は、ＳＯＣ内に存在する様々な作業用メモリをアドレス変換によって一元的に管理し、それを画像キャッシュ領域として利用することにより、データ圧縮効果と相まって、より高精細の画像データのオンチップ・キャッシングが可能になることである。
【００２７】
本発明の第３の効果は、２パス圧縮による効率的な画像データ圧縮や、解像度、輝度色数をダウングレードすることを自動的に行うことにより、キャッシュ化の適用可能性を広げられることである。
【発明を実施するための最良の形態】
【００２８】
次に、発明を実施すための最良の形態について図面を参照して詳細に説明する。
【００２９】
（第１の実施形態）
図１は本発明に係る情報処理装置の第１の実施形態を示すブロック図である。図１はＳＯＣチップの構成を示す。図１を参照すると、ＳＯＣ（ＳＯＣ：Ｓｙｓｔｅｍ Ｏｎ Ｃｈｉｐ）３０は、プロセッサコア１、周辺能動コア２、ＬＣＤ表示制御装置３、オンチップメモリ４、周辺受動コア５及びメモリコントローラ６を有している。
【００３０】
ＬＣＤ表示制御装置３にはＬＣＤ表示制御部１２及びアドレス変換装置１３に加えてデータ伸張器１４を有する。ＬＣＤ表示制御部１２はアドレス変換装置１３を介してオンチップアドレスバス７に接続され、オンチップデータバス８には直接接続されている。データ伸張器１４はアドレス変換装置１３からの制御信号を受けてデータバス８に流れる圧縮データを伸張した上でＬＣＤ表示制御部１２に供給する。
【００３１】
アドレスバス７はアドレス変換装置１３の他にプロセッサコア１、周辺能動コア２、オンチップメモリ４、周辺受動コア５、アドレス比較器１１に接続されている。データバス８はＬＣＤ表示制御部１２、データ伸張器１４の他にプロセッサコア１、周辺能動コア２、オンチップメモリ４、周辺受動コア５及びメモリコントローラ６に接続されている。オンチップメモリ４とメモリコントローラ６との間にはデータ圧縮器１５が接続されている。
【００３２】
ＬＣＤ表示制御装置３にはチップ外のＬＣＤパネル９が接続され、メモリコントローラ６にはチップ外の外部主記憶メモリ１０が接続されている。メモリコントローラ６はプロセッサコア１の制御に基づき外部主記憶メモリ１０に対して画像データの書き込み或いは画像データの読み出しの制御を行う。
【００３３】
また、ＳＯＣ３０はダブルバッファ構造の２つのフレームバッファを外部主記憶メモリ１０の画像データ領域２０に置いている。プロセッサコア１はソフトウェアプログラムを実行することにより、各部を統轄してＳＯＣ３０の動作を実現する。また、プロセッサコア１は外部主記憶メモリ１０上のフレームバッファに対する画像のデータの書き込み（描画）を行う。フレームバッファへの描画を完了すると、プロセッサコア１はＬＣＤ表示装置３にその旨を通知する。
【００３４】
ＬＣＤ表示制御装置３はフレームバッファの開始アドレスとフレームバッファサイズのデータを画像バッファアドレス範囲指定レジスタに保持している。ＬＣＤ表示制御部１３はプロセッサコア１が描画した画像のデータをＬＣＤパネル９の表示速度に合わせてフレームバッファアドレス範囲指定レジスタに指定されたアドレスのフレームバッファからデータを読み出し、ＬＣＤパネル９に与える。画像バッファアドレス範囲指定レジスタは図２を用いて後述する。
【００３５】
アドレス変換装置１３はＬＣＤ表示制御部１３からフレームバッファへのアクセスのアドレスを変換し、アクセス先を外部主記憶メモリ１０またはオンチップメモリ４を選択する。その際、アドレス変換装置１２はプロセッサコア１から描画が完了した旨の通知を受けた後の初回は外部主記憶メモリ１０を２回目以降はオンチップメモリ４を選択する。
【００３６】
初回の表示で外部主記憶メモリ１０を選択した際には、画像データをＬＣＤ表示制御部１２に送ると共に、データ圧縮器１５で画像データを圧縮しながらオンチップメモリ４へ書き込む。それと共に画像データを圧縮した上でオンチップメモリ４へ書き込んだことを通知する。
【００３７】
アドレス比較器１１は、外部主記憶メモリ１０上の画像データ領域２０のアドレスは予め記憶しているか、あるいは外部から与えられている。そして、アドレス比較器１１は、ＬＣＤ表示制御装置３からのリードアクセスのアドレスと予め記憶しているアドレスとを比較する。ＬＣＤ表示制御装置３からのリードアクセスのアドレスが予め記憶しているアドレスと一致すれば、つまり、アクセスが外部メモリ１０上の画像データ領域２０へのリードアクセスであれば、外部メモリ１０から読み出されたデータをＬＣＤ表示制御装置３に与えると共に、データ圧縮器１５を介してオンチップメモリ４にも書き込むようにオンチップメモリ４のアドレスを出力する。
【００３８】
このようにデータ圧縮を行いながらオンチップメモリ４へ書き込むため、実際の画像データの大きさがオンチップメモリ４のサイズを上回るときにも、そのデータすべてをオンチップメモリ４へ書き込むことが可能になる。
【００３９】
２回目以降の表示でオンチップメモリ４を選択した際には、そのデータが圧縮されているかどうかを判断する。圧縮されていない場合にはオンチップメモリ４から直接、圧縮されている場合にはデータ伸張器１４を活性化する。データ伸長器１４で圧縮データを伸張して画像データをＬＣＤ表示制御部１２に送る処理を行う。これにより、ＬＣＤ制御装置３は、アドレス変換装置１３によるアドレス変換によって外部主記憶メモリ１０ではなく、オンチップメモリ４へリードアクセスする。これにより外部主記憶メモリ１０へのアクセスを削減することが可能となる。
【００４０】
図２は図１を更に詳細に示すブロック図である。特に、ＬＣＤ表示制御装置３の詳細な構成やオンチップメモリ４、データ圧縮器１５周辺の構成を示す。図３は本実施形態の動作の流れを示すフローチャートである。図２は図１では不図示であった画像バッファアドレス指定範囲レジスタ３１、画像キャッシュ有無ビット３２、圧縮有無ビット３３、データセレクタ３４、アドレス生成器３５、オンチップメモリ利用範囲レジスタ３６、データセレクタ３７、アドレスセレクタ３８等を示す。
【００４１】
次に、図３のフローチャートに従い図１、図２を参照しながら本実施形態の動作を説明する。まず、ステップ５１においてＬＣＤ表示制御装置３中のＬＣＤ表示制御部１２が画面の表示位置情報をアドレス変換装置１３へ通知する（外部主記憶メモリ１０への画像データ読み出しアクセス）。次にステップ５２においてアドレス変換装置１３は画像キャッシュ有無ビット３２を確認する。初回の画面表示時には画像キャッシュは存在しないのでステップ５７に進む。
【００４２】
ステップ５７では、画像の表示位置が画像バッファアドレス範囲レジスタ３１に入るかどうかをチェックする（即ち、アクセスアドレスが画像データ領域２０の指定範囲であるかどうかをチェックする）。このチェックは画像バッファアドレス指定範囲レジスタ３１に格納されているアドレスに基づきアドレス比較器１１で行う。指定されたアドレス範囲外のアクセスであれば、アドレス比較器１１は通常のリードアクセスと判断し、ステップ６５に進み外部主記憶メモリ１０への通常のリードアクセスを行う。一方、アドレス範囲内の場合には、ステップ５８に進む。
【００４３】
ステップ５８ではオンチップメモリ４のうち画像データのキャッシングに利用可能な領域がオンチップメモリ利用範囲レジスタ３６に示されており、アドレス生成器３５によってそのうち利用されたデータ分に相当するアドレスを加算する。ステップ５８では、これらの値から利用可能なオンチップメモリ４の容量があるかどうか（即ちオンチップメモリ４の容量超過）を判断する。容量がないと判断した場合には、ステップ６５に進み、通常のリードアクセスのみを行う。
【００４４】
一方、オンチップメモリ４の容量が超過してない場合には、ステップ５９でオンチップメモリ４の書き込みポートを確保する。これは、データセレクタ３７とアドレスセレクタ３８を通常のデータバス８、アドレスバス７側のアクセスからデータ圧縮器１５からのアクセスに切り替えることによって行う。その後、ステップ６０で外部主記憶メモリ１０のリードアクセスを行う。
【００４５】
次に、ステップ６１で読み込まれたデータをデータ圧縮器１５でデータ圧縮する。なお、読み込まれたデータは同時にデータバス８を介してＬＣＤ表示制御部１２にも送出され、データ圧縮とは関係なくＬＣＤパネル９への画面表示を行う。データ圧縮後、ステップ６２においてこの圧縮後のデータサイズの加算をアドレス生成器３５で行い、ステップ６３でこのデータサイズを加算してもオンチップメモリ４に空きがあるかどうかを判断する。空きがあると判断した場合には、ステップ６４でアドレス生成器３５で算出したアドレスに圧縮データをオンチップメモリ４に書き込む。空きがないと判断した場合にはステップ６４の書き込み動作は行わない。
【００４６】
これらのステップの繰り返しにより、画像データ、１画面分すべてを表示し終えた際に画像データを圧縮してオンチップメモリ４にすべて書き込めた場合には、画像キャッシュ有無ビット３２と圧縮有無ビット３３をそれぞれセットする。
【００４７】
再度同じ画面を表示する際には、ステップ５１においてＬＣＤ表示制御装置３中のＬＣＤ表示制御部１２が画面の表示位置情報をアドレス変換装置１３へ通知する。次にステップ５２においてアドレス変換装置１３は画像キャッシュ有無ビット３２を確認する。２回目の画面表示時には画像キャッシュは存在することが、画像キャッシュ有無ビット３２の値で確認できる。
【００４８】
そのため、次にステップ５３に進む。ステップ５３ではアドレス生成器３９によって生成された圧縮データのデータアドレスから、オンチップメモリ４のアクセスアドレスを生成し、ステップ５４で圧縮されたデータをオンチップメモリ４からリードする。ステップ５５ではデータの圧縮有無を圧縮有無ビット３３で確認し、圧縮されている場合にはステップ５６でオンチップメモリ４から読み出した圧縮画像データをデータ伸張器１４によって元のデータに伸張復元する。そして、データセレクタ３４を介してＬＣＤ表示制御部１２に送り、ＬＣＤパネル９への画面表示を行う。
【００４９】
同じ画像を表示し続ける限り、オンチップメモリ４からのリードデータを伸張して画像データとして表示する動作を継続し、外部主記憶メモリ１０をアクセスすることなく、オンチップメモリ４において利用可能なメモリ領域のサイズを上回る画像データを、データの圧縮伸張という技術を用いて実現する。
【００５０】
一方、画面を書き換える際には、従来技術で説明したようにダブルバッファによって画像データを２枚持っているためその切り替えを検出する。即ち、外部主記憶メモリ１０上で今まで表示を行っていた画像データ領域と別の画像データ領域を参照して表示位置アドレスが変わることにより、画像キャッシュ有無ビット３２と圧縮有無ビット３３をクリアする。これにより、ステップ５２からステップ５７に進むことにより新たに画像データの圧縮とオンチップメモリ４へのデータキャッシングを実現できる。
【００５１】
これらのことから、本実施形態によるＳＯＣ３０は外部主記憶メモリ１０上の画像データ領域２０をソフトウェアの変更を行うことなく、暗黙的にオンチップメモリ４に圧縮して格納する。また、再表示する際には外部主記憶メモリ１０ではなく、オンチップメモリ４からデータを読み出し、伸張することによってより少ないオンチップメモリ４を画像データ表示のキャッシュメモリとして扱うことが可能となる。従って、必要なオンチップメモリ容量を削減でき、外部主記憶メモリ１０へのアクセスの減少により低コスト化と低電力化を実現することが可能となる。
【００５２】
一方、データ圧縮と伸張に伴う電力が増加するが、従来例で説明したように通常は動画表示であっても同一画面を複数回表示するため、伸張処理の方が圧縮処理よりも回数が多くなる。通常、伸張処理の方が処理量が少ないことと、メモリアクセス電流も削減できることから電力増加はわずかである。
【００５３】
以上のように本実施形態では、外部主記憶メモリからオンチップメモリへ接続されるデータバス上にデータ圧縮器を、オンチップメモリからシステムバスへ接続されるデータバスにデータ伸張器を設けている。これによって、外部主記憶メモリから画像データをオンチップメモリに格納する際にデータを圧縮して書き込み、再び同じ画像データを読み出す際にはオンチップメモリの圧縮されたデータを伸張して読み出すことにより、外部主記憶メモリをアクセスすることなく画像の表示が可能になる。
【００５４】
次に、オンチップメモリ４上に存在する圧縮された画像データを繰り返し表示する際の、データ伸張器１４について説明する。図４はデータ伸張器１４の内部構造を示すブロック図である。ここでは、アドレス生成器３９も含めて図示している。その他、圧縮データ入力バッファ８１、データ解析ユニット８２、データ再構築ユニット８３、無圧縮データ出力バッファ８４、データ伸張用辞書８５から構成されている。
【００５５】
辞書を用いるデータ圧縮、伸張アルゴリズムにおいて圧縮は、辞書に頻出するデータのパターン列を登録し、その後はそのパターン列を辞書に登録されたパターン列と比較する。同じものがあればデータパターン列よりも短いデータサイズで表現される辞書のエントリ番号に置き換えることによってデータサイズを縮小する。
【００５６】
同様に、伸張では圧縮と同じように辞書を圧縮データ列から再構成し、その後、辞書のエントリ番号を辞書に登録されたデータパターン列に復元することによって元のデータに復元する。図４において、まず、データを圧縮データ入力バッファ８１に取り込む。これは、アドレス生成器３９によって示されたアドレスのデータを、オンチップメモリ４等からリードすることによって実現する。
【００５７】
次に、データ解析ユニット８２は圧縮データ入力バッファ８１からデータを取り出し、取り出したデータが、辞書を再構成するためのデータ列か、辞書のエントリ番号を示すものかを判断する。辞書を再構成するためのデータ列であった場合にはデータ伸張用辞書８５にこのデータ列を登録する。辞書エントリ番号であった場合にはデータ伸張用辞書８５の当該エントリ番号のデータ列を読み出す。
【００５８】
次に、データ再構築ユニット８３は、データ列であった場合にはそのデータ列であることを示す符号を取り除き、データ列本体を無圧縮データバッファ８４に送る。他方、エントリ番号であった場合にはデータ伸張用辞書８５から読み出したデータを無圧縮データバッファ８４に送る。
【００５９】
通常、上記伸張処理はファイルやデータ列の開始時点でデータ伸張用辞書８５やアドレス生成器３９の内容を初期化する必要が生じる。これは、辞書を再構成するためのデータ列を圧縮時と同じ辞書のエントリに格納するためである。従って、辞書を再構成するためのデータ列に格納すべき辞書のエントリ番号が明記されている場合には、これらの初期化操作は不要となる場合もある。
【００６０】
本実施形態では、同じ画像データを繰り返し表示する時にオンチップメモリ４に画像データを圧縮して格納することにより、低電力化と高性能化を両立させるものである。従って、同一画像を何度も繰り返し表示することを前提にしている。
【００６１】
しかるに、画像データの読み出し開始時に初期化操作が必要となる。第２の実施形態では、この初期化操作をＬＣＤ表示制御部１２から主体的に行うものである。具体的には画像表示の開始時点でＬＣＤ表示制御部１２からアドレス生成器３９とデータ伸張用辞書８５に対して画像描画開始信号を送出する。これらの信号を受けると、アドレス生成器３９はその内部のアクセスアドレスカウンタを初期アドレスにリセットし、データ伸張用辞書８５はその再構成開始のエントリ位置を初期値とする。
【００６２】
更に、この時の画像データに頻出するパターン、例えば、白とか黒とかの原色データ等を規定し、その規定データを予め辞書に登録することによって圧縮率の向上を図ることも可能である。ＬＣＤ表示制御部１２は現在、画像のどの位置を表示して、データを送出しているのかを把握しており、画面表示の開始時点を把握するのは容易である。これらのことにより、繰り返しの画像表示を単一の圧縮画像データから正しく行うことが可能である。
【００６３】
このように圧縮伸張処理が辞書を伴うアルゴリズムを用いる場合には、この辞書を画面の繰り返し表示に従って辞書をクリアしたり初期値に戻したりすることを自動的に行う。これにより、圧縮データの送出側では画像表示の繰り返しによる辞書の影響を考慮することなく圧縮された画像データの出力が可能となる。
【００６４】
（第２の実施形態）
次に、本発明の第２の実施形態を説明する。先に述べたようにデータの圧縮と伸張では、圧縮処理の方が以前出現したデータパターンとの照合処理が必要となるため、演算処理量が多くなる。従って、ハードウェアで実現する場合にはハードウェア規模が大きくなり、ソフトウェアで実現した場合にはより多くの処理時間が必要となる。よって、ハードウェアコストを低減するためには、データ圧縮器１５を省くのが効率的である。一方、本発明で対象とする画像表示という観点からは、同一画面を何回も表示するためデータ伸張器１４の方がデータ圧縮器１５よりも使用頻度が高い。
【００６５】
しかるに、本実施形態ではデータ圧縮器１５を省いた構成のハードウェアを用いて、ソフトウェアによってデータ圧縮、ハードウェアによってデータ伸張を行う。図５はそのような本発明の第２の実施形態を示すブロック図である。本構成は図１のＳＯＣからデータ圧縮器１５を取り除いている。その他の構成動作は図１と同様である。図５では図１と同一部分には同一符号を付している。
【００６６】
図６は本ＳＯＣにおける画像データ表示をどのように取り扱うかを示すフローチャートである。まず、ステップ１５１でＬＣＤ表示制御装置３から外部主記憶メモリ１０への画像データ読み出しアクセスがあると、最初にステップ１５２で画像データがキャッシングされているか否かを調べる。これは、第１の実施形態と同等の方法で可能である。データがキャッシングされていない場合、ステップ１５７において画像データの全体の大きさと利用可能なオンチップメモリ４の領域サイズを比較する。
【００６７】
この比較はソフトウェアによって画像表示の最初の時点で１度だけ行う。ここで、画像データ１枚分すべてが、無圧縮のままオンチップメモリ４に格納可能と判断すれば、圧縮を行う必要はないのでステップ１５８〜１６０でそのままオンチップメモリ４に格納する。この方法は、第１の実施形態にも適用可能である。
【００６８】
一方、ステップ１５７で無圧縮のままではオンチップメモリ４に格納できないと判断した場合には、ステップ１６１で外部主記憶メモリ１０をアクセスし、ステップ１６５でＬＣＤパネル９への画像データの表示を行いつつ、並列にステップ１６２においてプロセッサコア１でこの画像データの圧縮を圧縮プログラムというソフトウェア処理によって行う。この圧縮プログラムの圧縮アルゴリズムはデータ伸張器１４で正しく伸張できるアルゴリズムである必要がある。
【００６９】
次いで、ステップ１６３でこの圧縮後のデータサイズを確認し、オンチップメモリ４へ格納可能なサイズへ圧縮ができた場合には、ステップ１６４で圧縮データをオンチップメモリ４に書き込む。そして、次の同一画面表示時にステップ１５２でキャッシングされていることとなるように、また、ステップ１５５で圧縮されていることとなるようにそれぞれフラグをセットする。図６ではこの圧縮画像データの書き込みはステップ１６４で行っているが、ステップ１６２の圧縮過程で画像圧縮データの一部を書き込んでもよい。
【００７０】
次回、同一画面表示時にデータがキャッシュされている場合には、図３と同様の処理を行う。即ち、ステップ１５２からステップ１５３、１５４と進み、ステップ１５５で圧縮画像データがオンチップメモリ４にあるかを判断する。データが圧縮されていると判断した場合には、ステップ１５６でデータ伸張器１４でデータを伸張しつつステップ１６５でＬＣＤパネルで表示を行い、圧縮データではないと判断した場合には、オンチップメモリ４のそのままのデータをＬＣＤパネルにステップ１６５で表示する。
【００７１】
ここで、静止画を長時間にわたって表示することが多い端末に用いる場合には、圧縮を行う回数よりも伸張を行う回数の方が圧倒的に多くなる。本実施形態では、圧縮をプロセッサコア上で実行するソフトウェアで行い、その結果をオンチップメモリに書き込み、繰り返し実行する伸張は圧縮よりも物量が小さくハードウェア化可能である伸張器で行う構成とすることで、省電力と低コストが同時に達成できる。
【００７２】
（第３の実施形態）
次に、本発明の第３の実施形態を説明する。本実施形態ではオンチップメモリが不足している時に他の能動コアや受動コアに含まれている作業メモリにも圧縮した画像データの一部を格納し、外部主記憶メモリ１０へのアクセスを削減するものである。その他の構成動作は第１の実施形態と同様である。
【００７３】
図７は本実施形態に係るＳＯＣ３０を示すブロック図である。図７では図１や図５等と同一部分には同一符号を付している。図７においては、図１に比較して利用可能メモリテーブル２１６、作業メモリアクセスバス２１９が追加されている。また、各種周辺能動コア２０２や各種周辺受動コア２０５に作業メモリ２１７、２１８が明記されている。これは、図１等では発明に関係しないため、あえて明示しなかったものである。図１、図５の実施形態にもこれら作業メモリが存在してもよい。
【００７４】
これら作業メモリ２１７、２１８は、各々通常の利用形態として各種周辺能動コア２や各種周辺受動コア５から内部接続がなされているが、本実施形態ではそれに加えて作業メモリアクセスバス２１９が追加されており、データ圧縮器１５やデータバス８と接続され、他のコアからのアクセスが可能である。
【００７５】
これら作業メモリ２１７、２１８は各種周辺能動コア２や各種周辺受動コア５が各々の処理をするために利用される。例えば、キャッシュメモリやデータを蓄えるバッファ等がその用途として考えられる。これらメモリをオンチップメモリ４と別に用意するのは、各々のコア内に隣接してアクセス速度を稼ぐことやバスアービトレーションの影響を避ける等の理由が挙げられる。
【００７６】
これら作業メモリ２１７、２１８は各種周辺能動コア２や各種周辺受動コア５が処理を行わない状態、例えば、画面表示だけを行ってスタンバイ状態に入っている時等には利用されず、貴重なメモリリソースが有効に使われない状態もある。本実施形態では、メモリリソースを有効に利用するものである。
【００７７】
図８は利用可能メモリテーブル２１６の詳細を示すブロック図である。図８において、現在の書込・読出データ量カウンタ２５１はアドレス比較器１１やアドレス変換装置１３からのデータアクセス量情報に基づきカウンタを加算する。メモリアクセス位置レジスタ２５２は現在どのエントリに対応するメモリをアクセスしているかを示すレジスタである。このエントリはエントリ有効ビット２５４、開始アドレスレジスタ２５５、終了アドレスレジスタ２５６の組から構成され、複数のエントリを備え、これらエントリの参照や更新のためのエントリセレクタ２５３を備えている。
【００７８】
ここでは、エントリが３つの場合を示しており、エントリ１がオンチップメモリ４、エントリ２が作業メモリ２１７、エントリ３が作業メモリ２１８に対応する。これら現在の書込・読出データ量カウンタ２５１、メモリアクセス位置レジスタ２５２、エントリセレク２５３で選択されたエントリ情報から、アクセスを行うオンチップメモリ４もしくは作業メモリ２１７、２１８等のメモリ毎のアクセス有効信号２５９のうち選択するメモリの有効信号をアクティブにして適切なアクセスアドレス２６０を発生させる。
【００７９】
データ圧縮時には、利用可能メモリテーブル２１６に登録されたエントリ１から順番にその有効フラグ２５４がセットされているエントリの開始アドレス２５５から順に圧縮した画像データを格納していく。この時、アドレス計算ユニット２５７はメモリのアクセスするアドレスを計算した上で該当するオンチップメモリ４に対するアクセス有効信号２５９を有効とし、そのアクセスアドレス２６０を出力する。
【００８０】
エントリ１の終了アドレス２５６まで達してデータの格納が終わると、メモリアクセス位置レジスタ２５２が更新され、エントリセレクタ２５３はエントリ２の開始アドレス２５５を出力する。これによって、アドレス計算ユニット２５７はメモリのアクセスするアドレスを計算した上で新たにエントリ２に登録された作業メモリ２１７に対するアクセス有効信号２５９を有効とし、そのアクセスアドレス２６０を出力する。
【００８１】
これらの一連の処理でアドレスに対応する圧縮データは、データ圧縮器１５から直接オンチップメモリ４や、作業メモリアクセスバス２１９を介して作業メモリ２１７、２１８等に書き込まれる。
【００８２】
一方、データ伸張時には利用可能メモリテーブル２１６はアドレス変換装置１３から送られてきたアドレスを、圧縮時と同様に各々のオンチップメモリ４もしくは作業メモリ２１７、２１８に対するアクセス有効信号２５９とアクセスアドレス２６０に変換して出力する。それによって、リードデータはオンチップメモリ４から直接データバス８を介して、もしくは作業メモリアクセスバス２１９からデータバス８を介してＬＣＤ表示制御部１２に送られる。
【００８３】
図９は本実施形態によるメモリ空間から実メモリへのマッピングを模式的に示す図である。メモリ空間２７０上ではオンチップメモリの画像データ格納領域２７１に０x6０１０_００００番地から、０x6０１０_9fff番地までを連続して確保したように仮想的に示しているが、実メモリ配置はオンチップメモリ４、作業メモリ２１７、２１８のそれぞれ一部分のみであり、それも断片的である。このような断片的なメモリを利用可能メモリテーブル２１６によるアドレス変換動作により連続した画像データ格納領域２７１を実現する。
【００８４】
これにより、ＳＯＣに配置される様々な作業メモリを利用していない時に有効に利用することが可能になる。あくまで、この領域は画像データのキャッシュに用いられているので、作業メモリが必要となった場合には、外部主記憶メモリ１０からの画像表示に戻し、利用可能メモリテーブル２１６の内容をプロセッサコア１上で実行するソフトウェアを用いて更新した上で再度キャッシュを行う動作をすればよい。
【００８５】
また、プロセッサコア１等に具備するキャッシュメモリのうち、ある一定量を画像データのキャッシングに割り付けるということも考えられる。この場合、プロセッサコア１のキャッシュヒット率が低下するという性能上の問題は生じるものの、システム全体としてメモリアクセス数を削減できる可能性がある。
【００８６】
ここで、携帯端末用のＳＯＣでは用途を特に限定しない汎用オンチップメモリの他に様々なＩＰコアがその処理のためにローカルな作業メモリやバッファを保持しているものも存在する。そのようなメモリ等はそれが属するＩＰコアが稼働していない時には、不要となる場合も多い。本実施形態では、これらのメモリにも圧縮された画像データ、場合によっては圧縮されていない画像データの一部を格納することによって、より大容量のデータをオンチップメモリ上に格納することが可能となる。
【００８７】
この時、データ圧縮器はメモリ利用順序テーブルを参照し、どのメモリが画像データ格納用に利用可能であり、利用する場合の順序を決定する。メモリ利用順序テーブルはソフトウェアもしくはハードウェアによって適切な値に設定するものとし、このテーブルが書き換えられた際には、画像データのオンチップメモリからの供給を一旦中止し、主記憶メモリからの供給に切り替え、再度キャッシングを行う。更に、プロセッサコアやＤＳＰ等が持つキャッシュメモリの一部、もしくはすべてをキャッシュメモリとしては無効化して画像データの格納に用いることも可能である。
【００８８】
（第４の実施形態）
第１の実施形態では、ＳＯＣ内のオンチップメモリに画像データを圧縮してキャッシングする過程で、画像データをＬＣＤ表示のために外部主記憶メモリ１０から読み出す際に同時に圧縮処理を行い、オンチップメモリ４へ格納する。従って、圧縮アルゴリズムは、データの初回参照でそのまま圧縮をかける１パスの圧縮アルゴリズムを採用せざるを得ない。
【００８９】
１パス圧縮アルゴリズムはデータ全体に対して最適な符号割付が行いにくいため、高い圧縮率を確保するのが難しい場合もある。従って、圧縮を用いてさえもオンチップメモリへ１枚分の画像データすべてを格納するのが難しい場合も発生しうる。第４の実施形態ではデータを複数回参照できるマルチパスの圧縮アルゴリズムを用いた制御方法について提案するものである。
【００９０】
図１０は本発明の第４の実施形態に係るＳＯＣを示すブロック図である。図１０では図１、図５、図７等と同一部分には同一符号を付している。図１０では図１等に対してデータ解析器３１７が追加されている。データ解析器３１７は外部主記憶メモリ１０の画像データ領域２０から読み出しているデータを同時に取り込み、画像のフォーマット（格納方式）に従って画像の傾向を把握するものである。
【００９１】
例えば、明るい色調を多用する、同じパターンが出現する等である。これらの解析結果から、データを効率的に圧縮可能な符号割付を決定するものである。このようにより画像の性質に適した符号を割り付けた後、最初から画像データをこの符号割付に従って圧縮を行うことにより、より高い圧縮率が期待できる。
【００９２】
本実施形態では、図３に示すフローチャートのステップ５８以降の動作を行っている過程で、データ解析器３１７が同時にデータ解析を進める。即ち、ステップ５８の条件が満たされない場合には、データ圧縮器１５による１パスのデータ圧縮とデータ解析器３１７によるデータ解析を同時に行うことになる。ここで、ステップ６３の条件が成立した場合や先のステップ５８の条件が満たされた場合には、オンチップメモリ４の不足により１パスのデータ圧縮結果では、圧縮画像データがオンチップメモリ４に格納できないことを意味する。
【００９３】
このため、２回目以降の画面表示も外部主記憶メモリ１０上の画像データ領域２０から行う必要がある。本実施形態では、この２回目以降の画像表示時にも最初とは異なる圧縮方法でデータ圧縮を試みることによって圧縮率を向上させ、オンチップメモリ４へ圧縮画像データの格納を図るものである。
【００９４】
２回目以降の圧縮動作では、データ圧縮器１５はデータ解析器３１７からの画像情報、符号割付情報等を受け取り、より画像の性質に適した圧縮が可能となり、圧縮率の向上が期待できる。また、画像に応じていくつかの圧縮アルゴリズムを用意しておき、データ解析器３１７からの情報に従ってデータ圧縮器１５の圧縮アルゴリズムを変更する方法等も可能である。
【００９５】
この結果、オンチップメモリ４に圧縮画像データが格納できた場合、図３のフローチャートの例では、ステップ５２が成立するため、画像表示時にデータ伸張器１４によって圧縮データを伸張する。この時には、データ解析器３１７から圧縮に用いた符号やアルゴリズム種類を受け取ることによって、データ圧縮器１５で用いた符号情報やアルゴリズムを認識して同一方法での伸張を行う。
【００９６】
このように本実施形態では、より効率的な圧縮を行うことが可能になり、オンチップメモリ４の効率利用と外部主記憶メモリ１０のアクセス回数の低減による省電力化を実現することが可能である。
【００９７】
即ち、データの圧縮はそのデータの特徴によって圧縮率が異なることはよく知られており、画像データにおいても例外ではない。また、データの圧縮はオリジナルデータに存在する冗長性を、別の符号に置き換えることによって行われるので、オリジナルデータに頻出するデータ列をより小さな符号に割り付けることによって、圧縮率を向上させることができる。
【００９８】
このような最適な符号割付は、オリジナルデータを一旦すべて解析してもう一度データの初めから読み出す場合ではないと行うことができない。従って、画像データを主記憶メモリから読み出し、ＬＣＤ等に表示する過程で同時に圧縮を行ってオンチップメモリへ格納する方式では、１回目の読み出し時に圧縮動作が必要となってしまうため、圧縮率を向上できなくなる。そのため、１回目はデータ解析とその符号割付を終え、２回目の表示でもまた主記憶メモリからデータを読み出し、その時に圧縮を行えば、圧縮率の向上が可能である。
【００９９】
更に、例えば、無操作時のスタンバイ画面等で、ずっと静止画を表示し続け、ＬＣＤパネルに備えられるバックライトも消灯するような場合、画像の解像度を下げたり、色数を削減したりしても、視覚的な影響は少ない。次に説明する実施形態ではオンチップメモリに格納できない画像データについても特定条件下で画像の解像度や輝度色数を変換することによって、画像データとして必要なメモリ領域を削減し、オンチップメモリに格納する。
【０１００】
（第５の実施形態）
図１１はそのような本発明の第５の実施形態に係るＳＯＣを示すブロック図である。図１１では図１、図５、図７、図１０等と同一部分には同一符号を付している。本ブロック図では図１等に対して画像精度変換器３６７が追加されている。画像精度変換器３６７は外部主記憶メモリ１０の画像データ領域２０から読み出しているデータを同時に取り込み、画像の解像度を下げたり、輝度色数を削減したりした結果を、データ圧縮器１５に送出するものである。
【０１０１】
本実施形態では、図３のフローチャートの動作で、１回目の表示時にステップ５８やステップ６３が満たされた場合、即ち、利用可能オンチップメモリ４の利用可能な容量を超過し、且つ、予め設定された条件、例えば、無操作でスタンバイ画面となったことが確認できた場合、その後の外部主記憶メモリ１０からの画像データ読み出し時に画像精度変換器３６７によって画像データの画像の解像度を下げたり、輝度色数の削減を行ったりする。つまり、画像をダウングレードした上でデータ圧縮器１５に送出する。これにより、もともとの画像データの情報量を削減することになり、データ圧縮を行うことと相まってオンチップメモリ４に画像データを格納できる可能性が高くなる。
【０１０２】
本実施形態では、情報量を削減した画像データがオンチップメモリ４に格納されていることを示すための信号が、画像精度変換器３６７からＬＣＤ表示制御部１２に送出される。ＬＣＤ表示制御部１２はスタンバイ画面で画像の解像度輝度色数等を下げても良い状況にあると判断した場合には、オンチップメモリ４に格納されている圧縮画像データを、データ伸張器１４で伸張してＬＣＤパネル９に表示する。また、通常表示に戻す状況と判断した場合には、再び外部主記憶メモリ１０から画像データを読み出すように設定を戻すことにより、効率的且つ低消費電力な画像表示を実現できる。
【０１０３】
以上のように圧縮後の画像データがオンチップメモリ４に格納できない場合には、データ圧縮器１５によって画像データの色数や解像度をダウングレードして必要なメモリ容量を削減してもよい。
【０１０４】
なお、以上の実施形態では、データ伸張器をＳＯＣ内に備えているが、ＬＣＤパネル側のデータ受け取りインタフェースに持たせることも可能である。このようにすれば、ＳＯＣからＬＣＤパネル間のデータ交信量も削減できるため、帯域の拡大やＩ／Ｏに関わる電力が低減され、よりシステムとしての消費電力を低下させることが可能になる。また、本発明の情報処理置はハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。
【図面の簡単な説明】
【０１０５】
【図１】本発明に係る情報処理装置の第１の実施形態を示すブロック図である。
【図２】図１を詳細に示すブロック図である。
【図３】第１の実施形態の動作を説明するフローチャートである。
【図４】第１の実施形態のデータ伸張器１４の内部構造を詳細に示すブロック図である。
【図５】本発明の第２の実施形態を示すブロック図である。
【図６】第２の実施形態の動作を説明するフローチャートである。
【図７】本発明の第３の実施形態を示すブロック図である。
【図８】本発明の第３の実施形態による利用可能メモリテーブルの詳細を示すブロック図である。
【図９】本発明の第３の実施形態によるメモリ空間から実メモリへのマッピングを模式的に示す図である。
【図１０】本発明の第４の実施形態を示すブロック図である。
【図１１】本発明の第５の実施形態を示すブロック図である。
【図１２】従来例の情報処理装置を示すブロック図である。
【図１３】特許文献１の情報処理装置を示すブロック図である。
【図１４】特許文献１の画像表示の切り替えを時系列で示す図である。
【符号の説明】
【０１０６】
１  プロセッサコア
２  各種周辺能動コア
３  LCD表示制御装置
４  オンチップメモリ
５  各種周辺受動コア
６  メモリコントローラ
７  アドレスバス
８  データバス
９  ＬＣＤパネル
１０  外部主記憶メモリ
１１  アドレス比較器
１２  ＬＣＤ表示制御部
１３  アドレス変換装置
１４  データ伸張器
１５  データ圧縮器
２０  画像データ領域
３０  SOC(System On Chip)
３１  画像バッファアドレス指定範囲レジスタ
３２  画像キャッシュ有無ビット
３３  圧縮有無ビット
３４  データセレクタ
３６  オンチップメモリ利用範囲レジスタ
３７  データセレクタ
３８  アドレスセレクタ
３５、３９  アドレス生成器
８１  圧縮データ入力バッファ
８２  データ解析ユニット
８３  データ再構築ユニット
８４  無圧縮データ出力バッファ
８５  データ伸張用辞書
２１６  利用可能メモリテーブル
２１７  作業メモリ
２１８  作業メモリ
２１９  作業メモリアクセスバス
２２０  画像データ領域
２５１  現在の書込・読出データ量カウンタ
２５２  メモリアクセス位置カウンタ
２５３  エントリセレクタ
２５４  有効ビット
２５５  開始アドレス
２５６  終了アドレス
２５７  アドレス計算ユニット
２５９  メモリ毎のアクセス有効信号
２６０  アクセスアドレス
２６１  アドレス設定用バス
２７０  メモリ空間
２７１  画像データ格納領域
３１７  データ解析器
３６７  画像精度変換器
【図１】
0005196239.tif 000002
【図２】
0005196239.tif 000003
【図３】
0005196239.tif 000004
【図４】
0005196239.tif 000005
【図５】
0005196239.tif 000006
【図６】
0005196239.tif 000007
【図７】
0005196239.tif 000008
【図８】
0005196239.tif 000009
【図９】
0005196239.tif 000010
【図１０】
0005196239.tif 000011
【図１１】
0005196239.tif 000012
【図１２】
0005196239.tif 000013
【図１３】
0005196239.tif 000014
【図１４】
0005196239.tif 000015