text:
|Publication number
|Publication type
|Application number
|Publication date
|Nov 28, 2006
|Filing date
|Jul 31, 2002
|Priority date
|Jul 31, 2001
|Fee status
|Also published as
|Publication number
|Li Sha, Shuhua Xiang, Yaojun Luo, He Ouyang
|Original Assignee
|Micronas Usa, Inc.
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (38), Referenced by (28), Classifications (11), Legal Events (7)
|External Links: USPTO, USPTO Assignment, Espacenet
This application claims priority under 35 U.S.C. � 119(e) to U.S. Provisional Patent Application Ser. No. 60/309,239, entitled "Video Processing System with Flexible Video Format", filed on Jul. 31, 2001, the subject matter of which is incorporated by reference in its entirety herein.
1. Field of the Invention
This invention relates generally to video data processing, and more particularly, to a video input processor to pre-process different formats of video data including video format conversion, color space conversion, and multiple video input enhancement processing prior to video compression.
2. Description of the Related Art
As digital video applications become increasingly popular, there is a strong demand that video processing technologies be capable of dealing with a wide variety of video data or signals generated from different video sources.
For example, under CCIR (Consultative Committee for International Radio) 601, a NTSC television system outputs interlaced video signals at a resolution of 720�485 pixels with a frame rate of 30 fps (frame per second); a PAL system outputs interlaced video at a resolution of 720�576 pixels with a frame rate of 25 fps. Another common video format is the YUV 4:2:2 interfaced or progressive video, which is typically 8 bit video stream. If the video source is a CMOS sensor, the input video may be in a RGB Bayer format.
Conventional video processing technologies often lack the ability to process different video formats. For example, in the area of digital video compression, conventional techniques can only encode one specific format of video source in most of circumstances. To compress input video in different formats, conventional video compression techniques have to design different hardware or software modules dedicated for processing each different format. For example, if the video compression processor receives RGB Bayer input video, a specially designed hardware device needs to be developed to convert RGB Bayer data into RGB video; if the input is YUV interlaced video data, another specially designed hardware device has to be developed. Such specially designed hardware devices make processing different video data formats very expensive.
Further, conventional video processing technologies fail to provide optimal video encoding methods. For example, in the color space conversion field (i.e., converting RGB data into YCrCb or YUV component video), a conventional algorithm needs 12 clock cycles to complete the conversion process. It is desirable to design a new algorithm that requires fewer clock cycles to process and convert the video data.
In addition, a video input processor in conventional video processing systems does not have functions to enhance video or adapt to video compression needs, such as video filtering and video scaling.
Accordingly, what is needed is a video input processor capable of supporting multiple input video formats in a cost-effective manner and providing optimal algorithm for color space conversion. There is also a need for a video input processor that provides multiple pre-compression processing steps to enhance the video compression.
The present invention overcomes limitations and disadvantages of conventional video input processors used in video compression systems. In one embodiment, the present invention provides a video input processor including a format converter and a color space converter.
The video input processor is capable of handling multiple input video formats without the need of extra hardware. The format converter within the video input processor advantageously converts RGB Bayer video signals into GRB 4:1:1 video signals; it also converts YUV (YCrCb) 4:2:2 video signals, both progressive and interlaced video, into the YUV 4:1:1 video signals.
The video input processor further provides color space conversion to convert video data in RGB color space into YUV (or YCrCb) video using fewer clock cycles than the conventional approach.
In additional embodiments, the video input processor performs multiple pre-compression processing steps. The video input processor enhances the input video by filtering high frequencies in input video images. The video input processor also uses scaling and interpolation techniques to adapt to different video output requirements.
The features and advantages described in the specification are not all inclusive, and particularly, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims hereof. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter, resort to the claims being necessary to determine such inventive subject matter.
Reference will now be made in detail to several embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Wherever practicable, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
Note that in describing different video formats, the YUV video format is frequently mentioned and used throughout the specification. It is common knowledge that YUV is a video color model in which luminance information (Y) is separated from chrominance information (U and V). Such YUV video components are often written in a variety of ways: (1) Y, R-Y, B-Y; (2) Y Cr Cb and (3) Y Pa Pb, etc. The following description of YUV video should be understood as applied to all compatible and derivative digital video formats.
The source 12 may be a multitude of devices that provide a digitized video bit stream (data stream). One example of a source device includes a Complementary Metal Oxide Semiconductor (CMOS) device or Charge Coupled Device (CCD) sensor like that used in a digital camera and PC camera. Another source device that may work suitably well with the present invention, and included by way of example, is the Philips 711x video digitizer and processor chip. By way of background information, in a digital camera, CCDs can be analogized to operating like film. That is, when they are exposed to light, CCDs record the intensities or shades, of light as variable charges. In the field of digital cameras, the charges are converted to a discrete number by analog to digital converters. It will be recognized that other types of sources capable of generating a digitized video bit stream may work suitably well with the present invention, including sources in the nature of a personal video recorder, a video-graphics capture and processor board, and a digital CAM recorder.
In general, the source 12 generates an uncompressed video data bit stream on the signal line 14, which may be of multiple formats. By way of example, the format of data stream can comply with the CCIR (Consultative Committee for International Radio, now ITU-R) 601 recommendation which has been adopted worldwide for uncompressed digital video used in studio television production. This standard is also known as 4:2:2. Also, the data stream may be formatted according to the parallel extension standard, namely CCIR 656 with PAL and NTSC, which had been incorporated into MPEG as the Professional Profile. CCIR 656 sets out serial and parallel interfaces to CCIR 601. Other suitable video formats include: YUV 4:2:2 interlace; 8-bit YUV with Vsysnc/Hsync/Fodd or Vref/Href format, interlace and progressive; 10-bit RGB Bayer with Vsync/Hsync CMOS sensor format. The support size can vary from 352�288 to 720�480 (30 fps) or 720�576 (25 fps), while the support input frame rate can vary from 10fps to 30fps.
It is noted that these values are provided by way of example, and that the invention is not limited to these formats and parameters, and may work suitably well with other types of formats and parameters. When the data stream includes an audio component, the format of the data stream could also be in IIS (inter IC signal) format. Of course, the appropriate IIS data rates, which typically are at speeds of several Mbits/second, may be selected for transferring audio data. It will be appreciated that CCIR 656 and IIS are only examples of possible digital data formats, and that other formats are equally possible. The video input processor 16 includes necessary ports and circuitry to receive the incoming (video and/or audio) signal and to buffer data from such signal.
The base platform 11 is preferably a general microprocessor-based computing system. In one implementation, the electronics of platform 11 are implemented as a single ASIC incorporating a processor 18, a bus and interrupt controller 20, the memory device 22 (which is shown as being external to platform 11 in
By way of example, suitable general parameters for choosing a low cost RISC CPU 18 include a 16-bit arithmetic logic unit (ALU), an 18-bit instruction set, and an operating speed of up to 100 MHz. Exemplary applications suitable for the incorporation of system 10 include digital video recorders, remote video surveillance systems, video capture boxes, small portable handheld devices such as digital cameras, multimedia-enabled cellular phones and personal digital assistants (PDAs), and other media-based devices and appliances. The (XRISC) bus and interrupt controller 20 handles the workflow of the data and control signals for the computing processes of CPU 18, including for example, handling hardware and software interrupts, as well as those I/O signals generated.
The memory device 22 may be any suitable computer memory device for storing picture data, such as a video random access memory (VRAM) or dynamic RAM (DRAM) device, under the control of memory device controller 24. The memory device 22 may be integrated into the platform 11 or located externally thereto. In one embodiment where the memory device 22 is a DRAM, the controller 24 is selected to be a corresponding DRAM controller performing the physical transfers of data between the memory device 22 and the multichannel controller 26. In this embodiment, the controller 26 may be a DMA controller selected to accommodate any suitable number of DMA channels used to transfer the retrieved video data into packed pixel format or planar bit maps, typically from the memory device 22 to each data block for processing by the MEC engine 38.
By way of example, the DMA controller 26 may use 8, 32 or any other number of channels, to transfer data from the DRAM 22 to each data block without necessarily utilizing the processing resources of the CPU 18. In one embodiment, the DMA controller 26 is designed as a two-dimensional controller, operating on at least an instruction of pre-specified length, along with a start command, and source address. The multi-channel DMA controller 26 can include a plurality of channels, each with configuration registers holding information, such as the start address of data, the end address of data, the length of data transferred, type of stop transfer mechanism, and the source address of the data. Alternatively, the multi-channel controller 26 may facilitate the transfer of data from the I/O block 28 to the MEC engine 38, including by way of example, data from a host bus 21 coupled to the I/O interface 28.
The I/O interface 28 couples the system 10 to various external devices and components, referred to as hosts 25, using a variety of data standards and formats. For example, the I/O interface 28 can include an output format along host bus 21 compatible with: a Peripheral Component Interconnect (PCI) bus typically having a wider bandwidth than the traditional ISA bus, and allowing peripherals to transfer data at higher speeds; a Universal Serial Bus (USB) hardware interface for low-speed peripherals such as the keyboard, mouse, joystick, scanner, printer and telephony devices, and also MPEG-1 and MPEG-2 digital video; IIC (inter IC control); and Host Parallel Interface (HPI). These types of ports in I/O interface 28 are only examples of possible port data formats, and other formats are equally possible.
I/O interface 28 can be coupled to a variety of different hosts 25, including for example, PCs, applications supported by network enabled systems, servers, high quality PC video cameras for video conferencing, video recorders, video capture boards for MPEG-1, MPEG2, MPEG-4, H.263 and H.261, IP based remote video surveillance systems, video capture boxes for time shifting purposes, network computing systems, mobile visual communication, wireless communication by MPEG-4 over CDMA, and PDA enabled with multimedia features. Hosts 25 may include driver level transcoding software to convert the compressed stream of data from I/O block 28 into MPEG-1, MPEG-2, MPEG-4, H.263, by way of example.
Extensible program interface 30 enables data to be loaded into the system 10 from a flash memory device 23. A flash memory device 23 typically stores its content without the need for power, and unlike a DRAM, it is a non-volatile storage device. Any number of suitable flash memory 23 devices may be used with the present invention, such as digital film in a PC card, a flash ROM, memory stick formats, and SmartMedia.
The scheduler 32 is coupled to the control bus 34 to provide a timing mechanism for scheduling and enabling activation of components in the system 10. An exemplary scheduler 32 for enabling the scheduling and synchronization of operations and data transfers at specific predetermined times in an operational cycle is disclosed in commonly-assigned copending U.S. patent application Ser. No. 10/033,857, filed on Nov. 2, 2001, entitled "Video Processing Control and Scheduling", by Sha Li, et al., the subject matter of which is herein incorporated by reference in its entirety.
The video input processor 16, the scheduler 32, the bus and interrupt controller 20 and multichannel controller 26 are coupled to one or both of the control bus 34 and the data bus 36. According to one implementation, the data bus 36 is a DMA bus. However, the data bus 36 may be any suitable digital signal transfer device, including an Industry Standard Architecture (ISA) bus, an Extended ISA (EISA) bus, a PCI bus, or a VL bus. When the data bus 36 is a DMA data bus, after initialization and during active capturing of the incoming video signal, the DMA controller 26 requests the DMA bus 36, and after acquiring the bus 36, will perform burst writes of video data to the memory 22 to be described further with the MEC engine 38. In the particular implementation, the data bus 36 is selected to be 36 bits, which is a suitable width for VLSI, ASIC and SoC applications. It will be recognized that overflow handling capability can be designed with the controller 26 in the event that excessive bus latency is experienced.
The front end 13 includes a motion estimation and compensation (MEC) engine 38, a stream buffer 40, a discrete cosine transformer (DCT) and inverse DCT unit 42, a macroblock SRAM 44, buffers such as block SRAMs 41 and 43, a quantizer and dequantizer 46, and a variable length coding (VLC) encoder 48. The DCT/IDCT 42 provides block-based orthogonal transformation of a block of picture elements to a matrix of spatial frequency coefficients in order to reduce spatial redundancy, typically after motion compensation prediction or interpolation. By way of example, the internal accuracy of the DCT/IDCT 42 can be 17 bits, with a DCT output saturated to 8 bits or 12 bits.
One aspect of the DCT/IDCT 42 is to provide a very small error over the ideal floating model, and to reduce the mis-match of decoding function to be as small as possible. The quantizer/dequantizer 46 provides further data compression when mapping the data to a representation that strips away unnecessary information, in general, based on zigzag scans over the macroblock. The macro-block SRAM 44 is a memory device for storing the picture data used by the front end 13. The block SRAMs 41 and 43 are shown as separate modules in
The VLC encoder 48 provides lossless coding to assign shorter code words to events occurring frequently and longer code words to events occurring less frequently. The use of a VLC is typically useful for reducing the number of bits used during encoding and video compression of motion data. The transform coefficients are quantized and the quantization label encoded using a variable-length coding.
Those skilled in the art will recognize that the blocks of
Reference is now made to
In accordance with the present invention, the VIP 16 is capable of converting input video signals of different formats into a same format. For the purpose of the description of the present invention, the format refers to a ratio between the different video components of the input video data, e.g., the primary color components, Red, Green or Blue, or the luminance component Y or chrominance components U, V (Cr, Cb). As shown in the table below, irrespective of the video format of the input video generated by the source 12, the VIP 16 uses the same hardware architecture to convert input video of different formats into a similar YUV 4:1:1 format, which is often preferred by most video compression systems. The VIP 16 is also capable of using a plurality of techniques to pre-process the input video signals from the source 12 to achieve desirable output video signals. For example, a preferred embodiment of the VIP 16 can perform sub-windowing, video scaling and video filtering operations upon the input video signals received from the source 12. All these operations can either adapt to video output requirements or lessen the computing burdens in subsequent video compression stage.
Video input signal received
Video output signal of
from the source 12
the VIP 16
RGB Bayer
YUV 4:2:2 interlaced
YUV 4:2:2 progressive
As shown in
The sensor interface block 57 is coupled to the source 12 through a signal line 14 to receive input video signals. The sensor interface block 57 saves the input video signals into the input data buffer 56 through a signal line 199. The input data buffer 56 is coupled to the main block 300 through a signal line 200. The main block 300 loads the input video signals stored in the buffer 56 via the line 200 and performs pre-compression processing as described below in detail. To output the results of pre-compression processing, the main block 300 is coupled to the output data buffer 55 through a signal line 203 and saves the results into the output data buffer 55. The output of the VIP 16 will eventually be loaded into the filtering/output block 54 via a signal line 317 and be sent to the data bus 36 through a signal line 319. The output of the output data buffer 55 is also sent back to the main block 300 via signal line 317 so that the main block 300 may use the data from the output data buffer 55 to calculate a QY value and to perform scaling functions as described in more detail below.
Corresponding to the data flow as described above, the control of the pre-compression process in the VIP 16 is mainly accomplished through CBUS register block 307 and the scheduler interface 305. The CBUS register block 307 receives control signals from the control bus 34 and also sends information to the control bus 34. Additionally, VIP 16 sends interrupts from the sensor interface block 57 and the filtering/output block 54 on signal lines 325 and 327 respectively to the control bus 34. These interrupt signals are then received from the control bus 34 and processed by the XRISC Bus� and Interrupt Controller 20. The CBUS register block 307 is also coupled to an internal control bus 321. The sensor interface block 57, the main block 300 and the filtering/output block 54 are all coupled to the internal control bus 321 to receive control information from the CBUS register block 307 as will be further described below.
The scheduler interface 305 is coupled to the scheduler 32 of the system 10 to receive scheduling commands through a signal line 326 from the control bus 34. The scheduler interface 305 is then coupled to the main block 300 via a signal line 301 and coupled to the filtering/output block 54 via a signal line 323 respectively. As will be further described, the scheduler interface 305 will deliver information to the two blocks 300 and 54 dictating time windows for each block's operation.
Internally, the main block 300 is coupled to the sensor interface block 57 via a signal line 311 to read signal-valid information for coordinating its pre-compression processing. The main block 300 also communicates with the filtering/output block 54 through a signal line 309. As will be further described, the main block 300's state machine will send signals to coordinate the operation of a sub-state machine within the filtering/output block 54.
More specifically, the sensor interface block 57 contains a FIFO input address generator block (not shown in
Preferably, the sensor interface block 57 is capable of sub-windowing input video signals received from the source 12. The conventional video source 12 often lacks the ability to adjust the image size of the video that it generates. The sensor interface block 57 compensates for this deficiency by enabling image cropping before the input video signals are stored in the input buffer 56. For example, each frame of the input video is in a resolution of 640�480 pixels, but only a smaller area of the video frame, e.g., 500�400 pixels, will be compressed. In this example, the sensor interface 57 scans each row of the input video and only allows the video data corresponding to a selected area to be stored to the buffer 56. The size of the selected area and the starting pixel on the frame are determined by control signals received from the CBUS register block 307. Upon completion of sub-windowing a frame, the sensor interface 57 may notify the CBUS register block 307 via line 329 to increase the frame number to process the next frame. By sub-windowing the input video signals, the VIP 16 enables the video compression system 10 to work with a wide variety of video sources having different video capturing capacity. It also results in a substantial reduction of video data to be compressed.
The input data buffer 56 stores the output of the sensor interface block 57. In one embodiment, the input data buffer 56 is a 4-line SRAM and each line in the buffer 56 is in a size of 8�1024 bytes. Thus, every line stores a complete row of an input video frame.
The data stored in the buffer 56 is further loaded into the main block 300. In a preferred embodiment, the core functions of the main block 300 include video format conversion, color space conversion and video scaling. As will be described in detail, the main block 300 advantageously uses the same hardware configuration to deal with input video signals of different format. As a result, the output of the VIP 16 achieves a uniform video format for the ensuing video compression stage irrespective of the input video format. In accordance with another aspect of the present invention, the main block 300 is also capable of computing important parameters QY that will be used in MEC 38. QY is typically calculated as the average value of a 4�4 block of Y pixels, and will be discussed in further detail below. According to the commonly assigned and co-pending U.S. patent application Ser. No. 09/924,079, entitled "Cell Array and Method of Multiresolution Motion Estimation and Compensation", which is incorporated by reference in its entirety, a preliminary motion vector is determined by searching on a smaller picture size (i.e., subsampled pixels at a size of Q) of an entire video frame. It is useful to provide QY to the MEC engine 38 to facilitate the motion estimation and compensation process.
The output of the main block 300 is stored in the output data buffer 55. In one embodiment, the output buffer 55 is a 64�1024 byte buffer with an 8�8 partial write enabled. Each part of the buffer 55 (8b�768) of Y area stores a complete row of output Y (maximum 720 pixels). Each part (8b�768) of UV area stores a complete row of output UV (maximum 720 pixels, interleaved). Each part (16b�256) of QY area stores a complete row of output QY (maximum 180 pixels).
The filtering/output block 54 reads data from the output data buffer 55, provides the data to the data bus 36 via 319, which can be received by the memory device 22 under the control of the DMA controller 26. The detail of the control of DMA controller 26 and DMA channels is disclosed in the commonly-assigned copending U.S. patent application Ser. No. 10/033,324, entitled "M
The CBUS register block 307 contains a plurality of parameter registers, which are programmed by the XRISC 18 to control the VIP 16's behavior. In one implementation approach, there are 16 16-bit parameter registers, providing working mode configuration parameters of the VIP 16. For example, one parameter register corresponds to scheduler setup parameter, which indicates a description of various output tasks of the VIP 16. One set of parameters includes sensor setup parameters, which specify the features of the source 12, such as what kind of video format the source 12 provides, YUV interlace or RGB bayer, etc. These registers may not change for a fixed device system 10 and may be set up only at a boot-up stage.
Another set of the parameters includes video initial configuration parameters, such as a sub-windowing enabling signal and a video scaling enabling signal. These parameters may be changed for different encoding task initializations and may also be set up at the boot-up stage. Other sets of such parameters in the block 307 may include run-time configuration parameters and control signals. These parameters may be changed during an encoding task and as a result, they may be set at any time by the XRISC 18. In addition, the block 307 can also contain control parameters such as sub-windowing starting and finishing positions, and video scaling parameters. To program the registers described above, the XRITSC 18 controls the communication process between the control bus 34 and the registers in the block 307.
The scheduler interface 305 is coupled to the CBUS block 307. During the operation, the scheduler interface 305 selects a task descriptor from a CBUS block 307 register based on a scheduler command, which should indicate an output task of the VIP 16. The scheduler interface 305 then notifies a main state machine, which is preferably located at the main block 300. Such main state machine controls the time information for the different components in the VIP 16. In one implementation, the VIP 16 works in 3 kinds of time domains: the sensor interface block 57 preferably keeps working all the time to process the input video signals; the main block 300 only works during non-output windows, which are assigned by the scheduler 32 through the scheduler interface 305; and the filtering/output block 54 only works at an output time window based on the commands of the scheduler. The detailed description of the scheduling process is disclosed in the commonly-assigned copending U.S. patent application Ser. No. 10/033,857, entitled "Video Processing Control and Scheduling", by Sha Li, et al., the subject matter of which is herein incorporated by reference in its entirety.
The format converter 51 is coupled to the input data buffer 56 through the signal line 200 and loads video data from the input data buffer 56 for format conversion. In one preferred embodiment, the format converter 51 handles the conversion from RGB bayer to GBR 4:1:1 format, and de-interlaces the YUV 4:1:1 interlaced signal. The format conversion substantially reduces the amount of video data required to be processed in video compression and also improves the efficiency of the ensuing color conversion process. Deinterlacing helps to generate a YUV 4:1:1 video data based on any input YUV 4:2:2 signal. Such a YUV 4:1:1 video data is preferred by many video compression technologies, e.g., MPEG 1 and MPEG 2, because of its good resolution and data bandwidth. By doing so, the format converter 51 enables the VIP 16 to use a streamlined architecture to cope with multi-format video data and to convert them into preferred digital video format prior to video compression.
The video data after format conversion is subsequently transferred to the color space converter 52 through a signal line 201 for RGB-to-YUV color space conversion under the control of the state machine 50. The color space converter 52 may use a conventional algorithm to complete the RGB-to-YUV processor. In a preferred embodiment however, the color space converter 52 uses a new algorithm to convert RGB video data into YUV 4:1:1 video data as will be described below. If the output of the format converter 51 is already in YUV 4:1:1 format, the video data will not need color space conversion. Under the control of the state machine 50, the YUV video data instead directly passes through the color space converter 52 and is received by the scaler 53 through a signal line 202.
The scaler 53 may be of a conventional nature. Specifically, the scaler 53 may perform horizontal and/or vertical scaling. In a-preferred embodiment, the scaler 53 also handles calculating QY for the use of MEC engine 38. The scaler 53 stores its output through the signal line 203 in the output buffer 55. More specifically, the scaler 53 is adapted to the needs of the VIP 16. The scaler 53 receives control signals from the state machine 50 and the CBUS register block 307 to perform horizontal or vertical scaling operations. The scaling process results in substantial benefits in reducing data computing tasks in the video compression process. For example, the output image size of compressed video only needs to be 320�240 pixels while the image size of the sub-windowed input video is 500�400 pixels. In this situation, the scaler 53 scales the input video data proportionally so that the video compression does not need to process all of the 500�400 pixels on the input video. In one approach, the scaling process is implemented using digitizers to average or filter neighboring pixels or lines with multitap filters.
In another embodiment, the scaler 53 zooms video picture according to actual output requirements. The zooming can be done by doubling or quadrupling pixels and lines producing strong pixelization and jaggies. In another approach, interpolation techniques can be used to interpolate missing pixels by averaging their surrounding pixels. By doing so, the scaler 53 enables the VIP 16 to provide more functions for the entire video compression system 10. Utilizing pixel-doubling, pixel-quadrupling, or interpolation techniques during scaling is known and one skilled in the art will recognize that other scaling techniques may also be used in scaler 53 without exceeding the scope of the present invention.
Still in another embodiment, the scaler 53 computes and outputs a value referred to as QY. The QY is used by the Motion Estimation and Motion Compensation (MEC Engine) 38. As mentioned above, the detailed description of the parameter is described in the U.S. patent application Ser. No. 09/924,079, entitled "Cell Array and Method of Multiresolution Motion Estimation and Compensation", filed on Aug. 7, 2001, which is incorporated by reference in its entirety. As noted above, QY is calculated as the average value of 16 Y pixels.
After the output data is filtered and sent to the data bus 36 by the block 54, the state machine 50 resumes the operation of the main block 300 once the scheduler 32 assigns a non-output window time (state 406). During the non-output window time, the state machine 50 issues control signals to the format converter 51, color space converter 52 and scaler 53 to process video data blocks from the input buffer 56.
Starting on a new line (following the progress of states 403 to 405 to 406 as illustrated in one embodiment), the state machine loads a first block of the video data in state 409. In the next state 411, if the first block requires format conversion, it is converted to GBR 4:1:1 format. In an alternate embodiment, the format converter 51 may be used to convert a YUV 4:2:2 block into YUV 4:1:1. State 411 also loads a second block of video data. If the input video data does not require format conversion, the state machine 50 may skip state 411 and will not instruct the format converter 51 to convert any of the video data.
State 413 loads a third block of video data, format converts the second block of video data as required, and converts the color space of the first block of video data into a YUV 4:1:1 format via color space converter 52. If the first block does not require conversion into YUV 4:1:1 format, then state 413 may be skipped, and the color space converter 52 would not be used.
State 415 represents the state when every required part of the VIP 16 is actively processing a video data block. In one embodiment, this means that data is being loaded, format converted, color space converted, and scaled. Initially, state 415 loads a fourth block of video data, converts the format of the third block as required, converts the color space of the second block and scales the first block via scaler 53 as required. Additionally, a QY value may be generated based on the first block. State 415 is repeated with each successive block moving through the pipeline until the video data is almost completely processed.
When two blocks are left, the state machine 50 may enter state 417. State 417 may be considered a "finish up state" in which the VIP 16 begins to finish processing the data in the pipeline, but does not continue to fill the pipeline. As a result, the format converter 51 is not needed and may be disabled. At this point, no additional data is loaded, and no further blocks are format converted. Assuming there are n blocks in the video data, with the nth block being the final block, then in state 417 the n−1 block is scaled while the nth block is color converted. The state machine 50 then transitions to a second "finish-up" state 419 where the nth block is scaled and the state machine 50 transitions back to state 403 to begin a new line as required.
Note that during the above-described states 409–419, the state machine 50 may suspend each state when the output time window starts and may resume each state when the non-output time window starts. During the output window, the state machine 50 may send a control signal to transfer the scaled data to be stored into the output buffer 55. As discussed above, this data may also be filtered.
If the video data output by the format conversion 62 is still in RGB format, the RGB video data is converted 63 into YUV color space. As described below in detail, a method is provided in the color space converter 52 to simplify the conventional color space conversion algorithm. As a result, the present invention effectively improves the efficiency of the color space conversion and reduces the hardware or software implementation requirements.
The video data in YUV color model may be further enhanced or changed according to the needs of video compression or output requirements. The video scaling step 64 is provided to scale the output video images to a smaller size. In an alternate embodiment, the scaling step 64 provides for zooming video picture on playback.
In accordance with the present invention, there is also provided a step 66 of generating the special value QY for motion estimation and compensation. As mentioned above, the detail of the use of the QY is described in the U.S. patent application Ser. No. 09/924,079, entitled "Cell Array and Method of Multiresolution Motion Estimation and Compensation", which is incorporated herein by reference in its entirety.
Further, a video filtering step 65 reduces sharp edges in any input video images to improve the quality of the video images. The processed video data will have a lower SNR (signal noise ratio) so that the following video compression can be more efficiently performed.
As an example, in
In particular, each of the registers 420–435 is coupled to the MUXS 85–88 through an 8-bit wide signal line. Thus, the overall data input to each MUX 85–88 is concatenated 128-bit wide data stream. As will be described below, at an operational sub-state of the format converter 51, each MUX 85, 86, 87, 88 will receive a control signal to select a portion of the 128-bit data stream corresponding to one of data registers 420–435 to enter the logic 84 for processing.
To receive data from the registers 420–435, the logic 84 has four inputs 68–71 coupled to the MUXS 85–88 respectively. Specifically, the inputs of the comparer 90 a and 90 b are respectively coupled to the four MUX 85–88. As shown in
Further, within the logic 84, the register BP_La 436's input is coupled to the comparer 90 a's output 72 and the BP_Sa 437's input is coupled to the comparer 90 a's output 73. In one embodiment, the BP_La 436 stores the data that is larger between the inputs 68 and 69 and the BP_Sa 437 stores the data that is smaller. Likewise, a first output 74 of the comparer 90 b is coupled to the register BP_Lb 438 and a second output 75 of the comparer 90 b is coupled to the input of the register BP_Sb 439. In one embodiment, the BP_Lb 438 stores the larger value between the inputs 70 and 71 and the BP_Sb 439 stores the smaller value.
Still referring to the logic 84 in
With respect to control signals received by the format converter 51,
The control signal from the CBUS register block 307 may contain information from its parameter registers such as (1) whether the input data from the buffer 56 is YUV or RGB; (2) whether the video data is YUV interlaced or progressive; and (3) whether the RGB Bayer video is in a data block of GB, GR, BG, or RG.
The state machine 50 sends latch signals to the registers 420–435 to load data from the input data buffer 56 to the registers 420–435. The addresses of the data can be provided by the sensor interface 57 via 311. Other control signals from the state machine 50 includes signal indicative of sub-states that are used to perform each step of format conversion as illustrated below in more detail. The control signals from the state machine 50 may also include signals indicative of block information of the input video signals, e.g., whether a YUV interlaced block starts from an even or an odd double-line.
To determine which of the 16 RGB Bayer pixels in registers 420–435 are sent to the logic 84, the MUXS 85–88, each of which is coupled to all of the 16 data registers 420–435, receive control signals 440–443 respectively from the state machine 50 to select data. In one example, the MUX 85 receives the control signal 440, which indicates a register from 420–430 that should send data to the comparer 90 a through the input 68. As will be further described below, the control signals 440–443 enable a selection of different combinations of input video data to perform the format conversion, including RGB bayer processing and YUV deinterlacing.
According to the present invention, the logic 84 implements an algorithm of the format conversion. In one embodiment, the logic 84 is a mix of low pass and high pass filters. The logic 84 compares the data value on the four inputs 68–71 selected by the MUXS 85–88 to filter out the highest and the lowest value of the input video data. The remaining intermediate values are averaged to generate an output of the logic 84. In other words, the logic 84 is designed to implement a function f(a, b, c, d)=(b′+c′)/2, where {a′, b′, c′, d′} is rearranged from {a, b, c, d} meeting the condition a′>=b′>=c′>=d′ or a′<=b′<=c′<=d′. The variables a, b, c and d in the function f correspond to the data on respective inputs 68, 69, 70, and 71. The variables b′, c′ correspond to the inputs 80 and 81 that are coupled to the mean generator 83. The output of the format converter 51 corresponds to the result of the function f, i.e., the value of (b′+c′)/2.
Note that the four inputs 68–71 are used to illustrate the process in
By way of example exemplifying an implementation of the function f through the logic 84, consider four pixel values D0, D1, D2, and D3, where D0>D1>D2>D3. The comparer 90 a compares the first two video pixels, e.g., D0 and D1, received on the inputs 68 and 69 and outputs the greater one between D0 and D1 for storage in the register BP_La 436 and outputs the smaller one to the register BP_Sa 437. Assuming D0 is greater than D1, the BP_La 436 stores D0 and BP_Sa 437 stores D1. The comparer 90 b compares the remaining two video pixels on inputs 68 and 69, e.g., D2, D3, and then outputs the greater number to the register BP_Lb 438 and the smaller one to the register BP_Sb 439. Assuming D2 is greater than D3, the BP_Lb 438 stores D2 and the BP_Sb 439 stores D3. Further, the comparer 90 c compares D0 and D2 upon receiving data from its inputs 76 and 77. Assuming D0 is greater than D2, the smaller of the two inputs 76 and 77, D2, is sent to the mean generator 83 through the output 80. The comparer 90 d compares D1 and D3 upon receiving data from its inputs 78 and 79. Assuming D1 is greater than D3, the greater of the two inputs 78 and 79, D1, is output to the mean generator 83. The mean generator 83 therefore generates an average value of the inputs 80 and 81, i.e., the average of D1 and D2.
Note that in the case where any input data to be compared by the comparers 90 a–90 d are equivalent, the comparers 90 a–90 d may be configured to select any of the equivalent inputs as its outputs to registers 436–439 or the mean generator 83.
To exemplify the video format conversion in more detail,
G′ 12 =f(G 12 , G 12 , G 12 , G 12)=G 12; (1)
G′ 11 =f(G 12 , G 21 , G 10 , G 01); (2)
G′ 22 =f(G 12 , G 21 , G 32 , G 23); (3)
G′ 21 =f(G 21 , G 21 , G 21 , G 21)=G 21; (4)
B′=f(B 11 , B 11 , B 13 , B 31); (5)
R′=f(R 22 , R 22 , R 20 , R 02). (6)
As understood above, the variables in the function f are selected from the registers 420–435. Each result in the above (1)–(6) is an output of the format converter 51 in response to the inputs from the registers 420–435.
In one preferred embodiment, to perform the format conversion in (1)–(6), the state machine 50 may use 11 sub-states to complete the format conversion for the block 95 a. With reference to the sub-state diagram in
After the data of the block 95 a is loaded into the registers 420–435, the function f as shown in (1)–(6) will be performed in each of the sub-states 504–507 to generate the desired value. More specifically, in the sub-state 504, to generate G′12 according to formula (1), the MUXS 85–88 receive control signals from the state machine 50, which dictate selecting data G12 as the input on all signal lines 68–71. As a result, the operation of the logic 84 will generate a G′12 on the output 201, which should equal G12 based on the above description of the algorithms implemented by the logic 84.
In the sub-state 505, to calculate G′11, as shown in (2), the state machine 50 dictates that G12, G21, G10 and G01 are selected from the data registers 429, 426, 421, 424 respectively through the MUXS 85–88. The logic 84 thus receives the four inputs G12, G21, G10 and G01 and compares them according to the operation of function f. By way of example, if G12 is the maximum and G01 is the minimum among the four, inputs, G′11 will be the average of G21 and G10 and output on the signal line 201.
In a similar process, G′22, G′11, B′ and R′ can be respectively generated in the sub-states 506–509 by selecting data from corresponding registers and performing the function f. By doing so, the input RGB Bayer video data in GB pattern is successfully converted into GBR4:1:1 video data, i.e., G′12, G′11, G′22, G′21, B′ and R′. In other words, each pixel on the input 2�2 pixel block 97 a is now represented by the video format 4(G′12, G′11, G′22, G′21,)1(B′)1(R′) pixel data 96 a.
In addition, as a benefit provided by the present invention, the format converter 51 can also compute an average of Green components of the RGB Bayer or RGB data. Using the above example in
G′=f(G 12 , G 12 , G 21 , G 21)=(G 12 +G 21)/2 (7)
As will be discussed in greater detail below, the average value G′ of Green color components in RGB data pattern benefits the process of converting RGB color space into YUV color space. The derived G′ in the format converter 51 will reduce calculations that are needed in conventional algorithm. Thus, the VIP 16 obtains more efficient performance in its color space conversion.
Similarly, the format converter 51 may convert other data patterns of RGB Bayer video data into a GBR 4:1:1 format, such as GR, BG and RG data pattern.
To generate the 4(G):1(B):1(R) video data, the format converter 51 is configured to select proper inputs and perform the function f as follows:
G′ 12 =f(G 12 , G 12 , G 12 , G 12)=G 12; (8)
G′ 11 =f(G 12 , G 21 , G 10 , G 01); (9)
G′ 22 =f(G 12 , G 21 , G 32 , G 23); (10)
G′ 21 =f(G 21 , G 21 , G 21 , G 21)=G 21; (11)
B′=f(B 22 , B 22 , B 02 , B 20); (12)
R′=f(R 11 , R 11 , R 13 , R 31). (13)
By selecting the variables a–d in function f as shown in the formula (8)–(10), the G′12, G′11, G′22, G′21, B′, R′ are generated in each sub-state as dictated by the state machine 50. The outputs of the format converter 51 will then be used to represent the data pixels in the pixel block 97 b.
To generate the 4(G):1(B):1(R) video data, the format converter 51 is configured to select proper inputs and perform the function f as follows:
G′ 12 =f(G 02 , G 13 , G 22 , G 11); (14)
G′ 11 =f(G 11 , G 11 , G 11 , G 11)=G11; (15)
G′ 22 =f(G 22 , G 22 , G 22 , G 22)=G 22; (16)
G′ 21 =f(G 11 , G 22 , G 31 , G 20); (17)
B′=f(B 12 , B 12 , B 10 , B 32); (18)
R′=f(R 21 , R 21 , R 01 , R 23). (19)
Again, by receiving proper inputs as shown in (14)–(19), the format converter 51 performs the function f at each state. Its output, the G′12, G′11, G′22, G′21, B′, R′, will then be available for representing the data pixels in the pixel block 97 c.
To generate the 4(G):1(B):1(R) video data, the format converter 51 is configured to select proper inputs and perform the function f as follows:
G′ 12 =f(G 02 , G 13 , G 22 , G 11); (20)
G′ 11 =f(G 11 , G 11 , G 11 , G 11)=G 11; (21)
G′ 22 =f(G 22 , G 22 , G 22 , G 22)=G 22; (22)
G′ 21 =f(G 11 , G 22 , G 31 , G 20); (23)
B′=f(B 21 , B 21 , B 01 , B 23); (24)
R′=f(R 12 , R 12 , R 10 , R 32). (25)
By doing so, the data corresponding to G′12, G′11, G′22, G′21, B′, R′ are generated to represent the data pixels in the pixel block 97 d.
The examples in
As shown in
In one embodiment, to convert the YUV 4:2:2 pixel data 99 into YUV 4:1:1 color model, the control signals from the state machine 50 instruct the logic 84 to perform the following actions:
Y′ 1a =f(Y 1a , Y 1a , Y 1a , Y 1a)=Y 1a; (26)
Y′ 1b =f(Y 1b , Y 1b , Y 1b , Y 1b)=Y 1b; (27)
Y′ 2a =f(Y 2a , Y 2a , Y 2a , Y 2a)=Y 2a; (28)
Y′ 2b =f(Y 2b , Y 2b , Y 2b , Y 2b)=Y 2b; (29)
U′=f(U 1a , U 1a , U 2a , U 2a)=(U 1a +U 2a)/2; (30)
V′=f(V 1a , V 1a , V 2a , V 2a)=(V 1a +V 2a)/2. (31)
Similar to what has been described in
In one embodiment, to derive YUV 4:1:1 de-interlaced video, e.g., pixel data representing pixels on the two neighboring lines, line 2 and line 3, the control signals instruct the format converter 51 to do the following:
Y′ 2a =f(Y 1a , Y 1a , Y 3a , Y 3a)=(Y 1a +Y 3a)/2; (32)
Y′ 2b =f(Y 1b , Y 1b , Y 3b , Y 3b)=(Y 1b +Y 3b)/2; (33)
Y′3a =f(Y 3a , Y 3a , Y 3a , Y 3a)=Y 3a; (34)
Y′ 3b =f(Y 3b , Y 3b , Y 3b , Y 3b)=Y 3b; (35)
U′=f(U 3a , U 3a , U 3a , U 3a)=U 3a; (36)
V′=f(V 3a , V 3a , V 3a , V 3a)=V 3a. (37)
In the above formula, Y′2a, Y′2b, Y′3a, Y′3b, U′ and V′ (YUV 4:1:1) represent pixels on line 2 and line 3. By deriving YUV data for pixels on line 2, the input video data in YUV 4:2:2, is not only converted into YUV 4:1:1, but also is de-interlaced. For example, the format converter 51 is configured to select Y1a, Y1a, Y3a and Y3a through MUXS 85–88 to be the respective inputs of the logic 84 to generate Y′2a, which is the average value of Y1a and Y3b. Correspondingly, U′ is generated by sending the same data U3a to the four inputs of the logic 84 in one sub-state; V′ is generated by selecting V3a as the input to the logic 84 in another sub-state. By doing so, all the new YUV 4:1:1 data is generated to represent pixels 2 a, 2 b, 3 a and 3 b based on the interlaced input video data on line 1 and line 2.
Note that in alternate embodiments, the chrominance components U′ and V′ may also be configured as:
U′=f(U 1a , U 1a , U 3a , U 3a)=(U 1a +U 3a)/2; (38)
V′=f(V 1a , V 1a , V 3a , V 3a)=(V 1a +V 3a)/2. (39)
Thus, U′ is an average of U1a and U3a and V′ is the average of Via and V3a.
Again, the above example shows that the VIP 16 does not need any extra hardware to handle interlaced video data. The above examples in
As a brief summarization of the above examples,
It should be noted that the foregoing description of the format converter 51 and the examples of video format conversion process are not exhaustive of all the video formats that can be converted by the format converter 51. There are a variety of commonly used video formats that are related to RGB or YUV. One of ordinary skills in the art will recognize how to implement the method and use the format converter 51 to process these video formats into GRB 4:1:1 or YUV 4:1:1 prior to actual video compression.
It should also be understood that although the ratio 4:1:1 among digital video components is used for illustrating the video format conversion process, the present invention does not limit its application to one specific ratio. For example, the format converter 51 may be configured to convert different video inputs into a subsampling ratio 4:2:0. It is manifest based on the description of the present invention that the VIP 16 is capable of dealing with different video inputs and achieving desirable characteristics that benefit other related video conversion process and the following compression process.
As shown in
In one embodiment, the storage element 900 includes 13 registers, 901–913. These registers 901–913 are used to store input data, output data as well as intermediate data that participate in the process of converting GBR 4:1:1 into YUV 4:1:1. In one embodiment, each of the registers 901–913 is a 9 bit register. The registers 907, 908, 909, 910, 905 and 906, referred to as CC_G00, CC_G01, CC_G11, and CC_G11, CC_CB and CC_CR, respectively store the values G00, G01, G10, G11, B and R of the input GBR 4:1:1 video. By way of example, G00, G01, G10, G11, B and R may correspond to G′12, G′11, G′22, G′21, B′, R′ as generated in the process represented in
The registers 901–904, referred to as CC_Y00, CC_Y01, CC_Y10, and CC_Y11, respectively store the value of luminance components Y00, Y01, Y10, and Y11, of the YUV 4:1:1 output. Registers 905 and 906 will also store a value of chrominance component Cr and Cb, i.e., U and V. As described below, a color space conversion algorithm is provided to generate YUV 4:1:1 values and store them in registers 901–906. The values are further transferred via the signal line 202 to the scaler 53.
In addition, registers 911 (CC_EB) and 912 (CC_ER) will store intermediate chrominance values during the operation of the color space conversion. The register 913, referred to as CC_T, will also be used to store intermediate values to participate in the color conversion. The detail of intermediate values will be described below.
The multiplier 111 is capable of performing multiplications operations that are needed for color space conversion algorithm. In one embodiment, the multiplier 111 multiplies a 9-bit signed integer by an 8-bit unsigned integer. The multiplier 111 receives the first input 918 from the multiplier data register 914, which is referred to as CC_Mb 914, and the second input 919 from the co-efficient storage module 915, which is referred to as CC_Ma 915. In one embodiment, the CC_Mb 914 is a 9 bit register. CC_Mb 914 reads data from one of the registers 907–912. The second input 919 from CC_Ma 915 is one of a plurality of pre-determined constant coefficients. In one embodiment, the CC_Ma 915 includes 8 bit hard wires to store a plurality of constant coefficients. A control signal from CBUS register block 307 selects a pre-determined co-efficient as the input on 919 of the multiplier 111. The result of the multiplication in the multiplier 111 is written to one of the registers 901–906, and 911–913 through the output 923 according to the heap address provided by the state machine 50. The output 923 of the multiplier 111 may also be coupled to a shift register so as to add an offset value of 128 in binary form to a result of the multiplier 111.
In one implementation, the color space converter 52 also receives additional control signals from the CBUS register block 307 and the state machine 50. The color space converter 52 receives setup information from the parameter registers in the block 307. The state machine 50 sends state signals to the color space converter 52 to enable the space conversion.
In general, to perform RGB-to-YUV color space conversion, the color space converter 52 computes the values of luminance components Y and chrominance components U and V based on the input RGB data values. Under conventional algorithm, e.g., the one provided by ITU-R BT. 470–2, a color space conversion algorithm is provided as follows:
Y=c219�ey+16, wherein ey=0.587�G+0.114�B+0.229�R; (40)
Cb=c224�epb+128, wherein epb=−0.331�G′+0.5�B−0.169�R; and (41
Cr=c224�epr+128, wherein epr=−0.419�G′−0.881�B+0.500�R. (42)
(c219 and c224 are constants which may conform to generally accepted color conversion standards)
In this recommended algorithm, the input GRB 4:1:1 video, e.g., G00, G01, G10, G11, B, R, are converted into corresponding Y, U, V components. Note that G′, similar to what has been described above, is an average of Green components of the input video data. One of ordinary skills in the art should know there are a variety of ways to compute the average value of the Green components.
Such recommended algorithm or other conventional algorithms do not provide an optimal approach for the computations in (40)–(42) needed for the color space conversion. The recommended algorithm typically requires 12 clock cycles to complete the conversion from GBR 4:1:1 color space into YUV 4:1:1. The present invention advantageously provides an algorithm to reduce the number of clock cycles necessary for color space conversion, thus substantially expediting the color conversion process and making the entire video compression process more efficient. In a preferred embodiment, the color space converter 52 provides a unique algorithm which uses 11 clock cycles to complete a color space conversion from GBR 4:1:1 to YUV 4:1:1.
To illustrate the method of the color space conversion,
While receiving the input values of each G component, G′, R and B, intermediate chrominance values, B′ and R′, are calculated 122 based on the input G, R and B. One aspect of the present invention simplifies the color space conversion computation by using a linearity relationship between the intermediate chrominance values B′ and R′, and the chrominance components B, R and an averaged luminance component Y′ as follows:
Y′=γ�G′+θ�B+φ�R; (43)
B′=α�B−Y′; (44)
R′=α�R−Y′; (45)
U=m�B′; (46)
V=n�R′ (47)
After deriving the intermediate values B′ and R′, the luminance Y components are calculated 123 based on each of the four G components, B, and R using standard algorithm provided as shown in (48) below. Eventually, the chrominance value U (or Cb) and V (or Cr) are computed by (46) and (47).
Y=γ�G+θ�B+φ�R; (48)
The computed Y, U and V values are then sent 125 through 202 as output of the color space conversion process.
Note that the co-efficients, α, γ, θ and φ as well as m and n, are known according to the linearity relationships defined in (43)–(47) and the conventional color space definition, as shown in (40)–(42). The coefficients may be selected from any one of a number of sets which satisfy the above-referenced definitions as shown in (40)–(47), and may change depending on the specific application.
In view of the above description, one aspect of the present invention advantageously reduces the computing loads in the color space conversion by simplifying the process of deriving chrominance components. One of ordinary skills in the art will recognize that there may be modified algorithms to compute U or V based on the linearity relationship described above in (43)–(45). All such modified algorithms should be considered as not departing from the spirit and principle of the present invention.
In a preferred embodiment, the process of loading data values of g00, g01, g10, g11, b and r may have started in the previous state. For example, g00, g01, g10, g11, b have been received and loaded into the registers 907, 908, 909, 910 and 905 respectively by the end of the previous color conversion state. The description below will introduce the detail of preloading the input video data of a data block from 200 for next state.
At step 1101, part of the tasks will be a completion of computing a luminance component Y′11 in the previous state. Y′11 is generated and stored in the register 904 and waits to be output on the signal line 202. In fact, the RGB-to-YUV conversion results of the previous state, Y′00, Y′01, Y′10, Y′10, Y′11, U′ and V′ are still stored in the registers 301–306 and will be output in a timely manner so that the result of the current state, g00, g01, g10, g11, b and r, can be stored in the storage element 900.
Another part of the tasks of the step 1101 will be the initiation of a new color conversion cycle for the current GBR data block by multiplying value b (blue color component) with the constant co-efficient α. To implement this, the value b was loaded in the register 905 and latched into CC_Mb 914 for multiplication. The constant α is read from the register CC_Ma 915 and input to the multiplier 111. The result is an intermediate value eb, which is written and stored in CC_Eb 911. The current value of eb corresponds to the term α�B as in (44). The final value of eb, as described below, will be the intermediate chrominance value B′ defined in (44). Also in step 1101, the data value r of red component is loaded into the register CC_CR 906 from the signal line 201 and then into CC_Mb 914 for next multiplier operation.
At step 1102, an intermediate value er, whose final outcome is the intermediate chrominance value R′ as defined in (45), is derived by multiplying the co-efficient α with r and the output er is stored in CC_Eb 911. The current value of er corresponds to α�R as shown in (45).
At step 1103, an intermediate value tg is obtained by multiplying the co-efficient γ with g′ and the output is stored in the register CC_T 913 temporarily. The current value tg corresponds to γ�G′ as in (43). In a preferred embodiment, the color space converter 52 can output the value U′ (or Cb) as generated in the previous state and currently stored in the register 305 to the signal line 202.
At step 1104, two operations occur at the multiplier 111 and the adder 112 respectively. At the multiplier 111, an intermediate value tb is generated from multiplying θ/α with eb and is stored in CC_Cb 905. The value of tb corresponds to the term θ�B in (43). er is written into CC_Mb 914 and a co-efficient φ/α is written into CC_Ma 915. Then at the adder 112, eb and tg are input to the adder 112 and tg is subtracted from eb. The result of eb is still stored in CC_Eb 911. The current eb corresponds to a value of α�B−γ�G′ as shown in (43) and (44). Also at this step, the preferred embodiment of the present invention outputs V′ (or Cr) that is generated in the previous state and currently stored in the register 306.
At step 1105, the multiplier 111 calculates another intermediate value tr as a result of multiplying the constant φ/α with er and stores tr at CC_Cr 906. tr corresponds to the term φ�R as in (43). The adder 112 subtracts tg from er and sends new er back to the register CC_Er 912. The current value of er corresponds to the term α�R−γ�G′ as shown in (43) and (45). Also at this step, the converter 52 now outputs Y′00 that is stored in the register 901 as the result of the previous state.
At step 1106, the multiplier 111 derives an intermediate value tg00 by multiplying γ and g00 and stores tg00 at the register CC_Y00 901. As understood above, the register 901 is now available since the result of the previous state Y′00 has been output in the step 1105. tg00 now corresponds to the term γ�G (γ�g00) in (48). As will be mentioned below, tg01 (γ�g01), tg10 (γ�g10) and tg11 (γ�g11) will be respectively computed to derive the four Y components. This step will also enable the adder 112 to generate an intermediate value trb by adding tb and tr. trb is stored in the register CC_T 913, which corresponds to the term θ�B+φ�R as in (43). Again, the color space converter 52 continues outputting the result of the previous state by sending the value Y′01 stored in the register 902 to the signal line 202.
At step 1107, the multiplier 111 computes tg01 by multiplying g01 with co-efficient γ and stores the result in the register CC_Y01 902, which is available after the step 1106. The adder 112 computes a new value eb by subtracting tbr from the previous value of eb and returns the result to CC_Eb 911. At this stage, the final value of eb corresponds to the value of the intermediate chrominance B′ as in (44). It will be used to compute the chrominance value u(or Cb). At this step, the value Y′10 will be output to the signal line 202. Also at this step, a preferred embodiment of the converter 52 can start to prepare for the operation at next state by loading a new value of g′00 from the signal line 201 to the register CC_G00 907. Note, the register CC_G00 907 can be overwritten since the value g00 has been used in the step 1106 and will no longer be used in the following steps.
At step 1108, the multiplier 111 computes tg10 by multiplying g10 with co-efficient γ and stores the result in the register CC_Y10 903. The adder 112 computes the final value of er by subtracting tbr from the previous value of er and returns the result to CC_Er 912. Now, the final value of er corresponds to the value of the intermediate chrominance R′ as defined in (45). It will be used to compute the chrominance value v(or Cr). This step will also be the last step of outputting the results of the previous state. It outputs Y′11 to the signal line 202. Thus, the Y′00, Y′01, Y′10, Y′11, U′ and V′ from the previous state have been all sent out to the scaler 53 via 202. In addition, the step continues to load next green component g′01 from the signal line 201 and store it into the register CC_G01 908 for the next state.
At step 1109, the multiplier 111 computes tg11 by multiplying g01 with co-efficient γ and stores the result in CC_Y11 904. The adder 112 now computes the luminance value y00 by adding tg00 and tbr that is stored in CC_T 913. If an offset is necessary, a value of 16 is added to the result and the result is stored in CC_Y00 901. The computation of y00 corresponds to the formula (48). As understood, this y00 will not be output to the signal line 202 until the next state. At the same time, g′10 is loaded into the converter 52 and stored in the register CC_G10 909.
At step 1110, the multiplier 111 computes the chrominance component Cb by multiplying eb with a constant co-efficient m as defined in (46). An offset value of 128 is added to the result when necessary. The result is stored in CC_Cb 905. The adder 112 computes the luminance value y01 by adding tg01 and tbr that is stored in CC_T 913. Similarly, if an offset is necessary, the result adds an offset value of 16 and is stored in CC_Y01 902. At the same time, g′11 is loaded into the converter 52 and stored in the register CC_G10 909 to prepare for next state operation.
At step 1111, the multiplier 111 computes the chrominance component Cr by multiplying er with another constant co-efficient n as defined in (47). An offset value of 128 is added to the result when necessary. The result is stored in the register CC_Cr 906 and will be output to the signal line 202 during the next cycle. The adder 112 computes the luminance value y10 by adding tg10 and tbr. Again, if an offset is necessary, a value of 16 is added to the result the result is stored in CC_Y10 903. Also at this step, a new blue component value b′ is loaded and stored into CC_Cb 905 for next state.
At the step 1112, which is the last clock cycle required for completing the calculation for the current state, the last remaining luminance component y11 is computed by adding tg11 and tbr. The result is stored in CC_Y11 904. Here, a new red value r′ is received and a new value of eb′ is computed as a beginning step for the next state. It can be understood that similar procedures and steps will be implemented to perform the color space conversion for the next state. During the next state, the results of the current states will be output to the signal line 202 in a similar manner as described above.
The steps and data path described in
The foregoing discussion discloses and describes various embodiments of the VIP 16 and its components as well as a variety of methods to process input video prior to actual video compression. The present invention provides an advantageous approach to cope with a wide variety of analog and digital video formats. The pre-compression processing by the VIP 16 achieves a desirable output video format for ensuing video compression in a cost-effective manner. The unique algorithm provided hereinwith improves conventional approach and substantially saves hardware costs. In addition, the VIP 16 also integrates multiple video enhancement functionalities. The functionalities greatly increase the adaptability of a video compression system.
The foregoing discussion discloses and describes merely exemplary methods and embodiments of the present invention. As will be understood by those familiar with the art, the invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
|Cited Patent
|Filing date
|Publication date
|Sep 19, 1988
|Oct 10, 1989
|Trio Kabushiki Kaisha
|Method and apparatus for multiplexing of input signals having differing frequencies and demultiplexing same
|Mar 6, 1992
|Feb 16, 1993
|Samsung Electronics Co., Ltd.
|Circuit for eliminating ghost noise in image processing system
|Dec 18, 1991
|Jul 13, 1993
|National Semiconductor Corporation
|Multi-channel peripheral interface using selectively flaggable channel register sets for concurrent write in response to any selected channel register write instruction
|Jun 17, 1992
|Mar 29, 1994
|Advanced Micro Devices, Inc.
|Architecture for covariance matrix generation
|Nov 19, 1993
|Aug 23, 1994
|Fujitsu Limited
|Frame conversion circuit including initial value input circuit
|Nov 27, 1992
|Nov 1, 1994
|Fuji Photo Film Co., Ltd.
|Discrete cosine transformation with reduced components
|Oct 30, 1992
|Mar 14, 1995
|Kabushiki Kaisha Toshiba
|Method of detecting a motion vector in an image coding apparatus
|Nov 16, 1995
|May 27, 1997
|Atmel Corporation
|Digital signal processor optimized for decoding a signal encoded in accordance with a Viterbi algorithm
|Oct 17, 1995
|Dec 2, 1997
|Zapex Technologies, Inc.
|Method and apparatus for efficiently generating variable length code data
|Nov 29, 1995
|Jan 6, 1998
|Daewoo Electronics Co., Ltd.
|Run-length decoding apparatus for use in a video signal decoding system
|Feb 21, 1996
|Jan 6, 1998
|David Sarnoff Research Center, Inc.
|Method and apparatus for evaluating the syntax elements for DCT coefficients of a video decoder
|Dec 6, 1996
|Aug 25, 1998
|U.S. Philips Corporation
|Signal processor
|Jan 19, 1996
|Nov 10, 1998
|Lsi Logic Corporation
|Conversion system using programmable tables for compressing transform coefficients
|Jun 30, 1997
|Aug 24, 1999
|Lucent Technologies Inc.
|Digital signal processor architecture optimized for performing fast Fourier Transforms
|Mar 10, 1998
|Mar 14, 2000
|Nokia Mobile Phones Limted
|Data processing circuit
|Aug 28, 1998
|Mar 27, 2001
|Lg Electronics Inc.
|High speed digital signal processor
|Oct 30, 1998
|Jun 5, 2001
|Intel Corporation
|Computer product and method for sparse matrices
|Dec 22, 2000
|Jun 18, 2002
|Generic Media, Inc.
|Distributed on-demand media transcoding system and method
|Sep 8, 1998
|Jul 16, 2002
|Lg Electronics Inc.
|HDTV video display processor
|Dec 10, 1998
|Jul 16, 2002
|Lg Electronics Inc.
|Apparatus for implementing inverse discrete cosine transform in digital image processing system
|Sep 30, 1999
|Oct 8, 2002
|Sony Electronics Inc.
|Multimedia information retrieval system and method including format conversion system and method
|Dec 21, 2000
|Jan 14, 2003
|Equator Technologies, Inc.
|Processing circuit and method for variable-length coding and decoding
|May 27, 1998
|Feb 4, 2003
|Mitsubishi Denki Kabushiki Kaisha
|Motion vector detecting device
|Mar 20, 2000
|Feb 18, 2003
|Hewlett-Packard Company
|Process and apparatus for configuring the direct memory access transfer mode of a motherboard or host computer
|Feb 16, 2001
|Apr 22, 2003
|Texas Instruments Incorporated
|Efficient table access for reversible variable length code decoding using a hash function
|Jul 25, 2001
|Jul 1, 2003
|Quicksilver Technology, Inc.
|High performance memory efficient variable-length coding decoder
|Apr 6, 2000
|Jul 8, 2003
|Samsung Electronics Co., Ltd.
|2-dimensional interleaving apparatus and method
|May 10, 2002
|Jul 15, 2003
|Generic Media, Inc.
|Distributed on-demand media transcoding system and method
|Jun 9, 2000
|Nov 11, 2003
|General Instrument Corporation
|Video size conversion and transcoding from MPEG-2 to MPEG-4
|Oct 1, 1999
|Mar 2, 2004
|Hitachi, Ltd.
|DMA handshake protocol
|Mar 6, 2000
|Mar 9, 2004
|Sony Corporation
|Multiple source recording
|May 22, 2000
|Apr 27, 2004
|Gazelle Technology Corporation
|Processor array and parallel data processing methods
|Feb 14, 2001
|Aug 23, 2001
|Masahiko Sato
|Data storage unit with cyclic error detection and avoidance
|Feb 8, 2001
|Feb 7, 2002
|Tetsujiro Kondo
|Information processing apparatus using class-classification adaptive processing
|May 7, 2002
|Dec 26, 2002
|Matsushita Electric Industrial Co., Ltd.
|DVMPEG converter
|Jun 26, 2001
|Dec 26, 2002
|Irwin David S.
|High speed communications device/system
|Jul 13, 2001
|Jan 16, 2003
|Motorola, Inc.
|Method and apparatus for vector processing
|Oct 8, 1997
|Feb 6, 2001
|Actel Corporation
|Field programmable digital signal processing array integrated circuit
|Citing Patent
|Filing date
|Publication date
|Aug 18, 2003
|Aug 12, 2008
|Sony Corporation
|Image processing apparatus, image processing method, recording medium, and program
|May 6, 2004
|Jan 13, 2009
|Samsung Sdi Co., Ltd.
|Address data processing device and method for plasma display panel, and recording medium for storing the method
|Nov 19, 2004
|Apr 20, 2010
|Insors Integrated Communications
|Network communications bandwidth control
|Nov 15, 2005
|Aug 24, 2010
|Nds Limited
|Digital video zooming system
|Sep 7, 2005
|Feb 8, 2011
|Insors Integrated Communications
|Methods, program products and systems for compressing streaming video data
|Apr 27, 2005
|Sep 20, 2011
|Nvidia Corporation
|Decompression of 16 bit data using predictor values
|Apr 27, 2005
|Nov 22, 2011
|Nvidia Corporation
|Compression of 16 bit data using predictor values
|Aug 24, 2005
|Apr 24, 2012
|Hitachi, Ltd.
|Radio communication apparatus with a bus dedicated to data transmission
|Apr 30, 2008
|Mar 26, 2013
|Mstar Semiconductor, Inc.
|Display controller for displaying multiple windows and method for the same
|May 17, 2010
|Jul 30, 2013
|Objectvideo, Inc.
|View handling in video surveillance systems
|Aug 5, 2008
|Sep 3, 2013
|Entropic Communications, Inc.
|Method and apparatus for line based vertical motion estimation and compensation
|Sep 30, 2011
|Nov 18, 2014
|Apple Inc.
|Psychovisual image compression
|Mar 15, 2013
|Dec 1, 2015
|Avigilon Fortress Corporation
|View handling in video surveillance systems
|Aug 18, 2003
|Jun 24, 2004
|Tsutomu Kume
|Image processing apparatus, image processing method, recording medium, and program
|May 6, 2004
|Nov 11, 2004
|Myoung-Kwan Kim
|Address data processing device and method for plasma display panel, and recording medium for storing the method
|Jul 30, 2003
|Feb 3, 2005
|Hao-Chieh Chang
|Method and apparatus for equipping personal digital product with functions of recording and displaying of the digital video/audio multi-media
|Nov 19, 2004
|Oct 20, 2005
|Insors Integrated Communications
|Network communications bandwidth control
|Aug 24, 2005
|Mar 2, 2006
|Katsuhiko Tsunehara
|Radio communication apparatus with a bus dedicated to data transmission
|Feb 23, 2005
|Aug 24, 2006
|Lexmark International, Inc.
|Method for processing data for use with a video display of an imaging apparatus
|Sep 7, 2005
|Jan 18, 2007
|Insors Integrated Communications
|Methods, program products and systems for compressing streaming video data
|Apr 30, 2008
|Oct 30, 2008
|Mstar Semiconductor, Inc.
|Display controller for displaying multiple windows and method for the same
|Nov 15, 2005
|Oct 30, 2008
|Nds Limited
|Digital Video Zooming System
|Apr 26, 2007
|Oct 30, 2008
|Mark Butterworth
|Multiple format video display
|Dec 5, 2008
|Jun 11, 2009
|Myoung-Kwan Kim
|Address data processing device and method for plasma display panel, and recording medium for storing the method
|May 17, 2010
|Sep 9, 2010
|Object Video, Inc.
|View handling in video surveillance systems
|Aug 5, 2008
|Sep 23, 2010
|Volker Blume
|Method And Apparatus For Line Based Vertical Motion Estimation And Compensation
|Sep 30, 2011
|Apr 4, 2013
|Richard E. Crandall
|Psychovisual Image Compression
|Nov 15, 2005
|Nov 6, 2008
|Nds Ltd
|Digital video zooming system
|U.S. Classification
|International Classification
|Cooperative Classification
|European Classification
|Jul 31, 2002
Owner name: WIS TECHNOLOGIES, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LI, SHA;XIANG, SHUHUA;LUO, YAOJUN;AND OTHERS;REEL/FRAME:013164/0358
Effective date: 20020731
|May 23, 2006
Owner name: MICRONAS USA, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WIS TECHNOLOGIES, INC.;REEL/FRAME:017904/0193
Effective date: 20060512
|Nov 4, 2008
Owner name: MICRONAS GMBH, GERMANY
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICRONAS USA, INC.;REEL/FRAME:021773/0879
Effective date: 20081022
|May 21, 2010
|Fee payment
Year of fee payment: 4
|Jul 11, 2014
|Maintenance fee reminder mailed
|Nov 28, 2014
|Lapse for failure to pay maintenance fees
|Jan 20, 2015
|Expired due to failure to pay maintenance fee
Effective date: 20141128


text:
MOVIE SYNOPSIS [ General Audiences ] Film of Duncan Copp and Ed Watkins. The premiere took place in 2013, with a production coming from USA and UK. You can watch Comet Encounter online on TV cable or theaters with original audio in English at different dates. This film premiered in theaters in 2013.
Rating: 5 by 10 users./
Runtime: 55 minutes
Karl Battams, Lewis Dartnell, Francisco Diego, Patricia Fara, Corey Johnson, Carey Lisse, Amy Mainzer, Adam McKay, Bonnie Meinke, Gareth V. Williams and Alex Young.
55-minute film (full movie) directed by Duncan Copp and Ed Watkins.
The original audio of Comet Encounter has dialogues in Dolby Digital, it was produced in USA, UK.
It premiered in cinemas or television in 2013.
Ed Watkins, Jay Dacey, John Halliday and Thomas Jacobi.
Iain Riddick, Ed Watkins and Duncan Copp.
This film was produced and / or financed by Darlow Smithson Productions.
PBS and National Geographic Channels International.
Without commercial breaks, the full movie Comet Encounter has a duration of 55 minutes; the official trailer can be watched in streaming on the Internet. You can watch this full movie free in EnglishDolby Digital in movie TV channels, renting the DVD or with VoD services (Video On Demand player, Hulu) and PPV (Pay Per View, Netflix).
See the page of this full movie, Comet Encounter in FULLTV Movies.

subset: commoncrawl


text:
Helen and Guy were married at the most incredible cathedral I have seen – the Amalfi Cathedral. Just check out that ceiling!! Many of you may know already I am a sucker for intricate and over the top architecture and this one does not disappoint. Totally gorgeous and absolutely outstanding for a wedding ceremony. Thanks so much to Amy Turner of iMAG1NE Photography for sharing these photos with OMG! I love them!
Following the stunning ceremony, the wedding party moved on to the Hotel Miramalfi for a beautiful wedding reception with views of the Amalfi coast as their backdrop (jealous much?!) The event was expertly planned by Jacquie Coppola from The Amalfi Experience and the elaborate floral decor by Franco Di Bianco. Jacquie said he was "a delight to work with and the kindest person!!! He always goes out of his way to make sure every bride is happy." Helen wore a stunning David Fielden gown and headpiece along with beautiful Swarovski jewelry to match while her bridesmaids were dressed in Dessy.
Here is what Amy had to say – "The weather was so hot and lovely. The guests enjoyed drinks and nibbles in one of the local cafes / squares after the ceremony before they moved on to the hotel. Another point to note was that one of the guests played the piano and sang the song for their first dance, a surprise for all of the guests – a lovely moment. (Snow Patrol's Chasing Cars.)"
Make sure to check out the iMAG1NE Wedding Photography website and blog for more info as Amy shoots weddings in both the UK and throughout Italy.


text:
Treasuries are a tool on Etsy that allow users to curate a collection of 16 items along a theme of color, holiday, mood, texture, or anything that inspires you. This feature is a wonderful way to honor some of your favorite shops and items and helps introduce them to other users. Each member of the Nutmeg Collective makes a treasury every month to help show off our awesome work, and we want to share it with you!
At the end of each month, starting with February, we're going to pick our top treasury selections from the month. Beautiful, well-promoted collections will be part of the criteria. Once the top picks are finalized, we will ask you to vote on your favorite choice right here on the blog. The winner will be featured on the first Friday of the month.
Below you'll find some of the treasuries from January that were well-curated and promoted. Be inspired by them, as well as all the great offerings from our team of Connecticut makers and artists!
Happy gathering!
**Don't forget - you can use the Treasury Box app for your Google Chrome browser to make curating a treasury even quicker. Plus, it lets you convo all 16 features at once. If you convo the shop owner's that are featured, you usually get more views. Treasury Box


text:
APERC Workshop at EWG47, Kunming , China 19 May 2014 3. Peer Review on Low Carbon Energy Policies (PRLCE ) in Malaysia Aishah MOHD ISA Researcher , APERC. Presentation Outline. PRLCE Background Initiated by APEC Energy Ministers' 2010 Fukui Declaration.
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
APERC Workshop at EWG47, Kunming, China
19 May 2014
3. Peer Review on Low Carbon Energy Policies (PRLCE) in Malaysia
Aishah MOHD ISA
Researcher, APERC
*Ministry of Finance 2013
*National Energy Balance 2011
Energy Commission (http://www.erc.or.th/ERCWeb/Upload/Document/11.00-12.30%201Ahmad%20Fauzi%20Hasan%20(Malaysia).pdf)
*National Energy Balance 2011 and Worldbank
Note that in 2011, NRE capacity is about 53 MW (<0.2% of total)
Economic Planning Unit under the
Prime Minister's Department
18-22 November 2013 at EWG46
3 October 2013
8 November 2013
13 November 2013
PRLCE report submitted for Malaysia for review
15 December 2013
9-13 December 2013
Focal agencies: KeTTHA and SEDA
Focus areas:
FIT mechanism and low-carbon transport sector
7 April 2014
7 April 2014
19-23 May 2014
Mr Takato Ojimi
Mr Andrew Hirscher
Mr GuoXiqiang
Ms Yoko Ito
Ms Elizabeth Yeaman
Dr Keng-Tung Wu
AP SumateChaiprapat
Dr KazutomoIrie
Dr Aishah Mohd Isa
Overarching areas
Renewable Energy Resources
Low carbon sectors


text:
Lecture 2: End of Life Issues
Test Case: The Arizona Case
1) Catholic Hospital
2) 27 years old, 11 weeks pregnant
3) Arrives at the emergency room,,,,she is seriously ill with pulmonary hypertension
- condition limits heart and lung function and is reportedly made worse and even fatal by pregnancy
4) Phoenix hospital physicans and moral theologian assessed the woman's condition as dire
5) a D&C (dilation and curettage) was recommended
1) Based on Church Teaching, was the hospital moral for allowing this abortion?
2) Could the Catholic hospital legally deny this women her abortion?
-Federal Emergency Medical Treatment and Labor Act (EMTALA), which requires that a patient in an emergency must be treated or—if the condition cannot be medically managed—safely transferred to another hospital.
-Religious Freedom-to deny abortion or deny transfer???
-Could a Jehovah's Witness hospital legally refuse to give a transfusion—or facilitate a transfer—for a Catholic patient bleeding to death??
Definition: The deliberate cessation of prenatal human life
Direct = procured/willed/intentional
Indirect = accidental/inevitable (Spontaneous Abortion = Miscarriage)
Roe v. Wade (1973)
Challenge to Church Teaching
vital maternal-fetal conflict
-Such a conflict involves a medical crisis in which
(1) no procedure can save both mother and child,
(2) no procedure can save the child,
(3) only one procedure can save the mother,
(4) that procedure entails ending the pregnancy.
Positions of those who favor:
a woman has a right to privacy
a woman has a right to do whatever she wants to her body
Acceptable in some circumstances but not others
Rape & Incest
Life of the mother
Selective Abortion: Multiple birth pregnancy...when all fetuses cannot reach term and therefore one or more fetuses are aborted in order that one or more fetuses can survive.
-The fifth commandment: "Thou shall not kill"
-Respect… "human life in all its manifestations and stages of development with the special care that it deserves"
-The Catholic Church states that life begins at Conception not when the fetus is viable.
1974 Declaration on Abortion states:
"From the time ovum is fertilized a life is begun…right from fertilization the adventure of human life has begun…"
Catholic Tradition
-Never use life as a means to an end
-Never directly kill an innocent human person
Generally apply the Catholic Moral Theory
Moral Action = Good Action + Good Intention + Indifferent/Good Circumstances
Cases of rape or incest?
What to do when Mother's life is in danger?
CMT--Does not work well
Indirect Abortions are moral
-Logic: Doctrine of Double EFFECT
Direct Abortions are immoral
-never directly target the life of the child
Doctrine of Double Effect (DDE)
1) Intention must be good
2) Bad effect cannot be the means to the good effect
3) Proportionality: Good gained must outweigh the evil effect
-Greek "good death"
-Debate over what this means
-An action or omission of an action which of itself or by intention causes death in order that all suffering may be eliminated
Something is euthanasia if
-there is an intention that the person die in order to eliminate suffering
intention can drive action/inaction
For many:
intentional decision not to keep treating someone, knowing this means they likely will die of their disease ("let die")
, is not the same as
intending to kill someone
"intending death" is not "causing death, even though it is not intended"
Euthanasia is
Oregon (legal exception)
-The Oregon Death With Dignity Act was passed in November 1994 by a margin of 51% to 49%
-PAS (Physician Assisted Suicide) is legal
-lethal dosage of pills
-request from doctor
-intention to end life
-Grave condition (incurable condition, suffering,imminent death)
-more than one doctor must attest
Also-Assisted Suicide Organizations (e.g.Compassionate Choices)
-Inform/counsel patient how to end their life
-e.g. where to buy lethal dosage, and how to make it seem like natural death
-Assist during death, but never touch patient
-Legal loophole
Palliative care
-treatment for pain (Morphine/ opiate drugs)
-build tolerance
-more drugs for same relief
-eventually drug will cause death via respiratory failure
-pro-PAS = same as euthansia
Do we agree?
Based on DDE:
-Caregiver who administers the morphine that results in the death of the patient is moral
-This is not Euthanasia that always relies on an unethical intention
1) Good intention (principle that guides the action)
2) good effect (pain relief) is not achieved via the bad effect (death)
3) Goodness out weighs the Badness of the act
[need to consider the status of illness, prognosis, degree of suffering, toll on family]
-In certain circumstances use of morphine that result in death is euthanasia
Eg. Young Man recovering from a Car Wreck
Fail condition 3 of the Doctrine of Double Effect if recovery was inevitable
-probability of causing death (Bad effect) would outweigh pain relief (Good effect)
-may pass conditions 2 and 3 of DDE
-but fail condition 1
Christian/Jewish/Islamic/Hindu perspectives
-Intentional killing of innocent people is always gravely immoral.....even if good results
-"Why not say—as some slanderously claim that we say—"Let us do evil that good may result"? Their condemnation is just!" (Romans 3:8)
-Not just revelation tells us this, but
PAS is a different issue than
Withholding or Withdrawing Life-Sustaining Treatment
Not vitalism
-Preserve Life at all costs
-Good life= length of Life (what is their Big-Picture)
Quality-of -life judgment
-when to "pull the plug"
-Is the intention to kill? ---if so, wrong
????????? then what ???????
For many Christians:
-if intention is to stop prolonging life of patient with burdensome/useless treatments, then it is morally permissible
1) goal is to prolong life and
live more fully
2) evidence that on occasion people continue to live
-if continuation of life, then aim is not frustrated
Extraordinary Means:
burdensome/useless without intending to end life
-simply prolongs life
-examine case by case
-respirator maybe extra for a PVS patient, but not for someone undergoing serious surgery
Ordinary Means:
not burdensome/useless
-Refusal driven by intention to end someone's life
-Immoral to end
Test Case: Terri Shiavo
-Husband desired to stop feeding and hydration
-parents disagree
Removal of Feeding tube and hydration:
-Is it Ordinary or Extraordinary means?
-Do we intend death when we remove feeding tubes?
-Did the state of Florida execute Mrs. Shiavo?
Catholic Ethics: JPII
yes, immoral
-First, providing nutrition and hydration is a form of care, not a form of treatment. (ordinary means)
-Second, withdrawing a feeding tube is essentially to aim at death. (fails condition 1 of DDE)
-Many argue shift in Catholic position, which did not define ordinary means in such rigidity
Bishop'/s' response:
-Phoenix Bishop Thomas Olmsted announced the automatic excommunication of Sister Margaret McBride
For these reasons:
-"As the Church has said many times, direct abortion is never permissible because a good end cannot justify an evil means."
-Even though the abortion "is likely to improve the functioning of the organ or organs, but only in an indirect way, i.e., by lessening the overall demands placed upon the organ or organs, since the burden posed by the pregnancy will be removed", you cannot directly end life
-human life is never a means to an end
-evidence to the contrary...cites a study by Dr. Byrne...indicates that there have been successful interventions for pregnant women with pulmonary hypertension that have enabled both mother and child to survive.
Is a philosophy of caring for dying persons and their family
nature and pain of those dying
Caregivers did not always realize or acknowledge the level of pain and other forms of distress being experienced by individuals
need for end of life conversations
prepare for end-of-life decisions
-involve patient, family, and professionals
provide effective resources
respond to worry that wishes may be ignored
"Your pain cannot be as bad as you say"; "We have to save the really strong medication when you really need it1"
At the center of hospice is the belief that each of us has the right to die pain-free and with dignity, and that our families will receive the necessary support to allow us to do so...
Hospice focuses on
caring, not curing a
nd in most cases care is provided in the patient's home. Hospice care also is provided in freestanding hospice centers, hospitals, and nursing homes and other long-term care facilities. Hospice services are available to patients of any age, religion, race, or illness. Hospice care is covered under Medicare, Medicaid, most private insurance plans, HMOs, and other managed care organizations. (National Hospice and Palliative Care Organization)
Hospice Team
Spiritual Counselors
Home Health
"Role Blurring"
-The U.S. Supreme Court ruled in 1997 in Washington v. Glucksberg that there is no federal constitutional substantive right to assisted suicide. In a 1997 companion case, the U.S. Supreme Court ruled in Vacco v. Quill that there is no federal constitutional equal protection right to assisted suicide.
-illegal in most states
-Immoral for Catholics, many Christians, Muslims, Jews, many Hindus/Buddhists
-results in sin or bad karma
-life is sacred
-The states of California, Washington, Michigan and Maine rejected ballot referenda questions to legalize physician-assisted suicide in their respective states. The Supreme Court of Alaska in Alaska v. Sampson declared there is no state constitutional right to physician-assisted suicide, as did the Florida State Supreme Court in McIver v. Kirscher. The Hawaii State Senate voted down a bill to legalize physician-assisted suicide.
-Study of 10,000 doctors in the US stated that approximately 46% of physicians agree that physician-assisted suicide should be allowed in some cases; 41% do not, and the remaining 14% think it depends.
increase dosage
increase pain
Palliative Care versus Euthanasia
What about situations where a caregiver
administers morphine to her patient:
-morphine is a poison and will kill the patient
-many cases patients do die from morphine
-Is this a form of Legalized Euthanasia?
PVS (Persistent Vegetative State)
Dilemma: Take off respirator that will result in death
Is the use of potassium chloride (i.e. PAS) to end a patient's suffering moral?
Based on this perspective it is immoral!
10 principles of Hospice Care
1-Hospice is a philosophy, not a facility, whose focus is on end-of-life care
2-Hospice philosophy affirms life not death
3-Hospice philosophy tries to maximize present quality of life
4-Hospice offers care to the patient-and-family-unit
5-Hospice is holistic care
-listens to concerns
-assist in physical, psychological, social, and spiritual tasks
6-Hospice offers continuing care and ongoing support to family members coping with dying, death, and loss both before and after death
7-Hospice approach combines professional skills and human presence through interdisciplinary teamwork
8-Hospice programs make services available 24/7
9-Participants in hospice are given special attention to supporting each other
10-Hospice philosophy can be applied to a variety of individuals and family members who are coping with a life-threatening illness, dying, death, or bereavement
-require notice that death is imminent
6-You need to sign a DNR!
do-not-resuscitate (DNR) order tells medical professionals not to perform CPR. This means that doctors, nurses and emergency medical personnel will not attempt emergency CPR if the patient's breathing or heartbeat stops. (NYS department of health)
-consent by both doctor and patient or proxy
CPR - cardiopulmonary resuscitation - refers to the medical
procedures used to restart a patient's heart and breathing
when the patient suffers heart failure.
-e.g. mouth-to-mouth resuscitation and external chest compression, electric shock, insertion of a tube to open the patient's airway, injection of medication into the heart and in extreme cases, open chest heart massage.
1-Ethical?-may be ordinary or extraordinary means
2-Violate DNR? (NYS-Good Samaritan law-immunity if assist in an emergency)
FACT: No lay person has ever been successfully sued for performing CPR on a victim of cardiac arrest (American Heart Association)
1-Hospice makes death come sooner.
Hospice neither hastens nor postpones dying. The aim is to improve the quality of remaining life so patients can enjoy time with family and friends and experience a natural, pain-free death. In some cases, hospice care can extend life.
2- Hospice is giving up hope; it's better to fight for life.
Most terminally ill patients experience less anxiety by refocusing hope on what might be realistically achieved in the time remaining. If continuing uncomfortable and painful curative treatment for an illness is fruitless, hospice patients benefit more from having their symptoms treated instead.
3-A hospice patient who shows signs of recovery can't return to regular medical treatment.
If a patient's condition improves, they can be discharged from hospice and return to curative treatment, or resume their daily lives. If need be, they can later return to hospice care.
4-A hospice patient can't change his or her mind and return to curative treatment even if their prognosis hasn't changed.
A patient can go on and off hospice care as needed—or if they change their mind and decide to return to curative treatment. They may also enter hospital for certain types of treatment if it involves improving their quality of life.
5-Hospice care is limited to a maximum of six months.
In the U.S., many insurance companies, as well as the Medicare Hospice Benefit, require that a terminally ill patient has a prognosis of six months or less to start hospice, but a terminally-ill patient can receive hospice care for as long as necessary.
7-Need a Living Will
-document stating advanced directives with respect to
-terminal illness, p.v.s., or end stage of life
-may or may not include DNR
Present Remotely
Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
End of Life Issues 2
No description
Professor walter sistoon 12 June 2017
Comments (0)
Please log in to add your comment.


text:
MOVIE SYNOPSIS [ +16 years-old ] With a great performance of Derek Waters (see full cast), this film directed by Michael Pietrzak was premiered in cinema in 2008. The feature film "Bar Starz" was produced in USA. You can watch Bar Starz online on TV cable or theaters with original audio in English at different dates. This film premiered in theaters in 2008.
Rating: 5 by 144 users./
Runtime: 100 minutes
Derek Waters, Charlie Finn, Jana Kramer, Jon Gries, Charlie Murphy, Jon Bernthal, Sam Horrigan, Jayma Mays, Nikki Griffin, Affion Crockett, Eric Ladin, Daniel Franzese, Ben Gleib, Elena Satine, Thomas Hobson and Jelynn Sophia.
100-minute film (full movie) directed by Michael Pietrzak.
The original audio of Bar Starz has dialogues in Dolby Digital, it was produced in USA.
It premiered in cinemas or television in 2008.
Screenplay written by Peter Castanik and Marc James.
Kevin McKnight.
Walter Josten, Mark McDermitt, Dave Mehalick, Jon Warner, Dale Scales, Charlie Picerni, John Myrick, Michael Pietrzak, Jeff Geoffray, Steve Perry, Reed Clevenger, Alexander Tabrizi and Venice Clementi.
This film was produced and / or financed by OBX Productions and Vici Films.
Composed by Joseph LoDuca.
Slowhand Cinema Releasing, Vici Films and Gravitas Ventures.
Without commercial breaks, the full movie Bar Starz has a duration of 100 minutes; the official trailer can be watched in streaming on the Internet. You can watch this full movie free in EnglishDolby Digital in movie TV channels, renting the DVD or with VoD services (Video On Demand player, Hulu) and PPV (Pay Per View, Netflix).
See the page of this full movie, Bar Starz in FULLTV Movies.