JP5646564B2 - カスタム製品の実位置における可視化 - Google Patents

カスタム製品の実位置における可視化 Download PDF

Info

Publication number
JP5646564B2
JP5646564B2 JP2012191111A JP2012191111A JP5646564B2 JP 5646564 B2 JP5646564 B2 JP 5646564B2 JP 2012191111 A JP2012191111 A JP 2012191111A JP 2012191111 A JP2012191111 A JP 2012191111A JP 5646564 B2 JP5646564 B2 JP 5646564B2
Authority
JP
Japan
Prior art keywords
0xff
0xfe
connected graph
marker
digital image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012191111A
Other languages
English (en)
Other versions
JP2013054740A (ja
Inventor
アーヴィン ビーヴァー サード ロバート
アーヴィン ビーヴァー サード ロバート
ヤング ハーヴィル レスリー
ヤング ハーヴィル レスリー
ハロルド ビーン リチャード
ハロルド ビーン リチャード
Original Assignee
ザズル インコーポレイテッド
ザズル インコーポレイテッド
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 ザズル インコーポレイテッド, ザズル インコーポレイテッド filed Critical ザズル インコーポレイテッド
Publication of JP2013054740A publication Critical patent/JP2013054740A/ja
Application granted granted Critical
Publication of JP5646564B2 publication Critical patent/JP5646564B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0621Item configuration or customization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本発明はカスタム製品の実位置における可視化に関し、特に実位置における可視化のための方法及びその方法を実施するコンピュータシステムに関する。
本開示のいくつかの節に説明され、「背景技術」または「従来手法」として識別されるいくつかの手法は実行できるであろうが、必ずしも以前に考えられていたかまたは実行されていた手法ではない。したがって、そうではないことが示されない限り、そのように説明される手法のいずれもが「背景技術」または「従来手法」としての指定だけで従来技術として実際に認められるとは見なされるべきではない。
製品のエンドユーザまたは消費者が画像またはグラフィックを取り込んだカスタム製造品を設計し、下検分し、発注することができる、いくつかのコンピュータ自動化システムが現在利用できる。製品の例には、衣服、飲料容器及びアクセサリ用品がある。代表的なシステムにおいて、エンドユーザまたは消費者は、公衆回線を通してサーバコンピュータに接続するため、ブラウザを備えるパーソナルコンピュータのような、汎用コンピュータ端末を用いる。ユーザは格納されたグラフィック画像を選択するか、あるいは、ユーザが入手したかまたは作成したデジタル画像をアップロードする。ユーザはグラフィック画像が貼り付けられるべき製品のタイプを選択し、色、サイズ、画像配置位置またはその他のような、製品に関する様々なパラメータ値を指定する。サーバコンピュータまたは端末は、指定された画像が貼り付けられた製品がカスタム製造後にどのように見えるかを示す、描画像を生成する。ユーザは描画像を承認し、製品に対する注文を入れる。製造業者は発注データを受け取り、指定通りに製品を作成してカスタム製造品をユーザに提供する。
一般的な従来システムでは提供されない−注目する製品の一タイプは、フレーム付マテリアルまたはマウントされたマテリアルである。フレームには、木材成形品、金属品またはプラスチックを含めることができる。マウントには1つ以上のマットを含めることができ、あるいはフロートマウントを含めることができる。マテリアルには、フィルム写真、オリジナルデジタルアート、プリント、油絵、アニメーションセル、あるいはその他のいずれかのグラフィック作品またはビジュアルアートのデジタル画像を含めることができる。既存のシステムを用いる、そのようなフレーム付マテリアルまたはマウントされたマテリアルの個別化オンラインデザイン及びカスタム製造は不可能であるかまたは不完全である。
本発明の課題は、カスタム製品が用いられるかまたは展示されることになる環境内の実位置における製品をコンピュータで可視化するための技法を提供することにある。
図1はカスタム製品を実位置で可視化するためのプロセスのフローチャートである。 図2はマーカーの一例を示す。 図3はマーカーの一例を示す。 図4Aはマーカーによりユーザサイトの特徴を決定するためのフローチャートである。 図4Bはマーカーによりユーザサイトの特徴を決定するためのフローチャートである(図4と4Bを合わせて図4とする)。 図5は実定ユーザサイトデータによりビジュアルアセットを構築するためのプロセスのフローチャートである。 図6は本明細書に開示される方法を実施することができるコンピュータシステムを示すブロック図である。
以下の記述においては、説明の目的のため、本発明の完全な理解を提供するために数多くの特定の詳細が述べられる。しかし、本発明がそれらの特定の詳細に関わらずに実施され得ることは明らかであろう。他の場合に、周知の構造及びデバイスは、本発明を不必要に曖昧にすることを避けるため、ブロック図形式で示される。
「包含している」、「もっている」または「有する」と同義である、「含んでいる」、「含む」及び「を特徴とする」は本明細書に用いられるように、包括的であるかまたは無制限であることを意味し、別の、挙げられていない、要素または方法工程の排除は意味していない。
カスタム製品の実位置における可視化
本開示の手法の一実施形態は、デジタル画像を受け取って格納し、フレーム付けされるべき画像並びにマット及び/またはフレームのタイプの指定を含むカスタムフレーム付製品の製造のリクエストを受け取り、製品の実外観を可能な限り正確にシミュレートするカスタムフレーム付製品の下検分画像を表示することができる、コンピュータベースシステムの文脈で用いることができる。そのようなシステムによれば、下検分画像は理想化されたライティング及び表示の条件の下で極めて写実的になり得る。しかし、実フレーム付画像の外観は異なる環境においては大幅に変わり得る。例えば、カスタムフレーム付製品は一般に壁に吊されて展示されるが、製品の外観は、ライティングレベルが異なる屋内の部屋、ライティングの種類、壁の種類、壁紙、反射性表面またはその他の背景環境のような環境において大きく変わり得る。
フレーム素子及びマットは、寸法変更を可能にし、異なるビジュアルマテリアルとともに使用するため、パラメータ表示値による3Dモデルで表される。例えば、フレーム素子の3Dモデルは、第1の表面ミラーに隣接する固定リグに実フレームスティック材料を置くことで作成することができ、フレームスティック材料の表面に対して既知の角度をなしてレーザが投射され、成形品のデジタル画像がレーザラインと合わせて形成され、プログラムされたコンピュータが、レーザラインから、フレームスティック材料の前面の幾何学的形状を推定し、背面プロファイルが第1の表面ミラーから得られる。成形品の表面テクスチャを取り込むため、レーザ線を遮断して次の画像が撮られる。得られた成形品表面テクスチャの透視画像は平面像に変換されて、平面変換像は成形品のコンピュータ生成3Dモデル上にマッピングされる。マットについては、実厚を手作業で測定して、パラメータ値として入力することができ、マットテクチャの平面図デジタル画像を撮って3Dテクチャマッピングに用いることができる。
一実施形態において、カスタムフレーム付製品の下検分画像は、カスタムフレーム付製品が特定の環境にある場合に有するであろう実外観を正確にシミュレートするように、修飾することができる。
本開示の手法は従来手法に比較して数多くの利点を提供する。例えば、本明細書に示されるマーカー例のデザインと認識の特徴は、スペースの幾何学的形状の特徴を決定するため、異なっている。マーカー例のデザイン及び本明細書に説明される処理ロジックにより、幾何学的形状の特徴決定が、またライティングの特徴決定も、可能になる。このロバストな特徴決定により、特徴決定された環境における可視化製品の幾何学的形状が正確であることの保証が可能になる。さらに、本開示のロジックは、1つのマーカーのユーザイメージ及び1つのユーザ提供写真に基づいてユーザ環境の色またはライティングを補償するために描画の特徴を調節することができる。
さらに、本開示のシステムは、アセンブリの特徴を帯びて、また装飾の特徴を帯びても、構成され得る、カスタム製造品の動的特徴を受容する。システムでは、オンライン市場におけるこれらの特徴決定された環境の、実位置で可視化されるように構成/設計された製品も合わせた、共有が考えられている。システムの「完璧な」特徴では、ユーザによる構成/装飾を可能にし、特徴決定された環境において得られた実施形態を可視化する、構成/装飾のための製品の特徴決定が考えられている。
実位置における可視化のシステム及び方法の説明の目的のため、本明細書に説明される実施形態はカスタムフレーム付製品に関する。しかし、実位置における可視化のシステム及び方法は、カスタム製品の実位置における可視化をユーザに提供することが望ましい、他のマウント可能または展示可能なカスタム製品を可視化するためにも用いることができる。実位置における可視化のシステム及び方法が適用され得るその他のカスタム製品の例には、特注スケートボード、特注グローブ、特注野球バット、特注カートップ及び、例えば特注衣服のような特注刺繍が入った製品またはその他の刺繍可能製品のような、ユーザに提供された画像またはテキストを有するカスタム製品がある。
カスタム製品を実位置で可視化するためのプロセス
図1を参照すれば、一実施形態において、データ処理プロセスは以下の全般的ステップを含む。
マーカーのデジタル表現がユーザに送られる(ブロック101)。例えば、商業カスタム製品サービスの末端消費者とすることができる、ユーザがコンピュータ端末を用いてサービスに付帯するサーバコンピュータに接続する。ユーザはサーバとアカウントを確立するか、または既存のアカウントにログインする。ユーザはカスタム製品をデザインするプロセスを開始する。ユーザは、マーカーの表現を収めている、PDFドキュメントまたはグラフィック画像ファイルのような、デジタルファイルをダウンロードするかまたはプリントするようにプロンプトで促される。
ユーザはシート紙にマーカーをプリントする(ブロック102)。一実施形態において、シート紙のプリントサイズはマーカーを表しているデータとともにサービスに格納される。例えば、サービスは、特定のマーカーが8.5×11インチ(215.9mm×279.4mm)であるか、A4サイズであるか、またはその他いずれかの適するサイズであることを示す、メタデータを格納し、ユーザはそのサイズのシートにマーカーをプリントするようにプロンプトで促されるか、または別の手段で要求される。
ユーザはユーザ環境において、ユーザがカスタム製品を可視化したい場所にマーカーがプリントされた紙を配置する(ブロック103)。例えば、ユーザは、特注可能な製品を掛けるかまたは展示しようとしている壁にシート紙を留め付ける。
ユーザは実位置でマーカーのデジタル写真を撮る(ブロック104)。本文脈において、「実位置」は環境においてカスタム製品が用いられるかまたは展示されることになる実際の場所を意味する。
ユーザはその写真を実位置における可視化サービスに送る(ブロック105)。
本明細書でさらに説明されるように、サービスはユーザ写真の位置、向き及びライティングの特徴を決定するためにマーカーを用いる(ブロック106)。
サービスは実位置におけるカスタム品を可視化するデジタルアセットを生成する(ブロック107)。デジタルアセットは、カスタム製品が、デジタルアセットで可視化された際に、ユーザ写真内のマーカーの検出された位置及び向き並びにマーカーの実配置におけるライティングを反映するように生成することができる。例えば、デジタルアセットは、ユーザ環境においてユーザが先にシートを配置した場所に実際に掛けられているかまたは展示されているかのようにカスタム製品の写実的外観のシミュレートされた画像をユーザに提供するためにユーザのコンピュータ端末上にサービスが表示させることができる、デジタルグラフィック画像とすることができる。デジタルアセットは、デジタル画像の代わりに、デジタルビデオ、デジタルオーディオ/ビジュアルプログラムまたは化ステム製品のグラフィックも出るとすることができる。
上記全般的プロセスのコンポーネントの態様が次に説明される。
マーカー
一実施形態において、マーカーは以下の特徴を有することができる。マーカーは、画像認識技法を用いて、デジタルカメラで撮られた写真内の直線/曲線として認識され得る、1つ以上の線分コンポーネントを有することができる。例えば、一実施形態において、マーカーは幅または太さが一般に0.25インチ(6.35mm)から0.5インチ(12.7mm)の複数本の線分を有する。そのような寸法の線分コンポーネントは、壁の模様、掛けられている他のマテリアル、ドア、壁のコーナー、フロア及びその他の要素のようなユーザ環境の背景要素が存在していても、直線/曲線のコンピュータベース認識を可能にするに十分に、ユーザ画像内で幅広に、または肉太に、見えると考えられる。細すぎる線分は上記環境に関わるスペース内で正確に位置を定めることが困難になり得る。
一実施形態において、マーカーは、印刷されて写真に撮られたときに、線分コンポーネントが環境内の他の写真像要素から分離されるように、縁を有する。縁は余白とすることができる。すなわち、一実施形態において、余白はマーカーを示している印刷されたシートの縁端から線分コンポーネントを分ける。したがって、縁により、環境からのマーカーの一層優れた認識が可能になり、マーカー部ではないその他の画像要素との線分要素の連結を絶つか、またはマーカー部ではないその他の画像要素から線分要素を分離する。
一実施形態において、線分コンポーネントは連結グラフを形成するように配置される。連結グラフは、ノードと称される点において連結されてポリトープと称される複数の閉じた領域を形成する、弧のいずれかの結合である。一実施形態において、それぞれの特定のマーカーは、複数の特徴によって定められるような、他のマーカー例と比較して連結性が異なる、特定の連結グラフを有する。1つの連結グラフを別の連結グラフから弁別し得る特徴の例には、線分の交点の態様、線分の数及び閉じた領域の数がある。実施形態にはいずれか特定のマーカーフォーマットまたはマーカースタイルの使用は必要ではなく、例えば、本明細書に開示される一例は長方形格子の全体的外観を有するが、その他の多くの幾何学的配置を用いることができる。重要なことは、マーカー及び環境のユーザのデジタル写真に見られると予期される基準連結グラフを表す、格納されたメタデータをサービスが有することである。
一実施形態において、マーカーの連結グラフの形態は向きによって様相が異なる。例えば、それぞれのマーカーには、マーカーの向きの変化または回転が見た目の異なる外観を生じるような、1つ以上の特徴が設けられる。この特性により、マーカーがユーザ環境に置かれたときのマーカーに対して用いられた実際の向きを決定するため、ユーザのデジタル画像のコンピュータ解析が可能になる。
一実施形態において、連結グラフの空間関係が記録され、写真内のマーカーの位置及び向きを検出する手段として用いられる。例えば、検出には、ユーザのデジタル画像内の同じ特徴と一致する、基準マーカー内の既知のノード、線分及びポリトープの特徴を認識するための探索を含めることができる。
一実施形態において、ノードの特徴には、マーカーグラフ全体内のノードの総数、与えられたノードにおいて連結している弧の総数、及び与えられたノード総数を有するポリトープへのあるノードのアジャセンシーがある。ノードのこれらの特徴は1つの連結グラフを別の連結グラフから弁別するために用いることができる。すなわち、ノードの総数、与えられたノードにおいて連結する弧の総数、及び与えられたノード総数のポリトープの総数へのアジャセンシーが既知であれば、ユーザのデジタル画像を処理するときに同じ特徴を識別することができ、総数及びアジャセンシーが一致するときに限りユーザのデジタル画像内にマーカーを認識することができる。
一実施形態において、線分の特徴も検出及び弁別に用いることができる。一実施形態において、該当する特徴には、マーカーグラフ内の線分(弧)の数すなわち弧の総数、及び与えられた総弧数のポリトープへのそれぞれの線分のアジャセンシーがある。
一実施形態において、閉じた領域すなわちポリトープの特徴も検出及び弁別に用いることができる。一実施形態において、閉じた領域(ポリトープ)の数に該当する特徴には、マーカーグラフ内のポリトープの総数及びそれぞれのポリトープにおけるノードの総数がある。
いくつかの実施形態において、線分の連結グラフは、会社のブランドまたは商標のような、シンボル、グラフィックまたは銘としてユーザ読取可能となることもできる。
一実施形態において、プリントされたマーカーに1つ以上のオープンスペースが設けられ、プリントされないか、または明るい色または明調でプリントされてユーザサイトのライティングを検出する手段を提供することができる。オープンスペースは「明サンプリング点」と称されることがある。さらに、マーカーの線分グラフの完プリント領域は既知であり、「暗サンプリング点」と称されることがある。「明サンプリング点」及び「暗サンプリング点」が環境におけるマーカーのユーザ画像内に検出されれば、コンピュータが、照度値または標サンプリング点を表すその他のデータに基づいて、サンプリング点間に存在するライティングによる明暗の勾配であるライティング勾配を決定することができ、ユーザ環境における実ライティングをシミュレートするためにデジタルアセットの外観を修正することができる。
色には、一実施形態において、黒、白及びグレーを含めることができ、様々なタイプの画像解析を色によって容易にすることができる。例えば、ユーザ画像内の候補マーカー内のグレースペースをコンピュータが検出できなければ、コンピュータは、ユーザ画像の白レベルが過大であり、すなわち「白とび」していて、正確な認識を可能にするために撮り直しが必要であると決定することができる。
ある環境におけるライティングは、デジタルカメラのようなデジタルデバイスで記録された場合、色の偏り(以下、カラーバイアスとする)がかかって見えることがあり得る。このバイアスは、環境を照明している光は、人間の眼には白色に見えるが、デジタルデバイスは特定の色として記録する、特定のスペクトル分布を有する、日光、白熱電球、水銀灯、蛍光灯、等を含む、異なる様々なタイプ光源の内の1つ以上からの光であることから生じる。
一実施形態において、マーカーは、ユーザ画像におけるライティングバイアスの正確の認識を可能にする、中間調グレー領域を含むことができる。さらにまたはあるいは、ユーザ環境のライティングにおけるカラーバイアスのユーザ認識を補助するためにパステル色調を用いることができる。例えば、ユーザ環境が主に蛍光灯を用いて照明されているかまたは白熱電球を用いて照明されているかを認識し、同じライティングのもとにある環境においてカスタム製造品をシミュレートするデジタルアセットに同様のカラーバイアスを適用するに役立たせるため、基準マーカーの選ばれた領域に既知の緑の色調またはピンクの色調を含めることが有用であり得る。
マーカー例
図2及び図3はマーカーの例を示す。初めに図2を参照すれば、一実施形態において、マーカーは企業体、この場合は米国カリフォルニア州レッドウッドシティ(Redwood City)のZazzle Inc.、の商標に類似する。マーカー202は複数の弧204を有する。例示のノード206A,206Bは弧の交点であり、マーカーは複数のポリトープを定め、ポリトープ208A,208B,208Cは例である。マーカー202のコーナー部210は弧交差態様に関して一様ではなく、よってコンピュータ画像解析技法を用いてマーカーの向きを検出することができる。
特定のノードに付随する弧の総数も変わり得る。例えば、ノード206Aは4本の弧の交点であり、ノード206Bは3本の弧の交点である。したがって、マーカー202がユーザ画像内で認識される場合、マーカーをノードの数及びそれぞれのノードにおける弧の総数に関して特徴付け、一致するか否かを決定するために基準マーカーを表す基準データと比較することができる。マーカーはノードに付随する隣接ポリトープの数で特徴付けることもできる。例えば、ノード206Aには4つの隣接ポリトープが付随し、ノード206Bには3つの隣接ポリトープがある。さらに、特定のマーカーに対する特徴データにより効率的な画像処理が可能になる。例えば、一致する可能性があるとしてユーザ画像内で認識された候補アイテムの内、そのアイテムの特徴が基準マーカーに一致しないアイテムを初期の時点で棄却するように画像認識アルゴリズムを構成することができる。例えば、コンピュータがある候補アイテムの認識に移った際に、その候補アイテムにある弧、ノードまたはポリトープが少なすぎるかまたは多すぎるとコンピュータが判定すると直ちにその候補アイテムを棄却することができ、プロセスは別の候補アイテムの考察に移ることができる。
マーカーに対する特徴項目の数は、冗長なデータ処理時間が必要になることを避けるため、比較的少ないことが好ましい。例えば、マーカーが複雑であり、多数の弧、ノード及びポリトープを有する場合、マーカーを正確に認識するに必要な処理時間及び格納スペースは実施不可能なほど大きくなり得ることが知られている。したがって、比較的単純な連結グラフを有するマーカーが好ましい。
別の例として、図3において、マーカーは長方形格子に類似している。図3の配置は、長方形のレターサイズシート紙にうまく適合するという利点を提供する。
図2及び図3のいずれにおいても、マーカーは、マーカーの周囲の余白、ユーザ画像内で検出するに十分に大きい線分及び、線分、交点及び背景に対して一意的に認識可能である閉じた領域のような、その他の特徴を有する。さらに、図2及び図3は、他の場合では自然環境内ではまれであるが、この場合は認識プロセスの性能を向上させる形状またはグラフを組み入れているマーカーを表す。
様々な実施形態において、サービスは、エンドユーザまたはカスタマーに特有であるマーカーを提供することができ、あるいはエンドユーザが選択してダウンロードできる複数の相異なるマーカーを提供することができる。例えば相異なるマーカーは相異なる製品、サービス、ユーザまたは製品類に付随させるかまたは関連付けることができる。例えば相異なるマーカーは相異なる大きさを有することができ、ユーザは同じ汎環境において相異なる大きさの2つの相異なる製品の可視化を望むことができる。そのような場合、サービスは相異なる大きさの2つの相異なるマーカーを提供することができる。相異なるタイプの相異なる製品が相異なるマーカーの使用を保証することもできる。例えば、カスタム塗装またはカスタムプリントのストレッチキャンバス製品には、カスタム装飾スケートボードデッキとは異なる種類のマーカーを用いることができるであろう。
実位置における可視化サービス
一実施形態において、コンピュータベース実位置における可視化サービスは、以下の全般的タスク、マーカーによるユーザサイトの特徴決定、実定ユーザサイトデータ及び写真またはその他のデジタル画像を用いる視覚的な資産(以下ビジュアルアセットとする)の構築、及びデジタルアセットの描画、を実施するように構成された、1つ以上のコンピュータプログラムまたはその他のソフトウエア要素を有する。
マーカーによるユーザサイトの特徴決定のためのプロセス
一実施形態において、マーカーによるユーザサイトの特徴決定は全般に、図4のフローチャートフォームに示されるプロセスを用いる、基準グラフに基づく連結グラフのデジタル認識を含む。
初めに、上述したように、ユーザはマーカーのプリントコピーをつくり(ブロック102)、ユーザ環境内のカスタム製品が展示されるかまたは掛けられるであろう場所にプリントされたマーカーを置き(ブロック103)、マーカーを含む環境のデジタル写真または画像を撮り(ブロック104)、ユーザ写真をサーバにアップロードしている(ブロック105)とする。例えば、ユーザ写真は、マーカーが壁に留め付けられている部屋の内部の一部のデジタル画像とすることができる。
図4のプロセスは、ユーザ写真内のマーカーを認識するためのコンピュータロジックにおいて、例えばユーザ写真、マーカーの場所及び向き、及びマーカー場所のライティングの特徴を決定するためにマーカーのユーザ写真を用いるステップ(ブロック106)の一環として、実施することができる。
マーカーの線分の寸法範囲内の線構造が残され、その他の線構造及び非線構造はフィルタ除去されるようにユーザ写真をフィルタリングすることにより、線像がつくられる(ブロック401)。例えば、閾値バンドパスフィルタまたはエッジフィルタを用いることができる。結果は、表示されたときにマーカーの線分の寸法範囲内の線構造だけを白背景上の黒として含む出力画像である。
線像はさらに、線分要素の幅が1ピクセルであり、真と設定されているピクセルによってそれぞれの線分が画像内に表されるように、セルオートマトンを用いてフィルタリングされてピクセルのブール配列にされる(ブロック402)。セルオートマトンに対する値表の例が以下の擬似コード例に与えられる。セルオートマトン手法は閾値近傍入力をもつルールベースシステムを用いる。セルオートマトン手法において、考察下の特定のピクセルの近傍のピクセルは、入力に基づいて結果ピクセル値を生成するオートマトンへの命令または演算コードを形成し、特定のピクセルは次いで結果ピクセル値で置き換えられる。セルオートマトンの従来の適用と異なり、本手法において、セルオートマトンは細線化に適用される。セルオートマトン手法の擬似コード例が以下に与えられる。
ピクセル配列がトラバースされる(ブロック403)。真ピクセルが見つかると、連結されたピクセルをトラバースすることで候補グラフが構築される。例えば、連結されたピクセルが識別されると、次いでノードが認識される。真ピクセルが見つからなければアルゴリズムは終了する。候補グラフが作成されて、メモリに格納されるときに、ノード、弧またはポリトープの総数が基準グラフのノード、弧またはポリトープの総数より多ければ、候補グラフは棄却され、この時点の線ネットワークの全ての連結されたピクセルに対する格納値は偽に設定される。一実施形態において、候補グラフ及び基準グラフはコンピュータ内でウイングドエッジデータ構造を用いて表される。候補連結グラフ及び基準連結グラフを表すために他のデータ構造及びモデルを用いることができ、本発明はウイングドエッジデータ構造に限定されない。
連結グラフを構築して用いることにより、基準グラフの1つ以上の連結規準を満たさない候補グラフを迅速に棄却することができる。このプロセスは、ユーザ画像内の候補グラフの完全な認識及び特徴決定が必要になり得る他の手法と異なる。例えば、本手法においては、過大になり得る、候補グラフの認識を完了する必要がない。規準を満たさない候補グラフは初期の段階で単に棄却され、マーカーを認識するための、性能が高められ、時間が短縮される。候補グラフの完成時に、ノード、弧またはポリトープの総数が基準グラフのノード、弧またはポリトープの総数より少なければ、候補グラフは棄却される。
候補グラフの連結特徴の完全セットが一致すれば(ブロック404)、アルゴリズムはブロック407に進む。候補グラフが棄却または廃棄され、ピクセル配列にさらに多くの真ピクセルがあれば(ブロック405)、ブロック403においてピクセル配列のトラバースが続けられる。そうでなければ、ユーザ写真にマーカーを検出できなかったことをおそらくはユーザに告知して、アルゴリズムは終了する(ブロック406)。
一致する候補グラフがあると、一致するグラフのユーザ写真内の向き及び位置が、一致するグラフに見いだされるノードに基準グラフ内の既知のノードをマッピングする、マーカー変換の計算(ブロック407)によって、見いだされる。すなわち、一致する連結グラフが同定されると、ノード、弧及びポリトープのユーザ画像内のピクセル座標が分かり、これらを基準グラフにマーカー変換を用いてマッピングすることができる。例えば、特異値分解を用いるポイントマッピングを、マーカー変換を決定するために、用いることができる。
マーカー変換が決定されると、写真内に明サンプリング点を見いだすことができる(ブロック408)。これらの点は、画像に対する白点、及びビジュアルアセットを描画するための照度勾配またはマップを、決定するために用いられる。例えば、第1の明サンプリング点の基準空間内の座標をユーザ画像空間内の等価な点に、マーカー変換を用いて、変換することができ、これらの点において、ユーザ画像に対する基準白値を決定するためにピクセル値をサンプリングするかまたは得ることができる。一実施形態において、照度勾配はユーザ環境にわたる反射光強度の範囲を表す一組の値であり、画像空間における一組のデルタ値、例えばΔ値及びΔ値で表すことができる。
マーカー変換は、ビジュアルアセットの描画のための黒点を設定するために用いられる、暗サンプリング点をユーザ画像内に見いだすためにも用いることができる(ブロック409)。すなわち、その形状寸法及びライティングを含むユーザ環境に関して情報を外挿することができ、カスタム製造品がユーザ環境に置かれたときのカスタム製造品の実外観と可能な限り同様の画像が、ユーザのコンピュータスクリーン上で、見えるように、色スペクトル、照度、輝度及びその他の属性に関して適切な変更を画像に加えることができる。
実定ユーザサイトデータによるビジュアルアセットの構築のためのプロセス
一実施形態において、実定ユーザサイトデータ及び写真またはその他のデジタル画像を用いるビジュアルアセットの構築は図5のフローチャートに示されるステップを含むことができる。
第1に、レイヤーを用いて以下のようにビジュアルアセットが構築される。明サンプリング点及び暗サンプリング点から得られたデータを用いてユーザ写真が調整される(ブロック501)。
配置のためにマーカー変換を用いてカスタム製品基準がユーザ写真内に置かれ(ブロック502)、カスタム製品基準は、一意的な名称または識別子、座標系内の長方形のような幾何学的配置ホルダ、及び、ユーザが関心をもつ、カスタム製造品を表すマーカー変換を用いて変形された座標系を有することができる。
ユーザ画像空間内の照度が既知の点に基づいてユーザ写真の照度勾配を一致させるようにカスタム製品の照度を修正するために、照度勾配が適用される(ブロック503)。
第2に、以下のステップを用いてカスタム製品が表示される(ブロック504)。一実施形態において、ユーザはサーバと対話することによってカスタム製品及びその属性を選ぶ。一実施形態において、ユーザの実位置におけるビジュアルアセットがロードされる。一実施形態において、カスタム製品のための描画アセットが構成される。一実施形態において、カスタム製品基準はカスタム製品アセットに設定される。
最後に、一実施形態において、実位置におけるアセットが描画され、ユーザのディスプレイユニットまたはブラウザに送られる。
実施機構−ハードウエア概要
一実施形態にしたがえば、本明細書に説明される技法は特定の目的のために用いられる1つ以上の専用コンピューティングデバイスによって実施される。専用コンピューティングデバイスは、本技法を実施するためにハードウエアにより実現することができ、あるいは、1つ以上の特定用途集積回路(ASIC)または、本技法を実施するために永続的にプログラムされた、フィールドプログラマブルゲートアレイ(FPGA)のようなデジタル電子デバイスを有することができ、あるいは、ファームウエア、メモリ、その他の記憶装置またはこれらの組合せ内のプログラム命令にしたがって本技法を実施するようにプログラムされた、1つ以上の汎用ハードウエアプロセッサを有することができる。そのような専用コンピューティングデバイスは、カスタムハードワイアードロジック、ASICまたはFPGAを、本技法を達成するためのカスタムプログラムと組み合わせることもできる。専用コンピューティングデバイスは、デスクトップコンピュータシステム、ポータブルコンピュータシステム、ハンドヘルドデバイス、ネットワーク接続デバイスまたは、本技法を実施するためのハードワイアードロジック及び/またはプログラムロジックを組み込んでいる、その他いずれかのデバイスとすることができる。
例えば、図6はコンピュータシステム600を示すブロック図である。コンピュータシステム600は、情報を通信するためのバス602またはその他の通信機構及び、情報を処理するための、バス602に接続されたハードウエアプロセッサ604を備える。ハードウエアプロセッサ604は、例えば、汎用マイクロプロセッサとすることができる。
コンピュータシステム600は、情報及びプロセッサ604により実行されるべき命令を格納するための、バス602に接続された、ランダムアクセスメモリ(RAM)またはその他のダイナミックストレージデバイスのような、メインメモリ606も備える。メインメモリ606は、プロセッサ604により実行されるべき命令の実行中に、一時変数またはその他の中間情報を格納するために用いることもできる。そのような命令は、コンピュータシステム600を、プロセッサ604がアクセスできる非一時的記憶媒体に格納された場合、命令に指定された作業を実施するためにカスタマイズされた専用機に移す。
コンピュータシステム600はさらに、プロセッサ604に対する静的情報及び命令を格納するための、バス602に接続された、リードオンリメモリ(ROM)608またはその他のスタティックストレージデバイスを備える。情報及び命令を格納するため、磁気ディスクまたは光ディスクのような、ストレージデバイスが備えられ、バス602に接続される。
コンピュータシステム600は、コンピュータユーザに情報を表示するため、陰極線管(CRT)のような、ディスプレイ612にバス602を介して接続することができる。情報及びコマンド選択をプロセッサ604に伝えるため、英数字キー及びその他のキーを有する、入力デバイス614がバス602に接続される。別のタイプのユーザ入力デバイスは、方向情報及びコマンド選択をプロセッサ604に伝えるため及びディスプレイ612上のカーソル移動を制御するための、マウス、トラックボールまたはカーソル方向キーのような、カーソルコントロール616である。入力デバイスは一般に、第1の軸(例えばx軸)及び第2の軸(例えばy軸)の2つの軸において自由度2を有し、デバイスによる平面内の位置の指定を可能にする。
コンピュータシステム600は、コンピュータシステムと組み合わされて、コンピュータシステム600を専用機にするかまたはそのようにプログラムする、カスタマイズされたハードワイアードロジック、1つ以上のASICまたはFPGA、ファームウエア及び/またはプログラムロジックを用いて、本明細書に説明される技法を実施することができる。一実施形態にしたがえば、本明細書の技法は、メインメモリ606に収められた1つ以上の命令の1つ以上のシーケンスを実行するプロセッサ604に応答して、コンピュータシステム600によって実施される。そのような命令は、ストレージデバイス610のような、別の記憶媒体からメインメモリ606に読み込むことができる。メインメモリ606に収められた命令のシーケンスの実行により、本明細書に説明されるプロセスステップをプロセッサ604が実施する。別の実施形態において、ソフトウエア命令の代わりに、またはソフトウエア命令と組み合わせて、配線で接続された回路(hard-wired circuity)を用いることができる。
語句「ストレージデバイス」は、本明細書に用いられるように、データ及び/またはマシンに特定の態様で作業させる命令を格納するいずれの非一時的媒体も指す。そのような非一時的媒体には、不揮発性媒体及び/または揮発性媒体を含めることができる。不揮発性媒体には、例えば、ストレージデバイス610のような、光ディスクまたは磁気ディスクがある。揮発性媒体には、メインメモリ606のような、ダイナミックメモリがある。記憶媒体の普通の形態には、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、固体ドライブ、磁気テープまたはその他のいずれかの磁気データ記憶媒体、CDROMまたはその他いずれかの光データ記憶媒体、穴のパターンをもついずれかの物理媒体、RAM、PROM、EPROM、フラッシュEPROM、NVRAM及びその他いずれかのメモリチップまたはメモリカートリッジがある。
記憶媒体は、通信媒体とは異なるが、通信媒体とともに用いることができる。通信媒体は記憶媒体間の情報の伝送に関わる。例えば、通信媒体には、バス602を構成するワイアを含む、同軸ケーブル、銅線及び光ファイバがある。通信媒体は、ラジオ波データ通信及び赤外線データ通信中に発生されるような、音波または光波の形態をとることもできる。
実行のためにプロセッサ604に1つ以上の命令の1つ以上のシーケンスを伝えるには、媒体の様々な形態が関わり得る。例えば、命令は初め、リモートコンピュータの磁気ディスクまたは固体ドライブ上に載せることができる。リモートコンピュータはそのダイナミックメモリに命令をロードし、モデムを用いて電話回線を通じ、命令を送ることができる。コンピュータシステム600側のモデムが電話回線上のデータを受け取り、赤外線送信器を用いてデータを赤外線信号に変換することができる。赤外線検出器が赤外線信号で伝えられるデータを受け取ることができ、適切な回路がデータをバス602に載せることができる。バス602はデータをメインメモリ602に運び、メインメモリ606からプロセッサ604が命令を取り出して実行する。メインメモリ606で受け取られたデータは、必要に応じて、プロセッサ604による実行の前または後にストレージデバイス610に格納することができる。
コンピュータシステム600はバス602に接続された通信インターフェース618も備える。通信インターフェース618は、ローカルネットワーク622に接続されたネットワークリンク620に結合する双方向データ通信を提供する。例えば、通信インターフェース618は、サービス総合デジタルネットワーク(ISDN)カード、ケーブルモデム、衛星モデム、または対応するタイプの電話回線へのデータ通信接続を提供するためのモデムとすることができる。別の例として、通信インターフェース618は、互換ローカルエリアネットワーク(LAN)へのデータ通信接続を提供するための、LANカードとすることができる。そのような実施形態のいずれにおいても、通信インターフェース618は、様々なタイプの情報を表すデジタルデータストリームを伝える、電気信号、電磁信号または光信号を送信及び受信する。
ネットワークリンク620は一般に、他のデバイスへの1つ以上のネットワークを介するデータ通信を提供する。例えば、ネットワークリンク620はホストコンピュータ624への、またはインターネットサービスプロバイダ(ISP)626によって運営されるデータ装置への、ローカルネットワーク622を介する接続を提供することができる。ISP626は続いて、今では一般に「インターネット」628と称される、ワールドワイドパケットデータ通信ネットワークを介する通信サービスを提供する。ローカルネットワーク622及びインターネット628はいずれも、デジタルデータストリームを伝える、電気信号、電磁信号または光信号を用いる。コンピュータシステム600に及びコンピュータシステム600からデジタルデータを伝える、様々なネットワークを通る信号及びネットワークリンク620上及び通信インターフェース618を通る信号は通信媒体の形態の例である。
コンピュータシステム600は、ネットワーク、ネットワークリンク620及び通信インターフェース618を介して、メッセージを送り、プログラムコートを含む、データを受け取ることができる。インターネットの例において、サーバ630は、インターネット638,ISP626,ローカルネットワーク622及び通信インターフェース618を介して、アプリケーションプログラムに対するリクエストコードを送信できるであろう。
受け取られたコードはコードが受け取られたときにプロセッサ604によって実行することができ、及び/または後の実行のためにストレージデバイス610またはその他の不揮発性ストレージに格納することができる。
拡張及び代替
上述した明細において、実施毎に変わり得る数多くの特定の詳細を参照して本発明の実施形態を説明した。したがって、これが発明であり、また出願人等によって発明であるとされる、唯一であり、かつ排他的な指標は本出願に基づく特許請求項のセットであり、以降のいずれの補正も含む、そのような特許請求項が示される特定の形態にある。そのような特許請求項に含められる語句に対して本明細書で明白に述べられたいずれの定義も、特許請求項に用いられるそのような語句の意味を律するべきである。したがって、特許請求の範囲に明示的に挙げられていないいずれの限定、要素、特性、特徴、利点または属性も、そのような特許請求項の範囲を決して限定すべきではない。したがって、本明細書及び図面は限定の意味ではなく説明の意味でとらえられるべきである。
擬似コード例
以下は上述した細線化のためのセルオートマトン手法の擬似コード例である。

#define ON 0xff
#define ALWAYS_ON 0xfe


/*********************************************************************
Procedure:
EVAL_NEIGHBOR

Description:
Returns
0 if the pixel value < thresh
1 if the pixel value < ALWAYS_ON
2 if the pixel value >= ALWAYS_ON

*******************************************************************/

#define EVAL_NEIGHBOR(n0)((INT32)(buff[n0] >= thresh) +
(INT32)(buff[n0] >= ALWAYS_ON))


/*********************************************************************
Procedure:
EvaluatePixel

Description:
Evaluates a single pixel by examining its 3x3 neighborhood with
the rules held in thinTab. This is called for each pixel in an
image to perform one thin pass. thresh starts at 0 and is
incremented for each thin pass. thinning is done when thresh is
not returned during a thinPass

******************************************************************/
UINT8 ThinMap::EvaluatePixel (BYTE *buff, UINT8 thresh, INT32 inc, INT32 row)
{
INT32 value;
INT32 index = 0;

// build the lookup key for thintab
// thintab stores three states for each
// of the 8 pixels in the neighborhood

index = EVAL_NEIGHBOR(-inc); // o o o
// x o o
// o o o

value = EVAL_NEIGHBOR(row-inc); // o o o
index = value + (index * 3); // o o o
// x o o

value = EVAL_NEIGHBOR(row); // o o o
index = value + (index * 3); // o o o
// o x o

value = EVAL_NEIGHBOR(inc+row); // o o o
index = value + (index * 3); // o o o
// o o x

value = EVAL_NEIGHBOR(inc); // o o o
index = value + (index * 3); // o o x
// o o o

value = EVAL_NEIGHBOR(+inc-row); // o o x
index = value + (index * 3); // o o o
// o o o

value = EVAL_NEIGHBOR(-row); // o x o
index = value + (index * 3); // o o o
// o o o

value = EVAL_NEIGHBOR(-inc-row); // x o o
index = value + (index * 3); // o o o
// o o o

value = thinTab[index];

if (value < ALWAYS_ON)
{
return(thresh);
}
return(value)

}
static UINT8 thinTab[] = {
0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe,
0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff,
0x00, 0xff, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff,
0xfe, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
202 マーカー
204 弧
206A.206B ノード
208A、208B、208C ポリトープ
210 コーナー部
600 コンピュータシステム
602 バス
604 プロセッサ
606 メインメモリ
608 リードオンリメモリ(ROM)
610 ストレージデバイス
612 ディスプレイ
614 入力デバイス
616 カーソルコントロール
618 通信インターフェース
620 ネットワークリンク
622 ローカルネットワーク
624 ホストコンピュータ
626 インターネットサービスプロバイダ(ISP)
628 インターネット
630 サーバ

Claims (16)

  1. 実位置におけるカスタム製品を可視化するためのコンピュータ実装方法において、前記方法が、
    マーカーの基準連結グラフを表す第1のデータを格納するステップ、
    少なくとも前記マーカーのデジタル画像を得るステップ、
    候補連結グラフを表す第2のデータを生成するために前記デジタル画像を解析するステップ、
    前記第1のデータ及び前記第2のデータに少なくともある程度は基づいて、前記候補連結グラフが前記基準連結グラフに一致するか否かを判定するステップ、
    前記候補連結グラフが前記基準連結グラフに一致するという判定に応答して、前記基準連結グラフのノードを前記候補連結グラフのノードに少なくともマッピングする第3のデータを生成するステップ、及び
    少なくとも前記第3のデータを用いて前記デジタル画像内で前記カスタム製品を可視化する視覚的な資産を構築するステップを含み、
    前記視覚的な資産を構築するステップは、前記第3のデータに少なくともある程度は基づいて、前記カスタム製品の画像の少なくとも一部の色、輝度及び/または照度を、前記マーカーの前記デジタル画像の少なくとも一部の色、輝度及び/または照度と一致させるための調整量を決定するステップを含むことを特徴とする方法。
  2. 実位置におけるカスタム製品を可視化するためのコンピュータ実装方法において、前記方法が、
    マーカーの基準連結グラフを表す第1のデータを格納するステップ、
    少なくとも前記マーカーのデジタル画像を得るステップ、
    候補連結グラフを表す第2のデータを生成するために前記デジタル画像を解析するステップ、
    前記第1のデータ及び前記第2のデータに少なくともある程度は基づいて、前記候補連結グラフが前記基準連結グラフに一致するか否かを判定するステップ、
    前記候補連結グラフが前記基準連結グラフに一致するという判定に応答して、前記基準連結グラフのノードを前記候補連結グラフのノードに少なくともマッピングする第3のデータを生成するステップ、
    少なくとも前記第3のデータを用いて前記デジタル画像内で前記カスタム製品を可視化する視覚的な資産を構築するステップ、
    1つ以上の明サンプリング点及び1つ以上の暗サンプリング点を検出するために前記デジタル画像を解析するステップ、
    前記サンプリング点間に存在するライティングによる明暗の勾配であるライティング勾配を決定するステップ、及び
    前記マーカーが写真に撮られた環境におけるライティングをシミュレートするために前記ライティング勾配に基づいて前記視覚的な資産を構築するステップ、
    を含むことを特徴とする方法。
  3. 前記第1のデータが、
    前記基準連結グラフの前記ノードの総数、
    前記基準連結グラフの特定のノードにおいて連結している弧の総数、
    前記基準連結グラフの線分または弧の総数、
    前記基準連結グラフのポリトープの総数、または
    前記基準連結グラフの特定のポリトープのノードの総数、
    の内の1つ以上を示すことを特徴とする請求項1または2に記載の方法。
  4. 前記第2のデータが、
    前記候補連結グラフの前記ノードの総数、
    前記候補連結グラフの特定のノードにおいて連結している弧の総数、
    前記候補連結グラフの線分または弧の総数、
    前記候補連結グラフのポリトープの総数、または
    前記候補連結グラフの特定のポリトープのノードの総数、
    の内の1つ以上を示すことを特徴とする請求項1または2に記載の方法。
  5. 前記マーカーが写真に撮られた環境におけるライティングの検出において前記デジタル画像に施されるデジタル画像解析技法を補助するために、前記マーカーが1つ以上の着色されたオープンスペースを有し、前記マーカーが写真に撮られた環境におけるライティングの色の偏りの検出において前記デジタル画像解析技法を補助するために、前記1つ以上の着色されたオープンスペースの内の少なくとも1つが中間調グレーまたはパステルカラー調で着色されることを特徴とする請求項1または2に記載の方法。
  6. 1つ以上の明サンプリング点及び1つ以上の暗サンプリング点を検出するために前記デジタル画像を解析するステップ、
    前記サンプリング点間に存在するライティングによる明暗の勾配であるライティング勾配を決定するステップ、及び
    前記マーカーが写真に撮られた環境におけるライティングをシミュレートするために前記ライティング勾配に基づいて前記視覚的な資産を構築するステップ、
    をさらに含むことを特徴とする請求項1に記載の方法。
  7. 前記マーカーの線分の寸法範囲内の線構造を白背景上の黒として含むデジタル画像を生成するために前記デジタル画像に閾値バンドパスフィルタまたはエッジフィルタを適用するステップ、及び
    前記線構造の内の少なくとも1つを細線化するためにールベースセルオートマトンを用いるステップ、
    をさらに含むことを特徴とする請求項1または2に記載の方法。
  8. 前記第3のデータを生成するステップが、前記基準連結グラフのノードを前記候補連結グラフのノードにマッピングするマーカー変換を計算するステップを含み、前記方法が、前記マーカー変換を用いて前記デジタル画像内の前記マーカーの向きまたは位置を決定するステップをさらに含むことを特徴とする請求項1または2に記載の方法。
  9. 前記第3のデータを生成するステップが、前記基準連結グラフのノードを前記候補連結グラフのノードにマッピングするマーカー変換を計算するステップを含み、前記方法が、前記マーカー変換を決定するために特異値分解を含むポイントマッピング技法を用いるステップをさらに含むことを特徴とする請求項1または2記載の方法。
  10. 前記第3のデータを生成するステップが、前記基準連結グラフのノードを前記候補連結グラフのノードにマッピングするマーカー変換を計算するステップを含み、前記方法が、
    前記マーカーの座標空間内の明サンプリング点の座標を前記デジタル画像の座標空間内の点に変換するために前記マーカー変換を用いるステップ、及び
    基準白値を決定するために前記デジタル画像の前記座標空間内の前記点におけるピクセル値をサンプリングするステップ、
    をさらに含むことを特徴とする請求項1または2に記載の方法。
  11. 前記第3のデータを生成するステップが、前記基準連結グラフのノードを前記候補連結グラフのノードにマッピングするマーカー変換を計算するステップを含み、前記視覚的な資産を構築するステップが配置のために前記マーカー変換を用いて前記デジタル画像内にカスタム製品を配置するステップを含むことを特徴とする請求項1または2に記載の方法。
  12. 1つ以上の明サンプリング点及び1つ以上の暗サンプリング点を検出するために前記デジタル画像を解析するステップ、及び
    前記サンプリング点間に存在するライティングによる明暗の勾配であるライティング勾配を決定するステップ、
    を含み、
    前記視覚的な資産を構築するステップが、前記ライティング勾配に一致するように前記視覚的な資産の照度を修正するステップを含む、
    ことを特徴とする請求項1または2に記載の方法。
  13. 前記視覚的な資産がデジタル画像であることを特徴とする請求項1または2に記載の方法。
  14. 命令の1つ以上のシーケンスを格納するコンピュータ読取可能記憶媒体において、前記命令の1つ以上のシーケンスが、実行されると、1つ以上のプロセッサに請求項1から13のいずれかに記載の方法を実施させることを特徴とするコンピュータ読取可能記憶媒体。
  15. 特定の目的のために用いられる1つ以上の専用コンピューティングデバイスにおいて、
    1つ以上のプロセッサ、及び
    前記1つ以上のプロセッサに接続された、請求項1から13のいずれかに記載の前記ステップのそれぞれを実施するための手段、
    を備えることを特徴とする1つ以上の専用コンピューティングデバイス。
  16. コンピュータシステムにおいて、請求項1から13のいずれかに記載の方法を実施するための、配線で接続された回路(hard-wired circuity)プログラム内蔵ロジック(stored program logic)の組合せを備えることを特徴とするコンピュータシステム。
JP2012191111A 2011-08-31 2012-08-31 カスタム製品の実位置における可視化 Active JP5646564B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161529883P 2011-08-31 2011-08-31
US61/529,883 2011-08-31
US13/539,788 2012-07-02
US13/539,788 US9147213B2 (en) 2007-10-26 2012-07-02 Visualizing a custom product in situ

Publications (2)

Publication Number Publication Date
JP2013054740A JP2013054740A (ja) 2013-03-21
JP5646564B2 true JP5646564B2 (ja) 2014-12-24

Family

ID=47146155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012191111A Active JP5646564B2 (ja) 2011-08-31 2012-08-31 カスタム製品の実位置における可視化

Country Status (6)

Country Link
US (3) US9147213B2 (ja)
EP (3) EP3462383B1 (ja)
JP (1) JP5646564B2 (ja)
AU (1) AU2012211439B2 (ja)
BR (1) BR102012021901B1 (ja)
CA (1) CA2785412C (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8174521B2 (en) * 2007-10-26 2012-05-08 Zazzle.Com Product modeling system and method
US11157977B1 (en) 2007-10-26 2021-10-26 Zazzle Inc. Sales system using apparel modeling system and method
US9147213B2 (en) 2007-10-26 2015-09-29 Zazzle Inc. Visualizing a custom product in situ
KR20100121690A (ko) 2008-03-05 2010-11-18 이베이 인크. 이미지 인식 서비스 방법, 시스템 및 컴퓨터 판독가능한 매체
US9495386B2 (en) 2008-03-05 2016-11-15 Ebay Inc. Identification of items depicted in images
US10719862B2 (en) 2008-07-29 2020-07-21 Zazzle Inc. System and method for intake of manufacturing patterns and applying them to the automated production of interactive, customizable product
US9164577B2 (en) * 2009-12-22 2015-10-20 Ebay Inc. Augmented reality system, method, and apparatus for displaying an item image in a contextual environment
US9213920B2 (en) 2010-05-28 2015-12-15 Zazzle.Com, Inc. Using infrared imaging to create digital images for use in product customization
US10127606B2 (en) 2010-10-13 2018-11-13 Ebay Inc. Augmented reality system and method for visualizing an item
CA2845911A1 (en) 2011-08-31 2013-03-07 Zazzle.Com, Inc. Tiling process for digital image retrieval
US9449342B2 (en) 2011-10-27 2016-09-20 Ebay Inc. System and method for visualization of items in an environment using augmented reality
US10969743B2 (en) 2011-12-29 2021-04-06 Zazzle Inc. System and method for the efficient recording of large aperture wave fronts of visible and near visible light
US9240059B2 (en) 2011-12-29 2016-01-19 Ebay Inc. Personal augmented reality
JP5912059B2 (ja) * 2012-04-06 2016-04-27 ソニー株式会社 情報処理装置、情報処理方法及び情報処理システム
US10846766B2 (en) 2012-06-29 2020-11-24 Ebay Inc. Contextual menus based on image recognition
US9336541B2 (en) 2012-09-21 2016-05-10 Paypal, Inc. Augmented reality product instructions, tutorials and visualizations
US8712566B1 (en) 2013-03-14 2014-04-29 Zazzle Inc. Segmentation of a product markup image based on color and color differences
US9330407B2 (en) * 2013-03-15 2016-05-03 Zazzle Inc. Specification and display of product customization options
KR102211212B1 (ko) * 2013-03-15 2021-02-03 비데리 인코포레이티드 디지털 아트 및 이미징을 디스플레이하고, 배포하고, 뷰잉하고 제어하기 위한 시스템 및 방법
US8958663B1 (en) * 2013-09-24 2015-02-17 Zazzle Inc. Automated imaging of customizable products
US9767430B2 (en) * 2013-11-11 2017-09-19 International Business Machines Corporation Contextual searching via a mobile computing device
US9204018B2 (en) 2014-01-21 2015-12-01 Carbon Objects, Inc. System and method of adjusting the color of image objects based on chained reference points, gradient characterization, and pre-stored indicators of environmental lighting conditions
US9639957B2 (en) * 2014-06-12 2017-05-02 A9.Com, Inc. Recommendations utilizing visual image analysis
US9956788B2 (en) 2015-11-24 2018-05-01 Stitch City Industries Devices and methods for printing on boards
US10404938B1 (en) 2015-12-22 2019-09-03 Steelcase Inc. Virtual world method and system for affecting mind state
US10156842B2 (en) 2015-12-31 2018-12-18 General Electric Company Device enrollment in a cloud service using an authenticated application
US10181218B1 (en) 2016-02-17 2019-01-15 Steelcase Inc. Virtual affordance sales tool
US10182210B1 (en) 2016-12-15 2019-01-15 Steelcase Inc. Systems and methods for implementing augmented reality and/or virtual reality
US11501224B2 (en) 2018-01-24 2022-11-15 Andersen Corporation Project management system with client interaction
WO2020023545A1 (en) 2018-07-24 2020-01-30 Magic Leap, Inc. Temperature dependent calibration of movement detection devices
US11328495B2 (en) * 2018-08-06 2022-05-10 Wrapmate Llc Systems and methods for generating vehicle wraps
US11158308B1 (en) * 2019-11-27 2021-10-26 Amazon Technologies, Inc. Configuring natural language system
DE102020112700A1 (de) 2020-05-11 2021-11-11 painted life pieces GbR (vertretungsberechtigter Gesellschafter: Ekaterina Zacharova , 83703 Gmund) Druckbearbeitungsvorrichtung und Verfahren
CN117136368A (zh) 2021-04-26 2023-11-28 彩滋公司 与实时设计者和代理协作生成定制产品
US11915199B2 (en) 2021-06-03 2024-02-27 Zazzle Inc. Moment-based gifts and designs generated using a digital product collaboration platform
US11915200B2 (en) 2021-07-29 2024-02-27 Zazzle Inc. Collaborative video chat screen sharing using a digital product collaboration platform
US20230125873A1 (en) 2021-10-21 2023-04-27 Zazzle Inc. Interfacing with third party platforms via collaboration sessions
US20230386108A1 (en) 2022-05-29 2023-11-30 Zazzle Inc. System and method for authoring high quality renderings and generating manufacturing output of custom products
US20230385467A1 (en) 2022-05-29 2023-11-30 Zazzle Inc. System and method for authoring high quality renderings and generating manufacturing output of custom products
US20240020430A1 (en) 2022-05-29 2024-01-18 Zazzle Inc. System and method for authoring high quality renderings and generating manufacturing output of custom products
US20230385465A1 (en) 2022-05-29 2023-11-30 Zazzle Inc. System and method for authoring high quality renderings and generating manufacturing output of custom products
US20230386196A1 (en) 2022-05-29 2023-11-30 Zazzle Inc. System and method for authoring high quality renderings and generating manufacturing output of custom products
US20230384922A1 (en) 2022-05-29 2023-11-30 Zazzle Inc. System and method for authoring high quality renderings and generating manufacturing output of custom products
US20230385466A1 (en) 2022-05-29 2023-11-30 Zazzle Inc. System and method for authoring high quality renderings and generating manufacturing output of custom products

Family Cites Families (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5039132A (en) 1990-01-25 1991-08-13 Minnesota Mining And Manufacturing Company Method and form used for ordering custom printed products
US5615123A (en) 1991-04-02 1997-03-25 Creatacard, Inc. System for creating and producing custom card products
KR0183795B1 (ko) 1995-12-28 1999-05-01 김광호 색상 조정 방법 및 장치
US5999914A (en) 1996-10-16 1999-12-07 Microsoft Corporation Electronic promotion system for an electronic merchant system
US5897622A (en) 1996-10-16 1999-04-27 Microsoft Corporation Electronic shopping and merchandising system
US6058373A (en) 1996-10-16 2000-05-02 Microsoft Corporation System and method for processing electronic order forms
GB9707704D0 (en) 1997-04-16 1997-06-04 British Telecomm Display terminal
US6345278B1 (en) 1998-06-04 2002-02-05 Collegenet, Inc. Universal forms engine
JP2000215317A (ja) * 1998-11-16 2000-08-04 Sony Corp 画像処理方法及び画像処理装置
US7107226B1 (en) 1999-01-20 2006-09-12 Net32.Com, Inc. Internet-based on-line comparison shopping system and method of interactive purchase and sale of products
US6343287B1 (en) 1999-05-19 2002-01-29 Sun Microsystems, Inc. External data store link for a profile service
US6542515B1 (en) 1999-05-19 2003-04-01 Sun Microsystems, Inc. Profile service
US6725257B1 (en) 1999-11-30 2004-04-20 Chrome Data Corporation Computationally efficient process and apparatus for configuring a product over a computer network
US6459435B1 (en) 2000-01-11 2002-10-01 Bluebolt Networks, Inc. Methods, systems and computer program products for generating storyboards of interior design surface treatments for interior spaces
US7302114B2 (en) 2000-01-18 2007-11-27 Branders.Com, Inc. Methods and apparatuses for generating composite images
US20010034668A1 (en) 2000-01-29 2001-10-25 Whitworth Brian L. Virtual picture hanging via the internet
US7262778B1 (en) 2000-02-11 2007-08-28 Sony Corporation Automatic color adjustment of a template design
US6577726B1 (en) 2000-03-31 2003-06-10 Siebel Systems, Inc. Computer telephony integration hotelling method and system
US7526437B1 (en) 2000-04-06 2009-04-28 Apple Inc. Custom stores
US7024046B2 (en) 2000-04-18 2006-04-04 Real Time Image Ltd. System and method for the lossless progressive streaming of images over a communication network
US7016869B1 (en) 2000-04-28 2006-03-21 Shutterfly, Inc. System and method of changing attributes of an image-based product
US6711283B1 (en) 2000-05-03 2004-03-23 Aperio Technologies, Inc. Fully automatic rapid microscope slide scanner
US7117293B1 (en) 2000-05-12 2006-10-03 Apple Computer, Inc. Method and apparatus for archiving and unarchiving objects
US7617184B2 (en) 2000-05-18 2009-11-10 Endeca Technologies, Inc. Scalable hierarchical data-driven navigation system and method for information retrieval
US7062483B2 (en) 2000-05-18 2006-06-13 Endeca Technologies, Inc. Hierarchical data-driven search and navigation system and method for information retrieval
DE10034122A1 (de) 2000-07-13 2002-01-24 Hed Gmbh Haftetikettendruck Set zum Erstellen von Etiketten
US20020073001A1 (en) 2000-12-13 2002-06-13 Itt Manufacturing Enterprises, Inc. System and process for assisting a user to configure a configurable product
US7761397B2 (en) 2001-03-21 2010-07-20 Huelsman David L Rule processing method and apparatus providing automatic user input selections
US7079139B2 (en) 2001-07-02 2006-07-18 Kaon Interactive, Inc. Method and system for measuring an item depicted in an image
US7650296B1 (en) 2001-08-31 2010-01-19 Siebel Systems, Inc. Configurator using structure and rules to provide a user interface
US7580871B2 (en) 2001-08-31 2009-08-25 Siebel Systems, Inc. Method to generate a customizable product configurator
US7274380B2 (en) * 2001-10-04 2007-09-25 Siemens Corporate Research, Inc. Augmented reality system
US20070203771A1 (en) 2001-12-17 2007-08-30 Caballero Richard J System and method for processing complex orders
JP2003264740A (ja) 2002-03-08 2003-09-19 Cad Center:Kk 展望鏡
GB0225789D0 (en) 2002-03-25 2002-12-11 Makemyphone Ltd Method and apparatus for creating image production file for a custom imprinted article
US20070226155A1 (en) 2002-03-29 2007-09-27 Jai-Jein Yu Extended attribute-based pricing system and method
JP2004048674A (ja) 2002-05-24 2004-02-12 Olympus Corp 視野一致型情報呈示システム、並びに、それに用いられる携帯情報端末及びサーバ
US8495163B2 (en) 2004-03-18 2013-07-23 Avaya, Inc. Method and apparatus for a publish-subscribe system with templates for role-based view of subscriptions
JP3962642B2 (ja) 2002-07-08 2007-08-22 キヤノン株式会社 画像処理装置およびその方法
JP3944024B2 (ja) * 2002-08-20 2007-07-11 株式会社東芝 画像処理方法、半導体装置の製造方法、パターン検査装置およびプログラム
US8157731B2 (en) 2002-10-09 2012-04-17 Bodymedia, Inc. Method and apparatus for auto journaling of continuous or discrete body states utilizing physiological and/or contextual parameters
US20040143644A1 (en) 2003-01-21 2004-07-22 Nec Laboratories America, Inc. Meta-search engine architecture
WO2004079526A2 (en) * 2003-02-28 2004-09-16 Gannon Technologies Group Systems and methods for source language word pattern matching
JP2004282708A (ja) 2003-02-28 2004-10-07 Fuji Photo Film Co Ltd 印刷物生成装置および方法、情報検出装置および方法並びにプログラム
ATE299278T1 (de) 2003-06-04 2005-07-15 Sap Ag Methode und computersystem für die optimierung eines boolschen ausdrucks für anfragebearbeitung
US20050138078A1 (en) 2003-07-09 2005-06-23 Chad Christenson Catalog management module in a custom product configuration system
WO2005079939A2 (en) 2004-01-27 2005-09-01 Opentv, Inc. Pre-generated game creation methods and apparatus
US20050226498A1 (en) 2004-03-31 2005-10-13 Lee David L Prepress workflow process employing frequency modulation (FM) screening techniques
CN101006454B (zh) 2004-05-18 2012-05-09 西尔弗布鲁克研究有限公司 利用以许多数据部分编码的签名验证对象
US7474318B2 (en) 2004-05-28 2009-01-06 National University Of Singapore Interactive system and method
US20060004697A1 (en) 2004-06-09 2006-01-05 Lipsky Scott E Method and system for restricting the display of images
US7299171B2 (en) 2004-08-17 2007-11-20 Contentguard Holdings, Inc. Method and system for processing grammar-based legality expressions
US7277830B2 (en) 2004-08-17 2007-10-02 Dirtt Environmental Solutions Ltd. Capturing a user's design intent with resolvable objects
US8631347B2 (en) 2004-11-15 2014-01-14 Microsoft Corporation Electronic document style matrix
US8982109B2 (en) 2005-03-01 2015-03-17 Eyesmatch Ltd Devices, systems and methods of capturing and displaying appearances
US20060197775A1 (en) 2005-03-07 2006-09-07 Michael Neal Virtual monitor system having lab-quality color accuracy
US8963926B2 (en) 2006-07-11 2015-02-24 Pandoodle Corporation User customized animated video and method for making the same
US20070033568A1 (en) 2005-07-30 2007-02-08 Barrieau Shawn M System and method for managing product customization
AU2006292351A1 (en) 2005-09-16 2007-03-29 Wizard International, Inc. Framed art visualization software
US8023746B2 (en) 2005-10-14 2011-09-20 Disney Enterprises, Inc. Systems and methods for decoding an image to determine a digital identifier
CA2566260C (en) * 2005-10-31 2013-10-01 National Research Council Of Canada Marker and method for detecting said marker
US7502788B2 (en) 2005-11-08 2009-03-10 International Business Machines Corporation Method for retrieving constant values using regular expressions
US20070124215A1 (en) 2005-11-29 2007-05-31 Simmons Lawrence D Jr Virtual shopping with personal image environment
US7457730B2 (en) 2005-12-15 2008-11-25 Degnan Donald A Method and system for virtual decoration
US7801912B2 (en) 2005-12-29 2010-09-21 Amazon Technologies, Inc. Method and apparatus for a searchable data service
US20070174781A1 (en) 2006-01-25 2007-07-26 Catalog Data Solutions Parameter visualization
JP2007257176A (ja) 2006-03-22 2007-10-04 Fujitsu Ltd 情報処理方法、情報処理装置、および情報処理プログラム
US7702645B2 (en) 2006-06-30 2010-04-20 Nokia Corporation Method, apparatus and computer program product for making semantic annotations for easy file organization and search
JP4926817B2 (ja) * 2006-08-11 2012-05-09 キヤノン株式会社 指標配置情報計測装置および方法
US20080091551A1 (en) 2006-09-29 2008-04-17 Marvin Olheiser Knowledge-based customizable product design system
WO2008042822A2 (en) 2006-09-29 2008-04-10 B2X Corporation Apparatuses, methods and systems for cross border procurement
GB2443846B (en) 2006-11-15 2011-12-07 Joseph Timothy Poole Computing system
US7930313B1 (en) 2006-11-22 2011-04-19 Adobe Systems Incorporated Controlling presentation of refinement options in online searches
KR100918392B1 (ko) * 2006-12-05 2009-09-24 한국전자통신연구원 3d 컨텐츠 저작을 위한 개인형 멀티미디어 스튜디오플랫폼 장치 및 방법
US7885956B2 (en) 2007-03-05 2011-02-08 Kelora Systems, Llc Display and search interface for product database
US20090080773A1 (en) 2007-09-20 2009-03-26 Mark Shaw Image segmentation using dynamic color gradient threshold, texture, and multimodal-merging
DE102007045834B4 (de) * 2007-09-25 2012-01-26 Metaio Gmbh Verfahren und Vorrichtung zum Darstellen eines virtuellen Objekts in einer realen Umgebung
US9702071B2 (en) 2008-10-23 2017-07-11 Zazzle Inc. Embroidery system and method
US8174521B2 (en) 2007-10-26 2012-05-08 Zazzle.Com Product modeling system and method
US9147213B2 (en) 2007-10-26 2015-09-29 Zazzle Inc. Visualizing a custom product in situ
US8917424B2 (en) 2007-10-26 2014-12-23 Zazzle.Com, Inc. Screen printing techniques
US20090122329A1 (en) 2007-11-07 2009-05-14 Skinit, Inc. Customizing print content
US7856434B2 (en) 2007-11-12 2010-12-21 Endeca Technologies, Inc. System and method for filtering rules for manipulating search results in a hierarchical search and navigation system
EP2257913A4 (en) 2008-02-01 2012-10-17 Innovation Studios Pty Ltd PROCEDURE FOR ONLINE SELECTION OF ITEMS AND ONLINE SHOPPING SYSTEM THEREWITH
KR100927009B1 (ko) * 2008-02-04 2009-11-16 광주과학기술원 증강 현실에서의 햅틱 상호 작용 방법 및 그 시스템
US8521600B2 (en) 2008-04-23 2013-08-27 Hodge Products, Inc. Online ordering system and method for keyed devices
US20090289955A1 (en) * 2008-05-22 2009-11-26 Yahoo! Inc. Reality overlay device
US8064733B2 (en) 2008-06-24 2011-11-22 Microsoft Corporation Variable resolution images
US7933473B2 (en) 2008-06-24 2011-04-26 Microsoft Corporation Multiple resolution image storage
US8233722B2 (en) * 2008-06-27 2012-07-31 Palo Alto Research Center Incorporated Method and system for finding a document image in a document collection using localized two-dimensional visual fingerprints
EP2370922A4 (en) 2008-07-29 2012-06-13 Zazzle Com Inc PRODUCT ADJUSTMENT SYSTEM AND METHOD
US8694893B2 (en) 2008-08-08 2014-04-08 Oracle International Corporation Interactive product configurator with persistent component association
US8335724B2 (en) 2008-08-13 2012-12-18 Branders.Com, Inc. Customized virtual catalog
US20100048290A1 (en) * 2008-08-19 2010-02-25 Sony Computer Entertainment Europe Ltd. Image combining method, system and apparatus
US8520979B2 (en) * 2008-08-19 2013-08-27 Digimarc Corporation Methods and systems for content processing
WO2010022404A1 (en) 2008-08-22 2010-02-25 Zazzle.Com, Inc. Product customization system and method
US20100066750A1 (en) * 2008-09-16 2010-03-18 Motorola, Inc. Mobile virtual and augmented reality system
US20100066731A1 (en) 2008-09-16 2010-03-18 James Calvin Vecore Configurator Process and System
US8873829B1 (en) 2008-09-26 2014-10-28 Amazon Technologies, Inc. Method and system for capturing and utilizing item attributes
US8422777B2 (en) * 2008-10-14 2013-04-16 Joshua Victor Aller Target and method of detecting, identifying, and determining 3-D pose of the target
US20100114874A1 (en) 2008-10-20 2010-05-06 Google Inc. Providing search results
JP2010117870A (ja) 2008-11-12 2010-05-27 B-Core Inc 包含型コードシンボル及びその読み出し方法、並びに閉領域包含型コードシンボル及びその読み出し方法、並びに、包含型コードシンボルが付された物品及び閉領域包含型コードシンボルが付された物品。
US8384947B2 (en) 2008-11-17 2013-02-26 Image Trends, Inc. Handheld scanner and system comprising same
US20100145492A1 (en) 2008-12-09 2010-06-10 The Boeing Company Automated Custom Design Generation
US8606657B2 (en) * 2009-01-21 2013-12-10 Edgenet, Inc. Augmented reality method and system for designing environments and buying/selling goods
US20100189316A1 (en) * 2009-01-27 2010-07-29 Gannon Technologies Group, Llc Systems and methods for graph-based pattern recognition technology applied to the automated identification of fingerprints
US9171361B2 (en) 2010-04-23 2015-10-27 Flir Systems Ab Infrared resolution and contrast enhancement with fusion
US8681145B2 (en) * 2009-03-20 2014-03-25 Disney Enterprises, Inc. Attribute transfer between computer models including identifying isomorphic regions in polygonal meshes
JP5466418B2 (ja) 2009-03-27 2014-04-09 株式会社成基総研 判定装置、判定方法、およびプログラム
JP2010287174A (ja) 2009-06-15 2010-12-24 Dainippon Printing Co Ltd 家具シミュレーション方法、装置、プログラム、記録媒体
US8214069B2 (en) 2009-10-23 2012-07-03 Certusoft, Inc. Automated hierarchical configuration of custom products with complex geometries: method and apparatus
US8831279B2 (en) 2011-03-04 2014-09-09 Digimarc Corporation Smartphone-based methods and systems
US8497876B2 (en) 2009-11-02 2013-07-30 Pacific Data Images Llc Infinite complexity deep-framebuffer rendering
US8700492B1 (en) 2009-12-09 2014-04-15 Amazon Technologies, Inc. Customized product display
US20110225038A1 (en) 2010-03-15 2011-09-15 Yahoo! Inc. System and Method for Efficiently Evaluating Complex Boolean Expressions
US9213920B2 (en) 2010-05-28 2015-12-15 Zazzle.Com, Inc. Using infrared imaging to create digital images for use in product customization
US8429110B2 (en) 2010-06-10 2013-04-23 Microsoft Corporation Pattern tree-based rule learning
EP2395474A3 (en) * 2010-06-11 2014-03-26 Nintendo Co., Ltd. Storage medium having image recognition program stored therein, image recognition apparatus, image recognition system, and image recognition method
US8190486B1 (en) 2010-07-15 2012-05-29 Myworld, Inc. Techniques for product selection
US8290822B2 (en) 2010-08-20 2012-10-16 Valuemomentum, Inc. Product configuration server for efficiently displaying selectable attribute values for configurable products
US8566714B1 (en) 2010-09-20 2013-10-22 Insignia Group, L.C. Catalog accessories meta-configurator, and its use thereof
JP5646263B2 (ja) * 2010-09-27 2014-12-24 任天堂株式会社 画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法
US8898169B2 (en) 2010-11-10 2014-11-25 Google Inc. Automated product attribute selection
US20120123674A1 (en) 2010-11-15 2012-05-17 Microsoft Corporation Displaying product recommendations on a map
JP5697487B2 (ja) * 2011-02-25 2015-04-08 任天堂株式会社 画像処理システム、画像処理方法、画像処理装置、および画像処理用プログラム
CN103493463A (zh) 2011-04-25 2014-01-01 阿尔卡特朗讯 推荐服务中的隐私保护
US8787707B1 (en) 2011-06-29 2014-07-22 Amazon Technologies, Inc. Identification of product attributes
US9002896B2 (en) 2011-08-23 2015-04-07 Xerox Corporation Knowledge-assisted approach to dynamically create data sources for variable-data marketing campaigns
US9348890B2 (en) 2011-08-30 2016-05-24 Open Text S.A. System and method of search indexes using key-value attributes to searchable metadata
CA2845911A1 (en) 2011-08-31 2013-03-07 Zazzle.Com, Inc. Tiling process for digital image retrieval
WO2013067437A1 (en) 2011-11-02 2013-05-10 Hoffman Michael Theodor Systems and methods for dynamic digital product synthesis, commerce, and distribution
US9836514B2 (en) 2011-11-07 2017-12-05 Empire Technology Development Llc Cache based key-value store mapping and replication
US8495072B1 (en) 2012-01-27 2013-07-23 International Business Machines Corporation Attribute-based identification schemes for objects in internet of things
CN103970604B (zh) 2013-01-31 2017-05-03 国际商业机器公司 基于MapReduce架构实现图处理的方法和装置
US8712566B1 (en) 2013-03-14 2014-04-29 Zazzle Inc. Segmentation of a product markup image based on color and color differences
JP6281225B2 (ja) 2013-09-30 2018-02-21 日本電気株式会社 情報処理装置

Also Published As

Publication number Publication date
US20140160118A1 (en) 2014-06-12
CA2785412C (en) 2016-08-23
US9147213B2 (en) 2015-09-29
BR102012021901B1 (pt) 2020-10-27
US20130050218A1 (en) 2013-02-28
US9436963B2 (en) 2016-09-06
EP3462383A1 (en) 2019-04-03
AU2012211439B2 (en) 2015-02-19
CA2785412A1 (en) 2013-02-28
BR102012021901A8 (pt) 2015-10-27
US20130050205A1 (en) 2013-02-28
EP4040367A1 (en) 2022-08-10
US8654120B2 (en) 2014-02-18
EP2565824B1 (en) 2018-12-19
JP2013054740A (ja) 2013-03-21
EP2565824A1 (en) 2013-03-06
AU2012211439A1 (en) 2013-03-14
BR102012021901A2 (pt) 2014-12-09
EP3462383B1 (en) 2022-05-11

Similar Documents

Publication Publication Date Title
JP5646564B2 (ja) カスタム製品の実位置における可視化
US11367250B2 (en) Virtual interaction with three-dimensional indoor room imagery
CN105913485B (zh) 一种三维虚拟场景的生成方法及装置
US8411086B2 (en) Model creation using visual markup languages
US8989440B2 (en) System and method of room decoration for use with a mobile device
US7457730B2 (en) Method and system for virtual decoration
US8667404B2 (en) Predictive material editor
JP5964427B2 (ja) 対話的カスタマイズ可能製品の自動生産に対する製作パターンの適用
CA2622729A1 (en) Framed art visualization software
US20240062345A1 (en) Method, apparatus, and computer-readable medium for foreground object deletion and inpainting
Vidanapathirana et al. Plan2scene: Converting floorplans to 3d scenes
CN110110412A (zh) 基于bim技术的户型全装修模拟展示方法及展示系统
WO2023159595A1 (zh) 构建和配置三维空间场景的模型的方法、装置及计算机程序产品
CN114820292A (zh) 图像合成方法、装置、设备及存储介质
US20190295321A1 (en) Mobile application for signage design solution using augmented reality
CN109669541A (zh) 一种用于配置增强现实内容的方法与设备
US20040085338A1 (en) Automatic index making system and method for electronic catalog
Pugh et al. GeoSynth: A photorealistic synthetic indoor dataset for scene understanding
US20030081849A1 (en) Method and system for creating seamless textured three dimensional models of objects
Zheng et al. [Retracted] Visual Sensing Technology for Digital Image‐Oriented Public Art Design
JP2003331318A (ja) 物体データ生成装置
Fang et al. Virtual Display Method of Garment Design Details Based on Computer Vision
Conlan et al. Textures and Rendering

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140610

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141105

R150 Certificate of patent or registration of utility model

Ref document number: 5646564

Country of ref document: JP

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250