A method for controlling storage of a first image and related electronic device

The method for an electronic device to manage image storage by identifying and controlling logo images addresses the memory optimization challenge, enhancing device performance by efficiently utilizing storage space.

WO2025045805A1PCT designated stage expired Publication Date: 2025-03-06MAERSK AS
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/073788
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-29
Filing Date
2024-08-26
Publication Date
2025-03-06

AI Technical Summary

Technical Problem

Electronic devices face memory optimization challenges due to the accumulation of logo images in email messages, which occupy significant storage space without proper management.

Method used

A method for an electronic device to control the storage of images by obtaining a message with an image, determining similarity parameters with existing image data, updating the image data structure, and using a logo indicator to decide on storage control, thereby optimizing memory usage.

Benefits of technology

The method enables accurate and robust detection of logo images and optimizes storage space by controlling the storage of such images, improving the performance of electronic devices by freeing up computational resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024073788_06032025_PF_FP_ABST
    Figure EP2024073788_06032025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed is a method, performed by an electronic device, for controlling storage of a first image. The method comprises obtaining a message comprising the first image. The method comprises obtaining an image data structure comprising image data associated with one or more second images. The method comprises determining one or more similarity parameters based on the first image and the image data. The method comprises updating the image data structure based on the one or more similarity parameters. The method comprises determining, based on the updated image data structure, a logo indicator indicating whether the first image is a logo. The method comprises controlling, based on the logo indicator, the storage of the first image.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] A METHOD FOR CONTROLLING STORAGE OF A FIRST IMAGE AND RELATED

[0002] ELECTRONIC DEVICE

[0003] The present disclosure pertains to the field of storage control and management. The present disclosure relates to a method for controlling storage of a first image and related electronic device.

[0004] BACKGROUND

[0005] Electronic messages, such as e-mails, may contain various parts. Some parts of the content may include images, such brand and / or company logos. These logos are stored, such as automatically stored, in an email recipient’s computer and / or in a related server and may accumulate over time as electronic messages continue to be received.

[0006] Subsequently logos can occupy significant portions of memory in these electronic devices.

[0007] SUMMARY

[0008] Accordingly, there is a need for an electronic device and a method for controlling storage of a first image, which mitigate, alleviate, or address the shortcomings existing and may allow for accurate, and robust control of the storage of images, such as images that are identified as a logo e.g., for optimization of memory (e.g., storage space) of an electronic device.

[0009] Disclosed is a method, performed by an electronic device, for controlling storage of a first image. The method comprises obtaining a message comprising the first image. The method comprises obtaining an image data structure comprising image data associated with one or more second images. The method comprises determining one or more similarity parameters based on the first image and the image data. The method comprises updating the image data structure based on the one or more similarity parameters. The method comprises determining, based on the updated image data structure, a logo indicator indicating whether the first image is a logo. The method comprises controlling, based on the logo indicator, the storage of the first image.

[0010] Disclosed is an electronic device comprising memory circuitry, processor circuitry, and an interface, wherein the electronic device is configured to perform any of the methods disclosed herein. Disclosed is a computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device cause the electronic device to perform any of the methods disclosed herein.

[0011] It is an advantage of the present disclosure that the disclosed electronic device and method provide more accurate, and robust detection of logo(s) and control of storage of image(s). This may result in improved optimization of memory (e.g., storage space) of an electronic device.

[0012] Advantageously, the disclosed method may enable improved performance of an electronic device. For example, controlling the storage of a logo image (e.g., deleting logo images), may increase the quantity of computational resources of an electronic device (e.g., Random Access Memory, RAM) that may be available for processing, e.g., instead of consumed for storage. The disclosed method may comprise removing duplicate logos (e.g., while retaining non-duplicates) from the memory of an electronic device. This can advantageously improve performance of an electronic device while maintaining nonduplicate logos.

[0013] BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The above and other features and advantages of the present disclosure will become readily apparent to those skilled in the art by the following detailed description of exemplary embodiments thereof with reference to the attached drawings, in which:

[0015] Figs. 1 A-1 B represent a diagram illustrating an exemplary method, performed by an electronic device, for controlling storage of a first image according to this disclosure, Fig. 2 is a diagram illustrating schematically an example process, performed by an electronic device, according to this disclosure, and

[0016] Fig. 3 is a block diagram illustrating an exemplary electronic device according to this disclosure.

[0017] DETAILED DESCRIPTION

[0018] Various exemplary embodiments and details are described hereinafter, with reference to the figures when relevant. It should be noted that the figures may or may not be drawn to scale and that elements of similar structures or functions are represented by like reference numerals throughout the figures. It should also be noted that the figures are only intended to facilitate the description of the embodiments. They are not intended as an exhaustive description of the disclosure or as a limitation on the scope of the disclosure. In addition, an illustrated embodiment needs not have all the aspects or advantages shown. An aspect or an advantage described in conjunction with a particular embodiment is not necessarily limited to that embodiment and can be practiced in any other embodiments even if not so illustrated, or if not so explicitly described.

[0019] The figures are schematic and simplified for clarity, and they merely show details which aid understanding the disclosure, while other details have been left out. Throughout, the same reference numerals are used for identical or corresponding parts.

[0020] A message can be seen as an electronic communication sent from a sender to a recipient (e.g., a user of the electronic device). For example, the message may comprise one or more images and / or words. The message can be seen as a digital communication. The message is for example an electronic message. The message may for example be an email, a text message, instant message, etc. In some examples, the message is an email comprising one or more images (e.g. including a first image). For example, the message may include an attachment comprising one or more images. For example, the message may include an email signature comprising one or more images.

[0021] An image (e.g. the first image) can be seen as an image of the message, (e.g. of a first message). For example, the message comprises the first image (e.g., as an attachment). An image is for example in a given format (such as jpg, jpeg, gif, or png). In some examples, the first image may be a logo (e.g., a logo of a company and / or brand) or not.

[0022] A logo can for example be seen as a representation and / or a symbol representative of a brand and / or of an organisation. For example, a logo may be seen as a graphical representation (e.g., an image) of a brand and / or organisation.

[0023] An image data structure can be seen as a data structure comprising one or more features associated with a second image. In other words, the second image is for example an image which has been processed according to this disclosure and indexed in the image data structure. In other words, the second image is for example an image obtained from the image data structure. The image data structure may be a database, a look up table, and / or an array for storage. Examples of image data structures are illustrated with Table B and / or Table A of this disclosure. In other words, when an additional message is obtained, the additional message including a further first image, the further first image is processed according to this disclosure.

[0024] Figs. 1 A-B shows a flow diagram of an exemplary method 100, performed by an electronic device, according to the disclosure. The method 100 is performed by an electronic device, such as the electronic device disclosed herein, such as electronic device 300 of Fig. 3. The method may be performed for controlling storage of a first image.

[0025] The method 100 comprises obtaining S102 a message comprising the first image. In one or more example methods, obtaining a message comprising the first image can be seen as receiving from a sender and / or retrieving a message comprising the first image. In some examples, the first image is attached to the message, such as to an email (e.g., as an email attachment). For example, the electronic device may store the message comprising the first image.

[0026] The method 100 comprises obtaining S104 an image data structure comprising image data associated with one or more second images. In some examples, obtaining S104 an image data structure comprising image data associated with one or more second images comprises retrieving and / or receiving an image data structure comprising image data associated with one or more second images. For example, stated differently, the image data associated with one or more second images is obtained for the one or more second images indexed in the image data structure. The one or more second images can be seen as images obtained from one or more earlier messages. In other words, the one or more second images can be seen as images for comparison against the first image. The image data can for example be seen as data associated with (e.g. representative of) one or more second images. For example, the image data can comprise metadata of an image (e.g., of a first image or second image). For example, the image data comprises, for each second image, one or more of: a transform feature, an index, a count parameter, a path parameter, and a domain parameter. The image data structure can be seen as a data structure comprising information associated with the one or more second images. The image data structure may comprise image data for one or more of: a second primary image, a second secondary image, and a second tertiary image etc. In some examples, the image data structure can be seen as an index table. In some examples, the image data structure can be seen as a look up table. In some examples, the image data structure may be seen as a baseline data structure comprising e.g., base vectors. The method 100 comprises determining S106 one or more similarity parameters based on the first image and the image data. The one or more similarity parameters can be seen as parameters indicative of the similarity between a second image and the first image, e.g. quantify how similar the first image and the second image are. The one or more similarity parameters for example comprise values (e.g., integer, decimal, percentage, etc.). In some examples, the image data comprises a second transform feature for each of the one or more second images. Stated differently, for each second image of the image data, a similarity parameter is determined based on the first image and each second image, such as based on a first transform feature of the first image and each second transform feature. In one or more example methods, the similarity parameter comprises one or more of: a cosine distance, and a Euclidean distance. The cosine distance may be seen as a cosine similarity parameter measuring how different is the first image to each of the second images, such as half of the squared Euclidean distance. The cosine distance may be determined based on normalized vectors representative of the first image and of each of the second images.

[0027] The method 100 comprises updating S108 the image data structure based on the one or more similarity parameters. The method 100 comprises determining S110, based on the updated image data structure, a logo indicator indicating whether the first image is a logo. A logo indicator is for example indicative of whether the first image is a logo. In other words, the logo indicator indicated whether the first image is a logo. The logo indicator for example comprises a field, a value and / or text. The logo indicator may for example comprise a Boolean. In some examples, the logo indicator is binary. For example, when the logo indicator is 1 , the logo indicator can be seen as indicative of the first image being a logo. For example, when the logo indicator is 0, the logo indicator can be seen as indicative of the first image not being a logo.

[0028] The method 100 comprises controlling S112, based on the logo indicator, the storage of the first image, (e.g., in a memory circuitry of the electronic device, e.g., the memory circuitry 301 of Fig. 3). For example, the logo indicator comprises control information. In other words, the electronic device (such as electronic device 300 of Fig. 3) may be configured to operate (e.g., to store the first image or delete the first image from a permanent storage) according to the logo indicator. It may be appreciated that the first image is only temporarily stored while processing the first image according to method 100, and becomes permanently stored when the logo indicator shows that the first image is estimated not to be a logo; or is deleted when the logo indicator shows that the first image is estimated to be a logo.

[0029] In one or more example methods, the image data comprises at least one second transform feature for at least one of the one or more second images. In other words, for example, the image data comprises a transform feature for each of the one or more second images, such as for each image indexed in the image data structure. The image data structure may comprise image data for one or more of: a second primary image, a second secondary image, a second tertiary image etc. The image data may comprise one or more of: a second primary transform feature for the second primary image, a second secondary transform feature for the second secondary image, a second tertiary transform feature for the second tertiary image, etc..

[0030] In one or more example methods, determining S106 the one or more similarity parameters based on the first image and the image data comprises determining S106A a first transform feature of the first image by applying a discrete transformation technique to the first image. In one or more example methods, determining S106 the one or more similarity parameters based on the first image and the image data comprises determining S106B at least one of the one or more similarity parameters based on the first transform feature and the at least one second transform feature.

[0031] In one or more example methods, the discrete transformation technique comprises a discrete cosine transformation technique for providing a discrete cosine transform feature and / or a technique based on a discrete Fourier transform and / or a Haar featurization technique. The discrete transformation technique can be seen as a technique for transforming data of an image. For example, the discrete transformation technique may be configured to compress data of an image (e.g., the first image, and / or the one or more second images). In other words, in some examples, the discrete transformation technique may be seen as an image featurization technique. For example, the discrete transformation technique may be configured to convert an image from the spatial domain to the frequency domain. Applying a discrete transformation technique to image data (e.g., the first image data and / or the second primary image data) associated with an image (e.g., the first image and / or the second primary image) can be seen as extracting one or more features (e.g., a first transform feature and / or a second primary transform feature) from the image. In some examples, the output of the discrete transformation technique comprises one or more values (e.g., a matrix of values). The output of the discrete transformation technique for example comprises integers, decimals, fractions, etc. The discrete cosine transformation (DCT) technique can be seen as a data compression technique, such as an image compression technique. For example, the DCT technique can provide a discrete cosine transform feature for an image. The discrete cosine transform feature for example comprises a matrix and / or a vector of an image (e.g., of the first image and / or the one or more second images). The discrete Fourier transform (DFT) can be seen as a non-continuous Fourier transform. For example, the output of the DFT may comprise one or more discrete values. For example, the output of the DFT may comprise a matrix and / or a vector of an image. The output (e.g., the transform feature, such as the first and / or second transform feature) of the DFT can be seen as a frequency domain representation of an image (e.g., the first and / or second image). Haar featurization technique can for example be seen as a Haar transform. The Haar featurization technique can be seen as a data compression technique, such as an image compression technique. In some examples, Haar featurization may provide a Haar- like feature. The Haar featurization technique may be seen as a type of wavelet analysis, e.g., based on a Haar wavelet. In one or more examples, the output of the Haar featurization technique comprises a matrix and / or a vector.

[0032] The first transform feature can be seen as an extracted feature indicative of the first image, e.g. associated with the first image. For example, the first transform feature can be seen as the output of the discrete transformation technique when the first image is taken as the input. In some examples, the first transform feature can for example be seen as a frequency domain feature of the first image. The first transform feature is for example indexed in the image data structure when the first image is not considered by method 100 to be a logo. The first transform feature is for example a vector (e.g. a query vector).

[0033] The second transform feature can be seen as an extracted feature indicative of the second image. For example, the second transform feature can be seen as the output of the discrete transformation technique when a second image is taken as the input. In some examples, the second transform feature can for example be seen as a frequency domain feature of a second image. The second transform feature is for example indexed in the image data structure and e.g. retrieved when the image data structure is retrieved. The second transform feature can be seen as a vector (e.g., a base vector).

[0034] In some examples, determining S106B at least one or more similarity parameters based on the first transform feature and the at least one second transform feature comprises calculating a similarity parameter based on the first transform feature and each second transform feature of the image data. For example, determining S106B the at least one or more similarity parameters comprises determining (e.g., calculating for each second image of the image data structure) one or more of: a cosine distance and a Euclidean distance based on the first transform feature (e.g., first DCT feature) and the second transform feature (e.g., second DCT feature). The determined similarity parameter is for example indicative of the similarity between the first transform feature and the second transform feature.

[0035] In one or more example methods, updating S108 the image data structure based on the similarity parameter comprises performing S108A, based on the one or more similarity parameters, a nearest neighbour search of the image data structure to select at least one of the one or more second images as a closest candidate image to the first image. The nearest neighbour search can be seen as an approximate nearest neighbour search (e.g., fast approximate nearest neighbour search). The nearest neighbour search is for example based on a hierarchical graph structure e.g., associated with one or more transform features of one or more images (e.g., first images and / or one or more second images). For example, the nearest neighbour search comprises a Hierarchical Navigable Small World (HNSW) search. For example, HNSW is a greedy search algorithm that uses a heuristic to find the nearest neighbour(s), while other methods may use different search strategies such as beam search or branch and bound. In some examples, the nearest neighbour search is based on one or more binary trees (e.g., K-D trees) e.g., associated with one or more transform features of one or more images (e.g., first images and / or one or more second images). In some examples, the nearest neighbour search is based on hashing of the one or more transform features of one or more images (e.g., the first image and / or one or more second images). In some examples, the nearest neighbour search is based on hash based indexing.

[0036] The closest candidate image can for example be seen as the second image (e.g., the second transform feature of the second image) having the highest similarity parameter (e.g., lowest cosine distance and / or lowest Euclidean distance) to the first transform feature, amongst the plurality of second images of the image data structure. In other words, the closest candidate image can be seen as an image of the one or more second images which is the most similar to the first image. For example, the second transform feature of the closest candidate image of the one or more second images is the closest to the first transform feature of the first image.

[0037] In one or more example methods, updating S108 the image data structure based on the similarity parameter comprises determining S108B whether the similarity parameter between a second transform feature of the closest candidate image and the first transform feature meets a first criterion. In some examples, for S108B, the second transform feature of the closest candidate image is retrieved from the image data structure. In one or more example methods, the first criterion is based on a first threshold. In some examples, whether the similarity parameter between a second transform feature of the closest candidate image and the first transform feature meets a first criterion depends on whether the similarity parameter is the comparison of the similarity parameter with the first threshold. For example, when the similarity parameter is greater than the first threshold, the first criterion can be seen as not met. For example, when the similarity parameter is equal or less than the first threshold, the first criterion can be seen as met. The first threshold for example comprises a value. The first threshold for example comprises an integer, a decimal, a fraction, a percentage etc. For example, the first threshold for comparing to a cosine distance can be e.g., a value of 0.0002. For example, when the similarity parameter (e.g., cosine distance) is greater than the first threshold (e.g., 0.0002), the first criterion can be seen as not being met. For example, when the first criterion is not met, the first image and the second image (e.g., second primary image) can be seen as insufficiently similar. For example, when the similarity parameter (e.g., cosine distance) is equal or less than (e.g., or equal to) the first threshold (e.g., 0.0002), the first criterion can be seen as met. For example, when the first criterion is met, the first image and the second image (e.g., second primary image) can be seen as sufficiently similar. Other values than 0,0002 can be contemplated.

[0038] In one or more example methods, updating S108 the image data structure based on the similarity parameter comprises, upon the similarity parameter meeting the first criterion, updating S108C one or more data elements associated with the closest candidate image in the image data structure. A data element can be seen as an element of a second image of the image data structure. For example, when the image data structure is a table, the data element of the image data structure can be seen as a field or a row of the image data structure, such as for a given second image. For example, the data elements for a second primary image comprise, for the second primary image, one or more of: a transform feature, an index, a count parameter, a path parameter, and a domain parameter. For example, updating S108C one or more data elements associated with the closest candidate image comprises updating, for the second image deemed the closest candidate image, one or more of: a transform feature, an index, a count parameter, a path parameter, and a domain parameter.

[0039] In one or more example methods, updating S108C the one or more data elements associated with the closest candidate image in the image data structure comprises incrementing S108CA a count parameter associated with the closest candidate image in the image data structure. In one or more example methods, the count parameter indicates a number of images for which the similarity parameter meets the first criterion. For example, the count parameter may provide the number of second images (e.g., closest candidate images) similar to, such as sufficiently similar to, the first image. In other words, each time the first criterion is met for an image from a given message, the count parameter of the closest image candidate in the image data structure may be incremented (e.g., by 1). For example, the count parameter can be seen as a count indicative of the number of times the first criterion has been met, e.g. for a given image. For example, the count parameter comprises a value (e.g., an integer). For example, the count parameter is incremented for the closest candidate image indexed in the image data structure ( such as by using the index number of a table, such as Table A). The closest candidate image is for example a second image of the image data structure for which the first criterion is met. For example, when the first criterion is satisfied, the count parameter may be incremented from j to j+1 where j is at least 1 , (e.g. from 1 to 2). This is shown in the image data structure 24 of Fig. 2. The incremented count parameter of the image data structure 24 is 2.

[0040] In one or more example methods, updating S108C the one or more data elements associated with the closest candidate image in the image data structure comprises recording S108CB a path to the first image in a path parameter associated with the closest candidate image in the image data structure. In one or more example methods, the path parameter is indicative of one or more paths for one or more images for which the similarity parameter meets the first criterion. The path can be seen as the storage location, such as the directory, of a software path to an image (e.g., the first image). For example, the path parameter comprises a pathname indicative of the location (e.g., in the memory circuitry of an electronic device, such as the memory circuitry 301 of electronic device 300 shown in Fig. 3) of an image (e.g., the first image). For example, an image (e.g., the first image) may be located by inputting the path parameter to an electronic device (e.g., via an interface of an electronic device, e.g., via the interface 303 of the electronic device 300 shown in Fig. 4). In some examples, updating S108C the one or more data elements associated with the closest candidate image in the image data structure comprises recording a path to the first image in a path parameter associated with the closest candidate image in the image structure. For example, each image that meets the first criterion may have the pathname added (e.g. concatenated as illustrated in Fig. 2) to the list of paths of the closest candidate image of the image data structure.

[0041] In one or more example methods, updating S108 the image data structure based on the similarity parameter comprises upon the similarity parameter not meeting the first criterion, including S108D one or more data elements associated with the first image in the image data structure with an additional index. In one or more example methods, the one or more data elements associated with the first image comprises the first transform feature, the additional index for the first image, a first count parameter for the first image, a first path parameter for the first image, and / or a domain parameter of the message providing the first image. The additional index can for example be an index value uniquely assigned to the first image (e.g., as shown in the image data structure 24 of Fig. 2, and in Table A). The index can for example be seen as index number. The domain parameter can be seen as a parameter indicative of the domain associated with the image (e.g., the first image). For example, the domain parameter can be seen as a mail domain associated with an image. For example, the message comprising the first image may be associated with a given domain. The domain parameter may be a mail domain associated with a message comprising an image (e.g., the first image or a second image). For example, the image may have been obtained from an email account “abc@xyz.com”, xyz.com being the domain associated with the image. The first count parameter for the first image can be seen as a parameter indicative of the number of images (e.g., one or more second images) similar to, such as sufficiently similar to the first image. When the similarity parameter for the first image does not meet the first criterion, the first count parameter is 1 . The first path parameter for the first image can be seen as a parameter indicative of the location of the first image.

[0042] Table A can for example be seen as an image data structure, e.g., image data structure obtained in S104. Table A shows n indexes of the image data structure. For example, Table A comprises image data associated with the first image and the one or more second images. The image data shown in Table A comprises the index, the transform feature, the count parameter, the path parameter and / or the domain parameter.

[0043] Table A

[0044] For example, data elements (e.g., a row) with an additional index are included in the image data structure upon the similarity parameter not meeting the first criterion. For example, a (such as each) data element of the image data structure (such as Table A) comprises an index, a transform feature, a count parameter for a given image, a path parameter for the given image, and / or a domain parameter of the message providing the given image.

[0045] The transform feature is for example a DCT transform feature. For example, for Table A, an example transform feature may be for an image with shape (16,16), and may be a 2 dimensional array with shape m*n as 16*16 where m is a 1 -d array with size 16. For example, the transform feature may be expressed as:, [[1st array], [2ndarray], [3rdarray],... [16tharray]], wherein the 1 st array may be in form [1.1 , 2.1 , 1 .1 , 3, 4, 5, 6, 7, 8, 9, 1 ,2, 3, 4, 5, 6],

[0046] Table A shows an example path parameter for a second image of the one or more second images, the path parameter being “xdrive / downloads / b23ra_220423”. Table A shows an example a domain parameter of a second image of the one or more second images, the domain parameter being “xyz.com”. In some examples, the domain parameter can be seen as “@xyz.com”. Table A shows domain parameters associated with second images of the one or more second images (e.g., bcompany.com, zcompany.com, qcompany.com).

[0047] There may have been a number of iterations (e.g., performed by the electronic device) to populate Table A. For example, in index 1 of Table A (e.g., the updated image data structure), the first criterion has been met (e.g., sequentially) 100 times. This is shown in Table A as the count parameter for index 1 being 100. For example, on the 101stiteration (e.g. 101stimage to processed), the first criterion was not satisfied. Upon the first criterion not being met on the 101stiteration, data elements associated with the 101st image was included with an additional index (e.g., an incremented index, e.g., 2). In one or more example methods, determining S110 a logo indicator based on the updated image data structure comprises determining S110A whether a parameter associated with at least one second image indexed in the updated image data structure meets a second criterion. In one or more example methods, the parameter comprises a count parameter associated with at least one image indexed in the updated image data structure and / or a domain parameter associated with at least one image indexed in the updated image data structure. In one or more example methods, the second criterion is based on a second threshold. In some examples, whether the parameter meets the second criterion depends on a comparison between the parameter and the second threshold. For example, when the parameter is greater than the second threshold, the second criterion can be seen as being met. For example, when the parameter is equal or less than the second threshold, the second criterion can be seen as not being met. The second threshold for example comprises a value, e.g. 20. The second threshold for example comprises an integer, a decimal, a fraction, etc. In one or more examples, when the parameter comprises a count parameter, the count parameter of a given image of the image data structure is compared to the threshold. In one or more examples, when the parameter comprises a count parameter, the second threshold may for example comprise a value of 20. Stated differently, for example the second criterion may be met when the count parameter is equal to or greater than 20. For example, when the second criterion is met, the second criterion has for example been met by 20 second images, e.g. consecutively (e.g., sequentially). In other words, when the count parameter has, for a given index (e.g., index 1 , 3, and 5 as shown in Table A), been incremented 19 times, the second criterion can be seen as satisfied.

[0048] In one or more examples, when the parameter meets the second criterion for a given image indexed in the image data structure, the image is considered a logo, and the method may comprises including a logo indicator in the image data structure for indicating that the given image is a logo.

[0049] In one or more examples, determining S110A whether a parameter associated with at least one image indexed in the updated image data structure meets the second criterion comprises determining a number of second images associated with a domain parameter.

[0050] In one or more examples, when the parameter comprises a domain parameter, the second criterion can be seen as met when the number of second images associated with (such as consecutively) a given domain parameter (e.g., xyz.com as shown in Table A) is greater than the second threshold (e.g., threshold value). In one or more examples, when the parameter comprises a domain parameter, the second criterion can be seen as not being met when the number of second images associated with (such as consecutively) a given domain parameter (e.g., xyz.com) is equal or less than the second threshold (e.g., threshold value). In other words, when a quantity of messages of an index associated with a given domain, such as email domain, is greater than the second threshold, the electronic device may be configured to determine that the logo indicator indicates that the first image is a logo. This may advantageously assist in storage control by maintaining relational data between an image and a brand.

[0051] In one or more example methods, determining S110 a logo indicator based on the updated image data structure comprises upon determining that the parameter meets the second criterion, determining S110B that the logo indicator indicates that the first image is a logo. For example, determining S110B that the logo indicator indicates that the first image is a logo comprises generating a logo indicator indicative of the first image being a logo. For example, a logo indicator indicative of the first image being a logo for example comprises a value of 1 . In one or more example methods, determining S110 a logo indicator based on the updated image data structure comprises, upon determining that the parameter does not meet the second criterion, determining S110C that the logo indicator does not indicate that the first image is a logo.

[0052] In some examples, determining S110 a logo indicator based on the updated image data structure comprises generating a logo indicator based on the updated image data structure. For example, determining S110B that the logo indicator does not indicate that the first image is a logo comprises generating a logo indicator indicative of the first image not being a logo. For example, a logo indicator indicative of the first image not being a logo for example comprises a value of 0.

[0053] In one or more example methods, controlling S112, based on the logo indicator, storage of the image data structure comprises deleting S112A the first image from a storage unit when the logo indicator indicates that the first image is a logo. The storage unit can for example be seen as a data storage unit (e.g., an electronic data storage unit). The storage unit can for example be seen as an internal storage unit (e.g. memory circuitry) or an external storage unit (e.g. a remote database) with respect to the electronic device. In other words, the electronic device may comprise the storage unit. For example, memory circuitry (such as memory circuitry 301 of electronic device 300 shown in Fig. 3) comprises the storage unit. The storage unit may for example be an external storage unit. For example, the storage unit is a remote data storage part of an external electronic device (e.g., external server), such a different electronic device to electronic device 300 of Fig. 3. In some examples, deleting S112A the first image from a storage unit when the logo indicator indicates that the first image is a logo comprises deleting (e.g., flushing, removing, and / or permanently deleting) data from the path location (e.g., as indicated by the path parameter) of the first image from a storage unit (e.g., from the memory of the electronic device, e.g., from memory circuitry 301 of the electronic device 300 shown in Fig. 3). In one or more example methods, controlling S112, based on the logo indicator, storage of the image data structure comprises deleting one or more second images from a storage unit when the logo indicator indicates that the first image is a logo.

[0054] In one or more examples, deleting S112A the first image from a storage unit comprises extracting one or more path parameters from the image data structure. For example, deleting the first image and / or one or more second images comprises deleting data located in the directory indicated by the one or more extracted path parameters.

[0055] In some examples, when the logo indicator indicates that the first image is not a logo, the electronic device (e.g., electronic device 300 of Fig. 3) may be configured to refrain from deleting (e.g., to enable continued storage of) the first image from a storage unit.

[0056] It may be envisaged that for example, in an initialisation step, the image data structure is generated. In one or more example methods, obtaining S104 an image data structure comprises generating an image data structure comprising image data associated with one or more second images. In some examples, the electronic device may be configured to obtain one or more messages comprising one or more second images, e.g. before receiving the message comprising the first image. For example, the electronic device (such as the electronic device 300 of Fig. 3) may be configured to obtain messages comprising second images over a given time period (e.g., 3 months). For example, the electronic device may store one or more messages comprising one or more second images.

[0057] In one or more example methods, the image data structure comprises image data for one or more of: a second primary image, and a second secondary image. The one or more second images are for example in a given format. The one or more second images are for example is in the format jpg, jpeg, gif, or png. In some examples, the image data structure comprises image data for a second primary image, a second secondary image, and a second tertiary image, etc.

[0058] In one or more example methods, obtaining S104 the image data structure comprises preprocessing S104A, based on respective image size and / or image type, one or more of: the second primary image, and the second secondary image. In some examples, the preprocessing S104A comprises filtering, based on respective image size and / or image type, one or more of: the second primary image, and the second secondary image. Preprocessing S104A based on respective image size one or more of: the second primary image, and the second secondary image can be seen as filtering the one or more second images such that the obtained image data structure does not comprise second images having an image size equal or below a threshold. The threshold may for example be 100 kilobytes (kB). In other words, pre-processing the one or more second images may comprise filtering out images with a size greater than 100kB. Logos (e.g., logo images) may often be indicated by images (e.g., first images and / or second images) with a small (e.g., less than 100kB) image size. For example, filtering out images with a size greater than 100kB may advantageously reduce the number of non-logo images in the obtained image data structure, thereby improving the efficiency of the disclosed method.

[0059] Pre-processing S104A based on respective image type, one or more of: the second primary image, and the second secondary image can be seen as filtering, based on the image type, the one or more second images such that the obtained images data structure does not comprise second images of one or more image types. For example, the electronic device may filter the one or more second images such that the image data structure comprises one or more types of images (e.g., file types, such as Joint Photographic Experts Group (jpg / jpeg), Graphics Interchange Format (gif), Portable Graphics Network (png)). For example, pre-processing the one or more second images may comprise filtering out images of a different file type to jpg, jpeg, gif and / or png.

[0060] In one or more example methods, obtaining S104 the image data structure comprises determining S104B a second primary transform feature of the second primary image by applying S104BA a discrete transformation technique to the second primary image (such as to the second primary image data associated with the second primary image). For example, the discrete transformation technique may be configured to convert an image from the spatial domain to the frequency domain. Applying a discrete transformation technique to image data (e.g., the second primary image data) associated with an image (e.g., the second primary image) can be seen as extracting one or more features (e.g., a second primary transform feature) from the image. In some examples, the output of the discrete transformation technique comprises one or more values (e.g., a matrix of values). The output of the discrete transformation technique for example comprises integers, decimals, fractions, etc. The output of the discrete transformation technique is for example a transform feature (e.g., second primary transform feature). The transform feature is for example a matrix and / or a vector. The second primary transform feature can be seen as feature indicative of the second primary image. For example, the second primary transform feature can be seen as the output of the discrete transformation technique when the second primary image is taken as the input.

[0061] In one or more example methods, obtaining S104 the image data structure comprises indexing S104C the second primary transform feature in the image data structure, e.g. by using an indexing technique, such as HNSWLIB.

[0062] Fig. 2 is a diagram illustrating schematically an example process, performed by an electronic device, according to this disclosure. The example process comprises steps 10, 12, 16 and 22. For example, steps 10, 12, 16 and 22 are performed by the electronic device (such as the electronic device 300 of Fig. 3). The example process shown in Fig. 2 can for example be seen as a part of an iteration, where the iteration begins at step 10 and ends at step 16 or step 22. For example, an iteration may be carried out when a message is about to be stored, or when a message is received or when storage needs to be optimized.

[0063] The example process may then repeat sequentially for an additional image to be processed.

[0064] For example, the electronic device may be configured to perform an initialisation step before step 10. In some examples, at the initialisation step (such as a first iteration for generating the image data structure), an initial image from a message may be processed to generate the image data structure comprising at least one second image corresponding to the initial image. The generation of the image data structure is performed for example prior to any retrieval of the image data structure. The generation of the image data structure may comprise one or more pre-processing steps such as indexing, filtering based on image size and / or image type, and / or applying a DCT. The initial image data structure can be in form of a Table, such as Table B.

[0065] Table B

[0066] Table B can be seen as an initial image data structure (such as the first time that the method disclosed herein is applied to build the image data structure). For example, Table B shows image data associated with an initial image. In other words, the data elements (e.g., rows) of Table B comprise image data associated with the initial image. In some examples, the image data shown in Table B comprises image data associated with the initial image. The image data associated with the initial image comprises an index, a transform feature, a count parameter, a path parameter and / or a domain parameter.

[0067] The path parameter shown in Table B is “xdrive / downloads / b23ra_220423”. For example, xdrive / downloads / b23ra_220423 can be seen as the location of the initial image, (e.g., the location of the initial image in the electronic device, such as electronic device 300 of Fig. 3). For example, the electronic device may obtain, from an email with a domain xyz.com, the initial image. The domain parameter shown in Table B is “xyz.com”. The domain parameter “xyz.com” is the domain from which the message comprising the initial image was obtained (e.g., received). In other words, the domain parameter “xyz.com” is for example the domain from which the message comprising the initial image was sent (e.g., transmitted).

[0068] At step 10, a first can be processed e.g. sequentially, e.g. after the initial image. For example, the electronic device is configured to determine one or more similarity parameters based on the first image and the image data illustrated in Table B. For example, step 10 (e.g., as shown by S106 by Fig. 1A) comprises determining one or more similarity parameters 11 based on the first image and the image data.

[0069] Step 12 for example comprises determining (e.g., as shown by S108B of Fig. 1 A) whether the similarity parameter between a second transform feature of the closest candidate image and the first transform feature meets a first criterion.

[0070] Step 16 for example comprises, upon the similarity parameter not meeting the first criterion, including (as shown by S108D of Fig. 1 A) one or more data elements associated with the first image in the image data structure with an additional index. In other words, step 16 comprises adding a new row to the image data structure 18. The additional index of the image data structure 18 is the index 2. In some examples, the image data associated with the first image is indexed in the image data structure with index 2. The image data structure 18 can be seen as the output of step 16. Image_path1 is the path parameters associated with a second primary image. Image_path2 is the path parameter associated with the first image processed according to Fig. 2 and to method 100 of Figs.

[0071] 1 A B. Domain namel is the domain name for the second primary image while domain_name2 is the domain name for the first image.

[0072] Step 22 for example comprises, upon the similarity parameter meeting the first criterion, updating (e.g., as shown by S108C of Fig. 1A) one or more data elements (e.g., rows of the image data structure 24) associated with the closest candidate image in the image data structure 24. The image data structure 24 can be seen as the output of step 22.

[0073] Step 22 for example comprises incrementing (as shown by S108CA of Fig. 1A) a count parameter associated with the closest candidate image indexed by index 1 in the image data structure 24. In other words, step 22 comprises incrementing the count parameter shown in image data structure 24 by 1 . As shown in the image data structure 24, the count parameter is 2 for the image indexed with index 1 . Image data structure 18 shows 2 indexes, both with a count parameter of 1 .

[0074] Step 22 for example comprises recording (as shown by S108CB of Fig. 1A) a path to the first image in a path parameter associated with the closest candidate image in the image data structure. In other words, step 22 comprises appending the path parameter associated with the closest candidate image of the image data structure 24, which is the image indexed with index 1 . The domain name is the same as for the image indexed with index 1 .

[0075] Fig. 3 shows a block diagram of an exemplary electronic device 300 according to the disclosure. The electronic device 300 comprises memory circuitry 301 , processor circuitry 302, and an interface 303. The electronic device 300 is configured to perform any of the methods disclosed in Fig. 2. In other words, the electronic device 300 is configured for controlling storage of a first image. The electronic device 300 may be seen as a storage control device. The electronic device 300 may be seen as a logo detection device. The electronic device 300 may be a user device. The electronic device 300 may be a server device. The electronic device 300 may be a client device, such as user device.

[0076] The electronic device 300 is configured to obtain (e.g., via memory circuitry 301 and / or interface 303) a message comprising the first image.

[0077] The electronic device 300 is configured to obtain (e.g., via memory circuitry 301 and / or interface 303) an image data structure comprising image data associated with one or more second images.

[0078] The electronic device 300 is configured to determine (e.g., via processor circuitry 302) one or more similarity parameters based on the first image and the image data.

[0079] The electronic device 300 is configured to update (e.g., via processor circuitry 302) the image data structure based on the one or more similarity parameters.

[0080] The electronic device 300 is configured to determine (e.g., via processor circuitry 302), based on the updated image data structure, a logo indicator indicating whether the first image is a logo.

[0081] The electronic device 300 is configured to control (e.g., via processor circuitry 302 and / or interface 303), based on the logo indicator, the storage of the first image.

[0082] The processor circuitry 302 is optionally configured to perform any of the operations disclosed in Figs 1 A-B (such as any one or more of: S102, S104, S104A, S104B, S104BA, S104C, S106, S106A, S106B, S108, S108A, S108B, S108C, S108CA, S108CB, S108D, S110, S110A, S110B, S110C, S112, S112A). The operations of the electronic device 300 may be embodied in the form of executable logic routines (e.g., lines of code, software programs, etc.) that are stored on a non-transitory computer readable medium (e.g., the memory circuitry 301 ) and are executed by the processor circuitry 302).

[0083] Furthermore, the operations of the electronic device 300 may be considered a method that the electronic device 300 is configured to carry out. Also, while the described functions and operations may be implemented in software, such functionality may as well be carried out via dedicated hardware or firmware, or some combination of hardware, firmware and / or software. The memory circuitry 301 may be one or more of a buffer, a flash memory, a hard drive, a removable media, a volatile memory, a non-volatile memory, a random access memory (RAM), or other suitable device. In a typical arrangement, the memory circuitry 301 may include a non-volatile memory for long term data storage and a volatile memory that functions as system memory for the processor circuitry 302. The memory circuitry 301 may exchange data with the processor circuitry 302 over a data bus. Control lines and an address bus between the memory circuitry 301 and the processor circuitry 302 also may be present (not shown in Fig. 3). The memory circuitry 301 is considered a non-transitory computer readable medium.

[0084] The memory circuitry 301 may be configured to store a message, possibly the first image when not a logo, image data structure, image data, one or more second images, similarity parameters, logo indicator, second transform feature, first transform feature, discrete transformation technique, discrete cosine transformation technique, discrete cosine transform feature, cosine distance, Euclidean distance, closest candidate image, second transform feature, first criterion, data elements, count parameter, path parameter, additional index, a parameter, domain parameter, second primary image, second secondary image and / or second primary transform feature in a part of the memory.

[0085] Embodiments of methods and products (electronic device) according to the disclosure are set out in the following items:

[0086] Item 1 . A method, performed by an electronic device, for controlling storage of a first image, the method comprising: obtaining a message comprising the first image; obtaining an image data structure comprising image data associated with one or more second images; determining one or more similarity parameters based on the first image and the image data; updating the image data structure based on the one or more similarity parameters; determining, based on the updated image data structure, a logo indicator indicating whether the first image is a logo; and controlling, based on the logo indicator, the storage of the first image.

[0087] Item 2. The method according to item 1 , wherein the image data comprises at least one second transform feature for at least one of the one or more second images; wherein determining the one or more similarity parameters based on the first image and the image data comprises: determining a first transform feature of the first image by applying a discrete transformation technique to the first image; and determining at least one of the one or more similarity parameters based on the first transform feature and the at least one second transform feature.

[0088] Item 3. The method according to item 2, wherein the discrete transformation technique comprises a discrete cosine transformation technique for providing a discrete cosine transform feature and / or a technique based on a discrete Fourier transform and / or a Haar featurization technique.

[0089] Item 4. The method according to any of the previous items, wherein the similarity parameter comprises one or more of: a cosine distance, and a Euclidean distance.

[0090] Item 5. The method according to any of the previous items, wherein updating the image data structure based on the similarity parameter comprises performing, based on the one or more similarity parameters, a nearest neighbour search of the image data structure to select at least one of the one or more second images as a closest candidate image to the first image.

[0091] Item 6. The method according to items 2 and 5, wherein updating the image data structure based on the similarity parameter comprises: determining whether the similarity parameter between a second transform feature of the closest candidate image and the first transform feature meets a first criterion; and upon the similarity parameter meeting the first criterion, updating one or more data elements associated with the closest candidate image in the image data structure.

[0092] Item 7. The method according to item 6, wherein updating the one or more data elements associated with the closest candidate image in the image data structure comprises: incrementing a count parameter associated with the closest candidate image in the image data structure, wherein the count parameter indicates a number of images for which the similarity parameter meets the first criterion; and recording a path to the first image in a path parameter associated with the closest candidate image in the image data structure, wherein the path parameter is indicative of one or more paths for one or more images for which the similarity parameter meets the first criterion.

[0093] Item 8. The method according to any of items 6-7, wherein updating the image data structure based on the similarity parameter comprises upon the similarity parameter not meeting the first criterion, including one or more data elements associated with the first image in the image data structure with an additional index, wherein the one or more data elements associated with the first image comprises the first transform feature, the additional index for the first image, a first count parameter for the first image, a first path parameter for the first image, and / or a domain parameter of the message providing the first image.

[0094] Item 9. The method according to any of the previous items, wherein determining a logo indicator based on the updated image data structure comprises: determining whether a parameter associated with at least one image indexed in the updated image data structure meets a second criterion; and upon determining that the parameter meets the second criterion, determining that the logo indicator indicates that the first image is a logo.

[0095] Item 10. The method according to item 9, wherein the parameter comprises a count parameter associated with at least one image indexed in the updated image data structure and / or a domain parameter associated with at least one image indexed in the updated image data structure.

[0096] Item 1 1. The method according to any of items 9-10, wherein determining a logo indicator based on the updated image data structure comprises: upon determining that the parameter does not meet the second criterion, determining that the logo indicator does not indicate that the first image is a logo. Item 12. The method according to any of the previous items, wherein controlling, based on the logo indicator, storage of the image data structure comprises deleting the first image from a storage unit when the logo indicator indicates that the first image is a logo.

[0097] Item 13. The method according to any of the previous items, wherein the image data structure comprises image data for one or more of: a second primary image, and a second secondary image.

[0098] Item 14. The method according to item 13, wherein obtaining the image data structure comprises pre-processing, based on respective image size and / or image type, one or more of: the second primary image, and the second secondary image.

[0099] Item 15. The method according to any of items 13-14, wherein obtaining the image data structure comprises determining a second primary transform feature of the second primary image data by applying a discrete transformation technique to the second primary image data associated with the second primary image; and indexing the second primary transform feature in the image data structure.

[0100] Item 16. An electronic device comprising memory circuitry, processor circuitry, and an interface, wherein the electronic device is configured to perform any of the methods according to any of items 1 -15.

[0101] Item 17. A computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device cause the electronic device to perform any of the methods of items 1 -15.

[0102] The use of the terms “first”, “second”, “third” and “fourth”, “primary”, “secondary”, “tertiary” etc. does not imply any particular order, but are included to identify individual elements. Moreover, the use of the terms “first”, “second”, “third” and “fourth”, “primary”, “secondary”, “tertiary” etc. does not denote any order or importance, but rather the terms “first”, “second”, “third” and “fourth”, “primary”, “secondary”, “tertiary” etc. are used to distinguish one element from another. Note that the words “first”, “second”, “third” and “fourth”, “primary”, “secondary”, “tertiary” etc. are used here and elsewhere for labelling purposes only and are not intended to denote any specific spatial or temporal ordering. Furthermore, the labelling of a first element does not imply the presence of a second element and vice versa. It may be appreciated that Figs. 1 -3 comprise some circuitries or operations which are illustrated with a solid line and some circuitries or operations which are illustrated with a dashed line. The circuitries or operations which are comprised in a solid line are circuitries or operations which are comprised in the broadest example embodiment. The circuitries or operations which are comprised in a dashed line are example embodiments which may be comprised in, or a part of, or are further circuitries or operations which may be taken in addition to the circuitries or operations of the solid line example embodiments. It should be appreciated that these operations need not be performed in order presented. Furthermore, it should be appreciated that not all of the operations need to be performed. The exemplary operations may be performed in any order and in any combination.

[0103] It is to be noted that the word "comprising" does not necessarily exclude the presence of other elements or steps than those listed.

[0104] It is to be noted that the words "a" or "an" preceding an element do not exclude the presence of a plurality of such elements.

[0105] It is to be noted that the term "indicative of" may be seen as “associated with”, “related to”, “descriptive of’, “characterizing”, and / or “defining”. The terms “indicative of”, “associated with”, “related to”, “descriptive of”, “characterizing”, and “defining” can be used interchangeably. The term “indicative of” can be seen as indicating a relation. For example, weight data indicative of weight may comprise one or more weight parameters.

[0106] It is to be noted that the word "based on" may be seen as “as a function of’ and / or “derived from”. The terms “based on” and “as a function of” can be used interchangeably. For example, a parameter determined “based on” a data set can be seen as a parameter determined “as a function of” the data set. In other words, the parameter may be an output of one or more functions with the data set as an input.

[0107] A function may be characterizing a relation between an input and an output, such as mathematical relation, a database relation, a hardware relation, logical relation, and / or other suitable relations.

[0108] It should further be noted that any reference signs do not limit the scope of the claims, that the exemplary embodiments may be implemented at least in part by means of both hardware and software, and that several "means", "units" or "devices" may be represented by the same item of hardware. The various exemplary methods, devices, nodes and systems described herein are described in the general context of method steps or processes, which may be implemented in one aspect by a computer program product, embodied in a computer- readable medium, including computer-executable instructions, such as program code, executed by computers in networked environments. A computer-readable medium may include removable and non-removable storage devices including, but not limited to, Read Only Memory (ROM), Random Access Memory (RAM), compact discs (CDs), digital versatile discs (DVD), etc. Generally, program circuitries may include routines, programs, objects, components, data structures, etc. that perform specified tasks or implement specific abstract data types. Computer-executable instructions, associated data structures, and program circuitries represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps or processes.

[0109] Although features have been shown and described, it will be understood that they are not intended to limit the claimed disclosure, and it will be made obvious to those skilled in the art that various changes and modifications may be made without departing from the scope of the claimed disclosure. The specification and drawings are, accordingly, to be regarded in an illustrative rather than restrictive sense. The claimed disclosure is intended to cover all alternatives, modifications, and equivalents.

Claims

CLAIMS1 . A method, performed by an electronic device, for controlling storage of a first image, the method comprising: obtaining a message comprising the first image; obtaining an image data structure comprising image data associated with one or more second images; determining one or more similarity parameters based on the first image and the image data; updating the image data structure based on the one or more similarity parameters; determining, based on the updated image data structure, a logo indicator indicating whether the first image is a logo; and controlling, based on the logo indicator, the storage of the first image.

2. The method according to claim 1 , wherein the image data comprises at least one second transform feature for at least one of the one or more second images; wherein determining the one or more similarity parameters based on the first image and the image data comprises: determining a first transform feature of the first image by applying a discrete transformation technique to the first image; and determining at least one of the one or more similarity parameters based on the first transform feature and the at least one second transform feature.

3. The method according to claim 2, wherein the discrete transformation technique comprises a discrete cosine transformation technique for providing a discrete cosine transform feature and / or a technique based on a discrete Fourier transform and / or a Haar featurization technique.

4. The method according to any of the previous claims, wherein the similarity parameter comprises one or more of: a cosine distance, and a Euclidean distance.

5. The method according to any of the previous claims, wherein updating the image data structure based on the similarity parameter comprises performing, based on the one or more similarity parameters, a nearest neighbour search of the image data structureto select at least one of the one or more second images as a closest candidate image to the first image.

6. The method according to claims 2 and 5, wherein updating the image data structure based on the similarity parameter comprises:- determining whether the similarity parameter between a second transform feature of the closest candidate image and the first transform feature meets a first criterion; and- upon the similarity parameter meeting the first criterion, updating one or more data elements associated with the closest candidate image in the image data structure.

7. The method according to claim 6, wherein updating the one or more data elements associated with the closest candidate image in the image data structure comprises:- incrementing a count parameter associated with the closest candidate image in the image data structure, wherein the count parameter indicates a number of images for which the similarity parameter meets the first criterion; and- recording a path to the first image in a path parameter associated with the closest candidate image in the image data structure, wherein the path parameter is indicative of one or more paths for one or more images for which the similarity parameter meets the first criterion.

8. The method according to any of claims 6-7, wherein updating the image data structure based on the similarity parameter comprises upon the similarity parameter not meeting the first criterion, including one or more data elements associated with the first image in the image data structure with an additional index, wherein the one or more data elements associated with the first image comprises the first transform feature, the additional index for the first image, a first count parameter for the first image, a first path parameter for the first image, and / or a domain parameter of the message providing the first image.

9. The method according to any of the previous claims, wherein determining a logo indicator based on the updated image data structure comprises:determining whether a parameter associated with at least one second image indexed in the updated image data structure meets a second criterion, wherein the parameter comprises a count parameter associated with at least one image indexed in the updated image data structure and / or a domain parameter associated with at least one image indexed in the updated image data structure; and upon determining that the parameter meets the second criterion, determining that the logo indicator indicates that the first image is a logo.

10. The method according to any of the previous claims, wherein controlling, based on the logo indicator, storage of the image data structure comprises deleting the first image from a storage unit when the logo indicator indicates that the first image is a logo.

Citation Information

Patent Citations

  • Reducing duplication of files on a network

    US20030105716A1