Patents by Inventor Chris Yoochang Chung
Chris Yoochang Chung has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10477249Abstract: A video decoder system includes a video decoding engine, noise database, artifact estimator and post-processing unit. The video coder may generate recovered video from a data stream of coded video data, which may have visually-perceptible artifacts introduced as a byproduct of compression. The noise database may store a plurality of previously developed noise patches. The artifact estimator may estimate the location of coding artifacts present in the recovered video and select noise patches from the database to mask the artifacts and the post-processing unit may integrate the selected noise patches into the recovered video. In this manner, the video decoder may generate post-processed noise which may mask artifacts that otherwise would be generated by a video coding process.Type: GrantFiled: June 5, 2009Date of Patent: November 12, 2019Assignee: APPLE INC.Inventors: Yuxin Liu, Hsi-Jung Wu, Xiaojin Shi, Chris Yoochang Chung
-
Patent number: 8731064Abstract: Systems, apparatuses and methods whereby a base coded video signal is provided to a decoder having a set of post-processing stages. The base coded video signal can be decoded to produce a base decoded video signal. Post-processing of the base decoded video signal can be used to produce an enhanced quality video output signal. Application of a post-processing stage can be implemented according to the capabilities of the decoder and/or the instantaneous operating parameters of the decoder and/or characteristics of a display. A control signal, communicated over a dedicated channel separate from the base coded video signal, can be used initiate and/or aid implementation of a post-processing stage. The control signal can also provide information to assist/manage the decoding of the base coded video signal. The use of additional post-processing stages increases the complexity of an overall decoding process while improving the quality of a resulting reproduced video sequence.Type: GrantFiled: September 11, 2006Date of Patent: May 20, 2014Assignee: Apple Inc.Inventors: Hsi-Jung Wu, Ionut Hristodorescu, Christian L. Duvivier, James Normile, Jochen Christian Schmidt, Chris Yoochang Chung
-
Patent number: 8599238Abstract: Methods, systems, and apparatus are presented for reducing distortion in an image, such as a video image. A video image can be captured by an image capture device, e.g. during a video conferencing session. Distortion correction processing, such as the application of one or more warping techniques, can be applied to the captured image to produce a distortion corrected image, which can be transmitted to one or more participants. The warping techniques can be performed in accordance with one or more warp parameters specifying a transformation of the captured image. Further, the warp parameters can be generated in accordance with an orientation of the image capture device, which can be determined based on sensor data or can be a fixed value. Additionally or alternatively, the warp parameters can be determined in accordance with a reference image or model to which the captured image should be warped.Type: GrantFiled: October 16, 2009Date of Patent: December 3, 2013Assignee: Apple Inc.Inventors: Hsi-Jung Wu, Chris Yoochang Chung, Xiaojin Shi, James Normile
-
Patent number: 8340194Abstract: Disclosed is an exemplary video coder and video coding method according to an embodiment of the present invention. The exemplary video coder includes a scheduler, a plurality of processors and a multiplexer. The scheduler can examine processing units in an input buffer to determine an order for the processing unit to be coded by a processor. If the processing unit under examination depends on a processing unit not yet processed, the processing unit under examination can be merged with other processing units, if any, that share a similar dependency. If the processing unit under examination does not depend on any processing units not yet processed, it can be sent to a next available processor for coding. When a processing unit is sent to a processor, any merged processing units that depend on sent processing unit can also be sent to a next available processor.Type: GrantFiled: June 5, 2009Date of Patent: December 25, 2012Assignee: Apple Inc.Inventors: Jochen Christian Schmidt, Paul Seung Ho Chang, Chris Yoochang Chung, Christian Luc Duvivier, Ionut Hristodorescu, Hsi-Jung Wu, Dazhong Zhang, Xiaosong Zhou
-
Patent number: 8065505Abstract: This invention provides flexible load latency to pipeline cache misses. A memory controller selects the output of one of a set of cascades inserted execute stages. This selection may be controlled by a latency field in a load instruction or by a latency specification of a prior instruction. This invention is useful in the great majority of cases where the code can tolerate incremental increases in load latency for a reduction in cache miss penalty.Type: GrantFiled: August 16, 2007Date of Patent: November 22, 2011Assignee: Texas Instruments IncorporatedInventor: Chris Yoochang Chung
-
Publication number: 20110090303Abstract: Methods, systems, and apparatus are presented for reducing distortion in an image, such as a video image. A video image can be captured by an image capture device, e.g. during a video conferencing session. Distortion correction processing, such as the application of one or more warping techniques, can be applied to the captured image to produce a distortion corrected image, which can be transmitted to one or more participants. The warping techniques can be performed in accordance with one or more warp parameters specifying a transformation of the captured image. Further, the warp parameters can be generated in accordance with an orientation of the image capture device, which can be determined based on sensor data or can be a fixed value. Additionally or alternatively, the warp parameters can be determined in accordance with a reference image or model to which the captured image should be warped.Type: ApplicationFiled: October 16, 2009Publication date: April 21, 2011Applicant: APPLE INC.Inventors: Hsi-Jung Wu, Chris Yoochang Chung, Xiaojin Shi, James Normile
-
Publication number: 20100309985Abstract: A video decoder system includes a video decoding engine, noise database, artifact estimator and post-processing unit. The video coder may generate recovered video from a data stream of coded video data, which may have visually-perceptible artifacts introduced as a byproduct of compression. The noise database may store a plurality of previously developed noise patches. The artifact estimator may estimate the location of coding artifacts present in the recovered video and select noise patches from the database to mask the artifacts and the post-processing unit may integrate the selected noise patches into the recovered video. In this manner, the video decoder may generate post-processed noise which may mask artifacts that otherwise would be generated by a video coding process.Type: ApplicationFiled: June 5, 2009Publication date: December 9, 2010Applicant: APPLE INC.Inventors: Yuxin LIU, Hsi-Jung WU, Xiaojin SHI, Chris Yoochang CHUNG
-
Patent number: 7777749Abstract: A programmable graphics pipeline and method for processing multiple partitioned multimedia data, such as graphics data, image data, video data, or audio data. A preferred embodiment of the programmable graphics pipeline includes an instruction cache, a register file, and a vector functional unit that perform partitioned instructions. In addition, an enhanced rasterization unit is used to generate inverse-mapped source coordinates in addition to destination output coordinates for graphics and other media processing. An enhanced texture address unit generates corresponding memory addresses of source texture data for graphics processing and source media data for media processing. Data retrieved from memory are stored in an enhanced texture cache for use by the vector functional unit. A vector output unit includes a blending unit for graphics data and an output buffer for wide media data.Type: GrantFiled: November 16, 2006Date of Patent: August 17, 2010Assignee: University of WashingtonInventors: Chris Yoochang Chung, Donglok Kim, Yongmin Kim
-
Publication number: 20090310685Abstract: Disclosed is an exemplary video coder and video coding method according to an embodiment of the present invention. The exemplary video coder includes a scheduler, a plurality of processors and a multiplexer. The scheduler can examine processing units in an input buffer to determine an order for the processing unit to be coded by a processor. If the processing unit under examination depends on a processing unit not yet processed, the processing unit under examination can be merged with other processing units, if any, that share a similar dependency. If the processing unit under examination does not depend on any processing units not yet processed, it can be sent to a next available processor for coding. When a processing unit is sent to a processor, any merged processing units that depend on sent processing unit can also be sent to a next available processor.Type: ApplicationFiled: June 5, 2009Publication date: December 17, 2009Applicant: APPLE INC.Inventors: Jochen Christian SCHMIDT, Paul Seung Ho CHANG, Chris Yoochang CHUNG, Christian Luc DUVIVIER, Ionut HRISTODORESCU, Hsi-Jung WU, Dazhong ZHANG, Xiaosong ZHOU
-
Publication number: 20090049287Abstract: This invention provides flexible load latency to pipeline cache misses. A memory controller selects the output of one of a set of cascades inserted execute stages. This selection may be controlled by a latency field in a load instruction or by a latency specification of a prior instruction. This invention is useful in the great majority of cases where the code can tolerate incremental increases in load latency for a reduction in cache miss penalty.Type: ApplicationFiled: August 16, 2007Publication date: February 19, 2009Inventor: Chris Yoochang Chung
-
Publication number: 20080063085Abstract: Systems, apparatuses and methods whereby a base coded video signal is provided to a decoder having a set of post-processing stages. The base coded video signal can be decoded to produce a base decoded video signal. Post-processing of the base decoded video signal can be used to produce an enhanced quality video output signal. Application of a post-processing stage can be implemented according to the capabilities of the decoder and/or the instantaneous operating parameters of the decoder and/or characteristics of a display. A control signal, communicated over a dedicated channel separate from the base coded video signal, can be used initiate and/or aid implementation of a post-processing stage. The control signal can also provide information to assist/manage the decoding of the base coded video signal. The use of additional post-processing stages increases the complexity of an overall decoding process while improving the quality of a resulting reproduced video sequence.Type: ApplicationFiled: September 11, 2006Publication date: March 13, 2008Applicant: APPLE COMPUTER, INC.Inventors: Hsi-Jung WU, Ionut HRISTODORESCU, Christian L. DUVIVIER, James NORMILE, Jochen Christian SCHMIDT, Chris Yoochang CHUNG
-
Patent number: 7209141Abstract: A boundary macroblock of a video object is padded without significant synchronization overhead between a host processor and an existing coprocessor. The host processor determines horizontal and vertical graphics primitives as a function of shape data stored in a host memory. The shape data determine whether a dot, a line, or a rectangle primitive should be used to pad transparent pixels in the macroblock. The host processor communicates the primitives to a coprocessor, which renders the primitives in an interleaved pipeline fashion to pad transparent pixels of the macroblock based on texture data stored in video memory. The flow of primitives is in one direction from the host processor to the graphics coprocessor, and the texture data is not transferred back and forth between the host processor and coprocessor. This technique is especially useful for enabling acceleration of MPEG-4 video decoding utilizing existing coprocessors capable of accelerating MPEG-1/2 video decoding.Type: GrantFiled: August 17, 2004Date of Patent: April 24, 2007Assignee: University of WashingtonInventors: Rohit Garg, Chris Yoochang Chung, Coskun Mermer, Donglok Kim, Yongmin Kim
-
Patent number: 7158141Abstract: A programmable graphics pipeline and method for processing multiple partitioned multimedia data, such as graphics data, image data, video data, or audio data. A preferred embodiment of the programmable graphics pipeline includes an instruction cache, a register file, and a vector functional unit that perform partitioned instructions. In addition, an enhanced rasterization unit is used to generate inverse-mapped source coordinates in addition to destination output coordinates for graphics and other media processing. An enhanced texture address unit generates corresponding memory addresses of source texture data for graphics processing and source media data for media processing. Data retrieved from memory are stored in an enhanced texture cache for use by the vector functional unit. A vector output unit includes a blending unit for graphics data and an output buffer for wide media data.Type: GrantFiled: January 17, 2002Date of Patent: January 2, 2007Assignee: University of WashingtonInventors: Chris Yoochang Chung, Donglok Kim, Yongmin Kim
-
Patent number: 6888892Abstract: A method for efficiently padding a macroblock of a video object plane employs two new instructions. The instructions, PadToRight and PadToLeft, are applied in alternating sequence during a PadPass 1 operation and a PadPass 2 operation. The results of these two operations are then averaged to pad each transparent pixel in each row of a macroblock that includes at least one opaque pixel. A Shift_in register is used to temporarily store data to facilitate the operation implemented by these instructions. Once the transparent pixels in each row have been padded horizontally, pixels in rows having shape data equal to zero (indicating all pixels in the row are transparent) are padded in a pre-processing step, followed by an upward propagation step. The two instructions are preferably implemented using 2:1 multiplexers implemented with an arithmetic logic unit. The method is particularly useful in set-top boxes, games, and other video applications.Type: GrantFiled: December 10, 2001Date of Patent: May 3, 2005Assignee: University of WashingtonInventors: Chris Yoochang Chung, Kerem Karadayi, Rohit Garg, Donglok Kim, Yongmin Kim
-
Patent number: 6842177Abstract: A boundary macroblock of a video object is padded without significant synchronization overhead between a host processor and an existing coprocessor. The host processor determines horizontal and vertical graphics primitives as a function of shape data stored in a host memory. The shape data determine whether a dot, a line, or a rectangle primitive should be used to pad transparent pixels in the macroblock. The host processor communicates the primitives to a coprocessor, which renders the primitives in an interleaved pipeline fashion to pad transparent pixels of the macroblock based on texture data stored in video memory. The flow of primitives is in one direction from the host processor to the graphics coprocessor, and the texture data is not transferred back and forth between the host processor and coprocessor. This technique is especially useful for enabling acceleration of MPEG-4 video decoding utilizing existing coprocessors capable of accelerating MPEG-1/2 video decoding.Type: GrantFiled: December 14, 2001Date of Patent: January 11, 2005Assignee: University of WashingtonInventors: Rohit Garg, Chris Yoochang Chung, Coskun Mermer, Donglok Kim, Yongmin Kim
-
Publication number: 20030151608Abstract: A programmable graphics pipeline and method for processing multiple partitioned multimedia data, such as graphics data, image data, video data, or audio data. A preferred embodiment of the programmable graphics pipeline includes an instruction cache, a register file, and a vector functional unit that perform partitioned instructions. In addition, an enhanced rasterization unit is used to generate inverse-mapped source coordinates in addition to destination output coordinates for graphics and other media processing. An enhanced texture address unit generates corresponding memory addresses of source texture data for graphics processing and source media data for media processing. Data retrieved from memory are stored in an enhanced texture cache for use by the vector functional unit. A vector output unit includes a blending unit for graphics data and an output buffer for wide media data.Type: ApplicationFiled: January 17, 2002Publication date: August 14, 2003Inventors: Chris Yoochang Chung, Donglok Kim, Yongmin Kim
-
Publication number: 20030118110Abstract: A method for efficiently padding a macroblock of a video object plane employs two new instructions. The instructions, PadToRight and PadToLeft, are applied in alternating sequence during a PadPass 1 operation and a PadPass 2 operation. The results of these two operations are then averaged to pad each transparent pixel in each row of a macroblock that includes at least one opaque pixel. A Shift_in register is used to temporarily store data to facilitate the operation implemented by these instructions. Once the transparent pixels in each row have been padded horizontally, pixels in rows having shape data equal to zero (indicating all pixels in the row are transparent) are padded in a pre-processing step, followed by an upward propagation step. The two instructions are preferably implemented using 2:1 multiplexers implemented with an arithmetic logic unit. The method is particularly useful in set-top boxes, games, and other video applications.Type: ApplicationFiled: December 10, 2001Publication date: June 26, 2003Inventors: Chris Yoochang Chung, Kerem Karadayi, Rohit Garg, Donglok Kim, Yongmin Kim
-
Publication number: 20030112243Abstract: A boundary macroblock of a video object is padded without significant synchronization overhead between a host processor and an existing coprocessor. The host processor determines horizontal and vertical graphics primitives as a function of shape data stored in a host memory. The shape data determine whether a dot, a line, or a rectangle primitive should be used to pad transparent pixels in the macroblock. The host processor communicates the primitives to a coprocessor, which renders the primitives in an interleaved pipeline fashion to pad transparent pixels of the macroblock based on texture data stored in video memory. The flow of primitives is in one direction from the host processor to the graphics coprocessor, and the texture data is not transferred back and forth between the host processor and coprocessor. This technique is especially useful for enabling acceleration of MPEG-4 video decoding utilizing existing coprocessors capable of accelerating MPEG-1/2 video decoding.Type: ApplicationFiled: December 14, 2001Publication date: June 19, 2003Inventors: Rohit Garg, Chris Yoochang Chung, Coskun Mermer, Donglok Kim, Yongmin Kim