Systems and methods for adjusting the aspect ratio of content slots
By adjusting the aspect ratio of content slots to match content items, the method optimizes display area utilization, reduces resource consumption, and enhances user immersion by allowing a wider range of content items to be displayed efficiently.
Patent Information
- Application Number
- JP2024095902
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-06-13
- Publication Date
- 2025-08-28
- Estimated Expiration
- 2041-04-07
AI Technical Summary
Existing content selection servers either filter out content items that do not match the content slot size or aspect ratio, reducing inventory and user immersion, or modify content items computationally, leading to inefficiencies and resource waste.
A content selection server adjusts the aspect ratio of the content slot to match the content item's orientation, allowing any content item to be selected without modifying the item itself, optimizing display area utilization and reducing resource requirements.
This approach enhances user immersion by fully utilizing the display area, reduces memory and computational resources, and minimizes network traffic by allowing a broader selection of content items without needing multiple sizes or formats.
Smart Images

Figure 0007730958000001 
Figure 0007730958000002 
Figure 0007730958000003
Abstract
Description
[Technical Field]
[0001] A content selection server can provide content, such as video or images, to a client device. For example, the content selection server can provide content that occupies a significant portion or the entire display screen of a client device at natural transition points in the flow of an application, such as during pauses between activities or levels in a game. Summary of the Invention [Means for solving the problem]
[0002] At least one aspect of the present disclosure relates to a method. The method may include receiving a request for content from a client device, the request including one or more parameters corresponding to a content slot. The method may include identifying a first display orientation of a content item selected in response to the request for content. The method may include identifying a second display orientation of a content slot in which to display the content item based on the one or more parameters of the request. The method may include determining that the first display orientation of the content item does not match the second display orientation of the content slot. In response to determining that the first display orientation of the content item does not match the second display orientation of the content slot, the method may include transmitting the content item and instructions, which, when performed, cause the client device to adjust an aspect ratio of the content slot based on the first display orientation of the content item.
[0003] In some embodiments, the aspect ratio is a first aspect ratio. In certain embodiments, the method includes identifying a second aspect ratio of the content item. In certain embodiments, the method includes determining a difference between the second aspect ratio of the content item and the first aspect ratio of the content slot. In certain embodiments, the method includes determining, in response to a difference exceeding a predetermined threshold, that the first display orientation of the content item does not match the second display orientation of the content slot.
[0004] In some embodiments, the request for content includes a screen resolution of the client device, and the request for content requests full screen content to occupy the screen of the client device.
[0005] In some embodiments, the method includes selecting a content item from a plurality of content items in response to a request for content.
[0006] In some embodiments, the method includes determining that the selected content item is a video content item. In particular embodiments, the method includes, in response to determining that the selected content item is a video content item, determining that a first display orientation of the content item does not match a second display orientation of the content slot.
[0007] In some embodiments, the instructions further include a first display orientation of the content item and, when executed, further cause the client device to adjust the aspect ratio based on the first display orientation.
[0008] In some embodiments, the instructions, when executed, further cause the client device to exchange the height of the content slot with the width of the content slot to adjust for the aspect ratio.
[0009] In some embodiments, the method includes transmitting the content item in response to determining that the first display orientation of the content item matches the second display orientation of the content slot.
[0010] In some embodiments, the method includes determining a device type of the client device from the request for content, hi certain embodiments, the method includes transmitting the content item in a format based on the device type.
[0011] In some embodiments, the instructions, when executed, further cause the client device to lock the application displaying the content slot in the second display orientation during display of the content item.
[0012] At least one aspect of the present disclosure relates to a system. The system may include one or more processors coupled to a memory. The one or more processors may receive a request for content from a client device, the request including one or more parameters corresponding to a content slot. The one or more processors may identify a first display orientation of a selected content item in response to the request for content. The one or more processors may identify a second display orientation of a content slot in which to display the content item based on the one or more parameters of the request. The one or more processors may determine that the first display orientation of the content item does not match the second display orientation of the content slot. In response to determining that the first display orientation of the content item does not match the second display orientation of the content slot, the one or more processors may transmit the content item and instructions, which, when executed, cause the client device to adjust an aspect ratio of the content slot based on the first display orientation of the content item.
[0013] In some embodiments, the aspect ratio is a first aspect ratio. In particular embodiments, the one or more processors identify a second aspect ratio of the content item. In particular embodiments, the one or more processors determine a difference between the second aspect ratio of the content item and the first aspect ratio of the content slot. In particular embodiments, the one or more processors determine, in response to a difference exceeding a predetermined threshold, that the first display orientation of the content item does not match the second display orientation of the content slot.
[0014] In some embodiments, the request for content includes a screen resolution of the client device, and the request for content requests full screen content to occupy the screen of the client device.
[0015] In some embodiments, the one or more processors select a content item from a plurality of content items in response to a request for content.
[0016] In some embodiments, the one or more processors determine that the selected content item is a video content item. In particular embodiments, in response to determining that the selected content item is a video content item, the one or more processors determine that a first display orientation of the content item does not match a second display orientation of the content slot.
[0017] In some embodiments, the instructions include a first display orientation of the content item and, when executed, further cause the client device to adjust the aspect ratio based on the first display orientation.
[0018] In some embodiments, the instructions, when executed, further cause the client device to exchange the height of the content slot with the width of the content slot to adjust for the aspect ratio.
[0019] In some embodiments, the one or more processors transmit the content item in response to determining that the first display orientation of the content item matches the second display orientation of the content slot.
[0020] In some embodiments, the one or more processors determine a device type of the client device from the request for content, and in particular embodiments, the one or more processors transmit the content item in a format based on the device type.
[0021] In some embodiments, the instructions, when executed, further cause the client device to lock the application displaying the content slot in the second display orientation during display of the content item.
[0022] At least one aspect of the present disclosure relates to a computer-readable medium, possibly non-transitory, storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations. The operations may include receiving a request for content from a client device, the request including one or more parameters corresponding to a content slot. The operations may include identifying a first display orientation of a selected content item in response to the request for content. The operations may include identifying a second display orientation of a content slot in which to display the content item based on the one or more parameters of the request. The operations may include determining that the first display orientation of the content item does not match the second display orientation of the content slot. The operations may include, in response to determining that the first display orientation of the content item does not match the second display orientation of the content slot, transmitting the content item and a script, the script, when executed, causing the client device to adjust an aspect ratio of the content slot based on the first display orientation of the content item.
[0023] In some embodiments, the aspect ratio is a first aspect ratio. In certain embodiments, the operation includes identifying a second aspect ratio of the content item. In certain embodiments, the operation includes determining a difference between the second aspect ratio of the content item and the first aspect ratio of the content slot. In certain embodiments, the operation includes determining, in response to a difference exceeding a predetermined threshold, that the first display orientation of the content item does not match the second display orientation of the content slot.
[0024] In some embodiments, the request for content includes a screen resolution of the client device, and the request for content requests full screen content to occupy the screen of the client device.
[0025] In some embodiments, the operation includes selecting a content item from a plurality of content items in response to a request for content.
[0026] In some embodiments, the operations include determining that the selected content item is a video content item. In some embodiments, the operations include, in response to determining that the selected content item is a video content item, determining that a first display orientation of the content item does not match a second display orientation of the content slot.
[0027] In some embodiments, the script further includes a first display orientation of the content item and the script, and when executed further causes the client device to adjust the aspect ratio based on the first display orientation.
[0028] In some embodiments, the script, when executed, further causes the client device to swap the height of the content slot with the width of the content slot to adjust the aspect ratio.
[0029] In some embodiments, the operation includes transmitting the content item in response to determining that the first display orientation of the content item matches the second display orientation of the content slot.
[0030] In some embodiments, the operation includes determining a device type of the client device from the request for the content, hi particular embodiments, the operation includes transmitting the content item in a format based on the device type.
[0031] In some embodiments, the script, when executed, further causes the client device to lock the application displaying the content slot in the second display orientation while the content item is being displayed.
[0032] These and other aspects and embodiments are described in detail below. The foregoing information and the following detailed description include illustrative examples of various aspects and embodiments and provide an overview or framework for understanding the nature and features of the claimed aspects and embodiments. The drawings provide an explanation and further understanding of the various aspects and embodiments, and are incorporated into and constitute a part of this specification. It will be readily understood that aspects may be combined, and that functionality described in the context of one aspect of the invention may be combined with other aspects. The aspects may be implemented in any convenient form. For example, by a suitable computer program capable of executing on a suitable carrier medium (computer-readable medium), which may be a tangible carrier medium (e.g., a disk) or an intangible carrier medium (e.g., a communication signal). The aspects may also be implemented using a suitable apparatus, which may take the form of a programmable computer executing a computer program arranged to implement the aspects. As used in this specification and claims, the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise.
[0033] The accompanying drawings are not intended to be drawn to scale. Like reference numbers and names in the various drawings indicate like elements. For clarity, not every component may be labeled in every drawing. [Brief explanation of the drawings]
[0034] [Figure 1] 1 is a block diagram of an example system for coordinating content slots for displaying content items on a client device, according to an embodiment of the present disclosure. [Figure 2A] FIG. 10 illustrates adjusting content slots for displaying content items on a client device in portrait mode, according to an embodiment of the disclosure. [Figure 2B] FIG. 10 illustrates adjusting content slots for displaying content items on a client device in portrait mode, according to an embodiment of the disclosure. [Figure 3A] FIG. 10 illustrates adjusting content slots for displaying content items on a client device in landscape mode according to an embodiment of the present disclosure. [Figure 3B] FIG. 10 illustrates adjusting content slots for displaying content items on a client device in landscape mode according to an embodiment of the present disclosure. [Figure 4] 1 is an exemplary flow diagram of a method for coordinating content slots for displaying content items at a client device, according to an embodiment of the present disclosure. [Figure 5] FIG. 1 illustrates the general architecture of an exemplary computer system that can be used to implement any of the computers discussed herein. DETAILED DESCRIPTION OF THE INVENTION
[0035] The following is a detailed description of various concepts related to techniques, approaches, methods, apparatus, and systems for adjusting the aspect ratio of content slots and embodiments thereof. The various concepts introduced above and discussed in detail below can be implemented in any of many ways, as the described concepts are not limited to any particular implementation method. Examples of specific embodiments and applications are provided primarily for illustrative purposes.
[0036] A content selection server can provide content items to a client device in response to a request from the client device. The request can identify a content slot size, which the content selection server can use to select appropriate content to provide in response to the request that occupies the entire area of the content slot. To optimize the utilization of the client device's display screen and avoid unnecessary unoccupied area of the display screen, existing content selection servers can filter out content items that do not match the content slot size or corresponding aspect ratio, thereby reducing the inventory of content items available for selection when responding to a request for content. Alternatively, existing content selection servers can choose to provide content items that do not match the content slot size or corresponding aspect ratio of the content slot, in which case the content item does not occupy the entire area of the content slot, resulting in a reduced user immersion and providing white space (or unoccupied area), resulting in wasted space on the display screen. In some cases, it may be possible for a content selection server to implement video processing technologies to adjust the size of a content item to occupy the entire content slot. However, these video processing technologies are computationally expensive and may result in the loss of some data from the content item.
[0037] The present solution solves the above-identified problem by having a content selection server limit the selection of content items based on the size of the content item and the size of the content slot, or by having a client device adjust the aspect ratio of the content slot instead of modifying the content item selected for display in the content slot. The present solution allows for the selection of any content item, regardless of size, in response to a request by adjusting the aspect ratio of the content slot if the display orientation of the selected content item does not match the display orientation of the content slot.
[0038] According to the present disclosure, systems and methods of the present disclosure can receive parameters corresponding to a content slot in a content request sent from a client device. The systems and methods herein can identify a display orientation of a content item selected from candidate content, identify a display orientation of the content slot based on the parameters received from the client device, and determine that the display orientation of the content item does not match the display orientation of the content slot. The systems and methods herein can then send the content item to the client device, which can include instructions for adjusting the aspect ratio of the content slot based on the display orientation of the content item so that the display orientation of the content slot matches the display orientation of the content item. Thus, the systems and methods described herein allow a content item to occupy more of the client device's screen by adjusting the content slot without having to modify the content item or first achieving a match between the display orientation of the content item and the display orientation of the content slot. Thus, the display area of the client device can be used more efficiently because the aspect ratio of the content slot is adjusted to match the content item. In accordance with this disclosure, the systems and methods described herein can reduce memory resource utilization by eliminating the need to store multiple sizes of the same content item to fit different content slots in a client device, thereby requiring fewer content items to be stored. This reduction in memory resource utilization is achieved because the content slots are tailored to the content items rather than the other way around. This storage reduction saves system resources, such as the server storage requirements for storing multiple sizes of the same content item and maintaining a larger, more complex database of content items.Furthermore, content providers no longer need to expend computational and other resources to generate multiple sizes of the same content item to fit content slots of different sizes. This reduces network traffic by reducing the number of content items sent from content publishers and content selection servers, or other servers that store content items. Furthermore, client devices no longer need to waste time and resources rendering content items that do not fit the available content, thereby requiring additional network traffic and client resources, such as processing, memory, and telephony overhead, to request and receive content items that better fit the slot.
[0039] 1, a block diagram of an exemplary system 100 for coordinating content slots for displaying content items at client devices is shown, according to one or more embodiments. System 100 may include at least one network 110, one or more client devices 120A-N (sometimes referred to generically as client devices 120), at least one content publisher 130, at least one content provider 135, and at least one data processing system 140. Data processing system 140 may include or be communicatively coupled to at least one content item manager 150, at least one content request receiver 155, at least one content item selector 160, and at least one content display manager 165. Data processing system 140 may include or be communicatively coupled to database 170, which may store one or more content items 175A-N (sometimes referred to generically as content items 175).
[0040] Each of the components (e.g., data processing system 140, network 110, database 145, client device 120, content request receiver 155, content item selector 160, content item manager 150, and content display manager 165, etc.) or content provider 135 of system 100 may be implemented using hardware components or a combination of software and hardware components of a computing system (e.g., computer system 500 detailed herein in connection with FIG. 5, data processing system 140, any other computing system described herein, etc.). Each of the components of data processing system 140 may perform the functions detailed herein.
[0041] Network 110 may include computer networks such as the Internet, local, wide, metro or other area networks, intranets, satellite networks, other computer networks such as voice or data mobile telephony networks, and combinations thereof. Data processing system 140 of system 100 may communicate with, for example, at least one client device 120 via network 110. Network 110 may be any form of computer network capable of relaying information between data processing system 140, client device 120, content provider 135, and one or more content sources such as web servers or other external servers or computing systems, among others. In some embodiments, network 110 includes the Internet and / or other types of data networks, such as a local area network (LAN), a wide area network (WAN), a cellular network, a satellite network, or other types of data networks. Network 110 may also include any number of computing devices (e.g., computers, servers, routers, network switches, etc.) capable of receiving and / or transmitting data within network 110. Network 110 may further include any number of hardwired and / or wireless connections. Any or all of the computing devices described herein (e.g., data processing system 140, client device 120, computer system 500, etc.) may communicate wirelessly (e.g., via Wi-Fi, cellular, radio, etc.) with transceivers hardwired (e.g., via fiber optic cable, CAT5 cable, etc.) to other computing devices in network 110.Any or all of the computing devices described herein (e.g., data processing system 140, client device 120, computer system 500, etc.) may also communicate wirelessly with computing devices of network 110 via a proxy device (e.g., a router, network switch, or gateway).
[0042] Each of the client devices 120 may include at least one processor and memory, e.g., processing circuitry. The memory may store processor-executable instructions that, when executed by the processor, cause the processor to perform one or more of the operations described herein. The processor may include a microprocessor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or the like, or a combination thereof. The memory may include, but is not limited to, electronic, optical, magnetic, or any other storage or transmission device capable of providing program instructions to the processor. The memory may further include a floppy disk, a CD-ROM, a DVD, a magnetic disk, a memory chip, an ASIC, an FPGA, a read-only memory (ROM), a random-access memory (RAM), an electrically erasable programmable ROM (EEPROM), an erasable programmable ROM (EPROM), a flash memory, optical media, or any other suitable memory from which a processor can read instructions. The instructions may include code from any suitable computer programming language. The client device 120 may include one or more computing devices or servers capable of performing various functions as described herein. Client device 120 may include any or all of the components and perform any or all of the functions of computer system 500 described herein in connection with FIG.
[0043] Each of client devices 120 may be a computing device capable of communicating over network 110 to access information, such as a web page via a web browser or an application resource via a native application executed on client device 120. In accessing an information resource, client device 120 may execute instructions (e.g., embedded or included in a native application, information resource, etc.) that cause client device 120 to request content from one or more content sources (e.g., content provider 135, data processing system 140, etc.). Client device 120 may include configurations or settings that cause client device 120 to send parameters related to client device 120 (e.g., parameters corresponding to client device 120 making the request, etc.). In some embodiments, an information resource, such as a web page or mobile application page, may include instructions that cause the client device to send parameters related to client device 120 when making a request for content. Client device 120 may have attributes known or maintained by data processing system 140. Client device 120 can send a request for content over network 110 to data processing system 140 to request content for display on client device 120 .
[0044] In response to a request for content, client device 120 may receive the requested content over network 110. The requested content may be retrieved by a computing device external to client device 120 (e.g., data processing system 140, content provider 135, etc.) and transmitted to client device 120 over network 110. The content provided to client device 120 in response to a request for content may include scripts or other instructions for rendering the content in a particular location or in a particular format or configuration. For example, a script included in the content received by client device 120 may include instructions that cause client device 120 to insert the content into an information resource such as a rendered web page or application page. In some embodiments, the script causes client device 120 to send a confirmation message to the device that provided the content (e.g., data processing system 140, content provider 135, etc.) confirming that client device 120 has rendered the requested content. The content provided to client device 120 may be any type of content, including text, images, video, or any combination thereof. In some embodiments, the content includes an information resource such as a web page or a mobile application page. The content provided to client device 120 may be selected according to a content selection policy, which may select specific content to provide to client device 120 based on information included in the request or known parameters of client device 120.
[0045] The content provider 135 may include at least one processor and memory, e.g., processing circuitry. The memory may store processor-executable instructions that, when executed by the processor, cause the processor to perform one or more of the operations described herein. The processor may include a microprocessor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or the like, or a combination thereof. The memory may include, but is not limited to, electronic, optical, magnetic, or any other storage or transmission device capable of providing program instructions to the processor. The memory may further include a floppy disk, a CD-ROM, a DVD, a magnetic disk, a memory chip, an ASIC, an FPGA, a read-only memory (ROM), a random-access memory (RAM), an electrically erasable programmable ROM (EEPROM), an erasable programmable ROM (EPROM), a flash memory, optical media, or any other suitable memory from which a processor can read instructions. The instructions may include code from any suitable computer programming language. The content provider 135 may include one or more computing devices or servers capable of performing various functions as described herein. The content provider 135 may include any or all of the components and perform any or all of the functions of the computer system 500 described herein in connection with FIG.
[0046] The content publisher 130 can provide one or more information resources to the client device. For example, the client device 120 can request the information resource from the content publisher 130, and the content publisher 130 can provide the information resource to the respective device for display. The information resource can be a web page or a mobile application page, or other type of content that can include one or more content slots. The information resource can be a web page, an application resource or page, a video, an image, or other type of content described herein. The information resource provided by the content publisher 130 can include one or more scripts that, when executed by the client device 120, cause the client device 120 to request additional content for insertion into the information resource. In some embodiments, the information resource can include one or more scripts or computer-executable instructions corresponding to the content slots. The scripts or computer-executable instructions can be configured to generate a request for content to be inserted into the content slots. The scripts or computer-executable instructions can be configured to generate a request for content (e.g., text, images, audio, video, any combination thereof, etc.) to be inserted into the content slots when the information resource is accessed or processed for display on the client device. In some embodiments, client device 120 provides a request for content to data processing system 140. The request for content may include one or more parameters that data processing system 140 can use to select a content item to send to the client device for insertion into the content slot. In some embodiments, data processing system 140 may receive or extract the parameters from the request for content received from client device 120.Thus, data processing system 140 can provide content in response to requests for content received from client device 120. Additional details regarding content requests and parameters are provided below.
[0047] The content provider 135 can provide content items 175 to be inserted into content slots of an information resource at a client device. The content provider 135 can provide the content items 175 to the data processing system 140, which can then provide the content items 175 to the client device in response to a request for content. The content provider 135 can communicate with the data processing system 140 over the network 110 and can establish one or more content provisioning policies for providing the content items 175 to the client device via the data processing system. The content provisioning policy can include one or more content selection parameters for providing the content items 175. In some embodiments, each content item 175 can be provided to a client device that satisfies one or more content selection parameters associated with the content item.
[0048] The data processing system 140 may include at least one processor and memory, e.g., processing circuitry. The memory may store processor-executable instructions that, when executed by the processor, cause the processor to perform one or more of the operations described herein. The processor may include a microprocessor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or the like, or a combination thereof. The memory may include, but is not limited to, electronic, optical, magnetic, or any other storage or transmission device capable of providing program instructions to the processor. The memory may further include a floppy disk, a CD-ROM, a DVD, a magnetic disk, a memory chip, an ASIC, an FPGA, a read-only memory (ROM), a random-access memory (RAM), an electrically erasable programmable ROM (EEPROM), an erasable programmable ROM (EPROM), a flash memory, an optical medium, or any other suitable memory from which a processor can read instructions. The instructions may include code from any suitable computer programming language. The data processing system 140 may include one or more computing devices or servers capable of performing various functions as described herein. It should be understood that any component of data processing system 140 can perform any function described herein. Data processing system 140 can include any or all of the components and perform any or all of the functions of computer system 500 described herein in connection with FIG. 5. In some embodiments, data processing system 140 stores or maintains information in database 145.
[0049] Referring now to the operation of data processing system 140, content item manager 150 may manage one or more content items 175. The content items 175 may include text, images, audio, video, or any combination thereof. The content item manager 150 may receive the content items 175 from one or more content providers 135. The content item manager 150 may store, maintain, or otherwise manage the content items received from the content providers 135 in database 170.
[0050] The content item manager 150 can maintain parameters for each content item 175. The content item manager 150 can determine the parameters from the content item 175 or receive the parameters from the content provider 135 that provided the content item 175. In some embodiments, the parameters include display resolution, aspect ratio, display orientation, size including dimensions, or file size of the content item. The content item parameters can include other parameters corresponding to the display of the content item. The content item manager 150 can maintain or store the parameters for each content item 175 in a data structure on the database 145.
[0051] The parameters may further include one or more content selection parameters according to which content items may be selected for transmission to one or more client devices in response to a request for content. The content selection parameters of a content item 175 may be defined by the content provider 135 that provides the content item 175.
[0052] The content request receiver 155 can receive one or more requests for content. The content request receiver 155 can receive a request for content from a client device 120. The request for content can be generated by an application running on the client device, for example, a mobile application or a browser on the client device. The content request receiver 155 can receive a request for content in response to the client device accessing an information resource that includes a content slot. The request for content can be a request for a content item to be inserted into a content slot of the information resource. The content slot can be a slot having a content slot size that occupies a portion of the display screen of the client device, or the content slot can be an interstitial content slot that occupies the entire display screen of the client device or the viewport of the application from which the content request was received. In some embodiments, the request for content is for full-screen content that occupies the screen of the client device 120. In some embodiments, the request for content is a Hypertext Transfer Protocol (HTTP) request, a File Transfer Protocol (FTP) request, a Hypertext Transfer Protocol Secure (HTTPS) request, a File Transfer Protocol Secure (FTPS), or any other type of request that can cause client device 120 to request access to content over network 110.
[0053] The request for content may include one or more parameters. The parameters may be used by the data processing system 140 or the content provider 135 to select a content item to provide to the client device in response to the content request. The content request receiver 155 may determine one or more parameters from the request for content. In some embodiments, the content request receiver may determine or derive a subset of one or more parameters from the one or more parameters included in the request. The one or more parameters may include an identifier of the information resource, such as a URI of the information resource. The parameters may include an ID of an application or website that hosts or provides the information resource. The parameters may include one or more content slot parameters corresponding to the content slot to which the request pertains. The content slot parameters may include, among other things, a content slot size, a content slot aspect ratio, a content slot display orientation, a content slot type (e.g., a slot for an image, text, audio, or video content item), and a content slot position within the information resource. The parameters may also include one or more device-related parameters, including, among other things, a parameter identifying the device type, a device display size, a device operating system, a parameter corresponding to the user of the device, and a network type identifying the type of network connection of the device.
[0054] The content request receiver 155 can determine the device type of the client device 120. In some embodiments, the content request receiver 155 determines the device type of the client device 120 from parameters of the client request. The parameters can include, among other things, information about the particular device, such as display capabilities (e.g., display size or resolution), display format compatibility (e.g., ability to display particular content, due to software limitations, etc.), processing capabilities for processing and displaying particular content (e.g., presenting content that does not interfere with the performance of the client device 120 in a meaningful way, etc.), operating system type, web browser identifier, application identifier, expected browsing history or device behavior, etc. The parameters can be stored with one or more respective requests for content, and the parameters can also identify each client device 120 associated with the parameters.
[0055] The content request receiver 155 may determine, extract, or identify the display orientation of the screen of the client device 120. The display orientation of the client device 120 may indicate how the screen of the client device 120 is oriented. In some embodiments, the content request receiver 155 determines that the display orientation indicates that the screen of the client device 120 is in portrait mode. Portrait mode may indicate that the height of the screen of the client device 120 is greater than the width of the screen of the client device 120. As used herein, portrait mode refers to the position of the client device 120 relative to the user, with the longer dimension of the client device 120 aligned with the vertical axis of the user's view. Alternatively, the content request receiver 155 may determine that the display orientation indicates that the screen of the client device 120 is in landscape mode. Landscape mode may indicate that the height of the screen of the client device 120 is less than the width of the screen of the client device 120. As used herein, landscape mode refers to the position of client device 120 relative to the user, with the longer dimension of client device 120 aligned along the horizontal axis of the user's view. The content request receiver 155 can determine, extract, or identify the display orientation of the screen of client device 120 from the request for content. In some embodiments, the content request receiver 155 determines, extracts, or identifies the display orientation from parameters of the request for content. In some embodiments, the content request receiver 155 determines the display orientation of the screen of client device 120 from the aspect ratio of the screen of client device 120.
[0056] The content request receiver 155 may determine, extract, retrieve, or identify the aspect ratio of a screen. The aspect ratio indicates the ratio of the width of a screen to the height of a screen. The content request receiver 155 may determine, extract, or identify the aspect ratio of a screen from a request for content. For example, parameters of the request for content may indicate the aspect ratio of the screen of the client device 120. The content request receiver 155 may determine the display resolution of the screen of the client device 120 to determine the aspect ratio of the screen of the client device 120. The content request receiver 155 may determine, extract, or identify the display resolution of the screen from parameters of the request for content. In some embodiments, the request for content includes the display resolution of the screen of the client device 120. The display resolution may indicate the height of the screen relative to the width of the screen. In some embodiments, the content request receiver 155 maintains or stores the display orientation, aspect ratio, or display resolution of the screen in database 145. The content request receiver 155 may also retrieve the screen orientation, aspect ratio, or display resolution from the database 145 .
[0057] The content request receiver 155 can determine, extract, or identify the display orientation of the content slot. The content request receiver 155 can determine, extract, or identify the display orientation of the content slot that displays the content item 175. The content request receiver 155 can determine, extract, or identify the display orientation from parameters of the request for content. The display orientation of the content slot can indicate how the content slot is oriented. In some embodiments, the content request receiver 155 determines that the display orientation indicates that the content slot is in portrait mode. Portrait mode can indicate that the height of the content slot is greater than the width of the content slot. The request for content can indicate that the content slot is in landscape mode or portrait mode. Portrait mode can indicate that the height of the content slot is greater than the width of the content slot. Landscape mode can indicate that the height of the content slot is less than the width of the content slot. In some embodiments, the content request receiver 155 determines that the request for content indicates that the content slot is in landscape mode. In some embodiments, the content request receiver 155 determines that the request for content indicates that the content slot is in portrait mode. The content request receiver 155 can determine the display orientation of the content slot based on the aspect ratio of the content slot. The content request receiver 155 can determine, extract, retrieve, or identify the aspect ratio of the content slot from parameters of the request for content. The aspect ratio indicates the ratio of the width of the content slot to the height of the content slot. In some embodiments, the content request receiver 155 maintains or stores the display orientation or aspect ratio of the content slot in the database 145. The content request receiver 155 can retrieve the display orientation or aspect ratio of the content slot from the database 145.
[0058] The content item selector 160 can select a content item 175 for display on the client device 120. The content item selector 160 can select the content item 175 from multiple content items. The content item selector 160 can select a content item in response to a request for content received by the content request receiver 155. The content item selector 160 can select the content item 175 using one or more parameters included in or derived from the request for content. The content item selector 160 can also select the content item 175 based on other parameters. The content item selector 160 can select the content item 175 based on parameters related to the performance of the content item 175, such as click-through rate. Similarly, the content item selector 160 can select the content item 175 based on parameters included in or identified from the content request, such as parameters of the client device 120 (e.g., network strength, hardware capabilities, etc.). The content item selector 160 can select the content item 175 from the database 145. In some embodiments, content item selector 160 searches for or selects additional content from content providers 135 in response to a request for content. Content item selector 160 can select content items 175 in any form of content, including text, images, video, or any combination thereof. In some embodiments, content items 175 include representations of information resources, such as web pages.
[0059] The content item selector 160 can determine, extract, retrieve, or identify the display orientation of the content item 175. The display orientation of the content item 175 can indicate how the content item 175 is oriented for viewing on the client device 120. For example, the display orientation can be portrait mode or landscape mode. Portrait mode can indicate that the width of the content item 175 is smaller than the height of the content item 175, and landscape mode can indicate that the width of the content item 175 is greater than the height of the content item 175. The content item selector 160 can determine, extract, retrieve, or identify the display orientation of the content item 175 from the aspect ratio of the content item 175. The content item selector 160 can determine, extract, retrieve, or identify the aspect ratio of the content item 175. The aspect ratio indicates the ratio between the width of the content item 175 and the height of the content item. The content item selector 160 can determine or identify the display resolution of the content item 175 to determine the aspect ratio of the content item 175. The content item selector 160 may determine, extract, or identify the display resolution of the content item 175. The display resolution may refer to the height of the content item 175 relative to the width of the content item 175. In some embodiments, the content item selector 160 maintains or stores the display orientation, aspect ratio, or display resolution of the content item 175 in the database 145.
[0060] The content item selector 160 can select a content item 175 regardless of the display orientation of the content slot. In other words, the content item selector 160 can select a content item 175 without using the display orientation of the content slot. The content item selector 160 can select a content item 175 such that the display orientation of the content item 175 does not have to match the display orientation of the content slot. In some embodiments, the content display manager 165 can directly modify, or have the client device modify, the content slot with the appropriate display orientation, aspect ratio, or display resolution so that the content item 175 occupies more of the content slot, so that the content item selector 160 selects a content item 175 with any display orientation, aspect ratio, or display resolution.
[0061] Because the content display manager 165 allows the content item selector 160 to select content items 175 regardless of their display orientation, aspect ratio, and display resolution, the content item selector 160 can select from a larger set of available content items 175. For example, because the content display manager 165 can modify the display orientation of a content slot or cause a client device to modify the display orientation of a content slot to match the display orientation of the content item 175, the content item selector 160 can select a content item 175 in portrait mode even if the content slot is in landscape mode. Thus, the content item selector 160 can select from a larger set of content items 175 that occupy the entire screen of the client device 120, resulting in a more immersive experience for the user of the client device 120 and optimizing the use of the available screen space for content items.
[0062] The content display manager 165 may manage or configure the display of content items 175 in content slots of the client device 120. For example, the content display manager 165 may manage the display of content items 175 in response to requests for content from the client device 120 and selection of the content items 175 by the content item selector 160.
[0063] The content display manager 165 can compare the display parameters of the content item 175 with the display parameters of the content slot. The content display manager 165 can receive the parameters of the content item 175 from the content item manager 150. The parameters of the content item 175 can include the display orientation, aspect ratio, or display resolution of the content item 175. Similarly, the content display manager 165 can receive the parameters of the content slot from the content request receiver 155. The parameters of the content slot can include the display orientation or aspect ratio of the content slot.
[0064] The content display manager 165 can compare the display orientation of the content item 175 with the display orientation of the content slot. In some embodiments, the content display manager 165 determines that the display orientation of the content item 175 matches the display orientation of the content slot. For example, the content display manager 165 can determine that both the content item 175 and the content slot are in landscape mode. Similarly, the content display manager 165 can determine that both the content item 175 and the content slot are in portrait mode. In some embodiments, the content display manager 165 determines that the display orientation of the content item 175 does not match the display orientation of the content slot. For example, the content display manager 165 can determine that the content item 175 is shown in landscape mode while the content slot is in portrait mode.
[0065] The content display manager 165 may determine the difference between the aspect ratio of the content item 175 and the aspect ratio of the content slot. For example, the content display manager 165 may determine that the content item 175 has an aspect ratio of 16:9 and the content slot has an aspect ratio of 16:10. The content display manager 165 may compare the difference to a predetermined threshold indicating the difference between the aspect ratios of the content item 175 and the content slot. The predetermined threshold may be 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, or 90%.
[0066] The content display manager 165 may determine that the difference does not exceed a predetermined threshold. In some embodiments, the content display manager 165 determines that the aspect ratio of the content item 175 matches the aspect ratio of the content slot. For example, the content display manager 165 may determine that both the content item 175 and the content slot have an aspect ratio of 16:9. In some embodiments, the content display manager 165 determines that the aspect ratio of the content item 175 and the aspect ratio of the content slot do not match. For example, if the aspect ratio of the content item 175 is 16:9 and the aspect ratio of the content slot is 16:10, the content display manager 165 may determine that the difference between the aspect ratios does not exceed a predetermined threshold. If the difference does not exceed the predetermined threshold, the content display manager 165 may determine that the content item 175 and the content slot have the same display orientation. For example, if the aspect ratio of the content item 175 is 16:9 and the aspect ratio of the content slot is 16:10, the content display manager 165 may determine that the content item 175 and the content slot are in landscape mode.
[0067] The content display manager 165 may determine that the difference exceeds a predetermined threshold. For example, if the aspect ratio of the content item 175 is 16:9 and the aspect ratio of the content slot is 9:16, the content display manager 165 may determine that the difference between the aspect ratios exceeds the predetermined threshold. In some embodiments, a difference that exceeds the predetermined threshold may result in empty space 226 when the client device 120 displays the content item 175 in the content slot. In some embodiments, the content display manager 165 may determine that the display orientation of the content item 175 does not match the display orientation of the content slot in response to a difference that exceeds the predetermined threshold. For example, the content display manager 165 may determine that the content item 175 is in landscape mode based on its 16:9 aspect ratio and that the content slot is in portrait mode based on its 9:16 aspect ratio.
[0068] The content display manager 165 can compare various formats of the content item 175. In some embodiments, the content display manager 165 can determine that the content item 175 is in a video format. The content display manager 165 can also determine that the content item 175 is an image, a banner, or any of the formats described herein. The content display manager 165 can compare the display orientation of the content item 175 with a particular format. For example, if the content item 175 is a video, the content display manager 165 can compare the display orientation of the content item 175 with the display orientation of the content slot. In some embodiments, in response to determining that the content item 175 is a video, the content display manager 165 can determine that the display orientation of the content item 175 does not match the display orientation of the content slot.
[0069] The content display manager 165 can generate instructions for the content slot. The instructions can be a computer-executable script. In some embodiments, the instructions can be a computer program (also known as a program, software, software application, or code) written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages. The content display manager 165 can deploy the instructions in any form, including as a standalone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. The display instructions can instruct the client device 120 to display the content item 175 in the content slot.
[0070] The content display manager 165 can adjust the display orientation of the content slot. In some embodiments, the content display manager 165 generates instructions specifying that the client device 120 adjust or set the orientation of the content slot in portrait mode. Similarly, the content display manager 165 can generate instructions specifying that the client device 120 adjust or set the orientation of the content slot in landscape mode. The generated instructions as described herein allow the content item 175 to fit into multiple content slots so that the content item 175 occupies the entire screen without requesting and receiving differently oriented content items for different display orientations, regardless of whether the content slot or the client device 120 is in portrait mode or landscape mode.
[0071] The content display manager 165 configures instructions to cause the client device 120 to adjust the aspect ratio for the content slot. The content display manager 165 can configure instructions to adjust the aspect ratio of the content slot from any of the aspect ratios discussed herein to any of the aspect ratios discussed herein. For example, the content display manager 165 can configure instructions to cause the client device 120 to adjust the aspect ratio of the content slot from 9:16 to 16:9. In some embodiments, the content display manager 165 configures instructions to cause the client device 120 to adjust the aspect ratio for the content slot based on the display orientation of the content item 175. For example, if the aspect ratio of the content slot is 9:16, which is associated with portrait mode, and the content item 175 is in landscape mode, the content display manager 165 can configure instructions to adjust the aspect ratio associated with landscape mode to 16:9. In some embodiments, content display manager 165 configures instructions to cause client device 120 to adjust the aspect ratio for the content slot in response to determining that the display orientation of content item 175 does not match the display orientation of the content slot. For example, if content display manager 165 determines that content item 175 is in landscape mode but the content slot is in portrait mode, content display manager 165 may configure instructions to cause client device 120 to adjust the aspect ratio of the content slot from 9:16 to 16:9, which is associated with landscape mode. In some embodiments, content display manager 165 configures instructions to cause client device 120 to adjust the aspect ratio for the content slot based on the display orientation of content item 175 in response to determining that the display orientation of content item 175 does not match the display orientation of the content slot.For example, first, content display manager 165 determines that content item 175 has an aspect ratio of 16:9, indicating that the content is in landscape mode. Next, content display manager 165 determines that if the content slot is in portrait mode, content display manager 165 constructs instructions to cause client device 120 to adjust the aspect ratio of the content slot from 9:16 to 16:9, which is associated with landscape mode.
[0072] Content display manager 165 can configure instructions to cause client device 120 to swap the width and height of a content slot. In some embodiments, content display manager 165 can configure instructions to cause client device 120 to swap the width and height of a content slot to adjust the aspect ratio of the content slot. For example, content display manager 165 can configure instructions to cause client device 120 to adjust the aspect ratio of a content slot from 9:16 to 16:9.
[0073] The content display manager 165 can generate instructions to include the display orientation of the content item 175. For example, the content display manager 165 can generate instructions that include that the content item 175 is in landscape mode. Similarly, the content display manager 165 can generate instructions that include that the content item 175 is in portrait mode. The client device 120 or the content provider 135 can use the orientation of the content slot to verify the display of the content item 175 in the specified orientation.
[0074] The content display manager 165 can generate instructions to cause the client device 120 to lock the display orientation of the content slot. In some embodiments, the instructions cause the client device 120 to lock the aspect ratio of the content slot. For example, the content display manager 165 can generate instructions to cause the client device 120 to lock the display orientation of the screen to portrait mode. Similarly, the content display manager 165 can generate instructions to cause the client device 120 to lock the display orientation of the screen to landscape mode. The content display manager 165 can also generate instructions to cause the client device 120 to lock the display orientation of an application that displays the content slot while displaying the content item 175. For example, the content display manager 165 can generate instructions to cause the client device 120 to lock the display orientation of the application to portrait mode. Similarly, the content display manager 165 can generate instructions to cause the client device 120 to lock the display orientation of the application to landscape mode. Locking the display orientation of a content slot or application can prevent movement of client device 120 from inadvertently modifying the display orientation of the content slot after an instruction causes client device 120 to modify the display orientation of the content slot. For example, an auto-rotation feature of client device 120 can automatically modify the aspect ratio of the content slot in response to movement of client device 120. Thus, by locking the display orientation of a content slot or application, the display orientation of the content slot does not change in response to movement of client device 120 during presentation of content item 175.
[0075] The content display manager 165 may send the instruction to the client device 120. The content display manager 165 sends the instruction over the network 110. In some embodiments, the content display manager 165 may send the instruction to the client device 120 in response to determining that the display orientation of the content item 175 does not match the display orientation of the content slot. For example, the content display manager 165 may send the instruction to the client device 120 in response to determining that the content item 175 is in landscape mode but the content slot is in portrait mode.
[0076] The content display manager 165 can transmit the content item 175 to the client device 120. The content display manager 165 can transmit the content item 175 over the network 110. In some embodiments, the content display manager 165 transmits the content item 175 in response to determining that the display orientation of the content item 175 does not match the display orientation of the content slot. For example, the content display manager 165 can transmit the content item 175 to the client device 120 in response to determining that the content item 175 is in landscape mode but the content slot is in portrait mode. In some embodiments, the content display manager 165 transmits the content item 175 in response to determining that the display orientation of the content item matches the display orientation of the content slot. For example, the content display manager 165 can transmit the content item 175 to the client device 120 in response to determining that the content item 175 and the content slot are both configured in landscape mode. In some embodiments, the content display manager 165 transmits the content item 175 in a format based on the type of the client device 120. The content display manager 165 may receive the device type from the content request receiver 155. For example, if the device type indicates that the client device 120 is capable of rendering video, the content display manager 165 sends the content item 175 in a video format.
[0077] The content display manager 165 may send the content item 175 and the instructions to the client device 120. In some embodiments, in response to determining that the display orientation of the content item 175 does not match the display orientation of the content slot, the content display manager 165 may send the content item 175 and the instructions to the client device 120. For example, in response to determining that the content item 175 is in landscape mode but the content slot is in portrait mode, the content display manager 165 may send the instructions and the content item 175 to the client device 120.
[0078] The content display manager 165 may also determine, calculate, or identify a particular aspect ratio for a content item 175, content slot, or screen. For example, the aspect ratio for a content item 175, content slot, or screen may be 32:9, 21:9, 16:9, 16:10, 4:3, 3:4, 10:16, 9:16, 9:21, or 9:32. Similarly, the display resolution of the content item 175 or screen may be 640×480, 800×600, 960×720, 1024×768, 1280×960, 1400×1050, 1440×1080, 1600×1200, 1856×1392, 1920×1440, 2048×1536, 1280×800, 1440×900, 1680×1050, 1920×1200, 2560×1600, 1024×576, 1152×648, 1280×720, 1366×768, 1600×900, 1920×1080, 2560×14 40, 3840x2160, 480x640, 600x800, 720x960, 768x1024, 960x1280, 1050x1400, 1080x1440, 1200x1600, 1392x1856, 1440x1920, 1536x2048, 800x1280, 900x1440, 1050x1680, 1200x1920, 1600x2560, 576x1024, 648x1152, 720x1280, 768x1366, 900x1600, 1080x1920, 1440x2560, or 2160x3840.
[0079] The content display manager 165 can also determine, calculate, or identify a display orientation based on the aspect ratio. The content display manager 165 can determine that a content item 175, screen, or content slot is in landscape mode if the aspect ratio of its width to its height is greater than 1. For example, the content display manager 165 can determine that a content item 175, screen, or content slot is in landscape mode if the aspect ratio is 32:9, 21:9, 16:9, 16:10, or 4:3. Similarly, the content display manager 165 can determine that the aspect ratio of the width to the height of a content item 175, screen, or content slot is less than 1. For example, the content item 175, screen, or content slot is in portrait mode if the aspect ratio is 3:4, 10:16, 9:16, 9:21, or 9:32.
[0080] The content display manager 165 can also determine, calculate, or identify an aspect ratio based on the display resolution. In some embodiments, the content item 175 or screen has an aspect ratio of 32:9 based on a resolution of 3840x1080 or 5120x1440. In some embodiments, the content item 175 or screen has an aspect ratio of 21:9 based on a display resolution of 2560x1080, 3440x1440, or 5120x2160. In some embodiments, the content item 175 or screen has an aspect ratio of 16:9 based on a display resolution of 1280x720, 1366x768, 1600x900, 1920x1080, 2560x1440, 3840x2160, 5120x2880, or 7680x4320. In some embodiments, the content items 175 or screens have an aspect ratio of 16:10 based on a display resolution of 1280x800, 1920x1200, or 2560x1600. In some embodiments, the content items 175 or screens have an aspect ratio of 4:3 based on a resolution of 1400x1050, 1440x1080, 1600x1200, 1920x1440, or 2048x1536. In some embodiments, the content items 175 or screens have an aspect ratio of 9:32 based on a display resolution of 1080x3840 or 1440x5120. In some embodiments, the content items 175 or screens have an aspect ratio of 9:21 based on a display resolution of 1080x2560, 1440x3440, or 2160x5120. In some embodiments, the content items 175 or screens have an aspect ratio of 9:16 based on a display resolution of 720x1280, 768x1366, 900x1600, 1080x1920, 1440x2560, 2160x3840, 2880x5120, or 4320x7680. In some embodiments, the content items 175 or screens have an aspect ratio of 10:16 based on a display resolution of 800x1280, 1200x1920, or 1600x2560.In some embodiments, the content item 175 or screen has an aspect ratio of 3:4 based on a display resolution of 1050x1400, 1080x1440, 1200x1600, 1440x1920, or 1536x2048.
[0081] Client device 120 can also perform the functions of data processing system 140 as described herein. For example, content display manager 165 can send instructions to client device 120 to perform the functions of content display manager 165. Thus, client device 120 can execute the instructions to perform the functions of content display manager 165 as described herein. For example, client device 120 can determine whether there is a mismatch between the display orientation of a content slot on client device 120 and a content item 175 received from content provider 135. Client device 120 can then modify the display orientation of the content slot to modify the aspect ratio of the content slot to match the display orientation of the content slot and the display orientation of the content item 175. Thus, client device 120 can perform the functions of content display manager 165 without exchanging additional data with data processing system 140.
[0082] Database 145 may be a database configured to store and / or maintain any of the information described herein. Database 145 may maintain one or more data structures, which may include, index, or otherwise store each of the values, pluralities, sets, variables, vectors, or thresholds described herein. Database 145 may be accessed using one or more memory addresses, index values, or identifiers of any items, structures, or regions maintained in database 145. Database 145 may be accessed via network 110 by components of data processing system 140 or any other computing device described herein. In some embodiments, database 145 is internal to data processing system 140. In some embodiments, database 145 is external to data processing system 140 and is accessed via network 110. Database 145 may be distributed across many different computer systems or storage elements and may be accessed via network 110 or an appropriate computer bus interface. Data processing system 140 may store the results of any or all of the calculations, determinations, selections, identifications, generation, construction, or calculations in one or more data structures indexed or identified with appropriate values, in an area of memory of data processing system 140, or in database 145. Any computing device described herein, such as data processing system 140, may access any or all of the values stored in database 145 to perform any of the functions described herein.
[0083] 2A and 2B, which illustrate a diagram 200 of adjusting a content slot for displaying a content item 175 on a client device 120 in portrait mode. FIGS. 2A and 2B illustrate a width of the client device 120 along a first axis 202 and a height of the client device 120 along a second axis 204 perpendicular to the first axis 202. The client device 120 may include a screen 210 and content slots 220A and 220B (commonly referred to as content slots 220). As shown in FIG. 2A, the client device 120 may send a request for content to the data processing system 140 in response to accessing an information resource of the content publisher 130. The request for content may include parameters for the data processing system 140 to determine information about the client device 120. In response to the content request and based on the parameters, the data processing system 140 may send the content item 175 to the client device 120. For example, data processing system 140 may transmit content item 175A to client device 120.
[0084] When a user orients client device 120 as shown in FIGS. 2A and 2B , where the width of screen 210 along axis 202 is less than the height of screen 210 along axis 204, screen 210 is in portrait mode. Screen 210 may have an aspect ratio of A:B. Because the length of A is less than B, content request receiver 155 may determine that screen 210 is in portrait mode. Content request receiver 155 may also determine or identify the aspect ratio of screen 210 based on the display resolution of screen 210. Content request receiver 155 may determine or identify that screen 210 has a display resolution of F×D. Thus, content request receiver 155 may determine that screen 210 has an aspect ratio of A:B.
[0085] Content slot 220A is in portrait mode because it is oriented for viewing such that the width of content slot 220A along axis 202 is less than the height of content slot 220A along axis 204. Content slot 220A has an aspect ratio of A:B. If the length of A is less than B, content request receiver 155 can determine that content slot 220A is in landscape mode.
[0086] Because content item 175A is oriented for viewing such that the width of content item 175A along axis 202 is greater than the height of content item 175A along axis 204, content item 175A is in landscape mode. Content item 175A also includes an aspect ratio of A:C. If the length of A is greater than C, content item selector 160 may determine that content item 175A is in landscape mode. Content item selector 160 may also determine or identify the aspect ratio of content item 175A based on the display resolution of content item 175A. Content item selector 160 may also determine or identify that content item 175A has a display resolution of F×E. Thus, content item selector 160 may determine that content item 175A has an aspect ratio of A:C.
[0087] Because the display orientation or aspect ratio of content item 175A does not match the display orientation or aspect ratio of content slot 220A, content slot 220A includes empty spaces 226A and 226B. Empty spaces 226 leave portions of screen 210 and content slot 220A unoccupied during the presentation of content item 175A, resulting in a less immersive experience for a user of client device 120.
[0088] 2B , content slot 220A is shown configured by instructions to be in landscape mode. Because content item 175A and content slot 220A have a width along axis 204 that is greater than their height along axis 202, client device 120 displays content item 175A within content slot 220A in landscape mode. Content item 175A and content slot 220A have the same aspect ratio of B:A. Content item 175A also has the same display resolution as screen 210. Compared to FIG. 2A , by matching the display orientation of content slot 220A to that of content item 175A, content item 175A occupies content slot 220A and screen 210 without empty space 226. The adjustment allows content item 175A to fit into multiple content slots so that content item 175A occupies the entire screen 210 regardless of whether content slot 220A or client device 120 is in portrait or landscape mode without requesting and receiving content items in different display orientations.
[0089] 3A and 3B, which show a diagram 300 of adjusting a content slot 220 for displaying a content item 175 on a client device 120 in landscape mode. FIGS. 3A and 3B include a first axis 202 along the width of the client device 120 and a second axis 204 along the length of the client device 120. As shown in FIG. 3A, the client device 120 can send a request for content to the data processing system 140 in response to accessing an information resource of the content publisher 130. The request for content can include parameters for the data processing system 140 to determine information about the client device 120. In response to the content request and based on the parameters, the data processing system 140 can send the content item 175 to the client device 120. For example, the data processing system 140 can send content item 175B to the client device 120.
[0090] When a user orients the client device 120 to view content as shown in FIGS. 3A and 3B , where the width of the screen 210 along axis 204 is greater than the height of the screen 210 along axis 202, the screen 210 is in landscape mode. The screen 210 may have an aspect ratio of B:A. Because the length of B is greater than the length of A, the content request receiver 155 may determine that the screen 210 is in landscape mode. The content request receiver 155 may also determine or identify the aspect ratio of the screen 210 based on the display resolution of the screen 210. The content request receiver 155 may determine or identify that the screen 210 has a display resolution of D×F. Thus, the content request receiver 155 may determine that the screen 210 has an aspect ratio of B:A.
[0091] Content slot 220B is in landscape mode because it is oriented for viewing such that the width of content slot 220B along axis 204 is greater than the height of content slot 220B along axis 202. Content slot 220B has an aspect ratio of B:A. If the length of B is greater than A, content request receiver 155 can determine that content slot 220B is in landscape mode.
[0092] Because content item 175B is oriented for viewing such that the width of content item 175B along axis 204 is less than the height of content item 175B along axis 202, content item 175B is in portrait mode. Content item 175B also includes an aspect ratio of G:A. If the length of G is less than A, content item selector 160 may determine that content item 175B is in portrait mode. Content item selector 160 may also determine or identify the aspect ratio of content item 175B based on the display resolution of content item 175B. Content item selector 160 may also determine or identify that content item 175B has a display resolution of H×F. Thus, content item selector 160 may determine that content item 175B has an aspect ratio of G:A.
[0093] Because the display orientation or aspect ratio of content item 175B does not match the display orientation or aspect ratio of content slot 220B, content slot 220B includes empty spaces 226C and 226D. Empty spaces 226C and 226D leave portions of screen 210 and content slot 220B unoccupied during the presentation of content item 175B, resulting in a reduced sense of immersion for the user of client device 120.
[0094] 3B, content slot 220B is shown configured by instructions to be in portrait mode. Because content item 175B and content slot 220B have a width along axis 202 that is greater than their height along axis 204, client device 120 displays content item 175B within content slot 220B in portrait mode. Content item 175B and content slot 220B have the same aspect ratio of A:B. Content item 175B also has the same display resolution as screen 210. Compared to FIG. 3A, by matching the display orientation of content slot 220B to that of content item 175B, content item 175B occupies content slot 220B and screen 210 without empty space 226. The adjustment allows content item 175B to fit into multiple content slots so that content item 175B occupies the entire screen 210 regardless of whether content slot 220B or client device 120 is in portrait or landscape mode without requesting and receiving content items in different display orientations.
[0095] 4, an example flow diagram of a method 400 for coordinating content slots for displaying content items at a client device is shown. Method 400 may be performed, executed, or otherwise performed by data processing system 140, computer system 500 described herein in conjunction with FIG. 5, or any other computing device described herein. Briefly, a data processing system (e.g., data processing system 140, etc.) may receive a request for a content item (e.g., content item 175, etc.) (step 402), select the content item (step 404), identify a display orientation of the content item (step 406), identify a display orientation of a content slot (e.g., content slot 220, etc.) (step 408), compare the display orientation of the content item with the display orientation of the content slot (step 410), determine whether the orientations match (step 412), generate instructions for adjusting the aspect ratio of the content slot (step 414), and send the instructions and the content item to a client device (e.g., client device 120, etc.) (step 416).
[0096] The data processing system may receive or manage a request for a content item (step 402). The data processing system may receive a request for content from a client device. The request may include one or more parameters corresponding to a content slot. The parameters may indicate a display orientation of the client device. The data processing system may determine a display orientation of the client device. The data processing system may determine the display orientation of the client device from the request for content. The data processing system may determine the display orientation of the client device from the aspect ratio of the screen. The data processing system may determine the aspect ratio of the client device. The data processing system may also determine the aspect ratio of a screen (e.g., screen 210) of the client device. The data processing system may determine the aspect ratio of the client device from the request for content. The data processing system may determine the aspect ratio of the client device from the display resolution of the screen. The data processing system may determine the display resolution of the client device. The data processing system may determine the display resolution of the client device screen from the request for content. In some embodiments, the request for content includes the display resolution of the client device screen. The request for content may request full-screen content to occupy the screen of the client device. In some embodiments, the data processing system determines a device type of the client device. The data processing system can determine the device type of the client device from the request for content.
[0097] The data processing system may select a content item (step 404). In some embodiments, the data processing system selects the content item from a plurality of content items. The data processing system may select the content item in response to a request for content. The data processing system may select the content item regardless of the display orientation of the content slot. In other words, the data processing system may select the content item without using the display orientation of the content slot. The data processing system may select the content item such that the display orientation of the data processing system does not have to match the display orientation of the content slot. In some embodiments, the data processing system may modify the content slot with an appropriate display orientation, aspect ratio, or display resolution so that the content item occupies more of the content slot, so that the data processing system selects the content item with any display orientation, aspect ratio, or display resolution.
[0098] The data processing system may identify or determine a display orientation for the content item (step 406). In some embodiments, the data processing system determines a display orientation for the selected content item in response to a request for content. The request for content may include a display orientation for the content item. The data processing system may determine the display orientation for the content item from the request for content. The data processing system may also determine the display orientation from an aspect ratio of the content item. In some embodiments, the data processing system determines the aspect ratio of the content item. The request for content may include an aspect ratio for the content item. The data processing system may determine the aspect ratio from the request for content. The data processing system may determine the aspect ratio from a display resolution of the content item. The data processing system may determine the display resolution for the content item. The data processing system may determine the display resolution from the request for content.
[0099] The data processing system may identify or determine a display orientation of the content slot (step 408). In some embodiments, the data processing system identifies a display orientation of the content slot displaying the content item. The request for content may include one or more parameters indicating a display orientation of the content slot. In some embodiments, the data processing system identifies a display orientation of the content slot displaying the content item based on the one or more parameters of the request for content. The data processing system may determine the display orientation of the content slot from an aspect ratio of the content slot. The data processing system may determine the aspect ratio of the content slot. The request for content may include an aspect ratio of the content slot. The data processing system may determine the aspect ratio from the content slot.
[0100] The data processing system may compare the display orientation of the content item to the display orientation of the content slot (step 410). The data processing system may compare the aspect ratio of the content item to the aspect ratio of the content slot. In some embodiments, the data processing system determines the difference between the aspect ratio of the content item and the aspect ratio of the content slot.
[0101] The data processing system may determine whether the display orientation of the content item matches the display orientation of the content slot (step 412). The data processing system may determine that the display orientation of the content item matches the display orientation of the content slot. The data processing system may determine that the display orientation of the content item matches the display orientation of the content slot by comparing the aspect ratio of the content item with the aspect ratio of the content slot. If the display orientation of the content item matches the display orientation of the content slot, method 400 proceeds to step 416. Alternatively, the data processing system may determine that the display orientation of the content item does not match the second display orientation of the content slot. The data processing system may determine that the display orientation of the content item does not match the display orientation of the content slot by comparing the aspect ratio of the content item with the aspect ratio of the content slot. The data processing system may determine that the display orientation of the content item does not match the display orientation of the content slot if the difference between the aspect ratio of the content item and the aspect ratio of the content slot exceeds a predetermined threshold. The data processing system may determine the inconsistency based on the format of the content item. In some embodiments, the data processing system determines that the selected content item is a video content item. In some embodiments, the data processing system, in response to determining that the selected content item is a video content item, determines that the display orientation of the content item does not match the display orientation of the content slot.
[0102] The data processing system may generate instructions for the content slot (step 414). The data processing system may adjust the display orientation of the content slot. The data processing system may also adjust the aspect ratio of the content slot. In some embodiments, the data processing system configures instructions to cause the client device to adjust the aspect ratio for the content slot. The data processing system may configure instructions to cause the client device to adjust the aspect ratio for the content slot based on the display orientation of the content item. The data processing system may configure instructions in response to determining that the display orientation of the content item does not match the display orientation of the content slot. The data processing system may configure instructions to swap the width and height of the content slot. In some embodiments, the data processing system configures instructions to cause the client device to swap the height of the content slot with the width of the content slot to adjust the aspect ratio. The data processing system may configure instructions to include the display orientation of the content item. In some embodiments, the data processing system configures instructions to include the display orientation of the content item. The data processing system may also configure instructions to lock the display orientation of the screen of the client device. The data processing system may also configure instructions to lock the display orientation of the content slot on the client device. In some embodiments, the data processing system may be configured with instructions to cause the client device to lock the display orientation of an application displaying a content slot while displaying the content item.
[0103] The data processing system may transmit the instructions and the content item to the client device (step 416). In some embodiments, the data processing system transmits the instructions to the client device. The data processing system may transmit the instructions in response to determining that the display orientation of the content item does not match the display orientation of the content slot. In some embodiments, the data processing system transmits the content item to the client device. The data processing system may transmit the content item in response to determining that the display orientation of the content item does not match the display orientation of the content slot. Alternatively, the data processing system may transmit the content item after step 412. In some embodiments, the data processing system transmits the content item in response to determining that the display orientation of the content item matches the display orientation of the content slot. In some embodiments, the data processing system transmits the content item in a format based on the device type. For example, the data processing system may transmit the content item as an image to a first device type and as a video to a second device type.
[0104] 5 illustrates the general architecture of an exemplary computer system 500 that can be used to implement any of the computer systems discussed herein, according to some embodiments. The computer system 500 can be used to provide and display information over the network 110. The computer system 500 of FIG. 5 includes one or more processors 520 communicatively coupled to memory 525, one or more communication interfaces 405, as well as one or more output devices 510 (e.g., one or more display units) and one or more input devices 515. The processor 520 can be included in any of the computing devices described herein.
[0105] In computer system 500 of FIG. 5, memory 525 may comprise any computer-readable storage medium and may store computer instructions, such as processor-executable instructions, for implementing various functions described herein for the respective system, as well as any data associated therewith generated thereby or received via a communications interface or input device, if present. Referring again to system 500 of FIG. 5, computer system 500 may include memory 525 for storing, among other things, any of the information described herein, variables, vectors, data structures, or other computer-readable information. Processor 520 shown in FIG. 5 may be used to execute instructions stored in memory 525, and in so doing may also read from or write to memory various information processed and / or generated pursuant to execution of the instructions.
[0106] The processor 520 of the computer system 500 shown in FIG. 5 may also be communicatively coupled to or control a communication interface 505 to send or receive various information pursuant to the execution of instructions. For example, the communication interface 505 may be coupled to a wired or wireless network, bus, or other communication means, thereby enabling the computer system 500 to send or receive information to or from other devices (e.g., other computer systems). Although not explicitly shown in the system of FIG. 5, one or more communication interfaces facilitate the flow of information between components of the system 500. In some embodiments, the communication interface may be configured (e.g., via various hardware or software components) to provide a website as an access portal to at least some aspects of the computer system 500. Examples of the communication interface 505 include a user interface (e.g., a web page) through which a user can communicate with the computer system 500.
[0107] 5 may be provided, for example, to allow a user to see or otherwise perceive various information in connection with the performance of instructions. Input devices 515 may be provided, for example, to allow a user to make manual adjustments, make selections, input data, or interact with the processor in any of a variety of ways during the performance of instructions. Additional information regarding general computer system architectures that may be used for the various systems discussed herein is provided further herein.
[0108] Embodiments of the subject matter and operations described herein may be implemented in digital electronic circuitry, or computer software embodied on tangible media, firmware, or hardware, including the structures disclosed herein and their structural equivalents, or one or more combinations thereof. Embodiments of the subject matter described herein may be implemented as one or more components of one or more computer programs, e.g., computer program instructions encoded on a computer storage medium for execution by or to control the operation of a data processing apparatus. The program instructions may be encoded in an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal generated to encode information for transmission to an appropriate receiver apparatus for execution by the data processing apparatus. The computer storage medium may be or be included in a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or one or more combinations thereof. Furthermore, while a computer storage medium is not a propagated signal, the computer storage medium may include a source or destination of computer program instructions encoded in an artificially generated propagated signal. The computer storage medium may also be or be included in one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
[0109] The functionality disclosed herein can be implemented in a smart television module (or connected television module, hybrid television module, etc.), which can include a processing module configured to integrate Internet connectivity with traditional television programming sources (e.g., received via cable, satellite, over-the-air, or other signals). A smart television module can be physically incorporated into a television set or can include separate devices such as a set-top box, Blu-ray or other digital media player, game console, hotel television system, and other companion devices. A smart television module can be configured to allow viewers to search and discover videos, movies, photos, and other content on the web, local cable TV channels, satellite TV channels, or stored on a local hard drive. A set-top box (STB) or set-top unit (STU) can include an information appliance device with a built-in tuner that can connect to a television set and external signal sources to convert the signal into content and display it on a television screen or other display device. A smart television module can be configured to provide a home or top-level screen that includes icons for multiple different applications, such as a web browser and multiple streaming media services, connected cable or satellite media sources, and other web “channels.” The smart television module can further be configured to provide an electronic program guide to the user. A companion application for the smart television module can operate on a mobile computing device to provide the user with additional information about available programs to enable the user to control the smart television module, etc. In alternative embodiments, functionality can be implemented in a laptop computer or other personal computer, a smartphone, other mobile phone, a handheld computer, a tablet PC, or other computing device.
[0110] The operations described herein may be implemented as operations performed by a data processing apparatus on data stored in one or more computer-readable storage devices or received from other sources.
[0111] The terms “data processing apparatus,” “data processing system,” “client device,” “computing platform,” “computing device,” or “device” encompass all kinds of apparatus, devices, and machines for processing data, including, by way of example, a programmable processor, a computer, a system on a chip, or a plurality of the foregoing, or a combination thereof. An apparatus may include, for example, special-purpose logic circuitry such as an FPGA (field-programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, an apparatus may also include code that creates an execution environment for the computer program in question, such as code constituting processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or one or more combinations thereof. The apparatus and execution environments may implement a variety of different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.
[0112] A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and can be deployed in any form, such as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored as part of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subprograms, or portions of code). A computer program can be deployed to execute on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communications network.
[0113] The processes and logic flows described herein may be performed by one or more programmable processors executing one or more computer programs to perform actions by manipulating input data and generating output. The processes and logic flows may also be performed by, and apparatus may be implemented as, special purpose logic circuitry, such as, for example, an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
[0114] Processors suitable for the execution of a computer program include, by way of example, both general-purpose and special-purpose microprocessors, and any one or more processors of any kind of digital computer. Typically, a processor receives instructions and data from a read-only memory or a random-access memory, or both. Elements of a computer include a processor for performing actions in accordance with the instructions and one or more memory devices for storing instructions and data. Typically, a computer also includes one or more mass storage devices, e.g., magnetic, magneto-optical, or optical disks, for storing data, or is operatively coupled to receive data from or transfer data to, or both. However, such devices are not required for a computer. Furthermore, a computer can be incorporated into another device, e.g., a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive). Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices, magnetic disks, e.g., internal hard disks or removable disks, magneto-optical disks, and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by, or incorporated in, special purpose logic circuitry.
[0115] To provide for user interaction, embodiments of the subject matter described herein can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube), plasma, or LCD (liquid crystal display) monitor, for displaying information to the user, as well as a keyboard and pointing device, e.g., a mouse or trackball, by which the user can provide input to the computer. Other types of devices can also be used to provide for user interaction; for example, feedback provided to the user can include any form of sensory feedback, such as visual, auditory, or tactile feedback, and input from the user can be received in any form, including acoustic, speech, or tactile input. Additionally, a computer can interact with a user by sending and receiving documents to and from a device used by the user, e.g., by sending a web page to a web browser on the user's client device in response to a request received from the web browser.
[0116] Embodiments of the subject matter described herein can be implemented in a computing system that includes a back-end component, e.g., a data server; a middleware component, e.g., an application server; a front-end component, e.g., a client computer with a graphical user interface or web browser through which a user can interact with an implementation of the subject matter described herein; or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, such as a communications network. Examples of communications networks include local area networks (“LANs”) and wide area networks (“WANs”), networks (e.g., the Internet), and peer-to-peer networks (e.g., ad-hoc peer-to-peer networks).
[0117] A computing system, such as data processing system 140, may include clients and servers. For example, data processing system 140 may include one or more servers in one or more data centers or server farms. Clients and servers are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some embodiments, a server sends data (e.g., HTML pages) to a client device (e.g., for the purpose of displaying the data and receiving input from a user interacting with the client device). Data generated at a client device (e.g., the result of an interaction, a computation, or any other event or computation) can be received at the server from the client device, and vice versa.
[0118] While the specification contains many details of specific implementations, these should not be construed as limiting the scope of the invention or what can be claimed, but rather as descriptions of features specific to particular embodiments of the systems and methods described herein. Certain features described herein in the context of separate embodiments can also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation can also be implemented in multiple embodiments separately or in any suitable subcombination. Furthermore, while features may be described above as acting in a particular combination and initially claimed as such, one or more features from a claimed combination can, in some cases, be separated from the combination, and the claimed combination can be directed to subcombinations or variations of the subcombination.
[0119] Similarly, although operations are shown in the figures in a particular order, this should not be understood as requiring that such operations be performed in the particular order or sequential order shown, or that all of the operations shown be performed, to achieve desirable results. In some cases, actions recited in the claims can be performed in a different order and still achieve desirable results. Moreover, the processes shown in the accompanying figures do not necessarily require the particular order or sequential order shown to achieve desirable results.
[0120] In certain situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the above embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems may generally be integrated together in a single software product or packaged into multiple software products. For example, data processing system 140 may be a single module, a logical device having one or more processing modules, one or more servers, or part of a search engine.
[0121] While several exemplary embodiments and implementations have been described, it should be apparent that the foregoing is presented by way of example, not limitation, and is illustrative and not limiting. In particular, while many of the examples presented herein include particular combinations of method acts or system elements, those acts and those elements can be combined in other ways to achieve the same purpose. Acts, elements, and features discussed only in connection with one implementation are not intended to be excluded from a similar role in other embodiments or implementations.
[0122] The phraseology and terminology used herein are for purposes of description and should not be considered limiting. The use herein of "including," "comprising," "having," "containing," "involving," "characterized by," "characterized in that," and variations thereof, is meant to encompass the items described thereafter, equivalents thereof, and additional items, as well as alternative embodiments consisting of the items listed thereafter exclusively. In one implementation, the systems and methods described herein consist of one, a combination of more than one, or all combinations of the described elements, acts, or components.
[0123] Singular references to embodiments or elements or acts of the systems and methods referenced herein can also encompass embodiments including a plurality of those elements, and plural references to any implementations or elements or acts herein can encompass embodiments including only a single element. Singular or plural references are not intended to limit the presently disclosed systems or methods, their components, acts, or elements to single or multiple configurations. References to any act or element that is based on any information, act, or element can include embodiments in which the act or element is based at least in part on any information, act, or element.
[0124] Any implementation disclosed herein may be combined with any other implementation, and references to “an implementation,” “some embodiments,” “an alternate implementation,” “various implementations,” “one implementation,” etc. are not necessarily mutually exclusive and are intended to indicate that a particular feature, structure, or characteristic described in connection with an implementation may be included in at least one implementation. Such terms as used herein do not necessarily all refer to the same implementation. Any implementation may be combined with any other implementation, inclusively or exclusively, in any manner consistent with aspects and embodiments disclosed herein.
[0125] References to "or" may be construed as inclusive, such that terms described using "or" may refer to either the singular, plural, and all of the described terms.
[0126] Where a reference sign follows a technical feature in a drawing, detailed description, or claim, the reference sign is included solely for the purpose of enhancing the comprehension of the drawing, detailed description, and claim, and therefore neither the reference sign nor its absence has a limiting effect on the scope of the claim element.
[0127] The systems and methods described herein may be embodied in other specific forms without departing from their characteristics. While the examples provided may be useful for coordinating content slots to display content items in response to a request for content from a client device, the systems and methods described herein may be applied to other environments. The foregoing embodiments are illustrative rather than limiting of the described systems and methods. Accordingly, the scope of the systems and methods described herein is indicated by the appended claims, rather than the foregoing description, and all changes within the meaning and range of equivalence of the claims are embraced therein. [Explanation of symbols]
[0128] 100 systems 110 Network 120 client devices 120A~N Client Devices 130 Content Publishers 135 Content Providers 140 Data Processing System 145 databases 150 Content Item Manager 155 Content Request Receiver 160 Content Item Selector 165 Content Display Manager 170 databases 175 content items 175A~N Content Items 200 Figures 202 First Axis 204 Second Axis 210 screens 220 content slots 220A Content Slot 220B Content Slot 226 Empty Space 226A Empty Space 226B Empty Space 300 Figures 400 ways 405 Communication Interface 500 Computer Systems 505 Communication Interface 510 output device 515 Input Devices 520 processor 525 memory
Claims
1. receiving, by one or more processors coupled to a memory, a request to select content from a client device, the request including one or more parameters corresponding to a content slot; selecting, by the one or more processors, a content item without regard to the one or more parameters corresponding to the content slot; identifying, by the one or more processors, a first aspect ratio of the content item; identifying, by the one or more processors, a second aspect ratio for the content slot in which to display the content item based on the one or more parameters of the request; calculating, by the one or more processors, a difference between the first aspect ratio of the content item and the second aspect ratio of the content slot; determining, by the one or more processors, that the difference is greater than a predetermined threshold; transmitting, by the one or more processors, the content item and instructions that, when executed, cause the client device to adjust the second aspect ratio of the content slot by modifying a width parameter of the content slot and a height parameter of the content slot such that the difference is less than the predetermined threshold; A method comprising:
2. The selecting step comprises: The method of claim 1 , further comprising selecting, by the one or more processors, the content item from a plurality of content items in response to the request.
3. 3. The method of claim 1, wherein the instructions further include a first display orientation of the content item, and when executed, further cause the client device to adjust the second aspect ratio of the content slot based on the first display orientation.
4. 4. The method of claim 1, wherein the instructions, when executed, further cause the client device to exchange the height of the content slot with the width of the content slot to adjust for the second aspect ratio.
5. 5. The method of claim 1, further comprising transmitting the content item in response to determining, by the one or more processors, that the difference is greater than the predetermined threshold.
6. determining, by the one or more processors, a device type of the client device from the request; transmitting, by the one or more processors, the content item in a format based on the device type; 6. The method of claim 1, further comprising:
7. The method of claim 1 , wherein the instructions, when executed, further cause the client device to lock an application displaying the content slot in a display orientation while the content item is being displayed.
8. 8. The method of claim 1, wherein the content slot is an interstitial content slot, and the request to select content includes an indication that the content slot is an interstitial content slot.
9. The method of claim 1 , further comprising sending an instruction to the client device to adjust the second aspect ratio of the content slot while in portrait mode.
10. The method of claim 1 , further comprising sending an instruction to the client device to adjust the second aspect ratio of the content slot while in landscape mode.
11. 11. The method of claim 1, wherein the request for content includes a display orientation of a screen of the client device, and further comprising sending an instruction to the client device to lock the display orientation of the screen.
12. 12. A system comprising one or more processors coupled to a memory, the one or more processors configured to implement the method of any one of claims 1 to 11.
Citation Information
Patent Citations
Image producing device and image display device
JP1993323944A
Method, apparatus, and system for controlling and optimizing a playback device.
JP2010512112A
Content reproduction device and content reproduction program
JP2014115767A
Display device for visualizing content by rotating the display and control method thereof
JP2020528164A
User device pan and scan
US20190208281A1