JP5033746B2 - Image processing apparatus, image processing method, and image processing program - Google Patents

Image processing apparatus, image processing method, and image processing program Download PDF

Info

Publication number
JP5033746B2
JP5033746B2 JP2008251314A JP2008251314A JP5033746B2 JP 5033746 B2 JP5033746 B2 JP 5033746B2 JP 2008251314 A JP2008251314 A JP 2008251314A JP 2008251314 A JP2008251314 A JP 2008251314A JP 5033746 B2 JP5033746 B2 JP 5033746B2
Authority
JP
Japan
Prior art keywords
canvas
page description
drawing object
description language
opaque
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.)
Expired - Fee Related
Application number
JP2008251314A
Other languages
Japanese (ja)
Other versions
JP2010086043A (en
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2008251314A priority Critical patent/JP5033746B2/en
Priority to US12/586,748 priority patent/US8314951B2/en
Publication of JP2010086043A publication Critical patent/JP2010086043A/en
Application granted granted Critical
Publication of JP5033746B2 publication Critical patent/JP5033746B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

透明度属性を有する描画オブジェクトと、該描画オブジェクトを描画する土台であり透明度属性を有するキャンバスとを表記可能であるページ記述言語をビットマップ変換する際に、該ビットマップ変換処理を高速に処理可能とし、かつメモリの利用効率を高める技術に関するものである。   When bitmap conversion is performed on a page description language that can represent a drawing object having a transparency attribute and a canvas that has a transparency attribute as a basis for drawing the drawing object, the bitmap conversion processing can be performed at high speed. In addition, the present invention relates to a technology for increasing the memory utilization efficiency.

XPS等のXML拡張形式で記述されたページ記述言語においては、透明度属性を有した描画オブジェクト(パスやフォントやイメージ等)及び前記描画オブジェクトの描画の土台となる透明度属性を有したキャンバスが複数層重なって存在させることが可能である。しかし、前記キャンバスによっては、透明度属性が不透明か又は完全に透明であり、かつ、描画オブジェクトが全く存在しないキャンバスがページ記述言語中に存在してしまう場合もあり、このようなキャンバスによって、無用な演算処理やメモリの消費が行われて、ページ記述言語の画像への変換処理を低速化させる原因となっていた。   In a page description language described in an XML extended format such as XPS, a drawing object having a transparency attribute (path, font, image, etc.) and a plurality of canvases having a transparency attribute as a basis for drawing the drawing object It is possible to overlap. However, depending on the canvas, there may be a canvas in the page description language in which the transparency attribute is opaque or completely transparent and the drawing object does not exist at all. Arithmetic processing and memory consumption are performed, which causes a slowdown in the conversion processing to the page description language image.

従来技術として、アルファブレンド演算処理の前にデバイスの色域に圧縮するか、デバイスの色域に圧縮してからアルファブレンド処理を行うかによって、レンダリング結果が異なるため、カラーマッチング手段によりどちらが適正化を判断して、より適切な方法を選択する方法があった(特許文献1参照)。   As a conventional technology, the rendering results differ depending on whether the device is compressed to the device color gamut before the alpha blend calculation processing or the device color gamut and then the alpha blend processing is performed. There is a method of determining a more appropriate method (see Patent Document 1).

しかし、この方法でも前記した無用なキャンバスが存在する場合に、該キャンバスにより消費されてしまうメモリと処理をなくして効率化を実現することはできなかった。
特開2006−345197号公報 XML Paper Specification, XPS Specification and Reference Guide Version 1.0
However, even in this method, when the above-described useless canvas exists, it is impossible to achieve efficiency by eliminating the memory and processing consumed by the canvas.
JP 2006-345197 A XML Paper Specification, XPS Specification and Reference Guide Version 1.0

解決しようとする問題点は、ページ記述言語を中間言語に変換する画像処理を行う画像処理装置、画像処理方法及び画像処理プログラムにおいて、透明度属性が不透明でかつ描画オブジェクトが存在しない無用なキャンバスにメモリと演算処理が消費されてしまい、ページ記述言語の高速化及びメモリの利用効率が実現できなかった点である。   The problem to be solved is that, in an image processing apparatus, an image processing method, and an image processing program for performing image processing for converting a page description language into an intermediate language, a memory is stored in a useless canvas in which a transparency attribute is opaque and a drawing object does not exist As a result, the calculation processing is consumed, and the speed of the page description language and the memory utilization efficiency cannot be realized.

請求項1記載の本発明の画像処理装置は、透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理装置であって、前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明のキャンバスを判定するキャンバスチェック部と、前記キャンバスチェック部により前記描画オブジェクトが存在せず、かつ不透明と判断されたキャンバスを、前記ページ記述言語から画像への変換処理の対象から外す描画データ変換部と、前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換する際に、前記キャンバスチェック部によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記中間言語への変換の際に取り除く中間言語変換部とを有することを最も主要な特徴とする。ここで、キャンバスとは、XML拡張形式のページ記述言語に記載される描画オブジェクト(パスやフォントやイメージ)を描画する土台となるオブジェクトのことで、透明度を示す透明度値、さらに透明度分布を表す透明度マスク等の透明度属性を有する。また、不透明とはキャンバスの透明度が1.0であることを言う。
請求項2記載の本発明の画像処理装置は、透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理装置であって、前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明のキャンバスを判定するキャンバスチェック部と、前記キャンバスチェック部により前記描画オブジェクトが存在せず、かつ不透明と判断されたキャンバスを、前記ページ記述言語から画像への変換処理の対象から外す描画データ変換部と、前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換する中間言語変換部と、前記中間言語変換部により変換された中間言語をビットマップ変換する際に、前記キャンバスチェック部により前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスをビットマップ変換の対象としない描画データ処理部とを有することを最も主要な特徴とする。
An image processing apparatus according to claim 1, wherein a page description language including a drawing object having a transparency attribute and a canvas having a transparency attribute serving as a basis for drawing the drawing object is converted into an image. A canvas check unit that determines a canvas having no drawing object on the canvas and having a transparency attribute opaque, and a canvas that is determined to be opaque by the canvas check unit without the drawing object. A drawing data conversion unit that excludes the page description language from an image conversion target, and when the canvas is described in a nested structure in the page description language, the page description language is changed to a nested structure of the canvas. When converting to an intermediate language while maintaining Therefore, the most important feature that it has an intermediate language conversion unit for removing the absent drawing object, and a is canvas determines the transparency attribute opaque upon conversion to the intermediate language. Here, the canvas is an object that serves as a basis for drawing objects (paths, fonts, and images) described in the page description language in the XML extension format. The transparency value indicating transparency and the transparency indicating the transparency distribution are also included. It has a transparency attribute such as a mask. Opaque means that the transparency of the canvas is 1.0.
3. The image processing apparatus according to claim 2, wherein a page description language including a drawing object having a transparency attribute and a canvas having a transparency attribute serving as a basis for drawing the drawing object is converted into an image. A canvas check unit that determines a canvas having no drawing object on the canvas and having a transparency attribute opaque, and a canvas that is determined to be opaque by the canvas check unit without the drawing object. A drawing data conversion unit that excludes the page description language from an image conversion target, and when the canvas is described in a nested structure in the page description language, the page description language is changed to a nested structure of the canvas. An intermediate language conversion unit for converting to an intermediate language while maintaining the intermediate language, and the intermediate language When the intermediate language converted by the conversion unit is converted into a bitmap, the drawing data processing in which the drawing object does not exist by the canvas check unit and the transparency attribute is determined to be opaque is not subject to bitmap conversion The main feature is to have a part.

請求項3記載の本発明の画像処理装置は、請求項1の画像処理装置であって、前記描画データ変換部は、前記キャンバスチェック部によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスについて、透明度属性の合成であるアルファブレンド演算のために必要なメモリ容量を確保しないことを主要な特徴とする。 The image processing apparatus of the present invention of claim 3 Symbol placement is an image processing apparatus according to claim 1, wherein the drawing data conversion unit, by the canvas checking unit, the drawing object is not present, and transparency attributes The main feature of the canvas determined to be opaque is that it does not secure the memory capacity necessary for the alpha blending operation, which is a composition of transparency attributes.

請求項4記載の本発明の画像処理装置は、前記ページ記述言語がXML(Extended Markup Language)拡張形式により記述されたものであることを特徴とする。   The image processing apparatus according to the present invention is characterized in that the page description language is described in an XML (Extended Markup Language) extended format.

請求項5記載の本発明の画像処理方法は、透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理方法であって、前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明なキャンバスを判定し、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記ページ記述言語から画像への変換処理の対象から外し、前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換し、前記変換された中間言語をビットマップ変換する際に、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスをビットマップ変換の対象としないことを最も主要な特徴とする。
請求項6記載の本発明の画像処理方法は、透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理方法であって、前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明なキャンバスを判定し、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記ページ記述言語から画像への変換処理の対象から外し、前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換し、前記変換された中間言語をビットマップ変換する際に、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスをビットマップ変換の対象としないことを最も主要な特徴とする。
6. The image processing method according to claim 5, wherein a page description language including a drawing object having a transparency attribute and a canvas having a transparency attribute as a basis for drawing the drawing object is converted into an image. A canvas in which no drawing object exists on the canvas and the transparency attribute is opaque is determined, and a canvas in which the drawing object does not exist and the transparency attribute is determined to be opaque is determined from the page description language. and out of the target of the conversion processing to the image, when said canvas is described nest, converting the page description language into an intermediate language while retaining the nested structure of the canvas in the page description language, the When the converted intermediate language is bitmap converted, the drawing object does not exist and the transparency Sex is the most important feature that is not used for the canvas bitmap conversion determining opaque.
7. The image processing method according to claim 6, wherein a page description language including a drawing object having a transparency attribute and a canvas having a transparency attribute as a basis for drawing the drawing object is converted into an image. A canvas in which no drawing object exists on the canvas and the transparency attribute is opaque is determined, and a canvas in which the drawing object does not exist and the transparency attribute is determined to be opaque is determined from the page description language. When the canvas is described in a nested structure in the page description language, the page description language is converted into an intermediate language while maintaining the canvas nested structure, and the conversion to the image is not performed. When the intermediate language is converted into a bitmap, the drawing object does not exist and the transparency Sex is the most important feature that is not used for the canvas bitmap conversion determining opaque.

請求項7記載の本発明の画像処理プログラムは、コンピュータに透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する機能を実現させる画像処理プログラムであって、前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明なキャンバスを判定するキャンバスチェック機能と、前記キャンバスチェック機能によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記ページ記述言語から画像への変換処理の対象から外す描画データ処理機能と、前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換する際に、前記キャンバスチェック機能によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記中間言語への変換の際に取り除く中間言語変換機能とをコンピュータに実現させることを最も主要な特徴とする。
請求項8記載の本発明の画像処理プログラムは、コンピュータに透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する機能を実現させる画像処理プログラムであって、前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明なキャンバスを判定するキャンバスチェック機能と、前記キャンバスチェック機能によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記ページ記述言語から画像への変換処理の対象から外す描画データ処理機能と、前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換する中間言語変換機能と、前記中間言語変換機能により変換された中間言語をビットマップ変換する際に、前記キャンバスチェック機能により前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスをビットマップ変換の対象としない描画データ処理機能とをコンピュータに実現させることを最も主要な特徴とする。
The image processing program of the present invention according to claim 7 is a function for converting a page description language including a drawing object having a transparency attribute into a computer and a canvas having a transparency attribute as a basis for drawing the drawing object into an image. An image processing program for realizing a canvas check function for determining a canvas in which a drawing object does not exist on the canvas and a transparency attribute is opaque, and the canvas check function does not exist the drawing object, And a drawing data processing function for excluding a canvas whose transparency attribute is determined to be opaque from a target of conversion processing from the page description language to an image, and when the canvas is described in a nested structure in the page description language, The page description language is nested in the canvas. When converting to an intermediate language while maintaining the image, the canvas check function removes the canvas in which the drawing object does not exist and the transparency attribute is determined to be opaque when converting to the intermediate language. The most important feature is that the function is realized by a computer.
The image processing program of the present invention according to claim 8 is a function for converting a page description language including a drawing object having a transparency attribute into a computer and a canvas having a transparency attribute as a basis for drawing the drawing object into an image. An image processing program for realizing a canvas check function for determining a canvas in which a drawing object does not exist on the canvas and a transparency attribute is opaque, and the canvas check function does not exist the drawing object, And a drawing data processing function for excluding a canvas whose transparency attribute is determined to be opaque from a target of conversion processing from the page description language to an image, and when the canvas is described in a nested structure in the page description language, The page description language is nested in the canvas. An intermediate language conversion function for converting to an intermediate language while maintaining the image, and when the intermediate language converted by the intermediate language conversion function is bitmap-converted, the canvas check function does not exist the drawing object, and the transparency attribute The most important feature is that the computer realizes a drawing data processing function that does not target the canvas for which the canvas is determined to be opaque.

請求項1記載の本発明の画像処理装置は、透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理装置であって、前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明のキャンバスを判定するキャンバスチェック部と、前記キャンバスチェック部により前記描画オブジェクトが存在せず、かつ不透明と判断されたキャンバスを、前記ページ記述言語から画像への変換処理の対象から外す描画データ変換部と、前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換する際に、前記キャンバスチェック部によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記中間言語への変換の際に取り除く中間言語変換部とを有することを最も主要な特徴とするため、ページ記述言語内でキャンバスとしての形は保っているが該キャンバス上に描画オブジェクトをもたず、透明度属性が不透明なキャンバスを画像処理対象から外すことにより演算処理の短縮化とメモリの利用効率を高めて画像変換処理が可能となった。また、ページ記述言語を中間言語に変換する段階で、前記不要とされるキャンバスの取り除きを行い、演算処理の短縮化とメモリの利用効率を高めて画像変換処理が可能となった。
請求項2記載の本発明の画像処理装置は、透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理装置であって、前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明のキャンバスを判定するキャンバスチェック部と、前記キャンバスチェック部により前記描画オブジェクトが存在せず、かつ不透明と判断されたキャンバスを、前記ページ記述言語から画像への変換処理の対象から外す描画データ変換部と、前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換する中間言語変換部と、前記中間言語変換部により変換された中間言語をビットマップ変換する際に、前記キャンバスチェック部により前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスをビットマップ変換の対象としない描画データ処理部とを有することを最も主要な特徴とするため、ページ記述言語内でキャンバスとしての形は保っているが該キャンバス上に描画オブジェクトをもたず、透明度属性が不透明なキャンバスを画像処理対象から外すことにより演算処理の短縮化とメモリの利用効率を高めて画像変換処理が可能となった。また、ビットマップ変換時に不用なキャンバスを取り除いてからビットマップ変換を行うため、演算処理の短縮化とメモリの利用効率を高めて画像変換処理が可能となった。
An image processing apparatus according to claim 1, wherein a page description language including a drawing object having a transparency attribute and a canvas having a transparency attribute serving as a basis for drawing the drawing object is converted into an image. A canvas check unit that determines a canvas having no drawing object on the canvas and having a transparency attribute opaque, and a canvas that is determined to be opaque by the canvas check unit without the drawing object. A drawing data conversion unit that excludes the page description language from an image conversion target, and when the canvas is described in a nested structure in the page description language, the page description language is changed to a nested structure of the canvas. When converting to an intermediate language while maintaining Therefore, since the most important feature that it has an intermediate language conversion unit for removing the absent drawing object, and a is canvas determines the transparency attribute opaque upon conversion to the intermediate language, a page description Although the shape as a canvas is maintained in the language, a canvas that does not have a drawing object on the canvas and the transparency attribute is opaque is excluded from the image processing target, thereby shortening the arithmetic processing and improving the memory utilization efficiency. Image conversion processing is now possible. Further, at the stage of converting the page description language into an intermediate language, the unnecessary canvas is removed, and the image conversion process can be performed by shortening the calculation process and increasing the memory use efficiency.
3. The image processing apparatus according to claim 2, wherein a page description language including a drawing object having a transparency attribute and a canvas having a transparency attribute serving as a basis for drawing the drawing object is converted into an image. A canvas check unit that determines a canvas having no drawing object on the canvas and having a transparency attribute opaque, and a canvas that is determined to be opaque by the canvas check unit without the drawing object. A drawing data conversion unit that excludes the page description language from an image conversion target, and when the canvas is described in a nested structure in the page description language, the page description language is changed to a nested structure of the canvas. An intermediate language conversion unit for converting to an intermediate language while maintaining the intermediate language, and the intermediate language When the intermediate language converted by the conversion unit is converted into a bitmap, the drawing data processing in which the drawing object does not exist by the canvas check unit and the transparency attribute is determined to be opaque is not subject to bitmap conversion The most important feature is that the canvas has a shape as a canvas in the page description language, but has no drawing object on the canvas and the transparency attribute is opaque. By removing this, image processing can be performed while shortening arithmetic processing and increasing memory utilization efficiency. In addition, since the bitmap conversion is performed after removing the unnecessary canvas at the time of the bitmap conversion, the image conversion processing can be performed by shortening the arithmetic processing and increasing the memory use efficiency.

請求項3記載の本発明の画像処理装置は、請求項1の画像処理装置であって、前記描画データ変換部は、前記キャンバスチェック部によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスについて、透明度属性の合成であるアルファブレンド演算のために必要なメモリ容量を確保しないことを主要な特徴とするため、メモリの利用効率がより高まった。 The image processing apparatus of the present invention of claim 3 Symbol placement is an image processing apparatus according to claim 1, wherein the drawing data conversion unit, by the canvas checking unit, the drawing object is not present, and transparency attributes For the canvas determined to be opaque, the main feature is not to secure the memory capacity necessary for the alpha blending operation, which is the synthesis of the transparency attribute, so the memory utilization efficiency has further increased.

請求項4記載の本発明の画像処理装置は、前記ページ記述言語がXML(Extended Markup Language)拡張形式により記述されたものであることを特徴とするため、XPS(XML Paper Specification)により記載されたページ記述言語中の不用なキャンバスを取り除くことが可能となった。 The image processing apparatus of the present invention of claim 4 Symbol mounting in order to, wherein the page description language is one that was described by XML (Extended Markup Language) extension, which is described by XPS (XML Paper Specification) It is now possible to remove unnecessary canvases in the page description language.

請求項5記載の本発明の画像処理方法は、透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理方法であって、前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明なキャンバスを判定し、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記ページ記述言語から画像への変換処理の対象から外し、前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換し、前記変換された中間言語をビットマップ変換する際に、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスをビットマップ変換の対象としないことを最も主要な特徴とするため、ページ記述言語内でキャンバスとしての形は保っているが該キャンバス上に描画オブジェクトをもたず、透明度属性が不透明なキャンバスを画像処理対象から外すことにより演算処理の短縮化とメモリの利用効率を高めて画像変換処理が可能となった。また、ページ記述言語を中間言語に変換する段階で、前記不要とされるキャンバスの取り除きを行い、演算処理の短縮化とメモリの利用効率を高めて画像変換処理が可能となった。
請求項6記載の本発明の画像処理方法は、透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理方法であって、前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明なキャンバスを判定し、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記ページ記述言語から画像への変換処理の対象から外し、前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換し、前記変換された中間言語をビットマップ変換する際に、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスをビットマップ変換の対象としないことを最も主要な特徴とするため、ページ記述言語内でキャンバスとしての形は保っているが該キャンバス上に描画オブジェクトをもたず、透明度属性が不透明なキャンバスを画像処理対象から外すことにより演算処理の短縮化とメモリの利用効率を高めて画像変換処理が可能となった。また、ビットマップ変換時に不用なキャンバスを取り除いてからビットマップ変換を行うため、演算処理の短縮化とメモリの利用効率を高めて画像変換処理が可能となった。
6. The image processing method according to claim 5, wherein a page description language including a drawing object having a transparency attribute and a canvas having a transparency attribute as a basis for drawing the drawing object is converted into an image. A canvas in which no drawing object exists on the canvas and the transparency attribute is opaque is determined, and a canvas in which the drawing object does not exist and the transparency attribute is determined to be opaque is determined from the page description language. and out of the target of the conversion processing to the image, when said canvas is described nest, converting the page description language into an intermediate language while retaining the nested structure of the canvas in the page description language, the When the converted intermediate language is bitmap converted, the drawing object does not exist and the transparency To the most important feature that no canvas that sex is determined to opaque subject bitmap conversion, but maintains the shape of the canvas in a page description language no drawing objects on the canvas By removing canvases with opaque transparency attributes from the image processing target, it is possible to shorten the arithmetic processing and increase the memory utilization efficiency, thereby enabling image conversion processing. Further, at the stage of converting the page description language into an intermediate language, the unnecessary canvas is removed, and the image conversion process can be performed by shortening the calculation process and increasing the memory use efficiency.
7. The image processing method according to claim 6, wherein a page description language including a drawing object having a transparency attribute and a canvas having a transparency attribute as a basis for drawing the drawing object is converted into an image. A canvas in which no drawing object exists on the canvas and the transparency attribute is opaque is determined, and a canvas in which the drawing object does not exist and the transparency attribute is determined to be opaque is determined from the page description language. When the canvas is described in a nested structure in the page description language, the page description language is converted into an intermediate language while maintaining the canvas nested structure, and the conversion to the image is not performed. When the intermediate language is converted into a bitmap, the drawing object does not exist and the transparency Since the most important feature is that the canvas that is determined to be opaque is not subject to bitmap conversion, it retains its shape as a canvas in the page description language, but does not have a drawing object on the canvas. By removing canvases with opaque transparency attributes from the image processing target, it is possible to shorten the arithmetic processing and increase the memory utilization efficiency, thereby enabling image conversion processing. In addition, since the bitmap conversion is performed after removing the unnecessary canvas at the time of the bitmap conversion, the image conversion processing can be performed by shortening the arithmetic processing and increasing the memory use efficiency.

請求項7記載の本発明の画像処理プログラムは、コンピュータに透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する機能を実現させる画像処理プログラムであって、前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明なキャンバスを判定するキャンバスチェック機能と、前記キャンバスチェック機能によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記ページ記述言語から画像への変換処理の対象から外す描画データ処理機能と、前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換する際に、前記キャンバスチェック機能によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記中間言語への変換の際に取り除く中間言語変換機能とをコンピュータに実現させることを最も主要な特徴とするため、ページ記述言語内でキャンバスとしての形は保っているが該キャンバス上に描画オブジェクトをもたず、透明度属性が不透明なキャンバスを画像処理対象から外すことにより演算処理の短縮化とメモリの利用効率を高めて画像変換処理が可能となった。また、ページ記述言語を中間言語に変換する段階で、前記不要とされるキャンバスの取り除きを行い、演算処理の短縮化とメモリの利用効率を高めて画像変換処理が可能となった。
請求項8記載の本発明の画像処理プログラムは、コンピュータに透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する機能を実現させる画像処理プログラムであって、前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明なキャンバスを判定するキャンバスチェック機能と、前記キャンバスチェック機能によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記ページ記述言語から画像への変換処理の対象から外す描画データ処理機能と、前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換する中間言語変換機能と、前記中間言語変換機能により変換された中間言語をビットマップ変換する際に、前記キャンバスチェック機能により前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスをビットマップ変換の対象としない描画データ処理機能とをコンピュータに実現させることを最も主要な特徴とするため、ページ記述言語内でキャンバスとしての形は保っているが該キャンバス上に描画オブジェクトをもたず、透明度属性が不透明なキャンバスを画像処理対象から外すことにより演算処理の短縮化とメモリの利用効率を高めて画像変換処理が可能となった。また、ビットマップ変換時に不用なキャンバスを取り除いてからビットマップ変換を行うため、演算処理の短縮化とメモリの利用効率を高めて画像変換処理が可能となった。
The image processing program of the present invention according to claim 7 is a function for converting a page description language including a drawing object having a transparency attribute into a computer and a canvas having a transparency attribute as a basis for drawing the drawing object into an image. An image processing program for realizing a canvas check function for determining a canvas in which a drawing object does not exist on the canvas and a transparency attribute is opaque, and the canvas check function does not exist the drawing object, And a drawing data processing function for excluding a canvas whose transparency attribute is determined to be opaque from a target of conversion processing from the page description language to an image, and when the canvas is described in a nested structure in the page description language, The page description language is nested in the canvas. When converting to an intermediate language while maintaining the image, the canvas check function removes the canvas in which the drawing object does not exist and the transparency attribute is determined to be opaque when converting to the intermediate language. Since the most important feature is that the function is realized by a computer, a canvas that has a shape as a canvas in the page description language but does not have a drawing object on the canvas and has an opaque transparency attribute is displayed as an image. By removing it from the processing target, it is possible to perform image conversion processing by shortening the arithmetic processing and increasing the memory utilization efficiency. Further, at the stage of converting the page description language into an intermediate language, the unnecessary canvas is removed, and the image conversion process can be performed by shortening the calculation process and increasing the memory use efficiency.
The image processing program of the present invention according to claim 8 is a function for converting a page description language including a drawing object having a transparency attribute into a computer and a canvas having a transparency attribute as a basis for drawing the drawing object into an image. An image processing program for realizing a canvas check function for determining a canvas in which a drawing object does not exist on the canvas and a transparency attribute is opaque, and the canvas check function does not exist the drawing object, And a drawing data processing function for excluding a canvas whose transparency attribute is determined to be opaque from a target of conversion processing from the page description language to an image, and when the canvas is described in a nested structure in the page description language, The page description language is nested in the canvas. An intermediate language conversion function for converting to an intermediate language while maintaining the image, and when the intermediate language converted by the intermediate language conversion function is bitmap-converted, the canvas check function does not exist the drawing object, and the transparency attribute The main feature is that the computer implements a drawing data processing function that does not target bitmap conversion for canvases that are determined to be opaque. Therefore, the shape of the canvas is maintained in the page description language. Image conversion processing is made possible by shortening arithmetic processing and increasing memory utilization efficiency by excluding canvases that do not have a drawing object on the canvas and the transparency attribute is opaque from image processing. In addition, since the bitmap conversion is performed after removing the unnecessary canvas at the time of the bitmap conversion, the image conversion processing can be performed by shortening the arithmetic processing and increasing the memory use efficiency.

ページ記述言語を中間言語に変換する画像処理を行う画像処理装置、画像処理方法及び画像処理プログラムにおいて、描画オブジェクトを有せず、透明度属性が不透明なキャンバスを変換処理の対象から外すことにより、ページ記述言語のビットマップへの変換処理を高速にかつメモリの利用効率を高めて行うことを可能とした。   In an image processing apparatus, an image processing method, and an image processing program for performing image processing for converting a page description language into an intermediate language, a page that does not have a drawing object and whose transparency attribute is opaque is excluded from conversion processing. It became possible to convert the description language into a bitmap at high speed and increase the memory utilization efficiency.

本発明の実施例に係る画像処理装置について以下に説明する。   An image processing apparatus according to an embodiment of the present invention will be described below.

[透明度属性の合成;アルファブレンドについて]
アルファブレンドとは、2つのそれぞれに色値を有する画像をある係数により半透明合成することである。この係数をアルファ値といい0.0〜1.0の値をとる。0.0が完全に透明、1.0が完全に不透明な重ね合わせであることを表している。PDF(Portable Document Format)、およびXPS(XML Paper Specification)ドキュメント形式ではパスによる図形や、フォント、イメージ等のオブジェクトに対してアルファ値が設定でき、描画の際に、下地の色とのアルファブレンド(透明度と色値との合成)が可能になっている。
[Synthesis of transparency attributes; alpha blending]
Alpha blending is a semi-transparent composition of two images each having a color value using a certain coefficient. This coefficient is called an alpha value and takes a value of 0.0 to 1.0. 0.0 indicates completely transparent, 1.0 indicates completely opaque overlay. In the PDF (Portable Document Format) and XPS (XML Paper Specification) document formats, alpha values can be set for objects such as path figures, fonts, and images. Synthesis of transparency and color values).

以下にアルファブレンドの透明度の合成処理がどのように行われるかについて、XPSドキュメント形式のデータを例に用いて説明する。   The following explains how alpha blend transparency synthesis processing is performed using XPS document format data as an example.

図1にXPSで表記された透明度属性を持つPathのデータを示し、XPS仕様書1.0(非特許文献1参照)の11.4 Opacity Computationsに記載されているアルファブレンドを厳密に行う場合のステップを以下に示す。
(1):ソース側のアルファ値を求める。ソースのアルファ値にOpacityアトリビュートの値とOpacityMaskの値をかける。
Figure 1 shows the path data with transparency attribute expressed in XPS, and the steps for strictly performing alpha blending described in 11.4 Opacity Computations of XPS specification 1.0 (see Non-Patent Document 1) are as follows: Show.
(1): The alpha value on the source side is obtained. Multiply the alpha value of the source by the value of the Opacity attribute and the value of OpacityMask.

As1 = As * Oe * Om
As :ソースエレメントのアルファ値(図1参照)
Oe :ソースエレメントのOpacity値(図1参照)
Om :描画するピクセル位置のソースエレメントのOpacityMask値(図1参照)
(2):(1)で求まったアルファ値(As1)をソースの色値にかける。この処理をPre-multiply source alphaという。下記に示す式のCsはRGBや、Gray、CMYK等のカレントカラースペースにおけるプレーン毎の値である。
As1 = As * Oe * Om
As: Source element alpha value (see Figure 1)
Oe: Opacity value of the source element (see Fig. 1)
Om: OpacityMask value of the source element at the pixel position to draw (see Figure 1)
(2): The alpha value (As1) obtained in (1) is applied to the source color value. This process is called Pre-multiply source alpha. Cs in the following expression is a value for each plane in the current color space such as RGB, Gray, or CMYK.

Cs_tmp = Cs * As1
Cs :ソースの色値(図1参照)
Cs_tmp :ソース側カラー値のテンポラリ値
(3):デスティネーション側のアルファをデスティネーションの色値にかける。この処理をPre-multiply destination alphaという。下記に示す式のデスティネーションのピクセル色値Cdはソース側と同様に、RGBや、Gray、CMYK等のカレントカラースペースにおけるプレーン毎の値である。
Cs_tmp = Cs * As1
Cs: Source color value (see Figure 1)
Cs_tmp: Temporary value of source side color value (3): Multiply destination side alpha by destination color value. This process is called Pre-multiply destination alpha. The destination pixel color value Cd in the following expression is a value for each plane in the current color space such as RGB, Gray, and CMYK, as in the source side.

Cd_tmp = Cd * Ad
Ad :デスティネーションのアルファ値
Cd :デスティネーションの描画ピクセル位置の色値
Cd_tmp :デスティネーション側カラー値のテンポラリ
(4):ブレンド処理を行う。
Cd_tmp = Cd * Ad
Ad: Alpha value of the destination
Cd: Destination drawing pixel position color value
Cd_tmp: Temporary destination color value (4): Blend processing is performed.

A_tmp = ( 1 - As1 ) * Ad + As1
C_tmp = ( 1 - As1 ) * Cd_tmp + Cs_tmp
A_tmp :(5)のチェック用テンポラリ
C_tmp :(5)のチェック用テンポラリ
(5):デスティネーション結果に書き込む値を求める。この処理をReverse pre-multiplicationという。
A_tmp = (1-As1) * Ad + As1
C_tmp = (1-As1) * Cd_tmp + Cs_tmp
A_tmp: Temporary for checking (5)
C_tmp: Temporary for checking in (5) (5): A value to be written to the destination result is obtained. This process is called Reverse pre-multiplication.

If A_tmp = 0
{
Anew = Cnew = 0
}
Else
{
Anew = A_tmp
Cnew = min(C_tmp / A_tmp, 1)
}
(1)、(2)で現れるパラメータが図1のXPSドキュメント中に現れる(より詳細については非特許文献1を参照)。
If A_tmp = 0
{
Anew = Cnew = 0
}
Else
{
Anew = A_tmp
Cnew = min (C_tmp / A_tmp, 1)
}
The parameters appearing in (1) and (2) appear in the XPS document of FIG. 1 (see Non-Patent Document 1 for more details).

[ページへの描画処理のケース]
ブレンド処理ステップ(3)において、ページへの描画処理では下地は不透明、すなわちAd=1.0ととることができる。この場合は、下記のようにソースの色値とアルファ値、および既にページに書かれているデスティネーションの色値のみでアルファブレンド処理ができる(図2(A)参照)。
[Case of drawing on page]
In the blend processing step (3), the background is opaque in the drawing process on the page, that is, Ad = 1.0. In this case, as described below, the alpha blend process can be performed using only the source color value and alpha value and the destination color value already written on the page (see FIG. 2A).

As1 = As * Oe * Om
Anew = 1.0 (不透明で変化なし)
Cnew = ( 1 - As1 ) Cd + As1 * Cs (単純なアルファブレンドの式として知られている)
[キャンバスに透明度属性がない場合]
ブレンド処理のステップ(3)において、キャンバスへの描画処理では、初期状態において下地は完全な透明、Ad=0.0で色なし、Cd=0.0(RGBなら黒)ととらえることができる。これはガラス板のイメージになる。
As1 = As * Oe * Om
Anew = 1.0 (Opaque and unchanged)
Cnew = (1-As1) Cd + As1 * Cs (known as a simple alpha blend formula)
[If the canvas has no transparency attribute]
In the blend processing step (3), in the drawing process on the canvas, in the initial state, the background is completely transparent, Ad = 0.0, no color, and Cd = 0.0 (RGB if black). This is the image of a glass plate.

As1 = As * Oe * Om
Anew = As1 (アルファの値が累積)
Cnew = Cs (ソースの色値はそのまま)
キャンバス上にまだ何も描画されていない状態で、ブレンド処理ステップに従うと、上記のように、キャンバス上のオブジェクトに透明度が含まれている場合、キャンバス上には、色値、アルファ値がそのまま累積することとなる。これは、キャンバスをページ等の一段下のレイヤーに描画するときに、累積している値がソースアルファ値として影響することを示す。
As1 = As * Oe * Om
Anew = As1 (accumulated alpha value)
Cnew = Cs (the source color value remains the same)
If nothing is drawn on the canvas and the blending step is followed, as shown above, if the object on the canvas contains transparency, the color value and alpha value are accumulated on the canvas as they are. Will be. This indicates that the accumulated value affects the source alpha value when the canvas is drawn on a layer below the page or the like.

しかしながら、キャンバス自体に透明度が設定されていない場合は、出来上がったキャンバスをページ上に描いた結果は、オブジェクトを直接ページに書いた場合と同じとなる(図2(B)参照)。   However, when transparency is not set on the canvas itself, the result of drawing the completed canvas on the page is the same as when the object is directly written on the page (see FIG. 2B).

この場合、図2(B)のようにページとは別のバッファに描画を実行する必要はなく、キャンバスが定義されていないときと同様の処理を行えばよい。   In this case, it is not necessary to perform drawing in a buffer different from the page as shown in FIG. 2B, and the same processing as when the canvas is not defined may be performed.

[キャンバスに透明度属性がある場合]
上述のように、オブジェクトが描画された領域には色値とアルファ値が累積していくが、その他の領域は0.0の完全に透明のまま残る。
[If the canvas has a transparency attribute]
As described above, the color value and the alpha value accumulate in the area where the object is drawn, but the other areas remain completely transparent at 0.0.

キャンバス自体に透明度が設定されている場合の描画方法について、XPS仕様書中に提示される実装方法では、キャンバス上のオブジェクトの描画が終了し、下のレイヤーに書き込む時に、キャンバスエレメントの属性のOpacityとOpacityMaskの値を累積しているアルファ値に適用(結合)する。これはブレンドステップ(1)にあたり、キャンバス自体のOeとOmを累積したアルファ値にかけることを意味する。   Regarding the rendering method when transparency is set on the canvas itself, in the implementation method presented in the XPS specification, when the object drawing on the canvas is finished and written to the lower layer, the Opacity attribute of the canvas element And apply (combine) the values of OpacityMask to the accumulated alpha value. This means that in the blending step (1), Oe and Om of the canvas itself are multiplied by the accumulated alpha value.

また、キャンバス中でオブジェクトが描かれていない領域はOpacity、OpacityMaskが適用されてもアルファ値は0.0で完全に透明な何もかかれない状態で残る。そのため、描画されたオブジェクトの部分にのみ、透明度処理の効果がでる(図3(C)参照)。   In addition, even if Opacity and OpacityMask are applied, the area where no object is drawn in the canvas remains in the state where alpha value is 0.0 and nothing is completely transparent. For this reason, the effect of the transparency processing is exerted only on the portion of the drawn object (see FIG. 3C).

概念的には上記したステップを経るが、同一キャンバス上にこのとおりの処理をしようとすると、オブジェクトが重なった場合などは、デスティネーションのアルファ値を考慮した図2(A)の厳密なブレンド処理を行うことになる(図3(D))。   Conceptually, the steps described above are performed, but if the same processing is performed on the same canvas, if the objects overlap, the strict blending process of FIG. 2A taking into account the alpha value of the destination (FIG. 3D).

[構成]
図4は、本発明の実施例に係る画像処理装置の機能ブロック図である。
[Constitution]
FIG. 4 is a functional block diagram of the image processing apparatus according to the embodiment of the present invention.

画像処理装置は、通信インタフェース1.1、データ受信部1.2、データ解析部1.3、描画データ処理部1.4(中間言語変換部;描画データ変換部)、キャンバスチェック部1.4.1、キャンバス用メモリ算出部1.4.3、描画部1.5(アルファブレンド演算部;描画データ変換部)、出力部1.6、システム制御部1.7、エラー制御部1.8、メモリ管理部1.9の各機能部を有する。以下に各機能部について説明する。   The image processing apparatus includes a communication interface 1.1, a data reception unit 1.2, a data analysis unit 1.3, a drawing data processing unit 1.4 (intermediate language conversion unit; drawing data conversion unit), and a canvas check unit 1.4. .1, canvas memory calculation unit 1.4.3, drawing unit 1.5 (alpha blend operation unit; drawing data conversion unit), output unit 1.6, system control unit 1.7, error control unit 1.8 , Each function unit of the memory management unit 1.9. Each functional unit will be described below.

通信インタフェース1.1は、ホストコンピュータ等との通信を行う機能部である。   The communication interface 1.1 is a functional unit that performs communication with a host computer or the like.

データ受信部1.2は、通信インタフェース1.1を介してデータ(ページ記述言語で記載してある印刷データ)を受信する機能部である。   The data receiving unit 1.2 is a functional unit that receives data (print data written in a page description language) via the communication interface 1.1.

データ解析部1.3は、送られてきたページ記述言語で記述された印刷データの解析を行なう機能部である。   The data analysis unit 1.3 is a functional unit that analyzes print data described in the page description language that has been sent.

描画データ処理部1.4(中間言語変換部;描画データ変換部)は、前記データ解析部1.3からの指示に従い、ページ記述言語を中間言語(ここでは、具体的にはディスプレイリスト)に変換する。   The drawing data processing unit 1.4 (intermediate language conversion unit; drawing data conversion unit) converts the page description language into an intermediate language (here, specifically, a display list) in accordance with an instruction from the data analysis unit 1.3. Convert.

XPS等のXML拡張形式で記述されたページ記述言語中には、描画オブジェクトである、パス、グリフス(フォント)、イメージ等のエレメントがあり、これら描画オブジェクトを表示するための土台となるキャンバスがある。これらエレメントやキャンバスは、それぞれに透明度属性を有することが可能である。又、キャンバスは、入れ子構造(ネスト構造)をとって、その中に含むキャンバスやエレメントをひとつのグループとして扱うことが可能となる。   In a page description language written in an XML extension format such as XPS, there are drawing objects such as paths, glyphs (fonts), images, etc., and there is a canvas that serves as the basis for displaying these drawing objects. . Each of these elements and canvases can have a transparency attribute. Also, the canvas has a nested structure (nested structure), and the canvas and elements contained therein can be handled as one group.

さらに描画データ処理部1.4(中間言語変換部;描画データ変換部)は、ページ記述言語を描画データに変換する描画データ変換部で、ここでは、ページ記述言語が中間言語(ディスプレイリスト)に変換される。描画データ処理部1.4は、前記した入れ子構造をとるキャンバスデータを中間言語に変換する際に、その入れ子構造を保ったままの構成とする。ひとつのキャンバスオブジェクトがディスプレイリストに変換された際のデータ構造を図5に示す。   Further, the drawing data processing unit 1.4 (intermediate language conversion unit; drawing data conversion unit) is a drawing data conversion unit that converts a page description language into drawing data. Here, the page description language is changed to an intermediate language (display list). Converted. The drawing data processing unit 1.4 is configured to keep the nested structure when converting the canvas data having the nested structure into an intermediate language. FIG. 5 shows a data structure when one canvas object is converted into a display list.

キャンバスのオブジェクトは、その開始を示す「Start」マークに続き、キャンバス上に存在する描画オブジェクト又はキャンバスオブジェクトのディスプレイリスト、キャンバスの終了を示す「End」マーク、その後にキャンバスの透明度情報が続き、キャンバスの下層への描画を示す「Write」コマンドで終了する。   The canvas object is followed by a “Start” mark that indicates its start, a display list of drawing objects or canvas objects that exist on the canvas, an “End” mark that indicates the end of the canvas, and then the canvas transparency information. End with the “Write” command, which indicates the drawing to the lower layer.

キャンバスが入れ子構造となっている場合には、前記した「Start」マークと「End」マークとの間に入れ子となるキャンバスオブジェクトへのポインターが入る。   When the canvas has a nested structure, a pointer to the canvas object to be nested is inserted between the “Start” mark and the “End” mark.

キャンバスチェック部1.4.1は、キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明のキャンバスかどうかを判定する。詳細な動作については、後述のフローチャートの説明時に同時に行う。   The canvas check unit 1.4.1 determines whether the drawing object does not exist on the canvas and the transparency attribute is an opaque canvas. Detailed operations are performed simultaneously with the explanation of the flowchart described later.

キャンバス用メモリ算出部1.4.3は、キャンバスに必要なメモリの容量を算出する。詳細な動作については、後述のフローチャートの説明時に同時に行う。   The canvas memory calculation unit 1.4.3 calculates the memory capacity required for the canvas. Detailed operations are performed simultaneously with the explanation of the flowchart described later.

描画部1.5(アルファブレンド演算部;描画データ変換部)は、中間言語をビットマップデータに変換する描画データ変換部であり、描画データ処理部1.4で作成されたディスプレイリスト(中間言語)からVRAM(描画データ用メモリ)にビットマップデータを作成する機能を有する。また、アルファブレンドの演算処理は、ディスプレイリストからビットマップへの変換の際に、この描画部1.5において行われる。   The drawing unit 1.5 (alpha blend operation unit; drawing data conversion unit) is a drawing data conversion unit that converts an intermediate language into bitmap data, and the display list (intermediate language) created by the drawing data processing unit 1.4 ) To VRAM (drawing data memory). Further, the alpha blending calculation process is performed in the rendering unit 1.5 when converting the display list into a bitmap.

出力部1.6は、上記の各機能部で画像処理が行われて得られたビットマップデータを出力する機能部である。前記出力とは、用紙などの記録媒体に印刷することであってもよいし、ディスプレイデバイスに表示出力を行う方法でもよい。   The output unit 1.6 is a functional unit that outputs bitmap data obtained by performing image processing in each functional unit described above. The output may be printing on a recording medium such as paper or a method of performing display output on a display device.

システム制御部1.7は、画像処理装置システムの共通情報を管理し、システムの制御を行なう機能部である。   The system control unit 1.7 is a functional unit that manages common information of the image processing apparatus system and controls the system.

エラー制御部1.8は、画像処理装置のエラーが発生した場合の処理を制御する機能部である。   The error control unit 1.8 is a functional unit that controls processing when an error occurs in the image processing apparatus.

メモリ管理部1.9は、画像処理装置のシステムのメモリを管理する機能部である。   The memory management unit 1.9 is a functional unit that manages the memory of the system of the image processing apparatus.

[アルファブレンド演算アルゴリズム]
図5で示した入れ子構造を有するディスプレイリスト(中間言語)のアルファブレンドの演算は以下に示す再帰アルゴリズムにより効率よく計算される。
[Alpha blending algorithm]
The alpha blend operation of the display list (intermediate language) having the nested structure shown in FIG. 5 is efficiently calculated by the recursive algorithm shown below.

一つのキャンバスの透過の計算Compositeを考えると、計算は次のようになる。   Considering the calculation composite for a single canvas, the calculation is as follows:

***_nのnをキャンバスに含まれるオブジェクト数とし、計算過程の値を表す。
[擬似コードによるアルゴリズム表記]
C = Composite(C_0,O_0)
入力 C_0 :キャンバスの描画先の現在の色
O_0 :キャンバスに含まれるオブジェクト全体
出力 C :キャンバスの色値

S_0 = C_0 (式1)
全てのオブジェクト(i を1からnまで)で以下の処理を繰り返す。
*** _ n represents the number of objects included in the canvas and represents the value of the calculation process.
[Algorithm description by pseudo code]
C = Composite (C_0, O_0)
Input C_0: Current color of the canvas drawing destination
O_0: Entire object included in canvas Output C: Color value of canvas {
S_0 = C_0 (Formula 1)
Repeat the following process for all objects (i from 1 to n).

{
Obj_i がキャンバスの場合は再帰呼び出し {
C_i = Composite(SC_(i-1),Obj_i) (式2)
} そうでない場合 {
C_i = Obj_i_Color (式3)
}
S_i = (1-Obj_i_Alpha) *SC_(i-1) + Obj_i_Alpha * C_i (式4)
}
C = S_i
} [アルゴリズム終了]
すなわち、キャンバス開始時にそれまでに描かれている色をコピーした領域を作成し(式1)、キャンバス終了時に、キャンバス自体のα値をもって、下地とブレンド処理(式4)すればよいこととなる。ページの開始時点は初期値S_0が白となっていれば良い。
{
If Obj_i is a canvas, recursive call {
C_i = Composite (SC_ (i-1), Obj_i) (Formula 2)
} Otherwise {
C_i = Obj_i_Color (Formula 3)
}
S_i = (1-Obj_i_Alpha) * SC_ (i-1) + Obj_i_Alpha * C_i (Formula 4)
}
C = S_i
} [End algorithm]
In other words, when the canvas is started, an area where the colors drawn so far are copied (Formula 1), and when the canvas is finished, the alpha value of the canvas itself is used for blending with the ground (Formula 4). . It is only necessary that the initial value S_0 is white at the start of the page.

[処理内容の具体例]
前記した再帰アルゴリズムの処理内容の具体例について図6、図7を用いて以下に説明する。
[Specific example of processing contents]
Specific examples of processing contents of the recursive algorithm described above will be described below with reference to FIGS.

前記アルゴリズムは、キャンバスの開始とともに、一時的に色を保持するバッファを確保し、そのバッファ内で描画処理を行う。キャンバスの終了時点でバッファをイメージとして、一つ下のレイヤーにブレンド処理を行いながら描画していく方法である。キャンバス描画中にさらにネストしている場合は、再帰呼出を行って、それに応じて色を保持するバッファを確保し、一段上のキャンバスとして処理する。   The algorithm secures a buffer that temporarily holds colors at the start of the canvas, and performs drawing processing in the buffer. This is a method of drawing the buffer as an image at the end of the canvas while blending the next lower layer. If there is further nesting during drawing on the canvas, a recursive call is made, a buffer for holding the color is secured accordingly, and the canvas is processed as an upper level canvas.

この処理を行う場合の一例として、半透明キャンバスがネスト化(入れ子構造)し、さらにそのキャンバス上で、半透明のオブジェクトが重なっているケースを考える。   As an example of performing this process, consider a case where semi-transparent canvases are nested (nested), and semi-transparent objects overlap on the canvas.

図6(E)は、XPSで表記した一段目のOpacity=0.5を有するCanvas1上に、描画オブジェクトである矩形のObject1が存在し、さらにOpacity=0.5を有する二段目のCanvas2がネストされており、二段目のCanvas2上に三角形のObject2とObject3が存在している。   In FIG. 6E, a rectangular Object1 that is a drawing object exists on a Canvas1 having Opacity = 0.5 in the first stage expressed in XPS, and a second-stage Canvas2 having Opacity = 0.5 is nested. The triangle Object2 and Object3 exist on the second level of Canvas2.

図6(F)に、上記XPSの全オブジェクトを透明度(Opacity)が無いと仮定した場合の描画を示し、図6(G)に上記XPSに表記どおりの透明度(Opacity)のアルファブレンド演算を行った場合の描画を示す。ただし、カラー表記ができないため、グレースケールに変換して描画してある。   Fig. 6 (F) shows the drawing when all the XPS objects are assumed to have no transparency (Opacity), and Fig. 6 (G) shows the alpha blending calculation of transparency (Opacity) as described in XPS. The drawing is shown. However, since color notation is not possible, the drawing is converted to gray scale.

このデータに対する描画部1.5による処理手順を図7に示し、前記した再帰アルゴリズムの式と対比させて説明を行う。   The processing procedure for the data by the drawing unit 1.5 is shown in FIG. 7 and will be described in comparison with the expression of the recursive algorithm.

[ページバッファの確保];図7(H)
最初に描画するための最終のページであるページバッファを確保する。
[Securing the page buffer]; FIG.
Allocate a page buffer that is the last page to be drawn first.

[Canvas1の開始];図7(I)
これまでページバッファに描かれている結果をCanvas1にコピーする(式1)。さらに、Canvas1上のObject1を描画する。(式3〜4)。また、Canvas1の透明度情報を何らかの形(例えば、再帰呼出しルーチンのローカル変数等)で保持しておく。
[Start Canvas1]; FIG. 7 (I)
Copy the result drawn in the page buffer so far to Canvas1 (Formula 1). Furthermore, Object1 on Canvas1 is drawn. (Formulas 3-4). The transparency information of Canvas1 is held in some form (for example, a local variable of a recursive call routine).

[Canvas2の開始];図7(J)
Canvas1に描かれている結果をCanvas2にコピーする。(式2による再帰呼出しと式1)。
[Start Canvas2]; Fig. 7 (J)
Copy the result drawn on Canvas1 to Canvas2. (Recursive call with expression 2 and expression 1).

次に、Canvas2上のオブジェクト(Object2, Object3)を描画する。このとき、Canvas2上でアルファブレンド演算処理を行う(式3〜4)。   Next, the objects (Object2, Object3) on Canvas2 are drawn. At this time, alpha blend calculation processing is performed on Canvas2 (Equations 3-4).

また、前記と同様にCanvas2の透明度情報を何らかの形(例えば、再帰呼出しルーチンのローカル変数等)で保持しておく。   Similarly, the transparency information of Canvas2 is held in some form (for example, a local variable of a recursive call routine).

[Canvas2の終了];図7(K)
Canvas2自体の透明度情報(エレメントのOpacity値、OpacityMask値)をもって、Canvas2をイメージとして一段下のCanvas1に描画する(式4)。
[End of Canvas2]; Fig. 7 (K)
With Canvas2 itself transparency information (element Opacity value, OpacityMask value), Canvas2 is rendered as an image in Canvas1 (Step 4).

Canvas2のバッファを開放。   Free the Canvas2 buffer.

[Canvas1の終了];図7(L)
Canvas1自体の透明度属性情報(エレメントのOpacity値、OpacityMask値)をもって、Canvas1をイメージとしてページに描画(式4)。
[End of Canvas1]; Fig. 7 (L)
Draw Canvas1 as an image on the page using the transparency attribute information of the Canvas1 itself (Opacity value and OpacityMask value of the element) (Formula 4).

Canvas1のバッファを開放。   Free the Canvas1 buffer.

以上の一連の動作により、再帰アルゴリズムによってアルファブレンド演算処理が可能となった。   With the series of operations described above, alpha blending processing can be performed by a recursive algorithm.

[キャンバス処理時のメモリ利用及び動作のフローチャート]
次に画像処理装置のキャンバス処理時のメモリ利用に関する動作の説明と印刷データ受信からビットマップ出力までの動作のフローチャートについて説明する。
[Flow chart of memory use and operation during canvas processing]
Next, a description will be given of an operation related to memory use during canvas processing of the image processing apparatus and a flowchart of operations from print data reception to bitmap output.

プリンタの描画処理でブレンド処理を行う場合、(R,G,B,α)の要素毎に8bit、つまり1ピクセル当たり32bitの色情報が必要である。背景で述べたように、透明度属性のあるキャンバス機能が使用された場合には、そのキャンバス上に描かれた描画結果を保持する為のメモリが必要になる。プリンタの描画処理において,メモリ使用量を考慮してページをバンドに区切ってバンド単位に図形を描画する方法が一般である。従ってこのキャンバス上に描かれた描画結果を保持する為のメモリもバンド単位で充分になる。しかしA4の紙サイズで1つのバンドの高さを200ラインとすると、このメモリには約3.8MB必要になる。   When blend processing is performed in the printer rendering processing, 8 bits of color information is required for each element of (R, G, B, α), that is, 32 bits per pixel. As described in the background, when a canvas function having a transparency attribute is used, a memory for holding a drawing result drawn on the canvas is required. In printer rendering processing, a method of rendering a figure in units of bands by dividing pages into bands in consideration of memory usage is common. Therefore, the memory for holding the drawing result drawn on the canvas is sufficient for each band. However, if the A4 paper size and the height of one band is 200 lines, this memory requires about 3.8MB.

キャンバスの処理自体は描画部1.5で行われる。描画部1.5は処理速度が要求され、ハードウェア化されることも多く、ソフトウェアで実現する場合も分岐等を少なくして高速に動作させる必要がある。従って描画部1.5で必要になるメモリは事前に確保しておくようになっている。   The canvas processing itself is performed by the drawing unit 1.5. The drawing unit 1.5 is required to have a processing speed and is often implemented as hardware. Even when the rendering unit 1.5 is implemented by software, it is necessary to reduce the number of branches and the like to operate at high speed. Therefore, the memory required for the drawing unit 1.5 is secured in advance.

キャンバス機能が使用された場合、そのキャンバスに透明度属性が無くても、そのキャンバスにネストしたキャンバスに透明度属性があった場合には、ブレンド処理を行う際に、透明度属性がないキャンバスも32bitの色情報を使って処理を行わなければならない。またキャンバスがネストしている場合には、ネストの一番深い数だけキャンバスの描画結果を保持する為のメモリが必要になる。   When the canvas function is used, even if there is no transparency attribute on the canvas, if there is a transparency attribute on the canvas nested in the canvas, the canvas without the transparency attribute is also a 32-bit color when blending. Processing must be done using information. In addition, when the canvas is nested, a memory for holding the drawing result of the canvas corresponding to the deepest number of nests is necessary.

キャンバスが複数使用されている場合には、キャンバスとキャンバスのブレンド処理が必要になる。このキャンバス同士のブレンド処理も厳密なブレンド処理を行うことになる。ページプリンタの画像処理においては、描画オブジェクトを一度専用の中間言語に加工してからその中間言語をビットマップ化する。これは中間言語作成の部分と中間言語をビットマップ化する部分を並列に処理することで高速化を図る為である。キャンバスが複数使用される場合には、使用されている枚数分のキャンバス用のメモリを前もって確保しておき、中間言語のビットマップ化処理では、キャンバス毎にそのキャンバスに描画されているオブジェクトのビットマップ化処理を中間言語に従って行い、必要に応じてキャンバス同士のブレンド処理を行うことになる。   When multiple canvases are used, it is necessary to blend canvases and canvases. The blend process between the canvases also performs a strict blend process. In the image processing of the page printer, the drawing object is once processed into a dedicated intermediate language, and then the intermediate language is converted into a bitmap. This is to increase the speed by processing the intermediate language creation portion and the intermediate language bitmap portion in parallel. If multiple canvases are used, the canvas memory for the number of used canvases is reserved in advance, and in the intermediate language bitmap processing, the bit of the object drawn on the canvas for each canvas The mapping process is performed according to the intermediate language, and the canvases are blended as necessary.

このような描画システムでは、もし透明度設定が不透明で何も描画されていないキャンバスがあった場合には、このキャンバス分のメモリも前もって確保される。キャンバスのメモリを前もって確保しないシステムであったとしても、中間言語のビットマップ化処理時にキャンバスが認識された時点で、そのキャンバス用のメモリを確保することになる。   In such a drawing system, if there is a canvas in which the transparency setting is opaque and nothing is drawn, memory for this canvas is also secured in advance. Even if the canvas memory is not secured in advance, the canvas memory is secured when the canvas is recognized during the bitmap processing of the intermediate language.

しかし透明度設定が不透明で何も描画されていないキャンバスは、そのキャンバスが無いものとして処理できるので、そのキャンバス用のメモリは不要である。   However, a canvas on which the transparency setting is opaque and nothing is drawn can be processed as having no canvas, so that the memory for the canvas is unnecessary.

従ってこのようなキャンバスがあるかどうかを事前にチェックして不要なメモリの確保を省くことが出来る。これは単純にはXPSで表記される以下のような場合である。   Accordingly, it is possible to check whether there is such a canvas in advance and to save unnecessary memory. This is simply the following case expressed in XPS.

[XPSによる空キャンバスの表記]--- XPS001
<Canvas>
</Canvas>
次にキャンバスが入れ子構造となっているXPSで表記される以下の場合を考える。
[Sky canvas notation by XPS] --- XPS001
<Canvas>
</ Canvas>
Next, consider the following case expressed in XPS with a nested canvas.

[XPSによる入れ子構造での空キャンバスの表記]--- XPS002
<Canvas>
<Canvas>
描画オブジェクト
</Canvas>
</Canvas>
まず最初のキャンバスをCanvas1とし、その内側にネストしているキャンバスをCanvas2とする。Canvas2には描画が為されている。Canvas1はCanvas2を保持しているが、Canvas1自体に対する描画は為されていない。
[Indication of empty canvas with nested structure by XPS] --- XPS002
<Canvas>
<Canvas>
Drawing object
</ Canvas>
</ Canvas>
The first canvas is Canvas1 and the canvas nested inside is Canvas2. Drawing is done on Canvas2. Canvas1 holds Canvas2, but no drawing is performed on Canvas1 itself.

この場合に逐次的に処理を行うと、Canvas1にはCanvas2の結果がコピーされるだけになるので、Canvas2の結果をそのまま利用することによって、Canvas1用のメモリは省けることになる。   In this case, if the processing is performed sequentially, the result of Canvas2 is only copied to Canvas1, so that the memory for Canvas1 can be omitted by using the result of Canvas2 as it is.

図8に本発明の描画処理全体の流れを示す。この図に沿って具体的な処理を説明する。   FIG. 8 shows the flow of the entire drawing process of the present invention. Specific processing will be described with reference to FIG.

S501:まずプリンタはホストPCから通信インタフェース1.1を介してデータ受信部1.2で印刷データを受信する。   S501: First, the printer receives print data from the host PC via the communication interface 1.1 at the data receiving unit 1.2.

S502:受信したデータはデータ解析部1.3で解析される。   S502: The received data is analyzed by the data analysis unit 1.3.

S503:解析された結果、その命令がページ出力命令かどうかをデータ解析部1.3で判定する。   S503: As a result of the analysis, the data analysis unit 1.3 determines whether the instruction is a page output instruction.

S504:解析した命令がページ出力命令ではなかった場合は、指定された命令に対応する描画データ処理部1.4の処理を呼びだす。   S504: If the analyzed instruction is not a page output instruction, the process of the drawing data processing unit 1.4 corresponding to the designated instruction is called.

ここでは様々な処理がある。その中で指定された命令がキャンバス関係の命令だった場合には本発明の為に次のような処理を行う。   There are various processes here. If the command specified therein is a canvas related command, the following processing is performed for the present invention.

図4の機能ブロック図に示すように描画データ処理部1.4中には、キャンバスチェック部1.4.1とキャンバス用メモリ算出部1.4.3が設けられている。データ解析部1.3からキャンバスの開始処理の依頼が描画データ処理部1.4に来た時に、キャンバスチェック部1.4.1でキャンバスの透明度設定の情報を覚えておく。また同時にキャンバス自体に描画があったかどうかを覚えておくフラグを準備し、初期値を描画無しとしておく。これらの情報はキャンバス毎に用意して覚えておく。キャンバス自体に描画があったかどうかを覚えておくフラグについては、何か描画が行われた時に、そのフラグに描画があったことを記憶させる。   As shown in the functional block diagram of FIG. 4, in the drawing data processing unit 1.4, a canvas check unit 1.4.1 and a canvas memory calculation unit 1.4.3 are provided. When a canvas start processing request is sent from the data analysis unit 1.3 to the drawing data processing unit 1.4, the canvas check unit 1.4.1 remembers information on the canvas transparency setting. At the same time, a flag is prepared for remembering whether the canvas itself has been drawn, and the initial value is set to no drawing. Prepare and remember this information for each canvas. As for a flag for remembering whether or not drawing has been performed on the canvas itself, when something is drawn, the fact that the drawing has been made is stored in the flag.

データ解析部1.3からキャンバスの終了処理の依頼が描画データ処理部1.4に来た時に、キャンバス用メモリ算出部1.4.3でキャンバスチェック部1.4.1で覚えておいたキャンバスの透明度設定とそのキャンバス自体に描画があったかどうかの情報を参照して、そのキャンバスを処理する為のメモリの量を算出する。透明度設定が不透明で何も描画されていないキャンバスについては、必要なメモリの量が0と判定され、キャンバスの情報としてその旨を記録しておく。   When the canvas end request was received from the data analysis unit 1.3 to the drawing data processing unit 1.4, the canvas memory calculation unit 1.4.3 remembered the canvas check unit 1.4.1. The amount of memory for processing the canvas is calculated by referring to the transparency setting of the canvas and information on whether or not the canvas itself has been drawn. For a canvas where the transparency setting is opaque and nothing is drawn, the amount of necessary memory is determined to be 0, and this is recorded as canvas information.

S505:データ解析部1.3では印刷データを全て処理したかデータ受信部1.2に確認する。   S505: The data analysis unit 1.3 confirms with the data reception unit 1.2 whether all print data has been processed.

S506:印刷データを全て処理し終わっている場合は、処理を終了する。本発明には直接関係無いので、ここではページ出力命令が無しでデータを処理し終わる場合は考慮から外す。印刷データが残っている場合は、S502に戻って処理を続行する。   S506: If all print data has been processed, the process ends. Since it is not directly related to the present invention, the case where the data is processed without a page output command is excluded from consideration. If print data remains, the process returns to S502 and continues.

S507:S503の処理中にデータ解析部1.3で解析した命令がページ出力命令だった場合にはS507に移行し、描画データ処理部1.4のページ出力の処理が呼び出される。この時、描画データ処理部1.4から各キャンバスの情報を描画部1.5に送信する。キャンバスの処理に必要なメモリを描画データ処理部1.4で確保して、その情報を描画部1.5に送信することも出来るし、描画部1.5でキャンバスの情報を基に必要なメモリを確保することも出来る。   S507: If the command analyzed by the data analysis unit 1.3 during the processing of S503 is a page output command, the process proceeds to S507, and the page output processing of the drawing data processing unit 1.4 is called. At this time, information on each canvas is transmitted from the drawing data processing unit 1.4 to the drawing unit 1.5. Memory necessary for canvas processing can be secured by the drawing data processing unit 1.4, and the information can be transmitted to the drawing unit 1.5. Memory can also be secured.

S508:描画データ処理部1.4はページ出力命令を描画部1.5に送信する。   S508: The drawing data processing unit 1.4 transmits a page output command to the drawing unit 1.5.

S509:描画部1.5はページ出力命令を受け取ると中間言語(ディスプレイリスト)で構成されているページのビットマップ化処理を行う。この時にキャンバスの描画処理も行う。先に示したXPS002のような入れ子構造になっているキャンバスの場合はその旨がキャンバスの情報に記録されているので、外側のキャンバスについては、内側のキャンバスの描画処理結果をそのまま使うようにする。   S509: Upon receiving the page output command, the drawing unit 1.5 performs bitmap processing of a page configured with an intermediate language (display list). At this time, the canvas is also drawn. In the case of a canvas with a nested structure such as XPS002 shown above, that fact is recorded in the canvas information, so for the outer canvas, the drawing processing result of the inner canvas is used as it is. .

S510:ページのビットマップ化処理が終了したら、描画部1.5は出力部1.6にビットマップのページを出力する。   S510: When the page bitmap processing is completed, the drawing unit 1.5 outputs a bitmap page to the output unit 1.6.

[実施例の効果]
本発明実施例の画像処理装置により、以下のことが可能となった。
[Effect of Example]
The image processing apparatus according to the embodiment of the present invention enables the following.

XPS等のXML拡張形式等のページ記述言語によって記述された入れ子構造を有する描画オブジェクト、キャンバスの透明度属性の合成(アルファブレンド演算)を効率よく行うため、ページ記述言語を中間言語に変換する際に前記入れ子構造を保持した形で変換を行った。さらに、前記入れ子構造を有する中間言語データのアルファブレンド演算を再帰アルゴリズムにより実現した。   When converting a page description language to an intermediate language for efficient synthesis (alpha blend operation) of drawing objects with a nested structure described in a page description language such as XPS and other XML extension formats, canvas transparency attributes Conversion was performed while maintaining the nested structure. Furthermore, the alpha blend operation of the intermediate language data having the nested structure is realized by a recursive algorithm.

上記の方法により、入れ子構造をまたいだアルファブレンド演算を効率よく行うことが可能となった。   The above method makes it possible to efficiently perform alpha blending operations across nested structures.

上記の構造を有する中間言語により、アルファブレンド演算処理を行い、その後のビットマップデータへの変換を行ってプリンタでの印刷処理が可能となった。   Using an intermediate language having the above structure, alpha blending calculation processing is performed, and then conversion to bitmap data is performed to enable printing processing on a printer.

本画像処理装置では、不透明で描画のないキャンバスを判別し、その分のメモリや描画処理を省くことで描画処理の高速化とメモリの効率化を図ることが可能となった。   In this image processing apparatus, it is possible to identify a canvas that is opaque and has no drawing, and omit the memory and drawing processing for the canvas, thereby speeding up the drawing process and increasing the efficiency of the memory.

[その他]
色値は、実施例中ではRGBの三原色に基づくものを示したが、CMYKの色値であってもよく、同様にアルファブレンド演算が可能である。
[Others]
In the embodiment, the color values are based on the three primary colors of RGB. However, the color values may be CMYK color values, and an alpha blend operation is possible in the same manner.

XPSによるアルファ値、カラー値、透明度、透明マスクの表記例である。This is a notation example of alpha value, color value, transparency and transparency mask by XPS. キャンバスへの描画時のアルファブレンド(透明度設定なし)の概念図である。It is a conceptual diagram of the alpha blend (no transparency setting) at the time of the drawing on a canvas. キャンバスへの描画時のアルファブレンド(透明度設定あり)の概念図である。It is a conceptual diagram of the alpha blend (with transparency setting) at the time of the drawing on a canvas. 本発明実施例の画像処理装置の機能ブロック図である。1 is a functional block diagram of an image processing apparatus according to an embodiment of the present invention. 本発明実施例のディスプレイリストのデータ構造例である。It is an example of the data structure of the display list of the Example of this invention. ネスト化されたキャンバスのXPSでの表記例(E)とその対応図面(透明度設定あり(F)及びなし(G))である。A notation example (E) of a nested canvas in XPS and its corresponding drawing (with transparency setting (F) and without (G)). 図6(E)に記載のXPSデータの描画の処理手順を示す図である。It is a figure which shows the process sequence of the drawing of XPS data described in FIG.6 (E). 本発明実施例の画像処理装置の動作のフローチャートである。3 is a flowchart of the operation of the image processing apparatus according to the embodiment of the present invention.

符号の説明Explanation of symbols

1.1 通信インタフェース
1.2 データ受信部
1.3 データ解析部
1.4 描画データ処理部(中間言語変換部;描画データ変換部)
1.4.1 キャンバスチェック部
1.4.3 キャンバス用メモリ算出部
1.5 描画部(アルファブレンド演算部;描画データ変換部)
1.6 出力部
1.7 システム制御部
1.8 エラー制御部
1.9 メモリ管理部
1.1 Communication interface 1.2 Data receiving unit 1.3 Data analyzing unit 1.4 Drawing data processing unit (intermediate language conversion unit; drawing data conversion unit)
1.4.1 Canvas check unit 1.4.3 Canvas memory calculation unit 1.5 Drawing unit (alpha blend operation unit; drawing data conversion unit)
1.6 Output unit 1.7 System control unit 1.8 Error control unit 1.9 Memory management unit

Claims (8)

透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理装置であって、
前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明のキャンバスを判定するキャンバスチェック部と、
前記キャンバスチェック部により前記描画オブジェクトが存在せず、かつ不透明と判断されたキャンバスを、前記ページ記述言語から画像への変換処理の対象から外す描画データ変換部と、
前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換する際に、前記キャンバスチェック部によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記中間言語への変換の際に取り除く中間言語変換部とを有する
ことを特徴とする画像処理装置。
An image processing apparatus that converts a page description language including a drawing object having a transparency attribute and a canvas having a transparency attribute serving as a basis for drawing the drawing object into an image,
A canvas check unit for determining a canvas in which a drawing object does not exist on the canvas and the transparency attribute is opaque;
A drawing data conversion unit that excludes the canvas in which the drawing object does not exist and is determined to be opaque by the canvas check unit, from the object of conversion processing from the page description language to an image ;
When the canvas is described in a nested structure in the page description language, the canvas check unit converts the page description language into an intermediate language while maintaining the canvas nested structure. An image processing apparatus comprising: an intermediate language conversion unit that removes a canvas that does not exist and whose transparency attribute is determined to be opaque when converting the canvas into the intermediate language .
透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理装置であって、
前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明のキャンバスを判定するキャンバスチェック部と、
前記キャンバスチェック部により前記描画オブジェクトが存在せず、かつ不透明と判断されたキャンバスを、前記ページ記述言語から画像への変換処理の対象から外す描画データ変換部と、
前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換する中間言語変換部と、
前記中間言語変換部により変換された中間言語をビットマップ変換する際に、前記キャンバスチェック部により前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスをビットマップ変換の対象としない描画データ処理部とを有する
ことを特徴とする画像処理装置。
An image processing apparatus that converts a page description language including a drawing object having a transparency attribute and a canvas having a transparency attribute serving as a basis for drawing the drawing object into an image,
A canvas check unit for determining a canvas in which a drawing object does not exist on the canvas and the transparency attribute is opaque;
A drawing data conversion unit that excludes the canvas in which the drawing object does not exist and is determined to be opaque by the canvas check unit, from the object of conversion processing from the page description language to an image;
An intermediate language conversion unit that converts the page description language into an intermediate language while maintaining the nested structure of the canvas when the canvas is described in a nested structure in the page description language;
When the intermediate language converted by the intermediate language conversion unit is bitmap-converted, the canvas check unit by which the drawing object does not exist and the transparency attribute is determined to be opaque is not subjected to bitmap conversion. An image processing apparatus comprising: a drawing data processing unit .
請求項1又は2の画像処理装置であって、
前記描画データ変換部は、前記キャンバスチェック部によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスについて、透明度属性の合成であるアルファブレンド演算のために必要なメモリ容量を確保しない
ことを特徴とする画像処理装置。
The image processing apparatus according to claim 1 or 2,
The drawing data conversion unit has a memory capacity required for an alpha blending operation, which is a composition of transparency attributes, for a canvas in which the drawing object does not exist and the transparency attribute is determined to be opaque by the canvas check unit. An image processing apparatus characterized by not securing .
請求項1〜3のいずれかの画像処理装置であって、
前記ページ記述言語がXML(Extended Markup Language)拡張形式により記述されたものである
ことを特徴とする画像処理装置。
The image processing apparatus according to any one of claims 1 to 3 ,
An image processing apparatus, wherein the page description language is described in an XML (Extended Markup Language) extended format .
透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理方法であって、
前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明なキャンバスを判定し、
前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記ページ記述言語から画像への変換処理の対象から外し、
前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換する際に、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記中間言語への変換の際に取り除く
ことを特徴とする画像処理方法
An image processing method for converting a page description language including a drawing object having a transparency attribute and a canvas having a transparency attribute as a basis for drawing the drawing object into an image,
Determining a canvas on which no drawing object exists and the transparency attribute is opaque;
The canvas in which the drawing object does not exist and the transparency attribute is determined to be opaque is excluded from the conversion process from the page description language to the image,
When the canvas is described in a nested structure in the page description language, when the page description language is converted to an intermediate language while maintaining the nested structure of the canvas, the drawing object does not exist and the transparency An image processing method , wherein a canvas whose attribute is determined to be opaque is removed during conversion to the intermediate language .
透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する画像処理方法であって、
前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明なキャンバスを判定し、
前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記ページ記述言語から画像への変換処理の対象から外し、
前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換し、
前記変換された中間言語をビットマップ変換する際に、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスをビットマップ変換の対象としない、
ことを特徴とする画像処理方法。
An image processing method for converting a page description language including a drawing object having a transparency attribute and a canvas having a transparency attribute as a basis for drawing the drawing object into an image,
Determining a canvas on which no drawing object exists and the transparency attribute is opaque;
The drawing object does not exist, and then out of the target of the conversion process the transparency attribute is determined that opaque canvas to the image from the page description language,
When the canvas is described in a nested structure in the page description language, the page description language is converted into an intermediate language while maintaining the canvas nested structure,
When the converted intermediate language is bitmap-converted, the drawing object does not exist and the canvas whose transparency attribute is determined to be opaque is not subject to bitmap conversion.
An image processing method.
コンピュータに透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する機能を実現させる画像処理プログラムであって、
前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明なキャンバスを判定するキャンバスチェック機能と、
前記キャンバスチェック機能によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記ページ記述言語から画像への変換処理の対象から外す描画データ処理機能と、
前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換する際に、前記キャンバスチェック機能によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記中間言語への変換の際に取り除く中間言語変換機能とを
コンピュータに実現させることを特徴とする画像処理プログラム。
An image processing program for realizing a function of converting a page description language into an image including a drawing object having a transparency attribute and a canvas having a transparency attribute serving as a basis for drawing the drawing object on a computer,
A canvas check function for determining a canvas in which a drawing object does not exist on the canvas and the transparency attribute is opaque;
A drawing data processing function for excluding a canvas from which the drawing object does not exist and the transparency attribute is determined to be opaque by the canvas check function from the object of conversion processing from the page description language to an image ;
When the canvas is described in a nested structure in the page description language, when the page description language is converted into an intermediate language while maintaining the nested structure of the canvas, the canvas check function causes the drawing object to be displayed. An image processing program that causes a computer to realize an intermediate language conversion function that removes a canvas, which does not exist and whose transparency attribute is determined to be opaque, at the time of conversion to the intermediate language .
コンピュータに透明度属性を有する描画オブジェクトと、前記描画オブジェクトを描画する土台となる透明度属性を有するキャンバスとを含むページ記述言語を画像に変換処理する機能を実現させる画像処理プログラムであって、An image processing program for realizing a function of converting a page description language into an image including a drawing object having a transparency attribute and a canvas having a transparency attribute serving as a basis for drawing the drawing object on a computer,
前記キャンバス上に描画オブジェクトが存在せず、かつ透明度属性が不透明なキャンバスを判定するキャンバスチェック機能と、A canvas check function for determining a canvas in which a drawing object does not exist on the canvas and the transparency attribute is opaque;
前記キャンバスチェック機能によって、前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスを前記ページ記述言語から画像への変換処理の対象から外す描画データ処理機能と、A drawing data processing function for excluding a canvas from which the drawing object does not exist and the transparency attribute is determined to be opaque by the canvas check function from the object of conversion processing from the page description language to an image;
前記ページ記述言語中に前記キャンバスが入れ子構造に記述された場合に、前記ページ記述言語を前記キャンバスの入れ子構造を保ったまま中間言語に変換する中間言語変換機能と、An intermediate language conversion function for converting the page description language to an intermediate language while maintaining the nested structure of the canvas when the canvas is described in a nested structure in the page description language;
前記中間言語変換機能により変換された中間言語をビットマップ変換する際に、前記キャンバスチェック機能により前記描画オブジェクトが存在せず、かつ透明度属性が不透明と判断されたキャンバスをビットマップ変換の対象としない描画データ処理機能とをWhen bitmap conversion is performed on the intermediate language converted by the intermediate language conversion function, the canvas that is determined not to have the drawing object and the transparency attribute is determined to be opaque by the canvas check function is not subjected to bitmap conversion. With drawing data processing function
コンピュータに実現させることを特徴とする画像処理プログラム。An image processing program which is realized by a computer.
JP2008251314A 2008-09-26 2008-09-29 Image processing apparatus, image processing method, and image processing program Expired - Fee Related JP5033746B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008251314A JP5033746B2 (en) 2008-09-29 2008-09-29 Image processing apparatus, image processing method, and image processing program
US12/586,748 US8314951B2 (en) 2008-09-26 2009-09-25 Image processing apparatus, and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008251314A JP5033746B2 (en) 2008-09-29 2008-09-29 Image processing apparatus, image processing method, and image processing program

Publications (2)

Publication Number Publication Date
JP2010086043A JP2010086043A (en) 2010-04-15
JP5033746B2 true JP5033746B2 (en) 2012-09-26

Family

ID=42249990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008251314A Expired - Fee Related JP5033746B2 (en) 2008-09-26 2008-09-29 Image processing apparatus, image processing method, and image processing program

Country Status (1)

Country Link
JP (1) JP5033746B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6494249B2 (en) 2014-11-12 2019-04-03 キヤノン株式会社 Image forming apparatus, image forming method, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887406A (en) * 1994-09-19 1996-04-02 Fuji Electric Co Ltd Program display device
CN100545831C (en) * 2006-09-27 2009-09-30 北京大学 A kind of grating processing method of transparent page and device

Also Published As

Publication number Publication date
JP2010086043A (en) 2010-04-15

Similar Documents

Publication Publication Date Title
JP5028372B2 (en) Image processing apparatus, image processing method, and image processing program
JP4917642B2 (en) Trapping system and method for digital color printing
JP6205742B2 (en) Image processing apparatus, image processing method, and image processing program
JP2016095580A (en) Image forming apparatus, image forming method, and program
JP5261250B2 (en) Print data processing apparatus, method, and computer-readable medium for processing page description language
JP5539672B2 (en) System and method for color mixing in multiple modes
JP5732935B2 (en) Information processing apparatus, print control program, and computer-readable recording medium
US9229914B2 (en) Optimizing the layout of electronic documents by reducing presentation size of content within document sections so that when combined a plurality of document sections fit within a page
JP5033746B2 (en) Image processing apparatus, image processing method, and image processing program
JP2010105388A (en) Image forming device
JP5007291B2 (en) Image processing apparatus, image processing method, and image processing program
JP5028373B2 (en) Image processing apparatus, image processing method, and image processing program
JP2010087792A (en) Image forming apparatus and program
JP5033747B2 (en) Image processing apparatus, image processing method, and image processing program
CN106341572B (en) The colour switching of method for supporting to(for) pre-multiplied data
JP2017097463A (en) Print control system, print control device, and program
US20150261486A1 (en) Image processing apparatus and image processing method
JP2011025539A (en) Printing device, image output system, rendering method and program
JP2011065413A (en) Image-processing device, image-processing method, and image-processing program
JP2008299845A (en) Rendering system and rendering method for transparent object
JP5094667B2 (en) Image processing apparatus, image processing method, and image processing program
US20140089784A1 (en) Page data generation apparatus, recording medium, and page data generation method
US8913294B2 (en) Image processing apparatus and image processing system
JP2010274534A (en) Image forming device and image forming program
JP2009101662A (en) Printing processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120518

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5033746

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees