JPWO2008047518A1 - 画像合成装置、画像合成方法、画像合成プログラム、集積回路 - Google Patents

画像合成装置、画像合成方法、画像合成プログラム、集積回路 Download PDF

Info

Publication number
JPWO2008047518A1
JPWO2008047518A1 JP2008539698A JP2008539698A JPWO2008047518A1 JP WO2008047518 A1 JPWO2008047518 A1 JP WO2008047518A1 JP 2008539698 A JP2008539698 A JP 2008539698A JP 2008539698 A JP2008539698 A JP 2008539698A JP WO2008047518 A1 JPWO2008047518 A1 JP WO2008047518A1
Authority
JP
Japan
Prior art keywords
image data
data
image
composition
format
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
JP2008539698A
Other languages
English (en)
Other versions
JP4814337B2 (ja
Inventor
美香 中村
美香 中村
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2008539698A priority Critical patent/JP4814337B2/ja
Publication of JPWO2008047518A1 publication Critical patent/JPWO2008047518A1/ja
Application granted granted Critical
Publication of JP4814337B2 publication Critical patent/JP4814337B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6072Colour correction or control adapting to different types of images, e.g. characters, graphs, black and white image portions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0233Improving the luminance or brightness uniformity across the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0242Compensation of deficiencies in the appearance of colours
    • 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/02Graphics controller able to handle multiple formats, e.g. input or output formats
    • 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/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

データ形式の異なる複数の画像データを合成して生成された合成画像データを加工する場合、合成画像データ全体について、同一のアルゴリズムによって加工されるが、合成画像データの一部については、前記アルゴリズムが必ずしも最適なアルゴリズムでない場合がある。本発明では、形式変換部142は、合成の対象となる画像データの形式の変換を行うと共に、変換前のデータ形式を示すフラグを各ピクセルデータに付加して出力する。合成エンジン144は、形式変換部142から出力された画像データを合成する。

Description

本発明は、複数の画像を1つの画像に合成する技術に関する。特に、それぞれ、異なる形式により記述された画像データを合成する技術に関する。
テレビやパソコンのディスプレイに表示される画像は、各画素の色を数値によって表したデータを基に生成される。
色を数値により表現する方法には、RGB形式、YUV形式、HSV形式など様々な形式が存在する。
一例としてRGB形式は、各画素について、光の3原色である赤(Red)、緑(Green)、青(Blue)のそれぞれの強度を数値で表すものである。各色の数値が大きくなるに従って、白に近い色を表現し、数値が小さくなるに従って黒に近い色を表現する。パソコンのディスプレイには、一般にこのRGB形式が用いられる。従って、パソコンなどを利用して生成されたテキスト画像データや、グラフィック画像は、RGB形式で記述される。
また、YUV形式では、輝度(明るさ)を示す変数Y、輝度と青色成分との差を示す色差U、輝度と赤色成分の差を示す色差Vで、1画素の色を表現する。YUV形式には、隣接する4ピクセルで1組の色差データを共有する間引きを行って、データ量を削減するYUV422形式、YUV420形式などが存在する。これらは、色味よりも輝度に反応しやすいという人間の目の特性を利用したものであって、自然画(例えば風景写真、人物写真)のように、色味が徐々に変化する画像に適しており、JPEG、MPEGなどに用いられることが多く、デジタルテレビ放送にも使用されている。
このように、様々なデータ形式により記述される画像に拡大、縮小、回転などの加工を加える場合や画質を補整する場合、データ形式により最適な加工アルゴリズムは、当然異なると考えられる。
例えばRGB形式で記述されたテキスト画像データや、グラフィック画像を拡大する場合、隣接するピクセルのデータをコピーして拡大し(零次ホールド法)、階段状になったエッジを補整する(直線補完法など)方法が考えられる。
また、YUV形式で記述された写真データなどを拡大する場合は、単に隣接データをコピーし、エッジ補整をするだけでなく、色の諧調変化の調整など、より複雑な加工が必要であると考えられる。画像データの加工については、非特許文献1に詳しく紹介されている。
ところで、上記のように、様々な形式により記述された画像データを合成して1つの画面を表す画像データを作成する場合がある。例えば、ホームページに、RGB形式のグラフィック画像データとYUV形式の写真データとを掲載する場合などである。
元々は異なる形式であっても1つの画像データに合成する場合、全てのピクセルデータが、単一の形式で記述される必要がある。このように、全てのピクセルのデータ形式を統一した後では、各ピクセルが、合成前に何れの形式で表現されていたかは判断できない。
特開昭61−156091号公報 貴家仁志 著 「よくわかる動画・静止画の処理技術」 2004年9月1日 CQ出版 田村秀行 著 「コンピュータ画像処理」 2002年12月20日 オーム社
ところで、合成後の画像データを加工しようとする場合、上述したように、元々RGB形式であった部分と、YUV形式であった部分とでは、最適な加工アルゴリズムが異なる。しかし、合成後の画像データは、単一の表示形式により記述されているので、加工しようとする部分全てに対して同一のアルゴリズムにより加工せざるを得ない。そのため、不最適な加工アルゴリズムにより加工され、画質が粗雑になる可能性がある。
本発明は、上記の可能性を考慮し、合成後の画像を加工する場合でも最適な加工アルゴリズムを選択することができる、画像合成装置、画像合成システム、画像合成方法、画像合成プログラム及び集積回路を提供することを課題とする。
上記課題を解決するため、本発明は、複数の画像データを合成して合成画像データを生成する画像合成装置であって、合成対象となる複数の対象画像データと、各対象画像データの生成時におけるコード化に係る属性情報とを取得する取得手段と、取得した複数の前記対象画像データを合成して前記合成画像データを生成する合成手段と、前記合成画像データのうち、各対象画像データと対応する部分に各属性情報を対応付ける対応付手段とを備えることを特徴とする。
また、本発明は、複数の画像データを合成して合成画像データを生成する画像合成装置と、合成画像データを加工して加工画像データを生成する加工装置とから構成される画像データ利用システムであって、前記画像合成装置は、合成対象となる複数の対象画像データと、各対象画像データの生成時におけるコード化に係る属性情報とを取得する取得手段と、取得した複数の前記対象画像データを合成して前記合成画像データを生成する合成手段と、前記合成画像データのうち、各対象画像データと対応する部分に各属性情報を対応付ける対応付手段とを備え、前記加工装置は、前記合成画像データを取得するデータ取得手段と、前記合成画像データに対する加工指示を受け付ける受付手段と、前記合成画像データのうち、前記加工指示の対象となる部分に対応する前記属性情報を基に、加工アルゴリズムを選択する選択手段と、選択された加工アルゴリズムに従って前記合成画像データを加工する加工手段とを備えることを特徴とする画像データ利用システムでもある。
ここで、上記の「取得手段」について、下記の実施の形態1では、合成制御部141及び形式変換部142がその機能を担う。「合成手段」及び「対応付手段」については、合成エンジン143合成、バッファ144及びメモリ101がその機能を担う。
上記の構成によると、前記対応付手段は、前記合成画像データのうち、各対象画像データと対応する部分に前記属性情報を対応付ける。そのため、前記属性情報を基に、前記合成画像データを構成する各部分が、合成前においてどのようにコード化されたかを知ることができる。従って、合成画像データを更に加工する場合、前記属性情報を基に、最適な加工アルゴリズムを選択し、各部分ごとに、最適な加工アルゴリズムにより加工を施すことができる。
また、本発明において、前記複数の対象画像データは、それぞれ、異なるデータ形式の入力画像データを、何れか一つのデータ形式に統一して生成され、前記取得手段は、各対象画像データと対応する入力画像データのデータ形式を示す前記属性情報を取得することを特徴とするとしてもよい。
この構成によると、前記対応付手段は、各入力画像データのデータ形式示す前記属性情報を、前記合成画像データのうちの各対象画像データと対応する部分と対応付ける。従って、合成画像データの各部分について、形式変換前のデータ形式を知ることができる。
また、前記複数の対象画像データの何れかは、入力画像データを加工して生成されたものであって、前記取得手段は、各対象画像データの加工履歴を示す前記属性情報を取得する画像合成装置であってもよい。
ここで、上記の「加工」は、下記の実施例における、拡大、縮小、反転などの加工処理に加え、画質補整処理も含む。
この構成によると、前記取得手段は、各入力画像データに対する加工履歴を示す前記属性情報を取得するので、合成画像データの各部分について、合成前に加工が施されたか否かを知ることができる。
また、前記合成画像データにおいて、2以上の対象画像データと対応する部分の少なくとも一部が重複する場合、前記対応付手段は、前記合成画像データから生成される合成画像上において、前記一部に相当する領域の最前面に表示される対象画像と対応する対象画像データの属性情報を前記一部に対応付けることを特徴とする画像合成装置であってもよい。
前記合成画像データを基に表示される合成画像上において、2以上の対象画像データと対応する領域が重複している場合、前記2以上の対象画像データから生成される2以上の対象画像のうち、最前面に表示される対象画像が製作者にとって最も重要であると考えられる。上記の構成によると、前記対応付手段は、前記合成画像データから生成される合成画像上において、前記一部に相当する領域の最前面に表示される対象画像の基となる対象画像データの属性情報を、前記一部に対応付ける。従って、製作者の意図を反映して、前記一部に属性情報を付加することができる。
また、前記合成画像データは、複数のピクセルデータから構成され、前記画像合成装置を構成する前記対応付手段は、前記合成画像データのうち、各対象画像データと対応する部分を構成する各ピクセルデータそれぞれに、該当する属性情報を対応付けることを特徴とする構成であっても良い。
この構成によると、前記対応付手段は、前記合成画像データを構成するピクセルデータ毎に前記属性情報を対応付ける。前記合成画像データの一部を利用しようとする場合、利用対象となる部分に含まれる各ピクセルデータに対応する属性情報を確実に検出できる。
また、前記対応付手段は、16ビットの偶数倍のビット数を1単位としてデータを記憶する記憶部と、1ピクセルデータのビット長及び前記属性情報のビット長との和が16ビットの偶数倍になるようなビット長の補完データを生成する補完部と、前記記憶部に、前記合成画像データを構成する各ピクセルデータと、当該ピクセルデータに対応する属性情報と前記補完データを連続して書き込む書込部とを含む前記画像合成装置であってもよい。
現在既存のメモリは、16ビット又はその偶数倍を1単位としてアドレス管理するものが多い。前記記憶部は、このようなメモリにより実現されると考えられる。
上記の構成によると、1ピクセルデータのビット長と前記属性情報のビット長補完データのビット長の和が16ビットの偶数倍であって、前記書込部は、前記合成画像データを構成する各ピクセルデータと、当該ピクセルデータに対応する属性情報とを連続して書き込む。そのため、各ピクセルデータ及び属性データのアドレス管理が簡易になり、前記合成画像データの一部分を利用しようとする場合、迅速に、利用しようとする一部分に含まれるピクセルデータと各ピクセルデータに対応する属性情報とを読み出すことができる。
また、前記属性情報は、対応する対象画像データの生成時におけるコード化に係る特性を示す最小ビット数のデータであって、前記対応付手段は、データを記憶する記憶部と、前記合成画像データを構成するピクセルデータ群と、各ピクセルデータに対応する属性情報群とを前記記憶部に書き込む書込部とを含む前記画像合成装置であってもよい。
前記属性情報は、対応する対象画像データの生成時におけるコード化に係る特性を示す最小ビット数のデータであって、前記書込部は、前記合成画像データと、前記属性情報群とを個別に書き込む。従って、総データ量を必要最小限にすることができる。
また、前記対応付手段は、データを記憶する記憶部と、前記合成画像データにおける各対象画像データと対応する部分を示す部分情報を生成する生成部と、各部分情報及び対応する属性情報を、前記記憶部に書き込む書込部とを含むことを特徴とする前記画像合成装置であってもよい。
この構成によると、前記書込部は、各部分情報及び各部分情報と対応する属性情報を、前記記憶部に書き込む。従って、ピクセル毎に属性情報を保持する場合に比べて、大幅にデータ量を削減することができる。
また、前記画像合成装置において、前記合成手段は、各属性情報に基づき加工アルゴリズムを選択する選択部と、選択された加工アルゴリズムに基づき各属性情報と対応する対象画像データを加工する加工部と、加工後の対象画像データ群を合成する合成部とを含むとしてもよい。
この構成によると、合成前において各対象画像データに加工を施す必要がある場合、前記属性情報を基に、迅速に加工アルゴリズムを選択し、加工を施すことができる。
前記画像合成装置は、さらに、前記合成画像データに対する加工指示を受け付ける受付手段と、前記合成画像データのうち、前記加工指示の対象となる部分に対応する前記属性情報を基に、加工アルゴリズムを選択する選択手段と、選択された加工アルゴリズムに従って前記合成画像データを加工する加工手段とを備えるとしてもよい。
この構成によると、前記選択手段は、前記加工指示の対象となる部分に含まれるピクセルデータに対応する前記属性情報群を基に、最適な加工アルゴリズムを選択し、前記加工手段は、前記加工指示の対象となる部分に最適な加工処理を施すことができる。
実施の形態1における画像合成装置100の機能的構成を示すブロック図である。 合成指示テーブル112の詳細を示す。 画像記憶領域121に記憶されている画像データを視覚的に示したものである。 合成画像127及び合成画像127の一部を拡大した加工画像を示す。 合成画像データ127を構成する各ピクセルデータに含まれる形式フラグPの値の配置を視覚的に示したものである。 画像合成処理における画像合成装置100の動作を示すフローチャートである。 画像合成処理における画像合成装置100の動作を示すフローチャートであって、図6のステップS114から続く。 画像合成処理における画像合成装置100の動作を示すフローチャートであって、図6のステップS116から続く。 合成画像データの加工処理における画像合成装置100の動作を示すフローチャートである。 合成画像データの加工処理における画像合成装置100の動作を示すフローチャートであって図9から続く。 実施の形態2における画像合成装置200の機能的構成を示すブロック図である。 合成指示テーブル212の詳細を示す。 合成指示テーブル212に従って生成された合成画像データを基に表示される合成画像である。 画像合成処理における画像合成装置200の動作を示すフローチャートである。 画像合成処理における画像合成装置200の動作を示すフローチャートであって、図14のステップS213から続く。 画像合成処理における画像合成装置200の動作を示すフローチャートであって、図15のステップS226から続く。 合成画像データの加工処理における画像合成装置200の動作を示すフローチャートである。 合成画像データの加工処理における画像合成装置200の動作を示すフローチャートであって、図17から続く。 実施の形態3に係る画像合成装置300の機能的構成を示すブロック図である。 画像合成処理における画像合成装置300の動作を示すフローチャートである。 画像合成処理における画像合成装置300の動作を示すフローチャートであって、図20のステップS312から続く。 画像合成処理における画像合成装置300の動作を示すフローチャートであって、図21のステップS322から続く。 合成画像データの加工処理における画像合成装置300の動作を示すフローチャートである。 合成画像データの加工処理における画像合成装置300の動作を示すフローチャートであって、図23から続く。 実施の形態4に係る画像合成装置400の機能的構成を示すブロック図である。 画像合成処理における画像合成装置400の動作を示すフローチャートである。 画像合成処理における画像合成装置400の動作を示すフローチャートであって、図26から続く。 画像合成処理における画像合成装置400の動作を示すフローチャートであって、図27から続く。
符号の説明
100 画像合成装置
101 メモリ
102 表示部
103 入力部
104 主制御部
105 画像処理部
141 合成制御部
142 形式変換部
143 合成エンジン
144 合成バッファ
146 変形用メモリ
147 変形エンジン
148 補整用メモリ
149 補整エンジン
1. 実施の形態1
以下に、本発明の実施の形態1に係る画像合成装置について、図面を用いて説明する。
1.1 概要
実施の形態1における画像合成装置は、複数の画像データを合成して1つの合成画像データを生成する。ここで、本明細書において、モニターに表示される映像を「画像」、前記映像を生成するためのデータを「画像データ」と表現する。
合成の対象となる画像データには、コンピュータを用いて生成されたRGB形式の画像データと、デジタルカメラなどにより風景や人物を撮影して生成されたYUV形式の画像データとが混在する。
合成の過程において、画像合成装置は、各画像データを、RGB形式に統一し、する。本実施の形態では、各色を8ビット長で表現する。以下RGB形式の画像データにおいて、各画素の赤、青、緑を表現するために割り当てられるデータ長がa、b、c(整数、単位はビット)のとき、前記画像データの形式をRaGbBc形式と表現する。また、データ長を所定の長さにするために付加する意味のないnビット長のデータ(以下ブランクビット)をXnと表現する。また、1画素に相当するデータをピクセルデータと呼ぶ。
本発明の画像合成装置は、各画像データを、各色を8ビット長のデータで表現するX8R8G8B8形式に変換し、ブランクビットの先頭の1ビットを変換前の画像データがRGB形式及びYUV形式の何れであったかを示すフラグPに置き換えてP1X7R8G8B8形式に統一する。
次に、P1X7R8G8B8形式の画像データを所定の位置に配置して、合成画像データを生成する。
なお、各ピクセルデータを32ビット長になるように調整しているが、これは、既存のメモリの物理的構造に起因しており、1ピクセルデータのデータ長が、16ビット又は16ビットの偶数倍であれば、アドレス管理が容易になるためである。従って、必ずしも32ビット長である必要はない。
1.2 画像合成装置100の構成
画像合成装置100は、複数の画像データを合成して合成画像データを生成する機能、及び、合成画像の一部又は全部を加工(拡大、縮小、回転、反転など)した加工画像を表示するための加工画像データを生成する装置である。
図1は、画像合成装置100の機能的構成を示すブロック図であり、図中の矢印は、画像データの合成処理及び合成画像データの加工処理におけるデータの流れを示している。
画像合成装置100は、図1に示すように、メモリ101、表示部102、入力部103、主制御部104、画像処理部105から構成され、画像処理部105は、合成制御部141、形式変換部142、合成エンジン143、合成バッファ144、変形用メモリ146、変形エンジン147、補整用メモリ148及び補整エンジン149を含む。
画像合成装置100は、具体的には、マイクロプロセッサ、RAM及びROMを含んで構成されるコンピュータシステムであって、RAM及びROMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、画像合成装置100は、その機能の一部を実現する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
以下に、各構成について詳細に説明する。
(1)メモリ101
メモリ101は、ハードディスクユニットを含んで構成され、その内部は、一般領域111と画像記憶領域121とから構成される。
一般領域111は、一例として、図1に示すように、合成指示テーブル112、拡大用データA113、縮小用データA114、反転用データ115、回転用データA116、補整用データA117及び補整用データB118を記憶している。これらの他にも、主制御部104により用いられる各種のプログラム、画像データ(スタート画面、メニュー表示など)、関数、演算パラメータなどが記憶されている。
画像記憶領域121は、利用者の操作により保存された画像データを記憶している。一例として、ペイント画像データ122、文字画像データ123、写真画像データ124、126、合成画像データ127及び加工画像データ128を記憶している。
なお、ここでは、画像合成、合成画像データの加工が終了した時点おいてメモリ101の記憶している情報の、一例を示している。
(1−1)合成指示テーブル112
合成指示テーブル112は、合成を実行するために必要な情報を示すテーブルである。
図2は、合成指示テーブル112の詳細を示している。合成指示テーブル112は、図2に示すように、複数の合成情報131、132、133及び134から構成される。各合成情報は、それぞれ、後述するペイント画像データ122、文字画像データ123、写真画像データ124及び126と対応している。また、これらの画像データを基に生成され、表示される画像と対応している。
各合成情報は入力画像データ、データ形式、重ね合わせ順、出力座標及び透過率を含んで構成される。
入力画像データは、合成の対象となる画像データを示す情報であって、図2では、画像データの名称を記載しているが、これに限らず、画像データの識別子、記憶されている先頭アドレスなどでもよい。
データ形式は、対応する画像データのデータ形式を示している。「X8R8G8B8」は、上述したように、対応する画像データがRGB形式であって、1画素に相当するピクセルデータをブランクビット8ビットと、赤、緑及び青の強度を8ビット長のデータで表現することを示している。
「R5G6B5」は、対応する画像データが、RGB形式であって、1ピクセルに相当するデータを、赤を5ビット長、緑を6ビット長、青を5ビット長で表現することを示している。
「YUV422」及び「YUV420」は、既に述べたとおり、輝度及び色差によりピクセルデータを表現するYUV方式であって、「YUV422」と「YUV420」とでは色差データの間引き方が異なる。
重ね合わせ順は、対応する画像が画面上に表示される順序を示す情報であり、数値の大きいものほど上(手前)に表示され、数値の小さいものほど下(後ろ)に表示される。本実施の形態では、合成対象となる画像は、画面上で重複しないので、全ての重ね合わせ順が「1」になっている。
出力座標は、対応する画像が表示される座標の開始点を示している。
透過率は、対応する画像を表示したとき、下の画像をどの程度透過させるかを0〜1の数値で示している。
一例として、合成情報132は、文字画像データ123と対応しており、合成の対象となっている文字画像データ123のデータ形式が「R5G6B6」であり、表示されたときの重ね合わせ順が最前であり、表示位置の開始座標が(50,150)であることを示している。また、透過率「0」は、文字画像データ123を基に表示された文字画像が、後ろの画像を透過させないことを示している。
ここで記載した合成指示テーブル112の構成は一例であって、各合成情報はこれらのデータの他にも、各入力画像データのデータサイズや、画像サイズ(例えば、横50×縦150画素)などを含んでいても良い。
(1−2)加工用データ
以下、必要に応じて、拡大、縮小、回転、反転といった加工に用いられるデータを総称して加工用データと呼ぶ。
一般領域111に記憶されている加工用データには、拡大用データA113、縮小用データA114、反転用データ115、回転用データA116・・・がある。
拡大用データA113、縮小用データA114、反転用データ115、回転用データA116は、それぞれ、R8G8B8形式の画像データを拡大、縮小、反転、回転するために必要なパラメータ群、関数、プログラムを含んで構成され、特に、グラフィック画像、テキスト画像など、コンピュータにより生成された画像データの加工に適している。
また、図示していないが、メモリ101の一般領域111は、これらと同様に、自然画(風景、人物など)の画像データの加工に適した加工用データ(拡大用データB、縮小用データB、反転用データB、回転用データB・・・)も記憶している。
(1−3)補整用データA117及び補整用データB118
補整用データA117は、RGB形式の画像データに画質補整を施すために必要な関数、パラメータ、プログラムを含んでいる。RGB形式の画像は、描画ソフトなどを用いて、コンピュータにより生成された可能性が高いため、補整用データA117は、例えば、中間色を排除して輪郭のぼやけをなくしたり、コントラストを強調したりするアルゴリズムに従った関数及びパラメータを含んでいる。
補整用データB118は、RGB形式の自然画(風景写真、人物写真など)の画像データに画質補整を施すために必要な関数、パラメータ、プログラムを含んでいる。具体的には、例えば、輪郭線を滑らかな曲線に補整し、色味の変化(諧調変化)を滑らかにするアルゴリズムに従った、関数及びパラメータを含む。
また、ここでは、単に、補整用データとしか記載されていないが、より詳細に、拡大処理に伴う画質補整処理を行うための補整用データ、縮小処理に伴う画質補整を行うための補整用データ、回転処理に伴う画質補整を行うための補整用データなどを記憶していてもよい。
(1−4)画像データ
画像記憶領域121は、ペイント画像データ122、文字画像データ123、写真画像データ124、126、合成画像データ127及び加工画像データ128を記憶している。
ペイント画像データ122は、描画ソフトなどを用いて作成された画像データであって、データ形式は、X8R8G8B8である。
文字画像データ123は、文書作成ソフト又は描画ソフトのテキスト描画機能を用いて作成された画像データであって、データ形式は、R5Y6G5である。
写真画像データ124及び126は、デジタルカメラを用いて撮影された自然画を数値化して生成された画像データであって、データ形式はそれぞれ、YUV422及びYUV420である。
合成画像データ127は、合成指示テーブル112を基に、上記の4つの画像データを合成して生成された画像データであって、データ形式はP1X7R8G8B8である。
図3は、ペイント画像データ122、文字画像データ123、写真画像データ124、126及び合成画像データ127を基に表示されるペイント画像122g、文字画像123g、写真画像124g、126g及び合成画像127gを示している。
加工画像データ128は、合成画像データの一部に拡大処理を施して生成された画像データである。
図4は、合成画像データ127を基に生成される合成画像127gと加工画像データ128を基に生成される加工画像128gを示している。図4の合成画像127g上には、ポインタ161が表示されており、ポインタ161の指す点を中心に100×100画素の領域を拡大した画像が、加工画像128gである。
(2)入力部103
入力部103は、キーボード、マウスなどと接続されており、利用者による指示及びデータの入力を受け付け、受け付けた指示及びデータを主制御部104へ出力する。
また、外部機器や、可搬型記録媒体を接続するインタフェースを備え、主制御部104の制御の下、これらの機器からデータを読み出し、読み出したデータを主制御部104へ出力する。
(3)合成制御部141
図示していないが、合成制御部141は、画像合成の過程において、各機能部へ制御信号を出力し動作を制御する機能を有する。
合成制御部141は、主制御部104から画像合成の指示を受ける。画像合成の指示を受けると合成バッファ144を初期化する。具体的には、例えば、P1X7R8G8B8形式の背景データ(ブルーバック、利用者の指定した背景画像データなど)を書き込む。ここでは、背景画像データを構成する各ピクセルデータに含まれる形式フラグP=0であるとする。
次に、合成制御部141は、メモリ101の一般領域111の所定アドレスに記憶されている合成指示テーブル112を検索し、重ね合わせ順の値が最小の合成情報を読み出す。ここでは、合成指示テーブル112に含まれる全ての重ね合わせ順が同じなので、先頭の合成情報131を読み出す。
次に、合成制御部141は、読み出した合成情報131に含まれるデータ形式を形式変換部142(後述)へ出力する。続いて、合成情報131の入力画像データをメモリ101の画像記憶領域121から読み出し、形式変換部142へ出力し、形式変換を指示する。
次に、合成制御部141は、読み出した合成情報131に含まれる透過率と出力座標と、読み出した合成情報131と対応するペイント画像122gの画像サイズを合成エンジン143(後述)へ出力する。画像サイズは、合成制御部141が算出してもよいし、合成指示テーブル112の各合成情報に予め含まれていても良い。
続いて、合成制御部141は、合成エンジン143の動作を監視し、合成エンジン143が合成途中画像データを合成バッファ144に書き戻すと、合成指示テーブル112から、次の合成情報を読み出す。
合成制御部141は、合成指示テーブル112を構成する全ての合成情報について、同様の処理を繰り返す。
全ての合成情報について、同様の処理が終了すると、合成制御部141は、合成バッファ144の保持する合成途中画像データを、合成画像データとしてメモリ101の画像記憶領域121へ書き込む。
また、主制御部104へ画像合成処理が終了したことを通知する。
(4)形式変換部142
形式変換部142は、合成制御部141からデータ形式を受け取り、続いて、入力画像データを受け取る。受け取ったデータ形式がRGB形式であれば、1ビット長の形式フラグP=0を生成し、YUV形式であれば、形式フラグP=1を生成し、生成した形式フラグを一時的に記憶する。
次に、形式変換部142は、受け取ったデータ形式がX8R8G8B8であれば、受け取った入力画像データの各ピクセルデータの先頭の1ビットを記憶している形式フラグPに書き換え、P1X7R8G8B8形式の変換済画像データを生成し、生成した変換済画像データを合成エンジンへ出力する。
受け取ったデータ形式がRGB形式ではあるが、X8R8G8B8形式でない場合、各ピクセルデータについて、ブランクビット、及び、各色のビット長を8ビットに調整し、ブランクビットの先頭を記憶している形式フラグPに書き換えて、P1X7R8G8B8形式の変換済画像データを生成し、合成エンジン143へ出力する。
受け取ったデータ形式がYUV形式の場合、以下の式により各ピクセルデータをR8G8B8形式に変換する。
R=Y+1.40200×V
G=Y−0.34414×U−0.71414×V
B=Y+1.77200×U
なお、上記の変換式は、ITU−R BT.601に準拠した変換式の一例である。YUV形式については、例えばITU−R BT.601、ITU−R BT.709などに詳細に規定されており、入力される画像データと変換後の画像データの種類(アナログ、デジタル、ビットスケール)、準拠する規格の種類、パラメータの選択の方法に応じて他の変換式を用いても良い。
次に、各ピクセルデータについて、先頭に形式フラグP、続く7ビットにブランクビットを付加して、P1X7R8G8B8形式の変換済画像データを生成し、合成エンジン143へ出力する。
(5)合成エンジン143
合成エンジン143は、合成制御部141から、透過率と出力座標と画像サイズ(縦a×横b画素)を受け取る。また、形式変換部142から変換済画像データを受け取る。
これらを受け取ると、合成エンジン143は、合成バッファ144からP1X7R8G8B8形式の合成途中画像データを読み出す。読み出した合成途中画像データに、受け取った変換済画像データを合成して、合成途中画像データを更新する。具体的には、変換途中画像データを構成するピクセルデータ群のうち、画面上で、出力位置を基点(左上の画素)として、入力画像が配置される縦a×横b画素の範囲(以下、合成対象範囲と呼ぶ)に属する各画素と対応するピクセルデータの各色成分(以下の式ではD(b)と記載している)と、変換後入力画像データを構成するピクセルデータ群のうちの対応するピクセルデータの各色成分(以下の式ではD(f)と記載している)とを、以下の式を用いて合成する。
D(com)←D(f)+D(b)×透過率
P(com)←P(f)
D(com):合成後の合成対象範囲内の各ピクセルデータの
各色成分の値
D(f):変換済画像データの各ピクセルデータの各色成分の値
D(b):合成バッファから読み出した合成途中画像データの
合成対象範囲内の各ピクセルデータの各色成分の値
P(com):合成後の合成対象範囲内の各ピクセルデータの第1ビット
P(f):変換済画像データの各ピクセルデータの第1ビット
なお、読み出した合成途中画像データのうち合成対象範囲外のピクセルデータは書き換えない。
続いて、合成エンジン143は、更新後の合成途中画像データを合成バッファ144へ書き戻す。
(6)合成バッファ144
合成バッファ144は、RAMから構成され、起動時又は初期化直後はP1X7R8G8B8形式の背景データ(ブルーバック、利用者の指定した背景画像データなど)を合成途中画像データとして書き込まれる。このとき、各ピクセルデータの形式フラグP=0である。
合成バッファ144は、合成エンジン143による画像合成処理途中の合成途中画像データを一時的に記憶する。
合成エンジン143による合成処理が終了した時点における合成中画像データは、合成画像データ127と同一である。
合成画像データ127を構成する各ピクセルデータの第1ビットは、形式フラグPである。図5は、合成画像データ127から生成される合成画像127gにおいて、各画素と各ピクセルデータに含まれる形式フラグPの値を視覚的に表現したものである。合成画像127g上のペイント画像122aの表示されている領域151a及び文字画像123aの表示されている領域152aに含まれる画素に対応する形式フラグP=0である。
写真画像124aの表示されている領域153a及び写真画像126aの表示されている領域154aに含まれる画素に対応する形式フラグP=0である。
また、図示していないが、その他の領域156に含まれる画素に対応する形式フラグP=0である。
(7)変形用メモリ146及び変形エンジン147
変形エンジン147は、主制御部104の制御の下、変形用メモリ146に記憶されている関数、パラメータなどを用いて、P1X7R8G8B8形式の合成画像データ127の一部又は全部に加工を施す。具体的には、主制御部104の指示の下、合成画像127gのうち加工対象となる範囲(加工対象範囲と呼ぶ)の先頭ラインの左端の画素から最後のラインの右端の画素の順に、各画素に対応するピクセルデータを1ピクセルデータずつ読み出し、変形用メモリ146に記憶されているデータを用いて、読み出したピクセルデータに加工を施す。また、必要に応じて、加工対象となっている画素の周辺の画素と対応するピクセルデータを読み出して、加工に用いる。加工が終了すると、加工後のピクセルデータを補整エンジンへ出力する。
ここで、加工とは、例えば、拡大、縮小、反転、回転などの処理である。
また、変形エンジン147は、主制御部104から、一時停止を指示される場合がある。この場合、加工対象範囲に対応するピクセルデータを読み出し、そのまま補整エンジン149へ出力する。
変形用メモリ146は、一例としてRAMから構成され変形エンジン147に必要な関数、パラメータなどを一時的に記憶する。
(8)補整用メモリ148及び補整エンジン149
補整エンジン149は、変形エンジン147により生成された加工後の画像データを受け取り、受け取った画像データに画質補整処理を施して、加工画像データを生成し、生成した加工画像データをメモリ101の画像記憶領域121に書き込む。
具体的には、変形エンジン147から、加工後のピクセルデータを順次受け取り、受け取った加工後のピクセルデータ群を一時的に記憶する。次に、補整用メモリ148に記憶されている画質補整用の関数及びパラメータを用いて、記憶しているピクセルデータ群に画質補整処理を施して加工画像データを生成する。
ここで、画質補整処理とは、主に、輪郭強調、雑音除去、画像の歪補整である。また、補整の必要がない場合、補整エンジン149は、主制御部104から動作停止の指示を受ける。動作停止の指示を受けた場合、補整エンジン149は、変形エンジン147から受け取った加工後の画像データを、そのまま、加工画像データとして、メモリ101の画像記憶領域121へ書き込む。
補整用メモリ148は、一例としてRAMから構成され、画質補整に用いられる関数、パラメータなどを一時的に記憶する。
(9)主制御部104
主制御部104は、具体的には、図示されていないが、画像合成装置100を構成する各構成要素へ制御信号を出力し、これらの動作を制御する。
主制御部104は、入力部103を介して、利用者の操作を受け付け、外部機器又は記録媒体に記録されている画像データを読み出し、メモリ101の画像記憶領域121に書き込む。
また、主制御部104は、入力部103を介して、合成画像の生成要求を受け付ける。さらに、利用者による、合成画像の加工要求を受け付ける。
(9−1)画像合成処理の制御
利用者の操作により、合成画像の作成を要求されると、画像記憶領域121に記憶されている画像データを示す一覧表、若しくはサムネイル画面を生成し、合成対象となる画像の選択、表示位置、透過率の入力を受け付ける。
これらの入力を受け付けると、主制御部104は、入力された情報を基に、図2に示すような合成指示テーブル112生成し、生成した合成指示テーブル112を、メモリ101の一般領域111の所定アドレスに書き込む。データ形式に関しては、利用者が入力しても良いし、利用者が指定した画像データをサーチして、主制御部104が生成するとしてもよい。例えば、各画像データの先頭の16又は32ビットにデータ形式を示す情報が含まれており、これを抽出して各合成情報を生成する方法などが考えられる。
次に、合成制御部141へ画像合成の指示を出力する。
次に、合成制御部141から画像合成終了の通知を受ける。この通知を受けると、主制御部104は、合成画像データ127を読み出し、読み出した合成画像データ127を基に合成画像127gを生成して表示部102に表示させる。
(9−2)合成画像の加工処理の制御
合成画像データ127を基に生成される合成画像127gが表示部102に表示された状態で、利用者は、マウスなどを操作し、ポインタ161の位置を指定する。利用者による位置の指定を受け付けると、主制御部104は、「拡大」、「縮小」、「反転」、「回転」など、合成画像に施すことができる加工処理を示す選択肢を含む加工メニュー画面を表示する。若しくは、ポインタ161の位置に、前述の選択肢をスクロール表示しても良い。
続いて、主制御部104は、表示されている選択肢のうちのいずれかを選択する利用者の操作を受け付ける。選択の操作を受け付けると、主制御部104は、選択された選択肢の示す加工処理に応じて、合成画像127gのうち、加工対象となる範囲を決定する。例えば、選択された選択肢が拡大処理であれば、ポインタ161の位置を中心に100×100画素の範囲を拡大処理の対象の範囲に決定する。選択された選択肢が、反転を示していれば、ポインタ161の位置を中心に200×200画素の範囲を反転処理の対象の範囲に決定する。
続いて、主制御部104は、決定した加工対象の範囲の先頭ラインの左端の画素から最後のラインの右端の画素の順に、各画素に対応するピクセルデータについて、以下の処理を、繰り返す。
先ず、主制御部104は、変形用メモリ146及び補整用メモリ448を初期化する。次に、ピクセルデータの先頭の1ビットを読み出す。読み出した1ビットのデータが「0」の場合、主制御部104は、一般領域111に記憶されている加工用データのうち、グラフィック画像の加工に適した加工用データを読み出し、読み出した加工用データを変形用メモリ146に書き込む。また、同様に、グラフィックフラグ画像の画質補整に適した補整用データA117を読み出し、補整用メモリ148へ書き込む。
次に、ピクセルデータの記憶されているアドレスを変形エンジンに通知し、加工処理を指示する。
読み出した1ビットのデータが「1」の場合、主制御部104は、一般領域111に記憶されている加工用データのうち、自然画の加工に適した加工用データを読み出し、読み出した加工用データを変形用メモリ146に書き込む。また、同様に、自然画の画質補整に適した補整用データB118を読み出し、読み出した補整用データB118を補整用メモリ148へ書き込む。
次に、ピクセルデータの記憶されているアドレスを変形エンジンに通知し、加工処理を指示する。
以上の処理を各ピクセルデータについて繰り返す。
なお、選択された加工処理によって、画質補整が不要な場合は、補整用メモリを初期化し、補整エンジンに、動作の停止を指示する。
(10)表示部102
表示部102は、モニタ、画像バッファを含んで構成され、主制御部104の制御の下、各種の画面をモニタに表示する。
1.3 動作
以下に、本発明の画像合成装置100の動作について、図面を用いて説明する。
(1)画像合成処理
図6〜図8は、画像合成処理に係る画像合成装置100の動作を示したフローチャートである。以下に、図6〜図8を用いて、画像合成処理における、画像合成装置100の動作について説明する。
利用者の操作により画像合成を要求されると、主制御部104は、所定の入力画面を表示部102に表示させ、利用者による、入力画像データの選択、表示位置などの入力を受け付ける(ステップS101)。次に、受け付けた情報を基に合成指示テーブルを生成し、生成した合成指示テーブルをメモリ101の一般領域111に書き込み、合成制御部141へ画像合成を指示する(ステップS102)。
画像処理部105内の合成制御部141は、主制御部104から画像合成を指示される。画像合成を指示されると、メモリ101の一般領域111に記憶されている合成指示テーブル112から、合成情報を読み出す(ステップS103)。
ここで、全ての合成情報を読み出し済みであれば(ステップS106のYES)、合成制御部141は、合成バッファ144から合成途中画像データを読み出し、読み出した合成途中画像データを合成画像データとしてメモリ101の画像記憶領域121に書き込む(ステップS107)。
全ての合成情報を読み出し済みでなければ(ステップS106のNO)、合成制御部141は、読み出した合成情報に含まれるデータ形式を形式変換部142へ出力する(ステップS111)。続いて、合成制御部141は、読み出した合成情報に対応する画像データを読み出し、読み出した画像データを形式変換部142に出力する(ステップS112)。
合成制御部141から受け取ったデータ形式が、RGB形式であれば、形式変換部142は、1ビット長の形式フラグP=0を生成して一時的に記憶する(ステップS114)。
次に、形式変換部142は、受け取った画像データを構成する各ピクセルデータについて、データ長をX8R8G8B8に調整する(ステップS117)。次に、各ピクセルデータの第1ビットを記憶している形式フラグP(=0)に置き換えて、P1X7R8G8B8形式の変換済画像データを生成し(ステップS118)、生成した変換済画像データを1ピクセルデータずつ合成エンジン143へ出力する(ステップS119)。
合成制御部141は、読み出した合成情報に含まれる出力座標と透過率と、読み出した合成情報と対応する画像の画像サイズ(縦a×横b画素)を合成エンジン143へ出力する(ステップS120)。
合成エンジン143は、合成制御部141から透過率と出力座標と画像サイズとを受け取る。また、形式変換部142から変換済画像データを受け取る。これらを受け取ると、合成エンジン143は、合成バッファ144から合成途中画像データを読み出す(ステップS121)。読み出した合成途中画像データのうち、出力座標を起点とし画像サイズの示す範囲(合成対象範囲)に含まれる各画素と対応するピクセルデータと、変換済画像データ内の対応するピクセルデータとを合成して合成途中画像データを更新する(ステップS122)。
続いて、合成エンジン143は、更新後の合成途中画像データを合成バッファに書き戻す(ステップS123)。
合成制御部141から受け取ったデータ形式がYUV形式の場合、形式変換部142は、合成フラグP=1を生成し、一時的に記憶する(ステップS116)。
また、形式変換部142は、合成制御部141から入力画像データを受け取る。形式変換部142は、受け取ったYUV形式の画像データを、R8G8B8形式に変換する(ステップS126)。
続いて、各ピクセルデータの先頭に、記憶している形式フラグP=1と7ビット長のブランクビットを付加し、P1X7R8G8B8形式の変換済画像データを生成する(ステップS127)。
次に、形式変換部142は、ステップS119へ処理を移す。
(2)合成画像の加工処理
図9〜図10は、画像合成装置100による合成画像データの加工処理における動作を示したフローチャートである。以下に、図9〜図10を用いて合成画像データの加工処理における動作について説明する。なお、ここでは、一例として、合成画像の一部を拡大する加工処理について説明する。
主制御部104は、利用者の操作に従って、合成画像127gを表示部102に表示する(ステップS131)。
利用者は、マウス、カーソルなどを操作して合成画像127g上のポインタ161を移動し、任意の位置を指定する。
主制御部104は、利用者の操作による位置の指定を受け付ける(ステップS132)。位置の指定を受け付けると、メニューを表示する(ステップS133)。メニューには、「拡大」、「縮小」・・・など、加工画像に施すことができる加工処理の名称が列挙されている。
続いて、主制御部104は、利用者による「拡大」の選択操作を受け付ける(ステップS144)。
「拡大」が選択されると、ステップS146〜162の間、合成画像127g上の指定された位置を中心に100×100画素の範囲(以下、二次利用範囲と呼ぶ)の各ピクセルデータについて、ステップS147〜ステップS161の処理を繰り返すことで、合成画像127g上の指定された位置を中心に100×100画素の範囲の画像を拡大した加工画像(拡大画像)を生成する。
主制御部104は、ピクセルデータの先頭ビット(P)を読み出す(ステップS147)。
読み出した先頭ビットP=1であれば(ステップS148のYES)、主制御部104は、メモリ101の一般領域111に記憶されている拡大用データB(図示せず)を読み出し、読み出した拡大用データBを変形用メモリ146に出力する(ステップS151)。拡大用データBは、P1X7R8G8B8形式の自然画の拡大に適したアルゴリズムに従った関数及びパラメータを含んでいる。
続いて主制御部104は、補整用データB118を読み出し、読み出した補整用データB118を補整用メモリ148へ出力する(ステップS152)。前述の通り補整用データB118は、P1X7R8G8B8形式の自然画の画質補整に適したアルゴリズムに従う関数及びパラメータを含んでいる。次に、主制御部104は、ステップS158へ処理を移す。
読み出した先頭ビットP=0であれば(ステップS148のNO)、主制御部は、メモリ101の一般領域111から拡大用データA113を読み出し、読み出した拡大用データA113を変形用メモリ146へ出力する(ステップS156)。拡大用データA113は、P1X7R8G8B8形式のグラフィック画像の拡大に適したアルゴリズムに従う関数及びパラメータを含む。
次に、主制御部104は、メモリ101から補整用データA117を読み出し、読み出した補整用データA117を補整用メモリ148へ出力する(ステップS157)。補整用データA117は、コンピュータにより生成されたP1X7R8G8B8形式のグラフィック画像の画質補整に適したアルゴリズムに従う関数及びパラメータを含む。
次に、主制御部104は、現在加工の対象となっているピクセルデータの記憶されているメモリ101上のアドレスを指定して、変形エンジンに加工(ここでは拡大)を指示する(ステップS158)。
変形エンジン147は、主制御部104から加工の対象となっているピクセルデータのアドレスと加工の指示を受ける。加工の指示を受けると、指定されたアドレスに記憶されているピクセルデータを読み出し、変形用メモリ146の保持する関数及びパラメータを用いて、読み出したピクセルデータに拡大処理を施して補整エンジン149へ出力する(ステップS159)。ここで、拡大処理により、1ピクセルデータから複数ピクセルデータが出力されると考えられる。以下、1ピクセルデータに拡大処理を施して生成された複数のピクセルデータをピクセルデータ(群)と記載する。
補整エンジン149は、変形エンジン147により拡大処理を施されたピクセルデータ(群)を受取り、補整用メモリ148に記憶されている関数及びパラメータを用いて、受取ったピクセルデータ(群)に画質補整処理を施す。
二次利用範囲の全てのピクセルデータについての繰返しが終了すると(ステップS162)、補整エンジン149は、拡大及び補整処理後のピクセルデータ群からなる加工画像データをメモリ101の画像記憶領域121に書き込む。
また、主制御部104は、メモリ101の画像記憶領域121から加工画像データ128を読み出し、読み出した加工画像データ128を基に加工画像128gを生成して、表示部102に表示する(ステップS163)。
1.4 まとめ
以上、説明してきたように、本発明の画像合成装置100では、画像合成処理において、合成画像データを構成する各ピクセルデータに、合成前の画像データがRGB形式であったかYUV形式であったかを示す形式フラグを埋め込む。
RGB形式のデータは、コンピュータを用いて生成されたテキストデータや、グラフィック画像である場合が多く、YUV形式の画像データは、デジタルカメラなどにより撮影された自然画を基に生成されている場合が多い。
そのため、合成画像の中でもRGB形式の画像データを基に生成された部分と、YUV形式の画像データを基に生成された部分とでは、最適な加工方法及び画質補整方法が異なる。
本発明のように、合成画像データの各ピクセルデータに形式フラグを埋め込んでおくことで、合成画像データに、拡大、画質補整等の加工を施す場合に、各部分に最適な方法で加工及び補整を施すことができる。
2. 実施の形態2
以下に、本発明の実施の形態2に係る画像合成装置200について、図面を用いて説明する。
2.1 概要
本実施の形態の画像合成装置200は、利用者の指示により、合成対象の画像データに拡大、縮小などの加工を施した後、各画像の形式をR8G8B8に変換する。また、変換後の画像データとは個別に、変換前の画像データの形式を示す1ビット長の形式フラグを生成する。
画像合成装置200は、変換後の画像データを、実施の形態1において示した式を用いて合成し、R8G8B8形式の合成画像データを生成する。
画像データの合成と並行して、合成画像の各ピクセルと対応する形式フラグからなる形式フラグ群を生成する。例えば、合成画像がn×m画素(n、mは整数)である場合、形式フラグ群は、各画素の形式フラグを左上から右下の順に並べたn×mビット長のデータである。
実施の形態1とは異なり、ブランクビットを含まないので、合成後の総データ量を削減することができる。
2.2 構成
図11は、画像合成装置200の機能的構成を示したブロック図である。図中の矢印は、画像合成処理(後述)に関するデータフローを示しており、太線矢印は、合成画像の加工処理(後述)に関するデータフローを示す。
図11に示すように、画像合成装置200は、メモリ201、表示部202、入力部203、主制御部204及び画像処理部205から構成され、画像処理部205は、合成制御部241、形式変換部242、合成エンジン243、合成バッファ244、変形用メモリ246、変形エンジン247、補整用メモリ248、補整エンジン249を含む。
画像合成装置200は、具体的にはマイクロプロセッサ、RAM及びROMを含んで構成されるコンピュータシステムであって、RAM及びROMには、コンピュータプログラムが記憶されている。マイクロプロセッサが前記コンピュータプログラムに従って動作することにより、画像合成装置200は、その機能の一部を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
以下に、各構成要素について説明する。なお、入力部203、表示部202、変形用メモリ246及び補整用メモリ248の構成、動作は、実施の形態1の 入力部103、表示部102、変形用メモリ146及び補整用メモリ148と同様であるので、説明を省略する。
また、変形エンジン247及び補整エンジン249は、主制御部204のみならず合成制御部241からの指示により動作すること、一時停止を指示されると、受け取ったピクセルデータをそのまま、次の機能部へ出力すること、補整エンジン249のデータの出力先が形式変換部242であること以外は実施の形態1の変形エンジン147及び補整エンジン149と同様に、対応するメモリの保持する関数及びパラメータを用いて、入力されたデータを加工する機能部である。よって、ここでは、詳細な説明を省略する。
(1)メモリ201
メモリ201は、ハードディスクユニットを含んで構成され、その内部は、一般領域211と、利用者の操作に従って、画像データを記憶するための画像記憶領域221とに分けられる。
一般領域211には、一例として、合成指示テーブル212、RGB拡大用データ213、RGB縮小用データ214、YUV拡大用データ215、YUV二次拡大用データ216、RGB補整用データ217、YUV補整用データ218及び自然画向け補整用データ219が記憶されており、画像記憶領域221には、ペイント画像データ122、文字画像データ123、写真画像データ124、写真画像データ126、合成画像データ227、形式フラグ群228、加工画像データ229などが記憶されている。
これは、利用者の操作に従って、合成画像データ227が生成され、合成画像データにさらに加工を加えた加工画像データ229が生成された時点のメモリ201内の状態を図示している。
(1−1)合成指示テーブル212
図12は、合成指示テーブル212の詳細を示す。図12に示すように、合成指示テーブル212は、複数の(ここでは4つの)合成情報231、232、233及び234から構成される。各合成情報は、それぞれ、ペイント画像データ122、文字画像データ123、写真画像データ124及び126と対応している。
各合成情報は、入力画像データ、データ形式、重ね合わせ順、出力座標、変形情報、画質補整情報及び透過率から構成される。入力画像データ、データ形式、重ね合わせ順、出力座標及び透過率については、実施の形態1の合成指示テーブル112に含まれる入力画像データ、データ形式、重ね合わせ順、出力座標及び透過率と同様であるので説明を省略する。
変形情報は、対応する画像データを合成する前に加工処理を行うか否か、行う場合はどのような加工処理を行うかを示す情報である。合成前に加工処理を行わない場合、合成情報は、変形情報は含まないとしてもよい。
画質補整情報は、対応する画像データを合成する前に、画質補整処理を行うか否かを示す情報であって、画質補整情報「要」は、画質補整処理を行う必要があることを示し、画質補整情報「不要」は、画質補整処理を行う必要が無いことを示している。
一例として、合成情報231は、ペイント画像データ122と対応しており、入力画像データ「ペイント画像データ」、データ形式「X8R8G8」、重ね合わせ順「3」、出力座標「(100,100)」、変形情報「1.4倍」及び画質補整「要」から構成される。これは、X8R8G8形式のペイント画像データ122の合成処理に先立って、ペイント画像データ122に倍率1.4倍の拡大処理と、画質補整を施すことを示している。また、拡大処理及び画質補整後の画像データを基に生成される画像は、合成処理後の合成画像内において、座標(100,100)を起点とする所定範囲に表示され、複数の画像を重ねて表示する場合には、後ろから3番目の面に表示されることを示している。
また、別の一例として、合成情報233は、写真画像データ124と対応しており、入力画像データ「写真画像データ」、データ形式「YUV422」、重ね合わせ順「3」、出力座標「(400,150)」、変形情報「左右反転」及び画質補整「不要」を含んでいる。これは、YUV422形式の写真画像データ124を、合成処理の前に、左右反転加工を施す必要があり、画質補整処理を施す必要が無いことを示している。また、左右反転加工後の画像データから生成される画像は、合成画像内において、座標(400,150)を起点とする範囲に表示されること、複数の画像を重ねて表示する場合、1番後ろの面に表示され、その一部が他の画像の後ろに隠れるように表示されることを示している。
(1−2)加工用データ
実施の形態1と同様に、変形用メモリ246に一時的に転送され、変形エンジン247による加工処理に用いられるデータを総称して加工用データと呼ぶ。
RGB拡大用データ213は、RGB形式の画像データを拡大するために必要な関数及びパラメータを含んで構成される。
RGB縮小用データは、RGB形式の画像データに縮小処理を施すために必要な関数及びパラメータを含んで構成される。
YUV拡大用データ215は、YUV形式の画像データに拡大処理を施すために必要な関数及びパラメータを含んで構成される。
YUV二次拡大用データ216は、各種の画像データを合成して生成された合成画像データ227(後述)のうち、合成前のデータ形式がYUV形式であった部分に拡大処理を施すために適した関数及びパラメータを含んで構成される。
また、図示していないが、加工用データには、これらの他にも、RGB形式の画像データの反転処理に用いられるRGB反転用データ、回転処理に用いられるRGB回転用データ、同様に、YUV形式の画像データの反転処理、回転処理に用いられるYUV反転用データ、YUV回転用データも含まれる。また、その他の加工に用いられる加工用データも記憶されていても良い。
さらに、図示していないが、YUV二次拡大用データ216のみならず、YUV二次縮小用データ、YUV二次反転用データなど、合成前の画像データのデータ形式に応じた加工用データ(二次加工用データと呼ぶ)を多数記憶しており、合成画像データに加工を施す際に、これらを適宜使い分ける。
(1−3)補整用データ
RGB補整用データ217は、RGB形式の画像データの画質補整に適した関数及びパラメータを含んで構成される。
YUV補整用データ218は、YUV形式の画像データの画質補整に適した関数及びパラメータを含んで構成される。
自然画向け補整用データ219は、RGB形式の画像データであって、自然画を構成する画像データの画質補整に適した関数及びパラメータを含む。より正確には、合成画像データにおいて、合成前のデータ形式がYUV形式の場合、表示される画像は自然画である場合が多いと予測される。従って、本実施の形態において、R8G8B8形式の合成画像データ227のうち、合成前のデータ形式がYUV形式である部分の画質補整には、自然画向け補整用データ219が用いられる。
ここでは、上記の3つの補整用データしか記載していないが、これらの他にも、回転処理向けの画質補整データ、拡大処理向けの画質補整データなど、加工処理毎に最適な画質補整を実現することができるように、多数の補整用データを記憶しているとしても良い。
(1−4)画像データ
ペイント画像データ122、文字画像データ123、写真画像データ124、写真画像データ126については、それぞれ実施の形態1と同一であるので説明を省略する。
合成画像データ227は、合成指示テーブル212に従って、ペイント画像データ122、文字画像データ123、写真画像データ124、写真画像データ126を合成して生成された画像データである。図13は、合成画像データ227を基に表示される合成画像227gを示す。合成画像227gには、ペイント画像122gを1.4倍に拡大したペイント画像122Gと、文字画像123gを1.2倍に拡大した文字画像123Gと、写真画像124gを左右反転した写真画像124Gと、写真画像126gを0.8倍に縮小した写真画像126Gが含まれる。文字画像123Gと、写真画像124Gと、写真画像126Gとは、その一部が重複しているが、写真画像126Gが最前面、文字画像123Gが2番目、写真画像124Gが一番後ろの面に表示される。
形式フラグ群228は、合成画像227gの各画素に対応するピクセルデータが、合成前においてRGB形式であったかYUV形式であったかを示す1ビット長の形式フラグを、画像上の左上の画素から右下の画素の順に並べたものである。
なお、合成画像227gのうち、ペイント画像122G、文字画像123Gと、写真画像124G、写真画像126Gのいずれも描画されない領域の画素と対応する形式フラグは、RGB形式を示す「0」である。
加工画像データ229は、R8G8B8形式の合成画像データ227の一部又は全部にさらに、拡大、縮小などの加工を加えて生成されたものである。
(2)合成制御部241
合成制御部241は、合成画像データの生成において、図示していないが、各機能部へ制御信号を出力し、その動作を制御する機能を有する。
合成制御部241は、主制御部204から画像合成の指示を受ける。画像合成の指示を受けると合成バッファ144を初期化する。初期化直後の合成途中画像データ及び形式フラグ群については、後述する。
次に、合成制御部241は、メモリ201の一般領域211の所定アドレスに記憶されている合成指示テーブル212から合成情報を読み出す。このとき、重ね合わせ順が小さいものから順に読み出す。
次に、合成制御部241は、読み出した合成情報に含まれる変形情報に適した加工用データをメモリ201の一般領域211から読み出し、変形用メモリ246へ書き込む。なお、拡大、縮小、回転の場合は、読み出した合成情報に含まれる変形情報として含まれる倍率、回転角度も合わせて変形用メモリ246に書き込む。
なお、変形情報「不要」の場合、合成制御部241は、変形エンジン247に一時停止を指示する。
同様に、合成制御部241は、読み出した合成情報に含まれる画質補整情報が、画質補整が必要であることを示す「要」であれば、読み出した合成情報に含まれるデータ形式を基に最適な補整用データをメモリから読み出し、読み出した補整用データを補整用メモリ248へ出力する。画質補整情報が「不要」の場合は、補整エンジン249に一時停止を指示する。
続いて、合成制御部241は、読み出した合成情報に含まれるデータ形式を形式変換部242へ出力する。また、読み出した合成情報に含まれる透過率と出力座標とを合成エンジン243へ出力する。読み出した合成情報と対応する画像サイズ(横a×縦b画素)を検出し検出した画像サイズを合成エンジン243へ出力する。
なお、読み出し合成情報に含まれる変形情報が「拡大」又は「縮小」の場合、合成制御部241は、縦横の画素数それぞれに、倍率を掛けてa←a×倍率、b←b×倍率を算出し、横a×縦b画素を画像サイズとして出力する。
また、読み出した合成情報に含まれる変形情報が回転(回転角r)の場合、横a×縦b画素及び回転角rを画像サイズとして出力する。
合成制御部241は、重ね合わせ順が小さいものから順に、全ての合成情報について、以上の処理を行う。図12に示す、合成指示テーブル212の場合、合成制御部241は、合成情報233、232、231、234の順に各合成情報を読み出し、上記の処理を行う。
全ての合成情報について読み出し済みであれば、合成制御部241は、合成バッファ244に記憶されている合成途中画像データを読み出し、合成画像データ227として、メモリ201の画像記憶領域221に書き込む。また。合成バッファ244から形式フラグ群を読み出し、読み出した形式フラグ群をメモリ201の画像記憶領域221に、合成画像データ227と対応付けて書き込む。
書き込みが終了すると、合成制御部241は、主制御部204へ画像合成処理が終了したことを通知する。
(3)形式変換部242
形式変換部242は、合成制御部241から、形式変換の対象となる画像データのデータ形式を受け取る。受け取ったデータ形式がRGB形式であれば、1ビット長の形式フラグP=0を生成し、受け取ったデータ形式がYUV形式であれば形式フラグP=1を生成し、生成した形式フラグPを一時的に記憶する。
続いて、補整エンジン249から、必要に応じて加工及び画質補整を施された画像データ(以下、補整済画像データと呼ぶ)を受け取る。ここで受け取る補整済画像データのデータ形式は、合成制御部241から受け取るデータ形式と同一である。
形式変換部242は、形式変換部242は、補整エンジン249から受け取った画像データをR8G8B8形式に変換して、合成用画像データを生成し、生成した合成用画像データと、記憶している形式フラグとを合成エンジン243へ出力する。
具体的には、合成制御部241から受け取ったデータ形式がR8G8B8形式であれば、形式変換部242は、補整エンジン249から受け取った画像データを、そのまま、合成用画像データとして、合成エンジン243へ出力する。これと合わせて、形式フラグP=0を合成エンジン243へ出力する。
また、受け取ったデータ形式が、X8R8G8B8形式であれば、形式変換部242は、各ピクセルデータの先頭の8ビットを削除してR8G8B8形式の合成用画像データを生成する。
また、合成制御部241から受け取ったデータ形式がYUV420であれば、下記3つの式を用いてRGB形式に変換して、各色のデータ長を8ビット長に揃え、R8G8B8形式の合成用画像データを生成する。
R=Y+1.40200×V
G=Y−0.34414×U−0.71414×V
B=Y+1.77200×U
(4)合成バッファ244
合成バッファ244は、合成エンジン243による合成処理の途中の画像データ(合成途中画像データ)と、形式フラグ群とを記憶している。
合成途中画像データは、表示部202の備えるモニタの画素(n×m画素)それぞれと対応するピクセルデータを、画面上の左上から右下の順に並べて構成される。
形式フラグ群は、合成途中画像データを構成するピクセルデータと対応する形式フラグを列挙したn×mビット長のデータである。
起動時、又は、初期化直後は、合成バッファ244は、所定の背景画像データを合成途中画像データとして記憶いる。また、このとき、形式フラグ群を構成する形式フラグは全て「0」で初期化される。
(5)合成エンジン243
合成エンジン243は、合成制御部241から、透過率と出力座標と画像サイズとを受け取る。
また、合成エンジン243は、形式変換部242からR8G8B8形式の合成用画像データと形式フラグPを受け取る。
これらを受け取ると、合成エンジン243は、合成バッファ244から合成途中画像データを読み出す。説明の便宜上、合成画像227g上において、受け取った出力位置を起点とし、画像サイズにより定義される範囲を合成対象範囲と呼ぶ。
読み出した合成途中画像データのうち、合成対象範囲に対応する部分に受け取った合成用画像データを合成する。具体的には、読み出した合成途中画像データのうち、合成対象範囲に含まれる各画素のピクセルデータの各色成分(D(b)と表記)と、受け取った画像データのうち、対応するピクセルデータの各色成分(D(f)と表記)とを以下の演算により合成して新たなピクセルデータの各色成分(D(com)と表記)を算出し、合成途中画像データ上のピクセルデータの各色成分D(b)を、算出した新たなピクセルデータの色成分D(com)に置き換えることにより、合成途中画像データを更新する。
D(com)=D(f)+D(b)×透過率
続いて、合成エンジン243は、形式フラグ群を読み出し、形式フラグ群のうち、合成対象範囲内の各画素と対応する部分を全て、受け取った形式フラグPに書き換える。
合成エンジン243は、以上の手順で更新した合成途中画像データと、形式フラグ群とを合成バッファ244に書き戻す。
(6)主制御部204
主制御部204は、入力部203を介して、利用者の操作を受け付け、受け付けた操作に従って、画像合成装置200を構成する各部の動作を制御する。
主制御部204は、入力部203を介して画像合成の要求を受け付ける。
また、表示部202に合成画像227gを表示し、合成画像中の特定の位置の指定を受け付ける。
(6−1)画像合成の制御
利用者の操作による画像合成の要求を受け付けると、主制御部204は所定の入力画面を表示して、合成する画像データの選択、選択した各画像の表示位置、重ね合わせ順、加工の及び画質補整の要否、透過率の入力を受け付ける。次に、入力された情報を基に主制御部204は、合成指示テーブル212を生成し、メモリ201の一般領域211の所定領域に書き込み、合成制御部241に画像合成を指示する。
次に、合成制御部241から、画像合成の処理が終了したことを示す終了通知と、生成された合成画像データを示す情報(例えば、識別子、アドレスなど)とを受け取る。
これらを受け取ると、メモリ201の画像記憶領域221から合成画像データ227を読み出し、読み出した合成画像データ227から合成画像を生成して、表示部202に生成した合成画像227gを表示する。
(6−2)合成画像の加工の制御
表示部202に合成画像227gが表示された状態で、入力部203を介して、主制御部は、合成画像227g上の位置(画素)の指定を受け付ける。
位置の選択を受け付けると、指定された位置の近辺にメニューを表示する。若しくは、別途、メニュー画面を生成して表示しても良い。
メニューには、合成画像に対して、施すことができる加工の名称を列挙している(例えば、拡大、縮小、反転・・・)。続いて、利用者の操作によるメニューの選択を受け付ける。
メニューの選択を受け付けると、合成画像227gのうち、受け付けたメニューに応じて加工対象とする範囲(以下二次利用範囲と呼ぶ)を決定する。例えば、「拡大」が選択された場合は、選択された位置を中心として100×100画素の範囲、「縮小」が選択された場合は、選択された位置を中心として300×300画素の範囲、「回転」が選択された場合は、全画面を二次利用範囲とする。
又は、加工の対象となる範囲の選択を利用者に促す画面を表示し、二次利用範囲を決定してもよい。
次に、主制御部204は、形式フラグ群228のうち、二次利用範囲に対応する部分を1ビットずつ順次読み出す。読み出した形式フラグと選択された加工の種類に応じた加工用データをメモリ201の一般領域211から読み出し、変形用メモリ246へ出力する。また、読み出した形式フラグと選択された加工により、必要に応じて、メモリ201の一般領域211から補整用データを読み出し、読み出した補整用データを補整用メモリ248へ出力する。
例えば、利用者により「拡大」が選択され、読み出した形式フラグP=1である場合、主制御部204は、メモリ201の一般領域211から、YUV二次拡大用データ216を読み出し、読み出したYUV二次拡大用データを変形用メモリ246に出力する。次に、自然画向け補整用データを読み出し、補整用メモリ248へ出力する。
次に、合成画像データのうち、読み出した形式フラグと対応するピクセルデータの位置を指示して、変形エンジン247へ加工を指示する。
主制御部204は、二次利用範囲に含まれる全ての画素について、同様の処理を繰返し、変形エンジン247及び補整エンジン249を制御することで、加工画像データを生成し、生成した加工画像データ229をメモリ201の画像記憶領域に書き込む。
次に、加工画像データ229を読み出して加工画像を生成し、表示部202に表示する。
2.3 動作
以下に、本実施の形態の画像合成装置200の動作について、図面を用いて説明する。
(1)画像合成における動作
図14〜図16は、画像合成装置200による画像合成処理における動作を示したフローチャートである。以下に、図14〜図16を用いて、画像合成に係る画像合成装置200の動作について説明する。
利用者の操作による画像合成の要求を受け付けると、主制御部204は所定の入力画面を表示して、合成する画像データの選択、選択した各画像の表示位置、重ね合わせ順、加工及び画質補整の要否、透過率の入力を受け付ける(ステップS201)。次に、入力された情報を基に、主制御部204は、合成指示テーブル212を生成し、メモリ201の一般領域211の所定領域に書き込み、合成制御部241に画像合成を指示する(ステップS202)。
主制御部204から画像合成の指示を受けると、合成制御部241は、メモリ201の一般領域211内の所定領域に記憶されている合成指示テーブル212から、未だ読み出していない合成情報のうち、重ね合わせ順が最小のものを読み出す(ステップS203)。このとき、既に、全ての合成情報が読み出し済みであれば(ステップS206のYES)、ステップS207へ処理を移す。
全ての合成情報が読み出し済みでなければ(ステップS206のNO)、合成制御部241は、読み出した合成情報に含まれるデータ形式、変形情報、画質補整情報を基に、データ形式に最適な加工用データ及び補整用データをメモリ201から読み出す(ステップS211)。次に、読み出した加工用データを変形用メモリ246へ書き込み、読み出した補整用データを補整用メモリ248へ書き込む(ステップS212)。
次に、合成制御部241は、合成情報と対応する画像データをメモリ201の画像記憶領域221から読み出し、変形エンジン247へ出力する(ステップS213)。
次に、合成制御部241は、読み出した合成情報に含まれるデータ形式を、形式変換部242へ通知する(ステップS216)。
変形エンジン247は、画像データを受け取り、変形用メモリ246に記憶されている関数及びパラメータを用いて、受け取った画像データに加工(拡大、縮小、回転など)を施して、変形済画像データを生成する。続いて、変形エンジン247は、生成した変形済画像データを補整エンジン249へ出力する(ステップS217)。
補整エンジン249は、変形エンジン247から変形済画像データを受け取り、補整用メモリ248の保持する関数及びパラメータを用いて、受け取った変形済画像データに画質補整処理を施して補整済画像データを生成する(ステップS218)。次に、補整エンジン249は、生成した補整済画像データを形式変換部242へ出力する(ステップS219)。
形式変換部242は、補整エンジン249から補整済画像データを受け取り、合成制御部241から、データ形式を受け取る。ここで、補整エンジン249から受け取る補整済画像データのデータ形式は、合成制御部241から受け取るデータ形式に一致する。
これらを受け取ると、形式変換部242は、合成制御部241から受け取ったデータ形式を基に、受け取った画像データのデータ形式をR8G8B8形式に変換して合成用画像データを生成する(ステップS221)。
次に、合成制御部241から受け取ったデータ形式がRGB形式であれば、形式変換部242は、1ビット長の形式フラグ「0」を生成する(ステップS223)。受け取ったデータ形式がYUV形式であれば、形式変換部242は、形式フラグ「1」を生成する(ステップS224)。
次に、形式変換部242は、生成した合成用画像データと、1ビット長の形式フラグPとを合成エンジン243へ出力する(ステップS226)。
合成制御部241は、次に、読み出した合成情報に含まれる透過率と出力座標と、読み出した合成情報と対応する画像サイズとを合成エンジン243へ出力する(ステップS231)。
合成エンジン243は、合成制御部241から透過率、出力座標及び画像サイズを受け取る。また、形式変換部242から合成用画像データと形式フラグPとを受け取る。
これらを受け取ると、合成エンジン243は、合成バッファ244から合成途中画像データと形式フラグ群とを読み出す(ステップS232)。
読み出した合成途中画像データのうち、出力座標を起点とし画像サイズにより定義される合成対象範囲の各ピクセルデータと合成対象データの対応するピクセルデータとを以下の式により合成し、合成後のピクセルデータにより合成前のピクセルデータを置き換えることで、合成途中画像データを更新する(ステップS234)。
D(com)=D(f)+D(b)×透過率
D(f):合成対象データの対応するピクセルデータの各色成分
D(b):合成途中画像データ中の合成対象範囲の対応するピクセルデータの色成分
D(com):合成後のピクセルデータの各色成分
また、読み出した形式フラグ群のうち、合成対象範囲と対応する部分全てを、受け取った形式フラグPに書き換えて、形式フラグ群を更新する(ステップS236)。
次に、更新後の合成途中画像データと形式フラグ群とを合成バッファ244へ上書きする(ステップS237)。上書き後、画像合成装置200は、ステップS203へ戻り、次の合成情報に係る処理に移る。
全ての合成情報を読み出し済みであれば(ステップS206のYES)、合成制御部241は、合成バッファ244の保持する合成途中画像データを読み出し、読み出した合成途中画像データを合成画像データとしてメモリ201の画像記憶領域221へ書き込む。また、合成バッファ244から形式フラグ群を読み出し、同様にメモリ201の画像記憶領域に書き込む(ステップS207)。
続いて、主制御部204は、生成された合成画像データから、合成画像を生成し、生成した合成画像を表示部202に表示する(ステップS208)。
(2)合成画像データの加工の動作
図17〜図18は、合成画像データ227の加工(二次利用)処理における画像合成装置200の動作を示したフローチャートである。以下に、図17〜図18を用いて合成画像データの加工処理における動作について説明する。
主制御部204は、合成画像データ227から合成画像を生成して表示部202へ表示する(ステップS241)。
次に、主制御部204は、入力部203を介して、利用者の操作による位置(画素)の選択を受け付ける(ステップS242)。位置の選択を受け付けると、主制御部204は、表示部202にメニューを表示する(ステップS243)。メニューには、「拡大」、「縮小」、「回転」・・・が含まれるが、ここでは、「拡大」が選択された場合について述べる(ステップS244)。「拡大」が選択された場合、合成画像中の指定された位置を中心に100×100画素の範囲が、二次利用範囲である。
以下、ステップS246〜ステップS262において、二次利用範囲に含まれる各画素と対応するピクセルデータについて、ステップS247〜ステップS261の処理を繰り返すことで、加工画像データを生成する。
先ず、主制御部204は、二次利用範囲内の1の画素と対応する形式フラグPを形式フラグ群228から読み出す(ステップS247)。
読み出した形式フラグP=1の場合(ステップS249のYES)、主制御部204は、メモリ201の一般領域211から、YUV二次拡大用データ216を読み出し、変形用メモリ246に書き込む(ステップS251)。次に、自然画向け補整用データ219を読み出し、補整用メモリ248に出力する(ステップS252)。
読み出した形式フラグP=0であれば(ステップS249のNO)、主制御部204は、メモリ201の一般領域211から、RGB拡大用データ213を読み出し、読み出したRGB拡大用データを変形用メモリ246へ書き込む(ステップS254)。次に、主制御部204は、RGB補整用データ217を読み出し、読み出したRGB補整用データ217を、補整用メモリ248へ書き込む(ステップS256)。
次に、主制御部204は、読み出した形式フラグと対応するピクセルデータの記憶されているアドレスを指定して、変形エンジン247へ、拡大処理を指示する(ステップS257)。
変形エンジン247は、主制御部204の指示に従って、指定されたアドレスからピクセルデータを読み出し、変形用メモリ246に記憶されている関数及びパラメータを用いて読み出したピクセルデータに拡大処理を施す。拡大処理後のピクセルデータ(群)を補整エンジン249へ出力する(ステップS258)。
補整エンジン249は、変形エンジン247からピクセルデータ(群)を受け取り、補整用メモリ248に記憶されている関数及びパラメータを用いて、受け取ったピクセルデータ(群)に画質補整処理を施す(ステップS259)。
次に、補整エンジン249は、補整処理後のピクセルデータ群を順次メモリ201の画像記憶領域221に書き込む(ステップS261)。
二次利用範囲の各ピクセルデータについての繰返しが終了すると(ステップS262)、主制御部204は、補整エンジン249により書き込まれたピクセルデータ(群)により構成される加工(拡大)画像データ229を読み出し、読み出した加工画像データ229から加工(拡大)画像を生成し、表示部202に表示する(ステップS263)。
2.4 まとめ
以上説明してきたように、本実施の形態の画像合成装置200は、合成前の画像データを、元のデータ形式のまま、拡大などの加工を施した後、形式変換及び合成処理を行い、合成画像データを生成する。
また、合成画像データを構成する各ピクセルデータとは個別に、形式フラグ群を生成する。そのため、合成画像データにはブランクビットは存在しないので、総データ量を削減することができる。
なお、ここでは、合成画像データのデータ形式をR8G8B8形式としたが、上述したように各ピクセルデータが16ビット(例えばR5G6B5)又は16ビットの偶数倍になるように、ピクセルデータのデータ長を調整し、アドレス管理が容易になるようにしてもよい。
3. 実施の形態3
以下に、本発明の実施の形態3について、図面を用いて説明する。
3.1 概要
本実施の形態では、合成画像データを構成する各ピクセルデータは、合成前において、拡大などの加工処理、画質補整処理が施されたか否かを示す属性フラグを含んでいる。
合成前に、加工や画質補整を施した後に生成した、合成画像データを、更に、加工する場合を考える。加工や画質補整を施した画像データに、同一のアルゴリズムに基づく関数及びパラメータを用いて、再度、加工又は画質補整を施すと、不自然な画像になる場合がある。例えば、合成前に、画質補整を施すことで、コントラストを明瞭にした部分に、同じアルゴリスムに基づく画質補整を再度施すと、必要以上に、コントラスト比が大きくなり、不自然な画像になる場合が考えられる。また、合成前に拡大処理を施した部分に更に、同一のアルゴリズムで拡大処理を施すと、輪郭線が不明瞭になったり、画質が荒くなったりする可能性が考えられる。
本発明の画像合成装置300では、合成画像データを構成する各ピクセルデータに、合成前における加工、補整の有無を示す属性フラグ付加する。次に、合成画像データのうち、合成前に、加工や補整を施している部分に更に、加工や補整を施す場合(以下、多重加工、多重補整と呼ぶ)、1度目とは異なる最適な関数及びパラメータを含む多重加工用データを用いる。
このようにすることで、多重加工、多重補整した部分の画質の最適化を図ることができる。なお、加工処理には、拡大、縮小、回転など、様々な種類の加工処理が考えられるが、説明を簡単にするため、本実施の形態における画像合成装置は、利用者の選択した1以上の画像データを、1以上の倍率で拡大し、必要に応じて画質補整処理を施して合成する装置であるとする。
3.2 構成
図19は、本実施の形態の画像合成装置300の機能的構成を示すブロック図である。図中の矢印は、合成画像データ314の生成に関するデータフローを示しており、太線矢印は、加工画像データの生成に関するデータフローを示している。
図19に示すように、画像合成装置300は、メモリ301、表示部302、入力部303、主制御部304、画像処理部305から構成され、画像処理部305は、合成制御部341、変形用メモリ346、変形エンジン347、補整用メモリ348、補整エンジン349、形式変換部342、合成エンジン343、合成バッファ344及び属性フラグ付加部351を含む。
図面中、前述の実施の形態と重複する構成及びデータには、同一の参照符号を付している。
画像合成装置300は、具体的には、マイクロプロセッサ、RAM及びROMを含んで構成されるコンピュータシステムであって、RAM及びROMにはコンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することで、画像合成装置300は、その機能の一部を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
以下に、各構成について説明する。なお、入力部303、表示部302及び形式変換部342の構成及び動作は実施の形態2と同様であるので説明を省略する。また、変形用メモリ346、変形エンジン347、補整用メモリ348、補整エンジン349の構成及び動作は、実施の形態2と同様に、各メモリの保持する関数及びパラメータを用いて、入力されたピクセルデータに処理を施す。従って、詳細な説明は省略する。
(1)メモリ301
メモリ301は、ハードディスクユニットを含んで構成され、一般領域311と画像記憶領域321とを含む。
一般領域311は、合成指示テーブル312、RGB拡大用データ213、YUV拡大用データ215、RGB補整用データ217、YUV補整用データ218、多重拡大用データ313、多重補整用データ315を記憶している。以下必要に応じてRGB拡大用データ213、YUV拡大用データ215、RGB補整用データ217、YUV補整用データ218を通常加工用データ群と呼び、多重拡大用データ313、多重補整用データ315を多重加工用データ群と呼ぶ。
また、図示していないが、一般領域311には、これらの他にも、主制御部304により用いられる各種のプログラム、パラメータ、画像データなどが記憶されている。
画像記憶領域321には、ペイント画像データ122、写真画像データ124・・・など利用者の操作に従って保存された画像データ、当該画像合成装置により生成された合成画像データ314、加工画像データ316が記憶されている。
(1−1)合成指示テーブル312
合成指示テーブル312は、実施の形態2において説明した合成指示テーブル212と同様の構成であって、複数の合成情報から構成される。ただし、ここでは、変形情報は「不要」又は「n倍」(n≧1)のみである。
その他の詳細な構成は、実施の形態2の合成指示テーブル212と同様であるので、説明を省略する。
(1−2)通常加工用データ群
RGB拡大用データ213、YUV拡大用データ215、RGB補整用データ217及びYUV補整用データ218は実施の形態2において、説明した通りであるので、ここでは説明を省略する。
(1−3)多重加工用データ群
多重拡大用データ313は、合成画像データ314のうち、合成前において拡大処理を施している部分を、さらに拡大するのに適したアルゴリズムに従う関数及びパラメータを含んでいる。
多重補整用データ315は、合成画像データ314のうち、合成前において画質補整処理を施している部分を、さらに画質補整するためのアルゴリズムに従う関数及びパラメータを含んでいる。
画質補整処理は、大きく分けて、雑音除去、輪郭強調及び歪補整の処理を含んでいる。ここで、同一のアルゴリズムに従って画質補整処理を、複数回行う場合を想定する。1度目の画質補整において、輪郭強調のために生成されたデータを、2度目以降の画質補整処理において、雑音であると誤認される可能性がある。
また、輪郭強調処理では、各色の濃度が急激に変化する部分(輪郭)を検出し、検出した部分の高周波(高濃度)成分をより強調する。このような処理には、一例として、入力画像データの二次微分を用いる(二次微分を用いた輪郭強調処理については、非特許文献2に詳細に説明されている)。2度目以降の画質補整を行う場合、前述の二次微分の加算成分を、新たな輪郭であると誤認する可能性がある。
従って、例えば、RGB補正用データ217及びYUV補正用データ218は、それぞれ、雑音除去、輪郭強調及び歪補整に関する関数及びパラメータを含んでいるが、多重補整用データ315には、歪補整に関する関数及びパラメータのみを含む。
若しくは、RGB補整用データ217、YUV補整用データ218及び多重補整用データ315に含まれる輪郭強調のための係数を何れも小さめに設定するとしてもよい。
(1−4)画像データ
ペイント画像データ122、写真画像データ124など合成の対象となる画像データについては、実施の形態1において既に述べているので説明を省略する。
合成画像データ314は、ペイント画像データ122、写真画像データ124などを、必要に応じて拡大し、画質補整処理を施して合成した画像データであって、データ形式はP2X6R8G8B8形式である。各ピクセルデータの先頭の1ビットは、合成の過程で、そのビットデータに拡大処理が施されたか否かを示しており、「1」は、拡大処理が施されたことを示し、「0」は、施されなかったことを示す。各ピクセルデータの第2ビットは、合成の過程でそのピクセルデータに画質補整処理が施されたか否かを示し、「1」は、画質補整処理が施されたことを示し、「0」は、施されなかったことを示す。以下、各ピクセルデータの先頭の2ビットを属性ビットと呼び、変数Pで表す。
加工画像データ316は、合成画像データ314の一部又は全部に更に加工を施して生成された画像データである。
(2)合成制御部341
合成制御部341は、合成画像データの生成処理において、図示していないが、各機能部へ、制御信号を出力し、その動作を制御する機能を有する。
合成制御部341は、主制御部304から、画像合成の指示を受ける。この指示を受けると、合成バッファ344を初期化する。具体的には背景画像データ(ブルーバック、利用者の指定した背景画像データ)を書き込む。ここで書き込まれる背景画像データは、P2X6R8G8B8形式であって、各ピクセルデータの属性ビットは「00」であるとする。
次に、合成制御部341は、メモリ301の所定領域に記憶されている合成指示テーブルに含まれる合成情報のうち、重ね合わせ順が小さいものから順に読み出す。
すべての合成情報について、以下の処理を繰り返すことで、合成画像データ314を生成する。
先ず、読み出した合成情報に含まれる変形情報が「不要」であれば、変形エンジン347に一時停止を指示する。「不要」でない場合、読み出し合成情報に含まれるデータ形式を基に、RGB拡大用データ213又はYUV拡大用データ215の何れかを読み出し、変形用メモリ346へ書き込む。このときに、合わせて拡大の倍率nも書き込む。
次に、読み出した合成情報に含まれる画質補整情報が「不要」であれば、補整エンジン349に一時停止を指示する。「不要」でない場合、読み出し合成情報に含まれるデータ形式を基に、RGB補整用データ217又はYUV補整用データ218の何れかを読み出し、変形用メモリ346へ書き込む。
続いて、合成制御部341は、読み出した合成情報に含まれるデータ形式を、形式変換部342へ出力する。
次に、読み出した合成情報に含まれる変形情報から画像サイズを算出し、算出した画像サイズと、出力座標と、透過率とを合成エンジン343へ出力する。
次に、合成制御部341は、合成情報に含まれる変形情報と画質情報とを基に2ビット長の属性フラグPを生成する。具体的には、変形情報が「不要」であれば第1ビット「0」、「不要」以外であれば第1ビット「1」を生成し、画質補整情報が「不要」であれば、第2ビット「0」、「不要」以外であれば、第2ビット「1」を生成する。次に、生成した2ビット長の属性フラグ付加部351へ出力する。
続いて、合成制御部341は、読み出した合成情報と対応する画像データを変形エンジン347へ出力する。
属性フラグ付加部351が、合成バッファ344へ合成途中画像データを書き戻すと、次の合成情報について、同様の処理を繰り返す。
(3)合成バッファ344
合成バッファ344は、RAMから構成され、合成エンジン343及び属性フラグ付加部351による画像合成処理の途中における合成途中画像データを記憶する。
(4)形式変換部342
形式変換部342は、合成制御部341から、データ形式を受け取る。また、形式変換部342は、補整エンジン349から、補整済画像データを受け取る。ここで受け取る補整済画像データのデータ形式は、合成制御部341から受け取るデータ形式と一致する。
形式変換部342は、受け取った補整済画像データのデータ形式をX8R8G8B8形式に変換して、変換済画像データを生成する。変換方法の詳細は、実施の形態1と同様であるので、説明を省略する。
次に、形式変換部342は、生成した変換済画像データを合成エンジンへ出力する。
(5)合成エンジン343
合成エンジン343は、合成制御部341から、出力座標と透過率と画像サイズとを受け取る。
また、合成エンジン343は、形式変換部342から、変換済画像データを受け取る。ここで受け取る変換済画像データを基に生成される変換済画像の画像サイズは、合成制御部341から受け取った画像サイズと一致する。
これらを受け取ると、合成エンジン343は、合成バッファ344から合成途中画像データを読み出し、読み出した合成途中画像データのうち、受け取った出力座標を起点とし、画像サイズの示す範囲(合成対象範囲と呼ぶ)の画像データを受け取った変換済画像データと合成する。合成の演算については、実施の形態1において述べた通りであるので、ここでは省略する。このとき、合成対象範囲の各ピクセルデータの形式はX8R8G9B8形式である。
次に、合成エンジン343は、合成後の画像データを属性フラグ付加部351へ出力する。
(6)属性フラグ付加部351
属性フラグ付加部351は、合成制御部341から2ビット長の属性フラグPを受け取り一時的に記憶する。
次に、属性フラグ付加部351は、合成エンジン343から合成処理後の画像データを受け取る。属性フラグ付加部351は、受け取った画像データのうち、合成対象範囲に含まれる各ピクセルデータの先頭の2ビットを記憶している属性フラグPに書き換える。書き換えが終了すると、書き換え後の画像データにより、合成バッファ344の保持する合成途中画像データを更新する。
(7)主制御部304
図示していないが、主制御部304は、画像合成装置300を構成する各部へ制御信号を出力し、各部の動作を制御する機能を有する。
主制御部304は、入力部303を介して、利用者の操作を受け付け、外部機器又は記録媒体に記録されている画像データを読み出し、メモリ301の画像記憶領域に書き込む。
また、主制御部304は、入力部303を介して、合成画像の作成要求を受け付ける。さらに、利用者による、合成画像の加工要求の入力を受け付ける。
合成画像の作成要求を受け付けると、利用者の操作に従って、合成指示テーブル312を生成し、合成制御部341へ画像合成を指示する。合成画像の生成の制御については、実施の形態1と同様であるので、ここでは、説明を省略する。
(合成画像の加工)
主制御部304は、合成画像データ314を基に生成された合成画像が表示部に表示されている状態で、入力部303を利用者による位置の指定を受け付ける。位置の指定を受け付けると、倍率m(≧1)の入力画面を表示部302に表示し、倍率の入力を受け付ける。
次に、主制御部304は、指定された位置を中心に、例えば縦100×横100画素の範囲(拡大対象範囲と呼ぶ)の画像を入力された倍率に拡大して加工画像データ316を生成する。
以下に、具体的な拡大処理の制御について説明する。
主制御部304は、拡大対象範囲に含まれる各ピクセルデータについて、以下の処理を繰り返す。
ピクセルデータの第1ビットが「1」であれば、主制御部304は、メモリ301から多重拡大用データ313を読み出し、読み出した多重拡大用データ313を変形用メモリ346へ書き込む。
第1ビットが「0」であれば、主制御部304は、RGB拡大用データ213を読み出し、読み出したRGB拡大用データ213を変形用メモリ346に書き込む。
次に、ピクセルデータの第2ビットが「1」であれば、主制御部304は、多重補整用データ315を読み出し、読み出した多重補整用データ315を補整用メモリ348に書き込む。
第2ビットが「0」であれば、主制御部304は、RGB補整用データ217を読み出し、読み出したRGB補整用データ217を補整用メモリ348に書き込む。
次に、補整エンジン349の動作を監視し、補整エンジン349による補整の処理が終了すると、補整処理後のピクセルデータをメモリ301の画像記憶領域321へ書き込むように、補整エンジン349に指示する。
拡大対象範囲の全てのピクセルデータについて、拡大及び補整が終了すると、主制御部304は、加工画像データ316を読み出し、読み出した加工画像データ316を基に加工画像を生成し、生成した加工画像を表示部302に表示する。
3.3 動作
以下に、本実施の形態の画像合成装置300の動作について説明する。
(1)画像合成の動作
利用者の操作により、画像合成が指示されると、画像合成装置300は、画像合成処理を開始する。
図20〜図22は、画像合成処理における画像合成装置300の動作を示したフローチャートである。以下に、図20〜図22を用いて画像合成装置300の動作について説明する。
主制御部304は、所定の選択画面、入力画面などを表示して、利用者による合成対象となる画像の選択、表示位置、重ね合わせ順、加工(拡大)の要否、画質補整の要否の入力を受け付ける(ステップS301)。
これらの入力を受け付けると、受け付けたデータを基に合成指示テーブル312を生成し、生成した合成指示テーブル312をメモリ301の所定領域に書き込む(ステップS302)。
次に、主制御部304は、合成制御部341へ、画像データの合成を指示する(ステップS303)。
合成制御部341は、主制御部304から画像合成の指示を受ける。指示を受けると、メモリ301の所定領域に記憶されている合成指示テーブル312をサーチし、合成指示テーブル312を構成する合成情報を重ね合わせ順の小さいものから順に読み出す(ステップS306)。
このとき、既に、全ての合成情報を読み出し済みであれば(ステップS307のYES)、合成制御部341は、ステップS308へ処理を移す。
全ての合成情報を読み出し済みでない場合(ステップS307のNO)、合成制御部341は、読み出した合成情報に含まれる変形情報、画質補整情報、データ形式を基に最適な加工用データをメモリ301から読み出して、読み出し加工用データと倍率とを変形用メモリ346に書き込み、最適な補整用データをメモリ301から読み出して、補整用メモリ348へ書き込む(ステップS311)。ただし、読み出した合成情報に含まれる変形情報が「不要」の場合、変形エンジン347へ一時停止を指示する。また画質補整情報が「不要」の場合は、補整エンジン349へ一時停止を指示する。
次に、合成制御部341は、読み出した合成情報に含まれるデータ形式を形式変換部342へ出力する(ステップS312)。
次に、合成制御部341は、読み出した合成情報に対応する画像データを読み出し、変形エンジン347へ出力する(ステップS313)。
変形エンジン347は、変形用メモリ346の保持するパラメータ及び関数などを用いて、受け取った画像データを加工(拡大)して、変形済画像データを生成し、生成した変形済画像データを補整エンジン349へ出力する(ステップS314)。ただし、合成制御部341から、一時停止を指示された場合は、受け取った画像データをそのまま補整エンジン349へ出力する。
補整エンジン349は、変形エンジン347から変形済画像データを受け取る。変形済画像データを受け取ると、補整エンジン349は、補整用メモリ348に記憶されている関数及びパラメータを用いて、受け取った変形済画像データに画質補整処理を施して補整済画像データを生成する(ステップS316)。続いて、補整エンジン349は、生成した補整済画像データを形式変換部342へ出力する(ステップS317)。なお、このとき、合成制御部341から一時停止を指示されている場合、受け取った変形済画像データをそのまま形式変換部342へ出力する。
形式変換部342は、補整済画像データを受け取ると、合成制御部341から通知されたデータ形式を参照して、受け取った補整済画像データのデータ形式をX8R8G8B8形式に変換して変換済画像データを生成する。続いて、生成した変換済画像データを合成エンジン343へ出力する(ステップS318)。
合成制御部341は、次に、読み出した合成情報に含まれる出力位置、透過率、画像サイズを合成エンジン343へ出力する(ステップS321)。
合成エンジン343は、変換済画像データを受け取ると、合成バッファ344から、合成途中画像データを読み出す(ステップS322)。
合成エンジン343は、読み出した合成途中画像データのうち合成対象範囲の各ピクセルデータと対応する変換済画像データのピクセルデータとを合成する(ステップS323)。
合成制御部341は、読み出した合成情報に含まれる変形情報及び画質補整情報を基に2ビット長の属性フラグPを生成し、生成した属性フラグPを属性フラグ付加部351へ出力する(ステップS326)。
属性フラグ付加部351は、合成制御部341から属性フラグPを受け取り、一時的に記憶する。次に、属性フラグ付加部351は、合成エンジン343から受け取った画像データのうち、合成対象範囲に含まれるカテゴリクレームピクセルデータのブランクビットのうち先頭の2ビットを受け取った属性フラグに書き換えて、合成途中像データを更新する(ステップS327)。
次に、属性フラグ付加部351は、更新後の合成画像データを合成バッファ344へ書き戻す(ステップS328)。
次に、画像合成装置300は、ステップS306へ戻り、全ての、合成情報について、同様の処理を繰り返す。
ステップS307において、全ての合成情報が、読み出し済みであれば(ステップS307のYES)、合成制御部341は、合成バッファ344の記憶している合成途中画像データを読み出し、これを合成画像データとして、メモリ301に書き込む(ステップS308)。次に、合成画像の生成が終了したことを主制御部304へ通知する。
主制御部304は、メモリ301から、合成画像データ314を読み出し、読み出し合成画像データ314を基に合成画像を生成して表示部302に表示する(ステップS309)。
(2)合成画像データの加工処理
図23〜図24は、合成画像データの加工(拡大)処理に係る画像合成装置300の動作を示すフローチャートである。以下に、図23〜図24を用いて、合成画像データの拡大処理における画像合成装置300の動作について説明する。
主制御部304は、利用者の操作に従って、合成画像データ314を基に統制画像を生成し、生成した合成画像を表示部302に表示する(ステップS341)。続いて、利用者の操作による位置(画素)の指定を、入力部303を介して受け付ける(ステップS342)。次に、主制御部304は、利用者による倍率の入力を受け付ける(ステップS343)。
次に、ステップS346〜ステップS358の間、合成画像データのうち、二次利用範囲に含まれる各ピクセルデータについて、ステップS347〜ステップS357の処理を繰り返すことで、加工(拡大)画像データを生成する。
ピクセルデータの第1ビットが「1」であれば(ステップS347のYES)、主制御部304は、メモリ301から、多重拡大用データ313を読み出し、変形用メモリ346へ書き込む(ステップS348)。
ピクセルデータの第1ビットが「0」であれば(ステップS347のNO)、主制御部304は、メモリ301からRGB拡大用データ213を読み出し、変形用メモリ346に書き込む(ステップS349)。
次に、主制御部304は、受け付けた倍率を変形用メモリ346へ書き込む(ステップS351)。
次に、ピクセルデータの第2ビットが「1」であれば(ステップS352のYES)、主制御部304は、メモリ301から、多重補整用データ315を読み出し、補整用メモリ348へ書き込む(ステップS353)。
ピクセルデータの第2ビットが「0」であれば(ステップS352のNO)、主制御部304は、メモリ301から、RGB補整用データ217を読み出し、補整用メモリ348に書き込む(ステップS354)。
続いて、主制御部304は変形エンジン347へ、ピクセルデータを出力し、変形エンジン347は、変形用メモリ346の保持する、倍率、関数及びパラメータを用いて、受け取ったピクセルデータの下位24ビット(つまりR8G8B8)に拡大処理を施して、補整エンジン349へ出力する(ステップS356)。
補整エンジン349は、補整用メモリ348の保持する関数及びパラメータを用いて、変形エンジン347から受け取ったピクセルデータに画質補整処理を施して、メモリ301の画像記憶領域321に書き込む(ステップS357)。
二次利用範囲に含まれる全てのピクセルデータについて、繰返しが終了すると(ステップS358)、主制御部304は、補整エンジン349により書き込まれたピクセルデータ群により構成される加工画像データ316をメモリ301から読み出す(ステップS359)。次に、読み出した加工画像データから加工画像を生成し、表示部302に表示する(ステップS361)。
3.4 まとめ
以上、説明してきたように、本実施の形態の画像合成装置300は、合成前における拡大加工の有無、画質補整の有無を示す属性フラグPを生成し、生成した属性フラグを、合成画像データを構成する各ピクセルデータに埋め込む。
合成画像の一部(二次利用範囲)を更に拡大する場合、二次利用範囲の各ピクセルデータに埋め込まれた属性フラグを参照して、合成の過程で拡大及び画質補整されているか否かに応じて、拡大、画質補整する場合、に用いるデータを選択する。
このようにすることで、同一の処理を繰り返すことによって生じる画像の不自然さを緩和することができる。
4. 実施の形態4
以下に、本発明の実施の形態4に係る画像合成装置400について、図面を用いて説明する。
4.1 概要
本実施の形態では、複数の画像データを合成して1つの合成画像データを生成する際に、先ず、合成の対象となる画像データのデータ形式をRGB形式に変換すると共に、変換前の画像データのデータ形式を示す1ビット長の形式フラグPを生成する。
拡大、縮小、といった加工処理を実行する変形エンジンは、画像データと共に受け取った形式フラグPを基に、最適な加工用データを選択して用いる。
画質補整を行う補整エンジンも同様に、形式フラグPを基に最適な補整用データを選択して用いる。
このように、各実行エンジンが、形式フラグPを基に、付随するメモリから最適なデータを選択して処理を実行するので、合成画像データの生成の高速化を図ることができる。
4.2 構成
図25は、画像合成装置400の機能的構成を示す機能ブロック図である。図中の矢印は、画像合成処理におけるデータフローを示している。
図25に示すように、画像合成装置400は、メモリ401、表示部402、入力部403、主制御部404、画像処理部405から構成され、画像処理部405は、合成制御部441、形式変換部442、変形用メモリ446、変形エンジン447、補整用メモリ448、補整エンジン449、合成エンジン443及び合成バッファ444を含む。
具体的には、画像合成装置400は、マイクロプロセッサ、RAM及びROMを含んで構成されるコンピュータシステムであって、RAM及びROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、画像合成装置400は、その機能の一部を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
以下に、各機能部について説明する。なお、入力部403、表示部402の構成及び動作は実施の形態1と同様であるので説明を省略する。
また、メモリ401の構成は実施の形態1と同様であり、メモリ401の記憶している合成指示テーブル212、ペイント画像、122写真画像124・・・は、それぞれ、実施の形態2及び実施の形態1において説明した通りであるので説明を省略する。また、合成画像データ414は、その生成の過程は異なるが、データの構成は実施の形態1において説明した合成画像データ127と同一であるので、説明を省略する。加工用データ群453及び補整用データ群454については後述する。
(1)合成制御部441
合成制御部441は、合成画像データの生成の過程において、図示していないが、各機能へ制御信号を出力し動作を制御する機能を有する。
合成制御部441は、主制御部404から、画像合成を指示される。画像合成を指示されると、合成制御部441は、合成指示テーブル212を構成する合成情報のうち、重ねあわせ順の小さいものから順に合成情報を読み出し、全ての合成情報について、以下の処理を繰り返す。
先ず、合成制御部441は、読み出した合成情報に含まれるデータ形式を形式変換部442へ出力する。次に、変形情報及び、画質補整情報をそれぞれ、変形エンジン447及び補整エンジン449へ出力する。次に、合成エンジン443へ出力位置、透過率、画像サイズを出力する。
次に、合成制御部441は、読み出した合成情報と対応する画像データを形式変換部442へ出力する。
全ての合成情報について、上記の処理終えると、合成制御部441は、合成エンジン443の動作を監視し、合成エンジン443による合成途中画像データの書き戻しが終了すると、合成バッファ444の記憶している合成途中画像データを読み出し、読み出した合成途中画像データを、合成画像データ414としてメモリ401へ書き込む。
(2)形式変換部442
形式変換部442は、合成制御部441からデータ形式と画像データとを受け取る。
これらを受け取ると、受け取ったデータ形式に従って1ビット長の形式フラグPを生成する。形式フラグP=1は、RGB形式を示し、P=0はYUV形式を示す。
次に、形式変換部442は、受け取った画像データのデータ形式をR8G8B8形式に変換して変換済画像データを生成する。変換の詳細な手順は、実施の形態1において述べているので、ここでは説明を省略する。次に、生成した形式フラグPと変換済画像データとを変形エンジン447へ出力する。
(3)変形用メモリ446
変形用メモリ446は、RAMから構成され、ここでは加工用データ群451を記憶している。これは、メモリ401の記憶している加工用データ群453と同一である。
加工用データ群451には、拡大、縮小、回転、反転といった加工に用いられる複数のデータを含んでいる。具体的には実施の形態1において説明した、グラフィック向けの拡大用データA113、縮小用データA114、反転用データ115、回転用データA116・・・、自然画向けの拡大用データB、縮小用データB、反転用データB、回転用データB・・・を含む。
(4)変形エンジン447
変形エンジン447は、合成制御部441から、変形情報を受け取り、形式変換部442から、形式フラグPと変換済画像データとを受け取る。
これらを受け取ると、変形エンジン447は、受け取った形式フラグPと変形情報を基に、変形用メモリ446に記憶されている加工用データ群から最適な加工用データを読み出す。読み出した加工用データを用いて、受け取った変換済画像データを加工し、変形済画像データを生成する。
例えば、形式フラグP=1、変形情報「0.8倍」を受け取ると、自然画向けの縮小用データBを読み出し、読み出した縮小用データBと変形情報に含まれる倍率「0.8」とを用いて、受け取った変換済画像データに縮小処理を施して変形済画像データを生成する。
次に、変形エンジン447は、生成した変形済画像データと、受け取った形式フラグPとを、補整エンジン449へ出力する。
なお、合成制御部441から受け取った合成情報が「不要」である場合、受け取った変換済画像データを、そのまま、変形済画像データとして出力する。
(5)補整用メモリ448
補整用メモリ448は、RAMから構成され、ここでは補整用データ群452を記憶している。これは、メモリ401の記憶している補整用データ群454と同一である。
補整用データ群452には、画質補整に用いられる複数のデータを含んでいる。具体的には実施の形態1において説明した、グラフィック向け補整用データA117及び自然画向けの補整用データB118を含む。
(6)補整エンジン449
補整エンジン449は、合成制御部441から画質補整情報を受け取る。また、変形エンジン447から、変形済画像データと形式フラグPとを受け取る。
これらを受け取ると、補整エンジン449は、画質補整情報と形式フラグPを基に、補整用データ群452から最適な補整用データ選択し、選択した補整用データを読み出す。
次に、補整エンジン449は、読み出した補整用データを用いて、受け取った変形済画像データに画質補整処理を施して、補整済画像データを生成する。
例えば、形式フラグP=1、変形情報「要」を受け取ると、自然画向けの補整用データBを読み出し、読み出した補整用データBを用いて変形済画像データに画質補整処理を施して補整済画像データを生成する。
次に、補整エンジン449は、生成した補整済画像データと受け取った形式フラグPとを合成エンジン443へ出力する。
なお、合成制御部441から受け取った画質補整情報が「不要」であれば、上記の処理は行わず、受け取った変形済画像データをそのまま、補整済画像データとして出力する。
(7)合成バッファ444
合成バッファ444は、RAMから構成され、合成エンジン443による合成
途中の画像データを記憶する。合成バッファ444の記憶する合成途中画像データのデータ形式はP1X7R8G8B8形式である。
また、起動時、初期化後の合成バッファ444の記憶しているデータについては、上記の実施の形態1及において説明した通りである。
(8)合成エンジン443
合成エンジン443は、合成制御部441から出力位置、透過率及び画像サイズを受け取る。また、合成エンジン443は、補整エンジン449から、補整済画像データと形式フラグPとを受け取る。ここで受け取る画像サイズは、補整済画像データにより生成される補整済画像のデータサイズと一致する。
説明の便宜上、合成途中画像データに基づいて生成される合成途中画像において、出力位置を起点とし、画像サイズにより定まる範囲を合成対象範囲と呼ぶ。
これらのデータを受け取ると、合成エンジン443は、合成バッファ444から合成途中画像データを読み出す。読み出した合成画像データのうち、合成対象範囲に対応する部分と、補整済画像データとを合成する。合成の詳細については、実施の形態1において説明した通り、各色のデータと透過率とを用いて算出する。
続いて、合成対象範囲の各ピクセルデータの第1ビットを受け取った形式フラグPに書き換えて、合成途中画像データを更新する。
次に、合成エンジン443は、更新後の合成途中画像データを合成バッファ444に書き戻す。
(9)主制御部404
主制御部404は、図面上には記載していない制御信号を、各機能部へ出力し、その動作を制御する機能を有する。
主制御部404は、入力部403を介して、利用者による合成画像の生成要求を受け付ける。合成画像の生成要求を受け付けると、主制御部404は、変形用メモリ446及び補整用メモリ448を初期化する。次に、メモリ401から加工用データ群453を読み出し、変形用メモリ446へ書き込む。次に、メモリ301から補整用データ群454を読み出し、補整用メモリ448へ書き込む。なお、これらのデータの書き込みのタイミングはこれに限るものではなく、画像合成装置400の起動時であっても良いし、画像合成の指示時(後述)後に合成制御部441により書き込まれるとしてもよい。
次に、主制御部404は、所定の選択画面及び入力画面を、表示部402に表示し、合成の対象となる画像の選択、加工の要否、補整の要否の入力を受け付ける。受け付けたデータを基に合成指示テーブル212を生成し、生成した合成指示テーブル212をメモリ401に書き込む。続いて、合成制御部441へ、画像合成を指示する。
また、主制御部404は、利用者の操作に従って、合成画像データ414を基に合成画像を生成し、表示部402に表示する。このとき、利用者により、合成画像中の位置(画素)が指定されると、合成画像データの加工の制御を行う。合成画像データの加工の制御については、実施の形態1と同様であるのでここでは、説明を省略する。
4.3 動作
以下に本発明の、画像合成装置400の動作について図面を用いて説明する。なお、合成画像データの加工処理における、画像合成装置400の動作は、実施の形態1と同様であるので、ここでは、説明を省略する。
(1)画像合成の動作
画像合成を要求する利用者の操作を受け付けると、画像合成装置400は、画像合成の処理を開始する。
図26〜図28は、画像合成処理における画像合成装置400の動作を示したフローチャートである。以下に、図26〜図28を用いて、画像合成処理における画像合成装置400の動作について説明する。
利用者の操作により画像合成が要求されると、主制御部404は、変形用メモリ446と補整用メモリ448とを初期化し、メモリ401から加工用データ群453を読み出し、読み出した加工用データ群453を、変形用メモリ446にを書き込む。また、メモリ401から補正用データ群454を読み出し、読み出した補正用データ群454を、補整用メモリ448に書き込む(ステップS401)。
次に、主制御部404は、入力部403を介して、合成対象となる画像の選択、表示位置、重ね合わせ順、加工の要否、画質補整の要否の入力を受け付ける(ステップS402)。主制御部404は、受け付けたデータを基に合成指示テーブル212を生成してメモリ301に書き込み、合成制御部441に画像合成を指示する(ステップS404)。
合成制御部441は、合成指示テーブル212に含まれる合成情報を、重ね合わせ順が最小のものから順に読み出す(ステップS406)。このとき、全ての合成情報が既に読み出し済みであれば(ステップS407のYES)、主制御部404は、ステップS408へ処理を移す。
全ての合成情報が読み出し済みでなければ(ステップS407のNO)、合成制御部441は、読み出した合成情報に含まれるデータ形式を形式変換部442へ出力する(ステップS411)。
次に、合成制御部441は、読み出した合成情報に含まれる変形情報を変形エンジン447へ出力する(ステップS412)。次に、合成制御部441は、読み出した合成情報に含まれる画質補整情報を補整エンジン449へ出力する(ステップS413)。
続いて、合成制御部441は、読み出した合成情報に含まれる出力位置、透過率及び画像サイズを合成エンジン443へ出力する(ステップS414)。
次に、合成制御部441は、読み出した合成情報と対応する画像データをメモリ401から読み出し、読み出した画像データを形式変換部442へ出力する(ステップS416)。
形式変換部442は、データ形式と画像データとを受け取る。受け取ったデータ形式がRGB形式であることを示していれば、(ステップS417の「RGB」)、形式変換部442は、形式フラグP=1を生成する(ステップS418)。受け取ったデータ形式が、YUV形式であることを示していれば(ステップS417のYUV)、形式フラグP=0を生成する(ステップS419)。
次に、形式変換部442は、受け取ったデータ形式に基づいて、受け取った画像データをR8G8B8形式に変換して変換済画像データを生成する(ステップS421)。続いて、生成した変換済画像データと形式フラグPとを変形エンジン447へ出力する(ステップS422)。
変形エンジン447は、変形情報と形式フラグPと変換済画像データとを受け取る。受け取った変形情報が「不要」でなければ(ステップS424のNO)、変形エンジン447は、受け取った形式フラグPと変形情報とを基に、加工用データ群451の中から最適な加工用データを選択し、選択した加工用データを変形用メモリ446から読み出す(ステップS426)。
次に、変形エンジン447は、読み出した加工用データを用いて、受け取った変形済画像データを加工して、変形済画像データを生成する(ステップS427)。次に、変形エンジン447は、生成した変形済画像データと受け取った形式フラグPとを補整エンジン449へ出力する(ステップS428)。
受け取った変形情報が「不要」であれば(ステップS424のYES)、受け取った変換済画像データを、そのまま、変形済画像データとして補整エンジン449へ出力する(ステップS431)。続いて、受け取った形式フラグPを補整エンジン449へ出力する(ステップS432)。
補整エンジン449は、補整情報、形式フラグP及び変形済画像データを受け取る。受け取った補整情報が「不要」でなければ(ステップS433のNO)、補整エンジン449は、受け取った形式フラグPを基に、補整用データ群452の中から最適な補整用データを選択し、選択した補整用データを補整用メモリ448から読み出す(ステップS434)。次に、補整エンジン449読み出した補整用データを用いて受け取った変形済画像データに画質補整処理を施し、補整済画像データを生成する(ステップS436)。
続いて、補整エンジン449は、受け取った形式フラグPと生成した補整済画像データとを合成エンジン443へ出力する(ステップS437)。
受け取った補整情報が「不要」であれば(ステップS433のYES)、補整エンジン449は、受け取った変形済画像データを、そのまま、補整済画像データとして合成エンジン443へ出力する(ステップS441)。続いて受け取った形式フラグPを合成エンジン443へ出力する(ステップS442)。
合成エンジン443は、出力位置、透過率、画像サイズ、補整済画像データ及び形式フラグを受け取る。これらを受け取ると、合成エンジン443は、合成バッファ444から、合成途中画像データを読み出す(ステップS443)。読み出した合成途中画像データのうち、合成対象範囲に対応する部分と補整画像データとを合成する(ステップS444)。続いて、合成エンジン443は、合成対象範囲に対応する部分の各ピクセルデータの第1ビットを受け取った形式フラグPに書き換えて合成途中画像データを更新する(ステップS446)。
次に、合成エンジン443は、更新後の合成途中画像データを合成バッファ444に書き戻す(ステップS447)。
全ての合成情報について、これらの処理が終了すると(ステップS407のYES)、合成制御部441は、合成バッファ444の保持している合成途中画像データを読み出し、合成画像データとして、メモリ401へ書き込む(ステップS408)。次に、主制御部404は、メモリ401から合成画像データ414を読み出し、読み出した合成画像データを基に合成画像を生成して表示部402へ表示する(ステップS409)。
4.4 まとめ
以上説明してきたように、本実施の形態では、先ず形式変換部が、合成対象となる画像データの形式をR8G8B8に変換すると共に、変換前の画像データの形式を示す形式フラグを生成する。合成前において、各画像データに加工や画質補整を施す際には、各エンジンは、それぞれに付随する変形用メモリ又は補整用メモリから、形式フラグを基に、迅速に、最適な加工用データ又は補整用データを選択し、読み出すことができる。
5.その他の変形例
本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の各実施の形態では、ピクセルデータ毎に形式フラグ(実施の形態3では属性フラグ)Pを生成しているが、これに限定されるものではなく、合成画像データ中において、合成前の画像データと対応する部分とその部分に対応するフラグPが特定できれば良い。
実施の形態1を例にすると、形式変換部142は、合成制御部141からデータ形式を受け取り、受け取ったデータ形式に従って、1ビット長の形式フラグPを生成する。
続いて、形式変換部142は、入力画像データを受け取り、受け取った入力データのデータ形式を例えば、R8G8B8形式に変換して、変換済画像データを生成する。
次に、形式変換部142は、生成した形式フラグPと変換済画像データとを合成エンジンへ出力する。
ここで、合成バッファ144の保持する合成途中画像データ及びメモリ101に記憶される合成画像データは、いずれもR8G8B8形式であるとする。
合成エンジン143は、合成制御部141から透過率と重ねあわせ順と出力座標と画像サイズとを受け取る。また、形式変換部142から、形式フラグPと変換済画像データとを受け取る。これらを受け取ると、合成バッファ144から、合成途中画像データを読み出す。受け取った透過率を用いて、読み出した合成途中画像データと変換済画像データとを合成する。続いて、受け取った形式フラグPと重ねあわせ順と出力座標と画像サイズからなる属性情報を生成する。次に、合成後の画像データにより合成バッファ144の保持する合成途中画像データを更新する。次に、生成した属性情報を合成バッファ144に書き込む。
合成エンジン143は、透過率と出力座標と画像サイズと形式フラグPと変換済画像データを受け取る度に、同様にして合成途中画像データの更新、属性情報の生成及び書き込みを繰り返す。
ここで生成される属性情報は、それぞれ、合成画像中の領域151a、152a、153a及び154a各領域に含まれる画素に対応する形式フラグを示す。
次に、利用者の操作によりポインタ161の示す位置を中心とする拡大要求を受け付けると、主制御部104は、拡大の対象となる二次利用範囲を決定する。
続いて、主制御部104は、実施の形態1と同様にして、二次利用範囲に含まれる各画素について、拡大処理を施す。このとき、主制御部104は、処理の対象となっている画素を含む領域を示す属性情報を検出し、検出した属性情報に含まれる形式フラグPを用いる。処理の対象となっている画素を含む属性情報が複数検出された場合、主制御部104は、検出された属性情報に含まれる重ね合わせ順を比較し、最大の重ね合わせ順を含む属性情報を採用する。
処理の対象となっている画素を含む属性情報が検出できなければ、主制御部104は、背景画像に対応する形式フラグ(ここではP=0)を用いて、拡大処理を行う。
他の実施の形態でも同様に、合成画像上における各画像の占める領域を示す情報と形式フラグ(又は属性フラグ)と、重ね合わせ順とからなる属性情報を記憶しておいてもよい。このようにすることで、画素ごとに形式フラグを記憶しておく必要がなくなり、総データ量を削減することができる。
(3)実施の形態1において、主制御部104は、合成画像データのうちの二次利用範囲の各ピクセルデータに含まれる形式フラグPの値によって、加工用データ、補整用データを選択し、それぞれ、変形用メモリ146及び補整用メモリに書き込んでいる。
しかし、これは、一例であって、例えば、主制御部104は、利用者が指定した位置(画素)に対応するピクセルデータに含まれる形式フラグの値によって選択した加工用データ及び補整用データを一度だけ変形用メモリ146及び補整用メモリ148に書き込み。変形エンジン147及び補整エンジン149は、それぞれ、変形用メモリ146及び補整用メモリ148に書き込まれたデータを用いて、二次利用範囲と対応する全てのピクセルデータの加工及び補整を行う構成であっても良い。
実施の形態2、3、4においても同様に、利用者の選択した画素に対応する形式フラグP(実施の形態3においては、属性フラグP)を基に、二次利用範囲の加工及び補整に用いられるデータを、一度だけ選択し、それぞれ、変形用メモリ及び補正用メモリに書き込むとしてもよい。
又は、二次利用範囲に含まれる各画素に対応するP値のうち、値が1のものの総数と、値が0のものの総数を比較し、値の大きい方のP値に従って、加工及び補整に用いられるデータを選択し、各メモリに1度だけ書き込むとしても良い。
なお、実施の形態3の場合は、P値のうち、第1ビットと第2ビットそれぞれについて、総数の比較を行う。
(4)各実施の形態において、合成エンジンは、合成バッファから合成途中画像データ(実施の形態2においては、これに加えて、形式フラグ群)を読み出し、合成処理を行っているが、合成制御部から受け取った透過率が「0」の場合、読み出しは行わず、合成途中画像データのうち、合成対象範囲に対応する部分を、受け取った画像データにより上書きする構成であっても良い。
(5)実施の形態1では、合成前の画像データの形式を示すフラグは1ビット長であって、「0」はRGB形式、「1」はYUV形式であるとしたがこれに限定されるものではない。
例えば、YUV形式には、データのまとめ方が異なるパックド方式とプラナー方式の2種類の方式がある。さらに、データの間引き方によりYUV420、YUV422など数種類の形式がある。
形式フラグPは、これらの違いも含めた形式を示す複数ビット長のデータであってもよい。具体的には、第1ビットは、RGB形式かYUV形式かを示し、第2ビットは、パックド方式かプラナー方式かを示し、第3ビット(又は第3ビット以後の数ビット)は、YUV形式におけるデータの間引き方を示すとしてもよい。
(6)実施の形態2において、形式変換部242は、入力された補整済画像データのデータ形式を、R8G8B8形式に変換しているが、これに限定されるものではない。
例えば、R5G6B5形式にすることにより、生成される合成画像データのアドレス管理を容易にする構成であっても良い。
(7)実施の形態3では、説明を容易にするために、画像合成装置300は、複数の画像データをそのまま又は拡大して合成する装置であるとして説明してきた。しかし、他の実施の形態同様に、拡大以外にも、縮小、反転、回転などの加工を施した後合成するとしても良い。この場合、属性ビットは、8ビット以下のデータであって、各ビットが、それぞれの処理の有無を示す。
具体的には、第1ビットは拡大の有無、第2ビットは、縮小の有無、第3ビットは、反転の有無・・・を示す構成であってもよい。
(8)上記の実施の形態1、2、4では、Pの値は合成前の画像データのデータ形式を示しており、実施の形態3では、合成前の加工及び画質補整処理の有無を示しているがこれに限定されるものではない。
例えば、各画像データを生成したソフトウェアの種類が考えられる。具体的には、ペイント画像ソフトウェア、写真画像データを生成するソフトウェアが該当する。また、実施の形態では複数の画像データを合成するとしてきたが、画像データに限らず、文書作成ソフトウェアにより作成されたテキストデータ、表計算ソフトウェアにより作成された表なども合成する構成であっても良い。
この場合、形式変換部は、各データをRGB形式の画像データに変換すると共に、変換前のデータの種類及び形式を示す数ビット長の形式フラグを生成する。
(9)上記の実施の形態1〜4及び変形例では、各画像データは、画像合成装置内のメモリに記憶されているが、これに限定されるものではない。
例えば、入力部は、可搬型記憶媒体を装着する機構及び記録装置を接続する機構を備え、利用者は、画像合成装置内のメモリ、外部の記録媒体及び記録装置に記憶されている画像データの中から、合成の対象となる画像データを選択する構成であってもよい。
また、生成された合成画像データ、加工画像データを内部のメモリに書き込むとしているが、これに限定されるものではなく、外部の記録媒体、記録装置などへ出力する構成であっても良い。
また、上記の実施の形態及び変形例では、画像合成装置が合成画像データを生成し、さらに、加工画像データを生成しているが、加工画像データを外部機器又は、記録媒体などへ出力し、外部機器が合成画像データを基に加工画像データを生成しても良い。
(10)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM、ROM、前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(11)上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
(12)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM、などから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
(13)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(14)また、上記実施例におけるメモリカード、SIMカードの機能ブロックの全てが集積回路であるLSIとして実現される場合も本発明に含まれる。また、機能ブロックの全てに限らず一部がLSIとして実現される場合も本発明に含まれる。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)やLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
更には、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応などが可能性として有り得る。
(15)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明は、画像データを合成して出力する装置、合成された画像データを下降する装置を製造、販売する産業、及び、これらの装置を用いて各種のサービスを提供する産業において、経営的、反復的に利用可能である。
【0003】
方法、画像合成プログラム及び集積回路を提供することを課題とする。
課題を解決するための手段
[0009]
上記課題を解決するため、本発明は、複数の対象画像データを合成して合成画像データを生成する画像合成装置であって、合成対象となる前記複数の対象画像データと、各対象画像データの生成時におけるコード化に係る属性情報とを取得する取得手段と、取得した複数の前記対象画像データを合成して前記合成画像データを生成する合成手段と、前記合成画像データのうち、各対象画像データと対応する部分に各属性情報を対応付け、前記合成画像データにおいて、2以上の対象画像データと対応する部分の少なくとも一部が重複する場合、前記合成画像データから形成される合成画像上において、重複部分に相当する領域の最前面に表示される部分画像と対応する対象画像データの属性情報を前記重複部分に対応付ける対応付手段とを備えることを特徴とする。
[0010]
また、本発明は、複数の対象画像データを合成して合成画像データを生成する画像合成装置と、合成画像データを加工して加工画像データを生成する加工装置とから構成される画像データ利用システムであって、前記画像合成装置は、合成対象となる前記複数の対象画像データと、各対象画像データの生成時におけるコード化に係る属性情報とを取得する取得手段と、取得した複数の前記対象画像データを合成して前記合成画像データを生成する合成手段と、前記合成画像データのうち、各対象画像データと対応する部分に各属性情報を対応付け、前記合成画像データにおいて、2以上の対象画像データと対応する部分の少なくとも一部が重複する場合、前記合成画像データから形成される合成画像上において、重複部分に相当する領域の最前面に表示される部分画像と対応する対象画像データの属性情報を前記重複部分に対応付ける対応付手段とを備え、前記加工装置は、前記合成画像データを取得するデータ取得手段と、前記合成画像データに対する加工指示を受け付ける受付手段と、前記合成画像データのうち、前記加工指示の対象となる部分に対応する前記属性情報を基に、加工アルゴリズムを選択する選択手段と、選択された加工アルゴリズムに従って前記合成画像データを加工する加工手段とを備えることを特徴とする画像データ利用システムでもある。
[0011]
ここで、上記の「取得手段」について、下記の実施の形態1では、合成制御部141及び形式変換部142がその機能を担う。「合成手段」及び「対応付手段」については、合成エンジン143合成、バッファ144及びメモリ101がその機能を担う。
発明の効果
[0012]
上記の構成によると、前記対応付手段は、前記合成画像データのうち、各対象画像データと対応する部分に前記属性情報を対応付ける。さらに、前記合成画像データにおいて、2以上の対象画像データと対応する部分の少なくとも一部が重複する場合、前記合成画像データから形成される合成画像上において、重複部分に相当する領域の最前面に表示される部分画像と対応する対象画像データの属性情報を前記重複部分に対応付ける。そのため、合成画像データを更に加工する場合、前記属性
【0004】
情報を基に、最適な加工アルゴリズムを選択し、各部分ごとに、最適な加工アルゴリズムにより加工を施すことができる。
[0013]
また、本発明において、前記複数の対象画像データは、それぞれ、異なるデータ形式の入力画像データを、何れか一つのデータ形式に統一して生成され、前記取得手段は、各対象画像データと対応する入力画像データのデータ形式を示す前記属性情報を取得することを特徴とするとしてもよい。
この構成によると、前記対応付手段は、各入力画像データのデータ形式示す前記属性情報を、前記合成画像データのうちの各対象画像データと対応する部分と対応付ける。従って、合成画像データの各部分について、形式変換前のデータ形式を知ることができる。
[0014]
また、前記複数の対象画像データの何れかは、入力画像データを加工して生成されたものであって、前記取得手段は、各対象画像データの加工履歴を示す前記属性情報を取得する画像合成装置であってもよい。
ここで、上記の「加工」は、下記の実施例における、拡大、縮小、反転などの加工処理に加え、画質補整処理も含む。
[0015]
この構成によると、前記取得手段は、各入力画像データに対する加工履歴を示す前記属性情報を取得するので、合成画像データの各部分について、合成前に加工が施されたか否かを知ることができる。
[0016]
【0005】
[0017]
また、前記合成画像データは、複数のピクセルデータから構成され、前記画像合成装置を構成する前記対応付手段は、前記合成画像データのうち、各対象画像データと対応する部分を構成する各ピクセルデータそれぞれに、該当する属性情報を対応付けることを特徴とする構成であっても良い。
この構成によると、前記対応付手段は、前記合成画像データを構成するピクセルデータ毎に前記属性情報を対応付ける。前記合成画像データの一部を利用しようとする場合、利用対象となる部分に含まれる各ピクセルデータに対応する属性情報を確実に検出できる。
[0018]
また、前記対応付手段は、16ビットの偶数倍のビット数を1単位としてデータを記憶する記憶部と、1ピクセルデータのビット長及び前記属性情報のビット長との和が16ビットの偶数倍になるようなビット長の補完データを生成する補完部と、前記記憶部に、前記合成画像データを構成する各ピクセルデータと、当該ピクセルデータに対応する属性情報と前記補完データを連続して書き込む書込部とを含む前記画像合成装置であってもよい。
[0019]
現在既存のメモリは、16ビット又はその偶数倍を1単位としてアドレス管理するものが多い。前記記憶部は、このようなメモリにより実現されると考えられる。
上記の構成によると、1ピクセルデータのビット長と前記属性情報のビット長補完データのビット長の和が16ビットの偶数倍であって、前記書込部は、前記合成画像データを構成する各ピクセルデータと、当該ピクセルデータに対応する属性情報とを連続して書き込む。そのため、各ピクセルデータ及び属性データのアドレス管理が簡易になり、前記合成画像データの一部分を利用しようとする場合、迅速に、利用しようとする一部分に含まれるピクセルデータと各ピクセルデータに対応する属性情報とを読み出すことができる。
[0020]
また、前記属性情報は、対応する対象画像データの生成時におけるコード化に係る特性を示す最小ビット数のデータであって、前記対応付手段は、データを記憶する記憶部と、前記合成画像データを構成するピクセルデータ群と、各ピクセルデータに
本発明は、複数の画像を1つの画像に合成する技術に関する。特に、それぞれ、異なる形式により記述された画像データを合成する技術に関する。
テレビやパソコンのディスプレイに表示される画像は、各画素の色を数値によって表したデータを基に生成される。
色を数値により表現する方法には、RGB形式、YUV形式、HSV形式など様々な形式が存在する。
一例としてRGB形式は、各画素について、光の3原色である赤(Red)、緑(Green)、青(Blue)のそれぞれの強度を数値で表すものである。各色の数値が大きくなるに従って、白に近い色を表現し、数値が小さくなるに従って黒に近い色を表現する。パソコンのディスプレイには、一般にこのRGB形式が用いられる。従って、パソコンなどを利用して生成されたテキスト画像データや、グラフィック画像は、RGB形式で記述される。
また、YUV形式では、輝度(明るさ)を示す変数Y、輝度と青色成分との差を示す色差U、輝度と赤色成分の差を示す色差Vで、1画素の色を表現する。YUV形式には、隣接する4ピクセルで1組の色差データを共有する間引きを行って、データ量を削減するYUV422形式、YUV420形式などが存在する。これらは、色味よりも輝度に反応しやすいという人間の目の特性を利用したものであって、自然画(例えば風景写真、人物写真)のように、色味が徐々に変化する画像に適しており、JPEG、MPEGなどに用いられることが多く、デジタルテレビ放送にも使用されている。
このように、様々なデータ形式により記述される画像に拡大、縮小、回転などの加工を加える場合や画質を補整する場合、データ形式により最適な加工アルゴリズムは、当然異なると考えられる。
例えばRGB形式で記述されたテキスト画像データや、グラフィック画像を拡大する場合、隣接するピクセルのデータをコピーして拡大し(零次ホールド法)、階段状になったエッジを補整する(直線補完法など)方法が考えられる。
また、YUV形式で記述された写真データなどを拡大する場合は、単に隣接データをコピーし、エッジ補整をするだけでなく、色の諧調変化の調整など、より複雑な加工が必要であると考えられる。画像データの加工については、非特許文献1に詳しく紹介されている。
ところで、上記のように、様々な形式により記述された画像データを合成して1つの画面を表す画像データを作成する場合がある。例えば、ホームページに、RGB形式のグラフィック画像データとYUV形式の写真データとを掲載する場合などである。
元々は異なる形式であっても1つの画像データに合成する場合、全てのピクセルデータが、単一の形式で記述される必要がある。このように、全てのピクセルのデータ形式を統一した後では、各ピクセルが、合成前に何れの形式で表現されていたかは判断できない。
特開昭61−156091号公報
貴家仁志 著 「よくわかる動画・静止画の処理技術」 2004年9月1日 CQ出版 田村秀行 著 「コンピュータ画像処理」 2002年12月20日 オーム社
ところで、合成後の画像データを加工しようとする場合、上述したように、元々RGB形式であった部分と、YUV形式であった部分とでは、最適な加工アルゴリズムが異なる。しかし、合成後の画像データは、単一の表示形式により記述されているので、加工しようとする部分全てに対して同一のアルゴリズムにより加工せざるを得ない。そのため、不最適な加工アルゴリズムにより加工され、画質が粗雑になる可能性がある。
本発明は、上記の可能性を考慮し、合成後の画像を加工する場合でも最適な加工アルゴリズムを選択することができる、画像合成装置、画像合成システム、画像合成方法、画像合成プログラム及び集積回路を提供することを課題とする。
上記課題を解決するため、本発明は、複数の対象画像データを合成して合成画像データを生成する画像合成装置であって、合成対象となる前記複数の対象画像データと、各対象画像データの生成時におけるコード化に係る属性情報とを取得する取得手段と、取得した複数の前記対象画像データを合成して前記合成画像データを生成する合成手段と、前記合成画像データのうち、各対象画像データと対応する部分に各属性情報を対応付け、前記合成画像データにおいて、2以上の対象画像データと対応する部分の少なくとも一部が重複する場合、前記合成画像データから形成される合成画像上において、重複部分に相当する領域の最前面に表示される部分画像と対応する対象画像データの属性情報を前記重複部分に対応付ける対応付手段とを備えることを特徴とする。
また、本発明は、複数の対象画像データを合成して合成画像データを生成する画像合成装置と、合成画像データを加工して加工画像データを生成する加工装置とから構成される画像データ利用システムであって、前記画像合成装置は、合成対象となる前記複数の対象画像データと、各対象画像データの生成時におけるコード化に係る属性情報とを取得する取得手段と、取得した複数の前記対象画像データを合成して前記合成画像データを生成する合成手段と、前記合成画像データのうち、各対象画像データと対応する部分に各属性情報を対応付け、前記合成画像データにおいて、2以上の対象画像データと対応する部分の少なくとも一部が重複する場合、前記合成画像データから形成される合成画像上において、重複部分に相当する領域の最前面に表示される部分画像と対応する対象画像データの属性情報を前記重複部分に対応付ける対応付手段とを備え、前記加工装置は、前記合成画像データを取得するデータ取得手段と、前記合成画像データに対する加工指示を受け付ける受付手段と、前記合成画像データのうち、前記加工指示の対象となる部分に対応する前記属性情報を基に、加工アルゴリズムを選択する選択手段と、選択された加工アルゴリズムに従って前記合成画像データを加工する加工手段とを備えることを特徴とする画像データ利用システムでもある。
ここで、上記の「取得手段」について、下記の実施の形態1では、合成制御部141及び形式変換部142がその機能を担う。「合成手段」及び「対応付手段」については、合成エンジン143合成、バッファ144及びメモリ101がその機能を担う。
上記の構成によると、前記対応付手段は、前記合成画像データのうち、各対象画像データと対応する部分に前記属性情報を対応付ける。さらに、前記合成画像データにおいて、2以上の対象画像データと対応する部分の少なくとも一部が重複する場合、前記合成画像データから形成される合成画像上において、重複部分に相当する領域の最前面に表示される部分画像と対応する対象画像データの属性情報を前記重複部分に対応付ける。そのため、合成画像データを更に加工する場合、前記属性情報を基に、最適な加工アルゴリズムを選択し、各部分ごとに、最適な加工アルゴリズムにより加工を施すことができる。
また、本発明において、前記複数の対象画像データは、それぞれ、異なるデータ形式の入力画像データを、何れか一つのデータ形式に統一して生成され、前記取得手段は、各対象画像データと対応する入力画像データのデータ形式を示す前記属性情報を取得することを特徴とするとしてもよい。
この構成によると、前記対応付手段は、各入力画像データのデータ形式示す前記属性情報を、前記合成画像データのうちの各対象画像データと対応する部分と対応付ける。従って、合成画像データの各部分について、形式変換前のデータ形式を知ることができる。
また、前記複数の対象画像データの何れかは、入力画像データを加工して生成されたものであって、前記取得手段は、各対象画像データの加工履歴を示す前記属性情報を取得する画像合成装置であってもよい。
ここで、上記の「加工」は、下記の実施例における、拡大、縮小、反転などの加工処理に加え、画質補整処理も含む。
この構成によると、前記取得手段は、各入力画像データに対する加工履歴を示す前記属性情報を取得するので、合成画像データの各部分について、合成前に加工が施されたか否かを知ることができる。
また、前記合成画像データは、複数のピクセルデータから構成され、前記画像合成装置を構成する前記対応付手段は、前記合成画像データのうち、各対象画像データと対応する部分を構成する各ピクセルデータそれぞれに、該当する属性情報を対応付けることを特徴とする構成であっても良い。
この構成によると、前記対応付手段は、前記合成画像データを構成するピクセルデータ毎に前記属性情報を対応付ける。前記合成画像データの一部を利用しようとする場合、利用対象となる部分に含まれる各ピクセルデータに対応する属性情報を確実に検出できる。
また、前記対応付手段は、16ビットの偶数倍のビット数を1単位としてデータを記憶する記憶部と、1ピクセルデータのビット長及び前記属性情報のビット長との和が16ビットの偶数倍になるようなビット長の補完データを生成する補完部と、前記記憶部に、前記合成画像データを構成する各ピクセルデータと、当該ピクセルデータに対応する属性情報と前記補完データを連続して書き込む書込部とを含む前記画像合成装置であってもよい。
現在既存のメモリは、16ビット又はその偶数倍を1単位としてアドレス管理するものが多い。前記記憶部は、このようなメモリにより実現されると考えられる。
上記の構成によると、1ピクセルデータのビット長と前記属性情報のビット長補完データのビット長の和が16ビットの偶数倍であって、前記書込部は、前記合成画像データを構成する各ピクセルデータと、当該ピクセルデータに対応する属性情報とを連続して書き込む。そのため、各ピクセルデータ及び属性データのアドレス管理が簡易になり、前記合成画像データの一部分を利用しようとする場合、迅速に、利用しようとする一部分に含まれるピクセルデータと各ピクセルデータに対応する属性情報とを読み出すことができる。
また、前記属性情報は、対応する対象画像データの生成時におけるコード化に係る特性を示す最小ビット数のデータであって、前記対応付手段は、データを記憶する記憶部と、前記合成画像データを構成するピクセルデータ群と、各ピクセルデータに対応する属性情報群とを前記記憶部に書き込む書込部とを含む前記画像合成装置であってもよい。
前記属性情報は、対応する対象画像データの生成時におけるコード化に係る特性を示す最小ビット数のデータであって、前記書込部は、前記合成画像データと、前記属性情報群とを個別に書き込む。従って、総データ量を必要最小限にすることができる。
また、前記対応付手段は、データを記憶する記憶部と、前記合成画像データにおける各対象画像データと対応する部分を示す部分情報を生成する生成部と、各部分情報及び対応する属性情報を、前記記憶部に書き込む書込部とを含むことを特徴とする前記画像合成装置であってもよい。
この構成によると、前記書込部は、各部分情報及び各部分情報と対応する属性情報を、前記記憶部に書き込む。従って、ピクセル毎に属性情報を保持する場合に比べて、大幅にデータ量を削減することができる。
また、前記画像合成装置において、前記合成手段は、各属性情報に基づき加工アルゴリズムを選択する選択部と、選択された加工アルゴリズムに基づき各属性情報と対応する対象画像データを加工する加工部と、加工後の対象画像データ群を合成する合成部とを含むとしてもよい。
この構成によると、合成前において各対象画像データに加工を施す必要がある場合、前記属性情報を基に、迅速に加工アルゴリズムを選択し、加工を施すことができる。
前記画像合成装置は、さらに、前記合成画像データに対する加工指示を受け付ける受付手段と、前記合成画像データのうち、前記加工指示の対象となる部分に対応する前記属性情報を基に、加工アルゴリズムを選択する選択手段と、選択された加工アルゴリズムに従って前記合成画像データを加工する加工手段とを備えるとしてもよい。
この構成によると、前記選択手段は、前記加工指示の対象となる部分に含まれるピクセルデータに対応する前記属性情報群を基に、最適な加工アルゴリズムを選択し、前記加工手段は、前記加工指示の対象となる部分に最適な加工処理を施すことができる。
実施の形態1における画像合成装置100の機能的構成を示すブロック図である。 合成指示テーブル112の詳細を示す。 画像記憶領域121に記憶されている画像データを視覚的に示したものである。 合成画像127及び合成画像127の一部を拡大した加工画像を示す。 合成画像データ127を構成する各ピクセルデータに含まれる形式フラグPの値の配置を視覚的に示したものである。 画像合成処理における画像合成装置100の動作を示すフローチャートである。 画像合成処理における画像合成装置100の動作を示すフローチャートであって、図6のステップS114から続く。 画像合成処理における画像合成装置100の動作を示すフローチャートであって、図6のステップS116から続く。 合成画像データの加工処理における画像合成装置100の動作を示すフローチャートである。 合成画像データの加工処理における画像合成装置100の動作を示すフローチャートであって図9から続く。 実施の形態2における画像合成装置200の機能的構成を示すブロック図である。 合成指示テーブル212の詳細を示す。 合成指示テーブル212に従って生成された合成画像データを基に表示される合成画像である。 画像合成処理における画像合成装置200の動作を示すフローチャートである。 画像合成処理における画像合成装置200の動作を示すフローチャートであって、図14のステップS213から続く。 画像合成処理における画像合成装置200の動作を示すフローチャートであって、図15のステップS226から続く。 合成画像データの加工処理における画像合成装置200の動作を示すフローチャートである。 合成画像データの加工処理における画像合成装置200の動作を示すフローチャートであって、図17から続く。 実施の形態3に係る画像合成装置300の機能的構成を示すブロック図である。 画像合成処理における画像合成装置300の動作を示すフローチャートである。 画像合成処理における画像合成装置300の動作を示すフローチャートであって、図20のステップS312から続く。 画像合成処理における画像合成装置300の動作を示すフローチャートであって、図21のステップS322から続く。 合成画像データの加工処理における画像合成装置300の動作を示すフローチャートである。 合成画像データの加工処理における画像合成装置300の動作を示すフローチャートであって、図23から続く。 実施の形態4に係る画像合成装置400の機能的構成を示すブロック図である。 画像合成処理における画像合成装置400の動作を示すフローチャートである。 画像合成処理における画像合成装置400の動作を示すフローチャートであって、図26から続く。 画像合成処理における画像合成装置400の動作を示すフローチャートであって、図27から続く。
1. 実施の形態1
以下に、本発明の実施の形態1に係る画像合成装置について、図面を用いて説明する。
1.1 概要
実施の形態1における画像合成装置は、複数の画像データを合成して1つの合成画像データを生成する。ここで、本明細書において、モニターに表示される映像を「画像」、前記映像を生成するためのデータを「画像データ」と表現する。
合成の対象となる画像データには、コンピュータを用いて生成されたRGB形式の画像データと、デジタルカメラなどにより風景や人物を撮影して生成されたYUV形式の画像データとが混在する。
合成の過程において、画像合成装置は、各画像データを、RGB形式に統一し、する。本実施の形態では、各色を8ビット長で表現する。以下RGB形式の画像データにおいて、各画素の赤、青、緑を表現するために割り当てられるデータ長がa、b、c(整数、単位はビット)のとき、前記画像データの形式をRaGbBc形式と表現する。また、データ長を所定の長さにするために付加する意味のないnビット長のデータ(以下ブランクビット)をXnと表現する。また、1画素に相当するデータをピクセルデータと呼ぶ。
本発明の画像合成装置は、各画像データを、各色を8ビット長のデータで表現するX8R8G8B8形式に変換し、ブランクビットの先頭の1ビットを変換前の画像データがRGB形式及びYUV形式の何れであったかを示すフラグPに置き換えてP1X7R8G8B8形式に統一する。
次に、P1X7R8G8B8形式の画像データを所定の位置に配置して、合成画像データを生成する。
なお、各ピクセルデータを32ビット長になるように調整しているが、これは、既存のメモリの物理的構造に起因しており、1ピクセルデータのデータ長が、16ビット又は16ビットの偶数倍であれば、アドレス管理が容易になるためである。従って、必ずしも32ビット長である必要はない。
1.2 画像合成装置100の構成
画像合成装置100は、複数の画像データを合成して合成画像データを生成する機能、及び、合成画像の一部又は全部を加工(拡大、縮小、回転、反転など)した加工画像を表示するための加工画像データを生成する装置である。
図1は、画像合成装置100の機能的構成を示すブロック図であり、図中の矢印は、画像データの合成処理及び合成画像データの加工処理におけるデータの流れを示している。
画像合成装置100は、図1に示すように、メモリ101、表示部102、入力部103、主制御部104、画像処理部105から構成され、画像処理部105は、合成制御部141、形式変換部142、合成エンジン143、合成バッファ144、変形用メモリ146、変形エンジン147、補整用メモリ148及び補整エンジン149を含む。
画像合成装置100は、具体的には、マイクロプロセッサ、RAM及びROMを含んで構成されるコンピュータシステムであって、RAM及びROMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、画像合成装置100は、その機能の一部を実現する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
以下に、各構成について詳細に説明する。
(1)メモリ101
メモリ101は、ハードディスクユニットを含んで構成され、その内部は、一般領域111と画像記憶領域121とから構成される。
一般領域111は、一例として、図1に示すように、合成指示テーブル112、拡大用データA113、縮小用データA114、反転用データ115、回転用データA116、補整用データA117及び補整用データB118を記憶している。これらの他にも、主制御部104により用いられる各種のプログラム、画像データ(スタート画面、メニュー表示など)、関数、演算パラメータなどが記憶されている。
画像記憶領域121は、利用者の操作により保存された画像データを記憶している。一例として、ペイント画像データ122、文字画像データ123、写真画像データ124、126、合成画像データ127及び加工画像データ128を記憶している。
なお、ここでは、画像合成、合成画像データの加工が終了した時点おいてメモリ101の記憶している情報の、一例を示している。
(1−1)合成指示テーブル112
合成指示テーブル112は、合成を実行するために必要な情報を示すテーブルである。
図2は、合成指示テーブル112の詳細を示している。合成指示テーブル112は、図2に示すように、複数の合成情報131、132、133及び134から構成される。各合成情報は、それぞれ、後述するペイント画像データ122、文字画像データ123、写真画像データ124及び126と対応している。また、これらの画像データを基に生成され、表示される画像と対応している。
各合成情報は入力画像データ、データ形式、重ね合わせ順、出力座標及び透過率を含んで構成される。
入力画像データは、合成の対象となる画像データを示す情報であって、図2では、画像データの名称を記載しているが、これに限らず、画像データの識別子、記憶されている先頭アドレスなどでもよい。
データ形式は、対応する画像データのデータ形式を示している。「X8R8G8B8」は、上述したように、対応する画像データがRGB形式であって、1画素に相当するピクセルデータをブランクビット8ビットと、赤、緑及び青の強度を8ビット長のデータで表現することを示している。
「R5G6B5」は、対応する画像データが、RGB形式であって、1ピクセルに相当するデータを、赤を5ビット長、緑を6ビット長、青を5ビット長で表現することを示している。
「YUV422」及び「YUV420」は、既に述べたとおり、輝度及び色差によりピクセルデータを表現するYUV方式であって、「YUV422」と「YUV420」とでは色差データの間引き方が異なる。
重ね合わせ順は、対応する画像が画面上に表示される順序を示す情報であり、数値の大きいものほど上(手前)に表示され、数値の小さいものほど下(後ろ)に表示される。本実施の形態では、合成対象となる画像は、画面上で重複しないので、全ての重ね合わせ順が「1」になっている。
出力座標は、対応する画像が表示される座標の開始点を示している。
透過率は、対応する画像を表示したとき、下の画像をどの程度透過させるかを0〜1の数値で示している。
一例として、合成情報132は、文字画像データ123と対応しており、合成の対象となっている文字画像データ123のデータ形式が「R5G6B6」であり、表示されたときの重ね合わせ順が最前であり、表示位置の開始座標が(50,150)であることを示している。また、透過率「0」は、文字画像データ123を基に表示された文字画像が、後ろの画像を透過させないことを示している。
ここで記載した合成指示テーブル112の構成は一例であって、各合成情報はこれらのデータの他にも、各入力画像データのデータサイズや、画像サイズ(例えば、横50×縦150画素)などを含んでいても良い。
(1−2)加工用データ
以下、必要に応じて、拡大、縮小、回転、反転といった加工に用いられるデータを総称して加工用データと呼ぶ。
一般領域111に記憶されている加工用データには、拡大用データA113、縮小用データA114、反転用データ115、回転用データA116・・・がある。
拡大用データA113、縮小用データA114、反転用データ115、回転用データA116は、それぞれ、R8G8B8形式の画像データを拡大、縮小、反転、回転するために必要なパラメータ群、関数、プログラムを含んで構成され、特に、グラフィック画像、テキスト画像など、コンピュータにより生成された画像データの加工に適している。
また、図示していないが、メモリ101の一般領域111は、これらと同様に、自然画(風景、人物など)の画像データの加工に適した加工用データ(拡大用データB、縮小用データB、反転用データB、回転用データB・・・)も記憶している。
(1−3)補整用データA117及び補整用データB118
補整用データA117は、RGB形式の画像データに画質補整を施すために必要な関数、パラメータ、プログラムを含んでいる。RGB形式の画像は、描画ソフトなどを用いて、コンピュータにより生成された可能性が高いため、補整用データA117は、例えば、中間色を排除して輪郭のぼやけをなくしたり、コントラストを強調したりするアルゴリズムに従った関数及びパラメータを含んでいる。
補整用データB118は、RGB形式の自然画(風景写真、人物写真など)の画像データに画質補整を施すために必要な関数、パラメータ、プログラムを含んでいる。具体的には、例えば、輪郭線を滑らかな曲線に補整し、色味の変化(諧調変化)を滑らかにするアルゴリズムに従った、関数及びパラメータを含む。
また、ここでは、単に、補整用データとしか記載されていないが、より詳細に、拡大処理に伴う画質補整処理を行うための補整用データ、縮小処理に伴う画質補整を行うための補整用データ、回転処理に伴う画質補整を行うための補整用データなどを記憶していてもよい。
(1−4)画像データ
画像記憶領域121は、ペイント画像データ122、文字画像データ123、写真画像データ124、126、合成画像データ127及び加工画像データ128を記憶している。
ペイント画像データ122は、描画ソフトなどを用いて作成された画像データであって、データ形式は、X8R8G8B8である。
文字画像データ123は、文書作成ソフト又は描画ソフトのテキスト描画機能を用いて作成された画像データであって、データ形式は、R5Y6G5である。
写真画像データ124及び126は、デジタルカメラを用いて撮影された自然画を数値化して生成された画像データであって、データ形式はそれぞれ、YUV422及びYUV420である。
合成画像データ127は、合成指示テーブル112を基に、上記の4つの画像データを合成して生成された画像データであって、データ形式はP1X7R8G8B8である。
図3は、ペイント画像データ122、文字画像データ123、写真画像データ124、126及び合成画像データ127を基に表示されるペイント画像122g、文字画像123g、写真画像124g、126g及び合成画像127gを示している。
加工画像データ128は、合成画像データの一部に拡大処理を施して生成された画像データである。
図4は、合成画像データ127を基に生成される合成画像127gと加工画像データ128を基に生成される加工画像128gを示している。図4の合成画像127g上には、ポインタ161が表示されており、ポインタ161の指す点を中心に100×100画素の領域を拡大した画像が、加工画像128gである。
(2)入力部103
入力部103は、キーボード、マウスなどと接続されており、利用者による指示及びデータの入力を受け付け、受け付けた指示及びデータを主制御部104へ出力する。
また、外部機器や、可搬型記録媒体を接続するインタフェースを備え、主制御部104の制御の下、これらの機器からデータを読み出し、読み出したデータを主制御部104へ出力する。
(3)合成制御部141
図示していないが、合成制御部141は、画像合成の過程において、各機能部へ制御信号を出力し動作を制御する機能を有する。
合成制御部141は、主制御部104から画像合成の指示を受ける。画像合成の指示を受けると合成バッファ144を初期化する。具体的には、例えば、P1X7R8G8B8形式の背景データ(ブルーバック、利用者の指定した背景画像データなど)を書き込む。ここでは、背景画像データを構成する各ピクセルデータに含まれる形式フラグP=0であるとする。
次に、合成制御部141は、メモリ101の一般領域111の所定アドレスに記憶されている合成指示テーブル112を検索し、重ね合わせ順の値が最小の合成情報を読み出す。ここでは、合成指示テーブル112に含まれる全ての重ね合わせ順が同じなので、先頭の合成情報131を読み出す。
次に、合成制御部141は、読み出した合成情報131に含まれるデータ形式を形式変換部142(後述)へ出力する。続いて、合成情報131の入力画像データをメモリ101の画像記憶領域121から読み出し、形式変換部142へ出力し、形式変換を指示する。
次に、合成制御部141は、読み出した合成情報131に含まれる透過率と出力座標と、読み出した合成情報131と対応するペイント画像122gの画像サイズを合成エンジン143(後述)へ出力する。画像サイズは、合成制御部141が算出してもよいし、合成指示テーブル112の各合成情報に予め含まれていても良い。
続いて、合成制御部141は、合成エンジン143の動作を監視し、合成エンジン143が合成途中画像データを合成バッファ144に書き戻すと、合成指示テーブル112から、次の合成情報を読み出す。
合成制御部141は、合成指示テーブル112を構成する全ての合成情報について、同様の処理を繰り返す。
全ての合成情報について、同様の処理が終了すると、合成制御部141は、合成バッファ144の保持する合成途中画像データを、合成画像データとしてメモリ101の画像記憶領域121へ書き込む。
また、主制御部104へ画像合成処理が終了したことを通知する。
(4)形式変換部142
形式変換部142は、合成制御部141からデータ形式を受け取り、続いて、入力画像データを受け取る。受け取ったデータ形式がRGB形式であれば、1ビット長の形式フラグP=0を生成し、YUV形式であれば、形式フラグP=1を生成し、生成した形式フラグを一時的に記憶する。
次に、形式変換部142は、受け取ったデータ形式がX8R8G8B8であれば、受け取った入力画像データの各ピクセルデータの先頭の1ビットを記憶している形式フラグPに書き換え、P1X7R8G8B8形式の変換済画像データを生成し、生成した変換済画像データを合成エンジンへ出力する。
受け取ったデータ形式がRGB形式ではあるが、X8R8G8B8形式でない場合、各ピクセルデータについて、ブランクビット、及び、各色のビット長を8ビットに調整し、ブランクビットの先頭を記憶している形式フラグPに書き換えて、P1X7R8G8B8形式の変換済画像データを生成し、合成エンジン143へ出力する。
受け取ったデータ形式がYUV形式の場合、以下の式により各ピクセルデータをR8G8B8形式に変換する。
R=Y+1.40200×V
G=Y−0.34414×U−0.71414×V
B=Y+1.77200×U
なお、上記の変換式は、ITU−R BT.601に準拠した変換式の一例である。YUV形式については、例えばITU−R BT.601、ITU−R BT.709などに詳細に規定されており、入力される画像データと変換後の画像データの種類(アナログ、デジタル、ビットスケール)、準拠する規格の種類、パラメータの選択の方法に応じて他の変換式を用いても良い。
次に、各ピクセルデータについて、先頭に形式フラグP、続く7ビットにブランクビットを付加して、P1X7R8G8B8形式の変換済画像データを生成し、合成エンジン143へ出力する。
(5)合成エンジン143
合成エンジン143は、合成制御部141から、透過率と出力座標と画像サイズ(縦a×横b画素)を受け取る。また、形式変換部142から変換済画像データを受け取る。
これらを受け取ると、合成エンジン143は、合成バッファ144からP1X7R8G8B8形式の合成途中画像データを読み出す。読み出した合成途中画像データに、受け取った変換済画像データを合成して、合成途中画像データを更新する。具体的には、変換途中画像データを構成するピクセルデータ群のうち、画面上で、出力位置を基点(左上の画素)として、入力画像が配置される縦a×横b画素の範囲(以下、合成対象範囲と呼ぶ)に属する各画素と対応するピクセルデータの各色成分(以下の式ではD(b)と記載している)と、変換後入力画像データを構成するピクセルデータ群のうちの対応するピクセルデータの各色成分(以下の式ではD(f)と記載している)とを、以下の式を用いて合成する。
D(com)←D(f)+D(b)×透過率
P(com)←P(f)
D(com):合成後の合成対象範囲内の各ピクセルデータの
各色成分の値
D(f):変換済画像データの各ピクセルデータの各色成分の値
D(b):合成バッファから読み出した合成途中画像データの
合成対象範囲内の各ピクセルデータの各色成分の値
P(com):合成後の合成対象範囲内の各ピクセルデータの第1ビット
P(f):変換済画像データの各ピクセルデータの第1ビット
なお、読み出した合成途中画像データのうち合成対象範囲外のピクセルデータは書き換えない。
続いて、合成エンジン143は、更新後の合成途中画像データを合成バッファ144へ書き戻す。
(6)合成バッファ144
合成バッファ144は、RAMから構成され、起動時又は初期化直後はP1X7R8G8B8形式の背景データ(ブルーバック、利用者の指定した背景画像データなど)を合成途中画像データとして書き込まれる。このとき、各ピクセルデータの形式フラグP=0である。
合成バッファ144は、合成エンジン143による画像合成処理途中の合成途中画像データを一時的に記憶する。
合成エンジン143による合成処理が終了した時点における合成中画像データは、合成画像データ127と同一である。
合成画像データ127を構成する各ピクセルデータの第1ビットは、形式フラグPである。図5は、合成画像データ127から生成される合成画像127gにおいて、各画素と各ピクセルデータに含まれる形式フラグPの値を視覚的に表現したものである。合成画像127g上のペイント画像122aの表示されている領域151a及び文字画像123aの表示されている領域152aに含まれる画素に対応する形式フラグP=0である。
写真画像124aの表示されている領域153a及び写真画像126aの表示されている領域154aに含まれる画素に対応する形式フラグP=0である。
また、図示していないが、その他の領域156に含まれる画素に対応する形式フラグP=0である。
(7)変形用メモリ146及び変形エンジン147
変形エンジン147は、主制御部104の制御の下、変形用メモリ146に記憶されている関数、パラメータなどを用いて、P1X7R8G8B8形式の合成画像データ127の一部又は全部に加工を施す。具体的には、主制御部104の指示の下、合成画像127gのうち加工対象となる範囲(加工対象範囲と呼ぶ)の先頭ラインの左端の画素から最後のラインの右端の画素の順に、各画素に対応するピクセルデータを1ピクセルデータずつ読み出し、変形用メモリ146に記憶されているデータを用いて、読み出したピクセルデータに加工を施す。また、必要に応じて、加工対象となっている画素の周辺の画素と対応するピクセルデータを読み出して、加工に用いる。加工が終了すると、加工後のピクセルデータを補整エンジンへ出力する。
ここで、加工とは、例えば、拡大、縮小、反転、回転などの処理である。
また、変形エンジン147は、主制御部104から、一時停止を指示される場合がある。この場合、加工対象範囲に対応するピクセルデータを読み出し、そのまま補整エンジン149へ出力する。
変形用メモリ146は、一例としてRAMから構成され変形エンジン147に必要な関数、パラメータなどを一時的に記憶する。
(8)補整用メモリ148及び補整エンジン149
補整エンジン149は、変形エンジン147により生成された加工後の画像データを受け取り、受け取った画像データに画質補整処理を施して、加工画像データを生成し、生成した加工画像データをメモリ101の画像記憶領域121に書き込む。
具体的には、変形エンジン147から、加工後のピクセルデータを順次受け取り、受け取った加工後のピクセルデータ群を一時的に記憶する。次に、補整用メモリ148に記憶されている画質補整用の関数及びパラメータを用いて、記憶しているピクセルデータ群に画質補整処理を施して加工画像データを生成する。
ここで、画質補整処理とは、主に、輪郭強調、雑音除去、画像の歪補整である。また、補整の必要がない場合、補整エンジン149は、主制御部104から動作停止の指示を受ける。動作停止の指示を受けた場合、補整エンジン149は、変形エンジン147から受け取った加工後の画像データを、そのまま、加工画像データとして、メモリ101の画像記憶領域121へ書き込む。
補整用メモリ148は、一例としてRAMから構成され、画質補整に用いられる関数、パラメータなどを一時的に記憶する。
(9)主制御部104
主制御部104は、具体的には、図示されていないが、画像合成装置100を構成する各構成要素へ制御信号を出力し、これらの動作を制御する。
主制御部104は、入力部103を介して、利用者の操作を受け付け、外部機器又は記録媒体に記録されている画像データを読み出し、メモリ101の画像記憶領域121に書き込む。
また、主制御部104は、入力部103を介して、合成画像の生成要求を受け付ける。さらに、利用者による、合成画像の加工要求を受け付ける。
(9−1)画像合成処理の制御
利用者の操作により、合成画像の作成を要求されると、画像記憶領域121に記憶されている画像データを示す一覧表、若しくはサムネイル画面を生成し、合成対象となる画像の選択、表示位置、透過率の入力を受け付ける。
これらの入力を受け付けると、主制御部104は、入力された情報を基に、図2に示すような合成指示テーブル112生成し、生成した合成指示テーブル112を、メモリ101の一般領域111の所定アドレスに書き込む。データ形式に関しては、利用者が入力しても良いし、利用者が指定した画像データをサーチして、主制御部104が生成するとしてもよい。例えば、各画像データの先頭の16又は32ビットにデータ形式を示す情報が含まれており、これを抽出して各合成情報を生成する方法などが考えられる。
次に、合成制御部141へ画像合成の指示を出力する。
次に、合成制御部141から画像合成終了の通知を受ける。この通知を受けると、主制御部104は、合成画像データ127を読み出し、読み出した合成画像データ127を基に合成画像127gを生成して表示部102に表示させる。
(9−2)合成画像の加工処理の制御
合成画像データ127を基に生成される合成画像127gが表示部102に表示された状態で、利用者は、マウスなどを操作し、ポインタ161の位置を指定する。利用者による位置の指定を受け付けると、主制御部104は、「拡大」、「縮小」、「反転」、「回転」など、合成画像に施すことができる加工処理を示す選択肢を含む加工メニュー画面を表示する。若しくは、ポインタ161の位置に、前述の選択肢をスクロール表示しても良い。
続いて、主制御部104は、表示されている選択肢のうちのいずれかを選択する利用者の操作を受け付ける。選択の操作を受け付けると、主制御部104は、選択された選択肢の示す加工処理に応じて、合成画像127gのうち、加工対象となる範囲を決定する。例えば、選択された選択肢が拡大処理であれば、ポインタ161の位置を中心に100×100画素の範囲を拡大処理の対象の範囲に決定する。選択された選択肢が、反転を示していれば、ポインタ161の位置を中心に200×200画素の範囲を反転処理の対象の範囲に決定する。
続いて、主制御部104は、決定した加工対象の範囲の先頭ラインの左端の画素から最後のラインの右端の画素の順に、各画素に対応するピクセルデータについて、以下の処理を、繰り返す。
先ず、主制御部104は、変形用メモリ146及び補整用メモリ448を初期化する。次に、ピクセルデータの先頭の1ビットを読み出す。読み出した1ビットのデータが「0」の場合、主制御部104は、一般領域111に記憶されている加工用データのうち、グラフィック画像の加工に適した加工用データを読み出し、読み出した加工用データを変形用メモリ146に書き込む。また、同様に、グラフィックフラグ画像の画質補整に適した補整用データA117を読み出し、補整用メモリ148へ書き込む。
次に、ピクセルデータの記憶されているアドレスを変形エンジンに通知し、加工処理を指示する。
読み出した1ビットのデータが「1」の場合、主制御部104は、一般領域111に記憶されている加工用データのうち、自然画の加工に適した加工用データを読み出し、読み出した加工用データを変形用メモリ146に書き込む。また、同様に、自然画の画質補整に適した補整用データB118を読み出し、読み出した補整用データB118を補整用メモリ148へ書き込む。
次に、ピクセルデータの記憶されているアドレスを変形エンジンに通知し、加工処理を指示する。
以上の処理を各ピクセルデータについて繰り返す。
なお、選択された加工処理によって、画質補整が不要な場合は、補整用メモリを初期化し、補整エンジンに、動作の停止を指示する。
(10)表示部102
表示部102は、モニタ、画像バッファを含んで構成され、主制御部104の制御の下、各種の画面をモニタに表示する。
1.3 動作
以下に、本発明の画像合成装置100の動作について、図面を用いて説明する。
(1)画像合成処理
図6〜図8は、画像合成処理に係る画像合成装置100の動作を示したフローチャートである。以下に、図6〜図8を用いて、画像合成処理における、画像合成装置100の動作について説明する。
利用者の操作により画像合成を要求されると、主制御部104は、所定の入力画面を表示部102に表示させ、利用者による、入力画像データの選択、表示位置などの入力を受け付ける(ステップS101)。次に、受け付けた情報を基に合成指示テーブルを生成し、生成した合成指示テーブルをメモリ101の一般領域111に書き込み、合成制御部141へ画像合成を指示する(ステップS102)。
画像処理部105内の合成制御部141は、主制御部104から画像合成を指示される。画像合成を指示されると、メモリ101の一般領域111に記憶されている合成指示テーブル112から、合成情報を読み出す(ステップS103)。
ここで、全ての合成情報を読み出し済みであれば(ステップS106のYES)、合成制御部141は、合成バッファ144から合成途中画像データを読み出し、読み出した合成途中画像データを合成画像データとしてメモリ101の画像記憶領域121に書き込む(ステップS107)。
全ての合成情報を読み出し済みでなければ(ステップS106のNO)、合成制御部141は、読み出した合成情報に含まれるデータ形式を形式変換部142へ出力する(ステップS111)。続いて、合成制御部141は、読み出した合成情報に対応する画像データを読み出し、読み出した画像データを形式変換部142に出力する(ステップS112)。
合成制御部141から受け取ったデータ形式が、RGB形式であれば、形式変換部142は、1ビット長の形式フラグP=0を生成して一時的に記憶する(ステップS114)。
次に、形式変換部142は、受け取った画像データを構成する各ピクセルデータについて、データ長をX8R8G8B8に調整する(ステップS117)。次に、各ピクセルデータの第1ビットを記憶している形式フラグP(=0)に置き換えて、P1X7R8G8B8形式の変換済画像データを生成し(ステップS118)、生成した変換済画像データを1ピクセルデータずつ合成エンジン143へ出力する(ステップS119)。
合成制御部141は、読み出した合成情報に含まれる出力座標と透過率と、読み出した合成情報と対応する画像の画像サイズ(縦a×横b画素)を合成エンジン143へ出力する(ステップS120)。
合成エンジン143は、合成制御部141から透過率と出力座標と画像サイズとを受け取る。また、形式変換部142から変換済画像データを受け取る。これらを受け取ると、合成エンジン143は、合成バッファ144から合成途中画像データを読み出す(ステップS121)。読み出した合成途中画像データのうち、出力座標を起点とし画像サイズの示す範囲(合成対象範囲)に含まれる各画素と対応するピクセルデータと、変換済画像データ内の対応するピクセルデータとを合成して合成途中画像データを更新する(ステップS122)。
続いて、合成エンジン143は、更新後の合成途中画像データを合成バッファに書き戻す(ステップS123)。
合成制御部141から受け取ったデータ形式がYUV形式の場合、形式変換部142は、合成フラグP=1を生成し、一時的に記憶する(ステップS116)。
また、形式変換部142は、合成制御部141から入力画像データを受け取る。形式変換部142は、受け取ったYUV形式の画像データを、R8G8B8形式に変換する(ステップS126)。
続いて、各ピクセルデータの先頭に、記憶している形式フラグP=1と7ビット長のブランクビットを付加し、P1X7R8G8B8形式の変換済画像データを生成する(ステップS127)。
次に、形式変換部142は、ステップS119へ処理を移す。
(2)合成画像の加工処理
図9〜図10は、画像合成装置100による合成画像データの加工処理における動作を示したフローチャートである。以下に、図9〜図10を用いて合成画像データの加工処理における動作について説明する。なお、ここでは、一例として、合成画像の一部を拡大する加工処理について説明する。
主制御部104は、利用者の操作に従って、合成画像127gを表示部102に表示する(ステップS131)。
利用者は、マウス、カーソルなどを操作して合成画像127g上のポインタ161を移動し、任意の位置を指定する。
主制御部104は、利用者の操作による位置の指定を受け付ける(ステップS132)。位置の指定を受け付けると、メニューを表示する(ステップS133)。メニューには、「拡大」、「縮小」・・・など、加工画像に施すことができる加工処理の名称が列挙されている。
続いて、主制御部104は、利用者による「拡大」の選択操作を受け付ける(ステップS144)。
「拡大」が選択されると、ステップS146〜162の間、合成画像127g上の指定された位置を中心に100×100画素の範囲(以下、二次利用範囲と呼ぶ)の各ピクセルデータについて、ステップS147〜ステップS161の処理を繰り返すことで、合成画像127g上の指定された位置を中心に100×100画素の範囲の画像を拡大した加工画像(拡大画像)を生成する。
主制御部104は、ピクセルデータの先頭ビット(P)を読み出す(ステップS147)。
読み出した先頭ビットP=1であれば(ステップS148のYES)、主制御部104は、メモリ101の一般領域111に記憶されている拡大用データB(図示せず)を読み出し、読み出した拡大用データBを変形用メモリ146に出力する(ステップS151)。拡大用データBは、P1X7R8G8B8形式の自然画の拡大に適したアルゴリズムに従った関数及びパラメータを含んでいる。
続いて主制御部104は、補整用データB118を読み出し、読み出した補整用データB118を補整用メモリ148へ出力する(ステップS152)。前述の通り補整用データB118は、P1X7R8G8B8形式の自然画の画質補整に適したアルゴリズムに従う関数及びパラメータを含んでいる。次に、主制御部104は、ステップS158へ処理を移す。
読み出した先頭ビットP=0であれば(ステップS148のNO)、主制御部は、メモリ101の一般領域111から拡大用データA113を読み出し、読み出した拡大用データA113を変形用メモリ146へ出力する(ステップS156)。拡大用データA113は、P1X7R8G8B8形式のグラフィック画像の拡大に適したアルゴリズムに従う関数及びパラメータを含む。
次に、主制御部104は、メモリ101から補整用データA117を読み出し、読み出した補整用データA117を補整用メモリ148へ出力する(ステップS157)。補整用データA117は、コンピュータにより生成されたP1X7R8G8B8形式のグラフィック画像の画質補整に適したアルゴリズムに従う関数及びパラメータを含む。
次に、主制御部104は、現在加工の対象となっているピクセルデータの記憶されているメモリ101上のアドレスを指定して、変形エンジンに加工(ここでは拡大)を指示する(ステップS158)。
変形エンジン147は、主制御部104から加工の対象となっているピクセルデータのアドレスと加工の指示を受ける。加工の指示を受けると、指定されたアドレスに記憶されているピクセルデータを読み出し、変形用メモリ146の保持する関数及びパラメータを用いて、読み出したピクセルデータに拡大処理を施して補整エンジン149へ出力する(ステップS159)。ここで、拡大処理により、1ピクセルデータから複数ピクセルデータが出力されると考えられる。以下、1ピクセルデータに拡大処理を施して生成された複数のピクセルデータをピクセルデータ(群)と記載する。
補整エンジン149は、変形エンジン147により拡大処理を施されたピクセルデータ(群)を受取り、補整用メモリ148に記憶されている関数及びパラメータを用いて、受取ったピクセルデータ(群)に画質補整処理を施す。
二次利用範囲の全てのピクセルデータについての繰返しが終了すると(ステップS162)、補整エンジン149は、拡大及び補整処理後のピクセルデータ群からなる加工画像データをメモリ101の画像記憶領域121に書き込む。
また、主制御部104は、メモリ101の画像記憶領域121から加工画像データ128を読み出し、読み出した加工画像データ128を基に加工画像128gを生成して、表示部102に表示する(ステップS163)。
1.4 まとめ
以上、説明してきたように、本発明の画像合成装置100では、画像合成処理において、合成画像データを構成する各ピクセルデータに、合成前の画像データがRGB形式であったかYUV形式であったかを示す形式フラグを埋め込む。
RGB形式のデータは、コンピュータを用いて生成されたテキストデータや、グラフィック画像である場合が多く、YUV形式の画像データは、デジタルカメラなどにより撮影された自然画を基に生成されている場合が多い。
そのため、合成画像の中でもRGB形式の画像データを基に生成された部分と、YUV形式の画像データを基に生成された部分とでは、最適な加工方法及び画質補整方法が異なる。
本発明のように、合成画像データの各ピクセルデータに形式フラグを埋め込んでおくことで、合成画像データに、拡大、画質補整等の加工を施す場合に、各部分に最適な方法で加工及び補整を施すことができる。
2. 実施の形態2
以下に、本発明の実施の形態2に係る画像合成装置200について、図面を用いて説明する。
2.1 概要
本実施の形態の画像合成装置200は、利用者の指示により、合成対象の画像データに拡大、縮小などの加工を施した後、各画像の形式をR8G8B8に変換する。また、変換後の画像データとは個別に、変換前の画像データの形式を示す1ビット長の形式フラグを生成する。
画像合成装置200は、変換後の画像データを、実施の形態1において示した式を用いて合成し、R8G8B8形式の合成画像データを生成する。
画像データの合成と並行して、合成画像の各ピクセルと対応する形式フラグからなる形式フラグ群を生成する。例えば、合成画像がn×m画素(n、mは整数)である場合、形式フラグ群は、各画素の形式フラグを左上から右下の順に並べたn×mビット長のデータである。
実施の形態1とは異なり、ブランクビットを含まないので、合成後の総データ量を削減することができる。
2.2 構成
図11は、画像合成装置200の機能的構成を示したブロック図である。図中の矢印は、画像合成処理(後述)に関するデータフローを示しており、太線矢印は、合成画像の加工処理(後述)に関するデータフローを示す。
図11に示すように、画像合成装置200は、メモリ201、表示部202、入力部203、主制御部204及び画像処理部205から構成され、画像処理部205は、合成制御部241、形式変換部242、合成エンジン243、合成バッファ244、変形用メモリ246、変形エンジン247、補整用メモリ248、補整エンジン249を含む。
画像合成装置200は、具体的にはマイクロプロセッサ、RAM及びROMを含んで構成されるコンピュータシステムであって、RAM及びROMには、コンピュータプログラムが記憶されている。マイクロプロセッサが前記コンピュータプログラムに従って動作することにより、画像合成装置200は、その機能の一部を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
以下に、各構成要素について説明する。なお、入力部203、表示部202、変形用メモリ246及び補整用メモリ248の構成、動作は、実施の形態1の 入力部103、表示部102、変形用メモリ146及び補整用メモリ148と同様であるので、説明を省略する。
また、変形エンジン247及び補整エンジン249は、主制御部204のみならず合成制御部241からの指示により動作すること、一時停止を指示されると、受け取ったピクセルデータをそのまま、次の機能部へ出力すること、補整エンジン249のデータの出力先が形式変換部242であること以外は実施の形態1の変形エンジン147及び補整エンジン149と同様に、対応するメモリの保持する関数及びパラメータを用いて、入力されたデータを加工する機能部である。よって、ここでは、詳細な説明を省略する。
(1)メモリ201
メモリ201は、ハードディスクユニットを含んで構成され、その内部は、一般領域211と、利用者の操作に従って、画像データを記憶するための画像記憶領域221とに分けられる。
一般領域211には、一例として、合成指示テーブル212、RGB拡大用データ213、RGB縮小用データ214、YUV拡大用データ215、YUV二次拡大用データ216、RGB補整用データ217、YUV補整用データ218及び自然画向け補整用データ219が記憶されており、画像記憶領域221には、ペイント画像データ122、文字画像データ123、写真画像データ124、写真画像データ126、合成画像データ227、形式フラグ群228、加工画像データ229などが記憶されている。
これは、利用者の操作に従って、合成画像データ227が生成され、合成画像データにさらに加工を加えた加工画像データ229が生成された時点のメモリ201内の状態を図示している。
(1−1)合成指示テーブル212
図12は、合成指示テーブル212の詳細を示す。図12に示すように、合成指示テーブル212は、複数の(ここでは4つの)合成情報231、232、233及び234から構成される。各合成情報は、それぞれ、ペイント画像データ122、文字画像データ123、写真画像データ124及び126と対応している。
各合成情報は、入力画像データ、データ形式、重ね合わせ順、出力座標、変形情報、画質補整情報及び透過率から構成される。入力画像データ、データ形式、重ね合わせ順、出力座標及び透過率については、実施の形態1の合成指示テーブル112に含まれる入力画像データ、データ形式、重ね合わせ順、出力座標及び透過率と同様であるので説明を省略する。
変形情報は、対応する画像データを合成する前に加工処理を行うか否か、行う場合はどのような加工処理を行うかを示す情報である。合成前に加工処理を行わない場合、合成情報は、変形情報は含まないとしてもよい。
画質補整情報は、対応する画像データを合成する前に、画質補整処理を行うか否かを示す情報であって、画質補整情報「要」は、画質補整処理を行う必要があることを示し、画質補整情報「不要」は、画質補整処理を行う必要が無いことを示している。
一例として、合成情報231は、ペイント画像データ122と対応しており、入力画像データ「ペイント画像データ」、データ形式「X8R8G8」、重ね合わせ順「3」、出力座標「(100,100)」、変形情報「1.4倍」及び画質補整「要」から構成される。これは、X8R8G8形式のペイント画像データ122の合成処理に先立って、ペイント画像データ122に倍率1.4倍の拡大処理と、画質補整を施すことを示している。また、拡大処理及び画質補整後の画像データを基に生成される画像は、合成処理後の合成画像内において、座標(100,100)を起点とする所定範囲に表示され、複数の画像を重ねて表示する場合には、後ろから3番目の面に表示されることを示している。
また、別の一例として、合成情報233は、写真画像データ124と対応しており、入力画像データ「写真画像データ」、データ形式「YUV422」、重ね合わせ順「3」、出力座標「(400,150)」、変形情報「左右反転」及び画質補整「不要」を含んでいる。これは、YUV422形式の写真画像データ124を、合成処理の前に、左右反転加工を施す必要があり、画質補整処理を施す必要が無いことを示している。また、左右反転加工後の画像データから生成される画像は、合成画像内において、座標(400,150)を起点とする範囲に表示されること、複数の画像を重ねて表示する場合、1番後ろの面に表示され、その一部が他の画像の後ろに隠れるように表示されることを示している。
(1−2)加工用データ
実施の形態1と同様に、変形用メモリ246に一時的に転送され、変形エンジン247による加工処理に用いられるデータを総称して加工用データと呼ぶ。
RGB拡大用データ213は、RGB形式の画像データを拡大するために必要な関数及びパラメータを含んで構成される。
RGB縮小用データは、RGB形式の画像データに縮小処理を施すために必要な関数及びパラメータを含んで構成される。
YUV拡大用データ215は、YUV形式の画像データに拡大処理を施すために必要な関数及びパラメータを含んで構成される。
YUV二次拡大用データ216は、各種の画像データを合成して生成された合成画像データ227(後述)のうち、合成前のデータ形式がYUV形式であった部分に拡大処理を施すために適した関数及びパラメータを含んで構成される。
また、図示していないが、加工用データには、これらの他にも、RGB形式の画像データの反転処理に用いられるRGB反転用データ、回転処理に用いられるRGB回転用データ、同様に、YUV形式の画像データの反転処理、回転処理に用いられるYUV反転用データ、YUV回転用データも含まれる。また、その他の加工に用いられる加工用データも記憶されていても良い。
さらに、図示していないが、YUV二次拡大用データ216のみならず、YUV二次縮小用データ、YUV二次反転用データなど、合成前の画像データのデータ形式に応じた加工用データ(二次加工用データと呼ぶ)を多数記憶しており、合成画像データに加工を施す際に、これらを適宜使い分ける。
(1−3)補整用データ
RGB補整用データ217は、RGB形式の画像データの画質補整に適した関数及びパラメータを含んで構成される。
YUV補整用データ218は、YUV形式の画像データの画質補整に適した関数及びパラメータを含んで構成される。
自然画向け補整用データ219は、RGB形式の画像データであって、自然画を構成する画像データの画質補整に適した関数及びパラメータを含む。より正確には、合成画像データにおいて、合成前のデータ形式がYUV形式の場合、表示される画像は自然画である場合が多いと予測される。従って、本実施の形態において、R8G8B8形式の合成画像データ227のうち、合成前のデータ形式がYUV形式である部分の画質補整には、自然画向け補整用データ219が用いられる。
ここでは、上記の3つの補整用データしか記載していないが、これらの他にも、回転処理向けの画質補整データ、拡大処理向けの画質補整データなど、加工処理毎に最適な画質補整を実現することができるように、多数の補整用データを記憶しているとしても良い。
(1−4)画像データ
ペイント画像データ122、文字画像データ123、写真画像データ124、写真画像データ126については、それぞれ実施の形態1と同一であるので説明を省略する。
合成画像データ227は、合成指示テーブル212に従って、ペイント画像データ122、文字画像データ123、写真画像データ124、写真画像データ126を合成して生成された画像データである。図13は、合成画像データ227を基に表示される合成画像227gを示す。合成画像227gには、ペイント画像122gを1.4倍に拡大したペイント画像122Gと、文字画像123gを1.2倍に拡大した文字画像123Gと、写真画像124gを左右反転した写真画像124Gと、写真画像126gを0.8倍に縮小した写真画像126Gが含まれる。文字画像123Gと、写真画像124Gと、写真画像126Gとは、その一部が重複しているが、写真画像126Gが最前面、文字画像123Gが2番目、写真画像124Gが一番後ろの面に表示される。
形式フラグ群228は、合成画像227gの各画素に対応するピクセルデータが、合成前においてRGB形式であったかYUV形式であったかを示す1ビット長の形式フラグを、画像上の左上の画素から右下の画素の順に並べたものである。
なお、合成画像227gのうち、ペイント画像122G、文字画像123Gと、写真画像124G、写真画像126Gのいずれも描画されない領域の画素と対応する形式フラグは、RGB形式を示す「0」である。
加工画像データ229は、R8G8B8形式の合成画像データ227の一部又は全部にさらに、拡大、縮小などの加工を加えて生成されたものである。
(2)合成制御部241
合成制御部241は、合成画像データの生成において、図示していないが、各機能部へ制御信号を出力し、その動作を制御する機能を有する。
合成制御部241は、主制御部204から画像合成の指示を受ける。画像合成の指示を受けると合成バッファ144を初期化する。初期化直後の合成途中画像データ及び形式フラグ群については、後述する。
次に、合成制御部241は、メモリ201の一般領域211の所定アドレスに記憶されている合成指示テーブル212から合成情報を読み出す。このとき、重ね合わせ順が小さいものから順に読み出す。
次に、合成制御部241は、読み出した合成情報に含まれる変形情報に適した加工用データをメモリ201の一般領域211から読み出し、変形用メモリ246へ書き込む。なお、拡大、縮小、回転の場合は、読み出した合成情報に含まれる変形情報として含まれる倍率、回転角度も合わせて変形用メモリ246に書き込む。
なお、変形情報「不要」の場合、合成制御部241は、変形エンジン247に一時停止を指示する。
同様に、合成制御部241は、読み出した合成情報に含まれる画質補整情報が、画質補整が必要であることを示す「要」であれば、読み出した合成情報に含まれるデータ形式を基に最適な補整用データをメモリから読み出し、読み出した補整用データを補整用メモリ248へ出力する。画質補整情報が「不要」の場合は、補整エンジン249に一時停止を指示する。
続いて、合成制御部241は、読み出した合成情報に含まれるデータ形式を形式変換部242へ出力する。また、読み出した合成情報に含まれる透過率と出力座標とを合成エンジン243へ出力する。読み出した合成情報と対応する画像サイズ(横a×縦b画素)を検出し検出した画像サイズを合成エンジン243へ出力する。
なお、読み出し合成情報に含まれる変形情報が「拡大」又は「縮小」の場合、合成制御部241は、縦横の画素数それぞれに、倍率を掛けてa←a×倍率、b←b×倍率を算出し、横a×縦b画素を画像サイズとして出力する。
また、読み出した合成情報に含まれる変形情報が回転(回転角r)の場合、横a×縦b画素及び回転角rを画像サイズとして出力する。
合成制御部241は、重ね合わせ順が小さいものから順に、全ての合成情報について、以上の処理を行う。図12に示す、合成指示テーブル212の場合、合成制御部241は、合成情報233、232、231、234の順に各合成情報を読み出し、上記の処理を行う。
全ての合成情報について読み出し済みであれば、合成制御部241は、合成バッファ244に記憶されている合成途中画像データを読み出し、合成画像データ227として、メモリ201の画像記憶領域221に書き込む。また。合成バッファ244から形式フラグ群を読み出し、読み出した形式フラグ群をメモリ201の画像記憶領域221に、合成画像データ227と対応付けて書き込む。
書き込みが終了すると、合成制御部241は、主制御部204へ画像合成処理が終了したことを通知する。
(3)形式変換部242
形式変換部242は、合成制御部241から、形式変換の対象となる画像データのデータ形式を受け取る。受け取ったデータ形式がRGB形式であれば、1ビット長の形式フラグP=0を生成し、受け取ったデータ形式がYUV形式であれば形式フラグP=1を生成し、生成した形式フラグPを一時的に記憶する。
続いて、補整エンジン249から、必要に応じて加工及び画質補整を施された画像データ(以下、補整済画像データと呼ぶ)を受け取る。ここで受け取る補整済画像データのデータ形式は、合成制御部241から受け取るデータ形式と同一である。
形式変換部242は、形式変換部242は、補整エンジン249から受け取った画像データをR8G8B8形式に変換して、合成用画像データを生成し、生成した合成用画像データと、記憶している形式フラグとを合成エンジン243へ出力する。
具体的には、合成制御部241から受け取ったデータ形式がR8G8B8形式であれば、形式変換部242は、補整エンジン249から受け取った画像データを、そのまま、合成用画像データとして、合成エンジン243へ出力する。これと合わせて、形式フラグP=0を合成エンジン243へ出力する。
また、受け取ったデータ形式が、X8R8G8B8形式であれば、形式変換部242は、各ピクセルデータの先頭の8ビットを削除してR8G8B8形式の合成用画像データを生成する。
また、合成制御部241から受け取ったデータ形式がYUV420であれば、下記3つの式を用いてRGB形式に変換して、各色のデータ長を8ビット長に揃え、R8G8B8形式の合成用画像データを生成する。
R=Y+1.40200×V
G=Y−0.34414×U−0.71414×V
B=Y+1.77200×U
(4)合成バッファ244
合成バッファ244は、合成エンジン243による合成処理の途中の画像データ(合成途中画像データ)と、形式フラグ群とを記憶している。
合成途中画像データは、表示部202の備えるモニタの画素(n×m画素)それぞれと対応するピクセルデータを、画面上の左上から右下の順に並べて構成される。
形式フラグ群は、合成途中画像データを構成するピクセルデータと対応する形式フラグを列挙したn×mビット長のデータである。
起動時、又は、初期化直後は、合成バッファ244は、所定の背景画像データを合成途中画像データとして記憶いる。また、このとき、形式フラグ群を構成する形式フラグは全て「0」で初期化される。
(5)合成エンジン243
合成エンジン243は、合成制御部241から、透過率と出力座標と画像サイズとを受け取る。
また、合成エンジン243は、形式変換部242からR8G8B8形式の合成用画像データと形式フラグPを受け取る。
これらを受け取ると、合成エンジン243は、合成バッファ244から合成途中画像データを読み出す。説明の便宜上、合成画像227g上において、受け取った出力位置を起点とし、画像サイズにより定義される範囲を合成対象範囲と呼ぶ。
読み出した合成途中画像データのうち、合成対象範囲に対応する部分に受け取った合成用画像データを合成する。具体的には、読み出した合成途中画像データのうち、合成対象範囲に含まれる各画素のピクセルデータの各色成分(D(b)と表記)と、受け取った画像データのうち、対応するピクセルデータの各色成分(D(f)と表記)とを以下の演算により合成して新たなピクセルデータの各色成分(D(com)と表記)を算出し、合成途中画像データ上のピクセルデータの各色成分D(b)を、算出した新たなピクセルデータの色成分D(com)に置き換えることにより、合成途中画像データを更新する。
D(com)=D(f)+D(b)×透過率
続いて、合成エンジン243は、形式フラグ群を読み出し、形式フラグ群のうち、合成対象範囲内の各画素と対応する部分を全て、受け取った形式フラグPに書き換える。
合成エンジン243は、以上の手順で更新した合成途中画像データと、形式フラグ群とを合成バッファ244に書き戻す。
(6)主制御部204
主制御部204は、入力部203を介して、利用者の操作を受け付け、受け付けた操作に従って、画像合成装置200を構成する各部の動作を制御する。
主制御部204は、入力部203を介して画像合成の要求を受け付ける。
また、表示部202に合成画像227gを表示し、合成画像中の特定の位置の指定を受け付ける。
(6−1)画像合成の制御
利用者の操作による画像合成の要求を受け付けると、主制御部204は所定の入力画面を表示して、合成する画像データの選択、選択した各画像の表示位置、重ね合わせ順、加工の及び画質補整の要否、透過率の入力を受け付ける。次に、入力された情報を基に主制御部204は、合成指示テーブル212を生成し、メモリ201の一般領域211の所定領域に書き込み、合成制御部241に画像合成を指示する。
次に、合成制御部241から、画像合成の処理が終了したことを示す終了通知と、生成された合成画像データを示す情報(例えば、識別子、アドレスなど)とを受け取る。
これらを受け取ると、メモリ201の画像記憶領域221から合成画像データ227を読み出し、読み出した合成画像データ227から合成画像を生成して、表示部202に生成した合成画像227gを表示する。
(6−2)合成画像の加工の制御
表示部202に合成画像227gが表示された状態で、入力部203を介して、主制御部は、合成画像227g上の位置(画素)の指定を受け付ける。
位置の選択を受け付けると、指定された位置の近辺にメニューを表示する。若しくは、別途、メニュー画面を生成して表示しても良い。
メニューには、合成画像に対して、施すことができる加工の名称を列挙している(例えば、拡大、縮小、反転・・・)。続いて、利用者の操作によるメニューの選択を受け付ける。
メニューの選択を受け付けると、合成画像227gのうち、受け付けたメニューに応じて加工対象とする範囲(以下二次利用範囲と呼ぶ)を決定する。例えば、「拡大」が選択された場合は、選択された位置を中心として100×100画素の範囲、「縮小」が選択された場合は、選択された位置を中心として300×300画素の範囲、「回転」が選択された場合は、全画面を二次利用範囲とする。
又は、加工の対象となる範囲の選択を利用者に促す画面を表示し、二次利用範囲を決定してもよい。
次に、主制御部204は、形式フラグ群228のうち、二次利用範囲に対応する部分を1ビットずつ順次読み出す。読み出した形式フラグと選択された加工の種類に応じた加工用データをメモリ201の一般領域211から読み出し、変形用メモリ246へ出力する。また、読み出した形式フラグと選択された加工により、必要に応じて、メモリ201の一般領域211から補整用データを読み出し、読み出した補整用データを補整用メモリ248へ出力する。
例えば、利用者により「拡大」が選択され、読み出した形式フラグP=1である場合、主制御部204は、メモリ201の一般領域211から、YUV二次拡大用データ216を読み出し、読み出したYUV二次拡大用データを変形用メモリ246に出力する。次に、自然画向け補整用データを読み出し、補整用メモリ248へ出力する。
次に、合成画像データのうち、読み出した形式フラグと対応するピクセルデータの位置を指示して、変形エンジン247へ加工を指示する。
主制御部204は、二次利用範囲に含まれる全ての画素について、同様の処理を繰返し、変形エンジン247及び補整エンジン249を制御することで、加工画像データを生成し、生成した加工画像データ229をメモリ201の画像記憶領域に書き込む。
次に、加工画像データ229を読み出して加工画像を生成し、表示部202に表示する。
2.3 動作
以下に、本実施の形態の画像合成装置200の動作について、図面を用いて説明する。
(1)画像合成における動作
図14〜図16は、画像合成装置200による画像合成処理における動作を示したフローチャートである。以下に、図14〜図16を用いて、画像合成に係る画像合成装置200の動作について説明する。
利用者の操作による画像合成の要求を受け付けると、主制御部204は所定の入力画面を表示して、合成する画像データの選択、選択した各画像の表示位置、重ね合わせ順、加工及び画質補整の要否、透過率の入力を受け付ける(ステップS201)。次に、入力された情報を基に、主制御部204は、合成指示テーブル212を生成し、メモリ201の一般領域211の所定領域に書き込み、合成制御部241に画像合成を指示する(ステップS202)。
主制御部204から画像合成の指示を受けると、合成制御部241は、メモリ201の一般領域211内の所定領域に記憶されている合成指示テーブル212から、未だ読み出していない合成情報のうち、重ね合わせ順が最小のものを読み出す(ステップS203)。このとき、既に、全ての合成情報が読み出し済みであれば(ステップS206のYES)、ステップS207へ処理を移す。
全ての合成情報が読み出し済みでなければ(ステップS206のNO)、合成制御部241は、読み出した合成情報に含まれるデータ形式、変形情報、画質補整情報を基に、データ形式に最適な加工用データ及び補整用データをメモリ201から読み出す(ステップS211)。次に、読み出した加工用データを変形用メモリ246へ書き込み、読み出した補整用データを補整用メモリ248へ書き込む(ステップS212)。
次に、合成制御部241は、合成情報と対応する画像データをメモリ201の画像記憶領域221から読み出し、変形エンジン247へ出力する(ステップS213)。
次に、合成制御部241は、読み出した合成情報に含まれるデータ形式を、形式変換部242へ通知する(ステップS216)。
変形エンジン247は、画像データを受け取り、変形用メモリ246に記憶されている関数及びパラメータを用いて、受け取った画像データに加工(拡大、縮小、回転など)を施して、変形済画像データを生成する。続いて、変形エンジン247は、生成した変形済画像データを補整エンジン249へ出力する(ステップS217)。
補整エンジン249は、変形エンジン247から変形済画像データを受け取り、補整用メモリ248の保持する関数及びパラメータを用いて、受け取った変形済画像データに画質補整処理を施して補整済画像データを生成する(ステップS218)。次に、補整エンジン249は、生成した補整済画像データを形式変換部242へ出力する(ステップS219)。
形式変換部242は、補整エンジン249から補整済画像データを受け取り、合成制御部241から、データ形式を受け取る。ここで、補整エンジン249から受け取る補整済画像データのデータ形式は、合成制御部241から受け取るデータ形式に一致する。
これらを受け取ると、形式変換部242は、合成制御部241から受け取ったデータ形式を基に、受け取った画像データのデータ形式をR8G8B8形式に変換して合成用画像データを生成する(ステップS221)。
次に、合成制御部241から受け取ったデータ形式がRGB形式であれば、形式変換部242は、1ビット長の形式フラグ「0」を生成する(ステップS223)。受け取ったデータ形式がYUV形式であれば、形式変換部242は、形式フラグ「1」を生成する(ステップS224)。
次に、形式変換部242は、生成した合成用画像データと、1ビット長の形式フラグPとを合成エンジン243へ出力する(ステップS226)。
合成制御部241は、次に、読み出した合成情報に含まれる透過率と出力座標と、読み出した合成情報と対応する画像サイズとを合成エンジン243へ出力する(ステップS231)。
合成エンジン243は、合成制御部241から透過率、出力座標及び画像サイズを受け取る。また、形式変換部242から合成用画像データと形式フラグPとを受け取る。
これらを受け取ると、合成エンジン243は、合成バッファ244から合成途中画像データと形式フラグ群とを読み出す(ステップS232)。
読み出した合成途中画像データのうち、出力座標を起点とし画像サイズにより定義される合成対象範囲の各ピクセルデータと合成対象データの対応するピクセルデータとを以下の式により合成し、合成後のピクセルデータにより合成前のピクセルデータを置き換えることで、合成途中画像データを更新する(ステップS234)。
D(com)=D(f)+D(b)×透過率
D(f):合成対象データの対応するピクセルデータの各色成分
D(b):合成途中画像データ中の合成対象範囲の対応するピクセルデータの色成分
D(com):合成後のピクセルデータの各色成分
また、読み出した形式フラグ群のうち、合成対象範囲と対応する部分全てを、受け取った形式フラグPに書き換えて、形式フラグ群を更新する(ステップS236)。
次に、更新後の合成途中画像データと形式フラグ群とを合成バッファ244へ上書きする(ステップS237)。上書き後、画像合成装置200は、ステップS203へ戻り、次の合成情報に係る処理に移る。
全ての合成情報を読み出し済みであれば(ステップS206のYES)、合成制御部241は、合成バッファ244の保持する合成途中画像データを読み出し、読み出した合成途中画像データを合成画像データとしてメモリ201の画像記憶領域221へ書き込む。また、合成バッファ244から形式フラグ群を読み出し、同様にメモリ201の画像記憶領域に書き込む(ステップS207)。
続いて、主制御部204は、生成された合成画像データから、合成画像を生成し、生成した合成画像を表示部202に表示する(ステップS208)。
(2)合成画像データの加工の動作
図17〜図18は、合成画像データ227の加工(二次利用)処理における画像合成装置200の動作を示したフローチャートである。以下に、図17〜図18を用いて合成画像データの加工処理における動作について説明する。
主制御部204は、合成画像データ227から合成画像を生成して表示部202へ表示する(ステップS241)。
次に、主制御部204は、入力部203を介して、利用者の操作による位置(画素)の選択を受け付ける(ステップS242)。位置の選択を受け付けると、主制御部204は、表示部202にメニューを表示する(ステップS243)。メニューには、「拡大」、「縮小」、「回転」・・・が含まれるが、ここでは、「拡大」が選択された場合について述べる(ステップS244)。「拡大」が選択された場合、合成画像中の指定された位置を中心に100×100画素の範囲が、二次利用範囲である。
以下、ステップS246〜ステップS262において、二次利用範囲に含まれる各画素と対応するピクセルデータについて、ステップS247〜ステップS261の処理を繰り返すことで、加工画像データを生成する。
先ず、主制御部204は、二次利用範囲内の1の画素と対応する形式フラグPを形式フラグ群228から読み出す(ステップS247)。
読み出した形式フラグP=1の場合(ステップS249のYES)、主制御部204は、メモリ201の一般領域211から、YUV二次拡大用データ216を読み出し、変形用メモリ246に書き込む(ステップS251)。次に、自然画向け補整用データ219を読み出し、補整用メモリ248に出力する(ステップS252)。
読み出した形式フラグP=0であれば(ステップS249のNO)、主制御部204は、メモリ201の一般領域211から、RGB拡大用データ213を読み出し、読み出したRGB拡大用データを変形用メモリ246へ書き込む(ステップS254)。次に、主制御部204は、RGB補整用データ217を読み出し、読み出したRGB補整用データ217を、補整用メモリ248へ書き込む(ステップS256)。
次に、主制御部204は、読み出した形式フラグと対応するピクセルデータの記憶されているアドレスを指定して、変形エンジン247へ、拡大処理を指示する(ステップS257)。
変形エンジン247は、主制御部204の指示に従って、指定されたアドレスからピクセルデータを読み出し、変形用メモリ246に記憶されている関数及びパラメータを用いて読み出したピクセルデータに拡大処理を施す。拡大処理後のピクセルデータ(群)を補整エンジン249へ出力する(ステップS258)。
補整エンジン249は、変形エンジン247からピクセルデータ(群)を受け取り、補整用メモリ248に記憶されている関数及びパラメータを用いて、受け取ったピクセルデータ(群)に画質補整処理を施す(ステップS259)。
次に、補整エンジン249は、補整処理後のピクセルデータ群を順次メモリ201の画像記憶領域221に書き込む(ステップS261)。
二次利用範囲の各ピクセルデータについての繰返しが終了すると(ステップS262)、主制御部204は、補整エンジン249により書き込まれたピクセルデータ(群)により構成される加工(拡大)画像データ229を読み出し、読み出した加工画像データ229から加工(拡大)画像を生成し、表示部202に表示する(ステップS263)。
2.4 まとめ
以上説明してきたように、本実施の形態の画像合成装置200は、合成前の画像データを、元のデータ形式のまま、拡大などの加工を施した後、形式変換及び合成処理を行い、合成画像データを生成する。
また、合成画像データを構成する各ピクセルデータとは個別に、形式フラグ群を生成する。そのため、合成画像データにはブランクビットは存在しないので、総データ量を削減することができる。
なお、ここでは、合成画像データのデータ形式をR8G8B8形式としたが、上述したように各ピクセルデータが16ビット(例えばR5G6B5)又は16ビットの偶数倍になるように、ピクセルデータのデータ長を調整し、アドレス管理が容易になるようにしてもよい。
3. 実施の形態3
以下に、本発明の実施の形態3について、図面を用いて説明する。
3.1 概要
本実施の形態では、合成画像データを構成する各ピクセルデータは、合成前において、拡大などの加工処理、画質補整処理が施されたか否かを示す属性フラグを含んでいる。
合成前に、加工や画質補整を施した後に生成した、合成画像データを、更に、加工する場合を考える。加工や画質補整を施した画像データに、同一のアルゴリズムに基づく関数及びパラメータを用いて、再度、加工又は画質補整を施すと、不自然な画像になる場合がある。例えば、合成前に、画質補整を施すことで、コントラストを明瞭にした部分に、同じアルゴリスムに基づく画質補整を再度施すと、必要以上に、コントラスト比が大きくなり、不自然な画像になる場合が考えられる。また、合成前に拡大処理を施した部分に更に、同一のアルゴリズムで拡大処理を施すと、輪郭線が不明瞭になったり、画質が荒くなったりする可能性が考えられる。
本発明の画像合成装置300では、合成画像データを構成する各ピクセルデータに、合成前における加工、補整の有無を示す属性フラグ付加する。次に、合成画像データのうち、合成前に、加工や補整を施している部分に更に、加工や補整を施す場合(以下、多重加工、多重補整と呼ぶ)、1度目とは異なる最適な関数及びパラメータを含む多重加工用データを用いる。
このようにすることで、多重加工、多重補整した部分の画質の最適化を図ることができる。なお、加工処理には、拡大、縮小、回転など、様々な種類の加工処理が考えられるが、説明を簡単にするため、本実施の形態における画像合成装置は、利用者の選択した1以上の画像データを、1以上の倍率で拡大し、必要に応じて画質補整処理を施して合成する装置であるとする。
3.2 構成
図19は、本実施の形態の画像合成装置300の機能的構成を示すブロック図である。図中の矢印は、合成画像データ314の生成に関するデータフローを示しており、太線矢印は、加工画像データの生成に関するデータフローを示している。
図19に示すように、画像合成装置300は、メモリ301、表示部302、入力部303、主制御部304、画像処理部305から構成され、画像処理部305は、合成制御部341、変形用メモリ346、変形エンジン347、補整用メモリ348、補整エンジン349、形式変換部342、合成エンジン343、合成バッファ344及び属性フラグ付加部351を含む。
図面中、前述の実施の形態と重複する構成及びデータには、同一の参照符号を付している。
画像合成装置300は、具体的には、マイクロプロセッサ、RAM及びROMを含んで構成されるコンピュータシステムであって、RAM及びROMにはコンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することで、画像合成装置300は、その機能の一部を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
以下に、各構成について説明する。なお、入力部303、表示部302及び形式変換部342の構成及び動作は実施の形態2と同様であるので説明を省略する。また、変形用メモリ346、変形エンジン347、補整用メモリ348、補整エンジン349の構成及び動作は、実施の形態2と同様に、各メモリの保持する関数及びパラメータを用いて、入力されたピクセルデータに処理を施す。従って、詳細な説明は省略する。
(1)メモリ301
メモリ301は、ハードディスクユニットを含んで構成され、一般領域311と画像記憶領域321とを含む。
一般領域311は、合成指示テーブル312、RGB拡大用データ213、YUV拡大用データ215、RGB補整用データ217、YUV補整用データ218、多重拡大用データ313、多重補整用データ315を記憶している。以下必要に応じてRGB拡大用データ213、YUV拡大用データ215、RGB補整用データ217、YUV補整用データ218を通常加工用データ群と呼び、多重拡大用データ313、多重補整用データ315を多重加工用データ群と呼ぶ。
また、図示していないが、一般領域311には、これらの他にも、主制御部304により用いられる各種のプログラム、パラメータ、画像データなどが記憶されている。
画像記憶領域321には、ペイント画像データ122、写真画像データ124・・・など利用者の操作に従って保存された画像データ、当該画像合成装置により生成された合成画像データ314、加工画像データ316が記憶されている。
(1−1)合成指示テーブル312
合成指示テーブル312は、実施の形態2において説明した合成指示テーブル212と同様の構成であって、複数の合成情報から構成される。ただし、ここでは、変形情報は「不要」又は「n倍」(n≧1)のみである。
その他の詳細な構成は、実施の形態2の合成指示テーブル212と同様であるので、説明を省略する。
(1−2)通常加工用データ群
RGB拡大用データ213、YUV拡大用データ215、RGB補整用データ217及びYUV補整用データ218は実施の形態2において、説明した通りであるので、ここでは説明を省略する。
(1−3)多重加工用データ群
多重拡大用データ313は、合成画像データ314のうち、合成前において拡大処理を施している部分を、さらに拡大するのに適したアルゴリズムに従う関数及びパラメータを含んでいる。
多重補整用データ315は、合成画像データ314のうち、合成前において画質補整処理を施している部分を、さらに画質補整するためのアルゴリズムに従う関数及びパラメータを含んでいる。
画質補整処理は、大きく分けて、雑音除去、輪郭強調及び歪補整の処理を含んでいる。ここで、同一のアルゴリズムに従って画質補整処理を、複数回行う場合を想定する。1度目の画質補整において、輪郭強調のために生成されたデータを、2度目以降の画質補整処理において、雑音であると誤認される可能性がある。
また、輪郭強調処理では、各色の濃度が急激に変化する部分(輪郭)を検出し、検出した部分の高周波(高濃度)成分をより強調する。このような処理には、一例として、入力画像データの二次微分を用いる(二次微分を用いた輪郭強調処理については、非特許文献2に詳細に説明されている)。2度目以降の画質補整を行う場合、前述の二次微分の加算成分を、新たな輪郭であると誤認する可能性がある。
従って、例えば、RGB補正用データ217及びYUV補正用データ218は、それぞれ、雑音除去、輪郭強調及び歪補整に関する関数及びパラメータを含んでいるが、多重補整用データ315には、歪補整に関する関数及びパラメータのみを含む。
若しくは、RGB補整用データ217、YUV補整用データ218及び多重補整用データ315に含まれる輪郭強調のための係数を何れも小さめに設定するとしてもよい。
(1−4)画像データ
ペイント画像データ122、写真画像データ124など合成の対象となる画像データについては、実施の形態1において既に述べているので説明を省略する。
合成画像データ314は、ペイント画像データ122、写真画像データ124などを、必要に応じて拡大し、画質補整処理を施して合成した画像データであって、データ形式はP2X6R8G8B8形式である。各ピクセルデータの先頭の1ビットは、合成の過程で、そのビットデータに拡大処理が施されたか否かを示しており、「1」は、拡大処理が施されたことを示し、「0」は、施されなかったことを示す。各ピクセルデータの第2ビットは、合成の過程でそのピクセルデータに画質補整処理が施されたか否かを示し、「1」は、画質補整処理が施されたことを示し、「0」は、施されなかったことを示す。以下、各ピクセルデータの先頭の2ビットを属性ビットと呼び、変数Pで表す。
加工画像データ316は、合成画像データ314の一部又は全部に更に加工を施して生成された画像データである。
(2)合成制御部341
合成制御部341は、合成画像データの生成処理において、図示していないが、各機能部へ、制御信号を出力し、その動作を制御する機能を有する。
合成制御部341は、主制御部304から、画像合成の指示を受ける。この指示を受けると、合成バッファ344を初期化する。具体的には背景画像データ(ブルーバック、利用者の指定した背景画像データ)を書き込む。ここで書き込まれる背景画像データは、P2X6R8G8B8形式であって、各ピクセルデータの属性ビットは「00」であるとする。
次に、合成制御部341は、メモリ301の所定領域に記憶されている合成指示テーブルに含まれる合成情報のうち、重ね合わせ順が小さいものから順に読み出す。
すべての合成情報について、以下の処理を繰り返すことで、合成画像データ314を生成する。
先ず、読み出した合成情報に含まれる変形情報が「不要」であれば、変形エンジン347に一時停止を指示する。「不要」でない場合、読み出し合成情報に含まれるデータ形式を基に、RGB拡大用データ213又はYUV拡大用データ215の何れかを読み出し、変形用メモリ346へ書き込む。このときに、合わせて拡大の倍率nも書き込む。
次に、読み出した合成情報に含まれる画質補整情報が「不要」であれば、補整エンジン349に一時停止を指示する。「不要」でない場合、読み出し合成情報に含まれるデータ形式を基に、RGB補整用データ217又はYUV補整用データ218の何れかを読み出し、変形用メモリ346へ書き込む。
続いて、合成制御部341は、読み出した合成情報に含まれるデータ形式を、形式変換部342へ出力する。
次に、読み出した合成情報に含まれる変形情報から画像サイズを算出し、算出した画像サイズと、出力座標と、透過率とを合成エンジン343へ出力する。
次に、合成制御部341は、合成情報に含まれる変形情報と画質情報とを基に2ビット長の属性フラグPを生成する。具体的には、変形情報が「不要」であれば第1ビット「0」、「不要」以外であれば第1ビット「1」を生成し、画質補整情報が「不要」であれば、第2ビット「0」、「不要」以外であれば、第2ビット「1」を生成する。次に、生成した2ビット長の属性フラグ付加部351へ出力する。
続いて、合成制御部341は、読み出した合成情報と対応する画像データを変形エンジン347へ出力する。
属性フラグ付加部351が、合成バッファ344へ合成途中画像データを書き戻すと、次の合成情報について、同様の処理を繰り返す。
(3)合成バッファ344
合成バッファ344は、RAMから構成され、合成エンジン343及び属性フラグ付加部351による画像合成処理の途中における合成途中画像データを記憶する。
(4)形式変換部342
形式変換部342は、合成制御部341から、データ形式を受け取る。また、形式変換部342は、補整エンジン349から、補整済画像データを受け取る。ここで受け取る補整済画像データのデータ形式は、合成制御部341から受け取るデータ形式と一致する。
形式変換部342は、受け取った補整済画像データのデータ形式をX8R8G8B8形式に変換して、変換済画像データを生成する。変換方法の詳細は、実施の形態1と同様であるので、説明を省略する。
次に、形式変換部342は、生成した変換済画像データを合成エンジンへ出力する。
(5)合成エンジン343
合成エンジン343は、合成制御部341から、出力座標と透過率と画像サイズとを受け取る。
また、合成エンジン343は、形式変換部342から、変換済画像データを受け取る。ここで受け取る変換済画像データを基に生成される変換済画像の画像サイズは、合成制御部341から受け取った画像サイズと一致する。
これらを受け取ると、合成エンジン343は、合成バッファ344から合成途中画像データを読み出し、読み出した合成途中画像データのうち、受け取った出力座標を起点とし、画像サイズの示す範囲(合成対象範囲と呼ぶ)の画像データを受け取った変換済画像データと合成する。合成の演算については、実施の形態1において述べた通りであるので、ここでは省略する。このとき、合成対象範囲の各ピクセルデータの形式はX8R8G9B8形式である。
次に、合成エンジン343は、合成後の画像データを属性フラグ付加部351へ出力する。
(6)属性フラグ付加部351
属性フラグ付加部351は、合成制御部341から2ビット長の属性フラグPを受け取り一時的に記憶する。
次に、属性フラグ付加部351は、合成エンジン343から合成処理後の画像データを受け取る。属性フラグ付加部351は、受け取った画像データのうち、合成対象範囲に含まれる各ピクセルデータの先頭の2ビットを記憶している属性フラグPに書き換える。書き換えが終了すると、書き換え後の画像データにより、合成バッファ344の保持する合成途中画像データを更新する。
(7)主制御部304
図示していないが、主制御部304は、画像合成装置300を構成する各部へ制御信号を出力し、各部の動作を制御する機能を有する。
主制御部304は、入力部303を介して、利用者の操作を受け付け、外部機器又は記録媒体に記録されている画像データを読み出し、メモリ301の画像記憶領域に書き込む。
また、主制御部304は、入力部303を介して、合成画像の作成要求を受け付ける。さらに、利用者による、合成画像の加工要求の入力を受け付ける。
合成画像の作成要求を受け付けると、利用者の操作に従って、合成指示テーブル312を生成し、合成制御部341へ画像合成を指示する。合成画像の生成の制御については、実施の形態1と同様であるので、ここでは、説明を省略する。
(合成画像の加工)
主制御部304は、合成画像データ314を基に生成された合成画像が表示部に表示されている状態で、入力部303を利用者による位置の指定を受け付ける。位置の指定を受け付けると、倍率m(≧1)の入力画面を表示部302に表示し、倍率の入力を受け付ける。
次に、主制御部304は、指定された位置を中心に、例えば縦100×横100画素の範囲(拡大対象範囲と呼ぶ)の画像を入力された倍率に拡大して加工画像データ316を生成する。
以下に、具体的な拡大処理の制御について説明する。
主制御部304は、拡大対象範囲に含まれる各ピクセルデータについて、以下の処理を繰り返す。
ピクセルデータの第1ビットが「1」であれば、主制御部304は、メモリ301から多重拡大用データ313を読み出し、読み出した多重拡大用データ313を変形用メモリ346へ書き込む。
第1ビットが「0」であれば、主制御部304は、RGB拡大用データ213を読み出し、読み出したRGB拡大用データ213を変形用メモリ346に書き込む。
次に、ピクセルデータの第2ビットが「1」であれば、主制御部304は、多重補整用データ315を読み出し、読み出した多重補整用データ315を補整用メモリ348に書き込む。
第2ビットが「0」であれば、主制御部304は、RGB補整用データ217を読み出し、読み出したRGB補整用データ217を補整用メモリ348に書き込む。
次に、補整エンジン349の動作を監視し、補整エンジン349による補整の処理が終了すると、補整処理後のピクセルデータをメモリ301の画像記憶領域321へ書き込むように、補整エンジン349に指示する。
拡大対象範囲の全てのピクセルデータについて、拡大及び補整が終了すると、主制御部304は、加工画像データ316を読み出し、読み出した加工画像データ316を基に加工画像を生成し、生成した加工画像を表示部302に表示する。
3.3 動作
以下に、本実施の形態の画像合成装置300の動作について説明する。
(1)画像合成の動作
利用者の操作により、画像合成が指示されると、画像合成装置300は、画像合成処理を開始する。
図20〜図22は、画像合成処理における画像合成装置300の動作を示したフローチャートである。以下に、図20〜図22を用いて画像合成装置300の動作について説明する。
主制御部304は、所定の選択画面、入力画面などを表示して、利用者による合成対象となる画像の選択、表示位置、重ね合わせ順、加工(拡大)の要否、画質補整の要否の入力を受け付ける(ステップS301)。
これらの入力を受け付けると、受け付けたデータを基に合成指示テーブル312を生成し、生成した合成指示テーブル312をメモリ301の所定領域に書き込む(ステップS302)。
次に、主制御部304は、合成制御部341へ、画像データの合成を指示する(ステップS303)。
合成制御部341は、主制御部304から画像合成の指示を受ける。指示を受けると、メモリ301の所定領域に記憶されている合成指示テーブル312をサーチし、合成指示テーブル312を構成する合成情報を重ね合わせ順の小さいものから順に読み出す(ステップS306)。
このとき、既に、全ての合成情報を読み出し済みであれば(ステップS307のYES)、合成制御部341は、ステップS308へ処理を移す。
全ての合成情報を読み出し済みでない場合(ステップS307のNO)、合成制御部341は、読み出した合成情報に含まれる変形情報、画質補整情報、データ形式を基に最適な加工用データをメモリ301から読み出して、読み出し加工用データと倍率とを変形用メモリ346に書き込み、最適な補整用データをメモリ301から読み出して、補整用メモリ348へ書き込む(ステップS311)。ただし、読み出した合成情報に含まれる変形情報が「不要」の場合、変形エンジン347へ一時停止を指示する。また画質補整情報が「不要」の場合は、補整エンジン349へ一時停止を指示する。
次に、合成制御部341は、読み出した合成情報に含まれるデータ形式を形式変換部342へ出力する(ステップS312)。
次に、合成制御部341は、読み出した合成情報に対応する画像データを読み出し、変形エンジン347へ出力する(ステップS313)。
変形エンジン347は、変形用メモリ346の保持するパラメータ及び関数などを用いて、受け取った画像データを加工(拡大)して、変形済画像データを生成し、生成した変形済画像データを補整エンジン349へ出力する(ステップS314)。ただし、合成制御部341から、一時停止を指示された場合は、受け取った画像データをそのまま補整エンジン349へ出力する。
補整エンジン349は、変形エンジン347から変形済画像データを受け取る。変形済画像データを受け取ると、補整エンジン349は、補整用メモリ348に記憶されている関数及びパラメータを用いて、受け取った変形済画像データに画質補整処理を施して補整済画像データを生成する(ステップS316)。続いて、補整エンジン349は、生成した補整済画像データを形式変換部342へ出力する(ステップS317)。なお、このとき、合成制御部341から一時停止を指示されている場合、受け取った変形済画像データをそのまま形式変換部342へ出力する。
形式変換部342は、補整済画像データを受け取ると、合成制御部341から通知されたデータ形式を参照して、受け取った補整済画像データのデータ形式をX8R8G8B8形式に変換して変換済画像データを生成する。続いて、生成した変換済画像データを合成エンジン343へ出力する(ステップS318)。
合成制御部341は、次に、読み出した合成情報に含まれる出力位置、透過率、画像サイズを合成エンジン343へ出力する(ステップS321)。
合成エンジン343は、変換済画像データを受け取ると、合成バッファ344から、合成途中画像データを読み出す(ステップS322)。
合成エンジン343は、読み出した合成途中画像データのうち合成対象範囲の各ピクセルデータと対応する変換済画像データのピクセルデータとを合成する(ステップS323)。
合成制御部341は、読み出した合成情報に含まれる変形情報及び画質補整情報を基に2ビット長の属性フラグPを生成し、生成した属性フラグPを属性フラグ付加部351へ出力する(ステップS326)。
属性フラグ付加部351は、合成制御部341から属性フラグPを受け取り、一時的に記憶する。次に、属性フラグ付加部351は、合成エンジン343から受け取った画像データのうち、合成対象範囲に含まれるカテゴリクレームピクセルデータのブランクビットのうち先頭の2ビットを受け取った属性フラグに書き換えて、合成途中像データを更新する(ステップS327)。
次に、属性フラグ付加部351は、更新後の合成画像データを合成バッファ344へ書き戻す(ステップS328)。
次に、画像合成装置300は、ステップS306へ戻り、全ての、合成情報について、同様の処理を繰り返す。
ステップS307において、全ての合成情報が、読み出し済みであれば(ステップS307のYES)、合成制御部341は、合成バッファ344の記憶している合成途中画像データを読み出し、これを合成画像データとして、メモリ301に書き込む(ステップS308)。次に、合成画像の生成が終了したことを主制御部304へ通知する。
主制御部304は、メモリ301から、合成画像データ314を読み出し、読み出し合成画像データ314を基に合成画像を生成して表示部302に表示する(ステップS309)。
(2)合成画像データの加工処理
図23〜図24は、合成画像データの加工(拡大)処理に係る画像合成装置300の動作を示すフローチャートである。以下に、図23〜図24を用いて、合成画像データの拡大処理における画像合成装置300の動作について説明する。
主制御部304は、利用者の操作に従って、合成画像データ314を基に統制画像を生成し、生成した合成画像を表示部302に表示する(ステップS341)。続いて、利用者の操作による位置(画素)の指定を、入力部303を介して受け付ける(ステップS342)。次に、主制御部304は、利用者による倍率の入力を受け付ける(ステップS343)。
次に、ステップS346〜ステップS358の間、合成画像データのうち、二次利用範囲に含まれる各ピクセルデータについて、ステップS347〜ステップS357の処理を繰り返すことで、加工(拡大)画像データを生成する。
ピクセルデータの第1ビットが「1」であれば(ステップS347のYES)、主制御部304は、メモリ301から、多重拡大用データ313を読み出し、変形用メモリ346へ書き込む(ステップS348)。
ピクセルデータの第1ビットが「0」であれば(ステップS347のNO)、主制御部304は、メモリ301からRGB拡大用データ213を読み出し、変形用メモリ346に書き込む(ステップS349)。
次に、主制御部304は、受け付けた倍率を変形用メモリ346へ書き込む(ステップS351)。
次に、ピクセルデータの第2ビットが「1」であれば(ステップS352のYES)、主制御部304は、メモリ301から、多重補整用データ315を読み出し、補整用メモリ348へ書き込む(ステップS353)。
ピクセルデータの第2ビットが「0」であれば(ステップS352のNO)、主制御部304は、メモリ301から、RGB補整用データ217を読み出し、補整用メモリ348に書き込む(ステップS354)。
続いて、主制御部304は変形エンジン347へ、ピクセルデータを出力し、変形エンジン347は、変形用メモリ346の保持する、倍率、関数及びパラメータを用いて、受け取ったピクセルデータの下位24ビット(つまりR8G8B8)に拡大処理を施して、補整エンジン349へ出力する(ステップS356)。
補整エンジン349は、補整用メモリ348の保持する関数及びパラメータを用いて、変形エンジン347から受け取ったピクセルデータに画質補整処理を施して、メモリ301の画像記憶領域321に書き込む(ステップS357)。
二次利用範囲に含まれる全てのピクセルデータについて、繰返しが終了すると(ステップS358)、主制御部304は、補整エンジン349により書き込まれたピクセルデータ群により構成される加工画像データ316をメモリ301から読み出す(ステップS359)。次に、読み出した加工画像データから加工画像を生成し、表示部302に表示する(ステップS361)。
3.4 まとめ
以上、説明してきたように、本実施の形態の画像合成装置300は、合成前における拡大加工の有無、画質補整の有無を示す属性フラグPを生成し、生成した属性フラグを、合成画像データを構成する各ピクセルデータに埋め込む。
合成画像の一部(二次利用範囲)を更に拡大する場合、二次利用範囲の各ピクセルデータに埋め込まれた属性フラグを参照して、合成の過程で拡大及び画質補整されているか否かに応じて、拡大、画質補整する場合、に用いるデータを選択する。
このようにすることで、同一の処理を繰り返すことによって生じる画像の不自然さを緩和することができる。
4. 実施の形態4
以下に、本発明の実施の形態4に係る画像合成装置400について、図面を用いて説明する。
4.1 概要
本実施の形態では、複数の画像データを合成して1つの合成画像データを生成する際に、先ず、合成の対象となる画像データのデータ形式をRGB形式に変換すると共に、変換前の画像データのデータ形式を示す1ビット長の形式フラグPを生成する。
拡大、縮小、といった加工処理を実行する変形エンジンは、画像データと共に受け取った形式フラグPを基に、最適な加工用データを選択して用いる。
画質補整を行う補整エンジンも同様に、形式フラグPを基に最適な補整用データを選択して用いる。
このように、各実行エンジンが、形式フラグPを基に、付随するメモリから最適なデータを選択して処理を実行するので、合成画像データの生成の高速化を図ることができる。
4.2 構成
図25は、画像合成装置400の機能的構成を示す機能ブロック図である。図中の矢印は、画像合成処理におけるデータフローを示している。
図25に示すように、画像合成装置400は、メモリ401、表示部402、入力部403、主制御部404、画像処理部405から構成され、画像処理部405は、合成制御部441、形式変換部442、変形用メモリ446、変形エンジン447、補整用メモリ448、補整エンジン449、合成エンジン443及び合成バッファ444を含む。
具体的には、画像合成装置400は、マイクロプロセッサ、RAM及びROMを含んで構成されるコンピュータシステムであって、RAM及びROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、画像合成装置400は、その機能の一部を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
以下に、各機能部について説明する。なお、入力部403、表示部402の構成及び動作は実施の形態1と同様であるので説明を省略する。
また、メモリ401の構成は実施の形態1と同様であり、メモリ401の記憶している合成指示テーブル212、ペイント画像、122写真画像124・・・は、それぞれ、実施の形態2及び実施の形態1において説明した通りであるので説明を省略する。また、合成画像データ414は、その生成の過程は異なるが、データの構成は実施の形態1において説明した合成画像データ127と同一であるので、説明を省略する。加工用データ群453及び補整用データ群454については後述する。
(1)合成制御部441
合成制御部441は、合成画像データの生成の過程において、図示していないが、各機能へ制御信号を出力し動作を制御する機能を有する。
合成制御部441は、主制御部404から、画像合成を指示される。画像合成を指示されると、合成制御部441は、合成指示テーブル212を構成する合成情報のうち、重ねあわせ順の小さいものから順に合成情報を読み出し、全ての合成情報について、以下の処理を繰り返す。
先ず、合成制御部441は、読み出した合成情報に含まれるデータ形式を形式変換部442へ出力する。次に、変形情報及び、画質補整情報をそれぞれ、変形エンジン447及び補整エンジン449へ出力する。次に、合成エンジン443へ出力位置、透過率、画像サイズを出力する。
次に、合成制御部441は、読み出した合成情報と対応する画像データを形式変換部442へ出力する。
全ての合成情報について、上記の処理終えると、合成制御部441は、合成エンジン443の動作を監視し、合成エンジン443による合成途中画像データの書き戻しが終了すると、合成バッファ444の記憶している合成途中画像データを読み出し、読み出した合成途中画像データを、合成画像データ414としてメモリ401へ書き込む。
(2)形式変換部442
形式変換部442は、合成制御部441からデータ形式と画像データとを受け取る。
これらを受け取ると、受け取ったデータ形式に従って1ビット長の形式フラグPを生成する。形式フラグP=1は、RGB形式を示し、P=0はYUV形式を示す。
次に、形式変換部442は、受け取った画像データのデータ形式をR8G8B8形式に変換して変換済画像データを生成する。変換の詳細な手順は、実施の形態1において述べているので、ここでは説明を省略する。次に、生成した形式フラグPと変換済画像データとを変形エンジン447へ出力する。
(3)変形用メモリ446
変形用メモリ446は、RAMから構成され、ここでは加工用データ群451を記憶している。これは、メモリ401の記憶している加工用データ群453と同一である。
加工用データ群451には、拡大、縮小、回転、反転といった加工に用いられる複数のデータを含んでいる。具体的には実施の形態1において説明した、グラフィック向けの拡大用データA113、縮小用データA114、反転用データ115、回転用データA116・・・、自然画向けの拡大用データB、縮小用データB、反転用データB、回転用データB・・・を含む。
(4)変形エンジン447
変形エンジン447は、合成制御部441から、変形情報を受け取り、形式変換部442から、形式フラグPと変換済画像データとを受け取る。
これらを受け取ると、変形エンジン447は、受け取った形式フラグPと変形情報を基に、変形用メモリ446に記憶されている加工用データ群から最適な加工用データを読み出す。読み出した加工用データを用いて、受け取った変換済画像データを加工し、変形済画像データを生成する。
例えば、形式フラグP=1、変形情報「0.8倍」を受け取ると、自然画向けの縮小用データBを読み出し、読み出した縮小用データBと変形情報に含まれる倍率「0.8」とを用いて、受け取った変換済画像データに縮小処理を施して変形済画像データを生成する。
次に、変形エンジン447は、生成した変形済画像データと、受け取った形式フラグPとを、補整エンジン449へ出力する。
なお、合成制御部441から受け取った合成情報が「不要」である場合、受け取った変換済画像データを、そのまま、変形済画像データとして出力する。
(5)補整用メモリ448
補整用メモリ448は、RAMから構成され、ここでは補整用データ群452を記憶している。これは、メモリ401の記憶している補整用データ群454と同一である。
補整用データ群452には、画質補整に用いられる複数のデータを含んでいる。具体的には実施の形態1において説明した、グラフィック向け補整用データA117及び自然画向けの補整用データB118を含む。
(6)補整エンジン449
補整エンジン449は、合成制御部441から画質補整情報を受け取る。また、変形エンジン447から、変形済画像データと形式フラグPとを受け取る。
これらを受け取ると、補整エンジン449は、画質補整情報と形式フラグPを基に、補整用データ群452から最適な補整用データ選択し、選択した補整用データを読み出す。
次に、補整エンジン449は、読み出した補整用データを用いて、受け取った変形済画像データに画質補整処理を施して、補整済画像データを生成する。
例えば、形式フラグP=1、変形情報「要」を受け取ると、自然画向けの補整用データBを読み出し、読み出した補整用データBを用いて変形済画像データに画質補整処理を施して補整済画像データを生成する。
次に、補整エンジン449は、生成した補整済画像データと受け取った形式フラグPとを合成エンジン443へ出力する。
なお、合成制御部441から受け取った画質補整情報が「不要」であれば、上記の処理は行わず、受け取った変形済画像データをそのまま、補整済画像データとして出力する。
(7)合成バッファ444
合成バッファ444は、RAMから構成され、合成エンジン443による合成
途中の画像データを記憶する。合成バッファ444の記憶する合成途中画像データのデータ形式はP1X7R8G8B8形式である。
また、起動時、初期化後の合成バッファ444の記憶しているデータについては、上記の実施の形態1及において説明した通りである。
(8)合成エンジン443
合成エンジン443は、合成制御部441から出力位置、透過率及び画像サイズを受け取る。また、合成エンジン443は、補整エンジン449から、補整済画像データと形式フラグPとを受け取る。ここで受け取る画像サイズは、補整済画像データにより生成される補整済画像のデータサイズと一致する。
説明の便宜上、合成途中画像データに基づいて生成される合成途中画像において、出力位置を起点とし、画像サイズにより定まる範囲を合成対象範囲と呼ぶ。
これらのデータを受け取ると、合成エンジン443は、合成バッファ444から合成途中画像データを読み出す。読み出した合成画像データのうち、合成対象範囲に対応する部分と、補整済画像データとを合成する。合成の詳細については、実施の形態1において説明した通り、各色のデータと透過率とを用いて算出する。
続いて、合成対象範囲の各ピクセルデータの第1ビットを受け取った形式フラグPに書き換えて、合成途中画像データを更新する。
次に、合成エンジン443は、更新後の合成途中画像データを合成バッファ444に書き戻す。
(9)主制御部404
主制御部404は、図面上には記載していない制御信号を、各機能部へ出力し、その動作を制御する機能を有する。
主制御部404は、入力部403を介して、利用者による合成画像の生成要求を受け付ける。合成画像の生成要求を受け付けると、主制御部404は、変形用メモリ446及び補整用メモリ448を初期化する。次に、メモリ401から加工用データ群453を読み出し、変形用メモリ446へ書き込む。次に、メモリ301から補整用データ群454を読み出し、補整用メモリ448へ書き込む。なお、これらのデータの書き込みのタイミングはこれに限るものではなく、画像合成装置400の起動時であっても良いし、画像合成の指示時(後述)後に合成制御部441により書き込まれるとしてもよい。
次に、主制御部404は、所定の選択画面及び入力画面を、表示部402に表示し、合成の対象となる画像の選択、加工の要否、補整の要否の入力を受け付ける。受け付けたデータを基に合成指示テーブル212を生成し、生成した合成指示テーブル212をメモリ401に書き込む。続いて、合成制御部441へ、画像合成を指示する。
また、主制御部404は、利用者の操作に従って、合成画像データ414を基に合成画像を生成し、表示部402に表示する。このとき、利用者により、合成画像中の位置(画素)が指定されると、合成画像データの加工の制御を行う。合成画像データの加工の制御については、実施の形態1と同様であるのでここでは、説明を省略する。
4.3 動作
以下に本発明の、画像合成装置400の動作について図面を用いて説明する。なお、合成画像データの加工処理における、画像合成装置400の動作は、実施の形態1と同様であるので、ここでは、説明を省略する。
(1)画像合成の動作
画像合成を要求する利用者の操作を受け付けると、画像合成装置400は、画像合成の処理を開始する。
図26〜図28は、画像合成処理における画像合成装置400の動作を示したフローチャートである。以下に、図26〜図28を用いて、画像合成処理における画像合成装置400の動作について説明する。
利用者の操作により画像合成が要求されると、主制御部404は、変形用メモリ446と補整用メモリ448とを初期化し、メモリ401から加工用データ群453を読み出し、読み出した加工用データ群453を、変形用メモリ446にを書き込む。また、メモリ401から補正用データ群454を読み出し、読み出した補正用データ群454を、補整用メモリ448に書き込む(ステップS401)。
次に、主制御部404は、入力部403を介して、合成対象となる画像の選択、表示位置、重ね合わせ順、加工の要否、画質補整の要否の入力を受け付ける(ステップS402)。主制御部404は、受け付けたデータを基に合成指示テーブル212を生成してメモリ301に書き込み、合成制御部441に画像合成を指示する(ステップS404)。
合成制御部441は、合成指示テーブル212に含まれる合成情報を、重ね合わせ順が最小のものから順に読み出す(ステップS406)。このとき、全ての合成情報が既に読み出し済みであれば(ステップS407のYES)、主制御部404は、ステップS408へ処理を移す。
全ての合成情報が読み出し済みでなければ(ステップS407のNO)、合成制御部441は、読み出した合成情報に含まれるデータ形式を形式変換部442へ出力する(ステップS411)。
次に、合成制御部441は、読み出した合成情報に含まれる変形情報を変形エンジン447へ出力する(ステップS412)。次に、合成制御部441は、読み出した合成情報に含まれる画質補整情報を補整エンジン449へ出力する(ステップS413)。
続いて、合成制御部441は、読み出した合成情報に含まれる出力位置、透過率及び画像サイズを合成エンジン443へ出力する(ステップS414)。
次に、合成制御部441は、読み出した合成情報と対応する画像データをメモリ401から読み出し、読み出した画像データを形式変換部442へ出力する(ステップS416)。
形式変換部442は、データ形式と画像データとを受け取る。受け取ったデータ形式がRGB形式であることを示していれば、(ステップS417の「RGB」)、形式変換部442は、形式フラグP=1を生成する(ステップS418)。受け取ったデータ形式が、YUV形式であることを示していれば(ステップS417のYUV)、形式フラグP=0を生成する(ステップS419)。
次に、形式変換部442は、受け取ったデータ形式に基づいて、受け取った画像データをR8G8B8形式に変換して変換済画像データを生成する(ステップS421)。続いて、生成した変換済画像データと形式フラグPとを変形エンジン447へ出力する(ステップS422)。
変形エンジン447は、変形情報と形式フラグPと変換済画像データとを受け取る。受け取った変形情報が「不要」でなければ(ステップS424のNO)、変形エンジン447は、受け取った形式フラグPと変形情報とを基に、加工用データ群451の中から最適な加工用データを選択し、選択した加工用データを変形用メモリ446から読み出す(ステップS426)。
次に、変形エンジン447は、読み出した加工用データを用いて、受け取った変形済画像データを加工して、変形済画像データを生成する(ステップS427)。次に、変形エンジン447は、生成した変形済画像データと受け取った形式フラグPとを補整エンジン449へ出力する(ステップS428)。
受け取った変形情報が「不要」であれば(ステップS424のYES)、受け取った変換済画像データを、そのまま、変形済画像データとして補整エンジン449へ出力する(ステップS431)。続いて、受け取った形式フラグPを補整エンジン449へ出力する(ステップS432)。
補整エンジン449は、補整情報、形式フラグP及び変形済画像データを受け取る。受け取った補整情報が「不要」でなければ(ステップS433のNO)、補整エンジン449は、受け取った形式フラグPを基に、補整用データ群452の中から最適な補整用データを選択し、選択した補整用データを補整用メモリ448から読み出す(ステップS434)。次に、補整エンジン449読み出した補整用データを用いて受け取った変形済画像データに画質補整処理を施し、補整済画像データを生成する(ステップS436)。
続いて、補整エンジン449は、受け取った形式フラグPと生成した補整済画像データとを合成エンジン443へ出力する(ステップS437)。
受け取った補整情報が「不要」であれば(ステップS433のYES)、補整エンジン449は、受け取った変形済画像データを、そのまま、補整済画像データとして合成エンジン443へ出力する(ステップS441)。続いて受け取った形式フラグPを合成エンジン443へ出力する(ステップS442)。
合成エンジン443は、出力位置、透過率、画像サイズ、補整済画像データ及び形式フラグを受け取る。これらを受け取ると、合成エンジン443は、合成バッファ444から、合成途中画像データを読み出す(ステップS443)。読み出した合成途中画像データのうち、合成対象範囲に対応する部分と補整画像データとを合成する(ステップS444)。続いて、合成エンジン443は、合成対象範囲に対応する部分の各ピクセルデータの第1ビットを受け取った形式フラグPに書き換えて合成途中画像データを更新する(ステップS446)。
次に、合成エンジン443は、更新後の合成途中画像データを合成バッファ444に書き戻す(ステップS447)。

全ての合成情報について、これらの処理が終了すると(ステップS407のYES)、合成制御部441は、合成バッファ444の保持している合成途中画像データを読み出し、合成画像データとして、メモリ401へ書き込む(ステップS408)。次に、主制御部404は、メモリ401から合成画像データ414を読み出し、読み出した合成画像データを基に合成画像を生成して表示部402へ表示する(ステップS409)。
4.4 まとめ
以上説明してきたように、本実施の形態では、先ず形式変換部が、合成対象となる画像データの形式をR8G8B8に変換すると共に、変換前の画像データの形式を示す形式フラグを生成する。合成前において、各画像データに加工や画質補整を施す際には、各エンジンは、それぞれに付随する変形用メモリ又は補整用メモリから、形式フラグを基に、迅速に、最適な加工用データ又は補整用データを選択し、読み出すことができる。
5.その他の変形例
本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の各実施の形態では、ピクセルデータ毎に形式フラグ(実施の形態3では属性フラグ)Pを生成しているが、これに限定されるものではなく、合成画像データ中において、合成前の画像データと対応する部分とその部分に対応するフラグPが特定できれば良い。
実施の形態1を例にすると、形式変換部142は、合成制御部141からデータ形式を受け取り、受け取ったデータ形式に従って、1ビット長の形式フラグPを生成する。
続いて、形式変換部142は、入力画像データを受け取り、受け取った入力データのデータ形式を例えば、R8G8B8形式に変換して、変換済画像データを生成する。
次に、形式変換部142は、生成した形式フラグPと変換済画像データとを合成エンジンへ出力する。
ここで、合成バッファ144の保持する合成途中画像データ及びメモリ101に記憶される合成画像データは、いずれもR8G8B8形式であるとする。
合成エンジン143は、合成制御部141から透過率と重ねあわせ順と出力座標と画像サイズとを受け取る。また、形式変換部142から、形式フラグPと変換済画像データとを受け取る。これらを受け取ると、合成バッファ144から、合成途中画像データを読み出す。受け取った透過率を用いて、読み出した合成途中画像データと変換済画像データとを合成する。続いて、受け取った形式フラグPと重ねあわせ順と出力座標と画像サイズからなる属性情報を生成する。次に、合成後の画像データにより合成バッファ144の保持する合成途中画像データを更新する。次に、生成した属性情報を合成バッファ144に書き込む。
合成エンジン143は、透過率と出力座標と画像サイズと形式フラグPと変換済画像データを受け取る度に、同様にして合成途中画像データの更新、属性情報の生成及び書き込みを繰り返す。
ここで生成される属性情報は、それぞれ、合成画像中の領域151a、152a、153a及び154a各領域に含まれる画素に対応する形式フラグを示す。
次に、利用者の操作によりポインタ161の示す位置を中心とする拡大要求を受け付けると、主制御部104は、拡大の対象となる二次利用範囲を決定する。
続いて、主制御部104は、実施の形態1と同様にして、二次利用範囲に含まれる各画素について、拡大処理を施す。このとき、主制御部104は、処理の対象となっている画素を含む領域を示す属性情報を検出し、検出した属性情報に含まれる形式フラグPを用いる。処理の対象となっている画素を含む属性情報が複数検出された場合、主制御部104は、検出された属性情報に含まれる重ね合わせ順を比較し、最大の重ね合わせ順を含む属性情報を採用する。
処理の対象となっている画素を含む属性情報が検出できなければ、主制御部104は、背景画像に対応する形式フラグ(ここではP=0)を用いて、拡大処理を行う。
他の実施の形態でも同様に、合成画像上における各画像の占める領域を示す情報と形式フラグ(又は属性フラグ)と、重ね合わせ順とからなる属性情報を記憶しておいてもよい。このようにすることで、画素ごとに形式フラグを記憶しておく必要がなくなり、総データ量を削減することができる。
(3)実施の形態1において、主制御部104は、合成画像データのうちの二次利用範囲の各ピクセルデータに含まれる形式フラグPの値によって、加工用データ、補整用データを選択し、それぞれ、変形用メモリ146及び補整用メモリに書き込んでいる。
しかし、これは、一例であって、例えば、主制御部104は、利用者が指定した位置(画素)に対応するピクセルデータに含まれる形式フラグの値によって選択した加工用データ及び補整用データを一度だけ変形用メモリ146及び補整用メモリ148に書き込み。変形エンジン147及び補整エンジン149は、それぞれ、変形用メモリ146及び補整用メモリ148に書き込まれたデータを用いて、二次利用範囲と対応する全てのピクセルデータの加工及び補整を行う構成であっても良い。
実施の形態2、3、4においても同様に、利用者の選択した画素に対応する形式フラグP(実施の形態3においては、属性フラグP)を基に、二次利用範囲の加工及び補整に用いられるデータを、一度だけ選択し、それぞれ、変形用メモリ及び補正用メモリに書き込むとしてもよい。
又は、二次利用範囲に含まれる各画素に対応するP値のうち、値が1のものの総数と、値が0のものの総数を比較し、値の大きい方のP値に従って、加工及び補整に用いられるデータを選択し、各メモリに1度だけ書き込むとしても良い。
なお、実施の形態3の場合は、P値のうち、第1ビットと第2ビットそれぞれについて、総数の比較を行う。
(4)各実施の形態において、合成エンジンは、合成バッファから合成途中画像データ(実施の形態2においては、これに加えて、形式フラグ群)を読み出し、合成処理を行っているが、合成制御部から受け取った透過率が「0」の場合、読み出しは行わず、合成途中画像データのうち、合成対象範囲に対応する部分を、受け取った画像データにより上書きする構成であっても良い。
(5)実施の形態1では、合成前の画像データの形式を示すフラグは1ビット長であって、「0」はRGB形式、「1」はYUV形式であるとしたがこれに限定されるものではない。
例えば、YUV形式には、データのまとめ方が異なるパックド方式とプラナー方式の2種類の方式がある。さらに、データの間引き方によりYUV420、YUV422など数種類の形式がある。
形式フラグPは、これらの違いも含めた形式を示す複数ビット長のデータであってもよい。具体的には、第1ビットは、RGB形式かYUV形式かを示し、第2ビットは、パックド方式かプラナー方式かを示し、第3ビット(又は第3ビット以後の数ビット)は、YUV形式におけるデータの間引き方を示すとしてもよい。
(6)実施の形態2において、形式変換部242は、入力された補整済画像データのデータ形式を、R8G8B8形式に変換しているが、これに限定されるものではない。
例えば、R5G6B5形式にすることにより、生成される合成画像データのアドレス管理を容易にする構成であっても良い。
(7)実施の形態3では、説明を容易にするために、画像合成装置300は、複数の画像データをそのまま又は拡大して合成する装置であるとして説明してきた。しかし、他の実施の形態同様に、拡大以外にも、縮小、反転、回転などの加工を施した後合成するとしても良い。この場合、属性ビットは、8ビット以下のデータであって、各ビットが、それぞれの処理の有無を示す。
具体的には、第1ビットは拡大の有無、第2ビットは、縮小の有無、第3ビットは、反転の有無・・・を示す構成であってもよい。
(8)上記の実施の形態1、2、4では、Pの値は合成前の画像データのデータ形式を示しており、実施の形態3では、合成前の加工及び画質補整処理の有無を示しているがこれに限定されるものではない。
例えば、各画像データを生成したソフトウェアの種類が考えられる。具体的には、ペイント画像ソフトウェア、写真画像データを生成するソフトウェアが該当する。また、実施の形態では複数の画像データを合成するとしてきたが、画像データに限らず、文書作成ソフトウェアにより作成されたテキストデータ、表計算ソフトウェアにより作成された表なども合成する構成であっても良い。
この場合、形式変換部は、各データをRGB形式の画像データに変換すると共に、変換前のデータの種類及び形式を示す数ビット長の形式フラグを生成する。
(9)上記の実施の形態1〜4及び変形例では、各画像データは、画像合成装置内のメモリに記憶されているが、これに限定されるものではない。
例えば、入力部は、可搬型記憶媒体を装着する機構及び記録装置を接続する機構を備え、利用者は、画像合成装置内のメモリ、外部の記録媒体及び記録装置に記憶されている画像データの中から、合成の対象となる画像データを選択する構成であってもよい。
また、生成された合成画像データ、加工画像データを内部のメモリに書き込むとしているが、これに限定されるものではなく、外部の記録媒体、記録装置などへ出力する構成であっても良い。
また、上記の実施の形態及び変形例では、画像合成装置が合成画像データを生成し、さらに、加工画像データを生成しているが、加工画像データを外部機器又は、記録媒体などへ出力し、外部機器が合成画像データを基に加工画像データを生成しても良い。
(10)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM、ROM、前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(11)上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
(12)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM、などから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
(13)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(14)また、上記実施例におけるメモリカード、SIMカードの機能ブロックの全てが集積回路であるLSIとして実現される場合も本発明に含まれる。また、機能ブロックの全てに限らず一部がLSIとして実現される場合も本発明に含まれる。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)やLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
更には、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応などが可能性として有り得る。
(15)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明は、画像データを合成して出力する装置、合成された画像データを下降する装置を製造、販売する産業、及び、これらの装置を用いて各種のサービスを提供する産業において、経営的、反復的に利用可能である。
100 画像合成装置
101 メモリ
102 表示部
103 入力部
104 主制御部
105 画像処理部
141 合成制御部
142 形式変換部
143 合成エンジン
144 合成バッファ
146 変形用メモリ
147 変形エンジン
148 補整用メモリ
149 補整エンジン

Claims (18)

  1. 複数の画像データを合成して合成画像データを生成する画像合成装置であって、
    合成対象となる複数の対象画像データと、各対象画像データの生成時におけるコード化に係る属性情報とを取得する取得手段と、
    取得した複数の前記対象画像データを合成して前記合成画像データを生成する合成手段と、
    前記合成画像データのうち、各対象画像データと対応する部分に各属性情報を対応付ける対応付手段と
    を備えることを特徴とする画像合成装置。
  2. 前記複数の対象画像データは、それぞれ、異なるデータ形式の入力画像データを、何れか一つのデータ形式に統一して生成され、
    前記取得手段は、各対象画像データと対応する入力画像データのデータ形式を示す前記属性情報を取得する
    ことを特徴とする請求項1に記載の画像合成装置。
  3. 前記複数の対象画像データの何れかは、入力画像データを加工して生成されたものであって、
    前記取得手段は、各対象画像データの加工履歴を示す前記属性情報を取得する
    ことを特徴とする請求項1に記載の画像合成装置。
  4. 前記合成画像データにおいて、2以上の対象画像データと対応する部分の少なくとも一部が重複する場合、
    前記対応付手段は、前記合成画像データから生成される合成画像上において、前記一部に相当する領域の最前面に表示される対象画像と対応する対象画像データの属性情報を前記一部に対応付ける
    ことを特徴とする請求項1に記載の画像合成装置。
  5. 前記合成画像データは、複数のピクセルデータから構成され、
    前記対応付手段は、前記合成画像データのうち、各対象画像データと対応する部分を構成する各ピクセルデータそれぞれに、該当する属性情報を対応付ける
    ことを特徴とする請求項1に記載の画像合成装置。
  6. 前記対応付手段は、
    16ビットの偶数倍のビット数を1単位としてデータを記憶する記憶部と、
    1ピクセルデータのビット長及び前記属性情報のビット長との和が16ビットの偶数倍になるようなビット長の補完データを生成する補完部と、
    前記記憶部に、前記合成画像データを構成する各ピクセルデータと、当該ピクセルデータに対応する属性情報と前記補完データを連続して書き込む書込部とを含む
    ことを特徴とする請求項5に記載の画像合成装置。
  7. 前記属性情報は、対応する対象画像データの生成時におけるコード化に係る特性を示す最小ビット数のデータであって、
    前記対応付手段は、
    データを記憶する記憶部と、
    前記合成画像データを構成するピクセルデータ群と、各ピクセルデータに対応する属性情報群とを前記記憶部に書き込む書込部とを含む
    ことを特徴とする請求項5に記載の画像合成装置。
  8. 前記対応付手段は、
    データを記憶する記憶部と、
    前記合成画像データにおける各対象画像データと対応する部分を示す部分情報を生成する生成部と、
    各部分情報及び対応する属性情報を、前記記憶部に書き込む書込部とを含む
    ことを特徴とする請求項1に記載の画像合成装置。
  9. 前記合成手段は、
    各属性情報に基づき加工アルゴリズムを選択する選択部と、
    選択された加工アルゴリズムに基づき各属性情報と対応する対象画像データを加工する加工部と、
    加工後の対象画像データ群を合成する合成部と
    を含むことを特徴とする請求項1に記載の画像合成装置。
  10. 前記画像合成装置は、さらに、
    前記合成画像データに対する加工指示を受け付ける受付手段と、
    前記合成画像データのうち、前記加工指示の対象となる部分に対応する前記属性情報を基に、加工アルゴリズムを選択する選択手段と、
    選択された加工アルゴリズムに従って前記合成画像データを加工する加工手段と
    を備えることを特徴とする請求項1に記載の画像合成装置。
  11. 前記選択手段は、
    前記加工指示の対象となる範囲内の1のピクセルデータに対応する前記属性情報を検出する検出部と、
    検出した属性情報に対応する加工アルゴリズムを選択する選択部と、
    前記加工指示の対象となる範囲内の全てのピクセルデータに関して前記検出及び選択の繰返しを指示する繰返制御部と
    を含み、
    前記加工手段は、選択された加工アルゴリズムに従い、前記加工指示の対象となる範囲内の各ピクセルデータを加工する
    ことを特徴とする請求項10に記載の画像合成装置。
  12. 前記加工指示は、所定の画素を示す位置情報を含み、
    前記選択手段は、前記合成画像データのうち、前記位置情報の示す画素に表示されるピクセルデータと対応する前記属性情報に基づいて前記加工アルゴリズムを選択する
    ことを特徴とする請求項10に記載の画像合成装置。
  13. 前記選択手段は、前記加工指示の対象となる部分の全てのピクセルデータに対応する前記属性情報を検出し、検出した属性情報群のうち、最多数を占める属性情報に基づいて、前記加工アルゴリズムを選択する
    ことを特徴とする請求項10に記載の画像合成装置。
  14. 複数の画像データを合成して合成画像データを生成する画像合成装置と、合成画像データを加工して加工画像データを生成する加工装置とから構成される画像データ利用システムであって、
    前記画像合成装置は、
    合成対象となる複数の対象画像データと、各対象画像データの生成時におけるコード化に係る属性情報とを取得する取得手段と、
    取得した複数の前記対象画像データを合成して前記合成画像データを生成する合成手段と、
    前記合成画像データのうち、各対象画像データと対応する部分に各属性情報を対応付ける対応付手段とを備え、
    前記加工装置は、
    前記合成画像データを取得するデータ取得手段と、
    前記合成画像データに対する加工指示を受け付ける受付手段と、
    前記合成画像データのうち、前記加工指示の対象となる部分に対応する前記属性情報を基に、加工アルゴリズムを選択する選択手段と、
    選択された加工アルゴリズムに従って前記合成画像データを加工する加工手段とを備える
    ことを特徴とする画像データ利用システム。
  15. 複数の画像データを合成して合成画像データを生成する画像合成装置において用いられる画像合成方法であって、
    合成対象となる複数の対象画像データと、各対象画像データの生成時におけるコード化に係る属性情報とを取得する取得ステップと、
    取得した複数の前記対象画像データを合成して前記合成画像データを生成する合成ステップと、
    前記合成画像データのうち、各対象画像データと対応する部分に各属性情報を対応付ける対応付ステップと
    を含むことを特徴とする画像合成方法。
  16. 複数の画像データを合成して合成画像データを生成する画像合成装置において用いられる画像合成プログラムであって、
    合成対象となる複数の対象画像データと、各対象画像データの生成時におけるコード化に係る属性情報とを取得する取得ステップと、
    取得した複数の前記対象画像データを合成して前記合成画像データを生成する合成ステップと、
    前記合成画像データのうち、各対象画像データと対応する部分に各属性情報を対応付ける対応付ステップと
    を含むを特徴とする画像合成プログラム。
  17. 前記画像合成プログラムは、
    コンピュータ読み取り可能な記録媒体に記憶されている
    ことを特徴とする請求項13に記載の画像合成プログラム。
  18. 複数の画像データを合成して合成画像データを生成する画像合成装置に搭載される集積回路であって、
    合成対象となる複数の対象画像データと、各対象画像データの生成時におけるコード化に係る属性情報とを取得する取得手段と、
    取得した複数の前記対象画像データを合成して前記合成画像データを生成する合成手段と、
    前記合成画像データのうち、各対象画像データと対応する部分に各属性情報を対応付ける対応付手段と
    を備えることを特徴とする集積回路。
JP2008539698A 2006-10-19 2007-09-11 画像合成装置、画像合成方法、画像合成プログラム、集積回路 Expired - Fee Related JP4814337B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008539698A JP4814337B2 (ja) 2006-10-19 2007-09-11 画像合成装置、画像合成方法、画像合成プログラム、集積回路

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006284529 2006-10-19
JP2006284529 2006-10-19
PCT/JP2007/067631 WO2008047518A1 (fr) 2006-10-19 2007-09-11 Dispositif de synthèse d'image, procédé de synthèse d'image, programme de synthèse d'image, circuit intégré
JP2008539698A JP4814337B2 (ja) 2006-10-19 2007-09-11 画像合成装置、画像合成方法、画像合成プログラム、集積回路

Publications (2)

Publication Number Publication Date
JPWO2008047518A1 true JPWO2008047518A1 (ja) 2010-02-25
JP4814337B2 JP4814337B2 (ja) 2011-11-16

Family

ID=39313768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008539698A Expired - Fee Related JP4814337B2 (ja) 2006-10-19 2007-09-11 画像合成装置、画像合成方法、画像合成プログラム、集積回路

Country Status (4)

Country Link
US (1) US8179403B2 (ja)
JP (1) JP4814337B2 (ja)
CN (1) CN101529465B (ja)
WO (1) WO2008047518A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8243098B2 (en) * 2009-06-16 2012-08-14 Mitre Corporation Authoritative display for critical systems
JP2011109245A (ja) * 2009-11-13 2011-06-02 Renesas Electronics Corp 画像処理装置及び画像処理方法
WO2011070631A1 (ja) * 2009-12-11 2011-06-16 三菱電機株式会社 画像合成装置及び画像合成プログラム
US8570617B2 (en) * 2010-11-30 2013-10-29 Kyocera Mita Corporation Image reading apparatus for reading adjustment document used for image adjustment, image forming apparatus with image reading apparatus and adjustment document used in image reading apparatus
US8836727B2 (en) 2010-12-22 2014-09-16 Apple Inc. System level graphics manipulations on protected content
JP2013200639A (ja) * 2012-03-23 2013-10-03 Canon Inc 描画データ生成装置、描画データ生成方法、プログラム、および描画データ生成システム
KR101978239B1 (ko) * 2012-06-22 2019-05-14 삼성전자주식회사 컨텐츠를 편집하는 방법 및 그 전자 장치
JP2014068274A (ja) * 2012-09-26 2014-04-17 Olympus Imaging Corp 画像編集装置、画像編集方法、およびプログラム
JP2014067310A (ja) * 2012-09-26 2014-04-17 Olympus Imaging Corp 画像編集装置、画像編集方法、およびプログラム
KR20140112891A (ko) * 2013-03-14 2014-09-24 삼성전자주식회사 미디어 편집을 위한 영역 선택 처리 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
KR102047704B1 (ko) * 2013-08-16 2019-12-02 엘지전자 주식회사 이동 단말기 및 이의 제어 방법
AU2013248213A1 (en) 2013-10-24 2015-05-14 Canon Kabushiki Kaisha Method, apparatus and system for generating an attribute map for processing an image
JP6450589B2 (ja) 2014-12-26 2019-01-09 株式会社モルフォ 画像生成装置、電子機器、画像生成方法及びプログラム
KR101967819B1 (ko) * 2017-11-02 2019-04-10 주식회사 코난테크놀로지 타일 영상 기반 다중 재생을 위한 영상 처리장치 및 그 타일 영상 구성방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61156091A (ja) 1984-12-27 1986-07-15 株式会社東芝 カ−ソル制御装置
US5638498A (en) * 1992-11-10 1997-06-10 Adobe Systems Incorporated Method and apparatus for reducing storage requirements for display data
JP3814456B2 (ja) * 2000-02-07 2006-08-30 キヤノン株式会社 画像処理装置及びその方法
JP2003310602A (ja) 2002-04-19 2003-11-05 Fuji Photo Film Co Ltd 画像表示装置
JP2003317078A (ja) * 2002-04-23 2003-11-07 Konica Minolta Holdings Inc 画像管理方法、プログラム、及び記録媒体
JP2003320715A (ja) * 2002-04-30 2003-11-11 Canon Inc 情報処理装置、情報処理システム、情報出力制御方法、記憶媒体、及びプログラム
US7715640B2 (en) * 2002-11-05 2010-05-11 Konica Minolta Business Technologies, Inc. Image processing device, image processing method, image processing program and computer-readable recording medium on which the program is recorded
WO2004091198A1 (ja) * 2003-04-09 2004-10-21 Matsushita Electric Industrial Co., Ltd. Osd合成画像復号装置、osd合成画像復号方法、プログラム、記録媒体
JP4095530B2 (ja) 2003-10-01 2008-06-04 キヤノン株式会社 画像処理装置及び方法
US8612847B2 (en) * 2006-10-03 2013-12-17 Adobe Systems Incorporated Embedding rendering interface
JP5031668B2 (ja) * 2008-05-30 2012-09-19 キヤノン株式会社 印刷装置、その制御方法、プログラム

Also Published As

Publication number Publication date
US20100079492A1 (en) 2010-04-01
JP4814337B2 (ja) 2011-11-16
CN101529465A (zh) 2009-09-09
CN101529465B (zh) 2012-07-04
US8179403B2 (en) 2012-05-15
WO2008047518A1 (fr) 2008-04-24

Similar Documents

Publication Publication Date Title
JP4814337B2 (ja) 画像合成装置、画像合成方法、画像合成プログラム、集積回路
JP2618101B2 (ja) 画像のレイアウト処理方法
JP2011049650A (ja) 画像処理装置及び画像処理方法
CN107529005B (zh) 用于显示图像的显示设备和显示控制方法
KR20090041169A (ko) 디지털 이미지 처리장치, 그 제어방법, 제어방법을실행시키기 위한 프로그램을 저장한 기록매체 및 디지털이미지 압축방법
US20110134208A1 (en) Panoramic image synthesizer, panoramic image synthesis method, and program
JP4079163B2 (ja) 投影型画像表示装置
US20010004258A1 (en) Method, apparatus and recording medium for generating composite image
US9723286B2 (en) Image processing apparatus and control method thereof
JP3812563B2 (ja) 画像処理装置及びプログラム
JP2009094902A (ja) 画像合成装置、画像合成方法、プログラムおよび記録媒体
JP2010091723A (ja) ビデオ信号処理システム及びその方法
JP4416031B2 (ja) 画像処理装置、画像処理方法及びそれらの機能を実現するためのコンピュータプログラム並びにそのコンピュータプログラムを記録した記録媒体
JP3700623B2 (ja) 投影型画像表示装置
JP2002325171A (ja) 画像合成処理装置及び画像合成プログラム
JPS59276A (ja) 画像編集回路
JPH0981724A (ja) 画像処理装置及びその方法
JP2006215146A (ja) 画像表示装置及び画像表示方法
JP2014216668A (ja) 撮像装置
JP5783740B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP3839973B2 (ja) 画像処理装置及び方法並びに記憶媒体
KR20050017060A (ko) 이미지 일괄 편집 시스템
JP2006330094A (ja) カラー画像表示装置、カラー画像表示方法、プログラムおよび記録媒体
JP2000155568A (ja) 画像表示制御装置及び画像表示制御方法
WO2014102990A1 (ja) 表示装置、及び表示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100301

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: 20110802

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: 20110825

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140902

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees