Image compression

Abstract: An image compression encoding and decoding method and apparatus therefor is disclosed in which DC coefficients of a DCT block are scalar-quantized and AC coefficients are classified-vector-quantized (CVQ), and respective DCT blocks are classified by the least value of the square of the result that horizontal AC coefficients and vertical AC coefficients are subtracted from a representative value of a preset reference class. Using a multilevel compression method, lowest level codes are vector-partitioned by P-units with respect to each classified DCT block, and code books of representative vectors corresponding to the partitioned vectors are provided. Indices of corresponding representative vectors in respective code books and the classified codes are taken as encoding data corresponding to AC coefficients to keep a constant number of bits. Code books of S-units of representative vectors corresponding to errors are provided again, and corresponding indices and parity data in the respective code books are provided thereby performing a multi-level-classification-vector-quantization to be encoded. Decoding is performed in the reverse sequence of encoding. During a high speed search, only the lowest level codes having a constant number of bits are decoded regardless of the complexity of the picture.

Description: The present invention relates to image compression. Recently, video information compressing technology has been used in processing a video signal as digital data in a digital video apparatus such as a digital VCR (video cassette recorder), HDTV (high-definition television), a digital video camera or a video phone. Since known image compression technology has a variable number of compressed coding bits according to picture complexity, a problem has been raised about how to keep constant a compression result in digital VCRs, HDTVs and others which require a constant compression result. Especially, for a characteristic of image compression method for a digital VCR, since its recording medium is magnetic tape which enables only sequential recording and playback, the above image compression method for a digital VCR has more limitations than that of an ordinary transmission line or disk (CD or hard disk). The most serious problem to be solved is a special playback function (also known as "trick play") such as a high speed search. For a solution, when an image compression method and its tape format are selected, movement of the VCR head (the head's scanning trace) during recording and playback should be considered. In other words, for special functions such as a high speed search, during compression, each image should be exactly the same size, and a portion of data on a tape should correspond to the image's original screen position and be reproduced regardless of other images. Generally, however, during coding, a complicated portion of an image requires a relatively large amount of bits and a simple portion relatively few bits. Accordingly, when video signals corresponding to one picture or one segment thereof are to be encoded and recorded in a track having a limited length of magnetic tape, and if the number of encoded bits exceeds one track, a conventional digital VCR method records the excess encoded bits in a next track or, if the number of encoded bits reaches the number of set bits, stops coding the remaining part which is discarded. However, the recording method of the excess encoded bits in a next track has difficulty in a special playback or high speed search, and the coding stop method deteriorates the quality of a reproduced picture because of partial loss of its picture information. An aim of preferred embodiments of the present invention is to provide an image compression decoding method and apparatus therefor which records, on magnetic tape, codes produced by a multilevel compression method which more compactly compresses lower levels of an image to output a result having a constant number of bits and outputs an encoded result having components leading to a more elaborate picture in higher levels, and decodes only the lower level codes in a special playback mode such as a high speed search differently from a normal playback mode where the entire code is decoded, thereby enabling a special playback function. To accomplish such aims, in certain embodiments of image compression encoding and decoding method and apparatus of the present invention, DC coefficients of a DCT block are scalar-quantized and AC coefficients are classified-vector-quantized (CVQ). Respective DCT blocks are classified by the least value of the square of the result that part of or all the AC coefficients among horizontal AC coefficients including a first AC coefficient according to a zigzag scanning sequence of a DCT block, and vertical AC coefficients including a second AC coefficient, are subtracted from a representative value of a preset reference class. Using a multilevel compression method, lowest level codes are vector-partitioned by P-units at equal intervals with respect to each classified DCT block, and code books of representative vectors corresponding to the partitioned vectors are provided. Indices of corresponding representative vectors in respective code books and the classified codes are provided as encoding data corresponding to AC coefficients to keep a constant number of bits. Then, errors created in a preceding level are obtained. Code books of S-units of representative vectors corresponding to the errors are provided again. The multilevel CVQ of the method providing corresponding indices and parity data in the respective code books is performed to be encoded. Here, codes are output in which an image is more compactly compressed in lower levels, and higher levels have a more elaborate picture. Decoding is performed in the reverse sequence of encoding. During a high speed search, only the lowest level codes having a constant number of bits are restored regardless of the complexity of the picture so that a high speed search does not lead to deterioration of picture quality. According to an aspect of the present invention, there is provided a compression encoding method for partitioning a two-dimensional video signal into DCT blocks and encoding a transform coefficient of each DCT block at a predetermined compression rate, said method comprising: scalar-quantizing the DC coefficient of each DCT block by n bits: a lowest level vector quantization step of classifying AC coefficients of each DCT block into m classes, comparing the classified AC coefficients of each DCT block to f representative vectors from a code book set for each class, selecting a respective representative vector with the smaller error, vector-quantizing the selected representative vector with a g-bit index of each representative vector, and generating a number of encoding bits (B) for every block at a predetermined bit rate according to the equation B = n + log 2 m + f·g; a repeating multilevel vector quantization step of comparing the difference between the vector quantization result from a preceding quantization step and all the AC coefficients of said each DCT block, that is, errors produced from the preceding quantization step, to h representative vectors from respective code books set for each classified class, selecting respective representative vectors with the smallest error and vector-quantizing the representative vectors with a g-bit index of each representative vector; and an intra-frame vector allocation step of determining an encoding parameter whereby if the number of required bits for the preceding frame is smaller than that of the reference bits set for one frame, the value of the encoding parameter is controlled to require a larger number of bits in encoding a current image, and if the number of required bits for the preceding frame is larger than that of the reference bits set for one frame, the value of the encoding parameter is controlled to require a smaller number of bits in encoding a current image and adaptively allocating vectors having an activity above the encoding parameter among the vectors output from said repeating multi level vector quantization step. Preferably, in said classification using part of or all the AC coefficients among horizontal AC coefficients including a first AC coefficient and vertical AC coefficients including a second AC coefficient according to a zigzag scanning sequence of said each DCT block, edge direction is detected according to the least value of the square of the value in which the AC coefficients are subtracted from representative values for preset reference classes, and according to the detected results, each DCT block is classified. Preferably, in said lowest level quantization and repeating multilevel quantization steps, vectors are partitioned by equal interval sampling. Preferably, in said lowest level vector quantization step, vectors are partitioned by three equal interval samplings, and in said repeating multilevel quantization step, vectors are partitioned by nine equal interval samplings. Preferably, in said lowest level vector quantization step, variables n, m, p, and g have 8, 8, 3, and 7 bits, respectively, so that the overall number of bits is 32 for every block. Preferably, in said lowest level quantization and repeating multilevel quantization steps, all the representative vectors are sorted according to their statistical values selected from activity and dispersion value, and the vector search area is set within a certain region according to an activity or dispersion value of input vectors so as to reduce calculation time. Preferably, in said intra-frame vector allocation step, considering its activity, said encoding parameter is determined by a comparison result of the reference bits with the encoding result of the video signal of a preceding image. Preferably, in said intra-vector allocation step, the reference bits are satisfied by being differentially encoded according to weights and by image sections. Preferably, a sync block is provided which comprises a sync signal for indicating the beginning and end of said sync block, an index signal for indicating a position within a frame, a first level quantization encoding code contained in an independent decodable code IDC area, an error correction code (ECC) for error-correcting the code loaded on the IDC area, a plurality of multilevel vector quantization encoding codes contained in a dependent decodable code (DDC) area, and an error correction code (ECC) for error-correcting the code loaded on the DDC area. According to a further aspect of the present invention, there is provided a compression encoder for partitioning a two-dimensional video signal into DCT blocks and encoding a transform coefficient of each DCT block at a predetermined compression rate, the encoder comprising: DC encoding means for scalar-quantizing the DC coefficient of said each DCT block; classifier means for classifying AC coefficients of said each DCT block into m classes; lowest level quantization means for comparing the classified AC coefficients of said each DCT block to f representative vectors from a code book set for each class classified by said classifier means selecting a respective representative vector with the smallest error, and vector-quantizing the selected representative vector with a g-bit index of each representative vector; a plurality of multilevel vector quantization means for comparing the difference between the representative vector value from a preceding level vector quantization means and all the AC coefficients of said each DCT block, that is, errors produced from a preceding level encoding step, to h representative vectors from respective code books set for each classified class, selecting respective representative vectors with the smallest error and vector-quantizing the representative vectors with a g-bit index of each representative vector; and intra-frame vector allocation means for determining an encoding parameter whereby if the number of required bits for the preceding frame is smaller than that of the reference bits set for one frame, the value of the encoding parameter is controlled to require a larger number of bits in encoding a current image, and if the number of required bits for the preceding frame is larger than that of the reference bits set for one frame, the value of the encoding parameter is controlled to require a smaller number of bits in encoding a current image, and adaptively allocating vectors having an activity above the encoding parameter among the vectors of said plurality of multilevel vector quantization means. For a better understanding of the invention, and to show how the same may be carried into effect, reference will now be made, by way of example, to the accompanying diagrammatic drawings, in which: Figure 1 is a block diagram of one example of a video compression coder according to the present invention; Figure 2 illustrates DC and AC coefficients of an 8 by 8 DCT block; Figure 3 illustrates a classification in a classifier of the video compression coder of Figure 1; Figures 4A and 4B illustrate a tape format for the video compression coder of Figure 1; and Figure 5 is a block diagram of one example of a video compression decoder according to the present invention. In Figure 1, Y, R-Y, and B-Y video signals (4:2:2) input from a signal input source are subsampled with respect to a chrominance difference signal by a buffer 10 to be changed into 4:2:0 form. Here, a 4:2:2 form represents Y (width: 720 pixels; length: 480 pixels), and R-Y and B-Y (width: 360 pixels; length: 480 pixels) for one picture, while a 4:2:0 form represents Y (width: 720 pixels, length: 480 pixels), and R-Y and B-Y (width: 360 pixels, length: 240 pixels) for one picture. A DCT block 20 divides the two-dimensional video signal output from buffer 10 into N by N blocks (e.g. 8 by 8) and DCT-transforms each block to generate DCT coefficients. A DC encoder 30 scalar-quantizes (SQ) the DC values of DCT block 20 by eight bits and, for decoding, records them on tape. A classifier 41 selects part of or all the AC coefficients (k) (here, x01 and y01) among horizontal AC coefficients including a first AC coefficient according to the zigzag scanning sequence of a DCT block and vertical AC coefficients including a second AC coefficient. As shown in Figure 3, edge direction is detected according to the minimum value of the square of the value from which are subtracted representative values Yj of eight reference classes preset in the horizontal, vertical, diagonal and opposing diagonal directions. According to the detected results, each DCT block is classified into eight classes. In other words, class = C, Yc ∈ min dis(Yj,X) (O≤j≤7) In other words, each DCT block is classified into a most approximate class by the V and H values on the coordinates of Figure 3. Here, value j is more favorable as it becomes larger but may be selected according to the complexity of classifier 41. For decoding, these class codes are recorded on tape by three bits. A first code book 42 contains 21 components and 128 vectors according to each class. A clustering algorithm (LBG algorithm) is used with respect to a transform coefficient relating to an edge characteristic, among DCT coefficients. Such an LBG algorithm is disclosed in "An Algorithm for Vector Quantizer Design" (Y. Linde, A. Buzo and R. M. Gray, IEEE Trans. on Comm., vol. COM-28, pp. 84-95, Jan. 1980). A first level vector quantization block 43 selects a code vector having the smallest error by comparing DCT input vectors with vectors of the code book, and outputs addresses that are indices of the vector as 7-bit compressed codes. In other words, the input DCT blocks are vector-partitioned by equal interval sampling to form three vectors. That is, as shown in Figure 2, an 8-by-8 DCT block is zigzag-scanned and one-dimensionally arranged as follows. VECTOR 0 = (0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60) VECTOR 1 = (1, 4, 7, 10, 13, 16, 19, 22, 25, 31, 34, 37, 40, 43, 46, 49, 52, 55, 58, 61) VECTOR 2 = (2, 5, 8, 11, 14, 17, 20, 23, 26, 32, 35, 38, 41, 44, 47, 50, 53, 56, 59, 62) This is based upon "Asymptotic Performance of Block Quantizers with Difference Distortion Measure" (Y. Yamada, S. Tazaki and R. M. Gray, IEEE Trans. inform. Theory, Vol.IT-26, pp.6-14, Jan. 1980). Here, the reason the vectors are partitioned is to reduce the distortion of vector quantization. The whole distortion is as follows. D1 = K(k)N -2/k σ 2 σ 2 = [det p] 1/k = σg 2 = π (σi 2 ) 1/k Here, K(k) is a constant, [det P] is a correlation determinant, and N is a uniform probability in the case of DC or a Laplacian probability in the case of AC. In the above equations, as value σ 2 becomes smaller, value D1 (distortion) becomes smaller. Therefore, in order to reduce the value of geometric dispersion σg 2 , the vector is partitioned because, when the values of the vector consist of both low-frequency components and high-frequency components of the DCT block, the value σg 2 becomes smaller. The illustrated embodiment of the present invention is composed of three vectors to improve picture quality by about 2dB. When a code vector having little error is selected, all 128 vectors are usually compared, which requires a considerable amount of operation. Thus, here, in order to reduce the amount of operation, all the vectors of code books 42, 44, and 47 are sorted according to a mathematic statistical value such as an activity or dispersion value. In other words, by obtaining the mathematic statistical value such as an input vector activity or a dispersion value, the search area of the code books is reduced to one quarter of their original search area according to the obtained mathematic statistical value so as to also reduce the amount of operation to one quarter. A first level code, which is the output of a first level vector quantization block 43, is compressed to 1/16. During special playback such as a high speed search, only the first level code is reproduced. During normal playback, the first level code is reproduced along with a higher level code. Even with only the first level code being reproduced, the image can be obtained. When recorded on tape, as shown in Figure 4, the first level code is recorded at equal intervals on an independent decodable code (IDC) region. The code for tape-recording has a total of 21 bits where each vector has seven bits, and decoding requires at least 32 bits (8 DC bits + 3 class bits + 21 vector bits). Second and third code books 44 and 47 each have seven components and 128 vectors. A first subtracter 45 subtracts an encoding result in first level vector quantization block 43, that is, the vectors of first code book 42 corresponding to selected indices, from all the AC coefficients of DCT block 20 and excluding its DC coefficients, and encodes errors produced during the lowest level encoding. A second level vector quantization block 46 vector-partitions the input DCT block by equal interval sampling to form nine vectors. A second subtracter 48 subtracts an encoding result in second level vector quantization block 46, from all the AC coefficients from DCT block 20 and excluding its DC coefficients, and encodes errors produced during the second level encoding in third level vector quantization block 49. In other words, an image cannot be reproduced with only the second and third level vector codes. The second and third level vector codes should be necessarily reproduced along with the lowest level code to obtain an image. Meanwhile, a parameter determiner 50 determines an encoding parameter of the image of a current picture, based upon an encoding result of the video signal of a preceding picture. As the encoding result of a preceding image, if the number of required bits is smaller than that of the reference bits set for one frame, the value of the parameter is controlled to require a larger number of bits in encoding a current image, and if the number of required bits is larger than that of the reference bits set for one frame, the value of the parameter is controlled to require a smaller number of bits in encoding a current image. Here, a data transmission speed M of digital VCR is 20 megabits per second (Mbps). As one second needs 30 frames, a number b (reference bits for one frame) is M/30. In other words, if the difference between the number of required bits and reference bits is larger than a preset value, the parameter is determined while considering the reference bit number using the vector distribution according to its activity. An intra-frame vector allocator 60 adaptively allocates vectors by the parameter determined by parameter determiner 50. Even if the number of vectors to be encoded in second and third level vector quantization blocks 46 and 49 is eighteen, since only about nine vectors are allowed to be encoded considering the number of reference bits, only vectors having an activity above a proper size (threshold value) in view of the activity are actually encoded. The activity of each vector is defined as follows. Here, the threshold value (THR) is determined by the encoding state of a preceding image, that is to say, the transfer vectors from second and third level vector quantization blocks 46 and 49, are represented as follows. transfer vector = Vj, (j ∈ actj 〉 THR), (0≤j≤8) Though the number of bits of the second and third level encoding codes is fixed for one frame, they can be varied in units of a sync block. In other words, as shown in Figure 4A, one frame has four tracks and here one sync block has six DCT blocks. Each sync block comprises a sync signal for indicating its beginning and end, an index signal for indicating its position in a frame, a first level quantization encoding code contained in an IDC area, an error correction code (ECC) for error-correcting the code loaded on the IDC area, a plurality of vector quantization encoding codes contained in a dependent decodable code (DDC) area, and an ECC for error-correcting the code loaded on the DDC area. If the required number of bits exceeds the number of reference bits, the amount of bits in the periphery of the image is forced to be reduced. The image on the periphery is reproduced using only the lowest level code. This means that the center and the periphery of an image are encoded using different weights. This is possible because normal human vision will concentrate mainly on the center of an image. Higher level codes are sequentially recorded on the DDC area shown in Figure 4B when recorded on tape. The second level needs 9-bit parity data and the third level needs parity data having the number of bits equaling the number of actual transfer vectors for the second level. The parity data indicates to a decoder which vector is actually recorded on a tape. Here, without intra-frame vector allocator 60, the reference bits are satisfied by only using differential encoding according to weights and by image sections. Good picture quality can be obtained even if the image is divided into a plurality of levels from its center to its periphery, so that the lowest level is uniformly encoded and higher levels are encoded by varying their parameters for each level. From here on, an example of an image compression decoding method according to the present invention will be briefly described. In essence, the decoding method is performed by the reverse order of the image compression coding method. In Figure 5, a DC decoder 110 inverse-scalar-quantizes an input 8-bit DC code reproduced from a tape, and decodes it as DC coefficients. A first code book 121, which is the same as code book 42 of Figure 1, has 21 components and 128 vectors. Second and third code books 123 and 125, which are the same as code books 44 and 47 of Figure 1, each have 7 components and 128 vectors. Each code book 121, 123 and 125 outputs its vector according to an input class code. A first level vector inverse-quantization block 122 outputs a corresponding vector component by comparing an input first level code and the code of code book 121. The decoding result of the first level code as well as the DC coefficients are supplied to a first adder 127. Second and third level vector inverse-quantization blocks 124 and 126 output a corresponding vector component by the comparison of second and third level codes loaded on the DDC area with the codes of code books 123 and 125. The decoding results of the second and third level codes are supplied to a second adder 128. Meanwhile, according to a normal/trick playback control signal for indicating whether a VCR is in a normal playback or special playback mode, a mode selector 130 supplies the outputs of second and third level vector inverse-quantization blocks 124 and 126 to a third adder 129, during normal playback. During a trick playback such as high speed search, since only the lowest level code is reproduced according to the VCR characteristic and the higher level codes are not reproduced, mode selector 130 supplies a null signal to third adder 129. Third adder 129 adds the DC and the decoding results of the respective levels, and an inverse-DCT block 140 inverse-DCT-transforms the added outputs to be converted into an original two-dimensional video signal. A buffer 150 changes the inverse-DCT result into an appropriate output form, that is, changes a 4:2:0 form into a 4:2:2 form. The image compression encoding and decoding method and apparatus described above compresses DCT blocks by steps, using classified vector quantization via a multilevel compression method so that, during a special playback mode such as high speed search, only the lowest level image having a fixed number of bits is reproduced, thereby causing no degradation of picture quality during the special playback mode.

Claims: A compression encoding method for partitioning a two-dimensional video signal into DCT blocks and encoding a transform coefficient of each DCT block at a predetermined compression rate, said method comprising: scalar-quantizing the DC coefficient of each DCT block by n bits; a lowest level vector quantization step of classifying AC coefficients of each DCT block into m classes, comparing the classified AC coefficients of each DCT block to f representative vectors from a code book set for each class, selecting a respective representative vector with the smallest error, vector-quantizing the selected representative error, with a g-bit index of each representative vector, and generating a number of encoding bits (B) for every block at a predetermined bit rate according to the equation B = n + log 2 m + f·g; a repeating multilevel vector quantization step of comparing the difference between the vector quantization result from a preceding quantization step and all the AC coefficients of said each DCT block, that is, errors produced from the preceding quantization step, to h representative vectors from respective code books set for each classified class, selecting respective representative vectors with the smallest error and vector-quantizing the representative vectors with a g-bit index of each representative vector; and an intra-frame vector allocation step of determining an encoding parameter whereby if the number of required bits for the preceding frame is smaller than that of the reference bits set for one frame, the value of the encoding parameter is controlled to require a larger number of bits in encoding a current image, and if the number of required bits for the preceding frame is larger than that of the reference bits set for one frame, the value of the encoding parameter is controlled to require a smaller number of bits in encoding a current image and adaptively allocating vectors having an activity above the encoding parameter among the vectors output from said repeating vector multi level quantization step. An image compression encoding method as claimed in claim 1, wherein, in said classification using part of or all the AC coefficients among horizontal AC coefficients including a first AC coefficient and vertical AC coefficients including a second AC coefficient according to a zigzag scanning sequence of said each DCT block, edge direction is detected according to the least value of the square of the value in which the AC coefficients are subtracted from representative values for preset reference classes, and according to the detected results, each DCT block is classified. An image compression encoding method as claimed in claim 1 or 2, wherein, in said lowest level quantization and repeating multilevel quantization steps, vectors are partitioned by equal interval sampling. An image compression encoding method as claimed in claim 3, wherein, in said lowest level vector quantization step, vectors are partitioned by three equal interval samplings, and in said repeating multilevel quantization step, vectors are partitioned by nine equal interval samplings. An image compression encoding method as claimed in any of the preceding claims, wherein, in said lowest level vector quantization step, variables n, m, p, and g have 8, 8, 3, and 7 bits, respectively, so that the overall number of bits is 32 for every block. An image compression encoding method as claimed in any of the preceding claims, wherein, in said lowest level quantization and repeating multilevel quantization steps, all the representative vectors are sorted according to their statistical values selected from activity and dispersion value, and the vector search area is set within a certain region according to an activity or dispersion value of input vectors so as to reduce calculation time. An image compression encoding method as claimed in any of the preceding claims, wherein, in said intra-vector allocation step, considering its activity, said encoding parameter is determined by a comparison result of the reference bits with the encoding result of the video signal of a preceding image. An image compression encoding method as claimed in any of the preceding claims, wherein, in said intra-frame vector allocation step, the reference bits are satisfied by being differentially encoded according to weights and by image sections. An image compression encoding method as claimed in any of the preceding claims, wherein a sync block is provided which comprises a sync signal for indicating the beginning and end of said sync block, an index signal for indicating a position within a frame, a first level quantization encoding code contained in an independent decodable code IDC area, an error correction code (ECC) for error-correcting the code loaded on the IDC area, a plurality of multilevel vector quantization encoding codes contained in a dependent decodable code (DDC) area, and an error correction code (ECC) for error-correcting the code loaded on the DDC area. A compression encoder for partitioning a two-dimensional video signal into DCT blocks and encoding a transform coefficient of each DCT block at a predetermined compression rate, the encoder comprising: DC encoding means (10) for scalar-quantizing the DC coefficient of said each DCT block; classifier means (41) for classifying AC coefficients of said each DCT block into m classes; lowest level quantization means (43) for comparing the classified AC coefficients of said each DCT block to f representative vectors from a code book set for each class classified by said classifier means (41), selecting a respective representative vector with the smallest error, and vector-quantizing the selected representative vector with a g-bit index of each representative vector; a plurality of multilevel vector quantization means (46 and 49) for comparing the difference between the representative vector value from a preceding level vector quantization means (43, 46 and 49) and all the AC coefficients of said each DCT block, that is, errors produced from a preceding level encoding step, to h representative vectors from respective code books set for each classified class, selecting respective representative vectors with the smallest error and vector-quantizing the representative vectors with a g-bit index of each representative vector; and intra-frame vector allocation means (60) for determining an encoding parameter whereby if the number of required bits for the preceding frame is smaller than that of the reference bits set for one frame, the value of the encoding parameter is controlled to require a larger number of bits in encoding a current image, and if the number of required bits for the preceding frame is larger than that of the reference bits set for one frame, the value of the encoding parameter is controlled to require a smaller number of bits in encoding a current image, and adaptively allocating vectors having an activity above the encoding parameter among the vectors of said plurality of multilevel vector quantization means (46 and 49).

Inventors: JAFFE STEVEN TODD, KIM YONG-KYU, STROLLE CHRISTOPHER H, TIANMIN LIU, JAFFE, STEVEN TODD, KIM, YONG-KYU, STROLLE, CHRISTOPHER H., TIANMIN,LIU
Applicants: SAMSUNG ELECTRONICS CO LTD, SAMSUNG ELECTRONICS CO. LTD.
Application year: 1992
Main classification: H04N7
IPC codes: G06T9, H04N7, H04N5, H04N1, H03M7