Method, device and system for encoding and decoding image
10904539 ยท 2021-01-26
Assignee
Inventors
Cpc classification
H04N19/70
ELECTRICITY
International classification
H04B1/66
ELECTRICITY
H04N19/80
ELECTRICITY
Abstract
Disclosed are methods, apparatuses, and systems for encoding and decoding an image. The present invention provides an intra prediction unit receives an input image, removes high frequency ingredients by low pass filtering an encoded luma pixel value in the input image during intra prediction, and generates a prediction block by predicting a chroma pixel value by using a low pass filter (LPF) LM chroma mode for applying an LM chroma mode, which is an extended chroma mode technique for generating a prediction block by predicting the chroma pixel value by applying a correlation between color planes to the luma pixel value having removed therefrom the high frequency ingredients.
Claims
1. An image encoding apparatus comprising: a processor that functions as an intra predictor; and the intra predictor determining whether a LMmode that represents that chroma pixels are predicted by luma pixels is applied to a current block, selecting one of a plurality of LMmode candidates when it is determined that the LMmode is applied to the current block, and predicting a chroma pixel of the current block according to the selected LMmode candidate, wherein a flag specifying whether the LMmode is applied to the current block is encoded into a bitstream, wherein when the LMmode is applied to the current block, index information specifying one of the plurality of LMmode candidates selected for the current block is additionally encoded into the bitstream, and the plurality of LMmode candidates comprises a first LMmode and a second LMmode, wherein prediction of the chroma pixel is performed based on a first filtered luma value, a weight and an offset, wherein, under the first LMmode, the weight and offset are obtained based on a second filtered luma value, while, under the second LMmode, the weight and the offset are obtained in absence of the second filtered luma value, wherein both a horizontal neighboring luma pixel and a vertical neighboring luma pixel adjacent to a co-located luma pixel are relied on to derive the first filtered luma value, and the co-located luma pixel has a position corresponding to the chroma pixel, wherein the first filtered luma value is obtained based on a weighted sum operation of the co-located luma pixel, the horizontal neighboring luma pixel and the vertical neighboring luma pixel; and wherein the intra predictor predicts the chroma pixel by an equation C.sub.pred[x,y]=G.sub.recon.sup.lpf[x,y]+ (wherein, G.sup.lpf.sub.recon denotes the first filtered luma value, denotes the weight, and denotes the offset), and wherein the second filtered luma value is obtained based on a neighboring luma pixel.
2. The apparatus of claim 1, wherein the horizontal neighboring luma pixel comprises at least one of a left neighboring luma pixel and a right neighboring luma pixel, and the vertical neighboring luma pixel comprises at least one of a top neighboring luma pixel and a bottom neighboring luma pixel.
3. An image decoding apparatus comprising: a processor that functions as an intra predictor; and the intra predictor determining whether a LMmode that represents that a chroma pixel is predicted by a luma pixel is applied to a current block, selecting one of a plurality of LMmode candidates when it is determined that the LMmode is applied to the current block, and predicting the chroma pixel of the current block according to the selected LMmode candidate, wherein whether the LMmode is applied to the current block is determined based on a flag parsed from a bitstream, wherein when it is determined that the LMmode is applied to the current block, index information is additionally parsed from the bitstream, the index information specifies one of the plurality of LMmode candidates applied to the current block, and the plurality of LMmode candidates comprises a first LMmode and a second LMmode, wherein prediction of the chroma pixel is performed based on a first filtered luma value, a weight and an offset, wherein the weight and the offset are obtained based on a linear relationship between luma pixels and chroma pixels, wherein, under the first LMmode, the weight and offset are obtained based on a second filtered luma value, while, under the second LMmode, the weight and the offset are obtained in absence of the second filtered luma value, wherein both a horizontal neighboring luma pixel and a vertical neighboring lima pixel adjacent to a co-located luma pixel are relied on to derive the first filtered luma value and the co-located luma pixel having a position corresponding to the chroma pixel, wherein the first filtered luma value is obtained based on a weighted sum operation of the co-located luma pixel, the horizontal neighboring luma pixel and the vertical neighboring luma pixel; and wherein the intra predictor predicts the chroma pixel by an equation C.sub.pred[x,y]=G.sub.recon.sup.lpf[x,y]+ (wherein, G.sup.lpf.sub.recon denotes the first filtered luma value, denotes the weight, and denotes the offset), and wherein the second filtered luma value is obtained based on a neighboring luma pixel.
4. An image encoding method employed by an image encoding apparatus comprising a processor, the method comprising: determining whether a LMmode that represents that a chroma pixel is predicted by a luma pixel is applied to a current block; selecting one of a plurality of LMmode candidates when it is determined that the LMmode is applied to the current block: and predicting the chroma pixel of the current block according to the selected LMmode candidate, wherein a flag specifying whether the LMmode is applied to the current block is encoded into a bitstream, wherein when the LMmode is applied to the current block, index information specifying one of the plurality of LMmode candidates selected for the current block is additionally encoded into the bitstream, and the plurality of LMmode candidates comprises a first LMmode and a second LMmode, wherein predicting the chroma pixel of the current block comprises: obtaining a first filtered luma value to predict a chroma pixel; obtaining a weight and an offset based on a linear relationship between luma pixels and chroma pixels; and predicting the chroma pixel based on the first filtered luma value, the weight and the offset, wherein, under the first LMmode, the weight and offset are obtained based on a second filtered luma value, while, under the second LMmode, the weight and the offset are obtained in absence of the second filtered luma value, wherein both a horizontal neighboring luma pixel and a vertical neighboring luma pixel adjacent to a co-located luma pixel are relied on to derive the first filtered luma value and the co-located luma pixel having a position corresponding to the chroma pixel, wherein the first filtered luma value is obtained based on a weighted sum operation of the co-located luma pixel, the horizontal neighboring luma pixel and the vertical neighboring luma pixel; and wherein the chroma pixel is predicted by an equation C.sub.pred[x,y]=G.sub.recon.sup.lpf[x,y]+ (wherein, G.sup.lpf.sub.recon denotes the first filtered luma value, denotes the weight, and denotes the offset), and wherein the second filtered luma value is obtained based on a neighboring luma pixel.
5. An image decoding method employed by an image decoding apparatus comprising a processor, the method comprising: determining whether a LMmode that represents that a chroma pixel is predicted by a luma pixel is applied to a current block based on a flag parsed from a bitstream; selecting one of a plurality of LMmode candidates when it is determined that the LMmode is applied to the current block; and predicting the chroma pixel of the current block according to the selected LMmode candidate, wherein when it is determined that the LMmode is applied to the current block, index information is additionally parsed from the bitstream, the index information specifies one of the plurality of LMmode candidates applied to the current block, and the plurality of LMmode candidates comprises a first LMmode and a second LMmode, wherein predicting the chroma pixel of the current block comprises: obtaining a first filtered luma value to predict the chroma pixel; obtaining a weight and an offset based on a linear relationship between luma pixels and chroma pixels; and predicting the chroma pixel based on the first filtered luma value, the weight and the offset, wherein, under the first LMmode, the weight and offset are obtained based on a second filtered luma value, while, under the second LMmode, the weight and the offset are obtained in absence of the second filtered luma value, wherein both of a horizontal neighboring luma pixel and a vertical neighboring luma pixel adjacent to a co-located luma pixel are relied on to derive the first filtered luma value, and the co-located luma pixel has a position corresponding to the chroma pixel, wherein the first filtered luma value is obtained based on a weighted sum operation of the co-located luma pixel, the horizontal neighboring luma pixel and the vertical neighboring luma pixel; and wherein the chroma pixel is predicted by an equation C.sub.pred[x,y]=G.sub.recon.sup.lpf[x,y]+ (wherein, G.sup.lpf.sub.recon denotes the first filtered luma value, denotes the weight, and denotes the offset), and wherein the second filtered luma value is obtained based on a neighboring luma pixel.
Description
DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
MODE OF THE INVENTION
(8) The attached drawings for illustrating preferred embodiments of the present invention are referred to in order to gain a sufficient understanding of the present invention, the merits thereof, and the objectives accomplished by the implementation of the present invention.
(9) Hereinafter, the present invention will be described in detail by explaining preferred embodiments of the invention with reference to the attached drawings. Like reference numerals in the drawings denote like elements.
(10) Throughout the specification, when a portion includes an element, another element may be further included, rather than excluding the existence of the other element, unless otherwise described. As used herein, the terms unit, element, module, etc. should be understood as units in which at least one function or operation is performed and which may be embodied in the form of hardware, software, or a combination of hardware and software.
(11) As described above, an extended chroma mode (ECM) is a technique for predicting pixel values in a chroma area with reference to an encoded luma area during an intra prediction for chroma pixel. By using the technique, a very high coding gain may be obtained with respect to a RGB image exhibiting high correlations between color planes. The ECM is included to an intra prediction mode for chroma pixel and is configured to be selected via a competition with conventional intra prediction modes for chroma pixel.
(12) Since a RGB image is encoded in the order of G, B, and R, a color plane B and a color plane R may be encoded in the intra prediction mode for chroma pixel. Equation 1 below is a mathematical expression of the ECM technique regarding a RGB image.
C.sub.pred[x,y]=G.sub.recon[x,y]+[Equation 1]
(13) Here, C.sub.pred denotes a pixel value of a B block or a R block to be predicted, G.sub.recon denotes a decoded pixel value of an encoded G block, and [x, y] denote locations of pixels. and are weights and are inferred by using pixel values of the G block at same locations as pixel values around the B block or the R block.
(14) As shown in Equation 1, the ECM is a technique for predicting chroma pixel values by using pixel values of an encoded luma pixel. However, the ECM technique may be useful only when correlations between color planes are high.
(15)
(16)
(17) Referring to
(18) Therefore, according to the present invention, when pixel values are predicted by using the ECM to improve accuracy of a prediction between color planes, efficiency of the prediction between the color planes may be improved by removing high frequency ingredients of a luma (G) area having a low correlation in advance. Furthermore, to handle changes of correlations of an in-screen high frequency area, the present invention suggests a prediction unit (PU) adaptive filtering technique.
(19)
(20) Referring to
(21) The image encoding apparatus 100 encodes an input image in an intra mode or an inter mode and outputs a bitstream. In the below embodiments of the present invention, an intra prediction may be used as a synonym of an intra prediction, whereas an inter prediction may be used as a synonym of an inter prediction. To determine the optimal prediction method regarding a prediction unit, an intra prediction mode and an inter prediction mode may be selectively applied with respect to the prediction unit. The image encoding apparatus 100 may generate a prediction block regarding an original block of an input image and encodes a difference between the original block and the prediction block.
(22) In an intra prediction mode, the intra predicting unit 120 (an intra prediction unit may be used as a synonym) supports a chroma mode for predicting chroma pixel values(B, R) with reference to pixel values of an encoded luma (G) pixel during intra predictions of chroma (B, R) screen images. In particular, the intra predicting unit 120 according to the present invention provides not only chroma modes provided by a conventional intra prediction unit, which include a planar mode, a vertical mode, a horizontal mode, and a DC mode, but also an LM chroma mode, which is an ECM suggested by J. Kim, and a low pass filter (LPF) LM chroma mode, which is a mode for applying an ECM after removing high frequency ingredients of a Luma (G) area by using a LPF according to the present invention. The intra predicting unit 120 generates prediction blocks in all available modes, selects the most efficient mode, and outputs a prediction block generated in the selected mode. Detailed descriptions of the intra predicting unit 120 will be given below.
(23) In an inter prediction mode, the motion predicting unit 111 searches for an area of a reference image stored in the reference image buffer 190, which is the best-matched to an input block, and calculates a motion vector during a motion prediction. The motion compensating unit 112 generates a prediction block by performing motion compensation by using the motion vector.
(24) The subtractor 125 generates a residual block based on a difference between the input block and the generated prediction block. The transforming unit 130 performs transformation with respect to the residual block and outputs a transformation coefficient. Furthermore, the quantizing unit 140 quantizes the input transformation coefficient according to quantization parameters and outputs a quantized coefficient. The entropy encoding unit 150 entropy-encodes the input quantized coefficient based on probability distribution and outputs a bitstream.
(25) Since inter prediction encoding, that is, inter prediction encoding is performed in the HEVC, it is necessary to decode and store a currently encoded image to be used as a reference image. Therefore, a quantized coefficient is inverse quantized by the inverse quantizing unit 160 and is inverse transformed by the inverse transforming unit 170. The inverse-quantized and inverse-transformed coefficient is added to a prediction block by the adder 175, and thus a reconstructed block is generated.
(26) The reconstructed block is filtered by the filter unit 180, where the filter unit 180 may apply at least one of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the reconstructed block or a reconstructed picture. The filter unit 180 may also be referred to as an adaptive in-loop filter. The deblocking filter may remove block distortions formed at boundaries between blocks. The SAO may add a suitable offset value to a pixel value for compensating a coding error. The ALF may be performed based on values obtained by comparing a reconstructed image to an original image and may be performed only when high efficiency is required. The reconstructed block filtered by the filter unit 180 is stored in the reference image buffer 190.
(27)
(28) In the HEVC, in addition to encoding of macro block in the related art, three new units, which are a coding unit (CU), a prediction unit (PU), and a transformation unit (TU), are additionally defined. From among the new units, when a block-by-block splitting operation is performed and coding units are determined, the prediction unit is determined with respect to all coding units that are no longer split. According to the present invention, when the intra predicting unit 120 predicts a chroma pixel value (B, R) via prediction between color planes during prediction of pixel values by using prediction units, high frequency ingredients of a luma (G) that is arranged at a same location as chromas (B, R) to be encoded are removed by using a low pass filter (LPF). Therefore, the present invention may provide a filtering technique adaptive to changes of correlations of a luma (G) area from which high frequency ingredients are removed.
(29) Although the intra predicting unit 120 of
(30) In
(31) Like a conventional intra prediction unit, the chroma predicting unit 121 includes a planar mode prediction unit PM, a vertical mode prediction unit VM, a horizontal mode prediction unit HM, and a DC mode prediction unit DC mode. The planar mode prediction unit PM, the vertical mode prediction unit VM, the horizontal mode prediction unit HM, and the DC mode prediction unit DC mode perform intra predictions by using intra prediction modes known in the art, that is, a planar mode, a vertical mode, a horizontal mode, and a DC mode. Since those predictions are known in the art, detailed descriptions thereof will be omitted.
(32) Furthermore, the chroma predicting unit 121 according to the present invention includes a LM chroma mode prediction unit LMCM for ECM and a LPF LM chroma mode LPFM that applies ECM after high frequency ingredients of the luma (G) area are removed by using a low pass filter (LPF).
(33) The LM chroma mode prediction unit LMCM receives a block of the encoded luma (G) area and predicts pixel values of the chroma (B, R) areas by applying a pixel value of the received block of the luma (G) area to Equation 1.
(34) Meanwhile, although being similar to the LM chroma mode, the LPF LM chroma mode LPFM removes high frequency ingredients from a block of the luma (G) area by applying a low pass filter (LPF) before performing the LM chroma mode, and then the LPF LM chroma mode LPFM predicts pixel values by performing the LM chroma mode.
(35) Equation 2 is a mathematical expression of a block prediction technique performed by the LPF LM chroma mode LPFM.
C.sub.pred[x,y]=G.sub.recon.sup.ldf[x,y][Equation 2]
(here, G.sub.recon.sup.lpf denotes a pixel value of a low pass filtered G block, and, like in Equation 1, and are weights and are inferred by using pixel values of the G block at same locations as pixel values around the B block or the R block.)
G.sub.recon.sup.lpf[x,y]=0.5G.sub.recon[x,y]+0.125G.sub.recon[x+1]+0.125G.sub.recon[x1,y]+0.125G.sub.recon[x,y+1]+0.125G.sub.recon[x,y1][Equation 3]
(36) Equation 3 is an example of calculating a pixel value G.sub.recon.sup.lpf of a low pass filtered G block by using four surrounding pixel values. When the chroma predicting unit 121 performs chroma predictions in all modes set up by using the planar mode prediction unit PM, the vertical mode prediction unit VM, the horizontal mode prediction unit HM, the DC mode prediction unit DC mode, the LM chroma mode prediction unit LMCM, and the LPF LM chroma mode LPFM, the rate-distortion optimizing unit 122 receives pixel values of prediction blocks chroma-predicted in a plurality of modes and determines an optimal mode.
(37) The mode selecting unit 123 receives information regarding the optimal mode determined by the rate-distortion optimizing unit 122, sets up a flag corresponding to the optimal mode, and transmits the set up flag together with predicted pixel values regarding a corresponding block.
(38) In other words, the intra predicting unit 120 provides not only conventional intra prediction modes, which are a planar mode, a vertical mode, a horizontal mode, and a DC mode, but also an LM chroma mode, which is an ECM suggested by J. Kim, and a low pass filter (LPF) LM chroma mode, which is a mode for applying an ECM after removing high frequency ingredients of a Luma (G) area by using a LPF according to the present invention. Furthermore, after block prediction is individually performed in each of the modes, an optimal mode is selected, and information regarding the selected optimal mode is transmitted together with pixel values regarding a block that are predicted in the optimal mode. Therefore, efficiency of predicting pixel values between color planes may be significantly improved.
(39) Table 2 shows an example of techniques for defining flags according to an inter prediction mode for chroma pixel according to the present invention.
(40) TABLE-US-00002 TABLE 2 chroma_pred_from_luma_enabled_flag = 1 chroma_pred_from_luma_enabled_flag = 0 intra_chroma_pred_mode prefix suffix prefix suffix 6 (DM_CHROMA) 0 n/a n/a n/a 5 (proposed method) 10 1 0 n/a 4 (ECM) 10 0 0 n/a 0 (PLANAR) 11 00 1 00 1 (VERTICAL) 11 01 1 01 2 (HORIZONTAL) 11 10 1 10 3 (DC) 11 11 1 11
(41) As shown in Table 2, as an intra prediction mode for pixel is increased to an LM chroma mode and an LPF LM chroma mode, a flag may be set up by adding a suffix 0 (when filtering is not applied) or a suffix 1 (when filtering is applied) based on whether a low pass filtering is performed in the LM chroma mode (prefix: 10) during binarization of intra prediction as shown in the second and third columns of Table 2. In other words, although only the prefix 10 bit was used as a flag for encoding a mode in an ECM mode in the related art, both the prefix 10 bit and the suffix 1 bit are used to additionally use the LPF LM chroma mode according to the present invention. However, set locations and values of flags may vary.
(42)
(43) To describe the intra prediction method of
(44) Furthermore, the generated prediction blocks are transmitted to the rate-distortion optimizing unit 122, and the rate-distortion optimizing unit 122 analyzes pixel values of the prediction blocks and determine an optimal mode (operation S140). When the optimal mode is determined by the rate-distortion optimizing unit 122, the mode selecting unit 123 selects the determined optimal mode (operation S150). Next, a flag is set up according to pre-set rules based on the selected optimal mode (operation S160). When a flag is set up, the mode selecting unit 123 outputs the set up flag together with a selected prediction block (operation S170).
(45)
(46) Referring to
(47) The image decoding apparatus 200 receives a bitstream output by an encoding apparatus, decodes the bitstream in an intra mode or an inter mode, and outputs a reconstructed image, that is, a reconstructed image. In an intra mode, a prediction block is generated by using an intra prediction mode. In an inter mode, a prediction block is generated by using an inter prediction mode. The image decoding apparatus 200 obtains a residual block from an input bitstream, generates a prediction block, and generates a block reconstructed by adding the residual block to the prediction block, that is, a reconstructed block.
(48) The entropy decoding unit 210 decodes the input bitstream based on probability distribution and outputs a quantized coefficient. The quantized coefficient is inverse quantized by the inverse quantizing unit 220 and is inverse transformed by the inverse transforming unit 230. As a result of the inverse quantization and the inverse transformation of the quantized coefficient, a residual block is generated.
(49) In an intra prediction mode, the intra predicting unit 240 generates a prediction block by performing a spatial prediction by using pixel values of blocks around a current block. Here, in particular, the intra predicting unit 240 according to the present invention analyzes the flag of an input bitstream and, if the flag is set to the LPF LM chroma mode, like the intra predicting unit 120 of the image encoding apparatus 100 of
(50) In an inter prediction mode, the motion compensating unit 250 generates a prediction block by performing motion compensation by using a motion vector and a reference image stored in the reference image buffer 270.
(51) The residual block and the prediction block are combined by the adder 255, and the combined block is processed by the filter unit 260. The filter unit 260 may apply at least one of a deblocking filter, a SAO, and an ALF to a reconstructed block or a reconstructed picture. The filter unit 260 outputs a reconstructed image, that is, a reconstructed image. The reconstructed image is stored in the reference image buffer 270 and may be used for an inter prediction.
(52)
(53) A intra predicting unit 240 of
(54) The flag analyzing unit 241 analyzes a flag included in a bitstream and transmits information regarding an analyzed mode to the mode selecting unit 242. The mode selecting unit 242 selects one of a planar mode prediction unit PM, a vertical mode prediction unit VM, a horizontal mode prediction unit HM, a DC mode prediction unit DC mode, a LM chroma mode prediction unit LMCM, and a LPF LM chroma mode LPFM included in the chroma predicting unit 243 based on the mode analyzed by the flag analyzing unit 241, activates the selected prediction unit, and transmits the received bitstream to the activated prediction unit.
(55) The chroma predicting unit 243 includes the planar mode prediction unit PM, the vertical mode prediction unit VM, the horizontal mode prediction unit HM, the DC mode prediction unit DC mode, the LM chroma mode prediction unit LMCM, and the LPF LM chroma mode LPFM, each of which is activated according to a selection of the mode selecting unit 242 and generates a prediction block according to pre-set rules.
(56) In particular, similar to the LM chroma mode prediction unit LMCM, the LPF LM chroma mode LPFM predicts pixel values of the chroma (B, R) areas with reference to pixel values of the luma (G) area. However, the LPF LM chroma mode LPFM removes high frequency ingredients of the decoded luma (G) area by using a low pass filter (LPF) and predicts pixel values of chroma (B, R) areas with reference to pixel values regarding the luma (G) area from which the high frequency ingredients are removed.
(57) Table 3 shows a result of analyzing performance of a LPF LM chroma mode according to the present invention by applying the LPF LM chroma mode to first frames of the eight RGB experimental images of Table 1. Table 3 was obtained by using the HM10.0_RExt2.0 program, where the HEVC range extension common test conditions (D. Flynn, K. Sharman, Common test conditions and software reference configurations for HEVC range extensions, JCTVC-L1006, 12th Meeting, Geneva, Switzerland, January 2013.) were applied for setting experiment variables. Furthermore, performance of the suggested algorithm technique has been tested in All-Intra (AI) mode by using 8 RGB 4:4:4 test images, where a LPF used in the test was 2D-separatble LPF (ho=[1 2 1]/4). As shown in Table 3, compared to the conventional LM chroma mode, when an intra prediction mode for chroma pixel according to the present invention was performed, average bitrate-gains of 0.4%, 0.6%, and 0.8% could be obtained at respective color planes G, B, and R at the All Intra HE Super-High-tier compared to the ECM, which is the conventional LM chroma mode. Therefore, an overall average bitrate-gain of 0.6% could be obtained. Furthermore, encoding speed was increased by about 8%, whereas decoding speed was increased by 1%. In particular, since the decoding speed (complexity), which is most sensitive to speed increase, an average bitrate-gain of 0.6% could be obtained without increasing encoding and decoding speeds according to the technique according to the present invention. Therefore, the technique according to the present invention may be considered as an efficient technique.
(58) TABLE-US-00003 TABLE 3 All Intra HE Super-High-tier G B R Traffic 0.0% 0.2% 0.6% Kimono1 0.6% 0.9% 0.9% EBULupoCandlelight 0.5% 0.7% 0.9% EBURainFruits 0.6% 0.0% 0.5% VenueVu 0.8% 1.3% 1.2% DucksAndLegs 0.5% 0.3% 0.1% OldTownCross 0.6% 0.8% 0.8% ParkScene 0.7% 0.9% 0.9% Overall 0.4% 0.6% 0.8% Enc Time [%] 108% Dec Time [%] 101%
(59)
(60) To describe the intra prediction method of
(61) As described above, methods, apparatuses, and systems for encoding and decoding an image according to the present invention separately provide an LPF LM chroma mode for applying a low pass filtering with respect to a high frequency area corresponding to a low correlation between color planes and select an optimal mode from between a conventional intra prediction mode and the LPF LM chroma mode for encoding and decoding an image, thereby improving coding efficiency.
(62) The present invention can also be embodied as computer readable codes on a computer readable recording medium. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, etc. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
(63) While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.