The subject disclosure relates generally to digital video and more specifically to a method and apparatus for adapting media content for presentation.
Media content is frequently experienced by consumers via devices such as computers, televisions, radios, and mobile electronics. Media content is frequently delivered by service providers, who send the media content, such as television, radio, and video programming, directly to consumers for enjoyment at their physical locations. Modern communication networks benefit from interconnectivity between consumers and various communication devices. As network capabilities expand, these interconnections provide new opportunities to enhance abilities to enjoy media content.
Reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
The subject disclosure describes, among other things, illustrative embodiments for adapting media content for presentation. Other embodiments are contemplated by the subject disclosure.
One embodiment of the subject disclosure includes a mobile device having a display comprising a plurality of display pixels, a memory storing computer instructions, and a processor coupled to the memory. The processor, responsive to executing the computer instructions, can perform operations including receiving media content comprising a plurality of image pixels and identifying an expansion trigger according to a media content resolution and a display resolution. Responsive to the identified expansion trigger, the processor can also perform operations associating a first portion of the plurality of display pixels with the plurality of image pixels to create a plurality of mapped pairs. Each mapped pair can include a mapped image pixel of a plurality of mapped image pixels and a mapped display pixel of a plurality of mapped display pixels. For each mapped pair of the plurality of mapped pairs, the processor can perform operations assigning at least one value associated with the mapped image pixel to the mapped display pixel. The at least one value can include a color value, an intensity value, or combinations thereof. The processor can further perform operations identifying a second portion of the plurality of display pixels as a plurality of unmapped display pixels. For each unmapped display pixel of the plurality of unmapped display pixels, the processor can perform operations identifying as a plurality of adjacent mapped display pixels a portion of the plurality of mapped display pixels that are adjacent to the unmapped display pixel. For each adjacent mapped display pixel of the plurality of adjacent mapped display pixels, the processor can, in turn, perform operations accessing the at least one value assigned to the mapped display pixel to generate a plurality of mapped values. The process can perform operations averaging the plurality of mapped values to determine a blended mapped value and assigning the blended mapped value to the unmapped display pixel. The can, in turn, perform operations presenting the plurality of mapped display pixels and the plurality of unmapped display pixels at the display.
One embodiment of the subject disclosure includes a computer-readable storage medium having computer instructions, which when executed by at least one processor can cause the at least one processor to perform operations including receiving media content at a mobile device comprising a plurality of image pixels and identifying a reduction trigger according to a media content resolution and a display resolution. Responsive to the identified reduction trigger, the computer instructions can cause the processor to perform operations associating a plurality of display pixels of the display with the plurality of image pixels to identify a plurality of mapped pairs. Each mapped pair can include a mapped image pixel of a plurality of mapped image pixels and a mapped display pixel of a plurality of mapped display pixels. For each mapped pair of the plurality of mapped pairs, the computer instructions can cause the processor to perform operations identifying as a plurality of adjacent mapped image pixels a portion of the plurality of mapped image pixels that are adjacent to the mapped image pixel of the mapped pair. For each adjacent mapped image pixel of the plurality of adjacent mapped image pixels, the computer instructions can cause the processor to perform operations accessing at least one value associated with the adjacent mapped image pixel to generate a plurality of mapped values. The computer instructions can further cause the processor to perform operations determining a blended mapped value according to the plurality mapped values and assigning the blended mapped value to the mapped display pixel associated with the mapped image pixel in the mapped pair. The computer instructions can, in turn, cause the processor to perform operations presenting the plurality of mapped display pixels at the display.
One embodiment of the subject disclosure includes a method for mapping, by a system comprising at least one processor and a display, a plurality of image pixels of media content to a first portion of a plurality of display pixels of the display to create a plurality of mapped pairs each comprising a mapped image pixel of a plurality of mapped image pixels and a mapped display pixel of a plurality of mapped display pixels. The display can include a larger resolution than the media content. For each mapped pair of the plurality of mapped pairs, one or more values associated with the mapped image pixel can be assigned to the mapped display pixel. The method can include assigning a plurality of blended mapped values to a plurality of unmapped display pixels in a second portion of the plurality of display pixels. For each unmapped display pixel of the plurality of unmapped display pixels, the blended mapped value can include a statistical compilation of a plurality of the one or more values assigned to a plurality of the mapped display pixels that are adjacent to the unmapped display pixels. The method can, in turn, include presenting the plurality of mapped display pixels and the plurality of unmapped display pixels at the display.
Responsive to an identified expansion trigger, the receiving device 116 can associate a first portion of the display pixels with the image pixels to create mapped pairs of mapped image pixels and mapped display pixels. For each mapped pair, the receiving device 116 can assign one or more values associated with the mapped image pixel to the mapped display pixel. The receiving device 116 can identify a second portion of the display pixels as unmapped display pixels and, for each unmapped display pixel, can identify adjacent mapped display pixels in a portion of the mapped display pixels that are adjacent to the unmapped display pixel. For each adjacent mapped display pixel, the receiving device 116 can access the one or more values assigned to the mapped display pixel to generate mapped values. The receiving device 116 can statistically compile the mapped values to determine a blended mapped value, assign the blended mapped value to the unmapped display pixel, and present the mapped display pixels and the unmapped display pixels at its display.
Responsive to an identified reduction trigger, the receiving device 116 can associate display pixels with image pixels to identify mapped pairs of mapped image pixels and mapped display pixels. For each mapped pair, the receiving device 116 can identify adjacent mapped image pixels of a portion of mapped image pixels that are adjacent to the mapped image pixel of the mapped pair. For each adjacent mapped image pixel, the receiving device 116 can access one or more values associated with the adjacent mapped image pixel to generate mapped values, can determine a blended mapped value according to the mapped values, and can assign the blended mapped value to the mapped display pixel associated with the mapped image pixel in the mapped pair. The receiving device 116 can present the mapped display pixels at its display.
The media processors 106 and wireless communication devices 116 can be adapted with software functions 164 and 166, respectively, to utilize the services of media server 130. The IPTV media system can include a super head-end office (SHO) 110 with at least one super headend office server (SHS) 111 which receives media content from satellite and/or terrestrial communication systems. In the present context, media content can represent, for example, audio content, moving image content such as 2D or 3D videos, video games, virtual reality content, still image content, and combinations thereof. The SHS server 111 can forward packets associated with the media content to one or more video head-end servers (VHS) 114 via a network of video head-end offices (VHO) 112 according to a common multicast communication protocol.
The VHS 114 can distribute multimedia broadcast content via an access network 118 to commercial and/or residential buildings 102 housing a gateway 104 (such as a residential or commercial gateway). The access network 118 can represent a group of digital subscriber line access multiplexers (DSLAMs) located in a central office or a service area interface that provide broadband services over fiber optical links or copper twisted pairs 119 to buildings 102. The gateway 104 can use common communication technology to distribute broadcast signals to media processors 106 such as Set-Top Boxes (STBs) which in turn present broadcast channels to media devices 108 such as computers or television sets managed in some instances by a media controller 107 (such as an infrared or RF remote controller).
The gateway 104, the media processors 106, and media devices 108 can utilize tethered communication technologies (such as coaxial, powerline or phone line wiring) or can operate over a wireless access protocol such as Wireless Fidelity (WiFi), Bluetooth, Zigbee, or other present or next generation local or personal area wireless network technologies. By way of these interfaces, unicast communications can also be invoked between the media processors 106 and subsystems of the IPTV media system for services such as video-on-demand (VoD), browsing an electronic programming guide (EPG), or other infrastructure services.
A satellite broadcast television system 129 can be used also in the media system of
In yet another embodiment, an analog or digital cable broadcast distribution system such as cable TV system 133 can be overlaid, operably coupled with, or replace the IPTV system and/or the satellite TV system as another representative embodiment of communication system 100. In this embodiment, the cable TV system 133 can also provide Internet, telephony, and interactive media services.
It is contemplated that the subject disclosure can apply to other present or next generation over-the-air and/or landline media content services system.
Some of the network elements of the IPTV media system can be coupled to one or more computing devices 130, a portion of which can operate as a web server for providing web portal services over an Internet Service Provider (ISP) network 132 to wireline media devices 108 or wireless communication devices 116.
It is further contemplated that multiple forms of media services can be offered to media devices over landline technologies such as those described above. Additionally, media services can be offered to media devices by way of a wireless access base station 117 operating according to common wireless access protocols such as Global System for Mobile or GSM, Code Division Multiple Access or CDMA, Time Division Multiple Access or TDMA, Universal Mobile Telecommunications or UMTS, World interoperability for Microwave or WiMAX, Software Defined Radio or SDR, Long Term Evolution or LTE, and so on. Other present and next generation wide area wireless network technologies are contemplated by the subject disclosure.
Communication system 200 can comprise a Home Subscriber Server (HSS) 240, a tElephone NUmber Mapping (ENUM) server 230, and other common network elements of an IMS network 250. The IMS network 250 can establish communications between IMS-compliant communication devices (CDs) 201, 202, Public Switched Telephone Network (PSTN) CDs 203, 205, and combinations thereof by way of a Media Gateway Control Function (MGCF) 220 coupled to a PSTN network 260. The MGCF 220 need not be used when a communication session involves IMS CD to IMS CD communications. A communication session involving at least one PSTN CD may utilize the MGCF 220.
IMS CDs 201, 202 can register with the IMS network 250 by contacting a Proxy Call Session Control Function (P-CSCF) which communicates with an interrogating CSCF (I-CSCF), which in turn, communicates with a Serving CSCF (S-CSCF) to register the CDs with the HSS 240. To initiate a communication session between CDs, an originating IMS CD 201 can submit a Session Initiation Protocol (SIP INVITE) message to an originating P-CSCF 204 which communicates with a corresponding originating S-CSCF 206. The originating S-CSCF 206 can submit the SIP INVITE message to one or more application servers (ASs) 217 that can provide a variety of services to IMS subscribers.
For example, the application servers 217 can be used to perform originating call feature treatment functions on the calling party number received by the originating S-CSCF 206 in the SIP INVITE message. Originating treatment functions can include determining whether the calling party number has international calling services, call ID blocking, calling name blocking, 7-digit dialing, and/or is requesting special telephony features (e.g., *72 forward calls, *73 cancel call forwarding, *67 for caller ID blocking, and so on). Based on initial filter criteria (iFCs) in a subscriber profile associated with a CD, one or more application servers may be invoked to provide various call originating feature services.
Additionally, the originating S-CSCF 206 can submit queries to the ENUM system 230 to translate an E.164 telephone number in the SIP INVITE message to a SIP Uniform Resource Identifier (URI) if the terminating communication device is IMS-compliant. The SIP URI can be used by an Interrogating CSCF (I-CSCF) 207 to submit a query to the HSS 240 to identify a terminating S-CSCF 214 associated with a terminating IMS CD such as reference 202. Once identified, the I-CSCF 207 can submit the SIP INVITE message to the terminating S-CSCF 214. The terminating S-CSCF 214 can then identify a terminating P-CSCF 216 associated with the terminating CD 202. The P-CSCF 216 may then signal the CD 202 to establish Voice over Internet Protocol (VoIP) communication services, thereby enabling the calling and called parties to engage in voice and/or data communications. Based on the iFCs in the subscriber profile, one or more application servers may be invoked to provide various call terminating feature services, such as call forwarding, do not disturb, music tones, simultaneous ringing, sequential ringing, etc.
In some instances the aforementioned communication process is symmetrical. Accordingly, the terms “originating” and “terminating” in
If the terminating communication device is instead a PSTN CD such as CD 203 or CD 205 (in instances where the cellular phone only supports circuit-switched voice communications), the ENUM system 230 can respond with an unsuccessful address resolution which can cause the originating S-CSCF 206 to forward the call to the MGCF 220 via a Breakout Gateway Control Function (BGCF) 219. The MGCF 220 can then initiate the call to the terminating PSTN CD over the PSTN network 260 to enable the calling and called parties to engage in voice and/or data communications.
It is further appreciated that the CDs of
It is further contemplated that cellular phones supporting LTE can support packet-switched voice and packet-switched data communications and thus may operate as IMS-compliant mobile devices. In this embodiment, the cellular base station 221 may communicate directly with the IMS network 250 as shown by the arrow connecting the cellular base station 221 and the P-CSCF 216.
It is further understood that alternative forms of a CSCF can operate in a device, system, component, or other form of centralized or distributed hardware and/or software. Indeed, a respective CSCF may be embodied as a respective CSCF system having one or more computers or servers, either centralized or distributed, where each computer or server may be configured to perform or provide, in whole or in part, any method, step, or functionality described herein in accordance with a respective CSCF. Likewise, other functions, servers and computers described herein, including but not limited to, the HSS and ENUM server, the BGCF, and the MGCF, can be embodied in a respective system having one or more computers or servers, either centralized or distributed, where each computer or server may be configured to perform or provide, in whole or in part, any method, step, or functionality described herein in accordance with a respective function, server, or computer.
The media server 130 of
It is contemplated by the subject disclosure that the web portal 302 can further be utilized to manage and provision software applications 162-166, and 172-174, such as receiving and presenting media content, and to adapt these applications as may be desired by subscribers and service providers of communication systems 100-200.
The UI 404 can include a depressible or touch-sensitive keypad 408 with a navigation mechanism such as a roller ball, a joystick, a mouse, or a navigation disk for manipulating operations of the communication device 400. The keypad 408 can be an integral part of a housing assembly of the communication device 400 or an independent device operably coupled thereto by a tethered wireline interface (such as a USB cable) or a wireless interface supporting for example Bluetooth. The keypad 408 can represent a numeric keypad commonly used by phones, and/or a QWERTY keypad with alphanumeric keys. The UI 404 can further include a display 410 such as monochrome or color LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) or other suitable display technology for conveying images to an end user of the communication device 400. In an embodiment where the display 410 is touch-sensitive, a portion or all of the keypad 408 can be presented by way of the display 410 with navigation features. The display 404 can include an array of display pixels for the presenting visual information and/or media content. The display pixels can color or monochromatic.
The display 410 can use touch screen technology to also serve as a user interface for detecting user input (e.g., touch of a user's finger). As a touch screen display, the communication device 400 can be adapted to present a user interface with graphical user interface (GUI) elements that can be selected by a user with a touch of a finger. The touch screen display 410 can be equipped with capacitive, resistive or other forms of sensing technology to detect much surface area of a user's finger has been placed on a portion of the touch screen display. This sensing information can be used control the manipulation of the GUI elements.
The UI 404 can also include an audio system 412 that utilizes common audio technology for conveying low volume audio (such as audio heard only in the proximity of a human ear) and high volume audio (such as speakerphone for hands free operation). The audio system 412 can further include a microphone for receiving audible signals of an end user. The audio system 412 can also be used for voice recognition applications. The UI 404 can further include an image sensor 413 such as a charged coupled device (CCD) camera for capturing still or moving images.
The power supply 414 can utilize common power management technologies such as replaceable and rechargeable batteries, supply regulation technologies, and charging system technologies for supplying energy to the components of the communication device 400 to facilitate long-range or short-range portable applications. Alternatively, the charging system can utilize external power sources such as DC power supplied over a physical interface such as a USB port. The location receiver 416 can utilize common location technology such as a global positioning system (GPS) receiver capable of assisted GPS for identifying a location of the communication device 400 based on signals generated by a constellation of GPS satellites, thereby facilitating common location services such as navigation. The motion sensor 418 can utilize motion sensing technology such as an accelerometer, a gyroscope, or other suitable motion sensing to detect motion of the communication device 400 in three-dimensional space. The orientation sensor 420 can utilize orientation sensing technology such as a magnetometer to detect the orientation of the communication device 400 (North, South, West, East, combined orientations thereof in degrees, minutes, or other suitable orientation metrics).
The communication device 400 can use the transceiver 402 to also determine a proximity to a cellular, WiFi, Bluetooth, or other wireless access points by common sensing techniques such as utilizing a received signal strength indicator (RSSI) and/or a signal time of arrival (TOA) or time of flight (TOF). The controller 406 can utilize computing technologies such as a microprocessor, a digital signal processor (DSP), and/or a video processor with associated storage memory such as Flash, ROM, RAM, SRAM, DRAM or other storage technologies.
Other components not shown in
The communication device 400 as described herein can operate with more or less components described in
The communication device 400 can be adapted to perform the functions of the media processor 106, the media devices 108, or the portable communication devices 116 of
It is contemplated by the subject disclosure that the communication device 400 shown in
The media server 530 can receive media content from a media content source 550. For example, the media content source can transmit media files and/or streams of media content to the media server 530 upon demand. The media content can include a sequence of digital video image frames. The image frames can further include image pixels that depict video content as discrete digital points. The image pixels can further include values for pixel color and/or intensity intensity. The video image frames can be constructed from two-dimensional arrays of the image pixels. For example, each video image frame can be constructed from an array of X columns and Y rows of pixels. The total number of pixels in the two-dimensional array (X columns multiplied by Y rows) represents a resolution of each image frame. The media server 530 can encode the media content into a data stream, where the video and audio content of the media content is translated into a serial stream of data that a receiving device 516A can receive, buffer, and reconstruct into a sequence of video images and audio sounds. The receiving device 516A can then reproduce the media content using the display and audio systems of the device.
The media server 530 can provide media content to the receiving devices 516A at one or more video resolutions. However, different receiving device 516A and 516B can have different video resolution capabilities from one another and/or from the data stream of media content transmitted by the media server 530. With a large number of manufacturers and products, there is now a proliferation of receiving devices 516A and 516B available to consumers. With this proliferation has also come a proliferation of video display configurations, including displays of differing pixel resolutions and aspect ratios (ratios of display widths to display heights). While it is theoretically possible to provide a packet switched data streams to each receiving device 516A configured unique display pixel resolutions or configurations of each device 516A, this approach places a heavy burden on the media server. To alleviate this burden, while optimizing the performance of the receiving devices 516A, in one embodiment, a receiving device 516A can adapt a video image resolution of a transmitted data stream to a video display capability of the device 516A. By adapting the encoded transmission at the receiving devices 516A and 516B, processing demands on the media server 530 and bandwidth demands on the communication channels of the system 500 are reduced.
The media server 530 can thereby provide streaming media content to the mobile communication devices 516A and 516B, and these receiving devices can adapt the received steams to accommodate the display capabilities of the devices according to the illustrative embodiments of the methods 700-1400 of
However, the direct mapping of the image pixels 730-746 to the display portion 710′ can result in many locations of unmapped display pixels 760 and 762 in the display portion 710′, where image pixel data has not been assigned. These unmapped display pixels 760 and 762 cannot remain blank or at default pixel values because the resulting display image would appear to be incomplete. Hence, in one embodiment, for each unmapped display pixel 760 and 762, a number of mapped display pixels 730′-746′ are identified that are adjacent to the unmapped display pixel. For example, mapped display pixels 730′, 732′, 734′, and 746′ are adjacent to unmapped display pixel 762. Each of the adjacent mapped display pixels 730′, 732′, 734′, and 746′ can be paired with an image pixel 730, 732, 734 and 746 from the video frame 710 and can be assigned one or more values associated with its mapped image pixel 730, 732, 734 and 746. In one embodiment, the mapped values of the adjacent mapped display pixels 730′, 732′, 734′, and 746′ can be statistically compiled to generate a blended mapped value. In one embodiment, the mapped values of the adjacent mapped display pixels 730′, 732′, 734′, and 746′ can be averaged to generate the blended mapped value. In one embodiment, the blended mapped value can be assigned to the unmapped display pixel 762. This process of generating blended mapped values from adjacent mapped display pixels can be repeated to assign blended mapped values to all of the unmapped display pixels 760 and 762 in the display frame portion 710′.
In one embodiment, a single image pixel 830 is directly mapped to a display pixel 830′ in the display portion 810′. However, the remaining image pixels 832-846 are unmapped. In one embodiment, there are many locations of unmapped image pixels 832-846 in the image portion 810, where image pixel data has not been mapped. The image data of these unmapped image pixels 832-846 will be lost if this data is not somehow mapped to the display portion 810′. Hence, in one embodiment, unmapped image pixels 832-846 that are adjacent to the mapped image pixel can be identified. For example, unmapped image pixels 832′-846′ can be found to be adjacent to the mapped image pixel 830. In one embodiment, the values of the adjacent unmapped image pixels 830-846 can be statistically compiled to generate a blended unmapped value. In one embodiment, the values of the adjacent unmapped image pixels 832-846 can be averaged to generate the blended unmapped value. In one embodiment, the blended unmapped value can be assigned to the unmapped display pixel 830′. This process of generating blended unmapped values from adjacent unmapped image pixels can be repeated to assign blended unmapped values to all of the mapped display pixels 830′ in the display frame 810.
In one embodiment, the locations of the adjacent mapped display pixels 932′-938′ can be compared to one or more pixels 920′ at the center of the display frame 910′. This center of display referencing can be used to determine location offsets from center of display for each of the mapped display pixels 932′-938′. The values of the mapped display pixels 932′-938′ can then be weighted according to their offsets, and the resulting weighted values used for calculating the blended mapped value that is assigned to the unmapped display pixel 950.
Referring particularly to
In one embodiment, the locations of adjacent mapped display pixels 1032′-1038′ can be compared to one or more pixels 1020′ at the center of the display frame 1010′. This center of display referencing can be used to determine location offsets from center of display for each of the mapped display pixels 1032′-1038′. The values of the mapped display pixels 1032′-1038′ can then be weighted according to their offsets, and the resulting weighted values used for calculating the blended unmapped value that is assigned to the unmapped display pixel 1050.
In step 1108, the receiving device 516A can determine if an expansion of image has been triggered. In one embodiment, the expansion of image can be triggered by the receiving device 516A sensing that the incoming video frames contain fewer pixels than display frames associated with the receiving device 516A. In one embodiment, the receiving device 516A can determine if a video expansion is required by comparing received media content image frame information to stored information including any combination of information about display resources and/or display configurations at the receiving device. In one embodiment, the receiving device 516A can compare received image frames to display frames and can detect a mismatch in column and/or row requirements. For example, the receiving device 516A can detect a need for an expansion of image by determining that the received video frames include a lessor number of columns or a lessor number of rows of pixels than have been included in the display frame.
In step 1112, if the receiving device 516A detects a need to expand the image pixels, then the receiving device 516A can associate a first portion of the display frame display pixels with image pixels of the image frame to create mapped pairs. The mapped pairs can each include an image pixel and a display pixel. In step 1116, the receiving device 516A can assign one or more values of the mapped image pixel to the mapped display pixel. In step 1120, the receiving device 516A can identify one or more unmapped display pixels, where the values of the unmapped display pixels are not assigned. In step 1124, the receiving device 516A can, for each identified unmapped display pixel, further identify mapped display pixels that are adjacent to the unmapped display pixels.
In step 1128, the receiving device 516A can determine if the receiving device 516A is configured to weight the expanded image to the center of the image frame. If the receiving device 516A determines that it is not configured to weight to the center of the image, then it can determine if it is configured to weight to the center of the display frame in step 1144. If weighting to the center of the image is used, then, in step 1132, the receiving device 516A can determine a location in the image frame of one or more center image pixels. In step 1136, the receiving device 516A can determine an offset from the image center for each of the adjacent mapped image pixels. In step 1140, the receiving device 516A can weight, or adjust, the adjacent mapped image pixel values by the mapped image pixel offsets from the image center to generate weighted mapped values for each adjacent mapped image pixel.
If weighting to the center of the display is used, then, in step 1148, the receiving device 516A can determine a location in the display frame of one or more center display pixels. In step 1152, the receiving device 516A can determine an offset from the display center for each of the adjacent mapped display pixels. In step 1156, the receiving device 516A can weight, or adjust, the adjacent mapped display pixel values by the mapped display pixel offsets from the display center to generate weighted mapped values for each adjacent mapped display pixel.
If weighting either to the center of the image or to the center of the display is used, then, in step 1208, the receiving device 516A can determine a blended mapped value for each unmapped display pixel by statistical compilation of the weighted mapped values. If weighting to the center is not used, then, in step 1204, the receiving device 516A can determine a blended mapped value for each unmapped display pixel by statistical compilation of the adjacent mapped display pixel values. In one embodiment, the statistical compilation can be an average or mean of the compiled weighted mapped values or the adjacent mapped display pixel values. In step 1212, the receiving device 516A can assign the blended mapped values to the unmapped display pixels. In step 1216, the receiving device 516A can present the mapped and unmapped display pixels at a display of the receiving device 516A.
If the receiving device 516A does not detect a need to expand the image pixels, then the receiving device 516A can determine that it needs to reduce the image pixels, in step 1304, and can associate the display frame display pixels with the image pixels of the image frame to create mapped pairs. The mapped pairs can each include an image pixel and a display pixel. In step 1308, the receiving device 516A can assign one or more values of the mapped image pixel to the mapped display pixel. In step 1312, the receiving device 516A can identify one or more unmapped image pixels, where the values of the unmapped image pixels are not assigned to any of the display pixels. In step 1316, the receiving device 516A can determine blended unmapped values for the adjacent unmapped image pixel values by statistical compilation.
In step 1328, the receiving device 516A can determine if the receiving device is configured to weight the reduced image to the center of the image frame. If the receiving device 516A determines that it is not configured to weight to the center of the image, then it can determine if it is configured to weight to the center of the display frame in step 1344. If weighting to the center of the image is used, then, in step 1332, the receiving device 516A can determine a location in the image frame of one or more center image pixels. In step 1336, the receiving device 516A can determine an offset from the image center for each of the adjacent unmapped image pixels. In step 1340, the receiving device 516A can weight, or adjust, the adjacent unmapped image pixel values by the mapped image pixel offsets from the image center to generate weighted unmapped values for each adjacent unmapped image pixel.
If weighting to the center of the image is used, then, in step 1348, the receiving device 516A can determine a location in the display frame of one or more center display pixels. In step 1352, the receiving device 516A can determine an offset from the display center for each of the adjacent unmapped display pixels, if applicable. In step 1356, the receiving device 516A can weight, or adjust, the adjacent unmapped display pixel values by the mapped display pixel offsets from the display center to generate weighted unmapped values for each adjacent unmapped display pixel.
If weighting to the center of the image or to the center of the display is used, then, in step 1408, the receiving device 516A can determine a blended unmapped value for each unmapped display pixel by statistical compilation of the weighted unmapped values. If weighting to the center is not used, then, in step 1404, the receiving device 516A can determine a blended unmapped value for each unmapped display pixel by statistical compilation of the adjacent unmapped display pixel values. In one embodiment, the statistical compilation can be an average or mean of the compiled weighted unmapped values or the adjacent unmapped pixel values. In step 1412, the receiving device 516A can assign the blended unmapped values to the unmapped display pixels. In step 1416, the receiving device 516A can present the mapped and unmapped display pixels at a display of the receiving device 516A.
Upon reviewing the aforementioned embodiments, it would be evident to an artisan with ordinary skill in the art that said embodiments can be modified, reduced, or enhanced without departing from the scope and spirit of the claims described below. In one embodiment, the media server 130 can determine the configuration to the display of the receiving device 516A and send the media content partially or completely adapted to the pixel resolution of the display. In one embodiment, a proxy server can receive the media content from the media server 130, determine the configuration to the display of the receiving device 516A, and send the media content partially or completely adapted to the pixel resolution of the display. In one embodiment, the center of the display can be configured by user input at the receiving device 516A. In one embodiment, the method of adapting the media content for presentation at the receiving device 516A can be performed by a video processor device. In one embodiment, the receiving device 516A can configure portions of the display for presentation of the media content while reserving portions of the display for other purposes, such as presentation of second media content, user interface graphics, or informational graphics.
The machine may comprise a server computer, a client user computer, a personal computer (PC), a tablet PC, a smart phone, a laptop computer, a desktop computer, a control system, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. It will be understood that a communication device of the subject disclosure includes broadly any electronic device that provides voice, video or data communication. Further, while a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methods discussed herein.
The computer system 1500 may include a processor 1502 (e.g., a central processing unit (CPU), a graphics processing unit (GPU, or both), a main memory 1504 and a static memory 1506, which communicate with each other via a bus 1508. The computer system 1500 may further include a video display unit 1510 (e.g., a liquid crystal display (LCD), a flat panel, or a solid state display. The computer system 1500 may include an input device 1512 (e.g., a keyboard), a cursor control device 1514 (e.g., a mouse), a disk drive unit 1516, a signal generation device 1518 (e.g., a speaker or remote control) and a network interface device 1520.
The disk drive unit 1516 may include a tangible computer-readable storage medium 1522 on which is stored one or more sets of instructions (e.g., software 1524) embodying any one or more of the methods or functions described herein, including those methods illustrated above. The instructions 1524 may also reside, completely or at least partially, within the main memory 1504, the static memory 1506, and/or within the processor 1502 during execution thereof by the computer system 1500. The main memory 1504 and the processor 1502 also may constitute tangible computer-readable storage media.
Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement the methods described herein. Applications that may include the apparatus and systems of various embodiments broadly include a variety of electronic and computer systems. Some embodiments implement functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the example system is applicable to software, firmware, and hardware implementations.
In accordance with various embodiments of the subject disclosure, the methods described herein are intended for operation as software programs running on a computer processor. Furthermore, software implementations can include, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.
While the tangible computer-readable storage medium 622 is shown in an example embodiment to be a single medium, the term “tangible computer-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “tangible computer-readable storage medium” shall also be taken to include any non-transitory medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methods of the subject disclosure.
The term “tangible computer-readable storage medium” shall accordingly be taken to include, but not be limited to: solid-state memories such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories, a magneto-optical or optical medium such as a disk or tape, or other tangible media which can be used to store information. Accordingly, the disclosure is considered to include any one or more of a tangible computer-readable storage medium, as listed herein and including art-recognized equivalents and successor media, in which the software implementations herein are stored.
Although the present specification describes components and functions implemented in the embodiments with reference to particular standards and protocols, the disclosure is not limited to such standards and protocols. Each of the standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) represent examples of the state of the art. Such standards are from time-to-time superseded by faster or more efficient equivalents having essentially the same functions. Wireless standards for device detection (e.g., RFID), short-range communications (e.g., Bluetooth, WiFi, Zigbee), and long-range communications (e.g., WiMAX, GSM, CDMA, LTE) are contemplated for use by computer system 1500.
The illustrations of embodiments described herein are intended to provide a general understanding of the structure of various embodiments, and they are not intended to serve as a complete description of all the elements and features of apparatus and systems that might make use of the structures described herein. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. Figures are also merely representational and may not be drawn to scale. Certain proportions thereof may be exaggerated, while others may be minimized. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, are contemplated by the subject disclosure.
The Abstract of the Disclosure is provided with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.
This application is a Continuation of and claims priority to U.S. patent application Ser. No. 13/460,003 filed Apr. 30, 2012. The contents of each of the foregoing is/are hereby incorporated by reference into this application as if set forth herein in full.
Number | Name | Date | Kind |
---|---|---|---|
5283557 | Memarzadeh | Feb 1994 | A |
5497434 | Wilson | Mar 1996 | A |
5528740 | Hill et al. | Jun 1996 | A |
5726689 | Negishi et al. | Mar 1998 | A |
6339434 | West et al. | Jan 2002 | B1 |
6812935 | Joe et al. | Nov 2004 | B1 |
6825857 | Harasimiuk | Nov 2004 | B2 |
7053929 | Yadid-Pecht et al. | May 2006 | B2 |
7831110 | Yoshigahara | Nov 2010 | B2 |
20090060388 | Shingai et al. | Mar 2009 | A1 |
20110019239 | Kojima et al. | Jan 2011 | A1 |
20110129164 | Lin et al. | Jun 2011 | A1 |
Entry |
---|
Kim, et al., “Winscale: An Image-Scaling Algorithm Using an Area Pixel Model”, IEEE Trans Circuits and Systems for Video Technology, 13(6), Jun. 2003, 549-553. |
Vaquero, et al., “A survey of image retargeting techniques”, Proc. of SPIE, vol. 7798, 2010. |
Wang, et al., “Optimized Scale-and-Stretch for Image Resizing”, ACM Trans on Graphics, 27(5), Article 118, Dec. 2008. |
Number | Date | Country | |
---|---|---|---|
20160098817 A1 | Apr 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13460003 | Apr 2012 | US |
Child | 14966973 | US |