[go: up one dir, main page]

JP2010128150A - 表示制御装置、表示制御方法、およびプログラム - Google Patents

表示制御装置、表示制御方法、およびプログラム Download PDF

Info

Publication number
JP2010128150A
JP2010128150A JP2008302339A JP2008302339A JP2010128150A JP 2010128150 A JP2010128150 A JP 2010128150A JP 2008302339 A JP2008302339 A JP 2008302339A JP 2008302339 A JP2008302339 A JP 2008302339A JP 2010128150 A JP2010128150 A JP 2010128150A
Authority
JP
Japan
Prior art keywords
image data
buffer
back buffer
written
data size
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.)
Granted
Application number
JP2008302339A
Other languages
English (en)
Other versions
JP4623207B2 (ja
Inventor
Shinji Inamoto
慎司 稲本
Ryo Sakuma
亮 佐久間
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 JP2008302339A priority Critical patent/JP4623207B2/ja
Priority to US12/623,349 priority patent/US20100128045A1/en
Priority to CN200910246358A priority patent/CN101751909A/zh
Publication of JP2010128150A publication Critical patent/JP2010128150A/ja
Application granted granted Critical
Publication of JP4623207B2 publication Critical patent/JP4623207B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • 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
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/122Tiling
    • 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/127Updating a frame memory using a transfer of data from a source area to a destination area

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Image Processing (AREA)

Abstract

【課題】バックバッファに対する画像データの書き込みと、バックバッファからの画像データの読み出しを独立して制御する。
【解決手段】図8は、X≧Yの場合における、バックバッファをリングバッファとして用いたときの画像データの書き込みと読み出しの制御の概要を示している。バックバッファに対する画像データの書き込みは、領域Aを除いて、領域B,C,B,C・・・の順に行なわれる。他方、バックバッファからの画像データの読み出しは、書き込まれた順に従って領域B,Cから行なわれる。ただし、最後の領域(領域C)にYライン分に満たない画像データが残っている場合、これが領域Aの最後尾に転送される。そして、領域A,BからYライン分の画像データが連続して読み出される。本発明は、例えば、VRAMの内部に適用することができる。
【選択図】図8

Description

本発明は、表示制御装置、表示制御方法、およびプログラムに関し、特に、バックバッファ上の画像データをフロントバッファに転送(アップデート)することによりディスプレイの表示を更新させる場合に用いて好適な表示制御装置、表示制御方法、およびプログラムに関する。
ディスプレイにおける画像の描画は、VRAM(video random access memory)上に設けられたバッファに画像データが書き込まれ、当該バッファに書き込まれた画像データがディスプレイに反映されることにより行われる。したがって、VRAM上のバッファに書き込まれた画像データを反映させるタイミングの制御が悪いと、当該バッファ上の未更新や更新途中の画像データに対応する不完全な画像がディスプレイに表示されてしまうことがある。
このような事態を抑止するため、従来、VRAM上に2つのバッファ(バックバッファとフロントバッファ)を設け、バックバッファを画像データの描画用途に用い、フロントバッファをディスプレイへの反映用途に用いる技術がある。ここで、描画用途とは、例えば、圧縮符号化されている画像データをデコード(伸長)し、そのデコード結果として得られる画像データの書き込むことなどを指す。
そして、バックバッファ上の画像データをフロントバッファに速やかに転送することによって、フロントバッファへの書き込み途中の画像データに対応する不完全な画像がディスプレイに表示されてしまうことを抑止している。
ただし、上述した従来の技術では、バックバッファとして、フロントバッファと同等の領域をVRAM上またはメインメモリ上に確保する必要があるとともに、バックバッファ上の画像データのフロントバッファへの転送に時間がかかってしまう。
そこで、本出願人は、例えば図1に示すように、フロントバッファよりも狭い高さYのバックバッファを確保し、当該バックバッファに画像データをXライン分ずつ書き込み、書き込んだ画像データをY(=X)ラインずつフロントバッファに転送させる処理を複数回繰り返すことにより画像データの全体をフロントバッファに転送させる方法を提案済みである(特許文献1参照)。
なお、以下において、バックバッファ上の画像データをフロントバッファに転送することを、フロントバッファのアップデートと称する。
また、本出願人は、特許文献1において、分割された画像データをバックバッファからフロントバッファにアップデートするに際し、画像データを拡大したり、縮小したりする発明を提案している。例えば、図2に示すように、バックバッファから読み出す画像データのライン数Y、Yライン分の画像データを書き込むフロントバッファのライン数をZと定義し、画像データを拡大する場合には、拡大率に応じてライン数Yがライン数Zよりも小さくなるよう設定する。
反対に、画像データを縮小する場合には、縮小率に応じてライン数Yがライン数Zよりも大きくなるよう設定する。当然、ライン数Yとライン数Zとを等しくすれば、画像データを拡大、縮小することなく、元のサイズでフロントバッファにアップデートすることができる。
ただし、画像データの拡大比率(または縮小比率)によっては、拡大(または縮小)処理後の座標が整数にならないことがある。この非整数の座標の小数部分を丸めて整数化すると、拡大比率(縮小比率)がずれてしまい画質が劣化してしまう。
そこで、特許文献1に記載の発明では、拡大比率(縮小比率)がずれないようにするために、転送後の座標が整数になるように、ライン数Yを調整している。これにより、転送後の座標が整数になり、拡大比率(縮小比率)がずれることがなくなるため、画質の劣化を抑止できる。
特開2007−86432号公報
ところで、上述した特許文献1では、バックバッファに画像データを書き込むライン数Xと、バックバッファから画像データを読み出すときのライン数Yが一致することを前提としている。この場合、バックバッファの前段の回路(例えば、圧縮符号化されている画像データを伸長するデコーダなど)が、ライン数Yと一致する任意のライン数X(=Y)で画像データを出力できればよい。
しかしながら、当該前段の回路としてハードウェアにより構成されたデコーダを想定すると、出力できる画像データのライン数Xに制約がある場合があり、ライン数Yと一致する任意のライン数X(=Y)で画像データを出力できないことが起こり得る。この場合、バックバッファに画像データを書き込むライン数Xと、バックバッファから画像データを読み出すときのライン数Yとを独立して個々に設定できる仕組みが必要となる。
本発明はこのような状況に鑑みてなされたものであり、バックバッファに対する画像データの書き込みと、バックバッファからの画像データの読み出しを独立して制御できるようにするものである。
本発明の一側面である表示制御装置は、フロントバッファに書き込まれた画像データに対応する画像をディスプレイに表示させる表示制御装置において、画像符号化データをデコードし、デコード結果として得られる前記画像データを第1のデータサイズ単位でバックバッファに書き込むデコード手段と、前記第1のデータサイズ単位で前記バックバッファに書き込まれた前記画像データを、前記バックバッファから第2のデータサイズ単位で読み出して前記フロントバッファに転送する転送手段とを含み、前記バックバッファは、前記第2のデータサイズに基づいて決定される容量を有する予備領域、および少なくとも前記第1のデータサイズと同じ容量をそれぞれ有する複数の本領域が連結されたリングバッファである。
前記転送手段は、前記バックバッファの前記本領域に前記第2のデータサイズ分以上連続的に書き込まれている前記画像データを、前記バックバッファから第2のデータサイズ単位で読み出して前記フロントバッファに転送することができる。
前記転送手段は、前記バックバッファの前記本領域に書き込まれている前記画像データが前記第2のデータサイズ分に満たない場合、前記第2のデータサイズ分に満たない前記画像データを前記予備領域の最後尾に転送し、前記予備領域と前記本領域に前記第2のデータサイズ分以上連続的に書き込まれている前記画像データを、前記バックバッファから第2のデータサイズ単位で読み出して前記フロントバッファに転送することができる。
前記転送手段は、前記第1のデータサイズ単位で前記バックバッファに書き込まれた前記画像データを、前記バックバッファから第2のデータサイズ単位で読み出して、第3のデータサイズに変換して前記フロントバッファに転送することができる。
前記デコード手段は、アプリケーションプログラムにより制御され、前記転送手段は、前記アプリケーションプログラムによって呼び出されるミドルウェアにより前記アプリケーションプログラムから独立して制御されるようにすることができる。
本発明の一側面である表示制御方法は、フロントバッファに書き込まれた画像データに対応する画像をディスプレイに表示させる表示制御装置の表示制御方法において、画像符号化データをデコードし、デコード結果として得られる前記画像データを第1のデータサイズ単位でバックバッファに書き込み、前記第1のデータサイズ単位で前記バックバッファに書き込まれた前記画像データを、前記バックバッファから第2のデータサイズ単位で読み出して前記フロントバッファに転送するステップを含み、前記バックバッファは、前記第2のデータサイズに基づいて決定される容量を有する予備領域、および少なくとも前記第1のデータサイズと同じ容量をそれぞれ有する複数の本領域が連結されたリングバッファである。
本発明の一側面であるプログラムは、フロントバッファに書き込まれた画像データに対応する画像をディスプレイに表示させる表示制御装置の制御用のプログラムであって、画像符号化データをデコードし、デコード結果として得られる前記画像データを第1のデータサイズ単位でバックバッファに書き込み、前記第1のデータサイズ単位で前記バックバッファに書き込まれた前記画像データを、前記バックバッファから第2のデータサイズ単位で読み出して前記フロントバッファに転送するステップを含む処理を表示制御装置のコンピュータに実行させ、前記バックバッファは、前記第2のデータサイズに基づいて決定される容量を有する予備領域、および少なくとも前記第1のデータサイズと同じ容量をそれぞれ有する複数の本領域が連結されたリングバッファである。
本発明の一側面においては、画像符号化データがデコードされ、デコード結果として得られる画像データが第1のデータサイズ単位でバックバッファに書き込まれる。また、バックバッファに書き込まれた画像データが第2のデータサイズ単位で読み出されてフロントバッファに転送される。
本発明の一側面によれば、バックバッファに対する画像データの書き込みと、バックバッファからの画像データの読み出しを独立して制御することができる。
以下、発明を実施するための最良の形態(以下、実施の形態と称する)について、図面を参照しながら詳細に説明する。なお、説明は、以下の順序で行なう。
1.第1の実施の形態
構成例
動作
<1.第1の実施の形態>
[画像表示装置の構成例]
図3は、本発明の一実施の形態である画像表示装置の構成例を示している。この画像表示装置10は、例えば、テレビジョン受像機に内蔵されるものであり、メモリースティック(ソニー株式会社の商標)などからなる記録媒体13に記録されている画像データの画像をディスプレイ21に表示させる場合などに動作する。
画像表示装置10は、CPU11、RAM12、記録媒体13、および画像処理部14から構成される。
CPU11は、RAM12に記録されているアプリケーションプログラムである画像ビューア31を実行することにより、記録媒体13に記録されている画像データの画像をディスプレイ21に表示される一連の処理を制御する。ただし、フロントバッファ18のアップデートについては、ミドルウェアであるバッファコントローラ32のAPI(Application Program Interface)を呼び出すことにより実行する。
RAM12には、CPU11によって実行される画像ビューア(アプリケーションプログラム)31、および画像ビューア31から呼び出される複数のAPIを提供するバッファコントローラ(ミドルウェア)32が格納されている。
記録媒体13は、例えばメモリースティックなどの半導体メモリ等から成り、画像表示装置10に対して着脱可能とされている。記録媒体13には、例えばJPEG方式で圧縮符号化されている画像データが記録されている。
画像処理部14は、VRAM15、デコーダ19、および転送部20から構成される。
VRAM15には、一時領域16、バックバッファ17、およびフロントバッファ18が設けられている。一時領域16には、記録媒体13から読み出した圧縮符号化されている画像データが保持される。バックバッファ17には、デコード(伸長)結果の画像データが書き込まれる。なお、バックバッファ17のサイズについては後述する。フロントバッファ18には、バックバッファ17から転送された画像データが書き込まれ、ここに書き込まれた画像データの画像がディスプレイ21に表示される。
デコーダ19は、画像ビューア31からの制御に従い、一時領域16に保持された圧縮符号化されている画像データをデコードし、このデコード結果として得られる画像データを垂直方向にXライン分ずつバックバッファ17に出力する。このライン数Xは、後述するバックバッファ17から画像データを読み出すときの垂直方向のライン数Yとは独立して設定できる。したがって、デコーダ19を、画像データを出力するときにそのライン数Xに制限(例えば、ライン数Xは36の倍数であるなど)があるハードウェアによって実現することができる。
勿論、デコーダ19をソフトウェアにより実現することもできる。ただし、デコーダ19をハードウェアによって実現した方がソフトウェアによって実現するよりもデコード処理の高速化が期待できる。
転送部20は、バッファコントローラ32からの制御に従い、バックバッファ17に書き込まれた画像データを垂直方向にYライン分ずつ読み出し、フロントバッファ18のZライン分の領域に書き込む(詳細後述する)。
[動作説明]
次に、図4は、画像ビューア31およびバッファコントローラ32それぞれの制御対象を示している。
画像ビューア31は、画像処理部14に対して、記録媒体13に記録されている画像データを一時領域16に保持させた後にデコードさせ、Xラインずつバックバッファ17に書き込ませるまでの処理を制御する。
一方、バッファコントローラ32は、画像処理部14に対して、バックバッファ17から画像データをYライン分ずつ読み出し、フロントバッファ18のZライン分の領域に書き込ませる(アップデートさせる)までの処理を制御する。
このように、バックバッファ17に対する画像データのXライン分の書き込みと、バックバッファ17からの画像データのYライン分の読み出しは、それぞれ独立して制御することができる。
次に、図5は、画像ビューア31により呼び出される、バッファコントローラ(ミドルウェア)32の4種類のAPIを示している。
API Aは、後述する引数Abに基づいてバックバッファ17のメモリ領域を確保するとともに、バックバッファ17の管理情報を初期化するためのものである。画像ビューア31は、引数としてフロントバッファ18の識別情報(引数Aa)、バックバッファ情報(引数Ab)を指定する。バックバッファ情報には、バックバッファ17の論理的な幅(画像データの幅)(引数Ab1)、バックバッファ17の論理的な高さ(画像データの高さ)(引数Ab2)、分割幅(引数Ab3)、およびバックバッファ17に格納可能な画像データのライン数(引数Ab4)を含むことができる。
API Bは、バックバッファ17のメモリ領域を開放し、確保されていたバックバッファ17の管理情報をクリアするためのものである。
API Cは、後述する引数Caで指定されたバックバッファ17に関連づけられたフロントバッファ18へのアップデートのために必要な情報を取得し、引数Cbで指定された領域に格納するためのものである。具体的には、画像データのどの領域のデータをバックバッファ17のどの領域に格納すればよいかについての情報を格納する。画像ビューア31は、この情報に基づいて、バックバッファ17を更新し、次に説明するAPI Dを呼び出せばよい。
API Dは、後述する引数Daに基づいてバックバッファ17をアップデートするためのものである。具体的には、引数Daで指定されたフロントバッファ18の分割アップデートを行った後、フロントバッファ18の次の分割アップデートに必要な情報を引数Dbで指定された領域に格納する。画像ビューア31は、フロントバッファのアップデートが完了するまで、取得した情報に基づいてのバックバッファ更新と、API Dの呼び出しを繰り返せばよい。
なお、上述したAPI Aは、フロントバッファ18の識別情報を元に、他のミドルウェアを介して、フロントバッファ18に関する必要な情報(幅、高さ、画像データを格納する領域のアドレスなど)を取得できることを前提とした場合の例である。当該他のミドルウェアが存在しない場合、API Aの引数を追加し、フロントバッファ18に関する必要な情報(幅、高さ、画像データを格納する領域のアドレスなど)についても、画像ビューア31が指定するようにする。
次に、図6は、フロントバッファ18に画像データがアップデートされる過程において実行される拡大、および縮小の概要を示している。
拡大、または縮小
API Aの引数Ab,Acで指定されたバックバッファ17の論理的な幅と高さが、フロントバッファ18の論理的な幅と高さと異なる場合、バックバッファ17上の画像データが拡大、または縮小されてフロントバッファ18にアップデートされる。
例えば、バックバッファ17の論理的な幅と高さが、フロントバッファ18の論理的な幅と高さよりも小さい場合、図6Aに示すように、バックバッファ17の画像データが拡大されてフロントバッファ18にアップデートされる。
また例えば、バックバッファ17の論理的な幅と高さが、フロントバッファ18の論理的な幅と高さよりも大きい場合、図6Bに示すように、バックバッファ17の画像データが縮小されてフロントバッファ18にアップデートされる。
したがって、画像ビューア31がフロントバッファ18の幅と高さを変更することにより、ディスプレイ21に表示される画像のサイズを拡大または縮小することが可能である。拡大比率(縮小比率)は、バックバッファ17の幅と高さ、および、フロントバッファ18の幅と高さによって定まるため、フロントバッファ18の幅と高さの変更に伴って拡大比率(縮小比率)は変動する。
そこで、フロントバッファ18のアップデート時に、フロントバッファ18の幅と高さを毎回取得し、拡大比率(縮小比率)を算出する。これにより、フロントバッファ18の幅と高さが変更されても、フロントバッファ18のアップデート時には、その時点でのフロントバッファ18の幅と、高さ、および、バックバッファ17の幅と高さから拡大比率(縮小比率)を得ることができる。したがって、フロントバッファ18の幅と高さを変更しても、バックバッファ17の設定を変更する必要がなく、変更前と同様にフロントバッファ18のアップデートを行うことができる。
次に、バックバッファ17をリングバッファとして利用する動作の概要について説明する。
図7に示すとおり、上述したように、バックバッファ17から画像データを読み出すときのライン数Yは、フロントバッファ18にアップデートした際の画像劣化を抑止するため、ミドルウェアのバッファコントローラ32により、フロントバッファ18に確保するライン数Zに基づいて決定される。
一方、バックバッファ17に画像データを書き込むときのライン数Xは、その出力元であるデコーダ19がハードウェアで構成されている場合、画像データとして出力できるライン数Xは、例えば32の倍数に限るなどの制約がある。
ただし、このように、バックバッファ17に画像データを書き込むときのライン数Xと、読み出すときのライン数Yにそれぞれ制約があったとしても、バックバッファ17として十分に大きな容量を確保できるのであれば、バックバッファ17から画像データを読み出すレートを書き込むレート以下とするだけでよい。
しかしながら、バックバッファ17として確保できる容量には限りがあるので、バックバッファ17に対する書き込みと読み出しには適切な制御が必要となる。
図8は、X≧Yの場合における、バックバッファ17をリングバッファとして用いたときの画像データの書き込みと読み出しの制御の概要を示している。
具体的には、バックバッファ17上に、少なくとも3つの領域A,B,Cを設けるようにし、1番目の領域Aの容量として画像データのY−1ライン分を確保する。また、2番目以降の領域B,Cの容量として、それぞれ画像データのXライン分を確保する。
上述したように、バックバッファ17に対する画像データの書き込みは、画像ビューア31の制御に従い、デコーダ19によって行なわれる。また、バックバッファ17からの画像データの読み出しは、バッファコントローラ32の制御に従い、転送部20によって行なわれる。
一方のバックバッファ17に対する画像データの書き込みは、領域Aを除いた領域B,Cに対し、領域B,C,B,C・・・の順に行なわれる。すなわち、ステップS1として、デコードされた画像データの1番目のXライン分が領域Bに書き込まれ、ステップS2において、デコードされた画像データの2番目のXライン分が領域Cに書き込まれる。そして、領域Bに書き込まれた画像データが読み出された後、ステップS3として、デコードされた画像データの3番目のXライン分が領域Bに書き込まれる。
他方、バックバッファ17からの画像データの読み出しは、書き込まれた順に従って領域B,Cから行なわれる。ただし、バックバッファ17からの読み出しは、Yライン分の画像データが連続的に行なわれるので、最後の領域(領域C)にYライン分に満たない画像データが残っている場合、当該Yライン分に満たない画像データが領域Aの最後尾に転送される。そして、領域A,BからYライン分の画像データが連続して読み出される。
すなわち、ステップS11として、バックバッファ17の領域Bに書き込まれた1番目のXライン分の画像データのうち、Yライン分が読み出されてフロントバッファ18にアップデートされる。次に、ステップS12として、領域Bに書き込まれた1番目のXライン分の画像データのうちの残りと、領域Cに書き込まれた2番目のXライン分の画像データのうちの、合計Yライン分が読み出されてフロントバッファ18にアップデートされる。
この後、バックバッファ17の領域Cには、2番目のXライン分の画像データの残り(未読み出しの画像データ)が書き込まれて入るものの、そのデータ量はYライン分に満たないので、ステップS13として、領域Cに書き込まれているYライン分に満たない画像データが領域Aの最後尾に転送される。この後、ステップS14として、バックバッファ17の領域Aの最後尾に転送されたYラインに満たない画像データと、領域Bに書き込まれた3番目のXライン分の画像データのうちの、合計Yライン分が読み出されてフロントバッファ18にアップデートされる。
そして、ステップS15として、領域Bに書き込まれた3番目のXライン分の画像データのうちの残りであるYライン分が読み出されてフロントバッファ18にアップデートされる。
以上説明したように、X≧Yの場合において、バックバッファ17をリングバッファとして用いることにより、バックバッファ17に対する画像データの書き込みと読み出しを独立して制御できるとともに、これらを並行して実行することができる。
なお、並行して実行するには、バックバッファ17上に、Y−1ライン分の領域を1つと、Xライン分の領域を2つ以上設ける必要がある。
また、バックバッファ17に4つ以上の領域、すなわち、領域Cに続いて、画像データのXライン分の容量を確保した領域D,E,・・・を設けるようにしてもよい。その場合、画像データの書き込みは、領域B,C,D,E,・・・,B,C,D,E,・・・の順に行なわれる。
反対にバックバッファ17に2つの領域A,Bだけを設けるようにしてもよい。この場合でも、バックバッファ17に対する画像データの書き込みと読み出しを独立して制御することができる。ただし、これらを並行して実行することはできない。
次に、図9は、X<Yの場合における、バックバッファ17をリングバッファとして用いたときの画像データの書き込みと読み出しの制御の概要を示している。
バックバッファ17上に設ける領域については、図8に示されたX≧Yの場合と同様なので、その説明は省略する。
一方のバックバッファ17に対する画像データの書き込みは、領域Aを除いた領域B,Cに対し、領域B,C,B,C・・・の順に行なわれる。すなわち、ステップS21として、デコードされた画像データの1番目のXライン分が領域Bに書き込まれ、ステップS22において、デコードされた画像データの2番目のXライン分が領域Cに書き込まれる。そして、領域Bに書き込まれた画像データが読み出された後、ステップS23として、デコードされた画像データの3番目のXライン分が領域Bに書き込まれる。また、領域Cに書き込まれた画像データが読み出された後、ステップS24として、デコードされた画像データの4番目のXライン分が領域Cに書き込まれる。
他方、バックバッファ17からの画像データの読み出しは、書き込まれた順に従って領域B,Cから行なわれる。ただし、バックバッファ17からの読み出しは、Yライン分の画像データが連続的に行なわれるので、最後の領域(領域C)にYライン分に満たない画像データが残っている場合、当該Yライン分に満たない画像データが領域Aの最後尾に転送される。そして、領域A,BからYライン分の画像データが連続して読み出される。
すなわち、ステップS31として、バックバッファ17の領域Bに書き込まれた1番目のXライン分の画像データと、領域Cに書き込まれた2番目のXライン分の画像データのうちの、合計Yライン分が読み出されてフロントバッファ18にアップデートされる。
この後、バックバッファ17の領域Cには、2番目のXライン分の画像データの残り(未読み出しの画像データ)が書き込まれて入るものの、そのデータ量はYライン分に満たないので、ステップS32として、領域Cに書き込まれているYライン分に満たない画像データが領域Aの最後尾に転送される。この後、ステップS33として、バックバッファ17の領域Aの最後尾に転送されたYラインに満たない画像データと、領域Bに書き込まれた3番目のXライン分の画像データのうちの、合計Yライン分が読み出されてフロントバッファ18にアップデートされる。
そして、ステップS34として、領域Bに書き込まれた3番目のXライン分の画像データのうちの残りと、領域Cに書き込まれた3番目のXライン分の画像データのうちの、合計Yライン分が読み出されてフロントバッファ18にアップデートされる。
以上説明したように、X<Yの場合においても、バックバッファ17をリングバッファとして用いることにより、バックバッファ17に対する画像データの書き込みと読み出しを独立して制御するとともに、これらを並行して実行することができる。
次に、図8および図9を参照して概説した、バックバッファ17をリングバッファとして用いたときの画像データの書き込みと読み出しの制御について、図10および図11を参照して説明する。
図10は、バックバッファ17に対する画像データの書き込み制御に関する画像ビューア31の処理を説明するフローチャートである。
ステップS51において、画像ビューア31は、記録媒体31に記録されている、デコード前の画像データをVRAM15の一時領域16に保持させる。ステップS52において、画像ビューア31は、デコーダ19を制御して、一時領域16に保持されている画像データのデコードを開始させる。
ステップS53において、画像ビューア31は、バックバッファ17にXライン分の空き領域(例えば、図8または図9の領域B,C)があるか否かを判定し、空き領域が発生するまで待機する。そして、バックバッファ17にXライン分の空き領域があると判定した場合、処理をステップS54に進める。ステップS54において、画像ビューア31は、デコーダ19に対し、デコード結果として得られた画像データをXライン分だけバックバッファ17のXライン分の空き領域に書き込ませる。
ステップS55において、画像ビューア31は、デコーダ19によりデコードされた画像データの全体がバックバッファ17に書き込まれたか否かを判定する。そして、デコードされた画像データの全体がバックバッファ17に書き込まれたと判定するまで、ステップS53に戻ってそれ以降の処理を繰り返する。その後、デコードされた画像データの全体がバックバッファ17に書き込まれたと判定した場合、画像ビューア31は、バッファコントローラ32に対して終了を通知し、当該処理を終了する。
次に、図11は、バックバッファ17に書き込まれた画像データの読み出し制御に関するバッファコントローラ32の処理を説明するフローチャートである。
ステップS61において、バッファコントローラ32は、画像データの拡大または縮小率と、画像データをフロントバッファ18に書き込むライン数Zとに基づいて、バックバッファ17から画像データを読み出すときのライン数Yを決定する。
ステップS62において、バッファコントローラ32は、バックバッファ17に書き込まれている画像データのうち、読み出されていない画像データが残っているか否かを判定する。読み出されていない画像データが残っていると判定された場合、処理はステップS63に進められる。なお、読み出されていない画像データが残っていないと判定された場合には、処理はステップS67に進められる。
ステップS63において、バッファコントローラ32は、バックバッファ17にYライン分の画像データが連続して書き込まれているか否かを判定する。ステップS63において、Yライン分の画像データが連続して書き込まれていないと判定された場合、処理はステップS64に進められる。ステップS64において、バッファコントローラ32は、転送部20を制御して、Yライン分に満たない画像データを領域Aの最後尾に転送させる。
なお、ステップS63において、Yライン分の画像データが連続して書き込まれていると判定された場合、ステップS64はスキップされて処理はステップS65に進められる。
ステップS65において、バッファコントローラ32は、転送部20を制御して、バックバッファ17からYライン分の画像データを連続して読み出させ、Zライン分の画像データに変換(拡大または縮小)させて、フロントバッファ18に書き込ませる。
ステップS67において、バッファコントローラ32は、画像ビューア31からの終了の通知の有無に基づき、当該処理を終了するか否か判定する。具体的には、画像ビューア31から終了の通知がない場合、ステップS62に戻ってそれ以降の処理を繰り返する。その後、画像ビューア31から終了の通知があった場合、当該処理を終了する。
以上説明したように、画像ビューア31とバッファコントローラ32によれば、VRAM15におけるバックバッファ17としてのメモリ使用量を抑えつつ、それぞれ独立してバックバッファ17の書き込みまたは読み出しを制御することができる。また、バックバッファ17に対するXライン分の画像データの書き込みと、バックバッファ17からのYライン分の画像データの読み出しは同時に並列して実行させることができる。
また、画像データの全体がデコードされることを待つことなく、分割してバックバッファ17およびフロントバッファ18にアップデートすることにより、ユーザは、目的の画像の一部が順次表示されていく様子を確認でき、デコードの進捗状況を容易に把握できる。これにより、画像データの高解像度化に伴ってデコード処理に要する時間が長くなったとしても、ユーザの待ち時間に対するストレスを軽減させることができる。
また、仮にデコード処理が終了するまでの間に、目的の画像の表示を中止させるという選択肢をユーザに提供することも可能である(ただし、画像ビューア31のユーザインタフェースに依存する)。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
画像データを分割してフロントバッファにアップデートする従来の方法を説明するための図である。 画像データを分割してフロントバッファにアップデートする従来の方法を説明するための図である。 本発明を適用した画像表示装置の構成例を示すブロック図である。 アプリケーションプログラムである画像ビューアと、ミドルウェアであるバッファコントローラの制御範囲を示す図である。 ミドルウェアであるバッファコントローラに対する引数を説明する図である。 フロントバッファに対するアップデートに際する画像データの拡大、縮小を説明するための図である。 バックバッファに対する書き込みライン数Xと読み出しライン数Yを示す図である。 X≧Yである場合の動作概要を説明するための図である。 X<Yである場合の動作概要を説明するための図である。 画像ビューアの処理を説明するフローチャートである。 バッファコントローラの処理を説明するフローチャートである。
符号の説明
10 画像表示装置, 11 CPU, 12 メモリ, 13 記録媒体, 14 画像処理部, 15 VRAM, 16 一時領域, 17 バックバッファ, 18 フロントバッファ, 19 デコーダ, 20 転送部, 31 画像ビューア, 32 バッファコントローラ

Claims (7)

  1. フロントバッファに書き込まれた画像データに対応する画像をディスプレイに表示させる表示制御装置において、
    画像符号化データをデコードし、デコード結果として得られる前記画像データを第1のデータサイズ単位でバックバッファに書き込むデコード手段と、
    前記第1のデータサイズ単位で前記バックバッファに書き込まれた前記画像データを、前記バックバッファから第2のデータサイズ単位で読み出して前記フロントバッファに転送する転送手段と
    を含み、
    前記バックバッファは、前記第2のデータサイズに基づいて決定される容量を有する予備領域、および少なくとも前記第1のデータサイズと同じ容量をそれぞれ有する複数の本領域が連結されたリングバッファである
    表示制御装置。
  2. 前記転送手段は、前記バックバッファの前記本領域に前記第2のデータサイズ分以上連続的に書き込まれている前記画像データを、前記バックバッファから第2のデータサイズ単位で読み出して前記フロントバッファに転送する
    請求項1に記載の表示制御装置。
  3. 前記転送手段は、前記バックバッファの前記本領域に書き込まれている前記画像データが前記第2のデータサイズ分に満たない場合、前記第2のデータサイズ分に満たない前記画像データを前記予備領域の最後尾に転送し、前記予備領域と前記本領域に前記第2のデータサイズ分以上連続的に書き込まれている前記画像データを、前記バックバッファから第2のデータサイズ単位で読み出して前記フロントバッファに転送する
    請求項2に記載の表示制御装置。
  4. 前記転送手段は、前記第1のデータサイズ単位で前記バックバッファに書き込まれた前記画像データを、前記バックバッファから第2のデータサイズ単位で読み出して、第3のデータサイズに変換して前記フロントバッファに転送する
    請求項2に記載の表示制御装置。
  5. 前記デコード手段は、アプリケーションプログラムにより制御され、
    前記転送手段は、前記アプリケーションプログラムによって呼び出されるミドルウェアにより前記アプリケーションプログラムから独立して制御される
    請求項2に記載の表示制御装置。
  6. フロントバッファに書き込まれた画像データに対応する画像をディスプレイに表示させる表示制御装置の表示制御方法において、
    画像符号化データをデコードし、
    デコード結果として得られる前記画像データを第1のデータサイズ単位でバックバッファに書き込み、
    前記第1のデータサイズ単位で前記バックバッファに書き込まれた前記画像データを、前記バックバッファから第2のデータサイズ単位で読み出して前記フロントバッファに転送する
    ステップを含み、
    前記バックバッファは、前記第2のデータサイズに基づいて決定される容量を有する予備領域、および少なくとも前記第1のデータサイズと同じ容量をそれぞれ有する複数の本領域が連結されたリングバッファである
    表示制御方法。
  7. フロントバッファに書き込まれた画像データに対応する画像をディスプレイに表示させる表示制御装置の制御用のプログラムであって、
    画像符号化データをデコードし、
    デコード結果として得られる前記画像データを第1のデータサイズ単位でバックバッファに書き込み、
    前記第1のデータサイズ単位で前記バックバッファに書き込まれた前記画像データを、前記バックバッファから第2のデータサイズ単位で読み出して前記フロントバッファに転送する
    ステップを含む処理を表示制御装置のコンピュータに実行させ、
    前記バックバッファは、前記第2のデータサイズに基づいて決定される容量を有する予備領域、および少なくとも前記第1のデータサイズと同じ容量をそれぞれ有する複数の本領域が連結されたリングバッファである
    プログラム。
JP2008302339A 2008-11-27 2008-11-27 表示制御装置、表示制御方法、およびプログラム Expired - Fee Related JP4623207B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008302339A JP4623207B2 (ja) 2008-11-27 2008-11-27 表示制御装置、表示制御方法、およびプログラム
US12/623,349 US20100128045A1 (en) 2008-11-27 2009-11-20 Display control apparatus, display control method, and program therefor
CN200910246358A CN101751909A (zh) 2008-11-27 2009-11-27 显示控制装置、显示控制方法及其程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008302339A JP4623207B2 (ja) 2008-11-27 2008-11-27 表示制御装置、表示制御方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2010128150A true JP2010128150A (ja) 2010-06-10
JP4623207B2 JP4623207B2 (ja) 2011-02-02

Family

ID=42195825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008302339A Expired - Fee Related JP4623207B2 (ja) 2008-11-27 2008-11-27 表示制御装置、表示制御方法、およびプログラム

Country Status (3)

Country Link
US (1) US20100128045A1 (ja)
JP (1) JP4623207B2 (ja)
CN (1) CN101751909A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012220683A (ja) * 2011-04-07 2012-11-12 Sony Computer Entertainment Inc 画像処理装置および画像処理方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012032456A (ja) * 2010-07-28 2012-02-16 Yamaha Corp 画像処理装置
CN102750665B (zh) * 2012-06-01 2014-09-24 上海鼎为电子科技(集团)有限公司 一种图形处理方法、图形处理装置及移动终端
KR102275712B1 (ko) 2014-10-31 2021-07-09 삼성전자주식회사 렌더링 방법, 렌더링 장치 및 전자 장치
US11164496B2 (en) * 2019-01-04 2021-11-02 Channel One Holdings Inc. Interrupt-free multiple buffering methods and systems
CN113933842A (zh) * 2021-12-21 2022-01-14 南京天朗防务科技有限公司 Sar图像快速交互显示方法和电子装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164202A (ja) * 2002-11-12 2004-06-10 Matsushita Electric Ind Co Ltd データ送受システム、リングバッファ制御方法、制御プログラム
JP2007086432A (ja) * 2005-09-22 2007-04-05 Sony Corp 表示制御装置、および表示制御方法
JP2007086245A (ja) * 2005-09-21 2007-04-05 Sony Corp 表示制御装置、および表示制御方法
JP2008306444A (ja) * 2007-06-07 2008-12-18 Yamaha Corp 画像処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW509879B (en) * 2001-01-29 2002-11-11 Silicon Integrated Sys Corp Method and apparatus for minimizing the idle time of a graphics engine by using rendering control before flipping frame buffer
US6836809B2 (en) * 2001-08-23 2004-12-28 Intel Corporation Writing and reading data from a queue
EP1504417A2 (en) * 2002-05-10 2005-02-09 NEC Electronics Corporation Graphics engine converting individual commands to spatial image information, and electrical device and memory incorporating the graphics engine
US8054316B2 (en) * 2008-11-14 2011-11-08 Nvidia Corporation Picture processing using a hybrid system configuration

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164202A (ja) * 2002-11-12 2004-06-10 Matsushita Electric Ind Co Ltd データ送受システム、リングバッファ制御方法、制御プログラム
JP2007086245A (ja) * 2005-09-21 2007-04-05 Sony Corp 表示制御装置、および表示制御方法
JP2007086432A (ja) * 2005-09-22 2007-04-05 Sony Corp 表示制御装置、および表示制御方法
JP2008306444A (ja) * 2007-06-07 2008-12-18 Yamaha Corp 画像処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012220683A (ja) * 2011-04-07 2012-11-12 Sony Computer Entertainment Inc 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
US20100128045A1 (en) 2010-05-27
JP4623207B2 (ja) 2011-02-02
CN101751909A (zh) 2010-06-23

Similar Documents

Publication Publication Date Title
JP4623207B2 (ja) 表示制御装置、表示制御方法、およびプログラム
JP4889573B2 (ja) 画像処理装置
US10026146B2 (en) Image processing device including a progress notifier which outputs a progress signal
JP2014187601A (ja) 画像処理装置、画像処理方法、及び、プログラム
JP2014186196A (ja) 映像処理装置および映像表示システム
JP2010081530A (ja) 動画像復元装置、動画像復元方法及びプログラム
JP2011053671A (ja) 半導体集積回路
JP4380740B2 (ja) 画像処理装置
JP4675944B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム
JP2008071261A (ja) 画像処理システム及び画像処理方法
JP5597175B2 (ja) 画像圧縮装置及び画像処理システム
JP3991064B2 (ja) 映像信号処理装置
JP4380741B2 (ja) 画像処理装置
US7928987B2 (en) Method and apparatus for decoding video data
JP4746912B2 (ja) 画像信号処理回路および画像表示装置
JP2010085779A (ja) 画像処理装置および画像処理方法
JP2013195963A (ja) 画像処理装置、集積回路装置及び画像表示システム
JP2016171422A (ja) 画像処理装置、及び画像処理方法
JP5788641B2 (ja) 動画再生方法
JP4717704B2 (ja) データ処理装置およびデータ処理方法
JP5125205B2 (ja) データ信号処理装置、画像処理装置、画像出力装置、および、データ信号処理方法
KR100617658B1 (ko) 표시 데이터 출력 장치 및 방법
JP5003739B2 (ja) 画像表示装置および画像表示方法
JP2002091421A (ja) 画像表示制御方法及び装置、並びにコンピュータ読取可能な記録媒体
JP2006165825A (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び記憶媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100915

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101005

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101018

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees