U.S. patent application number 14/869554 was filed with the patent office on 2016-01-21 for identifying multimedia objects based on multimedia fingerprint.
The applicant listed for this patent is DOLBY LABORATORIES LICENSING CORPORATION. Invention is credited to Claus Bauer, Mingqing Hu, Lie Lu.
Application Number | 20160019671 14/869554 |
Document ID | / |
Family ID | 48190097 |
Filed Date | 2016-01-21 |
United States Patent
Application |
20160019671 |
Kind Code |
A1 |
Bauer; Claus ; et
al. |
January 21, 2016 |
IDENTIFYING MULTIMEDIA OBJECTS BASED ON MULTIMEDIA FINGERPRINT
Abstract
Embodiments of identifying multimedia objects based on
multimedia fingerprints are provided. Query fingerprints are
derived from a multimedia object according to differing fingerprint
algorithms. For each fingerprint algorithm, decisions are
calculated through at least one classifier corresponding to the
fingerprint algorithm based on the query fingerprint and reference
fingerprints, the reference fingerprints being derived from
reference multimedia objects according to the same fingerprint
algorithm. Each of the decisions indicates a possibility that the
query fingerprint and the reference fingerprint are not derived
from the same multimedia content. For each of the reference
multimedia objects, a distance is calculated as a weighted sum of
the decisions relating to the reference fingerprints. The
multimedia object is identified as matching the reference
multimedia object with the smallest distance less than a
threshold.
Inventors: |
Bauer; Claus; (Beijing,
CN) ; Lu; Lie; (Beijing, CN) ; Hu;
Mingqing; (Beijing, CN) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
DOLBY LABORATORIES LICENSING CORPORATION |
SAN FRANCISCO |
CA |
US |
|
|
Family ID: |
48190097 |
Appl. No.: |
14/869554 |
Filed: |
September 29, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13854276 |
Apr 1, 2013 |
9202255 |
|
|
14869554 |
|
|
|
|
61625889 |
Apr 18, 2012 |
|
|
|
Current U.S.
Class: |
382/100 |
Current CPC
Class: |
G06K 9/6292 20130101;
G06T 1/0021 20130101; G06F 16/783 20190101; G06F 16/583 20190101;
G06F 16/285 20190101; G06K 9/00744 20130101; G06F 16/23 20190101;
G06F 16/683 20190101; G06F 16/43 20190101 |
International
Class: |
G06T 1/00 20060101
G06T001/00; G06F 17/30 20060101 G06F017/30; G06K 9/62 20060101
G06K009/62 |
Claims
1. An apparatus for identifying a multimedia object, comprising: an
acquiring unit, implemented at least in part by one or more
computing processors, that acquires query fingerprints f.sub.q,1 to
f.sub.q,T which are derived from the multimedia object according to
fingerprint algorithms F.sub.1 to F.sub.T respectively, where the
fingerprint algorithms F.sub.1 to F.sub.T are different from each
other, and T>1; a plurality of classifying units, wherein each
fingerprint algorithm F.sub.t corresponds to at least one of the
classifying units, and each of the classifying units, implemented
at least in part by one or more computing processors, calculates
decisions through a classifier based on the query fingerprint
f.sub.q,t and reference fingerprints derived from a plurality of
reference multimedia objects according to the fingerprint algorithm
F.sub.t, each of the decisions indicating a possibility that the
query fingerprint and the reference fingerprint for calculating the
decision are not derived from the same multimedia content; and a
combining unit, implemented at least in part by one or more
computing processors, that, for each of the reference multimedia
objects, calculates a distance D as a weighted sum of the decisions
relating to the reference fingerprints derived from the reference
multimedia object according to the fingerprint algorithms F.sub.1
to F.sub.T respectively; and an identifying unit, implemented at
least in part by one or more computing processors, that identifies
the multimedia object as matching the reference multimedia object
with the smallest distance which is less than a threshold TH.sub.c;
wherein for each of at least one of the classifiers, the
fingerprints for the classifier are derived as hash values, and the
corresponding classifying unit further calculates the decisions
through the classifier based on the query fingerprint and the
reference fingerprints by: calculating a distance d between the
query fingerprint and each of the reference fingerprints; and
calculating the decisions by deciding that at least one of the
reference fingerprints with the distance d less than a threshold
and the query fingerprint are derived from the same multimedia
content.
2. The apparatus according to claim 1, wherein each fingerprint
algorithms F.sub.t corresponds to only one of the classifying
units.
3. The apparatus according to claim 1, wherein the multimedia
object includes a number W of objects which are synchronous with
each other, and each of the reference multimedia objects includes
the number W of objects which are synchronous with each other,
where W>1, and wherein for each of the W objects in the
multimedia object and the reference multimedia objects, at least
one of the fingerprints is derived from the object according to the
same fingerprint algorithm respectively.
4. The apparatus according to claim 1, wherein each of the hash
values is divided into weak bits and reliable bits, where the weak
bits are likely to flip when the multimedia object, from which the
fingerprint is derived, is modified, and the reliable bits are less
likely to flip as a result of content modification.
5. An apparatus for training a model for identifying multimedia
objects, comprising: a fingerprint calculator, implemented at least
in part by one or more computing processors, that, for each of one
or more samples including a training query multimedia object, a
training reference multimedia object and a mark indicating whether
the training query multimedia object matches the training reference
multimedia object or not, derives training query fingerprints from
the training query multimedia object according to fingerprint
algorithms F.sub.1 to F.sub.G respectively, where the fingerprint
algorithms F.sub.1 to F.sub.G are different from each other, and
G>1, and derives training reference fingerprints from the
training reference multimedia object according to the fingerprint
algorithms F.sub.1 to F.sub.G respectively; and a training unit,
implemented at least in part by one or more computing processors,
that: for each fingerprint algorithm F.sub.t, generates at least
one candidate classifier based on the training query fingerprints
and the training reference fingerprints derived according to the
fingerprint algorithm F.sub.t, the candidate classifier being
adapted to calculate a decision for any two fingerprints derived
according to the fingerprint algorithm F.sub.t, which indicates a
possibility that the two fingerprints are not derived from the same
multimedia content; and generates the model including a weighted
sum of classifiers selected from the candidate classifiers and a
threshold TH.sub.c for evaluating the weighted sum such that the
identifying error obtained by applying the model to the training
query fingerprints and the training reference fingerprints derived
from the samples is minimized; wherein for each of at least one of
the candidate classifiers, the fingerprints for generating the
candidate classifier are derived as hash values, and the candidate
classifier is adapted to: calculate a distance d between the
training query fingerprint and each of a set of training reference
fingerprints, and calculate the decisions by deciding that at least
one of the training reference fingerprints with the distance d less
than a threshold and the training query fingerprint are derived
from the same multimedia content, and wherein at least two
candidate thresholds for calculating the decisions are provided and
the candidate threshold resulting in the smallest identifying error
is selected as the threshold for the candidate classifier.
6. The apparatus according to claim 5, wherein the selected
classifiers in the generated model correspond to more than one
fingerprint algorithm.
7. The apparatus according to claim 5, wherein the classifiers are
generated and selected through an Adaboost method.
8. The apparatus according to claim 7, wherein weights of the
selected classifiers in the weighted sum are determined through the
Adaboost method.
9. The apparatus according to claim 5, wherein the generation of
the model comprises: providing at least two sets of candidate
weights of the selected classifiers in the weighted sum; and
selecting the set of candidate weights resulting in the smallest
identifying error as the weights of the selected classifiers in the
weighted sum.
10. The apparatus according to claim 5, wherein for each
fingerprint algorithm F.sub.t, only one classifier is selected.
11. The apparatus according to claim 5, wherein the fingerprints
for generating the candidate classifier are derived as hash values,
each of the hash values is divided into weak bits and reliable
bits, where the weak bits are likely to flip when the multimedia
object, from which the fingerprint is derived, is modified, and the
reliable bits are less likely to flip as a result of content
modification.
12. The apparatus according to claim 5, wherein each of the
training query multimedia objects includes a number W of objects
which are synchronous with each other, and each of the training
reference multimedia objects includes the number W of objects which
are synchronous with each other, where W>1, and wherein for each
of the W objects in the training query multimedia objects and the
training reference multimedia objects, at least one of the
fingerprints is derived from the object according to the same
fingerprint algorithm respectively.
13. A method of identifying a multimedia object, comprising:
acquiring query fingerprints f.sub.q,1 to f.sub.q,T which are
derived from the multimedia object according to fingerprint
algorithms F.sub.1 to F.sub.T respectively, where the fingerprint
algorithms F.sub.1 to F.sub.T are different from each other, and
T>1; for each fingerprint algorithm F.sub.t, calculating
decisions through each of at least one classifier corresponding to
the fingerprint algorithm F.sub.t based on the query fingerprint
f.sub.q,t and reference fingerprints derived from a plurality of
reference multimedia objects according to the fingerprint algorithm
F.sub.t, each of the decisions indicating a possibility that the
query fingerprint and the reference fingerprint for calculating the
decision are not derived from the same multimedia content; for each
of the reference multimedia objects, calculating a distance D as a
weighted sum of the decisions relating to the reference
fingerprints derived from the reference multimedia object according
to the fingerprint algorithms F.sub.1 to F.sub.T respectively; and
identifying the multimedia object as matching the reference
multimedia object with the smallest distance which is less than a
threshold TH.sub.c; wherein for each of at least one of the
classifiers, the fingerprints for the classifier are derived as
hash values, and wherein the decisions are calculated based on the
query fingerprint and the reference fingerprints by: calculating a
distance d between the query fingerprint and each of the reference
fingerprints; and calculating the decisions by deciding that at
least one of the reference fingerprints with the distance d less
than a threshold and the query fingerprint are derived from the
same multimedia content.
14. The method according to claim 13, wherein each fingerprint
algorithms F.sub.t corresponds to only one classifying unit.
15. The method according to claim 13, wherein the multimedia object
includes a number W of objects which are synchronous with each
other, and each of the reference multimedia objects includes the
number W of objects which are synchronous with each other, where
W>1, and wherein for each of the W objects in the multimedia
object and the reference multimedia objects, at least one of the
fingerprints is derived from the object according to the same
fingerprint algorithm respectively.
16. The method according to claim 13, wherein each of the hash
values is divided into weak bits and reliable bits, where the weak
bits are likely to flip when the multimedia object, from which the
fingerprint is derived, is modified, and the reliable bits are less
likely to flip as a result of content modification.
17. A method of training a model for identifying multimedia
objects, comprising: for each of one or more samples including a
training query multimedia object, a training reference multimedia
object and a mark indicating whether the training query multimedia
object matches the training reference multimedia object or not,
deriving training query fingerprints from the training query
multimedia object according to fingerprint algorithms F.sub.1 to
F.sub.G respectively, where the fingerprint algorithms F.sub.t to
F.sub.G are different from each other, and G>1; deriving
training reference fingerprints from the training reference
multimedia object according to the fingerprint algorithms F.sub.1
to F.sub.G respectively; and for each fingerprint algorithm
F.sub.t, generating at least one candidate classifier based on the
training query fingerprints and the training reference fingerprints
derived according to the fingerprint algorithm F.sub.t, the
candidate classifier being adapted to calculate a decision for any
two fingerprints derived according to the fingerprint algorithm
F.sub.t, which indicates a possibility that the two fingerprints
are not derived from the same multimedia content; generating the
model including a weighted sum of classifiers selected from the
candidate classifiers and a threshold TH.sub.c for evaluating the
weighted sum such that the identifying error obtained by applying
the model to the training query fingerprints and the training
reference fingerprints derived from the samples is minimized;
wherein for each of at least one of the candidate classifiers, the
fingerprints for generating the candidate classifier are derived as
hash values, and the candidate classifier is adapted to: calculate
a distance d between the training query fingerprint and each of a
set of training reference fingerprints, and calculate the decisions
by deciding that at least one of the training reference
fingerprints with the distance d less than a threshold and the
training query fingerprint are derived from the same multimedia
content, and wherein at least two candidate thresholds for
calculating the decisions are provided and the candidate threshold
resulting in the smallest identifying error is selected as the
threshold for the candidate classifier.
18. The method according to claim 17, wherein each fingerprint
algorithms F.sub.t corresponds to only one classifying unit.
19. The method according to claim 17, wherein the multimedia object
includes a number W of objects which are synchronous with each
other, and each of the reference multimedia objects includes the
number W of objects which are synchronous with each other, where
W>1, and wherein for each of the W objects in the multimedia
object and the reference multimedia objects, at least one of the
fingerprints is derived from the object according to the same
fingerprint algorithm respectively.
20. The method according to claim 17, wherein the selected
classifiers in the generated model correspond to more than one
fingerprint algorithm.
21. The method according to claim 17, wherein the classifiers are
generated and selected through an Adaboost method.
22. The method according to claim 21, wherein weights of the
selected classifiers in the weighted sum are determined through the
Adaboost method.
23. The method according to claim 17, wherein the generation of the
model comprises: providing at least two sets of candidate weights
of the selected classifiers in the weighted sum; and selecting the
set of candidate weights resulting in the smallest identifying
error as the weights of the selected classifiers in the weighted
sum.
24. The method according to claim 17, wherein for each fingerprint
algorithm F.sub.t, only one classifier is selected.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims benefit as a Divisional of
application Ser. No. 13/854,276, filed 1 Apr. 2013, which claims
priority to U.S. Provisional Patent Application No. 61/625,889
filed on 18 Apr. 2012 entitled "Identifying Multimedia Objects
Based on Multimedia Fingerprint" by Claus Bauer et. al., the entire
contents of the aforementioned are hereby incorporated by reference
as if fully set forth herein, under 35 U.S.C. .sctn.120 and 121.
The applicant(s) hereby rescind any disclaimer of claim scope in
the parent application(s) or the prosecution history thereof and
advise the USPTO that the claims in this application may be broader
than any claim in the parent application(s).
TECHNICAL FIELD
[0002] The present invention relates generally to digital signal
processing. More specifically, embodiments of the present invention
relate to identifying multimedia objects based on multimedia
fingerprints.
BACKGROUND
[0003] A multimedia (e.g., audio, video or image) fingerprint is a
content-based compact signature that summarizes a multimedia
recording. Multimedia fingerprinting technologies have been widely
investigated and are increasingly used for various applications
since they allow the monitoring of multimedia objects independently
of its format and without the need of metadata or watermark
embedding. In an example of the applications, given a fingerprint
derived from a multimedia recording (e.g., audio or video), a
matching algorithm searches a database of fingerprints to find the
best match.
[0004] Various fingerprint algorithms to derive multimedia
fingerprints have been proposed. Multimedia fingerprints can be
described as low-bit rate identifiers that uniquely identify even
small segments of a multimedia recording such as an audio file, a
video file or an image file. A recording or segment which a
fingerprint is derived from is also called as a multimedia object
hereafter.
[0005] Fingerprints based on different fingerprint algorithms
differ in the degree of robustness to content modifications and
sensitivity to content change. In general, fingerprints are
designed in a way that increased fingerprint robustness leads to a
decrease in content sensitivity and vice-versa. It is difficult to
achieve high robustness and high sensitivity with one fingerprint
algorithm.
SUMMARY
[0006] According to an embodiment of the invention, a method of
identifying a multimedia object is provided. According to the
method, query fingerprints f.sub.q,1 to f.sub.q,T are acquired. The
query fingerprints are derived from the multimedia object according
to fingerprint algorithms F.sub.1 to F.sub.T respectively. The
fingerprint algorithms F.sub.1 to F.sub.T are different from each
other, and T>1. For each fingerprint algorithm F.sub.t,
decisions, are calculated using at least one classifier
corresponding to the fingerprint algorithm F.sub.t based on the
query fingerprint f.sub.q,t and reference fingerprints derived from
a plurality of reference multimedia objects according to the
fingerprint algorithm F.sub.t. Each of the decisions may indicate a
possibility that the query fingerprint and the reference
fingerprint for calculating the decision are not derived from the
same multimedia content. For each of the reference multimedia
objects, a distance D is calculated as a weighted sum of the
decisions relating to the reference fingerprints derived from the
reference multimedia object according to the fingerprint algorithms
F.sub.1 to F.sub.T respectively. Accordingly, the multimedia object
is identified as matching the reference multimedia object with the
smallest distance which is less than a threshold TH.sub.c. The
matching between two multimedia objects means that the multimedia
objects can be identified as the same multimedia content.
[0007] According to an embodiment of the invention, an apparatus
for identifying a multimedia object is provided. The apparatus
includes an acquiring unit, a plurality of classifying units, a
combining unit and an identifying unit. Each fingerprint algorithm
F.sub.t corresponds to at least one of the classifying units. The
acquiring unit is configured to acquire query fingerprints
f.sub.q,1 to f.sub.q,T. The query fingerprints are derived from the
multimedia object according to the fingerprint algorithms F.sub.1
to F.sub.T respectively. The fingerprint algorithms F.sub.1 to
F.sub.T are different from each other, and T>1. Each of the
classifying units is configured to calculate decisions through a
classifier based on the query fingerprint f.sub.q,t and reference
fingerprints derived from a plurality of reference multimedia
objects according to the fingerprint algorithm F.sub.t. Each of the
decisions may indicate a possibility that the query fingerprint and
the reference fingerprint for calculating the decision are not
derived from the same multimedia content. The combining unit is
configured to, for each of the reference multimedia objects,
calculate a distance D as a weighted sum of the decisions relating
to the reference fingerprints derived from the reference multimedia
object according to the fingerprint algorithms F.sub.1 to F.sub.T
respectively. The identifying unit is configured to identify the
multimedia object as matching the reference multimedia object with
the smallest distance which is less than a threshold TH.sub.c.
[0008] According to an embodiment of the invention, a method of
training a model for identifying multimedia objects is provided.
This method uses training data provided as samples. According to
the method, each of one or more samples includes a training query
multimedia object, a training reference multimedia object and a
mark indicating whether the training query multimedia object
matches the training reference multimedia object or not. For each
sample, training query fingerprints are derived from the training
query multimedia object according to fingerprint algorithms F.sub.1
to F.sub.G respectively. The fingerprint algorithms F.sub.1 to
F.sub.G are different from each other, and G>1. For each sample,
also, training reference fingerprints are derived from the training
reference multimedia object according to the fingerprint algorithms
F.sub.1 to F.sub.G respectively. For each fingerprint algorithm
F.sub.t, at least one candidate classifier is generated based on
the training query fingerprints and the training reference
fingerprints derived according to the fingerprint algorithm
F.sub.t. The candidate classifier is adapted to calculate a
decision for any two fingerprints derived according to the
fingerprint algorithm F.sub.t. The decision may indicate a
possibility that the two fingerprints are not derived from the same
multimedia content. The model is generated as including a weighted
sum of classifiers selected from the candidate classifiers and a
threshold TH.sub.c for evaluating the weighted sum, such that the
identifying error obtained by applying the model to the training
query fingerprints and the training reference fingerprints derived
from the samples is minimized. The selected classifiers in the
generated model may or may not correspond to more than one
fingerprinting algorithm. It is possible, that for some of the
fingerprint algorithms no classifier is selected.
[0009] According to an embodiment of the invention, an apparatus
for training a model for identifying multimedia objects is
provided. The apparatus includes a fingerprint calculator and a
training unit. The apparatus is provided with a set of samples.
Each of one or more samples includes a training query multimedia
object, a training reference multimedia object and a mark
indicating whether the training query multimedia object matches the
training reference multimedia object or not. For each sample, the
fingerprint calculator is configured to derive training query
fingerprints from the training query multimedia object according to
fingerprint algorithms F.sub.1 to F.sub.G respectively. The
fingerprint algorithms F.sub.1 to F.sub.G are different from each
other, and G>1. The fingerprint calculator is also configured to
derive training reference fingerprints from the training reference
multimedia object according to the fingerprint algorithms F.sub.1
to F.sub.G respectively. For each fingerprint algorithm F.sub.t,
the training unit is configured to generate at least one candidate
classifier based on the training query fingerprints and the
training reference fingerprints derived according to the
fingerprint algorithm F.sub.t. The candidate classifier is adapted
to calculate a decision for any two fingerprints derived according
to the fingerprint algorithm F.sub.t. The decision may indicate a
possibility that the two fingerprints are not derived from the same
multimedia content. The training unit is further configured to
generate the model including a weighted sum of classifiers selected
from the candidate classifiers and a threshold TH.sub.c for
evaluating the weighted sum, such that the identifying error
obtained by applying the model to the training query fingerprints
and the training reference fingerprints derived from the samples is
minimized. The selected classifiers in the generated model may or
may not correspond to more than one fingerprinting algorithm. It is
possible, that for some of the fingerprint algorithms no classifier
is selected.
[0010] Further features and advantages of the invention, as well as
the structure and operation of various embodiments of the
invention, are described in detail below with reference to the
accompanying drawings. It is noted that the invention is not
limited to the specific embodiments described herein. Such
embodiments are presented herein for illustrative purposes only.
Additional embodiments will be apparent to persons skilled in the
relevant art(s) based on the teachings contained herein.
BRIEF DESCRIPTION OF DRAWINGS
[0011] The present invention is illustrated by way of example, and
not by way of limitation, in the figures of the accompanying
drawings and in which like reference numerals refer to similar
elements and in which:
[0012] FIG. 1 is a block diagram illustrating an example apparatus
for identifying a multimedia object according to an embodiment of
the invention;
[0013] FIG. 2 is a flow chart illustrating an example method of
identifying a multimedia object according to an embodiment of the
invention;
[0014] FIG. 3 depicts pseudo codes for illustrating an example
process of searching a tree according to an example;
[0015] FIG. 4 is a block diagram illustrating an example apparatus
for training a model for identifying multimedia objects according
to an embodiment of the invention;
[0016] FIG. 5 is a flow chart illustrating an example process of
Adaboosting method according to an embodiment of the invention;
[0017] FIG. 6 is a flow chart illustrating an example method of
training a model for identifying multimedia objects according to an
embodiment of the invention; and
[0018] FIG. 7 is a block diagram illustrating an exemplary system
for implementing embodiments of the present invention.
DETAILED DESCRIPTION
[0019] The embodiments of the present invention are below described
by referring to the drawings. It is to be noted that, for purpose
of clarity, representations and descriptions about those components
and processes known by those skilled in the art but not necessary
to understand the present invention are omitted in the drawings and
the description.
[0020] As will be appreciated by one skilled in the art, aspects of
the present invention may be embodied as a system, a device (e.g.,
a cellular telephone, portable media player, personal computer,
television set-top box, or digital video recorder, or any media
player), a method or a computer program product. Accordingly,
aspects of the present invention may take the form of an entirely
hardware embodiment, an entirely software embodiment (including
firmware, resident software, microcode, etc.) or an embodiment
combining software and hardware aspects that may all generally be
referred to herein as a "circuit," "module" or "system."
Furthermore, aspects of the present invention may take the form of
a computer program product embodied in one or more computer
readable medium(s) having computer readable program code embodied
thereon.
[0021] Any combination of one or more computer readable medium(s)
may be utilized. The computer readable medium may be a computer
readable signal medium or a computer readable storage medium. A
computer readable storage medium may be, for example, but not
limited to, an electronic, magnetic, optical, electromagnetic,
infrared, or semiconductor system, apparatus, or device, or any
suitable combination of the foregoing. More specific examples (a
non-exhaustive list) of the computer readable storage medium would
include the following: an electrical connection having one or more
wires, a portable computer diskette, a hard disk, a random access
memory (RAM), a read-only memory (ROM), an erasable programmable
read-only memory (EPROM or Flash memory), an optical fiber, a
portable compact disc read-only memory (CD-ROM), an optical storage
device, a magnetic storage device, or any suitable combination of
the foregoing. In the context of this document, a computer readable
storage medium may be any tangible medium that can contain, or
store a program for use by or in connection with an instruction
execution system, apparatus, or device.
[0022] A computer readable signal medium may include a propagated
data signal with computer readable program code embodied therein,
for example, in baseband or as part of a carrier wave. Such a
propagated signal may take any of a variety of forms, including,
but not limited to, electro-magnetic, optical, or any suitable
combination thereof.
[0023] A computer readable signal medium may be any computer
readable medium that is not a computer readable storage medium and
that can communicate, propagate, or transport a program for use by
or in connection with an instruction execution system, apparatus,
or device.
[0024] Program code embodied on a computer readable medium may be
transmitted using any appropriate medium, including but not limited
to wireless, wired line, optical fiber cable, RF, etc., or any
suitable combination of the foregoing.
[0025] Computer program code for carrying out operations for
aspects of the present invention may be written in any combination
of one or more programming languages, including an object oriented
programming language such as Java, Smalltalk, C++ or the like and
conventional procedural programming languages, such as the "C"
programming language or similar programming languages. The program
code may execute entirely on the users computer, partly on the
user's computer, as a stand-alone software package, partly on the
user's computer and partly on a remote computer or entirely on the
remote computer or server. In the latter scenario, the remote
computer may be connected to the users computer through any type of
network, including a local area network (LAN) or a wide area
network (WAN), or the connection may be made to an external
computer (for example, through the Internet using an Internet
Service Provider).
[0026] Aspects of the present invention are described below with
reference to flowchart illustrations and/or block diagrams of
methods, apparatus (systems) and computer program products
according to embodiments of the invention. It will be understood
that each block of the flowchart illustrations and/or block
diagrams, and combinations of blocks in the flowchart illustrations
and/or block diagrams, can be implemented by computer program
instructions. These computer program instructions may be provided
to a processor of a general purpose computer, special purpose
computer, or other programmable data processing apparatus to
produce a machine, such that the instructions, which execute via
the processor of the computer or other programmable data processing
apparatus, create means for implementing the functions/acts
specified in the flowchart and/or block diagram block or
blocks.
[0027] These computer program instructions may also be stored in a
computer readable medium that can direct a computer, other
programmable data processing apparatus, or other devices to
function in a particular manner, such that the instructions stored
in the computer readable medium produce an article of manufacture
including instructions which implement the function/act specified
in the flowchart and/or block diagram block or blocks.
[0028] The computer program instructions may also be loaded onto a
computer, other programmable data processing apparatus, or other
devices to cause a series of operational steps to be performed on
the computer, other programmable apparatus or other devices to
produce a computer implemented process such that the instructions
which execute on the computer or other programmable apparatus
provide processes for implementing the functions/acts specified in
the flowchart and/or block diagram block or blocks.
[0029] FIG. 1 is a block diagram illustrating an example apparatus
100 for identifying a multimedia object q according to an
embodiment of the invention.
[0030] A fingerprint algorithm may capture features, perceptual or
imperceptible, of a multimedia object and represent them in a bit
sequence called as a fingerprint of the multimedia object. The
accuracy of a fingerprint algorithm may be defined in terms of
robustness and sensitivity.
[0031] The robustness refers to the degree to which the fingerprint
is robust against content-preserving modification of the multimedia
object from which it is derived according to the fingerprint
algorithm. For an audio file, e.g., the modification may be a
transcoding of the content. For a video or image file, e.g., the
modification may be a rotation or a cropping of the video. The
content-preserving modification of the multimedia object does not
prevent a human being from recognizing that the modified multimedia
object and the unmodified multimedia object contain the same
content, and only lead to a relatively small change of the
fingerprint.
[0032] The sensitivity refers to the degree to which the
fingerprint is sensitive to changes of content. If the sensitivity
is higher, fingerprints derived from different multimedia contents
can differ more significantly.
[0033] Various multimedia fingerprint algorithms have been
proposed. These fingerprint algorithms differ in robustness to
content-preserving modifications and in sensitivity to content
changes. In general, fingerprint algorithms are designed in a way
that increased fingerprint robustness leads to a decrease in
content sensitivity, and vice-versa. Further, fingerprint
algorithms may differ by bitrate, i.e., the number of bits needed
to uniquely represent a multimedia object under specific robustness
and sensitivity requirements.
[0034] By using multiple fingerprint algorithms, it is possible to
identify a multimedia object as matching or not matching another
multimedia object with increased robustness and sensitivity, in
view of the fact that the fingerprint algorithms may be an
enhancement to each other in either robustness or sensitivity. In
most query scenarios, there is a set of multimedia objects which
are constant or temporarily constant. If another multimedia object
is present, a query request to identify whether the other
multimedia object matches one of the multimedia objects from the
set of multimedia objects is generated. Because the multimedia
objects of the set act as references in the query scenarios, they
are also called reference multimedia objects in the present
context. Correspondingly, the multimedia object to be identified is
also called as a query multimedia object in the present context.
Therefore, fingerprints derived from reference multimedia objects
and query multimedia objects are also called reference fingerprints
and query fingerprints respectively.
[0035] As illustrated in FIG. 1, the apparatus 100 includes an
acquiring unit 101, a number C>1 of classifying units 102-1 to
102-C, a combining unit 103 and an identifying unit 104.
[0036] The acquiring unit 101 is configured to acquire query
fingerprints f.sub.q,1 to f.sub.q,T which are derived from the
multimedia object q according to fingerprint algorithms F.sub.1 to
F.sub.T respectively, where T>1. In other words, each query
fingerprint f.sub.q,t, 1.ltoreq.t.ltoreq.T is derived from the
multimedia object q according to the fingerprint algorithm F.sub.t.
The fingerprint algorithms F.sub.1 to F.sub.T are different from
each other. In an embodiment of the apparatus 100, the query
fingerprints f.sub.q,1 to f.sub.q,T may be derived by the acquiring
unit 101. Alternatively, in another embodiment of the apparatus
100, the query fingerprints f.sub.q,1 to f.sub.q,T may be derived
at a location such as a client device external to the acquiring
unit 101, and the acquiring unit 101 receives the query
fingerprints f.sub.q,1 to f.sub.q,T from the location via a
connection such as bus, network or application-specific link.
[0037] Each fingerprint algorithm F.sub.t may correspond to at
least one of the classifying units 102-1 to 102-C. One fingerprint
algorithm may correspond to only one classifying unit, or may
correspond to more than one classifying unit. In an example, one or
more of the fingerprint algorithms F.sub.1 to F.sub.T may each
correspond to only one classifying unit. In another example, one or
more of the fingerprint algorithms F.sub.1 to F.sub.T may each
correspond to at least two classifying units. In case that a
fingerprint algorithm corresponds to a classifying unit, the
classifying unit may be applied to fingerprints derived according
to the fingerprint algorithm.
[0038] There is a set of reference multimedia object r.sub.1 to
r.sub.N. For each reference multimedia object r.sub.j, reference
fingerprints f.sub.r.sub.j.sub.,1 to f.sub.r.sub.j.sub.,T are
derived from the reference multimedia object r.sub.j according to
each fingerprint algorithm F.sub.t of the fingerprint algorithms
F.sub.1 to F.sub.T. Accordingly, each classifying unit 102-i,
1.ltoreq.i.ltoreq.C, corresponding to one of the fingerprint
algorithms F.sub.t, 1.ltoreq.t.ltoreq.T, is configured to calculate
decisions h.sub.i(q,r.sub.j), 1.ltoreq.j.ltoreq.N, through a
classifier based on the query fingerprint f.sub.q,t and the
reference fingerprints f.sub.r.sub.1.sub.,t to f.sub.r.sub.N.sub.,t
derived from the reference multimedia objects r.sub.1 to r.sub.N
according to the fingerprint algorithm F.sub.t. Each decision
h.sub.i(q,r.sub.j) indicates a possibility that the query
fingerprint f.sub.q,t and the reference fingerprint
f.sub.r.sub.j.sub.,t are not derived from the same multimedia
content. Consequently, all the classifying units may calculate
N.times.C decisions h.sub.i(q,r.sub.j), where 1.ltoreq.i.ltoreq.C,
1.ltoreq.j.ltoreq.N.
[0039] The classifier may be achieved through any algorithm for
identifying whether a fingerprint and another fingerprint are
derived from the same multimedia content or not. The algorithm
includes, but not limited to, identifying algorithms based on
machine learning, and identifying algorithms based on
searching.
[0040] In an example of identifying algorithms based on machine
learning, distances are calculated between the fingerprints derived
from positive and negative training samples, each of which includes
a training query multimedia object, a training reference multimedia
object and a mark indicating whether the training query multimedia
object matches the training reference multimedia object. A positive
sample means that it includes a mark indicating that the training
query multimedia object matches the training reference multimedia
object, and a negative sample means that it includes a mark
indicating that the training query multimedia object does not match
the training reference multimedia object. Parameters of the
algorithms which can minimize the identifying error are learned
from the distances derived from the objects, and therefore,
corresponding classifiers are generated. In case of identifying
through such a classifier, the distance required by the classifier
is calculated from a query fingerprint and a reference fingerprint,
and a decision is calculated with the classifier based on the
distance. Alternatively, the parameters may be determined
experientially, without learning.
[0041] In an example of identifying algorithms based on searching,
a set of training reference fingerprints are searched to find one
or more of them matching a training query fingerprint. Fingerprints
may be derived from positive and negative training samples, each of
which includes a training query multimedia object, a training
reference multimedia object and a mark indicating whether the
training query multimedia object matches the training reference
multimedia object. Parameters of the algorithms which can minimize
the identifying error are learned from the distances derived from
the objects, and therefore, corresponding classifiers are
generated. In case of identifying through such a classifier, the
reference fingerprints are searched to find one or more of them
matching a query fingerprint. Therefore, for the reference
fingerprint and the query fingerprint found as matching, it is
possible to make a decision that the reference fingerprint and the
query fingerprint are, or are likely derived from the same
multimedia content. For the reference fingerprint and the query
fingerprint not found as matching, it is possible to make a
decision that the reference fingerprint and the query fingerprint
are not, or are not likely derived from the same multimedia
content. Alternatively, the parameters may be determined
experientially, without selecting by comparison.
[0042] In case that at least two classifiers correspond to the same
fingerprint algorithm, the classifiers may include classifiers
based on the same identifying algorithm but having different
parameter configurations (e.g., different thresholds for
classifying), and/or classifiers based on different identifying
algorithms. Alternatively, each fingerprint algorithms F.sub.t may
correspond to only one classifying unit.
[0043] As an example of the identifying algorithm, in case of a
classifying unit 102-i adopting a classifier corresponding to the
fingerprint algorithm F.sub.t, a query fingerprint f.sub.q,t and a
reference fingerprint f.sub.r.sub.j.sub.,t are derived according to
the fingerprint algorithm F.sub.t, a distance
d.sub.i(f.sub.q,t,f.sub.r.sub.j.sub.,t), such as Hamming distance,
between the query fingerprint f.sub.q,t and the reference
fingerprint f.sub.r.sub.j.sub.,t is calculated. d.sub.i( ) is a
distance function about two fingerprints derived according to the
fingerprint algorithm F.sub.t. Then the decision h.sub.i(q,r.sub.j)
is calculated as
h i ( q , r j ) = { 1 if d i ( f q , t , f r j , t ) > Th i 0 if
d i ( f q , t , f r j , t ) .ltoreq. Th i ( 1 ) ##EQU00001##
where 1 indicates that the query fingerprint f.sub.q,t and the
reference fingerprint f.sub.r.sub.j.sub.,t are not derived from the
same multimedia content, 0 indicates that the query fingerprint
f.sub.q,t and the reference fingerprint f.sub.r.sub.j.sub.,t are
derived from the same multimedia content, and Th.sub.i is a
threshold associated with the classifier.
[0044] The decisions may be hard decisions indicating that the
query fingerprint and the reference fingerprint are not derived
from the same multimedia content (e.g., 1), or that the query
fingerprint and the reference fingerprint are derived from the same
multimedia content (e.g., 0). The decisions may also be soft
decisions indicating a probability that the query fingerprint and
the reference fingerprint are not derived from the same multimedia
content.
[0045] For each reference multimedia object r.sub.j, the combining
unit 103 is configured to calculate a distance D.sub.j as a
weighted sum of the decisions h.sub.1(q,r.sub.j) to
h.sub.C(q,r.sub.j) relating to the reference fingerprints
f.sub.r.sub.j.sub.,1 f.sub.r.sub.j.sub.,T derived from the
reference multimedia object r.sub.j according to the fingerprint
algorithms F.sub.1 to F.sub.T respectively, that is,
D j = i = 1 C w i h i ( q , r j ) ( 2 ) ##EQU00002##
where w.sub.i is the weight for the decision h.sub.i(q,r.sub.j). In
an example, all the weights w.sub.i may be equal. In another
example, the weights w.sub.i may be pre-trained based on training
samples.
[0046] For the N reference multimedia objects, N distances D.sub.1
to D.sub.N are calculated. The identifying unit 104 is configured
to identify the multimedia object q as matching the reference
multimedia object x with the smallest distance D.sub.x of the
distances D.sub.1 to D.sub.N, which is less than a threshold
TH.sub.c.
[0047] FIG. 2 is a flow chart illustrating an example method 200 of
identifying a multimedia object q (also called query multimedia
object q hereafter) according to an embodiment of the
invention.
[0048] As illustrated in FIG. 2, the method 200 starts from step
201. At step 203, query fingerprints f.sub.q,1 to f.sub.q,T are
acquired. The query fingerprints f.sub.q,1 to f.sub.q,T are derived
from the query multimedia object q according to fingerprint
algorithms F.sub.1 to F.sub.T respectively. In other words, each
query fingerprints f.sub.q,t is derived from the query multimedia
object q according to the fingerprint algorithm F.sub.t. The
fingerprint algorithms F.sub.1 to F.sub.T are different from each
other. In an embodiment of the method 200, the query fingerprints
f.sub.q,1 to f.sub.q,T may be derived at step 203. Alternatively,
in another embodiment of the method 200, the query fingerprints
f.sub.q,1 to f.sub.q,T may be derived at a location such as a
client device, and at step 203, the query fingerprints f.sub.q,1 to
f.sub.q,T are received from the location via a connection such as
bus, network or link.
[0049] At step 205, for each fingerprint algorithm F.sub.t,
decisions h.sub.i(q,r.sub.1) to h.sub.i(q,r.sub.N) are calculated
using at least one classifier corresponding to the fingerprint
algorithm F.sub.t based on the query fingerprint f.sub.q,t and
reference fingerprints f.sub.r.sub.1.sub.,t to f.sub.r.sub.N.sub.,t
derived from a plurality of reference multimedia objects r.sub.1 to
r.sub.N according to the fingerprint algorithm F.sub.t. Each
fingerprint algorithm F.sub.t may correspond to at least one
classifier. One fingerprint algorithm may correspond to only one
classifying unit, or may correspond to more than one classifying
unit. In an example, one or more of the fingerprint algorithms
F.sub.1 to F.sub.T may each correspond to only one classifier. In
another example, one or more of the fingerprint algorithms F.sub.t
to F.sub.T may each correspond to at least two classifiers. In case
that a fingerprint algorithm corresponds to a classifier, the
classifier may be applied to fingerprints derived according to the
fingerprint algorithm. The decision h.sub.i(q,r.sub.j) indicates a
possibility that the query fingerprint f.sub.q,t and the
corresponding reference fingerprint f.sub.r.sub.j.sub.,t are not
derived from the same multimedia content. Accordingly, N.times.C
decisions h.sub.i(q,r.sub.j) are calculated, where
1.ltoreq.i.ltoreq.C, 1.ltoreq.j.ltoreq.N. The classifier may be
achieved through any algorithm for identifying whether a
fingerprint and another fingerprint are derived from the same
multimedia content or not. The algorithm includes, but not limited
to, identifying algorithms based on machine learning, and
identifying algorithms based on searching. In case that at least
two classifiers correspond to the same fingerprint algorithm, the
classifiers may include classifiers based on the same identifying
algorithm but having different parameter configurations (e.g.,
different thresholds for classifying), and/or classifiers based on
different identifying algorithms. Alternatively, each fingerprint
algorithms F.sub.t may correspond to only one classifier. The
decisions may be hard decisions indicating that the query
fingerprint and the reference fingerprint are not derived from the
same multimedia content, or that the query fingerprint and the
reference fingerprint are derived from the same multimedia content.
The decisions may also be soft decisions indicating a probability
that the query fingerprint and the reference fingerprint are not
derived from the same multimedia content.
[0050] At step 207, for each reference multimedia object r.sub.j, a
distance D.sub.j is calculated as a weighted sum of the decisions
h.sub.1(q,r.sub.j) to h.sub.C(q,r.sub.j) relating to the reference
fingerprints f.sub.r.sub.j.sub.,1 to f.sub.r.sub.j.sub.,T derived
from the reference multimedia object r.sub.j according to the
fingerprint algorithms F.sub.1 to F.sub.T respectively as described
in equation (2).
[0051] At step 209, the multimedia object q is identified as
matching the reference multimedia object x with the smallest
distance D.sub.x of the distances D.sub.1 to D.sub.N, which is less
than a threshold TH.sub.c.
[0052] The method 200 ends at step 211.
[0053] According to the apparatus 100 and the method 200, usage of
more than one fingerprint algorithm can be beneficial to support
specific applications. In particular, different fingerprint
algorithms are characterized by different trade-offs between
robustness and sensitivity. Combining these fingerprints with
different performance characteristics can be useful to derive more
intelligent decisions and more accurate information for the target
applications. In particular, different fingerprint algorithms with
different robustness and sensitivity characteristics can be used
jointly to offset each other's performance weaknesses and arrive at
a more reliable decision.
[0054] The apparatus 100 and the method 200 may be applied in
various applications. In an example application, the reference
multimedia objects include those corresponding to various contents.
The apparatus 100 and the method 200 can be applied to find the
reference multimedia object having the same content with a query
multimedia object. In another example application, the reference
multimedia objects include those corresponding to the same content
but at different positions in the content. The apparatus 100 and
the method 200 can be applied to find the reference multimedia
object matching a query multimedia object, so as to determine the
position in the content which is synchronous with the query
multimedia object.
[0055] In a further embodiment (Embodiment A) of the apparatus 100
or the method 200, for each of a subset or the whole set of the
classifiers, in the corresponding classifying unit 102-i, or at
step 205, the decisions h.sub.i(q,r.sub.1) to h.sub.i(q,r.sub.N)
are calculated through the classifier based on the query
fingerprint f.sub.q,t and the reference fingerprints
f.sub.r.sub.1.sub.,t to f.sub.r.sub.N.sub.,t. In the calculation, a
tree is searched to find at least one leaf node having an bit error
rate between the query fingerprint and the reference fingerprint
represented by the leaf node less than a maximum tolerable error
rate. The reference fingerprints have a fixed length L=S.times.K
bits, and S and K are positive integers. The tree is a 2.sup.K-ary
tree having S levels, and each node in the l-th level,
0.ltoreq.l.ltoreq.S, represents a bit sequence of K.times.l bits,
and therefore, the reference fingerprints can be represented by
corresponding leaf nodes in the tree. Each level has a look-up
table. For a node of the level reached during the searching, the
look-up table defines an estimated bit error rate r.sub.t between
the query fingerprint and its closest reference fingerprint under
the reached node, such that the probability of observing at least E
errors between b bits represented by the reached node and first b
bits of the query fingerprint is greater than a threshold
p.sub.t.
[0056] The look-up table may be computed in advance based on the
following observation. During searching the tree, if any node at
level 1 is reached, b bits of the query fingerprint can be examined
against the b bits represented by the node, and e errors may be
seen between the first b bits of the query fingerprint and the
first b bits represented by the node. Then, the probability
p(e|b,r) of observing e errors in b bits with a bit error rate
(BER) of r is a certain distribution (e.g., binomial distribution,
assuming that the bit errors are uniformly distributed over the
entire fingerprint). The probability p' of observing at least E
errors in b bits is simple one minus the cumulative probability of
p(e|b,r) where e ranges from 0 to E. In this way, having observed e
errors in b bits, it is possible to calculate the bit error rate
r.sub.t, between the query fingerprint and the closest reference
fingerprint under the node, such that the probability of observing
at least e errors is greater than a threshold p.sub.t. That is,
r.sub.t is such that p'=p.sub.t. This means that if e errors have
been observed in b bits, it is reasonably certain that the eventual
overall bit error rate will be greater than r.sub.t. During the
searching, if a non-leaf node is reached, e and b may be determined
for the node, and corresponding r.sub.t may be found in the look-up
table. If r.sub.t is greater than the threshold p.sub.t, this means
that no reference fingerprint having a bit error rate less than the
threshold p.sub.t may be found under the node, and therefore, this
node can be excluded from the searching scope. The threshold
p.sub.t is the maximum tolerable error rate.
[0057] Also in the calculation, the decisions h.sub.i(q,r.sub.1) to
h.sub.i(q,r.sub.N) are calculated by deciding that only the
reference fingerprints represented by leaf nodes, which are found
during the search, and the query fingerprint are derived from the
same multimedia content. For example, if a found leaf node
represents a reference fingerprint f.sub.r.sub.x.sub.,t, the
decision h.sub.i(q,r.sub.x) is calculated as indicating that the
reference fingerprint f.sub.r.sub.x.sub.,t and the query
fingerprint f.sub.q,t are derived from the same multimedia content.
For the reference fingerprint represented by a leaf node which is
not found during the search, the corresponding decision is
calculated as indicating that the reference fingerprint and the
query fingerprint are not derived from the same multimedia content.
In a different example, not all, but only a subset of all the
reference fingerprints represented by leaf nodes found in the
search are decided as being derived from the same multimedia
content as the query fingerprint. Different methods based on
thresholds or absolute number of candidates can be used to decide
how to determine the subset.
[0058] Depending on specific performance requirements, there can be
various stop criteria for the searching. In a first example, the
searching may stop upon finding the first leaf node having an bit
error rate less than the threshold p.sub.t. In this case, the at
least one leaf node found in the search includes only one leaf
node. In a second example, the searching may stop upon finding the
leaf node having the smallest bit error rate less than the
threshold p.sub.t. In a third example, the searching may stop upon
finding all the leaf nodes or a predetermined number of leaf nodes
having bit error rates less than the threshold p.sub.t.
[0059] FIG. 3 depicts pseudo codes for illustrating an example
process of the searching according to the second example. Function
main( ) is the main process of the search. For function
search(node), the variable "node" is an object having an attribute
"errs" for representing e, and an attribute "level" for
representing b.
[0060] In the second example described above, at least two leaf
nodes having the smallest bit error rate may be found. In this
case, it is possible to select one of the leaf nodes with a
probability as the searching result. For example, if the
probability is 0.5, the leaf node is selected randomly, if the
probability is less than 0.5, the first node is selected, and if
the probability is greater than 0.5, the last node is selected.
[0061] In a further embodiment (Embodiment B) of the apparatus 100
or the method 200, for each of a subset or the whole set of the
classifiers, the fingerprints for the classifier are derived as
hash values, and in the corresponding classifying unit, or at step
205, the decisions h.sub.i(q,r.sub.1) to h.sub.i(q,r.sub.N) are
calculated through the classifier based on the query fingerprint
and the reference fingerprints. In the calculation, a distance
d.sub.i(f.sub.q,t,f.sub.r.sub.j.sub.,t) between the query
fingerprint f.sub.q,t and each f.sub.r.sub.j.sub.,t of the
reference fingerprints f.sub.r.sub.1.sub.,t to f.sub.r.sub.N.sub.,t
is calculated, and the decisions h.sub.i(q,r.sub.1) to
h.sub.i(q,r.sub.N) are calculated by deciding that at least one of
the reference fingerprints f.sub.r.sub.1.sub.,t to
f.sub.r.sub.N.sub.,t with the distance d.sub.i less than a
threshold TH.sub.i and the query fingerprint f.sub.q,t are derived
from the same multimedia content. Depending on specific performance
requirements, the at least one reference fingerprint which is
decided to be derived from the same multimedia content with the
query fingerprint may be determined according to various criteria.
In an example, the at least one reference fingerprint may be
determined as only the reference fingerprint first found with the
distance less than the threshold TH.sub.i. In another example, the
at least one reference fingerprint may be determined as the
reference fingerprint with the smallest distance less than the
threshold TH.sub.i. In another example, the at least one reference
fingerprint may be determined as all the reference fingerprints or
a predetermined number of reference fingerprints with the distance
less than the threshold TH.sub.i.
[0062] In a further embodiment (Embodiment C) of the apparatus 100
or the method 200, for each of a subset or the whole set of the
classifiers, the fingerprints for the classifier are derived as
hash values. Each of the hash values is divided into weak bits and
reliable bits. The weak bits are defined as the bits which are
likely to flip when the multimedia object, from which the
fingerprint is derived, is modified. A modification of the content
is defined as a change of the digital presentation (waveform) of
the multimedia signal which preserves the perceptually relevant
content of the multimedia object. Examples are transcoding, but
range change, resampling, specific pre- and post-processing
technologies. If a song/video is modified by one of these
operations, it might sound/look slightly different, but it is still
easily recognized as the same song/video by a human. The weak bits
are the bits that flip with a high probability when these
modifications are applied. This probability is required to be above
a certain threshold and might be determined by experiments and the
requirements of the application for which the fingerprints are
used.
[0063] The reliable bits are less likely to flip as a result of
content modification. In the corresponding classifying unit 102-i,
or at step 205, the decisions h.sub.i(q,r.sub.1) to
h.sub.i(q,r.sub.N) are calculated through the classifier based on
the query fingerprint and the reference fingerprints. In the
calculation, a distance di(f.sub.q,t,f.sub.r.sub.j.sub.,t) between
the query fingerprint f.sub.q,t and each f.sub.r.sub.j.sub.,t of
the reference fingerprints f.sub.r.sub.1.sub.,t to
f.sub.r.sub.N.sub.,t having the identical reliable bits is
calculated, and the decisions h.sub.i(q,r.sub.1) to
h.sub.i(q,r.sub.N) are calculated by deciding that at least one of
the reference fingerprints f.sub.q,t to f.sub.r.sub.N.sub.,t with
the distance d.sub.i less than a threshold TH'i and the query
fingerprint f.sub.q,t are derived from the same multimedia content.
Depending on specific performance requirements, the at least one
reference fingerprint which is decided to be derived from the same
multimedia content with the query fingerprint may be determined
according to various criteria. In an example, the at least one
reference fingerprint may be determined as only the reference
fingerprint first found with the distance less than the threshold
TH'i. In another example, the at least one reference fingerprint
may be determined as the reference fingerprint with the smallest
distance less than the threshold TH'i. In another example, the at
least one reference fingerprint may be determined as all the
reference fingerprints or a predetermined number of reference
fingerprints with the distance less than the threshold TH'i.
[0064] In a further embodiment of the apparatus 100 or the method
200, the classifiers may include any combination of the classifiers
described in connection with Embodiments A, B and C.
[0065] In a further embodiment of the apparatus 100 or the method
200, the query multimedia object q includes a number W of objects
which are synchronous with each other, and each of the reference
multimedia objects r.sub.1 to r.sub.N includes the number W of
objects which are synchronous with each other, where W>1. In
this case, for each of the W objects in the query multimedia object
q and the reference multimedia objects r.sub.1 to r.sub.N, at least
one of the fingerprints is derived from the object according to the
same fingerprint algorithm respectively. The W objects may belong
to different media classes like audio, video, or image. As an
example, the W objects may include an audio object and a video or
image object synchronous with each other. Some of the fingerprints
may be derived from the audio object, and others may be derived
from the video or image object. In this embodiment, fingerprint
algorithms suitable for the specific media classes of the objects
may be chosen. Combining the results of the different fingerprint
algorithms, a more accurate search result can be obtained.
[0066] FIG. 4 is a block diagram illustrating an example apparatus
400 for training a model for identifying multimedia objects
according to an embodiment of the invention.
[0067] As illustrated in FIG. 4, the apparatus 400 includes a
fingerprint calculator 401 and a training unit 403.
[0068] To train the model, a set S of one or more training samples
is provided. Each sample includes one training query multimedia
object q.sub.k out of training query multimedia objects q.sub.1 to
q.sub.M, one training reference multimedia object r.sub.j out of
training reference multimedia objects r.sub.1 to r.sub.U, and a
mark y.sub.k,j indicating whether the training query multimedia
object q.sub.k matches the training reference multimedia object
r.sub.j or not. The samples may include some or all the
combinations of the training query multimedia objects and the
training reference multimedia objects. It can be appreciated that
any two samples are different in their training query multimedia
object or their training reference multimedia object.
[0069] For each sample, the fingerprint calculator 401 is
configured to derive query fingerprints f.sub.q.sub.k.sub.,j to
f.sub.q.sub.k.sub.,G from the training query multimedia object
q.sub.k according to fingerprint algorithms F.sub.1 to F.sub.G
respectively. The fingerprint algorithms F.sub.1 to F.sub.G are
different from each other, and G>1. For each sample, the
fingerprint calculator 401 is further configured to derive training
reference fingerprints f.sub.r.sub.j.sub.,1 to f.sub.r.sub.j.sub.,G
from the training reference multimedia object r.sub.j according to
the fingerprint algorithms F.sub.1 to F.sub.G respectively.
[0070] For each fingerprint algorithm F.sub.t, 1.ltoreq.t.ltoreq.G
the training unit 403 is configured to generate at least one
candidate classifier based on the training query fingerprints and
the training reference fingerprints derived according to the
fingerprint algorithm F.sub.t. The at least one candidate
classifier may include only one candidate classifier, or may
include more than one candidate classifier. The candidate
classifier is adapted to calculate a decision for any two
fingerprints derived according to the fingerprint algorithm
F.sub.t. The decision indicates a possibility that the two
fingerprints are not derived from the same multimedia content.
[0071] The candidate classifier may be achieved through any
algorithm for identifying whether a fingerprint and another
fingerprint are derived from the same multimedia content or not.
These algorithms include, but are not limited to, identifying
algorithms based on machine learning, and identifying algorithms
based on searching.
[0072] In an example of identifying algorithms based on machine
learning, distances are calculated between the fingerprints derived
from positive and negative training samples, each of which includes
a training query multimedia object, a training reference multimedia
object and a mark indicating whether the training query multimedia
object matches the training reference multimedia object. Parameters
of the algorithms which can minimize the identifying error are
learned from the distances, and therefore, corresponding
classifiers are generated.
[0073] In an example of identifying algorithms based on searching,
a set of training reference fingerprints are searched to find one
or more of them matching a training query fingerprint. Fingerprints
may be derived from positive and negative training samples, each of
which includes a training query multimedia object, a training
reference multimedia object and a mark indicating whether the
training query multimedia object matches the training reference
multimedia object. A positive sample means that it includes a mark
indicating that the training query multimedia object matches the
training reference multimedia object, and a negative sample means
that it includes a mark indicating that the training query
multimedia object does not match the training reference multimedia
object. Parameters of the algorithms which can minimize the
identifying error are learned from the distances derived from the
objects, and therefore, corresponding classifiers are
generated.
[0074] In case that at least two candidate classifiers are
generated for the same fingerprint algorithm, the candidate
classifiers may include candidate classifiers based on the same
identifying algorithm but having different parameter configurations
(e.g., different thresholds for classifying), and/or candidate
classifiers based on different identifying algorithms.
Alternatively, each fingerprint algorithms F.sub.t may correspond
to only one classifying unit.
[0075] In an example of the algorithm for identifying based on
equation (1), it is possible to generate the candidate classifier
by selecting the threshold Th.sub.i from a plurality of candidate
thresholds, such that the identifying error with reference to the
training samples is the smallest. The identifying error is
generally calculated with an error function. As an example, the
error function .epsilon..sub.i is calculated as
i = c .di-elect cons. S , h i ( c ) .noteq. y c P ( c ) ( 3 )
##EQU00003##
where S represents the set of the samples, P( ) represents a
distribution of weights of the samples, y.sub.c represents the mark
of sample c, and h.sub.i( ) represents a candidate classifier
corresponding to fingerprint algorithm F.sub.i. In an example, both
h.sub.i( ) and y.sub.c may take values 0 and 1 (see equation
(1)).
[0076] In an example (Example A) of the algorithm for identifying
by searching a tree as described in connection with the apparatus
100 and the method 200, for the tree, it is possible to provide at
least two sets of parameters including K and an initial value of
the maximum tolerable error rate are provided. For each different
set of parameters, the tree is configured differently and a
different tree based classifier can be constructed. The identifying
errors of the constructed classifiers can be calculated based on an
error function such as equation (3) with reference to the samples.
Therefore, the set resulting in the smallest error function is
selected to generate the candidate classifier. In case of the
second example of the algorithm for identifying by searching a tree
as described in connection with the apparatus 100 and the method
200, at least two leaf nodes having the smallest bit error rate may
be found. In this case, it is possible to select one of the leaf
nodes with a probability as the searching result. For example, if
the probability is 0.5, the leaf node is selected randomly, if the
probability is less than 0.5, the first node is selected, and if
the probability is greater than 0.5, the last node is selected. In
this case, in addition to K and the initial value of the maximum
tolerable error rate, each set of parameters may also include the
probability.
[0077] In an example (Example B) of the algorithm for identifying
based on the distance between the hash values as described in
connection with the apparatus 100 and the method 200, at least two
candidate thresholds for calculating the decisions h.sub.i( ) may
be provided, and one of the candidate threshold resulting in the
smallest error function is selected as the threshold TH.sub.i for
the candidate classifier.
[0078] In an example (Example C) of the algorithm for identifying
based on the distance between the hash values having the identical
reliable bits as described in connection with the apparatus 100 and
the method 200, at least two combinations of a) threshold for
calculating the decisions h.sub.i( ) and b) division of the
fingerprint into weak bits and reliable bits may be provided, and
the combination resulting in the smallest error function is
selected for the candidate classifier. The division of the
fingerprint into weak and reliable bits can be configured by
changing the number of weak bits and reliable bits and by changing
the method (or pattern) to determine which bits are classified as
weak and reliable.
[0079] The training unit 403 is further configured to generate the
model including a weighted sum of classifiers selected from the
candidate classifiers and a threshold TH.sub.c for evaluating the
weighted sum, such that the identifying error obtained by applying
the model to the training query fingerprints and the training
reference fingerprints derived from the samples is minimized There
may be a possibility that in the generated model, the selected
classifiers correspond to T>1 fingerprint algorithms. There is
also another possibility that in the generated model, the selected
classifiers correspond to only one fingerprint algorithm. More than
one classifier may correspond to the same fingerprinting algorithm.
In order to find TH.sub.c, different values of TH.sub.c can be
tried out randomly, exhaustively, or find through an optimization
algorithm.
[0080] In a first example of generating the model, both the
classifiers and the weights are generated and selected through an
Adaboost method. According to the Adaboost method, several rounds
of selection may be performed. At the beginning of each round of
selection, each training sample is assigned a probability value
(weight). Also, in each round candidate classifiers are generated
based on training data. From the candidate classifiers generated in
this round, the candidate classifier having the minimum error with
reference to the training data is selected, and its weight is
determined accordingly. Also, in each round, the distribution of
weight of the training data is also updated for generating
candidate classifiers in the next round. The Adaboost method can be
configured in different ways. In one example, all of the
fingerprint algorithms can be used in each round to generate the
candidate classifiers. In another example, only a subset of all
fingerprint algorithms is be used in each round to generate the
candidate classifiers. In this case, the used fingerprint
algorithms may be predetermined or selected randomly. The
fingerprint algorithms used in different rounds may be identical,
different in part or different totally. One or more fingerprint
algorithms may be used in one or more rounds. In another example,
Adaboost may select each fingerprint at most or exactly once to
build a classifier. In this example, if a classifier corresponding
to a fingerprint algorithm is selected, this fingerprint algorithm
will not be considered in generating candidate classifiers for
selection in the next iterations.
[0081] Alternatively, in an second example, classifiers included in
the model may be predetermined, and the weights of the classifiers
may be determined through an Adaboost method. In this scenario,
each classifier is considered in only one iteration.
[0082] FIG. 5 is a flow chart illustrating an example process 500
of the Adaboost method according to an embodiment of the
invention.
[0083] As illustrated in FIG. 5, the process 500 starts from step
501.
[0084] Supposing that there are M training query multimedia objects
and U training reference multimedia objects, there is a set S of
V=M.times.U samples. One may choose to use all V training sample as
training data for the Adaboost algorithm. Or, one may choose to use
a subset of W<V of training sample as training data for the
Adaboost algorithm.
[0085] Each sample c in the set S includes one of the training
query multimedia objects, one of the training reference multimedia
objects and a mark y.sub.c. Different samples cannot contain both
the same training query multimedia object and the same training
reference multimedia object. For the s-th iteration of the Adaboost
method, the weight of each sample c in the set S is denoted as
P.sub.s(c). Initially, the weights of the samples may be set equal,
e.g., set to 1/(V) or 1/(W). At step 503, for each fingerprint
algorithm F.sub.t, at least one candidate classifier h.sub.i( ) is
generated based on the query fingerprints and the corresponding
training fingerprints derived from the samples according to the
fingerprint algorithm F.sub.t. There are multiple ways to generate
these classifiers and they depend on the chosen database structure.
In particular, databases can be tree based, hash based, or hash
based using weak bits. For these kinds of databases, ways to
generate classifiers have been described in some of the preceding
paragraphs of this invention disclosure.
[0086] At step 505, one of the candidate classifiers having the
smallest error function .epsilon..sub.i with reference to the
samples is selected.
[0087] At step 507, a weight w.sub.i for the newly selected
classifier h.sub.i( ) is calculated as
w i = 1 2 ln ( 1 - i i ) ( 4 ) ##EQU00004##
[0088] At step 509, the weights P.sub.s(c), c.epsilon.S are updated
as
P s + 1 ( c ) = P s ( c ) exp ( - w i y c h i ( c ) ) Z i ( 5 )
##EQU00005##
where Z.sub.i is a normalization factor chosen such that P.sub.s+1(
) is a probability distribution.
[0089] At step 511, it is determined whether this is the last
iteration. In general, if a pre-defined number of iterations have
been processed, or the smallest error function below a threshold
has been reached, the iteration may be determined as the last
iteration. If no, the process 500 returns to step 503 to execute
the next iteration. If yes, the process 500 ends at step 513.
[0090] In another example of generating the model, all the
generated candidate classifiers h.sub.1( ) to h.sub.C( ) are
pre-selected by some optimization process. Such an optimization
process could be a process of minimizing the error function as
described some of the preceding paragraphs of this invention
disclosure. The weights w.sub.1 to w.sub.C for the classifiers can
be determined by minimizing the identifying error
i = 1 C w i H i - Y Frob ( 6 ) ##EQU00006##
where H.sub.i is a M.times.U matrix with
H.sub.i(k,j)=h.sub.i(c.sub.k,j), Y is a M.times.U matrix with
Y(k,j)=y.sub.k,j, and Frob denotes the Frobenius matrix norm
measuring the distance of matrices, and the weights are supposed to
be non-negative and must sum up to one. Alternatively, the
identifying error may also be calculated as
i = 1 C w i H i - Y Frob . ( 7 ) ##EQU00007##
In both cases, a Laplacian gradient search may be used to solve the
minimization problem. Alternatively, it is also possible to provide
a discrete, possibly uniformly spaced set of possible values for
the weights w.sub.1 to w.sub.C as well as the threshold values for
the classifiers h.sub.1( ) to h.sub.C( ). The best solution is
defined as the solution that either minimizes the expression (6) or
(7) above for a specific set of threshold values for the
classifiers h.sub.1( ) to h.sub.C( ). Here, the weights and the
thresholds can be jointly or consecutively determined.
[0091] FIG. 6 is a flow chart illustrating an example method 600 of
training a model for identifying multimedia objects according to an
embodiment of the invention.
[0092] As illustrated in FIG. 6, the method 600 starts from step
601.
[0093] To train the model, a set S of one or more samples is
provided. Each sample includes one training query multimedia object
q.sub.k of training query multimedia objects q.sub.1 to q.sub.M,
one training reference multimedia object r.sub.j of training
reference multimedia objects r.sub.1 to r.sub.U and a mark
y.sub.k,j indicating whether the training query multimedia object
q.sub.k matches the training reference multimedia object r.sub.j or
not.
[0094] At step 603, for each sample, training query fingerprints
f.sub.q.sub.k.sub.,1 to f.sub.q.sub.k.sub.,G are derived from the
training query multimedia object q.sub.k according to fingerprint
algorithms F.sub.1 to F.sub.G respectively. The fingerprint
algorithms F.sub.1 to F.sub.G are different from each other, and
G>1.
[0095] At step 605, for each sample, training reference
fingerprints f.sub.r.sub.j.sub.,1 to f.sub.r.sub.j.sub.,G are
derived from the training reference multimedia object r.sub.j
according to the fingerprint algorithms F.sub.1 to F.sub.G
respectively.
[0096] At step 607, for each fingerprint algorithm F.sub.t,
1.ltoreq.t.ltoreq.G, at least one candidate classifier is generated
based on the training query fingerprints and the training reference
fingerprints derived according to the fingerprint algorithm
F.sub.t. The at least one candidate classifier may include only one
candidate classifier, or may include more than one candidate
classifier. The candidate classifier is adapted to calculate a
decision for any two fingerprints derived according to the
fingerprint algorithm F.sub.t. The decision indicates a possibility
that the two fingerprints are not derived from the same multimedia
content. The candidate classifier may be achieved through any
algorithm for identifying whether a fingerprint and another
fingerprint are derived from the same multimedia content or not.
The algorithm includes, but not limited to, identifying algorithms
based on machine learning, and identifying algorithms based on
searching.
[0097] At step 607, also, the model is generated. The model
includes a weighted sum of classifiers selected from the candidate
classifiers and a threshold TH.sub.c for evaluating the weighted
sum, such that the identifying error obtained by applying the model
to the query fingerprints and the training fingerprints derived
from the samples is minimized There may be a possibility that in
the generated model, the selected classifiers correspond to T>1
fingerprint algorithms. There is also another possibility that in
the generated model, the selected classifiers correspond to only
one fingerprint algorithm. More than one classifier may correspond
to the same fingerprinting algorithm. At step 607, the methods of
generating the model described in connection with the apparatus 400
may be adopted.
[0098] The method 600 ends at step 609.
[0099] In a further embodiment of the apparatus 400 or the method
600, the algorithms for identifying may include any combination of
the algorithms described in connection with Examples A, B and
C.
[0100] In a further embodiment of the apparatus 400 or the method
600, each of the training query multimedia objects includes a
number W of objects which are synchronous with each other, and each
of the training reference multimedia objects includes the number W
of objects which are synchronous with each other, where W>1. For
each of the W objects in the training query multimedia objects and
the training reference multimedia objects, at least one of the
fingerprints is derived from the object according to the same
fingerprint algorithm respectively. The W objects may belong to
different media classes like audio, video, or image. As an example,
the W objects may include an audio object and a video or image
object synchronous with each other. Some of the fingerprints may be
derived from the audio object, and others may be derived from the
video or image object. In this embodiment, fingerprint algorithms
suitable for the specific media classes of the objects may be
chosen.
[0101] In an alternative embodiment of the apparatus 400 or the
method 600, it is also possible to provide at least two sets of
candidate weights of the selected classifiers in the weighted sum,
and select the set of candidate weights resulting in the smallest
identifying error (e.g., expression (3), (6) or (7)) as the weights
of the selected classifiers in the weighted sum. The identifying
errors may be obtained by applying the model configured with the
sets of weights to training samples.
[0102] FIG. 7 is a block diagram illustrating an exemplary system
700 for implementing embodiments of the present invention.
[0103] In FIG. 7, a central processing unit (CPU) 701 performs
various processes in accordance with a program stored in a read
only memory (ROM) 702 or a program loaded from a storage section
708 to a random access memory (RAM) 703. In the RAM 703, data
required when the CPU 701 performs the various processes or the
like are also stored as required.
[0104] The CPU 701, the ROM 702 and the RAM 703 are connected to
one another via a bus 704. An input/output interface 705 is also
connected to the bus 704.
[0105] The following components are connected to the input/output
interface 705: an input section 706 including a keyboard, a mouse,
or the like; an output section 707 including a display such as a
cathode ray tube (CRT), a liquid crystal display (LCD), or the
like, and a loudspeaker or the like; the storage section 708
including a hard disk or the like; and a communication section 709
including a network interface card such as a LAN card, a modem, or
the like. The communication section 709 performs a communication
process via the network such as the internet.
[0106] A drive 710 is also connected to the input/output interface
705 as required. A removable medium 711, such as a magnetic disk,
an optical disk, a magneto--optical disk, a semiconductor memory,
or the like, is mounted on the drive 710 as required, so that a
computer program read therefrom is installed into the storage
section 708 as required.
[0107] In the case where the above--described steps and processes
are implemented by the software, the program that constitutes the
software is installed from the network such as the internet or the
storage medium such as the removable medium 711.
[0108] The terminology used herein is for the purpose of describing
particular embodiments only and is not intended to be limiting of
the invention. As used herein, the singular forms "a", "an" and
"the" are intended to include the plural forms as well, unless the
context clearly indicates otherwise. It will be further understood
that the terms "comprises" and/or "comprising," when used in this
specification, specify the presence of stated features, integers,
steps, operations, elements, and/or components, but do not preclude
the presence or addition of one or more other features, integers,
steps, operations, elements, components, and/or groups thereof.
[0109] The corresponding structures, materials, acts, and
equivalents of all means or step plus function elements in the
claims below are intended to include any structure, material, or
act for performing the function in combination with other claimed
elements as specifically claimed. The description of the present
invention has been presented for purposes of illustration and
description, but is not intended to be exhaustive or limited to the
invention in the form disclosed. Many modifications and variations
will be apparent to those of ordinary skill in the art without
departing from the scope and spirit of the invention. The
embodiment was chosen and described in order to best explain the
principles of the invention and the practical application, and to
enable others of ordinary skill in the art to understand the
invention for various embodiments with various modifications as are
suited to the particular use contemplated.
[0110] The following exemplary embodiments (each an "EE") are
described.
[0111] EE 1. A method of identifying a multimedia object,
comprising:
[0112] acquiring query fingerprints f.sub.q,1 to f.sub.q,T which
are derived from the multimedia object according to fingerprint
algorithms F.sub.1 to F.sub.T respectively, where the fingerprint
algorithms F.sub.1 to F.sub.T are different from each other, and
T>1;
[0113] for each fingerprint algorithm F.sub.t, calculating
decisions through each of at least one classifier corresponding to
the fingerprint algorithm F.sub.t based on the query fingerprint
and reference fingerprints derived from a plurality of reference
multimedia objects according to the fingerprint algorithm F.sub.t,
each of the decisions indicating a possibility that the query
fingerprint and the reference fingerprint for calculating the
decision are not derived from the same multimedia content;
[0114] for each of the reference multimedia objects, calculating a
distance D as a weighted sum of the decisions relating to the
reference fingerprints derived from the reference multimedia object
according to the fingerprint algorithms F.sub.1 to F.sub.T
respectively; and
[0115] identifying the multimedia object as matching the reference
multimedia object with the smallest distance which is less than a
threshold TH.sub.c.
[0116] EE 2. The method according to EE 1, wherein for each of the
fingerprint algorithms, the at least one classifier comprises only
one classifier.
[0117] EE 3. The method according to EE 1, wherein for each of at
least one of the classifiers, the calculating of the decisions
through the classifier based on the query fingerprint and the
reference fingerprints comprises:
[0118] searching a tree to find at least one leaf node having an
bit error rate between the query fingerprint and the reference
fingerprint represented by the leaf node less than a maximum
tolerable error rate; and
[0119] calculating the decisions by deciding that only the
reference fingerprints represented by the at least one leaf node
and the query fingerprint are derived from the same multimedia
content,
[0120] wherein the reference fingerprints have a fixed length
L=S.times.K bits, and S and K are positive integers,
[0121] wherein the tree is a 2.sup.K-ary tree having S levels, and
each node in the l-th level, 0.ltoreq.l.ltoreq.S, represents a bit
sequence of K.times.l bits,
[0122] wherein each level has a look-up table defining an estimated
bit error rate between the query fingerprint and its closest
reference fingerprint under a reached node of the level, such that
the probability of observing at least E errors between b bits
represented by the reached node and first b bits of the query
fingerprint is greater than a threshold p.sub.t.
[0123] EE 4. The method according to EE 3, wherein the at least one
leaf node comprises only one leaf node.
[0124] EE 5. The method according to EE 4, wherein the only one
leaf node has the smallest bit error rate.
[0125] EE 6. The method according to EE 1, wherein for each of at
least one of the classifiers,
[0126] the fingerprints for the classifier are derived as hash
values, and the calculating of the decisions through the classifier
based on the query fingerprint and the reference fingerprints
comprises:
[0127] calculating a distance d between the query fingerprint and
each of the reference fingerprints; and
[0128] calculating the decisions by deciding that at least one of
the reference fingerprints with the distance d less than a
threshold and the query fingerprint are derived from the same
multimedia content.
[0129] EE 7. The method according to EE 3, wherein for each of at
least one of the classifiers,
[0130] the fingerprints for the classifier are derived as hash
values, and the calculating of the decisions through the classifier
based on the query fingerprint and the reference fingerprints
comprises:
[0131] calculating a distance d between the query fingerprint and
each of the reference fingerprints; and
[0132] calculating the decisions by deciding that at least one of
the reference fingerprints with the distance d less than a
threshold and the query fingerprint are derived from the same
multimedia content.
[0133] EE 8. The method according to EE 1, wherein for each of at
least one of the classifiers,
[0134] the fingerprints for the classifier are derived as hash
values, each of the hash values is divided into weak bits and
reliable bits, where the weak bits are likely to flip when the
multimedia object, from which the fingerprint is derived, is
modified, and the reliable bits are less likely to flip as a result
of content modification, and
[0135] the calculating of the decisions through the classifier
based on the query fingerprint and the reference fingerprints
comprises:
[0136] calculating a distance d between the query fingerprint and
each of the reference fingerprints having the identical reliable
bits; and
[0137] calculating the decisions by deciding that at least one of
the reference fingerprints with the distance d less than a
threshold and the query fingerprint are derived from the same
multimedia content.
[0138] EE 9. The method according to EE 3, wherein for each of at
least one of the classifiers,
[0139] the fingerprints for the classifier are derived as hash
values, each of the hash values is divided into weak bits and
reliable bits, where the weak bits are likely to flip when the
multimedia object, from which the fingerprint is derived, is
modified, and the reliable bits are less likely to flip as a result
of content modification, and
[0140] the calculating of the decisions through the classifier
based on the query fingerprint and the reference fingerprints
comprises:
[0141] calculating a distance d between the query fingerprint and
each of the reference fingerprints having the identical reliable
bits; and
[0142] calculating the decisions by deciding that at least one of
the reference fingerprints with the distance d less than a
threshold and the query fingerprint are derived from the same
multimedia content.
[0143] EE 10. The method according to EE 6, wherein for each of at
least one of the classifiers,
[0144] the fingerprints for the classifier are derived as hash
values, each of the hash values is divided into weak bits and
reliable bits, where the weak bits are likely to flip when the
multimedia object, from which the fingerprint is derived, is
modified, and the reliable bits are less likely to flip as a result
of content modification, and
[0145] the calculating of the decisions through the classifier
based on the query fingerprint and the reference fingerprints
comprises:
[0146] calculating a distance d between the query fingerprint and
each of the reference fingerprints having the identical reliable
bits; and
[0147] calculating the decisions by deciding that at least one of
the reference fingerprints with the distance d less than a
threshold and the query fingerprint are derived from the same
multimedia content.
[0148] EE 11. The method according to EE 7, wherein for each of at
least one of the classifiers,
[0149] the fingerprints for the classifier are derived as hash
values, each of the hash values is divided into weak bits and
reliable bits, where the weak bits are likely to flip when the
multimedia object, from which the fingerprint is derived, is
modified, and the reliable bits are less likely to flip as a result
of content modification, and
[0150] the calculating of the decisions through the classifier
based on the query fingerprint and the reference fingerprints
comprises:
[0151] calculating a distance d between the query fingerprint and
each of the reference fingerprints having the identical reliable
bits; and
[0152] calculating the decisions by deciding that at least one of
the reference fingerprints with the distance d less than a
threshold and the query fingerprint are derived from the same
multimedia content.
[0153] EE 12. The method according to EE 1, wherein the multimedia
object includes a number W of objects which are synchronous with
each other, and each of the reference multimedia objects includes
the number W of objects which are synchronous with each other,
where W>1, and
[0154] wherein for each of the W objects in the multimedia object
and the reference multimedia objects, at least one of the
fingerprints is derived from the object according to the same
fingerprint algorithm respectively.
[0155] EE 13. The method according to EE 12, wherein the number W
of objects include an audio object and a video or image object and
audio fingerprints are taken from audio objects and video or image
fingerprints are taken from video or image objects.
[0156] EE 14. An apparatus for identifying a multimedia object,
comprising:
[0157] an acquiring unit configured to acquire query fingerprints
f.sub.q,1 to f.sub.q,T which are derived from the multimedia object
according to fingerprint algorithms F.sub.1 to F.sub.T
respectively, where the fingerprint algorithms F.sub.1 to F.sub.T
are different from each other, and T>1;
[0158] a plurality of classifying units, wherein each fingerprint
algorithm F.sub.t corresponds to at least one of the classifying
units, and each of the classifying units is configured to calculate
decisions through a classifier based on the query fingerprint and
reference fingerprints derived from a plurality of reference
multimedia objects according to the fingerprint algorithm F.sub.t,
each of the decisions indicating a possibility that the query
fingerprint and the reference fingerprint for calculating the
decision are not derived from the same multimedia content; and
[0159] a combining unit configured to, for each of the reference
multimedia objects, calculate a distance D as a weighted sum of the
decisions relating to the reference fingerprints derived from the
reference multimedia object according to the fingerprint algorithms
F.sub.1 to F.sub.T respectively; and
[0160] an identifying unit configured to identify the multimedia
object as matching the reference multimedia object with the
smallest distance which is less than a threshold TH.sub.c.
[0161] EE 15. The apparatus according to EE 14, wherein each
fingerprint algorithms F.sub.t corresponds to only one of the
classifying units.
[0162] EE 16. The apparatus according to EE 14, wherein for each of
at least one of the classifiers, the corresponding classifying unit
is further configured to calculate the decisions through the
classifier based on the query fingerprint and the reference
fingerprints by:
[0163] searching a tree to find at least one leaf node having an
bit error rate between the query fingerprint and the reference
fingerprint represented by the leaf node less than a maximum
tolerable error rate; and
[0164] calculating the decisions by deciding that only the
reference fingerprint represented by the at least one leaf node and
the query fingerprint are derived from the same multimedia
content,
[0165] wherein the reference fingerprints have a fixed length
L=S.times.K bits, and S and K are positive integers,
[0166] wherein the tree is a 2.sup.K-ary tree having S levels, and
each node in the l-th level, 0.ltoreq.l.ltoreq.S, represents a bit
sequence of K.times.l bits,
[0167] wherein each level has a look-up table defining an estimated
bit error rate between the query fingerprint and its closest
reference fingerprint under a reached node of the level, such that
the probability of observing at least E errors between b bits
represented by the reached node and first b bits of the query
fingerprint is greater than a threshold p.sub.t.
[0168] EE 17. The apparatus according to EE 16, wherein the at
least one leaf node comprises only one leaf node.
[0169] EE 18. The apparatus according to EE 17, wherein the only
one leaf node has the smallest bit error rate.
[0170] EE 19. The apparatus according to EE 14, wherein for each of
at least one of the classifiers, the fingerprints for the
classifier are derived as hash values, and the corresponding
classifying unit is further configured to calculate the decisions
through the classifier based on the query fingerprint and the
reference fingerprints by:
[0171] calculating a distance d between the query fingerprint and
each of the reference fingerprints; and
[0172] calculating the decisions by deciding that at least one of
the reference fingerprints with the distance d less than a
threshold and the query fingerprint are derived from the same
multimedia content.
[0173] EE 20. The apparatus according to EE 16, wherein for each of
at least one of the classifiers, the fingerprints for the
classifier are derived as hash values, and the corresponding
classifying unit is further configured to calculate the decisions
through the classifier based on the query fingerprint and the
reference fingerprints by:
[0174] calculating a distance d between the query fingerprint and
each of the reference fingerprints; and
[0175] calculating the decisions by deciding that at least one of
the reference fingerprints with the distance d less than a
threshold and the query fingerprint are derived from the same
multimedia content.
[0176] EE 21. The apparatus according to EE 14, wherein for each of
at least one of the classifiers,
[0177] the fingerprints for the classifier are derived as hash
values, each of the hash values is divided into weak bits and
reliable bits, where the weak bits are likely to flip when the
multimedia object, from which the fingerprint is derived, is
modified, and the reliable bits are less likely to flip as a result
of content modification, and
[0178] the corresponding classifying unit is further configured to
calculate the decisions through the classifier based on the query
fingerprint and the reference fingerprints by:
[0179] calculating a distance d between the query fingerprint and
each of the reference fingerprints having the identical reliable
bits; and
[0180] calculating the decisions by deciding that at least one of
the reference fingerprint with the distance d less than a threshold
and the query fingerprint are derived from the same multimedia
content.
[0181] EE 22. The apparatus according to EE 16, wherein for each of
at least one of the classifiers,
[0182] the fingerprints for the classifier are derived as hash
values, each of the hash values is divided into weak bits and
reliable bits, where the weak bits are likely to flip when the
multimedia object, from which the fingerprint is derived, is
modified, and the reliable bits are less likely to flip as a result
of content modification, and
[0183] the corresponding classifying unit is further configured to
calculate the decisions through the classifier based on the query
fingerprint and the reference fingerprints by:
[0184] calculating a distance d between the query fingerprint and
each of the reference fingerprints having the identical reliable
bits; and
[0185] calculating the decisions by deciding that at least one of
the reference fingerprint with the distance d less than a threshold
and the query fingerprint are derived from the same multimedia
content.
[0186] EE 23. The apparatus according to EE 19, wherein for each of
at least one of the classifiers,
[0187] the fingerprints for the classifier are derived as hash
values, each of the hash values is divided into weak bits and
reliable bits, where the weak bits are likely to flip when the
multimedia object, from which the fingerprint is derived, is
modified, and the reliable bits are less likely to flip as a result
of content modification, and
[0188] the corresponding classifying unit is further configured to
calculate the decisions through the classifier based on the query
fingerprint and the reference fingerprints by:
[0189] calculating a distance d between the query fingerprint and
each of the reference fingerprints having the identical reliable
bits; and
[0190] calculating the decisions by deciding that at least one of
the reference fingerprint with the distance d less than a threshold
and the query fingerprint are derived from the same multimedia
content.
[0191] EE 24. The apparatus according to EE 20, wherein for each of
at least one of the classifiers,
[0192] the fingerprints for the classifier are derived as hash
values, each of the hash values is divided into weak bits and
reliable bits, where the weak bits are likely to flip when the
multimedia object, from which the fingerprint is derived, is
modified, and the reliable bits are less likely to flip as a result
of content modification, and
[0193] the corresponding classifying unit is further configured to
calculate the decisions through the classifier based on the query
fingerprint and the reference fingerprints by:
[0194] calculating a distance d between the query fingerprint and
each of the reference fingerprints having the identical reliable
bits; and
[0195] calculating the decisions by deciding that at least one of
the reference fingerprint with the distance d less than a threshold
and the query fingerprint are derived from the same multimedia
content.
[0196] EE 25. The apparatus according to EE 14, wherein the
multimedia object includes a number W of objects which are
synchronous with each other, and each of the reference multimedia
objects includes the number W of objects which are synchronous with
each other, where W>1, and
[0197] wherein for each of the W objects in the multimedia object
and the reference multimedia objects, at least one of the
fingerprints is derived from the object according to the same
fingerprint algorithm respectively.
[0198] EE 26. The apparatus according to EE 25, wherein the number
W of objects include an audio object and a video or image object,
and audio fingerprints are taken from audio objects and video or
image fingerprints are taken from video or image objects.
[0199] EE 27. A method of training a model for identifying
multimedia objects, comprising:
[0200] for each of one or more samples including a training query
multimedia object, a training reference multimedia object and a
mark indicating whether the training query multimedia object
matches the training reference multimedia object or not, [0201]
deriving training query fingerprints from the training query
multimedia object according to fingerprint algorithms F.sub.1 to
F.sub.G respectively, where the fingerprint algorithms F.sub.1 to
F.sub.G are different from each other, and G>1; [0202] deriving
training reference fingerprints from the training reference
multimedia object according to the fingerprint algorithms F.sub.1
to F.sub.G respectively;
[0203] for each fingerprint algorithm F.sub.t, generating at least
one candidate classifier based on the training query fingerprints
and the training reference fingerprints derived according to the
fingerprint algorithm F.sub.t, the candidate classifier being
adapted to calculate a decision for any two fingerprints derived
according to the fingerprint algorithm F.sub.t, which indicates a
possibility that the two fingerprints are not derived from the same
multimedia content; and
[0204] generating the model including a weighted sum of classifiers
selected from the candidate classifiers and a threshold TH.sub.S
for evaluating the weighted sum such that the identifying error
obtained by applying the model to the training query fingerprints
and the training reference fingerprints derived from the samples is
minimized
[0205] EE 28. The method according to EE 27, wherein the selected
classifiers in the generated model correspond to only one
fingerprint algorithm.
[0206] EE 29. The method according to EE 27, wherein the
classifiers are generated and selected through an Adaboost
method.
[0207] EE 30. The method according to EE 27, wherein weights of the
selected classifiers in the weighted sum are determined through the
Adaboost method.
[0208] EE 31. The method according to EE 27, wherein the generation
of the model comprises:
[0209] providing at least two sets of candidate weights of the
selected classifiers in the weighted sum; and
[0210] selecting the set of candidate weights resulting in the
smallest identifying error as the weights of the selected
classifiers in the weighted sum.
[0211] EE 32. The method according to EE 27, wherein for each
fingerprint algorithm F.sub.t, only one classifier is selected.
[0212] EE 33. The method according to EE 29, wherein for each
fingerprint algorithm F.sub.t, only one classifier is selected.
[0213] EE 34. The method according to EE 30, wherein for each
fingerprint algorithm F.sub.t, only one classifier is selected.
[0214] EE 35. The method according to EE 31, wherein for each
fingerprint algorithm F.sub.t, only one classifier is selected.
[0215] EE 36. The method according to EE 27, wherein for each of at
least one of the candidate classifiers, the candidate classifier is
adapted to:
[0216] search a tree to find at least one leaf node having an bit
error rate between the training query fingerprint and the training
reference fingerprint represented by the leaf node less than a
maximum tolerable error rate; and
[0217] calculate the decision by deciding that only the training
reference fingerprint represented by the at least one leaf node and
the training query fingerprint are derived from the same multimedia
content,
[0218] wherein the training reference fingerprints have a fixed
length L=S.times.K bits, and S and K are positive integers,
[0219] wherein the tree is a 2.sup.K-ary tree having S levels, and
each node in the l-th level, 0.ltoreq.l.ltoreq.S, represents a bit
sequence of K.times.l bits,
[0220] wherein each level has a look-up table defining an estimated
bit error rate between the training query fingerprint and its
closest training reference fingerprint under a reached node of the
level, such that the probability of observing at least E errors
between b bits represented by the reached node and first b bits of
the training query fingerprint is greater than a threshold p.sub.t,
wherein at least two sets of parameters including K and an initial
value of the maximum tolerable error rate are provided for the
tree, and the set resulting in the smallest identifying error is
selected to generate the candidate classifier.
[0221] EE 37. The method according to EE 36, wherein the at least
one leaf node comprises only one leaf node.
[0222] EE 38. The method according to EE 37, wherein the only one
leaf node has the smallest bit error rate.
[0223] EE 39. The method according to EE 27, wherein for each of at
least one of the candidate classifiers, the fingerprints for
generating the candidate classifier are derived as hash values, and
the candidate classifier is adapted to:
[0224] calculate a distance d between the training query
fingerprint and each of a set of training reference fingerprints,
and
[0225] calculate the decisions by deciding that at least one of the
training reference fingerprints with the distance d less than a
threshold and the training query fingerprint are derived from the
same multimedia content, and
[0226] wherein at least two candidate thresholds for calculating
the decisions are provided and the candidate threshold resulting in
the smallest identifying error is selected as the threshold for the
candidate classifier.
[0227] EE 40. The method according to EE 36, wherein for each of at
least one of the candidate classifiers, the fingerprints for
generating the candidate classifier are derived as hash values, and
the candidate classifier is adapted to:
[0228] calculate a distance d between the training query
fingerprint and each of a set of training reference fingerprints,
and
[0229] calculate the decisions by deciding that at least one of the
training reference fingerprints with the distance d less than a
threshold and the training query fingerprint are derived from the
same multimedia content, and
[0230] wherein at least two candidate thresholds for calculating
the decisions are provided and the candidate threshold resulting in
the smallest identifying error is selected as the threshold for the
candidate classifier.
[0231] EE 41. The method according to EE 27, wherein for each of at
least one of the candidate classifiers, the fingerprints for
generating the candidate classifier are derived as hash values,
each of the hash values is divided into weak bits and reliable
bits, where the weak bits are likely to flip when the multimedia
object, from which the fingerprint is derived, is modified, and the
reliable bits are less likely to flip as a result of content
modification, and
[0232] the candidate classifier is adapted to:
[0233] calculate a distance d between the training query
fingerprint and each of a set of training reference fingerprints
having the identical reliable bits, and
[0234] calculating the decisions by deciding that at least one of
the training reference fingerprints with the distance d less than a
threshold and the training query fingerprint are derived from the
same multimedia content,
[0235] wherein at least two combinations of threshold for
calculating the decisions and division of weak bits and reliable
bits are provided and the combination resulting in the smallest
identifying error is selected for the candidate classifier.
[0236] EE 42. The method according to EE 36, wherein for each of at
least one of the candidate classifiers, the fingerprints for
generating the candidate classifier are derived as hash values,
each of the hash values is divided into weak bits and reliable
bits, where the weak bits are likely to flip when the multimedia
object, from which the fingerprint is derived, is modified, and the
reliable bits are less likely to flip as a result of content
modification, and
[0237] the candidate classifier is adapted to:
[0238] calculate a distance d between the training query
fingerprint and each of a set of training reference fingerprints
having the identical reliable bits, and
[0239] calculating the decisions by deciding that at least one of
the training reference fingerprints with the distance d less than a
threshold and the training query fingerprint are derived from the
same multimedia content,
[0240] wherein at least two combinations of threshold for
calculating the decisions and division of weak bits and reliable
bits are provided and the combination resulting in the smallest
identifying error is selected for the candidate classifier.
[0241] EE 43. The method according to EE 39, wherein for each of at
least one of the candidate classifiers, the fingerprints for
generating the candidate classifier are derived as hash values,
each of the hash values is divided into weak bits and reliable
bits, where the weak bits are likely to flip when the multimedia
object, from which the fingerprint is derived, is modified, and the
reliable bits are less likely to flip as a result of content
modification, and
[0242] the candidate classifier is adapted to:
[0243] calculate a distance d between the training query
fingerprint and each of a set of training reference fingerprints
having the identical reliable bits, and
[0244] calculating the decisions by deciding that at least one of
the training reference fingerprints with the distance d less than a
threshold and the training query fingerprint are derived from the
same multimedia content,
[0245] wherein at least two combinations of threshold for
calculating the decisions and division of weak bits and reliable
bits are provided and the combination resulting in the smallest
identifying error is selected for the candidate classifier.
[0246] EE 44. The method according to EE 40, wherein for each of at
least one of the candidate classifiers, the fingerprints for
generating the candidate classifier are derived as hash values,
each of the hash values is divided into weak bits and reliable
bits, where the weak bits are likely to flip when the multimedia
object, from which the fingerprint is derived, is modified, and the
reliable bits are less likely to flip as a result of content
modification, and
[0247] the candidate classifier is adapted to:
[0248] calculate a distance d between the training query
fingerprint and each of a set of training reference fingerprints
having the identical reliable bits, and
[0249] calculating the decisions by deciding that at least one of
the training reference fingerprints with the distance d less than a
threshold and the training query fingerprint are derived from the
same multimedia content,
[0250] wherein at least two combinations of threshold for
calculating the decisions and division of weak bits and reliable
bits are provided and the combination resulting in the smallest
identifying error is selected for the candidate classifier.
[0251] EE 45. The method according to EE 27, wherein each of the
training query multimedia objects includes a number W of objects
which are synchronous with each other, and each of the training
reference multimedia objects includes the number W of objects which
are synchronous with each other, where W>1, and
[0252] wherein for each of the W objects in the training query
multimedia objects and the training reference multimedia objects,
at least one of the fingerprints is derived from the object
according to the same fingerprint algorithm respectively.
[0253] EE 46. The method according to EE 45, wherein the number W
of objects include an audio object and a video or image object, and
audio fingerprints are taken from audio objects and video or image
fingerprints are taken from video or image objects.
[0254] EE 47. An apparatus for training a model for identifying
multimedia objects, comprising:
[0255] a fingerprint calculator configured to, for each of one or
more samples including a training query multimedia object, a
training reference multimedia object and a mark indicating whether
the training query multimedia object matches the training reference
multimedia object or not, derive training query fingerprints from
the training query multimedia object according to fingerprint
algorithms F.sub.1 to F.sub.G respectively, where the fingerprint
algorithms F.sub.1 to F.sub.G are different from each other, and
G>1, and derive training reference fingerprints from the
training reference multimedia object according to the fingerprint
algorithms F.sub.1 to F.sub.G respectively; and
[0256] a training unit configured to: [0257] for each fingerprint
algorithm F.sub.t, generate at least one candidate classifier based
on the training query fingerprints and the training reference
fingerprints derived according to the fingerprint algorithm
F.sub.t, the candidate classifier being adapted to calculate a
decision for any two fingerprints derived according to the
fingerprint algorithm F.sub.t, which indicates a possibility that
the two fingerprints are not derived from the same multimedia
content; and [0258] generate the model including a weighted sum of
classifiers selected from the candidate classifiers and a threshold
TH.sub.c for evaluating the weighted sum such that the identifying
error obtained by applying the model to the training query
fingerprints and the training reference fingerprints derived from
the samples is minimized
[0259] EE 48. The apparatus according to EE 47, wherein the
selected classifiers in the generated model correspond to more than
one fingerprint algorithm.
[0260] EE 49. The apparatus according to EE 46, wherein the
classifiers are generated and selected through an Adaboost
method.
[0261] EE 50. The apparatus according to EE 49, wherein weights of
the selected classifiers in the weighted sum are determined through
the Adaboost method.
[0262] EE 51. The apparatus according to EE 47, wherein the
generation of the model comprises:
[0263] providing at least two sets of candidate weights of the
selected classifiers in the weighted sum; and
[0264] selecting the set of candidate weights resulting in the
smallest identifying error as the weights of the selected
classifiers in the weighted sum.
[0265] EE 52. The apparatus according to EE 47, wherein for each
fingerprint algorithm F.sub.t, only one classifier is selected.
[0266] EE 53. The apparatus according to EE 49, wherein for each
fingerprint algorithm F.sub.t, only one classifier is selected.
[0267] EE 54. The apparatus according to EE 50, wherein for each
fingerprint algorithm F.sub.t, only one classifier is selected.
[0268] EE 55. The apparatus according to EE 51, wherein for each
fingerprint algorithm F.sub.t, only one classifier is selected.
[0269] EE 56. The apparatus according to EE 47, wherein
[0270] for each of at least one of the candidate classifiers, the
candidate classifier is adapted to:
[0271] search a tree to find at least one leaf node having an bit
error rate between the training query fingerprint and the training
reference fingerprint represented by the leaf node less than a
maximum tolerable error rate; and
[0272] calculate the decision by deciding that only the training
reference fingerprint represented by the at least one leaf node and
the training query fingerprint are derived from the same multimedia
content,
[0273] wherein the training reference fingerprints have a fixed
length L=S.times.K bits, and S and K are positive integers,
[0274] wherein the tree is a 2.sup.K-ary tree having S levels, and
each node in the l-th level, 0.ltoreq.l.ltoreq.S, represents a bit
sequence of K.times.l bits,
[0275] wherein each level has a look-up table defining an estimated
bit error rate between the training query fingerprint and its
closest training reference fingerprint under a reached node of the
level, such that the probability of observing at least E errors
between b bits represented by the reached node and first b bits of
the training query fingerprint is greater than a threshold p.sub.t,
wherein at least two sets of parameters including K and an initial
value of the maximum tolerable error rate are provided for the
tree, and the set resulting in the smallest identifying error is
selected to generate the candidate classifier.
[0276] EE 57. The apparatus according to EE 56, wherein the at
least one leaf node comprises only one leaf node.
[0277] EE 58. The apparatus according to EE 57, wherein the only
one leaf node has the smallest bit error rate.
[0278] EE 59. The apparatus according to EE 47, wherein
[0279] for each of at least one of the candidate classifiers, the
fingerprints for generating the candidate classifier are derived as
hash values, and the candidate classifier is adapted to:
[0280] calculate a distance d between the training query
fingerprint and each of a set of training reference fingerprints,
and
[0281] calculate the decisions by deciding that at least one of the
training reference fingerprints with the distance d less than a
threshold and the training query fingerprint are derived from the
same multimedia content, and
[0282] wherein at least two candidate thresholds for calculating
the decisions are provided and the candidate threshold resulting in
the smallest identifying error is selected as the threshold for the
candidate classifier.
[0283] EE 60. The apparatus according to EE 56, wherein
[0284] for each of at least one of the candidate classifiers, the
fingerprints for generating the candidate classifier are derived as
hash values, and the candidate classifier is adapted to:
[0285] calculate a distance d between the training query
fingerprint and each of a set of training reference fingerprints,
and
[0286] calculate the decisions by deciding that at least one of the
training reference fingerprints with the distance d less than a
threshold and the training query fingerprint are derived from the
same multimedia content, and
[0287] wherein at least two candidate thresholds for calculating
the decisions are provided and the candidate threshold resulting in
the smallest identifying error is selected as the threshold for the
candidate classifier.
[0288] EE 61. The apparatus according to EE 47, wherein
[0289] for each of at least one of the candidate classifiers, the
fingerprints for generating the candidate classifier are derived as
hash values, each of the hash values is divided into weak bits and
reliable bits, where the weak bits are likely to flip when the
multimedia object, from which the fingerprint is derived, is
modified, and the reliable bits are less likely to flip as a result
of content modification, and
[0290] the candidate classifier is adapted to:
[0291] calculate a distance d between the training query
fingerprint and each of a set of training reference fingerprints
having the identical reliable bits, and
[0292] calculating the decisions by deciding that at least one of
the training reference fingerprints with the distance d less than a
threshold and the training query fingerprint are derived from the
same multimedia content,
[0293] wherein at least two combinations of threshold for
calculating the decisions and division of weak bits and reliable
bits are provided and the combination resulting in the smallest
identifying error is selected for the candidate classifier.
[0294] EE 62. The apparatus according to EE 56, wherein
[0295] for each of at least one of the candidate classifiers, the
fingerprints for generating the candidate classifier are derived as
hash values, each of the hash values is divided into weak bits and
reliable bits, where the weak bits are likely to flip when the
multimedia object, from which the fingerprint is derived, is
modified, and the reliable bits are less likely to flip as a result
of content modification, and
[0296] the candidate classifier is adapted to:
[0297] calculate a distance d between the training query
fingerprint and each of a set of training reference fingerprints
having the identical reliable bits, and
[0298] calculating the decisions by deciding that at least one of
the training reference fingerprints with the distance d less than a
threshold and the training query fingerprint are derived from the
same multimedia content,
[0299] wherein at least two combinations of threshold for
calculating the decisions and division of weak bits and reliable
bits are provided and the combination resulting in the smallest
identifying error is selected for the candidate classifier.
[0300] EE 63. The apparatus according to EE 59, wherein
[0301] for each of at least one of the candidate classifiers, the
fingerprints for generating the candidate classifier are derived as
hash values, each of the hash values is divided into weak bits and
reliable bits, where the weak bits are likely to flip when the
multimedia object, from which the fingerprint is derived, is
modified, and the reliable bits are less likely to flip as a result
of content modification, and
[0302] the candidate classifier is adapted to:
[0303] calculate a distance d between the training query
fingerprint and each of a set of training reference fingerprints
having the identical reliable bits, and
[0304] calculating the decisions by deciding that at least one of
the training reference fingerprints with the distance d less than a
threshold and the training query fingerprint are derived from the
same multimedia content,
[0305] wherein at least two combinations of threshold for
calculating the decisions and division of weak bits and reliable
bits are provided and the combination resulting in the smallest
identifying error is selected for the candidate classifier.
[0306] EE 64. The apparatus according to EE 60, wherein
[0307] for each of at least one of the candidate classifiers, the
fingerprints for generating the candidate classifier are derived as
hash values, each of the hash values is divided into weak bits and
reliable bits, where the weak bits are likely to flip when the
multimedia object, from which the fingerprint is derived, is
modified, and the reliable bits are less likely to flip as a result
of content modification, and
[0308] the candidate classifier is adapted to:
[0309] calculate a distance d between the training query
fingerprint and each of a set of training reference fingerprints
having the identical reliable bits, and
[0310] calculating the decisions by deciding that at least one of
the training reference fingerprints with the distance d less than a
threshold and the training query fingerprint are derived from the
same multimedia content,
[0311] wherein at least two combinations of threshold for
calculating the decisions and division of weak bits and reliable
bits are provided and the combination resulting in the smallest
identifying error is selected for the candidate classifier.
[0312] EE 65. The apparatus according to EE 47, wherein each of the
training query multimedia objects includes a number W of objects
which are synchronous with each other, and each of the training
reference multimedia objects includes the number W of objects which
are synchronous with each other, where W>1, and
[0313] wherein for each of the W objects in the training query
multimedia objects and the training reference multimedia objects,
at least one of the fingerprints is derived from the object
according to the same fingerprint algorithm respectively.
[0314] EE 66. The apparatus according to EE 65, wherein the number
W of objects include an audio object and a video or image object,
and audio fingerprints are taken from audio objects and video or
image fingerprints are taken from video or image objects.
[0315] EE 67. A computer-readable medium having computer program
instructions recorded thereon for enabling a processor to perform a
method of identifying a multimedia object, the method
comprising:
[0316] acquiring query fingerprints f.sub.q,1 to f.sub.q,T which
are derived from the multimedia object according to fingerprint
algorithms F.sub.1 to F.sub.T respectively, where the fingerprint
algorithms F.sub.1 to F.sub.T are different from each other, and
T>1;
[0317] for each fingerprint algorithm F.sub.t, calculating
decisions through each of at least one classifier corresponding to
the fingerprint algorithm F.sub.t based on the query fingerprint
and reference fingerprints derived from a plurality of reference
multimedia objects according to the fingerprint algorithm F.sub.t,
each of the decisions indicating a possibility that the query
fingerprint and the reference fingerprint for calculating the
decision are not derived from the same multimedia content;
[0318] for each of the reference multimedia objects, calculating a
distance D as a weighted sum of the decisions relating to the
reference fingerprints derived from the reference multimedia object
according to the fingerprint algorithms F.sub.1 to F.sub.T
respectively; and
[0319] identifying the multimedia object as matching the reference
multimedia object with the smallest distance which is less than a
threshold TH.sub.c.
[0320] EE 68. A computer program product including computer program
instructions for enabling a processor to perform a method of
identifying a multimedia object, the method comprising:
[0321] acquiring query fingerprints f.sub.q,1 to f.sub.q,T which
are derived from the multimedia object according to fingerprint
algorithms F.sub.1 to F.sub.T respectively, where the fingerprint
algorithms F.sub.1 to F.sub.T are different from each other, and
T>1;
[0322] for each fingerprint algorithm F.sub.t, calculating
decisions through each of at least one classifier corresponding to
the fingerprint algorithm F.sub.t based on the query fingerprint
and reference fingerprints derived from a plurality of reference
multimedia objects according to the fingerprint algorithm F.sub.t,
each of the decisions indicating a possibility that the query
fingerprint and the reference fingerprint for calculating the
decision are not derived from the same multimedia content;
[0323] for each of the reference multimedia objects, calculating a
distance D as a weighted sum of the decisions relating to the
reference fingerprints derived from the reference multimedia object
according to the fingerprint algorithms F.sub.1 to F.sub.T
respectively; and
[0324] identifying the multimedia object as matching the reference
multimedia object with the smallest distance which is less than a
threshold TH.sub.c.
[0325] EE 69. A computer-readable medium having computer program
instructions recorded thereon for enabling a processor to perform a
method of training a model for identifying multimedia objects, the
method comprising:
[0326] for each of one or more samples including a training query
multimedia object, a training reference multimedia object and a
mark indicating whether the training query multimedia object
matches the training reference multimedia object or not, [0327]
deriving training query fingerprints from the training query
multimedia object according to fingerprint algorithms F.sub.1 to
F.sub.G respectively, where the fingerprint algorithms F.sub.1 to
F.sub.G are different from each other, and G>1; [0328] deriving
training reference fingerprints from the training reference
multimedia object according to the fingerprint algorithms F.sub.1
to F.sub.G respectively; and
[0329] for each fingerprint algorithm F.sub.t, generating at least
one candidate classifier based on the training query fingerprints
and the training reference fingerprints derived according to the
fingerprint algorithm F.sub.t, the candidate classifier being
adapted to calculate a decision for any two fingerprints derived
according to the fingerprint algorithm F.sub.t, which indicates a
possibility that the two fingerprints are not derived from the same
multimedia content;
[0330] generating the model including a weighted sum of classifiers
selected from the candidate classifiers and a threshold TH.sub.c
for evaluating the weighted sum such that the identifying error
obtained by applying the model to the training query fingerprints
and the training reference fingerprints derived from the samples is
minimized
[0331] EE 70. A computer program product including computer program
instructions for enabling a processor to perform a method of
training a model for identifying multimedia objects, the method
comprising:
[0332] for each of one or more samples including a training query
multimedia object, a training reference multimedia object and a
mark indicating whether the training query multimedia object
matches the training reference multimedia object or not, [0333]
deriving training query fingerprints from the training query
multimedia object according to fingerprint algorithms F.sub.1 to
F.sub.G respectively, where the fingerprint algorithms F.sub.1 to
F.sub.G are different from each other, and G>1; [0334] deriving
training reference fingerprints from the training reference
multimedia object according to the fingerprint algorithms F.sub.1
to F.sub.G respectively; and
[0335] for each fingerprint algorithm F.sub.t, generating at least
one candidate classifier based on the training query fingerprints
and the training reference fingerprints derived according to the
fingerprint algorithm F.sub.t, the candidate classifier being
adapted to calculate a decision for any two fingerprints derived
according to the fingerprint algorithm F.sub.t, which indicates a
possibility that the two fingerprints are not derived from the same
multimedia content;
[0336] generating the model including a weighted sum of classifiers
selected from the candidate classifiers and a threshold TH.sub.c
for evaluating the weighted sum such that the identifying error
obtained by applying the model to the training query fingerprints
and the training reference fingerprints derived from the samples is
minimized.
* * * * *