US8666181B2 - Adaptive multiple engine image motion detection system and method - Google Patents
Adaptive multiple engine image motion detection system and method Download PDFInfo
- Publication number
- US8666181B2 US8666181B2 US12/332,182 US33218208A US8666181B2 US 8666181 B2 US8666181 B2 US 8666181B2 US 33218208 A US33218208 A US 33218208A US 8666181 B2 US8666181 B2 US 8666181B2
- Authority
- US
- United States
- Prior art keywords
- pixel
- pixels
- values
- difference
- alteration analysis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 38
- 238000001514 detection method Methods 0.000 title claims abstract description 8
- 238000000034 method Methods 0.000 title claims description 28
- 230000003044 adaptive effect Effects 0.000 title 1
- 238000004458 analytical method Methods 0.000 claims abstract description 50
- 230000004075 alteration Effects 0.000 claims abstract description 43
- 238000005192 partition Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims description 20
- 239000013598 vector Substances 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 17
- 230000015654 memory Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000010276 construction Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 244000025254 Cannabis sativa Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/254—Analysis of motion involving subtraction of images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Definitions
- the present invention relates to the field of video encoding.
- a pixel alteration analysis system includes a difference summing multiple engine component and a control component.
- the difference summing multiple engine component determines the sum of differences between pixel values in a plurality of pixels.
- the control component determines an indication of motion based upon said relationship of said pixels in said plurality of pixels.
- the difference in values corresponds to a relationship between values of pixels in a block of pixels at different frames. The number and configuration of pixels in a block partition can be flexibly changed.
- FIG. 1 is a block diagram of an exemplary encoding architecture in accordance with one embodiment of the present invention.
- FIG. 2 is a block diagram of an exemplary pixel alteration analysis system in accordance with one embodiment of the present invention.
- FIG. 3A is a block diagram of one exemplary depiction of image movement in accordance with one embodiment of the present invention.
- FIG. 3B is a block diagram of an exemplary 16 pixel by 16 pixel frame macro in accordance with one embodiment of the present invention.
- FIG. 4A shows an exemplary partition mapping table in accordance with one embodiment of the present invention.
- FIG. 4B is a graphical representation of exemplary different partition modes in accordance with one embodiment of the present invention.
- FIG. 4C is an block diagram of possible mixed modes in accordance with one embodiment.
- FIG. 5 is a block diagram of an exemplary engine in accordance with one embodiment of the present invention.
- FIG. 6 is a block diagram of an exemplary accumulator in accordance with one embodiment of the present invention.
- FIG. 7 is a flow chart of an exemplary image motion detection method in accordance with one embodiment of the present invention.
- FIG. 8 is a flow chart of an exemplary pixel alteration analysis method in accordance with one embodiment of the present invention.
- FIG. 9 is a block diagram of an exemplary computer system upon which embodiments of the present invention can be implemented.
- FIG. 10 shows another exemplary architecture that incorporates an exemplary video processor or graphics processor in accordance with one embodiment of the present invention.
- FIG. 11 shows a diagram showing the components of a handheld device 1100 in accordance with one embodiment of the present invention.
- the present invention facilitates effective and efficient determination of changes in pixel values.
- the present invention directs multiple instantiations of units capable of determining characteristics associated with changes in pixel values in parallel.
- the changes in pixel values can occur over time, between frames, etc.
- the present invention can be utilized to analyze pixel changes associated with a variety of configurations (e.g., video frames, streaming content frames, etc.) and formats (e.g., HDTV, H264, MPEG2, MPEG4, etc.). It is also appreciated that the present invention can be implemented to perform various analyses of pixel value changes.
- the analysis can include Sum of the Absolute Transform Difference (SATD), Sum of Absolute Difference (SAD), Mean Absolute Deviation (MAD), sum of the squares, difference median, average between values, etc.
- the analysis can be further extended to indicate a minimum SATD, minimum SAD, maximum SATD, maximum SAD, average SATD, average SAD, etc.
- the results of the analysis can be forwarded for utilization in a variety of operations.
- the results of the analysis can be utilized as a cost function in determining a motion vector during a motion search process related to a video encoder.
- each basic unit or sub-unit engine can be configured to analyze a group of pixels (e.g., 4 ⁇ 4 or 4 columns by 4 rows of data, etc.) and the results can be accumulated to provide analysis of different pixel group size and configuration (e.g., a 16 ⁇ 16 macro group of pixels, 16 columns ⁇ 4 rows of pixels, etc.)
- optimal computation of the values is performed by pipelining and processing one row of pixels at a time.
- FIG. 1 is a block diagram of an exemplary encoding architecture 100 in accordance with one embodiment of the present invention.
- Encoding architecture 100 includes encoding system 110 and remote decoder 150 .
- Encoding system 110 receives current frames (e.g., current frames 104 and 105 ) encodes the current frames, and then forwards the encoded current frames (e.g., encoded current frames 101 , 102 and 103 to remote decoder 150 .
- Encoding system 100 includes encoder 120 , reconstruction decoder 140 and memory 130 .
- the encoder 120 encodes the frames and forwards them to remote decoder 150 and reconstruction decoder 140 .
- Reconstruction decoder 140 decodes the frames and forwards them to memory 130 for storage as reconstructed frames 131 , 132 and 133 .
- the reconstructed frames 131 , 132 and 133 correspond to encoded current frames 101 , 102 and 103 .
- the frames include either encoded, reconstructed or raw pixel values corresponding to
- FIG. 3A is a block diagram of one exemplary depiction of image movement.
- the pixels 301 through 309 are some pixels associated with frames 321 and 322 .
- frames 321 and 322 are similar to current frames 102 and 103 respectively.
- the other pixels associated with frames 321 through 322 are not shown so as not to unnecessarily obfuscate the invention.
- the frames 321 through 322 can include a number of different pixel configurations and can be configured to be compatible with a variety of video frame formats (e.g., HDTV, MPEG, etc.).
- the ball image 310 is partially depicted by pixels 301 and 304 .
- the ball image “moves” to be partially depicted by pixels 301 , 302 , 304 and 305 .
- a variety of values associated with the pixels change as the ball image movement is depicted by the pixels. For example, if pixels 301 , 302 , 304 and 305 depicted an image of grass in frame 321 , the color value associated with the pixels would be the color of grass (e.g., green, etc.) with corresponding luminance and chrominance values. For example, the luminance value 910 for pixel 301 , luminance value 920 for pixel 302 , luminance value 915 for pixel 304 and luminance value 930 for pixel 305 .
- the color values associated with the pixels 301 , 302 , 304 and 305 in frame 322 would include the color of a ball (e.g., white, brown, etc.) with corresponding luminance and chrominance values when the ball image moved to be depicted by the pixels.
- a ball e.g., white, brown, etc.
- luminance value 910 for pixel 301 changes to 935
- luminance value 920 for pixel 302 changes to 955
- luminance value 915 for pixel 304 changes to 985
- luminance value 930 for pixel 305 changes to 995 .
- FIG. 3B is a block diagram of exemplary 16 pixel by 16 pixel macroblock 320 .
- the 16 pixel by 16 pixel frame macroblock 320 includes sixteen 4 pixel by 4 pixel blocks, a 4 pixel by 4 pixel block comprising pixels 301 through 316 .
- the present invention can be utilized to analyze the group or sub-groups of pixel association. Additional explanation of exemplary group and sub-group pixel value alteration analysis is set forth below.
- FIG. 2 is a block diagram of exemplary pixel alteration analysis system 200 in accordance with one embodiment of the present invention.
- Pixel alteration analysis system 200 includes an encoder memory read component 201 , memory 203 , data routing/reference data construction component 202 , difference determination component 204 , difference summing multiple engine component 205 , a master controller 210 and accumulator data processing component 207 .
- the multiple relationship determination engine component 205 includes difference summing engines 251 and 252 .
- the values of frames 321 and 322 are fed into a pixel alteration analysis system (e.g., pixel alteration analysis system 200 ) for processing.
- the luminance value 910 of pixel 301 in frame 321 and the luminance value of 935 of pixel 301 in frame 322 are feed into pixel alteration analysis system.
- Encoder memory read component 201 retrieves information from an encoding system (e.g., encoding system 110 ).
- Memory 203 stores additional pixel information.
- memory 203 stores super sampled predicted data (e.g., pixel fragments, etc.).
- Data routing/reference data construction component 202 routes various pixel data to difference determination component 204 .
- Difference determination component 204 determines a difference in values for the pixels in a block at different frames based upon the information forwarded from the data routing/reference data construction component 202 .
- Difference summing multiple engine component 205 determines the sum of difference between pixel values in a plurality of pixels.
- Accumulator data processing component 207 accumulates the data in a variety of partition sizes.
- the controller 210 directs operations of the components of pixel alteration analysis system 200 and determines results forwarded to other components.
- the data routing/reference data construction component 202 can select from a variety of signals to route to the difference determination component 204 as inputs.
- the difference determination component 204 has two inputs classified as current data (e.g., raw pixels, etc.) and reference data (e.g., predicted pixels, etc.).
- the source of the current data and reference data that is routed to the difference determination component 204 can change based upon the mode of operation.
- the data routing/reference data construction component 202 selects between super-sampled predicted data 223 , current pixel data 222 , predicted full pixel data 221 , and internally computed predicted data 224 from a previous pass.
- the current data can be provided by a memory controller and the reference data can include:
- Controller 210 can facilitate a variety of control implementations.
- Controller 210 can issue a mode control to the multiple relationship determination engine component 205 .
- the mode control can include Sum of the Absolute Transform Difference (SATD) mode or Sum of the Absolute Difference (SAD) mode.
- the controller 210 can also indicate or direct the data router/reference data construction component 202 which of the inputs to forward to the difference determination component 204 .
- the controller 210 can also indicate or direct accumulator data processing component 207 on the size of an accumulation partition.
- the control component determines an indication of motion based upon said relationship of said pixels in said plurality of pixels. For example, the control component can indicate a minimum of summation of the differences.
- FIG. 4A shows an exemplary partition mapping table 410 in accordance with one embodiment of the present invention.
- Partition mapping table 410 corresponds to a 16 ⁇ 16 macro block.
- the various costs being accumulated or derived out of a 4 by 4 (4 ⁇ 4) pixel block are 4 ⁇ 4, 4 ⁇ 8, 8 ⁇ 4, 8 ⁇ 8, 16 ⁇ 8, 8 ⁇ 16 and 16 ⁇ 16. It is appreciated that partition mapping can also include mixed modes.
- FIG. 4C is an block diagram of possible mixed modes in accordance with one embodiment.
- cost values can also be provided.
- the cost values can be provided at different durations. For example, the cost values related to the 4 ⁇ 4 and 8 ⁇ 4 configurations or partitions after 5 clock cycles, 4 ⁇ 8, 8 ⁇ 8, 16 ⁇ 8 configurations after 9 clock cycles and the 8 ⁇ 16 and 16 ⁇ 16 configurations after 18 clock cycles.
- FIG. 4B is a graphical representation of exemplary different partition modes in accordance with one embodiment of the present invention. Exemplary modes are also shown in FIG. 4C .
- difference summing engines 251 and 252 perform matrix multiplication operations to determine the SATD or SAD.
- FIG. 4D is a block diagram of exemplary matrices in accordance with one embodiment of the present invention.
- the [Sm]T and [Sm] matrix are the SATD transform matrix.
- the Dx matrix is the difference matrix and includes differences d 0 through d 15 .
- the difference matrix includes the differences between the corresponding values routed to the difference determination component 204 .
- the difference determination component 204 determines the difference between the current data and the reference data.
- the differences, d 0 through d 15 correspond to differences between the values of pixel 301 through 316 of frames 321 and 322 .
- the difference d 7 corresponds to the difference in luminance value 920 of pixel 308 in frame 321 and the luminance value of 955 of pixel 308 in frame 322 .
- the values associated with the pixels can correspond to a variety of pixel characteristics.
- the values can correspond to luminance, chrominance, color, etc.
- the matrix processing also includes a Hadamard matrix [Sm].
- the right matrix multiplication is performed first and the values are stored in the 16 registers and followed by the result matrix multiplied with the left Hadamard matrix [SM].
- SAD Sum of Absolute difference is computed for the differential data fed to the engine specified above as Dx.
- Dx the engine specified above as Dx.
- the SATD matrix multiplication operation is bypassed in this mode.
- several engines are utilized to speed up the encoding process.
- 4 macro engines e.g., engines 530 through 533 in FIG. 5 , etc.
- 4 macro engines are instantiated to operate in parallel to realize a 16 column by 4 row SATD engine.
- each of the dual difference summing engines 251 and 252 can have 4 parallel instances of a 4 ⁇ 4 macro engine.
- the sum of the difference analysis e.g., SAD, SATD, etc.
- minimum determination and cost can be accumulated and refreshed at every 4 ⁇ 4 block boundary. This facilitates great flexibility in computing various costs on the fly.
- FIG. 5 is a block diagram of exemplary macro engine 500 in accordance with one embodiment of the present invention.
- engine 500 corresponds to difference summing engine 251 . While the present description is with respect to engine 500 , additional components similar to engine 500 can be provided for difference summing engine 252 (e.g., two implementations of engine 500 , one implementation of engine 500 corresponding to difference summing engine 251 and another implementation of engine 500 corresponding to difference summing engine 252 ).
- Engine 500 includes pixel difference input registers 520 through 523 , 4 ⁇ 4 matrix multipliers 530 through 533 , and intermediate sum of the difference output registers 540 through 543 .
- Pixel difference input registers 520 through 523 receives difference of pixel values associated with 4 pixels.
- the inputs are the difference between the current data and the reference data that is also computed as part of the complete engine and is the input data specific to one basic engine (e.g., a basic 4 ⁇ 4 SATD engine, etc.).
- pixel difference input register 520 receives pixels P 0 through P 3 (e.g., pixels A-D, etc.).
- Pixel difference input registers 521 receives difference of pixel values associated with pixels P 4 through P 7 (e.g., pixels E-H, etc.).
- Pixel difference input registers 522 receives difference of pixel values associated with pixels P 8 through P 11 (e.g., pixels I-L, etc.).
- Pixel difference input registers 523 receives difference of pixel values associated with pixels P 12 through P 15 (e.g., pixels M-P, etc.).
- FIG. 6 is a block diagram of exemplary accumulator 600 in accordance with one embodiment of the present invention.
- accumulator 600 corresponds to an accumulator in a 16 ⁇ 4 configuration.
- Accumulator 600 includes summation components 611 through 613 , multiplexers 620 through 625 , summation components 650 through 655 and registers 670 through 678 .
- the summation components receive inputs 601 through 604 .
- the inputs 601 through 604 correspond to output signals 550 through 553 .
- Multiplexers forward return summation information to summation components 650 through 655 in accordance with multiplex control logic signals 640 through 645 .
- Summation components 650 through 655 sum the information from mutliplexers 620 through 625 with information from summation component 611 through 613 and output corresponding signals 680 through 688 .
- the outputs specified in FIG. 6 can be extended to other partitions within a 16 ⁇ 16 macro block (e.g., partitions shown in FIGS. 4A and 4B , etc.).
- control signals are utilized to facilitate power conservation.
- control signals e.g., from an external agent, a motion search control logic, etc.
- the clock scheme for the engine can also be controlled very finely thus achieving flexibility with respect to clock gating the irrelevant logic based on the mode of operations. This facilitates further power reduction and utilization in low power designs. In one exemplary implementation it takes 18 cycles to compute 16 ⁇ 16 costs. In the 19 th clock cycle, the motion search control logic can look at the two costs coming form the two engines and stores the best value. This increases the bandwidth of the motion search engine.
- results from the pixel alteration analysis system 200 can be utilized for a variety of functions.
- an output of the minimum SATD or SAD can be utilized in determining a motion vector for image movement in a video presentation.
- the minimum SATD or SAD can also be utilized as a cost function in encoding/decoding pixel information.
- Computer system 900 includes central processor unit 901 , main memory 902 (e.g., random access memory), chip set 903 with north bridge 909 and south bridge 905 , removable data storage device 904 , input device 907 , signal communications port 908 , and graphics subsystem 910 which is coupled to display 920 .
- Computer system 900 includes several busses for communicatively coupling the components of computer system 900 .
- Communication bus 991 e.g., a front side bus
- Communication bus 992 (e.g., a main memory bus) couples north bridge 909 of chipset 903 to main memory 902 .
- Communication bus 993 (e.g., the Advanced Graphics Port interface) couples north bridge of chipset 903 to graphic subsystem 910 .
- Communication buses 994 , 995 and 997 (e.g., a PCI bus) couple south bridge 905 of chip set 903 to removable data storage device 904 , input device 907 , signal communications port 908 respectively.
- Graphics subsystem 910 includes graphics processor 911 and frame buffer 915 .
- the components of computer system 900 cooperatively operate to provide versatile functionality and performance.
- the components of computer system 900 cooperatively operate to provide predetermined types of functionality, even though some of the functional components included in computer system 900 may be defective.
- Communications bus 991 , 992 , 993 , 994 , 995 and 997 communicate information.
- Central processor 901 processes information.
- Main memory 902 stores information and instructions for the central processor 901 .
- Removable data storage device 904 also stores information and instructions (e.g., functioning as a large information reservoir).
- Input device 907 provides a mechanism for inputting information and/or for pointing to or highlighting information on display 920 .
- Signal communication port 908 provides a communication interface to exterior devices (e.g., an interface with a network).
- Display device 920 displays information in accordance with data stored in frame buffer 915 .
- Graphics processor 911 processes graphics commands from central processor 901 and provides the resulting data to video buffers 915 for storage and retrieval by display monitor
- FIG. 7 is a flow chart of an image motion detection method 700 in accordance with one embodiment of the present invention.
- a pixel alteration analysis process is performed in which the analysis includes determination of sums of absolute difference relationships associated with values of corresponding pixels in different frames for multiple blocks of pixels in parallel.
- the alteration analysis process includes accumulating results in different levels of granularity.
- an indication of image motion is determined based upon results of the pixel alteration analysis process.
- the results of the pixel alteration analysis process are also utilized as a cost function for determining a motion vector for an image.
- FIG. 8 is a flow chart of exemplary pixel alteration analysis method 800 in accordance with one embodiment of the present invention.
- values of pixels in a plurality of blocks are received, wherein the values include values of the pixels in each one of the plurality of blocks at different frames.
- a row of the values of pixels in the blocks is processed at a time.
- the receiving includes selecting between among current pixel data, stored predicted pixel data, super sampled predicted data and internally computed predicted data based upon the mode determination.
- a relationship value between values of pixels in each one of the plurality of blocks at different frames are determined in parallel.
- a difference in the values of each one of the pixels in each one of the plurality of blocks at different frames is determined.
- the determination can include analysis of a relationship value including a SATD value, SAD value, etc.
- mode determination is made.
- an image motion indication is detected based upon the relationship value.
- FIG. 10 shows another exemplary architecture that incorporates an exemplary video processor or graphics processor in accordance with one embodiment of the present invention.
- system 1000 embodies a programmable SOC integrated circuit device 1010 which includes a two power domains 1021 and 1022 .
- the power domain 1021 includes an “always on” power island 1031 .
- the power domain 1022 is referred to as the core of the SOC and includes a CPU power island 1032 , a GPU power island 1033 , a non-power gated functions island 1034 , and an instance of the video processor.
- the FIG. 10 embodiment of the system architecture 1000 is targeted towards the particular intended device functions of a battery-powered handheld SOC integrated circuit device.
- the SOC 1010 is coupled to a power management unit 1050 , which is in turn coupled to a power cell 1051 (e.g., one or more batteries).
- the power management unit 1050 is coupled to provide power to the power domain 1021 and 1022 via the dedicated power rail 1061 and 1062 , respectively.
- the power management unit 1050 functions as a power supply for the SOC 1010 .
- the power management unit 1050 incorporates power conditioning circuits, voltage pumping circuits, current source circuits, and the like to transfer energy from the power cell 1051 into the required voltages for the rails 1061 - 1062 .
- the video processor is within the domain 1022 .
- the video processor provides specialized video processing hardware for the encoding of images and video.
- the hardware components of the video processor are specifically optimized for performing real-time video encoding.
- the always on power island 1031 of the domain 1021 includes functionality for waking up the SOC 1010 from a sleep mode. The components of the always on domain 1021 will remain active, waiting for a wake-up signal.
- the CPU power island 032 is within the domain 1022 .
- the CPU power island 1032 provides the computational hardware resources to execute the more complex software-based functionality for the SOC 1010 .
- the GPU power island 1033 is also within the domain 1022 .
- the GPU power island 1033 provides the graphics processor hardware functionality for executing 3-D rendering functions.
- FIG. 11 shows a diagram showing the components of a handheld device 1100 in accordance with one embodiment of the present invention.
- a handheld device 1100 includes the system architecture 1000 described above in the discussion FIG. 10 .
- the handheld device 1100 shows peripheral devices 1101 - 1107 that add capabilities and functionality to the device 1100 .
- the device 1100 is shown with the peripheral devices 1101 - 1107 , it should be noted that there may be implementations of the device 1100 that do not require all the peripheral devices 1101 - 1107 .
- the display(s) 1103 are touch screen displays, the keyboard 1102 can be omitted.
- the RF transceiver can be omitted for those embodiments that do not require cell phone or WiFi capability.
- additional peripheral devices can be added to device 1100 beyond the peripheral devices 1101 - 1107 shown to incorporate additional functions.
- a hard drive or solid state mass storage device can be added for data storage, or the like.
- the RF transceiver 1101 enables two-way cell phone communication and RF wireless modem communication functions.
- the keyboard 1102 is for accepting user input via button pushes, pointer manipulations, scroll wheels, jog dials, touch pads, and the like.
- the one or more displays 1103 are for providing visual output to the user via images, graphical user interfaces, full-motion video, text, or the like.
- the audio output component 904 is for providing audio output to the user (e.g., audible instructions, cell phone conversation, MP3 song playback, etc.).
- the GPS component 1105 provides GPS positioning services via received GPS signals. The GPS positioning services enable the operation of navigation applications and location applications, for example.
- the removable storage peripheral component 1106 enables the attachment and detachment of removable storage devices such as flash memory, SD cards, smart cards, and the like.
- the image capture component 1107 enables the capture of still images or full motion video.
- the handheld device 1100 can be used to implement a smart phone having cellular communications technology, a personal digital assistant, a mobile video playback device, a mobile audio playback device, a navigation device, or a combined functionality device including characteristics and functionality of all of the above.
- the present invention facilitates enhanced diction of pixel alteration in an efficient and effective manner.
- the detection of pixel alteration can be utilized for a variety of functions including motion vector determination, video encoding, etc.
- Multiple instantiations of a single basic unit engine is capable of computing both SATD and SAD values. Pipelining and processing one row at a time facilitate optimal computation of SATD/SAD values. Configuration and organization of the computational units facilitates computation of SATD/SAD values of different partitions in a 16 ⁇ 16 macro and can simultaneously provide the values to motion control logic to evaluate motion vector winner decisions.
- the parallel operation of the multiple units e.g., dual SATD/SAD engine, etc.
Abstract
Description
Claims (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/332,182 US8666181B2 (en) | 2008-12-10 | 2008-12-10 | Adaptive multiple engine image motion detection system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/332,182 US8666181B2 (en) | 2008-12-10 | 2008-12-10 | Adaptive multiple engine image motion detection system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
US20100142761A1 US20100142761A1 (en) | 2010-06-10 |
US8666181B2 true US8666181B2 (en) | 2014-03-04 |
Family
ID=42231103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/332,182 Active 2031-08-13 US8666181B2 (en) | 2008-12-10 | 2008-12-10 | Adaptive multiple engine image motion detection system and method |
Country Status (1)
Country | Link |
---|---|
US (1) | US8666181B2 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9113164B1 (en) | 2012-05-15 | 2015-08-18 | Google Inc. | Constant bit rate control using implicit quantization values |
US9185429B1 (en) | 2012-04-30 | 2015-11-10 | Google Inc. | Video encoding and decoding using un-equal error protection |
US9247251B1 (en) | 2013-07-26 | 2016-01-26 | Google Inc. | Right-edge extension for quad-tree intra-prediction |
US9330060B1 (en) | 2003-04-15 | 2016-05-03 | Nvidia Corporation | Method and device for encoding and decoding video image data |
US9350988B1 (en) | 2012-11-20 | 2016-05-24 | Google Inc. | Prediction mode-based block ordering in video coding |
US9407915B2 (en) | 2012-10-08 | 2016-08-02 | Google Inc. | Lossless video coding with sub-frame level optimal quantization values |
US9510019B2 (en) | 2012-08-09 | 2016-11-29 | Google Inc. | Two-step quantization and coding method and apparatus |
US9681128B1 (en) | 2013-01-31 | 2017-06-13 | Google Inc. | Adaptive pre-transform scanning patterns for video and image compression |
US9826229B2 (en) | 2012-09-29 | 2017-11-21 | Google Technology Holdings LLC | Scan pattern determination from base layer pixel information for scalable extension |
US10114733B1 (en) * | 2016-08-29 | 2018-10-30 | Cadence Design Systems, Inc. | System and method for automated testing of user interface software for visual responsiveness |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9532059B2 (en) | 2010-10-05 | 2016-12-27 | Google Technology Holdings LLC | Method and apparatus for spatial scalability for video coding |
US8989256B2 (en) | 2011-05-25 | 2015-03-24 | Google Inc. | Method and apparatus for using segmentation-based coding of prediction information |
US9247257B1 (en) | 2011-11-30 | 2016-01-26 | Google Inc. | Segmentation based entropy encoding and decoding |
US9014265B1 (en) | 2011-12-29 | 2015-04-21 | Google Inc. | Video coding using edge detection and block partitioning for intra prediction |
US9094681B1 (en) | 2012-02-28 | 2015-07-28 | Google Inc. | Adaptive segmentation |
US9332276B1 (en) | 2012-08-09 | 2016-05-03 | Google Inc. | Variable-sized super block based direct prediction mode |
US9380298B1 (en) | 2012-08-10 | 2016-06-28 | Google Inc. | Object-based intra-prediction |
US9210424B1 (en) | 2013-02-28 | 2015-12-08 | Google Inc. | Adaptive prediction block size in video coding |
US10142647B2 (en) | 2014-11-13 | 2018-11-27 | Google Llc | Alternating block constrained decision mode coding |
Citations (180)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3679821A (en) | 1970-04-30 | 1972-07-25 | Bell Telephone Labor Inc | Transform coding of image difference signals |
US4177514A (en) | 1976-11-12 | 1979-12-04 | General Electric Company | Graph architecture information processing system |
US4583164A (en) | 1981-08-19 | 1986-04-15 | Tolle Donald M | Syntactically self-structuring cellular computer |
US4591979A (en) | 1982-08-25 | 1986-05-27 | Nec Corporation | Data-flow-type digital processing apparatus |
US4644461A (en) | 1983-04-29 | 1987-02-17 | The Regents Of The University Of California | Dynamic activity-creating data-driven computer architecture |
US4755810A (en) | 1985-04-05 | 1988-07-05 | Tektronix, Inc. | Frame buffer memory |
US4814978A (en) | 1986-07-15 | 1989-03-21 | Dataflow Computer Corporation | Dataflow processing element, multiprocessor, and processes |
US4992857A (en) | 1988-09-30 | 1991-02-12 | Ampex Corporation | System for distributing and recovering digitized composite SECAM samples in a two channel digital apparatus |
US5045940A (en) | 1989-12-22 | 1991-09-03 | Avid Technology, Inc. | Video/audio transmission systsem and method |
US5130797A (en) | 1989-02-27 | 1992-07-14 | Mitsubishi Denki Kabushiki Kaisha | Digital signal processing system for parallel processing of subsampled data |
US5146324A (en) | 1990-07-31 | 1992-09-08 | Ampex Corporation | Data compression using a feedforward quantization estimator |
US5212742A (en) | 1991-05-24 | 1993-05-18 | Apple Computer, Inc. | Method and apparatus for encoding/decoding image data |
US5225875A (en) | 1988-07-21 | 1993-07-06 | Proxima Corporation | High speed color display system and method of using same |
US5233689A (en) | 1990-03-16 | 1993-08-03 | Hewlett-Packard Company | Methods and apparatus for maximizing column address coherency for serial and random port accesses to a dual port ram array |
US5267334A (en) | 1991-05-24 | 1993-11-30 | Apple Computer, Inc. | Encoding/decoding moving images with forward and backward keyframes for forward and reverse display |
US5369744A (en) | 1989-10-16 | 1994-11-29 | Hitachi, Ltd. | Address-translatable graphic processor, data processor and drawing method with employment of the same |
US5371896A (en) | 1989-11-17 | 1994-12-06 | Texas Instruments Incorporated | Multi-processor having control over synchronization of processors in mind mode and method of operation |
US5596369A (en) | 1995-01-24 | 1997-01-21 | Lsi Logic Corporation | Statistically derived method and system for decoding MPEG motion compensation and transform coded video data |
US5598514A (en) | 1993-08-09 | 1997-01-28 | C-Cube Microsystems | Structure and method for a multistandard video encoder/decoder |
US5608652A (en) | 1995-05-12 | 1997-03-04 | Intel Corporation | Reducing blocking effects in block transfer encoders |
US5613146A (en) | 1989-11-17 | 1997-03-18 | Texas Instruments Incorporated | Reconfigurable SIMD/MIMD processor using switch matrix to allow access to a parameter memory by any of the plurality of processors |
US5623311A (en) | 1994-10-28 | 1997-04-22 | Matsushita Electric Corporation Of America | MPEG video decoder having a high bandwidth memory |
US5646692A (en) | 1993-07-16 | 1997-07-08 | U.S. Philips Corporation | Device for transmitting a high definition digital picture signal for use by a lower definition picture signal receiver |
US5657465A (en) | 1988-07-22 | 1997-08-12 | Sandia Corporation | Direct match data flow machine apparatus and process for data driven computing |
US5768429A (en) | 1995-11-27 | 1998-06-16 | Sun Microsystems, Inc. | Apparatus and method for accelerating digital video decompression by performing operations in parallel |
US5790881A (en) | 1995-02-07 | 1998-08-04 | Sigma Designs, Inc. | Computer system including coprocessor devices simulating memory interfaces |
US5809538A (en) | 1996-02-07 | 1998-09-15 | General Instrument Corporation | DRAM arbiter for video decoder |
US5821886A (en) | 1996-10-18 | 1998-10-13 | Samsung Electronics Company, Ltd. | Variable length code detection in a signal processing system |
US5845083A (en) | 1996-03-07 | 1998-12-01 | Mitsubishi Semiconductor America, Inc. | MPEG encoding and decoding system for multimedia applications |
US5870310A (en) | 1996-05-03 | 1999-02-09 | Lsi Logic Corporation | Method and apparatus for designing re-usable core interface shells |
US5883823A (en) | 1997-01-15 | 1999-03-16 | Sun Microsystems, Inc. | System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same |
US5889949A (en) | 1996-10-11 | 1999-03-30 | C-Cube Microsystems | Processing system with memory arbitrating between memory access requests in a set top box |
US5898881A (en) | 1991-06-28 | 1999-04-27 | Sanyo Electric Co., Ltd | Parallel computer system with error status signal and data-driven processor |
US5909224A (en) | 1996-10-18 | 1999-06-01 | Samsung Electronics Company, Ltd. | Apparatus and method for managing a frame buffer for MPEG video decoding in a PC environment |
US5923375A (en) | 1996-02-27 | 1999-07-13 | Sgs-Thomson Microelectronics S.R.L. | Memory reduction in the MPEG-2 main profile main level decoder |
US5954786A (en) | 1997-06-23 | 1999-09-21 | Sun Microsystems, Inc. | Method for directing a parallel processing computing device to form an absolute valve of a signed valve |
US5969728A (en) | 1997-07-14 | 1999-10-19 | Cirrus Logic, Inc. | System and method of synchronizing multiple buffers for display |
US5999220A (en) | 1997-04-07 | 1999-12-07 | Washino; Kinya | Multi-format audio/video production system with frame-rate conversion |
US6035349A (en) | 1996-12-09 | 2000-03-07 | Electrolnics And Telecommunications Research Institute | Structure of portable multimedia data input/output processor and method for driving the same |
US6073185A (en) | 1993-08-27 | 2000-06-06 | Teranex, Inc. | Parallel data processor |
US6088355A (en) | 1996-10-11 | 2000-07-11 | C-Cube Microsystems, Inc. | Processing system with pointer-based ATM segmentation and reassembly |
US6098174A (en) | 1998-08-03 | 2000-08-01 | Cirrus Logic, Inc. | Power control circuitry for use in a computer system and systems using the same |
US6104470A (en) | 1997-07-04 | 2000-08-15 | Oce-Technologies B.V. | Printing system and control unit utilizing a visual representation of a sheet or document for selecting document-finishing operations |
US6144362A (en) | 1996-09-27 | 2000-11-07 | Sony Corporation | Image displaying and controlling apparatus and method |
US6148109A (en) | 1996-05-28 | 2000-11-14 | Matsushita Electric Industrial Co., Ltd. | Image predictive coding method |
US6157751A (en) | 1997-12-30 | 2000-12-05 | Cognex Corporation | Method and apparatus for interleaving a parallel image processing memory |
US6175594B1 (en) | 1998-05-22 | 2001-01-16 | Ati Technologies, Inc. | Method and apparatus for decoding compressed video |
US6188799B1 (en) | 1997-02-07 | 2001-02-13 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for removing noise in still and moving pictures |
US6195389B1 (en) | 1998-04-16 | 2001-02-27 | Scientific-Atlanta, Inc. | Motion estimation system and methods |
US6222883B1 (en) | 1999-01-28 | 2001-04-24 | International Business Machines Corporation | Video encoding motion estimation employing partitioned and reassembled search window |
GB2348559B (en) | 1999-03-31 | 2001-06-06 | Samsung Electronics Co Ltd | High speed motion estimating method for real time moving image coding and apparatus therefor |
JP2001184323A (en) | 1999-12-27 | 2001-07-06 | Mitsubishi Electric Corp | Encoding device |
US6269174B1 (en) | 1997-10-28 | 2001-07-31 | Ligos Corporation | Apparatus and method for fast motion estimation |
US6272281B1 (en) | 1995-03-31 | 2001-08-07 | Sony Europa B.V., | Storage medium unit and video service system having a stagger recording |
US20010020941A1 (en) | 1998-03-13 | 2001-09-13 | Reynolds Gerald W. | Graphics memory system that utilizes detached-Z buffering in conjunction with a batching architecture to reduce paging overhead |
US20010024448A1 (en) | 2000-03-24 | 2001-09-27 | Motoki Takase | Data driven information processing apparatus |
US20010028354A1 (en) | 2000-04-07 | 2001-10-11 | Cheng Nai-Sheng | System and method for buffer clearing for use in three-dimensional rendering |
US20010028353A1 (en) | 2000-04-07 | 2001-10-11 | Cheng Nai-Sheng | Method and system for buffer management |
US6305021B1 (en) | 1997-03-07 | 2001-10-16 | Samsung Electronics Co., Ltd. | Analog/digital cable TV capable of performing bidirectional communication |
US6311204B1 (en) | 1996-10-11 | 2001-10-30 | C-Cube Semiconductor Ii Inc. | Processing system with register-based process sharing |
US20020015445A1 (en) | 2000-03-24 | 2002-02-07 | Takumi Hashimoto | Image processing device |
US20020015513A1 (en) | 1998-07-15 | 2002-02-07 | Sony Corporation | Motion vector detecting method, record medium on which motion vector calculating program has been recorded, motion detecting apparatus, motion detecting method, picture encoding apparatus, picture encoding method, motion vector calculating method, record medium on which motion vector calculating program has been recorded |
US20020025001A1 (en) | 2000-05-11 | 2002-02-28 | Ismaeil Ismaeil R. | Method and apparatus for video coding |
US6356945B1 (en) | 1991-09-20 | 2002-03-12 | Venson M. Shaw | Method and apparatus including system architecture for multimedia communications |
US6360234B2 (en) | 1997-08-14 | 2002-03-19 | Virage, Inc. | Video cataloger system with synchronized encoders |
US20020041626A1 (en) | 1997-04-07 | 2002-04-11 | Kosuke Yoshioka | Media processing apparatus which operates at high efficiency |
US6418166B1 (en) | 1998-11-30 | 2002-07-09 | Microsoft Corporation | Motion estimation and block matching pattern |
US20020109790A1 (en) * | 2000-12-13 | 2002-08-15 | Mackinnon Andrew Stuart | Method and apparatus for detecting motion and absence of motion between odd and even video fields |
US20020114394A1 (en) | 2000-12-06 | 2002-08-22 | Kai-Kuang Ma | System and method for motion vector generation and analysis of digital video clips |
US20020118743A1 (en) | 2001-02-28 | 2002-08-29 | Hong Jiang | Method, apparatus and system for multiple-layer scalable video coding |
US6459738B1 (en) | 2000-01-28 | 2002-10-01 | Njr Corporation | Method and apparatus for bitstream decoding |
US20030020835A1 (en) | 2001-05-04 | 2003-01-30 | Bops, Inc. | Methods and apparatus for removing compression artifacts in video sequences |
US20030048361A1 (en) | 1998-05-29 | 2003-03-13 | Safai Mohammad A. | Digital camera |
US6539060B1 (en) | 1997-10-25 | 2003-03-25 | Samsung Electronics Co., Ltd. | Image data post-processing method for reducing quantization effect, apparatus therefor |
US6539120B1 (en) | 1997-03-12 | 2003-03-25 | Matsushita Electric Industrial Co., Ltd. | MPEG decoder providing multiple standard output signals |
US20030078952A1 (en) | 2001-09-28 | 2003-04-24 | Ig Kyun Kim | Apparatus and method for 2-D discrete transform using distributed arithmetic module |
US6560629B1 (en) | 1998-10-30 | 2003-05-06 | Sun Microsystems, Inc. | Multi-thread processing |
US20030141434A1 (en) | 2002-01-25 | 2003-07-31 | Semiconductor Technology Academic Research Center | Semiconductor integrated circuit device having a plurality of photo detectors and processing elements |
US20030161400A1 (en) | 2002-02-27 | 2003-08-28 | Dinerstein Jonathan J. | Method and system for improved diamond motion search |
US6665346B1 (en) | 1998-08-01 | 2003-12-16 | Samsung Electronics Co., Ltd. | Loop-filtering method for image data and apparatus therefor |
US6687788B2 (en) | 1998-02-25 | 2004-02-03 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two-or multidimensional programmable cell structure (FPGAs, DPGAs , etc.) |
US6690835B1 (en) * | 1998-03-03 | 2004-02-10 | Interuniversitair Micro-Elektronica Centrum (Imec Vzw) | System and method of encoding video frames |
US6690836B2 (en) | 1998-06-19 | 2004-02-10 | Equator Technologies, Inc. | Circuit and method for decoding an encoded version of an image having a first resolution directly into a decoded version of the image having a second resolution |
US20040057523A1 (en) | 2002-01-18 | 2004-03-25 | Shinichiro Koto | Video encoding method and apparatus and video decoding method and apparatus |
US6721830B2 (en) | 1996-12-20 | 2004-04-13 | Pact Xpp Technologies Ag | I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures |
CN1489391A (en) | 2002-10-09 | 2004-04-14 | 中国科学院计算技术研究所 | Space predicting method and apparatus for video encoding |
US20040095998A1 (en) | 2002-11-20 | 2004-05-20 | Jeng-Hung Luo | Method and apparatus for motion estimation with all binary representation |
US20040100466A1 (en) | 1998-02-17 | 2004-05-27 | Deering Michael F. | Graphics system having a variable density super-sampled sample buffer |
US6751721B1 (en) | 2000-08-31 | 2004-06-15 | Hewlett-Packard Development Company, L.P. | Broadcast invalidate scheme |
US6760478B1 (en) | 1996-06-21 | 2004-07-06 | Hewlett-Packard Development Company, L.P. | Method and apparatus for performing two pass quality video compression through pipelining and buffer management |
US20040150841A1 (en) | 2003-01-30 | 2004-08-05 | Xerox Corporation | Resolution conversion using a morphological partial pixel mapping (MPPM) approach |
US20040156435A1 (en) | 2003-02-11 | 2004-08-12 | Yuji Itoh | Motion estimation using early decision for goodness of estimation with quick convergence feedback |
US6782052B2 (en) | 2001-03-16 | 2004-08-24 | Sharp Laboratories Of America, Inc. | Reference frame prediction and block mode prediction for fast motion searching in advanced video coding |
US20040174998A1 (en) | 2003-03-05 | 2004-09-09 | Xsides Corporation | System and method for data encryption |
US20040181800A1 (en) | 2003-03-13 | 2004-09-16 | Rakib Selim Shlomo | Thin DOCSIS in-band management for interactive HFC service delivery |
US20040181564A1 (en) | 2003-03-10 | 2004-09-16 | Macinnis Alexander G. | SIMD supporting filtering in a video decoding system |
US6799192B1 (en) | 2001-01-09 | 2004-09-28 | Apple Computer, Inc. | Method and apparatus for inverse discrete cosine transform |
US20040190617A1 (en) | 2003-03-28 | 2004-09-30 | Microsoft Corporation | Accelerating video decoding using a graphics processing unit |
US20040190613A1 (en) | 2001-06-01 | 2004-09-30 | Ce Zhu | Block motion estimation method |
US20040202245A1 (en) * | 1997-12-25 | 2004-10-14 | Mitsubishi Denki Kabushiki Kaisha | Motion compensating apparatus, moving image coding apparatus and method |
US6807317B2 (en) | 2002-10-25 | 2004-10-19 | Motorola, Inc. | Method and decoder system for reducing quantization effects of a decoded image |
US20040213348A1 (en) | 2003-04-22 | 2004-10-28 | Samsung Electronics Co., Ltd. | Apparatus and method for determining 4X4 intra luminance prediction mode |
US20040218675A1 (en) * | 2003-04-30 | 2004-11-04 | Samsung Electronics Co., Ltd. | Method and apparatus for determining reference picture and block mode for fast motion estimation |
US20040218626A1 (en) | 2003-04-16 | 2004-11-04 | Tyldesley Katherine S | System and method for transmission of video signals using multiple channels |
US20040228415A1 (en) | 2003-05-13 | 2004-11-18 | Ren-Yuh Wang | Post-filter for deblocking and deringing of video data |
US6823443B2 (en) | 2000-05-22 | 2004-11-23 | Sharp Kabushiki Kaisha | Data driven type apparatus and method with router operating at a different transfer rate than system to attain higher throughput |
US20040257434A1 (en) | 2003-06-23 | 2004-12-23 | Robert Davis | Personal multimedia device video format conversion across multiple video formats |
US20050008254A1 (en) | 2003-04-15 | 2005-01-13 | Makoto Ouchi | Image generation from plurality of images |
US20050047502A1 (en) | 2003-08-12 | 2005-03-03 | Mcgowan James William | Method and apparatus for the efficient representation of interpolated video frames for motion-compensated coding |
US20050066205A1 (en) | 2003-09-18 | 2005-03-24 | Bruce Holmer | High quality and high performance three-dimensional graphics architecture for portable handheld devices |
US20050079914A1 (en) | 2000-11-21 | 2005-04-14 | Kenji Kaido | Information processing method |
US20050105618A1 (en) | 2003-11-17 | 2005-05-19 | Lsi Logic Corporation | Adaptive reference picture selection based on inter-picture motion measurement |
US20050123040A1 (en) | 2003-12-05 | 2005-06-09 | Gisle Bjontegard | Calculation of interpolated pixel values |
US20050190976A1 (en) * | 2004-02-27 | 2005-09-01 | Seiko Epson Corporation | Moving image encoding apparatus and moving image processing apparatus |
US6950473B2 (en) | 2002-06-21 | 2005-09-27 | Seiko Epson Corporation | Hybrid technique for reducing blocking and ringing artifacts in low-bit-rate coding |
WO2005096168A1 (en) | 2004-04-01 | 2005-10-13 | Matsushita Electric Industrial Co., Ltd. | Integrated circuit for video/audio processing |
US20050238103A1 (en) | 2002-08-06 | 2005-10-27 | Raghavan Subramaniyan | Method and apparatus for performing high quality fast predictive motion search |
US20050238102A1 (en) * | 2004-04-23 | 2005-10-27 | Samsung Electronics Co., Ltd. | Hierarchical motion estimation apparatus and method |
US20050265454A1 (en) | 2004-05-13 | 2005-12-01 | Ittiam Systems (P) Ltd. | Fast motion-estimation scheme |
US20050265447A1 (en) | 2004-05-25 | 2005-12-01 | Industry Academic Cooperation Foundation Kyunghee Univ. | Prediction encoder/decoder, prediction encoding/decoding method, and computer readable recording medium having recorded thereon program for implementing the prediction encoding/decoding method |
US20050276493A1 (en) | 2004-06-01 | 2005-12-15 | Jun Xin | Selecting macroblock coding modes for video encoding |
US20050281337A1 (en) | 2004-06-17 | 2005-12-22 | Canon Kabushiki Kaisha | Moving image coding apparatus |
US20050286630A1 (en) | 2004-06-27 | 2005-12-29 | Xin Tong | Selecting encoding types and predictive modes for encoding video data |
US20060002466A1 (en) | 2004-06-01 | 2006-01-05 | Samsung Electronics Co., Ltd. | Prediction encoder/decoder and prediction encoding/decoding method |
US20060017802A1 (en) | 2004-07-20 | 2006-01-26 | Samsung Electronics Co., Ltd. | Method and apparatus for compensating for scanning skew |
US6996645B1 (en) | 2002-12-27 | 2006-02-07 | Unisys Corporation | Method and apparatus for spawning multiple requests from a single entry of a queue |
US20060056708A1 (en) | 2004-09-13 | 2006-03-16 | Microsoft Corporation | Accelerated video encoding using a graphics processing unit |
US7038687B2 (en) | 2003-06-30 | 2006-05-02 | Intel Corporation | System and method for high-speed communications between an application processor and coprocessor |
WO2005001625A3 (en) | 2003-06-09 | 2006-05-04 | Nvidia Corp | Mpeg motion estimation based on dual start points |
US20060109910A1 (en) | 2004-11-19 | 2006-05-25 | Analog Devices, Inc. | System and method for sub-pixel interpolation in motion vector estimation |
US20060115001A1 (en) | 2002-04-29 | 2006-06-01 | Nokia Corporation | Indicating regions within a picture |
US20060133501A1 (en) * | 2004-11-30 | 2006-06-22 | Yung-Lyul Lee | Motion estimation and compensation method and device adaptive to change in illumination |
US20060133506A1 (en) | 2004-12-21 | 2006-06-22 | Stmicroelectronics, Inc. | Method and system for fast implementation of subpixel interpolation |
US20060176299A1 (en) | 2004-08-11 | 2006-08-10 | Stevens Institute Of Technology | Robust hidden data extraction method for scaling attacks |
US20060176962A1 (en) | 2005-02-07 | 2006-08-10 | Koji Arimura | Image coding apparatus and image coding method |
US20060203916A1 (en) | 2005-03-11 | 2006-09-14 | Chandramouly Ashwin A | Method, article of manufacture, and apparatus for high quality, fast intra coding usable for creating digital video content |
EP1283640B1 (en) | 2001-07-24 | 2006-10-18 | Seiko Epson Corporation | Image processor and image processing program, and image processing method |
JP2006287315A (en) | 2005-03-31 | 2006-10-19 | Sanyo Electric Co Ltd | Image encoding method, device and image decoding method |
WO2006085137A3 (en) | 2005-01-04 | 2006-10-26 | Nokia Corp | Method and system for low-delay video mixing |
US20070002950A1 (en) | 2005-06-15 | 2007-01-04 | Hsing-Chien Yang | Motion estimation circuit and operating method thereof |
US20070002945A1 (en) | 2005-06-29 | 2007-01-04 | Eung-Tae Kim | Intra-coding apparatus and method |
US7173631B2 (en) | 2004-09-23 | 2007-02-06 | Qualcomm Incorporated | Flexible antialiasing in embedded devices |
US20070036215A1 (en) | 2003-03-03 | 2007-02-15 | Feng Pan | Fast mode decision algorithm for intra prediction for advanced video coding |
US20070070080A1 (en) | 2005-09-28 | 2007-03-29 | Arc International (Uk) Limited | Systems and methods for accelerating sub-pixel interpolation in video processing applications |
US20070133689A1 (en) * | 2005-12-08 | 2007-06-14 | Park Seong M | Low-cost motion estimation apparatus and method thereof |
US20070171981A1 (en) | 2006-01-25 | 2007-07-26 | Yingyong Qi | Projection based techniques and apparatus that generate motion vectors used for video stabilization and encoding |
US7260148B2 (en) | 2001-09-10 | 2007-08-21 | Texas Instruments Incorporated | Method for motion vector estimation |
US20070217506A1 (en) | 2006-03-17 | 2007-09-20 | En-hui Yang | Soft decision and iterative video coding for MPEG and H.264 |
US7277101B2 (en) | 2003-09-29 | 2007-10-02 | Vixs Systems Inc | Method and system for scaling images |
US20070230564A1 (en) | 2006-03-29 | 2007-10-04 | Qualcomm Incorporated | Video processing with scalability |
US7289672B2 (en) | 2002-05-28 | 2007-10-30 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode estimation |
US20070274389A1 (en) | 2006-02-22 | 2007-11-29 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding interlaced video signal using different types of information of lower layer |
US20070286508A1 (en) | 2006-03-21 | 2007-12-13 | Canon Kabushiki Kaisha | Methods and devices for coding and decoding moving images, a telecommunication system comprising such a device and a program implementing such a method |
US20070286284A1 (en) | 2006-06-08 | 2007-12-13 | Hiroaki Ito | Image coding apparatus and image coding method |
US20080069203A1 (en) | 2001-09-17 | 2008-03-20 | Nokia Corporation | Method for sub-pixel value interpolation |
US20080117214A1 (en) | 2006-11-22 | 2008-05-22 | Michael Perani | Pencil strokes for vector based drawing elements |
US7379501B2 (en) | 2002-01-14 | 2008-05-27 | Nokia Corporation | Differential coding of interpolation filters |
US20080137726A1 (en) | 2006-12-12 | 2008-06-12 | General Instrument Corporation | Method and Apparatus for Real-Time Video Encoding |
US20080151997A1 (en) | 2006-12-22 | 2008-06-26 | Qualcomm Incorporated | Techniques for content adaptive video frame slicing and non-uniform access unit coding |
US7403564B2 (en) | 2001-11-21 | 2008-07-22 | Vixs Systems, Inc. | System and method for multiple channel video transcoding |
US20080285444A1 (en) | 2007-05-14 | 2008-11-20 | Wael William Diab | Method and system for managing multimedia traffic over ethernet |
US7499491B2 (en) | 2003-06-23 | 2009-03-03 | Vichip Corp. Limited | Apparatus for adaptive multiple-dimentional signal sequences encoding/decoding |
US20090060277A1 (en) * | 2007-09-04 | 2009-03-05 | Objectvideo, Inc. | Background modeling with feature blocks |
US20090086827A1 (en) | 2005-12-22 | 2009-04-02 | Zhenyu Wu | Method and Apparatus for Optimization of Frame Selection for Flexible Macroblock Ordering (FMO) Video Encoding |
US20090116549A1 (en) | 2007-11-07 | 2009-05-07 | Industrial Technology Research Institute | Methods for selecting a prediction mode |
US20090122864A1 (en) | 2005-11-08 | 2009-05-14 | Matsushita Electric Industrial Co., Ltd. | Moving picture coding method, moving picture decoding method, and apparatuses of the same |
US7548596B2 (en) | 2003-10-01 | 2009-06-16 | Realtek Semiconductor Corp. | Ethernet channel estimation device and method |
US7548586B1 (en) | 2002-02-04 | 2009-06-16 | Mimar Tibet | Audio and video processing apparatus |
US20090161763A1 (en) * | 2007-12-20 | 2009-06-25 | Francois Rossignol | Motion estimation with an adaptive search range |
US7565077B2 (en) | 2006-05-19 | 2009-07-21 | Seiko Epson Corporation | Multiple exposure regions in a single frame using a rolling shutter |
US20090196350A1 (en) | 2007-01-11 | 2009-08-06 | Huawei Technologies Co., Ltd. | Methods and devices of intra prediction encoding and decoding |
US7581182B1 (en) | 2003-07-18 | 2009-08-25 | Nvidia Corporation | Apparatus, method, and 3D graphical user interface for media centers |
US20090268974A1 (en) | 2005-12-21 | 2009-10-29 | Kazuya Takagi | Intra-picture prediction mode deciding method, image coding method, and image coding device |
US7630097B2 (en) | 2003-03-20 | 2009-12-08 | Fuji Xerox Co., Ltd. | Image processing apparatus and method |
US20100034268A1 (en) | 2007-09-21 | 2010-02-11 | Toshihiko Kusakabe | Image coding device and image decoding device |
US7689000B2 (en) * | 2005-08-25 | 2010-03-30 | Kabushiki Kaisha Toshiba | Image storage device and method |
US7693219B2 (en) | 2006-01-04 | 2010-04-06 | Freescale Semiconductor, Inc. | System and method for fast motion estimation |
US7721069B2 (en) | 2004-07-13 | 2010-05-18 | 3Plus1 Technology, Inc | Low power, high performance, heterogeneous, scalable processor architecture |
US7720311B1 (en) | 2005-03-03 | 2010-05-18 | Nvidia Corporation | Memory and compute efficient block-based two-dimensional sample-rate converter for image/video applications |
US8009923B2 (en) | 2006-03-14 | 2011-08-30 | Celestial Semiconductor, Inc. | Method and system for motion estimation with multiple vector candidates |
-
2008
- 2008-12-10 US US12/332,182 patent/US8666181B2/en active Active
Patent Citations (190)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3679821A (en) | 1970-04-30 | 1972-07-25 | Bell Telephone Labor Inc | Transform coding of image difference signals |
US4177514A (en) | 1976-11-12 | 1979-12-04 | General Electric Company | Graph architecture information processing system |
US4583164A (en) | 1981-08-19 | 1986-04-15 | Tolle Donald M | Syntactically self-structuring cellular computer |
US4591979A (en) | 1982-08-25 | 1986-05-27 | Nec Corporation | Data-flow-type digital processing apparatus |
US4644461A (en) | 1983-04-29 | 1987-02-17 | The Regents Of The University Of California | Dynamic activity-creating data-driven computer architecture |
US4755810A (en) | 1985-04-05 | 1988-07-05 | Tektronix, Inc. | Frame buffer memory |
US4814978A (en) | 1986-07-15 | 1989-03-21 | Dataflow Computer Corporation | Dataflow processing element, multiprocessor, and processes |
US5225875A (en) | 1988-07-21 | 1993-07-06 | Proxima Corporation | High speed color display system and method of using same |
US5657465A (en) | 1988-07-22 | 1997-08-12 | Sandia Corporation | Direct match data flow machine apparatus and process for data driven computing |
US4992857A (en) | 1988-09-30 | 1991-02-12 | Ampex Corporation | System for distributing and recovering digitized composite SECAM samples in a two channel digital apparatus |
US5130797A (en) | 1989-02-27 | 1992-07-14 | Mitsubishi Denki Kabushiki Kaisha | Digital signal processing system for parallel processing of subsampled data |
US5369744A (en) | 1989-10-16 | 1994-11-29 | Hitachi, Ltd. | Address-translatable graphic processor, data processor and drawing method with employment of the same |
US5371896A (en) | 1989-11-17 | 1994-12-06 | Texas Instruments Incorporated | Multi-processor having control over synchronization of processors in mind mode and method of operation |
US5613146A (en) | 1989-11-17 | 1997-03-18 | Texas Instruments Incorporated | Reconfigurable SIMD/MIMD processor using switch matrix to allow access to a parameter memory by any of the plurality of processors |
US5045940A (en) | 1989-12-22 | 1991-09-03 | Avid Technology, Inc. | Video/audio transmission systsem and method |
US5233689A (en) | 1990-03-16 | 1993-08-03 | Hewlett-Packard Company | Methods and apparatus for maximizing column address coherency for serial and random port accesses to a dual port ram array |
US5146324A (en) | 1990-07-31 | 1992-09-08 | Ampex Corporation | Data compression using a feedforward quantization estimator |
US5267334A (en) | 1991-05-24 | 1993-11-30 | Apple Computer, Inc. | Encoding/decoding moving images with forward and backward keyframes for forward and reverse display |
US5212742A (en) | 1991-05-24 | 1993-05-18 | Apple Computer, Inc. | Method and apparatus for encoding/decoding image data |
US5898881A (en) | 1991-06-28 | 1999-04-27 | Sanyo Electric Co., Ltd | Parallel computer system with error status signal and data-driven processor |
US6356945B1 (en) | 1991-09-20 | 2002-03-12 | Venson M. Shaw | Method and apparatus including system architecture for multimedia communications |
US5646692A (en) | 1993-07-16 | 1997-07-08 | U.S. Philips Corporation | Device for transmitting a high definition digital picture signal for use by a lower definition picture signal receiver |
US5598514A (en) | 1993-08-09 | 1997-01-28 | C-Cube Microsystems | Structure and method for a multistandard video encoder/decoder |
US5630033A (en) | 1993-08-09 | 1997-05-13 | C-Cube Microsystems, Inc. | Adaptic threshold filter and method thereof |
US6073185A (en) | 1993-08-27 | 2000-06-06 | Teranex, Inc. | Parallel data processor |
US5623311A (en) | 1994-10-28 | 1997-04-22 | Matsushita Electric Corporation Of America | MPEG video decoder having a high bandwidth memory |
US5596369A (en) | 1995-01-24 | 1997-01-21 | Lsi Logic Corporation | Statistically derived method and system for decoding MPEG motion compensation and transform coded video data |
US5790881A (en) | 1995-02-07 | 1998-08-04 | Sigma Designs, Inc. | Computer system including coprocessor devices simulating memory interfaces |
US6272281B1 (en) | 1995-03-31 | 2001-08-07 | Sony Europa B.V., | Storage medium unit and video service system having a stagger recording |
US5608652A (en) | 1995-05-12 | 1997-03-04 | Intel Corporation | Reducing blocking effects in block transfer encoders |
US5768429A (en) | 1995-11-27 | 1998-06-16 | Sun Microsystems, Inc. | Apparatus and method for accelerating digital video decompression by performing operations in parallel |
US5809538A (en) | 1996-02-07 | 1998-09-15 | General Instrument Corporation | DRAM arbiter for video decoder |
US5923375A (en) | 1996-02-27 | 1999-07-13 | Sgs-Thomson Microelectronics S.R.L. | Memory reduction in the MPEG-2 main profile main level decoder |
US5845083A (en) | 1996-03-07 | 1998-12-01 | Mitsubishi Semiconductor America, Inc. | MPEG encoding and decoding system for multimedia applications |
US5870310A (en) | 1996-05-03 | 1999-02-09 | Lsi Logic Corporation | Method and apparatus for designing re-usable core interface shells |
US6148109A (en) | 1996-05-28 | 2000-11-14 | Matsushita Electric Industrial Co., Ltd. | Image predictive coding method |
US6760478B1 (en) | 1996-06-21 | 2004-07-06 | Hewlett-Packard Development Company, L.P. | Method and apparatus for performing two pass quality video compression through pipelining and buffer management |
US6144362A (en) | 1996-09-27 | 2000-11-07 | Sony Corporation | Image displaying and controlling apparatus and method |
US6311204B1 (en) | 1996-10-11 | 2001-10-30 | C-Cube Semiconductor Ii Inc. | Processing system with register-based process sharing |
US5889949A (en) | 1996-10-11 | 1999-03-30 | C-Cube Microsystems | Processing system with memory arbitrating between memory access requests in a set top box |
US6088355A (en) | 1996-10-11 | 2000-07-11 | C-Cube Microsystems, Inc. | Processing system with pointer-based ATM segmentation and reassembly |
US5821886A (en) | 1996-10-18 | 1998-10-13 | Samsung Electronics Company, Ltd. | Variable length code detection in a signal processing system |
US5909224A (en) | 1996-10-18 | 1999-06-01 | Samsung Electronics Company, Ltd. | Apparatus and method for managing a frame buffer for MPEG video decoding in a PC environment |
US6035349A (en) | 1996-12-09 | 2000-03-07 | Electrolnics And Telecommunications Research Institute | Structure of portable multimedia data input/output processor and method for driving the same |
US6721830B2 (en) | 1996-12-20 | 2004-04-13 | Pact Xpp Technologies Ag | I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures |
US5883823A (en) | 1997-01-15 | 1999-03-16 | Sun Microsystems, Inc. | System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same |
US6188799B1 (en) | 1997-02-07 | 2001-02-13 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for removing noise in still and moving pictures |
US6305021B1 (en) | 1997-03-07 | 2001-10-16 | Samsung Electronics Co., Ltd. | Analog/digital cable TV capable of performing bidirectional communication |
US6539120B1 (en) | 1997-03-12 | 2003-03-25 | Matsushita Electric Industrial Co., Ltd. | MPEG decoder providing multiple standard output signals |
US20020041626A1 (en) | 1997-04-07 | 2002-04-11 | Kosuke Yoshioka | Media processing apparatus which operates at high efficiency |
US5999220A (en) | 1997-04-07 | 1999-12-07 | Washino; Kinya | Multi-format audio/video production system with frame-rate conversion |
US5954786A (en) | 1997-06-23 | 1999-09-21 | Sun Microsystems, Inc. | Method for directing a parallel processing computing device to form an absolute valve of a signed valve |
US6104470A (en) | 1997-07-04 | 2000-08-15 | Oce-Technologies B.V. | Printing system and control unit utilizing a visual representation of a sheet or document for selecting document-finishing operations |
US5969728A (en) | 1997-07-14 | 1999-10-19 | Cirrus Logic, Inc. | System and method of synchronizing multiple buffers for display |
US6360234B2 (en) | 1997-08-14 | 2002-03-19 | Virage, Inc. | Video cataloger system with synchronized encoders |
US6539060B1 (en) | 1997-10-25 | 2003-03-25 | Samsung Electronics Co., Ltd. | Image data post-processing method for reducing quantization effect, apparatus therefor |
US6269174B1 (en) | 1997-10-28 | 2001-07-31 | Ligos Corporation | Apparatus and method for fast motion estimation |
US20040202245A1 (en) * | 1997-12-25 | 2004-10-14 | Mitsubishi Denki Kabushiki Kaisha | Motion compensating apparatus, moving image coding apparatus and method |
US6157751A (en) | 1997-12-30 | 2000-12-05 | Cognex Corporation | Method and apparatus for interleaving a parallel image processing memory |
US20040100466A1 (en) | 1998-02-17 | 2004-05-27 | Deering Michael F. | Graphics system having a variable density super-sampled sample buffer |
US6687788B2 (en) | 1998-02-25 | 2004-02-03 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two-or multidimensional programmable cell structure (FPGAs, DPGAs , etc.) |
US6690835B1 (en) * | 1998-03-03 | 2004-02-10 | Interuniversitair Micro-Elektronica Centrum (Imec Vzw) | System and method of encoding video frames |
US20010020941A1 (en) | 1998-03-13 | 2001-09-13 | Reynolds Gerald W. | Graphics memory system that utilizes detached-Z buffering in conjunction with a batching architecture to reduce paging overhead |
US6317124B2 (en) | 1998-03-13 | 2001-11-13 | Hewlett Packard Company | Graphics memory system that utilizes detached-Z buffering in conjunction with a batching architecture to reduce paging overhead |
US6195389B1 (en) | 1998-04-16 | 2001-02-27 | Scientific-Atlanta, Inc. | Motion estimation system and methods |
US6175594B1 (en) | 1998-05-22 | 2001-01-16 | Ati Technologies, Inc. | Method and apparatus for decoding compressed video |
US20030048361A1 (en) | 1998-05-29 | 2003-03-13 | Safai Mohammad A. | Digital camera |
US6690836B2 (en) | 1998-06-19 | 2004-02-10 | Equator Technologies, Inc. | Circuit and method for decoding an encoded version of an image having a first resolution directly into a decoded version of the image having a second resolution |
US20020015513A1 (en) | 1998-07-15 | 2002-02-07 | Sony Corporation | Motion vector detecting method, record medium on which motion vector calculating program has been recorded, motion detecting apparatus, motion detecting method, picture encoding apparatus, picture encoding method, motion vector calculating method, record medium on which motion vector calculating program has been recorded |
US6665346B1 (en) | 1998-08-01 | 2003-12-16 | Samsung Electronics Co., Ltd. | Loop-filtering method for image data and apparatus therefor |
US6098174A (en) | 1998-08-03 | 2000-08-01 | Cirrus Logic, Inc. | Power control circuitry for use in a computer system and systems using the same |
US6560629B1 (en) | 1998-10-30 | 2003-05-06 | Sun Microsystems, Inc. | Multi-thread processing |
US6418166B1 (en) | 1998-11-30 | 2002-07-09 | Microsoft Corporation | Motion estimation and block matching pattern |
US6222883B1 (en) | 1999-01-28 | 2001-04-24 | International Business Machines Corporation | Video encoding motion estimation employing partitioned and reassembled search window |
GB2348559B (en) | 1999-03-31 | 2001-06-06 | Samsung Electronics Co Ltd | High speed motion estimating method for real time moving image coding and apparatus therefor |
JP2001184323A (en) | 1999-12-27 | 2001-07-06 | Mitsubishi Electric Corp | Encoding device |
US6459738B1 (en) | 2000-01-28 | 2002-10-01 | Njr Corporation | Method and apparatus for bitstream decoding |
US20010024448A1 (en) | 2000-03-24 | 2001-09-27 | Motoki Takase | Data driven information processing apparatus |
US20020015445A1 (en) | 2000-03-24 | 2002-02-07 | Takumi Hashimoto | Image processing device |
US20010028354A1 (en) | 2000-04-07 | 2001-10-11 | Cheng Nai-Sheng | System and method for buffer clearing for use in three-dimensional rendering |
US20010028353A1 (en) | 2000-04-07 | 2001-10-11 | Cheng Nai-Sheng | Method and system for buffer management |
US20020025001A1 (en) | 2000-05-11 | 2002-02-28 | Ismaeil Ismaeil R. | Method and apparatus for video coding |
US6823443B2 (en) | 2000-05-22 | 2004-11-23 | Sharp Kabushiki Kaisha | Data driven type apparatus and method with router operating at a different transfer rate than system to attain higher throughput |
US6751721B1 (en) | 2000-08-31 | 2004-06-15 | Hewlett-Packard Development Company, L.P. | Broadcast invalidate scheme |
US20050079914A1 (en) | 2000-11-21 | 2005-04-14 | Kenji Kaido | Information processing method |
US20020114394A1 (en) | 2000-12-06 | 2002-08-22 | Kai-Kuang Ma | System and method for motion vector generation and analysis of digital video clips |
US6647062B2 (en) * | 2000-12-13 | 2003-11-11 | Genesis Microchip Inc. | Method and apparatus for detecting motion and absence of motion between odd and even video fields |
US20020109790A1 (en) * | 2000-12-13 | 2002-08-15 | Mackinnon Andrew Stuart | Method and apparatus for detecting motion and absence of motion between odd and even video fields |
US6799192B1 (en) | 2001-01-09 | 2004-09-28 | Apple Computer, Inc. | Method and apparatus for inverse discrete cosine transform |
US20050033788A1 (en) | 2001-01-09 | 2005-02-10 | Maynard Handley | Method and apparatus for inverse discrete cosine transform |
US20020118743A1 (en) | 2001-02-28 | 2002-08-29 | Hong Jiang | Method, apparatus and system for multiple-layer scalable video coding |
US6782052B2 (en) | 2001-03-16 | 2004-08-24 | Sharp Laboratories Of America, Inc. | Reference frame prediction and block mode prediction for fast motion searching in advanced video coding |
US20030020835A1 (en) | 2001-05-04 | 2003-01-30 | Bops, Inc. | Methods and apparatus for removing compression artifacts in video sequences |
US20040190613A1 (en) | 2001-06-01 | 2004-09-30 | Ce Zhu | Block motion estimation method |
EP1283640B1 (en) | 2001-07-24 | 2006-10-18 | Seiko Epson Corporation | Image processor and image processing program, and image processing method |
US7260148B2 (en) | 2001-09-10 | 2007-08-21 | Texas Instruments Incorporated | Method for motion vector estimation |
US20080069203A1 (en) | 2001-09-17 | 2008-03-20 | Nokia Corporation | Method for sub-pixel value interpolation |
US20030078952A1 (en) | 2001-09-28 | 2003-04-24 | Ig Kyun Kim | Apparatus and method for 2-D discrete transform using distributed arithmetic module |
US7403564B2 (en) | 2001-11-21 | 2008-07-22 | Vixs Systems, Inc. | System and method for multiple channel video transcoding |
US7379501B2 (en) | 2002-01-14 | 2008-05-27 | Nokia Corporation | Differential coding of interpolation filters |
US20040057523A1 (en) | 2002-01-18 | 2004-03-25 | Shinichiro Koto | Video encoding method and apparatus and video decoding method and apparatus |
US20030141434A1 (en) | 2002-01-25 | 2003-07-31 | Semiconductor Technology Academic Research Center | Semiconductor integrated circuit device having a plurality of photo detectors and processing elements |
US7548586B1 (en) | 2002-02-04 | 2009-06-16 | Mimar Tibet | Audio and video processing apparatus |
US20030161400A1 (en) | 2002-02-27 | 2003-08-28 | Dinerstein Jonathan J. | Method and system for improved diamond motion search |
US20060115001A1 (en) | 2002-04-29 | 2006-06-01 | Nokia Corporation | Indicating regions within a picture |
US7289672B2 (en) | 2002-05-28 | 2007-10-30 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode estimation |
US6950473B2 (en) | 2002-06-21 | 2005-09-27 | Seiko Epson Corporation | Hybrid technique for reducing blocking and ringing artifacts in low-bit-rate coding |
US20050238103A1 (en) | 2002-08-06 | 2005-10-27 | Raghavan Subramaniyan | Method and apparatus for performing high quality fast predictive motion search |
CN1489391A (en) | 2002-10-09 | 2004-04-14 | 中国科学院计算技术研究所 | Space predicting method and apparatus for video encoding |
US6807317B2 (en) | 2002-10-25 | 2004-10-19 | Motorola, Inc. | Method and decoder system for reducing quantization effects of a decoded image |
US20040095998A1 (en) | 2002-11-20 | 2004-05-20 | Jeng-Hung Luo | Method and apparatus for motion estimation with all binary representation |
US6996645B1 (en) | 2002-12-27 | 2006-02-07 | Unisys Corporation | Method and apparatus for spawning multiple requests from a single entry of a queue |
US20040150841A1 (en) | 2003-01-30 | 2004-08-05 | Xerox Corporation | Resolution conversion using a morphological partial pixel mapping (MPPM) approach |
US20040156435A1 (en) | 2003-02-11 | 2004-08-12 | Yuji Itoh | Motion estimation using early decision for goodness of estimation with quick convergence feedback |
US20070036215A1 (en) | 2003-03-03 | 2007-02-15 | Feng Pan | Fast mode decision algorithm for intra prediction for advanced video coding |
US20040174998A1 (en) | 2003-03-05 | 2004-09-09 | Xsides Corporation | System and method for data encryption |
US20040181564A1 (en) | 2003-03-10 | 2004-09-16 | Macinnis Alexander G. | SIMD supporting filtering in a video decoding system |
US20040181800A1 (en) | 2003-03-13 | 2004-09-16 | Rakib Selim Shlomo | Thin DOCSIS in-band management for interactive HFC service delivery |
US7630097B2 (en) | 2003-03-20 | 2009-12-08 | Fuji Xerox Co., Ltd. | Image processing apparatus and method |
US20040190617A1 (en) | 2003-03-28 | 2004-09-30 | Microsoft Corporation | Accelerating video decoding using a graphics processing unit |
US20050008254A1 (en) | 2003-04-15 | 2005-01-13 | Makoto Ouchi | Image generation from plurality of images |
US20040218626A1 (en) | 2003-04-16 | 2004-11-04 | Tyldesley Katherine S | System and method for transmission of video signals using multiple channels |
US7551671B2 (en) | 2003-04-16 | 2009-06-23 | General Dynamics Decision Systems, Inc. | System and method for transmission of video signals using multiple channels |
US20040213348A1 (en) | 2003-04-22 | 2004-10-28 | Samsung Electronics Co., Ltd. | Apparatus and method for determining 4X4 intra luminance prediction mode |
US7450640B2 (en) | 2003-04-22 | 2008-11-11 | Samsung Electronics Co., Ltd. | Apparatus and method for determining 4X4 intra luminance prediction mode |
US20040218675A1 (en) * | 2003-04-30 | 2004-11-04 | Samsung Electronics Co., Ltd. | Method and apparatus for determining reference picture and block mode for fast motion estimation |
US20040228415A1 (en) | 2003-05-13 | 2004-11-18 | Ren-Yuh Wang | Post-filter for deblocking and deringing of video data |
WO2005001625A3 (en) | 2003-06-09 | 2006-05-04 | Nvidia Corp | Mpeg motion estimation based on dual start points |
US7499491B2 (en) | 2003-06-23 | 2009-03-03 | Vichip Corp. Limited | Apparatus for adaptive multiple-dimentional signal sequences encoding/decoding |
US20040257434A1 (en) | 2003-06-23 | 2004-12-23 | Robert Davis | Personal multimedia device video format conversion across multiple video formats |
US7038687B2 (en) | 2003-06-30 | 2006-05-02 | Intel Corporation | System and method for high-speed communications between an application processor and coprocessor |
US7581182B1 (en) | 2003-07-18 | 2009-08-25 | Nvidia Corporation | Apparatus, method, and 3D graphical user interface for media centers |
US20050047502A1 (en) | 2003-08-12 | 2005-03-03 | Mcgowan James William | Method and apparatus for the efficient representation of interpolated video frames for motion-compensated coding |
US20050066205A1 (en) | 2003-09-18 | 2005-03-24 | Bruce Holmer | High quality and high performance three-dimensional graphics architecture for portable handheld devices |
US7277101B2 (en) | 2003-09-29 | 2007-10-02 | Vixs Systems Inc | Method and system for scaling images |
US7548596B2 (en) | 2003-10-01 | 2009-06-16 | Realtek Semiconductor Corp. | Ethernet channel estimation device and method |
US20050105618A1 (en) | 2003-11-17 | 2005-05-19 | Lsi Logic Corporation | Adaptive reference picture selection based on inter-picture motion measurement |
US20050123040A1 (en) | 2003-12-05 | 2005-06-09 | Gisle Bjontegard | Calculation of interpolated pixel values |
US20050190976A1 (en) * | 2004-02-27 | 2005-09-01 | Seiko Epson Corporation | Moving image encoding apparatus and moving image processing apparatus |
WO2005096168A1 (en) | 2004-04-01 | 2005-10-13 | Matsushita Electric Industrial Co., Ltd. | Integrated circuit for video/audio processing |
US20050238102A1 (en) * | 2004-04-23 | 2005-10-27 | Samsung Electronics Co., Ltd. | Hierarchical motion estimation apparatus and method |
US20050265454A1 (en) | 2004-05-13 | 2005-12-01 | Ittiam Systems (P) Ltd. | Fast motion-estimation scheme |
US20050265447A1 (en) | 2004-05-25 | 2005-12-01 | Industry Academic Cooperation Foundation Kyunghee Univ. | Prediction encoder/decoder, prediction encoding/decoding method, and computer readable recording medium having recorded thereon program for implementing the prediction encoding/decoding method |
US20060002466A1 (en) | 2004-06-01 | 2006-01-05 | Samsung Electronics Co., Ltd. | Prediction encoder/decoder and prediction encoding/decoding method |
US20050276493A1 (en) | 2004-06-01 | 2005-12-15 | Jun Xin | Selecting macroblock coding modes for video encoding |
JP2005354686A (en) | 2004-06-01 | 2005-12-22 | Mitsubishi Electric Research Laboratories Inc | Method and system for selecting optimal coding mode for each macroblock in video |
US20050281337A1 (en) | 2004-06-17 | 2005-12-22 | Canon Kabushiki Kaisha | Moving image coding apparatus |
US8369402B2 (en) | 2004-06-17 | 2013-02-05 | Canon Kabushiki Kaisha | Apparatus and method for prediction modes selection based on image formation |
US20050286630A1 (en) | 2004-06-27 | 2005-12-29 | Xin Tong | Selecting encoding types and predictive modes for encoding video data |
US7721069B2 (en) | 2004-07-13 | 2010-05-18 | 3Plus1 Technology, Inc | Low power, high performance, heterogeneous, scalable processor architecture |
US20060017802A1 (en) | 2004-07-20 | 2006-01-26 | Samsung Electronics Co., Ltd. | Method and apparatus for compensating for scanning skew |
US20060176299A1 (en) | 2004-08-11 | 2006-08-10 | Stevens Institute Of Technology | Robust hidden data extraction method for scaling attacks |
US20060056708A1 (en) | 2004-09-13 | 2006-03-16 | Microsoft Corporation | Accelerated video encoding using a graphics processing unit |
US20060056513A1 (en) | 2004-09-13 | 2006-03-16 | Microsoft Corporation | Accelerated video encoding using a graphics processing unit |
US7173631B2 (en) | 2004-09-23 | 2007-02-06 | Qualcomm Incorporated | Flexible antialiasing in embedded devices |
US20060109910A1 (en) | 2004-11-19 | 2006-05-25 | Analog Devices, Inc. | System and method for sub-pixel interpolation in motion vector estimation |
US7924923B2 (en) * | 2004-11-30 | 2011-04-12 | Humax Co., Ltd. | Motion estimation and compensation method and device adaptive to change in illumination |
US20060133501A1 (en) * | 2004-11-30 | 2006-06-22 | Yung-Lyul Lee | Motion estimation and compensation method and device adaptive to change in illumination |
US20060133506A1 (en) | 2004-12-21 | 2006-06-22 | Stmicroelectronics, Inc. | Method and system for fast implementation of subpixel interpolation |
WO2006085137A3 (en) | 2005-01-04 | 2006-10-26 | Nokia Corp | Method and system for low-delay video mixing |
US20060176962A1 (en) | 2005-02-07 | 2006-08-10 | Koji Arimura | Image coding apparatus and image coding method |
US7720311B1 (en) | 2005-03-03 | 2010-05-18 | Nvidia Corporation | Memory and compute efficient block-based two-dimensional sample-rate converter for image/video applications |
US20060203916A1 (en) | 2005-03-11 | 2006-09-14 | Chandramouly Ashwin A | Method, article of manufacture, and apparatus for high quality, fast intra coding usable for creating digital video content |
JP2006287315A (en) | 2005-03-31 | 2006-10-19 | Sanyo Electric Co Ltd | Image encoding method, device and image decoding method |
US20070002950A1 (en) | 2005-06-15 | 2007-01-04 | Hsing-Chien Yang | Motion estimation circuit and operating method thereof |
US20070002945A1 (en) | 2005-06-29 | 2007-01-04 | Eung-Tae Kim | Intra-coding apparatus and method |
US7689000B2 (en) * | 2005-08-25 | 2010-03-30 | Kabushiki Kaisha Toshiba | Image storage device and method |
US20070070080A1 (en) | 2005-09-28 | 2007-03-29 | Arc International (Uk) Limited | Systems and methods for accelerating sub-pixel interpolation in video processing applications |
US20090122864A1 (en) | 2005-11-08 | 2009-05-14 | Matsushita Electric Industrial Co., Ltd. | Moving picture coding method, moving picture decoding method, and apparatuses of the same |
US20070133689A1 (en) * | 2005-12-08 | 2007-06-14 | Park Seong M | Low-cost motion estimation apparatus and method thereof |
US20090268974A1 (en) | 2005-12-21 | 2009-10-29 | Kazuya Takagi | Intra-picture prediction mode deciding method, image coding method, and image coding device |
US20090086827A1 (en) | 2005-12-22 | 2009-04-02 | Zhenyu Wu | Method and Apparatus for Optimization of Frame Selection for Flexible Macroblock Ordering (FMO) Video Encoding |
US7693219B2 (en) | 2006-01-04 | 2010-04-06 | Freescale Semiconductor, Inc. | System and method for fast motion estimation |
US20070171981A1 (en) | 2006-01-25 | 2007-07-26 | Yingyong Qi | Projection based techniques and apparatus that generate motion vectors used for video stabilization and encoding |
US20070274389A1 (en) | 2006-02-22 | 2007-11-29 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding interlaced video signal using different types of information of lower layer |
US8009923B2 (en) | 2006-03-14 | 2011-08-30 | Celestial Semiconductor, Inc. | Method and system for motion estimation with multiple vector candidates |
US20070217506A1 (en) | 2006-03-17 | 2007-09-20 | En-hui Yang | Soft decision and iterative video coding for MPEG and H.264 |
US20070286508A1 (en) | 2006-03-21 | 2007-12-13 | Canon Kabushiki Kaisha | Methods and devices for coding and decoding moving images, a telecommunication system comprising such a device and a program implementing such a method |
US20070230564A1 (en) | 2006-03-29 | 2007-10-04 | Qualcomm Incorporated | Video processing with scalability |
US7565077B2 (en) | 2006-05-19 | 2009-07-21 | Seiko Epson Corporation | Multiple exposure regions in a single frame using a rolling shutter |
US20070286284A1 (en) | 2006-06-08 | 2007-12-13 | Hiroaki Ito | Image coding apparatus and image coding method |
US20080117214A1 (en) | 2006-11-22 | 2008-05-22 | Michael Perani | Pencil strokes for vector based drawing elements |
US20080137726A1 (en) | 2006-12-12 | 2008-06-12 | General Instrument Corporation | Method and Apparatus for Real-Time Video Encoding |
US20080151997A1 (en) | 2006-12-22 | 2008-06-26 | Qualcomm Incorporated | Techniques for content adaptive video frame slicing and non-uniform access unit coding |
US20090196350A1 (en) | 2007-01-11 | 2009-08-06 | Huawei Technologies Co., Ltd. | Methods and devices of intra prediction encoding and decoding |
US20080285444A1 (en) | 2007-05-14 | 2008-11-20 | Wael William Diab | Method and system for managing multimedia traffic over ethernet |
US20090060277A1 (en) * | 2007-09-04 | 2009-03-05 | Objectvideo, Inc. | Background modeling with feature blocks |
US20100034268A1 (en) | 2007-09-21 | 2010-02-11 | Toshihiko Kusakabe | Image coding device and image decoding device |
US20090116549A1 (en) | 2007-11-07 | 2009-05-07 | Industrial Technology Research Institute | Methods for selecting a prediction mode |
US20090161763A1 (en) * | 2007-12-20 | 2009-06-25 | Francois Rossignol | Motion estimation with an adaptive search range |
Non-Patent Citations (19)
Title |
---|
"Ralf Schafer et al.,", "H.264/AVC", Dated: Jan. 2003, pp. 1-12. |
A Single-Chip Video/Audio Codec for Low Bit Rate Application Seongmo Park, Seongmin Kim, Igkyun Kim, Kyungjin Byun, Jin Jong Cha, and Hanjin Cho, ETRI Journal, vol. 22, No. 1, Mar. 2000, pp. 20-29. |
Advanced Video Coding for generic audiovisual services, Telecommunication Standardization Sector of ITU, Dated Mar. 2005, pp. 1-343. |
Andrew Gibson, "H.264 Video Encoding Standard", year Aug. 2002, pp. 1-98, Queens University Kingston Ontario Canada. |
Chen, Hao et al., "Adaptive FMO Selection Strategy for Error Resilient H.264 Coding" International Conference on Audio, Language and Image Processing, 2008. ICALIP 2008, Jul. 7-9, 2008, pp. 868-872. |
Hannuksela, Miska et al., "Random Access Using Isolated Regions", IEEE 2003, pp. III-841 to III to 844. |
Iwasaki, I.; Naganuma, J.; Nitta, K.; Yoshitome, T.; Ogura, M.; Nakajima, Y.; Tashiro, Y.; Onishi, T.; Ikeda, M.; Endo, M., "Single-chip MPEG-2 422P@HL CODEC LSI with multi-chip configuration for large scale processing beyond HDTV level," Design, Automation and Test in Europe Conference and Exhibition, Mar. 2003. |
Jamil-Ur-Rehman and Dr. Zhang Ye, "Efficient Techniques for Signaling Intra Prediction modes of H.264/Mpeg-4 Part 10", Proceedings of the First International Conference on Innovative Computing, Information and Control, ICICIC, Year 2006, pp. 1-4. |
Jong, et al., "Accuracy Improvement and Cost Reduction of 3-Step Search Block Matching Algorithm for Video Coding", Feb. 1, 1994, IEEE Transaction on Circuits and Systems for Video Technology, vol. 4 No. 1, pp. 88-90, XP000439487. |
Kadono Shinya, et. Al. Revised edition H. 264/AVC Textbook, Impress R&D, Jan. 1, 2006, pp. 131-133. |
Mizuno, M. et al.; "A 1.5-W single-chip MPEG-2 MP@ML video encoder with low power motion estimation and clocking," Solid-State Circuits, IEEE Journal of, vol. 32, No. 11, pp. 18-7-1816, Nov. 1997. |
Realization of Low-Bit-Ratio Video Encoder Using Mpact Media Processor; Iwasaki, Junichi et al.; 1997. |
Rohini Krishnan, et al., "Design of a 2D DCT/IDCT Application Specific VLIW Processor Supporting Scaled and Sub-sampled Blocks," 16th International Conference on VLSI Design, 2003, six pages. |
Shih-Hao Wang et al.; "A platform-based MPEG-4 advanced video coding (AVC) decoder with block level pipelining," Information, Communications and Signal Processing, 2003 and the Fourth Pacific Rim Conference on Multimedia Proceedings of the 2003 Joint Conference of the Fourth International Conference on, vol. 1, No., p. 51-55 vol. 1, Dec. 2003. |
The Merriam-Webster Dictionary-. 2005 ed. Springfield, MA: Merriam-Webster Inc., 2005. |
Tourapis et al., Proc. Of SPIE Conf. Vis. Comm. And Img. Processing, vol. 3, pp. 1365-1373, Jun. 2000. |
Tu, C., Liang, J., and Tran, T. "Adaptive Runlength Coding", in-IEEE Signal Processing Letters-vol. 10, No. 3, pp. 61-66. Mar. 2003. |
Tung-Chien Chen; Yu-Wen Huang; Liang-Gee Chen, "Analysis and design of macroblock pipelining for H.264/AVC VLSI architecture," Circuits and Systems, 2004. ISCAS '04. Proceedings of the 2004 International Symposium on, vol. 2, No., pp. 11-273-6 vol. 2, May 23-26, 2004. |
Zheng, et al., Inter. Conf. Info. Systems, Analysis and Synthesis, SCI 2001-ISAS 2001, vol. 13, 2001. |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9330060B1 (en) | 2003-04-15 | 2016-05-03 | Nvidia Corporation | Method and device for encoding and decoding video image data |
US9185429B1 (en) | 2012-04-30 | 2015-11-10 | Google Inc. | Video encoding and decoding using un-equal error protection |
US9113164B1 (en) | 2012-05-15 | 2015-08-18 | Google Inc. | Constant bit rate control using implicit quantization values |
US9510019B2 (en) | 2012-08-09 | 2016-11-29 | Google Inc. | Two-step quantization and coding method and apparatus |
US9826229B2 (en) | 2012-09-29 | 2017-11-21 | Google Technology Holdings LLC | Scan pattern determination from base layer pixel information for scalable extension |
US9407915B2 (en) | 2012-10-08 | 2016-08-02 | Google Inc. | Lossless video coding with sub-frame level optimal quantization values |
US9350988B1 (en) | 2012-11-20 | 2016-05-24 | Google Inc. | Prediction mode-based block ordering in video coding |
US9681128B1 (en) | 2013-01-31 | 2017-06-13 | Google Inc. | Adaptive pre-transform scanning patterns for video and image compression |
US9247251B1 (en) | 2013-07-26 | 2016-01-26 | Google Inc. | Right-edge extension for quad-tree intra-prediction |
US10114733B1 (en) * | 2016-08-29 | 2018-10-30 | Cadence Design Systems, Inc. | System and method for automated testing of user interface software for visual responsiveness |
Also Published As
Publication number | Publication date |
---|---|
US20100142761A1 (en) | 2010-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8666181B2 (en) | Adaptive multiple engine image motion detection system and method | |
US9179166B2 (en) | Multi-protocol deblock engine core system and method | |
KR102392816B1 (en) | System having low power computation architecture | |
US11095910B2 (en) | Bandwidth saving architecture for scalable video coding | |
KR101187622B1 (en) | Coordinating power management functions in a multi-media device | |
US9524536B2 (en) | Compression techniques for dynamically-generated graphics resources | |
US10241932B2 (en) | Power saving method and apparatus for first in first out (FIFO) memories | |
US10015502B2 (en) | Image processor, image processing system including image processor, system-on-chip including image processing system, and method of operating image processing system | |
CN101729893B (en) | MPEG multi-format compatible decoding method based on software and hardware coprocessing and device thereof | |
JP5870145B2 (en) | Color buffer compression | |
US10924753B2 (en) | Modular motion estimation and mode decision engine | |
US20100158105A1 (en) | Post-processing encoding system and method | |
US20100195730A1 (en) | Dual stage intra-prediction video encoding system and method | |
Park et al. | Programmable multimedia platform based on reconfigurable processor for 8K UHD TV | |
TWI517089B (en) | Color buffer caching | |
Wang et al. | VLSI implementation of HEVC motion compensation with distance biased direct cache mapping for 8K UHDTV applications | |
Miyama et al. | A sub-mW MPEG-4 motion estimation processor core for mobile video application | |
CN104008524A (en) | Techniques for low energy computation in graphics processing | |
US20150195521A1 (en) | Candidate motion vector selection systems and methods | |
He et al. | Real-time implementations of Hough transform on SIMD architecture | |
US9247256B2 (en) | Prediction method using skip check module | |
Stabernack et al. | A system on a chip architecture of an H. 264/AVC coprocessor for DVB-H and DMB applications | |
Zhang | Optimizing Video Processing for Next-Generation Mobile Platforms | |
Li et al. | A low-power VLSI implementation for fast full-search variable block size motion estimation | |
Richmond II | A low-power design of motion estimation blocks for low bit-rate wireless video communications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NVIDIA CORPORATION,CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VENKATAPURAM, PRAHLAD;GARG, ATUL;RACHAMREDDY, KARUNAKAR;AND OTHERS;SIGNING DATES FROM 20081204 TO 20081208;REEL/FRAME:021957/0520 Owner name: NVIDIA CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VENKATAPURAM, PRAHLAD;GARG, ATUL;RACHAMREDDY, KARUNAKAR;AND OTHERS;SIGNING DATES FROM 20081204 TO 20081208;REEL/FRAME:021957/0520 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |