JP5901704B2 - 情報処理装置、情報処理方法、プログラム - Google Patents
情報処理装置、情報処理方法、プログラム Download PDFInfo
- Publication number
- JP5901704B2 JP5901704B2 JP2014135177A JP2014135177A JP5901704B2 JP 5901704 B2 JP5901704 B2 JP 5901704B2 JP 2014135177 A JP2014135177 A JP 2014135177A JP 2014135177 A JP2014135177 A JP 2014135177A JP 5901704 B2 JP5901704 B2 JP 5901704B2
- Authority
- JP
- Japan
- Prior art keywords
- layer
- image
- image data
- data
- script
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1206—Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1247—Job translation or job parsing, e.g. page banding by conversion to printer ready format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1292—Mobile client, e.g. wireless printing
Description
以下、携帯型情報端末上で、ウェブアプリケーションの1つである写真印刷アプリケーションを動作させたときの動作について説明する。写真印刷アプリケーションでは、ユーザが選択した画像に対して様々な画像処理(例えば、輝度補正し、スタンプ画像を追加)を適用した後に、印刷対象のコンテンツを印刷する。なお、本実施形態においては、写真印刷アプリケーションは、後述するハイブリッド型アプリケーションとして提供されている。
図1は、情報処理装置、特に、携帯型情報端末100のハードウェア構成の一例を示すブロック図である。同図において、CPU(中央演算装置)101は、各実施形態において説明する動作を、プログラムをROM102からRAM103に読み出して実行することにより実現する。ROM102は、CPU100により実行されるプログラム等を記憶するコンピュータ読取可能な記憶媒体である。RAM103は、例えば、CPU100によるプログラムの実行時に、各種データを一時的に記憶するためのワーキングメモリとして用いられる。2次記憶装置104は、例えばハードディスクやフラッシュメモリであり、例えば、画像ファイルや画像データ、画像解析などの処理結果を保持するデータベースなどを記憶する。タッチセンサ105は、タッチパネル上でのユーザの接触動作を検知するためのセンサである。ディスプレイ106は、写真印刷アプリケーション上の印刷設定画面等のユーザインタフェース画面や、画像処理結果などを表示する。ディスプレイ106は、タッチセンサ105を含んでも良い。
図2は、写真印刷アプリケーション(以下、アプリケーション)を実行するための、携帯型情報端末100上でのソフトウェア構成の一例を示す図である。図2に示すソフトウェアの各ブロックは、CPU101により実現される。本実施形態においては、携帯型情報端末100のソフトウェアは、スクリプト層201、ネイティブ層202、OS層203の3つの階層構造を有する。アプリケーションの機能は、図2に示す各層の連携により実現される。スクリプト層201は、HTML5、CSS(Cascading Style Sheets)3、Javascriptといったウェブ標準言語により、テキストデータで各種命令(スクリプト命令セット)が記述されている。各種命令とは、例えば、コンテンツの描画や画像の表示、動画の再生等の命令である。また、スクリプト層201は、それらのテキストデータを保持している。記述されたスクリプトは、アプリケーション実行環境上に存在するプロセッサ(CPU101)によりテキスト命令群が翻訳されて実行される。翻訳は、実行の度に命令文を一行ずつ動的に翻訳する形態や、アプリケーションを起動したときに翻訳する形態、アプリケーションを携帯型情報端末100にインストールしたときに翻訳する形態などで行われる。以下、スクリプト層201で処理することやスクリプト層201での内容を単にスクリプトとも呼ぶ。スクリプトの命令をデバイス(携帯型情報端末100)内で翻訳する際には、例えば、後述するネイティブ層202やOS層203のインタプリタの機能が使用される。なお、本実施形態においては、アプリケーションのUIの大部分がスクリプトで記述される。
スクリプト層201の画像取得部204は、ネイティブ層202に対して画像データの取得を依頼する。取得依頼方法は複数可能であり、例えば、ファイルの存在場所そのものを指定する絶対パス指定方法や、ダイアログ表示を促す方法などがある。ネイティブ層202の画像読込部205は、画像取得部204からの取得依頼に基づき、画像データを保持している領域であるネイティブ層202の画像群206から画像データを取得する。画像群206からの画像データの取得方法は、画像取得部204の依頼方法によって異なる。画像読込部205は、例えば、ファイルの絶対パスに基づき直接に画像データを取得したり、ダイアログ表示での選択に基づき画像データを取得する。
ネイティブ層202のデータ保持部209は、画像読込部205により読み込まれた画像データや、画像処理部210により画像処理が実行された画像データを保持する。ここで、保持される画像データはRGB展開されている。従って、画像読込部205により読み込まれて保持された画像データに対して、直ちに画像処理が実行可能である。ネイティブ層202のデータ保存部216は、必要に応じて、データ保持部209に保持されている画像データを画像群206に格納する。また、データ保存部216は、アプリケーションが用意しているスタンプ画像や、テンポラリファイルの保存に用いられる場合もある。
スクリプト層201のレンダリング部219は、出力(表示/印刷)対象の画像のレンダリングについてのスクリプトを作成するためのブロックであり、コンテンツ描画部211、コンテンツ操作部212、画像処理制御部213を含む。本実施形態では、レンダリング部219でスクリプト作成途中の画像はディスプレイ106には表示されない。コンテンツ描画部211は、印刷対象のコンテンツを、ウェブ標準言語で記述する。スクリプト層201のコンテンツ操作部212は、画像の操作をスクリプトに反映する。画像の操作とは、例えば、画像の拡大、移動、回転である。コンテンツ描画部211による記述には、コンテンツ操作部212で操作された内容も反映される。ここで記述されたコンテンツのスクリプトは、後述するOS層203のインタプリタ218で解釈され、ディスプレイ106に表示される。画像処理制御部213は、画像処理に用いる補正パラメータ(例えば、輝度の補正値)と、補正対象となる画像を決定する。それらのデータは、必要に応じてスクリプト層201のデータ変換部208で、ネイティブ層202で利用可能なデータ形式に変換されてネイティブ層202に渡される。
スクリプト層201のプリンタ制御部214は、レンダリング開始依頼、プリンタ検知の依頼、プリンタ設定画面の表示、プリント情報の生成及び送信を制御する。ここでのレンダリングとは、印刷に必要なビットマップデータを作成することをいう。プリンタ設定画面では、用紙のサイズ、用紙の種類、カラー/モノクロ印刷などの設定が可能である。ここで設定された項目に基づいて、ネイティブ層202のプリンタデータ生成部215は、プリント情報を生成する。
図3は、本実施形態における写真印刷処理の全体の手順を示すフローチャートである。図3の処理は、例えば、CPU101がROM102からプログラムをRAM103に読み出して実行することにより実現される。図10は、本実施形態におけるスクリプトで記述された写真印刷アプリケーション画面の一例を示す図である。
最初に、ユーザによりアプリケーションが起動されると、アプリケーションは、接続可能なプリンタのディスカバリ処理(不図示)を行う。ディスカバリ処理とは、携帯型情報端末100が存在するLAN内において、接続可能なプリンタのIPアドレスを特定する処理のことである。携帯型情報端末100は、ディスカバリ処理で取得したIPアドレス(複数の場合もある)に対して、プリンタ115の属性情報(プリンタ情報)取得の要求コマンドを送信し、プリンタ115からの返信を得る。具体的には、ネイティブ層202において、各プリンタの情報を取得するためのコマンドが生成される。ここで、コマンドとはプリンタ115の動作を指定する命令であり、例えば、下記のようなXMLで記述される。
<?xml version="1.0" encoding="utf-8" ?>
<cmd xmlns:trans="http://www.trans/example/">
<contents>
<operation>GetInformation</operation>
</contents>
</cmd>
生成されたコマンドは、プリンタ115の通信プロトコルに従った形式で、例えば、Wi−Fi(登録商標)接続されたルータに対してブロードキャストされる。ここで、通信の方法は、Wi−Fiダイレクトや電話回線を利用するなどが考えられ、本実施形態では、プリンタ115の検出が無線LANルータ接続に限定されるものではない。
<?xml version="1.0" encoding="utf-8" ?>
<cmd xmlns:trans="http://www.trans/example/">
<contents>
<PrinterName>PrinterA</PrinterName>
<ImageProcGrp>A</ImageProcGrp>
<ResolutionX>400</ResolutionX>
<ResolutionY>400</ResolutionY>
</contents>
</cmd>
また、ImageProcGrpタグによって、それぞれのプリンタが利用可能な画像処理グループを取得することもできる。また、ResolutionXおよびResolutionYは、このプリンタのエンジンが必要とする画像の解像度であり、例えば、dpiを単位として表される。
<form name=”frmPrinter”>
<select name=”selPrinter”>
</select>
</form>
<script type=”text/javascript”>
Function fAddPrinter(PrinterName, count){
var sObj=document.forms[“frmPrinter”].elements[“selPrinter”];
for (var i=0;i<count;i++){
var idx=sObj.length;
sObj.options[idx]=new Option(PrinterName[i]);
}
}
</script>
上記において、selectタグは、リストを表示するための記述であり、scriptタグ内に記述されたjavascriptコードによって、リストに取得したプリンタの名称(PrinterNameに配列として格納)を追加することができる。
上述のように、ユーザによる写真画像選択ボタン1201の押下を検出することにより、S301の処理が開始する。図4は、S301の写真画像選択の処理を示すフローチャートである。図4のS401、S402、S409〜S411は、スクリプト層201により実行される処理であり、S403〜S408は、ネイティブ層202により実行される処理である。他のフローチャートにおいても同様に示す。
var CorrectionParam = function(){
this.brightness = 10;
}
上記の補正パラメータは、CorrectionParamオブジェクトの中に、明るさ補正用にbrightnessという変数名と、brightnessには10という値が格納されているということを表している。説明上、補正パラメータは、明るさ補正用のみとして示しているが、その他の補正処理用のパラメータを追加することにより、画像処理の種類を増やすことができる。
var base64Data = ネイティブからのBASE64データ
var canvas = document.createElement("canvas");//画像の描画領域確保
canvas.setAttribute("width", 100);//描画領域の大きさ設定
canvas.setAttribute("height", 100);
canvas.setAttribute(“id”, “ImageID”);//canvasにIDをつける
var context = canvas.getContext("2d");//描画領域に描画するAPIを持つオブジェクトの生成
var img = new Image();//Imageオブジェクトの生成
img.src = base64Data;//画像のURIを受け取ったBASE64データとする
img.onload = function(){//画像のロードが終わってから処理を開始する
context.drawImage(img, 0, 0, img.width, img.height, 0, 0, canvas.width, canvas.height);//contextオブジェクトのメソッドを用いて画像を描画領域に描画
document.getElementById("div").appendChild(canvas);}
本実施形態では、Canvasが何層にもなるレイヤ構造を用いている。それらのCanvasは、描画/移動/拡大などの操作が特定されると、divで指定される描画領域1206に対して順次追加されていく。通常、Canvasは1枚の画像として扱われるので、Canvasに写真画像を描画した後にスタンプ画像などを追加すると、スタンプ画像と合わせて1枚の画像とされる。それに対して、本実施形態では、レイヤ構造を用いてCanvasを重ねて表示するので、ユーザに対して1枚の画像のように表示するが、実際の描画物はそれぞれ独立したものとなっている。例えば、HTMLのDOM(Document Object Model)のように、divの領域内にCanvasオブジェクトが複数存在する形態である。以下に一例を示す。
<div width = 100 height = 100>
<canvas id=”ImageID” width=100 height=100 style="position:absolute;left:0px; top:0px;"></canvas>
<canvas id=”Stamp” width=10 height=10 style="position:absolute;left:10px; top:10px;"></canvas>
…
</div>
1つ目のCanvasは、縦幅100、横幅100のdiv領域に対して、縦幅100、横幅100で追加されている。つまり、表示領域全体に対してCanvasが重なっているということであり、写真画像は全体表示される。2つ目のCanvasは、縦幅10、横幅10の大きさ、つまり、div左上の頂点を基準とした時の(10,10)の座標に追加されている。それぞれのCanvasは独立しており、また、それぞれに一意なIDが指定されている。スクリプトによる操作や、特定のCanvasの情報を取得する際には、対応するIDが用いられる。例えば、2つ目のCanvasの縦幅は、以下の操作で取得することができる。
var width = document.getElementById(“Stamp”).width;
[画像処理]
ユーザによるスライドバー1202の設定を検出することにより、図3のS302の処理が開始する。図5は、S302の画像処理を示すフローチャートである。
If ( Clk > Th1 ) ImageProcGrp = “A”;
Else ImageProcGrp = “B”
なお、上記の処理は、通常、アプリケーションが起動した際に、スクリプト層201において行われる。画像処理グループが特定されると、スクリプト層201において、以下に一例と示すコードにより、利用可能な画像処理の表示用スクリプトが作成される。
<form name=”frmIProc”>
<select name=”selIProc”>
</select>
</form>
<script type=”text/javascript”>
Function fAddImageProc(Grp){
var sObj=document.forms[“frmIProc”].elements[“selIProc”];
if( Grp =”A” ){
var idx=sObj.length;
sObj.options[idx]=new Option(“ImageFix”);
var idx=sObj.length;
sObj.options[idx]=new Option(“RedEyeFix”);
var idx=sObj.length;
sObj.options[idx]=new Option(“SmartSkin”);
var idx=sObj.length;
sObj.options[idx]=new Option(“Mono”);
var idx=sObj.length;
sObj.options[idx]=new Option(“Sepia”);
}
Else if (Grp=”B”){
var idx=sObj.length;
sObj.options[idx]=new Option(“Mono”);
var idx=sObj.length;
sObj.options[idx]=new Option(“Sepia”);
}
}
</script>
上記のスクリプトにおいては、CPU101のクロック数がある閾値より大きく、複雑な画像処理を実行可能と判断された場合には(Grp=A)、より多くの画像処理機能を選択可能としている。逆に、CPU101のクロック数がある閾値以下の場合には、処理としては負荷の軽いモノクロ変換、セピア変換という処理のみが選択可能となる。上記のスクリプトは、OS層203のインタプリタ218で翻訳されて画面上に描画される。図15は、その描画された様子を示す図である。
ユーザによるスタンプ追加ボタン1203の押下を検出し、ハートスタンプ画像1208の選択を検出することにより、S303の処理が開始する。図6は、S303のスタンプ画像追加の処理を示すフローチャートである。
var ObjectParam = function(){
this.posX = 10;
this.posY = 10;
this.width = 100;
this.height = 100;
this.ImageData = BASE64Data;
}
このオブジェクトパラメータは、ObjectParamオブジェクトの中に、基準点からのx座標を示すposX変数名が含まれ、posXには10という値が格納されているということを表している。ここで、基準点とは、描画領域1206の左上の座標である。同様に、posYは、描画領域1206の左上を基準点としたときのy座標、widthはスタンプ画像の描画領域の横幅、heightは描画領域の縦幅を表している。また、BASE64Dataは、ネイティブ層202から受け取った画像データである。
S303でスタンプ画像が追加された後、ユーザによるディスプレイ106上をタップ操作を検出することにより、S304のスタンプ画像の特定処理が開始する。ここで、タップ操作とは、ユーザがディスプレイ106上を指で押すタッチ操作のことをいう。これは、PCで言うところの「クリック」に相当する。
ユーザによるスライドバー1204の操作を検出することにより、S305の処理が開始する。図8は、S305のスタンプ画像の操作処理を示すフローチャートである。
ユーザによるプリントボタン1205の押下を検出することにより、S306の処理が開始する。図9は、S306のプリンタ設定の処理を示すフローチャートである。
----------------------------------------------
01: <?xml version="1.0" encoding="utf-8" ?>
02: <cmd xmlns:trans="http://www.xxxx/yyyyy/">
03: <contents>
04: <operation>GetPrinterInfo</operation>
05: </contents>
06: </cmd>
----------------------------------------------
上記各行の左側に書かれている「01:」などの数値は説明を行うために付加した行番号であり、本来のXML形式のテキストには記述されない。
----------------------------------------------
01: <?xml version="1.0" encoding="utf-8" ?>
02: <cmd xmlns:trans="http://www.xxxx/yyyyy/">
03: <contents>
04: <device id=”Printer001” />
05: <mode = 1>
06: <media>GlossyPaper</media>
07: <size>A4</size>
08: <quality>1</quality>
09: <border>no</border>
10: </mode>
11: <mode = 2>
〜中略〜
</mode>
<mode = 3>
〜中略〜
</mode>
〜中略〜
</contents>
</cmd>
----------------------------------------------
1行目はヘッダであり、XML形式で記述していることを表している。
------------------------------------------------
<!DOCTYPE html>
<head>
<title>印刷設定 </title>
<script>
<!-- 用紙サイズ -->
var PaperSizeNum = GetPaperSizeNum();
var p = document.getElementById("PaperList");
var i;
for(i=0; i<PaperSizeNum; i++){
p.options[i] = new Option(GetPaperSize(i), GetPaperSize(i));
}
<!-- 用紙種類-->
var MediaTypeNum = GetMediaTypeNum();
var m = document.getElementById("MediaList");
var j;
for(j=0; j<MediaTypeNum; j++){
m.options[i] = new Option(GetMediaType(j),GetMediaType(j));
}
<!-- 印刷品位 -->
var QualityNum = GetQualityNum();
var q = document.getElementById("QualityList");
var k
for(k=0; k< QualityNum; k++){
q.options[i] = new Option(GetQuality(k), GetQuality(k));
}
<!-- 縁あり/なし-->
var BorderNum = GetBorderNum();
var b = document.getElementById("BorderList");
var l;
for(l=0; l<BorderNum; l++){
b.options[i] = new Option(GetBorder(l),GetBorder(l));
}
<!-- 印刷関数-->
function printer() {
SetPrint(document.getElementById("PaperList").value,
document.getElementById("MediaList").value,
document.getElementById("QualityList").value,
document.getElementById("BorderList ").value);
}
</script>
</head>
<!-- 表示部 -->
<body>
用紙サイズ:<select id="PaperList"></select><br />
用紙種類: <select id="MediaList"></select><br />
印刷品位: <select id="QualityList"></select><br />
縁なし: <select id="BorderList"></select><br />
<br />
<button id="btn1" onclick="printer()">印刷設定完了</button>
</body>
</html>
------------------------------------------------
上記のGetPaperSizeNum()、GetMediaTypeNum()、GetQualityNum()、GetBorderNum()はネイティブ関数であり、それぞれの項目がいくつあるかを取得する機能を備える。例えば、プリンタが対応している用紙サイズがA4、A5、B5、L判の4種類の場合、GetPaperSizeNum()は4を返す。
ユーザによる印刷設定画面1301の設定完了ボタン1302の押下を検出することにより、S307の処理が開始する。図10は、S307のレンダリング処理を示すフローチャートである。
S1018の処理が終了すると、S308の処理が開始する。図11は、S308のプリント処理を示すフローチャートである。
第1の実施例では、ネイティブ層202の画像読込部205が画像群206から画像データを取得していた。そして、スクリプト層201では、ネイティブ層202から画像データを受け取ることで、画像データに基づく印刷時のレンダリングを可能にしていた。
図17は、本実施形態における写真画像選択の処理を示すフローチャートである。図17は、S1701及びS1702の点で図4と異なる。
図18は、本実施形態における画像処理を示すフローチャートである。図18は、S1801〜S1804の点で図5と異なる。
図19は、本実施形態におけるスタンプ画像の追加処理を示すフローチャートである。図19は、S1901及び1902の点で図6と異なる。
図20は、本実施形態におけるレンダリング処理を示すフローチャートである。ユーザによる、プリンタ設定UI1301の設定完了ボタン1302の押下を検出することにより、図20の処理が開始する。
図21は、本実施形態における、携帯型情報端末100のソフトウェア構成を示す図である。図21は、OS層203のWebデータ取得部220の点で図2と異なる。本実施形態においては、ユーザが選択可能な写真画像データは、第1及び第2の実施形態のように携帯型情報端末100内でなく、Web上画像群221に保存されている。
図22は、本実施形態における、写真画像選択の処理を示すフローチャートである。図22は、S2201〜S2203の点で図4と異なる。
第4の実施形態では、画像データをオンメモリで保持し続けるのではなく、画像データを利用しない場合には、テンポラリファイルとして二次記憶装置104(データ保存部216)に保存しておく。スクリプト層201の画像処理制御部213から画像処理の依頼があった場合には、ネイティブ層202の画像読込部205は、データ保存部216中のテンポラリファイルを読み込む。そして、ネイティブ層202の画像処理部210は、テンポラリファイルに対応したRGBデータに対して画像処理を行う。
図23は、本実施形態における、写真画像選択の処理を示すフローチャートである。図23は、S2301〜S2303の点で図4と異なる。
図24は、本実施形態における、画像処理のフローチャートを示す図である。図24は、S2401及びS2402の点で図5と異なる。
図25は、本実施形態における、スタンプ画像の追加の処理を示すフローチャートである。図25は、S2501〜S2503の点で図6と異なる。
Claims (28)
- プロセッサと、
アプリケーションの実行の際に前記プロセッサが実行可能に翻訳されて実行されるスクリプト命令セットで構成された第1の層と、前記プロセッサが実行可能な命令セットで構成された第2の層と、を有する階層構造を成し、前記第1の層と前記第2の層との連携により前記アプリケーションを実行するためのプログラムを記憶する記憶手段と、
前記アプリケーションの機能により、指定された画像に対する画像処理を行う場合、前記第2の層において、当該指定された前記画像の画像データを取得する取得手段と、
前記第1の層において、前記取得手段により取得され且つ前記第2の層において前記第1の層が解釈可能なデータ形式に変換された前記画像データを含む、印刷用コンテンツの印刷スクリプトを生成する生成手段と、
前記生成手段により生成された前記印刷スクリプトを解釈することにより、当該印刷スクリプトを印刷用解像度に対応する印刷用画像データにレンダリングするレンダリング手段と、を備え、
前記レンダリング手段は、印刷用紙情報に基づいて出力画像サイズを取得し、前記印刷スクリプトに含まれている前記画像データを当該取得された出力画像サイズに応じて拡大または縮小することで、前記印刷用画像データを生成することを特徴とする情報処理装置。 - 前記第2の層において、前記取得手段により取得された前記画像データを前記第1の層が解釈可能なデータ形式に変換する変換手段、をさらに備え、
前記生成手段は、前記第1の層において、前記変換手段によりデータ形式が変換された前記画像データを含む前記印刷スクリプトを生成することを特徴とする請求項1に記載の情報処理装置。 - 前記第1の層は、HTML5、JavaScript(登録商標)の少なくともいずれかにより記述されていることを特徴とする請求項1又は2に記載の情報処理装置。
- 前記取得手段は、Webサイト上の画像データもしくはオフラインでアクセス可能な画像データを取得することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- 前記取得手段により取得された前記画像データを保存する保存手段と、
前記第1の層において、前記画像処理の実行の指示を受け付ける受付手段と、をさらに備え、
前記受付手段により前記画像処理の実行の指示を受け付けると、前記生成手段は、前記保存手段から前記画像データを前記第1の層が解釈可能なデータ形式で取得し、前記印刷スクリプトを生成することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。 - アプリケーションの実行の際にプロセッサが実行可能に翻訳されて実行されるスクリプト命令セットで構成された第1の層と、前記プロセッサが実行可能な命令セットで構成された第2の層と、を有する階層構造を成し、前記第1の層と前記第2の層との連携により前記アプリケーションを実行するためのプログラムを実行する装置において実行される情報処理方法であって、
前記アプリケーションの機能により、指定された画像に対する画像処理を行う場合、前記第2の層において、当該指定された前記画像の画像データを取得する取得工程と、
前記第1の層において、前記取得工程において取得され且つ前記第2の層において前記第1の層が解釈可能なデータ形式に変換された前記画像データを含む、印刷用コンテンツの印刷スクリプトを生成する生成工程と、
前記生成工程において生成された前記印刷スクリプトを解釈することにより、当該印刷スクリプトを印刷用解像度に対応する印刷用画像データにレンダリングするレンダリング工程と、を有し、
前記レンダリング工程では、印刷用紙情報に基づいて出力画像サイズを取得し、前記印刷スクリプトに含まれている前記画像データを当該取得された出力画像サイズに応じて拡大または縮小することで、前記印刷用画像データを生成することを特徴とする情報処理方法。 - アプリケーションの実行の際にプロセッサが実行可能に翻訳されて実行されるスクリプト命令セットで構成された第1の層と、前記プロセッサが実行可能な命令セットで構成された第2の層と、を有する階層構造を成し、前記第1の層と前記第2の層との連携により前記アプリケーションを実行するためのプログラムであって、
前記アプリケーションの機能により、指定された画像に対する画像処理を行う場合、前記第2の層において、当該指定された前記画像の画像データを取得し、
前記第1の層において、前記取得され且つ前記第2の層において前記第1の層が解釈可能なデータ形式に変換された前記画像データを含む、印刷用コンテンツの印刷スクリプトを生成し、
前記生成された印刷スクリプトを解釈し且つ印刷用紙情報に基づいて出力画像サイズを取得し、前記印刷スクリプトに含まれている前記画像データを当該取得された出力画像サイズに応じて拡大または縮小することで、印刷用解像度に対応する印刷用画像データを生成することを特徴とするプログラム。 - 前記第2の層において、前記取得された画像データを前記第1の層が解釈可能なデータ形式に変換し、
前記印刷スクリプトの生成では、前記第1の層において、前記変換によりデータ形式が変換された前記画像データを含む印刷スクリプトを生成する請求項7に記載のプログラム。 - 前記第1の層は、HTML5、JavaScript(登録商標)の少なくともいずれかにより記述されている請求項7又は8に記載のプログラム。
- 前記画像データの取得では、Webサイト上の画像データもしくはオフラインでアクセス可能な画像データを取得する請求項7乃至9のいずれか1項に記載のプログラム。
- 前記取得された前記画像データを保存し、
前記第1の層において、前記画像処理の実行の指示を受け付けると、前記保存された前記画像データを前記第1の層が解釈可能なデータ形式で取得し、前記印刷スクリプトを生成する請求項7乃至10のいずれか1項に記載のプログラム。 - プロセッサと、
アプリケーションの実行の際に前記プロセッサで実行可能なように翻訳され当該プロセッサにより実行されるスクリプト命令セットで構成された第1の層と、前記プロセッサで実行可能なように予め翻訳されている命令セットで構成された第2の層と、を有する階層構造を成し、前記第1の層と前記第2の層との連携により前記アプリケーションを実行するためのプログラムを記憶する記憶手段と、
前記アプリケーションの機能により、指定された画像に対する画像処理を行う場合、前記第2の層において、当該指定された画像に対応する画像データを取得する取得手段と、
前記第1の層において、前記取得手段により取得された画像データに対応する、前記第1の層が解釈可能なデータ形式のデータを前記第2の層から受け取り、当該データに基づいて前記画像処理を命令する命令手段と、
を備えることを特徴とする情報処理装置。 - 前記画像処理が印刷処理である場合に、
前記命令手段により前記印刷処理が命令されると、前記第2の層において、前記取得手段により取得された前記画像データのレンダリングを行うレンダリング手段、をさらに備えることを特徴とする請求項12に記載の情報処理装置。 - 前記画像処理が表示処理である場合に、
前記命令手段により前記表示処理が命令されると、前記第2の層において、前記取得手段により取得された前記画像データの表示処理を行う表示手段、をさらに備えることを特徴とする請求項12又は13に記載の情報処理装置。 - 前記命令手段は、前記第1の層がJavaScript(登録商標)で記述されている場合、Canvasを用いて前記表示処理を命令することを特徴とする請求項14に記載の情報処理装置。
- 前記第2の層において、前記取得手段により取得された前記画像データを前記第1の層が解釈可能なデータ形式に変換する変換手段、をさらに備え、前記命令手段は、前記第1の層において、前記変換手段によりデータ形式が変換された前記画像データを前記第2の層から受け取ることを特徴とする請求項12乃至15のいずれか1項に記載の情報処理装置。
- 前記第1の層は、HTML5、JavaScript(登録商標)の少なくともいずれかにより記述されていることを特徴とする請求項12乃至16のいずれか1項に記載の情報処理装置。
- 前記取得手段は、Webサイト上の画像データもしくはオフラインでアクセス可能な画像データを取得することを特徴とする請求項12乃至17のいずれか1項に記載の情報処理装置。
- 前記取得手段により取得された前記画像データを保存する保存手段と、
前記第1の層において、前記画像処理の実行の指示を受け付ける受付手段と、をさらに備え、
前記受付手段により前記画像処理の実行の指示を受け付けると、前記命令手段は、前記保存手段から前記画像データを前記第1の層が解釈可能なデータ形式で取得し、前記画像処理を命令する、ことを特徴とする請求項12乃至18のいずれか1項に記載の情報処理装置。 - プロセッサと、
アプリケーションの実行の際に前記プロセッサで実行可能なように翻訳され当該プロセッサにより実行されるスクリプト命令セットで構成された第1の層と、前記プロセッサで実行可能なように予め翻訳されている命令セットで構成された第2の層と、を有する階層構造を成し、前記第1の層と前記第2の層との連携により前記アプリケーションを実行するためのプログラムを記憶する記憶手段とを有する情報処理装置において実行される情報処理方法であって、
前記アプリケーションの機能により、指定された画像に対する画像処理を行う場合、前記第2の層において、当該指定された画像に対応する画像データを取得する取得工程と、
前記第1の層において、前記取得工程において取得された画像データに対応する、前記第1の層が解釈可能なデータ形式のデータを前記第2の層から受け取り、当該データに基づいて前記画像処理を命令する命令工程と、
を有することを特徴とする情報処理方法。 - アプリケーションの実行の際にプロセッサで実行可能なように翻訳され当該プロセッサにより実行されるスクリプト命令セットで構成された第1の層と、前記プロセッサで実行可能なように予め翻訳されている命令セットで構成された第2の層と、を有する階層構造を成し、前記第1の層と前記第2の層との連携により前記アプリケーションを実行するためのプログラムであって、
前記アプリケーションの機能により、指定された画像に対する画像処理を行う場合、前記第2の層において、当該指定された画像に対応する画像データを取得し、
前記第1の層において、当該取得された画像データに対応する、前記第1の層が解釈可能なデータ形式のデータを前記第2の層から受け取り、当該データに基づいて前記画像処理を命令する、
ようにコンピュータを機能させるためのプログラム。 - 前記画像処理が印刷処理である場合に、
前記印刷処理が命令されると、前記第2の層において、取得された前記画像データのレンダリングを行うようにコンピュータを機能させるための請求項21に記載のプログラム。 - 前記画像処理が表示処理である場合に、
前記表示処理が命令されると、前記第2の層において、取得された前記画像データの表示処理を行うようにコンピュータを機能させるための請求項21又は22に記載のプログラム。 - 前記第1の層がJavaScript(登録商標)で記述されている場合、Canvasを用いて前記表示処理が命令される請求項23に記載のプログラム。
- 前記第2の層において、取得された前記画像データを前記第1の層が解釈可能なデータ形式に変換し、
前記第1の層において、当該データ形式が変換された前記画像データを前記第2の層から受け取る請求項21乃至24のいずれか1項に記載のプログラム。 - 前記第1の層は、HTML5、JavaScript(登録商標)の少なくともいずれかにより記述されている請求項21乃至25のいずれか1項に記載のプログラム。
- 前記画像データは、Webサイト上の画像データもしくはオフラインでアクセス可能な画像データである請求項21乃至26のいずれか1項に記載のプログラム。
- 取得された前記画像データを保存し、
前記第1の層において、前記画像処理の実行の指示を受け付けるようにコンピュータをさらに機能させ、
前記画像処理の実行の指示を受け付けると、保存された前記画像データを前記第1の層が解釈可能なデータ形式で取得し、前記画像処理を命令するようにコンピュータを機能させるための請求項21乃至27のいずれか1項に記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014135177A JP5901704B2 (ja) | 2014-06-30 | 2014-06-30 | 情報処理装置、情報処理方法、プログラム |
US14/741,958 US9436413B2 (en) | 2014-06-30 | 2015-06-17 | Information processing apparatus, information processing method, and storage medium storing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014135177A JP5901704B2 (ja) | 2014-06-30 | 2014-06-30 | 情報処理装置、情報処理方法、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016014919A JP2016014919A (ja) | 2016-01-28 |
JP5901704B2 true JP5901704B2 (ja) | 2016-04-13 |
Family
ID=54930905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014135177A Active JP5901704B2 (ja) | 2014-06-30 | 2014-06-30 | 情報処理装置、情報処理方法、プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9436413B2 (ja) |
JP (1) | JP5901704B2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6378645B2 (ja) | 2014-06-13 | 2018-08-22 | キヤノン株式会社 | 情報処理装置、制御方法、及びプログラム |
JP6525517B2 (ja) * | 2014-06-30 | 2019-06-05 | キヤノン株式会社 | 情報処理装置、制御方法、及びプログラム |
JP6138088B2 (ja) | 2014-06-30 | 2017-05-31 | キヤノン株式会社 | 情報処理装置、制御方法、及びソフトウェアプログラム |
JP6363888B2 (ja) | 2014-06-30 | 2018-07-25 | キヤノン株式会社 | 情報処理装置、およびプログラム |
JP6463914B2 (ja) | 2014-06-30 | 2019-02-06 | キヤノン株式会社 | 情報処理装置、処理方法、及びプログラム |
JP6711275B2 (ja) * | 2014-09-22 | 2020-06-17 | ソニー株式会社 | 画像表示制御装置、送信装置、および画像表示制御方法、並びにプログラム |
JP6250013B2 (ja) | 2014-11-26 | 2017-12-20 | ネイバー コーポレーションNAVER Corporation | コンテンツ参加翻訳装置、及びそれを利用したコンテンツ参加翻訳方法 |
KR20170086891A (ko) * | 2016-01-19 | 2017-07-27 | 에스프린팅솔루션 주식회사 | 화상형성작업의 수행을 위한 어플리케이션을 실행하는 화상형성장치 및 화상형성장치에서 화상형성작업을 수행하는 방법 |
JP6649832B2 (ja) | 2016-03-30 | 2020-02-19 | キヤノン株式会社 | 情報処理装置およびその制御方法、並びにプログラム |
JP6799396B2 (ja) * | 2016-07-01 | 2020-12-16 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP6786342B2 (ja) | 2016-10-18 | 2020-11-18 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
CN106993238A (zh) * | 2017-04-14 | 2017-07-28 | 网宿科技股份有限公司 | 基于Html5的音视频播放方法及装置、音视频直播方法及系统 |
JP2023020591A (ja) * | 2021-07-30 | 2023-02-09 | キヤノン株式会社 | 情報処理装置、その制御方法及びプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005050A1 (en) * | 2001-05-30 | 2003-01-02 | Pineau Richard A. | Method and apparatus for providing output from remotely located digital files using a remote printer |
JP2005085052A (ja) * | 2003-09-10 | 2005-03-31 | Toshiba Corp | 携帯情報端末、印刷方法および印刷用プログラム |
JP2010218457A (ja) * | 2009-03-18 | 2010-09-30 | Ricoh Co Ltd | 画像形成装置、画像形成方法およびプログラム |
KR101350661B1 (ko) * | 2011-09-30 | 2014-01-10 | 엔에이치엔엔터테인먼트 주식회사 | 웹 기술을 이용한 하이브리드 어플리케이션 구동 장치 및 방법 |
US9785787B2 (en) * | 2013-09-30 | 2017-10-10 | Juniper Networks, Inc. | Encrypting images on a client device for secure transmission and storage on a storage device |
-
2014
- 2014-06-30 JP JP2014135177A patent/JP5901704B2/ja active Active
-
2015
- 2015-06-17 US US14/741,958 patent/US9436413B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9436413B2 (en) | 2016-09-06 |
US20150379382A1 (en) | 2015-12-31 |
JP2016014919A (ja) | 2016-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5901704B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
JP6363888B2 (ja) | 情報処理装置、およびプログラム | |
US10296267B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP6478487B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP6381319B2 (ja) | 情報処理装置、処理方法、及びプログラム | |
US10620892B2 (en) | Information processing apparatus that displays a print setting screen based on information of a printing apparatus in a format interpretable in a first program layer and processing method thereof | |
JP6138088B2 (ja) | 情報処理装置、制御方法、及びソフトウェアプログラム | |
US10075620B2 (en) | Information processing apparatus, control method for information processing apparatus, and non-transitory computer-readable storage medium | |
US20140368869A1 (en) | Method of printing web page by using mobile terminal and mobile terminal for performing the method | |
JP6799396B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP6360370B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP6008897B2 (ja) | 装置、方法、及びプログラム | |
JP6786342B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP6649832B2 (ja) | 情報処理装置およびその制御方法、並びにプログラム | |
JP7395334B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP6757368B2 (ja) | 情報処理装置、処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151026 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151225 |
|
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: 20160208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160308 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5901704 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |