JP2023020345A - 画像形成装置、その制御方法、及びプログラム - Google Patents

画像形成装置、その制御方法、及びプログラム Download PDF

Info

Publication number
JP2023020345A
JP2023020345A JP2021125657A JP2021125657A JP2023020345A JP 2023020345 A JP2023020345 A JP 2023020345A JP 2021125657 A JP2021125657 A JP 2021125657A JP 2021125657 A JP2021125657 A JP 2021125657A JP 2023020345 A JP2023020345 A JP 2023020345A
Authority
JP
Japan
Prior art keywords
document
data
information
image
image processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021125657A
Other languages
English (en)
Inventor
大樹 武石
Daiki Takeishi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2021125657A priority Critical patent/JP2023020345A/ja
Publication of JP2023020345A publication Critical patent/JP2023020345A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Abstract

【課題】文書の情報をブロックチェーンサービスに登録、及び検証に、文書のコードを不正利用される可能性がある。また、画像データに対してOCRやその他、画像認識技術を用いたメタデータ抽出結果を使うと、これら処理には誤差や誤認識があり、文書の検証は困難だという課題があった。【解決手段】上述した課題を解決するため、本発明はプリントジョブの描画データもとに特徴量を計算し、印刷情報と描画データ由来の特徴量をもとにブロックチェーンのトランザクションデータを生成し、コード画像データを描画データに付加したうえで印刷処理を行う。さらに、印刷物の撮像時に、撮像画像の特徴量を計算し、画像処理装置が上記撮像画像に埋め込まれたコード画像データをもとに、印刷時に埋め込まれた印刷情報と描画データの特徴量由来のデータをデコードし、上記特徴量と上記デコード結果をもとに埋め込まれたコード画像中のデータを検証する。【選択図】 図6

Description

本発明は、ブロックチェーンを使用した電子データの記録改ざんに対応する画像形成装置、その制御方法、及びプログラムに関する。
電子ファイルの改ざんを防止するために、ブロックチェーンを利用することで電子ファイルの内容変更に信頼性を担保することが知られている(特許文献1を参照)。
また、文書内容メタデータを用いてメタデータハッシュを生成し、それを可視的なコードに付加し、真正性を検証する技術が知られている(特許文献2を参照)。
また、電子ファイルの文書は標準規格でどのように文字情報や画像を描画データとして表現すべきがが定められている(非特許文献1)。
また、電子ファイルの含まれる画像データは幾何学的ハッシュ(非特許文献2)や各種の画像特徴量(非特許文献3)によって複数の画像間の類似性を計算する技術が知られている。
特開2018-128823号公報 特表2019-511758号公報
International Organization for Standardization, ISO 32000-2:2017 Document management - Portable document format, https://www.iso.org/standard/63534.html。 Geometric hashing, https://en.wikipedia.org/wiki/Geometric_hashing。 局所画像特徴量, https://www.ite.or.jp/contents/keywords/FILE-20160413114344.pdf。
文書の情報をブロックチェーンサービスに登録や検証する際にかかる以下の課題を解決するものである。
第一に、問い合わせ情報(あるいは印刷物毎に一意性を示せる情報)を印刷物に埋め込む場合、スキャン画像を含む画像データに対してOCRやその他、画像認識技術を用いたメタデータ抽出を行うことが従来技術で示されている。ただ、OCRや画像認識技術には誤差があり、文書の検証は困難だという課題があった。
第二に、従来技術では可視コードを埋め込み、ブロックチェーンへのトランザクションに利用することが示されているが、他の文書の可視コード、そのほかの文書に転用されると正しく検証を行うことができないという課題があった。
本発明の目的は、適切にブロックチェーンサービスと連携し、OCRや画像認識技術に誤差があっても検証を行うことができ、かつ印刷物に含まれる問い合わせ情報をほかの印刷物に流用されても、正しく一意性があるかを検証できる画像形成装置を提供することにある。
上述した課題を解決するため、本発明の画像形成装置は、画像処理装置が画像形成対象のプリントジョブを受取り(S1305)、画像処理装置が上記プリントジョブ中の印刷情報に関する情報を得て(S1309)、画像処理装置が上記プリントジョブ中の描画データを得て(S1501)、プリントジョブの描画データもとに特徴量を計算し(S1505,S1507)、画像処理装置が上記、印刷情報と描画データ由来の特徴量をもとにブロックチェーンのトランザクションデータを生成し(S1311)、画像処理装置が上記、少なくともトランザクションデータを含むデータでブロックチェーンに登録し(S1314)、画像処理装置が上記、少なくとも描画データ由来の特徴量をもとにコード画像データを生成し画像処理装置が上記、コード画像データを描画データに付加したうえで印刷処理を行う(S1313)、とともに、印刷物を検証する際に、印刷物の撮像(主に原稿のスキャン)時に画像処理装置が記録媒体の撮影画像を受取り(S1408)、画像処理装置が上記受取った撮像画像の特徴量を計算し(S1410中のS1601, S1606)、画像処理装置が上記撮像画像に埋め込まれたコード画像データをもとに、印刷時に埋め込まれた印刷情報と描画データの特徴量由来のデータをデコードし(S1409)、画像処理装置が上記特徴量と上記デコード結果をもとに埋め込まれたコード画像中のデータを検証し(S1609)、上記検証に基づきブロックチェーンへ照合を行う(S1411, S1412)ことを特徴とする。
本発明によれば、ブロックチェーンサービスと連携する画像形成装置が、適切にブロックチェーンサービスと連携し、OCRや画像認識技術に誤差があっても検証を行うことができる。また、印刷物に含まれる問い合わせ情報をほかの印刷物に流用されても、正しく一意性があるかを検証できる。
システムの構成を示す図である。 画像形成装置のハードウェア構成を示す図である。 PCおよび文書管理装置のハードウェア構成を示す図である。 画像形成装置のソフトウェア構成を示す図である。 文書管理装置のソフトウェア構成を示す図である。 ブロックチェーン装置のデータ構成を示す図である。 認証画面の画面例である。 リモート認証画面の画面例である。 機能選択画面の画面例である。 アプリケーションAの文書登録画面の画面例である。 アプリケーションAの登録文書の保存/印刷画面の画面例である。 アプリケーションAの登録文書の検証画面の画面例である。 電子文書を画像形成装置で印刷する処理を示すフローチャートである。 電子文書及び撮像画像を検証する処理を示すフローチャートである。 電子文書を印刷する際のハッシュ値生成処理を示すフローチャートである。 撮像画像を検証する処理を示すフローチャートである。 ブロックチェーン装置へのトランザクション処理を示すフローチャートである。 文書ファイル、もしくは印刷された紙文書を画像形成装置から検証処理を行うフローチャートである。
以下、上述した課題を解決する本発明を実施するための形態について図面を用いて説明する。
図1は、画像形成装置101と関連するシステムの全体図である。画像形成装置101、PC102、文書管理装置103がLAN100に接続されイントラネット内に存在し、インターネット110を介して、ブロックチェーン装置111と通信を行う。PC102はウェブブラウザを利用した画像形成装置101の管理やプリントドライバを利用した画像形成装置101からの印刷に利用される。
ブロックチェーン装置111は画像形成装置101やPC102で生成された文書に関する情報をブロック単位にまとめて管理する装置であり文書の正当性を保障するためのブロックチェーンサービスを提供する装置である。文書管理装置103は画像形成装置101やPC102で生成された電子文書を保存する装置であり文書管理サービスを提供する。ブロックチェーン装置111および文書管理装置103が提供するサービスはクラウドサービスとして提供されてもよく、その場合、複数のコンピューターを仮想化することで1つの装置としサービスを提供する形態でも良い。
図2は、画像形成装置101のハードウェア構成を示すブロック図である。Central Processing UnitであるCPU201を含む制御部200は、画像形成装置101全体の動作を制御する。CPU201は、Read Only MemoryであるROM202に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御を行う。Randam Access MemoryであるRAM203は、CPU201の主メモリ、ワークエリア等の一時記憶領域として用いられる。Hard Disc DriveであるHDD204は、画像データや各種プログラム、あるいは後述する各種データを記憶する。画像形成装置101は情報処理装置としてのハードウェア構成を有しているが、これに加え以下のハードウェア構成をさらに有する。
操作部I/F205は、操作部209と制御部200とを接続する。プリンタI/F206は、プリンタ210と制御部200とを接続する。プリンタ210で印刷すべき画像データはプリンタI/F206を介して制御部200から転送され、プリンタ210において記録媒体上に印刷される。スキャナI/F207は、スキャナ211と制御部200とを接続する。スキャナ211は、原稿上の画像を読み取って画像データを生成し、スキャナI/F207を介して制御部200に入力する。
ネットワークI/F208は、制御部200(画像形成装置101)をLAN100に接続する。ネットワークI/F208は、LAN100上の外部装置に画像データや情報を送信したり、LAN100上の外部装置から各種情報を受信したりする。
図3は、PC102、および文書管理装置103のコンピューターのハードウェア構成を表すブロック図である。CPU302は装置全体の制御を行う。CPU302はHDD305に格納されているアプリケーションプログラムやOS等を実行し、RAM303にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ROM304は記憶部であり、内部には、基本I/Oプログラム等の各種データを記憶する。RAM303は一時記憶部であり、CPU302の主メモリ、ワークエリア等として機能する。HDD305は外部記憶部の一つであり、大容量メモリとして機能し、オフィスアプリケーションやWebブラウザー等のアプリケーションプログラム、OS、関連プログラム等を格納している。
ディスプレイ306は表示手段であり、指示入力部であるキーボード/マウス307から入力したコマンド等を表示したりするものである。インターフェース308は外部装置I/Fであり、プリンタ、USB機器、周辺機器を接続する。システムバス301は、装置内におけるデータの流れを司るものである。ネットワークインターフェースカード(以降NIC)309は、LAN100を介して外部装置とのデータのやり取りを行う。
なお、情報処理装置の構成はその一例であり、図2および図3の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてROM304、RAM303、HDD305などで変更することも可能である。本実施例中で特に明記しない場合は、各種処理はROM304等に記憶されているプログラムをRAM303等にロードし、CPU302で実行することによって実現されるものとする。
図4は、画像形成装置101において本発明に関連するソフトウェア構成について示したブロック図である。特に断りのない限り、各処理部はROM202に記憶された制御プログラムをCPU201が実行することにより実現されるソフトウェア機能である。ローカルUI制御部400は、操作部I/F205を介して操作部209を制御する機能を提供する。ローカルUI制御部400はユーザが操作部209で操作した内容をユーザ認証処理部402やアプリケーションに通知する。ローカルUI制御部400は機能選択画面900を操作部209に表示する。機能選択画面900の例を図9(A)に示す。ローカルUI制御部400はユーザ認証処理部402やアプリケーションからの画面表示依頼を受けて、操作部209へ画面を表示するための制御を行う。ユーザ認証処理部402、アプリケーションA404はローカルUI制御部400を介して操作部209に画面を表示する。
リモートUI制御部401は、ネットワークI/F208を介してPC102上のウェブブラザに対してウェブページを提供する。リモートUI制御部401はユーザがウェブブラウザで操作した内容をユーザ認証処理部402やアプリケーションに通知する。リモートUI制御部401は機能選択画面910をPC102上のウェブブラザに表示する。機能選択画面910の例を図9(B)に示す。リモートUI制御部401はユーザ認証処理部402やアプリケーションからの依頼を受けて、ウェブブラウザに対してウェブページを表示するための制御を行う。ユーザ認証処理部402、アプリケーションA404、アプリケーションB405はリモートUI制御部401を介してウェブブラウザに対してウェブページを表示させる。
ユーザ認証処理部402は、画像形成装置101を利用するユーザを認証するための機能を提供する。そのため、ユーザ認証処理部402は認証画面700(画面例を図7に示す)を操作部209に表示する。ユーザ認証処理部402は認証画面700を介して、ユーザからユーザ名とパスワードの入力と言った認証情報を受信し、ユーザ情報DB403内に保持しているユーザ情報と比較することでユーザ認証を行う。
アプリケーションA404は、スキャンした文書を電子文書に変換し、ブロックチェーンアプリケーション406を介してブロックチェーン装置111に文書の情報を、文書管理装置103に文書を登録する機能を提供する。アプリケーションA404は、登録された文書を受信しプリンタI/F206を介して印刷する機能を提供する。なお、本実施例では、印刷物の一例として文書として示すが、文書以外の印刷物も同様に扱うことができる。アプリケーションA404はスキャナI/F207を介してスキャナ211を制御したり、ネットワークI/F208を介してLAN100へデータを送信したりすることで、外部装置へスキャンデータの送信を行う。アプリケーションA404はローカルUI制御部400およびリモートUI制御部401へ画面情報を提供する。
アプリケーションA404はローカルUI制御部400を介して操作部209に表示された画面への入力を受け付け、それに応じて処理を行う。アプリケーションA404は印刷画面1000、検証画面1200を操作部209に表示する。印刷画面1000の例を図10(A)に示す。
また、アプリケーションA404はリモートUI制御部401を介してPC102上のウェブブラザからの入力を受け付け、それに応じて処理を行う。アプリケーションA404は印刷画面1050、検証画面1210をPC102上のウェブブラザに表示する。印刷画面1050の例を図10(B)に示す。
アプリケーションB405は、アプリケーションA404と同様にスキャンした文書を電子文書に変換し、ブロックチェーンアプリケーション406を介してブロックチェーン装置111に文書情報を、文書管理装置103に文書を登録する機能を提供する。アプリケーションB405はリモートUI制御部401へ画面情報を提供する。アプリケーションA404はローカルUI制御部400とリモートUI制御部401を介してローカルUIとリモートUIの両方からの入出力に対応するが、アプリケーションB405はリモートUIからだけの入出力に対応する点が異なる。なお、アプリケーションA404およびアプリケーションB405はブロックチェーン装置111とは直接通信することはない。
ブロックチェーンアプリケーション406は、ブロックチェーン連携するためのアプリケーションであり、アプリケーションA404やアプリケーションB405からの指示を受け、ブロックチェーン装置111に文書の情報を登録、検証する機能を提供する。ブロックチェーンアプリケーション406がブロックチェーン装置111に登録するトランザクション601とブロックのデータ構造の例を図6に示すが詳細は後述する。
ブロックチェーンアプリケーション406は、アプリーションからブロックチェーン装置111に対する指示を受けた際にクレデンシャル情報管理部410からクレデンシャル情報も受け取る。ブロックチェーンアプリケーション406は、受け取ったクレデンシャル情報の検証を行って、検証が成功した場合だけ、ブロックチェーン装置111に対して処理を実行する。
クレデンシャル情報A408は、アプリケーションA404がブロックチェーン装置111を利用する正規のアプリケーションであることを保証するためのクレデンシャル情報である。クレデンシャル情報A408は正しい処理を行っていることが検証されたアプリケーションに対して発行され、アプリケーションはクレデンシャル情報が組み込まれた状態で画像形成装置101に搭載される。
クレデンシャル情報B409は、アプリケーションB405がブロックチェーン装置111を利用する正規のアプリケーションであることを保証するためのクレデンシャル情報である。クレデンシャル情報A408と同様に画像形成装置101に搭載される。
クレデンシャル情報C407は、画像形成装置101がブロックチェーン装置111を利用する正規の装置であることを保証するためのクレデンシャル情報である。クレデンシャル情報C407は、例えば本システムを運営する団体が装置のメーカーごとに発行してもよい。クレデンシャル情報C407は画像形成装置101のファームウェア内に組み込んだ状態で出荷してもよいし、出荷後に画像形成装置101へインストールしてもよい。
なお、クレデンシャル情報はデジタル証明書や秘密鍵と公開鍵の鍵ペアでもよいし、予め定められたデータ値でもよく、クレデンシャル情報の実態に制限はない。クレデンシャル情報はアプリケーションごとに異なる実態であってもよい。
クレデンシャル情報管理部410は、画像形成装置101内のクレデンシャル情報を管理する機能を提供する。本実施例ではクレデンシャル情報管理部410は、ブロックチェーンアプリケーション406からの指示を受けて、ブロックチェーンアプリケーション406にクレデンシャル情報C407を渡す。なお、本実施例ではPC102が画像形成装置101を経由することでブロックチェーン装置111と連携するが、クレデンシャル情報管理部410はクレデンシャル情報C407をPC102に提供しないように構成している。PC102のユーザはリモートUIを介してログインすることで、画像形成装置101が確認したロールに基づいてブロックチェーンアプリケーション406の利用が許可されるので、PC102は事前にブロックチェーン装置111との信頼関係を結ばずとも良い。
アプリケーションA404やアプリケーションB405は、ブロックチェーンサービスに登録有無を問い合わる際に必要となる問い合わせ情報に対応する埋込情報を文書に埋め込んだ状態で印刷することができる。ここで、アプリケーションA404やアプリケーションB405は、埋込情報を文書に埋め込む際に関連する設定を、デバイス設定420、ブロックチェーン設定421から取得することができる。そして、スキャン時に文書に埋め込まれた埋込情報から問い合わせ情報を読み取り、ブロックチェーンサービスに問い合わせを行うことによって、文書のブロックチェーンサービス登録有無を判断することができる。
問い合わせ情報は、図6で後述するトランザクション601を識別できる情報であれば良く、本実施例では、文書を一意に識別できるハッシュ値(文書ハッシュ値)として例示する。この文書ハッシュ値は、図6で後述する文書ハッシュ値602のことを示す。また、本実施例では、アプリケーションA404やアプリケーションB405は、1つの文書(あるいは1ページの文書や、1枚の文書)に同じ問い合わせ情報を複数の箇所に埋め込んで印刷できる。以降では、文書に関する問い合わせ情報を文書ハッシュ値、埋め込んだ箇所数を埋込数として説明する。
図7は、認証画面の画面例である。図7(A)の認証画面700はユーザが画像形成装置101の機能を利用するためにユーザ認証を行う機能を提供するための画面である。ユーザ名入力フィールド701は画像形成装置101のユーザがユーザ名を入力するためのフィールドである。パスワード入力フィールド702は画像形成装置101のユーザがパスワードを入力するためのフィールドである。
ログインボタン703はユーザ認証を実行するためのボタンである。ユーザがこのボタンを押下した場合、ユーザ認証処理部402はユーザ名入力フィールド701とパスワード入力フィールド702に入力された値を元にユーザ認証を行う。
図7(B)の認証画面(ゲストログイン)710はゲストログインを設けた認証画面の画面例であり、ユーザが画像形成装置101の機能を利用するためにユーザ認証を行う機能を提供するための画面である。以下、認証画面700との違いのみ説明する。
ゲストログインボタン711はゲストユーザとしてユーザ認証を実行するためのボタンである。ユーザがこのボタンを押下した場合、ユーザ認証処理部402はユーザ名とパスワードによる認証は行わず、ログインを許可する。ゲストログインボタン711を押下してログインしたユーザは、ユーザ名がGuestでロールがGuest Userとなる。なお、本実施例では詳細の説明は省くが、ユーザ認証処理部402の設定で認証画面700と認証画面(ゲストログイン)710のどちらの画面を表示するかを切り替えてもよい。
図8はリモート認証画面の画面例である。図8(A)のリモート認証画面800はユーザがPC102上のウェブブラウザから画像形成装置101の機能を利用するために、ユーザ認証を行うための画面である。ユーザ名入力フィールド801は画像形成装置101のユーザがユーザ名を入力するためのフィールドである。パスワード入力フィールド802は画像形成装置101のユーザがパスワードを入力するためのフィールドである。
ログイン803はユーザ認証を実行するためのボタンである。ユーザがこのボタンを押下した場合、ユーザ認証処理部402はユーザ名入力フィールド801とパスワード入力フィールド802に入力された値を元にユーザ認証を行う。
図8(B)のリモート認証画面(ゲストログイン)810はユーザが画像形成装置101の機能を利用するためにユーザ認証を行う機能を提供するための画面である。以下、リモート認証画面800との違いのみ説明する。
ゲストログインボタン811はゲストユーザとしてユーザ認証を実行するためのボタンである。ユーザがこのボタンを押下した場合、ユーザ認証処理部402はユーザ名とパスワードによる認証は行わず、ログインを許可する。ゲストログインボタン811を押下してログインしたユーザは、ユーザ名がGuestでロールがGuest Userとなり、ロール情報テーブルの権限に従って利用できる機能が制限される。
なお、本実施例では詳細の説明は省くが、ユーザ認証処理部402の設定でリモート認証画面800とリモート認証画面(ゲストログイン)810のどちらの画面を表示するかを切り替えてもよい。
図9はローカルUI制御部400およびリモートUI制御部401が表示する機能を選択する画面の画面例である。図9に示す機能を選択する画面は画像形成装置101に搭載されている機能の一覧である。画像形成装置101のユーザはこの画面に表示されているボタンを押下することで、画像形成装置101に搭載されている各機能を利用することができる。
図9(A)の機能選択画面900は、認証画面700または認証画面(ゲストログイン)710でログインした直後にローカルUI制御部400によって操作部209に表示される画面である。機能選択ボタン901は画像形成装置101の各機能を利用するためのボタンである。
コピーボタンはコピー機能を利用する画面を、送信ボタンはスキャンした文書をPC102に送信する機能を利用する画面を、保存ボタンはスキャンした電子文書をHDD204に保存する機能を利用する画面を表示するためのボタンである。本実施例ではそれぞれのボタンが押下された後に表示する画面の説明は省略するが、いずれも従来通りである。
文書印刷ボタンが押下された場合は印刷画面1000を表示する。トラストプリントは印刷する文書をすべてブロックチェーンサービスに登録する機能である。このように特定のユースケースやワークフローに特化したボタンを用意しても良い。トラストプリントボタンが押下された場合は、ブロックチェーン機能を有効にした状態で印刷画面1000を表示する。文書検証ボタンが押下された場合は、検証画面1200を表示する。
ログアウトボタン902は、ログイン中に表示されるログアウト処理を実行するためのボタンである。このボタンが押下されるとログアウト処理が実行され、その後、認証画面700または認証画面(ゲストログイン)710が表示される。
図9(B)の機能選択画面910はリモート認証画面800またはリモート認証画面(ゲストログイン)810でログインした直後にリモートUI制御部401によってPC102上のウェブブラウザに表示する画面の例である。
機能選択ボタン911はそれぞれの機能を利用するためのボタンである。機能選択画面900と同様に保存ボタンが押下された後に表示する画面の説明は省略する。文書印刷ボタンが押下された場合は、印刷画面1050を表示する。トラストプリントボタンが押下された場合は、ブロックチェーン機能を有効にした状態で印刷画面1050を表示する。文書検証ボタンが押下された場合は、検証画面1210を表示する。
なお、ファンクションの選択はこの形態に限られず、例えば、アプリケーションA404を機能選択画面900に表示し、アプリケーションA404が選択された後に印刷や検証などの機能を選択させる形態であっても良い。
図10はアプリケーションA404が表示する文書の印刷画面の画面例である。
図10(A)の印刷画面1000は、文書管理装置103で管理されている文書を印刷する機能を提供するため画面である。文書選択リスト1001は、保存または印刷する文書を選択するためのリストであり、アプリケーションA404は文書管理装置103で管理されている文書を文書選択リスト1001に表示する。プリント開始ボタン1002は、文書選択リスト1001で選択した文書の印刷を実行するボタンである。キャンセルボタン1003は、印刷画面を閉じて機能選択画面900に戻るボタンである。BC登録選択ボタン1004は、印刷する文書をブロックチェーン登録し、問い合わせ情報を文書に埋め込むかをユーザに選択させるボタンである。BC登録選択ボタン1004で「する」が選択されている場合は、BC機能設定画面1010を表示する。印刷設定選択ボタン1005は、印刷する文書の仕上げ設定をユーザに選択させるボタンであり、ここではカラー選択、用紙選択を例示している。なお、ログインするユーザや印刷する文書に応じてBC登録選択ボタン1004を表示しない方法も考えられるが、その場合は文書ハッシュ値を登録することを強制する、もしくは登録しない、の何れかの方法で処理を行うことになる。
BC機能設定画面1010は、埋込数の設定や埋込位置の確認を行う機能を提供するための画面である。埋込数設定エリア1011は、ユーザからの埋込数設定を受け付けるための入力エリアである。入力可能範囲1012には、埋込数設定エリアに入力することのできる値域を表示する。ここで表示する値域は埋込数(下限)から埋込数(上限)までとなる。また埋込数設定エリア1011や入力可能範囲1012には、デフォルト値として、例えば埋込数(下限)を設定するなど、値域の範囲内で埋込数のデフォルト値を決定する旨を表示しても良い。埋込位置プレビュー1013は、問い合わせ情報を埋め込む位置を表示する。複数ページの文書を印刷する場合、ページ分のプレビューを行う。戻るボダン1014は、BC機能設定画面を閉じて、印刷画面1010に戻るボタンである。OKボタン1015は、印刷を開始するボタンである。埋込位置設定ボタン1016は、埋込位置の設定画面1020を表示するボタンである。
埋込位置の設定画面1020は、込位置の設定を行う機能を提供するための画面である。埋込位置設定エリア1021は、ユーザからの埋込位置設定を受け付けるためのエリアである。ユーザが指定可能な位置を制限して表示しても良い。複数ページの文書を印刷する場合、ページ分の選択が行える。戻るボタン1022は、埋込位置の設定画面1020を閉じて、BC機能設定画面1010を表示するためのボタンである。なお、ユーザに埋込位置を知らせたくない場合は、埋込位置プレビュー1013や、埋込位置設定ボタン1016を表示しなくても良い。
図10(B)の印刷画面1050は、文書管理装置103で管理されている文書を印刷する機能を提供するための画面であって、PC102上のウェブブラウザに表示する画面の例である。BC登録機能設定1060は、埋込数の設定や埋込位置の確認を行う機能を提供するための画面であって、PC102上のウェブブラウザに表示する画面の例である。埋込位置の設定画面1070は、埋込位置の設定を行う機能を提供するための画面であって、PC102上のウェブブラウザに表示する画面の例である。
図10(C)の登録画面1020は文書をブロックチェーン装置111および文書管理装置103に登録する機能を提供するための画面であって、PC102上のウェブブラウザに表示する画面の例である。
図10(D)の登録画面1030は文書を文書管理装置103に登録する機能を提供するための画面であって、例えばゲストログインしたユーザに対してPC102上のウェブブラウザに表示する画面である。なお、ユーザにブロックチェーンサービスを利用できるロールが割り当てられていない場合に、図10(D)の登録画面1010を表示しても良い。
図11は、アプリケーションA404が表示する登録されている文書を保存または印刷する画面の画面例である。図11(A)の登録文書の保存/印刷画面1100はブロックチェーン装置111および文書管理装置103で管理されている文書を保存または印刷する機能を提供するための画面である。
文書選択リスト1101は、保存または印刷する文書を選択するためのリストであり、アプリケーションA404は文書管理装置103で管理されている文書を文書選択リスト1101に表示する。プリントするボタン1102は、文書選択リスト1101で選択した文書の印刷を実行するボタンである。保存するボタン1103は、文書選択リスト1101で選択した文書を画像形成装置101のHDD204に保存するボタンである。
図11(B)の登録文書の保存/印刷画面1110はブロックチェーン装置111および文書管理装置103で管理されている文書を保存または印刷する機能を提供するための画面であって、PC102上のウェブブラウザに表示する画面の例である。
図12はアプリケーションA404が表示する文書を検証するための画面の画面例である。図12(A)の検証画面1200はスキャンした文書または画像形成装置101に保存されている文書を、ブロックチェーン装置111を利用して正式な文書であることを検証する機能を提供するための画面である。
文書選択設定1201は検証の対象となる文書をスキャンした紙文書または画像形成装置101に保存されている文書から選択する設定である。文書選択リスト1202は検証対象となる文書を選択するためのリストであり、HDD204に保存されている文書の一覧である。検証するボタン1203は、文書選択設定1201でスキャンが選択されていた場合は文書のスキャンを実行し、その後、ブロックチェーン装置111を利用して文書の検証を実行するボタンである。検証するボタン1203は、文書選択設定1201で保存文書が選択されていた場合は文書選択リスト1202で選択されている文書の検証を行う。
図12(B)の検証画面1210はHDD204に保存されている文書を、ブロックチェーン装置111を利用して正式な文書であることを検証する機能を提供するための画面であって、PC102上のウェブブラウザに表示する画面の例である。
図13は、文書管理装置103に保存されている電子文書を画像形成装置101から印刷処理を行うフローチャートである。実施例1では、ユーザが制御部200を介して画像形成装置101を利用するケースを説明するが、PC102上のウェブブラウザを介して画像形成装置101を利用してもよい。本フローチャートは、認証画面700でログインボタン703が押下されたことにより起動され、まずユーザ認証処理部402がCPU201において実行される。
本フローチャート起動時には、認証画面700から画像形成装置101のユーザによって入力されたユーザ名とパスワードがユーザ認証処理部402に渡される。ステップS1301では、ログイン依頼としてユーザ名とパスワードを受け付ける。ステップS1302では、受信したユーザ名とパスワードがユーザ情報テーブル内のユーザ名とパスワードと一致するか確認し、一致する場合はユーザ認証が成功したと見なし、ステップS1303へ進む。一致しなかった場合はユーザ認証が失敗したと見なし、ステップS1315へ進む。
ステップS1303では、ログイン処理として現在ログインしているユーザとしてステップS1301で受け付けたユーザ名をRAM203に保持し、処理をローカルUI制御部400に渡す。処理を引き継いだローカルUI制御部400は機能選択画面900を操作部209に表示する。本フローチャートでは、その後、機能選択画面900においてユーザによって登録文書保存/印刷ボタンが押下され、それ以降の処理はアプリケーションA404がCPU201において実行される。処理を引き継いだアプリケーションA404は登録文書の保存/印刷画面1100を操作部209に表示する。
ステップS1304では、アプリケーションA404は図11に示した登録文書の保存/印刷画面1100を操作部I/F205を経由して操作部209に表示し、プリントするボタン1102が押下されるまで待ち、押下された場合はステップS1305に進む。ステップS1305では、登録文書の保存/印刷画面1100の文書選択リスト1101で選択された電子文書を画像形成装置101から取得する。取得した電子文書の文書情報はRAM203に、文書ファイルはHDD204に一時的に保存する。
ステップS1305まではアプリケーションA404で処理を行っていたが、ステップS1306はブロックチェーンアプリケーション406が処理を実行する。ステップS1306では、RAM203に保存した文書情報のIDを文書識別情報603に保持するトランザクション601を取得する。この取得処理については、後述の図17において説明する。
ここで、アプリケーションA404はクレデンシャル情報A408をブロックチェーンアプリケーション406に渡す。クレデンシャル情報A408は、電子文書の取得に関する一連の処理が正規なアプリケーションによって行われていることを検証するためにブロックチェーンアプリケーション406によって利用される。
ステップS1307では、ステップS1306で該当するトランザクション情報を取得できたかどうかを判定する。トランザクション情報が存在しない場合には、ブロックチェーン装置111で管理されていない文書であるため、ステップS1308に進む。トランザクション情報が存在する場合には、ステップS1309に進む。
ステップS1308では、HDD204に保存した文書データを画像形成装置101のプリンタI/F206を経由して、プリンタ210から印刷処理を行う。ステップS1309では、HDD204に保存した文書データからハッシュ値を算出する。そのハッシュ値は、ステップS1310においてステップS1307で取得したトランザクション情報の文書ハッシュ値602と同一値であるかどうかを判定する。同一値でなければ、文書管理装置103に保存されている文書ファイルは不正なデータであるため、ステップS1315のエラー表示に進む。同一値である場合には、ステップS1311に進む。
ステップS1311では、印刷文書に設定するためのハッシュ値を算出する。これには、ステップS1307で取得したトランザクション情報の文書ハッシュ値602と処理を行う画像形成装置101のクレデンシャル情報C407と本ステップ処理時点の画像形成装置内の日時情報、さらに印刷文書の描画データを使用して計算する。この描画データのハッシュ化処理は図15を用いて説明する。
ステップS1312では、ステップS1311で算出された印刷物を表すハッシュ値と、元の画像を表すトランザクション情報の文書ハッシュ値602をステップS1313で印刷するファイル内に設定する。ここで設定する形式は、後述の検証で印刷した紙をスキャンした際に読み取れる形式であり、二次元バーコードとして印刷物上で判断できる情報であっても良いし、不可視情報として埋め込んでもよい。
ステップS1313では、ハッシュ値を設定した文書ファイルを画像形成装置101のプリンタI/F206を経由して、プリンタ210から印刷処理を行う。ステップS1313まではアプリケーションA404で処理を行っていたが、ステップS1314はブロックチェーンアプリケーション406が処理を実行する。ステップS1314では、印刷処理の情報をブロックチェーン装置111に登録する。この登録処理は後述の図17で説明する。ここでは、登録するためのトランザクション601へ指定する値について説明する。
文書ハッシュ値602にはステップS1311で算出した印刷文書のハッシュ値を、文書識別情報603には引数で受け取った電子文書を表すIDを指定する。登録デバイス識別情報604には印刷を行った画像形成装置101のクレデンシャル情報C407のハッシュ値を指定する。文書登録日時605にはS1311でハッシュ値を検索した際の日時情報を指定する。文書登録者606は、印刷を行った画像形成装置101へログインしているユーザ名のハッシュ値を指定する。印刷画像ハッシュ値607には後述する処理で印刷画像から得たハッシュ値を指定する。元文書ハッシュ値608には、S1306で取得した元の画像を表すトランザクション情報の文書ハッシュ値602を指定する。
ここで、アプリケーションA404はクレデンシャル情報A408をブロックチェーンアプリケーション406に渡す。クレデンシャル情報A408は、電子文書の取得に関する一連の処理が正規なアプリケーションによって行われていることを検証するためにブロックチェーンアプリケーション406によって利用される。ステップS1315では、本処理フローチャートにおいて印刷を許可できない場合のエラー表示を行う。これについては画面上にエラーダイアログ(不図示)を表示する。
図14は、ユーザが指定した文書ファイル、もしくは印刷された紙文書を画像形成装置101から検証処理を行うフローチャートである。本フローチャートは、図7に示した画像形成装置101の認証画面700でログインボタン703もしくは、ゲストログインボタン711が押下されたことにより起動され、まずユーザ認証処理部402がCPU201において実行される。本フローチャート起動時には、認証画面700から画像形成装置101のユーザによって入力されたユーザ名とパスワードがユーザ認証処理部402に渡される。
ステップS1401では、ログイン依頼としてユーザ名とパスワードを受け付ける。ステップS1402では、受信したユーザ名とパスワードがユーザ情報テーブル内のユーザ名とパスワードと一致するか確認し、一致する場合はユーザ認証が成功したとみなし、ステップS1403へ進む。一致しなかった場合はユーザ認証が失敗したと見なし、ステップS1414へ進む。
ステップS1403では、ログイン処理として現在ログインしているユーザとしてステップS1401で受け付けたユーザ名をRAM203に保持し、処理をローカルUI制御部400に渡す。処理を引き継いだローカルUI制御部400は機能選択画面900を操作部209に表示する。本フローチャートでは、その後、機能選択画面900においてユーザによって文書検証ボタンが押下され、それ以降の処理はアプリケーションA404がCPU201において実行される。処理を引き継いだアプリケーションA404は検証画面1200を操作部209に表示する。
ステップS1404では、アプリケーションA404は図12に示した検証画面1200を操作部I/F205を経由して操作部209に表示し、検証するボタン1203が押下されるまで待ち、押下された場合はステップS1405に進む。ステップS1405では、起動時に受け取った文書選択設定1201の値で対象文書が紙データかどうかを判定する。紙データの場合にはステップS1407へ進み、電子データである場合にはステップS1406へ進む。
ステップS1406では、選択されたHDD204内の電子データを特定し、その電子データのハッシュ値を算出する。このハッシュ値が検証対象の文書を表すものであり、ステップS1411での検証処理に使用される。ステップS1407では、画像形成装置101にセットされた紙文書をスキャンする。スキャンは、スキャナI/F207を通じてスキャナ211で紙文書を読み込み、画像データを生成する。
ステップS1408では、スキャナ211によって画像化されたデータを電子化し、電子データとして一時的にHDD204に保存する。この一時的なデータについては、本フローチャート終了時に削除する。
ステップS1409では、ステップS1408でHDD204に保存した電子データに埋め込まれたハッシュ値を取得する。この取得は、前述の図15で説明した印刷フローチャートのステップS1512で埋め込んだ方法に合わせたハッシュ値を取得する処理を行う。
ステップS1410では、ステップS1409で得られたハッシュ値がスキャンデータの画像特徴と一致するか検証する。この処理は図16を用いて後述する。
ステップS1411では、CPU201がRAM203に保管された上記S1410の埋め込まれたハッシュ値とスキャンデータ画像のハッシュ値比較による検証結果が真であったかを判定する。真であった場合にはスキャンデータのハッシュ値に問題ないものとしてステップS1412へ進み、偽であった場合にはスキャンデータのハッシュ値が文書の内容と一致しないものとしてステップS1415へ進む。ステップS1411まではアプリケーションA404で処理を行っていたが、ステップS1412はブロックチェーンアプリケーション406が処理を実行する。
ステップS1412では、ブロックチェーン装置111に記録されているトランザクション情報を使用した文書検証処理を行う。この文書検証処理は後述の図17で説明する。その際には、処理種別として文書検証とステップS1406もしくはステップS1409において算出/取得した文書ハッシュ値と、クレデンシャル情報A408とを渡す。
依頼した処理結果であるS1411で得た応答と、S1412スキャンデータの画像検証結果を受け取ったら、ステップS1413で検証結果を判定する。検証が成功した場合には、ステップS1414で検証が成功した等のメッセージを表示する標準ダイアログ(不図示)を表示する。また、検証が失敗した場合には、ステップS1415で検証が失敗したもしくは検証不可能である旨のメッセージを表示する標準ダイアログ(不図示)を表示する。それぞれのメッセージ表示後、ユーザがダイアログを閉じる指示を行ったら本フローチャートを終了する。
図15は、上述したS1311の印刷文書のハッシュ値生成を説明するフローチャートである。本実施例では、文書管理装置103に保存されている電子文書を画像形成装置101から印刷処理を行う際に印刷文書のハッシュ値を生成する。しかし、それ以外にも同ハッシュ生成を文書管理装置103で生成してもよい。
ステップS1501では、まずHDD204に保存した文書データを画像形成装置101のCPU201がRAM203に展開する。展開された文書データに含まれる描画データをCPU201が解析を行い、描画データを抽出する。
ステップS1502では、CPU201が上記抽出した描画データに文字情報があるかを判定する。描画データが文字情報を含まず、すでに文字も画像化されている場合、または写真のような文字が含まれない画像のみの場合は、CPU201は処理をS1506に進める。一方で、描画データに文字情報が含まれる場合はCPU201はその処理をS1503に進める。
ステップS1503では、CPU201が上記描画データ中の文字情報を抽出しRAM203に展開する。より具体的には、描画データに含まれるフォントや文字コード情報、およびその描画座標を描画命令ごとに抽出する。
ステップS1504では、CPU201が上記抽出した文字情報からキーバリュー情報を抽出する。キーバリューと呼ばれる項目とバリューの対となった形式のデータで文書中の文字情報の特徴を抽出する。本実施例では抽出するキーバリュー対象は下記表1のような形式でHDD204に保管され管理される。
Figure 2023020345000002
本実施例では、上記キーバリュー対象のテーブルは、表1が示す通り文書中に現れる重要な文字情報の項目名と、その項目名と対となる値を抽出する場所を持っている。上述した通り、CPU201が抽出した文字情報はRAM203に座標位置と文字情報とともに保管されている。よってCPU201は、キーの文字列を上記文字情報から探し、さらに表1に示された「バリューの位置」情報から、対となるバリューの文字情報を探索する。発見されたキーバリューの情報はCPU201によって下記表2の形式でRAM203に保管される。
Figure 2023020345000003
ステップS1505では、CPU201は上記抽出されたキーバリューの文字情報をハッシュ関数を用いてハッシュ値に変換する。
ステップS1506では、CPU201はさらに印刷文書中の描画データをレンダリング処理し、文書データの画像化を行い、得られたレンダリング結果画像をHDD305に保管する。
ステップS1507では、CPU201はレンダリング結果画像に対してHOGアルゴリズムを用いて画像特徴量を計算する。なお、本実施例ではHOGアルゴリズムを用いて画像の特徴量を計算するが、そのほかSURFやSHIFと呼ばれる既知の技術を用いて画像特徴を抽出してもよい。
ステップS1508では、CPU201は上記得られた画像特徴量のベクトルデータを既知のハッシュ計算を用いてハッシュ化してRAM203に保管する。
なお、本実施例では局所画像特徴量及びハッシュ関数を用いて印刷文書のハッシュ値を求めているが、それ以外にもPerceptual Hashのように画像の周波数成分を数値化するハッシュ関数を用いてもよい。
ステップS1509では、CPU201は上記得られた少なくとも2つのハッシュ値を合成し、印刷文書のハッシュ値としてRAM203に保管する。なお、本実施例の合成処理は、二つのハッシュ値をカンマ区切り文字(「,」)を用い、二つのハッシュ値を文字データとして合成するものとする。もちろん、ハッシュ値の桁数を固定し、区切り文字なしで二つのハッシュ値を文字情報として合成するなど、それ以外の合成の方法を用いてもよい。
続いて、図16を用いて、画像形成装置101内で行われる図14のS1410で示した処理を説明する。
ステップS1601では、画像形成装置101中のCPU201が、HDD204に保存されたスキャナ211によって画像化された電子データから画像特徴量を計算してRAM203に保管する。この画像特徴量の計算は図15のS1507で説明した手法と同じアルゴリズムを使用する。
ステップS1602では、CPU201がRAM203に保管された上記画像特徴量をもとに、CPU201がハッシュ値を計算する。この計算も上記同様に、ステップS1508で使用した手法に基づきハッシュ値を求める。
なお、これも図15と同様に、本実施例では局所画像特徴量及びハッシュ関数を用いてスキャンデータのハッシュ値を求めているが、図15中と同じ手法であれば、それ以外にもPerceptual Hashのように画像の周波数成分を数値化するハッシュ関数を用いてもよい。
ステップS1603では、CPU201が既知のOCR技術を用いて上記、HDD204に保存された画像化された電子データ中の文字が存在する文字領域を抽出し、RAM203に保管する。
ステップS1604では、CPU201がRAM203に保管された文字抽出結果をもとに、上記電子データから文字猟奇が抽出できたかどうか判定する。上記判定をもとに、CPU201はもし文字領域が抽出できていたと判定された場合は、その処理をS1605に進める。一方で、上記判定で文字領域が抽出できなかったと判定された場合には、その処理をS1607に進め、合成されたハッシュ値計算に進む。
ステップS1605では、CPU201がS1603で得られたRAM203上の文字情報からキーバリュー抽出を行う。このキーバリュー抽出は、CPU201が(表1)を用いて説明したS1504と同様の手法を用いてキーとバリューの対の情報を抽出し、その結果をRAM203に保管する。
さらにステップS1606でも、CPU201は(表2)を用いて説明して説明したS1505と同様に、ハッシュ値を生成する。
ステップS1607では、S1509と同様に、上記二つの画像特徴量とキーバリュー抽出結果から生成されたハッシュ値を合成し、スキャンデータのハッシュ値としてRAM203に保管する。
ステップS1608では上記スキャンデータのハッシュ値と、S1409で得られた埋め込まれたハッシュ値をもとに、二つのハッシュ値が同一の文書を示しているか判定する。より具体的にはCPU201は、合成された二つのハッシュ値のうちキーバリュー抽出によって得られたハッシュ値の部分が同一かどうかを判定する。さらにCPU201は、合成された二つのハッシュ値のうち、画像特徴量をもとに得られたハッシュ値の差が既定の閾値以下であれば画像特徴量からも同一文書を示していると判定する。CPU201は、上記二つの判定がともに真である場合に埋め込まれたハッシュ値とスキャンデータのハッシュ値が同一の文書から生成されたハッシュ値であると判定し、その判定結果をRAM203に保管する。
図17は、画像形成装置101のブロックチェーンアプリケーション406でブロックチェーン装置111へのトランザクション処理を行うフローチャートである。本フローチャートは、図13から図14までのアプリケーションA404の処理中にブロックチェーンアプリケーション406として起動され、実行される。
本フローチャート起動時には、アプリケーションA404から、ブロックチェーン装置111への処理種別と、処理種別ごとに必要な情報が渡される。処理種別ごとに必要な情報は、トランザクション登録時にはトランザクション601、文書検証時には検証が必要な文書ハッシュ値602、トランザクション取得時には文書識別情報603である。
ステップS1701では、ブロックチェーンアプリケーション406はクレデンシャル情報C407とクレデンシャル情報A408をブロックチェーン装置111に渡して、正しいクレデンシャル情報であることを確認する。ここで、クレデンシャル情報C407はブロックチェーンアプリケーション406の起動時にクレデンシャル情報管理部410から取得したものを、クレデンシャル情報A408はアプリケーションA404から取得したものを用いる。
ステップS1702では、ステップS1701で確認したクレデンシャル情報が正しいものであるかどうかを判定する。正しいか否かの判定は、クレデンシャル情報がデジタル証明書の場合は証明書の検証を行って検証が成功した場合に、正しいクレデンシャル情報であると判断する。また、予め定められたデータ値の場合は値が一致する場合に、正しいクレデンシャル情報であると判断する。正しいクレデンシャルであった場合にはブロックチェーン装置111へのアクセスが可能な状況であるため、ステップS1703に進み、正しいクレデンシャルでなかった場合にはステップS1704に進む。
ステップS1703では、ブロックチェーンアプリケーション406が受信した処理種別を判定する。トランザクション登録であればステップS1705へ、トランザクション取得であればステップS1710へ、文書検証であればステップS1713へ進む。
ステップS1704では、本処理フローチャートにおいてブロックチェーン装置111へのアクセス権限を満たしていない旨のエラー情報を生成する。
ステップS1705では、処理起動時に受け取ったトランザクション情報がそろっているかどうかを確認する。また、文書ハッシュ値602についてはブロックチェーン装置111内に登録されていない事を、元文書ハッシュ値608についてはブロックチェーン装置111内に登録されている事を、ブロックチェーン装置111を検索することで確認する。情報がそろっていない、もしくはハッシュ値が正しい状態ではない場合には、トランザクション情報は不正なものとなる。このチェック結果をステップS1706で判定し、トランザクション情報が正当であればステップS1707へ、不正な情報であればステップS1709のエラー処理へ進む。
ステップS1707では、ブロックチェーン装置111に対してチェック済みのトランザクション601の登録を依頼する。本ステップではブロックチェーン装置111から登録処理の結果として成功/失敗を受け取る。
ステップS1708では、そのブロックチェーン装置111からの処理結果を判定し、失敗の場合にはステップS1709のエラー処理へ進み、成功であれば結果通知S1719へ進む。ステップS1709では、本処理フローチャートにおいてトランザクション登録ができない旨のエラー情報を生成する。
ステップS1710では、処理起動時に受け取った文書識別番号を保持するトランザクションをブロックチェーン装置111から検索し、取得する。検索結果はステップS1711で判定し、トランザクションデータを取得できなかった場合には、対象の文書はブロックチェーン装置111に登録されていないため、ステップS1712のエラー処理へ進む。トランザクションデータを取得できた場合には、ステップS1719へ進む。ステップS1712では、本処理フローチャートにおいてトランザクション取得に失敗した旨のエラー情報を生成する。
ステップS1713では、処理起動時に受け取ったハッシュ値を文書ハッシュ値として保持するトランザクションをブロックチェーン装置111から検索し取得する。検索結果はステップS1714で判定し、トランザクションデータを取得できなかた場合には、正当なハッシュ値としてステップS1715へ進み、取得できなかった場合には、不正なハッシュ値としてステップS1718のエラー処理へ進む。
ステップS1715では、ステップS1713で取得したトランザクションに元文書ハッシュ値を持っているかどうかを判定する。元文書ハッシュ値を持っていない場合には、ステップS1707で確認したハッシュ値が一番先頭の文書であるため検証処理は終了となり、ステップS1719へ進む。元文書ハッシュ値を持っている場合、その元文書の存在を確認する必要があるため、ステップS1716へ進む。
ステップS1716では、処理種別として文書検証を、処理に必要な情報として元文書ハッシュ値を指定し、本図17のフローチャートを再帰実行する。この実行結果はステップS1717で判定し、元文書まで含めた検証が成功した場合には、ステップS1719へ進む。検証が失敗した場合には、ステップS1718のエラー処理へ進む。ステップS1718では、本処理フローチャートにおいて文書検証に失敗した旨のエラー情報を生成する。
ステップS1719では、それぞれの処理種別ごとの処理成功時の情報として、トランザクション登録の場合には登録完了ステータスを、文書検証の場合には検証成功ステータスを呼び出し元となる処理に通知する。トランザクション取得の場合には取得したトランザクション情報を、またエラー処理が行われている場合にはエラー情報を呼び出し元となる処理に通知する。
以上、実施例1により、ブロックチェーンサービスと連携する画像形成装置が、適切にブロックチェーンサービスと連携し、OCRや画像認識技術には誤差があっても検証を行うことができる。また、印刷物に含まれる問い合わせ情報をほかの印刷物に流用されても、正しく一意性があるかを検証できる。
実施例1では、図13と図14を用いて印刷時の印刷文書への情報付加処理とスキャン時の検証処理を説明した。具体的には、ステップS1312で、ステップS1311で算出された印刷物を表すハッシュ値を印刷文書に付加していた。付加する形式は、後述の検証で印刷した紙をスキャンした際に読み取れる形式であり、二次元バーコードとして印刷物上で判断できる情報であっても良いし、不可視情報として埋め込んでもよい。また上記付加した情報をスキャン時にステップS1409で説明した処理で抽出している。
本発明を実施するほかの実施例として、ブロックチェーンに上記印刷物を表すハッシュ値を登録し、そのハッシュ値をもとに検証を行う別の処理を、図18を用いて以下に説明する。
図18は図14と同様に、ユーザが指定した文書ファイル、もしくは印刷された紙文書を画像形成装置101から検証処理を行うフローチャートである。
ステップS1801では、ログイン依頼としてユーザ名とパスワードを受け付ける。ステップS1802では、受信したユーザ名とパスワードがユーザ情報テーブル内のユーザ名とパスワードと一致するか確認し、一致する場合はユーザ認証が成功したとみなし、ステップS1803へ進む。一致しなかった場合はユーザ認証が失敗したと見なし、ステップS1814へ進む。
ステップS1803では、ログイン処理として現在ログインしているユーザとしてステップS1801で受け付けたユーザ名をRAM203に保持し、処理をローカルUI制御部400に渡す。処理を引き継いだローカルUI制御部400は機能選択画面900を操作部209に表示する。本フローチャートでは、その後、機能選択画面900においてユーザによって文書検証ボタンが押下され、それ以降の処理はアプリケーションA404がCPU201において実行される。処理を引き継いだアプリケーションA404は検証画面1200を操作部209に表示する。
ステップS1804では、アプリケーションA404は図12に示した検証画面1200を操作部I/F205を経由して操作部209に表示し、検証するボタン1203が押下されるまで待ち、押下された場合はステップS1805に進む。ステップS1805では、起動時に受け取った文書選択設定1201の値で対象文書が紙データかどうかを判定する。紙データの場合にはステップS1807へ進み、電子データである場合にはステップS1806へ進む。
ステップS1806では、選択されたHDD204内の電子データを特定し、その電子データのハッシュ値を算出する。このハッシュ値が検証対象の文書を表すものであり、ステップS1810での検証処理に使用される。ステップS1807では、画像形成装置101にセットされた紙文書をスキャンする。スキャンは、スキャナI/F207を通じてスキャナ211で紙文書を読み込み、画像データを生成する。
ステップS1808では、スキャナ211によって画像化されたデータを電子化し、電子データとして一時的にHDD204に保存する。この一時的なデータについては、本フローチャート終了時に削除する。
ステップS1809では、ステップS1408でHDD204に保存した電子データに埋め込まれたハッシュ値を取得する。この取得は、前述の図15で説明した印刷フローチャートのステップS1512で埋め込んだ方法に合わせたハッシュ値を取得する処理を行う。
ステップS1810では、ブロックチェーン装置111に記録されているトランザクション情報を使用した文書検証処理を行う。
ステップS1811では、上記S1809で得た電子データからのハッシュ値取得結果と、上記ブロックチェーン装置111から得られた、印刷時に付加した印刷物を表すハッシュ値を用いて、実施例1と同様に二つの値を比較する。
依頼した処理結果であるS1810で得た応答と、S1811のスキャンデータの画像検証結果を受け取ったら、ステップS1812で検証結果を判定する。検証が成功した場合には、ステップS1813で検証が成功した等のメッセージを表示する標準ダイアログ(不図示)を表示する。また、検証が失敗した場合には、ステップS1814で検証が失敗したもしくは検証不可能である旨のメッセージを表示する標準ダイアログ(不図示)を表示する。それぞれのメッセージ表示後、ユーザがダイアログを閉じる指示を行ったら本フローチャートを終了する。
以上、実施例2が示すように、印刷時に付加した情報をブロックチェーン装置111に付加、および取得することでも、本発明を実施できる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
400 ローカルUI制御部
401 リモートUI制御部
402 ユーザ認証処理部
DB403 ユーザ情報
A404 アプリケーション
B405 アプリケーション
406 ブロックチェーンアプリケーション
C407 クレデンシャル情報
A408 クレデンシャル情報
B409 クレデンシャル情報
410 クレデンシャル情報管理部

Claims (4)

  1. ネットワークを介して電子データを受信し格納する管理サービスと、格納された前記電子データに関する情報をブロック単位で管理し夫々のブロックごとに前および/または後のブロックとの関連を定義した上で複数のブロックを複数のノードで管理するブロックチェーンサービスと連携する画像処理装置であって、
    画像処理装置が画像形成対象のプリントジョブを受取り、
    画像処理装置が上記プリントジョブ中の印刷情報に関する情報を得て、
    画像処理装置が上記プリントジョブ中の描画データを得て、
    プリントジョブの描画データもとに特徴量を計算し、
    画像処理装置が上記、印刷情報と描画データ由来の特徴量をもとにブロックチェーンのトランザクションデータを生成し、
    画像処理装置が上記、少なくともトランザクションデータを含むデータでブロックチェーンに登録し、
    画像処理装置が上記、少なくとも印刷情報ないし描画データ由来の特徴量をもとにコード画像データを生成し画像処理装置が上記、コード画像データを描画データに付加したうえで印刷処理を行う、ことを特徴とする画像処理装置。
  2. ネットワークを介して電子データを受信し格納する管理サービスと、格納された前記電子データに関する情報をブロック単位で管理し夫々のブロックごとに前および/または後のブロックとの関連を定義した上で複数のブロックを複数のノードで管理するブロックチェーンサービスと連携する画像処理装置であって、
    画像処理装置が記録媒体の撮影画像を受取り、
    画像処理装置が上記受取った撮像画像の特徴量を計算し、
    画像処理装置が上記撮像画像に埋め込まれたコード画像データをもとに、印刷時に埋め込まれた少なくとも印刷情報ないし描画データの特徴量由来のデータをデコードし、
    画像処理装置が描画データの特徴量由来のデータと撮像画像の特徴量を検証するとともに、上記ブロックチェーンへ少なくとも印刷時に埋め込まれた印刷情報に基づき照合を行うことを特徴とする画像処理装置。
  3. 請求項1の画像処理装置が行うプリントジョブの描画データもとに特徴量を計算する処理は、プリントジョブの描画データをレンダリングしたレンダリング画像の特徴量と、プリントジョブの描画データ中に含まれる文字情報の、少なくとも一方の情報を使って生成することを特徴とする画像処理装置。
  4. 請求項2の画像処理装置が行う撮像画像の特徴量を計算する処理は、撮像画像の特徴量と、撮像画像の文字認識結果に基づいた文字情報の、少なくとも一方の情報を使って生成することを特徴とする画像処理装置。
JP2021125657A 2021-07-30 2021-07-30 画像形成装置、その制御方法、及びプログラム Pending JP2023020345A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021125657A JP2023020345A (ja) 2021-07-30 2021-07-30 画像形成装置、その制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021125657A JP2023020345A (ja) 2021-07-30 2021-07-30 画像形成装置、その制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2023020345A true JP2023020345A (ja) 2023-02-09

Family

ID=85159433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021125657A Pending JP2023020345A (ja) 2021-07-30 2021-07-30 画像形成装置、その制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2023020345A (ja)

Similar Documents

Publication Publication Date Title
JP7263167B2 (ja) 画像形成装置、制御方法、プログラム
KR101458664B1 (ko) 인쇄 시스템, 인쇄 방법, 인쇄 서버, 제어 방법 및 저장 매체
US8199339B2 (en) Printing system and method for securely producing self-authenticating documents
CN102446076B (zh) 打印系统、打印方法、打印服务器及控制方法
JP6098172B2 (ja) 情報処理システム及びデータ変換方法
US8390867B2 (en) Form generation system and form generation method
US9202154B2 (en) Information processing apparatus and method for controlling re-execution of print jobs, and storage medium
US20070188793A1 (en) Information processing apparatus and method and program of controlling an information processing apparatus
EP3057303A2 (en) Information processing system, information processing apparatus, and information processing method
US10289828B2 (en) Image forming apparatus, image forming system, method for controlling image forming system, and storage medium
WO2021014863A1 (ja) 情報処理装置、制御方法、プログラム
JP7490368B2 (ja) 情報処理装置、制御方法、およびプログラム
JP6892612B2 (ja) 画像管理システム、画像管理サーバ、画像管理システムの制御方法、画像管理サーバの制御方法、画像管理システムのプログラム、画像管理サーバのプログラム
JP7438771B2 (ja) 画像形成装置、制御方法、およびプログラム
JP2012181694A (ja) 情報処理装置、プリントシステム、制御方法、及び、プログラム
JP2023020345A (ja) 画像形成装置、その制御方法、及びプログラム
JP5678491B2 (ja) 情報処理システム、画像処理装置、印刷管理サーバ、及びその方法、プログラム
JP2007201639A (ja) 画像処理装置及びその制御方法、画像処理システム、プログラム、記録媒体
US7532368B2 (en) Automated processing of paper forms using remotely-stored form content
JP2011139363A (ja) 画像形成装置、情報処理装置、データ処理サーバ及び情報処理方法
JP2011029848A (ja) 画像形成装置とその情報処理方法及びプログラム
JP2022076943A (ja) 情報処理装置、制御方法、およびそのプログラム
US20150264204A1 (en) Document management system, document managing method, and recording medium storing a document managing program
JP2008065661A (ja) 印刷管理装置、印刷解析システム、印刷システム、制御プログラム、文書発行システム
US11595543B2 (en) Image forming apparatus, control method, and storage medium, cooperating with blockchain service to verify a printed product