U.S. patent application number 13/482001 was filed with the patent office on 2012-09-20 for search engine supporting mixed image and text input.
This patent application is currently assigned to ENPULZ, L.L.C.. Invention is credited to James D. Bennett.
Application Number | 20120239638 13/482001 |
Document ID | / |
Family ID | 41401224 |
Filed Date | 2012-09-20 |
United States Patent
Application |
20120239638 |
Kind Code |
A1 |
Bennett; James D. |
September 20, 2012 |
SEARCH ENGINE SUPPORTING MIXED IMAGE AND TEXT INPUT
Abstract
An Internet infrastructure supports searching of images by
correlating a category selection with that of plurality of images
hosted in Internet based servers in selected categories. An image
search server supports delivery of search result pages to a client
device based upon a search image or category selection, and
contains images from a plurality of Internet based web hosting
servers. The image search server delivers characteristic analysis
of an image to the client device upon request. The selection of
images is based upon: (i) word match, that is, by selecting images,
titles of which correspond to the search image; and (ii) image
correlation, that is, by selecting images, image characteristics of
which correlates to that of category selection. The selection of
images in the search result page also occurs on the basis of
popularity. The category selection server also selects category
based upon user's choice.
Inventors: |
Bennett; James D.;
(Hroznetin, CZ) |
Assignee: |
ENPULZ, L.L.C.
Chicago
IL
|
Family ID: |
41401224 |
Appl. No.: |
13/482001 |
Filed: |
May 29, 2012 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
12185796 |
Aug 4, 2008 |
8190623 |
|
|
13482001 |
|
|
|
|
61059162 |
Jun 5, 2008 |
|
|
|
Current U.S.
Class: |
707/710 ;
707/E17.109 |
Current CPC
Class: |
G06F 16/532 20190101;
G06F 16/5838 20190101; G06F 16/9535 20190101; G06F 16/951
20190101 |
Class at
Publication: |
707/710 ;
707/E17.109 |
International
Class: |
G06F 17/30 20060101
G06F017/30 |
Claims
1. An online search system that services both a plurality of web
servers and a plurality of users via an Internet, the plurality of
web servers offering a plurality of web page data, the plurality of
web page data including a plurality of links to a plurality of
images, the online search system comprising: a crawl processing
service that gathers the plurality of images and, for each of the
plurality of images, related text; an image processing service that
analyzes of each of the plurality of images to produce analysis
data; a database structure associatively storing, for each of the
plurality of images, the analysis data and text data based at least
in part on portions of the related text; and a search system that,
based on both of a first search image and first search text,
interacts with the database structure to identify search results,
the search results including a plurality of images that are at
least similar to the first search image.
2. The online search system of claim 1, the search system further
using a first category selection to identify the search
results.
3. The online search system of claim 1, wherein the search system
assists in delivery of at least a portion of the plurality of
images to support a visual presentation for a first user.
4. The online search system of claim 3, wherein the search system
further: receives a restriction input from the first user; and
assists in delivery of a second selection of images of the
plurality of images based upon the restriction input.
5. The online search system of claim 1, wherein: the search system
identifies a search category; the search system further interacts
with the database structure to identify the search results based
upon the search category.
6. The online search system of claim 5, wherein the search category
is based upon a categorization of the first search image.
7. The online search system of claim 5, wherein the search category
is based upon the first search text.
8. The online search system of claim 1, wherein the search system
further identifies the search results based upon popularity of
images of the plurality of images.
9. The online search system of claim 1, wherein the search system
further orders the plurality of images based upon a closeness of
match between images of the selection of images and the first
search image.
10. The online search system of claim 1, wherein the search system
further interacts with the database structure to identify a second
selection of images from the plurality of images based upon a
second search input.
11. The online search system of claim 1, wherein the search system
further filters the plurality of images based upon at least one
adult filter parameter.
12. The online search system of claim 1, wherein the search system
supports a series of search input interactions that sequentially
arrive in response to user presentation of a corresponding series
of search results.
13. An online search system that services both a plurality of web
servers and a plurality of users via an Internet, the plurality of
web servers offering a plurality of web page data, the plurality of
web page data including a plurality of links to a plurality of
images, the online search system comprising: a crawl processing
service that gathers the plurality of images and, for each of the
plurality of images, related text; an image processing service that
analyzes of each of the plurality of images to produce analysis
data; a storage that contains the analysis data and text data for
each of the plurality of images, the text data being based at least
in part on portions of the related text; a search system that
identifies first images from first search input and second images
from second search input, the first images and second images
corresponding to selections from the plurality of images, the first
search input comprising a first search image and the second search
input comprising first search text; and the search system at least
assisting in a delivery of at least portions of both the first
images and the second images to support at least one visual
presentation for a first user of the plurality of users.
14. The online search system of claim 13, the search system further
using a category selection to identify at least one of the first
images and second images.
15. The online search system of claim 13, wherein the search system
further: receives a restriction input from the first user; and
assists in delivery of a third selection of images of the plurality
of images based upon the restriction input.
16. The online search system of claim 13, wherein: the search
system identifies a search category; the search system further
interacts with the database structure to identify the search
results based upon the search category.
17. The online search system of claim 16, wherein the search
category is based upon a categorization of the first search
image.
18. The online search system of claim 16, wherein the search
category is based upon the first search text.
19. The online search system of claim 13, wherein the search system
further identifies the search results based upon popularity the
first images.
20. The online search system of claim 13, wherein the search system
further orders the first images based upon a closeness of match of
the first images with the first search image.
21. The online search system of claim 13, wherein the search system
further filters at least one of the first images and the second
images based upon at least one adult filter parameter.
22. The online search system of claim 13, wherein the search system
supports a series of search input interactions that sequentially
arrive in response to user presentation of a corresponding series
of search results.
23. A computer program for instructing a user's computer of a user
to perform a method supporting Internet based interaction with an
online search system, the online search system gathering a
plurality of web page related data including a plurality of related
images from a plurality of web hosting servers, the method
comprising: directing the user's computer to produce a first visual
presentation for the user to support gathering of a first search
image from the user; directing the user's computer to deliver the
first search image to the online search system to the online search
system support a first search to identify first images from the
plurality of related images; directing the user's computer to
produce a second visual presentation for the user based on the
first images; and directing the user's computer to gather and
deliver first search text relating to the first search image to the
online search system to support a second search to identify second
images from the plurality of related images, the first search text
originating from the user.
24. The computer program of claim 23, the method further comprising
directing the user's computer to produce a third visual
presentation for the user based on the first images and the second
images.
25. The computer program of claim 23, the second visual
presentation supporting gathering of a category selection from the
user, and the method further comprising: directing the user's
computer to deliver the category selection to the online search
system; and directing the user's computer to produce a third visual
presentation for the user including third images selected based
upon the category selection, the third images being at least
similar to the first image.
26. The computer program of claim 23, the second visual
presentation providing a category based visual presentation for the
user.
27. The computer program of claim 23, the second visual
presentation supporting gathering of a restriction input from the
user, and the method further comprising: directing the user's
computer to deliver the restriction input to the online search
system; and directing the user's computer to produce a third visual
presentation for the user including third images selected based
upon the restriction input.
28. The computer program of claim 23, wherein the first images also
based upon popularity of images.
29. The computer program of claim 23, wherein the first images
ordered based upon a closeness of match between images of the first
selection of images and the first image.
30. The computer program of claim 23, wherein the first images
filtered by the online search system based upon at least one adult
filter parameter.
Description
CROSS REFERENCE TO PRIORITY APPLICATIONS
[0001] The present U.S. Utility Patent Application claims priority
pursuant to 35 U.S.C. .sctn.120, as a continuation to the following
U.S. Utility Patent Application:
[0002] 1. U.S. Utility Application No. 12/185,796, filed Aug. 4,
2008, now issued as U.S. Pat. No. 8,190,623, which claims priority
pursuant to 35 U.S.C. .sctn.119(e) to the following U.S.
Provisional Application which is hereby incorporated herein by
reference in its entirety and made part of the present U.S. Utility
Patent Application for all purposes:
[0003] a. U.S. Provisional Application Ser. No 61/059,162, filed
Jun. 5, 2008, having a common title with the present application,
which is hereby incorporated herein by reference in its entirety
and made part of the present U.S. Utility Patent Application for
all purposes.
Cross Reference To Related Application
[0004] The present application is related to U.S. Utility
Application Ser. No. 12/185,804 filed Aug. 4, 2008, co-pending and
now issued as 8,180,788, and entitled "IMAGE SEARCH ENGINE
EMPLOYING IMAGE CORRELATION," (ENKUS01), which is incorporated
herein in its entirety by reference for all purposes.
BACKGROUND
[0005] 1. Technical Field
[0006] The present invention relates generally to Internet
infrastructures; and, more particularly, to search engines.
[0007] 2. Related Art
[0008] Image search engines are used everywhere to search for
images that are available in the hosted web pages and image
databases. Users may search for images with a wide variety of
interests such as business, engineering and scientific research as
well as home based general interests. Search engines usually select
images to be displayed as search result based upon a search keyword
(or, search string) and popularity of the images. A plurality of
images are displayed in each search result page with a `next` and
`previous` buttons to guide the user to subsequent and previous
search result pages, that contain more images.
[0009] Users often look for images, having certain type of images
in mind such as cartoon, portrait, landscape, graphics, scientific
and architecture images. Often, these searches result do not meet
user's expectations, because the search engines attempt to match
words in the title of the images with that of search string. This
results in wide variety of images being displayed, many of them
being totally unrelated to the user's subject of interest. In
addition, many images contain adult content which are not desirable
in many instances, such as when children searching for images or
when searching in front of an audience.
[0010] For example, a user may enter `children art` as the image
search string, desiring to find hand drawn images made by children
of specific kind and may receive a long list of images of variety
of images, page after page. Images may contain cartoons, pictures
taken by children, some hand drawn images, pictures of children
drawing images etc. These form wide variety of subjects, very few
of which are relevant to the user's search. Not getting desired
results in the initial page, the user may step through several
screens via the `next` button. This again results in many of the
same kind of images that were previously unhelpful.
[0011] These and other limitations and deficiencies associated with
the related art may be more fully appreciated by those skilled in
the art after comparing such related art with various aspects of
the present invention as set forth herein with reference to the
figures.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] FIG. 1 is a schematic block diagram illustrating an Internet
infrastructure containing a client device and web browser
accessible image search server, wherein the image search server
delivers one or more images by using one or more of characteristic
analysis, categorization and/or correlation;
[0013] FIG. 2 is a schematic block diagram illustrating exemplary
components of the image search server constructed in accordance
with the embodiment of FIG. 1 of the present invention;
[0014] FIG. 3 is a flow diagram illustrating exemplary
functionality of the image search server of FIG. 1;
[0015] FIG. 4 is a flow diagram illustrating exemplary
functionality of the image search server of FIG. 1 upon delivering
an image search server's web page, in accordance with the present
invention;
[0016] FIG. 5 is a flow diagram illustrating exemplary
functionality of the image search server of FIG. 1, continued from
FIG. 4;
[0017] FIG. 6 is an exemplary schematic diagram illustrating snap
shot of search interface web page of the image search server of
FIG. 1; and
[0018] FIG. 7 is an exemplary schematic diagram illustrating snap
shot of a first image search result page based upon a search string
and a search image.
DETAILED DESCRIPTION OF THE DRAWINGS
[0019] FIG. 1 is a schematic block diagram illustrating an Internet
infrastructure 105 containing a client device 157 and a web browser
accessible image search server 169, wherein the image search server
169 delivers one or more images by using one or more of
characteristic analysis, categorization and/or correlation.
Specifically, in a representative embodiment, the image search
server 169, upon receipt of a search image 155 from web browser 151
of the client device 157, performs characteristic analysis of the
search image 155, categorizes the search image 155 into one of the
plurality of image categories, searches for images in image
database that correlate closely with the search image 155 (within
in the determined category) and delivers search result pages
containing images to the client device. In addition, the image
search server 169 may also deliver characteristic parameters
obtained during characteristic analysis to the web browser 151 of
the client device 157, upon request.
[0020] The image search server 169 may also receive a search string
153, upon which the image search server 169 matches the word or
words in the search string 153 with that or those of titles in
plurality of images in the database. Thus, the image search server
169 delivers images to the web browser 151 of the client device 157
based upon search string 153 and search image 155, constructing one
or more search result pages and delivering one search result page
at a time. The search image 155 may be submitted to the image
search server 169, from the client device's 157 web browser 151, by
uploading the image in an image search server's (search engine's)
web page, detailed description of which is provided with reference
to the description of snap shot in FIG. 6, for example.
[0021] The image search server 169 identifies characteristic
parameters of the search image 155 received from the client
device's 157 web browser 151, within the category selected by the
user or automatically determined by the image search server 169.
The category or categories related to the search image 155, if not
received from the user of the client device 157, may be
automatically determined by the image search server 169, by
determining one or more characteristic parameters. The chosen
category and characteristic parameter(s) may be delivered to the
web browser 151 of the client device upon request from the user.
Then, the image search server 169 correlates these characteristic
parameter(s) with that or those of a plurality of images in the
image database, within the category selected or automatically
determined by the image search server 169. The image search server
169 then selects and prioritizes images based upon closeness in
correlation to that of the search image 155 and on popularity
basis. If the user chooses to search in all categories, then the
image search server 169 skips categorization of the search image
155.
[0022] In addition, the image search server 169 also matches
word(s) in the search string 153 with that or those of titles of
the plurality of images in the image database 181 and selects a
plurality of images, sorts them on the basis of closeness in match
and popularity, and delivers them to the web browser 151 of the
client device 157. In all, the image search server 169, in a single
page of image search results, may deliver: (i) images sorted on the
basis of close correlation, within one or more of categories; (ii)
images sorted on the basis of both close correlation and
popularity, within one or more of categories; (iii) images sorted
on the basis of close matches between the word(s) of the search
string 153 and that or those of titles of images in the image
database, within in one or more categories; and (iv) images sorted
on the basis of both close match and popularity, within one or more
categories. The user may select: (i) one or more categories
mentioned above; or (ii) may deselect any of the categories,
allowing the image search server to determine the category; or (ii)
may select all of the categories, thus, switching off the function
of categorizing. In addition, the image search server 169 performs
for adult content filtering based upon user settings in the client
device's 157 web browser 151. Detailed description of a typical
search result page is provided with reference to the description of
web page snap shot in FIG. 7, for example.
[0023] The image search server 169 contains an image characteristic
analysis module 171 that analyzes the images and determines
characteristic parameters of the images. The images in the image
database are obtained from a plurality of web hosting servers by
crawling through them, or by submission from users. During
crawling, for example, the image characteristic analysis module 171
determines characteristic parameter(s) of each of the images it
comes across in various web hosting servers. These characteristic
parameter(s) are stored in the image database along with the image,
web links associated with the images, among other information.
[0024] The image search server 169 also contains an image
categorization module 173 that determines the category of the
images obtained during crawling, among a plurality of predetermined
categories, based upon the characteristic parameter(s). This
information of category is stored in the image database along with
other information such as characteristic parameter(s), web links
associated with images and image titles.
[0025] When a search image 155 is received from the web browser 151
of the client device 157, the image characteristic analysis module
171 determines the characteristic parameter(s). This information is
delivered to the web browser 151 if user requests for such
information. The characteristic parameter(s) related information
may be tabled before delivery or alternatively, may be shown
graphically, depicted on the search image itself. Upon delivery of
a first search result page, for example, the user may select any of
the images displayed and request for characteristic analysis. In
such a case, the image characteristic analysis module 171 delivers
characteristic parameter(s) of the image selected, tabled or
graphically.
[0026] Once characteristic parameter(s) of the search image 155 are
determined, the image categorization module 173 determines the
category of the search image 155. Alternatively, the user may also
select one or more categories within which the search is intended.
In this case, the image categorization module 173 may skip
determining the search image 155 category. In addition, the image
search server 169 contains an image correlation module 173 that
correlates characteristic parameter(s) of search image 155 with
that of the plurality of images in the image database. The
correlated images in the image database are then sorted on the
basis of closeness in correlation and are tabled along with other
image related information such as characteristic parameter(s),
category, image titles and web links, where they were originally
located. Another table may also contain, within the category,
images sorted on the basis of popularity. These sorted images are
filtered by an adult content filter module 177, by using digital
image correlation. For digital image correlation, the adult content
filter module 177 may use sample images with adult content.
[0027] An image text search module 179 correlates word(s) in the
search string 153 and that or those of titles of the plurality of
images in the image database. The correlated images may be sorted
on the basis of closeness in correlation along with image titles
and on web links where they are originally located. In another
table the closely correlated images may again be sorted on the
basis of popularity. These sorted images may also be filtered by
the adult content filter module 177.
[0028] Based upon the sorting of images and the filtering, in a
representative embodiment, four basic tables are formed: (i) sorted
on the basis of closeness in correlation to the search image 155,
within the category selection; (ii) sorted on the basis of
popularity within the first few closely correlated images in (i);
(iii) sorted on the basis of closeness in match, within the
category selection; and (iv) sorted on the basis of popularity in
(iii). Finally, an image listing module 181 lists the images from
the four tables (i) through (iv) to form a plurality of search
result pages, each containing a certain portion of each of the
tables (i) through (iv). This listing may be done in a mutually
exclusive manner so that none of the images in any of the search
result pages is repeated. In case of selection of plurality of
categories, some images from each of these categories are selected,
for each search result page. Then, the image search server 169
delivers a first of these search result pages containing a first
few search results thus constructed.
[0029] The search result pages delivered contain a series of images
from the four sorted tables, and in addition taken from one or more
user selected or automatically generated categories. The search
result page also contains `upload image`, `characteristic
analysis`, `prev` and `next` buttons to upload search image 155,
analyze search image 155 or a selected image from the images
displayed, access prior displayed search result pages and the
subsequent search result pages, respectively.
[0030] In addition, the search result page also contains provision
for user category selection. The category selection provision may
allow a user to select some of a plurality of options such as `Let
SE (Search Engine) Determine`, `All Categories`, `Cartoon`,
`Portrait`, `Landscape`, `Graphics` and `Architecture`. `Let SE
(Search Engine) Determine` option allows the image search server to
determine one or more categories automatically based upon
characteristic parameter(s) of the search image 155. A first search
engine web page also contains an image window where uploaded image
appears, before search process begins.
[0031] For example, a user may provide a search string 153
`children art` and a hand drawn search image 155 of a boat (refer
to the FIGS. 6 and 7). The user may have uploaded the search image
155 intending to find more of such hand drawn images by other
children. Upon clicking the `characteristic analysis` button, the
image characteristic analysis module 171 delivers image
characteristic parameter(s) (in a pop up window, or the image
window itself) either in a table format or graphically with numbers
displayed along with the image (in this case, the search image of
the boat). The image categorization module 173 may also display the
category or categories determined automatically, along with the
characteristic parameter display. This enables user to select
categories of interest, for example.
[0032] Then, upon clicking `image search` button, the image
characteristic analysis module 171 begins processing the image of
the boat by extracting characteristic parameter(s) of the image
such as, for example and without limitation, pixels, colors of the
pixels, strength of the pixels and position of the pixels. In
addition, the image categorization module 173 determines the
category or categories within which to perform search, either by
receiving the category or categories from the user or automatically
determining it/them. Next, the image correlation module 175
correlates the characteristic parameter(s) of the image with the
characteristic parameter(s) of images in the image database.
Closely correlated images resemble the search image 155 of the boat
closely, thus extracting images that are most similar to the user
uploaded search image 155. Then, a table of images is formed that
is sorted on the basis of closeness of the images in the image
database, thus the first image resembling closest to that of the
hand drawn boat image. In addition, in another table, images that
closely correlate with the search image 155 of the boat are again
sorted on the basis of popularity. These sorted images may also be
filtered by an adult content filter module 177. In addition, the
image text search module 179 correlates the words of search string
`children art` with the words of the titles of the plurality of
images in the image database and forms a table of images that is
sorted using closeness in correlation. In another table, images
that closely correlate may again be sorted on the basis of
popularity. These sorted images may also be filtered by the adult
content filter module 177.
[0033] Finally, the image listing module 181 lists the images from
the four tables to form a plurality of search result pages. Then,
the image search server 169 delivers a first of these search result
pages containing a first few search results of each of the tables.
The first search result page may contain, for example, a set of 16
images; four in each row. The first row may contain images that
closely correlate to that of image of the beach house from one or
more categories, the second row may contain the ones that are
sorted on the basis of popularity, the third row may contain
images, words in the titles of which closely match to the words
`children art`, from one or more categories and the fourth row may
contain images with titles that closely match to the words
`children art` and are sorted on the basis of popularity.
[0034] FIG. 2 is a schematic block diagram illustrating exemplary
components of the image search server 207 constructed in accordance
with the embodiment of FIG. 1 of the present invention. The image
search server circuitry 207 may, in whole or in part, be
incorporated into any computing device that is capable of serving
as an Internet based server. The image search server circuitry 207
generally includes processing circuitry 209, local storage 217,
manager interfaces 249 and network interfaces 241. These components
are communicatively coupled to one another via one or more of a
system bus, dedicated communication pathways, or other direct or
indirect communication pathways. The processing circuitry 209 may
be, in various embodiments, a microprocessor, a digital signal
processor, a state machine, an application specific integrated
circuit, a field programming gate array, or other processing
circuitry.
[0035] The network interfaces 241 contain wired and wireless packet
switched interfaces 245 and may also contain built-in or an
independent interface processing circuitry 243. The network
interfaces 241 allow the image search server 207 to communicate
with client devices such as 261 and to deliver search result pages
of images. The manager interfaces 249 may include a display and
keypad interfaces. These manager interfaces 249 allow the user at
the image search server 207 to control aspects of the present
invention. The client device 261 illustrated are communicatively
coupled to the image search server 207 via an Internet 255.
[0036] Local storage 217 may be random access memory, read-only
memory, flash memory, a disk drive, an optical drive, or another
type of memory that is operable to store computer instructions and
data. The local storage 217 includes an image characteristic
analysis module 219, image categorization module 221, image
correlation module 223, adult content filter module 225, image text
search module 227, image listing module 229 and image database 231
to facilitate user's image search, in accordance with the present
invention.
[0037] The image characteristic analysis module 219 analyzes the
images and determines characteristic parameter(s) of the images
that are obtained from a plurality of web hosting servers by
crawling through them, by submission from users or when received
from the client device 261 as a search criterion. The
characteristic parameter(s) thus determined are stored in the image
database 231 along with the image, web links associated with the
images, among other information. The image categorization module
221 determines the category of the images received, among many
predetermined categories, based upon the characteristic
parameter(s). This information of category is stored in the image
database 231 along with other information such as characteristic
parameter(s), web links associated with images and image
titles.
[0038] For example, when the search image is received from the
client device 261, the image characteristic analysis module 219
determines the characteristic parameter(s). This information is
delivered to the client device 261 if requested. Once
characteristic parameter(s) of the search image are determined, the
image categorization module 221 determines the category or
categories of the search image. Alternatively, the user may also
select one or more categories within which the search is intended.
In this case, the image categorization module 219 skips determining
the search image category or categories.
[0039] The image correlation module 223 performs correlation
processing between the determined characteristic parameter(s) of
the search image and that of the plurality of images in the image
database 231. The correlated images in the image database 231 are
then sorted on the basis of closeness in correlation and are tabled
along with other image related information such as characteristic
parameter(s), category, image titles and web links. The image
correlation module 223 also forms another table that contains,
within the categories selected or chosen, images sorted on the
basis of popularity. These sorted images may also be filtered by
the adult content filter module 225.
[0040] The image text search module 227 matches word(s) in the
search string with that or those of titles of the plurality of
images in the image database 231 and forms a table containing
images, image titles and web links. Then, the image text search
module 227 sorts the table on the basis of closeness in match. In
addition, in another table, the image text search module 227 sorts
the images on the basis of popularity. These sorted images may also
be filtered by the adult content filter module 225, by using word
matching techniques.
[0041] Based upon the sorting of images and the filtering, by the
image correlation module 223 and image text search module 227, in a
representative embodiment, four basic tables are formed. Each of
these tables may contain images from one or more user chosen or
automatically selected categories. Finally, the image listing
module 229 lists the images from the four basic tables to form a
plurality of search result pages, each containing a certain portion
of each of the four basic tables, in a mutually exclusive manner so
that none of the images in any of the search result pages is
repeated.
[0042] In other embodiments, the image search server 207 of the
present invention may include fewer or more components than are
illustrated as well as lesser or further functionality. In other
words, the illustrated image search server is meant to merely offer
one example of possible functionality and construction in
accordance with the present invention.
[0043] FIG. 3 is a flow diagram illustrating exemplary
functionality of the image search server of FIG. 1. The
functionality begins at a block 307 when the image search server
receives a search string and/or a search image, and a chosen
category or chosen categories (if any) from the client device.
Then, at a next block 309, the image search server performs
characteristic analysis and determines the characteristic
parameter(s). This information is delivered to the client device if
requested. Once characteristic parameter(s) of the search image are
determined, the image search server determines the categories
related to the search image, if one or more categories within which
the search is intended are not selected by the user.
[0044] At a next block 311, the image search server matches a word
or words in the search string with that or those of titles of a
plurality of images in the database and selects images. The process
of selecting images involves word matching between the search
string and the titles of the images in the database. Then, the
process involves generating a table containing columns of image
titles and web links associated with the images that are sorted on
the basis of closeness in match. The image search server also
creates another table that is sorted on the basis of
popularity.
[0045] At a next block 313, the image search server performs
correlation processing between the determined characteristic
parameter(s) of the search image and that of the plurality of
images in the image database and selects images. The process of
selecting images involves sorting correlated images on the basis of
closeness in correlation and forming a table containing image
related information such as, for example, characteristic
parameter(s), category, image titles and web links. The image
search server also forms another table that contains, within the
category or categories selected or chosen, images sorted on the
basis of popularity.
[0046] Then, at a next block 315, the image search server filters
images with adult content from the images selected using search
strings and/or search images with adult content. Then, the image
search server lists the images selected from the two tables using
search string and two tables using search image to form a plurality
of search result pages, each containing a certain portion of each
table. At a final block 317, the image search server delivers a
first search result page containing a first few of the selected,
sorted and filtered images using the search string, and a first few
selected, sorted and filtered images using the search image, within
one or more chosen or automatically determined categories.
[0047] FIG. 4 is a flow diagram illustrating exemplary
functionality of the image search server of FIG. 1 upon delivering
an image search server's web page, in accordance with the present
invention. The functionality begins at a block 409 when the image
search server's web page is delivered to the web browser of the
client device upon request. The web page may be the image search
server's first web page that initiates a new search session via a
new search string and/or new search image or subsequent search
result pages of images. The first web page typically contains
provisions to enter a search string, search image as well as
buttons that facilitate characteristic analysis (`characteristic
analysis` button), image search (`image search` button), viewing of
a subsequent search result page (`next` button) and viewing of a
previous search result page (`prev` button). Similarly, the
subsequent search result pages of images contain provisions to
enter new search string, select a displayed image as a new search
image, upload a new search image, analyze a selected image (by
selecting a image and clicking on `characteristic analysis` button)
as well as `image search` button, `next` button and `prev`
button.
[0048] Then, at a next decision block 421, the image search server
determines if `characteristic analysis` button is clicked by the
user in the delivered image search server's web page. If yes, at a
next block 455, the image search server performs characteristic
analysis and delivers the results to the web browser. The image
characteristic parameter(s) may be delivered in a pop up window or
the image window itself, either in a table format or graphically
with numbers displayed along with the image. After delivering image
characteristic parameter(s) at the block 455, the image search
server waits for new inputs from the user of the client device.
[0049] If `characteristic analysis` button is not clicked at the
decision block 421, then, at a next decision block 423, the image
search server determines if `prev` button is clicked. If yes, at a
next block 457, the images search server delivers an exact previous
search result page and waits for new inputs from the user of the
client device. In case of the image search server's first web page,
the `prev` button is disabled since no previous pages are
available. If `prev` button is not clicked at the decision block
423, then, at a next decision block 425, the image search server
determines if `next` button is clicked. If yes, at a next block
459, the images search server delivers a subsequent search result
page and waits for new inputs from the user of the client
device.
[0050] If `next` button is not clicked at the decision block 425,
then, at a next decision block 427, the image search server
determines if `search image` button is clicked. If not, the image
search server waits for new inputs from the user of the client
device. If yes at the decision block 427, then the image server
begins processing of a new search criteria, based upon a search
string and/or search image at `A` (refer to the FIG. 5 for
continuation).
[0051] FIG. 5 is a flow diagram illustrating exemplary
functionality of the image search server of FIG. 1, continued from
FIG. 4. The processing of a new search criteria starts at `A`, when
at a block 461, the image search server receives a search string
and/or search image, and a selected category or selected
categories, if any, from the client device. At a next block 463,
the image search server performs characteristic analysis and
determines the characteristic parameter(s) of the search image. If
categories are selected by the user, at a next block 465, the image
search server selects (retrieves) images that belong to the
selected category or categories (if any) for further processing. If
one or more of categories are not selected by the user and if the
user decides that let the image search server do it, then the image
search server selects one or more categories based upon the
characteristic parameter(s) of the search image.
[0052] Then, at a next block 467, the image search server matches
words of search string with that of titles of images in the
database. At a next block 469, the image search server selects
images from the image database that closely match (for example,
above predetermined threshold). The process of selecting images
starts when the matched images in the image database are sorted on
the basis of closeness in match to generate a table containing
columns of images titles, web links associated with the images and
closeness in match. The image search server also creates another
table that contains images titles, web links associated with the
images and closeness in match that is sorted on the basis of
popularity.
[0053] At a next block 471, the image search server correlates
characteristic parameter(s) of the search image with that of the
plurality of images in the database. Then, at a next block 473, the
image search server selects images from the image database that
closely correlate (for example, above a predetermined threshold).
The image selection process using the search image involves
creating a table containing image titles, associated web links and
closeness in correlation among other columns, and then sorting the
table on the basis of closeness in correlation. In another table,
the image search server sorts the first few images that closely
correlate on the basis of popularity. Thus, in a representative
embodiment, the image search server creates two or four tables,
depending upon the availability of the search string or search
image.
[0054] Then, at a next block 475, the image search server receives
one or more adult content filtering parameters from the client
device. The adult content filtering parameter(s) may be received
when a search process is initiated or any time after that. At a
next block 477, the image search server performs filtering of
images that are sorted in the two or four tables with adult content
from the images selected using search strings and/or search images
with adult content.
[0055] At a next block 479, the image search server lists and
generates a single table containing images to form a plurality of
search result pages, from the two tables based upon the search
string and two tables based upon the search image. The image search
server generates this listing in a mutually exclusive manner so
that none of the images in any of the search result pages is
repeated. At a final block 481, the image search server delivers a
search result page containing first few images based upon the
search string and first few images based upon the search image.
Then, the image search server waits for user response, at `B`
(refer to FIG. 4). This process continues until the user abandons
the search.
[0056] FIG. 6 is an exemplary schematic diagram illustrating a snap
shot of search interface web page of the image search server of
FIG. 1. Specifically, the exemplary snap shot illustrated shows an
image search server's first web page delivered to a web browser 635
of the client device to facilitate a user's image search. The image
search server's first web page may contain a page title such as
`Search Engine's web page (www.Search_Engine.com)` 621, and the
`image search` 683 and `characteristic analysis` 699 buttons.
[0057] In addition, text such as `Enter Search String:` 671 and
text box 681 are provided to facilitate user's search. An
additional image window is provided for the user to cut and paste
or upload search image. Text such as `Cut and Paste Figure Here:`
693 and `Upload Figure:` 695 is provided to facilitate user's image
search. Helpful note text informs the user about the functioning of
the image search engine of the present invention, such as `Note:
This image search engine searches for images based upon a search
string and/or search image. "Characteristic Analysis" button
provides feature analysis of the Figure, "Category" provides
selection within image categories.` may be provided with the image
search server's first web page.
[0058] The user may enter the search string in the text box 681,
such as `Children Art` 673. The user may search on the basis of the
search string alone. The image search server (169 of FIG. 1)
provides images, in this case, based upon match in the words of the
search string (Children and Art, in this illustration) with those
of titles of the images that are stored in the image database. In
addition, the user may provide a search image. This may be done by
cutting from some other image tool (painting or image software, for
example) and pasting it on to the window provided in the search
engine's web page. Alternatively, the user may upload the image to
the image window using the upload text box and by providing the
address of the image file in the client device
(`C:/Images/boat.jpg` 697, in the illustration). The uploaded image
appears in the image window once `upload image` button 657 is
clicked.
[0059] In addition, the image search server's first web page also
contains provision for user category selection 655. The category
selection provision allows a user to select some of plurality of
options such as `Let SE (Search Engine) Determine`, `All
Categories`, `Cartoon`, `Portrait`, `Landscape`, `Graphics` and
`Architecture`. The `Let SE (Search Engine) Determine` option
allows the image search server to determine one or more categories
automatically based upon characteristic parameters of the search
image. The `All Categories` selection allows the image search
server to search from all of the images in the database. Other
selections allow image searches that are specific to the selected
category. Though the illustration shows single selections, in other
embodiments, it is possible to select multiple categories. The
`characteristic analysis` button allows user to view the
characteristic parameters of the image in the image window, either
in the form of a table or graphically. Once either or both of the
search string 673 and search image are provided to the web page,
the user may click on `image search` button 683. The web browser
635 sends the search string 673 and/or search image to the image
search server for further processing.
[0060] FIG. 7 is an exemplary schematic diagram illustrating snap
shot of a first image search result page based upon a search string
and a search image. Specifically, the exemplary snap shot
illustrated shows a first search result page 705 delivered to web
browser 735 of the client device, containing selected searched
images, on the basis of a search string/search image. The first
search result page delivered may contain a page title such as
`Search Engine's Search Result Page (www.Search_Engine.com)`
721.
[0061] A text such as `Enter Search String:` 771 and text box 781
are provided to facilitate user's further search. An additional
image window shows searched images, which are selectable for
further search. That is, the image window contains a series of
images delivered by the image search server (169 of FIG. 1). For
example, the image window illustrated may contain a set of 16
images; in four rows and four columns. Each of the four rows may,
for example, contain: (i) images sorted on the basis of closeness
in correlation to the search image, within the selected categories;
(ii) images sorted on the basis of popularity within the first few
closely correlated images in (i), within the selected category or
categories; (iii) images sorted on the basis of closeness in match
between the word(s) in the titles of the plurality of images, in
the image database, to that or those of a search string, within the
selected category or categories; and (iv) images sorted on the
basis of popularity within the first few closely matched images in
(iii), within the selected category or categories, respectively.
The images in the image window may also have different portions of
one of the four possibilities mentioned above, in other
embodiments.
[0062] The image window facilitates the ability of a user to select
any of the displayed images for further search. The illustration
shows a second image being selected. Once selected, the user may
click on the `image search` button 783 to initiate a new search
based upon a selected search image and entered search string in the
text box 781. Similarly, the user may click on `characteristic
analysis` button 799 to view the characteristic parameter(s) of the
image selected. The illustration shows a search string in the text
box 781 as `Children Art` 773, selected image as a second one in
the first row. Alternatively, the user may upload a new image to
the image window using the upload text box 797, and by providing
the address of the image in the client device (`C:/Images/boat.jpg`
797, in the illustration). The uploaded image appears in the image
window once an `upload image` button 757 is clicked. Text such as
`Select Figure for a New Search:` 793 and `Upload New Figure:` 795
are provided to guide the user toward a new search.
[0063] The first search result page also contains provision for
user category selection 755, if a new search is to be initiated
(based upon a selected image). The category selection provision
allows user to select some of plurality of options such as `Let SE
(Search Engine) Determine`, `All Categories`, `Cartoon`,
`Portrait`, `Landscape`, `Graphics` and `Architecture`. Though the
illustration shows single selections, in another embodiment, it is
possible to select multiple categories. The search result page also
contains the `prev` 785 and `next` 789 buttons to access prior
displayed search result pages and the subsequent search result
pages, respectively. By clicking on the title or double clicking on
the image, the user may be able watch the corresponding image in
its original size in a pop-up window. Helpful note text informs the
user about the functioning of the image search engine of the
present invention, such as `Note: "Characteristic Analysis" button
provides feature analysis of the Figure, "Category" provides
selection within image categories.` may also be provided.
[0064] The terms "circuit" and "circuitry" as used herein may refer
to an independent circuit or to a portion of a multifunctional
circuit that performs multiple underlying functions. For example,
depending on the embodiment, processing circuitry may be
implemented as a single chip processor or as a plurality of
processing chips Likewise, a first circuit and a second circuit may
be combined in one embodiment into a single circuit or, in another
embodiment, operate independently perhaps in separate chips. The
term "chip", as used herein, refers to an integrated circuit.
Circuits and circuitry may comprise general or specific purpose
hardware, or may comprise such hardware and associated software
such as firmware or object code.
[0065] As one of ordinary skill in the art will appreciate, the
terms "operably coupled" and "communicatively coupled," as may be
used herein, include direct coupling and indirect coupling via
another component, element, circuit, or module where, for indirect
coupling, the intervening component, element, circuit, or module
does not modify the information of a signal but may adjust its
current level, voltage level, and/or power level. As one of
ordinary skill in the art will also appreciate, inferred coupling
(i.e., where one element is coupled to another element by
inference) includes direct and indirect coupling between two
elements in the same manner as "operably coupled" and
"communicatively coupled."
[0066] The present invention has also been described above with the
aid of method steps illustrating the performance of specified
functions and relationships thereof. The boundaries and sequence of
these functional building blocks and method steps have been
arbitrarily defined herein for convenience of description.
Alternate boundaries and sequences can be defined so long as the
specified functions and relationships are appropriately performed.
Any such alternate boundaries or sequences are thus within the
scope and spirit of the claimed invention.
[0067] The present invention has been described above with the aid
of functional building blocks illustrating the performance of
certain significant functions. The boundaries of these functional
building blocks have been arbitrarily defined for convenience of
description. Alternate boundaries could be defined as long as the
certain significant functions are appropriately performed.
Similarly, flow diagram blocks may also have been arbitrarily
defined herein to illustrate certain significant functionality. To
the extent used, the flow diagram block boundaries and sequence
could have been defined otherwise and still perform the certain
significant functionality. Such alternate definitions of both
functional building blocks and flow diagram blocks and sequences
are thus within the scope and spirit of the claimed invention.
[0068] One of average skill in the art will also recognize that the
functional building blocks, and other illustrative blocks, modules
and components herein, can be implemented as illustrated or by
discrete components, application specific integrated circuits,
processors executing appropriate software and the like or any
combination thereof.
[0069] Moreover, although described in detail for purposes of
clarity and understanding by way of the aforementioned embodiments,
the present invention is not limited to such embodiments. It will
be obvious to one of average skill in the art that various changes
and modifications may be practiced within the spirit and scope of
the invention, as limited only by the scope of the appended
claims.
* * * * *