Patents by Inventor Hisham ElShishiny

Hisham ElShishiny has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9274965
    Abstract: The present disclosure is directed towards a prefetch controller configured to communicate with a prefetch cache in order to increase system performance. In some embodiments, the prefetch controller may include an instruction lookup table (ILT) configured to receive a first tuple including a first instruction ID and a first missed data address. The prefetch controller may further include a tuple history queue (THQ) configured to receive an instruction/stride tuple, the instruction/stride tuple generated by subtracting a last data access address from the first missed data address. The prefetch controller may further include a sequence prediction table (SPT) in communication with the tuple history queue (THQ) and the instruction lookup table. The prefetch controller may also include an adder in communication with the instruction lookup table (ILT) and the sequence prediction table (SPT) configured to generate a predicted prefetch address and to provide the predicted prefetch address to a prefetch cache.
    Type: Grant
    Filed: December 15, 2008
    Date of Patent: March 1, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ahmed El-Mahdy, Hisham Elshishiny
  • Patent number: 8270759
    Abstract: A method and system for transforming a video image from a High Dynamic Range (HDR) image on an array of pixels to a Low Dynamic Range (LDR) image. An old luminance generated from a color space of the HDR image is scaled and segmented into stripes. Each stripe has at least one row of the array. A target zone surrounding a current pixel in each stripe is determined from a search strategy selected from a linear search strategy and a zone history-based search strategy. A convolution of the scaled luminance at a current pixel of each stripe is computed using a kernel specific to the target zone. The convolution is used to convert the stripes to tone-mapped luminance stripes which are collected to form a tone mapped luminance pixel array that is transformed to the color space to form the LDR image. The LDR image is stored and/or displayed.
    Type: Grant
    Filed: June 16, 2008
    Date of Patent: September 18, 2012
    Assignee: International Business Machines Corporation
    Inventors: Ahmed Hazem Mohamed Rashid El-Mahdy, Hisham ElShishiny
  • Patent number: 8160388
    Abstract: A method and system for selectively transforming a spatially varying optical characteristic (F) of an image in a pixel array. The pixel array is segmented into stripes of contiguous rows. A two-dimensional convolution C(x, y) of F is determined at only selected pixels (x, y). C(x, y) is a function of a product of a horizontal kernel h(x) and a vertical kernel v(y). Determining C(x, y) at each selected pixel (x, y) includes determining n vertical convolutions, wherein each vertical convolution is equal to a scalar product of F and v(y) in a kernel space surrounding (x,y), forming an array (V) from the n vertical convolutions, and computing C(x,y) as a scalar product of V and a constant horizontal vector (H) formed from h(x). The stripes are collected to form a transformed image which is stored and/or displayed. A cache facilitates selective reuse of vertical convolutions for determining C(x,y).
    Type: Grant
    Filed: June 17, 2008
    Date of Patent: April 17, 2012
    Assignee: International Business Machines Corporation
    Inventors: Ahmed Hazem Mohamed Rashid El-Mahdy, Hisham ElShishiny
  • Patent number: 8056086
    Abstract: A method and system for load balancing the work of NP processors (NP?3) configured to generate each image of multiple images in a display area of a display device. The process for each image includes: dividing the display area logically into NP initial segments ordered along an axis of the display area; assigning each processor to a corresponding initial segment; assigning a thickness to each initial segment; simultaneously computing an average work function per pixel for each initial segment; generating a cumulative work function from the average work function per pixel for each initial segment; partitioning a work function domain of the cumulative work function into NP sub-domains; determining NP final segments of the display area by using the cumulative work function to inversely map boundaries of the sub-domains onto the axis; assigning each processor to a final segment, and displaying and/or storing the NP final segments.
    Type: Grant
    Filed: May 19, 2008
    Date of Patent: November 8, 2011
    Assignee: International Business Machines Corporation
    Inventors: Ahmed Hazem Mohamed Rashid El-Mahdy, Hisham ElShishiny
  • Patent number: 7979672
    Abstract: A method and system for transposing a multi-dimensional array for a multi-processor system having a main memory for storing the multi-dimensional array and a local memory is provided. One implementation involves partitioning the multi-dimensional array into a number of equally sized portions in the local memory, in each processor performing a transpose function including a logical transpose on one of said portions and then a physical transpose of said portion, and combining the transposed portions and storing back in their original place in the main memory.
    Type: Grant
    Filed: July 25, 2008
    Date of Patent: July 12, 2011
    Assignee: International Business Machines Corporation
    Inventors: Ahmed H. M. R. El-Mahdy, Ali A. El-Moursy, Hisham ElShishiny
  • Publication number: 20100153653
    Abstract: The present disclosure is directed towards a prefetch controller configured to communicate with a prefetch cache in order to increase system performance. In some embodiments, the prefetch controller may include an instruction lookup table (ILT) configured to receive a first tuple including a first instruction ID and a first missed data address. The prefetch controller may further include a tuple history queue (THQ) configured to receive an instruction/stride tuple, the instruction/stride tuple generated by subtracting a last data access address from the first missed data address. The prefetch controller may further include a sequence prediction table (SPT) in communication with the tuple history queue (THQ) and the instruction lookup table. The prefetch controller may also include an adder in communication with the instruction lookup table (ILT) and the sequence prediction table (SPT) configured to generate a predicted prefetch address and to provide the predicted prefetch address to a prefetch cache.
    Type: Application
    Filed: December 15, 2008
    Publication date: June 17, 2010
    Inventors: AHMED EL-MAHDY, HISHAM ELSHISHINY
  • Publication number: 20100023728
    Abstract: A method and system for transposing a multi-dimensional array for a multi-processor system having a main memory for storing the multi-dimensional array and a local memory is provided. One implementation involves partitioning the multi-dimensional array into a number of equally sized portions in the local memory, in each processor performing a transpose function including a logical transpose on one of said portions and then a physical transpose of said portion, and combining the transposed portions and storing back in their original place in the main memory.
    Type: Application
    Filed: July 25, 2008
    Publication date: January 28, 2010
    Applicant: International Business Machines Corporation
    Inventors: Ahmed H.M.R. El-Mahdy, Ali A. El-Moursy, Hisham ElShishiny
  • Publication number: 20090310887
    Abstract: A method and system for selectively transforming a spatially varying optical characteristic (F) of an image in a pixel array. The pixel array is segmented into stripes of contiguous rows. A two-dimensional convolution C(x, y) of F is determined at only selected pixels (x, y). C(x, y) is a function of a product of a horizontal kernel h(x) and a vertical kernel v(y). Determining C(x, y) at each selected pixel (x, y) includes determining n vertical convolutions, wherein each vertical convolution is equal to a scalar product of F and v(y) in a kernel space surrounding (x,y), forming an array (V) from the n vertical convolutions, and computing C(x,y) as a scalar product of V and a constant horizontal vector (H) formed from h(x). The stripes are collected to form a transformed image which is stored and/or displayed. A cache facilitates selective reuse of vertical convolutions for determining C(x,y).
    Type: Application
    Filed: June 17, 2008
    Publication date: December 17, 2009
    Inventors: Ahmed Hazem Mohamed Rashid El-Mahdy, Hisham ElShishiny
  • Publication number: 20090310015
    Abstract: A method and system for transforming a video image from a High Dynamic Range (HDR) image on an array of pixels to a Low Dynamic Range (LDR) image. An old luminance generated from a color space of the HDR image is scaled and segmented into stripes. Each stripe has at least one row of the array. A target zone surrounding a current pixel in each stripe is determined from a search strategy selected from a linear search strategy and a zone history-based search strategy. A convolution of the scaled luminance at a current pixel of each stripe is computed using a kernel specific to the target zone. The convolution is used to convert the stripes to tone-mapped luminance stripes which are collected to form a tone mapped luminance pixel array that is transformed to the color space to form the LDR image. The LDR image is stored and/or displayed.
    Type: Application
    Filed: June 16, 2008
    Publication date: December 17, 2009
    Inventors: Ahmed Hazem Mohamed Rashid El-Mahdy, Hisham ElShishiny
  • Publication number: 20090288096
    Abstract: A method and system for load balancing the work of NP processors (NP?3) configured to generate each image of multiple images in a display area of a display device. The process for each image includes: dividing the display area logically into NP initial segments ordered along an axis of the display area; assigning each processor to a corresponding initial segment; assigning a thickness to each initial segment; simultaneously computing an average work function per pixel for each initial segment; generating a cumulative work function from the average work function per pixel for each initial segment; partitioning a work function domain of the cumulative work function into NP sub-domains; determining NP final segments of the display area by using the cumulative work function to inversely map boundaries of the sub-domains onto the axis; assigning each processor to a final segment, and displaying and/or storing the NP final segments.
    Type: Application
    Filed: May 19, 2008
    Publication date: November 19, 2009
    Inventors: Ahmed Hazem Mohamed Rashid El-Mahdy, Hisham ElShishiny
  • Publication number: 20060293880
    Abstract: A method for building and contracting a linguistic dictionary, the linguistic dictionary comprising a list of surface forms and a list of normalized forms, each normalized form being associated with a surface form, the method comprising the steps of: comparing each character of a surface form with each character of the surface form's normalized form; in response to the comparing step, determining an edit operation for each character compared; and generating a transform code from the set of the edit operations in order to transform the surface form to its normalized form.
    Type: Application
    Filed: December 27, 2005
    Publication date: December 28, 2006
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Hisham Elshishiny, Edel Greevy, Pai-Fang Hsiao, Alexey Nevidomskiy, Alexander Troussov, Pavel Volkov
  • Publication number: 20060066613
    Abstract: The present invention is directed to a method and system and computer program for decomposing a triangle mesh representing the surface of a digital object model, reconstructed from 3D scanning data, into a small number of height-field patches (partitions) (in the order of the number of the original scans) with reasonable angular variations with the direction from which the viewer is looking at the digital object and with boundaries as regular as possible, in order to map a texture. The present method uses the original scan information (even when scans are divided into two or more connected meshes), but without selecting a single scan per mesh area.
    Type: Application
    Filed: September 27, 2005
    Publication date: March 30, 2006
    Inventor: Hisham Elshishiny