JP4420858B2 - Method and computer program for providing automatic language switching - Google Patents

Method and computer program for providing automatic language switching Download PDF

Info

Publication number
JP4420858B2
JP4420858B2 JP2005167313A JP2005167313A JP4420858B2 JP 4420858 B2 JP4420858 B2 JP 4420858B2 JP 2005167313 A JP2005167313 A JP 2005167313A JP 2005167313 A JP2005167313 A JP 2005167313A JP 4420858 B2 JP4420858 B2 JP 4420858B2
Authority
JP
Japan
Prior art keywords
language
format
image data
data stream
recognized
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.)
Active
Application number
JP2005167313A
Other languages
Japanese (ja)
Other versions
JP2006048649A (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.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/865,394 external-priority patent/US7420701B2/en
Application filed by Sharp Corp filed Critical Sharp Corp
Publication of JP2006048649A publication Critical patent/JP2006048649A/en
Application granted granted Critical
Publication of JP4420858B2 publication Critical patent/JP4420858B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、画像のレンダリングに関する。特に本発明は、言語を切り替える言語スイッチが存在しない場合に入力された画像データストリームの言語フォーマットを正確に認識することにより言語を切り替えることができる自動言語切り替えを提供する方法、及びコンピュータプログラムに関する。   The present invention relates to image rendering. In particular, the present invention relates to a method and a computer program for providing automatic language switching capable of switching languages by accurately recognizing the language format of an input image data stream when there is no language switch for switching languages.

現在、デバイスの印刷エンジン特有のラスタ・データ等の単一の言語フォーマットのみをサポートする画像デバイス及び多くのラスタ専用デバイスが市販されている。このようなデバイスの場合、画像データは事前のチェックなしに印刷データインタプリタにより印刷される。入力が正しい言語フォーマットであれば、全ての入力が認識され、ジョブが出力される。正しい言語フォーマットでなく入力の一部または全てが認識されなければ、ジョブは出力されない。図1は、単一言語サポート式のプリンタ技術を示す。   Currently, image devices and many raster-only devices that support only a single language format, such as raster data specific to the device's print engine, are commercially available. In such a device, the image data is printed by a print data interpreter without a prior check. If the input is in the correct language format, all input is recognized and the job is output. If some or all of the input is not recognized in the correct language format, the job will not be output. FIG. 1 illustrates a single language supported printer technology.

多言語サポート式の画像デバイス技術は、画像データに先行した明示的な言語スイッチを要求する。多言語サポート式の画像デバイス技術において、何らかのコマンド又はデータが、後続の画像データの言語フォーマットを指定する周知の、または予め決められたフォーマットで画像デバイスに読み取られる。例えば、プリンタジョブ言語(PJL)のコマンド@PJL ENTER LANGUAGE=<language>をサポートすることによって明示的な言語切り替えをサポートする画像デバイスが存在する。指定された言語がデバイスによってサポートされていれば、画像データは対応するインタプリタのベースにされる。サポートされていなければ、入力は拒絶され、ジョブは出力されない。図2は、多言語サポート式プリンタ技術を示す。   Multi-language supported image device technology requires an explicit language switch preceding the image data. In multi-language supported image device technology, some command or data is read into the image device in a known or predetermined format that specifies the language format of subsequent image data. For example, there are image devices that support explicit language switching by supporting the printer job language (PJL) command @PJL ENTER LANGUAGE = <language>. If the specified language is supported by the device, the image data is based on the corresponding interpreter. If it is not supported, the input is rejected and the job is not output. FIG. 2 illustrates a multi-language supported printer technology.

明示的な言語スイッチの使用は、異種類の画像データ生成装置が画像ジョブを構築する単一の仕様に適合しない可能性があるが、そうでなければそのデバイスと互換性のある画像データを発生する様々な入力環境に限定される。例えば、画像デバイスの製造者は明示的な切り替え仕様を有する一環境のためのデバイス・ドライバを供給する可能性があるが、そのデバイスは、明示的な言語スイッチを使用せずに画像データを発生する可能性のある別の環境において使用することが可能である。   The use of an explicit language switch may result in different types of image data generators not meeting the single specification for building an image job, but otherwise generating image data compatible with that device Limited to various input environments. For example, an image device manufacturer might supply a device driver for an environment that has an explicit switching specification, but that device generates image data without using an explicit language switch. It can be used in other environments where it may be.

米国特許第5,960,113号には、以下の技術が開示されている。すなわち、入力ストリームの最初のバイト・サンプルが予め読み取られ、言語認識プロセスへ送られる。サポートされる各言語について、バイト・サンプル内の特殊なサインを探す等の言語別認識テストを備えている。本技術は各言語別認識テストを、言語フォーマットが認識されるまで予め決められた順序で適用する。こうして言語が認識された場合、入力ストリームは対応する言語インタプリタで処理される。   US Pat. No. 5,960,113 discloses the following technique. That is, the first byte sample of the input stream is pre-read and sent to the language recognition process. For each supported language, language-specific recognition tests such as looking for special signatures in byte samples are provided. The technology applies each language recognition test in a predetermined order until the language format is recognized. If the language is thus recognized, the input stream is processed by the corresponding language interpreter.

上述した技術は、言語認識装置の適用順序が予め決められていることから必ずしも言語認識において効率的でない可能性がある点において、未だ限定的要素を有する。例えば、ある環境においてはデバイスへの入力の大部分は言語Aである可能性があるが、これをテストする関連の言語認識装置は最後である可能性がある。従って、このような環境では、リソースはまず認識されようもない言語のために消費される。図3は、このタイプの技術を示す。   The technique described above still has a limited element in that it may not necessarily be efficient in language recognition since the application order of language recognition devices is determined in advance. For example, in some environments, the majority of input to the device may be language A, but the associated language recognizer that tests this may be last. Thus, in such an environment, resources are first consumed for languages that may not be recognized. FIG. 3 illustrates this type of technique.

米国特許第5,467,432号には、別の技術が開示されている。この技術では、入力ストリームの最初のバイト・サンプルが予め読み取られる。読み取られたバイト・サンプルは、言語認識装置グループ(例えば、サポートされる言語毎に1つ)と比較される。各言語認識装置は、示唆的ではあるがその言語の一部であることを必ずしも確定しないモード決定コードを探す。各モード決定コードについて、言語のインジケータである尤度の確率が割り当てられる。プロセスは、サンプル内で発見された全ての決定コードの確率を言語別に合計して完了する。次にプロセスは、確率合計が最高であった言語を選択する。   Another technique is disclosed in US Pat. No. 5,467,432. In this technique, the first byte sample of the input stream is pre-read. The read byte samples are compared to a language recognizer group (eg, one for each supported language). Each language recognizer looks for a mode decision code that is suggestive but does not necessarily determine that it is part of the language. For each mode decision code, a likelihood probability is assigned that is an indicator of the language. The process is completed by summing the probabilities of all decision codes found in the sample by language. The process then selects the language with the highest total probability.

この技術では、正しい言語を推定するだけであり、間違った言語を選択しがちである点でやはり限定的である。第2に、本技術の性能は、選択が実行されるまでに全ての言語を試験しなければならない点で非効率的である。図4は、このタイプの技術を示す。   This technique is also limited in that it only estimates the correct language and tends to select the wrong language. Second, the performance of the technique is inefficient in that all languages must be tested before the selection is performed. FIG. 4 illustrates this type of technique.

このように、現時点で言語切り替えを提供するために使用される技術は存在するが、依然として課題がある。従って、現行技術を他の技術で補強する、または置換することは技術を向上させることになると思われる。   Thus, while there are technologies currently used to provide language switching, there are still challenges. Therefore, augmenting or replacing current technology with other technologies would improve the technology.

本発明は、画像のレンダリング処理に関する。特に本発明は、言語スイッチが存在しない場合であっても、入力された画像データストリームの言語フォーマットを正確に認識することができる自動言語切り替えを提供する方法及びコンピュータシステムプロダクトに関する。   The present invention relates to an image rendering process. In particular, the present invention relates to a method and computer system product that provides automatic language switching that can accurately recognize the language format of an input image data stream even in the absence of a language switch.

多言語サポート式の言語デバイスが、言語フォーマットの表示のない画像データを受信した場合、画像デバイスは画像データをサンプリングして言語フォーマットを決定する。本発明は、明示的な言語スイッチ(例えば、自動言語切り替え)のない場合に画像データストリームの言語フォーマット(例えばPDL、他の言語等)を正確に認識するための効率的な方法が使用される画像レンダリングシステムで実行される。   When the multilingual support type language device receives image data without displaying the language format, the image device samples the image data to determine the language format. The present invention uses an efficient method for accurately recognizing the language format (eg, PDL, other languages, etc.) of the image data stream in the absence of an explicit language switch (eg, automatic language switching). Runs on an image rendering system.

少なくとも幾つかの実施態様においては、画像デバイスが入力画像データストリーム(例えば印刷ジョブ)を受信した場合、スニファ・プロセスが開始される。スニファ・プロセスは、入力ストリームの最初のサンプルを解析して言語フォーマット(例えばPDLまたは他の言語)を決定する。スニファは、コールバック関数として実装された言語認識装置セットを列挙することによってこれを行なう。各言語認識装置は、個々に関連づけられたサンプルのサイズを有する。スニファ・プロセスは、順序付けされた各言語認識装置で用いるサンプルのサイズを予め読み取り、このバイト・サンプルで対応するコールバック関数を呼び出す。順序付けは、言語認識装置が言語フォーマットの認識を認知するまで、または言語認識装置セットの全ての言語認識装置が選択されるまで継続する。   In at least some embodiments, the sniffer process is initiated when the imaging device receives an input image data stream (eg, a print job). The sniffer process analyzes the first sample of the input stream to determine the language format (eg, PDL or other language). The sniffer does this by enumerating a set of language recognizers implemented as callback functions. Each language recognizer has a sample size associated with it. The sniffer process pre-reads the sample size used by each ordered language recognizer and invokes the corresponding callback function with this byte sample. The ordering continues until the language recognizer recognizes recognition of the language format or until all language recognizers in the language recognizer set are selected.

順序付けは、動的な経験則に基づいたアプローチを使用し、言語認識装置を試す順序を選択する。経験則に基づいたアプローチは、言語が認識された回数の累計値を記憶することを含む。言語が認識された場合、対応する言語認識装置の回数の累計値が増分される。まず(例えば、最初のパワーアップ)、言語認識装置はランダムな順序に順序付けされる。少なくとも1回の言語認識に成功した場合、言語認識装置は言語が認識された回数の累計値に従って優先順に順序付けされる(例えば、言語認識回数が増加した装置は高位に移動する)。二以上の言語認識装置が同じ累計値を有する場合には、同じグループ内の優先順序はやはりランダムである。   Ordering uses a dynamic heuristics-based approach and selects the order in which the language recognizers are tried. A heuristic-based approach involves storing the cumulative number of times a language has been recognized. When a language is recognized, the cumulative number of times of the corresponding language recognition device is incremented. First (eg, initial power up), the language recognizers are ordered in a random order. If the language recognition is successful at least once, the language recognition devices are ordered in priority order according to the cumulative number of times the language has been recognized (for example, devices with increased number of language recognitions move higher). If two or more language recognizers have the same cumulative value, the priority order within the same group is still random.

したがって、言語が認識されるまでに適用される言語認識装置の平均数が減ることから、デバイスは、そのデバイスが作動している特定環境に関してさらに効率的になる。   Thus, the device becomes more efficient with respect to the particular environment in which it is operating, since the average number of language recognizers applied before the language is recognized is reduced.

本発明のこれらの、及び他の特徴及び優位点は、以下の説明及び添付の請求の範囲において記載され、またはより完全に明白となるであろう。上記特徴及び優位点は、添付の請求の範囲において特に指摘されている装置及び組合わせによって実現されかつ達成されることが可能である。さらに、本発明の特徴及び優位点は本発明の実施によって習得されることが可能であり、または以下に記載する説明から明白となるであろう。   These and other features and advantages of the invention will be set forth or will become more fully apparent in the description that follows and in the appended claims. The above features and advantages can be realized and attained by means of the devices and combinations particularly pointed out in the appended claims. Furthermore, the features and advantages of the present invention may be learned by practice of the present invention or will become apparent from the description provided hereinafter.

本発明の上記の方法及び他の特徴及び優位点を達成する目的で、添付の図面に示すその特定の実施形態を参照して本発明をより特定的に説明する。図面は本発明の単なる典型的な実施形態を描いたものであり、故に本発明の範囲を限定するものとされるべきではない、という理解の下で、添付の図面を使用して本発明をさらに特定的に、かつ詳細に説明する。   For the purpose of achieving the above method and other features and advantages of the present invention, the present invention will be described more specifically with reference to specific embodiments thereof illustrated in the accompanying drawings. With the understanding that the drawings depict only typical embodiments of the invention and therefore should not be construed as limiting the scope of the invention, the accompanying drawings will be used to illustrate the invention. More specifically and in detail.

本発明は、画像のレンダリングに関する。特に本発明は、言語スイッチが存在しない場合であっても、入力された画像データストリームの言語フォーマットを正確に認識する方法及びコンピュータプログラムに関する。   The present invention relates to image rendering. In particular, the present invention relates to a method and a computer program for accurately recognizing the language format of an input image data stream even when no language switch exists.

多言語サポート式の言語デバイスが、言語フォーマットの表示のない画像データを受信した場合、画像デバイスは画像データをサンプリングして言語フォーマットを決定する。このプロセスは一般に、自動言語切り替えと称される。本発明の実施形態は、明示的な言語スイッチ(例えば、自動言語切り替え)のない場合に画像データストリームの言語フォーマット(例えばPDLまたは他の言語)を正確に認識するための効率的な方法が使用される画像レンダリングシステムにつき開示する。   When the multilingual support type language device receives image data without displaying the language format, the image device samples the image data to determine the language format. This process is commonly referred to as automatic language switching. Embodiments of the present invention use an efficient method for accurately recognizing the language format (eg, PDL or other language) of the image data stream in the absence of an explicit language switch (eg, automatic language switching). An image rendering system is disclosed.

本発明の下記の開示は、「例示的な動作環境」及び「言語フォーマット認識の供給」という2つの小見出しに分類される。上記小見出しの使用は読者への便宜でしかなく、如何なる意味においても限定的であると解釈されるべきではない。   The following disclosure of the present invention is divided into two subheadings: “Exemplary Operating Environment” and “Provision of Language Format Recognition”. The use of the above subheadings is for the convenience of the reader only and should not be construed as limiting in any way.

(例示的動作環
図5及び対応する検討は、本発明が実装される可能性のある適切な動作環境を概説すべく意図されたものである。当業者には、本発明が一又は複数のコンピューティングデバイスにより、かつネットワーク化された構成を含む様々なシステム構成で実施される可能性のあることが認識されるであろう。
(Exemplary Operating Environment)
FIG. 5 and the corresponding discussion are intended to outline a suitable operating environment in which the present invention may be implemented. Those skilled in the art will recognize that the present invention may be implemented with one or more computing devices and in various system configurations, including networked configurations.

本発明の実施形態は、一又は複数のコンピュータ読取り可能な記録媒体を包含し、各記録媒体は媒体上にデータまたはデータを操作するためのコンピュータ実行可能な命令を含む、または含むように構成される。コンピュータで実行可能な命令は、データ構造、オブジェクト、プログラム、ルーチン、またはプロセシング・システムによってアクセスされることが可能な、様々な異なる機能を実行する能力のある汎用コンピュータに関連づけられるもの、または限定数の機能を実行する能力のある専用コンピュータに関連づけられるもの等の他のプログラム・モジュールを含む。コンピュータで実行可能な命令は、プロセシング・システムに特定機能または機能グループを実行させるものであり、本明細書に開示した方法ステップを実装するためのプログラム・コード手段の例である。さらに、実行可能な命令の特殊シーケンスは、このようなステップの実装に使用される可能性のある対応する行為の例を供給する。コンピュータ読取り可能な記録媒体の例は、ランダム−アクセス・メモリ(「RAM」)、読取り専用メモリ(「ROM」)、プログラム可能読取り専用メモリ(「PROM」)、消去可能なプログラム可能読取り専用メモリ(「EPROM」)、電気的に消去可能なプログラム可能読取り専用メモリ(「EEPROM」)、コンパクトディスク読取り専用メモリ(「CD−ROM」)、またはプロセシング・システムによってアクセスされることが可能なデータまたは実行可能命令を供給する能力のある他の任意のデバイスまたはコンポーネントを含む。   Embodiments of the invention include one or more computer-readable recording media, each recording medium including or configured to include data or computer-executable instructions for manipulating data on the medium. The Computer-executable instructions are those associated with a general purpose computer capable of performing a variety of different functions that can be accessed by data structures, objects, programs, routines, or processing systems, or a limited number Other program modules, such as those associated with a dedicated computer capable of performing these functions. Computer-executable instructions, which cause a processing system to perform a specific function or group of functions, are examples of program code means for implementing the method steps disclosed herein. In addition, the special sequence of executable instructions provides examples of corresponding actions that may be used to implement such steps. Examples of computer readable recording media include random-access memory (“RAM”), read only memory (“ROM”), programmable read only memory (“PROM”), erasable programmable read only memory ( “EPROM”), electrically erasable programmable read-only memory (“EEPROM”), compact disk read-only memory (“CD-ROM”), or data or execution that can be accessed by a processing system Including any other device or component capable of supplying possible instructions.

図5を参照すると、本発明を実装するための代表的なシステムは、汎用または専用コンピュータである可能性のあるコンピュータ・デバイス10を含む。例えばコンピュータ・デバイス10は、パーソナル・コンピュータ、ノートブック・コンピュータ、パーソナル・デジタル・アシスタント(「PDA」)または他のハンドヘルド・デバイス、ワークステーション、ミニコンピュータ、メインフレーム、スーパーコンピュータ、マルチプロセッサ・システム、ネットワーク・コンピュータ、プロセッサ・ベースのコンシューマ電子デバイスまたはこれらに類似するものである可能性がある。   With reference to FIG. 5, an exemplary system for implementing the invention includes a computing device 10 which may be a general purpose or special purpose computer. For example, the computer device 10 may be a personal computer, notebook computer, personal digital assistant (“PDA”) or other handheld device, workstation, minicomputer, mainframe, supercomputer, multiprocessor system, It may be a network computer, a processor-based consumer electronic device, or the like.

コンピュータ・デバイス10は、その様々なコンポーネントを接続するように構成されることが可能であってデータを二以上のコンポーネント間で交換できるようにするシステム・バス12を含む。システム・バス12は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バスまたは任意の様々なバス・アーキテクチャを使用するローカル・バスを含む様々なバス構造体のうちの1つを含むことが可能である。システム・バス12によって接続される典型的なコンポーネントには、処理システム14とメモリ16とが含まれる。他のコンポーネントには、1つまたは複数の大容量記憶デバイス・インタフェース18、入力インタフェース20、出力インタフェース22及び/またはネットワーク・インタフェース24が含まれる可能性があり、以下、その各々について論じる。   The computing device 10 includes a system bus 12 that can be configured to connect its various components and allows data to be exchanged between two or more components. The system bus 12 may include one of a variety of bus structures including a memory bus or memory controller, a peripheral bus, or a local bus using any of a variety of bus architectures. . Typical components connected by system bus 12 include processing system 14 and memory 16. Other components may include one or more mass storage device interfaces 18, input interfaces 20, output interfaces 22 and / or network interfaces 24, each of which will be discussed below.

処理システム14は、セントラル・プロセッサ等の一または複数のプロセッサと、特殊な機能またはタスクを実行するように設計された任意選択である一または複数の他のプロセッサとを含む。メモリ16、磁気ハードディスク、リムーバブル磁気ディスク、磁気カセット、光ディスク等のコンピュータ読取り可能な媒体上へ供給される命令、または同じくコンピュータ読取り可能な媒体であると捉えることもできる通信接続部からの命令を実行するのは、典型的には処理システム14である。   The processing system 14 includes one or more processors, such as a central processor, and optionally one or more other processors designed to perform special functions or tasks. Instructions supplied on a computer-readable medium such as memory 16, magnetic hard disk, removable magnetic disk, magnetic cassette, optical disk, or instructions from a communication connection that can also be considered a computer-readable medium It is the processing system 14 that typically does.

メモリ16は、媒体上にデータまたはデータを操作するための命令を含む、または含むように構成される可能性がありかつ処理システム14によりシステム・バス12を介してアクセスされることが可能である1つまたは複数のコンピュータ読取り可能な媒体を含む。メモリ16は、例えば情報を永久的に格納するために使用されるROM28及び/または情報を一時的に格納するために使用されるRAM30を含むことが可能である。ROM28は、コンピュータ・デバイス10の起動の間等に通信を確立させるために使用される1つまたは複数のルーチンを有するベーシック入出力システム(「BIOS」)を含むことが可能である。RAM30は、一または複数のオペレーティング・システム等の一または複数のプログラム・モジュール、アプリケーション・プログラム及び/またはプログラム・データを含むことが可能である。   Memory 16 may contain or be configured to include data or instructions for manipulating data on the medium and can be accessed by processing system 14 via system bus 12. One or more computer-readable media are included. The memory 16 may include, for example, a ROM 28 used to store information permanently and / or a RAM 30 used to temporarily store information. ROM 28 may include a basic input / output system (“BIOS”) having one or more routines used to establish communication, such as during startup of computer device 10. The RAM 30 may include one or more program modules, such as one or more operating systems, application programs, and / or program data.

一または複数の大容量記憶デバイス・インタフェース18は、一または複数の大容量記憶デバイス26をシステム・バス12へ接続するために使用されることが可能である。大容量記憶デバイス26はコンピュータ・デバイス10へ組み込まれる、またはその周辺機器であることが可能であり、コンピュータ・デバイス10が大量のデータを保持することを許容する。任意選択として、大容量記憶デバイス26の一または複数は、コンピュータ・デバイス10からの取り外しが可能である。大容量記憶デバイスの例としては、ハードディスク・ドライブ、磁気ディスク・ドライブ、テープ・ドライブ及び光ディスク・ドライブが含まれる。大容量記憶デバイス26は、磁気ハードディスク、リムーバブル磁気ディスク、磁気カセット、光ディスクまたは別のコンピュータ読取り可能な媒体からの読取り及び/またはこれらへの書込みを行うことが可能である。大容量記憶デバイス26及びその対応するコンピュータ読取り可能な媒体は、オペレーティング・システム等の一または複数のプログラム・モジュール、一または複数のアプリケーション・プログラム、他のプログラム・モジュールまたはプログラム・データを含む可能性のあるデータ及び/または実行可能な命令の不揮発性記憶を供給する。このような実行可能な命令は、本明細書に開示した方法ステップを実装するためのプログラム・コード手段の例である。   One or more mass storage device interfaces 18 may be used to connect one or more mass storage devices 26 to the system bus 12. Mass storage device 26 can be incorporated into or a peripheral device of computer device 10 and allows computer device 10 to hold large amounts of data. Optionally, one or more of the mass storage devices 26 can be removed from the computer device 10. Examples of mass storage devices include hard disk drives, magnetic disk drives, tape drives, and optical disk drives. The mass storage device 26 can read from and / or write to a magnetic hard disk, a removable magnetic disk, a magnetic cassette, an optical disk or another computer readable medium. Mass storage device 26 and its corresponding computer-readable medium may include one or more program modules, such as an operating system, one or more application programs, other program modules or program data. Provides non-volatile storage of certain data and / or executable instructions. Such executable instructions are examples of program code means for implementing the method steps disclosed herein.

一または複数の入力インタフェース20は、ユーザが一または複数の対応する入力デバイス32を介してデータ及び/または命令をコンピュータ・デバイス10へ入力できるように使用されることが可能である。このような入力デバイスの例としては、キーボード及び、マウス、トラックボール、ライトペン、スタイラス、または他のポインティング・デバイス、マイクロホン、ジョイスティック、ゲームパッド、サテライト・ディッシュ、スキャナ、カムコーダ、デジタル・カメラ及びこれらに類似するもの等の代替入力デバイスが含まれる。同様に、入力デバイス32をシステム・バス12へ接続するために使用されることが可能である入力インタフェース20の例としては、シリアルポート、パラレルポート、ゲームポート、ユニバーサル・シリアルバス(「USB」)、ファイヤワイヤ(IEEE1394)または別のインタフェースが含まれる。   The one or more input interfaces 20 can be used to allow a user to input data and / or instructions to the computer device 10 via one or more corresponding input devices 32. Examples of such input devices include keyboards and mice, trackballs, light pens, styluses, or other pointing devices, microphones, joysticks, game pads, satellite dishes, scanners, camcorders, digital cameras and these Alternative input devices such as those similar to are included. Similarly, examples of input interface 20 that can be used to connect input device 32 to system bus 12 include serial ports, parallel ports, game ports, universal serial bus (“USB”). Firewire (IEEE 1394) or another interface is included.

一または複数の出力インタフェース22は、一または複数の出力デバイス34をシステム・バス12へ接続するために使用されることが可能である。出力デバイスの例には、モニタまたはディスプレイ・スクリーン、スピーカ、プリンタ及びこれらに類似するものが含まれる。特定の出力デバイス34は、コンピュータ・デバイス10へ統合される場合もあれば、その周辺機器である場合もある。出力インタフェースの例には、ビデオ・アダプタ、オーディオ・アダプタ、パラレルポート及びこれらに類似するものが含まれる。   One or more output interfaces 22 may be used to connect one or more output devices 34 to the system bus 12. Examples of output devices include monitors or display screens, speakers, printers and the like. A particular output device 34 may be integrated into the computer device 10 or it may be a peripheral device. Examples of output interfaces include video adapters, audio adapters, parallel ports, and the like.

一または複数のネットワーク・インタフェース24は、コンピュータ・デバイス10がコンピュータ・デバイス36として示した一または複数の他のローカルまたはリモート・コンピュータ・デバイスとの間で有線及び/または無線リンクを含む可能性のあるネットワーク38を介して情報を交換できるようにする。ネットワーク・インタフェースの例には、ローカル・エリア・ネットワーク(「LAN」)またはモデムへ接続するためのネットワーク・アダプタ、無線リンクまたはインターネット等の広域ネットワーク(「WAN」)へ接続するための他のアダプタが含まれる。ネットワーク・インタフェース24は、コンピュータ・デバイス10へ組み込まれる場合もあれば、その周辺機器である場合もある。ネットワーク化されたシステムにおいては、アクセス可能なプログラム・モジュールまたはその一部はリモートメモリ記憶デバイス内に格納されることが可能である。さらにネットワーク化されたシステムでは、コンピュータ・デバイス10は、機能またはタスクが複数のネットワーク化されたコンピュータ・システムによって実行される分散コンピューティング環境に参画することが可能である。   The one or more network interfaces 24 may include wired and / or wireless links with one or more other local or remote computer devices that the computer device 10 has shown as the computer device 36. Information can be exchanged via a network 38. Examples of network interfaces include a network adapter for connecting to a local area network (“LAN”) or modem, a wireless link or other adapter for connecting to a wide area network (“WAN”) such as the Internet. Is included. The network interface 24 may be incorporated into the computer device 10 or may be a peripheral device thereof. In a networked system, accessible program modules or portions thereof can be stored in a remote memory storage device. Further, in networked systems, computing device 10 may participate in a distributed computing environment where functions or tasks are performed by multiple networked computer systems.

したがって、当業者には本発明の実施形態が多くのタイプのシステム構成を有する様々な異なる環境において実施される可能性のあることが認識されるであろうが、図6は、本発明に関連して使用される可能性のある代表的なネットワーク化された構成を提示している。図6は、クライアント1名、3つの画像デバイス及びネットワークに接続される任意選択のプリント・サーバ1つを含む実施形態を示しているが、代替実施形態は、2名以上のクライアント、2つ以下の画像デバイス、4つ以上の画像デバイス、サーバなし、及び/またはネットワークに接続される2つ以上のサーバを含む。さらに本発明の他の実施形態は、一または複数のコンピュータ・デバイスが画像化ジョブをレンダリングするための複数の画像デバイスへ接続されるローカルな、ネットワーク化された、またはピア・ツー・ピアの画像化環境を含む。実施形態によっては、無線ネットワーク環境を含むものがあり、またはネットワークがインターネット等の広域ネットワークである環境を含むものがある。   Accordingly, those skilled in the art will recognize that embodiments of the present invention may be implemented in a variety of different environments having many types of system configurations, although FIG. It presents a representative networked configuration that could be used as FIG. 6 illustrates an embodiment that includes one client, three imaging devices, and one optional print server connected to the network, but alternative embodiments include two or more clients, two or less. Image devices, four or more image devices, no servers, and / or two or more servers connected to a network. Yet another embodiment of the present invention provides a local, networked or peer-to-peer image in which one or more computer devices are connected to multiple image devices for rendering an imaging job. Including computerized environment. Some embodiments include a wireless network environment or include an environment where the network is a wide area network such as the Internet.

図6の代表的なシステムは、ネットワーク56を通じて複数の画像デバイス50乃至54へ接続される、クライアント40として示したコンピュータ・デバイスを含む。図6における画像デバイス50乃至54は、画像化ジョブのレンダリングに使用される可能性のある任意タイプの画像デバイスであることが可能である。例としては、プリンタ、マルチファンクショナル・ペリフェラル(「MFP」)、スキャナ、ファクシミリ・デバイス、電子ホワイトボード、ディスプレイ・モニタ、タブレットPC、ドキュメント・サーバ、他が含まれる。画像デバイス50乃至54はネットワーク56へ接続されているが、本発明の実施形態は、コンピュータ・デバイスへ局部的に接続される画像デバイス、ピア・ツー・ピア画像化環境で構成される画像デバイスまたは無線ネットワーク環境で構成される画像デバイスの使用を含む。   The exemplary system of FIG. 6 includes a computing device, shown as client 40, connected to a plurality of imaging devices 50-54 through network 56. Image devices 50-54 in FIG. 6 can be any type of image device that may be used to render an imaging job. Examples include printers, multifunctional peripherals (“MFPs”), scanners, facsimile devices, electronic whiteboards, display monitors, tablet PCs, document servers, and others. Although the image devices 50-54 are connected to the network 56, embodiments of the present invention may be image devices that are locally connected to computer devices, image devices configured in a peer-to-peer imaging environment, or Includes the use of imaging devices configured in a wireless network environment.

図示した実施形態では、クライアント40はソフトウェア・アプリケーション42、1つまたは複数のプリント・ドライバ44、ポート・マネージャ46、スプーラ48及びプリント・プロセッサ49を含む。任意選択として、例えば1つまたは複数のプリント・キュー62、一または複数のプリンタ・ドライバ64、ポート・マネージャ66、スプーラ68及びプリント・プロセッサ69を有するサーバ60が含まれる。   In the illustrated embodiment, client 40 includes a software application 42, one or more print drivers 44, a port manager 46, a spooler 48 and a print processor 49. Optionally, a server 60 having, for example, one or more print queues 62, one or more printer drivers 64, a port manager 66, a spooler 68 and a print processor 69 is included.

従って、図示した本発明の実施形態及び他の実施形態によれば、入力画像データ・ストリームの言語フォーマットは明示的な言語スイッチが存在しない場合でも認識される。   Thus, according to the illustrated embodiment of the present invention and other embodiments, the language format of the input image data stream is recognized even in the absence of an explicit language switch.

(言語フォーマット認識の提供)
多言語サポート式の言語デバイスが言語フォーマットの明示的表示のない画像データを受信した場合、画像デバイスは画像データをサンプリングして言語フォーマットを決定する。本発明の実施形態は、明示的な言語スイッチ(例えば、自動言語切り替え)のない場合に画像データ・ストリームの言語フォーマット(例えばPDLまたは他の言語)を正確に認識するための効率的な方法が使用される画像レンダリング・システムを開示する。
(Providing language format recognition)
When the multilingual supported language device receives image data without an explicit indication of the language format, the image device samples the image data to determine the language format. Embodiments of the present invention provide an efficient method for accurately recognizing the language format (eg, PDL or other language) of an image data stream in the absence of an explicit language switch (eg, automatic language switching). Disclosed is an image rendering system used.

次に図7を参照すると、本発明による代表的な実施形態を示すフローチャートが提示されている。図7では、ステップ70において画像デバイスが入力画像データ・ストリーム(例えば印刷ジョブ)を受信した場合、スニファ・プロセスが開始される。スニファ・プロセスは入力ストリームの最初のサンプルを解析し、コールバック関数として実装された言語認識装置セットの最初の順序付け(ステップ72)によって言語フォーマット(例えばPDLまたは他の言語)を決定する。   Referring now to FIG. 7, a flowchart illustrating an exemplary embodiment according to the present invention is presented. In FIG. 7, if the image device receives an input image data stream (eg, a print job) at step 70, a sniffer process is initiated. The sniffer process analyzes the first sample of the input stream and determines the language format (eg, PDL or other language) by the initial ordering (step 72) of the language recognizer set implemented as a callback function.

少なくとも幾つかの実施形態では、順序付けは、動的な経験則に基づいたアプローチを使用して言語認識装置を試す順序を選択する。例えば、ある実施形態における経験則に基づいたアプローチは、言語が認識された回数の累計値を記憶することを含む。言語が認識された場合、対応する言語認識装置の回数の累計値が増分される。まず(例えば、最初のパワーアップ)、言語認識装置はランダムな順序で順序付けされる。少なくとも1回の言語認識に成功した場合、言語認識装置は言語が認識された回数に従って優先順に順位付けされる(例えば、言語認識回数が増加した言語認識装置の順序が高位に移動する)。二以上の言語認識装置が同じ累計値を有する場合には、同じ計数グループ内の優先順序はやはりランダムである。したがって、言語が認識されるまでに適用される言語認識装置の平均数が減ることから、デバイスは、そのデバイスが作動している特定環境に関してさらに効率的になる。   In at least some embodiments, the ordering selects an order in which to try the language recognizer using a dynamic heuristic-based approach. For example, a rule-of-thumb approach in certain embodiments includes storing a cumulative value of the number of times a language has been recognized. When a language is recognized, the cumulative number of times of the corresponding language recognition device is incremented. First (eg, first power up), the language recognizers are ordered in a random order. If the language recognition is successful at least once, the language recognition devices are ranked in the priority order according to the number of times the language is recognized (for example, the order of the language recognition devices with the increased number of language recognition moves higher). If two or more language recognizers have the same cumulative value, the priority order within the same counting group is still random. Thus, the device becomes more efficient with respect to the particular environment in which it is operating, since the average number of language recognizers applied before the language is recognized is reduced.

別の実施形態では、デバイスは環境因子に従って適用される別個の経験則セットを保持する。このような環境因子の例には、デバイスのロケーション(例えばデバイスが移動する)、ユーザ(例えば部門)の局所性(例えばIPアドレス)またはユーザ自身(例えばユーザ履歴に固有のもの)が含まれる。   In another embodiment, the device maintains a separate set of rules of thumb that are applied according to environmental factors. Examples of such environmental factors include the location of the device (eg, the device moves), the locality (eg, IP address) of the user (eg, department), or the user itself (eg, specific to the user history).

再度図7を参照すると、各言語認識装置は対応するサンプル・サイズを有する。順序付けされた各言語認識装置について、スニファ・プロセスはステップ74で対応するサンプル・サイズを予め読み取り、またはポークし、ステップ76でバイト・サンプルにより対応するコールバック関数を呼び出す。次に判定ブロック78において、言語認識装置が言語フォーマットを認識したか否かに関する判定が下される。判定ブロック78において言語認識装置が言語フォーマットを認識したと判定された場合、制御プロセスは順序付けプロセスを終了し、ステップ80で選択経験則を更新し、ステップ82で対応する言語インタプリタを開始またはロードし、ステップ84でバイト・ストリームを対応する言語インタプリタへバインドしかつステップ86でジョブをレンダリングする。   Referring again to FIG. 7, each language recognizer has a corresponding sample size. For each ordered language recognizer, the sniffer process pre-reads or pokes the corresponding sample size at step 74 and invokes the corresponding callback function with byte samples at step 76. Next, at decision block 78, a determination is made as to whether the language recognizer has recognized the language format. If it is determined at decision block 78 that the language recognizer has recognized the language format, the control process ends the ordering process, updates the selection heuristic at step 80, and starts or loads the corresponding language interpreter at step 82. , Bind the byte stream to the corresponding language interpreter at step 84 and render the job at step 86.

判定ブロック78に戻って参照した場合に、言語認識装置が言語フォーマットを認識しなかったと判定したときは、実行は判定ブロック88へ進み、そのセット内により多くの言語認識装置が存在する、または利用可能であるか否かを判定する。判定ブロック88において別の言語認識装置が存在する、または利用可能であると判定した場合、実行はステップ72へ戻って別の言語認識装置の順序付けを行ない、ステップ74で対応するサンプル・サイズを予め読み取り、またはポークし、ステップ76でバイト・サンプルにより対応するコールバック関数を呼び出す。   Returning to decision block 78 and referencing, if it is determined that the language recognizer did not recognize the language format, execution proceeds to decision block 88 where more language recognizers are present or used in the set. Determine whether it is possible. If it is determined at decision block 88 that another language recognizer exists or is available, execution returns to step 72 to order another language recognizer, and at step 74 the corresponding sample size is pre- Read or poke and call the corresponding callback function with byte samples in step 76.

或いは、判定ブロック88においてそのセット内に別の言語認識装置は存在しないと判定したときは、実行はステップ90へ進み、ユーザへの通知が行われる。従って図7に示すように、順序付けは、言語認識装置が言語フォーマットの認識を認知するまで、または言語認識装置セット内の全ての言語認識装置で判定が完了するまで続く。   Alternatively, if it is determined at decision block 88 that there is no other language recognition device in the set, execution proceeds to step 90 where the user is notified. Thus, as shown in FIG. 7, the ordering continues until the language recognizer recognizes the recognition of the language format or until the determination is completed on all language recognizers in the language recognizer set.

次に図8を参照すると、次に選択する言語認識装置の動的な判定を提供するための代表的な実施形態が示されている。図8におけるスニファは、制御プロセス/コンポーネントと、言語認識装置セレクタ・コンポーネントと、言語認識装置と、選択経験則とを備える。   Referring now to FIG. 8, an exemplary embodiment for providing dynamic determination of the next language recognition device to select is shown. The sniffer in FIG. 8 comprises a control process / component, a language recognizer selector component, a language recognizer, and a selection heuristic.

制御プロセスはスニファへのエントリ・ポイントであり、他のサブプロセスを開始し、結果を基礎として制御決定を下す。画像データ・バイト・ストリーム(図8では「印刷ジョブ」として示されている)を受信した場合、制御プロセスは、言語が認識されるまで、または全ての言語認識装置で言語判定するまで順序付けを行う。順序付けは、言語認識装置セレクタによって処理される。   The control process is the entry point to the sniffer, starting other subprocesses and making control decisions based on the results. When an image data byte stream (shown as “print job” in FIG. 8) is received, the control process orders until the language is recognized or until all language recognition devices determine the language. . The ordering is handled by the language recognizer selector.

言語認識装置セレクタは、選択経験則(例えば過去の整合累計値)を使用して認識装置の順序を選択する。言語認識装置が選択される度に、プロセスは、認識装置及び認識装置の対応するバイト・サイズ・サンプルのロケーション(例えば関数コールバック・アドレス)の制御プロセスへ戻る。   The language recognizer selector selects the order of the recognizers using a selection rule of thumb (for example, past consistent cumulative values). Each time a language recognizer is selected, the process returns to the control process of the recognizer and the location of the recognizer's corresponding byte size sample (eg, function callback address).

制御プロセスは次に、特定のバイト・サンプル・サイズに関してバイト・ストリームを予め読み取り、またはポークし、バイト・サンプルを引数としてコールバック関数を呼び出す。言語認識装置は次に、言語が認識されたか否か(例えばブールの戻り結果)を返す。   The control process then pre-reads or pokes the byte stream for a particular byte sample size and calls a callback function with the byte sample as an argument. The language recognizer then returns whether the language has been recognized (eg, a Boolean return result).

言語認識装置が首尾良く作動すると、制御プロセスは順序付けプロセスを終了し、選択経験則を更新し、バイト・ストリームを開始してこれを対応する言語インタプリタへバインドする。   If the language recognizer operates successfully, the control process ends the ordering process, updates the selection heuristics, starts a byte stream and binds it to the corresponding language interpreter.

次に図9を参照すると、現行選択されている言語認識装置によってサンプル・サイズを動的に決定するための代表的な事前読取り機能が示されている。図9では、制御プロセスは、制御プロセスが言語認識装置を順序付けする度にその言語認識装置に対応するバイト・サンプル・サイズを事前読取りサブプロセスへ送る。事前読取りサブプロセスは、そのバイト・サンプル・サイズについてバイト・ストリームをポークする(例えば、データを消費せず、バイト・ストリーム・オフセットは進行しない)。   Referring now to FIG. 9, an exemplary pre-read function for dynamically determining the sample size by the currently selected language recognizer is shown. In FIG. 9, each time the control process orders a language recognizer, the control process sends the byte sample size corresponding to that language recognizer to the pre-read subprocess. The pre-read subprocess pokes the byte stream for its byte sample size (eg, does not consume data and the byte stream offset does not progress).

本実施形態では、サブプロセスはキャッシュを使用してパフォーマンスを向上させる。キャッシュは、バイト・サンプルを格納するために使用される。キャッシュは最初は空であり、最初のポークのコピーがキャッシュに格納される。後続のポークに際して、サンプル・サイズがキャッシュ・サイズより小さい、またはこれに等しければ、そのバイト・サンプルがキャッシュから検索される。そうでなければ、バイト・サンプルがバイト・ストリームから予め読み取られ、キャッシュは新しい(例えばより大きい)バイト・サンプルで更新される。   In this embodiment, the subprocess uses a cache to improve performance. The cache is used to store byte samples. The cache is initially empty and a copy of the first pork is stored in the cache. On subsequent pokes, if the sample size is less than or equal to the cache size, the byte sample is retrieved from the cache. Otherwise, byte samples are pre-read from the byte stream and the cache is updated with new (eg, larger) byte samples.

次に図10を参照すると、動的に選択された言語認識装置をこれが認識されるまで、または全ての言語確認が終わるまで順次テストするための代表的な実施形態が示されている。図10における制御プロセスは、選択された言語認識装置を、対応するコールバック関数を呼び出しかつ引数としてバイト・サンプルを送ることによって開始する。言語認識装置が首尾良く作動しなければ、制御プロセスは、言語認識装置選択プロセスを呼び出して次の言語認識装置を順序付けすることにより、さらに言語認識装置が存在するかどうかを決定する。言語認識装置が整合することなく判定が終了した場合、ジョブは出力されない。   Referring now to FIG. 10, an exemplary embodiment for sequentially testing a dynamically selected language recognizer until it is recognized or until all language verifications are complete is shown. The control process in FIG. 10 starts the selected language recognizer by calling the corresponding callback function and sending a byte sample as an argument. If the language recognizer does not operate successfully, the control process determines whether there are more language recognizers by invoking the language recognizer selection process to order the next language recognizer. If the determination is completed without matching the language recognition device, the job is not output.

言語認識装置は、バイト・サンプル内における言語の存在または不在を決定するために、言語固有の特殊なサイン(例えばマジックナンバ)を探す、等の任意の方法を使用することが可能である。以下、例として、下記の言語の初めに表出する一意のバイト・シーケンスを示す。
言語 バイト・シーケンス
PJL @PJL
PS %!PS
PDF %PDF
TIFF II*<NUL>またはMM<NUL>*
The language recognizer can use any method such as looking for a language-specific special signature (eg, magic number) to determine the presence or absence of a language within a byte sample. As an example, here is a unique byte sequence that appears at the beginning of the following languages:
Language Byte sequence PJL @PJL
PS%! PS
PDF% PDF
TIFF II * <NUL> or MM <NUL> *

個々の言語認識装置に使用される方法は認識装置毎に相違する可能性があり、スニファ・プロセス自体はこれに気づかない。   The method used for each language recognizer may vary from recognizer to recognizer, and the sniffer process itself is not aware of this.

図11を参照すると、言語インタプリタを開始しかつ認識後に経験則を更新するための代表的な実施形態が示されている。図11において、言語認識装置が列挙される順序は、その対応する言語フォーマットの認識を首尾良く行うために、各言語認識装置の過去の履歴の経験則計数を基礎として動的に決定される。プロセスは、整合が首尾良く行われる度の増分等の任意の経験則計数方法を使用することが可能である。   Referring to FIG. 11, an exemplary embodiment for starting a language interpreter and updating heuristics after recognition is shown. In FIG. 11, the order in which the language recognition devices are listed is dynamically determined based on the empirical rule count of the past history of each language recognition device in order to successfully recognize the corresponding language format. The process can use any heuristic counting method, such as an increment of the degree of successful matching.

言語認識装置は次に、その経験則計数に従って動的に分類され、最高値から最低値まで順序付けされる。同じグループ内に複数の言語認識装置が存在する場合、グループ内の順序はランダムに選択される。   The language recognizers are then dynamically classified according to their rule of thumb counts and ordered from highest value to lowest value. When a plurality of language recognition devices exist in the same group, the order in the group is selected at random.

実施形態によっては、言語を順次テストする順序が上流のプロセスによって予め決められないものがある。代わりにこれは、マッチングを行う同じプロセスによって動的に決定される。例示としては、本決定はランダムであるか、過去の履歴を基礎とするか、これらの双方である。   In some embodiments, the order in which languages are tested sequentially is not predetermined by upstream processes. Instead, this is determined dynamically by the same process of matching. Illustratively, this decision is random, based on past history, or both.

言語が認識されると、制御プロセスは対応する言語インタプリタをロードし、バイト・ストリーム(即ちプリント・データ)をこのロードされた言語インタプリタへバインドする。また制御プロセスは、選択経験則を対応する言語認識装置の優先選択を増進させるように更新する。   When a language is recognized, the control process loads the corresponding language interpreter and binds the byte stream (ie, print data) to the loaded language interpreter. The control process also updates the selection rule of thumb to enhance the preferential selection of the corresponding language recognizer.

本発明による方法及びプロセスは、ページ記述言語(PDL)を有する印刷ジョブのレンダリングに関連して特に有効であることが証明されているが、当業者には、本方法及びプロセスが様々な異なるアプリケーションに、かつ様々な異なるタイプの言語に関連して使用され得ることが認識されるであろう。例えば本発明による方法及びプロセスは、その入力の全体または一部をファックス、スキャン、コピー、文書管理プロセス、他等の電子フォーマット(例えばソフトコピー)で取り込む画像デバイスによって全体または一部が処理される、または非電子フォーマット(例えばハードコピー)を入力プロセス(例えば、スキャンからOCRへ)の一部として電子フォーマットに変換する、かつ入力された、または変換された言語フォーマットはレンダリング言語ではなく自然言語(例えば英語)または翻訳されるべきものである任意の画像化オペレーションを包含する。   Although the method and process according to the present invention have proven particularly useful in connection with the rendering of print jobs having page description language (PDL), those skilled in the art will recognize that the method and process can be used in a variety of different applications It will be appreciated that it can be used in conjunction with a variety of different types of languages. For example, the method and process according to the present invention may be processed in whole or in part by an imaging device that captures all or part of its input in electronic formats (eg, soft copy) such as fax, scan, copy, document management process, etc Or a non-electronic format (eg hard copy) is converted to an electronic format as part of an input process (eg scan to OCR) and the input or converted language format is a natural language (not a rendering language) Or any imaging operation that is to be translated.

本発明の少なくとも幾つかの実施形態は、X線、MRI、ソナー及び他の入力を取り込む医療及び/または地質学的画像解析デバイスを包含する。さらなる実施形態は、入力がオーディオ/ビジュアル・フォーマットであるAVデバイスを包含する。さらに幾つかの実施形態は、入力が音声及び/または書き込まれたワードを含む自然言語デバイスを包含する。   At least some embodiments of the present invention include medical and / or geological image analysis devices that capture x-ray, MRI, sonar and other inputs. Further embodiments include AV devices where the input is in audio / visual format. Further, some embodiments include natural language devices whose input includes words that are spoken and / or written.

従って本明細書において論じたように、本発明の実施形態は画像のレンダリングに関する。特に本発明は、明白な言語スイッチが存在しない場合に入力された画像データストリームの言語フォーマットを正確に認識するためのシステムと方法に関する。本発明は、その精神または本質的な特徴を逸脱することなく他の特定的な形式で具現されることも可能である。説明した実施形態はあらゆる点で例示としてのみ考慮されるべきものであり、限定的なものではない。従って本発明の範囲は、上述の明細書本文ではなく添付の請求の範囲によって指示される。請求の範囲に対応する意味及び範囲内にある変更は全て、請求の範囲内に含まれるものとする。   Thus, as discussed herein, embodiments of the invention relate to image rendering. In particular, the present invention relates to a system and method for accurately recognizing the language format of an input image data stream in the absence of an obvious language switch. The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing specification. All changes that come within the meaning and range of the claims are intended to be included within the scope of the claims.

先行技術による単一言語サポート式プリンタ技術である。It is a single language support printer technology according to the prior art. 先行技術による多言語サポート式プリンタ技術である。This is a multi-language support printer technology according to the prior art. 先行技術による自動言語切り替え技術である。This is an automatic language switching technology according to prior art. 先行技術による別の自動言語切り替え技術である。This is another automatic language switching technology according to the prior art. 本発明に関連して使用するための適切な動作環境を供給する代表的なシステムを示す。1 illustrates an exemplary system that provides a suitable operating environment for use in connection with the present invention. 本発明の一実施形態に関連するネットワーク化された代表的システム構成を示す。1 illustrates a representative networked system configuration associated with one embodiment of the present invention. 本発明による代表的な実施形態を示すフローチャートである。3 is a flowchart illustrating an exemplary embodiment according to the present invention. 次に選択する言語認識装置を動的に決定するための代表的な実施形態を示す。Next, an exemplary embodiment for dynamically determining the language recognition device to be selected will be described. 現行選択されている言語認識装置によってサンプル・サイズを動的に決定するための代表的な実施形態を示す。Fig. 4 illustrates an exemplary embodiment for dynamically determining the sample size by the currently selected language recognizer. 動的に選択された言語認識装置を順次テストするための代表的な実施形態を示す。Fig. 4 illustrates an exemplary embodiment for sequentially testing dynamically selected language recognizers. 言語インタプリタを開始し、認識後は経験則を更新するための代表的な実施形態を示す。An exemplary embodiment for starting a language interpreter and updating the heuristics after recognition is shown.

符号の説明Explanation of symbols

10、36 コンピュータ・デバイス
12 システム・バス
14 処理システム
16 メモリ
18 大容量記憶デバイス・インタフェース
20 入力インタフェース
22 出力インタフェース
24 ネットワーク・インタフェース
26 大容量記憶デバイス
28 ROM
30 RAM
32 入力デバイス
34 出力デバイス
10, 36 Computer device 12 System bus 14 Processing system 16 Memory 18 Mass storage device interface 20 Input interface 22 Output interface 24 Network interface 26 Mass storage device 28 ROM
30 RAM
32 input devices 34 output devices

Claims (25)

画像を形成する言語を切り替える言語スイッチが存在しない場合に入力された画像データストリームの言語フォーマットを正確に認識するための方法であって、
前記言語フォーマットを決定するためにスニファ・プロセスを実行して入力された画像データストリームの最初のサンプルを解析し、
前記スニファ・プロセスは、
一又は複数の言語認識装置を動的に順序付けし、
一又は複数の言語認識装置の最初の言語認識装置で用いるサンプルのサイズを予め読み取り、
前記最初のサンプルを使用して前記最初の言語認識装置で用いるコールバック関数を呼び出し、
前記最初の言語認識装置が前記言語フォーマットを認識するか否かを判断し、
前記スニファ・プロセスの実行中に前記言語フォーマットが認識された場合、前記入力された画像データストリームをレンダリングすることとし、
前記一又は複数の言語認識装置を動的に順序付けする場合、前記画像データストリームで表されるジョブをレンダリングするデバイスのロケーション及び前記画像データストリームを発するユーザの局所性を含む環境因子に従って適用される別個の経験則セットを保持しておき、前記画像データストリームに関連した前記環境因子に応じて一つの経験則セットを選択し、選択した経験則セットを用いて前記一又は複数の言語認識装置を順序付けすることを特徴とする方法。
A method for accurately recognizing a language format of an input image data stream when there is no language switch for switching a language for forming an image,
Performing a sniffer process to determine the language format and analyzing the first sample of the input image data stream;
The sniffer process is
Dynamically ordering one or more language recognizers;
Pre-reading the sample size used in the first language recognizer of one or more language recognizers;
Using the first sample to call a callback function used in the first language recognizer;
Determining whether the first language recognizer recognizes the language format;
If the language format is recognized during the sniffer process, the input image data stream is rendered ;
When dynamically ordering the one or more language recognizers, it is applied according to environmental factors including the location of the device that renders the job represented by the image data stream and the locality of the user emitting the image data stream. A separate heuristic set is maintained, one heuristic set is selected according to the environmental factors associated with the image data stream, and the one or more language recognizers are selected using the selected heuristic set. A method characterized by ordering .
前記一又は複数の言語認識装置を動的に順序付けする場合、前記一又は複数の言語認識装置の順序を経験則に基づいて選択することを特徴とする請求項1記載の方法。   2. The method of claim 1, wherein when dynamically ordering the one or more language recognizers, the order of the one or more language recognizers is selected based on heuristics. 前記一又は複数の言語認識装置の順序を経験則に基づいて選択する場合、前記言語フォーマットが認識されたことのある回数の累計値を記憶することを特徴とする請求項2記載の方法。   The method according to claim 2, wherein when selecting the order of the one or more language recognition devices based on an empirical rule, a cumulative value of the number of times the language format has been recognized is stored. 前記一又は複数の言語認識装置の順序を経験則に基づいて選択する場合、言語フォーマットの認識の頻度に基づいて予め特定された優先順序とすることを特徴とする請求項2記載の方法。   3. The method according to claim 2, wherein when the order of the one or more language recognition devices is selected based on an empirical rule, the priority order is specified in advance based on the recognition frequency of the language format. 前記優先順序は、
(i)前回の前記言語フォーマットの認識時、又は
(ii)前記言語フォーマットが認識された回数
のいずれかに基づいて特定されていることを特徴とする請求項4記載の方法。
The priority order is
5. The method according to claim 4, wherein the method is specified based on either (i) the previous recognition of the language format, or (ii) the number of times the language format has been recognized.
前記一又は複数の言語認識装置の順序を経験則に基づいて選択する場合、
まずランダムな順で順序付けし、
言語フォーマットの認識の頻度に基づいて予め確立された優先順序で順序付けし、
二以上の言語認識装置の回数の累計値が同一である場合、同一である前記二以上の言語認識装置をランダムな順に順序付けすることを特徴とする請求項2記載の方法。
When selecting the order of the one or more language recognition devices based on heuristics,
First, order in random order,
Order in a pre-established priority order based on the frequency of recognition of the language format,
3. The method according to claim 2, wherein when the cumulative number of times of two or more language recognition devices is the same, the two or more language recognition devices that are the same are ordered in a random order.
前記言語フォーマットが認識された場合、選択に用いる経験則を更新することを特徴とする請求項2記載の方法。   3. The method of claim 2, wherein if the language format is recognized, the rule of thumb used for selection is updated. 前記一又は複数の言語認識装置のうち一の言語認識装置により前記言語フォーマットが認識された場合、前記画像データストリームを初期化し、前記一の言語認識装置へバインドすることを特徴とする請求項1記載の方法。   2. The image data stream is initialized and bound to the one language recognition device when the language format is recognized by one language recognition device among the one or more language recognition devices. The method described. 前記コールバック関数を呼び出す場合、前記最初のサンプルを引数として使用して前記コールバック関数を呼び出すことを特徴とする請求項1記載の方法。   The method of claim 1, wherein when calling the callback function, the callback function is called using the first sample as an argument. 前記最初の言語認識装置が前記言語フォーマットを認識しない場合、
前記スニファ・プロセスは、
前記一又は複数の言語認識装置の次の言語認識装置で用いるサンプルのサイズを予め読み取り、
前記最初のサンプルを使用して前記次の言語認識装置で用いるコールバック関数を呼び出し、
前記次の言語認識装置が前記言語フォーマットを認識するか否かを判断することを特徴とする請求項1記載の方法。
If the first language recognizer does not recognize the language format,
The sniffer process is
Pre-reading the size of the sample used in the language recognition device next to the one or more language recognition devices;
Call the callback function used in the next language recognizer using the first sample,
2. The method of claim 1, wherein the next language recognition device determines whether to recognize the language format.
前記入力された画像データストリームをレンダリングする場合、画像データストリームは、画像デバイスによってレンダリングされ、
該画像デバイスは、
(i)プリンタ、
(ii)多機能周辺装置、
(iii)スキャナ、
(iv)ファクシミリ装置、
(v)電子ホワイトボード、
(vi)ディスプレイ・モニタ、
(vii)タブレットPC、
(viii)ドキュメント・サーバ、
(ix)コピー機、
(x)医療画像解析デバイス、
(xi)地質学的画像解析デバイス、
(xii)オーディオ/ビジュアル・デバイス、
(xiii)自然言語デバイス
のいずれか1つを備えることを特徴とする請求項1記載の方法。
When rendering the input image data stream, the image data stream is rendered by an image device;
The imaging device
(I) a printer,
(Ii) a multifunction peripheral device;
(Iii) a scanner,
(Iv) a facsimile machine;
(V) electronic whiteboard,
(Vi) display monitor;
(Vii) Tablet PC,
(Viii) a document server,
(Ix) copier,
(X) a medical image analysis device,
(Xi) Geological image analysis device,
(Xii) audio / visual devices,
The method of claim 1, comprising any one of (xiii) natural language devices.
画像を形成する言語を切り替える言語スイッチが存在しない場合に入力された画像データストリームの言語フォーマットを正確に認識するための方法であって、
画像データストリームを受信し、
一又は複数の言語認識装置を動的に順序付けし、
一又は複数の言語認識装置の最初の言語認識装置で用いるサンプルのサイズを予め読み取り、
最初のサンプルを使用して前記最初の言語認識装置で用いるコールバック関数を呼び出し、
前記最初の言語認識装置が前記言語フォーマットを認識するか否かを判断し、
前記言語フォーマットが認識されると判断した場合、前記入力された画像データストリームをレンダリングすることとし、
前記一又は複数の言語認識装置を動的に順序付けする場合、前記画像データストリームで表されるジョブをレンダリングするデバイスのロケーション及び前記画像データストリームを発するユーザの局所性を含む環境因子に従って適用される別個の経験則セットを保持しておき、前記画像データストリームに関連した前記環境因子に応じて一つの経験則セットを選択し、選択した経験則セットを用いて前記一又は複数の言語認識装置を順序付けすることを特徴とする方法。
A method for accurately recognizing a language format of an input image data stream when there is no language switch for switching a language for forming an image,
Receive the image data stream,
Dynamically ordering one or more language recognizers;
Pre-reading the sample size used in the first language recognizer of one or more language recognizers;
Call the callback function used in the first language recognizer using the first sample,
Determining whether the first language recognizer recognizes the language format;
If it is determined that the language format is recognized, the input image data stream is rendered ;
When dynamically ordering the one or more language recognizers, it is applied according to environmental factors including the location of the device that renders the job represented by the image data stream and the locality of the user emitting the image data stream. A separate heuristic set is maintained, one heuristic set is selected according to the environmental factors associated with the image data stream, and the one or more language recognizers are selected using the selected heuristic set. A method characterized by ordering .
前記最初の言語認識装置が前記言語フォーマットを認識しない場合、
前記一又は複数の言語認識装置の次の言語認識装置で用いるサンプルのサイズを予め読み取り、
前記最初のサンプルを使用して前記次の言語認識装置で用いるコールバック関数を呼び出し、
前記次の言語認識装置が前記言語フォーマットを認識するか否かを判断し、
前記言語フォーマットが認識されたと判断した場合、前記入力された画像データストリームをレンダリングすることを特徴とする請求項12記載の方法。
If the first language recognizer does not recognize the language format,
Pre-reading the size of the sample used in the language recognition device next to the one or more language recognition devices;
Call the callback function used in the next language recognizer using the first sample,
Determining whether the next language recognition device recognizes the language format;
13. The method of claim 12, wherein if the language format is determined to be recognized, the input image data stream is rendered.
前記一又は複数の言語認識装置を動的に順序付けする場合、前記一又は複数の言語認識装置の順序を経験則に基づいて選択することを特徴とする請求項12記載の方法。   13. The method of claim 12, wherein when dynamically ordering the one or more language recognizers, the order of the one or more language recognizers is selected based on heuristics. 前記一又は複数の言語認識装置の順序を経験則に基づいて選択する場合、前記言語フォーマットが認識されたことのある回数の累計値を記憶することを特徴とする請求項14記載の方法。   15. The method according to claim 14, wherein when selecting the order of the one or more language recognition devices based on heuristics, a cumulative value of the number of times the language format has been recognized is stored. 前記順序は、
(i)前回の前記言語フォーマットの認識時、又は
(ii)前記言語フォーマットが認識された回数
のいずれかに基づいて特定されていることを特徴とする請求項15記載の方法。
The order is
16. The method of claim 15, wherein the method is specified based on either (i) a previous recognition of the language format, or (ii) a number of times the language format was recognized.
前記一又は複数の言語認識装置の順序を経験則に基づいて選択する場合、
まずランダムな順で順序付けし、
言語フォーマットの認識の頻度に基づいて予め特定された優先順序で順序付けし、
二以上の言語認識装置の前記言語フォーマットが認識されたことのある回数の累計値が同一である場合、同一である前記二以上の言語認識装置をランダムな順序で順序付けし、
前記言語フォーマットが認識された場合、経験則を更新することを特徴とする請求項15記載の方法。
When selecting the order of the one or more language recognition devices based on heuristics,
First, order in random order,
Order in a pre-specified priority order based on the frequency of recognition of the language format,
If the cumulative number of times that the language formats of two or more language recognition devices have been recognized is the same, order the two or more language recognition devices that are the same in a random order;
16. The method of claim 15, wherein heuristics are updated if the language format is recognized.
前記一又は複数の言語認識装置のうち一の言語認識装置により前記言語フォーマットが認識された場合、前記画像データストリームを初期化し、前記一の言語認識装置へバインドすることを特徴とする請求項12記載の方法。   13. The image data stream is initialized and bound to the one language recognition device when the language format is recognized by one language recognition device among the one or more language recognition devices. The method described. 画像を形成する言語を切り替える言語スイッチが存在しない場合に入力された画像データストリームの言語フォーマットを正確に認識する方法を具現化するコンピュータで実行することが可能なコンピュータプログラムであって、
前記コンピュータに、
画像データストリームを受信するステップ、
一又は複数の言語認識装置を動的に順序付けするステップ、
一又は複数の言語認識装置の最初の言語認識装置で用いるサンプルのサイズを予め読み取るステップ、
最初のサンプルを使用して前記最初の言語認識装置で用いるコールバック関数を呼び出すステップ、
前記最初の言語認識装置が前記言語フォーマットを認識するか否かを判断するステップ、及び
該ステップで前記言語フォーマットが認識されたと判断した場合、前記入力された画像データストリームをレンダリングするステップ
を実行させることとし、
前記一又は複数の言語認識装置を動的に順序付けするステップは、前記画像データストリームで表されるジョブをレンダリングするデバイスのロケーション及び前記画像データストリームを発するユーザの局所性を含む環境因子に従って適用される別個の経験則セットを保持しておき、前記画像データストリームに関連した前記環境因子に応じて一つの経験則セットを選択し、選択した経験則セットを用いて前記一又は複数の言語認識装置を順序付けするステップを含むことを特徴とするコンピュータプログラム。
A computer program that can be executed by a computer embodying a method of accurately recognizing the language format of an input image data stream when there is no language switch for switching the language for forming an image,
In the computer,
Receiving an image data stream;
Dynamically ordering one or more language recognizers;
Pre-reading the size of the sample used in the first language recognition device of the one or more language recognition devices;
Using a first sample to invoke a callback function for use with the first language recognizer;
Determining whether the first language recognition device recognizes the language format, and, if it is determined that the language format is recognized in the step, rendering the input image data stream I mean,
The step of dynamically ordering the one or more language recognizers is applied according to environmental factors including the location of the device that renders the job represented by the image data stream and the locality of the user emitting the image data stream. A set of heuristic rules, selecting one heuristic set according to the environmental factors associated with the image data stream, and using the selected heuristic set, the one or more language recognition devices A computer program comprising the steps of ordering .
前記コンピュータに、
前記最初の言語認識装置が前記言語フォーマットを認識しないと判断した場合、前記一又は複数の言語認識装置の次の言語認識装置で用いるサンプルのサイズを予め読み取るステップ、
前記最初のサンプルにより前記次の言語認識装置で用いるコールバック関数を呼び出すステップ、
前記次の言語認識装置が前記言語フォーマットを認識するか否かを判断するステップ、及び
該ステップで前記言語フォーマットが認識されたと判断した場合、前記入力された画像データストリームをレンダリングするステップ
を実行させることを特徴とする請求項19記載のコンピュータプログラム。
In the computer,
If it is determined that the first language recognition device does not recognize the language format, a step of pre-reading a sample size used in a language recognition device next to the one or more language recognition devices;
Calling a callback function to be used in the next language recognition device by the first sample;
Determining whether the next language recognition device recognizes the language format, and, if it is determined that the language format is recognized in the step, rendering the input image data stream The computer program according to claim 19.
前記一又は複数の言語認識装置を動的に順序付けするステップは、前記一又は複数の言語認識装置の順序を経験則に基づいて選択するステップとして機能することを特徴とする請求項19記載のコンピュータプログラム。   20. The computer according to claim 19, wherein the step of dynamically ordering the one or more language recognition devices functions as a step of selecting an order of the one or more language recognition devices based on an empirical rule. program. 前記一又は複数の言語認識装置の順序を経験則に基づいて選択するステップは、前記言語フォーマットが認識されたことのある回数の累計値を記憶するステップとして機能することを特徴とする請求項21記載のコンピュータプログラム。   The step of selecting the order of the one or more language recognition devices based on an empirical rule functions as a step of storing a cumulative value of the number of times the language format has been recognized. The computer program described. 前記順序は、
(i)前回の前記言語フォーマットの認識時、又は
(ii)前記言語フォーマットが認識された回数、
のいずれかに基づいて特定することを特徴とする請求項22記載のコンピュータプログラム。
The order is
(I) at the previous recognition of the language format, or (ii) the number of times the language format is recognized,
23. The computer program according to claim 22, wherein the computer program is specified based on any one of the above.
前記一又は複数の言語認識装置の順序を経験則に基づいて選択するステップは、
ランダムな順で順序付けするステップ、
言語フォーマットの認識の頻度に基づいて予め特定された優先順序で順序付けするステップ、
二以上の言語認識装置の前記言語フォーマットが認識されたことのある回数の累計値が同一である場合、同一である前記二以上の言語認識装置をランダムな順序で順序付けするステップ、及び
前記言語フォーマットが認識された場合、経験則を更新するステップ
として機能することを特徴とする請求項21記載のコンピュータプログラム。
Selecting an order of the one or more language recognition devices based on heuristics;
Ordering in random order,
Ordering in a pre-specified priority order based on the frequency of recognition of the language format;
Ordering the two or more language recognition devices in the random order when the cumulative number of times the language formats of the two or more language recognition devices have been recognized is the same, and the language format The computer program according to claim 21, wherein the computer program functions as a step of updating an empirical rule when the rule is recognized.
前記コンピュータに、
前記一又は複数の言語認識装置のうち一の言語認識装置により前記言語フォーマットが認識された場合、前記画像データ・ストリームを初期化し、前記一の言語認識装置へバインドするステップ
を実行させることを特徴とする請求項20記載のコンピュータプログラム。
In the computer,
If the language format in accordance with one of the language recognition device among the one or more speech recognition device is recognized, characterized in that to perform the steps of the image data streams initializes, to bind said to one language recognition device The computer program according to claim 20.
JP2005167313A 2004-06-10 2005-06-07 Method and computer program for providing automatic language switching Active JP4420858B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/865,394 US7420701B2 (en) 2003-09-30 2004-06-10 Systems and methods for providing automatic language switching

Publications (2)

Publication Number Publication Date
JP2006048649A JP2006048649A (en) 2006-02-16
JP4420858B2 true JP4420858B2 (en) 2010-02-24

Family

ID=36027081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005167313A Active JP4420858B2 (en) 2004-06-10 2005-06-07 Method and computer program for providing automatic language switching

Country Status (1)

Country Link
JP (1) JP4420858B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7973954B2 (en) 2006-08-28 2011-07-05 Sharp Laboratories Of America, Inc. Method and apparatus for automatic language switching for an imaging device

Also Published As

Publication number Publication date
JP2006048649A (en) 2006-02-16

Similar Documents

Publication Publication Date Title
US9135533B2 (en) Information processing apparatus configured to establish a workflow using plugins, information processing method, and computer-readable storage medium performing the same
US7665029B2 (en) Device for assisting development of user application for image forming device
JP4979287B2 (en) Image processing apparatus and program
US8819396B2 (en) Parallel processing using plural processing modules when processing time including parallel control overhead time is determined to be less than serial processing time
US8094330B2 (en) Image forming apparatus that can launch external applications selectively after shipment of the apparatus
US20110043855A1 (en) Print data processing apparatus, print data processing method, and storage medium
US7420701B2 (en) Systems and methods for providing automatic language switching
US8621388B2 (en) Image forming apparatus for displaying information on screen
US10402131B2 (en) Image processing apparatus and method to form image on sheet using page image data and object information
US8368904B2 (en) Image forming device
JP4420858B2 (en) Method and computer program for providing automatic language switching
US10922039B2 (en) Image processing apparatus, information processing method, and storage medium
JP2010131994A (en) Image processing method and image processing device
US10620887B2 (en) Image forming apparatus and information processing apparatus configured to print a specified page of a plurality of documents, control method thereof, and non-transitory computer-readable storage medium
US20220399018A1 (en) Information processing apparatus and non-transitory computer readable medium storing program
US10348926B2 (en) Information processing system, information processing apparatus, and information processing method
US8218187B2 (en) Method and apparatus for automatic language switching for an imaging device
JP6839389B2 (en) Image processing and error handling systems and printing methods for linearized and non-linearized portable document format (Pdf) files
JP2006048669A (en) Method and apparatus for job management
JP2005108237A (en) System and method for enabling heterogeneous image forming apparatus to operate as homogeneous device
US10795628B2 (en) Information processing system, information processing apparatus, and log information management method
US11200088B2 (en) Information processing system, information processing method, and information processing apparatus
US20220303401A1 (en) Information processing apparatus, information processing system, and information processing method
JP4326430B2 (en) System and method for dynamically generating a printer model database
JP2023000588A (en) Information processing device and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091105

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

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

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

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4420858

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

Year of fee payment: 3