JP2011053263A - 画像処理装置、画像処理方法、画像出力システム、プログラム及び記録媒体 - Google Patents
画像処理装置、画像処理方法、画像出力システム、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP2011053263A JP2011053263A JP2009199471A JP2009199471A JP2011053263A JP 2011053263 A JP2011053263 A JP 2011053263A JP 2009199471 A JP2009199471 A JP 2009199471A JP 2009199471 A JP2009199471 A JP 2009199471A JP 2011053263 A JP2011053263 A JP 2011053263A
- Authority
- JP
- Japan
- Prior art keywords
- resolution
- image
- resolution level
- memory
- unit
- 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
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
【課題】描画オブジェクトの重なりや透過率を考慮し、少ないワークメモリー量で、且つメモリーアクセス数を低減できる画像処理装置等を提供する。
【解決手段】複数種類の解像度でオブジェクトの描画処理を行う画像処理装置は、描画する画素位置に対応した解像度レベルを記憶する解像度レベル記憶部と、前記オブジェクトの属性と、前記解像度レベル記憶部に記憶される前記オブジェクトを描画する画素位置の解像度レベルとに基づいて、解像度を異ならせて前記オブジェクトを描画する描画処理部とを含む。
【選択図】図1
【解決手段】複数種類の解像度でオブジェクトの描画処理を行う画像処理装置は、描画する画素位置に対応した解像度レベルを記憶する解像度レベル記憶部と、前記オブジェクトの属性と、前記解像度レベル記憶部に記憶される前記オブジェクトを描画する画素位置の解像度レベルとに基づいて、解像度を異ならせて前記オブジェクトを描画する描画処理部とを含む。
【選択図】図1
Description
本発明は、画像処理装置、画像処理方法、画像出力システム、プログラム及び記録媒体等に関する。
プロジェクター等の画像出力装置において、イメージ、文字、グラフィックス等の複数種類の属性の描画オブジェクト(以下、オブジェクトと略す)が混在した画像を出力する際、オブジェクト毎にラスタライズ(描画)して得られたラスターデータが用いられる。このとき、オブジェクトの属性に応じた解像度で出力することで、見た目に遜色がない出力が得られる。即ち、オブジェクトの属性を考慮したラスタライズによって、高画質な画像の描画処理を実現できる。このような描画処理に関連する技術について、従来より種々提案されている。
例えば特許文献1には、イメージ、文字、グラフィックスの各オブジェクトの属性に応じて異なる解像度でラスタライズしておき、低解像度でラスタライズしたラスターデータについては別の解像度変換処理で高解像度化し、解像度を一致させた後に合成するようにしたプリンタードライバーが開示されている。また、例えば特許文献2には、解像度が高い文字画像メモリーと解像度が低いイメージ画像メモリーに対して、イメージ画像描画データをどちらのメモリーに描画するかを動的に判断して描画するようにした印刷装置が開示されている。更に例えば特許文献3には、画面全体の画素データを毎回供給することなく、前フレームから変更された領域のみを供給することでデータ量を削減すると共に、描画コマンドを別のモジュールが取得して描画処理を行うことで、VRAMから通常RAMへの転送に要していた待ち時間を減らして転送の遅れを解消するようにした画像供給装置が開示されている。
しかしながら、特許文献1に開示された技術では、オブジェクトの重なりや透過率を考慮していないため、重なりや透過率が設定されたオブジェクトの画像を忠実に再現できないという問題がある。また、解像度毎に大量にワークメモリーが必要になると共に、画像を合成する際のメモリーアクセス数が増大するという問題がある。
また、特許文献2に開示された技術においても、オブジェクトの透過率を考慮していないため、透過率が設定されたオブジェクトの画像を忠実に再現できないという点は、特許文献1と同様である。また、解像度が異なる2つのメモリー領域を確保して各メモリー領域に描画処理を行うため、より多くのワークメモリーが必要になるという問題がある。
更に、特許文献3に開示された技術では、プロジェクター等においてより一層の高解像度化が進み、文字等のオブジェクトをより高解像度で描画する要求が高まったとき、変更された領域の画素データを送信する場合であっても、通信量が膨大となり描画処理及び転送が表示に間に合わなくなる恐れがある。
本発明は、以上のような技術的課題に鑑みてなされたものである。本発明の幾つかの態様によれば、オブジェクトの重なりや透過率を考慮し、少ないワークメモリー量で、メモリーアクセス数を低減しながらオブジェクトの描画処理を行う画像処理装置、画像処理方法、画像出力システム、プログラム及び記録媒体等を提供することができる。
(1)本発明の一態様は、複数種類の解像度でオブジェクトの描画処理を行う画像処理装置が、描画する画素位置に対応した解像度レベルを記憶する解像度レベル記憶部と、前記オブジェクトの属性と、前記解像度レベル記憶部に記憶される前記オブジェクトを描画する画素位置の解像度レベルとに基づいて、解像度を異ならせて前記オブジェクトを描画する描画処理部とを含む。
本態様によれば、描画する画素位置に対応して解像度レベルを記憶し、描画しようとするオブジェクトの属性と、解像度レベルとに基づいて、解像度を異ならせてオブジェクトを描画するようにしたので、解像度を高く描画するオブジェクトほど多くのワークメモリーを割り当てることができ、描画処理に必要なワークメモリー量を低減し、解像度を揃える処理を不要としてメモリーアクセス数を少なくできるようになる。また、オブジェクトの重なりや透過率を考慮しても、これまで以上の精度で描画することができるようになる。
(2)本発明の他の態様に係る画像処理装置では、前記オブジェクトの描画命令の属性を解析する描画命令解析部を含み、前記描画処理部は、前記オブジェクトの属性に対応した前記描画命令に基づいて、前記オブジェクトを描画する。
本態様によれば、オブジェクトの属性に対応した描画命令に基づいて、描画すべき解像度を判別するようにしたので、上記の効果に加えて、確実、且つ、簡素に、解像度を異ならせた描画処理を行うことができるようになる。
(3)本発明の他の態様に係る画像処理装置では、前記解像度レベルは、高解像度レベルであるか、又は低解像度レベルであるかを示す高解像度フラグであり、前記描画処理部は、前記オブジェクトの属性が文字であるとき、該オブジェクトを描画する画素位置に対応して記憶される前記解像度レベルにかかわらず、高解像度で前記オブジェクトの描画処理を行うと共に、前記オブジェクトの属性が文字ではないとき、該オブジェクトを描画する画素位置に対応して記憶される前記解像度レベルに対応した解像度で前記オブジェクトの描画処理を行う。
本態様によれば、上記の効果に加えて、高解像度化することでジャギーが目立たなくなるオブジェクトは解像度を高くする一方、高解像度化しても人間の目では効果を識別しにくいオブジェクトは解像度を低くして描画処理を行うことができるようになるので、画質を劣化させることなく、オブジェクトの重なりや透過率を考慮し、少ないワークメモリー量で、メモリーアクセス数を低減しながらオブジェクトの描画処理を行うことができるようになる。
(4)本発明の他の態様に係る画像処理装置では、低解像度描画領域として割り当てられる第1のメモリーと、動的に割り当て可能に構成された第2のメモリーとを含み、前記描画処理部は、低解像度で描画処理を行うときは前記第1のメモリーに前記オブジェクトの画像データを展開し、高解像度で描画処理を行うときは前記第2のメモリーに前記オブジェクトの画像データを展開する。
本態様によれば、必要に応じて第2のメモリーを割り当てるようにしたので、予め確保しておくべき記憶領域を小さくでき、ワークメモリー量のより一層の低減が可能となる。
(5)本発明の他の態様に係る画像処理装置では、前記描画処理部は、前記解像度レベル記憶部に記憶される前記画素位置の解像度レベルを基準に、前記描画命令が描画すべき解像度レベルを解析する第1の解像度レベル解析部を含み、前記第1の解像度レベル解析部によって、当該描画命令の解像度レベルが、前記解像度レベル記憶部に記憶される前記画素位置の解像度レベルより高いと判別されたとき、前記描画処理部は、前記第2のメモリーを前記高解像度描画領域として割り当て、該高解像度描画領域に前記第1のメモリー内の前記画素位置の画像データをコピーすると共に、前記画素位置に対応して前記高解像度描画領域へのポインターを設定し、前記画素位置の解像度レベルを高解像度に設定する。
本態様によれば、上記の効果に加えて、簡素な処理で高解像度描画領域を動的に割り当てることができるようになる。
(6)本発明の他の態様に係る画像処理装置では、前記描画処理部は、前記描画命令に対応して透過率が設定されているとき、該透過率に応じて算出された透過画像データを前記第2のメモリー内の前記画素位置に対応した記憶領域に展開すると共に、前記描画命令に対応して透過率が設定されていないとき、前記記憶領域に前記画像データを上書きする。
本態様によれば、透過率が設定されている場合であっても、上記の効果を維持しつつ、これまで以上の精度で描画処理を行うことができるようになる。
(7)本発明の他の態様に係る画像処理装置では、前記描画処理部は、前記解像度レベル記憶部に記憶される前記画素位置の解像度レベルを基準に、当該描画命令が描画すべき解像度レベルを解析する第2の解像度レベル解析部を含み、前記第2の解像度レベル解析部によって、当該描画命令の解像度レベルが前記解像度レベル記憶部に記憶される前記画素位置の解像度レベルより低いと判別された場合、前記描画処理部は、前記描画命令に対応して透過率が設定されているとき、該透過率に応じて算出された透過画像データを前記第2のメモリー内の前記画素位置に対応した記憶領域に展開すると共に、前記描画命令に対応して透過率が設定されていないとき、前記第1のメモリー内の前記画素位置に対応した記憶領域に前記画像データを上書きし、前記画素位置の解像度レベルを低解像度に設定する。
本態様によれば、上記の効果に加えて、簡素な処理で高解像度描画領域を開放することができ、より少ないワークメモリー内の記憶領域を有効に活用することが可能となる。
(8)本発明の他の態様に係る画像処理装置では、前記第2の解像度レベル解析部によって、当該描画命令の解像度レベルが前記解像度レベル記憶部に記憶される前記画素位置の解像度レベルと等しく、かつその解像度レベルは、第1のメモリーに対応する解像度レベルであると判別された場合、前記描画処理部は、前記描画命令に対応して透過率が設定されているとき、該透過率に応じて算出された透過画像データを前記第1のメモリー内の前記画素位置に対応した記憶領域に展開すると共に、前記描画命令に対応して透過率が設定されていないとき、前記第1のメモリー内の前記画素位置に対応した記憶領域に前記画像データを上書きする。
本態様によれば、透過率が設定されている場合であっても、上記の効果を維持しつつ、これまで以上の精度で描画処理を行うことができるようになる。
(9)本発明の他の態様に係る画像処理装置では、前記第1のメモリー内の各画素の画像データ、該各画素毎に設けられた解像度レベル、前記第2のメモリー内の全画素の画像データを含む送信画像データを生成する画像データ生成部を含む。
本態様によれば、上記の効果に加えて、同一画像内で解像度が異なる別々の記憶領域に描画された画像データを連続データとして整形し、出力することができるようになる。
(10)本発明の他の態様では、複数種類の解像度でオブジェクトの描画処理を行う画像処理方法が、描画する画素位置に対応した解像度レベルを記憶する解像度レベル記憶ステップと、前記オブジェクトの属性と、前記解像度レベル記憶部に記憶される前記オブジェクトを描画する画素位置の解像度レベルとに基づいて、解像度を異ならせて前記オブジェクトを描画する描画処理ステップとを含む。
本態様によれば、描画する画素位置に対応して解像度レベルを記憶し、描画しようとするオブジェクトの属性と、解像度レベルとに基づいて、解像度を異ならせてオブジェクトを描画するようにしたので、解像度を高く描画するオブジェクトほど多くのワークメモリーを割り当てることができ、描画処理に必要なワークメモリー量を低減し、解像度を揃える処理を不要としてメモリーアクセス数を少なくできるようになる。また、オブジェクトの重なりや透過率を考慮しても、これまで以上の精度で描画することができるようになる。
(11)本発明の他の態様に係る画像処理方法では、前記オブジェクトの描画命令の属性を解析する描画命令解析ステップを含み、前記描画処理ステップは、前記オブジェクトの属性に対応した前記描画命令に基づいて、前記オブジェクトを描画する。
本態様によれば、オブジェクトの属性に対応した描画命令に基づいて、描画すべき解像度を判別するようにしたので、上記の効果に加えて、確実、且つ、簡素に、解像度を異ならせた描画処理を行うことができるようになる。
(12)本発明の他の態様に係る画像処理方法では、前記解像度レベルは、高解像度レベルであるか、又は低解像度レベルであるかを示す高解像度フラグであり、前記描画処理ステップは、前記オブジェクトの属性が文字であるとき、該オブジェクトを描画する画素位置に対応して記憶される前記解像度レベルにかかわらず、高解像度で前記オブジェクトの描画処理を行うと共に、前記オブジェクトの属性が文字ではないとき、該オブジェクトを描画する画素位置に対応して記憶される前記解像度レベルに対応した解像度で前記オブジェクトの描画処理を行う。
本態様によれば、上記の効果に加えて、高解像度化することでジャギーが目立たなくなるオブジェクトは解像度を高くする一方、高解像度化しても人間の目では効果を識別しにくいオブジェクトは解像度を低くして描画処理を行うことができるようになるので、画質を劣化させることなく、オブジェクトの重なりや透過率を考慮し、少ないワークメモリー量で、メモリーアクセス数を低減しながらオブジェクトの描画処理を行うことができるようになる。
(13)本発明の他の態様では、画像出力システムが、上記のいずれか記載の画像処理装置と、前記画像処理装置によって描画された画像データに基づいて画像を出力する画像出力装置とを含む。
本態様によれば、オブジェクトの重なりや透過率を考慮し、少ないワークメモリー量で、メモリーアクセス数を低減しながらオブジェクトの描画処理を行う画像処理装置が適用された画像出力システムを提供できるようになる。
(14)本発明の他の態様では、画像出力システムが、上記記載の画像処理装置と、前記画像処理装置によって描画された画像データに基づいて画像を出力する画像出力装置とを含み、前記画像出力装置は、前記画像データ生成部によって生成された画像データに含まれる解像度レベルに基づいて画像データを展開する画像データ展開部と、前記画像データ展開部によって展開された画像データに基づいて画像の出力制御を行う出力制御部とを含む。
本態様によれば、オブジェクトの重なりや透過率を考慮し、少ないワークメモリー量で、メモリーアクセス数を低減しながらオブジェクトの描画処理を行う画像処理装置が適用された画像出力システムを提供できるようになる。その際、画像処理装置は、同一画像内で解像度が異なる別々の記憶領域に描画された画像データを連続データとして整形し、画像出力装置に送信することができ、複数種類の解像度の画像データに基づく画像出力を実現できるようになる。
(15)本発明の他の態様は、プログラムが、上記のいずれか記載の画像処理方法をコンピューターに実行させる。
本態様によれば、オブジェクトの重なりや透過率を考慮し、少ないワークメモリー量で、メモリーアクセス数を低減しながらオブジェクトの描画処理を行う画像処理方法を実現するプログラムを提供できるようになる。
(16)本発明の他の態様は、コンピューター読み取り可能な記録媒体が、上記記載のプログラムを記録している。
本態様によれば、オブジェクトの重なりや透過率を考慮し、少ないワークメモリー量で、メモリーアクセス数を低減しながらオブジェクトの描画処理を行う画像処理方法を実現するプログラムが記録された記録媒体を提供できるようになる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の課題を解決するための必須の構成要件であるとは限らない。
なお、以下では本発明に係る画像出力システムとして、画像表示を行う画像表示システムを例に説明するが、本発明はこれに限定されるものではない。
図1に、本発明に係る一実施形態における画像表示システムの構成例のブロック図を示す。
画像表示システム10は、画像処理装置100と、画像出力装置としての画像表示装置200とを含む。画像処理装置100と画像表示装置200とは、ネットワーク又はUSB(Universal Serial Bus)等の伝送路300を介して接続され、画像処理装置100による画像処理後の画像データが伝送路300を介して画像表示装置200に供給される。画像処理装置100の機能は、パーソナルコンピュータ(Personal Computer:PC)又は専用のハードウェア装置等により構成されるホスト装置により実現される。画像表示装置200の機能は、プロジェクター又は液晶表示装置等の表示装置により実現される。
以下では、画像表示システム10を構成する画像処理装置100と、画像表示装置200とを順番に説明する。
1. 画像処理装置
画像処理装置100は、複数種類の解像度でオブジェクトの画像データを画像メモリーに展開するRIP(Raster Image Processor)処理を行う。このとき、画像処理装置100は、オブジェクト毎に高解像度で描画(展開)すべきか否かを判別し、高解像度で描画すべきであると判別されたオブジェクトについて高解像度で画像メモリーに描画し、それ以外のオブジェクトについては低解像度で画像メモリーに描画する。そして、描画が終了した時点で、画像メモリーに保存された複数種類の解像度の画像データをマルチ解像度データである送信画像データとして画像表示装置200に出力する。このとき、文字や線画のように高解像度化することでジャギーが目立たなくなるオブジェクトは高解像度で、写真やイラスト等の高解像度化しても人間の目では効果を識別しにくいオブジェクトは低解像度で描画(展開)を行うことが望ましい。例えば、高解像度で描画して得られた高解像度ラスターデータは、低解像度で描画して得られた低解像度ラスターデータの2倍〜4倍(データ量は4倍〜16倍)程度の解像度とする。
画像処理装置100は、複数種類の解像度でオブジェクトの画像データを画像メモリーに展開するRIP(Raster Image Processor)処理を行う。このとき、画像処理装置100は、オブジェクト毎に高解像度で描画(展開)すべきか否かを判別し、高解像度で描画すべきであると判別されたオブジェクトについて高解像度で画像メモリーに描画し、それ以外のオブジェクトについては低解像度で画像メモリーに描画する。そして、描画が終了した時点で、画像メモリーに保存された複数種類の解像度の画像データをマルチ解像度データである送信画像データとして画像表示装置200に出力する。このとき、文字や線画のように高解像度化することでジャギーが目立たなくなるオブジェクトは高解像度で、写真やイラスト等の高解像度化しても人間の目では効果を識別しにくいオブジェクトは低解像度で描画(展開)を行うことが望ましい。例えば、高解像度で描画して得られた高解像度ラスターデータは、低解像度で描画して得られた低解像度ラスターデータの2倍〜4倍(データ量は4倍〜16倍)程度の解像度とする。
このため、画像処理装置100は、オブジェクト毎にページ記述言語(Page
Description Language:PDL)等で記述された描画命令を解析する。この描画命令の属性は、当該描画命令により描画するオブジェクトの属性に対応している。そして、画像処理装置100は、この描画命令が高解像度で描画すべきオブジェクトの描画を指示する命令であると判定されたときは高解像度で描画し、それ以外の描画命令は低解像度で描画する。これにより、画像処理装置100は、描画命令の解析結果に応じた解像度で描画処理を行って、画像メモリーにラスターデータを展開することができる。その後、画像処理装置100は、描画処理後の画像データを、伝送路300を通じて画像表示装置200に伝送する。ここで、描画処理とは、オブジェクトの画像データをラスタライズしてラスターデータとして画像メモリーに展開する処理をいう。なお、描画命令は、画像処理装置100の外部から入力されてもよいし、画像処理装置100の内部で生成してもよい。
Description Language:PDL)等で記述された描画命令を解析する。この描画命令の属性は、当該描画命令により描画するオブジェクトの属性に対応している。そして、画像処理装置100は、この描画命令が高解像度で描画すべきオブジェクトの描画を指示する命令であると判定されたときは高解像度で描画し、それ以外の描画命令は低解像度で描画する。これにより、画像処理装置100は、描画命令の解析結果に応じた解像度で描画処理を行って、画像メモリーにラスターデータを展開することができる。その後、画像処理装置100は、描画処理後の画像データを、伝送路300を通じて画像表示装置200に伝送する。ここで、描画処理とは、オブジェクトの画像データをラスタライズしてラスターデータとして画像メモリーに展開する処理をいう。なお、描画命令は、画像処理装置100の外部から入力されてもよいし、画像処理装置100の内部で生成してもよい。
以下では、文字属性のオブジェクトを高解像度で描画し、それ以外の属性のオブジェクトを低解像度で描画するものとするが、本発明は、これに限定されるものではない。
図1に示すように、画像処理装置100は、処理部110と、メモリー部170と、インターフェース(Interface:I/F)部180とを含み、処理部110、メモリー部170及びI/F部180はバス190を介して電気的に接続される。処理部110は、描画命令解析部120、描画処理部130、画像データ生成部150、データ符号化部160を含む。メモリー部170は、描画命令用メモリー172、標準展開用メモリー174(低解像度用メモリー、第1のメモリー)、高解像度展開用メモリー176(高解像度用メモリー、第2のメモリー)を含む。I/F部180は、データ送信部182を含む。処理部110の機能は、中央演算処理装置(Central Processing Unit:以下、CPUと略す)により実現され、バス190を介してメモリー部170の図示しないプログラムメモリーに格納されたプログラムを読み込んで、該プログラムに対応した処理を実行することでソフトウェア処理を行うことができる。メモリー部170の機能は、ランダムアクセスメモリー(Random Access Memory:以下、RAMと略す)により実現され、標準展開用メモリー174及び高解像度展開用メモリー176が画像メモリーとして機能する。本実施形態では、標準展開用メモリー174はメモリー部170に静的に割り当てられ、高解像度展開用メモリー176はメモリー部170に動的に割り当て可能に構成される。I/F部180の機能は、専用のハードウェアであるI/F回路により実現される。
描画命令解析部120は、例えば外部から入力されるPDLデータに含まれる描画命令を抽出し、該描画命令を解析して、文字を描画する命令であるか、それ以外の命令であるかを判別する。この描画命令は、Windows(登録商標)のGDI(Graphics Device Interface)描画命令、PostscriptやPDF(Portable Document Format)等のPDLデータに含まれる。
図2に、本実施形態における描画命令の説明図を示す。図2は、PDLデータに含まれる描画命令列と、各描画命令が描画するオブジェクトとを模式的に表す。
画像処理装置100の外部から入力されるPDLデータは、図2に示すように、複数の描画命令から構成されており、PDLデータの最後には、「終端命令」という特殊な命令が含まれる。「終端命令」は、PDLデータの最後であることを示す。このPDLデータを構成する各描画命令は、画像メモリーに描画すべき1つのオブジェクトに対応している。例えば、図2では、描画命令1は、写真のイメージ属性のオブジェクトOBJ1を描画する命令であり、描画命令2は、文字属性のオブジェクトOBJ2を描画する命令であり、描画命令3は、文字属性のオブジェクトOBJ3を描画する命令であり、・・・、描画命令N(Nは整数)は、イラストのイメージ属性のオブジェクトOBJNを描画する命令である。また、図2のPDLデータを構成する描画命令列のうち描画命令1のオブジェクトから順番に画像メモリーに描画される。そのため、各描画命令のオブジェクトが画像メモリー内の同じ領域に描画されるときには、原則として、後から描画される描画命令のオブジェクトのラスターデータが、既に描画されている前の描画命令のオブジェクトのラスターデータを上書きする。
図3(A)、図3(B)、図3(C)、図3(D)に、本実施形態における描画命令の一例の説明図を示す。図3(A)は、描画命令の構成例の概要を表す。図3(B)は、線画属性の描画命令の構成例の概要を表す。図3(C)は、文字属性の描画命令の構成例の概要を表す。図3(D)は、写真のイメージ属性の描画命令の構成例の概要を表す。
描画命令は、図3(A)に示すように、命令コードと、属性情報(付属情報)とを含む。命令コードは、描画するオブジェクトの種類に対応して割り当てられたコードである。属性情報は、命令コード特有の情報である。例えば、命令コードが線画の描画命令を示すコードであるとき、図3(B)に示すように、属性情報として「始点位置」、「終点位置」、「階調値」、「太さ」、「透過率」等が含まれる。また、命令コードが文字の描画命令を示すコードであるとき、図3(C)に示すように、属性情報として、「文字」、「左上位置」、「フォント」、「サイズ」、「階調値」、「透過率」等が含まれる。同様に、命令コードが写真のイメージ属性の描画命令を示すコードであるとき、図3(D)に示すように、属性情報として、「ビットマップ情報」、「左上位置」、「サイズ」、「透過率」等が含まれる。描画命令解析部120は、このような命令コード、又は命令コード及び属性情報に基づいて、描画すべきオブジェクトが文字であるか否かを判別する。
なお、説明の便宜上、図3(B)〜図3(D)の描画位置は画面全体における描画位置が特定されているものとして説明するが、図3(B)〜図3(D)の画素位置をローカル位置とし、描画する際に画面全体におけるグローバルな描画位置が特定されるようにしてもよい。
以上のようなPDLデータは、メモリー部170の描画命令用メモリー172に格納される。描画命令解析部120は、バス190を介して描画命令用メモリー172から描画命令を読み出し、該描画命令を解析する。
図1において、描画処理部130は、描画命令解析部120の解析結果に基づいて、各描画命令の属性を判別し、入力された描画命令の順番で、各描画命令が描画するオブジェクトの画像データをラスターデータとしてメモリー部170に展開(描画)していく。このとき、処理部110の描画命令解析部120は、バス190を介してメモリー部170の描画命令用メモリー172から順番に各描画命令を含むPDLデータを読み込み、描画処理部130は、描画命令解析部120の解析結果に基づいて、メモリー部170の標準展開用メモリー174又は高解像度展開用メモリー176にラスターデータを展開していく。
ここで、本実施形態における描画処理部130による描画処理について、本実施形態の比較例における描画処理と対比しながら説明する。
図4に、本比較例における描画処理の説明図を示す。図4は、図2のラスターデータのイメージにおいて、オブジェクトOBJ1と重なる文字属性のオブジェクトOBJ3の一部を拡大すると共に、その拡大部分を更に画素単位で模式的に表したものである。
図5に、本実施形態における描画処理の説明図を示す。図5は、図2のラスターデータのイメージにおいて、オブジェクトOBJ1と重なる文字属性のオブジェクトOBJ3の一部を拡大すると共に、その拡大部分を更に画素単位で模式的に表したものである。
図5に、本実施形態における描画処理の説明図を示す。図5は、図2のラスターデータのイメージにおいて、オブジェクトOBJ1と重なる文字属性のオブジェクトOBJ3の一部を拡大すると共に、その拡大部分を更に画素単位で模式的に表したものである。
図4に示す本比較例の描画処理例及び図5に示す本実施形態の描画処理例は、描画命令2及び描画命令3の文字属性のオブジェクトと、描画命令1及び描画命令Nの文字以外その属性のオブジェクトを、画像メモリーに描画した結果を示している。ただ、本比較例では、文字属性のオブジェクトOBJ3もイメージ属性のオブジェクトOBJ1も、同じ画素幅(例えば96dpi)の解像度の画像メモリーに描画される。これに対して、本実施形態では、文字属性のオブジェクトOBJ3は、画素幅がより小さい(例えば384dpi)高解像度の画像メモリーに描画され、イメージ属性のオブジェクトOBJ1は、画素幅(例えば96dpi)のより大きい低解像度の画像メモリーに描画され、本比較例と異なり、文字領域(384dpi)は写真領域(96dpi)よりも高い解像度で展開される。この高解像度の画像メモリーが、図1の高解像度展開用メモリー176であり、低解像度の画像メモリーが、図1の標準展開用メモリー174である。
本実施形態では、標準展開用メモリー174の所定の記憶領域には、解像度レベル記憶部として、オブジェクトを描画する画素位置に対応して解像度レベルが記憶される。本実施形態において、解像度レベルは、高解像度レベルであるか低解像度レベルかを示す高解像度フラグであり、当該描画命令に対応するオブジェクトの描画位置の解像度レベルを高解像度レベルとすることで、高解像度展開用メモリー176がメモリー部170に動的に割り当てられる。
図1において、画像データ生成部150は、解像度が互いに異なる標準展開用メモリー174及び高解像度展開用メモリー176に描画された画像データを整形した送信画像データを生成する。これにより、同一画像内で解像度が異なる別々の記憶領域に描画された画像データを連続データとして整形し、画像表示装置200に送信する送信画像データを用意することができる。この送信画像データは、例えば高解像度展開用メモリー176に記憶領域を確保して、格納される。
データ符号化部160は、この送信画像データを符号化する処理を行う。この処理は、伝送路300でノイズの影響を受けてもエラー検出やエラー訂正を可能とするように符号化する符号化処理と、送信画像データの冗長性を減らして伝送量を減らすデータ圧縮処理とを含む。
I/F部180が含むデータ送信部182は、データ符号化部160によって符号化されたデータを、伝送路300を介して画像表示装置200に送信する処理を行う。画像表示装置200では、伝送路300を介して受信したデータを復号化し、復号化したデータに基づいて画像表示を行う。
このように、本実施形態における画像処理装置100では、高解像度化することでジャギーが目立たなくなるオブジェクトの描画領域に対してのみ高解像度展開用メモリー176の記憶領域を割り当て、それ以外のオブジェクトの描画領域として標準展開用メモリー174の記憶領域を割り当てることで、描画処理の必要なワークメモリー量を低減し、解像度を揃える処理も不要となりメモリーアクセス数を少なくできるようになる。
次に、本実施形態における画像処理装置100の要部構成、画像処理装置100の処理例について説明する。
図6に、図1の描画処理部130の詳細な構成例のブロック図を示す。なお、描画処理部130の構成は、図6に示す構成に限定されるものではない。
描画処理部130は、高解像度描画処理部132(第1の解像度描画処理部)、低解像度描画処理部142(第2の解像度描画処理部)を含む。高解像度描画処理部132は、第1の高解像度フラグ解析部134(第1の解像度レベル解析部)、高解像度ブロック割当処理部136、第1の透過処理部138を含む。低解像度描画処理部142は、第2の高解像度フラグ解析部144(第2の解像度レベル解析部)、高解像度ブロック開放処理部146、第2の透過処理部148を含む。
ここで、低解像度の1つの画素毎に、高解像度ブロックとしての所与の高解像度ブロック(本実施形態では、4×4画素)が割り当て可能に構成されており、低解像度の各画素に対応して高解像度フラグが設定される。
高解像度描画処理部132は、描画命令が文字属性のオブジェクトの描画命令であると描画命令解析部120が判別したとき、高解像度描画処理を行う。この高解像度描画処理では、高解像度展開用メモリー176に文字属性のオブジェクトのラスターデータが展開される。より具体的には、第1の高解像度フラグ解析部134は、上記の標準展開用メモリー174の図示しない解像度レベル記憶部に記憶される、オブジェクトを描画する画素位置の解像度レベルを基準に、当該描画命令の解像度レベルを解析する。その結果、当該描画命令が描画すべき解像度レベルが、描画する画素位置の解像度レベルより高いと判別されたとき、高解像度ブロック割当処理部136が、高解像度展開用メモリー176に当該オブジェクトのラスターデータを書き込む描画領域(高解像度描画領域)として高解像度ブロックを割り当てる処理を行う。
より具体的には、高解像度ブロック割当処理部136は、高解像度展開用メモリー176に高解像度描画領域としての描画領域を高解像度ブロックとして割り当てると共に、該描画領域の全画素に標準展開用メモリー174内の当該画素位置の画素値(又は階調値、広義には画像データ)をコピーする。そして、高解像度ブロック割当処理部136は、当該描画位置に該描画領域へのポインターを設定し、解像度レベル記憶部の当該画素位置の解像度レベルを高解像度に設定する処理を行う。
第1の透過処理部138は、この解析した描画命令に対応して透過率が設定されているとき、該透過率に応じて算出された透過画像データを上記の描画領域に描画する処理を行い、この描画命令に対応して透過率が設定されていないとき、上記の描画領域にオブジェクトの画素値をそのまま上書きする処理を行う。
低解像度描画処理部142は、描画命令が文字属性以外の属性のオブジェクトの描画命令であると描画命令解析部120が判別したとき、低解像度描画処理を行う。この低解像度描画処理では、原則として、標準展開用メモリー174に文字属性以外の属性のオブジェクトのラスターデータが展開される。より具体的には、第2の高解像度フラグ解析部144は、上記の標準展開用メモリー174の図示しない解像度レベル記憶部に記憶される、オブジェクトを描画する画素位置の解像度レベルを基準に、当該描画命令の解像度レベルを解析する。その結果、当該描画命令の解像度レベルが、描画する画素位置の解像度レベルより低いと判別された場合、描画命令に対応した透過率に応じて標準展開用メモリー174に画素値を展開する。即ち、描画命令に対応して透過率が設定されているとき、第2の透過処理部148が、該透過率に応じて算出された透過画像データを高解像度展開用メモリー176に展開し、この解析した描画命令に対応して透過率が設定されていないとき、高解像度ブロック開放処理部146が、標準展開用メモリー174内の当該画素位置に対応した記憶領域に画素値をそのまま上書きし、該画素位置の解像度レベルを低解像度に設定して、高解像度描画領域として割り当てられていた領域を開放する処理を行う。
図7、図8、及び図9に、本実施形態における画像処理装置100の処理例のフロー図を示す。図7は、画像処理装置100による描画処理全体の処理例を表す。図8は、図7の高解像度描画処理の処理例を表す。図9は、図7の低解像度描画処理例を表す。例えば、図1のメモリー部170又は図示しない読み出し専用メモリー(Read Only Memory:以下、ROMと略す)に図7〜図9に示す処理手順を指示するプログラムが記憶されており、処理部110がメモリー部170又はROMから読み込んだプログラムに対応した処理を実行することで、本実施形態の描画処理をソフトウェア処理により実現できるようになっている。
以下では、高解像度描画領域の画素密度が、低解像度描画領域の縦横それぞれ4倍の画素密度を有し、1ドットがRGBの3画素により構成され、且つ、各画素の画素値が8ビットで構成されているものとして説明する。
まず、画像処理装置100においては、標準展開用メモリー174が初期化される。より具体的には、標準展開用メモリー174の画素単位に設けられる高解像度フラグはすべて「0」に初期化され、各画素の画素値が「255」である白画素に設定される(ステップS10)。
次に、描画命令解析ステップとして、描画命令解析部120が、描画命令用メモリー172から描画命令を読み込み、該描画命令を解析する(ステップS12)。当該描画命令が文字属性のオブジェクトの描画命令であると描画命令解析部120が判別したとき(ステップS14:Y)、高解像度描画処理部132が、高解像度描画処理を行う(ステップS16)。一方、ステップS14において、当該描画命令が文字属性以外の属性のオブジェクトの描画命令であると描画命令解析部120が判別したとき(ステップS14:N)、低解像度描画処理部142が、低解像度描画処理を行う(ステップS18)。
ステップS16又はステップS18の後、画像処理装置100は、未描画の命令が描画命令用メモリー172にあるか否かを判別し(ステップS20)、未描画の命令があると判別されたとき(ステップS20:Y)、ステップS12に戻り、次の描画命令の読み込みを行う。一方、ステップS20において、未描画の命令がないと判別されたとき(ステップS20:N)、画像処理装置100は、一連の処理を終了する(エンド)。
図7のステップS16の高解像度描画処理では、図8に示す一連の処理が行われる。
まず、高解像度描画処理部132は、描画命令が描画しようとしている先頭の画素を処理対象とする注目画素に設定する処理を行う(ステップS30)。次に、高解像度描画処理部132は、第1の高解像度フラグ解析部134において、注目画素が属する標準展開用メモリー174の高解像度フラグを判別する(ステップS32)。その結果、高解像度フラグが「0」に設定され、当該注目画素が低解像度の描画領域に描画されると判断されたとき(ステップS32:N)、高解像度ブロック割当処理部136は、新しい高解像度ブロックを高解像度展開用メモリー176内に確保する処理を行うと共に、標準展開用メモリー174に記録されていた画素値を該高解像度ブロック全体にコピーする(ステップS34)。そして、高解像度ブロック割当処理部136は、注目画素が属する標準展開用メモリー174の記憶領域に、新たに割り当てた高解像度ブロックの先頭アドレスをポインターとして記録する処理を行い(ステップS36)、当該注目画素が属する標準展開用メモリー174の高解像度フラグを「1」に設定する(ステップS38)。
ステップS32において、高解像度フラグが「1」に設定され、当該注目画素が高解像度の描画領域に描画されると判断されたとき(ステップS32:Y)、又はステップS38の処理が行われたとき、高解像度描画処理部132は、当該描画命令に透過率の設定の有無を判別する(ステップS40)。ステップS40において、当該描画命令に透過率が設定されていると判別されたとき(ステップS40:Y)、第1の透過処理部138は、設定された透過率に応じた透過画像データを生成し、該透過画像データを高解像度展開用メモリー176内の当該注目画素を描画すべき高解像度ブロックに上書きする(ステップS42)。ステップS40において、当該描画命令に透過率が設定されていないと判別されたとき(ステップS40:N)、高解像度描画処理部132は、高解像度展開用メモリー176内の注目画素の描画位置にそのまま上書きする(ステップS44)。
ステップS42又はステップS44に続いて、高解像度描画処理部132は、未描画の画素があるか否かを判別し(ステップS46)、未描画の画素があると判別されたとき(ステップS46:Y)、次の描画画素を注目画素に設定する処理を行い(ステップS48)、ステップS32に戻る。一方、ステップS46において、未描画の画素がないと判別されたとき(ステップS46:N)、高解像度描画処理部132は、一連の処理を終了する(エンド)。
図7のステップS18の低解像度描画処理では、図9に示す一連の処理が行われる。
まず、低解像度描画処理部142は、描画命令が描画しようとしている先頭の画素を処理対象とする注目画素に設定する処理を行う(ステップS60)。次に、低解像度描画処理部142は、第2の高解像度フラグ解析部144において、注目画素が属する標準展開用メモリー174の高解像度フラグを判別する(ステップS62)。その結果、高解像度フラグが「1」に設定され、当該注目画素が高解像度の描画領域に描画されると判断されたとき(ステップS62:Y)、低解像度描画処理部142は、当該描画命令に透過率の設定の有無を判別する(ステップS64)。
ステップS64において、当該描画命令に透過率が設定されていると判別されたとき(ステップS64:Y)、第2の透過処理部148は、高解像度ブロック内の全画素に対して、透過率に応じた透過画像データを生成し、高解像度展開用メモリー176内の高解像度ブロック内の各画素に対して該透過画像データで上書きする(ステップS66)。例えば、この処理により、文字属性のオブジェクトの色成分が透過して表示されるようになる。
一方、ステップS64において、当該描画命令に透過率が設定されていないと判別されたとき(ステップS64:N)、高解像度ブロック開放処理部146は、高解像度展開用メモリー176内の注目画素が属する高解像度ブロックのメモリー領域を開放する処理を行う(ステップS68)。そして、高解像度ブロック開放処理部146は、当該注目画素が属する標準展開用メモリー174のブロックの高解像度フラグを「0」に設定し(ステップS70)、低解像度描画処理部142は、標準展開用メモリー174内の注目画素の描画位置に画素値をそのまま上書きする(ステップS72)。
ステップS62において、高解像度フラグが「0」に設定され、当該注目画素が低解像度の描画領域に描画されると判断されたとき(ステップS62:N)、低解像度描画処理部142は、当該描画命令に透過率の設定の有無を判別する(ステップS74)。
ステップS74において、当該描画命令に透過率が設定されていると判別されたとき(ステップS74:Y)、第2の透過処理部148は、透過率を応じた透過画像データを生成し、標準展開用メモリー174を該透過画像データで上書きする(ステップS76)。一方、ステップS74において、当該描画命令に透過率が設定されていないと判別されたとき(ステップS74:N)、低解像度描画処理部142は、標準展開用メモリー174内の注目画素の描画位置に画素値をそのまま上書きする(ステップS78)。
ステップS66、ステップS72、ステップS76又はステップS78に続いて、低解像度描画処理部142は、未描画の画素があるか否かを判別し(ステップS80)、未描画の画素があると判別されたとき(ステップS80:Y)、次の描画画素を注目画素に設定する処理を行い(ステップS82)、ステップS62に戻る。一方、ステップS80において、未描画の画素がないと判別されたとき(ステップS80:N)、低解像度描画処理部142は、一連の処理を終了する(エンド)。
次に、図5を用いて、本実施形態における描画処理について具体的に説明する。
1.1 第1の処理例
第1の処理例は、図5の写真のイメージ属性のオブジェクトOBJ1に、文字属性のオブジェクトOBJ3を上書きする場合の処理例である。即ち、描画命令1によりオブジェクトOBJ1が描画された後に、描画命令3によりオブジェクトOBJ3が描画される領域の処理例である。なお、描画命令3には、透過率が設定されていないものとする。
第1の処理例は、図5の写真のイメージ属性のオブジェクトOBJ1に、文字属性のオブジェクトOBJ3を上書きする場合の処理例である。即ち、描画命令1によりオブジェクトOBJ1が描画された後に、描画命令3によりオブジェクトOBJ3が描画される領域の処理例である。なお、描画命令3には、透過率が設定されていないものとする。
図10(A)〜図10(J)に、本実施形態の第1の処理例における各状態を模式的に示す。図10(A)〜図10(J)のそれぞれは、図4の領域AR1の低解像度における4×4画素(画素ブロック)を格子状に表す。なお、図10(A)〜図10(J)のそれぞれは、各状態における画素密度を示すと共に、描画された画素値に対応した色を模様で表現している。
図11(A)、図11(B)に、図10(A)、図10(B)の各状態における標準展開用メモリー174の記憶内容を模式的に示す。なお、図11(A)、図11(B)は、画素ブロック内の座標をローカル座標で表し、各座標位置に対して高解像度フラグ及び階調値(画素値、画像データ)又はポインター領域が記憶される。
図12(A)〜図12(C)に、図10(C)〜図10(E)の各状態における標準展開用メモリー174及び高解像度展開用メモリー176の記憶内容を模式的に示す。なお、図12(A)〜図12(C)は、画素ブロック内の座標をローカル座標で表す。
図13(A)、図13(B)に、図10(F)、図10(G)の各状態における標準展開用メモリー174及び高解像度展開用メモリー176の記憶内容を模式的に示す。なお、図13(A)、図13(B)は、画素ブロック内の座標をローカル座標で表す。
図14(A)、図14(B)に、図10(H)、図10(I)の各状態における標準展開用メモリー174及び高解像度展開用メモリー176の記憶内容を模式的に示す。なお、図14(A)、図14(B)は、画素ブロック内の座標をローカル座標で表す。
図15(A)、図15(B)に、図10(J)の状態における標準展開用メモリー174及び高解像度展開用メモリー176の記憶内容を模式的に示す。なお、図15(A)、図15(B)は、画素ブロック内の座標をローカル座標で表す。
図11(A)、図11(B)に、図10(A)、図10(B)の各状態における標準展開用メモリー174の記憶内容を模式的に示す。なお、図11(A)、図11(B)は、画素ブロック内の座標をローカル座標で表し、各座標位置に対して高解像度フラグ及び階調値(画素値、画像データ)又はポインター領域が記憶される。
図12(A)〜図12(C)に、図10(C)〜図10(E)の各状態における標準展開用メモリー174及び高解像度展開用メモリー176の記憶内容を模式的に示す。なお、図12(A)〜図12(C)は、画素ブロック内の座標をローカル座標で表す。
図13(A)、図13(B)に、図10(F)、図10(G)の各状態における標準展開用メモリー174及び高解像度展開用メモリー176の記憶内容を模式的に示す。なお、図13(A)、図13(B)は、画素ブロック内の座標をローカル座標で表す。
図14(A)、図14(B)に、図10(H)、図10(I)の各状態における標準展開用メモリー174及び高解像度展開用メモリー176の記憶内容を模式的に示す。なお、図14(A)、図14(B)は、画素ブロック内の座標をローカル座標で表す。
図15(A)、図15(B)に、図10(J)の状態における標準展開用メモリー174及び高解像度展開用メモリー176の記憶内容を模式的に示す。なお、図15(A)、図15(B)は、画素ブロック内の座標をローカル座標で表す。
まず、描画命令1を読み込むのに先立って、画像処理装置100は、標準展開用メモリー174の初期化を行う(ステップS10、状態(a))。図10(A)は、標準展開用メモリー174の初期化が終了した状態であり、すべての画素に白の階調値が記録されている。このときの標準展開用メモリー174の記憶内容を、図11(A)に示す。
次に、画像処理装置100は、最初の描画命令1を読み込む(ステップS12)。この描画命令1は、写真のイメージ属性のオブジェクトの描画を指示する命令である。この描画命令は文字属性ではないため(ステップS14:N)、画像処理装置100は、低解像度描画処理部142において、描画命令が描画しようとしている先頭の画素(低解像度での座標(0,0))に注目する処理を行う(ステップS60)。
ステップS62において、標準展開用メモリー174におけるこの画素に対応した高解像度フラグは初期状態の「0」であるため(ステップS62:N)、画像処理装置100は、透過率の判定を行う(ステップS74)。この描画命令には透過率の設定はないため(ステップS74:N)、画像処理装置100は、注目画素に写真の描画命令で指定された画素値(例えば黄色(R,G,B)=(255,255,0))に対応する16進数の0xFFFF0000)を記録する(ステップS78)。ここで、記録する値を4バイトにしたのは、1回で読み出されるメモリー量との整合を取るためであり、4バイト目の値は「0x00」を代入してあるが、αチャンネル値等のRGB以外の要素や予約値を記録してもよい。
以上のような処理を画素毎に繰り返し、描画命令1(写真)の描画対象となるすべての画素に描画を行った結果(状態(b))を、図10(B)及び図11(B)に示す。
続いて、画像処理装置100は、着目する描画領域において、描画命令1に続き、描画命令3を読み込む(ステップS20:Y、ステップS12)。ここで、描画命令3は、例えば赤色((R,G,B)=(255,0,0)、16進数では「0xFF000000」)の文字のオブジェクトの描画を指定する命令であるものとする。描画命令3は、文字属性のオブジェクトOBJ3の描画を指定する命令であるため(ステップS14:Y)、画像処理装置100は、描画命令3が描画しようとしている先頭の画素(高解像度座標)を、処理対象とする注目画素に設定する(ステップS30)。
次に、注目画素が属する標準展開用メモリー174(座標(1,0))に含まれる高解像度フラグが「1」であるか否かが判別される(ステップS32)。ここで、文字属性のオブジェクトの描画命令が描画しようとしている画素の座標は高解像度(384dpi)であるが、標準展開用メモリー174の画素は低解像度(96dpi)であるため、この判別の際は、低解像度での座標を基準にすることが望ましい。低解像度での座標は、例えば高解像度での座標を固定値(例えば、4)で割ることで求められる。
ここでは、注目画素が属する標準展開用メモリー174(座標(0,0))に記録されている高解像度フラグは「0」であるため(ステップS32:N)、高解像度ブロック割当処理部136が、新しい高解像度ブロックを高解像度展開用メモリー176内に確保し、標準展開用メモリー174にこれまで記録されていた低解像度の画素値(0xFFFF0000)を高解像度ブロック全体にコピーする(ステップS34)。次に、高解像度ブロック割当処理部136は、注目画素が属する標準展開用メモリー174(座標(0,0))の階調値/ポインター領域に、新しく確保した高解像度ブロックの先頭アドレス(p0)を記録すると共に(ステップS36)、注目画素が属する標準展開用メモリー174(座標(0,0))の高解像度フラグを「1」に設定する(ステップS38、状態(c))。
その結果を、図10(C)、図12(A)に示す。図10(C)では、低解像度における画素のうち座標(0,0)が4×4の高解像度ブロックに割り当てられたことを表しており、座標(0,0)の高解像度フラグは「1」であり、階調値/ポインター領域にアドレスp0(ポインターp0)が設定される。なお、図12(A)では、アドレスp0が指す高解像度ブロックの周囲に付加した画素値に「1/4」を添えている。これは、低解像度の座標値を整数で表現した場合に高解像度ブロックは低解像度の1画素を4分割した関係を有するためである。そのため、図12(A)の高解像度ブロックの記憶領域には、上から(0,0)、(1/4,0)、(2/4,0)、・・・、(2/4,3/4)、(3/4,3/4)の順番に記録される。
続いて、第2の透過処理部148は、描画命令3の透過率の判定を行う(ステップS40)。この描画命令3には透過率の設定はないため(ステップS40:N)、高解像度描画処理部132は、注目画素位置に対応する、新しく確保した高解像度ブロックの画素(座標(0,0))に、描画命令で指定された画素値を上書きする(ステップS44、状態(d))。
その結果を、図10(D)、図12(B)に示す。図10(D)では、低解像度における画素のうち座標(0,0)における高解像度ブロックの座標(0,0)に「0xFF000000」(赤色のRGBの画素値に相当)が記録されたことを表しており、座標(0,0)の高解像度フラグは「1」であり、階調値/ポインター領域にアドレスp0が設定されている。
同様にして、高解像度ブロックにおける次の画素(座標(1/4,0))に対して、文字属性のオブジェクトOBJ3を描画する描画命令3で指定された画素値を上書きする(ステップS46:Y、ステップS32:N、ステップS34、ステップS36、ステップS38、ステップS40:N、ステップS44、状態(e))。
その結果を、図10(E)、図12(C)に示す。図10(E)では、低解像度における画素のうち座標(0,0)における高解像度ブロックの座標(1/4,0)に「0xFF000000」が記録されたことを表しており、座標(0,0)の高解像度フラグは「1」であり、階調値/ポインター領域にアドレスp0が設定されている。
次に、注目画素が属する高解像度ブロックの横方向の3画素目(座標(2/4,0))にも、同様に画素値を上書きする(状態(f))。その結果を、図10(F)、図13(A)に示す。図10(F)では、低解像度における画素のうち座標(0,0)における高解像度ブロックの座標(2/4,0)に「0xFF000000」が記録されたことを表しており、座標(0,0)の高解像度フラグは「1」であり、階調値/ポインター領域にアドレスp0が設定されている。
続いて、注目画素が属する高解像度ブロックの横方向の4画素目(座標(3/4,0))にも、同様に画素値を上書きする(状態(g))。その結果を、図10(G)、図13(B)に示す。図10(G)では、低解像度における画素のうち座標(0,0)における高解像度ブロックの座標(3/4,0)に「0xFF000000」が記録されたことを表しており、座標(0,0)の高解像度フラグは「1」であり、階調値/ポインター領域にアドレスp0が設定されている。
引き続き、画像処理装置100(高解像度描画処理部132)は、注目画素を、標準展開用メモリー174における隣の右側の画素(1,0)に移動させて、描画処理を継続する。
画像処理装置100は、注目画素が属する標準展開用メモリー174(座標(1,0))に含まれる高解像度フラグが「1」であるか否かを判別する(ステップS32)。この注目画素が属する標準展開用メモリー174に記録されている高解像度フラグは「0」であるため(ステップS32:N)、高解像度ブロック割当処理部136は、新しい高解像度ブロックを高解像度展開用メモリー176内に確保し、標準展開用メモリー174にこれまで記録されていた低解像度の画素値(0xFFFF0000)をブロック内の全画素(ブロック全体)にコピーする(ステップS34)。次に、高解像度ブロック割当処理部136は、注目画素が属する標準展開用メモリー174(座標(1,0))の階調値/ポインター領域に、新しく確保した高解像度ブロックの先頭アドレス(p1)を記録すると共に(ステップS36)、注目画素が属する標準展開用メモリー174(座標(1,0))の高解像度フラグを「1」に設定する(ステップS38、状態(h))。
その結果を、図10(H)、図14(A)に示す。図10(H)では、低解像度における画素のうちの座標(1,0)が4×4の高解像度ブロックに割り当てられたことを表しており、座標(1,0)の高解像度フラグは「1」であり、階調値/ポインター領域にアドレスp1が設定される。なお、図14(A)では、図12(A)と同様に、p1が指す高解像度ブロックの周囲に付加した画素値に「1/4」を添えている。そのため、図14(A)の高解像度ブロックの記憶領域には、上から(0,0)、(1/4,0)、(2/4,0)、・・・、(2/4,3/4)、(3/4,3/4)の順番に記録される。
続いて、第2の透過処理部148は、描画命令3の透過率の判定を行う(ステップS40)。この描画命令3には透過率の設定はないため(ステップS40:N)、高解像度描画処理部132は、注目画素位置に対応する、新しく確保した高解像度ブロックの画素(座標(0,0))に、描画命令で指定された画素値をそのまま上書きする(ステップS44、状態(i))。
その結果を、図10(I)、図14(B)に示す。図10(I)では、低解像度における画素のうち座標(1,0)における高解像度ブロックの座標(0,0)に「0xFF000000」が記録されたことを表しており、座標(0,0)の高解像度フラグは「1」であり、階調値/ポインター領域にアドレスp1が設定されている。
以上のようにして、描画命令3により全画素について描画処理を行う(状態(j))。その結果を、図10(J)、図15(A)、図15(B)に示す。図10(J)に示すように、文字属性のオブジェクトOBJ3の描画領域には高解像度展開用メモリー176において高解像度ブロックが割り当てられ、写真のイメージ属性のオブジェクトOBJ1の描画領域には標準展開用メモリーが割り当てられる。即ち、図15(A)、図15(B)に示すように、オブジェクトOBJ1の画像データは標準展開用メモリー174に記録され、オブジェクトOBJ3の画像データは、標準展開用メモリー174に設定されたポインターが指す高解像度ブロックに記録される。
以上説明したように、画像処理装置100の描画処理部130によれば、文字属性のオブジェクトの描画が行われる画素にはすべて高解像度ブロックのメモリー領域が動的に確保され、高解像度での描画が行われる。一方、文字の描画が行われない低解像度の画素はすべて低解像度での画素値が保持されるため、文字領域及びその周辺を高解像度、それ以外の領域を低解像度で表現した画素値を得ることができる。また、上記のようにブロック単位で解像度が可変となるようにメモリーを割り当てることで、高解像度展開用メモリーを画像(フレーム)全体の画素に割り当てる場合と比較して、少ないワークメモリー量でデータを生成することができる。また同時にメモリーへのアクセス数が減るため、高速に処理を行うことができるようになる。
ところで、上記のように描画処理部130によって描画され、標準展開用メモリー174及び高解像度展開用メモリー176に展開された画素値は、動的に確保するためのポインターを含んで構成されるため、いわば「つぎはぎ」状態の画像データとなる。そのため、画像データ生成部150は、低解像度の各画素の画像データ、該各画素毎に設けられた解像度レベル、該各画素に割り当てられた高解像度ブロックの全画素の画素値を含む送信画像データを生成する。従って、画像データ生成部150は、標準展開用メモリー174内の各画素の画像データ、該各画素毎に設けられた解像度レベル、高解像度展開用メモリー176内の全画素の画像データを含む送信画像データを生成する。即ち、画像データ生成部150は、ポインターを含まない連続データに整形する。この整形後の送信画像データは、高解像度展開用メモリー176内に領域を確保して、格納される。
図16に、本実施形態における画像データ生成部150の構成例のブロック図を示す。なお、画像データ生成部150の構成は、図16に示すものに限定されるものではない。
画像データ生成部150は、高解像度フラグ判定部152、データ結合部154、データ終端判定部156を含む。高解像度フラグ判定部152は、標準展開用メモリー174に記録された画素値を予め決められた座標位置の順序で読み出すときに、高解像度フラグが高解像度を示すか否かを判定する。データ結合部154は、高解像度フラグ判定部152の判定結果に基づいて、標準展開用メモリー174又は高解像度展開用メモリー176に記録された画素値を予め決められた座標位置の順序で読み出してデータ結合処理を行い、連続データを生成する。データ終端判定部156は、標準展開用メモリー174又は高解像度展開用メモリー176に記録された画素値の終端を判定する。データ結合部154は、データ終端判定部156によって終端が判定されるまでデータの結合処理を繰り返し、送信画像データを生成する。
図17に、本実施形態における送信画像データの構成例を示す。図17は、図15(A)、図15(B)に示す第1の処理例の処理後の画像データを整形して送信画像データを生成する例を表す。
送信画像データは、低解像度における座標(0,0)、(1,0)、(2,0)、(3,0)、・・・、(0,1)、・・・、(0,2)、・・・の順番で各座標における画素値を順番に連結させたデータである。このとき、高解像度フラグが「1」である画素については、ポインターにより指定される高解像度展開用メモリー176に記録される高解像度ブロック内の全画素の画素値が連結され、高解像度フラグが「0」である画素については標準展開用メモリー174に記録される画素値が連結される。この結果、図17に示すような整形後の送信画像データが生成される。
この送信画像データは、データ符号化部160において公知の符号化処理が施された後、データ送信部182により、伝送路300を介して画像表示装置200に出力される。
1.2 第2の処理例
第2の処理例は、第1の処理例において描画命令3に透過率が設定されている場合の処理例である。従って、第1の処理例における描画命令1の描画処理が終了した状態(c)まで第1の処理例と共通であるため、次に読み込まれる描画命令3が文字属性のオブジェクトOBJ3の描画を指定する命令であると判別され、新しい高解像度ブロックが割り当てられた状態から説明をする。なお、描画命令3には、透過率の設定例として30%が設定されているものとする。
第2の処理例は、第1の処理例において描画命令3に透過率が設定されている場合の処理例である。従って、第1の処理例における描画命令1の描画処理が終了した状態(c)まで第1の処理例と共通であるため、次に読み込まれる描画命令3が文字属性のオブジェクトOBJ3の描画を指定する命令であると判別され、新しい高解像度ブロックが割り当てられた状態から説明をする。なお、描画命令3には、透過率の設定例として30%が設定されているものとする。
図18に、本実施形態の第2の処理例における状態(d)の標準展開用メモリー174及び高解像度展開用メモリー176の記憶内容を模式的に示す。なお、図18は、画素ブロック内の座標をローカル座標で表す。
図19(A)、図19(B)に、本実施形態の第2の処理例における状態(j)の標準展開用メモリー174及び高解像度展開用メモリー176の記憶内容を模式的に示す。なお、図19(A)、図19(B)は、画素ブロック内の座標をローカル座標で表す。
図19(A)、図19(B)に、本実施形態の第2の処理例における状態(j)の標準展開用メモリー174及び高解像度展開用メモリー176の記憶内容を模式的に示す。なお、図19(A)、図19(B)は、画素ブロック内の座標をローカル座標で表す。
描画命令3を判別した結果、新しい高解像度ブロックが割り当てられると(ステップS34、ステップS36、ステップS38)、第1の透過処理部138は、描画命令3の透過率の判定を行う(ステップS40)。第2の処理例では、描画命令3に透過率(30%)が設定されているため(ステップS40:Y)、第1の透過処理部138は、描画する画素値を計算する。
ここで、高解像度展開用メモリー176に既に記録されている画素値は黄色(R,G,B)=(255,255,0)であり、描画しようとしている画素値は赤色(R,G,B)=(255,0,0)である。そこで、第1の透過処理部138は、透過率30%の文字を描画した場合の透過画像データの画素値は次の計算により求めることができる。
R成分:255×0.3+255×0.7=255
G成分:255×0.3+ 0×0.7=77
B成分: 0×0.3+ 0×0.7=0
R成分:255×0.3+255×0.7=255
G成分:255×0.3+ 0×0.7=77
B成分: 0×0.3+ 0×0.7=0
高解像度描画処理部132は、第1の透過処理部138によって求められた(R,G,B)=(255,77,0)=(0xFF,0x4D,0)(=0xFF4D0000)の値を高解像度ブロック内の画素(座標(0,0))に記録する(ステップS42)。
その結果を、第2の処理例における状態(d)として、図18に示す。図18では、図12(B)の第1の処理例の処理結果である高解像度ブロック内の画素(座標(0,0))に記録される「0xFF000000」に対して、「0xFF4D0000」が記録されている。
これ以降、ステップS40、ステップS42の処理における透過率を考慮した画素値を上記の式で求める点を除いて、第1の処理例と同様に処理が進められる。その結果を、第2の処理例における状態(j)として、図19(A)、図19(B)に示す。図19(A)では、図15(A)の第1の処理例の処理結果である標準展開用メモリー174の各画素に記録される「0xFF000000」に対して、「0xFF4D0000」が記録されている。図19(B)においても、図15(B)の第1の処理例の処理結果である高解像度ブロックの各画素に記録される「0xFF000000」に対して、「0xFF4D0000」が記録されている。
このように第2の処理例により描画され、標準展開用メモリー174及び高解像度展開用メモリー176に展開された画素値は、上記と同様に、画像データ生成部150によって、ポインターを含まない連続データである送信画像データに整形され、高解像度展開用メモリー176内に領域を確保して、格納される。そして、この送信画像データは、データ符号化部160において公知の符号化処理が施された後、データ送信部182により、伝送路300を介して画像表示装置200に出力される。
以上説明したように、画像処理装置100の描画処理部130によれば、第2の処理例のように、透過率や重なりが発生する描画命令が含まれる場合でも、少ないワークメモリー量、少ないメモリーアクセス数で描画処理を実現できる効果を維持したまま、全画素を高解像度で描画した結果と同じ、高い精度で描画を行うことができるようになる。
1.3 第3の処理例
第3の処理例では、第1の処理例において描画命令3により文字が描画され、高解像度ブロックが割り当てられた領域に、描画命令Mにより写真のイメージ属性のオブジェクトOBJMが上書きされる場合の処理例である。なお、描画命令Mには、透過率が設定されていないものとする。従って、第1の処理例における描画命令3の描画処理が終了した状態(j)まで第1の処理例と共通であるため、この描画命令3の描画処理を終了した状態から説明する。
第3の処理例では、第1の処理例において描画命令3により文字が描画され、高解像度ブロックが割り当てられた領域に、描画命令Mにより写真のイメージ属性のオブジェクトOBJMが上書きされる場合の処理例である。なお、描画命令Mには、透過率が設定されていないものとする。従って、第1の処理例における描画命令3の描画処理が終了した状態(j)まで第1の処理例と共通であるため、この描画命令3の描画処理を終了した状態から説明する。
図20(A)、図20(B)に、本実施形態の第3の処理例における状態(j)、状態(k)を模式的に示す。図20(A)、図20(B)のそれぞれは、図10(A)〜図10(J)と同様に、図4の領域AR1の低解像度における4×4画素(画素ブロック)を格子状に表す。ここで、状態(k)は、状態(j)から描画命令3に対応するオブジェクトの描画処理が終了した状態である。
図21(A)、図21(B)に、本実施形態の第3の処理例における状態(k)の標準展開用メモリー174及び高解像度展開用メモリー176の記憶内容を模式的に示す。なお、図21(A)、図21(B)は、画素ブロック内の座標をローカル座標で表す。
図21(A)、図21(B)に、本実施形態の第3の処理例における状態(k)の標準展開用メモリー174及び高解像度展開用メモリー176の記憶内容を模式的に示す。なお、図21(A)、図21(B)は、画素ブロック内の座標をローカル座標で表す。
図20(A)に示す描画命令3のオブジェクトOBJ3の描画領域に、黄色のオブジェクトOBJMの描画を指示する描画命令Mが画像処理装置100に読み込まれると、描画命令解析部120において、この描画命令Mは文字属性ではないと判別される(ステップS14:N)。続いて、描画処理部130の低解像度描画処理部142が、描画命令Mが描画しようとする先頭の画素に注目する処理を行う(ステップS60)。
ここで、注目画素に対応する標準展開用メモリー174の高解像度フラグは「1」であるため(ステップS62:Y)、第2の透過処理部148が、描画命令Mの透過率設定の有無の判別を行う(ステップS64)。ここで、描画命令Mに透過率は設定されておらず、描画の結果、文字の色成分は残らないと判別される(ステップS64:N)。そこで、高解像度ブロック開放処理部146は、標準展開用メモリー174の画素のうち座標(0,0)の画素に割り当てられていた高解像度ブロック(先頭アドレスp0)のメモリー領域を開放する処理を行い(ステップS68)、次に注目画素の座標(0,0)に対応する標準展開用メモリー174の高解像度フラグを「0」に設定し(ステップS70)、注目画素に描画命令Mが指定する画素値(0xFFFF0000)を記録する(ステップS72)。
その結果を、第3の処理例における状態(k)として、図20(B)、図21(A)、図21(B)に示す。図20(B)では、標準展開用メモリー174の座標(0,0)における画素の記憶領域に、黄色の画素値が設定される。そして、図21(A)、図21(B)に示すように、図15(A)の状態(j)との対比において、標準展開用メモリー174の座標(0,0)に割り当てられた高解像度ブロックが開放され、画素値「0xFFFF0000」が記録されている。
なお、第3の処理例において、描画命令Mに透過率が設定されていた場合には、描画命令3によるオブジェクトOBJ3の画素の色成分が残ることになるため、高解像度ブロックのメモリー領域は開放せず、高解像度ブロックの各画素に対して透過率を考慮した画素値を計算し、各画素に画素値を上書きする処理を行うことになる。
このように第3の処理例により描画され、標準展開用メモリー174及び高解像度展開用メモリー176に展開された画素値は、上記と同様に、画像データ生成部150によって、ポインターを含まない連続データである送信画像データに整形され、高解像度展開用メモリー176内に領域を確保して、格納される。そして、この送信画像データは、データ符号化部160において公知の符号化処理が施された後、データ送信部182により、伝送路300を介して画像表示装置200に出力される。
以上説明したように、画像処理装置100の描画処理部130によれば、第3の処理例のように、高解像度での描画が不要な写真領域の描画命令が、既に描画された文字を含む高解像度の画素を上書きする場合には、高解像度ブロックのメモリー領域を開放し、低解像度の画像データのみが残るように描画される。これにより、画像表示装置200に対して伝送するデータ量を抑えることができる。また、必要以上に高解像度展開用メモリーを確保しないため、従来の高解像度で描画する処理と比較し、少ないワークメモリー量で、処理を実現することができるようになる。
このように、本実施形態における画像処理装置100によれば、同一の画像内で、文字属性のオブジェクトについては高解像度で描画し、それ以外の属性のオブジェクトについては低解像度で描画することができるので、より少ないワークメモリー量で、より少ないメモリーアクセス数での描画処理を実現できるようになる。しかも、写真等の解像性があまり重視されない領域では描画処理の負荷を軽減でき、高速な描画処理を行うことができるようになる。
2. 画像表示装置
上記のように生成された画像データは、送信画像データに整形された後、伝送路300を介して画像表示装置200に供給される。画像表示装置200は、受信した送信画像データを復号化して展開し、展開後の画像データに基づいて表示制御を行う。
上記のように生成された画像データは、送信画像データに整形された後、伝送路300を介して画像表示装置200に供給される。画像表示装置200は、受信した送信画像データを復号化して展開し、展開後の画像データに基づいて表示制御を行う。
画像表示装置200は、データ受信部210、データ復号化部220、画像データ展開部230、表示制御部250(出力制御部)、表示部260を含む。データ受信部210は、画像処理装置100から伝送路300を介して供給された送信画像データを受信する処理を行う。データ復号化部220は、データ受信部210で受信処理されたデータに対して、伝送路300で発生したエラーを検出、訂正する処理、及び圧縮されたデータを展開する処理を行う。画像データ展開部230は、データ復号化部220によって復号化されたデータを展開する処理を行い、複数種類の解像度の画像データに展開する。
図22に、本実施形態における画像データ展開部230の構成例のブロック図を示す。なお、画像データ展開部230の構成は、図22に示す構成に限定されるものではない。
画像データ展開部230は、処理部232と、メモリー部240とを含み、処理部232とメモリー部240はバス246を介して電気的に接続される。処理部232は、高解像度フラグ判定部234、解像度変換部236、データ終端判定部238を含む。メモリー部240は、復号化データ記録用メモリー242、データ展開用メモリー244を含む。処理部232の機能は、CPUにより実現され、バス246を介してメモリー部240の図示しないプログラムメモリーに格納されたプログラムを読み込んで、該プログラムに対応した処理を実行することでソフトウェア処理を行うことができる。メモリー部240の機能は、RAMにより実現される。
データ復号化部220によって復号化されたデータは、一旦、復号化データ記録用メモリー242に格納される。処理部232は、復号化データ記録用メモリー242に格納された復号化データを読み出し、高解像度フラグ判定部234は、データ復号化部220によって復号化されたデータに含まれる高解像度フラグが高解像度を指定するか、又は低解像度を指定するかを判定する。解像度変換部236は、高解像度フラグ判定部234の判定結果に基づいて、復号化されたデータの解像度を変換する処理を行い、処理後の結果をデータ展開用メモリー244に格納していく。データ終端判定部238は、データ復号化部220によって復号化されたデータの終端部を判定する。解像度変換部236は、データ終端判定部238によって終端部が判定されるまで、解像度変換処理を行う。
図23に、図22の画像データ展開部230の処理例のフロー図を示す。例えば、図22のメモリー部240又は図示しないROMに図23に示す処理手順を指示するプログラムが記憶されており、画像データ展開部230がメモリー部240又はROMから読み込んだプログラムに対応した処理を実行することで、図23の処理をソフトウェア処理により実現できるようになっている。
まず、画像データ展開部230は、データ展開用メモリー244の初期化を行う(ステップS100)。続いて、画像データ展開部230は、復号化済みの復号化データを読み込み、復号化データ記録用メモリー242に記録する処理を行う(ステップS102)。その後、画像データ展開部230は、処理部232において、復号化データの先頭アドレスに注目する処理を行い(ステップS104)、高解像度フラグ判定部234において、注目アドレスの値(1バイト)が高解像度を示す値(「1」)であるか否かを判定する(ステップS106)。
ステップS106において、注目アドレスの値が高解像度を示す値であると判定されたとき(ステップS106:Y)、解像度変換部236は、注目アドレスの次の復号化データを注目する処理を行い(ステップS108)、注目アドレスから始まる16個の画素値(4バイト分)を高解像度の画像データとしてデータ展開用メモリー244の16画素に記録し(ステップS110)、注目アドレスを16×4バイト先に進める処理を行う(ステップS112)。
一方、ステップS106において、高解像度を示す値ではないと判定されたとき(ステップS106:N)、解像度変換部236は、注目アドレスの次のアドレスの復号化データに注目する処理を行い(ステップS114)、注目アドレスに記録されている画素値(4バイト分)を低解像度の画像データとしてデータ展開用メモリー244の16画素に記録し(ステップS116)、注目アドレスを4バイト先に進める処理を行う(ステップS118)。これにより、低解像度の画像データが、高解像度の画像データと画素密度が等しくなるように画素を定数倍に解像度変換される。
続いて、データ終端判定部238は、復号化データの終端部を判定し(ステップS120)、終端部が判定されないとき(ステップS120:N)、ステップS106に戻り処理を継続する。一方、ステップS120において、終端部が判定されたとき(ステップS120:Y)、画像データ展開部230は、データ展開用メモリー244に展開された展開後のデータを表示制御部250に出力し(ステップS122)、一連の処理を終了する(エンド)。
以上のように、画像データ展開部230は、高解像度に揃えて展開された画像データを、表示制御部250に出力することができる。表示制御部250は、画像データ展開部230からの画像データに基づいて、表示部260の表示制御を行う。表示部260は、例えば、光源と、色成分毎に設けられたライトバルブとを有し、表示制御部250が、画像データに基づいて色成分毎に光源からの光を変調することで、画像を表示させる。
以上説明したように、本実施形態によれば、文字を含む領域に対しては高解像度での表示ができ、写真など解像性があまり重視されない領域に対しては、描画処理の負荷を減らし、高速な描画処理を行うことができる。また、伝送するデータ量も減少し、ネットワークやUSB等の伝送路を利用した場合でも高解像度での表示を行うことができる。
3. 変形例
3.1 第1の変形例
本実施形態では、画像全体の1フレーム分の画像全体の描画が終了した時点、1フレーム分の画像データを送信することを前提に説明したが、本実施形態は、これに限定されるものではない。本実施形態の第1の変形例では、伝送路300を介して画像データを画像表示装置200に出力する際、画像全体を複数のバンドに分割し、描画処理後のラスターデータを、一旦バンドメモリーに蓄積しておき、バンド単位でデータを送信するようにしてもよい。
3.1 第1の変形例
本実施形態では、画像全体の1フレーム分の画像全体の描画が終了した時点、1フレーム分の画像データを送信することを前提に説明したが、本実施形態は、これに限定されるものではない。本実施形態の第1の変形例では、伝送路300を介して画像データを画像表示装置200に出力する際、画像全体を複数のバンドに分割し、描画処理後のラスターデータを、一旦バンドメモリーに蓄積しておき、バンド単位でデータを送信するようにしてもよい。
図24に、本実施形態の第1の変形例の説明図を示す。図24は、画面全体を分割したバンドと、描画命令との関係の一例を表す。
第1の変形例においては、描画命令解析部が、入力された描画命令を予めすべて解析した後、画面全体を分割した各バンドとこれに対応する描画命令との対応関係を求めて記録する処理を行う。より具体的には、第1の変形例における描画命令解析部が、複数の描画命令を含むPDLデータに含まれる各描画命令をすべて解析し、単位バンド毎に描画命令を対応付け、その対応付け情報を描画命令用メモリーに格納する。PDLデータに含まれる各描画命令には、図3(A)〜図3(D)で説明したように、描画位置とそのオブジェクトの大きさに関する情報(写真の描画命令には描画後の大きさ、文字の描画命令にはフォントサイズ等)が指定されている。描画命令解析部は、これらの情報に基づいて、各描画命令が画像内のどの領域に描画されるかが分かるため、例えば図24に示すように、各単位バンドのラスターデータを作成するために、どの描画命令を展開する必要があるかの対応付けを行うことができる。
図25(A)、図25(B)に、第1の処理例における描画命令解析部の処理例の説明図を示す。図25(A)は、第1の処理例において各描画命令により描画されるオブジェクトと、これらの描画命令の描画領域において設定されたバンドを表す。図25(B)は、図25(A)の各バンドと描画命令との対応付けの一例を表す。なお、図25(A)、図25(B)において、図2と同一部分には同一符号を付し、適宜説明を省略する。
PDLデータに含まれる描画命令列の各描画命令によって、描画領域に描画された結果ら得られたラスターデータは、図25(A)に示すようになる。このとき、画面全体を分割した複数のバンドのうち、隣接するバンドに跨って各オブジェクトが描画される。例えば、単位バンド2には、描画命令2と描画命令4のオブジェクトが描画される。そのため、描画命令解析部は、単位バンド2を、描画命令2と描画命令4に対応付ける。以下同様に、各バンド毎に、描画命令の対応付けを行い、図25(B)に示すように対応付けることができるようになる。
このように対応付けが行われると、第1の変形例における描画処理部は、各バンドに影響がある描画命令のみを用いて、標準展開用メモリー又は高解像度展開用メモリーに記録する処理を行う。
このような第1の変形例によれば、画面全体のラスターデータをメモリーに保存する必要がなくメモリー容量を大幅に削減できるようになる。また、画面全体を描画する前に画像表示装置に送信することができ、画像表示装置側の処理を早く開始することができる。
3.2 第2の変形例
本実施形態又はその第1の変形例では、画像処理装置が、画像表示装置に対して画像データを供給する例を説明したが、これに限定されるものではない。本実施形態の第2の変形例では、画像処理装置が、画像を印刷する装置に対して画像データを供給する。
本実施形態又はその第1の変形例では、画像処理装置が、画像表示装置に対して画像データを供給する例を説明したが、これに限定されるものではない。本実施形態の第2の変形例では、画像処理装置が、画像を印刷する装置に対して画像データを供給する。
図26に、本実施形態の第2の変形例における画像印刷システムの構成例のブロック図を示す。図26において、図1と同一部分には同一符号を付し、適宜説明を省略する。
画像出力システムとしての画像印刷システム400は、画像処理装置100と、画像印刷装置500(画像出力装置)とを含み、画像処理装置100による画像処理後の画像データが伝送路300を介して画像印刷装置500に供給される。図1の画像表示システム10と異なる点は、画像表示装置200が画像印刷装置500に置き換えられている点である。画像印刷装置500は、データ受信部510、データ復号化部520、画像データ展開部530、印刷制御部550(出力制御部)、印刷部560を含む。データ受信部510は、データ受信部210と同様の機能を有する。データ復号化部520は、データ復号化部220と同様の機能を有する。画像データ展開部530は、画像データ展開部230と同様の機能を有する。印刷制御部550は、表示制御部250と同様に、画像データ展開部530からの画像データに基づいて、印刷部560の印刷制御を行う。印刷部560は、印刷制御部550からの制御に基づいて画像出力を行う。その他の点は、画像表示システム10と同様であるため、詳細な説明を省略する。
このような第2の変形例によれば、画像印刷装置においても、画像表示装置と同様の効果を得ることができるようになる。
3.3 第3の変形例
本実施形態、その第1の変形例又は第2の変形例では、オブジェクト毎の重なりを、100%の上書き、或いは透過率制御により描画する例を説明したが、これに限定されるものではない。例えば、Raster Operation(以下、ROPと略す)と呼ばれる、マスクパターンを用いて擬似的に重なりを表現する描画方法に対しても本実施形態、その第1の変形例又は第2の変形例を適用することができる。この場合、高解像度での画素密度に合わせて生成されたマスクを用いることで、ROP処理を実現することができるようになる。
本実施形態、その第1の変形例又は第2の変形例では、オブジェクト毎の重なりを、100%の上書き、或いは透過率制御により描画する例を説明したが、これに限定されるものではない。例えば、Raster Operation(以下、ROPと略す)と呼ばれる、マスクパターンを用いて擬似的に重なりを表現する描画方法に対しても本実施形態、その第1の変形例又は第2の変形例を適用することができる。この場合、高解像度での画素密度に合わせて生成されたマスクを用いることで、ROP処理を実現することができるようになる。
3.4 第4の変形例
本実施形態、その第1の変形例、第2の変形例又は第3の変形例では、画像全体、又はバンド毎に画像データを画像表示装置又は画像印刷装置に送信する例について説明したが、これに限定されるものではない。例えば、画像全体の中で、変更が発生した領域(例えば矩形の差分画像)のみを送信することで伝送データ量を削減するようにしてもよい。このように差分画像を送信する場合、差分画像データを上記の方法で複数種類の解像度で構成されたデータとし、画像全体の中での、差分画像の位置と差分画像のサイズを示す情報を付加しておく。画像表示装置又は画像出力装置では、1つ前のフレームとして受信した画像をベースとして、指定された位置、及び領域に、受信した差分画像データを上書き展開することで、所望の画像を得ることができるようになる。
本実施形態、その第1の変形例、第2の変形例又は第3の変形例では、画像全体、又はバンド毎に画像データを画像表示装置又は画像印刷装置に送信する例について説明したが、これに限定されるものではない。例えば、画像全体の中で、変更が発生した領域(例えば矩形の差分画像)のみを送信することで伝送データ量を削減するようにしてもよい。このように差分画像を送信する場合、差分画像データを上記の方法で複数種類の解像度で構成されたデータとし、画像全体の中での、差分画像の位置と差分画像のサイズを示す情報を付加しておく。画像表示装置又は画像出力装置では、1つ前のフレームとして受信した画像をベースとして、指定された位置、及び領域に、受信した差分画像データを上書き展開することで、所望の画像を得ることができるようになる。
3.5 第5の変形例
本実施形態、第1の変形例、第2の変形例、第3の変形例又は第4の変形例では、文字以外の属性についてはすべて低解像度で展開する例を説明したが、これに限定されるものではない。表示対象となるアプリケーション画面に含まれる描画命令には、文字、画像以外にも、線画を表現するベクトルデータ形式の命令が含まれる場合があり、文字属性に加えて線画属性についても、高解像度で描画するようにしてもよい。
本実施形態、第1の変形例、第2の変形例、第3の変形例又は第4の変形例では、文字以外の属性についてはすべて低解像度で展開する例を説明したが、これに限定されるものではない。表示対象となるアプリケーション画面に含まれる描画命令には、文字、画像以外にも、線画を表現するベクトルデータ形式の命令が含まれる場合があり、文字属性に加えて線画属性についても、高解像度で描画するようにしてもよい。
以上説明したように、本実施形態又はその変形例のように処理することで、文字やその他の属性に応じて異なる解像度で構成された画像を生成する処理を、少ないワークメモリー量、少ないメモリーアクセス数で実現できるようになる。また、透過率や重なりが発生する描画命令が含まれる場合でも、上記の効果を維持しつつ、より一層の精度で描画を行うことができるようになる。更に、ネットワークプロジェクターのように差分画像を送受信するシステムでも、異なる解像度で構成された差分画像を送受信することで、高品質な画像表示を少ない通信量で実現することができる効果が得られる。
以上、本発明に係る画像処理装置、画像処理方法、画像出力システム、及びプログラム等を上記の実施形態又はその変形例に基づいて説明したが、本発明は上記の実施形態又はその変形例に限定されるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
(1)本実施形態又はその変形例においては、文字属性の描画命令は高解像度での描画を行うためのベクトル情報(始点、終点、及びその間を結ぶ直線又は曲線情報)を、高解像度描画に必要な、十分に高い精度で持っていると仮定しているが、ベクトル情報の始点、終点の情報は低解像度での座標に対応した精度であってもよい。その場合でも、始点、終点間を結ぶ直線又は曲線は高解像度でエッジを描画できるため、すべての画素を低解像度で描画したときよりも、滑らかに表現することができる。
(2)本実施形態又はその変形例において、解像度を2種類である例を説明したが、本発明は、これに限定されるものではない。例えば、3種類以上の解像度で描画処理を行う場合にも、本発明を適用してもよい。
(3)本実施形態又はその変形例において、本発明を、画像処理装置、画像処理方法、画像出力システム、及びプログラム等として説明したが、本発明はこれに限定されるものではない。例えば、上記の画像処理方法の処理手順が記述されたプログラムが記録されたコンピューター読取り可能な記録媒体であってもよい。
10…画像表示システム、 100…画像処理装置、 110,232…処理部、
120…描画命令解析部、 130…描画処理部、 132…高解像度描画処理部、
134…第1の高解像度フラグ解析部、 136…高解像度ブロック割当処理部、
138…第1の透過処理部、 142…低解像度描画処理部、
144…第2の高解像度フラグ解析部、 146…高解像度ブロック開放処理部、
148…第2の透過処理部、 150…画像データ生成部、
152,234…高解像度フラグ判定部、 154…データ結合部、
156,238…データ終端判定部、 160…データ符号化部、
170,240…メモリー部、 172…描画命令用メモリー、
174…標準展開用メモリー、 176…高解像度展開用メモリー、
180…I/F部、 182…データ送信部、 190,246…バス、
200…画像表示装置、 210,510…データ受信部、
220,520…データ復号化部、 230,530…画像データ展開部、
236…解像度変換部、 242…復号化データ記録用メモリー、
244…データ展開用メモリー、 250…表示制御部、 260…表示部、
500…画像印刷装置、 550…印刷制御部、 560…印刷部
120…描画命令解析部、 130…描画処理部、 132…高解像度描画処理部、
134…第1の高解像度フラグ解析部、 136…高解像度ブロック割当処理部、
138…第1の透過処理部、 142…低解像度描画処理部、
144…第2の高解像度フラグ解析部、 146…高解像度ブロック開放処理部、
148…第2の透過処理部、 150…画像データ生成部、
152,234…高解像度フラグ判定部、 154…データ結合部、
156,238…データ終端判定部、 160…データ符号化部、
170,240…メモリー部、 172…描画命令用メモリー、
174…標準展開用メモリー、 176…高解像度展開用メモリー、
180…I/F部、 182…データ送信部、 190,246…バス、
200…画像表示装置、 210,510…データ受信部、
220,520…データ復号化部、 230,530…画像データ展開部、
236…解像度変換部、 242…復号化データ記録用メモリー、
244…データ展開用メモリー、 250…表示制御部、 260…表示部、
500…画像印刷装置、 550…印刷制御部、 560…印刷部
Claims (16)
- 複数種類の解像度でオブジェクトの描画処理を行う画像処理装置であって、
描画する画素位置に対応した解像度レベルを記憶する解像度レベル記憶部と、
前記オブジェクトの属性と、前記解像度レベル記憶部に記憶される前記オブジェクトを描画する画素位置の解像度レベルとに基づいて、解像度を異ならせて前記オブジェクトを描画する描画処理部とを含むことを特徴とする画像処理装置。 - 請求項1において、
前記オブジェクトの描画命令の属性を解析する描画命令解析部を含み、
前記描画処理部は、
前記オブジェクトの属性に対応した前記描画命令に基づいて、前記オブジェクトを描画することを特徴とする画像処理装置。 - 請求項1又は2において、
前記解像度レベルは、
高解像度レベルであるか、又は低解像度レベルであるかを示す高解像度フラグであり、
前記描画処理部は、
前記オブジェクトの属性が文字であるとき、該オブジェクトを描画する画素位置に対応して記憶される前記解像度レベルにかかわらず、高解像度で前記オブジェクトの描画処理を行うと共に、
前記オブジェクトの属性が文字ではないとき、該オブジェクトを描画する画素位置に対応して記憶される前記解像度レベルに対応した解像度で前記オブジェクトの描画処理を行うことを特徴とする画像処理装置。 - 請求項3において、
低解像度描画領域として割り当てられる第1のメモリーと、
動的に割り当て可能に構成された第2のメモリーとを含み、
前記描画処理部は、
低解像度で描画処理を行うときは前記第1のメモリーに前記オブジェクトの画像データを展開し、高解像度で描画処理を行うときは前記第2のメモリーに前記オブジェクトの画像データを展開することを特徴とする画像処理装置。 - 請求項4において、
前記描画処理部は、
前記解像度レベル記憶部に記憶される前記画素位置の解像度レベルを基準に、前記描画命令の解像度レベルを解析する第1の解像度レベル解析部を含み、
前記第1の解像度レベル解析部によって、当該描画命令の解像度レベルが、前記解像度レベル記憶部に記憶される前記画素位置の解像度レベルより高いと判別されたとき、
前記描画処理部は、前記第2のメモリーを前記高解像度描画領域として割り当て、該高解像度描画領域に前記第1のメモリー内の前記画素位置の画像データをコピーすると共に、前記画素位置に対応して前記高解像度描画領域へのポインターを設定し、前記画素位置の解像度レベルを高解像度レベルに設定することを特徴とする画像処理装置。 - 請求項5において、
前記描画処理部は、
前記描画命令に対応して透過率が設定されているとき、該透過率に応じて算出された透過画像データを前記第2のメモリー内の前記画素位置に対応した記憶領域に展開すると共に、
前記描画命令に対応して透過率が設定されていないとき、前記記憶領域に前記画像データを上書きすることを特徴とする画像処理装置。 - 請求項5又は6において、
前記描画処理部は、
前記解像度レベル記憶部に記憶される前記画素位置の解像度レベルを基準に、当該描画命令の解像度レベルを解析する第2の解像度レベル解析部を含み、
前記第2の解像度レベル解析部によって、当該描画命令の解像度レベルが前記解像度レベル記憶部に記憶される前記画素位置の解像度レベルより低いと判別された場合、
前記描画処理部は、
前記描画命令に対応して透過率が設定されているとき、該透過率に応じて算出された透過画像データを前記第2のメモリー内の前記画素位置に対応した記憶領域に展開すると共に、
前記描画命令に対応して透過率が設定されていないとき、前記第1のメモリー内の前記画素位置に対応した記憶領域に前記画像データを上書きし、前記画素位置の解像度レベルを低解像度レベルに設定することを特徴とする画像処理装置。 - 請求項7において、
前記第2の解像度レベル解析部によって、当該描画命令の解像度レベルが前記解像度レベル記憶部に記憶される前記画素位置の解像度レベルと等しく、かつその解像度レベルは、第1のメモリーに対応する解像度レベルであると判別された場合、
前記描画処理部は、
前記描画命令に対応して透過率が設定されているとき、該透過率に応じて算出された透過画像データを前記第1のメモリー内の前記画素位置に対応した記憶領域に展開すると共に、
前記描画命令に対応して透過率が設定されていないとき、前記第1のメモリー内の前記画素位置に対応した記憶領域に前記画像データを上書きすることを特徴とする画像処理装置。 - 請求項4乃至8のいずれかにおいて、
前記第1のメモリー内の各画素の画像データ、該各画素毎に設けられた解像度レベル、前記第2のメモリー内の全画素の画像データを含む送信画像データを生成する画像データ生成部を含むことを特徴とする画像処理装置。 - 複数種類の解像度でオブジェクトの描画処理を行う画像処理方法であって、
描画する画素位置に対応した解像度レベルを記憶する解像度レベル記憶ステップと、
前記オブジェクトの属性と、前記解像度レベル記憶部に記憶される前記オブジェクトを描画する画素位置の解像度レベルとに基づいて、解像度を異ならせて前記オブジェクトを描画する描画処理ステップとを含むことを特徴とする画像処理方法。 - 請求項11において、
前記オブジェクトの描画命令の属性を解析する描画命令解析ステップを含み、
前記描画処理ステップは、
前記オブジェクトの属性に対応した前記描画命令に基づいて、前記オブジェクトを描画することを特徴とする画像処理方法。 - 請求項11又は12において、
前記解像度レベルは、
高解像度レベルであるか、又は低解像度レベルであるかを示す高解像度フラグであり、
前記描画処理ステップは、
前記オブジェクトの属性が文字であるとき、該オブジェクトを描画する画素位置に対応して記憶される前記解像度レベルにかかわらず、高解像度で前記オブジェクトの描画処理を行うと共に、
前記オブジェクトの属性が文字ではないとき、該オブジェクトを描画する画素位置に対応して記憶される前記解像度レベルに対応した解像度で前記オブジェクトの描画処理を行うことを特徴とする画像処理方法。 - 請求項1乃至9のいずれか記載の画像処理装置と、
前記画像処理装置によって描画された画像データに基づいて画像を出力する画像出力装置とを含むことを特徴とする画像出力システム。 - 請求項9記載の画像処理装置と、
前記画像処理装置によって描画された画像データに基づいて画像を出力する画像出力装置とを含み、
前記画像出力装置は、
前記画像データ生成部によって生成された画像データに含まれる解像度レベルに基づいて画像データを展開する画像データ展開部と、
前記画像データ展開部によって展開された画像データに基づいて画像の出力制御を行う出力制御部とを含むことを特徴とする画像出力システム。 - 請求項10乃至12のいずれか記載の画像処理方法をコンピューターに実行させることを特徴とするプログラム。
- 請求項15記載のプログラムを記録したことを特徴とするコンピューター読取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009199471A JP2011053263A (ja) | 2009-08-31 | 2009-08-31 | 画像処理装置、画像処理方法、画像出力システム、プログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009199471A JP2011053263A (ja) | 2009-08-31 | 2009-08-31 | 画像処理装置、画像処理方法、画像出力システム、プログラム及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011053263A true JP2011053263A (ja) | 2011-03-17 |
Family
ID=43942385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009199471A Withdrawn JP2011053263A (ja) | 2009-08-31 | 2009-08-31 | 画像処理装置、画像処理方法、画像出力システム、プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011053263A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013047747A (ja) * | 2011-08-29 | 2013-03-07 | Daito Giken:Kk | 遊技台 |
JP2015049687A (ja) * | 2013-08-30 | 2015-03-16 | 富士通セミコンダクター株式会社 | 画像処理方法、および画像処理装置 |
WO2019066182A1 (ko) * | 2017-09-29 | 2019-04-04 | 삼성전자(주) | 디스플레이장치 및 그 제어방법 |
-
2009
- 2009-08-31 JP JP2009199471A patent/JP2011053263A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013047747A (ja) * | 2011-08-29 | 2013-03-07 | Daito Giken:Kk | 遊技台 |
JP2015049687A (ja) * | 2013-08-30 | 2015-03-16 | 富士通セミコンダクター株式会社 | 画像処理方法、および画像処理装置 |
WO2019066182A1 (ko) * | 2017-09-29 | 2019-04-04 | 삼성전자(주) | 디스플레이장치 및 그 제어방법 |
US11188333B2 (en) | 2017-09-29 | 2021-11-30 | Samsung Electronics Co., Ltd. | Display device and control method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5594204B2 (ja) | 画像処理システム | |
US10762401B2 (en) | Image processing apparatus controlling the order of storing decompressed data, and method thereof | |
US20130188200A1 (en) | Image Forming Apparatus Capable of Displaying Print Preview on Screen | |
JP2008117379A (ja) | エンコードされたラスタ文書を生成するシステム、方法およびコンピュータプログラム | |
JP4250470B2 (ja) | 情報処理装置及び情報処理方法及び印刷制御プログラム | |
JP2011053263A (ja) | 画像処理装置、画像処理方法、画像出力システム、プログラム及び記録媒体 | |
JP4709317B2 (ja) | 情報処理装置及び情報処理方法及び印刷制御プログラム | |
JP4461361B2 (ja) | 描画処理方法およびプログラム並びに描画命令出力装置および画像形成装置 | |
JP2007122188A (ja) | 画像形成装置及び画像処理方法、並びにプログラム | |
US10192282B2 (en) | Information processing device, image processing apparatus, and information processing method for high-speed translucency calculation | |
JP4131205B2 (ja) | 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム | |
JPH11203071A (ja) | 画像処理装置 | |
JP6492895B2 (ja) | 印刷データ処理装置及びプログラム | |
JP2001169120A (ja) | 画像処理装置及びその方法、及び画像処理システム | |
JP4400709B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2004334533A (ja) | 画像処理装置および画像処理方法 | |
JP2005073025A (ja) | 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム | |
JP2006146844A (ja) | ドライバプログラム及び画像形成装置 | |
JP2002024840A (ja) | 描画処理装置 | |
JP2009066926A (ja) | 画像処理装置及び画像形成システム | |
JP4325339B2 (ja) | 印刷システム、ホストコンピュータ及びプリンタドライバ | |
JPH11191055A (ja) | 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
US10755150B2 (en) | Image processing apparatus that performs pixel synthesis processing and image processing method | |
JP2006264257A (ja) | バンド単位で画像処理を行う画像処理装置 | |
JP6155604B2 (ja) | 画像処理装置および画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20121106 |