(57)【要約】【課題】用いられているページ記述言語が明示的に示されていない印刷データの言語の判定を、従来よりも高精度或いは高速に行える印刷装置を、提供する。【解決手段】印刷装置を、言語指定コマンドを含まない印刷データ（用いられているページ記述言語が明示的に示されていない印刷データ）を受信した場合（Ｓ１０１；ＮＯ）、まず、その印刷データの先頭の所定サイズのデータから、用いられているページ記述言語の判定を試み（Ｓ１０２，Ｓ１０３）、その判定結果の確度が低かった場合（算出した上位２つの構文規則一致度の差が一致度閾値以上でなかった場合：Ｓ１０３；ＮＯ）には、判定に用いたデータの後方のデータも用いて、印刷データに用いられているページ記述言語を判定する（Ｓ１０４）装置として構成しておく。【選択図】図２
2007241758.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のページ記述言語の中の，いずれのページ記述言語が用いられている印刷データも受信可能な印刷装置であって、
印刷エンジンと、
印刷データを受信して、受信した印刷データに応じた内容の印刷物を前記印刷エンジンに印刷させるためのコントローラと
を、備え、
前記コントローラが、
受信した印刷データが、用いられているページ記述言語が明示的に示されていないものであった場合、
受信した印刷データ先頭の所定サイズのデータ中の各コマンドが、前記複数種類のページ記述言語のそれぞれに関する構文規則に従ったものであるか否かをチェックすることにより，当該所定サイズのデータ中の各コマンド群についての，前記複数種類のページ記述言語のそれぞれに関する構文規則一致度を算出し、算出した上位２つの構文規則一致度の差が一致度閾値以上であった場合には、最も大きな構文規則一致度が算出されたページ記述言語が，前記印刷データに用いられているページ記述言語であると判定し、算出した上位２つの構文規則一致度の差が一致度閾値以上でなかった場合には、前記印刷データの，前記所定サイズのデータに続くデータ中の各コマンドの内容も考慮に入れて、前記印刷データに用いられているページ記述言語が何であるかを判定する言語判定処理と、
この言語判定処理により判定されたページ記述言語が用いられている印刷データであるとして、受信した印刷データの内容を解釈することにより、その印刷データに応じた内容の印刷物を前記印刷エンジンに印刷させる印刷制御処理と
を行うユニットである
ことを特徴とする印刷装置。
【請求項２】
算出した上位２つの構文規則一致度の差が一致度閾値以上でなかった場合、前記印刷データの，前記所定サイズのデータに続く，追加判定用データ中の各コマンドの内容も考慮に入れた，前記複数種類のページ記述言語のそれぞれに関する構文規則一致度を算出し、最も大きな構文規則一致度が算出されたページ記述言語が，前記印刷データに用いられているページ記述言語であると判定する処理である
ことを特徴とする請求項１記載の印刷装置。
【請求項３】
前記コントローラが、
前記印刷制御処理に使用される，前記印刷データの前記追加判定用データのサイズを、ユーザが指定可能なユニットである
ことを特徴とする請求項２記載の印刷装置。
【請求項４】
前記印刷制御処理が、
受信した印刷データに含まれる、言語判定処理により判定されたページ記述言語の構文規則に従っていない不正コマンドの数をカウントしながら行われる処理であると共に、不正コマンドのカウント結果が所定数を超えたときに、受信した印刷データに対する処理を中止する処理である
ことを特徴とする請求項１乃至請求項３のいずれかに記載の印刷装置。
【請求項５】
前記印刷制御処理が、
２ページ目以降の各ページの印刷時には、印刷データに含まれる不正コマンドの数をカウントしない処理である
ことを特徴とする請求項１乃至請求項４のいずれかに記載の印刷装置。
【請求項６】
複数種類のページ記述言語の中の，いずれのページ記述言語が用いられている印刷データも受信可能な印刷装置であって、
印刷エンジンと、
印刷データを受信して、受信した印刷データに応じた内容の印刷物を前記印刷エンジンに印刷させるためのコントローラと
を、備え、
前記コントローラが、
受信した印刷データが、用いられているページ記述言語が明示的に示されていないものであった場合、
受信した印刷データ先頭のデータから、当該印刷データに用いられているページ記述言語が何であるかを判定する言語判定処理と、
この言語判定処理により判定されたページ記述言語が用いられている印刷データであるとして、受信した印刷データの内容を解釈することにより、その印刷データに応じた内容の印刷物を前記印刷エンジンに印刷させる処理である共に、その処理中に、受信した印刷データに含まれる，前記言語判定処理により判定されたページ記述言語の構文規則に従っていない不正コマンドの数のカウントが行われ、不正コマンドのカウント結果が所定数を超えたときに、受信した印刷データに対する処理が中止される処理である印刷制御処理と
を行うユニットである
ことを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数種類のページ記述言語の中の，いずれのページ記述言語が用いられている印刷データも受信可能な印刷装置に、関する。
【背景技術】
【０００２】
周知のように、現在、市販されている印刷装置（プリンタ，複合機等）の中には、複数種類のページ記述言語を解釈可能な装置（複数種類のページ記述言語の中の，いずれのページ記述言語が用いられている印刷データも受信可能な装置）が、存在している。
【０００３】
そのような印刷装置が受信する印刷データは、通常は、自データに用いられているページ記述言語が何であるかを示す情報（以下、言語指定コマンドと表記する）が含まれているものである。ただし、印刷装置の使用形態によっては、言語指定コマンドを含まない印刷データが送信されてくることもあるので、そのような印刷データの印刷も行えるようにするために、『言語指定コマンドを含まない印刷データを受信した場合、その印刷データを、特定のページ記述言語が用いられているデータであるとして取り扱う印刷装置』や、『言語指定コマンドを含まない印刷データを受信した場合、当該印刷データの先頭の所定サイズのデータの内容から、用いられているページ記述言語を判定する印刷装置』（例えば、特許文献１参照。）が、開発されている。
【０００４】
そして、ページ記述言語の判定を行うタイプの印刷装置の方が、当然、誤った印刷が行われることが少ない装置となっているのであるが、既存の印刷装置で用いられている言語判定手順は、言語の判定精度を向上させると（ページ記述言語の判定に用いるデータサイズを大きくすると）、言語の判定が完了するまでの時間（＝印刷データの実際の処理が開始されるまでの時間）が長くなってしまうものとなっている。
【０００５】
【特許文献１】特開平８−２０６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで、本発明の第１の課題は、用いられているページ記述言語が明示的に示されていない印刷データの言語の判定を、従来よりも高精度或いは高速に行える印刷装置を、提供することにある。
【０００７】
また、本発明の第２の課題は、ページ記述言語の判定が間違った結果として無駄な印刷が行われることを防止できる印刷装置を、提供することにある。
【課題を解決するための手段】
【０００８】
上記第１の課題を解決するために、本発明の印刷装置は、印刷エンジンと、印刷データを受信して、受信した印刷データに応じた内容の印刷物を印刷エンジンに印刷させるためのコントローラであって、受信した印刷データが、用いられているページ記述言語が明示的に示されていないものであった場合、受信した印刷データ先頭の所定サイズのデータ中の各コマンドが、複数種類のページ記述言語のそれぞれに関する構文規則に従ったものであるか否かをチェックすることにより，当該所定サイズのデータ中の各コマンド群についての，複数種類のページ記述言語のそれぞれに関する構文規則一致度を算出し、算出した上位２つの構文規則一致度の差が一致度閾値以上であった場合には、最も大きな構文規則一致度が算出されたページ記述言語が，印刷データに用いられているページ記述言語であると判定し、算出した上位２つの構文規則一致度の差が一致度閾値以上でなかった場合には、印刷データの，所定サイズのデータに続くデータ中の各コマンドの内容も考慮に入れて、印刷データに用いられているページ記述言語が何であるかを判定する言語判定処理と、この言語判定処理により判定されたページ記述言語が用いられている印刷データであるとして、受信した印刷データの内容を解釈することにより、その印刷データに応じた内容の印刷物を印刷エンジンに印刷させる印刷制御処理とを行うコントローラとを、備える。
【０００９】
すなわち、本発明の印刷装置は、用いられているページ記述言語が明示的に示されていない印刷データを受信した場合、まず、その印刷データの先頭の所定サイズのデータから、用いられているページ記述言語の判定を試み、その判定結果の確度が低かった場合（算出した上位２つの構文規則一致度の差が一致度閾値以上でなかった場合）には、判定に用いたデータの後方のデータも用いて、印刷データに用いられているページ記述言語を判定する装置となっている。従って、この印刷装置は、印刷データの先頭の同サイズ（所定サイズ）のデータのみから、ページ記述言語の判定を行う装置よりも、ページ記述言語の判定を高精度に行える装置として機能することになる。
【００１０】
本発明の印刷装置を実現するに際しては、言語判定処理が、算出した上位２つの構文規則一致度の差が一致度閾値以上でなかった場合、印刷データの，所定サイズのデータに続く，追加判定用データ中の各コマンドの内容も考慮に入れた，複数種類のページ記述言語のそれぞれに関する構文規則一致度を算出し、最も大きな構文規則一致度が算出されたページ記述言語が，印刷データに用いられているページ記述言語であると判定する処理となるようにしておくことが出来る。なお、このような形で、本発明の印刷装置を実現しておいた場合には、印刷データの先頭の所定サイズのデータのみから，ページ記述言語の判定を行う装置よりも、ページ記述言語の判定を高精度に行え、印刷データ先頭の所定サイズのデータと追加判定用データとから，ページ記述言語の判定を行う装置よりも、ページ記述言語の判定に要する平均的な時間が短い装置が、得られることになる。
【００１１】
本発明の印刷装置を実現するに際しては、印刷制御処理が、受信した印刷データに含まれる、言語判定処理により判定されたページ記述言語の構文規則に従っていない不正コマンドの数をカウントしながら行われる処理であると共に、不正コマンドのカウント結果が所定数を超えたときに、受信した印刷データに対する処理を中止する処理となるようにしておくことが出来る。そして、このような形で、本発明の印刷装置を実現しておけば、第２の課題も解決できる印刷装置を得ることが出来ることになる。
【００１２】
不正コマンドの数をカウントする印刷制御処理が行われるように、本発明の印刷装置を構成する場合には、印刷制御処理が、２ページ目以降の各ページの印刷時には、印刷データに含まれる不正コマンドの数をカウントしない処理となるようにしておくことが出来る。
【００１３】
また、本発明の他の態様の印刷装置は、印刷エンジンと、印刷データを受信して、受信した印刷データに応じた内容の印刷物を印刷エンジンに印刷させるためのコントローラであって、受信した印刷データが、用いられているページ記述言語が明示的に示されていないものであった場合、受信した印刷データ先頭のデータから、当該印刷データに用いられているページ記述言語が何であるかを判定する言語判定処理と、この言語判定処理により判定されたページ記述言語が用いられている印刷データであるとして、受信した印刷データの内容を解釈することにより、その印刷データに応じた内容の印刷物を印刷エンジンに印刷させる処理である共に、その処理中に、受信した印刷データに含まれる，言語判定処理により判定されたページ記述言語の構文規則に従っていない不正コマンドの数のカウントが行われ、不正コマンドのカウント結果が所定数を超えたときに、受信した印刷データに対する処理が中止される処理である印刷制御処理とを行うコントローラとを備える。
【００１４】
すなわち、この印刷装置は、言語判定処理によるページ記述言語の判定結果が誤っていた場合、印刷データの印刷を中止する構成を有している。従って、この印刷装置は、第２の課題を解決できる装置として機能することになる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【００１６】
まず、図１を用いて、本発明の第１〜第３実施形態に係る印刷装置１０1〜１０3の概要を、説明する。
【００１７】
図１に模式的に示してあるように、本発明の各実施形態に係る印刷装置１０X（Ｘ＝１〜３）は、コントローラ１１X，操作パネル１２及び印刷エンジン１３を備えた装置である。
【００１８】
各印刷装置１０Xが備える操作パネル１２は、ユーザとの間のインターフェイス手段として、印刷装置１０Xの筐体上面に設けられているユニットである。この操作パネルは、ＬＣＤ，複数の押しボタンスイッチ等を備えたユニットとなっている。印刷エンジン１３は、コントローラ１１Xから供給されるページデータ（１ページ分の描画内容を規定するデータ）に応じた内容の印刷（画像形成）を用紙上に行うユニットである。
【００１９】
コントローラ１１Xは、ＣＰＵ，ＲＯＭ，ＲＡＭ，ＥＥＰＲＯＭ等からなる，印刷装置１０Xをプリンタとして動作させるためのユニットである。
【００２０】
各コントローラ１１XのＥＥＰＲＯＭ上には、数値情報である追加判定サイズ値（初期値は、“１”；用途は後述）が記憶されている。そして、各コントローラ１１Xは、ＥＥＰＲＯＭ上の追加判定サイズ値を、ユーザが操作パネル１２を操作することによって指定した値に変更する機能、第１ページ記述言語，第２ページ記述言語或いは第３ページ記述言語（以下、第ｎ言語とも表記する）が用いられている印刷データを受信して，受信した印刷データに応じた内容の印刷を印刷エンジン１３に行わせる機能等を有するユニットとなっている。
【００２１】
以上のことを前提に、以下、各実施形態に係る印刷装置１０Xの構成及び動作を、さらに具体的に説明する。
【００２２】
各印刷装置１０X内のコントローラ１１Xは、いずれも、印刷データを受信した場合には、まず、図２に示した手順の言語判定処理を行うユニットとなっている。
【００２３】
すなわち、印刷データを受信した場合、コントローラ１１Xは、まず、受信した印刷データの先頭に，自データに用いられているページ記述言語（の種類）を示す言語指定コマンドが含まれているか否かを判断する(ステップＳ１０１)。
【００２４】
そして、コントローラ１１Xは、印刷データの先頭に，言語指定コマンドが含まれていた場合(ステップＳ１０１；ＹＥＳ)には、印刷データに用いられているページ記述言語の判定結果として，その言語指定コマンドが示しているページ記述言語を示す言語種類情報と，判定結果が推定結果ではないことを示す判定種別情報（用途は後述）とを、記憶(ステップＳ１０６)してから、この言語判定処理を終了する。
【００２５】
一方、印刷データの先頭に，言語指定コマンドが含まれていなかった場合(ステップＳ１０１；ＹＥＳ)、コントローラ１１Xは、印刷データ先頭の標準判定用データに含まれる各コマンドの内容から、第１〜第３ページ記述言語のそれぞれに関する構文規則一致度を算出する処理(ステップＳ１０２)を行う。ここで、標準判定用データとは、予め定められている標準判定サイズ（例えば、１００バイト）分のデータのことである。また、第ｎページ記述言語に関する構文規則一致度とは、“標準判定用データ中の，第ｎページ記述言語に関する構文規則に従っている（則っている）コマンド数−標準判定用データ中の，第ｎページ記述言語に関する構文規則に従っていないコマンド数”のことである。
【００２６】
ステップＳ１０２の処理を終えたコントローラ１１Xは、当該処理にて算出された上位２つの構文規則一致度の差（最も大きな構文規則一致度から，次に大きな構文規則一致度を減じた値）が、予め定められている一致度閾値（本実施形態では、“２”）以上であるか否かを判断する(ステップＳ１０３)。
【００２７】
そして、コントローラ１１Xは、上位２つの構文規則一致度の差が一致度閾値以上であった場合(ステップＳ１０３；ＹＥＳ)には、印刷データに用いられているページ記述言語の判定結果として、最も大きな構文規則一致度が算出されたページ記述言語を示す言語種類情報と，判定結果が推定結果であることを示す判定種別情報とを、記憶(ステップＳ１０５)してから、この言語判定処理を終了する。
【００２８】
一方、上位２つの構文規則一致度の差が一致度閾値以上でなかった場合(ステップＳ１０３；ＮＯ)、コントローラ１１Xは、印刷データの追加判定用データに含まれる各コマンドの内容も考慮した，各ページ記述言語に関する構文規則一致度を算出する処理(ステップＳ１０４)を行う。ここで、追加判定用データとは、標準判定用データに続く，追加判定サイズ値（ＥＥＰＲＯＭ上の，ユーザが変更可能な値）に応じたサイズ（本実施形態では、追加判定サイズ値×標準判定サイズ）のデータのことである。また、印刷データの，追加判定用データに含まれる各コマンドの内容も考慮した，各ページ記述言語に関する構文規則一致度とは、ステップＳ１０２の処理で算出された各ページ記述言語に関する構文規則一致度に、追加判定用データから求めた各ページ記述言語に関する構文規則一致度を加算した値のことである。
【００２９】
ステップＳ１０４の処理を終えたコントローラ１１Xは、ステップＳ１０５の処理，すなわち，ステップＳ１０４の処理により算出された構文規則一致度に応じた判定結果（言語種類情報及び判定種別情報）を記憶する処理を行ってから、この言語判定処理を終了する。
【００３０】
各印刷装置１０X内のコントローラ１１Xは、このような内容の言語判定処理を行うユニットであると共に、この言語判定処理終了後の動作内容が互いに異なるユニットとなっている。
【００３１】
具体的には、コントローラ１１1は、言語判定処理の終了後、以下のように動作するユニットとなっている。
【００３２】
言語判定処理を終えたコントローラ１１1は、まず、言語判定処理の判定結果が推定結果であるか否か（判定種別情報が，判定結果が推定結果であることを示す情報，判定結果が推定結果ではないことを示す情報のいずれであるか）を判断し、言語判定処理の判定結果が推定結果ではなかった場合には、言語判定処理の判定結果（言語種類情報）が示している言語用の，通常の印刷制御処理（既存のページプリンタ内のコントローラが行っているものと同内容の処理）を開始する。
【００３３】
一方、言語判定処理の判定結果が推定結果であった場合、コントローラ１１1は、言語判定処理の判定結果（言語種類情報）が示している言語用の、図３に示した手順の印刷制御処理を開始する。
【００３４】
すなわち、言語判定処理の判定結果が推定結果であった場合に、コントローラ１１１が実行する印刷制御処理は、第１ページに関するページデータの生成時に、第１ページに関する印刷データ（コマンド群）に含まれている不正コマンド（構文規則に従っていないコマンド）の数をカウント(ステップＳ２０１，Ｓ２０４及びＳ２０５)し、第１ページに関するページデータが完成する前に、不正コマンド数が，予め定められている不正コマンド許容数を超えた場合(ステップＳ２０６；ＹＥＳ)には、作成中のぺージデータと処理対象となっている印刷データとを破棄(ステップＳ２０７)して終了する処理（処理対象となっている印刷データの処理を中止する処理）となっている。さらに、印刷制御処理は、第２ページ以降の各ページに関するページデータの生成時（ステップＳ２１１〜Ｓ２１４）には、不正コマンド数のカウントや，不正コマンド数と不正コマンド許容数との比較が行われない処理となっている。
【００３５】
そして、コントローラ１１2，１１3は、この言語判定処理（図３）の代わりに、それぞれ、図４，図５に示した手順の印刷制御処理を行うように構成されたユニットとなっている。
【００３６】
すなわち、コントローラ１１2は、言語判定処理の判定結果が推定結果であった場合、各ページに関するページデータの生成時に、各ページに関する印刷データ（コマンド群）に含まれている不正コマンドの数（１ページ分の印刷データに含まれている不正コマンドの数）をカウント(ステップＳ３０１，Ｓ３０４及びＳ３０５)し、何ページ目かのページデータの生成中に，不正コマンド数が不正コマンド許容数を超えた場合(ステップＳ３０６；ＹＥＳ)には、作成中のぺージデータと処理対象となっている印刷データとを破棄(ステップＳ３０７)する状態で動作するユニットとなっている。
【００３７】
また、コントローラ１１3は、言語判定処理の判定結果が推定結果であった場合、それまで処理した印刷データ（コマンド群）に含まれていた不正コマンドの数をカウント(ステップＳ４０１，Ｓ４０４及びＳ４０５)し、不正コマンド数が不正コマンド許容数を超えたとき(ステップＳ４０６；ＹＥＳ)に、作成中のぺージデータと処理対象となっている印刷データとを破棄(ステップＳ４０７)する状態で動作するユニットとなっている。
【００３８】
以上、説明したように、本発明の各実施形態に係る印刷装置１０Xは、言語指定コマンドが含まれていない印刷データを受信した場合、その印刷データ中の標準判定用データ（受信した印刷データ先頭の所定サイズのデータ）を用いて、第１〜第３ページ記述言語のそれぞれに関する構文規則一致度を算出し、算出した上位２つの構文規則一致度の差が一致度閾値以上であった場合には、最も大きな構文規則一致度が算出されたページ記述言語が，印刷データに用いられている言語であると判定する装置であると共に、算出した上位２つの構文規則一致度の差が一致度閾値以上でなかった場合には、第１〜第３ページ記述言語に関する，追加判定用データの内容も考慮に入れた構文規則一致度を算出し、最も大きな構文規則一致度が算出されたページ記述言語が，印刷データに用いられている言語であると判定する装置となっている。
【００３９】
従って、各実施形態に係る印刷装置１０Xは、印刷データ中の，標準判定用データと同サイズのデータから，従来と同様の手順でページ記述言語の判定を行う装置よりも、ページ記述言語の判定を高精度に行え、印刷データ中の，“標準判定用データ＋追加判定用データ”と同サイズのデータから，従来と同様の手順でページ記述言語の判定を行う装置よりも、ページ記述言語の判定に要する平均的な時間が、短い装置として機能することになる。
【００４０】
また、印刷装置１０Xは、言語指定コマンドが含まれていない印刷データを受信した場合には、その印刷データ中の不正コマンド数をチェックし、不正コマンド数が不正コマンド許容数を上回った場合には、処理を中止する装置となっている。従って、各実施形態に係る印刷装置１０Xを用いておけば、ページ記述言語の判定が間違った結果として無駄な印刷が行われることを防止できることになる。さらに、印刷装置１０Xは、追加判定用データのサイズをユーザが変更できる装置であるため、印刷装置１０Xを用いておけば、ページ記述言語が誤って判定されてしまった印刷データを正常に印刷させることも可能となる。
【００４１】
《変形形態》
上記した各実施形態に係る印刷装置１０Xは、各種の変形を行うことが出来る。例えば、印刷装置１０Xを、標準判定用データのサイズも，ユーザが指定できる装置に変形することが出来る。また、印刷装置１０Xを、何個かのコマンドのチェックが完了する度に，上位２つの構文規則一致度の差が一致度閾値以上であるか否かを判断する言語判定処理（上位２つの構文規則一致度の差が一致度閾値以上となったときと、所定サイズのデータ中の各コマンドのチェックが完了したときに、終了する処理）を行う装置に変形しておくことも出来る。
【図面の簡単な説明】
【００４２】
【図１】本発明の第１〜第３実施形態に係る印刷装置の構成図。
【図２】各実施形態に係る印刷装置のコントローラが実行する言語判定処理の流れ図。
【図３】第１実施形態に係る印刷装置のコントローラが，言語判定処理の判定結果が推定結果であった場合に実行する印刷制御処理の流れ図。
【図４】第２実施形態に係る印刷装置のコントローラが，言語判定処理の判定結果が推定結果であった場合に実行する印刷制御処理の流れ図。
【図５】第３実施形態に係る印刷装置のコントローラが，言語判定処理の判定結果が推定結果であった場合に実行する印刷制御処理の流れ図。
【符号の説明】
【００４３】
１０1〜１０3  印刷装置、  １１1〜１１3  コントローラ、  １２  操作パネル
１３  印刷エンジン
【図１】
2007241758.tif 000003
【図２】
2007241758.tif 000004
【図３】
2007241758.tif 000005
【図４】
2007241758.tif 000006
【図５】
2007241758.tif 000007