以下、本発明の実施形態に係るメタ情報表示システムについて、図面を参照して詳細に説明する。
(本発明の実施形態に係るメタ情報表示システムの概要)
まず、本発明の実施形態に係るメタ情報表示システムの概要について説明する。図2は、本実施形態に係るメタ情報表示システム11の概略構成図である。本実施形態に係るメタ情報表示システム11は、例えばWWW(World Wide Web)により提供される文字または画像等の複数の要素を所定の順序で並べてなるHTML(HyperText Markup Language)ページ上の任意の指定部分に付箋等のメタ情報を付加して表示するシステムである。本実施形態に係るメタ情報表示システム11は、多種多様な表示環境を有するクライアント端末でメタ情報を表示させた際に、どのクライアント端末でも指定部分に対する付箋等の表示の位置ずれがないページを共有可能な仕組みの提供を通じて、円滑なコミュニケーションサービスを提案しようとするものである。
本実施形態に係るメタ情報表示システム11では、HTMLページ(以下、ページと省略する)内の部分の指定を一意に行うとともに、表示環境の如何にかかわらず指定部分に対する付箋等の表示の位置ずれが生じる事態をなくすために、表示環境が変わると位置ずれのおそれがある相対座標を用いた部分指定に代えて、複数の要素のなかでの部分指定箇所に対応する指定要素の順序を表すインデックス情報を用いた部分指定を行っている。なお、指定要素とは、部分指定箇所に存在する要素を意味する。
図2に示すように、本実施形態に係るメタ情報表示システム11は、第1情報処理装置12と、第2情報処理装置14と、第1および第2記録媒体16a,16bと、通信網17と、コンテンツサーバー19と、表示部23,43と、設定部25,45とを備えて構成される。第1情報処理装置12、第2情報処理装置14、およびコンテンツサーバー19の各々は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)を有するコンピューターを主体として構成されている。表示部23,43は、例えば液晶ディスプレイよりなる。設定部25,45は、例えばマウスやキーボード等の入力装置よりなる。
第1および第2記録媒体16a,16bは、例えば、第1情報処理装置12または第2情報処理装置14などのコンピューターにおいてデータを読み取り可能な半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープからなる。この第1および第2記録媒体16a,16bには、インデックス情報を用いた部分指定に関する処理や、部分指定箇所に付箋等のメタ情報を付加して表示させる処理をコンピュータに実行させる、本実施形態に係る部分指定プログラムが記録される。
通信網17は、例えばWWWを採用すればよい。ただし、これ以外にも、通信網17は、イントラネットと呼ばれる企業内ネットワークや、LAN(Local Area Network)などの閉鎖的な通信媒体を採用してもよい。
コンテンツサーバー19は、例えばWWWサーバー(通信網17が閉鎖的な通信媒体である場合は、単なるサーバーである)であり、ページの情報、付箋およびコメント等のメタ情報、インデックス情報を含む各種のコンテンツやデータを蓄積する。また、コンテンツサーバー19は、蓄積した各種のコンテンツやデータを、第1情報処理装置12または第2情報処理装置14からの要求に応じて提供する。本実施形態において、メタ情報およびインデックス情報は第1情報処理装置12において生成され、コンテンツサーバー19に送信されて蓄積される。
本発明が対象とする要素とは、文字、図形、記号、静止画像、動画像などの、個々の要素の高さ方向および幅方向のサイズをページの情報から取得可能なものである。なお、これらは例示的に列挙したものであり、本発明は、個々の要素の高さ方向および幅方向のサイズをページの情報から取得可能なものであれば、これら以外の、ページに含まれ得るいかなる要素をも対象とすることができる。
(本実施形態に係る第1情報処理装置12)
次に、本実施形態に係る第1情報処理装置12の概要について説明する。図3は、本実施形態に係るメタ情報付加装置13を内包させて設けた第1情報処理装置12のブロック構成図である。図3に示すように、第1情報処理装置12は、付加側ページ情報取得部21と、付加側レンダリング部27と、メタ情報付加装置13とを備えて構成されている。メタ情報付加装置13は、第1要素情報取得部29と、座標取得部31と、変換部33と、インデックス情報記憶部35とを備えて構成されている。
付加側ページ情報取得部21は、固有の高さおよび幅をそれぞれが有する複数の要素を所定の順序で並べてなるページの情報を、例えば、ユーザーの操作に応じたタイミングでコンテンツサーバー19から取得する。表示部23は、付加側ページ情報取得部21により取得したページをウィンドウ内に表示する。
設定部25は、ウィンドウのサイズおよび部分指定箇所に係る設定を行う際に用いられる。ウィンドウのサイズ設定は、例えば、マウスボタンのドラッグ・アンド・ドロップ(drag-and-drop)操作によってウィンドウの高さまたは幅を変更するか、或いは適宜のウィンドウサイズ調整用アプリケーションを実行することで実現される。部分指定箇所に係る設定は、例えば、マウスボタンのクリック操作によってピンポイントによる部分指定を行ってもよいし、マウスボタンのドラッグ・アンド・ドロップ操作によって二次元の広がりを持った矩形状の範囲設定による部分指定を行ってもよい。
付加側レンダリング部27は、付加側ページ情報取得部21により取得したページの情報と、設定部25により設定されたウィンドウの例えば幅方向サイズとに基づいて、ウィンドウ内における行および列の二次元方向に複数の要素を展開してレイアウトしたページを構築する機能を有する。
第1要素情報取得部29は、例えば、複数の要素毎の幅方向のサイズ、各行の高さ、および各行に属する要素の数を含む要素情報を、付加側レンダリング部27からそれぞれ取得する。詳しくは後述するが、各行の高さは、ある行内に存在する複数の要素毎の高さ方向のサイズのうち最大値をとる。
座標取得部31は、設定部25により設定された部分指定箇所に係る相対座標を取得する。この座標の取得は、例えば、マウスボタンのクリック操作によってピンポイントによる部分指定が行われる場合、ウィンドウ内におけるクリック操作が行われた場所の、同ウィンドウの左上隅に位置する原点に対する相対座標値を取得することによって実行すればよい。
また、マウスボタンのドラッグ・アンド・ドロップ操作によって二次元の広がりを持った矩形状の範囲設定による部分指定が行われる場合、例えば、ウィンドウ内でのドラッグ・アンド・ドロップ操作に係る起点或いは終点の、同ウィンドウの左上隅に位置する原点に対する相対座標値を取得することにより、部分指定箇所に係る相対座標を取得すればよい。なお、範囲設定による部分指定が行われた場合の指定要素とは、部分指定に係る範囲内に存在する少なくとも1つの要素を意味する。
なお、設定部25の部分指定により、例えば部分指定箇所に付箋等のメタ情報を付加する旨の設定がなされると、これを受けてメタ情報付加装置13の図示しない表示制御部は、付加側レンダリング部27によりレンダリングされたページ上の部分指定箇所(座標取得部31により取得された相対座標に基づくページ内の位置)に、付箋等のメタ情報を付加して表示部23に表示させる。
変換部33は、第1要素情報取得部29により取得した要素情報と、座標取得部31により取得した部分指定箇所に係る相対座標とに基づいて、部分指定箇所に係る相対座標を、複数の要素のなかでの部分指定箇所に対応する指定要素の順序を表すインデックス情報に変換する。変換部33の動作の詳細については後述する。
インデックス情報記憶部35は、変換部33により変換されたインデックス情報を指定要素に関連付けて記憶する。ここで、“インデックス情報を指定要素に関連付けて記憶する”実施態様について言及する。例えば、ひとつのぺージ内に複数の部分指定箇所が存在する場合に備えて、各部分指定箇所(指定要素)に対して相互に異なる識別子を付与しておき、その識別子に関連付けてインデックス情報を記憶する。または、指定要素の内容(例えば、文字要素である場合、その文字が“A”か“B”かなど)を取得しておき、その指定要素の内容に関連付けてインデックス情報を記憶する。
こうして記憶された指定要素に係るインデックス情報は、同指定要素が存在するページの識別情報(例えばページのURI:Uniform Resource Identifier)を含んでいる。この指定要素に係るインデックス情報は、それに対応するメタ情報と共にコンテンツサーバー19に送出される。これを受けてコンテンツサーバー19は、指定要素に係るインデックス情報およびメタ情報を、その指定要素が存在するページの識別情報に関連付けて記憶する。
(本実施形態に係る第2情報処理装置14)
次に、本実施形態に係る第2情報処理装置14の概要について説明する。図4は、本実施形態に係るメタ情報表示制御装置15を内包させて設けた第2情報処理装置14のブロック構成図である。図5A〜図5Cは、本実施形態に係るメタ情報表示制御装置15において、指定部分にメタ情報としての付箋が付加されたページを表す概念図である。
図4に示すように、第2情報処理装置14は、表示側ページ情報取得部41と表示側レンダリング部47と、メタ情報表示制御装置15とを備えて構成されている。メタ情報表示制御装置15は、第2要素情報取得部49と、インデックス情報取得部51と、逆変換部53と、表示制御部55とを備えて構成されている。
第2情報処理装置14の表示側ページ情報取得部41および表示側レンダリング部47の各々は、これらに対応する第1情報処理装置12の機能部である付加側ページ情報取得部21および付加側レンダリング部27と同等のはたらきをする。また、第2情報処理装置14に接続された表示部43は、第1情報処理装置12に接続された表示部23と同等のはたらきをする。したがって、説明の重複を避けるため、これらの機能の説明を省略する。なお、第2情報処理装置14の設定部45は、ウィンドウのサイズ設定を行う機能を有し、部分指定箇所に係る設定を行う機能を有しない点で、第1情報処理装置12の設定部25とは、そのはたらきが異なっている。
第2要素情報取得部49は、例えば、複数の要素毎の幅方向のサイズ、各行の高さ、および各行に属する要素の数を含む要素情報を表示側レンダリング部47からそれぞれ取得する。インデックス情報取得部51は、表示側ページ情報取得部41により取得したページに関連する指定要素に係るインデックス情報をコンテンツサーバー19から取得する。具体的には、インデックス情報取得部51は、表示側ページ情報取得部41によって所要のページを取得した際に、この取得と同時にまたは遅れて、所要のページに関連する指定要素に係るインデックス情報、およびこのインデックス情報に関連付けられたコメント付き付箋等のメタ情報をコンテンツサーバー19から取得する。
逆変換部53は、第2要素情報取得部49により取得した要素情報と、インデックス情報取得部51により取得した指定要素に係るインデックス情報とに基づいて、指定要素の存在箇所を表すインデックス情報を、指定要素の存在箇所に対応する座標に逆変換する。逆変換部53の動作の詳細については後述する。
表示制御部55は、逆変換部53により逆変換された指定要素の存在箇所に対応する座標に基づくページ内の位置に、コメント付き付箋等のメタ情報を表示させる制御を行う。ここで、“指定要素の存在箇所に対応する座標に基づくページ内の位置”とは、その座標の位置のほか、その座標の位置の近傍をも含む趣旨である。なお、その座標の位置の近傍に例えば付箋を付加する場合、その座標の位置と付箋との間の結合関係を表す指示線を用いて、両者の結合関係を明示するのが好ましい。本発明は、指定部分と付箋等のメタ情報とを精緻に関係付けることを狙っているからである。
表示制御部55は、複数の表示レイヤを相互に重ね合わせた状態で、それぞれに個別のデータを表示させる。具体的には、表示制御部55は、例えば図5A〜図5Cに示すように、ウィンドウ内における行および列の二次元方向に複数の要素を展開してレイアウトしたページを表示させるページ表示レイヤ43aに対して、付箋等のメタ情報を表示させるメタ情報表示レイヤ43bを重ね合わせて表示させる。
図5A〜図5Cの例では、ページ表示レイヤ43aの上にメタ情報表示レイヤ43bを重ね合わせた状態で、ページ表示レイヤ43aに文字列“ABC・・・”が、メタ情報表示レイヤ43bに付箋等のメタ情報43cが、それぞれ表示されている。メタ情報表示レイヤ43bは、メタ情報43cの部分を除いて透明である。従って、ページ表示レイヤ43aの文字列“ABC・・・”を、メタ情報表示レイヤ43bの透明な部分を透かしてはっきりと見ることができる。
(本実施形態に係るメタ情報付加装置13の基本動作)
次に、本実施形態に係るメタ情報付加装置13の基本動作について説明する。図6は、本実施形態に係る第1情報処理装置12および第2情報処理装置14が共に有するページレンダリング機能の説明図である。図7は、本実施形態に係るメタ情報付加装置13を内包させて設けた第1情報処理装置12において、ページ内の部分指定を行う際の処理の流れを示すフロー図である。
図6に示したウィンドウWaには、各々が固有の高さhおよび幅wを有する複数の要素Eを所定の順序で並べたページが表示されている。“所定の順序で並べた”とは、所定のアルゴリズムに従って複数の要素Eを並べることを意味する。このアルゴリズムの一例を挙げる。例えば、付加側および表示側レンダリング27,47は、ページの左上隅に位置する原点(0,0)を基準として、各々が固有の高さhおよび幅wを有する複数の要素Eを、同じ行では左から右へと、右側端部まで順次並べる。この際、付加側および表示側レンダリング27,47は、同じ行に属する要素の数を記憶するとともに、同じ行に属する要素の高さのうち最大値を行の高さとして記憶しておく。
右側端部にまで達した場合であって展開すべき要素がまだ残っている場合、付加側および表示側レンダリング27,47は、上から下への改行による折り返しを行う。そして、前述と同様に、残っている要素を、同じ行では左から右へと、右側端部まで順次並べる。この際、前述と同様に、付加側および表示側レンダリング27,47は、同じ行に属する要素の数を記憶するとともに、同じ行に属する要素の高さのうち最大値を行の高さとして記憶しておく。
さらに、右側端部にまで達した場合であって展開すべき要素がまだ残っている場合、付加側および表示側レンダリング27,47は、上から下への改行による折り返しを行い、以下、同様の処理を繰り返す。これにより、複数の要素は、図6に示したウィンドウWaの幅方向に連続して左から右へと展開されて、ウィンドウWaの幅方向サイズを超えた場合は折り返して高さ方向に改行されるようにウィンドウWa内にレイアウトされる。
図6に示す例において、説明の便宜上、原点(0,0)を基準としてX軸方向(幅方向)に延びるウィンドウの幅方向サイズをXaとする。また、原点(0,0)を基準としてY軸方向(高さ方向)に隣接する先頭の第0行目をL0、次の第1行目をL1、第ma行目をLmaとする。
L0行目の先頭要素(基準要素)をE00、その右隣の要素をE01、右側端部の最終列の要素をE0ka0−1とする。また、L1行目の先頭要素をE10、その右隣の要素をE11、右側端部の最終列の要素をE1ka1−1とする。そして、Lma行目の先頭要素をEma0、その右隣の要素をEma1、先頭要素から第na個目の要素をEmanaとする。
L0行目に属する要素の数をka0個、L0行の高さをh0と表す。また、L0行目に属する複数の要素にそれぞれ固有の高さおよび幅について、原点(0,0)を基準としてX軸方向に隣接する第0個目の要素では高さh00/幅w00、その右隣の要素では高さh01/幅w01、右側端部の最終列の要素では高さh0ka0−1/幅w0ka0−1と表す。
同様に、L1行目に属する要素の数をka1個、L1行の高さをh1と表す。また、L1行目に属する複数の要素にそれぞれ固有の高さおよび幅について、原点(0,0)に接するY軸を基準としてX軸方向に隣接する第0個目の要素では高さh10/幅w10、その右隣の要素では高さh11/幅w11、右側端部の最終列の要素では高さh1ka1−1/幅w1ka1−1と表す。
同様に、Lma行目に属する要素の数をkama個、Lma行の高さをhmaと表す。また、Lma行目に属する複数の要素にそれぞれ固有の高さおよび幅について、原点(0,0)に接するY軸を基準としてX軸方向に隣接する第0個目の要素では高さhma0/幅wma0、その右隣の要素では高さhma1/幅wma1、第na個目の要素では高さhmana/幅wmanaと表す。
例えば、L0行目に属する要素の数:ka0個は、図6に示すように、L0行目の先頭から複数の要素を順次並べてゆき右側端部に至ったときの、並べられた要素の総個数により求められる。この要領で、付加側レンダリング部27は、ある行に属する複数の要素にそれぞれ固有の幅wと、ウィンドウの幅方向サイズXaとに基づいて、その行に属する要素の数を計算により取得することができる。なお、複数の要素毎の高さ方向のサイズhおよび幅方向のサイズwは、付加側ページ情報取得部21により取得したページの情報から取得すればよい。
次に、ページ内の部分指定を行う際の処理の流れについて、図7を参照して説明する。図7に示す処理は、ページ内の部分指定要求が生じる毎に開始される。図7に示すように、ステップS11において、第1要素情報取得部29は、複数の要素毎の幅方向のサイズ、各行の高さ、および各行に属する要素の数を含む要素情報を付加側レンダリング部27からそれぞれ取得する。
ステップS12において、座標取得部31は、設定部25により設定された部分指定箇所に係る相対座標を取得する。ステップS13において、変換部33は、第1要素情報取得部29により取得した要素情報と、座標取得部31により取得した部分指定箇所に係る相対座標とに基づいて、部分指定箇所に係る相対座標を、複数の要素のなかでの部分指定箇所に対応する指定要素の順序を表すインデックス情報に変換する。
ステップS13の変換は、ウィンドウ内の所定の基準に位置する基準要素(図6の例ではE00)から、指定要素の存在箇所に至るための所定の順序に従う順路に存する要素の数の累積値を求めるとともに、求めた累積値をインデックス情報とすることにより実現される。
詳しく述べると、変換部33は、第1要素情報取得部29により取得した各行の高さと、座標取得部31により取得した部分指定箇所に係る相対座標とに基づいて、基準要素が属する行から指定要素の存在箇所に対応する行の直前の行までの、各行に属する要素の数を積算するとともに、指定要素の存在箇所に対応する行の先頭の列から指定要素の存在箇所に対応する列までの、当該行に属する要素の数を積算することにより、要素の数の累積値を求める。そして、ステップS14において、インデックス情報記憶部35は、変換部33により変換されたインデックス情報を指定要素に関連付けて記憶する。
(相対座標をインデックス情報に変換する動作)
次に、本実施形態に係るメタ情報付加装置13の詳細動作について説明する。図8は、図7に示すフロー図のうちステップS13の処理の流れを詳細に示すフロー図である。図9は、本実施形態に係るメタ情報付加装置13において、部分指定箇所に係る相対座標を指定要素に係るインデックス情報に変換する手順の説明に供する図である。図8に示す処理は、図7に示すフロー図のうちステップS12の処理終了後に開始される。
図8に示すように、ステップS13−1において、変換部33は、ループカウンタiの値を”0”に初期化する。ステップS13−2〜S13−3において、変換部33は、第1要素情報取得部29により取得した要素情報のうち各行の高さと、座標取得部31により取得した部分指定箇所に係る相対座標(pa,qa)(図9参照)とに基づいて、次の数式1が成立するカウント値iをインクリメントしながら順次探索する。
数式1の左辺の計算式Σ[t=0 to i-1]htでは、i=0の場合、開始値(t=0)より終了値(i-1=-1)の方が小さくなる。この場合、左辺の計算式は値“0”を返すものとする。また、以下に述べる複数の数式においても、Σ[t=0 to -1]f(t)のように、開始値(t=0)より終了値(i-1=-1)の方が小さくなる計算式が存在する。このような場合、いずれの計算式も値“0”を返すものとする。数式1が成立するカウント値iが抽出された場合(ステップS13−2のYes)、ステップS13−4において、変換部33は、抽出されたカウント値iを、行番号maに代入する。数式1の探索により、図9に示すように、行番号maが付与されたLma行が、部分指定箇所に係る相対座標に対応する指定要素EmanaのY軸方向の存在箇所であることがわかる。なお、指定要素の存在箇所とは、指定要素が存在すると推測される箇所を意味する。
次いで、ステップS13−5において、メタ情報付加装置13は、ループカウンタjの値を”0”に初期化する。ステップS13−6〜S13−7において、変換部33は、第1要素情報取得部29により取得した要素情報のうち各要素毎の幅方向のサイズと、座標取得部31により取得した部分指定箇所に係る相対座標(pa,qa)(図9参照)とに基づいて、次の数式2が成立するカウント値jをインクリメントしながら順次探索する。
数式2が成立するカウント値jが抽出された場合(ステップS13−6のYes)、ステップS13−8において、変換部33は、抽出されたカウント値jを、列番号naに代入する。数式2の探索により、図9に示すように、列番号naの列が、部分指定箇所に係る相対座標に対応する指定要素EmanaのX軸方向の存在箇所であることことがわかる。
次いで、ステップS13−9において、変換部33は、第1要素情報取得部29により取得した要素情報のうち各行に属する要素の数と、ステップS13−4で取得した行番号maと、ステップS13−8で取得した列番号naとに基づいて、次の数式3が成立する積算値Nを計算により求める。
数式3では、図9に示すように、基準要素E00を起点として、指定要素が存在するLma行の直前のLma−1行内の終端列に至る順路に存する要素の総数に、Lma行に属する指定要素の同行内の順序(列番号na)を加算している。従って、数式3の代入計算により、基準要素E00を起点として、部分指定箇所に係る相対座標に対応する指定要素Emanaの存在箇所に至るための所定の順序に従う順路に存する要素の数の積算値Nを求めることができる。
ステップS13−9の計算により積算値Nが算出されたら、変換部33は、図8に示す一連の処理の流れを終了させて、処理の流れを図7のステップS14へと戻す。
(本実施形態に係るメタ情報表示制御装置15の基本動作)
次に、本実施形態に係るメタ情報表示制御装置15の基本動作について説明する。図10は、本実施形態に係るメタ情報表示制御装置15において、指定要素の存在箇所を表すインデックス情報を、指定要素の存在箇所に対応する座標に逆変換する手順の説明に供する図である。
表示側レンダリング部47が行う、ウィンドウ内に複数の要素を所定の順序で並べてゆくレンダリングの処理については、付加側レンダリング部27のそれと同等であるため、その重複した説明を省略する。
図10に示す例において、説明の便宜上、原点(0,0)を基準としてX軸方向に延びるウィンドウWbの幅方向サイズをXbとする。また、原点(0,0)を基準としてY軸方向に隣接する先頭の第0行目をL0、次の第1行目をL1、第mb行目をLmbとする。
L0行目の先頭要素(基準要素)をE00、その右隣の要素をE01、右側端部の最終列の要素をE0kb0−1とする。また、L1行目の先頭要素をE10、その右隣の要素をE11、右側端部の最終列の要素をE1kb1−1とする。そして、Lmb行目の先頭要素をEmb0、その右隣の要素をEmb1、先頭要素から第nb−1個目の要素はEmbnb−1、先頭要素から第nb個目の要素はEmbnbとする。
L0行目に属する要素の数をkb0個、L0行の高さをh0と表す。また、L0行目に属する複数の要素にそれぞれ固有の高さおよび幅について、原点(0,0)を基準としてX軸方向に隣接する第0個目の要素では高さh00/幅w00、その右隣の要素では高さh01/幅w01、右側端部の最終列の要素では高さh0kb0−1/幅w0kb0−1と表す。
同様に、L1行目に属する要素の数をkb1個、L1行の高さをh1と表す。また、L1行目に属する複数の要素にそれぞれ固有の高さおよび幅について、原点(0,0)に接するY軸を基準としてX軸方向に隣接する第0個目の要素では高さh10/幅w10、その右隣の要素では高さh11/幅w11、右側端部の最終列の要素では高さh1kb1−1/幅w1kb1−1と表す。
同様に、Lmb行目に属する要素の数をkbmb個、Lmb行の高さをhmbと表す。また、Lmb行目に属する複数の要素にそれぞれ固有の高さおよび幅について、原点(0,0)に接するY軸を基準としてX軸方向に隣接する第0個目の要素では高さhmb0/幅wmb0、その右隣の要素では高さhmb1/幅wmb1、第nb−1個目の要素では高さhmbnb−1/幅wmbnb−1と、第nb個目の要素では高さhmbnb/幅wmbnbと表す。
図10に示す(pb,qb)は、指定要素Embnbの存在箇所に対応する相対座標である。ここでは、指定要素Embnbが存在する矩形領域の左上の位置の座標を(pb,qb)としている。この相対座標(pb,qb)の位置に、付箋等のメタ情報が付加される。これについては後述する。
次に、指定要素の存在箇所を表すインデックス情報を、指定要素の存在箇所に対応する座標に逆変換する際の処理の流れについて、図11〜図12を参照して説明する。図11は、本実施形態に係るメタ情報表示制御装置15を内包させて設けた第2情報処理装置14において、指定部分にメタ情報としての付箋が付加されたページを表示する際の処理の流れを示すフロー図である。図11に示す処理は、付箋付きページの閲覧要求が生じる毎に開始される。図11に示すように、ステップS21において、表示側ページ情報取得部41は、固有の高さおよび幅をそれぞれが有する複数の要素を所定の順序で並べてなるページの情報をコンテンツサーバー19から取得する。
ステップS22において、表示側レンダリング部47は、設定部45により設定されたウィンドウWbのサイズのうち幅方向サイズXbを取得する。ステップS23において、表示側レンダリング部47は、ステップS21で取得したページの情報と、ステップS22で取得したウィンドウWbの幅方向サイズXbとに基づいて、ウィンドウWb内における行および列の二次元方向に複数の要素を展開してレイアウトしたページ(例えば図10参照)を構築する。
ステップS24において、第2要素情報取得部49は、複数の要素毎の幅方向のサイズ、各行の高さ、および各行に属する要素の数を含む要素情報を表示側レンダリング部47からそれぞれ取得する。
ステップS25において、インデックス情報取得部51は、ステップS21で取得したページに関連する指定要素に係るインデックス情報を、このインデックス情報に関連付けられたメタ情報(例えば、コメントが付与された付箋等)と共にコンテンツサーバー19から取得する。
ステップS26において、逆変換部53は、第2要素情報取得部49により取得した要素情報と、インデックス情報取得部51により取得した指定要素に係るインデックス情報とに基づいて、指定要素の存在箇所を表すインデックス情報を、指定要素の存在箇所に対応する座標に逆変換する。
そして、ステップS27において、表示制御部55は、逆変換部53により逆変換された指定要素の存在箇所に対応する座標に基づくページ内の位置に、インデックス情報取得部51により取得したメタ情報を表示させる制御を行う。これにより、付箋等のメタ情報が付加されたページが、表示部43のウィンドウWb内に表示される。
(インデックス情報を座標に逆変換する動作)
次に、本実施形態に係るメタ情報表示制御装置15の詳細動作について説明する。図12は、図11に示すフロー図のうちステップS26の処理の流れを示すフロー図である。図12に示すアルゴリズムは、図11に示すフロー図のうちステップS25の処理終了後に開始される。
図12に示すように、ステップS26−1において、逆変換部53は、ループカウンタiの値を”0”に初期化する。ステップS26−2〜S26−3において、逆変換部53は、第2要素情報取得部49により取得した要素情報のうち各行に属する要素の数と、インデックス情報取得部51により取得した指定要素に係るインデックス情報“N”とに基づいて、次の数式4が成立するカウント値iをインクリメントしながら順次探索する。
数式4が成立するカウント値iが抽出された場合(ステップS26−2のYes)、ステップS26−4において、逆変換部53は、抽出されたカウント値iを行番号mbに代入する。数式4の探索により、図10に示すように、行番号mbのLmb行が、部分指定箇所に係る相対座標に対応する指定要素EmbnbのY軸方向の存在箇所であることことがわかる。
次いで、ステップS26−5において、逆変換部53は、第2要素情報取得部49により取得した要素情報のうち各行の高さと、ステップS26−4で取得した指定要素Embnbに係る行番号mbとに基づいて、次の数式5が成立するY軸方向の座標成分qbを計算により求める。
Lmb行目の直前に位置するLmb−1行目に属する要素のうち末尾(最も右側)の要素は、基準要素E00から数えて数式6で表されるR個目の要素である。すなわち、ステップS26−4で取得した指定要素に係る行番号mbの値と各行の高さとを数式6に代入することにより、Lmb−1行目に属する要素のうち末尾(最も右側)の要素に関し、基準要素E00からの順序情報(基準要素から所定の順序に従う順路に存する要素の数を積算した累積数)を求めることができる。
次に、ステップS26−6において、逆変換部53は、指定要素に係る順序情報であるインデックス情報“N”と、Lmb−1行目に属する要素のうち末尾の要素の順序情報“R”とに基づいて、行番号mbに存する指定要素に係る列番号nbを、次の数式7により求める。
ステップS26−7において、逆変換部53は、第2要素情報取得部49により取得した要素情報のうち行番号mbに属する各要素毎の幅wと、ステップS26−6で求めた指定要素に係る列番号nbとに基づいて、次の数式8が成立するX軸方向の座標成分pbを計算により求める。
ステップS26−5およびステップS26−7の計算により、指定要素の存在箇所に対応する座標(pb,qb)が算出されたら、逆変換部53は、図12に示す一連の処理の流れを終了させて、処理の流れを図11のステップS27へと戻す。ステップS27において、表示制御部55は、図10に示すように、表示側レンダリング部47により構築されたページを、逆変換部53により取得した指定要素Embnbの存在箇所に対応する座標(pb,qb)に基づく位置に付箋等のメタ情報を付加して表示させる。これにより、メタ情報付きページが表示部43のウィンドウ内に表示される。
(本実施形態に係るメタ情報表示システム11の作用効果)
次に、本実施形態に係るメタ情報表示システム11の作用効果について、図13〜図15を参照して説明する。図13A,図13Bは、複数の要素として文字列を採用したときの、本実施形態の実施例1に係るメタ情報表示システム11の作用効果を表す説明図である。図14A,図14Bは、複数の要素として静止画像を採用したときの、本実施形態の実施例2に係るメタ情報表示システム11の作用効果を表す説明図である。図15A,図15Bは、複数の要素として文字列および静止画像の組み合わせを採用したときの、本実施形態の実施例3に係るメタ情報表示システム11の作用効果を表す説明図である。
本実施形態の実施例1では、図13Aに示すように、メタ情報付加装置13を用いて、A〜Oの15個の文字列要素を順次並べたページのうち、先頭から14番目の文字要素Nの部分を指定してメタ情報としてのコメント付の付箋を付加している。一方、図13Bに示すように、メタ情報表示制御装置15を用いて、指定部分にメタ情報としてのコメント付の付箋が付加されたページを構築して表示している。
本実施形態の実施例1では、メタ情報付加装置13のインデックス情報記憶部35は、図13Aに示すように、指定要素の先頭からの順序が“14番目”である旨、およびその指定要素が存在するページのID(例えばURI等の識別情報、以下同様)をインデックス情報として記憶する。
一方、メタ情報表示制御装置15の表示制御部55は、図13Bに示すように、第1情報処理装置12側のウィンドウに比べて幅方向のサイズが6割程度と狭いウィンドウであるにも拘らず、指定部分に対応する指定要素Nの位置に、メタ情報としてのコメント付の付箋を付加したページを正確に表示する。これは、指定要素に係る相対座標が変動しても、それぞれの文字列要素の数およびその順序はそのまま維持されるからである。
本実施形態の実施例2では、図14Aに示すように、メタ情報付加装置13を用いて、P1〜P6の6個の画像要素を順次並べたページのうち、先頭から5番目の画像要素P5の部分を指定してメタ情報としてのコメント付の付箋を付加している。一方、図14Bに示すように、メタ情報表示制御装置15を用いて、指定部分にメタ情報としてのコメント付の付箋が付加されたページを構築して表示している。
本実施形態の実施例2では、メタ情報付加装置13のインデックス情報記憶部35は、図14Aに示すように、指定要素の先頭からの順序が“5番目”である旨、およびその指定要素が存在するページのIDをインデックス情報として記憶する。
一方、メタ情報表示制御装置15の表示制御部55は、図14Bに示すように、第1情報処理装置12側のウィンドウに比べて幅方向のサイズが6割程度と狭いウィンドウであるにも拘らず、指定部分に対応する指定要素P5の位置に、メタ情報としてのコメント付の付箋を付加したページを正確に表示する。これは、実施例1と同様に、指定要素に係る相対座標が変動しても、それぞれの画像要素の数およびその順序はそのまま維持されるからである。
本実施形態の実施例3では、図15Aに示すように、メタ情報付加装置13を用いて、文字列要素ABC、画像要素P1〜P3、文字列要素DEF、および画像要素P4の組み合わせに係る複数の要素を順次並べたページのうち、先頭から10番目の画像要素P4の部分を指定してメタ情報としてのコメント付の付箋を付加している。一方、図15Bに示すように、メタ情報表示制御装置15を用いて、指定部分にメタ情報としてのコメント付の付箋が付加されたページを構築して表示している。
本実施形態の実施例3では、メタ情報付加装置13のインデックス情報記憶部35は、図15Aに示すように、指定要素の先頭からの順序が“10番目”である旨、およびその指定要素が存在するページのIDをインデックス情報として記憶する。
一方、メタ情報表示制御装置15の表示制御部55は、図15Bに示すように、第1情報処理装置12側のウィンドウに比べて幅方向のサイズが6割程度と狭いウィンドウであるにも拘らず、指定部分に対応する指定要素P4の位置に、メタ情報としてのコメント付の付箋を付加したページを正確に表示する。これは、実施例1または2と同様に、指定要素に係る相対座標が変動しても、それぞれの要素の数およびその順序はそのまま維持されるからである。
以上説明したように、本実施形態に係るメタ情報付加装置13によって具現化された部分指定装置および部分指定プログラムによれば、ユーザー側の表示環境が変動した場合でも、指定部分に対する付箋等の表示の位置ずれが生じる事態をなくすことができる。その結果、ユーザー側の表示環境の如何にかかわらず、指定部分に対する付箋等の表示の位置ずれがないページの情報共有を図ることができる。また、仮に複数の部分指定箇所が存在する場合は、それぞれの指定要素に対して固有のインデックス情報を関連付けるため、同一の要素がページ内に共存する場合でも、ページ内の部分の指定を一意に行うことができる。
さらに、本実施形態に係るメタ情報表示システム11によれば、情報交換の対象がぶれることなく、ページの情報を共有することができるので、対象についての活発な情報交換を促すことにより、有益な情報交換の場を提供することができる。
また、本実施形態に係るメタ情報表示システム11では、表示側レンダリング部47により構築されたページをページ表示レイヤ43aに、コメント付き付箋等のメタ情報43cをメタ情報表示レイヤ43bにそれぞれ振り分けて、ページ表示レイヤ43aに対し、メタ情報表示レイヤ43bを重ね合わせて表示させている。従って、例えば、ある特定のメタ情報付加箇所に対し、複数の付箋等のメタ情報を付加したいという要望が生じた場合でも、そのための特段の改良を要さずに、この要望に応えることができる。メタ情報表示レイヤ43bは、ページ表示レイヤ43aと同様の独立したページであり、その数は特に制限されないからである。
なお、メタ情報表示レイヤ43b中の付箋に付加されたコメントのうち任意の指定部分に、さらに付箋等のメタ情報を付加することもできる。メタ情報表示レイヤ43b中の付箋に付加されたコメントにさらに付箋を付加したメタ情報表示レイヤも、ページ表示レイヤ43aと同様の独立したページだからである。
この変形例は、下記の要領で実施すればよい。すなわち、この変形例に係る“メタ情報表示レイヤ43b中の付箋”を、本実施形態の“ページ”に置き換える。また、変形例に係る“メタ情報表示レイヤ43b中の付箋に付加されたコメント”を、本実施形態の“複数の要素”に置き換える。さらに、変形例に係る“メタ情報表示レイヤ43b中の付箋に付加されたコメントのうち先頭に位置する文字列要素”を、本実施形態の“ウィンドウ内の基準要素”に置き換える。以下では、本実施形態の“ページ”を親ページと呼び、変形例に係る“ページ”を子ページと呼ぶ。
こうして“付箋”を“子ページ”に置き換える変形例のケースでは、子ページ中の部分指定箇所に係る相対座標の原点として、いかなる座標値を採用すべきかが問題となる。この点、子ページの左上隅等の原点は、親ページ中の部分指定箇所の相対座標に対して所定の規則に従う相対位置に位置決めされている。従って、親ページの部分指定箇所の相対座標に対する関数(所定の規則)を用いて表現される子ページの原点を、子ページ中の部分指定箇所に係る相対座標の原点として取り扱えばよい。
このように、メタ情報表示レイヤ43b中の付箋に付加されたコメントのうち任意の部分指定を行う変形例を、“付箋”を“ページ”に置き換えるなどの適宜の改変を施すことにより、本実施形態の技術的思想をそのまま用いて実施することができる。
さらに、本実施形態に係るメタ情報表示システム11では、メタ情報付加装置13は、指定要素に係るインデックス情報をコンテンツサーバー19に送出する一方、メタ情報表示制御装置15は、指定要素に係るインデックス情報をコンテンツサーバー19を介して取得している。この場合、ピアツーピアにより両装置13,15間で指定要素に係るインデックス情報を交換する場合と比べて、情報共有の規模を容易に拡大することができる。
しかも、本実施形態に係るメタ情報表示システム11では、指定要素に係るインデックス情報は、指定要素が存在するページの識別情報を含むので、あるページと、このページに関連する指定要素に係るインデックス情報とを確実に紐付けて管理することができる。また、“指定要素に係るインデックス情報”とは、ある指定要素に関係付けられたインデックス情報を意味する。従って、あるページの中に複数のメタ情報付加箇所(指定要素の存在箇所)が存在する場合でも、これらを混同させることなく、それぞれの箇所に対応するインデックス情報を確実に紐付けて管理することができる。
以上説明した本実施形態は、本発明の具現化例を示したものである。従って、これらによって本発明の技術的範囲が限定的に解釈されることがあってはならない。本発明はその要旨またはその主要な特徴から逸脱することなく、様々な形態で実施することができるからである。
例えば、本実施形態において、ウィンドウ内の所定の基準に位置する基準要素から、指定要素の存在箇所に至るための所定の順序に従う順路に存する全ての要素の数の累積値を求める例をあげて説明したが、本発明はこの例に限定されない。例えば、複数の要素が文字列のみからなる場合に、指定要素の存在箇所に至るための所定の順序に従う順路に存する要素を間引いて累積値を求める変形例も、本発明の技術的範囲の射程に包含される。
この変形例について、図面を参照して説明する。図16A,図16Bは、本実施形態の変形例1に係るメタ情報表示システムの作用効果を表す説明図である。図16Aに例示するように、アルファベット文字列からなる都合21個の文字列要素を順次並べたページのうち、先頭から17番目の文字要素Cの部分を指定してメタ情報としての付箋を付加するものとする。この場合、本実施形態の変形例1では、指定要素Cの存在箇所に至るための所定の順序に従う順路に存する“C”以外の文字要素を間引いて累積値を求める。なお、部分指定箇所に対応する指定要素の文字内容は、公知の手順を用いて、部分指定箇所に係る相対座標およびページの情報などに基づいて取得すればよい。
仮に、図16Aに示すように、この文字列要素において文字要素“C”の文字検索を行った結果、文字要素“C”が3つあり、先頭から17番目の文字要素Cは、その序列が三番目であるとする。この場合、メタ情報付加装置13のインデックス情報記憶部35は、図16Aに示すように、検索属性としての文字要素“C”と、順序情報としての“3”と、その指定要素が存在するページのIDとをインデックス情報として記憶する。一方、図16Bに示すように、メタ情報表示制御装置15では、指定部分C_3にメタ情報が付加されたページを構築して表示する。
本実施形態の変形例1では、図16Bに示すように、第1情報処理装置12側のウィンドウに比べて幅方向のサイズが6割程度と狭いウィンドウであるにも拘らず、指定部分に対応する指定要素C_3の位置にメタ情報を付加したページを正確に表示する。これは、部分指定箇所に係る相対座標が変動しても、間引きのルールはメタ情報付加装置13とメタ情報表示制御装置15との間で共有されており、かつそれぞれの文字列要素の数およびその順序はそのまま維持されるからである。
図17A,図17Bは、本実施形態の変形例2に係るメタ情報表示システムの作用効果を表す説明図である。図17Aに例示するように、動画像要素MP1〜MP3と、静止画像要素SI1〜SI3とを交互に順次並べたページのうち、先頭から5番目の動画像要素MP3の部分を指定してメタ情報としての付箋を付加するものとする。この場合、本実施形態の変形例2では、指定要素MP3の存在箇所に至るための所定の順序に従う順路に存する静止画像要素を間引いて累積値を求める。なお、部分指定箇所に対応する指定要素の種別(静止画像か、動画像かなど)は、公知の手順を用いて、部分指定箇所に係る相対座標およびページの情報などに基づいて取得すればよい。
仮に、図17Aに示すように、この画像要素において動画像検索を行った結果、動画像が3つあり、先頭から5番目の動画像要素は、その序列が三番目であるとする。この場合、メタ情報付加装置13のインデックス情報記憶部35は、図17Aに示すように、検索属性としての動画像“MP”と、順序情報としての“3”と、その指定要素が存在するページのIDとをインデックス情報として記憶する。一方、図17Bに示すように、メタ情報表示制御装置15では、指定部分MP3にメタ情報が付加されたページを構築して表示する。
本実施形態の変形例2では、図17Bに示すように、第1情報処理装置12側のウィンドウに比べて幅方向のサイズが6割程度と狭いウィンドウであるにも拘らず、指定部分に対応する指定要素MP3の位置にメタ情報を付加したページを正確に表示する。これは、部分指定箇所に係る相対座標が変動しても、間引きのルールはメタ情報付加装置13とメタ情報表示制御装置15との間で共有されており、かつそれぞれの画像要素の数およびその順序はそのまま維持されるからである。
図18A,図18Bは、本実施形態の変形例3に係るメタ情報表示システムの作用効果を表す説明図である。図18Aに例示するように、文字列要素と画像要素とが混在して並んだページのうち、先頭から10番目の画像要素P4の部分を指定してメタ情報としての付箋を付加するものとする。この場合、本実施形態の変形例3では、指定要素P4の存在箇所に至るための所定の順序に従う順路に存する文字列要素を間引いて累積値を求める。なお、部分指定箇所に対応する指定要素の種別(文字列か、画像かなど)は、公知の手順を用いて、部分指定箇所に係る相対座標およびページの情報などに基づいて取得すればよい。
仮に、図18Aに示すように、この文字列と画像とが混在した複合要素において画像検索を行った結果、画像が4つあり、先頭から10番目の画像要素は、その序列が四番目であるとする。この場合、メタ情報付加装置13のインデックス情報記憶部35は、図18Aに示すように、検索属性としての画像“P”と、順序情報としての“4”と、その指定要素が存在するページのIDとをインデックス情報として記憶する。一方、図18Bに示すように、メタ情報表示制御装置15では、指定部分P4にメタ情報が付加されたページを構築して表示する。
本実施形態の変形例3では、図18Bに示すように、第1情報処理装置12側のウィンドウに比べて幅方向のサイズが6割程度と狭いウィンドウであるにも拘らず、指定部分に対応する指定要素P4の位置にメタ情報を付加したページを正確に表示する。これは、部分指定箇所に係る相対座標が変動しても、間引きのルールはメタ情報付加装置13とメタ情報表示制御装置15との間で共有されており、かつそれぞれの複合要素の数およびその順序はそのまま維持されるからである。
また、本実施形態において、変換部33は、部分指定箇所に係る相対座標を、複数の要素のなかでの部分指定箇所に対応する指定要素の順序を表すインデックス情報に変換する例をあげて説明したが、本発明はこの例に限定されない。例えば、本発明に係るインデックス情報を、指定要素の順序以外の態様にさらに変換し、こうして変換したインデックス情報を、メタ情報付加装置13とメタ情報表示制御装置15との間で共有するようにしてもよい。この場合の実施形態は、部分指定箇所に係る相対座標を、複数の要素のなかでの部分指定箇所に対応する指定要素の順序を表すインデックス情報に変換する技術的事項を利用する点で、本発明の技術的範囲の射程に包含される。なお、指定要素の順序以外の態様のインデックス情報としては、例えば、複数の要素毎に固有の幅方向サイズまたはバイト数を積算した累積値などを適宜採用することができる。
さらに、本実施形態において、ウィンドウ内の基準として、ウィンドウの左上隅を例示して説明したが、本発明はこの例に限定されない。ウィンドウ内の基準としては、ウィンドウの右上隅、右下隅、左下隅、または相互に隣接する隅部間の部位など、いかなる部位を採用してもよい。
さらに、本実施形態において、固有の高さおよび幅をそれぞれが有する複数の要素を所定の順序で並べるためのアルゴリズムとして、ページの左上隅を基準として、同じ行では左から右へ、異なる行間では上から下へと順次並べるアルゴリズムを例示して説明したが、本発明はこの例に限定されない。例えば、ページの左上隅を基準として、奇数行では左から右へ、偶数行では右から左へ、異なる行間では上から下へと順次並べるアルゴリズムを採用してもよい。
また、例えば、ページの右上隅を基準として、同じ行では右から左へ、異なる行間では上から下へと順次並べるアルゴリズムを採用してもよい。さらに、ページの右下隅を基準として、同じ行では右から左へ、異なる行間では下から上へと順次並べるアルゴリズムを採用してもよい。さらに、ページの左下隅を基準として、同じ行では左から右へ、異なる行間では下から上へと順次並べるアルゴリズムを採用してもよい。
さらにまた、本実施形態において、固有の高さおよび幅をそれぞれが有する複数の要素を所定の順序で並べるためのアルゴリズムとして、ページの左上隅を基準として、主走査方向として高さ方向(列方向)を、副走査方向として幅方向(行方向)をそれぞれ用いて、複数の要素を順次並べるアルゴリズムを例示して説明したが、本発明はこの例に限定されない。
例えば、ページの左上隅を基準として、第1および第2実施形態とは逆に、主走査方向として幅方向(行方向)を、副走査方向として高さ方向(列方向)をそれぞれ用いて、複数の要素を順次並べるアルゴリズムを採用してもよい。この場合、本実施形態の説明中、ウィンドウの“幅方向サイズ”を“高さ方向サイズ”に置換し、複数の要素毎の“幅”と“高さ”を相互に置換し、さらに行と列を相互に置換して読み替えることにより、この変形例に係る実施態様を、本発明の技術思想をそのまま用いて実現することができる。
また、本実施形態において、コンテンツサーバー19を介してメタ情報付加装置13からメタ情報表示制御装置15にインデックス情報を渡す例をあげて説明したが、本発明はこの例に限定されない。ピアツーピアでメタ情報付加装置13からメタ情報表示制御装置15にインデックス情報を渡す実施形態も、本発明の技術的範囲の射程に包含される。
さらに、本実施形態のメタ情報表示システム11において、説明の便宜上、メタ情報付加装置13とメタ情報表示制御装置15とを独立したものとして分けて説明したが、本発明はこの例に限定されない。実際の利用態様を考慮すると、本発明は、メタ情報付加機能およびメタ情報表示制御機能を併せ持つスタンドアロンのクライアント端末により具現化するのが好ましい。ページ内の指定部分へのメタ情報の付加による情報共有を双方向で図るには、メタ情報付加機能およびメタ情報表示制御機能を併せ持つことが必要だからである。ただし、ページ内の指定部分へのメタ情報の付加による情報の発信または受信のうちいずれか一方のみを求める場合は、本発明を、メタ情報付加機能のみまたはメタ情報表示制御機能のみを有するクライアント端末により具現化すればよい。
また、複数のクライアント端末間でメタ情報を共有する用途ではなく、1台のクライアント端末をスタンドアロンで使用する用途の場合にも、ウィンドウサイズなどの閲覧環境が変わることがある。そのような利用態様を考慮しても、1台のクライアント端末がメタ情報付加機能およびメタ情報表示制御機能を併せ持つのが好ましい。
さらに、本実施形態中、複数の要素毎の幅および高さが均等に揃っている例をあげて説明したが、本発明はこの例に限定されない。複数の要素毎の幅および高さを不均等にした場合でも、この変形例に係る実施態様を、本発明の技術思想をそのまま用いて実現することができる。
また、本実施形態において、指定要素に係るインデックス情報は、それに対応するメタ情報と共にコンテンツサーバー19に送出され、これを受けてコンテンツサーバー19は、指定要素に係るインデックス情報およびメタ情報を、その指定要素が存在するページの識別情報に関連付けて記憶する態様を例示して説明したが、本発明はこの例に限定されない。ある指定要素に係るインデックス情報およびメタ情報を、その指定要素が存在するページの識別情報に関連付けて、それぞれ別個のサーバーに記憶させてもよい。