Media content item selection

CN117043765BActive Publication Date: 2026-10-09NAGRAVISION SA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202280020053.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-10
Filing Date
2022-03-04
Publication Date
2026-10-09
Estimated Expiration
2042-03-04

Smart Images

  • Figure CN117043765B_ABST
    Figure CN117043765B_ABST
Patent Text Reader

Abstract

A computer-implemented method comprising accessing representations of a plurality of corresponding media content items, each media content item having at least one corresponding representation, the representations being organised in order in one or more sets of representations, each representation comprising at least one of metadata of the corresponding media content item and an image of the corresponding media content item, each representation for display to a user to enable the user to select to access the corresponding media content item, each set of representations displayable as a scrollable list; using the order of the representations to determine a display position of the representations in the scrollable list in a display arrangement; comparing a similarity of content of representations within a display range; and in the event that it is determined that a representation has a greater than predetermined similarity, changing the order of at least one of the representations determined to have a greater than predetermined similarity to change the display position of the at least one representation in the scrollable list.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to a method and system that enables a user to select media content items, and more specifically to a method and system for displaying representations of media content, wherein the frequency of similar representations displayed close to each other is reduced. Background Technology

[0002] Typically, media content guides are displayed on the user's device screen to provide information about what content is available for viewing or listening, in a way that allows the user to choose which media content item is represented for playback (watching or listening). The representation of a media content item can be in the form of text or images, such as cover art images generated as representations of media content items. Traditionally, cover art was generated as the cover of physical media content items (such as tapes, records, or discs (CDs or DVDs)). While physical media content formats have now been almost entirely replaced by electronic media in the market, cover art still performs the same function of attracting user attention to select media content items.

[0003] When media content is accessible on demand or from a recorded storage device, the media content guide does not need to display a representation of the available content in a time-defined manner typical of broadcast media content. In such cases, it is known in the art to display the representation of media content items in the media content guide as a series of scrollable rows or rails. Users can interact with the displayed rows or rails to scroll through a list or set of media content items, allowing them to make desired selections from a large number of representations that can be displayed at once on a display larger than the user's device. Summary of the Invention

[0004] This invention provides methods and systems as defined in the appended claims. Attached Figure Description

[0005] The accompanying drawings are merely illustrative examples of the invention and should not be construed as limiting its scope.

[0006] Figure 1 The diagram illustrates an example environment that can provide an embodiment of the system;

[0007] Figure 2 The illustration shows the display layout for representing media content items in a scrollable list;

[0008] Figure 3A and Figure 3B The illustration schematically depicts the identification of identical representations in a single scrollable list of representations of media content items in one embodiment;

[0009] Figure 4 The illustration schematically depicts the identification of the same representation in multiple scrollable lists in one embodiment;

[0010] Figure 5 The illustration schematically depicts the identification of similar representations in multiple scrollable lists in one embodiment;

[0011] Figure 6 This is a flowchart of an example method for replacing similar image representations in one embodiment;

[0012] Figure 7 This is a flowchart of an example method for changing the order of representation to change the display position in one embodiment;

[0013] Figure 8 This is a flowchart of another example method in one embodiment for changing the order of representation to change the display position; and

[0014] Figure 9 It is a simplified block diagram of a machine in the form of an example computing system, within which a set of instructions can be executed to enable the machine to perform any one or more of the methods discussed herein. Detailed Implementation

[0015] The following description includes systems, methods, techniques, instruction sequences, and computer program products for implementing illustrative embodiments of the invention. In the following description, numerous specific details are set forth for purposes of explanation in order to provide an understanding of various embodiments of the subject matter of the invention. However, it will be apparent to those skilled in the art that embodiments of the subject matter of the invention may be practiced without these specific details. Generally, well-known examples of instructions, protocols, structures, and techniques are not shown in detail.

[0016] A generalized embodiment provides a method and system for accessing representations of multiple corresponding media content items, each media content item having at least one corresponding representation, these representations being organized sequentially in one or more sets of representations, each representation including at least one of metadata of the corresponding media content item and an image of the corresponding media content item, each representation being displayed to a user so that the user can select to access the corresponding media content item, each set of representations being displayable as a scrollable list; using the order of the representations to determine the display position of the representations in the scrollable list in a display arrangement; comparing the similarity of the content of the representations within the display range; and when it is determined that a representation has a greater than predetermined similarity, changing the order of at least one representation determined to have a greater than predetermined similarity to change the display position of the at least one representation in the scrollable list.

[0017] Avoiding identical representations of media content items on the user interface prevents the presentation of a limited catalog of media content items available from media content providers. Furthermore, avoiding different but similar representations of media content items that are close together on the user interface provides an enhanced user experience and makes the representation easier to interpret.

[0018] Media content items can include video or audio. The representation of a media content item can include images (such as cover art) or metadata about the media content item, such as text information associated with the media content item, which can provide, for example, a description of the content of the media content item. The representation of a media content item is designed to provide the user with sufficient information about the media content item when displayed. This enables the user to understand the content of the media content item so that they can make informed decisions to select or replay the media content item by choosing the appropriate displayed representation.

[0019] A media content item's representation can be provided by a separate source from the media content item's original source. The correspondence or link between representations and media content items can be provided by indexing or using unique identifiers for the media content item and its corresponding representation. A media content item can have several representations, such as images or metadata, which can be used in different scrollable lists of representations to be displayed to the user in different contexts. This allows the administrator of scrollable lists to select different representations for the same media content item in different contexts (i.e., in different scrollable lists).

[0020] In one embodiment, the display arrangement may include a user guide for a set of media content items available from one or more media content sources, including locally stored or recorded media content items and media content items available from one or more remote sources. Such remote sources may allow content to be available free of charge, on a subscription basis, or on a pay-per-view basis.

[0021] Scrollable lists can include representations of different types of media content items. For example, a scrollable list can include a list of representations of a set of media content items recommended to a user based on user history data and / or user preference data and / or based on the popularity of the media content items. A scrollable list can also include a list of representations of a set of media content items that a user has previously watched, allowing them to rewatch media content items or continue watching if they haven't finished watching or are part of a series. Scrollable lists can also be curated by the user based on specific selected media content items. Scrollable lists can also be provided by a media content item provider service that curates a list of media content items by set, such as by genre or media content provider source.

[0022] The scrollable list can include a list that can be scrolled in any direction on the display via a user's scrolling action (e.g., swiping in the direction of a slide on a touchscreen or a screen that can detect user movement or movement of the user's device (e.g., tilting to shake)) or selection using arrow keys on a remote control. The scrolling direction can be horizontal (columns), vertical (rows), or even diagonal. Furthermore, the scrolling direction does not need to be linear and can include arcs, circles, or "wheels."

[0023] The order can be changed by replacing at least one representation in at least one set of representations or by reordering the representations in at least one set of representations.

[0024] The display range can include the display area of ​​the user-viewable display arrangement, allowing for the determination of similarity between representations within the user's viewable area to reduce the likelihood of the user viewing two similar representations. The viewable area can depend on the device the user uses to view one or more scrollable lists. The device's form factor will affect the display layout, as will the user's display settings. Therefore, device settings can be considered when determining the display area and thus the display range used to determine the similarity of representations. Representations far outside the display range of the user's device do not need to be compared, as their similarity is unlikely to affect the user's viewing experience. The display range can even include a distance smaller than the display area of ​​the user-viewable display arrangement, and a display range input can be received to set the display range. The display range input can be provided by an operator at the system backend or by the user of the user's device, or it can be calculated, for example, based on the capabilities / settings of the user's device. This provides the ability to tune the user's viewing experience.

[0025] When at least some of the representations include images, similarity can be compared by comparing the similarity of the color distribution of pixels in at least some representations of the image including the corresponding media content item, or by comparing the similarity of the color distribution of image features in at least some representations of the image including the corresponding media content item. Features may include features identified in the image, such as shape features or objects. Features can be identified using image processing, and more particularly using feature extraction techniques.

[0026] To provide a higher degree of customization for the user experience, predefined similarity can be set based on similar input. Similar input can be provided by the operator on the system backend or by the user of the user device, or similar input can be calculated, for example, based on the capabilities / settings of the user device.

[0027] As users scroll through the displays, they remember the displays they are scrolling through. Users can scroll forward and backward. To avoid user confusion, information about the displays that the user has already viewed in the display layout can be stored, and the order of the displays viewed by the user in the list can be maintained.

[0028] Methods can be implemented to avoid or reduce the appearance of similar representations that the user views from multiple sets of representations that can be displayed in individually scrollable lists. When dealing with multiple scrollable lists, steps such as determining display positions, similarity comparison, and reordering can be performed on representations in multiple sets of relative scroll positions of the individually scrollable lists. In this way, the comparison becomes a comparison on a two-dimensional matrix representing the display positions.

[0029] Specific embodiments will now be described with reference to the accompanying drawings.

[0030] refer to Figure 1 The figure illustrates an example environment in which an embodiment of the system can be provided.

[0031] Client system 130 (user equipment) may include a single device, such as a computer, tablet, smart TV, or smartphone that includes client device 20 and an integrated display 30. Alternatively, client device 20 of client system 130 may be separate from display 30 (e.g., a set-top box and TV). Client device 20 is connected to network 10. Network 10 may include a wired or wireless network. It may include a local area network (LAN), a wide area network (WAN), or the Internet, and it may use any known communication protocol for the transmission of data and media content items. Media content items may also be provided to client device 20 via a separate communication channel, such as via a satellite connection or a terrestrial broadcast receiver (antenna)

[0032] Connected to network 10 is server system 120, which provides a scrollable list display layout, for example, in a guide for accessing media content items. Server system 120 may be provided by a single system or it may be provided by multiple separate server systems.

[0033] Guide server 40 connects to network 10 and provides a display layout in the form of a guide to client device 20. Guide server 40 connects to multiple data sources, including a representation data repository 50 for metadata and / or image representations of media content items, a layout template repository 60 storing template data for rendering the layout of the scrollable list, a past viewing data repository 70 storing data about a user's viewing history, a persona data repository 80 storing user persona data (including their preferences), and a collection data repository 90 storing a collection of data about the representation of the scrollable list (including identifiers of media content items and representation data such as metadata or images, or links to images in representation data repository 50). Content server 100 is provided and connected to network 10 to provide media content items to client device 20 for display on display 30. Content server 100 accesses one or more content sources 110 to access and provide content. In order to form the collection of data for the scrollable list, guide server 40 may connect to and communicate with content server 100 to access content 110. The aggregate data can be formed by the guide server 40 based on content genres, user recommendations based on user viewing history and preferences, and curated content based on content that the service provider wants to promote. Therefore, the display layout, such as the guide, can be formed by several scrollable lists or tracks, each list or track having a set of representations of media content items based on different criteria (e.g., tracks for promoted content, tracks for content recommended to users, and several tracks for different genres that can be displayed sequentially based on user preferences for genres).

[0034] Server system 120 can be provided by a single system or by multiple separate systems or data sources. Content server 100 is provided and connected to network 10 to provide media content items to client device 20 for display on display 30. Content server 100 accesses one or more content sources 110 to access and provide content. To form a collection of scrollable list data, guide server 40 can connect to and communicate with content server 100 to access content 110. The collection data can be formed by guide server 40 based on content genre, user recommendations based on user viewing history and preferences or content popularity, and curated content based on content that service providers wish to promote. Thus, a display arrangement such as a guide can be formed by several scrollable lists or tracks, each list or track having a set of representations of a collection of media content items based on different criteria (e.g., tracks for promoted content, tracks for content recommended to users, and several tracks for different genres that can be displayed sequentially based on user preferences for genres).

[0035] Content server 100 can be a standalone system and can include multiple content servers 100. Content repository 110 can include multiple content repositories 110 associated with any number of content servers 100.

[0036] It is important to note that Figure 1 The environment shown is exemplary. For example, alternative embodiments may include any number of client devices 20, content server 100, and guide server 40.

[0037] Figure 2 The illustration shows a display layout 200, such as a guide, illustrating the representation of media content items in a scrollable list.

[0038] Guide 200 includes three horizontal scrollable tracks 220, 230, and 240 representing 210 in the form of images (such as movie cover art). In this embodiment, the upper track 220 includes a set of representations of a collection of media content items recommended to the user. The two lower tracks 230 and 240 include tracks representing collections of media content items representing two genres: "Action" and "Adventure."

[0039] The illustration circled at 250 represents two instances of identical image representations of the same movie at adjacent positions in adjacent tracks or scrollable lists. This illustrates a display result not expected in the guidelines. It is a waste of available display space and can be interpreted by users as a result of a limited catalog of media content items provided by the provider.

[0040] Figure 3A and Figure 3B The illustration schematically depicts the identification of identical representations within a single scrollable list of representations of media content items in one embodiment.

[0041] exist Figure 3A In this context, display area 300 may include an actual display area or a projected display area for displaying the scrollable list 301. The scrollable list can be scrolled horizontally to the left or right as indicated by a bidirectional arrow not displayed on display area 300 and only on other screens. Figure 3A The text is shown to illustrate the scrolling direction. In the scrollable list, representations 310 and 320 are not adjacent but are within a predetermined range. The predetermined range used to determine the similarity or matching of representations can be the display area 300. The predetermined range can be defined by pixels or simply by the number of representations relative to the displayed representation. (The last sentence appears to be incomplete and possibly refers to a different context.) Figure 3A and Figure 3B In the linear orbit shown, this can simply be the count of representations in an ordered list of representations. The range (threshold) can then be simply set to the number of representations to be spaced out. Representations can include images or metadata.

[0042] Regarding comparisons of representations used to determine similarity or matching, metadata can be compared based on its properties. For example, identical text can be identified through simple text comparison. Similar text can be compared by comparing the number of similar words or by parsing the text using natural language processing to determine semantics for comparison. Image representations can be compared using known image comparison techniques. For example, a color histogram of the colors of pixels in an image can be determined, and the color histogram being compared, or a simple percentage of pixels with color, can be used as a comparison. Alternatively, features in an image can be identified through a feature extraction process, and these features can be compared. Identifying identical images can also be done pixel-by-pixel using simple image comparison.

[0043] Once duplicate representations are identified, one of them can be moved or replaced. A representation can be replaced by a different representation of the same media content item, keeping the set of media content items represented by the scrollable list unchanged, or a new representation of the media content item can be used. Using different representations for the same media content item allows content providers to promote certain media content items in a less disruptive way for users.

[0044] like Figure 3B As shown, the result of the processing is to swap representation 320 with representation 330 to create a modified scrollable list 302, where representation 320 is moved outside the display area and therefore outside the predetermined range. Alternatively, the representation can be simply removed without swapping it with another representation to reorder the list, and the removed representation can be reinserted into the list at a position further away from the predetermined range.

[0045] The above method can be performed before the representation is displayed by predicting or determining the display position of the representation and whether similar representations will appear within a predetermined range (i.e., in the display area).

[0046] Therefore, in Figure 3A and Figure 3B In the example, this process reduces the likelihood of duplicate or similar representations on a single track or scrollable list.

[0047] Figure 4 The illustration schematically depicts the identification of the same representation in multiple scrollable lists in one embodiment.

[0048] In this embodiment, besides indicating that the comparison problem has an additional dimension, regarding Figure 3A and Figure 3BThe discussion of the embodiments applies because the similarity of representations is performed not only within a list (appearing to look left and right along the list), but also between lists (looking up and down and diagonally between lists). In this example, three scrollable lists or tracks are shown, so it is necessary to determine the similarity of representations not only for the representations within a track, but also for the similarity of representations between tracks. Figure 4 The illustration shows the determination of multiple identical representations within a portion of a scrollable list displayed in display area 600.

[0049] In this embodiment, to avoid or at least reduce the occurrence of duplicates, the set of representations is processed before being displayed to the user to compare the predicted possible display combinations of the representations of the three scrollable lists. The set of representations for each scrollable list needs to be compared with incremental relative positions to simulate all possible user scrolling operations (left and right scrolling), wherein identified identical representations appearing within a predetermined range defined by the virtual display area 600 are moved or swapped as necessary to attempt to achieve the best possible representation distribution, which has the fewest identical representations appearing in the display area 600.

[0050] Figure 5 The illustration schematically depicts the identification of similar representations in multiple scrollable lists in one embodiment.

[0051] Besides not simply identifying identical representations, but rather identifying similar representations based on a similarity threshold, this embodiment uses similarity to... Figure 4 It operates in a similar manner. This threshold can include the percentage of matching text represented by metadata and the percentage of matching pixels or pixel colors represented by an image.

[0052] In the comparison method, the similarity of representations can be set based on user input. Furthermore, the distance or predetermined range between similar representations can be set based on user input. Moreover, compared to between tracks or scrollable lists, the similarity and distance or range can be set differently within a track or scrollable list.

[0053] In the presence of multiple scrollable lists, the process can be restricted to identifying similar representations only within each scrollable list individually.

[0054] This process can be performed at the server system 120 before the guide or display layout is sent to the client device as a download, or dynamically as the client device interacts with the server system 120 to request updated display data during the user's scrolling. Alternatively, the process can be performed at the client device as preprocessing before display, or dynamically as the display is generated during the user's scrolling.

[0055] When a user performs a scrolling action, where the process is performed dynamically, the user's scrolling action is detected and stored and used in the representation comparison process to avoid moving or replacing any representations that the user has already viewed, in case the user scrolls back again and gets confused when the representation is moved.

[0056] Figure 6 This is a flowchart of an example method for replacing the matched image representation.

[0057] In step S1, the deduplication process begins. In step S2, an image of the display is captured, and in step S3, the image is scanned to detect edges of the representation, in this embodiment, the representation includes an image (representation image). In step S4, a representation image is selected for processing, and in step S5, a search is performed on the image of the display to find another representation image within a similarity threshold to the representation image. If a mismatch is determined (step S6), then in step S7, it is determined whether another representation image exists for processing. If yes, then the process returns to step S4; if no, then the process ends in step S11. If a match is determined in step S6, then in step S8, the representation image is marked for replacement, in step S9, the replacement is identified, and in step S10, the representation image is replaced. In step S7, the process then determines whether another representation image exists for processing. If yes, then the process returns to step S4; if no, then the process ends in step S11.

[0058] Figure 7 This is a flowchart of an example method for changing the order of representation to change the display position in one embodiment.

[0059] In step S20, representations of multiple corresponding media content items are accessed. Each media content item has at least one corresponding representation, and these representations are organized sequentially in one or more representation sets. Each representation includes at least one of the metadata of the corresponding media content item and an image of the corresponding media content item, and each representation is used to display to the user so that the user can select to access the corresponding media content item. Each representation set can be displayed as a scrollable list.

[0060] In step S21, the display position of the representations in the scrollable list within the display arrangement is determined using the order of the representations. In step S22, the similarity of the content of the representations within the display range is compared. If the similarity is below a predetermined threshold, the process ends at step S24. If it is determined that these representations have a similarity greater than a predetermined threshold, the order of at least one of the representations determined to have a similarity greater than the predetermined threshold is changed to change the display position of that at least one representation in the scrollable list.

[0061] Figure 8This is a flowchart of another example method in one embodiment for changing the order of representation to change the display position.

[0062] In step S30, a display layout is selected. This can be based on templates stored in a template repository and on the display capabilities or requirements of the user device. In step S31, a set of representations for display is identified, and in step S32, the representations are accessed from the representation data repository. In step S33, the display position of the representations is determined. This can be based on, for example, an initial configuration that can be defined by a template. In step S34, the similarity of the representations is compared, and if it is determined in step S35 that the representations are similar within a predetermined threshold, then in step S36, the order of the representations is changed to change the display position. Steps S34 to S36 include matrix comparisons of representations within and across scrollable lists as discussed above.

[0063] In step S37, the process determines whether all relative set positions representing the set have been processed. If yes, the process ends in step S39. If no, in step S38, the set is scrolled relative to other sets, and the process returns to step S33 to process this modified display arrangement.

[0064] If no similar representation is found in step S35, the process skips step S36 and proceeds to step S37.

[0065] In this embodiment, the method tests all possible combinations of display positions for all scroll combinations of the representation set in an attempt to reduce the likelihood of similar representations appearing in the displayed layout when shown to the user. In this embodiment, the representation set is processed before any user interaction to be downloaded to the user as a user guide.

[0066] Figure 9 This is a block diagram illustrating components of a machine 500 according to some example embodiments, which is capable of reading instructions from a machine-readable medium (e.g., a machine-readable storage medium) and executing any one or more of the methods discussed herein. Specifically, Figure 5A schematic representation of machine 500 in an example form of a computer system is shown, wherein instructions 524 (e.g., software, programs, applications, applets, or other executable code) can be executed to cause machine 500 to perform any or more of the methods discussed herein. In alternative embodiments, machine 500 operates as a standalone device or can be connected (e.g., networked) to other machines. In a networked deployment, machine 500 can operate as a server machine or client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. Machine 500 can be a server computer, client computer, personal computer (PC), tablet computer, laptop computer, netbook, set-top box (STB), personal digital assistant (PDA), cellular phone, smartphone, network appliance, network router, network switch, bridge, or any machine capable of sequentially or otherwise executing instructions 524 specifying the actions to be taken by that machine. Furthermore, although only a single machine is illustrated, the term "machine" should also be understood to include a collection of machines that individually or jointly execute instructions 524 to perform any or more of the methods discussed herein.

[0067] Machine 500 includes a processor 502 (e.g., a central processing unit (CPU), graphics processing unit (GPU), digital signal processor (DSP), application-specific integrated circuit (ASIC), radio frequency integrated circuit (RFIC), or any suitable combination thereof), main memory 504, and static memory 506, which are configured to communicate with each other via bus 508. Machine 500 may also include a graphic display 510 (e.g., a plasma display panel (PDP), a light-emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)). Machine 500 may also include an alphanumeric input device 512 (e.g., a keyboard), a cursor control device 514 (e.g., a mouse, touchpad, trackball, joystick, motion sensor, or other pointing instrument), a storage unit 516, a signal generation device 518 (e.g., a speaker), and a network interface device 520.

[0068] Storage unit 516 includes a machine-readable storage medium 522 on which instructions 524 for implementing any one or more of the methods or functions described herein are stored. Instructions 524 may also reside wholly or at least partially in main memory 504, processor 502 (e.g., in the processor's cache memory), or both during execution by machine 500. Thus, main memory 504 and processor 502 can be considered machine-readable media. Instructions 524 can be transmitted or received via network 526 through network interface device 520.

[0069] As used herein, the term "memory" refers to a machine-readable storage medium capable of temporarily or permanently storing data and can be considered to include, but is not limited to, random access memory (RAM), read-only memory (ROM), buffer memory, flash memory, and cache memory. While machine-readable storage medium 522 is shown as a single medium in the example embodiment, the term "machine-readable storage medium" should be understood to include a single medium or multiple media capable of storing instructions (e.g., a centralized or distributed database, or associated caches and servers). The term "machine-readable storage medium" should also be understood to include any medium or combination of media capable of storing instructions executable by a machine (e.g., machine 500) such that the instructions (e.g., instruction 524), when executed by one or more processors of the machine (e.g., processor 502), cause the machine to perform any or more of the methods described herein. Thus, "machine-readable storage medium" refers to a single storage device or apparatus, as well as a "cloud-based" storage system or storage network comprising multiple storage devices or apparatuses. Therefore, the term "machine-readable storage medium" should be understood to include, but is not limited to, one or more data repositories of solid-state memory, optical media, magnetic media, or any suitable combination thereof.

[0070] Furthermore, tangible machine-readable storage media are non-transitory because they do not contain propagating signals. However, labeling a tangible machine-readable medium as "non-transitory" should not be interpreted as meaning that the medium cannot be moved—it should be considered as transportable from one physical location to another. Moreover, because machine-readable media are tangible, they can be considered machine-readable devices.

[0071] Instructions 524 can also be sent or received via a network interface device 520 using a transmission medium and utilizing any of a variety of well-known transmission protocols (e.g., HTTP) through a communication network 526. Examples of communication networks include local area networks (LANs), wide area networks (WANs), the Internet, mobile phone networks, POTS networks, and wireless data networks (e.g., WiFi and WiMAX networks). The term "transmission medium" should be considered to include any intangible machine-readable medium capable of storing, encoding, or carrying instructions executable by machine 500, and includes digital or analog communication signals or other intangible media to facilitate communication of such software.

[0072] In this specification, the term "machine-readable medium" is used to describe tangible machine-readable storage media and transient or transmission media.

[0073] Throughout this specification, multiple instances can implement components, operations, or structures described as a single instance. Although the individual operations of one or more methods are shown and described as separate operations, one or more of these operations can be executed concurrently, and they do not need to be executed in the order shown. Structures and functionalities presented as separate components in the example configuration can be implemented as composed structures or components. Similarly, structures and functionalities presented as a single component can be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of this document.

[0074] Certain embodiments herein are described as including logic or multiple components, modules, or mechanisms. Modules may constitute software modules (e.g., code implemented on a machine-readable medium or in transmitted signals) or hardware modules. A “hardware module” is a tangible unit capable of performing certain operations and may be configured or arranged in some physical manner. In various example embodiments, one or more computer systems (e.g., standalone computer systems, client computer systems, or server computer systems) or one or more hardware modules of a computer system (e.g., processors or a group of processors) may be configured by software (e.g., an application or an application portion) to operate to perform certain operations as described herein.

[0075] In some embodiments, a hardware module may be implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware module may include dedicated circuitry or logic permanently configured to perform certain operations. For instance, a hardware module may be a dedicated processor, such as a field-programmable gate array (FPGA) or an ASIC. A hardware module may also include programmable logic or circuitry temporarily configured by software to perform certain operations. For instance, a hardware module may include software encompassed within a general-purpose processor or other programmable processor. It should be recognized that cost and time considerations can drive the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software).

[0076] Therefore, the phrase "hardware module" should be understood to encompass tangible entities, that is, entities that are physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate or perform certain operations described herein. As used herein,

[0077] "Hardware-implemented module" refers to a hardware module. Consider embodiments where hardware modules are temporarily configured (e.g., programmed), and it is not necessary to configure or instantiate each hardware module at any given time. For example, where the hardware modules include a general-purpose processor configured by software to become a dedicated processor, the general-purpose processor can be configured at different times as different dedicated processors (e.g., including different hardware modules). The software can configure the processor accordingly, for example, constituting a specific hardware module at one time and different hardware modules at different times.

[0078] Hardware modules can provide and receive information from other hardware modules. Therefore, the described hardware modules can be considered communicatively coupled. In the presence of multiple hardware modules, communication can be achieved through signal transmission between two or more hardware modules (e.g., via appropriate circuitry and buses). In embodiments where multiple hardware modules are configured or instantiated at different times, communication between these hardware modules can be achieved, for example, by storing and retrieving information in memory structures accessible to the multiple hardware modules. For example, one hardware module can perform an operation and store the output of that operation in a memory device communicatively coupled to it. Another hardware module can then later access the memory device to retrieve and process the stored output. Hardware modules can also initiate communication with input or output devices and can operate on resources (e.g., collections of information).

[0079] The various operations of the example methods described herein can be performed, at least in part, by one or more processors configured, either temporarily (e.g., by software) or permanently, to perform the relevant operations. Whether temporarily or permanently configured, such processors can constitute processor-implemented modules whose operations are to perform one or more of the operations or functions described herein. As used herein, "processor-implemented module" refers to a hardware module implemented using one or more processors.

[0080] Similarly, the methods described herein can be implemented at least in part by a processor, which is an example of hardware. For example, at least some of the operations of the methods can be executed by one or more processors or modules implemented by processors. Moreover, one or more processors can also operate to support the execution of related operations in a "cloud computing" environment or as "Software as a Service" (SaaS) operations. For example, at least some of the operations can be executed by a group of computers (as an example of a machine including processors), which can be accessed via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., application programming interfaces (APIs)).

[0081] The execution of certain operations can be distributed across one or more processors, residing not only on a single machine but also deployed across multiple machines. In some example embodiments, one or more processors or processor-implemented modules may be located in a single geographic location (e.g., in a home environment, office environment, or server farm). In other example embodiments, one or more processors or processor-implemented modules may be distributed across multiple geographic locations.

[0082] While an overview of the subject matter of the invention has been described with reference to specific exemplary embodiments, various modifications and changes can be made to these embodiments without departing from the broader scope of the embodiments of the invention. These embodiments of the subject matter of the invention may be referred to herein individually or collectively by the term "invention," which is merely for convenience and is not intended to voluntarily limit the scope of this application to any single invention or inventive concept, if more than one is disclosed in fact.

[0083] The embodiments shown herein have been described in sufficient detail to enable those skilled in the art to practice the disclosed teachings. Other embodiments may be used and derived therefrom, allowing for structural and logical substitutions and changes without departing from the scope of this disclosure. Therefore, the specific implementation should not be considered limiting, and the scope of the various embodiments is defined only by the appended claims and the full scope of their equivalents.

[0084] As used herein, the term "or" can be interpreted in an inclusive or exclusive sense. Furthermore, multiple instances can be provided for a resource, operation, or structure described herein as a single instance. Moreover, the boundaries between various resources, operations, modules, engines, and data stores are somewhat arbitrary, and specific operations are shown in the context of a particular illustrative configuration. Other functional assignments are contemplated and may fall within the scope of various embodiments of the invention. Generally, structures and functions presented as separate resources in the example configuration can be implemented as combined structures or resources. Similarly, structures and functions presented as single resources can be implemented as separate resources. These and other variations, modifications, additions, and improvements fall within the scope of embodiments of the invention as defined by the appended claims. Therefore, the specification and drawings should be considered illustrative rather than restrictive.

Claims

1. A computer-implemented method, comprising: Access to multiple representations of corresponding media content items, each media content item having at least one corresponding representation, the representations being organized in first order in one or more representation sets, each representation including metadata of the corresponding media content item and at least one of the images of the corresponding media content item, each representation being displayed to a user so that the user can select to access the corresponding media content item, and each representation set being displayable as a corresponding scrollable list; The first order of the representation is used to determine the display position of the representation in the scrollable list in the display arrangement; Compare the similarity of the content represented within a display range, wherein the display range includes two or more scrollable lists; as well as In response to determining that the representations within the display range have a similarity greater than a predetermined similarity, multiple orders of the representations in the one or more sets are analyzed to determine a second order of the representations in the one or more sets, wherein the second order exhibits fewer potentially duplicated representations within the display range compared to the first order.

2. The computer-implemented method of claim 1, wherein determining the second order comprises changing the first order by replacing at least one representation in at least one set of representations.

3. The computer-implemented method of claim 2, wherein changing the first order comprises reordering the representations in the at least one set of representations.

4. The computer-implemented method of claim 1, wherein the display range includes a display area for the display arrangement to be viewed by a user.

5. The computer-implemented method of claim 1, wherein the display range includes a distance smaller than the display area of ​​the display arrangement for user viewing.

6. The computer-implemented method of claim 1 further includes receiving input for setting the display range.

7. The computer-implemented method of claim 1, wherein comparing the similarity comprises comparing the similarity of the color distributions of pixels in at least some of the representations of an image including corresponding media content items.

8. The computer-implemented method of claim 1, wherein comparing the similarity includes comparing the similarity of color distributions of at least some of the represented image features of an image including a corresponding media content item.

9. The computer-implemented method of claim 1, further comprising receiving input that sets the predetermined similarity.

10. The computer-implemented method of claim 1, wherein the computer-implemented method is executed in response to a user's scroll input that scrolls the scrollable list.

11. The computer-implemented method of claim 10, further comprising storing information about representations in the display arrangement that have been viewed by a user, wherein determining the second order of the representations includes maintaining the corresponding order of any representations that the user has already viewed.

12. The computer-implemented method of claim 1, wherein the computer-implemented method is performed on representations of a plurality of representation sets, wherein representations of each representation set can be displayed in a plurality of individually scrollable lists.

13. The computer-implemented method of claim 12, wherein determining the display position, comparing the similarity of the content, and determining the second order are performed for representations of a set of multiple relative scroll positions of multiple individually scrollable lists.

14. A system comprising: At least one processor; as well as A storage medium for storing instructions, which, when executed by the at least one processor of the machine, cause the machine to perform the method as described in any one of claims 1 to 13.

15. A machine-readable medium carrying instructions that, when executed by at least one processor of a machine, cause the machine to perform the method as described in any one of claims 1 to 13.

16. A machine-readable storage medium storing instructions that, when executed by at least one processor of the machine, cause the machine to perform the method as described in any one of claims 1 to 13.

Citation Information

Patent Citations

  • Using image similarity to deduplicate video suggestions based on thumbnails

    US20170068870A1

  • Video classification

    US9615136B1