JP2007086432A - 表示制御装置、および表示制御方法 - Google Patents

表示制御装置、および表示制御方法 Download PDF

Info

Publication number
JP2007086432A
JP2007086432A JP2005275340A JP2005275340A JP2007086432A JP 2007086432 A JP2007086432 A JP 2007086432A JP 2005275340 A JP2005275340 A JP 2005275340A JP 2005275340 A JP2005275340 A JP 2005275340A JP 2007086432 A JP2007086432 A JP 2007086432A
Authority
JP
Japan
Prior art keywords
image data
image
holding
image processing
display
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.)
Pending
Application number
JP2005275340A
Other languages
English (en)
Inventor
Shinji Inamoto
慎司 稲本
Hiroaki Chokai
洋章 鳥海
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2005275340A priority Critical patent/JP2007086432A/ja
Priority to US11/519,881 priority patent/US8284213B2/en
Priority to TW095134668A priority patent/TWI344107B/zh
Priority to EP06019685A priority patent/EP1768099A3/en
Priority to KR1020060091673A priority patent/KR20070033913A/ko
Priority to CNB2006101397324A priority patent/CN100505037C/zh
Publication of JP2007086432A publication Critical patent/JP2007086432A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/393Enlarging or reducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0492Change of orientation of the displayed image, e.g. upside-down, mirrored
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/122Tiling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Image Processing (AREA)
  • Transforming Electric Information Into Light Information (AREA)

Abstract

【課題】画像を表示するために用いるメモリの使用量を削減できる。
【解決手段】 ステップS1で画像データがバックバッファに格納される。ステップS2で、バックバッファ34上の画像データに重畳表示させる画像データが上書きされる。ステップS3でAPIが呼び出されることにより、バックバッファ上の画像データがフロントバッファにアップデートされる。このとき、APIの引数の対応して画像データの拡大、縮小、回転などが行われる。本発明は、例えば半導体メモリに記録されている画像を画面に表示する機能を有するテレビジョン受像機等、ディスプレイに画像を表示するあらゆる電子機器に適用することができる。
【選択図】図4

Description

本発明は、表示制御装置、および表示制御方法に関し、特に、バックバッファ上の画像データをVRAM(Video Random Access Memory)上のフロントバッファにアップデートすることによりディスプレイの表示を更新させる場合に用いて好適な表示制御装置、および表示制御方法に関する。
ディスプレイにおける画像の描画は、VRAM上に設けられたバッファに画像データが描画され、VRAMの内容が反映されることにより行われる。したがって、VRAMの内容を反映させるタイミングの制御が悪いと、VRAMへの描画途中の画像データに対応する不完全な画像がディスプレイに表示されてしまうことがある。
このような事態を防ぐため、従来では例えば、図1に示すようにVRAM1上に同じサイズの第1のバッファ2と第2のバッファ3を設け、第1のバッファ2または第2のバッファ3の一方の用途を画像データの描画用、他方の用途をディスプレイへの反映用として、その用途を交互に切り替えることが行われている(例えば、特許文献1参照)。
また例えば、VRAM上にフロントバッファを、メインメモリ上にバックバッファを設け、バックバッファの用途を画像データの描画用、フロントバッファの用途をディスプレイへの反映用として、バックバッファの内容を速やかにフロントバッファに転送するようにすることが行われている。
特開平8−50659号公報
上述したいずれの方法においても、VRAM上のディスプレイへの反映用バッファと同じサイズの描画用バッファをVRAM上またはメインメモリ上に設ける必要があり、当該描画用バッファの確保はシステムの制約上困難となる場合がある。
本発明はこのような状況に鑑みてなされたものであり、画像を表示するために用いるメモリの使用量を削減できるようにするものである。
本発明の第1の側面の表示制御装置は、画像データに対応する画像をディスプレイに表示させる表示制御装置において、前記表示制御装置の動作を制御するためアプリケーションプログラムおよびミドルウェアを実行する実行手段と、入力された画像データを保持する第1の保持手段と、前記第1の保持手段から読み出された前記画像データに対して画像処理を行う画像処理手段と、前記画像処理手段による画像処理結果の画像データを保持する第2の保持手段と、前記第2の保持手段によって保持されている画像データをディスプレイの表示に反映させる反映手段とを含み、前記画像処理手段および前記保持手段は、ミドルウェアによって提供され、前記アプリケーションプログラムによって呼び出されるAPIにより制御される。
前記画像処理手段は、前記第1の保持手段から読み出された前記画像データに対して拡大処理、縮小処理、または回転処理のうちの少なくとも1つを行うようにすることができる。
前記画像処理手段は、前記第1の保持手段と前記第2の保持手段のサイズに基づいて前記拡大処理における拡大比率、または前記縮小処理における縮小比率を算出するようにすることができる。
前記画像処理手段は、前記第1の保持手段から部分的に読み出された前記画像データに対して画像処理を行うようにすることができる。
前記第1の保持手段から部分的に読み出された前記画像データの境界は、前記画像処理手段による画像処理後の座標が整数となるように決定されるようにすることで、拡大率、および縮小率のずれをなくし、画質の劣化を防ぐことができる。
前記第1の保持手段から部分的に読み出された前記画像データの境界は、前記画像処理手段による画像処理に含まれる画素のフィルタリング処理を考慮して決定されるようにすることができる。
前記第1の保持手段は、保持すべき前記画像データ全体のデータ量よりも容量が小さく、分割して入力された前記画像データを保持するようにすることができる。
本発明の一側面である表示制御方法は、画像データに対応する画像をディスプレイに表示させる表示制御装置の表示制御方法において、入力された画像データを保持する第1の保持ステップと、前記第1の保持ステップの処理で保持された前記画像データを読み出して画像処理を行う画像処理ステップと、前記画像処理ステップの処理による画像処理結果の画像データを保持する第2の保持ステップと、前記第2の保持ステップの処理で保持されている画像データをディスプレイの表示に反映させる反映ステップとを含み、前記画像処理ステップおよび前記保持ステップは、ミドルウェアによって提供され、アプリケーションプログラムによって呼び出されるAPIにより制御される。
本発明の一側面においては、保持された前記画像データを読み出して画像処理を行う処理と、画像処理結果の画像データを保持する処理が、ミドルウェアによって提供され、アプリケーションプログラムによって呼び出されるAPIにより制御される。
以上のように、本発明の一側面によれば、画質を劣化させることなく、画像を表示するために用いるメモリの使用量を削減することができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の第1の側面の表示制御装置(例えば、図2の画像表示装置10)は、画像データに対応する画像をディスプレイに表示させる表示制御装置において、前記表示制御装置の動作を制御するためアプリケーションプログラム(例えば、図2の画像表示アプリケーション31)およびミドルウェア(例えば、図2のバッファ制御ミドルウェア32)を実行する実行手段(例えば、図2のCPU11)と、入力された画像データを保持する第1の保持手段(例えば、図2のバックバッファ34)と、前記第1の保持手段から読み出された前記画像データに対して画像処理を行う画像処理手段(例えば、図2の画像処理部41)と、前記画像処理手段による画像処理結果の画像データを保持する第2の保持手段(例えば、図2のフロントバッファ43)と、前記第2の保持手段によって保持されている画像データをディスプレイの表示に反映させる反映手段(例えば、図2の表示制御部17)とを含み、前記画像処理手段および前記保持手段は、ミドルウェアによって提供され、前記アプリケーションプログラムによって呼び出されるAPIにより制御される。
本発明の一側面である表示制御方法は、画像データに対応する画像をディスプレイに表示させる表示制御装置の表示制御方法において、入力された画像データを保持する第1の保持ステップ(例えば、図4のステップS1)と、前記第1の保持ステップの処理で保持された前記画像データを読み出して画像処理を行う画像処理ステップ(例えば、図4のステップS4)と、前記画像処理ステップの処理による画像処理結果の画像データを保持する第2の保持ステップ(例えば、図4のステップS5)と、前記第2の保持ステップの処理で保持されている画像データをディスプレイの表示に反映させる反映ステップ(例えば、図4のステップS6)とを含み、前記画像処理ステップおよび前記保持ステップは、ミドルウェアによって提供され、アプリケーションプログラムによって呼び出されるAPIにより制御される。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
図2は、本発明の一実施の形態である画像表示装置の構成例を示している。この画像表示装置10は、例えば、記録媒体21などを介して外部から供給される画像データや、画像作成アプリケーションによって生成された画像データを拡大したり、縮小したり、回転したり、あるいはその一部を抽出してディスプレイ22に表示するものである。
画像表示装置10は、CPU(Central Processing Unit)11を内蔵している。CPU11にはバス14を介して、入出力インタフェース15が接続されている。バス14には、ROM(Read Only Memory)12およびRAM(Random Access Memory)13が接続されている。
入出力インタフェース15には、ユーザが操作コマンドを入力する入力部16、後段のディスプレイ22に画像データを表示させる表示制御部17、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部18、およびモデム、LAN(Local Area Network)アダプタなどよりなり、インタネットに代表されるネットワークを介した通信処理を実行する通信部19が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどの記録媒体21に対してデータを読み書きするドライブ20が接続されている。
RAM13には、CPU11によって実行される画像表示アプリケーション31、画像表示アプリケーション31から呼び出される複数のAPI(Application Program Interface)を提供するバッファ制御ミドルウェア32が格納されている。画像表示アプリケーション31およびバッファ制御ミドルウェア32は、記憶部18にインストールされており、入力部16に入力されるユーザからのコマンドに対応するCPU11の指令によって、記憶部18からRAM13にロードされる。
またRAM13には、画像表示アプリケーション31によって使用される画像表示アプリケーション用作業領域33、および記録媒体21から読み出された画像データが格納されるバックバッファ34が設けられる。
表示制御部17は、バックバッファ34に保持された画像データの拡大、縮小、回転などを行う画像処理部41、およびVRAM42を有する。VRAM42には、書き込まれた画像データがディスプレイ22に反映されるフロントバッファ43、および画像処理部41によって使用される画像処理部用作業領域44が設けられる。
次に、バッファ制御ミドルウェア32により提供され、画像表示アプリケーション31によって呼び出される4種類のAPIについて、図3を参照して説明する。
API Aは、後述する引数に基づいてRAM13上にバックバッファ34のメモリ領域を確保するとともに、バックバッファ34の管理情報を初期化するためのものである。画像表示アプリケーション31は、引数としてフロントバッファ43の識別情報(引数Aa)、バックバッファ34の論理的な幅(引数Ab)、バックバッファ34の論理的な高さ(引数Ac)、回転角(0°,90°,180°、または270°)(引数Ad)、後述する部分的バックバッファの使用の可否(引数Ae)、および、部分的バックバッファのサイズ(引数Af)を指定する。
API Bは、RAM13上に確保されているバックバッファ34のメモリ領域を開放し、確保されていたバックバッファ34の管理情報をクリアするためのものである。
API Cは、API Aによって初期化されたバックバッファ34の管理情報を変更するためのものである。
API Dは、部分的バックバッファを使用して、フロントバッファ43をアップデートする(バックバッファ34の画像データをフロントバッファ43上に転送する)ために必要な情報を取得するためのものである。API Aで初期化する際に引数Aeで部分的バックバッファを使用しないように設定した場合は、API Dを呼び出す必要はない。画像表示アプリケーション31は、引数としてフロントバッファ43の識別情報(引数Da)、アップデートする矩形領域(バックバッファ34上の座標、幅、高さ)(引数Db)、および、アップデート情報を格納するための領域へのポインタ(引数Dc)を指定する。
画像表示アプリケーション31がAPI Dから取得できる情報Ia乃至Ieは以下のとおりである。
部分的バックバッファ領域の先頭アドレス(情報Ia)
分割された領域の高さの最大値(後述するregion_height)(情報Ib)
指定領域1ライン分のデータサイズ(row_bytes)(情報Ic)
後述する第3拡張領域を特定するための情報(情報Id)
分割アップデート対応のための拡張部分の高さ(後述するvertical_margin)(情報Ie)
画像表示アプリケーション31は、API Dから取得した情報Ia乃至Ieを元に、次に説明するAPI Eによってアップデート対象領域となる領域を把握することができ、部分的バックバッファの画像データを更新することができる。
API Eは、後述する引数に基づいてフロントバッファ43をアップデートするためのものである。画像表示アプリケーション31は、引数としてフロントバッファ43の識別情報(引数Ea)、および、アップデートする矩形領域(バックバッファ34上の座標、幅、高さ)(引数Eb)を指定する。
なお、上述したAPI Aは、フロントバッファ43の識別情報を元に、別のミドルウェアを介して、フロントバッファ43に関する必要な情報(幅、高さ、画像データを格納する領域のアドレスなど)を取得できることを前提とした場合の例である。当該別のミドルウェアが存在しない場合、API Aの引数を追加し、フロントバッファ43に関する必要な情報(幅、高さ、画像データを格納する領域のアドレスなど)についても、画像表示アプリケーション31が指定するようにする。
また、フロントバッファ43とバックバッファ34の管理は独立しており、当該バッファ制御ミドルウェア32はフロントバッファ43の管理を行っていないものとする。ただし、当該バッファ制御ミドルウェア32がフロントバッファ43の管理を行うようにしてもかまわない。
次に、画像表示装置10の動作概要について、図4のフローチャートを参照して説明する。ステップS1において、画像表示アプリケーション31は、API Aを呼び出してバックバッファ34を初期化した後、ドライブ20に装着されている記録媒体21から画像データを読み出してバックバッファ34に格納する。読み出した画像データに他の画像データを重畳表示させる場合、ステップS2において、画像表示アプリケーション31は、画像表示アプリケーション用作業領域33を利用して重畳させる画像データを生成し、バックバッファ34上の画像データに上書きする。
ステップS3において、画像表示アプリケーション31は、API Eを呼び出すことで、バックバッファ34上の画像データをフロントバッファ43にアップデートするように、バッファ制御ミドルウェア32に要求する。これに対応し、バッファ制御ミドルウェア32は、バックバッファ34上の画像データを画像処理部用作業領域44に格納する。ステップS4において、画像処理部41は、画像処理部用作業領域44に格納された画像データに対し、API Aで設定した情報に基づき、画像データに拡大処理、縮小処理、および回転処理を施す。ステップS5において、画像処理部41は、拡大処理などを施した画像データをフロントバッファ43に格納する。そしてステップS6において、表示制御部17は、フロントバッファ43上の画像データをディスプレイ22に反映させる。
以上で、画像表示装置10による動作概要の説明を終了する。上述したように、画像表示装置10によれば、画像表示アプリケーション31は、直接的に指示することなくAPI Eを呼び出することによって、フロントバッファ43のアップデートとディスプレイ22への反映を実行させることができる。これにより、ディスプレイ22に不完全な画像が表示されることを防ぐことができる。
次に、API Eが呼び出され、バックバッファ34からフロントバッファ43に画像データがアップデートされる過程において実行される拡大、縮小、回転、または領域指定アップデートについて説明する。
拡大、または縮小
API Aの引数Ab,Acで指定されたバックバッファ34の論理的な幅と高さが、フロントバッファ43の論理的な幅と高さと異なる場合、バックバッファ34上の画像データが拡大、または縮小されてフロントバッファ43にアップデートされる。
例えば、バックバッファ34の論理的な幅と高さが、フロントバッファ43の論理的な幅と高さよりも小さい場合、図5Aに示すように、バックバッファ34の画像データが拡大されてフロントバッファ43にアップデートされる。
また例えば、バックバッファ34の論理的な幅と高さが、フロントバッファ43の論理的な幅と高さよりも大きい場合、図5Bに示すように、バックバッファ34の画像データが縮小されてフロントバッファ43にアップデートされる。
したがって、画像表示アプリケーション31がフロントバッファ43の幅と高さを変更することにより、ディスプレイ22に表示される画像のサイズを変更することが可能である。拡大比率(縮小比率)は、バックバッファ34の幅と高さ、および、フロントバッファ43の幅と高さによって定まるため、フロントバッファ43の幅と高さの変更に伴って拡大比率(縮小比率)は変動する。
そこで、フロントバッファ43のアップデート時に、フロントバッファ43の幅と高さを毎回取得し、拡大比率(縮小比率)を算出する。これにより、フロントバッファ43の幅と高さが変更されても、フロントバッファ43のアップデート時には、その時点でのフロントバッファ43の幅と、高さ、および、バックバッファ34の幅と高さから拡大比率(縮小比率)を得ることができる。したがって、フロントバッファ43の幅と高さを変更しても、バックバッファ34の設定を変更する必要がなく、変更前と同様にフロントバッファ43のアップデートを行うことができる。
回転
API Aの引数Adで指定された回転角が0°以外の場合、バックバッファ34上の画像データが回転されてフロントバッファ43にアップデートされる。
例えば、回転角が90°である場合、図5Cに示すように、バックバッファ34の画像データが90°回転されてフロントバッファ43にアップデートされる。
なお、バックバッファ34の画像データの拡大または縮小と回転とを組み合わせることも可能である。
領域指定アップデート
API Dの引数Dbで指定されたアップデートする矩形領域、またはAPI Eの引数Ebで指定されたアップデートする矩形領域に対応するフロントバッファ43の領域がアップデートされる。
例えば、アップデートする矩形領域として、図5Dに破線で示す領域が指定された場合、破線内の画像データだけがフロントバッファ43にアップデートされる。なお、拡大、または縮小を伴うときには、画像劣化を防ぐために、破線をはみ出す所定の範囲の画像データがフロントバッファ43にアップデートされる。
このように、指定した領域だけをフロントバッファ43にアップデートすることができるので、アップデートの処理効率を向上させることができる。
なお、領域指定アップデートと拡大または縮小と回転とを組み合わせることも可能である。
部分的バックバッファ
次に、バックバッファ34が、論理的サイズよりも小さい(すなわち、表示しようとする画像データのサイズよりも小さい)領域しか確保できない状態(この状態を部分的バックバッファと称する)について説明する。
API Aの引数Aeとして部分的バックバッファを使用するとされている場合、部分的バックバッファが使用され、そのサイズは引数Afに従って確保される。なお、API Aの引数Aeとして部分的バックバッファを使用しないとされている場合、引数Afは無視される。
部分的バックバッファを使用することにより、メインメモリ、すなわち、RAM13の使用量を軽減させることができる。
分割アップデート
部分的バックバッファが使用される場合、API Dが呼び出され、フロントバッファをアップデートするための情報が取得される。取得した情報により、分割してアップデートする必要があるか否かを判断できる。アップデートする領域の大きさに対して、部分的バックバッファのサイズが十分に大きい場合、分割する必要はなく、1回のアップデートでフロントバッファをアップデートできる。分割アップデートを行う場合は、例えば図6に示すように、表示する画像データのうち、部分的バックバッファのサイズに格納できる分だけが部分的バックバッファに書き込まれた後、API Eが呼び出され、フロントバッファ43にアップデートされる動作が繰り返される。
整数座標対応のための領域拡張
領域指定アップデートと拡大または縮小とを組み合わせた場合、その拡大比率(または縮小比率)と指定された領域の座標によっては、拡大(または縮小)処理後の座標が整数にならないことがある。この非整数の座標の小数部分を丸めると、拡大比率(縮小比率)がずれてしまい画質が劣化してしまう。
例えば図7Aに示すように、バックバッファ34のサイズが幅400、高さ200であり、フロントバッファ43のサイズが幅500、高さ300であって、アップデートする矩形領域が、座標(298,99)、幅102、高さ101である場合、
298×500/400=372.5→372
99×300/200=148.5 →148
矩形領域の頂点はフロントバッファ43の(372,148)に移されてしまうので拡大比率(縮小比率)がずれてしまい画質が劣化してしまう。
そこで、本発明においては、拡大比率(縮小比率)がずれないようにするために、転送後の座標が整数になるように指定された矩形領域(指定領域)を図8に示す第1拡張領域に拡張する。例えば図7では、アップデートする矩形領域を、座標(298−2,99−1)、幅102+2、高さ101+1に拡張する。
これにより、転送後の座標が整数になり、拡大比率(縮小比率)がずれることがなくなるため、画質の劣化を抑止できる。
(298−2)×500/400=370
(99−1)×300/200=147
整数座標対応のための領域拡張の一般式は以下のとおりである。ただし、ここで拡張のための基準となる幅をalign_x、高さをalign_yとする。
第1拡張領域の各頂点の座標は以下の条件1,2を満たすように領域を拡張する。
条件1:x座標がalign_xの正の整数倍、または0である。
条件2:y座標がalign_yの正の整数倍、または0である。
次にalign_x,align_yを算出する。
align_x=back_w/gcd_w
align_y=back_h/gcd_h
ただし、符号の定義は以下のとおりである。
back_w:バックバッファの論理的な幅
back_h:バックバッファの論理的な高さ
front_w:フロントバッファの幅
front_h:フロントバッファの高さ
回転角度=0°または180°の場合
gcd_w:back_wとfront_wの最大公約数
gcd_h:back_hとfront_hの最大公約数
回転角度 90°または270°の場合
gcd_w:back_wとfront_hの最大公約数
gcd_h:back_hとfront_wの最大公約数
なお、画像データのピクセルフォーマットによっては、バックバッファ34、およびフロントバッファ43の両方において、対象領域となる矩形の全ての頂点のx座標が偶数でなければならないという制約がある。この場合、x座標が必ず偶数になるように、align_x,align_yを以下のように算出する。
回転角度=0°または180°の場合
align_y=back_h/gcd_h
align_xまたは(align_x・front_w/back_w)が奇数であるとき
align_x=2(back_w/gcd_w)
その他のとき
align_x=back_w/gcd_w
回転角度=90°または270°の場合
align_x=back_w/gcd_w
align_yまたは(align_y・front_w/back_h)が奇数であるとき
align_y=2(back_h/gcd_h)
その他のとき
align_y=back_h/gcd_h
フィルタリング処理対応のための領域拡張
ところで、拡大または縮小を伴う場合、転送後の各画素は、転送前の近傍の上下左右に存在する画素を用いた補間(フィルタリング処理)が行われて生成される。領域指定アップデートする矩形領域の境界の画素をフィルタリング処理により補間する場合、矩形領域外の画素の情報がないと適切にフィルタリング処理を行うことができず、境界付近の画質が劣化する。
そこで、本発明においては、フィルタリング処理による境界付近の画質劣化を防ぐため、図8に示すように、上述した第1拡張領域をさらに所定の拡張幅と拡張高だけ広げて第2拡張領域を設定する。
例えば、図7では、拡張幅を4、拡張高を2とした場合、上述した第1拡張領域は、座標(298−2−4,99−1−2)、幅102+2+4、高さ101+1+2の第2拡張領域に拡張される。
そしてさらに、第2拡張領域に対して整数座標対応のための領域拡張が行われ、第3拡張領域が設定される。
このようにして設定された第3拡張領域に属する画像データがバックバッファ34から画像処理部用作業領域44に転送される。第3拡張領域に属する画像データのうち、第1拡張領域の外側に位置するものについては、フィルタリング処理のみに用いてフロントバッファ43にはアップデートしない。すなわち、第1拡張領域の内側のみ、フロントバッファ43にアップデートするようにする。
分割アップデート対応のための領域拡張
上述した部分的バックバッファが使用され、フロントバッファ43に対して分割アップデートと拡大または縮小とを組み合わせる場合にも、整数座標対応のための領域拡張、フィルタリング処理対応のための領域拡張、さらに整数座標対応のための領域拡張が行われる。すなわち、図9に示すように、指定された矩形領域(指定領域)に対して第3拡張領域が設定される。
このようにして設定された第3拡張領域に属する画像データがバックバッファ34から画像処理部用作業領域44に分割して転送されるが、拡張された分の高さvertical_margin(図9において斜線で示す部分)として、以下の条件3,4を満たす最小の値が算出される。
条件3:vertical_margin≧filter_h
条件4:vertical_margin=align_y・n(nは自然数)
ただし、符号の定義は以下のとおりである。
filter_h:フィルタリング処理に必要な高さ
align_y:整数座標対応のために使用した変数
なお、分割アップデートにおいて分割された領域の高さ(図9のregion_height)の最大値は以下のとおりに算出する。
ただし、符号の定義は以下のとおりである。
buf_size:部分バックバッファサイズ(バイト)
row_bytes:指定領域1ライン分のデータサイズ(バイト)
拡大、縮小処理が行われない場合
region_height=buf_size/row_bytes(小数切捨て)
拡大、縮小処理が行われる場合
region_heightは以下の条件5,6を満たす最大の値
条件5:region_height≦(buf_size/row_bytes(小数切捨て))−2vertical_margin
条件6:region_height=align_y・n(nは自然数)
以上説明したように、本発明を適用した画像表示装置10によれば、画像表示アプリケーション31は、画像データをバックバッファ34上に格納し、バッファ制御ミドルウェア32のAPIを呼び出すことによって、画像データを拡大、縮小、回転してディスプレイ22に表示させることができる。
また、記録媒体21などの外部から取得した画像データを拡大、縮小、回転してディスプレイ22に表示させる場合においても、画像表示アプリケーション31は、取得した画像データを一時領域に格納することなく、直接、バックバッファ34に格納することができる。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
ディスプレイに不完全な画像が表示されることを防ぐ従来の方法を説明する図である。 本発明を適用した画像表示装置の構成例を示すブロック図である。 図2のバッファ制御ミドルウェアによって提供されるAPIを説明する図である。 画像表示装置の動作概要を説明するフローチャートである。 画像データの拡大、縮小、回転、領域指定アップデートを説明する図である。 部分的バックバッファと分割アップデートを説明する図である。 拡大と領域指定アップデートを組み合せた状態を説明する図である。 指定領域および第1乃至3拡張領域を示す図である。 分割アップデートに拡張領域を追加した状態を説明する図である。
符号の説明
10 画像表示装置, 11 CPU, 12 ROM, 13 RAM, 17 表示制御部 ,21 記録媒体, 22 ディスプレイ, 31 画像表示アプリケーション, 32 バッファ制御ミドルウェア, 33 画像表示アプリケーション用作業領域, 34 バックバッファ, 41 画像処理部, 42 VRAM, 43 フロントバッファ, 44 画像処理部用作業領域

Claims (8)

  1. 画像データに対応する画像をディスプレイに表示させる表示制御装置において、
    前記表示制御装置の動作を制御するためアプリケーションプログラムおよびミドルウェアを実行する実行手段と、
    入力された画像データを保持する第1の保持手段と、
    前記第1の保持手段から読み出された前記画像データに対して画像処理を行う画像処理手段と、
    前記画像処理手段による画像処理結果の画像データを保持する第2の保持手段と、
    前記第2の保持手段によって保持されている画像データをディスプレイの表示に反映させる反映手段とを含み、
    前記画像処理手段および前記保持手段は、ミドルウェアによって提供され、前記アプリケーションプログラムによって呼び出されるAPI(Application Program Interface)により制御される
    表示制御装置。
  2. 前記画像処理手段は、前記第1の保持手段から読み出された前記画像データに対して拡大処理、縮小処理、または回転処理を行う
    請求項1に記載の表示制御装置。
  3. 前記画像処理手段は、前記第1の保持手段と前記第2の保持手段のサイズに基づいて前記拡大処理における拡大比率、または前記縮小処理における縮小比率を算出する
    請求項1に記載の表示制御装置。
  4. 前記画像処理手段は、前記第1の保持手段から部分的に読み出された前記画像データに対して画像処理を行う
    請求項1に記載の表示制御装置。
  5. 前記第1の保持手段から部分的に読み出された前記画像データの境界は、前記画像処理手段による画像処理後の座標が整数となるように決定される
    請求項4に記載の表示制御装置。
  6. 前記第1の保持手段から部分的に読み出された前記画像データの境界は、前記画像処理手段による画像処理に含まれる画素のフィルタリング処理を考慮して決定される
    請求項4に記載の表示制御装置。
  7. 前記第1の保持手段は、保持すべき前記画像データ全体のデータ量よりも容量が小さく、分割して入力された前記画像データを保持する
    請求項1に記載の表示制御装置。
  8. 画像データに対応する画像をディスプレイに表示させる表示制御装置の表示制御方法において、
    入力された画像データを保持する第1の保持ステップと、
    前記第1の保持ステップの処理で保持された前記画像データを読み出して画像処理を行う画像処理ステップと、
    前記画像処理ステップの処理による画像処理結果の画像データを保持する第2の保持ステップと、
    前記第2の保持ステップの処理で保持されている画像データをディスプレイの表示に反映させる反映ステップとを含み、
    前記画像処理ステップおよび前記保持ステップは、ミドルウェアによって提供され、アプリケーションプログラムによって呼び出されるAPIにより制御される
    表示制御方法。
JP2005275340A 2005-09-22 2005-09-22 表示制御装置、および表示制御方法 Pending JP2007086432A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2005275340A JP2007086432A (ja) 2005-09-22 2005-09-22 表示制御装置、および表示制御方法
US11/519,881 US8284213B2 (en) 2005-09-22 2006-09-13 Display control apparatus and display control method
TW095134668A TWI344107B (en) 2005-09-22 2006-09-19 Display control apparatus and display control method
EP06019685A EP1768099A3 (en) 2005-09-22 2006-09-20 Display control apparatus and display control method
KR1020060091673A KR20070033913A (ko) 2005-09-22 2006-09-21 표시 제어장치 및 표시 제어방법
CNB2006101397324A CN100505037C (zh) 2005-09-22 2006-09-22 显示控制装置及显示控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005275340A JP2007086432A (ja) 2005-09-22 2005-09-22 表示制御装置、および表示制御方法

Publications (1)

Publication Number Publication Date
JP2007086432A true JP2007086432A (ja) 2007-04-05

Family

ID=37517048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005275340A Pending JP2007086432A (ja) 2005-09-22 2005-09-22 表示制御装置、および表示制御方法

Country Status (6)

Country Link
US (1) US8284213B2 (ja)
EP (1) EP1768099A3 (ja)
JP (1) JP2007086432A (ja)
KR (1) KR20070033913A (ja)
CN (1) CN100505037C (ja)
TW (1) TWI344107B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010128150A (ja) * 2008-11-27 2010-06-10 Sony Corp 表示制御装置、表示制御方法、およびプログラム
US8412001B2 (en) 2009-01-09 2013-04-02 Sony Corporation Image processing device, method and program
JP2018005226A (ja) * 2016-07-05 2018-01-11 ユビタス インコーポレイテッドUbitus Inc. Vramでマルチソースメディアをオーバーレイするシステム及び方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012035632A1 (ja) * 2010-09-16 2012-03-22 株式会社 東芝 画像生成装置
CN102074217A (zh) * 2011-01-27 2011-05-25 浙江宇松科技有限公司 一种液晶显示器图像视角的扩展方法及其液晶显示器
US8884978B2 (en) * 2011-09-09 2014-11-11 Microsoft Corporation Buffer display techniques
KR102275712B1 (ko) 2014-10-31 2021-07-09 삼성전자주식회사 렌더링 방법, 렌더링 장치 및 전자 장치
US10332296B2 (en) 2016-07-05 2019-06-25 Ubitus Inc. Overlaying multi-source media in VRAM
CN108255551B (zh) * 2017-12-20 2021-05-28 深圳市纽格力科技有限公司 一种gui内存优化方法及系统
CN109542382B (zh) * 2017-12-26 2020-07-28 掌阅科技股份有限公司 手写输入内容的显示方法、电子设备及计算机存储介质
CN115497432A (zh) * 2022-09-23 2022-12-20 珠海格力电器股份有限公司 数据处理方法、装置、电子设备、显示设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198338A (ja) * 1996-12-28 1998-07-31 Casio Comput Co Ltd 画像処理装置
JP2002268867A (ja) * 2001-03-13 2002-09-20 Sony Corp 表示装置及び表示方法、プログラム記録媒体並びにプログラム
JP2003224783A (ja) * 2002-01-29 2003-08-08 Canon Inc データ放送受信再生装置、その制御方法、データ放送システム、放送データ送信装置、データ放送ショッピングにおける商品表示方法、及び制御プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6734873B1 (en) * 2000-07-21 2004-05-11 Viewpoint Corporation Method and system for displaying a composited image
US7050071B2 (en) * 2003-05-30 2006-05-23 Intel Corporation Layered rotational graphics driver

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198338A (ja) * 1996-12-28 1998-07-31 Casio Comput Co Ltd 画像処理装置
JP2002268867A (ja) * 2001-03-13 2002-09-20 Sony Corp 表示装置及び表示方法、プログラム記録媒体並びにプログラム
JP2003224783A (ja) * 2002-01-29 2003-08-08 Canon Inc データ放送受信再生装置、その制御方法、データ放送システム、放送データ送信装置、データ放送ショッピングにおける商品表示方法、及び制御プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010128150A (ja) * 2008-11-27 2010-06-10 Sony Corp 表示制御装置、表示制御方法、およびプログラム
JP4623207B2 (ja) * 2008-11-27 2011-02-02 ソニー株式会社 表示制御装置、表示制御方法、およびプログラム
US8412001B2 (en) 2009-01-09 2013-04-02 Sony Corporation Image processing device, method and program
JP2018005226A (ja) * 2016-07-05 2018-01-11 ユビタス インコーポレイテッドUbitus Inc. Vramでマルチソースメディアをオーバーレイするシステム及び方法

Also Published As

Publication number Publication date
EP1768099A3 (en) 2010-07-21
KR20070033913A (ko) 2007-03-27
TWI344107B (en) 2011-06-21
CN100505037C (zh) 2009-06-24
US20070064017A1 (en) 2007-03-22
US8284213B2 (en) 2012-10-09
CN1937029A (zh) 2007-03-28
EP1768099A2 (en) 2007-03-28
TW200717310A (en) 2007-05-01

Similar Documents

Publication Publication Date Title
JP2007086432A (ja) 表示制御装置、および表示制御方法
JP5523035B2 (ja) 画像処理装置、及び画像処理方法
JPH1055437A (ja) 拡大宛先画像のピクセル値の生成方法
JP2004289667A (ja) 画像処理装置
US7933465B2 (en) Processing data supply method and image processing apparatus
JP4623207B2 (ja) 表示制御装置、表示制御方法、およびプログラム
JP4843377B2 (ja) 画像処理装置及び画像処理方法
CN112650460B (zh) 媒体显示方法和媒体显示装置
JP4380740B2 (ja) 画像処理装置
JP4854746B2 (ja) ベクトルグラフィックハードウエアにおけるバッファ管理
JP4737852B2 (ja) 画像処理装置および画像表示装置
JP3826941B2 (ja) 描画命令のフックを利用した画像の転送
JP6524644B2 (ja) 画像処理装置および電子機器
JP2007086245A (ja) 表示制御装置、および表示制御方法
JP4470762B2 (ja) 画像処理装置、表示コントローラ及び電子機器
KR100463552B1 (ko) 큐빅 컨벌루션 보간 장치 및 방법
JP2016058832A (ja) 画像処理装置、その制御方法、及びプログラム
JP2001061058A (ja) 画像処理装置
CN114461121B (zh) 一种基于虚拟图层实现uefi全屏显示的装置
JP2020087104A (ja) コンピュータプログラム、画像処理方法、及び画像処理装置
JP2004129212A (ja) 画像投射装置および画像変換方法
JP4355445B2 (ja) 画像処理装置、画像処理システム、画像処理方法、及び記憶媒体
JP3634535B2 (ja) 画像処理方法および装置
JP6320652B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JP5003739B2 (ja) 画像表示装置および画像表示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110914

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120619