JP2010277501A - 画像生成装置、画像生成装置の動作方法、および記録媒体 - Google Patents

画像生成装置、画像生成装置の動作方法、および記録媒体 Download PDF

Info

Publication number
JP2010277501A
JP2010277501A JP2009131908A JP2009131908A JP2010277501A JP 2010277501 A JP2010277501 A JP 2010277501A JP 2009131908 A JP2009131908 A JP 2009131908A JP 2009131908 A JP2009131908 A JP 2009131908A JP 2010277501 A JP2010277501 A JP 2010277501A
Authority
JP
Japan
Prior art keywords
image
coordinate
images
arrangement
point
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.)
Granted
Application number
JP2009131908A
Other languages
English (en)
Other versions
JP5026472B2 (ja
Inventor
Shinichi Kudo
真一 工藤
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.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan 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
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2009131908A priority Critical patent/JP5026472B2/ja
Publication of JP2010277501A publication Critical patent/JP2010277501A/ja
Application granted granted Critical
Publication of JP5026472B2 publication Critical patent/JP5026472B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】ウェブページの画像をクライアント端末にて高速に表示するために「CSSスプライト」と呼ばれる技術が提供されている。しかしCSSスプライト用の矩形画像のデータサイズが不必要に大きなものとなると、そのCSSスプライト画像そのものの通信に時間がかかってしまい、表示時間の短縮効率が悪くなってしまう、という課題がある。
【解決手段】以上の課題解決のため、本発明は、CSSスプライト用の矩形画像の表示面積が小さくなるよう、複数の画像を同一平面上に個々の画像が重ならないように、かつ対角線が略最小となる矩形となるよう配置して矩形画像を生成する機能を有することで、矩形画像のデータサイズの肥大化を抑え、通信速度を確保することができる画像生成装置を提供する。
【選択図】図2

Description

本発明は、ウェブページを高速に表示するための、いわゆるCSSスプライト用の画像を効率的に生成する技術に関する。
ウェブページをクライアント端末にて高速に表示するための技術として、現在「CSSスプライト」と呼ばれる以下のような技術が提供されている。一般的にウェブページにはタイトル画像や項目画像、バナー広告、GUI用ボタンなどの複数の細かい画像部品が埋め込まれている。そのため従来のウェブページの表示時には、これら画像部品の一つ一つに逐一HTTPリクエストを行う必要があり、表示するまでに時間がかかっていた。そこでCSSスプライトではこれら複数の画像部品を一つの大きな画像データ(以下、「矩形画像」と記載)にまとめて1回のHTTPリクエストで複数の画像部品を取得可能とし、ウェブページの表示時間を短縮することができる、という具合である。
特開2007−122724号公報
ここで、画像の縦横長がばらばらの複数の画像を並べて1枚の画像データを生成する場合、その画像データは、配置で生じる余白も含めた矩形の画像データとなる。したがって余白を考慮せずに下手に並べてしまうと、矩形画像の縦横長が余白を含めて肥大化してしまい、その結果としてデータサイズ(データ量)も大きくなってしまうことになる。そして上記従来の技術においては、上記点を考慮していないためCSSスプライト用の矩形画像のデータサイズが不必要に大きなものとなり、大きな矩形画像そのものの通信に時間がかかり表示時間の短縮効率が悪くなってしまう、という課題がある。
以上の課題を解決するために、本発明は、CSSスプライト用の矩形画像の表示面積が小さくなるよう、複数の画像を、同一平面上に個々の画像が重ならないように、かつ対角線が略最小となる矩形となるよう配置して矩形画像を生成する機能を有することで、矩形画像のデータサイズの肥大化を抑え、通信速度を確保することができるウェブページなどの表示用の画像生成装置を提供する。
具体的には、ウェブページにて表示される複数の画像をまとめて配信するための装置であって、複数の画像を、同一平面上に個々の画像が重ならないように、かつその複数の画像の全てを含む矩形の対角線が略最小となるよう配置する矩形画像生成部と、前記複数の画像を前記矩形画像生成部により配置された状態で配信する配信部と、を有する画像生成装置を提供する。
あるいは、上記構成に加えて、ウェブページにて表示される複数の画像を取得する画像データ取得部と、取得した複数の画像を、同一座標平面上において個々の画像が重ならないように、かつその複数の画像の全てを含む矩形の対角線が略最小となるよう配置するための配置ルールを保持する配置ルール保持部と、を有するとともに、前記矩形画像生成部は、前記配置ルールに従って複数の画像を配置するものであり、前記配置ルールが、計算機に、各画像の長辺及び短辺の長さを示す辺情報を取得する辺情報取得ステップと、取得した辺情報に基づいて、最大長辺の画像を、何れかの頂点が前記座標平面上の原点を配置開始点として占めるよう配置する最大画像配置ステップと、配置されている画像の占める座標以外の点であって、本配置されている画像について前記座標平面上の原点から最も遠い頂点(x,y)に隣接しx座標がx+1であって、y座標がもっとも小さい座標であるA点または、y座標がy+1の座標であって、x座標がもっとも小さい座標であるB点を配置開始点として占めるように次に最大長辺を有する画像をそれぞれに仮配置する次画像仮配置ステップと、次画像仮配置ステップにて仮配置された画像のなかから前記座標平面上の原点から最も遠い頂点までの距離がもっとも小さい距離である頂点を含み、他のすでに本配置されている画像と重ならない画像を本配置とする本配置ステップと、次画像仮配置ステップと、本配置ステップとを残り画像がなくなるまで繰り返し、残り画像がなくなったときに終了するステップと、を実行させるためのルールである画像生成装置も提供する。
以上のような構成をとる本発明によって、複数の画像を、同一平面上に個々の画像が重ならないように、かつ対角線が略最小となる矩形となるよう配置して表示面積の小さいCSSスプライト用の画像データを生成することができる。したがって複数の画像を並べて配置した1枚の画像のデータサイズの肥大化を抑え、通信速度を確保することができる。
実施例1の画像生成装置によって生成される矩形画像の一例を表す図 実施例1の画像生成装置における機能ブロックの一例を表す図 実施例1の画像生成装置における矩形画像生成の一例を表す概念図 実施例1の画像生成装置における矩形画像生成の一例を表す概念図 実施例1の画像生成装置におけるハードウェア構成の一例を表す図 実施例1の画像生成装置における処理の流れの一例を表すフローチャート 実施例2の画像生成装置における機能ブロックの一例を表す図 実施例2の画像生成装置における処理の流れの一例を表すフローチャート
以下に、図を用いて本発明の実施の形態を説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。なお実施例1は、主に請求項1,2,4,5について説明する。また実施例2は、主に請求項3について説明する。
≪実施例1≫
<概要>
図1は本実施例の画像生成装置によって生成される矩形画像の一例を表す図である。この図1(a)にあるように、ウェブページの見栄えを良くするために、ページタイトルや項目名、各種操作用ボタン、あるいは写真、背景、広告画像などの各種画像データがページ内に表示される。そこで、本実施例の画像生成装置では、図1(b)に示すように、複数の画像を重ならないよう効率よく配置して1枚の矩形画像の面積が小さくなるよう生成する。そして、このように面積が小さくなるよう配置して生成された矩形画像は、不必要に余白が生じ面積が大きい場合よりもデータサイズを小さくすることができるので、クライアント端末と高速に送信し表示させることができる。
<機能的構成>
図2は、本実施例の画像生成装置における機能ブロックの一例を表す図である。なお、以下に記載する本画像生成装置の機能ブロックは、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの両方として実現され得る。具体的には、コンピュータを利用するものであれば、CPU(中央演算装置)や主メモリ、バス、あるいは二次記憶装置(ハードディスクや不揮発性メモリ、CDやDVDなどの記憶メディアとそれらメディアの読取ドライブなど)、情報入力に利用される入力デバイス、印刷機器や表示装置、その他の外部周辺装置などのハードウェア構成部、またその外部周辺装置用のインターフェース、通信用インターフェース、それらハードウェアを制御するためのドライバプログラムやその他アプリケーションプログラム、ユーザ・インターフェース用アプリケーションなどが挙げられる。
そして主メモリ上に展開したプログラムに従ったCPUの演算処理によって、入力デバイスやその他インターフェースなどから入力され、メモリやハードディスク上に保持されているデータなどが加工、蓄積されたり、上記各ハードウェアやソフトウェアを制御するための命令が生成されたりする。また、この発明は画像生成装置として実現できるのみでなく、方法としても実現可能である。また、このような発明の一部をソフトウェアとして構成することができる。さらに、そのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品、及び同製品を記録媒体に固定した記録媒体も、当然にこの発明の技術的な範囲に含まれる(本明細書の全体を通じて同様である)。
そして、この図2にあるように、本実施例の「画像生成装置」(0200)は、「画像データ取得部」(0201)と、「配置ルール保持部」(0202)と、「矩形画像生成部」(0203)と、「配信部」(0204)と、を有する。
「画像データ取得部」(0201)は、ウェブページにて表示される複数の画像を取得する機能を有し、例えばCPUや主メモリ、通信回路、画像データ取得プログラムなどによって実現できる。具体的には、例えばリンクなどを辿りURLを自動参照するクローラなどの巡回型プログラム、あるいはユーザ入力などで指定されたURLを参照するプログラムの処理によって、参照先URLからウェブページのHTML文書を取得する。そして、そのHTML文書内の例えばimgタグなどを特定し、そのimgタグの参照する画像アドレスから画像データを取得する、といった方法が挙げられる。あるいは、新規にウェブページを作る際に、例えばウェブページの作成者から複数の画像データを受付用アドレス宛に送信してもらうことで取得する方法なども挙げられる。また、画像生成装置がWebサーバ装置に組み込まれているのであれば、内部的に取得するよう構成し、外部から通信網を介して画像データを取得する構成は備えていなくとも良い。
「配置ルール保持部」(0202)は、配置ルールを保持する機能を有し、例えばHDD(ハードディスクドライブ)やフラッシュメモリ、その他の各種記録媒体によって実現することができる。また「配置ルール」とは、複数の画像を、同一座標平面上において個々の画像が重ならないように、かつその複数の画像の全てを含む対角線が略最小となる矩形となるよう配置するためのルールをいい、具体的には以下のようなルールが挙げられる。
図3および図4は、この配置ルールによって示される複数の画像の配置手順の一例について説明するための図である。なお配置処理に関しては、例えば「ビデオメモリ」をその複数の画像を配置するための配置平面とし、また、その配置平面(ビデオメモリ)の左上ピクセルを座標原点(0,0)として以下に説明する。
この図3(a)にあるように、上記画像データ取得部で取得された画像データを復号し、あるウェブページ内に表示される画像5枚が取得される。なお、それぞれの縦横のピクセル数は、画像1(6,3)、画像2(4,7)、画像3(3,3)、画像4(2,8)、画像5(8,5)である。すると配置ルールでは、まず、これら画像の長辺及び短辺の長さ(ピクセル数)を示す辺情報を取得する。つづいて辺情報から最大長辺「8ピクセル」を持つ画像4および画像5を特定する。ここで、最大長辺の長さが同じである画像が複数枚ある場合は、短辺の長さを比較し、短辺の長いほうを、ここでは画像5を最大長辺の画像とする。そして図3(b)にあるように、配置平面上の原点(0,0)を配置開始点として、例えばその画像5の左上頂点が配置開始点を占めるよう配置する。なお画像の配置向きに関しては、前述のCSSスプライトで画像の回転などの定義ができないため固定であるとする。
次に、配置されている画像5の占める座標以外の点であって、前記配置座標上の原点(0,0)から最も遠い画像5の頂点α(x座標:7、y座標:4)を基点とし、その基点αに隣接しx座標がx+1であって、y座標がもっとも小さい座標である点を第一の仮配置点(仮配置用の配置開始点)A(8,0)とする。そして図3(C)にあるように、画像5の次に最大長辺を有する画像4(4A)について、例えばその左上頂点が仮配置点Aを占めるように仮配置する。また、y座標がy+1の座標であって、x座標がもっとも小さい座標であるB点(0,5)を第二の仮配置点とし、同じく図3(c)に示すように仮配置点Bにも画像4(4B)を仮配置する。
つづいて、仮配置点A、Bのうちから本配置点を決定するため、仮配置された画像4Aおよび4Bに関して以下のことをCPUの演算によって検証する。すなわち、仮配置された画像4Aないし4Bが、他のすでに本配置されている画像(ここでは画像5のみ)と重なるか否か判断する。そして重なるとの判断結果が出力された場合には、その仮配置点は画像4に関する本配置用の配置開始点から除外する。その上で複数の仮配置点が残った場合には、図4(a)に示すように、仮配置された画像4Aに関して座標原点から最も遠い頂点(ここでは右下頂点)と座標原点までの距離、および同じく画像4Bに関して座標原点から最も遠い頂点と座標原点までの距離を算出する。そして、その算出値の大小比較をCPUの演算によって行い、もっとも小さい距離となる仮配置画像、ここでは画像4Aを本配置とし、他の仮画像(ここでは4Bのみ)を削除する。
そして、画像4の次に最大長辺を有する画像2の本配置点を決定するため、図4(b)にあるように上記同様にして、すでに本配置されている画像5および画像4から仮配置点B,C,Dを決定し、各点に画像2を仮配置する。そして上記検証を行い、その検証結果に従って図4(c)に示すように画像2の本配置位置を決定する。つづいて、本配置された画像5、画像4、画像2から上記同様にして仮配置点を決定する。なお、ここで画像5について座標原点から最も遠い頂点α(7、4)を基点として仮配置点を決定する場合、y+1であるy座標5のピクセルラインにおいて、x座標0から3のピクセルには画像2が配置されている。ここで、仮配置点は「配置されている画像の占める座標以外の点」であるので、仮配置点の一つは図4(c)に示すように座標点E(4、5)となる。そして、その他の画像4や画像2についても、同様にその座標原点から最も遠い頂点を基点として仮配置点D,F,Gが特定される。そして仮配置点D〜Fのそれぞれに画像2の次に長辺が大きな画像1を仮配置し、仮配置された各画像に関して座標原点から最も遠い頂点と原点までの距離を比較する。そして、その距離が最も短くなる仮配置点Fを画像2の本配置点として、画像2を本配置する。そして、この処理を画像がなくなるまで繰り返し、残り画像がなくなったときに終了することで、図4(d)にあるように複数の画像1〜5について、対角線が略最小となる矩形となるよう配置することができる。
なお上記処理に関して、仮配置点AやB、・・・を決定する処理は以下のように言い換えることができる。すなわち、すでに本配置されている各画像について、座標原点(0,0)から最も遠い頂点(x,y)の1ピクセルずつ外側の点を基点として、その基点から、まず座標平面のx軸方向に垂線を下ろす。そして基点を除いて最初に本配置された画像の辺と交差した点の1ピクセル下の点aを求める。また画像と交差しなかった場合は、x軸線と交差した点の1ピクセル下の点aを求める。
続いて同じ基点からy軸方向に垂線を引き、最初に本配置された画像の辺と交差した点の1ピクセル右の点bを求める。また画像と交差しなかった場合は、y軸線と交差した点の1ピクセル右の点bを求める。そして、これら求めた点a,bが基点と一致しなければ、それぞれ仮配置点A,仮配置点Bなどとして決定する、という具合である。また、複数の仮配置点が1点に重なる場合は一つの仮配置点と見なして処理すると良い。
以上のように、複数の画像を配置する際に、画像同士が重ならないように、かつ各画像に関して座標原点から最も遠い頂点の距離が最小となるように配置していくことで、生成される矩形画像データ自体の対角線を略最小とすることができる、という具合である。
なお、上記配置ルールにおいては、最初の配置開始点である座標原点を配置平面(ビデオメモリ)の「左上」頂点とし、また、その配置開始点に対して最大長辺の画像の「左上」頂点を占めるよう配置する例を挙げて説明したが、もちろん左上のみならず右上、左下、右下のいずれであってもかまわない。そして、その場合は、前記座標原点や画像頂点位置に応じて処理位置や処理方向を反転するなど適宜変更したルールとすると良い。したがって、配置座標の原点から最も遠い頂点を(x,y)とした場合の「x+1」とは相対的な演算処理であり、具体的にはxの1ピクセル外側(座標原点よりも遠い側)のx座標の値を算出する演算処理を意味する。
「矩形画像生成部」(0203)は、前記保持されている配置ルールに従って、前記取得した複数の画像を同一平面上に個々の画像が重ならないように、かつその複数の画像の全てを含む矩形の対角線が略最小となるよう配置する機能を有し、例えばCPUや主メモリ、フレームメモリ、矩形画像生成プログラムなどによって実現することができる。そして、ここで配置ルールに従い生成された例えば図4(d)に示すような矩形画像が、前述のCSSスプライト用の画像として、例えば以下のスライス(分離)用の座標情報と合わせて出力される、という具合である。
「配信部」(0204)は、前記複数の画像を矩形画像生成部(0203)により配置された情報で配信する機能を有し、例えば、CPUや主メモリ、通信回路や配信プログラムによって実現できる。具体的に、この配信部では、例えば下記のようにして前記複数の画像を配信すると良い。すなわち、前述のCSSスプライトでは、ウェブページを表示する際には矩形画像から元の各画像をスライス(分離)する必要があり、HTML文書内のスタイルシートの「background」プロパティにて各画像の矩形画像内での座標情報を指定することになる。そこで矩形画像を生成する際に、例えば各画像を配置した際の左上の頂点座標および辺情報を取得する。
つづいて、例えば矩形画像生成部により配置された複数の画像を1枚の画像データとして符号化し、上記座標情報と合わせて配信部から、当該画像を含むウェブページの管理者の端末などに対して配信する、という具合である。そしてこのようにして出力された座標情報を、例えばウェブページの管理者がスタイルシートとしてウェブページのHTML文書内に記述することで、同時に出力された矩形画像を利用して、高速でウェブページの表示を行うことができる。
<ハードウェア構成>
図5は、上記機能的な各構成要件をハードウェアとして実現した際の、画像生成装置における構成の一例を表す概略図である。この図を利用して矩形画像の生成処理におけるそれぞれのハードウェア構成部の働きについて説明する。
この図にあるように、画像生成装置は、画像データ取得部、矩形画像生成部、配信部、またその他の各種演算処理を実行するための「CPU」(0501)と、「主メモリ」(0502)と、を備えている。また配置ルール保持部である「フラッシュメモリ」(0503)も備えている。また、インターネットを介して情報を送受信するための「通信回路」(0504)や、画像処理をする際にピクセルデータを展開する「フレームメモリ」(0505)なども備えている。そしてそれらが「システムバス」などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。
また、「主メモリ」にはプログラムが読み出され、「CPU」は読み出された当該プログラムを参照し、プログラムで示される手順に従い各種演算処理を実行する。また、この「主メモリ」や「フラッシュメモリ」にはそれぞれ複数のアドレスが割り当てられており、「CPU」の演算処理においては、そのアドレスを特定し格納されているデータにアクセスすることで、データを用いた演算処理を行うことが可能になっている。
ここで、例えばCPUが画像データ取得プログラムの一例であるクローラプログラムを解釈し、その解釈結果にしたがって「通信回路」を介して所定のURLへのアクセス処理を実行する。そして、アクセス先のウェブページのHTML文書データを解析し、タグなどを参照して当該ウェブページにて表示される画像データを複数取得する。そして、取得した複数の画像データを「主メモリ」のアドレス1,2、・・・に格納する。
つづいて「CPU」は矩形画像生成プログラムを解釈し、「フラッシュメモリ」に保持されている配置ルールを「主メモリ」のアドレス3に読み出す。そして、当該配置ルールで示される手順に従って、まず「主メモリ」のアドレス1,2、・・・に格納されている画像データの縦横のピクセルサイズを、例えば情報ヘッダや復号した画像そのものなどを参照して特定する。つづいて、各画像について長辺の大小比較を「CPU」の演算処理によって行い、最大長辺の画像データ1を特定する。また、同じ最大長辺の画像がある場合には、今度はそれぞれの短辺の大小比較を行い、最大長辺かつ最大短辺の画像データ1を特定する。また、長辺短辺とも同じ画像が複数あれば、例えば取得順など適宜優先順位を定めて、一の画像データ1を特定する。そして、「フレームメモリ」を配置座標平面として、特定した画像データ1を復号し生成した画像1を、例えばその左上頂点が配置座標の原点(0,0)を配置開始点として占めるよう配置する。
つづいて「CPU」の演算処理によって、「フレームメモリ」上で画像1によって占められる座標以外の点であって、配置座標の原点から最も遠い画像1の頂点α(x,y)に隣接しx座標がx+1であって、y座標がもっとも小さい座標である点を第一の仮配置点Aと決定する。そして画像1の次に最大長辺を有する画像2をデータから復号生成し、その左上頂点が仮配置点Aを占めるように画像2Aを仮配置する。また、y座標がy+1の座標であって、x座標がもっとも小さい座標であるB点を第二の仮配置点とし、仮配置点Bにも画像2Bを仮配置する。
つづいて、仮配置点A、Bのうちから本配置点を決定するため以下の処理をCPUの演算によって実行する。すなわち、仮配置された画像2Aないし2Bが、他のすでに本配置されている画像と重なるか否か判断する。そして重なるとの判断結果が出力された場合には、その仮配置点は画像2に関する本配置用の配置開始点から除外する。ここでは画像同士の重なりは無いので、つづいて仮配置された画像2Aの原点から最も遠い頂点と原点までの距離(の2乗)を「CPU」の演算処理によって算出し、「主メモリ」のアドレス4に格納する。また、同様に画像2Bの原点から最も遠い頂点と原点までの距離を「CPU」の演算処理によって算出し、「主メモリ」のアドレス5に格納する。そして両算出値の大小比較をCPUの演算によって行い、もっとも小さい距離となる仮配置画像、ここでは画像2Aを本配置と決定する。そして、その決定結果にしたがって「フレームメモリ」上の他の仮画像2Bを削除する。
そして、上記各画像の長辺の長さ順に、画像3、画像4、画像5、・・・の本配置点を決定するため、上記同様の処理を繰返し各画像の本配置位置を決定する。そして、この処理を画像がなくなるまで繰り返し、残り画像がなくなったときに終了することで、取得した複数の画像について、対角線が略最小となる矩形となるよう配置して連結した矩形画像を「フレームメモリ」上に生成する。
つづいて、「CPU」は配信プログラムを解釈し、その解釈結果にしたがって、例えば、まずフレームメモリに配置された各画像の左上の座標情報を取得し、「主メモリ」のアドレス6に格納する。そして、「フレームメモリ」上の矩形画像を所定の符号化アルゴリズムにしたがい「CPU」の演算処理によって符号化し、「主メモリ」のアドレス7に格納する。そして「主メモリ」のアドレス6と7に格納されている座標情報と矩形画像データを関連付け、「通信回路」から出力配信する、という具合である。
そして出力された座標情報と矩形画像データを利用して、例えばスタイルシートを作成しそれをウェブページのHTML文書内に記述し、矩形画像データをウェブページの「imgタグ」での参照先に設定する。このようにしてクライアント端末から当該ウェブページにアクセスがあった際には複数の画像をコンパクトにまとめた1枚の画像データの送信のみで済むため、高速でウェブページの表示を行うことができる。
<処理の流れ>
図6は、本実施例の画像生成装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、上記のような計算機の各ハードウェア構成によって実行されるステップであっても良いし、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。
この図にあるように、まず、例えばクローラプログラムによる自動巡回収集やユーザからの送信受付などによって、ウェブページにて表示される複数の画像の画像データを取得する(ステップS0601)と、予めフラッシュメモリなどに保持されている配置ルールを取得する(ステップS0602)。そして、その配置ルールに規定される手順(ステップ)にしたがって、取得した各画像の長辺及び短辺の長さを示す辺情報を取得する(ステップS0603)。つづいて取得した辺情報に基づいて、最大長辺の画像を、配置座標の原点を配置開始点として占めるようフレームメモリ上などに配置し(ステップS0604)、配置されている画像の占める座標以外の点であって、本配置されている各画像について前記配置座標の原点から最も遠い頂点(x,y)に隣接しx座標がx+1であって、y座標がもっとも小さい座標であるA点を特定する。またy座標がy+1の座標であって、x座標がもっとも小さい座標であるB点を配置開始点として特定する。そして、前記特定した各点A,Bのそれぞれを占めるように次に最大長辺を有する画像をそれぞれ仮配置する(ステップS0605)。
つづいて、前記ステップS0605にて仮配置されたそれぞれの画像のなかから原点から最も遠い頂点までの距離がもっとも小さい距離である頂点を含み、他のすでに本配置されている画像と重ならない画像を本配置し、他の仮画像をフレームメモリ上から削除する(ステップS0606)。そして、残りの画像がなくなるまでステップS0605と、ステップS0606の処理を繰り返す(ステップS0607)。そして、このようにして前記複数の画像を、その配置した状態で配信する。具体的には、例えば、前記配置状態での矩形画像を取得し(ステップS0608)、前記矩形画像から各画像を分離するための座標情報を取得し(ステップ0609)、前記矩形画像を符号化した矩形画像データと前記取得した座標情報と、を関連付けて出力する(ステップS0610)。
<効果の簡単な説明>
以上のように、本実施例の画像生成装置によって、複数の画像を、同一平面上に個々の画像が重ならないように、かつ対角線が略最小となる矩形となるよう配置して、表示面積の小さいCSSスプライト用の矩形画像を生成することができる。したがって矩形画像のデータサイズ肥大化を抑え、通信速度を確保することができる。
≪実施例2≫
<概要>
本実施例は、上記実施例1と同様に、CSSスプライトなどで利用できるように、ウェブページに表示される複数の画像に関して、同一平面上に個々の画像が重ならないように、かつ矩形画像データの対角線が略最小となるよう配置して1枚の矩形画像を生成する機能を有する画像生成装置である。なお実施例1との相違点は、本実施例の画像生成装置が配置ルールを保持していない点であり、その替わりに配置ルールで規定される各ステップを実行する機能的な構成要件を有していることを特徴とする。
<機能的構成>
図7は、本実施例の画像生成装置における機能ブロックの一例を表す図である。この図にあるように、本実施例の「画像生成装置」(0700)は、実施例1と同様に「画像データ取得部」(0701)と、「配信部」(0702)と、を有する。なお、これらの構成要件は、上記実施例1の同名の構成要件と同様であるので、その説明は省略する。
また本実施例の画像生成装置は、さらに「辺情報取得部」(0703)と、「最大画像配置部」(0704)と、「次画像仮配置部」(0705)と、「本配置部」(0706)と、「繰返制御部」(0707)と、を有する。なお、これらの構成要件は、上記実施例1の配置ルールで示される各手順(ステップ)を実現するための構成要件である。すなわち、「辺情報取得部」(0703)は、取得した各画像の長辺及び短辺の長さを示す辺情報を取得する機能を有する。「最大画像配置部」(0704)は、取得した辺情報に基づいて、最大長辺の画像を、配置座標の原点を配置開始点として占めるよう配置する機能を有する。「次画像仮配置部」(0705)は、配置されている画像の占める座標以外の点であって、本配置されている各画像について前記配置座標の原点から最も遠い頂点(x,y)に隣接しx座標がx+1であって、y座標がもっとも小さい座標であるA点または、y座標がy+1の座標であって、x座標がもっとも小さい座標であるB点を配置開始点として占めるように次に最大長辺を有する画像をそれぞれに仮配置する機能を有する。そして、「本配置部」(0706)は、次画像仮配置部にて仮配置された画像のなかから原点から最も遠い頂点までの距離がもっとも小さい距離である頂点を含み、他のすでに本配置されている画像と重ならない画像を本配置し、他の仮画像を削除する機能を有する。また「繰返制御部」(0707)は、次画像仮配置部での仮配置と、本配置部での本配置とを残り画像がなくなるまで繰り返し、残り画像がなくなったときに終了するよう制御する機能を有する。なお、上記各構成要件は、CPUや主メモリ、および各機能を実現するためのプログラムなどによって実現することができる。
そして前述のように、上記各構成要件の機能は、実施例1にて図3および図4を用いて説明した配置ルールに従った処理により実現されるものと同様であるので、その詳細な説明は省略する。そして、「矩形画像取得部」(0708)にて、前記複数の画像を配置し生成された矩形画像を取得する、という具合である。
<処理の流れ>
図8は、本実施例の画像生成装置における処理の流れの一例を表すフローチャートである。この図にあるように、まず、例えばクローラプログラムやユーザからの送信受付などによって、ウェブページにて表示される複数の画像の画像データを取得する(ステップS0801)と、取得した各画像の長辺及び短辺の長さを示す辺情報を取得する(ステップS0802)。つづいて取得した辺情報に基づいて、最大長辺の画像を、配置座標の原点を配置開始点として占めるようフレームメモリ上などに配置し(ステップS0803)、配置されている画像の占める座標以外の点であって、本配置されている各画像について前記配置座標の原点から最も遠い頂点(x,y)に隣接しx座標がx+1であって、y座標がもっとも小さい座標であるA点を特定する。またy座標がy+1の座標であって、x座標がもっとも小さい座標であるB点として配置開始点を特定する。そして、前記特定した各点A,Bのそれぞれを占めるように次に最大長辺を有する画像をそれぞれ仮配置する(ステップS0804)。
つづいて、前記ステップS0804にて仮配置されたそれぞれの画像のなかから原点から最も遠い頂点までの距離がもっとも小さい距離である頂点を含み、他のすでに本配置されている画像と重ならない画像を本配置し、他の仮画像をフレームメモリ上から削除する(ステップS0805)。そして、残りの画像がなくなるまでステップS0804と、ステップS0805の処理を繰り返す(ステップS0806)。そして、このようにして前記複数の画像を、その配置した状態で配信する。具体的には、例えば、前記配置状態での矩形画像を取得し(ステップS0807)、前記矩形画像から各画像を分離するための座標情報を取得し(ステップ0808)、前記矩形画像を符号化した矩形画像データと前記取得した座標情報と、を関連付けて出力する(ステップS0809)。
<効果の簡単な説明>
以上のように、本実施例の画像生成装置によっても複数の画像を、同一平面上に個々の画像が重ならないように、かつ対角線が略最小となる矩形となるよう配置して、表示面積の小さいCSSスプライト用の矩形画像を生成することができる。したがって矩形画像のデータサイズ肥大化を抑え、通信速度を確保することができる。
0200 画像生成装置
0201 画像データ取得部
0202 配置ルール保持部
0203 矩形画像生成部
0204 配信部

Claims (5)

  1. ウェブページにて表示される複数の画像をまとめて配信するための装置であって、
    複数の画像を、同一平面上に個々の画像が重ならないように、かつその複数の画像の全てを含む矩形の対角線が略最小となるよう配置する矩形画像生成部と、
    前記複数の画像を前記矩形画像生成部により配置された状態で配信する配信部と、
    を有する画像生成装置。
  2. ウェブページにて表示される複数の画像を取得する画像データ取得部と、
    取得した複数の画像を、同一座標平面上において個々の画像が重ならないように、かつその複数の画像の全てを含む矩形の対角線が略最小となるよう配置するための配置ルールを保持する配置ルール保持部と、を有するとともに、
    前記矩形画像生成部は、前記配置ルールに従って複数の画像を配置するものであり、
    前記配置ルールは、計算機に、
    各画像の長辺及び短辺の長さを示す辺情報を取得する辺情報取得ステップと、
    取得した辺情報に基づいて、最大長辺の画像を、何れかの頂点が前記座標平面上の原点を配置開始点として占めるよう配置する最大画像配置ステップと、
    配置されている画像の占める座標以外の点であって、本配置されている画像について前記座標平面上の原点から最も遠い頂点(x,y)に隣接しx座標がx+1であって、y座標がもっとも小さい座標であるA点または、y座標がy+1の座標であって、x座標がもっとも小さい座標であるB点を配置開始点として占めるように次に最大長辺を有する画像をそれぞれに仮配置する次画像仮配置ステップと、
    次画像仮配置ステップにて仮配置された画像のなかから前記座標平面上の原点から最も遠い頂点までの距離がもっとも小さい距離である頂点を含み、他のすでに本配置されている画像と重ならない画像を本配置とする本配置ステップと、
    次画像仮配置ステップと、本配置ステップとを残り画像がなくなるまで繰り返し、残り画像がなくなったときに終了するステップと、を実行させるためのルールである
    請求項1に記載の画像生成装置。
  3. ウェブページにて表示される複数の画像を取得する画像データ取得部と、
    取得した各画像の長辺及び短辺の長さを示す辺情報を取得する辺情報取得部と、
    取得した辺情報に基づいて、最大長辺の画像を、何れかの頂点が前記座標平面上の原点を配置開始点として占めるよう配置する最大画像配置部と、
    配置されている画像の占める座標以外の点であって、本配置されている画像の全てについて前記座標平面上の原点から最も遠い頂点(x,y)に隣接しx座標がx+1であって、y座標がもっとも小さい座標であるA点または、y座標がy+1の座標であって、x座標がもっとも小さい座標であるB点を配置開始点として占めるように次に最大長辺を有する画像をそれぞれに仮配置する次画像仮配置部と、
    次画像仮配置ステップにて仮配置された画像のなかから前記座標平面上の原点から最も遠い頂点までの距離がもっとも小さい距離である頂点を含み、他のすでに本配置されている画像と重ならない画像を本配置する本配置部と、
    次画像仮配置部による前記仮配置と、本配置部による前記本配置とを残り画像がなくなるまで繰り返し、残り画像がなくなったときに終了するよう制御する繰返制御部と、
    を有する請求項1に記載の画像生成装置。
  4. ウェブページにて表示される複数の画像をまとめて配信するための装置の動作方法であって、
    ウェブページにて表示される複数の画像を取得する画像データ取得ステップと、
    取得した各画像の長辺及び短辺の長さを示す辺情報を取得する辺情報取得ステップと、
    取得した辺情報に基づいて、最大長辺の画像を、何れかの頂点が前記座標平面上の原点を配置開始点として占めるよう配置する最大画像配置ステップと、
    配置されている画像の占める座標以外の点であって、本配置されている画像の全てについて前記座標平面上の原点から最も遠い頂点(x,y)に隣接しx座標がx+1であって、y座標がもっとも小さい座標であるA点または、y座標がy+1の座標であって、x座標がもっとも小さい座標であるB点を配置開始点として占めるように次に最大長辺を有する画像をそれぞれに仮配置する次画像仮配置ステップと、
    次画像仮配置ステップにて仮配置された画像のなかから前記座標平面上の原点から最も遠い頂点までの距離がもっとも小さい距離である頂点を含み、他のすでに本配置されている画像と重ならない画像を本配置とする本配置ステップと、
    次画像仮配置ステップと、本配置ステップとを残り画像がなくなるまで繰り返し、残り画像がなくなったときに終了するよう制御する繰返制御ステップと、
    前記複数の画像を本配置された状態で配信する配信ステップと、
    を計算機に実行させる画像生成装置の動作方法。
  5. ウェブページにて表示される複数の画像をまとめて配信するためのプログラムを記録した記録媒体であって、
    ウェブページにて表示される複数の画像を取得する画像データ取得ステップと、
    取得した各画像の長辺及び短辺の長さを示す辺情報を取得する辺情報取得ステップと、
    取得した辺情報に基づいて、最大長辺の画像を、何れかの頂点が前記座標平面上の原点を配置開始点として占めるよう配置する最大画像配置ステップと、
    配置されている画像の占める座標以外の点であって、本配置されている画像の全てについて前記座標平面上の原点から最も遠い頂点(x,y)に隣接しx座標がx+1であって、y座標がもっとも小さい座標であるA点または、y座標がy+1の座標であって、x座標がもっとも小さい座標であるB点を配置開始点として占めるように次に最大長辺を有する画像をそれぞれに仮配置する次画像仮配置ステップと、
    次画像仮配置ステップにて仮配置された画像のなかから前記座標平面上の原点から最も遠い頂点までの距離がもっとも小さい距離である頂点を含み、他のすでに本配置されている画像と重ならない画像を本配置とする本配置ステップと、
    次画像仮配置ステップと、本配置ステップとを残り画像がなくなるまで繰り返し、残り画像がなくなったときに終了するよう制御する繰返制御ステップと、
    前記複数の画像を本配置された状態で配信する配信ステップと、
    を記録した計算機に読み取り可能な記録媒体。
JP2009131908A 2009-06-01 2009-06-01 画像生成装置、画像生成装置の動作方法、および記録媒体 Expired - Fee Related JP5026472B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009131908A JP5026472B2 (ja) 2009-06-01 2009-06-01 画像生成装置、画像生成装置の動作方法、および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009131908A JP5026472B2 (ja) 2009-06-01 2009-06-01 画像生成装置、画像生成装置の動作方法、および記録媒体

Publications (2)

Publication Number Publication Date
JP2010277501A true JP2010277501A (ja) 2010-12-09
JP5026472B2 JP5026472B2 (ja) 2012-09-12

Family

ID=43424376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009131908A Expired - Fee Related JP5026472B2 (ja) 2009-06-01 2009-06-01 画像生成装置、画像生成装置の動作方法、および記録媒体

Country Status (1)

Country Link
JP (1) JP5026472B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012230675A (ja) * 2011-04-25 2012-11-22 Nhn Corp Cssスプライト処理方法及び装置
WO2013099358A1 (ja) 2011-12-28 2013-07-04 楽天株式会社 画像提供装置、画像提供方法、画像提供プログラム、及びそのプログラムを記録するコンピュータ読み取り可能な記録媒体
CN104572668A (zh) * 2013-10-15 2015-04-29 阿里巴巴集团控股有限公司 基于多个样式文件生成合并样式文件的方法和设备
JP2016531346A (ja) * 2013-07-12 2016-10-06 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ウェブページを表示するための方法およびデバイス

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63274267A (ja) * 1987-05-01 1988-11-11 Nippon Telegr & Teleph Corp <Ntt> 領域の仮想分割レイアウト方式
JP2006048130A (ja) * 2004-07-30 2006-02-16 Access Co Ltd テーブル画像の自動認識による画像出力の為の方法、端末装置およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63274267A (ja) * 1987-05-01 1988-11-11 Nippon Telegr & Teleph Corp <Ntt> 領域の仮想分割レイアウト方式
JP2006048130A (ja) * 2004-07-30 2006-02-16 Access Co Ltd テーブル画像の自動認識による画像出力の為の方法、端末装置およびプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012230675A (ja) * 2011-04-25 2012-11-22 Nhn Corp Cssスプライト処理方法及び装置
WO2013099358A1 (ja) 2011-12-28 2013-07-04 楽天株式会社 画像提供装置、画像提供方法、画像提供プログラム、及びそのプログラムを記録するコンピュータ読み取り可能な記録媒体
JP2013137723A (ja) * 2011-12-28 2013-07-11 Rakuten Inc 画像提供装置、画像提供方法、画像提供プログラム、及びそのプログラムを記録するコンピュータ読み取り可能な記録媒体
US9055045B2 (en) 2011-12-28 2015-06-09 Rakuten, Inc. Image providing device, image providing method, image providing program, and computer-readable recording medium storing the program
JP2016531346A (ja) * 2013-07-12 2016-10-06 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ウェブページを表示するための方法およびデバイス
US10268774B2 (en) 2013-07-12 2019-04-23 Alibaba Group Holding Limited Method and device for displaying a web page
CN104572668A (zh) * 2013-10-15 2015-04-29 阿里巴巴集团控股有限公司 基于多个样式文件生成合并样式文件的方法和设备

Also Published As

Publication number Publication date
JP5026472B2 (ja) 2012-09-12

Similar Documents

Publication Publication Date Title
CN107590771B (zh) 具有用于在建模3d空间中投影观看的选项的2d视频
US20100199195A1 (en) Adaptive Rendering Of A Webpage On An Electronic Display Device
CN110532497B (zh) 生成全景图的方法、生成三维页面的方法以及计算设备
JP5026472B2 (ja) 画像生成装置、画像生成装置の動作方法、および記録媒体
US20170091152A1 (en) Generating grid layouts with mutable columns
JP2012242918A (ja) 情報処理装置、情報処理方法及びプログラム
CN112711729A (zh) 基于页面动画的渲染方法、装置、电子设备及存储介质
KR20150106846A (ko) 표시 장치에서의 그래픽 렌더링 및 그와 관련된 개선
CN103020178A (zh) 一种浏览器加载图片工具条的方法和装置
CN111640191B (zh) 基于vr一体机的投录屏画面采集处理方法
JP6794112B2 (ja) 端末装置、情報処理方法、及びプログラム
JP5455714B2 (ja) ウェブページキャプチャー画面の印刷方法
JP5612556B2 (ja) オブジェクトの周囲にテキストをレイアウトする際のパスフィルアルゴリズムの適用
WO2023100524A1 (ja) アクセス分散方法
CN114913277A (zh) 一种物体立体交互展示方法、装置、设备及介质
JP5331432B2 (ja) 画像処理装置および画像処理方法
JP5528410B2 (ja) ビューワ装置、サーバ装置、表示制御方法、電子コミック編集方法及びプログラム
CN103444189A (zh) 全景图片滚动
JP5923495B2 (ja) 再生装置
JP3602061B2 (ja) 3次元グラフィックス表示装置及びその方法
JP7190541B2 (ja) プログラム、コード出力方法、及び端末装置
JP6915028B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2006107268A (ja) 編集装置、編集方法、及びプログラム
CN113032855B (zh) 座位的排布方法、系统、计算设备及存储介质
JP2011096109A (ja) 画像処理装置および画像処理プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120518

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120601

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

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

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

Free format text: PAYMENT UNTIL: 20150629

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5026472

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371