Abstract: Disclosed is a system and method for processing graphic operations on a plurality of data structures of an image with a graphics processing unit and memory. The disclosed techniques of the system and method create an accumulation buffer of the data structures for accumulating changes to the data structures. A separate buffer is then created from at least a portion of the data structures of the accumulation buffer. The disclosed techniques read the data structures from the separate buffer with the graphics processing unit. The graphics processing unit operates on the data structures read from the separate buffer with the operation. Then, the disclosed techniques write the results of the operation onto the portion of the accumulation buffer corresponding to the separate buffer.
Abstract: A method and apparatus for performing motion estimation in a digital video system is disclosed. Specifically, the present invention discloses a system that quickly calculates estimated motion vectors in a very efficient manner. In one embodiment, a first multiplicand is determined by multiplying a first display time difference between a first video picture and a second video picture by a power of two scale value. This step scales up a numerator for a ratio. Next, the system determines a scaled ratio by dividing that scaled numerator by a second first display time difference between said second video picture and a third video picture. The scaled ratio is then stored calculating motion vector estimations. By storing the scaled ratio, all the estimated motion vectors can be calculated quickly with good precision since the scaled ratio saves significant bits and reducing the scale is preformed by simple shifts.
Type:
Grant
Filed:
July 18, 2007
Date of Patent:
August 30, 2011
Assignee:
Apple Inc.
Inventors:
Barin Geoffry Haskell, David William Singer, Adriana Dumitras, Atul Puri
Abstract: A method of building several software products using build styles. The method receives target settings including definitions for several build settings for directing build applications to build the several software products. The method receives build styles to build each particular software product. Each build style includes definitions for build settings for directing the build applications to build the particular software product. At least a first received build style inherits from a second build style. The method searches the build styles to identify a definition for a particular build setting by automatically retrieving the second build style to search for a definition for the particular build setting based on an inheritance relationship between the first and second build styles. The method generates final build settings for the particular software product by applying the definition of the particular build setting to the target settings without changing the target settings.
Type:
Grant
Filed:
September 24, 2007
Date of Patent:
August 30, 2011
Assignee:
Apple Inc.
Inventors:
Anders Bertelrud, John Graziano, Mike Ferris, Christian Molick
Abstract: A method of reselecting a mobile wireless communication device to a network subsystem before initiating a connection with a wireless communication network. A connection request is received by the mobile wireless communication device in response to a user input. Attributes of signals received by the mobile wireless communication device from multiple network subsystems in the wireless communication network are measured over a period of time. The mobile wireless communication device is associated with one of the network subsystems and not associated with other network subsystems. The mobile wireless communication device reselects to one of the network subsystems based on quality metrics generated from the measured received signal attributes. After reselection, the mobile wireless communication device initiates a connection through the reselected network subsystem.
Abstract: Systems and methods are provided for dynamically allocating a number of bits per cell to memory locations of a non-volatile memory (“NVM”) device. In some embodiments, a host may determine whether to store data in the NVM device using SLC programming or MLC programming operations. The host may allocate an erased block as an SLC block or MLC block based on this determination regardless of whether the erased block was previously used as an SLC block, MLC block, or both. In some embodiments, to dynamically allocate a memory location as SLC or MLC, the host may provide an address vector to the NVM package, where the address vector may specify the memory location and the number of bits per cell to use for that memory location.
Abstract: Systems, methods, and computer-readable media for efficiently coding and processing image data using an electronic device are provided. While both image-quality processing and coding operations may be performed for a frame of captured image data, the electronic device may leverage information generated during one operation in order to more efficiently conduct another operation. For example, an image coding operation may be performed on a first frame of image data by partitioning the image data into blocks of data and transforming the blocks of data into a frequency domain representation or format. Color component statistics from one or more of the blocks of data may be obtained, and an image-quality processing operation may then be performed on the first frame of image data or a subsequent frame of image data using the obtained color component statistics.
Abstract: Systems and methods are disclosed for remapping codewords for storage in a non-volatile memory, such as flash memory. In some embodiments, a controller that manages the non-volatile memory may prepare codeword using a suitable error correcting code. The controller can store a first portion of the codeword in a lower page of the non-volatile memory may store a second portion of the codeword in an upper page of the non-volatile memory. Because upper and lower pages may have different resiliencies to error-causing phenomena, remapping codewords in this manner may even out the bit error rates of the codewords (which would otherwise have a more bimodal distribution).
Abstract: A low travel keyboard and methods of fabrication are described. The low-travel keyboard is suitable for a thin-profile computing device, such as a laptop computer, netbook computer, desktop computer, etc. The keyboard includes a key cap positioned over stacked elastomeric and metal domes. The quick force drop of the metal dome provides the crisp “snappy” feel for the user and the elastomeric dome provides the ability for longer travel than the metal dome alone. The metal dome also activates the switch circuitry of the membrane on printed circuit board. The stacking of the elastomeric metal domes takes advantage of the abrupt force drop in the metal dome buckling and applies it to the elastomeric dome force, making it possible to design a low-travel key while still maintaining or improving the tactile feeling of the key switch.
Abstract: This is directed to processing voice inputs received by an electronic device. In particular, this is directed to receiving a voice input and identifying the user providing the voice input. The voice input can be processed using a subset of words from a library used to identify the words or phrases of the voice input. The particular subset can be selected such that voice inputs provided by the user are more likely to include words from the subset. The subset of the library can be selected using any suitable approach, including for example based on the user's interests and words that relate to those interests. For example, the subset can include one or more words related to media items selected by the user for storage on the electronic device, names of the user's contacts, applications or processes used by the user, or any other words relating to the user's interactions with the device.
Abstract: Systems and methods are provided for a display device including one or more methods for modifying the display brightness by automatically adapting to ambient lighting conditions.
Abstract: Systems and methods for reducing the cost and time required for diagnosing and fixing electronic devices are provided. A host electronic device may be configured to generate a log of events that it experiences. A help component may access the generated log and analyze the log to detect if the host device has experienced a problem. Data may then be exchanged between the help component and the host device in order to fix the detected problem.
Type:
Application
Filed:
May 3, 2011
Publication date:
August 25, 2011
Applicant:
APPLE INC.
Inventors:
Svetlana Samoilova, Wing Law, Andrew Bart Hodge
Abstract: This is directed to obfuscating a display to secure the display of information provided to a user. An electronic device can modulate the display of information using different approaches, including for example by adding artifacts or changing the color, frequency or polarity of displayed information, thus obfuscating the display. To view the displayed information, a user can place a filter between the user and the display (e.g., as part of glasses) such that the filter can remove or undo the obfuscation. In some embodiments, the device can display different confidential information for several users simultaneously, where different obfuscation approaches are used for each user. This can allow several users to interact with the device simultaneously while ensuring that each user's information remains confidential.
Type:
Application
Filed:
February 25, 2010
Publication date:
August 25, 2011
Applicant:
Apple Inc.
Inventors:
Andrew Hodge, Gloria Lin, Tyler Mincey, Benjamin Rottler
Abstract: A computer implemented method for changing between a cursor control mode and a scroll control mode. The cursor control mode allowing a user to move a cursor on a graphical user interface (GUI) and the scroll control mode allowing a user to scroll on the GUI. The cursor and scroll movements are based on positional data supplied by an input device such as a mouse.
Abstract: Systems, methods, and software for organizing data are described. An organizational method is selected from one or more predetermined organizational methods, specified by a parameter, or determined from information about the data items. Data items are sorted based on the organizational method.
Inventors:
Jody Akana, Bartley K. Andre, Jeremy Bataillou, Daniel J. Coster, Daniele De Iuliis, Evans Hankey, Richard P. Howarth, Jonathan P. Ive, Duncan Robert Kerr, Shin Nishibori, Matthew Dean Rohrbach, Peter Russell-Clarke, Christopher J. Stringer, Eugene Antony Whang, Rico Zorkendorfer
Inventors:
Jody Akana, Bartley K. Andre, Jeremy Bataillou, Daniel J. Coster, Daniele De Iuliis, Evans Hankey, Richard P. Howarth, Jonathan P. Ive, Steve Jobs, Duncan Robert Kerr, Shin Nishibori, Matthew Dean Rohrbach, Peter Russell-Clarke, Christopher J. Stringer, Eugene Antony Whang, Rico Zörkendörfer