Dynamic image resizing based on user access criteria
Patent Information
- Application Number
- DE112018000833
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-05-29
- Filing Date
- 2018-05-29
- Publication Date
- 2026-08-27
- Estimated Expiration
- 2038-05-29
AI Technical Summary
Images viewed online often suffer from lower quality or resolution, leading to pixelation and blurriness when enlarged, and high-resolution images can be costly and slow down web content browsing due to increased bandwidth requirements.
Dynamic image resizing based on user access criteria, including device capabilities and social relationships, to adjust image resolution and format according to user-specific parameters.
Improves image quality by providing higher resolution images to users with better connectivity and relationships, while reducing bandwidth usage and load times for data-limited users.
Abstract
Description
TECHNICAL AREA
[0001] In general, embodiments of the invention relate to viewing images on a website and, in particular, dynamic image resizing based on user access criteria. BACKGROUND OF THE INVENTION
[0002] Images viewed online typically have lower quality or resolution. If a user wants to zoom in on a section of an image, the cropped area can often appear pixelated or blurry because the image being viewed is not the original, full-resolution version. However, if the image has a high resolution, loading it from the website can take longer and require more bandwidth, which can be costly for mobile users with limited data and slow down web browsing. Therefore, there is a need in the technology sector to address this problem. REPRESENTATION OF
[0003] According to a first aspect, the present invention provides a computer-aided method for dynamic image resizing, the method comprising: accessing and editing a representation of an image on a website using a processing system, wherein the image has been uploaded to a server of the website by a content provider; determining access criteria by the processing system that are associated with a user of a user unit, wherein the access criteria include a relationship between the user and the content provider and / or the content of the image; setting a resolution of a modified representation of the image using the processing system at least partially based on the access criteria; generating the modified representation of the image using the processing system at least partially based on the resolution;and displaying the changed image representation on the user unit.
[0004] According to a further aspect, the present invention provides a system for dynamic image resizing, wherein the system comprises: a memory containing computer-readable instructions; and one or more processors for executing the computer-readable instructions, wherein the computer-readable instructions control the one or more processors to perform operations comprising: accessing a representation of an image on a website, wherein the image has been uploaded to a server of the website by a content provider; determining access criteria belonging to a user of a user unit, wherein the access criteria include a relationship between a user and the content provider and / or the content of the image; and setting a resolution of a modified representation of the image, at least partially, based on the access criteria.Generating the modified representation of the image, at least partially based on the resolution; and displaying the modified representation of the image on the user device.
[0005] According to another aspect, the present invention provides a computer program product for dynamic image size adjustment, wherein the computer program product has a computer-readable storage medium that is readable by a processing circuit and in which instructions for execution by the processing circuit to carry out a method for performing the steps of the invention are stored.
[0006] According to another aspect, the present invention provides a computer program that is stored in a computer-readable medium and can be loaded into the working memory of a digital computer and includes sections of software code for performing the steps of the invention when the program is executed on a computer.
[0007] Embodiments of the invention include methods, systems, and computer program products for dynamically resizing images based on a user's access criteria. An exemplary method, not to be understood as a limitation, involves accessing a representation of an image on a website, wherein the image has been downloaded to a server of the website by a content provider. Access criteria are determined that are associated with a user of a user unit. These access criteria include a relationship between the user and the content provider and / or the content of the image. The resolution of a modified representation of the image is determined, at least in part, based on the access criteria. The modified representation of the image is generated, at least in part, based on the resolution. The modified representation of the image is displayed on the user unit.
[0008] Further features and advantages are implemented through the techniques of the present invention. Further embodiments and aspects of the invention are described in detail herein and are considered part of the claimed invention. For a better understanding of the invention with its advantages and features, reference is made to the description and the drawings. List of characters
[0009] The subject matter considered to be the invention is described in detail and expressly claimed in the claims at the end of the description. The above features and further advantages of the invention will become clear from the following detailed description in conjunction with the accompanying drawings, wherein: Fig. 1 shows a cloud computing environment according to one or more embodiments of the present invention; Fig. 2 abstracted model layers according to one or more embodiments of the present invention; Fig. 3 shows a block diagram of a system for dynamic image size adjustment according to one or more embodiments of the present invention; Fig. 4 shows a flowchart of a process for dynamic image size adjustment according to one or more embodiments of the present invention; Fig. 5 shows a flowchart of a process for dynamic image size adjustment according to one or more embodiments of the present invention; and Fig. Figure 6 shows a block diagram of a data processing unit for implementing some or all aspects of a system for dynamic image resizing according to one or more embodiments of the present invention. DETAILED DESCRIPTION
[0010] One or more embodiments of the present invention described herein provide dynamic image resizing based on a user's access criteria. According to one or more embodiments of the present invention, high-resolution images are uploaded to servers that manage websites. When a user selects an image from a website to view, the resolution of the image displayed to the user is dynamically adjusted based on the user's access criteria. Furthermore, the image format can also be dynamically adjusted based on the user's access criteria and / or at the user's request.
[0011] When a typical user logs into a social network, they may find many pictures from friends and messages in their inbox. The resolution of the display of images or photos can be dynamically determined based on user access criteria by one or more embodiments of the present invention. Examples of user access criteria include, but are not limited to: descriptions of a user device used to view the image; bandwidth available for transmitting the image; a limited data volume on the user's user device; storage capacity on the user device; connection speed of the user device; network configurations; a social relationship or other connection between the user and a subject or person in the image; and / or the social relationship between the image owner and the user.For example, if the user is a close friend of Mary, Mary's pictures can be displayed in a higher resolution. If the user is only an acquaintance of Peter, Peter's pictures can be displayed in a lower resolution, as the user might not be interested in viewing them in detail.
[0012] One or more embodiments of the present invention determine social relationships (e.g., close friend, acquaintance) based on content from a social networking website (e.g., whether they are "friends" or otherwise connected) and / or previous actions of the parties involved (e.g., emails and frequency of their contact). Using analytics software, the closeness of a relationship between two friends can also be determined based on the likes and comments on the messages exchanged between them.Analytics software can also identify cross-connections, such as how many services friends are connected through. This includes, but is not limited to: being Facebook friends; following each other on Twitter, Instagram, or other social networks; and / or exchanging messages via various messaging services like Facebook Messenger, Google Hangouts, or other messaging applications. The more of these connections exist, the closer the friendship.
[0013] The term "resolution" as used herein refers to the number of individual pixels (or other elements) that make up an image or photograph. As the resolution increases, the quality of the image improves, becoming sharper, clearer, and more detailed. The term "full resolution" as used herein refers to the highest possible resolution for the screen or other unit used to view the image. The terms "high resolution" and "low resolution" as used herein are relative terms, with a high-resolution image having more pixels than the same image at a low resolution. The term "original resolution" refers to the resolution of the image when it was uploaded to and stored on a server for access by the website. The original resolution is the highest possible resolution available for viewing.
[0014] The terms "image" and "photo" are used interchangeably herein to refer to a computer image that has been created or copied and stored in electronic form. An image may consist of pixels (or any other binary or vector representation) to represent visual information, including, but not limited to, drawings, photographs, logos, and individual video sequences. An image may be stored in any format known by technology, including, but not limited to, JPEG (Joint Photographic Experts Group); TIFF (Tagged Image File Format); CGM (Computer Graphics Metafile); and PDF (Portable Document Format).
[0015] It should be clarified from the outset that the implementation of the teachings presented herein is not limited to a cloud computing environment, although this disclosure contains a detailed description of cloud computing. Instead, embodiments of the present invention can be implemented together with any type of data processing environment, now known or subsequently invented.
[0016] Cloud computing is a service delivery model that enables seamless, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing power, main memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management overhead or interaction with a service provider. This cloud model can include at least five properties, at least three service models, and at least four implementation models.
[0017] The properties are as follows: On-Demand Self-Service: A cloud user can unilaterally and automatically provide data processing functions such as server time and network storage as needed, without requiring human interaction with the service provider.
[0018] Broad Network Access: Functions are available over a network, accessed through standard mechanisms that support use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
[0019] Resource pooling: The provider's data processing resources are pooled to serve multiple users using a multi-tenant model, with various physical and virtual resources being dynamically allocated and reassigned as needed. There is a perceived location independence, as the user generally has no control over or knowledge of the exact location of the provided resources, but may be able to define a location at a higher level of abstraction (e.g., country, state, or data center).
[0020] Rapid Elasticity: Features can be deployed quickly and elastically for rapid horizontal scaling (scale out), in some cases automatically, and released quickly for rapid scale-in. To the user, the available features often appear unlimited and can be purchased in any quantity at any time.
[0021] Cloud systems automatically control and optimize resource usage by employing a measurement function at a certain level of abstraction appropriate for the type of service (e.g., storage, processing power, bandwidth, and active user accounts). Resource consumption can be monitored, controlled, and reported, thereby creating transparency for both the service provider and the user.
[0022] The service models are as follows: Software as a Service (SaaS): The functionality provided to the user consists of using the provider's applications running in a cloud infrastructure. These applications are accessible from various client devices via a thin-client interface, such as a web browser (e.g., web-based email). The user does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application functions, with the possible exception of limited user-specific application configuration settings.
[0023] Platform as a Service (PaaS): The function provided to the user is to deploy applications created or obtained by the user, using programming languages and tools supported by the provider, within the cloud infrastructure. The user does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but has control over the deployed applications and potentially over configurations of the application hosting environment.
[0024] Infrastructure as a Service (IaaS): The functionality provided to the user consists of supplying processing, storage, networking, and other basic data processing resources, enabling the user to deploy and run any software, including operating systems and applications. The user does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and potentially limited control over selected network components (e.g., host firewalls).
[0025] The following are the deployment models: Private Cloud: The cloud infrastructure is operated solely for one organization. It can be managed by the organization or a third party and can be located on the organization's own premises or on external premises.
[0026] Community Cloud: This cloud infrastructure is shared by multiple organizations and supports a specific user community with shared concerns (e.g., mission, security requirements, policies, and regulatory compliance considerations). It can be managed by the organizations themselves or a third party and can be located on-premises or externally.
[0027] Public Cloud: The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization that sells cloud services.
[0028] Hybrid Cloud: The cloud infrastructure is a composition of two or more clouds (private, community or public) that remain separate entities but are connected by a standardized or proprietary technology that enables data and application portability (e.g. cloud audience distribution for load balancing between clouds).
[0029] A cloud computing environment is service-oriented, focusing on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing lies an infrastructure that comprises a network of interconnected nodes.
[0030] With reference to Fig. 1 is the illustrative cloud computing environment 50 depicted. As shown, the cloud computing environment exhibits 50 one or more cloud computing nodes 10on, with which local data processing units used by cloud users, such as the electronic assistant (PDA, Personal Digital Assistant) or the mobile phone 54A , the desktop computer 54B , the laptop computer 54C and / or the automotive computer system 54N They can exchange data. The nodes 10 They can exchange data with each other. They can be grouped physically or virtually into one or more networks, such as private, community, public, or hybrid clouds (not shown), as described above, or into a combination thereof. This enables the cloud computing environment 50 , to offer infrastructure, platforms and / or software as a service for which a cloud user does not need to maintain resources on a local data processing unit. It should be noted that the types in Fig. 1 shown data processing units 54Aup to N are merely illustrative and that the data processing nodes 10 and the cloud computing environment 50 be able to exchange data with any type of computer-based unit via any type of network and / or via any type of network-accessible connection (e.g., using a web browser).
[0031] With reference to Fig. 2 shows a set of functional abstraction layers that are used by the cloud computing environment 50 ( Fig. 1) be provided. It should be clear from the outset that the in Fig. The components, layers, and functions shown in Figure 2 are intended for illustrative purposes only, and embodiments of the invention are not limited to them. As shown, the following layers and corresponding functions are provided: A hardware and software layer 60It contains hardware and software components. Examples of hardware components include: mainframe computers. 61 ; servers based on the RISC (Reduced Instruction Set Computer) architecture 62 ; Server 63 Blade server 64 ; Storage units 65 ; and networks and network components 66 According to some implementations, software components include network application server software. 67 and database software 68 .
[0032] The virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 71 , virtual memory 72 , virtual networks 73 , including virtual private networks, virtual applications and operating systems 74 ; and virtual clients 75 .
[0033] According to one example, the administrative layer 80 Provide the functions described below. Resource provisioning 81 Provides dynamic procurement of data processing resources and other resources used to perform tasks within the cloud computing environment. Includes measurement and pricing. 82 They provide cost tracking for the use of resources within the cloud computing environment, as well as billing or invoicing for the consumption of these resources. For example, these resources might include application software licenses. Security provides identity verification for cloud users and tasks, as well as protection for data and other resources. A user portal 83 Provides users and system administrators with access to the cloud computing environment. Manages the scope of services. 84Provides the allocation and management of cloud computing resources so that the required service objectives are met. A Service Level Agreement (SLA) 85 provides the advance planning and procurement of cloud computing resources for which a future requirement is anticipated, in accordance with the SLA.
[0034] A workload shift 90 Provides examples of the functionality for which the cloud computing environment can be used. Examples of workloads and functions that can be provided by this layer include: mapping and navigation. 91 Software development and lifecycle management 92 ; Provision of training in virtual classrooms 93 ; Data analytics processing 94 Transaction processing 95 ; and dynamic image resizing 96 .
[0035] In Fig. 3 is generally a block diagram of a system 300 shown according to one or more embodiments of the present invention. Fig. 3 shows a website 302 , accessed by various users named User 1306 , users 2 308 and users 3 310 over one or more networks 304 access. The in Fig. 3 websites shown 302 is located on a server 312 or is managed by it. According to Fig. 3. Can users who are on the same website 302 They can access it, use different units, and access it in different ways. For example, the website might be... 302 This refers to a website of a social network that contains images, for example Facebook. Fig. 3 shows that different users are accessing the website simultaneously. 302 access. The user1 306 Users can access Facebook using a home computer (e.g., desktop computer, laptop computer) and a high-speed internet connection. 2 308 can access Facebook using a mobile phone with a low data allowance (e.g., 1 gigabyte per month) and rarely enlarge images or view larger images on the website. 302 request. The user 3 310 can be done using an iPad ® with unlimited data volume and usually request larger images by clicking on the images to enlarge them for better visibility.
[0036] Fig. 3 shows that the server 312The invention includes a rendering module 314 for performing dynamic image resizing based on user access criteria, with one or more embodiments of the present invention described herein. The rendering module 314 An analysis of social connections to images and / or pattern recognition can be performed. According to one or more embodiments of the present invention, the display module operates 314 together with computer instructions that are installed on the user units (e.g., the user's home computer) 1 306 , the user's mobile phone 2 308 , the user's Apple iPad 3 310 ) are stored to receive access criteria and / or to display an image of a specific size or resolution.
[0037] In this context, the term "editing" refers to the process of creating an image from a model, object, or existing image. An edited image, or a representation of an image, can be created by modifying a number of visible features, including, but not limited to, shading, surface texture, depth of field, resolution, and so on.
[0038] According to one or more embodiments of the present invention, the display module includes 314 Computer instructions that capture user behavior and access requirements to develop a recommendation for editing images on the user device. For example, the rendering module 314 to a display of an image on the website 302 for the user 2 308The user unit used accesses and displays a modified view with a lower resolution for the user. 2 generate the used user unit. This modified representation can be applied to a limited data volume of the user. 2 308 and based on the user's previous behavior 2 308 based on a setting that indicates no high-resolution images should be displayed. Conversely, the user can 1306 and the user 3 310 have unlimited data volume, so that the display modules 314 Images for the user 1306 and the user 3 310 can display it in higher resolution. If the user 3 310 For example, if a larger format image is desired, the display module can be used. 314According to one or more embodiments, also display a larger format image, possibly with a higher resolution, for example with the highest resolution (up to the resolution of the image when it was uploaded, or up to the "original resolution") that is available to the user. 3 310 The iPad used is supported.
[0039] According to one or more embodiments of the present invention, the user's access criteria can include relationships (e.g., social relationships), and the resolution of an image can be determined based on a relationship between the viewer and the content provider and / or the content of the image. For example, let the viewer be John, John accesses Facebook, and John's inbox contains content from Peter, Mary, Susan, and other friends. According to one or more embodiments of the present invention, the relationship between John and each other person is analyzed to determine the resolution of the images to be sent to John. According to one or more embodiments of the present invention, closer relationships (e.g., of a friend) with a content provider result in higher-resolution images than those without or with less close relationships (e.g.,(of an acquaintance) with the content provider.
[0040] In one or more embodiments of the display module 314 A relationship between John and the content (e.g., a person, a subject) of a specific image can be determined. For example, Michael might be an acquaintance of John and a close friend of Mary. Michael might upload an image showing Mary. Due to his social relationship with Mary, the image displayed to John, showing Mary, could be shown in a higher resolution. For example, John might be the viewer, and his inbox contains messages from Peter, Mary, Susan, and other friends. According to one or more embodiments, the display module can... 314Analyze the relationship between John and each person to determine the resolution of the images in which these people appear. The closer the relationships, the higher the resolution.
[0041] In one or more embodiments of the display module 314 A relationship between John and a motif within a particular image can also be determined. The term "motif" as used here refers to all content that is not recognizable as a person. A motif can include, but is not limited to: a place such as the user's home or Glacier National Park; an object such as kittens or mountain views; and a pet or a specific animal. For example, John can often access images of rainbows and less frequently images of rivers, and the rendering module 314John can provide representations of rainbow images that have a higher resolution than the representations of river images that are provided to John.
[0042] The display module 314This can be used to determine various relationships. For example, if John clicks on messages from Mary a certain number of times in his inbox within a specific timeframe, Mary can be identified as a close friend of John's, so images featuring Mary should have a higher resolution than images that do not include John's close friends. Mary can also be identified as a close friend of John's based on other criteria, including, but not limited to: John consistently enlarges images featuring Mary; Mary is in John's contact database; and John indicates that Mary is a close friend. A variety of friend categories can be created based on different criteria and / or thresholds. Examples of friend categories include, but are not limited to: close friend; friend; acquaintance; and stranger.Friends can also be identified as such based on networks, such as professional and social networks, but are not limited to these.
[0043] Thus, one or more embodiments of the display module have 314 An analysis component analyzes the access criteria of the viewing user, the image owner (e.g., to determine if the owner has any relationship to the user), and the image content (e.g., people and subjects, to determine if they have any relationship to the user). Based on this analysis, the display module determines 314 the resolution of the image that is to be processed for display to the user.
[0044] A person can be tagged in an image by assigning them a tag within the image. For example, if John took a picture of himself with Mary, he can tag Mary in the image when uploading it to a social network. This tagging is a way of identifying the people in the picture. Services like Facebook also use algorithms to identify the people in each image when it is uploaded, so that the person sending the image, such as John, can easily tag the people in the picture. The location of the image or message can be determined through metadata added to the image during upload. This data is sometimes collected when the image is taken and may include location data based on data from the mobile phone's GPS sensors and the cell tower.When a user like John posts pictures on social media, he can also include the location where he and his friends, such as Mary, were. These messages can also be used to indicate the relationship between John and Mary.
[0045] Fig. Figure 4 shows a general flowchart of a process. 400 for dynamic image size adjustment according to one or more embodiments of the present invention. The entire in Fig. 4. The processing shown, or part of it, can be carried out by computer instructions contained in the Fig. 3 shown display module 314 are contained within and executed by a processor. In block 402 A representation of an image from a server-managed website is accessed. When the user unit requests the image for editing, the image can be sent to the representation module. 314Provide information about the type of user device from which the request originates. Examples of user devices include, but are not limited to: a mobile phone with limited data; a tablet computer with unlimited Wi-Fi connectivity; and a desktop computer with an unlimited wired internet connection. The display module 314The system then uses this information as access criteria, possibly in conjunction with other access criteria, to determine the best resolution for the type of user device currently being used for viewing and the type of connection the user device has to the server. According to one or more embodiments of the present invention, the image has previously been uploaded to the website by a content provider and stored at its original resolution. According to one or more embodiments of the present invention, the original resolution is the highest resolution available to the content provider at the time the image is uploaded. The higher the original resolution, the more detail is visible, for example, when a larger version of an image is requested.
[0046] In block 404The user will be assigned access criteria. As described above, these access criteria may include system limitations, including but not limited to: bandwidth; limited data volume; storage space on the user device; network configurations; connection speed; and user device characteristics (e.g., highest resolution supported by the user device, processor speed). Access criteria may also include relationship limitations, including but not limited to: different resolutions for different relationships (e.g., highest resolution for friends, lowest resolution for acquaintances) between the viewer and the content provider and / or the image content itself.
[0047] The access criteria may also include the user's previous viewing habits for the content in question (e.g., the user usually enlarges pictures of John and / or requests them in high resolution) or similar content (e.g., the user usually enlarges pictures of certain groups of people or certain types of landscapes or certain types of objects and / or requests them in high resolution).
[0048] The access criteria can also include a time element. For example, Mary might spend ten minutes on a social network's website every day at noon and an hour at 6 p.m. This information can be used to determine, for example, whether to send lower-resolution images for quick viewing at noon and higher-resolution images to Mary at 6 p.m.
[0049] The access criteria described herein are intended only as examples and do not represent a limitation, since any access criteria can be used to determine an image resolution in one or more embodiments of the present invention. All or part of the access restrictions for a user can be stored on the user unit and accessed by the display module. 314 They can be retrieved from this or sent to the display module. All or part of the access criteria for a user can be configured by the display module. 314 The display module is dynamically determined in response to accessing a representation of an image. According to one or more embodiments of the present invention, the display module analyzes the data. 314 at least one subset of the above access criteria to be included in block 406to determine a resolution for a modified representation of the image whose representation was accessed.
[0050] In block 408 The modified representation of the image will be at least partially based on the information in block [block name]. 406 The specified resolution is generated. According to one or more embodiments of the present invention, the modified representation has the block shown. 406 Fixed resolution. In block. 410 The modified image is displayed on the user device. A request for a larger version of the image can be received, and a second modified version of the image may be displayed, containing a larger image with a potentially higher resolution.
[0051] According to one or more embodiments of the present invention described herein, the image is enlarged only upon a request from the user to enlarge the image.
[0052] Fig. Figure 5 generally shows a flowchart of a process. 500 for dynamic image size adjustment according to one or more embodiments of the present invention. The entire in Fig. 5. The processing shown, or part thereof, can be carried out by computer instructions contained in the Fig. The 3 shown display module is contained within and executed by a processor. The one in Fig. 5 processes shown 500 This is just one example of a process that can be implemented by one or more embodiments of the present invention to perform dynamic image size adjustment based on user access criteria.
[0053] In block 502 When a user requests access to a website (URL), and in block 504 The user's access criteria are determined. In block 506The system determines whether the user's access criteria indicate restrictions based on system limitations of the user or user unit. This is done in... Fig. The 5th example of system limitations shown includes a limited bandwidth. 508 , a limited data volume 510 and a limited time period 514 The presence of one or more of these system limitations results in the user being blocked. 516Images are displayed at a lower resolution. According to one or more embodiments of the present invention, access criteria include the user's system limitations. For example, a user named Mary may access Instagram for five minutes during her coffee break on her mobile phone and for another five minutes after work on her home computer. Mary has a limited data allowance and storage space on her mobile phone. Based on Mary's access criteria, images displayed by Instagram on her mobile phone will have a lower resolution than images displayed by Instagram on her home computer. Furthermore, the user's previous viewing behavior can be used to determine whether they have limited time when accessing a website.According to one or more embodiments of the present invention, the access criteria include the user's prior viewing behavior. For example, a user named John might typically access Facebook for ten minutes during his lunch break and for even longer after dinner. Based on John's viewing behavior, images on Facebook can be displayed at a lower resolution on John's device when he accesses Facebook during his lunch break, but at a higher resolution when he accesses Facebook after dinner.
[0054] In block 518 The system determines whether the user has requested a larger image format. If the user has requested a larger image format, the processing is done in blocks. 520 continued, where the user is shown an image with a larger format and higher resolution.
[0055] If the user's access criteria do not include any system restrictions, which is in block 506 The block is determined 522 This process is executed to determine whether the user has a social relationship with the image content and / or the image content owner. If the user has a social relationship, the block is executed. 524 The process was executed and a higher resolution image was displayed to the user.
[0056] Fig. Figure 6 shows a general block diagram of a computer system. 600for implementing some or all aspects of a system for dynamic image resizing according to one or more embodiments of the present invention. The processing described herein can be performed by hardware, software (e.g., firmware), or a combination thereof. According to an exemplary embodiment, the described methods can be implemented at least partially by hardware and as part of the microprocessor of a specialized or general-purpose computer system. 600 This can be done, for example, by a personal computer, a workstation, a mini-computer or a mainframe computer.
[0057] According to a Fig. The exemplary embodiment shown in 6 contains the computer system 600 a processor 605 , one with a memory controller 615 connected memory and one or more input units 645 and / or output units 640, for example, peripheral units that exchange data via a local I / O control unit 635 are interconnected. These units 640 and 645 They can include, for example, a printer, a scanner, a microphone, and the like. A conventional keyboard 650 and a mouse 655 can be used with the I / O control unit 635 be connected. At the I / O control unit 635 This could, for example, involve one or more buses or other hardwired or wireless connections known in engineering. The I / O control unit 635 It may have additional elements that have been omitted for simplification, such as control units, buffer memory (cache memory), drivers, amplifiers and receivers for exchanging data.
[0058] The I / O units 640 , 645They may also include units that transmit both input and output data, for example disk and tape storage, a network interface card (NIC) or a modulator / demodulator (for accessing other files, units, systems or a network), a radio frequency (RF) or other transmitter / receiver, a telephone interface, a bridge, a routing computer and the like.
[0059] The processor 605 It is a hardware unit for executing hardware instructions or software, particularly in memory. 610 are stored. In the processor 605 It can be a custom or a commercially available processor, a central processing unit (CPU), an external processor from a range of different options for the computer system. 600associated processors, a microprocessor based on semiconductors (in the form of a microchip or a chipset), a macroprocessor, or another unit for executing instructions. The processor 605 It may contain a cache memory, for example, but not limited to, an instruction cache to speed up the retrieval of executable instructions, a data cache to speed up the retrieval and storage of data, and an address translation buffer (TLB) to speed up the translation of virtual to physical addresses for both executable instructions and data. The cache memory can be structured as a hierarchy with multiple cache memory levels ( L1 , L2 etc.) be structured.
[0060] The storage 610It can contain one or combinations of volatile memory elements (e.g., random access RAM such as DRAM, SRAM, SDRAM, etc.) and non-volatile memory elements (e.g., ROM, erasable programmable read-only memory (EPROM), electronically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic tape storage, compact disc read-only memory (CD-ROM), storage disks, floppy disks, cassettes, tape cassettes, or the like, etc.). Furthermore, the memory can 610 This includes electronic, magnetic, optical, or other types of storage media. It should be noted that the storage 610 a distributed architecture, in which different components are arranged remotely, which affects the processor 605 however, it can access it.
[0061] The instructions in memory 610They can contain one or more individual programs, each program having an ordered list of executable instructions for implementing logical functions. In the example in Fig. The instructions in memory contain the 6 610 a suitable operating system (OS) 611 The operating system 611 It can essentially control the execution of other computer programs and provides scheduling, input / output control, file and data management, memory management, data transfer control, and other services.
[0062] Other data, including, for example, instructions for the processor. 605 or other retrievable information, can be stored in memory 620 Data is stored in a storage unit such as a hard disk drive or a solid-state drive. 610 or in memory 620Stored instructions may include instructions that enable the processor to execute one or more aspects of the allocation systems and procedures of this disclosure.
[0063] The computer system 600 Furthermore, a display control can be used. 625 including those with a screen 630 is connected. According to an exemplary embodiment, the computer system can 600 furthermore, a network interface 660 include those connected to a network 665 is connected. In the network 665 It could be an IP network for exchanging data between the computer system. 600 and an external server, client, and the like, operating over a broadband connection. The network 665 sends and receives data between the computer system 600 and external systems. According to one exemplary embodiment, the network can be 665This involves a managed IP network, which is managed by a service provider. The network 665 It can function wirelessly, e.g., using wireless protocols and technologies such as WiFi, WiMAX, etc. Regarding the network 665 It can also be a packet-switched network such as a local area network, a wide area network, an urban network, the internet, or another similar type of network environment. The network 665 It can be a closed wireless network, a wireless local area network (LAN), a wireless wide area network (WAN), a personal area network (PAN), a virtual private network (VPN), an intranet or any other suitable network system that may include equipment for receiving and sending signals.
[0064] Systems and methods for providing the embodiments of the present invention described herein can be implemented wholly or partially as computer program products or in computer systems 600 as in Fig. 6 is illustrated and embodied.
[0065] The terms used herein serve only to describe individual embodiments of the invention and are not to be understood as limiting the invention. The singular forms "a," "an," and "the" used herein are intended to include the plural forms as well, unless the context clearly indicates otherwise. Furthermore, it is clear that the terms "has" and / or "having" when used in this description denote the presence of specified features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or their groups.
[0066] The corresponding structures, materials, actions, and correspondences of all means or steps, including functional elements, in the following claims are intended to include all structures, materials, or actions for performing the function in conjunction with other expressly claimed elements. The description of the present invention has been provided for illustrative and descriptive purposes but does not claim to be exhaustive or limited to the invention as disclosed. Many modifications and variations are obvious to those skilled in the art without deviating from the scope of protection of the invention. The embodiments have been chosen and described in such a way as to best explain the basic concepts of the invention and its practical application, and to enable other skilled people to understand the invention for various embodiments with various modifications that are suitable for the intended purpose.
[0067] The present invention may be a system, a method, and / or a computer program product. The computer program product may include a computer-readable storage medium (or media) on which computer-readable program instructions are stored to induce a processor to execute aspects of the present invention.
[0068] A computer-readable storage medium can be a physical unit capable of retaining and storing instructions for use by a system to execute instructions. For example, a computer-readable storage medium can be an electronic storage unit, a magnetic storage unit, an optical storage unit, an electromagnetic storage unit, a semiconductor storage unit, or any suitable combination thereof, without limitation. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a portable computer disk, a hard disk, random-access memory (RAM), read-only memory (ROM), and erasable programmable read-only memory (EPROM).Flash memory), static random-access memory (SRAM), portable compact disc read-only storage (CD-ROM), DVD (Digital Versatile Disc), USB flash drive, floppy disk, a mechanically coded unit such as punched cards or raised structures in a groove on which instructions are stored, and any suitable combination thereof. A computer-readable storage medium shall not, in its use herein, be understood as volatile signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses traveling through an optical fiber), or electrical signals transmitted by a wire.
[0069] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to individual data processing units or, via a network such as the internet, a local area network, a wide area network, and / or a wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic cables, wireless transmission, routing computers, firewalls, switching units, gateway computers, and / or edge servers. A network adapter card or network interface in each data processing unit receives computer-readable program instructions from the network and forwards them for storage on a computer-readable storage medium within the respective data processing unit.
[0070] Computer-readable program instructions for executing the steps of the present invention can be assembly instructions, ISA (Instruction Set Architecture) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., as well as conventional procedural programming languages such as C or similar languages. The computer-readable program instructions can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server.In the latter case, the remotely located computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be established with an external computer (for example, via the internet using an internet service provider). In some embodiments, electronic circuits, including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), can execute computer-readable program instructions by using state information from the computer-readable program instructions to personalize the electronic circuits to perform aspects of the present invention.
[0071] Aspects of the present invention are described herein with reference to flowcharts and / or block diagrams or charts of methods, devices (systems), and computer program products according to embodiments of the invention. It is pointed out that each block of the flowcharts and / or block diagrams or charts, as well as combinations of blocks in the flowcharts and / or block diagrams or charts, can be executed by means of computer-readable program instructions.
[0072] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a specialized computer, or another programmable data processing device to create a machine such that the instructions executed by the processor of the computer or other programmable data processing device generate a means of implementing the functions / steps specified in the block(s) of the flowcharts and / or block diagrams or charts.These computer-readable program instructions may also be stored on a computer-readable storage medium capable of controlling a computer, programmable data processing device, and / or other units to function in a particular manner, such that the computer-readable storage medium on which instructions are stored has a manufactured product, including instructions that implement aspects of the function / step specified in the block(s) of the flowchart and / or block diagrams or charts.
[0073] The computer-readable program instructions can also be loaded onto a computer, other programmable data processing device or other unit to cause the execution of a series of process steps on the computer or other programmable device or other unit in order to generate a process executed on a computer, such that the instructions executed on the computer, other programmable device or other unit implement the functions / steps specified in the block(s) of the flowcharts and / or block diagrams or charts.
[0074] The flowcharts and block diagrams or charts in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this context, each block in the flowcharts or block diagrams or charts can represent a module, segment, or part of instructions that includes one or more executable instructions for performing the specific logical function(s). In some alternative embodiments, the functions specified in the block may occur in a different order than shown in the figures. For example, two blocks shown consecutively may in reality be executed essentially simultaneously, or the blocks may sometimes be executed in reverse order depending on the corresponding functionality.It should also be noted that each block of the block diagrams or charts and / or flowcharts, as well as combinations of blocks in the block diagrams or charts and / or flowcharts, can be implemented by special hardware-based systems that perform the specified functions or steps, or execute combinations of special hardware and computer instructions.
[0075] The descriptions of the various embodiments of the present invention are provided for illustrative purposes only and do not claim to be exhaustive or limited to the disclosed embodiments. Many modifications and variations are obvious to those skilled in the art without altering the scope of protection of the described embodiments. The terms used herein have been chosen to best explain the fundamental concepts of the embodiments, their practical application, or technical improvements compared to commercially available technologies, or to facilitate the understanding of the embodiments disclosed herein by other experts.
Claims
[1] Computer-aided method for dynamic image size adjustment, wherein the method comprises: Accessing a representation of an image from a website using a processing system, where the image has been uploaded to a server of the website by a content provider; Determining access criteria belonging to a user of a user unit using the processing system, wherein the access criteria include a relationship between the user and the content provider and / or the content of the image; Specifying a resolution of a modified representation of the image using the processing system, at least partially based on the access criteria; Generating the modified representation of the image using the processing system, at least partially based on the resolution; and Displaying the changed image representation on the user unit. [2] Computer-aided method according to claim 1, further comprising: Accessing a request from a user to view a larger format of the image; and Generating a second modified representation of the image, whose resolution is higher than the resolution of the modified representation. [3] Computer-aided method according to one of the preceding claims, wherein the content of the image includes a person. [4] Computer-aided method according to one of the preceding claims, wherein the content of the image includes a motif. [5] Computer-aided method according to one of the preceding claims, wherein the access criteria further include the user's previous viewing behavior. [6] Computer-aided method according to one of the preceding claims, further comprising receiving access criteria from the user unit. [7] Computer-aided method according to one of the preceding claims, wherein the access criteria further include system restrictions. [8] System for dynamic image resizing, wherein the system comprises: a memory containing instructions readable by a computer; and one or more processors for executing computer-readable instructions, wherein the one or more processors are controlled by the computer-readable instructions to perform operations such as the following: Accessing a representation of an image from a website, where the image was uploaded to a server of the website by a content provider; Determining access criteria that belong to a user of a user unit, wherein the access criteria include a relationship between the user and the content provider and / or the content of the image; Setting a resolution for a modified representation of the image, at least partially based on the access criteria; Generating the modified representation of the image at least partially based on the resolution; and Displaying the changed image representation on the user unit. [9] System according to claim 8, wherein the work steps further comprise: Accessing a request from a user to view a larger format of the image; and Generating a second modified representation of the image, whose resolution is higher than the resolution of the modified representation. [10] System according to one of claims 8 or 9, wherein the content of the image includes a person. [11] System according to one of claims 8 to 10, wherein the content of the image includes a motif. [12] System according to one of claims 8 to 11, wherein the access criteria further include the user's prior viewing behavior. [13] System according to one of claims 8 to 12, wherein the work steps further include receiving access criteria from the user unit. [14] System according to any one of claims 8 to 13, wherein the access criteria further include system restrictions. [15] Computer program product for dynamic image resizing, wherein the computer program product comprises: a computer-readable storage medium that is readable by a processing circuit and on which instructions for execution by the processing unit for carrying out a method according to one of claims 1 to 7 are stored. [16] Computer program which is stored on a computer-readable medium and which can be loaded into the main memory of a digital computer, wherein the computer program comprises sections of software code for carrying out the method according to any one of claims 1 to 7 when the program is executed on a computer.
Citation Information
Patent Citations
Method of transmitting images for online publication
US20040145679A1
On-page manipulation and real-time replacement of content
US20120151329A1
Managing content on an electronic device
US20150365491A1