Elshishiny
Hisham Elshishiny, Cairo EG
Patent application number | Description | Published |
---|---|---|
20100153653 | SYSTEM AND METHOD FOR PREFETCHING DATA - 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. Numerous other embodiments are also within the scope of the present disclosure. | 06-17-2010 |
Hisham Elshishiny, Giza EG
Patent application number | Description | Published |
---|---|---|
20090288096 | LOAD BALANCING FOR IMAGE PROCESSING USING MULTIPLE PROCESSORS - 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. | 11-19-2009 |
20090310015 | TRANSFORMATION OF A VIDEO IMAGE FROM A HIGH DYNAMIC RANGE IMAGE TO A LOW DYNAMIC RANGE IMAGE - 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. | 12-17-2009 |
20090310887 | SPATIALLY SELECTIVE TRANSFORMATION OF A SPATIALLY VARYING OPTICAL CHARACTERISTIC OF AN IMAGE IN AN ARRAY OF PIXELS - 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). | 12-17-2009 |
20100023728 | METHOD AND SYSTEM FOR IN-PLACE MULTI-DIMENSIONAL TRANSPOSE FOR MULTI-CORE PROCESSORS WITH SOFTWARE-MANAGED MEMORY HIERARCHY - 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. | 01-28-2010 |
Hisham E. Elshishiny, Dokki EG
Patent application number | Description | Published |
---|---|---|
20120084790 | SCHEDULING THREADS IN A PROCESSOR - Guiding OS thread scheduling in multi-core and/or multi-threaded microprocessors by: determining, for each thread among the active threads, the power consumed by each instruction type associated with an instruction executed by the thread during the last context switch interval; determining for each thread among the active threads, the power consumption expected for each instruction type associated with an instruction scheduled by said thread during the next context switch interval; generating at least one combination of N threads among the active threads (M), and for each generated combination determining if the combination of N threads satisfies a main condition related to the power consumption per instruction type expected for each thread of the thread combination during the next context switch interval and to the thread power consumption per instruction type determined for each thread of the thread combination during the last context switch interval; and selecting a combination of N threads. | 04-05-2012 |
20120192195 | SCHEDULING THREADS - Scheduling threads in a multi-threaded/multi-core processor having a given instruction window, and scheduling a predefined number N of threads among a set of M active threads in each context switch interval are provided. The actual power consumption of each running thread during a given context switch interval is determined, and a predefined priority level is associated with each thread among the active threads based on the actual power consumption determined for the threads. The power consumption expected for each active thread during the next context switch interval in the current instruction window (CIW_Power_Th) is predicted, and a set of threads to be scheduled among the active threads are selected from the priority level associated with each active thread and the power consumption predicted for each active thread in the current instruction window. | 07-26-2012 |
Hisham E. Elshishiny, Cairo EG
Patent application number | Description | Published |
---|---|---|
20140089894 | SEARCHING SOURCE CODE - Searching source code includes receiving a search string, a feature type and details of source code to be searched. The source code is parsed to generate an abstract syntax tree. The abstract syntax tree is indexed using a search structure defining all source code features for which searching is enabled. The search string is searched for the search string of the feature type in the indexed abstract syntax tree using a results structure defining the search outputs to be retrieved. A structured search result based on the output of the searching is provided. The structured search result is stored in the storage device. | 03-27-2014 |
20140149990 | SCHEDULING THREADS - Scheduling threads in a multi-threaded/multi-core processor having a given instruction window, and scheduling a predefined number N of threads among a set of M active threads in each context switch interval are provided. The actual power consumption of each running thread during a given context switch interval is determined, and a predefined priority level is associated with each thread among the active threads based on the actual power consumption determined for the threads. The power consumption expected for each active thread during the next context switch interval in the current instruction window (CIW_Power_Th) is predicted, and a set of threads to be scheduled among the active threads are selected from the priority level associated with each active thread and the power consumption predicted for each active thread in the current instruction window. | 05-29-2014 |
20140331203 | ANALYSIS OF SOURCE CODE CHANGES - Use of an Abstract Syntax Tree (AST) to select portions of source code when analyzing the affect of changes in that source code from one version to another. In this way, it is possible to better focus on how changes in the source code, especially changes which only impact limited portion(s) of the source code, affect code quality with respect to measures like code complexity, performance and so on. | 11-06-2014 |
Hisham Emad Elshishiny, Cairo EG
Patent application number | Description | Published |
---|---|---|
20120147953 | High Dynamic Range Video Tone Mapping - A method for tone-mapping a High Dynamic Range (HDR) data video stream encoded in MPEG format, the method comprising decoding the data video HDR data stream to generate decoded I-frames, auxiliary decoded data related to P-Frames, and auxiliary decoded data related to B-Frames, the method further comprising applying a tone mapping function to each decoded I-Frame to provide a tone-mapped I-Frame according to a tone mapping operator, for each P-frame depending on a reference I-frame, computing the tone-mapped P-frame from the tone-mapped I-Frame previously determined for the reference I-frame, the reference I-Frame, and the auxiliary decoding data related to the P-Frame; and, for each B-frame, computing the tone-mapped B-frame from the tone mapped I-frame previously determined for the reference I-frame, the tone mapped P-frame previously determined for the reference P-frame, and the auxiliary decoding data related to the B-Frame. | 06-14-2012 |
Hisham Emad Elshishiny, Giza EG
Patent application number | Description | Published |
---|---|---|
20120084077 | BUILDING AND CONTRACTING A LINGUISTIC DICTIONARY - 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. | 04-05-2012 |
Hisham Emadeldin Elshishiny, Cairo EG
Patent application number | Description | Published |
---|---|---|
20150081670 | PREFERENCE BASED SYSTEM AND METHOD FOR MULTIPLE FEED AGGREGATION AND PRESENTATION - A computer system for improving the presentation of social media data from multiple social network feeds is provided. The computer system may include aggregating social media content received from the multiple social network feeds. The computer system may also include generating filtered data by eliminating repetitive data from among the received aggregated social media content. The computer system may further include analyzing the filtered data for determining at least one data category and presenting a digest of social media content based on the determined at least one data category. | 03-19-2015 |
20150081674 | PREFERENCE BASED SYSTEM AND METHOD FOR MULTIPLE FEED AGGREGATION AND PRESENTATION - A method for improving the presentation of social media data from multiple social network feeds is provided. The method may include aggregating social media content received from the multiple social network feeds. The method may also include generating filtered data by eliminating repetitive data from among the received aggregated social media content. The method may further include analyzing the filtered data for determining at least one data category and presenting a digest of social media content based on the determined at least one data category. | 03-19-2015 |
Hisham Emal El-Din Elshishiny, Cairo EG
Patent application number | Description | Published |
---|---|---|
20090019356 | Intelligent Text Annotation - Text is intelligently annotated by first creating a topic map summarizing topics of interest of the user. A data structure is created. The topic map is used to create two linked user dictionaries, a topic dictionary reflecting topic names and a traversal dictionary reflecting the knowledge structure of a topic. Actions may be linked with topic types. When the text to be annotated is being read, the topic data structure of the topics found in the text are automatically instantiated using the dictionaries and any actions previously linked to topic types. Instantiated topic data structures are automatically attached to the text being annotated. A user GUI may be created to allow the user to access and interact with the text annotations. | 01-15-2009 |