JP2017097226A - 画像処理装置、その制御方法、およびプログラム - Google Patents

画像処理装置、その制御方法、およびプログラム Download PDF

Info

Publication number
JP2017097226A
JP2017097226A JP2015230693A JP2015230693A JP2017097226A JP 2017097226 A JP2017097226 A JP 2017097226A JP 2015230693 A JP2015230693 A JP 2015230693A JP 2015230693 A JP2015230693 A JP 2015230693A JP 2017097226 A JP2017097226 A JP 2017097226A
Authority
JP
Japan
Prior art keywords
image processing
parameter
parameters
buffer
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.)
Pending
Application number
JP2015230693A
Other languages
English (en)
Inventor
友貴 五十嵐
Tomoki Igarashi
友貴 五十嵐
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2015230693A priority Critical patent/JP2017097226A/ja
Priority to US15/348,143 priority patent/US20170154611A1/en
Publication of JP2017097226A publication Critical patent/JP2017097226A/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/391Resolution modifying circuits, e.g. variable screen formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • 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
    • 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

Landscapes

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

Abstract

【課題】所定のタイミングで更新されるパラメータを用いて画像処理を行う場合における画像処理後の画質劣化を視認させにくくする。【解決手段】画像信号に対して画像処理を行う画像処理装置は、該画像処理を行うための複数のパラメータを取得し、該複数のパラメータをバッファに書き込むことでパラメータを更新する更新し、該複数のパラメータのうち、該バッファにおいて未更新のパラメータを、該バッファにおいて更新済のパラメータを用いて補間して生成し、該バッファにおいて更新済のパラメータおよび該生成されたパラメータを用いて該画像処理を行う。【選択図】 図1

Description

本発明は、画像処理装置、その制御方法、およびプログラムに関する。
画像の高解像度化にともない、高い精度で画像処理を行うために画像処理パラメータのデータ量が増加している。従来の画像処理装置は、画像処理パラメータを格納するためのバッファを2面用いて構成することが一般的である。このような画像処理装置では、次のような方法で画像処理パラメータを更新することが多い。すなわち、画像処理装置は、2面のバッファのうち、一方のバッファから画像処理パラメータを読み出しながら現フレームの画像処理をしている期間に、もう一方のバッファの画像処理パラメータを更新する。そして、パラメータ更新後、画像処理装置は、バッファを切替えて、更新したバッファのパラメータを使用して画像処理を行う。
しかしながら、このように2面のバッファを切り換える方法は、バッファのコストがかかるという課題がある。特許文献1には、従来2面で構成していたバッファを1面で構成し、コストを削減するための方法が開示されている。特許文献1の画像処理装置は、バッファを1面で構成し、画像処理を行わない垂直ブランキング期間に、バッファの画像処理パラメータを更新する。
特開2013−205461号公報
解像度変換処理などの画像処理により、処理対象の画像の垂直ブランキング期間が短くなることがある。また、データ量の大きな画像処理パラメータは、通常、画像処理装置内外のメインメモリに格納される。この場合、画像処理パラメータの更新は、DMA(Direct Memory Access)コントローラーなどを使用し、メインメモリから画像処理装置のバッファへと転送することにより行われる。
しかし、転送時にメモリ帯域が十分確保できないときや、垂直ブランキング期間が短いときに、1回の垂直ブランキング期間中に全ての画像処理パラメータの更新が完了しない場合がある。1回の垂直ブランキング期間内に画像処理パラメータの更新が完了しない場合、画像処理装置は、次のフレームで、現在のフレームにおける更新途中の画像処理パラメータを用いて画像処理を行う。その場合、更新済の画像処理パラメータを用いた画像処理結果と更新前の画像処理パラメータを用いた画像処理結果との境界に差分が生じるため、画質劣化として視認されやすくなるという課題があった。
本発明は、上記課題に鑑みてなされたものであり、所定のタイミングで更新されるパラメータを用いて画像処理を行う場合における画像処理後の画質劣化を視認させにくくすることを目的とする。
上記の目的を達成するための、本発明の一態様による画像処理装置は、以下の構成を有する。すなわち、画像信号に対して画像処理を行う画像処理装置であって、前記画像処理を行うための複数のパラメータを取得する取得手段と、前記取得された複数のパラメータをバッファに書き込むことでパラメータを更新する更新手段と、前記取得された複数のパラメータのうち、前記バッファにおいて未更新のパラメータを、前記バッファにおいて更新済のパラメータを用いて補間して生成する補間手段と、前記バッファにおいて更新済のパラメータおよび前記生成されたパラメータを用いて前記画像処理を行うことを特徴とする。
本発明によれば、所定のタイミングで更新されるパラメータを用いて画像処理を行う場合における画像処理後の画質劣化を視認させにくくすることが可能となる。
実施形態1における画像処理装置の構成の例を示す図。 パラメータ更新部の構成の例を示す図。 パラメータ更新部の構成の別の例を示す図。 実施形態1における処理のフローチャート。 実施形態1における処理のフローチャート。 更新前後のパラメータの変換曲線を示す図。 実施形態1における色変換テーブルを示す図。 実施形態1における色変換テーブルのメインメモリでの配置を示す図。 実施形態1の第1のパラメータ更新状態を示す図。 実施形態1の第1、第2のパラメータ更新状態を示す図。 第1のパラメータ更新が完了した時点のパラメータの変換曲線を示す図。 実施形態1の更新前、更新後のパラメータの例を示す図。 実施形態1のパラメータの変換曲線の一例を示す図。 実施形態2における処理のフローチャート。 実施形態3における画像処理装置の構成の例を示す図。
以下、添付の図面を参照して、本発明をその実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
[実施形態1]
図1は、本発明の実施形態1における画像処理装置100の構成の例を示す図である。本実施形態における画像処理装置100は、更新済の画像処理パラメータを用いて、未更新の画像処理パラメータを補間して生成することが可能である。この画像処理パラメータは、後述する画像処理部102により使用されるパラメータであり、以下、単にパラメータとも称する。
画像入力部101は、外部から、入力画像信号を受信する。この画像信号は、個々の画像フレームにおける画像データの信号である。画像入力部101は、信号フォーマットの解析を行い、解析後の画像信号を画像処理部102に出力する。また、画像入力部101は、パラメータ補間部105とパラメータ更新部107に対して、画像信号入力開始(画像フレームの開始)を通知する。画像処理部102は、画像信号に対して、画像処理を行う。本実施形態では、画像処理部102は、8bitの画素値を補正カーブによって色補正する処理を行うものとする。本実施形態においては、色補正後の画素値として、画像処理部102は、入力画素のR画素値から補正カーブに基づく色変換テーブルによって補正した画素値を出力する。画像処理部102は、画像処理時にはパラメータ補間部105を介してパラメータバッファ106からパラメータを読み出し、または、パラメータ補間部105により保管されたパラメータを読みだし、画像処理を行う。画像処理部102は、画像処理後のフレームを画像出力部103に出力する。
画像出力部103は、画像処理された画像信号を表示装置108に出力する。更新期間検出部104は、パラメータを更新するための時間期間であるパラメータ更新期間を検出し、パラメータ更新期間の開始をパラメータ更新部107に通知する。本実施形態では、パラメータ更新期間として、画像処理部102に入力される画像信号の垂直ブランキング期間を想定する。更新期間検出部104は、画像処理部102に入力される画像信号の垂直ブランキング期間の開始時に開始トリガ信号を生成し、パラメータ更新部107に入力する。なお、パラメータ更新期間は、垂直ブランキング期間に限る必要はなく、画像処理部102による画像処理の実施期間以外であればよい。例えば、画像処理装置100内部で各画像処理の処理タイミングが生成されている場合は、更新期間検出部104は、その内部タイミング信号に基づいてパラメータ更新期間の開始を通知してもよい。
パラメータ補間部105は、画像処理部102がパラメータバッファ106からパラメータ読み出しを行った場合に、画像処理部102にパラメータを返す。本実施形態では、パラメータ補間部105は、パラメータ未更新であれば更新済のパラメータから補間した値を返し、パラメータ更新済であれば、更新済のパラメータを返す。パラメータ補間部105は、参照するパラメータが更新済かどうかを判断するために、パラメータバッファ106におけるパラメータ更新情報を受けることが出来る。本実施形態では、後述するように、パラメータは複数のセットに分けられる。そのため、パラメータ補間部105は、パラメータバッファ106から、各パラメータセットが更新されているかの情報を受けることが出来る。パラメータ補間部105は、画像入力部101から画像信号入力開始の通知を受けた時点でパラメータ更新情報を取得する。
パラメータバッファ106は、画像処理部102が使用するパラメータを格納するメモリであり、本実施形態では1面で構成される。パラメータ更新部107は、パラメータバッファ106に格納されるパラメータの更新を行う。パラメータ更新部107は、更新期間検出部104により通知されたパラメータ更新期間開始の通知を検知してからパラメータ更新を開始する。
次に、パラメータ更新部107の構成について図2と図3を用いて詳細に説明する。図2と図3は、パラメータ更新部107の構成の一例を表す図である。図2に示すパラメータ更新部107は、パラメータ更新制御部201と、メインメモリ204と、パラメータ読出部203と、パラメータ書込部202から構成される。
パラメータ更新制御部201は、画像入力部101から画像信号入力開始の通知を受け取り、更新期間検出部104からパラメータ更新期間開始の通知を受け取る。パラメータ更新制御部201は、これらの通知に基づいて、パラメータ書込部202、およびパラメータ読出部203を制御する。例えば、パラメータ更新制御部201は、パラメータ書込部202に対し、パラメータバッファ106へのデータの書込順番を設定する。また、例えば、パラメータ更新制御部201は、パラメータ読出部203に対し、メインメモリ204からのデータの読出開始アドレスを設定し、また、読出のための転送サイズ、読出動作開始及び中止を制御する。
パラメータ書込部202は、パラメータ読出部203により読み出されたパラメータを、パラメータ更新制御部201から設定された書込順番に従い、パラメータバッファ106に書き込む。パラメータ読出部203は、パラメータ更新制御部201により設定された読み出し開始アドレスに従い、メインメモリ204からパラメータデータを読み出す。メインメモリ204は、パラメータ更新制御部201の制御により、パラメータバッファ106に設定するための画像処理パラメータを取得して格納する。
本実施形態では、パラメータ書込部202及びパラメータ読出部203はDMA(Direct Memory Access)コントローラーにより構成されているものとする。しかし、DMAコントローラーに限定する必要はなく、画像処理装置100における不図示のCPU(Central Processing Unit)がメインメモリ204からパラメータを読み出し、パラメータバッファ106に書き込んでもよい。
図3は、パラメータ更新部107の構成の他の例を表す図である。図3に示すパラメータ更新部107は、図2と異なりメインメモリ204を持たず、パラメータ読出部203の代わりにパラメータ生成部205を持つ構成となっている。パラメータ生成部205は、パラメータバッファ106に書き込むパラメータを生成して取得する。なお、以降の説明では、パラメータ更新部107の構成は、図2に示す構成を前提とするが、必要な修正を加えることにより、図3に示す構成でも以下の実施形態は実現可能である。
次に、実施形態1における画像処理装置100の処理を図4、図5を用いて説明する。図4は、パラメータ更新要求が発生したときに、パラメータ更新部107がパラメータ更新処理を行うための処理のフローチャートである。本実施形態において、パラメータ更新要求は、ユーザによる操作や処理対象の画像の解像度、色空間の変化、画像の性質等により発生し得る。
図4において、パラメータ更新制御部201は、パラメータ更新要求が発生すると、メメインメモリ304にパラメータを配置する(S501)。パラメータは、例えば、幾つかのパターンのテーブルデータとして、画像処理装置100内外のROM領域(不図示)に保存されている。パラメータ更新制御部201は、パラメータ更新要求の発生後に、その中から1つを選択する。本実施形態では、補間可能なパラメータから先に転送されるように、パラメータ更新制御部201は、パラメータの並べ替えを行い、メインメモリ204に格納する。パラメータの並べ替えに関する説明は後述する。
次に、パラメータ更新制御部201は、パラメータ書込部202およびパラメータ読出部203に対し、動作条件を設定する(S502)。本実施形態では、パラメータ更新制御部201は、動作条件として、パラメータ書込部202に対して書込順番を設定し、パラメータ読出部203に対してDMAコントローラーの読出開始アドレス、読出サイズ(転送量)を設定する。
垂直ブランキング期間が開始すると、更新期間検出部104は、パラメータ更新期間開始をパラメータ更新制御部201に通知する。これを受けて、パラメータ更新制御部201は、パラメータ更新期間開始の通知を検出する(S503)。パラメータ更新制御部201は、パラメータ更新期間開始の通知を検出することにより、パラメータ読出部203およびパラメータ書込部202を起動させる(S504)。
続いて、パラメータ読出部203は、メインメモリ204からパラメータを順に読み出す。パラメータ書込部202は、パラメータ読出部203により読み出されたパラメータをパラメータバッファ106に書き込む。このとき、パラメータ書込部202は、パラメータ更新制御部201により設定された書込順番に基づいて、アドレス変換を行いながらパラメータを書き込む(S505)。S505の処理は、パラメータ更新が行われていることを意味する。
画像信号が画像入力部101に入力されると、画像入力部101は、画像信号入力開始をパラメータ更新制御部201に通知する。これを受けて、パラメータ更新制御部201は、画像入力開始の通知を検知する(S506)。続いて、パラメータ更新部107は、パラメータ更新を継続するかどうかを判断する(S507)。本実施形態では、パラメータ更新を継続するものとする(S507のYes)。一方、パラメータ更新を停止する場合は(S507のNo)、パラメータ更新制御部201は、パラメータ読出部203の動作を停止する制御を行う(S508)。
次に、図5について説明する。図5は、パラメータ更新制御部201が画像入力開始の通知を検出し、その後、画像処理部102からパラメータの要求を受けた場合の処理のフローチャートである。まず、パラメータ補間部105は、パラメータ更新部107によるパラメータ更新処理が完了したか、すなわち、パラメータバッファ106へのパラメータの書き込みが完了したかを判断する。パラメータ補間部105は、この判断に基づいて、補間を行うかどうかを決定する(S509)。
パラメータ更新処理が完了している場合(S509のYes)、パラメータ補間部105は補間処理を行わず、要求に対応するパラメータを画像処理部102に返す。画像処理部102は、パラメータバッファ106に書き込まれたパラメータを用いて、画像処理を実施する(S510)。その後、画像処理装置100に1画像フレーム分の画像信号が入力され、画像処理部102による該画像信号への画像処理後に、処理は終了する(S511)。
一方、パラメータ更新処理が完了していない場合(S509のNo)、パラメータ補間部105は、未更新のパラメータ、すなわち、パラメータバッファ106にまだ書き込まれていないパラメータを補間する生成するための補間方法を決定する(S512)。パラメータ補間部105は、画像処理部102から未更新パラメータの要求があった場合に、S512で決定した補間方法を用いて未更新パラメータを生成し、画像処理部102へ返す。画像処理部102は、補間により生成されたパラメータを用いて画像処理を実施する(S513)。
その後、画像処理装置100に1画像フレーム分の画像データが入力され、画像処理部102による該画像信号への補間を伴う画像処理後に、処理は終了する(S514)。続いて、S507と同様に、パラメータ更新部107は、パラメータ更新を継続するかどうかを判断する(S515)。パラメータ更新を継続しない場合(S515のNo)、処理は終了する。パラメータ更新を継続する場合(S515のYes)、パラメータ更新部107は、次に画像信号入力開始を受けるまでパラメータ更新を継続し(S516)、再びS509に戻り、全てのパラメータ更新が完了するまで処理を繰り返す。
次に、パラメータバッファ106における画像処理パラメータの更新(パラメータの書き込み)が完了しない場合に、パラメータ補間部105によって未更新パラメータを補間する処理について、図6から図12を用いて説明する。
図6は、本実施形態における、変更前のパラメータと変更後のパラメータの変換曲線を示す図である。図6に示す変換曲線は、色変換曲線を表している。画像処理部102は、変更前の変換曲線を用いて、入力画素値0〜255に対して、各画素値を小さくする処理を行う。また、画像処理部102は、変更後の変換曲線を用いて、入力画素値0〜255に対して、各画素を大きくする処理を行う。具体的には、この変換処理はR(赤)成分の変換処理であるとする。
図7は、パラメータテーブル(色変換テーブル)の一例を示すものである。図におけるindexは、R画素値0〜255を表す。図7のパラメータテーブルは、indexに対応して出力される画素値をテーブルデータとして持つ。また、図7のパラメータテーブルは、パラメータ(出力される画素値)のサイズを4Byte(32bit)とし、4×256=1024Byteで構成される。なお、本実施形態におけるパラメータテーブルは、図7に示すものとするが、入力情報の識別情報や識別番号(図7ではindex)に対応して出力される出力情報(図7では32bitの画素値)が配置された他のテーブルであってもよい。
図7に示すパラメータテーブルによれば、入力されるR画素値が1の場合、画像処理後に出力されるR画素値は2となる。また、入力されるR画素値が3の場合、画像処理後に出力されるR画素値は8となる。
図7に示すテーブルデータは、パラメータ更新制御部201により4つのグループに分割され、メインメモリ204に格納される。図8は、本実施形態における色変換テーブルのメインメモリ204での配置を示す図である。図8に示す例によれば、図7に示すパラメータデータは、
第1のパラメータ:4*N (N=0,1,…,256/4 − 1)
第2のパラメータ:4*N+2 (N=0,1,…,256/4 − 1)
第3のパラメータ:4*N+1 (N=0,1,…,256/4 − 1)
第4のパラメータ:4*N+3 (N=0,1,…,256/4 − 1)
の条件で4つのグループに分割される。すなわち、indexが4の間隔でグループ化される。
パラメータ読出部203は、パラメータ更新制御部201の制御によって動作を開始し、設定された動作条件に基づいて、第1のパラメータセットから第4のパラメータセットを連続で読み出す。パラメータ書込部202は、図8のように分割されたテーブルデータにおける順を、パラメータバッファ106に書き込まれる順に書き込みアドレスを変換し、グループ毎にパラメータバッファ106に書き込む。本実施形態では、パラメータ読出部203とパラメータ書込部202により、以下に示す転送単位で連続して、パラメータバッファ106へ転送が行われる。
第1の転送単位:書き込み先開始アドレス0x0、書き込み回数64、オフセット16
第2の転送単位:書き込み先開始アドレス0x8、書き込み回数64、オフセット16
第3の転送単位:書き込み先開始アドレス0x4、書き込み回数64、オフセット16
第4の転送単位:書き込み先開始アドレス0xc、書き込み回数64、オフセット16
パラメータ書込部202が、パラメータバッファ106へ全てのパラメータの書き込みが完了すると、図7で示した色変換テーブルがパラメータバッファ106に格納された状態となる。一方、一部のパラメータの更新が完了した時点では、パラメータバッファ106には未更新のパラメータと更新済みのパラメータが混在することになる。
図9と図10に、パラメータバッファ106における更新状態の例を示す。図9は、第1のパラメータの更新が完了した時点におけるパラメータバッファ106における状態を示す。図9に示すように、第1のパラメータ更新が完了した時点では、パラメータバッファ106のindex=4N(N=0〜63)のパラメータが更新済となっている。パラメータバッファ106にはindex=4N(N=0〜63)のパラメータが0x10番地おきに書き込まれている。パラメータ補間部105は、パラメータバッファ106の最終アドレス−12番地に書き込みがあった場合に、第1のパラメータ更新が完了したことをパラメータ更新情報により認識する。
第1のパラメータ更新完了後に、画像処理部102が画像処理を開始する時には、未更新であるindex=129のパラメータには更新前のパラメータが書き込まれている。画像処理部102がindex=129のパラメータを参照する場合、パラメータ補間部105は、更新済であるindex=128のパラメータ130とindex=132のパラメータ141を用いて補間値を生成する。パラメータ補間部105は、生成した値を、index=129のパラメータとして返す。
図10は、第1のパラメータと第2のパラメータの更新が完了した時点におけるパラメータバッファ106における状態を示す。パラメータ補間部105は、パラメータバッファ106の最終アドレス−4番地に書き込みがあった場合に、第2のパラメータ更新が完了したことをパラメータ更新情報により認識する。第2のパラメータセット更新完了後に、画像処理部102が画像処理を開始する場合、パラメータ補間部105は、更新済であるindex=128のパラメータ130とindex=130のパラメータ135を用いて補間値を生成する。パラメータ補間部105は、生成した値を、index=129のパラメータとして返す。
パラメータ補間部105は、パラメータ更新要求があった場合に、パラメータバッファ106のパラメータ更新情報をクリアする。本実施形態では、図9、図10に示すようにパラメータバッファ106の0x0番地に書き込みがあった場合、パラメータ補間部105はパラメータ更新情報をクリアする。最初のパラメータがパラメータバッファ106に書き込まれると、パラメータ補間部105は全てのパラメータを未更新として認識する。その後、各パラメータセットの最終データ書込がある毎に、パラメータ更新情報が更新される。
図11は、第1のパラメータ更新が完了した時点のパラメータの変換曲線を示す図である。図11には、第1のパラメータ更新が完了した時点における、図6の入力画素値128〜143部分の曲線がしめされ、また、更新前のパラメータの変換曲線も示されている。図12は、入力画素値128〜143部分における更新前、更新後のパラメータの例を示す。
第1のパラメータ更新が完了した時点で画像入力部101に画像信号が入力され、画像処理部102が図11におけるAのパラメータを参照したとする。Aのパラメータは未更新であるため、補間を行わない従来例では更新前パラメータテーブル値であるCが読み出される。Cを参照した場合と本来参照されるべきAを参照した場合の色変換後の値は差が大きいため、Cを参照した場合の画像処理と、更新後パラメータを参照した場合のパラメータとの不整合が発生し、画質劣化が発生する。パラメータ補間部105は、画像処理部102が未更新であるAを参照しようとした場合、更新済のパラメータD、Eから補間したBをパラメータとして返却する。これによりAのパラメータが未更新であっても、Cを参照する場合に比べて誤差の小さい値を得ることが出来る。
上記例では、パラメータ補間部105は、近傍の2点を利用し、一次関数による近似を用いているが、複数の更新済パラメータを利用した近似を用いてもよい。また、パラメータ補間部105は、更新済パラメータデータのいずれか一方の1点の値をそのまま返却してもよい。また、パラメータ補間部105は、二次以上の多項式による近似を用いてもよい。
以下に、本実施形態における補間方法を示す。補間データをDとし、パラメータ要素数をNとし、参照パラメータテーブルデータをT[N]とし、参照パラメータのインデックスをi(0,1,…N−1のいずれかの値)とし、更新済パラメータ更新間隔をStepとする。また、小数値Fの小数点を切り捨て整数とする処理をROUNDDOWN(F)で表記し、値AをBで除算した際の剰余をmod(A,B)で表記する。また、補間時パラメータ1をP1=T[ROUNDDOWN(i/Step)*Step)]とし、補間時パラメータ2をP2=T[ROUNDDOWN(i/Step)*Step+Step](但し、i=N−Stepの場合はP2=P1とする。他の補間方法を用いてもよい)とする。この場合、補間データDは、
D=T[P1]+(T[P2]−T[P1])/Step*mod(i,Step)
により求められる。
ここで、更新済パラメータ更新間隔Stepとは、図8のようにパラメータを四分割とした場合、第1のパラメータ更新が完了した時点で4、第2のパラメータ更新が完了した時点で2となる。また、第3のパラメータ更新完了時点では引き続き2となり、第4のパラメータ更新完了時点では補間は行われない。
本補間方法を用いて、図9で示した、未更新であるindex=129のパラメータを更新後の第1のパラメータから補間する例を示す。
N=256、i=129、Step=4とすると
P1=T[ROUNDDOWN(129/4)*4)]=T[128]=130
P2=T[ROUNDDOWN(129/4)*4+4]=T[132]=141
D=130+(141−130)/4*1=132.75
となる。ここで、本実施形態では四捨五入して補間後の値は133とする。端数の処理方法については、切り捨て、または、切り上げを用いてもよい。
同様に、本補間方法を用いて、図10で示した、未更新であるindex=129のパラメータを更新後の第1のパラメータと第2のパラメータから補間する例を示す。
N=256、i=129、Step=2とすると
P1=T[ROUNDDOWN(129/2)*2)]=T[128]=130
P2=T[ROUNDDOWN(129/2)*2+2]=T[130]=138
D=130+(138−130)/2*1=134
となる。
このようにパラメータを所定の複数の数に分割して更新することで、パラメータ更新量が少ない時点で画像信号が入力され、画像処理を行う場合であっても、全体の精度を保つよう未更新パラメータを補間することが出来る。また、より多くのパラメータが更新されている場合は、誤差がより小さい補間値を求めることが出来る。
本実施形態では、パラメータを4つに分割する例を示したが、2つ以上であれば任意の数に出来る。例えば、パラメータ更新期間開始から画像信号入力開始までの期間が短く、精度が落ちても未更新パラメータを参照することなく補間することで整合性を保ちたい場合は、分割数を16や32などに増やしてもよい。また、分割数は、予め多く分割しておいてもよいし、パラメータ更新期間である垂直ブランキング期間の長さやメモリ帯域などから適する分割数に動的に分割してもよい。
また、分割したパラメータの転送順番を動的に変更してもよい。例えば画像の統計量からR画素値が低階調付近に多く分布している場合を考える。この場合、パラメータ更新部107は、最初に第1のパラメータを更新した後、第2のパラメータの1/4(0〜63)、第3のパラメータの1/4(0〜63)、第4のパラメータの1/4(0〜63)の順に更新するようにしてもよい。
また、パラメータ(変換曲線)の特徴から転送順番を動的に変更してもよい。図13に色変換曲線の例を示す。図13に示すように色変換曲線のうち、変化が大きい部分に偏りがある場合は、パラメータ更新部107は、変化が小さい部分は1/8精度で更新し、変化が大きい部分は全パラメータを更新するようにしてもよい。
また、本実施形態では、パラメータ読み出しにDMAコントローラーを用いる例を示したるが、CPUを用いてもよい。また、転送順にパラメータを配置せず、パラメータ読出部203がランダムアクセスしても良い。この場合、DMAコントローラーから読み出す際のメモリアクセス効率やCPUから読み出す際のキャッシュ効率が低下する。
パラメータ補間部105は、パラメータバッファ106の0x0番地に書き込みがされるとパラメータ更新情報をクリアする。また、パラメータ補間部105は、第1のパラメータが更新完了したことはパラメータバッファ106の最終アドレス−12番地が更新されたことによって知ることが出来る。同様に、パラメータ補間部105は、第2のパラメータの更新完了は最終アドレス−4番地、第3のパラメータの更新完了は最終アドレス−8番地、第4のパラメータの更新完了は最終アドレス−0番地が更新されたことによって知ることが出来る。
本実施形態では、最終アドレス−0番地が更新済であれば第4のパラメータ更新済であるため、パラメータ補間部105は補間を行わない。最終アドレス−4番地が更新済であれば、パラメータ補間部105は、第1のパラメータ、第2のパラメータによって未更新パラメータの補間を行う。それ以外の場合は、パラメータ補間部105は、第1のパラメータによって未更新パラメータの補間を行う。
分割したパラメータの内、1つも画像信号入力開始時に更新完了していない場合は、パラメータ補間部105は、更新前後のパラメータ、もしくは更新前のパラメータによって補間処理を行ってもよい。その場合、画像処理後の画像信号の品質は劣化する。このような更新処理以降にパラメータ更新要求が発生した場合には、パラメータ更新制御部201は、分割数を増やし、パラメータ更新期間開始から画像信号入力開始までに転送が必要な最低サイズを小さくする、といった制御を行ってもよい。
なお、本実施形態ではパラメータバッファ106の先頭及び終端4個分のパラメータ書き込みによって、パラメータ補間部105は補間方法を決定しているが、その他の方法でも良い。例えば、すべてのパラメータ更新情報がパラメータバッファ106からパラメータ補間部105に通知出来てもよい。この場合はパラメータがランダムに更新されても、パラメータ補間部105は、近傍の更新済パラメータを用いて補間することが可能である。
このように、本実施形態によれば、パラメータ更新期間である垂直ブランキング期間中にパラメータ更新が完了した場合は画質劣化なく画像処理を行うことが出来、パラメータ更新が完了しない場合は更新済パラメータを用いて画質劣化の小さい画像処理を行うことが出来る。このような構成によれば、画像処理のためのパラメータが未更新の場合であっても画像処理後の画質劣化を視認させにくくすることが可能となる。
なお、パラメータ更新部107は、パラメータ更新がパラメータ更新期間内に間に合わなかった場合に、パラメータ転送を中止することができる。また、画像信号入力が開始されたら、パラメータの更新が完了していなくてもパラメータ更新部107はパラメータ更新を中止し、画像信号入力終了から次の画像信号入力開始までに、次の画像信号入力のパラメータを更新してもよい。また、パラメータ更新が画像信号入力開始までに間に合わず、次の画像フレームでは更新中のパラメータが不要になる場合、パラメータ更新部107は、パラメータ更新を中止することでメモリ帯域を確保することが出来る。
[実施形態2]
実施形態2では、画像信号入力中のパラメータ更新を一時停止する場合について、図14のフローチャートを使用し、実施形態1との差分のみ説明する。S601〜S606の処理は、S501〜S506の処理と同様である。S607の処理は、S509の処理と同様である。S608〜S609の処理は、S510〜S511の処理と同様である。S611〜S613の処理は、S512〜S514と同様である。S615の処理は、S516の処理と同様である。
画像信号入力開始時点でパラメータ更新が完了していない場合、パラメータ更新制御部201が、パラメータ読出部203によるパラメータの転送を一時停止する(S610)。本実施形態では、パラメータ更新制御部201は、DMAコントローラーを一時停止する。画像信号入力終了後、パラメータ更新制御部201が、パラメータ読出部203によるパラメータの転送を再開する(S614)。本実施形態では、パラメータ更新制御部201は、一時停止中のDMAコントローラーを再開する。
このように、本実施形態によれば、画像処理中のメモリ帯域を確保しつつ、パラメータ更新期間中にパラメータを更新することが出来る。パラメータ更新が複数の画像フレーム期間に渡っても、補間を行うことで画質劣化を小さくすることが出来る。
[実施形態3]
実施形態3では、画像処理部が複数ある場合について実施形態1との差分のみ説明する。実施形態3の画像処理装置110の処理について、図15を用いて説明する。図15は、本実施形態における画像処理装置110の構成の例を示す図である。画像処理装置110は、画像処理部、パラメータ補間部、パラメータバッファを2つずつ持つ。第一画像処理部111の後段に第二画像処理部112が接続される。画像入力部101からの画像信号は第一画像処理部111で画像処理された後、第二画像処理部112で画像処理され、画像出力部103へ出力される。上述の実施形態と同様の方法により、第一画像処理部111は、第一パラメータ補間部113を介して第一パラメータバッファ115からパラメータを読み出す。同様に、第二画像処理部112は、第二パラメータ補間部114を介して第二パラメータバッファ116。なお、画像処理は、2段以上で行われてもよく、それに伴い、画像処理部、パラメータ補間部、パラメータバッファは2つ以上あってよい。
このような複数画像処理を持つ例の、パラメータ更新部117について説明する。実施形態1においてはテーブルデータを4つに分割し、メインメモリ204に格納した。
第1のパラメータ:4*N (N=0,1,…,256/4 − 1)
第2のパラメータ:4*N+2 (N=0,1,…,256/4 − 1)
第3のパラメータ:4*N+1 (N=0,1,…,256/4 − 1)
第4のパラメータ:4*N+3 (N=0,1,…,256/4 − 1)
本実施形態では第一画像処理部111、第二画像処理部112をそれぞれ分割し、メインメモリ204に混在して配置することが出来る。以下に例を示す。
第1のパラメータ:第一画像処理部111の4*N
(N=0,1,…,256/4 − 1)
第2のパラメータ:第二画像処理部112の4*N
(N=0,1,…,256/4 − 1)
第3のパラメータ:第一画像処理部111の4*N+2
(N=0,1,…,256/4 − 1)
第4のパラメータ:第二画像処理部112の4*N+2
(N=0,1,…,256/4 − 1)
第5のパラメータ:第一画像処理部111の4*N+1
(N=0,1,…,256/4 − 1)
第6のパラメータ:第二画像処理部112の4*N+1
(N=0,1,…,256/4 − 1)
第7のパラメータ:第一画像処理部111の4*N+3
(N=0,1,…,256/4 − 1)
第8のパラメータ:第二画像処理部112の4*N+3
(N=0,1,…,256/4 − 1)
また、画像処理の内容によって転送順番を変更してもよい。例えば、第一画像処理部111の画像処理が、第二画像処理部112の画像処理よりも画質劣化が目立ちやすい処理である場合を想定する。この場合、以下のように、パラメータ更新部117は、最初に最低限の画像処理パラメータを第一画像処理部111と第二画像処理部112に送る。続いて、パラメータ更新部117が、第一画像処理部111のパラメータを全て送る、といった更新順であってもよい。
第1のパラメータ:第一画像処理部111の4*N
(N=0,1,…,256/4 − 1)
第2のパラメータ:第二画像処理部112の4*N
(N=0,1,…,256/4 − 1)
第3のパラメータ:第一画像処理部111の4*N+2
(N=0,1,…,256/4 − 1)
第4のパラメータ:第一画像処理部111の4*N+1
(N=0,1,…,256/4 − 1)
第5のパラメータ:第一画像処理部111の4*N+3
(N=0,1,…,256/4 − 1)
第6のパラメータ:第二画像処理部112の4*N+2
(N=0,1,…,256/4 − 1)
第7のパラメータ:第二画像処理部112の4*N+1
(N=0,1,…,256/4 − 1)
第8のパラメータ:第二画像処理部112の4*N+3
(N=0,1,…,256/4 − 1)
パラメータ更新制御部201は、パラメータ読出部203に第1から第8のパラメータを順に読み出すように設定する。パラメータ更新制御部201は、パラメータ書込部202に第1から第8のパラメータが第一パラメータバッファ115、第二パラメータバッファ116の適するアドレスに書き込まれるようにアドレス制御を設定する。
本実施形態によれば、第一画像処理部111、第二画像処理部112に補間可能な最小限のデータを送ることで画像処理の整合性を維持し、画質劣化の小さい画像処理を行うことが出来る。さらに残りの分割データを送ることでさらに画質劣化を小さくすることが出来る。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 画像処理装置、101 画像入力部、102 画像処理部、103 画像出力部、104 更新期間検出部、105 パラメータ補間部、106 パラメータバッファ、107 パラメータ更新部、110 画像処理装置、111 第一画像処理部、112 第二画像処理部、113 第一パラメータ補間部、114 第二パラメータ補間部、115 第一パラメータバッファ、116 第二パラメータバッファ、201 パラメータ更新制御部、202 パラメータ書込部、203 パラメータ読出部、204 メインメモリ、205 パラメータ生成部

Claims (12)

  1. 画像信号に対して画像処理を行う画像処理装置であって、
    前記画像処理を行うための複数のパラメータを取得する取得手段と、
    前記取得された複数のパラメータをバッファに書き込むことでパラメータを更新する更新手段と、
    前記取得された複数のパラメータのうち、前記バッファにおいて未更新のパラメータを、前記バッファにおいて更新済のパラメータを用いて補間して生成する補間手段と、
    前記バッファにおいて更新済のパラメータおよび前記生成されたパラメータを用いて前記画像処理を行う画像処理手段と、
    を有することを特徴とする画像処理装置。
  2. 前記更新手段は、前記取得された複数のパラメータを複数のグループに分割し、グループ毎にパラメータを前記バッファに書き込むことを特徴とする請求項1に記載の画像処理装置。
  3. 前記取得された複数のパラメータのそれぞれには連続する識別番号が対応しており、前記グループは、所定の間隔の識別番号を有するパラメータを含むことを特徴とする請求項2に記載の画像処理装置。
  4. 前記補間手段は、前記バッファにおいて未更新のパラメータを、該パラメータに対応する識別番号の近傍の識別番号を有し、かつ、前記バッファにおいて更新済のパラメータを用いて補間して生成することを特徴とする請求項3に記載の画像処理装置。
  5. 前記バッファに前記取得された複数のパラメータの全てが書き込まれていない場合、前記補間手段は、補間方法を決定し、該決定した補間方法を用いて、前記バッファにおいて未更新のパラメータを補間して生成することを特徴とする請求項1から4のいずれか1項に記載の画像処理装置。
  6. 前記画像処理を行うためのパラメータを更新するための期間の開始を前記更新手段に通知する通知手段を更に有し、
    前記更新手段は、前記期間の開始の通知を受けた場合に、前記取得された複数のパラメータをバッファに書き込むことを開始することを特徴とする請求項1から5のいずれか1項に記載の画像処理装置。
  7. 前記期間は、前記画像処理手段により前記画像処理が行われている期間以外であることを特徴とする請求項6に記載の画像処理装置。
  8. 前記更新手段は、前記画像処理装置に画像信号が入力されたことを検知した場合、前記バッファへのパラメータの書き込みを停止することを特徴とする請求項1から7のいずれか1項に記載の画像処理装置。
  9. 前記画像処理手段が前記入力された画像信号に対する画像処理を終了した場合に、前記更新手段は、前記バッファへのパラメータの書き込みを再開することを特徴とする請求項8に記載の画像処理装置。
  10. 前記画像処理手段は、第一の画像処理を行う第一の画像処理手段と該第一の画像処理手段の後段に接続される第二の画像処理を行う第二の画像処理手段とを有し、
    前記第一の画像処理手段と前記第二の画像処理手段は、前記バッファにおいて更新済のパラメータおよび前記生成されたパラメータを用い、それぞれ前記第一の画像処理と前記第二の画像処理を行うことを特徴とする請求項1から9のいずれか1項に記載の画像処理装置。
  11. 画像信号に対して画像処理を行う画像処理装置の制御方法であって、
    前記画像処理を行うための複数のパラメータを取得する取得工程と、
    前記取得された複数のパラメータをバッファに書き込むことでパラメータを更新する更新工程と、
    前記取得された複数のパラメータのうち、前記バッファにおいて未更新のパラメータを、前記バッファにおいて更新済のパラメータを用いて補間して生成する補間工程と、
    前記バッファにおいて更新済のパラメータおよび前記生成されたパラメータを用いて前記画像処理を行う画像処理工程と、
    を有することを特徴とする制御方法。
  12. コンピュータを、請求項1から10のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
JP2015230693A 2015-11-26 2015-11-26 画像処理装置、その制御方法、およびプログラム Pending JP2017097226A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015230693A JP2017097226A (ja) 2015-11-26 2015-11-26 画像処理装置、その制御方法、およびプログラム
US15/348,143 US20170154611A1 (en) 2015-11-26 2016-11-10 Image processing apparatus, method of controlling same, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015230693A JP2017097226A (ja) 2015-11-26 2015-11-26 画像処理装置、その制御方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2017097226A true JP2017097226A (ja) 2017-06-01

Family

ID=58777701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015230693A Pending JP2017097226A (ja) 2015-11-26 2015-11-26 画像処理装置、その制御方法、およびプログラム

Country Status (2)

Country Link
US (1) US20170154611A1 (ja)
JP (1) JP2017097226A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11587050B2 (en) * 2017-09-12 2023-02-21 Northwestern University Blockchain distribution network
CN111385600B (zh) * 2018-12-29 2022-06-17 西安诺瓦星云科技股份有限公司 视频处理方法、装置及系统、视频处理器以及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0492938B1 (en) * 1990-12-21 1995-11-22 Sun Microsystems, Inc. Method and apparatus for increasing the speed of operation of a double buffered display system
JP3130876B2 (ja) * 1998-09-08 2001-01-31 日本電気アイシーマイコンシステム株式会社 画像再生装置及び画像再生方法
JP4284834B2 (ja) * 1999-06-23 2009-06-24 ソニー株式会社 再生方法および再生装置
JP2003032539A (ja) * 2001-07-12 2003-01-31 Toshiba Corp カメラ搭載装置
US7266254B2 (en) * 2002-02-13 2007-09-04 Canon Kabushiki Kaisha Data processing apparatus, image processing apparatus, and method therefor
JP4810090B2 (ja) * 2004-12-20 2011-11-09 キヤノン株式会社 データ処理装置
JP5434304B2 (ja) * 2009-06-30 2014-03-05 ソニー株式会社 データ処理装置、データ処理方法、及び、プログラム
JP2013218654A (ja) * 2012-03-16 2013-10-24 Panasonic Corp 画像処理装置
JP2013257665A (ja) * 2012-06-11 2013-12-26 Canon Inc 映像処理装置、映像処理装置の制御方法
JP2014052902A (ja) * 2012-09-07 2014-03-20 Sharp Corp メモリ制御装置、携帯端末、メモリ制御プログラムおよびコンピュータ読み取り可能な記録媒体
JP6205742B2 (ja) * 2013-02-13 2017-10-04 株式会社リコー 画像処理装置、画像処理方法、及び画像処理プログラム
US9135672B2 (en) * 2013-05-08 2015-09-15 Himax Technologies Limited Display system and data transmission method thereof
JP2016059015A (ja) * 2014-09-12 2016-04-21 株式会社東芝 画像出力装置

Also Published As

Publication number Publication date
US20170154611A1 (en) 2017-06-01

Similar Documents

Publication Publication Date Title
US9569703B2 (en) Data transfer apparatus and method thereof
JP5097973B2 (ja) データ処理装置
JP2017097226A (ja) 画像処理装置、その制御方法、およびプログラム
JP6239843B2 (ja) 画像処理装置およびその制御方法
US20100201869A1 (en) Image processing methods, apparatus and computer program products using interdependent pixel interpolation operations
JP2009017468A (ja) 画像処理装置
JP5327482B2 (ja) 画像処理装置及び画像処理方法
JP6544905B2 (ja) 画像処理装置、画像処理方法、プログラム
JP6295619B2 (ja) 画像処理装置及び方法、並びに電子機器
US20070040842A1 (en) Buffer memory system and method
US8922573B1 (en) Video non-buffered line memory
US10672107B2 (en) Image processing apparatus and method of controlling the same
JP2007110419A (ja) 画像変倍方法
JP2007241859A (ja) 画像処理装置及びその処理方法
JP6156653B2 (ja) 画像変形装置
JP6631119B2 (ja) 画像処理装置
JP2018191154A (ja) 画像処理装置、画像処理方法及びプログラム
JP2018042212A (ja) 画像処理装置
US20170048425A1 (en) Image processing apparatus
JP2008059452A (ja) 画像処理装置、画像処理方法
US8417063B2 (en) Image processing apparatus and image processing system
JP2015154455A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2018005389A (ja) 画像変形回路、画像処理装置、及び画像変形方法
JP2016103169A (ja) 画像処理装置、画像処理方法および電子機器
JP2001053959A (ja) 画像デ−タの変倍装置